This article illustrates how to generate a bootable Linux Kernel image for all the Acme board based on Atmel MPUs:
Download and save in your home directory the Linux Kernel sources:
Extract the Kernel sources from the compressed file by typing:
~$ tar xvfJ linux-3.13.6.tar.xz ...
Move inside the new folder:
~$ cd linux-3.13.6 ~/linux-3.13.6$
Download the patch file ariag25.patch and apply it:
~/linux-3.13.6$ patch -p1 < ariag25.patch
Download the patch file foxg20.patch and apply it:
~/linux-3.13.6$ patch -p1 < foxg20.patch
~/linux-3.13.6$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- at91-ariag25_defconfig ... # configuration written to .config
~/linux-3.13.6$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- at91-foxg20_defconfig ... # configuration written to .config
If you need to customize the Kernel configuration or just taking a look to the drivers and features activated type:
~/linux-3.13.6$ make ARCH=arm menuconfig
and navigate inside the Kernel configuration using the arrow keys and following the help provided by the menuconfig interface.
~/linux-3.13.6$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- at91-ariag25.dtb ...
~/linux-3.13.6$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- at91-foxg20.dtb ...
Compile the Linux Kernel sources and generate a binary image file to save in the first partition of microSD card.
~/linux-3.13.6$ make -j8 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage ... Image arch/arm/boot/uImage is ready
~/linux-3.13.6$ make -j8 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- ... Kernel: arch/arm/boot/zImage is ready
Append the compiled device tree blog file at91-foxg20.dtb to the end of new Kernel zImage just created:
~/linux-3.13.6$ cat arch/arm/boot/zImage arch/arm/boot/dts/at91-foxg20.dtb > zImage_w_dtb
Create a file loadable by the FOX Board G20 bootloader AcmeBoot by typing:
~/linux-3.13.6$ mkimage -A arm -O linux -C none -T kernel -a 20008000 -e 20008000 -n linux-3.13.6 -d zImage_w_dtb uImage
On a mid-power PC the whole source compilation requires about 5 minutes.
The image generated contains the Linux Kernel and all the built-in device drivers (option [*] in menuconfig) compiled with it.
Al the drivers compiled as external modules (option [M] in menuconfig) need to be compiled and saved in the rootfs /lib directory on the second partition of the microSD. To compile them type:
~/linux-3.13.6$ make modules -j8 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- ... ~/linux-3.13.6$ make modules_install INSTALL_MOD_PATH=./modules ARCH=arm ...
Insert a formatted microSD in your Linux PC and copy on it the files directly:
Write the Linux Kernel image and Device tree blog files in the first microSD partition:
Aria G25 and Terra
~/linux-3.13.6$ cp arch/arm/boot/dts/at91-ariag25.dtb /media/$USER/KERNEL/at91-ariag25.dtb ~/linux-3.13.6$ cp arch/arm/boot/uImage /media/$USER/KERNEL/image.binFOX Board G20
~/linux-3.13.6$ cp uImage /media/$USER/KERNEL/uImageIf you are using an Ubuntu release older than 13.10 remove $USER in the path
Write the Kernel modules in the rootfs (second microSD partition):
~/linux-3.13.6$ sudo rsync -avc modules/lib/. /media/$USER/rootfs/lib/.
Use this method if you have a working board accessible via LAN
Write the Linux Kernel image and Device tree blog files in the first microSD partition:
Aria G25 and Terra
~/linux-3.13.6$ scp arch/arm/boot/dts/at91-ariag25.dtb root@ariag25.local:/media/mmc_p1 ~/linux-3.13.6$ scp arch/arm/boot/uImage root@ariag25.local:/media/mmc_p1/image.binFOX Board G20
~/linux-3.13.6$ scp uImage root@foxg20.local:/media/mmc_p1/uImageWrite the Kernel modules in the rootfs (second microSD partition):
~/linux-3.13.6$ rsync -avc modules/lib/. root@ariag25.local:/lib/.
If this command doesn't work verify if rsync in installed on your board. Use apt-get install rsync.
At the first access to the board command line update the module dependencies by typing this command:
~# depmod -a
![]() | ARIAG25-128 - ARM9 Linux Embedded Module Aria G25 is a small and low-cost multi-chip module that integrates:* an ARM9 @ 400Mhz CPU Atmel AT91SAM9G25* a 128MB of DDR2 RAM* 10/100 Ethernet interface* up to 3 USB 2.0 host ports* Normal temperature range version (-0° +70°) | Product description | |
![]() | FOXG20 - FOX Board G20 FOX Board G20 is a "ready-to-run" Embedded Linux System perfect to use as a solid state WEB server or as a core engine for your embedded appliances. A fully Open Source environment is available to customize and build your own kernel image or to develop user applications using standard GNU tools. Version with Atmel AT91SAM9G20 with 256KB of FLASH memory, 64MB of RAM and up to 16GB of microSD. FOXG20 needs some extra accessories in order to be operative:
An evalution kit with all the accessories you need to get started with FOX Board G20 is available on-line on this link: COMBO-2. Please note Currently the FOX board G20 are shipped without the daisy connector mounted on top. If you need these connector please ask. |