ARM Linux成功编译Linux 2.4.21内核


内核下载:http://www.kernel.org/pub/linux/kernel/linux-2.4.21

(刚刚下载的Linux 2.4.6内核,打完补丁发现不支持at91rm9200,郁闷)

arm9补丁下载:ftp://ftp.arm.linux.org.uk/pub/linux/arm/kernel/v2.4/

交叉编译器:arm-linux-cross-2.95.3

1.zcat patch-2.4.21-rmk1.gz | patch -p1  (必须把补丁拷贝到内核目录下)

2. em Makefile &

#ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)

注释掉上面一行,修改下面这两行

ARCH = arm

CROSS_COMPILE     = /usr/local/arm/3.4.1/bin/arm-linux-

3.可以开始编译了

make mrproper

make mrproper : 保證 Source Code 是乾淨的 !! (一拿到 Source Code 所以執行的動作)

----------------------------------------------

make clean : 將曾經產生過的 *.o 檔清除掉. (*.o 它是什麼時候產生的呢 ?? 在 make 的時候..)

(保留編譯的成果 , 可省略這一個步驟)

make dep

make dep的意思就是说:如果你使用程序A(比如支持特殊设备),而A需用到B(比如B是A的一个模块/子程序)。

而你在做make config的时候将一个设备的驱动 由内核支持改为module,或取消支持,这将可能影响到B的一个参数

的设置,需重新编译B,重新编译或连接A....如果程序数量非常多, 你是很难手工完全做好此工作的。

所以,你要make dep。如果你make menu或make config或make xconfig后,直接reboot,会更快。

只是你的内核根本没有任何改变。^=^

make menuconfig  (配置内核,与arm板子相关)

4.make zImage

到这里,可以在arch/arm/boot/下看到

相关内容