kernel-dualboot-fix
This commit is contained in:
parent
11841bf92e
commit
6c48085ba3
2 changed files with 979 additions and 958 deletions
1899
arch-install
1899
arch-install
File diff suppressed because it is too large
Load diff
38
snapshot.sh
38
snapshot.sh
|
@ -9,7 +9,11 @@ if [[ $EUID -ne 0 ]]; then
|
||||||
fi
|
fi
|
||||||
echo "Als root Angemeldet"
|
echo "Als root Angemeldet"
|
||||||
|
|
||||||
if [ "make" == "$1" ]; then
|
if [ "makeboot" == "$1" ]; then
|
||||||
|
makeboot=y
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "make" == "$1" ] || [ "makeboot" == "y" ]; then
|
||||||
|
|
||||||
while (( "$(expr $# - 1)" ))
|
while (( "$(expr $# - 1)" ))
|
||||||
do
|
do
|
||||||
|
@ -22,8 +26,8 @@ if [ "make" == "$1" ]; then
|
||||||
|
|
||||||
#only root for the fstab
|
#only root for the fstab
|
||||||
if [ "${pfad}" == "ROOT" ]; then
|
if [ "${pfad}" == "ROOT" ]; then
|
||||||
sed "s|__current/${pfad}|__snapshot/${pfad}@`head -n 1 /run/btrfs-root/__current/${pfad}/SNAPSHOT`|g;" /etc/fstab.example > /etc/fstab
|
sed "s|__current/${pfad}|__snapshot/${pfad}@`head -n 1 /run/btrfs-root/__current/${pfad}/SNAPSHOT`|g;" /etc/fstab.example > /etc/fstab
|
||||||
rootsnapshot="y"
|
rootsnapshot="y"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p /run/btrfs-root/__snapshot/${pfad%/*}
|
mkdir -p /run/btrfs-root/__snapshot/${pfad%/*}
|
||||||
|
@ -31,7 +35,7 @@ if [ "make" == "$1" ]; then
|
||||||
#btrfs subvolume snapshot -r /run/btrfs-root/__current/${pfad} /run/btrfs-root/__snapshot/${pfad}@`head -n 1 /run/btrfs-root/__current/${pfad}/SNAPSHOT`
|
#btrfs subvolume snapshot -r /run/btrfs-root/__current/${pfad} /run/btrfs-root/__snapshot/${pfad}@`head -n 1 /run/btrfs-root/__current/${pfad}/SNAPSHOT`
|
||||||
|
|
||||||
if ! [ "${pfad}" == "ROOT" ]; then
|
if ! [ "${pfad}" == "ROOT" ]; then
|
||||||
rm /run/btrfs-root/__current/${pfad}/SNAPSHOT
|
rm /run/btrfs-root/__current/${pfad}/SNAPSHOT
|
||||||
fi
|
fi
|
||||||
|
|
||||||
shift
|
shift
|
||||||
|
@ -43,26 +47,28 @@ if [ "make" == "$1" ]; then
|
||||||
cp /etc/fstab.example /etc/fstab
|
cp /etc/fstab.example /etc/fstab
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#stable-snapshot-boot
|
if [ "makeboot" == "y" ]; then
|
||||||
if [ -f "/boot/arch-uefi.conf.example" ] && [ "${rootsnapshot}" == "y" ]; then
|
#stable-snapshot-boot
|
||||||
|
if [ -f "/boot/arch-uefi.conf.example" ] && [ "${rootsnapshot}" == "y" ]; then
|
||||||
|
|
||||||
cp "$(echo $(find /boot/ -name "initramfs*.img") | cut -d" " -f2)" /boot/initramfs-linux-stable.img
|
cp "$(echo $(find /boot/ -name "initramfs*.img") | cut -d" " -f2)" /boot/initramfs-linux-stable.img
|
||||||
cp "$(echo $(find /boot/ -name "vmlinuz*") | cut -d" " -f1)" /boot/vmlinuz-stable
|
cp "$(echo $(find /boot/ -name "vmlinuz*") | cut -d" " -f1)" /boot/vmlinuz-stable
|
||||||
|
|
||||||
kernel1="$(echo $(find /boot/ -name "initramfs*-stable.img") | cut -d" " -f2)"
|
kernel1="$(echo $(find /boot/ -name "initramfs*-stable.img") | cut -d" " -f2)"
|
||||||
linuz1="$(find /boot/ -name "vmlinuz*-stable")"
|
linuz1="$(find /boot/ -name "vmlinuz*-stable")"
|
||||||
kernel="${kernel1#/*/}"
|
kernel="${kernel1#/*/}"
|
||||||
linuz="${linuz1#/*/}"
|
linuz="${linuz1#/*/}"
|
||||||
|
|
||||||
sed "s|%LINUZ%|${linuz}|g;
|
sed "s|%LINUZ%|${linuz}|g;
|
||||||
s|%KERNEL%|${kernel}|g;
|
s|%KERNEL%|${kernel}|g;
|
||||||
s|rootflags=subvol=__current/ROOT|rootflags=subvol=__snapshot/ROOT@`head -n 1 /run/btrfs-root/__current/ROOT/SNAPSHOT`|g" /boot/arch-uefi.conf.example > /boot/loader/entries/arch-uefi-stable.conf
|
s|rootflags=subvol=__current/ROOT|rootflags=subvol=__snapshot/ROOT@`head -n 1 /run/btrfs-root/__current/ROOT/SNAPSHOT`|g" /boot/arch-uefi.conf.example > /boot/loader/entries/arch-uefi-stable.conf
|
||||||
|
|
||||||
if [ -f /run/btrfs-root/__current/ROOT/SNAPSHOT ]; then
|
if [ -f /run/btrfs-root/__current/ROOT/SNAPSHOT ]; then
|
||||||
rm /run/btrfs-root/__current/ROOT/SNAPSHOT
|
rm /run/btrfs-root/__current/ROOT/SNAPSHOT
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
elif [ "restore" == "$1" ]; then
|
elif [ "restore" == "$1" ]; then
|
||||||
|
|
Loading…
Reference in a new issue