Benutzer:Tuxnix: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Keine Bearbeitungszusammenfassung
(Crypted Root für Bios-Rechner integriert)
(75 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=
(Versuch einer neuen Gliederung der Artikelserie)<br><br>
<b>Entwurf Artikel: 2. Partitionierung+Basispakete BIOS-Rechner</b><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.
Letztes Kapitel [[1._Vorbereitung|1. Vorbereitung]]<br><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:
<b>2. Partitionierung+Basispakete bei einem BIOS-Rechner</b><br>
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!
* A) ROOT
* B) ROOT + SWAP
* c) Crypted ROOT
(Für das Partitionieren auf einem BIOS-Rechner wird bis zu einer Volumengröße von 2TBit fdisk eingesetzt.)<br><br>
------
<b> A) ROOT</b><br>
(Die Einrichtung einer [[Swap#Swapdatei | Swap-Datei]]) ist nachtraeglich moeglich)<br><br>


===Regelmäßiges Aktualisieren===
<code style=font-size:12px>fdisk -l</code> - '''x''' ermitteln<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.
<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>


====Der Paketmanager pacman====
<u>Formatieren:</u><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>mkfs.ext4 -L ROOT /dev/'''x'''1</code><br><br>


=====Konfiguration von pacman=====
<u>Mounten:</u><br>
* /etc/pacman.conf
<code style=font-size:12px>mount /dev/'''x'''1 /mnt</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>Installation der Basispakete</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>pacstrap /mnt base base-devel linux linux-firmware dhcpcd nano</code><br><br>


====Achtung bei Systemupdates mit neuem Kernel====
<u>Installation von Microcode:</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 intel-ucode</code> oder <code style=font-size:12px>pacstrap /mnt amd-ucode</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>fstab erzeugen:</u><br>
mkinitcpio -p linux
<code style=font-size:12px>genfstab -L /mnt > /mnt/etc/fstab</code><br><br>


===Einen Benutzer hinzufügen und Gruppen wählen===
<u>Chrooten:</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>arch-chroot /mnt</code><br><br>


In diesem Beispiel heißt der Benutzer duda


useradd -m -g users -s /bin/bash duda
Weiter siehe Kapitel [[3._Konfigurationtion|3. Konfiguration]]<br><br>
----------
<b>B) ROOT + SWAP</b>


passwd duda
<code style=font-size:12px>fdisk -l</code> - '''x''' ermitteln<br>
Geben Sie ein neues UNIX-Passwort ein:geheim
<code style=font-size:12px>fdisk /dev/'''x'''</code> - fdisk starten<br>
Geben Sie das neue UNIX-Passwort erneut ein:geheim
<code style=font-size:12px>{{taste|o}}</code> - neue Partitionstabelle im cache<br>
passwd: Passwort erfolgreich geändert
<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>


<u>Formatieren:</u><br>
<code style=font-size:12px>mkfs.ext4 -L ROOT /dev/'''x'''1</code><br>
<code style=font-size:12px>mkswap -L SWAP /dev/'''x'''2</code><br><br>


Falls der Benutzer wieder entfernt werden soll, so kann das mit
<u>Mounten:</u><br>
userdel -r duda
<code style=font-size:12px>mount /dev/'''x'''1 /mnt</code><br>
gemacht werden.
<code style=font-size:12px>swapon /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>Installation der Basispakete</u><br>
pacman -S sudo
<code style=font-size:12px>pacstrap /mnt base base-devel linux linux-firmware dhcpcd nano</code><br><br>
Damit der Benutzer Root-Rechte bekommt, muss eine Konfiguration verändert werden. Eingabe von:
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 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>


===Weitere nützliche Dienste===
<u>fstab erzeugen:</u><br>
<code style=font-size:12px>genfstab -L /mnt > /mnt/etc/fstab</code><br><br>


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


# systemctl enable --now fstrim.timer
Weiter siehe Kapitel [[3._Konfiguration|3. Konfiguration]]<br><br>
----------
<b>B) Crypted Root</b>


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.
<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>{{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>


# pacman -S acpid dbus avahi cups
<u>Kernelmodul laden:</u><br>
<code style=font-size:12px>modprobe dm-crypt</code><br><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 /dev/'''x'''1</code><br><br>


# systemctl enable <Dienstname>  
<u>Verschlüsselte Partiton oeffnen und mappen:</u><br>
<code style=font-size:12px>cryptsetup open /dev/'''x'''1 ROOT</code><br>
<u>Und formatieren:</u><br>
<code style=font-size:12px>mkfs.ext4 /dev/mapper/ROOT</code><br><br>


Für diese Beispiele:  
<u>Mounten:</u><br>
<code style=font-size:12px>mount /dev/mapper/ROOT /mnt</code><br><br>
# systemctl enable acpid
# systemctl enable avahi-daemon
# systemctl enable cups.service


Auch ist es sinnvoll, einen Netwerkservice für den Internetzugang automatisch zu laden:
<u>Installation der Basispakete:</u><br>
<code style=font-size:12px>pacstrap /mnt base base-devel linux linux-firmware dhcpcd nano cryptsetup</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 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>


===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===
<u>Erzeugen einer Schlüsseldatei zur Vermeidung einer zweiten Eingabe des Verschlüsselungspassworts:</u><br>
Wer die Zeit automatisch korrigieren lassen will, kann das mit ''systemd-timesyncd'' machen.  
<code style=font-size:12px>dd bs=512 count=4 if=/dev/urandom of=/keyfile.bin</code><br>
systemctl enable --now systemd-timesyncd.service
<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>


Die Zeit wird nach wenigen Sekunden korrekt sein.<br>
<code style=font-size:12px>nano /etc/mkinitcpio.conf</code><br>
Um zu sehen, ob die Uhrzeit nun auch wirklich korrekt ist, kann man folgenden Befehl nutzen:
<u>'/keyfile.bin' zu Files hinzufuegen:</u><br>
date
<code style=font-size:12px>FILES=(/keyfile.bin)</code><br>
Anschließend kann man die Hardwareuhr oder auch RTC oder CMOS-Uhr auf der Hauptplatine korrigieren.
<u>Die Zeile 'HOOKS' in dieser Reihenfolge anpassen:</u><br>
hwclock -w
<code style=font-size:12px>HOOKS="base udev autodetect keyboard keymap modconf block encrypt filesystems fsck"</code><br>
<u>Und neues initramfs erzeugen</u><br>
<code style=font-size:12px>mkinitcpio -p linux</code><br><br>


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.
Weiter siehe Kapitel [[3._Konfiguration|3. Konfiguration]]<br><br>
----------
<b>Entwurf Artikel: 3. Konfiguration</b>


=Kopie aus AfE:=
Letztes siehe Kapitel 2.[[spicker | Arch Linux Installations Spickzettel]]<br>


===Installation eines Bootloaders===
<b>3. Konfiguration:</b><br>


* Als Bootmanager für BIOS-Boot-Systeme stehen [[Grub]] und [[syslinux]] zur Verfügung.
<code style=font-size:12px>echo '''mein-rechner''' > /etc/hostname</code><br>
* Für UEFI-BOOT-Syteme kann als Bootloader [[systemd-boot]] oder [[EFISTUB]] oder [[Grub]] oder [[rEFInd]] eingesetzt werden.<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>


====Installation des GRUB Bootloaders====
<code style=font-size:12px>nano /etc/locale.gen</code><br>
Für Benutzer von intel-ucode bitte folgende Seite zusätzlich beachten: [[Microcode]].<br>
<u>Und das # am Anfang folgender Zeilen entfernen:</u><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>
<code style=font-size:12px>#de_DE.UTF-8 UTF-8</code><br>
Installation des Pakets:
<code style=font-size:12px>#de_DE ISO-8859-1</code><br>
pacman -S grub
<code style=font-size:12px>#de_DE@euro ISO-8859-15</code><br>
Booten per '''BIOS'''
<code style=font-size:12px>#en_US.UTF-8 UTF-8</code><br>
grub-install /dev/sda
Booten per '''UEFI'''


Installation des EFI Bootmanagers (sonst kommt die Fehlermeldung: efibootmgr: not found):
<code style=font-size:12px>locale-gen</code><br><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:
<u>Das Root Password erstellen:</u><br>
<code style=font-size:12px>passwd</code><br><br>


Es kann jetzt die Grub Konfiguration generiert werden.
<u>Den Benutzer 'duda' anlegen und ihn ggf. zu den Gruppen hinzufuegen:</u><br>
grub-mkconfig -o /boot/grub/grub.cfg
<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>


Sollte '''grub-mkconfig''' dabei eine Fehlermeldung wie
<u>Gruppenmitgliedern von wheel Rootrechte per 'sudo' verleihen:</u><br>
  ...
<code style=font-size:12px>EDITOR=nano visudo</code><br>
  error: out of memory.
<u>Kommentarzeichen und Leerzeichen von dieser Zeile entfernen:</u><br>
  error: syntax error.
<code style=font-size:12px># %wheel ALL=(ALL) ALL</code><br><br>
  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>Weitere Dienste installieren:</u><br>
  # fix broken grub.cfg gen
<code style=font-size:12px>pacman -S acpid avahi iwd</code><br><br>
  GRUB_DISABLE_SUBMENU=y


und ein erneuter Aufruf von '''grub-mkconfig''' Abhilfe schaffen.
<u>Dienste aktivieren:</u><br>
<code style=font-size:12px>systemctl enable acpid</code> - Energieverwaltung<br>
<code style=font-size:12px>systemctl enable avahi-daemon</code> - Netzwerk Zuweisung<br>
<code style=font-size:12px>systemctl enable NetworkManager</code> - Netzwerkmanager<br>
<code style=font-size:12px>systemctl enable iwd</code> - WLAN Daemon</u><br>
<code style=font-size:12px>systemctl enable systemd-timesyncd</code> - Zeit Synchronisation<br><br>


====Installation des Syslinux Bootloader====
----------
Wenn bereits ein Linux-Bootloader installiert ist, kann dieser Punkt übersprungen werden. Der bereits vorhandene Bootloader muss natürlich entsprechend konfiguriert werden.
<b>Entwurf Artikel: 4. Bootloader für BIOS-Rechner</b>


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:
Letztes Kapitel [[3._Konfiguration|3. Konfiguration]]<br><br>
Failed to load ldlinux.c32 . Boot failed: Please change disks and press a key to continue.


Syslinux kann jetzt installiert werden.<br>
<b>4. Bootloader für BIOS-Rechner</b><br>
Bei einer GPT-Partitionstabelle muss das Paket gptfdisk zusätzlich installiert werden.
* A) Grub
pacman -S gptfdisk
* B) syslinux
pacman -S syslinux
* C) Grub (crypted)<br><br>
Mit einem Editor (nano) die Konfigurationsdatei anpassen:
---------------
nano /boot/syslinux/syslinux.cfg
<b>A) Grub</b>
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
<u>Grub installieren:</u><br>
syslinux-install_update -iam
<code style=font-size:12px>pacman -S grub</code><br>
<code style=font-size:12px>grub-install /dev/'''x'''</code><br>
<code style=font-size:12px>grub-mkconfig -o /boot/grub/grub.cfg</code><br><br>


