source: bootscripts/lfs/init.d/console@ ddfba10

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since ddfba10 was f874424, checked in by Bruce Dubbs <bdubbs@…>, 13 years ago

Rename /etc/sysconfig/init_params to /etc/sysconfig/rc.site.
Move network services to /lib/services.
Move init-functions to /lib/lsb.
Make /lib/lsb a symlink to /lib/services.
Create convenience symlink /etc/init.d->/etc/rc.d/init.d
Add help and man pages to ifup/ifdown.

Append /run/var/bootlog to /var/log/boot.log at the end of
the boot sequence.

Add capability to step through the boot scripts at boot time.

Optionally allow environment variables in sysconfig directory's
console, network, and clock files to be placed in rc.site.

Add an optional FASTBOOT parameter to set /fastboot when rebooting.

Remove a minor warning message from udev that is triggered
by the udev_retry boot script.

Add SKIPTMPCLEAN as an optional parameter to skip cleaning /tmp at boot time.

Add a page to Chapter 7 documenting rc.site.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@9597 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 3.3 KB
Line 
1#!/bin/sh
2########################################################################
3# Begin console
4#
5# Description : Sets keymap and screen font
6#
7# Authors : Gerard Beekmans - gerard@linuxfromscratch.org
8# Alexander E. Patrakov
9# DJ Lucas - dj@linuxfromscratch.org
10# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org
11#
12# Version : LFS 7.0
13#
14########################################################################
15
16### BEGIN INIT INFO
17# Provides: console
18# Required-Start:
19# Should-Start: $local_fs
20# Required-Stop:
21# Should-Stop:
22# Default-Start: S
23# Default-Stop:
24# Short-Description: Sets up a localised console.
25# Description: Sets up fonts and language settings for the user's
26# local as defined by /etc/sysconfig/console.
27# X-LFS-Provided-By: LFS
28### END INIT INFO
29
30. /lib/lsb/init-functions
31
32# Native English speakers probably don't have /etc/sysconfig/console at all
33[ -r /etc/sysconfig/console ] && . /etc/sysconfig/console
34
35function is_true()
36{
37 [ "$1" = "1" ] || [ "$1" = "yes" ] || [ "$1" = "true" ]
38}
39
40# See if we need to do anything
41if [ -z "${KEYMAP}" ] && [ -z "${KEYMAP_CORRECTIONS}" ] &&
42 [ -z "${FONT}" ] && [ is_true "${UNICODE}" ] &&
43 [ -z "${LEGACY_CHARSET}" ]; then
44 exit 0
45fi
46
47failed=0
48
49case "${1}" in
50 start)
51 # There should be no bogus failures below this line!
52 log_info_msg "Setting up Linux console..."
53
54 # Figure out if a framebuffer console is used
55 [ -d /sys/class/graphics/fb0 ] && use_fb=1 || use_fb=0
56
57 # Figure out the command to set the console into the
58 # desired mode
59 is_true "${UNICODE}" &&
60 MODE_COMMAND="echo -en '\033%G' && kbd_mode -u" ||
61 MODE_COMMAND="echo -en '\033%@\033(K' && kbd_mode -a"
62
63 # On framebuffer consoles, font has to be set for each vt in
64 # UTF-8 mode. This doesn't hurt in non-UTF-8 mode also.
65
66 ! is_true "${use_fb}" || [ -z "${FONT}" ] ||
67 MODE_COMMAND="${MODE_COMMAND} && setfont ${FONT}"
68
69 # Apply that command to all consoles mentioned in
70 # /etc/inittab. Important: in the UTF-8 mode this should
71 # happen before setfont, otherwise a kernel bug will
72 # show up and the unicode map of the font will not be
73 # used.
74
75 for TTY in `grep '^[^#].*respawn:/sbin/agetty' /etc/inittab |
76 grep -o '\btty[[:digit:]]*\b'`
77 do
78 openvt -f -w -c ${TTY#tty} -- \
79 /bin/sh -c "${MODE_COMMAND}" || failed=1
80 done
81
82 # Set the font (if not already set above) and the keymap
83 [ "${use_fb}" == "1" || [ -z "${FONT}" ] || setfont $FONT || failed=1
84
85 [ -z "${KEYMAP}" ] ||
86 loadkeys ${KEYMAP} >/dev/null 2>&1 ||
87 failed=1
88
89 [ -z "${KEYMAP_CORRECTIONS}" ] ||
90 loadkeys ${KEYMAP_CORRECTIONS} >/dev/null 2>&1 ||
91 failed=1
92
93 # Convert the keymap from $LEGACY_CHARSET to UTF-8
94 [ -z "$LEGACY_CHARSET" ] ||
95 dumpkeys -c "$LEGACY_CHARSET" | loadkeys -u >/dev/null 2>&1 ||
96 failed=1
97
98 # If any of the commands above failed, the trap at the
99 # top would set $failed to 1
100 ( exit $failed )
101 evaluate_retval
102
103 exit $failed
104 ;;
105
106 *)
107 echo $"Usage:" "${0} {start}"
108 exit 1
109 ;;
110esac
111
112# End console
Note: See TracBrowser for help on using the repository browser.