[OE-core] [PATCH v2 2/2] runqemu: Allow the user to specity no kernel or rootFS

Nathan Rossi nathan at nathanrossi.com
Tue Nov 8 11:15:43 UTC 2016


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 = ""

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