summaryrefslogtreecommitdiffstats
path: root/meta-yocto-bsp
diff options
context:
space:
mode:
Diffstat (limited to 'meta-yocto-bsp')
-rw-r--r--meta-yocto-bsp/README.hardware265
-rw-r--r--meta-yocto-bsp/README.hardware.md182
-rw-r--r--meta-yocto-bsp/conf/layer.conf2
-rw-r--r--meta-yocto-bsp/conf/machine/beaglebone-yocto.conf28
-rw-r--r--meta-yocto-bsp/conf/machine/edgerouter.conf26
-rw-r--r--meta-yocto-bsp/conf/machine/genericarm64.conf58
-rw-r--r--meta-yocto-bsp/conf/machine/genericx86-64.conf3
-rw-r--r--meta-yocto-bsp/conf/machine/genericx86.conf3
-rw-r--r--meta-yocto-bsp/conf/machine/include/genericx86-common.inc9
-rw-r--r--meta-yocto-bsp/lib/oeqa/controllers/beaglebonetarget.py19
-rw-r--r--meta-yocto-bsp/lib/oeqa/controllers/edgeroutertarget.py90
-rw-r--r--meta-yocto-bsp/lib/oeqa/controllers/grubtarget.py17
-rw-r--r--meta-yocto-bsp/lib/oeqa/runtime/cases/parselogs-ignores-beaglebone-yocto.txt4
-rw-r--r--meta-yocto-bsp/lib/oeqa/runtime/cases/parselogs-ignores-genericx86-64.txt7
-rw-r--r--meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py11
-rw-r--r--meta-yocto-bsp/recipes-bsp/formfactor/formfactor_0.0.bbappend2
-rw-r--r--meta-yocto-bsp/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf2
-rw-r--r--meta-yocto-bsp/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh15
-rw-r--r--meta-yocto-bsp/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb18
-rw-r--r--meta-yocto-bsp/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend2
-rw-r--r--meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend20
-rw-r--r--meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.4.bbappend23
-rw-r--r--meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.6.bbappend21
-rw-r--r--meta-yocto-bsp/wic/beaglebone-yocto.wks4
-rw-r--r--meta-yocto-bsp/wic/edgerouter.wks4
-rw-r--r--meta-yocto-bsp/wic/genericarm64.wks.in11
26 files changed, 337 insertions, 509 deletions
diff --git a/meta-yocto-bsp/README.hardware b/meta-yocto-bsp/README.hardware
deleted file mode 100644
index 5996be764c..0000000000
--- a/meta-yocto-bsp/README.hardware
+++ /dev/null
@@ -1,265 +0,0 @@
- Yocto Project Hardware Reference BSPs README
- ============================================
-
-This file gives details about using the Yocto Project hardware reference BSPs.
-The machines supported can be seen in the conf/machine/ directory and are listed
-below. There is one per supported hardware architecture and these are primarily
-used to validate that the Yocto Project works on the hardware arctectures of
-those machines.
-
-If you are in doubt about using Poky/OpenEmbedded/Yocto Project with your hardware,
-consult the documentation for your board/device.
-
-Support for additional devices is normally added by adding BSP layers to your
-configuration. For more information please see the Yocto Board Support Package
-(BSP) Developer's Guide - documentation source is in documentation/bspguide or
-download the PDF from:
-
- http://yoctoproject.org/documentation
-
-Note that these reference BSPs use the linux-yocto kernel and in general don't
-pull in binary module support for the platforms. This means some device functionality
-may be limited compared to a 'full' BSP which may be available.
-
-
-Hardware Reference Boards
-=========================
-
-The following boards are supported by the meta-yocto-bsp layer:
-
- * Texas Instruments Beaglebone (beaglebone-yocto)
- * Ubiquiti Networks EdgeRouter Lite (edgerouter)
- * General IA platforms (genericx86 and genericx86-64)
-
-For more information see the board's section below. The appropriate MACHINE
-variable value corresponding to the board is given in brackets.
-
-Reference Board Maintenance
-===========================
-
-Send pull requests, patches, comments or questions about meta-yocto-bsps to poky@yoctoproject.org
-
-Maintainers: Kevin Hao <kexin.hao@windriver.com>
- Bruce Ashfield <bruce.ashfield@windriver.com>
-
-Consumer Devices
-================
-
-The following consumer devices are supported by the meta-yocto-bsp layer:
-
- * Intel x86 based PCs and devices (genericx86)
- * Ubiquiti Networks EdgeRouter Lite (edgerouter)
-
-For more information see the device's section below. The appropriate MACHINE
-variable value corresponding to the device is given in brackets.
-
-
-
- Specific Hardware Documentation
- ===============================
-
-
-Intel x86 based PCs and devices (genericx86*)
-=============================================
-
-The genericx86 and genericx86-64 MACHINE are tested on the following platforms:
-
-Intel Xeon/Core i-Series:
- + Intel NUC5 Series - ix-52xx Series SOC (Broadwell)
- + Intel NUC6 Series - ix-62xx Series SOC (Skylake)
- + Intel Shumway Xeon Server
-
-Intel Atom platforms:
- + MinnowBoard MAX - E3825 SOC (Bay Trail)
- + MinnowBoard MAX - Turbot (ADI Engineering) - E3826 SOC (Bay Trail)
- - These boards can be either 32bot or 64bit modes depending on firmware
- - See minnowboard.org for details
- + Intel Braswell SOC
-
-and is likely to work on many unlisted Atom/Core/Xeon based devices. The MACHINE
-type supports ethernet, wifi, sound, and Intel/vesa graphics by default in
-addition to common PC input devices, busses, and so on.
-
-Depending on the device, it can boot from a traditional hard-disk, a USB device,
-or over the network. Writing generated images to physical media is
-straightforward with a caveat for USB devices. The following examples assume the
-target boot device is /dev/sdb, be sure to verify this and use the correct
-device as the following commands are run as root and are not reversable.
-
-USB Device:
- 1. Build a live image. This image type consists of a simple filesystem
- without a partition table, which is suitable for USB keys, and with the
- default setup for the genericx86 machine, this image type is built
- automatically for any image you build. For example:
-
- $ bitbake core-image-minimal
-
- 2. Use the "dd" utility to write the image to the raw block device. For
- example:
-
- # dd if=core-image-minimal-genericx86.hddimg of=/dev/sdb
-
- If the device fails to boot with "Boot error" displayed, or apparently
- stops just after the SYSLINUX version banner, it is likely the BIOS cannot
- understand the physical layout of the disk (or rather it expects a
- particular layout and cannot handle anything else). There are two possible
- solutions to this problem:
-
- 1. Change the BIOS USB Device setting to HDD mode. The label will vary by
- device, but the idea is to force BIOS to read the Cylinder/Head/Sector
- geometry from the device.
-
- 2. Use a ".wic" image with an EFI partition
-
- a) With a default grub-efi bootloader:
- # dd if=core-image-minimal-genericx86-64.wic of=/dev/sdb
-
- b) Use systemd-boot instead
- - Build an image with EFI_PROVIDER="systemd-boot" then use the above
- dd command to write the image to a USB stick.
-
-
-Texas Instruments Beaglebone (beaglebone-yocto)
-=========================================
-
-The Beaglebone is an ARM Cortex-A8 development board with USB, Ethernet, 2D/3D
-accelerated graphics, audio, serial, JTAG, and SD/MMC. The Black adds a faster
-CPU, more RAM, eMMC flash and a micro HDMI port. The beaglebone MACHINE is
-tested on the following platforms:
-
- o Beaglebone Black A6
- o Beaglebone A6 (the original "White" model)
-
-The Beaglebone Black has eMMC, while the White does not. Pressing the USER/BOOT
-button when powering on will temporarily change the boot order. But for the sake
-of simplicity, these instructions assume you have erased the eMMC on the Black,
-so its boot behavior matches that of the White and boots off of SD card. To do
-this, issue the following commands from the u-boot prompt:
-
- # mmc dev 1
- # mmc erase 0 512
-
-To further tailor these instructions for your board, please refer to the
-documentation at http://www.beagleboard.org/bone and http://www.beagleboard.org/black
-
-From a Linux system with access to the image files perform the following steps:
-
- 1. Build an image. For example:
-
- $ bitbake core-image-minimal
-
- 2. Use the "dd" utility to write the image to the SD card. For example:
-
- # dd core-image-minimal-beaglebone-yocto.wic of=/dev/sdb
-
- 3. Insert the SD card into the Beaglebone and boot the board.
-
-Ubiquiti Networks EdgeRouter Lite (edgerouter)
-==============================================
-
-The EdgeRouter Lite is part of the EdgeMax series. It is a MIPS64 router
-(based on the Cavium Octeon processor) with 512MB of RAM, which uses an
-internal USB pendrive for storage.
-
-Setup instructions
-------------------
-
-You will need the following:
-* RJ45 -> serial ("rollover") cable connected from your PC to the CONSOLE
- port on the device
-* Ethernet connected to the first ethernet port on the board
-
-If using NFS as part of the setup process, you will also need:
-* NFS root setup on your workstation
-* TFTP server installed on your workstation (if fetching the kernel from
- TFTP, see below).
-
---- Preparation ---
-
-Build an image (e.g. core-image-minimal) using "edgerouter" as the MACHINE.
-In the following instruction it is based on core-image-minimal. Another target
-may be similiar with it.
-
---- Booting from NFS root / kernel via TFTP ---
-
-Load the kernel, and boot the system as follows:
-
- 1. Get the kernel (vmlinux) file from the tmp/deploy/images/edgerouter
- directory, and make them available on your TFTP server.
-
- 2. Connect the board's first serial port to your workstation and then start up
- your favourite serial terminal so that you will be able to interact with
- the serial console. If you don't have a favourite, picocom is suggested:
-
- $ picocom /dev/ttyS0 -b 115200
-
- 3. Power up or reset the board and press a key on the terminal when prompted
- to get to the U-Boot command line
-
- 4. Set up the environment in U-Boot:
-
- => setenv ipaddr <board ip>
- => setenv serverip <tftp server ip>
-
- 5. Download the kernel and boot:
-
- => tftp tftp $loadaddr vmlinux
- => bootoctlinux $loadaddr coremask=0x3 root=/dev/nfs rw nfsroot=<nfsroot ip>:<rootfs path> ip=<board ip>:<server ip>:<gateway ip>:<netmask>:edgerouter:eth0:off mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom)
-
---- Booting from USB disk ---
-
-To boot from the USB disk, you either need to remove it from the edgerouter
-box and populate it from another computer, or use a previously booted NFS
-image and populate from the edgerouter itself.
-
-Type 1: Use partitioned image
------------------------------
-
-Steps:
-
- 1. Remove the USB disk from the edgerouter and insert it into a computer
- that has access to your build artifacts.
-
- 2. Flash the image.
-
- # dd if=core-image-minimal-edgerouter.wic of=/dev/sdb
-
- 3. Insert USB disk into the edgerouter and boot it.
-
-Type 2: NFS
------------
-
-Note: If you place the kernel on the ext3 partition, you must re-create the
- ext3 filesystem, since the factory u-boot can only handle 128 byte inodes and
- cannot read the partition otherwise.
-
- These boot instructions assume that you have recreated the ext3 filesystem with
- 128 byte inodes, you have an updated uboot or you are running and image capable
- of making the filesystem on the board itself.
-
-
- 1. Boot from NFS root
-
- 2. Mount the USB disk partition 2 and then extract the contents of
- tmp/deploy/core-image-XXXX.tar.bz2 into it.
-
- Before starting, copy core-image-minimal-xxx.tar.bz2 and vmlinux into
- rootfs path on your workstation.
-
- and then,
-
- # mount /dev/sda2 /media/sda2
- # tar -xvjpf core-image-minimal-XXX.tar.bz2 -C /media/sda2
- # cp vmlinux /media/sda2/boot/vmlinux
- # umount /media/sda2
- # reboot
-
- 3. Reboot the board and press a key on the terminal when prompted to get to the U-Boot
- command line:
-
- # reboot
-
- 4. Load the kernel and boot:
-
- => ext2load usb 0:2 $loadaddr boot/vmlinux
- => bootoctlinux $loadaddr coremask=0x3 root=/dev/sda2 rw rootwait mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom)
diff --git a/meta-yocto-bsp/README.hardware.md b/meta-yocto-bsp/README.hardware.md
new file mode 100644
index 0000000000..6045c3d867
--- /dev/null
+++ b/meta-yocto-bsp/README.hardware.md
@@ -0,0 +1,182 @@
+Yocto Project Hardware Reference BSPs README
+============================================
+
+This file gives details about using the Yocto Project hardware reference BSPs.
+The machines supported can be seen in the conf/machine/ directory and are listed
+below. There is one per supported hardware architecture and these are primarily
+used to validate that the Yocto Project works on the hardware arctectures of
+those machines.
+
+If you are in doubt about using Poky/OpenEmbedded/Yocto Project with your hardware,
+consult the documentation for your board/device.
+
+Support for additional devices is normally added by adding BSP layers to your
+configuration. For more information please see the Yocto Board Support Package
+(BSP) Developer's Guide - documentation source is in documentation/bspguide or
+download the PDF from https://docs.yoctoproject.org/
+
+Note that these reference BSPs use the linux-yocto kernel and in general don't
+pull in binary module support for the platforms. This means some device functionality
+may be limited compared to a 'full' BSP which may be available.
+
+
+Hardware Reference Boards
+=========================
+
+The following boards are supported by the meta-yocto-bsp layer:
+
+ * Texas Instruments Beaglebone (`beaglebone-yocto`)
+ * General 64-bit Arm SystemReady platforms (`genericarm64`)
+ * General IA platforms (`genericx86` and `genericx86-64`)
+
+For more information see the board's section below. The appropriate MACHINE
+variable value corresponding to the board is given in brackets.
+
+Reference Board Maintenance and Contributions
+=============================================
+
+Please refer to our contributor guide here: https://docs.yoctoproject.org/dev/contributor-guide/
+for full details on how to submit changes.
+
+As a quick guide, patches should be sent to <poky@lists.yoctoproject.org>
+The git command to do that would be:
+
+ git send-email -M -1 --to poky@lists.yoctoproject.org
+
+Send pull requests, patches, comments or questions about meta-yocto-bsp to
+<poky@lists.yoctoproject.org>.
+
+Maintainers:
+* Kevin Hao <kexin.hao@windriver.com>
+* Bruce Ashfield <bruce.ashfield@gmail.com>
+
+Consumer Devices
+================
+
+The following consumer devices are supported by the meta-yocto-bsp layer:
+
+ * 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
+variable value corresponding to the device is given in brackets.
+
+
+Specific Hardware Documentation
+===============================
+
+
+Intel x86 based PCs and devices (genericx86*)
+---------------------------------------------
+
+The genericx86 and genericx86-64 MACHINE are tested on the following platforms:
+
+Intel Xeon/Core i-Series:
+ + Intel NUC5 Series - ix-52xx Series SOC (Broadwell)
+ + Intel NUC6 Series - ix-62xx Series SOC (Skylake)
+ + Intel Shumway Xeon Server
+
+Intel Atom platforms:
+ + MinnowBoard MAX - E3825 SOC (Bay Trail)
+ + MinnowBoard MAX - Turbot (ADI Engineering) - E3826 SOC (Bay Trail)
+ - These boards can be either 32bot or 64bit modes depending on firmware
+ - See minnowboard.org for details
+ + Intel Braswell SOC
+
+and is likely to work on many unlisted Atom/Core/Xeon based devices. The MACHINE
+type supports ethernet, wifi, sound, and Intel/vesa graphics by default in
+addition to common PC input devices, busses, and so on.
+
+Depending on the device, it can boot from a traditional hard-disk, a USB device,
+or over the network. Writing generated images to physical media is
+straightforward with a caveat for USB devices. The following examples assume the
+target boot device is /dev/sdb, be sure to verify this and use the correct
+device as the following commands are run as root and are not reversable.
+
+USB Device:
+
+ 1. Build a live image. This image type consists of a simple filesystem
+ without a partition table, which is suitable for USB keys, and with the
+ default setup for the genericx86 machine, this image type is built
+ automatically for any image you build. For example:
+
+ $ bitbake core-image-minimal
+
+ 2. Use the `dd` utility to write the image to the raw block device. For
+ example:
+
+ # dd if=core-image-minimal-genericx86.hddimg of=/dev/sdb
+
+ If the device fails to boot with "Boot error" displayed, or apparently
+ stops just after the SYSLINUX version banner, it is likely the BIOS cannot
+ understand the physical layout of the disk (or rather it expects a
+ particular layout and cannot handle anything else). There are two possible
+ solutions to this problem:
+
+ 1. Change the BIOS USB Device setting to HDD mode. The label will vary by
+ device, but the idea is to force BIOS to read the Cylinder/Head/Sector
+ geometry from the device.
+
+ 2. Use a ".wic" image with an EFI partition
+
+ 1. With a default grub-efi bootloader:
+
+ # dd if=core-image-minimal-genericx86-64.wic of=/dev/sdb
+
+ 2. Use systemd-boot instead. Build an image with `EFI_PROVIDER="systemd-boot"` then use the above
+ `dd` command to write the image to a USB stick.
+
+
+SystemReady Arm Platforms (genericarm64)
+----------------------------------------
+
+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.
+
+There is also limited support for booting a genericarm64 image inside QEMU. When
+building the image also build the `u-boot` recipe to build the required
+firmware (note that this firmware will _not_ boot on real hardware), then use
+`runqemu` as usual.
+
+
+Texas Instruments Beaglebone (beaglebone-yocto)
+-----------------------------------------------
+
+The Beaglebone is an ARM Cortex-A8 development board with USB, Ethernet, 2D/3D
+accelerated graphics, audio, serial, JTAG, and SD/MMC. The Black adds a faster
+CPU, more RAM, eMMC flash and a micro HDMI port. The beaglebone MACHINE is
+tested on the following platforms:
+
+ * Beaglebone Black A6
+ * Beaglebone A6 (the original "White" model)
+
+The Beaglebone Black has eMMC, while the White does not. Pressing the USER/BOOT
+button when powering on will temporarily change the boot order. But for the sake
+of simplicity, these instructions assume you have erased the eMMC on the Black,
+so its boot behavior matches that of the White and boots off of SD card. To do
+this, issue the following commands from the u-boot prompt:
+
+ # mmc dev 1
+ # mmc erase 0 512
+
+To further tailor these instructions for your board, please refer to the
+documentation at http://www.beagleboard.org/bone and http://www.beagleboard.org/black
+
+From a Linux system with access to the image files perform the following steps:
+
+ 1. Build an image. For example:
+
+ $ bitbake core-image-minimal
+
+ 2. Use the "dd" utility to write the image to the SD card. For example:
+
+ # dd if=core-image-minimal-beaglebone-yocto.wic of=/dev/sdb
+
+ 3. Insert the SD card into the Beaglebone and boot the board.
diff --git a/meta-yocto-bsp/conf/layer.conf b/meta-yocto-bsp/conf/layer.conf
index bf0c1bfece..60902b4de9 100644
--- a/meta-yocto-bsp/conf/layer.conf
+++ b/meta-yocto-bsp/conf/layer.conf
@@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "yoctobsp"
BBFILE_PATTERN_yoctobsp = "^${LAYERDIR}/"
BBFILE_PRIORITY_yoctobsp = "5"
LAYERVERSION_yoctobsp = "4"
-LAYERSERIES_COMPAT_yoctobsp = "gatesgarth"
+LAYERSERIES_COMPAT_yoctobsp = "scarthgap"
diff --git a/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf b/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
index 5b481434bd..459c83f5c2 100644
--- a/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
+++ b/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
@@ -3,42 +3,38 @@
#@DESCRIPTION: Reference machine configuration for http://beagleboard.org/bone and http://beagleboard.org/black boards
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
-XSERVER ?= "xserver-xorg \
- xf86-video-modesetting \
- "
-MACHINE_EXTRA_RRECOMMENDS = "kernel-modules kernel-devicetree"
+MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
-EXTRA_IMAGEDEPENDS += "u-boot"
+EXTRA_IMAGEDEPENDS += "virtual/bootloader"
DEFAULTTUNE ?= "cortexa8hf-neon"
-include conf/machine/include/tune-cortexa8.inc
+include conf/machine/include/arm/armv7a/tune-cortexa8.inc
IMAGE_FSTYPES += "tar.bz2 jffs2 wic wic.bmap"
-EXTRA_IMAGECMD_jffs2 = "-lnp "
+EXTRA_IMAGECMD:jffs2 = "-lnp "
WKS_FILE ?= "beaglebone-yocto.wks"
-IMAGE_INSTALL_append = " kernel-devicetree kernel-image-zimage"
-do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot u-boot:do_deploy"
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-image kernel-devicetree"
+do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot virtual/bootloader:do_deploy"
SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0 115200;ttyAMA0"
-SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ?= "5.4%"
+PREFERRED_VERSION_linux-yocto ?= "6.6%"
KERNEL_IMAGETYPE = "zImage"
-KERNEL_DEVICETREE = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb"
-KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
+DTB_FILES = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb"
+KERNEL_DEVICETREE = '${@' '.join('ti/omap/%s' % d for d in '${DTB_FILES}'.split())}'
+
+PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
SPL_BINARY = "MLO"
UBOOT_SUFFIX = "img"
UBOOT_MACHINE = "am335x_evm_defconfig"
-UBOOT_ENTRYPOINT = "0x80008000"
-UBOOT_LOADADDRESS = "0x80008000"
MACHINE_FEATURES = "usbgadget usbhost vfat alsa"
-IMAGE_BOOT_FILES ?= "u-boot.${UBOOT_SUFFIX} MLO zImage am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb"
+IMAGE_BOOT_FILES ?= "u-boot.${UBOOT_SUFFIX} ${SPL_BINARY} ${KERNEL_IMAGETYPE} ${DTB_FILES}"
# support runqemu
EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
diff --git a/meta-yocto-bsp/conf/machine/edgerouter.conf b/meta-yocto-bsp/conf/machine/edgerouter.conf
deleted file mode 100644
index d6fd934fa5..0000000000
--- a/meta-yocto-bsp/conf/machine/edgerouter.conf
+++ /dev/null
@@ -1,26 +0,0 @@
-#@TYPE: Machine
-#@NAME: Edgerouter
-#@DESCRIPTION: Machine configuration for a generic edgerouter
-
-require conf/machine/include/tune-mips64.inc
-
-MACHINE_FEATURES = "pci ext2 ext3 serial"
-
-KERNEL_IMAGETYPE = "vmlinux"
-KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
-KERNEL_IMAGE_STRIP_EXTRA_SECTIONS = ".comment"
-
-PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ?= "5.4%"
-
-SERIAL_CONSOLES = "115200;ttyS0"
-USE_VT ?= "0"
-
-MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
-
-IMAGE_FSTYPES ?= "jffs2 tar.bz2 wic wic.bmap"
-JFFS2_ERASEBLOCK = "0x10000"
-
-WKS_FILE ?= "edgerouter.wks"
-IMAGE_BOOT_FILES ?= "vmlinux;vmlinux.64"
-do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"
diff --git a/meta-yocto-bsp/conf/machine/genericarm64.conf b/meta-yocto-bsp/conf/machine/genericarm64.conf
new file mode 100644
index 0000000000..4afd6c3a87
--- /dev/null
+++ b/meta-yocto-bsp/conf/machine/genericarm64.conf
@@ -0,0 +1,58 @@
+#@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 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"
diff --git a/meta-yocto-bsp/conf/machine/genericx86-64.conf b/meta-yocto-bsp/conf/machine/genericx86-64.conf
index 81ec24e971..f19a1c1527 100644
--- a/meta-yocto-bsp/conf/machine/genericx86-64.conf
+++ b/meta-yocto-bsp/conf/machine/genericx86-64.conf
@@ -3,9 +3,8 @@
#@DESCRIPTION: Machine configuration for generic x86_64 (64-bit) PCs and servers. Supports a moderately wide range of drivers that should boot and be usable on "typical" hardware.
DEFAULTTUNE ?= "core2-64"
-require conf/machine/include/tune-core2.inc
+require conf/machine/include/x86/tune-core2.inc
require conf/machine/include/genericx86-common.inc
-SERIAL_CONSOLES_CHECK = "ttyS0"
#For runqemu
QB_SYSTEM_NAME = "qemu-system-x86_64"
diff --git a/meta-yocto-bsp/conf/machine/genericx86.conf b/meta-yocto-bsp/conf/machine/genericx86.conf
index 1387bde852..34e1448a8c 100644
--- a/meta-yocto-bsp/conf/machine/genericx86.conf
+++ b/meta-yocto-bsp/conf/machine/genericx86.conf
@@ -3,9 +3,8 @@
#@DESCRIPTION: Machine configuration for generic x86 (32-bit) PCs. Supports a moderately wide range of drivers that should boot and be usable on "typical" hardware.
DEFAULTTUNE ?= "core2-32"
-require conf/machine/include/tune-core2.inc
+require conf/machine/include/x86/tune-core2.inc
require conf/machine/include/genericx86-common.inc
-MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "gma500-gfx-check"
#For runqemu
QB_SYSTEM_NAME = "qemu-system-i386"
diff --git a/meta-yocto-bsp/conf/machine/include/genericx86-common.inc b/meta-yocto-bsp/conf/machine/include/genericx86-common.inc
index a6c396c79e..50a233dd8f 100644
--- a/meta-yocto-bsp/conf/machine/include/genericx86-common.inc
+++ b/meta-yocto-bsp/conf/machine/include/genericx86-common.inc
@@ -1,7 +1,8 @@
-include conf/machine/include/x86-base.inc
-require conf/machine/include/qemuboot-x86.inc
+include conf/machine/include/x86/x86-base.inc
+require conf/machine/include/x86/qemuboot-x86.inc
MACHINE_FEATURES += "wifi efi pcbios"
+PREFERRED_VERSION_linux-yocto ?= "6.6%"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
XSERVER ?= "${XSERVER_X86_BASE} \
@@ -15,10 +16,6 @@ XSERVER ?= "${XSERVER_X86_BASE} \
MACHINE_EXTRA_RRECOMMENDS += "kernel-modules linux-firmware"
-GLIBC_ADDONS = "nptl"
-
-EXTRA_OECONF_append_pn-matchbox-panel-2 = " --with-battery=acpi"
-
IMAGE_FSTYPES += "wic wic.bmap"
WKS_FILE ?= "genericx86.wks.in"
EFI_PROVIDER ??= "grub-efi"
diff --git a/meta-yocto-bsp/lib/oeqa/controllers/beaglebonetarget.py b/meta-yocto-bsp/lib/oeqa/controllers/beaglebonetarget.py
index 0f1aeb398f..7af3e1dac7 100644
--- a/meta-yocto-bsp/lib/oeqa/controllers/beaglebonetarget.py
+++ b/meta-yocto-bsp/lib/oeqa/controllers/beaglebonetarget.py
@@ -24,11 +24,10 @@ import subprocess
import sys
import pexpect
-import oeqa.utils.sshcontrol as sshcontrol
-from oeqa.controllers.masterimage import MasterImageHardwareTarget
+from oeqa.controllers.controllerimage import ControllerImageHardwareTarget
-class BeagleBoneTarget(MasterImageHardwareTarget):
+class BeagleBoneTarget(ControllerImageHardwareTarget):
dtbs = {'uImage-am335x-bone.dtb': 'am335x-bone.dtb', 'uImage-am335x-boneblack.dtb': 'am335x-boneblack.dtb'}
@@ -57,21 +56,21 @@ class BeagleBoneTarget(MasterImageHardwareTarget):
def _deploy(self):
- self.master.run("umount /boot; umount /mnt/testrootfs;")
- self.master.ignore_status = False
+ self.controller.run("umount /boot; umount /mnt/testrootfs;")
+ self.controller.ignore_status = False
# Kernel and dtb files may not be in the image, so copy them just in case
- self.master.copy_to(self.kernel, "~/test-kernel")
+ self.controller.copy_to(self.kernel, "~/test-kernel")
kernelpath = os.path.dirname(self.kernel)
for dtborig, dtbfn in self.dtbs.iteritems():
dtbfile = os.path.join(kernelpath, dtborig)
if os.path.exists(dtbfile):
- self.master.copy_to(dtbfile, "~/%s" % dtbfn)
- self.master.copy_to(self.rootfs, "~/test-rootfs.%s" % self.image_fstype)
+ self.controller.copy_to(dtbfile, "~/%s" % dtbfn)
+ self.controller.copy_to(self.rootfs, "~/test-rootfs.%s" % self.image_fstype)
for cmd in self.deploy_cmds:
- self.master.run(cmd)
+ self.controller.run(cmd)
def _start(self, params=None):
- self.power_cycle(self.master)
+ self.power_cycle(self.controller)
try:
serialconn = pexpect.spawn(self.serialcontrol_cmd, env=self.origenv, logfile=sys.stdout)
# We'd wait for "U-Boot" here but sometimes we connect too late on BeagleBone white to see it
diff --git a/meta-yocto-bsp/lib/oeqa/controllers/edgeroutertarget.py b/meta-yocto-bsp/lib/oeqa/controllers/edgeroutertarget.py
deleted file mode 100644
index 9c47b5b044..0000000000
--- a/meta-yocto-bsp/lib/oeqa/controllers/edgeroutertarget.py
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright (C) 2014 Intel Corporation
-#
-# Released under the MIT license (see COPYING.MIT)
-
-# This module adds support to testimage.bbclass to deploy images and run
-# tests on a Ubiquiti Networks EdgeRouter Lite. The device must be set up
-# to boot into the master image already - the easiest way to do that is as
-# follows:
-#
-# 1. Take out the internal USB drive and plug it into your PC
-# 2. Repartition the USB drive so that you have three partitions in this
-# order:
-# 1: vfat, labelled "boot" (it will need to be formatted with mkfs.vfat
-# for this to be possible, since FAT partitions formatted under
-# DOS/Windows will only support uppercase labels)
-# 2: ext3 (for master image) labelled "testmaster"
-# 3: ext3 (for image under test) labelled "testrootfs"
-# 3. Copy the kernel to be used by the master image to the FAT partition
-# (it should be named "vmlinux.64" with the factory u-boot configuration)
-# 4. Install the master image onto the "testmaster" ext3 partition. If
-# you do this by just extracting the contents of an image onto the
-# partition, you will also likely need to create the master image marker
-# file /etc/masterimage within this partition so that we can tell when
-# we're booted into it that it is the master image.
-# 5. Put the USB drive back into the device, and ensure the console port
-# and first ethernet port are connected before powering on
-#
-# TEST_SERIALCONTROL_CMD will need to be set in local.conf so that we can
-# interact with u-boot over the serial console port.
-
-import os
-import bb
-import time
-import subprocess
-import sys
-import pexpect
-
-import oeqa.utils.sshcontrol as sshcontrol
-from oeqa.controllers.masterimage import MasterImageHardwareTarget
-
-
-class EdgeRouterTarget(MasterImageHardwareTarget):
-
- def __init__(self, d):
- super(EdgeRouterTarget, self).__init__(d)
-
- self.image_fstype = self.get_image_fstype(d)
- self.deploy_cmds = [
- 'mount -L boot /boot',
- 'mkdir -p /mnt/testrootfs',
- 'mount -L testrootfs /mnt/testrootfs',
- 'cp ~/test-kernel /boot',
- 'rm -rf /mnt/testrootfs/*',
- 'tar xvf ~/test-rootfs.%s -C /mnt/testrootfs' % self.image_fstype
- ]
- if not self.serialcontrol_cmd:
- bb.fatal("This TEST_TARGET needs a TEST_SERIALCONTROL_CMD defined in local.conf.")
-
-
- def _deploy(self):
- self.master.run("umount /mnt/testrootfs;")
- self.master.ignore_status = False
- self.master.copy_to(self.kernel, "~/test-kernel")
- self.master.copy_to(self.rootfs, "~/test-rootfs.%s" % self.image_fstype)
- for cmd in self.deploy_cmds:
- self.master.run(cmd)
-
- def _start(self, params=None):
- self.power_cycle(self.master)
- try:
- serialconn = pexpect.spawn(self.serialcontrol_cmd, env=self.origenv, logfile=sys.stdout)
- serialconn.expect("U-Boot")
- serialconn.sendline("a")
- serialconn.expect("Octeon ubnt_e100#")
- serialconn.sendline("fatload usb 0:1 $loadaddr test-kernel")
- serialconn.expect(" bytes read")
- serialconn.expect("Octeon ubnt_e100#")
- serialconn.sendline("bootoctlinux $loadaddr coremask=0x3 root=/dev/sda3 rw rootwait mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom)")
- serialconn.expect("login:", timeout=120)
- serialconn.close()
- except pexpect.ExceptionPexpect as e:
- bb.fatal('Serial interaction failed: %s' % str(e))
-
- def _wait_until_booted(self):
- try:
- serialconn = pexpect.spawn(self.serialcontrol_cmd, env=self.origenv, logfile=sys.stdout)
- serialconn.expect("login:", timeout=120)
- serialconn.close()
- except pexpect.ExceptionPexpect as e:
- bb.fatal('Serial interaction failed: %s' % str(e))
diff --git a/meta-yocto-bsp/lib/oeqa/controllers/grubtarget.py b/meta-yocto-bsp/lib/oeqa/controllers/grubtarget.py
index 7bc807d2bc..c3a98979c5 100644
--- a/meta-yocto-bsp/lib/oeqa/controllers/grubtarget.py
+++ b/meta-yocto-bsp/lib/oeqa/controllers/grubtarget.py
@@ -19,10 +19,9 @@ import subprocess
import sys
import pexpect
-import oeqa.utils.sshcontrol as sshcontrol
-from oeqa.controllers.masterimage import MasterImageHardwareTarget
+from oeqa.controllers.controllerimage import ControllerImageHardwareTarget
-class GrubTarget(MasterImageHardwareTarget):
+class GrubTarget(ControllerImageHardwareTarget):
def __init__(self, d):
super(GrubTarget, self).__init__(d)
@@ -41,16 +40,16 @@ class GrubTarget(MasterImageHardwareTarget):
def _deploy(self):
# make sure these aren't mounted
- self.master.run("umount /boot; umount /mnt/testrootfs;")
- self.master.ignore_status = False
+ self.controller.run("umount /boot; umount /mnt/testrootfs;")
+ self.controller.ignore_status = False
# Kernel files may not be in the image, so copy them just in case
- self.master.copy_to(self.rootfs, "~/test-rootfs." + self.image_fstype)
- self.master.copy_to(self.kernel, "~/test-kernel")
+ self.controller.copy_to(self.rootfs, "~/test-rootfs." + self.image_fstype)
+ self.controller.copy_to(self.kernel, "~/test-kernel")
for cmd in self.deploy_cmds:
- self.master.run(cmd)
+ self.controller.run(cmd)
def _start(self, params=None):
- self.power_cycle(self.master)
+ self.power_cycle(self.controller)
try:
serialconn = pexpect.spawn(self.serialcontrol_cmd, env=self.origenv, logfile=sys.stdout)
serialconn.expect("GNU GRUB version 2.00")
diff --git a/meta-yocto-bsp/lib/oeqa/runtime/cases/parselogs-ignores-beaglebone-yocto.txt b/meta-yocto-bsp/lib/oeqa/runtime/cases/parselogs-ignores-beaglebone-yocto.txt
new file mode 100644
index 0000000000..b0d98418d1
--- /dev/null
+++ b/meta-yocto-bsp/lib/oeqa/runtime/cases/parselogs-ignores-beaglebone-yocto.txt
@@ -0,0 +1,4 @@
+# These should be reviewed to see if they are still needed
+l4_wkup_cm
+Failed to make EGL context current
+glamor initialization failed \ No newline at end of file
diff --git a/meta-yocto-bsp/lib/oeqa/runtime/cases/parselogs-ignores-genericx86-64.txt b/meta-yocto-bsp/lib/oeqa/runtime/cases/parselogs-ignores-genericx86-64.txt
new file mode 100644
index 0000000000..9a655564cd
--- /dev/null
+++ b/meta-yocto-bsp/lib/oeqa/runtime/cases/parselogs-ignores-genericx86-64.txt
@@ -0,0 +1,7 @@
+# These should be reviewed to see if they are still needed
+Direct firmware load for i915
+Failed to load firmware i915
+Failed to fetch GuC
+Failed to initialize GuC
+Failed to load DMC firmware
+The driver is built-in, so to load the firmware you need to \ No newline at end of file
diff --git a/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py b/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py
index 57599e19aa..6ce9a3b3f8 100644
--- a/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py
+++ b/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py
@@ -2,7 +2,7 @@ import os
from oeqa.selftest.case import OESelftestTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu
+from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu
class Systemdboot(OESelftestTestCase):
@@ -21,8 +21,9 @@ class Systemdboot(OESelftestTestCase):
features += 'MACHINE = "genericx86-64"'
self.append_config(features)
- deploydir = get_bb_var('DEPLOY_DIR_IMAGE', "core-image-minimal")
- systemdbootfile = os.path.join(deploydir, 'systemd-bootx64.efi')
+ image = 'core-image-minimal'
+ bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'], image)
+ systemdbootfile = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], 'systemd-bootx64.efi')
# Ensure we're actually testing that this gets built and not that
# it was around from an earlier build
@@ -50,8 +51,8 @@ class Systemdboot(OESelftestTestCase):
AutomatedBy: Jose Perez Carranza <jose.perez.carranza at linux-intel.com>
"""
- systemdbootimage = os.path.join(deploydir, 'core-image-minimal-genericx86-64.wic')
- imagebootfile = os.path.join(deploydir, 'bootx64.efi')
+ systemdbootimage = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], '%s.wic' % bb_vars['IMAGE_LINK_NAME'])
+ imagebootfile = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], 'bootx64.efi')
# Clean environment before start the test
if os.path.isfile(imagebootfile):
diff --git a/meta-yocto-bsp/recipes-bsp/formfactor/formfactor_0.0.bbappend b/meta-yocto-bsp/recipes-bsp/formfactor/formfactor_0.0.bbappend
index 72d991c7e5..4fc41d0580 100644
--- a/meta-yocto-bsp/recipes-bsp/formfactor/formfactor_0.0.bbappend
+++ b/meta-yocto-bsp/recipes-bsp/formfactor/formfactor_0.0.bbappend
@@ -1 +1 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
diff --git a/meta-yocto-bsp/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf b/meta-yocto-bsp/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf
deleted file mode 100644
index 74d33c871f..0000000000
--- a/meta-yocto-bsp/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-# Mimic modprobe's install funcitonality with busybox's modprobe
-install gma500_gfx dmesg | grep gma500_gfx_checked || { /etc/modprobe.d/gma500-gfx-check.sh || modprobe gma500_gfx; }
diff --git a/meta-yocto-bsp/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh b/meta-yocto-bsp/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh
deleted file mode 100644
index 75cda99f54..0000000000
--- a/meta-yocto-bsp/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-# Check for devices we wish to avoid gma500_gfx for
-DEVICES="0x8119 0x4108"
-
-# Checked flag to avoid infinite modprobe
-echo "gma500_gfx_checked" >> /dev/kmsg;
-
-for DEVICE in $DEVICES; do
- if udevadm trigger --subsystem-match=pci --verbose --attr-match=device=$DEVICE | grep "pci" >> /dev/null ; then
- echo "Found $DEVICE, avoiding gma500_gfx module" >> /dev/kmsg;
- exit 0
- fi
-done
-exit 1
diff --git a/meta-yocto-bsp/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb b/meta-yocto-bsp/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb
deleted file mode 100644
index 00680de890..0000000000
--- a/meta-yocto-bsp/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Intel gma500_gfx fix for certain hardware"
-DESCRIPTION = "Avoid inserting gma500_gfx module for certain hardware devices."
-LICENSE="GPLv2"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-
-SRC_URI = "file://gma500-gfx-check.conf \
- file://gma500-gfx-check.sh "
-
-do_install(){
- install -d ${D}${sysconfdir}/modprobe.d/
- install -m 755 ${WORKDIR}/gma500-gfx-check.sh ${D}${sysconfdir}/modprobe.d/gma500-gfx-check.sh
- install -m 644 ${WORKDIR}/gma500-gfx-check.conf ${D}${sysconfdir}/modprobe.d/gma500-gfx-check.conf
-}
-
-FILES_${PN}="${sysconfdir}/modprobe.d/gma500-gfx-check.conf \
- ${sysconfdir}/modprobe.d/gma500-gfx-check.sh"
-
-COMPATIBLE_MACHINE = "genericx86"
diff --git a/meta-yocto-bsp/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend b/meta-yocto-bsp/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
index 72d991c7e5..4fc41d0580 100644
--- a/meta-yocto-bsp/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
+++ b/meta-yocto-bsp/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
@@ -1 +1 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
diff --git a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend
index 6e5a129dd4..4a62ac952c 100644
--- a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend
+++ b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend
@@ -1,13 +1,11 @@
-KBRANCH_genericx86 = "standard/base"
-KBRANCH_genericx86-64 = "standard/base"
-KBRANCH_edgerouter = "standard/edgerouter"
-KBRANCH_beaglebone-yocto = "standard/beaglebone"
+KBRANCH:genericx86 = "standard/base"
+KBRANCH:genericx86-64 = "standard/base"
+KBRANCH:beaglebone-yocto = "standard/beaglebone"
-KMACHINE_genericx86 ?= "common-pc"
-KMACHINE_genericx86-64 ?= "common-pc-64"
-KMACHINE_beaglebone-yocto ?= "beaglebone"
+KMACHINE:genericx86 ?= "common-pc"
+KMACHINE:genericx86-64 ?= "common-pc-64"
+KMACHINE:beaglebone-yocto ?= "beaglebone"
-COMPATIBLE_MACHINE_genericx86 = "genericx86"
-COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
-COMPATIBLE_MACHINE_edgerouter = "edgerouter"
-COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
+COMPATIBLE_MACHINE:genericx86 = "genericx86"
+COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
+COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
diff --git a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.4.bbappend b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.4.bbappend
deleted file mode 100644
index 626748541a..0000000000
--- a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.4.bbappend
+++ /dev/null
@@ -1,23 +0,0 @@
-KBRANCH_genericx86 = "v5.4/standard/base"
-KBRANCH_genericx86-64 = "v5.4/standard/base"
-KBRANCH_edgerouter = "v5.4/standard/edgerouter"
-KBRANCH_beaglebone-yocto = "v5.4/standard/beaglebone"
-
-KMACHINE_genericx86 ?= "common-pc"
-KMACHINE_genericx86-64 ?= "common-pc-64"
-KMACHINE_beaglebone-yocto ?= "beaglebone"
-
-SRCREV_machine_genericx86 ?= "ec485bd4afef57715eb45ba331b04b3f941e43bb"
-SRCREV_machine_genericx86-64 ?= "ec485bd4afef57715eb45ba331b04b3f941e43bb"
-SRCREV_machine_edgerouter ?= "ec485bd4afef57715eb45ba331b04b3f941e43bb"
-SRCREV_machine_beaglebone-yocto ?= "ec485bd4afef57715eb45ba331b04b3f941e43bb"
-
-COMPATIBLE_MACHINE_genericx86 = "genericx86"
-COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
-COMPATIBLE_MACHINE_edgerouter = "edgerouter"
-COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
-
-LINUX_VERSION_genericx86 = "5.4.49"
-LINUX_VERSION_genericx86-64 = "5.4.49"
-LINUX_VERSION_edgerouter = "5.4.49"
-LINUX_VERSION_beaglebone-yocto = "5.4.49"
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
new file mode 100644
index 0000000000..3f33ec991d
--- /dev/null
+++ b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.6.bbappend
@@ -0,0 +1,21 @@
+COMPATIBLE_MACHINE:genericarm64 = "genericarm64"
+COMPATIBLE_MACHINE:genericx86 = "genericx86"
+COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
+COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
+
+KBRANCH:genericx86 = "v6.6/standard/base"
+KBRANCH:genericx86-64 = "v6.6/standard/base"
+KBRANCH:beaglebone-yocto = "v6.6/standard/beaglebone"
+
+KMACHINE:genericarm64 ?= "genericarm64"
+KMACHINE:genericx86 ?= "common-pc"
+KMACHINE:genericx86-64 ?= "common-pc-64"
+KMACHINE:beaglebone-yocto ?= "beaglebone"
+
+SRCREV_machine:genericx86 ?= "06644f0d7193d7ec39d7fe41939a21953e7a0c65"
+SRCREV_machine:genericx86-64 ?= "06644f0d7193d7ec39d7fe41939a21953e7a0c65"
+SRCREV_machine:beaglebone-yocto ?= "06644f0d7193d7ec39d7fe41939a21953e7a0c65"
+
+LINUX_VERSION:genericx86 = "6.6.21"
+LINUX_VERSION:genericx86-64 = "6.6.21"
+LINUX_VERSION:beaglebone-yocto = "6.6.21"
diff --git a/meta-yocto-bsp/wic/beaglebone-yocto.wks b/meta-yocto-bsp/wic/beaglebone-yocto.wks
index 97bd480a08..7a28fb23dc 100644
--- a/meta-yocto-bsp/wic/beaglebone-yocto.wks
+++ b/meta-yocto-bsp/wic/beaglebone-yocto.wks
@@ -2,6 +2,6 @@
# long-description: Creates a partitioned SD card image for Beaglebone.
# Boot files are located in the first vfat partition.
-part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 4 --size 16 --sourceparams="loader=u-boot" --use-uuid
-part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4 --use-uuid
+part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 4 --fixed-size 32 --sourceparams="loader=u-boot" --use-uuid
+part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label root --align 4 --use-uuid
bootloader --append="console=ttyS0,115200"
diff --git a/meta-yocto-bsp/wic/edgerouter.wks b/meta-yocto-bsp/wic/edgerouter.wks
deleted file mode 100644
index 7176fe436b..0000000000
--- a/meta-yocto-bsp/wic/edgerouter.wks
+++ /dev/null
@@ -1,4 +0,0 @@
-# short-description: Create SD card image for Edgerouter
-# long-description: Create a partitioned SD card image for MIPS64 Edgerouter reference hardware.
-part /boot --source bootimg-partition --ondisk sda --fstype=vfat --label boot --active --align 4 --size 16
-part / --source rootfs --ondisk sda --fstype=ext4 --label root --align 4
diff --git a/meta-yocto-bsp/wic/genericarm64.wks.in b/meta-yocto-bsp/wic/genericarm64.wks.in
new file mode 100644
index 0000000000..ee7da87ded
--- /dev/null
+++ b/meta-yocto-bsp/wic/genericarm64.wks.in
@@ -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 swap --size 44 --label swap --fstype=swap --use-uuid
+
+part / --source rootfs --fstype=ext4 --label root --align 1024 --use-uuid
+
+bootloader --ptable gpt --timeout=5 --append="rootwait rootfstype=ext4"