74 lines
2.8 KiB
Diff
74 lines
2.8 KiB
Diff
|
From aadf694f946ca4821fe2d9aa47eea67dcb270af9 Mon Sep 17 00:00:00 2001
|
||
|
From: Matej Matuska <mmatuska@redhat.com>
|
||
|
Date: Wed, 7 Dec 2022 21:50:48 +0100
|
||
|
Subject: [PATCH 52/63] Add leapp debug tools to initramfs
|
||
|
|
||
|
Install a script with debug utilities to the Leapp upgrade dracut
|
||
|
module.
|
||
|
---
|
||
|
.../dracut/90sys-upgrade/leapp_debug_tools.sh | 38 +++++++++++++++++++
|
||
|
.../dracut/90sys-upgrade/module-setup.sh | 2 +
|
||
|
2 files changed, 40 insertions(+)
|
||
|
create mode 100644 repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/leapp_debug_tools.sh
|
||
|
|
||
|
diff --git a/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/leapp_debug_tools.sh b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/leapp_debug_tools.sh
|
||
|
new file mode 100644
|
||
|
index 00000000..91c228ce
|
||
|
--- /dev/null
|
||
|
+++ b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/leapp_debug_tools.sh
|
||
|
@@ -0,0 +1,38 @@
|
||
|
+# library containing some useful functions for debugging in initramfs
|
||
|
+
|
||
|
+# mounts the sysroot
|
||
|
+leapp_dbg_mount() {
|
||
|
+ systemctl start sysroot.mount
|
||
|
+ mount -o remount,rw /sysroot
|
||
|
+}
|
||
|
+
|
||
|
+# source programs from $NEWROOT, mount if not mounted
|
||
|
+leapp_dbg_source() {
|
||
|
+ systemctl is-active sysroot.mount --quiet || {
|
||
|
+ echo "sysroot not mounted, mounting...";
|
||
|
+ leapp_dbg_mount || return 1
|
||
|
+ }
|
||
|
+
|
||
|
+ for dir in /bin /sbin; do
|
||
|
+ export PATH="$PATH:${NEWROOT}$dir"
|
||
|
+ done
|
||
|
+
|
||
|
+ export LD_LIBRARY_PATH=/sysroot/lib64
|
||
|
+}
|
||
|
+
|
||
|
+# chroot into $NEWROOT
|
||
|
+leapp_dbg_chroot() {
|
||
|
+ systemctl is-active sysroot.mount --quiet || {
|
||
|
+ echo "sysroot not mounted, mounting...";
|
||
|
+ leapp_dbg_mount || return 1
|
||
|
+ }
|
||
|
+
|
||
|
+ for dir in /sys /run /proc /dev /dev/pts; do
|
||
|
+ mount --bind $dir "$NEWROOT$dir"
|
||
|
+ done || { echo "Failed to mount some directories" || return 1 }
|
||
|
+
|
||
|
+ chroot $NEWROOT sh -c "mount -a; /bin/bash"
|
||
|
+ for dir in /sys /run /proc /dev/pts /dev; do
|
||
|
+ umount $NEWROOT$dir
|
||
|
+ done
|
||
|
+}
|
||
|
diff --git a/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/module-setup.sh b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/module-setup.sh
|
||
|
index d38617db..a9cfffb4 100755
|
||
|
--- a/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/module-setup.sh
|
||
|
+++ b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/90sys-upgrade/module-setup.sh
|
||
|
@@ -72,6 +72,8 @@ install() {
|
||
|
inst_script "${_moddir}/initrd-system-upgrade-generator" \
|
||
|
"${generatordir}/initrd-system-upgrade-generator"
|
||
|
|
||
|
+ inst_script "${_moddir}/leapp_debug_tools.sh" "/bin/leapp_debug_tools.sh"
|
||
|
+
|
||
|
## upgrade shell service
|
||
|
#sysinit_wantsdir="${_initdir}${unitdir}/sysinit.target.wants"
|
||
|
#mkdir -p "$sysinit_wantsdir"
|
||
|
--
|
||
|
2.39.0
|
||
|
|