From: xf0r3m Date: Thu, 7 Sep 2023 16:53:45 +0000 (+0200) Subject: Dalszy rozwój szkicu skryptu instalacji X-Git-Url: https://gitweb.morketsmerke.org/?a=commitdiff_plain;h=d2407085e59629156e5944f9b58fa885789723d5;p=greenOS.git Dalszy rozwój szkicu skryptu instalacji --- diff --git a/installation_greenOS2.txt b/installation_greenOS2.txt index 8605e44..4d8ffbb 100644 --- a/installation_greenOS2.txt +++ b/installation_greenOS2.txt @@ -3,40 +3,73 @@ 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...