Jak jsem psal, po zapojení počítače se spustí UEFI z (EEP)ROM, zinicializuje nějaká základní zařízení, dá se přepnout do setupu, kde se nastaví RGB diskotéka, přetaktovaní RAM a tek podobně, no a taky se
vybere disk, ze kterého se bude bootovat a na něm se najde EFI partišna FAT32, kde se vybere, který se souborů se použije jako !boot sektor! pro zavedené systému (nebo se prostě vezmou zapamatované hodnoty z CMOSky, když nezmáčkneš včas tlačítko)
Ten vybraný soubor se spustí a něco uděla (zavede nějaký systém, otestuje paměť, zobrazí menu pro výběr systému ... fantasii se meze nekladou)
Já používám Gentoo, kde si člověk může udělat co chce, takže jsem si na to napsal tahák. Základem je, že z USB nabootuju instalačku, z ní mi naběhne linux, připojím se k síti a tak podobně a pak se podívám, jaké jsou v počítači disky, zformátuju je na GPT, rozdělím na nějaké partišny, na těch udělám nějaké filesystémy a nacpu na ně nějaká data. (Prostě začínám s nově sestaveným počítačem, kde není nic, dám tam co chci, pak to restartuju a vyndam USB a ono to naběhne a dál už jedu jen na tom počítači s jeho vlastním systémem ) (Jo a teď prostě kopíruju relevantní části postupu, takže to bude jen tak, jak jsem to zrovna dělal, uprav si jak chceš, dle svžch potřeb použij, přeskoč či dělej libovolně jinak)
1 UEFI
UEFI BIOS
DOCP - Profile #1 (RAM=3600 MHz)
CSM
Compatibility Support Module - enabled, UEFI only, no network
BOOT
Fast - disabled
a pár podobných
2 Boot
Boot z Gentoo USB
passwd
/etc/init.d/sshd start
/etc/init.d/ntp-client start
3 Vzdálená instalace - příprava disku a stažení základního systému
3.1 Partišny
Login z venku a podle https://wiki.gentoo.org/wiki/Handbook:AMD64
GPT
určitě, budu používat UEFI pro spoustu systémů
/dev/nvme0n1
tady bude nový systém, (ADATA /dev/sda je instalační USB flash)
Parted je nějaký komplikovaný, fakt nechci počítat sektory ručně. Použiju raději fdisk (což jsem asi měl udělat hned)
livecd ~ # fdisk /dev/nvme0n1
Welcome to fdisk (util-linux 2.33.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): g
Created a new GPT disklabel (GUID: 37A33C18-76C9-8C46-9708-385EE791F953).
Command (m for help): n
Partition number (1-128, default 1):
First sector (2048-1953525134, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-1953525134, default 1953525134): +100M
Created a new partition 1 of type 'Linux filesystem' and of size 100 MiB.
Command (m for help): t
Selected partition 1
Partition type (type L to list all types): 1
Changed type of partition 'Linux filesystem' to 'EFI System'.
Command (m for help): n
Partition number (2-128, default 2):
First sector (206848-1953525134, default 206848):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (206848-1953525134, default 1953525134): +50G
Created a new partition 2 of type 'Linux filesystem' and of size 50 GiB.
Command (m for help): t
Partition number (1,2, default 2):
Partition type (type L to list all types): 19
Changed type of partition 'Linux filesystem' to 'Linux swap'.
Command (m for help): n
Partition number (3-128, default 3):
First sector (105064448-1953525134, default 105064448):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (105064448-1953525134, default 1953525134): +50G
Created a new partition 3 of type 'Linux filesystem' and of size 50 GiB.
Command (m for help): n
Partition number (4-128, default 4):
First sector (209922048-1953525134, default 209922048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (209922048-1953525134, default 1953525134): +50G
Created a new partition 4 of type 'Linux filesystem' and of size 50 GiB.
Command (m for help): p
Disk /dev/nvme0n1: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Viper M.2 VP4100
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: 37A33C18-76C9-8C46-9708-385EE791F953
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 206847 204800 100M EFI System
/dev/nvme0n1p2 206848 105064447 104857600 50G Linux swap
/dev/nvme0n1p3 105064448 209922047 104857600 50G Linux filesystem
/dev/nvme0n1p4 209922048 314779647 104857600 50G Linux filesystem
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Takže mám potřebné partišny, teď je ješte pojmenuju v partedu z CLI (NVM-SYSTEM slouží pro obecnou správu disku, NVM-SYSBCK je jeho záložní kopie - takže bootem z jednoho mám druhý plně k dispozici pro zkopírování na nově vytvářenou instalaci, bez všech pseudosystémů a otevřených souborů)
livecd ~ # parted /dev/nvme0n1 name 1 EFIboot
livecd ~ # parted /dev/nvme0n1 name 2 SWAP
livecd ~ # parted /dev/nvme0n1 name 3 NVM-SYSTEM
livecd ~ # parted /dev/nvme0n1 name 4 NVM-SYSBCK
livecd ~ # parted /dev/nvme0n1 print
Model: Unknown (unknown)
Disk /dev/nvme0n1: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 106MB 105MB EFIboot boot, esp
2 106MB 53.8GB 53.7GB SWAP
3 53.8GB 107GB 53.7GB NVM-SYSTEM
4 107GB 161GB 53.7GB NVM-SYSBCK
3.2 Formátování
Otázka na tělo, které fs potřebujeme? U nekritických bych volil ext4, ale je tam problém, když vypadne napájení a data jsou ještě v cache (a ext4 je tam drží "dlouho" - navíc rozbíjí ideu jurnálu a ordered z ext3, kdy soubor byl buď ve staré nebo nové verzi, ale ne "něco mezi tím" = mv fname.new fname už není atomické, když v dohledné době vypadne napájení.) Na druhou stranu je ext4 rychlejší, míň fragmentuje a míň "vyklepává na disk", protože víc cachuje. Na serveru (a hlavně na boxech) bych volil ext3 a ordered, na domácím počítači asi risknu ext4.
livecd ~ # mkfs.fat -F 32 /dev/nvme0n1p1
mkfs.fat 4.1 (2017-01-24)
livecd ~ # mkswap /dev/nvme0n1p2
Setting up swapspace version 1, size = 50 GiB (53687087104 bytes)
no label, UUID=c3e1c088-ee23-450f-b897-2886a370cad2
livecd ~ # mkfs.ext4 -L NVM-SYSTEM /dev/nvme0n1p3
mke2fs 1.45.5 (07-Jan-2020)
Discarding device blocks: done
Creating filesystem with 13107200 4k blocks and 3276800 inodes
Filesystem UUID: c82837c8-4642-43ea-b148-072f49ec39fe
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
Allocating group tables: done
Writing inode tables: done
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done
livecd ~ # mkfs.ext4 -L NVM-SYSBCK /dev/nvme0n1p4
mke2fs 1.45.5 (07-Jan-2020)
Discarding device blocks: done
Creating filesystem with 13107200 4k blocks and 3276800 inodes
Filesystem UUID: edb20f6d-0fdb-4733-b52b-561a961bfefe
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
Allocating group tables: done
Writing inode tables: done
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done
livecd ~ # swapon /dev/nvme0n1p2
livecd ~ # free -h
total used free shared buff/cache available
Mem: 31Gi 128Mi 30Gi 62Mi 290Mi 30Gi
Swap: 49Gi 0B 49Gi