Re: Single-user actions on reboot
- Reply: Jason Bacon : "Re: Single-user actions on reboot"
- In reply to: Chris : "Re: Single-user actions on reboot"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 29 Sep 2023 16:56:53 UTC
On Fri, Sep 29, 2023, 10:12 AM Chris <bsd-lists@bsdforge.com> wrote: > On 2023-09-29 06:49, Guido Falsi wrote: > > On 29/09/23 15:21, Jason Bacon wrote: > >> > >> I'm wondering if there's a canonical way to schedule a command to run > >> automatically during the next boot cycle, but before going multiuser. > >> > >> This would be useful, for example, to run certain tunefs commands on /, > >> which can only be done in single-user mode, on remotely managed systems. > >> > >> Running things after going multiuser is easy, of course, but not > sufficient > >> for tunefs commands that cannot be performed on a filesystem mounted rw. > >> > >> Thanks... > >> > > > > AFAIK there is no ready made tool in base (or ports) for that. > > > > But ezjail uses this trick with rc scripts (removing itself): > > > > > https://erdgeist.org/gitweb/ezjail/tree/examples/example/etc/rc.d/ezjail.flavour.example > > > > This is effective but requires the disk mounted r/w which maybe is not > > enough for you. > > > > Problem is, without any writable media mounted, how can any script > register > > it has > > already ran? > > > > One idea that comes to mind is adding some hook to the main rc script, > > before > > mounting disk r/w, and a second script that removes existing hooks once > > disks are > > r/w. > Indeed. Maybe at the same point the system tastes the disk(s) to see if > they've been dismounted > properly and then running fsck(8) if not. Using the same method to perform > your task(s)? > At work we just have a custom rc script to do that for all our content disks (only os disks are in fstab). As for writable media... you could set a uefi variable... or create a small MD partition (call it /once) that an rc script in a later phase could use to mop up and then free. The latter is easier, but in many environments the former is more durable and reliable if there's an early crash that happens before mopup and you can really only run something once... Warner >