Upgrade from 2.7.2 to 2.8.0 Failed and now /boot/efi/ empty
-
@stephenw10 That is exactly what I've been trying to do is the jimp fix. Unfortunately I am needing help that hopefully will confirm what I think is the directory that /boot/efi should be mounted to. Once I figure that out, I should be able to finish with jimp's instructions and correct the size problem and upgrade to 2.8.
-
It looks to be mounted correctly since you have the EFI dircetory structure there. As long as you also have the actual efi file(s) there:
[25.07-RC][admin@6100.stevew.lan]/root: du -ha /boot/efi 656K /boot/efi/efi/freebsd/loader.efi 656K /boot/efi/efi/freebsd/loader-old.efi 1.3M /boot/efi/efi/freebsd 656K /boot/efi/efi/boot/bootx64.efi 656K /boot/efi/efi/boot/bootx64-old.efi 1.3M /boot/efi/efi/boot 2.6M /boot/efi/efi 2.6M /boot/efi
-
@stephenw10 When I run that command I currently get the following:
512B /boot/efi/EFI/BOOT/STARTUP.NSH 1.0K /boot/efi/EFI/BOOT 1.5K /boot/efi/EFI 1.5K /boot/efi
When I look at the STARTUP.NSH file it references BOOTx64.efi. In my research for this issue I found that I should be able to replace the missing BOOTx64.efi file with a copied and renamed loader.efi from the /boot directory. Unfortunately I have not been able to verify that is true. It appears that typically PFSense uses the loader.efi, but my STARTUP.NSH file references BOOTx64.efi.
So this is where I am at currently. Need to verify if I can use a copy of loader.efi to replace my BOOTx64.efi. Also just need to make sure based on the information I have provided that /boot/efi is mounted to the correct directory. In my case I believe it should be /dev/adaop1. Only other location I would consider mounting it to would be /dev/msdosfs/EFI as that is close to what @jimp posted in his fix for the space issue.
-
Hmm, without an efi binary there at all it will fail to boot. So don't reboot without copying back something!
I would say those files are indeed identical:
[25.07-RC][admin@6100.stevew.lan]/root: md5sum /boot/efi/efi/boot/bootx64.efi aa4529badf1fe88a5ca8941c04f144cb /boot/efi/efi/boot/bootx64.efi [25.07-RC][admin@6100.stevew.lan]/root: md5sum /boot/efi/efi/freebsd/loader.efi aa4529badf1fe88a5ca8941c04f144cb /boot/efi/efi/freebsd/loader.efi [25.07-RC][admin@6100.stevew.lan]/root: md5sum /boot/loader.efi aa4529badf1fe88a5ca8941c04f144cb /boot/loader.efi
So you should be able to copy that across
-
@stephenw10 Thank you, that's great to know. That takes care of one part. Now if I can verify that /dev/ada0p1 is the correct location to mount /boot/efi I will be able to finish following @jimp process.
-
The output of
gpart list
should confirm that. There will only be one EFI partition. -
@stephenw10 Thanks again. I ran gpart list before and this is the output I received and why I figured /dev/ada01p was the correct location to mount /boot/efi. Let me know if you see the same thing:
Geom name: ada0 modified: false state: OK fwheads: 16 fwsectors: 63 last: 488397127 first: 40 entries: 128 scheme: GPT Providers: 1. Name: ada0p1 Mediasize: 209715200 (200M) Sectorsize: 512 Stripesize: 0 Stripeoffset: 20480 Mode: r1w1e2 efimedia: HD(1,GPT,ac1172b7-5651-11e8-b5a2-00907fd0950c,0x28,0x64000) rawuuid: ac1172b7-5651-11e8-b5a2-00907fd0950c rawtype: c12a7328-f81f-11d2-ba4b-00a0c93ec93b label: (null) length: 209715200 offset: 20480 type: efi index: 1 end: 409639 start: 40 2. Name: ada0p2 Mediasize: 245677162496 (229G) Sectorsize: 512 Stripesize: 0 Stripeoffset: 209735680 Mode: r1w1e2 efimedia: HD(2,GPT,ac11fbb1-5651-11e8-b5a2-00907fd0950c,0x64028,0x1c99c000) rawuuid: ac11fbb1-5651-11e8-b5a2-00907fd0950c rawtype: 516e7cb6-6ecf-11d6-8ff8-00022d09712b label: (null) length: 245677162496 offset: 209735680 type: freebsd-ufs index: 2 end: 480247847 start: 409640 3. Name: ada0p3 Mediasize: 4172430848 (3.9G) Sectorsize: 512 Stripesize: 0 Stripeoffset: 245886898176 Mode: r1w1e1 efimedia: HD(3,GPT,ac128803-5651-11e8-b5a2-00907fd0950c,0x1ca00028,0x7c591f) rawuuid: ac128803-5651-11e8-b5a2-00907fd0950c rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b label: (null) length: 4172430848 offset: 245886898176 type: freebsd-swap index: 3 end: 488397126 start: 480247848 Consumers: 1. Name: ada0 Mediasize: 250059350016 (233G) Sectorsize: 512 Mode: r3w3e8
This was also before I did a temp mount of /boot/efi to /dev/ada0p1.
-
Yup looks good.
Of course I'd still have a backup of the config etc!
-
@stephenw10 Perfect, thank you again. I already created a backup before the botched upgrade, so I should be good there. May take another one just in case.
-
Wanted to provide an update on where I am at the moment. After finishing the steps from jimp I am now back to where I should have been before attempting the upgrade.
Output from df -hi /boot/efi
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/ada0p1 197M 646K 196M 0% 0 0 - /boot/efi
Output from du -ha /boot/efi
512B /boot/efi/EFI/BOOT/STARTUP.NSH 644K /boot/efi/EFI/BOOT/BOOTx64.efi 645K /boot/efi/EFI/BOOT 645K /boot/efi/EFI 646K /boot/efi
Output from geom -t
Geom Class Provider ada0 DISK ada0 ada0 DEV ada0 PART ada0p1 ada0p1 DEV msdosfs.ada0p1 VFS ada0 PART ada0p2 ada0p2 DEV ada0p2 LABEL gptid/ac11fbb1-5651-11e8-b5a2-00907fd0950c gptid/ac11fbb1-5651-11e8-b5a2-00907fd0950c DEV ffs.gptid/ac11fbb1-5651-11e8-b5a2-00907fd0950c VFS ada0 PART ada0p3 ada0p3 DEV ada0p3 LABEL gptid/ac128803-5651-11e8-b5a2-00907fd0950c gptid/ac128803-5651-11e8-b5a2-00907fd0950c DEV swap SWAP
Output from gpart list
Geom name: ada0 modified: false state: OK fwheads: 16 fwsectors: 63 last: 488397127 first: 40 entries: 128 scheme: GPT Providers: 1. Name: ada0p1 Mediasize: 209715200 (200M) Sectorsize: 512 Stripesize: 0 Stripeoffset: 20480 Mode: r1w1e1 efimedia: HD(1,GPT,ac1172b7-5651-11e8-b5a2-00907fd0950c,0x28,0x64000) rawuuid: ac1172b7-5651-11e8-b5a2-00907fd0950c rawtype: c12a7328-f81f-11d2-ba4b-00a0c93ec93b label: (null) length: 209715200 offset: 20480 type: efi index: 1 end: 409639 start: 40 2. Name: ada0p2 Mediasize: 245677162496 (229G) Sectorsize: 512 Stripesize: 0 Stripeoffset: 209735680 Mode: r1w1e2 efimedia: HD(2,GPT,ac11fbb1-5651-11e8-b5a2-00907fd0950c,0x64028,0x1c99c000) rawuuid: ac11fbb1-5651-11e8-b5a2-00907fd0950c rawtype: 516e7cb6-6ecf-11d6-8ff8-00022d09712b label: (null) length: 245677162496 offset: 209735680 type: freebsd-ufs index: 2 end: 480247847 start: 409640 3. Name: ada0p3 Mediasize: 4172430848 (3.9G) Sectorsize: 512 Stripesize: 0 Stripeoffset: 245886898176 Mode: r1w1e1 efimedia: HD(3,GPT,ac128803-5651-11e8-b5a2-00907fd0950c,0x1ca00028,0x7c591f) rawuuid: ac128803-5651-11e8-b5a2-00907fd0950c rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b label: (null) length: 4172430848 offset: 245886898176 type: freebsd-swap index: 3 end: 488397126 start: 480247848 Consumers: 1. Name: ada0 Mediasize: 250059350016 (233G) Sectorsize: 512 Mode: r3w3e7
I know the last 2 shouldn't have changed, which they didn't. Just wanted to put them in here to document the changes.
Now I just need some time to try the upgrade again, and in case everything goes completely south I have time to rebuild.
-
Cool. Does it reboot successfully from there?
-
@stephenw10 Unfortunately I am going to have to wait till I can bring down the network to test. If I take it down now and it doesn't come back up I will be having some hell to pay from the family...lol.