diff options
| -rw-r--r-- | meta-poky/conf/templates/default/local.conf.sample | 1 | ||||
| -rw-r--r-- | meta-yocto-bsp/README.hardware.md | 18 | ||||
| -rw-r--r-- | meta-yocto-bsp/conf/machine/genericarm64.conf | 29 | ||||
| -rw-r--r-- | meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.6.bbappend | 5 | ||||
| -rw-r--r-- | meta-yocto-bsp/wic/genericarm64.wks.in | 11 |
5 files changed, 63 insertions, 1 deletions
diff --git a/meta-poky/conf/templates/default/local.conf.sample b/meta-poky/conf/templates/default/local.conf.sample index 5fb6944f3f..1a93c9bdcf 100644 --- a/meta-poky/conf/templates/default/local.conf.sample +++ b/meta-poky/conf/templates/default/local.conf.sample | |||
| @@ -31,6 +31,7 @@ | |||
| 31 | # demonstration purposes: | 31 | # demonstration purposes: |
| 32 | # | 32 | # |
| 33 | #MACHINE ?= "beaglebone-yocto" | 33 | #MACHINE ?= "beaglebone-yocto" |
| 34 | #MACHINE ?= "genericarm64" | ||
| 34 | #MACHINE ?= "genericx86" | 35 | #MACHINE ?= "genericx86" |
| 35 | #MACHINE ?= "genericx86-64" | 36 | #MACHINE ?= "genericx86-64" |
| 36 | # | 37 | # |
diff --git a/meta-yocto-bsp/README.hardware.md b/meta-yocto-bsp/README.hardware.md index a8f38cb21a..bb8f57913f 100644 --- a/meta-yocto-bsp/README.hardware.md +++ b/meta-yocto-bsp/README.hardware.md | |||
| @@ -28,6 +28,7 @@ Hardware Reference Boards | |||
| 28 | The following boards are supported by the meta-yocto-bsp layer: | 28 | 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 64-bit Arm SystemReady platforms (genericarm64) | ||
| 31 | * General IA platforms (genericx86 and genericx86-64) | 32 | * General IA platforms (genericx86 and genericx86-64) |
| 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 |
| @@ -55,7 +56,8 @@ Consumer Devices | |||
| 55 | 56 | ||
| 56 | The following consumer devices are supported by the meta-yocto-bsp layer: | 57 | The following consumer devices are supported by the meta-yocto-bsp layer: |
| 57 | 58 | ||
| 58 | * Intel x86 based PCs and devices (genericx86) | 59 | * Arm-based SystemReady devices (genericarm64) |
| 60 | * Intel x86 based PCs and devices (genericx86 and genericx86-64) | ||
| 59 | 61 | ||
| 60 | For more information see the device's section below. The appropriate MACHINE | 62 | For more information see the device's section below. The appropriate MACHINE |
| 61 | variable value corresponding to the device is given in brackets. | 63 | variable value corresponding to the device is given in brackets. |
| @@ -126,6 +128,20 @@ USB Device: | |||
| 126 | dd command to write the image to a USB stick. | 128 | dd command to write the image to a USB stick. |
| 127 | 129 | ||
| 128 | 130 | ||
| 131 | SystemReady Arm Platforms | ||
| 132 | ========================= | ||
| 133 | |||
| 134 | The genericarm64 MACHINE is designed to work on standard SystemReady IR | ||
| 135 | compliant boards with preinstalled firmware. | ||
| 136 | |||
| 137 | The genericarm64 MACHINE is currently tested on the following platforms: | ||
| 138 | |||
| 139 | * Texas Instruments BeaglePlay | ||
| 140 | |||
| 141 | The images built are EFI bootable disk images and can be written directly to a | ||
| 142 | SD card for booting, for example. | ||
| 143 | |||
| 144 | |||
| 129 | Texas Instruments Beaglebone (beaglebone-yocto) | 145 | Texas Instruments Beaglebone (beaglebone-yocto) |
| 130 | =============================================== | 146 | =============================================== |
| 131 | 147 | ||
diff --git a/meta-yocto-bsp/conf/machine/genericarm64.conf b/meta-yocto-bsp/conf/machine/genericarm64.conf new file mode 100644 index 0000000000..83f1aca137 --- /dev/null +++ b/meta-yocto-bsp/conf/machine/genericarm64.conf | |||
| @@ -0,0 +1,29 @@ | |||
| 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 | |||
| 19 | # Use an initramfs and populate it with the kernel modules | ||
| 20 | INITRAMFS_IMAGE ?= "core-image-initramfs-boot" | ||
| 21 | PACKAGE_INSTALL:append:pn-core-image-initramfs-boot = " kernel-modules" | ||
| 22 | |||
| 23 | IMAGE_FSTYPES ?= "wic" | ||
| 24 | WKS_FILE ?= "genericarm64.wks.in" | ||
| 25 | |||
| 26 | EFI_PROVIDER ?= "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd-boot", "grub-efi", d)}" | ||
| 27 | |||
| 28 | # Try to bring up one physical serial console, or a virtualized serial console | ||
| 29 | 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..ca7b2b09df 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,24 @@ | |||
| 1 | KBRANCH:genericarm64 = "v6.6/standard/base" | ||
| 1 | KBRANCH:genericx86 = "v6.6/standard/base" | 2 | KBRANCH:genericx86 = "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 ?= "e064a7d658a30b027b999183e21cd37305caff2a" | ||
| 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.18" | ||
| 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" |
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" | ||
