Hi, I am trying to load kernel 2.6.6 on a Soekris net4521 from the network using PXE. I built my initrd with mkinitrd. RedHat nash (while running linuxrc) hangs after mounting /proc and says "Creating block devices". I am using the pxelinux.0 from the syslinux-2.10 distribution and the kernel and initrd were built on redhat 9.0. I built my kernel with BLK_DEV_RAM, RAMFS, TMPFS, DEVFS_FS, BLK_DEV_INITRD, EXT3_FS and EXT3_FS support. Attached below are: - linuxrc - contents of initrd - pxelinux.cfg/<Soekris-IP> and - kernel boot messages on minicom and tftp/pxe server. Looks like the problem lies either with the kernel options passed to my net4521 or with the initrd image itself. What should I do to make the initrd load properly? Please advise. Thanks Prabha linuxrc: ------------ #!/bin/nash echo Mounting /proc filesystem mount -t proc /proc /proc echo Creating block devices mkdevices /dev echo Creating root device mkrootdev /dev/root echo 0x0100 > /proc/sys/kernel/real-root-dev echo Mounting root filesystem mount -o defaults --ro -t ext3 /dev/root /sysroot pivot_root /sysroot /sysroot/initrd umount /initrd/proc ------------- /tftpboot/pxelinux.cfg/C0A80102 -------------- PROMPT 1 DEFAULT net4521 LABEL net4521 KERNEL vmlinuz-2.6.6-net4521 ip=:::::eth0:dhcp APPEND console=ttyS0,19200n81 ramdisk_size=16384 root=/dev/ram0 init=/linuxrc rw initrd=initrd-net4521 IPAPPEND 1 -------------- These are the boot messages I get on my minicom. ==========comBIOS ver. 1.15 20021013 Copyright (C) 2000-2002 Soekris Engineering. net45xx 0064 Mbyte Memory CPU 80486 133 Mhz PXE-M00: BootManage UNDI, PXE-2.0 (build 082) ..ot Vend Dvv ClassRev Cmd Stat CL LT HT Base1 Base2 Int 6HLinux version 2.6.6-net4521 (root at localhost.localdomain) (gcc version 3.2.2 24BIOS-provided physical RAM map:2280 00 00 00 00000000 00000000 00 BIOS-e801: 0000000000000000 - 000000000009f000 (usable)0000A0 10 BIOS-e801: 0000000000100000 - 0000000004000000 (usable)0000A0 10 64MB LOWMEM available.000 0107 0290 00 3F 00 0000E101 A0002000 11 On node 0 totalpages: 16384107 0290 00 3F 00 0000E201 A0003000 05 DMA zone: 4096 pages, LIFO batch:1 Normal zone: 12288 pages, LIFO batch:3rl-P for entering Monitor. HighMem zone: 0 pages, LIFO batch:1 DMI not present. Press ? for help. ACPI: Unable to locate RSDP Built 1 zonelists Kernel command line: console=ttyS0,19200n81 ramdisk_size=16384 root=/dev/ram0 i Initializing CPU#0XE-2.0 (build 082) PID hash table entries: 512 (order 9: 4096 bytes)082 (OEM52) Using pit for high-res timesourcechnology GbbH, D-41466 Neuss. Memory: 62596k/65536k available (1034k kernel code, 2456k reserved, 361k data, )Checking if this processor honours the WP bit even in supervisor mode... Ok. Calibrating delay loop... 65.53 BogoMIPS Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)8.1.1 Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: AMD 486 DX/4-WB stepping 041HI3;01HN3;01HU3;01HX3;01H 3;01H23;01H.3;01H13;MChecking 'hlt' instruction... OK. POSIX conformance testing by UNIFIX checking if image is initramfs... it isn't (no cpio magic); looks like an initrd Freeing initrd memory: 220k freed NET: Registered protocol family 16 PCI: PCI BIOS revision 2.00 entry at 0xf00e1, last bus=2 PCI: Using configuration type 1 PCI: Probing PCI hardware PCI: Probing PCI hardware (bus 00) devfs: 2004-01-31 Richard Gooch (rgooch at atnf.csiro.au) devfs: boot_options: 0x0 Initializing Cryptographic API Real Time Clock Driver v1.12 Non-volatile memory driver v1.2 Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize loop: loaded (max 8 devices) 9HLinux version 2.6.6-net4521 (root at localhost.localdomain) (gcc version 3.2.2 24BIOS-provided physical RAM map: BIOS-e801: 0000000000000000 - 000000000009f000 (usable) BIOS-e801: 0000000000100000 - 0000000004000000 (usable) 64MB LOWMEM available. CPU 80486 133 Mhz On node 0 totalpages: 16384 DMA zone: 4096 pages, LIFO batch:1 Normal zone: 12288 pages, LIFO batch:3 082) HighMem zone: 0 pages, LIFO batch:1 DMI not present. ClassRev Cmd Stat CL LT HT Base1 Base2 Int ACPI: Unable to locate RSDP---------------------------------------- Built 1 zonelists06000000 0006 2280 00 00 00 00000000 00000000 00 Kernel command line: console=ttyS0,19200n81 ramdisk_size=16384 root=/dev/ram0 i Initializing CPU#06070000 0107 0210 10 3F 82 A0001000 020000A0 10 PID hash table entries: 512 (order 9: 4096 bytes)E101 A0002000 11 Using pit for high-res timesource90 00 3F 00 0000E201 A0003000 05 Memory: 62608k/65536k available (1034k kernel code, 2452k reserved, 361k data, )Checking if this processor honours the WP bit even in supervisor mode... Ok. Calibrating delay loop... 65.79 BogoMIPS Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: AMD 486 DX/4-WB stepping 04 Checking 'hlt' instruction... OK.82) POSIX conformance testing by UNIFIX 1.0, SDK 3.0/082 (OEM52) checking if image is initramfs...it isn't (no cpio magic); looks like an initrd Freeing initrd memory: 219k freed1998, 1999, 2000 Intel Corporation. NET: Registered protocol family 16 PCI: PCI BIOS revision 2.00 entry at 0xf00e1, last bus=2 PCI: Using configuration type 1 64 PCI: Probing PCI hardwareASK: 255.255.255.0 DHCP IP: 192.168.1.1 PCI: Probing PCI hardware (bus 00) devfs: 2004-01-31 Richard Gooch (rgooch at atnf.csiro.au);01H 3;01H23;01H.3;01H13;Mdevfs: boot_options: 0x0 Initializing Cryptographic API Real Time Clock Driver v1.12 Non-volatile memory driver v1.2 Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize loop: loaded (max 8 devices) Using anticipatory io scheduler nbd: registered device at major 43 natsemi dp8381x driver, version 1.07+LK1.0.17, Sep 27, 2002 originally by Donald Becker <becker at scyld.com> http://www.scyld.com/network/natsemi.html 2.4.x kernel port by Jeff Garzik, Tjeerd Mulder eth0: NatSemi DP8381[56] at 0xc4800000, 00:00:24:c0:e7:64, IRQ 11. eth1: NatSemi DP8381[56] at 0xc4802000, 00:00:24:c0:e7:65, IRQ 5. NET: Registered protocol family 2 IP: routing cache hash table of 512 buckets, 4Kbytes TCP: Hash tables configured (established 4096 bind 8192) NET: Registered protocol family 1 NET: Registered protocol family 17 Bridge firewalling registered RAMDISK: Compressed image found at block 0 VFS: Mounted root (ext2 filesystem). Freeing unused kernel memory: 112k freed Red Hat nash version 3.4.42 starting Mounting /proc filesystem Creating block devices ========== /var/log/messages ------- Jun 30 15:11:32 localhost dhcpd: DHCPDISCOVER from 00:00:24:c0:e7:64 via eth0 Jun 30 15:11:32 localhost dhcpd: DHCPOFFER on 192.168.1.2 to 00:00:24:c0:e7:64 via eth0 Jun 30 15:11:34 localhost dhcpd: DHCPREQUEST for 192.168.1.2 (192.168.1.1) from 00:00:24:c0:e7:64 via eth0 Jun 30 15:11:34 localhost dhcpd: DHCPACK on 192.168.1.2 to 00:00:24:c0:e7:64 via eth0 Jun 30 19:11:34 localhost in.tftpd[3321]: RRQ from 192.168.1.2 filename pxelinux.0 Jun 30 19:11:34 localhost in.tftpd[3321]: tftp: client does not accept options Jun 30 19:11:34 localhost in.tftpd[3322]: RRQ from 192.168.1.2 filename pxelinux.0 Jun 30 19:11:38 localhost in.tftpd[3323]: RRQ from 192.168.1.2 filename pxelinux.cfg/01-00-00-24-c0-e7-64 Jun 30 19:11:38 localhost in.tftpd[3323]: sending NAK (1, File not found) to 192.168.1.2 Jun 30 19:11:39 localhost in.tftpd[3324]: RRQ from 192.168.1.2 filename pxelinux.cfg/C0A80102 Jun 30 19:12:03 localhost in.tftpd[3325]: RRQ from 192.168.1.2 filename vmlinuz-2.6.6-net4521 Jun 30 19:12:04 localhost in.tftpd[3326]: RRQ from 192.168.1.2 filename initrd-net4521 ------ Contents of the initrd-net4521: ------------- -rwxr-xr-x 1 root root 340 Jun 30 15:10 linuxrc lrwxrwxrwx 1 root root 3 Jun 30 15:10 sbin -> bin bin: total 470 drwxr-xr-x 2 root root 1024 Jun 30 15:10 . drwxr-xr-x 9 root root 1024 Jun 30 15:10 .. -rwxr-xr-x 1 root root 443704 Jun 30 15:10 insmod lrwxrwxrwx 1 root root 10 Jun 30 15:10 modprobe -> /sbin/nash -rwxr-xr-x 1 root root 30132 Jun 30 15:10 nash dev: total 2 drwxr-xr-x 2 root root 1024 Jun 30 15:10 . drwxr-xr-x 9 root root 1024 Jun 30 15:10 .. crw-r--r-- 1 root root 5, 1 Jun 30 15:10 console crw-r--r-- 1 root root 1, 3 Jun 30 15:10 null brw-r--r-- 1 root root 1, 1 Jun 30 15:10 ram crw-r--r-- 1 root root 4, 0 Jun 30 15:10 systty crw-r--r-- 1 root root 4, 1 Jun 30 15:10 tty1 crw-r--r-- 1 root root 4, 2 Jun 30 15:10 tty2 crw-r--r-- 1 root root 4, 3 Jun 30 15:10 tty3 crw-r--r-- 1 root root 4, 4 Jun 30 15:10 tty4 etc: total 2 drwxr-xr-x 2 root root 1024 Jun 30 15:10 . drwxr-xr-x 9 root root 1024 Jun 30 15:10 .. lib: total 2 drwxr-xr-x 2 root root 1024 Jun 30 15:10 . drwxr-xr-x 9 root root 1024 Jun 30 15:10 .. loopfs: total 2 drwxr-xr-x 2 root root 1024 Jun 30 15:10 . drwxr-xr-x 9 root root 1024 Jun 30 15:10 .. proc: total 2 drwxr-xr-x 2 root root 1024 Jun 30 15:10 . drwxr-xr-x 9 root root 1024 Jun 30 15:10 .. sysroot: total 2 drwxr-xr-x 2 root root 1024 Jun 30 15:10 . drwxr-xr-x 9 root root 1024 Jun 30 15:10 .. ----------------