Date: Tue, 2 Apr 2002 14:57:45 -0600 (CST) From: Eduardo Viruena Silva <mrspock@esfm.ipn.mx> To: <freebsd-questions@freebsd.org> Subject: FreeBSD 4.5-R diskless. Message-ID: <20020331014911.P75365-100000@Gina.esfm.ipn.mx>
next in thread | raw e-mail | index | archive | help
I give up! I cannot understand why my diskless system is not working. I'm working with FreeBSD4.5-RELEASE. This is what I have done: 1. I have a free slice in my hard disk [slice 3]. I made a new file system in it with /stand/sysinstall took the slide and mounted it on /diskless cd /dev ./MAKEDEV ad0s3c newfs /dev/ad0s3c mkdir /diskless mount /dev/ad0s3c /diskless mkdir /diskless/rootfs 2. With /stand/sysinstall I loaded bin, crypto and sys distributions in it. 3. I installed and configured isc-dhcp3-3.0.1.r4 the /usr/local/etc/dhcpd.conf files is: ================ ddns-update-style none; option domain-name "esfm.ipn.mx"; option domain-name-servers 148.204.102.3; default-lease-time 600; max-lease-time 7200; subnet 192.168.123.0 netmask 255.255.255.0 { option routers 192.168.123.254; host lucia { hardware ethernet 00:01:03:be:a4:c5; fixed-address 192.168.123.176; filename "/tftpboot/kernel"; option root-path "192.168.123.112:/diskless/rootfs"; } } ============== and made dhcpd.leases data base: touch /var/db/dhcpd.leases dhcp server is working, a neighbour machine took its IP properly. 4. I enabled tftpd in /etc/inetd, the configuration line says: tftp dgram udp wait nobody /usr/libexec/tftpd tftpd /tftpboot I restarted inetd: killall -HUP inetd tftpd is working properly because I can transfer files from my server by tftp. 5. I recompiled and installed my diskless kernel. I believe that my configuration file is too large to include in this messages but it configures a very simple kernel including: --- options BOOTP # Use BOOTP to obtain IP address/hostname options BOOTP_NFSROOT # NFS mount root filesystem using BOOTP info options BOOTP_NFSV3 # Use NFS v3 to NFS mount root options BOOTP_COMPAT # Workaround for broken bootp daemons. --- to install my kernel: chroot /diskless/rootfs cd /sys/i386/compile/diskless make install exit it worked fine. Then, I copied my kernel to /tftpboot cp /diskless/rootfs/kernel /tftpboot 6. I made a simple /etc/fstab file: # Device Mountpoint FStype Options Dump Pass# 192.168.123.112 / nfs rw 1 1 7. I compiled /usr/port/net/etherboot and, I am using a booting diskette that I made: cat floppyload.bin.pre eepro100.rom > /dev/fd0 it works fine, recognizes my ethernet card and transfer my kernel. 8. I know I must create /conf/default/etc with a copy of my /etc directory, BUT......... When the kernel is loaded, it begins to check my diskless computer. Finally it sends a "DHCP discovery packet" to find the NFS directory that will be used as root directory. It finds it correctly saying: NFS ROOT: 192.168.123.112:/diskless/root and it complains saying that cannot find "init" in a list of directories. Now, if I stop the kernel before it takes the control of my diskless box, it has already mounted 192.168.123.112:/diskless/root and the files can be listed. I do not understand what is happening, it seems that my kernel is not able to load its root file system and it cannot find init in it. The same procedure [with the only difference in the dhcpd version] is working perfectly in a FreeBSD 4.3 server [/client]. Do you have any idea of what I am doing wrong? Any help will be appreciated. Eduardo. -- Eduardo Viruena Silva (55) 57296000 ext 55043 eduardo.viruena@esfm.ipn.mx To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020331014911.P75365-100000>