Motto Mistrza Magii

"Tylko odwaga i precyzja otworzą bramy do wielkiej mocy."

Sesja 2: Twierdza Magii

Fabularne tło

Studiowanie zaklęć

Posłanie Starszego Maga

Wiedźmini muszą opanować sztukę instalacji Gentoo Linux. Dlaczego? Bo aby to uczynić trzeba poznać wszystkie tajniki systemu Linux. To próba, która wymaga nie tylko cierpliwości, ale także precyzji w wykonaniu. Przygotujcie swoje narzędzia i zagłębcie się w tajemnice Stage3 – fundamentu tego magicznego systemu. Pamiętajcie słowa Mistrza Vesemira: "Gentoo to nie eliksir Jaskółki, który można połknąć jednym haustem. To długi, skomplikowany proces, który wymaga skupienia i uwagi." Instalacja Gentoo przypomina warzenie potężnego eliksiru. Każdy składnik musi zostać dodany w odpowiedniej kolejności i proporcji; w przeciwnym razie mikstura może wybuchnąć wam w twarz.

Waszym pierwszym zadaniem jest zdobycie Stage3, nasiona systemu, z którego wykiełkuje wszechmocna istota. To jak znalezienie serca potwora, które wykorzystacie do stworzenia potężnego talizmanu. Stage3 to zbiór plików tworzących podstawę systemu. To jak szkielet, na którym zbudujecie resztę ciała. Ale uważajcie! Instalacja Gentoo to nie spacer po Brokilonie. To podróż w głąb ciemnej jaskini pełnej pułapek i niebezpieczeństw. Staniecie przed konfiguracją jądra, kompilacją pakietów i innymi magicznymi rytuałami. Ale nie obawiajcie się! Z moją pomocą pokonacie wszystkie przeszkody i staniecie się prawdziwymi mistrzami Gentoo. Pamiętajcie, cierpliwość i skupienie to wasza najlepsza broń. A jeśli napotkacie problemy, zawsze możecie zwrócić się o pomoc do starszych wiedźminów (czyli skonsultować dokumentację lub poprosić o pomoc na forach).

Cele

Plan sesji

Wprowadzenie teoretyczne

Gentoo Linux to unikalna dystrybucja, wyróżniająca się elastycznością i podejściem do zarządzania systemem. Gentoo jest dla użytkowników, którzy chcą mieć pełną kontrolę nad dosłownie każdym aspektem swojego środowiska operacyjnego. Różne dystrybucje linuksa różnią się od siebie zazwyczaj sposobem zarządzania pakietami i menadżerem pakietów. A dystrybucjach bazujących na Debianie jest to APT, w Arch Linuksie PACMAN a w Gentoo drzewo portage zarządzane przez EMERGE. Dzięki systemowi Portage użytkownicy mogą zarządzać pakietami modułowo i dostosowywać je do swoich potrzeb za pomocą flag USE.

Oprócz systemu zarządzania pakietami dystrybucje różnią się też stopniem automatyzacji i konfiguracji. Ale jak to zwykle bywa, jeśli coś dzieje się automagicznie to czasami dzieją się rzeczy, które niekoniecznie byśmy chcieli aby się działy. Na przykład nieuzasadnione gromadzenie danych lub nawet bezprawna kradzież danych - czyli codzienność korporacji Apple, Google i Microsoft. Żeby zainstalować system MUSIMY zaakceptować EULA, gdzie na stu tysiącach stron jest ładnie opisane, że Twoje dane nie są Twoje tylko ich, bo tak... A jak nie zaakceptujesz żeby mogli grzebać w Twoich plikach i nieustannie patrzeć Ci na ręce, to nie zainstalujesz/uruchomisz komputera czy telefonu, na który wydajesz miliony monet. Czyli mniej więcej - zgarniemy od Ciebie kasę, potem będziemy kradli Twoje dane i śledzili każdy Twój ruch na komputerze i w mediach społecznościowych, żeby na koniec wykorzystać te dane do profilowania, precyzyjnej reklamy, kreowania światopoglądu przez podpowiadanie konsumowanych treści a na koniec sprzedamy wszystkie informacje o Tobie firmom trzecim.
To wszystko oferujemy Wam za jedno - wygodę.

Flagi USE nie są wygodne. Ale są mega pomocne. Flagi USE to opcje, które pozwalają precyzyjnie dostosować skompilowane pakiety do wymagań. Na przykład, jeśli chcesz, aby twój system obsługiwał określone funkcje multimedialne, możesz włączyć odpowiednie flagi. Jeśli ich nie potrzebujesz, możesz je wyłączyć, oszczędzając miejsce na dysku i optymalizując wydajność systemu. Jak dokładnie to działa? Jeśli wejdziecie sobie na stronę Gentoo downloads to zobaczyćie, że ta dystrybucja wspiera 13 architektur CPU, np. mk68k. Nie sądzę, że ktoś z Was jeszcze będzie pamiętał, ale procesor m68k miał 14,32 MHz (tak, mega hertzów) i mył montowany m. in. w komputerze AMIGA 1200 wprowadzonym na rynek w 1992 roku przez firmę Commodore International. Nie ma się raczej co spodziewać, że taki procesor będzie dzisiaj uważany za wydajny. Podobnie jak procesory PPC, risc i inne wynalazki, ale są jeszcze działające maszyny z takimi procesorami. Dlatego jeśli komuś przyjdzie do głowy kompilacja jakiegoś programu ze źródeł, to dzięki flagom USE może do maksymalnie wykorzystać RAM i CPU swojego komputera ograniczając do minimum opcje "wkompilowane" w aplikację. To oczywiście ma wpływ na ich funkcjonalność ale oszczędza pamięć i zwiększa szybkość działania.

USE flags w Gentoo to mechanizm konfiguracyjny, który pozwala użytkownikowi kontrolować, jakie opcje i funkcjonalności mają być kompilowane do pakietów. Dzięki nim możesz decydować, czy dany program ma wspierać konkretne biblioteki lub technologie (np. obsługę X11, SSL, multimedia, czy wsparcie dla różnych systemów plików) już na etapie budowy. Użytkownik definiuje globalne USE flags w pliku /etc/portage/make.conf, a także może nadpisywać ustawienia dla poszczególnych pakietów w pliku /etc/portage/package.use. Ta elastyczność umożliwia stworzenie systemu idealnie dopasowanego do indywidualnych potrzeb – system może być maksymalnie zoptymalizowany, zawierać tylko niezbędne funkcje i uniknąć zbędnych zależności, co jest jednym z głównych założeń Gentoo. To czyni go również doskonałym wyborem na systememy wbudowane (embedded - routery, telewizory, konsole do gier, mp3 playery, telefony czy nawet lodówki), gdzie ograniczone zasoby sprzętowe wymuszają szycie systemu na miarę. Po co tyle zachodu, skoro jest tyle innych dystrybucji? Tak obrazowo - mozna tłuc się z Krakowa do Gdańska trzeszczącymi pociągami a można wsiąść w prywatny odrzutowiec być na miejscu za godzinę.

Globalne flagi USE

Konfiguracja globalnych flag USE znajduje się zazwyczaj w pliku /etc/portage/make.conf. Przykład:

# Ustawienie globalnych flag USE:
USE="gtk -qt -kde"

W tym przykładzie system kompiluje pakiety z włączoną obsługą GTK, a flagi qt oraz kde są wyłączone.

Flag USE dla konkretnego pakietu

Można również ustawiać flagi USE specyficzne dla poszczególnych pakietów, co robi się w pliku /etc/portage/package.use. Przykład:

# Konfiguracja flag USE dla pakietu media-gfx/gimp:
media-gfx/gimp -gegl jpeg

W tym przypadku pakiet media-gfx/gimp zostanie skompilowany bez wsparcia dla gegl, ale z obsługą formatu jpeg.

Kolejnym ważnym aspektem Gentoo jest podejście do instalacji. Proces instalacji Gentoo jest manualny, co oznacza, że użytkownik ma pełną kontrolę nad każdym krokiem. W tej sesji skupimy się na instalacji Stage3, która jest punktem wyjścia do budowania Gentoo.

Stage3 to zbiór plików binarnych zawierających podstawowy zestaw narzędzi systemowych. Dzięki nim możemy skonfigurować i dostosować system dokładnie do naszych potrzeb.

Partycjonowanie to proces dzielenia przestrzeni dyskowej na logiczne segmenty, które mogą być używane jako niezależne jednostki. Każda partycja może mieć przypisany inny system plików, np. ext4, FAT32 lub NTFS. Ext4 to najczęściej używany system plików w Linuxie, znany z wysokiej wydajności i obsługi dużych plików. FAT32 jest szeroko stosowany w środowiskach wieloplatformowych, ponieważ działa zarówno w Windows, jak i Linuxie. NTFS to domyślny system plików w systemach Windows, oferujący wysoką wydajność i zaawansowane funkcje zarządzania plikami.

Chrootowanie to kluczowy krok w instalacji Gentoo. Chrootowanie pozwala uruchomić powłokę w nowym środowisku, odizolowanym od obecnego systemu operacyjnego. Dzięki temu możesz kontynuować instalację i konfigurację Gentoo w pełni kontrolowany sposób, pewny, że żadne zmiany nie wpłyną na twój obecny system.

Podsumowując, instalacja Gentoo to nie tylko proces techniczny, ale także świetna okazja do nauki i zrozumienia, jak działa system operacyjny Linux. Dzięki Gentoo możesz nauczyć się zarządzać systemem na poziomie niedostępnym w wielu innych dystrybucjach, co czyni go idealnym wyborem dla tych, którzy chcą rozwijać swoje umiejętności i wiedzę na temat Linuxa, nawet jeśli później przesiądziecie się na inny system. Nie ma co ukrywać, że to system dla grubych pasjonatów, bo chociaż Gentoo jest wśród dystrybucji Linuksa jak Masamoto wśród noży, to na codzienne godzinne ostrzenie mogą sobie pozwolić tylko pasjonaci lub Ci, którzy doskonale wiedzą czego potrzebują.

