First thing first, I flashed images from Linux.zip under windows onto the eMMC of RiotBoard and then proceeded to build kernel on RiotBoard. By default, the oneiric rootfs contains toolchain for building the kernel. The only thing missing is the mkimage utility to obatin uImage. I have attached the mkimage executable below. Place this in "/usr/bin/".
Grab a copy of Linux kernel. I obtained one from embest. I used "embest_imx_3.0.35_4.0.0" branch.
git clone git://github.com/embest-tech/linux-imx.git -b embest_imx_3.0.35_4.0.0
Open Makefile and then modify CROSS_COMPILE (~line no. 196) to contain nothing
CROSS_COMPILE ?=
Configure the kernel for RiotBoard by,
make imx6_defconfig
Build kernel sources by running
make uImage
After half an hour or so, following output can be seen on console
| LD | arch/arm/boot/compressed/vmlinux |
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
UIMAGE arch/arm/boot/uImage
Image Name: Linux-3.0.35
| Created: | Sun Oct 1 00:00:49 2017 |
Image Type: ARM Linux Kernel Image (uncompressed)
| Data Size: | 3908484 Bytes = 3816.88 kB = 3.73 MB |
Load Address: 10008000
Entry Point: 10008000
Image arch/arm/boot/uImage is ready
Next task is to flash the freshly built uImage. This can be done by issuing following command
dd if=uImage of=/dev/mmcblk0 bs=1M seek=1 conv=fsync
Reboot the RiotBoard and see the new kernel boot!!!