Из-за проприетарного модуля ядра, исходный код которого у меня отсутствует, и я очень разборчив в том, в какие версии ядра он будет загружаться (даже с modprobe --f), мне нужно запустить ядро 2.6.16.XX. на моей машине Debian5. Машина отлично загружается со стандартным ядром 2.6.26-2, и я успешно собрал и загрузил ядра на основе 2.6.26 и 2.6.31, создав .deb и ndoing dpkg -i.
Однако, когда я делаю такой же подход для 2.6.16, ядро зависает при загрузке. Я тестирую это в образе VMWare, поэтому не думаю, что это проблема нового оборудования, не поддерживаемого старым ядром.
Для рабочего ядра при загрузке я получаю:
Uncompressing Linux.. OK booting the kernel
Loading, please wait...
mdadm: No devices listed in the conf file were found
kinit name_to_dev_t /dev/hda5 (dev5,3)
...
С 2.6.16.60 я никогда не получаю сообщение kinit. Зависает после строки mdadm. На этой машине нет массивов mdadm, поэтому я сомневаюсь, что это проблема внутри материала mdadm, который должен просто выводить ошибку, как в случае 2.6.26 выше, но по какой-то причине я застрял, попадая в kinit .
Я бился головой об эту стену, поэтому очень открыт для предложений, как решить эту проблему.
Есть так много вещей, которые могут пойти не так. Сначала вам нужно выяснить, где именно в процессе загрузки происходит остановка. Если вы изменили ядро, и оно загружает initrd, возможно, потребуется изменить и содержимое. Это часто ловит людей. Было бы действительно полезно, если бы вы загрузили ядро в подробном режиме, чтобы четко видеть точку, в которой у него возникают проблемы с запуском.