summaryrefslogtreecommitdiffstats
path: root/meta-yocto-bsp
diff options
context:
space:
mode:
Diffstat (limited to 'meta-yocto-bsp')
-rw-r--r--meta-yocto-bsp/README.hardware407
-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.conf60
-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.inc12
-rw-r--r--meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf36
-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.py27
-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.bbappend24
-rw-r--r--meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.19.bbappend27
-rw-r--r--meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.2.bbappend27
-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
-rw-r--r--meta-yocto-bsp/wic/genericx86.wks.in (renamed from meta-yocto-bsp/wic/genericx86.wks)2
-rw-r--r--meta-yocto-bsp/wic/mpc8315e-rdb.wks4
30 files changed, 353 insertions, 733 deletions
diff --git a/meta-yocto-bsp/README.hardware b/meta-yocto-bsp/README.hardware
deleted file mode 100644
index d8d2a0cac6..0000000000
--- a/meta-yocto-bsp/README.hardware
+++ /dev/null
@@ -1,407 +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)
- * Freescale MPC8315E-RDB (mpc8315e-rdb)
- * 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.
-
-Freescale MPC8315E-RDB (mpc8315e-rdb)
-=====================================
-
-The MPC8315 PowerPC reference platform (MPC8315E-RDB) is aimed at hardware and
-software development of network attached storage (NAS) and digital media server
-applications. The MPC8315E-RDB features the PowerQUICC II Pro processor, which
-includes a built-in security accelerator.
-
-(Note: you may find it easier to order MPC8315E-RDBA; this appears to be the
-same board in an enclosure with accessories. In any case it is fully
-compatible with the instructions given here.)
-
-Setup instructions
-------------------
-
-You will need the following:
-* NFS root setup on your workstation
-* TFTP server installed on your workstation
-* Straight-thru 9-conductor serial cable (DB9, M/F) connected from your
- PC to UART1
-* Ethernet connected to the first ethernet port on the board
-
---- Preparation ---
-
-Note: if you have altered your board's ethernet MAC address(es) from the
-defaults, or you need to do so because you want multiple boards on the same
-network, then you will need to change the values in the dts file (patch
-linux/arch/powerpc/boot/dts/mpc8315erdb.dts within the kernel source). If
-you have left them at the factory default then you shouldn't need to do
-anything here.
-
-Note: To boot from USB disk you need u-boot that supports 'ext2load usb'
-command. You need to setup TFTP server, load u-boot from there and
-flash it to NOR flash.
-
-Beware! Flashing bootloader is potentially dangerous operation that can
-brick your device if done incorrectly. Please, make sure you understand
-what below commands mean before executing them.
-
-Load the new u-boot.bin from TFTP server to memory address 200000
-=> tftp 200000 u-boot.bin
-
-Disable flash protection
-=> protect off all
-
-Erase the old u-boot from fe000000 to fe06ffff in NOR flash.
-The size is 0x70000 (458752 bytes)
-=> erase fe000000 fe06ffff
-
-Copy the new u-boot from address 200000 to fe000000
-the size is 0x70000. It has to be greater or equal to u-boot.bin size
-=> cp.b 200000 fe000000 70000
-
-Enable flash protection again
-=> protect on all
-
-Reset the board
-=> reset
-
---- Booting from USB disk ---
-
- 1. Flash partitioned image to the USB disk
-
- # dd if=core-image-minimal-mpc8315e-rdb.wic of=/dev/sdb
-
- 2. Plug USB disk into the MPC8315 board
-
- 3. 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/ttyUSB0 -b 115200
-
- 4. Power up or reset the board and press a key on the terminal when prompted
- to get to the U-Boot command line
-
- 5. Optional. Load the u-boot.bin from the USB disk:
-
- => usb start
- => ext2load usb 0:1 200000 u-boot.bin
-
- and flash it to NOR flash as described above.
-
- 6. Load the kernel and dtb from the first partition of the USB disk:
-
- => usb start
- => ext2load usb 0:1 1000000 uImage
- => ext2load usb 0:1 2000000 dtb
-
- 7. Set bootargs and boot up the device
-
- => setenv bootargs root=/dev/sdb2 rw rootwait console=ttyS0,115200
- => bootm 1000000 - 2000000
-
-
---- Booting from NFS root ---
-
-Load the kernel and dtb (device tree blob), and boot the system as follows:
-
- 1. Get the kernel (uImage-mpc8315e-rdb.bin) and dtb (uImage-mpc8315e-rdb.dtb)
- files from the tmp/deploy 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/ttyUSB0 -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>
- => setenv bootargs root=/dev/nfs rw nfsroot=<nfsroot ip>:<rootfs path> ip=<board ip>:<server ip>:<gateway ip>:255.255.255.0:mpc8315e:eth0:off console=ttyS0,115200
-
- 5. Download the kernel and dtb, and boot:
-
- => tftp 1000000 uImage-mpc8315e-rdb.bin
- => tftp 2000000 uImage-mpc8315e-rdb.dtb
- => bootm 1000000 - 2000000
-
---- Booting from JFFS2 root ---
-
- 1. First boot the board with NFS root.
-
- 2. Erase the MTD partition which will be used as root:
-
- $ flash_eraseall /dev/mtd3
-
- 3. Copy the JFFS2 image to the MTD partition:
-
- $ flashcp core-image-minimal-mpc8315e-rdb.jffs2 /dev/mtd3
-
- 4. Then reboot the board and set up the environment in U-Boot:
-
- => setenv bootargs root=/dev/mtdblock3 rootfstype=jffs2 console=ttyS0,115200
-
-
-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 c94bb0031a..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 = "zeus"
+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 08dd3a5074..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.2%"
+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 6331368f87..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.2%"
-
-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..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"
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 f83ce5c594..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,11 +16,8 @@ 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"
+WKS_FILE ?= "genericx86.wks.in"
+EFI_PROVIDER ??= "grub-efi"
do_image_wic[depends] += "gptfdisk-native:do_populate_sysroot"
do_image_wic[recrdeptask] += "do_bootimg"
diff --git a/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf b/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf
deleted file mode 100644
index 5382796284..0000000000
--- a/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf
+++ /dev/null
@@ -1,36 +0,0 @@
-#@TYPE: Machine
-#@NAME: Freescale MPC8315E-RDB
-#@DESCRIPTION: Machine configuration for Freescale MPC8315E-RDB
-
-TARGET_FPU = ""
-
-require conf/machine/include/tune-ppce300c3.inc
-
-KERNEL_IMAGETYPE = "uImage"
-
-EXTRA_IMAGEDEPENDS += "u-boot"
-UBOOT_MACHINE = "MPC8315ERDB_config"
-
-SERIAL_CONSOLES = "115200;ttyS0"
-
-MACHINE_FEATURES = "keyboard pci ext2 ext3 serial"
-
-PREFERRED_VERSION_linux-yocto ?= "5.2%"
-PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-
-PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
-XSERVER ?= "xserver-xorg \
- xf86-video-fbdev"
-
-UBOOT_ENTRYPOINT = "0x00000000"
-
-KERNEL_DEVICETREE = "mpc8315erdb.dtb"
-
-MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
-
-IMAGE_FSTYPES ?= "jffs2 tar.bz2"
-JFFS2_ERASEBLOCK = "0x4000"
-
-IMAGE_FSTYPES += "wic wic.bmap"
-WKS_FILE ?= 'mpc8315e-rdb.wks'
-IMAGE_BOOT_FILES ?= "u-boot.bin uImage mpc8315erdb.dtb;dtb"
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 0a3a2cdc4b..6fc6925f69 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):
@@ -18,11 +18,13 @@ class Systemdboot(OESelftestTestCase):
# Set EFI_PROVIDER = "systemdboot" and MACHINE = "genericx86-64" in conf/local.conf
features = 'EFI_PROVIDER = "systemd-boot"\n'
- features += 'MACHINE = "genericx86-64"'
+ features += 'MACHINE = "genericx86-64"\n'
+ features += 'COMPATIBLE_MACHINE:pn-ssh-pregen-hostkeys:genericx86-64 = "genericx86-64"\n'
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
@@ -30,7 +32,7 @@ class Systemdboot(OESelftestTestCase):
runCmd('rm -f %s' % systemdbootfile)
# Build a genericx86-64/efi systemdboot image
- bitbake('mtools-native core-image-minimal')
+ bitbake('mtools-native core-image-minimal wic-tools')
found = os.path.isfile(systemdbootfile)
self.assertTrue(found, 'Systemd-Boot file %s not found' % systemdbootfile)
@@ -38,9 +40,9 @@ class Systemdboot(OESelftestTestCase):
"""
Summary: Check if EFI bootloader for systemd is correctly build
Dependencies: Image was built correctly on testcase 1445
- Steps: 1. Copy bootx64.efi file form the hddimg created
+ Steps: 1. Copy bootx64.efi file from the wic created
under build/tmp/deploy/images/genericx86-64
- 2. Check bootx64.efi was copied form hddimg
+ 2. Check bootx64.efi was copied from wic
3. Verify the checksums from the copied and previously
created file are equal.
Expected : Systemd-bootx64.efi and bootx64.efi should be the same
@@ -50,16 +52,17 @@ class Systemdboot(OESelftestTestCase):
AutomatedBy: Jose Perez Carranza <jose.perez.carranza at linux-intel.com>
"""
- systemdbootimage = os.path.join(deploydir, 'core-image-minimal-genericx86-64.hddimg')
- imagebootfile = os.path.join(deploydir, 'bootx64.efi')
- mcopynative = os.path.join(get_bb_var('STAGING_BINDIR_NATIVE', "core-image-minimal"), 'mcopy')
+ 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):
runCmd('rm -f %s' % imagebootfile)
- runCmd('%s -i %s ::EFI/BOOT/bootx64.efi %s' % (mcopynative ,systemdbootimage,
- imagebootfile))
+ sysroot = get_bb_var('RECIPE_SYSROOT_NATIVE', 'wic-tools')
+
+ runCmd('wic cp %s:1/EFI/BOOT/bootx64.efi %s -n %s' % (systemdbootimage,
+ imagebootfile, sysroot))
found = os.path.isfile(imagebootfile)
self.assertTrue(found, 'bootx64.efi file %s was not copied from image'
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 f044dafb4d..5b1b736b1c 100644
--- a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend
+++ b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend
@@ -1,15 +1,13 @@
-KBRANCH_genericx86 = "standard/base"
-KBRANCH_genericx86-64 = "standard/base"
-KBRANCH_edgerouter = "standard/edgerouter"
-KBRANCH_beaglebone-yocto = "standard/beaglebone"
-KBRANCH_mpc8315e-rdb = "standard/fsl-mpc8315e-rdb"
+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:genericarm64 ?= "genericarm64"
+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_mpc8315e-rdb = "mpc8315e-rdb"
+COMPATIBLE_MACHINE:genericarm64 = "genericarm64"
+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_4.19.bbappend b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.19.bbappend
deleted file mode 100644
index ec269d905c..0000000000
--- a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.19.bbappend
+++ /dev/null
@@ -1,27 +0,0 @@
-KBRANCH_genericx86 = "v4.19/standard/base"
-KBRANCH_genericx86-64 = "v4.19/standard/base"
-KBRANCH_edgerouter = "v4.19/standard/edgerouter"
-KBRANCH_beaglebone-yocto = "v4.19/standard/beaglebone"
-KBRANCH_mpc8315e-rdb = "v4.19/standard/fsl-mpc8315e-rdb"
-
-KMACHINE_genericx86 ?= "common-pc"
-KMACHINE_genericx86-64 ?= "common-pc-64"
-KMACHINE_beaglebone-yocto ?= "beaglebone"
-
-SRCREV_machine_genericx86 ?= "5664dc14399edcaad210bbeb6343d84561fb3ea8"
-SRCREV_machine_genericx86-64 ?= "5664dc14399edcaad210bbeb6343d84561fb3ea8"
-SRCREV_machine_edgerouter ?= "5664dc14399edcaad210bbeb6343d84561fb3ea8"
-SRCREV_machine_beaglebone-yocto ?= "5664dc14399edcaad210bbeb6343d84561fb3ea8"
-SRCREV_machine_mpc8315e-rdb ?= "d419f4ca6ba4b097b8ad710a93b89510f5b2998c"
-
-COMPATIBLE_MACHINE_genericx86 = "genericx86"
-COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
-COMPATIBLE_MACHINE_edgerouter = "edgerouter"
-COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
-COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
-
-LINUX_VERSION_genericx86 = "4.19.34"
-LINUX_VERSION_genericx86-64 = "4.19.34"
-LINUX_VERSION_edgerouter = "4.19.34"
-LINUX_VERSION_beaglebone-yocto = "4.19.34"
-LINUX_VERSION_mpc8315e-rdb = "4.19.34"
diff --git a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.2.bbappend b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.2.bbappend
deleted file mode 100644
index f15bccbaf2..0000000000
--- a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.2.bbappend
+++ /dev/null
@@ -1,27 +0,0 @@
-KBRANCH_genericx86 = "v5.2/standard/base"
-KBRANCH_genericx86-64 = "v5.2/standard/base"
-KBRANCH_edgerouter = "v5.2/standard/edgerouter"
-KBRANCH_beaglebone-yocto = "v5.2/standard/beaglebone"
-KBRANCH_mpc8315e-rdb = "v5.2/standard/fsl-mpc8315e-rdb"
-
-KMACHINE_genericx86 ?= "common-pc"
-KMACHINE_genericx86-64 ?= "common-pc-64"
-KMACHINE_beaglebone-yocto ?= "beaglebone"
-
-SRCREV_machine_genericx86 ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
-SRCREV_machine_genericx86-64 ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
-SRCREV_machine_edgerouter ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
-SRCREV_machine_beaglebone-yocto ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
-SRCREV_machine_mpc8315e-rdb ?= "77f031b182885c177b3a96098ae61271911a7954"
-
-COMPATIBLE_MACHINE_genericx86 = "genericx86"
-COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
-COMPATIBLE_MACHINE_edgerouter = "edgerouter"
-COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
-COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
-
-LINUX_VERSION_genericx86 = "5.2.17"
-LINUX_VERSION_genericx86-64 = "5.2.17"
-LINUX_VERSION_edgerouter = "5.2.17"
-LINUX_VERSION_beaglebone-yocto = "5.2.17"
-LINUX_VERSION_mpc8315e-rdb = "5.2.17"
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"
diff --git a/meta-yocto-bsp/wic/genericx86.wks b/meta-yocto-bsp/wic/genericx86.wks.in
index dab719c584..7c09ad00a1 100644
--- a/meta-yocto-bsp/wic/genericx86.wks
+++ b/meta-yocto-bsp/wic/genericx86.wks.in
@@ -1,6 +1,6 @@
# short-description: Create an EFI disk image for genericx86*
# long-description: Creates a partitioned EFI disk image for genericx86* machines
-part /boot --source bootimg-efi --sourceparams="loader=grub-efi" --ondisk sda --label msdos --active --align 1024
+part /boot --source bootimg-efi --sourceparams="loader=${EFI_PROVIDER}" --ondisk sda --label msdos --active --align 1024
part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024 --use-uuid
part swap --ondisk sda --size 44 --label swap1 --fstype=swap
diff --git a/meta-yocto-bsp/wic/mpc8315e-rdb.wks b/meta-yocto-bsp/wic/mpc8315e-rdb.wks
deleted file mode 100644
index d0cb607ffc..0000000000
--- a/meta-yocto-bsp/wic/mpc8315e-rdb.wks
+++ /dev/null
@@ -1,4 +0,0 @@
-# short-description: Create SD card image for MPC8315E-RDB
-# long-description: Create a partitioned SD card image for Freescale MPC8315E-RDB reference hardware.
-part /boot --source bootimg-partition --ondisk sdb --fstype=ext3 --label boot
-part / --source rootfs --ondisk sdb --fstype=ext3 --label root