ALT Linux Distributions development
 help / color / mirror / Atom feed
* [devel-distro] [SOLVED] история про use/stage2/kms и /use/firmware
@ 2020-09-21 15:37 Michael Shigorin
  2020-09-22 19:53 ` Владимир Гусев
  2020-09-25 11:22 ` [devel-distro] [SOLVED] история про use/stage2/kms и /use/firmware Konstantin Lepikhov
  0 siblings, 2 replies; 12+ messages in thread
From: Michael Shigorin @ 2020-09-21 15:37 UTC (permalink / raw)
  To: devel-distro

	Здравствуйте.
Решил сделать ещё одну "зарисовку на салфетке" по мотивам
довольно муторной проблемы.


Дано: два образа, собранных одним днём на p9_e2k из разных
веток mkimage-profiles; один нормально грузит инсталятор,
другой остаётся в VGA-режиме, пару раз моргает экраном и с

Starting Xorg server...
Error running Xorg server, trying with driver fbdev...
/sbin/init: /usr/sbin/install2: terminated with exit code 1

хотя бы выпал в аварийный sh, а не перезагрузку.

Надо: чтоб инсталятор нормально грузился и там, и там.


Сперва попытался запустить вручную так и этак.  Убедился, что
не инициализируется радеон.  Затем наконец заметил в dmesg,
что модуль-то загружен, но жаловался на недоступность firmware,
грузясь на втором десятке секунд аптайма, т.е. явно в initrd).

Поскольку rmmod radeon; modprobe radeon помогает -- думал уж
было закостылить, но как-то это нехорошо (неинициализировавший
видеокарту drm-драйвер, на котором не висит фреймбуферная консоль
-- по крайней мере поддаётся выдёргиванию, но мало ли, заклинит).


Начал сравнивать логи этих сборок:

$ grep -E '^(INSTALL2|STAGE)' good.iso.log
INSTALL2_BRANDING = notes
INSTALL2_CLEANUP_PACKAGES = llvm
INSTALL2_PACKAGES = alterator-postinstall installer-distro-centaurus-stage2 branding-alt-server-alterator pxz fdisk gdisk parted partclone vim-console net-tools openssh-clients lftp xorg-drv-synaptics xorg-drv-libinput x11vnc xterm net-tools [...] installer-feature-multipath installer-feature-desktop-other-fs-stage2 installer-feature-alphabet-profiles installer-feature-load-tun installer-feature-network-shares-stage3 installer-feature-auto-domain fdisk xorg-conf-synaptics strace fdisk installer-feature-e2k-power-stage2 installer-feature-serial-stage2 installer-feature-e2k-xorg-conf-stage2 installer-feature-e2k-fix-boot-stage2 installer-feature-fstrim-stage2 blacklist-ide ifplugd
STAGE1_KMODULES_REGEXP = drm.*
STAGE1_MODLISTS = pkgpriorities kernel stage2 metadata cleanup install2 repo init branding control services l10n volumes apt-conf firmware net rescue power net-eth build-distro pack tty e2k stage2-mmc stage2-drm stage2-fs stage2-hid stage2-md stage2-mmc stage2-net stage2-net-nfs stage2-rtc stage2-scsi stage2-usb
STAGE1_PACKAGES = make-initrd file iproute2 make-initrd-propagator propagator gnupg udev-rule-generator-net
STAGE2_PACKAGES = udev-rule-generator-net livecd-net-eth agetty

