Re: Adding a hook to shutdown.c & halt (reboot.c) to call a script.

Jilles Tjoelker <[email protected]>
Newsgroups gmane.os.freebsd.devel.mobile
Message-ID <[email protected]>
On Fri, Jul 05, 2013 at 02:52:04PM +0200, Julian H. Stacey wrote:
> Hi mobile@
> I need ** my laptop to call a script before shutdown, 
> (perhaps automaticaly too with something like 'test -e ` etc,
> though perhaps the default should remain with no test)

> I dont see any hooks in man shutdown or halt ?  
> I could hack
> 	/usr/src/sbin/shutdown/shutdown.c	&
> 	/usr/src/sbin/reboot/reboot.c		# (source of halt)
> or does someone have a better idea ?

> FreeBSD has a mass of scripts etc for system start up, but seems light
> on close down hooks ?  I seem to recall on system 5 there were table
> entries for up & down for lots of things, (though I never got
> on with 5, not lots of others here either, & am not advocating that route), 
> but is there a better way than adding a hook to system("/some_path"); ?

> BTW ** What I'm calling manually before halt is my
> 	  http://www.berklix.com/~jhs/bin/.sh/umountusb
> A combo of umounts of USB sticks/disks with plain dos & ufs + also
> mdconfig -d & gbde detach for encrypted file system on both hard
> disk & USB sticks.  (When I forget to call it before halt, the
> laptop hangs on USB.)

shutdown(8) signals init (unless -o is given), which will run
/etc/rc.shutdown from multi-user mode. The same applies to ctrl+alt+del,
kernel-controlled overheating shutdown, etc.

reboot(8) and halt(8) do not involve init and do not run any shutdown
scripts. I think they should be changed to signal init (except reboot
-q, halt -q) and should not be used until then. However, there are
apparently some problems with that.

The incorrect umount order should perhaps be fixed in the kernel.

-- 
Jilles Tjoelker
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.