with UART - linuxu3er

linux
u3er
Go to content
Debian 9 auf NAS mit UART
Nachdem die Installation von Debian 7 sogut und einfach funktioniert hatte, wollte ich ein aktuelleres Debian auf das NAS installieren. Dies war allerdings dann nicht mehr so einfach.

Vorbereitung
Um einen einheitlichen Stand zu erhalten muss zunächst der Ursprungszustand wieder hergestellt werden. Siehe „Debian 7 auf Zyxel NAS325v2 ohne UART (Seriell-Kabel), Zurücksetzten“. Anschließend sollte die Mainboardplatine des NAS ausgebaut werden um an die Stecker für das Seriell-Kabel zu gelangen. Zuerst müssen dazu die Festplatten ausgebaut und die beiden Schrauben an der Unterseite gelöst werden. Nun lässt sich das Gehäuse nach Hinten über den Lüfter wegziehen. Man schraubt dann den Festplattenkäfig, den Lüfter ab und anschließend die Platine selbst.

Nun braucht ihr ein Seriell-Kabel mit folgenden Eigenschaften:
EIGENSCHAFTEN, LINK Kabel

An die Platine lässt sich das Seriell-Kabel folgendermaßen anschließen.
BILD ANSCHLUSSPLAN KABEL

Das Seriell-Kabel ist nun auf der einen Seite mit dem Mainboard des NAS verbunden und kann jetzt auf der USB Seite mit dem Computer verbunden werden. Zur Anzeige der Ausgaben habe ich unter Linux das Programm „screen“ benutzt.
KOMMANDO AUFRUF

Sobald ihr dann den Powerknopf auf der NAS Platine drückt solltet ihr eine Textausgabe  über screen auf dem Computer sehen. Mit einem Tastendruck an der richtigen Stelle könnt ihr dann auch den Autostart der NAS Original Firmware unterbrechen und eingaben tätigen.

Nach Eingabe von Version wurde bei mir folgendes ausgegeben:
U-Boot 1.1.4 (Jul 18 2013 - 10:47:29) Marvell version: 3.5.9
Die Verbindung kann, muss aber nicht, für die folgende Konfiguration beendet werden.

NAS Boot vom USB-Stick konfigurieren
Da sich das NAS System nun wieder im Grundzustand befindet startet es nicht über USB-Stick. Dies muss wie im Tutorial „Debian 7 auf Zyxel NAS325v2 ohne UART (Seriell-Kabel)“. Beschrieben wieder eingerichtet werden. Die Befehle sind ähnlich aber nicht gleich, da das Debian 9 System eine andere Aufteilung auf dem USB-Stick haben wird. Anstatt der befehle im Debian 7 Tutorial müssen folgende befehlen eingegeben werden:
 ./fw_setenv arcNumber 4495  
 ./fw_setenv mainlineLinux yes  
 ./fw_setenv bootargs_stock 'console=ttyS0,115200  mtdparts=nand_mtd:0x100000(uboot),0x80000(uboot_env),0x80000(key_store),0x80000(info),0xA00000(etc),0xA0000  
 ./fw_setenv bootargs_linux 'console=ttyS0,115200 mtdparts=nand_mtd:0x100000(u-boot),0x400000(uImage),0x2000000(rootfs),0xDB00000(data), root=LABEL=rootfs lo  
 ./fw_setenv bootcmd_linux 'setenv bootargs $(bootargs_linux); mw.l f1010100 0020c000; usb reset; ext2load usb 0:1 $(loadaddr) /boot/uImage; ext2load usb 0:1  
 ./fw_setenv bootcmd_stock 'setenv bootargs $(bootargs_stock); nand read.e $(loadaddr) $(kernel_addr) 0xA00000; bootm $(loadadr)'  
 ./fw_setenv to_stock "setenv mainlineLinux no; setenv bootcmd \'run bootcmd_stock\'; saveenv; reset"  
 ./fw_setenv to_linux "setenv mainlineLinux yes; setenv bootcmd \'run bootcmd_linux\'; saveenv; reset"  
 ./fw_setenv bootcmd 'run to_linux'  
Das NAS System ist jetzt darauf konfiguriert von einem USB-Stick mit Debian 9 zu booten.

