分享
 
 
 

FreeBSD kernel 编译大法(二)kernel内容编译

王朝system·作者佚名  2006-11-23
窄屏简体版  字體: |||超大  

说明

第一部份: 开始到options设定之前

第二部份: 大部分的options 设定(除了SMP之外)

第三部份: SMP、软碟、主机板及IDE介面 设定

第四部份: SCSI装置 设定

第五部份: RAID、滑鼠、键盘、显示卡、电源管理、浮点运算、console 设定

第六部份: PCMICA、COM port、平行埠 设定

第七部份: PCI 及ISA 网卡 设定

第八部份: 虚拟装置、封包过滤器、USB的装置 设定

----------------------------------------------------------------------------

[第一部份] 开始到options设定之前

----------------------------------------------------------------------------

machine i386

// 机器的内部结构,除了i386 还有 alpha 及pc98我们现今看到的多是i386

#cpu I386_CPU

#cpu I486_CPU

#cpu I586_CPU

cpu I686_CPU

// CPU的型态...若您不知道您的CPU型态为何.. >_<

it's ok ...FreeBSD will help you ...^^

用 dmesg | more 指令(此指令显示开机资讯),可以看到您的CPU型态

这是我从dmesg中看到的讯息....

CPU:Pentium II / Pentium II Xeon / Celeron (350.80-MHz 686-class CPU)

所以我将其他的3个型态#掉,只留下I686_CPU

ident OHAHA

// kernel的识别,通常我们用host name的大写..所以我的是OHAHA

maxusers 64

// 这个数值大约等於你希望同时能够登入机器的人数

在正常的情况下,如果您要跑X-Window的话,最小值是4

正确的说,此代表process的最大值有关maximum=20+16*maxusers

正常来说,用64已经足够

// 注意:maxusers不是能够login的限制。

----------------------------------------------------------------------------

[第二部份]大部分的options 设定(除了SMP之外)

----------------------------------------------------------------------------

#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols

#options MATH_EMULATE #Support for x87 emulation

// 模拟数学浮点运算器 除非您的机器是386或486SX之前的型号,不然您可以将此行 # 掉

因为FreeBSD在这方面的模拟并不很精确,若您要求精确度的话..

将 MATH_EMULATE 改成 GPL_MATH_EMULATION 改用GNU 的模拟数学浮点运算器

options INET #InterNETworking-

// Networking support ,即使您没有打算要连上网路也请保留,因为有些程式会用到loop

#options INET6 #IPv6 communications protocols

// IPv6 的通讯协定 (因为尚未启用所以disable)

options FFS #Berkeley Fast Filesystem

options FFS_ROOT #FFS usable as root device [keep this!]

// 以上两项,是基本的硬碟档案系统。若您要用硬碟开机...keep this !!

options MFS #Memory Filesystem

options MD_ROOT #MD is a potential root device

// memory-mapped档案系统,如果您有很大的swap空间,您想要好好的利用的话...keep this

如果要使用的话,通常我们会将他挂在(mount)在/tmp 这个地方,

因为这里有许多程式将暂存资料存放在此。

要如此的话...请在/etc/fstab中的swap部分加入(或者说更新):

# Device Mountpoint FStype Options Dump Pass#

/dev/ad0s1b /tmp mfs rw 0 0

options NFS #Network Filesystem

options NFS_ROOT #NFS usable as root device, NFS required

// 网路档案系统,除非您想经由TCP/IP的方式,将UNIX的系统分割区挂上,否则 # 掉

因为本网站之後有讲到NFS方面...所以留着...^^

options MSDOSFS #MSDOS Filesystem

// MSDOS档案系统,除非您要在开机时就挂上此分割区,否则您可以 # 掉

options CD9660 #ISO 9660 Filesystem

options CD9660_ROOT #CD-ROM usable as root, CD9660 required

// ISO9660档案系统,若您没有光碟机,或者不常mount光碟机,则可以 # 掉

options PROCFS #Process filesystem

// the process 档案系统,为假想的档案系统,挂(mount)在/proc,

此允许 ps 指令显示process的资讯

options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]

