Bug 21655

Summary: проблема с загрузкой с LiveCD и установкой школьной беты 5.0.0 на Acer
Product: Sisyphus Reporter: Yuri V. Anikin <y.anikin>
Component: kernel-image-std-defAssignee: Vitaly Chikunov <vt>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: major    
Priority: P3 CC: cas, kernelbot, placeholder, vt, y.anikin
Version: unstable   
Hardware: x86   
OS: Linux   
Attachments:
Description Flags
Вывод dmesg на acer tm-6492
none
Вывод dmesg KDestop 6.0.1 на ноуте Acer TM6492 none

Description Yuri V. Anikin 2009-09-21 20:42:12 MSD
При попытке загрузиться с LiveCD (или установить на жесткий диск) с бета-версии school-5.0.0_beta-20090826-master-i586-ru-install-dvd5.iso на ноутбук ACER TM-6492 после загрузки ядра с параметрами по умолчанию происходит полное зависание: нет реакции на клавиатуру и мышь. Указание параметра noacpi позволяет произвести загрузку. Инсталлятор Desktop 4.1.1 отрабатывает нормально.
Comment 1 Andrey Cherepanov 2009-09-24 15:44:04 MSD
На компонент ядра.
Comment 2 Michail Yakushin 2009-09-24 15:51:30 MSD
Где именно просиходит зависание? Попробуте запуститься с vga=normal и посмотреть
Comment 3 Yuri V. Anikin 2009-09-28 19:13:33 MSD
Created attachment 3944 [details]
Вывод dmesg на acer tm-6492
Comment 4 Andrey Cherepanov 2009-10-24 15:10:35 MSD
Прошу проверить на более новых версиях: ftp://beta.altlinux.ru/school/2009/
Comment 5 Yuri V. Anikin 2009-10-26 08:25:10 MSK
Проверил на релиз кандидате Мастер 5.0.0. Ситуация осталась прежней: после загрузки ядра (при установке или для ЛивСД) происходит "подвисание" на 122 секунды, после чего в выводе dmesg появляется запись, свидетельствующая о том, что компьютер все-таки грузится. Еще две записи и дальше идет нормальная загрузка...
Comment 6 Yuri V. Anikin 2009-10-26 09:20:22 MSK
Привожу выдержку из лога dmesg в месте "подвисания":
[    0.682965] isapnp: Scanning for PnP cards...
[    1.040083] isapnp: No Plug & Play device found
[    1.071572] tpm_tis 00:0b: 1.2 TPM (device-id 0xB, rev-id 16)
[  123.324014] tpm_tis 00:0b: tpm_transmit: tpm_send: error 4294967234
[  245.580012] tpm_tis 00:0b: tpm_transmit: tpm_send: error 4294967234
[  366.332013] tpm_tis 00:0b: tpm_transmit: tpm_send: error 4294967234
[  366.332154] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[  366.332411] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[  366.333260] 00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Если я правильно понимаю, проблема связана с модулем tpm_tis. Сейчас на ноуте стоит Desktop 4.1.1 и загрузка проходит нормально.
Comment 7 led 2009-11-12 17:04:42 MSK
(В ответ на комментарий №6)
> Если я правильно понимаю, проблема связана с модулем tpm_tis. Сейчас на ноуте
> стоит Desktop 4.1.1 и загрузка проходит нормально.

echo "options tpm_tis force=1" >> /etc/modprobe.d/options

Если не поможет, тогда

echo "blacklist tpm_tis" >> /etc/modprobe.d/blacklist-local
Comment 8 Yuri V. Anikin 2009-11-12 17:46:10 MSK
(В ответ на комментарий №7)
>  
> echo "options tpm_tis force=1" >> /etc/modprobe.d/options
> 
> Если не поможет, тогда
> 
> echo "blacklist tpm_tis" >> /etc/modprobe.d/blacklist-local

Не помогает ни дописывание параметра в /etc/modprobe.d/options, ни создание blacklist-local с параметром blacklist tpm_tis. 

