[Eisfair_dev] [e1] eiskernel 2.5.8 (Status 'testing') verfügbar - 3.2er Kernel für eisfair-1

Thomas Zweifel t2fel at gmx.net
Fr Nov 21 04:31:07 CET 2014


Am 21.11.2014 um 00:10 schrieb Thomas Bork:
> Am 20.11.2014 um 22:33 schrieb Thomas Zweifel:
> 
>> Für eine PVM wird im Prinzip weder grub noch lilo benötigt, den kernel
>> und die initrd gibt man entweder direkt der Konfigurationsdatei der VM
>> mit (muss man zuerst auf den Host kopieren), oder wenn vorhanden kann
>> man pygrub als bootlader verwenden.
>> Pygrub sucht sich anhand der menu.lst (grub.conf) den eingetragenen
>> kernel und die initrd aus der partitionierten "Harddisk" und startet
>> diesen.
> 
> Wenn mich nicht alles täuscht, sieht ein virtueller eisfair Deine
> grub.conf auf dem Host aber überhaupt nicht. Das Kernel-Update läuft ja
> in dem virtuellen eisfair.

Nein, das ist eine "Normale" Festplatte wie sie der E1-Installer damals
auch "gesehen" hat.

eis3 # fdisk -l /dev/xvda
Disk /dev/xvda: 4294 MB, 4294967296 bytes, 8388608 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x239e30c8
    Device Boot   Start       End    Blocks   Id  System
/dev/xvda1   *       63     96255     48096+  83  Linux
/dev/xvda2        98304    370687    136192   82  Linux swap / Solaris
/dev/xvda3       370688   8388607   4008960   83  Linux

eis3 # mount
/dev/xvda3 on / type ext3 (rw,errors=remount-ro,acl,user_xattr)
/dev/xvda1 on /boot type ext3 (rw,errors=remount-ro)
devpts on /dev/pts type devpts (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/sys on /sys type sysfs (rw)

eis3 # cat /proc/version
Linux version 3.2.54-eisfair-1-VIRT (root at kernel32) (gcc version 4.5.4
(GCC) ) #1 SMP Tue Sep 16 14:01:22 CEST 2014

eis3 # cat /boot/grub/grub.conf
timeout 10
default 0
title EisFair1 (virt)
  kernel /kernel root=/dev/xvda3 rootdelay=10 panic=10 ro
  initrd /initrd.gz

[root at xen ~]# lvdisplay /dev/distro/eis3
  --- Logical volume ---
  LV Name                /dev/distro/eis3
  VG Name                distro
  LV Write Access        read/write
  LV Status              available
  # open                 2
  LV Size                4,00 GB
  Current LE             256
  Segments               2


>> Beim update vom 'smp/pae' zum 'virt' kann man den lilo noch nutzen.
>> Vom 'virt' zum nächsten 'virt' macht es higegen keinen sinn irgedwelche
>> Booteinträge auf die Platte zu schreiben, allenfalls die grub.conf
>> aktualisieren.
> 
> Siehe oben, die dürfte der virtuelle eisfair weder lesen noch schreiben
> können. Das Kernel-Update muss für Systeme auf Blech sicher stellen,
> dass eine gültige alte lilo.conf existiert. Denn diese alte lilo.conf
> wird beim Update für das Schreiben der neuen lilo.conf herangezogen -
> und ist diese falsch, startet eisfair auf Blech nicht mehr...

Ein E1 als Hardware VM (HVM) bootet ebenfalls via lilo wie auf dem bare
Metal. Hier trifft deine Aussage zu 100% zu.

Das spielt allerdings keine Rolle bei einer Para VM (PVM), die werden
immer von "aussen" gebootet.

Entweder wie beim EisXen der den kernel und initrd in der Dom0 gelagert
hat (WIMRE), was sich allerdings nicht auf breiter Front durchgesetzt
hat, oder wie die "Anderen" eine Installation auf ein partitioniertes
Festplattenimage (oder mehrere einzelne Dateien) machen.

Bei letzteren wird mittels der vom ausserhalb agierenden pygrub
ermittelten kernel und initrd gebootet, die innerhalb vom Plattenimage
liegen, genauso wie die grub.conf.

Der pygrub ersetzt einen in der PVM installierten Bootlader, und nutzt
die Konfiguration innerhalb der PVM.

Den Kernel installiert man wie gehabt, und für diejenigen die den pygrub
nutzen können, ist eine passende grub.conf in /boot/grub eine nette
Dreingabe, da man kernel und initrd nicht nach jedem Update auf die Dom0
kopieren muss.

Ist /boot eine eigenständige Partition, dann wird /kernel und /initrd.gz
in der grub.conf eingetragen. (wie in meinem Fall)

Wenn /boot auf / liegt, muss man /boot/kernel und /boot/initrd.gz
eintragen. In dem Fall müsste / als bootbar markiert sein.

Bei unpartitionierten Images bleibt einem nichts anderes übrig als den
kernel und initrd von Hand auf die Dom0 zu kopieren. (ohne gewähr)


Das kernel Update geschieht bei allen drei Varianten auf die gleiche
Weise wie auf einem physischen Rechner.

Weitergehende Installationen wie lilo, grub und was es sonst noch so
gibt laufen ohnehin ins leere, die Mühe kann man sich sparen.


Ich hoffe, ich konnte dir einen brauchbaren Überblick vermitteln. ;-)

Und wie gesagt: Die Angaben betreffen XEN.



> Dann war das ein c+p-Fehler von mir. Das Fup2 war aber korrekt gesetzt
> und wurde entweder von Dir oder Deinem News-Reader nicht beachtet:

Tja, da fällt mir gerade keine Ausrede ein.....  :-)

> 
> Ich schicke Dir die neue lilo-Version mal an die Adresse ohne '"'.

Danke, diesmal ist es angekommen.
Ich schaue, ob das Update damit durchläuft.



Gruss Thomas



Mehr Informationen über die Mailingliste Eisfair_dev