* [meta-ti][PATCH 0/1 v2] Add recipes to build initramfs image
@ 2025-09-04 12:43 Moteen Shah
2025-09-04 12:43 ` [meta-ti][PATCH 1/1 v2] recipes-ti: initramfs: Make minimal initrd image Moteen Shah
2025-09-04 12:45 ` [meta-ti][PATCH 0/1 v2] Add recipes to build initramfs image PRC Automation
0 siblings, 2 replies; 11+ messages in thread
From: Moteen Shah @ 2025-09-04 12:43 UTC (permalink / raw)
To: meta-arago
Cc: vigneshr, u-kumar1, linux-patch-review, reatmon, a-limaye,
n-francis, m-shah, praneeth, jm
The patch aims to add a new recipe which will package
boot essential and some other modules in image which
can later be used in the boot process of all K3 platforms.
The motivation behind the work is to probe modules(in boot time)
which could not be built in the upstream Linux kernel image, as
using it as inbuilt drivers will increase the kernel image size,
which is undesirable by the upstream folks.
Hence, build those drivers as modules and package it inside initramfs
and later get it probed through initramfs-udev(device manager).
Changes since v1:
- Migrate the recipe to meta-ti so that it can be used in upstream
testing
Link to V1: https://lists.yoctoproject.org/g/meta-arago/message/16515
Moteen Shah (1):
recipes-ti: initramfs: Make minimal initrd image
.../initramfs/packagegroup-ti-initramfs.bb | 5 ++
.../recipes-ti/initramfs/ti-tiny-initramfs.bb | 49 +++++++++++++++++++
2 files changed, 54 insertions(+)
create mode 100644 meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
create mode 100644 meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
--
2.34.1
^ permalink raw reply [flat|nested] 11+ messages in thread
* [meta-ti][PATCH 1/1 v2] recipes-ti: initramfs: Make minimal initrd image
2025-09-04 12:43 [meta-ti][PATCH 0/1 v2] Add recipes to build initramfs image Moteen Shah
@ 2025-09-04 12:43 ` Moteen Shah
2025-09-05 5:52 ` Anshul Dalal
2025-09-09 14:56 ` Bryan Brattlof
2025-09-04 12:45 ` [meta-ti][PATCH 0/1 v2] Add recipes to build initramfs image PRC Automation
1 sibling, 2 replies; 11+ messages in thread
From: Moteen Shah @ 2025-09-04 12:43 UTC (permalink / raw)
To: meta-arago
Cc: vigneshr, u-kumar1, linux-patch-review, reatmon, a-limaye,
n-francis, m-shah, praneeth, jm
Add recipes to make initramfs image based on systemd.
The image will package boot essential and other modules
which will be modprobed by initramfs udev once the inbuilt
drivers gets probed.
Signed-off-by: Moteen Shah <m-shah@ti.com>
---
.../initramfs/packagegroup-ti-initramfs.bb | 5 ++
.../recipes-ti/initramfs/ti-tiny-initramfs.bb | 49 +++++++++++++++++++
2 files changed, 54 insertions(+)
create mode 100644 meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
create mode 100644 meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
diff --git a/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
new file mode 100644
index 00000000..5d2ff390
--- /dev/null
+++ b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
@@ -0,0 +1,5 @@
+SUMMARY = "Minimal initramfs for boot requirements"
+
+require recipes-core/packagegroups/packagegroup-core-boot.bb
+
+RDEPENDS:${PN}:remove = "grub-efi kernel"
diff --git a/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
new file mode 100644
index 00000000..4cebf595
--- /dev/null
+++ b/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
@@ -0,0 +1,49 @@
+SUMMARY = "TI SDK super minimal base image for initramfs"
+
+DESCRIPTION = "Image meant for basic boot of linux kernel. Intended as\
+ bare system, this image does not package the kernel in the\
+ standard /boot folder in rootfs. Instead, it provides a base\
+ rootfs allowing kernel to be deployed elsewhere\
+ (tftp/separate boot partition/jtag log etc..) and boot\
+ the image.\
+"
+
+LICENSE = "MIT"
+
+inherit core-image
+
+IMAGE_FEATURES:remove = "package-management"
+
+INITRAMFS_FSTYPES = "cpio cpio.xz"
+
+#INITRAMFS_MAXSIZE = "65536"
+#IMAGE_OVERHEAD_FACTOR = "1"
+
+IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
+
+INITRAMFS_SCRIPTS ?= "initramfs-framework-base initramfs-module-udev initramfs-module-nfsrootfs"
+
+MODULES = "\
+ kernel-module-cdns-pltfrm \
+ kernel-module-ti-j721e-ufs \
+ kernel-module-tps6594-i2c \
+"
+
+UTILS = "\
+ cifs-utils \
+ nfs-utils \
+ nfs-utils-client \
+"
+
+PACKAGE_INSTALL = "${INITRAMFS_SCRIPTS} ${UTILS} ${MODULES} packagegroup-ti-initramfs "
+
+export IMAGE_BASENAME = "ti-tiny-initramfs"
+
+# To further reduce the size of the rootfs, remove the /boot directory from
+# the final image this is usually done by adding RDEPENDS_kernel-base = ""
+# in the configuration file. In our case we can't use this method. Instead we
+# just wipe out the content of "/boot" before creating the image.
+ROOTFS_POSTPROCESS_COMMAND += "empty_boot_dir; "
+empty_boot_dir () {
+ rm -rf ${IMAGE_ROOTFS}/boot/*
+}
--
2.34.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [meta-ti][PATCH 0/1 v2] Add recipes to build initramfs image
2025-09-04 12:43 [meta-ti][PATCH 0/1 v2] Add recipes to build initramfs image Moteen Shah
2025-09-04 12:43 ` [meta-ti][PATCH 1/1 v2] recipes-ti: initramfs: Make minimal initrd image Moteen Shah
@ 2025-09-04 12:45 ` PRC Automation
1 sibling, 0 replies; 11+ messages in thread
From: PRC Automation @ 2025-09-04 12:45 UTC (permalink / raw)
To: Moteen Shah
Cc: meta-arago, vigneshr, u-kumar1, linux-patch-review, reatmon,
a-limaye, n-francis, praneeth, jm
meta-arago / na / 20250904124331.1075343-1-m-shah
PRC Results: FAIL
=========================================================
check-yocto-patches: FAIL
=========================================================
Patches
----------------------------------------
FAIL - [meta-ti][PATCH 0/1 v2] Add recipes to build initramfs image
WARN: Missing branches specifier [master/scarthgap/XXXXX]. (META-2)
patch:44
Subject: [meta-ti][PATCH 0/1 v2] Add recipes to build initramfs image
ERROR: Missing Signed-off-by in commit message. (SIGNED-OFF-BY-1)
patch
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [meta-ti][PATCH 1/1 v2] recipes-ti: initramfs: Make minimal initrd image
2025-09-04 12:43 ` [meta-ti][PATCH 1/1 v2] recipes-ti: initramfs: Make minimal initrd image Moteen Shah
@ 2025-09-05 5:52 ` Anshul Dalal
2025-09-09 14:56 ` Bryan Brattlof
1 sibling, 0 replies; 11+ messages in thread
From: Anshul Dalal @ 2025-09-05 5:52 UTC (permalink / raw)
To: Moteen Shah, meta-arago
Cc: vigneshr, u-kumar1, linux-patch-review, reatmon, a-limaye,
n-francis, praneeth, jm
Hi Moteen,
On Thu Sep 4, 2025 at 6:13 PM IST, Moteen Shah wrote:
> Add recipes to make initramfs image based on systemd.
> The image will package boot essential and other modules
> which will be modprobed by initramfs udev once the inbuilt
> drivers gets probed.
>
> Signed-off-by: Moteen Shah <m-shah@ti.com>
> ---
> .../initramfs/packagegroup-ti-initramfs.bb | 5 ++
> .../recipes-ti/initramfs/ti-tiny-initramfs.bb | 49 +++++++++++++++++++
> 2 files changed, 54 insertions(+)
> create mode 100644 meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
> create mode 100644 meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
>
> diff --git a/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
> new file mode 100644
> index 00000000..5d2ff390
> --- /dev/null
> +++ b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
> @@ -0,0 +1,5 @@
> +SUMMARY = "Minimal initramfs for boot requirements"
> +
> +require recipes-core/packagegroups/packagegroup-core-boot.bb
> +
> +RDEPENDS:${PN}:remove = "grub-efi kernel"
> diff --git a/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
> new file mode 100644
> index 00000000..4cebf595
> --- /dev/null
> +++ b/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
> @@ -0,0 +1,49 @@
> +SUMMARY = "TI SDK super minimal base image for initramfs"
> +
> +DESCRIPTION = "Image meant for basic boot of linux kernel. Intended as\
> + bare system, this image does not package the kernel in the\
> + standard /boot folder in rootfs. Instead, it provides a base\
> + rootfs allowing kernel to be deployed elsewhere\
> + (tftp/separate boot partition/jtag log etc..) and boot\
> + the image.\
> +"
> +
> +LICENSE = "MIT"
> +
> +inherit core-image
> +
> +IMAGE_FEATURES:remove = "package-management"
> +
> +INITRAMFS_FSTYPES = "cpio cpio.xz"
> +
> +#INITRAMFS_MAXSIZE = "65536"
> +#IMAGE_OVERHEAD_FACTOR = "1"
> +
Why are these two commented out?
Regards,
Anshul
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [meta-ti][PATCH 1/1 v2] recipes-ti: initramfs: Make minimal initrd image
2025-09-04 12:43 ` [meta-ti][PATCH 1/1 v2] recipes-ti: initramfs: Make minimal initrd image Moteen Shah
2025-09-05 5:52 ` Anshul Dalal
@ 2025-09-09 14:56 ` Bryan Brattlof
2025-09-09 20:30 ` [meta-arago] " Randolph Sapp
1 sibling, 1 reply; 11+ messages in thread
From: Bryan Brattlof @ 2025-09-09 14:56 UTC (permalink / raw)
To: Moteen Shah
Cc: meta-arago, vigneshr, u-kumar1, linux-patch-review, reatmon,
a-limaye, n-francis, praneeth, jm
On September 4, 2025 thus sayeth Moteen Shah:
> Add recipes to make initramfs image based on systemd.
> The image will package boot essential and other modules
> which will be modprobed by initramfs udev once the inbuilt
> drivers gets probed.
>
> Signed-off-by: Moteen Shah <m-shah@ti.com>
> ---
> .../initramfs/packagegroup-ti-initramfs.bb | 5 ++
> .../recipes-ti/initramfs/ti-tiny-initramfs.bb | 49 +++++++++++++++++++
> 2 files changed, 54 insertions(+)
> create mode 100644 meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
> create mode 100644 meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
>
> diff --git a/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
> new file mode 100644
> index 00000000..5d2ff390
> --- /dev/null
> +++ b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
> @@ -0,0 +1,5 @@
> +SUMMARY = "Minimal initramfs for boot requirements"
> +
> +require recipes-core/packagegroups/packagegroup-core-boot.bb
> +
> +RDEPENDS:${PN}:remove = "grub-efi kernel"
> diff --git a/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
> new file mode 100644
> index 00000000..4cebf595
> --- /dev/null
> +++ b/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
> @@ -0,0 +1,49 @@
> +SUMMARY = "TI SDK super minimal base image for initramfs"
> +
> +DESCRIPTION = "Image meant for basic boot of linux kernel. Intended as\
> + bare system, this image does not package the kernel in the\
> + standard /boot folder in rootfs. Instead, it provides a base\
> + rootfs allowing kernel to be deployed elsewhere\
> + (tftp/separate boot partition/jtag log etc..) and boot\
> + the image.\
> +"
> +
> +LICENSE = "MIT"
> +
> +inherit core-image
> +
> +IMAGE_FEATURES:remove = "package-management"
> +
> +INITRAMFS_FSTYPES = "cpio cpio.xz"
> +
> +#INITRAMFS_MAXSIZE = "65536"
> +#IMAGE_OVERHEAD_FACTOR = "1"
> +
> +IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
> +
> +INITRAMFS_SCRIPTS ?= "initramfs-framework-base initramfs-module-udev initramfs-module-nfsrootfs"
> +
> +MODULES = "\
> + kernel-module-cdns-pltfrm \
> + kernel-module-ti-j721e-ufs \
> + kernel-module-tps6594-i2c \
> +"
Are these all the modules we'll need? Is everything else build-in the
default defconfig? or are we expecting this list to expand as more
platforms start migrating to this?
~Bryan
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [meta-arago] [meta-ti][PATCH 1/1 v2] recipes-ti: initramfs: Make minimal initrd image
2025-09-09 14:56 ` Bryan Brattlof
@ 2025-09-09 20:30 ` Randolph Sapp
2025-09-10 11:48 ` Bryan Brattlof
0 siblings, 1 reply; 11+ messages in thread
From: Randolph Sapp @ 2025-09-09 20:30 UTC (permalink / raw)
To: bb, Moteen Shah
Cc: meta-arago, vigneshr, u-kumar1, linux-patch-review, reatmon,
a-limaye, n-francis, praneeth, jm
On Tue Sep 9, 2025 at 9:56 AM CDT, Bryan Brattlof via lists.yoctoproject.org wrote:
> On September 4, 2025 thus sayeth Moteen Shah:
>> Add recipes to make initramfs image based on systemd.
>> The image will package boot essential and other modules
>> which will be modprobed by initramfs udev once the inbuilt
>> drivers gets probed.
>>
>> Signed-off-by: Moteen Shah <m-shah@ti.com>
>> ---
>> .../initramfs/packagegroup-ti-initramfs.bb | 5 ++
>> .../recipes-ti/initramfs/ti-tiny-initramfs.bb | 49 +++++++++++++++++++
>> 2 files changed, 54 insertions(+)
>> create mode 100644 meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
>> create mode 100644 meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
>>
>> diff --git a/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
>> new file mode 100644
>> index 00000000..5d2ff390
>> --- /dev/null
>> +++ b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
>> @@ -0,0 +1,5 @@
>> +SUMMARY = "Minimal initramfs for boot requirements"
>> +
>> +require recipes-core/packagegroups/packagegroup-core-boot.bb
>> +
>> +RDEPENDS:${PN}:remove = "grub-efi kernel"
>> diff --git a/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
>> new file mode 100644
>> index 00000000..4cebf595
>> --- /dev/null
>> +++ b/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
>> @@ -0,0 +1,49 @@
>> +SUMMARY = "TI SDK super minimal base image for initramfs"
>> +
>> +DESCRIPTION = "Image meant for basic boot of linux kernel. Intended as\
>> + bare system, this image does not package the kernel in the\
>> + standard /boot folder in rootfs. Instead, it provides a base\
>> + rootfs allowing kernel to be deployed elsewhere\
>> + (tftp/separate boot partition/jtag log etc..) and boot\
>> + the image.\
>> +"
>> +
>> +LICENSE = "MIT"
>> +
>> +inherit core-image
>> +
>> +IMAGE_FEATURES:remove = "package-management"
>> +
>> +INITRAMFS_FSTYPES = "cpio cpio.xz"
>> +
>> +#INITRAMFS_MAXSIZE = "65536"
>> +#IMAGE_OVERHEAD_FACTOR = "1"
>> +
>> +IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
>> +
>> +INITRAMFS_SCRIPTS ?= "initramfs-framework-base initramfs-module-udev initramfs-module-nfsrootfs"
>> +
>> +MODULES = "\
>> + kernel-module-cdns-pltfrm \
>> + kernel-module-ti-j721e-ufs \
>> + kernel-module-tps6594-i2c \
>> +"
>
> Are these all the modules we'll need? Is everything else build-in the
> default defconfig? or are we expecting this list to expand as more
> platforms start migrating to this?
>
> ~Bryan
Should this instead be defined per machine with
MACHINE_ESSENTIAL_EXTRA_RDEPENDS?
https://docs.yoctoproject.org/ref-manual/variables.html#term-MACHINE_ESSENTIAL_EXTRA_RDEPENDS
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [meta-arago] [meta-ti][PATCH 1/1 v2] recipes-ti: initramfs: Make minimal initrd image
2025-09-09 20:30 ` [meta-arago] " Randolph Sapp
@ 2025-09-10 11:48 ` Bryan Brattlof
2025-09-10 17:27 ` Randolph Sapp
0 siblings, 1 reply; 11+ messages in thread
From: Bryan Brattlof @ 2025-09-10 11:48 UTC (permalink / raw)
To: Randolph Sapp
Cc: Moteen Shah, meta-arago, vigneshr, u-kumar1, linux-patch-review,
reatmon, a-limaye, n-francis, praneeth, jm
On September 9, 2025 thus sayeth Randolph Sapp:
> On Tue Sep 9, 2025 at 9:56 AM CDT, Bryan Brattlof via lists.yoctoproject.org wrote:
> > On September 4, 2025 thus sayeth Moteen Shah:
> >> Add recipes to make initramfs image based on systemd.
> >> The image will package boot essential and other modules
> >> which will be modprobed by initramfs udev once the inbuilt
> >> drivers gets probed.
> >>
> >> Signed-off-by: Moteen Shah <m-shah@ti.com>
> >> ---
> >> .../initramfs/packagegroup-ti-initramfs.bb | 5 ++
> >> .../recipes-ti/initramfs/ti-tiny-initramfs.bb | 49 +++++++++++++++++++
> >> 2 files changed, 54 insertions(+)
> >> create mode 100644 meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
> >> create mode 100644 meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
> >>
> >> diff --git a/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
> >> new file mode 100644
> >> index 00000000..5d2ff390
> >> --- /dev/null
> >> +++ b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
> >> @@ -0,0 +1,5 @@
> >> +SUMMARY = "Minimal initramfs for boot requirements"
> >> +
> >> +require recipes-core/packagegroups/packagegroup-core-boot.bb
> >> +
> >> +RDEPENDS:${PN}:remove = "grub-efi kernel"
> >> diff --git a/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
> >> new file mode 100644
> >> index 00000000..4cebf595
> >> --- /dev/null
> >> +++ b/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
> >> @@ -0,0 +1,49 @@
> >> +SUMMARY = "TI SDK super minimal base image for initramfs"
> >> +
> >> +DESCRIPTION = "Image meant for basic boot of linux kernel. Intended as\
> >> + bare system, this image does not package the kernel in the\
> >> + standard /boot folder in rootfs. Instead, it provides a base\
> >> + rootfs allowing kernel to be deployed elsewhere\
> >> + (tftp/separate boot partition/jtag log etc..) and boot\
> >> + the image.\
> >> +"
> >> +
> >> +LICENSE = "MIT"
> >> +
> >> +inherit core-image
> >> +
> >> +IMAGE_FEATURES:remove = "package-management"
> >> +
> >> +INITRAMFS_FSTYPES = "cpio cpio.xz"
> >> +
> >> +#INITRAMFS_MAXSIZE = "65536"
> >> +#IMAGE_OVERHEAD_FACTOR = "1"
> >> +
> >> +IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
> >> +
> >> +INITRAMFS_SCRIPTS ?= "initramfs-framework-base initramfs-module-udev initramfs-module-nfsrootfs"
> >> +
> >> +MODULES = "\
> >> + kernel-module-cdns-pltfrm \
> >> + kernel-module-ti-j721e-ufs \
> >> + kernel-module-tps6594-i2c \
> >> +"
> >
> > Are these all the modules we'll need? Is everything else build-in the
> > default defconfig? or are we expecting this list to expand as more
> > platforms start migrating to this?
> >
> > ~Bryan
>
> Should this instead be defined per machine with
> MACHINE_ESSENTIAL_EXTRA_RDEPENDS?
>
> https://docs.yoctoproject.org/ref-manual/variables.html#term-MACHINE_ESSENTIAL_EXTRA_RDEPENDS
Yeah, I guess what I'm slowly realizing is we're adding roughly a 140MB
binary to the critical path for the bootloaders (so long any boot KPI)
all so we can have a PMIC driver as a builtin.
All the distributions I can think of all modify the ARM64 defconfig in
some way to better suit their distribution. Yocto even has the advantage
of knowing what target they are building for. Should we instead carry a
fragment, or use some other mechanism, to change the kernel's config so
the PMIC driver is a builtin if needed by the target?
~Bryan
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [meta-arago] [meta-ti][PATCH 1/1 v2] recipes-ti: initramfs: Make minimal initrd image
2025-09-10 11:48 ` Bryan Brattlof
@ 2025-09-10 17:27 ` Randolph Sapp
2025-09-10 19:32 ` Bryan Brattlof
0 siblings, 1 reply; 11+ messages in thread
From: Randolph Sapp @ 2025-09-10 17:27 UTC (permalink / raw)
To: Bryan Brattlof
Cc: Moteen Shah, meta-arago, vigneshr, u-kumar1, linux-patch-review,
reatmon, a-limaye, n-francis, praneeth, jm
On Wed Sep 10, 2025 at 6:48 AM CDT, Bryan Brattlof wrote:
> On September 9, 2025 thus sayeth Randolph Sapp:
>> On Tue Sep 9, 2025 at 9:56 AM CDT, Bryan Brattlof via lists.yoctoproject.org wrote:
>> > On September 4, 2025 thus sayeth Moteen Shah:
>> >> Add recipes to make initramfs image based on systemd.
>> >> The image will package boot essential and other modules
>> >> which will be modprobed by initramfs udev once the inbuilt
>> >> drivers gets probed.
>> >>
>> >> Signed-off-by: Moteen Shah <m-shah@ti.com>
>> >> ---
>> >> .../initramfs/packagegroup-ti-initramfs.bb | 5 ++
>> >> .../recipes-ti/initramfs/ti-tiny-initramfs.bb | 49 +++++++++++++++++++
>> >> 2 files changed, 54 insertions(+)
>> >> create mode 100644 meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
>> >> create mode 100644 meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
>> >>
>> >> diff --git a/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
>> >> new file mode 100644
>> >> index 00000000..5d2ff390
>> >> --- /dev/null
>> >> +++ b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
>> >> @@ -0,0 +1,5 @@
>> >> +SUMMARY = "Minimal initramfs for boot requirements"
>> >> +
>> >> +require recipes-core/packagegroups/packagegroup-core-boot.bb
>> >> +
>> >> +RDEPENDS:${PN}:remove = "grub-efi kernel"
>> >> diff --git a/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
>> >> new file mode 100644
>> >> index 00000000..4cebf595
>> >> --- /dev/null
>> >> +++ b/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
>> >> @@ -0,0 +1,49 @@
>> >> +SUMMARY = "TI SDK super minimal base image for initramfs"
>> >> +
>> >> +DESCRIPTION = "Image meant for basic boot of linux kernel. Intended as\
>> >> + bare system, this image does not package the kernel in the\
>> >> + standard /boot folder in rootfs. Instead, it provides a base\
>> >> + rootfs allowing kernel to be deployed elsewhere\
>> >> + (tftp/separate boot partition/jtag log etc..) and boot\
>> >> + the image.\
>> >> +"
>> >> +
>> >> +LICENSE = "MIT"
>> >> +
>> >> +inherit core-image
>> >> +
>> >> +IMAGE_FEATURES:remove = "package-management"
>> >> +
>> >> +INITRAMFS_FSTYPES = "cpio cpio.xz"
>> >> +
>> >> +#INITRAMFS_MAXSIZE = "65536"
>> >> +#IMAGE_OVERHEAD_FACTOR = "1"
>> >> +
>> >> +IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
>> >> +
>> >> +INITRAMFS_SCRIPTS ?= "initramfs-framework-base initramfs-module-udev initramfs-module-nfsrootfs"
>> >> +
>> >> +MODULES = "\
>> >> + kernel-module-cdns-pltfrm \
>> >> + kernel-module-ti-j721e-ufs \
>> >> + kernel-module-tps6594-i2c \
>> >> +"
>> >
>> > Are these all the modules we'll need? Is everything else build-in the
>> > default defconfig? or are we expecting this list to expand as more
>> > platforms start migrating to this?
>> >
>> > ~Bryan
>>
>> Should this instead be defined per machine with
>> MACHINE_ESSENTIAL_EXTRA_RDEPENDS?
>>
>> https://docs.yoctoproject.org/ref-manual/variables.html#term-MACHINE_ESSENTIAL_EXTRA_RDEPENDS
>
> Yeah, I guess what I'm slowly realizing is we're adding roughly a 140MB
> binary to the critical path for the bootloaders (so long any boot KPI)
> all so we can have a PMIC driver as a builtin.
>
> All the distributions I can think of all modify the ARM64 defconfig in
> some way to better suit their distribution. Yocto even has the advantage
> of knowing what target they are building for. Should we instead carry a
> fragment, or use some other mechanism, to change the kernel's config so
> the PMIC driver is a builtin if needed by the target?
>
> ~Bryan
Use of conditional configs is simply reverting back to the schemes we were using
3+ years ago. Initramfs is big and slow, but it's standard and can be leveraged
across other distros easily as it's already been a production solution for them
for quite some time.
That being said, Yocto is *unique*, and what it doesn't do weird itself, it
leaves for the implementer to make weird in their own way. I guess it doesn't
really matter if we don't care about having a uniform bootflow across distros,
but that sounds like hell.
- Randolph
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [meta-arago] [meta-ti][PATCH 1/1 v2] recipes-ti: initramfs: Make minimal initrd image
2025-09-10 17:27 ` Randolph Sapp
@ 2025-09-10 19:32 ` Bryan Brattlof
2025-09-12 9:42 ` Moteen Shah
0 siblings, 1 reply; 11+ messages in thread
From: Bryan Brattlof @ 2025-09-10 19:32 UTC (permalink / raw)
To: Randolph Sapp
Cc: Moteen Shah, meta-arago, vigneshr, u-kumar1, linux-patch-review,
reatmon, a-limaye, n-francis, praneeth, jm
On September 10, 2025 thus sayeth Randolph Sapp:
> On Wed Sep 10, 2025 at 6:48 AM CDT, Bryan Brattlof wrote:
> > On September 9, 2025 thus sayeth Randolph Sapp:
> >> On Tue Sep 9, 2025 at 9:56 AM CDT, Bryan Brattlof via lists.yoctoproject.org wrote:
> >> > On September 4, 2025 thus sayeth Moteen Shah:
> >> >> Add recipes to make initramfs image based on systemd.
> >> >> The image will package boot essential and other modules
> >> >> which will be modprobed by initramfs udev once the inbuilt
> >> >> drivers gets probed.
> >> >>
> >> >> Signed-off-by: Moteen Shah <m-shah@ti.com>
> >> >> ---
> >> >> .../initramfs/packagegroup-ti-initramfs.bb | 5 ++
> >> >> .../recipes-ti/initramfs/ti-tiny-initramfs.bb | 49 +++++++++++++++++++
> >> >> 2 files changed, 54 insertions(+)
> >> >> create mode 100644 meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
> >> >> create mode 100644 meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
> >> >>
> >> >> diff --git a/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
> >> >> new file mode 100644
> >> >> index 00000000..5d2ff390
> >> >> --- /dev/null
> >> >> +++ b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
> >> >> @@ -0,0 +1,5 @@
> >> >> +SUMMARY = "Minimal initramfs for boot requirements"
> >> >> +
> >> >> +require recipes-core/packagegroups/packagegroup-core-boot.bb
> >> >> +
> >> >> +RDEPENDS:${PN}:remove = "grub-efi kernel"
> >> >> diff --git a/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
> >> >> new file mode 100644
> >> >> index 00000000..4cebf595
> >> >> --- /dev/null
> >> >> +++ b/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
> >> >> @@ -0,0 +1,49 @@
> >> >> +SUMMARY = "TI SDK super minimal base image for initramfs"
> >> >> +
> >> >> +DESCRIPTION = "Image meant for basic boot of linux kernel. Intended as\
> >> >> + bare system, this image does not package the kernel in the\
> >> >> + standard /boot folder in rootfs. Instead, it provides a base\
> >> >> + rootfs allowing kernel to be deployed elsewhere\
> >> >> + (tftp/separate boot partition/jtag log etc..) and boot\
> >> >> + the image.\
> >> >> +"
> >> >> +
> >> >> +LICENSE = "MIT"
> >> >> +
> >> >> +inherit core-image
> >> >> +
> >> >> +IMAGE_FEATURES:remove = "package-management"
> >> >> +
> >> >> +INITRAMFS_FSTYPES = "cpio cpio.xz"
> >> >> +
> >> >> +#INITRAMFS_MAXSIZE = "65536"
> >> >> +#IMAGE_OVERHEAD_FACTOR = "1"
> >> >> +
> >> >> +IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
> >> >> +
> >> >> +INITRAMFS_SCRIPTS ?= "initramfs-framework-base initramfs-module-udev initramfs-module-nfsrootfs"
> >> >> +
> >> >> +MODULES = "\
> >> >> + kernel-module-cdns-pltfrm \
> >> >> + kernel-module-ti-j721e-ufs \
> >> >> + kernel-module-tps6594-i2c \
> >> >> +"
> >> >
> >> > Are these all the modules we'll need? Is everything else build-in the
> >> > default defconfig? or are we expecting this list to expand as more
> >> > platforms start migrating to this?
> >> >
> >> > ~Bryan
> >>
> >> Should this instead be defined per machine with
> >> MACHINE_ESSENTIAL_EXTRA_RDEPENDS?
> >>
> >> https://docs.yoctoproject.org/ref-manual/variables.html#term-MACHINE_ESSENTIAL_EXTRA_RDEPENDS
> >
> > Yeah, I guess what I'm slowly realizing is we're adding roughly a 140MB
> > binary to the critical path for the bootloaders (so long any boot KPI)
> > all so we can have a PMIC driver as a builtin.
> >
Small correction. The evil vendor u-boot patches I saw we made room for
140MB however building this locally just now it's closer to 70MB so half
as bad but still more than 3 times the size of the kernel :(
> > All the distributions I can think of all modify the ARM64 defconfig in
> > some way to better suit their distribution. Yocto even has the advantage
> > of knowing what target they are building for. Should we instead carry a
> > fragment, or use some other mechanism, to change the kernel's config so
> > the PMIC driver is a builtin if needed by the target?
> >
> > ~Bryan
>
> Use of conditional configs is simply reverting back to the schemes we were using
> 3+ years ago. Initramfs is big and slow, but it's standard and can be leveraged
> across other distros easily as it's already been a production solution for them
> for quite some time.
>
> That being said, Yocto is *unique*, and what it doesn't do weird itself, it
> leaves for the implementer to make weird in their own way. I guess it doesn't
> really matter if we don't care about having a uniform bootflow across distros,
> but that sounds like hell.
>
oh I agree, we can also fall back to a busybox shell if the MMC or flash
is corrupted. There is tons of benefit if we don't care about boot time.
I'm just not sure when we enable this, everyone will be happy about it
~Bryan
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [meta-arago] [meta-ti][PATCH 1/1 v2] recipes-ti: initramfs: Make minimal initrd image
2025-09-10 19:32 ` Bryan Brattlof
@ 2025-09-12 9:42 ` Moteen Shah
2025-09-17 18:16 ` Randolph Sapp
0 siblings, 1 reply; 11+ messages in thread
From: Moteen Shah @ 2025-09-12 9:42 UTC (permalink / raw)
To: Bryan Brattlof, Randolph Sapp
Cc: meta-arago, vigneshr, u-kumar1, linux-patch-review, reatmon,
a-limaye, n-francis, praneeth, jm
Hey Bryan,
On 11/09/25 01:02, Bryan Brattlof wrote:
> On September 10, 2025 thus sayeth Randolph Sapp:
>> On Wed Sep 10, 2025 at 6:48 AM CDT, Bryan Brattlof wrote:
>>> On September 9, 2025 thus sayeth Randolph Sapp:
>>>> On Tue Sep 9, 2025 at 9:56 AM CDT, Bryan Brattlof via lists.yoctoproject.org wrote:
>>>>> On September 4, 2025 thus sayeth Moteen Shah:
>>>>>> Add recipes to make initramfs image based on systemd.
>>>>>> The image will package boot essential and other modules
>>>>>> which will be modprobed by initramfs udev once the inbuilt
>>>>>> drivers gets probed.
>>>>>>
>>>>>> Signed-off-by: Moteen Shah <m-shah@ti.com>
>>>>>> ---
>>>>>> .../initramfs/packagegroup-ti-initramfs.bb | 5 ++
>>>>>> .../recipes-ti/initramfs/ti-tiny-initramfs.bb | 49 +++++++++++++++++++
>>>>>> 2 files changed, 54 insertions(+)
>>>>>> create mode 100644 meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
>>>>>> create mode 100644 meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
>>>>>>
>>>>>> diff --git a/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
>>>>>> new file mode 100644
>>>>>> index 00000000..5d2ff390
>>>>>> --- /dev/null
>>>>>> +++ b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
>>>>>> @@ -0,0 +1,5 @@
>>>>>> +SUMMARY = "Minimal initramfs for boot requirements"
>>>>>> +
>>>>>> +require recipes-core/packagegroups/packagegroup-core-boot.bb
>>>>>> +
>>>>>> +RDEPENDS:${PN}:remove = "grub-efi kernel"
>>>>>> diff --git a/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
>>>>>> new file mode 100644
>>>>>> index 00000000..4cebf595
>>>>>> --- /dev/null
>>>>>> +++ b/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
>>>>>> @@ -0,0 +1,49 @@
>>>>>> +SUMMARY = "TI SDK super minimal base image for initramfs"
>>>>>> +
>>>>>> +DESCRIPTION = "Image meant for basic boot of linux kernel. Intended as\
>>>>>> + bare system, this image does not package the kernel in the\
>>>>>> + standard /boot folder in rootfs. Instead, it provides a base\
>>>>>> + rootfs allowing kernel to be deployed elsewhere\
>>>>>> + (tftp/separate boot partition/jtag log etc..) and boot\
>>>>>> + the image.\
>>>>>> +"
>>>>>> +
>>>>>> +LICENSE = "MIT"
>>>>>> +
>>>>>> +inherit core-image
>>>>>> +
>>>>>> +IMAGE_FEATURES:remove = "package-management"
>>>>>> +
>>>>>> +INITRAMFS_FSTYPES = "cpio cpio.xz"
>>>>>> +
>>>>>> +#INITRAMFS_MAXSIZE = "65536"
>>>>>> +#IMAGE_OVERHEAD_FACTOR = "1"
>>>>>> +
>>>>>> +IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
>>>>>> +
>>>>>> +INITRAMFS_SCRIPTS ?= "initramfs-framework-base initramfs-module-udev initramfs-module-nfsrootfs"
>>>>>> +
>>>>>> +MODULES = "\
>>>>>> + kernel-module-cdns-pltfrm \
>>>>>> + kernel-module-ti-j721e-ufs \
>>>>>> + kernel-module-tps6594-i2c \
>>>>>> +"
>>>>> Are these all the modules we'll need? Is everything else build-in the
>>>>> default defconfig? or are we expecting this list to expand as more
>>>>> platforms start migrating to this?
>>>>>
>>>>> ~Bryan
>>>> Should this instead be defined per machine with
>>>> MACHINE_ESSENTIAL_EXTRA_RDEPENDS?
>>>>
>>>> https://docs.yoctoproject.org/ref-manual/variables.html#term-MACHINE_ESSENTIAL_EXTRA_RDEPENDS
>>> Yeah, I guess what I'm slowly realizing is we're adding roughly a 140MB
>>> binary to the critical path for the bootloaders (so long any boot KPI)
>>> all so we can have a PMIC driver as a builtin.
>>>
> Small correction. The evil vendor u-boot patches I saw we made room for
> 140MB however building this locally just now it's closer to 70MB so half
> as bad but still more than 3 times the size of the kernel :(
>
>>> All the distributions I can think of all modify the ARM64 defconfig in
>>> some way to better suit their distribution. Yocto even has the advantage
>>> of knowing what target they are building for. Should we instead carry a
>>> fragment, or use some other mechanism, to change the kernel's config so
>>> the PMIC driver is a builtin if needed by the target?
>>>
>>> ~Bryan
>> Use of conditional configs is simply reverting back to the schemes we were using
>> 3+ years ago. Initramfs is big and slow, but it's standard and can be leveraged
>> across other distros easily as it's already been a production solution for them
>> for quite some time.
>>
>> That being said, Yocto is *unique*, and what it doesn't do weird itself, it
>> leaves for the implementer to make weird in their own way. I guess it doesn't
>> really matter if we don't care about having a uniform bootflow across distros,
>> but that sounds like hell.
>>
> oh I agree, we can also fall back to a busybox shell if the MMC or flash
> is corrupted. There is tons of benefit if we don't care about boot time.
> I'm just not sure when we enable this, everyone will be happy about it
>
> ~Bryan
>
Size was the concern for me as well while developing this. The issue
here is
there is a lot of systemd stuff going in the background contributing to
the size.
If you remove systemd and use busybox instead, you will observe that the
image
size gets dropped to around 20 MB's. That solves our sizing issue but it
brings on
its own set of challenges:
1. meta-ti and meta-arago currently has a global define for init manager
which is
systemd, making them to support multi-config (multiple init manager)
isn't that
straight forward.
2. Currently, this image is being used to modprobe extra modules and
down the
line if we want to have a secure boot setup with dm-crypt, LUKS, etc to
unlock
encrypted rootfs, systemd's own infra might come in handy.
Regards,
Moteen
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [meta-arago] [meta-ti][PATCH 1/1 v2] recipes-ti: initramfs: Make minimal initrd image
2025-09-12 9:42 ` Moteen Shah
@ 2025-09-17 18:16 ` Randolph Sapp
0 siblings, 0 replies; 11+ messages in thread
From: Randolph Sapp @ 2025-09-17 18:16 UTC (permalink / raw)
To: Moteen Shah, Bryan Brattlof
Cc: meta-arago, vigneshr, u-kumar1, linux-patch-review, reatmon,
a-limaye, n-francis, praneeth, jm
On Fri Sep 12, 2025 at 4:42 AM CDT, Moteen Shah wrote:
> Hey Bryan,
>
> On 11/09/25 01:02, Bryan Brattlof wrote:
>> On September 10, 2025 thus sayeth Randolph Sapp:
>>> On Wed Sep 10, 2025 at 6:48 AM CDT, Bryan Brattlof wrote:
>>>> On September 9, 2025 thus sayeth Randolph Sapp:
>>>>> On Tue Sep 9, 2025 at 9:56 AM CDT, Bryan Brattlof via lists.yoctoproject.org wrote:
>>>>>> On September 4, 2025 thus sayeth Moteen Shah:
>>>>>>> Add recipes to make initramfs image based on systemd.
>>>>>>> The image will package boot essential and other modules
>>>>>>> which will be modprobed by initramfs udev once the inbuilt
>>>>>>> drivers gets probed.
>>>>>>>
>>>>>>> Signed-off-by: Moteen Shah <m-shah@ti.com>
>>>>>>> ---
>>>>>>> .../initramfs/packagegroup-ti-initramfs.bb | 5 ++
>>>>>>> .../recipes-ti/initramfs/ti-tiny-initramfs.bb | 49 +++++++++++++++++++
>>>>>>> 2 files changed, 54 insertions(+)
>>>>>>> create mode 100644 meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
>>>>>>> create mode 100644 meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
>>>>>>>
>>>>>>> diff --git a/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
>>>>>>> new file mode 100644
>>>>>>> index 00000000..5d2ff390
>>>>>>> --- /dev/null
>>>>>>> +++ b/meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-initramfs.bb
>>>>>>> @@ -0,0 +1,5 @@
>>>>>>> +SUMMARY = "Minimal initramfs for boot requirements"
>>>>>>> +
>>>>>>> +require recipes-core/packagegroups/packagegroup-core-boot.bb
>>>>>>> +
>>>>>>> +RDEPENDS:${PN}:remove = "grub-efi kernel"
>>>>>>> diff --git a/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb b/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
>>>>>>> new file mode 100644
>>>>>>> index 00000000..4cebf595
>>>>>>> --- /dev/null
>>>>>>> +++ b/meta-ti-bsp/recipes-ti/initramfs/ti-tiny-initramfs.bb
>>>>>>> @@ -0,0 +1,49 @@
>>>>>>> +SUMMARY = "TI SDK super minimal base image for initramfs"
>>>>>>> +
>>>>>>> +DESCRIPTION = "Image meant for basic boot of linux kernel. Intended as\
>>>>>>> + bare system, this image does not package the kernel in the\
>>>>>>> + standard /boot folder in rootfs. Instead, it provides a base\
>>>>>>> + rootfs allowing kernel to be deployed elsewhere\
>>>>>>> + (tftp/separate boot partition/jtag log etc..) and boot\
>>>>>>> + the image.\
>>>>>>> +"
>>>>>>> +
>>>>>>> +LICENSE = "MIT"
>>>>>>> +
>>>>>>> +inherit core-image
>>>>>>> +
>>>>>>> +IMAGE_FEATURES:remove = "package-management"
>>>>>>> +
>>>>>>> +INITRAMFS_FSTYPES = "cpio cpio.xz"
>>>>>>> +
>>>>>>> +#INITRAMFS_MAXSIZE = "65536"
>>>>>>> +#IMAGE_OVERHEAD_FACTOR = "1"
>>>>>>> +
>>>>>>> +IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
>>>>>>> +
>>>>>>> +INITRAMFS_SCRIPTS ?= "initramfs-framework-base initramfs-module-udev initramfs-module-nfsrootfs"
>>>>>>> +
>>>>>>> +MODULES = "\
>>>>>>> + kernel-module-cdns-pltfrm \
>>>>>>> + kernel-module-ti-j721e-ufs \
>>>>>>> + kernel-module-tps6594-i2c \
>>>>>>> +"
>>>>>> Are these all the modules we'll need? Is everything else build-in the
>>>>>> default defconfig? or are we expecting this list to expand as more
>>>>>> platforms start migrating to this?
>>>>>>
>>>>>> ~Bryan
>>>>> Should this instead be defined per machine with
>>>>> MACHINE_ESSENTIAL_EXTRA_RDEPENDS?
>>>>>
>>>>> https://docs.yoctoproject.org/ref-manual/variables.html#term-MACHINE_ESSENTIAL_EXTRA_RDEPENDS
>>>> Yeah, I guess what I'm slowly realizing is we're adding roughly a 140MB
>>>> binary to the critical path for the bootloaders (so long any boot KPI)
>>>> all so we can have a PMIC driver as a builtin.
>>>>
>> Small correction. The evil vendor u-boot patches I saw we made room for
>> 140MB however building this locally just now it's closer to 70MB so half
>> as bad but still more than 3 times the size of the kernel :(
>>
>>>> All the distributions I can think of all modify the ARM64 defconfig in
>>>> some way to better suit their distribution. Yocto even has the advantage
>>>> of knowing what target they are building for. Should we instead carry a
>>>> fragment, or use some other mechanism, to change the kernel's config so
>>>> the PMIC driver is a builtin if needed by the target?
>>>>
>>>> ~Bryan
>>> Use of conditional configs is simply reverting back to the schemes we were using
>>> 3+ years ago. Initramfs is big and slow, but it's standard and can be leveraged
>>> across other distros easily as it's already been a production solution for them
>>> for quite some time.
>>>
>>> That being said, Yocto is *unique*, and what it doesn't do weird itself, it
>>> leaves for the implementer to make weird in their own way. I guess it doesn't
>>> really matter if we don't care about having a uniform bootflow across distros,
>>> but that sounds like hell.
>>>
>> oh I agree, we can also fall back to a busybox shell if the MMC or flash
>> is corrupted. There is tons of benefit if we don't care about boot time.
>> I'm just not sure when we enable this, everyone will be happy about it
>>
>> ~Bryan
>>
>
> Size was the concern for me as well while developing this. The issue
> here is
> there is a lot of systemd stuff going in the background contributing to
> the size.
> If you remove systemd and use busybox instead, you will observe that the
> image
> size gets dropped to around 20 MB's. That solves our sizing issue but it
> brings on
> its own set of challenges:
>
> 1. meta-ti and meta-arago currently has a global define for init manager
> which is
> systemd, making them to support multi-config (multiple init manager)
> isn't that
> straight forward.
> 2. Currently, this image is being used to modprobe extra modules and
> down the
> line if we want to have a secure boot setup with dm-crypt, LUKS, etc to
> unlock
> encrypted rootfs, systemd's own infra might come in handy.
>
> Regards,
> Moteen
Stop blaming systemd here. It may be large, but Arch Linux can build a
compressed initial ramdisk with systemd that's only 36MB in size. Something else
is bloating the image.
- Randolph
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2025-09-17 18:16 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-04 12:43 [meta-ti][PATCH 0/1 v2] Add recipes to build initramfs image Moteen Shah
2025-09-04 12:43 ` [meta-ti][PATCH 1/1 v2] recipes-ti: initramfs: Make minimal initrd image Moteen Shah
2025-09-05 5:52 ` Anshul Dalal
2025-09-09 14:56 ` Bryan Brattlof
2025-09-09 20:30 ` [meta-arago] " Randolph Sapp
2025-09-10 11:48 ` Bryan Brattlof
2025-09-10 17:27 ` Randolph Sapp
2025-09-10 19:32 ` Bryan Brattlof
2025-09-12 9:42 ` Moteen Shah
2025-09-17 18:16 ` Randolph Sapp
2025-09-04 12:45 ` [meta-ti][PATCH 0/1 v2] Add recipes to build initramfs image PRC Automation
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.