Newmake/HEAD für die Dreambox (erste Schritte)

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von seife »

Wollen wir dann eigentlich für die dream auch ordentliche init-skripten machen? Also dbox-style? Ich wäre ja dafür und ich finde die dream-initscripten grässlich (z.B. keine serielle Konsole, weil das skript nicht terminiert etc)
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von rhabarber1848 »

seife hat geschrieben:Wollen wir dann eigentlich für die dream auch ordentliche init-skripten machen?
Wenn ein Dreambox-Image prinzipiell läuft, ja. Läuft das geflashte Image bei Dir?
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von rhabarber1848 »

seife hat geschrieben:Das sieht im Prinzip gut aus, allerdings zumindest der erste Hunk im zapit.cpp sollte erstmal bleiben.
Das habe ich so committed.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von seife »

rhabarber1848 hat geschrieben:
seife hat geschrieben:Wollen wir dann eigentlich für die dream auch ordentliche init-skripten machen?
Wenn ein Dreambox-Image prinzipiell läuft, ja. Läuft das geflashte Image bei Dir?
Fast :)
Bin grad noch am feintunen (/etc/network fehlte => kein Netzwerk, wegen den initskripten keine serielle Konsole => Problem! ;))
Ich werde das Stück für stück committen, so dass es erstmal läuft, feintuning kann man dann später machen.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von seife »

Jetzt bootet's aus dem flash, egal ob nur das root-neutrino-squashfs.img oder das complete-neutrino.img geflashed wurde. Vor dem booten habe ich mit "eraseall /dev/mtd/1" jeweils die /var/ Partition initialisiert, damit es neu initialisiert ist.
prodigy7
Erleuchteter
Erleuchteter
Beiträge: 595
Registriert: Donnerstag 1. Januar 2004, 16:59

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von prodigy7 »

So, hab mal mit dem Stand von gestern Abend ein Image gebaut - leider kam nichts vollständig Bootfähiges raus:

Code: Alles auswählen

Dreambox DM500���                                                                                                     
loaded at:     00500000 0060016C                                                                                      
relocated to:  00400000 0050016C                                                                                      
board data at: 004FE124 004FE16C                                                                                      
relocated to:  0040519C 004051E4                                                                                      
zimage at:     004058DC 004FD73A                                                                                      
avail ram:     00501000 02000000                                                                                      
                                                                                                                      
Linux/PPC load: console=ttyS0,115200 root=/dev/mtdblock5 rootfstype=squashfs ro                                       
Uncompressing Linux...done.                                                                                           
Now booting the kernel                                                                                                
Linux version 2.6.9 (manuel@bigbrother) (gcc version 3.4.6) #14 Thu Apr 30 12:25:55 CEST 2009                         
Built 1 zonelists                                                                                                     
Kernel command line: console=ttyS0,115200 root=/dev/mtdblock5 rootfstype=squashfs ro                                  
PID hash table entries: 256 (order: 8, 4096 bytes)                                                                    
Console: colour dummy device 80x25                                                                                    
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)                                                         
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)                                                          
Memory: 30080k available (1688k kernel code, 576k data, 80k init, 0k highmem)                                         
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)                                                            
NET: Registered protocol family 16                                                                                    
Squashfs 2.2-r2 (released 2005/09/08) (C) 2002-2005 Phillip Lougher                                                   
devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)                                                                
devfs: boot_options: 0x1                                                                                              
JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.                                                                 
Serial: 8250/16550 driver $Revision: 1.90 $ 7 ports, IRQ sharing disabled                                             
ttyS0 at MMIO 0x0 (irq = 20) is a 16550A                                                                              
ttyS1 at MMIO 0x0 (irq = 21) is a 16550A                                                                              
ttyS2 at MMIO 0x0 (irq = 22) is a 16550A
loop: loaded (max 8 devices)
ne.c:v1.10 9/23/94 Donald Becker (becker@scyld.com)
Last modified Nov 1, 2000 by Paul Gortmaker
NE*000 ethercard probe at 0xc3060600:<4>eth0: interrupt from stopped card
 00 09 34 23 2f 88
eth0: NE2000 found at 0xc3060600, using IRQ 25.
Universal TUN/TAP device driver 1.5 (C)1999-2002 Maxim Krasnyansky
Using deadline io scheduler
dreambox: flash mapping: 800000 at 7f800000
DreamBOX rev3+: Found 1 x16 devices at 0x0 in 16-bit bank
 Intel/Sharp Extended Query Table at 0x0031
