Switch to single btrfs data device v1.1
authorRaphaël Gertz <git@rapsys.eu>
Fri, 24 Mar 2017 23:52:28 +0000 (00:52 +0100)
committerRaphaël Gertz <git@rapsys.eu>
Fri, 24 Mar 2017 23:52:28 +0000 (00:52 +0100)
Switch to grub2

config/data.conf
config/slash.conf [deleted file]
lib/install.sh
lib/pattern.sh

index 6f0c759..271127c 100644 (file)
@@ -1,8 +1,6 @@
-# Data luks name
-DATANAME='home'
-# Data luks path
-DATAPATH='/home'
-# Data uuid (uuidgen)
+# Slash luks name
+DATANAME='data'
+# Slash uuid (uuidgen)
 DATAUUID=`uuidgen`
-# Luks data uuid (uuidgen)
+# Luks slash uuid (uuidgen)
 LUKSDATAUUID=`uuidgen`
diff --git a/config/slash.conf b/config/slash.conf
deleted file mode 100644 (file)
index 10b8f83..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-# Slash luks name
-SLASHNAME='slash'
-# Slash uuid (uuidgen)
-SLASHUUID=`uuidgen`
-# Luks slash uuid (uuidgen)
-LUKSSLASHUUID=`uuidgen`
index 3ea2e80..cf0636b 100755 (executable)
@@ -29,7 +29,7 @@ fi
 mkdir -p "$PWD/root"
 
 # Install base config
-LC_ALL=C urpmi --downloader=wget --no-verify-rpm --no-recommends --noclean --auto --root=$PWD/root filesystem basesystem-minimal rpm urpmi grub kernel-server-latest vim-enhanced wget
+LC_ALL=C urpmi --downloader=wget --no-verify-rpm --no-recommends --noclean --auto --root=$PWD/root filesystem basesystem-minimal rpm urpmi grub2 grub2-mageia-theme kernel-server-latest vim-enhanced wget
 
 # Reinstall lockdev to fix missing lock group on binary
 LC_ALL=C urpmi --downloader=wget --no-verify-rpm --no-recommends --noclean --auto --replacepkgs --replacefiles --root=$PWD/root lockdev
@@ -107,6 +107,10 @@ LC_ALL=C urpmi --downloader=wget --no-verify-rpm --no-recommends --noclean --aut
        xfsprogs \
        zip
 
+#XXX: to avoid boot time warning
+#      drakx-kbd-mouse-x11 \
+#      polkit-agent-none \
+
 # Install locale
 if [ ! -z "$LOCALE_ALT" -a "$LOCALE_ALT" != 'en' ]; then
        LC_ALL=C urpmi --downloader=wget --no-verify-rpm --no-recommends --noclean --auto --root=$PWD/root \
index ed99a72..ee96dec 100755 (executable)
@@ -83,23 +83,19 @@ EOF
 fi
 
 #Fstab
-#XXX: grub-legacy don't support ext4 and xfs V5 file format for /boot
 cat << EOF > "$PWD/root/etc/fstab"
 UUID=${BOOTUUID}       /boot   ext3    defaults,noatime 1 2
-UUID=${SLASHUUID}      /       btrfs   defaults,relatime 1 1
+UUID=${DATAUUID}       /       btrfs   subvol=/slash,defaults,relatime 1 1
 UUID=${SWAPAUUID}      none    swap    sw 0 0
 UUID=${SWAPBUUID}      none    swap    sw 0 0
-UUID=${DATAUUID}       ${DATAPATH}     btrfs   defaults,relatime,nofail 1 2
+UUID=${DATAUUID}       /home   btrfs   subvol=/home,defaults,relatime 1 1
 proc                                           /proc   proc    defaults 0 0
 EOF
 
-# Copy grub files
-cp -f $PWD/root/lib/grub/${ARCH}-mageia/{e2fs_stage1_5,stage{1,2}} $PWD/root/boot/grub/
-
 #Crypttab
+#XXX: Don't forget to add option nofail,noauto for every devices requiring manual unlocking
 cat << EOF > "$PWD/root/etc/crypttab"
-${SLASHNAME}   UUID=${LUKSSLASHUUID}
-${DATANAME}    UUID=${LUKSDATAUUID}    -       nofail,noauto
+${DATANAME}    UUID=${LUKSDATAUUID}
 EOF
 
 #Set resolv.conf
@@ -120,30 +116,8 @@ echo -n "$ROOTPASS" | chroot $PWD/root passwd root --stdin
 chroot $PWD/root adduser -m "$USERLOGIN"
 echo -n "$USERPASS" | chroot $PWD/root passwd "$USERLOGIN" --stdin
 
-#Grub file
-cat << EOF > $PWD/root/boot/grub/menu.lst
-timeout 5
-color black/cyan yellow/cyan
-gfxmenu (hd0,0)/gfxmenu
-default 0
-
-title linux
-root (hd0,0)
-kernel /vmlinuz-server BOOT_IMAGE=linux root=UUID=$SLASHUUID PROFILE=default splash=verbose vga=793
-initrd /initrd-server.img
-
-title failsafe
-root (hd0,0)
-kernel /vmlinuz-server BOOT_IMAGE=failsafe root=UUID=$SLASHUUID rd.luks.uuid=$LUKSSLASHUUID failsafe
-initrd /initrd-server.img
-EOF
-#Update grub fx menu
-chroot $PWD/root grub-gfxmenu --lang fr --update-theme --update-gfxmenu
-
-#Grub device.map
-cat << EOF > $PWD/root/boot/grub/device.map
-(hd0)  /dev/sda
-EOF
+# Fix grub config
+perl -pne 's/^GRUB_TIMEOUT=[0-9]+$/GRUB_TIMEOUT=1/' -i $PWD/root/etc/default/grub
 
 #Shorewall
 cat << EOF >> $PWD/root/etc/shorewall/zones