Created
March 28, 2019 20:47
-
-
Save nimatrueway/628edc8775bf3eab127cc890321ea1e4 to your computer and use it in GitHub Desktop.
Fix KDE Neon boot problem by replacing its boot-partition with Kubuntu's
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
sudo apt-get install kpartx xorriso | |
# parameters to set before run | |
# download both kde-neon and kubuntu's image to fuse them (attach EFI+BootPartition to kde-neon's) | |
export KDE_NEON_IMG=/home/nima/neon-useredition-20190321-0530-amd64.iso | |
export KUBUNTU_IMG=/home/nima/kubuntu-18.04.2-desktop-amd64.iso | |
export KDE_NEON_NEW_IMG=$(basename $KDE_NEON_IMG | awk '{ gsub(/\.iso$/,"-modded.iso",$1); print $1 }') | |
export MOUNT=$(mktemp -d) | |
mkdir $MOUNT/kubuntu | |
mkdir $MOUNT/kubuntu-boot | |
mkdir $MOUNT/neon | |
mkdir $MOUNT/modded | |
# mount kubuntu iso main-partition to fetch EFI from it | |
sudo kpartx -v -a $KUBUNTU_IMG | |
export KUBUNTU_MAIN_DEV=$(sudo kpartx -l $KUBUNTU_IMG | head -n 1 | awk '{ print "/dev/mapper/"$1 }') | |
sudo mount $KUBUNTU_MAIN_DEV $MOUNT/kubuntu -o loop,ro | |
# mount kubuntu iso boot-partition to attach it to neon iso | |
export KUBUNTU_BOOT_DEV=$(sudo kpartx -l $KUBUNTU_IMG | tail -n 1 | awk '{ print "/dev/mapper/"$1 }') | |
sudo mount $KUBUNTU_BOOT_DEV $MOUNT/kubuntu-boot -o loop,ro | |
sudo dd if=$KUBUNTU_BOOT_DEV of=$MOUNT/kubuntu-boot.img | |
# mount neon iso to copy its files | |
sudo kpartx -v -a $KDE_NEON_IMG | |
export NEON_MAIN_DEV=$(sudo kpartx -l $KDE_NEON_IMG | head -n 1 | awk '{ print "/dev/mapper/"$1 }') | |
sudo mount $NEON_MAIN_DEV $MOUNT/neon -o loop,ro | |
# create mix = neon files (except EFI) + kubuntu's EFI | |
cp -R $MOUNT/neon/* $MOUNT/modded/ | |
sudo rm -rf $MOUNT/modded/EFI | |
cp -R $MOUNT/kubuntu/EFI $MOUNT/modded/ | |
# unmount + unmap + remove | |
sudo umount $MOUNT/neon | |
sudo umount $MOUNT/kubuntu-boot | |
sudo umount $MOUNT/kubuntu | |
sudo kpartx -v -d $KUBUNTU_IMG | |
sudo kpartx -v -d $KDE_NEON_IMG | |
rm -rf $MOUNT/kubuntu | |
rm -rf $MOUNT/kubuntu-boot | |
rm -rf $MOUNT/neon | |
# create a iso image and attach kubuntu's EFI BOOT partition to it | |
xorriso \ | |
-as mkisofs \ | |
-r -V kde-neon-fixed \ | |
-o $KDE_NEON_NEW_IMG \ | |
-J -J -joliet-long -cache-inodes \ | |
-b isolinux/isolinux.bin \ | |
-c isolinux/boot.cat \ | |
-boot-load-size 4 -boot-info-table -no-emul-boot \ | |
-eltorito-alt-boot \ | |
-e --interval:appended_partition_2:all:: \ | |
-append_partition 2 0xef $MOUNT/kubuntu-boot.img \ | |
-no-emul-boot -isohybrid-gpt-basdat \ | |
$MOUNT/modded/ | |
# cleanup | |
rm -rf $MOUNT |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Why the hell I did that? KDE-Neon's boot freezes (before it reaches grub) on my system but Kubuntu doesn't.