Buildroot zum (cross)-kompilieren von Komponenten (veraltet)¶
Der Weg der Erzeugung der Pakete mit dem GentooUclibcChroot scheint am vielversprechendsten. Alternativen sind die nachstehenden (aber mit einer Reihe von Problemen):
Eine generische Bau-Umgebung für Komponenten wie Busybox, Kernel-Module, ... wie das uClib Buildroot scheint eine durchaus nützliche Geschichte zu sein. Alternativen bestehen mit Open Embedded oder Scratchbox2. Diese Seite soll dazu dienen Erfahrungen zusammenzutragen.
uclib Buildroot¶
Inzwischen ist es auch gelungen mal bis zum Ende durchzukompilieren (ging bisher nur auf SuSE10.3). Dabei musste man dann auch die neueren Binutils nehmen ... Man kann eigene ".config" für Busybox und Kernel bereitstellen. Für ersteres ging das ganz gut, beim Kernel habe ich das noch nicht ganz geblickt. Es gibt auch scripts/add_newpackage für weitere Sachen, die man hinzufügen will. Das Ergebnis landet im buildroot unter project_build_iN86/uclib/root ... wenn es denn durchgelaufen ist. Wenn es nicht durchläuft, reicht es auch nicht anschließend einfach mittels make menuconfig etwas zu ändern und erneut make zu starten. Sondern dann toolchain_build_iNNN und project_build_iNNN löschen und von vorne anfangen, bis man es besser weiss :)
Im Basispaket sind wichtige Elemente, wie "busybox", "uclib", "wlan-utils", "kexec", "bridge-utils", ... bereits enthalten. Von den Compile-Optionen her, sollte sich "hwsetup" ebenfalls gut einbinden lassen.
Für die spätere Nutzerinteraktion im Preboot (siehe #200) wären "dialog" und "ncurses" (als Bibliothek) von Interesse.
Interessant ist auch, inwieweit weitere (später hinzukommende) Programme, z.B. für eine grafisch orientierte Auswahl oder Konfiguration, in einer solchen Umgebung gegen uClibc gebaut werden können.
Zu untersuchen wäre auch, inwieweit Splashy in dieser Umgebung gebaut werden könnte.
Open Embedded¶
Scratchbox2¶
Das Zeugs soll direkt auf dem Originalzeugs laufen und einem die aufwändige Toolchain ersparen.