LINUX.ORG.RU

Kernel panic - Свое ядро


0

1

Создал загрузочную флешку по инструкции от сюда http://habrahabr.ru/post/126427/ при загрузке появляется ошибка

VFS: cannot open root device «<NULL>» or unknown-block(8,6)

please append a correct «root=„boot option; hereare are the available partitions:

kernel panic - not syncing :FVS: unable to mount root fs on unknown-block(8,6)

Кроме всего прочего прочего перед конфигурированием ядра, т.е. запуском:

make menuconfig
лучше в начале выполнить:
make defconfig

Ну и про опции ядра, которые нужно обязательно включить ни чего не сказано, а их не мало. Так что идите «гуглите» другие статьи, в которых описывается конфигурирование ядра.

В статье сказано: «Далее вы можете редактировать скрипт /sbin/init, ведь у вас еще много работы!». Ну а вы отредактировали?

Про содержимое этого файла в initrd вообще ничего не сказано. В нём как минимум должно присутствовать монтирование /dev, /proc и запуск mdev, ну или в ядре должна быть включена поддержка devtmpfs.

Так что «гуглите» дальше.

Если вам просто нужен Linux на флешке, то можете скачать SystemRescueCD и установить его на Flash накопитель.

kostik87 ★★★★★ ()
Ответ на: комментарий от kostik87

В нём как минимум должно присутствовать монтирование /dev, /proc и запуск mdev, ну или в ядре должна быть включена поддержка devtmpfs.

Забыл сказать про запуска командной оболочки или запуск прочих служб.

Это всё если вся система в initrd.

kostik87 ★★★★★ ()

Проверь следующее:
1. Ты рутфс ядру в параметрах передал (или вкомпилил в ядро)?
2. Ты драйвера железа, на котором сидит рутфс, в ядро вкомпилил (или засунул в инитрд)?
3. Ты драйвера фс, которая рутфс, в ядро вкомпилил (или засунул в инитрд)?

Если все сделал правильно, но ядро все еще паникует, рассказывай, чего собрал, на чем пытаешся его поднять, какое у тебя там железо, какое окружение, какой загрузчик, что в инитрд, какие параметры ядра, положи на pastebin конфиги ядра и граба.

ddos3 ()
Ответ на: комментарий от ddos3

Ты рутфс ядру в параметрах передал (или вкомпилил в ядро)?

Насколько можно предположить полученный результат ТС исходя из статьи, которую он привёл, то ТС собирает систему, которая целиком помещается в initrd, по сути там голый busybox. Ну и про init сценарий для initrd там сказано мельком.

kostik87 ★★★★★ ()
Ответ на: комментарий от kostik87

А может юзер забыл вкопмилить поддержку инитрд в ядро? Или забыл добавить инитрд в конфиге бутлоадера? Ядро же явно ругается на то, что не может смонтировать рут.

ddos3 ()

root=LABEL=
укажи метку раздела с linux'ом

ubuntuawp ★★ ()
Ответ на: комментарий от ddos3

А может юзер забыл вкопмилить поддержку инитрд в ядро?

Может и так, поэтому я и написал ТС, что бы он искал другое руководство по конфигурированию ядра. Ибо в указанном им руководстве про конфигурирование ядра вообще почти ничего нет. И на его основе собрать рабочее ядро новичку почти невозможно.

Или забыл добавить инитрд в конфиге бутлоадера?

Ну если ты внимательно прочитал бы статью, ссылку на которую привёл ТС, то увидел бы, что в ней приведёно конфиг загрузчика, который ТС нужно просто скопировать и использовать.

Если он не в состоянии это сделать, то помогать ему в этом смысла не вижу, ибо человек не может даже выполнить действия, последовательность которых ему изложена. Так же догадаться указать другие имена файлов, если нужно, чем в примере, точно так же легко.

Ядро же явно ругается на то, что не может смонтировать рут.

Необязательно, если ТС не указал initrd или указал, даже допустим правильно, но в Initrd нет сценария init или есть, но пустой, будет такая же ошибка. В любом случае правильный параметр root указан в приведённом в статье примере конфига конфигурационного файла загрузчика.

kostik87 ★★★★★ ()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Все может быть. Но если бы ТС сделал все правильно, не было бы этого поста. Так что где-то он все же накосячил. Скорее всего, это что-нибудь тривиальное. Статью я не читал, потому что толку нет, пока ТС не выложит сюда все свои конфиги.

Ну и вообще, о чем мы с тобой сейчас спорим и зачем?

ddos3 ()
Ответ на: комментарий от ddos3

Но если бы ТС сделал все правильно, не было бы этого поста.

Сделать правильно по той статье может только человек, который уже собирал сам ядро и знает, что и где нужно включить и понимает принципы запуска Linux.

Статью я не читал

А вот и зря, прочитай хотя бы моё первое сообщение в этой теме, а затем статью.

После чего можешь объяснять ТС с нуля как конфигурировать ядро, как сгенерировать «дефолтный» конфиг, какие опции в ядре и где нужно включить, что такое initramfs и для чего он нужен, что в нём должно быть и как написать свой init сценарий для initramfs.

Вперёд и с песней.

kostik87 ★★★★★ ()
Ответ на: комментарий от ddos3

вот содержимое menu.lst timeout 100 default 0

title boot root (hd0,0) kernel /bzImage initrd /initrd.gz

title reboot reboot

title halt halt

скомпелировал ядро по дефолту загрузчик grub загружаю с флешки

iman1991 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.