$ grep -E '^(INSTALL2|STAGE)' bad.iso.log
INSTALL2_BRANDING = alterator notes
INSTALL2_CLEANUP_PACKAGES = llvm
INSTALL2_PACKAGES = installer-feature-serial-stage2 alterator-postinstall [...] branding-alt-spserver-alterator installer-feature-e2k-xorg-conf-stage2 installer-feature-e2k-fix-boot-stage2 installer-feature-fstrim-stage2 blacklist-ide ifplugd volumes-profile-regular installer-feature-e2k-power-stage2 x11vnc xterm net-tools firmware-linux fonts-ttf-google-droid-serif fonts-ttf-google-droid-sans-mono fonts-ttf-google-droid-sans fonts-ttf-google-croscore-arimo alterator-notes lsblk fdisk gdisk
STAGE1_MODLISTS = pkgpriorities kernel tty services net net-eth stage2 metadata cleanup install2 repo e2k volumes net-ssh init power l10n rescue apt-conf build-distro pack
STAGE1_PACKAGES = make-initrd file iproute2 make-initrd-propagator propagator gnupg udev-rule-generator-net
STAGE2_PACKAGES = agetty udev-rule-generator-net livecd-net-eth
STAGE2_VOLUMES_PROFILE = volumes-profile-regular

Тут и без diff -w в глаза бросились STAGE1_KMODULES_REGEXP;
далее по *.cfg выяснил, что в первом случае use/stage2/kms
запрошен явно, а во втором -- нет.

Добавил use/stage2/kms -- его оказалось недостаточно, но этот
пунктик помог докопаться до наличия use/firmware в "хорошем"
образе и отсутствия -- в незапускающемся.


В общем, похоже, что use/stage2/kms пора прибивать гвоздиком
как минимум к +install2 == use/install2/full, раз это не было
сделано ещё тогда (как мне почему-то припоминалось).  Хорошо бы
с возможностью избежать при совсем уж ненадобности на каких-либо
архитектурах/задачах, но что-то я такие не очень уже представляю.

И ещё где-то теперь не хватает зависимости на use/firmware,
которая при этом тащит огромный firmware-linux (в идеале бы
отпилить от него то, что нужно видеокартам, и тащить в инсталер
только это).

Сейчас голова немножко не в том состоянии, чтобы что-то на эту
тему патчить "для всех".  Но хотя бы напишу.

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


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

* Re: [devel-distro] [SOLVED] история про use/stage2/kms и /use/firmware
  2020-09-21 15:37 [devel-distro] [SOLVED] история про use/stage2/kms и /use/firmware Michael Shigorin
@ 2020-09-22 19:53 ` Владимир Гусев
  2020-09-25 10:39   ` [devel-distro] %_install_langs (was: история про use/stage2/kms и /use/firmware) Michael Shigorin
  2020-09-25 11:22 ` [devel-distro] [SOLVED] история про use/stage2/kms и /use/firmware Konstantin Lepikhov
  1 sibling, 1 reply; 12+ messages in thread
From: Владимир Гусев @ 2020-09-22 19:53 UTC (permalink / raw)
  To: devel-distro

On Mon, 21 Sep 2020 18:37:04 +0300
Michael Shigorin wrote:

> [..]
>И ещё где-то теперь не хватает зависимости на use/firmware,
>которая при этом тащит огромный firmware-linux (в идеале бы
>отпилить от него то, что нужно видеокартам, и тащить в инсталер
>только это).

В идеале firmware-linux вобще разбить по группам устройств, чтобы
выбиралось только то, что реально есть.

P.S. Это касается и других больших монолитных пакетов, например локали.
Выбрал языки при инсталляции - те локали и подтянулись... Захотел потом
добавить еще - доустановилась и соответствующая локаль... И т.д.

Миша, прости за сообщение не совсем по теме.


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

* [devel-distro] %_install_langs (was: история про use/stage2/kms и /use/firmware)
  2020-09-22 19:53 ` Владимир Гусев
@ 2020-09-25 10:39   ` Michael Shigorin
  2020-09-25 11:05     ` Sergey V Turchin
  0 siblings, 1 reply; 12+ messages in thread
From: Michael Shigorin @ 2020-09-25 10:39 UTC (permalink / raw)
  To: devel-distro

