From 435527748bf23dd4b1f88d8bd2dd06f49538796b Mon Sep 17 00:00:00 2001 From: "Seiichi \"Suikan\" Horie" <26223147+suikan4github@users.noreply.github.com> Date: Sun, 27 Jun 2021 13:18:34 +0900 Subject: [PATCH 001/242] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 64eba1a..60a1320 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ -# linux_fulldisk_encryption +# Linux Full Disk Encryption Helpful scripts of the full disk encryption for the Linux distribution From fe65f71182e042d2f90eaeb01452328eb89a9d4b Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 27 Jun 2021 13:54:50 +0900 Subject: [PATCH 002/242] created ubuntu_en.md --- ubuntu_en.md | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 ubuntu_en.md diff --git a/ubuntu_en.md b/ubuntu_en.md new file mode 100644 index 0000000..5340c66 --- /dev/null +++ b/ubuntu_en.md @@ -0,0 +1,129 @@ +# Ubuntu 20.04LTS installation into the LVM on the LUKS volume. + +```bash +# ------------------ Create the partitions ------------------ +# Promote to the root user +sudo -i + +``` +```bash + +# Setup the passphrase of the crypt partition +read -sr PASSPHRASE + +``` +```bash + +# ------------------ Parameter setting ------------------ +# export to share with entire script +export PASSPHRASE + +# Device and partition setting. If you wan to MAKE /dev/sda2 as linux root partition, +# set the DEV and ROOTPARTITION to /dev/sda and 2, respectively. +# EFI partition is usualy fixed as partition 1. +export DEV="/dev/sda" +export EFIPARTITION=1 +export ROOTPARTITION=2 + +# Usually, following names are left unchanged unless existing volumes uses them. +export CRYPTPARTITION="luks_volume" +export VGNAME="vg1" +export LVSWAP="swap" +export LVROOT="ubuntu" + +# ROOTSIZE is percentage to the free spage in the volume group. +# 50% mean, new partition will use 50% of the free space in the LVM volume group. +export SWAPSIZE="8G" +export ROOTSIZE="50%FREE" + + +# ------------------ Create the partitions ------------------ + +# Optional : Create partitions for in the physical disk. +# Assign 100MB and rest of disk to the EFI and LUKS partition, respectively. +sgdisk --zap-all "${DEV}" +sgdisk --new=${EFIPARTITION}:0:+100M --change-name=${EFIPARTITION}:"EFI System" --typecode=${EFIPARTITION}:ef00 "${DEV}" +sgdisk --new=${ROOTPARTITION}:0:0 --change-name=${ROOTPARTITION}:"Linux LUKS" --typecode=${ROOTPARTITION}:8309 "${DEV}" +sgdisk --print "${DEV}" + +# Format the EFI partition by FAT32. +mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" + +``` +```bash +# ------------------ Encrypt the volume to install and test ------------------ + +# Encrypt the partition to install the linux +printf %s "${PASSPHRASE}" | cryptsetup luksFormat --type=luks1 --key-file - --batch-mode "${DEV}${ROOTPARTITION}" + +# Open the created crypt partition. To be sure, input the passphrase manually +cryptsetup open "${DEV}${ROOTPARTITION}" ${CRYPTPARTITION} + +# Check whether successful open. If mapped, it is successful. +ls -l /dev/mapper + +``` +```bash +# ------------------ LVM configuration ------------------ + +# Create the Physical Volume and Volume Group. +pvcreate /dev/mapper/${CRYPTPARTITION} +vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTITION} + +# Optional : Create the SWAP Logical Volume on VG, if volume size is not 0. +if [ $SIZE != "0" -a $SIZE != "0G" ] ; then lvcreate -L SWAPSIZE -n ${LVSWAP} ${VGNAME} ; fi + +# Create the ROOT Logical Volume on VG. +lvcreate -l ROOTSIZE -n ${LVROOT} ${VGNAME} + +``` +```bash +# ------------------ Run the ubiquity installer here ------------------ + +# ------------------ Configuratte the target GRUB during the Ubiquity runs ------------------ +# Make target GRUB aware to the crypt partition +echo "GRUB_ENABLE_CRYPTODISK=y" >> /target/etc/default/grub + +``` +```bash +# ------------------ Wait the end of Ubiquity ------------------ +# ------------------ Mount the targets ------------------ +# Mount the volume and change root +# /target is created by the Ubiquity installer +mount /dev/mapper/${VGNAME}-${LVROOT} /target +for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "/target/$n"; done +chroot /target /bin/bash +``` +```bash + +# ------------------ Add auto decryption to the target kernel ----------------- +# Mount the rest of partitions by target /etc/fstab +mount -a + +# Set up the kernel hook of encryption +apt install -y cryptsetup-initramfs +echo "KEYFILE_PATTERN=/etc/luks/*.keyfile" >> /etc/cryptsetup-initramfs/conf-hook +echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf + +# Prepare the key file for auto decryption +mkdir /etc/luks +dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 +chmod u=rx,go-rwx /etc/luks +chmod u=r,go-rwx /etc/luks/boot_os.keyfile + +# Make the keyfile +printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${ROOTPARTITION}" /etc/luks/boot_os.keyfile + +# Add the LUKS partition to /etc/crypttab to decrypt automatically +echo "${CRYPTPARTITION} UUID=$(blkid -s UUID -o value ${DEV}${ROOTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab + +# Finally, update the ramfs initial image with the key file. +update-initramfs -uk all + +``` +```bash +# ------------------ Finishing installation ----------------- +exit +reboot + +``` \ No newline at end of file From f1a8ec291e86fef0a8c470acb3615d2281cd6f9e Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 27 Jun 2021 15:25:32 +0900 Subject: [PATCH 003/242] Finish the comment --- ubuntu_en.md | 161 +++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 117 insertions(+), 44 deletions(-) diff --git a/ubuntu_en.md b/ubuntu_en.md index 5340c66..ce4593f 100644 --- a/ubuntu_en.md +++ b/ubuntu_en.md @@ -1,58 +1,116 @@ # Ubuntu 20.04LTS installation into the LVM on the LUKS volume. +This is a script corrections to help the installation of Ubuntu with the full disc encryption. +These scripts are designed to achieve followings : +- Using Ubiquity installer, for the ease of install. +- Install to the UEFI firmware system. +- Install Ubuntu to the LVM/LUKS volume. +- /boot is installed in to the same volume with /. Thus, grub is also encrypted. +- The swap volume is created inside encrypted volume. +- Support multi-boot installation. You can reserve certain encrypted volume space for the other distribution. + +By the configuration parameters, you can achieve these script to relatively wide configuration. +For example, you can configure the system to accept 2, 3 or 4 distribution in a HDD/SSD, as you want. + +Following is the HDD/SSD partitioning plan of these script. +While the EFI partition is depicted here, that is not needed if you install to the system with BIOS. +This can be controllable from a parameter. Also, the size of the Linux / volume is +configurable from a parameter. + +# Test environment +These scripts are tested with following environment. +- VMWare Workstation 15.5 ( EFI ) +- Ubuntu 20.04.2 amd64 desktop +- Ubuntu Mate 20.04.2 amd64 desktop + +# Preparation +This script is designed to use by copy-and-past to the shell (bash) window. +So, it is strongly recommended to prepare the net work connection. +If it is impossible, you may want to copy these scripts into a USB memory +and jack into your machine, during the installation, to allow the copy-and-paste. + +# Installation +Follow the steps below. + +## Preparation of shell window +First of all, promote the shell to root. Almost of the procedure requires root privilege. ```bash -# ------------------ Create the partitions ------------------ # Promote to the root user sudo -i - ``` +Input the passphrase to lock your crypt system. This passphrase is required to type when GRUB starts. +The passphrase is recorded as an environment variable to refuge the type multiple time without error. ```bash - # Setup the passphrase of the crypt partition read -sr PASSPHRASE - ``` -```bash +## Configuration parameters +This is a set of parameter for the configuration of : +- Destroy all partition on a /dev/sda. +- Create an 100MB EFI partition in /dev/sda1. +- Rest of the disk space is assigned to the LUKS volume in dev/sda2. +- The EFI and LUKS partition are /dev/sda1 and /dev/sda2, respectively. +- Create and logical volume group named "vg1" in the encrypted volume. +- Create a swap volume named "swap" in the "vg1". The size is 8GB. +- Create a volume named "ubuntu" for / in the "vg1". The size of the 50% of the entire free space. -# ------------------ Parameter setting ------------------ +If you don't like above configuration, you can modify the following parameter before pasting to the shell window. + +If you set the EFIPARTITION to 0, the EFI partition is not created. +If you set the SWAPSIZE is "0", the swap volume is not created. +```bash # export to share with entire script export PASSPHRASE # Device and partition setting. If you wan to MAKE /dev/sda2 as linux root partition, # set the DEV and ROOTPARTITION to /dev/sda and 2, respectively. -# EFI partition is usualy fixed as partition 1. +# EFI partition is usually fixed as partition 1. If you set 0, Script will skip to make it. export DEV="/dev/sda" + +# If you set to "0", EFI partition will no be made. +export EFISIZE="100M" + +if [ $EFISIZE != "0" -a $EFISIZE != "0M" ] ; then export EFIPARTITION=1 export ROOTPARTITION=2 +else +export ROOTPARTITION=1 +fi -# Usually, following names are left unchanged unless existing volumes uses them. +# You man wat to change the LVROOT for your installation export CRYPTPARTITION="luks_volume" export VGNAME="vg1" export LVSWAP="swap" export LVROOT="ubuntu" -# ROOTSIZE is percentage to the free spage in the volume group. +# If you set SWAPSIZE "0", the script skips to create the swap volume. +# ROOTSIZE is percentage to the free space in the volume group. # 50% mean, new partition will use 50% of the free space in the LVM volume group. export SWAPSIZE="8G" export ROOTSIZE="50%FREE" - - -# ------------------ Create the partitions ------------------ - -# Optional : Create partitions for in the physical disk. -# Assign 100MB and rest of disk to the EFI and LUKS partition, respectively. -sgdisk --zap-all "${DEV}" -sgdisk --new=${EFIPARTITION}:0:+100M --change-name=${EFIPARTITION}:"EFI System" --typecode=${EFIPARTITION}:ef00 "${DEV}" -sgdisk --new=${ROOTPARTITION}:0:0 --change-name=${ROOTPARTITION}:"Linux LUKS" --typecode=${ROOTPARTITION}:8309 "${DEV}" -sgdisk --print "${DEV}" - -# Format the EFI partition by FAT32. -mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" - ``` -```bash -# ------------------ Encrypt the volume to install and test ------------------ +## Format the disk +C A U T I O N : Following scripts destroy all the data in your disk. Make sure you want to destroy all. +If you want to add a new distribution to the existing distribution, following script block must be skipped. + +```bash +# Optional : Create partitions for in the physical disk. +# Assign specified space and rest of disk to the EFI and LUKS partition, respectively. +sgdisk --zap-all "${DEV}" +if [ $EFISIZE != "0" -a $EFISIZE != "0M" ] ; then +sgdisk --new=${EFIPARTITION}:0:+${EFISIZE} --change-name=${EFIPARTITION}:"EFI System" --typecode=${EFIPARTITION}:ef00 "${DEV}" +mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" +fi +sgdisk --new=${ROOTPARTITION}:0:0 --change-name=${ROOTPARTITION}:"Linux LUKS" --typecode=${ROOTPARTITION}:8309 "${DEV}" + +sgdisk --print "${DEV}" +``` +## Encrypt the volume to install and test +The LUKS partition is encrypted here by the pre-input passphrase. This LUKS partition have to be opened for the subsequent tasks. To open it, the script asks you type the passphrase. This is final chance for you to find your misspell. + +If everything is done successfully, you will see the LUKS volume under /dev/mapper +```bash # Encrypt the partition to install the linux printf %s "${PASSPHRASE}" | cryptsetup luksFormat --type=luks1 --key-file - --batch-mode "${DEV}${ROOTPARTITION}" @@ -61,42 +119,53 @@ cryptsetup open "${DEV}${ROOTPARTITION}" ${CRYPTPARTITION} # Check whether successful open. If mapped, it is successful. ls -l /dev/mapper - ``` +## Configure the LVM in LUKS volume +The swap volume and / volume is created here, based on the given parameters. ```bash -# ------------------ LVM configuration ------------------ - # Create the Physical Volume and Volume Group. pvcreate /dev/mapper/${CRYPTPARTITION} vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTITION} -# Optional : Create the SWAP Logical Volume on VG, if volume size is not 0. +# Optional : Create a SWAP Logical Volume on VG, if volume size is not 0. if [ $SIZE != "0" -a $SIZE != "0G" ] ; then lvcreate -L SWAPSIZE -n ${LVSWAP} ${VGNAME} ; fi # Create the ROOT Logical Volume on VG. lvcreate -l ROOTSIZE -n ${LVROOT} ${VGNAME} - ``` -```bash -# ------------------ Run the ubiquity installer here ------------------ +## Run the Ubiquity installer +Open the Ubiquity installer, configure and run it. Ensure you map the followings correctly ( The host volume name in this example is based on the default values of the configuration parameters. Map the right volumes based on your configuration parameters) +Host Volume | Target Directory +-----------------------|----------------- +/dev/sda1 | /boot/efi +/dev/mapper/vg1-ubuntu | / -# ------------------ Configuratte the target GRUB during the Ubiquity runs ------------------ +C A U T I O N : Once Ubiquity starts the installation, execute the next script quickly. +## Configure the target GRUB during the Ubiquity runs +Run the following script on the shell window, during the Ubiquity runs. Otherwise, Ubiquity fails at the end of installation. + +C A U T I O N : DO NOT REBOOT at the end of Ubiquity installation. Click "continue". +If you reboot at here, system will ask you the passphrase twice. +```bash # Make target GRUB aware to the crypt partition echo "GRUB_ENABLE_CRYPTODISK=y" >> /target/etc/default/grub - ``` + +## Mount the targets +After Ubiquity finish the installation, mount the target directories and chroot to that. ```bash -# ------------------ Wait the end of Ubiquity ------------------ -# ------------------ Mount the targets ------------------ # Mount the volume and change root # /target is created by the Ubiquity installer mount /dev/mapper/${VGNAME}-${LVROOT} /target for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "/target/$n"; done chroot /target /bin/bash ``` -```bash -# ------------------ Add auto decryption to the target kernel ----------------- +## Add auto decryption to the target kernel +Now, we are at critical phase. To avoid system asks passphrase twice, we have to embed the key inside ramfs initial image. +This image with key is stored in the LUKS volume, so, it is stored in the safe storage. +GRUB decrypt this LUKS volume, upload the ramfs image to the RAM, and pass it to the booted Linux kernel. +```bash # Mount the rest of partitions by target /etc/fstab mount -a @@ -105,25 +174,29 @@ apt install -y cryptsetup-initramfs echo "KEYFILE_PATTERN=/etc/luks/*.keyfile" >> /etc/cryptsetup-initramfs/conf-hook echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf -# Prepare the key file for auto decryption +# Prepare a key file to embed in to the ramfs. mkdir /etc/luks dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 chmod u=rx,go-rwx /etc/luks chmod u=r,go-rwx /etc/luks/boot_os.keyfile -# Make the keyfile +# Add a key to the key file. Use the passphrase in the environment variable. printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${ROOTPARTITION}" /etc/luks/boot_os.keyfile -# Add the LUKS partition to /etc/crypttab to decrypt automatically +# Add the LUKS volume information to /etc/crypttab to decrypt by kernel. echo "${CRYPTPARTITION} UUID=$(blkid -s UUID -o value ${DEV}${ROOTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab # Finally, update the ramfs initial image with the key file. update-initramfs -uk all - ``` +## Finishing installation +Done!! + +You can reboot. Linux and GRUB are installed in a encrypted storage. The system will ask you the passphrase only once when GRUB starts. ```bash -# ------------------ Finishing installation ----------------- exit reboot +``` -``` \ No newline at end of file +# Acknowledgments +These scripts are based on the script shared on the [myn's diary](https://myn.hatenablog.jp/entry/install-ubuntu-focal-with-lvm-on-luks). That page contains rich information, hint and techniques around the encrypted volume and Ubiquity installer. \ No newline at end of file From 8e9aa9e4d0eee04d5c3240b8932e3a860700e91a Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 27 Jun 2021 16:27:54 +0900 Subject: [PATCH 004/242] Add partition diagram --- image/partition_diagram_0.png | Bin 0 -> 16740 bytes ubuntu_en.md | 52 ++++++++++++++++++++-------------- 2 files changed, 31 insertions(+), 21 deletions(-) create mode 100755 image/partition_diagram_0.png diff --git a/image/partition_diagram_0.png b/image/partition_diagram_0.png new file mode 100755 index 0000000000000000000000000000000000000000..be4cb733d9e8bd84dbeabdcbb55355e91aaf7eec GIT binary patch literal 16740 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 G+y4LwdC6D+ literal 0 HcmV?d00001 diff --git a/ubuntu_en.md b/ubuntu_en.md index ce4593f..92abf59 100644 --- a/ubuntu_en.md +++ b/ubuntu_en.md @@ -13,10 +13,15 @@ By the configuration parameters, you can achieve these script to relatively wide For example, you can configure the system to accept 2, 3 or 4 distribution in a HDD/SSD, as you want. Following is the HDD/SSD partitioning plan of these script. + +![Partition Diagram](image/partition_diagram_0.png) + While the EFI partition is depicted here, that is not needed if you install to the system with BIOS. This can be controllable from a parameter. Also, the size of the Linux / volume is configurable from a parameter. +The volume group has only one physical volume. + # Test environment These scripts are tested with following environment. - VMWare Workstation 15.5 ( EFI ) @@ -25,7 +30,8 @@ These scripts are tested with following environment. # Preparation This script is designed to use by copy-and-past to the shell (bash) window. -So, it is strongly recommended to prepare the net work connection. +So, it is strongly recommended to prepare the net work connection, and show this +page and the shell window side-by-side If it is impossible, you may want to copy these scripts into a USB memory and jack into your machine, during the installation, to allow the copy-and-paste. @@ -38,6 +44,7 @@ First of all, promote the shell to root. Almost of the procedure requires root p # Promote to the root user sudo -i ``` +## Input Passphrase Input the passphrase to lock your crypt system. This passphrase is required to type when GRUB starts. The passphrase is recorded as an environment variable to refuge the type multiple time without error. ```bash @@ -63,31 +70,34 @@ If you set the SWAPSIZE is "0", the swap volume is not created. export PASSPHRASE # Device and partition setting. If you wan to MAKE /dev/sda2 as linux root partition, -# set the DEV and ROOTPARTITION to /dev/sda and 2, respectively. +# set the DEV and CRYPTPARTITION to /dev/sda and 2, respectively. # EFI partition is usually fixed as partition 1. If you set 0, Script will skip to make it. export DEV="/dev/sda" # If you set to "0", EFI partition will no be made. export EFISIZE="100M" -if [ $EFISIZE != "0" -a $EFISIZE != "0M" ] ; then -export EFIPARTITION=1 -export ROOTPARTITION=2 -else -export ROOTPARTITION=1 -fi - -# You man wat to change the LVROOT for your installation -export CRYPTPARTITION="luks_volume" +# You may want to change the LVROOT for your installation +export CRYPTPARTNAME="luks_volume" export VGNAME="vg1" export LVSWAP="swap" export LVROOT="ubuntu" -# If you set SWAPSIZE "0", the script skips to create the swap volume. -# ROOTSIZE is percentage to the free space in the volume group. -# 50% mean, new partition will use 50% of the free space in the LVM volume group. +# If you set "0" to SWAPSIZE, the script skips to create the swap volume. +# This is useful if you add a distribution to the system which has swap volume already. export SWAPSIZE="8G" + +# The ROOTSIZE is percentage to the free space in the volume group. +# 50% mean, new partition will use 50% of the free space in the LVM volume group. export ROOTSIZE="50%FREE" + +# Do not touch following lines. +if [ $EFISIZE != "0" -a $EFISIZE != "0M" ] ; then +export EFIPARTITION=1 +export CRYPTPARTITION=2 +else +export CRYPTPARTITION=1 +fi ``` ## Format the disk C A U T I O N : Following scripts destroy all the data in your disk. Make sure you want to destroy all. @@ -102,7 +112,7 @@ if [ $EFISIZE != "0" -a $EFISIZE != "0M" ] ; then sgdisk --new=${EFIPARTITION}:0:+${EFISIZE} --change-name=${EFIPARTITION}:"EFI System" --typecode=${EFIPARTITION}:ef00 "${DEV}" mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" fi -sgdisk --new=${ROOTPARTITION}:0:0 --change-name=${ROOTPARTITION}:"Linux LUKS" --typecode=${ROOTPARTITION}:8309 "${DEV}" +sgdisk --new=${CRYPTPARTITION}:0:0 --change-name=${CRYPTPARTITION}:"Linux LUKS" --typecode=${CRYPTPARTITION}:8309 "${DEV}" sgdisk --print "${DEV}" ``` @@ -112,10 +122,10 @@ The LUKS partition is encrypted here by the pre-input passphrase. This LUKS part If everything is done successfully, you will see the LUKS volume under /dev/mapper ```bash # Encrypt the partition to install the linux -printf %s "${PASSPHRASE}" | cryptsetup luksFormat --type=luks1 --key-file - --batch-mode "${DEV}${ROOTPARTITION}" +printf %s "${PASSPHRASE}" | cryptsetup luksFormat --type=luks1 --key-file - --batch-mode "${DEV}${CRYPTPARTITION}" # Open the created crypt partition. To be sure, input the passphrase manually -cryptsetup open "${DEV}${ROOTPARTITION}" ${CRYPTPARTITION} +cryptsetup open "${DEV}${CRYPTPARTITION}" ${CRYPTPARTNAME} # Check whether successful open. If mapped, it is successful. ls -l /dev/mapper @@ -124,8 +134,8 @@ ls -l /dev/mapper The swap volume and / volume is created here, based on the given parameters. ```bash # Create the Physical Volume and Volume Group. -pvcreate /dev/mapper/${CRYPTPARTITION} -vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTITION} +pvcreate /dev/mapper/${CRYPTPARTNAME} +vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} # Optional : Create a SWAP Logical Volume on VG, if volume size is not 0. if [ $SIZE != "0" -a $SIZE != "0G" ] ; then lvcreate -L SWAPSIZE -n ${LVSWAP} ${VGNAME} ; fi @@ -181,10 +191,10 @@ chmod u=rx,go-rwx /etc/luks chmod u=r,go-rwx /etc/luks/boot_os.keyfile # Add a key to the key file. Use the passphrase in the environment variable. -printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${ROOTPARTITION}" /etc/luks/boot_os.keyfile +printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. -echo "${CRYPTPARTITION} UUID=$(blkid -s UUID -o value ${DEV}${ROOTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab +echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab # Finally, update the ramfs initial image with the key file. update-initramfs -uk all From 25c55f9985a3a4774a60fc2b1c580156c6409f4f Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 27 Jun 2021 16:39:07 +0900 Subject: [PATCH 005/242] Update diagram --- image/partition_diagram_0.png | Bin 16740 -> 17416 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/image/partition_diagram_0.png b/image/partition_diagram_0.png index be4cb733d9e8bd84dbeabdcbb55355e91aaf7eec..be0c9ae517c6e871ad1aa454351fed471b054e4c 100755 GIT binary patch literal 17416 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 G^gjSfjO8By literal 16740 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 G+y4LwdC6D+ From 7e862c375a19cc4033d72970b3391fc1d394d8c1 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 27 Jun 2021 16:42:05 +0900 Subject: [PATCH 006/242] Update diagram --- image/partition_diagram_0.png | Bin 17416 -> 17853 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/image/partition_diagram_0.png b/image/partition_diagram_0.png index be0c9ae517c6e871ad1aa454351fed471b054e4c..7923f13ee9cd4f84e34bbafb6deb5aec6cdf353c 100755 GIT binary patch literal 17853 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 literal 17416 zcmc(G30zax)-PxsL9n%oRS|0|SO-AnL4wT4Jjx7)c}NIT5~d^$3@SxbTB#xiCy*IL zKnM_lLPV6H3}H?qLV!S+gaks8w*%IK_rCYO_ulWjufN+~a`rj=OYlfpIv(JHR)<$9wf21$l*2C*@U6DyZ7Y zs~%C*QB(u}QIMBaQB!qZy&vl56a0BXWm$PJ!BK~RU~dFE{Fl{np9rYm>Re7|^#dLK z4Wmu`^=y2NPx%>I*?*n`8x(1>uqO>w6|EDBp3?+Jc$($_T=Ds6;Hf}en5mUDGStaJ-R7K+x1WNkx#2lQl=?YGB{L=6 zKz*Y?v|*Gv@~o1ofjL~)5=;r#F^LM&RkV$aQZu!V4uV;QdifhTT89J~>3E(~)iE%# zkavuXQ~;A3Dh7n<8Af?oJ2)w*1)vatz6MI?RLs>;=Y0Hw!LVVZm4hwZ(-C>rSS89P z9Oj2~Hns4Nj8ch~H#V}-H#7<~JnIvo4mCFLbu#p^4nlc(M?32Pn;F^}t2v|5CgBF= zmI}rZD5L@$<%K*427LWhPpK;^s;GIXDWS~6gRH<3&jlzu$$N%_zm)YOPDSacK*Qkv zP{m+FeLvl^PL@W_LAq#5{)uyg*(&VdLu zCnYs+1Kl8~qMwtMp)Jft31#JVHWIwo+*-lMEW{XrHinz~I$EKu<)M~JXeBV0nWBEM zVt_6}H`3J4$xp%4QrAokt%Ec**9}$+4>9mp@-y&P^D!~>H*>ZYsMkp~%qUp*lz)Iu zG{V-@2zJU_um&rXrA3f;AT&x54oAo%tZkv-q6*X}#M}<QbMV!n4*n+5H^At5dKg@hY0(?Q&A2P z{t*EVhVsxrYoky<5N?L@KG6;e5jHSWe}4n0vW?MMlPG!L&;Vs4cxWhi)EE|GYy{Om zrD){r6CrPOD#Tb-)e{zMuW~BT%v@0|#7spY`W(^^+zEFy33j$NF@px4iqs1`<*yf} z?j0U*3La?-(+Sp9@wZme_q9BSbdH7#=5>k)KpGoHMC(VW*qt(0RRxlS8b>%sAR-J5 zz3ox3AXAupxO23xzNx%b$T>6R5Pc(ry%!vD4jKdtatyOFRDdb?dMYYenw)j=b~`JE80?R1_4WQATheI8t2|VdL%OZ*Lq8)A!P|*Fho7O@nQmO`>2rVP4k$k(O`+ zV{^D3BGgIE+!G{|zqJiQJO?}J_d`@|WI{PC6(crgoG|Uj7pq-8#(%upg zYONo3)&vQ6lJ|A+R8uoCHZyQEkMi}^Q@8i`k~eWy_e8+pI_5y7O8&;)Xnkc622gV! zdvn782Xv61mz9wv)KB@Ww^Fd(*-&5Q2phWy>j)FuFqEgAfep;w)+R#T1ZJgXfjnhz zrEH`Qv+z;3K`QB4C>ZJ)hX!~fP8kH~MX7kfbX20w=@|M)pVEskaB%jsLm2q0dje@A z71fOW(dLRikx+9R6(2`0C1{W;fMb0ChhX?`L|lPK@cT31D;h+_ZCw@;IwW*fU&k); z-sFHB%%z#oH1jC$(xy$DghkFd+;p|FDn4I#>Cy!g-o;DcpH0FN9q(8ExVgv9S_fH{ zd0t27V%f2yM~`mZD!v#=b2M+mf*+tdjGW_?P{^->>J}nBxGv{j_>Eg-^Poi zVLkR08MK^m7HX5}>QW9G+GHh0+a;s z)g+R6pk78u={(%6RK;Crcqc?SQ#gomw`^v^(ZuO(LOUE?DEY|}XVl{?&u_}k&Q{nf zS|z)2lhevojpFj&Gwg|y?!+qQ)KtW++%w@kF30z@anw0W5D&o@RNaorw>vcgQQc>`prLn+|`vu#tf)=1;Om? z6%L3YTqPjdsm(uE-RI0-Ck<7S5cP8dN9z4j;&%lp?Q^r-utUVt-WX~xQ|yAH+s-hNhn%GMco;M@Y!~~}C#A)-fEO>9Qk7kI z)~ocxTjDH<7L+uXt>BfeF0@EjKG0G)?w3S@#O1obnvhIh@I}|G){e=XlAz^H&^xO_ z1SlABk#FO_<%dGghcTKXPuKErlq@2)vFlw`+3|e!-PgT>vUlw_b>lKsh&;QkE-1L$ zr+&G8erg9xSiJRr94?w_W-^c`znGzWm)ccCSN4x6pxwh za;7)I66gTvZGpu?#7#_7%>%_HDAF{=>OXlxf88KJRy-MgSlP%c$enEz(>^_>`zzmw z5G3b%d{2QJw&t*Eit(Z*#$v$nZk#3Vtx5a`12O=l0v9QX|lQ#B+eW0!DeDO!o62`ffTH-7uBI~Ez#r%~_M zUUt0f+nvnbC%W!xx9#ic&+3ksm3I}S09Q-2#7QntyjTd5_9teA;=bfUy)wS$tqd}V zy_o#q?@nyT^Slc*?+xv#&eFsqMFRU+v0d?&4ypXK$o7oZjyXDS!$RNFJVhjdtR;0I zj6&+I@`YEMH;(wXXOO20Oe;|kTbrr)d=b2P)3d@1ONVe6d>(%}1mmh?!DrohwJesW zUD%Oe4olNqR{iWeyCB@=y)ORxBYcJY7_whr;-UUcZu2mfG_AdiMwN?ojr6ohRc#~? zFQs=>jw;XK^SX7f1+Sn$MNY?oc{*xb3t#e+LS7u%ASg`^_2FTj_8v(3^&|OI?GDMj zcNMRDomm3^-3#INB{V=k!J_$5S2E;iONV0%6Q+B-;Pu(BSgMg6T$GBItyU~KnOcae z!9DfrBrn4DLA-Eh6Y(N+(@97|Vs%(-s~@{*A>>;F)(VdF*#%xtAo%4}s4WIP#XWni zK(l>}o!s6C;VUd0Y&G!8$sesz$wWSZ7CJ8}Bcy$Y<0?W4&{?0p zJe9)YPbOOPtETfhZ9H6lz`EUi#R_@tw7l-N`l4%dMD-jdkC!M)y5u`i)j=s1PWlJ5 zBV-rKZkyL$3j2M!=P~9`(-$EhhC}y?ia#Li93!H`I~$nH=vtkPEziE>ic#0S2W&M{ zWzCu_)UL&!t(OT~H>P4cwJ6$p>c)4g9w^vI4T-Z~O*VoQ z^k35Q|67*(?|enoK7_r!>x&TU$Yw3_ekxirdBaO-ke-ps?m=Y5;%$Nq4U+FZ+O7+N z1T6;42rdcoa|G}%L-sd+3DUE`xxghsc9sMWe+v;-1DY8HsXcjm+e?A_Z2|U(v-DTq zm+XD|AlfbAmoMW#R1k@B_Vyr4GI7wYh2}77LS}oO6i5 zRF+&Podi(HJhwNxpV@m}{zdJTe$i-beiaCI;byqem6N7B%Ey+d8d&E)Z47cw=rYv+v zQ;RXgjAEYSTjB}O4kVv@&Au+bDkr+20R*VdVKX zxkDG!zO1e@-m+rjC|me=^~v3z>N$;U0$x_XQ&O6Ro?0%pb(ngli9a0n(}_eKGV$cX zl=N~5NtgO?pvA7+rK3<=g+*$JJY9%!Yq+a6QR^H7JRs;1h8I{Qr`k31BI`#ZZ%Ax> z1(4fqZ)jZrpkG^2NLss=ER0w<*iUPx?w*%xNwCD_^DKM@7`OJ}+z3pFtbbLXD~E^7 zVd1KH_4~M{>@LxQua#8QyXg8n&rt%xon~lfjkWqk`m0k~>A8lF-pw=q>dlLBvl&VW z_1a4Mo_QrNe$H%xw(?hrRY$9~CxqZu$ujGFwu*#Ys7Qe(6)MuCxW$WpIlfYf_lfT%{ z2H&~2kGuWy6`V1JipBPP+s#$>nSnLJuyVD6yf)`cLCBe7K+LV0~^%so4{ zDEdb){M?;rf!JmHYlBM^DGfXCFPT~Mi?wLsWeZ#JO)vD$I0qDox4eVk$|!038IkTZ zj&!)>rSdBXwPPvMIhoXM4~HD$Uw1P(Cs58QG7rQ!#o7z4qv-*B@liFWO6uFTL$Ki-GTpP0Gce-CR{wKe7&1;FFs{n zd;G8irnVcNG%oHj*RAT&QAQkH3=DUhpr2ZKGn$yDFFD-a9^)gxtrWk4$Mu3r* z+`d0h@0Kl}$)3`hK|kMoxvrn-I{?R?WPaG-%HAP@tUE4xq~WQClkprh0{M^pC|5epW^rbX#u;UmB`4_itsOztEep+ z61w|S?6J`b*()#jXyS9O>hFmNtLtSF2_;z-jS$O%W|HQg_1U<{qkEX11kaKSyRm8r zH=zX&LUES-)|EH;G-SuPc_Mxjm)bAVUs>-rP?5maPGVNh1^pD;)xN4QVI?EBUE9<{ zz2d_&Q!Vr4XwxzZp!~WCA`&@@Vrfw>XI{iG5+y5+yRh!D;g2D%YJ09T>VKCSJ(nZb ziJMTNU{f2ICFEywQ~QH(*4=LNRatnQ(ZFdEjbhI_b(Hb&tL3Qfk?xlpt0JFC+O&l- z_>88wN5R#@9Kw8fwL6i~Bz8OzsbP+Wq{n`50275X@(3r(OYcO#Z76kY*tfjkCDrpS z1JTJC=e1p#3|lHPXP?er3NJl2`9KfA;5i+k^T5w**1Jh>3jnx zF$J0O3#L3KP_>JzxiI%<421ZVwhs+YVH;~LPKY}2oW`Ib`Gk}G$fS%(*=MnAQO*uM z<8j#R^!tzDkcNumaSzV^d{8>PgT92=1!=INzo2N%-`>c2F`c?IEY6azE~58@AN!|R z$(*%mz*;ZmOy+f{ZvB05ceu{c$4_b@CR%jH&+WaI&mr0u%pE-XAJdjQQf zX^4U3du&4DOiVAm2&6$T$t@sXuS2zsAz#6zAa%!cH~3p}mOKBi#3*P%-UCg5CD}@P z)DWle(Yt$9<6k8ByP|)Zxw@#&ErAQ$R|Wh}4p+!hLSqFlx3(M>!1BcQBz>f4(_va$bN(9#&7BtMXS zIs7z0a#4gT z2-pTnLfVaL&fLX_vHe(xzO&GgXes0J8!$y_YF|=GlIG>Rls&GfCDn*a|GhnMf3HYp^ zvm0Af&)DtE*-bTeH)a;UaGj;)>3`)qHV8_NfJm^UB-~v!O9uL;D+9x%5~t4s)@&#s zzvSm@D9*80S7OCwhi2G@#d#ulW+;?{oF5Ux^9rBhoK#|$yynqL4EMASb^|G1vm!XQ zgwlX>P36Ru!M^*#yv-Pa^ze6uo^I?<4MqGvKw(ackqDoREer%LD56+lO%>&cGOv56 z9%Va4|D@-g%IR>+mIU254bWKoDK_hW&StRFVUvGaXat7UTeCy0lPtbTO4goN`j{TFocN(4;5-Dc`rQN2v5wgc!I&Z|Qb=f+!6tiEXuiWN%pwPr`K#L@P) z^G&+N9-L#e_5tnF-Um(M$ukQtcGO+R$I zz>*VLyzg($C_vXcOXip@u>FFdyiKJY%^e-eYK_me7TfnR-b78A%|-QQt9` zd?KGiq_DP;s?9J-OsPS4dn(aE)t8McUtlr?+@DXO} zQZ3DqkhFv>Q?2nxrMDF|;|d0lpsQv%iwxFXWn}5a*Eb%$Jbfp}gC)|=^+bBa?Ad(5 zUO>q-b|mV7atO4c3OD{n^coG$%WD^xK@M%z^JF`srHDiykfDh&T$`b*olFmja=LE1 z)FBCO{-2jzQ%O~%_y=(7w@7Ybm|MOI>+}nHqxheNUBy`)Qk#?f#U(*fg74}I74q2$ zQJnAlnD&Cm*(D;vB*w(VgtH`5NEB!jbzTG^f{RKNZXF;~qmnieu^Bw}rL`pjuLaN^Y^*OjEQaCh69Ns8#bejbmv9&QhY1?c^d9 zcBjwv{#s51LZx;anyD%76?zC1vEEH{3B9;)e%0*Unbn`5C6W;UOIN6K^i3T*N0+#$1BDjbc9fB zK62zHs`MV4H~6tdsC)yd&B+GB$LH^{B}mB?vS&DOwxH2iA9`#wE^#C+r-;eRIe+l_ z$?7ovqOMeF^tuwKM& zuE!rdrtga+%Fo_PJMc8QSYnYQ+jTgtis#&^x1EzMo!mgbHm z;oo%FZ#oceH?~{4JNdC)QS|W6>9N2NufVFgo=;kM>|{yBkr(un=Wy*y<4ma-^Vl4> z#*QBr%u#WA=Hdj-(3MG;Z11)mLGG*=2*W}nY4X*xxgPN^?n^beSWm4KX|QXZ?g70V zfa3xu=dGYC4;3Y+%mfC%$XOpR`rQ0tp!wkH?6NY!H3}zfuk6~R12AJW~x&5m}sf^-kJU(L4!1@ls!1IGf&-t z9brR;2A<|M8!>0%$ZspQf$~K`K)N~$$Bcd`a5(|Hdcs4B8uHj>92q>T_V&4;U|Xej zRP)`O%@2^%=o4v+Bk4BtKc?7w_!<4*60qz5NmI+4RR+eU@7%%f6 zu7V>a^*zT}hPBjGYfa)`dDuO)jL^*uA}~v!@Dju&ld`_&)Z&^BN=;MK!LD&_BF`bS zNj3>$nETCI=-bX2uw#hgc@9QZh|pY)sO`6wDWG;VM?;n=0s zB_2&9o$2iCe@rcY+u_x~S)`C4d__?_(nGKJ$og65E6>oUUM3qpsywul)5ZklfW>{0 z9mtABQ$mI21dcHuUzgeJ;Ju`IwdBm$ zi=B?>^q`h`I$u*1lO#rFUE(gL z6frbolP>c+@0F0^B~Hr31^huo0>?@pMjm*1T0kr@Epg2b)gyFY~V^EV>whTF}XzBn&pKj!jT1%-FE+%=(zIO@S`oL((U@ zmQpO|WoEgLZZE6Y3cpF~wHM`_jVBuj=Z&>yYhQPihdOZ2T7a_pMoDgw2YrlU52^xa4P7;>Nl`2(bbeHk2wpCIlU_?NEiCL{+mJ8gj=pH_ zVKO05<1pou8V_U^y8i&xIBu^dk}s{SI!O`7CoL`XeYzZ&TCv^#Uk!1RbKept(W3qQ zE(6AzR-ZxS0a&q5Gv?lzuAM$9)PimGJK>+e{T+1ujMNwV!-u3~i}ET1h`g&oNlQFB z9yikaX^IMvDhGe@z0w=12FQqSXEnsm9~9Jm3@fyMRWmf`Bs<|Jr6=pFJVsmE^tP`r z{zrJs|3m5b1!4aGR-pe`F)rA*k14shtgWy`7F_IigYI*ntTvDRD3-UZ-WS_$2EqZU zJXna!stlohNBpPioNX39ap$csMdW?9CH~p-984{Mo=lpLl8}&Oso*St>S~o-dOqe1 z9#mahwrp|gTbb_jCi7tDENJ zOOwKwTX&^MBvKfo>trR4U+e1TRu*h2B8aQiosK;)@zKFa|H0z0rbKnpo~SmUx& zZWh?#m*4xw4eXdo)S~v0UIg6EkSgslV-D6F2OA3vN|8&2!(G8HK$s*tt)`}i!C);c zytvP(tZiU~ACBDvvrLkYz4m5{io_exM4T5FRJUf*sg;rj63(E~zVe3uK7_J3S(!;+ zn%!75R6(QO-kwC8hu&B~M{#eAYs-q}0m`~m%j9$K4qOk)$MV(l`l2Q;+mDdmy}Nlj zYBnx|yrV4*w6S8ahu&VC2I@O`H^EZk{_>6CEv6Fn(y7h!UY?U29WtLUUoDo{;NJ(` zUpw6f3L~%$Z=EQ04D^@_cQ_yd?_o8eT#WaMdMgT>(m81dgfLt2oBG;4dm5O*bTaWR zmnagzYdt@}d`vxejmR0>5HbJ_Bcim05-^SRVSw22qqc8+CiR{xNu8!*yuP;7pB8E+ zlDGEU5kJpt<9I9FtUDhfS=c|%JJRJoVO2Jy`xlVt+lle|>=@T>Y0{(kY`xDEV;UZ-rNa?j_k z`~ZeKJwERLY;J67Bw+|%I@f~+GjUi`z&E0%|EhbB7k4)Cpj`f5jIc4J>WxDj`M&>t z$iQUI%MsnXF;c!@oAKK3=kGMt!*+R0b-$B=Z3Ys7 zu>Iu}RaQ=JxH(lOjNY2jiq44Y<5ievX-GN`Pd~H+p5e_i$6YTKa*Ylc^5GQ6nOZ7G-p2w^hyq9}h7cgL7r%a=|`!sxyhFzKfS zK{BHGz!?%(752^hs{05WpIZU&j5S3iI~!dqo4?S&3tw{ z`YXeY0IprWeE9_YTDOb%S`Yi?y%M>i$bdcneWF_~>ClbxoViKxltTL3+t_<$^O79TJvn%p25M}0!e5z=qGThW+S-a zM$_Nkjk$|(aB!HN=uuo8PV=}mwWX~5U`V&*g@3eaC`Iqh?`+z-?gNXwo3oVDYK6Xk+Kru2hGSAA&j<~qE%ue=IT+elu z0)XczvFht3Dpb#Tfw#YVXT7B}AHP7^_;N&$y4E=JdI@hAOifRRXvKdoSgV-Kf!z}h z967yA)2@*|g?a8g#RGJWt78|#l6Mz4cz_-a*qQtyOiKrgIiOjI;grWNeG2$;M`(A= zdE$vnXYQ6QmcuaZV-e=R|5mp~ldEd~+`|_s-}32d+2ZZI+6n~qbzPm#?eea(9ENb_ zfi-Fj>tIb0`L7FHDuDjg)zzD=I+wl}xs%tjbMzLN;!$l6Od9lzWVqPRM6*%9%^ouV4Sj93Uv%G3)BJwC(i}7fMeOq~uJ?{I?ZI z3hQGt=(L&K*T&U$Veh`@MGGBW#jKf4?^kY6O@I4wogxJEBdvic)D{0ln!<4opkOcr zqNTOf;@yDdWYLxjZw*%67EF*f@8<6Q8sva?kTT*yq1UwH7=X;N7nN4w4Xk`kvv#EiEmbfPo**!g(XYib2v1N752L`oUva#+W;?}N3j;LcPQ z_nENCGXc8NIqaE7ASHkxIF37R^R-|0GDK=HoO2KyuX=WfvnKz315BeT*zx+>8*jh+ zn5V%}au@o?1%MD)?lsXXfi~8j-OHKxsTS%51@s!-nZNN>jQTVRHd&si#D;ZCwk7Vm zzI~xD5ddV>%Fgww1IiFU-7%cg7Sp4Gvf2X-sxuzHA{3@%fzyDSc(o$bS`Z*?+Nz|9m2UdJYe_fCOOOfV7pv}5h8pAR>$q?%QW zxljZuUY;RIg@uNe++GkK6(m@YiM|Yb5V0pgOmo z8h=?=p{@Gfnwsu2??Ij#bSQFfZqK$Ho}GObNfjJ!Ta!tCKRC6Hj6B3_Jo*J81yR=3 z7)iu(k0A!De;Jg!@a%uB@bvPT`}giexNW##w(iEeO)-&?M=OE{Zb`_wN4RajAo|rX zN05S$jN22FlgNJ=?rq`>w@84h*)2`@(8m9@0?L0G($dhlH8eC-*dkQ?&Dxv$q<=+g zWV~KjDDSUAnu4uW%CM0CmA~;4E#CKO1`@Mi1_DmT^1eV7LTeoe-cHiYu<${n z9cnS0F61vl8`e7IKh^Qypj$v5%CN}3_oH~kx`lMnXCSd`tAmi(qjWkQ$neLyAZ9Qk zEiEj(gMv)U%gezs+rC|^Cl@>^28)$7GBN`C{^Lsq5=4Kg%HXYf);;FrWb-4V6mPIT zW`Piqx0EMHTMG*d{j!rlaUXeHjw+K_Q6U33>}_!=$Sc6y?$ik#Ul&47`=>NwISX*v zZy=G=X9N^<5kv{S{v+V5C#AHpzcn;8RB~{f1@l%A0uvK3*?cVcaXlpk(a#4&;l%!kH#WLjFtHTF8GRG*AaE`c$lZhdB?uiA^~)5Mmw`qPyns_XgF2j?muIBxrDmJG0xslggX)vw9Z+Wa}~ zS@sNw&X=3NrnI*K+X6mi#9Lw%6`Iy1tOF|GE+9iKX5n{(s;U(;FVptTSFgcq#R!O_ zz-iY-9I$>2i`hIg6H4)cJqEJiA(-(hQP|G4P7j)0JPM90f%oXSREC#$zAj&ts<}f{ z{FMP|AHlk}iGB6n0xaBD3=plfWfqQ)rudw{ye^;RCsSx|CWpA-TW6hSs=ZTuO>J#C*Q;27>^DKkVVLd0`P}NvwS+{FV47M{__w}c zQ-fMj3ln!hz!t<>Upuj#Mj#O4kLgIQn>0UJ)dwJKl7!qxT0^2++WV_RLtdb$`n{mw zB-FJPodn8Ga1({k0D@A|+8P@h z`{zLuQ%qcZczW6jKz9g+8=>(#=!>-o2nsMGh2jB_2l((p(YM1eG&ukNxr!0wEdT&d z-ufyoa;Avj5Har$kzg=cc|}E$Tx(Cy9YE&L%>K%6J<%u>2rs&!&}mIgTO3gwjotHoA7WiB&^Ov>pynkpi zD}fdg$(?%V|MSX;^P8(js+xvo<|hHV%Vwg^Hq0fyT^~a#?mPSliL`d{G|)f;98_=? zs*fAetNbs5bT#GafF5UM)F?)N?^CspVkg$oCSa0%9g--Cn+&}vK*2kIM4xy1O1YgO zK71G?))oAj8!@LmfyIIR`3hhlL3ZPQ|2y-IuIz7apduq333HW4 zPlJ=xEeVwV3S!ipp&$S*zj{WCd^cA*(HatPj?xYQQm_Y74VoPc8#|5w76xl#!m!vu zAyQTzy8WZ(G^*J(&s8MXf$hy+CF9n@;d;!u(0=w^h<>; zonXto8$>`a`VXiG_{`(;Nld^=L7mjW6y*a1Dbs8SrYjBuL`xNPumvT2Uj@P`kSSR7 z=T@~OKy6#fa3%?SA7a8!x*2WXCKsp-jfj|ZU z2+RYYoox`;UMT^4O8vqoH@bntXDh~8*<9<32cEb%l%g#__jJwF<r%BJV6tXh- za|shry{8~FVhSrmRhJ$B?&Kg+g7wVqB G^gjSfjO8By From 311de482b9d87516f8b1b648a5c8c2d431c1935b Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 27 Jun 2021 20:41:13 +0900 Subject: [PATCH 007/242] Bug fixed. The variable name was wrong. And lack of "$" --- ubuntu_en.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ubuntu_en.md b/ubuntu_en.md index 92abf59..c48a7f2 100644 --- a/ubuntu_en.md +++ b/ubuntu_en.md @@ -100,7 +100,7 @@ export CRYPTPARTITION=1 fi ``` ## Format the disk -C A U T I O N : Following scripts destroy all the data in your disk. Make sure you want to destroy all. +C A U T I O N : Following script destroys all the data in your disk. Make sure you want to destroy all. If you want to add a new distribution to the existing distribution, following script block must be skipped. @@ -118,15 +118,15 @@ sgdisk --print "${DEV}" ``` ## Encrypt the volume to install and test The LUKS partition is encrypted here by the pre-input passphrase. This LUKS partition have to be opened for the subsequent tasks. To open it, the script asks you type the passphrase. This is final chance for you to find your misspell. - -If everything is done successfully, you will see the LUKS volume under /dev/mapper ```bash # Encrypt the partition to install the linux printf %s "${PASSPHRASE}" | cryptsetup luksFormat --type=luks1 --key-file - --batch-mode "${DEV}${CRYPTPARTITION}" # Open the created crypt partition. To be sure, input the passphrase manually cryptsetup open "${DEV}${CRYPTPARTITION}" ${CRYPTPARTNAME} - +``` +If everything is done successfully, you will see the LUKS volume under /dev/mapper +```bash # Check whether successful open. If mapped, it is successful. ls -l /dev/mapper ``` @@ -138,10 +138,10 @@ pvcreate /dev/mapper/${CRYPTPARTNAME} vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} # Optional : Create a SWAP Logical Volume on VG, if volume size is not 0. -if [ $SIZE != "0" -a $SIZE != "0G" ] ; then lvcreate -L SWAPSIZE -n ${LVSWAP} ${VGNAME} ; fi +if [ ${SWAPSIZE} != "0" -a ${SWAPSIZE} != "0G" ] ; then lvcreate -L ${SWAPSIZE} -n ${LVSWAP} ${VGNAME} ; fi # Create the ROOT Logical Volume on VG. -lvcreate -l ROOTSIZE -n ${LVROOT} ${VGNAME} +lvcreate -l ${ROOTSIZE} -n ${LVROOT} ${VGNAME} ``` ## Run the Ubiquity installer Open the Ubiquity installer, configure and run it. Ensure you map the followings correctly ( The host volume name in this example is based on the default values of the configuration parameters. Map the right volumes based on your configuration parameters) From e3fc04f2a84b905f5e174becb146c3c30d55245c Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 27 Jun 2021 22:38:33 +0900 Subject: [PATCH 008/242] Added more scrrenshots --- image/ubuntu_done.png | Bin 0 -> 21207 bytes image/ubuntu_installing.png | Bin 0 -> 337576 bytes image/ubuntu_partitioning.png | Bin 0 -> 756053 bytes ubuntu_en.md | 33 ++++++++++++++++++++++++++------- 4 files changed, 26 insertions(+), 7 deletions(-) create mode 100755 image/ubuntu_done.png create mode 100755 image/ubuntu_installing.png create mode 100755 image/ubuntu_partitioning.png diff --git a/image/ubuntu_done.png b/image/ubuntu_done.png new file mode 100755 index 0000000000000000000000000000000000000000..66af0a147ac4fcdf6f46e0d3333137195a96fc4d GIT binary patch literal 21207 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ℜx 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 literal 0 HcmV?d00001 diff --git a/image/ubuntu_installing.png b/image/ubuntu_installing.png new file mode 100755 index 0000000000000000000000000000000000000000..fa75f1acd06fe5a97ea1325b5350eaffdc313bbd GIT binary patch literal 337576 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%0AtH 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
  • +MnUydvR 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

    &k`g^2PJpufJs9t)tB7Y+z>Gv#~$h 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 IYIdyrh}#t*p~FxY+dE#vAs84 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 LIhFqH$18saMzDY* literal 0 HcmV?d00001 diff --git a/image/ubuntu_partitioning.png b/image/ubuntu_partitioning.png new file mode 100755 index 0000000000000000000000000000000000000000..df51e8756a1a34e1ffca75b465bf39821ec78a69 GIT binary patch literal 756053 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�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�qEXA%rt$W-`Iv=qagP<}X{0S0EvCAtg2z8iJHy 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

    (a%ByU$h^t;=BLUWR8p zvRMND#o}K6&JucNDl@x|4pjg%M1!i9iF~Y{o1ijgwK0T5FZ5Lc54f{ykbY&`SwE-^ zADvGgy|z~;V28cVe!x&#BIzek>VMr;vLMgJ+u5eOlj4&p6tJ@kQwc&Z@v)Dcam?6tjQ#6@lTCA%&H8pLfKq!T|w z>l|}o)EN_iHDfu7bpH-N({0*n@}dgrGd*!S<@vnz@6PpxtIl=xh`ZAyhXQdn)`L#| z_@}D7&5ma+treDUU0_@@bfwevz`=DpOvbOBd;%#T?2E^QcFSF52Qy?JyTNqVrr`&P zA-XF4GdAdFYLXY;_kKg(uJbb3Ygg+b^mkYCJ3y13Yth>r6Y(3XHnCzFXDB~LOR^t1 zOWVB|zxaL#px&;zqU<@xYF5!i(%9|uvYn%BvddP~753^cWfqHnrYoVakA$$C^m{u0 zfW+BbH*|+>+-iaIJY0#L!n~W~DBtWZr~0$7_tDpU(T0HI1f&!-xETdCvykR-b9X(9RzZp3%(oCOM$7LnH6)Wka1IV?TU#&v#!f5hevzPj<50`)bHNf_(d2MoJ z+w&dHNiM*IbjMKmBdqxv$Y?4yoM_Hq;C<>&AGXm;NXr3WwQT2RXhczSab8XmzEO0s zo2jfUlZ&VBWl~6;F8g+1G}NmQe?+6-R7gYaWv#ESAL|=i#%H5JzV+o#Kv!WjD(r8E zytYu~!p8Je-ssm!zcjNSo?)zpFR95FRl9Y${w|qbjkv)ED{gf9xpyIJ<~mlb<3n8J-2|_ z$E-V{g@Vk4S{@(q&DCj{ZF)vA`xH`K{ZI)h`VWdVg$GBNBckmTnuWS6v(bJ5=i6aE z4X6;RmaIeN?4JVoKs3x_-={0A>1G39Q6)*#n>Z#)k6oTsX=Hs^&~)kiuV!r18{sV% z6ubflMAf0)SiEvC*cbvza2@XeQO2?T>jO4PAWt4Y3^gg!*c_rcQu=@e=Zp%OB*j<&;`r*U&w={P`ul- z>1$27czo#8fgK2ceDMJVs^($E-vTTHL!2rwbnh&$^m@)Fyr(hM7aBX=;@Buyp7BQn zKQ2L5-r;|MIt9#fN{(6GT6d8)ZAE%l&;Pty2iO1-Fj}u*!Km9`UH#Af!S8~IFsHap zf^W{Y%o&F6`-1GDn*~p3@x`7Y(dRGm=WJf6wjW4kw;p_1@?B5P0K0Gk8lAF^A_K4X z6Wg&E63eQ@iL(OH?{bH4X3XYWvds4?AdR)mLbk2ns!*GiYAXxZ2ti=?>ocd$Xx7|t zQtr%9j9E0Xoco)v%8R;TSC!&8vup2`?)MxuZc{sqv;3t$1Y}Lr*{C@*&Rb_l`Zpe> z<%)ZAulOHHN<7@3pONCM2@;&Z&R&=aWO!j*C9DSxPmUKuk4D~u^(sk^+_SYaZ>_vy{(!z_=l`;ZH>5vSczpih$_( zmp+>@U9cE2ys}~i((G=^^1kGxr^~ub?smORYniS{gy37mys{^S2097OZlr#XGSkcb zw86q9dynNc-?hjBb7#?+j15x^ds!>k(W?sinWB>8p+A(2bvgMX&nkKS*@(?YozQSc zS4^(bvrpE8x_J^{$d6@a6Wg!_QJouQ5~_gT(9pD3!u5R$)fH*`Me&v0F<+~}FQ+BV zJBViRlJbIu{l9)b9O;{Ef75RlVA96Sz@pJh-2XiA{5yR+JIzhXt0a?ML@ZY&_fA8Q zGPmSxVWzlpQ%~VNzE5@1I|$%@8EyE5Ge!tQuHVw^+ngGv57#{Go}Bcdj|n z)y5#C;h6Fh|E0W%=V7x+nuY`>@p;RRTmsrp&P)b zgU{vnSYBvr&PK%x3?WV(a^Z@^Qtxtr&V1ChU0AeCM(__)YZc?^;y?e&-mK~%hOHosdPg`#1T9^JKmuFmv)Prf#I5*VPheJzr0N4^ zBadUOmt%;pdx!0@s7c#Zs?S9Qtda7~_TI99Q z7jcC+@kIrwYl2RlrgLmpZ_Fa1F`T-H|9afxN_q0PM3IeN6C)_kM_;B=%xUa|L7Wwb za$Z@0DMEqBuTF1yvo%N-{uf~oks?1Q-)-NI&8&IO-#(zH$*dv#FCR%l*jisdvrqJ* zmEccuL720r8RINkItZ77N%Szx6i z!4`Mr>7vKTg)xh^p4mGV?F?IehxJl>mBxWVmmC$+iUF>|O|&Kb_G#wJeL^$wV@!tA zp=V0v)f<<5u791C$U(h|d0y$f`kI=WQT!}2dP>@lSY)yE#X&{AWo_Z(;wpq)rd6j8 zU41R2Qb{EZcx7s!zS}R1zx{k$R5YR zCRi3kT^hI@xN>D-BEQ2irCU&*ZGFJBHkDrSqtCrua$*@#s&fy=?HatdG7_TpuT6Zm zaX42{F8D^ebxxYjq^lKLr}sDF(OkZLY~1`+3xX<2%i^=E)r?M^uy$aWxI$Yv5@Z_R zMe9nRM(|+6s}I^554Q0=BcIi@U4V|OHOEwssR;E~W;1(iAo6r3KZ_}YL)*{DSL@B%S@vf+0-q`~|&)`O8rkpaIh!`$) z?0r+&dbm446jb?$u^s9sKAJrA=U;x7I9>%-PptNwpsX35jZ2iCpes}&@3FC0&fcK| z#%q()N8Shk&M2NZ4ld3awh3NdPbp~+`V`jAds-LZ29D}0EMYhO8E1wx zzK+73X-j-F?uPsIF!gLS1d2c|qho`TC?c1hF<>GklFLxD z=j7JDR)51eJdkLPrY<*##Ch1Cn6ck66hkhdGpPL`tQedVsg@grn=G^hz;>Dz@!;Wf z+|!N4x;0o^vcDBILIJFS=r*xsOC1wI8=u2_=ITf2Xcq<2W9l2^%7QP|MGEkfY^0B4uQhL%VDm zwcU_?(Dcl^*2MK`H7s-pHJViYmH1yGgQ#kO?uWxmhIJ*XYqe_K&$&aMr4E+H4r11e zIujLvMoBq#VO+%nNygFf8=p3kcmg-O9qK53ucbu}>H*hsh4EBRFP_6{*fMxf&D~Sr zZ{N8F^sugslj6^ro`F-%1N$=#m`q;Nb2!_MZv4jgGdUlp^kajg=L$@Bh=j@&cy8G4 zYQ;#6le#PlDh?FmK8Te~^|xHv?5L>lc8)ZTaQOL%oNw4b(?PY<#*ODW5P6< z44Ii0Qt)eYnZBzsFzhJbzJEu7t9g>HEwB69wm?~p#I4Z2GDOYu@)-W{@LfqGZZb=o z;OrWWRL=*i*WMY|T+QFq5#lP}c%|pgP2Y7_Z(e*zho0$ccSg%2XQl%-&cfGLE3mUF^Los~d2 zys}f|bo`_fU};vy*K}9e>T(l63pV!e&MDeZE8;%l&(&C# z!Yo_U&9eS6^vrQw8b#AfjF?Zi1KxD}Ts&~YdTI~PC&}KLh!BCYrKs;vmd`7ttL>9p$qd48F*Agv!*m=C?v9ooBSY3wFu>~_ z;wF6*(&E%X-Yso2wwB14k2pVy)Z07Jl>@*26c%>D$v#`81~hKwIqZ?T9MwTA;A55D z;{{G#*j#OLsX-uMC?%K(qRc<_s0o{7Cg?1l_ghC`&h3LhW_xOp>nqZd;S=^p5$(bz zM0fkMq|VZQv`#m(J`OI&W)6^iJcwAe5uAIyP72!;1s5gIXxb5)D-E|l%{xjM?W?^Y z<3{-hHdC%n>eW5ydnNHbWsVyR9G*_?0CMC1Iq14!Khs%0PqY3Oo; zexo!H&l&Xsr@>JOBbH}>+@np^;_r9fn>^3rA9-rQ|MJvi^YG*Qtcnx3BSI~{=wU;z zSz306tZ)W2?k47cA(#z5V;b`?d#^vX`w7P1QL-qjKNO`H2hXPM{)KNs8?X2TOQAgq zgkesU>Hf-2)ke*)kU7V))KJZXig ziO2raI^oNO!Jj{}j3ij<{@T*}8uDHGz3GYB7_=$HZWiKJRH|m@T1)yWTl-EG_0&FT z$KCpb!b%_DX>+$}KhNgxxgq)(cPm#5$LZ%0zo>;a=O|^dtMM~wyT6ooPf=)MXf)Yp zoLG1+YLvV8I{g*b#-lw#yyaS4baJVf)RWvX{zti-W+jQkHw_1H*wMS7)07k=$tSmEDBg?*zQsZxDWiE= z(i1&zlvhPl%2g_fo%6K6Cx&(hKn2qo?oEQ-;QHOzos@TkB#n~h77^#CI)1!u3k&9x zEm5s1xavk3$W~q1wL^RPT`Ql(FdmiU zseBuh*Jsv8j6O~a*uuwR>PeN*wgK>QJ3sR|JZW`B8LwBrs!lzMw`njxo1gbhhAS(g1|F(*~a6PZ#$7Qbb2Z^gYHVj=CFhI!A z%3*?KP>1vaGu_a--9!MbrT&>izp$_U!%J5B1)OzmDcs`aTQZXXyXS|u>!^&TBuJ&K z3=y4(EypnM*x`O(jc9#mqTpnITQP%vWiA1q;{MJzjt=#-U*g95-f26p$$HmI+ZdoJ6RPC`)6&`8+F^=5?kT8FFqkDFRI_v*Hbfngv8@?lrXEQ_Be)d278t^+rU!w^N@qBNu*SwBpqf_;UcE;dJ#vUC}-{rGQ_hf z--^JqA6-kc{pN1wfb(T1OfAp_U>yL3;s^w}NCdSZY%-`wlAP80hX=!pi~e$c=zH_a zb5F+)y5-sb8fhGv9OQ?=joz_Vd{Q-c8>CKo&pblpgeTE_ zI0Mmy2xoM;X*FEiFa>Nw|KSSJhxRnyy#ThJn(EoFcFirIM|XsdL36ha_AVE5PE>Al zmu1{9?Eio-xIaqYapsPsY54eWDcxHbCOD_x=<`s(bkW|bjOsIXus|YbV+pDU?>_01 zsSM=FegP0x4WX=Bf>Uxt3Enyv6^&!HdoPiAI(I}yzsAXc6X%G3J)YRc<~t3ec$`7N z9;z#|Lfg@J{_9`A5ZyBeNh!nMRtz-PzZd~VJ}$b3T0&cfZ)$OR(qjx?uJTvkS=|hkP6GO|eetod zOS|W2D7#k`t3{HJJialC+I_%WdCH{w;X7#YQEOQStF24O6G`r#l!UyFqQ}U6@Yo0%rKf$TnOLPm*W>P z%_-q9cD$(l{Uh(?jNBH}N#RDQ#%ETff-y~T(2Y)Zc$MYL)c2X8@-$o&b&-B;KhCol zuAXdu#Z+ub(xU;VrqF$`g7#xpz6wcsRr^ZK{3)}0DCg|1W9ZpwZsEa2_(u{vt_r~d zA8{@g@%u{yZBMX1$T+{AzM65$s{jnOa?gy`;cL{g_Etk`T%zp`RC>nQiI)`#tIG3n3b-p6sNd0Yp zVO1pG!mMjoBmKOiVR|uz>{onF`-m}f-|5+GL<>+l4z#ipDkJCpv1j?(YHlZ=*k^ar znD^@NpUdABe=|5^Wgm1FPTuM;!TrcpJTWQvbDspl07!=zw;^vsXq~A|Z>&K3;>8 zA)y_cF09P-XX2YXy6PbZX7wn?(OcF-kxD$1)^l6B>Z=Z_`z)k-(?5neC;C?O=}fmy zE9%LfN*f92pcVU)+K+`nuZb1Sdy13Y8d&Wo%Abav_3t|eI@EGDkem{K9vd5Vt|W0h zQ+ye8o8(4oroX2Z77e^5IP6t(nci8vF(7k7;~AlbDybf0pL_yLK-T+)l6tBCDM45< zv9TIjbsipZia)IKT3Qxhl{bI-Ko96Ap2osm{T#P1Pcs#L4&wW+*GdGchrAZeTh(vz z`@wL-t|xw|H=IV#>%S#4eZVhT1V>53-3Tv7rSc?+Dk`Mw%uG)8O~O@a9l|e3xqE_* zz2zSQfl=UWciI&Ld)`Xw8@kGc<$t|HU8VO9&kT-y7!KQ94BPzYqnmCk(gMm_$vYnI zSb6u$88Un}HRinG1+Ev5MJOAgwi-&GoOMd>5XYD>PauDhW$}01@&4%d{Skd=Uf{lS z`vEZSVQ+dVEjU%~Vs41n<*2>JyKz4eE@k`!byv2jm*%{ej?#aSuWYQkJjyQ8NLa3< zi#A7|cLSZ#%{zbGgWCo)a+C_@83**s_kQ75GXXlX#|DOUNup-R+3eP}HRld%A=-dw>{m zSbX;d$g?|37@Pp07kP3=bVKcgb{5_b99P|5qXa5H7NP&E@cZr&h)LC%BJoYAg;cwi zS%AxD=@tGxuMM6&c{o@6AoFEAFMZ7H&)bS_A#sO)8`AFfZ(?F%jxVnv8nuPbZ+sCy zW}iM}*nZo39@h0Azl>ICvUAmD?V(^IQC8!FaabWJ_f5C+KmXw6APHZy4jnyFZxt$5 zXOPLVb<8I@2*a;N(c|BWDcY9CQ(Cs5W7v<6ZWZrFEw8xs+v#APk|jwa&SmZ$IMNq$ z0MVOEHEg8p+v!@^v|+_7Q*pi}&B=QjT%qu?$OXMCXgOWSvtG8-XL(b^@#lte`iP23 zTa1UOLOr!^5mWvd6N%)H1R+_!>TDF5+$&=?EIna`v43#6HYZ-?&?zLe)NV@$*YTa{Bt$kY6StfzLN<8FW%s zMbF(SHZ)9=n9kD|0$eLZQZDiGtys3XkON;!{Nf+J2_c&r6z z8ky4weTGtig33Ao4?Fi>h&?~R$AFv+Ax9btE`tpsEoZyXuz~L-TE+RFvxKC$|HJR4 zBJA%BOQ@%Sq0j?3DRj?;W2N2ZMeWVd|Dx+0qazEnZQUK)s5t3V)G<3w$2L2*ZFh{0 zZJQO_wr$&XznpX5J@=k*-m4#b?ESMw)n0q;HRt*!D`HsIV9DxPR5hO)A}GBz;eB!r zqJzremwesl%Fm|ye_$+~H88L++}|pv{$#;FTM8$F@nP>_XJ==3W$EkS9+5$IEDcaaUvGsO~)N`=GH|+Qh zfjptdBfLno?u%-Ys`cpwnyEb0J5zYx*1zjqJ6nAu!27+Uu`!$hTiTLjpX+~mTCW_a1#adKdy&mIoo&>d}honBcF#uU)r#A zgr0)R_f8|IJ-OeREt@tt#Vz*bel_c_4$5-uV?+ru6&}hFgPJ$TNGwys4qO*41AL6F zt;}e6egw)3cFk@zHt92U$*2G{ABdU5g1Ny#VA-WOS^Z7_Vm82O0?7<3@ApLF%^7B`Zt=?sKUT; zB~7QWP*sKAYK#~f@OkvU!H!FD_R^4Lw9MbE@{;j*<1w+WL)V1=Rv-(d#y$-$kDfaO zLh+#WYF8pEVxA%0BH(u*4YOlSbQ6hP*w_1Y{GsD^_2GrHAQmfoJ7dGsAdIt8*$&ao z1KYH0R$8`%j(jW~{nkSxlmIO}P3(WF3tHjFjuX>k74Y+k#_F~R#gCXl5VON^o?|WU zQ>>El)}8iTl1iLBDe*k4SFPgEW1ND%p)a}1tDIq|$$@yG^5LPu*D(lFQC5v2^OmH& zz?iOR?x92f9W<=J5h=+faX{88tp=*P{kFSn)!M{dFf(xd^`^dlm|0qi&So;NrlL!$&VK!tBT9*R%jT zRBs1*+p~&Z#+PMAfX8Ow5$myiy8Am2QA9TVFU=rtfR2?)c%})03r8jbi3HSEp(>e% z5lv7=HS0(#;(+|SfPNw19Ym1U+gnoz6hr`R`sl372O3y`gtS-`G%0UO1minExYs!HsCux>r!RCe zIp}z}3B!TGAaZz<=7Wfzl6)D${u&lEzz^R%!7u;}A*CHPyi^eldl;CcYWLq6DV zHCeZ1kh?aU=^2SGIhm9Q%;Sm1KG-CoV*^pp`e&eYjerI;4^i(^@{!mJM$SfJjUu1PT?m4O!_3L7sM*ZgYD=3#V~QS&&rWMR~uU9Q=Ip9rq1z6XFr8+X)! zN#nFA3nuB9RUF2YbWfVd@c!P@VV|9XXvIo<_kXhisLrS|e$2uF2J3)*`uG zKjC!yv3Hap)PQ-6NIRoA6 z-WIg44sPRFqknSu9il=^sdzmOu-neb7+?o7@84Gmp}KL0fH&q8e#J$eS<^!|?U zZauR$`XYnN%XLg)Z18s8IWR>;7~u8TXukxqTRr{!_ROWm`X}M`cPFdpRvB`B7lQP? z>y4TI9~pq73vCW(DS4^(Zvg4{hJk9nv%LXo+K z*NdllS$F-1B}QFO?}=CPS`D4EDOPc9$CC)fzxMRjFT=*>AY!bx50keOP?z}P2O3x1 zUSxh5n8BoQCy{m#^hGmD=S%-E`^zJm+_up)?4L~iIs zEjy{2F!F4;dF6S^%LS)?>(DhPB7}1ebkd+hVL3VCKX1Nf{Wu*^(&R& zosQHDUL!1H56#Cf$1Ce}Siw3}o4*2@(tE+vv=y_NvEgdJKNW3JfoE)%>v$q0&g`HB zXmX<99Av@E_kp}2jlst~yMI{9#Psm0mKxbTaW1Ebk18cSWOtHQ>%1P$dNjs z1c|-i@U~cLF`?Y#FXVN&ux(TOYf9clL#^%ZtMArYHJNUi7ExFPC? zfnL4`}E<;F;+acf+&28VZ(%GNOzWYoTsrul;VBW{6v%8^q-#f^IB%B`y@*TEfruON~etY zddvcu^d}YAX+~G;20XavTU+AD48l?&T*DB_Df;G8byplujUs8CwWR~50)QwZi`X?d z&kc!C)*HdPTH_!TC&`Efn_s<3H5IngEA@UDZAKZU!Cyv!Cnwe_m^Tvnv)#TvLiU@y z$~mw9kc#ckWGU%>8~N^8-GqCKRZSy*(+Bq{Hq=T#jiK-ER$`D#HI3$%263q*Gvu^! zl1ZQKD8^FOCz-gjE>U#;ey3dfKx=E=1J_)4xxe64J9me7-*K@~(Z8v&zMMkK#O#xp zWCoEUHJ!M%Jr3j3)bZtFO{V-=B<#T8TLT&kc0@e2Yy|(8@9vkU^lxffJgchNVb!hp z&sojiLhafqTnz#*stLlW63B;&OnQyL%B9uze~rys*?r&v52Ku{#1isJo+N%rr9HE~+XU9q)Jf9!aL7Ir~ZcTSK#uk=tC|2|K!O7NbYyQw@pBqz1|?lX!sxbjoFxQMgv z67Ot9myO8S@qIuWnIMN&`BM8yov+Ojd1R*Vl}BWT)uFYdOMc)UaDF4Jd>ut>I_!Y2 z?(M_7DoRQ^5B7=mhSuBs!*yLYTiIP@hFM&^)l_*jKlnzUNFOS*WT0y^M)=N7PL3hv ziJM35Za~Sb6J%5gKH1OAkYK^LFO%;06lMEiTKnm1zrk`r zBsYY39GI=2?e4<|`{EVXwH%NFx2@{R4xR6iCyOD3lyeB&OP8hz8Mv|_aKQ&S5WWi% z=Ao8C!_JT+N)gJbNbwgxIjhszMv7b*iur|%hXa7+R4MD*zVO6-YNy=@=;R3-2`mJfJQe@HV94uF=zKhGp-rD z+3ONm^3ZOug+8Xf&p&&YQpB>uA%6Y7d4W~Abyr{l-l@-8K#oBfXPxI6B!}v_&_#8` zYh{K=n2JZK_9*9BWTZ7df7G-r(}PCCcwIK9Nms>S%X$pe>#0ggK!Q#g*5myI6rMw` zZT<7f7Df|2pEs#(Xhy{Z@DJZxJCx*ETXN$blQ+3~>3Lgz10gHTy~@dnyv5>kNWn=E{| zYX^0oM(3CGhAxigO6Z{;Xa}BxGesOYvLF=+dxkDZt$ zC>{q-xeU|ZqVmbx!K!q4zG&L}NVAK5b~%~j0C-J&xqICnewsZBT2!B(D`K>i;9$Gl zV9cq*&v+pU@y0Y@ICHAB#2nybgTj1=%G0R{GhRNOLQHenKd&xjc)y3GJZ{G+?BIq~ zt~JqjcKhKdxyEDnG+XK^iux@bDi8ycQi|W4@=V+#VyC(-99nhJ(e=xce-tbU{J8nC z+X0h0HBPCVTdI(laBS(%GQQ+gUmdQ~1(o~Z#tW)o&z-|Cdv>}$5eE`4PuPydz7(MZ zD8H}zJmWqjTMXZpdWl&~4l1Oov?M26fCol4`2E>D`=)$8EF79YL<2@e-i|9in|I{x z2fAZ2KsZw4Fxof^xv$%-DMrwG#epEDte(|l!u2z4a?LREuu?BlWt7*+e#-52{mt`D zfqeb}jx;fLO!$4iQnWx7mLWN3t%GVBmc7=~$fH{T>e(#yR7pY^Mx7)S_(M8%*j>{- zn@)rOe*TDzugVdY${i*;dXDIepav{F;f$M`fG_PMxY5$EA#j5YLc=|Ny#)`(m-*?YR}(FUj~R43M({%fXP0!} z5=C;|vpGWc6Hy+9`+XM%rxi=blR_=vtSDdjb$_ctvFO5R^Py_2c#)wxPEc4 z)9TlKJ8tV3KJT=zzGD{B?sTf!{9am+?D@(#j9Z28zgkF6@RiI;E_OY>2CY?b#6!2! zfWEKfy;X0kzSnLwlz{Q%jJd|WaO0Nrj%yEhZ0XTlbL}_T1?1 z9L2f~xFOk)QCulcz=^MAkiz-C?~x6Qb>%xYyMs$Z8Bi}s9qIxO`$s>|~?y4O!dHC_V%YQmj+~(>uus3&uBF zu)H5Z&>2+Q8(^UG10aHV8N~19SDV;~M5bm_TUngUhGtOoAk^8>J`GCe$}rAtDYHK9 zKO73z_T}DeL=E33liP~XlL&;ud@vZIuYg_NXhAqR5m>St4_-aF-gKm+!q|{Hqz)=Dj4DDIf659KR-qob1FR{o$9EnL}t#~i3defu)f~v2_sRg6+OqPQgOZG84rubU(k7CV|r z&DFl1Y~p|TVgKioOTxB^_`cE>9xUP=d-kFh@<`N#-`V~boX4?UpTt>+ zZ@h@TgsETdmX>Ww>NUq)5jvZ7!Q9_J6!2G`WPX*QksWyGfK%`9Q%3_d2qom04Dc&k zPi#t%T?wS!aAn7j{0P@)*NLq>5C*0)9T@C(M$Y>vj~!4RXxX$DqXgalb}x~bpp9w- zSFX2a@9ZBk_OG-{wB*WWeGez#0oVGm`%3B-DYXgD^1uZra#jP={gZ#YLvAM8ZfjW3 zOPS|Wvk36yf%S}lvdXWxpKsol`!+^CrhN`XNTVe|AuujwXnTBO1d6VyUX-fa>i9`E zRIepuH@r{{#vv05DX(w41H()n#4>x%_Y8(w7Qid(RtzZwhc&h|<0r2w%>%%ek2%dk z9H*h`*(t^~o#PU{9Wr=M;Ilm=qqRtgX-uJnrb?$VO6_<@oMzSA^A}&jFBT3{)>U#m z$<*1k-2vPtF_&Vq%Qo*uOvzm^jem1h#axh1XL+$^N_x#ZPJa?dxdSH=uhf|~L}PVs zrx5m`3pLMa2rFG;YkE@>O33 zrGg@6?*&ZhVzcs;CHnT?EG=k@XI;dr66RQ$rVoX0=OW=|_OrUgZ}XRn7i2p}e{-WP zG*nBtPCEor*128Xzzk#gB_1c*s+;*O3gnc<2)Rky%HlRp9K_aX{y5)no$*R}l2n0D zg)X^s%6kl3l^r$vRn@DAE1q#F7(tP7O!({%fw`P?R4Z6XbobAB+W&eusKNEOUxkf& z2RVsq`Q#xzqaxur;?ud+gCi|jD1P1qquT7x(e~lo&vN+AJ>pN}8C@|Zgg%v^zo?=* zd?aZY$Epr#aRO%aEwbseZ zMF5XGqXu8!EB&$LWlWy(VH1(DBR7P|ll^j7iK){e(kX|5SwNzfpNj+KAR)F^RIPiP ze;6{64{sa6{0GIZZ!GCm5jB#8bBt6^|Eq(xpzZqWe6r*H&rjo?s`SmqF!Fk6wS%#K z-|;Kkoo@nfQH1z{*|AB;-AW~WWLr_er2n(|^!rkool&RRfxj>Nan2*-&Y3U3@qzvB zvwcgSBh{1G8s<<=61cDH+?|4QSR?2pNORZ zFfkgRkDqI@&aSMt0w-grx;yxm2MfGZ|CREnyH;gKsEf$Y1$hkD3_6P-JttGhJw`v8~PW3 z(C8|OO8{U?J4Ed$<7}@Awx2&KrJJ45N(f+6=}LHD45`F&V^LqQtl9Nm=Hwx1; zc#sQ%u5AC@01R~ES+YdHO@RnDtDbH*a?sOir8D(i?$546O@Wx1fbUjBWE-r)^B+Wc zbEbEdOL9OZJA&up7JIaZN2VMooMXpt2m^Pq0`T8b$@ zBnc8eQAthr@(Awr-4Q?O*xs@T ztHs^ht+u5^d_UM!22%NO*6UBHS>!KcNuFV3lc%@Je!bMPrw|u(zW2A-c}9_>r0^u8 zHr`{8jYJ8yS7kk?3ObHYz`BWnWfdCAonN^m2rP3S`D9^bVdbUhRw53YL4#RMACcU% zuA`3Z4lX?ljiRl=U(;_zx^{V(SKjRFBJGl3ng!Xcm^z2ut@{Bh4RTy&H}<{GRzD=Y zy2rfUr(k@v2-2DPx0r+UG?^?-X__LE5mY5!BDeNue%V0??mY&u^t7y2cx_@h|E z>z^@%w(U-_3nMw7@u4O42u11ke+DTrX~(|$JAciY_?ZRfokMpeXuf?Gn0)_CQ)j)7 zTToE&p|?*Y#X8x+cOe9RWByCUz7yr_@n=#Pf6>^B#iw^%l%G8?+m&^uLP$SE)OHDr7Ii4xkzT~Pt zfF(Gaf*{xqxv+&sEe2wsJtvRo) zr%dInD80T?$!yx9C%2dhN%Z>0U& z-W5xp$&TA%WLTO_pGBQ@SghQMU`FH*v)rG?6i2178rL#ftl3o6Jq4}KPKq%Qn@y!! z{b+VQ*rZYp$3fS?RBycKs9D0nP{t=J-TYhMc|8Xs>bE2H+&gX$zN!EhSdiW40>Q43 z)V~d;J}>%GBeYG}l0LOQxs4KhheDar3xPjs4qZ>0qyZt>!Qao*p-$CC5!bIZ9{L-) z{=Po`WjKxyPv*1fFfmB+QM0J1pUM%0E^mKWDXW*GaGHf$5lAC%=NPu4sm2CxPW6w} zYY^h>T*KwK;f@@;BKNO=8yOLV0~|)mMQ89U28M?sn5WB7rk{wCx@ON&dB${J#{$gT6!C@8f{73p*j%)be(KxXOmdfxMl&a=vu#8RVbK}UvDa!_GC$~>=aK< zO?2n(4|ht7c(wW$Xhkn;t`e3p{!0@0*RlGfs#jJ<^po{s(5VHL{rBTgUrEwB0;^iR zYL2!R@KvcRa+`C(6`}j50E?fV2Gq{|)+r~l=K&^eW5>$H>f%#`8I+sWohl3z&~59- z#_6ea(YvAfxH+}3_|Ht=!MkT9{Hdv8hTb(?H}+uLQJR+!UzwmXEhGE8IKdog3A!48 zzjJ&NKKEerniTNcnJ_+Prb!&8eF4yQn5GwnPq?DRP@ zS@pgg5{v;1D8aW_>Q6I8|C3g@_~^<25YCFVG>qw)cL<1A`?eL%#yMoLx(B>3M+|+> z0WFY^26x|b+7Zs2_Y)CP%CkZ)C)n#zSRk}8>j`lwCxO;$jj8vWh{weTG_oSkU~iuB zk=IK@c_~Dp0-qPssIJ(^BpRe7%kKj)Ma?F12H*Bisl1PwTZUsgsgn4;iS`@|dtFz5 zT%$>7nu)ZK`#}$pmhJ_nTn%A)ytiBjL@LKVn-ZR}YR?jQmSjlONZP{=13UN3we?gL z-QTZ=s_Evnz2oRFCGT<2mOY7%*GGKW$YUr}P3ewXQ<&HV-bt+TGStL#dpX~3BQ*zh zZ)Mn14DXbg*6RW?^SB?b*&Ds-2IyRe)yt4Z+l^EX6xY1FjM-avwVtksph>;%RQ*z` z+1m%T0UkRVuFpSs-gsIhs<_)ndsK}S|E=DHeFoNHqF#@Swi&5_Q&JwGwx4mpV!TkF zlO%K-km13}$Ljd)yy#;nYy8qDQV%;9ET7@+I@4?_epZODSOw5Od|mX}sM@>1CVQLX z*Mba#*L0D0idhv%ONP+PZqZ``V#BSoiCkz3h7DR~FF-LqDwqUjmA%*^lBhunIhB#r z&coePkP`6Y+PwDZvc*ZjbshA$qU{b%7R5DTAs3$}a&MeBHs%_^eK%QZU|y{WIRt(= z{b~=AkH-AynX-ocZh)fW>j~*DSgf&`kQDJz9)+^!w3Lz?F0PbUL;;XZ0}p1+N!1 zy_OY?DE4B@^DIA~$O553QFY+4>dBKT#XkLeG;Sq2U+KwRkS0|Yg}@S1%8cGhdD!g` zIb68*-l9Dxomd{x{-{tU|BYIVsMq+faI9EX%K&Y{XIlq9o_G`0%8cf`0N!Yd5@r{~ z_Nq)kFFJ@y!tQ-RUUl*wlMkJ@W3*>tZiktT&^;-Bi(;kM#P>=J?tU7{FYgGxg2m*- zqp6L)x=Y)Sx2SyQrEV8^#wBhXXKO(ha3ENE~`-p%y7CD1o`dSUk?^(_v3LN23t$cbbui{{o z;_PN7+Y+2Gat6~fyE8o$twtntps1d4klj74b0RJ^Tpw4OYs4>g2;_&Lkh1B139#M@ z%M_)Fr1b^ko31#t;fg3zJddy&xC**d3VPF`_Msvz{CYa+s#MvDJD@V=M5wQ}Km$XU zG$*b8YMZ6Ea#f}Se78ZQ-tS}!Q|7BtG{2)r?u#J?jpckn*Bb4>%D z?9jKyl$9sp?8J7}wSDR5A?Y}T*S1Y|&rf#(`igD%1*bwZ&UXRfpVhBl zj4o=%=zT%gHWkxN#(s~_;+L{PMZ$I@@=GLxHy)O?uuzk1_#(QM%(hjOp?preE207h zy6}Apu0)moOK}%EB-m;jB(6z8J@P|n(phRkc1*el%wX6+z#rEoH0)>3@{B(5w9m?7 z_G1+{$H2NK5SGf`!@j@8s}8l!U$iWyEX+#WWg=fxv|(L#!qAIcu+7|~6XM17*O2yU zwFS%ZR46RI1p~*P^A&Dl9>NVGkJxJhVC0cS#2#~sbT|x*Dy$ai61{uSov0)p1?6sN zxCt=-B+*-odxunQ1CA_ zV5hWz#tknayTNbEdKruOx|8tn$L2429WV~ka<{0NO;>VfZDuBQX7gV+SNGM{?p{38 z=JmPl&NwNTFCLRIHX=nbt{2I)UWL}?!6d#_cT^G*dZ{z}i zjC!;iN}*q6gW_4g#pr?7swh{V5$ZMK8e4XLj9c*h>h?a?tx7Veu`g%X?j^3R{q?)W zg%tM1gIGO}-H%Bi1EvO0q@1oEiUZYs&kfno9Mxkk#Tjj=o2}(*37Jhrk>T(y&evii zb{L`+I5GI@SjgMp8JQWbOFD@zQJQ9)1md8yO&_YqvIv-A9p+5teSnn7ELdlKUbf*( z9AqtJ){-EnOqQlpMni+Icb2R1-F4GomVn>3R!HzEVXW8NsF9AAMbEG%J=Obx%GC=H zc$lsM+hisEe*ZnRi#h;5w%0udqX|QYE-44-dl5{b&5IY%x;g z;BL9@sRiT;H5GfC>3YTF%zn<~)>pBn~p#|#oQ!gA&LAgdjEg)%PohW#t0p(Tu116Kmi9$y0^jG>zFEfKaKlPjL=DHl4 z8;f=_s*2}VZO;oQj0Zd)t=N1?gLbFOH&i~3XV^Nf3%YPOD}0ePZ^FovS>X-S80lxV zqD$DOoeNY~vo+H-ua$x1yWqdQDNz%WZ~u?d_KgB=FdKi@(F_pE&m9OAx^@-o3Td}5 zfMG{zxLlRB+n<-IIV_M}=-U@0N5s#wU0@gR0xs$f6#4|HV3~W;(ZBK(U;1i~%QWKZ z>n7`IEtkq=$6^QcbnlftZhen=35w1j2{<~J!u7`d;a{3tEc(^KJB(*&>(}d7jFUnp zWLynBA}i$MK;0j2IcE|g3~Ex*NrBiwJE1`Kmfp>q=Zo82XIg>j2_Ft9`hNd1$7+CC(^+em3ei;c9%h! zQw5Yl)TdkU?)_hZF+GyEjdLo!up)jY!_jI$V zqDKMFAg-X|2vYW5TQ5_`+_k72!dOe#Bhra9Skd1c)BCMI-e0~6Cz>v%(&)!%PK4P@ zg}+X1?Ur9y#^;~P3{C${$Ri};c_G%e`b`{ku`oiF!qIzm_*-f)5}P|DP4;mSSMM#j99Yn_z z1qU2CT#2K+U*Vd(0E`Tjn7bg5e-J7?;u%*G)>J~w+e%V=lB2`gi}T^5fS_ z-$iqrJm#HrY-4(>nNpi|YDUzT@A&Hs+NxU#;0)U;Q#NUv2pkX+qm|@?eu`sWc}_c1y3!XuF8v zlBV#CzU?bXa$#7;zyA4Pu)^PaTaoY4qF*D4qt*$mJzOgYV{R;{YG^y5 zfx2uIRAc7)m9&tS9&q`mhIv02+hdp>i4a^X@J*ZhD@h3=I{ccR;A=8|t#{4QR-I=W z*P>Wnuj_po;T}rvtJ7Fd3uZ?a_x4_SU1(-vf@K_9ESIL&bns!su1G(59yqT_eKUYc}T*)$1jxBw8A9`Drq0M^vbHb2V;;wi{2UPet*@* zjpk!42{uvXRd%6@YE9PczRKwEW%;JYQ3ROULMMV`}U)X{JqZ*PR%x%f6$DhyU zMqJN(ANrz|9JS@L{|qON0HuV(paPSWPLgf@;3}8gLe^cu+>4<=P79G;5fD;&JvV=< zcL__95>`&G?64o!t+OmFmT8Gif4=kN8L;X?RV-T-{MG3?7`ls^vYe4b4nJR>_fXm^ z|EhRH7qMUjPcPuEL^hMuw}ni&Ej8w;+!&p13Z)2QGLAykMS&5vM!80ug5n&8Q!0$Y zfThn%kNzSzn~a~y=6R2oDV2G}_rapVi0WO?O-crGQZb1FD|Vee|JFT^en}xG!pz*) za;`rGeZn9(9E5s)pTG>;#*+qizm3DB$6foSJ5F7^wqASJv^th!!Q`fAC3g0C4eKRf zW^966i|fOHjXf^nuw)9(NiyzNm&Lq@d~B>^=x@r|!5b}st6~m^eCHFCbjWT(iS1ey z;Gi&$s|IIduV`vkEQAQ1DWA)4)RvC^IJK0DXYO^yP?flXq-iOl67x}g`J>5f9j`KY zCn8=yXo^pqnxKpDFM-h~2y$dV&8Ygj?UAQ@ z=kIF2AkcO-g|622x(#TmG+xZ#h|Oew4yAH^jA5=C|7+b_&1LEPk<=L}@lfAY*y2*z zttYzX6Xo$2$|cejb`rT0*Z)VZ?0^1~5=H!nrf2v$6foYD#Qtpe+bV_F9Ls5sWC+*? ztaSjZPE5HAIif*S83NW(XP-IarivB@u>6(mcoO2r_(faPomiK?Mhobi{A_-I1)}&_glHc4Bs$E4KXhEKz^Oykg!mS5`<7i!?M~?#|5LV z;*CUPcuO|S@j1MaC_lntvEYcQv&XduXvnfyrb~ivmWZ@T-cH|*18EAP;+3{tH`{gT z?Tt*18pQDUZ-G2Z!qH-qiXSNHSh80n;5*0a$5z>P!*y{SBf&dyWE~H`#1dbbrw55! z7c}hGur+Nca5`s|5_n=kwZ?+%Q3NRvax(!A+c1Pf!Wv6VEwD*I8?xP@#Gyw+zwZ9M8xvr4SUUn998AzwvBBobT6$QjJ%j?(~d<(|Qpai~Lv91<_V zjFSX{xx?FQ-iZ_tv8wto&KbfaMGo;rUk3^YeHz-9hugoNtFZ$U7Ai;EZ?B1+a*eXVZAA@m}HblW%zQ zuoeFw&WOwpnN!!TD8{OJz?#>h)+e`B{p@kqzq(cjcv*BGHW+VwmlTJs4`;l z!xK-NjZ|HKHdY+8`|0`HGQs`;cswlQYS=77r#YKG(fu>@E8K}`0Nk|Z2@V>2xQT?yanNg7qV6$IYn$t6ZeA$Xb{p?>0QC}n3=udxu9 zp(2ErlDj`OaC$`}N_kMK#Ih1W);p|fq7fO`H=TBM_FEewL#(Fw>Uk+@k*E{dG#r23 z;>X^Hkft$XPv)td9-gVd^+01l-D;_e^V3Y_pictE7&tf6vW$pQ|CFIiiibGniM9$9 z2P0Fj(etc{p4RabfB3?+I!A(Ij=Do8jf|9}NwR;F0eAM8I8kC%dhJFES6?f9SxlGD z^vhsN1A|K;>y%CVb-NNFV)r~bef3Z?Yx|b>gym2uGI(;?jCLWRO`o=2UhGMW%_0Ya z?%DSxUh}rBUmNz5mFnmF*LL2l4(=RHw8q-H)h?MkQl2OW!tac=<$hG%#s7^Mb^8|;$}!&AQYx2zllhz46|TYX(mIuo0;Da4%)2zRO)3&YtW=(3Y9lf_ojfY8YpK* zbcntuS2oN*6mYMQbkNVZcW*Iqva$>`Jq$IQq|6b;xsdoVgmgha!j!jk$15?O8K(CM|QJ-8^HX#nT%YA5%9UIY#k1`1rv$#M7^Y!qDWgj)=htz zjbMB(?X}$_``Z*Tj6Pg@1bTA-n=Ent-u5ryx7!cwh*yd502U$ zSPj|@ytdKrS&|3bZeafmmeG~TBV$YW7o6hL3IE@4ibEQ?|Ll~I0Pmv$diiU*v3`zl zi!p>?F1heK$X`b>5FpsFlg)?3^LHJ{0Uy%I~4l0yGrV%7z+_%LfnpROB{IdZX6z7JrcQD!<=SBqq!sYOLpRsVVaE)G_u+BoK zjIdGxtYJ}!De0I}f8F7TfUu4lM!4Oz92sReYqoS}{q(FKDUAJv`A~sv_ zt#Ecg0^SMg)8h^8wA_7wVM!(+t?n4_+|Uz=bQ|o{R1z5H7IJcNWWVSeBkF~$D;MY77E5uk$=;0rHLwf9Z6Hi6qr+OjyP2)blpu21EX&T-8MKXR|@of3+!)e}b31mZb zR`*!lRI9I}>G6uQl=vub;VT`uni1Oi!3}`ymF?~F=F%V3iX3Q%ch_BwShVL8{g1!Z z-Zz_e{y~$6)Aa5pz1{4e?gk7q1yc$zd$19`u2fMdJwDPTVj~Gdx_TFY`+a+eOgU_q zDN1+251%f6Hz$M6srmfmhfT_tQ7|%b=yyqiTq5VrNlSjh7$}^>~@7RUY_&;)!9lnm!?vC zkZJJi-BgiT3@Ju)XZhB`G2hA?V{-ruRkAnT$Dq&RXag#V?Em5Gj_?uD-@eW<2O&ULuj&p!C=J$v zuj`{NdKby_tgLOJ@@e?oE!dwi9*(wj4qE+5H3uTP8OgE^hL5Ki-(2>Lx2#X~E~lUG zfzGs`bYd^c_{Ch=Ch+`+ZSmH!rslNkFeYU4n73!^twUet+M@62Wb8)3VD43^;o5!o zCD5cb08>@^79B*5B9%Cso?pN4s&+fod%^KTBA>vs(Sb+o$GY=_YLBSwaX(Pc{*}XH zeALr739D_7y9^GUTPpRnJ1|}0{i#UBkF-B-x@!oSH8w4 zV35^=powJvBH&dv%FL*9D5<IFYO*|K#V&5ajXEYc0%)ibuIZSI~Z7 z`a9pxuI^I#@5E8J*Yp*~&(`vb*oP>Z)69a(7Nfcvv4M43{~xb5EL=Q*WI1S z(CN6#L@`d8!Q9#~U*g!h%YN17w%PXERa#PLb{LRpzUE(ZR&%<=24FhH@cF!_>sN7C zl-wueIinG}yD}~CxxzTBXNZS_ByIkqCFWZVS*n9ys>Kl0cWF(6KX5Yb~sV6te# z-bJ)xqLLf6iKP~kN`+PyulM(x-b0b*j>YWq;TWU_P(Kr@HS$7PhN3hX$wy&+b`{_@ zZazO?QPL1(_&HPJ_4vq+6mqrj(IcfqOeq3M@Pvx+Ph`%Kv%Nd#W8Q&;qbrv}Sf@$n zQjS-aV#0tqYMpBwv>KJR@4R_JhS~Px0@<1`mf;!fG7d=D8^k*H&pVGFUW<^zA-!%q zYSyA`90tfkVN@}bGgrylu<4zyLODoraYrzYP!EdDb$rXgx^UdrJA7;wwNdnBBu(BJ zGE{mK>J|&0(ew7`jNBIQntvQ>g4eY@A>15|(=;tPT$nPwx4&$5Z?~Pz|3Q~%gTV!{ zB0?vPRWHCTh8Afvsi)aiKsLR9#Fe)b4D;7mvOYUkKofXUdIB+fvnOb;R&d zGTRP+x3dU%nUf8{jh^ZJJ}2V|gWTEq6^XEhRKT%%crfUq&;NKhSC*W6F%_#M%fW}ex%8mIWOoI1JgQ;TkOZ)Z6On2=7- zx$g)x!9N-O=K|S)d|95yVkfY^I>(+Shj-@i@SIV@GIRIff(Dr=~ zJ zAn3tinfdPQo!R^C){nRQ_uF07RZmqt)v+(v`%FDnjT~!99b+}_1b@cnt4O}zu5z4z z3w7{#x8EdN7pHF5bXm-HlqD_iZ6RbpMNN@eijivI>rt||N3*)MVn`{xUatF|BNhg#gvyMmAo16 zm$8dDFMcvB?T7^2buYyWL1Dthd;tukf?++Z!#q`o3F_HrbMyprGKmsJ`SDAH8@qMT zPT854aUQ<-Ru~HO^!zl&U2V+RQjjZjGCTe3N_81;{^Qe1P)|C!Kkf&IzN3GhwJdT3 zS|BpLneKW9bZ$Ynf3M8I!M;2X_ZiOEe3Mxdwb2`r zMSwoE9{!LuV7V_FrTn`fIM{1*5?8{?ogi#&{Be@v z??D!ap#R8JLGd7nMj=3m~rn0q3K{cDB(Mg8?#*+TE+pP%R z%|MLD%RuPq{uKH*JQ;2)gk@r6JUM49U&)9OTT+dhCFzh})`gSGYekx44!#rPaB-L& zBWv`E*b$9eolgtL;CEt1s4NYYG-8iN6Lt~>_M*BG@%kH$J&HAS@XE>xov9sgTq#N* zDL>4V4h4T7F6qn#8Q&@x2nBVH{Q1X-@wV=~T9o;(h$fZTxpaCG*n`lb&ld2cuzn^? zGGyUG7I#Eq! z%#%&W{167h<8S*(kRu~uaR8jydGEILxoJMRJ`*EDIukOmI0XdnsFunxf3OrXv0*q! zjI&RcI+6V=XGkX%6j)>=suFh&5% zOlLCO%h=v7{L9(L6PU5;C|PFOql701+5%tkoosivrJG4SWDMhneM8Du6oN)(#R^~_ z1wK`?%u*P7*sl$o{R`Ay3G-T z6)~#?rnPW(W#u2@t5WFPq#w0_4ME^(nAl{*9SNw2@(@wF2sNYS1L92cZ-%#@*L<@d z(_hNI8M_dfQCQs_3mKvUTnJujVGITByk_7HRYx0s9d@UpS=mN8pzbPwP)E8m9`thQ z3a45qtC+{+1Xjd@#n|qF@ePi3Y_~90P_d~mKQb5FCYSvA>R$wK+&$zM_0{;OM%Wfj z+Ope!K~BMq2ouP!+J8N$tt^2#2nm?16eLYJbs_bTlKh`OhIfdPng>l$059}2hAYN$ ziIRm_FeeWl_yFcDBeW<{G0U1OsZYm=fuym91o!5k;41CcK1>w~FBOF0DHfPEJR_`~ zoLV-8on02@I#|j3%K@$Mq{2OI(CKDh{S$W%0At#;M!T+f>f!hP(Kj8Mnu4nw`W^1; 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%0DV%b;PA> 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 K(nYV|1^gc+0}rqO literal 0 HcmV?d00001 diff --git a/ubuntu_en.md b/ubuntu_en.md index c48a7f2..a11c646 100644 --- a/ubuntu_en.md +++ b/ubuntu_en.md @@ -99,7 +99,7 @@ else export CRYPTPARTITION=1 fi ``` -## Format the disk +## Format the disk and encrypt the LUKS partition C A U T I O N : Following script destroys all the data in your disk. Make sure you want to destroy all. If you want to add a new distribution to the existing distribution, following script block must be skipped. @@ -115,16 +115,27 @@ fi sgdisk --new=${CRYPTPARTITION}:0:0 --change-name=${CRYPTPARTITION}:"Linux LUKS" --typecode=${CRYPTPARTITION}:8309 "${DEV}" sgdisk --print "${DEV}" -``` -## Encrypt the volume to install and test -The LUKS partition is encrypted here by the pre-input passphrase. This LUKS partition have to be opened for the subsequent tasks. To open it, the script asks you type the passphrase. This is final chance for you to find your misspell. -```bash + # Encrypt the partition to install the linux printf %s "${PASSPHRASE}" | cryptsetup luksFormat --type=luks1 --key-file - --batch-mode "${DEV}${CRYPTPARTITION}" +``` +## Open the LUKS partition +You have to opened the LUKS partition here for the subsequent tasks. To open it, the script asks you type the passphrase. +For the first distribution to install, I recommend you to type the passphrase to open the partition, because +you might create the partition and encrypted it this time. The encryption was done with your passphrase you set to the +PASSPHRASE variable. So, this is the last chance whether you set the passphrase correctly or not. +```bash # Open the created crypt partition. To be sure, input the passphrase manually cryptsetup open "${DEV}${CRYPTPARTITION}" ${CRYPTPARTNAME} ``` +For the second, third, ... distribution to install, I recommend you to feed the passphrase from PASSPHRASE +variable automatically. The partition was encrypted in past. So, the this is the chance to check whether +the passphrase in the PASSPHRASE variable is correct or not. +```bash +# Open the created crypt partition. To be sure, input the passphrase manually +printf %s "${PASSPHRASE}" | cryptsetup open -d - "${DEV}${CRYPTPARTITION}" ${CRYPTPARTNAME} +``` If everything is done successfully, you will see the LUKS volume under /dev/mapper ```bash # Check whether successful open. If mapped, it is successful. @@ -150,16 +161,20 @@ Host Volume | Target Directory /dev/sda1 | /boot/efi /dev/mapper/vg1-ubuntu | / -C A U T I O N : Once Ubiquity starts the installation, execute the next script quickly. +C A U T I O N : If the installer start the file copying, execute next script quickly before the installation finishes. + +![Partitioning](image/ubuntu_partitioning.png) + ## Configure the target GRUB during the Ubiquity runs Run the following script on the shell window, during the Ubiquity runs. Otherwise, Ubiquity fails at the end of installation. -C A U T I O N : DO NOT REBOOT at the end of Ubiquity installation. Click "continue". +C A U T I O N : Do not reboot at the end of Ubiquity installation. Click "continue". If you reboot at here, system will ask you the passphrase twice. ```bash # Make target GRUB aware to the crypt partition echo "GRUB_ENABLE_CRYPTODISK=y" >> /target/etc/default/grub ``` +![Installing](image/ubuntu_installing.png) ## Mount the targets After Ubiquity finish the installation, mount the target directories and chroot to that. @@ -170,6 +185,10 @@ mount /dev/mapper/${VGNAME}-${LVROOT} /target for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "/target/$n"; done chroot /target /bin/bash ``` +## Click continue +As noted above, do not reboot. Click "Continue to test". + +![Installing](image/ubuntu_done.png) ## Add auto decryption to the target kernel Now, we are at critical phase. To avoid system asks passphrase twice, we have to embed the key inside ramfs initial image. From 23323393a9b0d6046e315dc91a51e7b297908bca Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 27 Jun 2021 22:41:21 +0900 Subject: [PATCH 009/242] Change the section order --- ubuntu_en.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ubuntu_en.md b/ubuntu_en.md index a11c646..6809b01 100644 --- a/ubuntu_en.md +++ b/ubuntu_en.md @@ -176,6 +176,11 @@ echo "GRUB_ENABLE_CRYPTODISK=y" >> /target/etc/default/grub ``` ![Installing](image/ubuntu_installing.png) +## Click continue +As noted above, do not reboot. Click "Continue Testing". + +![Installing](image/ubuntu_done.png) + ## Mount the targets After Ubiquity finish the installation, mount the target directories and chroot to that. ```bash @@ -185,11 +190,6 @@ mount /dev/mapper/${VGNAME}-${LVROOT} /target for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "/target/$n"; done chroot /target /bin/bash ``` -## Click continue -As noted above, do not reboot. Click "Continue to test". - -![Installing](image/ubuntu_done.png) - ## Add auto decryption to the target kernel Now, we are at critical phase. To avoid system asks passphrase twice, we have to embed the key inside ramfs initial image. This image with key is stored in the LUKS volume, so, it is stored in the safe storage. From 9ac6a256d4ea74852f25bd2e2e71cb931a4b48b3 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 27 Jun 2021 23:16:14 +0900 Subject: [PATCH 010/242] Update diagram --- image/ubuntu_done.png | Bin 21207 -> 156176 bytes image/ubuntu_partitioning.png | Bin 756053 -> 55204 bytes ubuntu_en.md | 46 +++++++++++++++++++--------------- 3 files changed, 26 insertions(+), 20 deletions(-) diff --git a/image/ubuntu_done.png b/image/ubuntu_done.png index 66af0a147ac4fcdf6f46e0d3333137195a96fc4d..799903728cf04c397f8fe7f9a5d5aaea31f143f6 100755 GIT binary patch literal 156176 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

    bb(=2t;QGf+o~*j-gemKgl0-P;x>qDls0U%@|f< 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 Z`7bi^4ErsF60ZON002ovPDHLkV1f^GTqXbj literal 21207 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ℜx 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 diff --git a/image/ubuntu_partitioning.png b/image/ubuntu_partitioning.png index df51e8756a1a34e1ffca75b465bf39821ec78a69..437979334850713eff2da810a8ab462b54b0ddc6 100755 GIT binary patch literal 55204 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

    =ulA?t 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%0D-j+N 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�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�qEXA%rt$W-`Iv=qagP<}X{0S0EvCAtg2z8iJHy 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

    oApWU&*;f3OER_pXDGuM+Wh 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

    (a%ByU$h^t;=BLUWR8p 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%0At#;M!T+f>f!hP(Kj8Mnu4nw`W^1; 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%0DV%b;PA> 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 K(nYV|1^gc+0}rqO diff --git a/ubuntu_en.md b/ubuntu_en.md index 6809b01..577fb8f 100644 --- a/ubuntu_en.md +++ b/ubuntu_en.md @@ -3,24 +3,24 @@ This is a script corrections to help the installation of Ubuntu with the full disc encryption. These scripts are designed to achieve followings : - Using Ubiquity installer, for the ease of install. -- Install to the UEFI firmware system. +- Install to the UEFI/BIOS firmware system. - Install Ubuntu to the LVM/LUKS volume. -- /boot is installed in to the same volume with /. Thus, grub is also encrypted. -- The swap volume is created inside encrypted volume. +- The /boot is located in the same volume with the "/". Thus, /boot is also encrypted. +- The swap volume is located inside encrypted volume. - Support multi-boot installation. You can reserve certain encrypted volume space for the other distribution. -By the configuration parameters, you can achieve these script to relatively wide configuration. -For example, you can configure the system to accept 2, 3 or 4 distribution in a HDD/SSD, as you want. +By the configuration parameters, you can apply these scripts to relatively wide variation of the system. +For example, you can configure the system to accept 2, 3 or 4 distributions in a HDD/SSD, as you want. -Following is the HDD/SSD partitioning plan of these script. +Following is the HDD/SSD partitioning plan of these scripts. ![Partition Diagram](image/partition_diagram_0.png) While the EFI partition is depicted here, that is not needed if you install to the system with BIOS. -This can be controllable from a parameter. Also, the size of the Linux / volume is +This can be controllable from a parameter. Also, the size of Linux "/" volume is configurable from a parameter. -The volume group has only one physical volume. +As depicted the LVM volume group has only one physical volume. # Test environment These scripts are tested with following environment. @@ -45,7 +45,7 @@ First of all, promote the shell to root. Almost of the procedure requires root p sudo -i ``` ## Input Passphrase -Input the passphrase to lock your crypt system. This passphrase is required to type when GRUB starts. +Input a passphrase to lock your crypt system. This passphrase is required to type when GRUB starts. The passphrase is recorded as an environment variable to refuge the type multiple time without error. ```bash # Setup the passphrase of the crypt partition @@ -77,10 +77,7 @@ export DEV="/dev/sda" # If you set to "0", EFI partition will no be made. export EFISIZE="100M" -# You may want to change the LVROOT for your installation -export CRYPTPARTNAME="luks_volume" -export VGNAME="vg1" -export LVSWAP="swap" +# You may want to change the LVROOT for your installation. Keep it unique from other distribution. export LVROOT="ubuntu" # If you set "0" to SWAPSIZE, the script skips to create the swap volume. @@ -91,6 +88,11 @@ export SWAPSIZE="8G" # 50% mean, new partition will use 50% of the free space in the LVM volume group. export ROOTSIZE="50%FREE" +# Usually, these names can be left untouched unless existing resources use. +export CRYPTPARTNAME="luks_volume" +export VGNAME="vg1" +export LVSWAP="swap" + # Do not touch following lines. if [ $EFISIZE != "0" -a $EFISIZE != "0M" ] ; then export EFIPARTITION=1 @@ -116,7 +118,7 @@ sgdisk --new=${CRYPTPARTITION}:0:0 --change-name=${CRYPTPARTITION}:"Linux LUK sgdisk --print "${DEV}" -# Encrypt the partition to install the linux +# Encrypt the partition to install Linux printf %s "${PASSPHRASE}" | cryptsetup luksFormat --type=luks1 --key-file - --batch-mode "${DEV}${CRYPTPARTITION}" ``` ## Open the LUKS partition @@ -169,7 +171,7 @@ C A U T I O N : If the installer start the file copying, execute next script qui Run the following script on the shell window, during the Ubiquity runs. Otherwise, Ubiquity fails at the end of installation. C A U T I O N : Do not reboot at the end of Ubiquity installation. Click "continue". -If you reboot at here, system will ask you the passphrase twice. + ```bash # Make target GRUB aware to the crypt partition echo "GRUB_ENABLE_CRYPTODISK=y" >> /target/etc/default/grub @@ -177,11 +179,11 @@ echo "GRUB_ENABLE_CRYPTODISK=y" >> /target/etc/default/grub ![Installing](image/ubuntu_installing.png) ## Click continue -As noted above, do not reboot. Click "Continue Testing". +As noted above, do not reboot. Click "Continue Testing". If you reboot at here, system will ask you the passphrase twice. ![Installing](image/ubuntu_done.png) -## Mount the targets +## Mount the target file system After Ubiquity finish the installation, mount the target directories and chroot to that. ```bash # Mount the volume and change root @@ -191,9 +193,13 @@ for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "/target/$n"; done chroot /target /bin/bash ``` ## Add auto decryption to the target kernel -Now, we are at critical phase. To avoid system asks passphrase twice, we have to embed the key inside ramfs initial image. -This image with key is stored in the LUKS volume, so, it is stored in the safe storage. -GRUB decrypt this LUKS volume, upload the ramfs image to the RAM, and pass it to the booted Linux kernel. +Now, we are at critical phase. To avoid system asks passphrase twice, +we have to embed the encryption key inside ramfs initial image. +This image with key is stored in the LUKS volume, so, it is in the safe storage. +GRUB decrypt this LUKS volume, upload the ramfs image to the RAM, +and pass it to the booted Linux kernel as memory pointer. + +As a result, GRUB can pass the encryption key to Linux kernel as safe way. ```bash # Mount the rest of partitions by target /etc/fstab mount -a From e40072f90918209c95f85c6d2146d112c269b7fe Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Mon, 28 Jun 2021 07:19:30 +0900 Subject: [PATCH 011/242] Better EFI detection EFI detection is automatic, now. Also, make/no-make swap is controled by a dedicated variable. --- ubuntu_en.md | 54 ++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 38 insertions(+), 16 deletions(-) diff --git a/ubuntu_en.md b/ubuntu_en.md index 577fb8f..a14ac5e 100644 --- a/ubuntu_en.md +++ b/ubuntu_en.md @@ -66,35 +66,47 @@ If you don't like above configuration, you can modify the following parameter be If you set the EFIPARTITION to 0, the EFI partition is not created. If you set the SWAPSIZE is "0", the swap volume is not created. ```bash -# export to share with entire script -export PASSPHRASE - # Device and partition setting. If you wan to MAKE /dev/sda2 as linux root partition, # set the DEV and CRYPTPARTITION to /dev/sda and 2, respectively. # EFI partition is usually fixed as partition 1. If you set 0, Script will skip to make it. export DEV="/dev/sda" -# If you set to "0", EFI partition will no be made. -export EFISIZE="100M" - # You may want to change the LVROOT for your installation. Keep it unique from other distribution. export LVROOT="ubuntu" -# If you set "0" to SWAPSIZE, the script skips to create the swap volume. -# This is useful if you add a distribution to the system which has swap volume already. -export SWAPSIZE="8G" +# Configure to make swap or not. 1 : Make, 0 : Do not make. +# Set 0 if you add a distribution to the system, to avoid to make swap twice (it causes error). +export MAKESWAP=1 # The ROOTSIZE is percentage to the free space in the volume group. # 50% mean, new partition will use 50% of the free space in the LVM volume group. export ROOTSIZE="50%FREE" + + # Usually, these names can be left untouched unless existing resources use. export CRYPTPARTNAME="luks_volume" export VGNAME="vg1" export LVSWAP="swap" -# Do not touch following lines. -if [ $EFISIZE != "0" -a $EFISIZE != "0M" ] ; then +# Set the size up to your favorite. The unit is Byte. you can use M,G... notation. +export EFISIZE="100M" +export SWAPSIZE="8G" + +# DO NOT touch following lines. + +# export to share with entire script +export PASSPHRASE + +# Detect firmware type. 1 : EFI, 0 : BIOS +if [ -d /sys/firmware/efi ]; then +export ISEFI=1 +else +export ISEFI=0 +fi + +# Set partition number based on the firmware type +if [ ${ISEFI} -eq 1 ] ; then export EFIPARTITION=1 export CRYPTPARTITION=2 else @@ -109,14 +121,24 @@ If you want to add a new distribution to the existing distribution, following sc ```bash # Optional : Create partitions for in the physical disk. # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. +if [ ${ISEFI} -eq 1 ] ; then +# Zap existing partition table and create new GPT sgdisk --zap-all "${DEV}" -if [ $EFISIZE != "0" -a $EFISIZE != "0M" ] ; then +# Create EFI partition and format it sgdisk --new=${EFIPARTITION}:0:+${EFISIZE} --change-name=${EFIPARTITION}:"EFI System" --typecode=${EFIPARTITION}:ef00 "${DEV}" mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" -fi +# Create Linux partition sgdisk --new=${CRYPTPARTITION}:0:0 --change-name=${CRYPTPARTITION}:"Linux LUKS" --typecode=${CRYPTPARTITION}:8309 "${DEV}" - +# Then print them sgdisk --print "${DEV}" +else +# Zap existing Mpartition table +dd if=/dev/zero of=${DEV} bs=512 count=1 +# Create MBR and allocate max storage for Linux partition +sfdisk ${DEV} < Date: Mon, 28 Jun 2021 07:31:25 +0900 Subject: [PATCH 012/242] Refresh the documentation --- ubuntu_en.md | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/ubuntu_en.md b/ubuntu_en.md index a14ac5e..2dc1965 100644 --- a/ubuntu_en.md +++ b/ubuntu_en.md @@ -3,7 +3,7 @@ This is a script corrections to help the installation of Ubuntu with the full disc encryption. These scripts are designed to achieve followings : - Using Ubiquity installer, for the ease of install. -- Install to the UEFI/BIOS firmware system. +- Automatic detection of BIOS/EFI firmware and create MBR/GPT, respectively. - Install Ubuntu to the LVM/LUKS volume. - The /boot is located in the same volume with the "/". Thus, /boot is also encrypted. - The swap volume is located inside encrypted volume. @@ -12,19 +12,17 @@ These scripts are designed to achieve followings : By the configuration parameters, you can apply these scripts to relatively wide variation of the system. For example, you can configure the system to accept 2, 3 or 4 distributions in a HDD/SSD, as you want. -Following is the HDD/SSD partitioning plan of these scripts. +Following is the HDD/SSD partitioning plan of these scripts ( In case of BIOS, the disk has MBR and doesn't have EFI partition). ![Partition Diagram](image/partition_diagram_0.png) -While the EFI partition is depicted here, that is not needed if you install to the system with BIOS. -This can be controllable from a parameter. Also, the size of Linux "/" volume is -configurable from a parameter. +The logical volume size of each Linux distribution ($LVROOT) can be controlled from a configuration parameter. As depicted the LVM volume group has only one physical volume. # Test environment These scripts are tested with following environment. -- VMWare Workstation 15.5 ( EFI ) +- VMWare Workstation 15.5.7 ( EFI/BIOS ) - Ubuntu 20.04.2 amd64 desktop - Ubuntu Mate 20.04.2 amd64 desktop @@ -54,17 +52,14 @@ read -sr PASSPHRASE ## Configuration parameters This is a set of parameter for the configuration of : - Destroy all partition on a /dev/sda. -- Create an 100MB EFI partition in /dev/sda1. -- Rest of the disk space is assigned to the LUKS volume in dev/sda2. -- The EFI and LUKS partition are /dev/sda1 and /dev/sda2, respectively. +- In case of EFI firmware, 100MB is allocated to the EFI partition. +- Rest of the disk space is assigned to the LUKS volume. - Create and logical volume group named "vg1" in the encrypted volume. - Create a swap volume named "swap" in the "vg1". The size is 8GB. - Create a volume named "ubuntu" for / in the "vg1". The size of the 50% of the entire free space. If you don't like above configuration, you can modify the following parameter before pasting to the shell window. - -If you set the EFIPARTITION to 0, the EFI partition is not created. -If you set the SWAPSIZE is "0", the swap volume is not created. +Note : EFI/BIOS detection is done automatically. ```bash # Device and partition setting. If you wan to MAKE /dev/sda2 as linux root partition, # set the DEV and CRYPTPARTITION to /dev/sda and 2, respectively. @@ -117,7 +112,7 @@ fi C A U T I O N : Following script destroys all the data in your disk. Make sure you want to destroy all. If you want to add a new distribution to the existing distribution, following script block must be skipped. - +The GPT for EFI, MBR for BIOS is created. ```bash # Optional : Create partitions for in the physical disk. # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. @@ -179,7 +174,7 @@ if [ ${MAKESWAP} -eq 1 ] ; then lvcreate -L ${SWAPSIZE} -n ${LVSWAP} ${VGNAME} ; lvcreate -l ${ROOTSIZE} -n ${LVROOT} ${VGNAME} ``` ## Run the Ubiquity installer -Open the Ubiquity installer, configure and run it. Ensure you map the followings correctly ( The host volume name in this example is based on the default values of the configuration parameters. Map the right volumes based on your configuration parameters) +Open the Ubiquity installer, configure and run it. Ensure you map the followings correctly ( The host volume name in this example is based on the default values of the configuration parameters. Map the right volumes based on your configuration parameters). In case of BIOS, do not map the /dev/sda for /boot/efi. Host Volume | Target Directory -----------------------|----------------- /dev/sda1 | /boot/efi From 4f4c87b4cac8d4e16f87b4791fa6a855851371db Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Mon, 28 Jun 2021 07:45:29 +0900 Subject: [PATCH 013/242] Added swap mapping --- ubuntu_en.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ubuntu_en.md b/ubuntu_en.md index 2dc1965..35fad96 100644 --- a/ubuntu_en.md +++ b/ubuntu_en.md @@ -179,6 +179,7 @@ Host Volume | Target Directory -----------------------|----------------- /dev/sda1 | /boot/efi /dev/mapper/vg1-ubuntu | / +/dev/mapper/swap | swap C A U T I O N : If the installer start the file copying, execute next script quickly before the installation finishes. From 12c1ab29c8d092fc99e2dd85c7722cbb4000e0f2 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Mon, 28 Jun 2021 08:03:25 +0900 Subject: [PATCH 014/242] Automatic passphrase check --- ubuntu_en.md | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/ubuntu_en.md b/ubuntu_en.md index 35fad96..62c376f 100644 --- a/ubuntu_en.md +++ b/ubuntu_en.md @@ -45,9 +45,21 @@ sudo -i ## Input Passphrase Input a passphrase to lock your crypt system. This passphrase is required to type when GRUB starts. The passphrase is recorded as an environment variable to refuge the type multiple time without error. + +To be sure, passphrases are required twice here, and fail if they are not identical. ```bash # Setup the passphrase of the crypt partition read -sr PASSPHRASE + +# Type passphrase again to confirm +read -sr PASSPHRASE2 + +if [ ${PASSPHRASE} = ${PASSPHRASE} ] ; then +echo "OK" +else +echo "**** ERROR! The passphrases does not match. repeat this scripts again *****" +fi + ``` ## Configuration parameters This is a set of parameter for the configuration of : @@ -139,24 +151,12 @@ fi printf %s "${PASSPHRASE}" | cryptsetup luksFormat --type=luks1 --key-file - --batch-mode "${DEV}${CRYPTPARTITION}" ``` ## Open the LUKS partition -You have to opened the LUKS partition here for the subsequent tasks. To open it, the script asks you type the passphrase. +You have to opened the LUKS partition here for the subsequent tasks. -For the first distribution to install, I recommend you to type the passphrase to open the partition, because -you might create the partition and encrypted it this time. The encryption was done with your passphrase you set to the -PASSPHRASE variable. So, this is the last chance whether you set the passphrase correctly or not. -```bash -# Open the created crypt partition. To be sure, input the passphrase manually -cryptsetup open "${DEV}${CRYPTPARTITION}" ${CRYPTPARTNAME} -``` -For the second, third, ... distribution to install, I recommend you to feed the passphrase from PASSPHRASE -variable automatically. The partition was encrypted in past. So, the this is the chance to check whether -the passphrase in the PASSPHRASE variable is correct or not. ```bash # Open the created crypt partition. To be sure, input the passphrase manually printf %s "${PASSPHRASE}" | cryptsetup open -d - "${DEV}${CRYPTPARTITION}" ${CRYPTPARTNAME} -``` -If everything is done successfully, you will see the LUKS volume under /dev/mapper -```bash + # Check whether successful open. If mapped, it is successful. ls -l /dev/mapper ``` @@ -204,10 +204,13 @@ As noted above, do not reboot. Click "Continue Testing". If you reboot at here, ## Mount the target file system After Ubiquity finish the installation, mount the target directories and chroot to that. ```bash -# Mount the volume and change root # /target is created by the Ubiquity installer mount /dev/mapper/${VGNAME}-${LVROOT} /target + +# And mount other directories for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "/target/$n"; done + +# Change root chroot /target /bin/bash ``` ## Add auto decryption to the target kernel From c6db73b606452eab9a74e78be6b7f26876f4b1ea Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Mon, 28 Jun 2021 08:25:35 +0900 Subject: [PATCH 015/242] Cancel the double check of passphrase --- ubuntu_en.md | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/ubuntu_en.md b/ubuntu_en.md index 62c376f..6f5c1d0 100644 --- a/ubuntu_en.md +++ b/ubuntu_en.md @@ -46,29 +46,18 @@ sudo -i Input a passphrase to lock your crypt system. This passphrase is required to type when GRUB starts. The passphrase is recorded as an environment variable to refuge the type multiple time without error. -To be sure, passphrases are required twice here, and fail if they are not identical. ```bash # Setup the passphrase of the crypt partition read -sr PASSPHRASE - -# Type passphrase again to confirm -read -sr PASSPHRASE2 - -if [ ${PASSPHRASE} = ${PASSPHRASE} ] ; then -echo "OK" -else -echo "**** ERROR! The passphrases does not match. repeat this scripts again *****" -fi - ``` ## Configuration parameters -This is a set of parameter for the configuration of : -- Destroy all partition on a /dev/sda. +This is very critical part of the installation. Following is a set of parameter for the configuration of : +- Install to ***/dev/sda***. - In case of EFI firmware, 100MB is allocated to the EFI partition. - Rest of the disk space is assigned to the LUKS volume. - Create and logical volume group named "vg1" in the encrypted volume. - Create a swap volume named "swap" in the "vg1". The size is 8GB. -- Create a volume named "ubuntu" for / in the "vg1". The size of the 50% of the entire free space. +- Create a volume named ***"ubuntu"*** for / in the "vg1". The size of the ***50%*** of the entire free space. If you don't like above configuration, you can modify the following parameter before pasting to the shell window. Note : EFI/BIOS detection is done automatically. From c7cace1fa8b27a3add4eda8d9ed380efad8ca6a5 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Mon, 28 Jun 2021 08:28:20 +0900 Subject: [PATCH 016/242] Changed enphasize style --- ubuntu_en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ubuntu_en.md b/ubuntu_en.md index 6f5c1d0..4e746d8 100644 --- a/ubuntu_en.md +++ b/ubuntu_en.md @@ -52,12 +52,12 @@ read -sr PASSPHRASE ``` ## Configuration parameters This is very critical part of the installation. Following is a set of parameter for the configuration of : -- Install to ***/dev/sda***. +- Install to **/dev/sda**. - In case of EFI firmware, 100MB is allocated to the EFI partition. - Rest of the disk space is assigned to the LUKS volume. - Create and logical volume group named "vg1" in the encrypted volume. - Create a swap volume named "swap" in the "vg1". The size is 8GB. -- Create a volume named ***"ubuntu"*** for / in the "vg1". The size of the ***50%*** of the entire free space. +- Create a volume named **"ubuntu"** for / in the "vg1". The size of the **50%** of the entire free space. If you don't like above configuration, you can modify the following parameter before pasting to the shell window. Note : EFI/BIOS detection is done automatically. From 179eca2eff08714604d32d75c18390146c4d9f2b Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Mon, 28 Jun 2021 08:33:22 +0900 Subject: [PATCH 017/242] Refine the comment. --- ubuntu_en.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/ubuntu_en.md b/ubuntu_en.md index 4e746d8..08138cc 100644 --- a/ubuntu_en.md +++ b/ubuntu_en.md @@ -56,28 +56,26 @@ This is very critical part of the installation. Following is a set of parameter - In case of EFI firmware, 100MB is allocated to the EFI partition. - Rest of the disk space is assigned to the LUKS volume. - Create and logical volume group named "vg1" in the encrypted volume. -- Create a swap volume named "swap" in the "vg1". The size is 8GB. -- Create a volume named **"ubuntu"** for / in the "vg1". The size of the **50%** of the entire free space. +- Create a swap logical volume named "swap" in the "vg1". The size is 8GB. +- Create a logical volume named **"ubuntu"** for / in the "vg1". The size of the **50%** of the entire free space. If you don't like above configuration, you can modify the following parameter before pasting to the shell window. Note : EFI/BIOS detection is done automatically. ```bash -# Device and partition setting. If you wan to MAKE /dev/sda2 as linux root partition, -# set the DEV and CRYPTPARTITION to /dev/sda and 2, respectively. -# EFI partition is usually fixed as partition 1. If you set 0, Script will skip to make it. +# Device to install the linux. export DEV="/dev/sda" -# You may want to change the LVROOT for your installation. Keep it unique from other distribution. +# Logical Volume name for your Linux installation. Keep it unique from other distribution. export LVROOT="ubuntu" +# Logical volume size of the Linux installation. +# 50% mean, new logical volume will use 50% of the free space in the LVM volume group. +export ROOTSIZE="50%FREE" + # Configure to make swap or not. 1 : Make, 0 : Do not make. # Set 0 if you add a distribution to the system, to avoid to make swap twice (it causes error). export MAKESWAP=1 -# The ROOTSIZE is percentage to the free space in the volume group. -# 50% mean, new partition will use 50% of the free space in the LVM volume group. -export ROOTSIZE="50%FREE" - # Usually, these names can be left untouched unless existing resources use. From bf5d435df0793479bdb3773932b5ff1985170301 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Mon, 28 Jun 2021 09:09:03 +0900 Subject: [PATCH 018/242] Refine the env variable name --- ubuntu_en.md | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/ubuntu_en.md b/ubuntu_en.md index 08138cc..fcc8fa4 100644 --- a/ubuntu_en.md +++ b/ubuntu_en.md @@ -16,7 +16,7 @@ Following is the HDD/SSD partitioning plan of these scripts ( In case of BIOS, t ![Partition Diagram](image/partition_diagram_0.png) -The logical volume size of each Linux distribution ($LVROOT) can be controlled from a configuration parameter. +The logical volume size of each Linux distribution ($LVROOTSIZE) can be controlled from a configuration parameter. As depicted the LVM volume group has only one physical volume. @@ -66,26 +66,24 @@ Note : EFI/BIOS detection is done automatically. export DEV="/dev/sda" # Logical Volume name for your Linux installation. Keep it unique from other distribution. -export LVROOT="ubuntu" +export LVROOTNAME="ubuntu" # Logical volume size of the Linux installation. # 50% mean, new logical volume will use 50% of the free space in the LVM volume group. -export ROOTSIZE="50%FREE" +export LVROOTSIZE="50%FREE" # Configure to make swap or not. 1 : Make, 0 : Do not make. # Set 0 if you add a distribution to the system, to avoid to make swap twice (it causes error). -export MAKESWAP=1 +export MAKESWAPVOL=1 +# Set the size of EFI partition and swap partition. The unit is Byte. you can use M,G... notation. +export EFISIZE="100M" +export LVSWAPSIZE="8G" - -# Usually, these names can be left untouched unless existing resources use. +# Usually, these names can be left untouched. export CRYPTPARTNAME="luks_volume" export VGNAME="vg1" -export LVSWAP="swap" - -# Set the size up to your favorite. The unit is Byte. you can use M,G... notation. -export EFISIZE="100M" -export SWAPSIZE="8G" +export LVSWAPNAME="swap" # DO NOT touch following lines. @@ -101,9 +99,11 @@ fi # Set partition number based on the firmware type if [ ${ISEFI} -eq 1 ] ; then +# EFI system export EFIPARTITION=1 export CRYPTPARTITION=2 else +# BIOS system export CRYPTPARTITION=1 fi ``` @@ -155,20 +155,20 @@ pvcreate /dev/mapper/${CRYPTPARTNAME} vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} # Create a SWAP Logical Volume on VG, -if [ ${MAKESWAP} -eq 1 ] ; then lvcreate -L ${SWAPSIZE} -n ${LVSWAP} ${VGNAME} ; fi +if [ ${MAKESWAPVOL} -eq 1 ] ; then lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} ; fi # Create the ROOT Logical Volume on VG. -lvcreate -l ${ROOTSIZE} -n ${LVROOT} ${VGNAME} +lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} ``` ## Run the Ubiquity installer -Open the Ubiquity installer, configure and run it. Ensure you map the followings correctly ( The host volume name in this example is based on the default values of the configuration parameters. Map the right volumes based on your configuration parameters). In case of BIOS, do not map the /dev/sda for /boot/efi. -Host Volume | Target Directory ------------------------|----------------- -/dev/sda1 | /boot/efi -/dev/mapper/vg1-ubuntu | / -/dev/mapper/swap | swap +Open the Ubiquity installer, configure and run it. Ensure you map the followings correctly. +Host Volume | Target Directory | Comment +-----------------------|------------------|------------------------------------------------- +/dev/sda1 | /boot/efi | EFI system only. Do not map this if BIOS system. +/dev/mapper/vg1-ubuntu | / | Host volume name is up to your configuration. +/dev/mapper/swap | swap | Only the first distribution need to map this. -C A U T I O N : If the installer start the file copying, execute next script quickly before the installation finishes. +C A U T I O N : After the Ubiquity installers start the file copying, execute next script quickly before the installer finishes. ![Partitioning](image/ubuntu_partitioning.png) @@ -192,7 +192,7 @@ As noted above, do not reboot. Click "Continue Testing". If you reboot at here, After Ubiquity finish the installation, mount the target directories and chroot to that. ```bash # /target is created by the Ubiquity installer -mount /dev/mapper/${VGNAME}-${LVROOT} /target +mount /dev/mapper/${VGNAME}-${LVROOTNAME} /target # And mount other directories for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "/target/$n"; done From 12996701e558757da4a6e2b64a08ca32c32b1b0a Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Mon, 28 Jun 2021 09:15:09 +0900 Subject: [PATCH 019/242] Update the partition diagram --- image/partition_diagram_0.png | Bin 17853 -> 33609 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/image/partition_diagram_0.png b/image/partition_diagram_0.png index 7923f13ee9cd4f84e34bbafb6deb5aec6cdf353c..7f98e1d8a78203cd92ca97b5b45690c007a3a5d2 100755 GIT binary patch literal 33609 zcmeFYXIN8R*Dk7v0-}PTbSY9rse#ZW^iBv6Is#HdfF!g~1K8+Iil87wrAe1AU8y1> zA_zzor1#J}dj+58eV^~!-@DJX&-r_<3vsd5Tyw28=a^&M_dUi8*VR$Ge39wmnKNfD zYp5&hpE*NOx;A9<(V^NS3FfrJW)OlNEiDv+#sbtN8F;qju;P5Zjds! zsHnB8tDqgy8sTn@@(@JZdjh9`>nMyJ(gA62_ot1hu&9WDFjzoT(m+_48>Aot0)B}J z3rdNIn*C{Sjj%`m)uFhcFwg;?F%oTu@%8`?bqs)CBErCFkRosdTmXyxIrIUG-2%=i zxVpO78{6AxA%Ul>ii0EsL15rCpO(4-RGV8=2{?8^I@<&PsoC2)V~DpXIl5y|z!_C3 z5kX-=F);~IK@kx#-~!y*!P*`9k8X%xWAAB=`12)(QYbA?0ew%ni5}Eg#7SFR#LxQA z7kJsbdmu6BKg~qM1SJJU{#@|%b+!L<7Jip>hZ4JEb>3Hh`LnUz9HAqFm2yJHQ>EW%aD{Aeht*2|J?WY1Y zae=~BoD4kB2)G);)eDaF@lcht^EERzaR+Wwb9I$9T&JU z8lwqZ)fGW#0Ug0@MWr0E)~0TfHui4ZqKb~z_SQZMXi0GoMKuLCH#ciNML#!DeNAnI zjXFqC*i%mjtq1fV>SUr~q=tk7cSu4NfbL*$MP-DVt*0YWRm<1c#a==KBo15@QB)Ae zD!`#;k_a!1l)b&5k*}gU$`ge|1NW$+u~3u-80+bYM4Dm1a9oV_rfAXf#ji4D?7#nwYr*xFFnSRL!-Evjzjg$9gC)yo_B zaz&7xl(&}+OjAorTT=}<>#X33wN?^#04`y@tU<1tx+s*evkDmGpyVfEAmJ#iDXOYs z2$q5?Dxolbidv!))&?kNbzKPuTPJ&cML!=Uw7!Ihi@PRRPt*%A6Gc}YXJt)C4_yr( zj0a#9iu$_Vq8@INQkrHWx?neVF?*C7$`~wS>|~~>Zi-TbdFtt^Yf0%N>>Wj&)Zikv zda7bd;x;gGWdn?fvxdG)M0`BJPsf6;>GS%@z5eLAk8gL7uHBa;I}ct$<)+QOcSf_0ax}jfoi+k>x=5^x&oK5 zXgx5-7whQapzJH=VQQdlXoA3qsuP!0)YYEMA6aI7wd%qgAMKM44_JmqB>ZV zfuWRymZyuZy`j2|w}OMPl$wr|nUM=z)!s`=%Fsqp39aKI?(6KLV2bb*S1=YeRRY$s zpM#sIvMvY<_y9#oJ5j8frn9HIHPlHBr0ivCr{*Eyr|fD3JX%Z1LB+&Y#9JL`XAJzU zU}xZ^Yi9&=7gKd}6;s7Xxnn%tF%mWg25>DyC_>TG8|x#gqv+y{02)i!sROP|)n3dU z?x>3f*$Qh&I7n$b>APWVCF~5XZS|a$h?ePuv~kjsln_C9NO`#HC`!32X^6SHXd0;c zBGe^OMm~l*-dIU3BYQVPcWXZ_7kfQN11F@I7uXLBe2=$_zL%f3ji;8olsm#rN6JK0 z+0a`QWbdnJDx!(h0cq;{YQp@S>?IZbjP!wrp|CJl6_~yU7Ga_%p##=5vvIYB!VoBo z0Sd0F=w+*?Fn)`bTx7?b##OIz}>`6>`hfn#k@`QG);8$^py-S zhRXUXMh3bdM?)hW5j`bg11E2ogtw}&frg?fTmoh*W#fo4h8c@FDZ0b0HB<~ij*|LN zA2=2aau+jGFz~VW(seL1@WiUSs`)x2fyq#HFc!7-Q8RN9^DuDMGq%$(bucwlw%7AP zB9&355)y!?RyFl=5;b&jH-TBJxfsGVT@b3eSPdV*0V*n@>|Bh&a8Gp)4TL%zZ*W$R#Z}y&_LL` zIVmIborLv7yfA1VeZU1N`9LM4gk5ZO6jcy5J`ygr*4~~5z~m}A0ZtZ}Y2cqL8jNCBk@sDApXx{R@Q2el%G@~Dcb_tm-Aw&yvhG^&&V#lX z-A4~d3!+|s=zAsqy`Q9{uHsvE(uKFEhh7mP5f>;UVlFSd-RrJi_8l2N_F5g?xI63n zwcfk2JIZ!f*1!Ab#?SiMK>TQZt4Y_m~sn49HR;OkcG19lZ zEnw-1qdxPnzTAXkW+M&1o zcPBz+_R(!oj4Rc%=^pK@{w{_gCrS2q%br#S#LUm6Vp#izi!X-1rxdDlHCq;}o}%&o zc%HtmKZT}Wq@CsWOjqh`e}O3|F0&QF=D$>uhYq}#yDhUfm5|dXRDSh>Z@28udvi?v z4~w9qt(A{tY%g!RRtHpK##j1_tyUen)6;&I@+ASUcE@9>qFx(688G)cbmY-_%6mSI zZbg|RDGA1syumx^So8Jzpq)`~syv#=A2sRvC&!=%cx>%TO}=@xdlny=`@z9+^X!#_ ziw6n|Qq!Q=lI_KnVcbM8{e`WZeOD_@+10n&Y(t_h{u+S~cN52?BBtS!!S~jn8Yiqd zy9SpK>`!maYqcVnF>Q&CQ!Vkmft%;vXyD@O3(c#HV~D0R}VqKVrd znf>wtRCuzxjUzD3_=I)Oq*D-nesOf+wvmv3F1a(}(fx2YGwvfCCi|m@k7fM6h#SqZ zz~TAjaf6b$?lt3kyOaXgERJ`oIq`uv*B0B~JX?P0@l^`ln+-K&J|wW6lpL&u%H4~` z6FqIpjQ4WIKutz0q=qT0&{>YDbqf5M zv1D2lg!uYWv}v@B?Drs={9JPYjjhz~KAq4w+i~pZS|F$3-MpETcR6e!n-r@hYmHKJ zT`A)EDLsRw_FCeTn$`0M<0paQX6=vG!g4@rKW@ zhtI;h16DlFHNJjOXsZk#f7z`#p-j*l%b3+kTSL(t9hZfy&$dM~=S#x_b4+jSfBRwt zzcTf{3HNnt=Y*BnKFbT^w=HN{H)!GY)4l>VcR+y;=V-2s&YPWzu>P#RPT4Xm{Nz~? zvgYhuh#g@bR{zd_;Tsu?>xc3574) zaUl}6e5AG{-h1oQD^F;37_@6QgzPJ?Lp*o=8;b(hU1;#fJ9eD+HeS#SS<6s6 znc6Bj#jCJWYjd=IXH3TA&9#{KCEW;ofEW9tBftJ5cAfBU;jaeusVzAtvV~ijCQaga zDXDiWWWMjgax5H${yKZU2Z?YUx6UMi)XJ7ld|S@6txN2&4&fWswV*u%}9&_WFBo~2EXJ`M$N#!s)KTvj`Gs_O&nklEqaPSNol(Bx;nRe7Wj_hL> z4}L}ytxtGC6H}6V*>a=fjUbq&gX)GHy2v>XZEZ}h_5j{kuH--AC@M=nM=vXvn9}0f zE0$=TyqxB&QM#nG77#hmsCLBmyG}Jl#l*!cBzW*0C;m{Wzp*j*$}v@7qt0D-CT9E1 z10z0?#r+$zQ2u7;CMBNDc)Rz?4?l-4&cY`Xq>u%2RBE>H&M1AUr?y(M-HJvdmCRrl zSLcBu?1&I+;O>M|gj{6^{cCDIzh_mvxQNi2vo@Vr=IP`O@ik4HIN0(5iq&xV)Lr67T%*+jULP(%75An@Z!`y zY`>>pD(#4O>3l2q)-=&)4&i)}Y!&FcMU&|{1-fSc(iv$sKwmD#{&b(fNXuTrl47=S zE!9v%V1v-gJOQveOeFtZbI{5b7bS3xGmfG2VM)&q*QXB-_s@YwD(i~U z(}On8Jv_#D{t)=NJ{-0P)jA(``DZ3$HMdrhL8YTFUCZp(0s{)di(us4;FKpRc)p_+ zI^dmOtV6Gx+tSodG{=4CAuz^xIz{7V2E(}x9X>6_n|QX5U7I#ynGsO3Q43F@y|M=_ zVe%SETWCkMI9u@UIh^?T`PLS0>qY&zx@uc@+~+U3%t))HPhcGDuG>^s!nFmGw`Y%X zPlBRit3;h>@KDYV$MS7&of&-dvzo8SeCcrye*Qsg`op{Q>d9WVxNNp_V)`saX{eO6 z^?f4S3@ilCs%U?q>26TuKRBcwa{Ja2RK9X+VyLb3$!#HP*q|N6PSi08^ zYFC1#P+}b;7}UqHMH55CS9yU4483McON-B~x|G!mDpB2Bly7wOXhk@U>c>1S@YlFM z7ZXC6K+4roO2u%%fZ>DKEY^g+@S++Z3t1fVXyq;L+{qbT+}B?S=B(kF4K1`AO0!zw z7@k-c3<}_!-qy<*wH0D%Z9%}VXxF<=MgAWA#0!ngsr*Vg5E8OX%X~dY^w6DgN6Jrx za*~!4Ul?TM7y&y8*$RT@sGjl7)7nsr-7~bqT2d_c2xPEbweun_W^yB&QFHQnU-I5?;cccsl=D6pkr6N}yKFH3 z4(;XSj-O7qD(7W?zDa#KFug{ymW@0x`2Oi9sU$aKQQ2;noxr9I1tu2BFw3(sQBy2D z5uLO1k^kybAWBj%I@e({+_9V)4eXOI8Iop`4Vwy++|?j^Dv827;!ulO7g4LKX!8~F zo0OkjJLm?Co%6XHf^b)I*#@Pggn8b%lNkyLj6up7ZO%L_qCSPIMdkbp6eR4gbN~?aBaNBi zj)3L47FPUa0fhk7=3xo~1P^Ge(H{DAjcyd`^*$`YD&z!=L?h0s>?GU{d}IB(hwm z_*r)8j1foNx6HEc`KaNaWe6&r8x*kh`>*FuWGg2ijUA1?8#51~F#?rRkbq?Afx!rh z!^%`58kdQ$8+t~EVZEM6a+dlV`)OxPE!MW|`{d_g)dQ#>SJ6X7fMt>1PN5)GB#syv zfNF6M1a`!wmhkc!>~z4$^ft-A%d=5$Ys znB7a=dn)H1ol%8YO?j=1gvXpxp9NBO$d9u18Vhp#qOqJ%GWs zkEyRrz9leLSw*%$MiM|I84P<%@J{A78e05e)mkuTp2Pb#P~}XSAWImmxosuxG+++? z&z~lauWNT0HPV7&YGe5!Y`8TAiJ;@dqy(j{JAjd8*~?bolIe=+BnHo(rFP^w{h+S9 zdN&`Rf#tSa3dg&M$}N=pTgZww$;UMjUykitA{~Zp=#t0-d1HX%P_`h9%_`1qW#(>l z3f8&|rN2xlklx;V$+f(45YN@QqPBPsN!Whf1&|`o;0MG=>Xl_EquV`5p_WhtjxDwM z9PoXrb{-agr6ecU1oK=R*In%y;d#Gbg7WLH_ptt?g5g0JBDP zCg1q~|6BjFi}?32l}02VP7?Vkgha-B#UMYCIDvWAp&S4|E+S4sQ7c`3v0S=#j^fWgWS=WAOARZuE z59K*NirThaf_k4bhe7r-WoDk+j@0>XjHHM=j|kQ-iN@o#gzEb&d?td44A>Lk?QDa7 z05=`^{OtDV)_|4VvP=y2V0#&Tw7-SkUi#S~?Kt3_dH+1UN0j$?fH(FBck;bS!S}x& zEsSGD^oH30>JI;0X6_KM(Io+!zip5%cW6-{w}*0H@8G2xk~2zL+#R%yRatD>x)jF( zAm*3@q2X7efieSI*ci93FQt0-L#%Sv4nkS|J_(q-dzE*k9pE#SdByNcC9pw6Zj=|~ z=^*GjK85P)$ACv~fVsHA&8~r#;&2-7Bp^-O_$_Y}a=WB~*a6d2FVS5)Z<=RmaSi`^ z?NYF{h4$enKy%4%#uUX;fUR8j4%Hv9V*B)-?T!N@BHxnLVqO4gc)xj``#>Wcwx8Z9 zcd%4;jxfOGb;Mx$?%?Jy{qh~20K%su>Pe3*sSX?^*KaXS4}2w~@n_g`Ip`(XI(L?u0dQ=ByhE+p`#un2$az~p^T-&y6 z2hU|z>o!LE3(d)T4+B$KT|b=dsrW=h5pilX6Pw<7Y|-kWlOQ{qn4$g21XawcP)X2ulfj^IDh{nRJFjO`bvrY)rqiMC1KHC`x&q940}O`*8|#JnDDhL6EIJI9cx& zHU5R{4}J;~!7=MSR0Rte)|F_u?9^igC>3(@B>)Fy-%2k-uAcMMD z+11?R!`KhH zwa>XJ(r|C~`SYyg@(#N2o-D0o@Ubq^Np2a(UJ@GDo!$R&hZrh2i0u1IA8+ytL7Zv7g@ zDLSV-C`5>*XA96ln8c@hCI)H32FG#R4Sbh#mKOVW-4Bnqn!{juwQ`TXa(3oo85hjw)=~nxK#L2|sh< zNWO?Kn@O;VSay7sM#Z%)y#8}LCs^@l?!qgT{>???y;P~&1|TF!jzd%ey2?c>-dxA- z9}Y>QTC)`3qm`w0`B{BDGa~*{ocO*5Y-)~HrP-UFGFK(Hz!&x=g!y7#yVuK<74L$; z;V^!DSqIK#V`DI-<2l2WbTElnL6wlGQpxp(u<6E2ZOoHp_`XP6ths)cWx@LR_s0E& z{8401+Kdg^l_#9Pp^HJy$vr9H7ood{jr~7#9!(5;jf5|t^F~7D`NnJ-AK@N~<@UN#<`ah(#I{fP0N$m=f`tm z4CYN^khA%Kxw}48P}37y6aCPZlOi{e>3FEvJW|;n=^P`o^4|7cGV77Rh*w)|Y#^4+ zcPefL(A!>s^Qil8^~2t4kJ547y{sIVs^i`oYbSsX zKarU1Ae{unk;Z>b8%rQuO7V9qV<-3#hWh!nQ_NKCJqhwMJ1@>9%Vmps(aQQxtVYRM z)Unxge*}mcj~nE-O%3*j16JNLn9;v^zaBBr(B>PeEt?+*6*}cdTxvgAS zbt<|hR~o)sQ1+E63fDTu*Y!erO`@hy2FkJ1LKT6RAf35dmJJ6T&c8Kb?ia|$?3Yll z_|p%^JYHbYQQMO<(C4+!94aW%DM1$3)bH6)5{@8r4QH7m?1EClsxrd`UgjWs-i_r} zC04}e0>NXq@9*I8d!0G;VUJ&2TWQ)aW>Ox7Q&4(a6SuBt)u?A1*|B#(6|~#D5~s$R z`{b3}xSZe&jGU-7ROD@Y6ANn}mxbA*l2Ti5C zeB=XSxLZuyjS|;f5NOaPZ|SdS%^qzgL+_4Hh#&T+G(MHCcqMgL;5C|ng_B)UJFg#E zc2vK)pp&uYo7EqppLQ5mUPCK)s4_P3i8nT6Kb0etlj%657xzecwA_pDxxS*@NNh2> zi}&X*zdal_v78P$_dP7G~g3!zi<0@G%J*4 z8wHBnJ`kXuWBy|SJ3x}+Zga&`5yA)OA+eTOAeM_SbH%K2+(_!dh2>1zzwSVceUHu( zfGp}9zPkD~ad4t>VEH78)8xobDc8wLET;vrKo&38w3u81h~lNR`y$Pl zv9|vD7~6e#{D?d2wZAQK;Bzsz^X>7(X3YDEkcC9NbNn_GX3NRevhyW1(S9xVPAIR@$g+v0M0~QXxoYq^lE5@u=YgY< zx!K1irbR)$U+-|#nxs<%&9&oZUBIyJWui3st~#h-bfNP8_qoTvOJ4_AX)ayogfypi z2kkkIOu|K%S<`2(vI->+QvgEZ-ef{{9XBW5`q9N5hWvwIi>hJ^J|oFvV8uB0m7}LT zXoOhYMpMU_iib0Y8jVUjHr{gL#Y)-yOFq%hVz;iaefo~Asy>pu!wZBwNcr;gZuuSC z>&4H;^-Ocd-p+DsPtc?Ro@K||smwEPk#72=ytQ#ig zWdj8_7Ox-pOZvC0n)IP;>756jzt;{oIB6F-p{BB3AAWq?#jB-&%U#C*4(dh?GamoO?TyKqkDa5y6DVaB{7;YlIyurvkos}x{ z?4AA0SFPd$ zWg^&#&{*!@hP3*&04`&;mVz)l(0Rjkw>a%+{b*cFdeES|?+P6*P42zoIZ9>;bV0*V zITBtmD>wjX>bAZS$8_e8t{+E#CLA{%vvw@;j#y{wT=IZubUhVcZlRfZ)s-qiwat7* z&2`bi!G^O!%3Kg!Va?n)&>+OU9dQ-kVDdVs7b?$;7Ba6aND0YiuAGP3)d=!H0$wKq zrhi%Ib1e*0?qS5Ef7YXR_qvI~~S7jt@2!7nh8yHQZ6 z+ZzhCC||bkx^~&B97loq)ib^0U*rz04XS{+c^kB^Kt}l4rq;PBt-*RF<*Mo44e^j{ zwh%0c8n-Gjz5h}gh_NUBW{VmPN8)(s%hEJuVR0~yIV=FzVM}X{>X~8=hJJBYGaovQZot3FiW)yu7} zbWi{~_>4rWN6}V74_}VS^seFy2a*IwDh+q%A~)XynA1k5wYGi1;Y@#V?mbOcz$+iU zOe!0WSoOa~=IFKE`XEj}MhWzv9tF zQiA?0caJ8CCP<`&si-!3S((P1=>p-WXXxSTPW%DOBq$b%(GrK=j+Svf$!1kObbk}P z%i^siJ{+4?F^YRu@C1lqCjWw_Mu8Qkp}nPtbmemEjOMfR0~zyAD)bh=mCvFPm--?OKVeA-i8VpXdVsIgRU;fKB;w#f?0orlW?6eXhHC z0_29$1&dN6ZiMbe)w^Bkpui0@; zf6=>v*2<*`zui!=mW3pmLZ}c+T;X60{~h-EgFYjL659EP`R8dy=x~c#jSRF zjQ%CJSi-qKel@29-By1$O{pM;}6va2!ycA&A z{g?zd@_^^!C?eGOJX#Ri5B5oVf`)HQdgQdB^nX4bnWe@%4K7~}*5Ifk97%l6tt|hc z;vxsrDZ<*%)mryEigKSscdrcuI>8KTl5(7U{BEm`j$;IIl!i@?_<(K3C2RT(CC+mI zS5S}t{WfaJ-{8QBNM9=c5t{@|&G*^}DMnMZv&MfuZOJkyykD}y`n`}mFct6HvXRZc zx0(ixIIU&pp`Qj3*9f=l4R|5d4R^0+cBy|ZPh5|mN@`Xfwv2&wiV_913cJhW?BBfp z7Qcr5)f|pebkcv(zOfa zX<(qwV2R;QiUT4DWy_B~NCH3mV+ug#)CLj~kK($u-&)+J zlkvTI4G-mYi}KfeQDr6#fSA$Tob-jc!3s*j_xIl&m#?7qtpQ{R{$hO%Sogz>5*bBX zwQd8(z_M9*bGmF^e4jj>C0(Yof09+JpQL=7=3^l8A9Jh)Vqq^0w!D8 z;&D}mX8oYp6;;{!cv}i3pdbEM|GA$>t+UY*V{`pQ7Q;R?p+QR~m*ARD#p{KynKS*0 z{8b~4zq{4do}n@3l`L%57+7!nFn!@>Irk4BBjmiZr~RXtcN9Hotqx$Q=|7kQNUHIi6-!!+H^S&irL~C;rs)qE&_)u> zN<%Qze9@=*iKKoRY9VsZ=R~u7lKVf6!JR^Hc1!9x;jjhB}n z?mv9M{YRSS!~>;R<3O{UB)|f+HTgd*Kw_$hT^J}qLrV?*8^>8`^{-tfLGivK!bk;N zWxe;SK%hHnyk>y>x~s0c>5G!}e8zJw59P13And-9eAO+Va(L7SNzST}4DHDS5;2fU6*C3G&EYbwX z0mWe}A2tpA25SbsEZ|?xI$!&6zv`;+|ztjqzOic*C$-kA{ zemLgdDX{YXcZ`R`IIc`)d(c*V^s~I=Js|$B9*R4uB|6ZQ1bt zb-aC zb$JaC`=QRqQXVtfgamV=n~(s7Pbk)dxYnlB&ri1AH126HPCnl4Yv{D5BIYpKv_EJ@ zMN1WA`sVwnUBw?ONp3%NP*7LE43&3`dJUt{0A76dErTjHuXK%4Ev8A2W89L@WuYYp zGr(417xyv4`1LOewa++$?}xKw+WB(BzpvT~!Z@u5Ed2{Pds@MJwNK6YvTZUdM#2?2 zK9R&V?x=y0E#AM|qJJ3o(KWbghp!I46$Yh9U@XONrqH~z9^D3n#gA|AJC#2@S*bFH zo1TPdMo(p{2HFO+74J;8MxH9JD1*B{R-2C*BVZk2)kN0a{3+)L{7fJqx_%+1MSbnB z^WP_C20-G^K2ezjZHB2m1u)a96a3)$?g)0kB1hX)RG;pZd8JEk_QPf>%KGdqk_j=< zpA)zA^FYzRdgdG@`DZDAS+^og5bH{lLQ!$S_auYU%#OctL5^0Dg}fqb130iiKv*Bv&FlRtWB`NCCli*N+w-?1Q!fERFYGR% zB~d)&&J|xj36>v}Y67V(2+dz>26v;i_Z4q~&7=!W~0TFX(0$U{IV#1?e)L;BOt1;0IsNq9*#B)C@B&yK+ z9OnqPmb3V%h&9b^qy;U{4F`<~S2!U`da7Rz^=jP0x?QKVrPnpEQ_f=>={p8pM48%{ z6II75!eX5m(XIRTi4b2f_Um=LfpLf5M-#T0!lWxQOTuc-j2c{kz8zFA_xXknFT7g# z!aj53(Ms&S5N8#E?9p%z3LQ)I$4)jATz~!4RAcpO)$K^rQWegDK0La9tN-n8V)^U; zY{|lt9xr=WazhV^g@V%$S<(1J&^lwx_tt)okc|7e75)>~%1;!byG?p4pAeGE5T_~t z8xUc<*8PcXjgnk{s}{EArQ_fAKMmghcq8xPCOhcv@F>?Ek|&Afsvpi~p{5I`*>-c{DVcP#Umx#L*f zz^U){R#TkZBf5S-uAYx&+6Tk^6~Ohb%3vFzkl;mh>h|2`Ky(NW{z&NFxaOjvM-}Xi zpVnv5{Cj}sItu(1OA>0XwP)X)cJXkUzD0Ojw(xA>@GPj3o`0|JPpYik@8Sm`AdMsi zq@2Zy3lz^6Ox`fUg*0WO^SSrYqczwSpo)(cRdH>YI*oN*#Q(c^#zZ<^Slq!Yg(nba<@tH*|>U#Ym1mH>-8*xB;M*=)WN`c$>VBf>fSe zlZcC`|DBrs4`KhpDH}@t8`xB={{cVCe|J~8bES_M9wyDqNnEI{a)>z#$V++Q8 z^dOi~Er_Kx`>)~x&CUrk0Ck7c0NT*Yh(B17n2c^5Dripd84UEX`Hrd@1y8F(heAaU z*TlOa2TRJWygxYaR);SpN$ZHU_Rw2n545wlMWcUibKVzt%Vv>*FQ)bC#3o$o7iq+?RA&f6eQMa9opK zEl~ATO)SGYxw~GoADS8!YQGpm5`Du$b08E92P?*XKDoh4LVZx1S-=KITQv2UJDm%f z0=dw}{5(0U=dD`jg)c47`Gfn+DskDEn)x|e9XC5mv{@9*N8j1BS;%%ttdz7V=Z+GE zb7@ge@WTdCCSN9)m3{V(&`&-=IHRm#mZWzr)0Y?40L(Q~}6j}5uKVM7oGyknr zPKYg{E_6BFDIt-XwGvu>F#LWQNraPy)Of7Y2$S<|9Dz>eEax?KY$HSaC?oD*V(86a zTL+GF5w^NB8T_EOKkX`BiI2H?am$A)kiE1EGTVLVTREe~q zW7-&I7nl7spnFukyvypGGPyrV-#AxPvyitCCK>dE$Lk~{;92L>ldZ)88P)*uRW*pd zV1>qe0Jx6i{~K?vN}7aLgX&6lkGJUx>ZKKGOL@iji z*2FL7^cw)KpqlMl2#dIrGmbQR$D0g$vE1gz=4k>kp$jlh_K6fubeS|k!+zmO0oSc~ zfufzvmK?cg2A;2jVs!Ne6LL8CBnUfB%-G%hhjh^1TC-yR;`z65=yJ&9o$aO`$<`b> z*?RP-G%?!_r47zKq(69_%E{Nx0cmDiJ{&&=ak$W)>@gj@rX)y>q;Xbvn{z{&#f4tG zUSjhs2_1e&#%iK>Fft37O%k$N0r;cLtGU>@9=76!eJAfBWDfM|^DfyhrCNC`@Ji-7)ba6&40uROZfen;VivKC+<6LH@SQDgE<6yC-){TC z(_A_IzNnX|CQEZd;KO>EV>%hBk5#AUvM0L%q`GxGEa+&DYT{i&rYb5`y6WTzs7)C~ z*DixmU5KLH&0sqnl3xrq=I$+|NIu9>W~FuW1@GB3ZyoauMp}G>Bp35UO1HuHn6y-n}z zYscv5iyP!wc-?AfGge0g*vfGI0L6A2Z(|~1$hw{L4PnwPZC-*cf^y{`9Rb@s?0QHl~Npv-TNC3_JqK#RubnFL2f0cRVD?^=nB9! zz#l7>Aa|HCbtNg6qfr5^4GT#R++OIVFAfE`U-Ku*)|UBzcIp!%5w!5JYuGS~9}+7$ z8HS`%I~fqfHkrJrA$yxymN}WVyU|lTJ;D9U9!X5|Q_f9#oB{-2VB3o!W_Hh+ zmiHE9FFWHT2mAD89}($(Y&;6+)Nc%Fo_~{V)it8hEDoKZl(w#ZO1sMCdPr!m1-2$t zm;rUeo3>2}%X&v|QMW8BJ1~mvPqtd=t(JmtQoUq%_dHMFK{fhB&kUqF3~r5S+APkONqw;(?`%B&H+bvKGpIUm zxWqTu*O0Y@0K~MI?awaKqhW`vf0fbXF0>ECrL9fny|e1QnpCp&{y2L(w=nM$U2*-U z73sx~m&(Sx2aoRn5%?de?f)W)UgvVQR>9@^Y)C@E!^n2)-b@ z@W$H7h}$gDPCX|$w+YO19mRQ|oF)$!f}t8fomr)nrHQ@se$GdWRiOcJH5YQ^d-R?I z*rzI^Y``~TZ_v@+N9XPh`WMnNveyhJRF|&N-ryJZnECQC%IHH4C#dA6 z;0Roqqoc^xh$(tj_3Fr$nEmMydaDejJ z*Y@6T%gGxkI@7uOZ6aK>fhyT`P;EY^kq6qx=I$?+Yfyfp+R%}cP&6p%#@u7 zn`nO7_20u{>x}sxyPUzXkyC*auy6@zZ98}x!?c$aeZ5o2y966?S9Eu&tlJ3e=;u5CJ?nAM0af63d($`ioZPtYYhM=oOxJPs za+9->?LeK&8=&Mtl;ng@3o@LZz1R#J<)im_BZ(w^Ay?v;9zC`@_muz5HwVabV&C5Psr8twSyX+N4o>3qK`AMg|WXiTLIX)M|pv@D>GNq65gRGEH2Fl zXxZhw6!m?d5ZdbB#!YbR@dGqHvX6UvhjtNRy z(kU*X@Lg+{yV6j(C+bhi)C-tVTggVdM-f5FJ^D`p(9zbzWJLG=x!3BzZ`F0zZ&4%v z%@WOUAsN_Xu*@CmCghUqP(89-aC;jRdu1j{F_?t=T41h3jVa&y+yY?R zKjKOJ0==Nb>%}>H$sn>b{7P&=(sC6c-rqY+hX z{(1qx_FCB`N3iy1o`5~)T=@@($WH*G;W*~m3+)9b?~KpP2t+Panne`KX-8k#KMuKy zCsMj7#W?lf61jVq{l_NNJ@UD06mT5Z+u9zj0?KajLK|BbbVi9InTewuD4`V^L%%qJ-5XnU_o%m!c?hDnkh& z^DIMVC3Y!F5{k?+mLW=mAyYDBC_~6RF3$aYSK7V%efPWf@BDMlxvtaYudcP$_xV20 zJ>Q@E^Q@tLrR&+Bch=-BPvf5bY{IjT+s|?KWRHZ$#kGbNP?$zW*F4{BPI&TB1bUd6g>zin`puf>! zi-qCHt$5U{P6_&t1zVog&Tvp9Q9S~j-F2!Q@<_s2x$@1>XL3UIS`GDolllC!#k_T1 zduT0$#8IjtZk9fNLJXR`7-XDVdJ8+#Bh)wq0+Y{IEXiO64CC{=(SZ8!NXc3>*Yct! z`2@mo+|)nYr^U>B$=hou1uBWtjHk3l?4yRFsv%ZXW&UST^?y&42G)9ii}&mtDP0_W zx={hvMp^gQ`>qo=$9n{I@*mPh{3z}XllXi;fb)~M8Y=BNudX7v_+r}-^xiG7!MO^a z*La2NMDnJG&nMRAoqys;&s_`vnCIvj+J^15D4;KQPofe z?V%GN;I4PLA%Fr|hX!m-e+gOm2opf`8zMeUH|CkWl<&#@%hBPIotiO{qh%}0mhvAb z&hvs)SZpP)`A>L?wc|c77g(Gp@t!C3h3H=m#c=s*uNNfW(MQ~ zr#{CS`a;`Y#e7(7W{XYiLeoi=_Rdy{kb#68C#A}3wb0$A!X~n{)-LthFsT_` zM__^>rj@@F?b3Hw`qk!N9j?>KNPk4)k9TX}uzR~7m35=d+hAsA-SjHA%xB=oksK+~ zyZpS017_()qf~`$S@msXtwQvh%^uPvnXTLP+E=d2G+b&s$7|&gCm2Qvi>}!>?K`(5 zMq%agJX9T@Rv*53q3-sVVBx~Y3$v*w)7D)K9G_h=P~Ak=y)R|aMacdZmtN z9m7EwRpNKtU3@lnLDub4FmdE6^HuiEFdG}lz#UmDLnX3CdDJeDxT(i9@8#K$&k+f? z_nRvAM=If*H%C-`gB;*9v_`(Bmo2+E!U&U2OI?7{u{K3>N9f5ut>iGM=JMPu!gu*} z_wjiIBVfFyFOyg0aDSl%#yLKeE*-CJ710;|DziD>ge2ziNjgw*B=1t&iO_<3z(6w! z%rDEEJy7jqn!~+3QoD@KBgAx+#dJSjnbS0d;Cp;z!J<9ec;~pqmW&xW4W@%{pkb`$ zk3n}d9;qu%?A#K6KU*^{D?u$tXT`-x)4%5(>pizkG07{BET+*Yriw#>uzJspvUpe= z!6v}xBddEUbC|X6__hhXVy8@3IG}Zzm9cXzmA5v8e5BxW%H(xcdv<26&cD~J;UN8v zLnH6c23P5-bdT2^-#Bof&T0d(h>}H+5y17MW^Ub5+ASG^HlHry52L6 z5~Fnd%AD#B_Z<=zNAitw{YOF$zBd=RH(hdpRC7PC6ukV9C_x(&;X5;lqy~@H&Suu|B0qT8XrY zamyJ_wjweGE1XVq%H_Jk^1YjxijZ)RJU^cx3XfVZ>b5_Kv69NXk#8nt&q5swZ7byT zjz5kv&#OW6Syb8b15ua<=r*1-`fp~dEMQmXU(hT~sy}IT*Z!br5%&X~BCDF-}|7Ni`x@i(rWu=b25INDPDVG z!|h`0LnBV*Xr{Zm!)5rX)=ap@-9z6Fp1(7d|0B>$7y_8C4Y{x-vtpIW9o zKnQq_iEj#G>VZAglX_7eewCCn66zcDNF9@e+iHd8X_r6URl=kBNtK!^I;I^v9HCUM zzSwET$a#Y4UiT}#ck}Hd^E^+NQ*7>tTBmEgPbA%+PhfU=eK1G4rO{;Peu|CbZOiur z5O>{(HSr?@6(3+DC0`xibB0Dm>k{u#dZ{VRK;rqD=8?4R8kt{j=Y{ed*Ks^x=yYPc zZy)2a!h6ZJTKokFYZD!D?xmRNtB|2CHxBg@yg^~krzXGTFLy3AOfN^)Om*o_w%xrf zj2_fsq4RMw)hnPSk$h$NkHEF7R{ZptVy43e0(U-Dv>Ii@gpPZpvTb$Vlf<$cHX%Vo zrVQX?3Iqn6hhl6mB@u`iPiP7vW^Lot04|hH!xSl=9q8A4t@LzhyfuK4fIj#I65yYL z@QGeb`K`MkyWZq$$^-f`gTx}y%pW5YH5Z1c@(b^3Ek&O8TrYJvdaNZ#Nz8Qk#Qu@a zk1i8qKZkIOOKhldQ|L_8*eEk-NTZHrdpjTOIoWc!T7s?=Yv$2Z9BzeWdOkcTdGyE= zJ16<9l@b}3Gmbv&8C?%ArbtVUXsnF1TuYv7Q@X2enCwEDZXs4|goB?XLy?K389xPv z0YOlL*mDtwTpKRBI+}tB$Do>!tOl(utR#fotZ^8Asa9o zrVX-DYdWmUNS}eetVus#%rKW*N)FSuS1;EchWJR4jKEFIeAUEVw-+L76UG80f~WUI z&Hcz4Ox9i$v7Lkmgue%0XoAevGd?lWf#*2`$3PU;J z%F(mV8wb1lY)zoWZ2e=sT$pXDH~(VEFd#}XvW@n&JKcEOSm`wsZNs|c{iD}kL{|Pp ztm#3RgPM`Me96mrD}YbUF&ij$=z>0ulEee%fTdn_SZP=m7!_tM!|Pg=EI;hLpdO!8 zmG+u053-vfTJ*~NF3gZJ0l?i^*Z9WAF_<6En4wNuAzG>7GtC$?@;)^5G<~IU<*wtW z{B)2Bg?DYq_xyAT#`3W7`yZs;7mjHT@AN`p8%Lk7 z%s&&xU9*yvbd(SxPdxKVM$V8$jaM4cRO~hJ&Ef_OIGGM3JEzm%Nj3qZC1+i)kLmGw zQXBY~;*lsvKa)L;5YRIreh9E4_%wfqA%oZ4lV)#JZEvzK{(5@cYD^zBIRrtg-W9%N z0VEY2hAsbSLbsQ@ZUZJP&rXq`Ap7-l@%SqNsz74!Ek7b8>7@|Ln+1L-&6Vz<@MeT_ ztj1mTFV#--I5eT0yu*FsM!etL_CgVx9RSviAq&jGO0yVOx*%qq zH0h{Rcz+_HZ?*O^9K`Wr5+y&fQ1x9%zu?*W5kQd)+{HD0jcKPrvp)3wgamo)Xkaua zyOJ{?R(4HK_D%-AT3~Xd3+s94Icr6w4aJ*c^f2=tl-XF$>dP3Bf)IGFIv&2vg>gh1jL;xF{YtX;rqEQ zs-w<<98{F(WGIM59!#z|_}xK|557NAVc^^!&GIGuyB5<}&3nnUe~r$1fkQTfN>t7$ z)j%ew#9_GkInq|E)@S##6XTZJTSoX-1^fJ0cfv zQQsDfXB)pDwtl^ZOrL+s+H~MQid9*)H=@7n&0!F`wnWh{gB2^*FZrsIPZf)mE*&`K zku)vu%&k_oYk&F;5o(EFDz8zm+R@MswirGVT_g(u;sr&1lZg6RxPOf8RL z`hNbXS>+fsRGR#!AWe^N2Nb;>o+Bj=*?{Mf+}&rvx@3~6&oU2Dg!m9dF+uV}f)rEh zrzjO8c=|*T(S^t31Xr39{}!$#DBQGSl?7taRUb13a}H!Q9~Yz7P>!t|;CJT}8B#74 z?8Pi1)E9qcP~-V{NiTvKTAYIBs-XUUbb+hZcpw_KcrDU8Z*}y_hhi^v6gF9XE~vk2 z`)V88*GH|-(94Sxwo-X>lDo~^(ykvP8P?-M0D&o~I4$ya8a+W&P3?=w23BD(!(pbT zE-3M^%%QpDMKHpQBqZq{N@oNrsVU{4_7lG2ZMa(y7B6m3u#5hopLgjWi7`<*Exu=} z(nt}F-5c3qS%qY!i;;TbO-RP}Dq;0q{$0grRq3$o2Yl9Vz5?+<{Yj)nFY_sJIzM!6 zDe8op5&dN5b)Cf>qH5m@)`2G#_*uOR>co);RybK&QN(5)r}opY%g?^iDQ&1{AFp^q zgM?)4Nc-A6*@WR$ubw{3`H>6iz;F%^+AnEgC(Th4L9Oi7ka7$LFa|VP5Q~$2|R>BxQ6IhlJ3*TK)K`(+ecF=X? z&GB<@u)V9UHST^LD=tFCfz16jAp6IY7L1Mf5R5NvMJ^3f)RCKRMm@Pb8_WL2$+v(b zF1hb>q9Cx@OZvx)wJ7+zm^Am%qh=2p4cmRs>+13ipurI=U8GopTZ%(A!KRVyy}#ek zP_%Sme2tXv)(FKPr}EHb4KptsAM=yu7tyO>Tn>`G-&_miA7&OMo5p#at&J!Z$L0Vvg3t-vx`0v+1F)_y8i8v;`*U<VfCa++;5rB_nA0_k(S1JLN+h-HkK z=DIRvea2ITYheYe=!q`V(GAewD8pBZW;b+GS0?j01I#3h*}P~gI>nMa(K41z2OxT$4m&D+4*)ls^tHL~1m6eOx%cfs{xn5=-eWbtF|!!Qst{f;%rTv|JJejj zM&+V_>^~)vDJ-~4s=`9RHI#|ua%#P9FGRmv&`IO;S7VK@m8!#p*>>wPOR2Bh%;I+J z56=R*re>~rjSr#e$?gvGsgvbKg2XcQ>**TBIdt~@Z=y#H##~|&6UD~Cfv)l1PALYA zmj?rQAr3bIU8|rBU6s4Hp)q+T;^4GXC%aca{Cxh}C6m5`0lVSjJFt&q2JAm(8>=SE z?xWM-6Q_l@w?$NYSk8lZt|!w#QrqMFaFoyC7kOG9UBE)e#t?_?d5WQqU&^nA&Coz- z2%h0Um_Run#GFc4xNfGzzO8AUw=J@zwsY25m?Ef8=P!HQbQ%BJv1#fM8y9GkXwg9L0r8GF6OHX4R4xQ$3B{IBfmQ9zq6de+Ib?DI}TrUa<}mB9p8 zTWhcHS};=**#29zX#Chn`4mg?qW@=VlqY1!w&gAam%LOclr!Ihxsyv4JP*!r8-ox? zE@+nJRj0ixP#Siq;BW^O-?F>5mbus)RnM@Vmwf?s6o?f*3T+rbak`<$dsAWlTVshbf1sg7-gY?0%^ZCj}u=)LB#W*lkd^LnaY{h!q6ghu+vbq(j!8+v^Zf32(1p{9^e)w_~KzHNR1y0W;+u0zZ zTX}ug;3U|alPkpYFvL1YC)UR>oA0@pKg!-U=kGe5W@O+#`%1L5o-|i2bG2*!z2oO( z8Ipx#C8LtIr_A8P8{2c+xU89!6~GX1i8MUC{J8O?@*S1>2!y#=! z`f}w?lV9JVASq1oMA=jle$$f2$VDT&Md)VB4^i-+C!6X6i?|2tymuq1B0T=**^9=! zgR&!yRyWsDH_hHJ^XZNywWP1s%NOv9bjn8>Kh?LC&g71+<(l(y1uDq9!Rz`7+(7gU zx_H4>S{!$-J1#F0Jtl69Zpm;`*d;$`ntLu` zlAG~GjV~+QDI<@?>Q=1$XqQ`N(zVYNJB-LCdZX)4f?4rbdEdYlA{{edwKBMb_9loV zdj6pC)GSd4TN^^Yj74cj=tbECGi>|pf7?FwOXg`jx33FNPXd%w2fx>SzSiifj=rtJ zuA}1=-X@r>{PygoEeCE2@H@`Bepq&nN_48hEoPI^8E#eXOTAo<8(0Kwpx_;0JnVk@ z)0?1t-y!#BI2&LL|2qM`FbTlgTGEU)+{ge2*1=l(gPJz0=Z&GqeE+D_m@~1Sr@Ts} z@WczOeN4r1fsjCty@BCxZy&-nx_BV2?RU zjI@2|4szGgpv0Cj<98imzey7FMzDMF^Fi{vrMV->x6|0AJlKxgj1@&}R=a25a7e>t z%NJ+$%BJ<04!`xWWDH$o*ip?nHUE4BIz(r_@}rzj+M+_1@~^7;r#9*Z>(ms*lhU*e1YdevgZ|R z*Y@@oYf&(U7_3=NY^L-+fSeLFlk@D2wUu{t!YtqgloX zS~gcTithbU;&8Z$$PqdMfKrM!eP`_gzibB-y)Q!)t#E}P=&5)$&!&rtgO z`WcZz61|;w51S{Fu3>eaM_m4Tr4|PrFX`2 z(48k-jG*iZDZHKO3rUY^Qe?DeWNguU|1Dm{E8eXSGUkT+empA3kzRb{H*YSFso-eqw;)E9lGOV z^!CN{Nbc_nr_a#1zS?G1pnm7@$({*tX(I~yxbnXXfh@)kXU=1GeO?kcYCG6Ff2?!t z3F1F&&^$jD1G93=T`P;8qcuF?_F#dB-6U}d9M}KW;LfB(3;s>yASJSr(d+&A>J_vGWVqCA7XZo7AyIskDnBE9MdWu z>HOMkWz>Q7YTZWy*u1^AApv~+aP?^Ai{Ir8yqg1*u9@bKXBBjIc+dIT4lYtX*K^Ub z`FEq|@vf({855auLb|z@zi_Q<9IzK&gxn=nv<3gXFKUl%zjkKMa#RJ?`35RpICN$y zm_0Ve?8LLxttD3Oz2Cn*bbBYj5k?yUjJx>Wu~e&M7m;g0qU4D@Pv98v1@E;L9Sko! zXAFt=DE-P0`n{2AJSCnhvz|sL1D4ej%PKrnhVd0w${kiz2@T+D>n}od$t}HM5TI#t zToHX5cvaJ+dIcAg!T6Q=_zrrHA8Ti=S7xlEgYfQys-yUo34EF-mwlb=D2zT?Pg^hC zYu1h0`mpg9Fk9q%tETqCJe<~SFV{+I2{=Osyz^_-)Ujg&%kR3DLR~wC4ZqzIJl$hB zovL%vQ)aH)w_~r-yvpo!hGz$<#go)RIOl;J1r4W@@$}th8tbBqk%AT2Z8Nv(`5AWM z&OuNZF6jH_8nPEeF?|O+=r7Sdd)W;*qx}rm4pDo6Wjd)7p^0cq(js3&Z8V=Ldg^|? z>ZhRrD{I#~=svEFnUVI6y@uo0ha@@!rgS{|bw1O`%)M06Z3s{lOW8=`;9@XmCP%MY zwfBX&je+?^QZN+?{^TYS3fa~ni}4>igRk31nZlB8R<(~N<>Y9@Vb11{JrHu~2D7Vq zImg&^tJ(Uw=&QLXNFfsk{Yz>8zk3n>p6EKZr{8Z7 zr3b^rzHWt@Qn>oTscv8TLI{uxqxb3*4ri2g)_YC{DQeHHUajWPQ@=1h-0{6FTPf{r zgicJek$^YA_l z>F?fz0IZB1yDB>nI}3GP&A4+l9xfp>7UCyn#seEq6K)VDv^noykIBhCb-H*YT_J0u z1d`Izit&V-+!3fmkhM{O70dMcZJORivy7n(opyIH5$;#Zu-uG?eMi#OD))QG^4E!idtK=Tb0kW;GdGKA{I%BD_qZ0% z)RPx*a`E$T%{~J$Yk%pFYxs?}BEoxq|0#moDcJ5T`n!lBt6goUv=Lk>@bX?fK$hli zigpQ^dRa3>U;!49_B51X?lC9y*`lcigzg#zpLUl;Xhd}`H^cqiNYPm7Ww^MHIe7*i3bu z+ooQD_2kY&OLbkRo}TIVC*3oATrmEMy@QrNt{d9Qhu$XuII-tCg2pGtkepK=`pE|h9W6$%*9}h2@_UH(Np~rdfkCWiu zx(=wsMuucu?kiB9W+So%qfK$t_vsMOIXJhm=rOcGX& zuDMN)%k$rgbV?_pORh7%R0C{V{82ZJQul5~2n7Ig)_1G-=j2%8D~Zua6Q*z-L+2#D ztaGn*4V`*p2If}cJr*oxZ?_a*sN;=aS^Cyd)J3{n%Xd50+9fmaeUxVfd*{CW@irfS z$5dk#Ng;k4G8%bGs&l)o+L9^0F_IyP(c}#K!a_?~DciR16|bf3Pf0#ye#9EIJVjjj z$N_gw+%jM&bp_uD?#1;pBLf>6V1+JxW%?>Z9EZP%x4uV2XMP0jX)C9N_P%;Fkn&}KZ2TB9^;3y2bIHG)ZdY0aOK(5K21Zp!j^VyC#D^WHn(bQ!@HO=Zd&YBkUdSIpP zJtX-Z5EwOD9&}q+*>>=PcK^z>(Mpp$6mT3IJDroU$Vhr3GF;oUE63u7UZH)8D^wAN z5zt-f+l$5kMM(?$8zYw0bO4P3Tn=pc9rGSn=q@y4lBjZVmD!KKY5{?266TkWNnn2=|*t<)cbm?m2f3nuRUahkNva++}EcCa2ha z+8i%G2)Bu(4%#i$%^c&kM9x?F8jTF*65!F<5f2!k*vbw8ww{JNd6?#3_zIJz=_)r+ za_}McJ(FKM`F{uPph_@#9KwQ}E#!210|2N3EWZ%H+P??oV?I?+Blefv{RxrpP51kB z(H}PC5zHR=%N9d|p2(cgi_4XcI+xPl*r4${&tfdZV{Fvp0JF#mM|XK;%uKKWXgQ7{ z9f*;(k~1Yb)om>>-C_^6;q+B$-EV(!lhkoQ7g0FC^*<@2pI;bTjI(k3tD@V1kjG?c zS7$f^un@RR)BDt)FQNMXU;Te_n*uA%GUXZJTnW~+-#|8@tgsWcO_3OxpC3?zW)??v32%4BEe1VrQZ^G}lwrcADUVv7W! zgy0$d0aaKaagvWf{qtM!#f0tPX8UtQcK-GNJNU1!>R#)Aeha=x5Q8+c*5ac4`qf`w zL-`f{>)o9-TYfETjrSEC1a^(hfty#Ch3E&DJm-~8M!D{6wqFDPlod4O(~lba{4en% BHIV=S literal 17853 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 From c856337e5023770375e8d8dde2420b4f0867a1c9 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Mon, 28 Jun 2021 13:05:19 +0900 Subject: [PATCH 020/242] Make swap detection automatic --- ubuntu_en.md | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/ubuntu_en.md b/ubuntu_en.md index fcc8fa4..76eb6e9 100644 --- a/ubuntu_en.md +++ b/ubuntu_en.md @@ -72,10 +72,6 @@ export LVROOTNAME="ubuntu" # 50% mean, new logical volume will use 50% of the free space in the LVM volume group. export LVROOTSIZE="50%FREE" -# Configure to make swap or not. 1 : Make, 0 : Do not make. -# Set 0 if you add a distribution to the system, to avoid to make swap twice (it causes error). -export MAKESWAPVOL=1 - # Set the size of EFI partition and swap partition. The unit is Byte. you can use M,G... notation. export EFISIZE="100M" export LVSWAPSIZE="8G" @@ -145,7 +141,11 @@ You have to opened the LUKS partition here for the subsequent tasks. printf %s "${PASSPHRASE}" | cryptsetup open -d - "${DEV}${CRYPTPARTITION}" ${CRYPTPARTNAME} # Check whether successful open. If mapped, it is successful. -ls -l /dev/mapper +if [ ! -d /dev/mapper/${CRYPTPARTNAME} ] ; then +echo "!!!!!!!!!!!! ERROR : Cannot open LUKS volume ${CRYPTPARTNAME} on ${DEV}${CRYPTPARTITION}. !!!!!!!!!!!!" +echo "Check the passphrase" +exit 1 +fi ``` ## Configure the LVM in LUKS volume The swap volume and / volume is created here, based on the given parameters. @@ -154,11 +154,21 @@ The swap volume and / volume is created here, based on the given parameters. pvcreate /dev/mapper/${CRYPTPARTNAME} vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} -# Create a SWAP Logical Volume on VG, -if [ ${MAKESWAPVOL} -eq 1 ] ; then lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} ; fi +# Create a SWAP Logical Volume on VG, if it doesn't exist +if [ ! -d /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then +lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} +else +echo "Swap volume already exist. Skipped to create" +fi # Create the ROOT Logical Volume on VG. +if [ ! -d /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} +else +echo "!!!!!!!!!!!! ERROR : Logical volume ${VGNAME}-${LVROOTNAME} already exists. !!!!!!!!!!!!" +echo "Check LVROOTNAME environment variable." +exit 1 +fi ``` ## Run the Ubiquity installer Open the Ubiquity installer, configure and run it. Ensure you map the followings correctly. From b6e99140cc8d24fce773efff503806ad9cedab3d Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Mon, 28 Jun 2021 13:15:42 +0900 Subject: [PATCH 021/242] Implement the ERASE ALL --- ubuntu_en.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/ubuntu_en.md b/ubuntu_en.md index 76eb6e9..d31fa34 100644 --- a/ubuntu_en.md +++ b/ubuntu_en.md @@ -62,9 +62,14 @@ This is very critical part of the installation. Following is a set of parameter If you don't like above configuration, you can modify the following parameter before pasting to the shell window. Note : EFI/BIOS detection is done automatically. ```bash -# Device to install the linux. +# Storage device to install the linux. export DEV="/dev/sda" +# Whether you want to erase all contents of the storage device or not. +# 1 : Yes, I want to erase all. +# 2 : No, I want to add to the existing Linux distributions. +export ERASEALL=1 + # Logical Volume name for your Linux installation. Keep it unique from other distribution. export LVROOTNAME="ubuntu" @@ -109,6 +114,7 @@ C A U T I O N : Following script destroys all the data in your disk. Make sure y If you want to add a new distribution to the existing distribution, following script block must be skipped. The GPT for EFI, MBR for BIOS is created. ```bash +if [ ${ERASEALL} -eq 1 ] ; then # Optional : Create partitions for in the physical disk. # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. if [ ${ISEFI} -eq 1 ] ; then @@ -129,9 +135,13 @@ sfdisk ${DEV} < Date: Mon, 28 Jun 2021 23:07:39 +0900 Subject: [PATCH 022/242] Add scripts --- ubuntu/1-pre-install.sh | 111 +++++++++++++++++++++++++++++++++++++++ ubuntu/2-para-install.sh | 29 ++++++++++ ubuntu/3-post-install.sh | 53 +++++++++++++++++++ ubuntu/config.sh | 45 ++++++++++++++++ 4 files changed, 238 insertions(+) create mode 100644 ubuntu/1-pre-install.sh create mode 100644 ubuntu/2-para-install.sh create mode 100644 ubuntu/3-post-install.sh create mode 100644 ubuntu/config.sh diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh new file mode 100644 index 0000000..a7aa411 --- /dev/null +++ b/ubuntu/1-pre-install.sh @@ -0,0 +1,111 @@ +#!/bin/bash + +# Varidate whether script is executed as sourced or not +(return 0 2>/dev/null) && sourced=1 || sourced=0 +if [ $sourced -eq 0 ] ; then + cat <&2 +***** ERROR : Must execute as source ***** +Execute as following : +source 1-pre-install.sh + +Installation terminates. +HEREDOC + exit +fi + + +# ----- Set Passphrase ----- +# Input passphrase +echo "Type passphrase for the disk encryption." +read -sr PASSPHRASE + +echo "Type passphrase again, to confirm." +read -sr PASSPHRASE_C + +# Validate whether both are indentical or not +if [ ${PASSPHRASE} = ${PASSPHRASE_C} ] ; then + export PASSPHRASE +else + cat <&2 +***** ERROR : Passphrase doesn't match ***** +Installation terminates. +HEREDOC + return +fi + +# ----- Configuration Parameter ----- +# Load the configuration parameter +source config.sh + +# ----- Format the disk and encrypt the LUKS partition ----- +if [ ${ERASEALL} -eq 1 ] ; then +# Optional : Create partitions for in the physical disk. +# Assign specified space and rest of disk to the EFI and LUKS partition, respectively. + if [ ${ISEFI} -eq 1 ] ; then + # Zap existing partition table and create new GPT + sgdisk --zap-all "${DEV}" + # Create EFI partition and format it + sgdisk --new=${EFIPARTITION}:0:+${EFISIZE} --change-name=${EFIPARTITION}:"EFI System" --typecode=${EFIPARTITION}:ef00 "${DEV}" + mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" + # Create Linux partition + sgdisk --new=${CRYPTPARTITION}:0:0 --change-name=${CRYPTPARTITION}:"Linux LUKS" --typecode=${CRYPTPARTITION}:8309 "${DEV}" + # Then print them + sgdisk --print "${DEV}" + else + # Zap existing partition table + dd if=/dev/zero of=${DEV} bs=512 count=1 + # Create MBR and allocate max storage for Linux partition + sfdisk ${DEV} <&2 +***** ERROR : Cannot open LUKS volume ${CRYPTPARTNAME} on ${DEV}${CRYPTPARTITION}. ***** +Check the passphrase + +Installation terminates. +HEREDOC + return +fi + +# ----- Configure the LVM in LUKS volume ----- +# The swap volume and / volume is created here, based on the given parameters. +# Create a Physical Volume and Volume Group. +pvcreate /dev/mapper/${CRYPTPARTNAME} +vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} + +# Create a SWAP Logical Volume on VG, if it doesn't exist +if [ ! -d /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then + lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} +else + echo "Swap volume already exist. Skipped to create" 1>&2 +fi + +# Create a ROOT Logical Volume on VG. +if [ ! -d /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then + lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} +else + cat <&2 +***** ERROR : Logical volume ${VGNAME}-${LVROOTNAME} already exists. ***** +Check LVROOTNAME environment variable. + +Installation terminates. +HEREDOC + return +fi + + diff --git a/ubuntu/2-para-install.sh b/ubuntu/2-para-install.sh new file mode 100644 index 0000000..429e9c5 --- /dev/null +++ b/ubuntu/2-para-install.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# Varidate whether script is executed as sourced or not +(return 0 2>/dev/null) && sourced=1 || sourced=0 +if [ $sourced -eq 0 ] ; then + cat <&2 +***** ERROR : Must execute as source ***** +Execute as following : +source 2-para-install.sh + +Installation terminates. +HEREDOC + exit +fi + + +# Check whether grub configuration file is ready to write +if [ ! -d /target/etc/default/grub ] ; then + cat <&2 +***** ERROR : The /target/etc/default/grub is not ready. ***** +Perhaps, to early to execute this script. + +Installation terminates. +HEREDOC + return +fi + +# Make target GRUB aware to the crypt partition +echo "GRUB_ENABLE_CRYPTODISK=y" >> /target/etc/default/grub diff --git a/ubuntu/3-post-install.sh b/ubuntu/3-post-install.sh new file mode 100644 index 0000000..da4f754 --- /dev/null +++ b/ubuntu/3-post-install.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +# Varidate whether script is executed as sourced or not +(return 0 2>/dev/null) && sourced=1 || sourced=0 +if [ $sourced -eq 0 ] ; then + cat <&2 +***** ERROR : Must execute as source ***** +Execute as following : +source 3-post-install.sh + +Installation terminates. +HEREDOC + exit +fi + +## Mount the target file system +# /target is created by the Ubiquity installer +mount /dev/mapper/${VGNAME}-${LVROOTNAME} /target + +# And mount other directories +for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "/target/$n"; done + +# Change root +cat <> /etc/cryptsetup-initramfs/conf-hook +echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf + +# Prepare a key file to embed in to the ramfs. +mkdir /etc/luks +dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 +chmod u=rx,go-rwx /etc/luks +chmod u=r,go-rwx /etc/luks/boot_os.keyfile + +# Add a key to the key file. Use the passphrase in the environment variable. +printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile + +# Add the LUKS volume information to /etc/crypttab to decrypt by kernel. +echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab + +# Finally, update the ramfs initial image with the key file. +update-initramfs -uk all + +# Leave chroot +exit +HEREDOC + +echo "Install finished. Ready to reboot." \ No newline at end of file diff --git a/ubuntu/config.sh b/ubuntu/config.sh new file mode 100644 index 0000000..203eca5 --- /dev/null +++ b/ubuntu/config.sh @@ -0,0 +1,45 @@ +# Storage device to install the linux. +export DEV="/dev/sda" + +# Whether you want to erase all contents of the storage device or not. +# 1 : Yes, I want to erase all. +# 2 : No, I want to add to the existing Linux distributions. +export ERASEALL=1 + +# Logical Volume name for your Linux installation. Keep it unique from other distribution. +export LVROOTNAME="ubuntu" + +# Logical volume size of the Linux installation. +# 50% mean, new logical volume will use 50% of the free space in the LVM volume group. +export LVROOTSIZE="50%FREE" + +# Set the size of EFI partition and swap partition. The unit is Byte. you can use M,G... notation. +export EFISIZE="100M" +export LVSWAPSIZE="8G" + +# Usually, these names can be left untouched. +export CRYPTPARTNAME="luks_volume" +export VGNAME="vg1" +export LVSWAPNAME="swap" + +# DO NOT touch following lines. + +# export to share with entire script +export PASSPHRASE + +# Detect firmware type. 1 : EFI, 0 : BIOS +if [ -d /sys/firmware/efi ]; then +export ISEFI=1 +else +export ISEFI=0 +fi + +# Set partition number based on the firmware type +if [ ${ISEFI} -eq 1 ] ; then +# EFI system +export EFIPARTITION=1 +export CRYPTPARTITION=2 +else +# BIOS system +export CRYPTPARTITION=1 +fi From a7c48adc9ecd569744225e3b417b49073b3c2821 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Mon, 28 Jun 2021 23:15:14 +0900 Subject: [PATCH 023/242] Fix bug of the file existing check --- ubuntu/1-pre-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index a7aa411..db04848 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -72,7 +72,7 @@ fi printf %s "${PASSPHRASE}" | cryptsetup open -d - "${DEV}${CRYPTPARTITION}" ${CRYPTPARTNAME} # Check whether successful open. If mapped, it is successful. -if [ ! -d /dev/mapper/${CRYPTPARTNAME} ] ; then +if [ ! -e /dev/mapper/${CRYPTPARTNAME} ] ; then cat <&2 ***** ERROR : Cannot open LUKS volume ${CRYPTPARTNAME} on ${DEV}${CRYPTPARTITION}. ***** Check the passphrase From 0a4238165cf5ff2c2e39b1c641780e81c7bb5608 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Mon, 28 Jun 2021 23:26:06 +0900 Subject: [PATCH 024/242] Fixed file existing detection bug Iin 2-para-install.sh --- ubuntu/1-pre-install.sh | 2 +- ubuntu/2-para-install.sh | 4 +++- ubuntu/3-post-install.sh | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index db04848..d99ca94 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -108,4 +108,4 @@ HEREDOC return fi - +echo "1-pre-install.sh : Done." diff --git a/ubuntu/2-para-install.sh b/ubuntu/2-para-install.sh index 429e9c5..9dc5468 100644 --- a/ubuntu/2-para-install.sh +++ b/ubuntu/2-para-install.sh @@ -15,7 +15,7 @@ fi # Check whether grub configuration file is ready to write -if [ ! -d /target/etc/default/grub ] ; then +if [ ! -e /target/etc/default/grub ] ; then cat <&2 ***** ERROR : The /target/etc/default/grub is not ready. ***** Perhaps, to early to execute this script. @@ -27,3 +27,5 @@ fi # Make target GRUB aware to the crypt partition echo "GRUB_ENABLE_CRYPTODISK=y" >> /target/etc/default/grub + +echo "2-para-install.sh : Done." \ No newline at end of file diff --git a/ubuntu/3-post-install.sh b/ubuntu/3-post-install.sh index da4f754..f60b5c9 100644 --- a/ubuntu/3-post-install.sh +++ b/ubuntu/3-post-install.sh @@ -50,4 +50,4 @@ update-initramfs -uk all exit HEREDOC -echo "Install finished. Ready to reboot." \ No newline at end of file +echo "3-para-install.sh : Done." \ No newline at end of file From e39b2de861f23165323cc18eca505456c4ae13d4 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Mon, 28 Jun 2021 23:43:12 +0900 Subject: [PATCH 025/242] Add erase all confirmation. --- ubuntu/1-pre-install.sh | 22 +++++++++++++++++++--- ubuntu/2-para-install.sh | 7 ++++++- ubuntu/3-post-install.sh | 8 ++++++-- 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index d99ca94..2d52230 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -39,8 +39,19 @@ source config.sh # ----- Format the disk and encrypt the LUKS partition ----- if [ ${ERASEALL} -eq 1 ] ; then -# Optional : Create partitions for in the physical disk. -# Assign specified space and rest of disk to the EFI and LUKS partition, respectively. +# For sure ask ready to erase. + echo "Are you sure you want to erase entire ${DEV}? [Y/N]" + read YESNO + if [ YESNO != "Y" -a YESNO != "y" ] ; then + cat <&2 +Check config.sh. The ERASEALL is ${ERASEALL}. + +Installation terminates. +HEREDOC + return + fi + + # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. if [ ${ISEFI} -eq 1 ] ; then # Zap existing partition table and create new GPT sgdisk --zap-all "${DEV}" @@ -108,4 +119,9 @@ HEREDOC return fi -echo "1-pre-install.sh : Done." +cat <> /target/etc/default/grub -echo "2-para-install.sh : Done." \ No newline at end of file +cat < Date: Mon, 28 Jun 2021 23:54:58 +0900 Subject: [PATCH 026/242] Fix bug of the here doc --- ubuntu/3-post-install.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/ubuntu/3-post-install.sh b/ubuntu/3-post-install.sh index 5dc407b..231be7f 100644 --- a/ubuntu/3-post-install.sh +++ b/ubuntu/3-post-install.sh @@ -22,7 +22,6 @@ for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "/target/$n"; done # Change root and create the keyfile and ramfs image for Linux kernel. cat < Date: Tue, 29 Jun 2021 06:14:43 +0900 Subject: [PATCH 027/242] Refactored script Add config.txt confirmation Erase all check is moved to before passphrase Add more comment --- ubuntu/1-pre-install.sh | 102 ++++++++++++++++++++++----------------- ubuntu/2-para-install.sh | 11 +++-- ubuntu/3-post-install.sh | 7 +-- 3 files changed, 67 insertions(+), 53 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index 2d52230..c5d95d7 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -8,48 +8,61 @@ if [ $sourced -eq 0 ] ; then Execute as following : source 1-pre-install.sh -Installation terminates. +Installation terminated. HEREDOC - exit -fi - - -# ----- Set Passphrase ----- -# Input passphrase -echo "Type passphrase for the disk encryption." -read -sr PASSPHRASE - -echo "Type passphrase again, to confirm." -read -sr PASSPHRASE_C - -# Validate whether both are indentical or not -if [ ${PASSPHRASE} = ${PASSPHRASE_C} ] ; then - export PASSPHRASE -else - cat <&2 -***** ERROR : Passphrase doesn't match ***** -Installation terminates. -HEREDOC - return -fi + exit # use "exit" instead of "return", if not "sourced" execusion +fi # "sourced" validation # ----- Configuration Parameter ----- # Load the configuration parameter source config.sh -# ----- Format the disk and encrypt the LUKS partition ----- -if [ ${ERASEALL} -eq 1 ] ; then +# For surre ask the config.sh is edited +echo "Did you edit config.sys? Are you ready to install? [Y/N]" +read YESNO +if [ YESNO != "Y" -a YESNO != "y" ] ; then + cat <&2 + +Installation terminated. +HEREDOC + return +fi # if YES + + # For sure ask ready to erase. +if [ ${ERASEALL} -eq 1 ] ; then echo "Are you sure you want to erase entire ${DEV}? [Y/N]" read YESNO if [ YESNO != "Y" -a YESNO != "y" ] ; then cat <&2 Check config.sh. The ERASEALL is ${ERASEALL}. -Installation terminates. +Installation terminated. HEREDOC return - fi + fi # if YES +fi # if erase all + +# ----- Set Passphrase ----- +# Input passphrase +echo "Type passphrase for the disk encryption." +read -sr PASSPHRASE +export PASSPHRASE + +echo "Type passphrase again, to confirm." +read -sr PASSPHRASE_C + +# Validate whether both are indentical or not +if [ ${PASSPHRASE} != ${PASSPHRASE_C} ] ; then + cat <&2 +***** ERROR : Passphrase doesn't match ***** +Installation terminated. +HEREDOC + return +fi # passphrase validation + +# ----- Erase entire disk, create partitions, format them and encrypt the LUKS partition ----- +if [ ${ERASEALL} -eq 1 ] ; then # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. if [ ${ISEFI} -eq 1 ] ; then @@ -69,29 +82,27 @@ HEREDOC sfdisk ${DEV} <&2 ***** ERROR : Cannot open LUKS volume ${CRYPTPARTNAME} on ${DEV}${CRYPTPARTITION}. ***** -Check the passphrase +Check passphrase and config.txt -Installation terminates. +Installation terminated. HEREDOC return -fi +fi # if crypt volume is unable to open # ----- Configure the LVM in LUKS volume ----- # The swap volume and / volume is created here, based on the given parameters. @@ -100,25 +111,26 @@ pvcreate /dev/mapper/${CRYPTPARTNAME} vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} # Create a SWAP Logical Volume on VG, if it doesn't exist -if [ ! -d /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then - lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} -else +if [ -d /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then echo "Swap volume already exist. Skipped to create" 1>&2 -fi +else + lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} +fi # if /dev/mapper/swap volume already exit. # Create a ROOT Logical Volume on VG. -if [ ! -d /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then - lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} -else +if [ -d /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then cat <&2 ***** ERROR : Logical volume ${VGNAME}-${LVROOTNAME} already exists. ***** -Check LVROOTNAME environment variable. +Check LVROOTNAME environment variable in config.txt. -Installation terminates. +Installation terminated. HEREDOC return -fi +else + lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} +fi # if the root volun already exist +# Finishing message cat <> /target/etc/default/grub +# Finishing message cat < Date: Tue, 29 Jun 2021 06:29:13 +0900 Subject: [PATCH 028/242] Refactor config.sys --- ubuntu/config.sh | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/ubuntu/config.sh b/ubuntu/config.sh index 203eca5..9c33cc5 100644 --- a/ubuntu/config.sh +++ b/ubuntu/config.sh @@ -18,28 +18,27 @@ export EFISIZE="100M" export LVSWAPSIZE="8G" # Usually, these names can be left untouched. +# If you change, keep them consistent through all distributions in your system. export CRYPTPARTNAME="luks_volume" export VGNAME="vg1" export LVSWAPNAME="swap" # DO NOT touch following lines. -# export to share with entire script -export PASSPHRASE # Detect firmware type. 1 : EFI, 0 : BIOS if [ -d /sys/firmware/efi ]; then -export ISEFI=1 +export ISEFI=1 # Yes, EFI else -export ISEFI=0 -fi +export ISEFI=0 # No, BIOS +fi # is EFI firmaare? # Set partition number based on the firmware type if [ ${ISEFI} -eq 1 ] ; then -# EFI system +# EFI firmware export EFIPARTITION=1 export CRYPTPARTITION=2 else -# BIOS system +# BIOS firmware export CRYPTPARTITION=1 -fi +fi # EFI firmware From d0ffac92cb63e4718f247ced67e1e5d60df176dc Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 29 Jun 2021 06:33:55 +0900 Subject: [PATCH 029/242] Fix yesno bug --- ubuntu/1-pre-install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index c5d95d7..ae2985e 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -20,7 +20,7 @@ source config.sh # For surre ask the config.sh is edited echo "Did you edit config.sys? Are you ready to install? [Y/N]" read YESNO -if [ YESNO != "Y" -a YESNO != "y" ] ; then +if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then cat <&2 Installation terminated. @@ -33,7 +33,7 @@ fi # if YES if [ ${ERASEALL} -eq 1 ] ; then echo "Are you sure you want to erase entire ${DEV}? [Y/N]" read YESNO - if [ YESNO != "Y" -a YESNO != "y" ] ; then + if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then cat <&2 Check config.sh. The ERASEALL is ${ERASEALL}. From 8d6363ba624231604055253c8798477b1ffc312c Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 29 Jun 2021 07:18:47 +0900 Subject: [PATCH 030/242] Add if guard to the pvcreate --- ubuntu/1-pre-install.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index ae2985e..af72de5 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -105,10 +105,11 @@ HEREDOC fi # if crypt volume is unable to open # ----- Configure the LVM in LUKS volume ----- -# The swap volume and / volume is created here, based on the given parameters. -# Create a Physical Volume and Volume Group. -pvcreate /dev/mapper/${CRYPTPARTNAME} -vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} +# Create a Physical Volume and Volume Group, if first time +if [ ! -d /dev/${VGNAME} ]; then + pvcreate /dev/mapper/${CRYPTPARTNAME} + vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} +fi # if /dev/volume-groupt not exist # Create a SWAP Logical Volume on VG, if it doesn't exist if [ -d /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then From f5d39aa867c36592382f275082c4aeb665aa6336 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 29 Jun 2021 07:39:17 +0900 Subject: [PATCH 031/242] all existence check is by -e --- ubuntu/1-pre-install.sh | 8 ++++---- ubuntu/3-post-install.sh | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index af72de5..169d3dc 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -91,7 +91,7 @@ fi # if erase all # ----- Open the LUKS partition ----- # Open the crypt partition. -printf %s "${PASSPHRASE}" | cryptsetup open -d - "${DEV}${CRYPTPARTITION}" ${CRYPTPARTNAME} +printf %s "${PASSPHRASE}" | cryptsetup open -e - "${DEV}${CRYPTPARTITION}" ${CRYPTPARTNAME} # Check whether successful open. If mapped, it is successful. if [ ! -e /dev/mapper/${CRYPTPARTNAME} ] ; then @@ -106,20 +106,20 @@ fi # if crypt volume is unable to open # ----- Configure the LVM in LUKS volume ----- # Create a Physical Volume and Volume Group, if first time -if [ ! -d /dev/${VGNAME} ]; then +if [ ! -e /dev/${VGNAME} ]; then pvcreate /dev/mapper/${CRYPTPARTNAME} vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} fi # if /dev/volume-groupt not exist # Create a SWAP Logical Volume on VG, if it doesn't exist -if [ -d /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then +if [ -e /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then echo "Swap volume already exist. Skipped to create" 1>&2 else lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} fi # if /dev/mapper/swap volume already exit. # Create a ROOT Logical Volume on VG. -if [ -d /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then +if [ -e /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then cat <&2 ***** ERROR : Logical volume ${VGNAME}-${LVROOTNAME} already exists. ***** Check LVROOTNAME environment variable in config.txt. diff --git a/ubuntu/3-post-install.sh b/ubuntu/3-post-install.sh index 89b12e1..c417ead 100644 --- a/ubuntu/3-post-install.sh +++ b/ubuntu/3-post-install.sh @@ -37,7 +37,7 @@ chmod u=rx,go-rwx /etc/luks chmod u=r,go-rwx /etc/luks/boot_os.keyfile # Add a key to the key file. Use the passphrase in the environment variable. -printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile +printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -e - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab From ed451507817f972ded3b24414d3ef73973014c85 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 29 Jun 2021 07:43:15 +0900 Subject: [PATCH 032/242] fix the degrade --- ubuntu/1-pre-install.sh | 2 +- ubuntu/3-post-install.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index 169d3dc..416fc82 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -91,7 +91,7 @@ fi # if erase all # ----- Open the LUKS partition ----- # Open the crypt partition. -printf %s "${PASSPHRASE}" | cryptsetup open -e - "${DEV}${CRYPTPARTITION}" ${CRYPTPARTNAME} +printf %s "${PASSPHRASE}" | cryptsetup open -d - "${DEV}${CRYPTPARTITION}" ${CRYPTPARTNAME} # Check whether successful open. If mapped, it is successful. if [ ! -e /dev/mapper/${CRYPTPARTNAME} ] ; then diff --git a/ubuntu/3-post-install.sh b/ubuntu/3-post-install.sh index c417ead..89b12e1 100644 --- a/ubuntu/3-post-install.sh +++ b/ubuntu/3-post-install.sh @@ -37,7 +37,7 @@ chmod u=rx,go-rwx /etc/luks chmod u=r,go-rwx /etc/luks/boot_os.keyfile # Add a key to the key file. Use the passphrase in the environment variable. -printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -e - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile +printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab From 89b2bc112f5e13fc3b6535eb405146bff6abee18 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 29 Jun 2021 08:19:26 +0900 Subject: [PATCH 033/242] Add echo for each line to debug. --- ubuntu/1-pre-install.sh | 20 +++++++++++++++++--- ubuntu/2-para-install.sh | 1 + ubuntu/3-post-install.sh | 9 +++++++++ 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index 416fc82..8127b64 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -67,30 +67,38 @@ if [ ${ERASEALL} -eq 1 ] ; then # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. if [ ${ISEFI} -eq 1 ] ; then # Zap existing partition table and create new GPT + echo "Initialize ${DEV} with GPT." sgdisk --zap-all "${DEV}" # Create EFI partition and format it + echo "Create an EFI partition on ${DEV}." sgdisk --new=${EFIPARTITION}:0:+${EFISIZE} --change-name=${EFIPARTITION}:"EFI System" --typecode=${EFIPARTITION}:ef00 "${DEV}" + echo "Format the EFI parttion." mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" # Create Linux partition + echo "Create a Linux partition on ${DEV}." sgdisk --new=${CRYPTPARTITION}:0:0 --change-name=${CRYPTPARTITION}:"Linux LUKS" --typecode=${CRYPTPARTITION}:8309 "${DEV}" # Then print them sgdisk --print "${DEV}" else # Zap existing partition table + echo "Erase partition table of ${DEV}." dd if=/dev/zero of=${DEV} bs=512 count=1 # Create MBR and allocate max storage for Linux partition + echo "Create a Linux partition on ${DEV} with MBR." sfdisk ${DEV} <&2 + echo "Swap volume already exist. Skipped to create" else + echo "Create logical volume ${LVSWAPNAME} on ${VGNAME}." lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} fi # if /dev/mapper/swap volume already exit. @@ -128,6 +141,7 @@ Installation terminated. HEREDOC return else + echo "Create logical volume ${LVROOTNAME} on ${VGNAME}." lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} fi # if the root volun already exist diff --git a/ubuntu/2-para-install.sh b/ubuntu/2-para-install.sh index d91587a..36dcd4a 100644 --- a/ubuntu/2-para-install.sh +++ b/ubuntu/2-para-install.sh @@ -26,6 +26,7 @@ HEREDOC fi # if grub file exists # Make target GRUB aware to the crypt partition +echo "add GRUB_ENABLE_CRYPTODISK entry to /target/etc/default/grub " echo "GRUB_ENABLE_CRYPTODISK=y" >> /target/etc/default/grub # Finishing message diff --git a/ubuntu/3-post-install.sh b/ubuntu/3-post-install.sh index 89b12e1..eb98c15 100644 --- a/ubuntu/3-post-install.sh +++ b/ubuntu/3-post-install.sh @@ -15,34 +15,43 @@ fi # "sourced" validation ## Mount the target file system # /target is created by the Ubiquity installer +echo "Mount /dev/mapper/${VGNAME}-${LVROOTNAME} on /target." mount /dev/mapper/${VGNAME}-${LVROOTNAME} /target # And mount other directories +echo "Mount all other dirs." for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "/target/$n"; done # Change root and create the keyfile and ramfs image for Linux kernel. +echo "Chroot." cat <> /etc/cryptsetup-initramfs/conf-hook echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf # Prepare a key file to embed in to the ramfs. +echo "Prepair key file." mkdir /etc/luks dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 chmod u=rx,go-rwx /etc/luks chmod u=r,go-rwx /etc/luks/boot_os.keyfile # Add a key to the key file. Use the passphrase in the environment variable. +echo "Add a key to the key file." printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. +echo "Add LUKS volume info to /etc/crypttab." echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab # Finally, update the ramfs initial image with the key file. +echo "Upadte initramfs." update-initramfs -uk all # Leave chroot From 831b4c20d12d733018edc4c99b884c0d7e08a794 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 29 Jun 2021 08:27:56 +0900 Subject: [PATCH 034/242] echo message is easier to read --- ubuntu/1-pre-install.sh | 28 ++++++++++++++-------------- ubuntu/2-para-install.sh | 2 +- ubuntu/3-post-install.sh | 16 ++++++++-------- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index 8127b64..da8e114 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -67,38 +67,38 @@ if [ ${ERASEALL} -eq 1 ] ; then # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. if [ ${ISEFI} -eq 1 ] ; then # Zap existing partition table and create new GPT - echo "Initialize ${DEV} with GPT." + echo "...Initialize ${DEV} with GPT." sgdisk --zap-all "${DEV}" # Create EFI partition and format it - echo "Create an EFI partition on ${DEV}." + echo "...Create an EFI partition on ${DEV}." sgdisk --new=${EFIPARTITION}:0:+${EFISIZE} --change-name=${EFIPARTITION}:"EFI System" --typecode=${EFIPARTITION}:ef00 "${DEV}" - echo "Format the EFI parttion." + echo "...Format the EFI parttion." mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" # Create Linux partition - echo "Create a Linux partition on ${DEV}." + echo "...Create a Linux partition on ${DEV}." sgdisk --new=${CRYPTPARTITION}:0:0 --change-name=${CRYPTPARTITION}:"Linux LUKS" --typecode=${CRYPTPARTITION}:8309 "${DEV}" # Then print them sgdisk --print "${DEV}" else # Zap existing partition table - echo "Erase partition table of ${DEV}." + echo "...Erase partition table of ${DEV}." dd if=/dev/zero of=${DEV} bs=512 count=1 # Create MBR and allocate max storage for Linux partition - echo "Create a Linux partition on ${DEV} with MBR." + echo "...Create a Linux partition on ${DEV} with MBR." sfdisk ${DEV} <> /target/etc/default/grub # Finishing message diff --git a/ubuntu/3-post-install.sh b/ubuntu/3-post-install.sh index eb98c15..fde79e4 100644 --- a/ubuntu/3-post-install.sh +++ b/ubuntu/3-post-install.sh @@ -15,11 +15,11 @@ fi # "sourced" validation ## Mount the target file system # /target is created by the Ubiquity installer -echo "Mount /dev/mapper/${VGNAME}-${LVROOTNAME} on /target." +echo "...Mount /dev/mapper/${VGNAME}-${LVROOTNAME} on /target." mount /dev/mapper/${VGNAME}-${LVROOTNAME} /target # And mount other directories -echo "Mount all other dirs." +echo "...Mount all other dirs." for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "/target/$n"; done # Change root and create the keyfile and ramfs image for Linux kernel. @@ -29,29 +29,29 @@ cat <> /etc/cryptsetup-initramfs/conf-hook echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf # Prepare a key file to embed in to the ramfs. -echo "Prepair key file." +echo "...Prepair key file." mkdir /etc/luks dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 chmod u=rx,go-rwx /etc/luks chmod u=r,go-rwx /etc/luks/boot_os.keyfile # Add a key to the key file. Use the passphrase in the environment variable. -echo "Add a key to the key file." +echo "...Add a key to the key file." printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. -echo "Add LUKS volume info to /etc/crypttab." +echo "...Add LUKS volume info to /etc/crypttab." echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab # Finally, update the ramfs initial image with the key file. -echo "Upadte initramfs." +echo "...Upadte initramfs." update-initramfs -uk all # Leave chroot From 6408e5ac7430a9365c91c26ad42ca2fe1248aa18 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 29 Jun 2021 08:59:33 +0900 Subject: [PATCH 035/242] Change volume group existence check --- ubuntu/1-pre-install.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index da8e114..6ed9247 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -113,8 +113,9 @@ HEREDOC fi # if crypt volume is unable to open # ----- Configure the LVM in LUKS volume ----- -# Create a Physical Volume and Volume Group, if not exist -if [ -e /dev/${VGNAME} ]; then +# Check volume group ${VGNAME} exist or not +vgdisplay -s ${VGNAME} > /dev/null +if [ $? -eq 0 ] ; then # is return value 0? ( exist ?) echo "...Volume group ${VGNAME} already exist. Skipped to create" else echo "...Initialize a physical volume on ${CRYPTPARTNAME}" From 20d984a61ad8a12fc71f2b00ed92ccc6afef0a79 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 29 Jun 2021 09:29:23 +0900 Subject: [PATCH 036/242] Update comment and supress noise --- ubuntu/1-pre-install.sh | 2 +- ubuntu/2-para-install.sh | 5 ++--- ubuntu/3-post-install.sh | 4 ++-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index 6ed9247..67ac9c8 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -149,7 +149,7 @@ fi # if the root volun already exist # Finishing message cat <&2 ***** ERROR : The /target/etc/default/grub is not ready. ***** -Perhaps, to early to execute this script. +Perhaps, too early to execute this script. Installation terminated. HEREDOC @@ -26,13 +26,12 @@ HEREDOC fi # if grub file exists # Make target GRUB aware to the crypt partition -echo "...add GRUB_ENABLE_CRYPTODISK entry to /target/etc/default/grub " +echo "...Add GRUB_ENABLE_CRYPTODISK entry to /target/etc/default/grub " echo "GRUB_ENABLE_CRYPTODISK=y" >> /target/etc/default/grub # Finishing message cat <> /etc/cryptsetup-initramfs/conf-hook echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf @@ -38,7 +38,7 @@ echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf # Prepare a key file to embed in to the ramfs. echo "...Prepair key file." mkdir /etc/luks -dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 +dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 status=none chmod u=rx,go-rwx /etc/luks chmod u=r,go-rwx /etc/luks/boot_os.keyfile From e6bee52a061b965f36d2d4feafeed015b4b146c6 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 29 Jun 2021 09:45:36 +0900 Subject: [PATCH 037/242] Supress error output of vgdisplay --- ubuntu/1-pre-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index 67ac9c8..36d12af 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -114,7 +114,7 @@ fi # if crypt volume is unable to open # ----- Configure the LVM in LUKS volume ----- # Check volume group ${VGNAME} exist or not -vgdisplay -s ${VGNAME} > /dev/null +vgdisplay -s ${VGNAME} &> /dev/null if [ $? -eq 0 ] ; then # is return value 0? ( exist ?) echo "...Volume group ${VGNAME} already exist. Skipped to create" else From d4b92dea4748a88b7bc7d7a020bbdf909462eb93 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 29 Jun 2021 09:58:03 +0900 Subject: [PATCH 038/242] Add double quote the name in message --- ubuntu/1-pre-install.sh | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index 36d12af..bb67d91 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -35,7 +35,7 @@ if [ ${ERASEALL} -eq 1 ] ; then read YESNO if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then cat <&2 -Check config.sh. The ERASEALL is ${ERASEALL}. +Check config.sh. The variable ERASEALL is ${ERASEALL}. Installation terminated. HEREDOC @@ -67,7 +67,7 @@ if [ ${ERASEALL} -eq 1 ] ; then # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. if [ ${ISEFI} -eq 1 ] ; then # Zap existing partition table and create new GPT - echo "...Initialize ${DEV} with GPT." + echo "...Initialize \"${DEV}\" with GPT." sgdisk --zap-all "${DEV}" # Create EFI partition and format it echo "...Create an EFI partition on ${DEV}." @@ -75,16 +75,16 @@ if [ ${ERASEALL} -eq 1 ] ; then echo "...Format the EFI parttion." mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" # Create Linux partition - echo "...Create a Linux partition on ${DEV}." + echo "...Create a Linux partition on \"${DEV}\"." sgdisk --new=${CRYPTPARTITION}:0:0 --change-name=${CRYPTPARTITION}:"Linux LUKS" --typecode=${CRYPTPARTITION}:8309 "${DEV}" # Then print them sgdisk --print "${DEV}" else # Zap existing partition table - echo "...Erase partition table of ${DEV}." + echo "...Erase partition table of \"${DEV}\"." dd if=/dev/zero of=${DEV} bs=512 count=1 # Create MBR and allocate max storage for Linux partition - echo "...Create a Linux partition on ${DEV} with MBR." + echo "...Create a Linux partition on \"${DEV}\" with MBR." sfdisk ${DEV} <&2 -***** ERROR : Cannot open LUKS volume ${CRYPTPARTNAME} on ${DEV}${CRYPTPARTITION}. ***** +***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on ${DEV}${CRYPTPARTITION}. ***** Check passphrase and config.txt Installation terminated. @@ -118,9 +118,9 @@ vgdisplay -s ${VGNAME} &> /dev/null if [ $? -eq 0 ] ; then # is return value 0? ( exist ?) echo "...Volume group ${VGNAME} already exist. Skipped to create" else - echo "...Initialize a physical volume on ${CRYPTPARTNAME}" + echo "...Initialize a physical volume on \"${CRYPTPARTNAME}\"" pvcreate /dev/mapper/${CRYPTPARTNAME} - echo "...And then create Volume group ${VGNAME}." + echo "...And then create Volume group \"${VGNAME}\"." vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} fi # if /dev/volume-groupt not exist @@ -128,21 +128,21 @@ fi # if /dev/volume-groupt not exist if [ -e /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then echo "...Swap volume already exist. Skipped to create" else - echo "...Create logical volume ${LVSWAPNAME} on ${VGNAME}." + echo "...Create logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} fi # if /dev/mapper/swap volume already exit. # Create a ROOT Logical Volume on VG. if [ -e /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then cat <&2 -***** ERROR : Logical volume ${VGNAME}-${LVROOTNAME} already exists. ***** +***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** Check LVROOTNAME environment variable in config.txt. Installation terminated. HEREDOC return else - echo "...Create logical volume ${LVROOTNAME} on ${VGNAME}." + echo "...Create logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} fi # if the root volun already exist From 8dc44c94855cce69407e75ab14c01bc04f1bebb3 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 29 Jun 2021 10:03:04 +0900 Subject: [PATCH 039/242] Change title of readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 60a1320..25dd389 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ -# Linux Full Disk Encryption +# Yet another Full Disk Encryption for GRUB/Linux Helpful scripts of the full disk encryption for the Linux distribution From 201535790e4745adf491c9bfe9ad89e1bf6b3bdb Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 29 Jun 2021 10:10:29 +0900 Subject: [PATCH 040/242] change "/dev/sda" to /dev/sda --- ubuntu/1-pre-install.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index bb67d91..eeb7cf4 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -67,7 +67,7 @@ if [ ${ERASEALL} -eq 1 ] ; then # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. if [ ${ISEFI} -eq 1 ] ; then # Zap existing partition table and create new GPT - echo "...Initialize \"${DEV}\" with GPT." + echo "...Initialize ${DEV} with GPT." sgdisk --zap-all "${DEV}" # Create EFI partition and format it echo "...Create an EFI partition on ${DEV}." @@ -75,16 +75,16 @@ if [ ${ERASEALL} -eq 1 ] ; then echo "...Format the EFI parttion." mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" # Create Linux partition - echo "...Create a Linux partition on \"${DEV}\"." + echo "...Create a Linux partition on ${DEV}." sgdisk --new=${CRYPTPARTITION}:0:0 --change-name=${CRYPTPARTITION}:"Linux LUKS" --typecode=${CRYPTPARTITION}:8309 "${DEV}" # Then print them sgdisk --print "${DEV}" else # Zap existing partition table - echo "...Erase partition table of \"${DEV}\"." + echo "...Erase partition table of ${DEV}." dd if=/dev/zero of=${DEV} bs=512 count=1 # Create MBR and allocate max storage for Linux partition - echo "...Create a Linux partition on \"${DEV}\" with MBR." + echo "...Create a Linux partition on ${DEV} with MBR." sfdisk ${DEV} < Date: Tue, 29 Jun 2021 13:39:58 +0900 Subject: [PATCH 041/242] Renamed scripts --- ubuntu/1-config.sh | 123 ++++++++++++++++++ ubuntu/{1-pre-install.sh => 2-pre-install.sh} | 47 ------- .../{2-para-install.sh => 3-para-install.sh} | 0 .../{3-post-install.sh => 4-post-install.sh} | 0 ubuntu/config.sh | 44 ------- 5 files changed, 123 insertions(+), 91 deletions(-) create mode 100644 ubuntu/1-config.sh rename ubuntu/{1-pre-install.sh => 2-pre-install.sh} (77%) rename ubuntu/{2-para-install.sh => 3-para-install.sh} (100%) rename ubuntu/{3-post-install.sh => 4-post-install.sh} (100%) delete mode 100644 ubuntu/config.sh diff --git a/ubuntu/1-config.sh b/ubuntu/1-config.sh new file mode 100644 index 0000000..e79a2c5 --- /dev/null +++ b/ubuntu/1-config.sh @@ -0,0 +1,123 @@ +#!/bin/bash + +# Storage device to install the linux. +export DEV="/dev/sda" + +# Whether you want to erase all contents of the storage device or not. +# 1 : Yes, I want to erase all. +# 2 : No, I want to add to the existing Linux distributions. +export ERASEALL=1 + +# Logical Volume name for your Linux installation. Keep it unique from other distribution. +export LVROOTNAME="ubuntu" + +# Logical volume size of the Linux installation. +# 50% mean, new logical volume will use 50% of the free space in the LVM volume group. +export LVROOTSIZE="50%FREE" + +# Set the size of EFI partition and swap partition. The unit is Byte. you can use M,G... notation. +export EFISIZE="100M" +export LVSWAPSIZE="8G" + +# Usually, these names can be left untouched. +# If you change, keep them consistent through all distributions in your system. +export CRYPTPARTNAME="luks_volume" +export VGNAME="vg1" +export LVSWAPNAME="swap" + +# DO NOT touch following lines. + + +# Detect firmware type. 1 : EFI, 0 : BIOS +if [ -d /sys/firmware/efi ]; then +export ISEFI=1 # Yes, EFI +else +export ISEFI=0 # No, BIOS +fi # is EFI firmaare? + +# Set partition number based on the firmware type +if [ ${ISEFI} -eq 1 ] ; then +# EFI firmware +export EFIPARTITION=1 +export CRYPTPARTITION=2 +else +# BIOS firmware +export CRYPTPARTITION=1 +fi # EFI firmware + + +# Varidate whether script is executed as sourced or not +(return 0 2>/dev/null) && sourced=1 || sourced=0 +if [ $sourced -eq 0 ] ; then + cat <&2 +***** ERROR : Must execute as source ***** +Execute as following : +source 1-pre-install.sh + +Installation terminated. +HEREDOC + exit # use "exit" instead of "return", if not "sourced" execusion +fi # "sourced" validation + + + +# ----- Confirmations ----- +# Distribution check +uname -a | grep ubuntu -i > /dev/null +if [ $? -eq 1 ] ; then # "Ubuntu" is not found in the OS name. + uname -a + echo "This system seems to be netiher Ubuntu nor Ubuntu variants, while this script is dediated to the Ubuntu or its variants" + echo "Are you sure you want to run this script for installation? [Y/N]" + read YESNO + if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + cat <&2 + +Installation terminated. +HEREDOC + return + fi # if YES + +fi # "Ubuntu" is not found in the OS name. + +# For surre ask the config.sh is edited +echo "Did you edit config.sys? Are you ready to install? [Y/N]" +read YESNO +if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + cat <&2 + +Installation terminated. +HEREDOC + return +fi # if YES + +# For sure ask ready to erase. +if [ ${ERASEALL} -eq 1 ] ; then + echo "Are you sure you want to erase entire ${DEV}? [Y/N]" + read YESNO + if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + cat <&2 +Check config.sh. The variable ERASEALL is ${ERASEALL}. + +Installation terminated. +HEREDOC + return + fi # if YES +fi # if erase all + +# ----- Set Passphrase ----- +# Input passphrase +echo "Type passphrase for the disk encryption." +read -sr PASSPHRASE +export PASSPHRASE + +echo "Type passphrase again, to confirm." +read -sr PASSPHRASE_C + +# Validate whether both are indentical or not +if [ ${PASSPHRASE} != ${PASSPHRASE_C} ] ; then + cat <&2 +***** ERROR : Passphrase doesn't match ***** +Installation terminated. +HEREDOC + return +fi # passphrase validation diff --git a/ubuntu/1-pre-install.sh b/ubuntu/2-pre-install.sh similarity index 77% rename from ubuntu/1-pre-install.sh rename to ubuntu/2-pre-install.sh index eeb7cf4..adbb367 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/2-pre-install.sh @@ -13,53 +13,6 @@ HEREDOC exit # use "exit" instead of "return", if not "sourced" execusion fi # "sourced" validation -# ----- Configuration Parameter ----- -# Load the configuration parameter -source config.sh - -# For surre ask the config.sh is edited -echo "Did you edit config.sys? Are you ready to install? [Y/N]" -read YESNO -if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then - cat <&2 - -Installation terminated. -HEREDOC - return -fi # if YES - - -# For sure ask ready to erase. -if [ ${ERASEALL} -eq 1 ] ; then - echo "Are you sure you want to erase entire ${DEV}? [Y/N]" - read YESNO - if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then - cat <&2 -Check config.sh. The variable ERASEALL is ${ERASEALL}. - -Installation terminated. -HEREDOC - return - fi # if YES -fi # if erase all - -# ----- Set Passphrase ----- -# Input passphrase -echo "Type passphrase for the disk encryption." -read -sr PASSPHRASE -export PASSPHRASE - -echo "Type passphrase again, to confirm." -read -sr PASSPHRASE_C - -# Validate whether both are indentical or not -if [ ${PASSPHRASE} != ${PASSPHRASE_C} ] ; then - cat <&2 -***** ERROR : Passphrase doesn't match ***** -Installation terminated. -HEREDOC - return -fi # passphrase validation # ----- Erase entire disk, create partitions, format them and encrypt the LUKS partition ----- if [ ${ERASEALL} -eq 1 ] ; then diff --git a/ubuntu/2-para-install.sh b/ubuntu/3-para-install.sh similarity index 100% rename from ubuntu/2-para-install.sh rename to ubuntu/3-para-install.sh diff --git a/ubuntu/3-post-install.sh b/ubuntu/4-post-install.sh similarity index 100% rename from ubuntu/3-post-install.sh rename to ubuntu/4-post-install.sh diff --git a/ubuntu/config.sh b/ubuntu/config.sh deleted file mode 100644 index 9c33cc5..0000000 --- a/ubuntu/config.sh +++ /dev/null @@ -1,44 +0,0 @@ -# Storage device to install the linux. -export DEV="/dev/sda" - -# Whether you want to erase all contents of the storage device or not. -# 1 : Yes, I want to erase all. -# 2 : No, I want to add to the existing Linux distributions. -export ERASEALL=1 - -# Logical Volume name for your Linux installation. Keep it unique from other distribution. -export LVROOTNAME="ubuntu" - -# Logical volume size of the Linux installation. -# 50% mean, new logical volume will use 50% of the free space in the LVM volume group. -export LVROOTSIZE="50%FREE" - -# Set the size of EFI partition and swap partition. The unit is Byte. you can use M,G... notation. -export EFISIZE="100M" -export LVSWAPSIZE="8G" - -# Usually, these names can be left untouched. -# If you change, keep them consistent through all distributions in your system. -export CRYPTPARTNAME="luks_volume" -export VGNAME="vg1" -export LVSWAPNAME="swap" - -# DO NOT touch following lines. - - -# Detect firmware type. 1 : EFI, 0 : BIOS -if [ -d /sys/firmware/efi ]; then -export ISEFI=1 # Yes, EFI -else -export ISEFI=0 # No, BIOS -fi # is EFI firmaare? - -# Set partition number based on the firmware type -if [ ${ISEFI} -eq 1 ] ; then -# EFI firmware -export EFIPARTITION=1 -export CRYPTPARTITION=2 -else -# BIOS firmware -export CRYPTPARTITION=1 -fi # EFI firmware From 8a31bb92b0d7613e81aedd18e91d8e6c7d4b36b4 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 29 Jun 2021 13:49:46 +0900 Subject: [PATCH 042/242] Update finishing message --- ubuntu/1-config.sh | 7 +++++++ ubuntu/2-pre-install.sh | 2 +- ubuntu/3-para-install.sh | 2 +- ubuntu/4-post-install.sh | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ubuntu/1-config.sh b/ubuntu/1-config.sh index e79a2c5..1c12305 100644 --- a/ubuntu/1-config.sh +++ b/ubuntu/1-config.sh @@ -121,3 +121,10 @@ Installation terminated. HEREDOC return fi # passphrase validation + +# Finishing message +cat <> /target/etc/default/grub # Finishing message cat < Date: Tue, 29 Jun 2021 14:47:48 +0900 Subject: [PATCH 043/242] Refine a comment of change root --- ubuntu/4-post-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ubuntu/4-post-install.sh b/ubuntu/4-post-install.sh index 53cbd92..56c6ac7 100644 --- a/ubuntu/4-post-install.sh +++ b/ubuntu/4-post-install.sh @@ -23,7 +23,7 @@ echo "...Mount all other dirs." for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "/target/$n"; done # Change root and create the keyfile and ramfs image for Linux kernel. -echo "Chroot." +echo "...Chroot to /target." cat < Date: Tue, 29 Jun 2021 14:59:08 +0900 Subject: [PATCH 044/242] Merged config and pre-install --- ubuntu/1-config.sh | 130 ------------------ ubuntu/{2-pre-install.sh => 1-pre-install.sh} | 112 ++++++++++++++- .../{3-para-install.sh => 2-para-install.sh} | 5 +- .../{4-post-install.sh => 3-post-install.sh} | 4 +- 4 files changed, 116 insertions(+), 135 deletions(-) delete mode 100644 ubuntu/1-config.sh rename ubuntu/{2-pre-install.sh => 1-pre-install.sh} (54%) rename ubuntu/{3-para-install.sh => 2-para-install.sh} (87%) rename ubuntu/{4-post-install.sh => 3-post-install.sh} (97%) diff --git a/ubuntu/1-config.sh b/ubuntu/1-config.sh deleted file mode 100644 index 1c12305..0000000 --- a/ubuntu/1-config.sh +++ /dev/null @@ -1,130 +0,0 @@ -#!/bin/bash - -# Storage device to install the linux. -export DEV="/dev/sda" - -# Whether you want to erase all contents of the storage device or not. -# 1 : Yes, I want to erase all. -# 2 : No, I want to add to the existing Linux distributions. -export ERASEALL=1 - -# Logical Volume name for your Linux installation. Keep it unique from other distribution. -export LVROOTNAME="ubuntu" - -# Logical volume size of the Linux installation. -# 50% mean, new logical volume will use 50% of the free space in the LVM volume group. -export LVROOTSIZE="50%FREE" - -# Set the size of EFI partition and swap partition. The unit is Byte. you can use M,G... notation. -export EFISIZE="100M" -export LVSWAPSIZE="8G" - -# Usually, these names can be left untouched. -# If you change, keep them consistent through all distributions in your system. -export CRYPTPARTNAME="luks_volume" -export VGNAME="vg1" -export LVSWAPNAME="swap" - -# DO NOT touch following lines. - - -# Detect firmware type. 1 : EFI, 0 : BIOS -if [ -d /sys/firmware/efi ]; then -export ISEFI=1 # Yes, EFI -else -export ISEFI=0 # No, BIOS -fi # is EFI firmaare? - -# Set partition number based on the firmware type -if [ ${ISEFI} -eq 1 ] ; then -# EFI firmware -export EFIPARTITION=1 -export CRYPTPARTITION=2 -else -# BIOS firmware -export CRYPTPARTITION=1 -fi # EFI firmware - - -# Varidate whether script is executed as sourced or not -(return 0 2>/dev/null) && sourced=1 || sourced=0 -if [ $sourced -eq 0 ] ; then - cat <&2 -***** ERROR : Must execute as source ***** -Execute as following : -source 1-pre-install.sh - -Installation terminated. -HEREDOC - exit # use "exit" instead of "return", if not "sourced" execusion -fi # "sourced" validation - - - -# ----- Confirmations ----- -# Distribution check -uname -a | grep ubuntu -i > /dev/null -if [ $? -eq 1 ] ; then # "Ubuntu" is not found in the OS name. - uname -a - echo "This system seems to be netiher Ubuntu nor Ubuntu variants, while this script is dediated to the Ubuntu or its variants" - echo "Are you sure you want to run this script for installation? [Y/N]" - read YESNO - if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then - cat <&2 - -Installation terminated. -HEREDOC - return - fi # if YES - -fi # "Ubuntu" is not found in the OS name. - -# For surre ask the config.sh is edited -echo "Did you edit config.sys? Are you ready to install? [Y/N]" -read YESNO -if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then - cat <&2 - -Installation terminated. -HEREDOC - return -fi # if YES - -# For sure ask ready to erase. -if [ ${ERASEALL} -eq 1 ] ; then - echo "Are you sure you want to erase entire ${DEV}? [Y/N]" - read YESNO - if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then - cat <&2 -Check config.sh. The variable ERASEALL is ${ERASEALL}. - -Installation terminated. -HEREDOC - return - fi # if YES -fi # if erase all - -# ----- Set Passphrase ----- -# Input passphrase -echo "Type passphrase for the disk encryption." -read -sr PASSPHRASE -export PASSPHRASE - -echo "Type passphrase again, to confirm." -read -sr PASSPHRASE_C - -# Validate whether both are indentical or not -if [ ${PASSPHRASE} != ${PASSPHRASE_C} ] ; then - cat <&2 -***** ERROR : Passphrase doesn't match ***** -Installation terminated. -HEREDOC - return -fi # passphrase validation - -# Finishing message -cat </dev/null) && sourced=1 || sourced=0 if [ $sourced -eq 0 ] ; then @@ -14,6 +59,69 @@ HEREDOC fi # "sourced" validation + +# ----- Confirmations ----- +# Distribution check +uname -a | grep ubuntu -i > /dev/null +if [ $? -eq 1 ] ; then # "Ubuntu" is not found in the OS name. + uname -a + echo "This system seems to be netiher Ubuntu nor Ubuntu variants, while this script is dediated to the Ubuntu or its variants" + echo "Are you sure you want to run this script for installation? [Y/N]" + read YESNO + if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + cat <&2 + +Installation terminated. +HEREDOC + return + fi # if YES + +fi # "Ubuntu" is not found in the OS name. + +# For surre ask the config.sh is edited +echo "Did you edit config.sys? Are you ready to install? [Y/N]" +read YESNO +if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + cat <&2 + +Installation terminated. +HEREDOC + return +fi # if YES + +# For sure ask ready to erase. +if [ ${ERASEALL} -eq 1 ] ; then + echo "Are you sure you want to erase entire ${DEV}? [Y/N]" + read YESNO + if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + cat <&2 +Check config.sh. The variable ERASEALL is ${ERASEALL}. + +Installation terminated. +HEREDOC + return + fi # if YES +fi # if erase all + +# ----- Set Passphrase ----- +# Input passphrase +echo "Type passphrase for the disk encryption." +read -sr PASSPHRASE +export PASSPHRASE + +echo "Type passphrase again, to confirm." +read -sr PASSPHRASE_C + +# Validate whether both are indentical or not +if [ ${PASSPHRASE} != ${PASSPHRASE_C} ] ; then + cat <&2 +***** ERROR : Passphrase doesn't match ***** +Installation terminated. +HEREDOC + return +fi # passphrase validation + + # ----- Erase entire disk, create partitions, format them and encrypt the LUKS partition ----- if [ ${ERASEALL} -eq 1 ] ; then @@ -102,7 +210,9 @@ fi # if the root volun already exist # Finishing message cat <> /target/etc/default/grub # Finishing message cat < Date: Tue, 29 Jun 2021 15:07:38 +0900 Subject: [PATCH 045/242] Fix bug of the comment. --- ubuntu/1-pre-install.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index 8782fb0..909c5c8 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -5,14 +5,15 @@ export DEV="/dev/sda" # Whether you want to erase all contents of the storage device or not. # 1 : Yes, I want to erase all. -# 2 : No, I want to add to the existing Linux distributions. +# 0 : No, I want to add to the existing Linux distributions. export ERASEALL=1 # Logical Volume name for your Linux installation. Keep it unique from other distribution. export LVROOTNAME="ubuntu" # Logical volume size of the Linux installation. -# 50% mean, new logical volume will use 50% of the free space in the LVM volume group. +# 30% mean, new logical volume will use 30% of the free space in the LVM volume group. +# For example, assume the free space is 100GB, and LVROOTSIZE is 30%FREE. Script will create 30GB logical volume. export LVROOTSIZE="50%FREE" # Set the size of EFI partition and swap partition. The unit is Byte. you can use M,G... notation. From 1f1d282beb8e6305985d90d9631363e1efa62f76 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 29 Jun 2021 15:09:22 +0900 Subject: [PATCH 046/242] Added "No problem" message --- ubuntu/1-pre-install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index 909c5c8..51b2806 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -178,7 +178,7 @@ fi # if crypt volume is unable to open # Check volume group ${VGNAME} exist or not vgdisplay -s ${VGNAME} &> /dev/null if [ $? -eq 0 ] ; then # is return value 0? ( exist ?) - echo "...Volume group ${VGNAME} already exist. Skipped to create" + echo "...Volume group ${VGNAME} already exist. Skipped to create. No problem." else echo "...Initialize a physical volume on \"${CRYPTPARTNAME}\"" pvcreate /dev/mapper/${CRYPTPARTNAME} @@ -188,7 +188,7 @@ fi # if /dev/volume-groupt not exist # Create a SWAP Logical Volume on VG, if it doesn't exist if [ -e /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then - echo "...Swap volume already exist. Skipped to create" + echo "...Swap volume already exist. Skipped to create. No problem." else echo "...Create logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} From adab25e5ab5a713b764f1148b24669f0ab163812 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 29 Jun 2021 15:17:24 +0900 Subject: [PATCH 047/242] Message at the end of script is changed --- ubuntu/1-pre-install.sh | 13 +++++++++++-- ubuntu/2-para-install.sh | 2 +- ubuntu/3-post-install.sh | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index 51b2806..47b0e4d 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -209,11 +209,20 @@ else fi # if the root volun already exist # Finishing message -cat <> /target/etc/default/grub # Finishing message cat < Date: Tue, 29 Jun 2021 15:34:47 +0900 Subject: [PATCH 048/242] Correct comment --- ubuntu/1-pre-install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index 47b0e4d..1777db4 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -5,7 +5,7 @@ export DEV="/dev/sda" # Whether you want to erase all contents of the storage device or not. # 1 : Yes, I want to erase all. -# 0 : No, I want to add to the existing Linux distributions. +# 0 : No, I don't. I want to add to the existing LUKS volume. export ERASEALL=1 # Logical Volume name for your Linux installation. Keep it unique from other distribution. @@ -21,7 +21,7 @@ export EFISIZE="100M" export LVSWAPSIZE="8G" # Usually, these names can be left untouched. -# If you change, keep them consistent through all distributions in your system. +# If you change, keep them consistent through all instllation in your system. export CRYPTPARTNAME="luks_volume" export VGNAME="vg1" export LVSWAPNAME="swap" From cc67c2bb904f3795a5bd846508911bbc9b7b8187 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 29 Jun 2021 17:48:22 +0900 Subject: [PATCH 049/242] Create new INSTALL file --- INSTALL-ubuntu.md | 113 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 INSTALL-ubuntu.md diff --git a/INSTALL-ubuntu.md b/INSTALL-ubuntu.md new file mode 100644 index 0000000..b161365 --- /dev/null +++ b/INSTALL-ubuntu.md @@ -0,0 +1,113 @@ +# Ubuntu 20.04LTS installation into the LVM on the LUKS volume + +Installation requires 3 scripts. + +- 1-pre-install.sh +- 2-para-install.sh +- 3-post-install.sh + +Each script have to be executed as sourced style. For example : +```shell +source 1-pre-install.sh +``` +If you execute these script as independent command style, it will show an error message and terminate immediately. + +The first step has parameter configuration, erasing disk, format partition, and encryption. This is most critical stage of the entire installation. You have to finish this stage before invoking Ubiquity installer. + +The timing of the 2nd step is little bit difficult. You have to execute this script after the Ubiquity installer starts to copy the file, and before the Ubiquity installer finishes. + +The third stage is easy. There is nothing user can do. Everything is automatic. +# Preparation + +# Installation +Follow the steps below. + +## Configuration parameters +This is very critical part of the installation. The configuration parameters are located in the top of the 1-pre-install.sh. Edit these parameter before installation. Following is a set of the default parameters for the configuration of : +- Install to **/dev/sda** (DEV). +- Erase entire disk (ERASEALL). +- In case of EFI firmware, 100MB is allocated to the EFI partition (EFISIZE). +- Create a logical volume group named "vg1" in the encrypted volume (VGNAME) +- Create a swap logical volume named "swap" in the "vg1". The size is 8GB (LVSWAPNAME,LVSWAPSIZE) +- Create a logical volume named **"ubuntu"** for / in the "vg1". The size of the **50%** of the entire free space (LVROOTNAME, LVROOTSIZE). + +```bash +# Storage device to install the linux. +export DEV="/dev/sda" + +# Whether you want to erase all contents of the storage device or not. +# 1 : Yes, I want to erase all. +# 0 : No, I don't. I want to add to the existing LUKS volume. +export ERASEALL=1 + +# Logical Volume name for your Linux installation. Keep it unique from other distribution. +export LVROOTNAME="ubuntu" + +# Logical volume size of the Linux installation. +# 30% mean, new logical volume will use 30% of the free space in the LVM volume group. +# For example, assume the free space is 100GB, and LVROOTSIZE is 30%FREE. Script will create 30GB logical volume. +export LVROOTSIZE="50%FREE" + +# Set the size of EFI partition and swap partition. The unit is Byte. you can use M,G... notation. +export EFISIZE="100M" +export LVSWAPSIZE="8G" + +# Usually, these names can be left untouched. +# If you change, keep them consistent through all instllation in your system. +export CRYPTPARTNAME="luks_volume" +export VGNAME="vg1" +export LVSWAPNAME="swap" +``` + +There are several restrictions : +- For the first distribution installation, you must set ERASEALL to 1, to erase entire screen and create a LUKS partition. YaFDE script create a maximum LUKS partition as possible. +- The LVROOMNAME must be unique among all installation in a computer. Otherwise, the installer terminate at a middle. +- The LVSWAPNAME must be unique among all installation in a computer. Otherwise, the installer create an unnecessary logical volume. This is waste of storage resource. +- The EFISIZE and the LVSWAPSIZE are refereed during the first distribution installation. +- The LVROOTSIZE is the size of a logical volume to create. This is a relative value to the existing free space in the volume group. If you want to install 3 distributions in a computer, you may want to set 33%FREE, 50%FREE, and 100%FREE for the first, second, and third distribution installation, respectively. +## Preparation of shell window +First of all, promote the shell to root. Almost of the procedure requires root privilege. Not that the scripts requires Bash. +```bash +# Promote to the root user +sudo -i +``` +## The first script +After you set the configuration parameters correctly, execute the following command from the shell. Again, you have to be promoted as root user, and you have to use Bash. +```bash +source 1-pre-install.sh +``` +After the several interactive confirmation, script will as you input the passphrase. This passphrase will be applied to the encryption of the LUKS volume. Make sure you use identical passphrase between all distribution installation in a computer. Otherwise, install process terminates with error. + +## Run the Ubiquity installer +After the first script finishes, open the Ubiquity installer, configure and run it. Ensure you map the followings correctly. +Host Volume | Target Directory | Comment +-----------------------|------------------|--------------------------------------------------------------- +/dev/sda1 | /boot/efi | BIOS system doesn't need this mapping +/dev/mapper/vg1-ubuntu | / | Host volume name is up to your configuration parameter. +/dev/mapper/swap | swap | Only the first distribution installation requires this mapping. + +C A U T I O N : After the Ubiquity installer starts the file copy, execute 2nd step script quickly before the installer finishes. + +![Partitioning](image/ubuntu_partitioning.png) + +## The second script +Run the following script on the shell window, during the Ubiquity runs. Otherwise, Ubiquity fails at the end of installation. If you run this script too early, it terminates with error message. This is safe. Run it again later ( but before Ubiquity finish). + +C A U T I O N : Do not reboot at the end of Ubiquity installation. Click "continue". + +```bash +source 2-para-install.sh +``` +![Installing](image/ubuntu_installing.png) + +## Click continue +As explained above, do not reboot. Click "Continue Testing". If you reboot at here, system will ask you the passphrase twice. + +![Installing](image/ubuntu_done.png) + +## The third script +After Ubiquity finish the installation, run the 3rd script. This is fully automatic. There is nothing you have to do. +```bash +source post-install.sh +``` +You can reboot after the script finishes. From b12ff6c2f3d87fb947b5392f4a0a98af1152384f Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 29 Jun 2021 17:49:18 +0900 Subject: [PATCH 050/242] Added readme --- README.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/README.md b/README.md index 25dd389..ce3a9cd 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,37 @@ # Yet another Full Disk Encryption for GRUB/Linux Helpful scripts of the full disk encryption for the Linux distribution + +This is a script correction to help the installation of Linux distribution with the full disc encryption. Followings are the list of functionality. +- Ubuntu and Void Linux. +- Install from LiveCD/USB. +- Use GUI installer, for the ease of installation. +- Automatic detection of BIOS/EFI firmware and create MBR/GPT, respectively. +- Support to install multiple distributions in a LUKS partition. +- The "/boot" is located in the same logical volume with the "/". +- The swap logical volume is located inside encrypted volume. +- You need to type a passphrase only once in the boot sequence. + +With the configuration parameters, you can customize each installation. For example, you can configure the system to have 2, 3 or 4,... distributions in a HDD/SSD, as you want. + +Following is the HDD/SSD partitioning plan of these scripts ( In case of BIOS, the disk has MBR and doesn't have EFI partition, while it is depicted here). + +![Partition Diagram](image/partition_diagram_0.png) + +The logical volume size of each Linux distribution (LVROOTSIZE) can be customized from a configuration parameter. Also, the swap volume size is customizable. + +As depicted the LVM volume group has only one physical volume. + +# Test environment +These scripts are tested with following environment. +- VMWare Workstation 15.5.7 ( EFI/BIOS ) +- Ubuntu 20.04.2 amd64 desktop +- Ubuntu Mate 20.04.2 amd64 desktop + +# Preparation +Stat the PC with the LiveCD/LiveUSB of the distribution to install. Download this repository from github, and expand it. + +# Installation +- Ubuntu : Go to the ubuntu sub-directory and follow the procedure in the [INSTALL-ubuntu.md](INSTALL-ubuntu.md) + +# Acknowledgments +These scripts are based on the script shared on the [myn's diary](https://myn.hatenablog.jp/entry/install-ubuntu-focal-with-lvm-on-luks). That page contains rich information, hint and techniques around the encrypted volume and Ubiquity installer. \ No newline at end of file From c740604a3adcd455a9812be5827da59a3cad822b Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 29 Jun 2021 18:04:22 +0900 Subject: [PATCH 051/242] Added voidlinux installer --- voidlinux/1-pre-install.sh | 233 ++++++++++++++++++++++++++++++++++++ voidlinux/2-para-install.sh | 38 ++++++ voidlinux/3-post-install.sh | 68 +++++++++++ 3 files changed, 339 insertions(+) create mode 100644 voidlinux/1-pre-install.sh create mode 100644 voidlinux/2-para-install.sh create mode 100644 voidlinux/3-post-install.sh diff --git a/voidlinux/1-pre-install.sh b/voidlinux/1-pre-install.sh new file mode 100644 index 0000000..147a40f --- /dev/null +++ b/voidlinux/1-pre-install.sh @@ -0,0 +1,233 @@ +#!/bin/bash + +# Storage device to install the linux. +export DEV="/dev/sda" + +# Whether you want to erase all contents of the storage device or not. +# 1 : Yes, I want to erase all. +# 0 : No, I don't. I want to add to the existing LUKS volume. +export ERASEALL=1 + +# Logical Volume name for your Linux installation. Keep it unique from other distribution. +export LVROOTNAME="void" + +# Logical volume size of the Linux installation. +# 30% mean, new logical volume will use 30% of the free space in the LVM volume group. +# For example, assume the free space is 100GB, and LVROOTSIZE is 30%FREE. Script will create 30GB logical volume. +export LVROOTSIZE="50%FREE" + +# Set the size of EFI partition and swap partition. The unit is Byte. you can use M,G... notation. +export EFISIZE="100M" +export LVSWAPSIZE="8G" + +# Usually, these names can be left untouched. +# If you change, keep them consistent through all instllation in your system. +export CRYPTPARTNAME="luks_volume" +export VGNAME="vg1" +export LVSWAPNAME="swap" + +# ********************** DO NOT edit following lines ****************************** + +# Detect firmware type. 1 : EFI, 0 : BIOS +if [ -d /sys/firmware/efi ]; then +export ISEFI=1 # Yes, EFI +else +export ISEFI=0 # No, BIOS +fi # is EFI firmaare? + +# Set partition number based on the firmware type +if [ ${ISEFI} -eq 1 ] ; then +# EFI firmware +export EFIPARTITION=1 +export CRYPTPARTITION=2 +else +# BIOS firmware +export CRYPTPARTITION=1 +fi # EFI firmware + + +# Varidate whether script is executed as sourced or not +(return 0 2>/dev/null) && sourced=1 || sourced=0 +if [ $sourced -eq 0 ] ; then + cat <&2 +***** ERROR : Must execute as source ***** +Execute as following : +source 1-pre-install.sh + +Installation terminated. +HEREDOC + exit # use "exit" instead of "return", if not "sourced" execusion +fi # "sourced" validation + + + +# ----- Confirmations ----- +# Distribution check +uname -a | grep void -i > /dev/null +if [ $? -eq 1 ] ; then # "Void" is not found in the OS name. + uname -a + echo "This system seems to be not Void Linux, while this script is dediated to the Void Linux." + echo "Are you sure you want to run this script for installation? [Y/N]" + read YESNO + if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + cat <&2 + +Installation terminated. +HEREDOC + return + fi # if YES + +fi # "Void" is not found in the OS name. + +# For surre ask the config.sh is edited +echo "Did you edit config.sys? Are you ready to install? [Y/N]" +read YESNO +if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + cat <&2 + +Installation terminated. +HEREDOC + return +fi # if YES + +# For sure ask ready to erase. +if [ ${ERASEALL} -eq 1 ] ; then + echo "Are you sure you want to erase entire ${DEV}? [Y/N]" + read YESNO + if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + cat <&2 +Check config.sh. The variable ERASEALL is ${ERASEALL}. + +Installation terminated. +HEREDOC + return + fi # if YES +fi # if erase all + +# ----- Set Passphrase ----- +# Input passphrase +echo "Type passphrase for the disk encryption." +read -sr PASSPHRASE +export PASSPHRASE + +echo "Type passphrase again, to confirm." +read -sr PASSPHRASE_C + +# Validate whether both are indentical or not +if [ ${PASSPHRASE} != ${PASSPHRASE_C} ] ; then + cat <&2 +***** ERROR : Passphrase doesn't match ***** +Installation terminated. +HEREDOC + return +fi # passphrase validation + + +# ----- Erase entire disk, create partitions, format them and encrypt the LUKS partition ----- +if [ ${ERASEALL} -eq 1 ] ; then + + # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. + if [ ${ISEFI} -eq 1 ] ; then + # Zap existing partition table and create new GPT + echo "...Initialize ${DEV} with GPT." + sgdisk --zap-all "${DEV}" + # Create EFI partition and format it + echo "...Create an EFI partition on ${DEV}." + sgdisk --new=${EFIPARTITION}:0:+${EFISIZE} --change-name=${EFIPARTITION}:"EFI System" --typecode=${EFIPARTITION}:ef00 "${DEV}" + echo "...Format the EFI parttion." + mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" + # Create Linux partition + echo "...Create a Linux partition on ${DEV}." + sgdisk --new=${CRYPTPARTITION}:0:0 --change-name=${CRYPTPARTITION}:"Linux LUKS" --typecode=${CRYPTPARTITION}:8309 "${DEV}" + # Then print them + sgdisk --print "${DEV}" + else + # Zap existing partition table + echo "...Erase partition table of ${DEV}." + dd if=/dev/zero of=${DEV} bs=512 count=1 + # Create MBR and allocate max storage for Linux partition + echo "...Create a Linux partition on ${DEV} with MBR." + sfdisk ${DEV} <&2 +***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on ${DEV}${CRYPTPARTITION}. ***** +Check passphrase and config.txt + +Installation terminated. +HEREDOC + return +fi # if crypt volume is unable to open + +# ----- Configure the LVM in LUKS volume ----- +# Check volume group ${VGNAME} exist or not +vgdisplay -s ${VGNAME} &> /dev/null +if [ $? -eq 0 ] ; then # is return value 0? ( exist ?) + echo "...Volume group ${VGNAME} already exist. Skipped to create. No problem." +else + echo "...Initialize a physical volume on \"${CRYPTPARTNAME}\"" + pvcreate /dev/mapper/${CRYPTPARTNAME} + echo "...And then create Volume group \"${VGNAME}\"." + vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} +fi # if /dev/volume-groupt not exist + +# Create a SWAP Logical Volume on VG, if it doesn't exist +if [ -e /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then + echo "...Swap volume already exist. Skipped to create. No problem." +else + echo "...Create logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." + lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} +fi # if /dev/mapper/swap volume already exit. + +# Create a ROOT Logical Volume on VG. +if [ -e /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then + cat <&2 +***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** +Check LVROOTNAME environment variable in config.txt. + +Installation terminated. +HEREDOC + return +else + echo "...Create logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." + lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} +fi # if the root volun already exist + +# ADD "rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} root=/dev/mapper/${VGNAME}-${ROOTNAME}" to GRUB. +# This is magical part. I have not understood why this is required. +# Refer https://wiki.voidlinux.org/Install_LVM_LUKS#Installation_using_void-installer +sed -i "s#loglevel=4#loglevel=4 rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} root=/dev/mapper/${VGNAME}-${ROOTNAME}#" /etc/default/grub + +# Finishing message +if [ ${ISEFI} -eq 1 ] ; then + cat </dev/null) && sourced=1 || sourced=0 +if [ $sourced -eq 0 ] ; then + cat <&2 +***** ERROR : Must execute as source ***** +Execute as following : +source 2-para-install.sh + +Installation terminated. +HEREDOC + exit # use "exit" instead of "return", if not "sourced" execusion +fi # "sourced" validation + + +# Check whether grub configuration file is ready to write +if [ ! -e /mnt/target/etc/default/grub ] ; then + cat <&2 +***** ERROR : The /mnt/target/etc/default/grub is not ready. ***** +Perhaps, too early to execute this script. + +Installation terminated. +HEREDOC + return +fi # if grub file exists + +# Make target GRUB aware to the crypt partition +echo "...Add GRUB_ENABLE_CRYPTODISK entry to /mnt/target/etc/default/grub " +echo "GRUB_ENABLE_CRYPTODISK=y" >> /mnt/target/etc/default/grub + +# Finishing message +cat </dev/null) && sourced=1 || sourced=0 +if [ $sourced -eq 0 ] ; then + cat <&2 +***** ERROR : Must execute as source ***** +Execute as following : +source 3-post-install.sh + +Installation terminated. +HEREDOC + exit # use "exit" instead of "return", if not "sourced" execusion +fi # "sourced" validation + +## Mount the target file system +# /target is created by the Ubiquity installer +echo "...Mount /dev/mapper/${VGNAME}-${LVROOTNAME} on /mnt/target." +mount /dev/mapper/${VGNAME}-${LVROOTNAME} /mnt/target + +# And mount other directories +echo "...Mount all other dirs." +for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "/mnt/target/$n"; done + +# Change root and create the keyfile and ramfs image for Linux kernel. +echo "...Chroot to /target." +cat <> /etc/crypttab + +echo "...Register key file to the ramfs" +echo 'install_items+=" /etc/luks/boot_os.keyfile /etc/crypttab " ' > /etc/dracut.conf.d/10-crypt.conf + +# Finally, update the ramfs initial image with the key file. +echo "...Upadte initramfs." +xbps-reconfigure -fa +echo "...grub-mkconfig." +grub-mkconfig -o /boot/grub/grub.cfg + +# Leave chroot +exit +HEREDOC + +# Finishing message +cat < Date: Tue, 29 Jun 2021 20:54:59 +0900 Subject: [PATCH 052/242] Fix the problem of finishing message. --- ubuntu/1-pre-install.sh | 5 +++-- voidlinux/1-pre-install.sh | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index 1777db4..eda5b3d 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -217,12 +217,13 @@ if [ ${ISEFI} -eq 1 ] ; then ...Next, open the Ubiquity installer, map the /, swap, EFI partition( if needed ) and start installation. ...And then, execute "source 2-para-install.sh" during the Ubiquity copies files. HEREDOC +else cat < Date: Tue, 29 Jun 2021 21:04:32 +0900 Subject: [PATCH 053/242] Correct the message regarding installer name. --- ubuntu/1-pre-install.sh | 2 +- voidlinux/1-pre-install.sh | 8 ++++---- voidlinux/2-para-install.sh | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index eda5b3d..ed8fe8b 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -214,7 +214,7 @@ if [ ${ISEFI} -eq 1 ] ; then ****************** Pre-install process finished ****************** -...Next, open the Ubiquity installer, map the /, swap, EFI partition( if needed ) and start installation. +...Next, open the Ubiquity installer, map the /, swap, EFI partition and start installation. ...And then, execute "source 2-para-install.sh" during the Ubiquity copies files. HEREDOC else diff --git a/voidlinux/1-pre-install.sh b/voidlinux/1-pre-install.sh index bd700b2..526b295 100644 --- a/voidlinux/1-pre-install.sh +++ b/voidlinux/1-pre-install.sh @@ -219,16 +219,16 @@ if [ ${ISEFI} -eq 1 ] ; then ****************** Pre-install process finished ****************** -...Next, open the Ubiquity installer, map the /, swap, EFI partition( if needed ) and start installation. -...And then, execute "source 2-para-install.sh" during the Ubiquity copies files. +...Next, open the void-installer, map the /, swap, EFI partition and start installation. +...And then, execute "source 2-para-install.sh" during the void-installer copies files. HEREDOC else cat <> /mnt/target/etc/default/grub cat < Date: Tue, 29 Jun 2021 21:38:16 +0900 Subject: [PATCH 054/242] Refine the comments --- voidlinux/1-pre-install.sh | 4 ++++ voidlinux/3-post-install.sh | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/voidlinux/1-pre-install.sh b/voidlinux/1-pre-install.sh index 526b295..f16efe8 100644 --- a/voidlinux/1-pre-install.sh +++ b/voidlinux/1-pre-install.sh @@ -104,6 +104,9 @@ HEREDOC fi # if YES fi # if erase all +# Install essential packages. +xbps-install -y gptfdisk + # ----- Set Passphrase ----- # Input passphrase echo "Type passphrase for the disk encryption." @@ -211,6 +214,7 @@ fi # if the root volun already exist # ADD "rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} root=/dev/mapper/${VGNAME}-${ROOTNAME}" to GRUB. # This is magical part. I have not understood why this is required. # Refer https://wiki.voidlinux.org/Install_LVM_LUKS#Installation_using_void-installer +echo "...Modify /etc/default/grub." sed -i "s#loglevel=4#loglevel=4 rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} root=/dev/mapper/${VGNAME}-${ROOTNAME}#" /etc/default/grub # Finishing message diff --git a/voidlinux/3-post-install.sh b/voidlinux/3-post-install.sh index 730b72c..c4991e5 100644 --- a/voidlinux/3-post-install.sh +++ b/voidlinux/3-post-install.sh @@ -30,7 +30,7 @@ mount -a # Set up the kernel hook of encryption echo "...Install cryptsetup-initramfs package." -xbps-install lvm2 cryptsetup +xbps-install -y lvm2 cryptsetup # Prepare a key file to embed in to the ramfs. echo "...Prepair key file." @@ -57,9 +57,12 @@ echo "...grub-mkconfig." grub-mkconfig -o /boot/grub/grub.cfg # Leave chroot -exit HEREDOC +# Unmount all +echo "...Unmount all." +umount -R /mnt/target + # Finishing message cat < Date: Tue, 29 Jun 2021 21:42:03 +0900 Subject: [PATCH 055/242] fix the problem of variable name --- voidlinux/1-pre-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/voidlinux/1-pre-install.sh b/voidlinux/1-pre-install.sh index f16efe8..8233909 100644 --- a/voidlinux/1-pre-install.sh +++ b/voidlinux/1-pre-install.sh @@ -215,7 +215,7 @@ fi # if the root volun already exist # This is magical part. I have not understood why this is required. # Refer https://wiki.voidlinux.org/Install_LVM_LUKS#Installation_using_void-installer echo "...Modify /etc/default/grub." -sed -i "s#loglevel=4#loglevel=4 rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} root=/dev/mapper/${VGNAME}-${ROOTNAME}#" /etc/default/grub +sed -i "s#loglevel=4#loglevel=4 rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} root=/dev/mapper/${VGNAME}-${LVROOTNAME}#" /etc/default/grub # Finishing message if [ ${ISEFI} -eq 1 ] ; then From 0135dc1f5d57de8f5df684b9fad94f239da6fb00 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 29 Jun 2021 23:03:59 +0900 Subject: [PATCH 056/242] Refine the warning When the target distribution seems to be wrong --- ubuntu/1-pre-install.sh | 8 ++++++-- voidlinux/1-pre-install.sh | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ubuntu/1-pre-install.sh b/ubuntu/1-pre-install.sh index ed8fe8b..921334b 100644 --- a/ubuntu/1-pre-install.sh +++ b/ubuntu/1-pre-install.sh @@ -65,9 +65,13 @@ fi # "sourced" validation # Distribution check uname -a | grep ubuntu -i > /dev/null if [ $? -eq 1 ] ; then # "Ubuntu" is not found in the OS name. + echo "*********************************************************************************" uname -a - echo "This system seems to be netiher Ubuntu nor Ubuntu variants, while this script is dediated to the Ubuntu or its variants" - echo "Are you sure you want to run this script for installation? [Y/N]" + cat <&2 diff --git a/voidlinux/1-pre-install.sh b/voidlinux/1-pre-install.sh index 8233909..feebc17 100644 --- a/voidlinux/1-pre-install.sh +++ b/voidlinux/1-pre-install.sh @@ -65,9 +65,13 @@ fi # "sourced" validation # Distribution check uname -a | grep void -i > /dev/null if [ $? -eq 1 ] ; then # "Void" is not found in the OS name. + echo "*********************************************************************************" uname -a - echo "This system seems to be not Void Linux, while this script is dediated to the Void Linux." - echo "Are you sure you want to run this script for installation? [Y/N]" + cat <&2 From eb6d3f2feedbe31e3ba2104da60388cabb052e39 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 30 Jun 2021 08:11:50 +0900 Subject: [PATCH 057/242] Add update-grub --- voidlinux/3-post-install.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/voidlinux/3-post-install.sh b/voidlinux/3-post-install.sh index c4991e5..5f8b8b3 100644 --- a/voidlinux/3-post-install.sh +++ b/voidlinux/3-post-install.sh @@ -55,6 +55,8 @@ echo "...Upadte initramfs." xbps-reconfigure -fa echo "...grub-mkconfig." grub-mkconfig -o /boot/grub/grub.cfg +echo "...update-grub." +update-grub # Leave chroot HEREDOC From f1d8ce77ed218e30e328890cecd896e7d619e55b Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 30 Jun 2021 16:26:16 +0900 Subject: [PATCH 058/242] Going to one-script solution --- .../INSTALL-ubuntu.md | 6 +- {ubuntu => archive/ubuntu}/1-pre-install.sh | 0 {ubuntu => archive/ubuntu}/2-para-install.sh | 0 {ubuntu => archive/ubuntu}/3-post-install.sh | 0 .../voidlinux}/1-pre-install.sh | 0 .../voidlinux}/2-para-install.sh | 0 .../voidlinux}/3-post-install.sh | 0 script/config.sh | 50 ++++ script/yafde-ubuntu.sh | 273 ++++++++++++++++++ ubuntu_en.md | 265 ----------------- 10 files changed, 326 insertions(+), 268 deletions(-) rename INSTALL-ubuntu.md => archive/INSTALL-ubuntu.md (97%) rename {ubuntu => archive/ubuntu}/1-pre-install.sh (100%) rename {ubuntu => archive/ubuntu}/2-para-install.sh (100%) rename {ubuntu => archive/ubuntu}/3-post-install.sh (100%) rename {voidlinux => archive/voidlinux}/1-pre-install.sh (100%) rename {voidlinux => archive/voidlinux}/2-para-install.sh (100%) rename {voidlinux => archive/voidlinux}/3-post-install.sh (100%) create mode 100644 script/config.sh create mode 100644 script/yafde-ubuntu.sh delete mode 100644 ubuntu_en.md diff --git a/INSTALL-ubuntu.md b/archive/INSTALL-ubuntu.md similarity index 97% rename from INSTALL-ubuntu.md rename to archive/INSTALL-ubuntu.md index b161365..187da7e 100644 --- a/INSTALL-ubuntu.md +++ b/archive/INSTALL-ubuntu.md @@ -88,7 +88,7 @@ Host Volume | Target Directory | Comment C A U T I O N : After the Ubiquity installer starts the file copy, execute 2nd step script quickly before the installer finishes. -![Partitioning](image/ubuntu_partitioning.png) +![Partitioning](../image/ubuntu_partitioning.png) ## The second script Run the following script on the shell window, during the Ubiquity runs. Otherwise, Ubiquity fails at the end of installation. If you run this script too early, it terminates with error message. This is safe. Run it again later ( but before Ubiquity finish). @@ -98,12 +98,12 @@ C A U T I O N : Do not reboot at the end of Ubiquity installation. Click "contin ```bash source 2-para-install.sh ``` -![Installing](image/ubuntu_installing.png) +![Installing](../image/ubuntu_installing.png) ## Click continue As explained above, do not reboot. Click "Continue Testing". If you reboot at here, system will ask you the passphrase twice. -![Installing](image/ubuntu_done.png) +![Installing](../image/ubuntu_done.png) ## The third script After Ubiquity finish the installation, run the 3rd script. This is fully automatic. There is nothing you have to do. diff --git a/ubuntu/1-pre-install.sh b/archive/ubuntu/1-pre-install.sh similarity index 100% rename from ubuntu/1-pre-install.sh rename to archive/ubuntu/1-pre-install.sh diff --git a/ubuntu/2-para-install.sh b/archive/ubuntu/2-para-install.sh similarity index 100% rename from ubuntu/2-para-install.sh rename to archive/ubuntu/2-para-install.sh diff --git a/ubuntu/3-post-install.sh b/archive/ubuntu/3-post-install.sh similarity index 100% rename from ubuntu/3-post-install.sh rename to archive/ubuntu/3-post-install.sh diff --git a/voidlinux/1-pre-install.sh b/archive/voidlinux/1-pre-install.sh similarity index 100% rename from voidlinux/1-pre-install.sh rename to archive/voidlinux/1-pre-install.sh diff --git a/voidlinux/2-para-install.sh b/archive/voidlinux/2-para-install.sh similarity index 100% rename from voidlinux/2-para-install.sh rename to archive/voidlinux/2-para-install.sh diff --git a/voidlinux/3-post-install.sh b/archive/voidlinux/3-post-install.sh similarity index 100% rename from voidlinux/3-post-install.sh rename to archive/voidlinux/3-post-install.sh diff --git a/script/config.sh b/script/config.sh new file mode 100644 index 0000000..f73772f --- /dev/null +++ b/script/config.sh @@ -0,0 +1,50 @@ +# Configuration parameters for YaFDE + +# Storage device to install the linux. +export DEV="/dev/sda" + +# Whether you want to erase all contents of the storage device or not. +# 1 : Yes, I want to erase all. +# 0 : No, I don't. I want to add to the existing LUKS volume. +export ERASEALL=1 + +# Logical Volume name for your Linux installation. Keep it unique from other distribution. +export LVROOTNAME="ubuntu" + +# Logical volume size of the Linux installation. +# 30% mean, new logical volume will use 30% of the free space in the LVM volume group. +# For example, assume the free space is 100GB, and LVROOTSIZE is 30%FREE. Script will create 30GB logical volume. +export LVROOTSIZE="50%FREE" + +# Set the size of EFI partition and swap partition. The unit is Byte. you can use M,G... notation. +export EFISIZE="100M" +export LVSWAPSIZE="8G" + +# Usually, these names can be left untouched. +# If you change, keep them consistent through all instllation in your system. +export CRYPTPARTNAME="luks_volume" +export VGNAME="vg1" +export LVSWAPNAME="swap" + +# Void Linux only. Ignored in Ubuntu. +# The font size of the void-installer +export XTERMFONTSIZE=11 + +# !!!!!!!!!!!!!! DO NOT EDIT FOLLOWING LINES. !!!!!!!!!!!!!! + +# Detect firmware type. 1 : EFI, 0 : BIOS +if [ -d /sys/firmware/efi ]; then +export ISEFI=1 # Yes, EFI +else +export ISEFI=0 # No, BIOS +fi # is EFI firmaare? + +# Set partition number based on the firmware type +if [ ${ISEFI} -eq 1 ] ; then +# EFI firmware +export EFIPARTITION=1 +export CRYPTPARTITION=2 +else +# BIOS firmware +export CRYPTPARTITION=1 +fi # EFI firmware diff --git a/script/yafde-ubuntu.sh b/script/yafde-ubuntu.sh new file mode 100644 index 0000000..14fc373 --- /dev/null +++ b/script/yafde-ubuntu.sh @@ -0,0 +1,273 @@ +#!/bin/bash + +# Varidate whether script is executed as sourced or not +(return 0 2>/dev/null) && sourced=1 || sourced=0 +if [ $sourced -eq 0 ] ; then + cat <&2 +***** ERROR : Must execute as source ***** +Execute as following : +source 1-pre-install.sh + +Installation terminated. +HEREDOC + exit # use "exit" instead of "return", if not "sourced" execusion +fi # "sourced" validation + +# Load configuration parameter +source config.sh + +# ----- Confirmations ----- +# Distribution check +uname -a | grep ubuntu -i > /dev/null +if [ $? -eq 1 ] ; then # "Ubuntu" is not found in the OS name. + echo "*********************************************************************************" + uname -a + cat <&2 + +Installation terminated. +HEREDOC + return + fi # if YES + +fi # "Ubuntu" is not found in the OS name. + +# For surre ask the config.sh is edited +echo "Did you edit config.sys? Are you ready to install? [Y/N]" +read YESNO +if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + cat <&2 + +Installation terminated. +HEREDOC + return +fi # if YES + +# For sure ask ready to erase. +if [ ${ERASEALL} -eq 1 ] ; then + echo "Are you sure you want to erase entire ${DEV}? [Y/N]" + read YESNO + if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + cat <&2 +Check config.sh. The variable ERASEALL is ${ERASEALL}. + +Installation terminated. +HEREDOC + return + fi # if YES +fi # if erase all + +# ----- Set Passphrase ----- +# Input passphrase +echo "Type passphrase for the disk encryption." +read -sr PASSPHRASE +export PASSPHRASE + +echo "Type passphrase again, to confirm." +read -sr PASSPHRASE_C + +# Validate whether both are indentical or not +if [ ${PASSPHRASE} != ${PASSPHRASE_C} ] ; then + cat <&2 +***** ERROR : Passphrase doesn't match ***** +Installation terminated. +HEREDOC + return +fi # passphrase validation + + +# ----- Erase entire disk, create partitions, format them and encrypt the LUKS partition ----- +if [ ${ERASEALL} -eq 1 ] ; then + + # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. + if [ ${ISEFI} -eq 1 ] ; then + # Zap existing partition table and create new GPT + echo "...Initialize ${DEV} with GPT." + sgdisk --zap-all "${DEV}" + # Create EFI partition and format it + echo "...Create an EFI partition on ${DEV}." + sgdisk --new=${EFIPARTITION}:0:+${EFISIZE} --change-name=${EFIPARTITION}:"EFI System" --typecode=${EFIPARTITION}:ef00 "${DEV}" + echo "...Format the EFI parttion." + mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" + # Create Linux partition + echo "...Create a Linux partition on ${DEV}." + sgdisk --new=${CRYPTPARTITION}:0:0 --change-name=${CRYPTPARTITION}:"Linux LUKS" --typecode=${CRYPTPARTITION}:8309 "${DEV}" + # Then print them + sgdisk --print "${DEV}" + else + # Zap existing partition table + echo "...Erase partition table of ${DEV}." + dd if=/dev/zero of=${DEV} bs=512 count=1 + # Create MBR and allocate max storage for Linux partition + echo "...Create a Linux partition on ${DEV} with MBR." + sfdisk ${DEV} <&2 +***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on ${DEV}${CRYPTPARTITION}. ***** +Check passphrase and config.txt + +Installation terminated. +HEREDOC + return +fi # if crypt volume is unable to open + +# ----- Configure the LVM in LUKS volume ----- +# Check volume group ${VGNAME} exist or not +vgdisplay -s ${VGNAME} &> /dev/null +if [ $? -eq 0 ] ; then # is return value 0? ( exist ?) + echo "...Volume group ${VGNAME} already exist. Skipped to create. No problem." +else + echo "...Initialize a physical volume on \"${CRYPTPARTNAME}\"" + pvcreate /dev/mapper/${CRYPTPARTNAME} + echo "...And then create Volume group \"${VGNAME}\"." + vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} +fi # if /dev/volume-groupt not exist + +# Create a SWAP Logical Volume on VG, if it doesn't exist +if [ -e /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then + echo "...Swap volume already exist. Skipped to create. No problem." +else + echo "...Create logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." + lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} +fi # if /dev/mapper/swap volume already exit. + +# Create a ROOT Logical Volume on VG. +if [ -e /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then + cat <&2 +***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** +Check LVROOTNAME environment variable in config.txt. + +Installation terminated. +HEREDOC + return +else + echo "...Create logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." + lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} +fi # if the root volun already exist + +# ****************************** Para-install stage ****************************** + +# Start GUI installer +ubiquity & +# Store the PID of GUI installer +ubiquity_pid=$! + +# While the /etc/default/grub in the install target is NOT existing, +# Keep sleeping +while [ ! -e /target/etc/default/grub ] +do + sleep 1 # 1sec. +done + +# Perhaps, too neuvous. Wait 1 more sectond to avoid the rece condition. +sleep 1 # 1sec. + +# Make target GRUB aware to the crypt partition +echo "...Add GRUB_ENABLE_CRYPTODISK entry to /target/etc/default/grub " +echo "GRUB_ENABLE_CRYPTODISK=y" >> /target/etc/default/grub + +# Now, we just wait the end of installation by Ubiquity. +echo "...Waiting the for GUI installer finishes" +wait $ubiquity_pid +echo "...The return value of qubiquity is : " $? + + +# For surre ask the config.sh is edited +echo "Now, final stage. Do you continue? [Y/N]" +read YESNO +if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + cat <&2 + +Installation terminated. +HEREDOC + return +fi # if YES + +# ****************************** Post-install stage ****************************** + +# Varidate whether script is executed as sourced or not +(return 0 2>/dev/null) && sourced=1 || sourced=0 +if [ $sourced -eq 0 ] ; then + cat <&2 +***** ERROR : Must execute as source ***** +Execute as following : +source 3-post-install.sh + +Installation terminated. +HEREDOC + exit # use "exit" instead of "return", if not "sourced" execusion +fi # "sourced" validation + +## Mount the target file system +# /target is created by the Ubiquity installer +echo "...Mount /dev/mapper/${VGNAME}-${LVROOTNAME} on /target." +mount /dev/mapper/${VGNAME}-${LVROOTNAME} /target + +# And mount other directories +echo "...Mount all other dirs." +for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "/target/$n"; done + +# Change root and create the keyfile and ramfs image for Linux kernel. +echo "...Chroot to /target." +cat <> /etc/cryptsetup-initramfs/conf-hook +echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf + +# Prepare a key file to embed in to the ramfs. +echo "...Prepair key file." +mkdir /etc/luks +dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 status=none +chmod u=rx,go-rwx /etc/luks +chmod u=r,go-rwx /etc/luks/boot_os.keyfile + +# Add a key to the key file. Use the passphrase in the environment variable. +echo "...Add a key to the key file." +printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile + +# Add the LUKS volume information to /etc/crypttab to decrypt by kernel. +echo "...Add LUKS volume info to /etc/crypttab." +echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab + +# Finally, update the ramfs initial image with the key file. +echo "...Upadte initramfs." +update-initramfs -uk all + +# Leave chroot +exit +HEREDOC + +# Finishing message +cat <> /target/etc/default/grub -``` -![Installing](image/ubuntu_installing.png) - -## Click continue -As noted above, do not reboot. Click "Continue Testing". If you reboot at here, system will ask you the passphrase twice. - -![Installing](image/ubuntu_done.png) - -## Mount the target file system -After Ubiquity finish the installation, mount the target directories and chroot to that. -```bash -# /target is created by the Ubiquity installer -mount /dev/mapper/${VGNAME}-${LVROOTNAME} /target - -# And mount other directories -for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "/target/$n"; done - -# Change root -chroot /target /bin/bash -``` -## Add auto decryption to the target kernel -Now, we are at critical phase. To avoid system asks passphrase twice, -we have to embed the encryption key inside ramfs initial image. -This image with key is stored in the LUKS volume, so, it is in the safe storage. -GRUB decrypt this LUKS volume, upload the ramfs image to the RAM, -and pass it to the booted Linux kernel as memory pointer. - -As a result, GRUB can pass the encryption key to Linux kernel as safe way. -```bash -# Mount the rest of partitions by target /etc/fstab -mount -a - -# Set up the kernel hook of encryption -apt install -y cryptsetup-initramfs -echo "KEYFILE_PATTERN=/etc/luks/*.keyfile" >> /etc/cryptsetup-initramfs/conf-hook -echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf - -# Prepare a key file to embed in to the ramfs. -mkdir /etc/luks -dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 -chmod u=rx,go-rwx /etc/luks -chmod u=r,go-rwx /etc/luks/boot_os.keyfile - -# Add a key to the key file. Use the passphrase in the environment variable. -printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile - -# Add the LUKS volume information to /etc/crypttab to decrypt by kernel. -echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab - -# Finally, update the ramfs initial image with the key file. -update-initramfs -uk all -``` -## Finishing installation -Done!! - -You can reboot. Linux and GRUB are installed in a encrypted storage. The system will ask you the passphrase only once when GRUB starts. -```bash -exit -reboot -``` - -# Acknowledgments -These scripts are based on the script shared on the [myn's diary](https://myn.hatenablog.jp/entry/install-ubuntu-focal-with-lvm-on-luks). That page contains rich information, hint and techniques around the encrypted volume and Ubiquity installer. \ No newline at end of file From a4d166155ededc1fff62aaa507819b3480b203fc Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 30 Jun 2021 20:55:32 +0900 Subject: [PATCH 059/242] Integrate to one script --- script/{yafde-ubuntu.sh => ubuntu-bento.sh} | 88 +++++++++++++++------ 1 file changed, 65 insertions(+), 23 deletions(-) rename script/{yafde-ubuntu.sh => ubuntu-bento.sh} (75%) diff --git a/script/yafde-ubuntu.sh b/script/ubuntu-bento.sh similarity index 75% rename from script/yafde-ubuntu.sh rename to script/ubuntu-bento.sh index 14fc373..5c1df42 100644 --- a/script/yafde-ubuntu.sh +++ b/script/ubuntu-bento.sh @@ -16,14 +16,17 @@ fi # "sourced" validation # Load configuration parameter source config.sh -# ----- Confirmations ----- +# ******************************************************************************* +# Confirmation and Passphrase setting +# ******************************************************************************* + # Distribution check uname -a | grep ubuntu -i > /dev/null if [ $? -eq 1 ] ; then # "Ubuntu" is not found in the OS name. - echo "*********************************************************************************" + echo "*******************************************************************************" uname -a cat < /dev/null # ps return 0 if process exists. + if [ $? -ne 0 ] ; then # If not exists + cat <&2 +The ubiquity installer terminated unexpectedly. + +Installation process terminated. +HEREDOC + return + + fi done # Perhaps, too neuvous. Wait 1 more sectond to avoid the rece condition. sleep 1 # 1sec. # Make target GRUB aware to the crypt partition +# This must do it after start of the file copy by ubiquity, but before the end of the file copy. echo "...Add GRUB_ENABLE_CRYPTODISK entry to /target/etc/default/grub " echo "GRUB_ENABLE_CRYPTODISK=y" >> /target/etc/default/grub -# Now, we just wait the end of installation by Ubiquity. -echo "...Waiting the for GUI installer finishes" + +# And then, wait for the end of Ubiquity process +echo "...Waiting the end of Ubiquity installer." wait $ubiquity_pid -echo "...The return value of qubiquity is : " $? - -# For surre ask the config.sh is edited -echo "Now, final stage. Do you continue? [Y/N]" -read YESNO -if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then - cat <&2 - -Installation terminated. -HEREDOC - return -fi # if YES - -# ****************************** Post-install stage ****************************** +# ******************************************************************************* +# Post-install stage +# ******************************************************************************* # Varidate whether script is executed as sourced or not (return 0 2>/dev/null) && sourced=1 || sourced=0 From 01ebf11766c93f2a33d5457d2920574b7ffb7f93 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 30 Jun 2021 21:17:07 +0900 Subject: [PATCH 060/242] change name --- script/config.sh | 2 +- script/{ubuntu-bento.sh => ubuntu-kaiten-yaki.sh} | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) rename script/{ubuntu-bento.sh => ubuntu-kaiten-yaki.sh} (98%) diff --git a/script/config.sh b/script/config.sh index f73772f..6158ae9 100644 --- a/script/config.sh +++ b/script/config.sh @@ -9,7 +9,7 @@ export DEV="/dev/sda" export ERASEALL=1 # Logical Volume name for your Linux installation. Keep it unique from other distribution. -export LVROOTNAME="ubuntu" +export LVROOTNAME="anko" # Logical volume size of the Linux installation. # 30% mean, new logical volume will use 30% of the free space in the LVM volume group. diff --git a/script/ubuntu-bento.sh b/script/ubuntu-kaiten-yaki.sh similarity index 98% rename from script/ubuntu-bento.sh rename to script/ubuntu-kaiten-yaki.sh index 5c1df42..1441906 100644 --- a/script/ubuntu-bento.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -42,7 +42,7 @@ HEREDOC fi # "Ubuntu" is not found in the OS name. # For surre ask the config.sh is edited -echo "Did you edit config.sys? Are you ready to install? [Y/N]" +echo "Are you ready to install? The destination logical volume label is \"${LVROOTNAME}\" [Y/N]" read YESNO if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then cat <&2 @@ -195,7 +195,7 @@ Host Volume | Target Directory | Comment /dev/mapper/vg1-ubuntu | / | Host volume name is up to your | | configuration parameter. /dev/mapper/swap | swap | Only the first distribution - | | installation requires this mapping. + | | installation requires this mapping. ************************ CAUTION! CAUTION! CAUTION! **************************** From a8dd34d2221671bbf84c70de197b16138a0dbcaa Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 30 Jun 2021 21:33:41 +0900 Subject: [PATCH 061/242] Adjust the blank line of pre-install complete msg. --- script/ubuntu-kaiten-yaki.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 1441906..12296ba 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -180,7 +180,6 @@ fi # if the root volun already exist # ******************************************************************************* cat < Date: Wed, 30 Jun 2021 23:03:30 +0900 Subject: [PATCH 062/242] Added void unified script --- README.md | 17 +- archive/INSTALL-ubuntu.md | 113 ------------- image/i-like-kaiten-yaki.jpg | Bin 0 -> 28382 bytes image/ubuntu_installing.png | Bin 337576 -> 0 bytes image/void_done.png | Bin 0 -> 24423 bytes image/void_partitioning.png | Bin 0 -> 49246 bytes script/INSTALL.md | 123 ++++++++++++++ script/config.sh | 2 +- script/ubuntu-kaiten-yaki.sh | 27 ++-- script/void-kaiten-yaki.sh | 304 +++++++++++++++++++++++++++++++++++ 10 files changed, 450 insertions(+), 136 deletions(-) delete mode 100644 archive/INSTALL-ubuntu.md create mode 100755 image/i-like-kaiten-yaki.jpg delete mode 100755 image/ubuntu_installing.png create mode 100755 image/void_done.png create mode 100755 image/void_partitioning.png create mode 100644 script/INSTALL.md create mode 100644 script/void-kaiten-yaki.sh diff --git a/README.md b/README.md index ce3a9cd..52997b1 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Yet another Full Disk Encryption for GRUB/Linux +# Kaiten-yaki : Yet another Full Disk Encryption for GRUB/Linux Helpful scripts of the full disk encryption for the Linux distribution This is a script correction to help the installation of Linux distribution with the full disc encryption. Followings are the list of functionality. @@ -26,12 +26,21 @@ These scripts are tested with following environment. - VMWare Workstation 15.5.7 ( EFI/BIOS ) - Ubuntu 20.04.2 amd64 desktop - Ubuntu Mate 20.04.2 amd64 desktop +- void-live-x86_64-20210218-mate.iso +- void-live-x86_64-musl-20210218-mate.iso # Preparation -Stat the PC with the LiveCD/LiveUSB of the distribution to install. Download this repository from github, and expand it. +Start the PC with the LiveCD/LiveUSB of the distribution to install. Download this repository from github, and expand it. # Installation -- Ubuntu : Go to the ubuntu sub-directory and follow the procedure in the [INSTALL-ubuntu.md](INSTALL-ubuntu.md) +Go to script directory and follow the procedure in the [INSTALL.md](INSTALL.md) + +# Known issues +If you install two ore more Void Linux in to the EFI system, only the last one can boot without trouble. This is not the problem of Kaiten-yaki. # Acknowledgments -These scripts are based on the script shared on the [myn's diary](https://myn.hatenablog.jp/entry/install-ubuntu-focal-with-lvm-on-luks). That page contains rich information, hint and techniques around the encrypted volume and Ubiquity installer. \ No newline at end of file +These scripts are based on the script shared on the [myn's diary](https://myn.hatenablog.jp/entry/install-ubuntu-focal-with-lvm-on-luks). That page contains rich information, hint and techniques around the encrypted volume and Ubiquity installer. + +# Kaiten-yaki +![](image/i-like-kaiten-yaki.jpg) + diff --git a/archive/INSTALL-ubuntu.md b/archive/INSTALL-ubuntu.md deleted file mode 100644 index 187da7e..0000000 --- a/archive/INSTALL-ubuntu.md +++ /dev/null @@ -1,113 +0,0 @@ -# Ubuntu 20.04LTS installation into the LVM on the LUKS volume - -Installation requires 3 scripts. - -- 1-pre-install.sh -- 2-para-install.sh -- 3-post-install.sh - -Each script have to be executed as sourced style. For example : -```shell -source 1-pre-install.sh -``` -If you execute these script as independent command style, it will show an error message and terminate immediately. - -The first step has parameter configuration, erasing disk, format partition, and encryption. This is most critical stage of the entire installation. You have to finish this stage before invoking Ubiquity installer. - -The timing of the 2nd step is little bit difficult. You have to execute this script after the Ubiquity installer starts to copy the file, and before the Ubiquity installer finishes. - -The third stage is easy. There is nothing user can do. Everything is automatic. -# Preparation - -# Installation -Follow the steps below. - -## Configuration parameters -This is very critical part of the installation. The configuration parameters are located in the top of the 1-pre-install.sh. Edit these parameter before installation. Following is a set of the default parameters for the configuration of : -- Install to **/dev/sda** (DEV). -- Erase entire disk (ERASEALL). -- In case of EFI firmware, 100MB is allocated to the EFI partition (EFISIZE). -- Create a logical volume group named "vg1" in the encrypted volume (VGNAME) -- Create a swap logical volume named "swap" in the "vg1". The size is 8GB (LVSWAPNAME,LVSWAPSIZE) -- Create a logical volume named **"ubuntu"** for / in the "vg1". The size of the **50%** of the entire free space (LVROOTNAME, LVROOTSIZE). - -```bash -# Storage device to install the linux. -export DEV="/dev/sda" - -# Whether you want to erase all contents of the storage device or not. -# 1 : Yes, I want to erase all. -# 0 : No, I don't. I want to add to the existing LUKS volume. -export ERASEALL=1 - -# Logical Volume name for your Linux installation. Keep it unique from other distribution. -export LVROOTNAME="ubuntu" - -# Logical volume size of the Linux installation. -# 30% mean, new logical volume will use 30% of the free space in the LVM volume group. -# For example, assume the free space is 100GB, and LVROOTSIZE is 30%FREE. Script will create 30GB logical volume. -export LVROOTSIZE="50%FREE" - -# Set the size of EFI partition and swap partition. The unit is Byte. you can use M,G... notation. -export EFISIZE="100M" -export LVSWAPSIZE="8G" - -# Usually, these names can be left untouched. -# If you change, keep them consistent through all instllation in your system. -export CRYPTPARTNAME="luks_volume" -export VGNAME="vg1" -export LVSWAPNAME="swap" -``` - -There are several restrictions : -- For the first distribution installation, you must set ERASEALL to 1, to erase entire screen and create a LUKS partition. YaFDE script create a maximum LUKS partition as possible. -- The LVROOMNAME must be unique among all installation in a computer. Otherwise, the installer terminate at a middle. -- The LVSWAPNAME must be unique among all installation in a computer. Otherwise, the installer create an unnecessary logical volume. This is waste of storage resource. -- The EFISIZE and the LVSWAPSIZE are refereed during the first distribution installation. -- The LVROOTSIZE is the size of a logical volume to create. This is a relative value to the existing free space in the volume group. If you want to install 3 distributions in a computer, you may want to set 33%FREE, 50%FREE, and 100%FREE for the first, second, and third distribution installation, respectively. -## Preparation of shell window -First of all, promote the shell to root. Almost of the procedure requires root privilege. Not that the scripts requires Bash. -```bash -# Promote to the root user -sudo -i -``` -## The first script -After you set the configuration parameters correctly, execute the following command from the shell. Again, you have to be promoted as root user, and you have to use Bash. -```bash -source 1-pre-install.sh -``` -After the several interactive confirmation, script will as you input the passphrase. This passphrase will be applied to the encryption of the LUKS volume. Make sure you use identical passphrase between all distribution installation in a computer. Otherwise, install process terminates with error. - -## Run the Ubiquity installer -After the first script finishes, open the Ubiquity installer, configure and run it. Ensure you map the followings correctly. -Host Volume | Target Directory | Comment ------------------------|------------------|--------------------------------------------------------------- -/dev/sda1 | /boot/efi | BIOS system doesn't need this mapping -/dev/mapper/vg1-ubuntu | / | Host volume name is up to your configuration parameter. -/dev/mapper/swap | swap | Only the first distribution installation requires this mapping. - -C A U T I O N : After the Ubiquity installer starts the file copy, execute 2nd step script quickly before the installer finishes. - -![Partitioning](../image/ubuntu_partitioning.png) - -## The second script -Run the following script on the shell window, during the Ubiquity runs. Otherwise, Ubiquity fails at the end of installation. If you run this script too early, it terminates with error message. This is safe. Run it again later ( but before Ubiquity finish). - -C A U T I O N : Do not reboot at the end of Ubiquity installation. Click "continue". - -```bash -source 2-para-install.sh -``` -![Installing](../image/ubuntu_installing.png) - -## Click continue -As explained above, do not reboot. Click "Continue Testing". If you reboot at here, system will ask you the passphrase twice. - -![Installing](../image/ubuntu_done.png) - -## The third script -After Ubiquity finish the installation, run the 3rd script. This is fully automatic. There is nothing you have to do. -```bash -source post-install.sh -``` -You can reboot after the script finishes. diff --git a/image/i-like-kaiten-yaki.jpg b/image/i-like-kaiten-yaki.jpg new file mode 100755 index 0000000000000000000000000000000000000000..a3db0f668ec4a6a69cf13c7aeba728da5207d11e GIT binary patch literal 28382 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%0AtH zzkPY9GLwc@w#^bso3w9A^E zQNoU5G55WwXpJPcPL+Cz`^ZMyRVK#9mA$b^eX-Of$&*L%8TQFUb_+(+v99f`&%P+|`=Ivu*)J!E2u`V>-QA zBMV^kN^%oKlQYQs*q#`U3A!h+_iO4B=!5KT^8ki>>-bH^2?at(Kc&l%!(+^^v-#B7 zuh)${DsGr*DetQ=BTS#tHdW}$@q|V&Jw}CiQh>gPq?uP&Vvq0lt5Qaf=ARXyDEPWZ ztZ!%U!#ccNRv<+%e*FPCfCM+1Y z0uiU1e{pNCSlhmWII%%njks%DTWr#4@T1viptP%H8Q9sU z;FbAd<`&Ax7d5~v8T!~$S$KhV(tCJZn!#H{dW(jS9Y&t%z8xM@zJ)1s3tF&QqJbk$ zVR(`P34hkOOzw{H>#xOIKWxozJ2F?tgH}e5&f9=LRd;Z{%;H_RobKhDXkh8p!AV3u zAy*GI6M9wVAv&nkGsE(?n^u35Kva_^BCUx@QB_UfUvU-PBye&L2$^rBX_og5n-MU8 zlUkMe6vL{lR`ObbN{`iHTetbowG=7X=}jH6beU)qmz6e|1S)@we48c&HbL|2AY(j367$C&D`^*5_rycBL1DztdPfj&Cst)d2S^a3qlN~plX%D8oI zE$Hv3-1`ZYGB9!QglX?LGOT1U3mf_+e@G5Xu0uXsT#WvDa%ti_$>g&8d9?`lYwwtI zR710zhN~a~a-;34gm*vuz+1&2R=HJW>T- zI38||?s$gPjs_V-$huin3Ra!1A?QghCh}rq*UXweF!Nfltzf&`#lZi#`=cCD?ow}r zwntTDKH?O1vfsNjTFH5Xff3EgI|H@|n}V-G+iXypT~dkpg_E1~@PTd|OG8OjJ;}g> zyWelM6Im3dl`Oil;5b^HP;R6bV5ab=V52Ku$kkpuMB^+(_!=@=`>+f}jzlLVU3-GMi+Wlf}p`Y(IrM_uw5+|2Lc2MLTW4 zAk4bgz7<n`zLr??m9KE=zlFI!yEeC1LXAM>p4Mh^51IG<9C)7U>Ms29);#$; z@*wk_45!Qm+Vu}{l4i8vaT{+X*Ac`jh*S|{CtLkFC=>EFUH&tOYI!x?#U9Rq zJ)T<)%k&Nxj>o;+`lz*DM>97MTy=yBdr$NX;=NZ#1{=@MSdsgLOh2o-G1FYO@42e( zAj4-qwbX0vC3D=}T`IS{?)>@MAE;nH2m4X##ui`WH2mz1LjF>Bi*xQ~S8WLF;E0X* zmw5`4)mo`jjQ(rw{Bvi51LNNL?o*PoYe~5@=iVoJ(nI-TjLoQ99}6Q&Kj5+XNuoSq zIQ&w%Rr_ZXB`H% zk`?VmyR#*XMN`17CY<3xylrzw*Mc%S_jyqj{49u>p+f@$9lVL^NJq<|Exyv9GX;`@ zCM;ygU^BqWs+fiy_2Z~0#!C<)?sBt-rH1mcx$@FwB8lp)p(0Z#7%@CBaB*Dsc5Syw z#fimbzaJuJwb+yeX6TBKX?!4r@-r-5T2)l~WMUY1Iw2D!wAm=Scg+7^u|3~0|HaaG zS_KzLJg{&Rc1sB}BaH>8Z382>OEWcqiMJ2ji#6OHLeoG^l zc7JSIFQEQOn%mcS=&Z>%aVpnTR{sin13AXdR(@F>g1v&R_@MUVILSHa<@ln6g~hi( z8AFQ}?ARhav_e{FzrCRhgw&2!Cp}-|V7ff8Ch$B7+tf|x;#yH=yHa(ZuX3c@ACtq( z8klYnOEQtd#3=y}6=FS00K=0o(T&`~m*Pd-3$^DFWy0?$OGrbV!p-k4nVNd4&7}cTThH52_y;Hrd}7z`P;@T~UeC zYO`xqaJ!J)+!65O<$bgYSaI$LXW}y-M*U%N5pkPA(%kawr#25mIPf;9Ij*oN@omle z>x$7EOiyxgUS#tZ?XPN7-a>L$eWqP7JW`$V@!JjZ!{*yeF~yhsGNzS%hZExXhp&`g z5hZaEsXL`>x)r}@<)eX*;$Gaf70Tj?sa%TTT2juEC}q0oD>5%wT3#?~dOfP6`87T$ zxT@3u36RytZJIj(`P$ldKO59@UWu>O=f52*njhqa#Z+68Q=1lUy){2{R&nI{C?wW6 z>L1@hPYH#n8C#twLRYY@H%LJnywD-zR)ORUa`e%Pos(?aZxdLTArTHZetJA%jEFh= z0(V49#&f1ClI{oWrb5@jtx7G>F@A!e+mRMBzu>-xn%NEvXqMjk`8%+WQOsIQA_zWnXiBfH!k1@u_ZJ>4m+NaBeK~%j`_K{#dn) zBN4P7OO#t^QoK5fgEV{<(p$YhUCrR*rrplHMZ~4$SX3Q6uc}K&K zpKjNS@mG5X{<2Gaggn3pp<7y;p5aI8f=e+tj@h*sMi07QFGWz5Gz&9!Zuz*tRnKi6 z(XyL$Dddl~+Zy$p_;%9{icjELPwl^^S^iQDN{a8II2gg1xq~_?0@+#WzGCYg(X&T~ z4+Lt%cK-wt+em5{h) z%7@f~{Zuds!*yFcK1-_AB;dJ~jM-n!s=4`;yECi&mfg-6dmT(izUG}LDnB7^)Z+>S zW9##`{)ZTuH3i1ldeA!~bDd@Em#Kdq|BdIY|9Zx#bO&mqoBp$rL%<@v;$NyLdKZ29 zQ!vI#eKn)fEav=x$aL))*>I=f*@QRKk`4Fi<)$XC+){Ab%12Evm4?9o4!i2}T4SYL zR9YI8jz^;D1)-ipM}|M^_D~P9wqo5Ht!~x!^c^fIt+9u+yaT<^zWRv0J!9r(pvL*L zT={fV?KNI+^z4;^+Xt23x29#7oHvI~zjx!f-CZ|p)6gf(HOKr4KX(qPhhF_~+Pm`0 zqoxM$s%?4#qS@m5Uu!9L@jbv+%kcNFN2(2+Us(-V_BuX_v^lp~dq&jWatrI>Q~2+o zUEh?IUUg?r_m2Qx?5ztQ%C2_s=N+mj|Cb%Eg*O~kD_4<*i&NO>ZI!3jD0IDhrB|@S z)ju+nG|jmM_&Ck*wRWK$P$2z-i>~hBD?rd)TznSW=fGRZf$>kIjRw;95z=?c0Q;eJ z&f+7lh=p`hkD7~{d^cDBa(VW*e{gq3!`Tx~o)XTnTt#HsR8)!BX*CmX+_R#KVd22w z@tDiq@{TXA66)MK?SQC{f?P2S3xW{p(*lRT3g71&2~)dmOE$dIo*Wz004R<(i%%Wz z{*Lc-m=oQqK?D$p*_v2Dww4&(eP|gY+Q~ft|IoA&E)z2%GbzOaCl?W24=ryMk>1;U zW9XFV{`bvd7pi~7!)8mq5eVF*tcs!$wJ>3Q-^EBmbI`s4nLI$RqlG=m7W4=Op;e>* zn-O8bm93&pLSV^mtd6-Z9M7ye5t(R;E2vlJk?t1Hh zcj>%Vj+|VIq`&WG&H%h{+BbLCtcD-_x@;V`tfkrPkZw|AEBzM#5wcx6?=a7Vgx24MQfYx1Wev%68P;XazgQliTM+&-f< zV(Y>H>Q5<5175Q*S9fyeU|MX|%OOt&+|bo{y0>}Lwrlyo`7=Q~oE92~Z$zCv=>9z{ zR&MdN5m|o>k#K1KVQt~sz|AUoa3XgY4ad;XVcvm{_^7KObVl~3YS6(^#_l*K=B4k3 z?~A|AAmzH`fRf6=@IR4e*x3DfgKG^f^~x+x9L)kD4`&NnKoEs8XrKa}y15S#G}U;K6O z9(7r^S#!~;YsoTlSCDY_br=kxmIav|4ppkvvE!Mk;uBnnCIF%M_J^`@VQQKG?aZ2pr@t7ePWm0 z(iK^zVH=?x>@xP*?xOm(*>k=wt@@$1-BnIuM`Om!G4SM{Y@ouEf8{lCk)=Zas7-b; zm3R%vix}e(`>#~Nqd0~cWw{#V%hb({uF5>Tqkt6XZB2*kRstEBv5I9H9Jxos&^H>T%DLC&i%{BGB1QU3Mu^{gSh4f5ci+ z(9^axwch@F zA1Tg#>dNMby9YQFvZW`;BhU}jFu3lUX`)MEGR?O+Sk+UOXD{+1oNjDZ!t66!&($AR zJad_>|FL9`qjcP#urse&pd?qgPTr3w8h>=WkUybvxD>YQmK7H1mKr8;f81$2n(&R8 z4cdbaH;FuX)I3*|K}+dnvF}n~{7&GG8J7C1?V^gW2di+ZOGn`Xp>wE5%bB$1x_XR= zw>@8P;3dAKxotrBwz(`)dG!~S7OI#KUkWXkURa4q+GRqx1MH0bmegKe>zA+I6Yh>_ z8md)VEep03386Ote~_5sXE;pF29Avi@rlP#Na}9;87lQ_UyR?^%ZqS!){NZk0`Y6yJvbV=wlzqlu7F=Z17X75NUsQ`~2Nft*SW4 zWZARS$dLP14ZKXAUPG_*gWI*#s9niwYUO!Ano+w$$b;8eY7}9v0ft|0lMJv>j~n;O zZ*fk#JF6tw+z~OJ6|4atji}I?w;~Myko}rKq(F`lR`CAjT0bKD*jCybzAa=^n@3-K2;WTIQj!}=;~WnO+%3`>9_)5K z_*S>F<0U&u(wgq|jVIXms){Q7lyX|znCh$w`gXr3=C0O#*}i)=8V+QwTy?qi(i2N_ znBY!8+ldz&A)9Cx6KONgumxx|0CRG}c5QG0xgYLd-6ao^BSg=~j(;fL`q;-x_}+7; z25%o~a*_)`3zLrTBai4YgvqUJUS;@cMathIN}d?uGa&m030!ZqewtE%K2JMUfNziK zLUzz@7z*j(0ZtTio>qd`%BEV(6jHGI`9%noy@zEC4%^?syB&4rfe_}LE#20bmVpO& zk}dwYNa~$2wsS(K1?)kOuO#(RrdLf0sw*?;;+L>2;OX98OMtS2>t-=yG<{Ea3Agp_ zZ_Mt@;#h5(`slBn28vE$%ntR(PQyH7GHUPJv%p98SH@4S?p1G#f}=+)sli7>XctJb z`qnS}Gn0^Xk<%z){Q1M|-|MA4stZk7s&1{?lIx`zAy&JS-NK4sUE7I7LoPMrb5JzU4>9xZq1_7JG6&fOH#Fzg^J}EmMdrvl9@iAOC zE_t^@?|LBkPs4hG7v%x=FnT$Fht+{D%uB!PaEWT}E4aE-!P;40+!MUrUg!3Ejn4xW zs!-Y(U3b;QXXeyIbeIoh*e+Oqq~;5F!4o(}{n@O^Q0!zHr7V!<8g<@u~pQ}Hu-a{(e#AmS!7rs|6NU9d- zHmPRs!9jSVvF3qGq{E;rpG-pwBMI!E!LjCmL%1XADNvMZ*z@Fgcb`>?Cz_G-F|b^r zsXpkHzi-LXYnM)6nmK7{*3XfFd;l~C%*WD9;ZTT+*4lc)Y}iU*Zg~SoS9LYTB51f! z>2UGRBPQ9c39w!|&Cz)?!0Xj*jn1E!(3~EvDAM#??8%EMKBwh{9YOA^pX9?Y950XZ z5m|0ICEs@i-w>2|+(Z6~_rldhD$~SoVK-AclAC%{%5&-vlkw(9JtohC#61*B*|hk9 zm|yM26bS%CdTMsZm`B{vh;?xIQ}6uwVbKp`q;dV#Kkk0*u`TT#-+)uE0-xe@7PBH6 zmTs2XJXUUp+_&mwFrG|QA^BOb_XFSGuU`qt(zZvQRy&*Ud=_`gJcm?^kB~D+j&tJq z!tkwJZKOQGfbX2aVi8Z7c9zm`x}<#;{MW5?N4S)TMhxTLH4iCe?Nr6CSYx;`RN zs0hQOv&qKmB4-htd3^+HAu~R)saQT%!$3ZoAfYp!F{0@@TO5W3ePP|at~YoE{2ZKX z$FzXnttzoRw_tBNv1~hg{jo|q^<76ENDD=gEGL3Wy zH>Z%(m-u=I#-JY<&dvG+kRIV~5= zX_((1^^Dh5fcFE?r4gkPO&TF=#TX#?;YXpqBaQyV_R6i;%qHF}c?8PNPBOLHtm#kG zA+owQf|)g8KpAwSxfCR)grs+Iwy+WClh&`M_tzx6Dhz}A41-Q8ZA9=Q3N61|pU?$% zN!Msl>8#9BdEYNz;RVX*_fhSSW6;FID73%ZtfAWDvq|Ewi166!xaL;SN#)OI_XSWyTw&`_I#^#nMKd`6;$B0PjCMDo{EKVQl zw-=*2pzW_QQ1IbPlDAAVMGz%se4Bb33qXYDE}*JMJ%lfQA82b3?bA z`$M%(g}HR4*{u8CyDnE&F>f`jfxd#4g?te@VZhe0r^cOc?a959%ZwVb3tns%vd)EK z%1yE2$=-2M=E8YO&aVst61q-SiY^(7>WpmHLWo1t+p_G)(bs{sFS^g;+bdt#l!1Gf zL3x#LVj9HWn2r) zdnP8knqGezjjtZfHt)tFg7tGsrG(OZs?}FkHp#?0W39g@6$Z>wp(T^*F%UuWhWUB5 zDGTaDFM3%7xN{{b4rx&83GH>{i6Q#M}t&WI(9NpFSYy4u+Trd%zZ3 zsNlIuG$9!!IfY+rJ?LzodUtd&SXSY2nB&O}dB(8D1GUNC${(bO;}%yxBn=KpF5B(>xw@{+>TjT*TmPIMl z=>Wr6DDbFME&uRc9?DADnbd%gl=*K>Z8hpT%bBrl%&QZ#B9SqE45bnLv+lmmfy=?= zi*$92T0A%`fPRQO>QS96+uQ3LJYhu>s%yig4yHtF{AZSA;R~t03p?tN-y9c;uP0f% zcmrTn>iJFnF}M|G#?AxU`c2+}@6kG&2%2=gCWqvB{z01%gw5rq8}JnF^0u1GYyZiq zHzWG(t3-mBk_h(Q~W_9qSs1iPqX5utCoZ>;+hm!JYF*|l?Z4taa zGU4c_hes)%ZPw)vviB^vKkZle*=yJAtf&)ONFt~Yr4t%86G4YKUy_u~@SGtT7mY=0 zU^V|Rtn1^6%%_*5u}`>HA}}Wsud67G4!4muE7Uo<958J(5oY%HguPu zNc$}FmBV!p>$2rMa(VxcDRe|@#;xS(z1J`7e)vHj7JGCeWMS4dgV7BxqVVOA&q{Q|yA8r)$p+$(mbfs}nG{Rv@E6x7qXUm5OOS zr54xG=Ce#T#sX0NZovDH2BdxiD?Tq}_Bs=1jDx1;FN(@I$c8%1fJ3BEBcR+7vx+ql zeF%S#@JQ)|v^pRW6ZCB}sLj82c{G5sQErlcbM_U!q&;IM{S{e@e_2MGMr3kE^CS!&buIWmb1|Y!r=0ILBUc~G1susVn@Rw^ zTxwkYO+4(0c)xm&ERPfSz1q6Zk=AC{ovYb%oBS*_ZaY85QDQ~PYUC-_{FX`0b|Y^4 z{MbN(qi6Ey551S$Pu@B^h71Il7We_TdY{P0WnL*%9Skph358H_z0GY!o#sVV<3Y#z zumbGw0*|S|12aa4=3=tTQH79AxKi8k97_!7javE&B~606=z^a4_s~D=o;zJiWZ7@p zaon++-4PQnvV;KxoVF9c5Y$%*d!p6Czx2^^EmDI|sE=I`mV-;s^3|SDN@wNvvs#zm zQjY(sS-`=F>7!!dm!_A%gx6F3GXVkywjMDcn2ju$_qaZS)n}FScav=$hV$Gu`M2{% zbblYDJt5&TrRTNlrtfCf)=#J`%J(dfC9Bw+ZNC#>lLxaJiF&bmesxv?^K>i&@{`b` z^8CU1H=kK`{(Tfpg@d(ueYSr`;&y+3QE4*PWiP%_<#KYREI;vi5p_peLB&}Vm2>A8 zhhZRBBWD%jPfyq=$wu6B)!`_ui6E!^CY#6NXZTaa8)I;)9ET1!d}#G=X^o6AUS8nl zBy+&?9r6Co-8-(Jd+}Kfw2N03^Gwc9lON#9689tAo2VHCj8oC;UI*p{2Ks z@7`4y1r_jzaGL=SV8$%6yPwW$-DTlXu`r=Q&&^u&>oCLGT_cn@={7%a0%$TEF2P4f zj)#JIAJPHtX=0Xfki5&M?n4R#ca>LViu6`iuy=+xY737@xW*?<6k<Dj2LA z@*mKk>67trxJ;0dVlc*6#3@%FyCZh3jgyX^Qil7*H=a9oj#F~@yIa`%897g2n&K6F zWY5;itFt--vDOghj7T=V^LdUb&d@fzPowpIxXkXhqbJTd6L=@M^?v|xK##wZrGqz# zuqjz0`@CjRbI@(0E%?Bf1bO?)ByaB|qNdM^FezkFmHfH#b{8I5S7ADIr z`y;*h=aD2FeZX_Zyoa4W=gWb-v1O(D2;Ibk_;Y7{g~pTL`!1cdfxaRZe7Z7)HfVf7 zdrA7-4q4_~1HB`>Zc<4!;=%VHrV=}qrNZNgPp<3-{z|vwC!L&QY3oAK7K+B}8%45h ze<@fzd{V$8FX*Se{`FfLC;j7WD?cGwHX+!K zwivH0bbNtws&v{f#=GJ{?C1j?Y2i&rTy$`Een3rGDd8oOTdJ`^f3R5@FWGTDTg4u~ z`(A8*{lCZY$KENOIyovj{rFydV2ty=_<8cG`pjEdWJXr=P7sfz(Fcs*`QoQ7%%$<_ z3x4gC@tbesVd)9UbK%6N2l<6pbP;d#E!A;8zY#!NRrf|(r4?!ech2$-5ufQ~Op#wM zEIu|dMK96QSXnB$WvY)T=6o{7BSgfUFC_D**CNSy>|zhP3Z}awSzd8>_(l zrX(%>OBI+m@O4dXo}@vuolZyEdq+5pgN!}I@=|L@P(~C*hcZJ$RuPXkJ!s{ zjTh?j;%GG19t6O#h0`+PBRd|r(U*o+RxV~fQJV&@hLf7Esgy zmW76#3NA`8OC3;n3@Y0z#RXa3ea>52h(}-daA+Uy4La*CFSMYC8(9IxRkXJtB072Q ze6BXs{GLeKPKk`iD$?|m>9j?8hb@E7$<^XCIk#s0;jt2+7qrRYt~-zAwlPa3Z1mUC zh6tQ7Mbs6SRj7nQ^L$e|H~du~OL+lb;%uzI71bJKw!`f#ePOh!7N^_+ros?DDba3KRZGt5V0-TLC2vZG>41>g8w8bi0w)}}u@~?lXNY~?21*j{8;CH%;0VQgngc9 zcm#u2N3m(gAHJB_Cme60p+ATPiOn{uu*2rjZADJVWs>FBcIj7c1aLQ*xaiy_PBxI; zj$v+&z@%;CF^Olh zX$fD}&etAx`{IZ`Um+Tcffs(!d)7ND4ms_Rc=EIFjq`6>8LP_=F3@rer*bX^kX@#z z;&aGnzCguzz&7z7(3t2`jea7&Y~Hy%Wo*(8_m^_!0keRO@C5OU6WyP}2+|zBYNIcI z`A!03i3<^ajEFWmrUIgx7ZI8#sxfL9JJ?3kILY*@)T@i+6}nKR&j!WEoa-AI@kIsm z+;a4Vbh|B<&2dUoJ$8kszqoVCIC4^ZJ3k~vmi35>1>@wmL``eKTs|5teIEJZ&BYjw zh4wRC!)ehAD z;@}%6l%zak!{^S!vHnEv{K5lh6RoB^>0e<@pK}kOylJyQMb3W{wL|AMv%DFmM+EDN%JM}XbS5& zG4B(dM`hU5leo#&gJMIDrwZs_G}Ik0=|YdY@m8M{rE+m6S^5dQ&6YU9V%|dFqHxAQ zm%sZ~M-C1@t3`jIKSls+i3Vufrjs&mK(?AZAvfn~D>bTKgQWjl?})8*Tc~PCejsaz zP(n6wO$b3zHmO72OfI?aO{Jb>RXc5|q+-)T;$aHF1xwZ&*9$S#5xbFibg|C;YO38t zi^m$wl`kRNnS5?P@;Z9D!G7u{+<9*W3}yy{gY6(_`0QC-Y!p!61?uFha%`(`+2&ME zdS`R9foUtXSK2?oW#k*6NXm;1S(C16%>max{%|U*cf@T|dG`n>_;PpKJV<7Z6Mv7~ z?H;FXLARDE_#{jVn6k7EKmv=lA>aHQlVq_@r?81+LS>znGv$#%}gyW2@J#O)vV0 z0x`CKI?|8CKSq016Gd{Ug2uDt)d##uzlN=kQd)qQZ8H}S8F7G;FY087MHpH4llbrz zy+dnk8MF4E5)YkmO)S#DnWphSiBE;RQABS7qixt*@9Y6$Ju05+9e&U%T9Yvco9zW0 zcb%~EGli7tm1AA9>G(3vsxcMNge|v`aiBObmuLn46H~@M5%KaZ`C<9vUmSJ3s};0M z%5lkPQ9_0oBn`hXE{-x*kj-A_`xrSRNOg=MkDj!W06lR);)w-g(`BVqWfEi^K8j^? zlDq)CDbwOs)uB4^gUY<_q`UK59hn1FKJmmA@JeYTM1&1Sj)R0k^IA~lRb`y}VxrZV z5mY?6Xz-el5w^H*4<8y^tuQmYcHC|)!X@~WvjJM)9e626wiw&Dr92k?f zT|EVor;%yOrJXcGx|70D{Kn-d!M}=6IiTBLsGP*>!-{0i(8`x%FKs71A?tMm1yp^l zPowd|ir$#Jg4;8&Wt-DOj#Xbr91KObj_?DW{14f}X)*x9_JH=#3DK>CHvWkWr>AkYQAn#YgYWS=EZwxNRR zjlFCeknO1BfE)mqW68FJZ0Bv|&$XnLE4G+>b`aIR^sIj|bxYvCAcw(J@IR>#H zl#NJ_D(x7pWxhPiGxw=EEvUbjb^FoD6cX0!hH~o~jT!3j)%p0-+*PiS8vrA)eAOd< zWwn36S%d3U%PT<@5tlGOBnM~8`&ZXAxE?wF7uz?p;mB~{<7#VZl zWDP0j#uQ{L(?RP#Bf`dEJd^*4#?J~Ox7e#ri;wx#P1)i6Q7z2sRnb{fJsyXA4_=*EE|3}fOkW_2u z#2`{~w{b{@vDz5Negx0Bu`)%Q-> zDdPr39dob5MXDFmZjK8|Dib>%Evhmp1tcbAJKEkrrzO=?M0a8{@|0`cys%R&S=+vR z8_J~Kv16_QA!|%c*P+JUhoaNPQtvD?)*f6aoa&%5R@tT;13=n#9Y)YazP61@ZI?+L z$bESEm?lGxH@~buLF zm}6GVQAR zKmm=65QM8!1jri@ZLG*U%dg}g01c>oRc|LWc-g4?6XOcur4{+b=8Dg`P^B`)iL01@ z3|*&evZr`7)O5^`s-%!RPN*@G?%|$S=Fs);f!}ENpek3fJ|@)7zlV-bxVcS8m$^%m zn;h`fVQ(7sm+_@B5T&_X z+52vV%6b1ne-rwpr}$-~lpAvb3mSorWFiw^nQS?T5|4b^E3{(V!zup@FMP$8c?;G8 z)RYUKC-#(bjxKCe`=FCM!K~28MMPhzgGv$lEB!RIs*~M$`drQDcquZ*LH9^<#pLFD_wM3J6(_ZTmS7`*Y+1>*1lbNo9^q|-NA}8i%;Z|;5^Qjdo zq@4mL`cRU}ZYV9zdz1WvE1w4C`{Mz(%B;4ldehp1Llehb2L$%V-lcw3JwsLYW(z;f zs6(+&wdw0h1FVY(Qa2Y^mB>|>d_ESD?Mx|^nfFC5X~iFNkZ40v0k=mue>#I4KEmNf z!%0y%w+E?$M_ifRqzJ3aXzS39KF1yq)@sr((~Sd3kJa|pqoCM@*D|W2FW2H^0c=-% zbw#7zYAJS+fR;b}YLbfwY?F9!oQB<#+@Wkc# zN@`IKB{ML_;YZG6W286pmXAW}DN+qk1K*hgw(D5)uUL9KB(?2=YBzC|J^i z*-PtcWMC205Ui)oJ72g&ml=>FGeV$BBU6v~P!UD0p%rf1*O6B^@+CpX$-G25M_HDV zGj$e4ZVR~7XE8Ufj!kJ3l38E%Rj?M?4Vz%HHtDmpfv>uNv2m)U1j<-h&SqVkNFKNG zCK8&N9Zd`5II8v~>8y;ObTILS4vIYG8Yx5Ti7P5PVn`vOl00bQk-66d^8hM|o@-np zGpjO{uZ6K=Mqnlm6lsHUGo%lxrGSeq7GD^v{*~K-(U`w7H-p^lgaOyBFS#89J}Krg zmuYOeQ3nOG3;CS^F1D5qDW)l=|F*v~#G`&6{Zw?Qjveq%FYk`U>bKVGj6^Z-jNb#8 z%5$5hiI28gsW}bRpQh~|Z}df0fucEi8c_-`i7K605@wb0nhg`kX2z#VCcb!<$U-S3 z%QS&8PtjrC3Q14h5aheETpLPV`D2UoqBbFQrJ^#PDJDe+=>8YLm#j5bT_WA4qDYe{>sWXalXRDhvUG$()m{%JL^@c%a%+%a`d5&Ei&^J2kURrxqHfQCroafB}r%?yl$^*N2cyB@ez(=Hq)*a6)w31eu|e453nl zK*2!8nw+;MItDDdi{G`KS#uZHI~=}f@g{_dd~uA#BYIwVjP0Hk%<*o<+3;?H*_F6=|JJZQ^&#a0m_N0 zRt2>`jc**ppBl3QRS$Ik*Z!y=Evj}+T`MN9F%%0PdS2{0;cLZAb16IOR~jS+=~jnu zZa2k@YnGKKWBJ%s`W!d@t8SI+z%h>?StM=={b^JbIWQH*_KCSlx1@{}88S|;+b8hp zL6)HC=t_}k_y9NxpHWpCN7{?69G9SK&hwk7X}F8Cja4^*Vxjv8B%jHJ$NgiUlA3&- zet;pTnAC=ul6_Idw8XdiOU2A+!`J+Dk#b$5uwR-$wLr=>s!P4et6tNxn54vKHHqm8 zyfvoyf(Hc(-h9-nE)FSNaBbhV_93W55l3MyIP>{Pl3k;VoR2xDQVs>+N<0ftGTlV! zuz1QfVDXG&3RI;2g|j=2jgmK@I{d}H50!3wTFUhS8aYK3YS|!~ab`?ez&y!VBc2hY zEy^KLZG6hUaY^{~C-lU49-FEDRW^Wn1>=QiVo;b1f79#+pTflFzJ*A({O%WxQ*btm zto~A>f|1Hnrh%d+?ND|l`@!{s?~vmQjBD{F5rdFvFw21IylRp+uyEJckHL%x(b!Uk zSSO;&R#;W1c}i9q*{*K|-{@hyDen}mfvLz&S_N>bx2zmU^nKAu>X1!dGwWZMeWf3O zrVlE=f!OL;+W@B0YeCuMJ|2a^ymW!mub))X@WHHS&%GB!4!LTy!A)>=s3gic-o zRrzR1`z?gy1l~v;C>L6>n+zRbeiKrr#JbJF7rM(OAEUDZxKcD;2m3)qd9~94Jm>z1 zHt#714|(M){ZFyBqoD~r&cG1)9CJNyp0Ux_j1^c=(78CZ;!KCy1(h=w#KhL^K$a7f zQCNhIEoJAWe6p}{pBPi$a&+wR&5y+{|Mt(Z&5_&3id!#_IWI)?@NGOB$gbzJ z49lWNws48QL%Z+HQtp}%v%Y>(9DKxz`1=L-`;}JNKKMIhXiu%jc}W~|yp*;=-|`cfDvy6->;lZhcGMj&kv{ zLCa3nLmU&Tj;v>m6G`R?8MoSQ>Z!0mSu9gei_dz}oErJ8L&;~-Yj3E`oH_nSvHu~= znfoh^pvO=DCNA* zay>y95EB7>J3nf_#p>P2{wZA7;8{qYX z`403Rv!?%S*7>63iz~bQOQyUokPu>24>Z}Rf+PrJizC2$M>Tk{q*u{bGlG{!+!BchRGh z%{={Qy8aoTQ#4K|_43`H>`Msi+Ad}E^HPe4CzkQ!R9MKCwdW6ja@J>Q(?70xBT?cV z>OwD03Q=VWUeGx&0hcK{egJi)bffUMP`ztRj6J+U4rCh>YPlu=92z@wAnkPe+sZ-f ziUot+9{ZIm!<+QVnKw+@zT+?VQEAOwrQ%P1*f_(0fxM4g>&1X`@STu+oV1cw2VW-$ zUj}Lpt{j*-$e<+;n?<17YMeAJbG{UaeBuG*TOP)d?So??HN2!ewc3Yb6F$myqvIGf zgF;YrCun1-E6miHFx=G}qvQLdXF`AQh7{iX;Z1Mhu`MP3e1c%1(w~q5XoVLVsDcB0 z7gl)3s`?>ZZf^5!8#U&%)iK)bJ+bd6ca5HV{~YIi>j!b(FE5OT<_!7G8U7Nj^-qfR zzW=-Um($-C1HJjy7+<)Px;KoiPCqmL`3L*u8)aBfrcBV}9*KqGTREe?IvH;zplmCSBGt2_yuWR&NtK6w?Q;-Q?klUUBbPAh-JU-i)^*>?%n-J}j1 zI-~{^~e`znlmweKyzlmZ+zjcH0}$_rrjJf3FPiy;p~sfNfQrv zCC|BPyXeVyl=zv4xmj&wjKQO;wxN!p+FsiOKpL_DmM^{5cGNc^<=iMT2I=tzCCdq! zSN-Ififxs7t5IVgUqmpiv@zupk`Ew9uHE`nd9STf(%NeEljmQ?n6XfGW*l<8N#A&T zP|8#vNFL{uyKPn(63h`O~)hK*@8x(8+U7wtQ{M_`q2A7?s9_Ef}O)xr(8XSRRjpBO!V4 z!M#@euX?BRy0WA=uYH}%HCR&7rm>kfOw#YPCXi0(Io^Pjt7{60FQ3jB=#JSFyJC~c zUEc8VJ0*`UW*zJDuZ=#f&D{fwA|6}9W^>d(T*MqpUlQsXnLehy^aW_`XT2W5YwcCC z@1Tp0^t0+H`pl4gl_xc%uZ|%JoP^U#saq!V#HHSrC;1pVjy3!)1FfA*iSJx{)2{Go zpyh$)GJC47SaV#LAG=yO+#L@uB9>K2^3}OeEjQ-~g*CDUUm~>$dVnzU@oOmi2t8b4IO0PCm48rJAw{ znb(UPvsIdKj&;_ogED#b2VT~#IuoeZ5^J(^C(3O~Tqmsp7$9-kK5)dDyz*xIfVMqt zJa}biYN~n5hg_}|xt3HMiCT`UOc?`Phg7>+P_+uuXd2Hz=Y(U>GfBXEGK%JM(dFC; zd`YEDNE@8W0J!RG>deh}^#$Ja1N&J9QfJyh3+4Pm1iqwP%4W{QVKFo)^TKG^v=5|g z+M>*YZrl*>#K^948hIw}`0zX9gb$t-&%X^Xq#Mzw!>8&?MLRNgXr%vRA;qIw1 z^UZIFO}3xzcbIcgLI0->_;NreKRI~OMWfE7rEkHvcGH&mRbf1Ugoi(>d1x}zTK;0A z;xtzBspos%{;c4cR zaapdT271GYoZ3bFsOH5d+$oEVIv2pFFC|%C|L8D|a@rW~nii`a`o`FFyBYo+0p62u z-6K!O?MJ^OPI&*BIcE&Wryj>#<@6)_2_Lg>GXb`3$djAd3PbwW355qgJA9>_vB`3l zS|0mQc!tY@+9b_=+VMl$!AJj=6~9yJ@c6Y-(UahuqCtf*Yg8p*GX(`{&whCmmq0w~ zyM1b(7Uv0$D#Ch|pPD=}62o4ze^FLz@7$(8w%xAMTBKBb*z^$>y| zGy<2rS?-)ywn1Ggvwf+9O_}8qrBcdNU3@8(pXlFUlG0@E1b4-Pm0fYaHt3Ho=F5-a zJG6Y+luaRDp7bZ-Rj+bymeK6_WaZA&F9H0{@iA$YUgu&$jz!)emj1QvK!^KUiT2gC z4UET(Aa#Z0&2HZ^_9^eSgQF@u#hN@{RY)0dSfZY?EubS~@9~9oX0MF_)^O*2#`iUpAzH+lF^yNtCVA}#6vtSOC7IimwN5P z#*S#nrw;U^qmCJPOUz5T;?3u|rqQEv8}m$K`%loJ&sFLLhi%G@Z{{N};5nLgr1>>u zek_dM0H3z-iHb7iZgHakNS)3rD+eXoz>hatkO7dJ@(g(EXy)~!8753RR-907<>Fyc z$xWAZ3C%O>)yWK6(TxmzN-P@njt+lmQ>7wL8GR%MF~O<>-isdc%DKD8<`Wqtu+JS_ z1|-S0MO&$)@#i;hSU-HGS3MESWQcc2bAbyU-_f^h<)AkrY=B1;u%40O=#>%P`JL~t zMo(^3(BpS;%RwHo5XnAMpv`QIc|SexxaOVKybrt%2#jXC#qTnSyAAltJGgm|b>8`P z9JlyLsDB)XAEl`Si5$P-;>VqMe|h#V z@8Hf)7M6>j9DlPd_>dcaZ}f~oPi`*h58ojnt|}9AWOSy*V{bw7p$EQJzr|N$uO;ThPD{Lb}KYEN+KGCty-TQo(dycPMlvOBs)$6e$e*ET+ zb@mJPa}3o_e(<&Gz$SB|Q%OSOSIP5EedL)lj+<@J9_iM>^HViq zOU@kdiAcP@siLyS0!97VcU6gzf2%<_Y@*X~R!%&i@mm4JBtPX#RbCg}UzunF-%0Ks z9*Mr;{Oy2VP8{fhS0&zYpPwvbJ=ea>i5b4oZ}eIAC6MDP*H-MOjORB=l{~2_iHFu9 z)1*Ro+n`bxnz@&{Ge)&cqTgtw>)0)I_BDunczxFT9n;)L`|VLA-~C$L_X-8PkL+mNN?w)tT!u0y8X!t?})FyH*=zt>p8Ca zu*Se>%pGLRCaxU=^ljR(3YZ1%SD<9nvum^8_;+2Y&VPWu1UlQKL&_Ap+3#tWafQx` zhX+5ru3DBfR$uxmS@ATsi;m=P6KzEw0E()ty|81C~;678DgG%;Du1a50}xc zW7<^hCmZc2UIs*a!pb`kcGYzRDjgiu95euRY_xQ0c}$=NZ*nLXv7uW?Qt6#}(ci%# zXv>x@GEBm?j`?*Qy#MWS?t$Npr?e|)BR$%)WxV#h|BlUX|L^$um;NT1zL>JdKgBK| zJ|JdqIyK^jhvLECoDx_6_C7_6AI%vT(~f+9?0CehVvUW~jPV15vGo2w#kuc3Jr-?u zWbF0nH^l~%y!P~YgdSmT`^jU5i$D5lMt5#z>b;>;D#d8frSr`!^Q z8t4ORSH6=x`+#`pG9dIc&dqf0J}a}Pc~o?R(f zzt5gc%!F9$d#A)f>--^(d-rKEG}s%fjrMyZwX%1;*y6PB#%rECA-?(9i{U1z_E!D^p9 zAr9W-hWPW5C&zO`6Jniz`B?1q3T?jjlv~wiIo2~fHvh%SvCNQ@<$vibb#Vum0H|75%43fBu+`f5lbwkr;@n@BE1E&5*qT>^=8D-1n?+b`%e97TzB46eqAE(5%1mgUGe(Q>=o13niM^Q3uEqWm&f%# z_-#D>gl0h3q*(8`Q{%vKKacNz?9b6X)E8^N{_}Cf*S3!5zx&0w@K4Xjl-)JP)c3PD zo}x3^!|~whKaXpEf4{Wz14ioq9S@7we*EBAZ&Qt>l^RR;To{*q>dct07>rjRxd~;+ zb29GR`H6RhsJ9@ctA5A9>3s>xZ#v*W6?5f zO^DUrrI;V27_6fh=)_A5?)}vt-$) z5nZ?r>~TcAy0brir~dfe175)SL9E{0-W>;icJHRYU%K_Oxc<1`#*E)RWA>~N^om<`wP8nf(y zbK)-_I9+QAzoMIO&jR=|Svg0lRTSER!HJNu&YEnT*X~@SVe{GuI0kIv;6ffyN&K*k z`7&uyU)LPI(d1^qDpWV!&bF#Y0NZ+emo*VK6pY`;jis~p` z+$Hr!spw5jg)ZQWY}SLIaMdTC>188|@8D>Ye~eDRrmDK>4X*yVkn}iGxd{=9RCXqL z`+}e_`31w|h0Z#g8?9^$1~@ryHd+0qz?xEZDFIUHN)a>Be$_lt$zO0l#WzId=w7I+ z?x(f6P84y;bEQ4PA2UKMak0E&tbB5Bw_j;FsZVoJO#HO}LT$>qYe?I;;PaR&w$|iX zcWu(1)FzYXsnebfo5_9cGX37tyaAQ{>@T40GavDdyx60_oG{6C@mn@!IG__7$&u{` zazxR`IrdDk9vxKVRkGwf4#Z{`X&~d`gA%Kdd{7m3eBuU0<+ZND$Na7BGDf7_py^*u zBkK(rG#$zPVhMEs@tmmB_zS)`N+s~KsjGHtUs}7fEZYtx)xj87EYP=gTw=>}$=rok z2gW^fg*h`#{XcUYucOq4T|s+H{W~=5?Qav3Y(Z)PQd8QTskMBPmjB0>jK-G!!fNt4 z3=}G&)UA_Bc4~rg300&q1|X}f5$WJ}WsI(@o1dgY`ce354pb)cPAKFSKUU^tWb4S< z6HEB6N7`o$Th?)iiums8e8?mVvRoTcnz=r zs#tTa!FcS(yJD_Z+R?o}9Ebeit+D#TtKzT!{gb%t_HnVvXO4+|4xbrIyGLSKSAR^| zf4^9N&FACRQ%{UPe)pGg&H4AloauYS9>={a)?M+pxcD32iQj$i_i^W~PsLo#aO`lG z5pTJRy+S^9?eg9@_}I6_I-_^QRX;u@F1~DT%y{c(;;?V*rAQCOlJ1@uxAUuG?I};k z&8MCke?IPiWA?kh5C^?`-B{eE&63(w?_xVP9Cv+B9C+;8V^-07$r!!-LS_CO z&d8$|#c%%en{mpQ|0{lb%sKIdRu>kS=8DpBF5ogTO3zV_mwZ{4}ecp9((T`7x zi!OL3CLH|XIQ%;YM^EoaEW%%N^IZIp?@SJk=G|Nt4BE4#yEn$u=BY1l^MUW4WghMV z7Pfmw9Pp)`V#(>>i9ek4bPVqKp?K5(92KiC zxH>NSpP$8LcW8`#>MOC2Y%Z3MOQ-D~yL|T@vChgH;^J@pPyFutXT+ViKNa)T#_V%J znGf_uFqVG!&RBoozWCdTC&&4}yeJ-d@VR(V)X~?yFWz+QKgX<*+jE>cC9 zH}}#)XjZ%lZ#Vles1xc(%K=kNbIZc+@k{lb65!H3Rt4E}Qb=^2ABekQiwJj&eZ zi3zWHjbf+1`sJx{&he+k_4oA0`XBgm9PyRiVpzJDXfbe~tKaAoe~O|G$UZ@j`dmDW z-|WwCs6W3Mr~gR(sTgN}<|hTqy8CiIOnoM9I^~o&d)4`%{^c(A=xg2;2c7V*vC)M4 z<8MFxS^W7&XT)9e*NFA@*($nw2d&F@k;@onJaq5z!Fa=}{qafqW4a&Z;ST%?_4m_% zJu5E$&X3~U->AQLI6U6)jYEQ;C0{&!_t>@c*Cpz&-XTo^H5dLp=8TNwCw}%kW9XBtlGjHiaJeS3u;<#4+|U{O z1yrsy)<+imx|VYEd>7uS&=QxrEvMXf(3C)cOFJz+$7yQ|db@sg zg2SiegO>c6t0Wz{*~oIGHFPD~Q14DAB%RGz^&OnL%f6z|8&~Dv?OWlsY@;iA__Gcj z;LX0_KY5)id2KKxf9f%7@+(!22COG@Lr1-$8Ys9(Zdv#jO_8thrOXasJ-*1;-zDCz@Av8c3(+|)bAD$Tpj`D^M&-FWDLt-!#r9*`cn-?3Y_C9cN?;O8Ep^&A{m;-C zd`^oub=vE@+&BhbXD%Uf%K_kOGAW9IPvaqrEGVrk#{vDHWRi%F0CK2G_}Npab^=f}lgKPE1?y+1ZN zYVYXPAX_RqZUB!yeM9{9H-C<+&ptb@{M{|Fc%4mRjY&)6p3_c_zg}=f-1?Vu;<6L3 zjQJzkmU;qTqLcHIo>{TUhxd!gkDnDk|M(B$!ZXi{%a8k7ocP1rqj$G|j%|1B@utQb z+c`JKrDvQISDtlNTzJek%$HdQ$yCp_1!JD4)+eq*aDi=t8%s>;R**J~z6Zy0~+r_30+rD6# zb8B3F)?ec4Kb{$X`qD4so@FEP;$KgWU!8hZT=j?37B8FyU`!o zHzq%NW}Nc*lj8DoFNjONLBICL#z*WGeLdQ|&)zU*Oj;KA{pM6%1YH@oU2tApaq2a( zKxdS$5uV|bW*yuoJ?qA1A2}eVK6zH0{NewJb5B1vuKn$A-o-#Z4gW5Zq6 zaC~`8hS-iib5mUOo3rDJGtZ2_eC4z8<5M1r3H!b)w%=Z3O;Iq9{@C!Z)C8ta^2Era zB8p}C9>D1H_r;wWk9S>qO+0wxQ@XIL<4y7KMVmJMlB@IKsx!}u^S@Tc#{SHQkyzZb zR&4UogJb%$=f=-J_Psdo_kW4&&iq4Md(%Aoz{LX>jrDGnQ_uRb>Ct;@&i^4!{rt%< z?+-56<@ey-7sgd5(chP-zmHXaKdS!T$^E@}-3?-9M}OT)f1Pqo%u`>nmgQcB$8Drb z{lD3VuytMjap;Qjcfk=XSMe>#R`2n{ztg|Y^_wt>zWCaHPAez zozx+bLsXJG4K8(*k86z>o7Z@u5f4(o4#h@-csl$_{vsz{`&Z~Fpbb?Lo(kCxcxySK z-UO=l%%hZg(T=*}231;3A%_9*vilYc0@X>bN6|4#}o&UOCvMjV47l z?piafJMC1i>Q}Z;dI*f`H3=M>q}v8%`$!8CUvU}#Y)$Pa>nm-lx@&uFPQZ9<)@v2_OVNI#O)H`U1&<6DO_3)gw&bPLge&qU{eDL#E zeQ~=~p4r#!*G?{3$*L?F5w!eS&Y-fZ6w6~`iA#FBC(PWw8BufeWx0_li9_yHMK>+; zYNyI)ol@bk9CfONzrn*(=RPJ%4z2Q3{w5_2xy4%evs`7B%+Se)7fB-Sr9`B^;_E=VG!Ft}Li}N-1v?t412M6CVLW#Gv(dHTCNXWCHWJ!|c*Cc}@;P1uZ}MjbI+LsKCdIL#u5av$1pOp4TaS*kd7|u0A6^*G)i$fo*nlSwaqEexitZHoKS>)K ziOWU4tDqQ5KhGoDcM)ha&x~8vZD=p_0PIbYu89ktiWgsqn7;NJ(I<}a(G!!Oe>z@R z(iM|dpCSAC2?Eb_^7zPj`7lBH=iT?1>`sb4o#5)H16`}VE{^*Chhp7_e;y}(>++Z@ zWZ!Dr#D*KHkFL5dp6<#qHmPSpJaLD{m|VHzBt9*rz;}rZAS|OP_q< z#NN$gGs3yAX1*$BZ7O{iT^f%s%RZkm+^6x>8{=ne8|!O4%(?ioczijuo|q=tp})4{ zY^g3L>lktjx_V>Myr<%Y5(5phm>|1T<~$kCD+ZI-nC?Cxck??rVZ=D^sK+e z!$Ygb20O2#O@6uauAJC=+^N%j*HYj5G2Wn4X34IBN{{`iDKQ`Eoy+Fir z@~i{d<%$=NHv>u|s&Jx(HX@}BpW^5;uZWesdNRgk#+N}jHeBsS0A74Rt`jd-k=heH zcEtl-e04*}A9Vm-otqe*i%xwhW8Z~$D)_p=NhrDfKu4CrH+7fOwsoRTiLd|w|MW>j zK~xl6)z_3g;)-8Y2E8EcSF6uJe3gOA_CrrvZFfSJYYZK}!i!D%CiSAnq%5nS+nZzL zHD$e?TS@uokw;qxRJ{61iM#>H<~eyZrVJ?K9E!h6_+cKN zU+3rADc4s6W}8bOlpHhRY5zF6v!NEpMOt7U*Jgi6i+skku$#Yall5^dF|Tb04}bC| zw{6hRw$F%4`Y7YL@Ohjfs4Quz2k=-VSvLIzr~^ET2;hfpyM|2BS!C+i^_aHKnx~B0 zBV6^*-lH0N$!)RlClOvsshdYNXHV|(4;VeaT(Q(e5HE#DPvJp4eaJaR5|weKcnDSa zz$vcyAsW2sz%Q=}_OJROun!4Uw((sVHQc;mno0bmsXlPOv3w*WAST|0>znf7SyA|SZXzfnDM$;R6@?!CEbdYc|TY0 zy7LE9E({W;uEbrnq9GO20O3rxuB^j@UOV7Y$`S~277`#GKvwt^$OON0Rh4HDRj4*F zmQ>eaWfR{sx-cHO`0p{i$*!@*?4DRY{nfG24&CwiW!J|7MWA=e6fIP}G3$driQ}$0 zFTQi#x$%v^{V6{6zV)N0cVY~TSDS1jfoEYSYQr&EgLK0Do8poW9~alp*)$IN{>ky> zKYu&+f8%=5Jvc01vy}jD4o{sbJEO7i#rgJYk~W{ywD3+@x;U0CRekzo-+5#FBgiIl zlIW9Vt8eMb813chUKY31>$s^fI&De}bm;XaT4~DCMX7fNddntC3h@Yuh5{@sH^V&l`=CLv#c~)P(iat$kn!03hEZ1T)Vd`XW%+oFk z=#y5ig2#+YELc6-y!Se`O`FBe-P?pNUnsEQ9zk92mJiU@!>1Zj4xe#Mttc% zch$uZ-giPAd*wOt-&dU-$6S3@eBwPh z#>S18{zW&&g&+Gt-0<8cao~4<7GFH;Te06kv*ls-U0rBt*09H{`h4zu(bdP=tWHsy zq(yMtG;EE=qIs3pql+QYmnLN2y@2Z1SYXpUHU=8olAAmt95LwW^|<2;p>Cu8 zXxBtt#7^TvYSDsNsy?4MV~Q`Lyiq6K?gO=rN(C0|W^m<&9~T%Cy3&vAPqovwsvLbK zpO_CrIstfW==3J?;IwJlFpR{)7hZCEnVZu_`gHM;vc8a4YQ}+%!;>d#&h*AQ?>`~F zU;E>#v*MGbKL#f9#nJBQ-}Rs3pr8LVK62$B;)~ZQeWmobbc`&zA1o ze?d0KSiVvqj6;?MDI+57s{e~3@Mx7gEWhgYB?M{Jo-6X;LHWI%1^MgYyQUB&=0 zbX$~)vD}Cv-9f{+#|?ssSBMLMuPbp%Qt};A+pyZC7JDFaqat60Yw$G{8)$8OlOC|% zBv^0K@eAAV_<}%O{8@jgRsT~1^3}eo&Rbanb@LV8DhF0|$3c)j2#+j_sMj^hh2M6H zJiNlYOpXqv^pAM9`~bRr?kh6>j0ycJS6|>aRK1e1-%6Zc^V3jh!l>-GhL~PK<-(KC zW7m3)lWMCoujML>-t{MR$2t>wVw0)bC~6Jj5t(QC!s-03cv2ho1uNtti@)1Uo<8Nd zAE-J}$@|<>=d;UFPqk|MMc!D)jPY0Sri;%!HBWri;_*Yhb|Ctu^bXvPU-Bgv|IF1ce%(YuRe>-^UCX)X|0{~x5(q4I&kfQ z?$~ImHtSknAJWCseEI=7r&>l38?Ei?9b-DnrC!?Y7^&R05hA*>-uPXT+gD;)>G)b> z)7OiS_<$~Gq_RH|Kl;5EIDRV2uhn(YxMZ+9e?_$D;kA+;xX5?_Q%0!Z1i4`*QIlNR zQ#2sFZGx*Lct{Sg5t(Ya%9D4}JHgdLFSZTVn>gE*4U;R~`brzB?&>p%d8=~_zuU+! z*fu;$-rK5Fc{vy6eh+NRQ_HEZutO_&bwv&XBa0FfDL44Ur7%be7&Aj|GOeYhTgG^q zDfK+j79R1lG4y~Jfb&%;yv6{j18}ATcLeN92^=w6dD)fm(29*?o4wYF?mc&l4Z7}% zTQ1khUb^}gEs5pYq&)T8uf;dt_wo3j_kJRN_^+RgArE( zV)BI1STc99H+!B>_M6so=QZ#CB`BsE0L|t|^x^s1loh@HQl)6LYoO7)sMRZ)qbj>R z8|$$xnT!{ca4?q6T^h0aS~0z!jkg#SU|tzDGO&6~UA-$-zBJ#PIP_G&*IqUmv}fYX zn4&A|CG%u=bVUrV6n(;Y|KI~|*ZxGq*uF#$u~i$CYMZgc3D75AEe`O|v)qmD8Xb(` zLG(}XUGXu>45{DklW$a7`vTSJOZqXf8S`$nrB68QfP-;xodaT@ZyyzFFTE}<{OVWZ zr$>J^etp)1zRNtKRnCi@%EJ$w9>*SYQ7nD+N8_Xaxlc@!U&D)ZfyNm7-PhxrANXYa z&-*_WC%o^|@dKsrAAO=umfYQyy@#)gEB@`H@tuGE@3`WzwPWY6el2$0rQdhT>zj?d z;4Rh#lJbeur^?6lpRvT>=)5u>rZdheP5Hp|91o)Bry(sc7WnF@W3C0oUotJYj7u&| zmhpjj%cL%YZ7P?;RUR;} z^DLt$Hx8EL#zj1~cr@m*SP7Rg%2XUq8OdfG6Y6-bP;GV6 zYp$tnUTEmAK2$rc&4Mesy=hh1bnG{BZ31kIBtE#1rH>ml^5Bi@9An9w_KI9d6<1}A zPi3kz#*=euFOMl{y_T;JE$E8pmU8Z`GAZIu8OR&G#g5AD+?Q{(7d~(l1fBJaQ;yl% z2J9qH(aBL|muxm|!UJ&UeVH~RP1_)dzin&AC~-PZbob~2Z`41=1>Nk*7v`(OENA;2 z3CK1gQH~-sL%ZlPPsPxS??XwY4!E9*jn9<+I@P(<;DOYg`qOUW1r!vQF?F&| z9szpsXYmmIpZhcF^f%?~mHZ?4$Pz2Z)4EFTGPyW4Iede?(94S0B5GrrMWYC(hJtey zZpt;`TpFitP`#E-SGm$@NCqtBst&ko=cKK|UvfGXpPY+>4NU*so8qpkm&dF(93FeU zVcQtJ;gY!Hg(1H&qVL)J;)y4;U)^-|SbWdD@z|aB#Z!0QAJ5(SK)iV8Gts@GCkAu{ zoL;uRQfAY^n_9S2-21@waoNBBI_?>o5wo^iJ(g-$=?lujJNm-i@$e%NYwx>PtT~X+ zw{mxH-0Sy<_50?=1GhYGzJz-9O3Lo5K;8NrOVwYzCmvlz?+|wl_fNeK-txp44Xs`d z#0+g2J0kwV&G*EL@jJyXZh=ORTUj_fSx^j%X99o`2Z^l;wxRDJvj@1WVjN4EB zRa}1ct?|%ZcgI6_Kj%js#`e%qEV%T9IR1aGkM4aw9&h>A4Pym;^kl?po2(W~?!7mj zxcmNiQse8{yB>_Wch8CL!CrqF!lwz7w9xfDd}Cbp<mQ#Q@aaRZ`s>otU+b#B zmTK4CJ`N_E&ud-5p89{W`v38}?vJOGu=k?u#me63=Oo!QvVvsk7kpOYUFhI$p2`JdIqIbPWj_FU!1ZF2IgpQNWx125{#l>(w0c`V6HmQ8&j4BO-1wm@ z^`|Xxjckc2W&5p?^(C_9Qvv$im3gYI)~dcvs5dmon)7ajP8vyvyxZGCXL*qZ=zVMu zmxs<(Eq_9dRF)G|FY$o4V6+GCiuE*!$Lm7i!Nt6FMm#098S@1Cr1k+c?l|U}QgoJ7 z%f_!lx5d(?W<6@?3DmraY;fpN+l9+{;A*3n)LHJ-$5=3!tOEGo9nO*jBO);nQxL65v8_(tSZ}e=}i=KXPoR zMEaLwt>VR%jylHB>}QF4~DbdMCA#JMIA&{Jzcj|+eyo1#|q>6XF@O9d%<(eGJQfcwoo{B>TK&OA0 zNpa2?mPnRS+lZCwFQeC-mFk3ry0+IZ!16i)J zECA+l-Ty8l+XUMDS@(jW|8%m-sVuzN%?m^3Wabqy{nH@R=I`;duZ_hUy&?AAd3oG= z-u1Cm8~1)~x(5ayjaz?qZ7kdIgYktQeHtt;-a~^rY&p_Kh13o+xxBc|en76@E@xJ3f z8aut^z}VtbUx>p$wQUSt_uIJQ*1_^Vc(~JsZOUGw$F{jjlWvvy>mGVK?)XXSeXsQH zT=jk$y{EsT-fRb&GENLQfWbL*%a14*$?5vFr+MaBt`0XegdJ|JqnEeeZb7_x~++ zecOSt*-;0@rdv*st=z<;qXK^A08CHQSCvK=#?yB`9bH==5l4OU2-$jb?C_cWV@luB zc=WZn6E2>-be!XwLosc#eA{R-F68`2E>)W8L?BD)!jwskrjwYhu|BABfNY@Kf=o zx4%(i?2y>!=nuu78e=>*(m#9O*yG>d8r!~c_t@%y{bSFMzbQ6W`<{8^d2fJeOI^&n zhacCNy*d_c{FXTSq|e3f?>aCxe(NEz&1d(I8Qo9DjX$|0<}%KH__5gOtp~-HpZWJ3 z57++2Hh5Y5qJDC zuDE4|HncOp?!UG~Qb>W{a*F?Kopkl0&td+jj6kMDFn`e-~``}@s%$9DVf9y{!u z{f(~f_4bQ>=&v{J=Kk8Nqrdzvc-u|r8G1BsK3Qu_>HkCM|4w`A59Vkt%!1;l6RvmG zm0CKqOm1UId7=i-992o3=h(rkdb5U=y7iT^*J9P{2@Nn0_^g_TiZ|=%QW>02^2m{y z8GTvKIRY77S%(q1JYOW%=Nr~{)$%SB{8=w7&Qk__(t&JCX|u~9t8Ch-V+e9>hxIFO zQsITl-`olgz; zah~CF(PeqdWsH&Gk;NQSsmpCcO({EmHeTw;6+1>dN0(i-5B1YEXN6YJAGSl$)zsr> z{LNpI`0xoZp9}cj>Tzbis;}KZRUO!+oC-v-j-*$dbt&;z%Y9wlF>8V@ekSwWb5}gD zAY!p!|0sGnqJwqc{uop2b=a~GDr3_e(3K;bIudAWViMQrEIKN!&cDvFitYq*#XvMl zE7j-NvF+kVawgs}5b!1F$-Vqyt5k|9X_+HiFXrma0^3l%>S1+s#?|e7XkYIg-TrC@t}q9wlU6wYu&ChxCy$cC+2!v+n2J z3on26PxWT~0Y{t5*sW_~j=R*8zkDq{mF6VNo^VzUkwZ@E8o<%69t*fE#=_btXzE&2 z4MI?YW;v8&LmL>LtImc2j`nnr_P8+dbW){j{a~Q`uTUquKTPPlg9Ig@N82}?l8%qH^z;N ziQDcMyMN`=arl279eeFO76-AK&4<(7DS>3Z?HqmPb5Kl{$uaoeG|@6`W_W_Y@maV7M-~V}5JT~x}?C-C4^!F06^lR>Kt-1e2;aBM|zDtoaR54RKh&A?p@tIZZ z?Op7Zu~XYct9!i0fK3{H>p$1ork?YblWbj^$#Wx=CnPWO$~|<%Tjg`%FFci&1p_Aw zpFqr~y76f*OGQ_aO)UPUj4_hQ61t!kU9y{NHawy!s~ZM*yeUI5WOUSelN2Fk(7jO- zonITZJ@5kewHUBbeYP5xS{wou$6v-Wamka3wWG=>CiyZ($(!vij9`n))&4?y|`bV$zBZFVc zD;-+`$3kVWp!jvojV5*ZhnSvRs`(`&;L{d`ly@Cbkfn1R<1DyNU*(U_0>0Fp^`cwHw9lBMRQXbGJ!f#t zJZ+|2O(}!Eq*2b>q-i(xKuezLN7`P*BQrwKUXPzr_C=6XSijpLY16=!lx9=Ldg~gH zy!2Vu4>ov%GF-+P+-sRe*`1=vIMK=iTA>!xya0!|wDJH=o#&@& z{%(o*^WE#TvC9_{{sO7u!bkr6f+<(FeEE*YDfq=r{DXgjwsMn4@H?YGuvSWjcV6fF zqQ~mxOQ{pJ;Taqq_Ur!8%NPInf@2-_8Bs+=8CUts{VS%aZ-r8&^VSPCXH%q;xba4g z`CWr*56|~!e{nsEUA{PrZJwLvnQh+ry;OR!#(-u6#ShQWMg;L2f6&j{QxtZ|3@N4~ zjsfjmE*|2rQaPKsyokttUo1SYA>A>b7{Q9H+`GkVl;5TCs4*cU07^G=0 zwvpwr3BI&g`7=^EjwZuX`rLPqq>IOo7<)Xy&aa%pO{{q{3ZE8%;kBYw7q;1zF9vEjUq@T87&kL9Scq_qxP7cJEcF@b74@xW5-i4Y& zM3MN>-sQ5lu*7aS#>W=NoDv`0;OzMJdww6oL;bPZFh4eyV}*`nJy;_9mXRiWWZ7k` z;Uka3@x|Uno~y&zA8vMhIUtx=}ff5}-3rpvwa{-U9yf z#zuPUNk8#jF<&RJr5p}};#Q4$r&b^-UB39>^_5R8m4tM6>NLL^L>sU&VqGNgsbL2LsluvttQG?09d^pe-Ys%K0d1p z$$0{))`Flm)HqVd3dO%=fXb7$o>|(h3-;ZzVxYM*pl!JGk7*M;27|11h9^dd<+JTY$H0^Xs~f% zvyHFT%O*r6WULqG@lOYSH8q!4kQFjwBhtg88p|Z*cA-xMWCqwAmXik?8n<5@Y&;Q0 z3v#@YDtQ`XBz=(~LN zrO>v64}I!$E{ymn8vC>Xzwn1x(zeoD?kjHw^-p_w!;RY~JU%cE-PiJ;w$l#Af@Y(wwtZ`unVh#Vu#Wqir8lWRli zV?o9;$FIkp`-?Vb+&o7`#{=5RpMB7nQrHDKa)69fmMfS=V65~szmmyONW0p}1!Ju? zkcjlW6R?d)#b#}+g0$93*Nt1{YrOHXK^JIbJ$GExf3~UiVmmok_5YQj zy3=r3bxL*~4TaWPDmIL#p4*IE(Zu4Nsqwl$8IR>ohW%11N#*=mNxU$QSh5?Na zRAEzLdVhDUJF&`kfawXX#ttYtUXcbgHeLb#FWUbFlJih1m;a(k!l|g*)v%hNd+)OpE zwJLfVoyytt(hl1a5QSpD%5xt!)zXT%1b z2wN+nD!2nUVo$cAp`V43t%a|`j8rE5JaRx8z2xYmjd?Opn`W1zZo6uECs#%AnYo|x zFEAY5aPF-62zb%#C8= zGnV*}w(!Bal@khZ4uj~Py9Ecsa7>I1fArHhXxuO3TOThvEQa{NdnzM)@!immo#5jVIM!nq~X56Z8en4!%(pQh+K#)=&}E6g|$ZxVPuJ*;CF4~YX8RT)W(*q3J9 z34AxHRGC-R4(&21qusfg#a@nK>w%w`iDWCe+&K2Mx~hN|pG(zX90&?+W?aSz{n>{V ztPh%)XoG2u(pIpx$GRvKeL&~>53(~>U@6x%qq0?e67{b<`BJXI6@J+aABjp?;owKsISHJJf>Ng1X#;5ZRl*bKAUb(L0b~2O zgT4wM(81Oa#_&++kWKs4>E|RGQyRg`VOAgDN3TX>o;I-0E*I4TP*pC<;Wo-TYeiWh zH2#95Om3jWN|8|G2X8r@6(IpM@=|YNt-NWYol`}`Rp*Fv>f+gGa(B#K!J}T{D~hU* z)>&YR#`CQ4qjCQN)(inkDs=F%57>HomTjjLI(6ACWtHx{@=yUPzv{J3m8X-fu8Vb@ z@p;?Kg{PE}F{o}-p*K3I6lm&|$H*)LH9p|^e$YJ&vRvs^F}>+-08tE9*(%^Qx7LMd z)>?SUs2;oin^Y}aQk=#MmjS$L;N2onn&c{YgOD7mr#vTg%j>^x4hST5zsC}0%asAy zL<3r#s;Mve3vCr>1Bowbhbo(1{&NvQUmjB{1Cgu>tEh}kQA(3#**YmU(yCaQ4uvPN zI`;NNZ$D3NC*3EJqQ9|aSu0ez$O`XH5!4HlJUM{r;8oF^MXE}w`mUlmJd zwJ~e3Jz*Q13bv7WtFG~YO=V)4)^#K+^=8v0BqBbM3MiXWe0N)|3seV_%NeV*t7NhY zE*H8rQ1mgO=q{l!%^Mb%m4tWy6}|YAyeVfqS)q;c0(=vURVqvkZ(A>JC8km47MF4d zm`oe#!(8B+O$Rcy0qICpRX~*@3pA|yV}3Yp`g8x7HTkJjUUV@Y>*lqA693ep*{t%g zg2y96Jo-Vu^8-S>m!E|iG<4$|bu%QLVuQn5GPPMa_@RNro4Q8%=7GxC zNFS@-T&IhcLMh5cvn~V+E@hH4A#sjdiI<_0RY0Rpjv$MCC!5&_r$Zk);v3N`p^D{}qm zQ0+2Q&jC9*8e2~33Y{{FJk)xu+Q<`|x^yVKE(*!J)?ZleGlu?h9Jo#92a0jah$BT+ zv!cR=WcZbm8%);R*Tn$Ow(?y138V8Emb1ECxw9Jt7iq%m%kjF3lD~epEz3A}sT->NqH=(6hy;a5{H69%-wP48jGFO}zYyy1zCmoqIp|aap^pv(Fs9xy} zp8yu~6+ECKU-G_pAs!W6^*}sUfo+kXVruOC6+&gIK9}adXenEY(e-_A-U}eu))HW9 zgq2kI2W(9nfX?;-opsm%^SkhJ`BkB^R^zY4_DbRvXL%j!1w{pHHvRNUN`b-yIP2ss z<-Q61t@tXsUV(iKfUB@7t%1q}Lx+-=>uWKbNPKcHGEF~bRb`IADjI~gNI{RK{(pzg zJ9c9rjkh_Vva74`8V9Z5Q_Mr(^;O5&KLW=hiw5*o7|D0^wU9;<{(fDS@=duKa>fLIxup5V6cSdcmPd6m9)65P1IQQVq%werIndax3Sd#z zX}*$+NP;RaUKYN} z-oUE(T3Cg#wi`51St@j}j)6`!tEe$2WVM#8t21m}J_Fo0l zb$D4!Ujfz}-xX`-PXxD6`Tq|&fK9LT`_wiZwbkZ z0plSTnK96z%T?7~ei>s6@IbduK;vA=m7$Yb9dnI7Xv$WN^~<1Brobv{#*)!1#F+m2 zzo00nV_{qmkCpJKOvE$VxGt<;Mg=;Jb(U8FNI*mW2XZdzQ2qT!`Z^VM6kTcRow7w& z$r_+eJGYt^areB$8H6)0%#@W+ALx#m1EcYvHmL?Pv_+umroM$X`urZuKZGh&^>pa_ zhw%S}rxQB)tG!o}AEWmbjQl_BazXdtf|s-WKg1fSeE*PNgq{PZZT_`(69+EKDU>Hg za^F!fKI_TR(yM{Qgvm`d)GT)j`UE%}b{|V4jZLC4Qn*c_yIhuedC?vK6wPv|4XvfNG=GIi~Jf z%N$I#kv?bNbwai+HB?z}KCw~uG4ookeB@~*^VGtzE%TSSLMyscm#FUClOA5JT_WPe!QPHQ(r>*kU0h4nJ750_3@Z|omz4x)Xi!Oo%T~p+D&~GFDT z=lGg7>k&x1=~H5BpT3e`)kexBo|G~b*ZS01_MM#xeK9=5H(Y?6ZFSDU$5`{*HY}R+ z6X00ODiqbyC&s+njDBzcepIL)r&y(Rwj*oGo0!6rDY=qf%ZX3En$VegYo53)RXY`m zj2Ti_l>t%?s4~jk&g5x*>&y#Z!PPRy1v+Q&UU2Egqn{nL9g~}J@*J%=U8=g9+Q?-{PGxg4M-l!@FcF% z0O%=S?R2KpOG=qKf3x0}EB`A))l&48ScBn_qO~UQ`o~aT@GG_I%b_}-3%?R|N}YaF zH=@kNgw&mwwoN(jRc_{Or>=zLC$F^5^{SXE$#0!eskM>#gqBw8<9oYfqAu#{Gwk5_ zt78j(-hwxKQpB945i2#GU+zO|q1LAj=-lFkF?nhUsPef_Xzi?;w{mSc>9yXrr_rgu zPJBX@O`z5(m(*JB%#)`wRr!=K#kj$d?s#csCoc1ZT1t9L8*8u9fnv_!u_53lg=(-1 zQ3fi?ns*78lnWv}$^^#i(0Ouc4N2Aymjmfs-5_Dub#-&*nUarzR%}^s(OJrs&tuZN|j=HA!ki-56*4 z6|cd3Qk%N{DFI#;{83MlvAk09CcoR0g;Gjd_J*Lyx*g_8q&E>RRSbDzh$nRVl(z8f zJYP7Z4XATpsJ+y=%SjB=kE)}9bfoVo2Y-%>^r)TO$y8WH%$Ok$pg-dWq!s&NdYjTe z%1P&)B>rg2v`pp|u~XhM#!=2ZISRddjo9LZpTxU=^7eNrY=;J`UQnzyPk*BVSG2`t=$D!w)6i46m>-g{`UyW_H z$}fwunfEj0_NVkSrBsyVYJ;-%0%}Pqx9t>G2j)RHU!?T>WhqXdlNmk>RYfvkXOP?wS#s9slEa`+x2fBRwNA)T1_x)(>1$4~ggPd$ds}^^auY?KeFh zNW}-+&M|=uZ2_OoG4|6YZ8E6aQ%+OU zeN$`R8MFRcHsfGjrcus0X@3oAyZTUL)PR*C2d?U>e2^1w8cwqA*Z6}|;v%}v zgT$Bk6`i?WQOfzrKQ*2w=j|{+Yp0M^Ca+}@K0UIyD;{5*b0cX9ZMnRbP9+k4WsDQ- z68co&dmrmg?273F;h*PUIGCdr-(jnLkU*c{YiYCd4!tV44|J$8NO~>TxtC>f`(=mt zo=C+L%k&$t&VqNn=EnQbWWMnsurK7u35RaSq|gCqt_kn{5zTT?0Wu0qP8K6E9Oq;eQuvhmhG@n z?PomDNqkj?&Gzd2s`S*;Ce>Boo$dTMQ`$)#&;k3Q;|z@*evGO92vOqO7@)uEtgw`m zmFu-dl-oH4_z@xfVY4&u63HyNzTt|2R!xUZS$(1qj1f- zjIQKK%ZVFu9{@=Q+pb$`mjoOu1a+Y7$HdK<-k{B7ms2k+S(DdEtQ{}35Z0kGxP&xl zqcC(pqquY+i9q^GVx<9Tqwu7OOsX^!PjryZDK-luWhL@LN3NbEm=J5c{avxwyEgMC zj611pQn@?PHEAHabyDTEc5HT1an(~(+M!+64NeEz0N6H3hqTK-G?b8+b}1hj%IG8- zop4rq5}HoOM#GG@%BMf)$mgJNf=`7ij~pSucLrPivXI+WcnzF%EJwL7*7@3r@!<>K z9jo>8+CBQc4v@Z>^^KF_!{@y-ruRV`wtx18+&qHPu10C$!B_e+Cy@rfhiQOrBKM@DdaAtB=8D8OBmp%88q?<(<(Z(gHU7xf zb^%#$^no#gdchYtZZ6buo+)EM&cR}$+qjXE;S)}ZfaIG#Ndz3`H@g9h>OwOY(U)sY zs>Hs#0X*_mU&E6Hk2|GYNAzbjdD^0GF;|3B-i$|VaQZKQ9yIq^nC4}klcEp2J#xrBqn-A$I z0%ic!&cPA~aKzf1U)U0tmSM}d*0Rqh@R(lLy{soaeSnWvM@9Q$ADOM^s$CdyQJ<&#~#3YY=zm%%{}a#IV$5c6VBjb>T?v$ZqC*o0kx7b- z+JY?8_QP-BK~8jDiN|zUVjA(Hj;tnwc+gXt zr9>RD)8cIlzJ^E1auhmp(=~po?d?KInpqouTJ=^BR3qqvHE^H#e_MR#_3=CZCr7|<#E%Qm&eod%M#%r5v$Vo z{>%PP)!?9^H~r5A%A|4-UOr`PnA_sP&14XWj)-xn%DQ#I3(j@v0I5nYaLJeSw2hCo z?luaUH)Hah^!%QI$3@{2+F%(9=s}dS^%n-R!t5fxxYFveKPvl?1Mo`zOEH8J3f+4e z<-kby)L65lfBmV4oVPx+CEBM{+Qx+upDcBavi1}{(SY}`&{zB`iQu%n=uW(2>6H3N#L+&e&?_HjPvk;pH0G`7iu=?L3wakaF_r?i1UW$+ z=T$#Y$0WR_gEOV|A>}34#4Pa!my1r7t1U9~D0waSKRj7B5DOD>?D0=I=a`BrJ65vW z*^XokZ{8UrKvioNWK>vve77ztBNqEEM#jQCW-4QcBKShUpGEvgng5W02ODXp<{mTp z#btrW=r;QpPej zOP+7S@Z&uBgEtBG$)(&#u|Yu#3z;9!zz1>XJFneb>t(_~2hZJLzo%W4`gnn3pwbHP z<|CerHxv}#Y*o2Xl^QRGx zbn@g2kGxNX3qIQ5yXLkho$%Xk87GvT=#zYh_@HWo(w{LIjs@LA{*f-;_sx6ntM5SS zMLuo04YWmA>%LIXU;0P@PuSv7#r_D7o%99y)<=ITl2S?)k1xU_Uu-2` z#>Fu+ugaP;{CJf6SL*;{nzu2)MO-{C#f^N`!94DjbG<|PCv)5XbrVLs&Af$bV&`act8uiK^Wb=A1c-R|O}5XJ)(!8y0y zw2}10r=DE*-G+iAPdllj+N!dhK6nvuSx{n-G#9KRdC1#()n9d{TrzMjs&s`c~<99rK*p=3e@wal-Ok3W7$5YU5-=xyJI75+@I400YAQ!Kwt3(2l~NDPC3O+ z8-Qb2+E#g3TPdN#KA2c-3tRYb2YMY}w8wEN`qE4MK^90I79@#cJ;J4qEN5yV+f!np zGjYtaBweX?vwf6T*Y0)msr*)kHth?upNfQ1>aYBDECBdb!EH1bz9dg8pFXF( z%1gN<)tfSc%5!Z@9mwVQuJKCV#AUhJs5kf=@A#YE2rq`ZCrQ4{2Xv9QLTgr)?`&gF zcUP>|KkB#Zn67iV*K+HvZA(eZmV~cfqg{uZkeoo;u4UJyGks57j{Q~^pbi*U=!Om^ zwACtpaHI}zdOa4Xcj8*v4*df2bud<4<`cpF=-7eJWG>6pz9Ubmns@Ri4_L|-vefn6 z*@sDgsVKu1?8fMj13bZwmU`P&EiaYIo>f!I5vPSIwi*GH%82!qa+Ro%e)&)k)q0-P zw>#@MvHw=Q**#(S{@=xkZ@C~=|M4kt)T^G0C+AO!HP@LKqw}ARN6-FkT=J7!W7!IR z%tj~FJ>C(A|Hqy&bM1-IJGd}jxao?x>N~%WM;_x>A;-r$@B47P?u{G7%-J(y{P?aI zd?|HYT6FYsLdIvDQO1{Ay2nq5al5}Eb~}2n*kF^%G5X@8asO{mi_3rikT#CvW5fSE zE)Lu8?)cLiejJZ3?TT^QK92Nk8oT}Ri?P+6$H&jUa;fB=-1V)$y2g{K`6F zxG#FU24cox?}*nNwt1|z;p#DAKo>3#{3ZVQ-ap2R+LW@v^K@jv*B>qpb@j$-U;AOa zb=Rxo$A|tbo*(Rw>BIg00^nd*PptXPAH`dCxGYXM;^cU7a3H3SOo(Z_zd3gMP^S;S zj?3_Y=Z@t$KI|eN*6i@%?DzdKo?AH(Q}bqsBvDc?w9~*8qEqYfjh`E2iI4=D7A7jq&da={5za9H;*)awm_owmnevB%MS$A)e*W9(OP>2Dtv*SMJd<>TVWgYJtzA9Q>? zyjXgrd-{8iiGO+TvvKx;CurP((|GvsH{+k*`D~nb@b}}vg_;k<%Keh5_caH_>prqi zY`o=6wRwKL^tV67xnI6i?b7(%Rb%|a`^LtbO^>dHPsd~D|0%9G@%mW2jCaG+;GP)& zx;MnGAC`RKc~m@Co_IqnlKt+U>9NI$$HxJ~C&kx3evvMwdNt+-)L%R@z^EOFHQw`q z*yW%NV#d1DoB8+HIlqfbPr5ButjuTMyVQ<}dmR$5`|v8UI9>feIxg0GSuAAdy=V2?6tA(TRXNr?OUFq_tCN2E4Jwl$>ext1dQA1_3@gI>=&E9YRwqvS`o{i ze>R@I{i3-1>zBs@#cJYChs0i=++X8yy8DLl_}7pBDPCN`FBWGn8nmwZ*RdVb4k&9@ z3-lShvaX!vHu*W?Q!AaAu_v<%Ri(Lg@LJ6T5Y!`EiKfQfY|aZUU)gRbCmNaKpDPWF z<=~HU)dt=6OBo&-R$uMe0=1%;7*IA(tGQEe(c~leY*ET5m&(fWyp^%f5F}?pcWgb4 zM_ABd_E?~+vnQ8`BbB?khE(0~0Y=eD`UjURrCn}g#(2%~Ju!1&I38cp9gB6f$r&Lp zVyovW>)&fs!LAw|W6PMpPNj}5OD+{qN~EBm%CSRpD@drFd$ZGwh5rZ8M)alf4zQvu zQKZnp3wwv@rp%jnc#901%%_(`ETtfh&S>P8m~o$qlZqW8inb0YZSgCDJ^#|41q-d} zMNgtDCISA2r;4fE$z>mCFN8w1nnu3~1ymNV<6<8E+ZOWp?KZq=W`4$@QffQ-rBvR_ z@g(2BfQ}wZT9wLNHslSX1Q=Ay!5>>r)B5Hg%J@f6wbUav@Bux=Zb@AwY-uT@;VP+9dIs1+B;@E0%2u0QeTapwR0I*D!iNJrU6mR`ECKfUc@iRau*eUsOMePyo1RdPM)LZQHdopUmJTL`<9r!@}{`( zo5#gz-#aUAzy0Z$rvb>FbC1Eh&W@jc>09x$FaCG@`uJ<(1ua_K@nswmR2HEX3$@X^ z;LmZvx75bd?uwxu-yDa2>!29u%SXQO6(4g+%JRq~7ss!@^xxL|i?5y+kIQD)p6`jH zjy*KiTA;r9_Q`59W9;AKpu?xcB8{=fZoWTOj^7|w+f*kZwP~<>d`#PRR&-C$h3Lk- zH(hCb3ESmbi6b&5-a5|elgHI75Qr@zz3p#XKk89`cg68%RC&z`TnGyW`Qt!fCFKO_)JtX6V5#D2ssHl}X#STFx+ z!z}tkh8nXHJqYBv55AQ3o!X)&3zAey+o`VtDyn|dU6s`&s4iU9ML8Law=^-Q?0;~y zLb>?+wN?yj%<_dx#G1ZV>g(=~=>vJ!9e=^+JV@}k655Z9xSTrd4|wIvy%+*%Ii+i< z)rCy0Wjlc4H?cBRN^P$eE4}c$zXkRKeWhN@8JGqvD;ci`rF|}gg8_Y21e{X(QIh4r z>0F__9rJ+j6f7eUo&K`V$dQ9Cbzh9}4-&OLHTFDT5cJR4SYnKx~YKL0@6e(}|D$0gUs zJ=Z@SEBRbnF!K1daqcN+#}#Lu6My;2x8j^zBGx)^mzdno7v!{=y5r)wDu@ylO58r_@k5bLfrtW8gTOg-|>_+y;&<^PIvZcQB%`-il7r+s;{ zqzxmz>&BKJ-XkVIa(0~f*;C`v^Dc_Ne*HUfo;I(W9r?N#*E1ONZo54m8=Mgv?XtEm z5V(kl=-+wkSbg}RxaXDyv8-oSY;*LU(($KO$2U^PrboOk2Bd>$Y}vSsJbhDK@Z0m^ z%Cr9xSN#5tSTdr8g2i7nPiEre@DZ&7-8#s}J=3!igo$G00F*iieqc;X`;F8uAe^5ML=;*2}Bd7K^FH~x>6 z-ORFVVtDuhk5~+|PlxWhEH3%k`Em0(SH#~=J|X`1H|mSc)E8^Y7Mp5uk34;|Y@HWZ z+twYiC}ziYNAJ}UtG_B%#g^jDrg)jQ;eM67_la|H3r~NW6xbUjD`7eKoi%+^X=9X~=Fa~ea_`BoM>*C%Up4K9$ z3Cab7$0{dy*}eOcxa6nj$4%#49@m}p!}#TC*~Zx#Z*24&6a6zU{Bfkx$o$9R&daZf z+b{iF{QZiD)#mkLhmY(TQ%ajJQJXJ3=D*`yU9@a=ap&&)1+4$ z^ZpHEoo)Iw7S@be+v}nR+`vXLYwPZK;nut3IbCqo$F2O>P4_yn^~d&!=}-JQe)7TZ z$JwX`LzU(Qf0zW>cQ;Rkm{&+c!HSMRKiNZ(qq z)yMXZsgIo!L%{OhL`!{G}vF>)nLa`sWaja8g z!9|xmV92CD#V6Jn`uCE*#XUF7@$0|>a?(Deo#`)IcN8V;{ z7;BXAc;N+C$1Q(3KQ2Dyx|pZ&=#xqrbAZ=XC869N7mQNNTxPuxzlzk&1D%bhOO#Vz zuHBTekr!L^A#<3McAiqC*^3W!ltN1#fY*EH=um-bC7tHaMb{BDcZgu zeIX*);TiPq=;v0aWg{P>5ncaE=}Q`cC&!w7FDWl7C=(;Cqf`sNueU2UncN-S^^2)2 zdIEexFKs2Z7N@`DLmdOgsf2x{CgiJ2r(M$VYC3 zuzbOxLS>ID5_S2LabbQYA7D}J>A-~)QN|WHk8$YcOFyCUtFmj4?}^Q(XtOSd_(jaQ zgE>BkVfGt(0Q|E9s?$DvN;*(&Wqhe8_}r$PHI;rcpLr8s_eqYmKl0Bgct_1Vu)CZS2b2>+qd=P1G{}X#)RJx8^pA zGl(eaNP;wg5Pt-y)&a_C*bAAx>clfB$^_Ft4!FwxtdlyA+yH!vGa&jn z8GPxU$F!N76#Y{*h(%y?3UEhh{BTc99$XmD+*x$==CiJhb)3b|;Wf63*&FNX^s2wb zQ$4-WKQIszdl$xIw?7wM8*CIa$LZuf|JJzs_Muo~*BxUr8;9-*F>8;FV)X7C;?5Ve zeOqm-*l?p5tD|ROJc(>lk=fmFgr>I-g( zGrw?59RHbP;-{bfMx6BN|B9b|S{vS*wLMm6@&&1p)whcEHyVv+$FyTnhY#A&5+CVH zA9OM*K8&0Bs@OoX>3>fn>ljFOy8P$4|`jpXq=6 zo_KWbgxK!m{}u=CzFth}=AGlc@>TKnBA37;NQ}Wrj3*v%l0Dj$y~JZyy!KGClA9ph zyn7#S+Q>7@Tnm^N_68Wkw6`~=(8sH7ljGyc>*C37`OrTQlW6m8#CKzjFUxaq3JF>A-oH57(oXp1dl_QaRs{u`cjn|Y9lKkSXHwnePJ zSyw!B(Pi=I@=?u?o|rZ=E+&uk$M~7s#73KhXjjDJE0Q)v{;kj^@}a?*vB_&^#j@46 zjP>BT7#>}miatgDH$1z{@+TZQe&~~2l)MfoW&l|;KA3-!pFE^Fe0R>jNxJY|zNXs1 ze7jO(t-Fjh#p00?3+Bqom+op~q4~OUW66xWyToEMnb!r|<{hz+xf+Xl0#DGmqkq*0 zQ?I*LB(lwC;OPQ?xQyg?~;EvEwH z94}cA>6_Y;M z2j@`u>xyap$q(QUZ4(jj{$hc zq$&dqzEW=Vb;ZpB0k?(tCMN$I_4st_lSGwL=Y3_AS9mKvJ8Rldj;`HBPR(yXUUN&&gSVIwg?iH&?|oHvByhPq?oP)~F(SsBsS z@8At-12$ogBjd2sPl(Umbb5U2*5Ac9zP?Kg*rtLj$J6epb+CCrN6*sK(Ji{an5LlC z0X#Bwa*Wf4YTfsLKTf#v4{_{OzmIQU^PBkWd)JGe-ia}80_~k24_ta*3~%z<*lM;; z#M8EqO}Fok$1lGz7D!RglqoUZI*uKq<8wvF!1&G$r}*(r?VYHN6&E3F4(&Lxc7$px zGLOL*;*slaioaiTOFVGR?eV}>O4r;GPrjh71u@kkIy_~P+c9gEc8u|%3_yTrJed)fF5 z$X3St*!bbg{G1T|<8ssF{*fWaqlBT3t=u5Es{h0R4V$2A(JgV#M}HL8J-czd;d?)d zubq8N9Q4LnYW3LX``E~{sb?d{mrMNwxo~n{`ZNxAR~vtIY<%Xr)8ZR9{6=kjZ8P5R zlN)4ir~9r2o`Yt?KT)Y~a*6K;j*A~%eO4TM&6)A->wX)be_xHS1V)~VhyFGvdbiy^ z)*sgu6JGnOnEudhasDNDMQpc2tUq3x>0P#osSECkd+rvDSbLRow$y~!j~49 zHgU917r^~)SD*WL)HGrTZOX7NAeJnNB}=wMH#2-en4YQu{iFUGvYfPvEZ5Vv9XAl=vdrZ zVj)1^g?bqggK)j+V`JTg~o8r%_jK_oDu&zc} zyF#+O=XYKh)oC>Ewq={@qcL@@$1(SP#g{z$AoXP5WbQ{~RPx*rpc_QWmSkF<{D3xR z%e<;i^a&@XmaqCQ9^;cY`BM*&(zOJgx{mcET4jr~sUyqvE?Gj#rk>P2R%h00Ipfvp ztGeS^3Ge-fiIo6t?BbjR9SBl(e~hZc?cM}|^Y@u&DPgvpQy_V= z45iYWb}F}A+1OTewpVy5Xlbdh)j_IWq#pi#;YKRsfO2EcI+Bla!6r_;x!y+j#Y9Tb z?Vt17ztr3IL3ckP)6lZapT{qMqSrnr=eraJJL^Io?6-vYFBlzDv5n9uCld=4ocTyH z0ncEayJURU4R&D3oRL(BIKNjl~*NDmHT#&D#<8&ynsu8I>F}M zc%UnWW*rcR{NTt~cjjVn_F6l7 z_IOQf)OAnXboqs6h0iU2< zCUL?h995>?$?eyMiZ7;;_Xm4Ec)KM#vUrKxfe**LKYjRKX~(zmVS!>%Y}rPM51Z9! z{Qs|)#o*h-K>p{+i8vECow#Q06$gCp(3rLK`Z)JLzZu7W=D-;Gh_Y{a@A zye|Iwkx#|f-u}I~ z?*i_?M$En9ws>jcHnGKatH%br%#P=;zcrq}`Hpya+;*|$HtPsCE0+E3`gnAO#)EWo z0hX`PlfMhGp-uLT$&NG|du>PEwwT8l?}{lir&@-w$R`ZFp+uWLpV49Vx%#t)Ut`~yF@IOm)D|9zi! zEWY0ni@z_>d?OZD)>y0&>yL@W_OX>>v0;q`*X8&rue})+;0rexvVW=MSi+~$Gy2P0 z93Gc;UKGZeGPkV*YMqSDd5`Snnj$^oA6~jFR>ozyVKZjJpWINZEdKoBE@kFi z;*v)>byz98UU|}n^_pg`#HpUPfTU+B%lK2*gGxt^_lJ*j_>wkXb1>})kSi*!4!ja= zwmfvpRsS+}>rBW;8y?o0_mXy`l_z6`nv4aHRarO6Ri{5{d$Uc{vu^=#C`ozvN-8q; zmGMLWIfo`WVr^ZStP7js^9?T{vz{{Mg~v%a>*|1NTe)AK=~QTfd~-@d>tCkso}O5D zLU(LBMW+nS@%!eFD&}yOSQcII^52fpq6;K+CHMhom9H?mh@V-g@+8VCIri0W?6y1{ zQg_;ODmY~8dSs~bC3X6giK9nhX%{JV1NC`r$5_M~H!g0L4`&>+Zz3l4YP|OGrXsXf zA4C(K3;0^Lji!A?hwX7*VGqKXR6mu$jd##9Z#*lMP9A{{_P1cuwd64r1+`5sSDqBg z`BP;|`@M!0{)S%oYcbbYyR)nc;LayO5QJ6@SrOqf6Of)E(D(MGY>z>9IqNxzOu zuevQBxa03}-<{9rMoiEIxcaIJ^+HZxjKF7-_@BE!9(y8UjZN2xg?HZ7(db%{qt{++pk?7>mGDS?0fLmF?!==aodZ0MXxvdo_jDJd$KE5 z-*mNDc+dUu=w0Y|$U0uQ>-iX6DS2(Oh+=wE{1c{oo%Le+TK#UnH;g2FbDt@d1|W?N z?p|}po{fAzwA2#uynKH$?8D-F@!^4Z((QOSUcCGHh(Y-dg|*3144!{59=HFi z$71~Nh`|ez#eW`qVWXch)WWpk`mx5qOL5C7zlqDQzAYZQ^PYG>ZFOH1znnSXl(Q`( z&pl9Vtr3gvDe=DZfq3T5hvT`s6z>&k*9cq8B9F&eFj&vXf|&c%is;^S%UE9ZSQd+7DPwTv%$TITZ+-1z#$TJjGGB%_ z+92C_@@a9I#@mB;{yiRa8_|znvPd~H;V7QYO}@%ebcs?JHy)W z-FI``^UT!P_Naf39kzZU?!5NN=$>~++;<-Q2*enPcUdM6%Scy1JrRyg`T`ea*l+Q?>8(Qr4{4GciLbK^i1TIhQI{&<8~ zY_eJ`(l~uY<21+GLyE<-5i9#+oW^PIy)TbNSBb?oN4+g$aRss9B1L1<;}g5GIIPX| zBCSsDU-fP2-})VapJ(0LfY8ueNQ*yv`_3snUb;r8<>=LW>@+eowCr^lp z$>XuB*Pk+WKX_AI#CRNJJkH23T@z3BNxOa*`{>ZIDYMp!j@^pOVVJRY&Uhe)M`f=m zN-$V|r4=RSPokOVQ&$<+%6)fAGW4hW)G5b&#*rkxVk_wdZ{106avd^dTUVt4gpK5r zsd4mG+Qk2)Ql^?^^yL_!ERE3om+io(I#wGx{UkZh6A+>|ZE!i)l4<>_!y_6e`URSV zS?4c(2TJG+No&jW9XAWOVYBh1u9&P1*8SR)E*=tHi*8yQ2| z&sf1LKGBc?ti@$$X(#Eip|`8@hjH^SAA7O2ywSsqKT#oEr=j_Q*)sm_5yquBU_pJ|tX z)eFtaW4wU=sTz$gy3po%Ok!jvvdB|SDd+UJ37q+oC;M7?y?`xs*84inc*py)^8JWv zcO6~y@I_wysy@PzNp%${qa)i&-=u!~ikwC9rOTgmv@J~8CJru-O#mvg44;xK%CS>Y zV#-nUM!v}UBFKDIKEZrCSda6>0dBIPZ4-y&Y58r##N^?77Z8#kKKdG-RGxh$o(!7u zqN}FTp2mi9{P&Fvkysl&+Vo#KwoWc34n+YKgp-oW90->)r_Kq@ER|;Yq7&yJsSXow z-bj0iccXyPn6_^2leAVy@OB0^*{MrEZgb5 z@#P7}eH+)|$vek>r++p6<=1bEHO6xS=T}mb z+6)@k5?EaQ$7HU3EkLAu=<&Gjr1as7_Tiw|%|5&@_TFKlpY`U!g$kaq_#!>s!%xJG zV`LAu?Ea3yMElR(@Lb#z1|NMq=B!*TUj1+Hi~SDSJ+|L>*Vt(%`Xb|M$L%~a*$V7+ z4?h_<+t$A-R-Z^e4}W9q|B?6E7LPU%D>kOpzfPdm9V_Fpzx*xcPuna0`3E13J>Ri^ zZ1tAc#}-@jSwwEuV)ov#|Cf%4oe$Y1wmER`*yodPh)w&J#xsvTuf=FVJaUJ|;MN+0 zpE)dce9IeS*Dvg?6EvINVa1aTOm_@D@>sU<{F?PsHCZel{lWy=QFt z;`MRsLnF~UG&k-OMH?R(A3fz$ zvG=?8i!Bt}oj+(-aRss1J!5e*vEWmP{Pe+V z6Juv&aXfMR9QE&^@wU$#?*8573wybLz2;Sr%&K)#HY4YnTVX_EYg>|*ZR{F+Ag=rM zT`{!v+v4c&zbke+YLD3Z!|#rR4qwZ&%$wo$H6FisSnPDjt{RW~#=f6CILG57FX$qP ziwiD{&?tT%(|-1EnG3d-Hfz~=6Jv5IL67GRH2p(YYS!+;>l;BX1KPlP-Xi1EjQzov zdXBL_$`evk{wKb!T@9ag8RaZ}OM4|#UU;0^cKUlfLZPe9tD>sSQCG{wW(_P z&YG!$%Y}#bceYis%zNl?WupDOcb!rySTx8xu(Qksg-c@PPBP=k?N__%O)uLMUp?o} z)aI0p>HQ0Ik>@Mk%IeR`@}Q#c#~=$;h~&*ORZ^t#Za=prq#9<3p!Bu*r0Bl>ec}ch8n8`C~W@n zB8vnUyri^dJ>;U>IhE~EDcfh|=ye|&pJn$`k)vLH9ncu!B@2v2U$_aT^=q#pv(GP2 z9{Q&7%k>5@T5@-DT zALHTvSI3*a_}O^he}5w0@`f4l!d>^q^NV;^o=sonm%UYV_%9n|fR)e=UT{+UNi`~JCPl=y> z=InT+cN^7oRL2{?zzzRMU>WCib*9eMmiEkY9Pxsg3`871`Y+JF)uDu?}j= zPhTE?`j2zsk%67!ji3K?y!RXb7XNhc^myU!``s7Z2eqx@Uw*K{<4|3(Lbgt9V)cPI z>T~$HZpIr&SvX}PeP%3Tn{tkLDkInZHh%f_OX8X7uZ{ga@&0)8r;doNCO;kbUi&~S zV!9IOtg=V!ApJ~KmF7n;@-i{<8`|5def&4iLG8WBYGwb$FggGA^U%b2m5!_ zh0J?mp95#aGiM$b$Nk48v3MxI)Y)~_uj1rSo)r%jo_#CNmoJS)@@0Zz^29HG9XCES zDYiRu$C#)F^5aVNV^!Kw+s~Y!{W`xiI7S4I(GZKDmRNYKeeR!Qcg2FSmO2+_;#u z&E6W1A1UK;DDF5xuJd@}ZU)TiGx>mPh7=rCLf-vo*{a zn()@GoH}@K7My4!f^A#tTAp;3<#(zsTG1n1`kT@>=xVJ;0ymALupD zRM;$6Wz#o+KCH62F)4nloOKR7W|g`UGX9AudM(G7|1|b`D`!{CTbcIUR{B<0$EL7& zbL6sSD0o301;P*L>VLj;coU|2is5f*OJh6BmR6pdEhW>Dqu$CiHUvorDldMKxAmlR zL`NoksAHhB4^mIc0@!S0n;Tbr1i(Ye1TN(`A7`CPDQoWJ=0E&wJC7zkwpjDY&tIlo z`lBlTQK0N2<0#9ifp}z0^F|Y6G3PY&j2pPxMgR$TOR^jSm0oOP%X!w(U*m!<1F|V( zNZzU^b)>FL*&j8fjyfJ{pH`@R0ILqV7)L9Hz~|T{=P|5jmf}ZgSBH*lpEA>&C6CKF ze!v0ESP`CI7fwhU{|Ksowj-#zIw|Q-M{0b4hdkrl@_?_j3a?a7{>En0?wliatR$=| zpBLlRO2#E?Rm7iUIfssqB(R+)_+ zcd%(b6PXk1gkjzc(i217!?8rX+_7NO%ZYWRb}GEGF}M3l`sW15BPFz&4F$*vL+H?^ zR*F-{NQ{%-iAwMjdN_GRU};bKvqE~i2KX4hE5^yQ3B&ChVR+lk!mgFEq=%J7dp+5k zGBV(k_pod%g(e-mZjO&38y!4$qqYq9@Sgab2@|yG;PH@^w68nA3hFQTaR*jDy9H|O z(in0F}A z1mfgJa75$6h>!Z0cBlXR`lDqP*D6cOACeJ4ZQ~IH-bcPzGQ0}Uce_1v@=YGZj0o2^ z1Q9Fa#6kp?$jTDQ^7bFb7kIw3+}c7qduT<^tl0UCug9KqPKYmm`YQD)k23YTpRw;( zHZty{*FH-RbTsg)KfhX1bYjfoKhW5SfnVA)=$Nso1kami*d(%X8-Y&$h-aDNlB24$ zQGGCZG#_8$nQOj`!Z=$hKH|%+bv$4AlrO$GlKrLKD>O!UjixlcLYw)SF5htgLL5+bBTA8FQyNbGne4ulN0XL6HDGW1dX{vd>FgfrhoWO z1g}S=UwPf;%XrjYbixCjFNqQ_zQl=N!*bN^*Om? zre-v;;0x@^nQ!#ZLd9&E<|IDw<{akKvR?XS(CfrxVmzc+G#hHgLhSH42ALtUDF~Oo$*Cl*m?ZQ9&XFQ>MSa|BaS^!v=Y)`nM7>KRE zabkRA!#~H@|Md^CWToPycnm6TytU{5$J?Jr-IiVDeegPObNi<1R;#L#RFbMny%3TB zwFV3V$wC8TurRH0;yB>p4D4Zs6MGEjW7tkG7;Fp{pKS~=1Oic<*pfg93DFtL7DlKk z^(v{y(*lMKfcU!)?TxpbIrB(+WVaMyys-^(wOC+HAJoW zzZT9dpJQ2O3lM{W(X*Kdc3{6e?|{tpHu#+q z?0+i0u7yc^; z7_GhVmbu(#(|xpSHHp;OZ^N>eI8jA?Nj>P;Ev%_ye1SPv>VO&1Eh@VPc#v23h9aiA zWRH0o-`=GJsVk-BpLe52w{T#)?u67hoe;{EzxiD|(~BNdIBzV_8!Rsc>j<}f^-H*l zbRDJB>bA9?_5rWJiHA{I3q$}8Kri`%eJVPzF8Kka&z=(@pZxRljfZx|N6wUH+fUPq+jQ>8?Q&r#K*Xh7JpRPQD+P3I zgUp&F8XMgBG!c@GyqMCC4GwaX>wk=t3gXg~ltBt=!j0AeJuY}`?DlAU_(sn^tfLFr zmU?)6Zk2aC(c?yd8v||@xyW77m7SY2cz}OOU3R%i&$zgO;-;2cHolRZ;9RV^5$4AK zif#bN!aQAQb8G0(o+xfcxsl%Dv(uZBt>@jtL%Lb^MPG`1tcSQ;x_M!&2gTpyW?Fol zZAk+k+-j2>{>g_IA$fJk}65?~H}%_A6D!tGqKdt&<(boWC?&(TyVi^FV$12TN|8sntq( zt!%Y&1^?6t z5uaw~BN=(2$QtAOye}y}bASqYBXcdK$LiWqo_u{EHQQF>&#BH;I_R=K99j;j3wq2a zV@Idwi+N!_x?aqkV>+JVG8?jIm9`G`=H`y7$A&-5aYLz_aq)?P4})wOGHWpQ_327)Dom)qGE&Nni<@2klHqrQWS_ZU zz2^MEmY4k0gmaklVN>THAGP6y3TqB+z-vu0{H;GqZbx&*`rw5nRq*=pyrmZC@P8Z! zWW&vgKTf6`IP5A%emsf!^|>fM`7?JUia+8VAdd9%S1+v}`CuI6N^KcGxAQqivqtg5 z3la7u=4(^)aqX+WWjycp$Hx5+o*9qnMb5R)f5rIfZ+g=B+)w=V@%lGBG*0dw@(nsK ziMB{nLD)Cg2bg1gvL+`G%K9tR`8TkZ$fa4?SE1C5>*@S?!KU82c*&aMW)^MV*qRf& z`MQEqI{Ox89Nn@>s_|`_4v@YrJRcxBNQv}pVrZZ2_%Qe~cuS_1^jNh|Y*2X>jKSj&S(*AAi;L;85 z%GeKGw7=}s7$1B@=bBQ(4Uk&t*)Cv^mpbQ1ZxPW-sq~BT0Xx?oauP(xNo&p1^C+&_ zSySP4Oy_Nl=mc>^?VPW1o%0dPI^u*(4Cz@8PYT#_(+r@F>?y~yQu&(9Lpmw$xF+@C z+5vd3$hik(dxU+RY(=#ax9SANWJD8NJlJLk$&eGrIWwyoOk$uCTl1icZ}6bQpeFoJ zkUuKnkx`Sj#$Q{7=NuZ^4-j_-N3;kIZ8e^Jd~ICNP00h7vXGvAYBfH8es4U=1#gN0 zL_ceaXJ!p9xaULq{IAz?UjbuJWj(#%dU2hbIusa>S@Pgw12B;L;Q7m0Xai%m!*2*5 zL!*;g1ybX-ZJVazIl4>9jL~3I${w5R&C>Bz3K-YFIifGw&O59i=bGh`yijOcDq=*iismCn}x<_U| zunofW^mK`@>!|7V!@T1u3r&jd0|IiET;j2BX7LISE}I}SYe^p;XyxM-dJtSNT|7#U zq!?1TSRjdCel--p#t&k|jpA9OWMOiNCXQu#a+Bj)g!KLm;u{{JuDN|W8`~xS)G)Qx z!FfTbNjLx4nK;g{k|GykLQfl=^la09DH;{oI1k4|1AgL}B98PKX~v8uI{AnQ8S&zZc*H=?_{a(0 zo}0Lh$I8P%0@h1@pxASE#fKVL=O|gmm6*MDa;&*g3Hi(`F?cCM2oFp4p6kUJu?sLC z+@y;G9~*J0g2xZva|_@n^XGA?@#4MfYCC+92#&<5O75=(h~!bBPG~ZU8VmmYsJfx% zqs=&)CJZ<6ytD6Jg^QN>u0Qq}ymhfNCL!_0YI9uwJ>NfG`Rz{~r*1r^7X(+vW1soR zc+VUDxAEqGch6YUT0OCSa2(dHKep@<_#r^n>zqpsB*Gpfc=Oz4Z2eEe(L)9v-Pt1N zfx*R5^9CSbGNu^m%VPmp))4;Me{0Nof+if8y17vg4fA z_?Fe3WvHhfn6<_Xu9kl#_2_{yKK>}@dbFN??HKo8;2V8R79_U)u>*Mx$A|eohGq!K z)kyV))tt;+K$OQ_wc~*7Fyfn-1r92>5}o6g)Zxn?p3OaO&tNj|bTUGnBpY-0N0j(|!cF5kF+r-2C!q z8=&J{-2*kUCKr5g>Y5rqp6wFg|H;zFhy9xTLoP2C_t#=s8{ytV)%$wXeWYVAZ&n$V z&3^B7E!o;0tH1YzKflL~N}n>zp*76(66<1MCx`A!nwQ;R<}J0`Z{y3d0{i9h%CK9r z!TPQTS`^}HADvO?#F`;^$Bq;{u(S-;mz?&|xdm@6fo>Rh#~7ITx~VyIK=U|F|e_(f)cP|(E6F|>535h6NCkY=j;Uf)~R$Jom5ra*CWW;}| zae{b@UE{8wX>qz><^s{3OlIoB;mvLJ?WbhN|UDUgBJ_i%s78Zy0Fg2mbQ(<;|$?1 zBz!xRKNd5s+44E{bMDJr<|s?ppD)yWhKJYV3n#pWXt(FtSLd=H;vqWGZ=2ae{2_NP zY)tBmTch#hxIadGWG9KQhG@_J40V3)_d%4XOloT2@z_V8B|t_%oaltlkr%*B6nogs zM^@vOqh+n`?$g8nq-|Pl-bXr4k0wChYlr^iAwJr$H$Hx*Yg0Pz=RClmvxm%j4b9tU zZzSWIb)ykpyw8zm`{;z19jtX{4Pfa9e(zeL19SAqdgkM6*5!ut`a@%U^bGHQ&M~f6 zjranKd!`!A$N20Bc$zUFQCR(*8S|N0nUsVq{Vp?Z2zTy*`0JczK47{9S4pAz4DIZB zc%?{HvSo zvE@rw;i1)2I!WcuKfEM#@(0dgf#V}Kxd1i}VDF!nmp(n*IVSdPli?@#rH@=ryTwBm zn|am^wW|xFzv8fbz>b7>TH~{i;dc&mPP|KN8DqD0BJx58eD`wRw=`~va5>;+a9%jw zGA0N%X!Fo>3*Cp<6N^54`s82@`Owh|npWckGg)>8ES>&m3+HH?u0Pf}z|T7y=s;C( zp5(-o9(yRiHin&TJ+}C@ZL8k1|tg;AJjfGS3o=_A3jdN zR|oQ=H~n!LKCj$1Qw|;nYe*3#LhA1pHU_i~^317S2s&=t_q_YR#|3_;+BT_$c{Gnj zHqHSa58_BmE%lz|(>ii5P9@;@)C?AA=@ntzo&81L`6t(k>jn>Pu zLr-z+C-a2NeroKo>v5vb_^ep*g2Rkm>=PsXq!%?o`w-tE>;U@2wO#Sc)IDR!U+)U+ zCqB$`EEv$}g`fEh(8o8r5W%fynR=a%y&m9rZY4;q$ub`=>;IcLuC;oCUh9^R0j(s% zZ)yP0tC@zQmZy9s4jsGwb4TV=M zWcFPC;lTISE1Eql-!g-QZ<$%;#@$Y^C5~)lpYwt~=UT=9bbRr}I=sH;pRr`#k>|ID|jejF*?FTzl(2I|r zSI+@+EqVJV0_R?1@UA(uK5jfb^dd$z^`|(IrJcUKH;$-Io9o!e7OTjEr98pmckb+? zoHx!%B=zKs=sB6shtPO%Z0WfbKj&%mg;>^gHfhCKKPu66RwXm4mTM9|()%n$r{)YE z(MN}M2iY6DoEx?x=Rlmp|^BNrpnfsV8?4j*)6LW_naVNMb=1<~shI~FZn;(#bS zrxn?F$1orO&jo?cFLM*`k03IKXvKZJEqxAEKr^-syOE>K~No@eQni9m?>JVMf=KPkij zovy<|*4S*{U5%-mjKhO0o|8ZZzY;?RA3Te))`+YtE~Hv(d1}sCkK_R_-n0Iyl~0cTINdTHT>N4Ot5V7#c^kElt3U?Lc9&$Pc+Lr@ z6R%N@3x3nqQAFtK$k#bY9%=OWHji8DU3Vm3ytp_!Ud0>USxX}}R z!(nc;=5O%81qUpWv$c~$HJ_7?Wr6xSPfRA>Br|keVL~{65+{at$pk<0}-_SEJxLW(A zlU~O(Ouhu@Sy*6E$rt{PZmy5R8)H1G7nIcU-m`gO$^F^nH)rt#&7Nb={*r^4Q;Jz0te3r$xr)a?gdhND; zV&zA!PG1pE;pAIw|MT5Y4vSu% zKd^YWdIHI?Xu*dcb@&+4$p7Gy%H# z;S|~MhE!Sbj<091eDEUQ{leBdipz0t?V9ntpZzD}zxf9*6uvXIHu)#JctdW$7deyb zR1fH2_74X=Vo;a0BjXuA{y&ZH{oBtQYwKI%vR*+sR}2z(GW7W`z?2w0n-LQyIFoC6 z(MHv3SjI8s-QundL$$7LyO|@M!{hqz{7d66{Q6IhAA0w{7=Pm(e`|dCGy5O!q{rgH z&OUU2z&hsTrM(GT@NHSAGvoN zcuomFmIXR5b%mvuUS=0_jPRfHs$YcCy1t3Ar1b<(*w7|$%wA>I z+;nh05K*?O$5e894m~Gb8^A1h>Zf@EM@0nt2RG>aLv;RmKL4-_&wESMjl>7GBv3pz zoT-)15*e}v7-5eAUT|Mr%}I^o%L?`huM`YTd!Fe#p7LRAkk+veMOEMDJz$#N1Tv6P z4=Sh{>5yFHw{g4Dq2ki;0oq`;MVE%`lqIdkBeVuwh4aF`AZ%9o|E?jrptLt%c9>AR3A*bt{ z1uP+(whjV(luFmtwU=Pxqbjhg;yL%uL;a)&?FKKc&jH$WzKNh`T{~X+ZAH36>$=%I zvFERYJny?rDOsFxT2-tEFAjg-d#^43MWf}5W+=ow9lC{=Jbhso1h4#prWK^NHMVI0 z={)ZcDxztLJ#KgknBHiH}+_HH^%3xZsr zSI5Q^zWvXSum7&6=mmscFesUh6My8K4P@gLuN&X;LoXbgANq~)Z~p$zjQ{iJe`|d7 zzRUh55&r`zb;Ya>*?4N~acE!o?0E{!*wWK2FWL>R15kcUU!{hK&$zSD9a9SPn5A6$ zz2G|+phujec;&-+881Db?cmF~fR4^G^#v*@dn?2uvAS=6)jRRXdJ}f%!<^3&5S6NJ zdQ(fxSw1x#XwP6dFTYeWAVg7 zle~IezyY@&J$#d)`+SDidxmv=Y={ChW9@t_H$TE9-!gjm%oE!~@dC>jlJ6HvkX)vw zgY$EUN;sI%5S_m%+s`qUIKVhucl6Xw9t z@VK8jpquwg^^@S%)gj(yJ7CIV@|gxKY1g0x;gt{Bnpe(CWgmhr^u#ixCO)WPj*sLq zYnI!9gH*01nDQ_lOFjnkv}?xr{P{J%5W*(o6hfh478 z81q<|#qu@D(y-}xrX}xlA~ew1Hr4?f>ONq>M<*?Qkl?fD(9Gg}Nlq;kv=0tbKZ`9- zubX$>&+$ek{~Pdy3uecreN^9LGcSUy7q>7-(dS9Y1IruT$gs=#l;)3*6tqtCbASh6 zLklIC%`%NTMAwAHU)o~b_&3;z-OK)Jy4aVU{V`VFDa<10&vEgihw;o2%+Sk5%)||3L)cwA zHg5TruN%*O!SQiXFB7Bc|=*6DbeEuxiRHuOZ;^84{Eqv>0QoS+yQTozL6$NI5 zj*cFTRUGU+546cgwqzcT2jy`Fg0==Hmq_^mJWmDf6D%=G$N5j$2?L*7`=?Dl$`36^ ztfV7i={I&}>dB+>pYlsI^!(QZ0X%%R1PDEY{ZuSBP6(7r*0#Ooq3EqE1bOP4ShQtL zU?gAZmL8B=)cRl8cC)XXSY*Hy-wl4-&(L)D?ZrAebmk1t;6C#jSp?RB zC!}$X#x>yC9=k=3#zVJVubEt^3$PR2wjC#90L7Cz^e5#gU*+_sCko7S-H&{Pw?xwbZr@*SuG^!Q<>_@Q+k{HFtu zSkWk4aY82+xgFHa>lIzF{JHtk>va-3n0HqSA#zPl*SDkr?1TUU90j#v-@X+Pe zICZFbm4gq&pjyjZ(mcn0M3wWL8bGb@v(>d4wC8DLc%$^?ON-b_v|-8T+cBWUFsXfI3M1-_Vv{5ta7 z9=e=0n0$fgdTzu>_Q*0!v>u?b=*~U00(_5{P0tImi(vy!AobNy&SyyV;2oPN z8vG}yCa}fEx}_(G5A>37?hC+#O~B`Gn((HrUrZzgjg6+C+f=gOz^$o{7@4&{p8TK!v|yc zM`F}Fmd2Ei$fPcef%kLxp`Hu8>n|Vp>@fj5YX`=`>kf|H2ksjW?C`G?D}SFj-xuz$ z{-ajXr*?d2H$A!7UNXu^PW*5X-msbI|^MSoXf-rif@!?oudpxM5tvHi^DP(<>d^zq6+yKp<>OcRAZCf?=kk(t;cs{Zi%%5*Wvd8!a3osL5 z@&a&ex z_TbEsHLX&(j;SY7?J?GeP6N_Qt8LUJ3yqIZB=7l3T-M_?2im`ycn@Dv{>bcuajDlc z|A-rZSulZw?;$st%nR}exk=Z z!JvqiXUDQ8& z9y^&WvoDW!hWBcHxJ=JV)9MB6Xytm(o6W7XW=9!M4^nt`OW`5$Orui&={(=HJ z)yqD54%H+?e_qo7w(&&<)KJG`kb z*dhYQpY`E&Od61VC~|56hn8^!$b&vL>0fh&IqLwD>K?-9kX`Cfdr=+4OWhKmT?|Q$ zi#UE@tS2fKWZt6-6Pg~dQuSb|S0MQY!sqwU?!T};-uv*nUqCnT7al&omDx(z%xC#8 zm;D!KcQtnK$EDgFz5Wl!nG1ZDbR!@7mpk&`-Z(j)`-?w5Uc39V<8S}K z+sEGJ1LOGik#X|nuO46XgJ1KdKF;HVo7?qq|K<46ANoU?@WVI<#%+J+AB?~7)$bX< z_)WhwJ~eI`FaD*!H(veBMQuLze~y3t9d90wZuM8qX)|3vJnnq`kBx78S-mwR*gN;{ z$1i=|&yIU99ZU_sf04(pE02F!dF&k;H-78u#>>Cuu5rs#uOCMbZjbXHee3wu?|b9; z;+6bk=rsSDH!nZM>?H}X0H>`l^NpXmUz+h^&v|692DZd0=Y_ou85mHVCT{yUb3FI*hpy^vvC3Ei|2glM>Lka2@#sw(dQfqZb8}Q zLeBTb8+r{?j}4IZFA#h70p#LD&RLbZV4RDg5IG}X zrzwT3{j%>srQ5lZBRgxvV7ZF#izQ%;&pf#r$NAWd^5P>iA3Y;alDF2>f(1Ai^ zpYB49Ibj^VFBcg-D36n|ux8*zFFeK_AFgW!uup;O+C1c~XSoix@uAfoAFMC1oO2vM z?WlU++>=rB>6jbg((PO})>q?s*X`Zkg%#(k~CPEal<_m9^b>b!wz z8wvDe{oZs0yc9cM>jbi1z-EW@wJPk^;SC{}OPRsA2*ugc3%B;PzXt>#XtJ;{rFTgdiVD4HuRVPuffncMdpY;H9CZG5tBgR4h6jg=W|~Z z-REfVA|Ys5x(>lpPJ4i@X9`t!EFc}_ELwnswr%^O%P5;6#3h4JfeKRs^x z-v4g=<$wIrabSawk<`26yoz%{uL3QGP5JolpZ#-_kGCv*Y#!hjM0dx=Lg#HixzPCu z>1^4y@u!>R`bdm_?UEqsFG+{-;cNTuH;sSx zw|{i}v;X18#?SraJIDR}!z?E;1*DwV2zEaCj`6?z9qIk;e>DEp|M-@1@3t1@%f4fL z*H2xQ$9F1^e@Gse$0eN%r@sEB!y7mdsx`-HAn1?5CSV{C$86 zh5yRpwKm7W77HBAu|!EP@zLd?O`msL;uCrNDY zq4PuEF|h+!qmIW~z$$#snXG%L*aFVobk+*-_$wDt-0($Q;m*Zz)a)nxthH(q;mf#k zaSHgC9ot^~0Xh#ITd`OV>>pG|to-$o7|DxwZ=L5#ISNuU#lV+zGk$znEW6ZT&a(t0 zV?Sm}RCQ2p?iVt~%nyuZ9Le4K5ex9ijRm&d#@LYJu>Eyfs{T$oP)JuIwWYlxb7UhpYA2_;95Rgk?IUh0~2RJx9lbr!$a zh*v$9jA^QkaKG5IsACWloUt*MS>OEDbu3B1k=Y44YvYN>*T=e?fAXwqW_>lurg3w? zPQ1jFLd`Ms{TK7I|K_7p{I&_ivH61DPv$j|IDVr|zB^Xzs>vTY^-P4jsbYAW$6or?A)eU$XL^&$JbMW1IPrBTUytf$rLX__+E!()-aPVTRQQpt z?+a>tzEO5O>=}9Fp{m~4h@V`o2vetW1rNi3j(y4+m?g3o@yO-X_`vD4@t%jr_>|V& z6-}&j)V^@zAuO@we=7F;wWQP+AAQeDNbVWjP%OOva#zY3XB5ouH)hChTQ~01)#9+p z7Gnyho=kBpf&bhEDZXV(E8QrX6yzq0z(vzTi$B+CwvU`=a2LUlI5FWUzVhK~3-|G5 zWLxA+RRm-2!HICXaeT$!_?mI;y>A>p_5H6OZ~WC?A8-B9 z|7rZhkH3FxeD&+bOJBS;&ad-R=M9;Vt8>|M(w{fAW)ekBwJ+>v+jm#Akn8h|l_S zT!9Tpuf1V65<}5T|@6k_>_x<)e#~=UJ ze;n`s-FwH`)ve=2|DDF>JbuP`{ATCza`IRk7x+H|+3tS+kH%Ym`Pawq{o7w3zxAsc zmo@|Z_wRiYggE&eHSwA6g34iDRp@0r==6q>6SM%dXkL@wndtj75qKg7U!zL7~l zO^GUbIMVS2gj+0C1-oi~QKWcNt;FNN_BxFl-}Dmqg(!Jooi&Ot67@yEg-v9i|Khur zVF<+Y6CO6`GKXC&#)IE(=xCiWFS57(E_oz2>kqft3uim{T+|#A9qMXdfvmfV>3p1O zbPFeM+O96rwQ^vl4$8OdW*_FO!Id0)_&MKkCW(^~TI*->XD+h_CpE!0_4Hpb84En@ zdn|gkU0zghd5jMB{bIrEQ$d_tohx%3%{Bhq@C9He4aXH~yBZ@loQLIOS`YSBdC8IU z6uPQ;!p8a7E}l5o6B3=uNjEa~>v_pOK=Zjl80spcz6qT2Q%B>YZYU-O{_z7HfFIwP zyB;%h?61UA{#mQ}-f?O*tvP|?h{i5+S$r|G4yz8f2^?DA8|QQpzz*PcknjKZ`jmy& zkWl}6xD4UuV?Z%TU8o)YBkO!RPVYE2q1L8moyOy<_@)DlrS}mF46U1SSs#{oc{9yQ zsYg)z;a%Djo4ezqe3$z!bDw-!d)x>S({+mL_*Ol#7lb~y#g|&}F(&L4tJbpfRgA8& zy5h$fxg;Ovu6R7a(RUnxJragA6sOK?vB@#0&sh=EI-K-4$Cx**A@&>$B;y>!H0Olw z52WfhsXQN8K?|2su0;aYfh4q??*$H%b;#IH9oif>9N8WBJf?dsz9!J)Nj=C5Th0m7 zT1P&2W$PCmZVFmm>N8zI1)L|9*OY+9CLfIbF@NI>dBms3=121qVydBl{n9$+!zqZ5 zjpg!@pAbyVd`^I)XB+i3!R`#vjVI(|oV~IdA9-|b{Lw?J@$tvTxTpo_wIO-G$XZwZ zu0535ragR_HHCy+;y>evK8&o%aOM`jzM0pYw@&h6-B=oB^D@VJfmMppwtym931`8~ z^{XNwd3}Qnz1Yziqj$cYMENH+GH`fiumHg`X)dfy<3Hi6_!fv?gUg1-iBKS#??FDY zePA5jIxr5Ldd|4xuGRSbZ~p$c_ww#Ipqt5K+neL!oBv>Z^vbDm*Gq31JKXeY1Ej!s z&6oga#kk>F<7tzRy>XBq_t{<_7vB6ICLfn?x=T7kI=^Qf$JtVxHH|7zTR&o7LB`oq67PAmC?dz;Ri?{xNwqqsZQ-#MOgr{cct_s6F$$*1JUcQ(eQ zx4d(FZ0ppx^Q)dPF0c4xJ)o0LCvHwq#tJN_PQ)sqHy|`FvWY`>#PK^>jE5XOJ;BK% zb5^#96oWDO4G`jZJm^&2CtT}{nAq4Cv{=%vt!^w(K_i7nUJ9V0Os3v@>9J5-`L?-y2MG| z8lwj%`_4x^+gleIJP!D*IYFjeJRH}a*@#;9g~SClsre>P`%QxF*>F-fip@K}z2R@8 z@Qs~SvCBGg4V-K9f%xmZ@Ik+>^}ZqEk~V(x+=w4J_2=QW;=M98&YpmUfOUed`O;SJ zFP=o zJr5ynsb$6!Xea0!acvyaqS$72^!hU^zJ#z>gIg~XZ7udmewgaxXV=ENAL3(e+`wlv z)<9Pf4i@~HZ+P}4`u&x$za~)10hP2Yf+Ahp_;xk)|WXmq^h&+j>DH++&rx z^Ot;$WzYU*WB(nBmXi%_7gqtj6j-3>dgbOdmft<7hNDhCuTEjc*6+AN^Te+ZZdhP= zgH`c-s$oAZJTC)GZbR|_Q7%Z?749c zAChmMIzA37nMWUf#5#_nc1SvobKQxtB_E7v?YgIoC*QO_wze+$v-|?BPfKN}HSigtg0DN$I#!ni#XOmUKkD6;E8~&#w zHPlSQlh5ejsPx^7C49%S%1L&~wJ#zWHy0OD^Llq2#uv!Ng{F9(m(V>wxv_^Ys`4ft zV4Zz7tUuw>^E+O|Mu&Xu1ApX^yued;^zbKE^Xw9S={d*vBQgK#ss9-+n=Q>XR1Uc) za;6X)+rn+CgYp5qcb3%d+lTGi)@;Y+*P#QFDXG*Vvdq7{sUCpGTD9QSJt8|&?~8Cy z`@q&?(~%^-C(CZSh=Zd;9P2N5^raIZm-x@1s2Q!|En^Axw4e5iS)WVfuYD;W!6PR6 zSTbjM_tInXenU?_t(SG2ckHBVJ_eCB#IK%;Vfz*l8^SgT;~EpyYfk>PM>k*L~1+0=Or%ziaq z**i}|`_U60^lC`s!y=6joA`4Y_@H(sqQ}*2UI#PZelf(xJkELYh9`abaXc$Y&X@$Q z9W}?7l$}@Elgr7?)p+tz-B3NcHm+#Q2I=gOmt)~mcEqt?Y~_jb#WM7x$N2cz($Nh* z&V(#+SRc-lHKMUHUdyn@XN|+I%8ySguMg@aXI$se5sy94cF>Z0+_q2t-n&@OLn`_`m7!?s&q{F+O}+H}1TvET0*_ zgw)N^WG`dp2jE_hIpYW95~B*DoHLH(5ME-jCz{n`!Ors@dj1$U!8z~2@kE~+Ul^WW zdbF)85bAg~D4rm7h!58TTiMv&gJD0$X4mJ?y^ryar(=BRk<~bTF?+A$VuLLvc8ZVm zbk`rGPWW7nGnd!=LK@LzN3TYD*_&~MFBs5v<1ve>d~?8aV(lnRq_AaYC1~9*b9yy+ zlXGK&ne@nfvkr|6o)Yrl@hB(GP7S|VUXkTS9MkmJ`A=BlCvN$XG8=+%Cd|I7;lsW% zIKMIzfG0l<1VS%7TyQ}7k27b-1@$McKglrtBPZMluOGg4oH(*K&YnK&cfI;l4go*F01$CWc@#yRPnxK44bBQIJIn+Ge-!;i@q z5BdAZ8^%BUyT3IqeC79#ANqS=tsC;JTu+K2haI1W5hJq2V`nSSb7a&}j)|U?Js)F*27h(}|`T!so`G7b1I)s)owrxW>jO-*~~~ zJPuxyJWij}e0qsZ;CFER&`HZ%^0h)8%Xq~iUznsLHg>ygB9h~e-gZQw_duYrmyS0N z@sQa!YgRJWf$vJtQEoDhJ$B$yCN1PzST>z%L`*i~fbGz$T*6G<;!{oaaSry6Zq{q- zcw+-E+UJ2{X!wT2fWQx9QdbuxkJ0X6KEPVTHs`thIGO17JG}sM^NK%q9q&2d@(Z8ZVdEFq_DPpqSJPU`D+mloD=(*x#JwPi%x$<&F$Kxr0?vD}LuX=do>9OIr#*2|p0Ql&uO)==H19~_> zC?4u7cEjXtzIVpcWjRxA~#t_)m^Ax3+2$`VE%zA zHS^S$fBa;;iSK>Ly2S^_AA-0t-9U}Fjz&i|@XTkO$R9q4XC8fGP5S{i$wpQcDL%M_aTqfaO z&n_72(FDGcSB~WBw!|wBou9tGx-R9+JdH{A`8bEz!tv=B4A4Ge!CDtpb+y0~6dKH9 z_dOE4%0maA-;*7&YfM^`0qNpE{%$%v#?5*$^kLnsUg8BHcKBp}5!l>0;v(yo@%7kT z2Yd_3e8AxR<+_%fa-GS10`a5kQk_@$Lw=F;?8^*8=8!n_kxgRpLaXOmZ@-ZTuehaa zWp!L0=<#`3!9RCyZM^59wQ=`Dd;S)pZI{eeQjHw_UombyBwBZ#yu*IajSsv~ndA1Odt*zl(EJscj>B{);_k(9@f@|eejL|$@-8_# z;<50#Vc=w9++|0i&Vzb9{IMyIjGwRDob&kbe^wqfGOYHWYzN1&XWlvvAE9Py;&J1* ze%r0%x+iRSOw1Lrc8{JKr|vlJ8#iiPdz<~Ro&cYe8XOx^MX(eg*hxADlGylLtw7PC((~h??@0z%n-k*fw6yokvsR+Ygu?%u}g37aiIUTK+7i zg(a81b2pP5I}R5EaE0@x2qIqJfC%V8vl%y0C_TArT-Ht zN9UnRE`8SERA1&zIl3&4S9s5fk23ZJq#Mp?_yfgGxD1_#P2#IBysigH5EC3;yD>LB z15ETRi$0rVY@<((o-1?+YA%3Xd^x`5CNnPSMLW6MUcGf`*h5>V{P-yS^3`$>be8op z&t@n_FMQ^n+AVkmi917XzHm}G5kLx=Tl~=bl3QUi*NIW%tc&&FBUNJfVy*bd{AP@W z$p_pd2PYp}H`&24I4>jOS3Qyd9801dAEgjU#IaLD!+O-q=Y~AMO!D^Qh8&J$DMK7) z{bJs_06aaUJncmb-PjXkZ(MtTPPlY0Z1e71JfLXX_UWVqF*6T8{TbtBd~ohNFXW$| zYWQ_MuAAuCmks`Gue}t3q30+p=c^|?kFV;Hgd*>~KI2ofExho@-bQ52*E4!SQq%Yi zpBf4&IvV+$H97DPxp!WZUr&9M@6Oiwhi~T>_Xb$`3q|VRKBJI$ocEQ6+x@!Px=zxk&s*pJo#7&zwu=OH+Aee>bfxaG)dd_*_y+&E`^Ru2%!dE~qbo8a&TVu0e) zH7%W~Lam2v;#yOE{RN^qnoqCcTH|Sb?zcY<3%PYm2WKLewclsgY~fqV>prccyHBr; z_dPtu7cT6MEfvn`@OV5dNxKVZN8eP$OeVUKhNHK51#16n$ zymCzQJ(ngUZ;GLlwSw5O+d^Wm8FaDRw^sC0@D<0N^TSX!=HQ+uh?;nqnryIMZ;SwX zbnrDia4jIn$&Z_rrhzem=1(FamUXYl_Sq*Gxn$z-iy1eDmu`R2c*$#?H*ULTH8yX% zb3FT-Zy)F1`Tp^tFPt1-_FbR@L z_dKL!tsMMMAj)KSoExA0;_>mEzwnLYr7yzgsd3AzzIlApUw+P5{ik0X|N0j`F?M!V z&#tXmYPmM2s!F6L@xn1|HJI7OB{+#i|qn{e@{NLX@&gkXj-fdqwUizx%jayIZ z@_Or?<5{nH;<)giKRq7P0!lPpoL2|N_22aMJoGYW-1Q?rJih1eymTCR|J%j~Kc{VYQH!4UZeBZ*;tMdJ8#?U(EOV7GlXZGba2u6(P*}wIH94!*+iz_T%NpmuqB;IW2zR;Wx zfO^?_JlG1n*3qyo_(B&4NvI(COd2AbwrXeYe3C7o#te^(fE~ndeC09em?}L1e7~b2 zo6G~I=vrBz-t&Mc9_JQF`Jp4vMG~xYz&{9d`v4X;;61*Q!{gyxyeUc#A41!6b-#}Jldh=*)e7Ms0?dJ;GC=mlT) z;ioF*FLOzd!h-?!i5@*20{@kUm|@R|VmN2eiqq=^6dlXxMcITyv9Y%fvQTgx-)p>Z zP|0Q+C^H4n;_&3}!WJg4Kzn7s4#qPWI@OS6@+Hen9bh+HqB?I0xR#paKz^WooZ?o^ z%nQdck++JW30+(zd-8Evl#homt&PX7`0_6Z&psA5T?hKSkPJ2F0qprB5B!7NWxW{i zFlQGM>!5V)*R{i&83M)uqC5~=omj{^lVlZ;J^srqc}3!&u5;sU69^l7}-(m}c*_F1VWbu2(pM_-pGKn%8{w_JjXOQ!n8j zL*+85iw39Jz=->-jR4pChRK*|T052X^h#}}cX zduk*cMWYd|w;$4}~6Y+q*W>S%3Ml=lyW9fMF@tS|q3{OP!of#yq{M zmkt*>0O#<{3roEENC0+bwo?HDvAp1YbCrZp+ZS6C!K>_E6r4^jf&q&x1~kDR`^YE8 zBTstz__9~MV!YrLcZ?HzUl<>G``zP2c%*&mS**{^jxBH+*0`dhZ9ud+y$qkC#k7 z?v;;!As?qNZ^*~S7@z#W_~Q@mjO!fd#gh(kPG4GAjHBa8uYJvU_Qw0i@BZ6Qj6Iz= zXa4ZMariZ_8DI0#-EsH7`_Q-`KYa4tFNrk7%b$J!c=w04#&s`w@%SqKTJXf}aqk;{ zVf?Fqq};D;j3avo#`X&k#XxwzH)rUH+34h zG9LTAw~hbszDMPYb#ZLm@XF_p8yw5_mRMunpmmZW1Bfd=Cv=nr zwN~w)97OPEFW*2|0Uk1;#J64t1Jo}s1f7eG%O9xaRxky(&lCGc&+&<2aez%mbT)SA z_CZl*{&YTC*{o7s@MzYj1*Wyf;oUGnyCT7=m;R6L6uuh{e)%Fbf* zr~?Ltmq~J0@1aK9dVtr2)pZcTI10dj;0tp}rm(Kj6FAh?{F|I$nK29BK zC)#gi!moV#Q)gYQvcbYWaIHu7I|*zao#Y{@cuzj28rnEJFG39#V}&Obd}8A{vSwsawME+|zJNKwZ-~@fxZlu$#W4)TcK!5gSL6H^ zV-&xgTd!=yo9{2+vrdP0B)sV6^lAIyH{j0(H!Get(WVy z7C-#x7=HaID~*%V(8g_=jxn2K+6YVMe-G5@Fv z4;ytH=_k|w{>JajJTM`auo;wsErlx^L@>SZykUfnATa-#66jaK6obzt;?E2zCe})^ z_%jgw(jS90X&qiL@WB(sMGjCMfiG%$URm237dEbpi|beXv5Pg?@Q<0Bdey>&Uf$Rp z+v_`HXHR|}*zGXiL{h2V`OpBjiO(j?PkZ*3> z56KT-8FXp2H7;##+nzslFdlA>`3Kg6^25hfE-6pGUE_fGYs%sB8gaIVZo|j1jl=#c z02Sng3m+>%|AO*hd~DJTmVe4Utg-Qrq1;?wl8=k)mlU6WU(Ev_2lh6{v2A`LY0cjV zb6$S7rK8BI&4F>0f4t=%SEb9xS1ztpKgFT&)b0qmXyANY=i(Z&E6Rg!xFL_+_#fFj z=x>+dUuPK$gZ2v|<;FjkU0A>DU!>*p@<){qH|2bVrQ-+=^FvY6-Co;O{L9K?XB-@x znwx{Jk%5IE@Wr0>pz$#wj58vbQ0^u=47I3>#UVVu=!8aCoq;6=t8L(ci(gAFZY_wR z^%r#e;^dvaQ`T~UV+xXJt+}!UcbxK59lR>J>7Zp~Jhr%Y#heg5!b0*4EqOL$E9jv< zYy%ei!5Xruv06ijHyQEllc(05bItli&%W$eygDW&9eR!+eYC)x%VXo>Sz%EKv!iQQ zib;IfIbhObLn%IR6H>BL_PdhVc}?3MT`90H*?%+Z=zY=otF<4{wk=&`%dwbmhs2j} z4aXN+bjk!ht8;TLU0?Lc5hgS>w5}PICk*u9n`=6xs1~dFLNTRpNAW!YO8AWq>WEtf z6L8npPDIE7F{g-D60SbH7`g5qmqmi|6x9im4`YvAhv~dcupA2a$A2iMVCgH~>1WLI zjg7fNW|8_D2e_ffm6b>8CIm)H9|PxQew65+aqXHv^NtC>26{m^5r^0J#z!8}EKac; z*cWs5Vyv0dwQ21omJh^HcW{FreH!Dv4~uCbHnXnBCn7goB9OsQnfU*;lrF{epZX_5 zwYf77Hj9*V0YT248YPN8_hQ388rxQ?lRK0=kKFJj9(zYVGC&SJZ%$6`R^u7hV80q4 ze>88}`NffX|L9kl*(HfPm(&H^avBWvc(=4<#dcb}yZ`*_sN?YO801_-6%DGyn8m=f zecMAFeXwv*f5wQ6y1?Oljj-2V^uc3cnXpDO8t$Lyq2;ymzyWzuO-rDKkuAt%LwwB{ z)GbF>dB^<`zN6d$Qa@`7X4heopQi@jc*ZL^Ada%}b`pVn;y^I*GDg>~**e;nS;1d) zgYxG^f#tLLM1Yi^sb&%QNTn`suf`WHtn@-mbe}s6LNZrK^_b(%U@u;e;FTS>tXkL5 zK%&{&e@%P-b$eq&=O8w`34G5Po!IDk4ARb$j$L0TVNg@gqiDw~5I>O$u;0-be2&bL z?Dax8Xn^alIQrZl#!1{uD1l=m$GuLj#7iM^Q9(iAO%s0X=>7BwS$y4?P467h>Y|hk z;af{b@j1aYFyE-dBk)4cJa_6nJCdnqlK7|v-;~0yhVstu0lrm*e;gHWL$v?VR5z>e zxWVKbX*Q*kbjY2!`~wXeCm&-$&NsoxZd*6`noMr`?b|+d<0>BqbOXDtG`K0Q#`u=f}tQDkA()a|V zPD9Q-7CX>->b;K8EhUr5g>?^^qnhJ^#^(&Z1_5kQrJpmyCZ8jo4J}UqQ=RV=$9|Jk zE*@oDInR1Psu$=O(8+!}*f#w1-IkEdZRw$@*AqH9FUEUS-P~)=9mnTuV7~ZSK|b(g ztcJtENa|2|`a&aY9$N!>6i+#H##Zy*qnNunmQXbI#%ZZRNkmqC?F2zuH0xlV5XEG ztI2vcPd+Y(0R&y~x#A^|+0@f&(;+_Q^$Rb2sDS(+wqmga$=!nVY8-vrK|SI+;IUMm zQ=*epP`LGGJU5%o!(n>=)0lbqByMs?+-o@p@<87C2H-R|5M7>JWeyShq4yzJWwRA6-f8 z9=X~SlX=P;SmE zlx>X0MvB6z6TAf=<{%&+KkO&K8auL?cxV03u+s9lXB`9NKHsyv#~FDlo$)qA?hHNl z;;At@hchO+e0WUOsdd|XT|tJB+O%dL8)CT{Pdv6huGft_-=xBi3!#-PX^T9kn9-Qe zuVp?Q^F~Z|ljS%CkTs9Co8-mw7{Ea@eux{7@U2Y90BjdWkSQ107!9A#tbhJIYh^XQ zc!6)tk?ORz+6HskIX0j`5}9W;h)7avA$k$HTDOwaYtGm!^t|El+BkKv>LXXY!++Uz zl@d?!=lZIZ9(}zj1wYGshqPQMido@tFF*Vz^<;0$8F;DT4P>=5 z_-9gTz*pL>=|&KLdF3M=<;J_;SggaB4ezYmpKT< zGdM=VJL9&~oqQI4bclhJaXCi4J7F8YveJr^pY?U!%pTYj-s5AeIwpL4 zW{hg;9YZ~10;U^%LEr4~YB_@yO)^&T>YM$j1G;`7J+77+s0r4R`@FL)b;@{qoIRS7 zR&VvB;58%(%vn_pKWwr7kcV)Tji4c26EZper>0LKxdrPL`NO`aTUwZ zlAZb3w5JC7DBVy*>tl4606)&+gY9Qo^VFpLQ%~>S@rWdRSQ!bBSYqnw9LoVH*6}0l zmRZ}GgcLXhDKxJu2bkxY3o^BWj;Wd#&!5j15lL*LY)x^*vojxD2IpnUvl8v84$0E7 zQG$m;@f+GtVCI8YmPNJ40tsB2BD}`niR$>BEAEYAZ`@iiw6@u+@C*;_Dih-n!W`QM zp-ec}u0J@&)2@+4+>iG?l+PIx|JkR;cvB=pp zH4NV_%t`b>a=rB^KN_^B8%?eean^2C(W_KwL7@`}4y-B`nJlr0XaVQxB(Kx&X96Bpj1488Z|{ZKs2; z8C58}(~}z?t-4n0@B@#kp1hNb9}7{8o;gD2xj+lNV#(1O8@nd3#{p0+RI`0yGr2SA zTO(}EDM{Q-dd^4=o^|aQC-_z-38qGjF!uI<3!0FT#Tkn$^V8Z(-urz5vT1S|2 zie`G(NpW^nk=2n zwMQ5OV4uxgtAL2I37@%WUh${9Y;93&7!p{ubvllFON3JQro(g3T4COr*E;P3qov=b zVellkQqBczmP5iRMYT|7N@&}jFVAuOz{t7~po7TgS$s@0aa7fl ztaOSq$*mtUdt&)8SV^6FpXd@;rT8Wacc(+gFTVjYAlLAn3T&STnl0Q0wIF$PO_ZY- z7I?bkGaEJAw0UJKJQ{sYHiYuWAdLwscK35l)vD%x_uJ=M*nr8h>AbBxfd$f6F4cF8 zuFX+M`toFKeruQ8;4Pq{KEEXe4fv4qbk;; zS5~^Q60UhT$Inyuzzs`3;8iHwvS03vn+~tW*==qfDp=`~pGo<(m#MamU}}yoighRxu`C!CW0d#ZN)aF*q+YEhje6ea<)D(Y)n|ZrpXF>6WB>N1|($kf`ZU_MUlo++?+^K|1J9HKALG z12ZF-j&iiGWb#9}edjP>RSwaGZJU%v%LTxrV2{g~+ zFabg<+<-#5$=EK;=g}iqbbFgm zs_gRz^f?G$V{9@Xmd_i({S*8YED&V}Ez~F5U-+1IxUpkQ&UXWK& z;wf3)yR^u5@s}Wy>qeGT8IxZjSaB66Rb>Ov}}*4=oJ)tRX!>h-Y8m@N-B!J?z6o0m35tomuJzP2Xe3q59O4 z7y|n8n`igvCzj7Ak_5Vwll})Qi#XVCWc|*fMf6nz$08>k+RV8)pO(|poDFW{8;ah( zFy@&gyrzN_zk2u`JDO3EpGsdKS=$K8g>^hvFf1h}G(wq1H{uD&jWoJi2PL0x$m~>& zBfet_n>_i8Noo)cI%K7{Qsac-t` zj8Bdy`G+Jlj9Eo?+MR@cJ0%@^3@t z6USLlGwYR`is!t*%NKK0+huaBb?-REvoHIL#7FTxSLlgI6HUV|hVf~ong|W(-Vb-;X??`QgO_ z8W}fw5_zx*(Dw7X2qaed=6YjZz+-g&#WP)FflrfCWE}U~bCQ~#dYD-CG4tUx(J8~* z^}_KQt*Z|`y7G70!_W1n^0Z!X?)~!jA2s3h4As{tNYT#G_Q{pHc~31D`B*f3@bH66 zU(UE!@Eqb8uu%Ri(~bG1=Bc4l_(k2Yf9#Rfc-Q@7eDL(%IHwzBpCcGK$@oYu$dBHr zTgFN5$s2u&Wxa}R+dRu2KT)Ok?~N3GvtDo;WXrGoK6pv8_N{fBJ+$Vh^P?4)ma{W- z?omZ|ompzgSY!mmhxKFQPnKAuUde04vf*PACF@H_C_4f3q*8O* z0upjjp!d)$2a6A?hMfl_+&t^jLL>D=nO5R(zP_?ZwpiJd8ZzpcY5>^-%ZB;4FH?-2tR8Ao^n7-ADO}*dN{N^wwy5WNKa1KF?-?R*0!Rub|SGK$*iu}@KURc6_giz?ce$0qT;}9{b?M~YW9UbJkC=w9E&kp z2T-pk|H7XL_^EhxK5&lMkIyklDq-|#U0eLeuW)scUc2R^A->UzU4r1-LOrn;!sd(` ze0Uae%-pzMrc1@SVbHP4xXDSESgh?@2|fTI*btxk5wrWq@(O*MGh1#L?$G6y~)h#5Z{@gO3joY6++ieCGUVC)dWuAK4ohc!yZFuB973 zqZ)tsQ7iK}WqjmB&-jQDBhq!K(b&v^F{g_+iUNdFyUqQyUYGogVc&(bvyu&MhZcWph61((qDINbM-nmIZf~TBV z8^;gsjSuL?{R%gp>F<*W=V|)_ zIY|zs7Zn|PO^fQWMB-z{9C|;5Kg(ym&bhOlZ;)U%H%EHHb}i|Q>JUws>bn-=SR+r% z=1~S;{x!rLaNEbG$bujaVK*GQCZT%sgX#>@wa0Y97IL*VUEU-*SP-?m6BZCQ$pG-8 z-Oc!PgFp^FhcFtSplsY%z8%Z#!E?Zn_(QF5?keO7UAfHG1<}$56sL!cJ^pmI2E;1S)1x6Ns_z zJe)v+iJ2P4K1msKl1L)Q_hbTLF$fSl%f0B@X0ljd?W^aG5BJT`IRN{|KW7TfXVMRE zL~>zkeSGd5cxo`)jdA0hPaRLY>-pornNRCxKrhIg-y$26^VpFc)lJ0lgKOjd3(;$D zzJY5>izacZv4|$Wsh?TG(de9ftn(xs0Q;ioWarL#wO6pxF$m9d!a1~VrjH+*T8(F( z;xkgV25XI9_1dGsKy>0Qi!Q?hLb>V}(XZggiN3%XJesDXon=^dji+X8wY~_n8BU zts~~e@l(DgdI?^GK=;yOTy9IyzARk2;nFEWZ zO&w?F1&P}b@f;=4_dl&zF4gL`wYG91r{cj{gx;+Pu|@SFl%jQ z{)DQ9ns|jQ`N66tj#o{}u=r~R^!Anhx7q}2yKqF+Vs78inFsMT@vUR1M6wve%ja;Q*-On=+Fm`YajfA*Mgj{CR^WHBHU&ECU;!$ zrD$4*j!82eG`dzoKR#f@Hz@PlHVZxgv*t66W7vTNz#>-AV)&W-j9aJ!Vqud#d=Z|% z<&8dhw30e+sG$t3vCNwtmyFF94CU~1M4pRDa6$X)*igpdL#G~ANmo$SQ?6h=cfIEt zY=|#CcvsSzW*MLS5ihFdA)AE&R(MH1j}P$|>3;iJl6BFssav1C&@pNM-Iq2l`+V+# zK>1mG&oh170*kpYFxGGyQkArfFY?ywF?al_R-KQ@*mARR&B37 z;*0JaM_+r_xc>I%k7rz)ch$=^Q>i$3fmd-gmLt01%`dA8H21CF@AlcT_v?T?T2{Ks zueYsfJos;4HRj%nl7g_s!cUj+8h0?TK5wGI5pU$?xvs2m$NN*y)R^x(zdjzkm@7j3 zp;LYh9V79bm-@)dU+WYfo}7H~Gtg z-WM7uiwU4-4$9EwL(ozm%`S&(=y~3Rr)m-3aWXF$xpC*G{!`CN2@o-jN%MgWXe{xW zKP#%GH-FN%pgIn4)x1b(Q1H-ci{_^R?rjgg8k>4Sy0x=5u5fWg>Ue7OZB#ImMC$bx zchtq}qhbcIs90re-|qFOSfPqP<(~ZMZ$2U%UBx(ag&+1pS9)=TQK1#98sw4>K${{V zEBP>X>jjtdGB2@bpNZ*DAFJh^_}CZ;S}7Op7)p)`^$BlzdX#8OPK@C6`pGQT1>!x;9> zzG4-@c$|ObWFOSb;y4SxfLJ{j_3b^D!LF?^DT?c7E_&svpl!kg@ACr4pR%FL7URhY zw$v(h;V&|9Nf{21oUp0hxJ9M6gtpqxpX)&j?l`o#p7@DT^DhQGj#=aI&_gGUBhvQi zJg0Sv?u_F%9CX4(pRK_@q6&AyP06&$tdGipxd&8l+rXRp7{#w}<{_+V=r|MgnVTMO z%e`e4&rnD#I~pK+lx={owETrlx{R^>l?y}fuLcjesoC?C8$AD6ymKyY)dNUIic@jH zr!0$Q_2N(U7OyQ_FWb;_jD6(cH#eA??JFzBWLk{_kf5TMRYSjH&?1}cYzw{c2MciB z^40{0ev>BN0`Voo4p&I~S;k{-Vjr+vhp9)*K~M91%s&bG(}l%<_@ddOvo14!>8x*# zo1cFxoN?Xve8sr-rrXC|Cpi~#PGOwvg&XL(LDS9qR(RAdd785BGDpBt&As=ZQjJK2 z6~T3=k5@z~wTn*m_-MX)SjA%AODYE%E-kG}T1O8t`Gg%e?x!!UjW6*1ez=U4^)oJb ztaEr2lxO1FV0z&azwN=`T8o-&;tfB^rlJW2BPV{$hrEt&Mt^=|CUn;!H3%yZJ&yK8 zuS3R9ih%khNH=|k)IPd)C}x`pp?*eAB_(<4?d9rh&h zGcAd_Wt`sY;W6g^NFla0x}xbrGuFh>P7!19I5U)!=~bH)eN7az6Y#50F-g8pds`XB zPYN|n{&F&H1FzIM`b=Xmu`{0#Q!E&v)4+L1#($Pz>taM^|7GSyDJ1&zld^Oz0@ZDqYVdnw{-cE!J^SFG`9<}?yfaey%uoBB)}$U?$k4qm0c7Q${EVnC+7y;1Dmi5NnemoKpK~em8k^kcLG()# z(Mib7=c7;J%zAw1oHWg|ZXkgif#i_9cn~w2h;^_l934}2K}Ich%Fk=6YKY9b1Lt}FK8B$jxd`|{14=#nQ7-*!$lQGLe&u_wG zYzLxSu2%CHJn`8>(4@9^U9;}*#{SgVT<0oj>$gs{GYd%Ui^e?%W3kK(^|L)5@}&-% zL&gNxPsZ*{tc6wH@1ix3(rWh+N2`} z+*mOlxa{+FE)?Xt6s$A1U+gtD#`$#B^1yn&$DMEKnRL`oHXH=mJ7#c=s-N?XkH%6% z0sDspkzp4Md!Hwsv*yJYG=72f;&)xG6MR$oZ)YJ2#HpCbSjYGa#J_t9^FMFom3WZ| zle%T1or{pjlVQ#c^_vG0}^b<&wCp0=a zl5((&GM1BF4bF)etMmjJjQ0OUA*?-MUw@+e+>8$CVyTScGte6fL!TR{8Des96I1kqvT&?m1IC_(sYAX;r)uLGTAwhgJ6B@f3L)Fn3b@sa) zok!LX5Dj`{@!a`14TH2DJUX^oJ&%vp zHYHN`{+R5r)>YH@1Rc0g?BH6)uFQ}kv{ z=P5;Vy$3A(8iNxZ$R0oXVC)r8+-PULNK&zAsbSfQZ@MNJUskQHmTpM9kP%RUWzURXtvSXl=q)fj7LW422y(AdL)&$z3qgez%mIItq^`z37h8f-f&}@uVMk?YQaWk#XzM^}+9H)NbsaSlAxk*!5RWhN44m zB#s1GcOv|RU%GHTW~fpwiUj*Sj1)c?J$6ovacgQ#m|1p!nfU4O+i89m!N_qGE<_iD>BF`!@d8r9-e@HVF6iDm#dp(ziFI5{ z=yL=*pPmf-w*4G+=`T3|=0lr`9S~h)?IFAgD))Iq-7nAL1ZICM_$9z&-A0z!HK2H1|P6(BfdZ;Cmwv4b;q_2xDczF4rUwjw-^QS)UhVK4pFmqWrnOy zY(&#}BbfWf8p6qqhrBoe4%ja3iP5>J6%t!D+kq5a47@`JhYz;!D+cGeakq}$`ZLac z+d0imG#3~7fi^gHk82|BIrW3YF3jlRS7Wri&$ki^;H3g$6%T)a$vV*CBUBwd2DDXU zTson}oJGqq;HL+2`xX1>()(CGmoGTlPiNMC{H-x{A@w+;R4?8H99TE_#I+ycd(806 z$ENFyF?i*nqlYDkJbh#(5JbOa4Tbq)n6Wf?T`Eq-R_B-0yM|dig#cu)WJ47*d}_@dUc(U1>%Eqa}j?MhjR_Te9E8KMG@=a zOZbbWYg72z#)dyK)3G@kKe#!b{8zqp+;(zvTz@F@2_Pe9eg^~IW!~7a)5P&W@a+1> zqsNLmVjU7I>(Ty7ry)1Fvr?!M+FHOUC4d_{nnSJ(SFM)9Y<{ONGlHCk&@|L`Ncuq$7Z8Z8oC zhU$nd0Hs-uzn-hPaWL-rsHOw=s^DGEIiCas=U`H{nYW6or`HT}IcPh4ZLH^8W}J_0 zBF8>!19xR(sl4Kgbz*%BA~ykW{zN}O0@VZ)KThSR_b34(=eF{10PrRxz?!|Ea~d&^ zWqo91pEcL}_#|1ldv9=sBdU`jENKZR7x0)ONF@U~kChn;G=iYQi6bFIo@$j4I%aaB z$r(`q^Wz%q>P^E5fLC%rbW$J-yUycx*VXtf6~)jQzOxHE69QrpNY0EKBSGV05Pw`@^J+8%=U@c z7wKNq2(ibiS@9!&Eu;y!=|ookKs-(>6|MtO?XPlo*eFG!qRclF;R8GMIHUPGw? zxg;O=7KH~)IXek~dZ%h}>@xA{%NB*i;=~8YCcYid4!~n)U1aiOx2+qci8q64E#Ujb z@fEkxr6o=%Cu@K3$;VukoQ+0e?6Ix7#V+yL%zVMIi&|R+mPatvhWTOs^_+C^08QM) zMgdvZCi-U6Ky@HD^!gnO=h!$g)#s3L;IS)J>~<2mYbAmlbDmq``twe!^K!FS%hJtp z1EF0%v9RBF@ida$O~|+Z%o~ODC8DddDPkR}oCfx?9h>JggjO6`|n$wpF=a3bp1&urHqKJ}P*jl^%heiFz$^?7;SA>zd1 ziuS^@SAqkL(Ld?Vr;c@gO}pr2Tb(>KZvU=7H}1G*eH=TGya4)R>udf;xhPh>1oVvG z^KT-3syNTX~yX?hTH5kESpR4g}Qul&PO*B{y&A3n{; zJK}@ftj|LRwikd~7O`D;e-wC6u}=hM3GAU{8lCy^=cCoJk3r{Zk3z7^IlLP8U*uyF zL;0?2KG(;!2iC_)y(l}jxi*fg9nyY&Nb|ry-1`2f@+M`cEnqnqwSYQHN4S@-qFT4d zBh32n$kR5-2i>eO%|p@te}Pjg-?)G1QQf##Ep5g+p72%F4wf;xsQDVGj3k9 zrI>oMzKWTFNW??>%s0LLN3yF#NzHqt`SL8fhsA#5n^-Y7)%%@yjN{tSy3C6o_QRob ziGfeQBH_5nS@x00^A|cHIrKEPF)-3Uf$L}><#t~W)`(sW7!^i9( z^`g1M5Am$jY~{whN~C^k`T-N3#E)L`C>z<+qnTJ5+26SS`-F?_6%5niB$9LS;UFV6 z)1E@%(Jt*g26BcTH!HB5tcEP3;8MZ?L5TqmirC;GqbIs!muo|8%t?WCn6=Oo&H}b= zc!+K1XU67L#aXb=TDaqy2w#HuX`c~h!gR1-^%MovGHK~z+ibueABi)la?BW#PvpoT z8iBtyHux8Ew7k&h5mYnebo64D%sv^LWANIH7~qMQ@EHl^BFWv#w|#;FoM4$Vcr|(n zE9>an=la;=`?fUSx%rFsat=|RaBPZ7?xI`+eCerfvV;YST%DE4H_|!?B)1*0C3FU2 z^xQk97o#fWSlE=G_JNI#|~Sq49OPl1erpcL96=|u0lp)I31hAcr5p(kMMILCVOtW# z4}6csf6}vWY<#n$r^h3{t5VLXxcwUQ?S~bowaURk;6c~?m0s2YaqYt3?3@#(&eEb_ z@ktKQ_G7tl`JH?@j&$UQIm=C1^b)~cfjoMQscVV^J_hPBil#C zfl%z1w&^EE>F6L{YK9s;zT(Z=R-ulIk@&(2map|pJ3$=KO&=T1`@cT1y0{| zuRTc4LoUtJiiD}Ba6MUnl$<}C&o^1S<121jjSbJop1-~1-m@sh)^TD!zWTerVchoO z+Y#6jfL|)^ci#Qb_~dW=yYaq+^yr9 zMc1$x2euxkYU^2mhu#6SRuhcsm)XZqBIJbXTqltVJJ9ML0Nz=nxM9M}W^YAzfPcKNjWLLk@U z&TH3oW4t>a@YkP`d-nLg#xmW$hQZ?=qrAkaP~+(g2_}}aomq~SbJ8;TcN+Fvv1}S= z*K6J0bxnB?kADb0qdXhX0&G{mfkOmnd^?&5>&dY*a*@yxm*A``zdH!s5+PGQ)HOEK zew4wC)nC8W~cz{R*1%p6DkWEV@gQyrjO992+b&{KR4@YHqQ zB&N2j1!!+c)2SPihk<~Xme=yZ0mcPVv1)AQFR^a5(cXJze!oDkr^ zH!0YJBrpC6aINzecqZjdsW)H8nD(Ao5upusI8E7d_X z7jmnVp2sOXDUoaO=*vHpZ?GnJQbyml^a96+$ZRGEUaVC#wnFK}rxw=fHw|o0-+CPA zlT|XSaieNSh1(t;xT_p=;)QDU+{{VJn8ox%0``T}7m;sYqCXi1s4Z(CnU%~s)D3O} zxx|O-Ch&e?jWz$g`?IfuD_Z;yo?eZ!{@UO68UO1W>*HI0?0d&Xz4H!O48j4TVC$`) z8J~LhZ;yB1zomKG9e14E7>`}v8~0z-9bpoYN#zZuj+~m#3=2LGvWup5|-!+?BC&VQXw%x-@pSx5m!p%VX=xWxoj6*}ANI zIIWc}y*OZ;yIX4VrJMh~9bOzH95=3yiTu!M)|JBQKrPsZGVkKKX5vb>$K2N%Ceb|a zITi`*SuG5&A?`QDur=O(z13ecTULU)N|~igc(VWv*vsZcw^LwX1@&B6D=@qL>-IA zp35E(--CstMc6(u6WWo&6YfP4sHNmqR!LVJ-vCX5j6RyNVvOzCvdYt3$lT#d3LuaT zEL#L-5BSGUxaT(h`)0sknKml^M0c=wb}IwNmS@GYM`G#G)|J|n4kMsaKv-neHxl^i z%It^s;k3ZjTp8)}jV}1uG(v^i4-@8ttVH;`L&%y*YUF!%WkXndA_@wIrC|`C#Ppd&}_=Ux0ON zpkRLS5I&kY&VFnQ>Vr7mQ#qJtZ zM&c=+eJ=Sx3K(unXWTmW+2>xb-vC%5oj~YiJrA$1#&h(7=3ah;=^}eYbe3td zj+Zau@!!6H*hNkjf&e)TfJ{&tJ)VH#U?moQ9H2aax=H%dTG=A3w7aZwjMdbBqxgbmg(V13~nv>+&C=2OTJjxv6;}5Cv2x1 zhFe}B1kla)gA6IMUg`qtHWk0op{6`amz?R46HiHTlb0JqA3Qc{LN2@8{E4n)Nidyh zp28fv{Gw_u0Ka+RTF3grMf4bxD@f5+R8wKvo(Sl<)@%~KaYu?IwXrUFgUMGoSmgp} z9r3eHEV90%>d@?9Jtljzoi&{!9%1_EzFbXx>?O})$O{DZ{h3vd#d;8|fzF>nXTCB* zGAMoIb?p2)7w~TA^fN}ROGGb$aYQ^S2>xOd-?S*kv9B_*UbGnfzGo_}5Z_>~~g) zuADsS1y8dtz_JKTJo4$&r56A{{_W2lH{SBp@yzQE_-6RRHc@bpF;x~$%lyd!>x(9y z$A=6XFzf}M8**+n=O&X-{F#*IiA`p*rS9DtT(N^H-@yYf{CpX74Z#Xh;f8Dn{{*8M~oI=;> z@xW`Vb?tj5_xULPBrAYFtf0k<3tO=Ev};L^1F zRGz|R2q*VLWvk@EMBV~Dq$oJ0el=MBN65KvEs)yN?}YmH9&J{i>b=ncj9DA7UP8(8v( zm8u#sZ-?&+hEx}MHNDD9zDzP4do|A+p=RE+4i;J*H3ZHQ8J z(!;NP6H^bXay~&v&+`q4@E9sKG8;pulYGtvU3lO$e`?F?IBUcaYe748w z66HsY#cnWB?+a|62D2e%mys1srk*=LqH8$-UabwL<5CYA0Sqa7&vH$Qwqhb!1+sc` zc$T_3*yzTLv0@v0g>X-<1wx_&lKO?tdY^A5)vD(9S00=rO-A8Z(@ITeKVFTK2iL{{ zeAF82Z<)aWUB?l!zP>hYej(p7BeI-SH!hvOINtWtZypbR=!>Rf2du_*-}ka{!!_6V zhitO#W={Oa-fCtGTr1JmaISio$F+wpHHuAY0YGEuyj?7)GyorN;BK>BqR7nWLo4Px z=^xY!ne2nCdGLUJw5{}$f3mR*vXnDd0uJ?dV{8jV5QDfgA1iQq^y0vCtq&dei1M>< zJT#ti!?okd-~Z>w>S-rRe~ioLE{*dKo!cLyz&h}kO+37FfCeU>U|G9~DS+##@m19*T?qGcFY;4I;&{S*@q6$eII7I82*$(IikAOt)7M7G*V^{U3}!P7PQPA zz}jG*GDaPIZX_PM&H>ekrZLc?hfn8#K77pNa6@~7|Cm(c;xG2OUlPk}sxv6R>f<9L zYyZhTGB>LvUhn_e3>|g?^f=NZyg${f&F* zS8{q*u4=re%)MD{@Ad;imzx9GP%CU<(U3PS6}#arWDbwX~Mg6#taR@qhK#JKEO8Z+tTX9^B7>$+gb6^ zfsFGxM#Q!!Mrx71&s*De?}K#o^jyr$c5hfIq8zr^MP5l5dM z+Vu+`CVzoI7WQh~bZ9-llFT_R{rfIb542rv>$!y9cd+MBtzvr*d@7(6znSdH~gH>`fg#5(0Budspm zBrofj$;f%26NBV!k)7bjy5%P~A+3WgJs*`ZHp%9!bPORXC-D-{Cp4POpKIkj!m|v- zYoYYq%tXw@h2ynR`ht86rgiWtzaq%Oy&Cgtzci`Q$dUPvn~aBMKPYko1z#x5YZ8Z+ zm!1%>p`!Eu3m~%|62~_Kf7UbwGZq=QjK~zo-p0`rr(s6^Y5vs8c zsF!)LtJyP~Y3UP>4@LOqt<;^KaXls*qrO}gbtWSVyETP9Ps!;DK`|zYT1aGZaNf$cg>Sel$gK7 z>4}1&PCT1C&)g6=H;sW*orAR<8Ee;;-frlvC?@fhOmalKc$P;$sC4MnsB;`)Crbr( zt~{`{B($fDbCee^acw>Z(5xhYV=U2OE>VU^ZuX@7t!@BW~5KJ&59jO{D= zCq;vl_U?XkTzK^Uao>3e>dpY>n5>zurOgogfv$R(=!5haEG;|h*L;~tzQNJ6IVX|z z(pyJeW&%94bu{{YHaiNA;rOMK>QDPk!!8$Em;cQodwd3I+1_@I4QXdp~r~_|(Vl9glwI z;Svb&14w7W9}ku?bQ|C=eE`sfTeP$locZ+W@s5A~8)I8H?iMM3|GO@A6v_B=4hHu% zgI*8U)kXqufUbJgj01Zv?9|jK{5UY}-Z+PzX;;;M-SnQVoMO}0DGWt35B3L{KIe}V zSQa$Nb?-j->QMXDzSZ;SxY+kX5d+uonM=F$qJobeJUg|$Uzpej*`TbWisE~{hzz*5 zT(NxK3%%u7VzJ3Tc6oQ4=c8)2!AJUxHjdDp8~Gy9s?@y_yj<|gmN?|7B-y6{A9YC2 zYSzOk>EOLKBS3CG59zrw9=w`2HcyJhdRUld06{Oh)XsF<)3H#HBhmpDSz8AYv|yT8 zF_5)>yaF)NtBtRuNqqYxeC1QRs~_-d%dB6%kdko57}kyGD3 zxyjXYW=Virx}Ifkke=1BNf+FRpk4s9p2x2`hKpkL96hk$xp4(o?ye=0tjflzo9k*F zcskf|`_N%Ie?CTr>(X*ukJo$z@s2$F)i|b`!2|2!aIFzMaG_UL!1{8qrkmNDUvNut z_rpUUen2zHNNsG3~v?C+`$XEh{8c=O)g=7HHBs9z)xd zwd+gmdp+dEOp2EAgLZ9Pm*R(q9oGygRVj}j7~?U%P0^&h5d$Bh4Tbn?>+OTwik}J6 zl2aa%N6;n}H>jpjbmar^%e1YT921l)*G)&)$MbJEIG*y#*Nj82y+azYnLv7X|Jonp z)Ft`wZ+xHx3yAA4g(bi7|0lY@BAqjzIX!;!r+#f*zI1uvj&W*zk>A7vL<{krq{MkJ z?yQcCB_BT#?i=N-ft&+i*tf?{LcQg|tw~(#F)zs`b5s5x(G;(_(|KctwdUok10R{; zYcvhDk0!1fu0UfZAU?d(pJYVMxWbH1W$0SaW9xNjP>pIKWsNxVabk0fgS?&-pPGH) z0x~t5srs_9FEPxTfavIQ{v)B+QThoJImf)~E*>$AC0D?ED+XwC{lkeMKBSl6=J*XP zzbb_%d)Lt$QJh5r(m_JUPA6<#V6!PmhYi)6s&siJAfRAO7&hMY=n;qk-;odsOK~j~ zBqp@|sre?=x+;RYV0ws$Je)3uc)rUK?i&E1mX{4ZqNanWVFL#rg5FGYOdO=S5x1Rv z5Hoxb^CieaD?iqtgP$8DljRdAj*ktdu&K|!1D%`W7?&JH`x32Z7Ofu4lSH}bhG&0q z%t27&)6pj!^IG}gXVzwXwC7EnD328y$(}U zJ##8#KD_ZVHtS7VYB{N#26JRyOBrs~-o%NbDZI~l%{cx&koF7TyoF~m;U{A?bVTvF zzT^}dK9)FgL@|1Mz#Hcj0AWC$zwcnVM)1ln^jz!s$-HA1+i2NKm=nZ5uw16G$k7gq zN+sgSPtAwV6y?l$9CmW)Z%}ena>bSS981*=9Sj@>T)?_x3|?aP0a7yQ(QH>Zrq%-& zd%g)No5eAIAe}k!og8Og8fz+mpY~N!>1W-AmweFo=-s^M!L|&1(uAD)_+oxF2CrZE z)F63*+s^#XNnoErX1~}p*1fZdZ}nL($Z}4AQM1$zj=iu2*dBq`pY7u-=bL(xWukyg zn4YDFKeNh*ALt6lPLP<%gzH6e%YJ2DJ3=!kM|$h`MZXl0k z=IMz^$>_;ABLV0awU-*2HyqB#Ww=W7xn16=!`6BDC_NS7Nq649@9QC#aQfbdlAA-V zjfd{h&3nPtZ{Ii0UpO}&I z?Ujxmj6U;b0|Rb67sc=Odu$^gA0kT5gSJUUr#waETb}@AiXy_=Ni00~{V*|K4?L9O zgW4Oi>Ls}IngiqMHyjOIs2CzX3IX z$3A~%y!EHvoEvwq-XPqSI!x*^N@OvJ2<#9!)^ zwC01R6(`*DY@a%>>s};>)!5YOvsH8FV+p-iGI8W%o5~MAlRhnR=dnf>%AF5oJvH-K ztHwnMXWzI@FYv}5ANb0TCp~yk@q3>kpL&rFo`2M}C--0;dwJ#PdsT|(SZG4Zmcp14 zSG1eR*u$-J)sEv2KP7g)oX;_k+&4QWx)jz5RmH@Y8!~h}7TJ*8#E(O8-nH_dDp0Y6 zq9I1!MaLXTz^AfjJYL}Ao0A-oX?s#%ep|<5FcltP&9cL{`O=$i)+!e?kmqX%2^(t4Kn8ZW2I!UmUw7VBtcyt|YH))yWmWe>iPdAc7ZI zNvAeIa-nC8jyKl;$m=Z`_?Ni)c9%Y_EaPT%a6Rr1Nua zl1G`CHUk+sVe1P3dYm*UvVQQz10@>eLOTL{8%4n*7mp?F4+xhlsHyJ5gq2tdlSI{Q|hxCWowU zxQyL60v8S(UhFtuq8k-t=s1VT7Fw7;0}G&oEV+5g?I#?MMsn~_YI1H{7NTv%B_Czc z=M(wl&!ap!PqQK$TrctfcPyHt`RMqhW?D!5fLg zWA4q&x!yYRi?8XQ4$qbO%qqN*A5VL`}ZLcU|C6i%BhhQg`}TCYO@gw)~KfMDv~zKl$Zb{8JkSV^Ki( zsYC3ey4b5$r!Psb*3z5^-p9E8g}l@I_;BWnkGl7|mfa)woi@#zHJ^FcJH{s-Qw;6L z_?ffIdgyDI{~{qsw1mz((!ufWy#qbc- zUZv9EANba>y6p&p$A!r?*09IqGIZ|l|AeeeEkN&nx0vkyEre)Ff^q#O4u9<@Jd zz}Og%iZrctuWx}4>2)1*eUrNZnOhKSy>FSM#{K_cv#w)7LYoQB8Yd)qsF9KcUQexS zW03d{cm&16NCNV<9AA55Q~7LfbHj|Sd^*3Z3#q2zr)+q5y{O@{s$gHBtO0BQ`c5b3 zM{IyBli<3O1czh>+AGN--CFHmgd^7b1Zt09rodRUn<|#8-Uhg;YFre3NRY)yOSD)Z@QI zjp|^3Zi&^KN!a2vF1a%i5jyhpvLl=y49A4|gzp?2!=F)wsaz=#{;MvDZ$lSuN0Z-m zv3cpFe!&sjL@KLKl`TvDrP z;faw3l{ig%k5=Me}5ox(i$fGoe5#EcW8L=JZj?O-Ss4)GEHZ0gmCgl3I6;2j&p= zDay^l*0Oyl9+}S!LZH(Lxz~(Xes_RzqK_|hNX!tr-~9kQKA=>5K>;tD_Ukc<)nf(x zBApoO9ajoo|3U528?&4+cE5meTxJM6@3625V=^k*@Xi^%XtqdoX1xKb1diJlPCFy z7d^%#Dj>db3zDx-Iy;T-^kxA%!tGIt(>Wq3509_>q2qG}+R0^JoR_DC{B7zS@}FPC ziTwnf6FM@_O^MKY(*WEtDlP!VBiDiOd~*|J>tgL1f;onS=)g9vd?OOOoWQV(4jMz> z2%AqQe?`p1RQ}1$bK$)iUiA}>eviSOWdzIW0i{yyQ~rFt zM2~rleaEUZ!HQ;KLxWYd=XhvS*A1!iefN&%gZyz#*XDs=+vRREzA9b~QNE*F&XYr( z8|0L%r$`cdVKDK zpD*eE|A8C#-}v!2kBjFn)|}>CW5CX5@d7T_gaEo|@*xA)2Oi_Vl(lb^L*@fsMh6J< zIfg&sVHU&}J*P_Egq5c7c}?IywkX5)-cmCB;e!@CeBg_?dFTC-q}J6MK}UKF_z1F_>5ZTQKNwl{7$DjxR!SL?m;`E%3@num1D)$A_o zH@>8oL6-t{LMeb1H0IqM>BMHLi)&iAA5o4i2ZT{}7JB9$Li^TbWLq5{@J-&otzcQ64Y=zF(oZHp+pb z;9t$*Y=agAI`Huz=(`aOme0nuFZ&U}V(Lk@nio^yQV2V~k#*{M7b83uya5CIMJaTT zDT@nU=b_lvrR|NKOZ@YS^f)4rK2$yJj)V0%02JL!a^=K|Z;KtzNkEC_+dk|i??O0t zN#QxC$b5nG+K6RhsZw=ujM{Wbj=b&hr6(6Rl=E3@TGj_ZJZ^w&hMvJj=Fu18&N+tR zcl;8k@|^4R3Eac#_olb1m zrQ&G)ItNVT+j&?89`ypp7Cd^TEt0X|TZ9Wqqo&ld_^r)N(!z)NEhlcUNls-rF^{ko9I~uW z_0AJOFFY5)^`aicvJ30coF7bq`QWlCmYJQ0h&&}H(tf+-M>yJK0#Xd$EU5WCDW8wB zL4;HEAwZd6%>01Xkv-mG3)1MYH_L|Mk%wKtV|^w!-=rhQ3nD+%Q%mZNT@tETrEewb ztj<1c9Hpt3S1sOCH(WPvc}hN)?irLk7OQdH9XE~}pL>&ro(ntA8xAAo?tL}3_IAb@ z{xV9ww!%Iu=!thed2Afmz~phE|Cb0q*q%Fke(Y(V|KbP#jhvW-nn} zHdG3+E;8dm>P`o8)T2r7c?B$oyx@{R$$Cxp3xCTQL+no++!!yo>Ckw}3;*=E<~v_d zFA4*tKJ@@&dGPaJ%=p;IScA&ti}!whpWc579#8N8&bH;}PoLL~`CS;P1|Y!->fiVTkIEh|@s8nZ1BBun9olY|4J89T=?A?pSKRlr0@k>7W)ge8{+*F3< zgi)uwK)mUNV}G{qI9Rb@w9xR{ae+pcCuw;R2Or^)bH7tt_rK=Tk#(O?`1kl~40yK0 zJWOw%0ITuqhrLe z`CU%{d#{8kCvt$6&#J$*Mf1oDIAh@>(!;?!Z*$8or?It3A+6U(V)`G9ViY$ta5vU; zY!fl@QG$Z+7X|n$Y2S4AyTFE+=paOOg&TclHa?)Bm$KwK>xEA~#4{GAc}8pxFh2Vd zyYpjy0IxxCGpU8Sc?d5x&yC070z{tC0@Sw0U0FLXpyM^|Gs9z;EacDUfNLCC)?7D^ z8CQ8%Tb$p@$>%uvONM>o$6ly$WSL*iFY&552Kx9{JvgWE>zWF%$Aj0a4b~7e$DvWzwzqG?Ry^k@Bhj>#vA^JUmm;s+`VZ0U4Ot@);N8+ z&$sd^EKS`p>b(74vD00QMw; zh7Ml%ir?H7(Aq9hv*KVjp9*3uVxl91;(;LkyG~%MaeQ+%&R@X@XQ@}O8P^?l?K$Z9 z|I+9kC!SfS84Yw{whb;;^5c38A?O%SJ+V2y?8bxRso(r($L2TOTGIUx&GfXhUwCY6 z^Mi;|_P69|?%99NJ|_Op<|ho znqRR&=s-{F7drEeSh5L-A2-IguTZPD40z6y&4x5aLl-K3T_5O4(IW~NLC+4|vO;tsIzGPCd;AUY>-yMd&4GOd zBFB{2JawX*pNFC3nB}Z2iF2=v(6Ph<$F!z%3P1Tq3yglY>%7q_+i6}Si;vciHxt2x zwkM<(2#|?mU-D}vEE0A+Sb&-(B&ZYHj3vZ5KCq>Xr{Dc%>)kNo(SoFPq zz%$ZVgs0{t(Q9jHSm9gd9yvG4trwW_*=sUkEQ=Q!9zTe(0Jr~ed@x^JFD1zAqbX>HScLIuF z6}-Wf=CuAo8&lWxQfhD^<+autvW9Q`E3X-^{%hate1S-`hNb(5zw!s;oj>!t#Vmh1 zP*ZMvxB0GZ=e6=jG7fI?E<7rHWJXv|pq`8g;GJdu3G!-)G;s99G4~#c^5WYrPJia^ z@yWCC71`VyS1dBgc|`4m)KJ4>Oh$?ph~ZjWhrSfT^<&N)op~1GyzH*h@vzNN(^@>f zImV+~=%ZJ+Gm6c5+wZi;5|F>XBQZaaU4{7YdVO2Fj`Zx+nGYxc{*Bk17`J};pBk%Y z9WP!Q&^?g&fs49<&bXAL3q)+Xx$DStV)uyTs1{6ZJrHK5OVkO&6($QpuM0OIur zni#gwxSpJ);;_76enhV*?7xiDMb}D8sJhUSLFFL_9)k3@_{Tv*VrI=pFLQ{xl?C!A zv0sdPU~{}IgVdfsIyp#G^iZ_Pg_6oYkO)Xn&jgSTSy6}@3|767xM;%j?(5`DO%(Q3 zz*4K$6XGn8NR~so!Z*4<9-v#7gK!PR`$2Q7o1=16GZBAT69xEYPD-y|5Sa8_VbCm?%v8Mdm2rqz z0k%fH9soQJ)5oh^`*P=T=t1r_h6RFeX%r5Cg`d9hZh&Kw?>@WaIRkU6{Cixb5lPu~ zUVd=%s~&fl(8TrAs%E7AUQlKtwzbELbAhYk{Fq~U)R9lsvleRrAFSOxJu*R7Gq_Vn zh(Gs|St*(p+ZVY*p#v|z4bHt}2+b~=5I$NB!Ya-#gmo=3Zjf?b*omWV%2+u4vtRQ3 zamRD+%J{>KTyWvx3**9r=Vp)6!4v!1eV_Z{_{2v(IgJtD!A%ws#tlbOPpZb79gpf_ z51tn%cud~paPj=bapv>+9Q)(JHMd;na=BzOzy0{y`24w@`po#ezqCIv-V{OIxSI@- zdG19DVi&Tf!+H6}A>)Xg)d5|;jb%O1%+XHz+ zE_l^6^OKuDpmX;eNGDnX8%O^MPkO?*?uP5Fn`g4#TwfoXw_Stw1lZzl2}}C&IsdYj zefwwU?Jag!&X?>eh}Pr#{*z#-$G6+O^~c^c&g#b9eAS1j;OxtD1=XC4WOYx)G$Y7g zVsf@*j#clr6>Zk!DZX9vT5Qp&y+KcgZf}UIa|}QAknOx8BWKP@C$knG-p|afm^HVw zKIhQjd)}}3lLX{|jB987=75i~6dk+d)O$|X2FNksENv4*`dFy>{!dNk(V@-NII`ZB zyW@-XTFowLcGCXK15fc83p(w4hUmwPIZ4f;Srt_Nd4x+kfc;PeN}|>}Ky2~OJp=@c zLVcVhD1h@!q>LS?fm1ztx!ISMNPFN}lLKK~_VFV->7}TV#Q<-KJbyGM2|5l779R*C z7Xe~DXnIaK7E!jeNE0=gLLteK9&T+Gvb8|EXT?vq{Zk8 zu?sTtm8G1flqm~Mmh)gn)DhKS!xnNPzBAUnD}-@JO+#AgJZ>*YB_UA={hII zW7;ZN%UHVSP^(WUyooLFh1IymCzL)LvQjH0JZJ%^Bt zr^gwk>;cZkFNB<@{AZ1!7@a^AG8P`_g%8EkC9$2g=_0dE{071e9Xa(~`iTQ^9ah$r zf2t>@=)CJE@Ho)}Pd~Y+9)NEgW_5Wtt}0*r$wCGl)hp4CRZkd}Nw4c=JR%P4)p)_g zW3#Mmb)cihJ?>g9j#J91ecW2&zp;vk-^^$DnX~9)k56=1lk=WKEaC8=3Er(d(cy;! z`(tGEeg>u1MryA$o`~M3WQ#m;^eDq*A>NX2JaGKP@v*tFY5&Qq1X6td>%M$E+ib3LGaJFw46M!H$Hm~KVtN|(!#TUS=B!2y_S2OpsvV1Poc4&^q^U} z%1nIZSlUi)-b-MJc84E)=qaDfQHdvi_%YjkzW4s}4u8FkCm+$nrh6Nwjy3Ua_(&EN zQ|-{PqhozzU3g-Z$Yx*nH(xbg{(WC#3$Ok1zqYrfqVE4%PWb;N@R9`NC$&g^u({U$ zm!N(B-^Ex0H|~7K{p?xYxMS$?fe>50yLjAxA5rrO?OG&PgY-OKu0_@|GM`KE)%!f{ z7vaWduNg1v3{CN*KyQyb@NIW&8cGq!%8J7uh+CDyzBxNzS1kq+MqbKiy5ZEf{R z92>vcRWu&>AHU=lf2^0uMm**;-!ubYi=I8$*A4}Nr-8=<5PAL)nTKe}=RH3fb=FIX z8$w~Z2QosdY6b!T^r$G&C{%E*S$rLGh+{64E%J zZ989t;>=&&r6)P$9VS|A_;VNk`#{D%nPUPK+;sHmF!x1XG;u7Z*u}FV>K@x7S7k;F zFEn`Q6Hh?S_QMHcR+PZ=A_-uu6$7yoiKKr9I8Z*~$ly&(`h4#??7V_ZZY{%i{8g`K zau180DkS5=kNolV00omO<0c3D@V4)ml`0em^NiH!ol(^+Cq841EfBd{`7@98;5gJG zYl8{Oh9-)Yikw=(nv$p&7CLzR6CPDV^~l^3JmB2uiHmPmdd6We3%?l$;D16zEd9hV zAu9=lx{^Xs%Sy2m$Mt#CxdVvQk%M&|s~C2ke|pW!(#U*tt|six=Ni3Qv?6aCl>7n& z|Mo3e$(@e*D8hv6f}8Y}O+9+?R(wEc?+%uEoKP8$YvewbCl0K}Q%`P;!@9`xqA2;Q zITquuxi4re{tJsia8Nz`r*6?1+nhsk0-^TE^t4WJHc%9hC5NbUWIpW{#W2=cZ4NcV+@>z6q>PaeF4I~2^am#m58%sKakkA2Rv$AfF1dTOlM-`;rYiS_ZB zbE;=fda>}UHD&iY(EG*=p_#Vx(fc~QoI}0FS|y`nAE8G-^5mYC5`mv37lyjj{zq=e8n&M;YRtBs|?}iMtC*Waa5bS?Q}@qfO;>Cj1!*u zjz=sAd_jYxi_FU@xWu_|h!)=qPH5i2(!u7`RtPmz?+dRWH!2#l-zi6tTEqu&kzyD9 zyfRH3btRpAQzIqaAsH_^&_Tr&F<+eI%_l-c@bFKD*_=I+g33XPF^}Ievdrs7eb#1M zqE}g$97$>f7r%BP$gJ2#jMO!!c~H z^q|bKt{P}*0@E2-KIxF925_8(``DC!W5Hun@``iIQMDuMFeXQpT zJJeJ!D<>cNR69OcCGEFkL~5;~W3- ztH)i>f5xPPEj8QP+8!T!>qo{X{?o@S%lL>ZO3z0hd2C!fcOg96m2F`J@bIWV`I^&O zI(k0M7T^V`7~+H7aImzAySFn=U({7b2Dw?Lj}NRlqZf; zx{2WP?)ROKo=xkKmuKO**TdI=gml?G3h{VY02U{P@YQ5smQ~Ox6`asg95|IfSl3|z zB61@UE_LIVRnJ}#-ilSrDG%ovV4pj2;>38}kABa1_E$d7y3R*3*7uc5TjLYI^|A5k zcYhL2MZtwIsebCC_l_@qmcMAQrj?!S{mrBZ`5F^}eHnXv=yW!ZZTi|#u7kL!d*i@~ zgXT0W{ryS)n|F23JMM3(kIE2;eTIE6^9D;jH4{$n>sepq<%LhNOlCl0~!YZgcQ(m`^sQgX}$M-N{>Z{HKF2?*V$k)FUsu>U(870y z;<=6%IiuJ%h|j$z;_!(XJzs%rYEN|@Szz1`($@{4<-(^MdH8Bl)y=AI;7Ksf)yJ!c z&W#0u_!A^WiXFPu%OhcP!!2Lxd7x*IkaD?XauA=yfd)@8Spay7ZhGc5b{vQ=9qX}R zVA)H>(7~i^>1C52)yNG1Eb|5a*=2fD$(0Ilk@rHU;L?RpJ-D}MU0%farrmNUme@w; zSguNq*Y7Y|k{36YDF)4c_vItf^~Xyl-Y-P#3w>gszc;q8KxPk*oQw z7cJ`u+wm_j2@%jat(hu3aeIwq6{SWQMkLG+Gw1q|Z;ZF&H=`gp5Ie8nGe43IRhBnh_I{5Jq6&Fl?|bu#G!emgFj_ z)Rd}THL9xDxA!%-@6O5p_y5ni*Z$6ZuOtzYdCp#I_H(Xg@4fc^_P0O&wb36|HD9Ir zo;=Ddg?PrT8NfxxCz6x}_$gibBB(f(k7Kbpp->!5=#Pw#M$@=4)zuGG;t!XZn`SR^ zz->jL_~EvXj1>?IoMcXQ&aUi08)D`oHsE&Fe7tpJ&ouj@|2)>!m%i|4vs^}0+K709 zha7Fm`=G~o@0o+~9S`h`kDlKd=Z@}9yMi1XGpAyg9KaZ*ZUa{2>ak=i+;gq8>{$Zl zX2PI{kKSu1qzz?NeUp}hf^G6WmXSI(c#b#f6Xl-cRq{e;QQ4B6XS9Ug_mQ*??4rTi z-mjs>A3cG8e8kl4qraSyYJ6a1TlZX|A}G;9N80P^jsKiAttyyf2ZO%h6_IVhTV~RC@+rsNFKult zncljkMgCV`D{kdm0RFCTefN0xnXU2lOYza*`QScnCegsPk&>Jf!^b@X-l9R?rm#l@ z6>)IavUZH*2`l?rAUzRC4w2cT{6b~EKx#3*d*J8Y?HZYQr_Y`lzw1x@zH#3}_eF1! z$-h=5w=Ultw{G5C{L>xfpNH+9fT#I)TWxQT<2>EzIUAaY(+&q)cKq3T$f zLs2v)nmThjaoiTi*&2_XszBmgx^*xvGk5WmXz3F>f=;Xe%qD09n*epIhCc9JcbNJo z*RrvUW4NF>bFTs5CU+L=?gb52{^UodCfUh%bg(2S&+w2vZrO0ygU(&-K-E4_W-tQv zNKG9;lK{{Zclo0WgqMSUO-%9nVgQ@8B5g>GEjZdM{{s6m zwvL^A@+*4)TJWUF?9#vcNb1>=Q%<6_05T*y$8_Jqk1l=CSFX*Q2hY;6UDf7MM<;i4 zpjC@yiQA4`Ta8h>gra1U`{N-5v;|(t*}-hM6p(!zafeB_=nzT?3iKUQ;UuMXNe z9=YwNadeXUsqg#tas1dZEr7%j+g7U2 zoSf{=%RB&&N}r`y$%r#-}vgK6|OHz+`6?S$n*2=JYsv z^6aAB9^MYt{Nv|Nj9ov4&=&FVz+?9d4c_{#ahQH5K;}E{KmM1-<+rZ5S)Dikq4g{UnEZ)-G8zd7l-p zsI~d3$~V|qb>X`Z{oENsmaLTo(Q2H{dIG z8oe+Ow3N8uWC2cW^5815WdOW>)-wJQD>~_b-X-vn?oq7@d3y?9zSS4~2m?ME+RnDd zB}GptdRfvngb#G@1j0;z0M&=$M1ucl;gfu$H$AU&Xl}kt6MmSPK*@-oNBIdM{)9CmQMbP0!s_PJF;pHKyrxBwrG9NxiD4b2$HOkZI4Sg z_s17szcYU7#arV`Zyt5#SyRivrm@Y2ezI^rKR^4yR-wV8F!^8%)MOxvZ>U6x1f(|frD}1 zgBQjh{d51=_`t`$rSg+^%>mFCUU+Hz?0@w4$1nZupGP3T%WPR{bmdn>I4Uient_sq zP@NV)FBj0uT%efpS(m-^HlRYn3y})Mi6CQ2AOZhiN-7{{ETFSU!OHUP6eq9wW0G_tshpjOrY)6kB z9gn`}G3$7%T+w*XN8UF+@&`UXj^6u(`bF9;6Z-7eo*n8o1&1M5N=G{fo+Xb$BvBMCH0+1vI#GkV`#q!OZ$zxF{{ zBj1W8kKfiUO%PL5$a?*OkGbCwJ6f@ar?tBl@A4@IvFd2Gg0u&Pj7B_L-*j@t7#hzV zKXjja>d(yPjPahctak&qvD{4m7V^RH&Of8oqTu;6^v+y>$~mF zp+TA^!=s<>lt;d>+P~f4XW;FjdqJ&()oD`i?8;oE4Yc(_(}ZC1X+)Uan2_>Q2WNM= zdMwiDraOtnAG+|NDO-~|10Sm-OfI1*bGTZ3Wn{d8=k9at;(5y2ciVP+@YV;z=sep+6DmbpAkWHhX{?pJW@a;>MA%Sdhm4E%i*bw;?Ck za2CEN&DOYmhhJ%JNK9WqNe-S!X1JZxOD?7W`Uc+Qyi!$u-!^( z?CMUa|ERMic2fbgH#tBe(C^NH0MbZ|WCcF61}5%WMd;`^Bp!cclLH0O&}e_jJsC8Q z6yhoL%$q-`j59iHK;-BlZBFJ=#{}pt==9ID2kRN!+(b&uzMM}SWZ`@9U6l0-0}_4G z4au|pfS}PcH{Oh>=-jz}eCg_)@$;|V89)8fo$+;@+x+DvqDaP{IzGtrEAy6TXhk;;md>y@}y!^DrdH2*7bVCnxD1+NPI*rW9uxw z&`*1J_qae=^Gu9S{*K=~zW;ymyT*lwatED!TH}}h!7qRo!F7Fd zv(Dc6H_o41tbcrj1I{0Os2oEg4Hk`*p(V5KfsPq_WABs>8Y`$4{F?CK`yZ8uJ`SrE z^4M>EJVL>**UuWR@>ZE2|F3e#T^`7?=Tbc(b@0$L zp*=)`$+Gv^Jbg_(GhHw9MM$xQ)cHmBu`sd9JLTft2g}5OlW~r&OOZ#k(B#cT&cf%S zYP&7ajBfV;kUYa}9st%>z@|pp547)H#pcJvP=xamUsP3ot%rcNr5^*-WYpQ@+%V~` z0Uig#mU9txwDJJ<^a#*)IN=?5WvyK5sy00WKN`s}<6DnBwL`PU*6xm!$I!5y zhz9}=vUIq|OMiZzmxe`TfJ4V;(J!_LPX}y#$18lmCLSd)Ht?ctM;(s!2wWeD7!VhU z_M%Hp=EHEt=B7gsghL56-~6&n=efnLf&6`Fvif=wBFiELZPPA+sgu}|m1^kBBf z-Bb&)flzk!jA3kp@lm!pW(HXJ_%WL(x?*$dq#jl5gu8!YlTRa1Acx3Z)dY*9!rNYd z+<|c`RcD6r7e4`00?O{=aN$H29ea0-NOEyffIspzFMQ+Z+a#WlPgfe1;*033bMc5ZkwBNFtp%dbI{<0qeZ!GGH$FVeC}I=(IF z3!%cO+)^QC*+=H=!s~GrWPj&?jV&JI&-#Y=Oc4N0Kc!DY1L6t6L+rceM=TD;Gncf8 zfARMCxmRxKV5)h)bl=uEdvuHs-LvDzYTkctXPn&aKE|F?MxvFvkVJvwD4q{F97ikT z7&~E-BUvx}eF7>Cn*i{b8%fMwU^SJKS+`KL%mRvVLQ*Q{dJKyQ%l>LQIj6)5pzoQr zeR?ckE?Ym|!b|(&ReX;zEfi0&;04M;IaQNNrp$AI`0$qzL1Okh=GsjZm&(Z)mW zOly-2Y36-QQSZLxFPi9vXM16xk;N97OYBvX&r!{}Q%7_Hj%xidQxR4d?%IWGj)B?N z1)2=6e&N;N4L9zLXFvCM#;;t=uXrw|1wIesR$KLmA-gDj+&tC2AFm)%%Ji8>%>K|X zUHgdU_x!={9Y6fze{>u@cFdgY18fK5i$DGO@eBXi&yCk#z8G!!h)* zciTIks4xrO|FI8`W2cTqDERgI0np`98Sc2hrG-1^z&J>rYrKzS_3t9>34}+V(FfE4 z>Yn>96$73h*TskG{7w)2{D~o292+yQg%}Utjs#|bTg+HwzsS64pH%W-9Sh^nsB~nX zW~gvL^f-PA7wZT=(Bz!?lYZ$SZWKkNIez2NRPmz+CkDnOaZr)uW`#v=w&d?VljA6C zw4cA+7njj#-Ht=s3RzsawW>QGdd2Hn^MJl>n>KjgGi@)%*wVB3h^{GB`>f8p-S8ba zXJbHO97h-y3Zi!W&Xstv4}wWobPfPBP#<(np^Kh%;&pvOEDI;>q^v|8emVmJq&KYa zDO@K!x?q0cNZ?$enh4b%A@UxQsghn*u(>twqV%wv)<=2lbp^e4f z?Y2sy=0wlN*wNReS904W5moXjSIMdJ0#D_!H|}`%hZ)4IeFs@iOF^B;QbXe^$@vl9Q2XDr~GX}tTQb0wPN71(bjWn2M0qQtbC zxm32Y7l*C9OO{xz(UoW#U_5@xTQ)l1n|RhK)fI%VSgO-3+Fm?E)$-$$%*sQa&)dAT zi4;fB^cxlN)dDw+e9%BPZ6bXREAX`+V~0t;vEw9gQh zfa4J33%|CGt%^HIX_%p811P3E$ha!6CeGND9wT1Y*9r zSF09=3TCR7XPf~B1sR3%$`}f@Npj%tW8d+K@dJPQ4~&OdpcC5?9Bz%Le*Ra+U;6Z4 z7+?N;-u_~D_yyBH`vUy50U>zRF3?kd5?^HZM+xH(tbN)z+fq6wfU>hLu#7&5G#=qe z4|nDQX;Z9$Xr?d5xbG-qDy|AX#=dynRMJ`5*zZCmM)VHG3%~N5`3;x;t1pd;P{37z?>Tk2(E@uEiV&6{GiIACrvtTw+h&9^d_g-!p#qpZrI{a|6MINcY7r zJwKlN*=NR$8#k=qgTY1D#aCV%Klisj<4?y7jHeL^rFUvi?QuKS$BXo#LH?bo@{C=B zDEq1nq5QcjIekbDC320>a_dHaTfTSB%mw#v1Ww#@Vm$Krqrwixj@CaP`@xS#@ZSUc z9(OI=FTKeRFsZ#H>iwSN$uyfu_y+2<#QkS|v#QdlFO8?tpH!?%|MfUp2Aw(vse2zx z%+{Te4X%o^00XmE^ycFqO8T&n zNrx8RIpAX8PThEwD9>gH@C+V5xQt_TkmWeVm?FQkQ~Mg=F{6Fb(=k4pfP#Cmhl|Q> ztKLH65G3ZtBy~5AG)*AazX(qXnEJ<0PdI$IGb6&mqU*o7$VSn$Y9P%N$0u8awON?l zOs)f1-2S!MVLF#qMJIZwqT{Irp$)rw)W~3a5q6`(`S-!oZKOt6n=Agvj}Ffv*WA*{ zLRN0Tn+ajf#99`;IH$I#W$17F<5=Rr}qH@HAdAJ1aMqXY4~CZT#Q^e*|ZC70&Ilh zsW`DG1_+=!eu-+2+K2^>OguI#QiTSk=ItGwpH-||;4zTg=G7ih6p>k?pn{^ClUCV)8>{}+RxJ6- zVV^kGQN=O(eIIDf0QuQ{Nb0{Tp8yufF_>81adBa;BxPaW__u z%(pDYKw~BI@-cBV*n)uG$Jssn6V( zt?~5wx%W42j+egtneo)? zdAA~M1p4Bt$c%xYX~r6F(D^h8gngf5RxaT__5I&Ip8U=ylMZ4^{UhBuvO9K}ofFN+4}su&lRwmj2=$iU0GE$_4a)h=A87iGz=yy8WA^ol-~P#Q^1`Vwe}lkV zW&ZM?{Y&F5E!;T=ryt3YK2?_LC+A&rEVB+qnpmiCbYl;leg~r8$2w%01#DF6hmu*- z{l~xjxNot}Mrp@wD_t<>L3~xF+qM2SJXnx@#`A+pTV&YlPmG9ENC3)qbo*f3^g9ss zuN;;bK6Zw1PwBruO|T0$%!ue_GJEtVKKmXw0xW`$EAQK=Z;c0eJ+aU4VhH#_G`AP9 zQhbwxLz&GVGWs?=+Kj(-pWu{7W1(&&r2(13FlWXGai)bWi+6E5S#wc3+A3FMJF5T{V?%Y`pk z#@EtfX^uKBUhxk%Z8M0!iQ_X-WU4|tq;ra?#|=Grl`A=T7s?i&4~ zYVJxh@lii}bbEaGp6&4+5ABW*+_N)I==|+@SH29cR4_klys|F>=mF%ZeCYEfXO%5> z!(}hOmf4>ENdJJR4W;V-fXs2qIT_H4Q*v;xpbyJ^g0>CAL?*|cGaNUHHi8}-ZGvuF zDCv0K)>xgo=k$2*hw>#ns|&o)l{ z4ZBXB_;=wr4x_>qVE=f@3DkXUwbFI|#Z%7oDE+XotHzHnz==Zz0~>0UOGI~|{=<$v zc=w0-(nbKwBy`p8kjz6LmxKU$K!(4ieX-43R1)o|?~H&c3slfG6*`NJ=%x(3_R?$P z#ue^r3;#>MIG)#>)_PZv{&t&iP2q+JY@Yl;Dbf4DN55s<_wfDBF~@E3X^hO?^L_6h z@A;nhSuc51e$xG$|F6F>{^I}PzqGzLRQv}iKgI6z2R`S%SVie%J`O)Wd_~tFZi)o% zOY%|`b@Y-WTfZgFQHi4}HxFU@2oYX51ah39=(E3JZ4b!<&TSnS?)&xqsM6cPqn~-fn3_+!QSjX^&ubLFi|qLN!B=p6mTfb!>@RU;O;F(ZQLWMXM#nR9MlwXx*< zS;Z2sEG$Lt3qbf%0JFVq)VIdV5T5$d{VX1=TnHfUV-kh`wW;i&0xUqI;=MN2=fA=ekIklFbqx0LF8>8&B$?vy_ZYvZijf>~ zGwAi}_G0k4Pk+R<7KMX#+vYrVn|+~?NWGTHL)0;hBtDmX7eKc)vQ3+S`SQyG9#gj? z%(3&SlTUuyX(`J}DaN9E_u!iwzT4xZk#ZvHG@xVC(m?atUy4MD){F_1z8T$sNE4~O zg;O4Cn_kwC6JQ3-8g?^%rOto@h-^XLuOpyMR!wu@gTrVg?%))d;zJt4-hGa z)KCdWAmp&Wj6;-SoA!fE*z)5uJ9|3uy1o2qr@WKJOMMGrdItXmJjDmZf^H$?)|XS4#e6{vQSvtq3;Qo=@mdJ3+(_%n;d@G))$OFUPH z@v?yuNmJ>003MLJI>tjM^6@wO4L_rvx9v(x3x}0EL;9-bl_6Q&|Gpp_I_o4g7?Hf18?S0Kz#dIi1c8?qxzwclE{o~v{=f;;m^Hgak0)J2a z-KWNvf9ff}4%ptRpC%|0JQ=}F)bw5`OjLT@YmCCgq-0^jc|iNyb@jy?HzlowwZ#ie z3j4rXgE33L!i`RAw%*it{Mx78eFEC^_=){-{`)_HLYTi%klCZ3cvMsGH*TLh?)h?R zTEXVtsyatGQz}{~J<9y4zFpZ=3oSR;Zbg@F_jXF4F~&Jm;^8xMHS2_qg2JZHFguqC z*%#qApbJlHL{)g{woTJ@t5QCGYJ0qJjTdONr1Z-*sQp^pIskg5WWaamm@9(KW{-B; zPv|1^@zeDYn&@XPkMS0t7FAyu)DQLsuPz80rca>zee(QxCJ>?bA z+__M|V_OES$0)huC2f&-{kQIbiMP*yvn$&iAQJ~xGVivm+tI<|X9=w>Crz?#z33z= zv^FMRAAHPjTk6s&K(^Tnt|35R>7eFCCERg`tfTcdgL zGA${mWWpLp*8O=HV%vVrp`XMi%Rr?0=MVklLou!4OnG?WSW#n?2&P=3*}W0Y#Jbl* z6*N-y%u)JA6A{3k-MW3a2RtSKI9S^Us#UTnE0e9$`k@=^12a@w6iLhDEf_O}JvnXe zdbTrm{9zTFF42pJ&aZi)$Re{3PVCx8gZVm8F5E&=#b4V3i~{BKcQCHq=H1w1Jb#rp z)r@gM$K_p)Rq9W6g>y%CbdpegY{6VaB9{s9F$9`4Nka z!$-0-dyxlHH?_uQACrG1eLP66#Y4#eFS51P_x_>pAHU@ff9LqZ-~RmA-wz+4y!gzk z@CC2vT{9}9W{5|6b{x?6QIel_`;|t%AJX)08lzHt7FORQ& z_RHhOwd>|*|40`6_}>0LzVS!gv@02e1DIoCt;tBWg?y?l9T|DH=r`{%EyP~EzBR7- z#of_I(m4Tcm$hTR=1jffY>a*CB_G?N7n|fU{DtCoUpPC?{nihg{{JVe7w*Ys=ARa< zTah*Z-JSq#0@j+{y6&m8JksdlA)Jnp63wn`~HU zfAMvmR%mI%^xih=%}JtgW{2gIig+ z2ijw|deaIZ#^izpl11l{9r{pP+_#&SDJS%VpVHQznw>%86Cz1_LkE&aD9U-bSt2^< zVcQ%6HobK#`J35In0RZT)1wgirhbngK*<)Z_COgAQ+Il6%^tIG*Pa3$V-vzlkF4zj z@%;9d0qNGb-kkxK>nwsrFPv%B^m=S!KV|KGvp2!A-?smjPMrqgasuEE%5zr^#%o^7 zY>g9pNVIL~fUO1ng=1qpdV1Ht@~U;$xT&LdY3MJ0fUdzNo_gl7i39P`{At(TqX9%Z zZNqPAFnqM$+CzMQ_>&(QkG%KM@$%Cz6u)6>+;iV~UBK*&FMsAs#X*`exUPlXYcIbh zDhss5v;KYK!gTy?Mh|bcEahQMJ6ZtC=4M8O7e7t=Vn@tq2YT-|O@YD!?PC+dqqISl zozdn|s3SzL+Z2GB^vsDw`80>u%)!5M>tMX8IX7d3pKY-!PIyE;dhO~szW?UuE;3<9hE zF6rSm0NtNJ$GdRq_;~cfz2o$6dXM@4y`a+ljlkt);hsljrUUBkTOhKu66|w}0xj_3YaTYdp3MNa8Wr9FK-b7)JI*sOfE;4KO{;wr7neRGLRjOciLpLS!SX;%gt&62nofwH1&MXDxD@iIZe3>>CWT_jc1mDbS zQKP`0oMjlK*GXd|{*te4BD=YNFfM8V|Lo<1@z(7z_QXHtS4--&CgqcRd}(QWJam$i z$hH^qJaUGg4o%&c9P57bc*0lU!paD3sN~QPj>geo>T#lbzuON0gGVo8na}><7Jh_Et>wSA^LG6D_*Sm@~IUfK+w=BM*+>`A_|i#w%Zad0e}4eZ2qd zo$-}7?)a@r+uJ+i!6zOZU;o_K#--P__*1ZWQH+EA@$6TgUEYIlXUjYSh{*<|4bHPX zz#-GLH=5L4a08%&&CwK`V$xaaeNEpARZ@pGWPJ-m9&!J1bFARDB&dFFGt|4 zTrfDs;fZVyfN2T1^5Q9+o(O56kSI)nV?yR*_~6=9`y0h#2o()87Pc=iyGZMajy^?9 z$j2(SkFrriFxndB;>c0CP~BZ9o*a`4J7Y5DR8T!Yf001x`*~0jDSb{ozGK0chU`$2 zQ#SYn62t$F-~PIPnIN~0+#b99ZSO6y_y^@mHWzBC^K2I<9|=1KY^-n(4Q1U_c^o7} z4%KM`y8hCqMP&(J3^D|e!C!W{l^(w8wWemz+*OkleoC*%0{mk`UxaoxrQf=$(nORd zVU&Q)2JEluAmK1-)njRcWF9x{p;dIeZX*(8KypNqo&(S^2uc3HrcOIX7YUgW8^_5? zU^?wt#uz>tFh!Ymy9HI*NA(qeuHRIEf>~0qOp)zKTO3=AC}Ty&$pzkiwUemvzu9J6 z2(d-Q?mea3hKFjMkmx`&2cx2~5Mm8-F1xskpzV2t=Dy?GJaoX?loNr;t`@(3B(OM3; z-&JxvOFP6|J60oUlkJSO3?SpsZlc53VMtyxA(_qUdj*N-FyGNK$9v!Xo^j?6emE|~ zYxmS|J^$wTiGTaQ9+xij-u2Ecz&?bcN29{ThjOnZdVdbL_p$VHX2_

  • +MnUydvR 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

    &k`g^2PJpufJs9t)tB7Y+z>Gv#~$h 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 IYIdyrh}#t*p~FxY+dE#vAs84 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 LIhFqH$18saMzDY* diff --git a/image/void_done.png b/image/void_done.png new file mode 100755 index 0000000000000000000000000000000000000000..214ca96be235b664225e5ad9d3140e80ea5f8ed0 GIT binary patch literal 24423 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Ξ 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 literal 0 HcmV?d00001 diff --git a/image/void_partitioning.png b/image/void_partitioning.png new file mode 100755 index 0000000000000000000000000000000000000000..2e3a37652768150eecdae5142f9f1db7a018922c GIT binary patch literal 49246 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 literal 0 HcmV?d00001 diff --git a/script/INSTALL.md b/script/INSTALL.md new file mode 100644 index 0000000..aa8215c --- /dev/null +++ b/script/INSTALL.md @@ -0,0 +1,123 @@ +# Ubuntu/Void-Linux installation into the LVM on the LUKS volume + +Installation requires mainly 2 steps. + +- Configure the parameters in config.sh. +- Run the kaiten-yaki script + +Each script have to be executed as sourced style. For example : +```shell +source ubuntu-kaiten-yaki.sh +``` +If you execute these script as independent command style, it will show an error message and terminate the process immediately. + +The first stage of the script is preparation like : erasing disk, format partition, and encryption. This is most critical stage of the entire installation process. This part is controlled by the configuration parameter. Thus, you have to edit the config.txt carefully. + +In the second stage, the distribution dependent installer is invoked. That is the Ubiquity of Ubuntu and the void-installer of Void linux. + +The third stage is easy. There is nothing user can do. Everything is automatic. +# Installation +Follow the steps below. + +## Configuration parameters +This is very critical part of the installation. The configuration parameters are in the top of the config.sh. Edit these parameters before the installation. + +Followings are set of the default settings of the parameters : +- Install to **/dev/sda** (DEV). +- Erase entire disk (ERASEALL). +- In case of EFI firmware, 200MB is allocated to the EFI partition (EFISIZE). +- Create a logical volume group named "vg1" in the encrypted volume (VGNAME) +- Create a swap logical volume named "swap" in the "vg1". The size is 8GB (LVSWAPNAME,LVSWAPSIZE) +- Create a logical volume named **"anko"** for / in the "vg1". The size of the **50%** of the entire free space (LVROOTNAME, LVROOTSIZE). + +```bash +# Storage device to install the linux. +export DEV="/dev/sda" + +# Whether you want to erase all contents of the storage device or not. +# 1 : Yes, I want to erase all. +# 0 : No, I don't. I want to add to the existing LUKS volume. +export ERASEALL=1 + +# Logical Volume name for your Linux installation. Keep it unique from other distribution. +export LVROOTNAME="ubuntu" + +# Logical volume size of the Linux installation. +# 30% mean, new logical volume will use 30% of the free space in the LVM volume group. +# For example, assume the free space is 100GB, and LVROOTSIZE is 30%FREE. Script will create 30GB logical volume. +export LVROOTSIZE="50%FREE" + +# Set the size of EFI partition and swap partition. The unit is Byte. you can use M,G... notation. +export EFISIZE="100M" +export LVSWAPSIZE="8G" + +# Usually, these names can be left untouched. +# If you change, keep them consistent through all instllation in your system. +export CRYPTPARTNAME="luks_volume" +export VGNAME="vg1" +export LVSWAPNAME="swap" + +# Void Linux only. Ignored in Ubuntu. +# The font size of the void-installer +export XTERMFONTSIZE=11 +``` + +There are several restrictions : +- For the first distribution installation, you must set ERASEALL to 1, to erase entire screen and create a LUKS partition. Kaiten-yaki script creates a maximum LUKS partition as possible. +- The LVROOMNAME must be unique among all installations in a computer. Otherwise, Kaiten-yaki terminate at a middle. +- The LVSWAPNAME must be unique among all installations in a computer. Otherwise, Kaiten-yaki creates an unnecessary logical volume. This is waste of storage resource. +- The EFISIZE and the LVSWAPSIZE are refereed during the first distribution installation only. +- The LVROOTSIZE is the size of a logical volume to create. This is a relative value to the existing free space in the volume group. If you want to install 3 distributions in a computer, you may want to set 33%FREE, 50%FREE, and 100%FREE for the first, second, and third distribution installation, respectively. +## Shell preparation +First of all, promote the shell to root. Almost of the procedure requires root privilege. Note that the scripts requires Bash. + +In case of Ubuntu : +```bash +# Promote to the root user +sudo -i +``` +In case of Void-Linux : +```bash +sudo -i +bash +xbps-install -Su xbps nano +``` +The nano is editor package to configure the config.txt. The editor choice is up to you. Kaiten-yaki scripts doesn't use editor. + +Then, edit the config.txt as explained above. +## First stage : Setting up the volumes +After you set the configuration parameters correctly, execute the following command from the shell. Again, you have to be promoted as root user, and you have to use Bash. + +In case of Ubuntu : +```bash +source ubuntu-kaiten-yaki.sh +``` + +In case of Void Linux +```bash +source void-kaiten-yaki.sh +``` +After the several interactive confirmations, Kaiten-yaki will ask you to input a passphrase. This passphrase will be applied to the encryption of the LUKS volume. Make sure you use identical passphrase between all installation of the distributions in a computer. Otherwise, install process terminates with error. + +## Second stage : GUI/TUI installer +After the first script finishes, the GUI/TUI installer starts automatically. Configure it as usual and run it. Ensure you map the followings correctly. +Host Volume | Target Directory | Comment +-----------------------|------------------|--------------------------------------------------------------- +/dev/sda1 | /boot/efi | BIOS system doesn't need this mapping +/dev/mapper/vg1-ubuntu | / | Host volume name is up to your configuration parameter. +/dev/mapper/swap | swap | Only the first distribution installation requires this mapping. + +During the GUI/TUI installer copying files, Kaiten-yaki modifies the /etc/default/grub of target system. This is pretty dirty way. If we don't modify this file, GUI/TUI installer fails at last. + +![Ubuntu Partitioning](../image/ubuntu_partitioning.png) +![Void Partitioning](../image/void_partitioning.png) + +## Do not reboot +At the end of the GUI/TUI installing, do not reboot the system. Click "Continue" and just exit the GUI/TUI installer without rebooting. Otherwise, we cannot finalize the entire installation process. + +![Ubuntu done](../image/ubuntu_done.png) +![Void done](../image/void_done.png) + +## Third stage : Finalizing +After GUI/TUI installer window is closed, final part of the install process automatically starts. You can reboot the system, if you see the completion message on the console. + diff --git a/script/config.sh b/script/config.sh index 6158ae9..7c2b81b 100644 --- a/script/config.sh +++ b/script/config.sh @@ -17,7 +17,7 @@ export LVROOTNAME="anko" export LVROOTSIZE="50%FREE" # Set the size of EFI partition and swap partition. The unit is Byte. you can use M,G... notation. -export EFISIZE="100M" +export EFISIZE="200M" export LVSWAPSIZE="8G" # Usually, these names can be left untouched. diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 12296ba..1030fa5 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -6,7 +6,7 @@ if [ $sourced -eq 0 ] ; then cat <&2 ***** ERROR : Must execute as source ***** Execute as following : -source 1-pre-install.sh +source ubuntu-kaiten-yaki.sh Installation terminated. HEREDOC @@ -28,7 +28,7 @@ if [ $? -eq 1 ] ; then # "Ubuntu" is not found in the OS name. cat <&2 @@ -194,7 +198,7 @@ Host Volume | Target Directory | Comment /dev/mapper/vg1-ubuntu | / | Host volume name is up to your | | configuration parameter. /dev/mapper/swap | swap | Only the first distribution - | | installation requires this mapping. + | | requires this mapping. ************************ CAUTION! CAUTION! CAUTION! **************************** @@ -212,7 +216,7 @@ ubiquity & ubiquity_pid=$! # While the /etc/default/grub in the install target is NOT existing, keep sleeping. -# If ubiquity terminated without installation, this script also terminates. +# If ubiquity terminated without file copy, this script also terminates. while [ ! -e /target/etc/default/grub ] do sleep 1 # 1sec. @@ -246,19 +250,6 @@ wait $ubiquity_pid # Post-install stage # ******************************************************************************* -# Varidate whether script is executed as sourced or not -(return 0 2>/dev/null) && sourced=1 || sourced=0 -if [ $sourced -eq 0 ] ; then - cat <&2 -***** ERROR : Must execute as source ***** -Execute as following : -source 3-post-install.sh - -Installation terminated. -HEREDOC - exit # use "exit" instead of "return", if not "sourced" execusion -fi # "sourced" validation - ## Mount the target file system # /target is created by the Ubiquity installer echo "...Mount /dev/mapper/${VGNAME}-${LVROOTNAME} on /target." diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh new file mode 100644 index 0000000..9e25af8 --- /dev/null +++ b/script/void-kaiten-yaki.sh @@ -0,0 +1,304 @@ +#!/bin/bash + +# Varidate whether script is executed as sourced or not +(return 0 2>/dev/null) && sourced=1 || sourced=0 +if [ $sourced -eq 0 ] ; then + cat <&2 +***** ERROR : Must execute as source ***** +Execute as following : +source ubuntu-kaiten-yaki.sh + +Installation terminated. +HEREDOC + exit # use "exit" instead of "return", if not "sourced" execusion +fi # "sourced" validation + +# Load configuration parameter +source config.sh + +# ******************************************************************************* +# Confirmation and Passphrase setting +# ******************************************************************************* + +# Distribution check +uname -a | grep void -i > /dev/null +if [ $? -eq 1 ] ; then # "Void" is not found in the OS name. + echo "*********************************************************************************" + uname -a + cat <&2 + +Installation terminated. +HEREDOC + return + fi # if YES + +fi # "Void" is not found in the OS name. + +# For surre ask the config.sh is edited +cat <&2 + +Installation terminated. +HEREDOC + return +fi # if YES + +# For sure ask ready to erase. +if [ ${ERASEALL} -eq 1 ] ; then + echo "Are you sure you want to erase entire ${DEV}? [Y/N]" + read YESNO + if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + cat <&2 +Check config.sh. The variable ERASEALL is ${ERASEALL}. + +Installation terminated. +HEREDOC + return + fi # if YES +fi # if erase all + +# ----- Set Passphrase ----- +# Input passphrase +echo "Type passphrase for the disk encryption." +read -sr PASSPHRASE +export PASSPHRASE + +echo "Type passphrase again, to confirm." +read -sr PASSPHRASE_C + +# Validate whether both are indentical or not +if [ ${PASSPHRASE} != ${PASSPHRASE_C} ] ; then + cat <&2 +***** ERROR : Passphrase doesn't match ***** +Installation terminated. +HEREDOC + return +fi # passphrase validation + + +# ******************************************************************************* +# Pre-install stage +# ******************************************************************************* + + +# ----- Erase entire disk, create partitions, format them and encrypt the LUKS partition ----- +if [ ${ERASEALL} -eq 1 ] ; then + + # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. + if [ ${ISEFI} -eq 1 ] ; then + # Zap existing partition table and create new GPT + echo "...Initialize ${DEV} with GPT." + sgdisk --zap-all "${DEV}" + # Create EFI partition and format it + echo "...Create an EFI partition on ${DEV}." + sgdisk --new=${EFIPARTITION}:0:+${EFISIZE} --change-name=${EFIPARTITION}:"EFI System" --typecode=${EFIPARTITION}:ef00 "${DEV}" + echo "...Format the EFI parttion." + mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" + # Create Linux partition + echo "...Create a Linux partition on ${DEV}." + sgdisk --new=${CRYPTPARTITION}:0:0 --change-name=${CRYPTPARTITION}:"Linux LUKS" --typecode=${CRYPTPARTITION}:8309 "${DEV}" + # Then print them + sgdisk --print "${DEV}" + else + # Zap existing partition table + echo "...Erase partition table of ${DEV}." + dd if=/dev/zero of=${DEV} bs=512 count=1 + # Create MBR and allocate max storage for Linux partition + echo "...Create a Linux partition on ${DEV} with MBR." + sfdisk ${DEV} <&2 +***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on ${DEV}${CRYPTPARTITION}. ***** +Check passphrase and config.txt + +Installation terminated. +HEREDOC + return +fi # if crypt volume is unable to open + +# ----- Configure the LVM in LUKS volume ----- +# Check volume group ${VGNAME} exist or not +vgdisplay -s ${VGNAME} &> /dev/null +if [ $? -eq 0 ] ; then # is return value 0? ( exist ?) + echo "...Volume group ${VGNAME} already exist. Skipped to create. No problem." +else + echo "...Initialize a physical volume on \"${CRYPTPARTNAME}\"" + pvcreate /dev/mapper/${CRYPTPARTNAME} + echo "...And then create Volume group \"${VGNAME}\"." + vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} +fi # if /dev/volume-groupt not exist + +# Create a SWAP Logical Volume on VG, if it doesn't exist +if [ -e /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then + echo "...Swap volume already exist. Skipped to create. No problem." +else + echo "...Create logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." + lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} +fi # if /dev/mapper/swap volume already exit. + +# Create a ROOT Logical Volume on VG. +if [ -e /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then + cat <&2 +***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** +Check LVROOTNAME environment variable in config.txt. + +Installation terminated. +HEREDOC + return +else + echo "...Create logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." + lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} +fi # if the root volun already exist + +# ******************************************************************************* +# Para-install stage +# ******************************************************************************* +cat < /dev/null # ps return 0 if process exists. + if [ $? -ne 0 ] ; then # If not exists + cat <&2 +The void-installer terminated unexpectedly. + +Installation process terminated. +HEREDOC + return + + fi +done + +# Perhaps, too neuvous. Wait 1 more sectond to avoid the rece condition. +sleep 1 # 1sec. + +# Make target GRUB aware to the crypt partition +# This must do it after start of the file copy by void-installer, but before the end of the file copy. +echo "...Add GRUB_ENABLE_CRYPTODISK entry to /mnt/target/etc/default/grub " +echo "GRUB_ENABLE_CRYPTODISK=y" >> /mnt/target/etc/default/grub + + +# And then, wait for the end of void-installer process +echo "...Waiting the end of void-installer." +wait $ubiquity_pid + +# ******************************************************************************* +# Post-install stage +# ******************************************************************************* + +## Mount the target file system +# /target is created by the Ubiquity installer +echo "...Mount /dev/mapper/${VGNAME}-${LVROOTNAME} on /target." +mount /dev/mapper/${VGNAME}-${LVROOTNAME} /target + +# And mount other directories +echo "...Mount all other dirs." +for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "/target/$n"; done + +# Change root and create the keyfile and ramfs image for Linux kernel. +echo "...Chroot to /target." +cat <> /etc/cryptsetup-initramfs/conf-hook +echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf + +# Prepare a key file to embed in to the ramfs. +echo "...Prepair key file." +mkdir /etc/luks +dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 status=none +chmod u=rx,go-rwx /etc/luks +chmod u=r,go-rwx /etc/luks/boot_os.keyfile + +# Add a key to the key file. Use the passphrase in the environment variable. +echo "...Add a key to the key file." +printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile + +# Add the LUKS volume information to /etc/crypttab to decrypt by kernel. +echo "...Add LUKS volume info to /etc/crypttab." +echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab + +# Finally, update the ramfs initial image with the key file. +echo "...Upadte initramfs." +update-initramfs -uk all + +# Leave chroot +exit +HEREDOC + +# Finishing message +cat < Date: Wed, 30 Jun 2021 23:23:27 +0900 Subject: [PATCH 063/242] Fix the xbps-install bug --- script/ubuntu-kaiten-yaki.sh | 6 +++--- script/void-kaiten-yaki.sh | 34 ++++++++++++++++++++++------------ 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 1030fa5..828dfe0 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -27,7 +27,7 @@ if [ $? -eq 1 ] ; then # "Ubuntu" is not found in the OS name. uname -a cat <> /etc/cryptsetup-initramfs/conf-hook -echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf +xbps-install -y lvm2 cryptsetup # Prepare a key file to embed in to the ramfs. echo "...Prepair key file." @@ -288,14 +288,24 @@ printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" echo "...Add LUKS volume info to /etc/crypttab." echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab +echo "...Register key file to the ramfs" +echo 'install_items+=" /etc/luks/boot_os.keyfile /etc/crypttab " ' > /etc/dracut.conf.d/10-crypt.conf + # Finally, update the ramfs initial image with the key file. echo "...Upadte initramfs." -update-initramfs -uk all +xbps-reconfigure -fa +echo "...grub-mkconfig." +grub-mkconfig -o /boot/grub/grub.cfg +echo "...update-grub." +update-grub # Leave chroot -exit HEREDOC +# Unmount all +echo "...Unmount all." +umount -R /mnt/target + # Finishing message cat < Date: Wed, 30 Jun 2021 23:31:55 +0900 Subject: [PATCH 064/242] correct "ubiquity" --- script/void-kaiten-yaki.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 6b7c9c9..ee65a2c 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -208,7 +208,7 @@ Host Volume | Target Directory | Comment Make sure to click "NO", when the void-installer ask you to reboot at the end of installation. Just exit the void-installer wihout reboot. -Type return key to start Ubiquity. +Type return key to start void-installer. HEREDOC # waitfor a console input @@ -217,15 +217,15 @@ read dummy_var # Start GUI installer xterm -fa monospace -fs ${XTERMFONTSIZE} -e void-installer & # Record the PID -ubiquity_pid=$! +voidinstaller_pid=$! # While the /etc/default/grub in the install target is NOT existing, keep sleeping. -# If ubiquity terminated without file copy, this script also terminates. +# If void-installer terminated without file copy, this script also terminates. while [ ! -e /mnt/target/etc/default/grub ] do sleep 1 # 1sec. - ps $ubiquity_pid > /dev/null # ps return 0 if process exists. + ps $voidinstaller_pid > /dev/null # ps return 0 if process exists. if [ $? -ne 0 ] ; then # If not exists cat <&2 The void-installer terminated unexpectedly. @@ -248,14 +248,14 @@ echo "GRUB_ENABLE_CRYPTODISK=y" >> /mnt/target/etc/default/grub # And then, wait for the end of void-installer process echo "...Waiting the end of void-installer." -wait $ubiquity_pid +wait $voidinstaller_pid # ******************************************************************************* # Post-install stage # ******************************************************************************* ## Mount the target file system -# /target is created by the Ubiquity installer +# /mnt/target is created by the void-installer echo "...Mount /dev/mapper/${VGNAME}-${LVROOTNAME} on /mnt/target." mount /dev/mapper/${VGNAME}-${LVROOTNAME} /mnt/target From 801c6ab340f823743b9305bf29a443055a7f8d4c Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 30 Jun 2021 23:39:35 +0900 Subject: [PATCH 065/242] fix degrading --- script/void-kaiten-yaki.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index ee65a2c..3360fe5 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -182,6 +182,13 @@ else lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} fi # if the root volun already exist +# ADD "rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} root=/dev/mapper/${VGNAME}-${ROOTNAME}" to GRUB. +# This is magical part. I have not understood why this is required. +# Anyway, without this modification, Void Linux doesn't boot. +# Refer https://wiki.voidlinux.org/Install_LVM_LUKS#Installation_using_void-installer +echo "...Modify /etc/default/grub." +sed -i "s#loglevel=4#loglevel=4 rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} root=/dev/mapper/${VGNAME}-${LVROOTNAME}#" /etc/default/grub + # ******************************************************************************* # Para-install stage # ******************************************************************************* From cdb1b274390e2d774ca8c2c109e3c5aa1f3c49fd Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 30 Jun 2021 23:43:22 +0900 Subject: [PATCH 066/242] add space for ease of read --- script/INSTALL.md => INSTALL.md | 0 script/ubuntu-kaiten-yaki.sh | 1 + script/void-kaiten-yaki.sh | 1 + 3 files changed, 2 insertions(+) rename script/INSTALL.md => INSTALL.md (100%) diff --git a/script/INSTALL.md b/INSTALL.md similarity index 100% rename from script/INSTALL.md rename to INSTALL.md diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 828dfe0..a098bdb 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -43,6 +43,7 @@ fi # "Ubuntu" is not found in the OS name. # For surre ask the config.sh is edited cat < Date: Thu, 1 Jul 2021 07:33:42 +0900 Subject: [PATCH 067/242] Added volume name sanity check --- script/ubuntu-kaiten-yaki.sh | 39 ++++++++++++++++++++++++++++++++++++ script/void-kaiten-yaki.sh | 39 ++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index a098bdb..47c97ed 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -41,6 +41,45 @@ HEREDOC fi # "Ubuntu" is not found in the OS name. +# Sanity check for volume group name +echo ${VGNAME} | grep "-" -i > /dev/null +if [ $? -eq 0 ] ; then # "-" is found in the volume group name. + cat <&2 +***** ERROR : VGNAME is "${VGNAME}" ***** +THe "-" is not allowed in the volume name. +Check passphrase and config.txt + +Installation terminated. +HEREDOC + return +fi # "-" is found in the volume group name. + +# Sanity check for root volume name +echo ${LVROOTNAME} | grep "-" -i > /dev/null +if [ $? -eq 0 ] ; then # "-" is found in the volume name. + cat <&2 +***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** +THe "-" is not allowed in the volume name. +Check passphrase and config.txt + +Installation terminated. +HEREDOC + return +fi # "-" is found in the volume name. + +# Sanity check for swap volume name +echo ${LVSWAPNAME} | grep "-" -i > /dev/null +if [ $? -eq 0 ] ; then # "-" is found in the volume name. + cat <&2 +***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** +THe "-" is not allowed in the volume name. +Check passphrase and config.txt + +Installation terminated. +HEREDOC + return +fi # "-" is found in the volume name. + # For surre ask the config.sh is edited cat < /dev/null +if [ $? -eq 0 ] ; then # "-" is found in the volume group name. + cat <&2 +***** ERROR : VGNAME is "${VGNAME}" ***** +THe "-" is not allowed in the volume name. +Check passphrase and config.txt + +Installation terminated. +HEREDOC + return +fi # "-" is found in the volume group name. + +# Sanity check for root volume name +echo ${LVROOTNAME} | grep "-" -i > /dev/null +if [ $? -eq 0 ] ; then # "-" is found in the volume name. + cat <&2 +***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** +THe "-" is not allowed in the volume name. +Check passphrase and config.txt + +Installation terminated. +HEREDOC + return +fi # "-" is found in the volume name. + +# Sanity check for swap volume name +echo ${LVSWAPNAME} | grep "-" -i > /dev/null +if [ $? -eq 0 ] ; then # "-" is found in the volume name. + cat <&2 +***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** +THe "-" is not allowed in the volume name. +Check passphrase and config.txt + +Installation terminated. +HEREDOC + return +fi # "-" is found in the volume name. + # For surre ask the config.sh is edited cat < Date: Thu, 1 Jul 2021 07:55:02 +0900 Subject: [PATCH 068/242] Update the para-install warning --- script/ubuntu-kaiten-yaki.sh | 29 +++++++++++++++++++---------- script/void-kaiten-yaki.sh | 36 ++++++++++++++++++++++-------------- 2 files changed, 41 insertions(+), 24 deletions(-) diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 47c97ed..497f7d6 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -228,17 +228,26 @@ The pre-install process is done. We are ready to install the Linux to the target storage device. By pressing return key, Ubuntu Ubiquity installer starts. -Please pay attention to the partition mapping configuration. In this -installation, you have to map the previously created partitions/logical -volumes to the appropriate directory of the target system. +Please pay attention to the partition/logical vokume mapping configuration. +In this installation, you have to map the previously created partitions/logical +volumes to the appropriate directories of the target system as followings : -Host Volume | Target Directory | Comment ------------------------|------------------|----------------------------------- -/dev/sda1 | /boot/efi | Only EFI system needs. -/dev/mapper/vg1-ubuntu | / | Host volume name is up to your - | | configuration parameter. -/dev/mapper/swap | swap | Only the first distribution - | | requires this mapping. +HEREDOC + +# In the EFI system, add this mapping +if [ ${ISEFI} -eq 1 ] ; then + echo "/boot/efi : ${DEV}${EFIPARTITION}" +fi + +# Root volume mapping +echo "/ : /dev/mapper/${VGNAME}-${LVROOTNAME}" + +# In case of erased storage, add this mapping +if [ ${ERASEALL} -eq 1 ] ; then + echo "swap : /dev/mapper/${VGNAME}-${LVSWAPNAME}" +fi + +cat < Date: Thu, 1 Jul 2021 08:26:43 +0900 Subject: [PATCH 069/242] Correct the message --- script/ubuntu-kaiten-yaki.sh | 2 +- script/void-kaiten-yaki.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 497f7d6..3a2584b 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -292,7 +292,7 @@ echo "GRUB_ENABLE_CRYPTODISK=y" >> /target/etc/default/grub # And then, wait for the end of Ubiquity process -echo "...Waiting the end of Ubiquity installer." +echo "...Waiting for the end of Ubiquity installer." wait $ubiquity_pid # ******************************************************************************* diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index d401ff2..c7d77b3 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -302,7 +302,7 @@ echo "GRUB_ENABLE_CRYPTODISK=y" >> /mnt/target/etc/default/grub # And then, wait for the end of void-installer process -echo "...Waiting the end of void-installer." +echo "...Waiting for the end of void-installer." wait $voidinstaller_pid # ******************************************************************************* From 794aa0231e533c1928f39b33c85ed63669234e70 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 1 Jul 2021 08:29:16 +0900 Subject: [PATCH 070/242] Correct spell "vokume" --- script/ubuntu-kaiten-yaki.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 3a2584b..a725900 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -228,7 +228,7 @@ The pre-install process is done. We are ready to install the Linux to the target storage device. By pressing return key, Ubuntu Ubiquity installer starts. -Please pay attention to the partition/logical vokume mapping configuration. +Please pay attention to the partition/logical volume mapping configuration. In this installation, you have to map the previously created partitions/logical volumes to the appropriate directories of the target system as followings : From 4fae6c75e1f512fa9d422d7a1e43c4dc5adcf57a Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 1 Jul 2021 08:33:10 +0900 Subject: [PATCH 071/242] Correct the "ubiquitty" in the void-installer --- script/ubuntu-kaiten-yaki.sh | 1 + script/void-kaiten-yaki.sh | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index a725900..5d09f57 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -252,6 +252,7 @@ cat < Date: Thu, 1 Jul 2021 08:40:52 +0900 Subject: [PATCH 072/242] Deleted unnessary exit and add unmount --- script/ubuntu-kaiten-yaki.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 5d09f57..ba2ec59 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -342,9 +342,12 @@ echo "...Upadte initramfs." update-initramfs -uk all # Leave chroot -exit HEREDOC +# Unmount all +echo "...Unmount all." +umount -R /mnt/target + # Finishing message cat < Date: Thu, 1 Jul 2021 09:30:40 +0900 Subject: [PATCH 073/242] modiy xbps-install with -Su --- INSTALL.md | 64 ++++++++++++++++++++------------------ README.md | 23 +++++++++----- script/void-kaiten-yaki.sh | 2 +- 3 files changed, 49 insertions(+), 40 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index aa8215c..114c81a 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -13,12 +13,30 @@ If you execute these script as independent command style, it will show an error The first stage of the script is preparation like : erasing disk, format partition, and encryption. This is most critical stage of the entire installation process. This part is controlled by the configuration parameter. Thus, you have to edit the config.txt carefully. -In the second stage, the distribution dependent installer is invoked. That is the Ubiquity of Ubuntu and the void-installer of Void linux. +In the second stage, the distribution dependent installer is invoked. That is the Ubiquity/void-installer of Ubuntu/Void linux, respectively. The third stage is easy. There is nothing user can do. Everything is automatic. # Installation Follow the steps below. +## Shell preparation +First of all, promote the shell to root. Almost of the procedure requires root privilege. Note that the scripts requires Bash. + +In case of Ubuntu : +```bash +# Promote to the root user +sudo -i +``` +In case of Void-Linux : +```bash +sudo -i +bash +xbps-install -Su xbps nano +``` +The nano is editor package to configure the config.txt. The editor choice is up to you. Kaiten-yaki script doesn't use any editor during execution. + +Then, edit the config.txt. + ## Configuration parameters This is very critical part of the installation. The configuration parameters are in the top of the config.sh. Edit these parameters before the installation. @@ -40,7 +58,7 @@ export DEV="/dev/sda" export ERASEALL=1 # Logical Volume name for your Linux installation. Keep it unique from other distribution. -export LVROOTNAME="ubuntu" +export LVROOTNAME="anko" # Logical volume size of the Linux installation. # 30% mean, new logical volume will use 30% of the free space in the LVM volume group. @@ -48,7 +66,7 @@ export LVROOTNAME="ubuntu" export LVROOTSIZE="50%FREE" # Set the size of EFI partition and swap partition. The unit is Byte. you can use M,G... notation. -export EFISIZE="100M" +export EFISIZE="200M" export LVSWAPSIZE="8G" # Usually, these names can be left untouched. @@ -68,23 +86,7 @@ There are several restrictions : - The LVSWAPNAME must be unique among all installations in a computer. Otherwise, Kaiten-yaki creates an unnecessary logical volume. This is waste of storage resource. - The EFISIZE and the LVSWAPSIZE are refereed during the first distribution installation only. - The LVROOTSIZE is the size of a logical volume to create. This is a relative value to the existing free space in the volume group. If you want to install 3 distributions in a computer, you may want to set 33%FREE, 50%FREE, and 100%FREE for the first, second, and third distribution installation, respectively. -## Shell preparation -First of all, promote the shell to root. Almost of the procedure requires root privilege. Note that the scripts requires Bash. - -In case of Ubuntu : -```bash -# Promote to the root user -sudo -i -``` -In case of Void-Linux : -```bash -sudo -i -bash -xbps-install -Su xbps nano -``` -The nano is editor package to configure the config.txt. The editor choice is up to you. Kaiten-yaki scripts doesn't use editor. - -Then, edit the config.txt as explained above. +- The name with "-" is not allowed for the VGNAME, LVROOTNAME, and LVSWAPNAME. I saw some installed doesn't work if "-" in in the name. ## First stage : Setting up the volumes After you set the configuration parameters correctly, execute the following command from the shell. Again, you have to be promoted as root user, and you have to use Bash. @@ -101,23 +103,23 @@ After the several interactive confirmations, Kaiten-yaki will ask you to input a ## Second stage : GUI/TUI installer After the first script finishes, the GUI/TUI installer starts automatically. Configure it as usual and run it. Ensure you map the followings correctly. -Host Volume | Target Directory | Comment ------------------------|------------------|--------------------------------------------------------------- -/dev/sda1 | /boot/efi | BIOS system doesn't need this mapping -/dev/mapper/vg1-ubuntu | / | Host volume name is up to your configuration parameter. -/dev/mapper/swap | swap | Only the first distribution installation requires this mapping. +Target Directory | Host Volume | Comment +-----------------|------------------------|--------------------------------------------------------------- +/boot/efi | /dev/sda1 | BIOS system doesn't need this mapping +/ | /dev/mapper/vg1-ubuntu | Host volume name is up to your configuration parameter. +swap | /dev/mapper/swap | Only the first distribution installation requires this mapping. -During the GUI/TUI installer copying files, Kaiten-yaki modifies the /etc/default/grub of target system. This is pretty dirty way. If we don't modify this file, GUI/TUI installer fails at last. +During the GUI/TUI installer copying files, Kaiten-yaki modifies the /etc/default/grub of target system. This is pretty dirty way. But if we don't modify this file, GUI/TUI installer fails at last. -![Ubuntu Partitioning](../image/ubuntu_partitioning.png) -![Void Partitioning](../image/void_partitioning.png) +![Ubuntu Partitioning](image/ubuntu_partitioning.png) +![Void Partitioning](image/void_partitioning.png) ## Do not reboot At the end of the GUI/TUI installing, do not reboot the system. Click "Continue" and just exit the GUI/TUI installer without rebooting. Otherwise, we cannot finalize the entire installation process. -![Ubuntu done](../image/ubuntu_done.png) -![Void done](../image/void_done.png) +![Ubuntu done](image/ubuntu_done.png) +![Void done](image/void_done.png) ## Third stage : Finalizing -After GUI/TUI installer window is closed, final part of the install process automatically starts. You can reboot the system, if you see the completion message on the console. +After GUI/TUI installer quit without rebooting, final part of the install process automatically starts. You can reboot the system, if you see the "Ready to reboot" message on the console. diff --git a/README.md b/README.md index 52997b1..1b0adc6 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # Kaiten-yaki : Yet another Full Disk Encryption for GRUB/Linux -Helpful scripts of the full disk encryption for the Linux distribution +Kaiten-yaki is a script set to help you to make a full disk encryption install to your desktop system. -This is a script correction to help the installation of Linux distribution with the full disc encryption. Followings are the list of functionality. -- Ubuntu and Void Linux. +Followings are the list of functionality. +- Support Ubuntu and Void Linux. - Install from LiveCD/USB. -- Use GUI installer, for the ease of installation. +- Invoke GUI/TUI installer at the middle of script execution, for the ease of installation. - Automatic detection of BIOS/EFI firmware and create MBR/GPT, respectively. - Support to install multiple distributions in a LUKS partition. - The "/boot" is located in the same logical volume with the "/". @@ -21,7 +21,7 @@ The logical volume size of each Linux distribution (LVROOTSIZE) can be customize As depicted the LVM volume group has only one physical volume. -# Test environment +# Tested environment These scripts are tested with following environment. - VMWare Workstation 15.5.7 ( EFI/BIOS ) - Ubuntu 20.04.2 amd64 desktop @@ -29,18 +29,25 @@ These scripts are tested with following environment. - void-live-x86_64-20210218-mate.iso - void-live-x86_64-musl-20210218-mate.iso -# Preparation +# Installation Start the PC with the LiveCD/LiveUSB of the distribution to install. Download this repository from github, and expand it. -# Installation -Go to script directory and follow the procedure in the [INSTALL.md](INSTALL.md) +Then, go to script directory and follow the procedure in the [INSTALL.md](INSTALL.md) # Known issues If you install two ore more Void Linux in to the EFI system, only the last one can boot without trouble. This is not the problem of Kaiten-yaki. +# Variants considerations +Ubuntu has several variants ( flavors ). While I have tested only MATE flavor, other flavor may work correctly as far as it uses Ubiquity installer. + +Void Linux has "base" variant which doesn't have GUI. Kaiten-yaki can't run correctly without GUI. + # Acknowledgments These scripts are based on the script shared on the [myn's diary](https://myn.hatenablog.jp/entry/install-ubuntu-focal-with-lvm-on-luks). That page contains rich information, hint and techniques around the encrypted volume and Ubiquity installer. +Also, following documents were very important to study how Void Linux installation works. +- [Full Disk Encryption](https://docs.voidlinux.org/installation/guides/fde.html) in the Void Handbook. +- [Install LVM LUKS](https://wiki.voidlinux.org/Install_LVM_LUKS) (deprecated) # Kaiten-yaki ![](image/i-like-kaiten-yaki.jpg) diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 0d79864..b840c0b 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -129,7 +129,7 @@ HEREDOC fi # passphrase validation # Install essential packages. -xbps-install -y gptfdisk xterm +xbps-install -y -Su xbps gptfdisk xterm # ******************************************************************************* From 1fd055709903e413d16b40fff602ce51fd0675bc Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 1 Jul 2021 12:18:06 +0900 Subject: [PATCH 074/242] Refactored program --- script/config.sh | 8 ++++++ script/ubuntu-kaiten-yaki.sh | 25 ++++++++---------- script/void-kaiten-yaki.sh | 49 +++++++++++++++++++++--------------- 3 files changed, 48 insertions(+), 34 deletions(-) diff --git a/script/config.sh b/script/config.sh index 7c2b81b..527617e 100644 --- a/script/config.sh +++ b/script/config.sh @@ -48,3 +48,11 @@ else # BIOS firmware export CRYPTPARTITION=1 fi # EFI firmware + +# Void Linux only. Ignored in Ubuntu. +# Detect the GUI environment +if env | grep XDG_SESSION_TYPE > /dev/null ; then + export GUIENV=1 # set 1 if GUI env. +else + export GUIENV=0 # set 0 if not GUI env. +fi \ No newline at end of file diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index ba2ec59..7d5085c 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -21,8 +21,7 @@ source config.sh # ******************************************************************************* # Distribution check -uname -a | grep ubuntu -i > /dev/null -if [ $? -eq 1 ] ; then # "Ubuntu" is not found in the OS name. +if ! uname -a | grep ubuntu -i > /dev/null ; then # "Ubuntu" is not found in the OS name. echo "*******************************************************************************" uname -a cat < /dev/null -if [ $? -eq 0 ] ; then # "-" is found in the volume group name. + +if echo ${VGNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. cat <&2 ***** ERROR : VGNAME is "${VGNAME}" ***** THe "-" is not allowed in the volume name. @@ -55,8 +54,8 @@ HEREDOC fi # "-" is found in the volume group name. # Sanity check for root volume name -echo ${LVROOTNAME} | grep "-" -i > /dev/null -if [ $? -eq 0 ] ; then # "-" is found in the volume name. + +if echo ${LVROOTNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. cat <&2 ***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** THe "-" is not allowed in the volume name. @@ -68,8 +67,7 @@ HEREDOC fi # "-" is found in the volume name. # Sanity check for swap volume name -echo ${LVSWAPNAME} | grep "-" -i > /dev/null -if [ $? -eq 0 ] ; then # "-" is found in the volume name. +if echo ${LVSWAPNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. cat <&2 ***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** THe "-" is not allowed in the volume name. @@ -187,15 +185,14 @@ fi # if crypt volume is unable to open # ----- Configure the LVM in LUKS volume ----- # Check volume group ${VGNAME} exist or not -vgdisplay -s ${VGNAME} &> /dev/null -if [ $? -eq 0 ] ; then # is return value 0? ( exist ?) +if vgdisplay -s ${VGNAME} &> /dev/null ; then # exist ? echo "...Volume group ${VGNAME} already exist. Skipped to create. No problem." else echo "...Initialize a physical volume on \"${CRYPTPARTNAME}\"" pvcreate /dev/mapper/${CRYPTPARTNAME} echo "...And then create Volume group \"${VGNAME}\"." vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} -fi # if /dev/volume-groupt not exist +fi # if /dev/volume-groupt exist # Create a SWAP Logical Volume on VG, if it doesn't exist if [ -e /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then @@ -271,8 +268,8 @@ while [ ! -e /target/etc/default/grub ] do sleep 1 # 1sec. - ps $ubiquity_pid > /dev/null # ps return 0 if process exists. - if [ $? -ne 0 ] ; then # If not exists + # Check if installer still exist + if ! ps $ubiquity_pid > /dev/null ; then # If not exists cat <&2 The ubiquity installer terminated unexpectedly. @@ -281,7 +278,7 @@ HEREDOC return fi -done +done # while # Perhaps, too neuvous. Wait 1 more sectond to avoid the rece condition. sleep 1 # 1sec. diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index b840c0b..3952626 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -21,8 +21,7 @@ source config.sh # ******************************************************************************* # Distribution check -uname -a | grep void -i > /dev/null -if [ $? -eq 1 ] ; then # "Void" is not found in the OS name. +if ! uname -a | grep void -i > /dev/null ; then # "Void" is not found in the OS name. echo "*********************************************************************************" uname -a cat < /dev/null -if [ $? -eq 0 ] ; then # "-" is found in the volume group name. +if echo ${VGNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. cat <&2 ***** ERROR : VGNAME is "${VGNAME}" ***** THe "-" is not allowed in the volume name. @@ -55,8 +53,7 @@ HEREDOC fi # "-" is found in the volume group name. # Sanity check for root volume name -echo ${LVROOTNAME} | grep "-" -i > /dev/null -if [ $? -eq 0 ] ; then # "-" is found in the volume name. +if echo ${LVROOTNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. cat <&2 ***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** THe "-" is not allowed in the volume name. @@ -68,8 +65,8 @@ HEREDOC fi # "-" is found in the volume name. # Sanity check for swap volume name -echo ${LVSWAPNAME} | grep "-" -i > /dev/null -if [ $? -eq 0 ] ; then # "-" is found in the volume name. + +if echo ${LVSWAPNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. cat <&2 ***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** THe "-" is not allowed in the volume name. @@ -129,8 +126,11 @@ HEREDOC fi # passphrase validation # Install essential packages. -xbps-install -y -Su xbps gptfdisk xterm - +if [ ${GUIENV} -eq 1 ] ; then + xbps-install -y -Su xbps gptfdisk xterm +else + xbps-install -y -Su xbps gptfdisk +fi # ******************************************************************************* # Pre-install stage @@ -190,15 +190,14 @@ fi # if crypt volume is unable to open # ----- Configure the LVM in LUKS volume ----- # Check volume group ${VGNAME} exist or not -vgdisplay -s ${VGNAME} &> /dev/null -if [ $? -eq 0 ] ; then # is return value 0? ( exist ?) +if vgdisplay -s ${VGNAME} &> /dev/null ; then # if exist echo "...Volume group ${VGNAME} already exist. Skipped to create. No problem." else echo "...Initialize a physical volume on \"${CRYPTPARTNAME}\"" pvcreate /dev/mapper/${CRYPTPARTNAME} echo "...And then create Volume group \"${VGNAME}\"." vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} -fi # if /dev/volume-groupt not exist +fi # if /dev/volume-groupt exist # Create a SWAP Logical Volume on VG, if it doesn't exist if [ -e /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then @@ -270,8 +269,12 @@ HEREDOC # waitfor a console input read dummy_var -# Start GUI installer -xterm -fa monospace -fs ${XTERMFONTSIZE} -e void-installer & +# Start TUI installer +if [ $GUIENV -eq 1 ]; then + xterm -fa monospace -fs ${XTERMFONTSIZE} -e void-installer & +else + void-installer & +fi # Record the PID voidinstaller_pid=$! @@ -281,8 +284,8 @@ while [ ! -e /mnt/target/etc/default/grub ] do sleep 1 # 1sec. - ps $voidinstaller_pid > /dev/null # ps return 0 if process exists. - if [ $? -ne 0 ] ; then # If not exists + # Chcheck if installer still exist + if ! ps $voidinstaller_pid > /dev/null ; then # If not exists cat <&2 The void-installer terminated unexpectedly. @@ -291,19 +294,25 @@ HEREDOC return fi -done +done # while # Perhaps, too neuvous. Wait 1 more sectond to avoid the rece condition. sleep 1 # 1sec. # Make target GRUB aware to the crypt partition # This must do it after start of the file copy by void-installer, but before the end of the file copy. -echo "...Add GRUB_ENABLE_CRYPTODISK entry to /mnt/target/etc/default/grub " +# If the environment is not GUI, keep quiet not to bother the TUI installer. +if [ $GUIENV -eq 1 ]; then + echo "...Add GRUB_ENABLE_CRYPTODISK entry to /mnt/target/etc/default/grub " +fi echo "GRUB_ENABLE_CRYPTODISK=y" >> /mnt/target/etc/default/grub # And then, wait for the end of void-installer process -echo "...Waiting for the end of void-installer." +# If the environment is not GUI, keep quiet not to bother the TUI installer. +if [ $GUIENV -eq 1 ]; then + echo "...Waiting for the end of void-installer." +fi wait $voidinstaller_pid # ******************************************************************************* From 124ea5cfd979332cf8edbf7522cf3551ec31a76c Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 1 Jul 2021 12:55:24 +0900 Subject: [PATCH 075/242] Fix GUI detection bug --- script/config.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/config.sh b/script/config.sh index 527617e..95a849b 100644 --- a/script/config.sh +++ b/script/config.sh @@ -51,7 +51,7 @@ fi # EFI firmware # Void Linux only. Ignored in Ubuntu. # Detect the GUI environment -if env | grep XDG_SESSION_TYPE > /dev/null ; then +if env | grep -w -e XDG_SESSION_TYPE -e DISPLAY -e WAYLAND_DISPLAY > /dev/null ; then export GUIENV=1 # set 1 if GUI env. else export GUIENV=0 # set 0 if not GUI env. From 488c998048a6cbccd932dc4f904f94f895083d64 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 1 Jul 2021 14:39:22 +0900 Subject: [PATCH 076/242] Refactor the structure of program Now, common part of the script are unified --- script/_confirmation.sh | 87 ++++++++++++ script/_parainstall.sh | 43 ++++++ script/_parainstall_msg.sh | 24 ++++ script/_preinstall.sh | 88 ++++++++++++ script/ubuntu-kaiten-yaki.sh | 252 +++------------------------------ script/void-kaiten-yaki.sh | 263 +++-------------------------------- 6 files changed, 284 insertions(+), 473 deletions(-) create mode 100644 script/_confirmation.sh create mode 100644 script/_parainstall.sh create mode 100644 script/_parainstall_msg.sh create mode 100644 script/_preinstall.sh diff --git a/script/_confirmation.sh b/script/_confirmation.sh new file mode 100644 index 0000000..edb0c40 --- /dev/null +++ b/script/_confirmation.sh @@ -0,0 +1,87 @@ +# ******************************************************************************* +# Confirmation and Passphrase setting +# ******************************************************************************* + +# Sanity check for volume group name +if echo ${VGNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. + cat <&2 +***** ERROR : VGNAME is "${VGNAME}" ***** +THe "-" is not allowed in the volume name. +Check passphrase and config.txt + +Installation terminated. +HEREDOC + return +fi # "-" is found in the volume group name. + +# Sanity check for root volume name +if echo ${LVROOTNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. + cat <&2 +***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** +THe "-" is not allowed in the volume name. +Check passphrase and config.txt + +Installation terminated. +HEREDOC + return +fi # "-" is found in the volume name. + +# Sanity check for swap volume name +if echo ${LVSWAPNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. + cat <&2 +***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** +THe "-" is not allowed in the volume name. +Check passphrase and config.txt + +Installation terminated. +HEREDOC + return +fi # "-" is found in the volume name. + +# For surre ask the config.sh is edited +cat <&2 + +Installation terminated. +HEREDOC + return +fi # if YES + +# For sure ask ready to erase. +if [ ${ERASEALL} -eq 1 ] ; then + echo "Are you sure you want to erase entire ${DEV}? [Y/N]" + read YESNO + if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + cat <&2 +Check config.sh. The variable ERASEALL is ${ERASEALL}. + +Installation terminated. +HEREDOC + return + fi # if YES +fi # if erase all + +# ----- Set Passphrase ----- +# Input passphrase +echo "Type passphrase for the disk encryption." +read -sr PASSPHRASE +export PASSPHRASE + +echo "Type passphrase again, to confirm." +read -sr PASSPHRASE_C + +# Validate whether both are indentical or not +if [ ${PASSPHRASE} != ${PASSPHRASE_C} ] ; then + cat <&2 +***** ERROR : Passphrase doesn't match ***** +Installation terminated. +HEREDOC + return +fi # passphrase validation diff --git a/script/_parainstall.sh b/script/_parainstall.sh new file mode 100644 index 0000000..d6969ac --- /dev/null +++ b/script/_parainstall.sh @@ -0,0 +1,43 @@ +# ******************************************************************************* +# Common part of para-install +# ******************************************************************************* + +# Record the PID of the installer. +installer_pid=$! + +# While the /etc/default/grub in the install target is NOT existing, keep sleeping. +# If installer terminated without file copy, this script also terminates. +while [ ! -e ${TARGETMOUNTPOINT}/etc/default/grub ] +do + sleep 1 # 1sec. + + # Check if installer still exist + if ! ps $installer_pid > /dev/null ; then # If not exists + cat <&2 +The installer terminated unexpectedly. + +Installation process terminated. +HEREDOC + return + + fi +done # while + +# Perhaps, too neuvous. Wait 1 more sectond to avoid the rece condition. +sleep 1 # 1sec. + +# Make target GRUB aware to the crypt partition +# This must do it after start of the file copy by installer, but before the end of the file copy. +# If the environment is not GUI, keep quiet not to bother the TUI installer. +if [ $GUIENV -eq 1 ]; then + echo "...Add GRUB_ENABLE_CRYPTODISK entry to ${TARGETMOUNTPOINT}/etc/default/grub " +fi +echo "GRUB_ENABLE_CRYPTODISK=y" >> ${TARGETMOUNTPOINT}/etc/default/grub + + +# And then, wait for the end of installer process +# If the environment is not GUI, keep quiet not to bother the TUI installer. +if [ $GUIENV -eq 1 ]; then + echo "...Waiting for the end of GUI/TUI installer." +fi +wait $installer_pid diff --git a/script/_parainstall_msg.sh b/script/_parainstall_msg.sh new file mode 100644 index 0000000..4f910d1 --- /dev/null +++ b/script/_parainstall_msg.sh @@ -0,0 +1,24 @@ +cat <&2 +***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on ${DEV}${CRYPTPARTITION}. ***** +Check passphrase and config.txt + +Installation terminated. +HEREDOC + return +fi # if crypt volume is unable to open + +# ----- Configure the LVM in LUKS volume ----- +# Check volume group ${VGNAME} exist or not +if vgdisplay -s ${VGNAME} &> /dev/null ; then # if exist + echo "...Volume group ${VGNAME} already exist. Skipped to create. No problem." +else + echo "...Initialize a physical volume on \"${CRYPTPARTNAME}\"" + pvcreate /dev/mapper/${CRYPTPARTNAME} + echo "...And then create Volume group \"${VGNAME}\"." + vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} +fi # if /dev/volume-groupt exist + +# Create a SWAP Logical Volume on VG, if it doesn't exist +if [ -e /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then + echo "...Swap volume already exist. Skipped to create. No problem." +else + echo "...Create logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." + lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} +fi # if /dev/mapper/swap volume already exit. + +# Create a ROOT Logical Volume on VG. +if [ -e /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then + cat <&2 +***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** +Check LVROOTNAME environment variable in config.txt. + +Installation terminated. +HEREDOC + return +else + echo "...Create logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." + lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} +fi # if the root volun already exist diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 7d5085c..56ade88 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -1,5 +1,8 @@ #!/bin/bash +# Load configuration parameter +source config.sh + # Varidate whether script is executed as sourced or not (return 0 2>/dev/null) && sourced=1 || sourced=0 if [ $sourced -eq 0 ] ; then @@ -13,12 +16,9 @@ HEREDOC exit # use "exit" instead of "return", if not "sourced" execusion fi # "sourced" validation -# Load configuration parameter -source config.sh - -# ******************************************************************************* -# Confirmation and Passphrase setting -# ******************************************************************************* +# This is the mount point of the install target. +# Refered in the para-install stage +export TARGETMOUNTPOINT="/target" # Distribution check if ! uname -a | grep ubuntu -i > /dev/null ; then # "Ubuntu" is not found in the OS name. @@ -40,210 +40,28 @@ HEREDOC fi # "Ubuntu" is not found in the OS name. -# Sanity check for volume group name - -if echo ${VGNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. - cat <&2 -***** ERROR : VGNAME is "${VGNAME}" ***** -THe "-" is not allowed in the volume name. -Check passphrase and config.txt - -Installation terminated. -HEREDOC - return -fi # "-" is found in the volume group name. - -# Sanity check for root volume name - -if echo ${LVROOTNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. - cat <&2 -***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** -THe "-" is not allowed in the volume name. -Check passphrase and config.txt - -Installation terminated. -HEREDOC - return -fi # "-" is found in the volume name. - -# Sanity check for swap volume name -if echo ${LVSWAPNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. - cat <&2 -***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** -THe "-" is not allowed in the volume name. -Check passphrase and config.txt - -Installation terminated. -HEREDOC - return -fi # "-" is found in the volume name. - -# For surre ask the config.sh is edited -cat <&2 - -Installation terminated. -HEREDOC - return -fi # if YES - -# For sure ask ready to erase. -if [ ${ERASEALL} -eq 1 ] ; then - echo "Are you sure you want to erase entire ${DEV}? [Y/N]" - read YESNO - if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then - cat <&2 -Check config.sh. The variable ERASEALL is ${ERASEALL}. - -Installation terminated. -HEREDOC - return - fi # if YES -fi # if erase all - -# ----- Set Passphrase ----- -# Input passphrase -echo "Type passphrase for the disk encryption." -read -sr PASSPHRASE -export PASSPHRASE - -echo "Type passphrase again, to confirm." -read -sr PASSPHRASE_C - -# Validate whether both are indentical or not -if [ ${PASSPHRASE} != ${PASSPHRASE_C} ] ; then - cat <&2 -***** ERROR : Passphrase doesn't match ***** -Installation terminated. -HEREDOC - return -fi # passphrase validation +# ******************************************************************************* +# Confirmation before installation +# ******************************************************************************* +# Common part of the parameter confirmation +source _confirmation.sh # ******************************************************************************* # Pre-install stage # ******************************************************************************* - -# ----- Erase entire disk, create partitions, format them and encrypt the LUKS partition ----- -if [ ${ERASEALL} -eq 1 ] ; then - - # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. - if [ ${ISEFI} -eq 1 ] ; then - # Zap existing partition table and create new GPT - echo "...Initialize ${DEV} with GPT." - sgdisk --zap-all "${DEV}" - # Create EFI partition and format it - echo "...Create an EFI partition on ${DEV}." - sgdisk --new=${EFIPARTITION}:0:+${EFISIZE} --change-name=${EFIPARTITION}:"EFI System" --typecode=${EFIPARTITION}:ef00 "${DEV}" - echo "...Format the EFI parttion." - mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" - # Create Linux partition - echo "...Create a Linux partition on ${DEV}." - sgdisk --new=${CRYPTPARTITION}:0:0 --change-name=${CRYPTPARTITION}:"Linux LUKS" --typecode=${CRYPTPARTITION}:8309 "${DEV}" - # Then print them - sgdisk --print "${DEV}" - else - # Zap existing partition table - echo "...Erase partition table of ${DEV}." - dd if=/dev/zero of=${DEV} bs=512 count=1 - # Create MBR and allocate max storage for Linux partition - echo "...Create a Linux partition on ${DEV} with MBR." - sfdisk ${DEV} <&2 -***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on ${DEV}${CRYPTPARTITION}. ***** -Check passphrase and config.txt - -Installation terminated. -HEREDOC - return -fi # if crypt volume is unable to open - -# ----- Configure the LVM in LUKS volume ----- -# Check volume group ${VGNAME} exist or not -if vgdisplay -s ${VGNAME} &> /dev/null ; then # exist ? - echo "...Volume group ${VGNAME} already exist. Skipped to create. No problem." -else - echo "...Initialize a physical volume on \"${CRYPTPARTNAME}\"" - pvcreate /dev/mapper/${CRYPTPARTNAME} - echo "...And then create Volume group \"${VGNAME}\"." - vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} -fi # if /dev/volume-groupt exist - -# Create a SWAP Logical Volume on VG, if it doesn't exist -if [ -e /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then - echo "...Swap volume already exist. Skipped to create. No problem." -else - echo "...Create logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." - lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} -fi # if /dev/mapper/swap volume already exit. - -# Create a ROOT Logical Volume on VG. -if [ -e /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then - cat <&2 -***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** -Check LVROOTNAME environment variable in config.txt. - -Installation terminated. -HEREDOC - return -else - echo "...Create logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." - lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} -fi # if the root volun already exist +# Common part of the pre-install stage +source _preinstall.sh # ******************************************************************************* # Para-install stage # ******************************************************************************* -cat < /dev/null ; then # If not exists - cat <&2 -The ubiquity installer terminated unexpectedly. - -Installation process terminated. -HEREDOC - return - - fi -done # while - -# Perhaps, too neuvous. Wait 1 more sectond to avoid the rece condition. -sleep 1 # 1sec. - -# Make target GRUB aware to the crypt partition -# This must do it after start of the file copy by ubiquity, but before the end of the file copy. -echo "...Add GRUB_ENABLE_CRYPTODISK entry to /target/etc/default/grub " -echo "GRUB_ENABLE_CRYPTODISK=y" >> /target/etc/default/grub - - -# And then, wait for the end of Ubiquity process -echo "...Waiting for the end of Ubiquity installer." -wait $ubiquity_pid +# Common part of the para-install. +# Record the install PID, modify the /etc/default/grub of the target, +# and then, wait for the end of sintaller. +source _parainstall.sh # ******************************************************************************* # Post-install stage diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 3952626..2cbf3eb 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -1,5 +1,8 @@ #!/bin/bash +# Load configuration parameter +source config.sh + # Varidate whether script is executed as sourced or not (return 0 2>/dev/null) && sourced=1 || sourced=0 if [ $sourced -eq 0 ] ; then @@ -13,12 +16,9 @@ HEREDOC exit # use "exit" instead of "return", if not "sourced" execusion fi # "sourced" validation -# Load configuration parameter -source config.sh - -# ******************************************************************************* -# Confirmation and Passphrase setting -# ******************************************************************************* +# This is the mount point of the install target. +# Refered in the para-install stage +export TARGETMOUNTPOINT="/mnt/target" # Distribution check if ! uname -a | grep void -i > /dev/null ; then # "Void" is not found in the OS name. @@ -40,186 +40,19 @@ HEREDOC fi # "Void" is not found in the OS name. -# Sanity check for volume group name -if echo ${VGNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. - cat <&2 -***** ERROR : VGNAME is "${VGNAME}" ***** -THe "-" is not allowed in the volume name. -Check passphrase and config.txt +# ******************************************************************************* +# Confirmation before installation +# ******************************************************************************* -Installation terminated. -HEREDOC - return -fi # "-" is found in the volume group name. - -# Sanity check for root volume name -if echo ${LVROOTNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. - cat <&2 -***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** -THe "-" is not allowed in the volume name. -Check passphrase and config.txt - -Installation terminated. -HEREDOC - return -fi # "-" is found in the volume name. - -# Sanity check for swap volume name - -if echo ${LVSWAPNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. - cat <&2 -***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** -THe "-" is not allowed in the volume name. -Check passphrase and config.txt - -Installation terminated. -HEREDOC - return -fi # "-" is found in the volume name. - -# For surre ask the config.sh is edited -cat <&2 - -Installation terminated. -HEREDOC - return -fi # if YES - -# For sure ask ready to erase. -if [ ${ERASEALL} -eq 1 ] ; then - echo "Are you sure you want to erase entire ${DEV}? [Y/N]" - read YESNO - if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then - cat <&2 -Check config.sh. The variable ERASEALL is ${ERASEALL}. - -Installation terminated. -HEREDOC - return - fi # if YES -fi # if erase all - -# ----- Set Passphrase ----- -# Input passphrase -echo "Type passphrase for the disk encryption." -read -sr PASSPHRASE -export PASSPHRASE - -echo "Type passphrase again, to confirm." -read -sr PASSPHRASE_C - -# Validate whether both are indentical or not -if [ ${PASSPHRASE} != ${PASSPHRASE_C} ] ; then - cat <&2 -***** ERROR : Passphrase doesn't match ***** -Installation terminated. -HEREDOC - return -fi # passphrase validation - -# Install essential packages. -if [ ${GUIENV} -eq 1 ] ; then - xbps-install -y -Su xbps gptfdisk xterm -else - xbps-install -y -Su xbps gptfdisk -fi +# Common part of the parameter confirmation +source _confirmation.sh # ******************************************************************************* # Pre-install stage # ******************************************************************************* - -# ----- Erase entire disk, create partitions, format them and encrypt the LUKS partition ----- -if [ ${ERASEALL} -eq 1 ] ; then - - # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. - if [ ${ISEFI} -eq 1 ] ; then - # Zap existing partition table and create new GPT - echo "...Initialize ${DEV} with GPT." - sgdisk --zap-all "${DEV}" - # Create EFI partition and format it - echo "...Create an EFI partition on ${DEV}." - sgdisk --new=${EFIPARTITION}:0:+${EFISIZE} --change-name=${EFIPARTITION}:"EFI System" --typecode=${EFIPARTITION}:ef00 "${DEV}" - echo "...Format the EFI parttion." - mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" - # Create Linux partition - echo "...Create a Linux partition on ${DEV}." - sgdisk --new=${CRYPTPARTITION}:0:0 --change-name=${CRYPTPARTITION}:"Linux LUKS" --typecode=${CRYPTPARTITION}:8309 "${DEV}" - # Then print them - sgdisk --print "${DEV}" - else - # Zap existing partition table - echo "...Erase partition table of ${DEV}." - dd if=/dev/zero of=${DEV} bs=512 count=1 - # Create MBR and allocate max storage for Linux partition - echo "...Create a Linux partition on ${DEV} with MBR." - sfdisk ${DEV} <&2 -***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on ${DEV}${CRYPTPARTITION}. ***** -Check passphrase and config.txt - -Installation terminated. -HEREDOC - return -fi # if crypt volume is unable to open - -# ----- Configure the LVM in LUKS volume ----- -# Check volume group ${VGNAME} exist or not -if vgdisplay -s ${VGNAME} &> /dev/null ; then # if exist - echo "...Volume group ${VGNAME} already exist. Skipped to create. No problem." -else - echo "...Initialize a physical volume on \"${CRYPTPARTNAME}\"" - pvcreate /dev/mapper/${CRYPTPARTNAME} - echo "...And then create Volume group \"${VGNAME}\"." - vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} -fi # if /dev/volume-groupt exist - -# Create a SWAP Logical Volume on VG, if it doesn't exist -if [ -e /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then - echo "...Swap volume already exist. Skipped to create. No problem." -else - echo "...Create logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." - lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} -fi # if /dev/mapper/swap volume already exit. - -# Create a ROOT Logical Volume on VG. -if [ -e /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then - cat <&2 -***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** -Check LVROOTNAME environment variable in config.txt. - -Installation terminated. -HEREDOC - return -else - echo "...Create logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." - lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} -fi # if the root volun already exist +# Common part of the pre-install stage +source _preinstall.sh # ADD "rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} root=/dev/mapper/${VGNAME}-${ROOTNAME}" to GRUB. # This is magical part. I have not understood why this is required. @@ -231,31 +64,11 @@ sed -i "s#loglevel=4#loglevel=4 rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} roo # ******************************************************************************* # Para-install stage # ******************************************************************************* -cat < /dev/null ; then # If not exists - cat <&2 -The void-installer terminated unexpectedly. - -Installation process terminated. -HEREDOC - return - - fi -done # while - -# Perhaps, too neuvous. Wait 1 more sectond to avoid the rece condition. -sleep 1 # 1sec. - -# Make target GRUB aware to the crypt partition -# This must do it after start of the file copy by void-installer, but before the end of the file copy. -# If the environment is not GUI, keep quiet not to bother the TUI installer. -if [ $GUIENV -eq 1 ]; then - echo "...Add GRUB_ENABLE_CRYPTODISK entry to /mnt/target/etc/default/grub " -fi -echo "GRUB_ENABLE_CRYPTODISK=y" >> /mnt/target/etc/default/grub - - -# And then, wait for the end of void-installer process -# If the environment is not GUI, keep quiet not to bother the TUI installer. -if [ $GUIENV -eq 1 ]; then - echo "...Waiting for the end of void-installer." -fi -wait $voidinstaller_pid +# Common part of the para-install. +# Record the install PID, modify the /etc/default/grub of the target, +# and then, wait for the end of sintaller. +source _parainstall.sh # ******************************************************************************* # Post-install stage From 53c4426a981b5b80e73e2ed5886c5459df123fa6 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 1 Jul 2021 14:46:59 +0900 Subject: [PATCH 077/242] Refactored code again --- script/_parainstall.sh | 3 --- script/ubuntu-kaiten-yaki.sh | 17 ++++++++++------- script/void-kaiten-yaki.sh | 17 ++++++++++------- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/script/_parainstall.sh b/script/_parainstall.sh index d6969ac..c9ce0f2 100644 --- a/script/_parainstall.sh +++ b/script/_parainstall.sh @@ -2,9 +2,6 @@ # Common part of para-install # ******************************************************************************* -# Record the PID of the installer. -installer_pid=$! - # While the /etc/default/grub in the install target is NOT existing, keep sleeping. # If installer terminated without file copy, this script also terminates. while [ ! -e ${TARGETMOUNTPOINT}/etc/default/grub ] diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 56ade88..aa56d4b 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -78,6 +78,9 @@ read dummy_var # Start Ubiquity installer ubiquity & +# Record the PID of the installer. +installer_pid=$! + # Common part of the para-install. # Record the install PID, modify the /etc/default/grub of the target, # and then, wait for the end of sintaller. @@ -88,17 +91,17 @@ source _parainstall.sh # ******************************************************************************* ## Mount the target file system -# /target is created by the Ubiquity installer -echo "...Mount /dev/mapper/${VGNAME}-${LVROOTNAME} on /target." -mount /dev/mapper/${VGNAME}-${LVROOTNAME} /target +# ${TARGETMOUNTPOINT} is created by the GUI/TUI installer +echo "...Mount /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." +mount /dev/mapper/${VGNAME}-${LVROOTNAME} ${TARGETMOUNTPOINT} # And mount other directories echo "...Mount all other dirs." -for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "/target/$n"; done +for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "${TARGETMOUNTPOINT}/$n"; done # Change root and create the keyfile and ramfs image for Linux kernel. -echo "...Chroot to /target." -cat < Date: Thu, 1 Jul 2021 14:53:29 +0900 Subject: [PATCH 078/242] Fix bug of the additional package install --- script/void-kaiten-yaki.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index b56abc4..4d3cb14 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -51,6 +51,14 @@ source _confirmation.sh # Pre-install stage # ******************************************************************************* +# Install essential packages. +# If GUI environment, also install xterm to run the void-installer in a window +if [ ${GUIENV} -eq 1 ] ; then + xbps-install -y -Su xbps gptfdisk xterm +else + xbps-install -y -Su xbps gptfdisk +fi + # Common part of the pre-install stage source _preinstall.sh From 0b392629c98c0842fe22c32b249b213e2563729d Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 1 Jul 2021 15:10:12 +0900 Subject: [PATCH 079/242] Refactor the structure of the source Common part is moved to common dir --- script/{ => common}/_confirmation.sh | 0 script/{ => common}/_parainstall.sh | 0 script/{ => common}/_parainstall_msg.sh | 0 script/{ => common}/_preinstall.sh | 0 script/ubuntu-kaiten-yaki.sh | 16 +++++++++------- script/void-kaiten-yaki.sh | 9 +++++---- 6 files changed, 14 insertions(+), 11 deletions(-) rename script/{ => common}/_confirmation.sh (100%) rename script/{ => common}/_parainstall.sh (100%) rename script/{ => common}/_parainstall_msg.sh (100%) rename script/{ => common}/_preinstall.sh (100%) diff --git a/script/_confirmation.sh b/script/common/_confirmation.sh similarity index 100% rename from script/_confirmation.sh rename to script/common/_confirmation.sh diff --git a/script/_parainstall.sh b/script/common/_parainstall.sh similarity index 100% rename from script/_parainstall.sh rename to script/common/_parainstall.sh diff --git a/script/_parainstall_msg.sh b/script/common/_parainstall_msg.sh similarity index 100% rename from script/_parainstall_msg.sh rename to script/common/_parainstall_msg.sh diff --git a/script/_preinstall.sh b/script/common/_preinstall.sh similarity index 100% rename from script/_preinstall.sh rename to script/common/_preinstall.sh diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index aa56d4b..cf98d48 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -45,21 +45,21 @@ fi # "Ubuntu" is not found in the OS name. # ******************************************************************************* # Common part of the parameter confirmation -source _confirmation.sh +source common/_confirmation.sh # ******************************************************************************* # Pre-install stage # ******************************************************************************* # Common part of the pre-install stage -source _preinstall.sh +source common/_preinstall.sh # ******************************************************************************* # Para-install stage # ******************************************************************************* # Show common message to let the operator focus on the critical part -source _parainstall_msg.sh +source common/_parainstall_msg.sh # Ubuntu dependent message cat <> /etc/cryptsetup-initramfs/conf-hook -echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf # Prepare a key file to embed in to the ramfs. echo "...Prepair key file." @@ -127,6 +124,11 @@ printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" echo "...Add LUKS volume info to /etc/crypttab." echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab +# Putting key file into the ramfs initial image +echo "...Register key file to the ramfs" +echo "KEYFILE_PATTERN=/etc/luks/*.keyfile" >> /etc/cryptsetup-initramfs/conf-hook +echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf + # Finally, update the ramfs initial image with the key file. echo "...Upadte initramfs." update-initramfs -uk all diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 4d3cb14..0108cc6 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -45,7 +45,7 @@ fi # "Void" is not found in the OS name. # ******************************************************************************* # Common part of the parameter confirmation -source _confirmation.sh +source common/_confirmation.sh # ******************************************************************************* # Pre-install stage @@ -60,7 +60,7 @@ else fi # Common part of the pre-install stage -source _preinstall.sh +source common/_preinstall.sh # ADD "rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} root=/dev/mapper/${VGNAME}-${ROOTNAME}" to GRUB. # This is magical part. I have not understood why this is required. @@ -74,7 +74,7 @@ sed -i "s#loglevel=4#loglevel=4 rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} roo # ******************************************************************************* # Show common message to let the operator focus on the critical part -source _parainstall_msg.sh +source common/_parainstall_msg.sh # Ubuntu dependent message cat <> /etc/crypttab +# Putting key file into the ramfs initial image echo "...Register key file to the ramfs" echo 'install_items+=" /etc/luks/boot_os.keyfile /etc/crypttab " ' > /etc/dracut.conf.d/10-crypt.conf From 3989aa49905e9f348617c11209789d9ac27cbe59 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 1 Jul 2021 15:15:12 +0900 Subject: [PATCH 080/242] Correct the text in README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1b0adc6..65966fd 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Following is the HDD/SSD partitioning plan of these scripts ( In case of BIOS, t The logical volume size of each Linux distribution (LVROOTSIZE) can be customized from a configuration parameter. Also, the swap volume size is customizable. -As depicted the LVM volume group has only one physical volume. +As depicted above, the LVM volume group has only one physical volume. # Tested environment These scripts are tested with following environment. @@ -35,7 +35,7 @@ Start the PC with the LiveCD/LiveUSB of the distribution to install. Download th Then, go to script directory and follow the procedure in the [INSTALL.md](INSTALL.md) # Known issues -If you install two ore more Void Linux in to the EFI system, only the last one can boot without trouble. This is not the problem of Kaiten-yaki. +If you install two or more Void Linux in to the EFI system, only the last one can boot without trouble. This is not the problem of Kaiten-yaki. # Variants considerations Ubuntu has several variants ( flavors ). While I have tested only MATE flavor, other flavor may work correctly as far as it uses Ubiquity installer. From eaae8c84b8c945e1fa7ab1fe4bcf4696d3850bab Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 1 Jul 2021 15:18:29 +0900 Subject: [PATCH 081/242] Removed archive --- archive/ubuntu/1-pre-install.sh | 233 -------------------------- archive/ubuntu/2-para-install.sh | 38 ----- archive/ubuntu/3-post-install.sh | 66 -------- archive/voidlinux/1-pre-install.sh | 242 ---------------------------- archive/voidlinux/2-para-install.sh | 38 ----- archive/voidlinux/3-post-install.sh | 73 --------- 6 files changed, 690 deletions(-) delete mode 100644 archive/ubuntu/1-pre-install.sh delete mode 100644 archive/ubuntu/2-para-install.sh delete mode 100644 archive/ubuntu/3-post-install.sh delete mode 100644 archive/voidlinux/1-pre-install.sh delete mode 100644 archive/voidlinux/2-para-install.sh delete mode 100644 archive/voidlinux/3-post-install.sh diff --git a/archive/ubuntu/1-pre-install.sh b/archive/ubuntu/1-pre-install.sh deleted file mode 100644 index 921334b..0000000 --- a/archive/ubuntu/1-pre-install.sh +++ /dev/null @@ -1,233 +0,0 @@ -#!/bin/bash - -# Storage device to install the linux. -export DEV="/dev/sda" - -# Whether you want to erase all contents of the storage device or not. -# 1 : Yes, I want to erase all. -# 0 : No, I don't. I want to add to the existing LUKS volume. -export ERASEALL=1 - -# Logical Volume name for your Linux installation. Keep it unique from other distribution. -export LVROOTNAME="ubuntu" - -# Logical volume size of the Linux installation. -# 30% mean, new logical volume will use 30% of the free space in the LVM volume group. -# For example, assume the free space is 100GB, and LVROOTSIZE is 30%FREE. Script will create 30GB logical volume. -export LVROOTSIZE="50%FREE" - -# Set the size of EFI partition and swap partition. The unit is Byte. you can use M,G... notation. -export EFISIZE="100M" -export LVSWAPSIZE="8G" - -# Usually, these names can be left untouched. -# If you change, keep them consistent through all instllation in your system. -export CRYPTPARTNAME="luks_volume" -export VGNAME="vg1" -export LVSWAPNAME="swap" - -# ********************** DO NOT edit following lines ****************************** - -# Detect firmware type. 1 : EFI, 0 : BIOS -if [ -d /sys/firmware/efi ]; then -export ISEFI=1 # Yes, EFI -else -export ISEFI=0 # No, BIOS -fi # is EFI firmaare? - -# Set partition number based on the firmware type -if [ ${ISEFI} -eq 1 ] ; then -# EFI firmware -export EFIPARTITION=1 -export CRYPTPARTITION=2 -else -# BIOS firmware -export CRYPTPARTITION=1 -fi # EFI firmware - - -# Varidate whether script is executed as sourced or not -(return 0 2>/dev/null) && sourced=1 || sourced=0 -if [ $sourced -eq 0 ] ; then - cat <&2 -***** ERROR : Must execute as source ***** -Execute as following : -source 1-pre-install.sh - -Installation terminated. -HEREDOC - exit # use "exit" instead of "return", if not "sourced" execusion -fi # "sourced" validation - - - -# ----- Confirmations ----- -# Distribution check -uname -a | grep ubuntu -i > /dev/null -if [ $? -eq 1 ] ; then # "Ubuntu" is not found in the OS name. - echo "*********************************************************************************" - uname -a - cat <&2 - -Installation terminated. -HEREDOC - return - fi # if YES - -fi # "Ubuntu" is not found in the OS name. - -# For surre ask the config.sh is edited -echo "Did you edit config.sys? Are you ready to install? [Y/N]" -read YESNO -if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then - cat <&2 - -Installation terminated. -HEREDOC - return -fi # if YES - -# For sure ask ready to erase. -if [ ${ERASEALL} -eq 1 ] ; then - echo "Are you sure you want to erase entire ${DEV}? [Y/N]" - read YESNO - if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then - cat <&2 -Check config.sh. The variable ERASEALL is ${ERASEALL}. - -Installation terminated. -HEREDOC - return - fi # if YES -fi # if erase all - -# ----- Set Passphrase ----- -# Input passphrase -echo "Type passphrase for the disk encryption." -read -sr PASSPHRASE -export PASSPHRASE - -echo "Type passphrase again, to confirm." -read -sr PASSPHRASE_C - -# Validate whether both are indentical or not -if [ ${PASSPHRASE} != ${PASSPHRASE_C} ] ; then - cat <&2 -***** ERROR : Passphrase doesn't match ***** -Installation terminated. -HEREDOC - return -fi # passphrase validation - - -# ----- Erase entire disk, create partitions, format them and encrypt the LUKS partition ----- -if [ ${ERASEALL} -eq 1 ] ; then - - # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. - if [ ${ISEFI} -eq 1 ] ; then - # Zap existing partition table and create new GPT - echo "...Initialize ${DEV} with GPT." - sgdisk --zap-all "${DEV}" - # Create EFI partition and format it - echo "...Create an EFI partition on ${DEV}." - sgdisk --new=${EFIPARTITION}:0:+${EFISIZE} --change-name=${EFIPARTITION}:"EFI System" --typecode=${EFIPARTITION}:ef00 "${DEV}" - echo "...Format the EFI parttion." - mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" - # Create Linux partition - echo "...Create a Linux partition on ${DEV}." - sgdisk --new=${CRYPTPARTITION}:0:0 --change-name=${CRYPTPARTITION}:"Linux LUKS" --typecode=${CRYPTPARTITION}:8309 "${DEV}" - # Then print them - sgdisk --print "${DEV}" - else - # Zap existing partition table - echo "...Erase partition table of ${DEV}." - dd if=/dev/zero of=${DEV} bs=512 count=1 - # Create MBR and allocate max storage for Linux partition - echo "...Create a Linux partition on ${DEV} with MBR." - sfdisk ${DEV} <&2 -***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on ${DEV}${CRYPTPARTITION}. ***** -Check passphrase and config.txt - -Installation terminated. -HEREDOC - return -fi # if crypt volume is unable to open - -# ----- Configure the LVM in LUKS volume ----- -# Check volume group ${VGNAME} exist or not -vgdisplay -s ${VGNAME} &> /dev/null -if [ $? -eq 0 ] ; then # is return value 0? ( exist ?) - echo "...Volume group ${VGNAME} already exist. Skipped to create. No problem." -else - echo "...Initialize a physical volume on \"${CRYPTPARTNAME}\"" - pvcreate /dev/mapper/${CRYPTPARTNAME} - echo "...And then create Volume group \"${VGNAME}\"." - vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} -fi # if /dev/volume-groupt not exist - -# Create a SWAP Logical Volume on VG, if it doesn't exist -if [ -e /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then - echo "...Swap volume already exist. Skipped to create. No problem." -else - echo "...Create logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." - lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} -fi # if /dev/mapper/swap volume already exit. - -# Create a ROOT Logical Volume on VG. -if [ -e /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then - cat <&2 -***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** -Check LVROOTNAME environment variable in config.txt. - -Installation terminated. -HEREDOC - return -else - echo "...Create logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." - lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} -fi # if the root volun already exist - -# Finishing message -if [ ${ISEFI} -eq 1 ] ; then - cat </dev/null) && sourced=1 || sourced=0 -if [ $sourced -eq 0 ] ; then - cat <&2 -***** ERROR : Must execute as source ***** -Execute as following : -source 2-para-install.sh - -Installation terminated. -HEREDOC - exit # use "exit" instead of "return", if not "sourced" execusion -fi # "sourced" validation - - -# Check whether grub configuration file is ready to write -if [ ! -e /target/etc/default/grub ] ; then - cat <&2 -***** ERROR : The /target/etc/default/grub is not ready. ***** -Perhaps, too early to execute this script. - -Installation terminated. -HEREDOC - return -fi # if grub file exists - -# Make target GRUB aware to the crypt partition -echo "...Add GRUB_ENABLE_CRYPTODISK entry to /target/etc/default/grub " -echo "GRUB_ENABLE_CRYPTODISK=y" >> /target/etc/default/grub - -# Finishing message -cat </dev/null) && sourced=1 || sourced=0 -if [ $sourced -eq 0 ] ; then - cat <&2 -***** ERROR : Must execute as source ***** -Execute as following : -source 3-post-install.sh - -Installation terminated. -HEREDOC - exit # use "exit" instead of "return", if not "sourced" execusion -fi # "sourced" validation - -## Mount the target file system -# /target is created by the Ubiquity installer -echo "...Mount /dev/mapper/${VGNAME}-${LVROOTNAME} on /target." -mount /dev/mapper/${VGNAME}-${LVROOTNAME} /target - -# And mount other directories -echo "...Mount all other dirs." -for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "/target/$n"; done - -# Change root and create the keyfile and ramfs image for Linux kernel. -echo "...Chroot to /target." -cat <> /etc/cryptsetup-initramfs/conf-hook -echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf - -# Prepare a key file to embed in to the ramfs. -echo "...Prepair key file." -mkdir /etc/luks -dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 status=none -chmod u=rx,go-rwx /etc/luks -chmod u=r,go-rwx /etc/luks/boot_os.keyfile - -# Add a key to the key file. Use the passphrase in the environment variable. -echo "...Add a key to the key file." -printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile - -# Add the LUKS volume information to /etc/crypttab to decrypt by kernel. -echo "...Add LUKS volume info to /etc/crypttab." -echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab - -# Finally, update the ramfs initial image with the key file. -echo "...Upadte initramfs." -update-initramfs -uk all - -# Leave chroot -exit -HEREDOC - -# Finishing message -cat </dev/null) && sourced=1 || sourced=0 -if [ $sourced -eq 0 ] ; then - cat <&2 -***** ERROR : Must execute as source ***** -Execute as following : -source 1-pre-install.sh - -Installation terminated. -HEREDOC - exit # use "exit" instead of "return", if not "sourced" execusion -fi # "sourced" validation - - - -# ----- Confirmations ----- -# Distribution check -uname -a | grep void -i > /dev/null -if [ $? -eq 1 ] ; then # "Void" is not found in the OS name. - echo "*********************************************************************************" - uname -a - cat <&2 - -Installation terminated. -HEREDOC - return - fi # if YES - -fi # "Void" is not found in the OS name. - -# For surre ask the config.sh is edited -echo "Did you edit config.sys? Are you ready to install? [Y/N]" -read YESNO -if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then - cat <&2 - -Installation terminated. -HEREDOC - return -fi # if YES - -# For sure ask ready to erase. -if [ ${ERASEALL} -eq 1 ] ; then - echo "Are you sure you want to erase entire ${DEV}? [Y/N]" - read YESNO - if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then - cat <&2 -Check config.sh. The variable ERASEALL is ${ERASEALL}. - -Installation terminated. -HEREDOC - return - fi # if YES -fi # if erase all - -# Install essential packages. -xbps-install -y gptfdisk - -# ----- Set Passphrase ----- -# Input passphrase -echo "Type passphrase for the disk encryption." -read -sr PASSPHRASE -export PASSPHRASE - -echo "Type passphrase again, to confirm." -read -sr PASSPHRASE_C - -# Validate whether both are indentical or not -if [ ${PASSPHRASE} != ${PASSPHRASE_C} ] ; then - cat <&2 -***** ERROR : Passphrase doesn't match ***** -Installation terminated. -HEREDOC - return -fi # passphrase validation - - -# ----- Erase entire disk, create partitions, format them and encrypt the LUKS partition ----- -if [ ${ERASEALL} -eq 1 ] ; then - - # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. - if [ ${ISEFI} -eq 1 ] ; then - # Zap existing partition table and create new GPT - echo "...Initialize ${DEV} with GPT." - sgdisk --zap-all "${DEV}" - # Create EFI partition and format it - echo "...Create an EFI partition on ${DEV}." - sgdisk --new=${EFIPARTITION}:0:+${EFISIZE} --change-name=${EFIPARTITION}:"EFI System" --typecode=${EFIPARTITION}:ef00 "${DEV}" - echo "...Format the EFI parttion." - mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" - # Create Linux partition - echo "...Create a Linux partition on ${DEV}." - sgdisk --new=${CRYPTPARTITION}:0:0 --change-name=${CRYPTPARTITION}:"Linux LUKS" --typecode=${CRYPTPARTITION}:8309 "${DEV}" - # Then print them - sgdisk --print "${DEV}" - else - # Zap existing partition table - echo "...Erase partition table of ${DEV}." - dd if=/dev/zero of=${DEV} bs=512 count=1 - # Create MBR and allocate max storage for Linux partition - echo "...Create a Linux partition on ${DEV} with MBR." - sfdisk ${DEV} <&2 -***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on ${DEV}${CRYPTPARTITION}. ***** -Check passphrase and config.txt - -Installation terminated. -HEREDOC - return -fi # if crypt volume is unable to open - -# ----- Configure the LVM in LUKS volume ----- -# Check volume group ${VGNAME} exist or not -vgdisplay -s ${VGNAME} &> /dev/null -if [ $? -eq 0 ] ; then # is return value 0? ( exist ?) - echo "...Volume group ${VGNAME} already exist. Skipped to create. No problem." -else - echo "...Initialize a physical volume on \"${CRYPTPARTNAME}\"" - pvcreate /dev/mapper/${CRYPTPARTNAME} - echo "...And then create Volume group \"${VGNAME}\"." - vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} -fi # if /dev/volume-groupt not exist - -# Create a SWAP Logical Volume on VG, if it doesn't exist -if [ -e /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then - echo "...Swap volume already exist. Skipped to create. No problem." -else - echo "...Create logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." - lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} -fi # if /dev/mapper/swap volume already exit. - -# Create a ROOT Logical Volume on VG. -if [ -e /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then - cat <&2 -***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** -Check LVROOTNAME environment variable in config.txt. - -Installation terminated. -HEREDOC - return -else - echo "...Create logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." - lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} -fi # if the root volun already exist - -# ADD "rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} root=/dev/mapper/${VGNAME}-${ROOTNAME}" to GRUB. -# This is magical part. I have not understood why this is required. -# Refer https://wiki.voidlinux.org/Install_LVM_LUKS#Installation_using_void-installer -echo "...Modify /etc/default/grub." -sed -i "s#loglevel=4#loglevel=4 rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} root=/dev/mapper/${VGNAME}-${LVROOTNAME}#" /etc/default/grub - -# Finishing message -if [ ${ISEFI} -eq 1 ] ; then - cat </dev/null) && sourced=1 || sourced=0 -if [ $sourced -eq 0 ] ; then - cat <&2 -***** ERROR : Must execute as source ***** -Execute as following : -source 2-para-install.sh - -Installation terminated. -HEREDOC - exit # use "exit" instead of "return", if not "sourced" execusion -fi # "sourced" validation - - -# Check whether grub configuration file is ready to write -if [ ! -e /mnt/target/etc/default/grub ] ; then - cat <&2 -***** ERROR : The /mnt/target/etc/default/grub is not ready. ***** -Perhaps, too early to execute this script. - -Installation terminated. -HEREDOC - return -fi # if grub file exists - -# Make target GRUB aware to the crypt partition -echo "...Add GRUB_ENABLE_CRYPTODISK entry to /mnt/target/etc/default/grub " -echo "GRUB_ENABLE_CRYPTODISK=y" >> /mnt/target/etc/default/grub - -# Finishing message -cat </dev/null) && sourced=1 || sourced=0 -if [ $sourced -eq 0 ] ; then - cat <&2 -***** ERROR : Must execute as source ***** -Execute as following : -source 3-post-install.sh - -Installation terminated. -HEREDOC - exit # use "exit" instead of "return", if not "sourced" execusion -fi # "sourced" validation - -## Mount the target file system -# /target is created by the Ubiquity installer -echo "...Mount /dev/mapper/${VGNAME}-${LVROOTNAME} on /mnt/target." -mount /dev/mapper/${VGNAME}-${LVROOTNAME} /mnt/target - -# And mount other directories -echo "...Mount all other dirs." -for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "/mnt/target/$n"; done - -# Change root and create the keyfile and ramfs image for Linux kernel. -echo "...Chroot to /target." -cat <> /etc/crypttab - -echo "...Register key file to the ramfs" -echo 'install_items+=" /etc/luks/boot_os.keyfile /etc/crypttab " ' > /etc/dracut.conf.d/10-crypt.conf - -# Finally, update the ramfs initial image with the key file. -echo "...Upadte initramfs." -xbps-reconfigure -fa -echo "...grub-mkconfig." -grub-mkconfig -o /boot/grub/grub.cfg -echo "...update-grub." -update-grub - -# Leave chroot -HEREDOC - -# Unmount all -echo "...Unmount all." -umount -R /mnt/target - -# Finishing message -cat < Date: Thu, 1 Jul 2021 15:22:30 +0900 Subject: [PATCH 082/242] Fixed message when it is not "sourced" --- script/ubuntu-kaiten-yaki.sh | 2 +- script/void-kaiten-yaki.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index cf98d48..f009f0a 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -7,7 +7,7 @@ source config.sh (return 0 2>/dev/null) && sourced=1 || sourced=0 if [ $sourced -eq 0 ] ; then cat <&2 -***** ERROR : Must execute as source ***** +***** ERROR : Must execute as "sourced" ***** Execute as following : source ubuntu-kaiten-yaki.sh diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 0108cc6..70819b1 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -7,9 +7,9 @@ source config.sh (return 0 2>/dev/null) && sourced=1 || sourced=0 if [ $sourced -eq 0 ] ; then cat <&2 -***** ERROR : Must execute as source ***** +***** ERROR : Must execute as "sourced" ***** Execute as following : -source ubuntu-kaiten-yaki.sh +source void-kaiten-yaki.sh Installation terminated. HEREDOC From 3a5446c6ad6d75e93238112d38dd9c391889db4e Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 1 Jul 2021 15:36:52 +0900 Subject: [PATCH 083/242] Modify the message expose in para-install stage Now, void doesn't show --- script/common/_parainstall.sh | 4 ++-- script/ubuntu-kaiten-yaki.sh | 3 ++- script/void-kaiten-yaki.sh | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/script/common/_parainstall.sh b/script/common/_parainstall.sh index c9ce0f2..37b7502 100644 --- a/script/common/_parainstall.sh +++ b/script/common/_parainstall.sh @@ -26,7 +26,7 @@ sleep 1 # 1sec. # Make target GRUB aware to the crypt partition # This must do it after start of the file copy by installer, but before the end of the file copy. # If the environment is not GUI, keep quiet not to bother the TUI installer. -if [ $GUIENV -eq 1 ]; then +if [ $PARINSTMSG -eq 1 ]; then echo "...Add GRUB_ENABLE_CRYPTODISK entry to ${TARGETMOUNTPOINT}/etc/default/grub " fi echo "GRUB_ENABLE_CRYPTODISK=y" >> ${TARGETMOUNTPOINT}/etc/default/grub @@ -34,7 +34,7 @@ echo "GRUB_ENABLE_CRYPTODISK=y" >> ${TARGETMOUNTPOINT}/etc/default/grub # And then, wait for the end of installer process # If the environment is not GUI, keep quiet not to bother the TUI installer. -if [ $GUIENV -eq 1 ]; then +if [ $PARAINSTMSG -eq 1 ]; then echo "...Waiting for the end of GUI/TUI installer." fi wait $installer_pid diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index f009f0a..709f635 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -17,8 +17,9 @@ HEREDOC fi # "sourced" validation # This is the mount point of the install target. -# Refered in the para-install stage export TARGETMOUNTPOINT="/target" +# 1 : Show message during GUI/TUI installer, 0 : Do not show. +export PARAINSTMSG=1 # Distribution check if ! uname -a | grep ubuntu -i > /dev/null ; then # "Ubuntu" is not found in the OS name. diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 70819b1..cf9b655 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -17,8 +17,9 @@ HEREDOC fi # "sourced" validation # This is the mount point of the install target. -# Refered in the para-install stage export TARGETMOUNTPOINT="/mnt/target" +# 1 : Show message during GUI/TUI installer, 0 : Do not show. +export PARAINSTMSG=0 # Distribution check if ! uname -a | grep void -i > /dev/null ; then # "Void" is not found in the OS name. From d51c88949bf3b90ae2e29f74a6c592cd935a67b7 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 1 Jul 2021 20:57:24 +0900 Subject: [PATCH 084/242] Refactored --- .../{_confirmation.sh => confirmation.sh} | 20 ++++++++++++------ .../{_parainstall.sh => parainstall.sh} | 14 ++++++++++--- ..._parainstall_msg.sh => parainstall_msg.sh} | 6 ++++++ .../common/{_preinstall.sh => preinstall.sh} | 10 +++++++-- script/ubuntu-kaiten-yaki.sh | 21 +++++++++++++++---- script/void-kaiten-yaki.sh | 18 +++++++++++++--- 6 files changed, 71 insertions(+), 18 deletions(-) rename script/common/{_confirmation.sh => confirmation.sh} (94%) rename script/common/{_parainstall.sh => parainstall.sh} (89%) rename script/common/{_parainstall_msg.sh => parainstall_msg.sh} (94%) rename script/common/{_preinstall.sh => preinstall.sh} (97%) diff --git a/script/common/_confirmation.sh b/script/common/confirmation.sh similarity index 94% rename from script/common/_confirmation.sh rename to script/common/confirmation.sh index edb0c40..82dd0ff 100644 --- a/script/common/_confirmation.sh +++ b/script/common/confirmation.sh @@ -1,7 +1,10 @@ +#!/bin/bash # ******************************************************************************* # Confirmation and Passphrase setting # ******************************************************************************* +function confirmation(){ + # Sanity check for volume group name if echo ${VGNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. cat <&2 @@ -11,7 +14,7 @@ Check passphrase and config.txt Installation terminated. HEREDOC - return + return 1 fi # "-" is found in the volume group name. # Sanity check for root volume name @@ -23,7 +26,7 @@ Check passphrase and config.txt Installation terminated. HEREDOC - return + return 1 fi # "-" is found in the volume name. # Sanity check for swap volume name @@ -35,7 +38,7 @@ Check passphrase and config.txt Installation terminated. HEREDOC - return + return 1 fi # "-" is found in the volume name. # For surre ask the config.sh is edited @@ -51,7 +54,7 @@ if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then Installation terminated. HEREDOC - return + return 1 fi # if YES # For sure ask ready to erase. @@ -64,7 +67,7 @@ Check config.sh. The variable ERASEALL is ${ERASEALL}. Installation terminated. HEREDOC - return + return 1 fi # if YES fi # if erase all @@ -81,7 +84,12 @@ read -sr PASSPHRASE_C if [ ${PASSPHRASE} != ${PASSPHRASE_C} ] ; then cat <&2 ***** ERROR : Passphrase doesn't match ***** + Installation terminated. HEREDOC - return + return 1 fi # passphrase validation + +# succesfull return +return 0 +} diff --git a/script/common/_parainstall.sh b/script/common/parainstall.sh similarity index 89% rename from script/common/_parainstall.sh rename to script/common/parainstall.sh index 37b7502..8ecca23 100644 --- a/script/common/_parainstall.sh +++ b/script/common/parainstall.sh @@ -1,7 +1,10 @@ +#!/bin/bash # ******************************************************************************* # Common part of para-install # ******************************************************************************* +function parainstall() { + # While the /etc/default/grub in the install target is NOT existing, keep sleeping. # If installer terminated without file copy, this script also terminates. while [ ! -e ${TARGETMOUNTPOINT}/etc/default/grub ] @@ -15,7 +18,7 @@ The installer terminated unexpectedly. Installation process terminated. HEREDOC - return + return 1 fi done # while @@ -26,7 +29,7 @@ sleep 1 # 1sec. # Make target GRUB aware to the crypt partition # This must do it after start of the file copy by installer, but before the end of the file copy. # If the environment is not GUI, keep quiet not to bother the TUI installer. -if [ $PARINSTMSG -eq 1 ]; then +if [ ${PARAINSTMSG} -eq 1 ]; then echo "...Add GRUB_ENABLE_CRYPTODISK entry to ${TARGETMOUNTPOINT}/etc/default/grub " fi echo "GRUB_ENABLE_CRYPTODISK=y" >> ${TARGETMOUNTPOINT}/etc/default/grub @@ -34,7 +37,12 @@ echo "GRUB_ENABLE_CRYPTODISK=y" >> ${TARGETMOUNTPOINT}/etc/default/grub # And then, wait for the end of installer process # If the environment is not GUI, keep quiet not to bother the TUI installer. -if [ $PARAINSTMSG -eq 1 ]; then +if [ ${PARAINSTMSG} -eq 1 ]; then echo "...Waiting for the end of GUI/TUI installer." fi wait $installer_pid + +# succesfull return +return 0 + +} # para install diff --git a/script/common/_parainstall_msg.sh b/script/common/parainstall_msg.sh similarity index 94% rename from script/common/_parainstall_msg.sh rename to script/common/parainstall_msg.sh index 4f910d1..6d46e32 100644 --- a/script/common/_parainstall_msg.sh +++ b/script/common/parainstall_msg.sh @@ -1,3 +1,7 @@ +#!/bin/bash + +function parainstall_msg() { + cat </dev/null) && sourced=1 || sourced=0 if [ $sourced -eq 0 ] ; then @@ -46,21 +52,28 @@ fi # "Ubuntu" is not found in the OS name. # ******************************************************************************* # Common part of the parameter confirmation -source common/_confirmation.sh +if ! confirmation ; then + return 1 +fi # ******************************************************************************* # Pre-install stage # ******************************************************************************* # Common part of the pre-install stage -source common/_preinstall.sh +if ! pre_install ; then + return 1 +fi + # ******************************************************************************* # Para-install stage # ******************************************************************************* # Show common message to let the operator focus on the critical part -source common/_parainstall_msg.sh +if ! parainstall ; then + return 1 +fi # Ubuntu dependent message cat </dev/null) && sourced=1 || sourced=0 if [ $sourced -eq 0 ] ; then @@ -46,7 +52,9 @@ fi # "Void" is not found in the OS name. # ******************************************************************************* # Common part of the parameter confirmation -source common/_confirmation.sh +if ! confirmation ; then + return 1 +fi # ******************************************************************************* # Pre-install stage @@ -61,7 +69,9 @@ else fi # Common part of the pre-install stage -source common/_preinstall.sh +if ! pre_install ; then + return 1 +fi # ADD "rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} root=/dev/mapper/${VGNAME}-${ROOTNAME}" to GRUB. # This is magical part. I have not understood why this is required. @@ -75,7 +85,9 @@ sed -i "s#loglevel=4#loglevel=4 rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} roo # ******************************************************************************* # Show common message to let the operator focus on the critical part -source common/_parainstall_msg.sh +if ! parainstall ; then + return 1 +fi # Ubuntu dependent message cat < Date: Thu, 1 Jul 2021 21:11:16 +0900 Subject: [PATCH 085/242] fix the bug of the parainstall position --- script/common/confirmation.sh | 2 +- script/common/parainstall.sh | 2 +- script/common/parainstall_msg.sh | 2 +- script/common/preinstall.sh | 1 + script/ubuntu-kaiten-yaki.sh | 10 +++++----- script/void-kaiten-yaki.sh | 11 +++++------ 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/script/common/confirmation.sh b/script/common/confirmation.sh index 82dd0ff..67803cf 100644 --- a/script/common/confirmation.sh +++ b/script/common/confirmation.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -u # ******************************************************************************* # Confirmation and Passphrase setting # ******************************************************************************* diff --git a/script/common/parainstall.sh b/script/common/parainstall.sh index 8ecca23..6bf48d4 100644 --- a/script/common/parainstall.sh +++ b/script/common/parainstall.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -u # ******************************************************************************* # Common part of para-install # ******************************************************************************* diff --git a/script/common/parainstall_msg.sh b/script/common/parainstall_msg.sh index 6d46e32..16f9c1d 100644 --- a/script/common/parainstall_msg.sh +++ b/script/common/parainstall_msg.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -u function parainstall_msg() { diff --git a/script/common/preinstall.sh b/script/common/preinstall.sh index 4d555bc..6d51982 100644 --- a/script/common/preinstall.sh +++ b/script/common/preinstall.sh @@ -1,3 +1,4 @@ +#!/bin/bash -u # ******************************************************************************* # Pre-install stage # ******************************************************************************* diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 3bf32f7..54d4192 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -u # Load configuration parameter source config.sh @@ -71,9 +71,7 @@ fi # ******************************************************************************* # Show common message to let the operator focus on the critical part -if ! parainstall ; then - return 1 -fi +parainstall_msg # Ubuntu dependent message cat < Date: Thu, 1 Jul 2021 21:27:12 +0900 Subject: [PATCH 086/242] void installer is now without xterm --- script/config.sh | 7 ------- script/void-kaiten-yaki.sh | 15 ++++----------- 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/script/config.sh b/script/config.sh index 95a849b..85dee04 100644 --- a/script/config.sh +++ b/script/config.sh @@ -49,10 +49,3 @@ else export CRYPTPARTITION=1 fi # EFI firmware -# Void Linux only. Ignored in Ubuntu. -# Detect the GUI environment -if env | grep -w -e XDG_SESSION_TYPE -e DISPLAY -e WAYLAND_DISPLAY > /dev/null ; then - export GUIENV=1 # set 1 if GUI env. -else - export GUIENV=0 # set 0 if not GUI env. -fi \ No newline at end of file diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index f7eac31..5e2ac6b 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -61,12 +61,8 @@ fi # ******************************************************************************* # Install essential packages. -# If GUI environment, also install xterm to run the void-installer in a window -if [ ${GUIENV} -eq 1 ] ; then - xbps-install -y -Su xbps gptfdisk xterm -else - xbps-install -y -Su xbps gptfdisk -fi +xbps-install -y -Su xbps gptfdisk + # Common part of the pre-install stage if ! pre_install ; then @@ -101,11 +97,8 @@ HEREDOC read dummy_var # Start void-installer -if [ $GUIENV -eq 1 ]; then - xterm -fa monospace -fs ${XTERMFONTSIZE} -e void-installer & -else - void-installer & -fi +void-installer & + # Record the PID of the installer. installer_pid=$! From f1a43e9c5451184e5590a285168463ad85bc68ff Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 1 Jul 2021 21:42:41 +0900 Subject: [PATCH 087/242] Refactored. All function body is indented. kaiten-yaki-* has main function. "sourced" style is not enforced. --- script/common/confirmation.sh | 134 +++++++-------- script/common/parainstall.sh | 65 ++++--- script/common/parainstall_msg.sh | 38 ++--- script/common/preinstall.sh | 160 +++++++++--------- script/ubuntu-kaiten-yaki.sh | 258 ++++++++++++++-------------- script/void-kaiten-yaki.sh | 280 ++++++++++++++++--------------- 6 files changed, 475 insertions(+), 460 deletions(-) diff --git a/script/common/confirmation.sh b/script/common/confirmation.sh index 67803cf..c2fd49c 100644 --- a/script/common/confirmation.sh +++ b/script/common/confirmation.sh @@ -5,91 +5,91 @@ function confirmation(){ -# Sanity check for volume group name -if echo ${VGNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. - cat <&2 -***** ERROR : VGNAME is "${VGNAME}" ***** -THe "-" is not allowed in the volume name. -Check passphrase and config.txt + # Sanity check for volume group name + if echo ${VGNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. + cat <<- HEREDOC 1>&2 + ***** ERROR : VGNAME is "${VGNAME}" ***** + THe "-" is not allowed in the volume name. + Check passphrase and config.txt -Installation terminated. -HEREDOC + Installation terminated. + HEREDOC return 1 -fi # "-" is found in the volume group name. + fi # "-" is found in the volume group name. -# Sanity check for root volume name -if echo ${LVROOTNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. - cat <&2 -***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** -THe "-" is not allowed in the volume name. -Check passphrase and config.txt + # Sanity check for root volume name + if echo ${LVROOTNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. + cat <<- HEREDOC 1>&2 + ***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** + THe "-" is not allowed in the volume name. + Check passphrase and config.txt -Installation terminated. -HEREDOC + Installation terminated. + HEREDOC return 1 -fi # "-" is found in the volume name. + fi # "-" is found in the volume name. -# Sanity check for swap volume name -if echo ${LVSWAPNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. - cat <&2 -***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** -THe "-" is not allowed in the volume name. -Check passphrase and config.txt + # Sanity check for swap volume name + if echo ${LVSWAPNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. + cat <<- HEREDOC 1>&2 + ***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** + THe "-" is not allowed in the volume name. + Check passphrase and config.txt -Installation terminated. -HEREDOC + Installation terminated. + HEREDOC return 1 -fi # "-" is found in the volume name. + fi # "-" is found in the volume name. -# For surre ask the config.sh is edited -cat <&2 - -Installation terminated. -HEREDOC - return 1 -fi # if YES - -# For sure ask ready to erase. -if [ ${ERASEALL} -eq 1 ] ; then - echo "Are you sure you want to erase entire ${DEV}? [Y/N]" + The destination logical volume label is "${LVROOTNAME}" + "${LVROOTNAME}" uses ${LVROOTSIZE} of the LVM volume group. + Are you ready to install? [Y/N] + HEREDOC read YESNO if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then - cat <&2 -Check config.sh. The variable ERASEALL is ${ERASEALL}. + cat <<- HEREDOC 1>&2 -Installation terminated. -HEREDOC + Installation terminated. + HEREDOC return 1 fi # if YES -fi # if erase all -# ----- Set Passphrase ----- -# Input passphrase -echo "Type passphrase for the disk encryption." -read -sr PASSPHRASE -export PASSPHRASE + # For sure ask ready to erase. + if [ ${ERASEALL} -eq 1 ] ; then + echo "Are you sure you want to erase entire ${DEV}? [Y/N]" + read YESNO + if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + cat <<-HEREDOC 1>&2 + Check config.sh. The variable ERASEALL is ${ERASEALL}. -echo "Type passphrase again, to confirm." -read -sr PASSPHRASE_C + Installation terminated. + HEREDOC + return 1 + fi # if YES + fi # if erase all -# Validate whether both are indentical or not -if [ ${PASSPHRASE} != ${PASSPHRASE_C} ] ; then - cat <&2 -***** ERROR : Passphrase doesn't match ***** + # ----- Set Passphrase ----- + # Input passphrase + echo "Type passphrase for the disk encryption." + read -sr PASSPHRASE + export PASSPHRASE -Installation terminated. -HEREDOC - return 1 -fi # passphrase validation + echo "Type passphrase again, to confirm." + read -sr PASSPHRASE_C -# succesfull return -return 0 + # Validate whether both are indentical or not + if [ ${PASSPHRASE} != ${PASSPHRASE_C} ] ; then + cat <<-HEREDOC 1>&2 + ***** ERROR : Passphrase doesn't match ***** + + Installation terminated. + HEREDOC + return 1 + fi # passphrase validation + + # succesfull return + return 0 } diff --git a/script/common/parainstall.sh b/script/common/parainstall.sh index 6bf48d4..0dfdc79 100644 --- a/script/common/parainstall.sh +++ b/script/common/parainstall.sh @@ -5,44 +5,43 @@ function parainstall() { -# While the /etc/default/grub in the install target is NOT existing, keep sleeping. -# If installer terminated without file copy, this script also terminates. -while [ ! -e ${TARGETMOUNTPOINT}/etc/default/grub ] -do + # While the /etc/default/grub in the install target is NOT existing, keep sleeping. + # If installer terminated without file copy, this script also terminates. + while [ ! -e ${TARGETMOUNTPOINT}/etc/default/grub ] + do + sleep 1 # 1sec. + + # Check if installer still exist + if ! ps $installer_pid > /dev/null ; then # If not exists + cat <<-HEREDOC 1>&2 + The installer terminated unexpectedly. + + Installation process terminated. + HEREDOC + return 1 + fi + done # while + + # Perhaps, too neuvous. Wait 1 more sectond to avoid the rece condition. sleep 1 # 1sec. - # Check if installer still exist - if ! ps $installer_pid > /dev/null ; then # If not exists - cat <&2 -The installer terminated unexpectedly. - -Installation process terminated. -HEREDOC - return 1 - + # Make target GRUB aware to the crypt partition + # This must do it after start of the file copy by installer, but before the end of the file copy. + # If the environment is not GUI, keep quiet not to bother the TUI installer. + if [ ${PARAINSTMSG} -eq 1 ]; then + echo "...Add GRUB_ENABLE_CRYPTODISK entry to ${TARGETMOUNTPOINT}/etc/default/grub " fi -done # while - -# Perhaps, too neuvous. Wait 1 more sectond to avoid the rece condition. -sleep 1 # 1sec. - -# Make target GRUB aware to the crypt partition -# This must do it after start of the file copy by installer, but before the end of the file copy. -# If the environment is not GUI, keep quiet not to bother the TUI installer. -if [ ${PARAINSTMSG} -eq 1 ]; then - echo "...Add GRUB_ENABLE_CRYPTODISK entry to ${TARGETMOUNTPOINT}/etc/default/grub " -fi -echo "GRUB_ENABLE_CRYPTODISK=y" >> ${TARGETMOUNTPOINT}/etc/default/grub + echo "GRUB_ENABLE_CRYPTODISK=y" >> ${TARGETMOUNTPOINT}/etc/default/grub -# And then, wait for the end of installer process -# If the environment is not GUI, keep quiet not to bother the TUI installer. -if [ ${PARAINSTMSG} -eq 1 ]; then - echo "...Waiting for the end of GUI/TUI installer." -fi -wait $installer_pid + # And then, wait for the end of installer process + # If the environment is not GUI, keep quiet not to bother the TUI installer. + if [ ${PARAINSTMSG} -eq 1 ]; then + echo "...Waiting for the end of GUI/TUI installer." + fi + wait $installer_pid -# succesfull return -return 0 + # succesfull return + return 0 } # para install diff --git a/script/common/parainstall_msg.sh b/script/common/parainstall_msg.sh index 16f9c1d..3b84a88 100644 --- a/script/common/parainstall_msg.sh +++ b/script/common/parainstall_msg.sh @@ -2,29 +2,29 @@ function parainstall_msg() { -cat <&2 + ***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on ${DEV}${CRYPTPARTITION}. ***** + Check passphrase and config.txt + + Installation terminated. + HEREDOC + return 1 + fi # if crypt volume is unable to open + + # ----- Configure the LVM in LUKS volume ----- + # Check volume group ${VGNAME} exist or not + if vgdisplay -s ${VGNAME} &> /dev/null ; then # if exist + echo "...Volume group ${VGNAME} already exist. Skipped to create. No problem." else - # Zap existing partition table - echo "...Erase partition table of ${DEV}." - dd if=/dev/zero of=${DEV} bs=512 count=1 - # Create MBR and allocate max storage for Linux partition - echo "...Create a Linux partition on ${DEV} with MBR." - sfdisk ${DEV} <&2 + ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** + Check LVROOTNAME environment variable in config.txt. -# ----- Open the LUKS partition ----- -# Open the crypt partition. -echo "...Open a crypt partition ${DEV}${CRYPTPARTITION} as \"${CRYPTPARTNAME}\"" -printf %s "${PASSPHRASE}" | cryptsetup open -d - "${DEV}${CRYPTPARTITION}" ${CRYPTPARTNAME} + Installation terminated. + HEREDOC + return 1 + else + echo "...Create logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." + lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} + fi # if the root volun already exist -# Check whether successful open. If mapped, it is successful. -if [ ! -e /dev/mapper/${CRYPTPARTNAME} ] ; then - cat <&2 -***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on ${DEV}${CRYPTPARTITION}. ***** -Check passphrase and config.txt - -Installation terminated. -HEREDOC - return 1 -fi # if crypt volume is unable to open - -# ----- Configure the LVM in LUKS volume ----- -# Check volume group ${VGNAME} exist or not -if vgdisplay -s ${VGNAME} &> /dev/null ; then # if exist - echo "...Volume group ${VGNAME} already exist. Skipped to create. No problem." -else - echo "...Initialize a physical volume on \"${CRYPTPARTNAME}\"" - pvcreate /dev/mapper/${CRYPTPARTNAME} - echo "...And then create Volume group \"${VGNAME}\"." - vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} -fi # if /dev/volume-groupt exist - -# Create a SWAP Logical Volume on VG, if it doesn't exist -if [ -e /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then - echo "...Swap volume already exist. Skipped to create. No problem." -else - echo "...Create logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." - lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} -fi # if /dev/mapper/swap volume already exit. - -# Create a ROOT Logical Volume on VG. -if [ -e /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then - cat <&2 -***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** -Check LVROOTNAME environment variable in config.txt. - -Installation terminated. -HEREDOC - return 1 -else - echo "...Create logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." - lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} -fi # if the root volun already exist - -# successful return -return 0 + # successful return + return 0 } diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 54d4192..a34928e 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -1,162 +1,170 @@ #!/bin/bash -u -# Load configuration parameter -source config.sh +function main() { + # Load configuration parameter + source config.sh -# Load functions -source common/confirmation.sh -source common/preinstall.sh -source common/parainstall.sh -source common/parainstall_msg.sh + # Load functions + source common/confirmation.sh + source common/preinstall.sh + source common/parainstall.sh + source common/parainstall_msg.sh -# Varidate whether script is executed as sourced or not -(return 0 2>/dev/null) && sourced=1 || sourced=0 -if [ $sourced -eq 0 ] ; then - cat <&2 -***** ERROR : Must execute as "sourced" ***** -Execute as following : -source ubuntu-kaiten-yaki.sh + # Varidate whether script is executed as sourced or not + (return 0 2>/dev/null) && sourced=1 || sourced=0 + if [ $sourced -eq 0 ] ; then + cat <<- HEREDOC 1>&2 + ***** ERROR : Must execute as "sourced" ***** + Execute as following : + source ubuntu-kaiten-yaki.sh -Installation terminated. -HEREDOC - exit # use "exit" instead of "return", if not "sourced" execusion -fi # "sourced" validation + Installation terminated. + HEREDOC + exit # use "exit" instead of "return", if not "sourced" execusion + fi # "sourced" validation -# This is the mount point of the install target. -export TARGETMOUNTPOINT="/target" -# 1 : Show message during GUI/TUI installer, 0 : Do not show. -export PARAINSTMSG=1 + # This is the mount point of the install target. + export TARGETMOUNTPOINT="/target" + # 1 : Show message during GUI/TUI installer, 0 : Do not show. + export PARAINSTMSG=1 -# Distribution check -if ! uname -a | grep ubuntu -i > /dev/null ; then # "Ubuntu" is not found in the OS name. - echo "*******************************************************************************" - uname -a - cat <&2 + # Distribution check + if ! uname -a | grep ubuntu -i > /dev/null ; then # "Ubuntu" is not found in the OS name. + echo "*******************************************************************************" + uname -a + cat <<- HEREDOC + ******************************************************************************* + This system seems to be not Ubuntu, while this script is dediated to the Ubuntu. + Are you sure you want to run this script? [Y/N] + HEREDOC + read YESNO + if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + cat <<- HEREDOC 1>&2 -Installation terminated. -HEREDOC - return - fi # if YES + Installation terminated. + HEREDOC + return 1 + fi # if YES -fi # "Ubuntu" is not found in the OS name. + fi # "Ubuntu" is not found in the OS name. -# ******************************************************************************* -# Confirmation before installation -# ******************************************************************************* + # ******************************************************************************* + # Confirmation before installation + # ******************************************************************************* -# Common part of the parameter confirmation -if ! confirmation ; then - return 1 -fi + # Common part of the parameter confirmation + if ! confirmation ; then + return 1 + fi -# ******************************************************************************* -# Pre-install stage -# ******************************************************************************* + # ******************************************************************************* + # Pre-install stage + # ******************************************************************************* -# Common part of the pre-install stage -if ! pre_install ; then - return 1 -fi + # Common part of the pre-install stage + if ! pre_install ; then + return 1 + fi -# ******************************************************************************* -# Para-install stage -# ******************************************************************************* + # ******************************************************************************* + # Para-install stage + # ******************************************************************************* -# Show common message to let the operator focus on the critical part -parainstall_msg + # Show common message to let the operator focus on the critical part + parainstall_msg -# Ubuntu dependent message -cat <> /etc/crypttab + # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. + echo "...Add LUKS volume info to /etc/crypttab." + echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab -# Putting key file into the ramfs initial image -echo "...Register key file to the ramfs" -echo "KEYFILE_PATTERN=/etc/luks/*.keyfile" >> /etc/cryptsetup-initramfs/conf-hook -echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf + # Putting key file into the ramfs initial image + echo "...Register key file to the ramfs" + echo "KEYFILE_PATTERN=/etc/luks/*.keyfile" >> /etc/cryptsetup-initramfs/conf-hook + echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf -# Finally, update the ramfs initial image with the key file. -echo "...Upadte initramfs." -update-initramfs -uk all + # Finally, update the ramfs initial image with the key file. + echo "...Upadte initramfs." + update-initramfs -uk all -# Leave chroot -HEREDOC + # Leave chroot + HEREDOC -# Unmount all -echo "...Unmount all." -umount -R ${TARGETMOUNTPOINT} + # Unmount all + echo "...Unmount all." + umount -R ${TARGETMOUNTPOINT} -# Finishing message -cat </dev/null) && sourced=1 || sourced=0 -if [ $sourced -eq 0 ] ; then - cat <&2 -***** ERROR : Must execute as "sourced" ***** -Execute as following : -source void-kaiten-yaki.sh + # Varidate whether script is executed as sourced or not + (return 0 2>/dev/null) && sourced=1 || sourced=0 + if [ $sourced -eq 0 ] ; then + cat <<- HEREDOC 1>&2 + ***** ERROR : Must execute as "sourced" ***** + Execute as following : + source void-kaiten-yaki.sh -Installation terminated. -HEREDOC - exit # use "exit" instead of "return", if not "sourced" execusion -fi # "sourced" validation + Installation terminated. + HEREDOC + exit # use "exit" instead of "return", if not "sourced" execusion + fi # "sourced" validation -# This is the mount point of the install target. -export TARGETMOUNTPOINT="/mnt/target" -# 1 : Show message during GUI/TUI installer, 0 : Do not show. -export PARAINSTMSG=0 + # This is the mount point of the install target. + export TARGETMOUNTPOINT="/mnt/target" + # 1 : Show message during GUI/TUI installer, 0 : Do not show. + export PARAINSTMSG=0 -# Distribution check -if ! uname -a | grep void -i > /dev/null ; then # "Void" is not found in the OS name. - echo "*********************************************************************************" - uname -a - cat <&2 + # Distribution check + if ! uname -a | grep void -i > /dev/null ; then # "Void" is not found in the OS name. + echo "*********************************************************************************" + uname -a + cat <<- HEREDOC + ********************************************************************************* + This system seems to be not Void Linux, while this script is dediated to the Void Linux. + Are you sure you want to run this script for installation? [Y/N] + HEREDOC + read YESNO + if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + cat <<- HEREDOC 1>&2 -Installation terminated. -HEREDOC - return - fi # if YES + Installation terminated. + HEREDOC + return + fi # if YES -fi # "Void" is not found in the OS name. + fi # "Void" is not found in the OS name. -# ******************************************************************************* -# Confirmation before installation -# ******************************************************************************* + # ******************************************************************************* + # Confirmation before installation + # ******************************************************************************* -# Common part of the parameter confirmation -if ! confirmation ; then - return 1 -fi + # Common part of the parameter confirmation + if ! confirmation ; then + return 1 + fi -# ******************************************************************************* -# Pre-install stage -# ******************************************************************************* + # ******************************************************************************* + # Pre-install stage + # ******************************************************************************* -# Install essential packages. -xbps-install -y -Su xbps gptfdisk + # Install essential packages. + xbps-install -y -Su xbps gptfdisk -# Common part of the pre-install stage -if ! pre_install ; then - return 1 -fi + # Common part of the pre-install stage + if ! pre_install ; then + return 1 + fi -# ADD "rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} root=/dev/mapper/${VGNAME}-${ROOTNAME}" to GRUB. -# This is magical part. I have not understood why this is required. -# Anyway, without this modification, Void Linux doesn't boot. -# Refer https://wiki.voidlinux.org/Install_LVM_LUKS#Installation_using_void-installer -echo "...Modify /etc/default/grub." -sed -i "s#loglevel=4#loglevel=4 rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} root=/dev/mapper/${VGNAME}-${LVROOTNAME}#" /etc/default/grub + # ADD "rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} root=/dev/mapper/${VGNAME}-${ROOTNAME}" to GRUB. + # This is magical part. I have not understood why this is required. + # Anyway, without this modification, Void Linux doesn't boot. + # Refer https://wiki.voidlinux.org/Install_LVM_LUKS#Installation_using_void-installer + echo "...Modify /etc/default/grub." + sed -i "s#loglevel=4#loglevel=4 rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} root=/dev/mapper/${VGNAME}-${LVROOTNAME}#" /etc/default/grub -# ******************************************************************************* -# Para-install stage -# ******************************************************************************* + # ******************************************************************************* + # Para-install stage + # ******************************************************************************* -# Show common message to let the operator focus on the critical part -parainstall_msg -# Ubuntu dependent message -cat <> /etc/crypttab + # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. + echo "...Add LUKS volume info to /etc/crypttab." + echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab -# Putting key file into the ramfs initial image -echo "...Register key file to the ramfs" -echo 'install_items+=" /etc/luks/boot_os.keyfile /etc/crypttab " ' > /etc/dracut.conf.d/10-crypt.conf + # Putting key file into the ramfs initial image + echo "...Register key file to the ramfs" + echo 'install_items+=" /etc/luks/boot_os.keyfile /etc/crypttab " ' > /etc/dracut.conf.d/10-crypt.conf -# Finally, update the ramfs initial image with the key file. -echo "...Upadte initramfs." -xbps-reconfigure -fa -echo "...grub-mkconfig." -grub-mkconfig -o /boot/grub/grub.cfg -echo "...update-grub." -update-grub + # Finally, update the ramfs initial image with the key file. + echo "...Upadte initramfs." + xbps-reconfigure -fa + echo "...grub-mkconfig." + grub-mkconfig -o /boot/grub/grub.cfg + echo "...update-grub." + update-grub -# Leave chroot -HEREDOC + # Leave chroot + HEREDOC -# Unmount all -echo "...Unmount all." -umount -R ${TARGETMOUNTPOINT} + # Unmount all + echo "...Unmount all." + umount -R ${TARGETMOUNTPOINT} -# Finishing message -cat < Date: Thu, 1 Jul 2021 21:43:04 +0900 Subject: [PATCH 088/242] souced style is not enfoced --- script/ubuntu-kaiten-yaki.sh | 12 ------------ script/void-kaiten-yaki.sh | 12 ------------ 2 files changed, 24 deletions(-) diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index a34928e..e8a4804 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -10,18 +10,6 @@ function main() { source common/parainstall.sh source common/parainstall_msg.sh - # Varidate whether script is executed as sourced or not - (return 0 2>/dev/null) && sourced=1 || sourced=0 - if [ $sourced -eq 0 ] ; then - cat <<- HEREDOC 1>&2 - ***** ERROR : Must execute as "sourced" ***** - Execute as following : - source ubuntu-kaiten-yaki.sh - - Installation terminated. - HEREDOC - exit # use "exit" instead of "return", if not "sourced" execusion - fi # "sourced" validation # This is the mount point of the install target. export TARGETMOUNTPOINT="/target" diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 483bcd7..9294a78 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -10,18 +10,6 @@ function main() { source common/parainstall.sh source common/parainstall_msg.sh - # Varidate whether script is executed as sourced or not - (return 0 2>/dev/null) && sourced=1 || sourced=0 - if [ $sourced -eq 0 ] ; then - cat <<- HEREDOC 1>&2 - ***** ERROR : Must execute as "sourced" ***** - Execute as following : - source void-kaiten-yaki.sh - - Installation terminated. - HEREDOC - exit # use "exit" instead of "return", if not "sourced" execusion - fi # "sourced" validation # This is the mount point of the install target. export TARGETMOUNTPOINT="/mnt/target" From 8b2f1542f5cd3a752d615c8d9abec5f67cdf9acf Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 1 Jul 2021 21:45:54 +0900 Subject: [PATCH 089/242] Warning of "-" validation is corrected. --- script/common/confirmation.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/script/common/confirmation.sh b/script/common/confirmation.sh index c2fd49c..8503411 100644 --- a/script/common/confirmation.sh +++ b/script/common/confirmation.sh @@ -9,7 +9,7 @@ function confirmation(){ if echo ${VGNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. cat <<- HEREDOC 1>&2 ***** ERROR : VGNAME is "${VGNAME}" ***** - THe "-" is not allowed in the volume name. + "-" is not allowed in the volume name. Check passphrase and config.txt Installation terminated. @@ -21,7 +21,7 @@ function confirmation(){ if echo ${LVROOTNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. cat <<- HEREDOC 1>&2 ***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** - THe "-" is not allowed in the volume name. + "-" is not allowed in the volume name. Check passphrase and config.txt Installation terminated. @@ -33,7 +33,7 @@ function confirmation(){ if echo ${LVSWAPNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. cat <<- HEREDOC 1>&2 ***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** - THe "-" is not allowed in the volume name. + "-" is not allowed in the volume name. Check passphrase and config.txt Installation terminated. From a0100fecd254482fd7e8dd86478e1ade12928a08 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 1 Jul 2021 22:15:10 +0900 Subject: [PATCH 090/242] Correct the problem of cryptdevice --- script/void-kaiten-yaki.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 9294a78..678a2eb 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -58,12 +58,12 @@ function main() { return 1 fi - # ADD "rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} root=/dev/mapper/${VGNAME}-${ROOTNAME}" to GRUB. + # ADD "rd.auto=1 cryptdevice=/dev/sda2:${CRYPTPARTNAME} root=/dev/mapper/${VGNAME}-${ROOTNAME}" to GRUB. # This is magical part. I have not understood why this is required. # Anyway, without this modification, Void Linux doesn't boot. # Refer https://wiki.voidlinux.org/Install_LVM_LUKS#Installation_using_void-installer echo "...Modify /etc/default/grub." - sed -i "s#loglevel=4#loglevel=4 rd.auto=1 cryptdevice=/dev/sda2:${LUKS_NAME} root=/dev/mapper/${VGNAME}-${LVROOTNAME}#" /etc/default/grub + sed -i "s#loglevel=4#loglevel=4 rd.auto=1 cryptdevice=${DEV}${CRYPTPARTITION}:${CRYPTPARTNAME} root=/dev/mapper/${VGNAME}-${LVROOTNAME}#" /etc/default/grub # ******************************************************************************* # Para-install stage @@ -87,7 +87,8 @@ function main() { # Start void-installer void-installer & - + # Make it foreground + fg # Record the PID of the installer. installer_pid=$! From 395ed2654d2a6a7a2623dfdf68e270e602d6e97a Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 1 Jul 2021 22:38:49 +0900 Subject: [PATCH 091/242] Fix the bug of INSTALLER_PID It was previously variable. Changed it to env variable to refer from function --- script/common/parainstall.sh | 2 +- script/void-kaiten-yaki.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/script/common/parainstall.sh b/script/common/parainstall.sh index 0dfdc79..0324674 100644 --- a/script/common/parainstall.sh +++ b/script/common/parainstall.sh @@ -12,7 +12,7 @@ function parainstall() { sleep 1 # 1sec. # Check if installer still exist - if ! ps $installer_pid > /dev/null ; then # If not exists + if ! ps $INSTALLER_PID > /dev/null ; then # If not exists cat <<-HEREDOC 1>&2 The installer terminated unexpectedly. diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 678a2eb..50702e4 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -91,7 +91,7 @@ function main() { fg # Record the PID of the installer. - installer_pid=$! + export INSTALLER_PID=$! # Common part of the para-install. # Record the install PID, modify the /etc/default/grub of the target, From a3026f1ced96fb64b995d8c3e8714cb7a460c73a Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 07:20:11 +0900 Subject: [PATCH 092/242] Give up the TUI base install. xterm is essential now. --- script/ubuntu-kaiten-yaki.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index e8a4804..0e072fb 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -13,8 +13,6 @@ function main() { # This is the mount point of the install target. export TARGETMOUNTPOINT="/target" - # 1 : Show message during GUI/TUI installer, 0 : Do not show. - export PARAINSTMSG=1 # Distribution check if ! uname -a | grep ubuntu -i > /dev/null ; then # "Ubuntu" is not found in the OS name. @@ -80,7 +78,7 @@ function main() { ubiquity & # Record the PID of the installer. - installer_pid=$! + export INSTALLER_PID=$! # Common part of the para-install. # Record the install PID, modify the /etc/default/grub of the target, From ce949a547a4a108ca27562a891ef2e4e02999235 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 07:20:28 +0900 Subject: [PATCH 093/242] forget to add --- script/common/parainstall.sh | 13 +++---------- script/void-kaiten-yaki.sh | 13 ++++--------- 2 files changed, 7 insertions(+), 19 deletions(-) diff --git a/script/common/parainstall.sh b/script/common/parainstall.sh index 0324674..c45c483 100644 --- a/script/common/parainstall.sh +++ b/script/common/parainstall.sh @@ -27,19 +27,12 @@ function parainstall() { # Make target GRUB aware to the crypt partition # This must do it after start of the file copy by installer, but before the end of the file copy. - # If the environment is not GUI, keep quiet not to bother the TUI installer. - if [ ${PARAINSTMSG} -eq 1 ]; then - echo "...Add GRUB_ENABLE_CRYPTODISK entry to ${TARGETMOUNTPOINT}/etc/default/grub " - fi + echo "...Add GRUB_ENABLE_CRYPTODISK entry to ${TARGETMOUNTPOINT}/etc/default/grub " echo "GRUB_ENABLE_CRYPTODISK=y" >> ${TARGETMOUNTPOINT}/etc/default/grub - # And then, wait for the end of installer process - # If the environment is not GUI, keep quiet not to bother the TUI installer. - if [ ${PARAINSTMSG} -eq 1 ]; then - echo "...Waiting for the end of GUI/TUI installer." - fi - wait $installer_pid + echo "...Waiting for the end of GUI/TUI installer." + wait $INSTALLER_PID # succesfull return return 0 diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 50702e4..71e7011 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -13,8 +13,6 @@ function main() { # This is the mount point of the install target. export TARGETMOUNTPOINT="/mnt/target" - # 1 : Show message during GUI/TUI installer, 0 : Do not show. - export PARAINSTMSG=0 # Distribution check if ! uname -a | grep void -i > /dev/null ; then # "Void" is not found in the OS name. @@ -50,8 +48,7 @@ function main() { # ******************************************************************************* # Install essential packages. - xbps-install -y -Su xbps gptfdisk - + xbps-install -y -Su xbps gptfdisk xterm # Common part of the pre-install stage if ! pre_install ; then @@ -85,11 +82,9 @@ function main() { # waitfor a console input read dummy_var - # Start void-installer - void-installer & - # Make it foreground - fg - + # Start void-installer in the separate window + xterm -fa monospace -fs ${XTERMFONTSIZE} -e void-installer & + # Record the PID of the installer. export INSTALLER_PID=$! From 4f54f0bdbdd6c866163c2e36fcdf58d50c47aab0 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 07:49:22 +0900 Subject: [PATCH 094/242] Make warning message stronger. Add comment to the error return --- script/common/confirmation.sh | 12 ++++++------ script/common/parainstall.sh | 3 ++- script/common/preinstall.sh | 4 ++-- script/ubuntu-kaiten-yaki.sh | 11 ++++++----- script/void-kaiten-yaki.sh | 9 +++++---- 5 files changed, 21 insertions(+), 18 deletions(-) diff --git a/script/common/confirmation.sh b/script/common/confirmation.sh index 8503411..9b47635 100644 --- a/script/common/confirmation.sh +++ b/script/common/confirmation.sh @@ -14,7 +14,7 @@ function confirmation(){ Installation terminated. HEREDOC - return 1 + return 1 # with error status fi # "-" is found in the volume group name. # Sanity check for root volume name @@ -26,7 +26,7 @@ function confirmation(){ Installation terminated. HEREDOC - return 1 + return 1 # with error status fi # "-" is found in the volume name. # Sanity check for swap volume name @@ -38,7 +38,7 @@ function confirmation(){ Installation terminated. HEREDOC - return 1 + return 1 # with error status fi # "-" is found in the volume name. # For surre ask the config.sh is edited @@ -54,7 +54,7 @@ function confirmation(){ Installation terminated. HEREDOC - return 1 + return 1 # with error status fi # if YES # For sure ask ready to erase. @@ -67,7 +67,7 @@ function confirmation(){ Installation terminated. HEREDOC - return 1 + return 1 # with error status fi # if YES fi # if erase all @@ -87,7 +87,7 @@ function confirmation(){ Installation terminated. HEREDOC - return 1 + return 1 # with error status fi # passphrase validation # succesfull return diff --git a/script/common/parainstall.sh b/script/common/parainstall.sh index c45c483..4dc73ab 100644 --- a/script/common/parainstall.sh +++ b/script/common/parainstall.sh @@ -18,7 +18,7 @@ function parainstall() { Installation process terminated. HEREDOC - return 1 + return 1 # with error status fi done # while @@ -32,6 +32,7 @@ function parainstall() { # And then, wait for the end of installer process echo "...Waiting for the end of GUI/TUI installer." + echo "...Again, DO NOT reboot here. Just exit the GUI/TUI installer." wait $INSTALLER_PID # succesfull return diff --git a/script/common/preinstall.sh b/script/common/preinstall.sh index 295a45d..68d49ff 100644 --- a/script/common/preinstall.sh +++ b/script/common/preinstall.sh @@ -54,7 +54,7 @@ function pre_install() { Installation terminated. HEREDOC - return 1 + return 1 # with error status fi # if crypt volume is unable to open # ----- Configure the LVM in LUKS volume ----- @@ -84,7 +84,7 @@ function pre_install() { Installation terminated. HEREDOC - return 1 + return 1 # with error status else echo "...Create logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 0e072fb..e1cc7be 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -29,7 +29,7 @@ function main() { Installation terminated. HEREDOC - return 1 + return 1 # with error status fi # if YES fi # "Ubuntu" is not found in the OS name. @@ -40,7 +40,7 @@ function main() { # Common part of the parameter confirmation if ! confirmation ; then - return 1 + return 1 # with error status fi # ******************************************************************************* @@ -49,7 +49,7 @@ function main() { # Common part of the pre-install stage if ! pre_install ; then - return 1 + return 1 # with error status fi @@ -66,7 +66,8 @@ function main() { ************************ CAUTION! CAUTION! CAUTION! **************************** Make sure to click "Continue Testing", at the end of the Ubiquity installer. - Just exit the installer without rebooting. + Just exit the installer without rebooting. Other wise, your system + is unable to boot. Type return key to start Ubiquity. HEREDOC @@ -84,7 +85,7 @@ function main() { # Record the install PID, modify the /etc/default/grub of the target, # and then, wait for the end of sintaller. if ! parainstall ; then - return 1 + return 1 # with error status fi # ******************************************************************************* diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 71e7011..584f073 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -40,7 +40,7 @@ function main() { # Common part of the parameter confirmation if ! confirmation ; then - return 1 + return 1 # with error status fi # ******************************************************************************* @@ -52,7 +52,7 @@ function main() { # Common part of the pre-install stage if ! pre_install ; then - return 1 + return 1 # with error status fi # ADD "rd.auto=1 cryptdevice=/dev/sda2:${CRYPTPARTNAME} root=/dev/mapper/${VGNAME}-${ROOTNAME}" to GRUB. @@ -74,7 +74,8 @@ function main() { ************************ CAUTION! CAUTION! CAUTION! **************************** Make sure to click "NO", if the void-installer ask you to reboot. - Just exit the installer without rebooting. + Just exit the installer without rebooting. Other wise, your system + is unable to boot. Type return key to start void-installer. HEREDOC @@ -92,7 +93,7 @@ function main() { # Record the install PID, modify the /etc/default/grub of the target, # and then, wait for the end of sintaller. if ! parainstall ; then - return 1 + return 1 # with error status fi # ******************************************************************************* From 97e944a7eaa1c8e31c3ccad37e7d6ef09857504d Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 08:28:49 +0900 Subject: [PATCH 095/242] Charnge reboot warning message --- script/common/parainstall.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/common/parainstall.sh b/script/common/parainstall.sh index 4dc73ab..2a81b48 100644 --- a/script/common/parainstall.sh +++ b/script/common/parainstall.sh @@ -32,7 +32,7 @@ function parainstall() { # And then, wait for the end of installer process echo "...Waiting for the end of GUI/TUI installer." - echo "...Again, DO NOT reboot here. Just exit the GUI/TUI installer." + echo "...Again, DO NOT reboot/restart here. Just exit the GUI/TUI installer." wait $INSTALLER_PID # succesfull return From 4c325c4491a004f91c758a80de9d75de779655cc Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 08:34:41 +0900 Subject: [PATCH 096/242] Activate all logical volumes when LV already exsit This allow update-grub search other distributions in other volume --- script/common/preinstall.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/script/common/preinstall.sh b/script/common/preinstall.sh index 68d49ff..0e06690 100644 --- a/script/common/preinstall.sh +++ b/script/common/preinstall.sh @@ -61,6 +61,8 @@ function pre_install() { # Check volume group ${VGNAME} exist or not if vgdisplay -s ${VGNAME} &> /dev/null ; then # if exist echo "...Volume group ${VGNAME} already exist. Skipped to create. No problem." + echo "...Activate all logical volume in volume group ${VGNAME}." + vgchange -ay else echo "...Initialize a physical volume on \"${CRYPTPARTNAME}\"" pvcreate /dev/mapper/${CRYPTPARTNAME} From f92329b782151bb972dd96aac531232c6cd7843c Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 08:42:19 +0900 Subject: [PATCH 097/242] Add removing lv function at the termination of installer --- script/common/parainstall.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/script/common/parainstall.sh b/script/common/parainstall.sh index 2a81b48..3728280 100644 --- a/script/common/parainstall.sh +++ b/script/common/parainstall.sh @@ -15,6 +15,10 @@ function parainstall() { if ! ps $INSTALLER_PID > /dev/null ; then # If not exists cat <<-HEREDOC 1>&2 The installer terminated unexpectedly. + ...Delete the new logical volume "${VGNAME}-${LVROOTNAME}". + HEREDOC + lvremove -f /dev/mapper/${VGNAME}-${LVROOTNAME} + cat <<-HEREDOC 1>&2 Installation process terminated. HEREDOC From a28dbcaa74b07ca0add83eb8b89d47d57cc1657f Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 08:49:25 +0900 Subject: [PATCH 098/242] Add "..." to Install process termination message --- script/common/confirmation.sh | 27 ++++++++++++++------------- script/common/parainstall.sh | 4 ++-- script/common/preinstall.sh | 8 ++++---- script/ubuntu-kaiten-yaki.sh | 2 +- script/void-kaiten-yaki.sh | 2 +- 5 files changed, 22 insertions(+), 21 deletions(-) diff --git a/script/common/confirmation.sh b/script/common/confirmation.sh index 9b47635..f9d6ddd 100644 --- a/script/common/confirmation.sh +++ b/script/common/confirmation.sh @@ -9,10 +9,10 @@ function confirmation(){ if echo ${VGNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. cat <<- HEREDOC 1>&2 ***** ERROR : VGNAME is "${VGNAME}" ***** - "-" is not allowed in the volume name. - Check passphrase and config.txt + ..."-" is not allowed in the volume name. + ...Check passphrase and config.txt - Installation terminated. + ...Installation process terminated.. HEREDOC return 1 # with error status fi # "-" is found in the volume group name. @@ -21,10 +21,10 @@ function confirmation(){ if echo ${LVROOTNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. cat <<- HEREDOC 1>&2 ***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** - "-" is not allowed in the volume name. - Check passphrase and config.txt + ..."-" is not allowed in the volume name. + ...Check passphrase and config.txt - Installation terminated. + ...Installation process terminated.. HEREDOC return 1 # with error status fi # "-" is found in the volume name. @@ -33,10 +33,10 @@ function confirmation(){ if echo ${LVSWAPNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. cat <<- HEREDOC 1>&2 ***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** - "-" is not allowed in the volume name. - Check passphrase and config.txt + ..."-" is not allowed in the volume name. + ...Check passphrase and config.txt - Installation terminated. + ...Installation process terminated.. HEREDOC return 1 # with error status fi # "-" is found in the volume name. @@ -52,7 +52,7 @@ function confirmation(){ if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then cat <<- HEREDOC 1>&2 - Installation terminated. + ...Installation process terminated.. HEREDOC return 1 # with error status fi # if YES @@ -63,9 +63,9 @@ function confirmation(){ read YESNO if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then cat <<-HEREDOC 1>&2 - Check config.sh. The variable ERASEALL is ${ERASEALL}. + ...Check config.sh. The variable ERASEALL is ${ERASEALL}. - Installation terminated. + ...Installation process terminated.. HEREDOC return 1 # with error status fi # if YES @@ -73,6 +73,7 @@ function confirmation(){ # ----- Set Passphrase ----- # Input passphrase + echo "" echo "Type passphrase for the disk encryption." read -sr PASSPHRASE export PASSPHRASE @@ -85,7 +86,7 @@ function confirmation(){ cat <<-HEREDOC 1>&2 ***** ERROR : Passphrase doesn't match ***** - Installation terminated. + ...Installation process terminated.. HEREDOC return 1 # with error status fi # passphrase validation diff --git a/script/common/parainstall.sh b/script/common/parainstall.sh index 3728280..88d149f 100644 --- a/script/common/parainstall.sh +++ b/script/common/parainstall.sh @@ -14,13 +14,13 @@ function parainstall() { # Check if installer still exist if ! ps $INSTALLER_PID > /dev/null ; then # If not exists cat <<-HEREDOC 1>&2 - The installer terminated unexpectedly. + ...The installer terminated unexpectedly. ...Delete the new logical volume "${VGNAME}-${LVROOTNAME}". HEREDOC lvremove -f /dev/mapper/${VGNAME}-${LVROOTNAME} cat <<-HEREDOC 1>&2 - Installation process terminated. + ...Installation process terminated. HEREDOC return 1 # with error status fi diff --git a/script/common/preinstall.sh b/script/common/preinstall.sh index 0e06690..2251947 100644 --- a/script/common/preinstall.sh +++ b/script/common/preinstall.sh @@ -50,9 +50,9 @@ function pre_install() { if [ ! -e /dev/mapper/${CRYPTPARTNAME} ] ; then cat <<- HEREDOC 1>&2 ***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on ${DEV}${CRYPTPARTITION}. ***** - Check passphrase and config.txt + ...Check passphrase and config.txt - Installation terminated. + ...Installation process terminated.. HEREDOC return 1 # with error status fi # if crypt volume is unable to open @@ -82,9 +82,9 @@ function pre_install() { if [ -e /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then cat <<- HEREDOC 1>&2 ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** - Check LVROOTNAME environment variable in config.txt. + ...Check LVROOTNAME environment variable in config.txt. - Installation terminated. + ...Installation process terminated.. HEREDOC return 1 # with error status else diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index e1cc7be..7412c4f 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -27,7 +27,7 @@ function main() { if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then cat <<- HEREDOC 1>&2 - Installation terminated. + ...Installation process terminated.. HEREDOC return 1 # with error status fi # if YES diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 584f073..02368d7 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -27,7 +27,7 @@ function main() { if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then cat <<- HEREDOC 1>&2 - Installation terminated. + ...Installation process terminated.. HEREDOC return fi # if YES From 3387dc940d02c556c747acf553cb6be85df21277 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 13:35:22 +0900 Subject: [PATCH 099/242] Left GUI detection code. Just as interesting code. --- script/config.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/script/config.sh b/script/config.sh index 85dee04..726785e 100644 --- a/script/config.sh +++ b/script/config.sh @@ -49,3 +49,10 @@ else export CRYPTPARTITION=1 fi # EFI firmware +# Detect the GUI environment +# This code is not efered. Just left because it is interestintg code. +if env | grep -w -e XDG_SESSION_TYPE -e DISPLAY -e WAYLAND_DISPLAY > /dev/null ; then + export GUIENV=1 # set 1 if GUI env. +else + export GUIENV=0 # set 0 if not GUI env. +fi \ No newline at end of file From 7ebd7fc535437a12617e992434eae5fcabe7d8a3 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 13:51:53 +0900 Subject: [PATCH 100/242] Add volume closing on duplicate LV name. --- script/common/preinstall.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/script/common/preinstall.sh b/script/common/preinstall.sh index 2251947..476435e 100644 --- a/script/common/preinstall.sh +++ b/script/common/preinstall.sh @@ -61,7 +61,7 @@ function pre_install() { # Check volume group ${VGNAME} exist or not if vgdisplay -s ${VGNAME} &> /dev/null ; then # if exist echo "...Volume group ${VGNAME} already exist. Skipped to create. No problem." - echo "...Activate all logical volume in volume group ${VGNAME}." + echo "...Activate all logical volumes in volume group ${VGNAME}." vgchange -ay else echo "...Initialize a physical volume on \"${CRYPTPARTNAME}\"" @@ -83,6 +83,12 @@ function pre_install() { cat <<- HEREDOC 1>&2 ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** ...Check LVROOTNAME environment variable in config.txt. + HEREDOC + echo "...Deactivate all logical volumes in volume group \"${VGNAME}\"." + vgchange -a n ${VGNAME} + echo "...Close LUKS volume \"${CRYPTPARTNAME}\"." + cryptsetup close ${CRYPTPARTNAME} + cat <<- HEREDOC 1>&2 ...Installation process terminated.. HEREDOC From 5cbe95252ce0de221854e30625e63504cdf171a3 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 13:56:48 +0900 Subject: [PATCH 101/242] Add volume closing process on unexpected finijsh of GUI/TUI installer. --- script/common/parainstall.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/script/common/parainstall.sh b/script/common/parainstall.sh index 88d149f..965e903 100644 --- a/script/common/parainstall.sh +++ b/script/common/parainstall.sh @@ -14,12 +14,17 @@ function parainstall() { # Check if installer still exist if ! ps $INSTALLER_PID > /dev/null ; then # If not exists cat <<-HEREDOC 1>&2 - ...The installer terminated unexpectedly. + ***** ERROR : The GUI/TUI installer terminated unexpectedly. ***** ...Delete the new logical volume "${VGNAME}-${LVROOTNAME}". HEREDOC lvremove -f /dev/mapper/${VGNAME}-${LVROOTNAME} + echo "...Deactivate all logical volumes in volume group \"${VGNAME}\"." + vgchange -a n ${VGNAME} + echo "...Close LUKS volume \"${CRYPTPARTNAME}\"." + cryptsetup close ${CRYPTPARTNAME} cat <<-HEREDOC 1>&2 + ...The new logical volume is deleted. You can start Kaiten-yaki again. ...Installation process terminated. HEREDOC return 1 # with error status From 791ffa6112748d6734f0730878bdcfdd5c9493c6 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 14:20:16 +0900 Subject: [PATCH 102/242] Added overwrite install --- script/common/confirmation.sh | 19 ++++++++++-- script/common/preinstall.sh | 55 ++++++++++++++++++++++++----------- script/config.sh | 4 +++ 3 files changed, 58 insertions(+), 20 deletions(-) diff --git a/script/common/confirmation.sh b/script/common/confirmation.sh index f9d6ddd..674ab8c 100644 --- a/script/common/confirmation.sh +++ b/script/common/confirmation.sh @@ -5,12 +5,25 @@ function confirmation(){ + # Consistency check for the OVERWRITEINSTALL and ERASEALL + if [ ${ERASEALL} -eq 1 -a ${OVERWRITEINSTALL} -eq 1 ] ; then + cat <<- HEREDOC 1>&2 + ***** ERROR : Confliction between ERASEALL and OVERWRITEINATALL ***** + ...ERASEALL = ${ERASEALL} + ...OVERWRITEINSTALL = ${OVERWRITEINSTALL} + ...Check configuration in config.txt + + ...Installation process terminated.. + HEREDOC + + fi + # Sanity check for volume group name if echo ${VGNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. cat <<- HEREDOC 1>&2 ***** ERROR : VGNAME is "${VGNAME}" ***** ..."-" is not allowed in the volume name. - ...Check passphrase and config.txt + ...Check configuration in config.txt ...Installation process terminated.. HEREDOC @@ -22,7 +35,7 @@ function confirmation(){ cat <<- HEREDOC 1>&2 ***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** ..."-" is not allowed in the volume name. - ...Check passphrase and config.txt + ...Check configuration in config.txt ...Installation process terminated.. HEREDOC @@ -34,7 +47,7 @@ function confirmation(){ cat <<- HEREDOC 1>&2 ***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** ..."-" is not allowed in the volume name. - ...Check passphrase and config.txt + ...Check configuration in config.txt ...Installation process terminated.. HEREDOC diff --git a/script/common/preinstall.sh b/script/common/preinstall.sh index 476435e..6f9a987 100644 --- a/script/common/preinstall.sh +++ b/script/common/preinstall.sh @@ -79,24 +79,45 @@ function pre_install() { fi # if /dev/mapper/swap volume already exit. # Create a ROOT Logical Volume on VG. - if [ -e /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then - cat <<- HEREDOC 1>&2 - ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** - ...Check LVROOTNAME environment variable in config.txt. - HEREDOC - echo "...Deactivate all logical volumes in volume group \"${VGNAME}\"." - vgchange -a n ${VGNAME} - echo "...Close LUKS volume \"${CRYPTPARTNAME}\"." - cryptsetup close ${CRYPTPARTNAME} - cat <<- HEREDOC 1>&2 + if [ -e /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then # exist + if [ ${OVERWRITEINATALL} -eq 1 ] ; then # exist and overwrite install + echo "...Logical volume "${VGNAME}-${LVROOTNAME}" already exists. OK." + else # exist and not overwriteinstall + cat <<- HEREDOC 1>&2 + ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** + ...Check LVROOTNAME environment variable in config.txt. + HEREDOC + echo "...Deactivate all logical volumes in volume group \"${VGNAME}\"." + vgchange -a n ${VGNAME} + echo "...Close LUKS volume \"${CRYPTPARTNAME}\"." + cryptsetup close ${CRYPTPARTNAME} + cat <<- HEREDOC 1>&2 + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi + else # not exsit + if [ ${OVERWRITEINATALL} -eq 1 ] ; then + cat <<- HEREDOC 1>&2 + ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" doesn't exist while overwrite install. ***** + ...Check consistency of config.txt. + HEREDOC + echo "...Deactivate all logical volumes in volume group \"${VGNAME}\"." + vgchange -a n ${VGNAME} + echo "...Close LUKS volume \"${CRYPTPARTNAME}\"." + cryptsetup close ${CRYPTPARTNAME} + cat <<- HEREDOC 1>&2 + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + else # not exist and not overwrite install + echo "...Create logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." + lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} + fi + fi - ...Installation process terminated.. - HEREDOC - return 1 # with error status - else - echo "...Create logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." - lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} - fi # if the root volun already exist # successful return return 0 diff --git a/script/config.sh b/script/config.sh index 726785e..c6308df 100644 --- a/script/config.sh +++ b/script/config.sh @@ -26,6 +26,10 @@ export CRYPTPARTNAME="luks_volume" export VGNAME="vg1" export LVSWAPNAME="swap" +# Do not touch this parameter, unless you understand precisely what you are doing. +# 1 : Overwrite the existing logical volume as root vlume. 0 : Create new logical volume as root volume. +export OVERWRITEINSTALL=0 + # Void Linux only. Ignored in Ubuntu. # The font size of the void-installer export XTERMFONTSIZE=11 From 123f187cadffc1dc227352e68070fa0cb30e1f36 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 16:27:09 +0900 Subject: [PATCH 103/242] Changed function directory from common to lib --- script/{common => lib}/confirmation.sh | 0 script/{common => lib}/parainstall.sh | 0 script/{common => lib}/parainstall_msg.sh | 0 script/{common => lib}/preinstall.sh | 0 script/ubuntu-kaiten-yaki.sh | 8 ++++---- script/void-kaiten-yaki.sh | 8 ++++---- 6 files changed, 8 insertions(+), 8 deletions(-) rename script/{common => lib}/confirmation.sh (100%) rename script/{common => lib}/parainstall.sh (100%) rename script/{common => lib}/parainstall_msg.sh (100%) rename script/{common => lib}/preinstall.sh (100%) diff --git a/script/common/confirmation.sh b/script/lib/confirmation.sh similarity index 100% rename from script/common/confirmation.sh rename to script/lib/confirmation.sh diff --git a/script/common/parainstall.sh b/script/lib/parainstall.sh similarity index 100% rename from script/common/parainstall.sh rename to script/lib/parainstall.sh diff --git a/script/common/parainstall_msg.sh b/script/lib/parainstall_msg.sh similarity index 100% rename from script/common/parainstall_msg.sh rename to script/lib/parainstall_msg.sh diff --git a/script/common/preinstall.sh b/script/lib/preinstall.sh similarity index 100% rename from script/common/preinstall.sh rename to script/lib/preinstall.sh diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 7412c4f..298aed7 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -5,10 +5,10 @@ function main() { source config.sh # Load functions - source common/confirmation.sh - source common/preinstall.sh - source common/parainstall.sh - source common/parainstall_msg.sh + source lib/confirmation.sh + source lib/preinstall.sh + source lib/parainstall.sh + source lib/parainstall_msg.sh # This is the mount point of the install target. diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 02368d7..31e9c16 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -5,10 +5,10 @@ function main() { source config.sh # Load functions - source common/confirmation.sh - source common/preinstall.sh - source common/parainstall.sh - source common/parainstall_msg.sh + source lib/confirmation.sh + source lib/preinstall.sh + source lib/parainstall.sh + source lib/parainstall_msg.sh # This is the mount point of the install target. From d18f152aa3b2a6fd58b2c20b4edcdbd515c3c88f Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 16:30:10 +0900 Subject: [PATCH 104/242] Fix the consistency check error That didn't terminate even error was detected. --- script/lib/confirmation.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/lib/confirmation.sh b/script/lib/confirmation.sh index 674ab8c..e04569c 100644 --- a/script/lib/confirmation.sh +++ b/script/lib/confirmation.sh @@ -15,7 +15,7 @@ function confirmation(){ ...Installation process terminated.. HEREDOC - + return 1 # with error status fi # Sanity check for volume group name From 57ccc0894ce95d1ca33486761f9c762017bef1bc Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 16:58:46 +0900 Subject: [PATCH 105/242] Fix the misspell of VARIABLE --- script/lib/confirmation.sh | 2 +- script/lib/preinstall.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/script/lib/confirmation.sh b/script/lib/confirmation.sh index e04569c..52e332b 100644 --- a/script/lib/confirmation.sh +++ b/script/lib/confirmation.sh @@ -8,7 +8,7 @@ function confirmation(){ # Consistency check for the OVERWRITEINSTALL and ERASEALL if [ ${ERASEALL} -eq 1 -a ${OVERWRITEINSTALL} -eq 1 ] ; then cat <<- HEREDOC 1>&2 - ***** ERROR : Confliction between ERASEALL and OVERWRITEINATALL ***** + ***** ERROR : Confliction between ERASEALL and OVERWRITEINSTALL ***** ...ERASEALL = ${ERASEALL} ...OVERWRITEINSTALL = ${OVERWRITEINSTALL} ...Check configuration in config.txt diff --git a/script/lib/preinstall.sh b/script/lib/preinstall.sh index 6f9a987..138cf3c 100644 --- a/script/lib/preinstall.sh +++ b/script/lib/preinstall.sh @@ -80,7 +80,7 @@ function pre_install() { # Create a ROOT Logical Volume on VG. if [ -e /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then # exist - if [ ${OVERWRITEINATALL} -eq 1 ] ; then # exist and overwrite install + if [ ${OVERWRITEINSTALL} -eq 1 ] ; then # exist and overwrite install echo "...Logical volume "${VGNAME}-${LVROOTNAME}" already exists. OK." else # exist and not overwriteinstall cat <<- HEREDOC 1>&2 @@ -98,7 +98,7 @@ function pre_install() { return 1 # with error status fi else # not exsit - if [ ${OVERWRITEINATALL} -eq 1 ] ; then + if [ ${OVERWRITEINSTALL} -eq 1 ] ; then cat <<- HEREDOC 1>&2 ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" doesn't exist while overwrite install. ***** ...Check consistency of config.txt. From 9242e402bdea0b270a718429704b988d91d257f4 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 18:15:20 +0900 Subject: [PATCH 106/242] Change message style From "add" to "adding" --- script/lib/confirmation.sh | 16 +++++++-------- script/lib/parainstall.sh | 10 +++++----- script/lib/preinstall.sh | 38 ++++++++++++++++++------------------ script/ubuntu-kaiten-yaki.sh | 18 ++++++++--------- script/void-kaiten-yaki.sh | 18 ++++++++--------- 5 files changed, 50 insertions(+), 50 deletions(-) diff --git a/script/lib/confirmation.sh b/script/lib/confirmation.sh index 52e332b..768c52d 100644 --- a/script/lib/confirmation.sh +++ b/script/lib/confirmation.sh @@ -11,7 +11,7 @@ function confirmation(){ ***** ERROR : Confliction between ERASEALL and OVERWRITEINSTALL ***** ...ERASEALL = ${ERASEALL} ...OVERWRITEINSTALL = ${OVERWRITEINSTALL} - ...Check configuration in config.txt + ...Check configuration in your config.sh ...Installation process terminated.. HEREDOC @@ -23,7 +23,7 @@ function confirmation(){ cat <<- HEREDOC 1>&2 ***** ERROR : VGNAME is "${VGNAME}" ***** ..."-" is not allowed in the volume name. - ...Check configuration in config.txt + ...Check configuration in your config.sh ...Installation process terminated.. HEREDOC @@ -35,7 +35,7 @@ function confirmation(){ cat <<- HEREDOC 1>&2 ***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** ..."-" is not allowed in the volume name. - ...Check configuration in config.txt + ...Check configuration in your config.sh ...Installation process terminated.. HEREDOC @@ -47,19 +47,19 @@ function confirmation(){ cat <<- HEREDOC 1>&2 ***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** ..."-" is not allowed in the volume name. - ...Check configuration in config.txt + ...Check configuration in your config.sh ...Installation process terminated.. HEREDOC return 1 # with error status fi # "-" is found in the volume name. - # For surre ask the config.sh is edited + # For surre ask the your config.sh is edited cat <<- HEREDOC The destination logical volume label is "${LVROOTNAME}" "${LVROOTNAME}" uses ${LVROOTSIZE} of the LVM volume group. - Are you ready to install? [Y/N] + Are you sure to install? [Y/N] HEREDOC read YESNO if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then @@ -70,13 +70,13 @@ function confirmation(){ return 1 # with error status fi # if YES - # For sure ask ready to erase. + # For sure ask to be sure to erase. if [ ${ERASEALL} -eq 1 ] ; then echo "Are you sure you want to erase entire ${DEV}? [Y/N]" read YESNO if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then cat <<-HEREDOC 1>&2 - ...Check config.sh. The variable ERASEALL is ${ERASEALL}. + ...Check your config.sh. The variable ERASEALL is ${ERASEALL}. ...Installation process terminated.. HEREDOC diff --git a/script/lib/parainstall.sh b/script/lib/parainstall.sh index 965e903..d410566 100644 --- a/script/lib/parainstall.sh +++ b/script/lib/parainstall.sh @@ -15,16 +15,16 @@ function parainstall() { if ! ps $INSTALLER_PID > /dev/null ; then # If not exists cat <<-HEREDOC 1>&2 ***** ERROR : The GUI/TUI installer terminated unexpectedly. ***** - ...Delete the new logical volume "${VGNAME}-${LVROOTNAME}". + ...Deleting the new logical volume "${VGNAME}-${LVROOTNAME}". HEREDOC lvremove -f /dev/mapper/${VGNAME}-${LVROOTNAME} - echo "...Deactivate all logical volumes in volume group \"${VGNAME}\"." + echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." vgchange -a n ${VGNAME} - echo "...Close LUKS volume \"${CRYPTPARTNAME}\"." + echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." cryptsetup close ${CRYPTPARTNAME} cat <<-HEREDOC 1>&2 - ...The new logical volume is deleted. You can start Kaiten-yaki again. + ...The new logical volume has been deleted. You can retry Kaiten-yaki again. ...Installation process terminated. HEREDOC return 1 # with error status @@ -36,7 +36,7 @@ function parainstall() { # Make target GRUB aware to the crypt partition # This must do it after start of the file copy by installer, but before the end of the file copy. - echo "...Add GRUB_ENABLE_CRYPTODISK entry to ${TARGETMOUNTPOINT}/etc/default/grub " + echo "...Adding GRUB_ENABLE_CRYPTODISK entry to ${TARGETMOUNTPOINT}/etc/default/grub " echo "GRUB_ENABLE_CRYPTODISK=y" >> ${TARGETMOUNTPOINT}/etc/default/grub # And then, wait for the end of installer process diff --git a/script/lib/preinstall.sh b/script/lib/preinstall.sh index 138cf3c..ee7979f 100644 --- a/script/lib/preinstall.sh +++ b/script/lib/preinstall.sh @@ -12,45 +12,45 @@ function pre_install() { # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. if [ ${ISEFI} -eq 1 ] ; then # Zap existing partition table and create new GPT - echo "...Initialize ${DEV} with GPT." + echo "...Initializing ${DEV} with GPT." sgdisk --zap-all "${DEV}" # Create EFI partition and format it - echo "...Create an EFI partition on ${DEV}." + echo "...Creating an EFI partition on ${DEV}." sgdisk --new=${EFIPARTITION}:0:+${EFISIZE} --change-name=${EFIPARTITION}:"EFI System" --typecode=${EFIPARTITION}:ef00 "${DEV}" - echo "...Format the EFI parttion." + echo "...Formatting the EFI parttion." mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" # Create Linux partition - echo "...Create a Linux partition on ${DEV}." + echo "...Creating a Linux partition on ${DEV}." sgdisk --new=${CRYPTPARTITION}:0:0 --change-name=${CRYPTPARTITION}:"Linux LUKS" --typecode=${CRYPTPARTITION}:8309 "${DEV}" # Then print them sgdisk --print "${DEV}" else # Zap existing partition table - echo "...Erase partition table of ${DEV}." + echo "...Erasing partition table of ${DEV}." dd if=/dev/zero of=${DEV} bs=512 count=1 # Create MBR and allocate max storage for Linux partition - echo "...Create a Linux partition on ${DEV} with MBR." + echo "...Creating a Linux partition on ${DEV} with MBR." sfdisk ${DEV} <<- HEREDOC 2M,,L HEREDOC fi # if EFI firmware # Encrypt the partition to install Linux - echo "...Initialize ${DEV}${CRYPTPARTITION} as crypt partition" + echo "...Initializing ${DEV}${CRYPTPARTITION} as crypt partition" printf %s "${PASSPHRASE}" | cryptsetup luksFormat --type=luks1 --key-file - --batch-mode "${DEV}${CRYPTPARTITION}" fi # if erase all # ----- Open the LUKS partition ----- # Open the crypt partition. - echo "...Open a crypt partition ${DEV}${CRYPTPARTITION} as \"${CRYPTPARTNAME}\"" + echo "...Opening a crypt partition ${DEV}${CRYPTPARTITION} as \"${CRYPTPARTNAME}\"" printf %s "${PASSPHRASE}" | cryptsetup open -d - "${DEV}${CRYPTPARTITION}" ${CRYPTPARTNAME} # Check whether successful open. If mapped, it is successful. if [ ! -e /dev/mapper/${CRYPTPARTNAME} ] ; then cat <<- HEREDOC 1>&2 ***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on ${DEV}${CRYPTPARTITION}. ***** - ...Check passphrase and config.txt + ...Check passphrase and your config.txt ...Installation process terminated.. HEREDOC @@ -61,12 +61,12 @@ function pre_install() { # Check volume group ${VGNAME} exist or not if vgdisplay -s ${VGNAME} &> /dev/null ; then # if exist echo "...Volume group ${VGNAME} already exist. Skipped to create. No problem." - echo "...Activate all logical volumes in volume group ${VGNAME}." + echo "...Activating all logical volumes in volume group ${VGNAME}." vgchange -ay else - echo "...Initialize a physical volume on \"${CRYPTPARTNAME}\"" + echo "...Initializing a physical volume on \"${CRYPTPARTNAME}\"" pvcreate /dev/mapper/${CRYPTPARTNAME} - echo "...And then create Volume group \"${VGNAME}\"." + echo "...And then creating Volume group \"${VGNAME}\"." vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} fi # if /dev/volume-groupt exist @@ -74,7 +74,7 @@ function pre_install() { if [ -e /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then echo "...Swap volume already exist. Skipped to create. No problem." else - echo "...Create logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." + echo "...Creating logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} fi # if /dev/mapper/swap volume already exit. @@ -85,11 +85,11 @@ function pre_install() { else # exist and not overwriteinstall cat <<- HEREDOC 1>&2 ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** - ...Check LVROOTNAME environment variable in config.txt. + ...Check LVROOTNAME environment variable in your config.txt. HEREDOC - echo "...Deactivate all logical volumes in volume group \"${VGNAME}\"." + echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." vgchange -a n ${VGNAME} - echo "...Close LUKS volume \"${CRYPTPARTNAME}\"." + echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." cryptsetup close ${CRYPTPARTNAME} cat <<- HEREDOC 1>&2 @@ -101,11 +101,11 @@ function pre_install() { if [ ${OVERWRITEINSTALL} -eq 1 ] ; then cat <<- HEREDOC 1>&2 ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" doesn't exist while overwrite install. ***** - ...Check consistency of config.txt. + ...Check consistency of your config.txt. HEREDOC echo "...Deactivate all logical volumes in volume group \"${VGNAME}\"." vgchange -a n ${VGNAME} - echo "...Close LUKS volume \"${CRYPTPARTNAME}\"." + echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." cryptsetup close ${CRYPTPARTNAME} cat <<- HEREDOC 1>&2 @@ -113,7 +113,7 @@ function pre_install() { HEREDOC return 1 # with error status else # not exist and not overwrite install - echo "...Create logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." + echo "...Creating logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} fi fi diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 298aed7..f5ead25 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -94,11 +94,11 @@ function main() { ## Mount the target file system # ${TARGETMOUNTPOINT} is created by the GUI/TUI installer - echo "...Mount /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." + echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." mount /dev/mapper/${VGNAME}-${LVROOTNAME} ${TARGETMOUNTPOINT} # And mount other directories - echo "...Mount all other dirs." + echo "...Mounting all other dirs." for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "${TARGETMOUNTPOINT}/$n"; done # Change root and create the keyfile and ramfs image for Linux kernel. @@ -108,38 +108,38 @@ function main() { mount -a # Set up the kernel hook of encryption - echo "...Install cryptsetup-initramfs package." + echo "...Installing cryptsetup-initramfs package." apt -qq install -y cryptsetup-initramfs # Prepare a key file to embed in to the ramfs. - echo "...Prepair key file." + echo "...Prepairing key file." mkdir /etc/luks dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 status=none chmod u=rx,go-rwx /etc/luks chmod u=r,go-rwx /etc/luks/boot_os.keyfile # Add a key to the key file. Use the passphrase in the environment variable. - echo "...Add a key to the key file." + echo "...Adding a key to the key file." printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. - echo "...Add LUKS volume info to /etc/crypttab." + echo "...Adding LUKS volume info to /etc/crypttab." echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab # Putting key file into the ramfs initial image - echo "...Register key file to the ramfs" + echo "...Registering key file to the ramfs" echo "KEYFILE_PATTERN=/etc/luks/*.keyfile" >> /etc/cryptsetup-initramfs/conf-hook echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf # Finally, update the ramfs initial image with the key file. - echo "...Upadte initramfs." + echo "...Upadting initramfs." update-initramfs -uk all # Leave chroot HEREDOC # Unmount all - echo "...Unmount all." + echo "...Unmounting all." umount -R ${TARGETMOUNTPOINT} # Finishing message diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 31e9c16..bee312a 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -102,11 +102,11 @@ function main() { ## Mount the target file system # ${TARGETMOUNTPOINT} is created by the GUI/TUI installer - echo "...Mount /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." + echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." mount /dev/mapper/${VGNAME}-${LVROOTNAME} ${TARGETMOUNTPOINT} # And mount other directories - echo "...Mount all other dirs." + echo "...Mounting all other dirs." for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "${TARGETMOUNTPOINT}/$n"; done # Change root and create the keyfile and ramfs image for Linux kernel. @@ -116,30 +116,30 @@ function main() { mount -a # Set up the kernel hook of encryption - echo "...Install cryptsetup-initramfs package." + echo "...Installing cryptsetup-initramfs package." xbps-install -y lvm2 cryptsetup # Prepare a key file to embed in to the ramfs. - echo "...Prepair key file." + echo "...Prepairing key file." mkdir /etc/luks dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 status=none chmod u=rx,go-rwx /etc/luks chmod u=r,go-rwx /etc/luks/boot_os.keyfile # Add a key to the key file. Use the passphrase in the environment variable. - echo "...Add a key to the key file." + echo "...Adding a key to the key file." printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. - echo "...Add LUKS volume info to /etc/crypttab." + echo "...Adding LUKS volume info to /etc/crypttab." echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab # Putting key file into the ramfs initial image - echo "...Register key file to the ramfs" + echo "...Registering key file to the ramfs" echo 'install_items+=" /etc/luks/boot_os.keyfile /etc/crypttab " ' > /etc/dracut.conf.d/10-crypt.conf # Finally, update the ramfs initial image with the key file. - echo "...Upadte initramfs." + echo "...Upadting initramfs." xbps-reconfigure -fa echo "...grub-mkconfig." grub-mkconfig -o /boot/grub/grub.cfg @@ -150,7 +150,7 @@ function main() { HEREDOC # Unmount all - echo "...Unmount all." + echo "...Unmounting all." umount -R ${TARGETMOUNTPOINT} # Finishing message From 35b6d91058dd13db5219d48646003e140c049df2 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 18:29:04 +0900 Subject: [PATCH 107/242] Correct punctuation --- script/lib/preinstall.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/lib/preinstall.sh b/script/lib/preinstall.sh index ee7979f..fe13d6f 100644 --- a/script/lib/preinstall.sh +++ b/script/lib/preinstall.sh @@ -61,7 +61,7 @@ function pre_install() { # Check volume group ${VGNAME} exist or not if vgdisplay -s ${VGNAME} &> /dev/null ; then # if exist echo "...Volume group ${VGNAME} already exist. Skipped to create. No problem." - echo "...Activating all logical volumes in volume group ${VGNAME}." + echo "...Activating all logical volumes in volume group \"${VGNAME}\"." vgchange -ay else echo "...Initializing a physical volume on \"${CRYPTPARTNAME}\"" From 87b1d3846d3e79a417414a4f641191f0676d9710 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 18:40:39 +0900 Subject: [PATCH 108/242] Add overwrite installation document --- INSTALL.md | 24 ++++++++++++++++++++++++ script/config.sh | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/INSTALL.md b/INSTALL.md index 114c81a..6a8df17 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -49,6 +49,8 @@ Followings are set of the default settings of the parameters : - Create a logical volume named **"anko"** for / in the "vg1". The size of the **50%** of the entire free space (LVROOTNAME, LVROOTSIZE). ```bash +# Configuration parameters for Kaiten-Yaki + # Storage device to install the linux. export DEV="/dev/sda" @@ -75,6 +77,10 @@ export CRYPTPARTNAME="luks_volume" export VGNAME="vg1" export LVSWAPNAME="swap" +# Do not touch this parameter, unless you understand precisely what you are doing. +# 1 : Overwrite the existing logical volume as root vlume. 0 : Create new logical volume as root volume. +export OVERWRITEINSTALL=0 + # Void Linux only. Ignored in Ubuntu. # The font size of the void-installer export XTERMFONTSIZE=11 @@ -87,6 +93,24 @@ There are several restrictions : - The EFISIZE and the LVSWAPSIZE are refereed during the first distribution installation only. - The LVROOTSIZE is the size of a logical volume to create. This is a relative value to the existing free space in the volume group. If you want to install 3 distributions in a computer, you may want to set 33%FREE, 50%FREE, and 100%FREE for the first, second, and third distribution installation, respectively. - The name with "-" is not allowed for the VGNAME, LVROOTNAME, and LVSWAPNAME. I saw some installed doesn't work if "-" in in the name. +## About overwrite install +The OVERWRITEINSTALL parameter allow you to use an existing logical volume as root volume of the new installation. +This is very danger because of the several aspect like, destroying wrong volume and security. But sometimes it is +very useful. + +For example, if you reboot the system at the end of GUI/TUI installer by mistake, your system will never boot again. +In this case, the overwrite install recycle this "bad" logical volume and let your system boot again. + +To use the overwrite install, you have to set the as following : +- ERASEALL : 0 +- OVERWRITEINSTALL : 1 + +And set following parameters as same as previous installation. +- LVROOTNAME +- VGNAME +- CRYPTPARTNAME + +So, Kaitenyaki will leave the "bad" logical volume and allow you to overwrite it by GUI/TUI installer. ## First stage : Setting up the volumes After you set the configuration parameters correctly, execute the following command from the shell. Again, you have to be promoted as root user, and you have to use Bash. diff --git a/script/config.sh b/script/config.sh index c6308df..7af8501 100644 --- a/script/config.sh +++ b/script/config.sh @@ -1,4 +1,4 @@ -# Configuration parameters for YaFDE +# Configuration parameters for Kaiten-Yaki # Storage device to install the linux. export DEV="/dev/sda" From 2fe693aa72dfc55bce2f5ba48a273b69835892e6 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 22:01:15 +0900 Subject: [PATCH 109/242] Revise the install.md --- INSTALL.md | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 6a8df17..d6ac499 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -5,15 +5,13 @@ Installation requires mainly 2 steps. - Configure the parameters in config.sh. - Run the kaiten-yaki script -Each script have to be executed as sourced style. For example : +You can execute the install script without command line parameter. For example : ```shell source ubuntu-kaiten-yaki.sh ``` -If you execute these script as independent command style, it will show an error message and terminate the process immediately. - The first stage of the script is preparation like : erasing disk, format partition, and encryption. This is most critical stage of the entire installation process. This part is controlled by the configuration parameter. Thus, you have to edit the config.txt carefully. -In the second stage, the distribution dependent installer is invoked. That is the Ubiquity/void-installer of Ubuntu/Void linux, respectively. +In the second stage, the distribution dependent GUI/TUI installer is invoked from the running script. That is the Ubiquity/void-installer of Ubuntu/Void linux, respectively. The third stage is easy. There is nothing user can do. Everything is automatic. # Installation @@ -33,16 +31,17 @@ sudo -i bash xbps-install -Su xbps nano ``` -The nano is editor package to configure the config.txt. The editor choice is up to you. Kaiten-yaki script doesn't use any editor during execution. +The nano is editor package to configure the config.txt. The editor choice is up to you. Kaiten-yaki script doesn't have dependency to nano editor. Then, edit the config.txt. ## Configuration parameters -This is very critical part of the installation. The configuration parameters are in the top of the config.sh. Edit these parameters before the installation. +This is very critical part of the installation. The configuration parameters are in the the config.sh. Edit these parameters before the installation. -Followings are set of the default settings of the parameters : +Followings are the set of the default settings of the parameters : - Install to **/dev/sda** (DEV). - Erase entire disk (ERASEALL). +- Overwrite install is disabled. - In case of EFI firmware, 200MB is allocated to the EFI partition (EFISIZE). - Create a logical volume group named "vg1" in the encrypted volume (VGNAME) - Create a swap logical volume named "swap" in the "vg1". The size is 8GB (LVSWAPNAME,LVSWAPSIZE) @@ -92,16 +91,16 @@ There are several restrictions : - The LVSWAPNAME must be unique among all installations in a computer. Otherwise, Kaiten-yaki creates an unnecessary logical volume. This is waste of storage resource. - The EFISIZE and the LVSWAPSIZE are refereed during the first distribution installation only. - The LVROOTSIZE is the size of a logical volume to create. This is a relative value to the existing free space in the volume group. If you want to install 3 distributions in a computer, you may want to set 33%FREE, 50%FREE, and 100%FREE for the first, second, and third distribution installation, respectively. -- The name with "-" is not allowed for the VGNAME, LVROOTNAME, and LVSWAPNAME. I saw some installed doesn't work if "-" in in the name. -## About overwrite install -The OVERWRITEINSTALL parameter allow you to use an existing logical volume as root volume of the new installation. -This is very danger because of the several aspect like, destroying wrong volume and security. But sometimes it is +- The name with "-" is not allowed for the VGNAME, LVROOTNAME, and LVSWAPNAME. I saw some installer doesn't work if "-" in in the name. +## About the overwrite-install +The OVERWRITEINSTALL parameter allows you to use an existing logical volume as root volume of the new installation. +This is very danger because of the several aspect like destroying wrong volume and risk of security. But sometimes it is very useful. -For example, if you reboot the system at the end of GUI/TUI installer by mistake, your system will never boot again. -In this case, the overwrite install recycle this "bad" logical volume and let your system boot again. +For example, assume you are installing a distribution by Kaiten-yaki. If you reboot the system at the end of GUI/TUI installer by mistake, your system will never boot again. +In this case, the overwrite-install can recycle this "bad" logical volume and let your system boot again. -To use the overwrite install, you have to set the as following : +To use the overwrite-install, you have to set some parameters as following : - ERASEALL : 0 - OVERWRITEINSTALL : 1 @@ -110,7 +109,7 @@ And set following parameters as same as previous installation. - VGNAME - CRYPTPARTNAME -So, Kaitenyaki will leave the "bad" logical volume and allow you to overwrite it by GUI/TUI installer. +So, Kaiten-yaki will leave the "bad" logical volume and allow you to overwrite it by GUI/TUI installer. ## First stage : Setting up the volumes After you set the configuration parameters correctly, execute the following command from the shell. Again, you have to be promoted as root user, and you have to use Bash. @@ -145,5 +144,9 @@ At the end of the GUI/TUI installing, do not reboot the system. Click "Continue" ![Void done](image/void_done.png) ## Third stage : Finalizing -After GUI/TUI installer quit without rebooting, final part of the install process automatically starts. You can reboot the system, if you see the "Ready to reboot" message on the console. +After GUI/TUI installer quit without rebooting, final part of the install process automatically starts. + +In this section, Kaiten-yaki put the encryption key of the LUKS volume in to the ramfs initial stage to allow the Linux kernel decrypt the LUKS partition which contains root logical volume. So, system will ask you passphrase only once when GRUB start. + +You can reboot the system, if you see the "Ready to reboot" message on the console. From f980cf3d8999fae68d85b769f6d8a639df28ddf0 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 22:08:34 +0900 Subject: [PATCH 110/242] Change the "Yet another ... " to lower case --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 65966fd..416f28d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Kaiten-yaki : Yet another Full Disk Encryption for GRUB/Linux +# Kaiten-yaki : Yet another full disk encryption for GRUB/Linux Kaiten-yaki is a script set to help you to make a full disk encryption install to your desktop system. Followings are the list of functionality. From c5ccd06c3b9a0dc5a5a7fa5a84462c5ee4ef3c1c Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 22:28:10 +0900 Subject: [PATCH 111/242] Changed to support system void without GUI Issue #1 Support non-GUI install for Void Linux. --- script/void-kaiten-yaki.sh | 63 ++++++++++++++++++++++++++++++++------ 1 file changed, 53 insertions(+), 10 deletions(-) diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index bee312a..44ad038 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -7,7 +7,7 @@ function main() { # Load functions source lib/confirmation.sh source lib/preinstall.sh - source lib/parainstall.sh + # source lib/parainstall.sh # we have customized parainstall source lib/parainstall_msg.sh @@ -83,19 +83,38 @@ function main() { # waitfor a console input read dummy_var - # Start void-installer in the separate window - xterm -fa monospace -fs ${XTERMFONTSIZE} -e void-installer & - - # Record the PID of the installer. - export INSTALLER_PID=$! + # Start the background target/etc/default/grub cheker. + # The definition of this function is down below. + grub_check_and_modify & - # Common part of the para-install. - # Record the install PID, modify the /etc/default/grub of the target, - # and then, wait for the end of sintaller. - if ! parainstall ; then + # Record the PID of the background checker. + grub_check_and_modify_id = $! + + # Start void-installer + void-installer + + # Check if background checker still exist + if ps $grub_check_and_modify_id > /dev/null ; then # If exists + # If exist, the grub was not modifyed -> void-installer termianted unexpectedly + cat <<-HEREDOC 1>&2 + ***** ERROR : The GUI/TUI installer terminated unexpectedly. ***** + ...Deleting the new logical volume "${VGNAME}-${LVROOTNAME}". + HEREDOC + lvremove -f /dev/mapper/${VGNAME}-${LVROOTNAME} + echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." + vgchange -a n ${VGNAME} + echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." + cryptsetup close ${CRYPTPARTNAME} + cat <<-HEREDOC 1>&2 + + ...The new logical volume has been deleted. You can retry Kaiten-yaki again. + ...Installation process terminated. + HEREDOC return 1 # with error status fi + # At here, the installation was successful. + # ******************************************************************************* # Post-install stage # ******************************************************************************* @@ -164,5 +183,29 @@ function main() { return 0 } + +# This function will be executed in the background context, to watch the TUI installer. +function grub_check_and_modify() { + + # While the /etc/default/grub in the install target is NOT existing, keep sleeping. + # If installer terminated without file copy, this script also terminates. + while [ ! -e ${TARGETMOUNTPOINT}/etc/default/grub ] + do + sleep 1 # 1sec. + done # while + + # Perhaps, too neuvous. Wait 1 more sectond to avoid the rece condition. + sleep 1 # 1sec. + + # Make target GRUB aware to the crypt partition + # This must do it after start of the file copy by installer, but before the end of the file copy. + echo "...Adding GRUB_ENABLE_CRYPTODISK entry to ${TARGETMOUNTPOINT}/etc/default/grub " + echo "GRUB_ENABLE_CRYPTODISK=y" >> ${TARGETMOUNTPOINT}/etc/default/grub + + # succesfull return + return 0 + +} # para install + # Execute main \ No newline at end of file From 508f2f8130e911509319e0812b8f6a4deea27538 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 22:35:24 +0900 Subject: [PATCH 112/242] xterm is not needed anymore. --- script/void-kaiten-yaki.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 44ad038..50f081b 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -48,7 +48,7 @@ function main() { # ******************************************************************************* # Install essential packages. - xbps-install -y -Su xbps gptfdisk xterm + xbps-install -y -Su xbps gptfdisk # Common part of the pre-install stage if ! pre_install ; then From ed8e08b9a777378de0cbf01ed25c5b5a072709af Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 22:45:15 +0900 Subject: [PATCH 113/242] Fix the void installer unexpected quit detection The unneccesally space was the root caause. --- script/void-kaiten-yaki.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 50f081b..7e0517d 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -88,7 +88,7 @@ function main() { grub_check_and_modify & # Record the PID of the background checker. - grub_check_and_modify_id = $! + grub_check_and_modify_id=$! # Start void-installer void-installer From a863ae6ad3526190204096702b647a3663fa4534 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 2 Jul 2021 23:42:35 +0900 Subject: [PATCH 114/242] Add void-linux "base" support Removed limitation description. Added tested iso. --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 416f28d..be9669c 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ These scripts are tested with following environment. - Ubuntu Mate 20.04.2 amd64 desktop - void-live-x86_64-20210218-mate.iso - void-live-x86_64-musl-20210218-mate.iso +- void-live-x86_64-20210218.iso # Installation Start the PC with the LiveCD/LiveUSB of the distribution to install. Download this repository from github, and expand it. @@ -40,8 +41,6 @@ If you install two or more Void Linux in to the EFI system, only the last one ca # Variants considerations Ubuntu has several variants ( flavors ). While I have tested only MATE flavor, other flavor may work correctly as far as it uses Ubiquity installer. -Void Linux has "base" variant which doesn't have GUI. Kaiten-yaki can't run correctly without GUI. - # Acknowledgments These scripts are based on the script shared on the [myn's diary](https://myn.hatenablog.jp/entry/install-ubuntu-focal-with-lvm-on-luks). That page contains rich information, hint and techniques around the encrypted volume and Ubiquity installer. From 9bde5fb9ab2adb6ffa1314d6cd5302ebf1d9d3f5 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 05:43:42 +0900 Subject: [PATCH 115/242] Correct comment Ubuntu -> Void Linux --- script/void-kaiten-yaki.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 7e0517d..1cbdab9 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -68,7 +68,7 @@ function main() { # Show common message to let the operator focus on the critical part parainstall_msg - # Ubuntu dependent message + # Void-Linux dependent message cat <<- HEREDOC ************************ CAUTION! CAUTION! CAUTION! **************************** From 0e0af792349f420ea941e0d0d85171fb3912f820 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 06:12:01 +0900 Subject: [PATCH 116/242] Refactored structure Post install part is gotten into a function. Ubuntu dependent para-install is moved to main ubuntu-kaiten-yaki.sh --- script/lib/parainstall.sh | 50 ------------------------- script/ubuntu-kaiten-yaki.sh | 71 +++++++++++++++++++++++++++++++++--- script/void-kaiten-yaki.sh | 27 ++++++++++---- 3 files changed, 86 insertions(+), 62 deletions(-) delete mode 100644 script/lib/parainstall.sh diff --git a/script/lib/parainstall.sh b/script/lib/parainstall.sh deleted file mode 100644 index d410566..0000000 --- a/script/lib/parainstall.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/bash -u -# ******************************************************************************* -# Common part of para-install -# ******************************************************************************* - -function parainstall() { - - # While the /etc/default/grub in the install target is NOT existing, keep sleeping. - # If installer terminated without file copy, this script also terminates. - while [ ! -e ${TARGETMOUNTPOINT}/etc/default/grub ] - do - sleep 1 # 1sec. - - # Check if installer still exist - if ! ps $INSTALLER_PID > /dev/null ; then # If not exists - cat <<-HEREDOC 1>&2 - ***** ERROR : The GUI/TUI installer terminated unexpectedly. ***** - ...Deleting the new logical volume "${VGNAME}-${LVROOTNAME}". - HEREDOC - lvremove -f /dev/mapper/${VGNAME}-${LVROOTNAME} - echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." - vgchange -a n ${VGNAME} - echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." - cryptsetup close ${CRYPTPARTNAME} - cat <<-HEREDOC 1>&2 - - ...The new logical volume has been deleted. You can retry Kaiten-yaki again. - ...Installation process terminated. - HEREDOC - return 1 # with error status - fi - done # while - - # Perhaps, too neuvous. Wait 1 more sectond to avoid the rece condition. - sleep 1 # 1sec. - - # Make target GRUB aware to the crypt partition - # This must do it after start of the file copy by installer, but before the end of the file copy. - echo "...Adding GRUB_ENABLE_CRYPTODISK entry to ${TARGETMOUNTPOINT}/etc/default/grub " - echo "GRUB_ENABLE_CRYPTODISK=y" >> ${TARGETMOUNTPOINT}/etc/default/grub - - # And then, wait for the end of installer process - echo "...Waiting for the end of GUI/TUI installer." - echo "...Again, DO NOT reboot/restart here. Just exit the GUI/TUI installer." - wait $INSTALLER_PID - - # succesfull return - return 0 - -} # para install diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index f5ead25..9623f54 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -7,7 +7,6 @@ function main() { # Load functions source lib/confirmation.sh source lib/preinstall.sh - source lib/parainstall.sh source lib/parainstall_msg.sh @@ -84,7 +83,7 @@ function main() { # Common part of the para-install. # Record the install PID, modify the /etc/default/grub of the target, # and then, wait for the end of sintaller. - if ! parainstall ; then + if ! grub_check_and_modify_ubuntu ; then return 1 # with error status fi @@ -92,6 +91,18 @@ function main() { # Post-install stage # ******************************************************************************* + # Finalizing. Embedd encryption key into the ramfs image. + post_install_void() + + # Normal end + return 0 + +} # End of main() + + +# ******************************************************************************* +# Ubuntu dependent post-installation process +function post_install_ubuntu() { ## Mount the target file system # ${TARGETMOUNTPOINT} is created by the GUI/TUI installer echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." @@ -149,9 +160,59 @@ function main() { ...Ready to reboot. HEREDOC - # Normal end - return 0 -} + retrun 0 +} # End of post_install_ubuntu() + + +# ******************************************************************************* +# This function will be executed in the foreguround context, to watch the GUI installer. +function grub_check_and_modify_ubuntu() { + + # While the /etc/default/grub in the install target is NOT existing, keep sleeping. + # If installer terminated without file copy, this script also terminates. + while [ ! -e ${TARGETMOUNTPOINT}/etc/default/grub ] + do + sleep 1 # 1sec. + + # Check if installer still exist + if ! ps $INSTALLER_PID > /dev/null ; then # If not exists + cat <<-HEREDOC 1>&2 + ***** ERROR : The GUI/TUI installer terminated unexpectedly. ***** + ...Deleting the new logical volume "${VGNAME}-${LVROOTNAME}". + HEREDOC + lvremove -f /dev/mapper/${VGNAME}-${LVROOTNAME} + echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." + vgchange -a n ${VGNAME} + echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." + cryptsetup close ${CRYPTPARTNAME} + cat <<-HEREDOC 1>&2 + + ...The new logical volume has been deleted. You can retry Kaiten-yaki again. + ...Installation process terminated. + HEREDOC + return 1 # with error status + fi + done # while + + # Perhaps, too neuvous. Wait 1 more sectond to avoid the rece condition. + sleep 1 # 1sec. + + # Make target GRUB aware to the crypt partition + # This must do it after start of the file copy by installer, but before the end of the file copy. + echo "...Adding GRUB_ENABLE_CRYPTODISK entry to ${TARGETMOUNTPOINT}/etc/default/grub " + echo "GRUB_ENABLE_CRYPTODISK=y" >> ${TARGETMOUNTPOINT}/etc/default/grub + + # And then, wait for the end of installer process + echo "...Waiting for the end of GUI/TUI installer." + echo "...Again, DO NOT reboot/restart here. Just exit the GUI/TUI installer." + wait $INSTALLER_PID + + # succesfull return + return 0 + +} # grub_check_and_modify_ubuntu() + +# ******************************************************************************* # Execute main \ No newline at end of file diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 1cbdab9..ee3d016 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -7,7 +7,6 @@ function main() { # Load functions source lib/confirmation.sh source lib/preinstall.sh - # source lib/parainstall.sh # we have customized parainstall source lib/parainstall_msg.sh @@ -85,7 +84,7 @@ function main() { # Start the background target/etc/default/grub cheker. # The definition of this function is down below. - grub_check_and_modify & + grub_check_and_modify_void & # Record the PID of the background checker. grub_check_and_modify_id=$! @@ -119,6 +118,18 @@ function main() { # Post-install stage # ******************************************************************************* + # Finalizing. Embedd encryption key into the ramfs image. + post_install_ubuntu() + + # Normal end + return 0 + +} # End of ()) + + +# ******************************************************************************* +# Void Linux dependent post-installation process +function post_install_void() { ## Mount the target file system # ${TARGETMOUNTPOINT} is created by the GUI/TUI installer echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." @@ -179,13 +190,14 @@ function main() { ...Ready to reboot. HEREDOC - # Normal end - return 0 -} + retrun 0 + +} # End of post_install_void() +# ******************************************************************************* # This function will be executed in the background context, to watch the TUI installer. -function grub_check_and_modify() { +function grub_check_and_modify_void() { # While the /etc/default/grub in the install target is NOT existing, keep sleeping. # If installer terminated without file copy, this script also terminates. @@ -205,7 +217,8 @@ function grub_check_and_modify() { # succesfull return return 0 -} # para install +} # gurb_check_and_modify_void() +# ******************************************************************************* # Execute main \ No newline at end of file From ccc7d009f62ca25f138e5d3f2a049c2a99ad3896 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 06:26:33 +0900 Subject: [PATCH 117/242] Fixed bug of function call --- script/ubuntu-kaiten-yaki.sh | 2 +- script/void-kaiten-yaki.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 9623f54..77420c9 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -92,7 +92,7 @@ function main() { # ******************************************************************************* # Finalizing. Embedd encryption key into the ramfs image. - post_install_void() + post_install_ubuntu # Normal end return 0 diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index ee3d016..b5c4c09 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -119,12 +119,12 @@ function main() { # ******************************************************************************* # Finalizing. Embedd encryption key into the ramfs image. - post_install_ubuntu() + post_install_void # Normal end return 0 -} # End of ()) +} # End of main() # ******************************************************************************* From 54f80d7f80bea2ebd0cf2ebc5385c97149e0af1e Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 07:14:46 +0900 Subject: [PATCH 118/242] Refactoed common function These common function is renamed with _common explicitly. --- ...confirmation.sh => confirmation_common.sh} | 2 +- ...stall_msg.sh => parainstall_msg_common.sh} | 2 +- .../{preinstall.sh => preinstall_common.sh} | 2 +- script/ubuntu-kaiten-yaki.sh | 28 +++++++++---------- script/void-kaiten-yaki.sh | 23 ++++++++------- 5 files changed, 28 insertions(+), 29 deletions(-) rename script/lib/{confirmation.sh => confirmation_common.sh} (99%) rename script/lib/{parainstall_msg.sh => parainstall_msg_common.sh} (95%) rename script/lib/{preinstall.sh => preinstall_common.sh} (99%) diff --git a/script/lib/confirmation.sh b/script/lib/confirmation_common.sh similarity index 99% rename from script/lib/confirmation.sh rename to script/lib/confirmation_common.sh index 768c52d..ddf6caa 100644 --- a/script/lib/confirmation.sh +++ b/script/lib/confirmation_common.sh @@ -3,7 +3,7 @@ # Confirmation and Passphrase setting # ******************************************************************************* -function confirmation(){ +function confirmation_common(){ # Consistency check for the OVERWRITEINSTALL and ERASEALL if [ ${ERASEALL} -eq 1 -a ${OVERWRITEINSTALL} -eq 1 ] ; then diff --git a/script/lib/parainstall_msg.sh b/script/lib/parainstall_msg_common.sh similarity index 95% rename from script/lib/parainstall_msg.sh rename to script/lib/parainstall_msg_common.sh index 3b84a88..84abf42 100644 --- a/script/lib/parainstall_msg.sh +++ b/script/lib/parainstall_msg_common.sh @@ -1,6 +1,6 @@ #!/bin/bash -u -function parainstall_msg() { +function para_install_msg_common() { cat <<- HEREDOC ****************************************************************************** diff --git a/script/lib/preinstall.sh b/script/lib/preinstall_common.sh similarity index 99% rename from script/lib/preinstall.sh rename to script/lib/preinstall_common.sh index fe13d6f..82d679c 100644 --- a/script/lib/preinstall.sh +++ b/script/lib/preinstall_common.sh @@ -3,7 +3,7 @@ # Pre-install stage # ******************************************************************************* -function pre_install() { +function pre_install_common() { # ----- Erase entire disk, create partitions, format them and encrypt the LUKS partition ----- diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 77420c9..11c1c0a 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -5,9 +5,9 @@ function main() { source config.sh # Load functions - source lib/confirmation.sh - source lib/preinstall.sh - source lib/parainstall_msg.sh + source lib/confirmation_common.sh + source lib/pre_install_common.sh + source lib/para_install_msg_common.sh # This is the mount point of the install target. @@ -38,7 +38,7 @@ function main() { # ******************************************************************************* # Common part of the parameter confirmation - if ! confirmation ; then + if ! confirmation_common ; then return 1 # with error status fi @@ -47,7 +47,7 @@ function main() { # ******************************************************************************* # Common part of the pre-install stage - if ! pre_install ; then + if ! pre_install_common ; then return 1 # with error status fi @@ -57,7 +57,7 @@ function main() { # ******************************************************************************* # Show common message to let the operator focus on the critical part - parainstall_msg + para_install_msg_common # Ubuntu dependent message cat <<- HEREDOC @@ -80,10 +80,10 @@ function main() { # Record the PID of the installer. export INSTALLER_PID=$! - # Common part of the para-install. + # Record the install PID, modify the /etc/default/grub of the target, - # and then, wait for the end of sintaller. - if ! grub_check_and_modify_ubuntu ; then + # and then, wait for the end of the intaller. + if ! grub_check_and_modify ; then return 1 # with error status fi @@ -92,7 +92,7 @@ function main() { # ******************************************************************************* # Finalizing. Embedd encryption key into the ramfs image. - post_install_ubuntu + post_install # Normal end return 0 @@ -102,7 +102,7 @@ function main() { # ******************************************************************************* # Ubuntu dependent post-installation process -function post_install_ubuntu() { +function post_install() { ## Mount the target file system # ${TARGETMOUNTPOINT} is created by the GUI/TUI installer echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." @@ -162,12 +162,12 @@ function post_install_ubuntu() { retrun 0 -} # End of post_install_ubuntu() +} # End of post_install() # ******************************************************************************* # This function will be executed in the foreguround context, to watch the GUI installer. -function grub_check_and_modify_ubuntu() { +function grub_check_and_modify() { # While the /etc/default/grub in the install target is NOT existing, keep sleeping. # If installer terminated without file copy, this script also terminates. @@ -211,7 +211,7 @@ function grub_check_and_modify_ubuntu() { # succesfull return return 0 -} # grub_check_and_modify_ubuntu() +} # grub_check_and_modify() # ******************************************************************************* # Execute diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index b5c4c09..ffc1e53 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -5,9 +5,9 @@ function main() { source config.sh # Load functions - source lib/confirmation.sh - source lib/preinstall.sh - source lib/parainstall_msg.sh + source lib/confirmation_common.sh + source lib/pre_install_common.sh + source lib/para_install_msg_common.sh # This is the mount point of the install target. @@ -38,7 +38,7 @@ function main() { # ******************************************************************************* # Common part of the parameter confirmation - if ! confirmation ; then + if ! confirmation_common ; then return 1 # with error status fi @@ -50,7 +50,7 @@ function main() { xbps-install -y -Su xbps gptfdisk # Common part of the pre-install stage - if ! pre_install ; then + if ! pre_install_common ; then return 1 # with error status fi @@ -66,7 +66,8 @@ function main() { # ******************************************************************************* # Show common message to let the operator focus on the critical part - parainstall_msg + para_install_msg_common + # Void-Linux dependent message cat <<- HEREDOC @@ -112,14 +113,12 @@ function main() { return 1 # with error status fi - # At here, the installation was successful. - # ******************************************************************************* # Post-install stage # ******************************************************************************* # Finalizing. Embedd encryption key into the ramfs image. - post_install_void + post_install # Normal end return 0 @@ -129,7 +128,7 @@ function main() { # ******************************************************************************* # Void Linux dependent post-installation process -function post_install_void() { +function post_install() { ## Mount the target file system # ${TARGETMOUNTPOINT} is created by the GUI/TUI installer echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." @@ -192,7 +191,7 @@ function post_install_void() { retrun 0 -} # End of post_install_void() +} # End of post_install() # ******************************************************************************* @@ -217,7 +216,7 @@ function grub_check_and_modify_void() { # succesfull return return 0 -} # gurb_check_and_modify_void() +} # grub_check_and_modify() # ******************************************************************************* # Execute From fb3720787ca777eed7bd5b04f6d4ca87a95eb5a7 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 07:17:18 +0900 Subject: [PATCH 119/242] Fix file name bug --- .../lib/{parainstall_msg_common.sh => para_install_msg_common.sh} | 0 script/lib/{preinstall_common.sh => pre_install_common.sh} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename script/lib/{parainstall_msg_common.sh => para_install_msg_common.sh} (100%) rename script/lib/{preinstall_common.sh => pre_install_common.sh} (100%) diff --git a/script/lib/parainstall_msg_common.sh b/script/lib/para_install_msg_common.sh similarity index 100% rename from script/lib/parainstall_msg_common.sh rename to script/lib/para_install_msg_common.sh diff --git a/script/lib/preinstall_common.sh b/script/lib/pre_install_common.sh similarity index 100% rename from script/lib/preinstall_common.sh rename to script/lib/pre_install_common.sh From b9e490e5f37ac807fbe7db25b53e3295238f486c Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 07:32:06 +0900 Subject: [PATCH 120/242] Add volume protection logic In cae of the unexpected quit of GUI/TUI installer, The target volume was deleted always. Changed it to delete only when --- script/lib/confirmation_common.sh | 14 +++++++------- script/lib/pre_install_common.sh | 10 +++++----- script/ubuntu-kaiten-yaki.sh | 14 +++++++------- script/void-kaiten-yaki.sh | 17 +++++++++-------- 4 files changed, 28 insertions(+), 27 deletions(-) diff --git a/script/lib/confirmation_common.sh b/script/lib/confirmation_common.sh index ddf6caa..6082dd1 100644 --- a/script/lib/confirmation_common.sh +++ b/script/lib/confirmation_common.sh @@ -7,7 +7,7 @@ function confirmation_common(){ # Consistency check for the OVERWRITEINSTALL and ERASEALL if [ ${ERASEALL} -eq 1 -a ${OVERWRITEINSTALL} -eq 1 ] ; then - cat <<- HEREDOC 1>&2 + cat <<- HEREDOC ***** ERROR : Confliction between ERASEALL and OVERWRITEINSTALL ***** ...ERASEALL = ${ERASEALL} ...OVERWRITEINSTALL = ${OVERWRITEINSTALL} @@ -20,7 +20,7 @@ function confirmation_common(){ # Sanity check for volume group name if echo ${VGNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. - cat <<- HEREDOC 1>&2 + cat <<- HEREDOC ***** ERROR : VGNAME is "${VGNAME}" ***** ..."-" is not allowed in the volume name. ...Check configuration in your config.sh @@ -32,7 +32,7 @@ function confirmation_common(){ # Sanity check for root volume name if echo ${LVROOTNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. - cat <<- HEREDOC 1>&2 + cat <<- HEREDOC ***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** ..."-" is not allowed in the volume name. ...Check configuration in your config.sh @@ -44,7 +44,7 @@ function confirmation_common(){ # Sanity check for swap volume name if echo ${LVSWAPNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. - cat <<- HEREDOC 1>&2 + cat <<- HEREDOC ***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** ..."-" is not allowed in the volume name. ...Check configuration in your config.sh @@ -63,7 +63,7 @@ function confirmation_common(){ HEREDOC read YESNO if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then - cat <<- HEREDOC 1>&2 + cat <<- HEREDOC ...Installation process terminated.. HEREDOC @@ -75,7 +75,7 @@ function confirmation_common(){ echo "Are you sure you want to erase entire ${DEV}? [Y/N]" read YESNO if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then - cat <<-HEREDOC 1>&2 + cat <<-HEREDOC ...Check your config.sh. The variable ERASEALL is ${ERASEALL}. ...Installation process terminated.. @@ -96,7 +96,7 @@ function confirmation_common(){ # Validate whether both are indentical or not if [ ${PASSPHRASE} != ${PASSPHRASE_C} ] ; then - cat <<-HEREDOC 1>&2 + cat <<-HEREDOC ***** ERROR : Passphrase doesn't match ***** ...Installation process terminated.. diff --git a/script/lib/pre_install_common.sh b/script/lib/pre_install_common.sh index 82d679c..e2606a8 100644 --- a/script/lib/pre_install_common.sh +++ b/script/lib/pre_install_common.sh @@ -48,7 +48,7 @@ function pre_install_common() { # Check whether successful open. If mapped, it is successful. if [ ! -e /dev/mapper/${CRYPTPARTNAME} ] ; then - cat <<- HEREDOC 1>&2 + cat <<- HEREDOC ***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on ${DEV}${CRYPTPARTITION}. ***** ...Check passphrase and your config.txt @@ -83,7 +83,7 @@ function pre_install_common() { if [ ${OVERWRITEINSTALL} -eq 1 ] ; then # exist and overwrite install echo "...Logical volume "${VGNAME}-${LVROOTNAME}" already exists. OK." else # exist and not overwriteinstall - cat <<- HEREDOC 1>&2 + cat <<- HEREDOC ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** ...Check LVROOTNAME environment variable in your config.txt. HEREDOC @@ -91,7 +91,7 @@ function pre_install_common() { vgchange -a n ${VGNAME} echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." cryptsetup close ${CRYPTPARTNAME} - cat <<- HEREDOC 1>&2 + cat <<- HEREDOC ...Installation process terminated.. HEREDOC @@ -99,7 +99,7 @@ function pre_install_common() { fi else # not exsit if [ ${OVERWRITEINSTALL} -eq 1 ] ; then - cat <<- HEREDOC 1>&2 + cat <<- HEREDOC ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" doesn't exist while overwrite install. ***** ...Check consistency of your config.txt. HEREDOC @@ -107,7 +107,7 @@ function pre_install_common() { vgchange -a n ${VGNAME} echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." cryptsetup close ${CRYPTPARTNAME} - cat <<- HEREDOC 1>&2 + cat <<- HEREDOC ...Installation process terminated.. HEREDOC diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 11c1c0a..9cf0ff8 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -24,7 +24,7 @@ function main() { HEREDOC read YESNO if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then - cat <<- HEREDOC 1>&2 + cat <<- HEREDOC ...Installation process terminated.. HEREDOC @@ -177,16 +177,16 @@ function grub_check_and_modify() { # Check if installer still exist if ! ps $INSTALLER_PID > /dev/null ; then # If not exists - cat <<-HEREDOC 1>&2 - ***** ERROR : The GUI/TUI installer terminated unexpectedly. ***** - ...Deleting the new logical volume "${VGNAME}-${LVROOTNAME}". - HEREDOC - lvremove -f /dev/mapper/${VGNAME}-${LVROOTNAME} + echo "***** ERROR : The GUI/TUI installer terminated unexpectedly. *****" + if [ ${OVERWRITEINSTALL} -eq 0 ] ; then # If not over install, volume is new. So delete it + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." + lvremove -f /dev/mapper/${VGNAME}-${LVROOTNAME} + fi echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." vgchange -a n ${VGNAME} echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." cryptsetup close ${CRYPTPARTNAME} - cat <<-HEREDOC 1>&2 + cat <<-HEREDOC ...The new logical volume has been deleted. You can retry Kaiten-yaki again. ...Installation process terminated. diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index ffc1e53..cc5b39a 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -24,7 +24,7 @@ function main() { HEREDOC read YESNO if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then - cat <<- HEREDOC 1>&2 + cat <<- HEREDOC ...Installation process terminated.. HEREDOC @@ -67,7 +67,7 @@ function main() { # Show common message to let the operator focus on the critical part para_install_msg_common - + # Void-Linux dependent message cat <<- HEREDOC @@ -96,16 +96,17 @@ function main() { # Check if background checker still exist if ps $grub_check_and_modify_id > /dev/null ; then # If exists # If exist, the grub was not modifyed -> void-installer termianted unexpectedly - cat <<-HEREDOC 1>&2 - ***** ERROR : The GUI/TUI installer terminated unexpectedly. ***** - ...Deleting the new logical volume "${VGNAME}-${LVROOTNAME}". - HEREDOC - lvremove -f /dev/mapper/${VGNAME}-${LVROOTNAME} + + echo "***** ERROR : The GUI/TUI installer terminated unexpectedly. *****" + if [ ${OVERWRITEINSTALL} -eq 0 ] ; then # If not over install, volume is new. So delete it + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." + lvremove -f /dev/mapper/${VGNAME}-${LVROOTNAME} + fi echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." vgchange -a n ${VGNAME} echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." cryptsetup close ${CRYPTPARTNAME} - cat <<-HEREDOC 1>&2 + cat <<-HEREDOC ...The new logical volume has been deleted. You can retry Kaiten-yaki again. ...Installation process terminated. From dc1e8ff720b0947babd4deaab5556ace2a44c899 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 08:17:36 +0900 Subject: [PATCH 121/242] Applied shellcheck --- script/lib/confirmation_common.sh | 20 ++++----- script/lib/para_install_msg_common.sh | 4 +- script/lib/pre_install_common.sh | 58 +++++++++++++-------------- script/ubuntu-kaiten-yaki.sh | 21 +++++----- script/void-kaiten-yaki.sh | 21 +++++----- 5 files changed, 63 insertions(+), 61 deletions(-) diff --git a/script/lib/confirmation_common.sh b/script/lib/confirmation_common.sh index 6082dd1..a9a8130 100644 --- a/script/lib/confirmation_common.sh +++ b/script/lib/confirmation_common.sh @@ -6,7 +6,7 @@ function confirmation_common(){ # Consistency check for the OVERWRITEINSTALL and ERASEALL - if [ ${ERASEALL} -eq 1 -a ${OVERWRITEINSTALL} -eq 1 ] ; then + if [ "${ERASEALL}" -eq 1 ] && [ "${OVERWRITEINSTALL}" -eq 1 ] ; then cat <<- HEREDOC ***** ERROR : Confliction between ERASEALL and OVERWRITEINSTALL ***** ...ERASEALL = ${ERASEALL} @@ -19,7 +19,7 @@ function confirmation_common(){ fi # Sanity check for volume group name - if echo ${VGNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. + if echo "${VGNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. cat <<- HEREDOC ***** ERROR : VGNAME is "${VGNAME}" ***** ..."-" is not allowed in the volume name. @@ -31,7 +31,7 @@ function confirmation_common(){ fi # "-" is found in the volume group name. # Sanity check for root volume name - if echo ${LVROOTNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. + if echo "${LVROOTNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume name. cat <<- HEREDOC ***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** ..."-" is not allowed in the volume name. @@ -43,7 +43,7 @@ function confirmation_common(){ fi # "-" is found in the volume name. # Sanity check for swap volume name - if echo ${LVSWAPNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. + if echo "${LVSWAPNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume name. cat <<- HEREDOC ***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** ..."-" is not allowed in the volume name. @@ -61,8 +61,8 @@ function confirmation_common(){ "${LVROOTNAME}" uses ${LVROOTSIZE} of the LVM volume group. Are you sure to install? [Y/N] HEREDOC - read YESNO - if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + read -r YESNO + if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then cat <<- HEREDOC ...Installation process terminated.. @@ -71,10 +71,10 @@ function confirmation_common(){ fi # if YES # For sure ask to be sure to erase. - if [ ${ERASEALL} -eq 1 ] ; then + if [ "${ERASEALL}" -eq 1 ] ; then echo "Are you sure you want to erase entire ${DEV}? [Y/N]" - read YESNO - if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + read -r YESNO + if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then cat <<-HEREDOC ...Check your config.sh. The variable ERASEALL is ${ERASEALL}. @@ -95,7 +95,7 @@ function confirmation_common(){ read -sr PASSPHRASE_C # Validate whether both are indentical or not - if [ ${PASSPHRASE} != ${PASSPHRASE_C} ] ; then + if [ "${PASSPHRASE}" != "${PASSPHRASE_C}" ] ; then cat <<-HEREDOC ***** ERROR : Passphrase doesn't match ***** diff --git a/script/lib/para_install_msg_common.sh b/script/lib/para_install_msg_common.sh index 84abf42..56e7167 100644 --- a/script/lib/para_install_msg_common.sh +++ b/script/lib/para_install_msg_common.sh @@ -14,7 +14,7 @@ function para_install_msg_common() { HEREDOC # In the EFI system, add this mapping - if [ ${ISEFI} -eq 1 ] ; then + if [ "${ISEFI}" -eq 1 ] ; then echo "/boot/efi : ${DEV}${EFIPARTITION}" fi @@ -22,7 +22,7 @@ function para_install_msg_common() { echo "/ : /dev/mapper/${VGNAME}-${LVROOTNAME}" # In case of erased storage, add this mapping - if [ ${ERASEALL} -eq 1 ] ; then + if [ "${ERASEALL}" -eq 1 ] ; then echo "swap : /dev/mapper/${VGNAME}-${LVSWAPNAME}" fi diff --git a/script/lib/pre_install_common.sh b/script/lib/pre_install_common.sh index e2606a8..98efaaa 100644 --- a/script/lib/pre_install_common.sh +++ b/script/lib/pre_install_common.sh @@ -7,49 +7,49 @@ function pre_install_common() { # ----- Erase entire disk, create partitions, format them and encrypt the LUKS partition ----- - if [ ${ERASEALL} -eq 1 ] ; then + if [ "${ERASEALL}" -eq 1 ] ; then # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. - if [ ${ISEFI} -eq 1 ] ; then + if [ "${ISEFI}" -eq 1 ] ; then # Zap existing partition table and create new GPT - echo "...Initializing ${DEV} with GPT." + echo "...Initializing \"${DEV}\" with GPT." sgdisk --zap-all "${DEV}" # Create EFI partition and format it - echo "...Creating an EFI partition on ${DEV}." - sgdisk --new=${EFIPARTITION}:0:+${EFISIZE} --change-name=${EFIPARTITION}:"EFI System" --typecode=${EFIPARTITION}:ef00 "${DEV}" + echo "...Creating an EFI partition on \"${DEV}\"." + sgdisk --new="${EFIPARTITION}":0:+"${EFISIZE}" --change-name="${EFIPARTITION}":"EFI System" --typecode="${EFIPARTITION}":ef00 "${DEV}" echo "...Formatting the EFI parttion." mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" # Create Linux partition echo "...Creating a Linux partition on ${DEV}." - sgdisk --new=${CRYPTPARTITION}:0:0 --change-name=${CRYPTPARTITION}:"Linux LUKS" --typecode=${CRYPTPARTITION}:8309 "${DEV}" + sgdisk --new="${CRYPTPARTITION}":0:0 --change-name="${CRYPTPARTITION}":"Linux LUKS" --typecode="${CRYPTPARTITION}":8309 "${DEV}" # Then print them sgdisk --print "${DEV}" else # Zap existing partition table - echo "...Erasing partition table of ${DEV}." - dd if=/dev/zero of=${DEV} bs=512 count=1 + echo "...Erasing partition table of \"${DEV}\"." + dd if=/dev/zero of="${DEV}" bs=512 count=1 # Create MBR and allocate max storage for Linux partition echo "...Creating a Linux partition on ${DEV} with MBR." - sfdisk ${DEV} <<- HEREDOC + sfdisk "${DEV}" <<- HEREDOC 2M,,L HEREDOC fi # if EFI firmware # Encrypt the partition to install Linux - echo "...Initializing ${DEV}${CRYPTPARTITION} as crypt partition" + echo "...Initializing \"${DEV}${CRYPTPARTITION}\" as crypt partition" printf %s "${PASSPHRASE}" | cryptsetup luksFormat --type=luks1 --key-file - --batch-mode "${DEV}${CRYPTPARTITION}" fi # if erase all # ----- Open the LUKS partition ----- # Open the crypt partition. - echo "...Opening a crypt partition ${DEV}${CRYPTPARTITION} as \"${CRYPTPARTNAME}\"" - printf %s "${PASSPHRASE}" | cryptsetup open -d - "${DEV}${CRYPTPARTITION}" ${CRYPTPARTNAME} + echo "...Opening a crypt partition \"${DEV}${CRYPTPARTITION}\" as \"${CRYPTPARTNAME}\"" + printf %s "${PASSPHRASE}" | cryptsetup open -d - "${DEV}${CRYPTPARTITION}" "${CRYPTPARTNAME}" # Check whether successful open. If mapped, it is successful. - if [ ! -e /dev/mapper/${CRYPTPARTNAME} ] ; then + if [ ! -e /dev/mapper/"${CRYPTPARTNAME}" ] ; then cat <<- HEREDOC - ***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on ${DEV}${CRYPTPARTITION}. ***** + ***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on "${DEV}${CRYPTPARTITION}". ***** ...Check passphrase and your config.txt ...Installation process terminated.. @@ -59,38 +59,38 @@ function pre_install_common() { # ----- Configure the LVM in LUKS volume ----- # Check volume group ${VGNAME} exist or not - if vgdisplay -s ${VGNAME} &> /dev/null ; then # if exist - echo "...Volume group ${VGNAME} already exist. Skipped to create. No problem." + if vgdisplay -s "${VGNAME}" &> /dev/null ; then # if exist + echo "...Volume group \"${VGNAME}\" already exist. Skipped to create. No problem." echo "...Activating all logical volumes in volume group \"${VGNAME}\"." vgchange -ay else echo "...Initializing a physical volume on \"${CRYPTPARTNAME}\"" - pvcreate /dev/mapper/${CRYPTPARTNAME} + pvcreate /dev/mapper/"${CRYPTPARTNAME}" echo "...And then creating Volume group \"${VGNAME}\"." - vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} + vgcreate "${VGNAME}" /dev/mapper/"${CRYPTPARTNAME}" fi # if /dev/volume-groupt exist # Create a SWAP Logical Volume on VG, if it doesn't exist - if [ -e /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then + if [ -e /dev/mapper/"${VGNAME}"-"${LVSWAPNAME}" ] ; then echo "...Swap volume already exist. Skipped to create. No problem." else echo "...Creating logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." - lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} + lvcreate -L "${LVSWAPSIZE}" -n "${LVSWAPNAME}" "${VGNAME}" fi # if /dev/mapper/swap volume already exit. # Create a ROOT Logical Volume on VG. - if [ -e /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then # exist - if [ ${OVERWRITEINSTALL} -eq 1 ] ; then # exist and overwrite install - echo "...Logical volume "${VGNAME}-${LVROOTNAME}" already exists. OK." + if [ -e /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" ] ; then # exist + if [ "${OVERWRITEINSTALL}" -eq 1 ] ; then # exist and overwrite install + echo "...Logical volume \"${VGNAME}-${LVROOTNAME}\" already exists. OK." else # exist and not overwriteinstall cat <<- HEREDOC ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** ...Check LVROOTNAME environment variable in your config.txt. HEREDOC echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." - vgchange -a n ${VGNAME} + vgchange -a n "${VGNAME}" echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." - cryptsetup close ${CRYPTPARTNAME} + cryptsetup close "${CRYPTPARTNAME}" cat <<- HEREDOC ...Installation process terminated.. @@ -98,15 +98,15 @@ function pre_install_common() { return 1 # with error status fi else # not exsit - if [ ${OVERWRITEINSTALL} -eq 1 ] ; then + if [ "${OVERWRITEINSTALL}" -eq 1 ] ; then cat <<- HEREDOC ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" doesn't exist while overwrite install. ***** ...Check consistency of your config.txt. HEREDOC echo "...Deactivate all logical volumes in volume group \"${VGNAME}\"." - vgchange -a n ${VGNAME} + vgchange -a n "${VGNAME}" echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." - cryptsetup close ${CRYPTPARTNAME} + cryptsetup close "${CRYPTPARTNAME}" cat <<- HEREDOC ...Installation process terminated.. @@ -114,7 +114,7 @@ function pre_install_common() { return 1 # with error status else # not exist and not overwrite install echo "...Creating logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." - lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} + lvcreate -l "${LVROOTSIZE}" -n "${LVROOTNAME}" "${VGNAME}" fi fi diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 9cf0ff8..716af88 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -1,6 +1,6 @@ #!/bin/bash -u -function main() { + # shellcheck disable=SC1091 # Load configuration parameter source config.sh @@ -9,6 +9,7 @@ function main() { source lib/pre_install_common.sh source lib/para_install_msg_common.sh +function main() { # This is the mount point of the install target. export TARGETMOUNTPOINT="/target" @@ -22,8 +23,8 @@ function main() { This system seems to be not Ubuntu, while this script is dediated to the Ubuntu. Are you sure you want to run this script? [Y/N] HEREDOC - read YESNO - if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + read -r YESNO + if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then cat <<- HEREDOC ...Installation process terminated.. @@ -72,7 +73,7 @@ function main() { HEREDOC # waitfor a console input - read dummy_var + read -r # Start Ubiquity installer ubiquity & @@ -106,7 +107,7 @@ function post_install() { ## Mount the target file system # ${TARGETMOUNTPOINT} is created by the GUI/TUI installer echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." - mount /dev/mapper/${VGNAME}-${LVROOTNAME} ${TARGETMOUNTPOINT} + mount /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" ${TARGETMOUNTPOINT} # And mount other directories echo "...Mounting all other dirs." @@ -135,7 +136,7 @@ function post_install() { # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. echo "...Adding LUKS volume info to /etc/crypttab." - echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab + echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value "${DEV}${CRYPTPARTITION}") /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab # Putting key file into the ramfs initial image echo "...Registering key file to the ramfs" @@ -178,14 +179,14 @@ function grub_check_and_modify() { # Check if installer still exist if ! ps $INSTALLER_PID > /dev/null ; then # If not exists echo "***** ERROR : The GUI/TUI installer terminated unexpectedly. *****" - if [ ${OVERWRITEINSTALL} -eq 0 ] ; then # If not over install, volume is new. So delete it + if [ "${OVERWRITEINSTALL}" -eq 0 ] ; then # If not over install, volume is new. So delete it echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." - lvremove -f /dev/mapper/${VGNAME}-${LVROOTNAME} + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" fi echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." - vgchange -a n ${VGNAME} + vgchange -a n "${VGNAME}" echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." - cryptsetup close ${CRYPTPARTNAME} + cryptsetup close "${CRYPTPARTNAME}" cat <<-HEREDOC ...The new logical volume has been deleted. You can retry Kaiten-yaki again. diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index cc5b39a..a22beb5 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -1,6 +1,6 @@ #!/bin/bash -u -function main() { + # shellcheck disable=SC1091 # Load configuration parameter source config.sh @@ -9,6 +9,7 @@ function main() { source lib/pre_install_common.sh source lib/para_install_msg_common.sh +function main() { # This is the mount point of the install target. export TARGETMOUNTPOINT="/mnt/target" @@ -22,8 +23,8 @@ function main() { This system seems to be not Void Linux, while this script is dediated to the Void Linux. Are you sure you want to run this script for installation? [Y/N] HEREDOC - read YESNO - if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + read -r YESNO + if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then cat <<- HEREDOC ...Installation process terminated.. @@ -81,7 +82,7 @@ function main() { HEREDOC # waitfor a console input - read dummy_var + read -r # Start the background target/etc/default/grub cheker. # The definition of this function is down below. @@ -98,14 +99,14 @@ function main() { # If exist, the grub was not modifyed -> void-installer termianted unexpectedly echo "***** ERROR : The GUI/TUI installer terminated unexpectedly. *****" - if [ ${OVERWRITEINSTALL} -eq 0 ] ; then # If not over install, volume is new. So delete it + if [ "${OVERWRITEINSTALL}" -eq 0 ] ; then # If not over install, volume is new. So delete it echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." - lvremove -f /dev/mapper/${VGNAME}-${LVROOTNAME} + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" fi echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." - vgchange -a n ${VGNAME} + vgchange -a n "${VGNAME}" echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." - cryptsetup close ${CRYPTPARTNAME} + cryptsetup close "${CRYPTPARTNAME}" cat <<-HEREDOC ...The new logical volume has been deleted. You can retry Kaiten-yaki again. @@ -133,7 +134,7 @@ function post_install() { ## Mount the target file system # ${TARGETMOUNTPOINT} is created by the GUI/TUI installer echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." - mount /dev/mapper/${VGNAME}-${LVROOTNAME} ${TARGETMOUNTPOINT} + mount /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" ${TARGETMOUNTPOINT} # And mount other directories echo "...Mounting all other dirs." @@ -162,7 +163,7 @@ function post_install() { # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. echo "...Adding LUKS volume info to /etc/crypttab." - echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab + echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value "${DEV}""${CRYPTPARTITION}") /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab # Putting key file into the ramfs initial image echo "...Registering key file to the ramfs" From b7738a9fd8cd4ad8dc0a57ecc8eb131e7ef46aab Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 08:19:00 +0900 Subject: [PATCH 122/242] change -eq 1 to -ne 0 To accept non-zero value --- script/config.sh | 2 +- script/lib/confirmation_common.sh | 4 ++-- script/lib/para_install_msg_common.sh | 4 ++-- script/lib/pre_install_common.sh | 10 +++++----- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/script/config.sh b/script/config.sh index 7af8501..fccb91f 100644 --- a/script/config.sh +++ b/script/config.sh @@ -44,7 +44,7 @@ export ISEFI=0 # No, BIOS fi # is EFI firmaare? # Set partition number based on the firmware type -if [ ${ISEFI} -eq 1 ] ; then +if [ ${ISEFI} -ne 0 ] ; then # EFI firmware export EFIPARTITION=1 export CRYPTPARTITION=2 diff --git a/script/lib/confirmation_common.sh b/script/lib/confirmation_common.sh index a9a8130..b8b25e2 100644 --- a/script/lib/confirmation_common.sh +++ b/script/lib/confirmation_common.sh @@ -6,7 +6,7 @@ function confirmation_common(){ # Consistency check for the OVERWRITEINSTALL and ERASEALL - if [ "${ERASEALL}" -eq 1 ] && [ "${OVERWRITEINSTALL}" -eq 1 ] ; then + if [ "${ERASEALL}" -ne 0 ] && [ "${OVERWRITEINSTALL}" -ne 0 ] ; then cat <<- HEREDOC ***** ERROR : Confliction between ERASEALL and OVERWRITEINSTALL ***** ...ERASEALL = ${ERASEALL} @@ -71,7 +71,7 @@ function confirmation_common(){ fi # if YES # For sure ask to be sure to erase. - if [ "${ERASEALL}" -eq 1 ] ; then + if [ "${ERASEALL}" -ne 0 ] ; then echo "Are you sure you want to erase entire ${DEV}? [Y/N]" read -r YESNO if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then diff --git a/script/lib/para_install_msg_common.sh b/script/lib/para_install_msg_common.sh index 56e7167..fe21165 100644 --- a/script/lib/para_install_msg_common.sh +++ b/script/lib/para_install_msg_common.sh @@ -14,7 +14,7 @@ function para_install_msg_common() { HEREDOC # In the EFI system, add this mapping - if [ "${ISEFI}" -eq 1 ] ; then + if [ "${ISEFI}" -ne 0 ] ; then echo "/boot/efi : ${DEV}${EFIPARTITION}" fi @@ -22,7 +22,7 @@ function para_install_msg_common() { echo "/ : /dev/mapper/${VGNAME}-${LVROOTNAME}" # In case of erased storage, add this mapping - if [ "${ERASEALL}" -eq 1 ] ; then + if [ "${ERASEALL}" -ne 0 ] ; then echo "swap : /dev/mapper/${VGNAME}-${LVSWAPNAME}" fi diff --git a/script/lib/pre_install_common.sh b/script/lib/pre_install_common.sh index 98efaaa..bb61fb9 100644 --- a/script/lib/pre_install_common.sh +++ b/script/lib/pre_install_common.sh @@ -7,10 +7,10 @@ function pre_install_common() { # ----- Erase entire disk, create partitions, format them and encrypt the LUKS partition ----- - if [ "${ERASEALL}" -eq 1 ] ; then + if [ "${ERASEALL}" -ne 0 ] ; then # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. - if [ "${ISEFI}" -eq 1 ] ; then + if [ "${ISEFI}" -ne 0 ] ; then # EFI # Zap existing partition table and create new GPT echo "...Initializing \"${DEV}\" with GPT." sgdisk --zap-all "${DEV}" @@ -24,7 +24,7 @@ function pre_install_common() { sgdisk --new="${CRYPTPARTITION}":0:0 --change-name="${CRYPTPARTITION}":"Linux LUKS" --typecode="${CRYPTPARTITION}":8309 "${DEV}" # Then print them sgdisk --print "${DEV}" - else + else # BIOS # Zap existing partition table echo "...Erasing partition table of \"${DEV}\"." dd if=/dev/zero of="${DEV}" bs=512 count=1 @@ -80,7 +80,7 @@ function pre_install_common() { # Create a ROOT Logical Volume on VG. if [ -e /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" ] ; then # exist - if [ "${OVERWRITEINSTALL}" -eq 1 ] ; then # exist and overwrite install + if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then # exist and overwrite install echo "...Logical volume \"${VGNAME}-${LVROOTNAME}\" already exists. OK." else # exist and not overwriteinstall cat <<- HEREDOC @@ -98,7 +98,7 @@ function pre_install_common() { return 1 # with error status fi else # not exsit - if [ "${OVERWRITEINSTALL}" -eq 1 ] ; then + if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then cat <<- HEREDOC ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" doesn't exist while overwrite install. ***** ...Check consistency of your config.txt. From c089a8c70178b67dc3c8b939cb21b7994cb041bc Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 08:26:57 +0900 Subject: [PATCH 123/242] Add #! to superss error message --- script/config.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/script/config.sh b/script/config.sh index fccb91f..6f0f32f 100644 --- a/script/config.sh +++ b/script/config.sh @@ -1,3 +1,5 @@ +#!/bin/bash + # Configuration parameters for Kaiten-Yaki # Storage device to install the linux. From 594dfedc24c6d220567c1dc2dd601aaf419a2370 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 08:32:58 +0900 Subject: [PATCH 124/242] Add shellcheck disable to suppress --- script/lib/pre_install_common.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/script/lib/pre_install_common.sh b/script/lib/pre_install_common.sh index bb61fb9..97fd970 100644 --- a/script/lib/pre_install_common.sh +++ b/script/lib/pre_install_common.sh @@ -16,11 +16,13 @@ function pre_install_common() { sgdisk --zap-all "${DEV}" # Create EFI partition and format it echo "...Creating an EFI partition on \"${DEV}\"." + # shellcheck disable=SC2140 sgdisk --new="${EFIPARTITION}":0:+"${EFISIZE}" --change-name="${EFIPARTITION}":"EFI System" --typecode="${EFIPARTITION}":ef00 "${DEV}" echo "...Formatting the EFI parttion." mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" # Create Linux partition echo "...Creating a Linux partition on ${DEV}." + # shellcheck disable=SC2140 sgdisk --new="${CRYPTPARTITION}":0:0 --change-name="${CRYPTPARTITION}":"Linux LUKS" --typecode="${CRYPTPARTITION}":8309 "${DEV}" # Then print them sgdisk --print "${DEV}" From 0779994278d2277dafead3f67038bca32116e3a9 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 08:39:01 +0900 Subject: [PATCH 125/242] Add shell check disable To supress unnessary message in the post-install --- script/ubuntu-kaiten-yaki.sh | 3 ++- script/void-kaiten-yaki.sh | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 716af88..2b75657 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -115,6 +115,7 @@ function post_install() { # Change root and create the keyfile and ramfs image for Linux kernel. echo "...Chroot to ${TARGETMOUNTPOINT}." + # shellcheck disable=SC2086 cat <<- HEREDOC | chroot ${TARGETMOUNTPOINT} /bin/bash # Mount the rest of partitions by target /etc/fstab mount -a @@ -136,7 +137,7 @@ function post_install() { # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. echo "...Adding LUKS volume info to /etc/crypttab." - echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value "${DEV}${CRYPTPARTITION}") /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab + echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab # Putting key file into the ramfs initial image echo "...Registering key file to the ramfs" diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index a22beb5..0d89ec1 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -142,6 +142,7 @@ function post_install() { # Change root and create the keyfile and ramfs image for Linux kernel. echo "...Chroot to ${TARGETMOUNTPOINT}." + # shellcheck disable=SC2086 cat <<- HEREDOC | chroot ${TARGETMOUNTPOINT} /bin/bash # Mount the rest of partitions by target /etc/fstab mount -a @@ -163,7 +164,7 @@ function post_install() { # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. echo "...Adding LUKS volume info to /etc/crypttab." - echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value "${DEV}""${CRYPTPARTITION}") /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab + echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab # Putting key file into the ramfs initial image echo "...Registering key file to the ramfs" From 6bbab99badb074cccbb747b4ce1220f6df72cf76 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 09:03:45 +0900 Subject: [PATCH 126/242] Refactor canceling proces Gather the common canceling process to one function --- script/ubuntu-kaiten-yaki.sh | 30 ++++++++---------------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 2b75657..e9fb934 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -2,12 +2,10 @@ # shellcheck disable=SC1091 # Load configuration parameter - source config.sh + source ./config.sh # Load functions - source lib/confirmation_common.sh - source lib/pre_install_common.sh - source lib/para_install_msg_common.sh + source ./lib.sh function main() { @@ -39,7 +37,7 @@ function main() { # ******************************************************************************* # Common part of the parameter confirmation - if ! confirmation_common ; then + if ! confirmation ; then return 1 # with error status fi @@ -48,7 +46,7 @@ function main() { # ******************************************************************************* # Common part of the pre-install stage - if ! pre_install_common ; then + if ! pre_install ; then return 1 # with error status fi @@ -58,7 +56,7 @@ function main() { # ******************************************************************************* # Show common message to let the operator focus on the critical part - para_install_msg_common + para_install_msg # Ubuntu dependent message cat <<- HEREDOC @@ -177,22 +175,10 @@ function grub_check_and_modify() { do sleep 1 # 1sec. - # Check if installer still exist + # Check if installer quit unexpectedly if ! ps $INSTALLER_PID > /dev/null ; then # If not exists - echo "***** ERROR : The GUI/TUI installer terminated unexpectedly. *****" - if [ "${OVERWRITEINSTALL}" -eq 0 ] ; then # If not over install, volume is new. So delete it - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." - lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" - fi - echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." - vgchange -a n "${VGNAME}" - echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." - cryptsetup close "${CRYPTPARTNAME}" - cat <<-HEREDOC - - ...The new logical volume has been deleted. You can retry Kaiten-yaki again. - ...Installation process terminated. - HEREDOC + # Delete the nwe volume if overwrite install, and close all + on_unexpected_installer_quit return 1 # with error status fi done # while From 8ab81438381c2c4d7cc2e35d37e33215aedab8ae Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 09:34:22 +0900 Subject: [PATCH 127/242] Fixed GRUB modification of void installer. Previously, it was adding inifinitly, if install executed repeatedly. And refactored common functions. --- script/lib.sh | 289 ++++++++++++++++++++++++++ script/lib/confirmation_common.sh | 109 ---------- script/lib/para_install_msg_common.sh | 30 --- script/lib/pre_install_common.sh | 126 ----------- script/ubuntu-kaiten-yaki.sh | 16 +- script/void-kaiten-yaki.sh | 76 ++++--- 6 files changed, 332 insertions(+), 314 deletions(-) create mode 100644 script/lib.sh delete mode 100644 script/lib/confirmation_common.sh delete mode 100644 script/lib/para_install_msg_common.sh delete mode 100644 script/lib/pre_install_common.sh diff --git a/script/lib.sh b/script/lib.sh new file mode 100644 index 0000000..032adae --- /dev/null +++ b/script/lib.sh @@ -0,0 +1,289 @@ +#!/bin/bash -u +# ******************************************************************************* +# Confirmation and Passphrase setting +# ******************************************************************************* + +function confirmation(){ + + # Consistency check for the OVERWRITEINSTALL and ERASEALL + if [ "${ERASEALL}" -ne 0 ] && [ "${OVERWRITEINSTALL}" -ne 0 ] ; then + cat <<- HEREDOC + ***** ERROR : Confliction between ERASEALL and OVERWRITEINSTALL ***** + ...ERASEALL = ${ERASEALL} + ...OVERWRITEINSTALL = ${OVERWRITEINSTALL} + ...Check configuration in your config.sh + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi + + # Sanity check for volume group name + if echo "${VGNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. + cat <<- HEREDOC + ***** ERROR : VGNAME is "${VGNAME}" ***** + ..."-" is not allowed in the volume name. + ...Check configuration in your config.sh + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # "-" is found in the volume group name. + + # Sanity check for root volume name + if echo "${LVROOTNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume name. + cat <<- HEREDOC + ***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** + ..."-" is not allowed in the volume name. + ...Check configuration in your config.sh + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # "-" is found in the volume name. + + # Sanity check for swap volume name + if echo "${LVSWAPNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume name. + cat <<- HEREDOC + ***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** + ..."-" is not allowed in the volume name. + ...Check configuration in your config.sh + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # "-" is found in the volume name. + + # For surre ask the your config.sh is edited + cat <<- HEREDOC + + The destination logical volume label is "${LVROOTNAME}" + "${LVROOTNAME}" uses ${LVROOTSIZE} of the LVM volume group. + Are you sure to install? [Y/N] + HEREDOC + read -r YESNO + if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then + cat <<- HEREDOC + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # if YES + + # For sure ask to be sure to erase. + if [ "${ERASEALL}" -ne 0 ] ; then + echo "Are you sure you want to erase entire ${DEV}? [Y/N]" + read -r YESNO + if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then + cat <<-HEREDOC + ...Check your config.sh. The variable ERASEALL is ${ERASEALL}. + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # if YES + fi # if erase all + + # ----- Set Passphrase ----- + # Input passphrase + echo "" + echo "Type passphrase for the disk encryption." + read -sr PASSPHRASE + export PASSPHRASE + + echo "Type passphrase again, to confirm." + read -sr PASSPHRASE_C + + # Validate whether both are indentical or not + if [ "${PASSPHRASE}" != "${PASSPHRASE_C}" ] ; then + cat <<-HEREDOC + ***** ERROR : Passphrase doesn't match ***** + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # passphrase validation + + # succesfull return + return 0 +} + + +# ******************************************************************************* +# Pre-install stage +# ******************************************************************************* + +function pre_install() { + + + # ----- Erase entire disk, create partitions, format them and encrypt the LUKS partition ----- + if [ "${ERASEALL}" -ne 0 ] ; then + + # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. + if [ "${ISEFI}" -ne 0 ] ; then # EFI + # Zap existing partition table and create new GPT + echo "...Initializing \"${DEV}\" with GPT." + sgdisk --zap-all "${DEV}" + # Create EFI partition and format it + echo "...Creating an EFI partition on \"${DEV}\"." + # shellcheck disable=SC2140 + sgdisk --new="${EFIPARTITION}":0:+"${EFISIZE}" --change-name="${EFIPARTITION}":"EFI System" --typecode="${EFIPARTITION}":ef00 "${DEV}" + echo "...Formatting the EFI parttion." + mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" + # Create Linux partition + echo "...Creating a Linux partition on ${DEV}." + # shellcheck disable=SC2140 + sgdisk --new="${CRYPTPARTITION}":0:0 --change-name="${CRYPTPARTITION}":"Linux LUKS" --typecode="${CRYPTPARTITION}":8309 "${DEV}" + # Then print them + sgdisk --print "${DEV}" + else # BIOS + # Zap existing partition table + echo "...Erasing partition table of \"${DEV}\"." + dd if=/dev/zero of="${DEV}" bs=512 count=1 + # Create MBR and allocate max storage for Linux partition + echo "...Creating a Linux partition on ${DEV} with MBR." + sfdisk "${DEV}" <<- HEREDOC + 2M,,L + HEREDOC + fi # if EFI firmware + + # Encrypt the partition to install Linux + echo "...Initializing \"${DEV}${CRYPTPARTITION}\" as crypt partition" + printf %s "${PASSPHRASE}" | cryptsetup luksFormat --type=luks1 --key-file - --batch-mode "${DEV}${CRYPTPARTITION}" + + fi # if erase all + + # ----- Open the LUKS partition ----- + # Open the crypt partition. + echo "...Opening a crypt partition \"${DEV}${CRYPTPARTITION}\" as \"${CRYPTPARTNAME}\"" + printf %s "${PASSPHRASE}" | cryptsetup open -d - "${DEV}${CRYPTPARTITION}" "${CRYPTPARTNAME}" + + # Check whether successful open. If mapped, it is successful. + if [ ! -e /dev/mapper/"${CRYPTPARTNAME}" ] ; then + cat <<- HEREDOC + ***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on "${DEV}${CRYPTPARTITION}". ***** + ...Check passphrase and your config.txt + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # if crypt volume is unable to open + + # ----- Configure the LVM in LUKS volume ----- + # Check volume group ${VGNAME} exist or not + if vgdisplay -s "${VGNAME}" &> /dev/null ; then # if exist + echo "...Volume group \"${VGNAME}\" already exist. Skipped to create. No problem." + echo "...Activating all logical volumes in volume group \"${VGNAME}\"." + vgchange -ay + else + echo "...Initializing a physical volume on \"${CRYPTPARTNAME}\"" + pvcreate /dev/mapper/"${CRYPTPARTNAME}" + echo "...And then creating Volume group \"${VGNAME}\"." + vgcreate "${VGNAME}" /dev/mapper/"${CRYPTPARTNAME}" + fi # if /dev/volume-groupt exist + + # Create a SWAP Logical Volume on VG, if it doesn't exist + if [ -e /dev/mapper/"${VGNAME}"-"${LVSWAPNAME}" ] ; then + echo "...Swap volume already exist. Skipped to create. No problem." + else + echo "...Creating logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." + lvcreate -L "${LVSWAPSIZE}" -n "${LVSWAPNAME}" "${VGNAME}" + fi # if /dev/mapper/swap volume already exit. + + # Create a ROOT Logical Volume on VG. + if [ -e /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" ] ; then # exist + if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then # exist and overwrite install + echo "...Logical volume \"${VGNAME}-${LVROOTNAME}\" already exists. OK." + else # exist and not overwriteinstall + cat <<- HEREDOC + ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** + ...Check LVROOTNAME environment variable in your config.txt. + HEREDOC + # Deactivate all lg and close the LUKS volume + deactivate_and_close + return 1 # with error status + fi + else # not exsit + if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then + cat <<- HEREDOC + ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" doesn't exist while overwrite install. ***** + ...Check consistency of your config.txt. + HEREDOC + # Deactivate all lg and close the LUKS volume + deactivate_and_close + return 1 # with error status + else # not exist and not overwrite install + echo "...Creating logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." + lvcreate -l "${LVROOTSIZE}" -n "${LVROOTNAME}" "${VGNAME}" + fi + fi + + + # successful return + return 0 +} + + +# ******************************************************************************* +# Common message in para-install stage +# ******************************************************************************* + +function para_install_msg() { + + cat <<- HEREDOC + ****************************************************************************** + The pre-install process is done. We are ready to install the Linux to the + target storage device. By pressing return key, GUI/TUI installer starts. + + Please pay attention to the partition/logical volume mapping configuration. + In this installation, you have to map the previously created partitions/logical + volumes to the appropriate directories of the target system as followings : + + HEREDOC + + # In the EFI system, add this mapping + if [ "${ISEFI}" -ne 0 ] ; then + echo "/boot/efi : ${DEV}${EFIPARTITION}" + fi + + # Root volume mapping + echo "/ : /dev/mapper/${VGNAME}-${LVROOTNAME}" + + # In case of erased storage, add this mapping + if [ "${ERASEALL}" -ne 0 ] ; then + echo "swap : /dev/mapper/${VGNAME}-${LVSWAPNAME}" + fi + + return 0 +} + +# ******************************************************************************* +# Deactivate all LV in the VG and close LUKS volume +# ******************************************************************************* + +function deactivate_and_close(){ + echo "...Deactivate all logical volumes in volume group \"${VGNAME}\"." + vgchange -a n "${VGNAME}" + echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." + cryptsetup close "${CRYPTPARTNAME}" + cat <<- HEREDOC + + ...Installation process terminated.. + HEREDOC + +} + +# ******************************************************************************* +# Delete the nwe volume if overwrite install, and close all +# ******************************************************************************* + +function on_unexpected_installer_quit(){ + echo "***** ERROR : The GUI/TUI installer terminated unexpectedly. *****" + if [ "${OVERWRITEINSTALL}" -eq 0 ] ; then # If not over install, volume is new. So delete it + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" + fi + # Deactivate all lg and close the LUKS volume + deactivate_and_close + echo "...The new logical volume has been deleted. You can retry Kaiten-yaki again." +} diff --git a/script/lib/confirmation_common.sh b/script/lib/confirmation_common.sh deleted file mode 100644 index b8b25e2..0000000 --- a/script/lib/confirmation_common.sh +++ /dev/null @@ -1,109 +0,0 @@ -#!/bin/bash -u -# ******************************************************************************* -# Confirmation and Passphrase setting -# ******************************************************************************* - -function confirmation_common(){ - - # Consistency check for the OVERWRITEINSTALL and ERASEALL - if [ "${ERASEALL}" -ne 0 ] && [ "${OVERWRITEINSTALL}" -ne 0 ] ; then - cat <<- HEREDOC - ***** ERROR : Confliction between ERASEALL and OVERWRITEINSTALL ***** - ...ERASEALL = ${ERASEALL} - ...OVERWRITEINSTALL = ${OVERWRITEINSTALL} - ...Check configuration in your config.sh - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi - - # Sanity check for volume group name - if echo "${VGNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. - cat <<- HEREDOC - ***** ERROR : VGNAME is "${VGNAME}" ***** - ..."-" is not allowed in the volume name. - ...Check configuration in your config.sh - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # "-" is found in the volume group name. - - # Sanity check for root volume name - if echo "${LVROOTNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume name. - cat <<- HEREDOC - ***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** - ..."-" is not allowed in the volume name. - ...Check configuration in your config.sh - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # "-" is found in the volume name. - - # Sanity check for swap volume name - if echo "${LVSWAPNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume name. - cat <<- HEREDOC - ***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** - ..."-" is not allowed in the volume name. - ...Check configuration in your config.sh - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # "-" is found in the volume name. - - # For surre ask the your config.sh is edited - cat <<- HEREDOC - - The destination logical volume label is "${LVROOTNAME}" - "${LVROOTNAME}" uses ${LVROOTSIZE} of the LVM volume group. - Are you sure to install? [Y/N] - HEREDOC - read -r YESNO - if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then - cat <<- HEREDOC - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # if YES - - # For sure ask to be sure to erase. - if [ "${ERASEALL}" -ne 0 ] ; then - echo "Are you sure you want to erase entire ${DEV}? [Y/N]" - read -r YESNO - if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then - cat <<-HEREDOC - ...Check your config.sh. The variable ERASEALL is ${ERASEALL}. - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # if YES - fi # if erase all - - # ----- Set Passphrase ----- - # Input passphrase - echo "" - echo "Type passphrase for the disk encryption." - read -sr PASSPHRASE - export PASSPHRASE - - echo "Type passphrase again, to confirm." - read -sr PASSPHRASE_C - - # Validate whether both are indentical or not - if [ "${PASSPHRASE}" != "${PASSPHRASE_C}" ] ; then - cat <<-HEREDOC - ***** ERROR : Passphrase doesn't match ***** - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # passphrase validation - - # succesfull return - return 0 -} diff --git a/script/lib/para_install_msg_common.sh b/script/lib/para_install_msg_common.sh deleted file mode 100644 index fe21165..0000000 --- a/script/lib/para_install_msg_common.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -u - -function para_install_msg_common() { - - cat <<- HEREDOC - ****************************************************************************** - The pre-install process is done. We are ready to install the Linux to the - target storage device. By pressing return key, GUI/TUI installer starts. - - Please pay attention to the partition/logical volume mapping configuration. - In this installation, you have to map the previously created partitions/logical - volumes to the appropriate directories of the target system as followings : - - HEREDOC - - # In the EFI system, add this mapping - if [ "${ISEFI}" -ne 0 ] ; then - echo "/boot/efi : ${DEV}${EFIPARTITION}" - fi - - # Root volume mapping - echo "/ : /dev/mapper/${VGNAME}-${LVROOTNAME}" - - # In case of erased storage, add this mapping - if [ "${ERASEALL}" -ne 0 ] ; then - echo "swap : /dev/mapper/${VGNAME}-${LVSWAPNAME}" - fi - - return 0 -} \ No newline at end of file diff --git a/script/lib/pre_install_common.sh b/script/lib/pre_install_common.sh deleted file mode 100644 index 97fd970..0000000 --- a/script/lib/pre_install_common.sh +++ /dev/null @@ -1,126 +0,0 @@ -#!/bin/bash -u -# ******************************************************************************* -# Pre-install stage -# ******************************************************************************* - -function pre_install_common() { - - - # ----- Erase entire disk, create partitions, format them and encrypt the LUKS partition ----- - if [ "${ERASEALL}" -ne 0 ] ; then - - # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. - if [ "${ISEFI}" -ne 0 ] ; then # EFI - # Zap existing partition table and create new GPT - echo "...Initializing \"${DEV}\" with GPT." - sgdisk --zap-all "${DEV}" - # Create EFI partition and format it - echo "...Creating an EFI partition on \"${DEV}\"." - # shellcheck disable=SC2140 - sgdisk --new="${EFIPARTITION}":0:+"${EFISIZE}" --change-name="${EFIPARTITION}":"EFI System" --typecode="${EFIPARTITION}":ef00 "${DEV}" - echo "...Formatting the EFI parttion." - mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" - # Create Linux partition - echo "...Creating a Linux partition on ${DEV}." - # shellcheck disable=SC2140 - sgdisk --new="${CRYPTPARTITION}":0:0 --change-name="${CRYPTPARTITION}":"Linux LUKS" --typecode="${CRYPTPARTITION}":8309 "${DEV}" - # Then print them - sgdisk --print "${DEV}" - else # BIOS - # Zap existing partition table - echo "...Erasing partition table of \"${DEV}\"." - dd if=/dev/zero of="${DEV}" bs=512 count=1 - # Create MBR and allocate max storage for Linux partition - echo "...Creating a Linux partition on ${DEV} with MBR." - sfdisk "${DEV}" <<- HEREDOC - 2M,,L - HEREDOC - fi # if EFI firmware - - # Encrypt the partition to install Linux - echo "...Initializing \"${DEV}${CRYPTPARTITION}\" as crypt partition" - printf %s "${PASSPHRASE}" | cryptsetup luksFormat --type=luks1 --key-file - --batch-mode "${DEV}${CRYPTPARTITION}" - - fi # if erase all - - # ----- Open the LUKS partition ----- - # Open the crypt partition. - echo "...Opening a crypt partition \"${DEV}${CRYPTPARTITION}\" as \"${CRYPTPARTNAME}\"" - printf %s "${PASSPHRASE}" | cryptsetup open -d - "${DEV}${CRYPTPARTITION}" "${CRYPTPARTNAME}" - - # Check whether successful open. If mapped, it is successful. - if [ ! -e /dev/mapper/"${CRYPTPARTNAME}" ] ; then - cat <<- HEREDOC - ***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on "${DEV}${CRYPTPARTITION}". ***** - ...Check passphrase and your config.txt - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # if crypt volume is unable to open - - # ----- Configure the LVM in LUKS volume ----- - # Check volume group ${VGNAME} exist or not - if vgdisplay -s "${VGNAME}" &> /dev/null ; then # if exist - echo "...Volume group \"${VGNAME}\" already exist. Skipped to create. No problem." - echo "...Activating all logical volumes in volume group \"${VGNAME}\"." - vgchange -ay - else - echo "...Initializing a physical volume on \"${CRYPTPARTNAME}\"" - pvcreate /dev/mapper/"${CRYPTPARTNAME}" - echo "...And then creating Volume group \"${VGNAME}\"." - vgcreate "${VGNAME}" /dev/mapper/"${CRYPTPARTNAME}" - fi # if /dev/volume-groupt exist - - # Create a SWAP Logical Volume on VG, if it doesn't exist - if [ -e /dev/mapper/"${VGNAME}"-"${LVSWAPNAME}" ] ; then - echo "...Swap volume already exist. Skipped to create. No problem." - else - echo "...Creating logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." - lvcreate -L "${LVSWAPSIZE}" -n "${LVSWAPNAME}" "${VGNAME}" - fi # if /dev/mapper/swap volume already exit. - - # Create a ROOT Logical Volume on VG. - if [ -e /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" ] ; then # exist - if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then # exist and overwrite install - echo "...Logical volume \"${VGNAME}-${LVROOTNAME}\" already exists. OK." - else # exist and not overwriteinstall - cat <<- HEREDOC - ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** - ...Check LVROOTNAME environment variable in your config.txt. - HEREDOC - echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." - vgchange -a n "${VGNAME}" - echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." - cryptsetup close "${CRYPTPARTNAME}" - cat <<- HEREDOC - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi - else # not exsit - if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then - cat <<- HEREDOC - ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" doesn't exist while overwrite install. ***** - ...Check consistency of your config.txt. - HEREDOC - echo "...Deactivate all logical volumes in volume group \"${VGNAME}\"." - vgchange -a n "${VGNAME}" - echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." - cryptsetup close "${CRYPTPARTNAME}" - cat <<- HEREDOC - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - else # not exist and not overwrite install - echo "...Creating logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." - lvcreate -l "${LVROOTSIZE}" -n "${LVROOTNAME}" "${VGNAME}" - fi - fi - - - # successful return - return 0 -} diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index e9fb934..2207d67 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -30,7 +30,7 @@ function main() { return 1 # with error status fi # if YES - fi # "Ubuntu" is not found in the OS name. + fi # Distribution check # ******************************************************************************* # Confirmation before installation @@ -58,7 +58,7 @@ function main() { # Show common message to let the operator focus on the critical part para_install_msg - # Ubuntu dependent message + # Distrobution dependent message cat <<- HEREDOC ************************ CAUTION! CAUTION! CAUTION! **************************** @@ -82,7 +82,7 @@ function main() { # Record the install PID, modify the /etc/default/grub of the target, # and then, wait for the end of the intaller. - if ! grub_check_and_modify ; then + if ! grub_check_and_modify_local ; then return 1 # with error status fi @@ -91,7 +91,7 @@ function main() { # ******************************************************************************* # Finalizing. Embedd encryption key into the ramfs image. - post_install + post_install_local # Normal end return 0 @@ -101,7 +101,7 @@ function main() { # ******************************************************************************* # Ubuntu dependent post-installation process -function post_install() { +function post_install_local() { ## Mount the target file system # ${TARGETMOUNTPOINT} is created by the GUI/TUI installer echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." @@ -162,12 +162,12 @@ function post_install() { retrun 0 -} # End of post_install() +} # End of post_install_local() # ******************************************************************************* # This function will be executed in the foreguround context, to watch the GUI installer. -function grub_check_and_modify() { +function grub_check_and_modify_local() { # While the /etc/default/grub in the install target is NOT existing, keep sleeping. # If installer terminated without file copy, this script also terminates. @@ -199,7 +199,7 @@ function grub_check_and_modify() { # succesfull return return 0 -} # grub_check_and_modify() +} # grub_check_and_modify_local() # ******************************************************************************* # Execute diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 0d89ec1..a089463 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -2,12 +2,10 @@ # shellcheck disable=SC1091 # Load configuration parameter - source config.sh + source ./config.sh # Load functions - source lib/confirmation_common.sh - source lib/pre_install_common.sh - source lib/para_install_msg_common.sh + source ./lib.sh function main() { @@ -16,12 +14,12 @@ function main() { # Distribution check if ! uname -a | grep void -i > /dev/null ; then # "Void" is not found in the OS name. - echo "*********************************************************************************" + echo "*******************************************************************************" uname -a cat <<- HEREDOC - ********************************************************************************* + ******************************************************************************* This system seems to be not Void Linux, while this script is dediated to the Void Linux. - Are you sure you want to run this script for installation? [Y/N] + Are you sure you want to run this script? [Y/N] HEREDOC read -r YESNO if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then @@ -29,17 +27,17 @@ function main() { ...Installation process terminated.. HEREDOC - return + return 1 # with error status fi # if YES - fi # "Void" is not found in the OS name. + fi # Distribution check # ******************************************************************************* # Confirmation before installation # ******************************************************************************* # Common part of the parameter confirmation - if ! confirmation_common ; then + if ! confirmation ; then return 1 # with error status fi @@ -50,26 +48,35 @@ function main() { # Install essential packages. xbps-install -y -Su xbps gptfdisk - # Common part of the pre-install stage - if ! pre_install_common ; then - return 1 # with error status - fi - # ADD "rd.auto=1 cryptdevice=/dev/sda2:${CRYPTPARTNAME} root=/dev/mapper/${VGNAME}-${ROOTNAME}" to GRUB. # This is magical part. I have not understood why this is required. # Anyway, without this modification, Void Linux doesn't boot. # Refer https://wiki.voidlinux.org/Install_LVM_LUKS#Installation_using_void-installer - echo "...Modify /etc/default/grub." - sed -i "s#loglevel=4#loglevel=4 rd.auto=1 cryptdevice=${DEV}${CRYPTPARTITION}:${CRYPTPARTNAME} root=/dev/mapper/${VGNAME}-${LVROOTNAME}#" /etc/default/grub + # This modification is guaratnteed once only. To allow re-trying the installation after unexpected GUI/TUI installer quit. + grub_additional_parameters="rd.auto=1 cryptdevice=${DEV}${CRYPTPARTITION}:${CRYPTPARTNAME} root=/dev/mapper/${VGNAME}-${LVROOTNAME}" + if grep "$grub_additional_parameters" /etc/default/grub ; then # Is additonal parameter already added? + # Yes ".../etc/default/grub already modified. OK, skipping to modiy." + echo + else + # Not yet. Let's add. + echo "...Modify /etc/default/grub." + sed -i "s#loglevel=4#loglevel=4 ${grub_additional_parameters}#" /etc/default/grub + + fi + + # Common part of the pre-install stage + if ! pre_install ; then + return 1 # with error status + fi # ******************************************************************************* # Para-install stage # ******************************************************************************* # Show common message to let the operator focus on the critical part - para_install_msg_common + para_install_msg - # Void-Linux dependent message + # Distrobution dependent message cat <<- HEREDOC ************************ CAUTION! CAUTION! CAUTION! **************************** @@ -86,7 +93,7 @@ function main() { # Start the background target/etc/default/grub cheker. # The definition of this function is down below. - grub_check_and_modify_void & + grub_check_and_modify_local & # Record the PID of the background checker. grub_check_and_modify_id=$! @@ -96,22 +103,9 @@ function main() { # Check if background checker still exist if ps $grub_check_and_modify_id > /dev/null ; then # If exists - # If exist, the grub was not modifyed -> void-installer termianted unexpectedly - - echo "***** ERROR : The GUI/TUI installer terminated unexpectedly. *****" - if [ "${OVERWRITEINSTALL}" -eq 0 ] ; then # If not over install, volume is new. So delete it - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." - lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" - fi - echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." - vgchange -a n "${VGNAME}" - echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." - cryptsetup close "${CRYPTPARTNAME}" - cat <<-HEREDOC - - ...The new logical volume has been deleted. You can retry Kaiten-yaki again. - ...Installation process terminated. - HEREDOC + # If exist, the grub was not modifyed -> void-installer termianted unexpectedly + # Delete the nwe volume if overwrite install, and close all + on_unexpected_installer_quit return 1 # with error status fi @@ -120,7 +114,7 @@ function main() { # ******************************************************************************* # Finalizing. Embedd encryption key into the ramfs image. - post_install + post_install_local # Normal end return 0 @@ -130,7 +124,7 @@ function main() { # ******************************************************************************* # Void Linux dependent post-installation process -function post_install() { +function post_install_local() { ## Mount the target file system # ${TARGETMOUNTPOINT} is created by the GUI/TUI installer echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." @@ -194,12 +188,12 @@ function post_install() { retrun 0 -} # End of post_install() +} # End of post_install_local() # ******************************************************************************* # This function will be executed in the background context, to watch the TUI installer. -function grub_check_and_modify_void() { +function grub_check_and_modify_local() { # While the /etc/default/grub in the install target is NOT existing, keep sleeping. # If installer terminated without file copy, this script also terminates. @@ -219,7 +213,7 @@ function grub_check_and_modify_void() { # succesfull return return 0 -} # grub_check_and_modify() +} # grub_check_and_modify_local() # ******************************************************************************* # Execute From 2d2d200fefe9ec7489da3d5c7e789309ebea8188 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 09:47:42 +0900 Subject: [PATCH 128/242] Refactored Distribution check is now common function --- script/lib.sh | 29 ++++++++++++++++++++++++++++- script/ubuntu-kaiten-yaki.sh | 30 ++++++++++-------------------- script/void-kaiten-yaki.sh | 32 +++++++++++--------------------- 3 files changed, 49 insertions(+), 42 deletions(-) diff --git a/script/lib.sh b/script/lib.sh index 032adae..5149dea 100644 --- a/script/lib.sh +++ b/script/lib.sh @@ -276,7 +276,6 @@ function deactivate_and_close(){ # ******************************************************************************* # Delete the nwe volume if overwrite install, and close all # ******************************************************************************* - function on_unexpected_installer_quit(){ echo "***** ERROR : The GUI/TUI installer terminated unexpectedly. *****" if [ "${OVERWRITEINSTALL}" -eq 0 ] ; then # If not over install, volume is new. So delete it @@ -287,3 +286,31 @@ function on_unexpected_installer_quit(){ deactivate_and_close echo "...The new logical volume has been deleted. You can retry Kaiten-yaki again." } + + +# ******************************************************************************* +# Check whether given signaure is in the system information +# ******************************************************************************* +function distribution_check(){ + if ! uname -a | grep "${DISTRIBUTIONSIGNATURE}" -i > /dev/null ; then # Signature is not found in the OS name. + echo "*******************************************************************************" + uname -a + cat <<- HEREDOC + ******************************************************************************* + This system seems to be not $DISTRIBUTIONNAME, while this script is dediated to the $DISTRIBUTIONNAME. + Are you sure you want to run this script? [Y/N] + HEREDOC + read -r YESNO + if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then + cat <<- HEREDOC + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # if YES + + fi # Distribution check + + # no error + return 0 +} \ No newline at end of file diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 2207d67..27ef8a6 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -4,7 +4,7 @@ # Load configuration parameter source ./config.sh - # Load functions + # Load common functions source ./lib.sh function main() { @@ -12,30 +12,20 @@ function main() { # This is the mount point of the install target. export TARGETMOUNTPOINT="/target" - # Distribution check - if ! uname -a | grep ubuntu -i > /dev/null ; then # "Ubuntu" is not found in the OS name. - echo "*******************************************************************************" - uname -a - cat <<- HEREDOC - ******************************************************************************* - This system seems to be not Ubuntu, while this script is dediated to the Ubuntu. - Are you sure you want to run this script? [Y/N] - HEREDOC - read -r YESNO - if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then - cat <<- HEREDOC - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # if YES - - fi # Distribution check # ******************************************************************************* # Confirmation before installation # ******************************************************************************* + # parameters for distribution check + export DISTRIBUTIONSIGNATURE="ubuntu" + export DISTRIBUTIONNAME="Ubuntu" + + # Check whetehr given signature exist or not + if ! distribution_check ; then + return 1 # with error status + fi + # Common part of the parameter confirmation if ! confirmation ; then return 1 # with error status diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index a089463..4af9fea 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -4,38 +4,28 @@ # Load configuration parameter source ./config.sh - # Load functions + # Load common functions source ./lib.sh function main() { # This is the mount point of the install target. export TARGETMOUNTPOINT="/mnt/target" - - # Distribution check - if ! uname -a | grep void -i > /dev/null ; then # "Void" is not found in the OS name. - echo "*******************************************************************************" - uname -a - cat <<- HEREDOC - ******************************************************************************* - This system seems to be not Void Linux, while this script is dediated to the Void Linux. - Are you sure you want to run this script? [Y/N] - HEREDOC - read -r YESNO - if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then - cat <<- HEREDOC - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # if YES - - fi # Distribution check + # ******************************************************************************* # Confirmation before installation # ******************************************************************************* + # parameters for distribution check + export DISTRIBUTIONSIGNATURE="void" + export DISTRIBUTIONNAME="Void Linux" + + # Check whetehr given signature exist or not + if ! distribution_check ; then + return 1 # with error status + fi + # Common part of the parameter confirmation if ! confirmation ; then return 1 # with error status From de0e689e278ea1a45f94ce7c4dff2793fc091bf1 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 10:02:38 +0900 Subject: [PATCH 129/242] Refactored The para-install part is now local function --- script/ubuntu-kaiten-yaki.sh | 33 ++++++++++++++++++++++----------- script/void-kaiten-yaki.sh | 35 +++++++++++++++++++++++------------ 2 files changed, 45 insertions(+), 23 deletions(-) diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 27ef8a6..bd3c42e 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -45,6 +45,27 @@ function main() { # Para-install stage # ******************************************************************************* + # Start the GUI installer and modify the target /etc/default/grub in parallel + if ! para_install_local ; then + return 1 # with error status + fi + + # ******************************************************************************* + # Post-install stage + # ******************************************************************************* + + # Distribution dependent finalizing. Embedd encryption key into the ramfs image. + post_install_local + + # Normal end + return 0 + +} # End of main() + + +# ******************************************************************************* +# Ubuntu dependent para-installation process +function para_install_local() { # Show common message to let the operator focus on the critical part para_install_msg @@ -76,18 +97,8 @@ function main() { return 1 # with error status fi - # ******************************************************************************* - # Post-install stage - # ******************************************************************************* - - # Finalizing. Embedd encryption key into the ramfs image. - post_install_local - - # Normal end return 0 - -} # End of main() - +} # ******************************************************************************* # Ubuntu dependent post-installation process diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 4af9fea..98ddc4e 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -11,7 +11,7 @@ function main() { # This is the mount point of the install target. export TARGETMOUNTPOINT="/mnt/target" - + # ******************************************************************************* # Confirmation before installation @@ -63,6 +63,27 @@ function main() { # Para-install stage # ******************************************************************************* + # Start the TUI installer and modify the target /etc/default/grub in background + if ! para_install_local ; then + return 1 # with error status + fi + + # ******************************************************************************* + # Post-install stage + # ******************************************************************************* + + # Distribution dependent finalizing. Embedd encryption key into the ramfs image. + post_install_local + + # Normal end + return 0 + +} # End of main() + + +# ******************************************************************************* +# Void Linux dependent post-installation process +function para_install_local() { # Show common message to let the operator focus on the critical part para_install_msg @@ -99,18 +120,8 @@ function main() { return 1 # with error status fi - # ******************************************************************************* - # Post-install stage - # ******************************************************************************* - - # Finalizing. Embedd encryption key into the ramfs image. - post_install_local - - # Normal end return 0 - -} # End of main() - +} # ******************************************************************************* # Void Linux dependent post-installation process From 7e68b3ea665310788ab8d73ca0ef56f4a434d4c2 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 10:04:17 +0900 Subject: [PATCH 130/242] fixed problem of echo --- script/void-kaiten-yaki.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 98ddc4e..06a2c8f 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -45,8 +45,8 @@ function main() { # This modification is guaratnteed once only. To allow re-trying the installation after unexpected GUI/TUI installer quit. grub_additional_parameters="rd.auto=1 cryptdevice=${DEV}${CRYPTPARTITION}:${CRYPTPARTNAME} root=/dev/mapper/${VGNAME}-${LVROOTNAME}" if grep "$grub_additional_parameters" /etc/default/grub ; then # Is additonal parameter already added? - # Yes ".../etc/default/grub already modified. OK, skipping to modiy." - echo + # Yes + echo ".../etc/default/grub already modified. OK, skipping to modiy." else # Not yet. Let's add. echo "...Modify /etc/default/grub." From 7da5ec364770f97c661f5c614dffcb3ba824bd4d Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 10:07:20 +0900 Subject: [PATCH 131/242] Correct comment anf line --- script/ubuntu-kaiten-yaki.sh | 2 +- script/void-kaiten-yaki.sh | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index bd3c42e..31edb18 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -81,7 +81,7 @@ function para_install_local() { Type return key to start Ubiquity. HEREDOC - # waitfor a console input + # waiting for a console input read -r # Start Ubiquity installer diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 06a2c8f..af6fd85 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -59,6 +59,7 @@ function main() { return 1 # with error status fi + # ******************************************************************************* # Para-install stage # ******************************************************************************* @@ -99,7 +100,7 @@ function para_install_local() { Type return key to start void-installer. HEREDOC - # waitfor a console input + # waiting for a console input read -r # Start the background target/etc/default/grub cheker. From fd199999ace45e9968d6754efa42d8e369a597c2 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 12:04:14 +0900 Subject: [PATCH 132/242] Correct missspelled command retrun -> return --- script/ubuntu-kaiten-yaki.sh | 2 +- script/void-kaiten-yaki.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 31edb18..34b4b8f 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -161,7 +161,7 @@ function post_install_local() { ...Ready to reboot. HEREDOC - retrun 0 + return 0 } # End of post_install_local() diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index af6fd85..423ffc4 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -188,7 +188,7 @@ function post_install_local() { ...Ready to reboot. HEREDOC - retrun 0 + return 0 } # End of post_install_local() From 73f346f2751710173172b6ea9ec7f1e74aaec82b Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 12:14:33 +0900 Subject: [PATCH 133/242] changed example sudo to smarter format --- INSTALL.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index d6ac499..1aeb00f 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -23,12 +23,11 @@ First of all, promote the shell to root. Almost of the procedure requires root p In case of Ubuntu : ```bash # Promote to the root user -sudo -i +sudo -i /bin/bash ``` In case of Void-Linux : ```bash -sudo -i -bash +sudo -i /bin/bash xbps-install -Su xbps nano ``` The nano is editor package to configure the config.txt. The editor choice is up to you. Kaiten-yaki script doesn't have dependency to nano editor. From 1c707ff903c2e6ce8f849526432fa1434b1a5100 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 12:16:02 +0900 Subject: [PATCH 134/242] Add appropriate indent to the heredocument of chroot --- script/ubuntu-kaiten-yaki.sh | 50 ++++++++++++++++---------------- script/void-kaiten-yaki.sh | 56 ++++++++++++++++++------------------ 2 files changed, 53 insertions(+), 53 deletions(-) diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 34b4b8f..a18aa8f 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -116,38 +116,38 @@ function post_install_local() { echo "...Chroot to ${TARGETMOUNTPOINT}." # shellcheck disable=SC2086 cat <<- HEREDOC | chroot ${TARGETMOUNTPOINT} /bin/bash - # Mount the rest of partitions by target /etc/fstab - mount -a + # Mount the rest of partitions by target /etc/fstab + mount -a - # Set up the kernel hook of encryption - echo "...Installing cryptsetup-initramfs package." - apt -qq install -y cryptsetup-initramfs + # Set up the kernel hook of encryption + echo "...Installing cryptsetup-initramfs package." + apt -qq install -y cryptsetup-initramfs - # Prepare a key file to embed in to the ramfs. - echo "...Prepairing key file." - mkdir /etc/luks - dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 status=none - chmod u=rx,go-rwx /etc/luks - chmod u=r,go-rwx /etc/luks/boot_os.keyfile + # Prepare a key file to embed in to the ramfs. + echo "...Prepairing key file." + mkdir /etc/luks + dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 status=none + chmod u=rx,go-rwx /etc/luks + chmod u=r,go-rwx /etc/luks/boot_os.keyfile - # Add a key to the key file. Use the passphrase in the environment variable. - echo "...Adding a key to the key file." - printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile + # Add a key to the key file. Use the passphrase in the environment variable. + echo "...Adding a key to the key file." + printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile - # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. - echo "...Adding LUKS volume info to /etc/crypttab." - echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab + # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. + echo "...Adding LUKS volume info to /etc/crypttab." + echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab - # Putting key file into the ramfs initial image - echo "...Registering key file to the ramfs" - echo "KEYFILE_PATTERN=/etc/luks/*.keyfile" >> /etc/cryptsetup-initramfs/conf-hook - echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf + # Putting key file into the ramfs initial image + echo "...Registering key file to the ramfs" + echo "KEYFILE_PATTERN=/etc/luks/*.keyfile" >> /etc/cryptsetup-initramfs/conf-hook + echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf - # Finally, update the ramfs initial image with the key file. - echo "...Upadting initramfs." - update-initramfs -uk all + # Finally, update the ramfs initial image with the key file. + echo "...Upadting initramfs." + update-initramfs -uk all - # Leave chroot + # Leave chroot HEREDOC # Unmount all diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 423ffc4..e076fd7 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -140,41 +140,41 @@ function post_install_local() { echo "...Chroot to ${TARGETMOUNTPOINT}." # shellcheck disable=SC2086 cat <<- HEREDOC | chroot ${TARGETMOUNTPOINT} /bin/bash - # Mount the rest of partitions by target /etc/fstab - mount -a + # Mount the rest of partitions by target /etc/fstab + mount -a - # Set up the kernel hook of encryption - echo "...Installing cryptsetup-initramfs package." - xbps-install -y lvm2 cryptsetup + # Set up the kernel hook of encryption + echo "...Installing cryptsetup-initramfs package." + xbps-install -y lvm2 cryptsetup - # Prepare a key file to embed in to the ramfs. - echo "...Prepairing key file." - mkdir /etc/luks - dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 status=none - chmod u=rx,go-rwx /etc/luks - chmod u=r,go-rwx /etc/luks/boot_os.keyfile + # Prepare a key file to embed in to the ramfs. + echo "...Prepairing key file." + mkdir /etc/luks + dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 status=none + chmod u=rx,go-rwx /etc/luks + chmod u=r,go-rwx /etc/luks/boot_os.keyfile - # Add a key to the key file. Use the passphrase in the environment variable. - echo "...Adding a key to the key file." - printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile + # Add a key to the key file. Use the passphrase in the environment variable. + echo "...Adding a key to the key file." + printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile - # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. - echo "...Adding LUKS volume info to /etc/crypttab." - echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab + # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. + echo "...Adding LUKS volume info to /etc/crypttab." + echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab - # Putting key file into the ramfs initial image - echo "...Registering key file to the ramfs" - echo 'install_items+=" /etc/luks/boot_os.keyfile /etc/crypttab " ' > /etc/dracut.conf.d/10-crypt.conf + # Putting key file into the ramfs initial image + echo "...Registering key file to the ramfs" + echo 'install_items+=" /etc/luks/boot_os.keyfile /etc/crypttab " ' > /etc/dracut.conf.d/10-crypt.conf - # Finally, update the ramfs initial image with the key file. - echo "...Upadting initramfs." - xbps-reconfigure -fa - echo "...grub-mkconfig." - grub-mkconfig -o /boot/grub/grub.cfg - echo "...update-grub." - update-grub + # Finally, update the ramfs initial image with the key file. + echo "...Upadting initramfs." + xbps-reconfigure -fa + echo "...grub-mkconfig." + grub-mkconfig -o /boot/grub/grub.cfg + echo "...update-grub." + update-grub - # Leave chroot + # Leave chroot HEREDOC # Unmount all From 062253981d122c7a35fe6a0f902dc834570c86f0 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 12:35:56 +0900 Subject: [PATCH 135/242] Add vgscan after opening existing LUKS vokume For the confirmation for the operator. --- script/lib.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/script/lib.sh b/script/lib.sh index 5149dea..9aff42b 100644 --- a/script/lib.sh +++ b/script/lib.sh @@ -175,6 +175,8 @@ function pre_install() { echo "...Volume group \"${VGNAME}\" already exist. Skipped to create. No problem." echo "...Activating all logical volumes in volume group \"${VGNAME}\"." vgchange -ay + echo "...Scanning all logical volumes." + vgcscan else echo "...Initializing a physical volume on \"${CRYPTPARTNAME}\"" pvcreate /dev/mapper/"${CRYPTPARTNAME}" @@ -262,7 +264,7 @@ function para_install_msg() { # ******************************************************************************* function deactivate_and_close(){ - echo "...Deactivate all logical volumes in volume group \"${VGNAME}\"." + echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." vgchange -a n "${VGNAME}" echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." cryptsetup close "${CRYPTPARTNAME}" From 9d3e1d137cf72d9277f181e48144deacd3114071 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 12:46:42 +0900 Subject: [PATCH 136/242] Add restroration of /etac/default/tab --- script/void-kaiten-yaki.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index e076fd7..c5a4cdc 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -43,19 +43,21 @@ function main() { # Anyway, without this modification, Void Linux doesn't boot. # Refer https://wiki.voidlinux.org/Install_LVM_LUKS#Installation_using_void-installer # This modification is guaratnteed once only. To allow re-trying the installation after unexpected GUI/TUI installer quit. - grub_additional_parameters="rd.auto=1 cryptdevice=${DEV}${CRYPTPARTITION}:${CRYPTPARTNAME} root=/dev/mapper/${VGNAME}-${LVROOTNAME}" - if grep "$grub_additional_parameters" /etc/default/grub ; then # Is additonal parameter already added? + export GRUB_ADDITIONAL_PARAMETERS="rd.auto=1 cryptdevice=${DEV}${CRYPTPARTITION}:${CRYPTPARTNAME} root=/dev/mapper/${VGNAME}-${LVROOTNAME}" + if grep "$GRUB_ADDITIONAL_PARAMETERS" /etc/default/grub ; then # Is additonal parameter already added? # Yes echo ".../etc/default/grub already modified. OK, skipping to modiy." else # Not yet. Let's add. echo "...Modify /etc/default/grub." - sed -i "s#loglevel=4#loglevel=4 ${grub_additional_parameters}#" /etc/default/grub + sed -i "s#loglevel=4#loglevel=4 ${GRUB_ADDITIONAL_PARAMETERS}#" /etc/default/grub fi # Common part of the pre-install stage if ! pre_install ; then + echo "...restoring modified /etc/default/grub." + sed -i "s#loglevel=4 ${GRUB_ADDITIONAL_PARAMETERS}#loglevel=4#" /etc/default/grub return 1 # with error status fi @@ -118,6 +120,8 @@ function para_install_local() { # If exist, the grub was not modifyed -> void-installer termianted unexpectedly # Delete the nwe volume if overwrite install, and close all on_unexpected_installer_quit + echo "...restoring modified /etc/default/grub." + sed -i "s#loglevel=4 ${GRUB_ADDITIONAL_PARAMETERS}#loglevel=4#" /etc/default/grub return 1 # with error status fi From 6feba5dafc3280baeea68d3e10ef05123a592bf2 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 13:03:44 +0900 Subject: [PATCH 137/242] Fix command name vgcscan->lvscan --- script/lib.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/lib.sh b/script/lib.sh index 9aff42b..7c874a6 100644 --- a/script/lib.sh +++ b/script/lib.sh @@ -176,7 +176,7 @@ function pre_install() { echo "...Activating all logical volumes in volume group \"${VGNAME}\"." vgchange -ay echo "...Scanning all logical volumes." - vgcscan + lvscan else echo "...Initializing a physical volume on \"${CRYPTPARTNAME}\"" pvcreate /dev/mapper/"${CRYPTPARTNAME}" From c291e77fd60c0f65d1f102aad937d8fe9c98a72e Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 13:15:08 +0900 Subject: [PATCH 138/242] Removed unneccesarry update-grub --- script/void-kaiten-yaki.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index c5a4cdc..d2c1332 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -175,8 +175,6 @@ function post_install_local() { xbps-reconfigure -fa echo "...grub-mkconfig." grub-mkconfig -o /boot/grub/grub.cfg - echo "...update-grub." - update-grub # Leave chroot HEREDOC From 3858839105a9df55defb7fd11abe060d7a405f0e Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 14:01:27 +0900 Subject: [PATCH 139/242] Brush up the README and INSTALL --- INSTALL.md | 76 +++++++++++++++++++++++++++--------------------------- README.md | 35 +++++++++++++------------ 2 files changed, 56 insertions(+), 55 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 1aeb00f..5954a89 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -5,43 +5,43 @@ Installation requires mainly 2 steps. - Configure the parameters in config.sh. - Run the kaiten-yaki script -You can execute the install script without command line parameter. For example : +You can execute the install script without the command line parameter. For example : ```shell source ubuntu-kaiten-yaki.sh ``` -The first stage of the script is preparation like : erasing disk, format partition, and encryption. This is most critical stage of the entire installation process. This part is controlled by the configuration parameter. Thus, you have to edit the config.txt carefully. +The first stage of the script is preparation like: erasing a disk, format partition, and encryption. This is the most critical stage of the entire installation process. This part is controlled by the configuration parameter. Thus, you have to edit the config.txt carefully. -In the second stage, the distribution dependent GUI/TUI installer is invoked from the running script. That is the Ubiquity/void-installer of Ubuntu/Void linux, respectively. +In the second stage, the distribution-dependent GUI/TUI installer is invoked from the running script. That is the Ubiquity/void-installer of Ubuntu/Void Linux, respectively. -The third stage is easy. There is nothing user can do. Everything is automatic. +The third stage is easy. There is nothing the user can do. Everything is automatic. # Installation Follow the steps below. ## Shell preparation -First of all, promote the shell to root. Almost of the procedure requires root privilege. Note that the scripts requires Bash. +First of all, promote the shell to root. Almost of the procedure requires root privilege. Note that the scripts require Bash. -In case of Ubuntu : +In the case of Ubuntu : ```bash # Promote to the root user sudo -i /bin/bash ``` -In case of Void-Linux : +In the case of Void-Linux : ```bash sudo -i /bin/bash xbps-install -Su xbps nano ``` -The nano is editor package to configure the config.txt. The editor choice is up to you. Kaiten-yaki script doesn't have dependency to nano editor. +The nano is an editor package to configure the config.txt. The choice of editor is up to you. Kaiten-yaki script doesn't have a dependency on nano editor. Then, edit the config.txt. ## Configuration parameters -This is very critical part of the installation. The configuration parameters are in the the config.sh. Edit these parameters before the installation. +This is a very critical part of the installation. The configuration parameters are in the config.sh. Edit these parameters before the installation. Followings are the set of the default settings of the parameters : - Install to **/dev/sda** (DEV). -- Erase entire disk (ERASEALL). +- Erase the entire disk (ERASEALL). - Overwrite install is disabled. -- In case of EFI firmware, 200MB is allocated to the EFI partition (EFISIZE). +- In the case of EFI firmware, 200MB is allocated to the EFI partition (EFISIZE). - Create a logical volume group named "vg1" in the encrypted volume (VGNAME) - Create a swap logical volume named "swap" in the "vg1". The size is 8GB (LVSWAPNAME,LVSWAPSIZE) - Create a logical volume named **"anko"** for / in the "vg1". The size of the **50%** of the entire free space (LVROOTNAME, LVROOTSIZE). @@ -53,30 +53,30 @@ Followings are the set of the default settings of the parameters : export DEV="/dev/sda" # Whether you want to erase all contents of the storage device or not. -# 1 : Yes, I want to erase all. -# 0 : No, I don't. I want to add to the existing LUKS volume. +# 1: Yes, I want to erase all. +# 0: No, I don't. I want to add to the existing LUKS volume. export ERASEALL=1 -# Logical Volume name for your Linux installation. Keep it unique from other distribution. +# Logical Volume name for your Linux installation. Keep it unique from other distributions. export LVROOTNAME="anko" # Logical volume size of the Linux installation. -# 30% mean, new logical volume will use 30% of the free space in the LVM volume group. -# For example, assume the free space is 100GB, and LVROOTSIZE is 30%FREE. Script will create 30GB logical volume. +# 30% means the new logical volume will use 30% of the free space in the LVM volume group. +# For example, assume the free space is 100GB, and LVROOTSIZE is 30%FREE. The script will create a 30GB logical volume. export LVROOTSIZE="50%FREE" -# Set the size of EFI partition and swap partition. The unit is Byte. you can use M,G... notation. +# Set the size of the EFI partition and swap partition. The unit is Byte. you can use M, G... notation. export EFISIZE="200M" export LVSWAPSIZE="8G" # Usually, these names can be left untouched. -# If you change, keep them consistent through all instllation in your system. +# If you change, keep them consistent through all installations in your system. export CRYPTPARTNAME="luks_volume" export VGNAME="vg1" export LVSWAPNAME="swap" -# Do not touch this parameter, unless you understand precisely what you are doing. -# 1 : Overwrite the existing logical volume as root vlume. 0 : Create new logical volume as root volume. +# Do not touch this parameter unless you understand precisely what you are doing. +# 1: Overwrite the existing logical volume as root volume. 0: Create new logical volume as root volume. export OVERWRITEINSTALL=0 # Void Linux only. Ignored in Ubuntu. @@ -85,53 +85,53 @@ export XTERMFONTSIZE=11 ``` There are several restrictions : -- For the first distribution installation, you must set ERASEALL to 1, to erase entire screen and create a LUKS partition. Kaiten-yaki script creates a maximum LUKS partition as possible. -- The LVROOMNAME must be unique among all installations in a computer. Otherwise, Kaiten-yaki terminate at a middle. -- The LVSWAPNAME must be unique among all installations in a computer. Otherwise, Kaiten-yaki creates an unnecessary logical volume. This is waste of storage resource. +- For the first distribution installation, you must set ERASEALL to 1, to erase the entire screen and create a LUKS partition. Kaiten-yaki script creates a maximum LUKS partition as possible. +- The LVROOMNAME must be unique among all installations in a computer. Otherwise, Kaiten-yaki terminates in a middle. +- The LVSWAPNAME must be unique among all installations in a computer. Otherwise, Kaiten-yaki creates an unnecessary logical volume. This is a waste of storage resources. - The EFISIZE and the LVSWAPSIZE are refereed during the first distribution installation only. - The LVROOTSIZE is the size of a logical volume to create. This is a relative value to the existing free space in the volume group. If you want to install 3 distributions in a computer, you may want to set 33%FREE, 50%FREE, and 100%FREE for the first, second, and third distribution installation, respectively. - The name with "-" is not allowed for the VGNAME, LVROOTNAME, and LVSWAPNAME. I saw some installer doesn't work if "-" in in the name. ## About the overwrite-install -The OVERWRITEINSTALL parameter allows you to use an existing logical volume as root volume of the new installation. -This is very danger because of the several aspect like destroying wrong volume and risk of security. But sometimes it is +The OVERWRITEINSTALL parameter allows you to use an existing logical volume as the root volume of the new installation. +This is very dangerous because of several aspects like destroying the wrong volume and the risk of security. But sometimes it is very useful. For example, assume you are installing a distribution by Kaiten-yaki. If you reboot the system at the end of GUI/TUI installer by mistake, your system will never boot again. In this case, the overwrite-install can recycle this "bad" logical volume and let your system boot again. -To use the overwrite-install, you have to set some parameters as following : +To use the overwrite-install, you have to set some parameters as follows: - ERASEALL : 0 - OVERWRITEINSTALL : 1 -And set following parameters as same as previous installation. +And set the following parameters as same as the previous installation. - LVROOTNAME - VGNAME - CRYPTPARTNAME So, Kaiten-yaki will leave the "bad" logical volume and allow you to overwrite it by GUI/TUI installer. -## First stage : Setting up the volumes -After you set the configuration parameters correctly, execute the following command from the shell. Again, you have to be promoted as root user, and you have to use Bash. +## First stage: Setting up the volumes +After you set the configuration parameters correctly, execute the following command from the shell. Again, you have to be promoted as the root user, and you have to use Bash. -In case of Ubuntu : +In the case of Ubuntu : ```bash source ubuntu-kaiten-yaki.sh ``` -In case of Void Linux +In the case of Void Linux ```bash source void-kaiten-yaki.sh ``` -After the several interactive confirmations, Kaiten-yaki will ask you to input a passphrase. This passphrase will be applied to the encryption of the LUKS volume. Make sure you use identical passphrase between all installation of the distributions in a computer. Otherwise, install process terminates with error. +After several interactive confirmations, Kaiten-yaki will ask you to input a passphrase. This passphrase will be applied to the encryption of the LUKS volume. Make sure you use identical passphrases between all installations of the distributions in a computer. Otherwise, the install process terminates with an error. ## Second stage : GUI/TUI installer -After the first script finishes, the GUI/TUI installer starts automatically. Configure it as usual and run it. Ensure you map the followings correctly. +After the first script finishes, the GUI/TUI installer starts automatically. Configure it as usual and run it. Ensure you map the following correctly. Target Directory | Host Volume | Comment -----------------|------------------------|--------------------------------------------------------------- /boot/efi | /dev/sda1 | BIOS system doesn't need this mapping / | /dev/mapper/vg1-ubuntu | Host volume name is up to your configuration parameter. swap | /dev/mapper/swap | Only the first distribution installation requires this mapping. -During the GUI/TUI installer copying files, Kaiten-yaki modifies the /etc/default/grub of target system. This is pretty dirty way. But if we don't modify this file, GUI/TUI installer fails at last. +During the GUI/TUI installer copying files, Kaiten-yaki modifies the /etc/default/grub of the target system. This is the pretty dirty way. But if we don't modify this file, GUI/TUI installer fails at last. ![Ubuntu Partitioning](image/ubuntu_partitioning.png) ![Void Partitioning](image/void_partitioning.png) @@ -142,10 +142,10 @@ At the end of the GUI/TUI installing, do not reboot the system. Click "Continue" ![Ubuntu done](image/ubuntu_done.png) ![Void done](image/void_done.png) -## Third stage : Finalizing -After GUI/TUI installer quit without rebooting, final part of the install process automatically starts. +## Third stage: Finalizing +After GUI/TUI installer quits without rebooting, the final part of the install process automatically starts. -In this section, Kaiten-yaki put the encryption key of the LUKS volume in to the ramfs initial stage to allow the Linux kernel decrypt the LUKS partition which contains root logical volume. So, system will ask you passphrase only once when GRUB start. +In this section, Kaiten-yaki put the encryption key of the LUKS volume into the ramfs initial stage to allow the Linux kernel to decrypt the LUKS partition which contains root logical volume. So, the system will ask you passphrase only once when GRUB starts. -You can reboot the system, if you see the "Ready to reboot" message on the console. +You can reboot the system if you see the "Ready to reboot" message on the console. diff --git a/README.md b/README.md index be9669c..19c8d20 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,20 @@ -# Kaiten-yaki : Yet another full disk encryption for GRUB/Linux -Kaiten-yaki is a script set to help you to make a full disk encryption install to your desktop system. +# Kaiten-yaki: Full disk encryption install script for Linux +Kaiten-yaki is a script set helping to install Linux as full disk encryption to your desktop system. With these scripts, you can install Ubuntu/Void Linux to an encrypted partition easily. -Followings are the list of functionality. -- Support Ubuntu and Void Linux. +The followings are the list of functionalities: +- Ubuntu and Void Linux. - Install from LiveCD/USB. -- Invoke GUI/TUI installer at the middle of script execution, for the ease of installation. +- Invoke GUI/TUI installer automatically at the middle of script execution, for the ease of installation. - Automatic detection of BIOS/EFI firmware and create MBR/GPT, respectively. -- Support to install multiple distributions in a LUKS partition. -- The "/boot" is located in the same logical volume with the "/". -- The swap logical volume is located inside encrypted volume. +- Create an EFI partition, if needed. +- Support multiple boot in a LUKS partition. +- The "/boot" is located in the same logical volume as the "/". +- The swap logical volume is located inside the encrypted volume. - You need to type a passphrase only once in the boot sequence. -With the configuration parameters, you can customize each installation. For example, you can configure the system to have 2, 3 or 4,... distributions in a HDD/SSD, as you want. +With the configuration parameters, you can customize each installation. For example, you can configure the system to have 2, 3, or 4,... distributions in an HDD/SSD, as you want. -Following is the HDD/SSD partitioning plan of these scripts ( In case of BIOS, the disk has MBR and doesn't have EFI partition, while it is depicted here). +Following is the HDD/SSD partitioning plan of these scripts ( In the case of BIOS, the disk has MBR and doesn't have an EFI partition, while it is depicted here). ![Partition Diagram](image/partition_diagram_0.png) @@ -22,7 +23,7 @@ The logical volume size of each Linux distribution (LVROOTSIZE) can be customize As depicted above, the LVM volume group has only one physical volume. # Tested environment -These scripts are tested with following environment. +These scripts are tested with the following environment. - VMWare Workstation 15.5.7 ( EFI/BIOS ) - Ubuntu 20.04.2 amd64 desktop - Ubuntu Mate 20.04.2 amd64 desktop @@ -31,20 +32,20 @@ These scripts are tested with following environment. - void-live-x86_64-20210218.iso # Installation -Start the PC with the LiveCD/LiveUSB of the distribution to install. Download this repository from github, and expand it. +Start the PC with the LiveCD/LiveUSB of the distribution to install. Download this repository from GitHub, and expand it. -Then, go to script directory and follow the procedure in the [INSTALL.md](INSTALL.md) +Then, go to the script directory and follow the procedure in the [INSTALL.md](INSTALL.md) # Known issues -If you install two or more Void Linux in to the EFI system, only the last one can boot without trouble. This is not the problem of Kaiten-yaki. +If you install two or more Void Linux into the EFI system, only the last one can boot without trouble. This is not the problem of Kaiten-yaki. # Variants considerations -Ubuntu has several variants ( flavors ). While I have tested only MATE flavor, other flavor may work correctly as far as it uses Ubiquity installer. +Ubuntu has several variants ( flavors ). While I have tested only MATE flavor, other flavors may work correctly as far as it uses Ubiquity installer. # Acknowledgments -These scripts are based on the script shared on the [myn's diary](https://myn.hatenablog.jp/entry/install-ubuntu-focal-with-lvm-on-luks). That page contains rich information, hint and techniques around the encrypted volume and Ubiquity installer. +These scripts are based on the script shared on [myn's diary](https://myn.hatenablog.jp/entry/install-ubuntu-focal-with-lvm-on-luks). That page contains rich information, hint, and techniques around the encrypted volume and Ubiquity installer. -Also, following documents were very important to study how Void Linux installation works. +Also, the following documents were very important to study how Void Linux installation works. - [Full Disk Encryption](https://docs.voidlinux.org/installation/guides/fde.html) in the Void Handbook. - [Install LVM LUKS](https://wiki.voidlinux.org/Install_LVM_LUKS) (deprecated) # Kaiten-yaki From 10033ca66b81eae0b4c8194aa8b7253a256380b3 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 14:43:30 +0900 Subject: [PATCH 140/242] Simplify the overview. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 19c8d20..c6c0c05 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Kaiten-yaki: Full disk encryption install script for Linux -Kaiten-yaki is a script set helping to install Linux as full disk encryption to your desktop system. With these scripts, you can install Ubuntu/Void Linux to an encrypted partition easily. +Kaiten-yaki is a script set to install to your desktop system. With these scripts, you can install Ubuntu/Void Linux to an encrypted partition easily. The followings are the list of functionalities: - Ubuntu and Void Linux. From b0a2eef99ed1931bf665c353368776de15da2e6c Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 15:01:00 +0900 Subject: [PATCH 141/242] Added change log. --- CHANGELOG.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..7bf44ca --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,17 @@ +# Change log +Record of the modification in project development. + +## [Unreleased] - yyyy-mm-dd + +### Added +- [Issue 1 : Support non-GUI install for Void Linux.](https://github.com/suikan4github/kaiten-yaki/issues/1) + +### Changed +### Deprecated +### Removed +### Fixed +### Security +### Known Issue + + +[Unreleased]: https://github.com/suikan4github/kaiten-yaki/compare/v0.0.0...develop From 659c752d59f732b7835218897d519a2c7c7f44b8 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 21:23:58 +0900 Subject: [PATCH 142/242] Add Thinkpad as test environment --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c6c0c05..3f68709 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ As depicted above, the LVM volume group has only one physical volume. # Tested environment These scripts are tested with the following environment. - VMWare Workstation 15.5.7 ( EFI/BIOS ) +- ThinkPad X200 (BIOS) - Ubuntu 20.04.2 amd64 desktop - Ubuntu Mate 20.04.2 amd64 desktop - void-live-x86_64-20210218-mate.iso From bec49ee8627350d6f6390bc7ee481291b4468804 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 21:26:01 +0900 Subject: [PATCH 143/242] Change the notation a bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3f68709..b94af7c 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ If you install two or more Void Linux into the EFI system, only the last one can Ubuntu has several variants ( flavors ). While I have tested only MATE flavor, other flavors may work correctly as far as it uses Ubiquity installer. # Acknowledgments -These scripts are based on the script shared on [myn's diary](https://myn.hatenablog.jp/entry/install-ubuntu-focal-with-lvm-on-luks). That page contains rich information, hint, and techniques around the encrypted volume and Ubiquity installer. +These scripts are based on the script by [myn's diary](https://myn.hatenablog.jp/entry/install-ubuntu-focal-with-lvm-on-luks). That page contains rich information, hint, and techniques around the encrypted volume and Ubiquity installer. Also, the following documents were very important to study how Void Linux installation works. - [Full Disk Encryption](https://docs.voidlinux.org/installation/guides/fde.html) in the Void Handbook. From d4cca471fb9f0d1c34cb5d4bb23e5b4151be159f Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 21:33:44 +0900 Subject: [PATCH 144/242] Update changelog --- CHANGELOG.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7bf44ca..2c80ecd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,16 @@ Record of the modification in project development. ## [Unreleased] - yyyy-mm-dd +### Added +### Changed +### Deprecated +### Removed +### Fixed +### Security +### Known Issue + +## [1.0.0] - 2021-07-03 + ### Added - [Issue 1 : Support non-GUI install for Void Linux.](https://github.com/suikan4github/kaiten-yaki/issues/1) @@ -14,4 +24,5 @@ Record of the modification in project development. ### Known Issue -[Unreleased]: https://github.com/suikan4github/kaiten-yaki/compare/v0.0.0...develop +[Unreleased]: https://github.com/suikan4github/kaiten-yaki/compare/v1.0.0...develop +[1.0.0]: https://github.com/suikan4github/kaiten-yaki/compare/v0.0.0...v1.0.0 From 7e9de89657f05f7f686cb27faaa70cba80e3caa7 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 21:41:00 +0900 Subject: [PATCH 145/242] Fix the mistake of machine name --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b94af7c..02f196d 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ As depicted above, the LVM volume group has only one physical volume. # Tested environment These scripts are tested with the following environment. - VMWare Workstation 15.5.7 ( EFI/BIOS ) -- ThinkPad X200 (BIOS) +- ThinkPad X220 (BIOS) - Ubuntu 20.04.2 amd64 desktop - Ubuntu Mate 20.04.2 amd64 desktop - void-live-x86_64-20210218-mate.iso From 1ca9e3465fad33971a1896e5610248a42862133d Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 4 Jul 2021 15:08:59 +0900 Subject: [PATCH 146/242] Overwrite install is implemented Issue #5 OVERWRITEINSTALL confirmation is missing --- script/lib.sh | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/script/lib.sh b/script/lib.sh index 7c874a6..18a412a 100644 --- a/script/lib.sh +++ b/script/lib.sh @@ -70,7 +70,7 @@ function confirmation(){ return 1 # with error status fi # if YES - # For sure ask to be sure to erase. + # For sure ask to erase. if [ "${ERASEALL}" -ne 0 ] ; then echo "Are you sure you want to erase entire ${DEV}? [Y/N]" read -r YESNO @@ -78,6 +78,19 @@ function confirmation(){ cat <<-HEREDOC ...Check your config.sh. The variable ERASEALL is ${ERASEALL}. + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # if YES + + # For sure ask to overwrite. + if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then + echo "Are you sure you want to overwrite ${LVROOTNAME} in ${VGNAME}? [Y/N]" + read -r YESNO + if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then + cat <<-HEREDOC + ...Check your config.sh. The variable OVERWRITEINSTALL is ${OVERWRITEINSTALL}. + ...Installation process terminated.. HEREDOC return 1 # with error status From c504de3d9b68efe663a746debee08bb00044275e Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 4 Jul 2021 15:15:06 +0900 Subject: [PATCH 147/242] Fix unbalance if - fi --- script/lib.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/script/lib.sh b/script/lib.sh index 18a412a..06ca086 100644 --- a/script/lib.sh +++ b/script/lib.sh @@ -82,6 +82,7 @@ function confirmation(){ HEREDOC return 1 # with error status fi # if YES + fi # if erase all # For sure ask to overwrite. if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then @@ -95,7 +96,7 @@ function confirmation(){ HEREDOC return 1 # with error status fi # if YES - fi # if erase all + fi # if overwrite # ----- Set Passphrase ----- # Input passphrase From 91db393dd2bd0d75e7038ad2700b67e6cb54a8d5 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 4 Jul 2021 15:18:14 +0900 Subject: [PATCH 148/242] Add double quote for ease-of-read --- script/lib.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/script/lib.sh b/script/lib.sh index 06ca086..d68bf77 100644 --- a/script/lib.sh +++ b/script/lib.sh @@ -72,7 +72,7 @@ function confirmation(){ # For sure ask to erase. if [ "${ERASEALL}" -ne 0 ] ; then - echo "Are you sure you want to erase entire ${DEV}? [Y/N]" + echo "Are you sure you want to erase entire \"${DEV}\"? [Y/N]" read -r YESNO if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then cat <<-HEREDOC @@ -86,7 +86,7 @@ function confirmation(){ # For sure ask to overwrite. if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then - echo "Are you sure you want to overwrite ${LVROOTNAME} in ${VGNAME}? [Y/N]" + echo "Are you sure you want to overwrite \"${LVROOTNAME}\" in \"${VGNAME}\"? [Y/N]" read -r YESNO if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then cat <<-HEREDOC From 70ae04d1e143e9f58159992cb22f51ad5b8480da Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 4 Jul 2021 15:33:36 +0900 Subject: [PATCH 149/242] Update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c80ecd..1eb39aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ Record of the modification in project development. ### Added ### Changed +- [Issue 5 : OVERWRITEINSTALL confirmation is missing](https://github.com/suikan4github/kaiten-yaki/issues/5) + ### Deprecated ### Removed ### Fixed From 717fe7687a107579ab0b35999acb8c0dbd523974 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 4 Jul 2021 15:50:36 +0900 Subject: [PATCH 150/242] Removed sed dependency Issue #6 Remove loglevel dependency from the void-kaiten-yaki.sh --- script/void-kaiten-yaki.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index d2c1332..6dd8da4 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -50,14 +50,14 @@ function main() { else # Not yet. Let's add. echo "...Modify /etc/default/grub." - sed -i "s#loglevel=4#loglevel=4 ${GRUB_ADDITIONAL_PARAMETERS}#" /etc/default/grub - + sed -i -e "/GRUB_CMDLINE_LINUX_DEFAULT/{s#\"# ${GRUB_ADDITIONAL_PARAMETERS}\"#2}" /etc/default/grub fi # Common part of the pre-install stage if ! pre_install ; then + # If error, restore the modification. echo "...restoring modified /etc/default/grub." - sed -i "s#loglevel=4 ${GRUB_ADDITIONAL_PARAMETERS}#loglevel=4#" /etc/default/grub + sed -i -e "s#loglevel=4 ${GRUB_ADDITIONAL_PARAMETERS}#loglevel=4#" /etc/default/grub return 1 # with error status fi From 2554ed823a42d532e6be8bbc24dc963d74e2e8ab Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 4 Jul 2021 16:19:47 +0900 Subject: [PATCH 151/242] Update changelog. --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1eb39aa..b654921 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,11 +6,12 @@ Record of the modification in project development. ### Added ### Changed - [Issue 5 : OVERWRITEINSTALL confirmation is missing](https://github.com/suikan4github/kaiten-yaki/issues/5) +- [Issue 6 : Remove loglevel dependency from the void-kaiten-yaki.sh ](https://github.com/suikan4github/kaiten-yaki/6) ### Deprecated ### Removed ### Fixed -### Security + ### Known Issue ## [1.0.0] - 2021-07-03 From fb47c71a02cc48f507e2055789d390d604889e21 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 4 Jul 2021 16:28:19 +0900 Subject: [PATCH 152/242] Cancelation message corrected. Wrong message after cancallation Issue : #8 --- script/lib.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/script/lib.sh b/script/lib.sh index d68bf77..0d03ad7 100644 --- a/script/lib.sh +++ b/script/lib.sh @@ -294,13 +294,15 @@ function deactivate_and_close(){ # ******************************************************************************* function on_unexpected_installer_quit(){ echo "***** ERROR : The GUI/TUI installer terminated unexpectedly. *****" - if [ "${OVERWRITEINSTALL}" -eq 0 ] ; then # If not over install, volume is new. So delete it + if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then # If overwrite install, keep the volume + echo "...Keep logical volume \"${VGNAME}-${LVROOTNAME}\" untouched." + else # if not overwrite istall, delete the new volume echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" fi # Deactivate all lg and close the LUKS volume deactivate_and_close - echo "...The new logical volume has been deleted. You can retry Kaiten-yaki again." + echo "...You can retry Kaiten-yaki again." } From 989ca530ceaefa75f391e626038d173b9d249f8d Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 4 Jul 2021 16:35:05 +0900 Subject: [PATCH 153/242] Changelog updated --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b654921..557e539 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ Record of the modification in project development. ### Deprecated ### Removed ### Fixed +- [Issue 8 : Wrong message after cancellation ](https://github.com/suikan4github/kaiten-yaki/8) ### Known Issue From 6810e4414a1e0ba1804e7e41e6eed720af10843d Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 4 Jul 2021 21:41:49 +0900 Subject: [PATCH 154/242] Added error handling Add the return status validation Issue #7 --- script/lib.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/script/lib.sh b/script/lib.sh index 0d03ad7..895f331 100644 --- a/script/lib.sh +++ b/script/lib.sh @@ -138,16 +138,20 @@ function pre_install() { # Zap existing partition table and create new GPT echo "...Initializing \"${DEV}\" with GPT." sgdisk --zap-all "${DEV}" + if is_error ; then return 1 ; fi; # If error, terminate # Create EFI partition and format it echo "...Creating an EFI partition on \"${DEV}\"." # shellcheck disable=SC2140 sgdisk --new="${EFIPARTITION}":0:+"${EFISIZE}" --change-name="${EFIPARTITION}":"EFI System" --typecode="${EFIPARTITION}":ef00 "${DEV}" + if is_error ; then return 1 ; fi; # If error, terminate echo "...Formatting the EFI parttion." mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" + if is_error ; then return 1 ; fi; # If error, terminate # Create Linux partition echo "...Creating a Linux partition on ${DEV}." # shellcheck disable=SC2140 sgdisk --new="${CRYPTPARTITION}":0:0 --change-name="${CRYPTPARTITION}":"Linux LUKS" --typecode="${CRYPTPARTITION}":8309 "${DEV}" + if is_error ; then return 1 ; fi; # If error, terminate # Then print them sgdisk --print "${DEV}" else # BIOS @@ -159,6 +163,7 @@ function pre_install() { sfdisk "${DEV}" <<- HEREDOC 2M,,L HEREDOC + if is_error ; then return 1 ; fi; # If error, terminate fi # if EFI firmware # Encrypt the partition to install Linux @@ -194,8 +199,10 @@ function pre_install() { else echo "...Initializing a physical volume on \"${CRYPTPARTNAME}\"" pvcreate /dev/mapper/"${CRYPTPARTNAME}" + if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; echo "...And then creating Volume group \"${VGNAME}\"." vgcreate "${VGNAME}" /dev/mapper/"${CRYPTPARTNAME}" + if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; fi # if /dev/volume-groupt exist # Create a SWAP Logical Volume on VG, if it doesn't exist @@ -204,6 +211,7 @@ function pre_install() { else echo "...Creating logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." lvcreate -L "${LVSWAPSIZE}" -n "${LVSWAPNAME}" "${VGNAME}" + if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; fi # if /dev/mapper/swap volume already exit. # Create a ROOT Logical Volume on VG. @@ -331,4 +339,21 @@ function distribution_check(){ # no error return 0 +} + + +# ******************************************************************************* +# Error report and return revsers status. +# ******************************************************************************* +function is_error() { + if [ $? -eq 0 ] ; then # Is previous job OK? + return 1 # If OK, return error ( because it was not error ) + else + cat <<- HEREDOC + **** ERROR ! **** + + Installation process terminated. + HEREDOC + return 0 # If error, return OK ( because it was error ) + fi; } \ No newline at end of file From 95d8c6f62cfc1281194364647975af2f068ba15f Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 4 Jul 2021 21:54:29 +0900 Subject: [PATCH 155/242] Add and adjust erro rhanding. Add error handling afer dd. Error message of pre-install is now conditional. --- script/lib.sh | 1 + script/void-kaiten-yaki.sh | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/script/lib.sh b/script/lib.sh index 895f331..c9c207e 100644 --- a/script/lib.sh +++ b/script/lib.sh @@ -158,6 +158,7 @@ function pre_install() { # Zap existing partition table echo "...Erasing partition table of \"${DEV}\"." dd if=/dev/zero of="${DEV}" bs=512 count=1 + if is_error ; then return 1 ; fi; # If error, terminate # Create MBR and allocate max storage for Linux partition echo "...Creating a Linux partition on ${DEV} with MBR." sfdisk "${DEV}" <<- HEREDOC diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 6dd8da4..87cfcd4 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -56,8 +56,8 @@ function main() { # Common part of the pre-install stage if ! pre_install ; then # If error, restore the modification. - echo "...restoring modified /etc/default/grub." - sed -i -e "s#loglevel=4 ${GRUB_ADDITIONAL_PARAMETERS}#loglevel=4#" /etc/default/grub + echo "...restoring /etc/default/grub, if needed" + sed -i -e "s#${GRUB_ADDITIONAL_PARAMETERS}##" /etc/default/grub return 1 # with error status fi From e3e35995611120680650e998c8bba16e88ba77d3 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 4 Jul 2021 22:00:55 +0900 Subject: [PATCH 156/242] Add error handling on lvcreate root --- script/lib.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/script/lib.sh b/script/lib.sh index c9c207e..82b0ffc 100644 --- a/script/lib.sh +++ b/script/lib.sh @@ -240,6 +240,7 @@ function pre_install() { else # not exist and not overwrite install echo "...Creating logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." lvcreate -l "${LVROOTSIZE}" -n "${LVROOTNAME}" "${VGNAME}" + if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; fi fi From 98ad669b1338ea6c827489c2f7e39f9577270604 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 4 Jul 2021 22:09:22 +0900 Subject: [PATCH 157/242] Update changelog Add the return status validation Issue #7 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 557e539..ec8b588 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ Record of the modification in project development. ### Changed - [Issue 5 : OVERWRITEINSTALL confirmation is missing](https://github.com/suikan4github/kaiten-yaki/issues/5) - [Issue 6 : Remove loglevel dependency from the void-kaiten-yaki.sh ](https://github.com/suikan4github/kaiten-yaki/6) +- [Issue 7 : Add the return status validation ](https://github.com/suikan4github/kaiten-yaki/7) ### Deprecated ### Removed From 3ce805c5cabfba3f09780d4f74ad721b41ba7cad Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 6 Jul 2021 07:41:34 +0900 Subject: [PATCH 158/242] Make chroot'ed job independent script file Issue #11 --- script/lib/common.sh | 408 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 408 insertions(+) create mode 100644 script/lib/common.sh diff --git a/script/lib/common.sh b/script/lib/common.sh new file mode 100644 index 0000000..cff0f92 --- /dev/null +++ b/script/lib/common.sh @@ -0,0 +1,408 @@ +#!/bin/bash -u +# ******************************************************************************* +# Confirmation and Passphrase setting +# ******************************************************************************* + +function confirmation(){ + + # Consistency check for the OVERWRITEINSTALL and ERASEALL + if [ "${ERASEALL}" -ne 0 ] && [ "${OVERWRITEINSTALL}" -ne 0 ] ; then + cat <<- HEREDOC + ***** ERROR : Confliction between ERASEALL and OVERWRITEINSTALL ***** + ...ERASEALL = ${ERASEALL} + ...OVERWRITEINSTALL = ${OVERWRITEINSTALL} + ...Check configuration in your config.sh + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi + + # Sanity check for volume group name + if echo "${VGNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. + cat <<- HEREDOC + ***** ERROR : VGNAME is "${VGNAME}" ***** + ..."-" is not allowed in the volume name. + ...Check configuration in your config.sh + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # "-" is found in the volume group name. + + # Sanity check for root volume name + if echo "${LVROOTNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume name. + cat <<- HEREDOC + ***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** + ..."-" is not allowed in the volume name. + ...Check configuration in your config.sh + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # "-" is found in the volume name. + + # Sanity check for swap volume name + if echo "${LVSWAPNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume name. + cat <<- HEREDOC + ***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** + ..."-" is not allowed in the volume name. + ...Check configuration in your config.sh + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # "-" is found in the volume name. + + # For surre ask the your config.sh is edited + cat <<- HEREDOC + + The destination logical volume label is "${LVROOTNAME}" + "${LVROOTNAME}" uses ${LVROOTSIZE} of the LVM volume group. + Are you sure to install? [Y/N] + HEREDOC + read -r YESNO + if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then + cat <<- HEREDOC + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # if YES + + # For sure ask to erase. + if [ "${ERASEALL}" -ne 0 ] ; then + echo "Are you sure you want to erase entire \"${DEV}\"? [Y/N]" + read -r YESNO + if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then + cat <<-HEREDOC + ...Check your config.sh. The variable ERASEALL is ${ERASEALL}. + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # if YES + fi # if erase all + + # For sure ask to overwrite. + if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then + echo "Are you sure you want to overwrite \"${LVROOTNAME}\" in \"${VGNAME}\"? [Y/N]" + read -r YESNO + if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then + cat <<-HEREDOC + ...Check your config.sh. The variable OVERWRITEINSTALL is ${OVERWRITEINSTALL}. + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # if YES + fi # if overwrite + + # ----- Set Passphrase ----- + # Input passphrase + echo "" + echo "Type passphrase for the disk encryption." + read -sr PASSPHRASE + export PASSPHRASE + + echo "Type passphrase again, to confirm." + read -sr PASSPHRASE_C + + # Validate whether both are indentical or not + if [ "${PASSPHRASE}" != "${PASSPHRASE_C}" ] ; then + cat <<-HEREDOC + ***** ERROR : Passphrase doesn't match ***** + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # passphrase validation + + # succesfull return + return 0 +} + + +# ******************************************************************************* +# Common Pre-install stage +# ******************************************************************************* + +function pre_install() { + + + # ----- Erase entire disk, create partitions, format them and encrypt the LUKS partition ----- + if [ "${ERASEALL}" -ne 0 ] ; then + + # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. + if [ "${ISEFI}" -ne 0 ] ; then # EFI + # Zap existing partition table and create new GPT + echo "...Initializing \"${DEV}\" with GPT." + sgdisk --zap-all "${DEV}" + if is_error ; then return 1 ; fi; # If error, terminate + # Create EFI partition and format it + echo "...Creating an EFI partition on \"${DEV}\"." + # shellcheck disable=SC2140 + sgdisk --new="${EFIPARTITION}":0:+"${EFISIZE}" --change-name="${EFIPARTITION}":"EFI System" --typecode="${EFIPARTITION}":ef00 "${DEV}" + if is_error ; then return 1 ; fi; # If error, terminate + echo "...Formatting the EFI parttion." + mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" + if is_error ; then return 1 ; fi; # If error, terminate + # Create Linux partition + echo "...Creating a Linux partition on ${DEV}." + # shellcheck disable=SC2140 + sgdisk --new="${CRYPTPARTITION}":0:0 --change-name="${CRYPTPARTITION}":"Linux LUKS" --typecode="${CRYPTPARTITION}":8309 "${DEV}" + if is_error ; then return 1 ; fi; # If error, terminate + # Then print them + sgdisk --print "${DEV}" + else # BIOS + # Zap existing partition table + echo "...Erasing partition table of \"${DEV}\"." + dd if=/dev/zero of="${DEV}" bs=512 count=1 + if is_error ; then return 1 ; fi; # If error, terminate + # Create MBR and allocate max storage for Linux partition + echo "...Creating a Linux partition on ${DEV} with MBR." + sfdisk "${DEV}" <<- HEREDOC + 2M,,L + HEREDOC + if is_error ; then return 1 ; fi; # If error, terminate + fi # if EFI firmware + + # Encrypt the partition to install Linux + echo "...Initializing \"${DEV}${CRYPTPARTITION}\" as crypt partition" + printf %s "${PASSPHRASE}" | cryptsetup luksFormat --type=luks1 --key-file - --batch-mode "${DEV}${CRYPTPARTITION}" + + fi # if erase all + + # ----- Open the LUKS partition ----- + # Open the crypt partition. + echo "...Opening a crypt partition \"${DEV}${CRYPTPARTITION}\" as \"${CRYPTPARTNAME}\"" + printf %s "${PASSPHRASE}" | cryptsetup open -d - "${DEV}${CRYPTPARTITION}" "${CRYPTPARTNAME}" + + # Check whether successful open. If mapped, it is successful. + if [ ! -e /dev/mapper/"${CRYPTPARTNAME}" ] ; then + cat <<- HEREDOC + ***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on "${DEV}${CRYPTPARTITION}". ***** + ...Check passphrase and your config.txt + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # if crypt volume is unable to open + + # ----- Configure the LVM in LUKS volume ----- + # Check volume group ${VGNAME} exist or not + if vgdisplay -s "${VGNAME}" &> /dev/null ; then # if exist + echo "...Volume group \"${VGNAME}\" already exist. Skipped to create. No problem." + echo "...Activating all logical volumes in volume group \"${VGNAME}\"." + vgchange -ay + echo "...Scanning all logical volumes." + lvscan + else + echo "...Initializing a physical volume on \"${CRYPTPARTNAME}\"" + pvcreate /dev/mapper/"${CRYPTPARTNAME}" + if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; + echo "...And then creating Volume group \"${VGNAME}\"." + vgcreate "${VGNAME}" /dev/mapper/"${CRYPTPARTNAME}" + if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; + fi # if /dev/volume-groupt exist + + # Create a SWAP Logical Volume on VG, if it doesn't exist + if [ -e /dev/mapper/"${VGNAME}"-"${LVSWAPNAME}" ] ; then + echo "...Swap volume already exist. Skipped to create. No problem." + else + echo "...Creating logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." + lvcreate -L "${LVSWAPSIZE}" -n "${LVSWAPNAME}" "${VGNAME}" + if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; + fi # if /dev/mapper/swap volume already exit. + + # Create a ROOT Logical Volume on VG. + if [ -e /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" ] ; then # exist + if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then # exist and overwrite install + echo "...Logical volume \"${VGNAME}-${LVROOTNAME}\" already exists. OK." + else # exist and not overwriteinstall + cat <<- HEREDOC + ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** + ...Check LVROOTNAME environment variable in your config.txt. + HEREDOC + # Deactivate all lg and close the LUKS volume + deactivate_and_close + return 1 # with error status + fi + else # not exsit + if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then + cat <<- HEREDOC + ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" doesn't exist while overwrite install. ***** + ...Check consistency of your config.txt. + HEREDOC + # Deactivate all lg and close the LUKS volume + deactivate_and_close + return 1 # with error status + else # not exist and not overwrite install + echo "...Creating logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." + lvcreate -l "${LVROOTSIZE}" -n "${LVROOTNAME}" "${VGNAME}" + if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; + fi + fi + + + # successful return + return 0 +} + + +# ******************************************************************************* +# Common message in para-install stage +# ******************************************************************************* + +function para_install_msg() { + + cat <<- HEREDOC + ****************************************************************************** + The pre-install process is done. We are ready to install the Linux to the + target storage device. By pressing return key, GUI/TUI installer starts. + + Please pay attention to the partition/logical volume mapping configuration. + In this installation, you have to map the previously created partitions/logical + volumes to the appropriate directories of the target system as followings : + + HEREDOC + + # In the EFI system, add this mapping + if [ "${ISEFI}" -ne 0 ] ; then + echo "/boot/efi : ${DEV}${EFIPARTITION}" + fi + + # Root volume mapping + echo "/ : /dev/mapper/${VGNAME}-${LVROOTNAME}" + + # In case of erased storage, add this mapping + if [ "${ERASEALL}" -ne 0 ] ; then + echo "swap : /dev/mapper/${VGNAME}-${LVSWAPNAME}" + fi + + return 0 +} + + +# ******************************************************************************* +# Common post-install stage +# ******************************************************************************* +# In side this script, the chrooted job is parameterrized as by evn variable TARGETCHROOTEDJOB +function post_install_local() { + ## Mount the target file system + # ${TARGETMOUNTPOINT} is created by the GUI/TUI installer + echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." + mount /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" "${TARGETMOUNTPOINT}" + + # And mount other directories + echo "...Mounting all other dirs." + for n in proc sys dev tmp etc/resolv.conf; do mount --rbind "/$n" "${TARGETMOUNTPOINT}/$n"; done + + # Copy all scripts to the target /tmp + echo "...Copy files in current dir to ${TARGETMOUNTPOINT}/tmp." + mkdir "${TARGETMOUNTPOINT}/tmp/kaiten-yaki" + cp -R ./*.sh "${TARGETMOUNTPOINT}/tmp/kaiten-yaki" + + # Change root and create the keyfile and ramfs image for Linux kernel. + # The here document is script executed under chroot. And here we call + # the distribution dependent script "lib/chrooted_job_${DISTRIBUTIONSIGNATURE}.sh". + echo "...Chroot to ${TARGETMOUNTPOINT}." + # shellcheck disable=SC2086 + cat <<- HEREDOC | chroot "${TARGETMOUNTPOINT}" /bin/bash + cd /tmp/kaiten-yaki + # Execute copied script + source "lib/chrooted_job_${DISTRIBUTIONSIGNATURE}.sh" + HEREDOC + + # Unmount all + echo "...Unmounting all." + umount -R "${TARGETMOUNTPOINT}" + + # Finishing message + cat <<- HEREDOC + ****************** Post-install process finished ****************** + + ...Ready to reboot. + HEREDOC + + return 0 + +} # End of post_install_local() + + +# ******************************************************************************* +# Deactivate all LV in the VG and close LUKS volume +# ******************************************************************************* + +function deactivate_and_close(){ + echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." + vgchange -a n "${VGNAME}" + echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." + cryptsetup close "${CRYPTPARTNAME}" + cat <<- HEREDOC + + ...Installation process terminated.. + HEREDOC + +} + +# ******************************************************************************* +# Delete the nwe volume if overwrite install, and close all +# ******************************************************************************* +function on_unexpected_installer_quit(){ + echo "***** ERROR : The GUI/TUI installer terminated unexpectedly. *****" + if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then # If overwrite install, keep the volume + echo "...Keep logical volume \"${VGNAME}-${LVROOTNAME}\" untouched." + else # if not overwrite istall, delete the new volume + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" + fi + # Deactivate all lg and close the LUKS volume + deactivate_and_close + echo "...You can retry Kaiten-yaki again." +} + + +# ******************************************************************************* +# Check whether given signaure is in the system information +# ******************************************************************************* +function distribution_check(){ + if ! uname -a | grep "${DISTRIBUTIONSIGNATURE}" -i > /dev/null ; then # Signature is not found in the OS name. + echo "*******************************************************************************" + uname -a + cat <<- HEREDOC + ******************************************************************************* + This system seems to be not $DISTRIBUTIONNAME, while this script is dediated to the $DISTRIBUTIONNAME. + Are you sure you want to run this script? [Y/N] + HEREDOC + read -r YESNO + if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then + cat <<- HEREDOC + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # if YES + + fi # Distribution check + + # no error + return 0 +} + + +# ******************************************************************************* +# Error report and return revsers status. +# ******************************************************************************* +function is_error() { + if [ $? -eq 0 ] ; then # Is previous job OK? + return 1 # If OK, return error ( because it was not error ) + else + cat <<- HEREDOC + **** ERROR ! **** + + Installation process terminated. + HEREDOC + return 0 # If error, return OK ( because it was error ) + fi; +} \ No newline at end of file From 7b91fbd9f4bf38bf2dadc54bd23ad8b4e922bb9c Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 6 Jul 2021 07:41:56 +0900 Subject: [PATCH 159/242] Additional changes --- script/lib.sh | 361 ------------------------------ script/lib/chrooted_job_ubuntu.sh | 44 ++++ script/lib/chrooted_job_void.sh | 45 ++++ script/ubuntu-kaiten-yaki.sh | 72 +----- script/void-kaiten-yaki.sh | 71 +----- 5 files changed, 96 insertions(+), 497 deletions(-) delete mode 100644 script/lib.sh create mode 100644 script/lib/chrooted_job_ubuntu.sh create mode 100644 script/lib/chrooted_job_void.sh diff --git a/script/lib.sh b/script/lib.sh deleted file mode 100644 index 82b0ffc..0000000 --- a/script/lib.sh +++ /dev/null @@ -1,361 +0,0 @@ -#!/bin/bash -u -# ******************************************************************************* -# Confirmation and Passphrase setting -# ******************************************************************************* - -function confirmation(){ - - # Consistency check for the OVERWRITEINSTALL and ERASEALL - if [ "${ERASEALL}" -ne 0 ] && [ "${OVERWRITEINSTALL}" -ne 0 ] ; then - cat <<- HEREDOC - ***** ERROR : Confliction between ERASEALL and OVERWRITEINSTALL ***** - ...ERASEALL = ${ERASEALL} - ...OVERWRITEINSTALL = ${OVERWRITEINSTALL} - ...Check configuration in your config.sh - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi - - # Sanity check for volume group name - if echo "${VGNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. - cat <<- HEREDOC - ***** ERROR : VGNAME is "${VGNAME}" ***** - ..."-" is not allowed in the volume name. - ...Check configuration in your config.sh - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # "-" is found in the volume group name. - - # Sanity check for root volume name - if echo "${LVROOTNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume name. - cat <<- HEREDOC - ***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** - ..."-" is not allowed in the volume name. - ...Check configuration in your config.sh - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # "-" is found in the volume name. - - # Sanity check for swap volume name - if echo "${LVSWAPNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume name. - cat <<- HEREDOC - ***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** - ..."-" is not allowed in the volume name. - ...Check configuration in your config.sh - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # "-" is found in the volume name. - - # For surre ask the your config.sh is edited - cat <<- HEREDOC - - The destination logical volume label is "${LVROOTNAME}" - "${LVROOTNAME}" uses ${LVROOTSIZE} of the LVM volume group. - Are you sure to install? [Y/N] - HEREDOC - read -r YESNO - if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then - cat <<- HEREDOC - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # if YES - - # For sure ask to erase. - if [ "${ERASEALL}" -ne 0 ] ; then - echo "Are you sure you want to erase entire \"${DEV}\"? [Y/N]" - read -r YESNO - if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then - cat <<-HEREDOC - ...Check your config.sh. The variable ERASEALL is ${ERASEALL}. - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # if YES - fi # if erase all - - # For sure ask to overwrite. - if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then - echo "Are you sure you want to overwrite \"${LVROOTNAME}\" in \"${VGNAME}\"? [Y/N]" - read -r YESNO - if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then - cat <<-HEREDOC - ...Check your config.sh. The variable OVERWRITEINSTALL is ${OVERWRITEINSTALL}. - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # if YES - fi # if overwrite - - # ----- Set Passphrase ----- - # Input passphrase - echo "" - echo "Type passphrase for the disk encryption." - read -sr PASSPHRASE - export PASSPHRASE - - echo "Type passphrase again, to confirm." - read -sr PASSPHRASE_C - - # Validate whether both are indentical or not - if [ "${PASSPHRASE}" != "${PASSPHRASE_C}" ] ; then - cat <<-HEREDOC - ***** ERROR : Passphrase doesn't match ***** - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # passphrase validation - - # succesfull return - return 0 -} - - -# ******************************************************************************* -# Pre-install stage -# ******************************************************************************* - -function pre_install() { - - - # ----- Erase entire disk, create partitions, format them and encrypt the LUKS partition ----- - if [ "${ERASEALL}" -ne 0 ] ; then - - # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. - if [ "${ISEFI}" -ne 0 ] ; then # EFI - # Zap existing partition table and create new GPT - echo "...Initializing \"${DEV}\" with GPT." - sgdisk --zap-all "${DEV}" - if is_error ; then return 1 ; fi; # If error, terminate - # Create EFI partition and format it - echo "...Creating an EFI partition on \"${DEV}\"." - # shellcheck disable=SC2140 - sgdisk --new="${EFIPARTITION}":0:+"${EFISIZE}" --change-name="${EFIPARTITION}":"EFI System" --typecode="${EFIPARTITION}":ef00 "${DEV}" - if is_error ; then return 1 ; fi; # If error, terminate - echo "...Formatting the EFI parttion." - mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" - if is_error ; then return 1 ; fi; # If error, terminate - # Create Linux partition - echo "...Creating a Linux partition on ${DEV}." - # shellcheck disable=SC2140 - sgdisk --new="${CRYPTPARTITION}":0:0 --change-name="${CRYPTPARTITION}":"Linux LUKS" --typecode="${CRYPTPARTITION}":8309 "${DEV}" - if is_error ; then return 1 ; fi; # If error, terminate - # Then print them - sgdisk --print "${DEV}" - else # BIOS - # Zap existing partition table - echo "...Erasing partition table of \"${DEV}\"." - dd if=/dev/zero of="${DEV}" bs=512 count=1 - if is_error ; then return 1 ; fi; # If error, terminate - # Create MBR and allocate max storage for Linux partition - echo "...Creating a Linux partition on ${DEV} with MBR." - sfdisk "${DEV}" <<- HEREDOC - 2M,,L - HEREDOC - if is_error ; then return 1 ; fi; # If error, terminate - fi # if EFI firmware - - # Encrypt the partition to install Linux - echo "...Initializing \"${DEV}${CRYPTPARTITION}\" as crypt partition" - printf %s "${PASSPHRASE}" | cryptsetup luksFormat --type=luks1 --key-file - --batch-mode "${DEV}${CRYPTPARTITION}" - - fi # if erase all - - # ----- Open the LUKS partition ----- - # Open the crypt partition. - echo "...Opening a crypt partition \"${DEV}${CRYPTPARTITION}\" as \"${CRYPTPARTNAME}\"" - printf %s "${PASSPHRASE}" | cryptsetup open -d - "${DEV}${CRYPTPARTITION}" "${CRYPTPARTNAME}" - - # Check whether successful open. If mapped, it is successful. - if [ ! -e /dev/mapper/"${CRYPTPARTNAME}" ] ; then - cat <<- HEREDOC - ***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on "${DEV}${CRYPTPARTITION}". ***** - ...Check passphrase and your config.txt - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # if crypt volume is unable to open - - # ----- Configure the LVM in LUKS volume ----- - # Check volume group ${VGNAME} exist or not - if vgdisplay -s "${VGNAME}" &> /dev/null ; then # if exist - echo "...Volume group \"${VGNAME}\" already exist. Skipped to create. No problem." - echo "...Activating all logical volumes in volume group \"${VGNAME}\"." - vgchange -ay - echo "...Scanning all logical volumes." - lvscan - else - echo "...Initializing a physical volume on \"${CRYPTPARTNAME}\"" - pvcreate /dev/mapper/"${CRYPTPARTNAME}" - if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; - echo "...And then creating Volume group \"${VGNAME}\"." - vgcreate "${VGNAME}" /dev/mapper/"${CRYPTPARTNAME}" - if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; - fi # if /dev/volume-groupt exist - - # Create a SWAP Logical Volume on VG, if it doesn't exist - if [ -e /dev/mapper/"${VGNAME}"-"${LVSWAPNAME}" ] ; then - echo "...Swap volume already exist. Skipped to create. No problem." - else - echo "...Creating logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." - lvcreate -L "${LVSWAPSIZE}" -n "${LVSWAPNAME}" "${VGNAME}" - if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; - fi # if /dev/mapper/swap volume already exit. - - # Create a ROOT Logical Volume on VG. - if [ -e /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" ] ; then # exist - if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then # exist and overwrite install - echo "...Logical volume \"${VGNAME}-${LVROOTNAME}\" already exists. OK." - else # exist and not overwriteinstall - cat <<- HEREDOC - ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** - ...Check LVROOTNAME environment variable in your config.txt. - HEREDOC - # Deactivate all lg and close the LUKS volume - deactivate_and_close - return 1 # with error status - fi - else # not exsit - if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then - cat <<- HEREDOC - ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" doesn't exist while overwrite install. ***** - ...Check consistency of your config.txt. - HEREDOC - # Deactivate all lg and close the LUKS volume - deactivate_and_close - return 1 # with error status - else # not exist and not overwrite install - echo "...Creating logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." - lvcreate -l "${LVROOTSIZE}" -n "${LVROOTNAME}" "${VGNAME}" - if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; - fi - fi - - - # successful return - return 0 -} - - -# ******************************************************************************* -# Common message in para-install stage -# ******************************************************************************* - -function para_install_msg() { - - cat <<- HEREDOC - ****************************************************************************** - The pre-install process is done. We are ready to install the Linux to the - target storage device. By pressing return key, GUI/TUI installer starts. - - Please pay attention to the partition/logical volume mapping configuration. - In this installation, you have to map the previously created partitions/logical - volumes to the appropriate directories of the target system as followings : - - HEREDOC - - # In the EFI system, add this mapping - if [ "${ISEFI}" -ne 0 ] ; then - echo "/boot/efi : ${DEV}${EFIPARTITION}" - fi - - # Root volume mapping - echo "/ : /dev/mapper/${VGNAME}-${LVROOTNAME}" - - # In case of erased storage, add this mapping - if [ "${ERASEALL}" -ne 0 ] ; then - echo "swap : /dev/mapper/${VGNAME}-${LVSWAPNAME}" - fi - - return 0 -} - -# ******************************************************************************* -# Deactivate all LV in the VG and close LUKS volume -# ******************************************************************************* - -function deactivate_and_close(){ - echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." - vgchange -a n "${VGNAME}" - echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." - cryptsetup close "${CRYPTPARTNAME}" - cat <<- HEREDOC - - ...Installation process terminated.. - HEREDOC - -} - -# ******************************************************************************* -# Delete the nwe volume if overwrite install, and close all -# ******************************************************************************* -function on_unexpected_installer_quit(){ - echo "***** ERROR : The GUI/TUI installer terminated unexpectedly. *****" - if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then # If overwrite install, keep the volume - echo "...Keep logical volume \"${VGNAME}-${LVROOTNAME}\" untouched." - else # if not overwrite istall, delete the new volume - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." - lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" - fi - # Deactivate all lg and close the LUKS volume - deactivate_and_close - echo "...You can retry Kaiten-yaki again." -} - - -# ******************************************************************************* -# Check whether given signaure is in the system information -# ******************************************************************************* -function distribution_check(){ - if ! uname -a | grep "${DISTRIBUTIONSIGNATURE}" -i > /dev/null ; then # Signature is not found in the OS name. - echo "*******************************************************************************" - uname -a - cat <<- HEREDOC - ******************************************************************************* - This system seems to be not $DISTRIBUTIONNAME, while this script is dediated to the $DISTRIBUTIONNAME. - Are you sure you want to run this script? [Y/N] - HEREDOC - read -r YESNO - if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then - cat <<- HEREDOC - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # if YES - - fi # Distribution check - - # no error - return 0 -} - - -# ******************************************************************************* -# Error report and return revsers status. -# ******************************************************************************* -function is_error() { - if [ $? -eq 0 ] ; then # Is previous job OK? - return 1 # If OK, return error ( because it was not error ) - else - cat <<- HEREDOC - **** ERROR ! **** - - Installation process terminated. - HEREDOC - return 0 # If error, return OK ( because it was error ) - fi; -} \ No newline at end of file diff --git a/script/lib/chrooted_job_ubuntu.sh b/script/lib/chrooted_job_ubuntu.sh new file mode 100644 index 0000000..ed16912 --- /dev/null +++ b/script/lib/chrooted_job_ubuntu.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +# Include configuration. This sript file have to be executed at Kaiten-yaki/script dir +# shellcheck disable=SC1091 +source config.sh + +# Create a key file for LUKS and register it as contents of the initramfs image +function chrooted_job() { + # Mount the rest of partitions by target /etc/fstab + mount -a + + # Set up the kernel hook of encryption + echo "...Installing cryptsetup-initramfs package." + apt -qq install -y cryptsetup-initramfs + + # Prepare a key file to embed in to the ramfs. + echo "...Prepairing key file." + mkdir /etc/luks + dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 status=none + chmod u=rx,go-rwx /etc/luks + chmod u=r,go-rwx /etc/luks/boot_os.keyfile + + # Add a key to the key file. Use the passphrase in the environment variable. + echo "...Adding a key to the key file." + printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile + + # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. + echo "...Adding LUKS volume info to /etc/crypttab." + echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab + + # Putting key file into the ramfs initial image + echo "...Registering key file to the ramfs" + echo "KEYFILE_PATTERN=/etc/luks/*.keyfile" >> /etc/cryptsetup-initramfs/conf-hook + echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf + + # Finally, update the ramfs initial image with the key file. + echo "...Upadting initramfs." + update-initramfs -uk all + + # Leave chroot +} + +# Execute job +chrooted_job diff --git a/script/lib/chrooted_job_void.sh b/script/lib/chrooted_job_void.sh new file mode 100644 index 0000000..ee58369 --- /dev/null +++ b/script/lib/chrooted_job_void.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +# Include configuration. This sript file have to be executed at Kaiten-yaki/script dir +# shellcheck disable=SC1091 +source config.sh + +# Create a key file for LUKS and register it as contents of the initramfs image +function chrooted_job() { + # Mount the rest of partitions by target /etc/fstab + mount -a + + # Set up the kernel hook of encryption + echo "...Installing cryptsetup-initramfs package." + xbps-install -y lvm2 cryptsetup + + # Prepare a key file to embed in to the ramfs. + echo "...Prepairing key file." + mkdir /etc/luks + dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 status=none + chmod u=rx,go-rwx /etc/luks + chmod u=r,go-rwx /etc/luks/boot_os.keyfile + + # Add a key to the key file. Use the passphrase in the environment variable. + echo "...Adding a key to the key file." + printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile + + # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. + echo "...Adding LUKS volume info to /etc/crypttab." + echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab + + # Putting key file into the ramfs initial image + echo "...Registering key file to the ramfs" + echo 'install_items+=" /etc/luks/boot_os.keyfile /etc/crypttab " ' > /etc/dracut.conf.d/10-crypt.conf + + # Finally, update the ramfs initial image with the key file. + echo "...Upadting initramfs." + xbps-reconfigure -fa + echo "...grub-mkconfig." + grub-mkconfig -o /boot/grub/grub.cfg + + # Leave chroot +} + +# Execute job +chrooted_job diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index a18aa8f..96ace9b 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -5,14 +5,13 @@ source ./config.sh # Load common functions - source ./lib.sh + source ./lib/common.sh function main() { # This is the mount point of the install target. export TARGETMOUNTPOINT="/target" - # ******************************************************************************* # Confirmation before installation # ******************************************************************************* @@ -54,8 +53,9 @@ function main() { # Post-install stage # ******************************************************************************* - # Distribution dependent finalizing. Embedd encryption key into the ramfs image. - post_install_local + # Distribution dependent finalizing. Embedd encryption key into the ramfs image. + # The script is parameterized by env-variable to fit to the distribution + post_install # Normal end return 0 @@ -100,70 +100,6 @@ function para_install_local() { return 0 } -# ******************************************************************************* -# Ubuntu dependent post-installation process -function post_install_local() { - ## Mount the target file system - # ${TARGETMOUNTPOINT} is created by the GUI/TUI installer - echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." - mount /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" ${TARGETMOUNTPOINT} - - # And mount other directories - echo "...Mounting all other dirs." - for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "${TARGETMOUNTPOINT}/$n"; done - - # Change root and create the keyfile and ramfs image for Linux kernel. - echo "...Chroot to ${TARGETMOUNTPOINT}." - # shellcheck disable=SC2086 - cat <<- HEREDOC | chroot ${TARGETMOUNTPOINT} /bin/bash - # Mount the rest of partitions by target /etc/fstab - mount -a - - # Set up the kernel hook of encryption - echo "...Installing cryptsetup-initramfs package." - apt -qq install -y cryptsetup-initramfs - - # Prepare a key file to embed in to the ramfs. - echo "...Prepairing key file." - mkdir /etc/luks - dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 status=none - chmod u=rx,go-rwx /etc/luks - chmod u=r,go-rwx /etc/luks/boot_os.keyfile - - # Add a key to the key file. Use the passphrase in the environment variable. - echo "...Adding a key to the key file." - printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile - - # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. - echo "...Adding LUKS volume info to /etc/crypttab." - echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab - - # Putting key file into the ramfs initial image - echo "...Registering key file to the ramfs" - echo "KEYFILE_PATTERN=/etc/luks/*.keyfile" >> /etc/cryptsetup-initramfs/conf-hook - echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf - - # Finally, update the ramfs initial image with the key file. - echo "...Upadting initramfs." - update-initramfs -uk all - - # Leave chroot - HEREDOC - - # Unmount all - echo "...Unmounting all." - umount -R ${TARGETMOUNTPOINT} - - # Finishing message - cat <<- HEREDOC - ****************** Post-install process finished ****************** - - ...Ready to reboot. - HEREDOC - - return 0 - -} # End of post_install_local() # ******************************************************************************* diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 87cfcd4..5838747 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -5,14 +5,13 @@ source ./config.sh # Load common functions - source ./lib.sh + source ./lib/common.sh function main() { # This is the mount point of the install target. export TARGETMOUNTPOINT="/mnt/target" - # ******************************************************************************* # Confirmation before installation # ******************************************************************************* @@ -76,7 +75,8 @@ function main() { # ******************************************************************************* # Distribution dependent finalizing. Embedd encryption key into the ramfs image. - post_install_local + # The script is parameterized by env-variable to fit to the distribution + post_install # Normal end return 0 @@ -128,71 +128,6 @@ function para_install_local() { return 0 } -# ******************************************************************************* -# Void Linux dependent post-installation process -function post_install_local() { - ## Mount the target file system - # ${TARGETMOUNTPOINT} is created by the GUI/TUI installer - echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." - mount /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" ${TARGETMOUNTPOINT} - - # And mount other directories - echo "...Mounting all other dirs." - for n in proc sys dev etc/resolv.conf; do mount --rbind "/$n" "${TARGETMOUNTPOINT}/$n"; done - - # Change root and create the keyfile and ramfs image for Linux kernel. - echo "...Chroot to ${TARGETMOUNTPOINT}." - # shellcheck disable=SC2086 - cat <<- HEREDOC | chroot ${TARGETMOUNTPOINT} /bin/bash - # Mount the rest of partitions by target /etc/fstab - mount -a - - # Set up the kernel hook of encryption - echo "...Installing cryptsetup-initramfs package." - xbps-install -y lvm2 cryptsetup - - # Prepare a key file to embed in to the ramfs. - echo "...Prepairing key file." - mkdir /etc/luks - dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 status=none - chmod u=rx,go-rwx /etc/luks - chmod u=r,go-rwx /etc/luks/boot_os.keyfile - - # Add a key to the key file. Use the passphrase in the environment variable. - echo "...Adding a key to the key file." - printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile - - # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. - echo "...Adding LUKS volume info to /etc/crypttab." - echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab - - # Putting key file into the ramfs initial image - echo "...Registering key file to the ramfs" - echo 'install_items+=" /etc/luks/boot_os.keyfile /etc/crypttab " ' > /etc/dracut.conf.d/10-crypt.conf - - # Finally, update the ramfs initial image with the key file. - echo "...Upadting initramfs." - xbps-reconfigure -fa - echo "...grub-mkconfig." - grub-mkconfig -o /boot/grub/grub.cfg - - # Leave chroot - HEREDOC - - # Unmount all - echo "...Unmounting all." - umount -R ${TARGETMOUNTPOINT} - - # Finishing message - cat <<- HEREDOC - ****************** Post-install process finished ****************** - - ...Ready to reboot. - HEREDOC - - return 0 - -} # End of post_install_local() # ******************************************************************************* From d0200d88d80d4f1a2fc093265dc0bfad6c6387af Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 6 Jul 2021 08:06:15 +0900 Subject: [PATCH 160/242] Fix the name of funciton --- script/lib/common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/lib/common.sh b/script/lib/common.sh index cff0f92..00ca95e 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -288,7 +288,7 @@ function para_install_msg() { # Common post-install stage # ******************************************************************************* # In side this script, the chrooted job is parameterrized as by evn variable TARGETCHROOTEDJOB -function post_install_local() { +function post_install() { ## Mount the target file system # ${TARGETMOUNTPOINT} is created by the GUI/TUI installer echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." From fd8e8f0af191f2cc21839fcdcedaf78c57fca001 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 6 Jul 2021 08:22:16 +0900 Subject: [PATCH 161/242] Fix the mistake of the copy pattern Now, even directiries are copied --- script/lib/common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/lib/common.sh b/script/lib/common.sh index 00ca95e..11c3fbd 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -301,7 +301,7 @@ function post_install() { # Copy all scripts to the target /tmp echo "...Copy files in current dir to ${TARGETMOUNTPOINT}/tmp." mkdir "${TARGETMOUNTPOINT}/tmp/kaiten-yaki" - cp -R ./*.sh "${TARGETMOUNTPOINT}/tmp/kaiten-yaki" + cp -r ./* -t "${TARGETMOUNTPOINT}/tmp/kaiten-yaki" # Change root and create the keyfile and ramfs image for Linux kernel. # The here document is script executed under chroot. And here we call From 5930627ee7d546c6cc181295763e934305cc65f5 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 6 Jul 2021 21:22:43 +0900 Subject: [PATCH 162/242] Add explanation moving to script directory --- INSTALL.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 5954a89..bdc6685 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -32,8 +32,11 @@ xbps-install -Su xbps nano ``` The nano is an editor package to configure the config.txt. The choice of editor is up to you. Kaiten-yaki script doesn't have a dependency on nano editor. -Then, edit the config.txt. - +And then, go to the kaiten-yaki/script directory. +```bash +cd /the/downloaded/directory/kaiten-yaki/script +``` +Now, ready to configure. ## Configuration parameters This is a very critical part of the installation. The configuration parameters are in the config.sh. Edit these parameters before the installation. From 6a1df4f25b7f178ab8a04af0a079e959470380f3 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 7 Jul 2021 13:04:39 +0900 Subject: [PATCH 163/242] Update change log. Make chroot'ed job independent script file #11 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ec8b588..221ac3f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ Record of the modification in project development. - [Issue 5 : OVERWRITEINSTALL confirmation is missing](https://github.com/suikan4github/kaiten-yaki/issues/5) - [Issue 6 : Remove loglevel dependency from the void-kaiten-yaki.sh ](https://github.com/suikan4github/kaiten-yaki/6) - [Issue 7 : Add the return status validation ](https://github.com/suikan4github/kaiten-yaki/7) +- [Issue 11 : Make chroot'ed job independent script file ](https://github.com/suikan4github/kaiten-yaki/11) ### Deprecated ### Removed From f2d4c8fee3941315e31bd5f938bea7cc2835c4c3 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 7 Jul 2021 13:08:55 +0900 Subject: [PATCH 164/242] change ERASEALL=0 as default Issue #12 --- CHANGELOG.md | 1 + script/config.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 221ac3f..4633848 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ Record of the modification in project development. - [Issue 6 : Remove loglevel dependency from the void-kaiten-yaki.sh ](https://github.com/suikan4github/kaiten-yaki/6) - [Issue 7 : Add the return status validation ](https://github.com/suikan4github/kaiten-yaki/7) - [Issue 11 : Make chroot'ed job independent script file ](https://github.com/suikan4github/kaiten-yaki/11) +- [Issue 12 : change ERASEALL=0 as default ](https://github.com/suikan4github/kaiten-yaki/12) ### Deprecated ### Removed diff --git a/script/config.sh b/script/config.sh index 6f0f32f..70e20ee 100644 --- a/script/config.sh +++ b/script/config.sh @@ -8,7 +8,7 @@ export DEV="/dev/sda" # Whether you want to erase all contents of the storage device or not. # 1 : Yes, I want to erase all. # 0 : No, I don't. I want to add to the existing LUKS volume. -export ERASEALL=1 +export ERASEALL=0 # Logical Volume name for your Linux installation. Keep it unique from other distribution. export LVROOTNAME="anko" From ae1a48f8f5e8e05985bf1bf37080e788cae06cef Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 7 Jul 2021 13:33:10 +0900 Subject: [PATCH 165/242] Add ITERTIME parameter Add ITERTIME configuration parameter to config.txt Issue #13 --- script/config.sh | 5 +++++ script/lib/common.sh | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/script/config.sh b/script/config.sh index 70e20ee..6f32dfe 100644 --- a/script/config.sh +++ b/script/config.sh @@ -32,6 +32,11 @@ export LVSWAPNAME="swap" # 1 : Overwrite the existing logical volume as root vlume. 0 : Create new logical volume as root volume. export OVERWRITEINSTALL=0 +# Do not touch this parameter, unless you understand precisely what you are doing. +# This is a paameter value of the --iter-time option for cyrptsetup command. +# If you specify 1000, that means 1000mSec. 0 means compile default. +export ITERTIME=0 + # Void Linux only. Ignored in Ubuntu. # The font size of the void-installer export XTERMFONTSIZE=11 diff --git a/script/lib/common.sh b/script/lib/common.sh index 11c3fbd..43a9bb2 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -169,7 +169,7 @@ function pre_install() { # Encrypt the partition to install Linux echo "...Initializing \"${DEV}${CRYPTPARTITION}\" as crypt partition" - printf %s "${PASSPHRASE}" | cryptsetup luksFormat --type=luks1 --key-file - --batch-mode "${DEV}${CRYPTPARTITION}" + printf %s "${PASSPHRASE}" | cryptsetup luksFormat --iter-time "${ITERTIME}" --type=luks1 --key-file - --batch-mode "${DEV}${CRYPTPARTITION}" fi # if erase all From 373006dc9023df44f0eb54a293c1ac712db38451 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 7 Jul 2021 14:07:42 +0900 Subject: [PATCH 166/242] Edit changelog. Add ITERTIME configuration parameter to config.txt Issue #13 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4633848..0c09d7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Record of the modification in project development. ## [Unreleased] - yyyy-mm-dd ### Added +- [Issue 13 : Add ITERTIME configuration parameter to config.txt #13](https://github.com/suikan4github/kaiten-yaki/issues/13) + ### Changed - [Issue 5 : OVERWRITEINSTALL confirmation is missing](https://github.com/suikan4github/kaiten-yaki/issues/5) - [Issue 6 : Remove loglevel dependency from the void-kaiten-yaki.sh ](https://github.com/suikan4github/kaiten-yaki/6) From e2aea91c11656a83b2d10720464175a7d161444c Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 7 Jul 2021 14:10:25 +0900 Subject: [PATCH 167/242] Reformat the comment of config. For the easy modification by nano editor --- script/config.sh | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/script/config.sh b/script/config.sh index 6f32dfe..7e79a78 100644 --- a/script/config.sh +++ b/script/config.sh @@ -10,15 +10,18 @@ export DEV="/dev/sda" # 0 : No, I don't. I want to add to the existing LUKS volume. export ERASEALL=0 -# Logical Volume name for your Linux installation. Keep it unique from other distribution. +# Logical Volume name for your Linux installation. +# Keep it unique from other distribution. export LVROOTNAME="anko" # Logical volume size of the Linux installation. -# 30% mean, new logical volume will use 30% of the free space in the LVM volume group. -# For example, assume the free space is 100GB, and LVROOTSIZE is 30%FREE. Script will create 30GB logical volume. +# 30% mean, new logical volume will use 30% of the free space +# in the LVM volume group. For example, assume the free space is 100GB, +# and LVROOTSIZE is 30%FREE. Script will create 30GB logical volume. export LVROOTSIZE="50%FREE" -# Set the size of EFI partition and swap partition. The unit is Byte. you can use M,G... notation. +# Set the size of EFI partition and swap partition. +# The unit is Byte. You can use M,G... notation. export EFISIZE="200M" export LVSWAPSIZE="8G" @@ -28,11 +31,12 @@ export CRYPTPARTNAME="luks_volume" export VGNAME="vg1" export LVSWAPNAME="swap" -# Do not touch this parameter, unless you understand precisely what you are doing. -# 1 : Overwrite the existing logical volume as root vlume. 0 : Create new logical volume as root volume. +# Do not touch this parameter, unless you understand what you are doing. +# 1 : Overwrite the existing logical volume as root vlume. +# 0 : Create new logical volume as root volume. export OVERWRITEINSTALL=0 -# Do not touch this parameter, unless you understand precisely what you are doing. +# Do not touch this parameter, unless you understand what you are doing. # This is a paameter value of the --iter-time option for cyrptsetup command. # If you specify 1000, that means 1000mSec. 0 means compile default. export ITERTIME=0 From 2a6f8619003e0bc47808500e5a04fbb6346ac676 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 7 Jul 2021 21:32:01 +0900 Subject: [PATCH 168/242] Change config.sh description Added explanation of ITERTIME parameter. Change ERASEALL default value. Update the config file contents in INSTALL.md Issue #14 --- INSTALL.md | 42 ++++++++++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index bdc6685..4dd8f6e 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -42,7 +42,7 @@ This is a very critical part of the installation. The configuration parameters a Followings are the set of the default settings of the parameters : - Install to **/dev/sda** (DEV). -- Erase the entire disk (ERASEALL). +- Do not erase the entire disk (ERASEALL). - Overwrite install is disabled. - In the case of EFI firmware, 200MB is allocated to the EFI partition (EFISIZE). - Create a logical volume group named "vg1" in the encrypted volume (VGNAME) @@ -56,32 +56,41 @@ Followings are the set of the default settings of the parameters : export DEV="/dev/sda" # Whether you want to erase all contents of the storage device or not. -# 1: Yes, I want to erase all. -# 0: No, I don't. I want to add to the existing LUKS volume. -export ERASEALL=1 +# 1 : Yes, I want to erase all. +# 0 : No, I don't. I want to add to the existing LUKS volume. +export ERASEALL=0 -# Logical Volume name for your Linux installation. Keep it unique from other distributions. +# Logical Volume name for your Linux installation. +# Keep it unique from other distribution. export LVROOTNAME="anko" # Logical volume size of the Linux installation. -# 30% means the new logical volume will use 30% of the free space in the LVM volume group. -# For example, assume the free space is 100GB, and LVROOTSIZE is 30%FREE. The script will create a 30GB logical volume. +# 30% mean, new logical volume will use 30% of the free space +# in the LVM volume group. For example, assume the free space is 100GB, +# and LVROOTSIZE is 30%FREE. Script will create 30GB logical volume. export LVROOTSIZE="50%FREE" -# Set the size of the EFI partition and swap partition. The unit is Byte. you can use M, G... notation. +# Set the size of EFI partition and swap partition. +# The unit is Byte. You can use M,G... notation. export EFISIZE="200M" export LVSWAPSIZE="8G" # Usually, these names can be left untouched. -# If you change, keep them consistent through all installations in your system. +# If you change, keep them consistent through all instllation in your system. export CRYPTPARTNAME="luks_volume" export VGNAME="vg1" export LVSWAPNAME="swap" -# Do not touch this parameter unless you understand precisely what you are doing. -# 1: Overwrite the existing logical volume as root volume. 0: Create new logical volume as root volume. +# Do not touch this parameter, unless you understand what you are doing. +# 1 : Overwrite the existing logical volume as root vlume. +# 0 : Create new logical volume as root volume. export OVERWRITEINSTALL=0 +# Do not touch this parameter, unless you understand what you are doing. +# This is a paameter value of the --iter-time option for cyrptsetup command. +# If you specify 1000, that means 1000mSec. 0 means compile default. +export ITERTIME=0 + # Void Linux only. Ignored in Ubuntu. # The font size of the void-installer export XTERMFONTSIZE=11 @@ -94,7 +103,7 @@ There are several restrictions : - The EFISIZE and the LVSWAPSIZE are refereed during the first distribution installation only. - The LVROOTSIZE is the size of a logical volume to create. This is a relative value to the existing free space in the volume group. If you want to install 3 distributions in a computer, you may want to set 33%FREE, 50%FREE, and 100%FREE for the first, second, and third distribution installation, respectively. - The name with "-" is not allowed for the VGNAME, LVROOTNAME, and LVSWAPNAME. I saw some installer doesn't work if "-" in in the name. -## About the overwrite-install +### About the overwrite-install The OVERWRITEINSTALL parameter allows you to use an existing logical volume as the root volume of the new installation. This is very dangerous because of several aspects like destroying the wrong volume and the risk of security. But sometimes it is very useful. @@ -112,6 +121,15 @@ And set the following parameters as same as the previous installation. - CRYPTPARTNAME So, Kaiten-yaki will leave the "bad" logical volume and allow you to overwrite it by GUI/TUI installer. +### About ITERTIME parameter +This parameter is recommended to left as default value (=0), unless you understand what it mean well. + +The ITERTIME parameter is passed as --iter-time parameter to the [cryptosetup command](https://man7.org/linux/man-pages/man8/cryptsetup.8.html), when script setup the LUKS crypto volume. + +The unit of value is milliseconds. The target linux kernel may take this duration, to calculate a hash value from the given passphrase. You can change this duration through this parameter. + +The smaller value gives the weaker security. + ## First stage: Setting up the volumes After you set the configuration parameters correctly, execute the following command from the shell. Again, you have to be promoted as the root user, and you have to use Bash. From 7ec2046e5a9b9e2745e2c083f103e877522b65b5 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 7 Jul 2021 22:41:53 +0900 Subject: [PATCH 169/242] Add ITERTIME parameter to the rooted_job() ITERTIME parameter is not passed to the chrooted_job Issue #15 --- script/lib/chrooted_job_ubuntu.sh | 2 +- script/lib/chrooted_job_void.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/script/lib/chrooted_job_ubuntu.sh b/script/lib/chrooted_job_ubuntu.sh index ed16912..ce85d61 100644 --- a/script/lib/chrooted_job_ubuntu.sh +++ b/script/lib/chrooted_job_ubuntu.sh @@ -22,7 +22,7 @@ function chrooted_job() { # Add a key to the key file. Use the passphrase in the environment variable. echo "...Adding a key to the key file." - printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile + printf %s "${PASSPHRASE}" | cryptsetup luksAddKey --iter-time "${ITERTIME}" -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. echo "...Adding LUKS volume info to /etc/crypttab." diff --git a/script/lib/chrooted_job_void.sh b/script/lib/chrooted_job_void.sh index ee58369..8482b01 100644 --- a/script/lib/chrooted_job_void.sh +++ b/script/lib/chrooted_job_void.sh @@ -22,7 +22,7 @@ function chrooted_job() { # Add a key to the key file. Use the passphrase in the environment variable. echo "...Adding a key to the key file." - printf %s "${PASSPHRASE}" | cryptsetup luksAddKey -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile + printf %s "${PASSPHRASE}" | cryptsetup luksAddKey --iter-time "${ITERTIME}" -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. echo "...Adding LUKS volume info to /etc/crypttab." From 97d3a46b728fcdefbeb0228d2a1bbf5f75303b54 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 7 Jul 2021 22:57:40 +0900 Subject: [PATCH 170/242] Update Changelog. ITERTIME parameter is not passed to the chrooted_job Issue #15 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c09d7c..1337cbf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,11 +12,13 @@ Record of the modification in project development. - [Issue 7 : Add the return status validation ](https://github.com/suikan4github/kaiten-yaki/7) - [Issue 11 : Make chroot'ed job independent script file ](https://github.com/suikan4github/kaiten-yaki/11) - [Issue 12 : change ERASEALL=0 as default ](https://github.com/suikan4github/kaiten-yaki/12) +- [Issue 14 : Change config.sh description ](https://github.com/suikan4github/kaiten-yaki/14) ### Deprecated ### Removed ### Fixed - [Issue 8 : Wrong message after cancellation ](https://github.com/suikan4github/kaiten-yaki/8) +- [Issue 15 : CITERTIME parameter is not passed to the chrooted_job ](https://github.com/suikan4github/kaiten-yaki/15) ### Known Issue From be32e5e387cfdf7fa2c990a137f9e3d3dbd14e96 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 8 Jul 2021 07:47:23 +0900 Subject: [PATCH 171/242] Update comment No program change. --- script/lib/common.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/script/lib/common.sh b/script/lib/common.sh index 43a9bb2..4f732b8 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -298,7 +298,7 @@ function post_install() { echo "...Mounting all other dirs." for n in proc sys dev tmp etc/resolv.conf; do mount --rbind "/$n" "${TARGETMOUNTPOINT}/$n"; done - # Copy all scripts to the target /tmp + # Copy all scripts to the target /tmp to in chroot session. echo "...Copy files in current dir to ${TARGETMOUNTPOINT}/tmp." mkdir "${TARGETMOUNTPOINT}/tmp/kaiten-yaki" cp -r ./* -t "${TARGETMOUNTPOINT}/tmp/kaiten-yaki" @@ -306,7 +306,7 @@ function post_install() { # Change root and create the keyfile and ramfs image for Linux kernel. # The here document is script executed under chroot. And here we call # the distribution dependent script "lib/chrooted_job_${DISTRIBUTIONSIGNATURE}.sh". - echo "...Chroot to ${TARGETMOUNTPOINT}." + echo "...Chroot to ${TARGETMOUNTPOINT}. and execute chrooted_job_${DISTRIBUTIONSIGNATURE}.sh" # shellcheck disable=SC2086 cat <<- HEREDOC | chroot "${TARGETMOUNTPOINT}" /bin/bash cd /tmp/kaiten-yaki From 40264ce02f6ebbe965990b8dd11ae18ac1451613 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 8 Jul 2021 21:19:16 +0900 Subject: [PATCH 172/242] Refine the comment. --- script/lib/chrooted_job_ubuntu.sh | 14 +++++--- script/lib/chrooted_job_void.sh | 56 +++++++++++++++++-------------- script/lib/common.sh | 7 ++-- 3 files changed, 43 insertions(+), 34 deletions(-) diff --git a/script/lib/chrooted_job_ubuntu.sh b/script/lib/chrooted_job_ubuntu.sh index ce85d61..2d953ca 100644 --- a/script/lib/chrooted_job_ubuntu.sh +++ b/script/lib/chrooted_job_ubuntu.sh @@ -9,26 +9,30 @@ function chrooted_job() { # Mount the rest of partitions by target /etc/fstab mount -a - # Set up the kernel hook of encryption + # Prepare the crypto tool in the install target echo "...Installing cryptsetup-initramfs package." apt -qq install -y cryptsetup-initramfs - # Prepare a key file to embed in to the ramfs. + # Prepare a new key file to embed in to the ramfs. + # This new file contains a new key to open the LUKS volume. + # The new key is 4096byte length binary value. + # Because this key is sotred as "cleartext", in the target file sysmte, + # only root is allowed to access this key file. echo "...Prepairing key file." mkdir /etc/luks dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 status=none chmod u=rx,go-rwx /etc/luks chmod u=r,go-rwx /etc/luks/boot_os.keyfile - # Add a key to the key file. Use the passphrase in the environment variable. + # Add the new key to the LUKS 2nd key slot. The passphrase is required to modify the LUKS keyslot. echo "...Adding a key to the key file." printf %s "${PASSPHRASE}" | cryptsetup luksAddKey --iter-time "${ITERTIME}" -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile - # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. + # Register the LUKS voluem to /etc/crypttab to tell "This volume is encrypted" echo "...Adding LUKS volume info to /etc/crypttab." echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab - # Putting key file into the ramfs initial image + # Add key file to the list of the intems in initfsram. echo "...Registering key file to the ramfs" echo "KEYFILE_PATTERN=/etc/luks/*.keyfile" >> /etc/cryptsetup-initramfs/conf-hook echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf diff --git a/script/lib/chrooted_job_void.sh b/script/lib/chrooted_job_void.sh index 8482b01..2d50a73 100644 --- a/script/lib/chrooted_job_void.sh +++ b/script/lib/chrooted_job_void.sh @@ -6,39 +6,43 @@ source config.sh # Create a key file for LUKS and register it as contents of the initramfs image function chrooted_job() { - # Mount the rest of partitions by target /etc/fstab - mount -a + # Mount the rest of partitions by target /etc/fstab + mount -a - # Set up the kernel hook of encryption - echo "...Installing cryptsetup-initramfs package." - xbps-install -y lvm2 cryptsetup + # Prepare the crypto tool in the install target + echo "...Installing cryptsetup-initramfs package." + xbps-install -y lvm2 cryptsetup - # Prepare a key file to embed in to the ramfs. - echo "...Prepairing key file." - mkdir /etc/luks - dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 status=none - chmod u=rx,go-rwx /etc/luks - chmod u=r,go-rwx /etc/luks/boot_os.keyfile + # Prepare a new key file to embed in to the ramfs. + # This new file contains a new key to open the LUKS volume. + # The new key is 4096byte length binary value. + # Because this key is sotred as "cleartext", in the target file sysmte, + # only root is allowed to access this key file. + echo "...Prepairing key file." + mkdir /etc/luks + dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 status=none + chmod u=rx,go-rwx /etc/luks + chmod u=r,go-rwx /etc/luks/boot_os.keyfile - # Add a key to the key file. Use the passphrase in the environment variable. - echo "...Adding a key to the key file." - printf %s "${PASSPHRASE}" | cryptsetup luksAddKey --iter-time "${ITERTIME}" -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile + # Add the new key to the LUKS 2nd key slot. The passphrase is required to modify the LUKS keyslot. + echo "...Adding a key to the key file." + printf %s "${PASSPHRASE}" | cryptsetup luksAddKey --iter-time "${ITERTIME}" -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile - # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. - echo "...Adding LUKS volume info to /etc/crypttab." - echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab + # Register the LUKS voluem to /etc/crypttab to tell "This volume is encrypted" + echo "...Adding LUKS volume info to /etc/crypttab." + echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab - # Putting key file into the ramfs initial image - echo "...Registering key file to the ramfs" - echo 'install_items+=" /etc/luks/boot_os.keyfile /etc/crypttab " ' > /etc/dracut.conf.d/10-crypt.conf + # Add key file to the list of the intems in initfsram. + echo "...Registering key file to the ramfs" + echo 'install_items+=" /etc/luks/boot_os.keyfile /etc/crypttab " ' > /etc/dracut.conf.d/10-crypt.conf - # Finally, update the ramfs initial image with the key file. - echo "...Upadting initramfs." - xbps-reconfigure -fa - echo "...grub-mkconfig." - grub-mkconfig -o /boot/grub/grub.cfg + # Finally, update the ramfs initial image with the key file. + echo "...Upadting initramfs." + xbps-reconfigure -fa + echo "...grub-mkconfig." + grub-mkconfig -o /boot/grub/grub.cfg - # Leave chroot + # Leave chroot } # Execute job diff --git a/script/lib/common.sh b/script/lib/common.sh index 4f732b8..ec076b5 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -298,14 +298,15 @@ function post_install() { echo "...Mounting all other dirs." for n in proc sys dev tmp etc/resolv.conf; do mount --rbind "/$n" "${TARGETMOUNTPOINT}/$n"; done - # Copy all scripts to the target /tmp to in chroot session. + # Copy all scripts to the target /tmp for using in chroot session. echo "...Copy files in current dir to ${TARGETMOUNTPOINT}/tmp." mkdir "${TARGETMOUNTPOINT}/tmp/kaiten-yaki" cp -r ./* -t "${TARGETMOUNTPOINT}/tmp/kaiten-yaki" # Change root and create the keyfile and ramfs image for Linux kernel. - # The here document is script executed under chroot. And here we call - # the distribution dependent script "lib/chrooted_job_${DISTRIBUTIONSIGNATURE}.sh". + # The here-document is script executed under chroot. At here we call + # the distribution dependent script "lib/chrooted_job_${DISTRIBUTIONSIGNATURE}.sh", + # which was copied to /temp at previous code. echo "...Chroot to ${TARGETMOUNTPOINT}. and execute chrooted_job_${DISTRIBUTIONSIGNATURE}.sh" # shellcheck disable=SC2086 cat <<- HEREDOC | chroot "${TARGETMOUNTPOINT}" /bin/bash From e5417d78a3aa7c596ef4075e1b0574838ae2d828 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 8 Jul 2021 22:35:18 +0900 Subject: [PATCH 173/242] Fix the unmount fails Trial fix. Change the --rbinds to --make-slave. #17 --- script/lib/common.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/script/lib/common.sh b/script/lib/common.sh index ec076b5..b5fd1b4 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -296,7 +296,9 @@ function post_install() { # And mount other directories echo "...Mounting all other dirs." - for n in proc sys dev tmp etc/resolv.conf; do mount --rbind "/$n" "${TARGETMOUNTPOINT}/$n"; done + mount --make-slave "${TARGETMOUNTPOINT}" + mount --rbind /etc/resolv.conf "${TARGETMOUNTPOINT}"/resolv.conf +# for n in proc sys dev tmp etc/resolv.conf; do mount --rbind "/$n" "${TARGETMOUNTPOINT}/$n"; done # Copy all scripts to the target /tmp for using in chroot session. echo "...Copy files in current dir to ${TARGETMOUNTPOINT}/tmp." From c9b69412948af77851454653cb6644c1c0de3e1a Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 8 Jul 2021 22:48:19 +0900 Subject: [PATCH 174/242] Revert "Fix the unmount fails" This reverts commit e5417d78a3aa7c596ef4075e1b0574838ae2d828. --- script/lib/common.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/script/lib/common.sh b/script/lib/common.sh index b5fd1b4..ec076b5 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -296,9 +296,7 @@ function post_install() { # And mount other directories echo "...Mounting all other dirs." - mount --make-slave "${TARGETMOUNTPOINT}" - mount --rbind /etc/resolv.conf "${TARGETMOUNTPOINT}"/resolv.conf -# for n in proc sys dev tmp etc/resolv.conf; do mount --rbind "/$n" "${TARGETMOUNTPOINT}/$n"; done + for n in proc sys dev tmp etc/resolv.conf; do mount --rbind "/$n" "${TARGETMOUNTPOINT}/$n"; done # Copy all scripts to the target /tmp for using in chroot session. echo "...Copy files in current dir to ${TARGETMOUNTPOINT}/tmp." From 2ae4d6cd269840e324150fbb12f00881ad074d44 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 8 Jul 2021 23:09:02 +0900 Subject: [PATCH 175/242] Add -l option ot unmount to surpress the "busy" error --- script/lib/common.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/script/lib/common.sh b/script/lib/common.sh index ec076b5..ba80dff 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -315,9 +315,9 @@ function post_install() { source "lib/chrooted_job_${DISTRIBUTIONSIGNATURE}.sh" HEREDOC - # Unmount all + # Unmount all. -l ( lazy ) option is added to supress the busy error. echo "...Unmounting all." - umount -R "${TARGETMOUNTPOINT}" + umount -R -l "${TARGETMOUNTPOINT}" # Finishing message cat <<- HEREDOC From 20826f2f6903a2263ebcfcab88af068df9e178f3 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 8 Jul 2021 23:10:39 +0900 Subject: [PATCH 176/242] Update changelog Unmount fails #17 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1337cbf..af2b381 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ Record of the modification in project development. ### Fixed - [Issue 8 : Wrong message after cancellation ](https://github.com/suikan4github/kaiten-yaki/8) - [Issue 15 : CITERTIME parameter is not passed to the chrooted_job ](https://github.com/suikan4github/kaiten-yaki/15) +- [Issue 17 : Unmount fails ](https://github.com/suikan4github/kaiten-yaki/17) ### Known Issue From bde36aa1ea3b74933872172b9bc69a03dab3e2fe Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 10 Jul 2021 12:06:52 +0900 Subject: [PATCH 177/242] Refine the display message. No change on the executable code. --- script/lib/common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/lib/common.sh b/script/lib/common.sh index ba80dff..8fcb0ea 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -299,7 +299,7 @@ function post_install() { for n in proc sys dev tmp etc/resolv.conf; do mount --rbind "/$n" "${TARGETMOUNTPOINT}/$n"; done # Copy all scripts to the target /tmp for using in chroot session. - echo "...Copy files in current dir to ${TARGETMOUNTPOINT}/tmp." + echo "...Copying files in current dir to ${TARGETMOUNTPOINT}/tmp." mkdir "${TARGETMOUNTPOINT}/tmp/kaiten-yaki" cp -r ./* -t "${TARGETMOUNTPOINT}/tmp/kaiten-yaki" From badafda222079950475374dd083fd56750e041a9 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 10 Jul 2021 12:31:42 +0900 Subject: [PATCH 178/242] Update the README and INSTALL --- INSTALL.md | 24 ++++++++++++------------ README.md | 16 ++++++++++------ 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 4dd8f6e..e19f912 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -13,19 +13,19 @@ The first stage of the script is preparation like: erasing a disk, format partit In the second stage, the distribution-dependent GUI/TUI installer is invoked from the running script. That is the Ubiquity/void-installer of Ubuntu/Void Linux, respectively. -The third stage is easy. There is nothing the user can do. Everything is automatic. +The third configure the target Linux system to decrypt the encrypted volume automatically, without prompting user to type passphrase. In this stage, Everything is automatic. # Installation Follow the steps below. ## Shell preparation -First of all, promote the shell to root. Almost of the procedure requires root privilege. Note that the scripts require Bash. +First of all, promote the shell to root. Almost of the procedure in the installation requires root privilege. Note that the scripts require Bash. -In the case of Ubuntu : +In the case of Ubuntu installation: ```bash # Promote to the root user sudo -i /bin/bash ``` -In the case of Void-Linux : +In the case of Void Linux installation: ```bash sudo -i /bin/bash xbps-install -Su xbps nano @@ -47,7 +47,7 @@ Followings are the set of the default settings of the parameters : - In the case of EFI firmware, 200MB is allocated to the EFI partition (EFISIZE). - Create a logical volume group named "vg1" in the encrypted volume (VGNAME) - Create a swap logical volume named "swap" in the "vg1". The size is 8GB (LVSWAPNAME,LVSWAPSIZE) -- Create a logical volume named **"anko"** for / in the "vg1". The size of the **50%** of the entire free space (LVROOTNAME, LVROOTSIZE). +- Create a logical volume named **"anko"** as root volume, in the "vg1". The size of the new volume is the **50%** of the free space (LVROOTNAME, LVROOTSIZE). ```bash # Configuration parameters for Kaiten-Yaki @@ -97,9 +97,9 @@ export XTERMFONTSIZE=11 ``` There are several restrictions : -- For the first distribution installation, you must set ERASEALL to 1, to erase the entire screen and create a LUKS partition. Kaiten-yaki script creates a maximum LUKS partition as possible. -- The LVROOMNAME must be unique among all installations in a computer. Otherwise, Kaiten-yaki terminates in a middle. -- The LVSWAPNAME must be unique among all installations in a computer. Otherwise, Kaiten-yaki creates an unnecessary logical volume. This is a waste of storage resources. +- For the first distribution installation, you must set ERASEALL to 1, to erase the entire storage device and create a LUKS partition. Kaiten-yaki script creates a maximum LUKS partition as possible. +- The LVROOTNAME must be unique among all installations in a computer. Otherwise, Kaiten-yaki terminates in a middle. +- The LVSWAPNAME must be identical among all installations in a computer. Otherwise, Kaiten-yaki creates an unnecessary logical volume. This is a waste of storage resources. - The EFISIZE and the LVSWAPSIZE are refereed during the first distribution installation only. - The LVROOTSIZE is the size of a logical volume to create. This is a relative value to the existing free space in the volume group. If you want to install 3 distributions in a computer, you may want to set 33%FREE, 50%FREE, and 100%FREE for the first, second, and third distribution installation, respectively. - The name with "-" is not allowed for the VGNAME, LVROOTNAME, and LVSWAPNAME. I saw some installer doesn't work if "-" in in the name. @@ -108,7 +108,7 @@ The OVERWRITEINSTALL parameter allows you to use an existing logical volume as t This is very dangerous because of several aspects like destroying the wrong volume and the risk of security. But sometimes it is very useful. -For example, assume you are installing a distribution by Kaiten-yaki. If you reboot the system at the end of GUI/TUI installer by mistake, your system will never boot again. +For example, assume you are installing a distribution by Kaiten-yaki. If you reboot the system at the end of GUI/TUI installer by mistake, your system may never boot again. In this case, the overwrite-install can recycle this "bad" logical volume and let your system boot again. To use the overwrite-install, you have to set some parameters as follows: @@ -120,7 +120,7 @@ And set the following parameters as same as the previous installation. - VGNAME - CRYPTPARTNAME -So, Kaiten-yaki will leave the "bad" logical volume and allow you to overwrite it by GUI/TUI installer. +Kaiten-yaki will leave the "bad" logical volume and allow you to overwrite it by GUI/TUI installer. ### About ITERTIME parameter This parameter is recommended to left as default value (=0), unless you understand what it mean well. @@ -142,7 +142,7 @@ In the case of Void Linux ```bash source void-kaiten-yaki.sh ``` -After several interactive confirmations, Kaiten-yaki will ask you to input a passphrase. This passphrase will be applied to the encryption of the LUKS volume. Make sure you use identical passphrases between all installations of the distributions in a computer. Otherwise, the install process terminates with an error. +After several interactive confirmations, Kaiten-yaki will ask you to input a passphrase. This passphrase will be applied to the encryption of the LUKS volume. Make sure you use identical passphrases between all installations of the distributions in a computer. Otherwise, the install process terminates with an error, except the first distribution installation. ## Second stage : GUI/TUI installer After the first script finishes, the GUI/TUI installer starts automatically. Configure it as usual and run it. Ensure you map the following correctly. @@ -166,7 +166,7 @@ At the end of the GUI/TUI installing, do not reboot the system. Click "Continue" ## Third stage: Finalizing After GUI/TUI installer quits without rebooting, the final part of the install process automatically starts. -In this section, Kaiten-yaki put the encryption key of the LUKS volume into the ramfs initial stage to allow the Linux kernel to decrypt the LUKS partition which contains root logical volume. So, the system will ask you passphrase only once when GRUB starts. +In this section, Kaiten-yaki put the encryption key of the LUKS volume into the ramfs initial stage to allow the Linux kernel to decrypt the LUKS partition which contains root logical volume. Thus, the system will ask you passphrase only once when GRUB starts. You can reboot the system if you see the "Ready to reboot" message on the console. diff --git a/README.md b/README.md index 02f196d..309ba27 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # Kaiten-yaki: Full disk encryption install script for Linux -Kaiten-yaki is a script set to install to your desktop system. With these scripts, you can install Ubuntu/Void Linux to an encrypted partition easily. +Kaiten-yaki is a script set to install Linux to your desktop system. With these scripts, you can install Ubuntu/Void Linux to an encrypted partition easily. The followings are the list of functionalities: - Ubuntu and Void Linux. -- Install from LiveCD/USB. +- Help to install from LiveCD/USB. - Invoke GUI/TUI installer automatically at the middle of script execution, for the ease of installation. - Automatic detection of BIOS/EFI firmware and create MBR/GPT, respectively. - Create an EFI partition, if needed. @@ -14,7 +14,7 @@ The followings are the list of functionalities: With the configuration parameters, you can customize each installation. For example, you can configure the system to have 2, 3, or 4,... distributions in an HDD/SSD, as you want. -Following is the HDD/SSD partitioning plan of these scripts ( In the case of BIOS, the disk has MBR and doesn't have an EFI partition, while it is depicted here). +Following is the HDD/SSD partitioning plan of these scripts ( In the case of BIOS, the disk has MBR and doesn't have an EFI partition). ![Partition Diagram](image/partition_diagram_0.png) @@ -27,21 +27,25 @@ These scripts are tested with the following environment. - VMWare Workstation 15.5.7 ( EFI/BIOS ) - ThinkPad X220 (BIOS) - Ubuntu 20.04.2 amd64 desktop +- Ubuntu 21.04 amd64 desktop - Ubuntu Mate 20.04.2 amd64 desktop - void-live-x86_64-20210218-mate.iso - void-live-x86_64-musl-20210218-mate.iso - void-live-x86_64-20210218.iso # Installation -Start the PC with the LiveCD/LiveUSB of the distribution to install. Download this repository from GitHub, and expand it. +Rough procedure of the installation is as followings : +1. Start the PC with the LiveCD/LiveUSB of the distribution to install +1. Download this repository from GitHub +3. Run the script. -Then, go to the script directory and follow the procedure in the [INSTALL.md](INSTALL.md) +The detail procedure is explained in the [INSTALL.md](INSTALL.md). # Known issues If you install two or more Void Linux into the EFI system, only the last one can boot without trouble. This is not the problem of Kaiten-yaki. # Variants considerations -Ubuntu has several variants ( flavors ). While I have tested only MATE flavor, other flavors may work correctly as far as it uses Ubiquity installer. +Ubuntu has several variants ( flavors ). While while only the MATE flavor is tested, other flavors may work correctly as far as it uses Ubiquity installer. # Acknowledgments These scripts are based on the script by [myn's diary](https://myn.hatenablog.jp/entry/install-ubuntu-focal-with-lvm-on-luks). That page contains rich information, hint, and techniques around the encrypted volume and Ubiquity installer. From 8ad1362a3bdf16c3a3958279c9487c2bb30f31a3 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 10 Jul 2021 14:05:23 +0900 Subject: [PATCH 179/242] Add an01 Add a document of how to receover from the mistyping of passphrase Issue#21 --- appnote/an01_howtorecover.md | 62 +++++++++++++++++++++++++++++++++++ image/an01_bios.png | Bin 0 -> 5718 bytes image/an01_efi.png | Bin 0 -> 10519 bytes image/an01_normal.png | Bin 0 -> 7280 bytes 4 files changed, 62 insertions(+) create mode 100644 appnote/an01_howtorecover.md create mode 100755 image/an01_bios.png create mode 100755 image/an01_efi.png create mode 100755 image/an01_normal.png diff --git a/appnote/an01_howtorecover.md b/appnote/an01_howtorecover.md new file mode 100644 index 0000000..c715be6 --- /dev/null +++ b/appnote/an01_howtorecover.md @@ -0,0 +1,62 @@ +# How to recover from the mistyping of the passphrase +The mistyping of the passphrase is painful, in the full disk encrypted Linux. + +In the usual encrypted Ubuntu install by Ubiquity, mistyping os passphrase is warn by the kernel, and prompted to re-type. But in the full encrypted system, the user sees a boring message and command prompt. Usually, the user just gives up and reboot. It adds tens of second to reboot, and discourage the under to use a long passphrase. + +![bios](../image/an01_bios.png) + +This application note explains how to recover from this condition, quickly. + +# BIOS system +In the BIOS system, the recovery is pretty easy. + +In the case of the mistyping passphrase, GRUB goes into rescue mode. In this mode, the user can recover from 3 commands. + +``` +cryptomount -a +insmod normal +normal +``` + +The **cryptomount** command tries to mount the specific encrypted partition to boot. To mount it, the GRUB prompts the user to type the passphrase. The "-a" option specifies all encrypted partitions. If the system is encrypted by Kaiten-yaki, it has only one encrypted partition. So, this is the easiest way. + +The **insmod** command loads the specified GRUB command module from the mounted storage and inserts it into the command list. The second line loads the "normal" command which displays the normal menu to the user. + +Finally, **normal** command shows the normal boot menu to the user. + +Now, the user can select the system to boot as usual. + +# EFI system +In the EFI system, recovery needs extra steps compared to the BIOS system. + +Alternatively, GURB is not in the rescue mode but the normal mode, even the passphrase is mistyped. So, the user can use command completion. This is better than the BIOS system. + +The first step of the recovery is the same with the BIOS system. +``` +cryptomount -a +``` +Again, in the EFI system, the user can use the command completion by pressing the [TAB] key. + +The second step is unique in the EFI system. By using **ls** command check the list of volumes existing in the system, and identify which volume contains the grub menu. And then, pick that volume and assign it to the **prefix** variable, with grub path. + +Following is the example. The (lvm/vg1-mate) is dependent on the system. It has to be substituted by the appropriate volume name for each system. + +``` +ls +set prefix=(lvm/vg1-mate)/boot/grub +``` + +Then, the third step is the same with the BIOS systems. + +``` +insmod normal +normal +``` +Following is the screenshot of the command sequence to recover the mistyping of the passphrase. + +![bios](../image/an01_efi.png) + +## Summary +In the full disk encrypted system, mistyping of the passphrase is more painful than the partially encrypted system. The user can overcome this situation with several steps of commands and can show the normal boot menu. + +![bios](../image/an01_normal.png) diff --git a/image/an01_bios.png b/image/an01_bios.png new file mode 100755 index 0000000000000000000000000000000000000000..034f2e73da997a3690aa576240190a9a07c65bfd GIT binary patch literal 5718 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%0A_51%_cT# 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 R06?E_gAX65|0dyY{|&1t5widQ literal 0 HcmV?d00001 diff --git a/image/an01_normal.png b/image/an01_normal.png new file mode 100755 index 0000000000000000000000000000000000000000..a90c26f994168e5ec5efb5d569155467c99f2955 GIT binary patch literal 7280 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 bRmC=BcfY|(Y2n%?5jgAY;Z$?-!p;8y(+Fdk literal 0 HcmV?d00001 From 06a03441afd8fe3a5d7ba3086827fb0b4e778587 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 10 Jul 2021 14:08:09 +0900 Subject: [PATCH 180/242] Add AN01 to the README --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 309ba27..4fc481d 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,9 @@ If you install two or more Void Linux into the EFI system, only the last one can # Variants considerations Ubuntu has several variants ( flavors ). While while only the MATE flavor is tested, other flavors may work correctly as far as it uses Ubiquity installer. +# Application notes +- [AP01 : How to recover from the mistyping of the passphrase](appnote/an01_howtorecover.md) + # Acknowledgments These scripts are based on the script by [myn's diary](https://myn.hatenablog.jp/entry/install-ubuntu-focal-with-lvm-on-luks). That page contains rich information, hint, and techniques around the encrypted volume and Ubiquity installer. From 8fd083a0ebbab1a1dd1b8153563219d5eba21561 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 10 Jul 2021 15:19:38 +0900 Subject: [PATCH 181/242] Add an0. Still writing --- appnote/an02_keyslot.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 appnote/an02_keyslot.md diff --git a/appnote/an02_keyslot.md b/appnote/an02_keyslot.md new file mode 100644 index 0000000..88872f8 --- /dev/null +++ b/appnote/an02_keyslot.md @@ -0,0 +1,28 @@ +# Managing LUKS key slots +If somebody want to install two or three distributions into a system, Kaiten-yaki works perfectly. There is not problem at all. + +On the other hand, some extreme cases like installing distributions as many as possible, or repeating the overwrite installation, the user must understand and manage the LUKS key slots well. + +This application note explains the limitations and difficulties by the number of LUKS key slots, and how to overcome that limitation( if possible ). + +# The LUKS key slots +The LUKS volume has 8 key slots. That means, up to 8 key hashes can be stored. In other words, user can use 8 different keys to open a LUKS volume. + +In this case, the "user" is not limited as human being. Any software can use passphrase to open a LUKS volume. Thus, even the "user" is one person, multiple key slot may be used. + +If some user ( or software ) feed the passpharse to open a LUKS, the management software ( dm-crypt library ) scans keyslots and check whether there is a macching slot or not. If there is a slot which stored hash value maches with the hash value of the given passphrase, that passphrase is the right one. + +# Usage of key slots by Kaiten-yaki +Kaiten-yaki N+1 LUKS key slots to install the N distributions in a system. + +Whenever Kaiten-yaki create a LUKS volume, it registers the passphrase typed by the user. This passphrase is stored in to the key slot 0. So, when user type his passphrase correctly, it will be matched with the has value in the slot 0, by default. + +In addition to the user passphrase, Kaiten-yaki uses one key slot to register the passphrase to open the LUKS volume from the linux kernel. This passphrase is different from the + +# Overwrite installation + +# Managing key slots + + +# A dirty hack + From 81a07816165a2fc01377ad775be9701cdd43e135 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 10 Jul 2021 22:18:09 +0900 Subject: [PATCH 182/242] Add AN02 key slot. Add a consideration of the number of key slot Issue #18 --- appnote/an02_keyslot.md | 78 +++++++++++++++++++++++++++++++++++------ 1 file changed, 67 insertions(+), 11 deletions(-) diff --git a/appnote/an02_keyslot.md b/appnote/an02_keyslot.md index 88872f8..74766c6 100644 --- a/appnote/an02_keyslot.md +++ b/appnote/an02_keyslot.md @@ -1,28 +1,84 @@ # Managing LUKS key slots -If somebody want to install two or three distributions into a system, Kaiten-yaki works perfectly. There is not problem at all. +If somebody wants to install two or three distributions into a system, Kaiten-yaki works perfectly. There is no problem at all. -On the other hand, some extreme cases like installing distributions as many as possible, or repeating the overwrite installation, the user must understand and manage the LUKS key slots well. +On the other hand, some extreme cases like installing distributions as many as possible, or repeating the overwrite installation unveils the limitation of the number of the LUKS key slots. The user must understand and must manage the LUKS key slots well, to handle these cases. -This application note explains the limitations and difficulties by the number of LUKS key slots, and how to overcome that limitation( if possible ). +This application note explains the limitations and difficulties that come from the number of LUKS key slots, and how to overcome that limitation( if possible ). # The LUKS key slots -The LUKS volume has 8 key slots. That means, up to 8 key hashes can be stored. In other words, user can use 8 different keys to open a LUKS volume. +The LUKS volume has 8 key slots. That means, up to 8 key hash values can be stored. In other words, the user can use 8 different keys to open a LUKS volume. -In this case, the "user" is not limited as human being. Any software can use passphrase to open a LUKS volume. Thus, even the "user" is one person, multiple key slot may be used. +In this context, the "user" is not limited to a human being. Any software can use a passphrase to open a LUKS volume. Thus, even only one person uses a computer, multiple key slots may be used. -If some user ( or software ) feed the passpharse to open a LUKS, the management software ( dm-crypt library ) scans keyslots and check whether there is a macching slot or not. If there is a slot which stored hash value maches with the hash value of the given passphrase, that passphrase is the right one. +If some user ( or software ) feeds a passphrase to open a LUKS volume, the management software ( dm-crypt library ) scans key slots and check whether there is a matching slot or not. If there is a slot in which the stored hash value matches with the hash value of the given passphrase, that passphrase is the right one. -# Usage of key slots by Kaiten-yaki -Kaiten-yaki N+1 LUKS key slots to install the N distributions in a system. +# How Kaiten-yaki uses the LUKS key slots +Kaiten-yaki uses N+1 LUKS key slots to install the N distributions in a system ( where N is an integer ). -Whenever Kaiten-yaki create a LUKS volume, it registers the passphrase typed by the user. This passphrase is stored in to the key slot 0. So, when user type his passphrase correctly, it will be matched with the has value in the slot 0, by default. +Whenever Kaiten-yaki creates a LUKS volume, it registers a passphrase typed by the user. This passphrase is stored in the key slot 0. So, when the user types his passphrase correctly, its hash will be matched with the hash value in slot 0, by default. -In addition to the user passphrase, Kaiten-yaki uses one key slot to register the passphrase to open the LUKS volume from the linux kernel. This passphrase is different from the +In addition to the user passphrase, Kaiten-yaki uses one key slot to register the passphrase to open the LUKS volume from the Linux kernel. This passphrase is different from the user passphrase. This passphrase is random binary brock generated by /dev/random. This key is stored in the file under /etc/luks. Even somebody watches its value over the shoulder, the risk is small because it is difficult to ready for a human being. +Anyway, this usage defines the maximum number of Linux installed in a system. That is 7 if all are installed by Kaiten-yaki. If a user try to install the 8th distribution in a LUKS volume with Kaiten-yaki, it will fail because there is no vacant LUKS key slot. # Overwrite installation +The overwrite installation is another case that consumes a LUKS key slot. +if the variable OVERWITEINSTALL in config.sh is set to 1, Kaiten-yaki just overwrites an existing logical volume in the LUKS volume. Also, in this case, Kaiten-yaki registers a new key file for the new installation. Thus, while the number of the installed Linux is the same, the number of the used LUKS key slot is increased. + +Eventually, the user fails to install even the installed Linux is 2 or 3, if there is not vacant LUKS key slot. # Managing key slots +Some users may want to delete a key slot to install another distribution. In this case, they must know which LUKS key slots are used or not. +This section explains how to investigate the used slots. -# A dirty hack +First of all, user can l +The example of this command is shown below. Slot 0, 1, and 2 are occupied : +``` +takemasa@mate-vm:~$ sudo cryptsetup luksDump /dev/sda2 | grep -i bled +Key Slot 0: ENABLED +Key Slot 1: ENABLED +Key Slot 2: ENABLED +Key Slot 3: DISABLED +Key Slot 4: DISABLED +Key Slot 5: DISABLED +Key Slot 6: DISABLED +Key Slot 7: DISABLED +``` +If there is still a vacant LUKS key slot, the user can install another distribution without deleting the existing slot. But if there is not vacant LUKS key slot at all, the user must delete an occupied but unused slot. To know such a slot, the user must mark all the occupied and used slots. +First of all, check the LUKS key slot for the user passphrase. Run the followings command. +```shell +cryptsetup -v --test-passphrase luksOpen /dev/sdXN +``` +Where X is a, b, c..., N is 1, 2, 3... + +The command will prompt to type the passphrase to decrypt. If the user types the correct passphrase, the command shows the key slot number of that passphrase. The followings are the example : +``` +takemasa@mate-vm:~$ sudo cryptsetup -v --test-passphrase luksOpen /dev/sda2 +Enter passphrase for /dev/sda2: +Key slot 0 unlocked. +Command successful. +``` +We can see the slot 0 is used. + +Next, run the following command **for each** installation of distribution. This command shows the slot number which stores the key of the passphrase file passing to the kernel. /etc/luks/boot_os.keyfile is created by Kaiten-yaki, during the installation + +```shell +sudo cryptsetup -v --test-passphrase luksOpen /dev/sdXN --key-file /etc/luks/boot_os.keyfile +``` +Followings are the sample execution : +``` +takemasa@mate-vm:~$ sudo cryptsetup -v --test-passphrase luksOpen /dev/sda2 --key-file /etc/luks/boot_os.keyfile +Key slot 2 unlocked. +Command successful. +``` +By repeating this command inside all installations, the user can list up the occupied and used slots. The other slots are occupied but not used. + +Finally, the user can delete the appropriate occupied but not used LUKS key slot by the following command. +```shell +sudo cryptsetup luksKillSlot /dev/sdXN key_slot_number_to_delete +``` +# Conclusion +For the typical case like installing 2 or 3 distributions in a system, there is no problem to use Kaiten-yaki, at all. + +But if users want to install as many as possible, or repeat the overwrite install, they must understand the number of the LUKS key slots. \ No newline at end of file From fe7a4a1439d855d82f36108f833e6b9f59570d14 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 10 Jul 2021 22:21:39 +0900 Subject: [PATCH 183/242] Add AN02 to README --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4fc481d..9e75a32 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,8 @@ If you install two or more Void Linux into the EFI system, only the last one can Ubuntu has several variants ( flavors ). While while only the MATE flavor is tested, other flavors may work correctly as far as it uses Ubiquity installer. # Application notes -- [AP01 : How to recover from the mistyping of the passphrase](appnote/an01_howtorecover.md) +- [AN01 : How to recover from the mistyping of the passphrase](appnote/an01_howtorecover.md) +- [AN02 : Managing LUKS key slots](appnote/an02_keyslot.md) # Acknowledgments These scripts are based on the script by [myn's diary](https://myn.hatenablog.jp/entry/install-ubuntu-focal-with-lvm-on-luks). That page contains rich information, hint, and techniques around the encrypted volume and Ubiquity installer. From 75d7a7ccc357151d7243c9a945e2b22ac4ca1507 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 11 Jul 2021 10:34:27 +0900 Subject: [PATCH 184/242] ADD AN03 itertime Add a consideration of LUKS stretching Issue #20 --- README.md | 1 + appnote/an02_keyslot.md | 2 +- appnote/an03_itertime.md | 48 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 appnote/an03_itertime.md diff --git a/README.md b/README.md index 9e75a32..3002494 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,7 @@ Ubuntu has several variants ( flavors ). While while only the MATE flavor is tes # Application notes - [AN01 : How to recover from the mistyping of the passphrase](appnote/an01_howtorecover.md) - [AN02 : Managing LUKS key slots](appnote/an02_keyslot.md) +- [AN03 : The ITERTIME parameter and vulnerability](appnote/an03_itertime.md) # Acknowledgments These scripts are based on the script by [myn's diary](https://myn.hatenablog.jp/entry/install-ubuntu-focal-with-lvm-on-luks). That page contains rich information, hint, and techniques around the encrypted volume and Ubiquity installer. diff --git a/appnote/an02_keyslot.md b/appnote/an02_keyslot.md index 74766c6..2b04fc4 100644 --- a/appnote/an02_keyslot.md +++ b/appnote/an02_keyslot.md @@ -1,4 +1,4 @@ -# Managing LUKS key slots +# AN02 Managing LUKS key slots If somebody wants to install two or three distributions into a system, Kaiten-yaki works perfectly. There is no problem at all. On the other hand, some extreme cases like installing distributions as many as possible, or repeating the overwrite installation unveils the limitation of the number of the LUKS key slots. The user must understand and must manage the LUKS key slots well, to handle these cases. diff --git a/appnote/an03_itertime.md b/appnote/an03_itertime.md new file mode 100644 index 0000000..7145cca --- /dev/null +++ b/appnote/an03_itertime.md @@ -0,0 +1,48 @@ +# AN03 The ITERTIME parameter and vulnerability +The ITERTIME configuration parameter in the config.sh can provide a better user experience during the passphrase input. It can reduce the pain of the longer passphrase and encourage users to use longer passphrases. + +On the other hand, it may pull a vulnerability. + +The followings are the consideration around the ITERTIME parameter. + +## The passphrase experience +Let's assume there is a Ubuntu desktop system in which the disk was encrypted by Ubiquity installer without Kaiten-yaki. In this system, the /boot partition is installed as a separate and un-encrypted state. So, the Linux kernel file is not protected. + +If the user mistyped the passphrase at boot, Ubuntu prompts to type a passphrase again. There is no pain. It just asks. + +Now, what's happen if a user mistyped the passphrase on the Kaiten-yaki installed system. It takes a very wrong time to see the error message. And the system doesn't prompt to type again ( The prompt issue is discussed in the [AN01](an01_howtorecover.md) ). Especially, the more number of the installations in a system makes the longer duration till the error message. Sometimes this is unbearable pain to the user. + +This kind of pain de-motivates users to use a long passphrase, because the longer passphrase causes more mistypes. As a result, some users may use the shorter passphrase. The bad user experience of passphrase input may help the malicious attackers. + +## Why the full disk encryption is so slow at passphrase input +GRUB is the root cause of this slow user passphrase matching. + +The passphrase is hashed and stored to LUKS key slot when a LUKS volume is created ( or, a new passphrase is added ). The stored hash value is not simple. The cryptsetup command makes hash value from the user passphrase. And then, create the next hash from this hash. And then, create a third hash from the 2nd hash, so on. This repeating is named [key stretching](https://en.wikipedia.org/wiki/Key_stretching). + +The key stretching technique enforces malicious attackers using more computation resources on the brute force attacking. The more stretching iteration times require the more resources to attack. + +Of course, there is a balance and security strength. By default, the cryptsetup command takes the iteration needing 1 sect to calculate the passphrase hash, for the LUKS1 format. This sounds like a good balance. The cryptsetup runs on Linux when it calculates the appropriate iteration of key stretching. So, there is no problem if Linux challenges user passwords. It will take about 1 sec, by default. + +But there is a pitfall. On the full disk encryption system by Kaiten-yaki, the /boot is encrypted. So, to load the Linux kernel, GRUB has to decrypt the LUKS volume. That means GRUB has to calculate the passphrase hash. Unfortunately, this calculation is slower than Linux's one. Thus the user has to wait longer than 1 second. + +The duration by GRUB is up to the system. It depends on the CPU. Also, In addition to this slow hashing, GRUB has to scan all used key slots when the user mistyped. For example, if 3 distributions are installed in a LUKS volume by Kaiten-yaki, 4 key slots are used. Thus, if it takes 10 seconds to challenged one hash by GRUB, this system takes 40seconds to show "The wrong password". + +This is the mechanism of the slow response at the passphrase input. +## The key stretching, the --iter-time parameter, and the vulnerability +Kaiten-yaki can relax this pain by ITERTIME configuration parameter in config.sh. This parameter is passed to the cryptsetup command as --iter-time parameter. + +By setting 1000 to the ITERTIME, cryptsetup takes the key stretching iteration cycle to take 1000 milliseconds. By setting 100, it will be 100 milliseconds. It is believed the default value of --iter-time is 1000 ( Its compile default ). Thus, choosing 100 as ITERTIME makes the duration to the "Wrong password" 4 seconds, in the above example. This sounds acceptable. + +On the other hand, the smaller ITERTIME is the weaker to the bute force attack. It is assumed the strength of the passphrase hash is linear to the ITERTIME parameter ( --iter-time parameter of cryptsetup ). + +## The longer passphrase vs. longer key stretching +While the passphrase hash strength is considered linear to the key stretching iteration, the passphrase strength is exponential to its length. + +There many discussions on the strength of the passphrase. Simply speaking, Adding one alphabet ( a-z ) may expand its strength 26 times. That is why the long passphrase is very important. + +The 1/10 strength of the key stretching can be covered by adding 1 character to the passphrase. + +## Conclusion +The full disk encryption will give big pain to the user at the passphrase input phase. It seems to be reasonable to use the smaller ITERTIME ( --iter-time ) parameter to encourage the user to use the longer passphrase like 20 letters, from the viewpoint of security. + +The security policy is up to the people, community, and mission. The consideration here assumed the desktop PC as a hobby. For mission-critical usage, the user should consult security experts. \ No newline at end of file From 1e3eb8943f11c7dcf81f7e0b5d756ed071a7171b Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 11 Jul 2021 10:39:46 +0900 Subject: [PATCH 185/242] Update changelog. --- CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index af2b381..6029898 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,10 @@ Record of the modification in project development. ## [Unreleased] - yyyy-mm-dd ### Added -- [Issue 13 : Add ITERTIME configuration parameter to config.txt #13](https://github.com/suikan4github/kaiten-yaki/issues/13) +- [Issue 13 : Add ITERTIME configuration parameter to config.txt](https://github.com/suikan4github/kaiten-yaki/issues/13) +- [Issue 18 : Add a consideration of the number of key slot](https://github.com/suikan4github/kaiten-yaki/issues/18) +- [Issue 20 : Add a consideration of LUKS stretching](https://github.com/suikan4github/kaiten-yaki/issues/20) +- [Issue 21 : Add a document of how to recover from the mistyping of passphrase](https://github.com/suikan4github/kaiten-yaki/issues/21) ### Changed - [Issue 5 : OVERWRITEINSTALL confirmation is missing](https://github.com/suikan4github/kaiten-yaki/issues/5) From aaa5609a9a90353a0b5bf43fefdc1c4c6fc8bc6e Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 11 Jul 2021 10:41:06 +0900 Subject: [PATCH 186/242] Add number to the title --- appnote/an01_howtorecover.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appnote/an01_howtorecover.md b/appnote/an01_howtorecover.md index c715be6..c7645af 100644 --- a/appnote/an01_howtorecover.md +++ b/appnote/an01_howtorecover.md @@ -1,4 +1,4 @@ -# How to recover from the mistyping of the passphrase +# AN01 : How to recover from the mistyping of the passphrase The mistyping of the passphrase is painful, in the full disk encrypted Linux. In the usual encrypted Ubuntu install by Ubiquity, mistyping os passphrase is warn by the kernel, and prompted to re-type. But in the full encrypted system, the user sees a boring message and command prompt. Usually, the user just gives up and reboot. It adds tens of second to reboot, and discourage the under to use a long passphrase. From f6033433ad55e0ba4d9ffb5ce80018bbba4681a1 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 11 Jul 2021 12:51:21 +0900 Subject: [PATCH 187/242] Add AN04 partition Add a considration of more flexible partitionning Issue #19 --- INSTALL.md | 2 +- appnote/an02_keyslot.md | 6 ++--- appnote/an04_favoritepartition.md | 43 +++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 appnote/an04_favoritepartition.md diff --git a/INSTALL.md b/INSTALL.md index e19f912..dcf3c30 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -6,7 +6,7 @@ Installation requires mainly 2 steps. - Run the kaiten-yaki script You can execute the install script without the command line parameter. For example : -```shell +```sh source ubuntu-kaiten-yaki.sh ``` The first stage of the script is preparation like: erasing a disk, format partition, and encryption. This is the most critical stage of the entire installation process. This part is controlled by the configuration parameter. Thus, you have to edit the config.txt carefully. diff --git a/appnote/an02_keyslot.md b/appnote/an02_keyslot.md index 2b04fc4..3cd0a28 100644 --- a/appnote/an02_keyslot.md +++ b/appnote/an02_keyslot.md @@ -47,7 +47,7 @@ Key Slot 7: DISABLED If there is still a vacant LUKS key slot, the user can install another distribution without deleting the existing slot. But if there is not vacant LUKS key slot at all, the user must delete an occupied but unused slot. To know such a slot, the user must mark all the occupied and used slots. First of all, check the LUKS key slot for the user passphrase. Run the followings command. -```shell +```sh cryptsetup -v --test-passphrase luksOpen /dev/sdXN ``` Where X is a, b, c..., N is 1, 2, 3... @@ -63,7 +63,7 @@ We can see the slot 0 is used. Next, run the following command **for each** installation of distribution. This command shows the slot number which stores the key of the passphrase file passing to the kernel. /etc/luks/boot_os.keyfile is created by Kaiten-yaki, during the installation -```shell +```sh sudo cryptsetup -v --test-passphrase luksOpen /dev/sdXN --key-file /etc/luks/boot_os.keyfile ``` Followings are the sample execution : @@ -75,7 +75,7 @@ Command successful. By repeating this command inside all installations, the user can list up the occupied and used slots. The other slots are occupied but not used. Finally, the user can delete the appropriate occupied but not used LUKS key slot by the following command. -```shell +```sh sudo cryptsetup luksKillSlot /dev/sdXN key_slot_number_to_delete ``` # Conclusion diff --git a/appnote/an04_favoritepartition.md b/appnote/an04_favoritepartition.md new file mode 100644 index 0000000..701c49c --- /dev/null +++ b/appnote/an04_favoritepartition.md @@ -0,0 +1,43 @@ +# AN04 How to make LUKS volume to the favorite partition +Kaiten-yaki creates the LUKS volume on the 1st partition for the BIOS system ( 2nd partition for the UEFI system ) by default. Also, Kaiten-yaki assigns all space for the LUKS volume, except the space for the EFI partition. + +This application note explains how to use the favorite partition with favorite size for LUKS volume. + +## Step 1: Making partitions +To use custom partitioning, the user must create all partitions by themselves. The user can do it with the popular partitioning tool like gparted. It is recommended to set the partition table as MBR and GPT for BIOS and UEFI systems, respectively. + +In this documentation, we assume the user wants to use /dev/sdb3 as LUKS partition to install Ubuntu. +## Step 2: Configuration +Next user must configure the config.sh. + +The first parameter to edit is **DEV** parameter which represents the target device. In this example, it must be set as /dev/sdb. +```sh +export DEV="/dev/sdb" +``` +The second parameter to edit is **CRYPTPARTITION**. By default, this parameter is set automatically according to the firmware type. The EFIPARTITION parameter can be left untouched. This parameter is not used. +```sh +if [ ${ISEFI} -ne 0 ] ; then +# EFI firmware +export EFIPARTITION=1 +export CRYPTPARTITION=3 +else +# BIOS firmware +export CRYPTPARTITION=3 +fi # EFI firmware +``` +Makes sure the **ERASEALL** and **OVERWRITEINSTALL** are 0. +## Step 3: Make LUKS partition +After saving the customer config.sh, run the following command to set the environment variable. +```sh +source config.sh +``` +Then, run the following command to create a LUKS volume. +```sh +cryptsetup luksFormat --iter-time "${ITERTIME}" --type=luks1 --key-file "${DEV}${CRYPTPARTITION}" +``` +This command sets up the LUKS volume on the specified partition. This command also asks for the passphrase of this LUKS volume. +## Step 4: Run Kaiten-yaki +Now, it's a time to run Kaiten-yaki +```sh +kaiten-yaki-ubuntu +``` \ No newline at end of file From e3d957c4be8c40de8028654f7525ab7cf968aab2 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 11 Jul 2021 12:54:34 +0900 Subject: [PATCH 188/242] Corrected spell. --- INSTALL.md | 4 ++-- appnote/an04_favoritepartition.md | 4 ++-- script/config.sh | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index dcf3c30..b0b01bd 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -76,13 +76,13 @@ export EFISIZE="200M" export LVSWAPSIZE="8G" # Usually, these names can be left untouched. -# If you change, keep them consistent through all instllation in your system. +# If you change, keep them consistent through all installation in your system. export CRYPTPARTNAME="luks_volume" export VGNAME="vg1" export LVSWAPNAME="swap" # Do not touch this parameter, unless you understand what you are doing. -# 1 : Overwrite the existing logical volume as root vlume. +# 1 : Overwrite the existing logical volume as root volume. # 0 : Create new logical volume as root volume. export OVERWRITEINSTALL=0 diff --git a/appnote/an04_favoritepartition.md b/appnote/an04_favoritepartition.md index 701c49c..0335198 100644 --- a/appnote/an04_favoritepartition.md +++ b/appnote/an04_favoritepartition.md @@ -1,10 +1,10 @@ # AN04 How to make LUKS volume to the favorite partition -Kaiten-yaki creates the LUKS volume on the 1st partition for the BIOS system ( 2nd partition for the UEFI system ) by default. Also, Kaiten-yaki assigns all space for the LUKS volume, except the space for the EFI partition. +Kaiten-yaki creates the LUKS volume on the 1st partition for the BIOS system ( 2nd partition for the EFI system ) by default. Also, Kaiten-yaki assigns all space for the LUKS volume, except the space for the EFI partition. This application note explains how to use the favorite partition with favorite size for LUKS volume. ## Step 1: Making partitions -To use custom partitioning, the user must create all partitions by themselves. The user can do it with the popular partitioning tool like gparted. It is recommended to set the partition table as MBR and GPT for BIOS and UEFI systems, respectively. +To use custom partitioning, the user must create all partitions by themselves. The user can do it with the popular partitioning tool like gparted. It is recommended to set the partition table as MBR and GPT for BIOS and EFI systems, respectively. In this documentation, we assume the user wants to use /dev/sdb3 as LUKS partition to install Ubuntu. ## Step 2: Configuration diff --git a/script/config.sh b/script/config.sh index 7e79a78..bb378c0 100644 --- a/script/config.sh +++ b/script/config.sh @@ -26,13 +26,13 @@ export EFISIZE="200M" export LVSWAPSIZE="8G" # Usually, these names can be left untouched. -# If you change, keep them consistent through all instllation in your system. +# If you change, keep them consistent through all installation in your system. export CRYPTPARTNAME="luks_volume" export VGNAME="vg1" export LVSWAPNAME="swap" # Do not touch this parameter, unless you understand what you are doing. -# 1 : Overwrite the existing logical volume as root vlume. +# 1 : Overwrite the existing logical volume as root volume. # 0 : Create new logical volume as root volume. export OVERWRITEINSTALL=0 From a79ad35fe0e0a089f3233c856b5c7111562d9d68 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 11 Jul 2021 13:52:09 +0900 Subject: [PATCH 189/242] Correct the AN04 based on the experiment --- appnote/an04_favoritepartition.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/appnote/an04_favoritepartition.md b/appnote/an04_favoritepartition.md index 0335198..b81f96d 100644 --- a/appnote/an04_favoritepartition.md +++ b/appnote/an04_favoritepartition.md @@ -6,23 +6,23 @@ This application note explains how to use the favorite partition with favorite s ## Step 1: Making partitions To use custom partitioning, the user must create all partitions by themselves. The user can do it with the popular partitioning tool like gparted. It is recommended to set the partition table as MBR and GPT for BIOS and EFI systems, respectively. -In this documentation, we assume the user wants to use /dev/sdb3 as LUKS partition to install Ubuntu. +In this documentation, we assume the user wants to use /dev/sda5 as LUKS partition to install Ubuntu. ## Step 2: Configuration Next user must configure the config.sh. The first parameter to edit is **DEV** parameter which represents the target device. In this example, it must be set as /dev/sdb. ```sh -export DEV="/dev/sdb" +export DEV="/dev/sda" ``` The second parameter to edit is **CRYPTPARTITION**. By default, this parameter is set automatically according to the firmware type. The EFIPARTITION parameter can be left untouched. This parameter is not used. ```sh if [ ${ISEFI} -ne 0 ] ; then # EFI firmware export EFIPARTITION=1 -export CRYPTPARTITION=3 +export CRYPTPARTITION=5 else # BIOS firmware -export CRYPTPARTITION=3 +export CRYPTPARTITION=5 fi # EFI firmware ``` Makes sure the **ERASEALL** and **OVERWRITEINSTALL** are 0. @@ -33,11 +33,11 @@ source config.sh ``` Then, run the following command to create a LUKS volume. ```sh -cryptsetup luksFormat --iter-time "${ITERTIME}" --type=luks1 --key-file "${DEV}${CRYPTPARTITION}" +cryptsetup luksFormat --iter-time "${ITERTIME}" --type=luks1 "${DEV}${CRYPTPARTITION}" ``` This command sets up the LUKS volume on the specified partition. This command also asks for the passphrase of this LUKS volume. ## Step 4: Run Kaiten-yaki Now, it's a time to run Kaiten-yaki ```sh -kaiten-yaki-ubuntu +source kaiten-yaki-ubuntu ``` \ No newline at end of file From f1ad8ae660caabd9b9b339f7ba0c40282306fe8a Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 11 Jul 2021 13:59:42 +0900 Subject: [PATCH 190/242] Add AN04 to README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3002494..b22dc3a 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,7 @@ Ubuntu has several variants ( flavors ). While while only the MATE flavor is tes - [AN01 : How to recover from the mistyping of the passphrase](appnote/an01_howtorecover.md) - [AN02 : Managing LUKS key slots](appnote/an02_keyslot.md) - [AN03 : The ITERTIME parameter and vulnerability](appnote/an03_itertime.md) +- [AN04 : How to make LUKS volume to the favorite partition](appnote/an04_favoritepartition.md) # Acknowledgments These scripts are based on the script by [myn's diary](https://myn.hatenablog.jp/entry/install-ubuntu-focal-with-lvm-on-luks). That page contains rich information, hint, and techniques around the encrypted volume and Ubiquity installer. From 40972cebaf3b832f51963437b5c227f0bcfb5ec3 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 11 Jul 2021 14:31:21 +0900 Subject: [PATCH 191/242] Update the documentation --- appnote/an01_howtorecover.md | 14 +++++++------- appnote/an02_keyslot.md | 13 ++++++------- appnote/an03_itertime.md | 10 +++++----- appnote/an04_favoritepartition.md | 7 ++++--- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/appnote/an01_howtorecover.md b/appnote/an01_howtorecover.md index c7645af..6cc3b9a 100644 --- a/appnote/an01_howtorecover.md +++ b/appnote/an01_howtorecover.md @@ -1,7 +1,7 @@ # AN01 : How to recover from the mistyping of the passphrase The mistyping of the passphrase is painful, in the full disk encrypted Linux. -In the usual encrypted Ubuntu install by Ubiquity, mistyping os passphrase is warn by the kernel, and prompted to re-type. But in the full encrypted system, the user sees a boring message and command prompt. Usually, the user just gives up and reboot. It adds tens of second to reboot, and discourage the under to use a long passphrase. +In the usual encrypted Ubuntu install by Ubiquity, mistyping disk passphrase is warned by the kernel, and prompted to re-type. But in the full encrypted system, the user sees a boring message and command prompt. Usually, the user just gives up and reboot. It adds tens of second to reboot, and discourage the user to use a long passphrase. ![bios](../image/an01_bios.png) @@ -10,7 +10,7 @@ This application note explains how to recover from this condition, quickly. # BIOS system In the BIOS system, the recovery is pretty easy. -In the case of the mistyping passphrase, GRUB goes into rescue mode. In this mode, the user can recover from 3 commands. +In the case of the mistyping passphrase, GRUB goes into rescue mode. The user can recover by 3 commands from this mode. ``` cryptomount -a @@ -18,9 +18,9 @@ insmod normal normal ``` -The **cryptomount** command tries to mount the specific encrypted partition to boot. To mount it, the GRUB prompts the user to type the passphrase. The "-a" option specifies all encrypted partitions. If the system is encrypted by Kaiten-yaki, it has only one encrypted partition. So, this is the easiest way. +The **cryptomount** command tries to mount the encrypted partition specified by parameter. To mount it, GRUB prompts the user to type the passphrase. The "-a" option means all encrypted partitions. If the system is encrypted by Kaiten-yaki, it has only one encrypted LUKS partition. So, this is the easiest way. -The **insmod** command loads the specified GRUB command module from the mounted storage and inserts it into the command list. The second line loads the "normal" command which displays the normal menu to the user. +The **insmod** command loads a GRUB command module from the mounted storage and inserts it into the command list. The second line loads the "normal" command which displays the normal menu to the user. Finally, **normal** command shows the normal boot menu to the user. @@ -29,7 +29,7 @@ Now, the user can select the system to boot as usual. # EFI system In the EFI system, recovery needs extra steps compared to the BIOS system. -Alternatively, GURB is not in the rescue mode but the normal mode, even the passphrase is mistyped. So, the user can use command completion. This is better than the BIOS system. +Unlike the BIOS system, GURB is not in the rescue mode but the normal mode, when the passphrase is mistyped. So, the user can use command completion. This is better than the BIOS system. The first step of the recovery is the same with the BIOS system. ``` @@ -37,7 +37,7 @@ cryptomount -a ``` Again, in the EFI system, the user can use the command completion by pressing the [TAB] key. -The second step is unique in the EFI system. By using **ls** command check the list of volumes existing in the system, and identify which volume contains the grub menu. And then, pick that volume and assign it to the **prefix** variable, with grub path. +The second step is unique in the EFI system. The user can check the list of volumes existing in the system by **ls** command. The ls command allows the user can identify which volume contains the grub menu. And then, the user picks the right volume and assign it to the **prefix** variable, with the grub path. Following is the example. The (lvm/vg1-mate) is dependent on the system. It has to be substituted by the appropriate volume name for each system. @@ -56,7 +56,7 @@ Following is the screenshot of the command sequence to recover the mistyping of ![bios](../image/an01_efi.png) -## Summary +## Conclusion In the full disk encrypted system, mistyping of the passphrase is more painful than the partially encrypted system. The user can overcome this situation with several steps of commands and can show the normal boot menu. ![bios](../image/an01_normal.png) diff --git a/appnote/an02_keyslot.md b/appnote/an02_keyslot.md index 3cd0a28..525554f 100644 --- a/appnote/an02_keyslot.md +++ b/appnote/an02_keyslot.md @@ -6,18 +6,18 @@ On the other hand, some extreme cases like installing distributions as many as p This application note explains the limitations and difficulties that come from the number of LUKS key slots, and how to overcome that limitation( if possible ). # The LUKS key slots -The LUKS volume has 8 key slots. That means, up to 8 key hash values can be stored. In other words, the user can use 8 different keys to open a LUKS volume. +The LUKS volume has 8 key slots which can stores one key hash value. In other words, the user can use 8 different keys to open a LUKS volume. In this context, the "user" is not limited to a human being. Any software can use a passphrase to open a LUKS volume. Thus, even only one person uses a computer, multiple key slots may be used. -If some user ( or software ) feeds a passphrase to open a LUKS volume, the management software ( dm-crypt library ) scans key slots and check whether there is a matching slot or not. If there is a slot in which the stored hash value matches with the hash value of the given passphrase, that passphrase is the right one. +If an user ( or software ) feeds a passphrase to open a LUKS volume, the management software ( dm-crypt library ) scans key slots and check whether there is a matching slot or not. If there is a slot in which the stored hash value matches with the hash value of the given passphrase, that passphrase is the right one. # How Kaiten-yaki uses the LUKS key slots Kaiten-yaki uses N+1 LUKS key slots to install the N distributions in a system ( where N is an integer ). -Whenever Kaiten-yaki creates a LUKS volume, it registers a passphrase typed by the user. This passphrase is stored in the key slot 0. So, when the user types his passphrase correctly, its hash will be matched with the hash value in slot 0, by default. +Whenever Kaiten-yaki creates a LUKS volume, it registers a passphrase typed by the user. This passphrase is stored in the key slot 0. So, when the user types his passphrase correctly at boot time, its hash will be matched with the hash value in slot 0, by default. -In addition to the user passphrase, Kaiten-yaki uses one key slot to register the passphrase to open the LUKS volume from the Linux kernel. This passphrase is different from the user passphrase. This passphrase is random binary brock generated by /dev/random. This key is stored in the file under /etc/luks. Even somebody watches its value over the shoulder, the risk is small because it is difficult to ready for a human being. +In addition to the user passphrase, Kaiten-yaki uses one key slot to register the passphrase to let the Linux kernel open the LUKS volume. This passphrase is different from the user passphrase. Actually, this passphrase is random binary brock generated by /dev/random. This key is stored in the file under /etc/luks. Even somebody watches its value over the shoulder of a user, the risk is small because it is difficult to read for a human being. Anyway, this usage defines the maximum number of Linux installed in a system. That is 7 if all are installed by Kaiten-yaki. If a user try to install the 8th distribution in a LUKS volume with Kaiten-yaki, it will fail because there is no vacant LUKS key slot. # Overwrite installation @@ -25,14 +25,13 @@ The overwrite installation is another case that consumes a LUKS key slot. if the variable OVERWITEINSTALL in config.sh is set to 1, Kaiten-yaki just overwrites an existing logical volume in the LUKS volume. Also, in this case, Kaiten-yaki registers a new key file for the new installation. Thus, while the number of the installed Linux is the same, the number of the used LUKS key slot is increased. -Eventually, the user fails to install even the installed Linux is 2 or 3, if there is not vacant LUKS key slot. +Eventually, the user fails to install even the installed Linux is small like 2 or 3, if there is not vacant LUKS key slot. # Managing key slots Some users may want to delete a key slot to install another distribution. In this case, they must know which LUKS key slots are used or not. This section explains how to investigate the used slots. -First of all, user can l -The example of this command is shown below. Slot 0, 1, and 2 are occupied : +First of all, user can list the status of the all LUKS key slots. The example of this command is shown below. Slot 0, 1, and 2 are occupied : ``` takemasa@mate-vm:~$ sudo cryptsetup luksDump /dev/sda2 | grep -i bled Key Slot 0: ENABLED diff --git a/appnote/an03_itertime.md b/appnote/an03_itertime.md index 7145cca..2d440a8 100644 --- a/appnote/an03_itertime.md +++ b/appnote/an03_itertime.md @@ -10,7 +10,7 @@ Let's assume there is a Ubuntu desktop system in which the disk was encrypted by If the user mistyped the passphrase at boot, Ubuntu prompts to type a passphrase again. There is no pain. It just asks. -Now, what's happen if a user mistyped the passphrase on the Kaiten-yaki installed system. It takes a very wrong time to see the error message. And the system doesn't prompt to type again ( The prompt issue is discussed in the [AN01](an01_howtorecover.md) ). Especially, the more number of the installations in a system makes the longer duration till the error message. Sometimes this is unbearable pain to the user. +Now, let's see what's happen if a user mistyped the passphrase on the system which was installed by Kaiten-yaki. It takes a very wrong time to see the error message. And the system doesn't prompt to type again ( The prompt issue is discussed in the [AN01](an01_howtorecover.md) ). Especially, the more number of the installations in a system makes the longer duration till the error message. Sometimes this is unbearable pain to the user. This kind of pain de-motivates users to use a long passphrase, because the longer passphrase causes more mistypes. As a result, some users may use the shorter passphrase. The bad user experience of passphrase input may help the malicious attackers. @@ -19,19 +19,19 @@ GRUB is the root cause of this slow user passphrase matching. The passphrase is hashed and stored to LUKS key slot when a LUKS volume is created ( or, a new passphrase is added ). The stored hash value is not simple. The cryptsetup command makes hash value from the user passphrase. And then, create the next hash from this hash. And then, create a third hash from the 2nd hash, so on. This repeating is named [key stretching](https://en.wikipedia.org/wiki/Key_stretching). -The key stretching technique enforces malicious attackers using more computation resources on the brute force attacking. The more stretching iteration times require the more resources to attack. +The key stretching technique enforces malicious attackers to use more computation resources on the brute force attacking. The more stretching iteration times require the more resources to attack. -Of course, there is a balance and security strength. By default, the cryptsetup command takes the iteration needing 1 sect to calculate the passphrase hash, for the LUKS1 format. This sounds like a good balance. The cryptsetup runs on Linux when it calculates the appropriate iteration of key stretching. So, there is no problem if Linux challenges user passwords. It will take about 1 sec, by default. +Of course, there is a balance and security strength. By default, the cryptsetup command takes the iteration needing 1 sect to calculate the passphrase hash, for the LUKS1 format. This sounds like a good balance. The cryptsetup runs on Linux when it calculates the appropriate iteration of key stretching. So, there is no problem if Linux challenges user passwords. It will take about 1 sec, by default on the Linux system. 1 second is acceptable for almost users. But there is a pitfall. On the full disk encryption system by Kaiten-yaki, the /boot is encrypted. So, to load the Linux kernel, GRUB has to decrypt the LUKS volume. That means GRUB has to calculate the passphrase hash. Unfortunately, this calculation is slower than Linux's one. Thus the user has to wait longer than 1 second. -The duration by GRUB is up to the system. It depends on the CPU. Also, In addition to this slow hashing, GRUB has to scan all used key slots when the user mistyped. For example, if 3 distributions are installed in a LUKS volume by Kaiten-yaki, 4 key slots are used. Thus, if it takes 10 seconds to challenged one hash by GRUB, this system takes 40seconds to show "The wrong password". +The duration by GRUB to calculate the passphrase hash value is up to the system. It depends on the CPU. Also, In addition to this slow hashing, GRUB has to scan all used key slots when the user mistyped. For example, if 3 distributions are installed in a LUKS volume by Kaiten-yaki, 4 key slots are used. Thus, if it takes 10 seconds to challenged one hash by GRUB, this system takes 40seconds to show "The wrong password". This is the mechanism of the slow response at the passphrase input. ## The key stretching, the --iter-time parameter, and the vulnerability Kaiten-yaki can relax this pain by ITERTIME configuration parameter in config.sh. This parameter is passed to the cryptsetup command as --iter-time parameter. -By setting 1000 to the ITERTIME, cryptsetup takes the key stretching iteration cycle to take 1000 milliseconds. By setting 100, it will be 100 milliseconds. It is believed the default value of --iter-time is 1000 ( Its compile default ). Thus, choosing 100 as ITERTIME makes the duration to the "Wrong password" 4 seconds, in the above example. This sounds acceptable. +By setting 1000 to the ITERTIME, cryptsetup takes the key stretching iteration cycle to take 1000 milliseconds. By setting 100, it will be 100 milliseconds. It is believed the default value of --iter-time is 1000 ( Its compile default ). Thus, choosing 100 as ITERTIME shorten the duration to the "Wrong password" from 40 seconds to 4 seconds, in the above example. This sounds acceptable. On the other hand, the smaller ITERTIME is the weaker to the bute force attack. It is assumed the strength of the passphrase hash is linear to the ITERTIME parameter ( --iter-time parameter of cryptsetup ). diff --git a/appnote/an04_favoritepartition.md b/appnote/an04_favoritepartition.md index b81f96d..8ef4b61 100644 --- a/appnote/an04_favoritepartition.md +++ b/appnote/an04_favoritepartition.md @@ -6,11 +6,11 @@ This application note explains how to use the favorite partition with favorite s ## Step 1: Making partitions To use custom partitioning, the user must create all partitions by themselves. The user can do it with the popular partitioning tool like gparted. It is recommended to set the partition table as MBR and GPT for BIOS and EFI systems, respectively. -In this documentation, we assume the user wants to use /dev/sda5 as LUKS partition to install Ubuntu. +In this documentation, we assume the user wants to use /dev/sda5 as LUKS partition to install Ubuntu, as example. ## Step 2: Configuration Next user must configure the config.sh. -The first parameter to edit is **DEV** parameter which represents the target device. In this example, it must be set as /dev/sdb. +The first parameter to edit is **DEV** parameter which represents the target device. In this example, it must be set as /dev/sda. ```sh export DEV="/dev/sda" ``` @@ -40,4 +40,5 @@ This command sets up the LUKS volume on the specified partition. This command al Now, it's a time to run Kaiten-yaki ```sh source kaiten-yaki-ubuntu -``` \ No newline at end of file +``` +All other operations are same with usual install. \ No newline at end of file From ac70e126d83c4e0353bd201007977dbc557ed904 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 11 Jul 2021 14:39:17 +0900 Subject: [PATCH 192/242] Update changelog --- CHANGELOG.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6029898..6169074 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,19 @@ Record of the modification in project development. ## [Unreleased] - yyyy-mm-dd - +Added ITERTIME parameter and corrected other small issues. Application notes AN01-04 are added. +The Followings are tested distributions +- Ubuntu 20.04.2 +- Ubuntu MATE 20.04.2 +- Ubuntu 21.04 +- Void Linux glibc 20210218 mate +- Void Linux musl 20210218 mate +- VOid Linux glibc 20210218 base +See [Testing before release v1.1.0](https://github.com/suikan4github/kaiten-yaki/issues/16). ### Added - [Issue 13 : Add ITERTIME configuration parameter to config.txt](https://github.com/suikan4github/kaiten-yaki/issues/13) - [Issue 18 : Add a consideration of the number of key slot](https://github.com/suikan4github/kaiten-yaki/issues/18) +- [Issue 19 : Add a consideration of more flexible partitioning](https://github.com/suikan4github/kaiten-yaki/issues/19) - [Issue 20 : Add a consideration of LUKS stretching](https://github.com/suikan4github/kaiten-yaki/issues/20) - [Issue 21 : Add a document of how to recover from the mistyping of passphrase](https://github.com/suikan4github/kaiten-yaki/issues/21) From 456cbf87cde9d771e90a833595bd4a96980f9306 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 11 Jul 2021 15:53:46 +0900 Subject: [PATCH 193/242] Update changelog for v1.1.0 --- CHANGELOG.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6169074..4e4e18d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,14 +2,23 @@ Record of the modification in project development. ## [Unreleased] - yyyy-mm-dd -Added ITERTIME parameter and corrected other small issues. Application notes AN01-04 are added. +### Added +### Changed +### Deprecated +### Removed +### Fixed +### Known Issue + +## [1.1.0] - 2021-07-11 +Added ITERTIME parameter and corrected other small issues. Application notes AN01 - AN04 are added. The Followings are tested distributions - Ubuntu 20.04.2 - Ubuntu MATE 20.04.2 - Ubuntu 21.04 - Void Linux glibc 20210218 mate - Void Linux musl 20210218 mate -- VOid Linux glibc 20210218 base +- Void Linux glibc 20210218 base + See [Testing before release v1.1.0](https://github.com/suikan4github/kaiten-yaki/issues/16). ### Added - [Issue 13 : Add ITERTIME configuration parameter to config.txt](https://github.com/suikan4github/kaiten-yaki/issues/13) @@ -48,5 +57,6 @@ See [Testing before release v1.1.0](https://github.com/suikan4github/kaiten-yaki ### Known Issue -[Unreleased]: https://github.com/suikan4github/kaiten-yaki/compare/v1.0.0...develop +[Unreleased]: https://github.com/suikan4github/kaiten-yaki/compare/v1.1.0...develop +[1.1.0]: https://github.com/suikan4github/kaiten-yaki/compare/v1.0.0...v1.1.0 [1.0.0]: https://github.com/suikan4github/kaiten-yaki/compare/v0.0.0...v1.0.0 From 47b40316c032234025344cbfd1593e4d21e5167d Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Mon, 12 Jul 2021 17:55:02 +0900 Subject: [PATCH 194/242] btrfs support Fail to install the ubuntu when the / volume is btrfs #24 --- script/lib/common.sh | 3 ++- script/ubuntu-kaiten-yaki.sh | 9 +++++++++ script/void-kaiten-yaki.sh | 3 +++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/script/lib/common.sh b/script/lib/common.sh index 8fcb0ea..3f9285f 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -291,8 +291,9 @@ function para_install_msg() { function post_install() { ## Mount the target file system # ${TARGETMOUNTPOINT} is created by the GUI/TUI installer + # ${BTRFSOPTION} is defined by the caller of this function for BTRFS formated volume. echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." - mount /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" "${TARGETMOUNTPOINT}" + mount "${BTRFSOPTION}" /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" "${TARGETMOUNTPOINT}" # And mount other directories echo "...Mounting all other dirs." diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 96ace9b..adfbbdd 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -53,6 +53,15 @@ function main() { # Post-install stage # ******************************************************************************* + # If the target volume is formated by btrfs, Ubiquity install the root into the + # @ sub-volume. Thus, mount command inside post_install have to use special option + # to specify @ as mount target. + if lsblk -o NAME,FSTYPE | grep -i "${VGNAME}-${LVROOTNAME}" | grep -i "btrfs" > /dev/null ; then + export BTRFSOPTION="-o subvol=@" + else + export BTRFSOPTION="" + fi + # Distribution dependent finalizing. Embedd encryption key into the ramfs image. # The script is parameterized by env-variable to fit to the distribution post_install diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 5838747..c63f906 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -74,6 +74,9 @@ function main() { # Post-install stage # ******************************************************************************* + # We don't need special option for BTRFSOPTION. + export BTRFSOPTION="" + # Distribution dependent finalizing. Embedd encryption key into the ramfs image. # The script is parameterized by env-variable to fit to the distribution post_install From 3c7691db07f623319a47c71ee7e7e4ecf873911a Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Mon, 12 Jul 2021 22:03:36 +0900 Subject: [PATCH 195/242] Fix the blank option problem. --- script/lib/common.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/script/lib/common.sh b/script/lib/common.sh index 3f9285f..ed5be7d 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -291,9 +291,11 @@ function para_install_msg() { function post_install() { ## Mount the target file system # ${TARGETMOUNTPOINT} is created by the GUI/TUI installer - # ${BTRFSOPTION} is defined by the caller of this function for BTRFS formated volume. + # ${BTRFSOPTION} is defined by the caller of this function for BTRFS formated volume. + # ${BTRFSOPTION} have to be NOT quoted. Otherwise, mount will receive an empty + # string as first option, when the veraible is empty. echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." - mount "${BTRFSOPTION}" /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" "${TARGETMOUNTPOINT}" + mount ${BTRFSOPTION} /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" "${TARGETMOUNTPOINT}" # And mount other directories echo "...Mounting all other dirs." From ea1a1ae7fd8f58cae297f94cd18ef84ebfb8ae2b Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Mon, 12 Jul 2021 23:12:17 +0900 Subject: [PATCH 196/242] Test OK Fail to install the ubuntu when the / volume is btrfs #24 Tested on Ubuntu and Void Linux. Btrfs and ext4. --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e4e18d..e0a9874 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ Record of the modification in project development. ### Deprecated ### Removed ### Fixed +- [Issue 24 : Fail to install the ubuntu when the / volume is btrfs](https://github.com/suikan4github/kaiten-yaki/issues/24) + ### Known Issue ## [1.1.0] - 2021-07-11 From 3bb2a5622cfd8505dd915b0dced97e3bdee06fba Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 17 Jul 2021 14:38:01 +0900 Subject: [PATCH 197/242] Update AN01 for btrfs Issue #26 --- CHANGELOG.md | 2 ++ appnote/an01_howtorecover.md | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e0a9874..9282be0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Record of the modification in project development. ## [Unreleased] - yyyy-mm-dd ### Added ### Changed +- [Issue 26 : Update AN01 for btrfs](https://github.com/suikan4github/kaiten-yaki/issues/26) + ### Deprecated ### Removed ### Fixed diff --git a/appnote/an01_howtorecover.md b/appnote/an01_howtorecover.md index 6cc3b9a..563fbc0 100644 --- a/appnote/an01_howtorecover.md +++ b/appnote/an01_howtorecover.md @@ -45,6 +45,11 @@ Following is the example. The (lvm/vg1-mate) is dependent on the system. It has ls set prefix=(lvm/vg1-mate)/boot/grub ``` +Note that above example assume the root volume format is usual one ( ex: ext4, jfs, xfs ). If the root volume is formatted by btrfs, above prefix doesn't work, it should contain the sub-volume name in the path : +``` +ls +set prefix=(lvm/vg1-mate)/@/boot/grub +``` Then, the third step is the same with the BIOS systems. From e1e67af67c92ed2eca4cc304dbe45971b1715b1e Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 17 Jul 2021 14:40:35 +0900 Subject: [PATCH 198/242] Correct spell. --- appnote/an01_howtorecover.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appnote/an01_howtorecover.md b/appnote/an01_howtorecover.md index 563fbc0..4e17132 100644 --- a/appnote/an01_howtorecover.md +++ b/appnote/an01_howtorecover.md @@ -45,7 +45,7 @@ Following is the example. The (lvm/vg1-mate) is dependent on the system. It has ls set prefix=(lvm/vg1-mate)/boot/grub ``` -Note that above example assume the root volume format is usual one ( ex: ext4, jfs, xfs ). If the root volume is formatted by btrfs, above prefix doesn't work, it should contain the sub-volume name in the path : +Note that above example assumes the root volume format is usual one ( ex: ext4, jfs, xfs ). If the root volume is formatted by btrfs, above prefix doesn't work. The path name should contain the sub-volume name : ``` ls set prefix=(lvm/vg1-mate)/@/boot/grub From d5e113259fcd9e3732f8d6359e7571db661954d1 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 17 Jul 2021 15:05:43 +0900 Subject: [PATCH 199/242] Refactoring: Sourcing config.sys is not needed in the chrooted_job #25 --- CHANGELOG.md | 1 + script/lib/chrooted_job_ubuntu.sh | 4 ---- script/lib/chrooted_job_void.sh | 4 ---- 3 files changed, 1 insertion(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9282be0..fe0908a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ Record of the modification in project development. ## [Unreleased] - yyyy-mm-dd ### Added ### Changed +- [Issue 25 : Refactoring: Sourcing config.sys is not needed in the chrooted_job](https://github.com/suikan4github/kaiten-yaki/issues/25) - [Issue 26 : Update AN01 for btrfs](https://github.com/suikan4github/kaiten-yaki/issues/26) ### Deprecated diff --git a/script/lib/chrooted_job_ubuntu.sh b/script/lib/chrooted_job_ubuntu.sh index 2d953ca..6d8cd57 100644 --- a/script/lib/chrooted_job_ubuntu.sh +++ b/script/lib/chrooted_job_ubuntu.sh @@ -1,9 +1,5 @@ #!/bin/bash -# Include configuration. This sript file have to be executed at Kaiten-yaki/script dir -# shellcheck disable=SC1091 -source config.sh - # Create a key file for LUKS and register it as contents of the initramfs image function chrooted_job() { # Mount the rest of partitions by target /etc/fstab diff --git a/script/lib/chrooted_job_void.sh b/script/lib/chrooted_job_void.sh index 2d50a73..9ce0c82 100644 --- a/script/lib/chrooted_job_void.sh +++ b/script/lib/chrooted_job_void.sh @@ -1,9 +1,5 @@ #!/bin/bash -# Include configuration. This sript file have to be executed at Kaiten-yaki/script dir -# shellcheck disable=SC1091 -source config.sh - # Create a key file for LUKS and register it as contents of the initramfs image function chrooted_job() { # Mount the rest of partitions by target /etc/fstab From fd6663d2f300115efe4b0e09bcda6532e535482b Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 17 Jul 2021 16:00:03 +0900 Subject: [PATCH 200/242] Add btrfs support in the README. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b22dc3a..68a318c 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ The followings are the list of functionalities: - Automatic detection of BIOS/EFI firmware and create MBR/GPT, respectively. - Create an EFI partition, if needed. - Support multiple boot in a LUKS partition. +- Support btrfs in addition to the major file systems. - The "/boot" is located in the same logical volume as the "/". - The swap logical volume is located inside the encrypted volume. - You need to type a passphrase only once in the boot sequence. From 36acfe505bedb684e921bd5245cde63f74dea2f9 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 18 Jul 2021 21:11:26 +0900 Subject: [PATCH 201/242] Removed Y/N confirmation Eliminates the confirmation dialog Issue #27 --- script/lib/common.sh | 34 ---------------------------------- 1 file changed, 34 deletions(-) diff --git a/script/lib/common.sh b/script/lib/common.sh index ed5be7d..7b022e0 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -61,42 +61,8 @@ function confirmation(){ "${LVROOTNAME}" uses ${LVROOTSIZE} of the LVM volume group. Are you sure to install? [Y/N] HEREDOC - read -r YESNO - if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then - cat <<- HEREDOC - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # if YES - # For sure ask to erase. - if [ "${ERASEALL}" -ne 0 ] ; then - echo "Are you sure you want to erase entire \"${DEV}\"? [Y/N]" - read -r YESNO - if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then - cat <<-HEREDOC - ...Check your config.sh. The variable ERASEALL is ${ERASEALL}. - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # if YES - fi # if erase all - - # For sure ask to overwrite. - if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then - echo "Are you sure you want to overwrite \"${LVROOTNAME}\" in \"${VGNAME}\"? [Y/N]" - read -r YESNO - if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then - cat <<-HEREDOC - ...Check your config.sh. The variable OVERWRITEINSTALL is ${OVERWRITEINSTALL}. - - ...Installation process terminated.. - HEREDOC - return 1 # with error status - fi # if YES - fi # if overwrite # ----- Set Passphrase ----- # Input passphrase From 8bf48b9b0c2c03efc2f558259369e24c906a50b4 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 18 Jul 2021 21:53:48 +0900 Subject: [PATCH 202/242] Refine the parameter printing. --- script/lib/common.sh | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/script/lib/common.sh b/script/lib/common.sh index 7b022e0..6e4c6ea 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -57,11 +57,21 @@ function confirmation(){ # For surre ask the your config.sh is edited cat <<- HEREDOC - The destination logical volume label is "${LVROOTNAME}" - "${LVROOTNAME}" uses ${LVROOTSIZE} of the LVM volume group. - Are you sure to install? [Y/N] + LUKS volume partition : ${DEV}${CRYPTPARTITION} + LUKS volume name : "${CRYPTPARTNAME}" + Volume group name : "${VGNAME}" + Root volume name : "${VGNAME}-${LVROOTNAME}" + Swap volume name : "${VGNAME}-${LVSWAPNAME}" + Size of "${VGNAME}-${LVROOTNAME}" : ${LVROOTSIZE} HEREDOC + if [ "${ERASEALL}" -ne 0 ] ; then + echo "Going to erase entire disk ${DEV}." + elif [ "${OVERWRITEINSTALL}" -ne 0 ] ; then + echo "Going to overwrite the logical volume \"${VGNAME}-${LVROOTNAME}\"." + else + echo "Going to create a new logical volume \"${VGNAME}-${LVROOTNAME}\"." + fi # ----- Set Passphrase ----- From 73c2e1e2e222ad918d4a2a673b6e2b515008583b Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 18 Jul 2021 21:59:43 +0900 Subject: [PATCH 203/242] Update the INSTALL.md and CHANGELOG.md Eliminates the confirmation dialog #27 --- CHANGELOG.md | 1 + INSTALL.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe0908a..bdf0fc5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ Record of the modification in project development. ### Changed - [Issue 25 : Refactoring: Sourcing config.sys is not needed in the chrooted_job](https://github.com/suikan4github/kaiten-yaki/issues/25) - [Issue 26 : Update AN01 for btrfs](https://github.com/suikan4github/kaiten-yaki/issues/26) +- [Issue 27 : Eliminates the confirmation dialog](https://github.com/suikan4github/kaiten-yaki/issues/27) ### Deprecated ### Removed diff --git a/INSTALL.md b/INSTALL.md index b0b01bd..991dc4c 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -142,7 +142,7 @@ In the case of Void Linux ```bash source void-kaiten-yaki.sh ``` -After several interactive confirmations, Kaiten-yaki will ask you to input a passphrase. This passphrase will be applied to the encryption of the LUKS volume. Make sure you use identical passphrases between all installations of the distributions in a computer. Otherwise, the install process terminates with an error, except the first distribution installation. +After printing the configuration parameters, Kaiten-yaki will ask you to input a passphrase. This passphrase will be applied to the encryption of the LUKS volume. Make sure you use identical passphrases between all installations of the distributions in a computer. Otherwise, the install process terminates with an error, except the first distribution installation. ## Second stage : GUI/TUI installer After the first script finishes, the GUI/TUI installer starts automatically. Configure it as usual and run it. Ensure you map the following correctly. From e0ff77c549e3e2b0bb80ccfb63d034aa8d7680a6 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 21 Jul 2021 05:44:21 +0900 Subject: [PATCH 204/242] Explain the target is AMD64 explicitly. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 68a318c..f8b43aa 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Kaiten-yaki: Full disk encryption install script for Linux -Kaiten-yaki is a script set to install Linux to your desktop system. With these scripts, you can install Ubuntu/Void Linux to an encrypted partition easily. +Kaiten-yaki is a script set to install Linux to your AMD64 desktop system. With these scripts, you can install Ubuntu/Void Linux to an encrypted partition easily. The followings are the list of functionalities: - Ubuntu and Void Linux. From 00d506a017f68709f1cfac36094d83bca80024c7 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 21 Jul 2021 09:27:45 +0900 Subject: [PATCH 205/242] Removed applicaiton notes. Move application notes to Wiki Issue #28 --- CHANGELOG.md | 2 + README.md | 7 +-- appnote/an01_howtorecover.md | 67 ------------------------- appnote/an02_keyslot.md | 83 ------------------------------- appnote/an03_itertime.md | 48 ------------------ appnote/an04_favoritepartition.md | 44 ---------------- 6 files changed, 4 insertions(+), 247 deletions(-) delete mode 100644 appnote/an01_howtorecover.md delete mode 100644 appnote/an02_keyslot.md delete mode 100644 appnote/an03_itertime.md delete mode 100644 appnote/an04_favoritepartition.md diff --git a/CHANGELOG.md b/CHANGELOG.md index bdf0fc5..02d25ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ Record of the modification in project development. ### Deprecated ### Removed +- [Issue 28 : Move application notes to Wiki](https://github.com/suikan4github/kaiten-yaki/issues/28) + ### Fixed - [Issue 24 : Fail to install the ubuntu when the / volume is btrfs](https://github.com/suikan4github/kaiten-yaki/issues/24) diff --git a/README.md b/README.md index f8b43aa..52ccfa9 100644 --- a/README.md +++ b/README.md @@ -48,11 +48,8 @@ If you install two or more Void Linux into the EFI system, only the last one can # Variants considerations Ubuntu has several variants ( flavors ). While while only the MATE flavor is tested, other flavors may work correctly as far as it uses Ubiquity installer. -# Application notes -- [AN01 : How to recover from the mistyping of the passphrase](appnote/an01_howtorecover.md) -- [AN02 : Managing LUKS key slots](appnote/an02_keyslot.md) -- [AN03 : The ITERTIME parameter and vulnerability](appnote/an03_itertime.md) -- [AN04 : How to make LUKS volume to the favorite partition](appnote/an04_favoritepartition.md) +# Other resources +See [Wiki](wiki/) for the application notes and the useful links. # Acknowledgments These scripts are based on the script by [myn's diary](https://myn.hatenablog.jp/entry/install-ubuntu-focal-with-lvm-on-luks). That page contains rich information, hint, and techniques around the encrypted volume and Ubiquity installer. diff --git a/appnote/an01_howtorecover.md b/appnote/an01_howtorecover.md deleted file mode 100644 index 4e17132..0000000 --- a/appnote/an01_howtorecover.md +++ /dev/null @@ -1,67 +0,0 @@ -# AN01 : How to recover from the mistyping of the passphrase -The mistyping of the passphrase is painful, in the full disk encrypted Linux. - -In the usual encrypted Ubuntu install by Ubiquity, mistyping disk passphrase is warned by the kernel, and prompted to re-type. But in the full encrypted system, the user sees a boring message and command prompt. Usually, the user just gives up and reboot. It adds tens of second to reboot, and discourage the user to use a long passphrase. - -![bios](../image/an01_bios.png) - -This application note explains how to recover from this condition, quickly. - -# BIOS system -In the BIOS system, the recovery is pretty easy. - -In the case of the mistyping passphrase, GRUB goes into rescue mode. The user can recover by 3 commands from this mode. - -``` -cryptomount -a -insmod normal -normal -``` - -The **cryptomount** command tries to mount the encrypted partition specified by parameter. To mount it, GRUB prompts the user to type the passphrase. The "-a" option means all encrypted partitions. If the system is encrypted by Kaiten-yaki, it has only one encrypted LUKS partition. So, this is the easiest way. - -The **insmod** command loads a GRUB command module from the mounted storage and inserts it into the command list. The second line loads the "normal" command which displays the normal menu to the user. - -Finally, **normal** command shows the normal boot menu to the user. - -Now, the user can select the system to boot as usual. - -# EFI system -In the EFI system, recovery needs extra steps compared to the BIOS system. - -Unlike the BIOS system, GURB is not in the rescue mode but the normal mode, when the passphrase is mistyped. So, the user can use command completion. This is better than the BIOS system. - -The first step of the recovery is the same with the BIOS system. -``` -cryptomount -a -``` -Again, in the EFI system, the user can use the command completion by pressing the [TAB] key. - -The second step is unique in the EFI system. The user can check the list of volumes existing in the system by **ls** command. The ls command allows the user can identify which volume contains the grub menu. And then, the user picks the right volume and assign it to the **prefix** variable, with the grub path. - -Following is the example. The (lvm/vg1-mate) is dependent on the system. It has to be substituted by the appropriate volume name for each system. - -``` -ls -set prefix=(lvm/vg1-mate)/boot/grub -``` -Note that above example assumes the root volume format is usual one ( ex: ext4, jfs, xfs ). If the root volume is formatted by btrfs, above prefix doesn't work. The path name should contain the sub-volume name : -``` -ls -set prefix=(lvm/vg1-mate)/@/boot/grub -``` - -Then, the third step is the same with the BIOS systems. - -``` -insmod normal -normal -``` -Following is the screenshot of the command sequence to recover the mistyping of the passphrase. - -![bios](../image/an01_efi.png) - -## Conclusion -In the full disk encrypted system, mistyping of the passphrase is more painful than the partially encrypted system. The user can overcome this situation with several steps of commands and can show the normal boot menu. - -![bios](../image/an01_normal.png) diff --git a/appnote/an02_keyslot.md b/appnote/an02_keyslot.md deleted file mode 100644 index 525554f..0000000 --- a/appnote/an02_keyslot.md +++ /dev/null @@ -1,83 +0,0 @@ -# AN02 Managing LUKS key slots -If somebody wants to install two or three distributions into a system, Kaiten-yaki works perfectly. There is no problem at all. - -On the other hand, some extreme cases like installing distributions as many as possible, or repeating the overwrite installation unveils the limitation of the number of the LUKS key slots. The user must understand and must manage the LUKS key slots well, to handle these cases. - -This application note explains the limitations and difficulties that come from the number of LUKS key slots, and how to overcome that limitation( if possible ). - -# The LUKS key slots -The LUKS volume has 8 key slots which can stores one key hash value. In other words, the user can use 8 different keys to open a LUKS volume. - -In this context, the "user" is not limited to a human being. Any software can use a passphrase to open a LUKS volume. Thus, even only one person uses a computer, multiple key slots may be used. - -If an user ( or software ) feeds a passphrase to open a LUKS volume, the management software ( dm-crypt library ) scans key slots and check whether there is a matching slot or not. If there is a slot in which the stored hash value matches with the hash value of the given passphrase, that passphrase is the right one. - -# How Kaiten-yaki uses the LUKS key slots -Kaiten-yaki uses N+1 LUKS key slots to install the N distributions in a system ( where N is an integer ). - -Whenever Kaiten-yaki creates a LUKS volume, it registers a passphrase typed by the user. This passphrase is stored in the key slot 0. So, when the user types his passphrase correctly at boot time, its hash will be matched with the hash value in slot 0, by default. - -In addition to the user passphrase, Kaiten-yaki uses one key slot to register the passphrase to let the Linux kernel open the LUKS volume. This passphrase is different from the user passphrase. Actually, this passphrase is random binary brock generated by /dev/random. This key is stored in the file under /etc/luks. Even somebody watches its value over the shoulder of a user, the risk is small because it is difficult to read for a human being. - -Anyway, this usage defines the maximum number of Linux installed in a system. That is 7 if all are installed by Kaiten-yaki. If a user try to install the 8th distribution in a LUKS volume with Kaiten-yaki, it will fail because there is no vacant LUKS key slot. -# Overwrite installation -The overwrite installation is another case that consumes a LUKS key slot. - -if the variable OVERWITEINSTALL in config.sh is set to 1, Kaiten-yaki just overwrites an existing logical volume in the LUKS volume. Also, in this case, Kaiten-yaki registers a new key file for the new installation. Thus, while the number of the installed Linux is the same, the number of the used LUKS key slot is increased. - -Eventually, the user fails to install even the installed Linux is small like 2 or 3, if there is not vacant LUKS key slot. -# Managing key slots -Some users may want to delete a key slot to install another distribution. In this case, they must know which LUKS key slots are used or not. - -This section explains how to investigate the used slots. - -First of all, user can list the status of the all LUKS key slots. The example of this command is shown below. Slot 0, 1, and 2 are occupied : -``` -takemasa@mate-vm:~$ sudo cryptsetup luksDump /dev/sda2 | grep -i bled -Key Slot 0: ENABLED -Key Slot 1: ENABLED -Key Slot 2: ENABLED -Key Slot 3: DISABLED -Key Slot 4: DISABLED -Key Slot 5: DISABLED -Key Slot 6: DISABLED -Key Slot 7: DISABLED -``` -If there is still a vacant LUKS key slot, the user can install another distribution without deleting the existing slot. But if there is not vacant LUKS key slot at all, the user must delete an occupied but unused slot. To know such a slot, the user must mark all the occupied and used slots. - -First of all, check the LUKS key slot for the user passphrase. Run the followings command. -```sh -cryptsetup -v --test-passphrase luksOpen /dev/sdXN -``` -Where X is a, b, c..., N is 1, 2, 3... - -The command will prompt to type the passphrase to decrypt. If the user types the correct passphrase, the command shows the key slot number of that passphrase. The followings are the example : -``` -takemasa@mate-vm:~$ sudo cryptsetup -v --test-passphrase luksOpen /dev/sda2 -Enter passphrase for /dev/sda2: -Key slot 0 unlocked. -Command successful. -``` -We can see the slot 0 is used. - -Next, run the following command **for each** installation of distribution. This command shows the slot number which stores the key of the passphrase file passing to the kernel. /etc/luks/boot_os.keyfile is created by Kaiten-yaki, during the installation - -```sh -sudo cryptsetup -v --test-passphrase luksOpen /dev/sdXN --key-file /etc/luks/boot_os.keyfile -``` -Followings are the sample execution : -``` -takemasa@mate-vm:~$ sudo cryptsetup -v --test-passphrase luksOpen /dev/sda2 --key-file /etc/luks/boot_os.keyfile -Key slot 2 unlocked. -Command successful. -``` -By repeating this command inside all installations, the user can list up the occupied and used slots. The other slots are occupied but not used. - -Finally, the user can delete the appropriate occupied but not used LUKS key slot by the following command. -```sh -sudo cryptsetup luksKillSlot /dev/sdXN key_slot_number_to_delete -``` -# Conclusion -For the typical case like installing 2 or 3 distributions in a system, there is no problem to use Kaiten-yaki, at all. - -But if users want to install as many as possible, or repeat the overwrite install, they must understand the number of the LUKS key slots. \ No newline at end of file diff --git a/appnote/an03_itertime.md b/appnote/an03_itertime.md deleted file mode 100644 index 2d440a8..0000000 --- a/appnote/an03_itertime.md +++ /dev/null @@ -1,48 +0,0 @@ -# AN03 The ITERTIME parameter and vulnerability -The ITERTIME configuration parameter in the config.sh can provide a better user experience during the passphrase input. It can reduce the pain of the longer passphrase and encourage users to use longer passphrases. - -On the other hand, it may pull a vulnerability. - -The followings are the consideration around the ITERTIME parameter. - -## The passphrase experience -Let's assume there is a Ubuntu desktop system in which the disk was encrypted by Ubiquity installer without Kaiten-yaki. In this system, the /boot partition is installed as a separate and un-encrypted state. So, the Linux kernel file is not protected. - -If the user mistyped the passphrase at boot, Ubuntu prompts to type a passphrase again. There is no pain. It just asks. - -Now, let's see what's happen if a user mistyped the passphrase on the system which was installed by Kaiten-yaki. It takes a very wrong time to see the error message. And the system doesn't prompt to type again ( The prompt issue is discussed in the [AN01](an01_howtorecover.md) ). Especially, the more number of the installations in a system makes the longer duration till the error message. Sometimes this is unbearable pain to the user. - -This kind of pain de-motivates users to use a long passphrase, because the longer passphrase causes more mistypes. As a result, some users may use the shorter passphrase. The bad user experience of passphrase input may help the malicious attackers. - -## Why the full disk encryption is so slow at passphrase input -GRUB is the root cause of this slow user passphrase matching. - -The passphrase is hashed and stored to LUKS key slot when a LUKS volume is created ( or, a new passphrase is added ). The stored hash value is not simple. The cryptsetup command makes hash value from the user passphrase. And then, create the next hash from this hash. And then, create a third hash from the 2nd hash, so on. This repeating is named [key stretching](https://en.wikipedia.org/wiki/Key_stretching). - -The key stretching technique enforces malicious attackers to use more computation resources on the brute force attacking. The more stretching iteration times require the more resources to attack. - -Of course, there is a balance and security strength. By default, the cryptsetup command takes the iteration needing 1 sect to calculate the passphrase hash, for the LUKS1 format. This sounds like a good balance. The cryptsetup runs on Linux when it calculates the appropriate iteration of key stretching. So, there is no problem if Linux challenges user passwords. It will take about 1 sec, by default on the Linux system. 1 second is acceptable for almost users. - -But there is a pitfall. On the full disk encryption system by Kaiten-yaki, the /boot is encrypted. So, to load the Linux kernel, GRUB has to decrypt the LUKS volume. That means GRUB has to calculate the passphrase hash. Unfortunately, this calculation is slower than Linux's one. Thus the user has to wait longer than 1 second. - -The duration by GRUB to calculate the passphrase hash value is up to the system. It depends on the CPU. Also, In addition to this slow hashing, GRUB has to scan all used key slots when the user mistyped. For example, if 3 distributions are installed in a LUKS volume by Kaiten-yaki, 4 key slots are used. Thus, if it takes 10 seconds to challenged one hash by GRUB, this system takes 40seconds to show "The wrong password". - -This is the mechanism of the slow response at the passphrase input. -## The key stretching, the --iter-time parameter, and the vulnerability -Kaiten-yaki can relax this pain by ITERTIME configuration parameter in config.sh. This parameter is passed to the cryptsetup command as --iter-time parameter. - -By setting 1000 to the ITERTIME, cryptsetup takes the key stretching iteration cycle to take 1000 milliseconds. By setting 100, it will be 100 milliseconds. It is believed the default value of --iter-time is 1000 ( Its compile default ). Thus, choosing 100 as ITERTIME shorten the duration to the "Wrong password" from 40 seconds to 4 seconds, in the above example. This sounds acceptable. - -On the other hand, the smaller ITERTIME is the weaker to the bute force attack. It is assumed the strength of the passphrase hash is linear to the ITERTIME parameter ( --iter-time parameter of cryptsetup ). - -## The longer passphrase vs. longer key stretching -While the passphrase hash strength is considered linear to the key stretching iteration, the passphrase strength is exponential to its length. - -There many discussions on the strength of the passphrase. Simply speaking, Adding one alphabet ( a-z ) may expand its strength 26 times. That is why the long passphrase is very important. - -The 1/10 strength of the key stretching can be covered by adding 1 character to the passphrase. - -## Conclusion -The full disk encryption will give big pain to the user at the passphrase input phase. It seems to be reasonable to use the smaller ITERTIME ( --iter-time ) parameter to encourage the user to use the longer passphrase like 20 letters, from the viewpoint of security. - -The security policy is up to the people, community, and mission. The consideration here assumed the desktop PC as a hobby. For mission-critical usage, the user should consult security experts. \ No newline at end of file diff --git a/appnote/an04_favoritepartition.md b/appnote/an04_favoritepartition.md deleted file mode 100644 index 8ef4b61..0000000 --- a/appnote/an04_favoritepartition.md +++ /dev/null @@ -1,44 +0,0 @@ -# AN04 How to make LUKS volume to the favorite partition -Kaiten-yaki creates the LUKS volume on the 1st partition for the BIOS system ( 2nd partition for the EFI system ) by default. Also, Kaiten-yaki assigns all space for the LUKS volume, except the space for the EFI partition. - -This application note explains how to use the favorite partition with favorite size for LUKS volume. - -## Step 1: Making partitions -To use custom partitioning, the user must create all partitions by themselves. The user can do it with the popular partitioning tool like gparted. It is recommended to set the partition table as MBR and GPT for BIOS and EFI systems, respectively. - -In this documentation, we assume the user wants to use /dev/sda5 as LUKS partition to install Ubuntu, as example. -## Step 2: Configuration -Next user must configure the config.sh. - -The first parameter to edit is **DEV** parameter which represents the target device. In this example, it must be set as /dev/sda. -```sh -export DEV="/dev/sda" -``` -The second parameter to edit is **CRYPTPARTITION**. By default, this parameter is set automatically according to the firmware type. The EFIPARTITION parameter can be left untouched. This parameter is not used. -```sh -if [ ${ISEFI} -ne 0 ] ; then -# EFI firmware -export EFIPARTITION=1 -export CRYPTPARTITION=5 -else -# BIOS firmware -export CRYPTPARTITION=5 -fi # EFI firmware -``` -Makes sure the **ERASEALL** and **OVERWRITEINSTALL** are 0. -## Step 3: Make LUKS partition -After saving the customer config.sh, run the following command to set the environment variable. -```sh -source config.sh -``` -Then, run the following command to create a LUKS volume. -```sh -cryptsetup luksFormat --iter-time "${ITERTIME}" --type=luks1 "${DEV}${CRYPTPARTITION}" -``` -This command sets up the LUKS volume on the specified partition. This command also asks for the passphrase of this LUKS volume. -## Step 4: Run Kaiten-yaki -Now, it's a time to run Kaiten-yaki -```sh -source kaiten-yaki-ubuntu -``` -All other operations are same with usual install. \ No newline at end of file From f92e09229583c3f27ce813d1742015e266c756f4 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 21 Jul 2021 09:31:55 +0900 Subject: [PATCH 206/242] Fixed link to wiki. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 52ccfa9..3626ff6 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ If you install two or more Void Linux into the EFI system, only the last one can Ubuntu has several variants ( flavors ). While while only the MATE flavor is tested, other flavors may work correctly as far as it uses Ubiquity installer. # Other resources -See [Wiki](wiki/) for the application notes and the useful links. +See [Wiki](https://github.com/suikan4github/kaiten-yaki/wiki) for the application notes and the useful links. # Acknowledgments These scripts are based on the script by [myn's diary](https://myn.hatenablog.jp/entry/install-ubuntu-focal-with-lvm-on-luks). That page contains rich information, hint, and techniques around the encrypted volume and Ubiquity installer. From 47bfcac6ccb76100de2db30099e52c8e7b671f37 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 21 Jul 2021 21:14:59 +0900 Subject: [PATCH 207/242] Refinet the configuration parameter display --- script/lib/common.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/script/lib/common.sh b/script/lib/common.sh index 6e4c6ea..cd0365c 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -61,8 +61,10 @@ function confirmation(){ LUKS volume name : "${CRYPTPARTNAME}" Volume group name : "${VGNAME}" Root volume name : "${VGNAME}-${LVROOTNAME}" + Root volume size : "${LVROOTSIZE}" Swap volume name : "${VGNAME}-${LVSWAPNAME}" - Size of "${VGNAME}-${LVROOTNAME}" : ${LVROOTSIZE} + Swap volume size : "${LVSWAPSIZE}" + --iter-time parameter : ${ITERTIME} HEREDOC if [ "${ERASEALL}" -ne 0 ] ; then From 44bb28e50a54d2d1bcd3d2ee6c573418c68f11b7 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 23 Jul 2021 08:17:47 +0900 Subject: [PATCH 208/242] Refine the INSTALL.md --- INSTALL.md | 35 ++++++++++++++++++----------------- image/an01_bios.png | Bin 5718 -> 0 bytes image/an01_efi.png | Bin 10519 -> 0 bytes image/an01_normal.png | Bin 7280 -> 0 bytes 4 files changed, 18 insertions(+), 17 deletions(-) delete mode 100755 image/an01_bios.png delete mode 100755 image/an01_efi.png delete mode 100755 image/an01_normal.png diff --git a/INSTALL.md b/INSTALL.md index 991dc4c..a4ef2d6 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -9,31 +9,32 @@ You can execute the install script without the command line parameter. For examp ```sh source ubuntu-kaiten-yaki.sh ``` -The first stage of the script is preparation like: erasing a disk, format partition, and encryption. This is the most critical stage of the entire installation process. This part is controlled by the configuration parameter. Thus, you have to edit the config.txt carefully. +The first stage of the script is preparation like: erasing a disk, format partition, and encryption. This is the most critical stage of the entire installation process. This part is controlled by the configuration parameter. Thus, you have to edit the config.sh carefully. In the second stage, the distribution-dependent GUI/TUI installer is invoked from the running script. That is the Ubiquity/void-installer of Ubuntu/Void Linux, respectively. -The third configure the target Linux system to decrypt the encrypted volume automatically, without prompting user to type passphrase. In this stage, Everything is automatic. +The third stage configures the target Linux system to decrypt the encrypted volume automatically, without prompting user to type passphrase. In this stage, Everything is automatic. # Installation Follow the steps below. ## Shell preparation -First of all, promote the shell to root. Almost of the procedure in the installation requires root privilege. Note that the scripts require Bash. +First of all, promote the shell to root. Kaiten-yaki script requires root permission to edit the storage device. Note that the scripts require Bash as shell. In the case of Ubuntu installation: -```bash +```sh # Promote to the root user sudo -i /bin/bash ``` In the case of Void Linux installation: -```bash +```sh +# Promote to the root user sudo -i /bin/bash xbps-install -Su xbps nano ``` -The nano is an editor package to configure the config.txt. The choice of editor is up to you. Kaiten-yaki script doesn't have a dependency on nano editor. +The nano is an editor package to configure the config.sh. The choice of editor is up to you. Kaiten-yaki script doesn't have a dependency on nano editor. And then, go to the kaiten-yaki/script directory. -```bash +```sh cd /the/downloaded/directory/kaiten-yaki/script ``` Now, ready to configure. @@ -43,13 +44,13 @@ This is a very critical part of the installation. The configuration parameters a Followings are the set of the default settings of the parameters : - Install to **/dev/sda** (DEV). - Do not erase the entire disk (ERASEALL). -- Overwrite install is disabled. +- Do not overwrite the existing logical volume (OVERWRITEINSTALL). - In the case of EFI firmware, 200MB is allocated to the EFI partition (EFISIZE). - Create a logical volume group named "vg1" in the encrypted volume (VGNAME) - Create a swap logical volume named "swap" in the "vg1". The size is 8GB (LVSWAPNAME,LVSWAPSIZE) - Create a logical volume named **"anko"** as root volume, in the "vg1". The size of the new volume is the **50%** of the free space (LVROOTNAME, LVROOTSIZE). -```bash +```sh # Configuration parameters for Kaiten-Yaki # Storage device to install the linux. @@ -120,11 +121,11 @@ And set the following parameters as same as the previous installation. - VGNAME - CRYPTPARTNAME -Kaiten-yaki will leave the "bad" logical volume and allow you to overwrite it by GUI/TUI installer. +Kaiten-yaki will leave the LUKS encrypted partition and allow you to overwrite the "bad" logical volume by GUI/TUI installer. ### About ITERTIME parameter This parameter is recommended to left as default value (=0), unless you understand what it mean well. -The ITERTIME parameter is passed as --iter-time parameter to the [cryptosetup command](https://man7.org/linux/man-pages/man8/cryptsetup.8.html), when script setup the LUKS crypto volume. +The ITERTIME parameter is passed as --iter-time parameter to the [cryptosetup command](https://man7.org/linux/man-pages/man8/cryptsetup.8.html), when script setup the LUKS crypto volume. See [AN03](https://github.com/suikan4github/kaiten-yaki/wiki/AN03:-The-ITERTIME-parameter-and-vulnerability) The unit of value is milliseconds. The target linux kernel may take this duration, to calculate a hash value from the given passphrase. You can change this duration through this parameter. @@ -134,15 +135,15 @@ The smaller value gives the weaker security. After you set the configuration parameters correctly, execute the following command from the shell. Again, you have to be promoted as the root user, and you have to use Bash. In the case of Ubuntu : -```bash +```sh source ubuntu-kaiten-yaki.sh ``` In the case of Void Linux -```bash +```sh source void-kaiten-yaki.sh ``` -After printing the configuration parameters, Kaiten-yaki will ask you to input a passphrase. This passphrase will be applied to the encryption of the LUKS volume. Make sure you use identical passphrases between all installations of the distributions in a computer. Otherwise, the install process terminates with an error, except the first distribution installation. +After printing the configuration parameters, Kaiten-yaki will prompt you to input a passphrase. This passphrase will be applied to the encryption of the LUKS volume. Make sure you use identical passphrases between all installations of the distributions in a computer. Otherwise, the install process terminates with an error, except the case of the ERASEALL configuration parameter is 1. ## Second stage : GUI/TUI installer After the first script finishes, the GUI/TUI installer starts automatically. Configure it as usual and run it. Ensure you map the following correctly. @@ -152,12 +153,12 @@ Target Directory | Host Volume | Comment / | /dev/mapper/vg1-ubuntu | Host volume name is up to your configuration parameter. swap | /dev/mapper/swap | Only the first distribution installation requires this mapping. -During the GUI/TUI installer copying files, Kaiten-yaki modifies the /etc/default/grub of the target system. This is the pretty dirty way. But if we don't modify this file, GUI/TUI installer fails at last. +During the GUI/TUI installer copying files, Kaiten-yaki modifies the /etc/default/grub of the target system. This is a pretty dirty way. But if we don't modify this file, GUI/TUI installer fails at last. ![Ubuntu Partitioning](image/ubuntu_partitioning.png) ![Void Partitioning](image/void_partitioning.png) -## Do not reboot +### Do not reboot At the end of the GUI/TUI installing, do not reboot the system. Click "Continue" and just exit the GUI/TUI installer without rebooting. Otherwise, we cannot finalize the entire installation process. ![Ubuntu done](image/ubuntu_done.png) @@ -166,7 +167,7 @@ At the end of the GUI/TUI installing, do not reboot the system. Click "Continue" ## Third stage: Finalizing After GUI/TUI installer quits without rebooting, the final part of the install process automatically starts. -In this section, Kaiten-yaki put the encryption key of the LUKS volume into the ramfs initial stage to allow the Linux kernel to decrypt the LUKS partition which contains root logical volume. Thus, the system will ask you passphrase only once when GRUB starts. +In this section, Kaiten-yaki put the encryption key of the LUKS volume into the initramfs image to allow the Linux kernel decrypting the LUKS partition which contains root logical volume. Thus, the system will ask you the passphrase only once when GRUB starts. You can reboot the system if you see the "Ready to reboot" message on the console. diff --git a/image/an01_bios.png b/image/an01_bios.png deleted file mode 100755 index 034f2e73da997a3690aa576240190a9a07c65bfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5718 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%0A_51%_cT# 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 R06?E_gAX65|0dyY{|&1t5widQ diff --git a/image/an01_normal.png b/image/an01_normal.png deleted file mode 100755 index a90c26f994168e5ec5efb5d569155467c99f2955..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7280 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 bRmC=BcfY|(Y2n%?5jgAY;Z$?-!p;8y(+Fdk From 2a7d5ff125bf9996e00b58035b24d465c7a47908 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 24 Jul 2021 15:22:25 +0900 Subject: [PATCH 209/242] Update comment For keyfile registration to initfsram --- script/lib/chrooted_job_ubuntu.sh | 3 ++- script/lib/chrooted_job_void.sh | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/script/lib/chrooted_job_ubuntu.sh b/script/lib/chrooted_job_ubuntu.sh index 6d8cd57..5cdd73b 100644 --- a/script/lib/chrooted_job_ubuntu.sh +++ b/script/lib/chrooted_job_ubuntu.sh @@ -29,7 +29,8 @@ function chrooted_job() { echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab # Add key file to the list of the intems in initfsram. - echo "...Registering key file to the ramfs" + # See https://cryptsetup-team.pages.debian.net/cryptsetup/README.initramfs.html for detail + echo "...Directing to include keyfile into the initfsram" echo "KEYFILE_PATTERN=/etc/luks/*.keyfile" >> /etc/cryptsetup-initramfs/conf-hook echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf diff --git a/script/lib/chrooted_job_void.sh b/script/lib/chrooted_job_void.sh index 9ce0c82..2bed1d5 100644 --- a/script/lib/chrooted_job_void.sh +++ b/script/lib/chrooted_job_void.sh @@ -29,7 +29,8 @@ function chrooted_job() { echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab # Add key file to the list of the intems in initfsram. - echo "...Registering key file to the ramfs" + # See https://man7.org/linux/man-pages/man5/dracut.conf.5.html for details. + echo "...Directing to include keyfile into the initfsram" echo 'install_items+=" /etc/luks/boot_os.keyfile /etc/crypttab " ' > /etc/dracut.conf.d/10-crypt.conf # Finally, update the ramfs initial image with the key file. From 95820a63d70bc263cc14d8ec09d4e9ab96ab061f Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 28 Jul 2021 08:22:45 +0900 Subject: [PATCH 210/242] Change > to >> Item should be added to /etc/dracut.conf.d/10-crypt.conf , rather than be overwritten Issue #29 --- CHANGELOG.md | 1 + script/lib/chrooted_job_ubuntu.sh | 4 ++-- script/lib/chrooted_job_void.sh | 6 +++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 02d25ab..80f3645 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ Record of the modification in project development. ### Fixed - [Issue 24 : Fail to install the ubuntu when the / volume is btrfs](https://github.com/suikan4github/kaiten-yaki/issues/24) +- [Issue 29 : Item should be added to /etc/dracut.conf.d/10-crypt.conf , rather than be overwritten](https://github.com/suikan4github/kaiten-yaki/issues/29) ### Known Issue diff --git a/script/lib/chrooted_job_ubuntu.sh b/script/lib/chrooted_job_ubuntu.sh index 5cdd73b..9fdc473 100644 --- a/script/lib/chrooted_job_ubuntu.sh +++ b/script/lib/chrooted_job_ubuntu.sh @@ -28,9 +28,9 @@ function chrooted_job() { echo "...Adding LUKS volume info to /etc/crypttab." echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab - # Add key file to the list of the intems in initfsram. + # Add key file to the list of the intems in initramfs. # See https://cryptsetup-team.pages.debian.net/cryptsetup/README.initramfs.html for detail - echo "...Directing to include keyfile into the initfsram" + echo "...Directing to include keyfile into the initramfs" echo "KEYFILE_PATTERN=/etc/luks/*.keyfile" >> /etc/cryptsetup-initramfs/conf-hook echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf diff --git a/script/lib/chrooted_job_void.sh b/script/lib/chrooted_job_void.sh index 2bed1d5..2bb8430 100644 --- a/script/lib/chrooted_job_void.sh +++ b/script/lib/chrooted_job_void.sh @@ -28,10 +28,10 @@ function chrooted_job() { echo "...Adding LUKS volume info to /etc/crypttab." echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab - # Add key file to the list of the intems in initfsram. + # Add key file to the list of the intems in initramfs. # See https://man7.org/linux/man-pages/man5/dracut.conf.5.html for details. - echo "...Directing to include keyfile into the initfsram" - echo 'install_items+=" /etc/luks/boot_os.keyfile /etc/crypttab " ' > /etc/dracut.conf.d/10-crypt.conf + echo "...Directing to include keyfile into the initramfs" + echo 'install_items+=" /etc/luks/boot_os.keyfile /etc/crypttab " ' >> /etc/dracut.conf.d/10-crypt.conf # Finally, update the ramfs initial image with the key file. echo "...Upadting initramfs." From fdfd8953d514ffa8df2bebf911f322acca677274 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 16 Oct 2021 07:51:31 +0900 Subject: [PATCH 211/242] Update README and CHANGELOG prepare to release v1.2.0 --- CHANGELOG.md | 11 ++++++++++- README.md | 5 +++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 80f3645..7c6a855 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,14 @@ Record of the modification in project development. ## [Unreleased] - yyyy-mm-dd ### Added ### Changed +### Deprecated +### Removed +### Fixed +### Known Issue + +## [1.2.0] - 2021-10-16 +### Added +### Changed - [Issue 25 : Refactoring: Sourcing config.sys is not needed in the chrooted_job](https://github.com/suikan4github/kaiten-yaki/issues/25) - [Issue 26 : Update AN01 for btrfs](https://github.com/suikan4github/kaiten-yaki/issues/26) - [Issue 27 : Eliminates the confirmation dialog](https://github.com/suikan4github/kaiten-yaki/issues/27) @@ -66,6 +74,7 @@ See [Testing before release v1.1.0](https://github.com/suikan4github/kaiten-yaki ### Known Issue -[Unreleased]: https://github.com/suikan4github/kaiten-yaki/compare/v1.1.0...develop +[Unreleased]: https://github.com/suikan4github/kaiten-yaki/compare/v1.2.0...develop +[1.2.0]: https://github.com/suikan4github/kaiten-yaki/compare/v1.1.0...v1.2.0 [1.1.0]: https://github.com/suikan4github/kaiten-yaki/compare/v1.0.0...v1.1.0 [1.0.0]: https://github.com/suikan4github/kaiten-yaki/compare/v0.0.0...v1.0.0 diff --git a/README.md b/README.md index 3626ff6..aff6af9 100644 --- a/README.md +++ b/README.md @@ -27,9 +27,10 @@ As depicted above, the LVM volume group has only one physical volume. These scripts are tested with the following environment. - VMWare Workstation 15.5.7 ( EFI/BIOS ) - ThinkPad X220 (BIOS) -- Ubuntu 20.04.2 amd64 desktop +- Ubuntu 20.04.3 amd64 desktop - Ubuntu 21.04 amd64 desktop -- Ubuntu Mate 20.04.2 amd64 desktop +- Ubuntu 21.10 amd64 desktop +- Ubuntu Mate 20.04.3 amd64 desktop - void-live-x86_64-20210218-mate.iso - void-live-x86_64-musl-20210218-mate.iso - void-live-x86_64-20210218.iso From 4699f87cc7f04d005667b47ee186df52d66e9d82 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 2 Mar 2022 07:24:56 +0900 Subject: [PATCH 212/242] Add test script for development --- script/config.sh | 30 +++++++++- script/lib/common.sh | 123 +++++++++++++++++++++++++++++++++++++++- script/test/config01.sh | 112 ++++++++++++++++++++++++++++++++++++ script/test/test01.sh | 45 +++++++++++++++ script/test/testutil.sh | 38 +++++++++++++ 5 files changed, 346 insertions(+), 2 deletions(-) create mode 100755 script/test/config01.sh create mode 100755 script/test/test01.sh create mode 100644 script/test/testutil.sh diff --git a/script/config.sh b/script/config.sh index bb378c0..22f448f 100644 --- a/script/config.sh +++ b/script/config.sh @@ -14,11 +14,39 @@ export ERASEALL=0 # Keep it unique from other distribution. export LVROOTNAME="anko" +# Suffix of the optional logical volumes. +# If you want to have optional OVs, set USELVEXT# to 1. +# Then, the suffix will be added to the LVROOTNAME. +# For example, Assume you have setting below : +# LVROOTNAME="anko" +# USELVEXT1=1 +# LVEXT1SUFFIX="_home" +# USELVEXT2=0 +# LVEXT2SUFFIX="_var" +# You will have +# anko +# anko_home +# You will not have anko_var because the USELVEXT2=0. +export USELVEXT1=0 +export LVEXT1SUFFIX="_home" +export USELVEXT2=0 +export LVEXT2SUFFIX="_var" + # Logical volume size of the Linux installation. # 30% mean, new logical volume will use 30% of the free space # in the LVM volume group. For example, assume the free space is 100GB, # and LVROOTSIZE is 30%FREE. Script will create 30GB logical volume. -export LVROOTSIZE="50%FREE" +# Note that the order of the volume creation is : +# 1. EFI if needed +# 2. SWAP +# 3. LVROOT +# 4. LVEXT1 if needed +# 5. LVEXT2 if needed +export LVROOTSIZE="10%FREE" + +# Logical volume size of the optional volumes. +export LVEXT1SIZE="90%FREE" +export LVEXT2SIZE="100%FREE" # Set the size of EFI partition and swap partition. # The unit is Byte. You can use M,G... notation. diff --git a/script/lib/common.sh b/script/lib/common.sh index cd0365c..43803d4 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -42,6 +42,34 @@ function confirmation(){ return 1 # with error status fi # "-" is found in the volume name. + # Sanity check for lvext1 volume suffix + if [ "${USELVEXT1}" -ne 0 ] ; then + if echo "${LVEXT1SUFFIX}" | grep "-" -i > /dev/null ; then # "-" is found in the volume name. + cat <<- HEREDOC + ***** ERROR : LVEXT1SUFFIX is "${LVEXT1SUFFIX}" ***** + ..."-" is not allowed in the volume name. + ...Check configuration in your config.sh + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # "-" is found in the volume suffix. + fi # USELVEXT1 + + # Sanity check for lvext2 volume suffix + if [ "${USELVEXT2}" -ne 0 ] ; then + if echo "${LVEXT2SUFFIX}" | grep "-" -i > /dev/null ; then # "-" is found in the volume name. + cat <<- HEREDOC + ***** ERROR : LVEXT2SUFFIX is "${LVEXT2SUFFIX}" ***** + ..."-" is not allowed in the volume name. + ...Check configuration in your config.sh + + ...Installation process terminated.. + HEREDOC + return 1 # with error status + fi # "-" is found in the volume suffix. + fi # USELVEXT2 + # Sanity check for swap volume name if echo "${LVSWAPNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume name. cat <<- HEREDOC @@ -62,6 +90,23 @@ function confirmation(){ Volume group name : "${VGNAME}" Root volume name : "${VGNAME}-${LVROOTNAME}" Root volume size : "${LVROOTSIZE}" + HEREDOC + + if [ "${USELVEXT1}" -ne 0 ] ; then + cat <<- HEREDOC + Extra volume name 1 : "${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}" + Extra volume size 1 : "${LVEXT1SIZE}" + HEREDOC + fi # USELVEXT1 + + if [ "${USELVEXT2}" -ne 0 ] ; then + cat <<- HEREDOC + Extra volume name 2 : "${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}" + Extra volume size 2 : "${LVEXT2SIZE}" + HEREDOC + fi # USELVEXT2 + + cat <<- HEREDOC Swap volume name : "${VGNAME}-${LVSWAPNAME}" Swap volume size : "${LVSWAPSIZE}" --iter-time parameter : ${ITERTIME} @@ -207,7 +252,7 @@ function pre_install() { return 1 # with error status fi else # not exsit - if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then + if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then # not exist and overwrite install cat <<- HEREDOC ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" doesn't exist while overwrite install. ***** ...Check consistency of your config.txt. @@ -219,6 +264,69 @@ function pre_install() { echo "...Creating logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." lvcreate -l "${LVROOTSIZE}" -n "${LVROOTNAME}" "${VGNAME}" if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; + + if [ "${USELVEXT1}" -ne 0 ] ; then # if using extra volume 1 + if [ -e /dev/mapper/"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}" ] ; then # if extra volume 1 exist + cat <<- HEREDOC + ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}" exists while non-overwrite install. ***** + ...Check consistency of your config.txt. + HEREDOC + # Remove newly created root volume + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" + # Deactivate all lg and close the LUKS volume + deactivate_and_close + return 1 # with error status + else + echo "...Creating logical volume \"${LVROOTNAME}${LVEXT1SUFFIX}\" on \"${VGNAME}\"." + lvcreate -l "${LVEXT1SIZE}" -n "${LVROOTNAME}${LVEXT1SUFFIX}" "${VGNAME}" + if [ $? -ne 0 ] ; then # if fail + # Remove newly created root volume + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" + # Deactivate all lg and close the LUKS volume + deactivate_and_close; + return 1 ; + fi; + fi + fi + + if [ "${USELVEXT2}" -ne 0 ] ; then # if using extra volume 2 + if [ -e /dev/mapper/"${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}" ] ; then # if extra volume 2 exist + cat <<- HEREDOC + ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}" exists while non-overwrite install. ***** + ...Check consistency of your config.txt. + HEREDOC + # Remove newly created root volume + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" + if [ "${USELVEXT1}" -ne 0 ] ; then # if using extra volume 1 + # Remove newly created extra volume 1 + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}\"." + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}${LVEXT1SUFFIX}" + fi + # Deactivate all lg and close the LUKS volume + deactivate_and_close + return 1 # with error status + else + echo "...Creating logical volume \"${LVROOTNAME}${LVEXT2SUFFIX}\" on \"${VGNAME}\"." + lvcreate -l "${LVEXT2SIZE}" -n "${LVROOTNAME}${LVEXT2SUFFIX}" "${VGNAME}" + if [ $? -ne 0 ] ; then # if fail + # Remove newly created root volume + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" + if [ "${USELVEXT1}" -ne 0 ] ; then # if using extra volume 1 + # Remove newly created extra volume 1 + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}\"." + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}${LVEXT1SUFFIX}" + fi + # Deactivate all lg and close the LUKS volume + deactivate_and_close; + return 1 ; + fi; + fi + fi + fi fi @@ -338,6 +446,19 @@ function on_unexpected_installer_quit(){ else # if not overwrite istall, delete the new volume echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" + + if [ "${USELVEXT1}" -ne 0 ] ; then # if using extra volume 1 + # Remove newly created extra volume 1 + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}\"." + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}${LVEXT1SUFFIX}" + fi + + if [ "${USELVEXT2}" -ne 0 ] ; then # if using extra volume 2 + # Remove newly created extra volume 2 + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}\"." + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}${LVEXT2SUFFIX}" + fi + fi # Deactivate all lg and close the LUKS volume deactivate_and_close diff --git a/script/test/config01.sh b/script/test/config01.sh new file mode 100755 index 0000000..cfa8614 --- /dev/null +++ b/script/test/config01.sh @@ -0,0 +1,112 @@ +#!/bin/bash + +# ##################################### + +# Test setup. +# /dev/sdb/ +# ERASEALL +# LVROOT 10% +# LVEXT1 90% +# LVEXT2 10% + +# ##################################### + +# Configuration parameters for Kaiten-Yaki + +# Storage device to install the linux. +export DEV="/dev/sdb" + +# Whether you want to erase all contents of the storage device or not. +# 1 : Yes, I want to erase all. +# 0 : No, I don't. I want to add to the existing LUKS volume. +export ERASEALL=1 + +# Logical Volume name for your Linux installation. +# Keep it unique from other distribution. +export LVROOTNAME="anko" + +# Suffix of the optional logical volumes. +# If you want to have optional OVs, set USELVEXT# to 1. +# Then, the suffix will be added to the LVROOTNAME. +# For example, Assume you have setting below : +# LVROOTNAME="anko" +# USELVEXT1=1 +# LVEXT1SUFFIX="_home" +# USELVEXT2=0 +# LVEXT2SUFFIX="_var" +# You will have +# anko +# anko_home +# You will not have anko_var because the USELVEXT2=0. +export USELVEXT1=1 +export LVEXT1SUFFIX="_home" +export USELVEXT2=1 +export LVEXT2SUFFIX="_var" + +# Logical volume size of the Linux installation. +# 30% mean, new logical volume will use 30% of the free space +# in the LVM volume group. For example, assume the free space is 100GB, +# and LVROOTSIZE is 30%FREE. Script will create 30GB logical volume. +# Note that the order of the volume creation is : +# 1. EFI if needed +# 2. SWAP +# 3. LVROOT +# 4. LVEXT1 if needed +# 5. LVEXT2 if needed +export LVROOTSIZE="10%FREE" + +# Logical volume size of the optional volumes. +export LVEXT1SIZE="90%FREE" +export LVEXT2SIZE="100%FREE" + +# Set the size of EFI partition and swap partition. +# The unit is Byte. You can use M,G... notation. +export EFISIZE="200M" +export LVSWAPSIZE="8G" + +# Usually, these names can be left untouched. +# If you change, keep them consistent through all installation in your system. +export CRYPTPARTNAME="luks_test" +export VGNAME="vg_test" +export LVSWAPNAME="swap" + +# Do not touch this parameter, unless you understand what you are doing. +# 1 : Overwrite the existing logical volume as root volume. +# 0 : Create new logical volume as root volume. +export OVERWRITEINSTALL=0 + +# Do not touch this parameter, unless you understand what you are doing. +# This is a paameter value of the --iter-time option for cyrptsetup command. +# If you specify 1000, that means 1000mSec. 0 means compile default. +export ITERTIME=0 + +# Void Linux only. Ignored in Ubuntu. +# The font size of the void-installer +export XTERMFONTSIZE=11 + +# !!!!!!!!!!!!!! DO NOT EDIT FOLLOWING LINES. !!!!!!!!!!!!!! + +# Detect firmware type. 1 : EFI, 0 : BIOS +if [ -d /sys/firmware/efi ]; then +export ISEFI=1 # Yes, EFI +else +export ISEFI=0 # No, BIOS +fi # is EFI firmaare? + +# Set partition number based on the firmware type +if [ ${ISEFI} -ne 0 ] ; then +# EFI firmware +export EFIPARTITION=1 +export CRYPTPARTITION=2 +else +# BIOS firmware +export CRYPTPARTITION=1 +fi # EFI firmware + +# Detect the GUI environment +# This code is not efered. Just left because it is interestintg code. +if env | grep -w -e XDG_SESSION_TYPE -e DISPLAY -e WAYLAND_DISPLAY > /dev/null ; then + export GUIENV=1 # set 1 if GUI env. +else + export GUIENV=0 # set 0 if not GUI env. +fi \ No newline at end of file diff --git a/script/test/test01.sh b/script/test/test01.sh new file mode 100755 index 0000000..a5a2de5 --- /dev/null +++ b/script/test/test01.sh @@ -0,0 +1,45 @@ +#!/bin/bash -u + + # shellcheck disable=SC1091 + # Load configuration parameter + source ./config01.sh + + # Load common functions + source ../lib/common.sh + +function main() { + + # This is the mount point of the install target. + export TARGETMOUNTPOINT="/target" + + # ******************************************************************************* + # Confirmation before installation + # ******************************************************************************* + + # parameters for distribution check + export DISTRIBUTIONSIGNATURE="ubuntu" + export DISTRIBUTIONNAME="Ubuntu" + + # Check whetehr given signature exist or not + if ! distribution_check ; then + return 1 # with error status + fi + + # Common part of the parameter confirmation + if ! confirmation ; then + return 1 # with error status + fi + + # ******************************************************************************* + # Pre-install stage + # ******************************************************************************* + + # Common part of the pre-install stage + if ! pre_install ; then + return 1 # with error status + fi +} + +# main routine +main + diff --git a/script/test/testutil.sh b/script/test/testutil.sh new file mode 100644 index 0000000..a4889d2 --- /dev/null +++ b/script/test/testutil.sh @@ -0,0 +1,38 @@ + + +# ******************************************************************************* +# Deactivate all LV in the VG and close LUKS volume +# ******************************************************************************* + +function util_deactivate_and_close(){ + echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." + vgchange -a n "${VGNAME}" + echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." + cryptsetup close "${CRYPTPARTNAME}" + cat <<- HEREDOC + + ...Installation process terminated.. + HEREDOC + +} + +# ******************************************************************************* +# Delete the nwe volume if overwrite install, and close all +# ******************************************************************************* +function util_cleanup(){ + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" + + if [ "${USELVEXT1}" -ne 0 ] ; then # if using extra volume 1 + # Remove newly created extra volume 1 + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}\"." + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}${LVEXT1SUFFIX}" + fi + + if [ "${USELVEXT2}" -ne 0 ] ; then # if using extra volume 2 + # Remove newly created extra volume 2 + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}\"." + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}${LVEXT2SUFFIX}" + fi + +} From ed48590821722d21b5fd890b06885ed6c41a5146 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 5 May 2022 23:20:30 +0900 Subject: [PATCH 213/242] Test update. --- script/test/trial.sh | 11 ++++++++++ script/test/{testutil.sh => util_cleanup.sh} | 22 +++++-------------- script/test/util_deactivate_and_close.sh | 23 ++++++++++++++++++++ 3 files changed, 40 insertions(+), 16 deletions(-) create mode 100755 script/test/trial.sh rename script/test/{testutil.sh => util_cleanup.sh} (65%) mode change 100644 => 100755 create mode 100755 script/test/util_deactivate_and_close.sh diff --git a/script/test/trial.sh b/script/test/trial.sh new file mode 100755 index 0000000..5106da8 --- /dev/null +++ b/script/test/trial.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +DISK=/dev/sdb + +DISKSIZE=$(blockdev --report ${DISK} | awk /${DISK}/'{print $6}') +VOLSIZE=$(lvdisplay --units B /dev/vg_test/anko | awk '/Size/{print $3}') + +echo $DISKSIZE +echo $VOLSIZE + +echo "scale=3; $VOLSIZE/$DISKSIZE" | bc \ No newline at end of file diff --git a/script/test/testutil.sh b/script/test/util_cleanup.sh old mode 100644 new mode 100755 similarity index 65% rename from script/test/testutil.sh rename to script/test/util_cleanup.sh index a4889d2..0701bb9 --- a/script/test/testutil.sh +++ b/script/test/util_cleanup.sh @@ -1,20 +1,8 @@ +#!/bin/bash -u - -# ******************************************************************************* -# Deactivate all LV in the VG and close LUKS volume -# ******************************************************************************* - -function util_deactivate_and_close(){ - echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." - vgchange -a n "${VGNAME}" - echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." - cryptsetup close "${CRYPTPARTNAME}" - cat <<- HEREDOC - - ...Installation process terminated.. - HEREDOC - -} + # shellcheck disable=SC1091 + # Load configuration parameter + source ./config01.sh # ******************************************************************************* # Delete the nwe volume if overwrite install, and close all @@ -36,3 +24,5 @@ function util_cleanup(){ fi } + +util_cleanup diff --git a/script/test/util_deactivate_and_close.sh b/script/test/util_deactivate_and_close.sh new file mode 100755 index 0000000..2da7bb4 --- /dev/null +++ b/script/test/util_deactivate_and_close.sh @@ -0,0 +1,23 @@ +#!/bin/bash -u + + # shellcheck disable=SC1091 + # Load configuration parameter + source ./config01.sh + +# ******************************************************************************* +# Deactivate all LV in the VG and close LUKS volume +# ******************************************************************************* + +function util_deactivate_and_close(){ + echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." + vgchange -a n "${VGNAME}" + echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." + cryptsetup close "${CRYPTPARTNAME}" + cat <<- HEREDOC + + ...Installation process terminated.. + HEREDOC + +} + +util_deactivate_and_close From 9ef15cc1f122c100c29e7d298cac70de747fb376 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 5 May 2022 23:32:48 +0900 Subject: [PATCH 214/242] Add display of the additional volumes. The user --- script/lib/common.sh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/script/lib/common.sh b/script/lib/common.sh index 43803d4..355e869 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -359,7 +359,17 @@ function para_install_msg() { fi # Root volume mapping - echo "/ : /dev/mapper/${VGNAME}-${LVROOTNAME}" + echo "/ : /dev/mapper/${VGNAME}-${LVROOTNAME}" + + # If USELVEXT1 exist. + if [ "${USELVEXT1}" -ne 0 ] ; then + echo "LVEXT1 : /dev/mapper/${VGNAME}${LVEXT1SUFFIX}" + fi + + # If USELVEXT2 exist. + if [ "${USELVEXT2}" -ne 0 ] ; then + echo "LVEXT2 : /dev/mapper/${VGNAME}${LVEXT2SUFFIX}" + fi # In case of erased storage, add this mapping if [ "${ERASEALL}" -ne 0 ] ; then From a21470f594af43afd4e4efdce2a45b98dbe95925 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 5 May 2022 23:47:17 +0900 Subject: [PATCH 215/242] Correct the display of the LVEXT1,2 --- script/lib/common.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/script/lib/common.sh b/script/lib/common.sh index 355e869..b3b4bb4 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -363,12 +363,12 @@ function para_install_msg() { # If USELVEXT1 exist. if [ "${USELVEXT1}" -ne 0 ] ; then - echo "LVEXT1 : /dev/mapper/${VGNAME}${LVEXT1SUFFIX}" + echo "LVEXT1 : /dev/mapper/${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}" fi # If USELVEXT2 exist. if [ "${USELVEXT2}" -ne 0 ] ; then - echo "LVEXT2 : /dev/mapper/${VGNAME}${LVEXT2SUFFIX}" + echo "LVEXT2 : /dev/mapper/${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}" fi # In case of erased storage, add this mapping From 8cd947c91232f07fc435cf633562cc7299a4095c Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Fri, 6 May 2022 08:44:16 +0900 Subject: [PATCH 216/242] fixed behavior of lvext When overwrite installing, the lvext# were not created. The detection of the error processing was refactored to use the global variable to see the newly created or not. --- script/lib/common.sh | 129 +++++++++++++++++++++++-------------------- 1 file changed, 68 insertions(+), 61 deletions(-) diff --git a/script/lib/common.sh b/script/lib/common.sh index b3b4bb4..8524a69 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -152,6 +152,11 @@ function confirmation(){ function pre_install() { + # Internal variables. + # These variables displays whether the volumes are created in this installation. + IS_ROOT_CREATED=0 + IS_LVEXT1_CREATED=0 + IS_LVEXT2_CREATED=0 # ----- Erase entire disk, create partitions, format them and encrypt the LUKS partition ----- if [ "${ERASEALL}" -ne 0 ] ; then @@ -242,6 +247,11 @@ function pre_install() { if [ -e /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" ] ; then # exist if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then # exist and overwrite install echo "...Logical volume \"${VGNAME}-${LVROOTNAME}\" already exists. OK." + + # Create extended volumes if needed + create_ext_lv + if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; + else # exist and not overwriteinstall cat <<- HEREDOC ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** @@ -262,70 +272,13 @@ function pre_install() { return 1 # with error status else # not exist and not overwrite install echo "...Creating logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." + IS_ROOT_CREATED=1 lvcreate -l "${LVROOTSIZE}" -n "${LVROOTNAME}" "${VGNAME}" if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; - if [ "${USELVEXT1}" -ne 0 ] ; then # if using extra volume 1 - if [ -e /dev/mapper/"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}" ] ; then # if extra volume 1 exist - cat <<- HEREDOC - ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}" exists while non-overwrite install. ***** - ...Check consistency of your config.txt. - HEREDOC - # Remove newly created root volume - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." - lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" - # Deactivate all lg and close the LUKS volume - deactivate_and_close - return 1 # with error status - else - echo "...Creating logical volume \"${LVROOTNAME}${LVEXT1SUFFIX}\" on \"${VGNAME}\"." - lvcreate -l "${LVEXT1SIZE}" -n "${LVROOTNAME}${LVEXT1SUFFIX}" "${VGNAME}" - if [ $? -ne 0 ] ; then # if fail - # Remove newly created root volume - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." - lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" - # Deactivate all lg and close the LUKS volume - deactivate_and_close; - return 1 ; - fi; - fi - fi - - if [ "${USELVEXT2}" -ne 0 ] ; then # if using extra volume 2 - if [ -e /dev/mapper/"${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}" ] ; then # if extra volume 2 exist - cat <<- HEREDOC - ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}" exists while non-overwrite install. ***** - ...Check consistency of your config.txt. - HEREDOC - # Remove newly created root volume - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." - lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" - if [ "${USELVEXT1}" -ne 0 ] ; then # if using extra volume 1 - # Remove newly created extra volume 1 - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}\"." - lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}${LVEXT1SUFFIX}" - fi - # Deactivate all lg and close the LUKS volume - deactivate_and_close - return 1 # with error status - else - echo "...Creating logical volume \"${LVROOTNAME}${LVEXT2SUFFIX}\" on \"${VGNAME}\"." - lvcreate -l "${LVEXT2SIZE}" -n "${LVROOTNAME}${LVEXT2SUFFIX}" "${VGNAME}" - if [ $? -ne 0 ] ; then # if fail - # Remove newly created root volume - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." - lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" - if [ "${USELVEXT1}" -ne 0 ] ; then # if using extra volume 1 - # Remove newly created extra volume 1 - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}\"." - lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}${LVEXT1SUFFIX}" - fi - # Deactivate all lg and close the LUKS volume - deactivate_and_close; - return 1 ; - fi; - fi - fi + # Create extended volumes if needed + create_ext_lv + if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; fi fi @@ -503,6 +456,60 @@ function distribution_check(){ return 0 } +# ******************************************************************************* +# Create extended volume, if needed. +# ******************************************************************************* + + +function create_ext_lv() { + if [ "${USELVEXT1}" -ne 0 ] ; then # if using extra volume 1 + if [ -e /dev/mapper/"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}" ] ; then # if extra volume 1 exist + echo "...Logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}\" already exists. OK." + else + echo "...Creating logical volume \"${LVROOTNAME}${LVEXT1SUFFIX}\" on \"${VGNAME}\"." + IS_LVEXT1_CREATED=1 + lvcreate -l "${LVEXT1SIZE}" -n "${LVROOTNAME}${LVEXT1SUFFIX}" "${VGNAME}" + if [ $? -ne 0 ] ; then # if fail + echo "***** ERROR : failed to create "${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}" . *****" + # Remove newly created root volume + if [ "${IS_ROOT_CREATED}" -ne 0 ] ; then # Is root created in this installation? + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" + fi + return 1 ; + fi; + fi + fi + + if [ "${USELVEXT2}" -ne 0 ] ; then # if using extra volume 2 + if [ -e /dev/mapper/"${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}" ] ; then # if extra volume 2 exist + echo "...Logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}\" already exists. OK." + else + echo "...Creating logical volume \"${LVROOTNAME}${LVEXT2SUFFIX}\" on \"${VGNAME}\"." + IS_LVEXT2_CREATED=1 + lvcreate -l "${LVEXT2SIZE}" -n "${LVROOTNAME}${LVEXT2SUFFIX}" "${VGNAME}" + if [ $? -ne 0 ] ; then # if fail + echo "***** ERROR : failed to create "${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}" . *****" + # Remove newly created root volume + if [ "${IS_ROOT_CREATED}" -ne 0 ] ; then # newly created root must be deleted + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" + fi + if [ "${IS_LVEXT1_CREATED}" -ne 0 ] ; then # Is LV EXT1 created in this volue? + # Remove newly created extra volume 1 + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}\"." + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}${LVEXT1SUFFIX}" + fi + return 1 ; + fi; + fi + fi + + # no error + return 0 + + +} # ******************************************************************************* # Error report and return revsers status. From f6d43382fecf3948dc66b37c0d42a76b3efdc2e5 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 7 May 2022 08:41:18 +0900 Subject: [PATCH 217/242] Move lvremove. To simplify, removing new voluves are gathered to deactivate_and remove. --- script/lib/common.sh | 62 ++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 34 deletions(-) diff --git a/script/lib/common.sh b/script/lib/common.sh index 8524a69..c2a26e0 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -272,9 +272,9 @@ function pre_install() { return 1 # with error status else # not exist and not overwrite install echo "...Creating logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." - IS_ROOT_CREATED=1 lvcreate -l "${LVROOTSIZE}" -n "${LVROOTNAME}" "${VGNAME}" if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; + IS_ROOT_CREATED=1 # Create extended volumes if needed create_ext_lv @@ -388,6 +388,29 @@ function post_install() { # ******************************************************************************* function deactivate_and_close(){ + + + if [ "${IS_ROOT_CREATED}" -ne 0 ] ; then # if extra volume 1 created + # Remove newly created root volume + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" + fi + + + if [ "${IS_LVEXT1_CREATED}" -ne 0 ] ; then # if extra volume 1 created + # Remove newly created extra volume 1 + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}\"." + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}${LVEXT1SUFFIX}" + fi + + if [ "${IS_LVEXT2_CREATED}" -ne 0 ] ; then # if extra volume 2 created + # Remove newly created extra volume 2 + echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}\"." + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}${LVEXT2SUFFIX}" + fi + + + echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." vgchange -a n "${VGNAME}" echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." @@ -406,22 +429,6 @@ function on_unexpected_installer_quit(){ echo "***** ERROR : The GUI/TUI installer terminated unexpectedly. *****" if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then # If overwrite install, keep the volume echo "...Keep logical volume \"${VGNAME}-${LVROOTNAME}\" untouched." - else # if not overwrite istall, delete the new volume - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." - lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" - - if [ "${USELVEXT1}" -ne 0 ] ; then # if using extra volume 1 - # Remove newly created extra volume 1 - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}\"." - lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}${LVEXT1SUFFIX}" - fi - - if [ "${USELVEXT2}" -ne 0 ] ; then # if using extra volume 2 - # Remove newly created extra volume 2 - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}\"." - lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}${LVEXT2SUFFIX}" - fi - fi # Deactivate all lg and close the LUKS volume deactivate_and_close @@ -467,16 +474,12 @@ function create_ext_lv() { echo "...Logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}\" already exists. OK." else echo "...Creating logical volume \"${LVROOTNAME}${LVEXT1SUFFIX}\" on \"${VGNAME}\"." - IS_LVEXT1_CREATED=1 lvcreate -l "${LVEXT1SIZE}" -n "${LVROOTNAME}${LVEXT1SUFFIX}" "${VGNAME}" if [ $? -ne 0 ] ; then # if fail echo "***** ERROR : failed to create "${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}" . *****" - # Remove newly created root volume - if [ "${IS_ROOT_CREATED}" -ne 0 ] ; then # Is root created in this installation? - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." - lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" - fi return 1 ; + else # if success + IS_LVEXT1_CREATED=1 # Mark this volume is created fi; fi fi @@ -486,21 +489,12 @@ function create_ext_lv() { echo "...Logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}\" already exists. OK." else echo "...Creating logical volume \"${LVROOTNAME}${LVEXT2SUFFIX}\" on \"${VGNAME}\"." - IS_LVEXT2_CREATED=1 lvcreate -l "${LVEXT2SIZE}" -n "${LVROOTNAME}${LVEXT2SUFFIX}" "${VGNAME}" if [ $? -ne 0 ] ; then # if fail echo "***** ERROR : failed to create "${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}" . *****" - # Remove newly created root volume - if [ "${IS_ROOT_CREATED}" -ne 0 ] ; then # newly created root must be deleted - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." - lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" - fi - if [ "${IS_LVEXT1_CREATED}" -ne 0 ] ; then # Is LV EXT1 created in this volue? - # Remove newly created extra volume 1 - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}\"." - lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}${LVEXT1SUFFIX}" - fi return 1 ; + else # if success + IS_LVEXT2_CREATED=1 # Mark this volume is created fi; fi fi From 121f1950b8829bbb80f8a56e10cfcdf66972cfd3 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 7 May 2022 14:30:52 +0900 Subject: [PATCH 218/242] Update CHANGELOG to describe issue #31. Issue 31 : Add extra partition functionality. https://github.com/suikan4github/kaiten-yaki/issues/31 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c6a855..a783c3d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ Record of the modification in project development. ## [Unreleased] - yyyy-mm-dd ### Added +- [Issue 31 : Add extra partition functionality.](https://github.com/suikan4github/kaiten-yaki/issues/31) + ### Changed ### Deprecated ### Removed From eb6f0eef0fe36543e5409600530a2550d20952ee Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 7 May 2022 14:34:47 +0900 Subject: [PATCH 219/242] test subdirectory is removed. --- script/test/config01.sh | 112 ----------------------- script/test/test01.sh | 45 --------- script/test/trial.sh | 11 --- script/test/util_cleanup.sh | 28 ------ script/test/util_deactivate_and_close.sh | 23 ----- 5 files changed, 219 deletions(-) delete mode 100755 script/test/config01.sh delete mode 100755 script/test/test01.sh delete mode 100755 script/test/trial.sh delete mode 100755 script/test/util_cleanup.sh delete mode 100755 script/test/util_deactivate_and_close.sh diff --git a/script/test/config01.sh b/script/test/config01.sh deleted file mode 100755 index cfa8614..0000000 --- a/script/test/config01.sh +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/bash - -# ##################################### - -# Test setup. -# /dev/sdb/ -# ERASEALL -# LVROOT 10% -# LVEXT1 90% -# LVEXT2 10% - -# ##################################### - -# Configuration parameters for Kaiten-Yaki - -# Storage device to install the linux. -export DEV="/dev/sdb" - -# Whether you want to erase all contents of the storage device or not. -# 1 : Yes, I want to erase all. -# 0 : No, I don't. I want to add to the existing LUKS volume. -export ERASEALL=1 - -# Logical Volume name for your Linux installation. -# Keep it unique from other distribution. -export LVROOTNAME="anko" - -# Suffix of the optional logical volumes. -# If you want to have optional OVs, set USELVEXT# to 1. -# Then, the suffix will be added to the LVROOTNAME. -# For example, Assume you have setting below : -# LVROOTNAME="anko" -# USELVEXT1=1 -# LVEXT1SUFFIX="_home" -# USELVEXT2=0 -# LVEXT2SUFFIX="_var" -# You will have -# anko -# anko_home -# You will not have anko_var because the USELVEXT2=0. -export USELVEXT1=1 -export LVEXT1SUFFIX="_home" -export USELVEXT2=1 -export LVEXT2SUFFIX="_var" - -# Logical volume size of the Linux installation. -# 30% mean, new logical volume will use 30% of the free space -# in the LVM volume group. For example, assume the free space is 100GB, -# and LVROOTSIZE is 30%FREE. Script will create 30GB logical volume. -# Note that the order of the volume creation is : -# 1. EFI if needed -# 2. SWAP -# 3. LVROOT -# 4. LVEXT1 if needed -# 5. LVEXT2 if needed -export LVROOTSIZE="10%FREE" - -# Logical volume size of the optional volumes. -export LVEXT1SIZE="90%FREE" -export LVEXT2SIZE="100%FREE" - -# Set the size of EFI partition and swap partition. -# The unit is Byte. You can use M,G... notation. -export EFISIZE="200M" -export LVSWAPSIZE="8G" - -# Usually, these names can be left untouched. -# If you change, keep them consistent through all installation in your system. -export CRYPTPARTNAME="luks_test" -export VGNAME="vg_test" -export LVSWAPNAME="swap" - -# Do not touch this parameter, unless you understand what you are doing. -# 1 : Overwrite the existing logical volume as root volume. -# 0 : Create new logical volume as root volume. -export OVERWRITEINSTALL=0 - -# Do not touch this parameter, unless you understand what you are doing. -# This is a paameter value of the --iter-time option for cyrptsetup command. -# If you specify 1000, that means 1000mSec. 0 means compile default. -export ITERTIME=0 - -# Void Linux only. Ignored in Ubuntu. -# The font size of the void-installer -export XTERMFONTSIZE=11 - -# !!!!!!!!!!!!!! DO NOT EDIT FOLLOWING LINES. !!!!!!!!!!!!!! - -# Detect firmware type. 1 : EFI, 0 : BIOS -if [ -d /sys/firmware/efi ]; then -export ISEFI=1 # Yes, EFI -else -export ISEFI=0 # No, BIOS -fi # is EFI firmaare? - -# Set partition number based on the firmware type -if [ ${ISEFI} -ne 0 ] ; then -# EFI firmware -export EFIPARTITION=1 -export CRYPTPARTITION=2 -else -# BIOS firmware -export CRYPTPARTITION=1 -fi # EFI firmware - -# Detect the GUI environment -# This code is not efered. Just left because it is interestintg code. -if env | grep -w -e XDG_SESSION_TYPE -e DISPLAY -e WAYLAND_DISPLAY > /dev/null ; then - export GUIENV=1 # set 1 if GUI env. -else - export GUIENV=0 # set 0 if not GUI env. -fi \ No newline at end of file diff --git a/script/test/test01.sh b/script/test/test01.sh deleted file mode 100755 index a5a2de5..0000000 --- a/script/test/test01.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash -u - - # shellcheck disable=SC1091 - # Load configuration parameter - source ./config01.sh - - # Load common functions - source ../lib/common.sh - -function main() { - - # This is the mount point of the install target. - export TARGETMOUNTPOINT="/target" - - # ******************************************************************************* - # Confirmation before installation - # ******************************************************************************* - - # parameters for distribution check - export DISTRIBUTIONSIGNATURE="ubuntu" - export DISTRIBUTIONNAME="Ubuntu" - - # Check whetehr given signature exist or not - if ! distribution_check ; then - return 1 # with error status - fi - - # Common part of the parameter confirmation - if ! confirmation ; then - return 1 # with error status - fi - - # ******************************************************************************* - # Pre-install stage - # ******************************************************************************* - - # Common part of the pre-install stage - if ! pre_install ; then - return 1 # with error status - fi -} - -# main routine -main - diff --git a/script/test/trial.sh b/script/test/trial.sh deleted file mode 100755 index 5106da8..0000000 --- a/script/test/trial.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -DISK=/dev/sdb - -DISKSIZE=$(blockdev --report ${DISK} | awk /${DISK}/'{print $6}') -VOLSIZE=$(lvdisplay --units B /dev/vg_test/anko | awk '/Size/{print $3}') - -echo $DISKSIZE -echo $VOLSIZE - -echo "scale=3; $VOLSIZE/$DISKSIZE" | bc \ No newline at end of file diff --git a/script/test/util_cleanup.sh b/script/test/util_cleanup.sh deleted file mode 100755 index 0701bb9..0000000 --- a/script/test/util_cleanup.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash -u - - # shellcheck disable=SC1091 - # Load configuration parameter - source ./config01.sh - -# ******************************************************************************* -# Delete the nwe volume if overwrite install, and close all -# ******************************************************************************* -function util_cleanup(){ - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." - lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" - - if [ "${USELVEXT1}" -ne 0 ] ; then # if using extra volume 1 - # Remove newly created extra volume 1 - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}\"." - lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}${LVEXT1SUFFIX}" - fi - - if [ "${USELVEXT2}" -ne 0 ] ; then # if using extra volume 2 - # Remove newly created extra volume 2 - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}\"." - lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}${LVEXT2SUFFIX}" - fi - -} - -util_cleanup diff --git a/script/test/util_deactivate_and_close.sh b/script/test/util_deactivate_and_close.sh deleted file mode 100755 index 2da7bb4..0000000 --- a/script/test/util_deactivate_and_close.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -u - - # shellcheck disable=SC1091 - # Load configuration parameter - source ./config01.sh - -# ******************************************************************************* -# Deactivate all LV in the VG and close LUKS volume -# ******************************************************************************* - -function util_deactivate_and_close(){ - echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." - vgchange -a n "${VGNAME}" - echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." - cryptsetup close "${CRYPTPARTNAME}" - cat <<- HEREDOC - - ...Installation process terminated.. - HEREDOC - -} - -util_deactivate_and_close From 7d3abc56b03c23e682ccf40ccd07e32cc7dfae8f Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 7 May 2022 14:38:38 +0900 Subject: [PATCH 220/242] Add swapoff -a --- script/ubuntu-kaiten-yaki.sh | 3 +++ script/void-kaiten-yaki.sh | 3 +++ 2 files changed, 6 insertions(+) diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index adfbbdd..7b932e3 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -66,6 +66,9 @@ function main() { # The script is parameterized by env-variable to fit to the distribution post_install + # Free LUKS volume as swap volume. + swapoff -a + # Normal end return 0 diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index c63f906..d31adcc 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -81,6 +81,9 @@ function main() { # The script is parameterized by env-variable to fit to the distribution post_install + # Free LUKS volume as swap volume. + swapoff -a + # Normal end return 0 From 91cc1c3857c81628b02e05196b44b85a8ee88436 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 7 May 2022 14:39:41 +0900 Subject: [PATCH 221/242] Add swap off to the script. At the end of the main() function of the scripts, added swapoff -a. Issue 32 : Ubuntu 22.04 fails to deactivate the swap https://github.com/suikan4github/kaiten-yaki/issues/32 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a783c3d..734ce7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ Record of the modification in project development. ### Deprecated ### Removed ### Fixed +- [Issue 32 : Ubuntu 22.04 fails to deactivate the swap](https://github.com/suikan4github/kaiten-yaki/issues/32) + ### Known Issue ## [1.2.0] - 2021-10-16 From 64e2edd173004ff1415512df0fe6fec6528eb143 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 7 May 2022 14:44:45 +0900 Subject: [PATCH 222/242] Removed XTERMFONTSIZE variable. This variable is not used anymore. --- INSTALL.md | 3 --- script/config.sh | 3 --- 2 files changed, 6 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index a4ef2d6..9e3fdcb 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -92,9 +92,6 @@ export OVERWRITEINSTALL=0 # If you specify 1000, that means 1000mSec. 0 means compile default. export ITERTIME=0 -# Void Linux only. Ignored in Ubuntu. -# The font size of the void-installer -export XTERMFONTSIZE=11 ``` There are several restrictions : diff --git a/script/config.sh b/script/config.sh index 22f448f..c3203cd 100644 --- a/script/config.sh +++ b/script/config.sh @@ -69,9 +69,6 @@ export OVERWRITEINSTALL=0 # If you specify 1000, that means 1000mSec. 0 means compile default. export ITERTIME=0 -# Void Linux only. Ignored in Ubuntu. -# The font size of the void-installer -export XTERMFONTSIZE=11 # !!!!!!!!!!!!!! DO NOT EDIT FOLLOWING LINES. !!!!!!!!!!!!!! From ac709e15130fef8d471da0be04693345abec459d Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 7 May 2022 14:48:01 +0900 Subject: [PATCH 223/242] Removed GUIENV variable. It is not used anymore. --- script/config.sh | 8 -------- 1 file changed, 8 deletions(-) diff --git a/script/config.sh b/script/config.sh index c3203cd..096c64b 100644 --- a/script/config.sh +++ b/script/config.sh @@ -88,11 +88,3 @@ else # BIOS firmware export CRYPTPARTITION=1 fi # EFI firmware - -# Detect the GUI environment -# This code is not efered. Just left because it is interestintg code. -if env | grep -w -e XDG_SESSION_TYPE -e DISPLAY -e WAYLAND_DISPLAY > /dev/null ; then - export GUIENV=1 # set 1 if GUI env. -else - export GUIENV=0 # set 0 if not GUI env. -fi \ No newline at end of file From 03a294b407640d362caf6d773b3100dbc9ddac05 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 7 May 2022 14:53:31 +0900 Subject: [PATCH 224/242] Unsed variables are removed Issue #35 Remove XTERMFONTSIZE variable. https://github.com/suikan4github/kaiten-yaki/issues/35 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 734ce7e..9e9dd79 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ Record of the modification in project development. ### Changed ### Deprecated ### Removed +- [Issue 35 : Remove XTERMFONTSIZE variable.](https://github.com/suikan4github/kaiten-yaki/issues/35) + ### Fixed - [Issue 32 : Ubuntu 22.04 fails to deactivate the swap](https://github.com/suikan4github/kaiten-yaki/issues/32) From f0f081ad34eef12edfa858bc1042d4bf3cad4f19 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 7 May 2022 21:05:47 +0900 Subject: [PATCH 225/242] Modify to accespt the absolute volume size. --- script/config.sh | 26 +++++++++++++++++--------- script/lib/common.sh | 26 ++++++++++++++++++++++---- 2 files changed, 39 insertions(+), 13 deletions(-) diff --git a/script/config.sh b/script/config.sh index 096c64b..a4b0e8e 100644 --- a/script/config.sh +++ b/script/config.sh @@ -32,27 +32,35 @@ export LVEXT1SUFFIX="_home" export USELVEXT2=0 export LVEXT2SUFFIX="_var" -# Logical volume size of the Linux installation. -# 30% mean, new logical volume will use 30% of the free space -# in the LVM volume group. For example, assume the free space is 100GB, -# and LVROOTSIZE is 30%FREE. Script will create 30GB logical volume. + +# Volume size parameters. # Note that the order of the volume creation is : # 1. EFI if needed # 2. SWAP # 3. LVROOT # 4. LVEXT1 if needed # 5. LVEXT2 if needed -export LVROOTSIZE="10%FREE" - -# Logical volume size of the optional volumes. -export LVEXT1SIZE="90%FREE" -export LVEXT2SIZE="100%FREE" # Set the size of EFI partition and swap partition. # The unit is Byte. You can use M,G... notation. +# You CANNOT use the % notation. export EFISIZE="200M" + +# Logical volume size of the swap volumes. export LVSWAPSIZE="8G" +# Logical volume size of the Linux installation. +# There are four posibble way to specify the volume. +# nnnM, nnnG, nnnT : Absolute size speicification. nnnMbyte, nnnGByte, nnnT byte. +# mm%VG : Use mm% of the entire volume group. +# mm%FREE : Use mm% of the avairable storage are in the volume group. +export LVROOTSIZE="10G" + +# Logical volume size of the optional volumes. +export LVEXT1SIZE="30G" +export LVEXT2SIZE="10G" + + # Usually, these names can be left untouched. # If you change, keep them consistent through all installation in your system. export CRYPTPARTNAME="luks_volume" diff --git a/script/lib/common.sh b/script/lib/common.sh index c2a26e0..91a8d3f 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -141,6 +141,24 @@ function confirmation(){ return 1 # with error status fi # passphrase validation + + # Add -l or -L parameter to the size. The lvcreate command have two size parameter. + # -L ###[M|G|T|m|g|t] : Size by absolute value. + # -l ###%[FREE|VG|PVS|ORIGIN] : Size by relative value. + # If Unit is not specified, installation will fail. + + LVSWAPSIZE=$(echo "${LVSWAPSIZE}" | awk '/M|G|T|m|g|t/{print "-L", $0} /%/ {print "-l", $0}') + export LVSWAPSIZE + + LVROOTSIZE=$(echo "${LVROOTSIZE}" | awk '/M|G|T|m|g|t/{print "-L", $0} /%/ {print "-l", $0}') + export LVROOTSIZE + + LVEXT1SIZE=$(echo "${LVEXT1SIZE}" | awk '/M|G|T|m|g|t/{print "-L", $0} /%/ {print "-l", $0}') + export LVEXT1SIZE + + LVEXT2SIZE=$(echo "${LVEXT2SIZE}" | awk '/M|G|T|m|g|t/{print "-L", $0} /%/ {print "-l", $0}') + export LVEXT2SIZE + # succesfull return return 0 } @@ -239,7 +257,7 @@ function pre_install() { echo "...Swap volume already exist. Skipped to create. No problem." else echo "...Creating logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." - lvcreate -L "${LVSWAPSIZE}" -n "${LVSWAPNAME}" "${VGNAME}" + lvcreate "${LVSWAPSIZE}" -n "${LVSWAPNAME}" "${VGNAME}" if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; fi # if /dev/mapper/swap volume already exit. @@ -272,7 +290,7 @@ function pre_install() { return 1 # with error status else # not exist and not overwrite install echo "...Creating logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." - lvcreate -l "${LVROOTSIZE}" -n "${LVROOTNAME}" "${VGNAME}" + lvcreate "${LVROOTSIZE}" -n "${LVROOTNAME}" "${VGNAME}" if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; IS_ROOT_CREATED=1 @@ -474,7 +492,7 @@ function create_ext_lv() { echo "...Logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}\" already exists. OK." else echo "...Creating logical volume \"${LVROOTNAME}${LVEXT1SUFFIX}\" on \"${VGNAME}\"." - lvcreate -l "${LVEXT1SIZE}" -n "${LVROOTNAME}${LVEXT1SUFFIX}" "${VGNAME}" + lvcreate "${LVEXT1SIZE}" -n "${LVROOTNAME}${LVEXT1SUFFIX}" "${VGNAME}" if [ $? -ne 0 ] ; then # if fail echo "***** ERROR : failed to create "${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}" . *****" return 1 ; @@ -489,7 +507,7 @@ function create_ext_lv() { echo "...Logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}\" already exists. OK." else echo "...Creating logical volume \"${LVROOTNAME}${LVEXT2SUFFIX}\" on \"${VGNAME}\"." - lvcreate -l "${LVEXT2SIZE}" -n "${LVROOTNAME}${LVEXT2SUFFIX}" "${VGNAME}" + lvcreate "${LVEXT2SIZE}" -n "${LVROOTNAME}${LVEXT2SUFFIX}" "${VGNAME}" if [ $? -ne 0 ] ; then # if fail echo "***** ERROR : failed to create "${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}" . *****" return 1 ; From d322e8d5c54e09d2c3a498f01171e2a1fde8f145 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 7 May 2022 21:35:29 +0900 Subject: [PATCH 226/242] Unquoted first parameter of lvcreate. This is to use the IFS ( Internal Field Separator ). Without IFS the string "-L 8G" will be wrapped by single quote like '-L 8G', while we need -L 8G. --- script/lib/common.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/script/lib/common.sh b/script/lib/common.sh index 91a8d3f..a1bd2f5 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -257,7 +257,8 @@ function pre_install() { echo "...Swap volume already exist. Skipped to create. No problem." else echo "...Creating logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." - lvcreate "${LVSWAPSIZE}" -n "${LVSWAPNAME}" "${VGNAME}" + # Too use the bash IFS, first parameter is not quoted. + lvcreate ${LVSWAPSIZE} -n "${LVSWAPNAME}" "${VGNAME}" if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; fi # if /dev/mapper/swap volume already exit. @@ -290,7 +291,8 @@ function pre_install() { return 1 # with error status else # not exist and not overwrite install echo "...Creating logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." - lvcreate "${LVROOTSIZE}" -n "${LVROOTNAME}" "${VGNAME}" + # Too use the bash IFS, first parameter is not quoted. + lvcreate ${LVROOTSIZE} -n "${LVROOTNAME}" "${VGNAME}" if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; IS_ROOT_CREATED=1 @@ -492,7 +494,8 @@ function create_ext_lv() { echo "...Logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}\" already exists. OK." else echo "...Creating logical volume \"${LVROOTNAME}${LVEXT1SUFFIX}\" on \"${VGNAME}\"." - lvcreate "${LVEXT1SIZE}" -n "${LVROOTNAME}${LVEXT1SUFFIX}" "${VGNAME}" + # Too use the bash IFS, first parameter is not quoted. + lvcreate ${LVEXT1SIZE} -n "${LVROOTNAME}${LVEXT1SUFFIX}" "${VGNAME}" if [ $? -ne 0 ] ; then # if fail echo "***** ERROR : failed to create "${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}" . *****" return 1 ; @@ -507,7 +510,8 @@ function create_ext_lv() { echo "...Logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}\" already exists. OK." else echo "...Creating logical volume \"${LVROOTNAME}${LVEXT2SUFFIX}\" on \"${VGNAME}\"." - lvcreate "${LVEXT2SIZE}" -n "${LVROOTNAME}${LVEXT2SUFFIX}" "${VGNAME}" + # Too use the bash IFS, first parameter is not quoted. + lvcreate ${LVEXT2SIZE} -n "${LVROOTNAME}${LVEXT2SUFFIX}" "${VGNAME}" if [ $? -ne 0 ] ; then # if fail echo "***** ERROR : failed to create "${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}" . *****" return 1 ; From 425181aff1f0139bc23609aece48280c38b07542 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 7 May 2022 22:02:42 +0900 Subject: [PATCH 227/242] Fix the duplicate awk match. Now, it exits the process when the first pattern is procesed. --- script/lib/common.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/script/lib/common.sh b/script/lib/common.sh index a1bd2f5..c37b0f9 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -143,20 +143,21 @@ function confirmation(){ # Add -l or -L parameter to the size. The lvcreate command have two size parameter. - # -L ###[M|G|T|m|g|t] : Size by absolute value. # -l ###%[FREE|VG|PVS|ORIGIN] : Size by relative value. + # -L ###[M|G|T|m|g|t] : Size by absolute value. + # Too preven the duplicated match, awk exists the process after it match the /%/ pattern. # If Unit is not specified, installation will fail. - LVSWAPSIZE=$(echo "${LVSWAPSIZE}" | awk '/M|G|T|m|g|t/{print "-L", $0} /%/ {print "-l", $0}') + LVSWAPSIZE=$(echo "${LVSWAPSIZE}" | awk '/%/{print "-l", $0; exit} /M|G|T|m|g|t/{print "-L", $0}') export LVSWAPSIZE - LVROOTSIZE=$(echo "${LVROOTSIZE}" | awk '/M|G|T|m|g|t/{print "-L", $0} /%/ {print "-l", $0}') + LVROOTSIZE=$(echo "${LVROOTSIZE}" | awk '/%/{print "-l", $0; exit} /M|G|T|m|g|t/{print "-L", $0}') export LVROOTSIZE - LVEXT1SIZE=$(echo "${LVEXT1SIZE}" | awk '/M|G|T|m|g|t/{print "-L", $0} /%/ {print "-l", $0}') + LVEXT1SIZE=$(echo "${LVEXT1SIZE}" | awk '/%/{print "-l", $0; exit} /M|G|T|m|g|t/{print "-L", $0}') export LVEXT1SIZE - LVEXT2SIZE=$(echo "${LVEXT2SIZE}" | awk '/M|G|T|m|g|t/{print "-L", $0} /%/ {print "-l", $0}') + LVEXT2SIZE=$(echo "${LVEXT2SIZE}" | awk '/%/{print "-l", $0; exit} /M|G|T|m|g|t/{print "-L", $0}') export LVEXT2SIZE # succesfull return From d7b319a89f89b47ba848d1ee8d4777bd693128b7 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 8 May 2022 05:53:44 +0900 Subject: [PATCH 228/242] Update CHANGELOG for feature/33 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e9dd79..c5a4e66 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ Record of the modification in project development. ## [Unreleased] - yyyy-mm-dd ### Added - [Issue 31 : Add extra partition functionality.](https://github.com/suikan4github/kaiten-yaki/issues/31) +- [Issue 35 : Support "M/G/T" as size prefix.](https://github.com/suikan4github/kaiten-yaki/issues/35) ### Changed ### Deprecated From d45481b194d01d5a7fef89b7612031bc1de32609 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 8 May 2022 07:44:13 +0900 Subject: [PATCH 229/242] Update installatin and readme. --- INSTALL.md | 86 +++++++++++++++++++++++++++++++++++++++++++++++------- README.md | 4 +-- 2 files changed, 78 insertions(+), 12 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 9e3fdcb..8fe6591 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -48,7 +48,8 @@ Followings are the set of the default settings of the parameters : - In the case of EFI firmware, 200MB is allocated to the EFI partition (EFISIZE). - Create a logical volume group named "vg1" in the encrypted volume (VGNAME) - Create a swap logical volume named "swap" in the "vg1". The size is 8GB (LVSWAPNAME,LVSWAPSIZE) -- Create a logical volume named **"anko"** as root volume, in the "vg1". The size of the new volume is the **50%** of the free space (LVROOTNAME, LVROOTSIZE). +- Create a logical volume named **"anko"** as root volume, in the "vg1". The size of the new volume is the **10GB** (LVROOTNAME, LVROOTSIZE). +- No Extra volumes will be created (USELVEXT1, LVEXT1SUFFIX, LVEXT1SIZE, USELVEXT2, LVEXT2SUFFIX, LVEXT2SIZE). ```sh # Configuration parameters for Kaiten-Yaki @@ -65,17 +66,53 @@ export ERASEALL=0 # Keep it unique from other distribution. export LVROOTNAME="anko" -# Logical volume size of the Linux installation. -# 30% mean, new logical volume will use 30% of the free space -# in the LVM volume group. For example, assume the free space is 100GB, -# and LVROOTSIZE is 30%FREE. Script will create 30GB logical volume. -export LVROOTSIZE="50%FREE" +# Suffix of the optional logical volumes. +# If you want to have optional OVs, set USELVEXT# to 1. +# Then, the suffix will be added to the LVROOTNAME. +# For example, Assume you have setting below : +# LVROOTNAME="anko" +# USELVEXT1=1 +# LVEXT1SUFFIX="_home" +# USELVEXT2=0 +# LVEXT2SUFFIX="_var" +# You will have +# anko +# anko_home +# You will not have anko_var because the USELVEXT2=0. +export USELVEXT1=0 +export LVEXT1SUFFIX="_home" +export USELVEXT2=0 +export LVEXT2SUFFIX="_var" + + +# Volume size parameters. +# Note that the order of the volume creation is : +# 1. EFI if needed +# 2. SWAP +# 3. LVROOT +# 4. LVEXT1 if needed +# 5. LVEXT2 if needed # Set the size of EFI partition and swap partition. # The unit is Byte. You can use M,G... notation. +# You CANNOT use the % notation. export EFISIZE="200M" + +# Logical volume size of the swap volumes. export LVSWAPSIZE="8G" +# Logical volume size of the Linux installation. +# There are four posibble way to specify the volume. +# nnnM, nnnG, nnnT : Absolute size speicification. nnnMbyte, nnnGByte, nnnT byte. +# mm%VG : Use mm% of the entire volume group. +# mm%FREE : Use mm% of the avairable storage are in the volume group. +export LVROOTSIZE="10G" + +# Logical volume size of the optional volumes. +export LVEXT1SIZE="30G" +export LVEXT2SIZE="10G" + + # Usually, these names can be left untouched. # If you change, keep them consistent through all installation in your system. export CRYPTPARTNAME="luks_volume" @@ -92,15 +129,22 @@ export OVERWRITEINSTALL=0 # If you specify 1000, that means 1000mSec. 0 means compile default. export ITERTIME=0 + ``` There are several restrictions : - For the first distribution installation, you must set ERASEALL to 1, to erase the entire storage device and create a LUKS partition. Kaiten-yaki script creates a maximum LUKS partition as possible. -- The LVROOTNAME must be unique among all installations in a computer. Otherwise, Kaiten-yaki terminates in a middle. -- The LVSWAPNAME must be identical among all installations in a computer. Otherwise, Kaiten-yaki creates an unnecessary logical volume. This is a waste of storage resources. +- The CRYPTPARTNAME and VGNAME must be unique among all installations in a physical disk. Otherwise, Kaiten-yaki terminates in a middle. +- The LVSWAPNAME must be identical among all installations in a physical disk. Otherwise, Kaiten-yaki creates an unnecessary logical volume. This is a waste of storage resources. - The EFISIZE and the LVSWAPSIZE are refereed during the first distribution installation only. -- The LVROOTSIZE is the size of a logical volume to create. This is a relative value to the existing free space in the volume group. If you want to install 3 distributions in a computer, you may want to set 33%FREE, 50%FREE, and 100%FREE for the first, second, and third distribution installation, respectively. -- The name with "-" is not allowed for the VGNAME, LVROOTNAME, and LVSWAPNAME. I saw some installer doesn't work if "-" in in the name. +- The LVROOTSIZE, LVEXT1SIZE, LVEXT2SIZE are the size of a logical volumes to create. There are several way to specify the size ( where n is number) : + - nnnM : New logical volume size is nnn**MByte**. + - nnnG : New logical volume size is nnn**GByte**. + - nnnT : New logical volume size is nnn**TByte**. + - nn%VG : New logical volume size is nn% of the **entire volume group**. + - nn%FREE : New logical volume size is nn% of the **free space** in the volume group. +- The name with "-" is not allowed for the VGNAME, LVROOTNAME, and LVSWAPNAME. I saw some distribution installer doesn't work if "-" in in the name. + ### About the overwrite-install The OVERWRITEINSTALL parameter allows you to use an existing logical volume as the root volume of the new installation. This is very dangerous because of several aspects like destroying the wrong volume and the risk of security. But sometimes it is @@ -128,6 +172,28 @@ The unit of value is milliseconds. The target linux kernel may take this duratio The smaller value gives the weaker security. +### About the extra logical volume +From ver 1.3.0, Kaiten-yaki support two extra volume in addition to LVROOT and LVSWAP. +- LVEXT1 +- LVEXT2 + +The usage of the extra logical volume is up to the user. Typically, user may want to use it for example separated /home partition. + +The name of the extra volume is the concatenation of the LVROOTNAME and LVEXTnSUFFIX ( where n is 1 or 2 ). For example, let's assume following configuration : +- LVROOTNAME="FOO" +- LVEXT1SUFFIX="_BAR" + +Thus, the name of the LVEXT1 is "FOO_BAR". + +### Partition and logical volume creation order. +Kaiten-yaki creates the partition/volume in the following order : +1. EFI partition +1. LUKS partition +1. LVSWAP +1. LVROOT +1. LVEXT1 +1. LVEXT2 + ## First stage: Setting up the volumes After you set the configuration parameters correctly, execute the following command from the shell. Again, you have to be promoted as the root user, and you have to use Bash. diff --git a/README.md b/README.md index aff6af9..2376bfb 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ # Kaiten-yaki: Full disk encryption install script for Linux -Kaiten-yaki is a script set to install Linux to your AMD64 desktop system. With these scripts, you can install Ubuntu/Void Linux to an encrypted partition easily. +Kaiten-yaki v1.3.0 is a script set to install Linux to your AMD64 desktop system. With these scripts, you can install Ubuntu/Void Linux to an encrypted partition easily. The followings are the list of functionalities: - Ubuntu and Void Linux. - Help to install from LiveCD/USB. - Invoke GUI/TUI installer automatically at the middle of script execution, for the ease of installation. -- Automatic detection of BIOS/EFI firmware and create MBR/GPT, respectively. +- Automatic detection of EFI firmware and create GPT( The BIOS detection and MBR creation function exist. But it is not maintained from v1.3.0 ). - Create an EFI partition, if needed. - Support multiple boot in a LUKS partition. - Support btrfs in addition to the major file systems. From 27a64ba0668278fdde34fe20c14d005b64738b1f Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 8 May 2022 08:51:20 +0900 Subject: [PATCH 230/242] Issue 34 : BIOS support should be obsoleted This is still documented only. Functionality exists. Just not tested anymore. https://github.com/suikan4github/kaiten-yaki/issues/34 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5a4e66..554e54f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ Record of the modification in project development. ### Changed ### Deprecated +- [Issue 34 : BIOS support should be obsoleted ](https://github.com/suikan4github/kaiten-yaki/issues/34) + ### Removed - [Issue 35 : Remove XTERMFONTSIZE variable.](https://github.com/suikan4github/kaiten-yaki/issues/35) From 6722b160cb8ea3d0591adb15fa3795ae7c9bbed7 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 8 May 2022 12:25:24 +0900 Subject: [PATCH 231/242] Clear passphrase information before exit. --- script/lib/common.sh | 3 +++ script/ubuntu-kaiten-yaki.sh | 6 ++++++ script/void-kaiten-yaki.sh | 6 ++++++ 3 files changed, 15 insertions(+) diff --git a/script/lib/common.sh b/script/lib/common.sh index c37b0f9..2a34de0 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -139,6 +139,9 @@ function confirmation(){ ...Installation process terminated.. HEREDOC return 1 # with error status + else + # Clear the PASSPHRASE for checking because we don't use it anymore. + PASSPHRASE_C="" fi # passphrase validation diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 7b932e3..e3b4b5d 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -67,8 +67,14 @@ function main() { post_install # Free LUKS volume as swap volume. + echo "...Disabling swap to release the LUKS volume." swapoff -a + # Deleting the passphrase information. + echo "...Deleting passphrase information." + PASSPHRASE="" + export PASSPHRASE + # Normal end return 0 diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index d31adcc..a49a378 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -82,8 +82,14 @@ function main() { post_install # Free LUKS volume as swap volume. + echo "...Disabling swap to release the LUKS volume." swapoff -a + # Deleting the passphrase information. + echo "...Deleting passphrase information." + PASSPHRASE="" + export PASSPHRASE + # Normal end return 0 From b81ec5667ca52f52bc0b0932a8afe3a182086685 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 8 May 2022 12:26:57 +0900 Subject: [PATCH 232/242] Record #36 to CHANGELOG. Issue 36 : Clear the PASSPHRASE variable at the end of installation https://github.com/suikan4github/kaiten-yaki/issues/36 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 554e54f..011e46a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ Record of the modification in project development. ### Fixed - [Issue 32 : Ubuntu 22.04 fails to deactivate the swap](https://github.com/suikan4github/kaiten-yaki/issues/32) +- [Issue 36 : Clear the PASSPHRASE variable at the end of installation](https://github.com/suikan4github/kaiten-yaki/issues/36) ### Known Issue From 4a69ef1db6b80121501e1e7d62dcd315a3c31fd4 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 8 May 2022 12:28:41 +0900 Subject: [PATCH 233/242] Correct the informaiton in CHANGELOG. Issue 33 was written as 35. It was mistake. --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 011e46a..0337c3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ Record of the modification in project development. ## [Unreleased] - yyyy-mm-dd ### Added - [Issue 31 : Add extra partition functionality.](https://github.com/suikan4github/kaiten-yaki/issues/31) -- [Issue 35 : Support "M/G/T" as size prefix.](https://github.com/suikan4github/kaiten-yaki/issues/35) +- [Issue 33 : Support "M/G/T" as size prefix.](https://github.com/suikan4github/kaiten-yaki/issues/33) ### Changed ### Deprecated From f725af8f443bb9d9162fdc4e53e18f1b7bf7cb27 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 10 May 2022 21:25:51 +0900 Subject: [PATCH 234/242] Issue 38 : "Ready to reboot" message should be changed https://github.com/suikan4github/kaiten-yaki/issues/38 --- CHANGELOG.md | 1 + script/lib/common.sh | 10 +++++----- script/ubuntu-kaiten-yaki.sh | 7 +++++++ script/void-kaiten-yaki.sh | 7 +++++++ 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0337c3e..a40efae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ Record of the modification in project development. ### Fixed - [Issue 32 : Ubuntu 22.04 fails to deactivate the swap](https://github.com/suikan4github/kaiten-yaki/issues/32) - [Issue 36 : Clear the PASSPHRASE variable at the end of installation](https://github.com/suikan4github/kaiten-yaki/issues/36) +- [Issue 38 : "Ready to reboot" message should be changed](https://github.com/suikan4github/kaiten-yaki/issues/38) ### Known Issue diff --git a/script/lib/common.sh b/script/lib/common.sh index 2a34de0..829cbb4 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -395,12 +395,12 @@ function post_install() { echo "...Unmounting all." umount -R -l "${TARGETMOUNTPOINT}" - # Finishing message - cat <<- HEREDOC - ****************** Post-install process finished ****************** + echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." + vgchange -a n "${VGNAME}" + echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." + cryptsetup close "${CRYPTPARTNAME}" - ...Ready to reboot. - HEREDOC + echo "...Post install process finished." return 0 diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index e3b4b5d..93952a6 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -75,6 +75,13 @@ function main() { PASSPHRASE="" export PASSPHRASE + # Finishing message + cat <<- HEREDOC + ****************** Install process finished ****************** + + ...Ready to reboot. + HEREDOC + # Normal end return 0 diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index a49a378..4a9c899 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -90,6 +90,13 @@ function main() { PASSPHRASE="" export PASSPHRASE + # Finishing message + cat <<- HEREDOC + ****************** Install process finished ****************** + + ...Ready to reboot. + HEREDOC + # Normal end return 0 From 555bf5a38e064e66bef370ffd3012a7c4c2f80a2 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Tue, 10 May 2022 22:22:30 +0900 Subject: [PATCH 235/242] Refactor the closing sequence. All closing sequence is gathered to the post-install(). --- script/lib/common.sh | 19 ++++++++++++++++++- script/ubuntu-kaiten-yaki.sh | 16 ---------------- script/void-kaiten-yaki.sh | 16 ---------------- 3 files changed, 18 insertions(+), 33 deletions(-) diff --git a/script/lib/common.sh b/script/lib/common.sh index 829cbb4..e9d5ec9 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -395,12 +395,29 @@ function post_install() { echo "...Unmounting all." umount -R -l "${TARGETMOUNTPOINT}" + echo "...Post install process finished." + + # Free LUKS volume as swap volume. + echo "...Disabling swap to release the LUKS volume." + swapoff -a + + # Close LUKS echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." vgchange -a n "${VGNAME}" echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." cryptsetup close "${CRYPTPARTNAME}" - echo "...Post install process finished." + # Deleting the passphrase information. + echo "...Deleting passphrase information." + PASSPHRASE="" + export PASSPHRASE + + # Finishing message + cat <<- HEREDOC + ****************** Install process finished ****************** + + ...Ready to reboot. + HEREDOC return 0 diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 93952a6..adfbbdd 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -66,22 +66,6 @@ function main() { # The script is parameterized by env-variable to fit to the distribution post_install - # Free LUKS volume as swap volume. - echo "...Disabling swap to release the LUKS volume." - swapoff -a - - # Deleting the passphrase information. - echo "...Deleting passphrase information." - PASSPHRASE="" - export PASSPHRASE - - # Finishing message - cat <<- HEREDOC - ****************** Install process finished ****************** - - ...Ready to reboot. - HEREDOC - # Normal end return 0 diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 4a9c899..c63f906 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -81,22 +81,6 @@ function main() { # The script is parameterized by env-variable to fit to the distribution post_install - # Free LUKS volume as swap volume. - echo "...Disabling swap to release the LUKS volume." - swapoff -a - - # Deleting the passphrase information. - echo "...Deleting passphrase information." - PASSPHRASE="" - export PASSPHRASE - - # Finishing message - cat <<- HEREDOC - ****************** Install process finished ****************** - - ...Ready to reboot. - HEREDOC - # Normal end return 0 From 73b3329cd79484090b071c27dfaff7ffba0ca75a Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 11 May 2022 07:16:08 +0900 Subject: [PATCH 236/242] Add "[Kaiten-Yaki]" to the message header --- script/config.sh | 2 +- script/lib/chrooted_job_ubuntu.sh | 12 +-- script/lib/chrooted_job_void.sh | 14 +-- script/lib/common.sh | 140 +++++++++++++++--------------- script/ubuntu-kaiten-yaki.sh | 20 ++--- script/void-kaiten-yaki.sh | 24 ++--- 6 files changed, 106 insertions(+), 106 deletions(-) diff --git a/script/config.sh b/script/config.sh index a4b0e8e..4ed7602 100644 --- a/script/config.sh +++ b/script/config.sh @@ -42,7 +42,7 @@ export LVEXT2SUFFIX="_var" # 5. LVEXT2 if needed # Set the size of EFI partition and swap partition. -# The unit is Byte. You can use M,G... notation. +# The unit is Byte. You can use M,G[Kaiten-Yaki] notation. # You CANNOT use the % notation. export EFISIZE="200M" diff --git a/script/lib/chrooted_job_ubuntu.sh b/script/lib/chrooted_job_ubuntu.sh index 9fdc473..2470a61 100644 --- a/script/lib/chrooted_job_ubuntu.sh +++ b/script/lib/chrooted_job_ubuntu.sh @@ -6,7 +6,7 @@ function chrooted_job() { mount -a # Prepare the crypto tool in the install target - echo "...Installing cryptsetup-initramfs package." + echo "[Kaiten-Yaki] Installing cryptsetup-initramfs package." apt -qq install -y cryptsetup-initramfs # Prepare a new key file to embed in to the ramfs. @@ -14,28 +14,28 @@ function chrooted_job() { # The new key is 4096byte length binary value. # Because this key is sotred as "cleartext", in the target file sysmte, # only root is allowed to access this key file. - echo "...Prepairing key file." + echo "[Kaiten-Yaki] Prepairing key file." mkdir /etc/luks dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 status=none chmod u=rx,go-rwx /etc/luks chmod u=r,go-rwx /etc/luks/boot_os.keyfile # Add the new key to the LUKS 2nd key slot. The passphrase is required to modify the LUKS keyslot. - echo "...Adding a key to the key file." + echo "[Kaiten-Yaki] Adding a key to the key file." printf %s "${PASSPHRASE}" | cryptsetup luksAddKey --iter-time "${ITERTIME}" -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile # Register the LUKS voluem to /etc/crypttab to tell "This volume is encrypted" - echo "...Adding LUKS volume info to /etc/crypttab." + echo "[Kaiten-Yaki] Adding LUKS volume info to /etc/crypttab." echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab # Add key file to the list of the intems in initramfs. # See https://cryptsetup-team.pages.debian.net/cryptsetup/README.initramfs.html for detail - echo "...Directing to include keyfile into the initramfs" + echo "[Kaiten-Yaki] Directing to include keyfile into the initramfs" echo "KEYFILE_PATTERN=/etc/luks/*.keyfile" >> /etc/cryptsetup-initramfs/conf-hook echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf # Finally, update the ramfs initial image with the key file. - echo "...Upadting initramfs." + echo "[Kaiten-Yaki] Upadting initramfs." update-initramfs -uk all # Leave chroot diff --git a/script/lib/chrooted_job_void.sh b/script/lib/chrooted_job_void.sh index 2bb8430..a908bbb 100644 --- a/script/lib/chrooted_job_void.sh +++ b/script/lib/chrooted_job_void.sh @@ -6,7 +6,7 @@ function chrooted_job() { mount -a # Prepare the crypto tool in the install target - echo "...Installing cryptsetup-initramfs package." + echo "[Kaiten-Yaki] Installing cryptsetup-initramfs package." xbps-install -y lvm2 cryptsetup # Prepare a new key file to embed in to the ramfs. @@ -14,29 +14,29 @@ function chrooted_job() { # The new key is 4096byte length binary value. # Because this key is sotred as "cleartext", in the target file sysmte, # only root is allowed to access this key file. - echo "...Prepairing key file." + echo "[Kaiten-Yaki] Prepairing key file." mkdir /etc/luks dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1 status=none chmod u=rx,go-rwx /etc/luks chmod u=r,go-rwx /etc/luks/boot_os.keyfile # Add the new key to the LUKS 2nd key slot. The passphrase is required to modify the LUKS keyslot. - echo "...Adding a key to the key file." + echo "[Kaiten-Yaki] Adding a key to the key file." printf %s "${PASSPHRASE}" | cryptsetup luksAddKey --iter-time "${ITERTIME}" -d - "${DEV}${CRYPTPARTITION}" /etc/luks/boot_os.keyfile # Register the LUKS voluem to /etc/crypttab to tell "This volume is encrypted" - echo "...Adding LUKS volume info to /etc/crypttab." + echo "[Kaiten-Yaki] Adding LUKS volume info to /etc/crypttab." echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab # Add key file to the list of the intems in initramfs. # See https://man7.org/linux/man-pages/man5/dracut.conf.5.html for details. - echo "...Directing to include keyfile into the initramfs" + echo "[Kaiten-Yaki] Directing to include keyfile into the initramfs" echo 'install_items+=" /etc/luks/boot_os.keyfile /etc/crypttab " ' >> /etc/dracut.conf.d/10-crypt.conf # Finally, update the ramfs initial image with the key file. - echo "...Upadting initramfs." + echo "[Kaiten-Yaki] Upadting initramfs." xbps-reconfigure -fa - echo "...grub-mkconfig." + echo "[Kaiten-Yaki] grub-mkconfig." grub-mkconfig -o /boot/grub/grub.cfg # Leave chroot diff --git a/script/lib/common.sh b/script/lib/common.sh index e9d5ec9..ddd4fa0 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -9,11 +9,11 @@ function confirmation(){ if [ "${ERASEALL}" -ne 0 ] && [ "${OVERWRITEINSTALL}" -ne 0 ] ; then cat <<- HEREDOC ***** ERROR : Confliction between ERASEALL and OVERWRITEINSTALL ***** - ...ERASEALL = ${ERASEALL} - ...OVERWRITEINSTALL = ${OVERWRITEINSTALL} - ...Check configuration in your config.sh + [Kaiten-Yaki] ERASEALL = ${ERASEALL} + [Kaiten-Yaki] OVERWRITEINSTALL = ${OVERWRITEINSTALL} + [Kaiten-Yaki] Check configuration in your config.sh - ...Installation process terminated.. + [Kaiten-Yaki] Installation process terminated.. HEREDOC return 1 # with error status fi @@ -22,10 +22,10 @@ function confirmation(){ if echo "${VGNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. cat <<- HEREDOC ***** ERROR : VGNAME is "${VGNAME}" ***** - ..."-" is not allowed in the volume name. - ...Check configuration in your config.sh + [Kaiten-Yaki] "-" is not allowed in the volume name. + [Kaiten-Yaki] Check configuration in your config.sh - ...Installation process terminated.. + [Kaiten-Yaki] Installation process terminated.. HEREDOC return 1 # with error status fi # "-" is found in the volume group name. @@ -34,10 +34,10 @@ function confirmation(){ if echo "${LVROOTNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume name. cat <<- HEREDOC ***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** - ..."-" is not allowed in the volume name. - ...Check configuration in your config.sh + [Kaiten-Yaki] "-" is not allowed in the volume name. + [Kaiten-Yaki] Check configuration in your config.sh - ...Installation process terminated.. + [Kaiten-Yaki] Installation process terminated.. HEREDOC return 1 # with error status fi # "-" is found in the volume name. @@ -47,10 +47,10 @@ function confirmation(){ if echo "${LVEXT1SUFFIX}" | grep "-" -i > /dev/null ; then # "-" is found in the volume name. cat <<- HEREDOC ***** ERROR : LVEXT1SUFFIX is "${LVEXT1SUFFIX}" ***** - ..."-" is not allowed in the volume name. - ...Check configuration in your config.sh + [Kaiten-Yaki] "-" is not allowed in the volume name. + [Kaiten-Yaki] Check configuration in your config.sh - ...Installation process terminated.. + [Kaiten-Yaki] Installation process terminated.. HEREDOC return 1 # with error status fi # "-" is found in the volume suffix. @@ -61,10 +61,10 @@ function confirmation(){ if echo "${LVEXT2SUFFIX}" | grep "-" -i > /dev/null ; then # "-" is found in the volume name. cat <<- HEREDOC ***** ERROR : LVEXT2SUFFIX is "${LVEXT2SUFFIX}" ***** - ..."-" is not allowed in the volume name. - ...Check configuration in your config.sh + [Kaiten-Yaki] "-" is not allowed in the volume name. + [Kaiten-Yaki] Check configuration in your config.sh - ...Installation process terminated.. + [Kaiten-Yaki] Installation process terminated.. HEREDOC return 1 # with error status fi # "-" is found in the volume suffix. @@ -74,10 +74,10 @@ function confirmation(){ if echo "${LVSWAPNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume name. cat <<- HEREDOC ***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** - ..."-" is not allowed in the volume name. - ...Check configuration in your config.sh + [Kaiten-Yaki] "-" is not allowed in the volume name. + [Kaiten-Yaki] Check configuration in your config.sh - ...Installation process terminated.. + [Kaiten-Yaki] Installation process terminated.. HEREDOC return 1 # with error status fi # "-" is found in the volume name. @@ -113,22 +113,22 @@ function confirmation(){ HEREDOC if [ "${ERASEALL}" -ne 0 ] ; then - echo "Going to erase entire disk ${DEV}." + echo "[Kaiten-Yaki] Going to erase entire disk ${DEV}." elif [ "${OVERWRITEINSTALL}" -ne 0 ] ; then - echo "Going to overwrite the logical volume \"${VGNAME}-${LVROOTNAME}\"." + echo "[Kaiten-Yaki] Going to overwrite the logical volume \"${VGNAME}-${LVROOTNAME}\"." else - echo "Going to create a new logical volume \"${VGNAME}-${LVROOTNAME}\"." + echo "[Kaiten-Yaki] Going to create a new logical volume \"${VGNAME}-${LVROOTNAME}\"." fi # ----- Set Passphrase ----- # Input passphrase echo "" - echo "Type passphrase for the disk encryption." + echo "[Kaiten-Yaki] Type passphrase for the disk encryption." read -sr PASSPHRASE export PASSPHRASE - echo "Type passphrase again, to confirm." + echo "[Kaiten-Yaki] Type passphrase again, to confirm." read -sr PASSPHRASE_C # Validate whether both are indentical or not @@ -136,7 +136,7 @@ function confirmation(){ cat <<-HEREDOC ***** ERROR : Passphrase doesn't match ***** - ...Installation process terminated.. + [Kaiten-Yaki] Installation process terminated.. HEREDOC return 1 # with error status else @@ -186,19 +186,19 @@ function pre_install() { # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. if [ "${ISEFI}" -ne 0 ] ; then # EFI # Zap existing partition table and create new GPT - echo "...Initializing \"${DEV}\" with GPT." + echo "[Kaiten-Yaki] Initializing \"${DEV}\" with GPT." sgdisk --zap-all "${DEV}" if is_error ; then return 1 ; fi; # If error, terminate # Create EFI partition and format it - echo "...Creating an EFI partition on \"${DEV}\"." + echo "[Kaiten-Yaki] Creating an EFI partition on \"${DEV}\"." # shellcheck disable=SC2140 sgdisk --new="${EFIPARTITION}":0:+"${EFISIZE}" --change-name="${EFIPARTITION}":"EFI System" --typecode="${EFIPARTITION}":ef00 "${DEV}" if is_error ; then return 1 ; fi; # If error, terminate - echo "...Formatting the EFI parttion." + echo "[Kaiten-Yaki] Formatting the EFI parttion." mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" if is_error ; then return 1 ; fi; # If error, terminate # Create Linux partition - echo "...Creating a Linux partition on ${DEV}." + echo "[Kaiten-Yaki] Creating a Linux partition on ${DEV}." # shellcheck disable=SC2140 sgdisk --new="${CRYPTPARTITION}":0:0 --change-name="${CRYPTPARTITION}":"Linux LUKS" --typecode="${CRYPTPARTITION}":8309 "${DEV}" if is_error ; then return 1 ; fi; # If error, terminate @@ -206,11 +206,11 @@ function pre_install() { sgdisk --print "${DEV}" else # BIOS # Zap existing partition table - echo "...Erasing partition table of \"${DEV}\"." + echo "[Kaiten-Yaki] Erasing partition table of \"${DEV}\"." dd if=/dev/zero of="${DEV}" bs=512 count=1 if is_error ; then return 1 ; fi; # If error, terminate # Create MBR and allocate max storage for Linux partition - echo "...Creating a Linux partition on ${DEV} with MBR." + echo "[Kaiten-Yaki] Creating a Linux partition on ${DEV} with MBR." sfdisk "${DEV}" <<- HEREDOC 2M,,L HEREDOC @@ -218,23 +218,23 @@ function pre_install() { fi # if EFI firmware # Encrypt the partition to install Linux - echo "...Initializing \"${DEV}${CRYPTPARTITION}\" as crypt partition" + echo "[Kaiten-Yaki] Initializing \"${DEV}${CRYPTPARTITION}\" as crypt partition" printf %s "${PASSPHRASE}" | cryptsetup luksFormat --iter-time "${ITERTIME}" --type=luks1 --key-file - --batch-mode "${DEV}${CRYPTPARTITION}" fi # if erase all # ----- Open the LUKS partition ----- # Open the crypt partition. - echo "...Opening a crypt partition \"${DEV}${CRYPTPARTITION}\" as \"${CRYPTPARTNAME}\"" + echo "[Kaiten-Yaki] Opening a crypt partition \"${DEV}${CRYPTPARTITION}\" as \"${CRYPTPARTNAME}\"" printf %s "${PASSPHRASE}" | cryptsetup open -d - "${DEV}${CRYPTPARTITION}" "${CRYPTPARTNAME}" # Check whether successful open. If mapped, it is successful. if [ ! -e /dev/mapper/"${CRYPTPARTNAME}" ] ; then cat <<- HEREDOC ***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on "${DEV}${CRYPTPARTITION}". ***** - ...Check passphrase and your config.txt + [Kaiten-Yaki] Check passphrase and your config.txt - ...Installation process terminated.. + [Kaiten-Yaki] Installation process terminated.. HEREDOC return 1 # with error status fi # if crypt volume is unable to open @@ -242,25 +242,25 @@ function pre_install() { # ----- Configure the LVM in LUKS volume ----- # Check volume group ${VGNAME} exist or not if vgdisplay -s "${VGNAME}" &> /dev/null ; then # if exist - echo "...Volume group \"${VGNAME}\" already exist. Skipped to create. No problem." - echo "...Activating all logical volumes in volume group \"${VGNAME}\"." + echo "[Kaiten-Yaki] Volume group \"${VGNAME}\" already exist. Skipped to create. No problem." + echo "[Kaiten-Yaki] Activating all logical volumes in volume group \"${VGNAME}\"." vgchange -ay - echo "...Scanning all logical volumes." + echo "[Kaiten-Yaki] Scanning all logical volumes." lvscan else - echo "...Initializing a physical volume on \"${CRYPTPARTNAME}\"" + echo "[Kaiten-Yaki] Initializing a physical volume on \"${CRYPTPARTNAME}\"" pvcreate /dev/mapper/"${CRYPTPARTNAME}" if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; - echo "...And then creating Volume group \"${VGNAME}\"." + echo "[Kaiten-Yaki] And then creating Volume group \"${VGNAME}\"." vgcreate "${VGNAME}" /dev/mapper/"${CRYPTPARTNAME}" if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; fi # if /dev/volume-groupt exist # Create a SWAP Logical Volume on VG, if it doesn't exist if [ -e /dev/mapper/"${VGNAME}"-"${LVSWAPNAME}" ] ; then - echo "...Swap volume already exist. Skipped to create. No problem." + echo "[Kaiten-Yaki] Swap volume already exist. Skipped to create. No problem." else - echo "...Creating logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." + echo "[Kaiten-Yaki] Creating logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." # Too use the bash IFS, first parameter is not quoted. lvcreate ${LVSWAPSIZE} -n "${LVSWAPNAME}" "${VGNAME}" if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; @@ -269,7 +269,7 @@ function pre_install() { # Create a ROOT Logical Volume on VG. if [ -e /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" ] ; then # exist if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then # exist and overwrite install - echo "...Logical volume \"${VGNAME}-${LVROOTNAME}\" already exists. OK." + echo "[Kaiten-Yaki] Logical volume \"${VGNAME}-${LVROOTNAME}\" already exists. OK." # Create extended volumes if needed create_ext_lv @@ -278,7 +278,7 @@ function pre_install() { else # exist and not overwriteinstall cat <<- HEREDOC ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** - ...Check LVROOTNAME environment variable in your config.txt. + [Kaiten-Yaki] Check LVROOTNAME environment variable in your config.txt. HEREDOC # Deactivate all lg and close the LUKS volume deactivate_and_close @@ -288,13 +288,13 @@ function pre_install() { if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then # not exist and overwrite install cat <<- HEREDOC ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" doesn't exist while overwrite install. ***** - ...Check consistency of your config.txt. + [Kaiten-Yaki] Check consistency of your config.txt. HEREDOC # Deactivate all lg and close the LUKS volume deactivate_and_close return 1 # with error status else # not exist and not overwrite install - echo "...Creating logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." + echo "[Kaiten-Yaki] Creating logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." # Too use the bash IFS, first parameter is not quoted. lvcreate ${LVROOTSIZE} -n "${LVROOTNAME}" "${VGNAME}" if [ $? -ne 0 ] ; then deactivate_and_close; return 1 ; fi; @@ -367,15 +367,15 @@ function post_install() { # ${BTRFSOPTION} is defined by the caller of this function for BTRFS formated volume. # ${BTRFSOPTION} have to be NOT quoted. Otherwise, mount will receive an empty # string as first option, when the veraible is empty. - echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." + echo "[Kaiten-Yaki] Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." mount ${BTRFSOPTION} /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" "${TARGETMOUNTPOINT}" # And mount other directories - echo "...Mounting all other dirs." + echo "[Kaiten-Yaki] Mounting all other dirs." for n in proc sys dev tmp etc/resolv.conf; do mount --rbind "/$n" "${TARGETMOUNTPOINT}/$n"; done # Copy all scripts to the target /tmp for using in chroot session. - echo "...Copying files in current dir to ${TARGETMOUNTPOINT}/tmp." + echo "[Kaiten-Yaki] Copying files in current dir to ${TARGETMOUNTPOINT}/tmp." mkdir "${TARGETMOUNTPOINT}/tmp/kaiten-yaki" cp -r ./* -t "${TARGETMOUNTPOINT}/tmp/kaiten-yaki" @@ -383,7 +383,7 @@ function post_install() { # The here-document is script executed under chroot. At here we call # the distribution dependent script "lib/chrooted_job_${DISTRIBUTIONSIGNATURE}.sh", # which was copied to /temp at previous code. - echo "...Chroot to ${TARGETMOUNTPOINT}. and execute chrooted_job_${DISTRIBUTIONSIGNATURE}.sh" + echo "[Kaiten-Yaki] Chroot to ${TARGETMOUNTPOINT}. and execute chrooted_job_${DISTRIBUTIONSIGNATURE}.sh" # shellcheck disable=SC2086 cat <<- HEREDOC | chroot "${TARGETMOUNTPOINT}" /bin/bash cd /tmp/kaiten-yaki @@ -392,23 +392,23 @@ function post_install() { HEREDOC # Unmount all. -l ( lazy ) option is added to supress the busy error. - echo "...Unmounting all." + echo "[Kaiten-Yaki] Unmounting all." umount -R -l "${TARGETMOUNTPOINT}" - echo "...Post install process finished." + echo "[Kaiten-Yaki] Post install process finished." # Free LUKS volume as swap volume. - echo "...Disabling swap to release the LUKS volume." + echo "[Kaiten-Yaki] Disabling swap to release the LUKS volume." swapoff -a # Close LUKS - echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." + echo "[Kaiten-Yaki] Deactivating all logical volumes in volume group \"${VGNAME}\"." vgchange -a n "${VGNAME}" - echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." + echo "[Kaiten-Yaki] Closing LUKS volume \"${CRYPTPARTNAME}\"." cryptsetup close "${CRYPTPARTNAME}" # Deleting the passphrase information. - echo "...Deleting passphrase information." + echo "[Kaiten-Yaki] Deleting passphrase information." PASSPHRASE="" export PASSPHRASE @@ -416,7 +416,7 @@ function post_install() { cat <<- HEREDOC ****************** Install process finished ****************** - ...Ready to reboot. + [Kaiten-Yaki] Ready to reboot. HEREDOC return 0 @@ -433,32 +433,32 @@ function deactivate_and_close(){ if [ "${IS_ROOT_CREATED}" -ne 0 ] ; then # if extra volume 1 created # Remove newly created root volume - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." + echo "[Kaiten-Yaki] Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" fi if [ "${IS_LVEXT1_CREATED}" -ne 0 ] ; then # if extra volume 1 created # Remove newly created extra volume 1 - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}\"." + echo "[Kaiten-Yaki] Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}\"." lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}${LVEXT1SUFFIX}" fi if [ "${IS_LVEXT2_CREATED}" -ne 0 ] ; then # if extra volume 2 created # Remove newly created extra volume 2 - echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}\"." + echo "[Kaiten-Yaki] Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}\"." lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}${LVEXT2SUFFIX}" fi - echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." + echo "[Kaiten-Yaki] Deactivating all logical volumes in volume group \"${VGNAME}\"." vgchange -a n "${VGNAME}" - echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." + echo "[Kaiten-Yaki] Closing LUKS volume \"${CRYPTPARTNAME}\"." cryptsetup close "${CRYPTPARTNAME}" cat <<- HEREDOC - ...Installation process terminated.. + [Kaiten-Yaki] Installation process terminated.. HEREDOC } @@ -469,11 +469,11 @@ function deactivate_and_close(){ function on_unexpected_installer_quit(){ echo "***** ERROR : The GUI/TUI installer terminated unexpectedly. *****" if [ "${OVERWRITEINSTALL}" -ne 0 ] ; then # If overwrite install, keep the volume - echo "...Keep logical volume \"${VGNAME}-${LVROOTNAME}\" untouched." + echo "[Kaiten-Yaki] Keep logical volume \"${VGNAME}-${LVROOTNAME}\" untouched." fi # Deactivate all lg and close the LUKS volume deactivate_and_close - echo "...You can retry Kaiten-yaki again." + echo "[Kaiten-Yaki] You can retry Kaiten-yaki again." } @@ -493,7 +493,7 @@ function distribution_check(){ if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then cat <<- HEREDOC - ...Installation process terminated.. + [Kaiten-Yaki] Installation process terminated.. HEREDOC return 1 # with error status fi # if YES @@ -512,9 +512,9 @@ function distribution_check(){ function create_ext_lv() { if [ "${USELVEXT1}" -ne 0 ] ; then # if using extra volume 1 if [ -e /dev/mapper/"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}" ] ; then # if extra volume 1 exist - echo "...Logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}\" already exists. OK." + echo "[Kaiten-Yaki] Logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT1SUFFIX}\" already exists. OK." else - echo "...Creating logical volume \"${LVROOTNAME}${LVEXT1SUFFIX}\" on \"${VGNAME}\"." + echo "[Kaiten-Yaki] Creating logical volume \"${LVROOTNAME}${LVEXT1SUFFIX}\" on \"${VGNAME}\"." # Too use the bash IFS, first parameter is not quoted. lvcreate ${LVEXT1SIZE} -n "${LVROOTNAME}${LVEXT1SUFFIX}" "${VGNAME}" if [ $? -ne 0 ] ; then # if fail @@ -528,9 +528,9 @@ function create_ext_lv() { if [ "${USELVEXT2}" -ne 0 ] ; then # if using extra volume 2 if [ -e /dev/mapper/"${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}" ] ; then # if extra volume 2 exist - echo "...Logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}\" already exists. OK." + echo "[Kaiten-Yaki] Logical volume \"${VGNAME}-${LVROOTNAME}${LVEXT2SUFFIX}\" already exists. OK." else - echo "...Creating logical volume \"${LVROOTNAME}${LVEXT2SUFFIX}\" on \"${VGNAME}\"." + echo "[Kaiten-Yaki] Creating logical volume \"${LVROOTNAME}${LVEXT2SUFFIX}\" on \"${VGNAME}\"." # Too use the bash IFS, first parameter is not quoted. lvcreate ${LVEXT2SIZE} -n "${LVROOTNAME}${LVEXT2SUFFIX}" "${VGNAME}" if [ $? -ne 0 ] ; then # if fail diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index adfbbdd..0691f7b 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -81,13 +81,13 @@ function para_install_local() { # Distrobution dependent message cat <<- HEREDOC - ************************ CAUTION! CAUTION! CAUTION! **************************** - - Make sure to click "Continue Testing", at the end of the Ubiquity installer. - Just exit the installer without rebooting. Other wise, your system - is unable to boot. - - Type return key to start Ubiquity. + **************** CAUTION! CAUTION! CAUTION! ******************** + [Kaiten-Yaki] + [Kaiten-Yaki] Make sure to click "Continue Testing", at the end of + [Kaiten-Yaki] the Ubiquity installer. Just exit the installer without + [Kaiten-Yaki] rebooting. Otherwise, your system becomes unable to boot. + [Kaiten-Yaki] + [Kaiten-Yaki] Type return key to start Ubiquity. HEREDOC # waiting for a console input @@ -134,12 +134,12 @@ function grub_check_and_modify_local() { # Make target GRUB aware to the crypt partition # This must do it after start of the file copy by installer, but before the end of the file copy. - echo "...Adding GRUB_ENABLE_CRYPTODISK entry to ${TARGETMOUNTPOINT}/etc/default/grub " + echo "[Kaiten-Yaki] Adding GRUB_ENABLE_CRYPTODISK entry to ${TARGETMOUNTPOINT}/etc/default/grub " echo "GRUB_ENABLE_CRYPTODISK=y" >> ${TARGETMOUNTPOINT}/etc/default/grub # And then, wait for the end of installer process - echo "...Waiting for the end of GUI/TUI installer." - echo "...Again, DO NOT reboot/restart here. Just exit the GUI/TUI installer." + echo "[Kaiten-Yaki] Waiting for the end of GUI/TUI installer." + echo "[Kaiten-Yaki] Again, DO NOT reboot/restart here. Just exit the GUI/TUI installer." wait $INSTALLER_PID # succesfull return diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index c63f906..4276811 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -45,17 +45,17 @@ function main() { export GRUB_ADDITIONAL_PARAMETERS="rd.auto=1 cryptdevice=${DEV}${CRYPTPARTITION}:${CRYPTPARTNAME} root=/dev/mapper/${VGNAME}-${LVROOTNAME}" if grep "$GRUB_ADDITIONAL_PARAMETERS" /etc/default/grub ; then # Is additonal parameter already added? # Yes - echo ".../etc/default/grub already modified. OK, skipping to modiy." + echo "[Kaiten-Yaki] /etc/default/grub already modified. OK, skipping to modiy." else # Not yet. Let's add. - echo "...Modify /etc/default/grub." + echo "[Kaiten-Yaki] Modify /etc/default/grub." sed -i -e "/GRUB_CMDLINE_LINUX_DEFAULT/{s#\"# ${GRUB_ADDITIONAL_PARAMETERS}\"#2}" /etc/default/grub fi # Common part of the pre-install stage if ! pre_install ; then # If error, restore the modification. - echo "...restoring /etc/default/grub, if needed" + echo "[Kaiten-Yaki] restoring /etc/default/grub, if needed" sed -i -e "s#${GRUB_ADDITIONAL_PARAMETERS}##" /etc/default/grub return 1 # with error status fi @@ -96,13 +96,13 @@ function para_install_local() { # Distrobution dependent message cat <<- HEREDOC - ************************ CAUTION! CAUTION! CAUTION! **************************** - - Make sure to click "NO", if the void-installer ask you to reboot. - Just exit the installer without rebooting. Other wise, your system - is unable to boot. - - Type return key to start void-installer. + ******************** CAUTION! CAUTION! CAUTION! ************************ + [Kaiten-Yaki] + [Kaiten-Yaki] Make sure to click "NO", if the void-installer ask you to + [Kaiten-Yaki] reboot.Just exit the installer without rebooting. Otherwise, + [Kaiten-Yaki] your system becomes unable to boot. + [Kaiten-Yaki] + [Kaiten-Yaki] Type return key to start void-installer. HEREDOC # waiting for a console input @@ -123,7 +123,7 @@ function para_install_local() { # If exist, the grub was not modifyed -> void-installer termianted unexpectedly # Delete the nwe volume if overwrite install, and close all on_unexpected_installer_quit - echo "...restoring modified /etc/default/grub." + echo "[Kaiten-Yaki] restoring modified /etc/default/grub." sed -i "s#loglevel=4 ${GRUB_ADDITIONAL_PARAMETERS}#loglevel=4#" /etc/default/grub return 1 # with error status fi @@ -149,7 +149,7 @@ function grub_check_and_modify_local() { # Make target GRUB aware to the crypt partition # This must do it after start of the file copy by installer, but before the end of the file copy. - echo "...Adding GRUB_ENABLE_CRYPTODISK entry to ${TARGETMOUNTPOINT}/etc/default/grub " + echo "[Kaiten-Yaki] Adding GRUB_ENABLE_CRYPTODISK entry to ${TARGETMOUNTPOINT}/etc/default/grub " echo "GRUB_ENABLE_CRYPTODISK=y" >> ${TARGETMOUNTPOINT}/etc/default/grub # succesfull return From 70fa79a8d526f63b0878deb6d5bfa1d7f787d170 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Wed, 11 May 2022 07:30:19 +0900 Subject: [PATCH 237/242] Issue #39 : Change message style https://github.com/suikan4github/kaiten-yaki/issues/39 --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a40efae..7cf30cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ Record of the modification in project development. - [Issue 33 : Support "M/G/T" as size prefix.](https://github.com/suikan4github/kaiten-yaki/issues/33) ### Changed +- [Issue 38 : "Ready to reboot" message should be changed](https://github.com/suikan4github/kaiten-yaki/issues/38) +- [Issue 39 : Change message style](https://github.com/suikan4github/kaiten-yaki/issues/39) + ### Deprecated - [Issue 34 : BIOS support should be obsoleted ](https://github.com/suikan4github/kaiten-yaki/issues/34) @@ -16,7 +19,6 @@ Record of the modification in project development. ### Fixed - [Issue 32 : Ubuntu 22.04 fails to deactivate the swap](https://github.com/suikan4github/kaiten-yaki/issues/32) - [Issue 36 : Clear the PASSPHRASE variable at the end of installation](https://github.com/suikan4github/kaiten-yaki/issues/36) -- [Issue 38 : "Ready to reboot" message should be changed](https://github.com/suikan4github/kaiten-yaki/issues/38) ### Known Issue From ecbafb4a6dc9e47647cb8f02dcf2603107892112 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Thu, 12 May 2022 07:54:33 +0900 Subject: [PATCH 238/242] Update README.md for v1.3.0 --- README.md | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 2376bfb..7c2b120 100644 --- a/README.md +++ b/README.md @@ -25,15 +25,20 @@ As depicted above, the LVM volume group has only one physical volume. # Tested environment These scripts are tested with the following environment. -- VMWare Workstation 15.5.7 ( EFI/BIOS ) -- ThinkPad X220 (BIOS) -- Ubuntu 20.04.3 amd64 desktop -- Ubuntu 21.04 amd64 desktop -- Ubuntu 21.10 amd64 desktop -- Ubuntu Mate 20.04.3 amd64 desktop -- void-live-x86_64-20210218-mate.iso -- void-live-x86_64-musl-20210218-mate.iso -- void-live-x86_64-20210218.iso +- VMVare Workstation 15.5.7 ( EFI ) +- Ubuntu 22.04 amd64 desktop +- void-live-x86_64-20210930-xfce.iso +- void-live-x86_64-20210930.iso +- Followings are the tested environment of the Kaiten-Yaki v1.2.0 + - VMWare Workstation 15.5.7 ( EFI/BIOS ) + - ThinkPad X220 (BIOS) + - Ubuntu 20.04.3 amd64 desktop + - Ubuntu 21.04 amd64 desktop + - Ubuntu 21.10 amd64 desktop + - Ubuntu Mate 20.04.3 amd64 desktop + - void-live-x86_64-20210218-mate.iso + - void-live-x86_64-musl-20210218-mate.iso + - void-live-x86_64-20210218.iso # Installation Rough procedure of the installation is as followings : @@ -43,11 +48,8 @@ Rough procedure of the installation is as followings : The detail procedure is explained in the [INSTALL.md](INSTALL.md). -# Known issues -If you install two or more Void Linux into the EFI system, only the last one can boot without trouble. This is not the problem of Kaiten-yaki. - # Variants considerations -Ubuntu has several variants ( flavors ). While while only the MATE flavor is tested, other flavors may work correctly as far as it uses Ubiquity installer. +Ubuntu has several variants ( flavors ). While while only the Ubuntu desktop is tested, other flavors may work correctly as far as it uses Ubiquity installer. # Other resources See [Wiki](https://github.com/suikan4github/kaiten-yaki/wiki) for the application notes and the useful links. From 353a9dd8b49435ae1703f6609860d91071691577 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 14 May 2022 08:33:21 +0900 Subject: [PATCH 239/242] Preparing release of the v1.3.0 --- CHANGELOG.md | 11 ++++++++++- README.md | 8 ++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7cf30cd..1d52570 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ Record of the modification in project development. ## [Unreleased] - yyyy-mm-dd ### Added +### Changed +### Deprecated +### Removed +### Fixed +### Known Issue + +## [1.3.0] - 2022-05-15 +### Added - [Issue 31 : Add extra partition functionality.](https://github.com/suikan4github/kaiten-yaki/issues/31) - [Issue 33 : Support "M/G/T" as size prefix.](https://github.com/suikan4github/kaiten-yaki/issues/33) @@ -87,7 +95,8 @@ See [Testing before release v1.1.0](https://github.com/suikan4github/kaiten-yaki ### Known Issue -[Unreleased]: https://github.com/suikan4github/kaiten-yaki/compare/v1.2.0...develop +[Unreleased]: https://github.com/suikan4github/kaiten-yaki/compare/v1.3.0...develop +[1.3.0]: https://github.com/suikan4github/kaiten-yaki/compare/v1.2.0...v1.3.0 [1.2.0]: https://github.com/suikan4github/kaiten-yaki/compare/v1.1.0...v1.2.0 [1.1.0]: https://github.com/suikan4github/kaiten-yaki/compare/v1.0.0...v1.1.0 [1.0.0]: https://github.com/suikan4github/kaiten-yaki/compare/v0.0.0...v1.0.0 diff --git a/README.md b/README.md index 7c2b120..ef66460 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,15 @@ Kaiten-yaki v1.3.0 is a script set to install Linux to your AMD64 desktop system. With these scripts, you can install Ubuntu/Void Linux to an encrypted partition easily. The followings are the list of functionalities: -- Ubuntu and Void Linux. +- Ubuntu and Void Linux support. - Help to install from LiveCD/USB. - Invoke GUI/TUI installer automatically at the middle of script execution, for the ease of installation. -- Automatic detection of EFI firmware and create GPT( The BIOS detection and MBR creation function exist. But it is not maintained from v1.3.0 ). +- Automatic detection of EFI firmware and create GPT (The BIOS detection and MBR creation function exist. But they are not maintained from v1.3.0). - Create an EFI partition, if needed. - Support multiple boot in a LUKS partition. - Support btrfs in addition to the major file systems. -- The "/boot" is located in the same logical volume as the "/". -- The swap logical volume is located inside the encrypted volume. +- The "/boot" is located in the same encrypted logical volume with the "/". +- The swap is located in the same encrypted logical volume with the "/". - You need to type a passphrase only once in the boot sequence. With the configuration parameters, you can customize each installation. For example, you can configure the system to have 2, 3, or 4,... distributions in an HDD/SSD, as you want. From 09ae43b7c141c2eb51847bb72e81aaf67ce81aae Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sun, 15 May 2022 10:15:51 +0900 Subject: [PATCH 240/242] Changed README.md "maintained" -> "tested" --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ef66460..bb95640 100644 --- a/README.md +++ b/README.md @@ -5,13 +5,13 @@ The followings are the list of functionalities: - Ubuntu and Void Linux support. - Help to install from LiveCD/USB. - Invoke GUI/TUI installer automatically at the middle of script execution, for the ease of installation. -- Automatic detection of EFI firmware and create GPT (The BIOS detection and MBR creation function exist. But they are not maintained from v1.3.0). +- Automatic detection of EFI firmware and create GPT (The BIOS detection and MBR creation function exist. But they are not test from v1.3.0). - Create an EFI partition, if needed. - Support multiple boot in a LUKS partition. - Support btrfs in addition to the major file systems. - The "/boot" is located in the same encrypted logical volume with the "/". - The swap is located in the same encrypted logical volume with the "/". -- You need to type a passphrase only once in the boot sequence. +- You need to type a passphrase only once in the boot sequence of the installed system. With the configuration parameters, you can customize each installation. For example, you can configure the system to have 2, 3, or 4,... distributions in an HDD/SSD, as you want. From b5adafafe6576d9fdbdce8af0d039a5bbed3c3e4 Mon Sep 17 00:00:00 2001 From: Uraza Date: Tue, 11 Apr 2023 20:08:59 +0000 Subject: [PATCH 241/242] Partition names should be prefixed by "p" for NVMe --- script/config.sh | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/script/config.sh b/script/config.sh index 4ed7602..b73ab5b 100644 --- a/script/config.sh +++ b/script/config.sh @@ -87,12 +87,20 @@ else export ISEFI=0 # No, BIOS fi # is EFI firmaare? +# Detect drive type. +# For NVME drives, partition names should be prefixed by p. +if [[ ${DEV} == *"nvme"* ]] ; then +export PARTPREFIX="p" # Yes, NVME +else +export PARTPREFIX="" # No, regular +fi + # Set partition number based on the firmware type if [ ${ISEFI} -ne 0 ] ; then # EFI firmware -export EFIPARTITION=1 -export CRYPTPARTITION=2 +export EFIPARTITION=${PARTPREFIX}1 +export CRYPTPARTITION=${PARTPREFIX}2 else # BIOS firmware -export CRYPTPARTITION=1 +export CRYPTPARTITION=${PARTPREFIX}1 fi # EFI firmware From fd5a51a070c20339327b1f60f2d6fc85fa4e5341 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 15 Apr 2023 07:13:14 +0900 Subject: [PATCH 242/242] Update CHANGELOG for v1.3.1 --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d52570..720fbbe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,15 @@ Record of the modification in project development. ### Fixed ### Known Issue +## [1.3.1] - 2023-04-15 +### Added +### Changed +### Deprecated +### Removed +### Fixed +- [Issue 43 : Partition names should be prefixed by "p" for NVMe](https://github.com/suikan4github/kaiten-yaki/pull/43). Thank you Uraza for your contribution. +### Known Issue + ## [1.3.0] - 2022-05-15 ### Added - [Issue 31 : Add extra partition functionality.](https://github.com/suikan4github/kaiten-yaki/issues/31) @@ -96,6 +105,7 @@ See [Testing before release v1.1.0](https://github.com/suikan4github/kaiten-yaki [Unreleased]: https://github.com/suikan4github/kaiten-yaki/compare/v1.3.0...develop +[1.3.1]: https://github.com/suikan4github/kaiten-yaki/compare/v1.3.0...v1.3.1 [1.3.0]: https://github.com/suikan4github/kaiten-yaki/compare/v1.2.0...v1.3.0 [1.2.0]: https://github.com/suikan4github/kaiten-yaki/compare/v1.1.0...v1.2.0 [1.1.0]: https://github.com/suikan4github/kaiten-yaki/compare/v1.0.0...v1.1.0

  • oApWU&*;f3OER_pXDGuM+Wh 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