Using buffer write method
cfi_cmdset_0001: Erase suspend on write enabled
disable flash VPP
Creating 7 MTD partitions on "DreamBOX rev3+":
0x00000000-0x00600000 : "DreamBOX cramfs+squashfs"
0x00600000-0x007c0000 : "DreamBOX jffs2"
0x007c0000-0x00800000 : "DreamBOX OpenBIOS"
0x00000000-0x007c0000 : "DreamBOX (w/o bootloader)"
0x00000000-0x00800000 : "DreamBOX (w/ bootloader)"
0x00120000-0x00600000 : "DreamBOX SquashedFS"
0x00000000-0x00120000 : "DreamBOX Cramfs"
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
IBM IIC driver v2.1
ibm-iic0: using standard (100 kHz) mode
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 4096)
NET: Registered protocol family 1
NET: Registered protocol family 17
VFS: Mounted root (squashfs filesystem) readonly.
Mounted devfs on /dev
Freeing unused kernel memory: 80k init
Kernel panic - not syncing: No init found.  Try passing init= option to kernel.
 <0>Rebooting in 180 seconds..
Hab es jeweils mit und ohne kompletten Flash-Erase probiert. CVS Stand ist von gestern Abend.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von seife »

da ist aus irgendeinem Grund keine busybox drin, so scheints.
Schau mal in cdkflash/root-neutrino-squashfs/... nach, ob alles da ist. Ich vermute nicht.

Was für ein Image hast du denn wie gebaut? LCARS?
prodigy7
Erleuchteter
Erleuchteter
Beiträge: 595
Registriert: Donnerstag 1. Januar 2004, 16:59

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von prodigy7 »

Neutrino - hatte aber beim make ein -j4 angegeben. Ich lass das ganze morgen nochmal ohne -j durchlaufen - aus Gentoo-Zeiten kenne ich das noch, dass sowas nicht immer glatt läuft.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von seife »

"make -j4" geht eher nicht. Für die Sachen, die sich zuverlässig parallelisieren lassen, gibt es "make J=4", das wird an die Targets weitergereicht, die mit mehreren Jobs getestet wurden.
dbluelle
Contributor
Beiträge: 319
Registriert: Samstag 29. Mai 2004, 18:49

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von dbluelle »

Irgendwie scheint für die Dreambox noch ein Fehler beim Bauen der glibc und/oder dem gcc zu sein.

Wenn ich zwischen zwei Sendern umschalte, kommt folgender Fehler:

Code: Alles auswählen

stopping permanent timeshift ...                                                                                                                                                    
 ------------> changed! 4f                                                                                                                                                         
AUDIO_GET_STATUS - playing                                                                                                                                                          
DEMUX_STOP - audio - ok                                                                                                                                                            
VIDEO_GET_STATUS - playing                                                                                                                                                          
DEMUX_STOP - video - ok                                                                                                                                                             
DEMUX_STOP - pcr - ok                                                                                                                                                               
AUDIO_STOP - ok                                                                                                                                                                     
VIDEO_STOP - ok                                                                                                                                                                     
fd.video closed                                                                                                                                                                     
libgcc_s.so.1 must be installed for pthread_cancel to work                                                                                                                          
Aborted (core dumped)
Es existiert eine libgcc_s_nof.so.1, wenn ich die in libgcc_s.so.1 umbenenne, funktionierts.
Was anscheinend auch klappt, ist, das Image mit --enable-nptl=no zu bauen.
Allerdings wurden Images bei der "alten" Methode (über den Dreambox-Branch) immer mit nptl gebaut :gruebel:

Es gibt auch noch Unterschiede in den Konfigurationsoptionen zwischen Dreambox-Branch und Head:
- In glibc fehlt im Head das "--enable-kernel=2.6.5"
- Im gcc wird im Head "--enable-threads" statt "--enable-threads=posix" verwendet.
Könnte es daran liegen?

dbluelle

P.S.: Wieso macht die Forensoftware eine Leerzeile zwischen die Zeilen im Code-Fragment?
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von seife »

dbluelle hat geschrieben:Irgendwie scheint für die Dreambox noch ein Fehler beim Bauen der glibc und/oder dem gcc zu sein.

Wenn ich zwischen zwei Sendern umschalte, kommt folgender Fehler:

Code: Alles auswählen