Wyobraźcie sobie Stage3 jako bazę wypadową dla wiedźminów, przygotowujących się do niebezpiecznej misji. To miejsce, gdzie mogą zaopatrzyć się w niezbędny sprzęt, zaplanować strategię i przygotować się na nadchodzące wyzwania. Portage to system zarządzania pakietami, który działa jak kwatermistrz w twierdzy wiedźminów, zapewniając dostęp do najnowszej broni, eliksirów i magicznych formuł.

Flagi USE są jak runy, które wzmacniają wasze umiejętności. Możecie je skonfigurować, aby dostosować system do swoich potrzeb. Chrootowanie to jak wejście w stan medytacji, pozwalający skupić się na konfiguracji systemu bez zewnętrznych rozpraszaczy. A /dev to jak skarbiec przechowujący wszystkie wasze magiczne artefakty.

Pamiętajcie, instalacja Gentoo to dopiero początek waszej przygody z Linuxem. To jak ukończenie szkolenia w Kaer Morhen. Teraz czas wyruszyć w świat i stawić czoła prawdziwym potworom!

Partycjonowanie i formatowanie dysku – przewodnik dla początkujących

Teraz przyda się odpalenie uprzednio pobranego obrazu Linuksa - albo na drugim laptopie ablo w maszynie wirtualnej.
Jeśli na laptopie uruchom komputer z USB jak na poprzednich zajęciach. Jeśli z QEMU to uruchom QEMU z wykorzystaniem obrazu ISO jako napędu CD, wirtualnego dysku gentoo.img oraz podstawowej obsługi sieci, jak na poprzednich zajęciach.

Jeśli kiedykolwiek zastanawiałeś się, co to są partycje, formatowanie dysku i jak to wszystko działa, to skup się, bo ten tekst jest dla Ciebie. Wyjaśnię to krok po kroku, używając prostych przykładów. Wyobraź sobie, że Twój dysk to gruby zeszyt, a partycje to jego rozdzielone ładnymi kolorowymi zakładkami sekcje, które możesz używać do różnych celów. Ponieważ eksperymantowanie na fizycznym dysku może przyprawić o ból głowy, szczególnie jak usuniesz ukochanej/mu zdjęcia z Wakacji i dostaniesz w nią laptopem, to poćwiczymy na plikach. Jak już wiesz, w linuksie wszystko jest plikiem, również dysk w systemie. Nic nie stoi więc na przeszkodzie, żeby utowrzyć na dysku zwykły pusty plik, a potem założyć w nim partycje, tak jakby to był zwykły dysk. Mało tego, możesz go potem zamontować w systemie i na prawdę używać jak zwykłego dysku.

1. Tworzenie plikopartycji

Plikopartycja to specjalny plik, który działa jak mały dysk. Możesz go stworzyć, aby później wykorzystać jak prawdziwy dysk w komputerze, na przykład do testów lub jako wirtualne miejsce do przechowywania danych.

Jak pamiętasz z poprzednich zajęć, w katalogu /dev/ są pliki reprezentujące fizyczne urządzenia. Ale są tam też pliki, które symulują jakieś urządzenia. Nie będę teraz omawiał wszystkich ale omówię dwa takie. Jeden to /dev/zero a drugi to /dev/random.

/dev/zero i /dev/random – omówienie

W systemach Unix i Linux /dev/zero oraz /dev/random to specjalne pliki urządzeń (pseudo-urządzenia), które dostarczają danych w nietypowy sposób. Oto, co warto o nich wiedzieć:

/dev/zero

/dev/random

Dodatkowa uwaga: /dev/urandom

Warto wspomnieć, że istnieje także /dev/urandom – jest to "nieblokująca" wersja /dev/random. W sytuacjach, gdy potrzebne są dane losowe, ale nie można sobie pozwolić na ewentualne opóźnienia (blokowanie odczytu), /dev/urandom jest dobrym wyborem. Dostarcza on dane losowe, korzystając z tych samych źródeł entropii, ale w razie niedoboru entropii nie zatrzymuje operacji odczytu.

Podsumowanie

Przykład polecenia w systemie Linux:

dd if=/dev/zero of=plik_dysk.img bs=1M count=1024

Co to oznacza?

Tu jeszcze jedno wyjaśnienie - to, że plik_dysk.img ma rozszerzenie .img nie ma żadnego znaczenia. Możecie go nazwać dowolnie, Linux nie jest tak durny jak Windows, że jak zmienicie rozszerzenie pliku docx na mp3, to będzie próbował go zagrać. To bardziej informacja dla Ciebie, żeby było Ci łatwiej zapamiętać, że utworzony plik jest plikiem obrazu.

Niestandardowe użycie poleceń do archiwizacji i odtwarzania tablicy partycji (dla wirtualnego pliku)

W tym przewodniku pokażę Ci jak za pomocą standardowych narzędzi można wykonać operacje archiwizacji, odczytu oraz przywracania tablicy partycji, ale tym razem na wirtualnym pliku pełniącym rolę dysku. Załóżmy, że wcześniej stworzyłeś taki plik, np.:

dd if=/dev/zero of=plik_dysk.img bs=1M count=100

Plik plik_dysk.img działa jak wirtualny dysk o rozmiarze 100 MB.

Krok 3: Tworzenie partycji przy użyciu fdisk

Uruchomimy narzędzie fdisk dla urządzenia pętli, aby podzielić nasz wirtualny dysk na partycje:

sudo fdisk ./plik_dysk.img (pamiętaj aby podać ścieżkę do pliku - ./ zadziała jeśli jesteś w tym samym katalogu co plikopartycja)

W narzędziu fdisk wykonaj następujące kroki:

  1. Naciśnij n aby utworzyć nową partycję.
  2. Wybierz typ partycji (np. p dla partycji podstawowej).
  3. Podaj numer partycji (zazwyczaj 1 dla pierwszej partycji).
  4. Określ początkowy i końcowy sektor partycji (lub zaakceptuj domyślne wartości, aby wykorzystać cały dostępny obszar).
  5. fdisk "rozumie" pewną opisową skłądnię, np. "+40G" - utworzy parycję o rozmiarze 40G, analogicznie "+512M" lub "+1T".
  6. Powtórz kroki 1–4, jeśli chcesz utworzyć więcej niż jedną partycję.
  7. Naciśnij w aby zapisać zmiany i wyjść z programu.

Po zapisaniu zmian, Twój wirtualny dysk będzie miał utworzoną tablicę partycji.

1. Archiwizacja MBR za pomocą dd

Podobnie jak w przypadku fizycznego dysku, możemy zapisać pierwszy sektor (MBR) wirtualnego dysku do pliku:

dd if=plik_dysk.img of=mbr.bin bs=512 count=1

Wyjaśnienie:

2. Archiwizacja MBR przy użyciu cat i head

Możesz również użyć cat oraz head do odczytania pierwszych 512 bajtów z wirtualnego dysku:

cat plik_dysk.img | head -c 512 > mbr.bin

Lub jeszcze krócej:

head -c 512 plik_dysk.img > mbr.bin

3. Wyświetlanie zawartości MBR w formacie szesnastkowym

Aby zobaczyć zawartość zapisanego MBR w formacie szesnastkowym, użyj poleceń hexdump lub xxd:

hexdump -C mbr.bin
xxd mbr.bin

4. Odczyt tablicy partycji za pomocą fdisk

Narzędzie fdisk zwykle pracuje z urządzeniami blokowymi, ale możemy „przypiąć” nasz wirtualny plik jako urządzenie pętli (loop device), aby móc wyświetlić jego tablicę partycji:


# Wyświetlamy tablicę partycji
fdisk -l ./plik_dysk.img

Dzięki temu fdisk wyświetli strukturę partycji zawartą w wirtualnym pliku.

Podsumowanie

Oto zestawienie nietypowych zastosowań kilku poleceń na wirtualnym pliku dyskowym:

Uwaga: Praca z wirtualnymi plikami dyskowymi jest świetnym sposobem na eksperymentowanie bez ryzyka utraty danych. Mimo to zawsze zachowuj ostrożność i upewnij się, że operujesz na właściwych plikach.

2. Partycjonowanie fizycznego (lub wirtualnego) dysku

Partycjonowanie dysku to dzielenie fizycznego dysku na mniejsze części zwane partycjami. To trochę jak dzielenie zeszytu na rozdziały – każdy rozdział (partycja) może być używany oddzielnie.

Na przykład, możesz mieć jedną partycję dla systemu operacyjnego, a inną do przechowywania zdjęć i plików.

Optymalne pojemności partycji w systemie Linux

1. Standardowy podział partycji dla desktopa

Partycja Zalecana wielkość Opis
/ (root)50 GBSystem operacyjny i aplikacje
/homeReszta miejscaPliki użytkownika
swap8 GBPamięć wymiany nie jest potrzebna do większości dystrybucji ale Gentoo potrzebuje baaardzo dużo RAMu do kompilacji pakietów.

2. Podział dla serwera

Partycja Zalecana wielkość Opis
/80 GBSystem operacyjny
/var50-100 GBLogi, bazy danych
/tmp5-10 GBPliki tymczasowe
/boot1-2 GBPliki bootowania
/srvReszta miejscaDane aplikacji

3. Podział dla systemu wbudowanego (Raspberry Pi, IoT)

Partycja Zalecana wielkość Opis
/boot256 MB - 1 GBPliki startowe
/1-4 GBSystem operacyjny
/var500 MB - 2 GBLogi
/dataReszta miejscaDane użytkownika

4. System szyfrowany (LUKS)

Partycja Zalecana wielkość Opis
/boot500 MB - 1 GBNieszyfrowane pliki boot
LUKSReszta miejscaSzyfrowany kontener

5. System z RAID lub LVM

Partycja Zalecana wielkość Opis
/50 GBSystem operacyjny
/var20-100 GBLogi i bazy danych
/homeReszta miejscaPliki użytkowników
/dataOsobny RAID 5/10Dane serwera

W systemie Linux można do tego użyć narzędzi takich jak fdisk lub parted. Przykład z użyciem fdisk:

fdisk -l                # To zaklęcie wyświetli dyski dostępne w systemie.
sudo fdisk /dev/sda     # To zaklęcie uruchomi proces partcjonowania dysku /dev/sda
sudo fdisk /dev/vda     # W QEMU Twój dysk najprawdopodobniej będzie sie nazywał /dev/vda

