内核配置与编译
一、内核清除
当我们拿到内核第一步需要做的就是先对内核进行清理,防止别人配置编译生成的中间文件对我们产生影响:
1.配置过程生成的 .config
2.编译生成 bzImage 中间文件(.o)和生成.ko 文件的中间文件(.o)
make clean 清除.o 文件
make distlean 清除.config 文件
二、内核配置
1. make config:基于文本模式的交互式配置。
2. make menuconfig:基于文本模式的菜单型配置。
一般来说我选择第二种方法,简单明了。
这里面一般有三种菜单选项意义如下:
<*>:所有的文件最后会被生成一个 uImage 内核映像运行在内存中
<M>:内核模块各个模块生成一个文件夹(存储)需要使用时则拷贝到内存中使用可以达到节省内存的目的
< >:不选择
2.2接下来配置linux内核
首先将开发板制造商提供的config-file文件复制到linux内核目录下面改名为.config
使用make menuconfig ARCH=arm命令
2.3内核配置结果
内核配置通常在一个已有的配置文件基础上,通过修改得到新的配置文件,Linux 内核提供了一系列可供参考的内核配置文件,位于 Arch/$cpu/configs
可以用命令 cd arch/arm/configs进入目录
打开6410参考配置文件查看:vim s3c6400_defconfig
二、内核编译
make uImage ARCH=arm CROSS_COMPILE=arm-linux-
编译内核失败原因:uboot 要求的可执行文件都有一个头这个头由 mkimage工具制作,生成 mkimage 工具在 uboot 里面 uboot/tools/拷贝到 bin 文件下面
2.1接着继续编译
make uImage ARCH=arm CROSS_COMPILE=arm-linux-
出现以上错误是因为制作了根文件系统,但是现在找不到文件系统目录,所以只需取消了以下路径就可以了。
执行:make menuconfig
执行:make uImage ARCH=arm CROSS_COMPILE=arm-linux-等待20~30分钟
编译成功:
最后一步进入arch/arm/boot目录下面将生成的uImage镜像文件下载到开发板即可。