[Comm] Сборка своего ядра

Speccyfighter zxwarior на yandex.ru
Вс Май 20 15:40:33 MSK 2018


Есть ли у нас где-то howto по сборке своего ядра с подробным детальным описанием?

Причина необходимости сборки своего ядра:

- На некоторых архитектурах, ядро собранное с CONFIG_WDAT_WDT вызывает конфликт RTC и WDAT
https://bugzilla.kernel.org/show_bug.cgi?id=199033#c5
Это вызывает отказ hwclock на чтение/запись.
Если системное время в localtime, это вызывает постоянный дрифт системного времени после загрузки.
- Но это полбеды.
Беда в том, что замечено:
что на таких архитектурах, все ядра собранные с CONFIG_WDAT_WDT приводят к рандомному зависанию ядра,
что ставит под сомнение возможности использования Линукс на таких архитектурах.
Ранее, в течение длительного времени (например на ядрах 4.4.x) не наблюдалась, поскольку эти ядра собраны
без CONFIG_WDAT_WDT.
Также важный комментарий начиная со слов I don't think:
https://bugzilla.kernel.org/show_bug.cgi?id=199033#c68
Альтовый багрепорт переведён с normal на major, но рандомное зависание ядер с CONFIG_WDAT_WDT, требует
перевода этого багрепорта в статус critical, из-за рандомного отказа системы при зависании ядра.

Лог в этом случае содержит:

# dmesg | grep rtc
[    0.740734] rtc_cmos 00:01: RTC can wake from S4
[    0.740747] rtc_cmos: probe of 00:01 failed with error -16
[    0.742344] Using IPI No-Shortcut mode
[    0.743974] hctosys: unable to open rtc device (rtc0)

Багрепорты отправлены:
https://bugzilla.kernel.org/show_bug.cgi?id=199033#c72
https://bugzilla.altlinux.org/show_bug.cgi?id=34926


Возникшая задача:

- Собрать полный аналог ядра(дер) std-{def,pae} без CONFIG_WDAT_WDT и восстановить функциональность системы
на Lenovo G50-80.

Эта ошибка конфликта RTC и WDAT как минимум затрагивает Broadwell-U и Haswell-ULT:
https://bugzilla.kernel.org/show_bug.cgi?id=199033#c2
https://bugzilla.kernel.org/show_bug.cgi?id=199033#c3
Lenovo G50-80, это Broadwell-U.
Также ошибка в ядре затрагивает ноутбуки других производителей.

Временно на Broadwell-U можно откатиться на ядра 4.4.x-std-{def,pae} из p8/c8,
но это временное решение проблемы и не уверен что это может быть рекомендовано для новых архитектур,
требующих новых версий ядер.

-- 
Лучшее - враг хорошего!
(Спектрумовский фольклор)


Подробная информация о списке рассылки community