FreeBSD内核编译详解

2009-05-13 13:39:38来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


BSD内核编译相对来说比linux的内核简单
内核文件配置好以后就能够进行内核的编译了,一般有两种编译的方式,我们采取传统的编译方式。
我们进入 /usr/src/sys/i386/conf 目录:
# cd /usr/src/sys/i386/conf
运行config命令来产生内核源代码。
# /usr/sbin/config GENERIC
切换到建立内核的目录。
# cd ../compile/GENERIC
编译内核
# make depend
# make
安装新内核。
# make install
OK,到这里,如果中间没有出现任何错误的话,那么我们的内核心就已经安装成功了,reboot后就能够使用我们的新编译的内核
升级────────────》
cvsup
mergemaster -p
make buildworld kernel installworld
mergemaster
当然,一般来说,先做mergemaster也不至于造成太严重的问题(并不总是这样)。
最后,参考UPDATING非常重要。
你可以於make 前將原kernel先備份一份,
cp /kernel /kernel.backup
然後再make新的kernel
如果make新的kernel有問題你可以於boot時可使用備份的kernel?黹_機
unload
load kernel.old
boot
然後再重新修正kernel設定檔
然后:
1.chflags noschg /kernel
2.cp /kernel.old /kernel
3.chflags schg /kernel
即可
附加:
#
# APACHE -- FreeBSD/i386内核配置文件
#
machine i386         # 体系模型为i386
cpu I386_CPU         # 支持80386
cpu I486_CPU         # 支持80486
cpu I586_CPU         # 支持Pentium
cpu I686_CPU         # 支持Pentium Pro以及更高
ident APACHE         # 内核文件的名字
maxusers 0          # 自动检测同时允许的最大用户数
#makeoptions DEBUG=-g # 包含调试符号。通常只有current版本打开
options MATH_EMULATE #支持协处理器模拟
#options GPL_MATH_EMULATE #GPL模拟更好,但仍然没必要,P III有内建协处理器
options INET     #支持互联网
options INET6     #IPv6通讯协议
options FFS      #伯克利快速文件系统
options FFS_ROOT   #FFS作为根设备[必须保留]
options SOFTUPDATES  #打开FFS soft updates支持
options UFS_DIRHASH  #提高大型目录的支持
options MFS      #内存文件系统
options MD_ROOT    #MD作为根设备
options NFS      #Network Filesystem
options NFS_ROOT   #NFS作为根设备(需要NFS)
options MSDOSFS    #MSDOS文件系统
options CD9660    #ISO 9660文件系统(光盘)
options CD9660_ROOT  #CD-ROM作为根设备(需要CD9660)
options PROCFS    #进程文件系统
options COMPAT_43   #兼容4.3BSD[必须保留]
options SCSI_DELAY=5000 #检测SCSI设备前的延时(ms)
options UCONSOLE   #用户可以夺取控制台[没有X,不用]
options USERCONFIG  #boot -c编辑器 editor
options VISUAL_USERCONFIG #菜单式boot -c编辑器
options KTRACE    #ktrace(1)支持
options SYSVSHM    #SYSV-风格的共享内存
options SYSVMSG    #SYSV-风格的消息队列
options SYSVSEM    #SYSV-风格的信号量(semaphores)
options P1003_1B   #Posix P1003_1B实时扩展
options _KPOSIX_PRIORITY_SCHEDULING
options ICMP_BANDLIM #对恶意ICMP请求进行限制[例如flood ping]

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:BSD 备忘录

下一篇:FreeBSD Configure Apache 2.2 PHP with FastCGI mod_