hi guys, tried out ubilinux on galileo/edison and was a smooth setup
but now i have a problem
ublinux for galileo seems to have the uvcvideo driver (or else it was pulled in with apt-get install ffmpeg) but ubilinux for edison doesnt have uvcvideo
so i attempted to build the uvcvideo driver as advised here Linux UVC driver & tools
however, i get error as follows
make: Leaving directory `/root/media_build/linux'
./scripts/make_kconfig.pl /lib/modules/3.10.17-poky-edison-ww42+/build /lib/modules/3.10.17-poky-edison-ww42+/build 1
Preparing to compile for kernel version 3.10.17
File not found: /lib/modules/3.10.17-poky-edison-ww42+/build/.config at ./scripts/make_kconfig.pl line 33, <IN> line 4.
make: *** [allyesconfig] Error 2
make: Leaving directory `/root/media_build/v4l'
make: *** [allyesconfig] Error 2
can't select all drivers at ./build line 490.
Full git/build log is attached
anyone solved this already? ie getting uvcvideo on ublinux Edison
Also related (uvcvideo driver for yocto)
Well, to be honest I haven't tried this way of compiling the modules becuase it's likely to fail in various ways. I'd suggest you to use Yocto to do that (ubilinux uses Yocto-built kernel) or just ask David_J_Hunt to build one for ubilinux. I'm not sure what kernel is used, if it's not that far away or identical to the official WW42 kernel, then you could just extract the modules from respective packages in my repo: Index of /edison/repo/edison You'll need "videobuf*" modules as well.
Yes, it's exactly the same kernel as ww42 Yocto build. It's actually extracted from the edison-image-edison.hddimg and the modules are extracted from edison-image-edison.img. So if you've done a bitbake, and then done a menuconfig on the kernel, then you should be able to extract the new kernel and scope over to the edison.
sorry for more questions here but i just need to get the basics right here
not sure you meant to do this but manually extracting the modules from the ipk here Index of /edison/repo/edison
backed off when i see the LOCALVERSION (uname -r) didnt match
[75712.036557] uvcvideo: version magic '3.10.17-poky-edison+ SMP preempt mod_unload ATOM ' should be '3.10.17-poky-edison-ww42+ SMP preempt mod_unload ATOM '
David_J_Hunt when you say "should be able to extract the new kernel and scope over to the edison" - what file gets replaced by what exactly? ie just the kernel binary, the one called /home/adie/work/edison/edison-src/build/toFlash/u-boot-edison.img ? because when ubilinux is running i wasnt seeing any binary images in the mounted Edison drive /media/adie/Edison, is that normal for ubilinux?
In parallel, just done a full bitbake to get a clean start, and i can see the files for flashing /home/adie/work/edison/edison-src/build/toFlash/ are 378M
but my Edison partition is just 523K big so files wont copy over.
Is this because i started with ubilinux instead of yocto? so should i just use yocto to make getting uvcvideo easier or will uvcvideo be added to ubilinux
Hi Dear David
While build ubilinux, I have met a problem that I cannot solved.
After I enter the command sudo ./flashall.sh -b
the result is:
Starting Recorvey mode
please plug and reb oot the board
XFSTK Downloader Solo 0.0.0
Intel SoC Device Detection Fialed: Attempt #0
Intel SoC Device Detection Fialed: Attempt #1
Intel SoC Device Detection Fialed: Attempt #2
Intel SoC Device Detection Fialed: Attempt #3
Intel SoC Device Detection Fialed: Attempt #4
Intel SoC Device Detection Fialed: Attempt #5
Intel SoC Device Detection Fialed: Attempt #20
Xfstk tool error
the rest is the DEBUG result.
What's this problem? And How can I solve it?
Hoping your reply and I'll very appreciate of it.
I usually first start the script and then plug in the board. That typically works on Linux
1. No, I mean 'mount -o loop edison-image-edison.ext3 to /mnt and you'll find a directory in /mnt/lib/modules/ with all the modules in it. Actually, it's probably the same as in the modules ipk, I just typically use the ones form the .ext3 file. For the kernel, find the vmlinuz file by mounting edison-image-edison.hddimg to /mnt and looking in /mnt/boot (I think from memory).
2. copy vmlinuz into /boot on the edison.
3. You've lost me. Copying what where? I'd normally scp the modules and the vmlinuz file directly onto the edison. I do not copy anything onto the vfat portion, if that's what you mean.
Dave @ Emutex.
Thanks, I've made it.
Dear @David_J_Hunt, great work!
I successfully flashed the ubilinux distribution. How do you managed to increase the size of the root partition? I want to further increase it however I do not want to start from scratch, any suggestion?
Below steps worked fine for me
Steps to add UVCVIDEO drivers to ubilinux for edison
NOTE: you must have your edison connected to your network via wifi
2. The new kernel image files will be in a file call toFlash/edison-image-edison.hddimg
3. mount the hddimg on your host machine so you can get the 4 files (ldlinux.c32 ldlinux.sys syslinux.cfg vmlinuz)
sudo mount -o loop build/toFlash/edison-image-edison.hddimg /mnt/uvc/hddimg/
4. copy files to /boot on edison and they will replace old ones
scp /mnt/uvc/hddimg/* firstname.lastname@example.org.XXX:/boot/
5. remove old modules from edison
root@ubilinux:~# rm -rf /lib/modules/3.10.17-poky-edison-ww42+
6. now copy over newly built modules from host system
sudo mount -o loop toFlash/edison-image-edison.ext4 /mnt/uvc/ext4/
scp -r /mnt/uvc/ext4/lib/modules/* email@example.com:/lib/modules/
7. reboot edison to pick up changes
8. after reboot/login
root@ubilinux:~# modprobe uvcvideo
root@ubilinux:~# ls /sys/module/ | grep video
It's probably worth mentioning that this guide can be applied to any kernel modifications, not just the uvcvideo changes.
good point Dave, not sure if its the perfect way (im not a linux expert) but it works and should work for any other kernel drivers
while on the ubilinux topic and perhaps related to dmerico question above
Its easy to got from yocto -> ublinux by following this guide EmutexLabs
Im wondering - how easy is it to bring a ubilinux edison back to standard yocto opkg based one?
ie the standard edison "flashing edison" guide says to just copy the edison images into the edison USB drive that auto-mounts on the host OS (win, linux, mac)
but when using ubilinux, the drive that auto-mounts on the host (linux host) is just ~500k big and doesnt fit all the ~380M uboot/yocto images
I found that the ubilinux 's wifi driver is bcmsdh_sdmmc, so how to set the wifi mode to Monitor Mode? Because I want to collect the wireless info of it. Could you give me some suggestion?