Seite 1 von 1

Booten von festplatte

Verfasst: Donnerstag 18. Juni 2009, 14:43
von seife
Houdini hatte ja hier http://forum.tuxbox-cvs.sourceforge.net ... 44#p351444 schon mal U-Boot mit IDE-support gemacht.

Ich habe jetzt einen U-Boot mit IDE und Flash-support gemacht.
u-boot-1.3.1-boot-from-hdd.diff

Damit das möglichst nichts kaputt macht wird, genau wie bisher, per default aus dem Flash gebootet. Die config wird, auch wie bisher, aus dem /var/tuxbox/boot/boot.conf gelesen.

Dazu habe ich ein paar neue config-Optionen eingebaut:

Code: Alles auswählen

/var # cat /var/tuxbox/boot/boot.conf
console=ttyS0
baudrate=9600
lcd_inverse=0
lcd_contrast=15
append=
bootdelay=10
bootdefault=4
bootargs1=console=ttyS0 root=/dev/mtdblock2 rootfstype=squashfs
bootcmd1=ext2load ide 0:2 200000 vmlinuz; protect off 10020000 107fffff; foo; bootm
bootdelay ist die Zeit die gewartet wird, bis der eingestellte default gebootet wird.
bootdefault ist der default (also das, was in der Konsole auch zur Auswahl ansteht)
bootargs1 und bootcmd1 sind die bootargs und bootcmd für Auswahl "4", bootargs2 und bootcmd2 sind die für Auswahl "5".

Mit den hier angegebenen bootargs und bootcmd lädt die box nur den Kernel von der ext2-Partition 2 und bootet dann aus dem Flash (das ist zum testen, damit muss kein IDE-Support im Kernel sein ;))

Wer richtig von der Platte booten will, muss natürlich den IDE-Support und ext2 in den Kernel kompilieren, und die bootargs anpassen. Aber so als Anfang sollte es mal reichen.

Achso: Neutrino weiss natürlich von diesen Optionen nichts und löscht sie vermutlich gnadenlos raus, wenn ihr irgendwas, was mit booten zu tun hat (dazu gehört auch der LCD Kontrast!) verstellt.

Re: Booten von festplatte

Verfasst: Donnerstag 18. Juni 2009, 16:26
von MPC823
Bingo :D

Evt kann man es dann so Managen das man mit einem Plugin die Default werte abändern kann so wie wir es an der TD angeacht haben oder steht dem was im Wege ?

Gruss Martin

Re: Booten von festplatte

Verfasst: Donnerstag 18. Juni 2009, 17:09
von seife
Naja. Das ist momentan schon ein echtes Profi-Feature. Ausserdem geht das per plugin eher nicht, weil das Neutrino die settings wieder überschreiben würde.

Probiers lieber erst mal aus, ob's auch funktioniert ;)

Re: Booten von festplatte

Verfasst: Donnerstag 18. Juni 2009, 20:18
von flasher
Ui, das erinnert mich wieder daran, dass ich ja mal meine HDD Sachen zur Verfügung stellen wollte.

In meinem "Proof of Concept" bootet die Box direkt von HDD und nicht erst über den Flash.

Ich mache das mal fertig...

Gruß

Re: Booten von festplatte

Verfasst: Donnerstag 18. Juni 2009, 22:07
von seife
Wie hast du den bmon dazu gebracht die Festplatte anzusprechen? Oder was meinst du mit "nicht erst über den flash"?

Falls du es über den u-boot machst: das machen houdini und ich auch ;)

Re: Booten von festplatte

Verfasst: Freitag 19. Juni 2009, 02:39
von flasher
Hi

Ja sicher wird erst U-Boot aus dem Flash gestartet aber danach gehts es bei mir komplett von Platte.
Du hast geschrieben, das nur der Kernel von der HDD kommt und dann vom Flash weiter geladen wird.
Bei mir ist es schon soweit, dass alles von der Platte kommt. Ok, mal abgesehen vom U-Boot.

Ich habe auch eine komplette Buildumgebung fertig gehabt die mir am Ende des Vorgangs ein TAR File für die HDD und den entsprechenden U-Boot bereit gestellt hat.
Teils ist das aber alles CVS Stand von (früh) 2008 und einiges an Änderungen an den .mk Files und diffs.
Weiterhin habe ich auch schon versucht die BB weitestgehend zu entfernen um die "echten" Programme zu verwenden.
z.B. nutze ich als init das bekannte runit...