// 与4.3BSD的相容性[keep this!]

options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI

// 使kernel暂停15秒,去搜寻您机器上的SCSI装置。

这个您应该看过吧...就是开机时令你觉得很烦很慢的那个...

您可以将此数值减少..以加快开机速度。

options UCONSOLE #Allow users to grab the console

// 让您能够抓取console的画面...这个对 X 的使用者比较有用...

options USERCONFIG #boot -c editor

// 允许您从开机选单中启动组态编辑器(configuration editor) 几乎用不到

options VISUAL_USERCONFIG #visual boot -c editor

// 同上...只不过是视觉化的...几乎用不到

options KTRACE #ktrace(1) support

// 启动kernel process tracing(追踪系统程序),在debug时很有用...一般人还是用不到...@@"

options SYSVSHM #SYSV-style shared memory

// 此选项提供给System V 型态的shared memory ...,最常用此选项功能的是 X 中的XSHM

若您要使用 X 请务必加上,此外许多有关图形的程式也会因此选项功能而加速。

又者...big5con(中文console)也需要此选项。

options SYSVSEM #SYSV-style semaphores

// 支援System V 的信号(semsphores),只占用少量的kernel大小

options SYSVMSG #SYSV-style message queues

// 支援System V 的讯息(messages),只占用少量的kernel大小,BBS会用到此选项功能。

// 通常我们会将以上三种全部加上.....-__-||

options P1003_1B #Posix P1003_1B real-time extensions

options _KPOSIX_PRIORITY_SCHEDULING

// Real-time extensions added in the POSIX,某些应用程式会用到(star office)。

options ICMP_BANDLIM #Rate limit bad replies

// 启动反应频宽限制的ICMP error,对於帮助拒绝packet攻击有所助益。

----------------------------------------------------------------------------

[第三部份] SMP、软碟、主机板及IDE介面 设定

----------------------------------------------------------------------------

# To make an SMP kernel, the next two are needed

// 多CPU的支援 ....

#options SMP# Symmetric MultiProcessor Kernel

#options APIC_IO # Symmetric (APIC) I/O

// 新版本的只要将此两项打开,系统会自动抓到...^^

device isa

// 每个被FreeBSD支援的PC都有这一个....

device eisa

// 若您有EISA的主机板..加上它,会自动侦测及设定所有EISA装置

device pci

// 若您有PCI的主机板..加上它,会自动侦测PCI的卡,及在PCI及ISA介面做一区隔

# Floppy drives

// 软碟

device fdc0 at isa? port IO_FD1 irq 6 drq 2

device fd0 at fdc0 drive 0

#device fd1 at fdc0 drive 1

// 软碟的控制卡,fd0是A:,fd1是B:(因为我没有第二个软碟机,所以 # 掉fd1)

# ATA and ATAPI devices

device ata0 at isa? port IO_WD1 irq 14

device ata1 at isa? port IO_WD2 irq 15

// 以上这两个,是给那些没有PCI的系统使用

device ata

// kernel侦测PCI/ATA/ATAPI的选项

device atadisk # ATA disk drives

// IDE介面的硬碟机

device atapicd # ATAPI CDROM drives

// IDE介面的光碟机

#device atapifd # ATAPI floppy drives

// IDE介面的软碟机 (我没有..所以 # 掉)

#device atapist # ATAPI tape drives

// IDE介面的磁带机 (这....我更没有...所以 # 掉)

options ATA_STATIC_ID #Static device numbering

// 让控制卡的数值固定,否则,则使用动态产生

options ATA_ENABLE_ATAPI_DMA #Enable DMA on ATAPI devices

// 启动DMA(动态记忆体存取),预设是#掉..因大多数硬碟都支援,所以我将#拿掉

----------------------------------------------------------------------------

[第四部份] SCSI装置 设定

----------------------------------------------------------------------------

# SCSI Controllers

#device ahb # EISA AHA1742 family

#device ahc # AHA2940 and onboard AIC7xxx devices

#device amd # AMD 53C974 (Teckram DC-390(T))

#device isp # Qlogic family

#device ncr # NCR/Symbios Logic

