Date: Thu, 25 Nov 2004 03:25:14 +0100 (CET) From: Erik Norgaard <norgaard@locolomo.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: kern/74352: PXEBoot problems using md as root device Message-ID: <200411250225.iAP2PEk0091029@charm.daemonsecurity.com> Resent-Message-ID: <200411250230.iAP2UNAX082016@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 74352 >Category: kern >Synopsis: PXEBoot problems using md as root device >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Nov 25 02:30:23 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Erik Norgaard >Release: FreeBSD 6.0-CURRENT i386/FreeBSD 5.3-RELEASE >Organization: >Environment: System: VIA C3 Nehemiah CL1000 with dual VIA Rhine III NIC, 256MB RAM, 60GB HDD dmesg extract (FreeBSD 4.10): vr0: <VIA VT6105 Rhine III 10/100BaseTX> port 0xd000-0xd0ff mem 0xde000000-0xde0000ff irq 12 at device 15.0 on pci0 vr0: Ethernet address: 00:40:63:d4:89:72 miibus0: <MII bus> on vr0 vr1: <VIA VT6102 Rhine II 10/100BaseTX> port 0xe800-0xe8ff mem 0xde002000-0xde0020ff irq 11 at device 18.0 on pci0 vr1: 00:40:63:d4:89:71 miibus1 <MII bus> on vr1 OS: Tested both FreeBSD 6.0-CURRENT and 5.3-RELEASE with the same custom configuration file (PXE). >Description: I am trying to set up a jumpstart server using dhcp/tftp/ftp and _not_ nfs to automate installation. There are multiple problems, but they seem related. In short: The kernel insists on mounting a nfs root device rather than the provided memory disk. This happens although: 1) I specify in loader.conf that it should use a memory file system as root device (the file is fetched succesfully with tftp). 2) I exclude "option nfs_root" from the kernel configuration file It does not happen if: 1) I exclude "option nfsclient" from the kernel configuration file. BUT: Then the kernel fails to initialise the network device (over which the kernel was fetched) even though the network device driver is compiled into the kernel. Compiling a kernel with/-out "option BOOTP" does not change the result. When disabling nfsclient in the kernel, the boot messages does show that the kernel initialises the second interface vr1, but I cannot manually select it and I cannot manually configure vr0. There is no problem initializing the interface when NFSCLIENT is enabled. Also, I have previously had FreeBSD 4.10 installed and both interfaces up working. The server is running FreeBSD 6.0-CURRENT revision 199506. I have built the kernel and base system for the client from source, both RELENG_5 (nov 23) and -CURRENT (nov 25) as follows: make buildworld make -DLOADER_TFTP_SUPPORT=YES KERNCONF=PXE buildkernel make KERNCONF=PXE DESTDIR=/usr/nclt installkernel make DESTDIR=/usr/nclt installworld More information: I first reported my problems on the freebsd-questions mailing list, less structured. All the custom files I have created are available with the guide I wrote along the way: www.daemonsecurity.com/pxe/ >How-To-Repeat: I have described the full process in detail here www.daemonsecurity.com/pxe/. Assuming you have the environment setup for pxeboot and no nfsexports: Update the sources, and build the kernel as described above with the following options in the kernel configuration file: # Filesystems options MD_ROOT # MD is a potential root device options PSEUDOFS # Pseudo-filesystem framework # Memory pseudo devices device mem # Memory and kernel memory devices device md # Memory "disks" needed for root file system Repeat with/-out: options NFSCLIENT >Fix: >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200411250225.iAP2PEk0091029>