Benutzer:Tuxnix: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Keine Bearbeitungszusammenfassung
(Zwischenspeichern Entwurf)
(78 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Nur für eigene Zwecke
{{inuse|[[Benutzer:Tuxnix|Tuxnix]] ([[Benutzer Diskussion:Tuxnix|Diskussion]])}}{{SEITENTITEL:sway}}{{righttoc}}


=Kopie aus AfE nach den ersten Boot=
(Neu-Gliederung der Artikelserie)<br><br>


===Netzwerk erneut herstellen===
[[spicker | Arch Linux Installations Spickzettel]]<br>
Das Netzwerk kann jetzt, wie oben im Kapitel ''Netzwerkverbindung herstellen'', mit dem richtigen Gerätenamen eingerichtet oder wieder mit {{ic|dhcpcd enp4s0}} gestartet werden.
<b>2. Installation des Grundsystems bei BIOS-Rechnern</b><br>


Anmerkung: Sollte die Netzwerk-Verbindung via "netctl -u wireless-wpa" gestartet worden sein, funktioniert dies nach der Installation nicht mehr, da "wpa" nicht mit installiert wird. Dies kann man wie folgt abändern:
* a) ROOT
Erneutes Starten mit der boot-CD, mounten der root-Partition mit "mount /dev/sda1 /mnt". Dann erneutes verbinden mit dem Netzwerk und installieren des Paketes wpa_supplicant ins root-Verzeichnis: "pacstrap /mnt wpa_supplicant". Nach einem Neustart kann sich nun auch die Festplatteninstallation via wpa mit dem Netzwerk verbinden!
* b) ROOT + SWAP
* c) Verschlüsseltes ROOT + SWAP<br>


