[devel] [ANNOUNCE] devel-kernel workflow

Alexey Sheplyakov asheplyakov на basealt.ru
Ср Апр 13 14:17:10 MSK 2022


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

On Wed, Apr 13, 2022 at 01:01:15PM +0300, Dmitry V. Levin wrote:

> > > Сейчас деревья каждого ядра ведутся в равном стиле, но они будут со
> > > временем преобразованы -- каждое ядро будет иметь свой единый бранч с
> > > merge commit'ами, где не переписывается история, по крайней мере, между
> > > мажорными версиями.
> > > В каждый новый бранч (то есть в новую мажорную версию нового ядра)
> > > предлагается заново слать свои патчсеты, а затем только обновления
> > > (новые коммиты поверх уже принятого патчсета),
> > 
> > А вот тут -- уже нет. Это гарантировано не работает. Поддерживать
> > несколько веток (mainline и пару LTS) * несколько плат * несколько
> > версий прошивок возможно только при явном разделении "здесь моё,
> > а здесь -- не моё", т.е. при rebase на свежий mainline, и перенос
> > получившихся патчей на LTS ветки.
> 
> Посмотрите уже, наконец, опыт linux-rt:

Какое отношение он имеет к рассматриваемой проблеме (поддержка новых
процессоров, плат в нескольких ветках ядер)? Ещё раз:

> К тому же цикл разработки (поддержки SoC/плат) зависит не только
> (и не столько) с циклом разработки ядра (mainline, LTS, "нашего").
> А прежде всего от
> 1) Появления новых процессоров/плат
> 2) Появлением новых драйверов/фич (и их переносом из заведомо
>    устаревшего ядра от производителя процессора/платы).
> 3) Обновлением прошивки (которые как правило ломают совместимость
>    и требуют адаптации ядра).
 

> https://lpc.events/event/4/contributions/293/attachments/237/416/maintaining-out-of-tree-patches-over-the-long-term.pdf

Боль и страдания, но чуть полегче - без * "n плат" * "m версий прошивок"

> Это работает, и это, похоже, единственный выход.

У Вас получилось - я рад (кстати, где можно поглядеть на результат?).
А я проверил - не работает, и только усложняет жизнь.
Есть кактус только потому, что Вам он нравится - нет уж, увольте.

P.S. 

Патчи для поддержки СнК Байкал-М (и плат на его основе) можно взять отсюда:

git://git.altlinux.org/people/asheplyakov/linux.git

- baikalm - для mainline ядра [1] (ветка master)
- baikalm-5.15.y - для LTS ядра [2] 5.15 (ветка linux-5.15.y)
- baikalm-5.10.y - для LTS ядра [2] 5.10 (ветка linux-5.10.y)
- rpi-baikalm-5.15.y - для ядра rpi-5.15.y (https://github.com/raspberrypi/linux.git)
  поддерживаются raspberry pi, Байкал-М, и rock pi 4 (rk3399)
- baikalm-5.17.y - для "стабильного" ядра [2] 5.17.y (ветка linux-5.17.y)

(остальные ветки - для внутреннего пользования).

[1] git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[2] git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git


Ещё раз подчёркиваю - *можно* взять. А можно и не брать - я никого не заставляю.

Всем добра,
	Алексей.



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