Date: Sat, 13 Feb 2016 09:52:46 +0100 From: Matthias Fechner <idefix@fechner.net> To: =?UTF-8?Q?Trond_Endrest=c3=b8l?= <Trond.Endrestol@fagskolen.gjovik.no> Cc: freebsd-questions@freebsd.org Subject: Re: Switch from legacy to UEFI boot?? Message-ID: <56BEEEDE.9000201@fechner.net> In-Reply-To: <alpine.BSF.2.20.1602120822160.55912@mail.fig.ol.no> References: <20160203213414.GB60231@rancor.immure.com> <alpine.BSF.2.20.1602040842580.1065@mail.fig.ol.no> <56B353E5.9080605@fechner.net> <alpine.BSF.2.20.1602041447560.1065@mail.fig.ol.no> <56BB9BDE.6030706@fechner.net> <alpine.BSF.2.20.1602110945020.55912@mail.fig.ol.no> <56BCE92B.7030600@fechner.net> <alpine.BSF.2.20.1602120822160.55912@mail.fig.ol.no>
next in thread | previous in thread | raw e-mail | index | archive | help
Am 12.02.2016 um 08:28 schrieb Trond Endrestøl: > The ESP contains nothing more than the boot1.efi disquised as > /EFI/BOOT/BOOTX64.EFI, i.e. the contents of the /boot/boot1.efifat > image. The bootfs property points to zroot/ROOT/default, and > everything else resides in the zpool. > > Somehow your setup is different. I will give you as many details as you need to find out why it does not work. The FreeBSD is running in an Oracle Virtualbox on windows 10 (version 5.0.14r105127). I use this version to simulate updates for my real boxes. There is a FreeBSD 10.2-RELEASE-p9 installed that is updated using freebsd-update. The zpool consists of two 20GB harddisk switch together as a mirror: pool: zroot state: ONLINE scan: resilvered 8.82G in 0h12m with 0 errors on Wed Feb 10 08:54:53 2016 config: NAME STATE READ WRITE CKSUM zroot ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 gpt/disk0 ONLINE 0 0 0 gpt/disk1 ONLINE 0 0 0 I resized the zpool to have space for the efi partition (was a little bit of snapshoting and copying around). The new layout of both disks is now: $ gpart show => 34 41942973 ada0 GPT (20G) 34 6 - free - (3.0K) 40 262144 1 efi (128M) 262184 128 2 freebsd-boot (64K) 262312 41680688 3 freebsd-zfs (20G) 41943000 7 - free - (3.5K) => 34 41942973 ada1 GPT (20G) 34 6 - free - (3.0K) 40 262144 1 efi (128M) 262184 128 2 freebsd-boot (64K) 262312 41680688 3 freebsd-zfs (20G) 41943000 7 - free - (3.5K) As you can see, I have legacy and efi partions available so I can boot uefi and legacy. As freebsd10.2 is not able to boot efi I copied the boot1.efi/loader.efi and GNUSparseFile/boot1.efifat (using dd) to the efi partition. The efi partition was filled with: newfs_msdos ada0p1 mount -t msdosfs /dev/ada0p1 /mnt mkdir -p /mnt/efi/boot/ cp boot1.efi /mnt/efi/boot/BOOTx64.efi mkdir -p /mnt/boot cat > /mnt/boot/loader.rc << EOF unload set currdev=zfs:zroot/ROOT/default: load boot/kernel/kernel load boot/kernel/zfs.ko autoboot EOF (cd /mnt && find .) . ./efi ./efi/boot ./efi/boot/BOOTx64.efi ./boot ./boot/loader.rc umount /mnt The same steps are performed on the second disk (but this should make for these test not a difference I think). I tested boot1.efi/loader.efi and the efifat with dd from 10.3-beta1 and 11, but was only able to boot with the loader.rc in place. The moment I removed the loader.rc the systems stops on boot prompt and I have to type the lines from the loader.rc manually to boot the system. The bootfs flag is defined: $ zpool get bootfs NAME PROPERTY VALUE SOURCE zroot bootfs zroot/ROOT/default local $ zfs list NAME USED AVAIL REFER MOUNTPOINT zroot 12.9G 6.19G 19K none zroot/ROOT 433M 6.19G 19K none zroot/ROOT/default 433M 6.19G 433M none zroot/swap 4.13G 10.3G 8K - zroot/tmp 74.5K 6.19G 74.5K /tmp zroot/usr 5.68G 6.19G 3.42G /usr zroot/usr/home 11.2M 6.19G 11.2M /usr/home zroot/usr/local 895M 6.19G 895M /usr/local zroot/usr/ports 525M 6.19G 280M /usr/ports zroot/usr/ports/distfiles 242M 6.19G 242M /usr/ports/distfiles zroot/usr/ports/packages 2.76M 6.19G 2.76M /usr/ports/packages zroot/usr/src 880M 6.19G 880M /usr/src zroot/var 2.72G 6.19G 1.18G /var zroot/var/crash 19K 6.19G 19K /var/crash zroot/var/db 1.54G 6.19G 1.50G /var/db zroot/var/db/pkg 38.8M 6.19G 38.8M /var/db/pkg zroot/var/empty 19K 6.19G 19K /var/empty zroot/var/log 243K 6.19G 243K /var/log zroot/var/mail 23K 6.19G 23K /var/mail zroot/var/run 30K 6.19G 30K /var/run zroot/var/tmp 171K 6.19G 171K /var/tmp > $ zfs get mountpoint > NAME PROPERTY VALUE SOURCE > zroot mountpoint none received > zroot/ROOT mountpoint none inherited from zroot > zroot/ROOT/default mountpoint none inherited from zroot > zroot/swap mountpoint - - > zroot/tmp mountpoint /tmp received > zroot/usr mountpoint /usr received > zroot/usr/home mountpoint /usr/home inherited from zroot/usr > zroot/usr/local mountpoint /usr/local inherited from zroot/usr > zroot/usr/ports mountpoint /usr/ports inherited from zroot/usr > zroot/usr/ports/distfiles mountpoint /usr/ports/distfiles inherited from zroot/usr > zroot/usr/ports/packages mountpoint /usr/ports/packages inherited from zroot/usr > zroot/usr/src mountpoint /usr/src inherited from zroot/usr > zroot/var mountpoint /var received > zroot/var/crash mountpoint /var/crash inherited from zroot/var > zroot/var/db mountpoint /var/db inherited from zroot/var > zroot/var/db/pkg mountpoint /var/db/pkg inherited from zroot/var > zroot/var/empty mountpoint /var/empty inherited from zroot/var > zroot/var/log mountpoint /var/log inherited from zroot/var > zroot/var/mail mountpoint /var/mail inherited from zroot/var > zroot/var/run mountpoint /var/run inherited from zroot/var > zroot/var/tmp mountpoint /var/tmp inherited from zroot/var The boot environments are managed using beadm: $ beadm list BE Active Mountpoint Space Created default NR / 433.0M 2016-02-10 08:10 I hope the post is not to long ;) Gruß Matthias -- "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." -- Rich Cook
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?56BEEEDE.9000201>