===Regelmäßiges Aktualisieren===
(Für das Partitionieren auf einem BIOS-Rechner wird bis zu einer Volumengröße von 2TBit fdisk eingesetzt.)<br><br>
Arch Linux gehört zu den Distributionen, welche sehr schnell aktuelle Softwarepakete zur Verfügung stellen. Darum sollte man ein installiertes Arch Linux mittels pacman aktualisieren und sich angewöhnen, dies regelmäßig zu tun. Es ist sehr hilfreich, vorher auf [https://www.archlinux.de/?page=Start Arch Linux - Aktuelle Neuigkeiten] nachzusehen, ob sich etwas Wichtiges am Gesamtsystem oder an einzelnen Komponenten geändert hat. Es werden erforderliche Lösungsvorschläge und Anleitungen beschrieben.
-------------------
<b>a) ROOT</b><br>
(Die Einrichtung einer [[Swap#Swapdatei | Swap-Datei]]) ist nachtraeglich moeglich)<br><br>


====Der Paketmanager pacman====
<code style=font-size:12px>fdisk -l</code> - '''x''' ermitteln<br>
[[Pacman]] ist der '''pac'''kage '''man'''ager von Arch Linux. Er verwaltet das gesamte Paketsystem, also die Installation, das Löschen, das Downgraden von Paketen u.v.m.; er ist auch zuständig für die Verwaltung selbst kompilierter Programme, das automatische Lösen von Paket-Abhängigkeiten sowie das entfernte und lokale Suchen nach Paketen.
<code style=font-size:12px>fdisk /dev/'''x'''</code> - fdisk starten<br>
<code style=font-size:12px>{{taste|o}}</code> - neue Partitionstabelle im cache<br>
<code style=font-size:12px>{{taste|n}}</code> - neue Partition erstellen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Primaerpatition bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Partitionsnummer bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Ersten Sektor bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Letzten Sektor bestaetigen<br>
<code style=font-size:12px>{{taste|a}}</code> - Bootsektor aktivieren<br>
<code style=font-size:12px>{{taste|p}}</code> - zur eigenen Kontrolle vor dem Speichern<br>
<code style=font-size:12px>{{taste|w}}</code> - schreiben der Partitionstabelle<br><br>


=====Konfiguration von pacman=====
<u>Formatieren:</u><br>
* /etc/pacman.conf
<code style=font-size:12px>mkfs.ext4 -L ROOT /dev/'''x'''1</code><br><br>
pacman wird über die Datei {{ic|/etc/pacman.conf}} konfiguriert. Siehe weitere Infos unter [[pacman]].
* /etc/pacman.d/mirrorlist
pacman benötigt die Datei {{ic|/etc/pacman.d/mirrorlist}}, welche die Serveradressen für den Download von Paketen enthält. Siehe weitere Infos unter [[pacman]].
Eine Optimierung der Liste der Spiegelserver kann mittels {{ic|reflector}} erfolgen.


===Die Schönheit des Rolling Release===
<u>Mounten:</u><br>
Arch Linux ist eine '''Rolling Release''' Distribution, was bedeutet, dass es im Vergleich zu anderen Linux-Distributionen keine Versionsnummern oder -namen gibt. Diese Form der Verwaltung verzichtet darauf, das ganze System neu installieren zu müssen, um es aktuell und damit auch sicher zu halten – man hat es nun selbst in der Hand, jederzeit upzudaten. Die Benutzung eines Rolling-Release setzt auch ein gewisses Maß an Eigenverantwortung voraus. So ist man z.B. gut beraten, sich vor einer Systemaktualisierung über aktuelle Änderungen oder Schwierigkeiten, die dabei auftreten könnten, zu informieren. Aktuelle Informationen findet man [https://www.archlinux.de/?page=Start hier]{{Sprache|de}}, [https://bbs.archlinux.de/viewforum.php?id=257 hier]{{Sprache|de}},[https://www.archlinux.org/ hier]{{Sprache|en}} und [https://www.archlinux.org/news/ hier]{{Sprache|en}}. Außerdem ist es empfehlenswert, die [https://mailman.archlinux.org/mailman/listinfo/arch-announce Arch-Announce]{{Sprache|en}} Mailingliste zu abonnieren, um stets auf dem neuesten Wissenstand etwaige Änderungen betreffend zu sein.
<code style=font-size:12px>mount /dev/'''x'''1 /mnt</code><br><br>


====Achtung bei Systemupdates mit neuem Kernel====
<u>Installation der Basispakete</u><br>
Falls der Kernel ein größeres Update erfährt, werden Module, wie zum Beispiel ''' nvidia''' und '''madwifi''' (wird später installiert, falls nötig), unbenutzbar, da die neuen, aktualisierten Paketversionen solcher Module gegen den neueren Kernel gebaut wurden, aber das System derzeit einen älteren verwendet. Ein Neustart wird nötig sein.
<code style=font-size:12px>pacstrap /mnt base base-devel linux linux-firmware networkmanager iwd nano</code><br><br>


Ebenso könnte nach einer langen Pause ohne Aktualisierung bzw. bei der Aktualisierung eines frischen Systems der Fall eintreten, dass gleichzeitig mit dem neuen Kernel andere Programmpakete oder neue Versionen von bereits vorhandenen mitinstalliert werden, die wichtige Neuerungen beinhalten, auf die der neue Kernel angewiesen ist. Dann ist es wahrscheinlich, dass der Kernel zwar aktualisiert wird, aber ''mkinitcpio'' Fehler beim Durchlaufen der Hooks meldet (wie etwa fehlende Udev-Regeln beim Hook "filesystems"). Das würde dazu führen, dass das System dann nicht mehr startet und etwa von einem anderen Linux-System oder der Live-CD repariert werden muss! Um dergleichen zu vermeiden, genügt es nach so einem Update i.d.R., das Initramfs noch einmal neu zu generieren, und zwar folgendermaßen:
<u>Installation von Microcode:</u><br>
mkinitcpio -p linux
<code style=font-size:12px>pacstrap /mnt intel-ucode</code> oder <code style=font-size:12px>pacstrap /mnt amd-ucode</code><br><br>


===Einen Benutzer hinzufügen und Gruppen wählen===
<u>fstab erzeugen:</u><br>
Tägliche Arbeiten sollten nicht mit dem Root-Account gemacht werden, da dieser für administrative Aufgaben vorgesehen ist und ein Arbeiten damit gefährlich sein kann. Deshalb wird nun ein normaler Benutzer hinzugefügt. Beachte, dass Benutzernamen nur Kleinbuchstaben und Sonderzeichen enthalten dürfen:
<code style=font-size:12px>genfstab -L /mnt > /mnt/etc/fstab</code><br><br>


In diesem Beispiel heißt der Benutzer duda
<u>Chrooten:</u><br>
<code style=font-size:12px>arch-chroot /mnt</code><br><br>


useradd -m -g users -s /bin/bash duda


passwd duda
Weiter siehe Kapitel [[3._Konfigurationtion|3. Konfiguration]]<br><br>
Geben Sie ein neues UNIX-Passwort ein:geheim
----------
Geben Sie das neue UNIX-Passwort erneut ein:geheim
<b>b) ROOT + SWAP</b>
passwd: Passwort erfolgreich geändert


<code style=font-size:12px>fdisk -l</code> - '''x''' ermitteln<br>
<code style=font-size:12px>fdisk /dev/'''x'''</code> - fdisk starten<br>
<code style=font-size:12px>{{taste|o}}</code> - neue Partitionstabelle im cache<br>
<code style=font-size:12px>{{taste|n}}</code> - neue Partition erstellen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Primaerpatition bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Partitionsnummer bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Ersten Sektor bestaetigen<br>
<code style=font-size:12px>-4G</code> - Letzten Sektor -4GiB<br>
<code style=font-size:12px>{{taste|a}}</code> - Bootsektor aktivieren<br>
<code style=font-size:12px>{{taste|n}}</code> - neue Partition erstellen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Primaerpatition bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Partitionsnummer bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Ersten Sektor bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Letzten Sektor bestaetigen<br>
<code style=font-size:12px>{{taste|t}}</code> – Partitionstyp waehlen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Partitionsnummer 2 bestaetigen<br>
<code style=font-size:12px>82</code> – Partitionstyp auf 'Linux swap' setzen<br>
<code style=font-size:12px>{{taste|p}}</code> - zur eigenen Kontrolle vor dem Speichern<br>
<code style=font-size:12px>{{taste|w}}</code> - schreiben der Partitionstabelle<br><br>


Falls der Benutzer wieder entfernt werden soll, so kann das mit
<u>Formatieren:</u><br>
userdel -r duda
<code style=font-size:12px>mkfs.ext4 -L ROOT /dev/'''x'''1</code><br>
gemacht werden.
<code style=font-size:12px>mkswap -L SWAP /dev/'''x'''2</code><br><br>


Ein weiteres wichtiges Werkzeug könnte noch installiert werden, um ein Kommando mit Root-Rechten ausführen zu können.
<u>Mounten:</u><br>
pacman -S sudo
<code style=font-size:12px>mount /dev/'''x'''1 /mnt</code><br>
Damit der Benutzer Root-Rechte bekommt, muss eine Konfiguration verändert werden. Eingabe von:
<code style=font-size:12px>swapon /dev/'''x'''2</code><br><br>
EDITOR=nano visudo
oder
nano /etc/sudoers
Suchen der folgenden Zeile (steht unterhalb von "## Uncomment to allow members of group wheel to execute any command"):
  # %wheel ALL=(ALL) ALL
und entfernen des Kommentatorzeichens und des Leerzeichens.
%wheel ALL=(ALL) ALL
Den Benutzer zu der Gruppe wheel hinzufügen
gpasswd -a duda wheel


Um dem Nutzer noch Rechte für Audio etc. zu geben, kann er noch in die Gruppen {{ic|audio}}, {{ic|video}}, {{ic|games}}, {{ic|power}} hinzugefügt werden.
<u>Installation der Basispakete</u><br>
<code style=font-size:12px>pacstrap /mnt base base-devel linux linux-firmware networkmanager iwd nano</code><br><br>


===Weitere nützliche Dienste===
<u>Installation von Microcode:</u><br>
<code style=font-size:12px>pacstrap /mnt intel-ucode</code> oder <code style=font-size:12px>pacstrap /mnt amd-ucode</code><br><br>


Sollte das System auf einer SSD betrieben werden, welche TRIM unterstützt, sollte der {{ic|fstrim.timer}} aktiviert werden:
<u>fstab erzeugen:</u><br>
<code style=font-size:12px>genfstab -L /mnt > /mnt/etc/fstab</code><br><br>


# systemctl enable --now fstrim.timer
<u>Chrooten:</u><br>
<code style=font-size:12px>arch-chroot /mnt</code><br><br>


Jetzt, das heißt bevor wir uns der grafischen Oberfläche und/oder Multimedia zuwenden, ist ein guter Zeitpunkt, ein paar zusätzliche Dienste zu installieren und zu aktivieren.
Weiter siehe Kapitel [[3._Konfiguration|3. Konfiguration]]<br><br>
-------------------------------------------------------------------------------------
<b>c) Verschlüsseltes Root + SWAP</b>


# pacman -S acpid dbus avahi cups
Die Partitionierung ist wie in Abschnitt b) vorzunehmen<br>


Diese Dienste müssen natürlich auch jeweils explizit gestartet werden. Um dies automatisch beim Booten zu tun, muss systemd dazu angewiesen werden. Dies geschieht durch:
<u>Root Partiton verschluesseln:</u><br>
<code style=font-size:12px>cryptsetup luksFormat --type luks1 /dev/'''x'''1</code><br><br>


# systemctl enable <Dienstname>  
<u>Partitonen oeffnen und mappen:</u><br>
<code style=font-size:12px>cryptsetup open /dev/'''x'''1 root</code><br>
<code style=font-size:12px>cryptsetup open /dev/'''x'''2 swap</code><br><br>


Für diese Beispiele:  
<u>Formatieren:</u><br>
<code style=font-size:12px>mkfs.ext4 -L ROOT /dev/mapper/root</code><br>
# systemctl enable acpid
<code style=font-size:12px>mkswap -L SWAP /dev/mapper/swap</code><br><br>
# systemctl enable avahi-daemon
# systemctl enable cups.service


Auch ist es sinnvoll, einen Netwerkservice für den Internetzugang automatisch zu laden:
<u>Mounten:</u><br>
<code style=font-size:12px>mount /dev/mapper/root /mnt</code><br>
<code style=font-size:12px>swapon /dev/mapper/swap</code><br><br>


Dies können Services wie NetworkManager erledigen. Mehr dazu unter https://wiki.archlinux.de/title/Daemons und unter https://wiki.archlinux.de/title/Daemons/Liste.
<u>Installation des Filesystems und der Pakete:</u><br>
<code style=font-size:12px>pacstrap /mnt base base-devel linux linux-firmware '''('''intel-ucode '''oder''' amd-ucode''')''' nano cryptsetup grub networkmanager iwd</code><br><br>


===Cronjobs ausführen lassen===
<u>fstab erzeugen:</u><br>
Einige Pakete legen sogenannte Cronjobs an. Das sind Befehle, die zu bestimmten Zeiten automatisch ausgeführt werden. Im Normalfall braucht man sich um die Cronjobs nicht zu kümmern. Mehr zu diesem Thema unter [[cron]]
<code style=font-size:12px>genfstab -L /mnt > /mnt/etc/fstab</code><br><br>
# pacman -S cronie
# systemctl enable --now cronie


Als Alternative zu o.g. klassischen Conrojobs können oft auch ''[https://www.freedesktop.org/software/systemd/man/systemd.timer.html systemd.timer]''s genutzt werden, ohne zusätzliche Software installieren zu müssen.
<u>Chrooten:</u><br>
<code style=font-size:12px>arch-chroot /mnt</code><br><br>


===Automatische Zeiteinstellung===
<code style=font-size:12px>nano /etc/fstab</code><br>
Wer die Zeit automatisch korrigieren lassen will, kann das mit ''systemd-timesyncd'' machen.
<u>Und wie folgt anpassen</u><br>
systemctl enable --now systemd-timesyncd.service
<code style=font-size:12px># UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</code><br>
<code style=font-size:12px>/dev/mapper/root  /      ext4    rw,relatime        0 1</code><br><br>
<code style=font-size:12px># UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</code><br>
<code style=font-size:12px>/dev/mapper/swap  swap    swap    defaults,noatime    0 0</code><br><br>


Die Zeit wird nach wenigen Sekunden korrekt sein.<br>
<code style=font-size:12px>nano /etc/crypttab</code><br>
Um zu sehen, ob die Uhrzeit nun auch wirklich korrekt ist, kann man folgenden Befehl nutzen:
<u>Die swap-Zeile auskommentieren</u><br>
date
<code style=font-size:12px>swap /dev/'''x'''1 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256</code><br><br>
Anschließend kann man die Hardwareuhr oder auch RTC oder CMOS-Uhr auf der Hauptplatine korrigieren.
hwclock -w


Man muss unterscheiden zwischen einer sogenannten Systemzeit und einer Hardwareuhr auf der Hauptplatine des Rechners. Die Hardwareuhr ist die CMOS-Uhr, auch Echtzeituhr oder RTC (real time clock) genannt. Die Systemzeit ist die Zeit, die der Linuxkernel gerade hat (nur so grob). Beim Einschalten übernimmt Linux (Systemzeit) die Hardwareuhrzeit. Beim Herunterfahren wird die Systemzeit '''nicht''' an die Hardwareuhr wieder übergeben. Zur Beachtung: Werden mehrere Betriebssysteme benutzt, sollte nur ein Betriebssystem die Hardwareuhr korrigieren.
(Schlüsseldatei klappt noch nicht)<br>
<u>Erzeugen einer Schlüsseldatei zur Vermeidung einer zweiten Eingabe des Verschlüsselungspassworts:</u><br>
<code style=font-size:12px>dd bs=512 count=4 if=/dev/urandom of=/keyfile.bin</code><br>
<code style=font-size:12px>cryptsetup luksAddKey /dev/disk/by-label/ROOT /keyfile.bin</code><br>
<code style=font-size:12px>chmod 000 /keyfile.bin</code><br><br>


=Kopie aus AfE:=
<u>mkinitcpio.conf anpassen:</u><br>
<code style=font-size:12px>nano /etc/mkinitcpio.conf</code><br>
<u>Die Zeile 'FILES=' ergaenzen:</u><br>
<code style=font-size:12px>FILES=(/keyfile.bin)</code><br>
<u>Die Zeile 'HOOKS=' in dieser Reihenfolge anpassen:</u><br>
<code style=font-size:12px>HOOKS="base udev autodetect keyboard keymap modconf block encrypt filesystems fsck"</code><br>
<u>Neues initramfs erzeugen</u><br>
<code style=font-size:12px>mkinitcpio -P linux</code><br><br>


===Installation eines Bootloaders===
Weiter siehe Kapitel [[3._Konfiguration|3. Konfiguration]]<br><br>


* Als Bootmanager für BIOS-Boot-Systeme stehen [[Grub]] und [[syslinux]] zur Verfügung.
-------------------------------------------------------------------------
* Für UEFI-BOOT-Syteme kann als Bootloader [[systemd-boot]] oder [[EFISTUB]] oder [[Grub]] oder [[rEFInd]] eingesetzt werden.<br>
<b>Entwurf Artikel: 3. Konfiguration</b>


====Installation des GRUB Bootloaders====
Letztes siehe Kapitel 2.[[spicker | Arch Linux Installations Spickzettel]]<br>
Für Benutzer von intel-ucode bitte folgende Seite zusätzlich beachten: [[Microcode]].<br>
Falls bei einen BIOS-Boot-System von einem Datenträger mit GPT-Partitionstabelle gebootet werden soll, benötigt Grub eine zusätzliche Partition von der Größe von 1MiB und dem Partitionstyp ef02. Siehe [[GRUB#Fehlermeldung_von_GRUB | Grub]].<br><br>
Installation des Pakets:
pacman -S grub
Booten per '''BIOS'''
grub-install /dev/sda
Booten per '''UEFI'''


Installation des EFI Bootmanagers (sonst kommt die Fehlermeldung: efibootmgr: not found):
<b>3. Konfiguration:</b><br>
pacman -S efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=<Boot-Name>
Alternativ kann man
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=<Boot-Name> --recheck --debug
verwenden, um zusätzliche Informationen zu bekommen, falls es zu einem Fehler kommt. <br>
Wenn man einen etwas längeren Namen mit Leerzeichen für Grub geben möchte, muss man einfach 2 Anführungszeichen anbringen:
--bootloader-id="Ein sehr langer Name für den Grub Bootloader, der auch so im UEFI angezeigt wird :D"


Weitere '''Konfiguration''' nach BIOS oder UEFI grub-install:
<code style=font-size:12px>echo '''mein-rechner''' > /etc/hostname</code><br>
<code style=font-size:12px>echo LANG=de_DE.UTF-8 > /etc/locale.conf</code><br>
<code style=font-size:12px>echo KEYMAP=de-latin1 > /etc/vconsole.conf</code><br>
<code style=font-size:12px>echo FONT=lat9w-16 >> /etc/vconsole.conf</code><br>
<code style=font-size:12px>ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime</code><br><br>


Es kann jetzt die Grub Konfiguration generiert werden.
<code style=font-size:12px>nano /etc/locale.gen</code><br>
grub-mkconfig -o /boot/grub/grub.cfg
<u>Und das # am Anfang folgender Zeilen entfernen:</u><br>
<code style=font-size:12px>#de_DE.UTF-8 UTF-8</code><br>
<code style=font-size:12px>#de_DE ISO-8859-1</code><br>
<code style=font-size:12px>#de_DE@euro ISO-8859-15</code><br>
<code style=font-size:12px>#en_US.UTF-8 UTF-8</code><br>


Sollte '''grub-mkconfig''' dabei eine Fehlermeldung wie
<code style=font-size:12px>locale-gen</code><br><br>
  ...
  error: out of memory.
  error: syntax error.
  error: Incorrect command.
  error: syntax error.
  Syntax error at line 164
  ...


liefern (siehe auch: [https://bugs.archlinux.org/task/38041 "FS#38041 - grub 1:2.00.1282.g5ae5c54-1 will not generate grub.cfg file syntax errors"], sollte das Anhängen folgender Zeile an '''/etc/default/grub''':
<u>Das Root Password erstellen:</u><br>
  # fix broken grub.cfg gen
<code style=font-size:12px>passwd</code><br><br>
  GRUB_DISABLE_SUBMENU=y


und ein erneuter Aufruf von '''grub-mkconfig''' Abhilfe schaffen.
<u>Den Benutzer 'duda' anlegen und ihn ggf. zu den Gruppen hinzufuegen:</u><br>
<code style=font-size:12px>useradd -m -g users -s /bin/bash '''duda'''</code><br>
<code style=font-size:12px>passwd '''duda'''</code><br>
<code style=font-size:12px>usermod -aG wheel,audio,video,power '''duda'''</code><br><br>


====Installation des Syslinux Bootloader====
<u>Gruppenmitgliedern von wheel Rootrechte per 'sudo' verleihen:</u><br>
Wenn bereits ein Linux-Bootloader installiert ist, kann dieser Punkt übersprungen werden. Der bereits vorhandene Bootloader muss natürlich entsprechend konfiguriert werden.
<code style=font-size:12px>EDITOR=nano visudo</code><br>
<u>Kommentarzeichen und Leerzeichen von dieser Zeile entfernen:</u><br>
<code style=font-size:12px># %wheel ALL=(ALL) ALL</code><br><br>


Zur Beachtung, der Syslinux Bootloader funktioniert nicht bei allen 64bit Dateisystemen wie z.B. ext4. Es muß dann ein anderer Bootloader gewählt werden wie z.B. Grub. Dieser Fehler macht sich erst nach dem Reboot mit folgender Meldung bemerkbar:
<u>Weitere Dienste installieren:</u><br>
Failed to load ldlinux.c32 . Boot failed: Please change disks and press a key to continue.
<code style=font-size:12px>pacman -S acpid avahi iwd</code><br><br>


Syslinux kann jetzt installiert werden.<br>
<u>Dienste aktivieren:</u><br>
Bei einer GPT-Partitionstabelle muss das Paket gptfdisk zusätzlich installiert werden.
<code style=font-size:12px>systemctl enable acpid</code> - Energieverwaltung<br>
pacman -S gptfdisk
<code style=font-size:12px>systemctl enable avahi-daemon</code> - Netzwerk Zuweisung<br>
pacman -S syslinux
<code style=font-size:12px>systemctl enable NetworkManager</code> - Netzwerkmanager<br>
Mit einem Editor (nano) die Konfigurationsdatei anpassen:
<code style=font-size:12px>systemctl enable iwd</code> - WLAN Daemon</u><br>
nano /boot/syslinux/syslinux.cfg
<code style=font-size:12px>systemctl enable systemd-timesyncd</code> - Zeit Synchronisation<br><br>
Die Zeilen APPEND root=/dev/sda3 ro ändern in
APPEND root=/dev/sda1 rw
oder wenn man die LABEL-Partitionsbezeichnung bevorzugt:
APPEND root=LABEL=p_arch rw


Anschließend syslinux auf den Bootsektor installieren
-------------------------------------------------------------------------------------
syslinux-install_update -iam
<b>Entwurf Artikel: 4. Bootloader für BIOS-Rechner</b>


=====Manuelle Installation von syslinux=====
Letztes Kapitel [[3._Konfiguration|3. Konfiguration]]<br><br>


Falls nicht alles reibungslos ablief, kann Syslinux manuell installiert werden.
<b>4. Bootloader für BIOS-Rechner</b><br>
* a) Grub
* b) syslinux
* c) Grub crypted ROOT+SWAP<br><br>
---------------------------------------------------------------------------------------
<b>a) Grub</b>


Dazu wird mit dem Programm ''fdisk'' das Bootflag auf die Partition gesetzt, von der die Bootdaten gebootet werden sollen.<br>
<u>Grub installieren:</u><br>
Beispiel, um für /dev/sda1 das Bootflag zu setzen:
<code style=font-size:12px>pacman -S grub</code><br>
fdisk /dev/sda
<code style=font-size:12px>grub-install /dev/'''x'''</code><br>
x
<code style=font-size:12px>grub-mkconfig -o /boot/grub/grub.cfg</code><br><br>
a
p
r
w


Dann wird die Partition der Bootdaten, wie z. B. /dev/sda1, unter /boot gemountet und der Bootloader installiert.
<u>Chrootumgebung verlassen und Partitionen loesen:</u><br>
mount /dev/sda1 /boot
<code style=font-size:12px>exit</code><br>
mkdir /boot/syslinux
<code style=font-size:12px>umount /mnt</code><br><br>
extlinux --install /boot/syslinux


Jetzt muss noch der MBR von Syslinux auf die Festplatte geschrieben werden.
<code style=font-size:12px>poweroff</code><br>
cat /usr/lib/syslinux/bios/mbr.bin > /dev/sda
<u>ISO-Stick entfernen, Neustarten und auf der Konsole Einloggen  </u><br><br>
 
Weiter siehe Kapitel [[4._Grafische_Benutzeroberfl%C3%A4che|4. Grafische Benutzeroberfläche ]]
 
----------------------------------------------------------------------------------------------
<b>c) Grub crypted ROOT+SWAP</b><br>
 
<u>grub installieren falls noch nicht geschehen:</u><br>
<code style=font-size:12px>pacman -S grub</code><br><br>
 
<u>grub konfigurieren:</u><br>
<code style=font-size:12px>nano /etc/default/grub</code><br>
<u>Folgende Zeilen anpassen bzw. auskommentieren</u><br>
<code style=font-size:12px>GRUB_CMDLINE_LINUX="cryptdevice=/dev/'''x'''1:root"</code><br>
<code style=font-size:12px>GRUB_ENABLE_CRYPTODISK=y</code><br>
<u>Initramfs suchen und grub.cfg schreiben:</u><br>
<code style=font-size:12px>grub-install /dev/'''x''' --recheck</code><br>
<code style=font-size:12px>grub-mkconfig -o /boot/grub/grub.cfg</code><br><br>
 
Weiter siehe Kapitel [[4._Grafische_Benutzeroberfl%C3%A4che|4. Grafische Benutzeroberfläche ]]
 
----------
Anmerkung: Bisher in die Artikel eingearbeitet BIOS-Rechner Grub / r+rs / crypted r

Version vom 23. April 2024, 01:36 Uhr

„Tuxnix“ wurde von Tuxnix (Diskussion) als in Bearbeitung markiert. Um Bearbeitungskonflikte zu vermeiden, kontaktiere Tuxnix (Diskussion) bitte, bevor du den Artikel bearbeitest.


(Neu-Gliederung der Artikelserie)

Arch Linux Installations Spickzettel
2. Installation des Grundsystems bei BIOS-Rechnern

  • a) ROOT
  • b) ROOT + SWAP
  • c) Verschlüsseltes ROOT + SWAP

