1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-31 00:39:46 +00:00

Add genericarm64 MACHINE

This is a new 64-bit "generic" Arm machine, that expects the hardware to
be SystemReady IR compatible.

(From meta-yocto rev: 68de209f58917d8e7108caacfefc55bbe0e0c5a2)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2024-02-28 11:44:15 +00:00
committed by Richard Purdie
parent be10de3423
commit 2f4f72fff2
5 changed files with 63 additions and 1 deletions
@@ -31,6 +31,7 @@
# demonstration purposes: # demonstration purposes:
# #
#MACHINE ?= "beaglebone-yocto" #MACHINE ?= "beaglebone-yocto"
#MACHINE ?= "genericarm64"
#MACHINE ?= "genericx86" #MACHINE ?= "genericx86"
#MACHINE ?= "genericx86-64" #MACHINE ?= "genericx86-64"
# #
+17 -1
View File
@@ -28,6 +28,7 @@ Hardware Reference Boards
The following boards are supported by the meta-yocto-bsp layer: The following boards are supported by the meta-yocto-bsp layer:
* Texas Instruments Beaglebone (beaglebone-yocto) * Texas Instruments Beaglebone (beaglebone-yocto)
* General 64-bit Arm SystemReady platforms (genericarm64)
* General IA platforms (genericx86 and genericx86-64) * General IA platforms (genericx86 and genericx86-64)
For more information see the board's section below. The appropriate MACHINE For more information see the board's section below. The appropriate MACHINE
@@ -55,7 +56,8 @@ Consumer Devices
The following consumer devices are supported by the meta-yocto-bsp layer: The following consumer devices are supported by the meta-yocto-bsp layer:
* Intel x86 based PCs and devices (genericx86) * Arm-based SystemReady devices (genericarm64)
* Intel x86 based PCs and devices (genericx86 and genericx86-64)
For more information see the device's section below. The appropriate MACHINE For more information see the device's section below. The appropriate MACHINE
variable value corresponding to the device is given in brackets. variable value corresponding to the device is given in brackets.
@@ -126,6 +128,20 @@ USB Device:
dd command to write the image to a USB stick. dd command to write the image to a USB stick.
SystemReady Arm Platforms
=========================
The genericarm64 MACHINE is designed to work on standard SystemReady IR
compliant boards with preinstalled firmware.
The genericarm64 MACHINE is currently tested on the following platforms:
* Texas Instruments BeaglePlay
The images built are EFI bootable disk images and can be written directly to a
SD card for booting, for example.
Texas Instruments Beaglebone (beaglebone-yocto) Texas Instruments Beaglebone (beaglebone-yocto)
=============================================== ===============================================
@@ -0,0 +1,29 @@
#@TYPE: Machine
#@NAME: genericarm64
#@DESCRIPTION: Generic Arm64 machine for typical SystemReady 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"
# Install all the kernel modules and all the firmware
MACHINE_EXTRA_RRECOMMENDS += "kernel-modules linux-firmware"
KERNEL_IMAGETYPE = "Image"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
# Use an initramfs and populate it with the kernel modules
INITRAMFS_IMAGE ?= "core-image-initramfs-boot"
PACKAGE_INSTALL:append:pn-core-image-initramfs-boot = " kernel-modules"
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"
@@ -1,19 +1,24 @@
KBRANCH:genericarm64 = "v6.6/standard/base"
KBRANCH:genericx86 = "v6.6/standard/base" KBRANCH:genericx86 = "v6.6/standard/base"
KBRANCH:genericx86-64 = "v6.6/standard/base" KBRANCH:genericx86-64 = "v6.6/standard/base"
KBRANCH:beaglebone-yocto = "v6.6/standard/beaglebone" KBRANCH:beaglebone-yocto = "v6.6/standard/beaglebone"
KMACHINE:genericarm64 ?= "genericarm64"
KMACHINE:genericx86 ?= "common-pc" KMACHINE:genericx86 ?= "common-pc"
KMACHINE:genericx86-64 ?= "common-pc-64" KMACHINE:genericx86-64 ?= "common-pc-64"
KMACHINE:beaglebone-yocto ?= "beaglebone" KMACHINE:beaglebone-yocto ?= "beaglebone"
SRCREV_machine:genericarm64 ?= "e064a7d658a30b027b999183e21cd37305caff2a"
SRCREV_machine:genericx86 ?= "332d4668fcc32826907d4f3c4938845206006089" SRCREV_machine:genericx86 ?= "332d4668fcc32826907d4f3c4938845206006089"
SRCREV_machine:genericx86-64 ?= "332d4668fcc32826907d4f3c4938845206006089" SRCREV_machine:genericx86-64 ?= "332d4668fcc32826907d4f3c4938845206006089"
SRCREV_machine:beaglebone-yocto ?= "332d4668fcc32826907d4f3c4938845206006089" SRCREV_machine:beaglebone-yocto ?= "332d4668fcc32826907d4f3c4938845206006089"
COMPATIBLE_MACHINE:genericarm64 = "genericarm64"
COMPATIBLE_MACHINE:genericx86 = "genericx86" COMPATIBLE_MACHINE:genericx86 = "genericx86"
COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64" COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto" COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
LINUX_VERSION:genericarm64 = "6.6.18"
LINUX_VERSION:genericx86 = "6.6.15" LINUX_VERSION:genericx86 = "6.6.15"
LINUX_VERSION:genericx86-64 = "6.6.15" LINUX_VERSION:genericx86-64 = "6.6.15"
LINUX_VERSION:beaglebone-yocto = "6.6.15" LINUX_VERSION:beaglebone-yocto = "6.6.15"
+11
View File
@@ -0,0 +1,11 @@
# short-description: Create an EFI disk image
# long-description: Creates a partitioned EFI disk image that the user
# can directly dd to boot media.
part /boot --source bootimg-efi --sourceparams="loader=${EFI_PROVIDER},initrd=${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES}" --label boot --active --align 1024 --use-uuid
part / --source rootfs --fstype=ext4 --label root --align 1024 --use-uuid
part swap --size 44 --label swap --fstype=swap --use-uuid
bootloader --ptable gpt --timeout=5 --append="rootwait rootfstype=ext4"