zfs booting feedback

Marius Strobl marius at alchemy.franken.de
Sun Dec 16 21:32:47 UTC 2012


On Thu, Dec 13, 2012 at 01:05:16PM +0300, KOT MATPOCKuH wrote:
> Good morning!
> 
> I builded world/kernel from stable/9 r244121, installed zfsboot and
> zfsloader to disk on Sun Fire V240 with OpenBoot 4.30.4.a.
> But boot fails with:
> Rebooting with command: boot disk
> Boot device: /pci at 1c,600000/scsi at 2/disk at 0,0  File and args:
> 
> >> FreeBSD/sparc64 ZFS boot block
>     Boot path:   /pci at 1c,600000/scsi at 2/disk at 0,0:a
> Consoles: Open Firmware console
> ERROR: Last Trap: Division by Zero

Please use debug versions of the loaders and report the output of
`ctrace` on the boot monitor prompt. Building debug versions is
most easily done via `make DEBUG_FLAGS=-g` in path/to/src/boot
when building natively. You can also add the same when cross-
compiling but then you'll end up with debug versions of everything.
In both cases, make sure to not have any old object files in place.

> 
> Also I tried zfsloader builded from sources @ may 2012:
> (same zfsboot, but used zfsloader.old)
> Boot device: disk  File and args:
> 
> >> FreeBSD/sparc64 ZFS boot block
>     Boot path:   /pci at 1c,600000/scsi at 2/disk at 0,0:a
> Consoles: Open Firmware console
> ofwd_open: Could not open disk1:
> ofwd_open: Could not open disk2:
> ofwd_open: Could not open disk3:
> 
> FreeBSD/sparc64 ZFS enabled bootstrap loader, Revision 1.0
> (root at sunspot, Fri Nov  2 08:59:22 MSK 2012)
> bootpath="/pci at 1c,600000/scsi at 2/disk at 0,0:a"
> ZFS: i/o error - all block copies unavailable
> ZFS: i/o error - all block copies unavailable
> ZFS: i/o error - all block copies unavailable
> ZFS: i/o error - all block copies unavailable
> ZFS: i/o error - all block copies unavailable
> ZFS: i/o error - all block copies unavailable
> 
> ZFS: i/o error - all block copies unavailable
> ZFS: i/o error - all block copies unavailable
> ZFS: i/o error - all block copies unavailable
> ZFS: i/o error - all block copies unavailable
> ZFS: i/o error - all block copies unavailable
> ZFS: i/o error - all block copies unavailable
> ZFS: i/o error - all block copies unavailable
> ZFS: i/o error - all block copies unavailable
> ZFS: i/o error - all block copies unavailable
> ZFS: i/o error - all block copies unavailable
> ZFS: i/o error - all block copies unavailable
> ZFS: i/o error - all block copies unavailable
> can't load 'kernel'
> 
> What's wrong?

No idea; looks like either an older ZFS loader can't deal with current
ZFS or something is fundamentally wrong with your ZFS setup. I don't
know enough about ZFS for telling what's the problem here. You're
probably off asking ZFS people about this.

> Could it a result of crosscompiling?

Unlikely; the last time I encountered a bug causing cross- and native-
builds to differ was in GCC 3 times.

> 
> PS. When writing both zfsloader I got "Invalid argument" message:
> # dd if=/boot/zfsloader.old of=/dev/da0a bs=512 oseek=1024
> dd: /dev/da0a: Invalid argument
> 470+1 records in
> 470+0 records out
> 240640 bytes transferred in 1.915555 secs (125624 bytes/sec)
> Is it okey?
> 

Apparently, this is a cosmetic bug (at least I haven't hit any
problems arising from it so far) introduced some time ago. But
yes, I also see this and also in other occasions and on other
architectures as well.

Marius




More information about the freebsd-sparc64 mailing list