QEMU boot using u-boot with powerpc

-1

I would like to ask how is it possible to add an image to QEMU which contain the u-boot image + Kernel image + rootfs using the ppc64 architecture. I have succeeded running the QEMU up until the u-boot - but can't contiune from there to upload and run the Linux files.

I am using QEMU 2.5 (compiled from sources) at Linux Ubuntu 16.04 development host.

Tried also to use the Ethernet capability of the QEMU using -netdev and e1000 built-in Ethernet device but somehow get a message that Ethernet is not working properly (""). The -netdev nic doesn't work either (don't recognize).

Try to follow the recipe given at an ARM target blog with respect to u-boot resides at flash - what are the addresses at PowerPC64 boot up sequence ? Can I avoid patching the u-boot ? See (Booting Linux with U-Boot on QEMU ARM).

To give an idea of what I have tried already, please follow the work done and see what are the error I get.

Serial com trials - QEMU

Terminal 1:

$ /home/itzhakc/qemu-2.10.2/ppc-softmmu/gemu-system-ppe -nographic -m 256 ppce500 ulmage-serial pty

WARNING: Image format was not specified for 'ulmage' and probing guessed raw block 0 will be restricted. QEMU 2.10.2 monitor -type help' for more information Automatically detecting the format is dangerous for raw images, write operat Specify the 'raw' format explicitly to remove the restrictions. (gemu) qemu-system-ppc: -serial pty: char device redirected to /dev/pts/24 (label serial0)

Terminal 2:

$ sudo screen /dev/pts/24

u-boot starts...

typing inside u-boot console:

==> loadb 0x02000000 9600

## Switch baudrate to 9600 bps and press ENTER

## Ready for binary (kermit) download to 0x02000000 at 9600 bps

(u-boot waits)

Terminal 3:

$ sudo minicom -b 9600 -D/dev/pts/24

Trying at Terminal 3 (minicom application) to send at kermit mode the ulmage fi errors and minicom resets itself:

Welcome to minicom 2.7

OPTIONS: 118n

Compiled on Feb 7 2016, 13:37:27.

Port/dev/pts/24, 15:23:28

Press CTRL-A Z for help on special key

when following the menu of the minicom (Ctrl-A Z, ...) and put an uImage file for transferring, when executing: lots of error get counted and minicom quits the file transfer menu.

Ethernet trials - QEMU

$ /home/itzhakc/qemu-2.10.2/ppc softmmu/qemu-system ppe nographic -m 256 -M ppce500 ulmage -netdev user,id-ul -device e1000,netdev-ul

U-Boot 2017.07 (Jul 12 2017-12:20:30 +0000)

CPU: Unknown, Version: 0.0, (0x00000000)

Core: e500, Version: 3.0, (0x80210030)

Clock Configuration

CPU0:400 MHz,

CCB:400 MHz,

DDR:200 MHz (400 MT/s data rate), LBC: unknown (LCRRICIKDIV] = 0x00)

L1: D-cache 32 KiB enabled

I-cache 32 KiB enabled

DRAM: 256 MiB

L2: disabled

Using default environment

PCI: base address e0008000

00:01.0 -8086:100e Network controller

PCII: Bus 00-00

In: serial

Out: serial

Err: serial

Net: e1000: 00:00:00:00:00:00

Error: e1000#0 address not set

Hit any key to stop autoboot: 0

e1000#()

=>pci

Scanning PCI devices on bus 0

BusDevFun Vendorld Deviceld Device Class Sub-Class


00.01.00 0x8086 0x100e Network controller 0x00

setting up serverip and ipaddr variable for bootp but gets an error when pinging-

at other terminal typing ifocnfig and inpsecting that ip address is 10.0.2.100

then at the u-boot terminal, typing:

=> setenv serverip 10.0.2.100

=> setenv ipaddr 10.0.2.50

=> ping 10.0.2.100

we get:

e1000: e1000#0: ERROR: Hardware Initialization Failed

ping failed; host 10.0.2.100 is not alive

trying to tftp boot:

=> tftp 0x2000000 ulmage

we get:

e1000: e1000#0: ERROR: Hardware Initialization Failed

when doing memory dump at the Eth. Address we get:

=> md e0008000

E0008000: 8000F800 FFFFFFFF 00000000 00000000 ................

E0008010: 00000000 00000000 00000000 00000000 ................

E0008020: 00000000 00000000 00000000 00000000 ................

E0008030: 00000000 00000000 00000000 00000000 ................

E0008040: 00000000 00000000 00000000 00000000 ................

E0008050: 00000000 00000000 00000000 00000000 ................

E0008060: 00000000 00000000 00000000 00000000 ................

E0008070: 00000000 00000000 00000000 00000000 ................

E0008080: 00000000 00000000 00000000 00000000 ................

E0008090: 00000000 00000000 00000000 00000000 ................

E00080A0: 00000000 00000000 00000000 00000000 ................

E00080B0: 00000000 00000000 00000000 00000000 ................

E00080C0: 00000000 00000000 00000000 00000000 ................

E00080D0: 00000000 00000000 00000000 00000000 ................

E00080E0: 00000000 00000000 00000000 00000000 ................

E00080F0: 00000000 00000000 00000000 00000000 ................

Why I can't see the op. code of the ethernet device? How to boot a ppc64 machine?

linux
kernel
qemu
u-boot
powerpc
asked on Stack Overflow Aug 15, 2018 by Itzik Chaimov • edited Sep 5, 2018 by Itzik Chaimov

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0