| 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 |
| } |