Arch Linux - Installatie nov. 2016

Uit De Vliegende Brigade
Ga naar: navigatie, zoeken

Bron & opstarten

  • Installatie-medium voorbereiden: Download image via torrent en maak een bootable USB-stick. Da's tegenwoordig gemakkelijker dan het branden van een cd of dvd! Zie Bootable USB-stick voor details
  • Start vanaf de USB-stick, en kies de bovenste optie (Start Arch Linux of zoiets)

Schijf: MBR & partities

Het eindresultaat

Gebruik fdisk om de schijf of SDD klaar te maken. Fdisk heeft geen interactieve modus, maar het is gelukkig weinig werk:

Device identificeren

Gebruik lsblk -f om het device te achterhalen (sda in dit voorbeeld).

Lege MBR aanmaken

fdisk /dev/sda

Gebruik menu-optie:

o - create a new empty DOS partition table

en schrijf dit naar de schijf:

w - write table to disk and exit

Creëer partities

  • Maak twee primaire partities aan: Swap & main
  • Begin met swap (1GB), daarna main.

Interactief mbv. fdisk:

fdisk /dev/sda

n       - Add a new partition → Swap
p       - Primary partition
1       - Partition number
<enter> - Begin bij gesuggereerde adres
+1G     - Maak 'm 1 GB groot 

n       - Add a new partition → Main
p       - Primary partition
2       - Partition number
<enter> - Begin bij gesuggereerde adres
<enter> - Gebruik de rest van de schijf

t       - Change a partion type
1       - Partitie 1 aanpassen → Swap
82      - Swap = type 82

t       - Change a partion type
2       - Partitie 1 aanpassen → Main
83      - Linux = type 83

w       - Write & exit

Schijf: Formatteren & mounten

Formatteren

Na het schrijven van de MBR en aanmaken van de partities, komt het formatteren van die partities. In het geval van een harde schijf sda met twee partities

  • sda1 - Swap
  • sda2 - Ext4,

zijn dit de commando's:

mkfs.ext4 /dev/sda2
mkswap /dev/sda1
swapon /dev/sda1

In november 2016 was ext4 nog altijd het gebruikelijke Linux-fs.

Mounten

mount /dev/sda2 /mnt

Installatie basis-systeem

Installatie

De harde schijf is nu onderdeel van de mount tree als device /mnt. Installeer daar de 'collecties' base en base-devel:

pacstrap /mnt base base-devel

Vantevoren kun je nog een mirror selecteren door bestand /etc/pacman.d/mirrorlist te bewerken, maar dat sla ik over.

Foutmelding: Key ... could not be imported

Gebruik geen oude installatiebronnen: Sommige sleutels worden na verloop van tijd niet meer geaccepteerd. In april 2015 gebruikte ik een cd uit 2013, en kreeg als foutmelding: error: key "anatol pomozov" could not be imported.

Je kunt deze foutmeldingen omzeilen door het SigLevel aan te passen:

vi /etc/pacman.conf
SigLevel = Never

maar een veel betere oplossing: Maak een up-to-date USB-stick aan!

Generate filesystem-table

genfstab -U -p /mnt >> /mnt/etc/fstab

Installeer grub

Change root naar nieuwe systeem

arch-chroot /mnt

Installeer grub

grub-install --target=i386-pc --recheck /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

Herstart de computer

Uit

Dat doe ik mbv. de aan/uitknop. Dat kan ongetwijfeld eleganter, maar ik weet zo snel niet hoe. shutdown -r now werkt niet, vanwege de chroot-omgeving.

Aan

Je hebt een werkend OS, zonder gui, met loginnaam root, zonder wachtwoord.

Wachtwoord voor root

Stel een wachtwoord in voor root: passwd

NIC activeren

Achterhaal device-od

ip link

In dit geval bleek dat enp3s0 te zijn.

Voeg deze toe aan de opstartprocedure

systemctl enable dhcpcd@enp3s0.service

Activeren

systemctl start dhcpcd@enp3s0.service

Test

ping 8.8.8.8

Gebruiker toevoegen

Ik wil Ik wil zo snel mogelijk SSH aan de praat krijgen, zodat ik vanaf m'n werkstation kan werken. SSH werkt standaard niet voor root, en terecht. Dus toch maar eerst een gebruiker aanmaken. En laat ik dat toch maar in één keer compleet doen:

