Hello everybody,
I've been trying to make UEFI booting work on my Thinkpad T420. My goal is (as I had previously with BIOS) to boot freebsd from a USB flash drive with my laptop hard drive encrypted.
The T420 is able to boot using UEFI if FreeBSD is installed entirely on the HDD (ada0) or the USB flash drive (da0).
However, when I try to boot from USB and then access the ROOT partition on the HDD, I get the following panic:
Here are the commands I used (without encryption for the moment):
Create the EFI and /boot partition on the USB flash drive:
Prepare the EFI partition:
Partition the HDD. For this example, I will only use one big / partition.
Newfs and mount everything:
Install FreeBSD:
chroot into the new system and create /etc/fstab and /boot/loader.conf
Unmount everything and reboot
And I get a panic (as shown above)
Any idea on how to make this work with UEFI? From what I understood, EFI tries to boot on the first ufs partition found. It should be therefore da0p2 ... but it isn't.
Thank you very much.
I've been trying to make UEFI booting work on my Thinkpad T420. My goal is (as I had previously with BIOS) to boot freebsd from a USB flash drive with my laptop hard drive encrypted.
The T420 is able to boot using UEFI if FreeBSD is installed entirely on the HDD (ada0) or the USB flash drive (da0).
However, when I try to boot from USB and then access the ROOT partition on the HDD, I get the following panic:
Code:
>> FreeBSD EFI boot block
Loader path: /boot/loader.efi
File /boot/loader.efi not found
panic: Load failed
Code:
gpart destroy -F ada0
gpart destroy -F da0
gpart create -s gpt ada0
gpart create -s gpt da0
Create the EFI and /boot partition on the USB flash drive:
Code:
gpart add -t efi -a 4K -l bootefi -s 800K da0
gpart add -t freebsd-ufs -l usbboot -s 768M da0
Prepare the EFI partition:
dd if=/boot/boot1.efifat of=/dev/gpt/bootefiPartition the HDD. For this example, I will only use one big / partition.
gpart add -t freebsd-ufs -a 4K -l gprootfs ada0Newfs and mount everything:
Code:
newfs /dev/gpt/usbboot
newfs /dev/gpt/gprootfs
mkdir /tmp/mnt
mount /dev/gpt/gprootfs /tmp/mnt
mkdir /tmp/mnt/boot
mount /dev/gpt/usbboot /tmp/mnt/boot
Install FreeBSD:
Code:
sh
for file in kernel.txz base.txz lib32.txz; do untar --unlink -xpvJf ${file} -C /tmp/mnt done
chroot into the new system and create /etc/fstab and /boot/loader.conf
Code:
chroot /tmp/mnt
echo 'vfs.root.mountfrom="ufs:/dev/gpt/gprootfs"' > boot/loader.conf
echo '/dev/gpt/gprootfs / ufs rw 1 1' > etc/fstab
Unmount everything and reboot
Code:
exit
cd /
umount /tmp/mnt/boot
umount /tmp/mnt
reboot
And I get a panic (as shown above)
Code:
>> FreeBSD EFI boot block
Loader path: /boot/loader.efi
File /boot/loader.efi not found
panic: Load failed
Any idea on how to make this work with UEFI? From what I understood, EFI tries to boot on the first ufs partition found. It should be therefore da0p2 ... but it isn't.
Thank you very much.