FreeBSD 8.4 Boot failure

Tyler Sweet tyler at tsweet.net
Wed Sep 25 08:54:51 UTC 2013


Luckily, in this case, I had set a cron job long, long ago to do daily
snapshots. So I have a snapshot from before the upgrade - There are
indeed two different loaders. The newer one matches "zfs" when
grepped, the older one does not... But, since it was working before, I
restored the older loader and tried to boot again. No dice - it still
sticks at that screen where all I see is "/" in the upper left.

I also tried putting the older zfsboot and zfsloader back in place
(with the old loader) to try and get a different error - still no
dice. I'm still stuck wondering if that screen is from FreeBSD
attempting to boot, or from the BIOS - but nothing changed for
booting, as far as I know. I'll poke through the BIOS more tomorrow as
well to see if some option got reset during a power-off.

I'll get a more thorough look at what all changed in /boot tomorrow
too, and get a list of all the files. It's almost 4am here and I have
to work tomorrow :) (well, today I suppose). I'll also check to see if
I can find anything about if zfs boot works differently in 8.4 vs 8.3
and older, as I may not have rebooted after the final "freebsd-update
install" command (I *think* I did, but my memory gets fuzzy).

Thanks for the input! I hope you have a good morning, and I'll let you
know tomorrow/later today with anything new and interesting I find :)

On Wed, Sep 25, 2013 at 1:45 AM, Terje Elde <terje at elde.net> wrote:
> On 25. sep. 2013, at 06:59, Tyler Sweet <tyler at tsweet.net> wrote:
>> I tried reinstalling the boot blocks from both
>> the fixit live filesystem and also mounting zroot and using the files
>> there in case they were different.
>
> Disclaimer: I haven't gotten (enough) morning-coffee yet, but...
>
> Disclaimer 2: at times tracking how zfs-booting is done in the different versions can be a bit tricky. This is a moving target, and I've lost track of the 8-branch.
>
> That said, assuming you have the correct bootcode (gptzfsboot), here's what might have happened:
>
> You installed 8.2, with a loader supporting zfs. Then you upgraded your /boot-stuffs, and bootcode on disk (correctly), but got left with a loader without zfs support. Then tried to upgrade the bootcode, but you're still left with a loader not supporting zfs.
>
> If I recall correctly, then the zfs-bootcode for 9+ will use "zfsloader" (supporting zfs and built by default), while earlier versions depend on "loader" with zfs support (built without by default).
>
> If that's the case, you could dump LOADER_ZFS_SUPPORT into /etc/make.conf and rebuild/reinstall it, or install /boot/loader from the fixit (if it has zfs support in 8.4).
>
> That's my first thought at least... If that  doesn't fix it (remember backups of any files you replace or upgrade), it'd be interesting to see the output of:
> ls -l /boot/*loader /boot/*boot
> On the /boot you're using. Anything that didn't get built or installed?
>
> Also, did you snapshot your zfs before upgrading? Could be a working /boot/loader there, which might be the easiest way to get the system up, before rebuilding with ZFS-capable loader... if I'm right, which isn't a given (ref disclaimers).
>
> Terje
>


More information about the freebsd-questions mailing list