Patchwork [1/1] runqemu: support booting poky-tiny images

login
register
mail settings
Submitter Scott Garman
Date Aug. 11, 2012, 3:20 a.m.
Message ID <081e2a4154575d494f0f56f1b5e4ff70b93ca8e2.1344655148.git.scott.a.garman@intel.com>
Download mbox | patch
Permalink /patch/34293/
State New
Headers show

Comments

Scott Garman - Aug. 11, 2012, 3:20 a.m.
Added support for booting poky-tiny images, which do not have block
device support. Note to shut down a running poky-tiny image, you
need to include the -f option to the poweroff command.

This fixes [YOCTO #2612].

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
---
 scripts/runqemu          |    6 ++++++
 scripts/runqemu-internal |    5 +++++
 2 files changed, 11 insertions(+)
Khem Raj - Aug. 11, 2012, 4:48 a.m.
On Fri, Aug 10, 2012 at 8:20 PM, Scott Garman <scott.a.garman@intel.com> wrote:
> Added support for booting poky-tiny images, which do not have block
> device support. Note to shut down a running poky-tiny image, you
> need to include the -f option to the poweroff command.
>
> This fixes [YOCTO #2612].
>
> Signed-off-by: Scott Garman <scott.a.garman@intel.com>
> ---
>  scripts/runqemu          |    6 ++++++
>  scripts/runqemu-internal |    5 +++++
>  2 files changed, 11 insertions(+)
>
> diff --git a/scripts/runqemu b/scripts/runqemu
> index 7454dd4..6f2f861 100755
> --- a/scripts/runqemu
> +++ b/scripts/runqemu
> @@ -26,6 +26,7 @@ usage() {
>      echo "  KERNEL - the kernel image file to use"
>      echo "  ROOTFS - the rootfs image file or nfsroot directory to use"
>      echo "  MACHINE - the machine name (optional, autodetected from KERNEL filename if unspecified)"
> +    echo "  TINY - specify 'tiny' if booting a poky-tiny image"


you seem to be mixing poky distro with OE-Core here. As a whole the
patch seems like adding support for ramfs based images. If you intend
to just have images specific to poky then this patch
belongs to OE-Core but if you generalize it enough that non
tiny users can also leverage this then it certainly is good
for OE-Core.

>      echo "  Simplified QEMU command-line options can be passed with:"
>      echo "    nographic - disables video console"
>      echo "    serial - enables a serial console on /dev/ttyS0"
> @@ -37,6 +38,7 @@ usage() {
>      echo "  $MYNAME qemuarm"
>      echo "  $MYNAME qemux86-64 core-image-sato ext3"
>      echo "  $MYNAME path/to/bzImage-qemux86.bin path/to/nfsrootdir/ serial"
> +    echo "  $MYNAME qemux86 tiny"
>      echo "  $MYNAME qemux86 qemuparams=\"-m 256\""
>      echo "  $MYNAME qemux86 bootparams=\"psplash=false\""
>      exit 1
> @@ -118,6 +120,10 @@ while true; do
>                  LAZY_ROOTFS="true"
>              fi
>              ;;
> +        "tiny")
> +            FSTYPE=cpio.gz
> +            TINY=true
> +            ;;
>          "nographic")
>              SCRIPT_QEMU_OPT="$SCRIPT_QEMU_OPT -nographic"
>              SCRIPT_KERNEL_OPT="$SCRIPT_KERNEL_OPT console=ttyS0"
> diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
> index eeadb24..5147c86 100755
> --- a/scripts/runqemu-internal
> +++ b/scripts/runqemu-internal
> @@ -453,6 +453,11 @@ if [ "$MACHINE" = "akita" ]; then
>      fi
>  fi
>
> +if [ "x$TINY" = "xtrue" ]; then
> +    QEMUOPTIONS="-initrd $ROOTFS -nographic"
> +    KERNCMDLINE="console=ttyS0 root=/dev/ram0"
> +fi
> +
>  if [ "x$QEMUOPTIONS" = "x" ]; then
>      echo "Error: Unable to support this combination of options"
>      cleanup
> --
> 1.7.9.5
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Khem Raj - Aug. 11, 2012, 4:49 a.m.
On Fri, Aug 10, 2012 at 9:48 PM, Khem Raj <raj.khem@gmail.com> wrote:
> On Fri, Aug 10, 2012 at 8:20 PM, Scott Garman <scott.a.garman@intel.com> wrote:
>> Added support for booting poky-tiny images, which do not have block
>> device support. Note to shut down a running poky-tiny image, you
>> need to include the -f option to the poweroff command.
>>
>> This fixes [YOCTO #2612].
>>
>> Signed-off-by: Scott Garman <scott.a.garman@intel.com>
>> ---
>>  scripts/runqemu          |    6 ++++++
>>  scripts/runqemu-internal |    5 +++++
>>  2 files changed, 11 insertions(+)
>>
>> diff --git a/scripts/runqemu b/scripts/runqemu
>> index 7454dd4..6f2f861 100755
>> --- a/scripts/runqemu
>> +++ b/scripts/runqemu
>> @@ -26,6 +26,7 @@ usage() {
>>      echo "  KERNEL - the kernel image file to use"
>>      echo "  ROOTFS - the rootfs image file or nfsroot directory to use"
>>      echo "  MACHINE - the machine name (optional, autodetected from KERNEL filename if unspecified)"
>> +    echo "  TINY - specify 'tiny' if booting a poky-tiny image"
>
>
> you seem to be mixing poky distro with OE-Core here. As a whole the
> patch seems like adding support for ramfs based images. If you intend
> to just have images specific to poky then this patch
> belongs to OE-Core but if you generalize it enough that non
             ^^^^^^^

should be read as poky

> tiny users can also leverage this then it certainly is good
> for OE-Core.
>
>>      echo "  Simplified QEMU command-line options can be passed with:"
>>      echo "    nographic - disables video console"
>>      echo "    serial - enables a serial console on /dev/ttyS0"
>> @@ -37,6 +38,7 @@ usage() {
>>      echo "  $MYNAME qemuarm"
>>      echo "  $MYNAME qemux86-64 core-image-sato ext3"
>>      echo "  $MYNAME path/to/bzImage-qemux86.bin path/to/nfsrootdir/ serial"
>> +    echo "  $MYNAME qemux86 tiny"
>>      echo "  $MYNAME qemux86 qemuparams=\"-m 256\""
>>      echo "  $MYNAME qemux86 bootparams=\"psplash=false\""
>>      exit 1
>> @@ -118,6 +120,10 @@ while true; do
>>                  LAZY_ROOTFS="true"
>>              fi
>>              ;;
>> +        "tiny")
>> +            FSTYPE=cpio.gz
>> +            TINY=true
>> +            ;;
>>          "nographic")
>>              SCRIPT_QEMU_OPT="$SCRIPT_QEMU_OPT -nographic"
>>              SCRIPT_KERNEL_OPT="$SCRIPT_KERNEL_OPT console=ttyS0"
>> diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
>> index eeadb24..5147c86 100755
>> --- a/scripts/runqemu-internal
>> +++ b/scripts/runqemu-internal
>> @@ -453,6 +453,11 @@ if [ "$MACHINE" = "akita" ]; then
>>      fi
>>  fi
>>
>> +if [ "x$TINY" = "xtrue" ]; then
>> +    QEMUOPTIONS="-initrd $ROOTFS -nographic"
>> +    KERNCMDLINE="console=ttyS0 root=/dev/ram0"
>> +fi
>> +
>>  if [ "x$QEMUOPTIONS" = "x" ]; then
>>      echo "Error: Unable to support this combination of options"
>>      cleanup
>> --
>> 1.7.9.5
>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Scott Garman - Aug. 11, 2012, 6:26 a.m.
On 08/10/2012 09:48 PM, Khem Raj wrote:
> On Fri, Aug 10, 2012 at 8:20 PM, Scott Garman <scott.a.garman@intel.com> wrote:
>> Added support for booting poky-tiny images, which do not have block
>> device support. Note to shut down a running poky-tiny image, you
>> need to include the -f option to the poweroff command.
>>
>> This fixes [YOCTO #2612].
>>
>> Signed-off-by: Scott Garman <scott.a.garman@intel.com>
>> ---
>>   scripts/runqemu          |    6 ++++++
>>   scripts/runqemu-internal |    5 +++++
>>   2 files changed, 11 insertions(+)
>>
>> diff --git a/scripts/runqemu b/scripts/runqemu
>> index 7454dd4..6f2f861 100755
>> --- a/scripts/runqemu
>> +++ b/scripts/runqemu
>> @@ -26,6 +26,7 @@ usage() {
>>       echo "  KERNEL - the kernel image file to use"
>>       echo "  ROOTFS - the rootfs image file or nfsroot directory to use"
>>       echo "  MACHINE - the machine name (optional, autodetected from KERNEL filename if unspecified)"
>> +    echo "  TINY - specify 'tiny' if booting a poky-tiny image"
>
>
> you seem to be mixing poky distro with OE-Core here. As a whole the
> patch seems like adding support for ramfs based images. If you intend
> to just have images specific to poky then this patch
> belongs to [poky] but if you generalize it enough that non
> tiny users can also leverage this then it certainly is good
> for OE-Core.

Hi Khem,

I had a hunch I'd get called out for this. :)

I will respin by changing the "tiny" feature to "ramfs". I definitely 
don't want to see the runqemu script diverge between oe-core and poky.

Scott

Patch

diff --git a/scripts/runqemu b/scripts/runqemu
index 7454dd4..6f2f861 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -26,6 +26,7 @@  usage() {
     echo "  KERNEL - the kernel image file to use"
     echo "  ROOTFS - the rootfs image file or nfsroot directory to use"
     echo "  MACHINE - the machine name (optional, autodetected from KERNEL filename if unspecified)"
+    echo "  TINY - specify 'tiny' if booting a poky-tiny image"
     echo "  Simplified QEMU command-line options can be passed with:"
     echo "    nographic - disables video console"
     echo "    serial - enables a serial console on /dev/ttyS0"
@@ -37,6 +38,7 @@  usage() {
     echo "  $MYNAME qemuarm"
     echo "  $MYNAME qemux86-64 core-image-sato ext3"
     echo "  $MYNAME path/to/bzImage-qemux86.bin path/to/nfsrootdir/ serial"
+    echo "  $MYNAME qemux86 tiny"
     echo "  $MYNAME qemux86 qemuparams=\"-m 256\""
     echo "  $MYNAME qemux86 bootparams=\"psplash=false\""
     exit 1
@@ -118,6 +120,10 @@  while true; do
                 LAZY_ROOTFS="true"
             fi
             ;;
+        "tiny")
+            FSTYPE=cpio.gz
+            TINY=true
+            ;;
         "nographic")
             SCRIPT_QEMU_OPT="$SCRIPT_QEMU_OPT -nographic"
             SCRIPT_KERNEL_OPT="$SCRIPT_KERNEL_OPT console=ttyS0"
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index eeadb24..5147c86 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -453,6 +453,11 @@  if [ "$MACHINE" = "akita" ]; then
     fi
 fi
 
+if [ "x$TINY" = "xtrue" ]; then
+    QEMUOPTIONS="-initrd $ROOTFS -nographic"
+    KERNCMDLINE="console=ttyS0 root=/dev/ram0"
+fi
+
 if [ "x$QEMUOPTIONS" = "x" ]; then
     echo "Error: Unable to support this combination of options"
     cleanup