Specifications
The following command selects a standard configuration for the m28 board that has been extensively tested. It
is recommended to use this as a starting point for other, customized configurations:
bash$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- m28_defconfig
[marex@pollux]$
Note: The name of this default configuration file is arch/arm/configs/XXX . By (recursively) listing
the contents of the arch/arm/configs/ directory you can easily find out which other default
configurations are available.
If you don't want to change the default configuration you can now continue to use it to build a kernel image:
bash$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage
Otherwise you can modify the kernel configuration as follows:
bash$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- config
or
bash$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig
Note: Because of problems (especially with some older Linux kernel versions) the use of "make xconfig"
is not recommended.
bash$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage
The make target uImage uses the tool mkimage (from the U-Boot package) to create a Linux kernel image in
arch/arm/boot/uImage which is immediately usable for download and booting with U-Boot.
In case you need a DTB to boot your linux kernel, you need the following step:
bash$ make m28.dtb
In case you configured modules you will also need to compile the modules:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules
add install the modules (make sure to pass the correct root path for module installation):
bash$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- INSTALL_MOD_PATH=/opt/eldk-5.2/armv5te/rootfs modules_install
6.3. Installation
For now it is sufficient to copy the Linux kernel image into the directory used by your TFTP server:
bash$ cp arch/arm/boot/uImage /tftpboot/uImage
7. Booting Embedded Linux
7.1. Introduction♦
7.2. Flattened Device Tree Blob♦
7.3. Passing Kernel Arguments♦
7.4. Boot Arguments Unleashed♦
7.5. Networked Operation with Root Filesystem over NFS♦
•
6.2. Kernel Configuration and Compilation 86