一般的过程不多说。
下载内核源码,make menuconfig , make , make modules_install, make install等一系列。
要注意的事情:
1.安装模块时,要用特殊参数,否则编译出来的initrd.img特别大有300M,而系统自带的内核只有30多M。
make INSTALL_MOD_STRIP=1 modules_install
参见:https://unix.stackexchange.com/questions/30345/why-is-my-initial-ramdisk-so-big
2.make install 时会自动加入grub启动菜单,可以不用再执行update-grub命令。
3.grub2设置
grub的配置文件是/etc/default/grub
不要修改/boot/grub/grub.cfg,因为那个文件的内容,在执行update-grub命令后会自动生成。
update-grub命令会扫描/boot/目录下的vmlinuz ,initrd 等文件,自动将内核加到启动菜单中。
要想修改默认的启动项,修改/etc/default/grub中的GRUB_DEFAULT这个选项,默认是0,第一条,ubuntu的选项放在第二条的子选项中,设置时用>连接。
“ubuntu高级选项”中的第4个选项,就写1>3
GRUB_HIDDEN_TIMEOUT这一条注释掉才显示引导菜单
GRUB_DEFAULT="1>3"
#GRUB_HIDDEN_TIMEOUT=5
GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""