ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [Comm] Сборка своего ядра
@ 2018-05-20 12:40 Speccyfighter
    0 siblings, 1 reply; 2+ messages in thread
From: Speccyfighter @ 2018-05-20 12:40 UTC (permalink / raw)
  To: community

Есть ли у нас где-то 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,
но это временное решение проблемы и не уверен что это может быть рекомендовано для новых архитектур,
требующих новых версий ядер.

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Comm] Сборка своего ядра
  @ 2018-05-20 22:32   ` Evgeny Sinelnikov
  0 siblings, 0 replies; 2+ messages in thread
From: Evgeny Sinelnikov @ 2018-05-20 22:32 UTC (permalink / raw)
  To: ALT Linux Community general discussions

Здравствуйте,

Есть три сценария персборки ядра (как и любого другого пакета):
1) скачать последний src.rpm, установить от пользователя, доустановить
необходимые сборочные зависимости, изменить конфиг ядра и выполнить
rpm -ba package.spec, где package.spec - спек-файл пакета, который
обычно складывается в ~/RPM/SPECS.
2) cклонировать gear-репозиторий ядра, изменить конфиг ядра, и
выполнить (аналогично доустановив необходимые сборочные пакеты), в
склонированном каталоге, gear-rpm -ba --commit
3) также, как и во втором случае, склонировать, изменить конфиг ядра,
но выполнить gear-hsh --commit.

В последнем случае нужно сначала добавить себя в hasher-priv, командой
hasher-useradd MYUSERNAME и перелогиниться, чтобы применились группы.
При этом ничего лишнего в рабочую систему доустанавливать не нужно.
Пакет будет собираться в предварительно созданном сборочном окружении.

Лично я предпочитаю второй или третий. Первый у нас практикуется
только для автоматической пересборки.


Всё это общие механизмы для пересборки одного пакета. в данном случае
kernel-image-std-def. Дополнительная сложность с ядром заключается в
том, что ту же самую процедуру нужно провести и для всех необходимых
модулей - пакетов вида kernel-module-MODULENAME-std-def.

Всё это, наверное, непонятно или неочевидно из наших страниц на вики.
Давайте поправим так, чтобы было понятно. Честно говоря, я пока не
знаю с чего начать такие правки. Если есть идеи, давайте править.




20 мая 2018 г., 21:02 пользователь Трунин Константин
<ktrounin@yandex.ru> написал:
>
>
> 20.05.2018, 15:40, "Speccyfighter" <zxwarior@yandex.ru>:
>> Есть ли у нас где-то howto по сборке своего ядра с подробным детальным
>> описанием?
>
>
> К сожалению на AltWiki информации мало:
> Kernels и Kernel/build for dummies
>
> С уважением,
> Трунин Константин
>
> _______________________________________________
> community mailing list
> community@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/community



-- 
Sin (Sinelnikov Evgeny)

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-05-20 22:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-20 12:40 [Comm] Сборка своего ядра Speccyfighter
2018-05-20 22:32   ` Evgeny Sinelnikov

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git