Make-initrd development discussion
 help / color / mirror / Atom feed
* [make-initrd] Two words about initramfs size
@ 2021-06-03 16:17 Alexey Gladkov
  2021-06-04  7:46 ` Konstantin Lepikhov
  0 siblings, 1 reply; 10+ messages in thread
From: Alexey Gladkov @ 2021-06-03 16:17 UTC (permalink / raw)
  To: make-initrd

Привет!

Я попробовал посмотреть на самые тяжёлые компоненты, которые попадают в
initramfs. Я сделал initramfs для системы с корнем на разделе. Так что
никаких дополнительных фичей не нужно для такой системы.

$ find initramfs/ -type f -printf '%s\t%p\n' |sort -k1,1 -g |tail -20
237896  initramfs/lib64/ld-2.32.so
280896  initramfs/lib64/libpcre.so.3.15.12
308856  initramfs/lib64/libreadline.so.7.0
321792  initramfs/lib/firmware/i915/tgl_guc_49.0.1.bin
324160  initramfs/lib/firmware/i915/ehl_guc_49.0.1.bin
324160  initramfs/lib/firmware/i915/icl_guc_49.0.1.bin
324560  initramfs/lib64/libblkid.so.1.1.0
329596  initramfs/lib/modules/5.12.0/kernel/drivers/gpu/drm/drm.ko.xz
383088  initramfs/lib64/libmount.so.1.1.0
433276  initramfs/lib/modules/5.12.0/kernel/net/ipv6/ipv6.ko.xz
498880  initramfs/lib/firmware/i915/ehl_huc_9.0.0.bin
498880  initramfs/lib/firmware/i915/icl_huc_9.0.0.bin
542912  initramfs/bin/busybox
580736  initramfs/lib/firmware/i915/tgl_huc_7.5.0.bin
644952  initramfs/bin/sh4
766656  initramfs/bin/bash4
1061928 initramfs/sbin/udevadm
1780956 initramfs/lib/modules/5.12.0/kernel/drivers/gpu/drm/i915/i915.ko.xz
1851568 initramfs/lib64/libc-2.32.so
2971824 initramfs/lib64/libcrypto.so.1.1

Тут видно сразу несколько проблем в контексте размера.

* guess-drm положил i915 модуль, который является очень тяжёлым и тянет за
  собой много жирных firmware.

* В образ попали sh4 и bash4. Это произошло из-за того, что на этой
  системе /bin/sh -> sh4.

* В образ пролез openssl.

$ for f in initramfs{,/usr}/{,s}bin/*; do ldd "$f" 2>/dev/null |grep -Fqs lib64/libcrypto.so && echo $f; done
initramfs/bin/kmod
initramfs/sbin/depmod
initramfs/sbin/lsmod
initramfs/sbin/modprobe
initramfs/sbin/udevadm
initramfs/sbin/udevd

-- 
Rgrds, legion



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

* Re: [make-initrd] Two words about initramfs size
  2021-06-03 16:17 [make-initrd] Two words about initramfs size Alexey Gladkov
@ 2021-06-04  7:46 ` Konstantin Lepikhov
  2021-06-04  8:15   ` Alexey Gladkov
  0 siblings, 1 reply; 10+ messages in thread
From: Konstantin Lepikhov @ 2021-06-04  7:46 UTC (permalink / raw)
  To: make-initrd

Hi Alexey!

On 06/03/2021, at 06:17:17 PM you wrote:

> Привет!
> 
> Я попробовал посмотреть на самые тяжёлые компоненты, которые попадают в
> initramfs. Я сделал initramfs для системы с корнем на разделе. Так что
> никаких дополнительных фичей не нужно для такой системы.
> 
> $ find initramfs/ -type f -printf '%s\t%p\n' |sort -k1,1 -g |tail -20
> 237896  initramfs/lib64/ld-2.32.so
> 280896  initramfs/lib64/libpcre.so.3.15.12
> 308856  initramfs/lib64/libreadline.so.7.0
> 321792  initramfs/lib/firmware/i915/tgl_guc_49.0.1.bin
> 324160  initramfs/lib/firmware/i915/ehl_guc_49.0.1.bin
> 324160  initramfs/lib/firmware/i915/icl_guc_49.0.1.bin
> 324560  initramfs/lib64/libblkid.so.1.1.0
> 329596  initramfs/lib/modules/5.12.0/kernel/drivers/gpu/drm/drm.ko.xz
> 383088  initramfs/lib64/libmount.so.1.1.0
> 433276  initramfs/lib/modules/5.12.0/kernel/net/ipv6/ipv6.ko.xz
> 498880  initramfs/lib/firmware/i915/ehl_huc_9.0.0.bin
> 498880  initramfs/lib/firmware/i915/icl_huc_9.0.0.bin
> 542912  initramfs/bin/busybox
> 580736  initramfs/lib/firmware/i915/tgl_huc_7.5.0.bin
> 644952  initramfs/bin/sh4
> 766656  initramfs/bin/bash4
> 1061928 initramfs/sbin/udevadm
> 1780956 initramfs/lib/modules/5.12.0/kernel/drivers/gpu/drm/i915/i915.ko.xz
> 1851568 initramfs/lib64/libc-2.32.so
> 2971824 initramfs/lib64/libcrypto.so.1.1
> 
> Тут видно сразу несколько проблем в контексте размера.
> 
> * guess-drm положил i915 модуль, который является очень тяжёлым и тянет за
>   собой много жирных firmware.
> 
А нужен ли guess-drm на стадии initramfs? Если это для KMS то модули можно
загрузить и после монтирования rootfs.

-- 
WBR et al.


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

* Re: [make-initrd] Two words about initramfs size
  2021-06-04  7:46 ` Konstantin Lepikhov
