From fe03715c0adf0c0b1f653037363e721310a564e5 Mon Sep 17 00:00:00 2001 From: Holger Wansing Date: Mon, 4 Aug 2014 08:21:31 +0000 Subject: Update for german d-i manual --- de/boot-installer/arm.xml | 148 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 144 insertions(+), 4 deletions(-) (limited to 'de/boot-installer/arm.xml') diff --git a/de/boot-installer/arm.xml b/de/boot-installer/arm.xml index 6b956e15d..a53c0f06c 100644 --- a/de/boot-installer/arm.xml +++ b/de/boot-installer/arm.xml @@ -1,19 +1,157 @@ - + + + + Boot-Image-Formate + + Auf ARM-basierten Systemen wird in den meisten Fällen eines + dieser beiden Formate für die Boot-Images verwendet: a) + Standard-Linux-Kernel im zImage-Format (vmlinuz) + zusammen mit einer Standard-Linux-Initial-Ramdisk + (initrd.gz) oder b) Kernel im uImage-Format + (uImage) zusammen mit dazu zugehöriger + Initial-Ramdisk (uInitrd). + + + uImage/uInitrd sind Image-Formate, die für die u-boot-Firmware + ausgelegt wurden, welche auf vielen ARM-basierten Systemen + eingesetzt ist. Ältere u-boot-Versionen können nur Dateien + im uImage-/uInitrd-Format booten, daher werden diese Formate oft + auf älteren armel-Systemen genutzt. Neuere u-boot-Versionen können - + neben uImage/uInitrd - auch Standard-Linux-Kernel- und Ramdisk-Images + booten, aber die Befehlssyntax dafür ist etwas anders als beim + Booten von uImages. + + + Für Systeme, die einen Multiplattform-Kernel verwenden, ist + zusätzlich zu Kernel- und Initial-Ramdisk-Image noch eine + sogenannte Gerätebaum-Datei (auch Gerätebaum-Abbild / + device-tree blob, dtb) erforderlich. Diese ist + spezifisch für jedes unterstützte System und enthält eine + Beschreibung der jeweiligen Hardware. + + Booten per TFTP &boot-installer-intro-net.xml; - - - + + TFTP-Boot in u-boot + + 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 ) oder eventuelle + Voreinstellungsoptionen (Näheres in und ) - + 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. + + + + + + -- cgit v1.2.3