本文分三部分:
一,理论上有个概念,起码面试知道怎么回答
二,动手能力,我们最终的结果是要自己能熟练的编译kernel
三,参考
一 kernel:
控制系统的整体运行,称之为核心,是因为其提供资源分配,底层硬件界面,安全、简单通信和基本系统文件管理功能等
为什么要调整kernel:
开机速度更快/减少对内存的占用/支持更多硬件/系统应用的需求
kernel中最常用的工作包括什么?
1,增减硬件驱动的支持
2,系统参数的针对性调优
3,系统应用的增删
二 编译过程
freebsd和linux都可以通过类似menuconfig的方法来编辑,然后在编译到系统,我们以BSD为例,看一个实际过程
等到系统再次启动后,标注为zx的kernel就已经开始工作了。
三
1 编译什么?
对于刚开始编译kernel的人,确实不知道要做编译什么,没有什么可以练习的,那么我们可以从简单的入手。比如'dmesg'自己服务器上的硬件,把它们编译进kernel, 其它全部抛弃亦或看看'IPFW'的'readme',把它需要的option加入kernel.
2 如果重启失败怎么办? -- 编译后系统异常,不能正常启动的解决方法
中断自动启动过程,进入boot提示;
这样按旧的内核启动。
3 标准的kernel文件
http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html 比较长,但是基本都可以测试的
一,理论上有个概念,起码面试知道怎么回答
二,动手能力,我们最终的结果是要自己能熟练的编译kernel
三,参考
一 kernel:
控制系统的整体运行,称之为核心,是因为其提供资源分配,底层硬件界面,安全、简单通信和基本系统文件管理功能等
为什么要调整kernel:
开机速度更快/减少对内存的占用/支持更多硬件/系统应用的需求
kernel中最常用的工作包括什么?
1,增减硬件驱动的支持
2,系统参数的针对性调优
3,系统应用的增删
二 编译过程
freebsd和linux都可以通过类似menuconfig的方法来编辑,然后在编译到系统,我们以BSD为例,看一个实际过程
cd /usr/src/sys/i386/conf // 系统默认安装的目录,如果有特殊,可以通过'uname -a'来检查
cp GENERIC zx // GENERIC是系统默认安装时的kernel名字, zx就是自己所以起的名字了
vi zx // 自己随意的裁减吧
config zx
cd ../../compile/DD
make depend all install
reboot
cp GENERIC zx // GENERIC是系统默认安装时的kernel名字, zx就是自己所以起的名字了
vi zx // 自己随意的裁减吧
config zx
cd ../../compile/DD
make depend all install
reboot
等到系统再次启动后,标注为zx的kernel就已经开始工作了。
三
1 编译什么?
对于刚开始编译kernel的人,确实不知道要做编译什么,没有什么可以练习的,那么我们可以从简单的入手。比如'dmesg'自己服务器上的硬件,把它们编译进kernel, 其它全部抛弃亦或看看'IPFW'的'readme',把它需要的option加入kernel.
2 如果重启失败怎么办? -- 编译后系统异常,不能正常启动的解决方法
中断自动启动过程,进入boot提示;
unload
load kernel.old(kernel.GENERIC)
boot
load kernel.old(kernel.GENERIC)
boot
这样按旧的内核启动。
3 标准的kernel文件
http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html 比较长,但是基本都可以测试的

终于等到骆驼了,期待骆驼的下一篇文章。