Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I am attempting to use pv-grub on a stock arch linux instance on linode by following this post:-

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

Unfortunately, I am unable to get my pv-grub enabled instance booted up.

Here's the error log I am able to retrieve via logview in linode's 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)

How should I interpret this error and how do I go about fixing this so my pv-grub enabled arch linux instance can now boot properly?

UPDATE

I also notice that it claims that the filesystem type is ext2fs. Perhaps this is the problem as the disk I created on linode.com is in fact using ext3?

share|improve this question

2 Answers 2

up vote 0 down vote accepted

The stock arch linux does not work for me and my solution was to custom build my own kernel.

Reference - http://unix.stackexchange.com/questions/37407/learning-how-to-build-my-own-linux-kernel

share|improve this answer

In case anyone doesn't want to compile their own kernel, the stock kernel in Arch Linux fully supports Xen, paravirtualization, etc. and is perfectly suitable for booting with pv-grub. Here's how you can set it up (Guaranteed to work with linux-lts 3.10.40-1):

  1. On your Linode, using pacman, install the Linux kernel package of your choice. I suggest you choose one of the core packages, like linux or linux-lts. Anything more exotic might not work properly.
  2. Important! Run sudo mkinitcpio -p linux.
  3. Using pacman, remove any bootloader packages you might have installed (e.g., grub or syslinux).
  4. Create the file /boot/grub/menu.lst with the following contents. You might need to tweak this a little to match your chosen kernel package and Linode disk layout:

    # 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. Under Linode's dashboard, click Edit to change the configuration of your chosen Linode.
  6. From Boot SettingsKernel, select pv-grub-x86_64.
  7. Reboot your Linode, and it will boot into your new kernel!
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.