linode 上装有 pv-grub 的普通 arch linux

linode 上装有 pv-grub 的普通 arch linux

我正在尝试按照此帖子在 linode 上的 stock arch linux 实例上使用 pv-grub:-

http://forum.linode.com/viewtopic.php?p=49387

不幸的是,我无法启动启用了 pv-grub 的实例。

这是我能够通过logviewlinode检索到的错误日志lish

Xen Minimal OS!
start_info:   0xa8d000
  nr_pages:   131072  shared_inf: bf26c000
  pt_base:    0xa90000  mod_start:  0x0
  Booting 'Arch Linux  [/boot/vmlinuz-linux]'

root  (hd0)
 Filesystem type is ext2fs, using whole disk
kernel /boot/vmlinuz-linux root=/dev/xvda ro

close blk: backend at /local/domain/0/backend/vbd/3391/51712
close blk: backend at /local/domain/0/backend/vbd/3391/51728
[21800338.956906] i8042: No controller found
[21800338.998630] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[21800338.998818] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

我应该如何解释这个错误以及如何修复它,以便我的启用 pv-grub 的 arch linux 实例现在可以正常启动?

更新

我还注意到它声称文件系统类型是ext2fs。也许这就是问题所在,因为我创建的磁盘linode.com实际上使用的是ext3

答案1

原装的 arch linux 对我来说不起作用,我的解决方案是定制自己的内核。

参考 -https://unix.stackexchange.com/questions/37407/learning-how-to-build-my-own-linux-kernel

答案2

如果有人不想编译自己的内核,Arch Linux 中的现有内核完全支持 Xen、半虚拟化等,并且非常适合使用 pv-grub 进行启动。以下是设置方法(保证可以使用linux-lts 3.10.40-1):

  1. 在您的 Linode 上,使用 pacman 安装您选择的 Linux 内核包。我建议您选择一个核心包,例如linuxlinux-lts。任何更奇特的包可能无法正常工作。
  2. 重要的!跑步sudo mkinitcpio -p linux
  3. 使用 pacman 删除您可能已安装的所有引导加载程序包(例如 或grubsyslinux
  4. 创建包含以下内容的文件/boot/grub/menu.lst。您可能需要稍微调整一下以匹配您选择的内核包和 Linode 磁盘布局:

    # general configuration:
    timeout   0
    default   0
    hiddenmenu
    
    # (0) Arch Linux
    title  Arch Linux LTS
    root   (hd0)
    kernel /boot/vmlinuz-linux-lts root=/dev/xvda rw
    initrd /boot/initramfs-linux-lts.img
    
    # (1) Arch Linux Fallback
    title  Arch Linux LTS - Fallback
    root   (hd0)
    kernel /boot/vmlinuz-linux-lts root=/dev/xvda rw
    initrd /boot/initramfs-linux-lts-fallback.img
    
  5. 在 Linode 的仪表板下,单击编辑更改您选择的 Linode 的配置。
  6. 启动设置核心, 选择光伏-grub-x86_64
  7. 重新启动您的 Linode,它将启动到您的新内核!

相关内容