Hallo,
kann mir mal wer helfen? Habe da ein Problem ;-)
Der Text meines Leidensweges ist recht lang geworden, wer sich das Lesen
sparen möchte, sollte gleich zum Ende gehen:
Ich hab mir letztens ein mini2440 von FriendlyARM zugelegt, weil ich
damit über die GPIOs meine Heizung steuern möchte und über den
Touchscreen eine feine Anzeige,- und Bedieneinheit. Natürlich soll das
gleiche Interface dann auch gleich über die Ethernetschnittstelle
erreichbar sein, damit man auch von unterwegs übers internet mal
reinschaun kann. Damit ich die Schnittstelle nicht doppelt
implementieren muss, soll die lokale Anzeige auf dem 2449 deshalb auch
gleich ein Webbrowser sein. Damit da kein Platz verschenkt wird, und
damit das "sauber" ausschaut, soll der im Fullscreen laufen und die
webseite anzeigen, die der Webserver im mini selber zur Verfügung
stellt.
Soweit so gut, dachte ich mir, denn in dem mitgeliefertem qtopia ist ja
ein Konqueror als Webbrowser und BOA als Webserver. Wunderbar, nach
"nur" zwei Tagen war ich dann soweit, dass ich den Kernel und das Qtopia
selber übersetzen konnte und auch die Anpassungen funktionierten, damit
der Konqueror im Fullscreen läuft.
Also nächstes Thema: Datenaustausch zwischen (dem noch zu
programmierendem) Steuerungsprozess, Webserver und Browser. Hm, nehm ich
CGI, was sonst? Dann nehm ich am besten gleich ein Javascript Framework
wie jQuery, dachte ich mir. Also kurzerhand im BOA eingespielt, und mit
dem Firefox auf dem PC getestet - klappt ja wunderbar!
Dann mit dem embedded Konqueror. Mist, wieso geht das denn nicht? Hm,
vielleicht ist das jQuery zu viel, oder was? Also das ganze abgespeckt
abgespeckt auf ein reines 'assert' im $(document).ready(function()
Das geht auch schon nicht? Mist. Nachgeschaut: der konqueror ist aus
2002! oje...
Daraufhin hab ich mal probiert, einen aktuelleren Konqueror für qtopia
übersetzen. Ich habs leider nicht hinbekommen...
Dann hab ich ein paar Images durchprobiert, selber kompiliert, viel Zeit
verbraten. Aber nix passendes gefunden. 8(
Aus lauter Verzweiflung hab ich mir dann mal Android angeschaut. Nach
vielen Stunden hab ich es nun soweit, dass es bootet und auch das
Display ansteuert, leider schaltet es aber das backlight nicht an und
ich finde nicht raus, warum :-(
Bin momentan echt ziemlich angepisst von dem ganzen Linux-Zeugs. Das
kann doch alles nicht wahr sein! Wenn's so weiter geht, nudel ich ein
WindowsCE rauf und mach das damit. Dabei wollte ich doch eigentlich
endlich mal mehr mit Linux machen.
Oder kann mir einer von euch weiterhelfen, wie ich auf dem Mini2440
einen Webbrowser im Fullscreen angezeigt bekomme, der javascript kann?
Danke und Gruß
Walter
Nimm das WinCE6-Image und mach über VS2005 eine eigene App für
ARM-Geräte (ich glaub das war intelligentes Gerät oder so).
So hab ich es mit dem FA 2440 gemacht.
Das geht aber fix hier! Tausend Dank für deinen Beitrag
Wie ist denn das mit diesem Evaluationszeitraum? Nicht, dass in 6Monaten
meine Heizung den Dienst versagt, weil ich erst eine Lizenz besorgen
muss...
Falls jemand noch einen guten Tip hat, wie es sich mit vertretbarem
Aufwand doch noch unter Linux realisieren liesse, bitte her damit!
Danke und Gruß
Walter
Danke für diesen Hinweis. Den Thread kannte ich aber schon. Wenn ich nix
übersehen habe, hilft mir das nicht viel, denn der Ersteller rechnet ja
selber schon mit Problemen beim Einsatz von Ajax.
Habe jetzt das WinCE 6 von der DVD auf dem mini2440 laufen:
-Display ist um etwa 3 Pixel zu weit oben
-SD-Card funktioniert nicht
-Login für ftp ist unbekannt. Laut Web soll es plg/plg sein, aber das
funktioniert nicht
-weiss noch nicht, wie ich den InternetExplorer auf Fullscreen schalte
Wie kann man sich eigentlich so ein CE-Image selber basteln?
Gruß
Walter
Wenn du deinen eigenen Kernel kompiliert hast,
kannst du den doch für Amstrong nutzen
und dann ist wegen dem Backlight nur der Übergabeparameter zu setzen:
Mini2440=xtb x= 0,1,2 je nach Display | t=touch | b=backlight
Weil die Ansteuerung von Display, Backlight und Touch sind im Kernel
integriert.
Zumindest hab ich das bei meinem Test so gemacht und keine Probleme
gehabt.
Das Einzige nervige war das ich bei Armstrong die Tasten im Menü nutzen
musste wie beim Handy.
Das Backlight hat mit dem Kernel, den ich für Android übersetzt hatte,
nicht funktioniert, obwohl ich den Übergabeparameter gesetzt hatte.
Welches Board hast du? Bei mir dürfte ein Großteil meiner Probleme daran
liegen, dass ich eines der neueren habe mit 256 MB Flash und ein Display
vom Typ 'X' (also nicht N oder T). Nach dem Einbetten des Codes von
http://billforums.station51.net/viewtopic.php?f=4&t=27 hat dann das
Display zwar prinzipiell was angezeigt, nur ging eben das Backlight
nicht. Ich habs dann nicht rausgekriegt, warum...
Aber kannst du mir mal was zu 'Armstrong' erzählen? Oder meintest du
'Angstrom'?
Gruß
Walter
Ich habe den Ersten Kernel aus der Anleitung benutzt und meinte Android.
Konfus im Kopf.
Angstrom hatte ich aber auch minimal mal an getestet aber wieder von
abgelassen.
========================================================================
=
Habe nämlich mit den Display-Einstellungen rumgespielt, um da ein
800x600 Laptop TFT anzusteuern. Aber das Bild Flimmert leider.
Muss ich nochmal hier nachfragen wenn ich Zeit habe.
Tut hier nichts zur Sache ;-)
========================================================================
=
Gruß John-Eric
Die Nummer1 hatte ich probiert. Erstes Problem war, dass das u-boot dort
anscheinend meinen Flashspeicher noch nicht unterstützt hat. Nicht so
schmlimm, habe dann die u-boot-256M.bin von Friendlyarm genommen.
Beim Kernelübersetzen hatte ich dann auch ein paar Probleme, die sich
aber lösen liessen (mit apt-get ein paar module nachinstalliert).
Ich weiss nicht mehr genau, was schlussendlich damit nicht funktioniert
hat, aber irgendwas war's bestimmt. Ich habe soviele ausprobiert, dass
ich den Überblick verloren hab, ich hätte mir das wohl aufschreiben
sollen :-(
Du hast geschrieben: <b>Dieser hat das alles mit drinne</b>
Ein Web-Browser, der Ajax kann und Vollscreen? Dazu noch ein Webserver?
Falls ja, sollte ich mir das doch nochmal ansehen...
Gruß
Walter
Welches Display ich jetzt habe, keine Ahnung.
Wenn das auf der Platine steht bei Type, dann ist es ein LCDT35-100418
Funktioniert mit dem T35 Timing.
Meins hat auch 256MB.
Walter Nagler schrieb:> Du hast geschrieben: <b>Dieser hat das alles mit drinne</b>
Damit war der Kernel und die Unterstützung der Hardware gemeint.
Das andere ist ja Software die du selber raufspielst.
Mit Uboot hatte ich auch meine Mühe. Startete nicht aus dem RAM
Mir hat aber
http://bill.station51.net/index.php?post/2010/01/16/U-Boot-on-Mini2440
Ganz unten bei "UPDATE MAY 31st, 2010"
geholfen.
Walter Nagler schrieb:> ch weiss nicht mehr genau, was schlussendlich damit nicht funktioniert> hat, aber irgendwas war's bestimmt. Ich habe soviele ausprobiert, dass> ich den Überblick verloren hab, ich hätte mir das wohl aufschreiben> sollen :-(
Ja mir ging es ähnlich.
Ich habe angefangen so ein bisschen mit zuschreiben.
Das hat geholfen.
Hi,
http://www.mikrocontroller.net/articles/Micro2440
ist ziemlich das gleiche wie das Mini hab das FAQ jetzt schon mehrmals
kontrolliert und umgeschrieben eigentlich geht das ziemlich schnell und
einfach.
Wenn du es aber dennoch nicht hin-bekommst könnte ich dir nen
SD-Cardimage hoch laden hab welche für debian, linario, lubuntu und
gentoo alle schon mit dem board getestet.
@SandboxGangster
Das hab ich nicht gelesen.
Ist ausführlicher als beim Mini. Mist.
Hätte mir wahrscheinlich auch Arbeit gespart.
Kannst du für lubuntu vielleicht auch einen kurzen Eintrag mit den
git/debotstrap-Link machen. Dann kann ich das mal testen.
Ist bei deinen Systemen die deutsche Tastatur eingerichtet?
Hatte da bis jetzt immer Hänger, weil irgendwelche Fehler auftraten.
John-eric K. schrieb:> Wenn das auf der Platine steht bei Type, dann ist es ein LCDT35-100418> Funktioniert mit dem T35 Timing.
Bei mir steht's auf dem weissen Kunststoffrahem: unten steht
"FriendlyARM" und oben rechts steht "X35". Wie's aussieht, funktioniert
dieses "X35" nicht mit dem T35 Timing
SandboxGangster schrieb:> http://www.mikrocontroller.net/articles/Micro2440>> ist ziemlich das gleiche wie das Mini hab das FAQ jetzt schon mehrmals> kontrolliert und umgeschrieben eigentlich geht das ziemlich schnell und> einfach.
Auf den ersten Blick sieht dein Artiel richtig gut aus! Werde das die
Tage mal probieren. Würde es schon gerne selber kompilieren (können).
Wenn sich Probleme ergeben, kannst du mir ja bestimmt aus der Patsche
helfen ;-) Welche Distri würdest du mir "aus dem Bauch" raus für mein
Vorhaben empfehlen?
Wird aber ein paar Tage dauern...
Gruß
Walter
Mit Debian habe ich vor ein paar Jahren mal was gemacht und damit schon
etliche Probleme, nun hatte ich ein paar Jahre Linux-Pause und hab mir
für mein mini2440 ein Ubuntu 10.irgendwas installiert, mit dem ich
bisher gut zurecht komme. Dann wäre wohl xubuntu eine gute Wahl, oder?
Grafische Oberfläche muss sein, ich möchte ja per Webbrowser den
Steuerprozess bedienen
Für euch wahrscheinlich eine doofe Frage, aber wie komme ich nach
xubuntu, wenn ich von http://www.mikrocontroller.net/articles/Micro2440
ausgehe, da sind nur Gentoo/emdebian und android beschrieben?
Danke, Vielen Dank !
Ich hab jetzt erstmal ein wenig probiert nach der micro2440 Anleitung
von Theborg0815 http://www.mikrocontroller.net/articles/Micro2440. Das
selberkompilierte u-boot hab ich leider nicht zum Laufen vom RAM bewegen
können (scheint da wohl inzwischen ein Problem mit interrupts zu geben,
wenn ich die Postings von buserror richtig verstanden hab).
Habe daraufhin versucht, auf u-boot komplett zu verzichten und
stattdessen mit VIVI den kompilierten Kernel als zImage aus dem Flash zu
starten, was prinzipiell eigentlich funktioniert, nur leider scheitert
dann das mounten des root-fs auf der MMC:
Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block(179,2)
Das komplette Logfile ist im Anhang zu dem Post.
Das init kommando für den Kernel hab ich im VIVI eigentlich angepasst,
funktioniert das Ganze nicht ohne u-boot, oder was hab ich sonst falsch
gemacht?
Danke und Gruß
Walter
hi
interessant, sitze auch gerade an ein ähnliche projekt mit mini2440.
ich habe allerdings debian drauf mit lighttpd und fast-cgi und mache das
meiste mit php.
boot, rootfs und swap habe ich auf mein sdcard, 3 partitionen angelegt.
klappt bisher auch alles gut, 1-wire temperatur sensoren auslesen,
werte in sqlite datenbank schreiben und grafike erstellen mit rrdtool.
zugriff über browser und iphone klappt sehr gut, meine nächste baustelle
wenn zeit da ist,
ist eine grafische oberfläche und browser unter debian am laufen zu
kriegen,
und dann relais ansteuern zum schalten.
kenne mich mit linux konsole recht gut aus, aber diese ganze X ist alles
neuland für mich, arbeite bisher nur mit linuxserver ohne grafische
oberfläche.
denke android kannst du abharken, recht wenig infos in zusammenhang mit
mini2440, und wenn ja sollte das auch nicht gerade schnell sein.
mit linux hast du viel mehr freiräume und viel opensource was man
einsetzen kann.
kennst du Bills Blog?
da habe ich sehr hilfreiche infos bekommen
http://bill.station51.net/index.php?
gruß
rudi
rudi schrieb:>> kenne mich mit linux konsole recht gut aus, aber diese ganze X ist alles> neuland für mich, arbeite bisher nur mit linuxserver ohne grafische> oberfläche.
Hi, für das Board eignet sich LXDE ganz gut config für den Xserver gibt
es in dem Wikibeitrag über das Micro2440.
Leuft bei mir ganz gut ich persönlich nutze Gentoo allerdings nur mit
einer Textbasierten Oberfläche, mit einer GUI würde das Compilieren ewig
dauern aber dafür ist es aktueller als Debian.
hi
sonnst arbeite ich auch mit gentoo ;-)
aber mal eben php kompilieren, oder gar X denke ich kann man komplett
vergessen, das würde tage dauern.
ich brauche halt ein screen um mal eine pumpe oder relay an ab zu
schalten,
ich habe sonnst kein tastatur dran, macht alles halt über ssh.(dropbear,
nicht so mächtig)
will halt ein browser haben um a direkt am screen was zu schalten,
oder remote vom iphone.
werde mich die tage mal ran trauen wenn mal zeit da ist.
gruß
rudi
K. J. schrieb:> Hi haste ext2 und ext3 Support im Kernel ? ansonsten mal am pc e2fsck> -fvy drüber laufen lassen manchmal machen die SD-Karten etwas Probleme.
ext2 und ext3 sind im Kernel (*, kein 'M')
Das e2fsck auf dem PC hat keine Fehler gefunden:
root@ubuntu:/usr/src/mini2440# e2fsck /dev/sdb2
e2fsck 1.41.12 (17-May-2010)
/dev/sdb2: clean, 5628/109984 files, 51495/439453 blocks
Dann hab ich die Karte nochmal im 2440 probiert und jetzt bekam ich nur
noch folgendes:
Waiting for root device /dev/mmcblk0p2...
s3c-sdi s3c2440-sdi: running at 398kHz (requested: 400kHz).
s3c-sdi s3c2440-sdi: powered down.
mmc0: error -110 whilst initialising SD card
s3c-sdi s3c2440-sdi: powered down.
Daraufhin hab ich's mit einer anderen SD-Card probiert. Da kommt gleich
"-110". So ein Sch....
Könnte mir mal jemand ein bei ihm funktionierendes u-boot/Kernel/RootFS
irgendwo hochladen, damit ich ein Hardwareproblem meines 2440 mit dem
SD-Slot ausschliessen kann?
In der Zwischenzeit probier ich mal, mein u-boot doch ans laufen zu
bekommen, vielleicht hat mein Problem ja doch mit der Verwendung von
VIVI und dem Start des Kernels aus dem OnBoardFlash zu tun...
@Rudi:
Bills Blog kenne ich, hab ich auch schon viel nützliche Infos dort
gelesen. Hast du dein System nach irgendeiner Anleitung aufgesetzt? Wenn
ja, nach welcher?
Danke und Gruß
Walter
Hatte das -fvy beim ersten Test schon mit dran, für das log dann aber
nicht mehr. Hier das Ergebnis mit fvy:
root@ubuntu:/usr/src/mini2440# e2fsck /dev/sdb2 -fvy
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
5343 inodes used (12.48%)
0 non-contiguous files (0.0%)
4 non-contiguous directories (0.1%)
# of inodes with ind/dind/tind blocks: 308/2/0
35250 blocks used (20.60%)
0 bad blocks
1 large file
4501 regular files
609 directories
12 character device files
25 block device files
0 fifos
394 links
187 symbolic links (187 fast symbolic links)
0 sockets
--------
5728 files
Mein Board hat 256MB NAND und das 3,5 Zoll Display Variante "X" mit
Touchscreen
Meine Versuche mit selbstkompilierter u-boot.bin enden alle so:
Supervivi> load ram 0x32000000 243360 u-boot
USB host is connected. Waiting a download.
Now, Downloading [ADDRESS:32000000h,TOTAL:243370]
RECEIVED FILE SIZE: 243370 (237KB/S, 1S)
Downloaded file at 0x32000000, size = 243360 bytes
Supervivi> go 0x32000000
go to 0x32000000
argument 0 = 0x00000000
argument 1 = 0x00000000
argument 2 = 0x00000000
argument 3 = 0x00000000
Über google habe ich das hier gefunden:
http://billforums.station51.net/viewtopic.php?f=1&t=2
Der define ist aber bei mir schon auskommentiert (//#define
CONFIG_USE_IRQ) und trotzdem funktioniert es nicht. Bin (wieder mal)
etwas ratlos, wie ich bei dem Problem weiterkomme...
Anbei mein U-boot
md5hash: 1312e885b2eeaaf817c4949325cb16db
Ich habe das so wie in deinem Link ganz unten beschrieben gemacht.
Weil das uboot im RAM nicht läuft war bei mir genauso.
Mit der Anleitung ging es dann aber bei mir.
======================================================
UPDATE MAY 31st, 2010: There have been some problems with the current
repository code and it won't run from RAM for some devices. So here's a
quick workaround.
1. Switch the system to NOR and boot with supervivi.
2. hit v in supervivi
3. i uploaded the u-boot.bin file
4. switch the system to NAND and boot up with u-boot. You'll get some
errors.
5. Run nand scrubs and createbbt
6. switch back to NOR
7. hit v again and upload U-boot since you just erased it.
8. switch back to nand and it should boot up with minimal errors using
u-boot.
9. run the dynpart and dynenv and saveenv as mentioned above.
=======================================================
Den Link hatte ich dir schon vorher mal geschrieben weiter oben hier ;-)
Mein debian ist gepackt 100MB groß.
hi
ja, ich habe mich auch an ein kombination von div. anleitungen gehalten,
ist allerdings auch schon 6 monate hier.
das meiste habe ich aber auf bills blog gefunden, was ich von welche
anleitung gemacht habe weiß ich nicht mehr.
der usb treiber hat bei mir unter windoof nicht funktioniert(DNW),
ich habe dann die linux upload variante benutzt.
bei mir hat es auch nicht auf anhieb geklappt, müsste auch die
workaround auf bills blog machen in dein link hier oben (denn part
UPDATE MAY 31st, 2010),
danach hat es bei mir alles funktioniert.
du kannst auch ein u-boot hier http://www.friendlyarm.net/downloads
runterladen,
schon probiert?
gruß
rudi
Vielen Dank für Eure Hilfe, und sorry, dass ich die entscheidenden
Stellen vorher nicht gesehen hatte. Wie es aussieht, klappt mein u-boot
unter Berücksichtigung des Workaround nun, aber es kommt eine Meldung
"unknown NAND". Mit dem u-boot von FriendlyArm klappts da besser. Werde
das jetzt nehmen:
U-Boot 1.3.2-mini2440 (Feb 24 2010 - 13:04:49)
I2C: ready
DRAM: 64 MB
Flash: 2 MB
NAND: 256 MiB
Found Environment offset in OOB..
USB: S3C2410 USB Deviced
In: serial
Out: serial
Err: serial
MAC: 08:08:11:18:12:27
Hit any key to stop autoboot: 0
:-)))))
Ich hab jetzt meinen Kernel auch schon mit dem Patch
http://billforums.station51.net/viewtopic.php?f=4&t=27&sid=266d90dc5ed51a2c504d323b4f81568f
versorgt und nun ist die Displayanzeige nicht mehr verschoben und das
Backlight funktioniert auch.
Leider bleibt mein Problem mit dem nicht mountbaren rootfs aber
bestehen. Was mir augefallen ist:
Wenn ich mit mini2440=0tb starte, kommt beim mounten des rootfs die
Meldung "unknown-block"
Wenn ich mit mini2440=5tb (für das X35 Display, siehe Patch), dann kommt
"mmc0: error -110 whilst initialising SD card"
Testweise habe ich mir auch dieses tar runtergeladen und auf die SD
entpackt:
http://distfiles.gentoo.org/releases/arm/autobuilds/current-stage3/armv4tl-softfloat-linux-gnueabi/
Leider gleiches Ergebnis. Mal bekomme ich -110 und mal "unknown-block".
Die SSD an sich und der Leser scheint zu funktionieren, denn wenn ich im
u-boot ein "mmcinit" und ein "ext2ls mmc 0:2" mache, sehe ich mit dem
Tarball oben folgendes:
<DIR> 4096 .
<DIR> 4096 ..
<DIR> 16384 lost+found
<DIR> 24576 dev
<DIR> 4096 sys
<DIR> 4096 root
<DIR> 4096 tmp
<DIR> 4096 proc
<DIR> 4096 lib
<DIR> 4096 usr
<DIR> 4096 bin
<DIR> 4096 boot
<DIR> 4096 etc
<DIR> 4096 mnt
<DIR> 4096 var
<DIR> 4096 opt
<DIR> 4096 home
<DIR> 4096 sbin
Soweit also ok.
Was meint ihr, sollte ich mal probieren, den von FriendlyARM gelieferten
Kernel zu übersetzen und damit probieren?
Oder vermutet ihr mein Problem beim Erzeugen der SD-Card? Mache das mit
Ubuntu in einer VMware über einen USB Kartenleser von LogiLink. Kann ich
die SD-Karte eventuell auch mit dem 2440 vorbereiten, indem ich das
Qtopia wieder draufflashe?
Mannomann, dachte nicht, dass sich das so auswächst :-(
Danke und Gruß
Walter
Mit deinem Kernel komme ich schon mal ein ganzes Stück weiter. Der
versteht zwar das mini2440=5tb nicht, aber das ist erstmal nicht schlimm
und ich habs wieder auf mini2440=0tb geändert.
Damit hätte ich jetzt nicht gerechnet, dass es am Kernel liegt, denn ich
dachte, im menuconfig alles nötige gecheckt zu haben. Kannst du mir noch
deine .config schicken? Vielleicht krieg ich so raus, warum mein Kernel
und der von FriendlyARM nicht bootet.
Mit init=/bin/bash habe ich dann schon mal eine Konsole bekommen und
habe dann mit passwd ein Root-Passwort gesetzt. Danach das
"init=/bin/bash" wieder entfernt und gebootet:
* Checking root filesystem ...ext2fs_check_if_mount: Can't check if
filesystem is mounted due to missing mtab file while determining whether
/dev/ROOT is mounted.
fsck.ext3: No such file or directory while trying to open /dev/ROOT
/dev/ROOT:
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate
superblock:
e2fsck -b 8193 <device>
* Filesystem couldn't be fixed :(
[
!! ]
Give root password for maintenance
(or type Control-D to continue):
Irgendetwas scheint also doch auch noch beim Vorbereiten meiner SD-Karte
schief gelaufen zu sein. Nach Eingabe des im vorhergehenden Bootvorgangs
mit /bin/bash und passwd gesetzten Passworts bekomme ich dann auch
wieder eine Konsole:
(none) ~ # e2fsck -b 8193 /dev/mmcblk0p2
e2fsck 1.41.12 (17-May-2010)
e2fsck: Bad magic number in super-block while trying to open
/dev/mmcblk0p2
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate
superblock:
e2fsck -b 8193 <device>
Ich weiss nicht, was ich mit meiner SD-Karte falsch gemacht habe.
Vielleicht liegt es aber auch an Vmware/Kartenleser/Ubuntu. Kann ich
eventuell mein 2440 im aktuellen Zustand hernehmen, um die SD-Karte
vorzubereiten?
Danke
ein Fehler No such file or directory while trying to open /dev/ROOT
/dev/ROOT:
bekomste weg wen du in denn Bootparametern beim uboot ro stat rw
einstellst.
der andere:
No such file or directory while trying to open /dev/ROOT
/dev/ROOT:
Du musst dir die /etc/fstab noch einstellen ein Beispiel ist in dem wiki
faq
Hm oben ist irgentwie falsch zetiert das RO brauchste nicht zwangsweise
aber halt die /etc/fstab ist bei dir noch nicht eingestellt.
Zu den Fehler mit dem "-110" hast du zufällig DMA für die SD aktiviert ?
und geht das jetzt?
ich habe mein X und lxde auch nach langen googlen am laufen gekriegt.
unter debian muss man noch den treiber für den frame buffer im kernel
ändern.
eine zeile hinzufügen und denn kernel neu kompilieren.
hat mir stunden gekostet das raus zu bekommen. :-(
hier mal eine seite wo alles steht, ist allerdings auf thai,
also muss herr google translate mal translaten.
http://translate.google.com/translate?hl=de&ie=UTF-8&sl=th&tl=de&u=http://project4fun.com/node/4&rurl=translate.google.de
wozu nutzt er denn eure mini2440?
gruß
rudie
War ja nun ne Weile gaanz ruhig um mein 2440, weil ich einfach keine
Zeit dafür hatte...
In der Zwischenzeit hat sich aber nun doch einiges getan: meine
sporadischen Chipkartenprobleme sind gelöst mit einem neuen
Chipkartenleser von digisol. Übrigens sehr schnelles Gerät zu einem
günstigem Preis. Und trotzdem gab es einen Supersupport, meine
Kingston-SD "made in Taiwan" zickten anfangs ein wenig rum, was sich mit
ein wenig Schleifpapier aber lösen liess ;-)
Mithilfe der Anleitungen
http://billforums.station51.net/viewtopic.php?f=4&t=9&sid=275cc184fc167edb0e4c9b80e1e03218http://billforums.station51.net/viewtopic.php?f=4&t=20&sid=275cc184fc167edb0e4c9b80e1e03218
konnte ich mir jetzt auch selber einen Kernel kompilieren, der von SD
starten kann!
Für alle, die über Google wegen des Fehlers -110 hier landen, schaut
euch mal das an:
http://billforums.station51.net/viewtopic.php?f=3&t=26&p=297&hilit=110&sid=275cc184fc167edb0e4c9b80e1e03218#p297
Was mir jetzt noch fehlt, ist ein passendes Rootfilesystem. Mit Gentoo
hab ich mal probiert, das ist aber riesig, lahm und ich konnte auch
keine GUI finden.
Bis auf ein paar Fehlermeldungen hab ich jetzt das Debian von hier
laufen:http://code.google.com/p/mini2440/downloads/detail?name=emdebian-grip-090306-armel-lenny-installed.tar.bz2&can=2&q=
Ist aber auch ohne GUI. Wie bekomme ich da eine GUI drauf?
An das Linario hab ich mich noch nicht rangetraut, scheint ja wohl was
für Profis zu sein, oder sollte ich doch?
Da ich aber eine faule Sau bin ;-), wäre mir natürlich am liebsten,
jemand hier könnte mir ein passendes RootFS zur Verfügung stellen, das
schon alles drin hat, was ich brauche:Webserver und Browser. Das wär ein
Traum
Danke und Gruß
Walter
Also ich hab mein Root von debian gedebootstrapt.
Allerdings ist das riesig.
400MB groß.
Muss ich mal schauen was ich von den Programmen noch löschen kann um das
kleiner zu machen.
Oder ich lade mir ein fertiges herrunter.
Darf ich mich der Odyssee anschliessen?
Mein Kernel stammt von git://repo.or.cz/u-boot-openmoko/mini2440.git
Also der -110 Fehler hat anscheinend was mit dem Display zu tun.
Ich habe ein T35 Display.
Meine ersten Schritte unternahm ich mit der Default-Einstellung (also
N35), was zur Folge hatte, dass der Bildschirminhalt mehrere Pixel nach
rechts verschoben wurde.
Nachdem es mir dann gelungen war mit dem Selbstgestricken zu booten,
wollte ich auch endlich den Bildschirm richtig setzen.
Nachdem ich mini2440=3tb setzte, kam auch prompt dieser -110 Fehler.
Die Werte für den T35 in der Datei mach-mini2440.c scheinen also nicht
korrekt zu sein.
Was mich seeeeeehr viel Zeit gekostet hat, war die Tatsache, dass die
git-Repository in der Grundeinstellung ext2 nicht unterstützt und ich
meine SD-Karte mit ext2 formatiert hatte.
Also ich habe auch das T35 und nutze mini2440=3tb
Ich habe meinen direkt von
http://www.kernel.org/pub/linux/kernel/v2.6/
weil das Mini ja direkt unterstützt wird.
Anbei die mach-mini2440.c-Datei aus dem Kernel 2.6.37 von der oben
erwähnten Quelle.
@walter
Ich bin gerade bei SDL als Grafikbibliothek bei, siehe:
http://www.mikrocontroller.net/articles/Mini2440_SDL_GUI_Programmierung
Die Demoprogramme funktionieren soweit ganz gut auf dem Mini und mit
selbst an gebastelten 800x600 Laptop Display läuft das auch ganz gut.
Danke für den Hinweis. Kernel hab ich ja inzwischen hinbekommen. Auch
für mein Display X35. Ich häng mal auch meine mach-mini2440 mit
Unterstützung für das X35 mit ran, vielleicht hilfts ja jemandem hier
weiter
Das hört sich ja sehr interessant an mit SDL. Mit NetSurf für
Framebuffer sollte ja auch ein Browser verfügbar sein. Das werd ich mir
demnächst mal anschaun...
Scheint auch interessant zu sein.
Ich habe erst einmal im Kernel alles deaktiviert was ich denke das ich
nicht brauche und bin bei den Kernelmodulen von 52MB auf 800KB
runtergekommen.
Als nächstes werde ich das emdebian Dateisystem noch einmal versuchen
erstellen. Habe Zurzeit lenny drauf, weil das andere nie laufen wollte.
So ein großes Display ist durch nichts zu ersetzen.
Beitrag "Mini2440 LVDS Display Adapter für größere TFTs"
Servus John-eric
Also ich habe so wie Du den 2.6.37 Kernel aufgesetzt, nachdem ich den
mach-mini2440.c mit Deiner ausgetauscht habe.
Das einzige, was ich noch geaendert habe: ext2 support enabled.
Als RootFS habe ich debian lenny zusammen mit BusyBox.
Also zuerst mal die gute Nachricht: bis anhin der sauberste Boot den ich
je hatte. Soweit ich feststellen konnte wurde kein einziger Fehler auf
der Konsole ausgegeben.
Danke für den Tip mit der Kernel-Version.
(NB: Vers. 2.6.38.5 war hingegen voller Fehlermeldungen)
Die schlechte Nachricht: Auf dem Bildschirm ist tote Hose.
Wenn ich aber auf mini2440=0tb umstelle, dann erscheint beim Booten kurz
der Pinguin und die Beleuchtung wird ausgeschaltet. Nach dem Boot kann
ich den Bildschirminhalt ganz matt erahnen. Und auch ein echo "blabla" >
/dev/tty0 ist erahnbar.
Aber ein "bl 1" gibt zwar keinen Fehler aus, aber die Beleuchtung bleibt
dunkel.
Frage:
- Hast Du im menuconfig was geaendert?
- Was hat denn Du als RootFs?
Wenn ich in mach-mini2440.c dies eintrage und mit mini2440=6tb starte,
dann sitzt das Bild 1:1. Also keinerlei Pixel-Verschiebungen nach links
oder rechts.
Nur das Backlight fehlt.
Also Backlight sollte auch wenn im Kernel aktiviert im
userspace/Dateisystem unter /sys/class/led/backlight oder so ähnlich
ansprechbar sein.
Ich habe das zurzeit deaktiviert, weil ich die Hintergrundbeleuchtung
noch nicht angeschlossen habe zum an/ausschalten.
Ich bin gerade dabei Navit für den Mini zu kompilieren.
Das mit dem Screensaver kriege ich einfach nicht hin.
Solange ich mit der angeschlossenen USB-Tastatur an der Konsole arbeite,
ist alles i.O.
Sobald ich aber laengere Zeit nichts mache, greift der Screensaver und
die Backlight ist durch nichts mehr zu aktivieren: das Getippte ist dann
nur sehr schwer erkennbar und ich muss mich mit telnet einloggen um
arbeiten zu können.
Status Quo:
Kernel: Linux version 2.6.37
Distribution: Debian 6.0.1
Irgend jemand 'nen Tipp für mich?
Habe soeben Kernel 2.6.39 aufgesetzt, nachdem ich die beiliegenden
patches ausgeführt hatte.
Funktioniert bis auf den Touchscreen; aber da liegt der Fehler
vermutlich bei mir irgendwo.
Beim Boot-Vorgang wird folgendes ausgegeben:
An dem gleichen Problem sitze ich gerade bei dem 2.6.37-Kernel.
Habe mir die Patches angepasst von einer anderen Seite.
Ich habe die gleichen Ausgaben
Mehmet Kendi schrieb:> input: gpio-keys as /devices/platform/gpio-keys/input/input0> samsung-ts s3c2440-ts: driver attached, registering input device> input: S3C24XX TouchScreen as /devices/virtual/input/input1
Wird dafür nicht meist die tslib benutzt.
Diese hat auch ein paar demoprogramme zum Kalibrieren und testen dabei.
Allerdings haut das bei mir auch nicht hin.
Ich stehe wieder am Anfang.
Beim Versuch den Touchscreen irgendwie zum Leben zu erwecken, habe ich
es geschafft, dass nun gar nichts mehr laeuft. Nicht mal meine
Backup-SDKarte geht mehr.
Momentan erstelle ich eine neue SD-Karte vom letzten Backup (2.6.37).
John-eric K. schrieb:> Wenn ich> cat /dev/input/mouse0> mache und auf dem Touchpad rumdrücke, kommen viele Zeichen.
Das ist doch schon mal was. Werde ich gleich testen, sobald meiner
wieder mitspielt.
Ist tslib nicht dazu gedacht, QT4 als Schnittstelle zu dienen? Da ich
nur ncurses benutzen möchte, weiss ich gar nicht, ob ich tslib brauche.
Soweit ich das verstanden habe, nimmt tslib die raw Eingaben, Filtert
die und gibt sie wieder aus. Da unser Kernel aber direkt ein Mausgerät
erstellt, sollte es doch eigentlich überflüssig sein.
Was ich mich dann aber Frage ist, Wie zum Teufel kalibriert man dann das
TS?
Ich kann mir nicht vorstellen, dass das von Alleine läuft.
Ich nutze Buildroot, welches mir einen Compiler erstellt und danach das
Root-FS und den Kernel kompiliert. Funktioniert soweit Prächtig. Heute
Abend werde ich mal versuchen die SDL- Testprogramme laufen zu lassen.
So ich habe SDL jetzt mal ohne tslib kompiliert und in den Testprogies
zappelt der Mauszeiger, aber das war es auch schon.
Die Frage ist für mich nun, wie wird der Kernel Maustreiber für das TS
kalibriert.
Eine externe Maus funktioniert ganz Normal.
John
Na das nenn' ich aber eine Odyssee!
Der Titel dieses Beitrags ist wirklich sehr gut gewaehlt :)
Ich habe versucht, das Ganze auf NFS aufzusetzen. Also sowohl Kernel als
auch RootFs sollen vom Server geladen und gestartet werden.
Ja may! Ich haett' fast Schreikraempfe bekommen. Der Kernel wurde zwar
geladen und gestartet, aber beim RootFS klemmte es:
1
server192.168.1.30notresponding,stilltrying
Es hat sich herausgestellt, dass der eingebaute EthernetController
DM9000 da nicht mitmacht. Mit diesem Patch kann man Abhilfe schaffen:
Ist es jemandem mit neuerem Kernel gelungen ADC anzusprechen?
Ich meine jetzt nicht die Touchscreen, sondern den Poti und die
ADC-Eingaenge.
Irgendwie ist es mir nicht gelungen diese in den Kernel einzubauen und
deshalb habe ich unter /sys/devices/platform/s3c24xx-adc/s3c-hwmon
nichts.
Dort sollte aber
driver in1_input in3_input in5_input in7_input subsystem
hwmon in1_label in3_label in5_label in7_label uevent
in0_input in2_input in4_input in6_input modalias
in0_label in2_label in4_label in6_label power
vorhanden sein.
Wenn ich mich recht erinnere, ist beim 2.6.37 Kernel der Poti unter
/dev/adc.
Mit
1
fd=open("/dev/adc",0);
konnte ich die Stellung des Potis auslesen. Aber wo die anderen 7 inputs
waren, konnte ich auch nicht finden.
Bin nun bei Kernel 2.6.39, weil beim 37er ich emDebian nicht
installieren konnte.
Nö da habe ich den schon lange nicht mehr gefunden.
Das compilierte Image nützt mir wenig, wenn ich nicht weiß mit welchen
Einstellungen erstellt.
Fangen wir anders an:
Kernel hast du von Kernel.org. Welche Version genau? die scheint die
Einzige:
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.tar.bz2
Wo hast du die Patches her? Da sehe ich noch nicht wirklich durch wo da
die zentrale Anlaufstelle ist.
Meine sind von:
http://groups.google.com/group/linux.kernel/browse_thread/thread/d5e7de479e14fd4e/77c4169beceb2087?show_docid=77c4169beceb2087
Scheinen von März und aktuell zu sein.
=================================================
Mir ging das auf den Zeiger, das die friendlyARM Toolchain Version 2.8
der Bibliotheken benutzt und emDebian dir aber 2.7 installiert.
Ich habe da bei Selbstkompilierten Programmen Probleme gehabt. (Illegal
Instruction zB.)
Deshalb bin ich dazu über gegangen, mir mein komplettes Root-FS inkl.
Kernel und die passende Toolchain gleich dazu mit Buildroot zu
erstellen. Lief bis jetzt komplett ohne Probleme und das Dateisystem ist
gleich viiieeeel kleiner. Die Einstellungen für den Kernel habe ich mir
gesichert und Buildroot bekannt gegeben. Zurzeit erstellt er mir alles
neu, weil ich 2 Dinge in den Einstellungen der Toolchain vergessen habe
:-(
Danach teste ich es kurz ersetzte den Kernel durch den 39iger.
Die Firma Pengutronix hat kürzlich für ihr eigenentwickeltes
Opensource-Buildsystem ptxdist ein Board Support Package für das
Mini2440 herausgegeben [1]. Darin enthalten sind z.B. die Patches für
den 2.6.38-er Kernel.
Damit lassen sich neben dem Kernel auch schlanke Rootfs erzerugen,
welche nur das nötigste enthalten (im Normalfall <10 MB). Benötigten
Programme werden in einem Menuconfig ausgewählt und aus Sourcen gebaut.
Habs es letzte Woche mal getestet und es efällt mir sehr gut.
[1] http://www.oselas.com/oselas/bsp/pengutronix/mini2440_bsp_en.html
John-eric K. schrieb:> Welche Version genau?
Ja, genau die welche Du als Link angegeben hast.
John-eric K. schrieb:> Wo hast du die Patches her?
Gute Frage. Weiss ich nicht mehr. Die 4 patches habe ich weiter oben
gepostet. Und dann war noch der Fehler mit dem Ethernetcontroller;
diesen habe ich ebenfalls hier gepostet.
John-eric K. schrieb:> Das compilierte Image nützt mir wenig
Hast natürlich recht. Wenn Du willst, kannst Du mir Deine .config Datei
senden und ich erstelle Dir die Image für 2.6.39
Skript Kiddy schrieb:> Die Firma Pengutronix ...
Was ich dort interessant finde, ist, dass sie ebenfalls keinen Support
für ADC annoncieren.
John-eric, kannst Du mir bitte Deine .config Datei von buildroots geben?
Wollte schon immer mal damit arbeiten, hatte aber nie die Zeit dafür
mich einzuarbeiten.
Hoffe nun, dass ich, indem ich Deine .config studiere, mir der Einstieg
etwas leichter faellt.
Buildroot ist eigentlich total einfach.
entpacken
und ein
1
make menuconfig
und das Wichtigste ist dann unter
1
* Target Architecture -> arm
2
* Target Architecture Variant -> arm920t
3
* Target ABI -> EABI
einzustellen.
Alles andere ist dann erst mal auf Minimum herunter geschraubt,
das erstellte Minimalsystem getestet werden kann.
Er lädt sich ja für jedes Programm den Quelltest hierunter und
compiliert den, inkl. Der Toolchain.
Unter Toolchain habe ich noch
1
* Enabke WCHAR support
2
* Enanble large file support
hinzugefügt, weil Navit das braucht.
Dort musst du dann auch noch die Kernelversion für die Headerdateien
auswählen.
Unter "Package Selection for the target" kannst du dann die libs,
Programme auswählen. Programme die nicht dabei sind, lassen sich
eigentlich recht einfach hinzufügen über Textdateien.
Unter "Kernel/Kernel Version" kann man sich den Kernel aussuchen.
Den Pfad zu den Kernel-Patches eingeben und die Config-Datei, welche du
ja bei dem Anderen Kernel erstellt hast. Am besten eine Kopie unter
board/friendlyarm/Mini2440 speichern. genauso mit den Kernel Patches am
besten (board/friendlyarm/Mini2440/kernel-patches).
die Konfig abspeichern und
1
make
eintippen.
Dann erstellt er dir ein komplettes root-FS und im Ordner unter
output/images ist das uImage + ein tar-Archiv in dem das root inkl. der
Kernel-Bibliotheken liegt.
Mit meiner config wirst du nicht viel Freude haben, weil ich schon einge
Sachen an Buildroot verändert habe.
* Patches für meinen Kernel erstellt
* Programm hinzugefügt
usw.
Anbei die .config
Ich könnte ja sonst Heute Abend einen Patch für Buildroot erstellen und
hier posten, welcher die Dateien hinzufügt.
Ich habe mal einen Patch für Buildroot erstellt, welcher
1
patches hier aus dem Thread für den 2.6.39 Kernel,
2
Zusätzlich ist noch mein Display als Patch hinzu,
3
meine Kernelconfig,
4
angepasste defconfig für die Konfiguration
enthält
* Also Buildroot herunterladen:
http://buildroot.uclibc.org/downloads/buildroot-2011.05.tar.gz
* entpacken
* Patch aus dem Anhang von mir herunterladen in das
buildroot-Verzeichnis kopieren
* in das buildroot-Verzeichnis auf der Konsole wechseln
* patch -p0 < buildroot-2011.02-Mini2440-linux-2.6.39.patch
* make mini2440_defconfig
* make
Unter board/friendlyarm/mini2440 sind die Patches und die Kernel-.config
mit make menuconfig können die Einstellungen verändert werden.
Fals es wer braucht und für mich zum Nachschlagen ;-)
Danke für die ausführlichen Erklaerungen zu buildroot. Werde aber
vermutlich da und dort nachfagen müssen :)
Zur Zeit bin ich auf der Touchscreen-Baustelle.
Ein
1
cat/dev/input/event1|hexdump
und ein Tippen auf die LCD erzeugt eine wunderbare Zahlenreihe.
Aber ts_calibrate von tslib meldet entweder, dass er mit diesem
Touchscreen nichts anzufangen weiss, oder (nachdem ich etwas im Kernel
herumgestochert habe), dass er den Modul nicht laden kann (obwohl ich
gar keine Module benutze).
Ich habe Navit nun endlich zum laufen überredet bekommen.
Auf dem 320x240 Display sieht der Grafikaufbau auch flüßig aus.
Werde das Heute Abend mal mit dem Größeren 800x600 Display ausprobieren.
Wenn ich Zeit habe, kann ich dazu ja einen Artikel erstellen.
Das ist für andere sicher auch interessant
Als nächstes ist dann das Touchpanel dranne.
Seit ihr da irgendwie schon weiter gekommen?
Weil mit der tslib und event1 kann ich zwar kalibrieren,
aber mit dem Testprogramm kommt nur quatsch raus.
Die Maus die der Kernel erstellt ist genauso wenig nutzbar.
Hat da einer schon herrausgefunden wie der Kernel kalibriert?
Nach einer etwas laengeren Pause habe ich meinen mini2440 wieder aus der
Versenkung geholt ( ...und nach mehreren Stunden verzweifelter Suche
gemerkt, dass ohne eingestecktem Ethernetkabel das Ding ja gar nicht mit
NFS booten kann.)
Also John-eric, ich habe es mit buildroot versucht. Aber obwohl es beim
Kompilieren keine Fehler gab, konnte ich damit meinen mini2440 nicht zum
Leben erwecken.
Ich bin dann zu Pengutronix. Schon früher hatte ich es mal damit
versucht, scheiterte damals (war glaube ich die 1. Version) bereits
daran, dass es sich nicht kompilieren liess.
In dieser Version 2011.08 aber hat es auf Anhieb geklappt. Nun habe ich
meine 8 ADC Kanaele und der Touchscreen funktioniert.
Und wenn man mal irgendwo haengt, antwortet Herr Juergen Beisert sofort
und sehr detailiert.
MfG aus Istanbul
Das ist ja mal interessant.
Welche Kernelversion wird da benutzt?
Habe auch keine Zeit.
In 1Monat ist Abgabe meiner Thesis. ;-)
edit:
Es scheint ja der neuste benutzt worden zu sein.
Ach mir juckt es gerade wieder in den Fingern aber keine Zeit. :-(
John-eric K. schrieb:> Welche Kernelversion wird da benutzt?
Linux-3.0.1
John-eric K. schrieb:> ... aber keine Zeit.
Solange man sich mit dem Status Quo nicht abfindet und ein Ziel vor
Augen hat, wird man nie Zeit haben.
Anderseits: habe kürzlich mal irgendwo einen Spruch aufgeschnappt, der
mich etwas nachdenklich gestimmt hat:
"Ihrem Leben können Sie nicht mehr Zeit geben. Aber es liegt an Ihnen,
Ihrer Zeit mehr Leben zu geben." Oder so aehnlich.
Ja da hast du recht.
Es hat mich gerade auch wieder gereizt und ich habe Pengutronix
installiert inkl. des Compilers. Das hat zwar länger gedauert weil er
einige Packete nicht fand aber das ist nun vorbei.
Barebox läuft auch schon super.
Das erste Image ist auch im Flash und läuft.
Allerdings läuft bei mir der Touchscreen nicht.
Der Cursor springt die ganze Zeit hin und her.
Ich probiere gerade wie im PDF beschrieben im Kernel die Konstanten für
den ADC zu verändern.
fbtest haut auch hin und die Programme die es von Haus aus unterstützt
scheint auch größer als bei buildroot.
Na mal schauen ob ich mein Touch auch hinbekomme.
Gruß
John
Edit, sage mal deine Kalibrier Konstanten. Sind die ähnlich diesen:
2147483647 -2918505 202680 -1336062208 1328206 -242594 65536
Mir kommen die Zahlen soooo riesig vor.