Hallo zusammen Ich habe hier ein Allwinner A10 board mit welchem ich aktuell etwas experimentiere. Ich habe mir für dieses Board ein u-boot erzeugt und auch einen kernel kompiliert. Ebenso einen Device-Tree für u-boot und kernel erstellt. Nun fehlte mir ein RootFS. Ich habe aus früheren Versuchen noch ein minimales debian RootFS gehabt (~60MByte) alles auf eine SD-Karte gepackt, gebootet, läuft! Nun wollte ich mehr. Also hab ich mir ein armbian gezogen (~450MB). Das rootfs aus dem Image kopiert, auf die SD -> booten. Läuft auch! Nun ein Ubuntu Mate (https://ubuntu-mate.org/download/) ~2.5GB. Wieder das rootfs extrahiert, auf die bestehende SD mit meinem eigenen Kernel und eigenem U-Boot. Booten und? Läuft auch! Auch über HDMI. Nun habe ich jedoch noch einige ungeklärte Fragen: - zu jedem Kernel gehören ja die kernel spezifischen module. Diese liegen ja üblicherweise unter /lib/modules. In meinen Beispielen habe ich diese nicht kopiert. Sondern starte den eigenen Kernel (zImage) mittels U-Boot. Die Dateien der Distribution bleiben unberührt. War es reiner Zufall, dass das System bisher immer gestartet hat? - Birgt mein Vorgehen Risiken in Bezug auf die Systemstabilität? Oder ist das RootFS derart stark vom Kernel abstrahiert, dass ich ohne weiteres RootFS (welche natürlich für die entsprechende Plattform armv7 armhf kompiliert wurden) mit meinem Kernel vereinen kann? - Nebst den Modulen gibt es ja auch noch den /lib/firmware ordner. Diese Dateien habe ich auch nicht ersetzt. Jedoch mag ich mich erinnern, dass dort ebenfalls Kernel spezifische Dateien liegen? Müsste ich diese wie auch die /lib/modules austauschen? Vielen Dank an all diejenigen, welche sich die Zeit nehmen und mir helfen, diese Unklarheiten zu beseitigen. Grüsse Holger
Holger K. schrieb: > Nun habe ich jedoch noch einige ungeklärte Fragen: > > - zu jedem Kernel gehören ja die kernel spezifischen module. Diese > liegen ja üblicherweise unter /lib/modules. In meinen Beispielen habe > ich diese nicht kopiert. Sondern starte den eigenen Kernel (zImage) > mittels U-Boot. Die Dateien der Distribution bleiben unberührt. War es > reiner Zufall, dass das System bisher immer gestartet hat? Da niemand hier weiß, welchen Kernel Du wie erzeugt hast, wird sich die Frage wohl kaum beantworten lassen. MfG
Wenn du alle notwendigen Module als Build-In gebaut hast und nicht als Loadable Kernel Modules, kannst du auch auf /lib/modules verzichten. Und auch wenn du in /lib/modules Module liegen hast hast, können sie auch nur geladen werden wenn sie dem gleichen Kernel zugrunde liegen, da sie in /lib/modules/$(uname -r) erwartet werden.
Moin, Die Module werden ja nur gebraucht, wenn der entsprechende Treiber nicht fest im Kernel drinnen ist. Fuer embedded-Zeugs braucht's eigentlich keine Module - das ist eher sowas fuer irgendwelche Distries die auf zig verschiedenen PCs mit zig verschiedener Peripherie laufen sollen. Wenn der Kernel ja eh' nur auf einer einzigen, fest definierten HW laufen soll, kann auch alles fest reinkompiliert werden (es sei denn, die sourcen der Treiber sind irgendwo ausserhalb des Kernel-source-trees). Und der Lademechanismus fuer Module kann draussenbleiben. Spart Platz und verhindert (unbefugtes) nachladen von irgendwelchen Modulen. Mit den Binaryblobs in /lib/firmware ist so: Was da drinnen sein sollte/muss, haengt ja nur von der verbauten Hardware ab - und nicht vom Kernel oder Architektur. Gruss WK
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.