libgcc_s.so.1 must be installed for pthread_cancel to work
Aborted (core dumped)
Es existiert eine libgcc_s_nof.so.1, wenn ich die in libgcc_s.so.1 umbenenne, funktionierts.
Was anscheinend auch klappt, ist, das Image mit --enable-nptl=no zu bauen.
Allerdings wurden Images bei der "alten" Methode (über den Dreambox-Branch) immer mit nptl gebaut :gruebel:

Es gibt auch noch Unterschiede in den Konfigurationsoptionen zwischen Dreambox-Branch und Head:
- In glibc fehlt im Head das "--enable-kernel=2.6.5"
- Im gcc wird im Head "--enable-threads" statt "--enable-threads=posix" verwendet.
Könnte es daran liegen?

dbluelle
libgccs_nof -> libgcc_s ist die richtige Methode.
--enable-nptl=no wollen wir nicht, dann haben wir wieder die alte Thread-Implementierung, dann können wir gleich beim dreambox-Branch bleiben, wenn wir veraltetes Zeug haben wollen ;-)
Ich glaube nicht, dass im dreambox-Branch mit nptl gebaut wurde, die entsprechenden Quellen waren gar nicht da. Zumindest hat die gebaute glibc sicher kein NPTL sondern linuxthreads.

Man kann das ganz einfach prüfen: wenn "pidof sectionsd" mehrere PIDs zurückgibt, hat man kein NPTL ;-)

Wir sollten gcc und glibc einfach exakt gleich wie bei der dbox bauen - das gibt Konsistenz und macht es später mal möglich, die einmal gebaute toolchain für beide zu benutzen. Ich würde sogar die ppc405-Patches für die glibc weglassen. Die paar Prozent Performance, die das in manchen Funktionen bringt, habe ich bisher nicht vermisst, mir ist die kompatibilität wichtiger.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von rhabarber1848 »

http://cvs.tuxbox-cvs.sourceforge.net/t ... 0&r2=1.211

Bitte statt --with-reiserfs lieber --with-filesystems verwenden.
dbluelle
Contributor
Beiträge: 319
Registriert: Samstag 29. Mai 2004, 18:49

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von dbluelle »

rhabarber1848 hat geschrieben:http://cvs.tuxbox-cvs.sourceforge.net/t ... 0&r2=1.211

Bitte statt --with-reiserfs lieber --with-filesystems verwenden.
Upps, das war ein Versehen, das sollte da gar nicht rein :dash:
Ist jetzt behoben.
seife hat geschrieben:Ich glaube nicht, dass im dreambox-Branch mit nptl gebaut wurde, die entsprechenden Quellen waren gar nicht da. Zumindest hat die gebaute glibc sicher kein NPTL sondern linuxthreads.
Da kenne ich mich nicht aus, aber das .glibc-target aus dem Dreambox-Branch hat --enable-add-ons=nptl im Configure-Aufruf, daher dachte ich, das würde auch verwendet :gruebel:
seife hat geschrieben:Ich würde sogar die ppc405-Patches für die glibc weglassen. Die paar Prozent Performance, die das in manchen Funktionen bringt, habe ich bisher nicht vermisst, mir ist die kompatibilität wichtiger.
Meinetwegen, dann sollte man es aber nur per Konfigurationsoption abschaltbar machen, damit diejenigen, die nur für die Dreambox bauen (wie ich z.B.;)), auch diese paar Prozent haben...
Ich bin immer dafür, jede noch so kleine Performanceverbesserung einzubauen (wenn sie nicht schadet). Ich merke das jeden Tag im Job, das auch viele kleine Optimierungen viel bringen können!

dbluelle
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von dietmarw »

auch wenn ich da glaube das auf der dream ein paar % nicht ins gewicht fallen..
auf der dbox schon eher..
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von rhabarber1848 »

dietmarw hat geschrieben:auf der dbox schon eher..
Die Patches sind für die PPC405-CPU gedacht, die auf der
Dbox2 nicht verbaut ist, dort ist eine PPC823-CPU drin.
prodigy7
Erleuchteter
Erleuchteter
Beiträge: 595
Registriert: Donnerstag 1. Januar 2004, 16:59

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von prodigy7 »

Hab übrigens ohne -j4 erfolgreich ein Image bauen können. Eventuell wäre es sinnvoll, anhand des Box-Types per Default z.B. das SCART-Menü auszublenden oder? Nicht das es weh tut, aber aus "Usability Gründen" vielleicht ganz nett.