(Für das Partitionieren auf einem BIOS-Rechner wird bis zu einer Volumengröße von 2TBit fdisk eingesetzt.)


a) ROOT
(Die Einrichtung einer Swap-Datei) ist nachtraeglich moeglich)

fdisk -l - x ermitteln
fdisk /dev/x - fdisk starten
o - neue Partitionstabelle im cache
n - neue Partition erstellen
↵ Enter - Primaerpatition bestaetigen
↵ Enter - Partitionsnummer bestaetigen
↵ Enter - Ersten Sektor bestaetigen
↵ Enter - Letzten Sektor bestaetigen
a - Bootsektor aktivieren
p - zur eigenen Kontrolle vor dem Speichern
w - schreiben der Partitionstabelle

Formatieren:
mkfs.ext4 -L ROOT /dev/x1

Mounten:
mount /dev/x1 /mnt

Installation der Basispakete
pacstrap /mnt base base-devel linux linux-firmware networkmanager iwd nano

Installation von Microcode:
pacstrap /mnt intel-ucode oder pacstrap /mnt amd-ucode

fstab erzeugen:
genfstab -L /mnt > /mnt/etc/fstab

Chrooten:
arch-chroot /mnt


Weiter siehe Kapitel 3. Konfiguration


b) ROOT + SWAP