@ 2021-06-04  8:15   ` Alexey Gladkov
  2021-06-04  8:27     ` Konstantin Lepikhov
  0 siblings, 1 reply; 10+ messages in thread
From: Alexey Gladkov @ 2021-06-04  8:15 UTC (permalink / raw)
  To: make-initrd

On Fri, Jun 04, 2021 at 09:46:12AM +0200, Konstantin Lepikhov wrote:
> Hi Alexey!
> 
> On 06/03/2021, at 06:17:17 PM you wrote:
> 
> > Привет!
> > 
> > Я попробовал посмотреть на самые тяжёлые компоненты, которые попадают в
> > initramfs. Я сделал initramfs для системы с корнем на разделе. Так что
> > никаких дополнительных фичей не нужно для такой системы.
> > 
> > $ find initramfs/ -type f -printf '%s\t%p\n' |sort -k1,1 -g |tail -20
> > 237896  initramfs/lib64/ld-2.32.so
> > 280896  initramfs/lib64/libpcre.so.3.15.12
> > 308856  initramfs/lib64/libreadline.so.7.0
> > 321792  initramfs/lib/firmware/i915/tgl_guc_49.0.1.bin
> > 324160  initramfs/lib/firmware/i915/ehl_guc_49.0.1.bin
> > 324160  initramfs/lib/firmware/i915/icl_guc_49.0.1.bin
> > 324560  initramfs/lib64/libblkid.so.1.1.0
> > 329596  initramfs/lib/modules/5.12.0/kernel/drivers/gpu/drm/drm.ko.xz
> > 383088  initramfs/lib64/libmount.so.1.1.0
> > 433276  initramfs/lib/modules/5.12.0/kernel/net/ipv6/ipv6.ko.xz
> > 498880  initramfs/lib/firmware/i915/ehl_huc_9.0.0.bin
> > 498880  initramfs/lib/firmware/i915/icl_huc_9.0.0.bin
> > 542912  initramfs/bin/busybox
> > 580736  initramfs/lib/firmware/i915/tgl_huc_7.5.0.bin
> > 644952  initramfs/bin/sh4
> > 766656  initramfs/bin/bash4
> > 1061928 initramfs/sbin/udevadm
> > 1780956 initramfs/lib/modules/5.12.0/kernel/drivers/gpu/drm/i915/i915.ko.xz
> > 1851568 initramfs/lib64/libc-2.32.so
> > 2971824 initramfs/lib64/libcrypto.so.1.1
> > 
> > Тут видно сразу несколько проблем в контексте размера.
> > 
> > * guess-drm положил i915 модуль, который является очень тяжёлым и тянет за
> >   собой много жирных firmware.
> > 
> А нужен ли guess-drm на стадии initramfs? Если это для KMS то модули можно
> загрузить и после монтирования rootfs.

Насколько я помню drm нужен для plymouth. Раньше в последнем было
добавление drivers/gpu/drm/, drm, drm_kms_helper, что было криво.

