IDE im UBoot???

Diskussionen um Bootloader, Kernel, Busybox
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

IDE im UBoot???

Beitrag von palace »

Verstehe ich das richtig, dass bspw zwischen einer Jadd auf der IF/HDD "nur noch" ein IDE Uboot und entsprechende Partitionierung steht?
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

nicht unbedingt,
wenn du den kernel aus dem flash lädst und dann den root kernelparameter auf die HD umlenkst
kann das root filesystem auch dort auf der hd liegen
wenn du auch den kernel aus der hd lesen willst dann ja
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

Beitrag von palace »

Houdini hat geschrieben:nicht unbedingt,
wenn du den kernel aus dem flash lädst und dann den root kernelparameter auf die HD umlenkst
kann das root filesystem auch dort auf der hd liegen
wenn du auch den kernel aus der hd lesen willst dann ja
Ich meine "b" ;o)
Es gibt Gerüchte, dass das wohl auch schon funktioniert...

Die Vorstellung, ein "stabiles" Flashimage zu haben und zum "spielen" die HDD klingt doch sehr gut... ganz ohne bootp / Mediasense usw...
Einfach mal ne Binary tauschen... na und?

2.6er Kernel: Ich boote mal und guck was passiert...

Klar, so trivial ist es nicht - aber vielleicht gibt es unter den >1000 IF Usern den ein oder anderen, der sich dann mehr zutraut?
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 16:04

Beitrag von Tommy »

Carjay hat gestern was eingecheckt - kann der Uboot jetzt von Platte booten? Wie wird es konfiguriert?
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
DBoxBaer
Senior Member
Beiträge: 255
Registriert: Donnerstag 25. August 2005, 10:34

Beitrag von DBoxBaer »

Tommy hat geschrieben:Carjay hat gestern was eingecheckt - kann der Uboot jetzt von Platte booten? Wie wird es konfiguriert?
Wie ich schon (irgendwo) angekündigt hatte, funktioniert der Zugriff
auf die Platte jetzt auch vom u-boot aus. Die ganze Sache hat nur noch
ein paar Haken:

A.) der Treiber, wie er bisher gestartet wird, greift nur dann auf den CPLD zu, wenn dieser nicht schon aktiviert ist. Genaugenommen wenn die CS2 Leitung nicht aktiviert ist. Das ist ein Sicherheitscheck, das nicht ein RAM Modul fälschlicherweise als IDE Interface angesprochen wird. Im Prinzip kann man das leicht lösen, ich bin mir nur noch nicht über die Form klar. Eine Möglichkeit wäre, das der u-boot etwas hinterlegt um den Kernel zu informieren, das es nun so ist. Zur Zeit ist sowas aber nicht vorhanden und bewirkt, das dieses u-boot den Treiber daran hindert überhaupt die Platte zu verwenden.

B.) u-boot erlaubt verschiedene Möglichkeiten auf die Platte zuzugreifen. Meine Umsetzung enthält zur Zeit nur den Code um Daten lesen zu können. Das könnte Probleme machen, ist aber nur ein Detail, das bei Bedarf leicht zu fixen ist. Die interessantere Frage ist, welche Art vom u-boot verwendet werden soll um z.B. den Kernel zu laden: Mir fallen da drei Möglichkeiten ein:

1) Zugriff auf ext2-Partitionen und laden des Kernels als Datei. Das habe ich probiert und funktioniert wohl auch. Da ext3 ebenfalls ein ext2 ist kann man das wohl ebenfalls verwenden.
2) Zugriff auf FAT-Partitionen: Auch das ist denkbar, und hat den Vorteil für Windows- und Wechselplatten-User, ganz einfach ohne Tool einen Kernel einspielen zu können.
3) Zugriff auf ein eigene Boot-Partition. nennt sich glaube ich "diskboot". Damit habe ich mich erst wenig beschäftigt, und ich sehe ausser der einfacheren Konfiguration im u-boot da keinen direkten Vorteil.
Vielleicht gibt es noch mehr Möglichkeiten, das findet man dann wohl in der u-boot Doku.

