Chinaunix首页 | 论坛 | 博客
  • 博客访问: 150851
  • 博文数量: 37
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 395
  • 用 户 组: 普通用户
  • 注册时间: 2007-01-07 20:06
文章分类
文章存档

2011年(1)

2009年(1)

2008年(1)

2007年(34)

我的朋友

分类: BSD

2007-08-14 00:37:01

     偶很穷,没钱买电脑,为了让偶的那台旧“清华同方”上FREEBSD的内核能够再精简一点,偶本着我不入地狱,谁入地狱的想法,偶的老“清华同方”在经过一次次徘徊鬼门关,一次重装系统,一次次SYSINSTALL,一次次修改编译GENERIC(核心),一次次~~~~,终于在一次次的重装中,偶装成了“高手”,呵呵~~~高手都是“装”出来的呀!
    我们开始吧,前面的无数次失败的尝试过程就算了吧,现在想起来还真的心疼我那可爱的要命的HDD。
    他妈的,少婆婆妈妈的啦,就一只烂硬盘,坏了有什么了不起.呀!!!,LOOK !!!
这位仁兄有点不耐烦啦,请不要恶意攻击!再不开始还会有人朝我扔番茄的……………………
=======安装FREEBSD======
这个没有什么好说的就安装啦,大家尽管放心,多安装几次你就成了高手,多值呀!!!
 
=======核心(KERNEL)======
核心 (kernel) 是整个BSD操作系统的核心,系统一开机就会加载核心,它控制了整个系统的运作,包含和硬件交流、系统资源分配、内存管理、文件系统管理等等。
 
======编译核心???=======
1 所有支持的硬件、文件系统等全部放到内核中,每次有新增的硬件或功能可能都要重新编译核心,但随着支持的功能越来越多,系统内核也变得越来越大,而重新开机以加载新加入的功能也不符合你的操作系统的需求,所以要定做一个适合自己的内核。

2 核心模块 (kernel module),当系统有需要调用该模块时,才将它加载入到内核。好处是让我们更快加入硬件驱动程序,方便地加入我们想要的功能。所有的模块都可以编译放入内核中,模块直接编入内核中可以减少加载的时间,就像WINDOWS一样,所有的都在一个核心内,而动态加载可以在我们不需要该模块时,减少不心要的系统开销。例如 DVD 所使用的文件系统格式,我们平常可能很少用,所以不将它编译到内核中。在需要时,我们可以动态加载该模块,使用完毕后,再将它从内核中移除。

3 GENERIC kernel支持常见的软硬件,但 GENERIC 核心中可能有许多我们用不到的驱动程序,也可能不支持一些特殊的硬件。ee GENERIC看看,光CPU就有好几个不同的在其中,486、586、……,每一个我们不可能都会用到吧!如果内核包含太多的东西不仅会占去内存的空间,不同程序间也有可能造成冲突,所以我们编译内核对我们是很必要的,尤其像我的“清华同方”,呵呵,什么年代啦,不要笑话偶,偶说过偶很穷的!!!

4 如果你要用FREEBSD做网桥,就需要重新将支持该功能的参数加到核心中(加入options BRIDGE)。另外,如果要改变系统的效率,你必须修改核心中的参数,例如增加同时上线的人数、或最大同时开启的文件数等。当然,有的功能在 FreeBSD 中可以由 sysctl 这个指令来修改(例如以上网桥中 ee /etc/sysctl.conf 里加入
net.link.ether.bridge.enable=1
net.link.ether.bridge.config=vr0,vr1).

5 移除不必要模块,以加速开机速度。还有修补漏洞,有可能也要重新编译内核。

 ======开始 ee KERNEL======

1 同步原码

  vangeldoro# sysinstall

 依次选择 Configure -> Distribution -> src -> sys

2 修改GENERIC

  vangeldoro# cd /usr/src/sys/i386/conf  
  vangeldoro# cp GENERIC /root/vangeldoro  //改成你想要的名字
  vangeldoro# ln -s /root/vangeldoro

  vangeldoro# ee vangeldoro

  依据你的需要修改

  在你不用的前面加“#”注掉(之前建议你查查相关的资料,由于篇幅的原因,(呵呵,不怕你笑话,主要是因为我太菜,不会写)……我就不多写啦)

耍我?????

  #…………………………………………………………

  #……………………………………………………

  #……………………………………………………

3 里面有好多选项,是不是看得你头痛眼花啦呵呵~~~~~~

>1< 不过好多东西我们大可不必可理会,我们只修改我们的目的,如(我自己则是加入一行代码options BRIDGE ),我们要加入什么功能呀,加入什么硬件呀等,但为了精简内核,建议你注掉你当前不用的设备和驱动

>2< 注掉不必要的CPU (386、486、586……)网卡等  

>3< 注掉不必要的SCSI 设备,但记得SCBUS、CH、DA 不可以注掉

>4< 注掉不必要的IDE ,如IDE 软盘等

>5< 注掉不必要的USB

 

======保存======

 

======编译KERNEL======

vangeldoro# cd /usr/src/sys/i386/conf
vangeldoro# config vangeldoro
vangeldoro# cd ../compile/vangeldoro/
vangeldoro# make depend
vangeldoro# make
漫长的等待…………………………………………………………………………………………………………

======安装KERNEL======

vangeldoro# make install

vangeldoro# cd / 

vangeldoro# rm -rf /usr/src/sys/i386/compile/vangeldoro

vangeldoro# sync;reboot

(sync指令要系统将所有暂存在内存内的数据都写入硬盘)

 

======检查GENERIC文件======

diff -ub GENERIC vangeldoro 该命令可以看出你改了什么东西造成错误

======使用旧内核======

如果你还想使用旧内核版本

请在出现开机选单时按 6 以进入 loader 模式,并输入:

OK unload
OK boot /boot/kernel.old

注意:FreeBSD 6.0 的 kernel 放在 /boot/kernel 目录下,旧的内核在 /boot/kernel.old

由于FREEBSD CUSTOM(for expects)安装对新手来说还是很困难的,那几个简单的英语你得认识,还有你要有点FDISK知识等,所以
恭喜你~~~~FREEBSD“装”出来的高手…………………………………………………………
阅读(1938) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~