From ee08efe82a7d9a95bb24aef7aaf55e17fc946ee3 Mon Sep 17 00:00:00 2001 From: jandob Date: Fri, 15 Jan 2016 14:06:46 +0100 Subject: copy service files into new root --- .../hooks/copy-dnbd3-generator-into-newroot.sh | 9 +++++++ builder/dnbd3-rootfs/module-setup.sh | 31 ++++++++++++---------- 2 files changed, 26 insertions(+), 14 deletions(-) create mode 100644 builder/dnbd3-rootfs/hooks/copy-dnbd3-generator-into-newroot.sh diff --git a/builder/dnbd3-rootfs/hooks/copy-dnbd3-generator-into-newroot.sh b/builder/dnbd3-rootfs/hooks/copy-dnbd3-generator-into-newroot.sh new file mode 100644 index 00000000..6fa6510d --- /dev/null +++ b/builder/dnbd3-rootfs/hooks/copy-dnbd3-generator-into-newroot.sh @@ -0,0 +1,9 @@ +#mkdir --parents "${NEWROOT}/run/systemd/system-generators/" +#cp "/usr/lib/systemd/system-generators/dnbd3-generator" "${NEWROOT}/run/systemd/system-generators/" +systemddir="/lib/systemd" +newsystemddir="${NEWROOT}/lib/systemd" +mkdir -p ${newsystemddir}/system/sysinit.target.wants +cp ${systemddir}/system/dnbd3root.service \ + ${newsystemddir}/system/dnbd3root.service +ln -s ../dnbd3root.service \ + ${newsystemddir}/system/sysinit.target.wants/dnbd3root.service diff --git a/builder/dnbd3-rootfs/module-setup.sh b/builder/dnbd3-rootfs/module-setup.sh index e65f0a62..7ef1a911 100755 --- a/builder/dnbd3-rootfs/module-setup.sh +++ b/builder/dnbd3-rootfs/module-setup.sh @@ -122,25 +122,28 @@ install() { inst_hook pre-udev 00 "$moddir/hooks/load-custom-kernel-modules.sh" if dracut_module_included "systemd-initrd"; then - # TODO analyze qemu-nbd pivot-root bug! - inst_script "$moddir/services/dnbd3-generator.sh" \ - $systemdutildir/system-generators/dnbd3-generator inst "$moddir/hooks/prepare-root-partition.sh" \ /sbin/dnbd3root inst "$moddir/hooks/fetch-config.sh" \ /sbin/fetch-config - #region old approach - #inst_simple "${moddir}/services/dnbd3root.service" \ - #"${systemdsystemunitdir}/dnbd3root.service" - #mkdir -p "${initdir}/${systemdsystemunitdir}/sysinit.target.wants" - #ln_r "${systemdsystemunitdir}/dnbd3root.service" \ - #"${systemdsystemunitdir}/sysinit.target.wants/dnbd3root.service" + + #region generator approach + ## TODO analyze qemu-nbd pivot-root bug! + #inst_script "$moddir/services/dnbd3-generator.sh" \ + #$systemdutildir/system-generators/dnbd3-generator + ## copy generator to new root to prevent stopping of the service after + ## switch_root + #inst_hook pre-pivot 95 "$moddir/hooks/copy-dnbd3-generator-into-newroot.sh" + #endregion + + #region service approach + inst_simple "${moddir}/services/dnbd3root.service" \ + "${systemdsystemunitdir}/dnbd3root.service" # don't kill at switch_root - #mkdir -p "${initdir}/${systemdsystemunitdir}/initrd-root-fs.target.wants" - #ln_r "${systemdsystemunitdir}/dnbd3root.service" \ - #"${systemdsystemunitdir}/initrd-root-fs.target.wants/dnbd3root.service" - # todo don't kill after switch_root - #works if initrd-root-fs wants dnbd3.service (on /sysroot) + mkdir -p "${initdir}/${systemdsystemunitdir}/initrd-root-fs.target.wants" + ln_r "${systemdsystemunitdir}/dnbd3root.service" \ + "${systemdsystemunitdir}/initrd-root-fs.target.wants/dnbd3root.service" + inst_hook pre-pivot 95 "$moddir/hooks/copy-dnbd3-generator-into-newroot.sh" #endregion else # get the openslx config from the servers configured in the kernel command -- cgit v1.2.3-55-g7522