/ sbin / init existiert, konnte es aber nicht ausführen

4

Ich baue Linux von Grund auf neu. Derzeit habe ich den Kernel, Glibc und Sysvinit. Ich habe alles selbst nach dieser Anleitung zusammengestellt . Obwohl meine Version von glibc 2.19 ist. Außerdem verwende ich grub anstelle von lilo, aber ich glaube nicht, dass dies Auswirkungen haben würde.

Wie auch immer, wenn ich boote, bekomme ich das am Ende:

Starting init: /sbin/init exists but couldn't execute it (error -8)
Kernel panic - not syncing: No working init found. (and so on)

Fehlercode 8 bedeutet, dass es ein Problem mit dem ausführbaren Format gibt. Ich habe auch versucht, eine andere ausführbare Datei zu erstellen, die "asdf" ausgibt, aber das hat auch nicht funktioniert (gleicher Fehler).

Soll ich also eine ältere Version von glibc, eine andere c-Bibliothek, ein anderes init-Programm (wie systemd) verwenden oder sind diese Anweisungen schlecht?

Hullu2000
quelle
Diese Anweisungen sind 14 Jahre alt! Ich bin sicher, Sie könnten etwas Neueres finden.
garethTheRed
Quick Googling zeigte falsche Architekturen (64-Bit auf einer 32-Bit-CPU). Könnte das das Problem sein?
Mark Lopez
Wahrscheinlich nicht. Ich besitze einen 64-Bit-Computer und habe die Programme auf einem 32-Bit-Betriebssystem kompiliert. Ich glaube nicht, dass das das Problem ist, aber trotzdem danke.
Hullu2000
Welche Version von Kernel und Glibc? Mit oder ohne initrd? Sind die Berechtigungen für / sbin / init korrekt? Fehler -8 ist ENOEXEC (Exec-Formatfehler). Suchen Sie fs/exec.cnach möglichen Ursachen.
Dirkt