小白第一次编译内核,从网上看到说自己的电脑里有linux源码,不过小白出于保护自己ubuntu的愿望从网上下载了linux2.6.36这个版本,然后将其放在/usr/src/这个存放linux源码的目录下
然后修改Makefile,
arch=arm
cc=arm-linux-//不要加上路径
这里开始在cc的后面指定了arm-linux-的路径/usr/local/arm/usr/bin/arm-linux-,不知为何出现了错误,修改后通过
再make at91rm9200dk_defconfig生成.config文件,这里需要注意的是这个命令需要在linux源码的根目录下即/usr/src/linux2.6.36/linux2.6.36/下运行,之前的Makefile也在这个目录下
然后运行make menuconfig,这是一种显示文本菜单的配置方式,使用最广泛。如果.config存在,则使用.config文件的默认配置。也在这个目录,进入图形化配置界面,在这里修改了几项:
1.kernel Feathers ->USE ARM EABL to compile..
2.networking support->wireless cfg802...
3.networking options->netfilter
最后make,等待一段时间,就出炉了,在源码目录中的arch/arm/boot/目录下生成了Image和zImage两个内核映像文件,其中Image为正常大小的映像文件,而zImage为压缩后的映像文件。
编译内核模块,未完待续....
uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0x40之后与zImage没区别。
如 何生成uImage文件?首先在uboot的/tools目录下寻找mkimage文件,把其copy到系统/usr/local/bin目录下,这样就 完成制作工具。然后在内核目录下运行make uImage,如果成功,便可以在arch/arm/boot/目录下发现uImage文件,其大小比 zImage多64个字节。
这里遇到的问题,
1.一个实注意在哪个目录下输入命令,
2.一个是在makefile的修改
3.在make menuconfig的时候提示错误
“Install ncurses (ncurses-devel) and try again.”
这是提示缺少以来的库文件,解决办法
apt-get install libncurses5-dev
4.在安装过程中提示错误正在等待报头,这里按照网上的说法删除缓存的文件夹依然不行,
师兄说用apt-get autoremove 再apt-get install libncurses5-dev,了然!
5.在开始的时候从共享文件夹复制文件夹的时候用cp命令加上-r就可以连同其子文件夹一同复制
cp -r 文件 目录
6.rm -r ××× 删除文件夹或目录
注意的地方:
1. make clean删除前面留下的中间文件,该命令不会删除.config等配置文件。
阅读(2026) | 评论(4) | 转发(0) |