Create save-keymaps and save-ktermencoding services
These services represent the parts of the keymaps and termencoding services which saved the settings back to the root file system so they can be loaded very early in the boot process. These are needed to allow keymaps and termencoding to run earlier in the boot sequence. X-Gentoo-Bug: 446018 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=446018
This commit is contained in:
parent
60e60dc9bb
commit
7eb3975543
13
NEWS.md
13
NEWS.md
@ -4,6 +4,19 @@ OpenRC NEWS
|
|||||||
This file will contain a list of notable changes for each release. Note
|
This file will contain a list of notable changes for each release. Note
|
||||||
the information in this file is in reverse order.
|
the information in this file is in reverse order.
|
||||||
|
|
||||||
|
## OpenRC 0.40
|
||||||
|
|
||||||
|
In this version, the keymaps and termencoding services on Linux needed
|
||||||
|
to be modified so they do not write to the root file system. This was
|
||||||
|
done so they can run earlier in the boot sequence. AS a result, you will
|
||||||
|
need to add save-termencoding and save-keymaps to your boot runlevel.
|
||||||
|
This can be done as follows:
|
||||||
|
|
||||||
|
```
|
||||||
|
# rc-update add save-keymaps boot
|
||||||
|
# rc-update add save-termencoding boot
|
||||||
|
```
|
||||||
|
|
||||||
## OpenRC 0.39
|
## OpenRC 0.39
|
||||||
|
|
||||||
This version removes the support for addons.
|
This version removes the support for addons.
|
||||||
|
2
init.d/.gitignore
vendored
2
init.d/.gitignore
vendored
@ -41,6 +41,8 @@ rc-enabled
|
|||||||
rpcbind
|
rpcbind
|
||||||
runsvdir
|
runsvdir
|
||||||
savecore
|
savecore
|
||||||
|
save-keymaps
|
||||||
|
save-termencoding
|
||||||
swap-blk
|
swap-blk
|
||||||
swclock
|
swclock
|
||||||
syslogd
|
syslogd
|
||||||
|
@ -23,8 +23,8 @@ SRCS-FreeBSD+= adjkerntz.in devd.in dumpon.in encswap.in ipfw.in \
|
|||||||
|
|
||||||
SRCS-Linux= agetty.in binfmt.in devfs.in cgroups.in dmesg.in hwclock.in \
|
SRCS-Linux= agetty.in binfmt.in devfs.in cgroups.in dmesg.in hwclock.in \
|
||||||
consolefont.in keymaps.in killprocs.in modules.in \
|
consolefont.in keymaps.in killprocs.in modules.in \
|
||||||
mount-ro.in mtab.in numlock.in procfs.in net-online.in sysfs.in \
|
mount-ro.in mtab.in numlock.in procfs.in net-online.in save-keymaps.in \
|
||||||
termencoding.in
|
save-termencoding.in sysfs.in termencoding.in
|
||||||
|
|
||||||
# Generic BSD scripts
|
# Generic BSD scripts
|
||||||
SRCS-NetBSD= hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \
|
SRCS-NetBSD= hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \
|
||||||
|
@ -14,7 +14,7 @@ description="Applies a keymap for the consoles."
|
|||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
need termencoding
|
need termencoding
|
||||||
after bootmisc clock
|
after devfs
|
||||||
keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu
|
keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -68,10 +68,5 @@ start()
|
|||||||
echo "altgr keycode 18 = U+20AC" | loadkeys -q -
|
echo "altgr keycode 18 = U+20AC" | loadkeys -q -
|
||||||
eend $?
|
eend $?
|
||||||
fi
|
fi
|
||||||
|
return 0
|
||||||
# Save the keymapping for use immediately at boot
|
|
||||||
if checkpath -W "$RC_LIBEXECDIR"; then
|
|
||||||
mkdir -p "$RC_LIBEXECDIR"/console
|
|
||||||
dumpkeys >"$RC_LIBEXECDIR"/console/keymap
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
28
init.d/save-keymaps.in
Normal file
28
init.d/save-keymaps.in
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
#!@SBINDIR@/openrc-run
|
||||||
|
# Copyright (c) 2018 Sony Interactive Entertainment, Inc.
|
||||||
|
#
|
||||||
|
# This file is part of OpenRC. It is subject to the license terms in
|
||||||
|
# the LICENSE file found in the top-level directory of this
|
||||||
|
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
|
||||||
|
# This file may not be copied, modified, propagated, or distributed
|
||||||
|
# except according to the terms contained in the LICENSE file.
|
||||||
|
|
||||||
|
description="Save the keymap for use as early as possible"
|
||||||
|
|
||||||
|
depend()
|
||||||
|
{
|
||||||
|
need termencoding
|
||||||
|
after bootmisc clock keymaps
|
||||||
|
keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu
|
||||||
|
}
|
||||||
|
|
||||||
|
start()
|
||||||
|
{
|
||||||
|
# Save the keymapping for use immediately at boot
|
||||||
|
ebegin "Saving key mapping"
|
||||||
|
if checkpath -W "$RC_LIBEXECDIR"; then
|
||||||
|
mkdir -p "$RC_LIBEXECDIR"/console
|
||||||
|
dumpkeys >"$RC_LIBEXECDIR"/console/keymap
|
||||||
|
fi
|
||||||
|
eend $? "Unable to save keymapping"
|
||||||
|
}
|
35
init.d/save-termencoding.in
Normal file
35
init.d/save-termencoding.in
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#!@SBINDIR@/openrc-run
|
||||||
|
# Copyright (c) 2018 Sony Interactive Entertainment, Inc.
|
||||||
|
#
|
||||||
|
# This file is part of OpenRC. It is subject to the license terms in
|
||||||
|
# the LICENSE file found in the top-level directory of this
|
||||||
|
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
|
||||||
|
# This file may not be copied, modified, propagated, or distributed
|
||||||
|
# except according to the terms contained in the LICENSE file.
|
||||||
|
|
||||||
|
description="Configures terminal encoding."
|
||||||
|
|
||||||
|
ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
|
||||||
|
: ${unicode:=${UNICODE}}
|
||||||
|
|
||||||
|
depend()
|
||||||
|
{
|
||||||
|
keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu
|
||||||
|
use root
|
||||||
|
after bootmisc clock termencoding
|
||||||
|
}
|
||||||
|
|
||||||
|
start()
|
||||||
|
{
|
||||||
|
ebegin "Saving terminal encoding"
|
||||||
|
# Save the encoding for use immediately at boot
|
||||||
|
if checkpath -W "$RC_LIBEXECDIR"; then
|
||||||
|
mkdir -p "$RC_LIBEXECDIR"/console
|
||||||
|
if yesno ${unicode:-${UNICODE}}; then
|
||||||
|
echo "" > "$RC_LIBEXECDIR"/console/unicode
|
||||||
|
else
|
||||||
|
rm -f "$RC_LIBEXECDIR"/console/unicode
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
eend 0
|
||||||
|
}
|
@ -17,8 +17,7 @@ ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
|
|||||||
depend()
|
depend()
|
||||||
{
|
{
|
||||||
keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu
|
keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu
|
||||||
use root
|
after devfs
|
||||||
after bootmisc clock
|
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start()
|
||||||
|
@ -36,7 +36,8 @@ BOOT-FreeBSD+= hostid modules newsyslog savecore syslogd
|
|||||||
# FreeBSD specific stuff
|
# FreeBSD specific stuff
|
||||||
BOOT-FreeBSD+= adjkerntz dumpon syscons
|
BOOT-FreeBSD+= adjkerntz dumpon syscons
|
||||||
|
|
||||||
BOOT-Linux+= binfmt hwclock keymaps modules mtab procfs termencoding
|
BOOT-Linux+= binfmt hwclock keymaps modules mtab procfs save-keymaps \
|
||||||
|
save-termencoding termencoding
|
||||||
SHUTDOWN-Linux= killprocs mount-ro
|
SHUTDOWN-Linux= killprocs mount-ro
|
||||||
SYSINIT-Linux= devfs cgroups dmesg sysfs
|
SYSINIT-Linux= devfs cgroups dmesg sysfs
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user