Похоже нужно переделать guess-drm в фичу и просить её только из тех мест,
где drm нужен.

-- 
Rgrds, legion



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

* Re: [make-initrd] Two words about initramfs size
  2021-06-04  8:15   ` Alexey Gladkov
@ 2021-06-04  8:27     ` Konstantin Lepikhov
  2021-06-04  8:44       ` Alexey Gladkov
  0 siblings, 1 reply; 10+ messages in thread
From: Konstantin Lepikhov @ 2021-06-04  8:27 UTC (permalink / raw)
  To: make-initrd

Hi Alexey!

On 06/04/2021, at 10:15:13 AM you wrote:

<skip>
> > > * guess-drm положил i915 модуль, который является очень тяжёлым и тянет за
> > >   собой много жирных firmware.
> > > 
> > А нужен ли guess-drm на стадии initramfs? Если это для KMS то модули можно
> > загрузить и после монтирования rootfs.
> 
> Насколько я помню drm нужен для plymouth. Раньше в последнем было
> добавление drivers/gpu/drm/, drm, drm_kms_helper, что было криво.
> 
> Похоже нужно переделать guess-drm в фичу и просить её только из тех мест,
> где drm нужен.
да, так будет правильно. В контексте i915 - *_guc и *_huc firmware нужны
для декодирования видео, т.е. их отсутствие не должно влиять на работу
KMS.

-- 
WBR et al.


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

* Re: [make-initrd] Two words about initramfs size
  2021-06-04  8:27     ` Konstantin Lepikhov
@ 2021-06-04  8:44       ` Alexey Gladkov
  2021-06-04 12:21         ` Konstantin Lepikhov
  0 siblings, 1 reply; 10+ messages in thread
From: Alexey Gladkov @ 2021-06-04  8:44 UTC (permalink / raw)
  To: make-initrd

On Fri, Jun 04, 2021 at 10:27:50AM +0200, Konstantin Lepikhov wrote:
> Hi Alexey!
> 
> On 06/04/2021, at 10:15:13 AM you wrote:
> 
> <skip>
> > > > * guess-drm положил i915 модуль, который является очень тяжёлым и тянет за
> > > >   собой много жирных firmware.
> > > > 
> > > А нужен ли guess-drm на стадии initramfs? Если это для KMS то модули можно
> > > загрузить и после монтирования rootfs.
> > 
> > Насколько я помню drm нужен для plymouth. Раньше в последнем было
> > добавление drivers/gpu/drm/, drm, drm_kms_helper, что было криво.
> > 
> > Похоже нужно переделать guess-drm в фичу и просить её только из тех мест,
> > где drm нужен.
> да, так будет правильно. В контексте i915 - *_guc и *_huc firmware нужны
> для декодирования видео, т.е. их отсутствие не должно влиять на работу
> KMS.

Я тоже думал, а нельзя ли понять какая именно firmware нужна. Но я ещё не
дошёл до такого уровня дзена )) 

-- 
Rgrds, legion



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

* Re: [make-initrd] Two words about initramfs size
  2021-06-04  8:44       ` Alexey Gladkov
@ 2021-06-04 12:21         ` Konstantin Lepikhov
  2021-06-04 12:44           ` Alexey Gladkov
  2021-06-04 13:54           ` Alexey Gladkov
  0 siblings, 2 replies; 10+ messages in thread
From: Konstantin Lepikhov @ 2021-06-04 12:21 UTC (permalink / raw)
  To: make-initrd

Hi Alexey!

On 06/04/2021, at 10:44:52 AM you wrote:

