Chinaunix首页 | 论坛 | 博客
  • 博客访问: 158759
  • 博文数量: 110
  • 博客积分: 127
  • 博客等级: 入伍新兵
  • 技术积分: 839
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-05 16:20
文章分类

全部博文(110)

分类: LINUX

2012-12-17 21:42:11

小白第一次编译内核,从网上看到说自己的电脑里有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) |
给主人留下些什么吧!~~

Helianthus_lu2012-12-19 12:40:42

我也是新手,那么相互学习喽~~~呵呵……

Helianthus_lu2012-12-19 12:39:26

其实我也是新手。那么,相互学习喽~~呵呵

wansuiye6042012-12-18 23:20:45

Helianthus_lu: 记录的蛮详细的~不错的文~.....
谢谢,新手刚开始学习,希望多指点

Helianthus_lu2012-12-18 19:33:32

记录的蛮详细的~不错的文~