linux 小白一枚,趁周末想把 VPS 重装个系统开 BBR 。
环境: linode tokyo xen OS:CentOS Linux release 7.3.1611 (Core) x64
内核已经装好,
/boot $ ls
config-3.10.0-327.36.3.el7.x86_64 symvers-3.10.0-327.36.3.el7.x86_64.gz
config-3.10.0-514.6.1.el7.x86_64 symvers-3.10.0-514.6.1.el7.x86_64.gz
config-4.9.9-1.el7.elrepo.x86_64 symvers-4.9.9-1.el7.elrepo.x86_64.gz
grub System.map-3.10.0-327.36.3.el7.x86_64
grub2 System.map-3.10.0-514.6.1.el7.x86_64
initramfs-0-rescue-153a217486fe4be8a8dbd28db67ed581.img System.map-4.9.9-1.el7.elrepo.x86_64
initramfs-3.10.0-327.36.3.el7.x86_64.img vmlinuz-0-rescue-153a217486fe4be8a8dbd28db67ed581
initramfs-3.10.0-514.6.1.el7.x86_64.img vmlinuz-3.10.0-327.36.3.el7.x86_64
initramfs-4.9.9-1.el7.elrepo.x86_64.img vmlinuz-3.10.0-514.6.1.el7.x86_64
initrd-plymouth.img vmlinuz-4.9.9-1.el7.elrepo.x86_64
但网上教程里接下来的步骤都是 grub2 的配置与引导。 我在自己 linode 后台只看到了 pv-grub 的选项,没有 grub2 的,所以只能去搞 pv-grub 的配置, google 了一下资料不多,官方倒是有一篇 https://www.linode.com/docs/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-centos-7
给的menu.lst
例子是
timeout 5
title Custom Compiled, kernel 3.19.3-custom
root (hd0)
kernel /boot/vmlinuz-3.19.3-custom root=/dev/xvda ro quiet
我按照自己的改成
timeout 5
title 4.9.9
root (hd0)
kernel /boot/vmlinuz-4.9.9-1.el7.elrepo.x86_64 root=/dev/xvda console=hvc0 ro
linode 后台选成pv-grub-x86_64
reboot
然而启动并不成功(现象是 N 久 ping 不通)
求解menu.lst
或者哪里可以看 pv-grub 引导的 log
1
lhbc 2017-02-11 00:44:32 +08:00
如果是 XEN, 修改 menu.lst
如果是 KVM egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \' 看你想启动的内核在第几个,然后运行 grub2-set-default <n> n 就是第几个内核,从 0 开始 |
2
chairuosen OP @lhbc 是 XEN ,就是不知道我写的 menu.lst 错在哪了
|
3
lhbc 2017-02-11 00:52:27 +08:00
你写错了
漏了 initrd /boot/grub/menu.lst default=0 timeout=5 title linux-image root (hd0) kernel /boot/vmlinuz-4.9.9-1.el7.elrepo.x86_64 root=/dev/xvda console=hvc0 ro initrd /boot/initramfs-4.9.9-1.el7.elrepo.x86_64.img |
4
chairuosen OP @lhbc 感谢回复,但是还是不行。。
|
5
trepwq 2017-02-11 01:12:57 +08:00 via iPhone
linode 需要在 web 控制面板更换内核
|
7
chairuosen OP 自己看来是搞不定了,改成有偿求助吧,付费 100 元希望有人可以帮我搞定。。。
联系方式企鹅`MzgyNzU5MTQ3` |
8
msg7086 2017-02-11 16:59:04 +08:00
如果你用 Debian Jessie 并且照着我的教程做的话,大概 5 分钟就能搞完。
|
9
chairuosen OP @msg7086 教程只是全部顺利的情况,我也是按照官方教程来的,然而最后一步就是失败,没有 debug 方法,所以无头绪。
最后换回 Centos6 ,一样的配置,就成功了。。。 |
10
msg7086 2017-02-11 17:23:14 +08:00
@chairuosen 我前几天为了上 bbr 所以特地重温了整个流程,从头到尾花费也就 2 分钟,一次成功。
官方教程?你说 Linode 那个教程? 那个教程麻烦得要死。 你以为我这篇教程的原作者在看了你那篇教程以后为什么要写一个新的? |
11
chairuosen OP @msg7086 我知道步骤很简单,就是先安 kernel ,然后写对应引导程序的配置,然后指定引导程序,重启。
但是如果写了正确的配置,重启进不了系统,我也没辙啊。。 |
12
msg7086 2017-02-11 17:30:51 +08:00
@chairuosen 这篇教程就是为了解决写完配置进不了系统的问题的……
|
13
chairuosen OP @msg7086 好吧,不过应该不适合 cent7 , cent7 只有 grub2 ,没有 grub ,两个的配置文件完全不一样
|
14
vsyf 2017-02-11 19:30:01 +08:00 via iPhone
我的 vps 也是(被我装过一堆东西),升级 bbr 内核起不来,一气之下删了。
|
15
okudayukiko0 2017-02-16 00:01:26 +08:00 via iPhone
如果 elrepo 的内核在编译时没有加入 Xen PV 支持( Linux 内核源码已自带),那么内核就无法在 Xen PV 下面启动,需要手动编译内核(要选择 Xen PV 支持)
|
16
chairuosen OP @okudayukiko0 多谢兄弟,听起来像是根本原因,但是我已经回退了备份了。。
|
17
okudayukiko0 2017-02-16 00:11:58 +08:00 via iPhone
Xen PV 是 Xen/XenServer 的半虚拟化,要求内核经修改,性能有提升,但是只支持 Linux/Unix 。 Linux 内核自 2.6.23 后加入对 Xen PV 的原生支持,在编译内核时要选择对 Xen PV 的支持。 Xen PV 使用 pvgrub 或 pygrub 加载虚拟机中的内核。
https://wiki.xenproject.org/wiki/PvGrub |
18
okudayukiko0 2017-02-16 00:15:13 +08:00 via iPhone
如果 Xen 确实不行 就弄个 Xen HVM (可安装 Windows 的 Xen )或 KVM 。
|
19
okudayukiko0 2017-02-16 00:17:23 +08:00 via iPhone
Fedora 25 已经用上 4.9 内核,你可以自己抓 Fedora 的 Kernel RPMs 试试。
|