### Zobaczysz coś podobnego:
Welcome to fdisk (util-linux 2.40.4).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS (MBR) disklabel with disk identifier 0x3f476a3f.

Command (m for help):

### Naciśnięcie m wyświetli menu: 
Command (m for help): m

Help:

  DOS (MBR)
   a   toggle a bootable flag
   b   edit nested BSD disklabel
   c   toggle the dos compatibility flag

  Generic
   d   delete a partition
   F   list free unpartitioned space
   l   list known partition types
   n   add a new partition
   p   print the partition table
   t   change a partition type
   v   verify the partition table
   i   print information about a partition
   e   resize a partition

  Misc
   m   print this menu
   u   change display/entry units
   x   extra functionality (experts only)

  Script
   I   load disk layout from sfdisk script file
   O   dump disk layout to sfdisk script file

  Save & Exit
   w   write table to disk and exit
   q   quit without saving changes

  Create a new label
   g   create a new empty GPT partition table
   G   create a new empty SGI (IRIX) partition table
   o   create a new empty MBR (DOS) partition table
   s   create a new empty Sun partition table


Command (m for help):

### Ponieważ chcemy utworzyć nową tablicę partycji z formacie GPT naciskamy "g": 
Command (m for help): g
Created a new GPT disklabel (GUID: EBFAD4A4-E8D1-44EE-A4EF-1AD4B7CFB71C).
Command (m for help):

### Naciśnięcie "g" ktreśliło dopiero sposób w jaki chcesz partycjonować swój dysk, teraz będziemy tworzyć partycje.
### Nową partycję tworzymy naciskając "n" (zobacz w menu powyżej):
Command (m for help): n

Partition number (1-128, default 1):     # Tu wpisujemy "1" albo naciskamy enter (domyślna wartość) i naciskamy enter.

First sector (34-351, default 34):       # Określamy w którym sektorze ma się zaczynać partycja. Zostawaiamy domyślną wartość i naciskamy enter.

Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-104857566, default 2048):  # Teraz musimy określić koniec partycji, domyślnie ustawiona jest pełna pojemność dysku. Ponieważ chcesz założyć więcej niż jedną partycję, więc nie możesz zostawić domyślnej wartości. Przeliczanie sektrów nie jest wygodne, ale możesz napisać "+1G" co spowoduje dodanie partycji o pojemniści 1GB. To samo spowoduje "+1024M". Po naciśnięciu enter dodasz partycję, domyślnie oznaczoną jako "Linux filesystem":
gentoo.img1  2048 2099199 2097152   1G Linux filesystem

### Masz dodaną pierwszą partycję. Teraz trzeba wszystko powtórzyć od początku żeby dodać kolejne. Naciśnij "n":
Command (m for help): n
Partition number (2-128, default 2):                # Teraz zostawiasz "2" naciskasz enter.
First sector (2099200-104857566, default 2099200):  # Zostawiasz domyślny pierwszy sektor (następny za ostatnim poprzedniej partycji)
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2099200-104857566, default 104855551):  # Utworzymy partycję wymiany SWAP. Zakładając, że Twój wirtualny dysk ma 50G, na potrzeby edukacyjne załóż partycję 8G, czyli wpisz "+8G":
Created a new partition 2 of type 'Linux filesystem' and of size 8 GiB.   # Utworzyłeś drugą partycję oznaczoną jako "Linux filesystem"

### Masz dodaną drugą partycję. Teraz znów powtórz wszystko od początku żeby dodać kolejne. Naciśnij "n":
Command (m for help): n
Partition number (3-128, default 3):                # Teraz zostawiasz "3" naciskasz enter.
First sector (18876416-104857566, default 18876416):  # Zostawiasz domyślny pierwszy sektor (następny za ostatnim poprzedniej partycji)
Last sector, +/-sectors or +/-size{K,M,G,T,P} (18876416-104857566, default 104855551):  # Utworzymy partycję systemową root (/). Zakładając, że Twój wirtualny dysk ma 50G, na potrzeby edukacyjne załóż partycję 40G, czyli wpisz "+40G":
Created a new partition 3 of type 'Linux filesystem' and of size 40 GiB.   # Utworzyłeś Trzecią partycję oznaczoną jako "Linux filesystem"

### Teraz zrobisz sobie jeszcze jedną partycję /home. Zawsze twórz sobie partycję /home, nawet jak używasz systemu tylko na laptopie i tylko dla siebie. Jeśli masz taką partycję, nie musisz się martwić backupem danych przy przeinstalowywaniu systemu, bo system jest na innej partycji. Mało tego, jeśli używasz kilku różnych systemów (Linux/BSD/Haiku/Android) to w każdym z nich możesz zamontować tą samą partycję /home. W tym przypadku będzie bardzo mała, ale w praktyce powinna być największa, bo to miejsce na wszystkie Twoje dane.

### Dodaj czwartą partycję - naciśnij "n":
Command (m for help): n
Partition number (4-128, default 4):                  # Teraz zostawiasz "4" naciskasz enter.
First sector (85985280-104857566, default 85985280):  # Zostawiasz domyślny pierwszy sektor
Last sector, +/-sectors or +/-size{K,M,G,T,P} (102762496-104857566, default 104855551):  # Tym razem zostawiasz domyślną wartość. Wypełnij dysk do końca ostatnią partycją:
Created a new partition 4 of type 'Linux filesystem' and of size 1022 MiB. # U mnie zajęła ona 1022 MB.

Command (m for help):

### To jeszcze nie koniec. Naciśnij teraz "p":
Command (m for help): p
Disk gentoo.img: 50 GiB, 53687091200 bytes, 104857600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 9A221982-9B7C-4550-A634-E6130CF3DA66

Device          Start       End  Sectors  Size Type
gentoo.img1      2048   2099199  2097152    1G Linux filesystem
gentoo.img2   2099200  18876415 16777216    8G Linux filesystem
gentoo.img3  18876416 102762495 83886080   40G Linux filesystem
gentoo.img4 102762496 104855551  2093056 1022M Linux filesystem

Command (m for help):

### W Twoim schemacie partycji wszystkie są oznaczone jako "Linux filesystem". Ale partycja "/boot" dla BIOSa EFI musi być oznaczona jako vfat (FAT32) i oznaczona jako partycja EFI a partycja wymiany jako SWAP.
Naciśnij więc "t":
Command (m for help): t
Partition number (1-4, default 4):              # Domyślnie wybrana jest ostatnia a chcesz zmienić 1.
Partition type or alias (type L to list all):   # Zapewne nie wiesz co wpisać więc naciśnij "l":

