7.1. 预安装

在我们的配置和编译中,我们将构建一个单内核。单内核意味着对于所有问题你都只能回答这些问题,不要将任何内容模块化,并省略

此外,我们将使用来自内核补丁的缓冲区溢出保护来修补我们的新内核。Linux 内核的补丁是存在的,例如 Solar Designer 的非可执行堆栈补丁,它禁止在堆栈上执行代码,从而使许多缓冲区溢出攻击更难实现 - 并完全击败了全球“脚本小子”使用的许多当前漏洞。

Important 记住,如果你打算构建一个单内核,配置新内核时只能回答这些问题。如果你打算使用防火墙伪装功能或拨号 ppp 连接,则不能构建单内核,因为这些功能默认需要构建一些模块。相反,构建一个模块化内核。

新的内核非常特定于你的计算机硬件,在内核配置部分;我们在示例中使用以下硬件。当然,你必须更改它们以适应你的系统组件。

1 个 Pentium II 400 MHz (i686) 处理器
1 个主板 SCSI(小型计算机系统接口)
1 个硬盘 SCSI(小型计算机系统接口)
1 个 SCSI(小型计算机系统接口)控制器 Adaptec AIC 7xxx
1 个 CD-ROM ATAPI IDE(集成驱动电子设备)
1 个软盘驱动器
2 个以太网卡 Intel EtherExpressPro 10/100
1 个鼠标 PS/2

这些安装说明假设

命令与 Unix 兼容。
源代码路径是/usr/src。
安装在 Red Hat Linux 6.1 和 6.2 上进行了测试。
安装中的所有步骤都将在超级用户帐户 root 中进行。
最新内核版本号为 2.2.14
最新安全 Linux 内核补丁版本号为 2_2_14-ow2

以下所有提及的软件包在本写作时均可在以下站点获得,但我们建议您可以通过在其各自的主页上搜索来获取有关镜像站点的更多信息。

7.1.1. 制作紧急启动软盘

预安装步骤的第一步是制作紧急启动软盘。Linux 有一个名为 mkbootdisk 的小程序来简单地完成此操作。第一步是找出你当前正在使用的内核版本。查看你的/etc/lilo.conf文件,看看从哪个镜像启动的,从这个镜像中,我们可以找到我们需要制作紧急启动软盘的内核版本。
                 [root@deep] /#cat /etc/lilo.conf
                 

在我的例子中,我在lilo.conf文件中,有以下内容

                       
                 boot=/dev/sda
                 map=/boot/map
                 install=/boot/boot.b
                 prompt
                 timeout=50
                 image=/boot/vmlinuz-2.2.12-20	  (1)	 
                 label=linux	 		  (2)	 
                 root=/dev/sda6
                 initrd=/boot/initrd-2.2.12-20.img
                 read-only
                 
(1)
内核版本
(2)
我们从中启动的镜像

现在你需要找到你从中启动的镜像。在标准的全新首次安装中,它将是标记为 linux 的那个。在上面的示例中,我们显示机器使用/boot/vmlinuz-2.2.12-20系统原始内核版本启动。现在我们只需要在我们的系统中放入格式化的 1.44 软盘,并以 root 身份执行以下命令
                 [root@deep] /#mkbootdisk --device /dev/fd0 2.2.12-20
                 


                   在 /dev/fd0 中插入磁盘。磁盘上的任何信息都将丢失。按 <Enter> 继续或按 ^C 中止
                 

按照这些指南,你现在将拥有一个带有已知工作内核的启动软盘,以防升级出现问题。我建议使用软盘重新启动系统,以确保软盘工作正常。