Diskless/readonly root booting issues

Morgan Reed morgan.s.reed at gmail.com
Wed Sep 29 14:50:18 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


More information about the freebsd-stable mailing list