blob: c5b8cdca95a783d100bf601a1a39cf62b1f5cd54 [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`
29 label=`echo ${i} | sed -e 's/tty//' -e 's/^.*;//' -e 's/;.*//'`
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050030 echo "$label:12345:respawn:${base_bindir}/start_getty ${j}" >> ${D}${sysconfdir}/inittab
Patrick Williamsc124f4f2015-09-15 14:41:29 -050031 done
32
33 if [ "${USE_VT}" = "1" ]; then
34 cat <<EOF >>${D}${sysconfdir}/inittab
35# ${base_sbindir}/getty invocations for the runlevels.
36#
37# The "id" field MUST be the same as the last
38# characters of the device (after "tty").
39#
40# Format:
41# <id>:<runlevels>:<action>:<process>
42#
43
44EOF
45
46 for n in ${SYSVINIT_ENABLED_GETTYS}
47 do
48 echo "$n:12345:respawn:${base_sbindir}/getty 38400 tty$n" >> ${D}${sysconfdir}/inittab
49 done
50 echo "" >> ${D}${sysconfdir}/inittab
51 fi
52}
53
54pkg_postinst_${PN} () {
55# run this on the target
56if [ "x$D" = "x" ] && [ -e /proc/consoles ]; then
57 tmp="${SERIAL_CONSOLES_CHECK}"
58 for i in $tmp
59 do
60 j=`echo ${i} | sed s/^.*\;//g`
61 if [ -z "`grep ${j} /proc/consoles`" ]; then
62 sed -i /^.*${j}$/d /etc/inittab
63 fi
64 done
65 kill -HUP 1
66else
67 if [ "${SERIAL_CONSOLES_CHECK}" = "" ]; then
68 exit 0
69 else
70 exit 1
71 fi
72fi
73}
74
75# USE_VT and SERIAL_CONSOLES are generally defined by the MACHINE .conf.
76# Set PACKAGE_ARCH appropriately.
77PACKAGE_ARCH = "${MACHINE_ARCH}"
78
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050079FILES_${PN} = "${sysconfdir}/inittab ${base_bindir}/start_getty"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050080CONFFILES_${PN} = "${sysconfdir}/inittab"
81
82USE_VT ?= "1"
83SYSVINIT_ENABLED_GETTYS ?= "1"
84
85
86