Skip to content

Instantly share code, notes, and snippets.

@c0psrul3
Last active February 6, 2017 16:34
Show Gist options
  • Save c0psrul3/86c8a6d224a2262e732078f558c8ee46 to your computer and use it in GitHub Desktop.
Save c0psrul3/86c8a6d224a2262e732078f558c8ee46 to your computer and use it in GitHub Desktop.
TrueOS EFI boot re-configure, from legacy PCBSD update using GRUB.

These instructions were originally written for use of GELI with EFI on TrueOS. They can also be applied to "upgraded" installs, which are coming from PCBSD.. see: [trueos/trueos-core#114]

This may help you manually setup EFI booting

...as TrueOS does not support GRUB and upgrades using pc-updatemanager will not affect available boot environments in, using a GRUB boot loader.


This is what I did to get it working

Boot the TrueOS installer
Open the shell
Clear the existing partitions

gpart destroy -F /dev/ada0

Set GPT on the disk

gpart create -s GPT /dev/ada0

Create a new 100M EFI partition, format i and copy the boot file over

gpart add -t efi -s 100M -a 1M -l EFI /dev/ada0 newfs_msdos -F 16 -L FreeBSD_EFI /dev/ada0p1 mkdir /tmp/efi mount -t msdosfs /dev/ada0p1 /tmp/efi mkdir -p /tmp/efi/EFI/BOOT cp /boot/boot1.efi /tmp/efi/EFI/BOOT/BOOTX64.EFI umount /dev/ada0p1

Start the Installer, and go into "Advanced"
Instead of selecting "Use entire disk", changed the dropdown to be the
unused space

Continue install as normal

After the installation completed I rebooted and was able to boot successfully from ada0. I still have graphical corruption on each boot however the issue resolves itself by the time the desktop starts.


In my case I was not doing an install, as that was already completed. My issue was that upgrades performed by pc-updatemanager created new boot environments and they were not recognized on the GRUB loader selection.

After umount of EFI partition and reboot, I was brought to TrueOS EFI prompt. The Latest BE's were available, latest active / selected - as expected.

I'll update this gist, if any further changes are necessary for EFI booting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment