Проблема с модулями
В кратце попытаюсь описать проблему.
Железо ноутбука
Сpu: Core Duo T2300
wireless adapter: Intel 3945ABG
...
1. Изначально все работало на ядре (2.6.25-8) собраном с помошью дженкернел. Не работал только cpufreq.
2. Поставил все галочки которые были описаны в хавту чтобы заработало cpufreq. Поддержку frequency scaling. Скалинг на чипсетах ICH-M. Пересобрал ядро. Не заработал (invalid cpu frequency driver).
3. Решил поменять тип процесора в ядре с Pentium M на Pentium 4. Модуль iwl3945,fuse,snd_hda_intel начали выдавать ошибки. Invalid Module format.Перестали запускатся иксы - ошибка видео драйвера
4. Решил сделать все с нуля. Читаю howto upgrade kernel. Скачал 2.6.27-7 . С помошью eselect сделал его активным.
5. Добавил в лило новую запись
6. перезагрузился. Ошибок нет. просто перестал загружатся нужные модули.
7. Кое - как запустил ethernet(добавил в modules.autoload.d/kernel-2.6). Странно почему раньше туда ничнего писать не нужно было
В результате хотелось бы добиться хотябы предыдущего состояния системы.
Как вариант наверное - собрать ядро с нуля.
Какие папки и конфиги нужно почистить чтобы собрать ядро с нуля?
П.С. Генту как и сам линукс пользую совсем недавно.
- Для комментирования войдите или зарегистрируйтесь
Примерный сценарий сборки ядра:
# выбираем нужное ядро
eselect kernel set ...
# идём туды
cd /usr/src/linux
# сохраняем куды-нть конфиг
cp -L .config ~/
# полностью чистим мусор от старых компиляций (если надо)
make mrproper
# возвращаем на место старый конфиг
cp -L ~/.config ./
# конфигурим шо нада
make menuconfig
# компилим усё
make
# если нада, монтируем буууут
mount /boot
# сохраняем собранное ведро
cp -L arch/x86/boot/bzImage /boot/linux-`uname -r`
# готовые модули копируются в /lib/modules/`uname -r`/
make modules_install
# если устанавливались закрытые пакеты типа ati-drivers
# или отдельные пакеты, предоставляющие модули ядра
# типа ndiswrapper, midwifi-hal, etc...
#
module-rebuild rebuild
# если нужно сгенерить образ initrd для splash-загрузки
splash_geninitramfs -g /boot/livecd-2007.0-1024x768 -r 1024x768 -v livecd-2007.0
# а вообще лучше начать с этого:
make help | less
Конечно, чистить и компилить всё обычно не нужно. И вообще, зависимости пересобирутся сами. У вас оказалось, что вы сделали новое ядро, но модули остались лежать старые - я так думаю. При этом, в ядре была включена опция контроля версий. Вот и всё.
А make modules нужно делать?
А make modules нужно делать?
make modules нужно делать?
Зачем?
Такая проблема. Видимо на
Такая проблема.
Видимо на моем ноутбуке какой-то нестандартный драйвер жесткого диска.
в результате при загрузке ядра ошибка Could not open root. Please append correct root option
в лило написано примерно следующее
boot=/dev/sda
root=/dev/sda2
lba32
read-write
prompt
timeout=50
default=gentoo-new
image=/boot/kernel-genkernel-x86-2.6.25-gentoo-r8 #это ядро загружается нормально, но без модулей
label=2.6.25-gentoo-r
initrd=/boot/initramfs-genkernel-x86-2.6.25-gentoo-r8
vga="792"
append="real_root=/dev/sda2"
image=/boot/linux-2.6.27-gentoo-r7 #это ядро которе я компилю
label=gentoo-test
read-only
vga="792"
root=/dev/sda2
Не юзаю лило много лет
Нужно доку смотреть.
Вы попробуйте вот это:
root=/dev/sda2
заменить на:
append="root=/dev/sda2"
не уверен, но возможно придётся убрать read-only и vga=,
т.е. попробуйте сначала без них.
а вообще, наверняка есть man lilo...
/dev/sda2 - это какая FS? Она в ядре включена модулем?
У меня была аналогичная
У меня была аналогичная проблема - решилась заменой слова sda на слово hda. т.е. в конфигурации загрузчика вместо /dev/sda1 прописал /dev/hda1 и все стало работать ;)
Ядро уже запускается - кое
Ядро уже запускается - кое -как.
Изначально не работал вобще ни один драйвер.
Решил вкомпилить видео прямо в ядро - Заработало!
А вот звук и wireless можно только как модули собирать. И они почему-то не работают.
При загрузке пишет
loaded iwl3945
loaded hda_intel
и т.д.
Но вот ни alsa ни wifi не работают.
П.С. Благодаря вкомпиленому видео начали запускатся иксы. Но так как мышка подключаемый модуль то она так и не заработала.
Как сделать чтобы модули заработали???
Поддержка CPU frequency scaling для Core Duo
Processor type and features --->
[*] Tickless System (Dynamic Ticks)
[*] High Resolution Timer Support
[*] Symmetric multi-processing support
[*] Enable MPS table # если есть
[*] Single-depth WCHAN output # если есть
Subarchitecture Type (PC-compatible)--->
Processor family (Core 2/newer Xeon) --->
[*] HPET Timer Support
(2) Maximum number of CPUs (2-512)
[*] Multi-core scheduler support
Preemption Model (Voluntary Kernel Preemption (Desktop)) --->
[*] Machine Check Exception
High Memory Support (4GB) --->
Memory model (Flat Memory) --->
[*] 64 bit Memory and IO resources (EXPERIMENTAL)
[*] Reserve low 64K of RAM on AMI/Phoenix BIOSen
[*] MTRR (Memory Type Range Register) support
[*] Enable seccomp to safely compute untrusted bytecode
Timer frequency (1000 HZ) --->
Power management options --->
ACPI (Advanced Configuration and Power Interface) Support --->
[*] ACPI Support
[*] Processor
CPU Frequency scaling --->
[*] CPU Frequency scaling
[*] CPU frequency translation statistics
[*] CPU frequency translation statistics details
Default CPUFreq governor (ondemand) --->
[*] 'ondemand' cpufreq policy governor
[*] ACPI Processor P-States driver # если есть такой (deprecated), остальные выключить
[*] /proc/acpi/processor/../performance interface (deprecated)
[*] CPU idle PM support
Остальное - выключено, по необходимости, или по усмотрению.
Вроде бы так, но этого не достаточно...
См. также:
http://www.gentoo-wiki.info/Intel_Core_2_Duo
http://www.gentoo-wiki.info/CPU_Frequency_Scaling
http://www.lesswatts.org/projects/powertop/ -- весь сайт, повниматочней! ;-)
Проблема в том что Core Duo и
Проблема в том что Core Duo и Core 2 Duo это немного разные процы. В обычном коре много чего нет.
Я что-то пропустил! :)
В таком случае выбирайте на любой вкус:
http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel ;)
и ещё вот: http://en.gentoo-wiki.com/wiki/Intel_Core
Добиться хотябы предыдущего состояния системы?
С рабочего LiveCD из чрута, как написано в хендбуке:
zcat /proc/config.gz > .config
восстановит первоначальный конфиг.
genkernel - ненужный костыль. В принципе, есть опции --help, --menuconfig, можно аккуратненько отталкиваясь от него потихоньку добавлять нужное и убирать ненужное. Раньше ненужно было ничего писать в /etc/modules.autoload.d/kernel-2.6 видимо потому, что нормально работал какой-нть couldplug. Но по-моему, он уже давно заблокирован. Я не использую ни то, не другое. Всё и так будет нормально грузиться, большинство вещей можно собирать вообще не модулями - сеть и звук можно модулями. По ядру сложно давать советы - нужно искать учебник по "ядерной физике для домохозяек" :) С годами само придёт...
genkernel - удобный скрипт
genkernel - удобный скрипт генерации initrd, не более.он полезен когда есть модули ядра нужные во время загрузки не могут быть включены в ядро например, да мало ли как бывает..
ну тогда бы я ещё добавил -
ну тогда бы я ещё добавил - готовый набор дефолтных конфигурационных файлов для разных версий ведра