Skip to content
fribes edited this page Oct 20, 2015 · 6 revisions

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:

On development host

  • 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]:

On udoo target:

  • 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

Clone this wiki locally