Summary: | При установки на Epox 4PDA3I ругань: No module "piix" found for kernel 2.6.32-std-def-alt15 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | ashen <lex.shen> | ||||||||||
Component: | make-initrd | Assignee: | Alexey Gladkov <legion> | ||||||||||
Status: | CLOSED WORKSFORME | QA Contact: | qa-sisyphus | ||||||||||
Severity: | normal | ||||||||||||
Priority: | P3 | CC: | aen, aspsk, boris, boyarsh, glebfm, ldv, legion, mike, mithraen, moorick, oddity, placeholder, rider, shrek, silicium, sin, vitty, vsu, zerg | ||||||||||
Version: | unstable | ||||||||||||
Hardware: | all | ||||||||||||
OS: | Linux | ||||||||||||
Attachments: |
|
Description
ashen
2010-06-26 19:09:41 MSD
kernel-modules-ide-std-def-2.6.32-alt15.i586.rpm, если нужны? Стоят, Миш, стоят. На данной мамаше загрузочный образ 32-х ядер генерируется только если: cat /etc/modprobe.d/blacklist-ide blacklist ide-pci-generic cat /etc/initrd.mk # trying to detect modules and features to access to root volume AUTODETECT = common root resume MODULES_ADD += piix ide-generic ide-gd_mod MODULES_ADD += sd_mod Спасибо legion@, что помог разобраться в этом. а lspci -k что показывает? вообще piix давно уже depricated и надо переходить на libata соответственный ata_piix Created attachment 4449 [details]
вывод lspci -vvk
В ответ на комментарий №4) > вообще piix давно уже depricated и надо переходить на libata > соответственный ata_piix Сделал: cat /etc/initrd.mk # trying to detect modules and features to access to root volume AUTODETECT = common root resume MODULES_ADD += ata_piix MODULES_ADD += sd_mod Eстановил 2.6.32-std-def-alt15. При установки ругани нет. ls -l /boot/init* -rw------- 1 root root 1848610 Июн 26 13:35 /boot/initrd-2.6.32-lks-wks-alt5.1.img -rw------- 1 root root 1807307 Июл 2 19:56 /boot/initrd-2.6.32-std-def-alt15.img -rw------- 1 root root 1887941 Июн 22 20:25 /boot/initrd-2.6.32-un-def-alt15.img lrwxrwxrwx 1 root root 31 Июл 2 19:56 /boot/initrd.img -> initrd-2.6.32-std-def-alt15.img сравните размеры std-def и un-def при попытки загрузиться висит надпись initrd: udev: Running netdev handler ... и всё. Система хоть реагирует на три пальца. вызов make-initrd bug-report 2.6.32-std-def-alt15 make-initrd 2.6.32-std-def-alt15 выдаёт: /usr/share/make-initrd/make-initrd.mk:29: *** You MUST NOT call private goals directly: 2.6.32-std-def-alt15. Останов. (В ответ на комментарий №6) > cat /etc/initrd.mk > # trying to detect modules and features to access to root volume > AUTODETECT = common root resume > MODULES_ADD += ata_piix > MODULES_ADD += sd_mod Если речь идёт о переезде c IDE на SCSI, то есть две фичи ide-to-scsi и scsi-to-ide. > make-initrd bug-report 2.6.32-std-def-alt15 > make-initrd 2.6.32-std-def-alt15 make-initrd имеет только два возможных аргумента bug-report и guess-config. Версия ядра так не передаётся. Мне кажется, что это проблема не в ядре. 2 ashen@: приложите вывод: make-initrd bug-report Created attachment 4451 [details] make-initrd-bugreport 2.6.32 Epox 4PDA3I (В ответ на комментарий №7) > (В ответ на комментарий №6) > > make-initrd bug-report 2.6.32-std-def-alt15 > > make-initrd 2.6.32-std-def-alt15 > make-initrd имеет только два возможных аргумента bug-report и guess-config. > Версия ядра так не передаётся. Да, да забыл указать при вызове --kernel= Ночью надо спать .. (В ответ на комментарий №8) > Мне кажется, что это проблема не в ядре. > > 2 ashen@: > приложите вывод: make-initrd bug-report Приложил. Если /etc/initrd.mk такой, как предложил мне legion@ (см. комент. #2) То загружаемый образ ядра генерируется, за исключением std-ng. Если вариант от silicium@, то ядро не грузится ... Так. Расскажите с начала что не работает ? (В ответ на комментарий №10) > Так. Расскажите с начала что не работает ? Если cat /etc/initrd.mk # trying to detect modules and features to access to root volume AUTODETECT = common root resume MODULES_ADD += piix ide-generic ide-gd_mod MODULES_ADD += sd_mod То генерируется загрузочный образ ядра 2.6.32 Если cat /etc/initrd.mk # trying to detect modules and features to access to root volume AUTODETECT = common root resume MODULES_ADD += ata_piix MODULES_ADD += sd_mod То не генерируется. (В ответ на комментарий №11) > cat /etc/initrd.mk > # trying to detect modules and features to access to root volume > AUTODETECT = common root resume > MODULES_ADD += piix ide-generic ide-gd_mod > MODULES_ADD += sd_mod Насколько я помню, всё это нужно было для переезда с ATA на SCSI. Попробуйте вместо этих MODULES_ADD написать в /etc/initrd.mk: FEATURES += ide-to-scsi (В ответ на комментарий №12) > Попробуйте вместо этих MODULES_ADD написать в /etc/initrd.mk: > FEATURES += ide-to-scsi cat /etc/initrd.mk # trying to detect modules and features to access to root volume AUTODETECT = common root resume FEATURES += ide-to-scsi Ситуация не изменилась. Будте добры, добавьте в свой конфиг ROOTDELAY = 10 PUT_FILES += /bin/dmesg /bin/lsmod /bin/ps Соберите образ с -v. Вывод сюда. И попробуйте загрузиться. Если залипнет при загрузке, выждете 10 секунд. Должен появится шелл. Посмотрите в lsmod, на месте ли ata_piix. Гляньте dmesg на предмет появления дисков или какой-либо подозрительной ругани. Ещё можно глянуть в ps. Но там ничего особо интересного быть не должно. Created attachment 4456 [details]
вывод make-initrd --verbose
Сделал.
Загруженные модули:
sr_mod, cdrom, sd_mod, cre_t10dif, ata_generic, pata_acpi, ata_piix, libata, scsi_mod
вывод при генерации ядра во вложении.
а там на экране фраза типа sda: sda1 sda2 проскакивает? (В ответ на комментарий №16) > а там на экране фраза типа > sda: sda1 sda2 > проскакивает? Да. И даже разделы монтировал ручками. А что ему тогда мешает загрузиться? если run-init руками запустить? Значит получается root= неправильный. А если его при загрузке руками указать ? У меня такая же проблема. instalkernel определяет модули: reiserfs, pata_acpi, ata-generic, pata_via, libata, scsi_mod добавляю в /etc/initrd.mk sd_mod перезагружаюсь, в параметрах grub ставлю правильный root=/dev/sda2 в моём случае буквы томам даются [sda, sda1, sda2... и тп] загрузка останавливается на initrd: udev: Running netdev handler ... initrd: udev: ERROR: Unable to mount root initrd: Stage 'udev' failed далее пробую mount -t reiserfs /dev/sda2 /root всё олтично монтируется =) пробую /bin/run-init /root /sbin/init Вывалевается Usage: init {-e VAR[=VAL] : [-t SECONDS] {0:1:2:3:4:5:6:S:s:Q:q:A:a:B:b:C:c:U:u}} в корне остаётся только /proc /sys и /root пустой если писать exec /bin/run-init /root /sbin/init --выпадает в kernel panic да, и echo $$ 4690 скрин паники и make-initrd bug-report ниже будут багрепорт http://narod.ru/disk/23009818000/make-initrd-bugreport-20100722.tar.bz2.html паника http://narod.ru/disk/23009659000/DSC00184.JPG.html Created attachment 4463 [details]
make-initrd-bugreport-20100722
Что будет если указать в загрузчике root= через UUID ? (In reply to comment #23) > Что будет если указать в загрузчике root= через UUID ? blkid не показывал UUID этого раздела, blkid -p сказал ambivalent result и посоветовал воспользоваться утилиткой wipefs. Wipefs показала что в метаданных прописано несколько ФСок на этом разделе: reiserfs и своп (вероятно когда-то давно когда раздел форматировался под райзер он оставил и своп). После чего wipefs -o была сделана чистка своп офсета и blkid увидел этот раздел. После ребута всё загрузилось. (проблема решилась) про echo $$ 4690 Но это ещё не всё, до этого я так же загружался в ручном режиме но ран-инит вылетал без результатно с косяками описанными в предыдущем посте. Поборолось это патчем образа: diff ./initrd-2.6.32-std-def-alt16-old/scripts/functions ./initrd-2.6.32-std-def-alt16/scripts/functions 26c26 < PS1='(initramfs) ' /bin/sh -i +m </dev/console >/dev/console 2>&1 --- > PS1='(initramfs) ' exec /bin/sh -i +m </dev/console >/dev/console 2>&1 после чего PID 1 и run-init заработал как надо. Огромное спасибо за терпенее, множественные ликбезы и длительную огромную помощь Михаилу Якушину!!! (В ответ на комментарий №24) > (In reply to comment #23) > > Что будет если указать в загрузчике root= через UUID ? > > blkid не показывал UUID этого раздела, blkid -p сказал ambivalent result и > посоветовал воспользоваться утилиткой wipefs. Ужас. > Поборолось это патчем образа: > > diff ./initrd-2.6.32-std-def-alt16-old/scripts/functions > ./initrd-2.6.32-std-def-alt16/scripts/functions > 26c26 > < PS1='(initramfs) ' /bin/sh -i +m </dev/console >/dev/console 2>&1 > --- > > PS1='(initramfs) ' exec /bin/sh -i +m </dev/console >/dev/console 2>&1 Этот патч неправильный. Увы, в этом виноват недостаток документации для make-initrd. Я не знаю как можно предотвратить или диагностировать такую ситуацию. |