2019-02-22 13:49:40

by Pintu Kumar

[permalink] [raw]
Subject: arm64 Kernel build for qemu-system-aarch64 ?

Hi All,

I want to build Linux Kernel 4.20 for arm64 and use it on qemu-arm64.
I see that there is a defconfig available in arch/arm64/configs/defconfig
But I am not sure whether it will work for qemu-arm64, and by default
which machine type is supported.

I already have working setup for qemu-arm for both versatile and
vexpress machine. There is already a defconfig available for these
under arch/arm.
So I can build the kernel for it.

But, whether these defconfig are supported for arm64 ?
If anybody have setup for qemu-arm64 kernel, please share the steps.
About rootfs, I am planning to use the arm32 version of busybox itself.


Thanks,
Pintu


2019-02-22 14:12:11

by Mark Rutland

[permalink] [raw]
Subject: Re: arm64 Kernel build for qemu-system-aarch64 ?

On Fri, Feb 22, 2019 at 07:17:00PM +0530, Pintu Agarwal wrote:
> Hi All,

Hi,

> I want to build Linux Kernel 4.20 for arm64 and use it on qemu-arm64.
> I see that there is a defconfig available in arch/arm64/configs/defconfig
> But I am not sure whether it will work for qemu-arm64, and by default
> which machine type is supported.
>
> I already have working setup for qemu-arm for both versatile and
> vexpress machine. There is already a defconfig available for these
> under arch/arm.
> So I can build the kernel for it.
>
> But, whether these defconfig are supported for arm64 ?
> If anybody have setup for qemu-arm64 kernel, please share the steps.
> About rootfs, I am planning to use the arm32 version of busybox itself.

The arm64 defconfig is intended to work for all platforms.

I use that with qemu's '-machine virt'. Assuming you use virtio-net and
virtio-block, no additional drivers are required.

For example, I can boot a defconfig kernel using the followign QEMU options:

qemu-system-aarch64 \
-m 2048 -smp 4 \
-net nic \
-net user,host=10.0.2.10,hostfwd=tcp::65022-:22 \
-nographic \
-no-reboot \
-machine virt,accel=kvm,gic_version=host \
-cpu host \
-hda ${FILESYSTEM} \
-snapshot \
-kernel ${KERNEL} \
-append "earlycon root=/dev/vda panic_on_warn"

Thanks,
Mark.

2019-02-22 16:51:44

by Pintu Kumar

[permalink] [raw]
Subject: Re: arm64 Kernel build for qemu-system-aarch64 ?

On Fri, Feb 22, 2019 at 7:41 PM Mark Rutland <[email protected]> wrote:
>
> On Fri, Feb 22, 2019 at 07:17:00PM +0530, Pintu Agarwal wrote:
> > Hi All,
>
> Hi,
>
> > I want to build Linux Kernel 4.20 for arm64 and use it on qemu-arm64.
> > I see that there is a defconfig available in arch/arm64/configs/defconfig
> > But I am not sure whether it will work for qemu-arm64, and by default
> > which machine type is supported.
> >
> > I already have working setup for qemu-arm for both versatile and
> > vexpress machine. There is already a defconfig available for these
> > under arch/arm.
> > So I can build the kernel for it.
> >
> > But, whether these defconfig are supported for arm64 ?
> > If anybody have setup for qemu-arm64 kernel, please share the steps.
> > About rootfs, I am planning to use the arm32 version of busybox itself.
>
> The arm64 defconfig is intended to work for all platforms.
>
> I use that with qemu's '-machine virt'. Assuming you use virtio-net and
> virtio-block, no additional drivers are required.
>
> For example, I can boot a defconfig kernel using the followign QEMU options:
>
> qemu-system-aarch64 \
> -m 2048 -smp 4 \
> -net nic \
> -net user,host=10.0.2.10,hostfwd=tcp::65022-:22 \
> -nographic \
> -no-reboot \
> -machine virt,accel=kvm,gic_version=host \
> -cpu host \
> -hda ${FILESYSTEM} \
> -snapshot \
> -kernel ${KERNEL} \
> -append "earlycon root=/dev/vda panic_on_warn"
>
> Thanks,
> Mark.

oh thank you so much for your information.
I was exactly looking for this option.
Let me try it on Monday.


Thanks