Re: arm64 Kernel build for qemu-system-aarch64 ?

From: Mark Rutland
Date: Fri Feb 22 2019 - 09:11:09 EST


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.