Die (also meine Versuchs-)Konfig-Datei hat Carjay für mich ebenfalls eingecheckt (vielen Dank nochmal dafür). Das ist aber definitiv nicht was funktionsfähiges zum Booten von irgendwas, sondern eher ne Konfig, die es erlaubt im u-boot per Commandline mit der Platte zu sprechen.

Entsprechende Doku, was man damit anstellen kann gibt es aber bereits genug. (u-boot-Dokus). Da ich selbst noch keine genaue Ahnung habe, was man da nun so anstellen kann (und muss?!) kann ich dazu auch nicht viel sagen.

Ciao,

DboxBaer

PS:
Da ich keine vorgefertigten Images verwende, kann und werde ich darauf auch keine Rücksicht nehmen. z.B. werde ich nun wohl zum Entwickeln auf 2.6er Kernel und Filesystem auf Platte umsteigen. (z.B. ist das Debuggen im Kernel damit viel einfacher).
Die notwendigen Anpassungen werde ich aber weiter der Öffentlichkeit zur Verfügung stellen: Nur sind diese nicht primär für Endanwender gedacht, darum werde ich wohl auch keine Images (oder Bauanleitungen dafür) generieren. Mein Hauptgrund dafür ist, das ich davon nichts habe, sondern sogar eher damit zu rechnen ist für (für mich richtige) Entscheidungen angeflaumt zu werden.
Ich denke, das "echte" Entwickler hier a) damit Leben können und b) dies nachvollziehen können.
... und der Rest ist dann Software (TM)
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

Hoch schieb.

Oder ist das jetzt zu den Akten gelegt, wäre schade.

Gruß Gorcon
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 16:04

Beitrag von Tommy »

Ich habe fast den kompletten /var bereich auf die Karte ausgelagert und bin (zumindest subjektiv) der Meinung, das die SD Karte schneller ist als das Flash (mmc1). Evtl liegt es ja auch an der JFFS Komprimierung im Flash gegenüber Null Komprimierung auf SD.

Kurzum falls jemand an den Uboot rangeht - bitte den Boot von SD Karte nicht vergessen.
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

Und der Rest läuft nicht von der MMC?
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 16:04

Beitrag von Tommy »

Gorcon hat geschrieben:Und der Rest läuft nicht von der MMC?
theoretisch kann man zur Zeit alles auslagern was nach dem laden der mmccombo.o und dem mounten der SD Karte abgearbeitet wird. Ich lade den Treiber in der /init.d/rCS. Also könnte man theoretisch schon jetzt das Squashfs extrem verkleinern. Der httpd, sectionsd, neutrino usw. werden ja alle aus der start_neutrino geladen. Da ist die SD Karte schon verfügbar. Dazu müßte man mal das ganze image umbauen da ja so oder so das Sqashfs beim laden dekomprimiert wird (ob man den inhalt braucht oder nicht) Oder liege ich da falsch und jedes binary wird erst beim laden dekomprimiert?
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

Mir ging es eigentlich mehr darum ein Image auf die Festplatte oder auch auf die SD Karte zu spielen dieses dann zu entpacken und booten zu können ohne das ich am Image des Flashs oder das was ich testen will, großartig etwas ändern muss.

Gruß Gorcon
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 16:04

Beitrag von Tommy »

die Preisfrage ist:
1. uboot muß wissen von wo gebootet werden soll
2. den jeweiligen Treiber laden

Wenn das geht ist es glaub ich nur noch ein kleiner Schritt zum suspend2disc/SD
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

Tommy hat geschrieben:die Preisfrage ist:
1. uboot muß wissen von wo gebootet werden soll
2. den jeweiligen Treiber laden

