vdr auf uClibc basierendem Linux - wie ?

  • Hallo erstmal.


    Ich versuche gerade mir eine kleine VDR-distro zusammenzuschnitzen. Klar, gibts alles schon, weiss ich auch. Aber nur echte Handarbeit macht schlau. Ich will auch nicht ein abgefahrenes, sich-selbst-über-internet updatendes system konstruieren, sondern (zuerst mal) ein extrem abgespecktes Mini-Linux, das einigermassen zuverlässig und vor allem echt SCHNELL bootet.
    Also, wer mir ohnehin nur raten kann, ne ct'vdr oder gentoo oder (noch schlimmer) suse abzuspecken - damit kann ich nix anfangen, ich will ja lernen wie das funktioniert.


    Ok, ich hab mal damit angefangen, Buildroot zu installieren und zu konfigurieren. (http://buildroot.uclibc.org) Klappt soweit.
    Dann hab ich einen Kernel mit allen notwendigen Treibern (monolithisch) erstellt. Klappt auch.
    Nach dem Motto "Results first" hab ich dann schonmal mein Ziel-System bootfähig gemacht (GRUB lädt Kernel und Buildroot-System in der initrd).
    Klappt auch.


    So, wie krieg ich jetzt den VDR (später auch mplayer und (hoffentlich!) samba) zum lauifen ?
    Normal auf meinem Quell-System kompilieren klappt zwar, braucht aber logischerweise alle shared libs auf dem Zielsystem - in diesem Fall die ganze glibc - was ich ja eigentlich vermeiden will.
    Bei den ld-flags "-static" eingebaut bringt nicht wirklich was, kann keine modules laden.


    Lässt sich VDR überhaupt mit der uClibC kompilieren ?
    Wenn nein, welche Alternativen gibt es ?
    Kennt sich jmd. hier vielleicht mit buildroot aus ? Für mich ist die Doku leider nicht ganz ausreichend bzw. es treten doch unerwartete Probleme auf...


    Wer kann mir hier noch helfen ? (Und - ist mir überhaupt noch zu helfen ? :)
    Ich bin selber kein "anfänger" mehr, aber mit Crosscompiling bin ich dann doch eher unerfahren ...


    --
    Zuck

  • Hallo zuck,


    Im normalfall funktioniert VDR leider nicht mit µClibc, da µClibc kein NPTL kann.


    folgende Meldung oder so ähnlich taucht auf, da einige Funtionen fehlen.


    g++ -g -O2 -Wall -Woverloaded-virtual -c -DREMOTE_KBD -DREMOTE_ -D_GNU_SOURCE -DVIDEODIR=\"/video\" -DPLUGINDIR=\"./PLUGINS/lib\" -I/usr/include/linux/dvb thread.c
    thread.c: In member function `bool cRwLock::Lock(bool, int)':
    thread.c:158: error: `pthread_rwlock_timedwrlock' undeclared (first use this function)
    thread.c:158: error: (Each undeclared identifier is reported only once for each function it appears in.)
    thread.c:160: error: `pthread_rwlock_timedrdlock' undeclared (first use this function)
    make: *** [thread.o] Error 1


    Ich hatte es mal vor einem dreiviertel Jahr probiert und bin gescheidert.


    Allerdings habe ich mal ein wenig gesucht, da ich in den nächsten Wochen es nochmal probieren wollte, und bin im SVN Verzeichnis von µlibc fündig geworden und habe gesehen das daran gearbeitet wird (siehe Link). Allerdings wie weit diese jetzt funktioniert weiß ich nicht.


    Mal noch ein paar Links:
    Anleitung µClibc basierendes HLFS
    uClibc Homepage
    svn co svn://uclibc.org/branches/uClibc-nptl


    Schöne Grüße,


    Alwin

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!