Partition type or alias (type L to list all): l
  1 EFI System                     C12A7328-F81F-11D2-BA4B-00A0C93EC93B
  2 MBR partition scheme           024DEE41-33E7-11D3-9D69-0008C781F39F
  3 Intel Fast Flash               D3BFE2DE-3DAF-11DF-BA40-E3A556D89593
  4 BIOS boot                      21686148-6449-6E6F-744E-656564454649
  5 Sony boot partition            F4019732-066E-4E12-8273-346C5641494F
  6 Lenovo boot partition          BFBFAFE7-A34F-448A-9A5B-6213EB736C22
  7 PowerPC PReP boot              9E1A2D38-C612-4316-AA26-8B49521E5A8B
  8 ONIE boot                      7412F7D5-A156-4B13-81DC-867174929325
  9 ONIE config                    D4E6E2CD-4469-46F3-B5CB-1BFF57AFC149
 10 Microsoft reserved             E3C9E316-0B5C-4DB8-817D-F92DF00215AE
 11 Microsoft basic data           EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
 12 Microsoft LDM metadata         5808C8AA-7E8F-42E0-85D2-E1E90434CFB3
 13 Microsoft LDM data             AF9B60A0-1431-4F62-BC68-3311714A69AD
 14 Windows recovery environment   DE94BBA4-06D1-4D40-A16A-BFD50179D6AC
 15 IBM General Parallel Fs        37AFFC90-EF7D-4E96-91C3-2D7AE055B174
 16 Microsoft Storage Spaces       E75CAF8F-F680-4CEE-AFA3-B001E56EFC2D
 17 HP-UX data                     75894C1E-3AEB-11D3-B7C1-7B03A0000000
 18 HP-UX service                  E2A1E728-32E3-11D6-A682-7B03A0000000
 19 Linux swap                     0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
 20 Linux filesystem               0FC63DAF-8483-4772-8E79-3D69D8477DE4
 21 Linux server data              3B8F8425-20E0-4F3B-907F-1A25A76F98E8
 22 Linux root (x86)               44479540-F297-41B2-9AF7-D131D5F0458A
 23 Linux root (x86-64)            4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709
 24 Linux root (Alpha)             6523F8AE-3EB1-4E2A-A05A-18B695AE656F
 25 Linux root (ARC)               D27F46ED-2919-4CB8-BD25-9531F3C16534
 26 Linux root (ARM)               69DAD710-2CE4-4E3C-B16C-21A1D49ABED3
 27 Linux root (ARM-64)            B921B045-1DF0-41C3-AF44-4C6F280D3FAE
 28 Linux root (IA-64)             993D8D3D-F80E-4225-855A-9DAF8ED7EA97
 29 Linux root (LoongArch-64)      77055800-792C-4F94-B39A-98C91B762BB6
 30 Linux root (MIPS-32 LE)        37C58C8A-D913-4156-A25F-48B1B64E07F0
 31 Linux root (MIPS-64 LE)        700BDA43-7A34-4507-B179-EEB93D7A7CA3
 32 Linux root (HPPA/PARISC)       1AACDB3B-5444-4138-BD9E-E5C2239B2346
 33 Linux root (PPC)               1DE3F1EF-FA98-47B5-8DCD-4A860A654D78
 34 Linux root (PPC64)             912ADE1D-A839-4913-8964-A10EEE08FBD2
 35 Linux root (PPC64LE)           C31C45E6-3F39-412E-80FB-4809C4980599
 36 Linux root (RISC-V-32)         60D5A7FE-8E7D-435C-B714-3DD8162144E1
 37 Linux root (RISC-V-64)         72EC70A6-CF74-40E6-BD49-4BDA08E8F224
 38 Linux root (S390)              08A7ACEA-624C-4A20-91E8-6E0FA67D23F9
 39 Linux root (S390X)             5EEAD9A9-FE09-4A1E-A1D7-520D00531306
 40 Linux root (TILE-Gx)           C50CDD70-3862-4CC3-90E1-809A8C93EE2C
 41 Linux reserved                 8DA63339-0007-60C0-C436-083AC8230908
 42 Linux home                     933AC7E1-2EB4-4F13-B844-0E14E2AEF915
 43 Linux RAID                     A19D880F-05FC-4D3B-A006-743F0F84911E
 44 Linux LVM                      E6D6D379-F507-44C2-A23C-238F2A3DF928
 45 Linux variable data            4D21B016-B534-45C2-A9FB-5C16E091FD2D
 46 Linux temporary data           7EC6F557-3BC5-4ACA-B293-16EF5DF639D1
 47 Linux /usr (x86)               75250D76-8CC6-458E-BD66-BD47CC81A812
 48 Linux /usr (x86-64)            8484680C-9521-48C6-9C11-B0720656F69E
 49 Linux /usr (Alpha)             E18CF08C-33EC-4C0D-8246-C6C6FB3DA024
 50 Linux /usr (ARC)               7978A683-6316-4922-BBEE-38BFF5A2FECC
 51 Linux /usr (ARM)               7D0359A3-02B3-4F0A-865C-654403E70625
 52 Linux /usr (ARM-64)            B0E01050-EE5F-4390-949A-9101B17104E9
 53 Linux /usr (IA-64)             4301D2A6-4E3B-4B2A-BB94-9E0B2C4225EA
 54 Linux /usr (LoongArch-64)      E611C702-575C-4CBE-9A46-434FA0BF7E3F
 55 Linux /usr (MIPS-32 LE)        0F4868E9-9952-4706-979F-3ED3A473E947
 56 Linux /usr (MIPS-64 LE)        C97C1F32-BA06-40B4-9F22-236061B08AA8
 57 Linux /usr (HPPA/PARISC)       DC4A4480-6917-4262-A4EC-DB9384949F25
 58 Linux /usr (PPC)               7D14FEC5-CC71-415D-9D6C-06BF0B3C3EAF
 59 Linux /usr (PPC64)             2C9739E2-F068-46B3-9FD0-01C5A9AFBCCA
 60 Linux /usr (PPC64LE)           15BB03AF-77E7-4D4A-B12B-C0D084F7491C
 61 Linux /usr (RISC-V-32)         B933FB22-5C3F-4F91-AF90-E2BB0FA50702
 62 Linux /usr (RISC-V-64)         BEAEC34B-8442-439B-A40B-984381ED097D
 63 Linux /usr (S390)              CD0F869B-D0FB-4CA0-B141-9EA87CC78D66
 64 Linux /usr (S390X)             8A4F5770-50AA-4ED3-874A-99B710DB6FEA
 65 Linux /usr (TILE-Gx)           55497029-C7C1-44CC-AA39-815ED1558630
 66 Linux root verity (x86)        D13C5D3B-B5D1-422A-B29F-9454FDC89D76
 67 Linux root verity (x86-64)     2C7357ED-EBD2-46D9-AEC1-23D437EC2BF5
 68 Linux root verity (Alpha)      FC56D9E9-E6E5-4C06-BE32-E74407CE09A5
 69 Linux root verity (ARC)        24B2D975-0F97-4521-AFA1-CD531E421B8D
 70 Linux root verity (ARM)        7386CDF2-203C-47A9-A498-F2ECCE45A2D6
 71 Linux root verity (ARM-64)     DF3300CE-D69F-4C92-978C-9BFB0F38D820
 72 Linux root verity (IA-64)      86ED10D5-B607-45BB-8957-D350F23D0571
 73 Linux root verity (LoongArch-64) F3393B22-E9AF-4613-A948-9D3BFBD0C535
 74 Linux root verity (MIPS-32 LE) D7D150D2-2A04-4A33-8F12-16651205FF7B
 75 Linux root verity (MIPS-64 LE) 16B417F8-3E06-4F57-8DD2-9B5232F41AA6
 76 Linux root verity (HPPA/PARISC) D212A430-FBC5-49F9-A983-A7FEEF2B8D0E
 77 Linux root verity (PPC)        98CFE649-1588-46DC-B2F0-ADD147424925
 78 Linux root verity (PPC64)      9225A9A3-3C19-4D89-B4F6-EEFF88F17631
 79 Linux root verity (PPC64LE)    906BD944-4589-4AAE-A4E4-DD983917446A
 80 Linux root verity (RISC-V-32)  AE0253BE-1167-4007-AC68-43926C14C5DE
 81 Linux root verity (RISC-V-64)  B6ED5582-440B-4209-B8DA-5FF7C419EA3D
 82 Linux root verity (S390)       7AC63B47-B25C-463B-8DF8-B4A94E6C90E1
 83 Linux root verity (S390X)      B325BFBE-C7BE-4AB8-8357-139E652D2F6B
 84 Linux root verity (TILE-Gx)    966061EC-28E4-4B2E-B4A5-1F0A825A1D84
 85 Linux /usr verity (x86)        8F461B0D-14EE-4E81-9AA9-049B6FB97ABD
 86 Linux /usr verity (x86-64)     77FF5F63-E7B6-4633-ACF4-1565B864C0E6
 87 Linux /usr verity (Alpha)      8CCE0D25-C0D0-4A44-BD87-46331BF1DF67
 88 Linux /usr verity (ARC)        FCA0598C-D880-4591-8C16-4EDA05C7347C
 89 Linux /usr verity (ARM)        C215D751-7BCD-4649-BE90-6627490A4C05
 90 Linux /usr verity (ARM-64)     6E11A4E7-FBCA-4DED-B9E9-E1A512BB664E
 91 Linux /usr verity (IA-64)      6A491E03-3BE7-4545-8E38-83320E0EA880
 92 Linux /usr verity (LoongArch-64) F46B2C26-59AE-48F0-9106-C50ED47F673D
 93 Linux /usr verity (MIPS-32 LE) 46B98D8D-B55C-4E8F-AAB3-37FCA7F80752
 94 Linux /usr verity (MIPS-64 LE) 3C3D61FE-B5F3-414D-BB71-8739A694A4EF
 95 Linux /usr verity (HPPA/PARISC) 5843D618-EC37-48D7-9F12-CEA8E08768B2
 96 Linux /usr verity (PPC)        DF765D00-270E-49E5-BC75-F47BB2118B09
 97 Linux /usr verity (PPC64)      BDB528A5-A259-475F-A87D-DA53FA736A07
 98 Linux /usr verity (PPC64LE)    EE2B9983-21E8-4153-86D9-B6901A54D1CE
 99 Linux /usr verity (RISC-V-32)  CB1EE4E3-8CD0-4136-A0A4-AA61A32E8730
