Dr. Evil
написал 13 сентября 2005 года в 10:23 (875 просмотров)
Ведет себя
как мужчина; открыл 578 тем в форуме, оставил 3008 комментариев на сайте.
http://www.linuxforum.ru/index.php?act=Attach&type=post&id=1308
это происходит после пересборки стандартного SuSE-ского ядра на этапе загрузки
после того, как модули не прогрузились, загрузка останавливается…
что делать!?
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
продолжение загрузки невозможно, так как устройство /dev/hda6 не появилось в нужный (ожидаемый) период времени.
поэтому и останавливается загрузка.
почему такая фигня с модулями — у меня кончились уже все предположения.
но: заметил тут ещё udev…
поковыряй в эту сторону. попробуй отключить оный, создать нормальную ?dev/ совсеми устройствами и тогда загрузиться.
это, конечно, проблему с модулями не решит, однако, может помочь вообще с загрузкой в частности.
кстати, тогда мысль вообще странная. если udev инициализировался, но при этом не доступен ещё /dev/hda6, откуда можгут воообще взяться модули? только из iinitrd. более, вроде бы, неоткуда….
Получается так, что udev раздает имена, но модули, которые необходимы для старта этих устройств, не могут загрузиться… А без initrd udev не может раздать имена…
замкнутый круг!
udev имена не раздаёт, а толко регистрирует при загрузке модулей…
которые не грузятся.
поэтому тебе надо положить initrd с правильными модулями
и те_же модули должны лежать и в /lib/modules/`uname -r`/
Как мне кажется, там беда в том, что Dr._Evil пересобрал ядро и часть опций из тех, что в дистрибутивном ядре реализованы модульно, он в своей сборке включил монолитно. Однако, получается, что и версия ядра и сам initrd остались те же, что и в дистрибутивной RPM-ке. А следовательно, этот initrd пытается подгрузить модули, которых в новой сборке не существует (они уже монолитны). Отсюда возможен и конфликт.
Решение проблемы мне видится в пересборке initrd, но тут я никак не могу понять, что за модули в него надо включить, а какие — нет (тут, как говорится, самому бы руками посмотреть), либо в пересборке ядра, задав ему отличную от дистрибутивного версию (чтобы был другой /lib/modules/`uname -r`, и его содержимое совпадало с тем, что указал Dr._Evil в настройках ядра).
не-а. погляди внимательнее скриншот…
как ты думаешь, что это? ругань по отсутствию модуля? или что-то иное?
вот как раз уточнее того, что дальше и должно раскрыть, что не так, но, поглядим, может это уже не столь актуально на текущий момент. ;)
Скриншот обсмотрелся =)
Попробую объяснить свою точку зрения.
На скриншоте видно, что все модули, на которые ругается ядро при загрузке — из initrd. Так вот этот самый initrd, как я уже говорил выше, остался дистрибутивный. Вполне вероятно, что ядро (а вместе с ним имодули, попавшие в дистрибутивный initrd) были собраны разработчиками не той версией GCC, что в итоге попала в дистрибутив. И вот когда Dr._Evil пересобрал ядро дистрибутивным GCC, вылез конфликт версий при попытке подгрузить модули из initrd.
да, Саш, с модулями, наверное, так и есть… сейчас ведь он на них не ругается, когда система грузиться. правда, он и не должен, так как я их в ядро «зашил»…
всем спасибо за помощь! все заработало!
проблем было много, и как это все решилось — не описать!