Bevor da noch jemand mehr Energie reinsteckt könnt ihr ja mal abwarten bis ich das Paket fertig habe.
Darauf kann man sicherlich irgendwie aufbauen.

Im CVS würde ich damit auf jeden Fall einiges kaputt machen. Ich hatte mir auch mal überlegt für die HDD Geschichte einen eigenen Zweig zu erstellen, da wirklich einiges geändert wurde.
Sinnig oder nicht kann man später klären. Wie geschrieben, ist nur ein Proof of Concept gewesen das auf meiner Box bis vor 2 Monaten noch funktionierte.


Gruß

Re: Booten von festplatte

Verfasst: Freitag 19. Juni 2009, 08:36
von seife
Ok, dann bin ich vom technischen her ungefähr gleich weit wie du. Ich habe nur deswegen erstmal nur den Kernel von der Platte geladen, damit die interessierten Mitleser hier es testen können, in dem sie nur den u-boot neu bauen (und diesen z.B. per tftp booten).

Die IDE-Module und ext2 noch fest in den Kernel zu packen ist dann ja nur noch ne Fingerübung und alles was noch fehlt, um komplett von der Platte zu booten ;)

Wegen "richtigen" GNU-utilities etc.: da würde ich dann einfach ein emdebian auf die Platte ziehen, das ist einfacher als alles selbst zu bauen, und man ist flexibler ;) Habe ich auf der TD auch so gemacht.

Re: Booten von festplatte

Verfasst: Freitag 19. Juni 2009, 15:54
von GetAway
Bin mir nicht sicher, aber nach diesen Checkin funktioniert das booten aus dem Yadd nicht korrekt. Kann das?
http://cvs.tuxbox-cvs.sourceforge.net/l ... 00087.html

In /proc und /dev wird nichts mehr gefunden. In einem checkout vom 12.6. gehts noch. Kann das jemand verifizieren?
Dar Checkout war von heute morgen in einem leeren Verzeichnis.

Code: Alles auswählen

/proc/bus/tuxbox/model: No such file or directory
/proc/bus/tuxbox/submodel: No such file or directory
/proc/bus/tuxbox/submodel: No such file or directory
Detected STB:
        Vendor: Unknown
        Model: Unknown Unknown (2 flash chips)

Re: Booten von festplatte

Verfasst: Freitag 19. Juni 2009, 19:03
von seife
Ich kann es mir eigentlich nicht vorstellen. Aber das solltest du ja leicht prüfen können, in dem du die "2" wieder in eine "1" umwandelst.

Re: Booten von festplatte

Verfasst: Freitag 19. Juni 2009, 19:06
von seife
Du müsstest irgendeine fehlermeldung beim Laden des tuxbox- Moduls bekommen haben (vermute ich zumindest). Ist da irgendwas?

Re: Booten von festplatte

Verfasst: Freitag 19. Juni 2009, 19:58
von rhabarber1848
GetAway hat geschrieben:Bin mir nicht sicher, aber nach diesen Checkin funktioniert das booten aus dem Yadd nicht korrekt. Kann das?
http://cvs.tuxbox-cvs.sourceforge.net/l ... 00087.html
Im Patch wurde u-boot.dbox2.h.m4 verändert, diese Datei
wird nur für Flashimages genutzt.

Zum Kompilieren von tftpboot/u-boot, also dem Yadd-Bootloader,
wird allerdings
u-boot-config/u-boot.cdk.2_6.dbox2.h bzw.
u-boot-config/u-boot.cdk.dbox2.h genutzt.

In u-boot.cdk.dbox2.h ist weiterhin 0x100000 eingetragen,
womit ich bei mir gerade ein Yadd erfolgreich booten konnte.

Code: Alles auswählen

...
TFTP from server 192.168.1.134; our IP address is 192.168.1.4
Filename '/home/tuxbox/image/tftpboot/kernel-cdk'.
Load address: 0x100000
Loading: #################################################################
         #################################################################
         ################################
