纯属瞎折腾: 一次 Kernel 2.6.31-rc8 配置
版权声明: 允许非商业性转载,但转载时必须标明原作者 fcicq、原始链接 http://www.fcicq.net/wp/?p=763 及本声明。
最重要的写在前面:
1 make menuconfig 进入后, 用 / 键有搜索功能.
2 搜索功能提供的 “Depends on” 非常有用, “Location” 那就更不用说了.
以后有同学要介绍开什么选项, 告诉他怎么找, 用什么名称找就可以了.
3 不会熟练用这个搜索, 在配置上就会经常走弯路.
4 autokernconf 只能作为参考, 它经常会帮倒忙.
配置点:
1 cryptsetup 相关
CONFIG_DM_CRYPT, CONFIG_BLK_DEV_LOOP
2 关了 ipv6
对于某些人来说 Y 或者 M 也都无妨.
3 ecryptfs
MISC_FILESYSTEMS && EXPERIMENTAL && KEYS (忘了它就开不了) && CRYPTO && NET
4 btrfs (compression)
效果不错. 自动开 zlib.
5 ramzswap (a.k.a: compcache)
编译为模块. 自动开 lzo.
ubuntu 下这个 ramzswap 必须使用 initramfs 引导才能激活.
6 i915 kms (kernel mode settings, framebuffer console)
走弯路. 直奔目标 DRM_I915_KMS 去吧.
DRM_I915_KMS – DRM_I915 – AGP_INTEL
7 embedded
眼一晕, 也不知道看见了什么就顺手开了.
8 某驱动
需要 X86 && X86_PLATFORM_DEVICES && ACPI && INPUT && RFKILL
9 kernel debugging
不开 CONFIG_PRINTK_TIME 就太不好了.
有条件的同学可以看看 boot trace (CONFIG_BOOT_TRACER).
/usr/src/linux-2.6.xx-xxx/scripts 里面有 bootgraph.pl, 看过代码就知道怎么用了.
生成 svg 可以在浏览器中看. 可见这 fastboot 的并发一点也不彻底.
10 关于 initramfs
不太明白 initramfs 包那么大干什么? 能不能做一个好几十 Mb 的扔内存里直接就启动了? (显然可以)
看起来里面的文件都挺有用的样子, 但为什么不能做的再小一点? uclibc / dietlibc?
11 启动时间
上面说 fastboot 并发不彻底, 这里说 udev 之流浪费的启动时间.
5 秒开机的例子是先启动 dbus, 再启动 xorg, 和 xorg 并发启动的是 hal, 最后是 udev.
gentoo 的 openrc 很久没有用过了. 不知道现在怎么样.
upstart 很好, 但由于整体 sysvinit 的架构还没扔掉, 它更大的能力还很难发挥出来.
有谁记得 hotplug, coldplug 这两个东西? udev 现在干的活太多了.
还不如都倒退回 MAKEDEV 时代, 先启动 X 剩下启动后再说.
所以 udev 应该在 xorg 之后启动.
友情提示: 请注意文章的时效性与准确性, 作者不对文章的有效性负责.
Tags:
Permalink Bookmark on del.icio.us
Last Modified: September 9, 2009 at 10:43 am