Anleitung MINI-UBoot-Tuning und Festplattenzuordnung

Gesperrt
Benutzeravatar
BPanther
Administrator
Administrator
Beiträge: 13405
Registriert: Do 11. Jan 2007, 00:06
Wohnort: Berlin
Hat sich bedankt: 659 Mal
Danksagung erhalten: 1364 Mal
Kontaktdaten:

Anleitung MINI-UBoot-Tuning und Festplattenzuordnung

#1

Beitrag von BPanther »

Aus AAF-Forum von monoschwarz - Original-Thread


Begriffserklärung

Kernel

Ein Betriebssystemkern oder Systemkern, engl. Kernel, ist der zentrale Bestandteil eines Betriebssystems. In ihm ist die Prozess- und Datenorganisation festgelegt, auf der alle weiteren Softwarebestandteile des Betriebssystems aufbauen. Er bildet die unterste Softwareschicht des Systems und hat direkten Zugriff auf die Hardware. Die Konstruktion eines Betriebssystemkerns gehört zum Themenbereich der Informatik und des Softwareengineerings.

Bootcmd

Die Bootcmd gibt an wo MINIuboot den Kernel findet (uImage).

Bootargs

Die Bootargs werden an den Kernel beim laden übergeben.
Hier kann man Variable definieren die der Kernel dann übernimmt.


Grundlagen

Wichtig !!! Bitte lesen !

MINI oder MAXI sind sehr gut geeignet, da man im Flash kein funktionierendes Image benötigt. Wenn mal wieder der Flash nicht startet kann man entweder auf ein USB Image ausweichen und von dort aus dann neu flashen oder aber auch mit MINI oder MAXI selbst, wenn kein anderes bootfähiges Image zur Verfügung steht.


Speed Boot

Der Speed Boot ist deswegen schneller, weil er den Kernel, aus dem Flash lädt und den Rest des Image vom USB Stick lädt. Dies geschieht dann gleichzeigt.
Dafür gibt es aber eine Vorraussetzung: Der Kernel im Flash muss gleich sein mit dem Kernel vom USB Image.
Wenn Enigma2 und der Kernel nicht zusammen passen, dann startet es nicht.

Code: Alles auswählen

bootcmd_x 'run bootargs_x;bootm a0040000' 

FATLOAD

Fatload ist ähnlich wie Speed Boot, nur das hier nicht der Kernel von dem Flash geladen wird, sondern von der FAT32 Partition (SWAP).
Auch hier ist ein Dual Boot der von der MINIx Partition das Enigma2 lädt. Das bringt z.B. bei dem Super Talent Pico C 4GB Stick immerhin noch 12 Sekunden.
Der Grosse Vorteil von Fatload ist, das man mehrere Kernel auf der FAT32 Partiotin (SWAP) ablegen kann.

Um Fatload zu nutzen macht man folgendes:
Als erstens legt man einen Ordner auf SWAP Partition mit dem Namen start an. In den Ordner start erstellt man dann 3 neue Ordner mit den Namen usb1, usb2 und usb3.
In diese Ordner kommt jeweils das uImage (liegt unter /boot/uImage) des passenden MINI Image rein.
Am einfachsten geht das, wenn ihr z.B. USB1 startet und dann per FTP das uImage nach /var/swap/start/usb1/ kopiert.
bootcmd_x 'usb reset; fatload usb y:z a5000000 /start/usb1/uImage; run bootargs_x; bootm a5000000'
z=
1 bei SWAP erste Partition


STANDART BOOT

Der Standart Boot lädt beides, Kernel und Enigma2 von der MINI Partition.
bootcmd_x 'usb reset;ext2load usb y:z a5000000 /boot/uImage;run bootargs_x;bootm a5000000'
z=
2 für MINI1 auf Partition 2
3 für MINI2 auf Partition 3
4 für MINI3 auf Partition 4


Festlegen der y Werte

usb_delay 'b'

b steht für Sekunde.

Bei mir reichen mit der Western Digtal 4 Sekunden. Das ist aber davon abhängig wie schnell eure HDD aus dem Standby in den normal Modus kommt.
Der Erkennung der USB Geräte etwas Zeit geben, dann ist die Reihenfolge immer:
USB 0 = Hinten Unten = 0:z
USB 1 = Hinten Oben = 1:z
USB 2 = Front = 2:z

