Diskless/readonly root booting issues

Daniel Braniss danny at cs.huji.ac.il
Thu Sep 30 08:45:10 UTC 2010


> Hi all,
> 
>         I've been working on updating my semi-embedded images to
> 7.3-stable of late (I generally wait for .3+ releases), it's been a
> few years since the last time I did one of these and I'm having some
> issues getting my netboot test environment to behave itself.
> 
> I'm sure it's something simple but I've spent quite a bit of time
> looking for answers and poking the system but no joy yet.
> 
> Basically I use a PXE booted NFS root to test my reduced footprint
> image builds, the boot is working but init is attempting to remount /
> rw (in spite of it being marked ro in fstab) which of course fails
> because the directory is exported ro from the NFS server at which
> point the system dumps me to single user mode;
> 
> === OUTPUT ===
> 
> Starting file system checks:
> udp: Netconfig database not found
> Mounting root filesystem rw failed, startup aborted
> ERROR: ABORTING BOOT (sending SIGTERM to parent)!
> Sep 30 09:60:02 init: /bin/sh on /etc/rc terminated abnormally, going
> to single user mode
> Enter full pathname of shell or RETURN for /bin/sh:
> 
> ============
> 
> Relevant configs from the diskless root
> 
> == rc.conf ==
> 
> ifconfig_le0="DHCP"
> 
> diskless_mount=/etc/rc.initdiskless
> 
> varsize=8192
> varmfs="YES"
> 
> tmpsize=8192
> tmpmfs="YES"
> 
> nfs_client_enable="YES"
> 
> dumpdev="NO"
> 
> =========
> 
> rc.initdiskless is the version from /usr/share/examples/rc.initdiskless
> 
> == fstab ==
> 
> 192.168.2.2:/usr/fbtest / nfs ro 0 0
> proc /proc procfs rw 0 0
> 
> ========
> 
> == loader.conf ==
> 
> verbose_loading="YES"
> 
> autoboot_delay="2"
> 
> ============
> 
> Kernel is (obviously) built with NFS_ROOT and NFSCLIENT, relatively
> minimalist otherwise, have also tested with GENERIC, same result.
> 
> I must be forgetting something simple in all of this, I don't recall
> it being terribly difficult to get this stuff working when I was doing
> my original work with 6.3, though I don't recall the use of the
> initdiskless script, IIRC I was using rc.diskless2 which (again IIRC)
> was later replaced by /etc/rc.d/diskless but I've not been able to
> find this script anywhere.
> 
> Any suggestions would be greatly appreciated at this point.
> 
> Thanks,
> 
> Morgan Reed

firstly, you should be using the latest pxeboot, it passes the root file-handle
to the kernel, so no need to remount it, so remove the line from the fstab.
secondly, try using /etc/rc.initdiskless - which is the default.
use the KISS method :-)

danny




More information about the freebsd-stable mailing list