您的位置:首页 > 运维架构 > Linux

Linux内核编译步骤

2014-06-07 22:50 232 查看
在linux内核开发过程中,常常要进行内核编译,因此把基于PC机和基于ARM开发板的linux内核编译步骤归纳如下:

1、基于PC机的linux内核编译步骤

(1)将内核源代码解压到/mykernel/linux-2.6.29文件夹下。(这是我编译时用的路径,内核是2.6.29版本的)

(2)进入到linux-2.6.29目录下,使用命令:make distclean,清理内核中间文件、配置文件。

(3)选择参考配置文件,可以拷贝当前linux系统中的内核配置文件作为参考。当前系统的内核配置文件一般放在/boot/目录下。可以使用命令:cp/boot/config-xx .config拷贝到当前目录。

(4)配置内核选项。使用命令:make menuconfig,启动文本模式的配置界面,进行内核选项配置。

(5)编译内核,生成内核映像。使用命令:make bzImage对内核进行编译。编译生成的内核映像位于arch/i386/boot/目录下。

(6)编译内核模块。使用命令:make modules对步骤(3)中选择为<m>的选项对应的模块进行编译。

(7)安装内核模块。使用命令:make modules_install进行内核模块安装。安装完毕后,步骤(6)中编译好的内核模块就会被从内核源代码目录拷贝至当前linux系统 下/lib/modules目录下,并会全部存放在一个一版本号为名称的子目录里。我编译时的对应的路径是/lib/modules/2.6.29。

(8)制作根文件系统initrd。使用cp命令跳转到linux-2.6.29目录的父目录下,即/mykernel下,使用命令:mkinitrd initrd-2.6.29 2.6.29 将步骤(7)中的lib/modules/2.6.29这个目录制作成initrd-2.6.29。

(9)安装内核。linux系统启动时,会从/boot/目录下寻找内核文件和根文件系统,因此需要将编译好的内核镜像bzImage和根文件系统initrd-2.6.29拷贝到/boot目录下。

(10)修改开机引导文件。打开/etc/grub.conf文件,在原有代码基础上,添加如下代码作为新内核的引导项:

title linux-2.6.29

root(hd0,0)

kernel /vmlinux-2.6.29 ro root=LABEL=/ quiet

initrd /iniitrd-2.6.29

(11)重启系统,选择启动项 linux-2.6.29,进入系统。并使用命令:uname -sr查看当前系统内核的版本,验证是否正确。

(12)配置完毕。

2、基于arm开发板内核编译

待续。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: