EFI zfs loader and beadm?
Andrey Fesenko
f0andrey at gmail.com
Wed Mar 9 16:01:25 UTC 2016
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
More information about the freebsd-hackers
mailing list