Sagt mal, hat wer von euch des mini2440 mit 256MB Flash und uboot
erfolgreich laufen? Bei mir funktioniert uboot zwar aus dem RAM, aber
nicht vom Flash. Letzte Meldung ist:
1
I2C: ready
2
DRAM: 64 MB
3
Flash: 2 MB
4
NAND: nand_scan(): Cannot allocate oob_buf
5
0 MiB
uboot habe ich mit
1
#define CONFIG_USE_IRQ 0 /* Needed for USB device! */
compiliert - womit angäblich das Ding mit 128MB Flash klar kommt, aber
mit 256MB funktioniert's nicht.
Irgendjemand eine Idee?
Nun, die Links hab' ich alle durch, hat aber nichts geholfen. In einem
chinesischem Forum hab' ich noch den Hinweis - groß angekündigt - auf
diesen uboot gefunden:
http://github.com/tekkamanninja/U-boot-2009.11_tekkaman
Nur funktioniert der mit 256MB auch nicht. Angäblich aber mit 128MB.
seufz
Danke zwie blum, die Anleitung und 3 Stunden basteln hats bei mir
gebracht, was genau es war, kann ich nicht sagen, aber auf jeden Fall
bootest es nun bei mir.
Wenn du willst, kann ich dir das bin File schicken/Anhängen und
schreiben wie ich es in den Flash bekommen habe.
:-) das freut mich
uboot am 128MB NAND hab' ich nach der Anleitung von bill.station51.net
auch schon laufen. Den gepatchten Uboot von tekkamanninja hab' ich nicht
zum laufen gebracht (hat nur gepiepst). Jetzt hat das Ding mit 256MB
wieder vboot drauf.
Hast du irgendwo eine funktionierende Anleitung zum Kernel/Rootimage
bauen? Ich habe von Kernel http://arm9.net/download.asp Kernel 2.6.32.2
mit Toolchauin und Rootimage. Ich will das Ding aber mit Angstrom oder
buildroot bauen, ich brauch nur ein minimales Rootimage mit SDL
(dramebuffer) oder SDL(X11).
Nils S. schrieb:
> Danke zwie blum, die Anleitung und 3 Stunden basteln hats bei mir> gebracht, was genau es war, kann ich nicht sagen, aber auf jeden Fall> bootest es nun bei mir.>> Wenn du willst, kann ich dir das bin File schicken/Anhängen und> schreiben wie ich es in den Flash bekommen habe.
Ich habe ebenfalls ein Mini2440 mit 256 MB.
Würde mich auch interessieren. Danke... ;-)
>Hast du irgendwo eine funktionierende Anleitung zum Kernel/Rootimage>bauen? Ich habe von Kernel http://arm9.net/download.asp Kernel 2.6.32.2>mit Toolchauin und Rootimage.
Kernel ist ganz easy. Leider hat bei mir der Sound mit dem 2.6.32 nicht
funktioniert und Touchscreen habe ich auch nicht hintbekommen. Ebenso
war das Bild auf den T35 Display um ca. 10-12px nach Osten verschoben.
Ich verwende den 2.6.29 von der Mini2440 DVD, der geht.
Compilieren:
$ cd <kernel source> ; mkdir ../kernel-bin/
$ CROSS_COMPILE=arm-linux- ARCH=arm make menuconfig O=../kernel-bin/
in der Menuconfig nun die passende Config laden (config_mini2440_....
oder so)
$ CROSS_COMPILE=arm-linux- ARCH=arm make O=../kernel-bin/
nun hat man in ../kernel-bin/ den Compilierten kernel
(arch/arm/boot/...)
>Ich will das Ding aber mit Angstrom oder>buildroot bauen, ich brauch nur ein minimales Rootimage
Wie das mit buildroot o.ä. geht musst du mit den diversen Howtos
rausfinden, hab ich keine Ahnung von. Mein Flash beherbergt einen
kompletten Eigenbau, also alles selbst aus den Quellcode Paketen
compiliert und der chrootet in ein Gentoo auf einer USB-Disk :D
Im Anhang die funktionierende uboot.bin für 128MB
Interessant. Hast du die Codesourcery-Toolchain oder eine selbst
gebaute? Bei Meinem funktioniert Sound, Touch und das Display korrekt,
aber der Kernel kam schon prepatched (brrrr - die Doku, wo was gepatcht
wurde gibt's auf chinesisch). Hast du X11 laufen?
>Interessant. Hast du die Codesourcery-Toolchain oder eine selbst>gebaute?
Ich hab die von der Mini2440-DVD
>Bei Meinem funktioniert Sound, Touch und das Display korrekt,>aber der Kernel kam schon prepatched (brrrr - die Doku, wo was gepatcht>wurde gibt's auf chinesisch).
Naja, stört mich herzlich wenig, solange ich Sourcen hab, die
compilieren und laufen, wird kein Produktivsystem, nur zum Basteln,
daher kann mir das egal sein.
>Hast du X11 laufen?
Ne, ich bastle mit dem Framebuffer herum. Bin gerade dabei einen
Winamp-Klon zu (neu)schreiben, der auf den mpd zugreift für die Musik
und die Ausgabe erfolgt mittels ezfb http://www.akrobiz.com/ezfb/
Ist sehr easy :)
Hallo,
ich habe auch ein Mini2440 mit 256MB Nand und versuche u-boot darauf zum
laufen zu bekommen - bis jetzt nur leider ohne Erfolg...
Die Version von tekkamanninja habe ich auch schon probiert; klappt aber
auch nicht... Es gibt ja auch eine "offizielle" u-boot Version von
denx.de. Diese unterstützt allerdings nicht das Mini2440 (zumindest die
CPU wird teilweise unterstützt). Weiß jemand, ob diese Version einen
NAND Flash mit 256MB unterstützt? Vielleicht könnte man ja diesen Teil
in das u-boot für das Mini 2440 einfügen...
Was mich an der ganzen Sache ja ein wenig stört, ist, daß es dutzende
u-boot varianten im Netz gibt, die alle weitgehend undokumentiert sind &
wo auch nicht klar ist, welche Variante mit welcher Hardware zurande
kommt oder auch nicht...
Clemens Novak schrieb:
>> Weiß jemand, ob diese Version einen> NAND Flash mit 256MB unterstützt? Vielleicht könnte man ja diesen Teil> in das u-boot für das Mini 2440 einfügen...>
einfach kopieren ist vllt nicht drin, man muss schon an das jeweilige
board anpassen. Ob 256MB NAND mit uboot gehen, keine ahnung, mit 512MB
konnte bis jetzt nicht zum laufen bewegen.
> Was mich an der ganzen Sache ja ein wenig stört, ist, daß es dutzende> u-boot varianten im Netz gibt, die alle weitgehend undokumentiert sind &> wo auch nicht klar ist, welche Variante mit welcher Hardware zurande> kommt oder auch nicht...
das ist doch der "vorteil" von opensource, stell dir vor du muss auf die
"gnade des entwicklers hoffen" - wie bei dem supervivi wo die jungs nur
für eigenes board anpassen und keine sources publizieren.
DerHaken bei uboot+mini2440 scheint die initialisierung des SDRAM zu
sein, und das steht in den Assembler Files, wenn ich mich nicht irre,
jedenfalls hat der C-Code - wenn er denn überhaupt angesprungen wird -
kein RAM. Aber das ist mir ein bischen zu hoch :-)
Source von Supervivi ist auf arm9.net zu finden, aber nicht von
mkyaffs-128. Das Ding funktioniert zumindest. Ok, ich muss ein
ext2-Rootimage erstellen, das mounten und ein yaffs-image erzeugen, jo
mei, es funktioniert.
Was mich aber echt nervt ist, dass die Codesourcery Toolchain
anscheinend nicht 100% funktioniert. Ich hab' gestern mit "buildroot"
eine eigen Toolchain gebaut, ein Rootimage erzeugt und es rennt. Sogar
"fbv" funktioniert, nur directfb + Xfbdev machen Mucken. Aber es
funktioniert. Ich hab' momentan diese Codesourcery Toolchain im
Verdacht, warum uboot nicht funktioniert.
zwieblum schrieb:
> Source von Supervivi ist auf arm9.net zu finden, aber nicht von> mkyaffs-128.
ehm, seit wann ? Ich finde da keine sources von supervivi.
Da steht nur "supervivi基于三星的vivi而来,由友善之臂发展并维护,不提供源代码", also "supervivi
basierend auf vivi, keine sources".
Wäre mir neu das die developer es freigegeben haben.
Oje, mea culpa! In dem Paket ist Vivi-Sourcecode drinnen :-(
Hat jemand von euch vielleicht eine Idee, wie ich aus der Ausgabe von
"fbset" eine Modline für Xfbdev erzeuge? Ich häng' noch immer hier:
# fbset -i
mode "240x320-66"
# D: 5.882 MHz, H: 21.626 kHz, V: 65.733 Hz
geometry 240 320 240 320 16
timings 170000 1 26 2 5 5 2
rgba 5/11,6/5,5/0,0/0
endmode
Frame buffer device information:
Name : s3c2410fb
Address : 0x33940000
Size : 153600
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 0
YPanStep : 0
YWrapStep : 0
LineLength : 480
Accelerator : No
#
# Xfbdev -screen 240x320x16 -rgba rgb
Warning: mode not found, using default
error: Invalid argument
Fatal server error:
no screens found
#
für das File xserver/hw/kdrive/src/kmode.c erzeugt werden. Die Frage ist
nur, wie. Der Spaß mit "Xfbdev -screnn ..." funktioniert nur dann, wenn
eine geeignete Modeline im Code steht.
zwieblum schrieb:
> DerHaken bei uboot+mini2440 scheint die initialisierung des SDRAM zu> sein
Hi!
Das würde aber Deinem ersten Posting widersprechen, denn dort schreibst
Du, daß UBoot aus dem RAM funktioniert. Man erkennt auch, daß der NAND
nicht wirklich erkannt wird: "NAND: nand_scan(): Cannot allocate
oob_buf
0 MiB". Was auch immer UBoot an dieser Stelle macht, es kann einen
Buffer für OOB (Out-of-Band-Data) nicht anlegen. Ich besitze keinen
Mini2440, daher ist es nur eine Vermutung, aber es sieht so aus, als ob
das NAND tatsächlich nur den reinen Speicher darstellt, ohne weitere
Intelligenz wie Wear Levelling. Hier wird sicherlich ein Blick ins
Datenblatt des NANDs helfen, denn so hat ein Sektor nicht die gewohnten
z.B. 2048 oder 4096 Byte Größe sondern 2048/4096 + X, wobei X vielleicht
16, 32 oder was anderes bedeuten kann. Exakt dort wird OOB
abgespeichert, es können Prüfsummen über den eigentlichen Sektor sein,
ein Marker fürs Wear Levelling, etc (das ist die Aufgabe der Software).
Sobald die Access-Routinen auf den verbauten NAND-Typ angepaßt sind,
müßte es mit UBoot klappen. Diese Theorie würde dadurch unterstützt, daß
es mit 128MiB-NANDs scheinbar klappt.
BTW, ich meine mich dunkel zu erinnern, daß es bei NAND irgendwann eine
Änderung bei der Adressierung gegeben hat - die kleineren brauchten zwei
Bytes im Command, die größeren drei. Vielleicht ist genau bei 258MiB die
Grenze?
"NAND: nand_scan(): Cannot allocate oob_buf
Der Code scheitert, weil malloc beim Speicher anfordern (4096 Byte) NULL
zurückgibt. Wenn ich uboot über Supervivi ins RAM lade und starte kommt
der Fehler nicht - warum auch immer. Ich steig' ehlich gesagt beim
Bootloder nicht ganz durch.
Falls wer das selbe Problem haben sollte: Damit Xfbdev+buildroot am
mini2440 funktioniert, muss man in hw/kdrive/src/kmode.c diese Modeline
einfügen (am besten an 1. Stelle):
{ 240, 320, 66, 0,
0, 0, 0, KdSyncNegative,
0, 0, 0, KdSyncNegative,
},
"66" ist die Clock von "fbset -i", 'mode "240x320-66"'.
Ein paar Zeilen weiter unten muss MONITOR_TIMING_DEFAULT auf 0 gesetzt
werden:
#define MONITOR_TIMING_DEFAULT 0
Der Frambuffer läßt kein setzten des Videomodes zu, alle ioctl mit
FBIOPUT_VSCREENINFO schlagen fehl. Der betroffene Codefindet sich in
hw/kdrive/fbdev/fbdev.c, zeilen 666 bis 673:
/* display it on the LCD **** COMMENT OUT THIS CODE */
/* k = ioctl (priv->fd, FBIOPUT_VSCREENINFO, &priv->var);
if (k < 0)
{
perror ("1: FBIOPUT_VSCREENINFO");
return FALSE;
}
*/
Recompile .... :-)
Hi zusammen,
ja das funktioniert so... nicht schön aber wirkungsvoll :-)
Einen funktionierenden Workaround für das "Cannot allocate oob_buf"
Problem findet sich übrigens hier:
http://bill.station51.net/index.php?post/2010/01/16/U-Boot-on-Mini2440
Die Änderung in "Step 3" hat hier das gewünschte Ergebnis geliefert, der
U-Boot läuft jetzt problemlos auf einem neuen mini2440.
Gruß
Florian
Hallo,
nachdem ich es auf öfters vergeblich probiert habe, füge ich mal ein für
mein mini2440 funktionierende u-boot.bin an. Das Deaktivieren des
CONFIG_USE_IRQ hat es wirklich gebracht. Mal schauen wie weit ich bei
meinem Versuch ein Gentoo darauf laufen zu lassen komme ...
Viele Grüße
Alex
Hallo Leute,
Habe auch ein Mini2440-256MB board, doch leder habe ich noch nicht
geschafft Linux mit QT zu installieren. Nirgends im Web finde ich
einen funktionsfähigen code Toolchan Beispiel.
kann jemand helfen?
Gruss
Pedro
Hallo
habe U-Boot mit Debian installiert, aber den x-server bekomme ich nicht
ans laufen. Hat hier jemand die gefixten Debian Pakete zum download ?
mfg
t_web
Danke für deine schnelle Antwort.
geht aber leider mit der xorg.conf auch nicht.
Das Thema ist wohl der FB Treiber.
Damit muss ein neuer X-Server gebaut werden, aber das ist mir leider
nicht gelungen.
X.Org X Server 1.7.7
Release Date: 2010-05-04
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.31-rc9 armv5tel Debian
Current Operating System: Linux mini2440 2.6.32-rc8 #1 Tue Jul 20
22:55:51 CEST 2010 armv4tl
Kernel command line: console=ttySAC0,115200 noinitrd root=/dev/mmcblk0p1
mini2440=0tb ip=dhcp rootwait=5
Build Date: 15 July 2010 08:36:13PM
xorg-server 2:1.7.7-3 (Cyril Brulebois <kibi@debian.org>)
Current version of pixman: 0.16.4
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Sat Jul 31 12:07:54 2010
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE) FBDEV(0): FBIOPUT_VSCREENINFO: Invalid argument
(EE) FBDEV(0): mode initialization failed
Fatal server error:
AddScreen/ScreenInit failed for driver 0
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
Please also check the log file at "/var/log/Xorg.0.log" for additional
information.
giving up.
xinit: No such file or directory (errno 2): unable to connect to X
server
xinit: No such process (errno 3): Server error
______________________________________________________________________
_
Autor: zwieblum (Gast)
Datum: 01.02.2010 09:01
Falls wer das selbe Problem haben sollte: Damit Xfbdev+buildroot am
mini2440 funktioniert, muss man in hw/kdrive/src/kmode.c diese Modeline
einfügen (am besten an 1. Stelle):
{ 240, 320, 66, 0,
0, 0, 0, KdSyncNegative,
0, 0, 0, KdSyncNegative,
},
"66" ist die Clock von "fbset -i", 'mode "240x320-66"'.
Ein paar Zeilen weiter unten muss MONITOR_TIMING_DEFAULT auf 0 gesetzt
werden:
#define MONITOR_TIMING_DEFAULT 0
Der Frambuffer läßt kein setzten des Videomodes zu, alle ioctl mit
FBIOPUT_VSCREENINFO schlagen fehl. Der betroffene Codefindet sich in
hw/kdrive/fbdev/fbdev.c, zeilen 666 bis 673:
/* display it on the LCD **** COMMENT OUT THIS CODE */
/* k = ioctl (priv->fd, FBIOPUT_VSCREENINFO, &priv->var);
if (k < 0)
{
perror ("1: FBIOPUT_VSCREENINFO");
return FALSE;
}
*/
Recompile .... :-)
_____________________________________________________________________
Denke da liegt das Problem.
mfg
t_web