linux内核的编译
1. 要怎麽进行核心的配置?
1.1. 取得原始程序码 你可以经由 ftp 从 ftp.funet.fi 或是 mirror in /pub/OS/Linux/PEOPLE/Linus 取 得原始程序码。也可以到这个节点的 mirror 或其他节点去拿。档案名称一般是以标记 成 linux-x.x.x.tar.gz 为代表,其中的 x.x.x 是版本编号。较新的(更好的?)版 本以及修补档一般是放在类似”v1.1 ”以及”v1.2”这样的子目录下。 强烈建议你去找 mirror 的 ftp 节点,而不要直接到 ftp.funet.fi 去!底下是一些 mirrors 以及其他节点的简要列表 ( ftp.funet.fi 的 mirror 节点:) Germany: ftp.Germany.EU.net UK: doc.ic.ac.uk Australia: kirk.bu.oz.au ( 其它有摆放核心档案的节点:) USA: tsx-11.mit.edu USA: sunsite.unc.edu Germany: ftp.dfv.rwth-aachen.de 如果你没有办法上 ftp ,有个存放 linux 的 BBS 系统列表会定期刊登在 comp.os.linux.announce 上,试著到那边去找点帮助。 1.2. 解开原始程序码的包装 确定你是以″ root ″的身份签入,然後 cd 到 /usr/src 。如果你的 linux 是从其 它任何可能的地方取得的,在这个目录底下应该已经存在一个叫做” linux ”的子目 录。这是旧版的 linux 原始程序码。如果你还有磁碟空间而且想要玩得安全一点,那 麽你会想要保留这个子目录的。有个好主意是根据你目前使用的核心版本来修改这个子 目录的名称。″ uname -r ″这个指令将会告诉你新的版本。 所以,如果″ uname -r ″显示″ 1.1.47,″你就可以把″ linux ″改名为 ″ Linux-1.1.47 。″如果你是个鲁莽型的人,那就直接把这个子目录清除掉。无论是 哪一种情况,反正只要确定在解开全部的原始程序码之前, /usr/src 目录下没有 ”linux ”这个子目录就对了。 在 /usr/src 目录下,用″zcat linux.x.x.tar.gz | tar xvf- ″来解开原始程序码 的包装(你也可以用更简单的″ tar zxvf linux.x.x.x.tar.gz″;如果你拿到的是 ..tar 的档案(後面没有加上 gz ),那就用” tar xvf linux.x.x.x.tar ”)。你 将会看到原始程序的内容飞逝而过。当它完成以後,将会出现一个新的″ linux ”子 目录。 ″ cd ″到 linux 目录下然後查看 README 档,里面应该会有一段标题为 ″INSTALLING the kernel″ 或类似的文字。如果适当的话,先执行说明里的指示 — 建立该有的符号链结,移除过时的 .o 档案等等等诸如此类的工作。 1.3. 配置核心 注意:这部份内容有些是重覆 Linus 的 README 档案中的相应章节或加以修订。 在 /usr/src/linux 下执行″ make config ″ 这个命令将会启始一个指令稿,而这个 指令稿会问你各种问题。它需要 bash ,所以要确定 bash 是 /bin/bash,/bin/sh 或 $BASH 。 你现在该准备好回答这些问题,通常用″ y ″或″ n ″就可以了。有一些很明显或是 不重要的选项将不会在此加以说明。 1.3.1. Kernel math emulation (核心的浮点运算模拟) 如果你没有数学辅助运算处理机(ie,你只有一台单纯的 386 或 486SX ),那麽你在 这里要回答″ y ″。如果你已经有数学辅助运算处理机却还回答″ y ″,那也不必太 担心 — linux 还是会去使用它而忽略掉核心的模拟程序。唯一的影响是编译出来的核 心变大了。 1.3.2. Normal harddisk support (标准硬碟支援) 你在这里差不多都得回答″ y ″。它代表的意思是核心将会支援标准的 PC 磁碟,例 如大多数人使用的 IDE 界面硬碟。这不包括 SCSI 设备的支援。 1.3.3. Networking support (网络支援) 如果你有连接网络,譬如说,你与 internet 有连线,或是你将使用 SLIP,PPP,term 或其它方式拨接到 internet 上的话,回答″ y 。″ 1.3.4. Limit memory to low 16MB (限制记忆体在 16 MB) 如果你的记忆体不到 16 MB,几乎一定要回答″ y ″;那麽当你使用这个核心的时候 将会节省一点记忆体。但是,当然罗,如果你有 16 MB 以上的记忆体而不回答″ n ″ 的话,这个新的核心将只使用其中的 16 MB ,即使你有 34 billion megs 也一样。 也可能会有一些不良的 386 DMA controllers(或是一些与硬件有关的东西)无法正确 地定址到 16 megs 以上的记忆体位址;你的机器刚好有这种情况时(罕见),那麽你 也就只好回答″ y ″了。 1.3.5. Use -m486 flag for 486-specific optimizations (使用 -m486 旗标指定对 486 做最佳化) 上一篇:Linux简明系统维护手册(二) 下一篇:Linux简明系统维护手册(三) 更多相关文章
|
推荐文章
精彩文章
|