Files
poky/meta-yocto-bsp
Bruce Ashfield 83f2cfb902 yocto-bsps: update to v5.15.52 and buildpaths fixes
Updating linux-yocto/5.15 to the latest korg -stable release that comprises
the following commits:

    545aecd22961 Linux 5.15.52
    ea512d540a55 io_uring: fix not locked access to fixed buf table
    5696f7983d5d net: mscc: ocelot: allow unregistered IP multicast flooding to CPU
    810962c79417 rtw88: rtw8821c: enable rfe 6 devices
    d52f1c588824 rtw88: 8821c: support RFE type4 wifi NIC
    e8d4878dcd00 fs: account for group membership
    dc85bc24fbf1 fs: fix acl translation
    38753e9173a5 fs: support mapped mounts of mapped filesystems
    968e66f8ff70 fs: add i_user_ns() helper
    21c6c720be75 fs: port higher-level mapping helpers
    7d0536a8fab7 fs: remove unused low-level mapping helpers
    f895d0ff47be fs: use low-level mapping helpers
    1c62e0186d94 docs: update mapping documentation
    b20dcf603b8d fs: account for filesystem mappings
    3374eb1b0afc fs: tweak fsuidgid_has_mapping()
    7bc23abcb414 fs: move mapping helpers
    b3679e8b5996 fs: add is_idmapped_mnt() helper
    ab0b6dc5e16b powerpc/ftrace: Remove ftrace init tramp once kernel init is complete
    ce6bfe55237e xfs: only bother with sync_filesystem during readonly remount
    3465b167831e xfs: prevent UAF in xfs_log_item_in_current_chkpt
    4f0c91ab4c7d xfs: check sb_meta_uuid for dabuf buffer recovery
    c4f376ba8be8 xfs: remove all COW fork extents when remounting readonly
    40de647b2bab xfs: Fix the free logic of state in xfs_attr_node_hasname
    0e84e17c16a3 xfs: punch out data fork delalloc blocks on COW writeback failure
    71a218ca4fde xfs: use kmem_cache_free() for kmem_cache objects
    1cdcd496b7ca bcache: memset on stack variables in bch_btree_check() and bch_sectors_dirty_init()
    edbaf6e5e93a x86, kvm: use proper ASM macros for kvm_vcpu_is_preempted
    f4a80ec8c51d tick/nohz: unexport __init-annotated tick_nohz_full_setup()
    37238449af78 Linux 5.15.51
    7fc188a9a9cc powerpc/pseries: wire up rng during setup_arch()
    17aa69b458fd kbuild: link vmlinux only once for CONFIG_TRIM_UNUSED_KSYMS (2nd attempt)
    cced9ce619ef dma-direct: use the correct size for dma_set_encrypted()
    a8bbb4c26460 perf build-id: Fix caching files with a wrong build ID
    46a78d141335 random: update comment from copy_to_user() -> copy_to_iter()
    7a3a4683562e ARM: dts: bcm2711-rpi-400: Fix GPIO line names
    bcf2087ce4de modpost: fix section mismatch check for exported init/exit sections
    da3ee7cd2f15 ARM: cns3xxx: Fix refcount leak in cns3xxx_init
    cde4480b5ab0 memory: samsung: exynos5422-dmc: Fix refcount leak in of_get_dram_timings
    4d9c60e868f7 ARM: Fix refcount leak in axxia_boot_secondary
    10ba9d499a9f soc: bcm: brcmstb: pm: pm-arm: Fix refcount leak in brcmstb_pm_probe
    d23f76018e17 ARM: exynos: Fix refcount leak in exynos_map_pmu
    5e00d3d4023c arm64: dts: ti: k3-am64-main: Remove support for HS400 speed mode
    4b5047643466 ARM: dts: imx6qdl: correct PU regulator ramp delay
    c845b98be950 ARM: dts: imx7: Move hsic_phy power domain to HSIC PHY node
    93f7d2a7fcf3 drm/msm/dp: Always clear mask bits to disable interrupts at dp_ctrl_reset_irq_ctrl()
    1ad385647bf3 powerpc/powernv: wire up rng during setup_arch
    c1cfae46c5dc powerpc/rtas: Allow ibm,platform-dump RTAS call with null buffer address
    fe643b5afde6 powerpc: Enable execve syscall exit tracepoint
    416d16b7dc0b powerpc/microwatt: wire up rng during setup_arch()
    6b28ca2cf344 parisc: Enable ARCH_HAS_STRICT_MODULE_RWX
    cb4d52085c8b parisc/stifb: Fix fb_is_primary_device() only available with CONFIG_FB_STI
    0dcc1dd8a5dd xtensa: Fix refcount leak bug in time.c
    016245172317 xtensa: xtfpga: Fix refcount leak bug in setup
    711591bf1dab iio: adc: ti-ads131e08: add missing fwnode_handle_put() in ads131e08_alloc_channels()
    ab7bf025cee8 iio: adc: adi-axi-adc: Fix refcount leak in adi_axi_adc_attach_client
    4358bf6b1aad iio: adc: rzg2l_adc: add missing fwnode_handle_put() in rzg2l_adc_parse_properties()
    bb6f853289fe iio: adc: axp288: Override TS pin bias current for some models
    4f89730288ee iio: adc: stm32: Fix IRQs on STM32F4 by removing custom spurious IRQs message
    d361b3cc1cf8 iio: adc: stm32: Fix ADCs iteration in irq handler
    148bab179f04 iio: afe: rescale: Fix boolean logic bug
    80e80577043f iio: imu: inv_icm42600: Fix broken icm42600 (chip id 0 value)
    2a2d448a74ab iio: adc: stm32: fix maximum clock rate for stm32mp15x
    4687c3f95524 iio: trigger: sysfs: fix use-after-free on remove
    f359c4751de1 iio: gyro: mpu3050: Fix the error handling in mpu3050_power_up()
    005cb02224a9 iio: accel: mma8452: ignore the return value of reset operation
    cb0d87f2519d iio:accel:mxc4005: rearrange iio trigger get and register
    3357fb9da21a iio:accel:bma180: rearrange iio trigger get and register
    240fb3913f18 iio:accel:kxcjk-1013: rearrange iio trigger get and register
    a1356318042e iio:chemical:ccs811: rearrange iio trigger get and register
    974e69beebb3 iio:humidity:hts221: rearrange iio trigger get and register
    f650029de357 f2fs: attach inline_data after setting compression
    d98b5032c9d0 btrfs: fix deadlock with fsync+fiemap+transaction commit
    1238f580cd81 btrfs: don't set lock_owner when locking extent buffer for reading
    46336a59a4a7 dt-bindings: usb: ehci: Increase the number of PHYs
    9a0b865d8b4c dt-bindings: usb: ohci: Increase the number of PHYs
    308df8d4e41b usb: chipidea: udc: check request status before setting device address
    07f1d9a6b75d USB: gadget: Fix double-free bug in raw_gadget driver
    61c3a21ba6f6 usb: gadget: Fix non-unique driver names in raw-gadget driver
    da57f113e817 xhci-pci: Allow host runtime PM as default for Intel Meteor Lake xHCI
    cfa16dd21be0 xhci-pci: Allow host runtime PM as default for Intel Raptor Lake xHCI
    c1c78d4d9b0a xhci: turn off port power in shutdown
    9509a175a560 usb: typec: wcove: Drop wrong dependency to INTEL_SOC_PMIC
    288f30e17513 iio: adc: vf610: fix conversion mode sysfs node name
    466e15f845d7 iio: magnetometer: yas530: Fix memchr_inv() misuse
    490dd2dd2a79 iio: mma8452: fix probe fail when device tree compatible is used.
    ff3e50ca9250 s390/cpumf: Handle events cycles and instructions identical
    09dd5630fea6 gpio: winbond: Fix error code in winbond_gpio_get()
    e3ea126c513c nvme: move the Samsung X5 quirk entry to the core quirks
    1057d42602cb nvme-pci: add NO APST quirk for Kioxia device
    72fa0f65b566 sock: redo the psock vs ULP protection check
    eb9399970565 Revert "net/tls: fix tls_sk_proto_close executed repeatedly"
    8d7fe9ad6fdd virtio_net: fix xdp_rxq_info bug after suspend/resume
    8eb0223631f8 igb: Make DMA faster when CPU is active on the PCIe link
    60fd29f1ff46 regmap-irq: Fix offset/index mismatch in read_sub_irq_data()
    b0581f93cf05 regmap-irq: Fix a bug in regmap_irq_enable() for type_in_mask chips
    20229bb99545 ice: ethtool: advertise 1000M speeds properly
    2b2bba96526f afs: Fix dynamic root getattr
    ab150a2bf6c5 MIPS: Remove repetitive increase irq_err_count
    3e2c9ee9c1e6 x86/xen: Remove undefined behavior in setup_features()
    ffa12a326415 xen-blkfront: Handle NULL gendisk
    0315bd8ad0dd selftests: netfilter: correct PKTGEN_SCRIPT_PATHS in nft_concat_range.sh
    5b45535865d6 udmabuf: add back sanity check
    be64f54a0db2 net/tls: fix tls_sk_proto_close executed repeatedly
    a3b2470399f6 erspan: do not assume transport header is always set
    26e70f8989cb perf arm-spe: Don't set data source if it's not a memory operation
    e24709e89b1b drm/msm/dp: force link training for display resolution change
    796d3acd7d9e drm/msm/dp: do not initialize phy until plugin interrupt received
    40e9efdc2ef9 drm/msm/dp: dp_link_parse_sink_count() return immediately if aux read failed
    2ecf5ff9aa14 drm/msm/dp: Drop now unused hpd_high member
    d0b4a61f8713 drm/msm/dp: check core_initialized before disable interrupts at dp_display_unbind()
    3c39a1719773 drm/msm/mdp4: Fix refcount leak in mdp4_modeset_init_intf
    45bd293bbcd8 net/sched: sch_netem: Fix arithmetic in netem_dump() for 32-bit platforms
    efb10d2a047d ethtool: Fix get module eeprom fallback
    6386fdde8df0 bonding: ARP monitor spams NETDEV_NOTIFY_PEERS notifiers
    2af944210dc2 igb: fix a use-after-free issue in igb_clean_tx_ring
    cd7789e659e8 tipc: fix use-after-free Read in tipc_named_reinit
    ad10d61c55aa net: fix data-race in dev_isalive()
    f617cef46552 net: Write lock dev_base_lock without disabling bottom halves.
    638be56ae9cc KVM: arm64: Prevent kmemleak from accessing pKVM memory
    d7fe6be43cfa phy: aquantia: Fix AN when higher speeds than 1G are not advertised
    8e74f5ceea52 scsi: storvsc: Correct reporting of Hyper-V I/O size limits
    b28e4e3fd34c bpf, x86: Fix tail call count offset calculation on bpf2bpf call
    0eef1dcb9774 drm/sun4i: Fix crash during suspend after component bind failure
    b03607437ea8 bpf: Fix request_sock leak in sk lookup helpers
    7154e4df56d4 drm/msm: use for_each_sgtable_sg to iterate over scatterlist
    64e6ba7f2d2f xsk: Fix generic transmit when completion queue reservation fails
    54abcc525269 scsi: iscsi: Exclude zero from the endpoint ID range
    0a7a5261705f drm/msm: Switch ordering of runpm put vs devfreq_idle
    7d5fe94333a9 scsi: scsi_debug: Fix zone transition to full condition
    d0906b0fffc9 netfilter: use get_random_u32 instead of prandom
    f7fa3263079c drm/msm: Fix double pm_runtime_disable() call
    c6f6c9668609 drm/msm: Ensure mmap offset is initialized
    45dc151ca0b9 USB: serial: option: add Quectel RM500K module support
    d5eb7d6baed5 USB: serial: option: add Quectel EM05-G modem
    b919ece13b6b USB: serial: option: add Telit LE910Cx 0x1250 composition
    e5b0f42edda2 USB: serial: pl2303: add support for more HXN (G) types
    0895a2235bae drm/i915: Implement w/a 22010492432 for adl-s
    bae4d6a2dd9e tracing/kprobes: Check whether get_kretprobe() returns NULL in kretprobe_dispatcher()
    c3f51b28a8bc dm mirror log: clear log bits up to BITS_PER_LONG boundary
    ac0a5f701f4d dm era: commit metadata in postsuspend after worker stops
    c477de4c7d43 ata: libata: add qc->flags in ata_qc_complete_template tracepoint
    0af674e7a764 mtd: rawnand: gpmi: Fix setting busy timeout setting
    0f6f66b4ef27 MAINTAINERS: Add new IOMMU development mailing list
    87a54feba68f xen/gntdev: Avoid blocking in unmap_grant_pages()
    fe9ba4f29320 mmc: mediatek: wait dma stop bit reset to 0
    7df8c497214b mmc: sdhci-pci-o2micro: Fix card detect by dealing with debouncing
    161ec2a0807d scsi: ibmvfc: Allocate/free queue resource only during probe/remove
    8540f66196ca scsi: ibmvfc: Store vhost pointer during subcrq allocation
    4a19c1cee0de btrfs: add error messages to all unrecognized mount options
    82e3769c0257 btrfs: prevent remounting to v1 space cache for subpage mount
    341d33128a94 btrfs: fix hang during unmount when block group reclaim task is running
    f0126bcaee81 9p: fix fid refcount leak in v9fs_vfs_get_link
    22832ac3eb5b 9p: fix fid refcount leak in v9fs_vfs_atomic_open_dotl
    10629c04b3a8 9p: Fix refcounting during full path walks for fid lookups
    cbf585269510 net: openvswitch: fix parsing of nw_proto for IPv6 fragments
    56c6f1fcd594 ALSA: hda/realtek: Add quirk for Clevo NS50PU
    48e3b93cda56 ALSA: hda/realtek: Add quirk for Clevo PD70PNT
    dffaf580c3c2 ALSA: hda/realtek: Apply fixup for Lenovo Yoga Duet 7 properly
    c478ceb4342b ALSA: hda/realtek - ALC897 headset MIC no sound
    82e29e99f2ab ALSA: hda/realtek: Add mute LED quirk for HP Omen laptop
    d12a5d1b5053 ALSA: hda/conexant: Fix missing beep setup
    535abf6207ef ALSA: hda/via: Fix missing beep setup
    eb4c99d089c0 random: quiet urandom warning ratelimit suppression message
    7a42647f7037 random: schedule mix_interrupt_randomness() less often

(From meta-yocto rev: 3dea60e5c423c2324085dfafd0954d4f4759724e)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-12 23:52:36 +01:00
..

              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)
  • 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@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:

  • 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 if=core-image-minimal-beaglebone-yocto.wic of=/dev/sdb

  3. Insert the SD card into the Beaglebone and boot the board.

Ubiquiti Networks EdgeRouter Lite (edgerouter)

The EdgeRouter Lite is part of the EdgeMax series. It is a MIPS64 router (based on the Cavium Octeon processor) with 512MB of RAM, which uses an internal USB pendrive for storage.

Setup instructions

You will need the following:

  • RJ45 -> serial ("rollover") cable connected from your PC to the CONSOLE port on the device
  • Ethernet connected to the first ethernet port on the board

If using NFS as part of the setup process, you will also need:

  • NFS root setup on your workstation
  • TFTP server installed on your workstation (if fetching the kernel from TFTP, see below).

--- Preparation ---

Build an image (e.g. core-image-minimal) using "edgerouter" as the MACHINE. In the following instruction it is based on core-image-minimal. Another target may be similiar with it.

--- Booting from NFS root / kernel via TFTP ---

Load the kernel, and boot the system as follows:

  1. Get the kernel (vmlinux) file from the tmp/deploy/images/edgerouter directory, and make them available on your TFTP server.

  2. Connect the board's first serial port to your workstation and then start up your favourite serial terminal so that you will be able to interact with the serial console. If you don't have a favourite, picocom is suggested:

$ picocom /dev/ttyS0 -b 115200

  1. Power up or reset the board and press a key on the terminal when prompted to get to the U-Boot command line

  2. Set up the environment in U-Boot:

=> setenv ipaddr => setenv serverip

  1. Download the kernel and boot:

=> tftp tftp $loadaddr vmlinux => bootoctlinux $loadaddr coremask=0x3 root=/dev/nfs rw nfsroot=: ip=::::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)