recipes-core: Add initial bootup script to busybox
This commit is contained in:
parent
59fb332512
commit
f4669ff409
@ -5,6 +5,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
|
|||||||
|
|
||||||
SRC_URI += " \
|
SRC_URI += " \
|
||||||
file://S20load_modules.sh \
|
file://S20load_modules.sh \
|
||||||
|
file://S99firstboot.sh \
|
||||||
file://S49cgroups_mount.sh \
|
file://S49cgroups_mount.sh \
|
||||||
file://ntp.conf \
|
file://ntp.conf \
|
||||||
file://ntpd \
|
file://ntpd \
|
||||||
@ -17,6 +18,7 @@ do_install_append () {
|
|||||||
install -m 0644 ${WORKDIR}/ntp.conf ${D}${sysconfdir}
|
install -m 0644 ${WORKDIR}/ntp.conf ${D}${sysconfdir}
|
||||||
install -m 0755 ${WORKDIR}/ntpd ${D}${sysconfdir}/init.d/
|
install -m 0755 ${WORKDIR}/ntpd ${D}${sysconfdir}/init.d/
|
||||||
install -m 0755 ${WORKDIR}/S20load_modules.sh ${D}${sysconfdir}/rcS.d/
|
install -m 0755 ${WORKDIR}/S20load_modules.sh ${D}${sysconfdir}/rcS.d/
|
||||||
|
install -m 0755 ${WORKDIR}/S99firstboot.sh ${D}${sysconfdir}/rcS.d/
|
||||||
install -m 0755 ${WORKDIR}/S49cgroups_mount.sh ${D}${sysconfdir}/rcS.d/
|
install -m 0755 ${WORKDIR}/S49cgroups_mount.sh ${D}${sysconfdir}/rcS.d/
|
||||||
|
|
||||||
cd ${D}${sysconfdir}/rcS.d/
|
cd ${D}${sysconfdir}/rcS.d/
|
||||||
|
110
recipes-core/busybox/files/S99firstboot.sh
Normal file
110
recipes-core/busybox/files/S99firstboot.sh
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
function generate_hostname() {
|
||||||
|
mac=$( ifconfig |grep eth0 | grep -io '[0-9a-f:]\{15\}[0-9a-f]\{2\}' )
|
||||||
|
mac=${mac//:}
|
||||||
|
nic=${mac:6}
|
||||||
|
nic=$(( 16#$nic ))
|
||||||
|
let length=32
|
||||||
|
|
||||||
|
for i in 4 3 2 1 0; do
|
||||||
|
let div=$length**$i
|
||||||
|
let idx=$nic/$div
|
||||||
|
let nic=$nic%$div
|
||||||
|
|
||||||
|
if [ $idx = 0 ] ; then
|
||||||
|
res=a
|
||||||
|
elif [ $idx = 1 ] ; then
|
||||||
|
res=b
|
||||||
|
elif [ $idx = 2 ] ; then
|
||||||
|
res=c
|
||||||
|
elif [ $idx = 3 ] ; then
|
||||||
|
res=d
|
||||||
|
elif [ $idx = 4 ] ; then
|
||||||
|
res=e
|
||||||
|
elif [ $idx = 5 ] ; then
|
||||||
|
res=f
|
||||||
|
elif [ $idx = 6 ] ; then
|
||||||
|
res=g
|
||||||
|
elif [ $idx = 7 ] ; then
|
||||||
|
res=h
|
||||||
|
elif [ $idx = 8 ] ; then
|
||||||
|
res=i
|
||||||
|
elif [ $idx = 9 ] ; then
|
||||||
|
res=j
|
||||||
|
elif [ $idx = 10 ] ; then
|
||||||
|
res=k
|
||||||
|
elif [ $idx = 11 ] ; then
|
||||||
|
res=m
|
||||||
|
elif [ $idx = 12 ] ; then
|
||||||
|
res=n
|
||||||
|
elif [ $idx = 13 ] ; then
|
||||||
|
res=p
|
||||||
|
elif [ $idx = 14 ] ; then
|
||||||
|
res=q
|
||||||
|
elif [ $idx = 15 ] ; then
|
||||||
|
res=r
|
||||||
|
elif [ $idx = 16 ] ; then
|
||||||
|
res=s
|
||||||
|
elif [ $idx = 17 ] ; then
|
||||||
|
res=t
|
||||||
|
elif [ $idx = 18 ] ; then
|
||||||
|
res=u
|
||||||
|
elif [ $idx = 19 ] ; then
|
||||||
|
res=v
|
||||||
|
elif [ $idx = 20 ] ; then
|
||||||
|
res=w
|
||||||
|
elif [ $idx = 21 ] ; then
|
||||||
|
res=x
|
||||||
|
elif [ $idx = 22 ] ; then
|
||||||
|
res=y
|
||||||
|
elif [ $idx = 23 ] ; then
|
||||||
|
res=z
|
||||||
|
elif [ $idx = 24 ] ; then
|
||||||
|
res=2
|
||||||
|
elif [ $idx = 25 ] ; then
|
||||||
|
res=3
|
||||||
|
elif [ $idx = 26 ] ; then
|
||||||
|
res=4
|
||||||
|
elif [ $idx = 27 ] ; then
|
||||||
|
res=5
|
||||||
|
elif [ $idx = 28 ] ; then
|
||||||
|
res=6
|
||||||
|
elif [ $idx = 29 ] ; then
|
||||||
|
res=7
|
||||||
|
elif [ $idx = 30 ] ; then
|
||||||
|
res=8
|
||||||
|
elif [ $idx = 31 ] ; then
|
||||||
|
res=8
|
||||||
|
fi
|
||||||
|
basex="$basex${res}"
|
||||||
|
done
|
||||||
|
|
||||||
|
old_hostname=$( cat /etc/hostname )
|
||||||
|
new_hostname=unknown-$basex
|
||||||
|
|
||||||
|
if [ $old_hostname = raspberrypi3-64 ]
|
||||||
|
then
|
||||||
|
new_hostname=rpi3-$basex
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $old_hostname = raspberrypi4-64 ]
|
||||||
|
then
|
||||||
|
new_hostname=rpi3-$basex
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo $new_hostname > /etc/hostname
|
||||||
|
}
|
||||||
|
|
||||||
|
FLAG="/var/local/firstboot.log"
|
||||||
|
|
||||||
|
if [ ! -f $FLAG ]; then
|
||||||
|
echo "First boot"
|
||||||
|
touch $FLAG
|
||||||
|
|
||||||
|
generate_hostname
|
||||||
|
generate_avahi_service
|
||||||
|
|
||||||
|
|
||||||
|
reboot
|
||||||
|
fi
|
Loading…
Reference in New Issue
Block a user