diff options
Diffstat (limited to 'meta-yocto-bsp/conf/machine/genericarm64.conf')
-rw-r--r-- | meta-yocto-bsp/conf/machine/genericarm64.conf | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/meta-yocto-bsp/conf/machine/genericarm64.conf b/meta-yocto-bsp/conf/machine/genericarm64.conf new file mode 100644 index 0000000000..4fa9395b31 --- /dev/null +++ b/meta-yocto-bsp/conf/machine/genericarm64.conf @@ -0,0 +1,60 @@ +#@TYPE: Machine +#@NAME: genericarm64 +#@DESCRIPTION: Generic Arm64 machine for typical SystemReady IR/ES platforms, which +#have working firmware and boot via EFI. + +require conf/machine/include/arm/arch-armv8a.inc + +# Arm Base System Architecture says v8.0+ is allowed, but FEAT_CRC32 is required +DEFAULTTUNE = "armv8a-crc" + +MACHINE_FEATURES = "acpi alsa bluetooth efi keyboard pci qemu-usermode rtc screen usbhost vfat wifi" + +KERNEL_IMAGETYPE = "Image" +PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" + +# Install all the kernel modules into the rootfs +MACHINE_EXTRA_RRECOMMENDS += "kernel-modules" +# Install selected pieces of firmware +MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-wl12xx linux-firmware-wl18xx linux-firmware-rtl-nic" + +# Use an initramfs and populate it with the kernel modules and key firmware +INITRAMFS_IMAGE ?= "core-image-initramfs-boot" +PACKAGE_INSTALL:append:pn-core-image-initramfs-boot = " ${MACHINE_EXTRA_RRECOMMENDS}" + +IMAGE_FSTYPES ?= "wic" +WKS_FILE ?= "genericarm64.wks.in" + +EFI_PROVIDER ?= "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd-boot", "grub-efi", d)}" + +# Try to bring up one physical serial console, or a virtualized serial console +SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0" + +# Allow u-boot to be built for use with qemu-system-aarch64. +# This u-boot is _not_ suitable for use with real hardware, and the expectation +# of this machine is that real hardware comes with the firmware pre-loaded. +UBOOT_MACHINE = "qemu_arm64_defconfig" + +# runqemu configuration to run a genericarm64 image inside a qemu-system-aarch64. You will need +# to build u-boot explicitly. +IMAGE_CLASSES += "qemuboot" +QB_SYSTEM_NAME = "qemu-system-aarch64" +# Boot the virtual machine with either an emulated Cortex-A76, or the host if using KVM +QB_MACHINE = "-machine virt" +QB_CPU = "-cpu cortex-a76" +QB_CPU_KVM = "-cpu host -machine gic-version=3" +QB_SMP = "-smp 4" +# Boot into U-Boot and let that scan the disk for the next step, don't pass any kernel or filesystem hints +QB_DEFAULT_BIOS = "u-boot.bin" +QB_DEFAULT_KERNEL = "none" +QB_DEFAULT_FSTYPE = "wic" +QB_FSINFO = "wic:no-kernel-in-fs" +# Mount the wic rootfs as a virtio block device +QB_ROOTFS_OPT = "-drive id=root,file=@ROOTFS@,if=none,format=raw -device virtio-blk-pci,drive=root" +# Virtio graphics +QB_GRAPHICS = "-device virtio-gpu-pci" +# Virtio serial consoles +QB_SERIAL_OPT = "-device virtio-serial-pci -chardev null,id=virtcon -device virtconsole,chardev=virtcon" +QB_TCPSERIAL_OPT = "-device virtio-serial-pci -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1,nodelay=on -device virtconsole,chardev=virtcon" +# Virtio networking +QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" |