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