netboot issues, 8.0, mfsroot mount failure
Jeremy Chadwick
freebsd at jdc.parodius.com
Wed Feb 17 02:11:40 UTC 2010
On Tue, Feb 16, 2010 at 08:28:03PM -0500, Charles Sprickman wrote:
> Howdy,
>
> I'm having some problems getting 8.0 to install over the network.
> I've got my dhcp, tftp and nfs server working well, and I've tested
> all three services from this host before attempting to boot over the
> network.
>
> pxeboot seems to work, and I see it get loaded via tftp. The kernel
> boots, and parses the options in loader.conf that exist in my
> nfs-exported 8.0 DVD fileset:
>
> [root at archive /home/spork/tmp]# cat
> /usr/local/netboot/freebsd8/boot/loader.conf
> mfsroot_load="YES"
> mfsroot_type="mfs_root"
> mfsroot_name="/boot/mfsroot"
> boot_multicons="YES"
> boot_serial="YES"
> console="comconsole,vidconsole"
> vfs.root.mountfrom="ufs:/dev/md0c"
>
> I see the kernel does find mfsroot and attaches it:
>
> md0: Preloaded image </boot/mfsroot> 4423680 bytes at 0xc0f6dfe0
>
> But then when it's ready to mount the root filesystem, I get this:
>
> SMP: AP CPU #1 Launched!
> Trying to mount root from ufs:/dev/md0c
> ROOT MOUNT ERROR:
>
> If you have invalid mount options, reboot, and first try the
> following from the loader prompt:
>
> set vfs.root.mountfrom.options=rw
>
> and then remove invalid mount options from /etc/fstab.
>
> It doesn't really state what the error is. It's hinting that it's
> read-only, but that seems odd. Even if it couldn't mount r/w,
> shouldn't it just drop to single-user at this point?
>
> Next it tries nfs:
>
> Trying to mount root from nfs:
> NFS ROOT: 192.168.1.111:/usr/local/netboot/freebsd8
> em0: link state changed to UP
>
> And there it sits. Remotely I can't do anything. If I'm local, I
> can ctrl-alt-del a few times and then about a minute later it does
> an orderly restart.
We've been talking off-list about this (and other things), but at this
point I'm pretty sure the problem is that the local slice naming
convention has changed in RELENG_8 from what it was in RELENG_7.
This is the cause/result of the "GEOM overhall" (or whatever it is; I
don't know what to call it. Is it libdisk changes? GEOM? Both? I
really don't know). Basically, the way the full size of the disk gets
handled differs now from RELENG_7. (See footnote for "fun") So, try
changing this:
vfs.root.mountfrom="ufs:/dev/md0c"
...to this (look closely):
vfs.root.mountfrom="ufs:/dev/md0"
Remember: the mfsroot image is essentially a UFS filesystem that's
mounted as memory disk. Since you re-created mfsroot (like you're
supposed to :-) ) on a RELENG_8 box, the layout is different.
The NFS root mount you see happening later is a result of the root
filesystem not being available. This is normal if mfsroot fails.
Please let me (on the list) know if this fixes your problem.
Footnote: This is why I tell folks to zero out the first 8192 bytes of
any disk they've previously installed FreeBSD on (even if the disk has
no filesystems/slices on it). The way FreeBSD determines the size of
the disk differs in RELENG_8; I believe GEOM "figures it out" on its own
now, while previous releases relied on the "c" slice. The method I've
recommended: do dd if=/dev/zero of=/dev/adX bs=512 count=16.
--
| Jeremy Chadwick jdc at parodius.com |
| Parodius Networking http://www.parodius.com/ |
| UNIX Systems Administrator Mountain View, CA, USA |
| Making life hard for others since 1977. PGP: 4BD6C0CB |
More information about the freebsd-stable
mailing list