Edukit-III实验箱的开发环境是cygwin,因此想在纯Linux系统下,对内核进行编译。
主机环境:虚拟机安装的ubuntu10.04LTS,交叉工具链为arm-linux-gcc2.95.3,安装目录为/usr/local/arm/2.95.3/
【1.安装Linux源码】
把Linux源码压缩包(linux-2.4.18-rmk7-pxa1-mz5.tar.bz2)拷贝到/usr/src,然后解压
root@VMUBUNTU:/usr/src# tar jxvf linux-2.4.18-rmk7-pxa1-mz5.tar.bz2
|
把补丁文件(linux-2.4.18-rmk7-pxa1-mz5.tar.bz2.edukit2410.patch)拷贝到/usr/src,切换到kernel目录,然后打补丁。(第一次打的补丁是linux-2.4.18-rmk7-pxa1-mz5.tar.bz2.edukit2410_2.patch,结果没有编译成功,不知道原因。。。)
root@VMUBUNTU:/usr/src# cd kernel/ root@VMUBUNTU:/usr/src/kernel# patch -p1 </usr/src/linux-2.4.18-rmk7-pxa1-mz5.tar.bz2.edukit2410.patch
|
【2.修改Makefile文件】
如果需要,按照如下方式修改。
把/usr/src/kernel/下的Makefile做如下修改: 第23行
CROSS_COMPILE = /opt/host/armv4l/bin/armv4l-unknown-linux-
|
改为
CROSS_COMPILE = /usr/local/arm/2.95.3/bin/arm-linux-
|
【3.编译linux内核】
在/usr/src/kernel目录下,执行如下命令,在make xconfig时,点击load configuration from file,输入./arch/arm/def-configs/edukit2410-amd,然后点击save and exit,edukit2410-amd文件是内核配置文件,在patch时写入/usr/src/kernel/arch/arm/def-configs/目录。
root@VMUBUNTU:/usr/src/kernel# make mrproper root@VMUBUNTU:/usr/src/kernel# make xconfig root@VMUBUNTU:/usr/src/kernel# make dep root@VMUBUNTU:/usr/src/kernel# make zImage
|
如果没有错误,会在/usr/src/kernel/arch/arm/boot/目录下生成zImage,即为linux内核映像文件
root@VMUBUNTU:/usr/src/kernel/arch/arm/boot# ls bootp compressed install.sh Makefile Makefile.orig zImage
|
阅读(917) | 评论(0) | 转发(0) |