This article illustrates how to generate a bootable Linux Kernel 3.6.9 image for WiFiG25
Hardware requirements:
- an Ubuntu Linux PC (we used an Ubuntu 12.04)
- an WiFiG25 board
- Download the source code
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 WiFiG25 kernel linux-at91.tar.bz2 from the CD to the tmp folder, 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/at91sam9g25ek-wifi.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 Micro SD card
Insert a Micro SD card and copy the bootable Linux kernel file uImage file and the hardware description file at91sam9g25ek-wifi.dtb(Rename to at91sam9g25ek.dtb) into the Micro SD card:
~/linux-at91$ cp arch/arm/boot/dts/at91sam9g25ek-wifi.dtb /media/SDcard/at91sam9g25ek.dtb ~/linux-at91$ cp arch/arm/boot/uImage /media/SDcard/
The /media/SDcard is the Micro SD card 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: