Arch Linux - De Installatie

Door beta990 op woensdag 30 januari 2013 17:30 - Reacties (7)
Categorie: Arch Linux, Views: 2.455

Inleiding
Naar aanleiding van mijn vorige blogpost waar ik Arch Linux als 'de beste' Linux-distributie in jaren beschrijf, is het nu zaak om 'de rest' ook met deze Linux-distributie kennis te laten maken. In deze blogpost ga ik dan ook veel verder in op Arch Linux, welke voordelen en nadelen deze Linux-distributie heeft en bespreek ik mijn eigen ervaringen die ik in de loop der jaren met Arch Linux heb opgedaan.

Arch Linux
Allereerst wil ik de doelgroep van Arch Linux beschrijven: Linux-fanaten die de volledige controle willen hebben over het OS. Ze willen bijvoorbeeld zelf bepalen welke pakketten dienen worden geïnstalleerd en de ruimte hebben om onderdelen (volledig) naar hun hand te zetten, om zo het maximale uit het systeem te halen.
Als je dan ook begint met Arch Linux zul je al snel verbaasd zijn over de vele mogelijkheden die er worden aangeboden om dit voor elkaar te krijgen. Ik zal dan ook niet alle mogelijkheden beschrijven, enkel alleen de meest gebruikte. In de (uitstekende) Arch Linux Wiki's is nog veel meer informatie te vinden die hier niet is beschreven.

Houd er rekening mee dat je altijd zult moeten blijven 'tweaken', ook al heb je voor en na de installatie alles correct opgevolgd wat beschreven staat in de Wiki's. Het gebeurt bijvoorbeeld vaak dat confg-bestanden van plaats veranderen. Zo veranderde recent het config-bestand van het pakket cpupower van locatie /etc/conf.d/cpupower naar /etc/default/cpupower. Eerdere aanpassingen in het 'oude' config-bestand zul je dus zelf moeten overnemen naar de nieuwe locatie. Gelukkig worden 'oude' configuratie-bestanden niet verwijderd, in plaats daarvan wordt bij 'oude' config-bestanden de extensie .pacsave erachter geplaatst. Zo kun je aanpassingen toch (eenvoudig) naar het nieuwe config-bestand schrijven.
Mocht er toch een nieuw configuratie-bestand nodig zijn voor een pakket op dezelfde locatie, dan krijgt deze dezelfde naam, maar wordt er de extensie .pacnew aan toegevoegd. Op die manier is dus eenvoudig te zien wanneer je het configuratie-bestand zult moeten herzien.

Mocht je dus 'geen fan' zijn van continue aanpassingen doorvoeren of heb je een systeem, bijvoorbeeld een NAS/Server, die altijd 'braaf' zijn werk moet doen, dan zou Arch Linux weleens voor jouw toepassing misschien niet geschikt kunnen zijn. Desondanks zou ik toch willen vragen om Arch Linux eens een kans te geven op een (oude) PC of binnen een VM. :)

Wat heb ik allemaal nodig
Als eerste is het natuurlijk zaak om een werkend systeem te vinden of een VM beschikbaar te maken voor Arch Linux met een bedrade (aanbevolen) of draadloze internet-verbinding.
Mijn eigen systeem waarop Arch Linux is geïnstalleerd bestaat uit een Intel Core i5-2400 in combinatie met een ASUS P8H67-M Pro B3 moederbord en 8GB DDR3 Kingston werkgeheugen. Een Samsung 830 120GB SSD dient als opslag. Een EVGA NVIDIA GeForce 450 GTS videokaart stuurt vervolgens beelden via DVI door naar mijn Samsung 2253LW monitor.

Zorg ook voor een backup! Je raakt met de onderstaande stappen namelijk je data kwijt! Daar ben ik overigens niet verantwoordelijk voor. Net als ook schade aan je systeem of stress die eventueel op zou kunnen treden. ;)

Arch Linux downloaden
Laten we maar eerst beginnen met het ophalen van de Arch Linux ISO, die op deze download-pagina is te vinden.

Zelf raad ik aan om gebruik te maken van een clean FAT32-geformatteerde USB-stick. Het zou voldoende moeten zijn om de ISO met 7-zip uit te pakken naar de USB-stick. Wil je echter gebruik maken van UEFI, volg dan deze stappen van de Arch Linux Wiki. Je kunt dit overigens ook prima in Windows doen. Het enige wat je moet doen is de label van de USB-stick veranderen naar de Arch Linux versie, die je kunt vinden in het bestand loader/entries/archiso-x86_64.conf die op de USB-stick is geschreven (bijvoorbeeld ARCH_201301). Mocht je trouwens tegen problemen bij het booten van een ASUS moederbord in UEFI-mode, volg dan de extra beschreven rEFInd stappen.

Als het eenmaal gelukt is om met de gemaakte USB-stick of CD-rom te booten, is het zaak om als eerste de hardeschijf in te richten. Ik raad verder aan de volgende twee (1 - 2) Wiki-pagina's naast deze blogpost te openen. Kijk hier regelmatig op terug, zodat je geen enkele stap overslaat of regelmatig de gekozen stappen kan controleren.

Hardeschijf indelen
Arch Linux beschikt niet (meer) over een GUI om je te helpen bij de installatie. In plaats daarvan zul je de commando's nu zelf moeten intypen. Geen nood! Het werkt allemaal veel eenvoudiger dan een Wizard! Commando's die ik intype beginnen met een #. Die hoef je natuurlijk zelf niet te typen, die staat er immers al. :P

Als eerste gaan we controleren of er een verbinding is gemaakt met het internet:
#ping -c 3 tweakers.net
Geen verbinding? Volg de beschreven stappen in de Beginners Guide. Hierin staat ook beschreven hoe er draadloos een verbinding dient worden gemaakt.

Controleer voor UEFI ook in een keer of je wel in de UEFI-mode zit:
#modprobe efivars
#ls -1 /sys/firmware/efi/vars/
Vervolgens gaan we verder naar het kopje Prepare the storage drive uit de Beginners Guide. Omdat ik zelf gebruik maak van UEFI deel ik mijn hardeschijf in met het programma gdisk. Mocht je geen gebruik maken van UEFI, sla UEFI stappen over! Deze werken immers alleen op een UEFI-moederbord! Voor MBR gebruik het programma [url=http://tldp.org/HOWTO/Partition/fdisk_partitioning.htmlfdisk[/url]. Omdat er meerdere schijven in mijn systeem aanwezig zijn, voer ik eerst het commando #fdisk -l uit. Ik krijg nu een mooi overzicht welke schijf ik moet kiezen, nm.: /dev/sda.

De volgende partities zal ik aanmaken d.m.v. gdisk:
Number Type Size
/dev/sda1 ef00 200MB
/dev/sda2 8300 Rest

Voor UEFI dient er een aparte partitie-type (ef00) worden gemaakt die zich helemaal op het begin moet bevinden. Zelf maak ik geen aparte partities meer aan, behalve voor de root (/). Je kunt kiezen deze root nog verder op te splitsen in bijvoorbeeld /home, /boot, etc. Zelf raad ik dit echter af. Je kunt de root ook kleiner maken als je wilt dual-booten met Windows. Een aparte partitie voor /boot (rond de 200MB) is bijvoorbeeld wel nodig als je wilt gaan werken met encryptie, maar dit wordt in deze tutorial niet toegelicht. Een swap-partitie maak ik tegenwoordig ook niet meer aan. Je kunt deze uiteraard wel zelf toevoegen of je kunt gebruik maken van een swap-file, die je ook zelf na de installatie kan toevoegen.

Goed, laten we verder gaan met het opdelen van de hardeschijf:
#gdisk /dev/sda
#o
Y
#n
Partitie-nummer: 1
First-sector: [enter]
Last-sector: +200M
Hex-code: ef00
[enter]
#n
Partitie-nummer: 2
First-sector: [enter]
Last-sector: [enter]
Hex-code: [enter]
#p
#w
Y

Nu de hardeschijf is opgedeeld in twee partities (/dev/sda1 en /dev/sda2), is het zaak om deze partities te voorzien van het juiste filesystem. Voor de EFI-partitie is een FAT32 filesystem aan te raden. Voor de root kan je zelf een keuze maken. Ik gebruik zelf ext4 omdat deze al een langere tijd bestaat en zich al als 'betrouwbaar' heeft bewezen:
#mkfs.vfat -F32 /dev/sda1
#mkfs.ext4 /dev/sda2

De partities zijn nu voorzien van het juiste filesystem. Ze dienen nu alleen nog op de correcte wijze gemount te worden op /mnt. Arch Linux zal namelijk deze locatie gebruiken voor de installatie:
#mount /dev/sda2 /mnt
#mkdir -p /mnt/boot/efi
#mount /dev/sda1 /mnt/boot/efi

Zoals hier te zien is maken we voor EFI weer een uitzondering. Mocht je de root in meerdere delen verdeeld hebben, mount deze dan ook hier! Bijvoorbeeld een /home, /var, /boot, etc. Zie de context onder het kopje Mount the partitions van de Beginner Guide.

De Arch Linux Installatie
Eindelijk.. we zijn zover! Voordat we beginnen aan de installatie, kiezen we als eerste een snelle en betrouwbare mirror uit, waar Arch Linux de nieuwste pakketten voor de installatie vandaan gaat halen:
#nano /etc/pacman.d/mirrorlist
Zet een # voor de twee bovenste Server = lijnen. Als het goed is zou Netherlands nu de standaard Server moeten zijn. Klik op CTRL+O [enter] en CTRL+X op het toetsenbord om de wijzigingen naar het config-file te schrijven.

Vul vervolgens het onderstaande commando in om Arch Linux te installeren naar de hardeschijf, druk in beide gevallen op de enter-toets bij de vraag welke pakket selecties:
# pacstrap -i /mnt base base-devel

Hoe snel de (basis)-installatie verloopt is afhankelijk van de internet-verbinding, als ook de snelheid van het systeem.
Als de installatie van de pakketten is afgerond, voeren we het volgende commando uit:
#genfstab -U -p /mnt | sed 's/rw,relatime,data=ordered/defaults,relatime/' >> /mnt/etc/fstab

Dit commando heeft de partitie-indeling geschreven naar het bestand /etc/fstab. Dit zal Arch Linux gebruiken tijdens het booten om de partities te mounten. Dit bestand moet wel nog even worden aangepast, maar daarover zo meteen meer! :P

Arch Linux configureren
'Chroot' vervolgens om Arch Linux te configureren:
# arch-chroot /mnt

Zoals gezegd kom ik nog even terug op het geschreven /etc/fstab bestand. Open deze weer in nano en maak deze 'zo schoon' mogelijk, als in het onderstaande voorbeeld:
#nano /etc/fstab
#cat /etc/fstab
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
# UUID=***
/dev/sda5 / ext4 defaults,noatime,discard 0 1

# UUID=*** LABEL=EFI
/dev/sda1 /boot/efi vfat noatime,errors=remount-ro 0 2

# tmpfs
tmpfs /tmp tmpfs nodev,nosuid,size=4G 0 0

De flag discard is nodig voor TRIM-commando bij SSD's. De /tmp directory mount ik in het geheugen, zo wordt het schrijven naar de SSD verminderd.

Stel vervolgens de locale instellingen die je wilt gebruiken voor het systeem door het # ervoor weg te halen:
#nano /etc/locale.gen

Zelf maak ik gebruik van de volgende twee 'locales':
en_US.UTF-8 UTF-8
nl_NL.UTF-8 UTF-8

Schrijf vervolgens met het volgende commando de locale die je als standaard wilt gebruiken naar de juiste locatie:
#locale-gen
#echo LANG=en_US.UTF-8 > /etc/locale.conf
#export LANG=en_US.UTF-8

Maak vervolgens het volgende bestand aan voor de Console-letterype:
#nano /etc/vconsole.conf
#cat /etc/vconsole.conf
KEYMAP=us
FONT=Lat2-Terminus16

Vervolgens is het de juiste tijd om.. jawel! De juiste tijd in te stellen:
#ln -s /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime

Zet vervolgens de 'systeem-clock' op UTC:
#hwclock --systohc --utc

Stel de computernaam in:
#echo computernaam > /etc/hostname

Om na de installatie Arch Linux met een internet-verbinding op te starten, voer het volgende commando uit:
#systemctl enable dhcpcd@eth0.service

Extra: Volg eventueel de extra beschreven stappen in de Beginners Guide mocht je kernel modules nodig hebben voor je (wireless-)netwerk-adapter!

Ramdisk, gebruikers toevoegen, root-wachtwoord
Als eerste moet er een Ramdisk worden gegenereerd, d.m.v. het volgende commando:
#mkinitcpio -p linux

Nu is het zaak de standaard gebruiker 'root' te beveiligen met een zelfgekozen (erg veilig :P ) wachtwoord:
#passwd

Vervolgens voegen we een eigen gebruiker toe. Deze gebruiker kan gebruikt worden in combinatie met het sudo* commando, die we later na de installatie zullen toevoegen:
#useradd -m -g users -G wheel -s /bin/bash gebruikersnaam
#passwd gebruikersnaam

Bootloader
Eindelijk, we zijn bij de allerlaatste stap aangekomen! Volg de GRUB-stappen van de Beginners Guide om deze bootloader te installeren in gebruik met een MBR-partitie indeling. Gebruik je echter UEFI, volg dan de onderstaande geschreven stappen.

Voor UEFI blijft het altijd even zoeken. Dit zijn de stappen die correct werken op mijn ASUS moederbord:
#mkdir -p /boot/efi/EFI/arch/
#cp -R /boot/vmlinuz-linux/boot/efi/EFI/arch/vmlinuz-arch.efi
#cp -R /boot/initramfs-linux* /boot/efi/EFI/arch/
#pacman -S refind-efi
#cp /usr/lib/refind/refind_x64.efi /boot/efi/EFI/refind/refind_x64.efi

#cp /usr/lib/refind/config/refind.conf /boot/efi/EFI/refind/refind.conf
#cp /usr/share/refind/icons /boot/efi/EFI/refind/icons

Zoek nu de PARTUUID op van de root-partitie (/dev/sda2), d.m.v. het volgende commando:
#blkid

En neem deze over in het volgende config-bestand. LET OP: Gebruik PARTUUID, niet UUID!:
#nano /boot/efi/EFI/arch/refind_linux.conf
#cat /boot/efi/EFI/arch/refind_linux.conf
"Boot with defaults" "root=PARTUUID=98c* rootfstype=ext4 ro add_efi_memmap systemd.unit=graphical.target"
"Boot to Terminal" "root=PARTUUID=98c* rootfstype=ext4 ro add_efi_memmap systemd.unit=multi-user.target"

Voeg volgens ArchLinux als eerste (UEFI-)boot-entry toe:
#efibootmgr -c -g -d /dev/sda -p 1 -w -L "rEFInd" -l '\EFI\refind\refind_x64.efi'

Unmounten en rebooten
#umount /mnt/boot/efi
#umount /mnt
#reboot

Eindelijk klaar.. of toch niet?
Helaas zijn 'we' nog lang niet klaar. Er dient nog zoveel te gebeuren: Video, audio, desktop-omgeving(en), optimaliseren, .. nee we zijn nog lang niet klaar! Desondanks laat ik het even hierbij. Ik zou graag feedback van jullie willen horen of het gelukt is (of niet) om de basis te installeren. :)
Loop je vast of start ArchLinux niet op na de installatie, formatteer dan niet meteen. Vaak is een herinstallatie niet nodig!

In de volgende blogpost gaan we verder in op de (aanbevolen) stappen na de installatie. Stay tuned! And good luck!

PS: Nog een kleine opmerking, mocht je deze documentatie in PDF-vorm gestuurd willen zien, laat mij dit dan weten! Voor het kopieren zou ik toch graag (een kleine regel) credit willen zien. Ook al is veel afkomstig van de Arch Wiki's, ik heb er toch een (beetje :P ) moeite voor moeten doen. ;)

Volgende: Digitale TV op de PC incombinatie met Arch Linux, Ziggo, Smargo, TVheadend, oscam, .. 11-09 Digitale TV op de PC incombinatie met Arch Linux, Ziggo, Smargo, TVheadend, oscam, ..
Volgende: Arch Linux - De beste Linux-distributie sinds jaren 01-'13 Arch Linux - De beste Linux-distributie sinds jaren

Reacties


Door Tweakers user bdalenoord, woensdag 30 januari 2013 18:34

Ik neem even aan dat je met 'bedrage' 'bedrade' bedoeld en dan zie ik niet in waarom dat een eis zou moeten zijn... In de Beginners Guide wordt heel duidelijk uitgelegd hoe je via een draadloze configuratie kunt installeren. Klopt dat dit wat ingewikkelder is maar zeker niet onmogelijk...

Door Tweakers user beta990, woensdag 30 januari 2013 19:23

bdalenoord schreef op woensdag 30 januari 2013 @ 18:34:
Ik neem even aan dat je met 'bedrage' 'bedrade' bedoeld en dan zie ik niet in waarom dat een eis zou moeten zijn... In de Beginners Guide wordt heel duidelijk uitgelegd hoe je via een draadloze configuratie kunt installeren. Klopt dat dit wat ingewikkelder is maar zeker niet onmogelijk...
Ja, deze fout is dan ook hersteld. Ook heb ik het als 'eis' laten vallen, raad ik het echter gewoon aan, omdat het achteraf makkelijker is een draadloze-verbinding op te zetten. De kans bestaat dat je namelijk achteraf switch naar bijvoorbeeld NetworkManagement.service.

Door Tweakers user bdalenoord, woensdag 30 januari 2013 19:29

Op zich maakt dat niet uit natuurlijk. Achteraf vervallen de oude draadloze instellingen en worden deze vervangen voor NetworkManager danwel wicd danwel iets anders... Ben het met je eens dat het bedraad makkelijker is though...

Door Tweakers user ik.ben.iemand., woensdag 30 januari 2013 19:58

@beta990
Ah! De cursus rocket-science. ;)
ik.ben.iemand. schreef op zondag 27 januari 2013 @ 17:04:
✔ Kan Arch Linux installeren

(Die gaat op mn CV :P )
beta990 schreef op maandag 28 januari 2013 @12:26:
Het is geen rocket-science. :P
Maar je leert wel ontzettend veel over Linux, ondanks dat ik veel Ubuntu gedraaid heb, kan ik me nu pas een beetje een Linux-kenner noemen. :)

[Reactie gewijzigd op woensdag 30 januari 2013 20:01]


Door Tweakers user sfranken, zaterdag 02 februari 2013 12:11

Waarom alles in één partitie? Als je dan ooit eens besluit over te stappen op bijv Gentoo moet je moeilijk gaan doen om je files (home) te bewaren, met een aparte /home partitie hoeft dat niet, je kunt die immers aankoppelen als /home in het nieuwe systeem en klaar.

Door Tweakers user beta990, zaterdag 02 februari 2013 19:57

sfranken schreef op zaterdag 02 februari 2013 @ 12:11:
Waarom alles in één partitie? Als je dan ooit eens besluit over te stappen op bijv Gentoo moet je moeilijk gaan doen om je files (home) te bewaren, met een aparte /home partitie hoeft dat niet, je kunt die immers aankoppelen als /home in het nieuwe systeem en klaar.
Omdat ik mijn bestanden apart heb op /mnt/data. (HDD) :P

Maar inderdaad, je kan het uitbreiden als jezelf wilt. Dat heb ik ook aangeven. ;)

[Reactie gewijzigd op zaterdag 02 februari 2013 19:57]


Door Tweakers user beta990, zaterdag 02 februari 2013 19:58

ik.ben.iemand. schreef op woensdag 30 januari 2013 @ 19:58:
@beta990
Ah! De cursus rocket-science. ;)
:D

Laat mij graag weten of het gelukt is, of vragen hebt. :)

Reageren is niet meer mogelijk