100 Linux /usr verity (RISC-V-64)  8F1056BE-9B05-47C4-81D6-BE53128E5B54
101 Linux /usr verity (S390)       B663C618-E7BC-4D6D-90AA-11B756BB1797
102 Linux /usr verity (S390X)      31741CC4-1A2A-4111-A581-E00B447D2D06
103 Linux /usr verity (TILE-Gx)    2FB4BF56-07FA-42DA-8132-6B139F2026AE
104 Linux root verity sign. (x86)  5996FC05-109C-48DE-808B-23FA0830B676
105 Linux root verity sign. (x86-64) 41092B05-9FC8-4523-994F-2DEF0408B176
106 Linux root verity sign. (Alpha) D46495B7-A053-414F-80F7-700C99921EF8
107 Linux root verity sign. (ARC)  143A70BA-CBD3-4F06-919F-6C05683A78BC
108 Linux root verity sign. (ARM)  42B0455F-EB11-491D-98D3-56145BA9D037
109 Linux root verity sign. (ARM-64) 6DB69DE6-29F4-4758-A7A5-962190F00CE3
110 Linux root verity sign. (IA-64) E98B36EE-32BA-4882-9B12-0CE14655F46A
111 Linux root verity sign. (LoongArch-64) 5AFB67EB-ECC8-4F85-AE8E-AC1E7C50E7D0
112 Linux root verity sign. (MIPS-32 LE) C919CC1F-4456-4EFF-918C-F75E94525CA5
113 Linux root verity sign. (MIPS-64 LE) 904E58EF-5C65-4A31-9C57-6AF5FC7C5DE7
114 Linux root verity sign. (HPPA/PARISC) 15DE6170-65D3-431C-916E-B0DCD8393F25
115 Linux root verity sign. (PPC)  1B31B5AA-ADD9-463A-B2ED-BD467FC857E7
116 Linux root verity sign. (PPC64) F5E2C20C-45B2-4FFA-BCE9-2A60737E1AAF
117 Linux root verity sign. (PPC64LE) D4A236E7-E873-4C07-BF1D-BF6CF7F1C3C6
118 Linux root verity sign. (RISC-V-32) 3A112A75-8729-4380-B4CF-764D79934448
119 Linux root verity sign. (RISC-V-64) EFE0F087-EA8D-4469-821A-4C2A96A8386A
120 Linux root verity sign. (S390) 3482388E-4254-435A-A241-766A065F9960
121 Linux root verity sign. (S390X) C80187A5-73A3-491A-901A-017C3FA953E9
122 Linux root verity sign. (TILE-Gx) B3671439-97B0-4A53-90F7-2D5A8F3AD47B
123 Linux /usr verity sign. (x86)  974A71C0-DE41-43C3-BE5D-5C5CCD1AD2C0
124 Linux /usr verity sign. (x86-64) E7BB33FB-06CF-4E81-8273-E543B413E2E2
125 Linux /usr verity sign. (Alpha) 5C6E1C76-076A-457A-A0FE-F3B4CD21CE6E
126 Linux /usr verity sign. (ARC)  94F9A9A1-9971-427A-A400-50CB297F0F35
127 Linux /usr verity sign. (ARM)  D7FF812F-37D1-4902-A810-D76BA57B975A
128 Linux /usr verity sign. (ARM-64) C23CE4FF-44BD-4B00-B2D4-B41B3419E02A
129 Linux /usr verity sign. (IA-64) 8DE58BC2-2A43-460D-B14E-A76E4A17B47F
130 Linux /usr verity sign. (LoongArch-64) B024F315-D330-444C-8461-44BBDE524E99
131 Linux /usr verity sign. (MIPS-32 LE) 3E23CA0B-A4BC-4B4E-8087-5AB6A26AA8A9
132 Linux /usr verity sign. (MIPS-64 LE) F2C2C7EE-ADCC-4351-B5C6-EE9816B66E16
133 Linux /usr verity sign. (HPPA/PARISC) 450DD7D1-3224-45EC-9CF2-A43A346D71EE
134 Linux /usr verity sign. (PPC)  7007891D-D371-4A80-86A4-5CB875B9302E
135 Linux /usr verity sign. (PPC64) 0B888863-D7F8-4D9E-9766-239FCE4D58AF
136 Linux /usr verity sign. (PPC64LE) C8BFBD1E-268E-4521-8BBA-BF314C399557
137 Linux /usr verity sign. (RISC-V-32) C3836A13-3137-45BA-B583-B16C50FE5EB4
138 Linux /usr verity sign. (RISC-V-64) D2F9000A-7A18-453F-B5CD-4D32F77A7B32
139 Linux /usr verity sign. (S390) 17440E4F-A8D0-467F-A46E-3912AE6EF2C5
140 Linux /usr verity sign. (S390X) 3F324816-667B-46AE-86EE-9B0C0C6C11B4
141 Linux /usr verity sign. (TILE-Gx) 4EDE75E2-6CCC-4CC8-B9C7-70334B087510
142 Linux extended boot            BC13C2FF-59E6-4262-A352-B275FD6F7172
143 Linux user's home              773f91ef-66d4-49b5-bd83-d683bf40ad16
144 FreeBSD data                   516E7CB4-6ECF-11D6-8FF8-00022D09712B
145 FreeBSD boot                   83BD6B9D-7F41-11DC-BE0B-001560B84F0F
146 FreeBSD swap                   516E7CB5-6ECF-11D6-8FF8-00022D09712B
147 FreeBSD UFS                    516E7CB6-6ECF-11D6-8FF8-00022D09712B
148 FreeBSD ZFS                    516E7CBA-6ECF-11D6-8FF8-00022D09712B
149 FreeBSD Vinum                  516E7CB8-6ECF-11D6-8FF8-00022D09712B
150 Apple HFS/HFS+                 48465300-0000-11AA-AA11-00306543ECAC
151 Apple APFS                     7C3457EF-0000-11AA-AA11-00306543ECAC
152 Apple UFS                      55465300-0000-11AA-AA11-00306543ECAC
153 Apple RAID                     52414944-0000-11AA-AA11-00306543ECAC
154 Apple RAID offline             52414944-5F4F-11AA-AA11-00306543ECAC
155 Apple boot                     426F6F74-0000-11AA-AA11-00306543ECAC
156 Apple label                    4C616265-6C00-11AA-AA11-00306543ECAC
157 Apple TV recovery              5265636F-7665-11AA-AA11-00306543ECAC
158 Apple Core storage             53746F72-6167-11AA-AA11-00306543ECAC
159 Apple Silicon boot             69646961-6700-11AA-AA11-00306543ECAC
160 Apple Silicon recovery         52637672-7900-11AA-AA11-00306543ECAC
161 Solaris boot                   6A82CB45-1DD2-11B2-99A6-080020736631
162 Solaris root                   6A85CF4D-1DD2-11B2-99A6-080020736631
163 Solaris /usr & Apple ZFS       6A898CC3-1DD2-11B2-99A6-080020736631
164 Solaris swap                   6A87C46F-1DD2-11B2-99A6-080020736631
165 Solaris backup                 6A8B642B-1DD2-11B2-99A6-080020736631
166 Solaris /var                   6A8EF2E9-1DD2-11B2-99A6-080020736631
167 Solaris /home                  6A90BA39-1DD2-11B2-99A6-080020736631
168 Solaris alternate sector       6A9283A5-1DD2-11B2-99A6-080020736631
169 Solaris reserved 1             6A945A3B-1DD2-11B2-99A6-080020736631
170 Solaris reserved 2             6A9630D1-1DD2-11B2-99A6-080020736631
171 Solaris reserved 3             6A980767-1DD2-11B2-99A6-080020736631
172 Solaris reserved 4             6A96237F-1DD2-11B2-99A6-080020736631
173 Solaris reserved 5             6A8D2AC7-1DD2-11B2-99A6-080020736631
174 NetBSD swap                    49F48D32-B10E-11DC-B99B-0019D1879648
175 NetBSD FFS                     49F48D5A-B10E-11DC-B99B-0019D1879648
176 NetBSD LFS                     49F48D82-B10E-11DC-B99B-0019D1879648
177 NetBSD concatenated            2DB519C4-B10F-11DC-B99B-0019D1879648
178 NetBSD encrypted               2DB519EC-B10F-11DC-B99B-0019D1879648
179 NetBSD RAID                    49F48DAA-B10E-11DC-B99B-0019D1879648
180 ChromeOS kernel                FE3A2A5D-4F32-41A7-B725-ACCC3285A309
181 ChromeOS root fs               3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC
182 ChromeOS reserved              2E0A753D-9E48-43B0-8337-B15192CB1B5E
183 ChromeOS firmware              CAB6E88E-ABF3-4102-A07A-D4BB9BE3C1D3
184 ChromeOS miniOS                09845860-705F-4BB5-B16C-8A8A099CAF52
185 ChromeOS hibernate             3F0F8318-F146-4E6B-8222-C28C8F02E0D5
186 MidnightBSD data               85D5E45A-237C-11E1-B4B3-E89A8F7FC3A7
187 MidnightBSD boot               85D5E45E-237C-11E1-B4B3-E89A8F7FC3A7
188 MidnightBSD swap               85D5E45B-237C-11E1-B4B3-E89A8F7FC3A7
189 MidnightBSD UFS                0394EF8B-237E-11E1-B4B3-E89A8F7FC3A7
190 MidnightBSD ZFS                85D5E45D-237C-11E1-B4B3-E89A8F7FC3A7
191 MidnightBSD Vinum              85D5E45C-237C-11E1-B4B3-E89A8F7FC3A7
192 Ceph Journal                   45B0969E-9B03-4F30-B4C6-B4B80CEFF106
193 Ceph Encrypted Journal         45B0969E-9B03-4F30-B4C6-5EC00CEFF106
194 Ceph OSD                       4FBD7E29-9D25-41B8-AFD0-062C0CEFF05D
195 Ceph crypt OSD                 4FBD7E29-9D25-41B8-AFD0-5EC00CEFF05D
196 Ceph disk in creation          89C57F98-2FE5-4DC0-89C1-F3AD0CEFF2BE
197 Ceph crypt disk in creation    89C57F98-2FE5-4DC0-89C1-5EC00CEFF2BE
198 VMware VMFS                    AA31E02A-400F-11DB-9590-000C2911D1B8
199 VMware Diagnostic              9D275380-40AD-11DB-BF97-000C2911D1B8
200 VMware Virtual SAN             381CFCCC-7288-11E0-92EE-000C2911D0B2
201 VMware Virsto                  77719A0C-A4A0-11E3-A47E-000C29745A24
202 VMware Reserved                9198EFFC-31C0-11DB-8F78-000C2911D1B8
203 OpenBSD data                   824CC7A0-36A8-11E3-890A-952519AD3F61
204 QNX6 file system               CEF5A9AD-73BC-4601-89F3-CDEEEEE321A1
205 Plan 9 partition               C91818F9-8025-47AF-89D2-F030D7000C2C
206 HiFive FSBL                    5B193300-FC78-40CD-8002-E86C45580B47
207 HiFive BBL                     2E54B353-1271-4842-806F-E436D6AF6985
208 Haiku BFS                      42465331-3BA3-10F1-802A-4861696B7521
209 Marvell Armada 3700 Boot partition 6828311A-BA55-42A4-BCDE-A89BB5EDECAE
210 DragonFlyBSD Label32           9D087404-1CA5-11DC-8817-01301BB8A9F5
211 DragonFlyBSD Swap              9D58FDBD-1CA5-11DC-8817-01301BB8A9F5
212 DragonFlyBSD UFS1              9D94CE7C-1CA5-11DC-8817-01301BB8A9F5
213 DragonFlyBSD Vinum             9DD4478F-1CA5-11DC-8817-01301BB8A9F5
214 DragonFlyBSD CCD               DBD5211B-1CA5-11DC-8817-01301BB8A9F5
215 DragonFlyBSD Label64           3D48CE54-1D16-11DC-8696-01301BB8A9F5
216 DragonFlyBSD Legacy            BD215AB2-1D16-11DC-8696-01301BB8A9F5
217 DragonFlyBSD HAMMER            61DC63AC-6E38-11DC-8513-01301BB8A9F5
218 DragonFlyBSD HAMMER2           5CBB9AD1-862D-11DC-A94D-01301BB8A9F5
219 U-Boot environment             3DE21764-95BD-54BD-A5C3-4ABE786F38A8

Aliases:
   linux          - 0FC63DAF-8483-4772-8E79-3D69D8477DE4
   swap           - 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
   home           - 933AC7E1-2EB4-4F13-B844-0E14E2AEF915
   uefi           - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
   raid           - A19D880F-05FC-4D3B-A006-743F0F84911E
   lvm            - E6D6D379-F507-44C2-A23C-238F2A3DF928
   xbootldr       - BC13C2FF-59E6-4262-A352-B275FD6F7172

To wyświetli pełną listę możliwości wyboru partycji. Ciebie interesuje po prostu "1", więc wciśnij "1".
Musimy jeszcze ustawić drugą partycję jako SWAP, więc znów naciskamy "t":

Command (m for help): t
Partition number (1-4, default 4): 2          color="#55FFAA"># Tym razem chcesz zmienić drugą partycję, więc wybierasz "2".
Partition type or alias (type L to list all): color="#55FFAA"># SWAP jest pod numerem "19".

