openwrt/target/linux/armvirt
Felix Fietkau ae2a3a1d80 kernel: enable memory compaction
Compaction is the only memory management component to form high order (larger
physically contiguous) memory blocks reliably. The page allocator relies on
compaction heavily and the lack of the feature can lead to unexpected OOM
killer invocations for high order memory requests. You shouldn't disable this
option unless there really is a strong reason for it.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Michal Hrusecky <michal.hrusecky@nic.cz>
2018-10-09 14:36:00 +02:00
..
32 armvirt: 64: enable usb support 2017-05-03 23:20:12 +08:00
64 kernel: add missing ARM64_SSBD symbol 2018-08-06 09:17:31 +02:00
base-files/etc armvirt: new target 2016-12-16 07:56:35 +01:00
image armvirt: merge arm64 as subtarget 64 2017-04-23 09:19:33 +08:00
config-4.9 kernel: cleanup CONFIG_SCHED_HRTICK 2017-06-29 04:46:59 +02:00
config-4.14 kernel: enable memory compaction 2018-10-09 14:36:00 +02:00
Makefile armvirt: bump to v4.14 2018-01-09 14:40:54 +01:00
README merge: targets: update image generation and targets 2017-12-08 19:41:18 +01:00

This is intended to be used with LEDE 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 \