LinuxForum.Fans
Тема

Сannot open root device

Автор: Fogord 13 сообщений 4340 просмотров
#258363

все привет!
проблема возникает при запуске Linux.

grub.cfg

text

linux    /vmlinux-3.3.7 root=/dev/ram0
initrd    /ramdisk.img.gz
Показать

прошу прощения за качество
#258365

Ядру к моменту монтирования корневого раздела не видно устройств, таблица доступных разделов пуста, а /dev/ram0 отсутствует.

#258375

и что посоветуете сделать?

#258445

1) исходной информации маловато. Что за дистрибутив, где грузится, откуда взялось root=/dev/ram0 и т.п.
2) почему ядру не видно ни одно из устройств?
2а) не вкомпилены модули контроллера/ФС
2б) загрузка с USB (см. параметр ядра rootdelay)
2в) что-то ещё?

#258572

недостаточно вводной информации. дистрибутив? структура диска? fstab?

ps: кешированная страничка не показала последний пост *PARDON*
ps2: *офтоп* чет смайлы маленьние, так и должно быть?

#258582

дистрибутив - самодельный )
структура диска - 3 раздела: 1* - boot/, 2 - swap, 3 - /

#258584

raid? lvm?

"bormant" написал:
откуда взялось root=/dev/ram0
"bormant" написал:
не вкомпилены модули контроллера/ФС
#258594

"Fogord" написал:
структура диска - 3 раздела: 1* - boot/, 2 - swap, 3 - /
1)[console]# fdisk -l[/console]расскажет больше и точнее.
2) grub своё дело сделал -- ядро загрузил, управление и параметры ему передал (по поводу того, был ли загружен образ initrd не могу утверждать, на скрине не видно).
3) ядро начало исполняться, дошло до момента, когда нужно смонтировать корень, попыталось смонтировать /dev/ram0, что не удалось, вывело список определившихся к тому моменту устройств, который у вас пуст.

Вот и разбирайтесь, что именно и почему у вас происходит: не загрузился initrd, initrd не содержит всех необходимых для подключения корневого раздела драйверов устройств, initrd не содержит драйвера корневой ФС, скрипт инициализации initrd не содержит команд загрузки указанных драйверов, корень на медленном устройстве, например, например на USB диске (см. rootdelay).

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

Информация о названии дистрибутива заменяет множество технических подробностей, а кроме того позволяет скачать дистрибутив и проверить те или иные предположения. В вашем случае, поскольку система самосборная, всю подробную информацию вам придётся предоставлять самостоятельно, проверять предположения -- тоже самостоятельно.
#258614
"bormant" написал:
Возможно, для начала есть смысл собрать ядро, вкомпилировав в него необходимые для корневого раздела драйверы.

а что если попробывать готовое ядро, взять с рабочего дистрибутива...?

# fdisk -l

Показать
text

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.

Disk /dev/sda: 17.2 GB, 17179869184 bytes 255 heads, 63 sectors/track, 2088 cylinders, total 33554432 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000

Device Boot Start End Blocks Id System /dev/sda1 1 33554431 16777215+ ee GPT

Disk /dev/mapper/vg_pc-lv_swap: 1711 MB, 1711276032 bytes 255 heads, 63 sectors/track, 208 cylinders, total 3342336 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000

Disk /dev/mapper/vg_pc-lv_swap doesn't contain a valid partition table

Disk /dev/mapper/vg_pc-lv_root: 14.9 GB, 14931722240 bytes 255 heads, 63 sectors/track, 1815 cylinders, total 29163520 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000

Disk /dev/mapper/vg_pc-lv_root doesn't contain a valid partition table

Disk /dev/sdb: 4102 MB, 4102029312 bytes 127 heads, 62 sectors/track, 1017 cylinders, total 8011776 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x1774292e

Device Boot Start End Blocks Id System /dev/sdb1 * 2048 104447 51200 83 Linux /dev/sdb2 104448 309247 102400 82 Linux swap / Solaris /dev/sdb3 309248 8011775 3851264 83 Linux

#258619

На /dev/sda используется таблица разделов GPT, чтобы иметь возможность монтировать его разделы, ядро должно быть собрано с CONFIG_EFI_PARTITION.
В /dev/mapper/ видны хвосты от LVM.
На /dev/sdb 3 раздела, про него вы говорили выше как про основной? Посмотрите, какими драйверами обслуживается контроллер, добавьте их в образ initrd или вкомпилируйте в ядро.
В третий раз повторяю про параметр rootdelay.

"Fogord" написал:
если попробывать готовое ядро, взять с рабочего дистрибутива?
Вполне может получиться.
#258785

сделал вот что, взял ядро и initrd с рабочего дистрибутива, все запустилась, но есть одно но) только вот когда я пишу команды в типа

text
sh#ls

то я не вижу ls, курсор есть, команда отрабатывает, но если нажатие на enter без команды у меня получается

text
sh#  sh#  sh# 

не переходит с новой строки

да и пробую свое ядро собрать, спасибо bormant

#258843

Помимо ядра стоило взять в корневую систему и модули ядра: содержимое /lib/modules/$(uname -r)

Что-то не так с настройками терминала?

#258911
"bormant" написал:
Что-то не так с настройками терминала?

даже не знаю

Войдите или зарегистрируйтесь, чтобы ответить.