linux内核编译步骤(详细全过程)
本人新学,因此将每一步详细记录如下,望能够对大家有所帮助。
环境: 电脑操作系统:ubuntu10.04 。 linux内核版本:linux-3.12.6
内核源码下载地址:www.kernel.org
我就按照步骤来,都是按照细小步骤来。
1、打开终端,更改为root用户。输入命令su,再输入密码即可。
2、进入下载到的内核所在的目录,将下载的内核移动到/usr/src/目录下
? ? ? ? ?mv linux-3.12.6.tar.xz /usr/src
3、切换到/usr/src/目录下,解压缩内核压缩包。由于下载的压缩包是.tar.xz后缀,解压分为两步:
? ? ? ? xz -d?linux-3.12.6.tar.xz
? ? ? ? tar -xvf linux-3.12.6.tar
然后进行一些准备工作,将/usr/include/asm、/usr/inlude/linux、/usr/include/scsi链接到/usr/src/linux/include目录下的对应目录中
?
cd /usr/includerm -rf asm linux scsiln -s /usr/src/linux-3.12.6/include/asm-generic asmln -s /usr/src/linux-3.12.6/include/linux linuxln -s /usr/src/linux-3.12.6/include/scsi scsi以上红色字体部分不是必做。
?
同时,清理内核源码中的残渣(多次编译留下的):
cd /usr/src/linux-3.12.6make mrproper?4、输入cd linux-3.12.6 进入解压后的目录下。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
以下要进行内核的配置了。
?
5、由于系统中没有图形界面配置工具ncurses,因此首先下载此工具安装包,然后在终端打开工具所在目录,切换到root用户下,输入以下命令:
? ? ? ? ? ? ? ? ? ?tar zxvf ncurses-5.9.tar.gz
? ? ? ? ? ? ? ? ? ?cd?ncurses-5.9
? ? ? ? ? ? ? ? ? ?./configure
? ? ? ? ? ? ? ? ? ?make
? ? ? ? ? ? ? ? ? ?make install
这样就安装好了ncurses,可以使用了。
6、第五步是独立步骤。单独操作。这一步接上面第四步。在终端输入以下命令:
? ? ? ? ? ? ? ? ? ? make menuconfig
出现了配置的图形界面。
?
说一下配置:
? ? 对每一个配置选项,用户有三种选择,它们分别代表的含义如下:
7、这一步是配置过程。配置你需要的内容。配置完成以后,保存退出。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
8、配置完成以后,开始编译内核,在终端输入make命令即可。
? ? 还有一种比较麻烦的方法,在终端依次输入以下命令:
make dep
make clean
make bzlmage
make modules
这样也可以。
?
这一步需要很长时间,耐心等待吧。
?
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
然后是安装内核模块
?
9、输入命令 make modules_install
10、输入命令 make install?
?
此时,内核编译完成。剩下是修改启动程序配置,然后运行新的内核程序。
11、将生成的bzImage文件和System.map文件拷贝到/boot/目录下,命令如下:
? ? ? ?cp /usr/src/linux-3.12.6/arch/x86/boot/bzImage /boot/
? ? ? ?cp /usr/src/linux-3.12.6/System.map /boot/
?
12、在终端输入命令:
mkinitramfs 3.12.6 -o /boot/initrd/img-3.12.6
来建立镜像文件
然后输入命令:
update-initramfs -c -k 3.12.6
再输入命令:
update-grub2
更新修改系统引导配置。
13、进入引导程序(boot loader)的配置文件看看,对于不同的引导程序(LILO和GRUB),其配置文件所在路径不同。
? ? ?对于LILO,路径为:/etc/lilo.conf
? ? ?对于GRUB,路径为:/boot/grub/grub.cfg ?
? ? ?本系统为GRUB引导,因此进入/boot/grub/grub.cfg,命令如下
? ? ?cd /boot/grub
? ? ?gedit grub.cfg
看到配置文件中有如下内容:
?说明内核已经添加到启动项了。
?
14、到此,内核编译就算全部完成,可以重启电脑了。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
15、以上是在ubuntu下编译内核的全过程。
16、参考网上各种资料,在别的linux系统下编译内核在最后配置启动过程的时候略有差别,在此列出。
17、其他版本一:配置/etc/lilo.conf文件。在该文件中加入下面几行:
? default=linux-2.3.14
? image=/boot/vmlinuz-2.3.14
? label=linux-2.3.14
? root=/dev/hda1
? read-only?
使新配置生效? 输入 ?/sbin/lilo
重新启动系统? /sbin/reboot?
?
?
好了,本文到此结束。希望对大家有所帮助。
?
?
?
?
?