### Teraz jeśli naciśniesz "p" powinno się pojawić coś takiego: 
Command (m for help): p
Disk gentoo.img: 50 GiB, 53687091200 bytes, 104857600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 9A221982-9B7C-4550-A634-E6130CF3DA66

Device          Start       End  Sectors  Size Type
gentoo.img1      2048   2099199  2097152    1G EFI System
gentoo.img2   2099200  18876415 16777216    8G Linux swap
gentoo.img3  18876416 102762495 83886080   40G Linux filesystem
gentoo.img4 102762496 104855551  2093056 1022M Linux filesystem

Command (m for help):

### To znaczy, że wszystko jest w porządku, naciskasz "w" (zapisz) a potem "q" (quit) 
Możesz sobie teraz wpisać zaklęcie:
fdisk -l
Device          Start       End  Sectors  Size Type
/dev/sda1      2048   2099199  2097152    1G EFI System
/dev/sda2   2099200  18876415 16777216    8G Linux swap
/dev/sda3  18876416 102762495 83886080   40G Linux filesystem
/dev/sda4 102762496 104855551  2093056 1022M Linux filesystem

3. Formatowanie partycji

Masz założone partycje, ale jeszcze trzeba je sformatować (założyć na nich jakiś filesystem). To trochę jak wybór "w jakim języku" trzymać dane na dysku.

Systemy plików obsługiwane przez Linux

1. Natywne systemy plików Linuksa

Filesystem Opis
ext2Brak journalingu, nadal używany w systemach wbudowanych.
ext3Dodaje journaling dla większej niezawodności.
ext4Domyślny system plików w większości dystrybucji.
XFSWysokowydajny system od SGI.
BtrfsNowoczesny system z migawkami i samonaprawą danych.

2. Systemy plików z innych systemów operacyjnych

Filesystem System operacyjny Opis
NTFSWindowsObsługa odczytu/zapisu dzięki ntfs-3g.
exFATWindows/macOSObsługuje duże pliki, wspierany natywnie w kernelu.
HFS+macOSObsługa odczytu, zapis wymaga dodatkowych sterowników.

3. Systemy plików sieciowych

Filesystem Opis
NFSStandardowy protokół sieciowy UNIX/Linux.
CIFS/SMBSystem plików Windows (Samba).
SSHFSMontaż katalogów przez SSH.

4. Specjalne systemy plików

Filesystem Opis
tmpfsSystem plików w RAM.
procfsSystem plików `/proc`, przechowujący informacje o procesach.
sysfsSystem `/sys` używany do zarządzania sprzętem.

Formatowanie to proces przygotowania partycji do przechowywania danych. Polega na stworzeniu systemu plików, który informuje komputer, jak ma zapisywać i odczytywać pliki na tej partycji.

Można to porównać do przygotowania czystego zeszytu – najpierw rysujesz linie, kolumny czy kratkę, aby potem móc w nim pisać czy rysować.

Przykład formatowania partycji w systemie Linux z użyciem systemu plików ext4:

sudo mkfs.ext4 /dev/vda1

Tutaj:

4. Po co formatować dysk?

Formatowanie jest bardzo ważne, ponieważ:

Formatowanie usuwa wszystkie dane zapisane na partycji, dlatego przed rozpoczęciem należy upewnić się, że nie stracisz ważnych informacji!


### Zakładając, że Twój dysk jest spartycjonowany tak jak w powyższym przykładzie, to formatowanie Twoich partycji powinno wyglądać mniej więcej tak:
mkfs.vfat /dev/sda1       # Załóż FAT32 na pierwszej partycji.
mkswap    /dev/sda2       # Załóż SWAP na drugiej partycji.
mkfs.ext4 /dev/sda3       # Załóż ext4 na trzeciej partycji.
mkfs.ext4 /dev/sda4       # Załóż ext4 na czwartej partycji.

Po utworzeniu i sformatowaniu partycji możemy w końcu "zamontować" partycje w systemie. I tutaj zaczyna się w końcu poważniejsza zabawa z Linuksem, gdzie można docenić zalety i elastyczność tego systemu.
Pamiętacie, mam nadzieję drzewo systemowe:

    /
    |-/boot
    |-/dev
    |-/etc
    |-/home
    |-/lib
    |-/mnt
    |-/opt
    |-/proc
    |-/root
    |-/sys
    |-/tmp
    |-/usr
    |-/var
Tak (miej więcej) wygląda drzewo systemu, który działa w Twojej maszynie wirtualnej lub masz uruchomiony bezpośrednio na laptopie.
To co teraz musisz zrobić, to "posadzenie" nowego systemu w obecnym. Jak?
Masz przygotowane na swoim dysku 4 partycje. Masz być Wiedźminem więc, dzięki swojej mocy przewidywania, wiesz, że główną partycją systemową ma być /dev/sda3.
Zamontuj więc partycję /dev/sda3 tam, gdzie to się zwyczajowo w Linuksie robi. Teraz poznasz zaklęcie mount. To jedno z ważniejszych zaklęć jakie musisz poznać i zrozumieć. Tym zaklęciem montuje się nie tylko zasoby lokalne ale również sieciowe systemy plików. Przykłady:

sudo mount -t ntfs-3g /dev/sdb1 /mnt/windows           # Montowanie dysku Windows
sudo mount -t exfat /dev/sdb1 /mnt/usb                 # Montowanie dysku exfat - zazwyczaj dyski USB o dużej pojemności
sudo mount -t vfat /dev/sdb1 /mnt/usb                  # Montowanie dysku vfat - zazwyczaj pendrajwy
sudo mount -t ext4 /dev/sdb1 /mnt/dysk                 # Montowanie dysku ext4 - zazwyczaj dyski Linuksowe
sudo mount -t cifs -o username=user,password=pass,uid=1000,gid=1000,vers=3.0 //192.168.1.150/shared /mnt/smb  # Montowanie zasobu sieciowego Windows share
sudo sshfs user@192.168.1.200:/home/user/remote /mnt/sshfs                                                    # Montowanie zasobu sieciowego przez protokół SSH
sudo mount -t afp afp://user:password@192.168.1.50/share /mnt/afp                                             # Montowanie zasobu sieciowego Apple
sudo mount -t nfs -o soft,timeo=10,retrans=2 192.168.1.100:/nfs/share /mnt/nfs                                # Montowanie zasobu sieciowego NFS
sudo mount -t davfs https://example.com/webdav /mnt/webdav                                                    # Montowanie zasobu sieciowego https
W każdym z tych przypadków, jako użytkownik, nie będzie dla Ciebie różnicy czy pracujesz na dysku lokalnym czy sieciowym (pomijając opóźnienia sieci). Przepływem danych zajmuje się jądro Linuksa i protokoły obsługujące punkty montowania.
Zamontuj więc partycję /dev/sda3 w punkcie montowania /mnt:
mkdir /mnt/gentoo                          # Utwórz folder w którym zamontujesz partycję root (/) nowego systemu.
sudo mount /dev/sda3 /mnt/gentoo           # Nie musisz precyzować filesystemu. Zaklęcie mount znajdzie go samo.
Po rzuceniu takiego zaklęcia Twoje drzewo wygląda teraz tak:
    /
    |-/boot
    |-/dev
    |-/etc
    |-/home
    |-/lib
    |-/mnt
    |   |-gentoo (/dev/sda3)    # zawartość katalogu /mnt/gentoos jest teraz na partycji /dev/sda3 
    |-/opt
    |-/proc
    |-/root
    |-/sys
    |-/tmp
    |-/usr
    |-/var
Od tej pory wszystko co zapiszesz w katalogu /mnt/gentoo zostanie zapisane pa partycji /dev/sda3.
Masz więc zamontowaną jedną z czterech utworzonych wcześniej partycji. Przygotowaliśmy też partycje pod katalogi /home i /boot ale nowego systemu, nie tego w którym właśnie działasz. Żeby znalazły się tam gdzie trzeba musisz utworzyć odpowiednie punkty monowania (czyli katalogi):
mkdir /mnt/gentoo/boot    # tworzy katalog boot zapisany na partycji /dev/sda3 
mkdir /mnt/gentoo/home    # tworzy katalog home zapisany na partycji /dev/sda3 
Teraz zamontuj pozostałe dwie partycje w odpowiednich miejscach:
sudo mount /dev/sda1 /mnt/gentoo/boot      # Partycja na pliki startowe i bootloader.
sudo mount /dev/sda4 /mnt/gentoo/home      # Partycja na katalogi domowe użytkowników.
A teraz twoje drzewo wygląda mniej więcej tak:
    /
    |-/boot
    |-/dev
    |-/etc
    |-/home
    |-/lib
    |-/mnt
    |   |-gentoo(/dev/sda3)      # partycja root (/) nowego systemu
    |        |-/boot (/dev/sda1) # partycja /boot nowego systemu 
    |        |-/home (/dev/sda4) # partycja /home nowego systemu 
    |-/opt
    |-/proc
    |-/root
    |-/sys
    |-/tmp
    |-/usr
    |-/var
Została nam jeszcze jedna utworzona partycja - SWAP. To jest partycja zwiększająca pamięć RAM. W dzisiejszych czasach partycja SWAP nie jest już tak bardzo istotna, chociaż przy kompilacji dużych pakietów (LibreOffice lub Firefox) dobrze jest mieć dodatkową pamięć. Ta partycja jest "niemontowalna" tak jak inne. Ją się po prostu włącza:
swapon /dev/sda2
Możesz sprawdzić czy wszystko masz uczynione poprawnie:
df -h    # Wyświetla punkty montowania i dostępne miejsce.
free     # Wyświetla ilość wolnej pamięci.

W tym momencie jesteśmy przygotowani do pobrania i rozpakowania podstawowego systemu Genoto. Gentoo instaluje się z tzw. Stage'ów.

Stage 1

Najbardziej zaawansowany etap instalacji. Użytkownik kompiluje cały system od podstaw, włącznie z kompilacją kompilatora i bibliotekami systemowymi. Daje pełną kontrolę nad optymalizacją, ale też jest Najbardziej czasochłonny.

Stage 2

