Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Feb 2010 18:11:36 -0800
From:      Jeremy Chadwick <freebsd@jdc.parodius.com>
To:        freebsd-stable@freebsd.org
Subject:   Re: netboot issues, 8.0, mfsroot mount failure
Message-ID:  <20100217021136.GA10628@icarus.home.lan>
In-Reply-To: <alpine.OSX.2.00.1002162009030.840@hotlap.local>
References:  <alpine.OSX.2.00.1002162009030.840@hotlap.local>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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@parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100217021136.GA10628>