Re: Shutdown -r under -current hangs on RPi3

From: Mark Millard <marklmi_at_yahoo.com>
Date: Sun, 24 Sep 2023 01:32:46 UTC
On Sep 23, 2023, at 18:13, bob prohaska <fbsd@www.zefox.net> wrote:

> On Sat, Sep 23, 2023 at 03:51:47PM -0700, Mark Millard wrote:
>> 
>> # sysctl -Wd debug.bootverbose
>> debug.bootverbose: Control the output of verbose kernel messages
>> 
>> So use of:
>> 
>> # sysctl debug.bootverbose=1

I showed the interactive/shell-script command, not a line for
use in /etc/sysctl.conf .

>> before shutdown may be a way of controlling it later, after
>> having already booting. This might be handy if one forgot
>> to do the the boot -v at boot time.
>> 
> Ahh, so I was being dense.... sysctl never crossed my mind.
> 
> I've added sysctl debug.bootverbose=1 to /etc/sysctl.conf and rebooted.

/etc/sysctl.conf looks like (just an example with comments
removed):

vfs.zfs.min_auto_ashift=12
vfs.zfs.per_txg_dirty_frees_percent=5
vm.swap_enabled=0
vm.swap_idle_enabled=0
debug.minidump=1
kern.nodump_coredump=1
kern.capmode_coredump=1
kern.sugid_coredump=1
kern.tty_info_kstacks=1

Note the lack of any "sysctl " prefix: it is not a shell script.
It only contains the assignment notation, not a shell command.

> The reboot completed without complaints about errt, but as it came up
> multiuser the console reported:
> sysctl: unknown oid 'sysctl debug.bootverbose' at line 11

Yep: Remove the "sysctl " prefix.

> However, if I type 
> sysctl debug.bootverbose=1 while logged in as root I see
> root@pelorus:~ # sysctl debug.bootverbose=1
> debug.bootverbose: 0 -> 1
> root@pelorus:~ #
> 
> So, for some reason the command has to be entered interactively,
> at least for now.
> 
> Rebooting with shutdown -r reported swap device removal.
> The errt complaint remained absent.
> 
> There's something odd about sysctl debug.bootverbose. For example:
> 
> root@pelorus:~ # sysctl -a | grep -i bootverbose
> <118>sysctl: unknown oid 'sysctl debug.bootverbose' at line 11

One of the things in a sysctl entry is logging output of
error messages. One of those messages contained the text
"bootverbose" and show was shown by the grep.

> debug.bootverbose: 0

That is the normal output of the default value.

> root@pelorus:~ # sysctl debug.bootverbose
> debug.bootverbose: 0

That is again the normal output of the default value,
but by a request for just the one value to be output.

> root@pelorus:~ # sysctl debug.bootverbose=1
> debug.bootverbose: 0 -> 1

That is just reporting the explicit change to the
non-default value.

> root@pelorus:~ # 
> 
> Am I committing some invisible (to me) typo?
> 

The only oddity was the "sysctl " prefix in /etc/sysctl.conf



===
Mark Millard
marklmi at yahoo.com