diff options
author | Ross Burton <ross.burton@arm.com> | 2023-11-10 17:19:14 +0000 |
---|---|---|
committer | Ross Burton <ross.burton@arm.com> | 2024-02-21 10:17:45 +0000 |
commit | ec3d872d28c8470787650632f456ae3fb43dbd5b (patch) | |
tree | abfbfdf0c99b6d1e8829369b6ab1c5b67dde3943 | |
parent | 9c5e9162da8a3c03c7f124d0e0a41f8255bbfc5d (diff) | |
download | poky-ec3d872d28c8470787650632f456ae3fb43dbd5b.tar.gz |
Add genericarm64 MACHINE
This is a new 64-bit "generic" Arm machine, that expects the hardware to
be SystemReady IR compatible.
Signed-off-by: Ross Burton <ross.burton@arm.com>
-rw-r--r-- | meta-yocto-bsp/README.hardware.md | 7 | ||||
-rw-r--r-- | meta-yocto-bsp/conf/machine/genericarm64.conf | 26 | ||||
-rw-r--r-- | meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.6.bbappend | 9 | ||||
-rw-r--r-- | meta-yocto-bsp/wic/genericarm64.wks.in | 11 |
4 files changed, 53 insertions, 0 deletions
diff --git a/meta-yocto-bsp/README.hardware.md b/meta-yocto-bsp/README.hardware.md index a8f38cb21a..58ebc328b5 100644 --- a/meta-yocto-bsp/README.hardware.md +++ b/meta-yocto-bsp/README.hardware.md | |||
@@ -29,6 +29,7 @@ The following boards are supported by the meta-yocto-bsp layer: | |||
29 | 29 | ||
30 | * Texas Instruments Beaglebone (beaglebone-yocto) | 30 | * Texas Instruments Beaglebone (beaglebone-yocto) |
31 | * General IA platforms (genericx86 and genericx86-64) | 31 | * General IA platforms (genericx86 and genericx86-64) |
32 | * General 64-bit Arm SystemReady platforms (genericarm64) | ||
32 | 33 | ||
33 | For more information see the board's section below. The appropriate MACHINE | 34 | For more information see the board's section below. The appropriate MACHINE |
34 | variable value corresponding to the board is given in brackets. | 35 | variable value corresponding to the board is given in brackets. |
@@ -126,6 +127,12 @@ USB Device: | |||
126 | dd command to write the image to a USB stick. | 127 | dd command to write the image to a USB stick. |
127 | 128 | ||
128 | 129 | ||
130 | SystemReady Arm Platforms | ||
131 | ========================= | ||
132 | |||
133 | TODO | ||
134 | |||
135 | |||
129 | Texas Instruments Beaglebone (beaglebone-yocto) | 136 | Texas Instruments Beaglebone (beaglebone-yocto) |
130 | =============================================== | 137 | =============================================== |
131 | 138 | ||
diff --git a/meta-yocto-bsp/conf/machine/genericarm64.conf b/meta-yocto-bsp/conf/machine/genericarm64.conf new file mode 100644 index 0000000000..2ea270d8b0 --- /dev/null +++ b/meta-yocto-bsp/conf/machine/genericarm64.conf | |||
@@ -0,0 +1,26 @@ | |||
1 | #@TYPE: Machine | ||
2 | #@NAME: genericarm64 | ||
3 | #@DESCRIPTION: Generic Arm64 machine for typical SystemReady platforms, which | ||
4 | #have working firmware and boot via EFI. | ||
5 | |||
6 | require conf/machine/include/arm/arch-armv8a.inc | ||
7 | |||
8 | # Arm Base System Architecture says v8.0+ is allowed, but FEAT_CRC32 is required | ||
9 | DEFAULTTUNE = "armv8a-crc" | ||
10 | |||
11 | MACHINE_FEATURES = "acpi alsa bluetooth efi keyboard pci qemu-usermode rtc screen usbhost vfat wifi" | ||
12 | |||
13 | # Install all the kernel modules and all the firmware | ||
14 | MACHINE_EXTRA_RRECOMMENDS += "kernel-modules linux-firmware" | ||
15 | |||
16 | KERNEL_IMAGETYPE = "Image" | ||
17 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" | ||
18 | INITRAMFS_IMAGE ?= "core-image-initramfs-boot" | ||
19 | |||
20 | IMAGE_FSTYPES ?= "wic" | ||
21 | WKS_FILE ?= "genericarm64.wks.in" | ||
22 | |||
23 | EFI_PROVIDER ?= "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd-boot", "grub-efi", d)}" | ||
24 | |||
25 | # Try to bring up one physical serial console, or a virtualized serial console | ||
26 | SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0" | ||
diff --git a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.6.bbappend b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.6.bbappend index 8e465c241e..18f95de348 100644 --- a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.6.bbappend +++ b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.6.bbappend | |||
@@ -1,19 +1,28 @@ | |||
1 | KBRANCH:genericx86 = "v6.6/standard/base" | 1 | KBRANCH:genericx86 = "v6.6/standard/base" |
2 | KBRANCH:genericarm64 = "v6.6/standard/base" | ||
2 | KBRANCH:genericx86-64 = "v6.6/standard/base" | 3 | KBRANCH:genericx86-64 = "v6.6/standard/base" |
3 | KBRANCH:beaglebone-yocto = "v6.6/standard/beaglebone" | 4 | KBRANCH:beaglebone-yocto = "v6.6/standard/beaglebone" |
4 | 5 | ||
6 | KMACHINE:genericarm64 ?= "genericarm64" | ||
5 | KMACHINE:genericx86 ?= "common-pc" | 7 | KMACHINE:genericx86 ?= "common-pc" |
6 | KMACHINE:genericx86-64 ?= "common-pc-64" | 8 | KMACHINE:genericx86-64 ?= "common-pc-64" |
7 | KMACHINE:beaglebone-yocto ?= "beaglebone" | 9 | KMACHINE:beaglebone-yocto ?= "beaglebone" |
8 | 10 | ||
11 | SRCREV_machine:genericarm64 ?= "332d4668fcc32826907d4f3c4938845206006089" | ||
9 | SRCREV_machine:genericx86 ?= "332d4668fcc32826907d4f3c4938845206006089" | 12 | SRCREV_machine:genericx86 ?= "332d4668fcc32826907d4f3c4938845206006089" |
10 | SRCREV_machine:genericx86-64 ?= "332d4668fcc32826907d4f3c4938845206006089" | 13 | SRCREV_machine:genericx86-64 ?= "332d4668fcc32826907d4f3c4938845206006089" |
11 | SRCREV_machine:beaglebone-yocto ?= "332d4668fcc32826907d4f3c4938845206006089" | 14 | SRCREV_machine:beaglebone-yocto ?= "332d4668fcc32826907d4f3c4938845206006089" |
12 | 15 | ||
16 | COMPATIBLE_MACHINE:genericarm64 = "genericarm64" | ||
13 | COMPATIBLE_MACHINE:genericx86 = "genericx86" | 17 | COMPATIBLE_MACHINE:genericx86 = "genericx86" |
14 | COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64" | 18 | COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64" |
15 | COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto" | 19 | COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto" |
16 | 20 | ||
21 | LINUX_VERSION:genericarm64 = "6.6.15" | ||
17 | LINUX_VERSION:genericx86 = "6.6.15" | 22 | LINUX_VERSION:genericx86 = "6.6.15" |
18 | LINUX_VERSION:genericx86-64 = "6.6.15" | 23 | LINUX_VERSION:genericx86-64 = "6.6.15" |
19 | LINUX_VERSION:beaglebone-yocto = "6.6.15" | 24 | LINUX_VERSION:beaglebone-yocto = "6.6.15" |
25 | |||
26 | # Use upstream defconfig for genericarm64 | ||
27 | KBUILD_DEFCONFIG:genericarm64 = "defconfig" | ||
28 | KCONFIG_MODE:genericarm64 = "--alldefconfig" | ||
diff --git a/meta-yocto-bsp/wic/genericarm64.wks.in b/meta-yocto-bsp/wic/genericarm64.wks.in new file mode 100644 index 0000000000..417d4d8810 --- /dev/null +++ b/meta-yocto-bsp/wic/genericarm64.wks.in | |||
@@ -0,0 +1,11 @@ | |||
1 | # short-description: Create an EFI disk image | ||
2 | # long-description: Creates a partitioned EFI disk image that the user | ||
3 | # can directly dd to boot media. | ||
4 | |||
5 | part /boot --source bootimg-efi --sourceparams="loader=${EFI_PROVIDER},initrd=${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES}" --label boot --active --align 1024 --use-uuid | ||
6 | |||
7 | part / --source rootfs --fstype=ext4 --label root --align 1024 --use-uuid | ||
8 | |||
9 | part swap --size 44 --label swap --fstype=swap --use-uuid | ||
10 | |||
11 | bootloader --ptable gpt --timeout=5 --append="rootwait rootfstype=ext4" | ||