[OE-core] [PATCH v2 2/2] runqemu: Allow the user to override the device tree option

Alistair Francis alistair.francis at xilinx.com
Wed Nov 22 00:47:32 UTC 2017


On Tue, Nov 14, 2017 at 4:32 AM, Burton, Ross <ross.burton at intel.com> wrote:
> Doesn't actually work if DEVICE_TREE is not set but QB_DTB is:
>
> Traceback (most recent call last):
>   File
> "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-arm-lsb/build/scripts/runqemu",
> line 1277, in main
>     config.check_and_set()
>   File
> "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-arm-lsb/build/scripts/runqemu",
> line 692, in check_and_set
>     self.check_dtb()
>   File
> "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-arm-lsb/build/scripts/runqemu",
> line 624, in check_dtb
>     cmd_match = "%s/%s" % (deploy_dir_image, dtb)
> NameError: name 'deploy_dir_image' is not defined

Ah! I don't know how that slipped through.

Fixed in v3. Thanks for looking at the patch.

Alistair

>
> Ross
>
> On 13 October 2017 at 00:32, Alistair Francis <alistair.francis at xilinx.com>
> wrote:
>>
>> Update the runqemu script to allow the user to specify a device tree
>> to boot when calling runqemu.
>>
>> This involves creating a seperate check_dtb() function incase the user
>> has specified 'none' for the kernel but still wants a device tree.
>>
>> Signed-off-by: Alistair Francis <alistair.francis at xilinx.com>
>> Reviewed-by: Ben Levinsky <ben.levinsky at xilinx.com>
>> Cc: Ben Levinsky <ben.levinsky at xilinx.com>
>> ---
>>  scripts/runqemu | 14 +++++++++++++-
>>  1 file changed, 13 insertions(+), 1 deletion(-)
>>
>> diff --git a/scripts/runqemu b/scripts/runqemu
>> index c3719a86f7..1be6db0eea 100755
>> --- a/scripts/runqemu
>> +++ b/scripts/runqemu
>> @@ -69,6 +69,7 @@ Usage: you can run this script with any valid
>> combination
>>  of the following environment variables (in any order):
>>    KERNEL - the kernel image file to use
>>    ROOTFS - the rootfs image file or nfsroot directory to use
>> +  DEVICE_TREE - the device tree blob to use
>>    MACHINE - the machine name (optional, autodetected from KERNEL filename
>> if unspecified)
>>    Simplified QEMU command-line options can be passed with:
>>      nographic - disable video console
>> @@ -178,6 +179,7 @@ class BaseConfig(object):
>>          self.env_vars = ('MACHINE',
>>                          'ROOTFS',
>>                          'KERNEL',
>> +                        'DEVICE_TREE',
>>                          'DEPLOY_DIR_IMAGE',
>>                          'OE_TMPDIR',
>>                          'OECORE_NATIVE_SYSROOT',
>> @@ -579,7 +581,7 @@ class BaseConfig(object):
>>                  raise RunQemuError("Can't find OVMF firmware: %s" % ovmf)
>>
>>      def check_kernel(self):
>> -        """Check and set kernel, dtb"""
>> +        """Check and set kernel"""
>>          # The vm image doesn't need a kernel
>>          if self.fstype in self.vmtypes:
>>              return
>> @@ -608,6 +610,15 @@ class BaseConfig(object):
>>          if not os.path.exists(self.kernel):
>>              raise RunQemuError("KERNEL %s not found" % self.kernel)
>>
>> +    def check_dtb(self):
>> +        """Check and set dtb"""
>> +        # Did the user specify a device tree?
>> +        if self.get('DEVICE_TREE'):
>> +            self.dtb = self.get('DEVICE_TREE')
>> +            if not os.path.exists(self.dtb):
>> +                raise RunQemuError('Specified DTB not found: %s' %
>> self.dtb)
>> +            return
>> +
>>          dtb = self.get('QB_DTB')
>>          if dtb:
>>              cmd_match = "%s/%s" % (deploy_dir_image, dtb)
>> @@ -678,6 +689,7 @@ class BaseConfig(object):
>>          self.check_rootfs()
>>          self.check_ovmf()
>>          self.check_kernel()
>> +        self.check_dtb()
>>          self.check_biosdir()
>>          self.check_mem()
>>          self.check_tcpserial()
>> --
>> 2.11.0
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>



More information about the Openembedded-core mailing list