Edit: Im aktuellen Buildprozess baut er die logo-fb nicht ein, kann das sein? Zumindest landet die Datei nicht in den Images die ich baue.
dbluelle
Contributor
Beiträge: 319
Registriert: Samstag 29. Mai 2004, 18:49

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von dbluelle »

seife hat geschrieben:libgccs_nof -> libgcc_s ist die richtige Methode.
Ich habe nochmal nachgeschaut, das wurde auch im Dreambox-Branch über einen Softlink gelöst, ist jetzt im CVS.

Ausserdem funktioniert jetzt auch die Sprachauswahl :D .

dbluelle
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von rhabarber1848 »

  +if !BOXTYPE_DREAMBOX
        ln -sf /var/bin/camd2 $@/bin/camd2
  +endif
Wäre es nicht besser, if BOXTYPE_DBOX2 daraus zu machen?
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von rhabarber1848 »

http://cvs.tuxbox-cvs.sourceforge.net/c ... 1.7&r2=1.8

Code: Alles auswählen

patch -p0 < $$CURRENT_PATH/Patches/default_lc.esml.diff
Die diff-Datei existiert nicht im CVS
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Newmake/HEAD für die Dreambox (zweiter Schritt)

Beitrag von rhabarber1848 »

dbluelle hat geschrieben:So, jetzt bin ich etwas weiter gekommen: http://www.blau-weissoedingen.de/dreambox/cdk2.diff

Code: Alles auswählen

# lib
  	         @for i in ar_AE cs_CZ da_DK el_GR es_ES et_EE fi_FI fr_FR hr_HR \
  	         hu_HU is_IS it_IT lt_LT nl_NL no_NO pl_PL pt_PT ro_RO ru_RU sk_SK \
  	         sl_SI sr_YU sv_SE tr_TR ur_IN; do \
  	                 ln -sf de_DE $(dreamfilesrootdir)/lib/locale/$$i; \
  	         done;
Afaik ist das nur für Enigma notwendig, es wird aber auch beim build
von Neutrino ausgeführt. In diesem Fall stürzt make sogar ab, weil
$(dreamfilesrootdir)/lib/locale/ noch gar nicht existiert.

Vorschlag: Verschieben dieses, und evtl. weiterer, Codeteile nach enigma.mk
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von rhabarber1848 »

dbluelle hat geschrieben:
rhabarber1848 hat geschrieben:http://cvs.tuxbox-cvs.sourceforge.net/t ... 0&r2=1.211

Bitte statt --with-reiserfs lieber --with-filesystems verwenden.
Upps, das war ein Versehen, das sollte da gar nicht rein :dash:
Das CVS versteht jetzt --with-filesystems=reiserfs
http://article.gmane.org/gmane.comp.vid ... ox.scm/497
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von rhabarber1848 »

rhabarber1848 hat geschrieben:http://cvs.tuxbox-cvs.sourceforge.net/c ... 1.7&r2=1.8

Code: Alles auswählen

patch -p0 < $$CURRENT_PATH/Patches/default_lc.esml.diff
Die diff-Datei existiert nicht im CVS
Das ist immer noch der Fall, deshalb kompilieren Enigma-Images nicht.

EDIT: erledigt: http://article.gmane.org/gmane.comp.vid ... ox.scm/583
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von GetAway »

Beim testen habe ich festgestellt das der Filesystemtreiber reiserfs.o nicht mitgebaut wird.

Typo in configure.ac. Sollte heißen --with-

Code: Alles auswählen

configure: error: bad value reiserfs for --enable-filesystems
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von rhabarber1848 »

GetAway hat geschrieben:Typo in configure.ac. Sollte heißen --with-

Code: Alles auswählen

configure: error: bad value reiserfs for --enable-filesystems
Zeile 241 in cdk/configure.ac sieht bei mir so aus:

Code: Alles auswählen

*)        AC_MSG_ERROR([bad value $i for --with-filesystems]) ;;
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Newmake/HEAD für die Dreambox (erste Schritte)

Beitrag von rhabarber1848 »

GetAway hat geschrieben:Beim testen habe ich festgestellt das der Filesystemtreiber reiserfs.o nicht mitgebaut wird.
Du hast einen Punkt meiner To-Do-Liste erraten, es gibt noch keinen
Support für --with-filesystems für Dreambox-Images ;)