Neuerstellung rootfs in buildroot
Werde ich die setup-build-Umgebung, um meine eigene linux-embedded-system für AT91SAM9X25-Board. Ich bin mit buildroot, dies zu tun. Der Befehl make alle Ziele erstellen, die erste it-build toolchain dann Pakete und dann rootfs und Bilder von rootfs (tar, cpio ...).
Wiederaufbau rootfs normalerweise verwende ich make clean und dann make. Der Befehl make clean entfernt alle und inklusive toolchain.
Also das erste, meine Frage ist: gibt es eine Möglichkeit, remake rootfs ohne Gebäude toolchain? Es braucht eine Menge Zeit.
Bin ich auch Aufbau-linux-kernel innerhalb von buildroot. Ich habe eingeschaltet BR2_LINUX_KERNEL [=y] in buildroot. Die linux konfiguriert Anfängliche RAM-Dateisystem, so zu bauen-kernel ist es erforderlich, image, rootfs (die erstellt werden sollen, die von buildroot). Wenn ich unter root von buildroot das Gebäude schlägt mit Fehlermeldung-kann Nicht öffnen - 'buildroot-2013.05/output/images/rootfs.cpio'. Weil (wenn ich das richtig verstanden habe) der Bauablauf ist der toolchain - Pakete - rootfs - linux-kernel - Bilder des rootfs. Wenn er versucht zu bauen linux-kernel rootfs.cpio-image wird nicht erstellt.
Also die zweite Frage ist: Wie baut man linux innerhalb von buildroot, wenn ich verwenden möchten Initial RAM filesystem?
Vielleicht gibt es effizientere alternativen als buildroot?
Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie nicht wollen, zu tun, die (bis Buildroot konfiguriert ist).
Sie müssen zuerst konfigurieren Buildroot durch die Angabe der Ziel-board.
Pro die Handbuch Sie können von vorne beginnen, oder erstellen Sie ein Buildroot-config-Datei für Ihr AT91SAM9X25-board abgeleitet von einem ähnlichen board wie configs/at91sam9g20dfc_defconfig
Neben der Buildroot-config-Datei, Sie benötigen auch eine Linux-kernel-config-Datei (es sei denn, Sie wollen, versuchen Sie es konfigurieren der kernel von Grund auf neu).
Die kernel-config-Datei für das Atmel-eval board mit einem AT91SAM9x5 ist at91sam9x5ek_defconfig
Lesen Sie auch Abschnitt 3.4.2. Erstellen Sie Ihre eigenen board-support -
Die Antwort hängt davon ab, wie Sie definieren "remake rootfs".
Wenn Sie löschen Sie das Verzeichnis
output/images/
, dann die Dateien rootfs neu geschrieben werden.Wenn Sie Verzeichnisse zu löschen, die in
output/build/
ist, dann diese Pakete oder Subsysteme sind kompiliert aus dem Quellcode.Wenn Sie Buildroot konfigurieren, um mit Ihrem eigenen oder einem externen tool-chain, dann
make clean
würde nicht entfernen Sie Sie. Wenn Sie konfigurieren Buildroot installieren der toolchain baut es außerhalb von seinem Verzeichnis, dann kann Sie es allein verlassen, während einmake clean
.Natürlich die Buildroot
make
ist smart genug, um zu wissen, was sich geändert hat seit dem letzten build hat und was neu kompiliert werden.Sollte es den seltenen Fall, dass Sie brauchen, um Verzeichnisse zu löschen, die in
output/build/
Neukompilierung zu erzwingen.Müssen Sie richtig konfigurieren Sie beide Buildroot und dem Linux-kernel.
Konkretere Informationen über die Verwendung von Buildroot für AT91SAM9x5 ist diese Seite Linx4SAM
Gibt es andere tools, wie Öffnen Sie Embedded, aber beschreiben Sie als "effizienter" ist subjektiv.
NACHTRAG
Zwingen das rootfs neu gebaut werden (in diesem Fall ein initramfs) löschen Sie die drei versteckten Dateien in den output/build/linux-x.xx.xx Verzeichnis
Rebuild rootfs in buildroot