disk=(dysk np. sda)
2. Określenie trybu instalacji:
( [ -d /sys/firmware/efivars ] || $(sudo efibootmgr > /dev/null 2>&1))
+ # a = BIOS
+ # b = EFI
3. Sposób partycjonowania:
( [auto] || manual )
-4. Partycjonowanie automatyczne:
- 4.1. Wyzerowanie pierwszego megabajtu dysku:
+ # c = auto
+ # d = manual
+4ac. Partycjonowanie automatyczne:
+ 4ac.1. Wyzerowanie pierwszego megabajtu dysku:
( dd if=/dev/zero bs=1M of=/dev/$disk count=1 )
- 4.2. Określenie tablicy partycji:
+ 4ac.2. Określenie tablicy partycji:
disksize=$(lsblk | grep "$disk" | awk '{printf $4}');
$(echo $diskSize | grep -Eq "T$|P$")
Jeśli tak to:
diskSize=$(echo $diskSize | grep -o '[0-9]\.[0-9]' | sed 's/\.//')
[ $diskSize -gt $(echo "1.8" | sed 's/\.//') ]
Jeśli tak: to diskScheme="gpt";
+ # e = GPT
jeśli nie: to diskScheme="msdos";
+ # f = MSDOS
jeśli nie to:
diskScheme="msdos";
- 4.3. Utworzenie odpowiedniej tablicy partycji:
+ # f = MSDOS
+ 4acf.3. Utworzenie odpowiedniej tablicy partycji:
parted /dev/${disk} mklabel $diskScheme
- 4.4. Partycjonowanie:
- 4.4.1. Zapytanie czy rootfs ma być szyfrowany?
+ 4acf.4. Partycjonowanie:
+ 4acf.4.1. Zapytanie czy rootfs ma być szyfrowany?
( yes || [no] )
- #Dla nie szyfrowanego rootfs:
- 4.4.2. Utworzenie partycji przestrzeni wymiany:
+ # g = encypted
+ # h = non-encrypted
+ #Tryb h:
+ 4acfh.4.2. Utworzenie partycji przestrzeni wymiany:
parted /dev/${disk} mkpart primary 1 1G
swapPart="${disk}1"
- 4.4.3. Utworzenie partycji dla rootfs:
+ 4acfh.4.3. Utworzenie partycji dla rootfs:
parted /dev/${disk} mkpart primary 1G 100%Free
rootfsPart="${disk}2"
- 4.4.4. Wyświetlenie tablicy partycji:
+ 4acfh.4.4. Wyświetlenie tablicy partycji:
parted /dev/${disk} print
- 4.4.5. Zapytanie czy taki układ partycji odpowiada użytkownikowi:
+ 4acfh.4.5. Zapytanie czy taki układ partycji odpowiada użytkownikowi:
( [yes] || no )
Jeśli tak to:
- 4.4.6. Ustawienie flagi partycji rozruchowej:
+ 4acfh.4.5.1. Ustawienie flagi partycji rozruchowej:
parted /dev/vda set 2 boot on
Jeśli nie to idz do: 3
- 4.5. Instalacja systemu plików:
- mkfs.ext4 /dev/${rootfsPart}
+ 4acfh.4.6. Instalacja systemu plików:
+ 4acfh.4.6.1. Instalacja systemu plików rootfs:
+ mkfs.ext4 /dev/${rootfsPart}
+ 4acfh.4.6.2. Instalacja instalacja przetrzenii wymiany na partycji:
+ mkswap /dev/${swapPart}
+ #Tryb g (dodać pakiet: lvm2 do obrazu płyty):
+ 4acfg.4.2. Utworzenie partycji dla jądra
+ parted /dev/${disk} mkpart primary 1 1G
+ bootPart="${disk}1"
+ 4acfg.4.2. Utworzenie partycji LUKS dla LVM
+ parted /dev/${disk} mkpart primary 1G 100%Free
+ luksPart="${disk}2"
+ 4acfg.4.3. Zainstalowanie luks2 na utworzonym wcześniej dysku (dodać pakiet: cryptsetup do obrazu płyty)
+ cryptsetup -y -v luksFormat --type luks2 /dev/${luksPart}
+ 4acfg.4.4. Odblokowanie partycji LUKS
+ crypsetup open /dev/${luksPart} luksPart
+ 4acfg.4.5. Utworzenie z partycji LUKS woluminu fizycznego LVM
+ pvcreate /dev/mapper/luksPart
+ 4acfg.4.6. Utworzenie na podstawie woluminu fizycznego grupy woluminów
+ vgcreate luks_vg-gOS /dev/mapper/luksPart
+ 4acfg.4.7. Wydobycie ilości dostępnych PE w grupie woluminów
+ freePE=$(vgdisplay luks_vg-gOS | grep 'Free PE' | awk '{printf $5}')
+5. Montowanie systemów plików:
+ 5.1. Montowanie głównego systemu plików:
+ mount /dev/${rootPart} /mnt
+ 5d...