Linux 内核

来自百合仙子's Wiki
跳转到导航 跳转到搜索

编译与安装

mkdir ../build
make O=../build menuconfig
# 注意备份 ../build/.config 文件
make O=../build
sudo make O=../build modules_install
cd ../build
sudo cp -v arch/x86/boot/bzImage /boot/vmlinuz-2.6.35.3-lily
sudo cp -v System.map /boot/System.map-2.6.35.3-lily

Arch下(参见mkinitcpio

sudo mkinitcpio -k 2.6.35.3-lily -g /boot/kernel26-lily

Ubuntu

sudo mkinitramfs -k 2.6.35.3lily -o /boot/kernel26-lily

[1]

如果只需要编译指定的模块,使用 make M=path/to/module

参数

logo.nologo
不使用启动图标[2]
initramfs
启动到Busybox。此时不需要指定根分区。此时可以进行磁盘检查、格式转换等。
resume=/dev/disk/by-label/swap
指定休眠后从何处恢复。不指定此参数可能导致不能恢复,也可能已在initramfs中指定(Ubuntu)。
break=premount / postmount
在挂载前/后进入 initramfs shell(Arch Linux;未在其它发行版上证实)。在 postmount 时可以更改 root 分区。注意启动不同版本的内核的话可能会出问题的。

修改与调节

修改启动图标

生成 ppm 图片

pngtopnm linuxlogo.png > linuxlogo.pnm
pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm

将所得文件复制到 drivers/video/logo 下覆盖相应的文件(如 logo_linux_clut224.ppm )即可。

注意图标数目等于CPU核心的数目。

[3]

模块的编译

编写 Makefile 指定模块文件名:

obj-m := t.o

编译:

make -C /usr/src/linux-$(uname -r) modules M=$PWD

参见

外部链接

补丁

在线工具

调试工具

参考资料