Unable to upgrade from 2.7.1 to 2.7.2 | Unmounting /boot/efi... done. | failed.
-
Yeah, those must be rather old installations to have an EFI partition that small. I thought we made them significantly larger several years ago.
There probably isn't going to be a safe way to upgrade those in-place given the space constraint there. You're better off reinstalling.
But with the config recovery in the installer that should only take a few minutes to do in most cases.
-
Thank you.
My EFI partition is 200M.
Could I resize the /dev/msdosfs/EFISYS to be more than 800K?
-
@alethewizard said in Unable to upgrade from 2.7.1 to 2.7.2 | Unmounting /boot/efi... done. | failed.:
Thank you.
My EFI partition is 200M.
Could I resize the /dev/msdosfs/EFISYS to be more than 800K?
We looked into doing that in an automated manner at one time, but deemed it too dangerous. While technically possible you'd spend more time doing that and possibly messing it up than you would just reinstalling and recovering the configuration.
Once upon a time the FreeBSD EFI update method involved writing out a FAT filesystem image onto the partition rather than mounting and copying files, and that image was very small since it didn't need to be much larger than the loader itself. That was ... less than ideal for a number of reasons. But it's hard to break out of that in a safe manner.
-
@jimp this install is from last year - I'd done a fresh install of 2.6 onto it to get ZFS in place. I have other machines on identical hardware and circumstances that aren't seeing the issue - is there some kind of weird corner case I hit? Maybe a workaround? The reinstalls are easy to do only if one can get to the machines.
-
Thank you jimp!
Simply extraordinary! :)
You're right: with the config recovery in the installer in 3 minutes I have the VM again with new version 2.7.2.
Thank you very much!
-
WARNING: These commands may cause unintended harm to your installation, your state of being, aura, personal wellness, sanity, favorite sports team, and/or pets. Use with caution. Have backups and installation media nearby.
If it's a VM, snapshot it before proceeding.
Assuming your EFI partition is
/dev/msdosfs/EFISYS
, this should work. If it's not, substitute in the proper path (e.g./dev/gpt/EFISYS
or maybe/dev/vtbd0p1
for example.)# mkdir -p /boot/efi # mount_msdosfs /dev/msdosfs/EFISYS /boot/efi # mkdir -p /tmp/efitmp # cp -Rp /boot/efi/* /tmp/efitmp # umount /boot/efi # newfs_msdos -F 32 -c 1 -L EFISYS /dev/msdosfs/EFISYS # mount_msdosfs /dev/msdosfs/EFISYS /boot/efi # cp -Rp /tmp/efitmp/* /boot/efi/
Afterwards you should have an EFI filesystem that is the full size of the partition, which is roughly 200M.
The upgrade should proceed after that.
If it doesn't work, roll back or reinstall. You never saw this post. That torpedo did not self-destruct. You heard it hit the hull. I was never here.
-
@jimp this worked perfectly for me! I appreciate the help on all of this. I was willing to take the risk in this situation because if there was no workaround, it ended with me getting on a plane; if the workaround blew up the system, I'd be getting on a plane. Thank you for helping me take that calculated risk. And there's no plane involved!
-
@jimp said in Unable to upgrade from 2.7.1 to 2.7.2 | Unmounting /boot/efi... done. | failed.:
You never saw this post.
Thank you @jimp I will try this never saw workaround. :)
Technical it's not a problem for me to reinstall, but I must travel hundreds of km between the offices...
-
@jimp I'll do my best Col. Klink impersonation. I see nothing! I know nothing!
Also, thanks for showing us that nothing. Might be less than elegant, and certainly risky... but, it means I don't need to physically move the system to a monitor to rebuild it completely. What's the point of working in software if we can't be a bit lazy now and then?
-
This worked for me, thank you for the help.
-
@jimp Logged in just to say thank you for posting this. It worked for me!
I appreciate your help!
-
@jimp Logged in just to say thank you for posting this. It worked for me!
I appreciate your help!
-
My /boot/efi partition was 779K.
Then I ran the commands that @jimp provided and now it's 197M!
After that,
pfSense-upgrade
had no issue upgrading from 2.7.1 to 2.7.2!
Thank you so much! -
-
@slu same issue here, but the procedure above fixed it. thanks! I had to power cycle the device after reboot though. it did not come back after reboot. same on my SG1100.
Updating the EFI loader install: //boot/efi/efi/boot/INS@8I5bRD: Input/output error pkg-static: POST-INSTALL script failed
-
@jimp said in Unable to upgrade from 2.7.1 to 2.7.2 | Unmounting /boot/efi... done. | failed.:
You never saw this post.
I'm certainly glad I saw this post. Thank you @jimp - At some point I'll plan on doing a fresh install as I'm sure that will help long term. I think the initial install for me was 2.4.5p1 so it's been a while.
Again, thanks! -
never saw this post! but it's working!
-
I can confirm this worked for an MBT-2200 (Minnowboard) which has not had a fresh install since at least Ver 2.4.5 (and still hasn't).
I did not have to power-cycle the unit, though after close to 20 minutes I was almost ready to either do it, or hook a monitor to it (not as easy as it sounds, or I would have done it first). I'm glad I waited and didn't crash it during the final part of the upgrade!
Thanks @jimp!
-
@jimp thanks! It worked for me too!
Before :
[2.7.1-RELEASE][root@core]/root: mount_msdosfs /dev/msdosfs/EFISYS /boot/efi [2.7.1-RELEASE][root@core]/root: df -hi /boot/efi/efi/boot/ Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/msdosfs/EFISYS 779K 386K 393K 50% 3 509 1% /boot/efi
After :
[2.7.1-RELEASE][root@core]/root: mkdir -p /boot/efi [2.7.1-RELEASE][root@core]/root: mount_msdosfs /dev/msdosfs/EFISYS /boot/efi [2.7.1-RELEASE][root@core]/root: mkdir -p /tmp/efitmp [2.7.1-RELEASE][root@core]/root: cp -Rp /boot/efi/* /tmp/efitmp [2.7.1-RELEASE][root@core]/root: umount /boot/efi [2.7.1-RELEASE][root@core]/root: newfs_msdos -F 32 -c 1 -L EFISYS /dev/msdosfs/EFISYS /dev/msdosfs/EFISYS: 403266 sectors in 403266 FAT32 clusters (512 bytes/cluster) BytesPerSec=512 SecPerClust=1 ResSectors=32 FATs=2 Media=0xf0 SecPerTrack=63 Heads=16 HiddenSecs=0 HugeSectors=409600 FATsecs=3151 RootCluster=2 FSInfo=1 Backup=2 [2.7.1-RELEASE][root@core]/root: mount_msdosfs /dev/msdosfs/EFISYS /boot/efi [2.7.1-RELEASE][root@core]/root: cp -Rp /tmp/efitmp/* /boot/efi/ [2.7.1-RELEASE][root@core]/root: df -hi /boot/efi/efi/boot/ Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/msdosfs/EFISYS 197M 386K 197M 0% 0 0 - /boot/efi
Up to date in 2.7.2 now !
Have a nice sunday!
-
I opened a Redmine so we can look into an automated way to address this since it seems to be a lot more common than expected: