|
|
P89626/usb key funcÜber die "USB Key Function" des MEDION LIFE P89626 (MD 86407) NAS. << zurück zur Hauptseite 'P89626'
[Bearbeiten] InformationMit einem USB-Stick und bestimmten Dateien darauf, kann man recht frühzeitig im Bootprozess eigene Aktionen per Skript starten. Den Bootprozess weiter führen oder abbrechen... Link zum Thema: http://zyxel.nas-central.org/wiki/Usb_key_func.sh Vorlage Dateien findet man hier: https://github.com/jedie/NAS7820-Tools/tree/master/usb_key_func [Bearbeiten] Stick FormatierenDazu braucht man einen Stick mit vFat. Diese läßt sich z.B. auf der Box so einrichten: / # mkdosfs /dev/sda1 -v -n USB_vFAT -i 12345678 mkdosfs 2.11 (12 Mar 2005) /dev/sda1 has 255 heads and 63 sectors per track, logical sector size is 512, using 0xf8 media descriptor, with 1028096 sectors; file system has 2 16-bit FATs and 16 sectors per cluster. FAT size is 251 sectors, and provides 64222 clusters. Root directory contains 512 slots. Volume ID is 12345678, volume label USB_vFAT . Ein anderes Dateisystem geht wegen einem Bug (weil iocharset=utf8 beim mounten genutzt wird) nicht, siehe http://www.mikrocontroller.net/topic/240238?page=2#2452052 [Bearbeiten] EinrichtenAuf den Stick legt man folgende Dateien (jeweils im root Verzeichnis) an: usb_key_func.sh #!/bin/sh echo "Hello from usb_key_func.sh !!!" exit 1 (Info: Beendet sich das Skript mit exit 1, wird der Bootprozess fortgesetzt. Andernfalls nicht. STG212_check_file /mnt/parnerkey/usb_key_func.sh /mnt/parnerkey/usb_key_func.md5 usb_key_func.md5 Diese Datei muß man auf der Box erstellen und enthält die Ausgabe von md5sum. z.B.: ~ # cd /e-data/XXX/ # <- XXX ist irgendeine ID deines Sticks! /e-data/XXX/ # cat /etc/Zy_Private usb_key_func.sh | md5sum > usb_key_func.md5 [Bearbeiten] alternative usb_key_func.shHier eine Alternative Version von usb_key_func.sh, die nicht weiter bootet, aber die Box per telnet erreichbar macht: #!/bin/sh echo "Hello from usb_key_func.sh !!!" # IP mittels DHCP setzten /sbin/udhcpc -i egiga0 telnetd -l /bin/sh & Möchte man dann normal starten kann man den Stick ziehen und neustarten, oder per Telnet den Stick "deaktivieren" das machen: / # mount -o remount,rw /mnt/parnerkey / # mv /mnt/parnerkey/STG212_check_file /mnt/parnerkey/_STG212_check_file Nun kann man mit "reboot" natürlich neu starten, oder quasi den init Fortsetzten mit: / # /etc/init.d/rcS [Bearbeiten] Hintergrund InfoAuf der Box ist die Datei /etc/init.d/rcS für die Aktion zuständig. Kurz zusammengefasst: Es wird versucht jeden USB Stick nach /mnt/parnerkey zu mounten. Ist dies Erfolgreich und befindet sich dann die Datei STG212_check_file drauf, wird mit /sbin/check_key die "Integrität" überprüft. Ist alles ok, wird letztlich /mnt/parnerkey/usb_key_func.sh Ausgeführt. Der Inhalt der Datei /etc/Zy_Private ist anscheinend auf allen Boxen gleich. Er ist sogar der selbe, wie auf den Zyxel NSA [Bearbeiten] AusblickNützlich ist das ganze Prozedur, um ein Debian vom USB Stick zu starten, ohne uBoot/Kernel im Flash ändern zu müssen. Siehe: http://zyxel.nas-central.org/wiki/Debian_without_need_to_flash Jedoch ist dazu reloaded-2.6.31.14_SMP_820.ko nötig, siehe: http://www.mikrocontroller.net/topic/240238?goto=2452465#2452465 um den Kernel komplett zu tauschen. Ohne reloaded könnte man versuchen über chroot ein Debian System zu erhalten. Das klappt allerdings noch nicht, siehe: http://www.mikrocontroller.net/topic/240238?goto=2452465#2452369 [Bearbeiten] Forum Links |