> 1-> Compied with ./configure --enable-bootrom > 2-> make dep; make clean > 3-> make bootrom ----> image.flo and image.rom > 4-> with dd command I make the bootfloppy: > dd if=image.flo of=/dev/fd0 That's all correct. > 5-> boot from floppy -> The server is ok. The server > send the IP number and the vmlinuz kernel file > but the secuence of boot is stopped with the > next message: ERROR invalid header !! You must use mknbi-linux to make the boot image, consisting primarly of the kernel, and optionally an initrd, the initial (root) ram disk. In my case I'm using initrd and then also remounting root via NFS, so I get my initrd and vmlinuz and use mknbi-linux as follows: mknbi-linux -d ram -i rom -r initrd.gz -k vmlinuz -o bootImage -a "root=/dev/nfs" The "-a /dev/nfs" is necessary if you want to remount root via NFS after exiting in the initrd. In initrd, I have a linuxrc script, which can insert modules, etcetera, and in fact I use this script to configure the root-NFS parameters directly into the /proc filesystem: -------- linuxrc #!/bin/sh #echo Initialising network adapter #/bin/insmod /boot/8390.o #/bin/insmod /boot/ne.o io=0x300 echo Initialising Ethernet interface DEVICE=eth0 GATEWAY=160.124.114.81 IPADDR=160.124.114.84 NETMASK=255.255.255.248 NETWORK=160.124.114.80 BROADCAST=160.124.114.87 HOSTNAME=aoh4 hostname ${HOSTNAME} /bin/ifconfig ${DEVICE} ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST} /bin/route add -net ${NETWORK} netmask ${NETMASK} ${DEVICE} /bin/route add -host ${IPADDR} ${DEVICE} /bin/route add default gw ${GATEWAY} metric 1 ${DEVICE} echo Setting NFS root parameters /bin/mount -t proc none /proc echo /rboot/rootfs > /proc/sys/kernel/nfs-root-name echo 160.124.114.84:160.124.114.82::255.255.255.248:aoh4 > /proc/sys/kernel/nfs-root-addrs echo 255 > /proc/sys/kernel/real-root-dev /bin/umount /proc /bin/sh -------- The final /bin/sh is just for testing. You get a shell, and then when you exit, the kernel will remount root via NFS, using the parameters set by linuxrc, in /proc/sys/kernel/stuff. By the way to make a 4Mb initrd: # dd if=/dev/zero of=initrd count=4096 bs=1024 # mkfs.ext2 initrd # mount -o loop initrd /mnt # cd /mnt # tar xvzf sample-initrd-rootfs.tgz # cd - # umount /mnt # gzip initrd By the way the default ramdisk size is 4Mb. If you have a 4Mb machine only, you'll want to make an initrd that is 2Mb, and append to the kernel parameters, "ramdisk_size=2048" You determine what libs you need by doing "ldd" on the binary files you need. You can see from the above script that I need insmod, ifconfig, route, mount, hostname, umount. In addition, you'll need some devices, which you must tar from your /dev directory and untar into the image. I'm appending an ls of my initrd after this email. Hope this helps! Regards Evan -------------------------------------------------------------|-----|-- Evan Summers, PhD Tel +27 82 900-8632 Symphony /|\ /|\ Linux systems integration http://sr.co.za Research { } { } Johannesburg, South Africa mailto:evan@sr.co.za (Pty)Ltd {___} {___} ------------------------------ ls of my custom initrd -rwxr-xr-x 1 root root 821 Jun 15 18:22 /rboot/image/linuxrc /rboot/image/app: total 1 drwxr-xr-x 2 root root 1024 Jun 15 15:54 fonts /rboot/image/bin: total 490 -rwxr-xr-x 1 root root 16568 Aug 10 1996 cat -rwxr-xr-x 1 root root 56924 Apr 20 18:20 ftp -rwxr-xr-x 1 root root 8116 Apr 20 18:47 hostname -rwxr-xr-x 1 root root 23608 Mar 1 21:04 ifconfig -rwxr-xr-x 1 root root 23752 Mar 1 20:37 insmod -rwxr-xr-x 1 root root 36792 Apr 20 18:04 ls -rwxr-xr-x 1 root root 118 Mar 1 20:37 lsmod -rwxr-xr-x 1 root root 16536 Jun 15 17:47 mkdir -rwsr-xr-x 1 root root 29712 Apr 20 19:46 mount -rwxr-xr-x 1 root root 85744 Apr 20 19:55 nslookup -rwxr-xr-x 1 root root 12268 Oct 29 1996 ping lrwxrwxrwx 1 root root 6 Jun 15 16:21 rmmod -> insmod -rwxr-xr-x 1 root root 22364 Apr 20 17:30 route -rwxr-xr-x 1 root root 61460 Mar 2 13:41 sh -rwxr-xr-x 1 root root 71460 Apr 22 11:51 telnet -rwsr-xr-x 1 root root 16360 Jun 15 17:47 umount /rboot/image/boot: total 32 -rw-r--r-- 1 root root 7352 Jun 15 16:13 8390.o -rw-r--r-- 1 root root 9112 Jun 15 16:13 ne.o -rw-r--r-- 1 root root 6780 Jun 15 16:14 smc-ultra.o -rw-r--r-- 1 root root 7388 Jun 15 16:14 wd.o /rboot/image/dev: total 1 lrwxrwxrwx 1 root root 8 Apr 22 12:18 arp -> inet/arp lrwxrwxrwx 1 root root 4 Apr 22 12:18 console -> tty0 lrwxrwxrwx 1 root root 11 Apr 22 12:18 core -> /proc/kcore crw-r----- 1 root uucp 5, 64 Mar 1 18:03 cua0 crw-r----- 1 root uucp 5, 65 Mar 1 18:03 cua1 lrwxrwxrwx 1 root root 8 Apr 22 12:18 egp -> inet/egp lrwxrwxrwx 1 root root 13 Apr 22 12:18 fd -> /proc/self/fd crw-r--r-- 1 root sys 1, 7 Mar 1 18:02 full lrwxrwxrwx 1 root root 8 Apr 22 12:18 ggp -> inet/ggp brw-r----- 1 root disk 3, 0 Mar 1 18:03 hda brw-r----- 1 root disk 3, 1 Mar 1 18:03 hda1 brw-r----- 1 root disk 3, 2 Mar 1 18:03 hda2 lrwxrwxrwx 1 root root 9 Apr 22 12:18 icmp -> inet/icmp lrwxrwxrwx 1 root root 8 Apr 22 12:18 idp -> inet/idp drwxr-xr-x 2 root root 1024 Jan 22 20:28 inet lrwxrwxrwx 1 root root 7 Apr 22 12:18 ip -> inet/ip lrwxrwxrwx 1 root root 9 Apr 22 12:18 ipip -> inet/ipip crw-r----- 1 root kmem 1, 2 Mar 1 18:02 kmem crw-r----- 1 root kmem 1, 1 Mar 1 18:02 mem crw-r--r-- 1 root sys 1, 3 Mar 1 18:02 null crw-r----- 1 root kmem 1, 4 Mar 1 18:02 port crw-r--r-- 1 root tty 2, 0 Mar 1 18:13 ptyp0 crw-r--r-- 1 root tty 2, 1 Mar 1 18:13 ptyp1 crw-r--r-- 1 root tty 2, 2 Mar 1 18:13 ptyp2 crw-r--r-- 1 root tty 2, 3 Mar 1 18:13 ptyp3 crw-r--r-- 1 root tty 2, 4 Mar 1 18:13 ptyp4 crw-r--r-- 1 root tty 2, 5 Mar 1 18:13 ptyp5 crw-r--r-- 1 root tty 2, 6 Mar 1 18:13 ptyp6 crw-r--r-- 1 root tty 2, 7 Mar 1 18:13 ptyp7 crw-r--r-- 1 root tty 2, 8 Mar 1 18:13 ptyp8 crw-r--r-- 1 root tty 2, 9 Mar 1 18:13 ptyp9 crw-r--r-- 1 root tty 2, 10 Mar 1 18:13 ptypa crw-r--r-- 1 root tty 2, 11 Mar 1 18:13 ptypb crw-r--r-- 1 root tty 2, 12 Mar 1 18:13 ptypc crw-r--r-- 1 root tty 2, 13 Mar 1 18:13 ptypd crw-r--r-- 1 root tty 2, 14 Mar 1 18:13 ptype crw-r--r-- 1 root tty 2, 15 Mar 1 18:13 ptypf lrwxrwxrwx 1 root root 8 Apr 22 12:18 pup -> inet/pup brw-r----- 1 root disk 1, 1 Mar 1 18:02 ram lrwxrwxrwx 1 root root 10 Apr 22 12:18 rawip -> inet/rawip lrwxrwxrwx 1 root root 8 Apr 22 12:18 rip -> inet/rip lrwxrwxrwx 1 root root 4 Apr 22 12:18 stderr -> fd/2 lrwxrwxrwx 1 root root 4 Apr 22 12:18 stdin -> fd/0 lrwxrwxrwx 1 root root 4 Apr 22 12:18 stdout -> fd/1 lrwxrwxrwx 1 root root 4 Apr 22 12:18 systty -> tty0 lrwxrwxrwx 1 root root 8 Apr 22 12:18 tcp -> inet/tcp crw-r--r-- 1 root tty 5, 0 Mar 1 18:02 tty crw------- 1 root tty 4, 0 Mar 1 18:02 tty0 crw-r--r-- 1 root tty 4, 1 Mar 1 18:02 tty1 crw-r--r-- 1 root tty 4, 2 Mar 1 18:02 tty2 crw-r--r-- 1 root tty 4, 3 Mar 1 18:02 tty3 crw-r--r-- 1 root tty 4, 4 Mar 1 18:02 tty4 crw-r--r-- 1 root tty 4, 5 Mar 1 18:02 tty5 crw-r--r-- 1 root tty 4, 6 Mar 1 18:02 tty6 crw-r--r-- 1 root tty 4, 7 Mar 1 18:02 tty7 crw-r--r-- 1 root tty 4, 8 Mar 1 18:02 tty8 crw-r--r-- 1 root tty 4, 64 Mar 1 18:03 ttyS0 crw-r--r-- 1 root tty 4, 65 Mar 1 18:03 ttyS1 crw-r--r-- 1 root tty 3, 0 Mar 1 18:13 ttyp0 crw-r--r-- 1 root tty 3, 1 Mar 1 18:13 ttyp1 crw-r--r-- 1 root tty 3, 2 Mar 1 18:13 ttyp2 crw-r--r-- 1 root tty 3, 3 Mar 1 18:13 ttyp3 crw-r--r-- 1 root tty 3, 4 Mar 1 18:13 ttyp4 crw-r--r-- 1 root tty 3, 5 Mar 1 18:13 ttyp5 crw-r--r-- 1 root tty 3, 6 Mar 1 18:13 ttyp6 crw-r--r-- 1 root tty 3, 7 Mar 1 18:13 ttyp7 crw-r--r-- 1 root tty 3, 8 Mar 1 18:13 ttyp8 crw-r--r-- 1 root tty 3, 9 Mar 1 18:13 ttyp9 crw-r--r-- 1 root tty 3, 10 Mar 1 18:13 ttypa crw-r--r-- 1 root tty 3, 11 Mar 1 18:13 ttypb crw-r--r-- 1 root tty 3, 12 Mar 1 18:13 ttypc crw-r--r-- 1 root tty 3, 13 Mar 1 18:13 ttypd crw-r--r-- 1 root tty 3, 14 Mar 1 18:13 ttype crw-r--r-- 1 root tty 3, 15 Mar 1 18:13 ttypf lrwxrwxrwx 1 root root 8 Apr 22 12:18 udp -> inet/udp crw------- 1 root sys 7, 0 Mar 1 18:02 vcs0 crw------- 1 root sys 7, 1 Mar 1 18:02 vcs1 crw------- 1 root sys 7, 2 Mar 1 18:02 vcs2 crw------- 1 root sys 7, 3 Mar 1 18:02 vcs3 crw------- 1 root sys 7, 4 Mar 1 18:02 vcs4 crw------- 1 root sys 7, 5 Mar 1 18:02 vcs5 crw------- 1 root sys 7, 6 Mar 1 18:02 vcs6 crw------- 1 root sys 7, 7 Mar 1 18:02 vcs7 crw------- 1 root sys 7, 8 Mar 1 18:02 vcs8 crw-r--r-- 1 root sys 1, 5 Mar 1 18:02 zero /rboot/image/etc: total 30 -rw-r--r-- 1 root root 26 Apr 20 19:59 host.conf -rw-r--r-- 1 root root 78 Jun 15 17:41 hosts -rw-r--r-- 1 root root 161 Apr 20 18:21 hosts.allow -rw-r--r-- 1 root root 347 Apr 20 18:21 hosts.deny -rw-r--r-- 1 root root 4216 Mar 1 20:22 ld.so.cache -rw-r--r-- 1 root root 221 Apr 22 11:45 lilo.conf -rw-r--r-- 1 root root 1208 Apr 20 20:01 nsswitch.conf -rwxr-xr-x 1 root root 95 Jun 15 18:25 profile -rw-r--r-- 1 root root 715 Apr 20 18:21 protocols -rw-r--r-- 1 root root 42 Apr 20 18:39 resolv.conf -rw------- 1 root root 76 Apr 20 18:21 securetty -rw-r--r-- 1 root root 4491 Apr 20 18:21 services -rwxr-xr-x 1 root root 272 Jun 15 16:57 startlo -rwxr-xr-x 1 root root 103 Jun 15 16:57 startne -rwxr-xr-x 1 root root 459 Jun 15 16:58 startnet -rwxr-xr-x 1 root root 278 Jun 15 17:43 startrootnfs -rwxr-xr-x 1 root root 102 Jun 15 17:06 startsmc -rwxr-xr-x 1 root root 109 Jun 15 17:06 startsmcultra -rw------- 1 root root 1952 Apr 22 14:53 termcap drwxr-xr-x 2 root root 1024 May 12 10:46 vga /rboot/image/lib: total 1015 -rwxr-xr-x 2 root root 21367 Aug 26 1996 ld-linux.so.1 -rwxr-xr-x 2 root root 21367 Aug 26 1996 ld-linux.so.1.7.14 lrwxrwxrwx 1 root root 14 Apr 22 12:18 libc.so.5 -> libc.so.5.3.12 -rwxr-xr-x 1 root root 706960 Dec 5 1996 libc.so.5.3.12 lrwxrwxrwx 1 root root 13 Apr 22 12:18 libm.so.5 -> libm.so.5.0.6 -rwxr-xr-x 1 root root 36309 Dec 5 1996 libm.so.5.0.6 lrwxrwxrwx 1 root root 19 Apr 22 12:18 libtermcap.so.2 -> libtermcap.so.2.0.8 -rwxr-xr-x 1 root root 11293 Apr 22 11:52 libtermcap.so.2.0.8 lrwxrwxrwx 1 root root 16 May 12 10:40 libvga.so.1 -> libvga.so.1.2.10 -rwxr-xr-x 1 root root 182356 May 12 10:40 libvga.so.1.2.10 lrwxrwxrwx 1 root root 18 May 12 10:40 libvgagl.so.1 -> libvgagl.so.1.2.10 -rwxr-xr-x 1 root root 46548 May 12 10:40 libvgagl.so.1.2.10 /rboot/image/lost+found: total 0 /rboot/image/proc: total 0
For requests or suggestions regarding this mailing list archive please write to netboot@gkminix.han.de.