2020-12-13 14:02:37 +00:00
|
|
|
This is intended to be used with OpenWrt project to provide image for use with
|
armvirt: merge arm64 as subtarget 64
Original armvirt target is now subtarget 32. Other than that the built
result should remain the same as before
Besides old features already available with arm64, the new armvirt/64
subtarget will also have those features originally enabled for
armvirt/32 with commit 44ecfc2 ("armvirt: new target")
- 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
- DEBUG_BUGVERBOSE for debug purposes
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2017-04-18 12:59:52 +00: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 15:21:30 +00:00
|
|
|
|
|
|
|
Run with qemu-system-arm
|
|
|
|
|
|
|
|
# boot with initramfs embedded in
|
2017-11-07 08:45:52 +00: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 15:21:30 +00:00
|
|
|
|
|
|
|
# boot with accel=kvm
|
armvirt: merge arm64 as subtarget 64
Original armvirt target is now subtarget 32. Other than that the built
result should remain the same as before
Besides old features already available with arm64, the new armvirt/64
subtarget will also have those features originally enabled for
armvirt/32 with commit 44ecfc2 ("armvirt: new target")
- 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
- DEBUG_BUGVERBOSE for debug purposes
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2017-04-18 12:59:52 +00:00
|
|
|
qemu-system-arm -nographic -M virt,accel=kvm -cpu host -m 64 -kernel
|
2017-11-07 08:45:52 +00:00
|
|
|
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 15:21:30 +00:00
|
|
|
|
|
|
|
# boot with a separate rootfs
|
2017-11-07 08:45:52 +00: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 15:21:30 +00:00
|
|
|
|
|
|
|
# boot with local dir as rootfs
|
2017-11-07 08:45:52 +00: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 15:21:30 +00: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
|
2017-11-07 08:45:52 +00: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 15:21:30 +00:00
|
|
|
|
|
|
|
# start with virtio-9p rootfs
|
2017-11-07 08:45:52 +00: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 15:21:30 +00:00
|
|
|
|
|
|
|
# stop "armvirt0"
|
|
|
|
lkvm stop --name armvirt0
|
|
|
|
|
|
|
|
# stop all
|
|
|
|
lkvm stop --all
|
armvirt: merge arm64 as subtarget 64
Original armvirt target is now subtarget 32. Other than that the built
result should remain the same as before
Besides old features already available with arm64, the new armvirt/64
subtarget will also have those features originally enabled for
armvirt/32 with commit 44ecfc2 ("armvirt: new target")
- 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
- DEBUG_BUGVERBOSE for debug purposes
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2017-04-18 12:59:52 +00:00
|
|
|
|
|
|
|
The multi-platform ARMv8 target can be used with QEMU:
|
|
|
|
|
|
|
|
qemu-system-aarch64 -machine virt -cpu cortex-a57 -nographic \
|
2017-11-07 08:45:52 +00:00
|
|
|
-kernel openwrt-armvirt-64-Image-initramfs \
|