fdisk -l - x ermitteln
fdisk /dev/x - fdisk starten
o - neue Partitionstabelle im cache
n - neue Partition erstellen
↵ Enter - Primaerpatition bestaetigen
↵ Enter - Partitionsnummer bestaetigen
↵ Enter - Ersten Sektor bestaetigen
-4G - Letzten Sektor -4GiB
a - Bootsektor aktivieren
n - neue Partition erstellen
↵ Enter - Primaerpatition bestaetigen
↵ Enter - Partitionsnummer bestaetigen
↵ Enter - Ersten Sektor bestaetigen
↵ Enter - Letzten Sektor bestaetigen
t – Partitionstyp waehlen
↵ Enter - Partitionsnummer 2 bestaetigen
82 – Partitionstyp auf 'Linux swap' setzen
p - zur eigenen Kontrolle vor dem Speichern
w - schreiben der Partitionstabelle

Formatieren:
mkfs.ext4 -L ROOT /dev/x1
mkswap -L SWAP /dev/x2

Mounten:
mount /dev/x1 /mnt
swapon /dev/x2

Installation der Basispakete
pacstrap /mnt base base-devel linux linux-firmware networkmanager iwd nano

Installation von Microcode:
pacstrap /mnt intel-ucode oder pacstrap /mnt amd-ucode