Wenn man jetzt nur Hinten Unten und am Front USB etwas dran hat (hinten oben frei), dann:
USB 0 = Hinten Unten = 0:z
USB 1 = Front = 1:z

Ein kleiner Tipp: Wenn nur eine USB HDD genutzt wird, würde ich den USB Stick Hinten Unten reinstecken, dann ist der immer usb 0:z .

Wer 2 HDD´s dran hat und eine davon manchmal abzieht (ist bei mir so, record hängt immer dran und music nur temporär), der sollte sich am besten einen alten USB Stick (z.B. 64MB) daneben legen und wenn die zweite HDD nicht angesteckt ist den USB Stick reinstecken (der dient dann als Platzhalter). Es geht ja nur darum, das MINIuboot richtig zählt.
Oder halt die temporäre HDD auf Front stecken und den USB Stick auf Hinten Unten, dann bleibt er 0:z .


Kommen wir nun zu den Bootargs.

Sachen die uns interessieren sind farbig.
bootargs_x 'set bootargs console=ttyAS0,115200 root=/dev/sdaz rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:kathrein:eth0:off mem=64m coprocessor_mem=4m@0x10000000,4m@0x10400000 rootdelay=6 usb-storage.usbwait123=5:5:5 nwhwconf=device:eth0,hwaddr:${ethaddr} init=/bin/devinit'
usb-storage.usbwait123=c:d:e

usbwait123=5:5:5 ist eine Festplattenzuordnung vom Kernel, ähnlich wie die usb y:z Zuordnung von MINIuboot.

Hierbei wird genau anderst rum gezählt:
c = Front Anschluß
d = Hinten Oben
e = Hinten Unten

Wenn ich nun will das mein USB Stick, der Hinten Unten ist, sda wird, muss der Wert e kleiner sein wie der Wert d und c.
Ein Beispiel: usb-storage.usbwait123=5:5:4

Wenn ich den USB Stick vorne habe, und der soll sda werden, so muss der Wert c kleiner sein wie die Werte d und e
Ein Beispiel: usb-storage.usbwait123=4:5:5

Standart ist usb-storage.usbwait123=5:5:5
Das geht erst ab Rev. 1749, da nit das erst ab m678 Rev. 1749 eingebaut hat.

Die Werte c:d:e sind Sleep Werte, genau wie der Wert:

rootdelay=6

