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