LINUX内核编译实验.doc
文本预览下载声明
实验六 内核设置及编译实验实验目的1)了解文件权限 2)了解系统将拥有更多的内存(内核部分将不会被交换到虚拟内存中)3)了解不需要的功能编译进入内核可能会增加被系统攻击者利用的漏洞 4)学会自己编译内核 实验环境实验内容重新设置编译内核。1)、先查看当前环境下的内核版本号
#uname –r
2)、复制相应的内核压缩包linux-2.6.23.2.tar.bz2)到Linux的/usr/src目录下#cp linux-2.6.23.2.tar.bz2 /usr/src
3)、解压缩包生成代码树/usr/src/linux-2.6.2.2
?#cd /usr/src
?#tar jxvf linux-2.6.23.2.tar.bz2
#cd linux-2.6.23.2
第二步:生成内核配置文件.config
Linux内核代码非常庞大,使用于许多体系结构,包含大量驱动程序。在生成内核的时候要根据实际情况进行配置,所有的配置将保存在内核代码树顶级目录下的一个名为.config的配置文件中。
?1)、复制配置文件模板
配置文件可以从头开始生成,一般没这必要,因为当前正在运行的内核已经有对应的配置文件,在/boot目录下。将其做模板复制到/usr/src/linux-2.6.2.2目录下:
#make mrproper
#cp /boot/config-2.6.27.5-117.fc10.i686 ./.config
2)、生成新内核的.config配置文件
拷贝后虽然有了模板,但是.config文件的配置并不一定囊括了新内核的所有编译选项,可以使用下面的命令:
?#make oldconfig第三步:编译和安装新的内核
)、编译新内核
执行下面三个命令:
#make all
#make modules_install
#make install
第步:修改引导程序GRUB
如果上述三个命令均执行成功,用户可以观察到引导程序grub的配置文件/boot/grub/menu.lst并将其进行合理修改配置。打开menu.lst的方法是:
# /boot/grub/menu.lst
第步:重启查看
用命令#reboot重启系统就可以看到GRUB菜单已经包含了新编译的内核。
1)、先查看当前环境下的内核版本号
#uname –r
2.6.27.5-117.fc10.i686
2)、下载相应的内核压缩包
内核linux-2.6.27.39,将新内核压缩包linux-2.6.27.39.tar.bz2复制到Linux下某个目录,如/usr/src。
在XP系统中先下载压缩包,然后将其复制到Linux的目录中。这样操作不能直接将压缩包复制到Linux的/usr/src目录下,只能先将其复制到Linux桌面,然后用cp命令将压缩包复制到Linux的/usr/src目录下。
3)、解压缩包生成代码树/usr/src/linux-2.6.27.39
指令如下:
?#cd /usr/src
?#tar jxvf linux-2.6.27.39.tar.bz2
#cd linux-2.6.27.39
说明:如果选择的压缩包后缀是.gz,上3)中的第二条指令中的jxvf应换成zxvf。
第二步:生成内核配置文件.config
Linux内核代码非常庞大,使用于许多体系结构,包含大量驱动程序。在生成内核的时候要根据实际情况进行配置,所有的配置将保存在内核代码树顶级目录下的一个名为.config的配置文件中。
?1)、复制配置文件模板
配置文件可以从头开始生成,一般没这必要,因为当前正在运行的内核已经有对应的配置文件,在/boot目录下。将其做模板复制到/usr/src/linux-2.6.27.39目录下:
#make mrproper
#cp /boot/config-‘uname –r’ ./.config
命 令“make mrproper”用来保证内核树是干净的,如果内核树已经编译过,该命令有效;如果内核树第一次编译,则可以省略该命令。命令“cp /boot/config-‘uname –r’ ./.config”中“‘uname –r’”代表2.6.27.5-117.fc10.i686,“./.config”中前一点表示将拷贝放置在开头进入的默认目录(即/usr/src /linux-2.6.27.39)中,并将其命名为.config的隐含文件。
2)、生成新内核的.config配置文件
拷贝后虽然有了模板,但是.config文件的配置并不一定囊括了新内核的所有编译选项,可以使用下面的命令:
?#make oldconfig或#make silentoldconfig
命 令“#make oldconfig”读取.config文件并根据新内核
显示全部