[Eisfair] eisfair-1 Xen DomU Kernelupdate
Alexander Dahl
lespocky at web.de
Mo Jan 25 21:24:01 CET 2016
Hallo Helmut,
Helmut Backhaus schrieb Montag, 25. Januar 2016, 18:52 (CET):
>> Ich bin jetzt grob wie folgt vorgegangen: ein neues eisfair in einer
>> neuen virtuellen Maschine (KVM) auf meinem Desktop installiert, Updates
>> bis zur aktuellen base und aktuellem eiskernel-virt (testing).
>
> Die Beschreibung ist aber *sehr* grob. ;-)
> Ansonsten habe ich es genauso gemacht nur eben in einer Vbox.
Naja was soll ich an der Stelle groß beschreiben? Ganz normale
eisfair-Installation und bei KVM geht eh nur Vollvirtualisierung.
>> In der Xen DomU den Inhalt von /boot der KVM-VM kopiert, ebenso die
>> relevanten Sachen unterhalb von /lib/modules. Dann hab ich mir auf der
>> Xen DomU nochmal den tarball vom eiskernel Paket angeschaut und die
>> Sachen von unterhalb /var/install kopiert.
>
> Das ist mir nicht klar, dass kann doch nicht alles sein, oder?
Mehr war es nicht. Kernel-Image und das initrd oder initramfs o.ä.
liegen in /boot und die Module unterhalb von /lib/modules.
Bootloaderkram brauch ich nicht bzw. sind schon auf dem Zielsystem
gewesen.
> Es muss doch auch / irgend wo herkommen oder?
Die Ziel-VM lief ja schon, war wie gesagt noch aus eisxen Zeiten.
> Auch ist mir nicht ganz klar, was Du wann gemacht hast. ;-)
> Ich habe mir "boot" und "/" aus der Vbox heraus kopiert.
/ brauchte ich ja nicht kopieren, s.o.
>> Dann /etc/fstab und /etc/inittab geändert auf /dev/xvda[123], ebenso die
>> /etc/lilo.conf.
>
> Da habe ich noch das eine oder andere Verständnis Problem, aber ich
> werde meine Einrichtung unten drunter Zeigen.
> Auch muss da ja noch ein "lilo" zu irgend einem Zeitpunkt ausgeführt
> werden oder?
Eigentlich nicht, lilo wird ja überhaupt nicht benutzt. Der einzige
Grund lilo zufriedenzustellen ist ein späteres Installieren des
eiskernel-virt Pakets zu ermöglichen, das bei der Installation `lilo -t`
aufruft und bei einem Fehler abbricht.
>> Dann hab ich /boot/grub/menu.lst angelegt und so
>> gefüllt:
>>
>> default 0
>> timeout 5
>>
>> title eisfair-1
>> root (hd0,0)
>> kernel /boot/kernel root=/dev/xvda1 ro
>> initrd /boot/initrd.gz
>>
>> title eisfair-1 (old)
>> root (hd0,0)
>> kernel /boot/old-kernel root=/dev/xvda1 ro
>> initrd /boot/old-initrd.gz
>>
>
> Das habe ich genauso, ob es richtig war / ist? Ich weiß es nicht...
Wenn es funktioniert, ist es dann richtig? ;-)
>> Xen DomU runtergefahren und im host die config angepasst, sieht jetzt so
>> aus:
>>
>> bootloader = '/usr/lib/xen-4.4/bin/pygrub'
>> memory = 256
>> vcpus = 1
>> root = '/dev/xvda1 ro'
>> boot = 'c'
>> extra = 'ro quiet xencons=tty1 console=hvc0'
>> disk = [
>> 'format=raw, vdev=xvda1, target=/dev/heaven/methusalix_root',
>> 'format=raw, vdev=xvda2, target=/dev/heaven/methusalix_swap',
>> 'format=raw, vdev=xvda3, target=/dev/heaven/methusalix_home',
>> ]
>> name = 'methusalix'
>> vif = [ 'mac=00:16:3e:2e:a3:4b, bridge=xenbr0' ]
>> on_poweroff = 'destroy'
>> on_reboot = 'restart'
>> on_crash = 'restart'
>>
>> DomU neu gestartet, läuft. Ich hätte mit mehr Schwierigkeiten gerechnet.
>> ;-)
>
> Du glücklicher!
>
> OK, das Starten mit "pygrub" bekomme ich nicht hin.
> Hier jetzt mal meine Daten:
Du kannst pygrub auch direkt aufrufen und damit sehen wie weit er kommt.
Oder Du gibst beim Starten der DomU -c mit, damit Du sofort
Konsolenausgaben siehst:
xl create -c /path/to/mydomu.cfg
> Laufwerke -LVM Hostsystem -
> root at deb-64-fsi:~# lvs | grep testeis1
> testeis1-boot vg0 -wi-ao---- 52,00m
>
> testeis1-data vg0 -wi-ao---- 8,00g
>
> testeis1-root vg0 -wi-ao---- 2,00g
>
> testeis1-swap vg0 -wi-ao---- 128,00m
>
> /etc/xen/testeis1.cfg - Hostsystem -
> root at deb-64-fsi:~# cat /etc/xen/testeis1.cfg
> name = "testeis1"
> kernel = "/eis-kern/kernel"
> ramdisk = "/eis-kern/initrd.gz"
kernel und ramdisk brauchst Du für pygrub nicht, ansonsten musst Du sie
im Xen Host natürlich irgendwo hin packen, das muss auch nicht direkt in
/ sein.
> extra = "ro quiet xencons=tty1 console=hvc0"
> # bootloader = "/usr/lib/xen-4.4/bin/pygrub"
> # bootargs = '--kernel=/boot/kernel --ramdisk=/boot/initrd.gz'
> memory = 512
>
> boot = 'c'
> root = "/dev/xvda3 ro"
> disk = [
> "phy:/dev/vg0/testeis1-boot,xvda1,w",
> "phy:/dev/vg0/testeis1-swap,xvda2,w",
> "phy:/dev/vg0/testeis1-root,xvda3,w",
> "phy:/dev/vg0/testeis1-data,xvda4,w",
> ]
Das ist noch die alte Xen Syntax, versuch mal die aktuelle zur
Definition der disks.
> /etc/fstab - Gast -
> /dev/xvda3 / ext4 defaults,errors=remount-ro 0 1
> /dev/xvda1 /boot ext4 defaults,errors=remount-ro 0 1
> /dev/xvda2 none swap sw 0 0
> /dev/xvda4 /data ext4 defaults 0 2
Hmm Du hast /boot extra, bei mir ist das Teil von /, ggf. brauchst Du
auf Deiner boot-Partition noch einen Symlink namens boot auf sich
selbst, also geh auf die gemountete boot-Partition und einmal:
ln -s . boot
> /boot/grub/menu.lst - Gast -
> testeis1 # cat /boot/grub/menu.lst
> default 0
> timeout 5
>
> title eisfair-1
> root (hd0,0)
> kernel /kernel root=/dev/xvda3 rootdelay=10 panic=10 ro
> initrd /initrd.gz
>
> title eisfair-1 (old)
> root (hd0,0)
> kernel /old-kernel root=/dev/xvda3 rootdelay=10 panic=10 ro
> initrd /old-initrd.gz
>
> Wobei ich hier nicht Sicher bin, ob dass so stimmt.
Spontan sieht's nicht schlecht aus.
> Dann habe ich noch die Netzwerkkarte angepasst.
> Wie bereits beschrieben lässt sich die DomU mit dem Kernel von außen
> problemlos Booten mit pygrub aber nicht. Zu Anfang konnte ich die
> Einträge von Grub auch schon sehen, dass geht nach der vielen Testerei
> jetzt aber auch nicht mehr. Ich habe das Gefühl, dass ich irgend etwas
> komplett verdreht habe, aber was?
Immerhin geht's schonmal von außen.
> Wenn noch irgend etwas fehlt werde ich es gern nachliefern!!
Spontan bin ich überfragt. Versuch mal die Debug-Möglichkeiten von Xen
und pygrub besser zu nutzen.
Gruß
Alex
--
***** http://blog.antiblau.de/ *****************************
GnuPG-FP: 02C8 A590 7FE5 CA5F 3601 D1D5 8FBA 7744 CC87 10D0
Mehr Informationen über die Mailingliste Eisfair