Arch Linux chrooten

Ich beziehe mich auf die Arch Linux Installationsanleitung von wiki.archlinux.de Systemverschlüsselung mit dm-crypt.

Wenn meine Arch Linux Installation aus irgend einen Grund nicht mehr booten möchte, versuche ich sie von einen Installationstick per chroot zu reparieren.

Ich boote von meinem Arch Linux Installationstick und arbeite in der Konsole.

Ich lade das deutsche Tastatur-Layout.

root@archiso ~ # loadkeys de-latin1

Ich entschlüssele die Festplatte in meinem Rechner.

root@archiso ~ # cryptsetup luksOpen /dev/sda2 lvm

Ich mounte die Partitionen der Festplatte in das Live-System.

root@archiso ~ # mount /dev/mapper/main-root /mnt
root@archiso ~ # mount /dev/mapper/main-home /mnt/home
root@archiso ~ # mount /dev/sda1 /mnt/boot

Jetzt wechsele ich in die chroot-Umgebung.

root@archiso ~ # arch-chroot /mnt

Nun kann ich mit Befehlen auf dem installierten System arbeiten. Wenn ich fertig bin verlasse ich die chroot-Umgebung.

[root@archiso /] / # exit

Ich hänge die Partitionen aus.

 root@archiso ~ # umount /mnt/boot
root@archiso ~ # #umount /mnt/home

Ich starte den Rechner neu.

root@archiso ~ #  reboot

Schlüsselbund verwalten

Bei der letzten Installation von Linux Antergos gab es Probleme beim installieren und updaten von Paketen.
Pacman gab Fehler aus: Paket defekt(PGP). Das Problem war schnell zu lösen. Es genügte die hinterlegten Schlüssel im Keyring neu zu laden.

pacman-key --refresh-keys

Nun lief Pacman wieder ohne zu murren. 🙂

[klaus@computer ~]$ sudo pacman -Syu
:: Synchronisiere Paketdatenbanken...
antergos ist aktuell
core ist aktuell
extra ist aktuell
community ist aktuell
multilib ist aktuell
:: Starte vollständige Systemaktualisierung...
Es gibt nichts zu tun

Zeitzone festlegen

Bei meinen letzten Installationen von Arch und Antergos wurde eine falsche Uhrzeit vom System ausgegeben. Ich musste nach der Installation, nochmals den Symlink für die Zeitzone setzen.

Den nicht funktionierenden Link löschen

sudo rm /etc/localtime

Symlink erneut setzen

sudo ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime

Grafikkarte ausgetauscht

An meinem Desktop-PC habe ich die Grafikkarte ausgetauscht. Als Betriebssystem läuft Arch Linux. Ich habe die Asus GeForce GTX 650Ti gegen eine Asus GeForce EX-GTX1050TI getauscht, um die Treiberinstallation brauchte ich mich nicht zu kümmern.

installierte Pakete

    • nvidia
    • nvidia-settings

Ich habe nur die Karten im Steckplatz ausgetauscht und das System neu gestartet. Die Grafikkarte wurde sofort vom System richtig erkannt, ohne dass ich etwas dazu tun musste. Da Lob ich mir Linux. 🙂

Den Pacman Cache leeren

Im November hatte ich meine Root-Partition auf 20GB vergrößert. Nun ist die Partition schon wieder um 4GB größer geworden, ohne das neue Installationen hinzukamen. Es galt nicht mehr benötigte und veraltete Pakete aus (/var/cache/pacman/pkg) zu entfernen. Einen Überblick verschaffe ich mir mit:

du -sh /var/cache/pacman/pkg

Nun entferne ich die nicht mehr benötigten gecachten Pakete.

sudo pacman -Sc
Pacman-Cache löschen
Pacman-Cache löschen

Nun ist meine Root-Partition nur noch mit 7GB belegt. 🙂

Syslinux und ext-Dateisysteme

Ab der Version Syslinux 6.03 müssen Partitionen bei 64Bit-Systemen anders formatiert werden.

Achtung: Seit Syslinux 6.03 werden einige der mit Version 1.43 der e2fsprogs (17. Mai 2016) neu eingeführten Eigenschaften wie z.B. die standardmäßig aktivierte 64bit Unterstützung der ext-Dateisysteme nicht mehr unterstützt. Siehe: [1] Syslinux bricht den Bootvorgang mit der Fehlermeldung ‚Failed to load ldlinux.c32‘ ab. Soll Syslinux von einer mit ext formatierten Partition booten muss beim Formatieren dieser Partition die Option ‚-O \^64bit‘ im mkfs-Befehl mit angegeben werden. Eine nachträgliche Umwandlung in 32bit-ext ist mit ‚resize2fs -s‘ möglich.

Quelle: https://wiki.archlinux.de/title/Syslinux

Die bisherige Formatierung, die den Fehler Failed to load ldlinux.c32 produziert, sah so aus.

mkfs.ext4 -L p_arch /dev/sda1

Wenn man Syslinux mit ext verwenden möchte, muss die Formatierung mit der Option -O \^64bit angepasst werden.

mkfs.ext4 -L p_arch -O\^64bit /dev/sda1

Mit diesem Wissen werde ich morgen eine neue Arch Linux Installation starten. 🙂

Die Dos-Partitionstabelle löschen

Wenn ich Linux neu aufsetze, dann möchte ich manchmal zuerst die vorhandene Partitionstabelle löschen. Dazu setze ich den dd-Befehl ein.

sudo dd if=/dev/zero of=/dev/sda bs=512 count=1

Mit dem Befehl wird der erste Sektor der Festplatte gelöscht. Dieser Bereich nennt sich Master Boot Record (MBR) und enthält die Partitionstabelle. Nach dem Löschen der Partitionstabelle sind die vorherigen Dateien auf der Festplatte noch vorhanden. Nun Kann ich eine neue Partitionstabelle anlegen und die Festplatte neu partitionieren. 🙂

Eine Schrift für die Konsole festlegen

Auf dem letzten Linux Stammtisch hatte ich erzählt, dass ich bei der Installation von Arch Linux auf meinem Lenovo ThinkPad X201 Probleme mit der Schriftausgabe hatte. Bei dem Drücken verschiedener Tasten erschienen nur kryptische Zeichen in der Konsole. Die Option loadkeys de-latin1 hatte ich natürlich gesetzt.
Susanne kannte diese Problematik und zeigte mir ihre Konfiguration. Sie hat die Schriftart terminus-font installiert und die /etc/vconsole.conf bearbeitet.

/etc/vconsole.conf

KEYMAP=de-latin1-nodeadkeys
FONT=Lat2-Terminus16

Sollte dieses Problem bei meiner nächsten Installation auf meinem ThinkPad nochmals auftauchen, dann werde ich diesen Tipp probieren.