This article illustrates how to generate a bootable Linux Kernel 3.6.9 image for CORE9X35
Hardware requirements:
- an Ubuntu Linux PC (we used an Ubuntu 12.04)
- an CORE9X35 with base board CORE9X35-CON
- a Debug Serial Port Interface
Installing the toolchain:
Install the cross compiler and the toolchain required on your PC following this article:
Prepare the Kernel sources and build it:
Copy the CORE9X35 linux-at91.tar.bz2 from the CD to the tmp folder(You can download it from here), then do the follow command to uncompress it:
~$ cd ~ ~$ tar xvf /tmp/linux-at91.tar.bz2 -C .
then move in the linux-at91 folder:
~$ cd linux-at91 ~/linux-at91$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- distclean ~/linux-at91$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- at91_dt_defconfig
A file called .config will be generated inside the Linux source root directory. All the changes you will make using make menuconfig will be saved on this file so if you want to create you own default configuration simple copy the new .config file in arch/arm/configs with a name like at91_dt_defconfig.
the device tree source file (.dts) for your board is in arch/arm/boot/dts/at91sam9x35ek.dts.
then compile it to generate a device tree blob file (.dtb) by typing:
~/linux-at91$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- dtbs
This file will be used by the Linux Kernel at startup time to configure the initial state of your hardware.
Customize the default Linux Kernel configuration:
If you need customize the Kernel configuration by using menuconfig type:
~/linux-at91$ make ARCH=arm menuconfig
Running the Kernel compilation
To compile the Linux Kernel type:
~/linux-at91$ make -j4 ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage ... Kernel: arch/arm/boot/uImage is ready
Copying the binary files generated in the USB Disk
Insert a USB Disk and copy the bootable Linux kernel file uImage file and the hardware description file at91sam9x35ek.dtb into the USB Disk:
~/linux-at91$ cp arch/arm/boot/dts/at91sam9gx35ek.dtb /media/usbdisk/ ~/linux-at91$ cp arch/arm/boot/uImage /media/usbdisk/
The /media/usbdisk is the USB Disk folder in ubuntu
Use the new Kernel with Buildroot
Follow this article:
Quick and dirty test
If you want to try the new Kernel quickly use the binary available on: