xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-core/busybox/busybox-inittab_1.35.0.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1SUMMARY = "inittab configuration for BusyBox"
2LICENSE = "GPL-2.0-only"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
4
5SRC_URI = "file://inittab"
6
7S = "${WORKDIR}"
8
9INHIBIT_DEFAULT_DEPS = "1"
10
11do_compile() {
12	:
13}
14
15do_install() {
16	install -d ${D}${sysconfdir}
17	install -D -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab
18	tmp="${SERIAL_CONSOLES}"
19	[ -n "$tmp" ] && echo >> ${D}${sysconfdir}/inittab
20	for i in $tmp
21	do
22		j=`echo ${i} | sed s/\;/\ /g`
23		id=`echo ${i} | sed -e 's/^.*;//' -e 's/;.*//'`
24		echo "$id::respawn:${base_sbindir}/getty ${j}" >> ${D}${sysconfdir}/inittab
25	done
26	if [ "${USE_VT}" = "1" ]; then
27		cat <<EOF >>${D}${sysconfdir}/inittab
28# ${base_sbindir}/getty invocations for the runlevels.
29#
30# The "id" field MUST be the same as the last
31# characters of the device (after "tty").
32#
33# Format:
34#  <id>:<runlevels>:<action>:<process>
35#
36
37EOF
38
39		for n in ${SYSVINIT_ENABLED_GETTYS}
40		do
41			echo "tty$n:12345:respawn:${base_sbindir}/getty 38400 tty$n" >> ${D}${sysconfdir}/inittab
42		done
43		echo "" >> ${D}${sysconfdir}/inittab
44	fi
45
46}
47
48pkg_postinst:${PN} () {
49# run this on host and on target
50if [ "${SERIAL_CONSOLES_CHECK}" = "" ]; then
51       exit 0
52fi
53}
54
55pkg_postinst_ontarget:${PN} () {
56# run this on the target
57if [ -e /proc/consoles ]; then
58        tmp="${SERIAL_CONSOLES_CHECK}"
59        for i in $tmp
60        do
61                j=`echo ${i} | sed -e s/^.*\;//g -e s/\:.*//g`
62                k=`echo ${i} | sed s/^.*\://g`
63                if [ -z "`grep ${j} /proc/consoles`" ]; then
64                        if [ -z "${k}" ] || [ -z "`grep ${k} /proc/consoles`" ] || [ ! -e /dev/${j} ]; then
65                                sed -i -e /^.*${j}\ /d -e /^.*${j}$/d /etc/inittab
66                        fi
67                fi
68        done
69        kill -HUP 1
70else
71        exit 1
72fi
73}
74
75# SERIAL_CONSOLES is generally defined by the MACHINE .conf.
76# Set PACKAGE_ARCH appropriately.
77PACKAGE_ARCH = "${MACHINE_ARCH}"
78
79FILES:${PN} = "${sysconfdir}/inittab"
80CONFFILES:${PN} = "${sysconfdir}/inittab"
81
82RCONFLICTS:${PN} = "sysvinit-inittab"
83
84USE_VT ?= "1"
85SYSVINIT_ENABLED_GETTYS ?= "1"
86