Re: EFI zfs loader and beadm?

From: Andrey Fesenko <f0andrey_at_gmail.com>
Date: Wed, 9 Mar 2016 19:01:24 +0300
On Wed, Mar 9, 2016 at 6:48 PM, Eric van Gyzen <eric_at_vangyzen.net> wrote:
> On 03/09/2016 09:40, Andrey Fesenko wrote:
>> Hello,
>> I'm test EFI boot ZFSroot with BE, this not support now?
>> svn 2965489
>>
>> If i build simplest system
>> http://blog.multiplay.co.uk/2015/12/freebsd-10-2-release-efi-zfs-root-boot/
>>
>> # zfs get -r mountpoint efifpool
>> NAME      PROPERTY    VALUE          SOURCE
>> efifpool  mountpoint  /mnt/efifpool  default
>>
>> =>      40  30712240  da0  GPT  (15G)
>>         40      1600    1  efi  (800K)
>>       1640  30710632    2  freebsd-zfs  (15G)
>>   30712272         8       - free -  (4.0K)
>>
>> system boot nice
>>
>> If make BE env
>>
>> # zfs get -r mountpoint efiwpool
>> NAME                              PROPERTY    VALUE              SOURCE
>> efiwpool                          mountpoint  none               local
>> efiwpool/ROOT                     mountpoint  none
>> inherited from efiwpool
>> efiwpool/ROOT/init                mountpoint  legacy             local
>> efiwpool/ROOT/init_at_init           mountpoint  -                  -
>> efiwpool/ROOT/init/boot           mountpoint  /media/boot        local
>> efiwpool/ROOT/init/tmp            mountpoint  /media/tmp         local
>> efiwpool/ROOT/init/usr            mountpoint  /media/usr         local
>> efiwpool/ROOT/init/usr_at_init       mountpoint  -                  -
>> efiwpool/ROOT/init/usr/home       mountpoint  /media/usr/home
>> inherited from efiwpool/ROOT/init/usr
>> efiwpool/ROOT/init/usr/home_at_init  mountpoint  -                  -
>> efiwpool/ROOT/init/var            mountpoint  /media/var         local
>> efiwpool/ROOT/init/var_at_init       mountpoint  -                  -
>> efiwpool/ROOT/init/var/crash      mountpoint  /media/var/crash
>> inherited from efiwpool/ROOT/init/var
>> efiwpool/ROOT/init/var/db         mountpoint  /media/var/db
>> inherited from efiwpool/ROOT/init/var
>> efiwpool/ROOT/init/var/db/pkg     mountpoint  /media/var/db/pkg
>> inherited from efiwpool/ROOT/init/var
>> efiwpool/ROOT/init/var/empty      mountpoint  /media/var/empty
>> inherited from efiwpool/ROOT/init/var
>> efiwpool/ROOT/init/var/log        mountpoint  /media/var/log
>> inherited from efiwpool/ROOT/init/var
>> efiwpool/ROOT/init/var/mail       mountpoint  /media/var/mail
>> inherited from efiwpool/ROOT/init/var
>> efiwpool/ROOT/init/var/run        mountpoint  /media/var/run
>> inherited from efiwpool/ROOT/init/var
>> efiwpool/ROOT/init/var/tmp        mountpoint  /media/var/tmp
>> inherited from efiwpool/ROOT/init/var
>>
>> system not boot.
>>
>> Not found /boot/loader.efi (in BE system real path
>> efiwpool/ROOT/init/boot/loader.efi) if copy this efiwpool/ROOT/init
>> (blank in BE system) loader found this (but not found /boot/kernel) I
>> can copy this and get a similar system
>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=192184#c15 (with out
>> msdos kernel part), but this ruin BE update mechanism
>
> Your dataset hierarchy is not what beadm expects.  Specifically, you
> have /boot separate from /, which I imagine is causing your problem.
> /boot should be part of /.  Also, you have several file systems in the
> BE that are usually not in it; I doubt this is part of your boot
> failure, though.
>
> For reference, here is my layout, which is mostly the same as the
> default installation:
>
> NAME                          USED  AVAIL  REFER  MOUNTPOINT
> zroot                         117G   108G    96K  none
> zroot/ROOT                   14.8G   108G    96K  none
> zroot/ROOT/10.2               444K   108G  6.35G  /
> zroot/ROOT/103beta           14.8G   108G  8.75G  /
> zroot/ROOT/103beta1             8K   108G  8.17G  /
> zroot/ROOT/103beta3             8K   108G  8.75G  /
> zroot/home                   97.8G   108G  94.9G  /home
> zroot/usr                    3.36G   108G    96K  /usr
> zroot/usr/ports               985M   108G   736M  /usr/ports
> zroot/usr/src                2.40G   108G  2.19G  /usr/src
> zroot/var                    2.19M   108G    96K  /var
> zroot/var/audit                96K   108G    96K  /var/audit
> zroot/var/crash                96K   108G    96K  /var/crash
> zroot/var/log                1.15M   108G   420K  /var/log
> zroot/var/mail                360K   108G   120K  /var/mail
> zroot/var/tmp                 416K   108G   144K  /var/tmp
>
> Eric

If remove efiwpool/ROOT/init/boot and copy his content on
efiwpool/ROOT/init my scheme work fine too.
/usr /var /home and other included in BE for consistent boot system
(CURRENT world may not boot with kernel other rev),  and old home
snapshot sometimes useful for backup/restore
Received on Wed Mar 09 2016 - 15:01:25 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:03 UTC