blob: 5b9c422cafa32cf10ce366463eadeacc1de012b1 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001SUMMARY = "Inittab configuration for SysVinit"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
4
5PR = "r10"
6
Patrick Williamsd8c66bc2016-06-20 12:57:21 -05007SRC_URI = "file://inittab \
8 file://start_getty"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05009
10S = "${WORKDIR}"
11
12INHIBIT_DEFAULT_DEPS = "1"
13
14do_compile() {
15 :
16}
17
18do_install() {
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050019 install -d ${D}${sysconfdir}
Patrick Williamsc124f4f2015-09-15 14:41:29 -050020 install -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050021 install -d ${D}${base_bindir}
22 install -m 0755 ${WORKDIR}/start_getty ${D}${base_bindir}/start_getty
Patrick Williamsc124f4f2015-09-15 14:41:29 -050023
24 set -x
25 tmp="${SERIAL_CONSOLES}"
26 for i in $tmp
27 do
28 j=`echo ${i} | sed s/\;/\ /g`
Patrick Williamsc0f7c042017-02-23 20:41:17 -060029 l=`echo ${i} | sed -e 's/tty//' -e 's/^.*;//' -e 's/;.*//'`
30 label=`echo $l | sed 's/.*\(....\)/\1/'`
Brad Bishop6e60e8b2018-02-01 10:27:11 -050031 echo "$label:12345:respawn:${base_bindir}/start_getty ${j} vt102" >> ${D}${sysconfdir}/inittab
Patrick Williamsc124f4f2015-09-15 14:41:29 -050032 done
33
34 if [ "${USE_VT}" = "1" ]; then
35 cat <<EOF >>${D}${sysconfdir}/inittab
36# ${base_sbindir}/getty invocations for the runlevels.
37#
38# The "id" field MUST be the same as the last
39# characters of the device (after "tty").
40#
41# Format:
42# <id>:<runlevels>:<action>:<process>
43#
44
45EOF
46
47 for n in ${SYSVINIT_ENABLED_GETTYS}
48 do
49 echo "$n:12345:respawn:${base_sbindir}/getty 38400 tty$n" >> ${D}${sysconfdir}/inittab
50 done
51 echo "" >> ${D}${sysconfdir}/inittab
52 fi
53}
54
55pkg_postinst_${PN} () {
56# run this on the target
57if [ "x$D" = "x" ] && [ -e /proc/consoles ]; then
58 tmp="${SERIAL_CONSOLES_CHECK}"
59 for i in $tmp
60 do
Patrick Williamsc0f7c042017-02-23 20:41:17 -060061 j=`echo ${i} | sed -e s/^.*\;//g -e s/\:.*//g`
62 k=`echo ${i} | sed s/^.*\://g`
Patrick Williamsc124f4f2015-09-15 14:41:29 -050063 if [ -z "`grep ${j} /proc/consoles`" ]; then
Patrick Williamsc0f7c042017-02-23 20:41:17 -060064 if [ -z "${k}" ] || [ -z "`grep ${k} /proc/consoles`" ] || [ ! -e /dev/${j} ]; then
Brad Bishop6e60e8b2018-02-01 10:27:11 -050065 sed -i -e /^.*${j}\ /d -e /^.*${j}$/d /etc/inittab
Patrick Williamsc0f7c042017-02-23 20:41:17 -060066 fi
Patrick Williamsc124f4f2015-09-15 14:41:29 -050067 fi
68 done
69 kill -HUP 1
70else
71 if [ "${SERIAL_CONSOLES_CHECK}" = "" ]; then
72 exit 0
73 else
74 exit 1
75 fi
76fi
77}
78
79# USE_VT and SERIAL_CONSOLES are generally defined by the MACHINE .conf.
80# Set PACKAGE_ARCH appropriately.
81PACKAGE_ARCH = "${MACHINE_ARCH}"
82
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050083FILES_${PN} = "${sysconfdir}/inittab ${base_bindir}/start_getty"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050084CONFFILES_${PN} = "${sysconfdir}/inittab"
85
86USE_VT ?= "1"
87SYSVINIT_ENABLED_GETTYS ?= "1"
88
89
90