针对 模组 重新编译 核心
除了设置[mounted]成 root 的档案系统(其大部分情况都是 ext2 的档案系统)
不能设成模组外, 其他每个东西都能重新设定核心编成模组来使用.
然而,有某些项目在完全地架设成模组时会出现困难, 所以我建议以下东西编入
核心会好些:
* Ethernet 硬体驱动程式.
* SCSI CD-ROM 驱动程式.
相反地, 有某些驱动程式组合只适合编成模组, 特别是下面中有两个以上的组合:
* 平行埠印表机A Parallel Printer,
* 平行埠的设备, 像是 IOMEGA ZipDrive 或 JazzDrive 或 背接式[BackPack]
CD-ROM drive, 以及
* PLIP Daemon.
你会需要决定哪些是你要编译到核心, 又哪些要模组, 但应将上面几点列入考虑.
以下面次序的指令来进行, 在编译过程, 真正的选择就决定了:
cd /usr/src/linux
make menuconfig
make dep clean modules modules_install zImage
已经做完成了, 而模组的相关性[dependencies]需要绘出[mapped out], 这要
下个这样的命令:
depmod -a
最新的核心现在需要被插到开机链[boot chain]中, 我假设读者为了(下面)这个
目的使用 LILO, 因为这是我碰过唯一的开机载入器[loader].
我建议 不要 从自动地就插入最新编译好的核心成为内定的 Linux 核心, 因为
如果它失败, 那麽要恢复架设好的 Linux, 又不做完全重新的安装是非常困难,
而重新安装并不建议. 基於这理由, 我在我的 /etc/lilo.conf 档案会加下列项
目:
image=/usr/src/linux/arch/i386/boot/zImage
label=new
alias=n
read-only
vga=ask
optional
这项目说有个 可选择性 的开机启动选项 (如果我们所讨论中的 image 不存在,
那麽将会忽略) , 若可选择的, 其开机开启 /boot/newlinux ,而且允许吾人在
它开机进入的显示模式下来选择.
假设上面在 /etc/lilo.conf 存在的项目, 新版的核心已经正确的摆在编译终了
所在处, 那麽可以用下列命令来安装:
lilo
已经做完了那些, 读者需要接著进一步步骤,这与它们所被选择的发行套件有关,
如下:
* 针对 模组 设定 Debian 或RedHat
* 针对 模组 设定 Slackware
* 针对 模组 设定其它发行套件
_________________________________________________________________
针对 模组 设定 Debian 或RedHat
在这□所列步骤完成之前, "针对 模组 重新编译 核心" 所列步骤都假设
你已经完成了.
Debian 和 RedHat 发行套件有一样的开机启动程序, 所以也有一样的步骤来
设定他们的 模组.
1. 已经以 root 身分登入, 使用你最喜爱的文字编辑器来开个新的档案叫做
_/etc/rc.d/init.d/modules.init_ , 并以下列内容加入到那□.
# Modules initialisation.
#
# Start up the module auto-loading daemon.
/sbin/kerneld
# Mount all currently unmounted auto-mounted partitions.
/sbin/mount -a
2. 已经建立上述档案, 当有以 root 身分登入, 按照下列步骤:
cd /etc/rc.d
chmod 755 init.d/*
cd rc3.d
ln -s ../init.d/modules.init 05modules.init
这时系统可重新启动, 而在这过程中, 会被发现模组有彻底完成了.
推荐阅读
- Linux 指令篇:日期时间排程--time
- Linux + NT OS Loader mini-HOWTO
- Linux命令Man解释:man.conf:man的配置文件
- Linux命令Man解释:man : 显示线上求助手册
- Linux 指令篇:档案目录管理--find
- Linux+FreeBSD mini-HOWTO
- The Linux+DOS+Win95 mini-HOWTO
- Linux Quota mini-HOWTO 磁盘空间限制
- Linux 无盘工作站 Mini Howto
- IP Alias mini HOWTO 如何在 Linux 机器上设定 IP 别名