LINUX.ORG.RU

Linux полностью на tmpfs. Kernel panic.

 , ,


1

2

https://habr.com/ru/post/253759/

Здравствуйте! Я выполнил первые 4 шага из этой инструкции. Получил «initrd-ram.img» и «ram.tar.gz». Скопировал их на флешку вместе с файлом «vmlinuz» из папки boot. Получается в корне флешки лежит 3 файла. Дальше я установил на неё grub. В его конфигурационном файле прописал:

title Linux in RAM

kernel /vmlinuz root=/dev/sdb1

initrd /initrd-ram.img

По итогу при загрузке с флешки и выборе данного пункта система не может стартануть. Пишет что-то о Kernel panic. Как я понимаю, неправильно работает initrd. Могу заблуждаться и вообще, пока мало что понимаю.

Заранее благодарю.

Эта статья от 23 марта 2015 года. Тогда current версией Debian была аж 7 версия. Есть шанс, эта инструкция попросту неприменима к современному Debian 10, много чего поменялось с тех пор.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 2)

Для начала: какой grub? Если это grub-2 (не легаси), то root=/dev/sdb1 не сработает, нужно указывать UUID корня, а не его /dev/sdX. Соответственно и initrd должен быть собран с этим учетом

Chord ★★★★
()

Как именно ты создавал initrd?

torvn77 ★★★★★
()

@DanTes979, отдай в консоли эту команду:
echo FM3SQOJSGEUTGNZQFUZDKLJVHEFA====|base32 -d и стукни мне по указанному номеру в WhatsApp, я тебе объясню что и как делать, писать тут я не буду, это долго и трудно.

Стукать можешь прямо сейчас.

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

При чем здесь версия grub и то как указывается в параметрамх ядра корневая файловая система?

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

А то, что там помимо указания корня через имя раздела можно ещё корневую файловую систему указывать через:

  • UUID - уникальный идентификатора файловой системы;

  • LABEL - метка файловой системы;

  • PARTUUID - уникальный идентификатора раздела в GPT и MBR;

Зависит уже от скриптов в initramfs.

Указание через /dev/sdxy или другое имя устройсва работает ВСЕГДА.

И PARTUUID вроде бы тоже работает с ядром напрямую, все зависимости от возможностей initramfs.

Сейчас ядро даже LVM научилось само поднимать.

anonymous
()

Спуффинга кастуйте. Он же там спец по вот этому всему. Даже там хвалился, что сделал загрузку по сети и у него вся система в оперативке(если не путаю ничего). Он ща тут быстро за всё пояснит.

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

Даже там хвалился, что сделал загрузку по сети и у него вся система в оперативке(если не путаю ничего).

Я к стати тоже такое делал, но потом купил райдконтроллер и теперь всё держу на нём.

torvn77 ★★★★★
()

а ты странный

у тебя вся система на tmpfs (внутри ram.tar.gz ?), но корнем указываешь раздел дискового устройства/флешку

при загрузке с флешки и выборе данного пункта система не может стартануть. Пишет что-то о Kernel panic.

щаз телепаты подтянутся, и расскажут что там у тебя и как… ещё пару месяцев дней часов минут секунд и подтянутся… вот-вот…

Как я понимаю, неправильно работает initrd. Могу заблуждаться и вообще, пока мало что понимаю.

мало что понимаю

this

P.S. твою методичку я не читал – мы должны быть на равных. так ведь?

anonymous
()

Вы слепые? Тут нет знаков вопроса! Человек ничего не спрашивал, он просто держит нас в курсе событий.

anonymous
()

chmod +x /init

#! /bin/sh смотри чтобы файл существовал

в конце

exec /bin/sh

всего три этих действия гарантируют тебе рабочий init.

а вообще да, используй booty

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