Wenn das geht ist es glaub ich nur noch ein kleiner Schritt zum suspend2disc/SD
Das konnte man genauso handhaben wie beim PC im Bios, man stellt eben eine bestimmte Reihefolge bei der Bootabfrage ein.
Ich denke mal das sollte das allerkleinste Problem sein ;)
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

Sandali hat auf dem Relook 400 (DG Station) mal mit UBoot 1.20 gespielt

BLOG

Code: Alles auswählen

U-Boot 1.2.0 (Jul  6 2007 - 15:16:25) 

CPU:   IBM PowerPC STBx25xx(51510950) at 252 MHz (PLB=63)
       16 kB I-Cache 8 kB D-Cache
Board: relook200c
I2C:   ready
DRAM:  32 MB
FLASH:  8 MB
*** Warning - bad CRC, using default environment

no such a key.(videofmt)
checking welcome image… ok.
clear screen.
IDE:   IDE detected on IOADDR: f2000000
ide reset not yet implemented
ide reset not yet implemented
Bus 0: …OK
  Device 0: Model: Maxtor 2B020H1 Firm: WAH21PB0 Ser#: B15BAHME
            Type: Hard Disk
            Capacity: 19458.8 MB = 19.0 GB (39851760 x 512)
  Device 1: not available
default for stv6412
Un-Protect Flash Bank # 1
Press Ctrl-z to debug bootloader.
entering boot loader console.
[u-boot@relook200c boot]$ 

Bringt das etwas fuer die Dbox ?
mohousch
Einsteiger
Einsteiger
Beiträge: 362
Registriert: Mittwoch 14. Dezember 2005, 03:25

Beitrag von mohousch »

aus dem IDE Treiber:

die cs2-Leitung darf nur ein mal genutzt (mindestens software-mässig so ist ob das hardware so sein muss weiss) und falls die box vom IDE booten würde heisst das vielleicht das IDE nachher gar nicht benutzen darf? oder liege ich da falsch?

Code: Alles auswählen

Bringt das etwas fuer die Dbox ?
rein theoritisch das kann die Box auch; CPLD_IDE initialisieren denn üder diskboot oder ext2load aus dem HDD booten.
mohousch
Einsteiger
Einsteiger
Beiträge: 362
Registriert: Mittwoch 14. Dezember 2005, 03:25

Beitrag von mohousch »

Hi

glaube das gehört auch hier (see http://tuxbox-forum.dreambox-fan.de/for ... hp?t=46130)

und das erhalte im Log weiter geht aber nicht
U-Boot 1.2.0 (Tuxbox) (Aug 8 2007 - 12:43:11)

CPU: PPC823ZTnnB2 at 65.900 MHz: 2 kB I-Cache 1 kB D-Cache
Board: DBOX2, Philips, BMon V1.0
Watchdog enabled
I2C: ready
DRAM: 32 MB
FLASH: 8 MB
Scanning JFFS2 FS: .. done.
FB: ready
LCD: ready
In: serial
Out: serial
Err: serial
Net: SCC ETHERNET

Options:
1: boot from mmc
2: boot from flash
3: boot from network
Select option (1-3), other keys to stop autoboot: 0 ...........................
.................................... done
Un-Protected 63 sectors
mmc2: Hardware init
mmc Card init
mmc Card init *OK1*
mmc Card init *OK2*
mmc: Media found Size = 247040, hardsectsize = 512, sectors = 494080

** Block device /dev/mmc/disc0/part1 1048576 not supported

=>
mit einer 256MB Karte mit 512MB auch das gleiche :( :gruebel:
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 09:58

Beitrag von flasher »

Hi

Ich wollte das nochmal aufgreifen. Speziell der mmc Support.
Hat sich damit noch jemand befasst oder ist das versunken?

Ich habe mich mit meinen sehr sehr bescheidenen Kentnissen mal daran gewagt aber bin kläglich gescheitert.

Gruß