lede-Heleguo/target/linux/armvirt
breakings 7d8ea657c6
armvirt: enable MMIO_CMDLINE_DEVICES for firecracker support (#9907)
This Kernel option allows to run OpenWrt witin a `firecracker` micro VM.

Firecracker is a KVM-based tool for superfast booting VMs on x86_64 and
aarch64. It makes rootfs available to the guest as a virtio-mmio device
and passes its address via the kernel cmdline. A kernel without
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES will not recognize the rootfs
virtio-mmio device.

Suggested-by: Packet Please <pktpls@systemli.org>
Signed-off-by: Paul Spooren <mail@aparcar.org>

Co-authored-by: Paul Spooren <mail@aparcar.org>
2022-08-10 13:00:47 +08:00
..
32 add kernel 5.10 support and sync with upstream 2021-06-14 18:30:08 +08:00
64 add kernel 5.10 support and sync with upstream 2021-06-14 18:30:08 +08:00
base-files/etc x64: fix grub2 booting 2021-06-15 17:58:07 +08:00
image add kernel 5.10 support and sync with upstream 2021-06-14 18:30:08 +08:00
config-5.4 add kernel 5.10 support and sync with upstream 2021-06-14 18:30:08 +08:00
config-5.10 armvirt: enable MMIO_CMDLINE_DEVICES for firecracker support (#9907) 2022-08-10 13:00:47 +08:00
Makefile armvirt: switch to Kernel 5.10 (#9906) 2022-08-10 13:00:22 +08:00
README kernel: bump 5.4 to 5.4.83 (#6040) 2020-12-17 23:29:07 +08:00

This is intended to be used with OpenWrt project to provide image for use with
QEMU ARM virt machine.

Run with qemu-system-arm

	# boot with initramfs embedded in
	qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armvirt-32-zImage-initramfs

	# boot with accel=kvm
	qemu-system-arm -nographic -M virt,accel=kvm -cpu host -m 64 -kernel
	openwrt-armvirt-32-zImage-initramfs

	# boot with a separate rootfs
	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'

	# boot with local dir as rootfs
	qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armvirt-32-zImage \
	  -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
	lkvm run -k openwrt-armvirt-32-zImage -i openwrt-armvirt-32-rootfs.cpio --name armvirt0

	# start with virtio-9p rootfs
	lkvm run -k openwrt-armvirt-32-zImage -d root-armvirt/

	# stop "armvirt0"
	lkvm stop --name armvirt0

	# stop all
	lkvm stop --all

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 \