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>
