一、运行在TQ2440开发板上的linux内核编译
1、获取源码并解压
直接使用天嵌移植好的“linux-2.6.30.4_20100531.tar.bz2”源码包。
解压(天嵌默认解压到/opt/EmbedSky/linux-2.6.30.4/中)
tar xvjf linux-2.6.30.4_20100531.tar.bz2 -C /
2、获取默认配置文件
可以使用“config_EmbedSky_W43”作为默认配置文件
cp config_EmbedSky_W43 .config
3、配置(根据需要修改部分选项)
笔者认为只要有一个适合自己开发板的“.config”,这一步也不需要,直接使用这个配置文件去编译内核即可。
至于这一步的意义,其实也就是为了生成一个适合自己开发板的“.config”,决定哪些模块需要编译进内核(裁剪内核)。
默认配置文件的意义就在于,为我们提供了一种参考,通常选择的默认配置文件是与我们的开发板很相似的。由于配置选项太多,多达上千项,使用默认配置文件,只需要修改那些默认配置文件与我们开发板不一样的选项即可,这肯定是节省时间和体力的捷径。
make menuconfig
4、编译内核
make zImage
5、编译modules(内核驱动)模块
make modules
可在内核中挂载使用生成的“*.ko”文件
二、运行在X86平台上的linux内核编译
1、获取源码并解压
可以从www.kernel.org选择一个想要的版本,例如“linux-3.13.6.tar.xz”,并解压到“/usr/src”(/usr/src目录下是专门存放内核源代码的)。
sudo tar -xvf linux-3.13.6.tar.xz -C /usr/src
2、 获取默认配置文件
比如说:/boot/config-3.2.0-55-generic-pae(Ubuntu当前内核的配置文件)
cp /boot/config-3.2.0-55-generic-pae .config
3、配置
make menuconfig
4、编译内核和模块
编译内核
make
编译模块
make modules_install
make modules_install命令用于安装可装载模块
5、安装
make install
make install命令执行三个操作:复制内核镜像到/boot目录下;生成initrd-img;更新grub。命令成功执行成功后,新的内核已可以使用,并且列在引导菜单中。
6、重启检查
重启系统,grub引导选项中多了我们新编译的内核选择,选择新内核引导。进入系统后执行命令uname -r 查看当前的内核版本。
uname -r
参考网页:linux内核学习之二:编译内核
运行在TQ2440开发板上以及X86平台上的linux内核编译,布布扣,bubuko.com
运行在TQ2440开发板上以及X86平台上的linux内核编译
原文:http://www.cnblogs.com/amanlikethis/p/3592009.html