LINUX.ORG.RU

Linux не грузится с initramfs'ом

 , ,


0

0

Linux 3.15.1. Самосборка. Конфигурация получена путем:

make x86_64_defconfig
make menuconfig
И немного подправлена. Опция Initial RAM filesystem and RAM disk (initramfs/initrd) support включена.
С помощью cpio был собран initramfs. Сделать initrd невозможно, т.к. размер > 64mb.
Как пытаюсь загрузить (в QEMU): http://storage7.static.itmages.ru/i/14/0622/h_1403465756_1972401_526bf3c24e.png
root=/dev/ram0 не помогает.
Конфигурация ядра тут.
Помогите, пожалуйста, решить проблему.



Последнее исправление: qzxcvbnm (всего исправлений: 2)

У меня подобное было в генте (чую, у вас тоже)
Собрал я ядро, в LILO писал конфиг. Initramfs я собрал, но при попытке загрузки вылетал либо с kernel panic, либо с вопросом «что делать, я не умею твой root.»
В результате оказалось, что в append нужно было писать так:

image = ядро
  root=/dev/рут
  initrd=путь к initramfs
  read-only
  append=" rootfstype=ext4 real_root=/dev/рут"
Правда, я ядро собирал Genkernel.

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

Спасбо за ответ, но проблему я решил. Решение тут. Оказывается, надо сделать линк с /sbin/init в /init.
P.S. У меня там велосипед EmacsLinux. Когда доделаю - выложу.

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

Однажды собирал ядро через menuconfig со старым конфигом, а genkernel мне сделал initramfs с каким-то странным именем. Как оказалось, это имя не подходило под правила именования и тупо игнорировалось.

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