Re: [meta-arago] [PATCH] tisdk-uenv: Add instructions to load initramfs while booting linux

Ryan Eatmon <[email protected]> Thu, 5 Mar 2026 09:06:18 -0600
Newsgroups org.yoctoproject.lists.meta-arago
Message-ID <[email protected]>

On 3/5/2026 12:51 AM, Moteen Shah wrote:
> 
> On 04/03/26 20:08, Ryan Eatmon wrote:
>>
>>
>> On 3/4/2026 12:32 AM, Moteen Shah wrote:
>>>
>>> On 03/03/26 22:49, Andrew Davis wrote:
>>>> On 3/3/26 4:49 AM, Moteen Shah via lists.yoctoproject.org wrote:
>>>>> Add instructions to load initramfs image and update the boot command
>>>>> to use the image to boot the linux kernel.
>>>>>
>>>>> Signed-off-by: Moteen Shah <[email protected]>
>>>>> ---
>>>>>   .../recipes-tisdk/tisdk-uenv/tisdk-uenv/uEnv.txt  | 15 
>>>>> +++++++++++++++
>>>>>   1 file changed, 15 insertions(+)
>>>>>
>>>>> diff --git 
>>>>> a/meta-arago-distro/recipes-tisdk/tisdk-uenv/tisdk-uenv/uEnv.txt 
>>>>> b/meta-arago-distro/recipes-tisdk/tisdk-uenv/tisdk-uenv/uEnv.txt
>>>>> index 0af0eef3..5ac61b34 100644
>>>>> --- a/meta-arago-distro/recipes-tisdk/tisdk-uenv/tisdk-uenv/uEnv.txt
>>>>> +++ b/meta-arago-distro/recipes-tisdk/tisdk-uenv/tisdk-uenv/uEnv.txt
>>>>> @@ -7,3 +7,18 @@
>>>>>   #       default on all newer U-Boot images.  This also means that 
>>>>> some
>>>>>   #       variables such as bootdelay cannot be changed by this 
>>>>> file since
>>>>>   #       it is not evaluated until the bootcmd is run.
>>>>> +
>>>>> +# Initramfs configuration
>>>>> +# Name of the initramfs file in the boot partition
>>>>> +name_initramfs=ti-core-initramfs.cpio.xz
>>>>> +
>>>>> +# Command to load initramfs from boot partition (mmc 
>>>>> device:partition)
>>>>> +# Adjust the device number (0 or 1) based on your setup
>>>>> +# mmcdev is set to 1 by default, partition 1 is the boot partition
>>>>> +get_initramfs_mmc=fatload mmc ${mmcdev}:1 ${rdaddr} ${name_initramfs}
>>>>> +
>>>>
>>>> This belongs in u-boot default env, it is basically the same as 
>>>> `get_fdt_mmc`
>>>> and other helpers already there.
>>>>
>>>>> +# Load initramfs and set up variables
>>>>> +load_initramfs=if run get_initramfs_mmc; then setenv _initramfs 
>>>>> ${rdaddr}:${filesize}; setenv rd_spec ${_initramfs}; echo Initramfs 
>>>>> loaded at ${rdaddr}, size ${filesize}; else echo WARNING: Initramfs 
>>>>> not found, continuing without initramfs; setenv rd_spec -; fi
>>>>> +
>>>>
>>>> This should be part of `mmcloados` in u-boot also.
>>>
>>>
>>> mmcloados is only used by 'mmcboot' which is a differnt boot command 
>>> other than bootcmd_ti_mmc?
>>> We can consider adding the load_initramfs to 'get_kern_mmc' and we 
>>> wont need to override the init_mmc with the change.
>>>
>>>>
>>>>> +# Custom boot command that loads initramfs before kernel
>>>>> +init_mmc=run args_all args_mmc load_initramfs
>>>>
>>>> With the above added, you don't need to override `init_mmc` so
>>>> this line goes away too.
>>>>
>>>> That leaves one line left, `name_initramfs`. How about just
>>>> setting a sane default name in u-boot. We got away with something
>>>> like this for K2 plats:
>>>
>>> We don't expect the name of the cpio to be variable, as the name of 
>>> the cpio stays the same for all K3 platforms which is 
>>> "ti-core-initramfs.cpio.xz", I can remove the variable altogether 
>>> maybe and directly use the image name to load. Thoughts?
>>
>> That is a very Yocto centric take.  But we also support armbian and 
>> other distros.  They may not want to name the file the same way we 
>> chose in meta-ti.  The question is, should we paint ourselves into a 
>> corner from the beginning or allow for some flexibility?
>>
>> Plus, even in Yocto, a user could choose to not use ti-core-initramfs 
>> and instead make their own with their own name. Making this more 
>> flexible feels more friendly in the long run.
>>
> 
> I see. So we want to move the structure to something which tries to load 
> any .cpio.xz present?
> Other question, how do we tell other users to include the TPS6594 
> module(to put it in a better way include the packagegroup for intramfs) 
> while building their own initramfs(specifically for AM62a), is linux 
> release doc the right place to do so?

I would say so.


> Regards,
> Moteen
> 
>> Just my two cents.
>>
>>
>>> Regards,
>>> Moteen
>>>
>>>>
>>>> https://github.com/u-boot/u-boot/blob/master/board/ti/ks2_evm/k2e_evm.env#L12
>>>>
>>>> although I'd recommend a more generic filename.
>>>>
>>>> Andrew
>>>>
>>>>> \ No newline at end of file
>>>>
>>

-- 
Ryan Eatmon                [email protected]
-----------------------------------------
Texas Instruments, Inc.  -  LCPD  -  MGTS