done
Bytes transferred = 824802 (c95e2 hex)
............................................................... done
Un-Protected 63 sectors
## Booting image at 00100000 ...
   Image Name:   Linux-2.4.37.2-dbox2
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
...
mount: using /etc/fstab
tuxbox: no IDE-Interface detected
Detected STB:
        Vendor: Sagem
        Model: D-BOX2  (2 flash chips)
[i2c-8xx]: mpc 8xx i2c init
...
Ein Kernel 2.6-Yadd sollte auch funktionieren.

Re: Booten von festplatte

Verfasst: Freitag 19. Juni 2009, 20:03
von seife
und wieder ontopic (GetAway hat ganz offensichtlich ein anderes Problem):

Hiermit u-boot-1.3.1-boot-from-hdd-v2.diff wird auch dboxide und dependencies sowie ext2 in den Kernel kompiliert, so dass man richtig von der Platte booten kann.

Re: Booten von festplatte

Verfasst: Freitag 19. Juni 2009, 20:09
von GetAway
@seife. Stimmt.

Ich hatte mir meine customized rcS zerbröselt, bzw. beim kopieren ist sie verloren gegangen. :-?
Danke, jetzt funktioniert es wieder. :D

Re: Booten von festplatte

Verfasst: Samstag 20. Juni 2009, 00:19
von flasher
Hi

So, das Paket liegt jetzt auf dem Upload...
TuxBox_HDD_Backup.tar.gz

Wie bereits erwähnt wird es wohl mit ziemlicher Sicherheit mit dem aktuellen CVS nicht bauen.

Die kurzen Features meines Paketes:
* Booten von Platte (ne sach an ;) )
* LCD und FB Logo werden von der Platte geladen
* Bootmenü mit Soundunterstützung
* diverse BB Tools durch GNU Software ersetzt...

Ein Proof of Concept das einiges an Optimierungen nötig hat.
Und.. Wer lacht fliegt raus :)

Gruß
flasher

Re: Booten von festplatte

Verfasst: Samstag 20. Juni 2009, 10:41
von seife
Achja, noch was ;)

Wer das Laden des Kernels beschleunigen will, sollte einfach mal die Blockgrösse des ext2 vergrössern. Bei mir war der default 1kB blocksize (das ist abhängig von der Partitionsgrösse glaube ich). Einen Kernel mit 742296 Bytes zu laden dauert damit über 28 Sekunden. Mit 2kB blocksize dauert es etwas über 10 Sekunden und mit 4kB blocksize sind es noch etwa fünfeinhalb Sekunden.

Damit verschwendet man zwar etwas Platz auf der root-Partition, aber mir ist es das Wert ;)

Re: Booten von festplatte

Verfasst: Dienstag 8. September 2009, 15:53
von mb405
so alter thread mal wieder audwärmen, da die sache sich in den falschen thread verlagert hat :)
ich hab mal beide diff's von seife mir angschaut, und waum ist die erste version so groß ?
oder braucht man nur noch die 2.version ??

Re: Booten von festplatte

Verfasst: Montag 21. September 2009, 08:32
von abraXXl
Hallo,

ich habe den ersten Patch von Seife angepasst, damit es auf den CVS Stand vom 19.9. passt.
Leider habe ich in den faslschen Thread geantwortet.

Leider wird mit dem aktuellen CVS, mit jFFS2 und IDE/EXT2 Support das U-Boot zu gross.

Mehr dazu [url=http://forum.tuxbox-cvs.sourceforge.net ... 58#p370458]hier[url].

cya

Nachtrag: Der Uboot scheint CS2 nicht wieder zu deaktivieren, wenn er ein IDE-Interface findet abernicht von Platte booten kann, weil abgklemmt oder kein Image zum laden auf Platte.

Code: Alles auswählen

tuxbox -C16
evaluiert dann zu 0.

Und selbst der IDE-Treiber gibt etwas mehr von sich

Code: Alles auswählen

dbox: ~ > insmod dboxide       
dboxide: $Id: main.c,v 1.13 2009/01/13 22:13:23 dbt Exp $
ide: late registration of driver.                        
[b]dboxide: memory-bank already in use, lets try it[/b]
dboxide: activating cs2                         
dboxide: address space of IDE-Interface is at: 0xc3c04000
dboxide: IDE-Interface detected, Vendor: Unknown         
dboxide: sreset succeeded