fstab erzeugen:
genfstab -L /mnt > /mnt/etc/fstab

Chrooten:
arch-chroot /mnt

Weiter siehe Kapitel 3. Konfiguration


c) Verschlüsseltes Root + SWAP

Die Partitionierung ist wie in Abschnitt b) vorzunehmen

Root Partiton verschluesseln:
cryptsetup luksFormat --type luks1 /dev/x1

Partitonen oeffnen und mappen:
cryptsetup open /dev/x1 root
cryptsetup open /dev/x2 swap

Formatieren:
mkfs.ext4 -L ROOT /dev/mapper/root
mkswap -L SWAP /dev/mapper/swap

Mounten:
mount /dev/mapper/root /mnt
swapon /dev/mapper/swap

Installation des Filesystems und der Pakete:
pacstrap /mnt base base-devel linux linux-firmware (intel-ucode oder amd-ucode) nano cryptsetup grub networkmanager iwd

fstab erzeugen:
genfstab -L /mnt > /mnt/etc/fstab

Chrooten:
arch-chroot /mnt

nano /etc/fstab
Und wie folgt anpassen
# UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
/dev/mapper/root / ext4 rw,relatime 0 1

# UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
/dev/mapper/swap swap swap defaults,noatime 0 0

nano /etc/crypttab
Die swap-Zeile auskommentieren
swap /dev/x1 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256

