Bug 3990 - qemuarm and qemuppc poky-tiny images can not boot up via "runqemu qemuarch ramfs" command
Summary: qemuarm and qemuppc poky-tiny images can not boot up via "runqemu qemuarch ra...
Status: RESOLVED OBSOLETE
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: 1.4
Hardware: x86 Multiple
: Medium enhancement
Target Milestone: 2.3
Assignee: Jackie Huang
QA Contact:
URL:
Whiteboard:
Depends on: 4827
Blocks:
  Show dependency tree
 
Reported: 2013-03-06 07:53 UTC by Yi Zhao
Modified: 2016-11-08 02:17 UTC (History)
7 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: Don't know


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Yi Zhao 2013-03-06 07:53:27 UTC
Branch: poky/master
Git rev: 0bedc0b80d9b46cbbf4a2c5e120a6aa52cbc7c2e

Steps:
1. Build qemuarm or qemuppc poky-tiny image
2. Run command "runqemu qemuarm ramfs" or "runqemu qemuppc ramfs" to boot up the image.

I also tried qemux86, qemux86-64 and qemumips, they can boot up without problem.

Boot message:
Qemuarm:
###############
$ runqemu qemuarm ramfs

Continuing with the following parameters:
KERNEL: [/buildarea3/yzhao1/poky-build/build-qemuarm/tmp/deploy/images/zImage-qemuarm.bin]
ROOTFS: [/buildarea3/yzhao1/poky-build/build-qemuarm/tmp/deploy/images/core-image-minimal-qemuarm.cpio.gz]
FSTYPE: [cpio.gz]
Setting up tap interface under sudo
Acquiring lockfile for tap0...
WARNING: distccd not present, no distcc support loaded.
Running qemu-system-arm...
/buildarea3/yzhao1/poky-build/build-qemuarm/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-arm -kernel /buildarea3/yzhao1/poky-build/build-qemuarm/tmp/deploy/images/zImage-qemuarm.bin -initrd /buildarea3/yzhao1/poky-build/build-qemuarm/tmp/deploy/images/core-image-minimal-qemuarm.cpio.gz -nographic -no-reboot -m 128 --append "root=/dev/ram0 debugshell "
qemu: hardware error: integratorcm_read: Unimplemented offset 0x1f1018

CPU #0:
R00=007dfa9c R01=00000055 R02=101f1000 R03=00000113
R04=00b8652c R05=00b86560 R06=00b86558 R07=00000113
R08=00000100 R09=007db6b0 R10=007dae2c R11=00b87554
R12=0000000d R13=00b87548 R14=007dbecc R15=007dbdcc
PSR=200001d3 --C- A svc32
s00=00000000 s01=00000000 d00=0000000000000000
s02=00000000 s03=00000000 d01=0000000000000000
s04=00000000 s05=00000000 d02=0000000000000000
s06=00000000 s07=00000000 d03=0000000000000000
s08=00000000 s09=00000000 d04=0000000000000000
s10=00000000 s11=00000000 d05=0000000000000000
s12=00000000 s13=00000000 d06=0000000000000000
s14=00000000 s15=00000000 d07=0000000000000000
s16=00000000 s17=00000000 d08=0000000000000000
s18=00000000 s19=00000000 d09=0000000000000000
s20=00000000 s21=00000000 d10=0000000000000000
s22=00000000 s23=00000000 d11=0000000000000000
s24=00000000 s25=00000000 d12=0000000000000000
s26=00000000 s27=00000000 d13=0000000000000000
s28=00000000 s29=00000000 d14=0000000000000000
s30=00000000 s31=00000000 d15=0000000000000000
FPSCR: 00000000
/buildarea3/yzhao1/poky-build/scripts/runqemu-internal: line 590:  3871 Aborted                 LD_PRELOAD="$GL_LD_PRELOAD" $QEMUBIN -kernel $KERNEL $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT --append "$KERNCMDLINE $SCRIPT_KERNEL_OPT"
Set 'tap0' nonpersistent
Releasing lockfile of preconfigured tap device 'tap0' 
###################

