[CentOS-de] PXE-Kernel crasht mit "RAMDISK: incomplete write ..." nach Aenderung des initrd.img

Frank Thommen frank.thommen at embl-heidelberg.de
Do Mär 26 15:42:43 UTC 2009


Hallo zusammen,

um aktuelle Rechner (mit neuen Intel Netzwerkkarten) via Kickstart/PXE 
zu installieren, habe ich den neusten e1000e-Treiber ins initrd.img 
aufnehmen wollen.  Damit stuerzt der Kickstart-Kernel beim Booten aber 
mit den folgenden Meldungen ab:

[...]
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
RAMDISK: Compressed image found at block 0
RAMDISK: incomplete write (20480 != 32768) 6062080
VFS: Cannot open root device "<NULL>" or unknown-block(253,3)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on 
unknown-block(253,3)


Um das initrd.img zu modifizieren, habe ich das originale CentOS 5.2 
Image genommen, mit gunzip/cpio ausgepackt und 
modules/2.6.18-92.el5/x86_64/e1000e.ko durch eines ersetzt, welches ich 
auf einem frisch installierten Rechner (ohne Updates) mit ebendiesem 
Kernel erstellt hatte.  Danach das ganze wieder archiviert und 
komprimiert und das urspruengliche initrd.img auf dem tftp-Server ersetzt.

Das neue Image ist allerdings deutlich groesser als das originale: 12MB 
gegenueber 5.7 MB.  Was ich nicht verstehen kann, denn zwar ist 
e1000e.ko 2.8 MB gross (gegenueber dem alten e1000e.ko mit nur ca. 170 
KB), aber das modules.cgz ist nur ca. 700 KB groesser als das originale. 
  Gezippt wurden die cpio-Files mit `gzip -9`.

Meine PXE-Bootsettings sind

   KERNEL CentOS-5.2_64/vmlinuz
   APPEND initrd=CentOS-5.2_64/initrd.img ramdisk_size=5940 kssendmac 
ks=http://srv/ks/ks.cgi noipv6


Auch mit Heraufsetzen der ramdisk_size kommt man nicht zu einem 
funktionierenden Bootvorgang.  Etwas ueber ramdisk_size=7100 gibt es 
einen Ueberlauf und die Groesse scheint wieder von unten gezaehlt zu 
werden...?


Irgendwelche Ideen, man ein funktionierendes, modifiziertes initrd.img 
fuer Kickstart/PXE erstellen kann/muss?


Vielen Dank

     frank