armvirt: new target
An ARM Cortex-A15 machine provided by QEMU.
Kernel drivers enabled:
- pl011, uart
- pl031, rtc
- pl061, gpio
- pci-host-generic
- virtio_{mmio,pci,net,blk,scsi,9p,console,balloon}
- smp with NR_CPUS=4
- cpu-hotplug
- ext4
- neon, vfp extensions support (otherwise userland will fail with
illegal instruction signal (code 0x00000004))
- DEBUG_BUGVERBOSE for debug purposes
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-12-08 23:21:30 +08:00
|
|
|
This is intended to be used with LEDE project to provide image for use with
|
2019-01-02 21:02:03 +08:00
|
|
|
QEMU ARM virt machine.
|
armvirt: new target
An ARM Cortex-A15 machine provided by QEMU.
Kernel drivers enabled:
- pl011, uart
- pl031, rtc
- pl061, gpio
- pci-host-generic
- virtio_{mmio,pci,net,blk,scsi,9p,console,balloon}
- smp with NR_CPUS=4
- cpu-hotplug
- ext4
- neon, vfp extensions support (otherwise userland will fail with
illegal instruction signal (code 0x00000004))
- DEBUG_BUGVERBOSE for debug purposes
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-12-08 23:21:30 +08:00
|
|
|
|
|
|
|
Run with qemu-system-arm
|
|
|
|
|
|
|
|
# boot with initramfs embedded in
|
2019-01-02 21:02:03 +08:00
|
|
|
qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armvirt-32-zImage-initramfs
|
armvirt: new target
An ARM Cortex-A15 machine provided by QEMU.
Kernel drivers enabled:
- pl011, uart
- pl031, rtc
- pl061, gpio
- pci-host-generic
- virtio_{mmio,pci,net,blk,scsi,9p,console,balloon}
- smp with NR_CPUS=4
- cpu-hotplug
- ext4
- neon, vfp extensions support (otherwise userland will fail with
illegal instruction signal (code 0x00000004))
- DEBUG_BUGVERBOSE for debug purposes
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-12-08 23:21:30 +08:00
|
|
|
|
|
|
|
# boot with accel=kvm
|
2019-01-02 21:02:03 +08:00
|
|
|
qemu-system-arm -nographic -M virt,accel=kvm -cpu host -m 64 -kernel
|
|
|
|
openwrt-armvirt-32-zImage-initramfs
|
armvirt: new target
An ARM Cortex-A15 machine provided by QEMU.
Kernel drivers enabled:
- pl011, uart
- pl031, rtc
- pl061, gpio
- pci-host-generic
- virtio_{mmio,pci,net,blk,scsi,9p,console,balloon}
- smp with NR_CPUS=4
- cpu-hotplug
- ext4
- neon, vfp extensions support (otherwise userland will fail with
illegal instruction signal (code 0x00000004))
- DEBUG_BUGVERBOSE for debug purposes
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-12-08 23:21:30 +08:00
|
|
|
|
|
|
|
# boot with a separate rootfs
|
2019-01-02 21:02:03 +08:00
|
|
|
qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armvirt-32-zImage \
|
|
|
|
-drive file=openwrt-armvirt-32-root.ext4,format=raw,if=virtio -append 'root=/dev/vda rootwait'
|
armvirt: new target
An ARM Cortex-A15 machine provided by QEMU.
Kernel drivers enabled:
- pl011, uart
- pl031, rtc
- pl061, gpio
- pci-host-generic
- virtio_{mmio,pci,net,blk,scsi,9p,console,balloon}
- smp with NR_CPUS=4
- cpu-hotplug
- ext4
- neon, vfp extensions support (otherwise userland will fail with
illegal instruction signal (code 0x00000004))
- DEBUG_BUGVERBOSE for debug purposes
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-12-08 23:21:30 +08:00
|
|
|
|
|
|
|
# boot with local dir as rootfs
|
2019-01-02 21:02:03 +08:00
|
|
|
qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armvirt-32-zImage \
|
armvirt: new target
An ARM Cortex-A15 machine provided by QEMU.
Kernel drivers enabled:
- pl011, uart
- pl031, rtc
- pl061, gpio
- pci-host-generic
- virtio_{mmio,pci,net,blk,scsi,9p,console,balloon}
- smp with NR_CPUS=4
- cpu-hotplug
- ext4
- neon, vfp extensions support (otherwise userland will fail with
illegal instruction signal (code 0x00000004))
- DEBUG_BUGVERBOSE for debug purposes
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-12-08 23:21:30 +08:00
|
|
|
-fsdev local,id=rootdev,path=root-armvirt/,security_model=none \
|
|
|
|
-device virtio-9p-pci,fsdev=rootdev,mount_tag=/dev/root \
|
|
|
|
-append 'rootflags=trans=virtio,version=9p2000.L,cache=loose rootfstype=9p'
|
|
|
|
|
|
|
|
Run with kvmtool
|
|
|
|
|
|
|
|
# start a named machine
|
2019-01-02 21:02:03 +08:00
|
|
|
lkvm run -k openwrt-armvirt-32-zImage -i openwrt-armvirt-32-rootfs.cpio --name armvirt0
|
armvirt: new target
An ARM Cortex-A15 machine provided by QEMU.
Kernel drivers enabled:
- pl011, uart
- pl031, rtc
- pl061, gpio
- pci-host-generic
- virtio_{mmio,pci,net,blk,scsi,9p,console,balloon}
- smp with NR_CPUS=4
- cpu-hotplug
- ext4
- neon, vfp extensions support (otherwise userland will fail with
illegal instruction signal (code 0x00000004))
- DEBUG_BUGVERBOSE for debug purposes
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-12-08 23:21:30 +08:00
|
|
|
|
|
|
|
# start with virtio-9p rootfs
|
2019-01-02 21:02:03 +08:00
|
|
|
lkvm run -k openwrt-armvirt-32-zImage -d root-armvirt/
|
armvirt: new target
An ARM Cortex-A15 machine provided by QEMU.
Kernel drivers enabled:
- pl011, uart
- pl031, rtc
- pl061, gpio
- pci-host-generic
- virtio_{mmio,pci,net,blk,scsi,9p,console,balloon}
- smp with NR_CPUS=4
- cpu-hotplug
- ext4
- neon, vfp extensions support (otherwise userland will fail with
illegal instruction signal (code 0x00000004))
- DEBUG_BUGVERBOSE for debug purposes
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-12-08 23:21:30 +08:00
|
|
|
|
|
|
|
# stop "armvirt0"
|
|
|
|
lkvm stop --name armvirt0
|
|
|
|
|
|
|
|
# stop all
|
|
|
|
lkvm stop --all
|
2019-01-02 21:02:03 +08:00
|
|
|
|
|
|
|
The multi-platform ARMv8 target can be used with QEMU:
|
|
|
|
|
|
|
|
qemu-system-aarch64 -machine virt -cpu cortex-a57 -nographic \
|
|
|
|
-kernel openwrt-armvirt-64-Image-initramfs \
|