Может, параметр можно ядру передавать при загрузке?
Comment 9 Yuri V. Anikin 2009-11-12 17:55:03 MSK
Проблема подверждается на всех релизах 5-ой платформы (не пробовал только simply linux). Во время загрузки ядра при передаче ядру параметра vga=normal наблюдаю три задержки по 122 секунды на этом модуле tpm_tis. Кстати, заметил, что работавшие на Desktop 4.1.1 клавиши изменения яркости подсветки монитора теперь не работают...
Comment 10 led 2009-11-12 18:04:04 MSK
(В ответ на комментарий №8)
> (В ответ на комментарий №7)
> >  
> > echo "options tpm_tis force=1" >> /etc/modprobe.d/options
> > 
> > Если не поможет, тогда
> > 
> > echo "blacklist tpm_tis" >> /etc/modprobe.d/blacklist-local
> 
> Не помогает ни дописывание параметра в /etc/modprobe.d/options, ни создание
> blacklist-local с параметром blacklist tpm_tis.

initrd перегенерировать - похоже, tpm_tis попадает в initrd.img и грузится до монтирования /

> 
> Может, параметр можно ядру передавать при загрузке?

Нет.
Comment 11 Sergey Vlasov 2009-11-12 19:59:10 MSK
Всё ещё хуже - драйвер tpm_tis по каким-то причинам встроен в ядро. В этом случае можно попробовать передавать параметр ядра при загрузке:

  tpm_tis.force=1

В https://bugzilla.redhat.com/show_bug.cgi?id=530393 предлагается ещё один вариант, который может сработать в данном случае:

  tpm_tis.interrupts=0

(похоже, это как раз тот самый случай, 4294967234 == -62 == -ETIME)

Запретить инициализацию встроенного в ядро модуля, к сожалению, в общем случае нельзя, а соответствующего параметра у tpm_tis нет.

Вообще, если не включать CONFIG_IMA, вполне можно собирать ядро с CONFIG_TCG_TIS=m и даже CONFIG_TCG_TPM=m.
Comment 12 led 2009-11-12 20:18:31 MSK
(В ответ на комментарий №11)
> Всё ещё хуже - драйвер tpm_tis по каким-то причинам встроен в ядро.

