У меня очень старая сборка Linux (версия 2.4.0). Пожалуйста, не спрашивайте меня, почему у меня такая старая версия, ведь она для очень специализированного старого оборудования. В любом случае, проблема в том, что я получаю это сообщение при попытке запустить систему после успешной компиляции.
Паника ядра: у меня нет рута, и я хочу кричать
Проблема, похоже, в том, что мне нужна 'корневая файловая система', скорее всего, сгенерированная методом генерации начального RAM-диска (initrd). Как это исправить?
решение1
Вам не нужен initrd, если ваше ядро включает все драйверы и поддержку файловой системы, необходимые для загрузки. Но вам нужно указать ядру, где находится ваша корневая файловая система, используя root=
параметр ядра, например root=/dev/sda1
.
решение2
Вам не нужно "создавать" rootfs. Если ядро загружается без initrd, то ist должен быть скомпилирован с необходимыми драйверами для доступа к корневому устройству. Какое устройство используется (по умолчанию), жестко закодировано в ядре. Вы можете переопределить это с помощью командной строки ядра, например root=/dev/sda2
.
Если вы используете initrd, то initrd автоматически становится rootfs, а процесс initrd позже переключается на настоящую rootfs (используя параметр ядра и, возможно, некоторые значения по умолчанию).