uclibc patch
-
- Einsteiger
- Beiträge: 311
- Registriert: Freitag 26. Juli 2002, 22:25
Re: uclibc patch
sieht so aus als ob in der uclibc config UCLIBC_HAS_CTYPE_TABLES bzw. UCLIBC_HAS_LOCALE aktiviert werden müsste.
ich kann den uclibc patch leider nicht auf den neusten Stand halten. das letzte mal als ich mich mit dem tuxbox CVS auseinandergesetzt habe war vor einem halben Jahr. ich komme leider nicht öfter dazu... meine dbox ist auch schon ganz eingestaubt
ich kann den uclibc patch leider nicht auf den neusten Stand halten. das letzte mal als ich mich mit dem tuxbox CVS auseinandergesetzt habe war vor einem halben Jahr. ich komme leider nicht öfter dazu... meine dbox ist auch schon ganz eingestaubt
-
- Einsteiger
- Beiträge: 362
- Registriert: Mittwoch 14. Dezember 2005, 03:25
Re: uclibc patch
Danke für deine Antwort;
das ist sehr schadeich kann den uclibc patch leider nicht auf den neusten Stand halten.
die sind schon eingeschaltet <verwende die CVS config habe dran gar nichts geaendert>sieht so aus als ob in der uclibc config UCLIBC_HAS_CTYPE_TABLES bzw. UCLIBC_HAS_LOCALE aktiviert werden müsste.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: uclibc patch
Vielleicht hilft das: http://buildroot.uclibc.org/cgi-bin/vie ... &view=autoZaphot hat geschrieben:leider lassen sich die uclibc libs nicht mit mklibs verkleinern, da sie dadurch aus bisher noch unbekanten Gründen kaputt gehen.
Add support for mklibs (strips unused syms from shared libs such as uClibc)
based on a patch from akvadrako, and using a version of mklibs.py that was
massively hacked up by andersee and mjn3 for uClibc support.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: uclibc patch
Kleines Problem beim Bauen von yadd-neutrino:
cdk/Patches/busybox.config.m4
CONFIG_FEATURE_SHADOWPASSWDS ist für yadd enabled, obwohl
cdk/Patches/uclibc-0.9.28.3.config
Das passt nicht und führt zu
Sind shadow-Passwörter für yadd erforderlich?
cdk/Patches/busybox.config.m4
Code: Alles auswählen
option(`CONFIG_FEATURE_SHADOWPASSWDS', `y', `n')
cdk/Patches/uclibc-0.9.28.3.config
Code: Alles auswählen
# HAS_SHADOW is not set
beim Kompilieren von busybox.CC applets/applets.o
In file included from include/libbb.h:59,
from include/busybox.h:10,
from applets/applets.c:16:
include/shadow_.h:24:20: shadow.h: No such file or directory
Sind shadow-Passwörter für yadd erforderlich?
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: uclibc patch
Basierend auf o.g. Patch hier die für das aktuelle CVS angepasste Version: uclibc.diffZaphot hat geschrieben:ist gefixt: uclibc-newmake-04.10.diff.gz
Veränderungen:
- binutils-2.18.50.0.9, cdk/Patches/binutils-uclibc.diff ist nicht mehr nötig und kann gelöscht werden
- cdk/Patches/gcc-g++.diff ist nötig, ld --version sieht in der neuen binutils-Version anders aus
- Busybox CONFIG_FEATURE_SHADOWPASSWDS für yadd deaktiviert, s.o.
- console_tools (nicht kompilierbar) durch kbd ersetzt, loadkeys funktioniert ohne Fehlermeldungen, bitte testen
"make flash-neutrino-squashfs-all" und "make yadd-neutrino" kompilieren und sind
auf der Dbox2 start- und nutzbar bis auf den erwähnten segfault in timerd.
Zuletzt geändert von rhabarber1848 am Mittwoch 24. September 2008, 16:25, insgesamt 4-mal geändert.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: uclibc patch
Ich habe hier einen SEGFAULT im timerd, kann das jemand bestätigen:
"assertion failed in manager.c" -> manager.c ist Teil von uClibc,
uClibc-0.9.28.3/libpthread/linuxthreads/manager.c
Code: Alles auswählen
[pid 190] open("/var/tuxbox/config/timerd.conf", O_RDONLY|O_LARGEFILE) = 5
[pid 190] ioctl(5, TCGETS, {0xc8 /* B??? */ -opost isig icanon -echo ...}) = 268599296
[pid 190] brk(0x10028000) = 0x10029000
[pid 190] brk(0x10029000) = 0x5
[pid 189] exit(0) = ?
Process 189 detached
read(5, Process 189 attached (waiting for parent)
"EXTRA"..., 4095) = 5
[pid 190] read(5, "0'\272t0"..., 4095) = 5
[pid 190] close(5) = 2147482624
[pid 190] pipe([5, 6]) = 3840
[pid 190] clone(Process 6 attached
child_stack=0x10028a90, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND) = 6
[pid 190] write(6, "\0\0\0\0000!\304\230\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5Y\0"..., 148pt: assertion failed in manager.c) = 2
[pid 190] rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 6
[pid 190] write(6, "0\nc\0\0\0\0\0\0\0\0\0\20\0\376\260\20\2jp\200\0\0\0\0\0\0\0\0\0\0\0\20"..., 148) = 2
[pid 190] rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 2147482528
:154.
[pid 190] --- SIGRTMIN (Unknown signal 32) @ 0 (0) ---
[pid 190] rt_sigsuspend([]) = 5
[pid 190] accept(4, <unfinished ...>
[pid 190] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
resume: ptrace(PTRACE_SYSCALL, ...): No such process
Process 190 detached
Process 189 detached
Process 6 detached
#
uClibc-0.9.28.3/libpthread/linuxthreads/manager.c
Code: Alles auswählen
# cat /var/tuxbox/config/timerd.conf
EXTRA_TIME_END=0
EXTRA_TIME_START=0
#
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: uclibc patch
To-Do:
- testen, ob binutils-2.18.50.0.9 Probleme machen (EDIT 25.09.2008: bisher keine Probleme festgestellt)
- testen des Patches mit glibc (EDIT 25.09.2008: bisher keine Probleme festgestellt)
- mklibs soll auch uClibc.so* verkleinern
- segfault in timerd wenn mit uClibc kompiliert
- testen, ob loadkeys aus kbd ein vollwertiger Ersatz für console_tools ist
- uClibc 0.9.30rc1 (23.09.08 veröffentlicht)
- Enigma (posix_fadvise64 fehlt)
- testen, ob binutils-2.18.50.0.9 Probleme machen (EDIT 25.09.2008: bisher keine Probleme festgestellt)
- testen des Patches mit glibc (EDIT 25.09.2008: bisher keine Probleme festgestellt)
- mklibs soll auch uClibc.so* verkleinern
- segfault in timerd wenn mit uClibc kompiliert
- testen, ob loadkeys aus kbd ein vollwertiger Ersatz für console_tools ist
- uClibc 0.9.30rc1 (23.09.08 veröffentlicht)
- Enigma (posix_fadvise64 fehlt)
Zuletzt geändert von rhabarber1848 am Donnerstag 25. September 2008, 10:23, insgesamt 1-mal geändert.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: uclibc patch
Ein paar Daten:
make flash-neutrino-squashfs-all erzeugt folgende root-neutrino.squashfs:
- ungepachtes CVS: 4349952 Byte
- CVS + uclibc.diff + glibc: 4337664 Byte
Die etwas geringere Größe resultiert vermutl. aus der gcc-Option --disable-__cxa_atexit
Ein hiermit hergestelltes Image funktioniert einwandfrei, daher spricht IMHO nichts
dagegen, uclibc.diff ins CVS aufzunehmen. Es wäre schön, wenn einige andere dieses
Szenario noch testen könnten.
- CVS + uclibc.diff + uclibc: 4214784 Byte
Die uClibc selbst wurde nicht mit mklibs bearbeitet, da sie dadurch zerstört werden würde.
Ansonsten würde die root-Partition 4149248 Byte groß sein, 64KB kleiner.
make flash-neutrino-squashfs-all erzeugt folgende root-neutrino.squashfs:
- ungepachtes CVS: 4349952 Byte
- CVS + uclibc.diff + glibc: 4337664 Byte
Die etwas geringere Größe resultiert vermutl. aus der gcc-Option --disable-__cxa_atexit
Ein hiermit hergestelltes Image funktioniert einwandfrei, daher spricht IMHO nichts
dagegen, uclibc.diff ins CVS aufzunehmen. Es wäre schön, wenn einige andere dieses
Szenario noch testen könnten.
- CVS + uclibc.diff + uclibc: 4214784 Byte
Die uClibc selbst wurde nicht mit mklibs bearbeitet, da sie dadurch zerstört werden würde.
Ansonsten würde die root-Partition 4149248 Byte groß sein, 64KB kleiner.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: uclibc patch
ist das binutils-update wirklich notwendig? Ich habe da imemr Bauchschmerzen, da das oft subtile Nebenwirkungen hat (nach dem letzten core-update ging z.B. in Enigma die Lokalisierung nicht mehr IIRC - das waren nicht binutils, sondern glibc aber trotzdem).
Frag doch mal Riker, ob er das eine Zeit lang im JTG-Snapshot testen mag (selbst ohne uclibc), der (oder besser: seine User ) findet immer die Bugs...
Frag doch mal Riker, ob er das eine Zeit lang im JTG-Snapshot testen mag (selbst ohne uclibc), der (oder besser: seine User ) findet immer die Bugs...
-
- Einsteiger
- Beiträge: 238
- Registriert: Sonntag 14. November 2004, 23:44
Re: uclibc patch
auf den uclibc.diff kann ich den rules-make.diff nicht mehr anwenden, daher habe ich wieder Probleme mit libpng und libtoolize unter gentoo.
lässt sich aber durch hinzufügen im Makefile
lösen.
build läuft mit folgendem Script:
Dauert etwas die Kiste hat nur 1,1GHz.
Code: Alles auswählen
configure: error:
*** [Gentoo] sanity check failed! ***
*** libtool.m4 and ltmain.sh have a version mismatch! ***
*** (libtool.m4 = 1.5.26, ltmain.sh = 1.5.22) ***
Please run:
libtoolize --copy --force
if appropriate, please contact the maintainer of this
package (or your distribution) for help.
Code: Alles auswählen
libtoolize --copy --force
build läuft mit folgendem Script:
Code: Alles auswählen
amiga@thinkpad /media/disk $ cat tuxbox-uclibc.sh
export cvsdir=$HOME/tuxbox-uclibc/tuxbox-cvs
export cdkdir=$cvsdir/cdk
export distridir=$HOME/tuxbox-uclibc/dbox2
mkdir $cvsdir
cd $cvsdir
export CVS_RSH=ssh
BUILDDIR=$PWD
CVS=:ext:anoncvs@cvs.tuxbox.org:/cvs/tuxbox
cvs -qz9 -d $CVS co -f -r newmake -P .
patch -p1 </media/disk/Download/uclibc.diff
cd $cdkdir
ln -s ~/tuxbox/tuxbox-cvs/cdk/Archive
./autogen.sh
./configure --enable-german-keymaps \
--enable-uclibc \
--enable-maintainer-mode \
--prefix=$distridir \
--enable-flashrules \
--enable-cdkVcInfo \
--disable-ext3 \
--with-checkImage=rename \
--with-cvsdir=$cvsdir \
--enable-ccache
time make flash-neutrino-squashfs-all
-
- Einsteiger
- Beiträge: 238
- Registriert: Sonntag 14. November 2004, 23:44
Re: uclibc patch
Ähm
Kernel panic: No init found. Try passing init= option to kernel.
es ist gar kein busybox drin. Baue es gerade explizit mit
make flash-busybox
und flashe dann nochmal.
Kernel panic: No init found. Try passing init= option to kernel.
es ist gar kein busybox drin. Baue es gerade explizit mit
make flash-busybox
und flashe dann nochmal.
-
- Einsteiger
- Beiträge: 238
- Registriert: Sonntag 14. November 2004, 23:44
Re: uclibc patch
irgendwas stimmt hier nicht. sind auch gar keine Spiele drin.
Ich lösche jetzt erstmal alles und baue es dann nochmal ganz von vorne. Kann mir nur vorstellen, dass es daran lag, dass ich versucht habe den make-rules.diff zu patchen. Habe ihn zwar wieder mit -R zurückgenommen, aber vielleicht hat das trotzdem was kaputt gemacht.
Hattest Du nicht geschrieben, dass die library reduction nicht funktioniert? Hat er aber trotzdem gemacht und scheint zu gehen.
die ld-uClibc.so.0 könnte man eigentlich auch auf die ld-uClibc-0.9.28.so linken und so nochmal 20kb sparen oder?
Ich lösche jetzt erstmal alles und baue es dann nochmal ganz von vorne. Kann mir nur vorstellen, dass es daran lag, dass ich versucht habe den make-rules.diff zu patchen. Habe ihn zwar wieder mit -R zurückgenommen, aber vielleicht hat das trotzdem was kaputt gemacht.
Hattest Du nicht geschrieben, dass die library reduction nicht funktioniert? Hat er aber trotzdem gemacht und scheint zu gehen.
Code: Alles auswählen
/var # ls -l /lib
-rwxr-xr-x 1 500 500 19612 Sep 26 23:06 ld-uClibc-0.9.28.so
-rwxr-xr-x 1 500 500 19612 Sep 26 23:06 ld-uClibc.so.0
lrwxrwxrwx 1 500 500 19 Sep 26 23:06 ld.so.0 -> ld-uClibc-0.9.28.so
lrwxrwxrwx 1 500 500 19 Sep 26 23:06 libc.so.0 -> libuClibc-0.9.28.so
-
- Einsteiger
- Beiträge: 238
- Registriert: Sonntag 14. November 2004, 23:44
Re: uclibc patch
so, jetzt hat es geklappt. Sicherheitshalber habe ich auch den ccache abgeschaltet. Mein Skript sieht jetzt folgender massen aus:
Das Keyboard funktioniert korrekt mit DE Layout.
Bildbetrachter, MP3 Player, TS abspielen, Txtxt, Tuxcal, Tuxmail und tuxmaild funktionieren.
Wetterplugin geht erwartungsgemäß nicht, da es ja gegen die normale glibc kompiliert ist.
Das Internet Radio stürzt mit einem segfault ab:
EDIT: timerd segfaulted auch, aber das ist ja schon bekannt.
Code: Alles auswählen
rm -Rf $HOME/.ccache/*
export type=uclibc
export location=/media/disk/tuxbox-$type
mkdir $location || exit
ln -s $location /home/amiga || exit
export cvsdir=$HOME/tuxbox-$type/tuxbox-cvs
export cdkdir=$cvsdir/cdk
export distridir=$HOME/tuxbox-$type/dbox2
mkdir $cvsdir || exit
cd $cvsdir || exit
export CVS_RSH=ssh
BUILDDIR=$PWD
CVS=:ext:anoncvs@cvs.tuxbox.org:/cvs/tuxbox
cvs -qz9 -d $CVS co -f -r newmake -P . || exit
patch -p1 </media/disk/Download/uclibc.diff || exit
cd $cdkdir || exit
ln -s ~/tuxbox/tuxbox-cvs/cdk/Archive || exit
./autogen.sh || exit
./configure --enable-german-keymaps \
--enable-uclibc \
--enable-maintainer-mode \
--prefix=$distridir \
--enable-flashrules \
--enable-cdkVcInfo \
--disable-ext3 \
--with-checkImage=rename \
--with-cvsdir=$cvsdir \
--disable-ccache || exit
echo
echo "!!! Manualy change libpng in tuxbox-cvs/cdk/Makefile, add"
echo "libtoolize --copy --force"
echo
echo "then run:"
echo "make flash-neutrino-squashfs-all"
Bildbetrachter, MP3 Player, TS abspielen, Txtxt, Tuxcal, Tuxmail und tuxmaild funktionieren.
Wetterplugin geht erwartungsgemäß nicht, da es ja gegen die normale glibc kompiliert ist.
Das Internet Radio stürzt mit einem segfault ab:
Code: Alles auswählen
[FileBrowser] SC URL: http://www.shoutcast.com/sbin/newxml.phtml
[FileBrowser] SC URL: http://www.shoutcast.com/sbin/newxml.phtml?genre=Latin
failed to get glyph bitmap.
failed to get glyph bitmap.
failed to get glyph bitmap.
processPlaylistUrl(http://www.shoutcast.com/sbin/tunein-station.pls?id=305783, Mexico es S U P E R - H I T S !(((( PON TU RADIO EN INTERNET)))) !)
Segmentation fault
Neutrino exited with nonzero exit status, restarting...
starting /bin/neutrino
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: uclibc patch
Da bin ich erleichtert.amiga23 hat geschrieben:Das Keyboard funktioniert korrekt mit DE Layout.
Um den uclibc-Patch etwas schlanker zu machen, habe ich den Patch, der
console_tools mit kbd ersetzt, herausgelöst: kbd.diff
console_tools wird seit 1999 nicht mehr weiterentwickelt und wurde in
einigen Distros bereits durch kbd ersetzt. Das einzige Programm,
was in Tuxbox genutzt wird, ist loadkeys, wobei die kbd-Version ein
100% funktionsfähiger Ersatz für die console_tools-Version ist.
Die neueste kbd-Version ist im März 2008 veröffentlicht worden.
console_tools ist unter uclibc trotz vieler Versuche/Tricks nicht kompilierbar,
kbd hingegen schon. Der o.g. Patch beinhaltet bereits einige Anpassungen
in Vorbereitung für uclibc.
Bitte testet diesen Patch in einer glibc-Umgebung.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: uclibc patch
amiga23 hat geschrieben:Hattest Du nicht geschrieben, dass die library reduction nicht funktioniert? Hat er aber trotzdem gemacht und scheint zu gehen.
Es geht nur um uClibc selbst, nicht um die anderen Dateien. Nachdem mklibsspiralvoice hat geschrieben:Die uClibc selbst wurde nicht mit mklibs bearbeitet, da sie dadurch zerstört werden würde.
durchgelaufen ist, werden die Original-uClibc-Dateien ins flashroot kopiert:
Code: Alles auswählen
+if TARGETRULESET_UCLIBC
+ UCLIBC_FILES="libpthread-0.9.28.so libm-0.9.28.so libuClibc-0.9.28.so libdl-0.9.28.so libnsl-0.9.28.so ld-...
+ for i in $$UCLIBC_FILES; do cp $(targetprefix)/lib/$$i $</lib/; done; \
+ for i in $$UCLIBC_FILES; do ln -sf $$i $</lib/`echo $$i | cut -d - -f 1`.so.0; done
+ ln -sf libuClibc-0.9.28.so $</lib/libc.so.0
+endif
Binaries, inkl. Neutrino, einen segfault und sind unbrauchbar.
Ein Vorteil einer nicht reduzierten uClibc ist, dass eine Binary eines Users in
jedem Image laufen kann, da aus uClibc keinerlei Symbole entfernt wurden.
Nachteil ist natürlich, dass sie größer ist. Es soll aber eine mklibs.py geben,
die mit uClibc umgehen kann, ein erster Versuch hier ist leider gescheitert.
Ich halte den bestehenden uClibc-Patch reif fürs CVS, wobei er gerne noch
getestet werden kann, um zu dokumentieren, was funktioniert und was (noch)
nicht. Natürlich hat der uClibc-Betrieb experimentellen Charakter, alleine schon
wegen des timerd, aber der glibc-Betrieb wird AFAIK nicht beeinträchtigt.
In einem nächsten Schritt kann dann versucht werden, mklibs zur Zusammen-
arbeit mit uClibc zu überreden. Tests mit aktuelleren uClibc-Versionen,
0.9.29 und 0.9.30-rc1, haben hier keinen Erfolg gebracht, sondern nur neue
Kompilierfehler. Deshalb bleibe ich in diesem Patch bei Version 0.9.28.3,
ein uClibc-Update kann ebenfalls später geschehen.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: uclibc patch
Warum müssen die binutils updated werden? Ich würde das nur ungern ohne gute Begründung tun.rhabarber1848 hat geschrieben:Ich halte den bestehenden uClibc-Patch reif fürs CVS
...
aber der glibc-Betrieb wird AFAIK nicht beeinträchtigt.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: uclibc patch
Binutils 2.18.50.0.9 hat uClibc-Support bereits eingebaut, derseife hat geschrieben:ist das binutils-update wirklich notwendig?
bestehende cdk/Patches/binutils-uclibc.diff müsste aufwendig
angepasst werden, da der Patch noch auf binutils-2.15.91.0.2,
während im CDK binutils-2.17.50.0.9 genutzt wird.
Ich habe die Anpassung des uClibc-Patches von zaphot ans aktuelle
CVS gleich mit der aktuellen binutils-Version probiert und es hat
bei mir auf Anhieb funktioniert. Natürlich ist dieser Teil des Patches
der potentiell problematischste, weil er am tiefsten ins CDK eingreift.
Deshalb habe ich auch den binutils-Teil des uClibc-Patches herausgelöst
und biete ihn hier getrennt zum Test an: EDIT: entfernt
Anmerkungen zur geänderten Datei cdk/Patches/binutils.diff:
- texinfo-Versionsnummern-Patch wurde upstream committed
- $(libdir)-Patch stammt vom OpenWRT-Projekt
Zuletzt geändert von rhabarber1848 am Samstag 27. September 2008, 14:48, insgesamt 1-mal geändert.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: uclibc patch
Vorschlag:
wir nehmen binutils-uclibc.diff
(den habe ich letztes Jahr im Dezember mal gemacht, aber das Ergebnis nie testgebootet ;-)) anstelle des Updates der Binutils. Der Rest geht IMHO in Ordnung.
Das ist nur der binutils-diff, den Rest nehmen wir aus deinem Patch.
Ich bereite grad einen Testbuild vor, um zu sehen, ob es überhaupt noch baut ;-), aber ich glaube das sollte es schon.
wir nehmen binutils-uclibc.diff
(den habe ich letztes Jahr im Dezember mal gemacht, aber das Ergebnis nie testgebootet ;-)) anstelle des Updates der Binutils. Der Rest geht IMHO in Ordnung.
Das ist nur der binutils-diff, den Rest nehmen wir aus deinem Patch.
Ich bereite grad einen Testbuild vor, um zu sehen, ob es überhaupt noch baut ;-), aber ich glaube das sollte es schon.
-
- Einsteiger
- Beiträge: 238
- Registriert: Sonntag 14. November 2004, 23:44
Re: uclibc patch
cool, dann müsste es ja auch einfacher möglich sein links in ein flashimage zu integrieren... da aus uClibc keinerlei Symbole entfernt wurden.
Das werde ich heute Abend versuchen. Dann versuche ich es auch gleich so, dass ich es in newmake integrieren kann, dann lerne ich da auch wieder was dabei. Is' ja im WIKI schön beschrieben.
Damit, dass der timerd nicht funktioniert kann ich leben (habe ich halt keinen Wecker mehr). Aber damit, dass das internetradio nicht geht, kann ich absolut nicht leben ;-) Da wollte ich aber sowieso dran rumbasteln, weil es die ganze Box zum Absturz bringt, wenn es Probleme mit der Internet verbindung gibt (z.B. 24h Zwangstrennung).
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: uclibc patch
Bitte nochmals herunterladen, in der ersten Version war noch ein kleiner Fehler drin.rhabarber1848 hat geschrieben:Um den uclibc-Patch etwas schlanker zu machen, habe ich den Patch, der
console_tools mit kbd ersetzt, herausgelöst: kbd.diff
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: uclibc patch
Gute Idee, ich probiere gerade folgende Patches im aktuellen CVS (inkl. kbd.diff):seife hat geschrieben:Vorschlag:
wir nehmen binutils-uclibc.diff
EDIT: Aktueller Patch ist hier: http://forum.tuxbox-cvs.sourceforge.net ... 37#p360937
Zuletzt geändert von rhabarber1848 am Montag 29. September 2008, 12:33, insgesamt 5-mal geändert.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: uclibc patch
Mit Kernel 2.6 baut uclibc nicht (asm/mman.h nicht gefunden).
mit uclibc-0.29 undbaut's auch mit Kernel 2.6. Ich bin mir aber nicht so sicher, ob die Optionen, die ich bei der uclibc-Konfiguration ausgewählt habe, sinnvoll sind ;-)
mit uclibc-0.29 und
Code: Alles auswählen
+ KERNEL_SOURCE="$(buildprefix)/$(KERNEL_DIR)" \
+ KERNEL_HEADERS="$(targetprefix)/include" \
-
- Einsteiger
- Beiträge: 238
- Registriert: Sonntag 14. November 2004, 23:44
Re: uclibc patch
Sind diese Hunk Meldungen normal? Was bedeutet das?
Code: Alles auswählen
patching file cdk/configure.ac
Hunk #2 succeeded at 664 (offset 1 line).
patching file cdk/make/automount.mk
patching file cdk/make/bluetooth.mk
patching file cdk/make/bootstrap.mk
patching file cdk/make/buildenv.mk
patching file cdk/make/busybox.mk
patching file cdk/make/contrib-apps.mk
Hunk #5 succeeded at 105 (offset 20 lines).
Hunk #6 succeeded at 131 (offset 20 lines).
Hunk #7 succeeded at 160 (offset 20 lines).
Hunk #8 succeeded at 179 (offset 20 lines).
Hunk #9 succeeded at 193 (offset 20 lines).
Hunk #10 succeeded at 220 (offset 20 lines).
Hunk #11 succeeded at 265 (offset 20 lines).
Hunk #12 succeeded at 282 (offset 20 lines).
Hunk #13 succeeded at 321 (offset 20 lines).
Hunk #14 succeeded at 343 (offset 20 lines).
Hunk #15 succeeded at 383 (offset 20 lines).
Hunk #16 succeeded at 408 (offset 20 lines).
Hunk #17 succeeded at 435 (offset 20 lines).
Hunk #18 succeeded at 460 (offset 20 lines).
patching file cdk/make/contrib-libs.mk
patching file cdk/make/development-tools.mk
patching file cdk/make/dosfstools.mk
patching file cdk/make/dvb-apps.mk
patching file cdk/make/flashable-dirs.mk
patching file cdk/make/ftpd.mk
patching file cdk/make/fun.mk
patching file cdk/make/ide-apps.mk
patching file cdk/make/java-stuff.mk
patching file cdk/make/linuxkernel.mk
patching file cdk/make/nfsserver.mk
patching file cdk/make/reduce-libs.mk
patching file cdk/make/rootutils.mk
patching file cdk/make/u-boot.mk
patching file cdk/make/upnp.mk
patching file cdk/Patches/autofs.diff
patching file cdk/Patches/busybox.config.m4
patching file cdk/Patches/gcc-g++.diff
patching file cdk/Patches/libcurl.diff
patching file cdk/Patches/strace.diff
patching file cdk/Patches/uclibc-0.9.28.3.config
patching file cdk/rules-archive
Hunk #2 succeeded at 127 (offset 1 line).
patching file cdk/rules-install
patching file cdk/rules-make
Hunk #1 succeeded at 17 with fuzz 2.
Hunk #2 succeeded at 126 (offset 1 line).
patching file hostapps/mklibs/mklibs.py
-
- Einsteiger
- Beiträge: 238
- Registriert: Sonntag 14. November 2004, 23:44
Re: uclibc patch
Hab's mit folgendem script auf einem 1,6 GHz DualCore 64bit Hostsystem gebaut. Baut innerhalb ~35 Minuten durch. Wenn ihr also noch mehr zum testen habt, als her damit...
Funktioniert genauso wie vorher auch. Also timerd und Internetradio gehen nicht. Zusätzlich habe ich jetzt noch das VNC Plugin getestet, segfaulted auch.
Code: Alles auswählen
rm -Rf $HOME/.ccache/*
# You only need to change these three paths ###############
export type=uclibc-new
export location=/media/disk/tuxbox-$type
export archivedir=/media/disk/tuxbox/Archive
###########################################################
export cvspatchdir=$location/cvspatches
export cvsdir=$location/tuxbox-cvs
export cdkdir=$cvsdir/cdk
export distridir=$location/dbox2
mkdir $location || exit
mkdir $cvsdir || exit
mkdir $cvspatchdir || exit
cd $cvsdir || exit
export CVS_RSH=ssh
BUILDDIR=$PWD
CVS=:ext:anoncvs@cvs.tuxbox.org:/cvs/tuxbox
cvs -qz9 -d $CVS co -f -r newmake -P . || exit
# kbd.diff - already checked in
#wget -nv -O kbd.diff "http://tuxbox-upload.wittnet.de/index.php?action=downloadfile&filename=kbd.diff&directory=Diffs" || exit
#patch -p1 <$cvspatchdir/kbd.diff || exit
# binutils-2.17-uclibc.diff - basiert auf Patch von seife
wget -nv -O $cvspatchdir/binutils-2.17-uclibc.diff "http://tuxbox-upload.wittnet.de/index.php?action=downloadfile&filename=binutils-2.17-uclibc.diff&directory=Diffs" || exit
patch -p1 <$cvspatchdir/binutils-2.17-uclibc.diff || exit
# uclibc-nobinutils.diff - eigentlicher uClibc-Patch ohne kbd und binutils
wget -nv -O $cvspatchdir/uclibc-nobinutils.diff "http://tuxbox-upload.wittnet.de/index.php?action=downloadfile&filename=uclibc-nobinutils.diff&directory=Diffs" || exit
patch -p1 <$cvspatchdir/uclibc-nobinutils.diff || exit
# rules-make-uclibc.diff löst Kompilierprobleme von amiga23
wget -nv -O $cvspatchdir/rules-make-uclibc.diff "http://tuxbox-upload.wittnet.de/index.php?action=downloadfile&filename=rules-make-uclibc.diff&directory=Diffs" || exit
patch -p1 <$cvspatchdir/rules-make-uclibc.diff || exit
cd $cdkdir || exit
# No need to download the archives again and again
ln -s $archivedir || exit
./autogen.sh || exit
./configure --enable-german-keymaps \
--enable-uclibc \
--enable-maintainer-mode \
--prefix=$distridir \
--enable-flashrules \
--enable-cdkVcInfo \
--disable-ext3 \
--with-checkImage=rename \
--with-cvsdir=$cvsdir \
--disable-ccache || exit
time make flash-neutrino-squashfs-all
make flash-tuxcal
make flash-neutrino-squashfs-all
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: uclibc patch
Das Problem ist im aktuellen(EDIT: Aktueller Patch ist hier: http://forum.tuxbox-cvs.sourceforge.net ... 37#p360937) gelöst.seife hat geschrieben:Mit Kernel 2.6 baut uclibc nicht (asm/mman.h nicht gefunden).
KERNEL_SOURCE bei uClibc muss bei Kernel 2.6 anders sein, ebenso muss
das Target install-linux-headers vor uClibc abgearbeitet werden.
EDIT (21:16h): Bei "make driver" gibt es einen weiteren Fehler, der Patch wird noch heute
abend aktualisiert, in ca. 1h.
Zuletzt geändert von rhabarber1848 am Montag 29. September 2008, 12:34, insgesamt 2-mal geändert.