Re: Using a recovery partition to repair a broken installation of FreeBSD
Date: Tue, 02 Sep 2025 22:02:38 UTC
On Tuesday, 2 September 2025 at 22:27, Warner Losh <imp@bsdimp.com> wrote: > > > On Tue, Sep 2, 2025 at 12:53 PM Graham Perrin <grahamperrin@gmail.com> wrote: > > > On 01/09/2025 02:58, Graham Perrin wrote: > > > An enhancement to bsdinstall could, before creation of the partition > > > table, allow the user to specify an amount of space to be left free at > > > the end of a device … > > > > > > For now, short term, is the (simple) free space idea attractive? > > > > Longer term: I'm not averse to more complex enhancements around e.g. > > /rescue/, however I _do_ like the idea of free space. > > > > Freedom for the user to do whatever they want. They might, or might not, > > want to use the space for the content of > > FreeBSD-15.0-RELEASE-amd64-memstick.img … and so on. Maybe this overlaps > > with ZFS-specific bsdinstall report > > <https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242983>. > > > Things are small enough, I'd rather just create it in the ESP directly. Special reserved space on disks are nothing but a pain. > I think the user should have a choice between a small rescue image residing as a file in the EFI System Partition and a big rescue image with more features residing in its own dedicated partition. On some machines the ESP will be too small for the first option so the option for a separate partition should definitely be supported. I want to suggest an enhancement to the default loader.efi (the one with the Lua interpreter) which will work for all styles of rescue images. Let's add a "rescue" command to the loader which will read and execute the script /efi/freebsd/rescue.lua from the ESP. The user can place a small rescue image in the ESP and write there a suitable rescue.lua script that can activate it, or they can create a whole rescue partition and write a different rescue.lua script to the ESP that knows how to activate the rescue partition. It will be a small change to the loader but at the same time it will be quite flexible. From the user's perspective, if the boot fails and you are left at the loader's prompt, you just type "rescue". Users will probably pick from ready-made rescue images, each one coming with the necessary rescue.lua script, so there will be nothing difficult for the user to do. Best regards, Jordan Gordeev