Posts Tagged ‘VOIP’

Eigen kernels booten met PyGrub

maandag, april 13th, 2009

We krijgen regelmatig verzoeken van klanten om met custom kernels te kunnen booten. Vaak omdat er specialistische modules nodig zijn, bijvoorbeeld voor VOIP-diensten of cryptografisch versleutelde diskpartities via FUSE. Vanaf vandaag maken wij het voor mensen met dit soort speciale behoeftes mogelijk om in plaats van onze standaardkernel een Xen-compatible kernel van binnen de VPS zelf te laden via PyGrub. U kunt deze mogelijkheid activeren binnen de XLS Interface.

Wat is PyGrub precies?

PyGrub is een herimplementatie, in python, van de grub bootloader, toegespitst op het booten van virtuele machines onder Xen. Het leest de grub-configuratie en kiest daarmee een kernel en een ramdisk-image om mee te booten en geeft deze door aan de Xen hypervisor.

Installeren van je eigen kernel

Om succesvol via PyGrub te kunnen booten zijn op de VPS nodig:

  • Een valide grub-config in /boot/grub/menu.lst
  • Een Xen domU-compatible kernel.
  • Een initrd met xenblk.ko en xennet.ko.
  • Om te zorgen dat de xenblk en xennet drivers goed geladen worden, is het verstandig om, alvorens een Xen kernel-package te installeren, de volgende twee regels toe te voegen aan /etc/modprobe.conf:

        alias eth0 xennet
        alias scsi_hostadapter xenblk
    

    Installeer vervolgens grub, en daarna de xen kernel. Onder CentOS is dat:

        # yum install grub
        # yum install kernel-xen
    

    En onder Debian:

        # apt-get install grub
        # apt-get install linux-image-xen-amd64
    

    Activeren

    Controleer dat er een geldige /boot/grub/menu.lst ontstaan is die wijst naar de Xen kernel. Zet vervolgens op de XLS Interface site de knop om naar ‘Custom Kernel’ en geef de VPS vanaf de command line een shutdown (een gewone reboot is niet genoeg). De machine zal opnieuw gestart worden met PyGrub.