LinuxForum.Fans
Тема

Ошибка ACPI

Автор: DimaaN 12 сообщений 2826 просмотров
#115302

Ребята, выручайте нужно до завтрашнего дня, чтобы сдать экзамен.

Необходимо было собрать свое собственное ядро. Скачал kernel_2.6.36. Саму сборку проводил на Ubuntu 10.10. Конфиг взял от неё же (2.6.35-22). Сконфигурировал под ноут HP Compaq nc4010 (http://www.nbprice.ru/catalog/model/2870.htm). Так как собирал первый раз в жизни - убирал только лишние периферийные устройства (которые в ноуте не стоят и стоять никогда не будут). Пробовал и с помощью make, и с помощью make-kpkg. Все собирается без ошибок и строка с ядроv появляется при выборе ОС в Grub. Но при загрузке выдает всегда одно и тоже сообщение: "ACPI: invalid PBLK length [7]". Копался уже и в конфигах Grub и несколько раз собирал с разными конфигами (урезал сильнее, оставлял почти нетронутым) - никакой разницы, то же сообщение. Уже грешу на различия в версии конфига, но со стороны системы никаких ошибок во время сборки не было.

Подскажите, пожалуйста, что это может быть ?

#115332

Ну не зная... не уверен. Это ошибка в твоем биусе.
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/197267
https://wiki.ubuntu.com/DebuggingACPI

acpi=off пробовал делать? Посмотри вторую ссылку сначала. Там можно будет провести дебаг ACPI по пункта и попробовать найти что именно не работает.

#115337

Xlin, спасибо за помощь!
Попробовал покапаться в Grub'e, в grub.cfg ничего что описано в статье не нашел, а menu.lst у меня почему то в редакторе открывается абсолютно пустой.
Если не затруднит, посмотрите где именнно можно выключить ACPI.

#115342

menu.lst нет потому, что у тебя GRUB 2 А это для более позднего. Попробуй тогда встать курсором на ядро в грубе, нажать "e" - редактировать и дописать туда и потом нажать "b" Как то так проверяй.

Хотя можно тоже самое и сделать в grub.cfg. Дай содержимое, посмотрим.

#115346

дописал acpi=off через "e" - никакой разницы

потом стер в конфиге строку root, которая идет после расположения ядра - система начинает грузиться, но через несколько секунд останавливается на строке "ACPI: battery slot [c138] (battery absent)"

но скорее всего acpi пока так и не отключил

сейчас выложу весь конфиг файл

#115347

Интересует первое ядро (оно самое корректное).

Показать
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
set default="8"
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi

function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}

function recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}

function load_video {
insmod vbe
insmod vga
}

insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set 3318d8ac-3839-417d-b0cd-1036d1b9ac82
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
load_video
insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set 3318d8ac-3839-417d-b0cd-1036d1b9ac82
set locale_dir=($root)/boot/grub/locale
set lang=ru
insmod gettext
if [ "${recordfail}" = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.36-pudovkin-sis32' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set 3318d8ac-3839-417d-b0cd-1036d1b9ac82
linux /boot/vmlinuz-2.6.36-pudovkin-sis32
initrd /boot/initrd.img-2.6.36-pudovkin-sis32
}
menuentry 'Ubuntu, with Linux 2.6.36pudovkin (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set 3318d8ac-3839-417d-b0cd-1036d1b9ac82
echo 'Loading Linux 2.6.36pudovkin ...'
linux /boot/vmlinuz-2.6.36pudovkin root=UUID=3318d8ac-3839-417d-b0cd-1036d1b9ac82 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.36pudovkin
}
menuentry 'Ubuntu, with Linux 2.6.36PudovkinDV' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set 3318d8ac-3839-417d-b0cd-1036d1b9ac82
linux /boot/vmlinuz-2.6.36PudovkinDV root=/dev/sda3 ro quiet splash
}
menuentry 'Ubuntu, with Linux 2.6.36PudovkinDV (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set 3318d8ac-3839-417d-b0cd-1036d1b9ac82
echo 'Loading Linux 2.6.36PudovkinDV ...'
linux /boot/vmlinuz-2.6.36PudovkinDV root=/dev/sda3 ro single
echo 'Loading initial ramdisk ...'
}
menuentry 'Ubuntu, with Linux 2.6.35-22-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set 3318d8ac-3839-417d-b0cd-1036d1b9ac82
linux /boot/vmlinuz-2.6.35-22-generic root=UUID=3318d8ac-3839-417d-b0cd-1036d1b9ac82 ro quiet splash
initrd /boot/initrd.img-2.6.35-22-generic
}
menuentry 'Ubuntu, with Linux 2.6.35-22-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set 3318d8ac-3839-417d-b0cd-1036d1b9ac82
echo 'Loading Linux 2.6.35-22-generic ...'
linux /boot/vmlinuz-2.6.35-22-generic root=UUID=3318d8ac-3839-417d-b0cd-1036d1b9ac82 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.35-22-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set 3318d8ac-3839-417d-b0cd-1036d1b9ac82
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set 3318d8ac-3839-417d-b0cd-1036d1b9ac82
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Professional RU (on /dev/sda1)" {
insmod part_msdos
insmod fat
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 4c07-8467
drivemap -s (hd0) ${root}
chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
#115350

Короче. С какого ядра грузимся? Вот найди его в своем огромном списке и допиши вот так.
Например твое ядро

text
menuentry 'Ubuntu, with Linux 2.6.36-pudovkin-sis32' --class ubuntu --class gnu-linux --class gnu --class os { 
    recordfail 
    insmod part_msdos 
    insmod ext2 
    set root='(hd0,msdos3)' 
    search --no-floppy --fs-uuid --set 3318d8ac-3839-417d-b0cd-1036d1b9ac82 
    linux    /boot/vmlinuz-2.6.36-pudovkin-sis32 
    initrd    /boot/initrd.img-2.6.36-pudovkin-sis32 
} 

Допиши туда

menuentry 'Ubuntu, with Linux 2.6.36-pudovkin-sis32' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set 3318d8ac-3839-417d-b0cd-1036d1b9ac82
linux /boot/vmlinuz-2.6.36-pudovkin-sis32 ro quiet splash apci=off
initrd /boot/initrd.img-2.6.36-pudovkin-sis32
}

#115365

Выдает "ACPI: battery slot [c138] (battery absent)"
Затем вынул из ноута аккум, без него на батарейку не ругается, но дальше все равно не грузится, просто останавливается на одной строке и ничего не происходит.
Пробовал из статьи acpi=ht, acpi=noirq - никакой разницы.
Забил пока на это дело - наверное когда конфигурировал ядро, в чем-то серъезно ошибся.

Xlin ещё раз спасибо за помощь.

#115454

если возможно, то отключите в BIOS ACPI и поопробуйте запустить систему.

#115455

если не ошибаюсь, то при конфигурировании ядра есть раздел с ACPI где можно включить поддержку аккумулятора.

#115458
DEMON написал:
если не ошибаюсь, то при конфигурировании ядра есть раздел с ACPI где можно включить поддержку аккумулятора.

Или совсем его не трогать

#116408

Между ro и quiet splash в grub.cfg надо вписать noacpi noapic nomodeset как я здесь написал - через пробелы.

Войдите или зарегистрируйтесь, чтобы ответить.