=====Manuelle Installation von syslinux=====
<u>Chrootumgebung verlassen und Partitionen loesen:</u><br>
<code style=font-size:12px>exit</code><br>
<code style=font-size:12px>umount /mnt</code><br><br>


Falls nicht alles reibungslos ablief, kann Syslinux manuell installiert werden.
<code style=font-size:12px>poweroff</code><br>
<u>ISO-Stick entfernen, Neustarten und auf der Konsole Einloggen  </u><br><br>


Dazu wird mit dem Programm ''fdisk'' das Bootflag auf die Partition gesetzt, von der die Bootdaten gebootet werden sollen.<br>
Weiter siehe Kapitel [[4._Grafische_Benutzeroberfl%C3%A4che|4. Grafische Benutzeroberfläche ]]
Beispiel, um für /dev/sda1 das Bootflag zu setzen:
fdisk /dev/sda
x
a
p
r
w


Dann wird die Partition der Bootdaten, wie z. B. /dev/sda1, unter /boot gemountet und der Bootloader installiert.
-----------
mount /dev/sda1 /boot
<b>C) Grub (crypted r)</b><br>
mkdir /boot/syslinux
extlinux --install /boot/syslinux


Jetzt muss noch der MBR von Syslinux auf die Festplatte geschrieben werden.
<u>grub installieren:</u><br>
cat /usr/lib/syslinux/bios/mbr.bin > /dev/sda
<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>Und diese Zeile wie folgt anpassen:</u><br>
<code style=font-size:12px>GRUB_CMDLINE_LINUX="cryptdevice=/dev/'''x'''1:ROOT"</code><br>
<u>Und diese Zeile auskommentieren:</u><br>
<code style=font-size:12px>GRUB_ENABLE_CRYPTODISK=y</code><br>
 
