Eu compilei um kernel Linux e gerou um sistema de arquivos raiz usando buildroot
para o PowerPC de 64 bits. A CPU alvo é o POWER7.
Saída do buildroot:
1] rootfs.cpio 2] rootfs.ext2 3] rootfs.tar.gz 4] vmlinux
Se eu iniciar a simulação qemu
com:
qemu-system-ppc64 -m 1024 -kernel output/images/vmlinux -initrd output/images/rootfs.cpio -serial stdio
Eu recebo:
No console specified using screen & keyboard Detected RAM kernel at 400000 (1427538 bytes) Welcome to Open Firmware Copyright (c) 2004, 2011 IBM Corporation All rights reserved. This program and the accompanying materials are made available under the terms of the BSD License available at http://www.opensource.org/licenses/bsd-license.php Booting from memory... OF stdout device is: /pci@800000020000000/vga@0 Preparing to boot Linux version 4.13.16 (root@CPU03) (gcc version 6.4.0 (Buildroot 2017.11-rc2-00050-gad477b0-dirty)) #0 SMP Mon Dec 18 19:47:46 IST 2017 Detected machine type: 0000000000000101 command line: Max number of cores passed to firmware: 32 (NR_CPUS = 32) Calling ibm,client-architecture-support... done memory layout at init: memory_limit : 0000000000000000 (16 MB aligned) alloc_bottom : 000000000182c000 alloc_top : 0000000030000000 alloc_top_hi : 0000000040000000 rmo_top : 0000000030000000 ram_top : 0000000040000000 found display : /pci@800000020000000/vga@0, opening... done Setting btext ! W=800 H=600 LB=3200 addr=0x0000000000000002 instantiating rtas at 0x000000002ffff000... done prom_hold_cpus: skipped copying OF device tree... Building dt strings... Building dt structure... Device tree strings 0x000000000422d000 -> 0x000000000422dabf Device tree struct 0x000000000422e000 -> 0x0000000004232000 Quiescing Open Firmware ... Booting Linux via __start() @ 0x0000000000400000 ...
Se eu iniciar qemu
com:
qemu-system-ppc64 -M pseries -cpu POWER7 -m 1024 -kernel output/images/vmlinux -append 'console=hvc0 root=/dev/sda' -drive file=output/images/rootfs.ext2,if=scsi,index=0,format=raw -serial stdio
Eu recebo:
No console specified using screen & keyboard Detected RAM kernel at 400000 (1427538 bytes) Welcome to Open Firmware Copyright (c) 2004, 2011 IBM Corporation All rights reserved. This program and the accompanying materials are made available under the terms of the BSD License available at http://www.opensource.org/licenses/bsd-license.php Booting from memory... OF stdout device is: /pci@800000020000000/vga@0 Preparing to boot Linux version 4.13.16 (root@CPU03) (gcc version 6.4.0 (Buildroot 2017.11-rc2-00050-gad477b0-dirty)) #0 SMP Mon Dec 18 19:47:46 IST 2017 Detected machine type: 0000000000000101 command line: console=hvc0 root=/dev/sda Max number of cores passed to firmware: 32 (NR_CPUS = 32) Calling ibm,client-architecture-support... done memory layout at init: memory_limit : 0000000000000000 (16 MB aligned) alloc_bottom : 000000000182c000 alloc_top : 0000000030000000 alloc_top_hi : 0000000040000000 rmo_top : 0000000030000000 ram_top : 0000000040000000 found display : /pci@800000020000000/vga@0, opening... done Setting btext ! W=800 H=600 LB=3200 addr=0x0000000000000002 instantiating rtas at 0x000000002ffff000... done prom_hold_cpus: skipped copying OF device tree... Building dt strings... Building dt structure... Device tree strings 0x000000000182d000 -> 0x000000000182dac4 Device tree struct 0x000000000182e000 -> 0x0000000001832000 Quiescing Open Firmware ... Booting Linux via __start() @ 0x0000000000400000 ...
O que eu fiz de errado e o que posso fazer para corrigir isso?
Tags qemu powerpc linux-kernel buildroot