[OE-core] [PATCH v2 2/2] runqemu: Allow the user to specity no kernel or rootFS
Alistair Francis
alistair.francis at xilinx.com
Tue Nov 8 17:23:04 UTC 2016
On Tue, Nov 8, 2016 at 3:15 AM, Nathan Rossi <nathan at nathanrossi.com> wrote:
> On 3 November 2016 at 10:17, Alistair Francis
> <alistair.francis at xilinx.com> wrote:
>> In some cirsumstances the user doesn't want to supply a kernel, rootFS
>> or DTB to QEMU. This will occur more now that QEMU supports loading
>> images using a '-device loader' method.
>>
>> Allow users to specify 'none' for QB_DEFAULT_FSTYPE or QB_DEFAULT_KERNEL
>> to avoid supplying these options to QEMU.
>
> Just wondering if it would be worth adding a "QB_KERNEL_OPT" similar
> to how QB_ROOTFS_OPT works. This way the "none" would not be needed
> and it would allow for using the "-device loader" arg for machines
> that boot that way.
>
> e.g.
>
> QB_KERNEL_OPT = "-kernel @KERNEL@"
> or
> QB_KERNEL_OPT = "-device loader,addr=0xdeadbeef,file=@KERNEL@"
> or (if not able to load kernel, aka 'none')
> QB_KERNEL_OPT = ""
That way is fine with me, but that would then break compatibility with
other layers using this (they would all need to set the KERNEL_OPT so
I tried to avoid that.
I guess you could set the default to "-kernel @KERNEL@" which probably
wouldn't break anything though.
I'm happy to update the patch if that is the preference. Do people
think that's a better option?
Thanks,
Alistair
>
> Regards,
> Nathan
>
>>
>> Signed-off-by: Alistair Francis <alistair.francis at xilinx.com>
>> ---
>> scripts/runqemu | 9 ++++++++-
>> 1 file changed, 8 insertions(+), 1 deletion(-)
>>
>> diff --git a/scripts/runqemu b/scripts/runqemu
>> index 922ebaf..5f60312 100755
>> --- a/scripts/runqemu
>> +++ b/scripts/runqemu
>> @@ -453,7 +453,7 @@ class BaseConfig(object):
>> def check_rootfs(self):
>> """Check and set rootfs"""
>>
>> - if self.fstype == 'nfs':
>> + if self.fstype == 'nfs' or self.fstype == "none":
>> return
>>
>> if self.rootfs and not os.path.exists(self.rootfs):
>> @@ -481,6 +481,10 @@ class BaseConfig(object):
>> # QB_DEFAULT_KERNEL is always a full file path
>> kernel_name = os.path.basename(self.get('QB_DEFAULT_KERNEL'))
>>
>> + # The user didn't want a kernel to be loaded
>> + if kernel_name == "none":
>> + return
>> +
>> deploy_dir_image = self.get('DEPLOY_DIR_IMAGE')
>> if not self.kernel:
>> kernel_match_name = "%s/%s" % (deploy_dir_image, kernel_name)
>> @@ -857,6 +861,9 @@ class BaseConfig(object):
>> k_root = '/dev/nfs nfsroot=%s:%s,%s' % (self.nfs_server, self.nfs_dir, self.unfs_opts)
>> self.kernel_cmdline = 'root=%s rw highres=off' % k_root
>>
>> + if self.fstype == 'none':
>> + self.rootfs_options = ''
>> +
>> self.set('ROOTFS_OPTIONS', self.rootfs_options)
>>
>> def guess_qb_system(self):
>> --
>> 2.7.4
>>
More information about the Openembedded-core
mailing list