Ядро (при условии, что Linux) не зависит от или не использует ld.so
в любом случае, форме или форме. Причина его паники, скорее всего, заключается в том, что он не может выполнить ни одну из программ уровня пользователя (например, /bin/init
и /bin/sh
), которые используют ld.so
.
Что касается того, почему вашему init
не нравится ваш новый ld.so
, трудно сказать. Одна распространенная ошибка - попытаться заменить ld.so
содержимым /usr/lib/debug/ld-X.Y.so
. Хотя этот файл выглядит так, как будто он не сильно отличается от оригинала /lib/ld-X.Y.so
, на самом деле он очень отличается и не может использоваться для замены оригинала, только для отладки оригинала (обычно /usr/lib/debug/ld-X.Y.so
) содержит только разделы отладки, но ни один из разделов кода и данных /lib/ld-X.Y.so
, поэтому попытки запустить его обычно вызывают немедленный SIGSEGV
).
Возможно, вы можете настроить chroot
, имитируя встроенную среду, и запустить в ней /bin/ls
? Это сообщение об ошибке (или дамп памяти), скорее всего, скажет вам, что не так с вашим ld.so
.