- Mitglied seit
- 10 Mai 2006
- Beiträge
- 15,156
- Punkte für Reaktionen
- 1,706
- Punkte
- 113
Mit der BusyBox 1.27.2 sind ja einige neue Applets eingezogen, die auch in der Freetz-Konfiguration ausgewählt werden können, aber - je nach Kernel-Version der Box - auf nicht vorhandene Symbole und/oder Funktionen zurückgreifen wollen.
Zwei Punkte, an denen ich darüber gestolpert bin (ohne jeden Anspruch auf Vollständigkeit) sind die Applets
- nandwrite und
- nsenter
Beim "nandwrite" fehlt bei älteren Kernel-Versionen (konkret habe ich es bei der 2.6.39.3 der 6490 bemerkt) das Symbol "MTD_FILE_MODE_RAW" - das wurde auch bereits bemerkt und es gibt im BusyBox-Master einen entsprechenden Patch. Den muß man dann - zumindest für die Kernel-Versionen, wo er gebraucht wird, also in einem passenden Unterverzeichnis - noch zu den BusyBox-Patches hinzufügen, wenn man in das Problem läuft (die Voraussetzungen dafür sind sicherlich nicht alltäglich, weil man sowohl das Applet auswählen als auch auf einer älteren Kernel-Version der Box festhängen muß).
Ähnliches gilt für das neue Applet "nsenter" (eine Nachbildung aus dem util-linux-Paket) ... dort wird die "setns"-Funktion gebraucht und die gibt es erst ab Kernel-Version 3. Nun kann man als Benutzer/Anwender das Applet natürlich für die eigene Verwendung der BusyBox bei einem 2.6er-Kernel auch einfach nicht auswählen ... aber dabei fiel mir dann auch auf, daß es eben keinen Mechanismus gibt, der das in Freetz bisher auf die tatsächlich für den verwendeten Kernel verfügbaren Applets begrenzt, was da aus der BusyBox-Konfiguration generiert wurde und wird.
Man könnte zwar auch den Standpunkt vertreten, daß gleich die BusyBox vielleicht besser zusätzliche Abhängigkeiten für die neuen Applets einführen sollte, damit man z.B. mit einem Schlag alle Applets unterdrücken kann, die neuere Kernel-Funktionen brauchen ... aber ich weiß nicht, auf wieviel Gegenliebe man mit einem solchen Vorschlag stoßen würde und die Art und Weise, wie die BusyBox in Freetz verwendet wird (wo der Benutzer noch an der Auswahl der Applets ändern kann), ist schon etwas "speziell" - auch wenn man sich dazu selbst mindestens "advanced user competence" bescheinigen muß, damit die Konfigurationsmöglichkeiten für die BusyBox eingeblendet werden und dann könnte man bei den "Freetz-Machern" natürlich auf darauf bestehen, daß so etwas schon der Wahrheit entsprechen sollte.
Ich weiß also auch nicht, ob (oder gar wie) man das in Freetz lösen sollte oder ob es sogar ein generelles BusyBox-Problem ist (wobei die meisten BusyBox-Verwender halt wissen, für welche Kernel-Version sie die BusyBox brauchen und dann eben ihre Applet-Auswahl darauf beschränken können/müssen), aber es kann sich zu einer "pitfall" für jemanden auswachsen, der die Applet-Auswahl ändert (ohne wirklich zu wissen, was er da tut - das kommt ja durchaus mal vor, habe ich jedenfalls gelesen) und sich dann wundert, warum die BusyBox nicht mehr gebaut werden kann, obwohl er doch nur "gültige Einstellungen" (die auch noch erreichbar waren) geändert hat.
Zwei Punkte, an denen ich darüber gestolpert bin (ohne jeden Anspruch auf Vollständigkeit) sind die Applets
- nandwrite und
- nsenter
Beim "nandwrite" fehlt bei älteren Kernel-Versionen (konkret habe ich es bei der 2.6.39.3 der 6490 bemerkt) das Symbol "MTD_FILE_MODE_RAW" - das wurde auch bereits bemerkt und es gibt im BusyBox-Master einen entsprechenden Patch. Den muß man dann - zumindest für die Kernel-Versionen, wo er gebraucht wird, also in einem passenden Unterverzeichnis - noch zu den BusyBox-Patches hinzufügen, wenn man in das Problem läuft (die Voraussetzungen dafür sind sicherlich nicht alltäglich, weil man sowohl das Applet auswählen als auch auf einer älteren Kernel-Version der Box festhängen muß).
Ähnliches gilt für das neue Applet "nsenter" (eine Nachbildung aus dem util-linux-Paket) ... dort wird die "setns"-Funktion gebraucht und die gibt es erst ab Kernel-Version 3. Nun kann man als Benutzer/Anwender das Applet natürlich für die eigene Verwendung der BusyBox bei einem 2.6er-Kernel auch einfach nicht auswählen ... aber dabei fiel mir dann auch auf, daß es eben keinen Mechanismus gibt, der das in Freetz bisher auf die tatsächlich für den verwendeten Kernel verfügbaren Applets begrenzt, was da aus der BusyBox-Konfiguration generiert wurde und wird.
Man könnte zwar auch den Standpunkt vertreten, daß gleich die BusyBox vielleicht besser zusätzliche Abhängigkeiten für die neuen Applets einführen sollte, damit man z.B. mit einem Schlag alle Applets unterdrücken kann, die neuere Kernel-Funktionen brauchen ... aber ich weiß nicht, auf wieviel Gegenliebe man mit einem solchen Vorschlag stoßen würde und die Art und Weise, wie die BusyBox in Freetz verwendet wird (wo der Benutzer noch an der Auswahl der Applets ändern kann), ist schon etwas "speziell" - auch wenn man sich dazu selbst mindestens "advanced user competence" bescheinigen muß, damit die Konfigurationsmöglichkeiten für die BusyBox eingeblendet werden und dann könnte man bei den "Freetz-Machern" natürlich auf darauf bestehen, daß so etwas schon der Wahrheit entsprechen sollte.
Ich weiß also auch nicht, ob (oder gar wie) man das in Freetz lösen sollte oder ob es sogar ein generelles BusyBox-Problem ist (wobei die meisten BusyBox-Verwender halt wissen, für welche Kernel-Version sie die BusyBox brauchen und dann eben ihre Applet-Auswahl darauf beschränken können/müssen), aber es kann sich zu einer "pitfall" für jemanden auswachsen, der die Applet-Auswahl ändert (ohne wirklich zu wissen, was er da tut - das kommt ja durchaus mal vor, habe ich jedenfalls gelesen) und sich dann wundert, warum die BusyBox nicht mehr gebaut werden kann, obwohl er doch nur "gültige Einstellungen" (die auch noch erreichbar waren) geändert hat.
Zuletzt bearbeitet: