Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 Jan 2016 15:57:55 +0900
From:      Tomoaki AOKI <junchoon@dec.sakura.ne.jp>
To:        freebsd-current@freebsd.org
Subject:   Re: ZFSROOT UEFI boot
Message-ID:  <20160130155755.485736c8e12868663b9ccfbc@dec.sakura.ne.jp>
In-Reply-To: <56AAD552.9090202@multiplay.co.uk>
References:  <CALfReyeY3=L9O81AX7xMKj3Ai2DTvBpXtbqepTZc2%2BGEsrT3vA@mail.gmail.com> <8991747525093115430@unknownmsgid> <20160124215300.4cd7f1207f5a4c7b28ef7ffc@dec.sakura.ne.jp> <56A51A4C.1040808@multiplay.co.uk> <20160129000344.feaf5f828e5d43d5fbbb652a@dec.sakura.ne.jp> <CACA0VUiwF=40n0TNSfTAnbHY-1xLMytOzeXjnufF%2BoPKRbvBew@mail.gmail.com> <56AAD552.9090202@multiplay.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
Thanks for your quick support!
I tried your patch [Diff1] (built with head r295032 world/kernel) and
now have good and bad news.

Good news is that without USB memstick boot1.efi runs as expected.
Great!

Bad news is that when booting from USB memstick (the one I used my
previous test, boot1.efi [bootx64.efi] and loader.efi is replaced) and
whichever of internal disk (ada[01]) have loader.efi in its ZFS pool,
ada[01] is booted instead of da0 (USB memstick).

  *If ada0 has loader.efi, always booted from ada0 (stable/10).
  *If ada0 doesn't have loader.efi and ada1 has, booted from ada1
   (head).
  *If both ada0 and ada1 don't have loader.efi, da0 (USB memstick) is
   booted (head, installer is invoked).

 *Whichever ada[01] has loader.efi in their UFS or not didn't matter.

These behaviour would be because ZFS thoughout all disks is tried
before trying UFS throughout all disks, if I understood correctly.

Changing boot order (ZFS to UFS per each disk, instead of each
ZFS to each UFS) would help. 
But providing ZFS-disabled boot1.efi (boot1ufs.efi?) for installation
media (memstick, dvd, ...) helps, too. I built ZFS-disabled boot1.efi
and it worked fine for USB memstick for me.

 *`make clean && make -DMK_ZFS=no` in sys/boot/efi/boot1 didn't disabled
   ZFS module, so I must edit the definition of *boot_modules[] in
   boot1.c. I'd have been missing something.

Regards.


On Fri, 29 Jan 2016 02:58:26 +0000
Steven Hartland <killing@multiplay.co.uk> wrote:

> On 28/01/2016 16:22, Doug Rabson wrote:
> > On 28 January 2016 at 15:03, Tomoaki AOKI <junchoon@dec.sakura.ne.jp> wrote:
> >
> >> It's exactly the NO GOOD point. The disk where boot1 is read from
> >> should be where loader.efi and loader.conf are first read.
> >>
> > I just wanted to note that gptzfsboot and zfsboot behaves this way. Boot1
> > looks for loader in the pool which contains the disk that the BIOS booted.
> > It passes through the ID of that pool to loader which uses that pool as the
> > default for loading kernel and modules. I believe this is the correct
> > behaviour. For gptzfsboot and zfsboot, it is possible to override by
> > pressing space at the point where it is about to load loader.
> 
> I believe I understand at least some of your issue now, could you please 
> test the code on the following review to see if it fixes your issue please:
> https://reviews.freebsd.org/D5108
> 
>      Regards
>      Steve
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
> 


-- 
青木 知明  [Tomoaki AOKI]
    junchoon@dec.sakura.ne.jp
    MXE02273@nifty.com



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