USB-Stick mit Debian Grundsystem und neuen UBoot erstellen
Als nächstes wird ein USB-Stick mit dem Debian System vorbereitet und dazu folgende Anleitung von Doozan genutzt (https://forum.doozan.com/read.php?2,12096).  Dort habe ich ein vollständiges Debian (Debian-4.12.1-kirkwood-tld-1-rootfs-bodhi.tar.bz2) runtergeladen und viel Zeit verbracht um die Anleitung zu verstehen bzw. nachzufragen was zu tun ist.
1. Ich habe einen USB-Stick nach den Angaben der Anleitung mit gParted formatiert. Bei mir hat nur der Sandisk Cruzer 32GB USB-Stick funktioniert, andere USB-Sticks von mir führten später dazu, dass kein Boot möglich war.
2. In der Konsole habe ich als root die Heruntergeladene Datei Debian-4.12.1-kirkwood-tld-1-rootfs-bodhi.tar.bz2 in das USB-Stick Verzeichnis /run/media/icke /rootfs entpackt

 sudo su  
 tar xvfj Debian-4.12.1-kirkwood-tld-1-rootfs-bodhi.tar.bz2 -C /run/media/icke /rootfs  

3. Ich habe keine Änderungen an fstab vorgenommen
4. Auch hier habe ich keine Änderungen vorgenommen, da ich den uBoot erneuern möchte.
5. Erledigt

Nun muss noch die Anleitung von Doozan für uBoot abgearbeitet werden und die Datei aktuelle uBoot-Datei (uboot.2016.05-tld-1.nsa325.bodhi.tar) runtergeladen werden. Außerdem muss das  Skript “uboot.2016.05-tld-1.environment.scr" runtergeladen werden.
1. Ich habe die /etc/fw_env.config kontrolliert und gesehen, dass es den Vorgaben entspricht
2. Wenn man möchte nochmal kontrollieren, ob die ethaddr (bei mir 00:50:43:00:02:02) gesetzt ist.
3. Die gesamte Ausgabe der printenv sichern.
4. ???
5. Die uBoot Datei habe ich auf den USB-Stick in das Verzeichnis /tmp kopiert
 sudo su  
 cp boot.2016.05-tld-1.nsa325.bodhi.tar /run/media/icke /rootfs /tmp  
 cp uboot.2016.05-tld-1.environment.scr /run/media/icke /boot/  
6. ???
7. ???

Erststart und Environment setzen
Jetzt den USB-Stick auf die Rückseite vom NAS stecken (vorne geht nicht) und den Bootvorgang unterbrechen. Dann müssen zuerst die Environment Variablen temporär festgelegt werden.
 usb start  
 ext2load usb 0:1 0x800000 /boot/uboot.2016.05-tld-1.environment.scr  
 source 0x800000  
 printenv  
 setenv devices 'usb ide'  
 setenv ethaddr xx:xx:xx:xx:xx:xx (replaced with my adress)  
 setenv dtb_file '/boot/dts/kirkwood-nsa325.dtb'  
 boot  
Dann kann man sich das erste mal als root anmelden mit dem Passwort “root”. Um in den Flash Speicher zu schreiben sind die mtd-utils notwendig, die man mit folgenden Befehl installieren kann.
 apt-get install mtd-utils  
Dann habe ich auf meinem Desktop PC die Environment Datei „uboot.2016.05-tld-1.environment.bodhi.tar „ runtergeladen, entpackt und per ssh auf das NAS kopiert.
 tar -xf uboot.2016.05-tld-1.environment.bodhi.tar  
 scp uboot.2016.05-tld-1.environment.img root@ip-adress:/tmp  
Anschließend kann man die Environment Variablen fest in den Flash schreiben.
 fw_printenv > current_envs.txt  
 /usr/sbin/flash_erase /dev/mtd0 0xc0000 1  
 /usr/sbin/nandwrite -s 786432 /dev/mtd0 uboot.2016.05-tld-1.environment.img  
 fw_setenv arcNumber 4495  
 fw_setenv machid  
 fw_setenv mtdparts 'xxxxxxxxx' (forgotten :-()  
 fw_setenv ethaddr 'xx:xx:xx:xx:xx:xx' (replaced with my adress)  
 fw_setenv dtb_file '/boot/dts/kirkwood-nsa325.dtb'  
 fw_printenv  
 reboot  
Das war es, anschließend habt ihr ein lauffähiges Debian 9, Linux Kernel 4.12.1auf dem  Zyxel NSA325v2 und könnt anfangen das System einzurichten.
Back to content