Qemuppc:
###################
$ runqemu qemuppc ramfs

Continuing with the following parameters:
KERNEL: [/buildarea3/yzhao1/poky-build/build-qemuarm/tmp/deploy/images/vmlinux-qemuppc.bin]
ROOTFS: [/buildarea3/yzhao1/poky-build/build-qemuarm/tmp/deploy/images/core-image-minimal-qemuppc.cpio.gz]
FSTYPE: [cpio.gz]
Setting up tap interface under sudo
Acquiring lockfile for tap0...
WARNING: distccd not present, no distcc support loaded.
Running qemu-system-ppc...
/buildarea3/yzhao1/poky-build/build-qemuarm/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-ppc -kernel /buildarea3/yzhao1/poky-build/build-qemuarm/tmp/deploy/images/vmlinux-qemuppc.bin -initrd /buildarea3/yzhao1/poky-build/build-qemuarm/tmp/deploy/images/core-image-minimal-qemuppc.cpio.gz -nographic -no-reboot -m 128 --append "root=/dev/ram0 debugshell "

>> =============================================================
>> OpenBIOS 1.0 [Aug 28 2012 05:40]
>> Configuration device id QEMU version 1 machine id 2
>> CPUs: 1
>> Memory: 128M
>> UUID: 00000000-0000-0000-0000-000000000000
>> CPU type PowerPC,750
Welcome to OpenBIOS v1.0 built on Aug 28 2012 05:40
>> [ppc] Kernel already loaded (0x01000000 + 0x00885e9c) (initrd 0x01986000 + 0x001a2576)
>> [ppc] Kernel command line: root=/dev/ram0 debugshell 
OF stdout device is: /pci@80000000/mac-io@4/escc@13000/ch-b@13000
Preparing to boot Linux version 3.4.28-yocto-standard (builder@pek-yocto-build2) (gcc version 4.7.2 (GCC) ) #1 PREEMPT Mon Mar 4 15:38:36 CST 2013
Detected machine type: 00000400
command line: 
memory layout at init:
  memory_limit : 00000000 (16 MB aligned)
  alloc_bottom : 01b29000
  alloc_top    : 08000000
  alloc_top_hi : 08000000
  rmo_top      : 08000000
  ram_top      : 08000000
found display   : /pci@80000000/QEMU,VGA@1, opening... done
copying OF device tree...
Building dt strings...
Building dt structure...
Device tree strings 0x01b2a000 -> 0x01b2a4ee
Device tree struct  0x01b2b000 -> 0x01b2d000
Calling quiesce...
returning from prom_init

###############
Comment 1 Darren Hart 2013-03-07 15:44:16 UTC
ppc and arm are currently not really tested with tiny. Note that linux-yocto-tiny COMPATIBLE_MACHINE only lists qemux86. We need to support the others, but that is an enhancement to what exists currently.

I suggest Scott verify runqemu does what it is supposed to here and that the failure is that the kernel in use is linux-yocto (and not linux-yocto-tiny). 

Another bug should be opened to add supported to tiny for the other archs.
Comment 2 Benjamin Esquivel 2015-09-04 20:38:31 UTC
what's poky tiny?
Comment 3 Benjamin Esquivel 2015-09-04 22:59:32 UTC
I have been unable to reproduce this as I get an even more basic failure in runqemu.

Will continue debugging next week.
Comment 4 Randy MacLeod 2015-11-16 16:26:53 UTC
Jackie does this work for you now on 2.0?
Comment 5 Jackie Huang 2016-09-08 07:38:50 UTC
(In reply to comment #4)
> Jackie does this work for you now on 2.0?

No, for now, linux-yocto-tiny COMPATIBLE_MACHINE only lists qemux86, qemuarm and qemuppc can't even be built.
Comment 7 Jackie Huang 2016-11-08 02:17:51 UTC
linux-yocto-tiny is limited to only qemux86 now.