Упс! Виноват - не думал, что в std-def всё настолько запущено :(

> В этом
> случае можно попробовать передавать параметр ядра при загрузке:
> 
>   tpm_tis.force=1

Да, тогда только так :(

> 
> В https://bugzilla.redhat.com/show_bug.cgi?id=530393 предлагается ещё один
> вариант, который может сработать в данном случае:
> 
>   tpm_tis.interrupts=0
> 
> (похоже, это как раз тот самый случай, 4294967234 == -62 == -ETIME)
> Запретить инициализацию встроенного в ядро модуля, к сожалению, в общем случае
> нельзя, а соответствующего параметра у tpm_tis нет.
> 
> Вообще, если не включать CONFIG_IMA, вполне можно собирать ядро с
> CONFIG_TCG_TIS=m и даже CONFIG_TCG_TPM=m.

Это было бы более, чем логично для std-def
Comment 13 led 2009-11-12 20:31:10 MSK
Есть подозрения, что в linux-2.6.30.8 это зафиксили. В ALT это должно быть kernel-image-std-def >= 2.6.30-alt13
Comment 14 led 2009-11-12 20:42:44 MSK
(В ответ на комментарий №13)
> Есть подозрения, что в linux-2.6.30.8 это зафиксили. В ALT это должно быть
> kernel-image-std-def >= 2.6.30-alt13

Судя по "20090826" из "school-5.0.0_beta-20090826-master-i586-ru-install-dvd5.iso", на момент сборки этого образа (26-е августа) этого фикса:
3aad23963b58deb117f763805176b5dec74dc5b0 10.09.09 TPM: Fixup boot probe timeout for tpm_tis driver
ещё не было.
Попробуйте использовать текущий *.iso, а не древнюю бэту
Comment 15 Yuri V. Anikin 2009-11-16 15:58:23 MSK
Установленное ядро: 2.6.30-std-def-alt14
Тестирование проводилось на релизах пятой платформы.
Параметры, указанные Сергеем Власовым, действительно помогают. Какой из них предпочтительнее указывать в append к ядру при загрузке?
Comment 16 led 2009-11-16 16:44:10 MSK
(В ответ на комментарий №15)
> Установленное ядро: 2.6.30-std-def-alt14
> Тестирование проводилось на релизах пятой платформы.
> Параметры, указанные Сергеем Власовым, действительно помогают. Какой из них
> предпочтительнее указывать в append к ядру при загрузке?

Предпочтительнее обновить ядро
Comment 17 Sergey Vlasov 2009-11-16 17:32:33 MSK
(В ответ на комментарий №15)
> Установленное ядро: 2.6.30-std-def-alt14
> Тестирование проводилось на релизах пятой платформы.
> Параметры, указанные Сергеем Власовым, действительно помогают. Какой из них
> предпочтительнее указывать в append к ядру при загрузке?
Нужно сравнить dmesg и /proc/interrupts с этими параметрами.

Использование tpm_tis.force=1 плохо тем, что вместо привязки к устройству, объявленному в таблицах ACPI, используются стандартные адреса, вкомпилированные в драйвер; особенно плохо, если ядро и загрузчик с такими настройками находятся на внешнем носителе, который может быть использован для загрузки на другой машине, где по этим адресам может быть что-то совсем другое (или если на этой же машине средствами BIOS отключить поддержку TPM). С другой стороны, при указании tpm_tis.force=1 для работы с TPM всё-таки могут использоваться прерывания (в этом драйвере есть код, пытающийся автоматически определить IRQ), а в случае tpm_tis.interrupts=0 прерывания отключаются в любом случае.

Т.е., если проблема вызвана тем, что в таблицах ACPI указан неверный номер IRQ для TPM, но при этом TPM всё-таки может использовать прерывания, при указании tpm_tis.force=1, возможно, прерывания всё-таки будут использоваться. Если же TPM в этой машине в принципе не способен работать с прерываниями, лучше использовать tpm_tis.interrupts=0.

(В ответ на комментарий №16)
> Предпочтительнее обновить ядро
Свежее 2.6.30-std-def-alt14 в данный момент сборок нет, упомянутый выше фикс TPM в этом ядре есть, но не помогает.
Comment 18 led 2009-11-16 17:37:25 MSK
(В ответ на комментарий №17)
> (В ответ на комментарий №16)
> > Предпочтительнее обновить ядро
> Свежее 2.6.30-std-def-alt14 в данный момент сборок нет, упомянутый выше фикс
> TPM в этом ядре есть, но не помогает.

Ну, ечли не помогает... Просто не было написано, что БЕЗ дополнительных параметров проверялось новое ядро.
Comment 19 Michael Shigorin 2012-05-07 10:28:09 MSK
А что с 2.6.32 из p5 без параметров, если ещё есть возможность проверить?
Comment 20 Yuri V. Anikin 2012-05-17 09:57:14 MSK
Created attachment 5463 [details]
Вывод dmesg KDestop 6.0.1 на ноуте Acer TM6492
Comment 21 Yuri V. Anikin 2012-05-17 10:05:08 MSK
Проблема наблюдалась на всех ядрах 5-го бранча вплоть 07.2011, когда перешел на KDesktop 6.0 beta. На ней ситуация также не изменилась. В мае 2012 установил KDesktop 6.0.1. Симптомы изменились: теперь "подвисание" происходит на шаге старта демона udevd. См. вывод dmesg
Comment 22 Michael Shigorin 2015-03-16 16:15:01 MSK
Прошу прощения, а на седьмых как? (варианты с разными ядрами есть в составе http://altlinux.org/starterkits, icewm/cinnamon/rescue сейчас с 3.19.1)
Comment 23 Anton Farygin 2018-06-25 08:16:46 MSK
Если не исправлено, то проблема скорее аппаратная чем программная.