[devel] порубка firmware-linux

Leonid Krivoshein klark.devel на gmail.com
Ср Апр 21 11:03:50 MSK 2021


21.04.2021 10:12, Andrey Savchenko пишет:
> On Wed, 21 Apr 2021 00:20:52 +0300 Leonid Krivoshein wrote:
>> 19.04.2021 13:07, Michael Shigorin пишет:
>>> On Mon, Apr 19, 2021 at 12:54:43PM +0300, Валерий Иноземцев wrote:
>>>> Миша, хватит высасывать проблемы из пальца. Не хватает места,
>>>> купи диск побольше; мало интернета, поменяй тариф и не
>>>> занимайся фигней.  То же самое касается kernel-image, один
>>>> такой молодой горячий попилил, теперь все страдают
>>> Ты сейчас озвучил подход редхата двадцатилетней давности,
>>> от которого уже отказался даже сам редхат.
>> Можно же и попилить, и сделать мета-пакет firmware-linux с зависимостями
>> на все остальные firmware-linux-*. Но остаётся вопрос: по какому
>> принципу распиливать? Ни один из озвученных вариантов не показался мне
>> достаточно обоснованным. Я бы предложил два уровня мета-пакетов с
>> мелкозернистым распиливанием по сериям с общими прошивками, посредине --
>> мета-пакеты, которые будут объединять все типовые классы:
>> firmware-linux-fc, firmware-linux-amdgpu, firmware-linux-wireless, ...
> Главный вопрос в том, не как можно разделить, а как это будет
> сделано на системе конечного пользователя, в первую очередь при
> установке и обновлениях. Если у пользователя не заработает или
> перестанет работать оборудование, потому что кто-то решил 100 MB
> сэкономить — то это не дело. А если сохранять весь firmware
> в установочных образах и при обновлениях, то не вижу смысла
> разделения на подпакеты.

Смысл есть, но не на под-пакеты, а на отдельные пакеты.

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

В конечную систему в общем случае должен попадать firmware-linux со 
всеми зависимостями. На ВиКи можно описать способ "зачистки" -- apt-get 
mark <нужное> && apt-get remove firmware-linux && apt-get autoremove.

Классы (подборки или второй уровень мета-пакетов) может быть полезен при 
создании универсальных загрузочных образов под конкретные цели, когда мы 
точно знаем, что нужно, а что нет по классам (например, когда точно не 
требуется поддержка DVB), при этом не можем заранее знать, какое именно 
железо там окажется.

Все мета-пакеты (1-й и 2-й уровни) можно держать в одном исходном SRPM 
вместе со скриптами, предназначенными для автоматизации сборки 
мета-пакетов 2-го уровня и остальных пакетов с конкретными прошивками и 
видимо персональной нумерацией по git-тагам. В противном случае распил 
не будет иметь большого смысла, если при обновлении чего-то одного, у 
конечного пользователя будут обновляться все firmware-linux-*.


-- 
Best regards,
Leonid Krivoshein.



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