[meta-ti] [master/thud][PATCH v2 3/3] jailhouse: use ramfs for linux-demo

Jacob Stiffler j-stiffler at ti.com
Fri Aug 30 09:42:32 PDT 2019


On 8/30/2019 12:31 PM, Denys Dmytriyenko wrote:
> On Fri, Aug 30, 2019 at 12:26:51PM -0400, Jacob Stiffler wrote:
>> On 8/30/2019 12:23 PM, Denys Dmytriyenko wrote:
>>> On Thu, Aug 29, 2019 at 02:21:51PM +0530, Nikhil Devshatwar wrote:
>>>> On 20/08/19 11:41 PM, Jacob Stiffler wrote:
>>>>> * Configure the linux-demo to use a ramfs for the linux inmate.
>>>>> * Using JH_RAMFS_IMAGE, this can be set in some global conf.
>>>>>
>>>>> Signed-off-by: Jacob Stiffler <j-stiffler at ti.com>
>>>> Tested-by: Nikhil Devshatwar <nikhil.nd at ti.com>
>>>>
>>>> I manually built the core-image-minimal in cpio format with a bbappend of my own.
>>>> How is this supposed to be built automatically?
>>>>
>>>> Can you add a depends variable so that the build kicks automatically?
>>> There's a proper DEPENDS being added in the anonymous function below, so
>>> should work automatically.
>>
>> We do not have "cpio" in our IMAGE_TYPES, so it needs to be added for
>> JH_RAMFS_IMAGE.
>>
>> I cannot think of a way to force that IMAGE_TYPE from this recipe, but is
>> there a way?
> No, the only way is to check that IMAGE_FSTYPES contains "cpio" when
> JH_RAMFS_IMAGE is set and error out otherwise. Can be done in anonymous
> function to bail out early and not wait until JH builds.
>

But cpio can be added as a recipe override, so preemptively detecting 
this could get tricky.


>>> Denys
>>>
>>>
>>>> Nikhil D
>>>>
>>>>> ---
>>>>>   recipes-kernel/jailhouse/jailhouse_git.bb | 21 +++++++++++++++++----
>>>>>   1 file changed, 17 insertions(+), 4 deletions(-)
>>>>>
>>>>> diff --git a/recipes-kernel/jailhouse/jailhouse_git.bb b/recipes-kernel/jailhouse/jailhouse_git.bb
>>>>> index 5d572d0..ba6772f 100644
>>>>> --- a/recipes-kernel/jailhouse/jailhouse_git.bb
>>>>> +++ b/recipes-kernel/jailhouse/jailhouse_git.bb
>>>>> @@ -58,8 +58,10 @@ JH_SYSCONFIG_CELL ?= ""
>>>>>   JH_SYSCONFIG_CELL_am65xx ?= "k3-am654-idk.cell"
>>>>>   JH_SYSCONFIG_CELL_j7-evm ?= "k3-j721e-evm.cell"
>>>>> +JH_RAMFS_IMAGE ?= "core-image-minimal"
>>>>> +
>>>>>   JH_CMDLINE ?= ""
>>>>> -JH_CMDLINE_k3 ?= "console=ttyS1,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait"
>>>>> +JH_CMDLINE_k3 ?= "console=ttyS1,115200n8"
>>>>>   do_configure() {
>>>>>   	if [ -d ${STAGING_DIR_HOST}/${CELLCONF_DIR} ];
>>>>> @@ -101,6 +103,16 @@ do_install() {
>>>>>   	install -m 0644 ${B}/inmates/demos/${JH_ARCH}/*.bin ${D}${INMATES_DIR}
>>>>>   	install -d ${D}/boot
>>>>> +	if [ -n "${JH_RAMFS_IMAGE}" ]
>>>>> +	then
>>>>> +		if [ -f ${DEPLOY_DIR_IMAGE}/${JH_RAMFS_IMAGE}-${MACHINE}.cpio ]
>>>>> +		then
>>>>> +			install -m 0644 ${DEPLOY_DIR_IMAGE}/${JH_RAMFS_IMAGE}-${MACHINE}.cpio ${D}/boot
>>>>> +		else
>>>>> +			bbwarn "Could find find JH_RAMFS_IMAGE (${JH_RAMFS_IMAGE}-${MACHINE}.cpio)!"
>>>>> +			bbwarn "Please make sure that \"cpio\" is in IMAGE_FSTYPES."
>>>>> +		fi
>>>>> +	fi
>>>>>   	if [ -n "${JH_INMATE_DTB}" -a -n "${JH_LINUX_DEMO_CELL}" ]; then
>>>>>   		cd ${TOOLS_SRC_DIR}
>>>>> @@ -110,6 +122,7 @@ do_install() {
>>>>>   		./jailhouse-cell-linux -w ${D}${JH_DATADIR}/${JH_INMATE_DTB} \
>>>>>   			-a ${JH_ARCH} -c "${JH_CMDLINE}" \
>>>>>   			-d ../configs/${JH_ARCH}/dts/${JH_INMATE_DTB} \
>>>>> +			-i ${D}/boot/${JH_RAMFS_IMAGE}-${MACHINE}.cpio \
>>>>>   			${D}${CELL_DIR}/${JH_LINUX_DEMO_CELL} \
>>>>>   			${DEPLOY_DIR_IMAGE}/Image \
>>>>>   			| tr -cd '\11\12\15\40-\176' \
>>>>> @@ -143,9 +156,9 @@ CELLS = ""
>>>>>   python __anonymous () {
>>>>>       d.appendVarFlag('do_install', 'depends', ' virtual/kernel:do_deploy')
>>>>> -    initrd = d.getVar('INITRAMFS_IMAGE', True)
>>>>> -    if initrd:
>>>>> -        d.appendVarFlag('do_install', 'depends', ' ${INITRAMFS_IMAGE}:do_image_complete')
>>>>> +    ramfs = d.getVar('JH_RAMFS_IMAGE', True)
>>>>> +    if ramfs:
>>>>> +        d.appendVarFlag('do_install', 'depends', ' ${JH_RAMFS_IMAGE}:do_image_complete')
>>>>>       # Setup DEPENDS and RDEPENDS to included cells
>>>>>       cells = d.getVar('CELLS', True) or ""
>>>>>
>>>> -- 
>>>> _______________________________________________
>>>> meta-ti mailing list
>>>> meta-ti at yoctoproject.org
>>>> https://lists.yoctoproject.org/listinfo/meta-ti


More information about the meta-ti mailing list