[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