Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Sep 2023 15:49:17 +0200
From:      Guido Falsi <mad@madpilot.net>
To:        Jason Bacon <bacon4000@gmail.com>, freebsd-hackers@freebsd.org
Subject:   Re: Single-user actions on reboot
Message-ID:  <67d9160e-c1fc-4e60-93fb-8c18afc2ac41@madpilot.net>
In-Reply-To: <b70d24e3-ce25-f2fb-1f0f-9526f16173b0@gmail.com>
References:  <b70d24e3-ce25-f2fb-1f0f-9526f16173b0@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

-- 
Guido Falsi <mad@madpilot.net>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?67d9160e-c1fc-4e60-93fb-8c18afc2ac41>