Frank Thommen
2009-Mar-26 14:54 UTC
[CentOS] PXE-Kernel crashes with "RAMDISK: incomplete write ..." after modifiying initrd.img
Hi, to install current PC models (with new Intel NICs) via Kickstart/PXE, I wanted to add the newest e1000e-Treiber to initrd.img. With this modified image, the Kickstart kernel crashes with the following error messages: [...] 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) To modify the initrd.img, I took the original CentOS 5.2 image, unpacked with cpio/gunzip and replaced modules/2.6.18-92.el5/x86_64/e1000e.ko with a current version. This driver module had been created on a freshly installed CentOS 5.2 host with kernel 2.6.18-92.el5 and w/o any updates. After adding the driver, I re-archived and re-packed the image and replaced the initrd.img on my tftp server. The new image is considerably bigger than the old one (12 MB vs. 5.7 MB) which puzzles me, as the driver file itself is 2.8 MB (compared to the old e1000e.ko with ca 170 KB) but the resulting modules.cgz is only around 700 KB bigger than the original one. All files have been compressed with `gzip -9`. My PXE bootsettings are: 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 Even raising ramdisk_size doesn't help. At around ramdisk_size=7100 there seems to be an overflow and the size is recounted from zero (?). Any Ideas, how one can/should create an updated and working initrd.img for Kickstart/PXE? A similar question has been asked before on this list and a recommendation was to wait for 5.3. Unfortunately I cannot wait for the next release. Thanks in advance frank
James Pearson
2009-Mar-26 16:04 UTC
[CentOS] PXE-Kernel crashes with "RAMDISK: incomplete write ..." after modifiying initrd.img
Frank Thommen wrote:> > To modify the initrd.img, I took the original CentOS 5.2 image, unpacked > with cpio/gunzip and replaced modules/2.6.18-92.el5/x86_64/e1000e.ko > with a current version. This driver module had been created on a > freshly installed CentOS 5.2 host with kernel 2.6.18-92.el5 and w/o any > updates. After adding the driver, I re-archived and re-packed the image > and replaced the initrd.img on my tftp server. > > The new image is considerably bigger than the old one (12 MB vs. 5.7 MB) > which puzzles me, as the driver file itself is 2.8 MB (compared to the > old e1000e.ko with ca 170 KB) but the resulting modules.cgz is only > around 700 KB bigger than the original one. All files have been > compressed with `gzip -9`.What cpio options did you use to re-create modules/modules.cgz and then the initrd.img? Did you gzip the initrd.img after cpio'ing it? It might be better to wait for CentOS 5.3 - as that has an updated e1000e module - hopefully 5.3 might be out this week end ... James Pearson
nate
2009-Mar-26 16:10 UTC
[CentOS] PXE-Kernel crashes with "RAMDISK: incomplete write ..." after modifiying initrd.img
Frank Thommen wrote:> Hi, > > to install current PC models (with new Intel NICs) via Kickstart/PXE, I > wanted to add the newest e1000e-Treiber to initrd.img. With this > modified image, the Kickstart kernel crashes with the following error > messages:Maybe you need to increase the memory allocated to ramdisk? by default I use ramdisk_size=16384 as a kernel parameter for booting the installer. nate
Possibly Parallel Threads
- Upgrading PXE initrd.img with new kernel and drivers
- How do I build an initrd.img for use with pxelinux
- Help: Marvell sk98lin driver missing from Centos 3 PXE initrd.img
- adding / modifiying functions in a site-library package ????
- How to get 3Ware 9500S controller card working in CentOS 3.1?