Warum sollte ein Linux-System Partitionen aus Fstab mit einer Kernel-Konfiguration einhängen, nicht jedoch mit einer anderen?

525
jakogut

Ich habe ein Linux-ROM-Image, das von Buildroot mit BusyBox-Init und Eudev erstellt wurde. Das Image verfügt über eine / etc / fstab -Datei, die / dev / mmcblk0p1 unter / boot und / dev / mmcblk0p2 /mnt/var.rw (das obere Dateisystem für / var) und / var als beschreibbare unionfs enthält.

Ich habe die Kernel-Konfiguration angepasst, um Funktionen zu entfernen, die ich nicht benötige, einschließlich Geräte-Mapper, einige zufällige Treiber (Dateisysteme, die ich nicht verwende, Netzwerk, Wireless, IOMMU ... und vieles mehr) und jetzt, wenn ich das Gerät starte, / boot und das andere Dateisystem werden nicht eingehängt. Wenn ich renne mount -a, sind sie richtig montiert.

Ich habe den Kernel mit der defconfig des Boards neu aufgebaut, nichts anderes wurde geändert und die Partitionen werden beim Booten wieder erfolgreich gemountet.

Nichts in dmesg scheint darauf hinzuweisen, dass ein Dateisystem nicht bereitgestellt werden konnte. Das overlayfs wird auch ohne das angehängte obere Dateisystem bereitgestellt, sodass ich weiß, dass fstab gelesen wird.

Welche Kernel-Konfigurationsoption könnte dieses Verhalten möglicherweise verursachen?

EDIT: Das Problem wurde weiter eingegrenzt. Ich habe festgestellt, dass es durch den Einbau von UnionFS in den Kernel verursacht wurde. Wenn Sie es als Modul erstellen, wird das Verhalten eliminiert. Könnte jemand erklären, was dieses Verhalten verursachen könnte?

0
Sie haben also bereits die Antwort, haben sich aber nicht die Mühe gemacht, die **. Config ** -Dateien der * "board's defconfig" * und Ihrer benutzerdefinierten Version zu vergleichen? sawdust vor 7 Jahren 0
@sawdust: Ich habe die Configs verglichen, ich habe nichts gefunden, was das Verhalten offensichtlich verursacht. Es ist ein seltsames Problem, weil die Dateisysteme gut anhängen, nicht beim Booten. Dies deutet für mich auf ein anderes Problem als den Kernel hin, obwohl das Testen darauf hinweist. Darüber hinaus verursacht die Menge der Merkmale, die entfernt wurden, die Ursache einer Nadel im Heuhaufen. jakogut vor 7 Jahren 0
Legen Sie beide Kernel in Ihr Boot-Menü (alte und neue) und prüfen Sie, ob beide das gleiche Problem haben, was ich vermute. Das sagt dir wenigstens, wo du suchen musst. Julie Pelletier vor 7 Jahren 0
* "Das Erstellen eines Moduls eliminiert das Verhalten." * - Ein integriertes Modul führt seine Init-Routine aus, bevor ein rootfs vorhanden ist. Ein ladbares Modul führt seine Init-Routine aus, nachdem die Rootfs angehängt wurden und der Benutzerraum aktiv ist. Offensichtlich hat UnionFS eine versteckte Abhängigkeit von den rootfs und / oder einer Userspace-Anwendung. sawdust vor 7 Jahren 2

0 Antworten auf die Frage