Date: Fri, 2 Sep 2011 08:55:17 +0930 From: "Daniel O'Connor" <doconnor@gsoft.com.au> To: Craig Rodrigues <rodrigc@crodrigues.org> Cc: freebsd-current Current <freebsd-current@freebsd.org> Subject: Re: Custom installer woes (can't mount / RW) Message-ID: <853AC658-9F23-4DC1-9004-CFF6AAD108F7@gsoft.com.au> In-Reply-To: <CAG=rPVe4RfFpHgTzGEL_-NhT9yGivpuvXdQZ2z-kFnpbmO3_vQ@mail.gmail.com> References: <B1A112E0-2DC5-42D0-9C57-C703339D0385@gsoft.com.au> <CAG=rPVe4RfFpHgTzGEL_-NhT9yGivpuvXdQZ2z-kFnpbmO3_vQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 01/09/2011, at 18:17, Craig Rodrigues wrote: > Does it make a difference if you change this line in your script: >=20 > echo '/dev/gpt/swap / swap sw 0 0' = >>${TMPDIR}/mnt/etc/fstab >=20 > to: >=20 > echo '/dev/gpt/swap none swap sw 0 0' = >>${TMPDIR}/mnt/etc/fstab >=20 > Mounting of the root file system "/" is a very interesting thing. Ahh $CURSE, that is it! I changed it to none and now it works properly! > During early bootup, when loader(8) runs, it has to read the root file > system to find and load the kernel, > but it also reads /etc/fstab (if it is there) and sets some > environment variables, having to do with mounting the > root file system. This logic is in src/sys/boot/common/boot.c in the > getrootmount() function. The environment > variables which are set are "vfs.root.mountfrom", and > "vfs.root.mountfrom.options". >=20 > After your install script runs, you should break into the loader > before the kernel loads, and look at the value of those two > environment variables. Interestingly mountfrom is correct, I also tried setting it in the = loader to /dev/da0p2 but no change. > If there is something else wrong, you need to look into the logic > in src/sys/kern/vfs_mount.c in the vfs_mountroot() function. I wonder if there is something in this - perhaps the loader using the = first match and mount is using the last. > BTW, once you solve your issue, do you have time to review the > following document which I am in the middle > of submitting to the FreeBSD Documentation Project: >=20 > "PXE Booting with an NFS root file system" > = http://people.freebsd.org/~rodrigc/doc/doc/en_US.ISO8859-1/books/handbook/= network-pxe-nfs.html >=20 > It's not 100% related to your current issue, but I have used PXE > Booting + NFS root, to write custom installers for > FreeBSD. I had a read and it seems OK, although I didn't actually try it. You may wish to elaborate on step 14. For example, some ports will fail = to build (and probably install) unless /dev is setup correctly. I do the following to create the chroot for port builds.. sudo mount -t devfs devfs /tmp/${RELNAME}-ports/dev sudo mkdir /tmp/${RELNAME}-ports/usr/ports sudo mount -t nullfs -o ro /usr/ports /tmp/${RELNAME}-ports/usr/ports sudo mount -t nullfs -o ro /usr/src /tmp/${RELNAME}-ports/usr/src -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?853AC658-9F23-4DC1-9004-CFF6AAD108F7>