> On Fri, Jun 04, 2021 at 10:27:50AM +0200, Konstantin Lepikhov wrote:
> > Hi Alexey!
> > 
> > On 06/04/2021, at 10:15:13 AM you wrote:
> > 
> > <skip>
> > > > > * guess-drm положил i915 модуль, который является очень тяжёлым и тянет за
> > > > >   собой много жирных firmware.
> > > > > 
> > > > А нужен ли guess-drm на стадии initramfs? Если это для KMS то модули можно
> > > > загрузить и после монтирования rootfs.
> > > 
> > > Насколько я помню drm нужен для plymouth. Раньше в последнем было
> > > добавление drivers/gpu/drm/, drm, drm_kms_helper, что было криво.
> > > 
> > > Похоже нужно переделать guess-drm в фичу и просить её только из тех мест,
> > > где drm нужен.
> > да, так будет правильно. В контексте i915 - *_guc и *_huc firmware нужны
> > для декодирования видео, т.е. их отсутствие не должно влиять на работу
> > KMS.
> 
> Я тоже думал, а нельзя ли понять какая именно firmware нужна. Но я ещё не
> дошёл до такого уровня дзена )) 
Еще одна потенциальная проблема запихивания drm/gpu модулей в initramfs -
в случае обновления kernel-modules (например, nvidia) эти модули не будут
обновлены в initramfs и при перезагрузке мы получим отсутствие 3d и вообще
невозможность использования графического режима. Так что я за отключение
этих guess drm по-умолчанию, или хотя бы сделать какой-нибудь blacklist
для них.

-- 
WBR et al.


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

* Re: [make-initrd] Two words about initramfs size
  2021-06-04 12:21         ` Konstantin Lepikhov
@ 2021-06-04 12:44           ` Alexey Gladkov
  2021-06-04 13:54           ` Alexey Gladkov
  1 sibling, 0 replies; 10+ messages in thread
From: Alexey Gladkov @ 2021-06-04 12:44 UTC (permalink / raw)
  To: make-initrd

On Fri, Jun 04, 2021 at 02:21:25PM +0200, Konstantin Lepikhov wrote:
> > > да, так будет правильно. В контексте i915 - *_guc и *_huc firmware нужны
> > > для декодирования видео, т.е. их отсутствие не должно влиять на работу
> > > KMS.
> > 
> > Я тоже думал, а нельзя ли понять какая именно firmware нужна. Но я ещё не
> > дошёл до такого уровня дзена )) 
> Еще одна потенциальная проблема запихивания drm/gpu модулей в initramfs -
> в случае обновления kernel-modules (например, nvidia) эти модули не будут
> обновлены в initramfs и при перезагрузке мы получим отсутствие 3d и вообще
> невозможность использования графического режима. Так что я за отключение
> этих guess drm по-умолчанию, или хотя бы сделать какой-нибудь blacklist
> для них.

Выключить можно и сейчас. А озвученная проблема актуальна не только для
gpu/drm. Поэтому дистрибутив должен своевременно перегенерировать образ
initramfs.

-- 
Rgrds, legion



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

* Re: [make-initrd] Two words about initramfs size
  2021-06-04 12:21         ` Konstantin Lepikhov
  2021-06-04 12:44           ` Alexey Gladkov
@ 2021-06-04 13:54           ` Alexey Gladkov
  2021-06-04 15:21             ` Konstantin Lepikhov
  1 sibling, 1 reply; 10+ messages in thread
From: Alexey Gladkov @ 2021-06-04 13:54 UTC (permalink / raw)
  To: make-initrd

On Fri, Jun 04, 2021 at 02:21:25PM +0200, Konstantin Lepikhov wrote:
> Hi Alexey!
> 
> On 06/04/2021, at 10:44:52 AM you wrote:
> 
> > On Fri, Jun 04, 2021 at 10:27:50AM +0200, Konstantin Lepikhov wrote:
> > > Hi Alexey!
> > > 
> > > On 06/04/2021, at 10:15:13 AM you wrote:
> > > 
> > > <skip>
> > > > > > * guess-drm положил i915 модуль, который является очень тяжёлым и тянет за
> > > > > >   собой много жирных firmware.
> > > > > > 
> > > > > А нужен ли guess-drm на стадии initramfs? Если это для KMS то модули можно
> > > > > загрузить и после монтирования rootfs.
> > > > 
> > > > Насколько я помню drm нужен для plymouth. Раньше в последнем было
> > > > добавление drivers/gpu/drm/, drm, drm_kms_helper, что было криво.
> > > > 
> > > > Похоже нужно переделать guess-drm в фичу и просить её только из тех мест,
> > > > где drm нужен.
> > > да, так будет правильно. В контексте i915 - *_guc и *_huc firmware нужны
> > > для декодирования видео, т.е. их отсутствие не должно влиять на работу
> > > KMS.
> > 
> > Я тоже думал, а нельзя ли понять какая именно firmware нужна. Но я ещё не
> > дошёл до такого уровня дзена )) 
> Еще одна потенциальная проблема запихивания drm/gpu модулей в initramfs -
> в случае обновления kernel-modules (например, nvidia) эти модули не будут
> обновлены в initramfs и при перезагрузке мы получим отсутствие 3d и вообще
> невозможность использования графического режима. Так что я за отключение
> этих guess drm по-умолчанию, или хотя бы сделать какой-нибудь blacklist
> для них.

Я, кстати, хотел заинтересованным напомнить про активную по умолчанию фичу
buildinfo. Она создаёт /var/lib/initrd/$(KERNEL).$(IMAGE_SUFFIX)/files, в
котором список того, что попадает в образ.

При обновлении чего-то из этого списка нужно перегенерировать образ.

-- 
Rgrds, legion



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

* Re: [make-initrd] Two words about initramfs size
  2021-06-04 13:54           ` Alexey Gladkov
