* [oe-core 1/5] qemu: Add cpio to the list of image filesystem types.
@ 2013-08-29 18:35 Elvis Dowson
2013-08-29 18:35 ` [oe-core 2/5] qemu: Add support for qemuarma9 Elvis Dowson
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Elvis Dowson @ 2013-08-29 18:35 UTC (permalink / raw)
To: openembedded-devel; +Cc: bruce.ashfield, Elvis Dowson
Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
---
meta/conf/machine/include/qemu.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc
index 545f8d1..d5c95ff 100644
--- a/meta/conf/machine/include/qemu.inc
+++ b/meta/conf/machine/include/qemu.inc
@@ -15,7 +15,7 @@ MACHINE_FEATURES = "apm alsa pcmcia bluetooth irda usbgadget screen"
MACHINEOVERRIDES =. "qemuall:"
-IMAGE_FSTYPES += "tar.bz2 ext3"
+IMAGE_FSTYPES += "cpio tar.bz2 ext3"
# Don't include kernels in standard images
RDEPENDS_kernel-base = ""
--
1.7.10.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [oe-core 2/5] qemu: Add support for qemuarma9.
2013-08-29 18:35 [oe-core 1/5] qemu: Add cpio to the list of image filesystem types Elvis Dowson
@ 2013-08-29 18:35 ` Elvis Dowson
2013-08-29 18:35 ` [oe-core 3/5] qemu: Add support for qemuarmv7 Elvis Dowson
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Elvis Dowson @ 2013-08-29 18:35 UTC (permalink / raw)
To: openembedded-devel; +Cc: bruce.ashfield, Elvis Dowson
This commit
- adds support for qemuarma9 machine support based on the vexpress-a9
platform.
Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
---
meta/conf/machine/qemuarma9.conf | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
create mode 100644 meta/conf/machine/qemuarma9.conf
diff --git a/meta/conf/machine/qemuarma9.conf b/meta/conf/machine/qemuarma9.conf
new file mode 100644
index 0000000..a46e28c
--- /dev/null
+++ b/meta/conf/machine/qemuarma9.conf
@@ -0,0 +1,24 @@
+#@TYPE: Machine
+#@NAME: qemuarma9
+#@DESCRIPTION: Machine configuration for QEMU ARM Cortex-A9.
+
+# Specify the default tune.
+DEFAULTTUNE = "armv7a-neon"
+
+require conf/machine/include/qemu.inc
+require conf/machine/include/tune-cortexa9.inc
+
+# Specify the preferred kernel version.
+PREFERRED_VERSION_linux-yocto ?= "3.8%"
+
+# Specify the kernel devicetree.
+KERNEL_DEVICETREE = "vexpress-v2p-ca9.dtb"
+
+# Specify the machine name used by the kernel.
+KMACHINE_qemuarma9 = "vexpress"
+
+# Specify the kernel image type.
+KERNEL_IMAGETYPE = "uImage"
+
+# Specify the serial console parameters.
+SERIAL_CONSOLE = "115200 ttyAMA0"
--
1.7.10.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [oe-core 3/5] qemu: Add support for qemuarmv7.
2013-08-29 18:35 [oe-core 1/5] qemu: Add cpio to the list of image filesystem types Elvis Dowson
2013-08-29 18:35 ` [oe-core 2/5] qemu: Add support for qemuarma9 Elvis Dowson
@ 2013-08-29 18:35 ` Elvis Dowson
2013-08-29 18:35 ` [oe-core 4/5] linux-yocto: Add support for qemuarmv7 and qemuarma9 Elvis Dowson
2013-08-29 18:35 ` [oe-core 5/5] qemu: runqemu: Add support for launching qemuarmv7 and qemuarma9 machine configurations Elvis Dowson
3 siblings, 0 replies; 6+ messages in thread
From: Elvis Dowson @ 2013-08-29 18:35 UTC (permalink / raw)
To: openembedded-devel; +Cc: bruce.ashfield, Elvis Dowson
This commit
- adds support for qemuarmv7 machine support based on the beagleboard
platform.
Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
---
meta/conf/machine/qemuarmv7.conf | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
create mode 100644 meta/conf/machine/qemuarmv7.conf
diff --git a/meta/conf/machine/qemuarmv7.conf b/meta/conf/machine/qemuarmv7.conf
new file mode 100644
index 0000000..7f70ddb
--- /dev/null
+++ b/meta/conf/machine/qemuarmv7.conf
@@ -0,0 +1,18 @@
+#@TYPE: Machine
+#@NAME: qemuarmv7
+#@DESCRIPTION: Machine configuration for QEMU ARM Cortex-A8.
+
+# Specify the default tune.
+DEFAULTTUNE = "armv7a-neon"
+
+require conf/machine/include/qemu.inc
+require conf/machine/include/tune-cortexa8.inc
+
+# Specify the preferred kernel version.
+PREFERRED_VERSION_linux-yocto ?= "3.8%"
+
+# Specify the machine name used by the kernel.
+KMACHINE_qemuarmv7 = "beagleboard"
+
+# Specify the serial console parameters.
+SERIAL_CONSOLE = "115200 ttyO2"
--
1.7.10.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [oe-core 4/5] linux-yocto: Add support for qemuarmv7 and qemuarma9.
2013-08-29 18:35 [oe-core 1/5] qemu: Add cpio to the list of image filesystem types Elvis Dowson
2013-08-29 18:35 ` [oe-core 2/5] qemu: Add support for qemuarma9 Elvis Dowson
2013-08-29 18:35 ` [oe-core 3/5] qemu: Add support for qemuarmv7 Elvis Dowson
@ 2013-08-29 18:35 ` Elvis Dowson
[not found] ` <521F963F.3070801@windriver.com>
2013-08-29 18:35 ` [oe-core 5/5] qemu: runqemu: Add support for launching qemuarmv7 and qemuarma9 machine configurations Elvis Dowson
3 siblings, 1 reply; 6+ messages in thread
From: Elvis Dowson @ 2013-08-29 18:35 UTC (permalink / raw)
To: openembedded-devel; +Cc: bruce.ashfield, Elvis Dowson
This commit
- adds qemuarmv7 and qemuarma9 to the list of compatible machines.
Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
---
meta/recipes-kernel/linux/linux-yocto_3.8.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-kernel/linux/linux-yocto_3.8.bb b/meta/recipes-kernel/linux/linux-yocto_3.8.bb
index 790e3e3..0bd9913 100644
--- a/meta/recipes-kernel/linux/linux-yocto_3.8.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_3.8.bb
@@ -21,7 +21,7 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
KMETA = "meta"
-COMPATIBLE_MACHINE = "qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
+COMPATIBLE_MACHINE = "qemuarm|qemuarmv7|qemuarma9|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
# Functionality flags
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
--
1.7.10.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [oe-core 5/5] qemu: runqemu: Add support for launching qemuarmv7 and qemuarma9 machine configurations.
2013-08-29 18:35 [oe-core 1/5] qemu: Add cpio to the list of image filesystem types Elvis Dowson
` (2 preceding siblings ...)
2013-08-29 18:35 ` [oe-core 4/5] linux-yocto: Add support for qemuarmv7 and qemuarma9 Elvis Dowson
@ 2013-08-29 18:35 ` Elvis Dowson
3 siblings, 0 replies; 6+ messages in thread
From: Elvis Dowson @ 2013-08-29 18:35 UTC (permalink / raw)
To: openembedded-devel; +Cc: bruce.ashfield, Elvis Dowson
This commit
- adds support for launching qemuarmv7 and qemuarmv9 machine configurations.
Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
---
scripts/runqemu | 14 ++++++++---
scripts/runqemu-internal | 58 ++++++++++++++++++++++++++++++++++++++++++----
2 files changed, 65 insertions(+), 7 deletions(-)
diff --git a/scripts/runqemu b/scripts/runqemu
index 04dc3b0..3282893 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -39,6 +39,8 @@ usage() {
echo ""
echo "Examples:"
echo " $MYNAME qemuarm"
+ echo " $MYNAME qemuarmv7"
+ echo " $MYNAME qemuarma9"
echo " $MYNAME qemux86-64 core-image-sato ext3"
echo " $MYNAME path/to/bzImage-qemux86.bin path/to/nfsrootdir/ serial"
echo " $MYNAME qemux86 ramfs"
@@ -107,7 +109,7 @@ KVM_ENABLED="no"
while true; do
arg=${1}
case "$arg" in
- "qemux86" | "qemux86-64" | "qemuarm" | "qemumips" | "qemumipsel" | \
+ "qemux86" | "qemux86-64" | "qemuarm" | "qemuarmv7" | "qemuarma9" |"qemumips" | "qemumipsel" | \
"qemumips64" | "qemush4" | "qemuppc" | "qemumicroblaze" | "qemuzynq")
[ -z "$MACHINE" ] && MACHINE=$arg || \
error "conflicting MACHINE types [$MACHINE] and [$arg]"
@@ -224,13 +226,13 @@ fi
if [ -z "$MACHINE" ]; then
if [ "x$FSTYPE" = "xvmdk" ]; then
- MACHINE=`basename $VM | sed 's/.*\(qemux86-64\|qemux86\|qemuarm\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/'`
+ MACHINE=`basename $VM | sed 's/.*\(qemux86-64\|qemux86\|qemuarm\|qemuarmv7\|qemuarma9\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/'`
if [ -z "$MACHINE" ]; then
error "Unable to set MACHINE from vmdk filename [$VM]"
fi
echo "Set MACHINE to [$MACHINE] based on vmdk [$VM]"
else
- MACHINE=`basename $KERNEL | sed 's/.*\(qemux86-64\|qemux86\|qemuarm\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/'`
+ MACHINE=`basename $KERNEL | sed 's/.*\(qemux86-64\|qemux86\|qemuarm\|qemuarmv7\|qemuarma9\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/'`
if [ -z "$MACHINE" ]; then
error "Unable to set MACHINE from kernel filename [$KERNEL]"
fi
@@ -294,6 +296,12 @@ QEMUX86_64_DEFAULT_FSTYPE=ext3
QEMUARM_DEFAULT_KERNEL=zImage-qemuarm.bin
QEMUARM_DEFAULT_FSTYPE=ext3
+QEMUARMV7_DEFAULT_KERNEL=zImage-qemuarmv7.bin
+QEMUARMV7_DEFAULT_FSTYPE=ext3
+
+QEMUARMA9_DEFAULT_KERNEL=uImage
+QEMUARMA9_DEFAULT_FSTYPE=cpio
+
QEMUMIPS_DEFAULT_KERNEL=vmlinux-qemumips.bin
QEMUMIPS_DEFAULT_FSTYPE=ext3
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index 8a6e551..3f35054 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -50,6 +50,12 @@ else
"qemuarm")
mem_size=128
;;
+ "qemuarmv7")
+ mem_size=1024
+ ;;
+ "qemuarma9")
+ mem_size=1024
+ ;;
"qemumicroblaze")
mem_size=64
;;
@@ -267,6 +273,8 @@ fi
case "$MACHINE" in
"qemuarm") ;;
+ "qemuarmv7") ;;
+ "qemuarma9") ;;
"qemumicroblaze") ;;
"qemumips") ;;
"qemumipsel") ;;
@@ -325,7 +333,7 @@ if [ "$NFS_SERVER" = "" ]; then
NFS_DIR=$ROOTFS
fi
-if [ "$MACHINE" = "qemuarm" -o "$MACHINE" = "qemuarmv6" -o "$MACHINE" = "qemuarmv7" ]; then
+if [ "$MACHINE" = "qemuarm" -o "$MACHINE" = "qemuarmv6" ]; then
QEMU=qemu-system-arm
MACHINE_SUBTYPE=versatilepb
export QEMU_AUDIO_DRV="none"
@@ -347,8 +355,50 @@ if [ "$MACHINE" = "qemuarm" -o "$MACHINE" = "qemuarmv6" -o "$MACHINE" = "qemuarm
if [ "$MACHINE" = "qemuarmv6" ]; then
QEMUOPTIONS="$QEMUOPTIONS -cpu arm1136"
fi
- if [ "$MACHINE" = "qemuarmv7" ]; then
- QEMUOPTIONS="$QEMUOPTIONS -cpu cortex-a8"
+fi
+
+if [ "$MACHINE" = "qemuarmv7" ]; then
+ QEMU=qemu-system-arm
+ MACHINE_SUBTYPE=beagle
+ export QEMU_AUDIO_DRV="none"
+ QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS"
+ # QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -force-pointer"
+ if [ "${FSTYPE:0:3}" = "ext" -o "$FSTYPE" = "btrfs" ]; then
+ KERNCMDLINE="root=/dev/sda rw console=ttyO2,115200 console=tty $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY highres=off"
+ QEMUOPTIONS="$QEMU_NETWORK_CMD -M ${MACHINE_SUBTYPE} -cpu cortex-a8 -hda $ROOTFS -no-reboot $QEMU_UI_OPTIONS"
+ fi
+
+ if [ "$FSTYPE" = "nfs" ]; then
+ if [ "$NFS_SERVER" = "192.168.7.1" -a ! -d "$NFS_DIR" ]; then
+ echo "Error: NFS mount point $ROOTFS doesn't exist"
+ cleanup
+ return 1
+ fi
+ KERNCMDLINE="root=/dev/nfs nfsroot=$NFS_SERVER:$NFS_DIR,$UNFS_OPTS rw $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
+ QEMUOPTIONS="$QEMU_NETWORK_CMD -M ${MACHINE_SUBTYPE} --no-reboot $QEMU_UI_OPTIONS"
+ fi
+fi
+
+if [ "$MACHINE" = "qemuarma9" ]; then
+ QEMU=qemu-system-arm
+ MACHINE_SUBTYPE=vexpress-a9
+ export QEMU_AUDIO_DRV="none"
+ QEMU_UI_OPTIONS="-show-cursor -usb"
+ # QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -force-pointer"
+ if [ "${FSTYPE:0:3}" = "ext" -o "${FSTYPE:0:4}" = "cpio" ]; then
+ KERNCMDLINE="earlyprintk root=/dev/ram0 rw console=ttyAMA0,38400n8 rootwait vmalloc=256MB devtmpfs.mount=0 console=tty mem=$QEMU_MEMORY highres=off"
+ QEMUOPTIONS="-M ${MACHINE_SUBTYPE} -cpu cortex-a9 -m 1024 -initrd $ROOTFS"
+ #QEMUOPTIONS="$QEMU_NETWORK_CMD -M ${MACHINE_SUBTYPE} -hda $ROOTFS -no-reboot $QEMU_UI_OPTIONS"
+ fi
+
+ if [ "$FSTYPE" = "nfs" ]; then
+ if [ "$NFS_SERVER" = "192.168.7.1" -a ! -d "$NFS_DIR" ]; then
+ echo "Error: NFS mount point $ROOTFS doesn't exist"
+ cleanup
+ return 1
+ fi
+ KERNCMDLINE="root=/dev/nfs nfsroot=$NFS_SERVER:$NFS_DIR,$UNFS_OPTS rw $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
+ QEMUOPTIONS="$QEMU_NETWORK_CMD -M ${MACHINE_SUBTYPE} --no-reboot $QEMU_UI_OPTIONS"
fi
fi
@@ -522,7 +572,7 @@ fi
if [ "x$RAMFS" = "xtrue" ]; then
QEMUOPTIONS="-initrd $ROOTFS -nographic"
- KERNCMDLINE="root=/dev/ram0 debugshell"
+ KERNCMDLINE="earlyprintk root=/dev/ram debugshell"
fi
if [ "x$ISOFS" = "xtrue" ]; then
--
1.7.10.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [oe-core 4/5] linux-yocto: Add support for qemuarmv7 and qemuarma9.
[not found] ` <521F963F.3070801@windriver.com>
@ 2013-08-29 18:48 ` Elvis Dowson
0 siblings, 0 replies; 6+ messages in thread
From: Elvis Dowson @ 2013-08-29 18:48 UTC (permalink / raw)
To: Bruce Ashfield; +Cc: openembedded-devel
Hi Bruce,
On Aug 29, 2013, at 10:43 PM, Bruce Ashfield <bruce.ashfield@windriver.com> wrote:
> On 13-08-29 02:35 PM, Elvis Dowson wrote:
>> This commit
>> - adds qemuarmv7 and qemuarma9 to the list of compatible machines.
>>
>> Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
>> ---
>> meta/recipes-kernel/linux/linux-yocto_3.8.bb | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/meta/recipes-kernel/linux/linux-yocto_3.8.bb b/meta/recipes-kernel/linux/linux-yocto_3.8.bb
>> index 790e3e3..0bd9913 100644
>> --- a/meta/recipes-kernel/linux/linux-yocto_3.8.bb
>> +++ b/meta/recipes-kernel/linux/linux-yocto_3.8.bb
>> @@ -21,7 +21,7 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
>>
>> KMETA = "meta"
>>
>> -COMPATIBLE_MACHINE = "qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
>> +COMPATIBLE_MACHINE = "qemuarm|qemuarmv7|qemuarma9|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
>
> We can add compatibility, but the same question needs to be asked
> to Richard when we added qemumips64: does the project have the capacity
> to build and QA the machines by default.
>
> We can always get everything working in layers for the time being and
> then move them into the core, once everything is working well, and
> everyone agrees to add the extra support load.
I recommend that we create a new meta-qemu layer, to support development of
qemu machine configurations for
qemuarmv7 (useful for emulating TI OMAP 3 based platforms)
qemuarma9 (useful for emulating TI OMAP 4 and Freescale i.MX6 platforms)
qemuarmv8 (for AArch64 platforms)
qemumips64
etc
That should just about cover current ARM A8, A9, A15 and MIPS64.
Best regards,
Elvis Dowson
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-08-29 18:49 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-29 18:35 [oe-core 1/5] qemu: Add cpio to the list of image filesystem types Elvis Dowson
2013-08-29 18:35 ` [oe-core 2/5] qemu: Add support for qemuarma9 Elvis Dowson
2013-08-29 18:35 ` [oe-core 3/5] qemu: Add support for qemuarmv7 Elvis Dowson
2013-08-29 18:35 ` [oe-core 4/5] linux-yocto: Add support for qemuarmv7 and qemuarma9 Elvis Dowson
[not found] ` <521F963F.3070801@windriver.com>
2013-08-29 18:48 ` Elvis Dowson
2013-08-29 18:35 ` [oe-core 5/5] qemu: runqemu: Add support for launching qemuarmv7 and qemuarma9 machine configurations Elvis Dowson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox