diff options
Diffstat (limited to 'meta-yocto-bsp')
30 files changed, 378 insertions, 734 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 3c8f775bc4..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 = "warrior" +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 35814cd8f1..459c83f5c2 100644 --- a/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf +++ b/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf @@ -3,39 +3,52 @@ #@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" -SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" +SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0 115200;ttyAMA0" PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" -PREFERRED_VERSION_linux-yocto ?= "5.0%" +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" +IMAGE_CLASSES += "qemuboot" +QB_DEFAULT_FSTYPE = "wic" +QB_FSINFO = "wic:no-kernel-in-fs" +QB_KERNEL_ROOT = "/dev/vda2" +QB_SYSTEM_NAME = "qemu-system-arm" +QB_MACHINE = "-machine virt" +QB_CPU = "-cpu cortex-a15" +QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0 systemd.mask=systemd-networkd" +QB_OPT_APPEND = "-device virtio-rng-device" +QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" +QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@" +QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0" +QB_SERIAL_OPT = "" +QB_TCPSERIAL_OPT = "-device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon" diff --git a/meta-yocto-bsp/conf/machine/edgerouter.conf b/meta-yocto-bsp/conf/machine/edgerouter.conf deleted file mode 100644 index 88592dbc85..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.0%" - -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..1cb5e46dcf --- /dev/null +++ b/meta-yocto-bsp/conf/machine/genericarm64.conf @@ -0,0 +1,63 @@ +#@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" + +# If we're running testimage then we're in a qemu, so ensure u-boot is build +TESTIMAGEDEPENDS:append = " u-boot:do_deploy" diff --git a/meta-yocto-bsp/conf/machine/genericx86-64.conf b/meta-yocto-bsp/conf/machine/genericx86-64.conf index c489462dca..f19a1c1527 100644 --- a/meta-yocto-bsp/conf/machine/genericx86-64.conf +++ b/meta-yocto-bsp/conf/machine/genericx86-64.conf @@ -3,7 +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 9929d2788a..34e1448a8c 100644 --- a/meta-yocto-bsp/conf/machine/genericx86.conf +++ b/meta-yocto-bsp/conf/machine/genericx86.conf @@ -3,7 +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 e2dce56738..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.0%" -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.0.bbappend b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend deleted file mode 100644 index d7cf1216f4..0000000000 --- a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend +++ /dev/null @@ -1,27 +0,0 @@ -KBRANCH_genericx86 = "v5.0/standard/base" -KBRANCH_genericx86-64 = "v5.0/standard/base" -KBRANCH_edgerouter = "v5.0/standard/edgerouter" -KBRANCH_beaglebone-yocto = "v5.0/standard/beaglebone" -KBRANCH_mpc8315e-rdb = "v5.0/standard/fsl-mpc8315e-rdb" - -KMACHINE_genericx86 ?= "common-pc" -KMACHINE_genericx86-64 ?= "common-pc-64" -KMACHINE_beaglebone-yocto ?= "beaglebone" - -SRCREV_machine_genericx86 ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4" -SRCREV_machine_genericx86-64 ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4" -SRCREV_machine_edgerouter ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4" -SRCREV_machine_beaglebone-yocto ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4" -SRCREV_machine_mpc8315e-rdb ?= "670ce7e9db627d0c2067cfdb571ddc1f117818d8" - -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.0.13" -LINUX_VERSION_genericx86-64 = "5.0.13" -LINUX_VERSION_edgerouter = "5.0.13" -LINUX_VERSION_beaglebone-yocto = "5.0.13" -LINUX_VERSION_mpc8315e-rdb = "5.0.13" 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 |