Anmerkung | |
---|---|
Informationen darüber, wie Sie den grafischen Installer booten, finden Sie im Abschnitt 5.1.6, „Der Grafische Installer“. |
Der grafische Installer ist auf den arm64 debian-installer
-Images aktiviert (experimentell), aber auf manchen Geräten müssen Sie unter Umständen trotzdem die serielle Konsole verwenden. Das Konsolengerät sollte automatisch durch die Firmware erkannt werden; falls dies jedoch nicht funktioniert, sehen Sie nach dem Booten von Linux über das GRUB-Menü nur die Nachricht „Booting Linux“ und danach weiter nichts.
In diesem Fall müssen Sie eine Konfiguration für eine spezielle Konsole auf der Kernel-Befehlszeile setzen. Drücken Sie im GRUB-Menü e
für „Edit kernel command-line“ und ändern Sie
--- quiet
in
console=<gerät>,<geschwindigkeit>
, also z.B.
console=ttyAMA0,115200n8
. Drücken Sie danach Strg+x, um das Booten mit der neuen Einstellung fortzusetzen.
Juno ist ein UEFI-System, daher ist die Installation ziemlich einfach. Die praktischste Methode ist die Installation von einem USB-Stick. Sie benötigen eine aktuelle Firmware, um von USB booten zu können. Builds von http://releases.linaro.org/members/arm/platforms/latest/ mit einem Datum nach März 2015 wurden diesbezüglich erfolgreich getestet. Konsultieren Sie die Juno-Dokumentation, wie Sie ein Update der Firmware durchführen.
Bereiten Sie ein Standard-arm64-CD/DVD-Image auf einem USB-Stick vor. Stecken Sie ihn in einen der USB-Ports auf der Rückseite ein. Schließen Sie ein serielles Kabel an den oberen 9-poligen seriellen Anschluß auf der Rückseite an. Falls Sie eine Netzwerkverbindung benötigen (z.B. bei einem netboot-Image), stecken Sie ein Ethernet-Kabel in den Anschluß auf der Vorderseite des Juno ein.
Starten Sie jetzt eine serielle Konsole mit 115200 + 8Bit ohne Parität und booten Sie den Juno. Er sollte von dem USB-Stick booten und ein GRUB-Menü anzeigen. Die Konfiguration der Konsole wird auf dem Juno nicht korrekt detektiert, daher bekommen Sie keine Kernel-Ausgabe, wenn Sie einfach nur Enter drücken. Setzen Sie die Konsole auf
console=ttyAMA0,115200n8
, wie in Abschnitt 5.1.1, „Konfiguration der Konsole“ beschrieben. Ein anschließendes Drücken von Strg+x sollte den debian-installer
zur Anzeige bringen; fahren Sie nun wie bei einer normalen Installation fort.
Für dieses Gerät ist UEFI verfügbar, allerdings wird es normalerweise mit U-Boot ausgeliefert. Daher können Sie entweder zunächst UEFI-Firmware installieren und dann Standard-Boot- und Installationsmethoden verwenden, oder Sie nutzen Methoden, um mit U-Boot zu booten. Sie müssen eine serielle Konsole verwenden, um die Installation durchzuführen, da der grafische Installer auf der arm64-Architektur nicht aktiviert ist.
Die empfohlene Methode zur Installation ist, Kernel und initrd des debian-installer
auf die Festplatte zu kopieren (nutzen Sie dazu das openembedded-System, das dem Gerät beiliegt), und booten Sie anschließend von der Festplatte, um den Installer zu starten. Alternativ können Sie TFTP verwenden, um Kernel, dtb und initrd rüber zu kopieren und zu booten (Abschnitt 5.1.4.1, „TFTP-Boot in U-Boot“). Nach der Installation sind manuelle Änderungen nötig, um von dem installierten Image zu booten.
Starten Sie eine serielle Konsole mit 115200 + 8Bit ohne Parität und booten Sie das Gerät. Sobald Sie nach dem Neustart die Anzeige „Hit any key to stop autoboot:“ sehen, drücken Sie eine Taste, um einen Mustang#-Prompt zu bekommen. Verwenden Sie dann die entsprechenden U-Boot-Befehle, um Kernel, dtb und initrd zu laden und zu booten.
Um per Netzwerk booten zu können, benötigen sie eine Netzwerkverbindung sowie einen TFTP-Netzwerk-Boot-Server (und unter Umständen auch einen DHCP-, RARP- oder BOOTP-Server zur automatischen Netzwerkkonfiguration).
Die server-seitige Einrichtung zur Unterstützung vom Booten über Netzwerk ist im Abschnitt 4.4, „Dateien vorbereiten für TFTP-Netzwerk-Boot“ beschrieben.
Das Booten von Systemen über das Netzwerk mittels der U-Boot-Firmware erfordert drei Schritte: a) Konfigurieren des Netzwerks, b) Laden der Images (Kernel/Initial-Ramdisk/dtb) in den Speicher und c) das eigentliche Ausführen des vorher geladenen Codes.
Als erstes müssen Sie das Netzwerk konfigurieren, entweder automatisch über DHCP, indem Sie dies ausführen:
setenv autoload no dhcp
oder manuell, indem Sie verschiedene Umgebungsvariablen setzen:
setenv ipaddr <ip-adresse des clients> setenv netmask <netmask> setenv serverip <ip-adresse des tftp-servers> setenv dnsip <ip-adresse des nameservers> setenv gatewayip <ip-adresse des standard-gateways>
Falls Sie möchten, können Sie diese Einstellungen auch fest einrichten mit:
saveenv
Danach müssen Sie die Images (Kernel/Initial-Ramdisk/dtb) in den Speicher laden. Dies wird mit dem tftpboot-Befehl erledigt, der zusammen mit der Adresse, an der das Image im Speicher abgelegt werden soll, angegeben werden muss. Unglücklicherweise kann die Lücke im Speicher von System zu System variieren, daher gibt es keine grundsätzliche Regel, welche Adresse hierfür verwendet werden muss.
Auf einigen Systemen legt U-Boot einige Umgebungsvariablen mit passenden Ladeadressen an: kernel_addr_r, ramdisk_addr_r und fdt_addr_r. Sie können überprüfen, ob diese definiert sind, indem Sie dies ausführen:
printenv kernel_addr_r ramdisk_addr_r fdt_addr_r
Falls sie nicht definiert sind, müssen Sie die Dokumentation des Systems konsultieren bezüglich näherer Angaben zu passenden Werten und diese händisch setzen. Für Systeme, die auf Allwinner SunXi-SoCs (z.B. dem Allwinner A10, Architekturname „sun4i“ oder dem Allwinner A20, Architekturname „sun7i“) basieren, können Sie z.B. folgende Werte nutzen:
setenv kernel_addr_r 0x46000000 setenv fdt_addr_r 0x47000000 setenv ramdisk_addr_r 0x48000000
Sind die Ladeadressen bereits definiert, können Sie die Images von dem vorher definierten TFTP-Server in den Speicher laden mit:
tftpboot ${kernel_addr_r} <dateiname des kernel-images> tftpboot ${fdt_addr_r} <dateiname des dtb> tftpboot ${ramdisk_addr_r} <dateiname des initial-ramdisk-images>
Der dritte Schritt ist das Setzen der Kernel-Befehlszeile und das eigentliche Ausführen des geladenen Codes. U-Boot übergibt den Inhalt der Umgebungsvariable „bootargs“ als Befehlszeile an den Kernel; also können alle Parameter für den Kernel und den Installer - wie z.B. die Konsolen-Gerätedatei (lesen Sie dazu Abschnitt 5.3.1, „Booten mit serieller Konsole“) oder eventuelle Voreinstellungsoptionen (Näheres in Abschnitt 5.3.2, „Debian-Installer-Parameter“ und Anhang B, Automatisieren der Installation mittels Voreinstellung) - mit einem Befehl wie dem folgenden gesetzt werden:
setenv bootargs console=ttyS0,115200 rootwait panic=10
Der exakte Befehl zur Ausführung des vorher geladenen Codes hängt vom verwendeten Image-Format ab. Bei uImage/uInitrd lautet der Befehl:
bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
Bei nativen Linux-Image ist es:
bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}
Beachten Sie: wenn Sie Standard-Linux-Images booten, ist es wichtig, dass das Initial-Ramdisk-Image nach dem Kernel und der DTB geladen wird, da U-Boot die filesize-Variable (Dateigröße) auf die Größe der letzten geladenen Datei setzt und der bootz-Befehl benötigt die Größe des Ramdisk-Images, um korrekt zu arbeiten. Beim Booten eines plattformspezifischen Kernels, also eines Kernels ohne Gerätebaum-Abbild (DTB), lassen Sie den ${fdt_addr_r}-Parameter einfach weg.
Wenn Ihr Computer von USB booten kann, ist dies vielleicht der einfachste Weg zur Installation. Wir nehmen an, Sie haben alles wie unter Abschnitt 3.6.1, „Auswahl des Boot-Laufwerks“ und Abschnitt 4.3, „Dateien vorbereiten für das Booten von einem USB-Memory-Stick“ beschrieben vorbereitet. Stecken Sie jetzt den USB-Stick in einen freien Steckplatz und starten Sie den Rechner neu. Das System sollte booten und (auf Systemen, die dies unterstützen) ein grafisches Boot-Menü anzeigen. Sie können hier verschiedene Installer-Optionen auswählen oder einfach Enter drücken.
Die grafische Version des Installers ist nur für eine begrenzte Anzahl von Architekturen verfügbar, unter anderem für 64-Bit ARM. Die Funktionalität des grafischen Installers ist grundsätzlich die gleiche wie die des textbasierten Installers, da er die gleichen Programme verwendet, nur mit einer anderen Bedienoberfläche (Frontend).
Obwohl die Funktionalität identisch ist, hat der grafische Installer trotzdem einige bedeutende Vorteile. Der hauptsächliche Vorteil ist, dass mehr Sprachen unterstützt werden, nämlich solche, die einen Zeichensatz verwenden, der in dem textbasierten „newt“-Frontend nicht dargestellt werden kann. Außerdem gibt es einige weitere Vorteile bezüglich der Bedienung, zum Beispiel die Nutzung einer Maus sowie die Möglichkeit, in einigen Fällen mehrere Fragen in einem Bild darstellen zu können.
Wie auch bei dem textbasierten Installer ist es möglich, Boot-Parameter hinzuzufügen, wenn der grafische Installer gestartet wird.
Anmerkung | |
---|---|
Der grafische Installer benötigt erheblich mehr Arbeitsspeicher als der textbasierte, und zwar mindestens 640MB. Falls nicht genügend Speicher verfügbar ist, wird automatisch das textbasierte „newt“-Frontend gebootet. Wenn der installierte Arbeitsspeicher in Ihrem System kleiner als 260MB ist, könnte der Start des grafischen Installers fehlschlagen, wobei jedoch der textbasierte Installer korrekt booten würde. Es wird empfohlen, auf Systemen mit wenig Arbeitsspeicher den textbasierten Installer zu verwenden. |