Ядро 2.6.36 не видит винчестер
Nokse 12 апреля, 2011 - 16:13
Установил генту. Собрал по хендбуку ядро с помощью genkenrel, оно прекрастно работает. так нет же, захотелось собрать ручками, чтоб грузилось быстрее и лишнего хлама не было. В итоге собранное ручками ядро падает в панику на начальном этапе загрузки.
Выглядит это вот так:
VFS: Cannot open root device "sda7" or unkown-block(0,0) Please append a correct "root=" boot option Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Я понимаю, что что-то не включил в ядре в разделе Device Drivers, но что именно - не знаю.
Винчестер FUJITSU MHY2120BH, контроллер южного моста Ati SB600. Собственно девайс, куда это все ставится - ноутбук Samsung R58 plus DYLC/SEC
Прилагаю инфу.
fdisk -l |grep sda
dmesg
lspci -k
grub.conf
fstab
kernel config
»
- Для комментирования войдите или зарегистрируйтесь
А SATA в режиме AHCI или
А SATA в режиме AHCI или эмуляции IDE?
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
По всей видимости в режиме
По всей видимости в режиме AHCI. в биосе вообще ничего связанного с этим нет...
Если sata/ide контроллеры и
Если sata/ide контроллеры и корневая ФС в ядре собраны модулями, то без initrd/initramfs (а его genkernel создаёт по умолчанию) ядро не сможет загрузить соответствующие модули из файлов на этих ФС/устройствах, и запаникует.
Поэтому либо это всё вкомпилить в само ядро, либо создавать initrd вручную, в handbook описано.
Но ещё один вариант - использовать genkernel, но не в виде "genkernel all", а чего-то типа "genkernel --menuconfig --no-clean --loglevel=3 --disklabel all". Тогда и ядро будет "лёгким", и проблем не будет. В общем, man genkernel.
Направление взято правильное
Направление взято правильное :)
Ход мыслей верный. Одобряем ;)
Вопросы/рекомендации/руководство к действию:
1. Ты initrd (в смысле initramfs) используешь? Предполагаешь продолжать использовать или как?
2. Конфиг текущего (рабочего) ядра откуда брал?
3. Собственно,
lspci -k
(на рабочем ядре) и стандартный поиск по menuconfig'у ('/', за подробностями в напримерman less
) в помощь.Как уже сказали, если ты не используешь initramfs (облегчение процесса сборки которого и оправдывает существование genkernel'а), поддержка диска и корневой файловой системы должны быть включены в ядро монолитно.
:wq
--
Live free or die
Господа,если я не ошибаюсь,
Господа,если я не ошибаюсь, то как раз поддержка фс и контроллера у него как раз включено монолитно.
Я бы сравнил конфиги генкернела и "самосборный", чтобы понять, где и что недовключил.
Отвечаю по порядку 1.
Отвечаю по порядку
1. initramfs я сейчас использую, поскольку я сейчас использую ядро, собранное genkernel'ом (а в нем без initramfs никуда). В дальнейшем использовать не предполагал.
2. Конфиг текущего рабочего ядра = конфиг genkernel'а. в первом посте размещен неудачный конфиг ядра, с которым оно собственно и не запускается, по причине того, что не может обнаружить винчестер.
В ядро монлитно включена поддержка корневой фс, и на всякий случай пока-что включена поддержка ффс типа extN. А вот что нужно подключить, чтобы ядро опознавало винчестер, я так и не разобрался. Собственно я и создал эту тему в попытке разобраться, поддержки какого чипсета не хватает ядру, чтобы увидеть винчестер.
Сравните конфиги, думаю,
Сравните конфиги, думаю, проблема в контроллере.( то есть , что то недовключено)
Anarchist сказал куда и
Anarchist сказал куда и как
on unknown-block(0,0) - это не определен контроллер на матери
смотрите в сторону IDE interface: и\или SMBus: (lspci -k) +\- в(ы)ключить RAID
в ядро встраивается монолитно
<*> ATI PATA support ?
что-то добрый я сегодня ....
Ну и попутно cat .config |
Ну и попутно
cat .config | grep BLK_DEV_SD ?
taho, спасибо, дело было
taho, спасибо, дело было действительно в BLK_DEV_SD. У меня он был модулем подключен. Теперь ядро грузится.
Еще такой вопрос: есть ли какой-то параметр vga для дисплея с разрешением 1280х800? пробовал задавать vga=ask, но там максимальное разрешение 1024х768...
Использовать свободные дрова,
Использовать свободные дрова, собрать DRM модулем, и KMS всё сам подхватит
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
почему модулем?
почему модулем?
Если не модулем, нужно
Если не модулем, нужно вкомпиливать прошивку в само ядро — лишняя головная боль. Ну для первоначального завода KMS лучше модулем. Загружать-выгружать и т.п.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Понятно. Не убедил )
Понятно. Не убедил )
Я ни в чём и не убеждал, но
Я ни в чём и не убеждал, но модулем проще. Я лично так и не собрался вкомпилять DRM в ядро с прошивками и прочим.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.