(Schlüsseldatei klappt noch nicht)
Erzeugen einer Schlüsseldatei zur Vermeidung einer zweiten Eingabe des Verschlüsselungspassworts:
dd bs=512 count=4 if=/dev/urandom of=/keyfile.bin
cryptsetup luksAddKey /dev/disk/by-label/ROOT /keyfile.bin
chmod 000 /keyfile.bin

mkinitcpio.conf anpassen:
nano /etc/mkinitcpio.conf
Die Zeile 'FILES=' ergaenzen:
FILES=(/keyfile.bin)
Die Zeile 'HOOKS=' in dieser Reihenfolge anpassen:
HOOKS="base udev autodetect keyboard keymap modconf block encrypt filesystems fsck"
Neues initramfs erzeugen
mkinitcpio -P linux

Weiter siehe Kapitel 3. Konfiguration


Entwurf Artikel: 3. Konfiguration

Letztes siehe Kapitel 2. Arch Linux Installations Spickzettel

3. Konfiguration:

echo mein-rechner > /etc/hostname
echo LANG=de_DE.UTF-8 > /etc/locale.conf
echo KEYMAP=de-latin1 > /etc/vconsole.conf
echo FONT=lat9w-16 >> /etc/vconsole.conf
ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime

nano /etc/locale.gen
Und das # am Anfang folgender Zeilen entfernen:
#de_DE.UTF-8 UTF-8
#de_DE ISO-8859-1
#de_DE@euro ISO-8859-15
#en_US.UTF-8 UTF-8

