After having BitBaked the Yocto Kernel with SMSC LAN95XX driver support for the Ethernet block, you can take the Yocto kernel and its modules and splice them into the Ubilinux distro.
This allows you to use the LAN9512 Ethernet block with a Debian-based Linux distro, with better support for installing packages.
-
Download the Ubilinux distro from here. Choose the Intel Edison.
- Alternatively, run
wget http://www.emutexlabs.com/files/ubilinux/ubilinux-edison-150309.tar.gz
on your Linux host machine.
- Alternatively, run
-
Extract the archive with:
tar xvf ~/ubilinux-edison-150309.tar.gz cd ubilinux-150309/toFlash
-
The Edison kernel is in
edison-image-edison.hddimg
, the filesystem is inedison-image-edison.ext4
. Move the kernel (*.hddimg
) out of the directory:mv edison-image-edison.hddimg ../edison-image-edison.hddimg.ubi
-
Copy the Yocto Edison kernel to here:
cp ~/edison-src/out/current/build/toFlash/edison-image-edison.hddimg .
-
Next, you will need to mount the Ubilinux filesystem and replace its kernel modules with the Yocto kernel modules:
sudo mkdir /mnt/ubi sudo mount edison-image-edison.ext4 /mnt/ubi sudo rm -rf /mnt/ubi/lib/modules/3.10.17-yocto-standard-r2 sudo cp -r ~/edison-src/out/current/build/tmp/work/edison-poky-linux/edison-image/1.0-r0/rootfs/lib/modules/* /mnt/ubi/lib/modules/ sudo umount /mnt/ubi
-
Now that you've copied the Yocto kernel and its modules, you can flash your Edison as follows:
cd ~/ubilinux-150309/toFlash sudo ./flashall.sh
And then plug your Edison in via the OTG port of the SparkFun base-board.
-
When booting on the Edison, make sure that all the kernel modules got loaded (there are about 5 of them), otherwise
lsmod
will return no modules, andlsusb
will return-99
. Note that the default password for the root account is "edison."