Xen Dom0: Difference between revisions

From Alpine Linux
(serial tty)
(load xen-gntdev module)
Line 86: Line 86:
hvc0 is Xen console output, where we have already redirected the kernel messages.
hvc0 is Xen console output, where we have already redirected the kernel messages.
To switch to Xen console, type three time "Ctrl+a"
To switch to Xen console, type three time "Ctrl+a"
Now you can configure your guest, but before don't forget to load xen-gntdev kernel module:
modprobe xen-gntdev
echo "xen-gntdev" >> /etc/modules

Revision as of 14:48, 23 August 2011

So before anything else verify that you can reliably log into your Alpine box through SSH, because with some video chipset (intel in my case) xen will blank your screen so you will have to use SSH.

Then upgrade your setup to Edge/testing (as of the date of writing, Xen is only available in Edge). Install Xen:

apk add xen

Modify your extlinux.cfg (credits: http://lists.alpinelinux.org/alpine-devel/1406.html) since video card is not working for now, we will use a serial console:

SERIAL 0 115200 
DEFAULT menu.c32
PROMPT 0
MENU TITLE Alpine/Linux Boot Menu
MENU HIDDEN
MENU AUTOBOOT Alpine will be booted automatically in # seconds.
TIMEOUT 50
LABEL 0
  MENU DEFAULT
  MENU LABEL Linux 2.6.38.8-vs2.3.0.37-rc17
  KERNEL vmlinuz-2.6.38.8-vs2.3.0.37-rc17
  APPEND initrd=initramfs-2.6.38.8-vs2.3.0.37-rc17 root=UUID=f40e340b-ea49-445b-81c0-4d7104b56662 modules=sd-mod,usb-storage,ext4 quiet

LABEL 1
  MENU LABEL Linux 2.6.36.3-scst
  KERNEL vmlinuz-2.6.36.3-scst
  APPEND initrd=initramfs-2.6.36.3-scst root=UUID=f40e340b-ea49-445b-81c0-4d7104b56662 modules=sd-mod,usb-storage,ext4 quiet

LABEL 2
  MENU LABEL Linux 2.6.38.8-grsec
  KERNEL vmlinuz-2.6.38.8-grsec
  APPEND initrd=initramfs-2.6.38.8-grsec root=UUID=f40e340b-ea49-445b-81c0-4d7104b56662 modules=sd-mod,usb-storage,ext4 quiet

LABEL 3
  MENU LABEL XEN
  KERNEL mboot.c32
  APPEND /boot/xen-4.gz loglvl=all guest_loglvl=all com1=115200,8n1 console=com1 dom0_mem=256M --- /boot/vmlinuz-grsec root=UUID=f40e340b-ea49-445b-81c0-4d7104b56662 modules=sd-mod,usb-storage,ext4 console=hvc0 earlyprintk=xen nomodeset --- /boot/initramfs-grsec

Of course replace root=UUID= with your UUID in yours.

xl info won't work

Start xecommons:

alpine:/boot# /etc/init.d/xencommons start
Starting xenstored...FATAL: Failed to open evtchn device: No such file or directory

well this will fail but xl info will work anyway

Oh but wait, evtchn device is built in the kernel, so why is there no /dev/xen/evtch file ? let's start udev ! ;)

rc-service udev start

That's all folks !

on going debug: vi /etc/rc.conf rc_sys="xen0" why ?


Commands recap:

apk add xen apk add udev rc-service udev start ; rc-service udev-postmount start rc-service xencommons start

If you want "xm" command

rc-service xend start

So let's install services at boot time :

rc-update add udev sysinit rc-update add udev-postmount default rc-update add xencommons rc-update add xend

since we use a serial line, let'a add a serial console prompt, modify your /etc/inittab accordinly:

  1. Put a getty on the serial port
  2. ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100

hvc0::respawn:/sbin/getty -L hvc0 115200 vt100

hvc0 is Xen console output, where we have already redirected the kernel messages. To switch to Xen console, type three time "Ctrl+a"

Now you can configure your guest, but before don't forget to load xen-gntdev kernel module: modprobe xen-gntdev echo "xen-gntdev" >> /etc/modules