Podstawowy system jest już częściowo skompilowany, ale użytkownik musi skompilować resztę systemu. Obejmuje kompilację narzędzi systemowych i podstawowych bibliotek.

Stage 3

Najczęściej używany etap instalacji. Podstawowy system jest w pełni skompilowany i gotowy do użycia. Użytkownik rozpakowuje, a następnie kompiluje dodatkowe pakiety i dostosowuje system do swoich potrzeb. To na tej księdze czarów się skupimy.

Stage 4

Nieoficjalny etap, który nie jest wspierany przez Gentoo. Jest to gotowy obraz systemu z preinstalowanymi pakietami, co przyspiesza instalację. Często tworzony przez użytkowników lub społeczność.

Jeśli działacie w VM to wasz system powinien być połączony z Internetem.
Jeśli odpaliliście komputer z Live Gentoo ze środowiskiem graficznym, to macie tam dostępne narzędzia do łączenia się z siecią.
Jeśli natomiast używacie Arch Linux ISO w trybie tekstowym, to szybki przepis na miksturę łączenia z netem:
ip link   # Wyświetla interfejsy sieciowe. Znajdź interfejs WiFi, najprawdopodobniej będzie to wlan0.
wpa_passphrase nazwa_sieci_wifi tajne_hasło_wifi > wpa_cupplicant.conf # Generuje plik konfiguracyjny dla wpa_supplicant a następnie wynik polecenia przekierowuje do pliku wpa_supplicant.conf
wpa_supplicant -i wlan0 -c ./wpa_supplicant.conf -B # wpa_supplicant to narzędzie do łączenia z sieciami WiFi. Parametr -i wskazuje interfejs sieciowy przez który ma się łączyć, parametr -c wskazuje plik konfiguracyjny a parametr -B każe mu działać w tle jako daemon.
dhclient wlan0 # Pobiera adres IP z serwera DHCP.
passwd # Ustaw tyczasowe hasło roota do dystrybucli Live, będzie potrzebne przy logowaniu się przez SSH.
pacman -Sy # Zaktualizuj bazę PACMANA.
pacman -S wget # Zainstaluj zaklęcie "wget"
wget https://distfiles.gentoo.org/releases/amd64/autobuilds/20250209T170331Z/stage3-amd64-openrc-20250209T170331Z.tar.xz # Pobierz stage3
cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf # Skopiuj informację o serwerach DNS do nowego systemu
pwd # Sprawdź w jakim katalogu jesteś i zapamiętaj, żeby potem podać poprawną ścieżkę do stage3

Uwaga!
Ważny magiczny gest - naciśnięcie CTRL+C przerywa działanie programu

W trybie tekstowym nie ma krzyżyka "zamknij aplikację". Takim "krzyżykiem" jest CTRL+C.

Jeśli instalujesz Gentoo z maszyny wirtualnej, zainstaluj sobie na hoście (na gospodarzu) jakiegoś klienta SSH. Bardzo dobrym wyborem jest PuTTY. Dzięki temu nabędziesz zdolności kopiowania zaklęć co znacząco ułatwi Ci pracę. Jeśli masz skonfiurowany QEMU zgodnie z momi wytycznymi, to masz przekierowany port 22 VM na 2222 localhosta, czyli możesz się połączyć klientem SSH z VM.
Pobierz Putty, zainstaluj, uruchom i połącz się z adresem 127.0.0.1 na porcie 2222:
Zrzut z programu PuTTY
Zaloguj się jako root ustawionym wcześniej hasłem.
Jeśli logujesz się z jakiegoś innego terminala użyj zaklęcia:
ssh -p 2222 root@127.0.0.1

W końcu mamy wszystko żeby zacząć instalację:))

Instalacja

