-
Notifications
You must be signed in to change notification settings - Fork 0
Udoo kernel
For ppp tests, I was in need for a kernel with cp210x driver and ppp driver. Udoobuntu v1.1 lacks the cp210x driver. Same for udoo debian wheezy v1.1 image. Udoobuntu v2.0beta2 has the cp210x driver but lacks the ppp_generic driver.
The kernel sources are available for udoobuntu v1.1, therefore the chosen starting point on the target is a running udoobuntu v1.1, on which we will install a new kernel and its modules. No need to change anything else in the file system or u-boot.
Here is a step by step guide to recompile and install a udoo kernel with additional drivers:
- Get the cross compiler
curl http://download.udoo.org/files/crosscompiler/arm-fsl-linux-gnueabi.tar.gz | tar -xzv
- Update your PATH to include cross compiler binaries
export PATH=$PATH:/home/myuser/work/udoo/arm-fsl-linux-gnueabi/bin
- Add dev package that may be missing
sudo apt-get install build-essential ncurses-dev u-boot-tools git
- Get Udoo kernel sources
git clone http://github.com/UDOOboard/Kernel_Unico kernel && cd kernel
- Set the default kernel configuration for UDOO
make ARCH=arm UDOO_defconfig
- Edit the config to suit your needs
make ARCH=arm menuconfig
- Compile kernel and modules
make -j8 CROSS_COMPILE=../arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi- ARCH=arm uImage modules
- Prepare a directory to install modules
mkdir tmp_mod
- Install the modules in temporary dir
make modules_install INSTALL_MOD_PATH=../tmp_mod CROSS_COMPILE=../arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi- ARCH=arm
- Make a tarball
cd ../tmp_mod && tar czpf modules.tgz lib/ && cd ..
- Transfer files to target
scp tmp_mod/modules.tgz kernel/arch/arm/boot/uImage [email protected]:
- Backup old kernel
sudo mv /boot/uImage /boot/uImage.bak
- Install new kernel
sudo mv uImage /boot/
- Install new modules
cd / && sudo tar xzpf /home/ubuntu/modules.tgz
- Reboot
sudo reboot