Hilfe !!! YADD aus HEAD bootet nicht ?????

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
TailorX
Interessierter
Interessierter
Beiträge: 29
Registriert: Freitag 26. Juli 2002, 21:39

Beitrag von TailorX »

Hallo,

dieser Thread ist zwar etwas älter, aber ich bin halt drauf gestoßen, als ich vor dem gleichen Problem beim aktuellen Source stand. Nur leider haben die Hinweise hier mir nicht weiter geholfen. Beim Kernel erstellen gab' immer noch undefined functions, wenn das Ding mit NFS-Root-Unterstützung zusammengelinkt werden sollte.

Ich hab' das nochmal genauer untersucht und herausgefunden, dass man noch ein paar Features mehr in der Kernel-Config einschalten muss. Zu denen von Homar
Homar hat geschrieben:CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_ROOT_NFS=y
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_CIFS=y
müssen noch eingeschaltet werden:
CONFIG_IP_PNP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y

Sonst kann der Kern keine Netzwerkparameter auf der Command-Line annehmen, vor allem nfsroot. Mit CONFIG_ROOT_NFS=y bringt man ihm zwar bei, nfsroot auszuwerten, aber erst mit CONFIG_IP_PNP=y liesst er nfsroot (und einige andere Parameter) überhaupt erst ein.

Jedenfalls kompiliert der Kern dann mit NFS-Root-Unterstützung fehlerfrei durch, auch wenn man noch hier und da was eigenes gefummelt hat.

Ciao
TailorX
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

Ich möchte zu dem ganzen Thread folgende Bemerkung machen:

Der offizielle Vorgang ist: starte mit sauberm source-directory, autogen.sh, passende ./configure (wobei ins besonderes --with-targetset=flash bei ein yadd-build NICHT GESTATTET ist). make all. Das klappt (am meistens) auch, am mindestens für mich. Wobei "am meistens" folgende bedeutet: Falls das CVS irgendwie in einem inkonsistenten Zustand sich befindet, geht das Buld schief. Das hat mir ein Paar Male die letze Monaten passiert. (Anderes ausgedrückt: recht selten.) In der regel ist es dann genug, ein Paar Stunden zu warten, und wieder ein cvs update zu machen. Ein händisches Fummeln, wie in Thread beschrieben mit linux/.configure, ist nicht notwendig (am mindestens nicht bei yadd-builds).

Die Make/configure setup ist alles anders als gut, nicht destoweniger klappt

make distclean
./autogen.sh
./configure <richtige optionen>
make

fast immer. Setup von TFTP/dhcp/bootp/nfs-Server kann knifflig sein, aber das ist eine andere Sache.

Bei Probleme: make distclean,... bevor Posten!

Barf
TailorX
Interessierter
Interessierter
Beiträge: 29
Registriert: Freitag 26. Juli 2002, 21:39

Beitrag von TailorX »

Hab' ich ja gemacht mit ganz frischem Source vom 4.11., der ja bekanntlich ganz sauber kompiliert und ohne targetset=flash . Abr ohne obige Anpassungen war nix mit Yadd booten, weil dem Kern die NFS-Root-Unterstützung fehlte. Mit meinen Anpassungen klappt es mit und ohne targetset=flash. Ich auch klar, denn das targetset hat keinen Einfluss, wie der Kern generiert wird (zumindest hab' ich da keine Abhängigkeit gefunden).

Sei's drum. Für mich klappt das jetzt mit der Yadd, vielleicht hilft's auch anderen weiter. Gut ist das, was funktioniert. :)

Ciao
TailorX
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

Ich auch klar, denn das targetset hat keinen Einfluss, wie der Kern generiert wird
Makefile.am sagt

Code: Alles auswählen

if TARGETRULESET_FLASH
        cat Patches/linux-2.4.22-dbox2-flash.config > @DIR_linux@/.config
else
        cat Patches/linux-2.4.22-dbox2.config > @DIR_linux@/.config
endif
es wird also ein ganz andere Kernel erzeugt in flash- und im yadd-fall. Bei mir wird der yadd-kernel (ohne händisches Fummel erzeugt, und funktioniernd) 725530 Bytes, der jffs2only Kernel 590558 bytes.

Keep hacking,

Barf
TailorX
Interessierter
Interessierter
Beiträge: 29
Registriert: Freitag 26. Juli 2002, 21:39

Beitrag von TailorX »

Hi Barf,

ups? Shit. Sorry, den hab' ich wohl völlig übersehen. Dann hast Du natürlich recht und ich beim Compilen irgendwie Mist gebaut.

Ciao
TailorX
(Nokia Sat 2xIntel AVIA500)