blob: 33f4525f2fcdfc8e0249bf769f15165fa454488d [file]
SUMMARY = "Targets and utilities for booting without initrd"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
RDEPENDS:${PN} += "bash busybox flasher"
SRC_URI = " \
file://etc.mount \
file://home.mount \
file://media.mount \
file://mnt.mount \
file://usr.mount \
file://var.mount \
file://shutdown-init.sh \
file://generate-shutdown-initrd.sh.in \
file://generate-shutdown-initrd.service \
file://gbmc-rwfs-allow.list \
file://prep-rwfs-overlay.service \
file://prep-rwfs-overlay.sh \
file://run-initramfs-rw.mount \
file://run-initramfs-ro.mount \
file://clean-rwfs.service \
file://clean-rwfs.sh.in \
file://post-rwfs.service \
file://post-rwfs.sh \
"
SRC_URI:append:local = " file://gbmc-rwfs-allow.list.local"
SRC_URI:append:mfg = " file://run-initramfs-rw.mount.mfg"
FILES:${PN} += " \
${systemd_system_unitdir} \
${datadir} \
"
ALWAYS_CLEAR_RWFS = "1"
ALWAYS_CLEAR_RWFS:local = ""
EXTRA_BINS ?= ""
do_install() {
unitdir=${D}${systemd_system_unitdir}
install -d $unitdir
bindir=${D}${bindir}
install -d $bindir
install -m 0644 ${WORKDIR}/prep-rwfs-overlay.service $unitdir/
install -m 0755 ${WORKDIR}/prep-rwfs-overlay.sh $bindir/
install -m 0644 ${WORKDIR}/post-rwfs.service $unitdir/
install -m 0755 ${WORKDIR}/post-rwfs.sh $bindir/
sed 's,@EXTRA_BINS@,${EXTRA_BINS},' ${WORKDIR}/generate-shutdown-initrd.sh.in \
>${WORKDIR}/generate-shutdown-initrd.sh
install -m 0755 ${WORKDIR}/generate-shutdown-initrd.sh $bindir/
install -m 0644 ${WORKDIR}/generate-shutdown-initrd.service $unitdir/
install -d $unitdir/shutdown.target.wants
ln -sv ../generate-shutdown-initrd.service $unitdir/shutdown.target.wants/
install -d $unitdir/local-fs.target.wants
for mnt in etc home media mnt usr var run-initramfs-ro run-initramfs-rw; do
install -m 0644 ${WORKDIR}/$mnt.mount $unitdir/
ln -sv ../$mnt.mount $unitdir/local-fs.target.wants/
done
install -m 0644 ${WORKDIR}/clean-rwfs.service $unitdir/
sed -e 's,@ALWAYS_CLEAR@,${ALWAYS_CLEAR_RWFS},g' \
${WORKDIR}/clean-rwfs.sh.in >${WORKDIR}/clean-rwfs.sh
install -m 0755 ${WORKDIR}/clean-rwfs.sh $bindir/
install -d ${D}${datadir}
install -m 0644 ${WORKDIR}/gbmc-rwfs-allow.list ${D}${datadir}/
install -m 0644 ${WORKDIR}/shutdown-init.sh ${D}${datadir}/
}
do_install:append:local() {
cat ${WORKDIR}/gbmc-rwfs-allow.list.local >>${D}${datadir}/gbmc-rwfs-allow.list
}
do_install:append:mfg() {
install -m 0644 ${WORKDIR}/run-initramfs-rw.mount.mfg $unitdir/run-initramfs-rw.mount
}