]> gitweb.morketsmerke.org Git - greenOS.git/commitdiff
Dalszy rozwój szkicu skryptu instalacji
authorxf0r3m <jakubstasinski@protonmail.com>
Thu, 7 Sep 2023 16:53:45 +0000 (18:53 +0200)
committerxf0r3m <jakubstasinski@protonmail.com>
Thu, 7 Sep 2023 16:53:45 +0000 (18:53 +0200)
installation_greenOS2.txt

index 8605e44ded51ee1401ed70a2e80fbfd908c619c3..4d8ffbbc35f744d17c82c559bf70688a08016c36 100644 (file)
@@ -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...