locale-gen

Das Root Password erstellen:
passwd

Den Benutzer 'duda' anlegen und ihn ggf. zu den Gruppen hinzufuegen:
useradd -m -g users -s /bin/bash duda
passwd duda
usermod -aG wheel,audio,video,power duda

Gruppenmitgliedern von wheel Rootrechte per 'sudo' verleihen:
EDITOR=nano visudo
Kommentarzeichen und Leerzeichen von dieser Zeile entfernen:
# %wheel ALL=(ALL) ALL

Weitere Dienste installieren:
pacman -S acpid avahi iwd

Dienste aktivieren:
systemctl enable acpid - Energieverwaltung
systemctl enable avahi-daemon - Netzwerk Zuweisung
systemctl enable NetworkManager - Netzwerkmanager
systemctl enable iwd - WLAN Daemon
systemctl enable systemd-timesyncd - Zeit Synchronisation


Entwurf Artikel: 4. Bootloader für BIOS-Rechner

Letztes Kapitel 3. Konfiguration

4. Bootloader für BIOS-Rechner

  • a) Grub
  • b) syslinux
  • c) Grub crypted ROOT+SWAP


a) Grub

Grub installieren:
pacman -S grub
grub-install /dev/x
grub-mkconfig -o /boot/grub/grub.cfg

Chrootumgebung verlassen und Partitionen loesen:
exit
umount /mnt

poweroff
ISO-Stick entfernen, Neustarten und auf der Konsole Einloggen

Weiter siehe Kapitel 4. Grafische Benutzeroberfläche


c) Grub crypted ROOT+SWAP

grub installieren falls noch nicht geschehen:
pacman -S grub

grub konfigurieren:
nano /etc/default/grub
Folgende Zeilen anpassen bzw. auskommentieren
GRUB_CMDLINE_LINUX="cryptdevice=/dev/x1:root"
GRUB_ENABLE_CRYPTODISK=y
Initramfs suchen und grub.cfg schreiben:
grub-install /dev/x --recheck
grub-mkconfig -o /boot/grub/grub.cfg

Weiter siehe Kapitel 4. Grafische Benutzeroberfläche


Anmerkung: Bisher in die Artikel eingearbeitet BIOS-Rechner Grub / r+rs / crypted r