Критично ли выключать ноут кнопкой после halt'a или можно оставить всё в таком виде?
Перекомпиляция ядра (с поддержкой acpi)
Модератор: Модераторы разделов
-
kernel_mode
- Сообщения: 347
- Статус: infinity++
- ОС: Gentoo(desktop)/Arch(laptop)
Перекомпиляция ядра
После ввода команды poweroff, halt или shutdown -h now linux успешно вырубается, но мой ноутбук "подвисает" (выводится надпись Power off и всё, не выключается). Посмотрел аналогичные темы и вычитал, что надо пересобирать ядро с зашитыми в него acpi и apm. Всё перекомпилил, вот только при загрузке никак не связанным с этим файла rc.pcima (точно не помню, как-то так
) система зависает...
Критично ли выключать ноут кнопкой после halt'a или можно оставить всё в таком виде?
Если да, то как можно исправить данную ситуацию?
Критично ли выключать ноут кнопкой после halt'a или можно оставить всё в таком виде?
-
*F1reb1rd
- Сообщения: 69
- ОС: slackware
Re: Перекомпиляция ядра
я инит делал, туда добавлял acpi модули, поэтому ядро можно и не собирать монолитом.
ну а rc.pcmcia, попробуй вырубить если не пользуешся.
ну а rc.pcmcia, попробуй вырубить если не пользуешся.
asus v1j | slackware current
-
TwisT
- Сообщения: 265
- ОС: Debian
Re: Перекомпиляция ядра
Не могли бы вы расказать что в инит нужно пихать а что нет.
ЗЫ: Стоит на reiserfs, я млдуль туда леплю. Както подозрительно мало
Linux user #432536.
-
Matvey
- Сообщения: 16
Re: Перекомпиляция ядра
Не знаю. Пересобирал ядро 2.4.26 с поддержкой acpi. И ноут прекрасно вырубается.
А старенький пенек третий нет. А надпись "Power off" штатная. Тоже самое, что в винде -
"Теперь питанае компьютера можно отключить."
А старенький пенек третий нет. А надпись "Power off" штатная. Тоже самое, что в винде -
"Теперь питанае компьютера можно отключить."
Too much will kill you...
-
pzp-5
- Сообщения: 558
- Статус: Главный модератор "Пингвинария" на Лафоксе.
Re: Перекомпиляция ядра
В штатном ядре Слаки-10.0 поддержка APM включена в виде модуля.
Код: Выделить всё
$ cat /boot/config | grep APM | grep -v '#'
CONFIG_APM=mУ меня на материнке I815 оказалось достаточным раскомментировать строку /sbin/modprobe apm в файле /etc/rc.d/rc.modules (загружать модуль apm).
Комп командой начал отключаться нормально.
Угадайте: где на фотографии, которая представляет мой аватавр, спрятана птичка?
-
kernel_mode
- Сообщения: 347
- Статус: infinity++
- ОС: Gentoo(desktop)/Arch(laptop)
Re: Перекомпиляция ядра
pzp-5 писал(а): ↑09.11.2006 13:06
В штатном ядре Слаки-10.0 поддержка APM включена в виде модуля.
Код: Выделить всё
$ cat /boot/config | grep APM | grep -v '#' CONFIG_APM=m
У меня на материнке I815 оказалось достаточным раскомментировать строку /sbin/modprobe apm в файле /etc/rc.d/rc.modules (загружать модуль apm).
Комп командой начал отключаться нормально.
При загрузке выводится:
apm: BIOS not found =)
-
*F1reb1rd
- Сообщения: 69
- ОС: slackware
Re: Перекомпиляция ядра
mkinitrd -c -k [версия ядра] -m reiserfs:ac:battery ну и то что собсно нужно еще.
мне этого хватило. остальное в rc.modules можно выбрать.
мне этого хватило. остальное в rc.modules можно выбрать.
asus v1j | slackware current
-
kernel_mode
- Сообщения: 347
- Статус: infinity++
- ОС: Gentoo(desktop)/Arch(laptop)
Re: Перекомпиляция ядра
Код: Выделить всё
root@localhost:~# mkinitrd -c -k 2.4.33.3 -m reiserfs:ac:battery
WARNING: Could not find module for "ac"
WARNING: Could not find module for "battery"Вот так.
=====
у меня ext3, там не надо riserfs на него менять?
=====
Вот что происходит после модпроба:
Код: Выделить всё
root@localhost:~# modprobe apm
/lib/modules/2.4.33.3/kernel/arch/i386/kernel/apm.o.gz: init_module: No such device
/lib/modules/2.4.33.3/kernel/arch/i386/kernel/apm.o.gz: Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters.
You may find more information in syslog or the output from dmesg
/lib/modules/2.4.33.3/kernel/arch/i386/kernel/apm.o.gz: insmod /lib/modules/2.4.33.3/kernel/arch/i386/kernel/apm.o.gz failed
/lib/modules/2.4.33.3/kernel/arch/i386/kernel/apm.o.gz: insmod apm failed=====
Вот ещё кое что, может поможет?
Код: Выделить всё
root@localhost:~# dmesg | grep apm*
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: shpc_init : shpc_cap_offset == 0
apm: BIOS not found.
apm: BIOS not found.-
pzp-5
- Сообщения: 558
- Статус: Главный модератор "Пингвинария" на Лафоксе.
Re: Перекомпиляция ядра
DEATH писал(а): ↑10.11.2006 18:15Вот ещё кое что, может поможет?
Код: Выделить всё
root@localhost:~# dmesg | grep apm* shpchp: shpc_init : shpc_cap_offset == 0 .... apm: BIOS not found. apm: BIOS not found.
Символ * не нужен в грепе.
Смысл имеют только 2 последние строчки.
У меня:
Код: Выделить всё
pzp-5@pzp:~/bin$ dmesg | grep apm
apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16)В чем ваша проблемма - не знаю, похоже не создался девайс /dev/apm_bios (этот девайс (ИМХО) создается ядром и к модулю отношения не имеет) .
Может все-таки попробуете мой совет с дефолтным ядром?
Угадайте: где на фотографии, которая представляет мой аватавр, спрятана птичка?
-
neron
- Сообщения: 169
- ОС: Slackware 12;Gentoo
Re: Перекомпиляция ядра
а зачем тебе именно apm?насколько я знаю он в основном на старых машинах используется,acpi моднее,попробуй его!перекомпиль ядро с поддержкой только acpi:
CONFIG_PM=y
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
и все что связано с acpi
# CONFIG_APM is not set
да и еще...запустить acpid:
#chmod +x /etc/rc.d/rc.acpid
у меня на 2.4.33 все замечательно работает,а вот с 2.6.18 проблемы
CONFIG_PM=y
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
и все что связано с acpi
# CONFIG_APM is not set
да и еще...запустить acpid:
#chmod +x /etc/rc.d/rc.acpid
у меня на 2.4.33 все замечательно работает,а вот с 2.6.18 проблемы
-
kernel_mode
- Сообщения: 347
- Статус: infinity++
- ОС: Gentoo(desktop)/Arch(laptop)
Re: Перекомпиляция ядра
neron писал(а): ↑10.11.2006 20:07а зачем тебе именно apm?насколько я знаю он в основном на старых машинах используется,acpi моднее,попробуй его!перекомпиль ядро с поддержкой только acpi:
CONFIG_PM=y
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
и все что связано с acpi
# CONFIG_APM is not set
да и еще...запустить acpid:
#chmod +x /etc/rc.d/rc.acpid
у меня на 2.4.33 все замечательно работает,а вот с 2.6.18 проблемы
Уже пробовал... Всё та-же проблема с rc.pcima...
=====
В /etc/rc.d вроде уже есть rc.acpid, запускается он нормально, но:
Код: Выделить всё
root@localhost:/etc/rc.d# /usr/sbin/acpid
acpid: can't open /proc/acpi/event: No such file or directory-
neron
- Сообщения: 169
- ОС: Slackware 12;Gentoo
Re: Перекомпиляция ядра
поищи файл /etc/rc.d/rc.pcima или что там...
сделай ему chmod -x <полное имя файла>
или посмотри ссылку на него в rc.sysinit rc.M rc.S в зависимости от того на каком runlevel грузишься
а с АЦПИ у меня такая же беда была пока не персобрал ядро с вкомпилиным АЦПИ модулем
CONFIG_ACPI=y
сделай ему chmod -x <полное имя файла>
или посмотри ссылку на него в rc.sysinit rc.M rc.S в зависимости от того на каком runlevel грузишься
а с АЦПИ у меня такая же беда была пока не персобрал ядро с вкомпилиным АЦПИ модулем
CONFIG_ACPI=y
-
kernel_mode
- Сообщения: 347
- Статус: infinity++
- ОС: Gentoo(desktop)/Arch(laptop)
Re: Перекомпиляция ядра
neron писал(а): ↑10.11.2006 22:05поищи файл /etc/rc.d/rc.pcima или что там...
сделай ему chmod -x <полное имя файла>
или посмотри ссылку на него в rc.sysinit rc.M rc.S в зависимости от того на каком runlevel грузишься
а с АЦПИ у меня такая же беда была пока не персобрал ядро с вкомпилиным АЦПИ модулем
CONFIG_ACPI=y
Всётаки решил повозится с acpi
starting rc.pcmcia...
cardmgr[86] watching 1 socket...
и всё...
=====
почитал руководство по установке ubuntu и suse 10 на мою модель и вычитал там вот что:
ACPI Setup
The bios in this laptop is buggy (at best), so you have to configure your system to use a custom DSDT file. I'm not going to go into detail about exactly what this is, because frankly i don't really know myself. All i know is the steps on making the stuff work like battery display, etc.
First off, we need to find out what version bios we have. To get this, execute the following:
sudo dmidecode | grep Version
You should get a few lines of output, the top line should tell us what the bios version it is. Here is an example output:
Version: 3A28
Now, we need to go to [1] and download a DSDT for your bios version. For example, i grabbed the "3A28 for Aspire 1690 DDR2 (custom)".
Next we need to install nessesary software to compile the dsdt file:
sudo apt-get install build-essential bison flex-old
wget http://www.intel.com/technology/iapc/acpi/...20050624.tar.gz
cd ~
mkdir acpi
cd acpi
tar zxvf /path/to/acpica-unix-20050624.tar.gz
gunzip /path/to/yourdsdtfile.gz
cd acpica-unix-20050624/compiler
make
cp iasl ../..
cd ../..
Now you should have the iasl compiled binary in the same directory as your DSDT file. Now, compile it:
./iasl -tc dsdt.asl
This should create the file "DSDT.aml". We need to move this to a directory:
sudo mv DSDT.aml /etc/mkinitramfs/DSDT.aml
And configure the kernel to use it:
sudo dpkg-reconfigure linux-image-$(uname -r)
Now, reboot your computer, and everything should be working again. I know this section can be a bit confusing but basically all we're doing is downloading the source code for our bios version, downloading the intel compiler, compiling the compiler, then using it to compile the bios code to something the kernel can use. Then configuring the kernel to see it.
Может что нибудь похожее проделать надо?
-
*F1reb1rd
- Сообщения: 69
- ОС: slackware
Re: Перекомпиляция ядра
плохо знаю про ядро сей ветки, есть ли там вообще поддержка батареек и прочих ноут девайсов.
почему бы не перейти на 2.6.18 ? которое идет в testing.
почему бы не перейти на 2.6.18 ? которое идет в testing.
asus v1j | slackware current
-
kernel_mode
- Сообщения: 347
- Статус: infinity++
- ОС: Gentoo(desktop)/Arch(laptop)
Re: Перекомпиляция ядра
Щас попробую =)
=====
Вроде всё, сменил ядро (acpi пока ещё не работает =)). А как узнать версию ядра, хочу проверить?
-
pzp-5
- Сообщения: 558
- Статус: Главный модератор "Пингвинария" на Лафоксе.
Re: Перекомпиляция ядра
Угадайте: где на фотографии, которая представляет мой аватавр, спрятана птичка?
-
kernel_mode
- Сообщения: 347
- Статус: infinity++
- ОС: Gentoo(desktop)/Arch(laptop)
Re: Перекомпиляция ядра
Гмммм... Пишет 2.4.3.33. Делел так: скопировал из папки test26 файлы System.map, config, и bzImage (впоследствии переименовал его в vmlinuz) в /boot. Щас из исходников соберу, так просче
=====
а где можно rc.modules для 2.6.18.1 взять?
-
pzp-5
- Сообщения: 558
- Статус: Главный модератор "Пингвинария" на Лафоксе.
Re: Перекомпиляция ядра
Из слакбука:
Файл Назначение
System.map Map-файл системы для этого ядра
bzImage Собственно, образ ядра
config Конфигурационный файл для исходных текстов этого ядра
Чтобы использовать ядро, скопируйте файлы System.map и config в каталог /boot, а ядро скопируйте в /boot/vmlinuz. Запустите /sbin/lilo(8), чтобы установить LILO для нового ядра, а затем перезагрузите свою систему. Вот и всё. Новое ядро установлено.
Это:
Запустите /sbin/lilo
было пропущено?
Угадайте: где на фотографии, которая представляет мой аватавр, спрятана птичка?
-
*F1reb1rd
- Сообщения: 69
- ОС: slackware
Re: Перекомпиляция ядра
asus v1j | slackware current