#device sym # NCR/Symbios Logic (newer chipsets)

#options SYM_SETUP_LP_PROBE_MAP=0x40

# Allow ncr to attach legacy NCR devices when

# both sym and ncr are configured

#device adv0 at isa?

#device adw

#device bt0 at isa?

#device aha0 at isa?

#device aic0 at isa?

// SCSI控制卡...#掉你没有的装置,若您像我只有IDE介面,您可以#掉以上。

请参照 LINT 说明...找找您的卡是属於哪一种...

# SCSI peripherals

#device scbus # SCSI bus (required)

// 若您有SCSI介面...please keep this ...

#device da # Direct Access (disks)

// SCSI硬碟机

#device sa # Sequential Access (tape etc)

// SCSI磁带机

#device cd # CD

// SCSI光碟机

#device pass # Passthrough device (direct SCSI access)

// SCSI周边装置...#掉你没有的装置,若您像我只有IDE介面,您可以#掉以上。

同样若您有疑问,请参照 LINT 说明

----------------------------------------------------------------------------

[第五部份] RAID、滑鼠、键盘、显示卡、电源管理、浮点运算、console 设定

----------------------------------------------------------------------------

# RAID controllers interfaced to the SCSI subsystem

#device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID

#device dpt # DPT Smartcache - See LINT for options!

// 多磁碟阵列接SCSI控制卡

请参照 LINT 说明...找找您的卡是属於哪一种...(我很穷..所以这..更不用说了..# 掉吧)

# RAID controllers

#device ida # Compaq Smart RAID

#device amr # AMI MegaRAID

#device mlx # Mylex DAC960 family

#device twe # 3ware Escalade

// 多磁碟阵列卡

请参照 LINT 说明...找找您的卡是属於哪一种...(我很穷..所以这..更不用说了..# 掉吧)

# atkbdc0 controls both the keyboard and the PS/2 mouse

device atkbdc0 at isa? port IO_KBD

// AT及PS/2的装置

这个被atkbd及psm所需要...也就是有atkbd就要有atkbdc0,psm亦然

device atkbd0 at atkbdc? irq 1 flags 0x1

// AT 84 键盘

device psm0 at atkbdc? irq 12

// PS/2的滑鼠

device vga0 at isa?

// 显示卡驱动程式

# splash screen/screen saver

pseudo-device splash

// 引人注目的启动萤幕(like microsoft windows),以及萤幕保护程式。

# syscons is the default console driver, resembling an SCO console

device sc0 at isa? flags 0x100

// FreeBSD预设的console驱动程式,类似SCO console ...

# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver

#device vt0 at isa?

#options XSERVER # support for X server on a vt console

#options FAT_CURSOR # start with block cursor

# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines

#options PCVT_SCANSET=2 # IBM keyboards are non-std

// VT220相容的console驱动程式,与VT100/102相容。

当您无法使用sc0时使用之(某些笔记型电脑),

在任何平台上VT100都可以执行。不过较少人使用... export TERM=vt100

# Floating point support - do not disable.

device npx0 at nexus? port IO_NPX irq 13

// npx0是FreeBSD上的数学浮点运算单位,包括实体的或是软体模拟的

# Power management support (see LINT for more options)

#device apm0 at nexus? disable flags 0x20 # Advanced Power Management

// 支援进阶的电源管理,对笔记型电脑很有助益。

----------------------------------------------------------------------------

[第六部份]PCMICA、COM port、平行埠 设定

----------------------------------------------------------------------------

# PCCARD (PCMCIA) support

#device card

#device pcic0 at isa? irq 0 port 0x3e0 iomem 0xd0000

#device pcic1 at isa? irq 0 port 0x3e2 iomem 0xd4000 disable

// PCMCIA支援...针对於笔记型电脑

# Serial (COM) ports

device sio0 at isa? port IO_COM1 flags 0x10 irq 4

device sio1 at isa? port IO_COM2 irq 3

#device sio2 at isa? disable port IO_COM3 irq 5

#device sio3 at isa? disable port IO_COM4 irq 9

// COM1~COM4,预设COM3、COM4不会用到所以#掉

#

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有