在笔记本电脑上设置基本 Linux 安装
在我之前的文章中,我讨论了购买一台将运行 Linux 的笔记本电脑时应考虑的事项。这次我想讨论一些方法,让笔记本电脑启动并运行基本 Linux 安装。您的第一步是选择发行版。我已经使用 Debian 大约五年了,并且已经非常习惯它了。因此,本文的大部分内容都倾向于 Debian 的做事方式。本文的目标是让您启动并运行 Debian Sid 和 2.4.20 内核。
Debian 以难以安装而闻名。虽然这不一定是真的,但 Debian 的安装程序与 Mandrake 和 Red Hat 等发行版的全自动安装程序相去甚远。但是,您的额外劳动是有好处的:可以更好地控制系统的布局方式、安装哪些软件包以及启用或禁用哪些内核功能。这使您可以自由地拥有一个完全根据您的特定需求量身定制的系统。Debian Sid(不稳定版)是我首选的版本。在撰写本文时,Woody(稳定版)和 Sarge(测试版)也可用。我喜欢 Sid,因为它以二进制形式提供最新的软件,并且发布日期周转时间最短。所有 Debian 版本最大的优势在于强大的 apt-get 系统。将 apt-get 与 Sid 结合使用,您可以确保您的系统将与 Linux 操作系统所有领先的(有时是前沿的)应用程序保持同步。
要开始使用,您需要一个基本的内核才能从中启动并开始安装。在您可以启动任何内核之前,您需要决定要从哪个介质启动。您有两个主要选择:CD-ROM 或软盘。这假设您有高速互联网连接;Sid 只能通过下载获得。我建议尽可能使用 CD-ROM。它比软盘更快,而且您不必来回更换磁盘。光盘映像可以在这里找到,软盘映像可以在这里找到。这就是事情可能会变得有点令人困惑的地方。即使我们最终将拥有一个 Sid 系统,您也必须从 Woody 启动映像开始。您必须相信我这一点。从 ISO 映像或六个 bin 文件中的相应软盘制作 Woody 启动 CD-ROM。
人们正在努力尝试提供最新的 CD-ROM,用户可以通过普通邮件获取,但这些努力很少而且相隔很远。这也破坏了使用不断更新的操作系统的一个主要优势;通常,每天都会对 Sid 应用更新。如果您发现 Sid 的某个软件包存在重大错误,您可以确信很快就会有修复程序。
现在您应该准备好 CD 或软盘,并且您的高速互联网连接渴望开始下载软件包。如果您使用的是 CD-ROM,您可能需要在笔记本电脑的 BIOS 中更改设置才能从中启动;软盘安装也是如此。无论哪种方式,一旦笔记本电脑启动 Debian 映像,您将看到一个启动提示符。按 Enter 键开始安装,或按不同的选项开始救援。救援功能对于从搞砸的内核安装中恢复很有用。像往常一样,如果感到困惑,请按 F1 寻求帮助。我们需要安装,因此如果从 CD-ROM 启动,请按 Enter 键并启动蓝色文本安装程序;如果您使用的是软盘,系统会提示您插入下一张磁盘。Debian 安装分为几个步骤。如果您选择,您可以在步骤之间跳转。为了简化事情,我在下面概述了步骤的基本顺序和语法。
配置键盘
这是任何操作系统安装的第一步;除非您另有了解,否则请使用 QWERTY。
分区硬盘
这可能是 Linux/UNIX 用户之间的一个热点问题。这是我对如何分区笔记本电脑或台式机(而不是服务器)的建议。HDA1 应该是交换分区,其大小应该是您内存的两倍。HDA2 应该是根分区,并占用驱动器的剩余空间。在此步骤中,使用 cfdisk 实用程序设置分区。关键提示:不要忘记使您的根分区可启动,不要忘记将您的交换分区类型更改为交换分区,并且不要忘记将您的更改写入磁盘。
初始化并激活交换分区
选择您在上一步中设置为交换分区的分区,并验证您的选择。
初始化 Linux 分区
选择您设置为根分区的分区,并验证您的选择。如果您创建了多个分区(交换分区除外),请逐步重复此步骤以启用每个分区。
安装内核和驱动程序模块
选择与您从中启动的介质类型相同的介质类型。这是 CD-ROM 用户进步得更快的地方,因为软盘用户必须插入最多五张软盘。
如果您正在进行 PCMCIA 设备安装,现在是使用备用选择的时候了;转到配置 PCMCIA 支持。如果您不进行 PCMCIA 设备安装,请继续配置设备驱动程序模块。
您可以在此处指定内核在启动时加载哪些外部模块。根据您的网卡,您可能必须为其加载模块。不要担心为不确定的设备加载模块。如果安装程序无法找到您的硬件,它会立即通知您。
配置网络
这可能是所有步骤中最重要的一步。仅当您的内核检测到网络设备或您加载了适当的模块时,此选项才可用。浏览菜单并填写您的 TCP/IP 信息。
我喜欢在开始访问任何网络连接之前执行的一个技巧是通过按住 Alt+Ctrl+F2 退出安装程序。这会将您带到一个新的控制台会话,您可以在其中尝试 ping 外部地址。这是在开始基于网络的安装之前验证您的 TCP/IP 设置的好方法。这也是修复您可能发现的任何 TCP/IP 问题的便捷场所。从这里,您不仅可以访问配置文件(例如 resolv.conf),还可以运行命令(例如 ifconfig)。一旦您确信网络配置运行正常,请按 Alt+Ctrl+F1 继续安装。
安装基本系统
是时候开始使用高速互联网连接了。选择“网络”以从Debian.org上的最新稳定软件包开始基本 Linux 安装。进度条指示下载进度。
使系统可启动
此步骤询问您希望将 LILO 安装在哪里。除非您有特殊的想法,否则默认选项是最佳选择。如果您的笔记本电脑以前有另一个操作系统,并且没有完全删除其所有系统记录,系统可能会提示您将以前的操作系统与 Debian 一起放入启动菜单中。这非常令人困惑,尤其是在您在安装早期重写了 Inode 表之后。当提示您选择此项时,请选择“忽略”。
制作启动软盘
从 CD-ROM 安装的用户可以忽略此步骤,因为他们可能没有软盘驱动器来格式化启动软盘。软盘用户可以选择此选项将内核的紧急恢复副本放到软盘上。我跳过它是因为我可以使用我用来启动安装的救援软盘进行恢复。
重启系统
这里没什么可说的。如果您按照说明操作会更好。
此时,系统使用新安装的 2.2.20 内核重新启动。重新启动完成后,它会启动您最喜欢的蓝色文本安装程序。首先会询问您一些有关日期和时区的问题,然后是一些安全问题。如果您不确定如何回答,请使用默认值。最后,它会询问一些基本的密码和用户创建问题,然后返回到基于主题的安装过程。
是否删除 PCMCIA 软件包?
如果您不使用任何 PCMCIA 设备,请删除这些软件包。如果以后需要,可以轻松添加它们。
您是否要使用 PPP 连接来安装系统?
通过 56k 调制解调器进行完整的 Linux 安装并非不可能。就我个人而言,我没有耐心,我知道很多人也有同感。如果您不打算这样做,请选择“否”。
选择 apt 应该使用哪种方法来访问 Debian 存档
这就是事情变得棘手的地方。如果您要设置 Woody 系统,现在是您配置 apt 源并运行 tasksel 的时候了。但是因为我们正在设置 Sid 系统,所以这是我们开始更改事物的时候。当被问到这个问题时,选择“取消”。然后系统会询问您是否运行 tasksel 或 dselect;选择“否”。这会停止安装。然后系统会询问您几个软件包配置问题,然后您将被放置到登录提示符处。
使用 root 和您之前指定的密码登录。您需要编辑 /etc/apt/sources 以指向 Sid 的基于互联网的源。它应包含以下行
deb http://ftp.us.Debian.org/Debian/ sid main contrib deb-src http://ftp.us.Debian.org/Debian/ sid main contrib deb http://non-us.Debian.org/Debian-non-US sid/non-US main contrib deb-src http://non-us.Debian.org/Debian-non-US sid/non-US main contrib
现在运行 apt-get update,然后运行 apt-get dist-upgrade。
我们刚刚配置 apt 以仅使用 Sid 软件包存储库。然后我们将系统的潜在软件包列表更新为 Sid 的列表。最后,我们启动了 apt-get dist-upgrade 命令以开始从 Woody 升级到 Sid。此过程可能需要一些时间才能完成。它本质上是更新我们在 Woody 安装的“安装基本系统”部分中早期下载的所有软件包,因此预计下载时间相似。完成后,系统会要求您配置各种软件包。像往常一样,如果您感到困惑,请使用默认值。配置完所有新软件包后,您将返回到系统提示符;重新启动系统。当它重新启动时,您应该在标题中看到“Debian GNU/Linux testing/unstable”。欢迎来到 Sid。
现在您已经建立了一个基本的骨架系统,是时候安装一些软件包,以便您可以使这台笔记本电脑有用。开始此操作的最简单方法是使用 tasksel。您可以使用 tasksel 启动 tasksel,它会向您展示许多不同的软件包集。我为非服务器系统安装的标准软件包集是 X Window 系统、C、C++ 和 Tcl/Tk。如果 tasksel 拒绝打开,请运行 dselect update,这将更新您的可用软件包集。
下载完成后,系统会要求您提供配置下载的软件包所需的信息。最重要的问题是关于您的 X 文件的配置。完成软件包配置后,重新启动。如果一切顺利,当您的系统启动时,X 应该会启动。您可以开始添加软件包并根据自己的喜好进行自定义。
此时,没有必要对操作系统进行更多重大修改。但是,通过专门为您的机器编译自定义内核,可以获得许多优势。默认内核可能未启用您的笔记本电脑提供的某些功能。例如,电源管理未启用,并且无线支持不存在。对于那些想要完全根据笔记本电脑定制操作系统的用户来说,自定义内核至关重要。
对于 Linux 新手来说,内核似乎是黑魔法,是驱动计算机的某种神秘力量。实际上,操作内核一点也不难。许多实用程序可以帮助您,并且有大量文档可用。话虽如此,您可以使用搞砸的内核安装严重损害您的操作系统。如果它无法启动(这是最坏的情况),唯一使其恢复的方法是从备用介质恢复。如果您不熟悉如何从软盘或 CD-ROM 恢复,请不要按照我的步骤编译自定义内核。我不希望对因错误的内核编译而浪费数小时的操作系统安装时间负责。
在免责声明之后,我们可以开始内核编译。您首先需要下载两个软件包,因此运行 apt-get install kernel-package,然后运行 apt-get install libncurses5-dev。
现在您需要决定要构建哪个版本的内核。您可以访问 www.kernel.org 并随意选择。在这里,我们将构建 2.4.20。您可以使用 apt-get install kernel-source-2.4.20 下载它。
完成后,将目录更改为 /usr/src。接下来,您需要使用 ln -s kernel-source-2.4.20 linux 将内核版本目录链接到 Linux。现在,将目录更改为 Linux,并运行 make menuconfig。这将向您显示一个基于文本的菜单,您可以在其中切换内核参数。如果您不确定某些内容的含义,甚至可以使用帮助菜单来获得帮助。要成功完成此步骤,您必须了解组成笔记本电脑的复杂组件。许多内核参数非常具体。准备好了解细微的细节,例如,您的笔记本电脑具有哪个 AGP 控制器、声卡芯片组、显卡芯片组、USB 控制器或 ATA 总线适配器。
这些是我为我的 IBM Thinkpad R32 设置的参数
可加载模块支持
启用可加载模块支持
在所有模块符号上设置版本信息
内核模块加载器
处理器类型和功能
(奔腾 4) 处理器系列
机器检查异常
/dev/cpu/microcode - Intel IA32 CPU 微码支持
/dev/cpu/*/msr - 特定于型号的寄存器支持
/dev/cpu/*/cpuid - CPU 信息支持
(关闭) 高内存支持
MTRR(内存类型范围寄存器)支持
常规设置
网络支持
PCI 支持
(任何) PCI 访问模式
ISA 总线支持
PCI 设备名称数据库
热插拔设备支持
PCMCIA/CardBus 支持
PCMCIA/CardBus 支持
CardBus 支持
System V IPC
BSD 进程记帐
Sysctl 支持
内核核心 (/proc/kcore) 格式
内核对 a.out 二进制文件的支持
内核对 ELF 二进制文件的支持
内核对 MISC 二进制文件的支持
电源管理支持
高级电源管理 BIOS 支持
即插即用配置
即插即用支持
网络选项
数据包套接字
UNIX 域套接字
TCP/IP 网络
ATA/IDE/MFM/RLL 支持
ATA/IDE/MFM/RLL 支持
IDE、ATA 和 ATAPI 块设备
增强型 IDE/MFM/RLL 磁盘/cdrom/磁带/软盘支持
包括 IDE/ATA-2 磁盘支持
SCSI 仿真支持
通用 PCI IDE 芯片组支持
共享 PCI IDE 中断支持
通用 PCI 总线主控 DMA 支持
在可用时默认使用 PCI DMA
Intel PIIXn 芯片组支持
PIIXn 调优支持
SCSI 支持
SCSI 支持
SCSI CD-ROM 支持
(2) 可以作为模块加载的最大 CDROM 设备数量
SCSI 通用支持
在新排队代码中启用额外检查
探测每个 SCSI 设备上的所有 LUN
网络设备支持
虚拟网卡驱动程序支持
以太网 (10 或 100Mbit)
以太网 (10 或 100Mbit)
EISA、VLB、PCI 和板载控制器
EtherExpressPro/100 支持 (eepro100,原始 Becker 驱动程序)
无线 LAN (非业余无线电)
Hermes 芯片组 802.11b 支持 (Orinoco/Prism2/Symbol)
Hermes PCMCIA 卡支持
输入核心支持
输入核心支持
键盘支持
鼠标支持
(1024) 水平屏幕分辨率
(768) 垂直屏幕分辨率
字符设备
虚拟终端
虚拟终端上的控制台支持
标准/通用 (8250/16550 和兼容 UART) 串行支持
Unix98 PTY 支持
(256) 正在使用的 Unix98 PTY 的最大数量 (0-2048)
鼠标
鼠标支持 (非串行和总线鼠标)
PS/2 鼠标 (又名“辅助设备”) 支持
Intel i8x0 随机数生成器支持
/dev/nvram 支持
增强型实时时钟支持
/dev/agpgart (AGP 支持)
Intel 440LX/BX/GX 和 I815/I820/I830M/I830MP/I840/I845/I850/I860
直接渲染管理器 (XFree86 DRI 支持)
ATI Radeon
文件系统
内核自动挂载器版本 4 支持 (也支持 v3)
虚拟内存文件系统支持 (以前的 shm fs)
ISO 9660 CDROM 文件系统支持
/proc 文件系统支持
/dev/pts 用于 Unix98 PTY 的文件系统
第二扩展文件系统支持
控制台驱动程序
VGA 文本控制台
视频模式选择支持
声音
声卡支持
USB 支持
USB 支持
初步 USB 设备文件系统
UHCI 备用驱动程序 (JE) 支持
USB 人机接口设备 (完整 HID) 支持
在您完成了选择您喜欢的参数的漫长过程之后,有几种不同的方法可以编译内核。一种方法是运行 make-kpkg clean,然后运行 make-kpkg --revision yourname.1 kernel_image。这使用了 make-kpkg 实用程序,这是一个 Debian 工具,用于帮助您编译内核。它编译内核和所有相关的模块,并将它们放在内核源代码下方的一个目录中的 .deb 软件包中。在您构建软件包后,您可以使用 dpkg 实用程序安装它。我喜欢这种方法,因为它很容易保留多个内核编译版本。特别是如果您正在排除问题,您最新的编译版本可能不是最好的。如果您遇到问题,您只需安装一个较旧、更成功的版本即可。
make-kpkg 方法取代了更标准的六步方法,即
make dep make make bzImage make modules make install make modules_install
两种技术都有效,但如果您尝试在非 Debian 系统上重新编译内核,您将无法使用 make-kpkg 实用程序。
在您编译并安装了新内核之后,重新启动以查看其工作情况。如果您在这里和那里遇到一些随机错误,请不要担心。您始终可以追查这些错误。您主要担心的是您是否获得有效的提示符,并且系统是否在多用户模式下启动。如果系统完全启动,您就跨越了第一个大障碍。您可以运行 uname -a 来验证您确实正在运行最新的内核。
电子邮件:jay@docherty.com