Arch-Linux
Aus VDR Wiki
ACHTUNG: Dieser Artikel war stark veraltet und wird daher neu geschrieben!!!
[Bearbeiten] Allgemein
Arch Linux ist eine flexible und minimalistische Distribution für jeden erdenklichen Einsatz-Zweck. Ein einfaches Grundsystem kann nach den Bedürfnissen des jeweiligen Nutzers nahezu beliebig erweitert und angepasst werden.
Arch Linux verwendet ein "gleitendes Release-System", das etwa so funktioniert: Das Core-Repositorium enthält immer die neusten und stabilsten Versionen der Pakete. Sowie ein Paket aktualisiert wurde, landet es, nach einer eventuellen (kurzen) Testing Phase, in Core. Es werden regelmäßig Snapshots von Core erstellt und als ISO bereitgestellt.
Die Arch Linux Standardrepositories enthalten eine begrenzte Anzahl an Paketen, die direkt gepflegt werden. Die Philosophie dahinter ist, dass die Distribution durch die Benutzer, die Sie einsetzen gepflegt und erweitert wird. So steht neben den Arch Linux Standardrepositories (trusted) noch das AUR (Arch User Repository - untrusted) zur Verfügung, indem Benutzer Ihre Packagebuilds allen zur Verfügung stellen können.
Vorkompilierte Pakete werden derzeit für die i686- und x86_64-Architekturen bereitgestellt, das ABS (Arch Build System) ermöglichen zudem den schnellen Eigenbau von Paketen. Für die Paketverwaltung steht das Tool Pacman zur Verfügung, dieses kann ein System aktuell halten, indem er die lokalen Paket-Listen mit denen des Hauptservers abgleicht. Für den sicherheitsbewussten System-Verwalter werden die normalen Wartungsarbeiten dadurch sehr einfach. Das Server/Client-System erlaubt es außerdem, mit nur einem einfachen Befehl Pakete herunterzuladen und zu installieren - komplett mit allen Abhängigkeiten (ähnlich wie bei Debians apt-get). Das Tool für die Paketverwaltung heißt Pacman.
[Bearbeiten] Vorteile
+ Das Grundsystem ist innerhalb weniger Minuten installiert
+ Die Konfiguration erfolgt zentral über die Datei rc.conf
+ sehr aktuelle Pakete und eine gleitendes Releasesystem
+ sehr einfach aktuell zu halten (via: pacman -Syu )
+ einfach zu verwaltendes BSD init
+ schneller Start
+ optimiert für i686 und x86_64
+ Lernfaktor hoch
+ alles funktioniert nach dem KISS Prinzip (Keep it simple and stupid)
+ VDR Installation via Installscript möglich
[Bearbeiten] Nachteile
- Die Gesamtinstallation (incl. VDR) macht Arbeit
- Die Benutzung setzt Lernbereitschaft voraus
[Bearbeiten] Installation des Arch Linux
[Bearbeiten] 1. ISO besorgen
Es stehen verschiedenne Images zur Verfügung, die die Installation via CD und USB-Stick bzw externer Festplatte genutzt werden können.
Die aktuelle Version (Arch 2009.08) - https://wiki.archlinux.de/title/Download
Es empfiehlt sich an dieser Stelle das Netinstall Image zu benutzen, so erhält man gleich bei der Installation ein aktuelles System.
[Bearbeiten] 2. Booten
Zum booten des Live-Systems für den Installer einfach 'enter' drücken und das System wird gestartet. Wem die Auflösung z.B. bei großen TFT-Monitoren zu gering ist kann via Druck auf die 'e' Taste die Startparameter ändern und fügt hier z.B. am ende der Zeile folgendes ein:
vga=795
Danach bootet Arch mit einer Framebufferauflösung von 1280x1024 Bildpunkten, was ich persönlich wesentlich angenehmer empfinde. In der Tabelle können die möglichen Standardauflösungen entnommen werden, die zur Verfügung stehen.
# FRAMEBUFFER RESOLUTION SETTINGS</code>
# +-------------------------------------------------+ # | 640x480 800x600 1024x768 1280x1024 # ----+-------------------------------------------- # 256 | 0x301=769 0x303=771 0x305=773 0x307=775 # 32K | 0x310=784 0x313=787 0x316=790 0x319=793 # 64K | 0x311=785 0x314=788 0x317=791 0x31A=794 # 16M | 0x312=786 0x315=789 0x318=792 0x31B=795 # +-------------------------------------------------+
[Bearbeiten] 3. Setup starten
Es gibt verschiedenne Möglichkeiten die Grundinstallation durchzuführen, diese kann direkt an der lokalen Maschine oder aus der Ferne via ssh durchgeführt werden.
[Bearbeiten] Für das entfernte Setup via ssh geht man wie folgt vor:
nano /etc/ssh/sshd_config
In der Datei werden die folgenden auskommentierten Zeilen wieder einkommentiert (dies geschieht durch das löschen der vorangestellten '#'
Port 22 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key
Anschließend müssen wir noch definieren, von wo aus wir auf den sshd zugreifen dürfen
nano /etc/hosts.allow
dazu wird die folgende Zeile eingefügt:
sshd:ALL
Danach muss für das livesystem noch ein root Passwort vergeben werden
passwd
ACHTUNG: Das root Passwort gilt nur für das gebootete Livesystem und muss daher unbedingt im Installationsdialog neu gesetzt werden!
Nun starten wir unser Netzwerksystem und holen uns eine IP-Adresse vom DHCP
dhcpcd eth0
Starten des sshd
/etc/rc.d/sshd start
Ab diesem Punkt können wir uns auf unserem VDR via ssh anmelden und die Installation aus der Ferne z.B. von einem Laptop aus fotführen. Von meinem MacBook öffne ich an dieser Stelle eine Konsole und öffne eine Verbindung zu meinem VDR wie folgt:
ssh -l root <ip-adresse_des_vdr>
Nun folgt man den Schritten für das lokale Setup.
[Bearbeiten] Für das lokale Setup geht man wie folgt vor:
/arch/setup
Es folgt ein textbasierter Dialog. Hier ist zu beachten, dass alle Anweisungen mit "DONE" im Dialog bestätigt werden müssen.
[Bearbeiten] Installationsquelle Auswählen
archlinux kann nach dem booten von CD-ROM oder aus Netz installiert werden. Hat man zur Installation ein core-image gewählt kann man nun auswählen, welche der beiden Quellen bevorzugt wird. Hat man hingegen das netinstall-image gewählt muss man an dieser Stelle als Quelle das Netz wählen, da nicht alle Pakete, die benötigt werden auf dem Installationsmedium vorhanden sind.
[Bearbeiten] Einrichten des Netzwerks
Achtung: sollte dies Installation via ssh erfolgen, diesen Schritt einfach überspringen, da das Netzwerk bereits eingerichtet ist.
Der erste Eintrag "Setup Network" erlaubt Dir, dein Netzwerk-Gerät zu installieren und einzurichten. Falls Du ein WLAN-Gerät benutzt, musst Du immer noch die üblichen Werkzeuge benutzen und es manuell einrichten. In diesem Fall ist dieser Teil des Installers nicht besonders nützlich. Es wird Dir eine Liste mit allen verfügbaren Netzwerk-Geräten angezeigt. Falls noch kein Ethernet-Gerät verfügbar ist, oder das von Dir gewünschte nicht angezeigt wird, drücke entweder OK, um danach zu suchen, oder Du wechselt in eine andere Konsole und lädst das Modul von Hand. Wenn Du deine Netzwerk-Karte immer noch nicht konfigurieren kannst, stelle sicher, dass sie physisch korrekt installiert ist und vom Linux Kernel unterstützt wird.
Wenn das richtige Modul geladen ist und deine gewünschte Netzwerk-Karte angezeigt wird, solltest Du das Ethernet-Gerät auswählen, welches Du konfigurieren willst. Es wird Dir später die Option angeboten, das Netzwerk mit DHCP zu konfigurieren. Falls dein Netzwerk DHCP nutzt, drücke YES und lass den Installer den Rest erledigen. Falls Du NO auswählst, wirst Du aufgefordert, die Netzwerk-Informationen manuell einzugeben. Dein Netzwerk sollte nun konfiguriert sein. In einer anderen Konsole kannst Du Standard-Tools wie ping verwenden um zu überprüfen, ob die Konfiguration erfolgreich war.
[Bearbeiten] Auswahl des Spiegelservers
Mit Hilfe der "Choose Mirror"-Funktion kann der bevorzugte Spiegel-Server ausgewählt werden. Von diesem Server werden alle Pakete zur Installation in deinem neuen Arch Linux-System heruntergeladen. Es empfiehlt sich, einen möglichst nahe liegenden Server zu wählen, um eine größere Geschwindigkeit beim Download zu erzielen (Ich verwende hier gerne ftp://hosteurope.de - dieser ist immer aktuell und hat eine gute Geschwindikeit). Im weiteren Verlauf der Installation kannst Du diesen Server dann für dein neues System als Standard-Spiegel-Server übernehmen lassen.
Hinweis: ftp.archlinux.org ist auf 50 KB/s gedrosselt und sollte daher nicht verwendet werden.
[Bearbeiten] Einstellen der Systemzeit
Die Uhr zu stellen erlaubt dir, deine System-Uhrzeit anzugeben und das Datum zu setzen. Als Erstes musst Du angeben, ob deine Hardware-Uhr in UTC oder in lokaler Zeit gestellt ist bzw. gestellt werden soll. UTC ist bevorzugt, aber wenn Du ein OS installiert hast, das UTC BIOS-Zeiten nicht richtig nutzen kann - wie z.B. Windows - solltest Du lokale Zeit wählen. Als nächstes möchte das Setup von Dir den Kontinent und das Land für die Zeitzone wissen, und Du kannst die Uhr stellen. Selbstverständlich kannst Du dazu auch [NTP](http://www.ntp.org/) nutzen, wenn dein Netzwerk eingerichtet ist.
[Bearbeiten] Festplatte Vorbereiten
Die Funktion "Festplatte vorbereiten" führt Dich in ein Untermenü, das dir zwei Alternativen für die Vorbereitung deiner Ziel-Laufwerke für die Installation anbietet, und lässt Dich die Änderungen auch zurücknehmen, wenn Du es noch einmal versuchen möchtest.
Wähle an dieser Stelle die manuelle Partionierung und passe die Aufteilung nach deinen Wünschen an. Im Anschluss wählst du das manuelle festlegen der Einhängepunkte und passt diese deinen Bedürfnissen an.
Ich habe folgende Partitionen und Einhängepunkte eingerichtet:
primäre Partition /dev/sda1 - /boot ext4 100MB (bootable) primäre Partition /dev/sda2 - / ext4 6000MB primäre Partition /dev/sda3 - /swap swap 4096MB primäre Partition /dev/sda4 - /video ext4 Rest
[Bearbeiten] Select Packages / Pakete auswähren
"Select Packages" wird Dir erlauben, jene Pakete auszuwählen, die Du von CD, über USB oder von deinem NET-Spiegel installieren möchtest. Du hast die Möglichkeit, ganze Paket-Gruppen zu definieren, von denen Du normalerweise Pakete installieren möchtest, um dann die grobe Auswahl zu verfeinern. Dazu musst Du einzelne Pakete innerhalb der Gruppen mit Hilfe der Leer-Taste an- oder abwählen. Du solltest zuerst alle Pakete aus "base" und "base-develop" installieren. Die getroffene Vorauswahl sollte übernommen werden. Die einzige Ausnahme von dieser Regel ist, dass Du vielleicht noch weitere Pakete installieren möchtest, die für Deine Internet-Verbindung wichtig sind oder den sshd für die weitere Benutzung nach dem Neustart des neu installierten Systems.
Wenn Du die Auswahl der von Dir benötigten Pakete abgeschlossen hast, verlasse das Auswahl-Fenster und fahre mit dem nächsten Schritt fort.
[Bearbeiten] Install Packages / Pakete installieren
"Install Packages" wird nun das Grund-System auf deiner Festplatte installieren, sowie alle zusätzlich ausgewählten Pakete mit deren Abhängigkeiten. Dieser Schritt hat bei mir in etwa 10 Minuten gedauert.
[Bearbeiten] Configure System / System konfigurieren
"Configure System" macht folgende Dinge:
* Automatisches Voreinstellen einiger Konfigurationsdateien (z.B. die menu.lst von GRUB, HOOKS in mkinitcpio.conf, keymap-Einstellungen in rc.conf, Spiegelserverliste für Pacman, etc) * Voreinstellen von Konfigurationsdateien nach Deiner Zustimmung. (z.B. Netzwerkeinstellungen) * Erlaubt Dir, wichtige Konfigurationsdateien für dein Ziel-System manuell zu ändern. Du wirst gefragt, welchen Texteditor Du benutzen willst. Du hast die Wahl zwischen nano, joe und vi. * Erlaubt Dir, das Root-Passwort für dein System zu setzen.
Ich empfehle hier die Verwendung des Editors "nano", da dieser sehr einfach zu Bedienen ist.
[Bearbeiten] Konfigurationsdateien anpassen
[Bearbeiten] rc.conf
Als erstes sollte man die Einstellungen der rc.conf anpassen. Hier ein auszug aus meiner rc.conf zu diesem Zeitpunkt. Ich habe an dieser Stelle mit festen IP-Adressen gearbeitet (wer dies tut muss auch in der resolv.conf einen Nameserver eingeben), wer lieber mit dem DCHP arbeitet kommentiert die Zeile mit "eth0="dhcp"" wieder ein und die darüber aus. Die Daemons Zeile gibt an welche Dienste beim Boot gestartet werden undzwar in der Reihenfolge von links nach rechts (beim herunterfahren entsprechend entgegengesetzt beendet werden). Wer nach der Installation wieder per ssh auf den VDR möchte muss hier entsprechend "sshd" als letzten Punkt eintragen.
LOCALE="de_DE.UTF-8" HARDWARECLOCK="UTC" TIMEZONE="Europe/Berlin" KEYMAP="de"
HOSTNAME="Name_des_VDR"
#Static IP example eth0="eth0 192.168.172.202 netmask 255.255.255.0 broadcast 192.168.172.255" #eth0="dhcp" INTERFACES=(eth0)
gateway="default gw 192.168.172.1" ROUTES=(gateway)
DAEMONS=(syslog-ng network netfs crond sshd)
[Bearbeiten] hosts.allow
Diejenigen, die ssh Benutzen möchten müssen in die hosts.allow folgenden Eintrag machen:
sshd:ALL
[Bearbeiten] locale.gen
Damit die in der rc.conf ausgewählten locales zur Verfügung stehen müssen wir hier durch einkommentieren (löschen der "#" vor der Zeile) angeben, welche das System erzeugen soll.
de_DE.UTF-8 UTF-8 de_DE ISO-8859-1 de_DE@euro ISO-8859-15
[Bearbeiten] Setzen des root Passworts
An diesem Punkt musst Du das Root-Passwort für dein System setzen. Wähle das Passwort sorgfältig, vorzugsweise aus einem Mix aus alphanumerischen und Sonderzeichen. Dieses Passwort erlaubt Dir, kritische Teile deines Systems zu modifizieren! Nachdem Du die Konfigurationsdateien editiert hast, wähle Return, um zum Hauptmenü zurück zukehren. Das Setup erneuert anschließend den initial ramdisk, damit die Änderungen in der mkinitcpio.conf ihre Wirkung zeigen.
[Bearbeiten] Installation des Bootloaders
"Install Bootloader" wird einen Bootloader auf deiner Festplatte installieren, entweder GRUB oder keinen (NONE), wenn Du bereits einen Bootloader installiert hast und diesen verwenden möchtest. Wenn Du dich für die Installation von GRUB entscheidest, wird das Setup-Skript dich auffordern, die entsprechende Konfigurations-Datei zu überprüfen und die richtigen Einstellungen zu bestätigen.
[Bearbeiten] /boot/grub/menu.ls
Wenn Du GRUB verwenden möchtest, solltest Du diese Datei überprüfen und ggf. ändern, um dein Boot-Setup anzupassen. Ansonsten wirst Du die Konfigurations-Datei deines bereits bestehenden Bootloaders modifizieren müssen. Der Installer wird diese Datei bereits mit UUID-Einträgen beschrieben haben, die Du vielleicht in den gleichen Fällen ändern musst, in denen dies auch für deine fstab erforderlich war.
Nachdem Du bestätigt hast, dass die Konfiguration korrekt ist, wirst Du nach der Partition gefragt, in die der Bootloader installiert werden soll. Sofern Du nicht bereits einen anderen Bootloader verwendest, solltest Du GRUB in den MBR der Festplatte installieren, der normalerweise durch den entsprechenden Gerätenamen ohne ein Zahlensuffix bezeichnet wird.
[Bearbeiten] Beenden der Installation
Diejenigen, die nach der Installation per ssh auf den VDR möchten müssen vor dem Neustart noch die sshd_config wie am Anfang modifizieren:
nano /mnt/etc/ssh/sshd_config
Port 22 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key
Verlasse die Installationsroutine, entferne das Medium, das Du zur Installation verwendet hast, führe ein
reboot
in der Kommandozeile aus und bete ;)
Ab hier noch im Aufbau...
[Bearbeiten] Erste Schritte
Nach dem ersten Start sollte uns nun der sshd zur Verfügung stehen (oder wir lokal an der Maschine arbeiten). Der erste Schritt ist nun die Aktualisierung des Paketverwaltung und das ersetzen der installierten Pakete gegen die aktuellen.
pacman -Syu
Anschließend sollten wir noch ein paar wichtige Pakete installieren, die wir im späteren Verlauf benötigen
pacman -S dbus hal cpufreq cpufreq-utils nvidia nvidia-utils lirc lirc-utils alsa-lib alsa-utils
Der Paketmanager wird automatisch alle Abhängigkeiten auflösen und die Liste der zu installierenden Pakete anpassen, wir müssen dies lediglich noch bestätigen.
[Bearbeiten] cpufreqd
Damit unser VDR nicht immer auf voller Leistung fährt gibt es das Tool cpufreqd, das die Taktfrequenz unseres Hauptprozessores dynamisch anpassen kann, oder fest auf einen Wert setzt. Wir benötigen dazu noch das passende Kernelmodul, dass wir laden müssen. In meinem Fall (AMD Athlon X2) ist das powerknow-k8
modprobe powernow-k8
anschließend können wir mit dem Befehl
cpufreq-info
überprüfen ob alles geklapt hat und mit
cpufreq-set -f 1800MHz
die Taktfrequenz unserer CPU auf 1,8GHz setzen. Wenn das System über eine dynamische Lüftersteuerung verfügt wird man nach kurzer Zeit einen Unterschied hören können. Es gibt für cpufreqd verschiedenne vordefinierte Profile, die von Stromsparen bis Höchstleistung alles mögliche bieten. Um diese richtig nutzen zu können müssen wir noch unsere Einstellungsdatei anpassen:
nano /etc/conf.d/cpufreq
Das ganze sollte dem eigenen System entsprechend angepasst werden
# valid governors: # ondemand, performance, powersave, # conservative, userspace governor="powersave"
# limit frequency range (optional) # valid suffixes: Hz, kHz (default), MHz, GHz, THz min_freq="1.8GHz" max_freq="2.2GHz"
# use freq to set up the exact cpu frequency using it with userspace governor #freq=1.8GHz
Anschließend starten wir den Dienst von Hand mit:
/etc/rc.d/cpufreqd start
Um den Dienst automatisch beim Systemstart zu starten müssen wir Ihn noch in die rc.conf eintragen
nano /etc/rc.conf
DAEMONS=(syslog-ng network netfs crond sshd dbus hal cpufreqd)
[Bearbeiten] lirc
Um unseren VDR bequem mit der Fernbedienung nutzen zu können haben wir bereits lircd installiert, diesen müssen wir nun noch einrichten, was ich exemplarisch anhand meines Systems hier erklären möchte
[Bearbeiten] lcdproc
[Bearbeiten] xorg
[Bearbeiten] ToDo
- lircd
- lcdproc
- xorg server
- xine
- vdpau
- alsa
- vdr
- vdr-addons
- vdr-plugins