<u>Initramfs suchen:</u><br>
<code style=font-size:12px>grub-install /dev/'''x''' --recheck</code><br>
<u>grub.cfg schreiben:</u><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 18. April 2024, 22:27 Uhr

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


(Versuch einer neuen Gliederung der Artikelserie)

Entwurf Artikel: 2. Partitionierung+Basispakete BIOS-Rechner

Arch Linux Installations Spickzettel
Letztes Kapitel 1. Vorbereitung

2. Partitionierung+Basispakete bei einem BIOS-Rechner

  • A) ROOT
  • B) ROOT + SWAP
  • c) Crypted ROOT

(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 dhcpcd 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 dhcpcd 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) Crypted Root

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

Kernelmodul laden:
modprobe dm-crypt

Root Partiton verschluesseln:
cryptsetup luksFormat /dev/x1

Verschlüsselte Partiton oeffnen und mappen:
cryptsetup open /dev/x1 ROOT
Und formatieren:
mkfs.ext4 /dev/mapper/ROOT

Mounten:
mount /dev/mapper/ROOT /mnt

Installation der Basispakete:
pacstrap /mnt base base-devel linux linux-firmware dhcpcd nano cryptsetup

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

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

Chrooten:
arch-chroot /mnt

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

nano /etc/mkinitcpio.conf
'/keyfile.bin' zu Files hinzufuegen:
FILES=(/keyfile.bin)
Die Zeile 'HOOKS' in dieser Reihenfolge anpassen:
HOOKS="base udev autodetect keyboard keymap modconf block encrypt filesystems fsck"
Und 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)


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 r)

grub installieren:
pacman -S grub

grub konfigurieren:
nano /etc/default/grub
Und diese Zeile wie folgt anpassen:
GRUB_CMDLINE_LINUX="cryptdevice=/dev/x1:ROOT"
Und diese Zeile auskommentieren:
GRUB_ENABLE_CRYPTODISK=y

Initramfs suchen:
grub-install /dev/x --recheck
grub.cfg schreiben:
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