@ 2021-06-04 15:21             ` Konstantin Lepikhov
  2021-06-04 15:43               ` Alexey Gladkov
  0 siblings, 1 reply; 10+ messages in thread
From: Konstantin Lepikhov @ 2021-06-04 15:21 UTC (permalink / raw)
  To: make-initrd

Hi Alexey!

On 06/04/2021, at 03:54:10 PM you wrote:

<skip>
> > Еще одна потенциальная проблема запихивания drm/gpu модулей в initramfs -
> > в случае обновления kernel-modules (например, nvidia) эти модули не будут
> > обновлены в initramfs и при перезагрузке мы получим отсутствие 3d и вообще
> > невозможность использования графического режима. Так что я за отключение
> > этих guess drm по-умолчанию, или хотя бы сделать какой-нибудь blacklist
> > для них.
> 
> Я, кстати, хотел заинтересованным напомнить про активную по умолчанию фичу
> buildinfo. Она создаёт /var/lib/initrd/$(KERNEL).$(IMAGE_SUFFIX)/files, в
> котором список того, что попадает в образ.
> 
> При обновлении чего-то из этого списка нужно перегенерировать образ.
т.е. ты имеешь ввиду что стоит сделать filetrigger для rpm?

-- 
WBR et al.


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

* Re: [make-initrd] Two words about initramfs size
  2021-06-04 15:21             ` Konstantin Lepikhov
@ 2021-06-04 15:43               ` Alexey Gladkov
  0 siblings, 0 replies; 10+ messages in thread
From: Alexey Gladkov @ 2021-06-04 15:43 UTC (permalink / raw)
  To: make-initrd

On Fri, Jun 04, 2021 at 05:21:18PM +0200, Konstantin Lepikhov wrote:
> Hi Alexey!
> 
> On 06/04/2021, at 03:54:10 PM you wrote:
> 
> <skip>
> > > Еще одна потенциальная проблема запихивания drm/gpu модулей в initramfs -
> > > в случае обновления kernel-modules (например, nvidia) эти модули не будут
> > > обновлены в initramfs и при перезагрузке мы получим отсутствие 3d и вообще
> > > невозможность использования графического режима. Так что я за отключение
> > > этих guess drm по-умолчанию, или хотя бы сделать какой-нибудь blacklist
> > > для них.
> > 
> > Я, кстати, хотел заинтересованным напомнить про активную по умолчанию фичу
> > buildinfo. Она создаёт /var/lib/initrd/$(KERNEL).$(IMAGE_SUFFIX)/files, в
> > котором список того, что попадает в образ.
> > 
> > При обновлении чего-то из этого списка нужно перегенерировать образ.
> т.е. ты имеешь ввиду что стоит сделать filetrigger для rpm?

Я его для этого и делал.

-- 
Rgrds, legion



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

end of thread, other threads:[~2021-06-04 15:43 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-03 16:17 [make-initrd] Two words about initramfs size Alexey Gladkov
2021-06-04  7:46 ` Konstantin Lepikhov
2021-06-04  8:15   ` Alexey Gladkov
2021-06-04  8:27     ` Konstantin Lepikhov
2021-06-04  8:44       ` Alexey Gladkov
2021-06-04 12:21         ` Konstantin Lepikhov
2021-06-04 12:44           ` Alexey Gladkov
2021-06-04 13:54           ` Alexey Gladkov
2021-06-04 15:21             ` Konstantin Lepikhov
2021-06-04 15:43               ` Alexey Gladkov

Make-initrd development discussion

This inbox may be cloned and mirrored by anyone:

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

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


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