rootdelay kann bis zu 3 Sekunden kleiner sein wie der Wert usb-storage.usbwait123, da der Kernel 3,5 Sekunden braucht um zu entpacken. Besser ist sind aber nur 2 Sekunden kleiner, da es sonst zu Problemen kommen kann. nit`s Kernel werden immer kleiner und damit immer schneller beim entpacken.


Und damit sind wir beim Tuning

Bei mir funktioniert usb-storage.usbwait123=2:2:0 .
Das bedeutet ich kann rootdelay=6 auf 0 setzen, was 6 Sekunden Bootzeit spart.
Aber das müsst ihr selbst testen und einstellen.


Kommen wir nun zu dem setzen der Einstellungen

Ich mache das über Hyperterminal.
(Start/ Programme/ Zubehör/ Kommunikation/ HyperTerminal das starten
unter datei >>eigenschaften>> verbindung>>comx(eh nachdem wo ihr das nullmodem kabel dran habt ) bei mir com1
dann auf
konfiguriren
bits pro sec 115200
databits 8
priorität keine
stoppbits 1
flusssterung keine

dann auf ok
wenn ihr jetzt die box mit dem nullmodem kabel verbindet und den on/off schalter der box umlegt und gleichzeitig auf der tastatur des pc enter drückt haltet ihr den bootvorgang an dann könnt ihr weiter machen)


Da kommt dann ein 'set' vor allem was ihr schreibt.
Das ganze sieht dann so aus:

Code: Alles auswählen

für miniuboot 

set usb_delay '4'

set bootdesc_9 '----USB-1----'
set bootcmd_9 'usb reset;ext2load usb 0:2 a5000000 /boot/uImage;run bootargs_9;bootm a5000000'
set bootargs_9 'set bootargs console=ttyAS0,115200 root=/dev/sda2 rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:kathrein:eth0:off mem=64m coprocessor_mem=4m@0x10000000,4m@0x10400000 rootdelay=0 usb-storage.usbwait123=2:2:0 nwhwconf=device:eth0,hwaddr:${ethaddr} init=/bin/devinit'
save

set bootdesc_8 '----USB-2----'
set bootcmd_8 'usb reset;ext2load usb 0:3 a5000000 /boot/uImage;run bootargs_8;bootm a5000000'
set bootargs_8 'set bootargs console=ttyAS0,115200 root=/dev/sda3 rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:kathrein:eth0:off mem=64m coprocessor_mem=4m@0x10000000,4m@0x10400000 rootdelay=0 usb-storage.usbwait123=2:2:0 nwhwconf=device:eth0,hwaddr:${ethaddr} init=/bin/devinit'
save

set bootdesc_7 '----USB-3----'
set bootcmd_7 'usb reset;ext2load usb 0:4 a5000000 /boot/uImage;run bootargs_7;bootm a5000000'
set bootargs_7 'set bootargs console=ttyAS0,115200 root=/dev/sda4 rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:kathrein:eth0:off mem=64m coprocessor_mem=4m@0x10000000,4m@0x10400000 rootdelay=0 usb-storage.usbwait123=2:2:0 nwhwconf=device:eth0,hwaddr:${ethaddr} init=/bin/devinit'
save

für fatload

set bootdesc_6 'USB-1-FAT'
set bootcmd_6 'usb reset; fatload usb 0:1 a5000000 /start/usb1/uImage; run bootargs_6; bootm a5000000'
set bootargs_6 'set bootargs console=ttyAS0,115200 root=/dev/sda2 rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:kathrein:eth0:off mem=64m coprocessor_mem=4m@0x10000000,4m@0x10400000 rootdelay=0 usb-storage.usbwait123=2:2:0 nwhwconf=device:eth0,hwaddr:${ethaddr} init=/bin/devinit'
save

set bootdesc_5 'USB-2-FAT'
set bootcmd_5 'usb reset; fatload usb 0:1 a5000000 /start/usb2/uImage; run bootargs_5; bootm a5000000'
set bootargs_5 'set bootargs console=ttyAS0,115200 root=/dev/sda3 rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:kathrein:eth0:off mem=64m coprocessor_mem=4m@0x10000000,4m@0x10400000 rootdelay=0 usb-storage.usbwait123=2:2:0 nwhwconf=device:eth0,hwaddr:${ethaddr} init=/bin/devinit'
save

set bootdesc_4 'USB-3-FAT'
set bootcmd_4 'usb reset; fatload usb 0:1 a5000000 /start/usb3/uImage; run bootargs_4; bootm a5000000'
set bootargs_4 'set bootargs console=ttyAS0,115200 root=/dev/sda4 rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:kathrein:eth0:off mem=64m coprocessor_mem=4m@0x10000000,4m@0x10400000 rootdelay=0 usb-storage.usbwait123=2:2:0 nwhwconf=device:eth0,hwaddr:${ethaddr} init=/bin/devinit'
save

für usb speedboot

set bootdesc_1 'USB-1-SPEED'
set bootcmd_1 'run bootargs_1;bootm a0040000'
set bootargs_1 'set bootargs console=ttyAS0,115200 root=/dev/sda2 rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:kathrein:eth0:off mem=64m coprocessor_mem=4m@0x10000000,4m@0x10400000 rootdelay=0 usb-storage.usbwait123=2:2:0 nwhwconf=device:eth0,hwaddr:${ethaddr} init=/bin/devinit'
save

set bootdesc_2 'USB-2-SPEED'
set bootcmd_2 'run bootargs_2;bootm a0040000'
set bootargs_2 'set bootargs console=ttyAS0,115200 root=/dev/sda3 rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:kathrein:eth0:off mem=64m coprocessor_mem=4m@0x10000000,4m@0x10400000 rootdelay=0 usb-storage.usbwait123=2:2:0 nwhwconf=device:eth0,hwaddr:${ethaddr} init=/bin/devinit'
save

set bootdesc_3 'USB-3-SPEED'
set bootcmd_3 'run bootargs_3;bootm a0040000'
set bootargs_3 'set bootargs console=ttyAS0,115200 root=/dev/sda4 rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:kathrein:eth0:off mem=64m coprocessor_mem=4m@0x10000000,4m@0x10400000 rootdelay=0 usb-storage.usbwait123=2:2:0 nwhwconf=device:eth0,hwaddr:${ethaddr} init=/bin/devinit'
save
Bitte an eure usb
y:z
usb-storage.usbwait123=c:d:e
rootdelay=6
Werte anpassen.

DIESE WERTE SIND FÜR STICK HINTEN UNTEN
UND
STICK AUFTEILUNG

SWAP erster Partion
MINI1 zweite Partion
MINI2 dritte Partion
MINI3 Vierte Partion

Das geht auch per Telnet
(das geht so
Start>>ausführen>>cmd <enter>
im dosfenster
telnet ip.der.kath.rein <enter>)

dann copy and paste
bei win 7 bitte hier schauen

Code: Alles auswählen

für miniuboot 

fw_setenv usb_delay '4'

fw_setenv bootdesc_9 '----USB-1----'
fw_setenv bootcmd_9 'usb reset;ext2load usb 0:2 a5000000 /boot/uImage;run bootargs_9;bootm a5000000'
fw_setenv bootargs_9 'set bootargs console=ttyAS0,115200 root=/dev/sda2 rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:kathrein:eth0:off mem=64m coprocessor_mem=4m@0x10000000,4m@0x10400000 rootdelay=0 usb-storage.usbwait123=2:2:0 nwhwconf=device:eth0,hwaddr:${ethaddr} init=/bin/devinit'


fw_setenv bootdesc_8 '----USB-2----'
fw_setenv bootcmd_8 'usb reset;ext2load usb 0:3 a5000000 /boot/uImage;run bootargs_8;bootm a5000000'
fw_setenv bootargs_8 'set bootargs console=ttyAS0,115200 root=/dev/sda3 rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:kathrein:eth0:off mem=64m coprocessor_mem=4m@0x10000000,4m@0x10400000 rootdelay=0 usb-storage.usbwait123=2:2:0 nwhwconf=device:eth0,hwaddr:${ethaddr} init=/bin/devinit'

fw_setenv bootdesc_7 '----USB-3----'
fw_setenv bootcmd_7 'usb reset;ext2load usb 0:4 a5000000 /boot/uImage;run bootargs_7;bootm a5000000'
fw_setenv bootargs_7 'set bootargs console=ttyAS0,115200 root=/dev/sda4 rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:kathrein:eth0:off mem=64m coprocessor_mem=4m@0x10000000,4m@0x10400000 rootdelay=0 usb-storage.usbwait123=2:2:0 nwhwconf=device:eth0,hwaddr:${ethaddr} init=/bin/devinit'


für fatload

fw_setenv bootdesc_6 'USB-1-FAT'
fw_setenv bootcmd_6 'usb reset; fatload usb 0:1 a5000000 /start/usb1/uImage; run bootargs_6; bootm a5000000'
fw_setenv bootargs_6 'set bootargs console=ttyAS0,115200 root=/dev/sda2 rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:kathrein:eth0:off mem=64m coprocessor_mem=4m@0x10000000,4m@0x10400000 rootdelay=0 usb-storage.usbwait123=2:2:0 nwhwconf=device:eth0,hwaddr:${ethaddr} init=/bin/devinit'


fw_setenv bootdesc_5 'USB-2-FAT'
fw_setenv bootcmd_5 'usb reset; fatload usb 0:1 a5000000 /start/usb2/uImage; run bootargs_5; bootm a5000000'
fw_setenv bootargs_5 'set bootargs console=ttyAS0,115200 root=/dev/sda3 rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:kathrein:eth0:off mem=64m coprocessor_mem=4m@0x10000000,4m@0x10400000 rootdelay=0 usb-storage.usbwait123=2:2:0 nwhwconf=device:eth0,hwaddr:${ethaddr} init=/bin/devinit'


fw_setenv bootdesc_4 'USB-3-FAT'
fw_setenv bootcmd_4 'usb reset; fatload usb 0:1 a5000000 /start/usb3/uImage; run bootargs_4; bootm a5000000'
fw_setenv bootargs_4 'set bootargs console=ttyAS0,115200 root=/dev/sda4 rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:kathrein:eth0:off mem=64m coprocessor_mem=4m@0x10000000,4m@0x10400000 rootdelay=0 usb-storage.usbwait123=2:2:0 nwhwconf=device:eth0,hwaddr:${ethaddr} init=/bin/devinit'


für usb speedboot

fw_setenv bootdesc_1 'USB-1-SPEED'
fw_setenv bootcmd_1 'run bootargs_1;bootm a0040000'
fw_setenv bootargs_1 'set bootargs console=ttyAS0,115200 root=/dev/sda2 rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:kathrein:eth0:off mem=64m coprocessor_mem=4m@0x10000000,4m@0x10400000 rootdelay=0 usb-storage.usbwait123=2:2:0 nwhwconf=device:eth0,hwaddr:${ethaddr} init=/bin/devinit'


fw_setenv bootdesc_2 'USB-2-SPEED'
fw_setenv bootcmd_2 'run bootargs_2;bootm a0040000'
fw_setenv bootargs_2 'set bootargs console=ttyAS0,115200 root=/dev/sda3 rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:kathrein:eth0:off mem=64m coprocessor_mem=4m@0x10000000,4m@0x10400000 rootdelay=0 usb-storage.usbwait123=2:2:0 nwhwconf=device:eth0,hwaddr:${ethaddr} init=/bin/devinit'


fw_setenv bootdesc_3 'USB-3-SPEED'
fw_setenv bootcmd_3 'run bootargs_3;bootm a0040000'
fw_setenv bootargs_3 'set bootargs console=ttyAS0,115200 root=/dev/sda4 rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:kathrein:eth0:off mem=64m coprocessor_mem=4m@0x10000000,4m@0x10400000 rootdelay=0 usb-storage.usbwait123=2:2:0 nwhwconf=device:eth0,hwaddr:${ethaddr} init=/bin/devinit'


Vorteil ist ganz einfach, man kann jedes Image als Speedboot, Fatload und Normal auswählen. Somit kann man, wenn man den Flash aktualisiert auch noch das MINI1 Image normal starten.




Ein großer Dank geht an SoLaLa für das MINIuboot, an nit für die neuen Kerneloptionen und an tino.bino für das bearbeiten des Textes.

edit
Nach der Image installation solltest du die "bootargs setzen" Abfrage aber immer mit <exit> verneinen... die biegen wir lieber einmal selber richtig hin
danke solala hatte ich vergessen


EDIT by BPanther: Beschreibung MINI angepasst...
MfG BPanther
KEIN SUPPORT PER PN -> Bitte das Forum nutzen und das Wiki lesen.


Bild Bild
Thx udog für das Bild.
TV: Sony Bravia KDL-46HX755
Boxen mit NMP und Unicable2 (Jess):
SH4: 7x UFS910 (1W, 128MB), 1x UFS910 (14W, 64MB), 1x UFS912, 2x UFS913, 1x AV700, 1x AV7000, 1x AV7500 (DVB-S/C/T), 1x Edision Argus Pingulux, 1x Vizyon820HD
MIPS: 1x VU+DUO, 1x VU+DUO2, 1x DM8000, 1x DM800
ARM: 3x AX 4K HD51 (DVB-S/SX/C/T/T2), 1x VU+Solo4K (DVB-S/SX (FBC)/C/T/T2 (DUAL)), 1x VU+Duo4K (DVB-S/SX (FBC)/C (FBC)), 3x E4HD 4K Ultra (DVB-S/SX/C/T/T2)
ARM: 1x VU+Duo4KSE (DVB-S/SX (FBC)/C (FBC)), 1x VU+Ultimo4K (DVB-S/SX (FBC)/C (DUAL)), 1x VU+Uno4KSE (DVB-S/SX (FBC)/C (FBC)), 2x VU+Zero4K (DVB-S/SX)
Gesperrt

Zurück zu „Allgemeines/Anleitungen/FAQ“