Fehler beim Starten von Neutrino oder LCars
-
- Image-Team
- Beiträge: 146
- Registriert: Dienstag 10. September 2002, 20:25
Fehler beim Starten von Neutrino oder LCars
Ich habe mir soeben endlich ein erstes Image erfolgreich erstellt. Leider lässt sich Neutrino und LCars nicht starten. Nach dem Auswählen im Bootmenü kommt folgende Fehlermeldung: "neutrino: relocation error: /lib/libssl.so.0: undefined symbol: i2d_DHparams". Was ist der Grund für diesen Fehler? Habe ich etwas falsch gemacht?
Danke für jede Hilfe!
Danke für jede Hilfe!
-
- Einsteiger
- Beiträge: 261
- Registriert: Donnerstag 15. November 2001, 00:00
-
- Image-Team
- Beiträge: 146
- Registriert: Dienstag 10. September 2002, 20:25
hmm... also eigentlich habe ich selber gar nichts herumgebaut (ich habe auch noch nie ein richtig lauffähiges Image hinbekommen...) Hier mal meine Schritte, welche ich alles gemacht habe:
0. aktuelle cvs ausgecheckt
1. Habe mir mit google alles gesucht, damit configure mit den flash-rules läuft.
2. make all
make flash-ftpd
make flash-telnetd
make flash-neutrino
make flash-enigma (es hat ein font gefehlt, habe es einfach von windows kopiert)
make flash-lcdmenu (irgendwas scheint damit nicht zu stimmen, es sind neutrino und enigma vertauscht, d.h. ich wähle neutrino und es startet enigma und umgekehrt)
make flash-lib (vorher mit google mklibs.py gesucht)
make flash-compress
make flash-compress-complete-jffs2
Habe ich irgendetwas falsch gemacht bzw. vergessen?
0. aktuelle cvs ausgecheckt
1. Habe mir mit google alles gesucht, damit configure mit den flash-rules läuft.
2. make all
make flash-ftpd
make flash-telnetd
make flash-neutrino
make flash-enigma (es hat ein font gefehlt, habe es einfach von windows kopiert)
make flash-lcdmenu (irgendwas scheint damit nicht zu stimmen, es sind neutrino und enigma vertauscht, d.h. ich wähle neutrino und es startet enigma und umgekehrt)
make flash-lib (vorher mit google mklibs.py gesucht)
make flash-compress
make flash-compress-complete-jffs2
Habe ich irgendetwas falsch gemacht bzw. vergessen?
-
- Interessierter
- Beiträge: 48
- Registriert: Donnerstag 10. Oktober 2002, 02:18
das problem liegt bei mklibs.py. dieses prüft nicht nur die abhängigkeiten und stripped, sondern rekompiliert die libs, wenn es für das jeweilige lib ein 'pic'-file findet und dabei läuft wohl was schief. findet mklibs.py kein 'pic-file für ein lib, dann wird dieses nur gestripped. ich habe die mklibs.py nun so geändert, dass es kein 'pic'-file mehr findet und somit die libs nicht mehr rekompiliert und siehe da, die libs sind zwar jetzt etwas grösser, aber es funktioniert alles wieder wie gewohnt.
in mklibs.py habe ich die zeile:
gegen diese ersetzt:
desweiteren habe ich bemerkt, dass 'make flash-lib' nicht nicht das "eigene" stripprogramm aufruft, sondern das was beim user im pfad liegt und genau dieses wiederum ist es, was mir meine binaries zerstört hat. deshalb habe ich in der regel für 'flash-lib' diese zeilen:
gegen diese ersetzt:
weitere anpassungen der flash-regeln:
in der regel für '.part_tinylogin', das von 'make flash-telnetd' aufgerufen wird, habe ich diese zeile:gegen diese beiden getauscht:
in der regel für '.part_neutrino', die über 'make flash-neutrino' aufgerufen wird, habe ich nach der zeile:diese für die camd2 hinzugefügt:
dann habe ich mir noch eine eigene flash-regel erstellt, das ein fertiges image auswirft.
nun noch ein paar vorbereitungen bevor man die makes aufrufen kann.
- in das verzeichnis 'dbox2/cdkroot/var/tuxbox/ucodes' die ucodes kopieren, denn ein image ohne ucodes läuft bekannterweise nicht sonderlich gut.
- in das verzeichnis 'dbox2/cdkflash' kopiert man das image des flfs, das ppcboot-1.1.6 enthält, mit dem namen 'ppcboot-flfs.img' (bekommen kann man dieses image in dem man aus einem aktuellen image (ich habe das aktuelle alexw-1.6.3 genommen) über die expertenfunktion des softwareupdates das flfs ausliest und dann die datei 'mtd1.img' über ftp von der box holt und in 'ppcboot-flfs.img umbenennt).
- wer die expertenfunktionen in neutrino haben möchte, muss nun noch in der datei 'tuxbox-cvs/cdk/etc/init.d/start_neutrino' dem aufruf von neutrino die parameter ' -su -flash' hinzufügen, so dass der aufruf so aussieht:und vor dem aufruf von 'make flash-image' die datei 'eraseall' in 'dbox2/cdkflash/root/bin/' kopieren (diese kann man sich auch aus einem alexw-cramfs holen)
- wer auch die netzwerkfunktionalität will, der muss in der datei 'dbox2/cdkroot/etc/network/interfaces' die kommentarzeichen '#' entfernen und kann auch gleich die netzwerkdaten anpassen, wenn er will.
der letzte punkt lässt sich auch nach dem flashen über das com-terminal des dbox-bootmanger bzw. über telnet ändern, da diese datei im jffs2 liegt.
so und nun die möglichen aufrufe:
->make flash-ftpd
->make flash-telnetd
->make flash-ssh
->make flash-sshd
->make flash-neutrino
->make flash-enigma
->make flash-lcars
->make flash-fx2
->make flash-lcdmenu
->make flash-image
nach 'make flash-image' hast du in 'dbox2/cdkflash' die dateien 'image-cramfs.img' die das cramfs(root) enthält, die datei 'image-jffs2.img' die das jffs2(var) enthält und das image selbst in der form '0106jahrmonattagstundeminute.img'.
eventuell sollte man noch die grösse der image-cramsf.img ansehen, das auf jedenfall nicht grösser als 6,75 MB (7.077.888 Bytes) sein darf und das image noch mit den neuen flashtools öffen und schauen ob alles passt
getestet habe ich das ganz allerdings nur nur mit ftpd, telnetd und neutrino, da mich der rest wenig interessiert.
ach ja, und das ganze läuft wahrscheinlich ohne boot- und lcd-logo, da die partitionsangaben im ppcboot von alexw etwas anders sind als die standart-partitionierung des cdks (beim alexw beginnt das jffs2 bei 0x720000 und im standartkernel-des cdk bei 0x700000) und es vorkommen kann, dass der pfad zu den logos und die logos selbst noch vor 0x72000 liegen und smit von alexws ppcboot nicht gefunden werden können. aber zum glück läuft ein image mit dem aktuellem ppcboot auch ohne logos.
in mklibs.py habe ich die zeile:
Code: Alles auswählen
pic_file = find_pic(library)
Code: Alles auswählen
pic_file = ""
Code: Alles auswählen
@strip --remove-section=.comment --remove-section=.note `find $(flashprefix)/root/bin/ -path "*bin/?*"` 2>/dev/null || /bin/true
@strip --remove-section=.comment --remove-section=.note --strip-unneeded `find $(flashprefix)/root/lib/tuxbox -name "*.so"` 2>/dev/null || /bin/true
@chmod u+rwX,go+rX-w -R $(flashprefix)/root/
Code: Alles auswählen
@$(target)-strip --remove-section=.comment --remove-section=.note `find $(flashprefix)/root/bin/ -path "*bin/?*"` 2>/dev/null || /bin/true
@$(target)-strip --remove-section=.comment --remove-section=.note --strip-unneeded `find $(flashprefix)/root/lib/tuxbox -name "*.so"` 2>/dev/null || /bin/true
@chmod 755 -R $(flashprefix)/root/
in der regel für '.part_tinylogin', das von 'make flash-telnetd' aufgerufen wird, habe ich diese zeile:
Code: Alles auswählen
for i in `find $(targetprefix)/sbin/ -lname "*tinylogin"` ; do cp -a $$i $(flashprefix)/root/bin/ ; done
Code: Alles auswählen
for i in `find $(targetprefix)/bin/ -lname "*tinylogin"` ; do cp -a $$i $(flashprefix)/root/bin/ ; done
for i in `find $(targetprefix)/sbin/ -lname "*tinylogin"` ; do cp -a $$i $(flashprefix)/root/sbin/ ; done
Code: Alles auswählen
$(INSTALL) $(targetprefix)/bin/zapit $(flashprefix)/root/bin
Code: Alles auswählen
$(INSTALL) $(targetprefix)/bin/camd2 $(flashprefix)/root/bin
Code: Alles auswählen
flash-image: $(flashprefix)/.lib $(flashprefix)/ppcboot-flfs.img
@rm -rf $(flashprefix)/cramfs $(flashprefix)/jffs2
@cp -a $(flashprefix)/root $(flashprefix)/cramfs
@mv $(flashprefix)/cramfs/var $(flashprefix)/jffs2
@$(INSTALL) -d $(flashprefix)/cramfs/var
@mv $(flashprefix)/cramfs/tmp $(flashprefix)/jffs2/tmp
@ln -sf /var/tmp $(flashprefix)/cramfs/tmp
@echo "/dev/mtdblock/3 /var jffs2 defaults 0 0" >> $(flashprefix)/cramfs/etc/fstab
@echo "ramfs /var/tmp ramfs defaults 0 0" >> $(flashprefix)/cramfs/etc/fstab
@$(INSTALL) -d $(flashprefix)/jffs2/etc/init.d
@for i in `find $(flashprefix)/cramfs/etc/init.d/ -name "start*"` ; do \
mv $$i $(flashprefix)/jffs2/etc/init.d/ ; \
ln -sf /var/etc/init.d/`basename $$i` $$i ; \
done
@if [ -d $(flashprefix)/cramfs/etc/network ] ; then \
ln -sf /tmp/ifstate $(flashprefix)/cramfs/etc/network/ifstate ; \
mv $(flashprefix)/cramfs/etc/network $(flashprefix)/jffs2/etc/network ; \
ln -sf /var/etc/network $(flashprefix)/cramfs/etc/network ; \
fi
@if [ -e $(flashprefix)/cramfs/bin/tinylogin ] ; then \
$(INSTALL) -d $(flashprefix)/jffs2/bin ; \
mv $(flashprefix)/cramfs/bin/tinylogin $(flashprefix)/jffs2/bin/ ; \
ln -sf ../var/bin/tinylogin $(flashprefix)/cramfs/bin/tinylogin ; \
fi
@if [ -d $(flashprefix)/cramfs/etc/ssh ] ; then \
mv $(flashprefix)/cramfs/etc/ssh $(flashprefix)/jffs2/etc/ssh ; \
ln -sf /var/etc/ssh $(flashprefix)/cramfs/etc/ssh ; \
fi
@cp -a $(targetprefix)/var/tuxbox/ucodes/* $(flashprefix)/jffs2/tuxbox/ucodes/
@ln -sf tuxbox/ucodes $(flashprefix)/jffs2/ucodes
@echo "version=0106`date +%Y%m%d%H%M`" >>$(flashprefix)/cramfs/.version
@echo "comment=Erstellt von `id -un`" >>$(flashprefix)/cramfs/.version
@rm -f $(flashprefix)/image-cramfs.img $(flashprefix)/image-jffs2.img
@$(FAKEROOT) $(MKCRAMFS) -p -n "0106`date +%Y%m%d%H%M`" $(flashprefix)/cramfs/ $(flashprefix)/image-cramfs.img
@$(FAKEROOT) $(MKJFFS2) -b -e 131072 -p -o $(flashprefix)/image-jffs2.img -r $(flashprefix)/jffs2/
@$(hostappsdir)/flash/flashmanage.pl -i $(flashprefix)/0106`date +%Y%m%d%H%M`.img -o build \
--part ppcboot=$(flashprefix)/ppcboot-flfs.img \
--part root=$(flashprefix)/image-cramfs.img \
--part var=$(flashprefix)/image-jffs2.img
@rm -rf $(flashprefix)/cramfs $(flashprefix)/jffs2
- in das verzeichnis 'dbox2/cdkroot/var/tuxbox/ucodes' die ucodes kopieren, denn ein image ohne ucodes läuft bekannterweise nicht sonderlich gut.
- in das verzeichnis 'dbox2/cdkflash' kopiert man das image des flfs, das ppcboot-1.1.6 enthält, mit dem namen 'ppcboot-flfs.img' (bekommen kann man dieses image in dem man aus einem aktuellen image (ich habe das aktuelle alexw-1.6.3 genommen) über die expertenfunktion des softwareupdates das flfs ausliest und dann die datei 'mtd1.img' über ftp von der box holt und in 'ppcboot-flfs.img umbenennt).
- wer die expertenfunktionen in neutrino haben möchte, muss nun noch in der datei 'tuxbox-cvs/cdk/etc/init.d/start_neutrino' dem aufruf von neutrino die parameter ' -su -flash' hinzufügen, so dass der aufruf so aussieht:
Code: Alles auswählen
neutrino -su -flash
- wer auch die netzwerkfunktionalität will, der muss in der datei 'dbox2/cdkroot/etc/network/interfaces' die kommentarzeichen '#' entfernen und kann auch gleich die netzwerkdaten anpassen, wenn er will.
der letzte punkt lässt sich auch nach dem flashen über das com-terminal des dbox-bootmanger bzw. über telnet ändern, da diese datei im jffs2 liegt.
so und nun die möglichen aufrufe:
->make flash-ftpd
->make flash-telnetd
->make flash-ssh
->make flash-sshd
->make flash-neutrino
->make flash-enigma
->make flash-lcars
->make flash-fx2
->make flash-lcdmenu
->make flash-image
nach 'make flash-image' hast du in 'dbox2/cdkflash' die dateien 'image-cramfs.img' die das cramfs(root) enthält, die datei 'image-jffs2.img' die das jffs2(var) enthält und das image selbst in der form '0106jahrmonattagstundeminute.img'.
eventuell sollte man noch die grösse der image-cramsf.img ansehen, das auf jedenfall nicht grösser als 6,75 MB (7.077.888 Bytes) sein darf und das image noch mit den neuen flashtools öffen und schauen ob alles passt
getestet habe ich das ganz allerdings nur nur mit ftpd, telnetd und neutrino, da mich der rest wenig interessiert.
ach ja, und das ganze läuft wahrscheinlich ohne boot- und lcd-logo, da die partitionsangaben im ppcboot von alexw etwas anders sind als die standart-partitionierung des cdks (beim alexw beginnt das jffs2 bei 0x720000 und im standartkernel-des cdk bei 0x700000) und es vorkommen kann, dass der pfad zu den logos und die logos selbst noch vor 0x72000 liegen und smit von alexws ppcboot nicht gefunden werden können. aber zum glück läuft ein image mit dem aktuellem ppcboot auch ohne logos.
typed by genial
-
- Interessierter
- Beiträge: 48
- Registriert: Donnerstag 10. Oktober 2002, 02:18
ich hab noch was vergessen. ich habe auch noch die regel für '$(flashprefix)/.flash' angepasst, damit das image auch die datei '/bin/switch' enthält, die beim shutdown der box aufgerufen wird.
diese zeile:für die tuxbox_tools erweitern:
und nach der zeile:diese einfügen:
ich hoffe es funktioniert dann soweit.
diese zeile:
Code: Alles auswählen
$(flashprefix)/.flash: .busybox .driver .modutils
Code: Alles auswählen
$(flashprefix)/.flash: .busybox .driver .modutils .tuxbox_tools
Code: Alles auswählen
$(MAKE) -C etc install targetprefix=$(flashprefix)/root
Code: Alles auswählen
$(INSTALL) $(targetprefix)/bin/switch $(flashprefix)/root/bin
typed by genial
-
- Interessierter
- Beiträge: 80
- Registriert: Dienstag 5. Februar 2002, 16:55
-
- Einsteiger
- Beiträge: 261
- Registriert: Donnerstag 15. November 2001, 00:00
-
- Interessierter
- Beiträge: 48
- Registriert: Donnerstag 10. Oktober 2002, 02:18
-
- Image-Team
- Beiträge: 146
- Registriert: Dienstag 10. September 2002, 20:25
Erst einmal einen grossen Dank für diese genial(e) Anleitung!
Ich habe gerade mal nach dieser Anleitung ein Image erstellt, das Erstellen selber hat auch prima funktioniert, das Image lässt sich auch prima auf die Box laden aber dann gibts Probleme: Die Box zeigt kurz ganz normal das Debug-Logo an, danach ist jedoch das Lcd-Display einfach schwarz und die Box scheint nichts mehr zu machen. Im Log vom Bootmanager kommt folgendes:
Ich habe gerade mal nach dieser Anleitung ein Image erstellt, das Erstellen selber hat auch prima funktioniert, das Image lässt sich auch prima auf die Box laden aber dann gibts Probleme: Die Box zeigt kurz ganz normal das Debug-Logo an, danach ist jedoch das Lcd-Display einfach schwarz und die Box scheint nichts mehr zu machen. Im Log vom Bootmanager kommt folgendes:
Habe ich etwas falsch gemacht? Fehlt irgend eine Datei?DRAM: 32 MB
FLASH: 8 MB
Scanning JFFS2 FS: . .
find_inode failed for name=tuxbox
load: Failed to find inode
LCD: find_inode failed for name=tuxbox
load: Failed to find inode
ready - can't find logo in flash - try network
BOOTP broadcast 1
-
- Interessierter
- Beiträge: 83
- Registriert: Mittwoch 25. Juli 2001, 00:00
@AlexH
Kann es sein, das die logo-fb und logo-lcd fehlen?
Hab mal gelesen, das man im Terminal mit Strg+C abrechen kann, dann läuft die Box halt ohne Logo's weiter, dann per ftp entsprchend Logo's reinkopieren (?)
[Beneidenswert, das Du soweit bist; ich hab' mit der GENIAL-Makefile immernoch stripp-Fehlermeldungen von wegen "....file-format not recognized..."]
Noch ne dumme Frage: wohin muß die mklibs.py kopiert werden ?
Cu
Kann es sein, das die logo-fb und logo-lcd fehlen?
Hab mal gelesen, das man im Terminal mit Strg+C abrechen kann, dann läuft die Box halt ohne Logo's weiter, dann per ftp entsprchend Logo's reinkopieren (?)
[Beneidenswert, das Du soweit bist; ich hab' mit der GENIAL-Makefile immernoch stripp-Fehlermeldungen von wegen "....file-format not recognized..."]
Noch ne dumme Frage: wohin muß die mklibs.py kopiert werden ?
Cu
-
- Interessierter
- Beiträge: 48
- Registriert: Donnerstag 10. Oktober 2002, 02:18
das macht gar nichts bzw. ist normal (zwischen 'warning' und 'error' ist ein grosser unterschied).Monitor456 hat geschrieben:[Beneidenswert, das Du soweit bist; ich hab' mit der GENIAL-Makefile immernoch stripp-Fehlermeldungen von wegen "....file-format not recognized..."]
die mklibs.py gehört ins cvs-cdk verzeichnis
wartet doch noch ein bisschen, ich hab noch einiges angepasst und das diff ist so gut wie fertig. erste test liefen erfolgreich ab.
typed by genial
-
- Image-Team
- Beiträge: 146
- Registriert: Dienstag 10. September 2002, 20:25
-
- Interessierter
- Beiträge: 48
- Registriert: Donnerstag 10. Oktober 2002, 02:18
-
- Image-Team
- Beiträge: 146
- Registriert: Dienstag 10. September 2002, 20:25
-
- Interessierter
- Beiträge: 48
- Registriert: Donnerstag 10. Oktober 2002, 02:18