useradd -m -G wheel -s /bin/bash strompf
password strompf
pacman -S vim   # Het volgende commando werkt wel met vim, maar niet met vi
EDITOR=vim visudo

Voeg toe:

strompf   ALL=(ALL) ALL
Defaults:strompf timestamp_timeout=-5

Wat deze laatste regel betreft: De sudo-timeout is nu een negatief getal. Dat wil zeggen dat als deze gebruiker geauthenthiceerd is voor sudo, deze authenticatie van kracht blijft gederende de hele shell-sessie.

Rest basisinstallatie via ssh-script

Inloggen

Eindelijk SSH! Achterhaal het IP-adres met bv. ip addr en log in met zoiets als

ssh 192.168.178.31 -l strompf

Script

#!/bin/sh
#
# Script voor installatie Arch Linux
#
#####################################################
### Hostname aanpassen
#####################################################
#
# Werkt alleen als je dit script met sudo aanroept
# Werkt niet met 'sudo echo ...'
#
# echo aspire2015 > /etc/hostname

#####################################################
### Installatie SSH voltooien
#####################################################
#
# systemctl enable sshd

#####################################################
### .bashrc bijwerken
#####################################################
#

# echo 'alias ll="ls -lhA"' >> ~/.bashrc
# echo 'alias vi="vim"' >> ~/.bashrc
# source ~/.bashrc

#####################################################
### Locale
#####################################################
#
# echo 'en_GB.UTF-8 UTF-8' >> /etc/locale.gen
# echo 'nl_NL.UTF-8 UTF-8' >> /etc/locale.gen
# locale-gen
# echo LANG=en_GB.UTF-8 > /etc/locale.conf
# export LANG=en_GB.UTF-8

#####################################################
### Tijdzonde instellen
#####################################################
#
# Geeft meestal een foutmelding omdat de link al bestaat
# Mag deze regel weg?
#
# ln -s /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime

#####################################################
### Klok
#####################################################
#
# hwclock --systohc --utc

#####################################################
### host instellen 
#####################################################
#
# host_naam="aspire2015"
# echo $host_naam > /etc/hostname
# if grep -Fq "$host_naam" /etc/hosts
# then
#         echo "$host_naam al ingesteld in /etc/hosts";
# else
#        echo -e "127.0.0.1\t$host_naam" >> /etc/hosts
#        echo -e "::1\tlocalhost.localdomain.localhost\t$host_naam" >> /etc/hosts
#        echo -e "::1     ip6-localhost ip6-loopback" >> /etc/hosts
#        echo -e "fe00::0 ip6-localnet" >> /etc/hosts
#        echo -e "ff00::0 ip6-mcastprefix" >> /etc/hosts
#        echo -e "ff02::1 ip6-allnodes" >> /etc/hosts
#        echo -e "ff02::2 ip6-allrouters" >> /etc/hosts  
# fi      

Cinnamon desktop environment

Op dit moment geen zin om losse onderdelen te installeren. Daarom direct de complete desktop enviroment.

Welke libgl-library?

Welke bron voor ligbl-bibliotheek (of zoiets)? Iets met mesa in de naam, of iets met NIVIDIA in de naam? Zal wel het eerste zijn. Vermoedelijke grafische hardware:

Vesa chipset: Intel 82945GM
intel_agp - Host bridge kernel driver
i915 - VGA-compatibele kernel driver → Minder betrouwbaar, want dit is de driver, niet per se de hardware
VGA compatible controller: Intel Corporation Mobile 945GSE Express Integrated Graphics Controller (rev 03)
Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)

Conclusie (voor dit moment): i945GSE

Installatie

sudo pacman -S cinnamon

Display manager

sudo pacman -S gdm
sudo systemctl enable gdm

Resultaat

Het lijkt te werken, maar ik krijg wel een hele rare en kale interface. Zie ik iets over het hoofd? → Had ik in het verleden ook: http://wiki-oud.devliegendebrigade.nl/index.php/Installatie_Arch_Linux_-_April_2015#GUI:_Cinnamon

Applicaties

sudo pacman -S firefox
sudo pacman -S thunderbird

Conclusies

Het werkt.

Bronnen

Specifieke onderdelen

GUI's

Installatie X

Losse eindjes