首先对内核构建目录做一个快速的浏览。 这里所提到的所有目录都在 /usr/src/sys 目录中; 也可以通过 /sys 来访问它。 这里的众多子目录包含了内核的不同部分, 但对我们所要完成的任务最重要的目录是 arch/conf,您将在这里编辑定制的内核配置; 以及 compile,编译过程中的文件将放置在这里。 arch 表示 i386、 alpha、 amd64、 ia64、 powerpc、 sparc64, 或 pc98 (在日本比较流行的另一种 PC 硬件开发分支)。在特定硬件架构目录中的文件只和特定的硬件有关; 而其余代码则是与机器无关的,则所有已经或将要移植并运行 FreeBSD 的平台上都共享这些代码。 文件目录是按照逻辑组织的,所支持的硬件设备、 文件系统, 以及可选的组件通常都在它们自己的目录中。
这一章提供的例子假定您使用 i386 架构的计算机。 如果您的情况不是这样,只需对目录名作相应的调整即可。
注意: 如果您的系统中 没有 /usr/src/sys 这样一个目录, 则说明没有安装内核源代码。安装它最简单的方法是通过以 root 身份运行 sysinstall, 选择 Configure, 然后 Distributions, 然后 src, sys。 如果您不喜欢 sysinstall 并且可以使用 “官方的” FreeBSD CDROM, 则也可以通过命令行来安装:
# mount /cdrom
# mkdir -p /usr/src/sys
# ln -s /usr/src/sys /sys
# cat /cdrom/src/ssys.[a-d]* | tar -xzvf -
接下来, 进入 arch/conf 目录下面, 复制 GENERIC 配置文件, 并给这个文件起一个容易辨认的名称,它就是您的内核名称。例如:
# cd /usr/src/sys/i386/conf
# cp GENERIC MYKERNEL
通常,这个名称是大写的,如果您正维护着多台不同硬件的FreeBSD机器,以您机器的域名来命名是非常好的主意。我们把它命名为MYKERNEL就是这个原因。
提示: 将您的内核配置文件直接保存在 /usr/src 可能不是一个好主意。 如果您遇到问题, 删掉 /usr/src 并重新开始很可能是一个诱人的选择。 一旦开始做这件事,您可能几秒钟之后才会意识到您同时会删除定制的内核配置文件。 另外, 也不要直接编辑 GENERIC, 因为下次您 更新代码 时它会被覆盖, 而您的修改也就随之丢失了。
您也可以考虑把内核配置文件放到别的地方, 然后再到 i386 目录中创建一个指向它的符号链接。
例如:
# cd /usr/src/sys/i386/conf
# mkdir /root/kernels
# cp GENERIC /root/kernels/MYKERNEL
# ln -s /root/kernels/MYKERNEL
注意: 必须以 root 身份执行这些和接下来命令,否则就会得到 permission denied 的错误提示。
现在就可以用您喜欢的文本编辑器来编辑 MYKERNEL 了。如果您刚刚开始使用 FreeBSD, 唯一可用的编辑器很可能是 vi,它的使用比较复杂, 限于篇幅, 这里不予介绍, 您可以在 参考书目 一章中找到很多相关书籍。 不过, FreeBSD 也提供了一个更好用的编辑器, 它叫做 ee, 对于新手来说,这很可能是一个不错的选择。 您可以修改配置文件中的注释以反映您的配置, 或其他与 GENERIC 不同的地方。
如果您在SunOS™或者其他BSD系统下定制过内核,那这个文件中的绝大部分将对您非常熟悉。如果您使用的是诸如DOS这样的系统,那GENERIC配置文件看起来就非常困难, 所以在下面的 配置文件章节将慢慢地、仔细地进行介绍。
注意: 如果您和 FreeBSD project 进行了 代码同步, 则一定要在进行任何更新之前查看 /usr/src/UPDATING。这个文件中描述了更新过的代码中出现的重大问题或需要注意的地方。 /usr/src/UPDATING 总是和您的 FreeBSD 源代码对应,因此能够提供比手册更具时效性的新内容。
现在应该编译内核的源代码了。 一共有两种方法来完成这项工作,使用哪一种取决于您为什么要重新编译内核, 以及所运行的 FreeBSD 版本。
如果您只安装内核源代码,使用方法1。
如果您在没有升级源代码的情况下编译一个新内核(也许您只想为内核添加一个新的选项, 如IPFIREWALL),可以使用任何一种方法。
如果您打算把重新构建内核作为 make buildworld 过程的一部分来进行, 则应使用方法 2。
如果从上次成功地完成 buildworld-installworld 以来您还 没有 升级过代码 (也就是没有运行 CVSup、 CTM, 或使用 anoncvs), 则可以放心使用 config、 make depend、 make、 make install。
联编内核
进入 /usr/src 目录:
# cd /usr/src
编译内核:
# make buildkernel KERNCONF=MYKERNEL
安装新内核:
# make installkernel KERNCONF=MYKERNEL
注意: 使用这种方法联编内核时, 需要安装完整的 FreeBSD 源代码。
提示: 默认情况下, 在联编您所定制的内核时, 全部 内核模块也会同时参与构建。 如果您希望更快地升级内核,或者只希望联编您所需要的模块, 则应在联编之前编辑 /etc/make.conf:
MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs
这个变量的内容是所希望构建的模块列表。 如果希望了解更多与构建内核有关的变量, 请参见 make.conf(5) 联机手册。
新内核将会被复制到 /boot/kernel 目录中成为 /boot/kernel/kernel 而旧的则被移到 /boot/kernel.old/kernel。 现在关闭系统, 然后用新的内核启动计算机。如果出现问题, 后面的一些 故障排除方法 将帮您摆脱困境。 如果您的内核 无法启动, 请参考那一节。
注意: 其他与启动过程相关的文件, 如 loader(8) 及其配置,则放在 /boot。 第三方或定制的模块也可以放在 /boot/kernel, 不过应该注意保持模块和内核的同步时很重要的,否则会导致不稳定和错误。
这一章提供的例子假定您使用 i386 架构的计算机。 如果您的情况不是这样,只需对目录名作相应的调整即可。
注意: 如果您的系统中 没有 /usr/src/sys 这样一个目录, 则说明没有安装内核源代码。安装它最简单的方法是通过以 root 身份运行 sysinstall, 选择 Configure, 然后 Distributions, 然后 src, sys。 如果您不喜欢 sysinstall 并且可以使用 “官方的” FreeBSD CDROM, 则也可以通过命令行来安装:
# mount /cdrom
# mkdir -p /usr/src/sys
# ln -s /usr/src/sys /sys
# cat /cdrom/src/ssys.[a-d]* | tar -xzvf -
接下来, 进入 arch/conf 目录下面, 复制 GENERIC 配置文件, 并给这个文件起一个容易辨认的名称,它就是您的内核名称。例如:
# cd /usr/src/sys/i386/conf
# cp GENERIC MYKERNEL
通常,这个名称是大写的,如果您正维护着多台不同硬件的FreeBSD机器,以您机器的域名来命名是非常好的主意。我们把它命名为MYKERNEL就是这个原因。
提示: 将您的内核配置文件直接保存在 /usr/src 可能不是一个好主意。 如果您遇到问题, 删掉 /usr/src 并重新开始很可能是一个诱人的选择。 一旦开始做这件事,您可能几秒钟之后才会意识到您同时会删除定制的内核配置文件。 另外, 也不要直接编辑 GENERIC, 因为下次您 更新代码 时它会被覆盖, 而您的修改也就随之丢失了。
您也可以考虑把内核配置文件放到别的地方, 然后再到 i386 目录中创建一个指向它的符号链接。
例如:
# cd /usr/src/sys/i386/conf
# mkdir /root/kernels
# cp GENERIC /root/kernels/MYKERNEL
# ln -s /root/kernels/MYKERNEL
注意: 必须以 root 身份执行这些和接下来命令,否则就会得到 permission denied 的错误提示。
现在就可以用您喜欢的文本编辑器来编辑 MYKERNEL 了。如果您刚刚开始使用 FreeBSD, 唯一可用的编辑器很可能是 vi,它的使用比较复杂, 限于篇幅, 这里不予介绍, 您可以在 参考书目 一章中找到很多相关书籍。 不过, FreeBSD 也提供了一个更好用的编辑器, 它叫做 ee, 对于新手来说,这很可能是一个不错的选择。 您可以修改配置文件中的注释以反映您的配置, 或其他与 GENERIC 不同的地方。
如果您在SunOS™或者其他BSD系统下定制过内核,那这个文件中的绝大部分将对您非常熟悉。如果您使用的是诸如DOS这样的系统,那GENERIC配置文件看起来就非常困难, 所以在下面的 配置文件章节将慢慢地、仔细地进行介绍。
注意: 如果您和 FreeBSD project 进行了 代码同步, 则一定要在进行任何更新之前查看 /usr/src/UPDATING。这个文件中描述了更新过的代码中出现的重大问题或需要注意的地方。 /usr/src/UPDATING 总是和您的 FreeBSD 源代码对应,因此能够提供比手册更具时效性的新内容。
现在应该编译内核的源代码了。 一共有两种方法来完成这项工作,使用哪一种取决于您为什么要重新编译内核, 以及所运行的 FreeBSD 版本。
如果您只安装内核源代码,使用方法1。
如果您在没有升级源代码的情况下编译一个新内核(也许您只想为内核添加一个新的选项, 如IPFIREWALL),可以使用任何一种方法。
如果您打算把重新构建内核作为 make buildworld 过程的一部分来进行, 则应使用方法 2。
如果从上次成功地完成 buildworld-installworld 以来您还 没有 升级过代码 (也就是没有运行 CVSup、 CTM, 或使用 anoncvs), 则可以放心使用 config、 make depend、 make、 make install。
联编内核
进入 /usr/src 目录:
# cd /usr/src
编译内核:
# make buildkernel KERNCONF=MYKERNEL
安装新内核:
# make installkernel KERNCONF=MYKERNEL
注意: 使用这种方法联编内核时, 需要安装完整的 FreeBSD 源代码。
提示: 默认情况下, 在联编您所定制的内核时, 全部 内核模块也会同时参与构建。 如果您希望更快地升级内核,或者只希望联编您所需要的模块, 则应在联编之前编辑 /etc/make.conf:
MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs
这个变量的内容是所希望构建的模块列表。 如果希望了解更多与构建内核有关的变量, 请参见 make.conf(5) 联机手册。
新内核将会被复制到 /boot/kernel 目录中成为 /boot/kernel/kernel 而旧的则被移到 /boot/kernel.old/kernel。 现在关闭系统, 然后用新的内核启动计算机。如果出现问题, 后面的一些 故障排除方法 将帮您摆脱困境。 如果您的内核 无法启动, 请参考那一节。
注意: 其他与启动过程相关的文件, 如 loader(8) 及其配置,则放在 /boot。 第三方或定制的模块也可以放在 /boot/kernel, 不过应该注意保持模块和内核的同步时很重要的,否则会导致不稳定和错误。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
2024年11月24日
2024年11月24日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]