cd /mnt     # Przejdź do katalogu instalacji Gentoo.
tar xpvf /scieżka/do/stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner   # Rozpakuj stage3 z zapamiętanej lokalizacji
  • Montowanie zmiennych systemowych i chrootowanie do nowego systemu:
    mount -t proc /proc /mnt/gentoo/proc
    mount --rbind /sys /mnt/gentoo/sys
    mount --make-rslave /mnt/gentoo/sys
    mount --rbind /dev /mnt/gentoo/dev
    mount --make-rslave /mnt/gentoo/dev
    chroot /mnt/gentoo /bin/bash
    source /etc/profile
    export PS1="(chroot) $PS1"
    
  • Co to się teraz stanęło?
    Najpierw montujesz w nowe miejsca katalogi działającego systemu, w których są zapisane dane o urządzeniach i działających procesach, po to, aby nowy system widział wszystkie urządzenia komputera. Potem zaklęcie "chroot" przenosi root (/), czyli główną partycję systemową, we wskazane miejsce, czyli w tym przypadku do katalogu /mnt/gentoo. Od tego momentu drzewo nadrzędne przestaje być ważne a całość działa tak, jakby system był zainstalowany na partycji /dev/sda3.
    Pierwszą rzeczą jaką musisz zrobić jest synchronizacja drzewa portage, czyli managera pakietów Gentoo, zmiennych systemowych, konfiguracja stref czasowych i lokalizacji systemu i innych podstawowych rzeczy:
    emerge-webrsync  # Zainstaluj drzewo portage
    emerge --sync   # Zsynchronizuj portage
    mkdir --parents /etc/portage/repos.conf   # Utwórz potrzebne katalogi
    cp /usr/share/portage/config/repos.conf /etc/portage/repos.conf/gentoo.conf   # Skopiuj konfigurację repozytorium dostarczoną przez menedżer pakietów
    ln -sf /usr/share/zoneinfo/Europe/Warsaw /etc/localtime   # Ustaw strefę czasową
    echo "Europe/Warsaw" > /etc/timezone   # Ustaw strefę czasową
    emerge --config sys-libs/timezone-data   # Zainstaluj obsługę stref
    nano /etc/conf.d/consolefont   # Ustaw czcionkę
    
    Wyedytuj plik /etc/locale.gen i ustaw lokalizacje (translacje systemu) jakie chcesz żeby Twój system obsługiwał:
    nano /etc/locale.gen   # po zakończeniu edycji naciśnij CTRL+X aby zapisać.
    en_US ISO-8859-1
    en_US.UTF-8 UTF-8
    pl_PL ISO-8859-2
    pl_PL.UTF-8 UTF-8
    Ustaw lokalizację i nazwę systemu:
    eselect locale list  # Zobacz jakie lokalizacje obługuje Twój system
    eselect locale set 9  # Ustaw lokalizację pl
    nano /etc/hostname   # Ustaw nazwę swojego komputera
    nano /etc/conf.d/hostname   # Ustaw nazwę swojego komputera
    Skonfiguruj fstab
    Plik fstab to miejsce, w którym trzymane są informacje o tym, jak mają być zamontowane w systemie poszczególne partycje. Przykładowy plik fstab odpowiadający wcześniej partycjonowanemu dyskowi:
    nano /etc/fstab   # po zakończeniu edycji naciśnij CTRL+X aby zapisać.
    /dev/sda1   /boot        ext4    defaults             0 2
    /dev/sda2   none         swap    sw                   0 0
    /dev/sda3   /            ext4    noatime              0 1
    /dev/sda4   /home        ext4    noatime              0 0
    Co dokładnie jest w tym pliku?
    W pliku podajemy kolejno:
    #urządzenie #punkt_montowania #opcje,montowania #opcje sprawdzania filesystemu przy bootowaniu.
    Jeśli rzucisz zaklęcie "blkid" w odpowiedzi otrzymasz identyfikatory UUID partycji w Twoim systemie:
    blkid
    /dev/sr0: BLOCK_SIZE="2048" UUID="2025-01-01-08-45-10-00" LABEL="ARCH_202501" TYPE="iso9660" PTUUID="d736165e" PTTYPE="dos"
    /dev/loop0: BLOCK_SIZE="1048576" TYPE="squashfs"
    /dev/sda4: UUID="30c8dd64-4b36-451b-8ae0-ea6f8a04ef89" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="b1558afd-dde2-4c40-9eb5-f47f03783077"
    /dev/sda2: UUID="052bcabe-5398-4e8d-8e0c-45f6eb7c50bc" TYPE="swap" PARTUUID="5cd0cf02-343a-4bbc-8736-7638dd50d366"
    /dev/sda3: UUID="6d9c3051-3f22-41e4-8d16-29158a10c63b" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="8891623c-8bf6-4c3c-82b6-4b3b73de51d1"
    /dev/sda1: UUID="8ACA-C16F" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="6fc7a363-658c-4a02-86c6-7963ca73abf6"
    Możesz wykorzystać je do utworzenia fstab, co jest lepszym rozpakowaniem niż stosowanie nazw urządzeń, ponieważ urządzenia nie zawsze są "budzone"w tej samej kolejności, więc np. dysk sdb nie zawsze musi byc dyskiem sdb.
    W moim przypadku plik z wykorzystaniem UUID będzie wyglądał tak:
    nano /etc/fstab   # po zakończeniu edycji naciśnij CTRL+X aby zapisać.
    UUID=8ACA-C16F                              /boot        ext4    defaults             0 2
    UUID=052bcabe-5398-4e8d-8e0c-45f6eb7c50bc   none         swap    sw                   0 0
    UUID=6d9c3051-3f22-41e4-8d16-29158a10c63b   /            ext4    noatime              0 1
    UUID=30c8dd64-4b36-451b-8ae0-ea6f8a04ef89   /home        ext4    noatime              0 0
    Ustaw hasło dla root:
    nano /etc/fstab   # Ustaw solidne hasło dla konta root
    Dodaj użytkownika:
    useradd -m -G wheel,users,audio,video,floppy,disk,cdrom,cdrw,usb -s /bin/bash tomek  # Dodaj użytkownika
    Wyjaśnienie:
    -m: utwórz katalog domowy
    -G: przypisz do grup
    -s: przydziel powłokę shell
    passwd tomek  # Utwórz Tomkowi hasło

    Plik /etc/portage/make.conf to najważniejszy plik w Gentoo!

    To w tym pliku ustawia się rodzaj procesora, flagi kompilacji, poziom czystości kodu, flagi use i ogólne zachowanie systemu. Poświęć czas na przeczytanie o make.conf bo od tego jak go ustawisz będzie zależało jak będzie działał Twój system i czy w ogóle używanie Gentoo będzie miało sens, bo jeśli nie zoptymalizujesz kompilacji do swojej maszyny to cała zabawa traci sens. Przykładowy plik make.conf dla mojej konfiguracji sprzętowej:

    🛠️ Konfiguracja make.conf dla Intel i7-1185G7

    📌 Optymalne ustawienia dla Gentoo

    # ===================================================================
    # 🛠️ Podstawowe ustawienia
    # ===================================================================
    COMMON_FLAGS="-march=tigerlake -O2 -pipe -fomit-frame-pointer"
    CFLAGS="${COMMON_FLAGS}"
    CXXFLAGS="${COMMON_FLAGS}"
    FCFLAGS="${COMMON_FLAGS}"
    FFLAGS="${COMMON_FLAGS}"
    
    # ===================================================================
    # ⚡ Optymalizacja kompilacji
    # ===================================================================
    MAKEOPTS="-j9"        # Liczba wątków kompilacji (ilość rdzeni + 1)
    EMERGE_DEFAULT_OPTS="--jobs=8 --load-average=6.0"  # Dostosowanie do wydajności
    
    # ===================================================================
    # 🚀 Flagi USE
    # ===================================================================
    USE="X wayland vulkan opengl sse sse2 sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512 \
         mmx mmxext fma3 f16c aes alsa pulseaudio udev networkmanager pipewire"
    
    # ===================================================================
    # 🌍 Lokalizacja systemu
    # ===================================================================
    LINGUAS="pl en"
    LC_MESSAGES="C"
    LANG="pl_PL.UTF-8"
    LC_ALL="pl_PL.UTF-8"
    L10N="pl en"
    
    # ===================================================================
    # 💾 System plików pakietów binarnych
    # ===================================================================
    FEATURES="buildpkg parallel-fetch parallel-install"
    
    # ===================================================================
    # 🏗️ Profile systemowy i obsługiwane architektury
    # ===================================================================
    CHOST="x86_64-pc-linux-gnu"
    ACCEPT_KEYWORDS="~amd64"  # Używanie wersji testowej Gentoo (opcjonalnie)
    
    # ===================================================================
    # 🎮 Konfiguracja kart graficznych (GPU)
    # ===================================================================
    VIDEO_CARDS="intel iris i965"
    
    # ===================================================================
    # ⌨️ Konfiguracja urządzeń wejściowych (Input Devices)
    # ===================================================================
    INPUT_DEVICES="libinput synaptics evdev"
    
    # ===================================================================
    # 🌍 Lustrzane serwery dla Gentoo
    # ===================================================================
    GENTOO_MIRRORS="http://ftp.vectranet.pl/gentoo/ http://gentoo.prz.rzeszow.pl/"
    
    # ===================================================================
    # 📦 Obsługa binarnych pakietów (np. LibreOffice-bin)
    # ===================================================================
    BINPKG_COMPRESS="zstd"
    
    # ===================================================================
    # 🛠️ Flagi dla LLVM i Clang
    # ===================================================================
    LLVM_TARGETS="X86"
    CLANG_TARGETS="X86"
    
    # ===================================================================
    # 🔧 Konfiguracja binarnych sterowników dla sprzętu
    # ===================================================================
    ACCEPT_LICENSE="*"
        

    ⚙️ Dodatkowe opcje dla laptopa

    Jeśli korzystasz z **Gentoo na laptopie**, dodaj:

    USE="${USE} laptop battery acpi"

    oraz włącz **TLP dla oszczędzania energii**:

    sudo emerge -av tlp
    sudo rc-update add tlp default
        

    🚀 Gotowe!

    Ten make.conf jest zoptymalizowany dla procesora **Intel i7-1185G7**, **lokalizacji PL**, **kart graficznych** oraz **urządzeń wejściowych**.

    Zainstaluj podstawowe pakiety, które pozwolą Ci uruchomić nowy system. Jednak żeby to zrobić skonfiguruj plik make.conf i ustaw podstawowe flagi USE.
    emerge ufed gentoo-kernel-bin gentoo-sources
    Następnie rzuć zaklęcie, które zainstaluje podstawowe pakiety, które ułatwią Ci dalszą pracę:
    emerge -pv app-misc/mc dhcpcd egl-x11 firefox-bin grub linux-firmware mesa networkmanager net-tools pciutils sddm usbutils udev wpa_supplicant wireless-tools x11-wm/blackbox xorg-server xf86-input-libinput xf86-input-synaptics xf86-video-intel
    Powyższe zaklęcie zrobi coś, w czym Gentoo jest najlepsze ze wszystkich dystrybucji - wyliczny i zainstaluje wszystkie potrzebne zależności. Nie musisz szukać w Internecie potrzebnych instalek i dodatkowych bibliotek, emerge zrobi wszystko za Ciebie. Wyświetli też jakich flag USE musisz użyć w swoim make.conf jeśli jakichś brakuje. Pomocnym do tego jest programik "ufed", który już macie zainstalowany.
    Ale uważaja z flagami USE! To Ty decydujesz o jakie funkcjonalności chcesz wzbogacić swój system a jakie chcesz usunąć i może się zdarzyć że spowodujesz konflikt lub usuniesz coś co jest potrzebne do działania systemu lub kompilator wywali błąd w trakcie kompilacji. Natomiast zupełnie się tym nie przejmuj ani nie zniechęcaj - próbuj rozwiązać problem, zaczynaj od nowa. Na pewno nie zepsujesz komputera, ewentualnie system. Ale Po każdej następnej instalacji Twój system będzie tylko Twój i będzie co raz lepszy ;)
    Po zaklęciu "emerge" z opcją "-pv" pakiety, które są wypisane w poleceniu do zainstalowania są później podświetlone na liście zależności, możesz więc prześledzić czy domyślnie mają "włączoną" funkcjonalność na której Ci zależy lub może którąć chcesz wyłączyć. Użyj do tego ufed, zmień flagę, zapisz i ponownie uruchom "emerge -pv .......". Jeżeli uznasz, że juz nic nie musisz zmieniać usuń "-pv" z zaklęcia:
    emerge app-misc/mc dhcpcd egl-x11 firefox-bin grub linux-firmware mesa networkmanager net-tools pciutils sddm usbutils udev wpa_supplicant wireless-tools x11-wm/blackbox xorg-server xf86-input-libinput xf86-input-synaptics xf86-video-intel
    

    📦 Lista podstawowych aplikacji w Gentoo

    Opis najważniejszych pakietów z polecenia powyżej:

    📌 Pakiet 📝 Opis
    app-misc/mcMidnight Commander – menedżer plików w terminalu.
    dhcpcdKlient DHCP, automatycznie przydziela adres IP.
    egl-x11Biblioteki EGL dla obsługi OpenGL w X11.
    firefox-binBinarny Firefox, szybka instalacja przeglądarki.
    gentoo-kernel-binGotowy, skompilowany kernel Gentoo, szybka instalacja.
    gentoo-sourcesŹródła kernela Gentoo do własnej konfiguracji i kompilacji.
    grubBootloader do uruchamiania systemów operacyjnych.
    linux-firmwareZestaw sterowników dla sprzętu (Wi-Fi, GPU, CPU, Bluetooth).
    mesaImplementacja OpenGL dla sprzętu graficznego.
    networkmanagerZaawansowany menedżer sieci, automatyzuje połączenia.
    net-toolsKlasyczne narzędzia sieciowe (ifconfig, netstat, route).
    pciutilsPakiet narzędzi do obsługi urządzeń PCI (`lspci`).
    sddmMenadżer logowania
    usbutilsZestaw narzędzi do obsługi urządzeń USB (`lsusb`).
    udevDynamiczna obsługa urządzeń w systemie Linux.
    wpa_supplicantNarzędzie do obsługi połączeń Wi-Fi (WPA/WPA2/Enterprise).
    wireless-toolsNarzędzia do konfiguracji połączeń Wi-Fi w terminalu.
    x11-wm/blackboxLekki menedżer okien dla X11.
    xorg-serverSerwer X11, umożliwia obsługę interfejsu graficznego.
    xf86-input-libinputSterownik wejścia dla myszy, klawiatur i touchpadów.
    xf86-input-synapticsAlternatywny sterownik dla touchpadów Synaptics.
    xf86-video-intelSterownik dla kart graficznych Intel w X11.

    📦 Instalacja pakietów

    🛠️ Wybór Kernela dla Gentoo Linux

    Wybierz odpowiedni kernel dla swojego systemu w zależności od potrzeb:

    🔹 Kernel ⚡ Zalety 🎯 Dla kogo? 📦 Instalacja
    gentoo-kernel-bin (Binarny) ✅ Szybka instalacja
    ✅ Automatyczne aktualizacje
    ✅ Gotowy do użycia
    🔹 Dla użytkowników, którzy chcą działającego kernela bez konfiguracji sudo emerge -av gentoo-kernel-bin
    gentoo-sources (Źródłowy) ✅ Pełna kontrola
    ✅ Możliwość własnej optymalizacji
    ✅ Idealny dla zaawansowanych
    🔹 Dla użytkowników, którzy chcą dostosować kernel do swoich potrzeb sudo emerge -av gentoo-sources
    ck-sources (Wydajność) ✅ Optymalizowany pod responsywność
    ✅ Świetny dla desktopów
    ✅ Patche poprawiające szybkość
    🔹 Dla graczy i użytkowników desktopowych sudo emerge -av ck-sources
    zen-sources (Gaming/RT) ✅ Kernel zoptymalizowany pod niskie opóźnienia
    ✅ Idealny do streamingu i grania
    ✅ Patche BFQ, MuQSS
    🔹 Dla streamerów, graczy i twórców audio sudo emerge -av zen-sources

    🚀 Podsumowanie

    Najlepszy wybór zależy od Twoich potrzeb:

    Zadanie domowe

    Utwórz minimalny system Gentoo ze Stage3. Skonfiguruj sieć i upewnij się, że system poprawnie się uruchamia. Przygotuj raport z postępów zawierający:

    Przydatne linki