
V2EX 上经常有人讨论关于在 Linode 上编译内核或内核模块的问题,就为了爬个墙什么的。可能有些模块的确需要自行编译,但是大部分常用模块,例如 btrfs 或者 tcp_hydra / tcp_htcp 等,都已经内置在官方内核包上了。自己编译内核,费时费力还容易出错问题,何不用现成的解决方案呢?
之前有位大牛就遇到了这样的问题,后来他专门写了一篇教程,说明如何利用 PV-Grub 链式引导来启动 Debian 发行版官方内核。难度相比自己编译内核或者自己直接配置 PV-Grub,难度大大降低,比较适合推广。因此特地将原文中的步骤整理出来发在 V2EX 上。欲读英语原文,请访问 http://notes.pault.ag/linode-pv-grub-chainning/ 。
写入 Grub 配置文件
sudo mkdir -p /boot/grub sudo tee /boot/grub/menu.lst <<EOD default 1 timeout 3 title grub-xen shim root (hd0) kernel /boot/xen-shim boot EOD sudo tee /boot/load.cf <<EOD configfile (xen/xvda)/boot/grub/grub.cfg EOD 安装内核与 Grub
sudo aptitude install linux-image-amd64 grub-xen sudo update-grub 生成引导文件
grub-mkimage --prefix '(xen/xvda)/boot/grub' -c /boot/load.cf -O x86_64-xen /usr/lib/grub/x86_64-xen/*.mod | sudo tee /boot/xen-shim > /dev/null 将 Linode Profile 中的内核改成 pv-grub
大功告成。很难吗?
1 rainy3636 2015 年 3 月 31 日 xen的vps升级发行版貌似很麻烦? |
2 Yamade 2015 年 4 月 1 日 ``` Err http://security.debian.org/ wheezy/updates/main linux-image-3.2.0-4-amd64 amd64 3.2.65-1+deb7u1 404 Not Found 0% [Working]E: Failed to fetch http://security.debian.org/pool/updates/main/l/linux/linux-image-3.2.0-4-amd64_3.2.65-1+deb7u1_amd64.deb: 404 Not Found ``` 悲剧了. |
3 msg7086 OP |
5 Yamade 2015 年 4 月 1 日 @msg7086 debian 7 sudo aptitude install linux-image-amd64 grub-xen Couldn't find any package whose name or description matched "grub-xen" Couldn't find any package whose name or description matched "grub-xen" No packages will be installed, upgraded, or removed. 0 packages upgraded, 0 newly installed, 0 to remove and 38 not upgraded. Need to get 0 B of archives. After unpacking 0 B will be used. |
9 msg7086 OP @Yamade debian 7 毕竟2年前的系统了。如果Ubuntu是14.04加入的包,那Debian没可能在2013年就加入的。 我生产机跑的都是debian 8 |
11 hahajing007 2015 年 4 月 1 日 现在用默认3.19.1内核速度已经不错了,自己编译的htcp速度反而慢很多,相差10倍。。。 |
12 rainy3636 2015 年 4 月 1 日 @msg7086 请问你的debian是哪种方法升级的? 我在softlayer的debian7上,直接把源里的wheezy换成jessie,upgrade之后reboot就死了…… |
13 msg7086 OP |
14 Yamade 2015 年 4 月 2 日 用 test 搞定了.哈哈.升级完毕在换回 stable. |