[-- Attachment #1: Type: text/plain, Size: 1788 bytes --]

On Tue, Sep 22, 2020 at 10:53:40PM +0300, Владимир Гусев wrote:
> >И ещё где-то теперь не хватает зависимости на use/firmware,
> >которая при этом тащит огромный firmware-linux (в идеале бы
> >отпилить от него то, что нужно видеокартам, и тащить в инсталер
> >только это).
> В идеале firmware-linux вобще разбить по группам устройств,
> чтобы выбиралось только то, что реально есть.

Чуточку начали, вынеся уж совсем специфику, но там ещё много.
Очень бы помогло, если б в апстриме сделали структуризацию
вроде той, что в самом ядре с раскладкой драйверов учинили --
но, так понимаю, это заметно сложней в плане совместимости.

> P.S. Это касается и других больших монолитных пакетов,
> например локали.  Выбрал языки при инсталляции - те локали и
> подтянулись... Захотел потом добавить еще - доустановилась и
> соответствующая локаль... И т.д.

Здесь смотри на /etc/rpm/macros и %_install_langs -- в нём
можно через двоеточие перечислить, например, ru_RU:en_US.

Т.е. это давно уже реализовано, просто где-то в районе 4.0
решили, что диски в среднем достаточно объёмные, чтобы не
заморачиваться и не морочить пользователям голову; дело в
том, что для _изменения_ списка локалей "на местности"
требуется переустановка _всех_ пакетов, содержащих файлы
локализации, управляемые этим механизмом в rpm.  А если
резать на подпакеты -- тогда попадаем на комбинаторный
взрыв при рассмотрении и других пакетов помимо glibc.

На прошлой неделе попытался сделать набег в эту сторону
в m-p для stage2, пока не преуспел -- слишком поздно
содержимое модифицируется.  Кажется, проверял и с lib/,
только что-то следов той попытки теперь не найду.

Прилагаю заведомо нерабочий патч -- для архива.

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info

[-- Attachment #2: 0001-install2-handle-_install_langs.patch --]
[-- Type: text/x-patch, Size: 1217 bytes --]

>From 8e44d83773efd20c38298c28165b42ad27f200db Mon Sep 17 00:00:00 2001
From: Michael Shigorin <mike@altlinux.org>
Date: Thu, 17 Sep 2020 22:09:30 +0300
Subject: [PATCH] install2: handle %_install_langs

There's no sense to have locales that the user is unable
to even choose from: one can pass lang=ab_CD by hand but
alterator-{l10n,sysinfo} just won't learn it instantly.

NB: override "%_install_langs all" that might be there,
    both lines available result in all locales installed.
---
 .../install2/install2/scripts.d/50-install2-langs        | 9 +++++++++
 1 file changed, 9 insertions(+)
 create mode 100755 features.in/install2/install2/scripts.d/50-install2-langs

diff --git a/features.in/install2/install2/scripts.d/50-install2-langs b/features.in/install2/install2/scripts.d/50-install2-langs
new file mode 100755
index 000000000..72788dafc
--- /dev/null
+++ b/features.in/install2/install2/scripts.d/50-install2-langs
@@ -0,0 +1,9 @@
+#!/bin/sh
+# restrict available locales to languages
+# with available alterator translations
+# (listed as of alterator-l10n 2.9.74)
+
+mkdir -p "$WORKDIR"/etc/rpm
+cat > "$WORKDIR"/etc/rpm/macros << EOF
+%_install_langs de es kk pt_BR ru tt_RU uk
+EOF
-- 
2.25.4


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

* Re: [devel-distro] %_install_langs (was: история про use/stage2/kms и /use/firmware)
  2020-09-25 10:39   ` [devel-distro] %_install_langs (was: история про use/stage2/kms и /use/firmware) Michael Shigorin
@ 2020-09-25 11:05     ` Sergey V Turchin
  2020-09-25 11:26       ` Michael Shigorin
  0 siblings, 1 reply; 12+ messages in thread
From: Sergey V Turchin @ 2020-09-25 11:05 UTC (permalink / raw)
  To: Distributions development

On Friday, 25 September 2020 13:39:06 MSK Michael Shigorin wrote:

[...]
> Здесь смотри на /etc/rpm/macros и %_install_langs -- в нём
> можно через двоеточие перечислить, например, ru_RU:en_US.
en:ru
Можно и после установки вписать, а со временем место почистится.

[...]

-- 
Regards, Sergey.

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

* Re: [devel-distro] [SOLVED] история про use/stage2/kms и /use/firmware
  2020-09-21 15:37 [devel-distro] [SOLVED] история про use/stage2/kms и /use/firmware Michael Shigorin
  2020-09-22 19:53 ` Владимир Гусев
@ 2020-09-25 11:22 ` Konstantin Lepikhov
  2020-09-25 11:25   ` Michael Shigorin
  1 sibling, 1 reply; 12+ messages in thread
From: Konstantin Lepikhov @ 2020-09-25 11:22 UTC (permalink / raw)
  To: Distributions development

Hi Michael!

On 09/21/2020, at 06:37:04 PM you wrote:

<skip>
> И ещё где-то теперь не хватает зависимости на use/firmware,
> которая при этом тащит огромный firmware-linux (в идеале бы
> отпилить от него то, что нужно видеокартам, и тащить в инсталер
> только это).
Ничего не мешает _в_installer_ выполнить скрипт, который поудаляет все
ненужное в lib/firmware, чем перекладывать эту проблему на upstream
linux-firmware.

-- 
WBR et al.


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

* Re: [devel-distro] [SOLVED] история про use/stage2/kms и /use/firmware
  2020-09-25 11:22 ` [devel-distro] [SOLVED] история про use/stage2/kms и /use/firmware Konstantin Lepikhov
@ 2020-09-25 11:25   ` Michael Shigorin
  2020-09-28  8:11     ` Konstantin Lepikhov
  2020-10-20  9:28     ` Dmitry V. Levin
  0 siblings, 2 replies; 12+ messages in thread
From: Michael Shigorin @ 2020-09-25 11:25 UTC (permalink / raw)
  To: devel-distro

On Fri, Sep 25, 2020 at 01:22:33PM +0200, Konstantin Lepikhov wrote:
> > И ещё где-то теперь не хватает зависимости на use/firmware,
> > которая при этом тащит огромный firmware-linux (в идеале бы
> > отпилить от него то, что нужно видеокартам, и тащить в инсталер
> > только это).
> Ничего не мешает _в_installer_ выполнить скрипт, который
> поудаляет все ненужное в lib/firmware, чем перекладывать
> эту проблему на upstream linux-firmware.

Да проблема-то общая, сам посмотри на динамику роста размера пакета.

А скрипт в installer выполнять или поздно (для размера инсталера
и потребления им памяти), или незачем (для устанавливаемой
системы, в которую первое же обновление всё вернёт).

В любом разе спасибо, что отозвался :)

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


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

* Re: [devel-distro] %_install_langs (was: история про use/stage2/kms и /use/firmware)
  2020-09-25 11:05     ` Sergey V Turchin
@ 2020-09-25 11:26       ` Michael Shigorin
  0 siblings, 0 replies; 12+ messages in thread
From: Michael Shigorin @ 2020-09-25 11:26 UTC (permalink / raw)
  To: devel-distro

On Fri, Sep 25, 2020 at 02:05:58PM +0300, Sergey V Turchin wrote:
> > Здесь смотри на /etc/rpm/macros и %_install_langs -- в нём
> > можно через двоеточие перечислить, например, ru_RU:en_US.
> en:ru

Ага, спасибо.

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


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

* Re: [devel-distro] [SOLVED] история про use/stage2/kms и /use/firmware
  2020-09-25 11:25   ` Michael Shigorin
@ 2020-09-28  8:11     ` Konstantin Lepikhov
  2020-10-20  9:28     ` Dmitry V. Levin
  1 sibling, 0 replies; 12+ messages in thread
From: Konstantin Lepikhov @ 2020-09-28  8:11 UTC (permalink / raw)
  To: devel-distro

Hi Michael!

On 09/25/2020, at 02:25:52 PM you wrote:

> On Fri, Sep 25, 2020 at 01:22:33PM +0200, Konstantin Lepikhov wrote:
> > > И ещё где-то теперь не хватает зависимости на use/firmware,
> > > которая при этом тащит огромный firmware-linux (в идеале бы
> > > отпилить от него то, что нужно видеокартам, и тащить в инсталер
> > > только это).
> > Ничего не мешает _в_installer_ выполнить скрипт, который
> > поудаляет все ненужное в lib/firmware, чем перекладывать
> > эту проблему на upstream linux-firmware.
> 
> Да проблема-то общая, сам посмотри на динамику роста размера пакета.
Нет там особой динамики роста. И проблема тут частная, апстриму вообще
пофиг на размер, т.к. это всего лишь хранилище.

См. обсужение в -devel и мою оценку по размерам firmware.

> 
> А скрипт в installer выполнять или поздно (для размера инсталера
> и потребления им памяти), или незачем (для устанавливаемой
> системы, в которую первое же обновление всё вернёт).
Если решается проблема размера установочного образа (или live), то скрипт
как раз поможет, если размер firmware избыточен задаче. А обновление это
дело такое, я не вижу что этот пакет в p9 часто обновляется.

-- 
WBR et al.


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

* Re: [devel-distro] [SOLVED] история про use/stage2/kms и /use/firmware
  2020-09-25 11:25   ` Michael Shigorin
  2020-09-28  8:11     ` Konstantin Lepikhov
@ 2020-10-20  9:28     ` Dmitry V. Levin
  2020-10-20 10:13       ` Anton V. Boyarshinov
  1 sibling, 1 reply; 12+ messages in thread
From: Dmitry V. Levin @ 2020-10-20  9:28 UTC (permalink / raw)
  To: devel-distro

On Fri, Sep 25, 2020 at 02:25:52PM +0300, Michael Shigorin wrote:
> On Fri, Sep 25, 2020 at 01:22:33PM +0200, Konstantin Lepikhov wrote:
> > > И ещё где-то теперь не хватает зависимости на use/firmware,
> > > которая при этом тащит огромный firmware-linux (в идеале бы
> > > отпилить от него то, что нужно видеокартам, и тащить в инсталер
> > > только это).
> > Ничего не мешает _в_installer_ выполнить скрипт, который
> > поудаляет все ненужное в lib/firmware, чем перекладывать
> > эту проблему на upstream linux-firmware.
> 
> Да проблема-то общая, сам посмотри на динамику роста размера пакета.

FWIW, https://fedoraproject.org/wiki/Changes/CompressKernelFirmware


-- 
ldv


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

* Re: [devel-distro] [SOLVED] история про use/stage2/kms и /use/firmware
  2020-10-20  9:28     ` Dmitry V. Levin
@ 2020-10-20 10:13       ` Anton V. Boyarshinov
  2020-10-20 10:16         ` Dmitry V. Levin
  0 siblings, 1 reply; 12+ messages in thread
From: Anton V. Boyarshinov @ 2020-10-20 10:13 UTC (permalink / raw)
  To: Dmitry V. Levin; +Cc: Distributions development

В Tue, 20 Oct 2020 12:28:03 +0300
"Dmitry V. Levin" <ldv@altlinux.org> пишет:

> > > Ничего не мешает _в_installer_ выполнить скрипт, который
> > > поудаляет все ненужное в lib/firmware, чем перекладывать
> > > эту проблему на upstream linux-firmware.  
> > 
> > Да проблема-то общая, сам посмотри на динамику роста размера пакета.  
> 
> FWIW, https://fedoraproject.org/wiki/Changes/CompressKernelFirmware

Обсуждали, у нас на некоторых странных платформах до сих пор 4.4 и
неизвестно насколько ещё...


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

* Re: [devel-distro] [SOLVED] история про use/stage2/kms и /use/firmware
  2020-10-20 10:13       ` Anton V. Boyarshinov
@ 2020-10-20 10:16         ` Dmitry V. Levin
  2020-11-09  8:04           ` Michael Shigorin
  0 siblings, 1 reply; 12+ messages in thread
From: Dmitry V. Levin @ 2020-10-20 10:16 UTC (permalink / raw)
  To: Anton V. Boyarshinov; +Cc: Distributions development

On Tue, Oct 20, 2020 at 01:13:21PM +0300, Anton V. Boyarshinov wrote:
> В Tue, 20 Oct 2020 12:28:03 +0300 Dmitry V. Levin пишет:
> 
> > > > Ничего не мешает _в_installer_ выполнить скрипт, который
> > > > поудаляет все ненужное в lib/firmware, чем перекладывать
> > > > эту проблему на upstream linux-firmware.  
> > > 
> > > Да проблема-то общая, сам посмотри на динамику роста размера пакета.  
> > 
> > FWIW, https://fedoraproject.org/wiki/Changes/CompressKernelFirmware
> 
> Обсуждали, у нас на некоторых странных платформах до сих пор 4.4 и
> неизвестно насколько ещё...

Могу предположить, что для этих странных платформ Сизифный linux-firmware
не очень актуален, наверное.


-- 
ldv


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

* Re: [devel-distro] [SOLVED] история про use/stage2/kms и /use/firmware
  2020-10-20 10:16         ` Dmitry V. Levin
@ 2020-11-09  8:04           ` Michael Shigorin
  0 siblings, 0 replies; 12+ messages in thread
From: Michael Shigorin @ 2020-11-09  8:04 UTC (permalink / raw)
  To: devel-distro

On Tue, Oct 20, 2020 at 01:16:52PM +0300, Dmitry V. Levin wrote:
> > > > Да проблема-то общая, сам посмотри на динамику роста размера пакета.  
> > > FWIW, https://fedoraproject.org/wiki/Changes/CompressKernelFirmware
> > Обсуждали, у нас на некоторых странных платформах до сих пор 4.4 и
> > неизвестно насколько ещё...
> Могу предположить, что для этих странных платформ Сизифный
> linux-firmware не очень актуален, наверное.

Может, сжимать на архитектурах, где нет пакетов ядра < 5.3?

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


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

end of thread, other threads:[~2020-11-09  8:04 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-21 15:37 [devel-distro] [SOLVED] история про use/stage2/kms и /use/firmware Michael Shigorin
2020-09-22 19:53 ` Владимир Гусев
2020-09-25 10:39   ` [devel-distro] %_install_langs (was: история про use/stage2/kms и /use/firmware) Michael Shigorin
2020-09-25 11:05     ` Sergey V Turchin
2020-09-25 11:26       ` Michael Shigorin
2020-09-25 11:22 ` [devel-distro] [SOLVED] история про use/stage2/kms и /use/firmware Konstantin Lepikhov
2020-09-25 11:25   ` Michael Shigorin
2020-09-28  8:11     ` Konstantin Lepikhov
2020-10-20  9:28     ` Dmitry V. Levin
2020-10-20 10:13       ` Anton V. Boyarshinov
2020-10-20 10:16         ` Dmitry V. Levin
2020-11-09  8:04           ` Michael Shigorin

ALT Linux Distributions development

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel-distro/0 devel-distro/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 devel-distro devel-distro/ http://lore.altlinux.org/devel-distro \
		devel-distro@lists.altlinux.org devel-distro@lists.altlinux.ru devel-distro@lists.altlinux.com
	public-inbox-index devel-distro

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


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