Help to test the powerpc architecture
Hi, I'm working in a new feature for the powerpc (64 bits little endian) architecture. Since I can't test it in a real environment, I need to emulate this arch. To do this I use qemu-ppc. My problem is that the built kernel don't boot in qemu. To build the kernel: make defconfig ARCH=powerpc Then I set to NO the CONFIG_KEXEC option as I found that qemu can't boot a KEXEC kernel. And now: make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- -j4 Finally I obtain a zImage in arch/powerpc/boot/ directory. Before to run qemu I create a rootfs with debootstrap. Then I run qemu with the following parameters: qemu-system-ppc -kernel /media/ubuntu/Data/linux/arch/powerpc/boot/zImage \ -append "root=/dev/sda console=ttyS0" \ -drive file=qemu_image.img,index=0,media=disk,format=raw \ --nographic If I add the "-prom-env boot-args=-v" to the end of the last command I get the same result. The qemu always stops at this point:
============================================================= OpenBIOS 1.1 [Dec 27 2018 23:11] Configuration device id QEMU version 1 machine id 2 CPUs: 1 Memory: 128M UUID: 00000000-0000-0000-0000-000000000000 CPU type PowerPC,750 milliseconds isn't unique. Welcome to OpenBIOS v1.1 built on Dec 27 2018 23:11 [ppc] Kernel already loaded (0x01000000 + 0x009085d8) (initrd 0x00000000 + 0x00000000) [ppc] Kernel command line: root=/dev/sda console=ttyS0 switching to new context:
Also, I've tried to build the kernel with a DTB embedded in the image, but not luck. The same result again. make ps3_defconfig ARCH=powerpc make ARCH=powerpc simpleImage.ps3 CROSS_COMPILE=powerpc-linux-gnu- -j4 I'm stuck at this point. I don't know how to configure the kernel to be able to boot with qemu. Any help to point me to the right direction will be greatly appreciated. Thank's in advance. Oscar Carter
On Sunday, 2 August, 2020 7:57:03 PM IST Oscar Carter wrote:
Hi,
I'm working in a new feature for the powerpc (64 bits little endian) architecture. Since I can't test it in a real environment, I need to emulate this arch. To do this I use qemu-ppc. My problem is that the built kernel don't boot in qemu.
To build the kernel:
make defconfig ARCH=powerpc
Then I set to NO the CONFIG_KEXEC option as I found that qemu can't boot a KEXEC kernel. And now:
make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- -j4
Finally I obtain a zImage in arch/powerpc/boot/ directory.
Before to run qemu I create a rootfs with debootstrap. Then I run qemu with the following parameters:
qemu-system-ppc -kernel /media/ubuntu/Data/linux/arch/powerpc/boot/zImage \ -append "root=/dev/sda console=ttyS0" \ -drive file=qemu_image.img,index=0,media=disk,format=raw \ --nographic
If I add the "-prom-env boot-args=-v" to the end of the last command I get
the same result. The qemu always stops at this point:
============================================================= OpenBIOS 1.1 [Dec 27 2018 23:11] Configuration device id QEMU version 1 machine id 2 CPUs: 1 Memory: 128M UUID: 00000000-0000-0000-0000-000000000000 CPU type PowerPC,750
milliseconds isn't unique. Welcome to OpenBIOS v1.1 built on Dec 27 2018 23:11
[ppc] Kernel already loaded (0x01000000 + 0x009085d8) (initrd 0x00000000 + 0x00000000) [ppc] Kernel command line: root=/dev/sda console=ttyS0
switching to new context: Also, I've tried to build the kernel with a DTB embedded in the image, but not luck. The same result again.
make ps3_defconfig ARCH=powerpc make ARCH=powerpc simpleImage.ps3 CROSS_COMPILE=powerpc-linux-gnu- -j4
I'm stuck at this point. I don't know how to configure the kernel to be able to boot with qemu. Any help to point me to the right direction will be greatly appreciated.
I used `pseries_defconfig` and have also used `pseries_le_defconfig` and have done successful boots. You should probably give the machine type in your qemu command line. `-M pseries` or whatever is the machine type is for ps3 Thanks, Santosh
Thank's in advance. Oscar Carter
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
On Mon, Aug 10, 2020 at 3:15 AM Santosh S <santosh@fossix.org> wrote:
On Sunday, 2 August, 2020 7:57:03 PM IST Oscar Carter wrote:
Hi,
I'm working in a new feature for the powerpc (64 bits little endian) architecture. Since I can't test it in a real environment, I need to emulate this arch. To do this I use qemu-ppc. My problem is that the built kernel don't boot in qemu.
To build the kernel:
I would recommend you try virtme, particularly virtme-config-kernel [jimc@frodo build-v1]$ virtme-configkernel --help usage: virtme-configkernel [-h] [--arch ARCHITECTURE] [--allnoconfig | --defconfig | --update] Configure a kernel for virtme optional arguments: -h, --help show this help message and exit --arch ARCHITECTURE Target architecture Mode: --allnoconfig Overwrite configuration with a virtme-suitable allnoconfig (unlikely to work) --defconfig Overwrite configuration with a virtme-suitable defconfig --update Update existing config for virtme
make defconfig ARCH=powerpc
Then I set to NO the CONFIG_KEXEC option as I found that qemu can't boot a KEXEC kernel. And now:
make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- -j4
Finally I obtain a zImage in arch/powerpc/boot/ directory.
Before to run qemu I create a rootfs with debootstrap. Then I run qemu with the following parameters:
qemu-system-ppc -kernel /media/ubuntu/Data/linux/arch/powerpc/boot/zImage \ -append "root=/dev/sda console=ttyS0" \ -drive file=qemu_image.img,index=0,media=disk,format=raw \ --nographic
If I add the "-prom-env boot-args=-v" to the end of the last command I get
the same result. The qemu always stops at this point:
============================================================= OpenBIOS 1.1 [Dec 27 2018 23:11] Configuration device id QEMU version 1 machine id 2 CPUs: 1 Memory: 128M UUID: 00000000-0000-0000-0000-000000000000 CPU type PowerPC,750
milliseconds isn't unique. Welcome to OpenBIOS v1.1 built on Dec 27 2018 23:11
[ppc] Kernel already loaded (0x01000000 + 0x009085d8) (initrd 0x00000000 + 0x00000000) [ppc] Kernel command line: root=/dev/sda console=ttyS0
switching to new context: Also, I've tried to build the kernel with a DTB embedded in the image, but not luck. The same result again.
make ps3_defconfig ARCH=powerpc make ARCH=powerpc simpleImage.ps3 CROSS_COMPILE=powerpc-linux-gnu- -j4
I'm stuck at this point. I don't know how to configure the kernel to be able to boot with qemu. Any help to point me to the right direction will be greatly appreciated.
I used `pseries_defconfig` and have also used `pseries_le_defconfig` and have done successful boots. You should probably give the machine type in your qemu command line.
`-M pseries`
or whatever is the machine type is for ps3
Thanks, Santosh
Thank's in advance. Oscar Carter
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
participants (3)
-
jim.cromie@gmail.com -
Oscar Carter -
Santosh S