diff --git a/.b4-config b/.b4-config new file mode 100644 index 00000000000..d5686698642 --- /dev/null +++ b/.b4-config @@ -0,0 +1,8 @@ +# Configuration for the `b4` tool +# See https://b4.docs.kernel.org/en/latest/config.html +[b4] + send-series-to = buildroot@buildroot.org + send-auto-cc-cmd = "./utils/get-developers -e -" + prep-perpatch-check-cmd = "./utils/check-package -q -p -" + +# vim: set filetype=gitconfig: diff --git a/.checkpackageignore b/.checkpackageignore new file mode 100644 index 00000000000..b2d5320045b --- /dev/null +++ b/.checkpackageignore @@ -0,0 +1,1047 @@ +board/amarula/vyasa/post-build.sh Shellcheck +board/arcturus/aarch64-ucls1012a/post-build.sh Shellcheck +board/arcturus/aarch64-ucls1012a/post-image.sh Shellcheck +board/aspeed/common/post-image.sh Shellcheck +board/asus/tinker/post-build.sh Shellcheck +board/atmel/flasher.sh Shellcheck +board/beagleboard/beaglebone-qt5/patches/linux/0001-keep-jtag-clock-alive-for-debugger.patch lib_patch.Upstream +board/boundarydevices/common/post-build.sh Shellcheck +board/boundarydevices/common/post-image.sh Shellcheck +board/broadcom/northstar/post-image.sh Shellcheck +board/bsh/imx8mn-bsh-smm-s2-pro/flash.sh Shellcheck lib_shellscript.EmptyLastLine +board/bsh/imx8mn-bsh-smm-s2-pro/post-build.sh Shellcheck +board/bsh/imx8mn-bsh-smm-s2-pro/post-image.sh Shellcheck +board/bsh/imx8mn-bsh-smm-s2/flash.sh Shellcheck lib_shellscript.EmptyLastLine +board/bsh/imx8mn-bsh-smm-s2/post-build.sh Shellcheck +board/canaan/k210-soc/post-build.sh Shellcheck +board/chromebook/elm/sign.sh Shellcheck +board/chromebook/mksd.sh Shellcheck +board/ci20/patches/uboot/0001-mips-Remove-default-endiannes.patch lib_patch.Upstream +board/freescale/common/imx/imx8-bootloader-prepare.sh Shellcheck +board/freescale/common/mxs/post-image.sh Shellcheck +board/friendlyarm/nanopi-r2s/post-build.sh Shellcheck +board/hardkernel/odroidc2/post-image.sh Shellcheck +board/hardkernel/odroidc2/rootfs_overlay/etc/init.d/S09modload Shellcheck lib_sysv.Variables +board/kontron/bl-imx8mm/post-build.sh Shellcheck +board/kontron/smarc-sal28/post-build.sh Shellcheck +board/lego/ev3/post-image.sh Shellcheck +board/minnowboard/post-build.sh Shellcheck +board/nexbox/a95x/post-build.sh Shellcheck +board/nexbox/a95x/post-image.sh Shellcheck +board/octavo/osd32mp1-brk/patches/uboot/0001-Add-OSD32MP1-BRK-device-tree-support.patch lib_patch.NumberedSubject lib_patch.Upstream +board/octavo/osd32mp1-brk/patches/uboot/0002-Add-OSD32MP1-BRK-build-config.patch lib_patch.NumberedSubject lib_patch.Upstream +board/octavo/osd32mp1-red/patches/uboot/0001-Add-OSD32MP1-RED-Device-Tree-support.patch lib_patch.NumberedSubject lib_patch.Upstream +board/octavo/osd32mp1-red/patches/uboot/0002-configs-stm32mp15_trusted_defconfig-disable-environm.patch lib_patch.NumberedSubject lib_patch.Upstream +board/olpc/post-build.sh Shellcheck +board/orangepi/common/post-build.sh Shellcheck +board/orangepi/orangepi-zero/patches/linux/0001-ARM-dts-orange-pi-zero-interrupt-triggering-xr819.patch lib_patch.Upstream +board/orangepi/orangepi-zero/patches/linux/0002-ARM-dts-orange-pi-zero-enable-spi-nor.patch lib_patch.Upstream +board/orangepi/orangepi-zero/patches/linux/0003-ARM-dts-orange-pi-zero-enable-spidev.patch lib_patch.Upstream +board/orangepi/orangepi-zero/patches/linux/0004-ARM-dts-orange-pi-zero-enable-uart.patch lib_patch.Upstream +board/qemu/aarch64-sbsa/assemble-flash-images Shellcheck +board/raspberrypi/post-build.sh Shellcheck +board/raspberrypi/post-image.sh Shellcheck +board/seeed/stm32mp157c-odyssey/patches/linux/0001-ARM-dts-stm32-fix-stm32mp157c-odyssey-card-detect.patch lib_patch.Upstream +board/sheevaplug/patches/uboot/0001-Remove-redundant-YYLOC-global-declaration.patch lib_patch.Upstream +board/solidrun/clearfog/post-build.sh Shellcheck +board/solidrun/macchiatobin/post-build-mainline.sh Shellcheck +board/solidrun/macchiatobin/post-build.sh Shellcheck +board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh Shellcheck +board/stmicroelectronics/common/stm32mp1xx/post-image.sh Shellcheck +board/stmicroelectronics/stm32f429-disco/flash.sh Shellcheck +board/stmicroelectronics/stm32f469-disco/flash_sd.sh Shellcheck +board/stmicroelectronics/stm32f469-disco/flash_xip.sh Shellcheck +board/synopsys/axs10x/post-build.sh Shellcheck +board/technologic/ts4900/post-image.sh Shellcheck +board/udoo/common/post-build.sh Shellcheck +boot/afboot-stm32/0003-Makefile-disable-stack-protector.patch lib_patch.Upstream +boot/optee-os/3.13.0/0001-core-zlib-fix-build-warning-when-_LFS64_LARGEFILE-is.patch lib_patch.Upstream +boot/syslinux/0001-bios-Fix-alignment-change-with-gcc-5.patch lib_patch.Upstream +boot/syslinux/0002-Disable-PIE-to-avoid-FTBFS-on-amd64.patch lib_patch.Upstream +boot/syslinux/0003-memdisk-Force-ld-output-format-to-32-bits.patch lib_patch.Upstream +boot/syslinux/0004-utils-Use-the-host-toolchain-to-build.patch lib_patch.Upstream +boot/syslinux/0005-lzo-Use-the-host-toolchain-for-prepcore.patch lib_patch.Upstream +boot/syslinux/0006-The-VPrint-definition-is-now-part-of-the-exports-of-.patch lib_patch.Upstream +boot/syslinux/0007-Update-the-longjump-calls-to-fit-the-new-declaration.patch lib_patch.Upstream +boot/syslinux/0008-efi-wrapper-build-it-with-the-host-toolchain.patch lib_patch.Upstream +boot/syslinux/0011-extlinux-Use-the-host-toolchain-to-build.patch lib_patch.Upstream +boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch lib_patch.Upstream +boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch lib_patch.Upstream +boot/syslinux/0014-Fix-build-with-binutils-note-gnu-property-section.patch lib_patch.Upstream +boot/syslinux/0016-Workaround-multiple-definition-of-symbol-errors.patch lib_patch.Upstream +boot/syslinux/0017-Replace-builtin-strlen-that-appears-to-get-optimized.patch lib_patch.Upstream +configs/arcturus_ucls1012a_defconfig lib_defconfig.ForceCheckHash +configs/arcturus_ucp1020_defconfig lib_defconfig.ForceCheckHash +configs/asus_tinker-s_rk3288_defconfig lib_defconfig.ForceCheckHash +configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig lib_defconfig.ForceCheckHash +configs/atmel_sama5d2_xplained_mmc_defconfig lib_defconfig.ForceCheckHash +configs/atmel_sama5d2_xplained_mmc_dev_defconfig lib_defconfig.ForceCheckHash +configs/atmel_sama5d3_xplained_defconfig lib_defconfig.ForceCheckHash +configs/atmel_sama5d3_xplained_dev_defconfig lib_defconfig.ForceCheckHash +configs/atmel_sama5d3_xplained_mmc_defconfig lib_defconfig.ForceCheckHash +configs/atmel_sama5d3_xplained_mmc_dev_defconfig lib_defconfig.ForceCheckHash +configs/atmel_sama5d4_xplained_defconfig lib_defconfig.ForceCheckHash +configs/atmel_sama5d4_xplained_dev_defconfig lib_defconfig.ForceCheckHash +configs/atmel_sama5d4_xplained_mmc_defconfig lib_defconfig.ForceCheckHash +configs/atmel_sama5d4_xplained_mmc_dev_defconfig lib_defconfig.ForceCheckHash +configs/avenger96_defconfig lib_defconfig.ForceCheckHash +configs/avnet_rzboard_v2l_defconfig lib_defconfig.ForceCheckHash +configs/bananapi_m2_zero_defconfig lib_defconfig.ForceCheckHash +configs/broadcom_northstar_defconfig lib_defconfig.ForceCheckHash +configs/canaan_kd233_defconfig lib_defconfig.ForceCheckHash +configs/ci20_defconfig lib_defconfig.ForceCheckHash +configs/freescale_p1025twr_defconfig lib_defconfig.ForceCheckHash +configs/freescale_t1040d4rdb_defconfig lib_defconfig.ForceCheckHash +configs/freescale_t2080_qds_rdb_defconfig lib_defconfig.ForceCheckHash +configs/globalscale_espressobin_defconfig lib_defconfig.ForceCheckHash +configs/imx23evk_defconfig lib_defconfig.ForceCheckHash +configs/imx6-sabreauto_defconfig lib_defconfig.ForceCheckHash +configs/imx6-sabresd_defconfig lib_defconfig.ForceCheckHash +configs/imx6-sabresd_qt5_defconfig lib_defconfig.ForceCheckHash +configs/imx6slevk_defconfig lib_defconfig.ForceCheckHash +configs/imx6sx-sdb_defconfig lib_defconfig.ForceCheckHash +configs/imx6ulevk_defconfig lib_defconfig.ForceCheckHash +configs/imx6ulpico_defconfig lib_defconfig.ForceCheckHash +configs/imx7dpico_defconfig lib_defconfig.ForceCheckHash +configs/imx8mqevk_defconfig lib_defconfig.ForceCheckHash +configs/kontron_bl_imx8mm_defconfig lib_defconfig.ForceCheckHash +configs/mender_x86_64_efi_defconfig lib_defconfig.ForceCheckHash +configs/microchip_sam9x60ek_mmc_defconfig lib_defconfig.ForceCheckHash +configs/microchip_sam9x60ek_mmc_dev_defconfig lib_defconfig.ForceCheckHash +configs/microchip_sama5d27_wlsom1_ek_mmc_defconfig lib_defconfig.ForceCheckHash +configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig lib_defconfig.ForceCheckHash +configs/microchip_sama5d2_icp_mmc_defconfig lib_defconfig.ForceCheckHash +configs/microchip_sama5d2_icp_mmc_dev_defconfig lib_defconfig.ForceCheckHash +configs/microchip_sama7g5ek_mmc_defconfig lib_defconfig.ForceCheckHash +configs/microchip_sama7g5ek_mmc_dev_defconfig lib_defconfig.ForceCheckHash +configs/minnowboard_max_defconfig lib_defconfig.ForceCheckHash +configs/mx53loco_defconfig lib_defconfig.ForceCheckHash +configs/mx6udoo_defconfig lib_defconfig.ForceCheckHash +configs/nexbox_a95x_defconfig lib_defconfig.ForceCheckHash +configs/nitrogen6sx_defconfig lib_defconfig.ForceCheckHash +configs/nitrogen6x_defconfig lib_defconfig.ForceCheckHash +configs/nitrogen7_defconfig lib_defconfig.ForceCheckHash +configs/nitrogen8m_defconfig lib_defconfig.ForceCheckHash +configs/nitrogen8mm_defconfig lib_defconfig.ForceCheckHash +configs/nitrogen8mn_defconfig lib_defconfig.ForceCheckHash +configs/nitrogen8mp_defconfig lib_defconfig.ForceCheckHash +configs/odroidc2_defconfig lib_defconfig.ForceCheckHash +configs/olpc_xo175_defconfig lib_defconfig.ForceCheckHash +configs/olpc_xo1_defconfig lib_defconfig.ForceCheckHash +configs/orangepi_pc2_defconfig lib_defconfig.ForceCheckHash +configs/orangepi_zero_plus_defconfig lib_defconfig.ForceCheckHash +configs/pine64_defconfig lib_defconfig.ForceCheckHash +configs/pine64_pinecube_defconfig lib_defconfig.ForceCheckHash +configs/s6lx9_microboard_defconfig lib_defconfig.ForceCheckHash +configs/sipeed_lichee_rv_defconfig lib_defconfig.ForceCheckHash +configs/sipeed_lichee_rv_dock_defconfig lib_defconfig.ForceCheckHash +configs/sipeed_licheepi_nano_defconfig lib_defconfig.ForceCheckHash +configs/sipeed_maix_bit_defconfig lib_defconfig.ForceCheckHash +configs/sipeed_maix_bit_sdcard_defconfig lib_defconfig.ForceCheckHash +configs/sipeed_maix_dock_defconfig lib_defconfig.ForceCheckHash +configs/sipeed_maix_dock_sdcard_defconfig lib_defconfig.ForceCheckHash +configs/sipeed_maix_go_defconfig lib_defconfig.ForceCheckHash +configs/sipeed_maix_go_sdcard_defconfig lib_defconfig.ForceCheckHash +configs/sipeed_maixduino_defconfig lib_defconfig.ForceCheckHash +configs/sipeed_maixduino_sdcard_defconfig lib_defconfig.ForceCheckHash +configs/snps_arc700_axs101_defconfig lib_defconfig.ForceCheckHash +configs/snps_arc700_nsim_defconfig lib_defconfig.ForceCheckHash +configs/snps_archs38_axs103_defconfig lib_defconfig.ForceCheckHash +configs/snps_archs38_haps_defconfig lib_defconfig.ForceCheckHash +configs/snps_archs38_hsdk_defconfig lib_defconfig.ForceCheckHash +configs/solidrun_clearfog_gt_8k_defconfig lib_defconfig.ForceCheckHash +configs/solidrun_macchiatobin_defconfig lib_defconfig.ForceCheckHash +configs/stm32mp157c_odyssey_defconfig lib_defconfig.ForceCheckHash +configs/terasic_de10nano_cyclone5_defconfig lib_defconfig.ForceCheckHash +configs/ts4900_defconfig lib_defconfig.ForceCheckHash +configs/ts5500_defconfig lib_defconfig.ForceCheckHash +configs/uevm5432_defconfig lib_defconfig.ForceCheckHash +configs/visionfive_defconfig lib_defconfig.ForceCheckHash +configs/wandboard_defconfig lib_defconfig.ForceCheckHash +configs/warp7_defconfig lib_defconfig.ForceCheckHash +package/18xx-ti-utils/0001-plt.h-fix-build-with-gcc-10.patch lib_patch.Upstream +package/4th/0001-avoid-regen-during-install.patch lib_patch.Upstream +package/acl/0001-Build-with-old-GCC-versions.patch lib_patch.Upstream +package/acpid/0001-dont-use-isfdtype.patch lib_patch.Upstream +package/alchemy/0001-toolchains-remove-hash-style-management.patch lib_patch.Upstream +package/alsamixergui/0001-misc-fixes.patch lib_patch.Sob lib_patch.Upstream +package/alsamixergui/0002-configure-fix-detection-of-fltk-libs.patch lib_patch.Upstream +package/am335x-pru-package/0001-install-does-not-build.patch lib_patch.Upstream +package/android-tools/0001-Fix-makefiles-for-out-of-tree-build.patch lib_patch.Upstream +package/android-tools/0002-Fix-adbd-for-non-Ubuntu-systems.patch lib_patch.Upstream +package/android-tools/0004-Fix-build-issue-with-musl.patch lib_patch.Upstream +package/android-tools/0005-makefiles-use-pkgconf-to-get-libs-deps.patch lib_patch.Upstream +package/android-tools/0006-Fix-build-on-big-endian-systems.patch lib_patch.Upstream +package/android-tools/0007-Include-cdefs.h-wherever-it-is-needed.patch lib_patch.Upstream +package/android-tools/0008-usb_linux.c-fix-minor-major-build-failure-due-to-gli.patch lib_patch.Upstream +package/android-tools/0009-Fix-makefiles-for-out-of-tree-ext4_utils-build.patch lib_patch.Upstream +package/android-tools/0010-adb-added-patch-for-openssl-1.1.0-compatibility.patch lib_patch.Upstream +package/aoetools/0001-Change-shell-script-interpreter-from-bin-bash-to-bin.patch lib_patch.Upstream +package/apache/0001-cross-compile.patch lib_patch.Upstream +package/apr-util/0001-remove-checkapr.patch lib_patch.Upstream +package/apr/0001-sys-param-h.patch lib_patch.Upstream +package/apr/0002-Revert-Backport-r1872164.-Fix-the-name-of-libtool-wh.patch lib_patch.Upstream +package/apr/0003-Revert-Add-the-ability-to-cross-compile-APR.patch lib_patch.Upstream +package/arptables/0001-Fix-musl-build-issue.patch lib_patch.Upstream +package/arptables/0002-libarptc-libarptc_incl.c-fix-build-with-O0.patch lib_patch.Upstream +package/asterisk/0001-sounds-do-not-download-and-check-sha1s.patch lib_patch.Upstream +package/asterisk/0002-configure-fix-detection-of-libcrypt.patch lib_patch.Upstream +package/asterisk/0003-build-ensure-target-directory-for-modules-exists.patch lib_patch.Upstream +package/asterisk/0004-install-samples-need-the-data-files.patch lib_patch.Upstream +package/at/0001-Makefile.in-fix-make-install-for-non-root-don-t-stri.patch lib_patch.Upstream +package/at/S99at lib_sysv.Indent lib_sysv.Variables +package/attr/0001-build-with-older-GCCs.patch lib_patch.Upstream +package/aumix/0001-fix-incorrect-makefile-am.patch lib_patch.Upstream +package/autoconf/0001-dont-add-dirty-to-version.patch lib_patch.Upstream +package/automake/0001-noman.patch lib_patch.Upstream +package/avahi/S05avahi-setup.sh lib_sysv.Indent lib_sysv.Variables +package/avahi/S50avahi-daemon lib_sysv.Indent lib_sysv.Variables +package/babeld/S50babeld Shellcheck lib_sysv.Indent lib_sysv.Variables +package/bash/0001-input.h-add-missing-include-on-stdio.h.patch lib_patch.Upstream +package/bash/0002-parse.y-fix-compilation-for-non-multibyte-builds.patch lib_patch.Upstream +package/bc/0001-bc-use-MAKEINFO-variable-for-docs.patch lib_patch.Upstream +package/bc/0002-notice-read-and-write-errors-on-input-and-output.patch lib_patch.Upstream +package/bcache-tools/0001-Don-t-inline-crc64-for-gcc-5-compatability.patch lib_patch.Upstream +package/bcusdk/0002-eibd-fix-endless-recursion-when-using-USB-backends.patch lib_patch.Upstream +package/bearssl/0001-Fix-missing-objdir-dependency.patch lib_patch.Upstream +package/benejson/0001-c-std.patch lib_patch.Upstream +package/benejson/0002-Use-print-as-a-function-for-Py3-compatibility.patch lib_patch.Upstream +package/berkeleydb/0001-cwd-db_config.patch lib_patch.Upstream +package/berkeleydb/0002-atomic_compare_exchange.patch lib_patch.Upstream +package/bind/S81named Shellcheck lib_sysv.Indent lib_sysv.Variables +package/bird/0001-configure.ac-fix-build-with-autoconf-2.70.patch lib_patch.Upstream +package/bmx7/0001-Fix-schedule.c-378-36-error-SIOCGSTAMP-undeclared.patch lib_patch.Upstream +package/bmx7/0002-Fix-linking-error.patch lib_patch.Upstream +package/bmx7/0003-Reorder-includes-to-avoid-ethhdr-collision.patch lib_patch.Upstream +package/boinc/S99boinc-client Shellcheck lib_sysv.Indent lib_sysv.Variables +package/brickd/S70brickd Shellcheck lib_sysv.Indent lib_sysv.Variables +package/bridge-utils/0001-fix-build-on-musl.patch lib_patch.Upstream +package/brltty/0001-Fix-linking-error-on-mips64el.patch lib_patch.Upstream +package/brltty/S10brltty Shellcheck lib_sysv.Indent lib_sysv.Variables +package/bustle/0001-Makefile-fix-pcap-config-call.patch lib_patch.Upstream +package/busybox/0001-networking-libiproute-use-linux-if_packet.h-instead-.patch lib_patch.Upstream +package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch lib_patch.Upstream +package/busybox/0003-libbb-sockaddr2str-ensure-only-printable-characters-.patch lib_patch.Upstream +package/busybox/0004-nslookup-sanitize-all-printed-strings-with-printable.patch lib_patch.Upstream +package/busybox/S02sysctl lib_sysv.Variables +package/busybox/S10mdev Shellcheck lib_sysv.ConsecutiveEmptyLines lib_sysv.Indent +package/busybox/S15watchdog lib_sysv.Indent lib_sysv.Variables +package/busybox/S50telnet Shellcheck lib_sysv.Indent lib_sysv.Variables +package/busybox/udhcpc.script Shellcheck +package/bzip2/0001-build-objects-twice.patch lib_patch.Upstream +package/bzip2/0002-improve-build-system.patch lib_patch.Upstream +package/c-icap/0001-Required-fixes-to-compile-and-run-under-cygwin.patch lib_patch.Upstream +package/c-icap/S96cicap Shellcheck lib_sysv.Indent lib_sysv.Variables +package/ca-certificates/0001-mozilla-certdata2pem.py-make-cryptography-module-opt.patch lib_patch.Upstream +package/cache-calibrator/0001-Fix-conflicting-round-function.patch lib_patch.Upstream +package/caps/0001-Fix-stdint-types-with-musl.patch lib_patch.Upstream +package/cdrkit/0001-fix-build-with-uClibc.patch lib_patch.Upstream +package/cdrkit/0002-define-__THROW-to-avoid-build-issue-with-musl.patch lib_patch.Upstream +package/cdrkit/0003-Add-extern-to-char-outfile-declaration-to-fix-build-.patch lib_patch.Upstream +package/cfm/S65cfm lib_sysv.Indent lib_sysv.Variables +package/cgroupfs-mount/S30cgroupfs Shellcheck lib_sysv.Indent lib_sysv.Variables +package/chipmunk/0001-Fix-build-failure-on-musl.patch lib_patch.Upstream +package/chrony/S49chronyd lib_sysv.Variables +package/collectd/0001-src-netlink.c-remove-REG_NOERROR.patch lib_patch.Upstream +package/connman/S45connman lib_sysv.Variables +package/copas/0001-Do-not-load-coxpcall-for-LuaJIT.patch lib_patch.Upstream +package/coremark-pro/coremark-pro.sh.in Shellcheck +package/cpulimit/0001-Fix-crash-and-compiler-warnings.patch lib_patch.Upstream +package/cpulimit/0002-Remove-sys-sysctl.h-and-add-missing-libgen.h-include.patch lib_patch.Upstream +package/cpulimit/0003-Fix-an-infrequent-crash.patch lib_patch.Upstream +package/cpulimit/0004-Remove-procfs.h-inclusion.patch lib_patch.Upstream +package/crda/0001-crda-support-python-3-in-utils-key2pub.py.patch lib_patch.Upstream +package/crda/0002-drop-ldconfig-call.patch lib_patch.Upstream +package/crda/0003-drop-werror.patch lib_patch.Upstream +package/ctorrent/0001-fix-musl-build.patch lib_patch.Upstream +package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch lib_patch.Upstream +package/cups/0002-Do-not-use-genstrings.patch lib_patch.Upstream +package/cups/0003-Sanitize-the-installation-process.patch lib_patch.Upstream +package/cups/0004-Remove-PIE-flags-from-the-build.patch lib_patch.Upstream +package/curlftpfs/0001-fix-CURLOPT_INFILESIZE.patch lib_patch.Sob lib_patch.Upstream +package/curlftpfs/0002-free_ftpfs_file-memleak-fix.patch lib_patch.Sob lib_patch.Upstream +package/curlftpfs/0003-nocache-memleak-fix.patch lib_patch.Sob lib_patch.Upstream +package/curlftpfs/0004-fix-musl-build-off-t.patch lib_patch.Upstream +package/cwiid/0001-wmdemo-fix-linking-by-adding-the-missing-lbluetooth-.patch lib_patch.Upstream +package/cwiid/0002-configure-make-wmgui-build-optional.patch lib_patch.Upstream +package/dahdi-tools/0001-no-build-docs.patch lib_patch.Upstream +package/dahdi-tools/0002-no-perl-manpages.patch lib_patch.Upstream +package/dante/0001-fix-sparc-compile.patch lib_patch.Upstream +package/dante/0002-osdep-m4-Remove-getaddrinfo-too-low-checks.patch lib_patch.Upstream +package/dante/S50dante Shellcheck lib_sysv.Indent lib_sysv.Variables +package/daq/0001-Fix-build-against-the-musl-C-library.patch lib_patch.Upstream +package/daq/0002-parallel-grammar.patch lib_patch.Upstream +package/darkhttpd/S50darkhttpd Shellcheck lib_sysv.Indent lib_sysv.Variables +package/davfs2/0001-src-Makefile.am-do-not-hardcode-fstack-protector-str.patch lib_patch.Upstream +package/dbus-cpp/0001-gcc4.7.patch lib_patch.Upstream +package/dbus-cpp/0002-cross-compile-tools.patch lib_patch.Upstream +package/dbus-cpp/0003-src-pipe.c-fix-build-error-with-gcc-7.x.patch lib_patch.Upstream +package/dc3dd/0001-no_man.patch lib_patch.Upstream +package/dc3dd/0002-fix-autoreconf.patch lib_patch.Upstream +package/dc3dd/0003-fix-for-glibc-2.28.patch lib_patch.Upstream +package/dcron/0001-main.c-add-newline-to-logfile-openning-error-message.patch lib_patch.Upstream +package/dcron/S90dcron lib_sysv.Variables +package/dhcp/S80dhcp-relay Shellcheck lib_sysv.Variables +package/dhcp/S80dhcp-server Shellcheck lib_sysv.Variables +package/dhcp/dhclient-script Shellcheck lib_shellscript.TrailingSpace +package/dhcpcd/S41dhcpcd lib_sysv.Indent lib_sysv.Variables +package/dmalloc/0001-configure-fix-build-on-mips.patch lib_patch.Upstream +package/dmalloc/0003-configure-allow-overriding-some-tests.patch lib_patch.Upstream +package/dmalloc/0004-Makefile-use-the-configure-detected-or-user-supplied.patch lib_patch.Upstream +package/dmalloc/0005-configure-use-LD-instead-of-hard-coding-ld.patch lib_patch.Upstream +package/docopt-cpp/0001-only-build-one-target-use-BUILD_SHARED_LIBS-where-appropriate.patch lib_patch.Upstream +package/domoticz/S99domoticz Shellcheck +package/dovecot/0001-auth-Fix-handling-passdbs-with-identical-driver-args.patch lib_patch.Upstream +package/dracut/merged-usr-module-setup.sh Shellcheck +package/dropbear/S50dropbear Shellcheck lib_sysv.Indent lib_sysv.Variables +package/dt/0001-adjust-os-symlink.patch lib_patch.Upstream +package/dt/0002-dt-default-source-define.patch lib_patch.Upstream +package/dtc/0001-Fix-include-guards-for-older-kernel-u-boot-sources.patch lib_patch.Upstream +package/dvblast/0001-missing-lm.patch lib_patch.Upstream +package/dvblast/0002-fix-int-types.patch lib_patch.Upstream +package/earlyoom/0001-main.c-fix-build-with-kernel-4.3.patch lib_patch.Upstream +package/earlyoom/S02earlyoom Shellcheck lib_sysv.Indent +package/ebtables/0001-replace-ebtables-save-perl-script-with-bash.patch lib_patch.Upstream +package/ecryptfs-utils/0001-musl.patch lib_patch.Upstream +package/ecryptfs-utils/0002-openssl110.patch lib_patch.Upstream +package/ecryptfs-utils/0003-fix-parallel-build-issue.patch lib_patch.Upstream +package/eigen/0001-Adds-new-CMake-Options-for-controlling-build-compone.patch lib_patch.Upstream +package/elftosb/0001-fixes-includes.patch lib_patch.Upstream +package/elftosb/0002-force-cxx-compiler.patch lib_patch.Upstream +package/elfutils/0001-Add-a-enable-disable-progs-configure-option.patch lib_patch.Upstream +package/elfutils/0002-Really-make-Werror-conditional-to-BUILD_WERROR.patch lib_patch.Upstream +package/erlang-rebar/0001-src-rebar_port_compiler-add-fPIC-to-LDFLAGS-by-defau.patch lib_patch.Upstream +package/espeak/0001-Fix-build-of-shared-library-on-architectures-needing.patch lib_patch.Upstream +package/espeak/0002-tr_languages-cast-string_ordinal-init-values.patch lib_patch.Upstream +package/evemu/0001-Include-limits.h-for-PATH_MAX.patch lib_patch.Upstream +package/evemu/0002-evemu-Update-struct-input_event.patch lib_patch.Upstream +package/evemu/0003-src-evemu.c-fix-build-with-kernels-4.16.patch lib_patch.Upstream +package/evemu/0004-src-evemu.c-fix-build-with-kernels-4.16.patch lib_patch.Upstream +package/exim/0001-Build-buildconfig-for-the-host.patch lib_patch.Upstream +package/exim/0002-Don-t-make-backup-copies-of-installed-files.patch lib_patch.Upstream +package/exim/0003-Skip-version-check-and-symlink-installation.patch lib_patch.Upstream +package/exim/S86exim lib_sysv.Indent lib_sysv.Variables +package/fail2ban/S60fail2ban Shellcheck lib_sysv.Variables +package/fakedate/fakedate Shellcheck +package/falcosecurity-libs/0001-cmake-Permit-setting-GRPC_CPP_PLUGIN.patch lib_patch.Upstream +package/fbgrab/0001-fix-static-build.patch lib_patch.Upstream +package/fbset/0001-Fix-musl-compile.patch lib_patch.Upstream +package/fbterm/0001-fbio.cpp-improxy.cpp-fbterm.cpp-fix-musl-compile.patch lib_patch.Upstream +package/fbterm/0002-mouse.cpp-fix-musl-compile.patch lib_patch.Upstream +package/fbterm/0003-C++11-compliance.patch lib_patch.Upstream +package/fbterm/0004-iconv.patch lib_patch.Upstream +package/fcgiwrap/0001-use-LIBS-from-configure.patch lib_patch.Upstream +package/fcgiwrap/0002-link-with-libsystemd-instead-of-libsystemd-daemon.patch lib_patch.Upstream +package/ffmpeg/0001-swscale-x86-yuv2rgb-Fix-build-without-SSSE3.patch lib_patch.Upstream +package/ffmpeg/0002-avcodec-vaapi_h264-skip-decode-if-pic-has-no-slices.patch lib_patch.Upstream +package/ffmpeg/0003-libavutil-Fix-mips-build.patch lib_patch.Upstream +package/ffmpeg/0004-configure-add-extralibs-to-extralibs_xxx.patch lib_patch.Upstream +package/flatbuffers/0001-include-flatbuffers-base.h-fix-build-on-musl.patch lib_patch.Upstream +package/flex/0001-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch lib_patch.Upstream +package/flex/0002-build-make-it-possible-to-disable-the-build-of-the-f.patch lib_patch.Upstream +package/flex/0003-build-make-it-possible-to-disable-the-build-of-the-d.patch lib_patch.Upstream +package/flite/0001-fix-alsa-static.patch lib_patch.Upstream +package/fltk/0001-disable-tests.patch lib_patch.Upstream +package/fluxbox/0001-fixes-bug-1138.patch lib_patch.Upstream +package/freeradius-client/0001-fix-for-nettle.patch lib_patch.Upstream +package/freescale-imx/imx-kobs/0001-Fix-musl-build.patch lib_patch.Upstream +package/freescale-imx/imx-kobs/0002-Fix-build-for-recent-toolchains.patch lib_patch.Upstream +package/freescale-imx/imx-uuc/S80imx-uuc Shellcheck lib_sysv.Indent lib_sysv.Variables +package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch lib_patch.Upstream +package/freescale-imx/imx-vpu-hantro/0002-Fix-build-with-uclibc-toolchain.patch lib_patch.Upstream +package/freescale-imx/imx-vpu-hantro/0003-Fix-Linux-kernel-version-header.patch lib_patch.Upstream +package/frr/S50frr Shellcheck +package/fstrcmp/0001-disable-rpath.patch lib_patch.Upstream +package/ftop/0001-overflow.patch lib_patch.Upstream +package/fwts/0001-build-do-not-use-Werror.patch lib_patch.Upstream +package/fxdiv/0001-CMake-don-t-enable-CXX-unless-building-tests-benchma.patch lib_patch.Upstream +package/fxload/0001-fix-static-build.patch lib_patch.Upstream +package/gcc/13.4.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream +package/gcc/14.3.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream +package/gcc/15.2.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream +package/gcc/8.4.0/0001-xtensa-fix-PR-target-91880.patch lib_patch.Upstream +package/gcc/8.4.0/0002-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch lib_patch.Upstream +package/gcc/8.4.0/0003-libsanitizer-Remove-cyclades-from-libsanitizer.patch lib_patch.Upstream +package/gcc/8.4.0/0004-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream +package/gdb/14.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch lib_patch.Upstream +package/gdb/14.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch lib_patch.Upstream +package/gdb/14.2/0003-use-asm-sgidefs.h.patch lib_patch.Upstream +package/gdb/14.2/0004-gdbserver-fix-build-for-m68k.patch lib_patch.Upstream +package/gdb/14.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch lib_patch.Upstream +package/gdb/14.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch lib_patch.Upstream +package/gdb/14.2/0007-fix-musl-build-on-riscv.patch lib_patch.Upstream +package/gdb/14.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch lib_patch.Upstream +package/gdb/14.2/0009-gdb-Fix-native-build-on-xtensa.patch lib_patch.Upstream +package/gdb/15.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch lib_patch.Upstream +package/gdb/15.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch lib_patch.Upstream +package/gdb/15.2/0003-use-asm-sgidefs.h.patch lib_patch.Upstream +package/gdb/15.2/0004-gdbserver-fix-build-for-m68k.patch lib_patch.Upstream +package/gdb/15.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch lib_patch.Upstream +package/gdb/15.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch lib_patch.Upstream +package/gdb/15.2/0007-fix-musl-build-on-riscv.patch lib_patch.Upstream +package/gdb/15.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch lib_patch.Upstream +package/gdb/15.2/0009-gdb-Fix-native-build-on-xtensa.patch lib_patch.Upstream +package/gdb/16.3/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch lib_patch.Upstream +package/gdb/16.3/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch lib_patch.Upstream +package/gdb/16.3/0003-use-asm-sgidefs.h.patch lib_patch.Upstream +package/gdb/16.3/0004-gdbserver-fix-build-for-m68k.patch lib_patch.Upstream +package/gdb/16.3/0005-nat-fork-inferior-include-linux-ptrace.h.patch lib_patch.Upstream +package/gdb/16.3/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch lib_patch.Upstream +package/gdb/16.3/0007-fix-musl-build-on-riscv.patch lib_patch.Upstream +package/gdb/16.3/0008-gdbserver-Makefile.in-fix-NLS-build.patch lib_patch.Upstream +package/gdb/16.3/0009-gdb-Fix-native-build-on-xtensa.patch lib_patch.Upstream +package/genpart/0001-fix-return-code.patch lib_patch.Upstream +package/gensio/0001-Fix-missing-EVP_PKEY_ED25519-build-error-on-libressl.patch lib_patch.Upstream +package/gerbera/S99gerbera lib_sysv.Indent +package/git-crypt/0001-fix-build-with-libressl-3.5.0.patch lib_patch.Upstream +package/glorytun/0001-Add-support-for-Apple-silicon.patch lib_patch.Upstream +package/glorytun/0002-aegis256.c-fix-aarch64-build-with-uclibc.patch lib_patch.Upstream +package/gnupg/0001-build-Always-use-EXTERN_UNLESS_MAIN_MODULE-pattern.patch lib_patch.Upstream +package/gnuplot/0001-configure-add-without-demo-option.patch lib_patch.Upstream +package/go/go-src/0001-build.go-explicit-option-for-crosscompilation.patch lib_patch.Upstream +package/gob2/0001-dont-include-from-prefix.patch lib_patch.Upstream +package/gobject-introspection/0001-Add-rpath-links-to-ccompiler.patch lib_patch.Upstream +package/gpsd/S50gpsd Shellcheck lib_sysv.Indent lib_sysv.Variables +package/gptfdisk/0001-gptcurses-partially-revert-Tweaks-for-building-on-th.patch lib_patch.Upstream +package/gstreamer1/gstd/0001-Don-t-require-gstd-check-user-xenv.sh-for-systemd-se.patch lib_patch.Upstream +package/guile/0001-calculate-csqrt_manually.patch lib_patch.Upstream +package/guile/0002-Makefile.am-fix-build-without-makeinfo.patch lib_patch.Upstream +package/gutenprint/0001-use-pregen-xmli18n-header.patch lib_patch.Upstream +package/gutenprint/0002-cups-support-replaces-static-with-static-libtool-lib.patch lib_patch.Upstream +package/harfbuzz/0001-meson.build-check-for-pthread.h.patch lib_patch.Upstream +package/haserl/0001-add-haserl_lualib.inc.patch lib_patch.Upstream +package/haveged/S21haveged Shellcheck lib_sysv.Variables +package/heirloom-mailx/0001-fix-libressl-support.patch lib_patch.Upstream +package/hplip/0001-build-use-pkg-config-to-discover-libusb.patch lib_patch.Upstream +package/hplip/0002-configure.in-fix-AM_INIT_AUTOMAKE-call.patch lib_patch.Upstream +package/i2pd/S99i2pd Shellcheck lib_sysv.Indent lib_sysv.Variables +package/i7z/0001-fix-build-with-gcc-10.patch lib_patch.Upstream +package/ibm-sw-tpm2/0001-Use-LONG_BIT-to-define-RADIX_BITS.patch lib_patch.Upstream +package/ibrcommon/0001-ibrcommon-data-File.cpp-support-POSIX-basename-call.patch lib_patch.Upstream +package/ibrcommon/0002-ibrcommon-added-openssl-1.1-compatibility-264.patch lib_patch.Upstream +package/ibrcommon/0003-ibrcommon-ssl-gcm-fix-static-build-with-openssl.patch lib_patch.Upstream +package/icu/0001-dont-build-static-dynamic-twice.patch lib_patch.Upstream +package/icu/0002-link-icudata-as-data-only.patch lib_patch.Upstream +package/icu/0003-fix-static-linking-with-icu-uc.patch lib_patch.Upstream +package/ifmetric/0001-Fix-issue-NETLINK-Packet-too-small-or-truncated-92-1.patch lib_patch.Upstream +package/ifplugd/0001-cross.patch lib_patch.Sob lib_patch.Upstream +package/ifplugd/0002-fix-headers.patch lib_patch.Sob lib_patch.Upstream +package/ifplugd/0003-no-cxx.patch lib_patch.Upstream +package/ifplugd/0004-musl-fix-types.patch lib_patch.Upstream +package/ifplugd/0005-src-interface.h-fix-build-with-gcc-10.patch lib_patch.Upstream +package/iftop/0001-ui_common.h-fix-build-with-gcc-10.patch lib_patch.Upstream +package/iftop/0002-Rename-pcap_filter-to-iftop_pcap_filter.patch lib_patch.Upstream +package/ifupdown-scripts/S40network Shellcheck lib_sysv.EmptyLastLine lib_sysv.Indent lib_sysv.Variables +package/ifupdown-scripts/network/if-pre-up.d/wait_iface Shellcheck lib_shellscript.EmptyLastLine +package/ifupdown-scripts/nfs_check Shellcheck +package/ifupdown/0001-archcommon-define-GNU-only-FNM_EXTMATCH-to-zero-on-n.patch lib_patch.Upstream +package/ifupdown/0001-dont-use-dpkg-architecture.patch lib_patch.Upstream +package/igd2-for-linux/S99upnpd Shellcheck lib_sysv.Indent lib_sysv.Variables +package/imx-mkimage/0001-Add-unused-fake-version.patch lib_patch.Upstream +package/inadyn/S70inadyn NotExecutable lib_sysv.Indent +package/input-event-daemon/S99input-event-daemon lib_sysv.ConsecutiveEmptyLines lib_sysv.Indent lib_sysv.Variables +package/intel-gmmlib/0001-Drop-hardening-related-flags.patch lib_patch.Upstream +package/intel-mediasdk/0001-Don-t-force-fstack-protector.patch lib_patch.Upstream +package/intltool/0001-perl-5.26-compatibility.patch lib_patch.Upstream +package/iotop/0001-Fix-build-error-with-Python-3.patch lib_patch.Upstream +package/iozone/0001-Add-new-targets-for-iozone.patch lib_patch.Upstream +package/ipmitool/0001-configure.ac-fix-readline-static-build.patch lib_patch.Upstream +package/ipmitool/0002-Fix-enterprise-numbers-URL.patch lib_patch.Upstream +package/ipmitool/0003-Do-not-require-the-IANA-PEN-registry-file.patch lib_patch.Upstream +package/ipmitool/0004-configure.ac-allow-disabling-registry-downloads.patch lib_patch.Upstream +package/iprutils/0001-configure.ac-add-AC_USE_SYSTEM_EXTENSIONS.patch lib_patch.Upstream +package/irda-utils/0001-daemon.patch lib_patch.Sob lib_patch.Upstream +package/irda-utils/0002-nommu.patch lib_patch.Sob lib_patch.Upstream +package/irda-utils/0003-subdir.patch lib_patch.Sob lib_patch.Upstream +package/irda-utils/0004-musl.patch lib_patch.Upstream +package/irqbalance/S13irqbalance Shellcheck lib_sysv.Indent lib_sysv.Variables +package/irrlicht/0001-override-CPPFLAGS-CXXFLAGS-and-CFLAGS-in-Makefile.patch lib_patch.Upstream +package/irrlicht/0002-makefile-override-LDFLAGS-and-remove-obsolete-X11R6-.patch lib_patch.Upstream +package/iucode-tool/S00iucode-tool lib_sysv.Variables +package/kexec-lite/0001-clean-restart.patch lib_patch.Upstream +package/keyutils/0001-fix-install-rule.patch lib_patch.Upstream +package/keyutils/0002-cifs.patch lib_patch.Sob lib_patch.Upstream +package/kodi/S50kodi Shellcheck lib_sysv.Variables +package/lbase64/0001-retro-compatible-with-Lua-5.1.patch lib_patch.Upstream +package/lcdproc/0001-LCDd.conf.patch lib_patch.Upstream +package/lcdproc/0002-Add-missing-ioctl-header.patch lib_patch.Upstream +package/lcdproc/0003-Fixcompilation-with-GCC-10-x.patch lib_patch.Upstream +package/leafnode2/0001-cross_makefile.patch lib_patch.Upstream +package/leveldb/0001-Fix-compilation-with-g-4.8.2.patch lib_patch.Upstream +package/leveldb/0002-CMake-install-libmemenv.a.patch lib_patch.Upstream +package/leveldb/0003-CMakeLists.txt-check-for-atomic-library.patch lib_patch.Upstream +package/libabseil-cpp/0001-force-position-independent-code.patch lib_patch.Upstream +package/libargon2/0001-libargon2-dont-fail-on-existing-symlink.patch lib_patch.Upstream +package/libart/0001-art-config-cross.patch lib_patch.Sob lib_patch.Upstream +package/libatasmart/0001-strpool-cross-flags.patch lib_patch.Upstream +package/libavl/0001-fix-makefile.patch lib_patch.Upstream +package/libb64/0001-Integer-overflows.patch lib_patch.Upstream +package/libb64/0002-Initialize-C++-objects.patch lib_patch.Upstream +package/libcdaudio/0001-libcdaudio-enable-autoreconf.patch lib_patch.Upstream +package/libcgicc/0001-disable-documentation-option.patch lib_patch.Sob lib_patch.Upstream +package/libdaemon/0001-testd-use-unistd-h-instead-of-sys-unistd-h.patch lib_patch.Upstream +package/libdnet/0001-python-makefile.patch lib_patch.Upstream +package/libdrm/0001-tests-meson.build-disable-nouveau-tests-for-static-b.patch lib_patch.Upstream +package/libdvbcsa/0001-altivec-powerpc64.patch lib_patch.Upstream +package/libeXosip2/0001-src-eXtl_dtls.c-fix-build-with-libressl-3.4.1.patch lib_patch.Upstream +package/libedit/0001-check-bsd-functions-in-libbsd.patch lib_patch.Upstream +package/libevent/0001-Don-t-define-BIO_get_init-for-LibreSSL-3-5.patch lib_patch.Upstream +package/libffi/0001-Fix-use-of-compact-eh-frames-on-MIPS.patch lib_patch.Upstream +package/libfm/0001-modules-fix-cross-compilation.patch lib_patch.Upstream +package/libftdi/0001-pkgconfig_libusb.patch lib_patch.Sob lib_patch.Upstream +package/libftdi/0002-libftdi.pc-requires-libusb-fix-static-build.patch lib_patch.Sob lib_patch.Upstream +package/libfuse/0001-fix-aarch64-build.patch lib_patch.Upstream +package/libfuse/0002-util-ulockmgr_server-c-conditionally-define-closefrom-fix-glibc-2-34.patch lib_patch.Upstream +package/libgcrypt/0001-configure.ac-add-an-option-to-disable-tests.patch lib_patch.Upstream +package/libgpiod/0001-build-add-a-configure-switch-for-building-examples.patch lib_patch.Upstream +package/libgsm/0001-Misc-fixes-from-Archlinux.patch lib_patch.Upstream +package/libgtk3/0001-Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch lib_patch.Upstream +package/libhdhomerun/0001-dont-strip.patch lib_patch.Upstream +package/libjson/0001-fix-broken-makefile.patch lib_patch.Upstream +package/libks/0001-CMakeLists.txt-honour-BUILD_TESTING.patch lib_patch.Upstream +package/liblinear/0001-build-static-lib.patch lib_patch.Upstream +package/liblockfile/0001-Makefile.in-fix-cross-compilation.patch lib_patch.Upstream +package/liblog4c-localtime/0001-log4c.m4-fix-underquoted-definition-of-AM_PATH_LOG4C.patch lib_patch.Upstream +package/liblog4c-localtime/0002-Fix-linking-error-without-pthread.patch lib_patch.Upstream +package/liblog4c-localtime/0003-Fix-debug-mode-build-with-uClibc.patch lib_patch.Upstream +package/liblog4c-localtime/0004-Add-AC_CONFIG_MACRO_DIR-to-configure.in.patch lib_patch.Upstream +package/liblog4c-localtime/0005-Fix-C-support.patch lib_patch.Upstream +package/libloki/0001-allow-to-install-to-a-specific-location-using-DESTDI.patch lib_patch.Upstream +package/libloki/0002-use-ln-snf.patch lib_patch.Upstream +package/libmad/0001-mips-h-constraint-removal.patch lib_patch.Sob lib_patch.Upstream +package/libmad/0002-configure-ac-automake-foreign.patch lib_patch.Upstream +package/libmng/0001-jpeg-9a.patch lib_patch.Upstream +package/libmodsecurity/0001-modsecurity.pc.in-add-lstdc.patch lib_patch.Upstream +package/libmpeg2/0001-altivec.patch lib_patch.Upstream +package/libmpeg2/0002-armv4l.patch lib_patch.Upstream +package/libmpeg2/0003-fix-arm-detection.patch lib_patch.Upstream +package/libmpeg2/0004-fix-sparc.patch lib_patch.Upstream +package/libnetfilter_conntrack/0001-conntrack-fix-build-with-kernel-5-15-and-musl.patch lib_patch.Upstream +package/libnfc/0001-autotools-make-example-build-optional.patch lib_patch.Upstream +package/libnss/0001-Bug-1801182-Allow-overriding-OS_ARCH-OS_TEST-and-OS_.patch lib_patch.Upstream +package/libodb-mysql/0001-fix-syntax-issue-while-checking-ldflags.patch lib_patch.Upstream +package/libodb-mysql/0002-mariadb-FTBFS-fix.patch lib_patch.Upstream +package/libopenssl/0001-Reproducible-build-do-not-leak-compiler-path.patch lib_patch.Upstream +package/libopenssl/0002-Configure-use-ELFv2-ABI-on-some-ppc64-big-endian-sys.patch lib_patch.Upstream +package/liboping/0001-fix-utf8-support.patch lib_patch.Upstream +package/liboping/0002-Open-raw-sockets-when-adding-hosts-not-when-doing-th.patch lib_patch.Upstream +package/liboping/0003-Fix-compile-break-with-GCC-7-buffer-overflow-with-snprintf.patch lib_patch.Upstream +package/liboping/0004-Fix-compile-error-on-GCC-7.patch lib_patch.Upstream +package/liboping/0005-src-oping.c-always-use-s-style-format-for-printf-sty.patch lib_patch.Upstream +package/libpthsem/0001-fix-build-on-linux-3.x-host.patch lib_patch.Upstream +package/libressl/0001-always-expose-SSL_OP_NO_TLSv1_3.patch lib_patch.Upstream +package/librsvg/0001-gdk-pixbuf-loader-Makefile.am-set-GDK_PIXBUF_MODULED.patch lib_patch.Upstream +package/librtlsdr/0001-Makefile.am-respect-DESTDIR-with-install-udev-rules.patch lib_patch.Upstream +package/libselinux/0001-Do-not-use-PYCEXT-and-rely-on-the-installed-file-nam.patch lib_patch.Upstream +package/libserial/0001-SerialPort.cpp-fix-build-when-size_t-is-an-unsigned-.patch lib_patch.Upstream +package/libserial/0002-SerialPort.cpp-don-t-use-high-baudrates-when-not-ava.patch lib_patch.Upstream +package/libshdata/0001-backend-Add-missing-include-files.patch lib_patch.Upstream +package/libshdata/0002-examples-stress_test-Fix-build-with-musl-libc.patch lib_patch.Upstream +package/libsidplay2/0001-sidplay2-libs-2.1.1.patch lib_patch.Upstream +package/libsidplay2/0002-pkg-config.patch lib_patch.Upstream +package/libsidplay2/0003-gcc6.patch lib_patch.Upstream +package/libsigrok/0001-Support-glibmm-2.68.patch lib_patch.Upstream +package/libsigrokdecode/0001-configure-ac-Add-support-for-Python-3-9.patch lib_patch.Upstream +package/libsigrokdecode/0002-configure-Add-python-3-10-support.patch lib_patch.Upstream +package/libsigrokdecode/0003-configure-ac-Use-python3-embed-pc-as-a-fallback.patch lib_patch.Upstream +package/libspatialindex/0001-allow-building-static-libs.patch lib_patch.Upstream +package/libspatialindex/0002-CMakeLists.txt-fix-CMAKE_BUILD_TYPE.patch lib_patch.Upstream +package/libsquish/0001-Makefile-add-f-option-for-ln-to-remove-existing-dest.patch lib_patch.Upstream +package/libtalloc/0001-buildtools-wafsamba-add-disable-stack-protector-opti.patch lib_patch.Upstream +package/libtelnet/0001-fix-compilation-without-zlib.patch lib_patch.Upstream +package/libtomcrypt/0001-fix-CVE-2019-17362.patch lib_patch.Upstream +package/libtommath/0001-Build-test-bn_mp_set_double-c-on-more-platforms.patch lib_patch.Upstream +package/libubootenv/0001-src-CMakeLists.txt-do-not-force-the-build-of-a-share.patch lib_patch.Upstream +package/libuio/0001-configure.ac-set-automake-strictness-to-foreign.patch lib_patch.Upstream +package/liburcu/0001-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patch lib_patch.Upstream +package/libvpx/0001-vpx_mem-vpx_mem.h-Fix-compilation-with-uClibc.patch lib_patch.Upstream +package/libyuv/0001-i386-sse2.patch lib_patch.Upstream +package/lighttpd/0001-Modify-the-default-lighttpd-configuration-file-to-ha.patch lib_patch.Upstream +package/lighttpd/S50lighttpd Shellcheck lib_sysv.EmptyLastLine lib_sysv.Indent lib_sysv.Variables +package/linux-zigbee/0001-test-serial-Remove-test-serial.patch lib_patch.Upstream +package/linux-zigbee/0002-addrdb-coord-config-parse.y-add-missing-time.h-inclu.patch lib_patch.Upstream +package/linuxptp/S65ptp4l Shellcheck lib_sysv.Indent +package/linuxptp/S66phc2sys Shellcheck lib_sysv.Indent +package/lirc-tools/0001-plugins-devinput.c-fix-build-with-musl-1.2.0.patch lib_patch.Upstream +package/lirc-tools/0002-configure-add-disable-doc-option.patch lib_patch.Upstream +package/lirc-tools/S25lircd lib_sysv.Indent lib_sysv.Variables +package/live555/0001-Add-a-pkg-config-file-for-the-shared-libraries.patch lib_patch.Upstream +package/lldpd/S60lldpd Shellcheck lib_sysv.Indent lib_sysv.Variables +package/lm-sensors/0001-static-build.patch lib_patch.Upstream +package/lm-sensors/0002-no-host-ldconfig.patch lib_patch.Upstream +package/lmbench/0001-scripts-build-use-bin-bash-as-shell.patch lib_patch.Upstream +package/lmbench/0002-src-Makefile-add-lmbench-to-list-of-executables.patch lib_patch.Upstream +package/lmbench/0003-TOO_LONG-100-usec-to-prevent-memsize-from-timingout-.patch lib_patch.Upstream +package/localedef/0002-relax-dependency-on-GCC-to-4.8-and-binutils-to-2.24.patch lib_patch.Upstream +package/lockfile-progs/0001-sus3v-legacy.patch lib_patch.Sob lib_patch.Upstream +package/lshw/0001-solve-Compile-error-when-g-version-is-less-than-5.patch lib_patch.Upstream +package/ltrace/0001-arm-plt.patch lib_patch.Upstream +package/ltrace/0002-sparc-add-missing-library.h-include.patch lib_patch.Upstream +package/lttng-babeltrace/0001-tests-lib-Makefile.am-remove-unneeded-static-flag.patch lib_patch.Upstream +package/lttng-babeltrace/0002-configure.ac-fix-popt-static-build.patch lib_patch.Upstream +package/lttng-libust/0001-configure.ac-add-disable-tests.patch lib_patch.Upstream +package/lttng-tools/0001-configure.ac-add-disable-tests.patch lib_patch.Upstream +package/lua-gd/0001-Protect-declaration-of-LgdImageCreateFromPng-with-GD.patch lib_patch.Upstream +package/lua-lunix/0001-remove-link-with-librt.patch lib_patch.Upstream +package/lua-sdl2/0001-Do-not-reference-host-directory-for-headers.patch lib_patch.Upstream +package/lua-sdl2/0002-CMakeLists-do-not-require-C.patch lib_patch.Upstream +package/luajit/0001-no-bin-symlink.patch lib_patch.Upstream +package/luajit/0002-install-inc.patch lib_patch.Upstream +package/luasyslog/0001-remove-AX_LUA_LIBS.patch lib_patch.Upstream +package/luasyslog/0002-build-ax_lua.m4-fix-cross-compilation.patch lib_patch.Upstream +package/lugaru/0001-ImageIO-fix-invalid-conversion.patch lib_patch.Upstream +package/lugaru/0002-Fix-mismatched-usage-length-build-fail-on-g.patch lib_patch.Upstream +package/lvm2/0001-cmdline-use-freopen-to-reopen-standard-streams.patch lib_patch.Upstream +package/lvm2/0002-log-use-freopen-to-reopen-standard-streams.patch lib_patch.Upstream +package/lzma/0001-Remove-static-from-LDFLAGS.patch lib_patch.Upstream +package/lzop/0001-allow-overriding-modification-time.patch lib_patch.Upstream +package/macchanger/0001-Fix-missing-include-for-caddr_t.patch lib_patch.Upstream +package/madplay/0001-switch-to-new-alsa-api.patch lib_patch.Sob lib_patch.Upstream +package/madplay/0002-configure-ac-automake-foreign.patch lib_patch.Upstream +package/madplay/0003-configure-ac-use-pkg-config-to-find-id3tag.patch lib_patch.Upstream +package/madplay/0004-configure-ac-call-AM_MKINSTALLDIRS.patch lib_patch.Upstream +package/makedumpfile/0002-Handle-__mips64.patch lib_patch.Upstream +package/mariadb/0001-add-extra-check-for-librt.patch lib_patch.Upstream +package/mariadb/S97mysqld Shellcheck lib_sysv.Indent lib_sysv.Variables +package/matchbox-keyboard/mb-applet-kbd-wrapper.sh Shellcheck lib_shellscript.TrailingSpace +package/matchbox-lib/0001-index-is-legacy.patch lib_patch.Upstream +package/matchbox-panel/0001-index-is-legacy.patch lib_patch.Upstream +package/matchbox-panel/0002-mb-applet-wireless.patch lib_patch.Upstream +package/matchbox-panel/0003-mb-applet-battery.patch lib_patch.Upstream +package/matchbox-startup-monitor/0001-true-false.patch lib_patch.Upstream +package/matchbox/0001-defaulttheme.patch lib_patch.Upstream +package/matchbox/0002-src-Fix-build-with-gcc-10.patch lib_patch.Upstream +package/memstat/0001-PATH_MAX.patch lib_patch.Upstream +package/mender-connect/S43mender-connect Shellcheck +package/menu-cache/0001-Support-gcc10-compilation.patch lib_patch.Upstream +package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch lib_patch.Upstream +package/meson-tools/0001-amlbootenc-gxl-remove-non-std-C-convention-in-for.patch lib_patch.Upstream +package/meson/0001-Prefer-ext-static-libs-when-default-library-static.patch lib_patch.Upstream +package/meson/0002-mesonbuild-dependencies-base.py-add-pkg_config_stati.patch lib_patch.Upstream +package/mfgtools/0001-lnx_def.h-fix-conflicting-declaration-of-__time64_t.patch lib_patch.Upstream +package/mii-diag/0001-strchr.patch lib_patch.Sob lib_patch.Upstream +package/mini-snmpd/0001-linux.c-fix-musl-build.patch lib_patch.Upstream +package/minidlna/S60minidlnad Shellcheck lib_sysv.Indent lib_sysv.Variables +package/minissdpd/S50minissdpd Shellcheck lib_sysv.Indent lib_sysv.Variables +package/modem-manager/S44modem-manager Shellcheck lib_sysv.Variables +package/monit/0001-Do-not-force-building-a-statically-linked-binary.patch lib_patch.Upstream +package/mono-gtksharp3/0001-Fixes-MONO_PROFILE_ENTER_LEAVE-undeclared.patch lib_patch.Upstream +package/mono-gtksharp3/0002-Mono-compilation-error-branch.patch lib_patch.Upstream +package/mono/0001-Fix-linkage-with-a-system-libatomic_ops-shared-library.patch lib_patch.Upstream +package/mono/0002-Ongoing-work-on-the-cmake-build.patch lib_patch.Upstream +package/motion/S99motion Shellcheck lib_sysv.Indent lib_sysv.Variables +package/mpir/0001-mpn-arm-udiv.asm-workaround-binutils-bug-14887.patch lib_patch.Upstream +package/mraa/0001-include-Declare-gVERSION-global-as-extern.patch lib_patch.Upstream +package/mrouted/S41mrouted NotExecutable +package/mrp/S65mrp lib_sysv.Indent lib_sysv.Variables +package/multipath-tools/S60multipathd Shellcheck +package/musl/0001-avoid-kernel-if_ether.h.patch lib_patch.Upstream +package/musl/0002-package-musl-Make-scheduler-functions-Linux-compatib.patch lib_patch.Upstream +package/nano/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch lib_patch.Upstream +package/nanocom/0001-fix-build-with-gcc-10.patch lib_patch.Upstream +package/ne10/0001-CMakeLists-don-t-hard-code-thumb-code-generation.patch lib_patch.Upstream +package/ne10/0002-fix-build-without-C.patch lib_patch.Upstream +package/neard/S53neard Shellcheck lib_sysv.Indent lib_sysv.Variables +package/neardal/0001-lib-neardal.h-fix-build-with-gcc-10.patch lib_patch.Upstream +package/netatalk/S50netatalk lib_sysv.EmptyLastLine lib_sysv.Indent lib_sysv.Variables +package/netcat/0001-signed-bit-counting.patch lib_patch.Sob lib_patch.Upstream +package/netperf/0001-src-nettest_omni.c-fix-compilation-with-GCC10.patch lib_patch.Upstream +package/netplug/0001-makefile-flags.patch lib_patch.Sob lib_patch.Upstream +package/netplug/0002-add-missing-time-include.patch lib_patch.Upstream +package/netplug/0003-remove-assert-fail.patch lib_patch.Upstream +package/netplug/S29netplug Shellcheck lib_sysv.Indent lib_sysv.Variables +package/netplug/netplug-script Shellcheck lib_shellscript.ConsecutiveEmptyLines +package/netsnmp/S59snmpd Shellcheck lib_sysv.Indent lib_sysv.Variables +package/netsurf/0001-avoid-system-perl-dependencies.patch lib_patch.Upstream +package/netsurf/0002-do-not-cross-compile-nsgenbind.patch lib_patch.Upstream +package/netsurf/0003-fix-compilation-without-curl.patch lib_patch.Upstream +package/netsurf/0004-framebuffer-Fix-internal-font-generated-source-for-GCC-10.patch lib_patch.Upstream +package/nettle/0001-disable-testsuite-examples.patch lib_patch.Upstream +package/nfs-utils/S60nfs Shellcheck lib_sysv.ConsecutiveEmptyLines lib_sysv.Variables +package/nginx-modsecurity/0001-config-use-pkg-config.patch lib_patch.Upstream +package/nginx/0001-auto-type-sizeof-rework-autotest-to-be-cross-compila.patch lib_patch.Upstream +package/nginx/0002-auto-feature-add-mechanism-allowing-to-force-feature.patch lib_patch.Upstream +package/nginx/0003-auto-set-ngx_feature_run_force_result-for-each-featu.patch lib_patch.Upstream +package/nginx/0004-auto-lib-libxslt-conf-use-pkg-config.patch lib_patch.Upstream +package/nginx/0005-auto-unix-make-sys_nerr-guessing-cross-friendly.patch lib_patch.Upstream +package/nginx/0006-auto-lib-libgd-conf-use-pkg-config.patch lib_patch.Upstream +package/nginx/0007-src-os-unix-ngx_linux_config.h-only-include-dlfcn.h-.patch lib_patch.Upstream +package/nginx/0008-Allow-forcing-of-endianness-for-cross-compilation.patch lib_patch.Upstream +package/nginx/S50nginx lib_sysv.Indent lib_sysv.Variables +package/nilfs-utils/0001-nilfs_cleanerd-link-dynamically.patch lib_patch.Upstream +package/nmap/0001-libdnet-always-build-a-static-library.patch lib_patch.Upstream +package/nodejs/nodejs-src/0001-add-qemu-wrapper-support.patch lib_patch.Upstream +package/nodejs/nodejs-src/0002-check-if-uclibc-has-backtrace-support.patch lib_patch.Upstream +package/nodejs/nodejs-src/0003-include-obj-name-in-shared-intermediate.patch lib_patch.Upstream +package/nodejs/nodejs-src/0004-lib-internal-modules-cjs-loader.js-adjust-default-pa.patch lib_patch.Upstream +package/nodm/S90nodm Shellcheck lib_sysv.Indent lib_sysv.Variables +package/norm/0001-protolib-drop-linux-version-check.patch lib_patch.Upstream +package/norm/0002-Use-print-as-function-call-for-Python3-compatibility.patch lib_patch.Upstream +package/norm/0003-Fix-mixed-tabs-spaces-in-protolib-wscript.patch lib_patch.Upstream +package/nss-pam-ldapd/S45nslcd Shellcheck lib_sysv.EmptyLastLine lib_sysv.Indent lib_sysv.Variables +package/ntp/S49ntp.in lib_sysv.Variables +package/ntpsec/0001-wscript-remove-checks-for-bsd-string.h-fixes-host-co.patch lib_patch.Upstream +package/nuttcp/0001-susv3-legacy.patch lib_patch.Upstream +package/nvidia-driver/0001-use-LDFLAGS.patch lib_patch.Upstream +package/octave/0001-Fix-BLAS-library-integer-size-detection.patch lib_patch.Upstream +package/ofono/S46ofono lib_sysv.Variables +package/olsr/0001-olsrd-migrate-to-using-bison-3.7.1.patch lib_patch.Upstream +package/olsr/0002-lib-pud-Makefile-fix-parallel-build.patch lib_patch.Upstream +package/olsr/0003-pud-adapt-to-API-changes-in-gpsd-3-20.patch lib_patch.Upstream +package/olsr/0005-lib-pud-src-gpsdclient.c-drop-handling-of-gpsdata-fi.patch lib_patch.Upstream +package/olsr/0006-build-patch-for-gpsd-3-25.patch lib_patch.Upstream +package/olsr/S50olsr Shellcheck lib_sysv.Indent lib_sysv.Variables +package/open-plc-utils/0001-Remove-OWNER-and-GROUPS-parameters-to-install.patch lib_patch.Upstream +package/open2300/0001-fix-makefile.patch lib_patch.Upstream +package/openjdk/17.0.12+7/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch lib_patch.Upstream +package/openjdk/21.0.4+7/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch lib_patch.Upstream +package/openldap/0001-fix-bignum.patch lib_patch.Upstream +package/openldap/0002-disable-docs.patch lib_patch.Upstream +package/openntpd/S49ntp Shellcheck lib_sysv.Variables +package/openocd/0001-configure-enable-build-on-uclinux.patch lib_patch.Upstream +package/openpgm/0001-Rename-openpgm-5.2.pc.in.patch lib_patch.Upstream +package/openpgm/0002-openpgm-pgm-checksum.c-fix-build-with-32-bits-MMX.patch lib_patch.Upstream +package/openpgm/0003-fix-build-on-macOS-ARM.patch lib_patch.Upstream +package/openrc/0001-init.d-sysctl.in-add-support-for-busybox-sysctl.patch lib_patch.Upstream +package/openrc/0002-sh-init.sh.Linux.in-change-run-lock-from-root-uucp-t.patch lib_patch.Upstream +package/openrc/0003-init.d-agetty-replace-sbin-agetty-by-sbin-getty.patch lib_patch.Upstream +package/openrc/0004-init.d-agetty-start-agetty-after-all-sevices.patch lib_patch.Upstream +package/openrc/0005-runlevels-do-not-add-agetty.tty-1-6-if-MKSYSVINIT-ye.patch lib_patch.Upstream +package/openrc/0006-Also-create-run-lock-subsys-directory.patch lib_patch.Upstream +package/opentyrian/0001-Move-definitions-that-don-t-need-to-be-exposed-from-opl-h-to-opl-c.patch lib_patch.Upstream +package/openvmtools/0001-no_cflags_werror.patch lib_patch.Upstream +package/openvmtools/0002-dont-force-cppflags.patch lib_patch.Upstream +package/openvmtools/0003-Rename-poll-h-into-vm_poll-h-to-fix-build-failure-on-musl.patch lib_patch.Upstream +package/openvmtools/0004-Remove-assumptions-about-glibc-being-only-libc-imple.patch lib_patch.Upstream +package/openvmtools/0005-Use-configure-test-for-struct-timespec.patch lib_patch.Upstream +package/openvmtools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch lib_patch.Upstream +package/openvmtools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch lib_patch.Upstream +package/openvmtools/0008-Use-configure-test-for-sys-stat.h-include.patch lib_patch.Upstream +package/openvmtools/0011-open-vm-tools-vmhgfs-fuse-fsutils.h-fix-build-on-mus.patch lib_patch.Upstream +package/openvmtools/0012-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch lib_patch.Upstream +package/openvmtools/shutdown Shellcheck +package/openvpn/S60openvpn Shellcheck lib_sysv.Indent lib_sysv.Variables +package/oprofile/0001-musl.patch lib_patch.Upstream +package/opusfile/0001-Propagate-allocation-failure-from-ogg_sync_buffer.patch lib_patch.Upstream +package/owfs/S55owserver Shellcheck lib_sysv.Variables +package/owfs/S60owfs Shellcheck lib_sysv.Variables +package/owl-linux/0001-fix-for-linux-3.3.x.patch lib_patch.Upstream +package/patch/0002-Allow-input-files-to-be-missing-for-ed-style-patches.patch lib_patch.Upstream +package/patchelf/0001-Add-option-to-make-the-rpath-relative-under-a-specif.patch lib_patch.Upstream +package/paxtest/0001-genpaxtest-move-log-location.patch lib_patch.Upstream +package/paxtest/0002-paxtest-page-alignment-ARM-and-NIOS2-arch.patch lib_patch.Upstream +package/pcm-tools/0001-pmu-query.py-fix-python3-errors-add-linux-platform-s.patch lib_patch.Upstream +package/pcmanfm/0001-po-de-po-fix-build-with-gettext-tiny.patch lib_patch.Upstream +package/pdmenu/0001-autoconf-makeinfo.in-link-with-INTLLIBS-if-needed.patch lib_patch.Upstream +package/pdmenu/0002-Makefile-autoconf-makeinfo.in-support-build-install-.patch lib_patch.Upstream +package/perl-net-ssleay/0001-fix-build-system.patch lib_patch.Upstream +package/perl-sys-cpu/0001-remove-extraneous-include.patch lib_patch.Upstream +package/perl-xml-libxml/0001-Makefile-PL.patch lib_patch.Upstream +package/php-geoip/0001-add-build-support-for-php8.patch lib_patch.Upstream +package/php-lua/0001-ZEND_ACC_ALLOW_STATIC-ZEND_ACC_STATIC-for-static-met.patch lib_patch.Upstream +package/php-lua/0002-php8-explicitly-declare-arginfo.patch lib_patch.Upstream +package/php/0001-acinclude.m4-don-t-unset-variables.patch lib_patch.Upstream +package/php/0002-iconv-tweak-iconv-detection.patch lib_patch.Upstream +package/php/0003-configure-disable-the-phar-tool.patch lib_patch.Upstream +package/php/0004-Call-apxs-with-correct-prefix.patch lib_patch.Upstream +package/pifmrds/0001-Makefile-cross-compile-friendly.patch lib_patch.Upstream +package/pifmrds/0002-Makefile-use-LDFLAGS.patch lib_patch.Upstream +package/pifmrds/0003-Makefile-fix-static-link.patch lib_patch.Upstream +package/pigpio/S50pigpio Shellcheck lib_sysv.Variables +package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch lib_patch.Upstream +package/pkgconf/pkg-config.in Shellcheck +package/poke/0001-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch lib_patch.Upstream +package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch lib_patch.Upstream +package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch lib_patch.Upstream +package/postgresql/S50postgresql lib_sysv.Variables +package/pptp-linux/0001-susv3-legacy.patch lib_patch.Upstream +package/pptp-linux/0002-fix-parallel-build.patch lib_patch.Upstream +package/prboom/0001-libpng-1.4.patch lib_patch.Upstream +package/prboom/0002-configure-remove-predefined-O2-optimization-flag.patch lib_patch.Upstream +package/procps-ng/S02sysctl lib_sysv.Variables +package/proftpd/S50proftpd Shellcheck lib_sysv.Indent lib_sysv.Variables +package/prosody/0001-enable-syslog.patch lib_patch.Upstream +package/prosody/0002-add-pidfile.patch lib_patch.Upstream +package/prosody/S50prosody Shellcheck lib_sysv.Indent lib_sysv.Variables +package/proxychains-ng/0001-add-configure-check-for-non-POSIX-compliant-getnameinfo-signature.patch lib_patch.Upstream +package/ptpd/S65ptpd Shellcheck lib_sysv.Indent lib_sysv.Variables +package/ptpd2/0001-musl.patch lib_patch.Upstream +package/ptpd2/0002-ntp_isc_md5-rename-EVP_MD_CTX-into-PTPD_EVP_MD_CTX.patch lib_patch.Upstream +package/ptpd2/0003-Solve-issue-25-Removing-type-U64-from-net-snmp-relat.patch lib_patch.Upstream +package/ptpd2/S65ptpd2 Shellcheck lib_sysv.Indent lib_sysv.Variables +package/pulseaudio/0001-shm.c-use-_Static_assert-instead-of-static_assert-fo.patch lib_patch.Upstream +package/pulseaudio/S50pulseaudio lib_sysv.ConsecutiveEmptyLines lib_sysv.EmptyLastLine lib_sysv.Indent lib_sysv.Variables +package/pulseview/0001-Replace-obsolete-deprecated-Qt-methods.patch lib_patch.Upstream +package/pulseview/0002-Fix-broken-build-due-to-C-template-behind-C-linkage.patch lib_patch.Upstream +package/python-pybind/0001-pybind11-commands.py-support-STAGING_DIR.patch lib_patch.Upstream +package/python-pylibftdi/0001-do-not-use-find-library.patch lib_patch.Upstream +package/python-pyqt5/0001-configure-skip-qtdetail.patch lib_patch.Upstream +package/python-pyqt5/0002-fix-QtCoremod.sip-syntax-error.patch lib_patch.Upstream +package/python-pyudev/0001-Workaround-finding-libudev-on-systems-without-ldconf.patch lib_patch.Upstream +package/python-pyzmq/0001-detect.py-fix-the-ZMQ-version-check-to-the-ZMQ-versi.patch lib_patch.Upstream +package/python-scipy/0001-build-sh4-FE.patch lib_patch.Upstream +package/python-setuptools/0001-add-executable.patch lib_patch.Upstream +package/python-sip/0001-remove-join-from-sip-h-files-string.patch lib_patch.Upstream +package/python-web2py/S51web2py Shellcheck lib_sysv.Variables +package/qextserialport/0001-Create-a-main-include-file-QExtSerialPort.patch lib_patch.Upstream +package/qextserialport/0002-Tell-qmake-to-add-a-pkgconfig-file-to-ease-usage-wit.patch lib_patch.Upstream +package/qt5/qt5base/0001-qtbase-Fix-build-error-when-using-EGL.patch lib_patch.Upstream +package/qt5/qt5base/0002-double-conversion-enable-for-microblaze.patch lib_patch.Upstream +package/qt5/qt5base/0003-double-conversion-enable-for-nios2.patch lib_patch.Upstream +package/qt5/qt5base/0004-double-conversion-enable-for-xtensa.patch lib_patch.Upstream +package/qt5/qt5base/0005-eglfs-avoid-breaking-compilation-for-obscure-EGLNativeDisplayType-types.patch lib_patch.Upstream +package/qt5/qt5base/0006-Fix-build-on-riscv32.patch lib_patch.Upstream +package/qt5/qt5base/0007-src-corelib-configure.json-fix-atomicfptr-detection.patch lib_patch.Upstream +package/qt5/qt5base/0008-eglconvenience-add-missing-QList-include.patch lib_patch.Upstream +package/qt5/qt5declarative/0001-qsgtexture-fix-debug-build-with-uclibc.patch lib_patch.Upstream +package/qt5/qt5declarative/0002-qv4regexp_p-needs-c-limits-include-instead-of-plain-.patch lib_patch.Upstream +package/qt5/qt5enginio/0001-Do-not-use-deprecated-QLinkedList.patch lib_patch.Upstream +package/qt5/qt5location/0001-3rdparty-mapbox-gl-native-fix-musl-compile-pthread_g.patch lib_patch.Upstream +package/qt5/qt5script/0001-Detect-32-bits-armv8-a-architecture.patch lib_patch.Upstream +package/qt5/qt5tools/0001-Disable-designer-tool-fixes-configure-error.patch lib_patch.Upstream +package/qt5/qt5webengine-chromium/0001-Add-python3-build-support.patch lib_patch.Upstream +package/qt5/qt5webengine-chromium/0002-Don-t-rebase-sysroot-path.patch lib_patch.Upstream +package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch lib_patch.Upstream +package/qt5/qt5webengine/0002-Add-python3-build-support.patch lib_patch.Upstream +package/qt5/qt5webkit/0001-WinCairo-PlayStation-ICU-68.1-no-longer-exposes-FALS.patch lib_patch.Upstream +package/qt5/qt5webkit/0002-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch lib_patch.Upstream +package/qt5/qt5webkit/0003-Let-Bison-generate-the-header-directly-to-fix-build-.patch lib_patch.Upstream +package/qt5/qt5webkit/0004-Remove-invalid-g_object-declarations-to-fix-build-wi.patch lib_patch.Upstream +package/qt5/qt5webkit/0005-Add-support-for-ARC-processors.patch lib_patch.Upstream +package/qt5/qt5webkit/0006-Warnings-due-to-AppSinkCallbacks-struct-growth-https.patch lib_patch.Upstream +package/qt5cinex/0001-Fix-execution-problem-with-Qt5.3.patch lib_patch.Upstream +package/rapidxml/0001-ensure-internal-print-operations-are-declared-before.patch lib_patch.Upstream +package/read-edid/0001-Fix-install-file-list.patch lib_patch.Upstream +package/read-edid/0002-Fix-compiler-check.patch lib_patch.Upstream +package/read-edid/0003-fix-build-with-gcc-10.patch lib_patch.Upstream +package/redis/0001-uclibc.patch lib_patch.Upstream +package/redis/0002-largefile-conditional-define.patch lib_patch.Upstream +package/redis/0003-redis.conf-adjust-defauts-for-buildroot.patch lib_patch.Upstream +package/redis/S50redis Shellcheck lib_sysv.Variables +package/restorecond/S02restorecond Shellcheck +package/ripgrep/0001-puts-jemalloc-allocator-behind-a-cargo-feature-flag.patch lib_patch.Upstream +package/riscv-isa-sim/0001-riscv-disable-precompiled-headers.patch lib_patch.Upstream +package/rng-tools/S21rngd Shellcheck lib_sysv.Variables +package/rocksdb/0001-build_tools-build_detect_platform-fix-C-tests.patch lib_patch.Upstream +package/rpcbind/0001-Remove-yellow-pages-support.patch lib_patch.Upstream +package/rpcbind/S30rpcbind lib_sysv.EmptyLastLine lib_sysv.Indent lib_sysv.Variables +package/rt-tests/0001-Fix-a-build-issue-with-uClibc-ng.patch lib_patch.Upstream +package/rygel/S99rygel Shellcheck lib_sysv.Indent lib_sysv.Variables +package/s6-linux-init/0001-configure-add-D_GNU_SOURCE.patch lib_patch.Upstream +package/samba4/0001-build-find-pre-built-heimdal-build-tools-in-case-of-.patch lib_patch.Upstream +package/samba4/S91smb Shellcheck lib_sysv.Indent lib_sysv.Variables +package/sane-backends/0001-sane_backend-add-missing-config.h.patch lib_patch.Upstream +package/screen/0001-Do-not-create-backup-of-old-installed-binary.patch lib_patch.Upstream +package/screen/0002-Change-binary-permission-flags-even-if-chown-fails.patch lib_patch.Upstream +package/screen/0003-Support-overriding-SCREEN-to-get-a-non-versioned-bin.patch lib_patch.Upstream +package/screen/0004-Renamed-sched.h-to-eventqueue.h.patch lib_patch.Upstream +package/scrub/0001-configure-ac-make-sure-m4-macros-are-included-in-the-build.patch lib_patch.Upstream +package/sdl_mixer/0001-Add-Libs.private-field-to-pkg-config-file.patch lib_patch.Upstream +package/sdl_mixer/0002-configure__set_macro_directory.patch lib_patch.Upstream +package/sdl_mixer/0003-configure.ac-fix-static-linking-with-tremor.patch lib_patch.Upstream +package/sdl_sound/0001-fix-constness.patch lib_patch.Upstream +package/sdl_sound/0002-remove-werror.patch lib_patch.Upstream +package/sdl_sound/0003-renamed-physfs-export.patch lib_patch.Upstream +package/seatd/S70seatd NotExecutable lib_sysv.Variables +package/sedutil/0001-Common-log.h-time-2-needs-time.h.patch lib_patch.Upstream +package/sentry-native/0001-sentry.h-include-ucontext.h.patch lib_patch.Upstream +package/ser2net/S50ser2net Shellcheck lib_sysv.Indent lib_sysv.Variables +package/setools/0001-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch lib_patch.Upstream +package/setserial/0001-build-system-fix.patch lib_patch.Upstream +package/shairport-sync/S99shairport-sync Shellcheck lib_sysv.Indent lib_sysv.Variables +package/shared-mime-info/0001-Remove-incorrect-dependency-from-install-data-hook.patch lib_patch.Upstream +package/shellinabox/0001-Makefile-disable-always-building-statically.patch lib_patch.Upstream +package/skeleton-init-systemd/fakeroot_tmpfiles.sh Shellcheck +package/slang/0001-slsh-libs.patch lib_patch.Upstream +package/smcroute/S41smcroute NotExecutable lib_sysv.Indent lib_sysv.Variables +package/smstools3/0001-fix-Makefile.patch lib_patch.Upstream +package/smstools3/0002-fix-build-with-gcc-10.x.patch lib_patch.Upstream +package/smstools3/S50smsd Shellcheck lib_sysv.Variables +package/solarus/0001-cmake-remove-Werror.patch lib_patch.Upstream +package/solarus/0002-Add-a-basic-FindOpenGLES2.cmake.patch lib_patch.Sob lib_patch.Upstream +package/sox/0001-Make-SoX-support-uclibc-based-toolchains.patch lib_patch.Upstream +package/sox/0002-configure.ac-put-back-disable-stack-protector.patch lib_patch.Upstream +package/sox/0003-configure.ac-fix-static-linking-with-id3tag.patch lib_patch.Upstream +package/sox/0004-configure.ac-fix-static-linking-with-magic.patch lib_patch.Upstream +package/sox/0005-configure.ac-fix-static-linking-with-sndfile.patch lib_patch.Upstream +package/sp-oops-extract/0001-Make-the-Makefile-more-cross-compiler-friendly.patch lib_patch.Upstream +package/sp-oops-extract/0002-stdint-cleanup.patch lib_patch.Upstream +package/spandsp/0001-configure.ac-fix-AVX-SSE-and-MMX-options.patch lib_patch.Upstream +package/speex/0001-thumb2-support.patch lib_patch.Upstream +package/squid/S97squid Shellcheck lib_sysv.Indent lib_sysv.Variables +package/sredird/0001-termio.patch lib_patch.Upstream +package/sscep/0001-Fix-getopt-linking-error.patch lib_patch.Upstream +package/sshguard/S49sshguard lib_sysv.Indent +package/sslh/S35sslh Shellcheck lib_sysv.Indent lib_sysv.Variables +package/start-stop-daemon/0001-add-uclibc-alias-and-musl.patch lib_patch.Upstream +package/start-stop-daemon/0002-just-warn-on-missing-arch.patch lib_patch.Upstream +package/statserial/0001-ncurses-link.patch lib_patch.Upstream +package/stunnel/S50stunnel Shellcheck lib_sysv.Indent lib_sysv.Variables +package/supervisor/S99supervisord lib_sysv.Variables +package/suricata/0001-configure.ac-allow-the-user-to-override-RUST_TARGET.patch lib_patch.Upstream +package/suricata/S99suricata Shellcheck +package/swupdate/swupdate.sh Shellcheck +package/sysvinit/0001-Makefile-disable-stack-protector-strong.patch lib_patch.Upstream +package/tar/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch lib_patch.Upstream +package/targetcli-fb/S50target Shellcheck lib_sysv.Variables +package/tcf-agent/S55tcf-agent Shellcheck lib_sysv.Variables +package/tftpd/S80tftpd-hpa Shellcheck lib_sysv.Indent lib_sysv.Variables +package/ti-gfx/0001-newclkapi.patch lib_patch.Upstream +package/ti-gfx/0002-fix-build-omaplfb-linux.patch lib_patch.Upstream +package/ti-gfx/0003-km_install_modules.patch lib_patch.Upstream +package/ti-gfx/S80ti-gfx Shellcheck lib_sysv.Variables +package/ti-gfx/esrev.sh Shellcheck +package/ti-sgx-um/0001-Makefile-do-not-install-init-script.patch lib_patch.Upstream +package/ti-sgx-um/S80ti-sgx lib_sysv.Variables +package/ti-utils/0001-plt.h-fix-build-with-gcc-10.patch lib_patch.Upstream +package/tinyalsa/0001-include-time.h-before-asound.h.patch lib_patch.Upstream +package/tinycompress/0001-wave-add-time.h-missing-header-inclusion.patch lib_patch.Upstream +package/tinydtls/0001-sha2-sha2.c-fix-build-on-big-endian.patch lib_patch.Upstream +package/transmission/S92transmission Shellcheck lib_sysv.ConsecutiveEmptyLines lib_sysv.Indent lib_sysv.Variables +package/triggerhappy/S10triggerhappy Shellcheck lib_sysv.Indent lib_sysv.Variables +package/trousers/0001-Check-if-the-compiler-understands-pie-and-relro-options.patch lib_patch.Upstream +package/trousers/0002-Check-that-getpwent_r-is-available-before-using-it.patch lib_patch.Upstream +package/trousers/0003-Fix-build-with-LibreSSL-2-7.patch lib_patch.Upstream +package/tstools/0001-build-get-along-with-buildroot.patch lib_patch.Upstream +package/tvheadend/0001-no-check_config.patch lib_patch.Upstream +package/tvheadend/S99tvheadend Shellcheck lib_sysv.Indent lib_sysv.Variables +package/uboot-tools/0001-drop-configh-from-tools.patch lib_patch.Upstream +package/uboot-tools/0002-tools-Makefile-fix-C-LD-FLAGS-with-CROSS_BUILD_TOOLS.patch lib_patch.Upstream +package/ubus/0001-Install-server-and-client-examples.patch lib_patch.Upstream +package/uemacs/01-clear-ixon-termios-flag.patch lib_patch.Upstream +package/uhd/0001-host-CMakeLists-add-boost-unit_test_framework-requir.patch lib_patch.Upstream +package/uhttpd/0001-Remove-Werror.patch lib_patch.Upstream +package/uhttpd/0002-Fix-TCP_FASTOPEN-related-compile-error.patch lib_patch.Upstream +package/unbound/S70unbound Shellcheck +package/unifdef/0001-Makefile-fix-error-on-install.patch lib_patch.Upstream +package/unscd/S46unscd Shellcheck lib_sysv.Indent lib_sysv.Variables +package/unzip/0001-Add-a-CMakeFile.txt-to-ease-cross-compilation.patch lib_patch.Upstream +package/upmpdcli/S99upmpdcli Shellcheck lib_sysv.Indent lib_sysv.Variables +package/urg/0001-select-h.patch lib_patch.Upstream +package/urg/0002-urg-gcc6-fix-narrowing-conversion.patch lib_patch.Upstream +package/usb_modeswitch/0001-fix-systemd-detection.patch lib_patch.Upstream +package/usbguard/S20usbguard Shellcheck lib_sysv.Indent lib_sysv.Variables +package/usbmount/0001-rules-fix.patch lib_patch.Upstream +package/usbmount/0002-use-udev-environment-instead-of-blkid.patch lib_patch.Upstream +package/ushare/0001-Don-t-build-po-files-if-NLS-is-disabled.patch lib_patch.Upstream +package/ussp-push/0001-fix-build-against-bluez-4.patch lib_patch.Upstream +package/ussp-push/0002-fix-build-again-obex-bluez.patch lib_patch.Upstream +package/ussp-push/0003-add-OBEX_CharToUnicode.patch lib_patch.Upstream +package/vala/0001-dont-add-dirty-to-valac-version.patch lib_patch.Upstream +package/vala/vala-wrapper Shellcheck +package/valgrind/0001-workaround-SIGSEGV-on-PPC.patch lib_patch.Upstream +package/valgrind/0002-Define-PTRACE_GETSIGINFO-on-PowerPC-when-not-availab.patch lib_patch.Upstream +package/vdr/0001-getloadavg.patch lib_patch.Upstream +package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch lib_patch.Upstream +package/vlc/0002-automake-add-subdir-objects-option.patch lib_patch.Upstream +package/vlc/0003-build-use-pkg-config-to-get-tremor-libs.patch lib_patch.Upstream +package/vlc/0004-Fix-build-error-using-uClibc-by-adding-sys-types.h.patch lib_patch.Upstream +package/vlc/0005-Don-t-assume-strerror_l-is-available.patch lib_patch.Upstream +package/vlc/0006-posix-remove-ancient-run-time-fallback-to-real-time-.patch lib_patch.Upstream +package/vlc/0007-Add-support-for-freerdp2.patch lib_patch.Upstream +package/vlc/0008-configure.ac-also-use-AC_PATH_PROG-to-check-for-wayl.patch lib_patch.Upstream +package/vlc/0009-modules-video_filter-opencv_example.cpp-fix-build-wi.patch lib_patch.Upstream +package/vlc/0010-opengl-missing-library-check.patch lib_patch.Upstream +package/vpnc/0001-Makefile-allow-to-override-the-PREFIX-variable.patch lib_patch.Upstream +package/vpnc/0002-Makefile-allow-to-override-the-version.patch lib_patch.Upstream +package/vpnc/0003-Makefile-allow-passing-custom-CFLAGS-CPPFLAGS.patch lib_patch.Upstream +package/vpnc/0004-Makefile-provide-an-option-to-not-build-manpages.patch lib_patch.Upstream +package/vpnc/0005-Makefile-allow-passing-a-custom-path-to-libgcrypt-co.patch lib_patch.Upstream +package/vpnc/0006-config.c-Replace-deprecated-SUSv3-functions-with-POS.patch lib_patch.Upstream +package/vpnc/0007-sysdep.h-don-t-assume-error.h-is-available-on-all-Li.patch lib_patch.Upstream +package/vpnc/0008-sysdep.c-don-t-include-linux-if_tun.h-on-Linux.patch lib_patch.Upstream +package/vpnc/0009-config.c-add-missing-sys-ttydefaults.h-include.patch lib_patch.Upstream +package/vsftpd/0001-utmpx-builddef.patch lib_patch.Upstream +package/vsftpd/0002-fix-CVE-2015-1419.patch lib_patch.Upstream +package/vsftpd/0003-Prevent-hang-in-SIGCHLD-handler.patch lib_patch.Upstream +package/vsftpd/S70vsftpd Shellcheck lib_sysv.Indent lib_sysv.Variables +package/vte/0001-build-Fix-build-with-kernel-headers-from-linux-4-13.patch lib_patch.Upstream +package/vte/0002-build-Fix-check-for-fstack-protector-compiler-support.patch lib_patch.Upstream +package/vtun/0001-fix-installation.patch lib_patch.Upstream +package/vtun/0002-fix-ssl-headers-checks.patch lib_patch.Upstream +package/vtun/0003-openssl11.patch lib_patch.Upstream +package/wampcc/0001-Add-RISC-V-endian-detection.patch lib_patch.Upstream +package/wampcc/0002-include-wampcc-platform.h-fix-build-with-musl-1.2.0.patch lib_patch.Upstream +package/wampcc/0003-Broken-build-on-Windows.patch lib_patch.Upstream +package/wget/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch lib_patch.Upstream +package/wipe/0001-musl.patch lib_patch.Upstream +package/wireless_tools/0001-remove-bzero.patch lib_patch.Upstream +package/woff2/0001-CMake-Handle-multiple-libraries-being-returned-for-B.patch lib_patch.Upstream +package/wpa_supplicant/ifupdown.sh Shellcheck +package/x11r7/xapp_luit/0001-posix-openpt.patch lib_patch.Upstream +package/x11r7/xapp_xdm/S99xdm lib_sysv.Indent lib_sysv.Variables +package/x11r7/xcursor-transparent-theme/0001-fix-symlink.patch lib_patch.Upstream +package/x11r7/xdriver_xf86-input-evdev/0001-build-get-rid-of-sdkdir.patch lib_patch.Upstream +package/x11r7/xdriver_xf86-input-joystick/0001-build-get-rid-of-sdkdir.patch lib_patch.Upstream +package/x11r7/xdriver_xf86-input-libinput/0001-build-get-rid-of-sdkdir.patch lib_patch.Upstream +package/x11r7/xdriver_xf86-input-synaptics/0001-build-get-rid-of-sdkdir.patch lib_patch.Upstream +package/x11r7/xdriver_xf86-video-fbturbo/0001-sunxi_x_g2d-drop-unused-dri2-include.patch lib_patch.Upstream +package/x11r7/xdriver_xf86-video-fbturbo/0002-Use-own-thunk-functions-instead-of-fbdevHW-Weak.patch lib_patch.Upstream +package/x11r7/xdriver_xf86-video-fbturbo/0003-Update-for-1.20-ABI.patch lib_patch.Upstream +package/x11r7/xdriver_xf86-video-fbturbo/0004-xorg.conf-add-mandatory-modules-fb-shadow-fbdevhw.patch lib_patch.Upstream +package/x11r7/xdriver_xf86-video-fbturbo/0005-backing_store_tuner-struct-_Window-backStorage-is-go.patch lib_patch.Upstream +package/x11r7/xdriver_xf86-video-imx/0001-Update-to-newer-swap-macros.patch lib_patch.Upstream +package/x11r7/xdriver_xf86-video-imx/0002-Fix-error-unknown-type-name-uint.patch lib_patch.Upstream +package/x11r7/xdriver_xf86-video-imx/0003-support-glibc-2.20.patch lib_patch.Upstream +package/x11r7/xdriver_xf86-video-imx/0004-Make-video-API-forward-and-backward-compatible.patch lib_patch.Upstream +package/x11r7/xdriver_xf86-video-imx/0005-xf86-video-imxfb-fix-m4-hardcodded-paths.patch lib_patch.Upstream +package/x11r7/xdriver_xf86-video-imx/0006-xserver-1.14-compat.patch lib_patch.Upstream +package/x11r7/xdriver_xf86-video-mach64/0001-cross-compile.patch lib_patch.Upstream +package/x11r7/xdriver_xf86-video-tdfx/0001-cross.patch lib_patch.Upstream +package/x11r7/xserver_xorg-server/0001-include-misc.h-fix-uClibc-build.patch lib_patch.Upstream +package/x11r7/xserver_xorg-server/S40xorg Shellcheck lib_sysv.Variables +package/xen/0001-9pfs-include-linux-limits.h-for-XATTR_SIZE_MAX.patch lib_patch.Upstream +package/xen/0002-Fix-build-with-64-bits-time_t.patch lib_patch.Upstream +package/xen/0003-libs-light-fix-tv_sec-printf-format.patch lib_patch.Upstream +package/xen/0004-libs-light-fix-tv_sec-fprintf-format.patch lib_patch.Upstream +package/xl2tp/xl2tpd lib_shellscript.TrailingSpace +package/xml-security-c/0001-fix-build-with-libressl-3.5.0.patch lib_patch.Upstream +package/yajl/0001-Let-the-shared-and-the-static-library-have-the-same-.patch lib_patch.Upstream +package/yajl/0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch lib_patch.Upstream +package/yajl/0003-Link-with-shared-libyajl-in-a-shared-build.patch lib_patch.Upstream +package/yajl/0004-Link-libyajl-_s-with-libm-when-isnan-is-not-brought-.patch lib_patch.Upstream +package/ympd/0001-only-c-language.patch lib_patch.Upstream +package/ympd/0002-added-forward-declarations.patch lib_patch.Upstream +package/zic/0001-remove-dependency-check-on-version-file.patch lib_patch.Upstream +package/zip/0001-configure-Remove-Check-C-compiler-type-optimization-.patch lib_patch.Upstream +package/zip/0002-configure-Don-t-use-host-CPP.patch lib_patch.Upstream +package/zip/0003-Makefile-Use-CFLAGS-from-command-line.patch lib_patch.Upstream +package/zip/0004-configure-use-LDFLAGS-from-command-line.patch lib_patch.Upstream +package/zip/0005-unix-configure-remove-GID-UID-size-check.patch lib_patch.Upstream +package/zip/0006-unix-configure-borrow-the-LFS-test-from-autotools.patch lib_patch.Upstream +package/zip/0007-timezone.c-needs-time.h-fixes-musl-compile.patch lib_patch.Upstream +package/zip/0008-fix-musl-static-build.patch lib_patch.Upstream +package/zmqpp/0001-Allow-building-shared-or-static-library-only.patch lib_patch.Upstream +support/dependencies/check-host-asciidoc.sh Shellcheck +support/dependencies/check-host-cmake.sh Shellcheck +support/dependencies/check-host-gzip.sh Shellcheck +support/dependencies/check-host-lzip.sh Shellcheck +support/dependencies/check-host-make.sh Shellcheck +support/dependencies/check-host-python3.sh Shellcheck +support/dependencies/check-host-tar.sh Shellcheck +support/dependencies/check-host-xzcat.sh Shellcheck +support/dependencies/dependencies.sh Shellcheck +support/download/bzr Shellcheck lib_shellscript.ConsecutiveEmptyLines +support/download/file Shellcheck +support/download/go-post-process Shellcheck +support/download/hg Shellcheck +support/download/scp Shellcheck +support/download/sftp Shellcheck +support/download/wget Shellcheck +support/gnuconfig/update Shellcheck +support/libtool/buildroot-libtool-v1.5.patch lib_patch.ApplyOrder lib_patch.Sob lib_patch.Upstream +support/libtool/buildroot-libtool-v2.2.patch lib_patch.ApplyOrder lib_patch.Sob lib_patch.Upstream +support/libtool/buildroot-libtool-v2.4.4.patch lib_patch.ApplyOrder lib_patch.Upstream +support/libtool/buildroot-libtool-v2.4.patch lib_patch.ApplyOrder lib_patch.Sob lib_patch.Upstream +support/misc/relocate-sdk.sh Shellcheck +support/scripts/apply-patches.sh Shellcheck +support/scripts/check-bin-arch Shellcheck +support/scripts/check-host-rpath Shellcheck +support/scripts/expunge-gconv-modules Shellcheck +support/scripts/fix-configure-powerpc64.sh lib_shellscript.EmptyLastLine +support/scripts/generate-gitlab-ci-yml Shellcheck +support/scripts/mkmakefile Shellcheck lib_shellscript.ConsecutiveEmptyLines +support/scripts/setlocalversion Shellcheck +support/testing/tests/core/post-build.sh Shellcheck +support/testing/tests/package/test_opkg/post-build.sh Shellcheck +support/testing/tests/utils/test_get_developers/0001-package-binutils-change-.mk.patch lib_patch.NumberedSubject lib_patch.Upstream diff --git a/.clang-format b/.clang-format new file mode 100644 index 00000000000..1758a23f323 --- /dev/null +++ b/.clang-format @@ -0,0 +1,567 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# clang-format configuration file. Intended for clang-format >= 4. +# +# For more information, see: +# +# Documentation/process/clang-format.rst +# https://clang.llvm.org/docs/ClangFormat.html +# https://clang.llvm.org/docs/ClangFormatStyleOptions.html +# + +# Buildroot: imported from Linux 5.15.6, with minimal modifications. +# Please note, this is not enforced at the moment. Intended +# as an aid when working with in-tree C files, like +# makedevs.c +# +--- +AccessModifierOffset: -4 +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: false +AlignConsecutiveDeclarations: false +#AlignEscapedNewlines: Left # Unknown to clang-format-4.0 +AlignOperands: true +AlignTrailingComments: false +AllowAllParametersOfDeclarationOnNextLine: false +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: None +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: false +BinPackArguments: true +BinPackParameters: true +BraceWrapping: + AfterClass: false + AfterControlStatement: false + AfterEnum: false + AfterFunction: true + AfterNamespace: true + AfterObjCDeclaration: false + AfterStruct: false + AfterUnion: false + #AfterExternBlock: false # Unknown to clang-format-5.0 + BeforeCatch: false + BeforeElse: false + IndentBraces: false + #SplitEmptyFunction: true # Unknown to clang-format-4.0 + #SplitEmptyRecord: true # Unknown to clang-format-4.0 + #SplitEmptyNamespace: true # Unknown to clang-format-4.0 +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Custom +#BreakBeforeInheritanceComma: false # Unknown to clang-format-4.0 +BreakBeforeTernaryOperators: false +BreakConstructorInitializersBeforeComma: false +#BreakConstructorInitializers: BeforeComma # Unknown to clang-format-4.0 +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: false +ColumnLimit: 132 # Specially for Buildroot +CommentPragmas: '^ IWYU pragma:' +#CompactNamespaces: false # Unknown to clang-format-4.0 +ConstructorInitializerAllOnOneLineOrOnePerLine: false +ConstructorInitializerIndentWidth: 8 +ContinuationIndentWidth: 8 +Cpp11BracedListStyle: false +DerivePointerAlignment: false +DisableFormat: false +ExperimentalAutoDetectBinPacking: false +#FixNamespaceComments: false # Unknown to clang-format-4.0 + +# Taken from: +# git grep -h '^#define [^[:space:]]*for_each[^[:space:]]*(' include/ \ +# | sed "s,^#define \([^[:space:]]*for_each[^[:space:]]*\)(.*$, - '\1'," \ +# | sort | uniq +ForEachMacros: + - 'apei_estatus_for_each_section' + - 'ata_for_each_dev' + - 'ata_for_each_link' + - '__ata_qc_for_each' + - 'ata_qc_for_each' + - 'ata_qc_for_each_raw' + - 'ata_qc_for_each_with_internal' + - 'ax25_for_each' + - 'ax25_uid_for_each' + - '__bio_for_each_bvec' + - 'bio_for_each_bvec' + - 'bio_for_each_bvec_all' + - 'bio_for_each_integrity_vec' + - '__bio_for_each_segment' + - 'bio_for_each_segment' + - 'bio_for_each_segment_all' + - 'bio_list_for_each' + - 'bip_for_each_vec' + - 'bitmap_for_each_clear_region' + - 'bitmap_for_each_set_region' + - 'blkg_for_each_descendant_post' + - 'blkg_for_each_descendant_pre' + - 'blk_queue_for_each_rl' + - 'bond_for_each_slave' + - 'bond_for_each_slave_rcu' + - 'bpf_for_each_spilled_reg' + - 'btree_for_each_safe128' + - 'btree_for_each_safe32' + - 'btree_for_each_safe64' + - 'btree_for_each_safel' + - 'card_for_each_dev' + - 'cgroup_taskset_for_each' + - 'cgroup_taskset_for_each_leader' + - 'cpufreq_for_each_entry' + - 'cpufreq_for_each_entry_idx' + - 'cpufreq_for_each_valid_entry' + - 'cpufreq_for_each_valid_entry_idx' + - 'css_for_each_child' + - 'css_for_each_descendant_post' + - 'css_for_each_descendant_pre' + - 'device_for_each_child_node' + - 'displayid_iter_for_each' + - 'dma_fence_chain_for_each' + - 'do_for_each_ftrace_op' + - 'drm_atomic_crtc_for_each_plane' + - 'drm_atomic_crtc_state_for_each_plane' + - 'drm_atomic_crtc_state_for_each_plane_state' + - 'drm_atomic_for_each_plane_damage' + - 'drm_client_for_each_connector_iter' + - 'drm_client_for_each_modeset' + - 'drm_connector_for_each_possible_encoder' + - 'drm_for_each_bridge_in_chain' + - 'drm_for_each_connector_iter' + - 'drm_for_each_crtc' + - 'drm_for_each_crtc_reverse' + - 'drm_for_each_encoder' + - 'drm_for_each_encoder_mask' + - 'drm_for_each_fb' + - 'drm_for_each_legacy_plane' + - 'drm_for_each_plane' + - 'drm_for_each_plane_mask' + - 'drm_for_each_privobj' + - 'drm_mm_for_each_hole' + - 'drm_mm_for_each_node' + - 'drm_mm_for_each_node_in_range' + - 'drm_mm_for_each_node_safe' + - 'flow_action_for_each' + - 'for_each_acpi_dev_match' + - 'for_each_active_dev_scope' + - 'for_each_active_drhd_unit' + - 'for_each_active_iommu' + - 'for_each_aggr_pgid' + - 'for_each_available_child_of_node' + - 'for_each_bio' + - 'for_each_board_func_rsrc' + - 'for_each_bvec' + - 'for_each_card_auxs' + - 'for_each_card_auxs_safe' + - 'for_each_card_components' + - 'for_each_card_dapms' + - 'for_each_card_pre_auxs' + - 'for_each_card_prelinks' + - 'for_each_card_rtds' + - 'for_each_card_rtds_safe' + - 'for_each_card_widgets' + - 'for_each_card_widgets_safe' + - 'for_each_cgroup_storage_type' + - 'for_each_child_of_node' + - 'for_each_clear_bit' + - 'for_each_clear_bit_from' + - 'for_each_cmsghdr' + - 'for_each_compatible_node' + - 'for_each_component_dais' + - 'for_each_component_dais_safe' + - 'for_each_comp_order' + - 'for_each_console' + - 'for_each_cpu' + - 'for_each_cpu_and' + - 'for_each_cpu_not' + - 'for_each_cpu_wrap' + - 'for_each_dapm_widgets' + - 'for_each_dev_addr' + - 'for_each_dev_scope' + - 'for_each_dma_cap_mask' + - 'for_each_dpcm_be' + - 'for_each_dpcm_be_rollback' + - 'for_each_dpcm_be_safe' + - 'for_each_dpcm_fe' + - 'for_each_drhd_unit' + - 'for_each_dss_dev' + - 'for_each_dtpm_table' + - 'for_each_efi_memory_desc' + - 'for_each_efi_memory_desc_in_map' + - 'for_each_element' + - 'for_each_element_extid' + - 'for_each_element_id' + - 'for_each_endpoint_of_node' + - 'for_each_evictable_lru' + - 'for_each_fib6_node_rt_rcu' + - 'for_each_fib6_walker_rt' + - 'for_each_free_mem_pfn_range_in_zone' + - 'for_each_free_mem_pfn_range_in_zone_from' + - 'for_each_free_mem_range' + - 'for_each_free_mem_range_reverse' + - 'for_each_func_rsrc' + - 'for_each_hstate' + - 'for_each_if' + - 'for_each_iommu' + - 'for_each_ip_tunnel_rcu' + - 'for_each_irq_nr' + - 'for_each_link_codecs' + - 'for_each_link_cpus' + - 'for_each_link_platforms' + - 'for_each_lru' + - 'for_each_matching_node' + - 'for_each_matching_node_and_match' + - 'for_each_member' + - 'for_each_memcg_cache_index' + - 'for_each_mem_pfn_range' + - '__for_each_mem_range' + - 'for_each_mem_range' + - '__for_each_mem_range_rev' + - 'for_each_mem_range_rev' + - 'for_each_mem_region' + - 'for_each_migratetype_order' + - 'for_each_msi_entry' + - 'for_each_msi_entry_safe' + - 'for_each_msi_vector' + - 'for_each_net' + - 'for_each_net_continue_reverse' + - 'for_each_netdev' + - 'for_each_netdev_continue' + - 'for_each_netdev_continue_rcu' + - 'for_each_netdev_continue_reverse' + - 'for_each_netdev_feature' + - 'for_each_netdev_in_bond_rcu' + - 'for_each_netdev_rcu' + - 'for_each_netdev_reverse' + - 'for_each_netdev_safe' + - 'for_each_net_rcu' + - 'for_each_new_connector_in_state' + - 'for_each_new_crtc_in_state' + - 'for_each_new_mst_mgr_in_state' + - 'for_each_new_plane_in_state' + - 'for_each_new_private_obj_in_state' + - 'for_each_node' + - 'for_each_node_by_name' + - 'for_each_node_by_type' + - 'for_each_node_mask' + - 'for_each_node_state' + - 'for_each_node_with_cpus' + - 'for_each_node_with_property' + - 'for_each_nonreserved_multicast_dest_pgid' + - 'for_each_of_allnodes' + - 'for_each_of_allnodes_from' + - 'for_each_of_cpu_node' + - 'for_each_of_pci_range' + - 'for_each_old_connector_in_state' + - 'for_each_old_crtc_in_state' + - 'for_each_old_mst_mgr_in_state' + - 'for_each_oldnew_connector_in_state' + - 'for_each_oldnew_crtc_in_state' + - 'for_each_oldnew_mst_mgr_in_state' + - 'for_each_oldnew_plane_in_state' + - 'for_each_oldnew_plane_in_state_reverse' + - 'for_each_oldnew_private_obj_in_state' + - 'for_each_old_plane_in_state' + - 'for_each_old_private_obj_in_state' + - 'for_each_online_cpu' + - 'for_each_online_node' + - 'for_each_online_pgdat' + - 'for_each_pci_bridge' + - 'for_each_pci_dev' + - 'for_each_pci_msi_entry' + - 'for_each_pcm_streams' + - 'for_each_physmem_range' + - 'for_each_populated_zone' + - 'for_each_possible_cpu' + - 'for_each_present_cpu' + - 'for_each_prime_number' + - 'for_each_prime_number_from' + - 'for_each_process' + - 'for_each_process_thread' + - 'for_each_prop_codec_conf' + - 'for_each_prop_dai_codec' + - 'for_each_prop_dai_cpu' + - 'for_each_prop_dlc_codecs' + - 'for_each_prop_dlc_cpus' + - 'for_each_prop_dlc_platforms' + - 'for_each_property_of_node' + - 'for_each_registered_fb' + - 'for_each_requested_gpio' + - 'for_each_requested_gpio_in_range' + - 'for_each_reserved_mem_range' + - 'for_each_reserved_mem_region' + - 'for_each_rtd_codec_dais' + - 'for_each_rtd_components' + - 'for_each_rtd_cpu_dais' + - 'for_each_rtd_dais' + - 'for_each_set_bit' + - 'for_each_set_bit_from' + - 'for_each_set_clump8' + - 'for_each_sg' + - 'for_each_sg_dma_page' + - 'for_each_sg_page' + - 'for_each_sgtable_dma_page' + - 'for_each_sgtable_dma_sg' + - 'for_each_sgtable_page' + - 'for_each_sgtable_sg' + - 'for_each_sibling_event' + - 'for_each_subelement' + - 'for_each_subelement_extid' + - 'for_each_subelement_id' + - '__for_each_thread' + - 'for_each_thread' + - 'for_each_unicast_dest_pgid' + - 'for_each_vsi' + - 'for_each_wakeup_source' + - 'for_each_zone' + - 'for_each_zone_zonelist' + - 'for_each_zone_zonelist_nodemask' + - 'fwnode_for_each_available_child_node' + - 'fwnode_for_each_child_node' + - 'fwnode_graph_for_each_endpoint' + - 'gadget_for_each_ep' + - 'genradix_for_each' + - 'genradix_for_each_from' + - 'hash_for_each' + - 'hash_for_each_possible' + - 'hash_for_each_possible_rcu' + - 'hash_for_each_possible_rcu_notrace' + - 'hash_for_each_possible_safe' + - 'hash_for_each_rcu' + - 'hash_for_each_safe' + - 'hctx_for_each_ctx' + - 'hlist_bl_for_each_entry' + - 'hlist_bl_for_each_entry_rcu' + - 'hlist_bl_for_each_entry_safe' + - 'hlist_for_each' + - 'hlist_for_each_entry' + - 'hlist_for_each_entry_continue' + - 'hlist_for_each_entry_continue_rcu' + - 'hlist_for_each_entry_continue_rcu_bh' + - 'hlist_for_each_entry_from' + - 'hlist_for_each_entry_from_rcu' + - 'hlist_for_each_entry_rcu' + - 'hlist_for_each_entry_rcu_bh' + - 'hlist_for_each_entry_rcu_notrace' + - 'hlist_for_each_entry_safe' + - 'hlist_for_each_entry_srcu' + - '__hlist_for_each_rcu' + - 'hlist_for_each_safe' + - 'hlist_nulls_for_each_entry' + - 'hlist_nulls_for_each_entry_from' + - 'hlist_nulls_for_each_entry_rcu' + - 'hlist_nulls_for_each_entry_safe' + - 'i3c_bus_for_each_i2cdev' + - 'i3c_bus_for_each_i3cdev' + - 'ide_host_for_each_port' + - 'ide_port_for_each_dev' + - 'ide_port_for_each_present_dev' + - 'idr_for_each_entry' + - 'idr_for_each_entry_continue' + - 'idr_for_each_entry_continue_ul' + - 'idr_for_each_entry_ul' + - 'in_dev_for_each_ifa_rcu' + - 'in_dev_for_each_ifa_rtnl' + - 'inet_bind_bucket_for_each' + - 'inet_lhash2_for_each_icsk_rcu' + - 'key_for_each' + - 'key_for_each_safe' + - 'klp_for_each_func' + - 'klp_for_each_func_safe' + - 'klp_for_each_func_static' + - 'klp_for_each_object' + - 'klp_for_each_object_safe' + - 'klp_for_each_object_static' + - 'kunit_suite_for_each_test_case' + - 'kvm_for_each_memslot' + - 'kvm_for_each_vcpu' + - 'list_for_each' + - 'list_for_each_codec' + - 'list_for_each_codec_safe' + - 'list_for_each_continue' + - 'list_for_each_entry' + - 'list_for_each_entry_continue' + - 'list_for_each_entry_continue_rcu' + - 'list_for_each_entry_continue_reverse' + - 'list_for_each_entry_from' + - 'list_for_each_entry_from_rcu' + - 'list_for_each_entry_from_reverse' + - 'list_for_each_entry_lockless' + - 'list_for_each_entry_rcu' + - 'list_for_each_entry_reverse' + - 'list_for_each_entry_safe' + - 'list_for_each_entry_safe_continue' + - 'list_for_each_entry_safe_from' + - 'list_for_each_entry_safe_reverse' + - 'list_for_each_entry_srcu' + - 'list_for_each_prev' + - 'list_for_each_prev_safe' + - 'list_for_each_safe' + - 'llist_for_each' + - 'llist_for_each_entry' + - 'llist_for_each_entry_safe' + - 'llist_for_each_safe' + - 'mci_for_each_dimm' + - 'media_device_for_each_entity' + - 'media_device_for_each_intf' + - 'media_device_for_each_link' + - 'media_device_for_each_pad' + - 'nanddev_io_for_each_page' + - 'netdev_for_each_lower_dev' + - 'netdev_for_each_lower_private' + - 'netdev_for_each_lower_private_rcu' + - 'netdev_for_each_mc_addr' + - 'netdev_for_each_uc_addr' + - 'netdev_for_each_upper_dev_rcu' + - 'netdev_hw_addr_list_for_each' + - 'nft_rule_for_each_expr' + - 'nla_for_each_attr' + - 'nla_for_each_nested' + - 'nlmsg_for_each_attr' + - 'nlmsg_for_each_msg' + - 'nr_neigh_for_each' + - 'nr_neigh_for_each_safe' + - 'nr_node_for_each' + - 'nr_node_for_each_safe' + - 'of_for_each_phandle' + - 'of_property_for_each_string' + - 'of_property_for_each_u32' + - 'pci_bus_for_each_resource' + - 'pcl_for_each_chunk' + - 'pcl_for_each_segment' + - 'pcm_for_each_format' + - 'ping_portaddr_for_each_entry' + - 'plist_for_each' + - 'plist_for_each_continue' + - 'plist_for_each_entry' + - 'plist_for_each_entry_continue' + - 'plist_for_each_entry_safe' + - 'plist_for_each_safe' + - 'pnp_for_each_card' + - 'pnp_for_each_dev' + - 'protocol_for_each_card' + - 'protocol_for_each_dev' + - 'queue_for_each_hw_ctx' + - 'radix_tree_for_each_slot' + - 'radix_tree_for_each_tagged' + - 'rb_for_each' + - 'rbtree_postorder_for_each_entry_safe' + - 'rdma_for_each_block' + - 'rdma_for_each_port' + - 'rdma_umem_for_each_dma_block' + - 'resource_list_for_each_entry' + - 'resource_list_for_each_entry_safe' + - 'rhl_for_each_entry_rcu' + - 'rhl_for_each_rcu' + - 'rht_for_each' + - 'rht_for_each_entry' + - 'rht_for_each_entry_from' + - 'rht_for_each_entry_rcu' + - 'rht_for_each_entry_rcu_from' + - 'rht_for_each_entry_safe' + - 'rht_for_each_from' + - 'rht_for_each_rcu' + - 'rht_for_each_rcu_from' + - '__rq_for_each_bio' + - 'rq_for_each_bvec' + - 'rq_for_each_segment' + - 'scsi_for_each_prot_sg' + - 'scsi_for_each_sg' + - 'sctp_for_each_hentry' + - 'sctp_skb_for_each' + - 'shdma_for_each_chan' + - '__shost_for_each_device' + - 'shost_for_each_device' + - 'sk_for_each' + - 'sk_for_each_bound' + - 'sk_for_each_entry_offset_rcu' + - 'sk_for_each_from' + - 'sk_for_each_rcu' + - 'sk_for_each_safe' + - 'sk_nulls_for_each' + - 'sk_nulls_for_each_from' + - 'sk_nulls_for_each_rcu' + - 'snd_array_for_each' + - 'snd_pcm_group_for_each_entry' + - 'snd_soc_dapm_widget_for_each_path' + - 'snd_soc_dapm_widget_for_each_path_safe' + - 'snd_soc_dapm_widget_for_each_sink_path' + - 'snd_soc_dapm_widget_for_each_source_path' + - 'tb_property_for_each' + - 'tcf_exts_for_each_action' + - 'udp_portaddr_for_each_entry' + - 'udp_portaddr_for_each_entry_rcu' + - 'usb_hub_for_each_child' + - 'v4l2_device_for_each_subdev' + - 'v4l2_m2m_for_each_dst_buf' + - 'v4l2_m2m_for_each_dst_buf_safe' + - 'v4l2_m2m_for_each_src_buf' + - 'v4l2_m2m_for_each_src_buf_safe' + - 'virtio_device_for_each_vq' + - 'while_for_each_ftrace_op' + - 'xa_for_each' + - 'xa_for_each_marked' + - 'xa_for_each_range' + - 'xa_for_each_start' + - 'xas_for_each' + - 'xas_for_each_conflict' + - 'xas_for_each_marked' + - 'xbc_array_for_each_value' + - 'xbc_for_each_key_value' + - 'xbc_node_for_each_array_value' + - 'xbc_node_for_each_child' + - 'xbc_node_for_each_key_value' + - 'zorro_for_each_dev' + +#IncludeBlocks: Preserve # Unknown to clang-format-5.0 +IncludeCategories: + - Regex: '.*' + Priority: 1 +IncludeIsMainRegex: '(Test)?$' +IndentCaseLabels: false +#IndentPPDirectives: None # Unknown to clang-format-5.0 +IndentWidth: 8 +IndentWrappedFunctionNames: false +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: false +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +#ObjCBinPackProtocolList: Auto # Unknown to clang-format-5.0 +ObjCBlockIndentWidth: 8 +ObjCSpaceAfterProperty: true +ObjCSpaceBeforeProtocolList: true + +# Taken from git's rules +#PenaltyBreakAssignment: 10 # Unknown to clang-format-4.0 +PenaltyBreakBeforeFirstCallParameter: 30 +PenaltyBreakComment: 10 +PenaltyBreakFirstLessLess: 0 +PenaltyBreakString: 10 +PenaltyExcessCharacter: 100 +PenaltyReturnTypeOnItsOwnLine: 60 + +PointerAlignment: Right +ReflowComments: false +SortIncludes: false +#SortUsingDeclarations: false # Unknown to clang-format-4.0 +SpaceAfterCStyleCast: false +SpaceAfterTemplateKeyword: true +SpaceBeforeAssignmentOperators: true +#SpaceBeforeCtorInitializerColon: true # Unknown to clang-format-5.0 +#SpaceBeforeInheritanceColon: true # Unknown to clang-format-5.0 +SpaceBeforeParens: ControlStatements +#SpaceBeforeRangeBasedForLoopColon: true # Unknown to clang-format-5.0 +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: false +SpacesInContainerLiterals: false +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: Cpp03 +TabWidth: 8 +UseTab: Always +... diff --git a/.defconfig b/.defconfig index 7ab0c3fbf06..d25c62e104a 100644 --- a/.defconfig +++ b/.defconfig @@ -12,7 +12,6 @@ BR2_i386=y # BR2_m68k is not set # BR2_mips is not set # BR2_mipsel is not set -# BR2_nios2 is not set # BR2_powerpc is not set # BR2_sh is not set # BR2_sparc is not set diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000000..f7c3c7ddc31 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,40 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_style = space +indent_size = 4 +tab_width = 8 +trim_trailing_whitespace = true +insert_final_newline = true + +[DEVELOPERS] +indent_style = tab +indent_size = tab + +[Config*.in*] +indent_style = tab +indent_size = tab + +[linux/Config.ext.in] +indent_style = tab +indent_size = tab + +[Makefile*] +indent_style = tab +indent_size = tab + +[*.mk] +indent_style = tab +indent_size = tab + +[*.patch] +trim_trailing_whitespace = false + +[S{0..9}{0..9}*] +indent_style = tab +indent_size = tab + +[*.adoc] +trim_trailing_whitespace = false diff --git a/.flake8 b/.flake8 index afdb9679307..7dd7b541cc0 100644 --- a/.flake8 +++ b/.flake8 @@ -1,2 +1,5 @@ [flake8] +exclude= + # copied from the kernel sources + utils/diffconfig max-line-length=132 diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000000..319e67d8613 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,6 @@ +Please do not submit a Pull Request via GitHub. Buildroot makes use of a +[mailing list](http://lists.buildroot.org/mailman/listinfo/buildroot) for patch submission and review. +See [submitting your own patches](http://buildroot.org/manual.html#submitting-patches) for more info. + +Thanks for your help! + diff --git a/.github/workflows/repo-lockdown.yml b/.github/workflows/repo-lockdown.yml new file mode 100644 index 00000000000..45cfd2867d3 --- /dev/null +++ b/.github/workflows/repo-lockdown.yml @@ -0,0 +1,25 @@ +name: 'Repo Lockdown' + +on: + pull_request_target: + types: opened + +permissions: + pull-requests: write + +jobs: + action: + if: github.repository == 'buildroot/buildroot' + runs-on: ubuntu-latest + steps: + - uses: dessant/repo-lockdown@v4 + with: + pr-comment: | + Please do not submit a Pull Request via GitHub. Buildroot makes use of a + [mailing list](http://lists.buildroot.org/mailman/listinfo/buildroot) for patch submission and review. + See [submitting your own patches](http://buildroot.org/manual.html#submitting-patches) for more info. + + Thanks for your help! + lock-pr: true + close-pr: true + diff --git a/.gitignore b/.gitignore index bb02d9f5727..fb20b03daf7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -/output +/output* /dl /.auto.deps /.config.cmd @@ -13,3 +13,4 @@ *.rej *~ *.pyc +/br.log diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0e69288f383..6c7afb7518b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,264 +1,33 @@ # Configuration for Gitlab-CI. # Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines -# The .gitlab-ci.yml file is generated from .gitlab-ci.yml.in. -# It needs to be regenerated every time a defconfig is added, using -# "make .gitlab-ci.yml". -image: buildroot/base +image: $CI_REGISTRY/buildroot.org/buildroot/base:20250218.2110 -.defconfig_script: &defconfig_script - - echo 'Configure Buildroot' - - make ${CI_BUILD_NAME} - - echo 'Build buildroot' - - | - make > >(tee build.log |grep '>>>') 2>&1 || { - echo 'Failed build last output' - tail -200 build.log - exit 1 - } +stages: + - generate-gitlab-ci + - build -check-gitlab-ci.yml: - script: - - mv .gitlab-ci.yml .gitlab-ci.yml.orig - - make .gitlab-ci.yml - - diff -u .gitlab-ci.yml.orig .gitlab-ci.yml +generate-gitlab-ci-yml: + stage: generate-gitlab-ci + script: ./support/scripts/generate-gitlab-ci-yml support/misc/gitlab-ci.yml.in > generated-gitlab-ci.yml + retry: + max: 2 + when: + - runner_system_failure + - stuck_or_timeout_failure + artifacts: + when: always + paths: + - generated-gitlab-ci.yml + - br-test-pkg/*/.config + - br-test-pkg/*/missing.config -check-DEVELOPERS: - # get-developers should print just "No action specified"; if it prints - # anything else, it's a parse error. - # The initial ! is removed by YAML so we need to quote it. - script: - - "! utils/get-developers | grep -v 'No action specified'" - -.defconfig: &defconfig - # Running the defconfigs for every push is too much, so limit to - # explicit triggers through the API. - only: - - triggers - - tags - script: *defconfig_script - artifacts: - when: always - expire_in: 2 weeks - paths: - - build.log - - output/images/ - - output/build/build-time.log - - output/build/packages-file-list.txt - -.runtime_test: &runtime_test - # Keep build directories so the rootfs can be an artifact of the job. The - # runner will clean up those files for us. - # Multiply every emulator timeout by 10 to avoid sporadic failures in - # elastic runners. - script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_BUILD_NAME} - artifacts: - when: always - expire_in: 2 weeks - paths: - - test-output/*.log - - test-output/*/images/* -acmesystems_aria_g25_128mb_defconfig: *defconfig -acmesystems_aria_g25_256mb_defconfig: *defconfig -acmesystems_arietta_g25_128mb_defconfig: *defconfig -acmesystems_arietta_g25_256mb_defconfig: *defconfig -arcturus_ucp1020_defconfig: *defconfig -arm_foundationv8_defconfig: *defconfig -arm_juno_defconfig: *defconfig -armadeus_apf27_defconfig: *defconfig -armadeus_apf28_defconfig: *defconfig -armadeus_apf51_defconfig: *defconfig -at91sam9260eknf_defconfig: *defconfig -at91sam9g20dfc_defconfig: *defconfig -at91sam9g45m10ek_defconfig: *defconfig -at91sam9rlek_defconfig: *defconfig -at91sam9x5ek_defconfig: *defconfig -at91sam9x5ek_dev_defconfig: *defconfig -at91sam9x5ek_mmc_defconfig: *defconfig -at91sam9x5ek_mmc_dev_defconfig: *defconfig -atmel_sama5d27_som1_ek_mmc_dev_defconfig: *defconfig -atmel_sama5d2_xplained_mmc_defconfig: *defconfig -atmel_sama5d2_xplained_mmc_dev_defconfig: *defconfig -atmel_sama5d3_xplained_defconfig: *defconfig -atmel_sama5d3_xplained_dev_defconfig: *defconfig -atmel_sama5d3_xplained_mmc_defconfig: *defconfig -atmel_sama5d3_xplained_mmc_dev_defconfig: *defconfig -atmel_sama5d3xek_defconfig: *defconfig -atmel_sama5d4_xplained_defconfig: *defconfig -atmel_sama5d4_xplained_dev_defconfig: *defconfig -atmel_sama5d4_xplained_mmc_defconfig: *defconfig -atmel_sama5d4_xplained_mmc_dev_defconfig: *defconfig -bananapi_m2_plus_defconfig: *defconfig -bananapro_defconfig: *defconfig -beagleboardx15_defconfig: *defconfig -beaglebone_defconfig: *defconfig -beaglebone_qt5_defconfig: *defconfig -chromebook_snow_defconfig: *defconfig -ci20_defconfig: *defconfig -ci40_defconfig: *defconfig -csky_gx6605s_defconfig: *defconfig -cubieboard2_defconfig: *defconfig -engicam_imx6qdl_icore_defconfig: *defconfig -engicam_imx6qdl_icore_qt5_defconfig: *defconfig -engicam_imx6qdl_icore_rqs_defconfig: *defconfig -engicam_imx6ul_geam_defconfig: *defconfig -engicam_imx6ul_isiot_defconfig: *defconfig -firefly_rk3288_defconfig: *defconfig -firefly_rk3288_demo_defconfig: *defconfig -freescale_imx28evk_defconfig: *defconfig -freescale_imx31_3stack_defconfig: *defconfig -freescale_imx6dlsabreauto_defconfig: *defconfig -freescale_imx6dlsabresd_defconfig: *defconfig -freescale_imx6qsabreauto_defconfig: *defconfig -freescale_imx6qsabresd_defconfig: *defconfig -freescale_imx6sololiteevk_defconfig: *defconfig -freescale_imx6sxsabresd_defconfig: *defconfig -freescale_imx6ulevk_defconfig: *defconfig -freescale_imx7dsabresd_defconfig: *defconfig -freescale_mpc8315erdb_defconfig: *defconfig -freescale_p1010rdb_pa_defconfig: *defconfig -galileo_defconfig: *defconfig -gdb_bfin_bf512_defconfig: *defconfig -grinn_chiliboard_defconfig: *defconfig -grinn_liteboard_defconfig: *defconfig -imx23evk_defconfig: *defconfig -imx6-sabreauto_defconfig: *defconfig -imx6-sabresd_defconfig: *defconfig -imx6-sabresd_qt5_defconfig: *defconfig -imx6ulpico_defconfig: *defconfig -imx7dpico_defconfig: *defconfig -lego_ev3_defconfig: *defconfig -linksprite_pcduino_defconfig: *defconfig -minnowboard_max-graphical_defconfig: *defconfig -minnowboard_max_defconfig: *defconfig -mx25pdk_defconfig: *defconfig -mx51evk_defconfig: *defconfig -mx53loco_defconfig: *defconfig -mx6cubox_defconfig: *defconfig -mx6sx_udoo_neo_defconfig: *defconfig -mx6udoo_defconfig: *defconfig -nanopi_m1_defconfig: *defconfig -nanopi_m1_plus_defconfig: *defconfig -nanopi_neo_defconfig: *defconfig -nexbox_a95x_defconfig: *defconfig -nitrogen6sx_defconfig: *defconfig -nitrogen6x_defconfig: *defconfig -nitrogen7_defconfig: *defconfig -odroidc2_defconfig: *defconfig -olimex_a13_olinuxino_defconfig: *defconfig -olimex_a20_olinuxino_lime2_defconfig: *defconfig -olimex_a20_olinuxino_lime_defconfig: *defconfig -olimex_a20_olinuxino_lime_mali_defconfig: *defconfig -olimex_a20_olinuxino_micro_defconfig: *defconfig -olimex_imx233_olinuxino_defconfig: *defconfig -openblocks_a6_defconfig: *defconfig -orangepi_one_defconfig: *defconfig -orangepi_pc_defconfig: *defconfig -orangepi_plus_defconfig: *defconfig -orangepi_zero_defconfig: *defconfig -pandaboard_defconfig: *defconfig -pc_x86_64_bios_defconfig: *defconfig -pc_x86_64_efi_defconfig: *defconfig -qemu_aarch64_virt_defconfig: *defconfig -qemu_arm_versatile_defconfig: *defconfig -qemu_arm_versatile_nommu_defconfig: *defconfig -qemu_arm_vexpress_defconfig: *defconfig -qemu_m68k_mcf5208_defconfig: *defconfig -qemu_m68k_q800_defconfig: *defconfig -qemu_microblazebe_mmu_defconfig: *defconfig -qemu_microblazeel_mmu_defconfig: *defconfig -qemu_mips32r2_malta_defconfig: *defconfig -qemu_mips32r2el_malta_defconfig: *defconfig -qemu_mips32r6_malta_defconfig: *defconfig -qemu_mips32r6el_malta_defconfig: *defconfig -qemu_mips64_malta_defconfig: *defconfig -qemu_mips64el_malta_defconfig: *defconfig -qemu_mips64r6_malta_defconfig: *defconfig -qemu_mips64r6el_malta_defconfig: *defconfig -qemu_nios2_10m50_defconfig: *defconfig -qemu_or1k_defconfig: *defconfig -qemu_ppc64_pseries_defconfig: *defconfig -qemu_ppc64le_pseries_defconfig: *defconfig -qemu_ppc_g3beige_defconfig: *defconfig -qemu_ppc_mpc8544ds_defconfig: *defconfig -qemu_ppc_virtex_ml507_defconfig: *defconfig -qemu_sh4_r2d_defconfig: *defconfig -qemu_sh4eb_r2d_defconfig: *defconfig -qemu_sparc64_sun4u_defconfig: *defconfig -qemu_sparc_ss10_defconfig: *defconfig -qemu_x86_64_defconfig: *defconfig -qemu_x86_defconfig: *defconfig -qemu_xtensa_lx60_defconfig: *defconfig -qemu_xtensa_lx60_nommu_defconfig: *defconfig -raspberrypi0_defconfig: *defconfig -raspberrypi2_defconfig: *defconfig -raspberrypi3_64_defconfig: *defconfig -raspberrypi3_defconfig: *defconfig -raspberrypi3_qt5we_defconfig: *defconfig -raspberrypi_defconfig: *defconfig -riotboard_defconfig: *defconfig -roseapplepi_defconfig: *defconfig -s6lx9_microboard_defconfig: *defconfig -sheevaplug_defconfig: *defconfig -snps_aarch64_vdk_defconfig: *defconfig -snps_arc700_axs101_defconfig: *defconfig -snps_archs38_axs103_defconfig: *defconfig -snps_archs38_haps_defconfig: *defconfig -snps_archs38_vdk_defconfig: *defconfig -socrates_cyclone5_defconfig: *defconfig -stm32f429_disco_defconfig: *defconfig -stm32f469_disco_defconfig: *defconfig -telit_evk_pro3_defconfig: *defconfig -toradex_apalis_imx6_defconfig: *defconfig -ts4800_defconfig: *defconfig -ts4900_defconfig: *defconfig -ts5x00_defconfig: *defconfig -ts7680_defconfig: *defconfig -wandboard_defconfig: *defconfig -warp7_defconfig: *defconfig -warpboard_defconfig: *defconfig -zynq_microzed_defconfig: *defconfig -zynq_zc706_defconfig: *defconfig -zynq_zed_defconfig: *defconfig -zynq_zybo_defconfig: *defconfig -tests.core.test_post_scripts.TestPostScripts: *runtime_test -tests.core.test_rootfs_overlay.TestRootfsOverlay: *runtime_test -tests.core.test_timezone.TestGlibcAllTimezone: *runtime_test -tests.core.test_timezone.TestGlibcNonDefaultLimitedTimezone: *runtime_test -tests.core.test_timezone.TestNoTimezone: *runtime_test -tests.fs.test_ext.TestExt2: *runtime_test -tests.fs.test_ext.TestExt2r1: *runtime_test -tests.fs.test_ext.TestExt3: *runtime_test -tests.fs.test_ext.TestExt4: *runtime_test -tests.fs.test_iso9660.TestIso9660Grub2External: *runtime_test -tests.fs.test_iso9660.TestIso9660Grub2Internal: *runtime_test -tests.fs.test_iso9660.TestIso9660SyslinuxExternal: *runtime_test -tests.fs.test_iso9660.TestIso9660SyslinuxInternal: *runtime_test -tests.fs.test_jffs2.TestJffs2: *runtime_test -tests.fs.test_squashfs.TestSquashfs: *runtime_test -tests.fs.test_ubi.TestUbi: *runtime_test -tests.fs.test_yaffs2.TestYaffs2: *runtime_test -tests.init.test_busybox.TestInitSystemBusyboxRo: *runtime_test -tests.init.test_busybox.TestInitSystemBusyboxRoNet: *runtime_test -tests.init.test_busybox.TestInitSystemBusyboxRw: *runtime_test -tests.init.test_busybox.TestInitSystemBusyboxRwNet: *runtime_test -tests.init.test_none.TestInitSystemNone: *runtime_test -tests.init.test_systemd.TestInitSystemSystemdRoFull: *runtime_test -tests.init.test_systemd.TestInitSystemSystemdRoIfupdown: *runtime_test -tests.init.test_systemd.TestInitSystemSystemdRoNetworkd: *runtime_test -tests.init.test_systemd.TestInitSystemSystemdRwFull: *runtime_test -tests.init.test_systemd.TestInitSystemSystemdRwIfupdown: *runtime_test -tests.init.test_systemd.TestInitSystemSystemdRwNetworkd: *runtime_test -tests.package.test_dropbear.TestDropbear: *runtime_test -tests.package.test_ipython.TestIPythonPy2: *runtime_test -tests.package.test_ipython.TestIPythonPy3: *runtime_test -tests.package.test_python.TestPython2: *runtime_test -tests.package.test_python.TestPython3: *runtime_test -tests.toolchain.test_external.TestExternalToolchainBuildrootMusl: *runtime_test -tests.toolchain.test_external.TestExternalToolchainBuildrootuClibc: *runtime_test -tests.toolchain.test_external.TestExternalToolchainCCache: *runtime_test -tests.toolchain.test_external.TestExternalToolchainCtngMusl: *runtime_test -tests.toolchain.test_external.TestExternalToolchainLinaroArm: *runtime_test -tests.toolchain.test_external.TestExternalToolchainSourceryArmv4: *runtime_test -tests.toolchain.test_external.TestExternalToolchainSourceryArmv5: *runtime_test -tests.toolchain.test_external.TestExternalToolchainSourceryArmv7: *runtime_test +buildroot-pipeline: + stage: build + trigger: + include: + - artifact: generated-gitlab-ci.yml + job: generate-gitlab-ci-yml + strategy: depend + variables: + PARENT_PIPELINE_ID: $CI_PIPELINE_ID diff --git a/.gitlab-ci.yml.in b/.gitlab-ci.yml.in deleted file mode 100644 index 3abf7d53139..00000000000 --- a/.gitlab-ci.yml.in +++ /dev/null @@ -1,60 +0,0 @@ -# Configuration for Gitlab-CI. -# Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines -# The .gitlab-ci.yml file is generated from .gitlab-ci.yml.in. -# It needs to be regenerated every time a defconfig is added, using -# "make .gitlab-ci.yml". - -image: buildroot/base - -.defconfig_script: &defconfig_script - - echo 'Configure Buildroot' - - make ${CI_BUILD_NAME} - - echo 'Build buildroot' - - | - make > >(tee build.log |grep '>>>') 2>&1 || { - echo 'Failed build last output' - tail -200 build.log - exit 1 - } - -check-gitlab-ci.yml: - script: - - mv .gitlab-ci.yml .gitlab-ci.yml.orig - - make .gitlab-ci.yml - - diff -u .gitlab-ci.yml.orig .gitlab-ci.yml - -check-DEVELOPERS: - # get-developers should print just "No action specified"; if it prints - # anything else, it's a parse error. - # The initial ! is removed by YAML so we need to quote it. - script: - - "! utils/get-developers | grep -v 'No action specified'" - -.defconfig: &defconfig - # Running the defconfigs for every push is too much, so limit to - # explicit triggers through the API. - only: - - triggers - - tags - script: *defconfig_script - artifacts: - when: always - expire_in: 2 weeks - paths: - - build.log - - output/images/ - - output/build/build-time.log - - output/build/packages-file-list.txt - -.runtime_test: &runtime_test - # Keep build directories so the rootfs can be an artifact of the job. The - # runner will clean up those files for us. - # Multiply every emulator timeout by 10 to avoid sporadic failures in - # elastic runners. - script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_BUILD_NAME} - artifacts: - when: always - expire_in: 2 weeks - paths: - - test-output/*.log - - test-output/*/images/* diff --git a/.gitlab/issue_templates/default.md b/.gitlab/issue_templates/default.md new file mode 100644 index 00000000000..968d6aab641 --- /dev/null +++ b/.gitlab/issue_templates/default.md @@ -0,0 +1,60 @@ +Thank you for opening a new issue. To help solve it faster and more easily, +please review this check-list, and fill in the sections below. Adapt as +needed. + +Do not open an issue to request a new feature; instead, post a message to +[the mailing list](https://lists.buildroot.org/mailman/listinfo/buildroot). + +_Note: issues missing any information may get closed without further ado._ + +--- +### Check-list + +- [ ] I did not find the issue in the existing issues +- [ ] I can reproduce the issue with unmodified Buildroot from [this + repository](https://gitlab.com/buildroot.org/buildroot), not from a + fork somewhere else +- [ ] I can reproduce the issue on the latest commit of the branch I'm using: + - [ ] master + - [ ] stable (i.e. 20NN.MM.x - please specify) + - [ ] LTS (i.e. 20NN.02.x - please specify) +- [ ] I can reproduce the issue after running `make clean; make` +- [ ] I attached the full build log file (e.g. `make 2>&1 |tee build.log`) +- [ ] I attached a **minimal** defconfig file that can reproduce the + issue (`make BR2_DEFCONFIG=$(pwd)/issue_defconfig savedefconfig`) +- [ ] I also attached the configuration for kconfig-based packages that + are enabled (and necessary to reproduce the issue), most notably: + - [ ] busybox + - [ ] linux + - [ ] uclibc + - [ ] uboot + - [ ] … + +--- +### What I did + +- **Buildroot commit sha1**: _get this with `git describe HEAD`_ +- **Distribution of the build machine**: _get this with `NAME` and `VERSION` from `/etc/os-release`_ + +_Here, describe what you did:_ +- _any special environment variables: CC, CXX, TARGET, CROSS_COMPILE, etc…_ +- _the commands you ran:_ + ```sh + $ make [...] + ``` +- _anything else that you might think is important…_ + +--- +### What happens + +_Here, describe what happens that you believe was incorrect._ + +--- +### What was expected + +_Here, describe the behaviour you expected._ + +--- +### Extra information + +_Here, you may write additional information that does not fit above_ diff --git a/board/digilent/zybo/system.bit b/.shellcheckrc similarity index 100% rename from board/digilent/zybo/system.bit rename to .shellcheckrc diff --git a/CHANGES b/CHANGES index c942fbf579d..611bdd5bff8 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,10876 @@ +2026.05-rc1, released May 12th, 2026 + + Fixes all over the tree and new features. + + Architecture: + - ARM Neoverse-V1/V2/V3/V3AE cores added + - Default x86 CPU variant is now i686 (from i586) + + Toolchain: + - Support for Linux 7.0.x headers + - ARM external toolchains bumped to 15.2.rel1 + + Filesystem: + - Support for XFS rootfs generation. + + Misc: + - generate-cyclonedx now adds source attribute to known + CVEs for better compatibility with Dependency-Track. + + New defconfigs: AMD Versal VPK120, TI j721e starter kit (TDA4VM-SK) + + New packages: cxxopts, drm-info, ftxui, go-bootstrap-stage5, + iniparser, libnss-ato, libzippp, ndctl, opendoas, + python-cloudpickle, python-deprecation, + python-farama-notifications, python-gymnasium, + python-humanfriendly, python-isodate, python-transitions, + sbctl, ugetty, zix + + Removed packages: cegui, openswan, pcre, rubix, snort, + spinxbase + +2026.02.1, released April 21, 2026 + + Changes with potentially large impact: + + - openssl was updated to 3.5.0 which has a few incompatible changes. + See https://github.com/openssl/openssl/releases/tag/openssl-3.5.0 + + Important / security related fixes: + + asterisk: CVE-2026-23739, CVE-2026-23741, CVE-2026-23738, + CVE-2026-23740 + bind: CVE-2026-1519 + clamav: CVE-2026-20031 + cpp-httplib: CVE-2026-21428, CVE-2026-22776, CVE-2026-28434, + CVE-2026-28435, CVE-2026-29076, CVE-2026-31870, CVE-2026-32627, + CVE-2026-33745, CVE-2026-34441 + exiv2: CVE-2026-25884, CVE-2026-27596, CVE-2026-27631 + expat: CVE-2026-32776, CVE-2026-32777, CVE-2026-32778 + freetype: [No CVE tracking], CVE-2026-23865 + giflib: CVE-2021-40633, CVE-2025-31344 + go: CVE-2026-32289, CVE-2026-33810, CVE-2026-27144, CVE-2026-27143, + CVE-2026-32288, CVE-2026-32283, CVE-2026-27140, CVE-2026-32280, + CVE-2026-32281 + libarchive: [No CVE tracking] + libcap: CVE-2026-4878 + libcurl: CVE-2026-3805, CVE-2026-3784, CVE-2026-3783, CVE-2026-1965 + libde265: CVE-2026-33164, CVE-2026-33165 + libglib2: CVE-2025-13601, CVE-2026-1484, CVE-2026-1485, CVE-2026-1489 + libgpiod2: [No CVE tracking] + libinput: CVE-2026-35093, CVE-2026-35094 + libmicrohttpd: CVE-2025-59777, CVE-2025-62689 + libopenssl: CVE-2026-31790, CVE-2026-28386, CVE-2026-28387, + CVE-2026-28388, CVE-2026-28389, CVE-2026-28390, CVE-2026-31789 + libpng: CVE-2026-33416, CVE-2026-33636, CVE-2026-34757 + libsoup3: CVE-2025-14523 + libtpms: CVE-2026-21444 + libxml2: CVE-2026-1757, CVE-2026-0990, CVE-2026-0992, CVE-2025-10911, + CVE-2026-0989 + musl: CVE-2025-26519 + nfs-utils: CVE-2025-12801 + nghttp2: CVE-2026-27135 + perl: CVE-2026-4176 + python-django: CVE-2026-25673, CVE-2026-25674 + python-flask: CVE-2026-27205 + python-gpiod: [No CVE tracking] + python-pyasn1: CVE-2026-23490 + python-pyjwt: CVE-2026-32597 + python-wheel: CVE-2026-24049 + python3: CVE-2026-4224, CVE-2026-3644, CVE-2026-2297 + quickjs: CVE-2025-62490, CVE-2025-62491, CVE-2025-62492, + CVE-2025-62493, CVE-2025-62494, CVE-2025-62495, CVE-2025-62496 + rauc: CVE-2026-34155 + redis: [No CVE tracking] + tor: TROVE-2026-003, TROVE-2026-004 + wireshark: CVE-2026-3201, CVE-2026-3203 + xz: CVE-2026-34743 + + Toolchain: + + - linux-headers: bump to 6.19.12, 6.18.22, 6.12.81, 6.6.134, 6.1.168, + 5.15.202, 5.10.252 + - uclibc: bump to 1.0.57 + + Infrastructure updates/fixes: + + - cve-check: fix CVE URL format + - generate-cyclonedx: add source attribute with NVD reference for CVEs + - Add SECURITY.md + - Fix error handling in br2-external + - New runtime test for memcached + - Remove 32-bit EFI from runtime tests + - New runtime test for connman + - Added support for "secondary" target that are less often tested in + autobuilders + - Update kernel and toolchain for some tests + + Updated defconfigs: aarch64_efi, nitrogen*, stm32mp135f_dk, + versal2_vek385 + + Updated / fixed packages: asterisk, bind, bind, bootgen, clamav, cpp- + httplib, cpp-httplib, docker, edk2, exiv2, expat, faketime, freeradius- + server, freetype, freetype, giflib, giflib, go, igh-ethercat, jasper, + kodi, leafnode2, libarchive, libcap, libcurl, libde265, libftdi1, + libglib2, libgpiod2, libgpiod2, libheif, libinput, libmicrohttpd, + libopenssl, libpng, libpng, libsoup3, libtpms, libtpms, libvips, + libxml2, linux, linux-headers, ltp-testsuite, luvi, mesa3d, mpd, musl, + nfs-utils, nfs-utils, nghttp2, perl, php, postgresql, python-django, + python-flask, python-gpiod, python-pyasn1, python-pyjwt, python-tornado, + python-wheel, python3, python3, quickjs, rauc, redis, sqlite, sway, tor, + uboot, uclibc, wireshark, wpebackend-fdo, xen, xz, xz, zfs + +2026.02, released March 4th, 2026 + + Various fixes. + + Updated/fixed packages: freerdp, graphicsmagick, ruby, nsquid, + vim + +2026.02-rc3, released March 2nd, 2026 + + Fixes all over the tree. + + support/testing/run-tests: Work around a node2 patch in Debian + testing/unstable: + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1129350 + + Updated/fixed packages: bind, botan, containerd, cups, gpsd, + flashbench, igmpproxy, imagemagick, libssh, libunistring, + libvirt, mesa3d, mupdf, openscap, patch, poco, + python-multipart, rtl_433, safeclib, samba4, tinyproxy, + udisks, webkitgtk, wireshark, wlroots, wpewebkit + +2026.02-rc2, released February 24th, 2026 + + Fixes all over the tree. + + Updated/fixed packages: bind, c-ares, libzlib, mpir, netsnmp, + python-anyio, python-fastapi, python-jsonschema, + python-pybind, python-starlette, qemu, ruby, snort, systemd, + wmctrl, wpewebkit + +2026.02-rc1, released February 17th, 2026 + + Fixes all over the tree and new features. + + Arch: + - Add HPPA architecture support + - Drop ARC big-endian support + + Toolchain: + - Kernel headers: use 6.19.x by default, removed 6.17.x, added + 6.19.x support. + + - Binutils: use 2.44 by default, removed 2.42.x, added 2.45.x series. + + Misc: + - Various tweaks to utils/generate-cyclonedx for better SBOM + compatibility and more detailed annotations for CVEs fixed + by patches in Buildroot. + + New defconfigs: AMD Versal2 VEK385, HP-9000, QEMU HPPA B160L, + STM32h747i-disco + + Removed defconfigs: Raspberrypi3 qt5we + + New packages: adsp-ldr, aichat, k3conf, kibi, libplacebo, + libxmlsec1, libyang-cpp, nqptp, openscap, + python-annotated-doc, python-base58, python-coherent-licensed, + python-diskcache, python-gpiod, + python-ipython-pygments-lexers, python-librt, + python-markdown-it-py, python-mdit-py-plugins, python-mdurl, + python-memray, python-platformdirs, python-rich, + python-sdbus-systemd, python-textual, python-varlink, + qoriq-restool, rasdaemon, sigsum-go, sysrepo-cpp, yq, zellij + + Removed packages: alure, bootstrap, chartjs, connman-gtk, + cppdb, criu, cvs, datatables-buttons, datatables-fixedcolumns, + datatables-responsive, datatables, dbus-triggerd, dmraid, + dvdrw-tools, explorercanvas, flot, forge, gconf, hawktracer, + jquery-datetimepicker, jquery-keyboard, jquery-mobile, + jquery-sidebar, jquery-sparkline, jquery-ui-themes, jquery-ui, + jquery-validation, jquery, jsmin, json-javascript, jszip, + let-me-create, libcgi, libcuefile, libfreeimage, libiqrf, + libmhash, libnids, libsvg-cairo, libsvg, libuwsc, lockdev, + musepack, opencv3, openlayers, openpowerlink, opentracing-cpp, + php-zmq, python-aioredis, qjson, racehound, rpi-userland, + sconeserver, softether, taskd, vis-network, vuejs-router, + vuejs, xdriver_xf86-input-mouse + + Issues resolved: + - GNU GRUB (BIOS) with f2fs filesystem failed + https://gitlab.com/buildroot.org/buildroot/-/issues/61 + + - The shadow package does not correctly configure the ENCRYPT_METHOD.. + https://gitlab.com/buildroot.org/buildroot/-/issues/134 + + - EGL not found when building libWPE from buildroot base folder + https://gitlab.com/buildroot.org/buildroot/-/issues/144 + + - Awkward error message: "Fix you path" + https://gitlab.com/buildroot.org/buildroot/-/issues/151 + + - Detected presence of version control tool artifacts + https://gitlab.com/buildroot.org/buildroot/-/issues/154 + + - run-tests tool broken with Python 3.14 + https://gitlab.com/buildroot.org/buildroot/-/issues/156 + + - Moving away from bminor Github mirrors + https://gitlab.com/buildroot.org/buildroot/-/issues/160 + + - How can I make the 'en_US' locale by default? + https://gitlab.com/buildroot.org/buildroot/-/issues/161 + +2025.11.3, released March 17, 2026 + + Important / security related fixes: + + botan: CVE-2024-50382, CVE-2024-50383 + c-ares: CVE-2025-62408 + clamav: CVE-2026-20031 + containerd: CVE-2024-25621, CVE-2024-40635, CVE-2025-47291, + CVE-2025-64329 + cups: CVE-2025-58436, CVE-2025-61915 + exiv2: CVE-2026-25884, CVE-2026-27596, CVE-2026-27631 + fluidsynth: CVE-2025-56225 + freerdp: CVE-2024-32661, CVE-2026-23530, CVE-2026-23531, + CVE-2026-23532, CVE-2026-23533, CVE-2026-23534, CVE-2026-23948, + CVE-2026-24675, CVE-2026-24676, CVE-2026-24679, CVE-2026-24681, + CVE-2026-24682, CVE-2026-24683 + freetype: CVE-2026-23865 + graphicsmagick, CVE-2025-27796 + igmpproxy: CVE-2025-50681 + imagemagick: CVE-2026-22770, CVE-2026-23874, CVE-2026-23876, + CVE-2026-24481, CVE-2026-25638, CVE-2026-25794, CVE-2026-25795, + CVE-2026-25796, CVE-2026-25798, CVE-2026-25799, CVE-2026-25897, + CVE-2026-25989, CVE-2026-26066, CVE-2026-26283, CVE-2026-26284, + CVE-2026-26983 + jasper: CVE-2025-8836, CVE-2025-8837 + libsoup3: CVE-2025-14523 + libssh: CVE-2025-14821, CVE-2026-0964, CVE-2026-0965, CVE-2026-0966, + CVE-2026-0967, CVE-2026-0968 + libtpms: CVE-2026-21444 + mupdf: CVE-2026-25556 + netsnmp: CVE-2025-68615 + patch: CVE-2018-6952, CVE-2019-20633 + postgresql: CVE-2026-2003, CVE-2026-2004, CVE-2026-2005, CVE-2026-2006 + python-multipart: CVE-2026-24486 + rtl_433: CVE-2025-34450 + squid: CVE-2025-62168 + tinyproxy: CVE-2025-63938 + vim: CVE-2026-25749, CVE-2026-26269 + wpewebkit: CVE-2025-31273, CVE-2025-31278, CVE-2025-43211, + CVE-2025-43212, CVE-2025-43216, CVE-2025-43227, CVE-2025-43228, + CVE-2025-43240, CVE-2025-43265, CVE-2025-43272, CVE-2025-43342, + CVE-2025-43343, CVE-2025-43356, CVE-2025-43368, CVE-2025-6558 + + Infrastructure updates/fixes: + + linux: make license option visible for _CUSTOM_VERSION as well + support/testing/run-tests: fix Debian testing/unstable + + Updated / fixed packages: botan, c-ares, clamav, containerd, cups, + docker, dtc, exiv2, faketime, flashbench, freerdp, freetype, + graphicsmagick, igmpproxy, imagemagick, jasper, libsoup3, libssh, + libtpms, libvips, libvirt, libzlib, mpir, mupdf, netsnmp, patch, poco, + postgresql, python3, python-multipart, qemu, rtl_433, samba4, snort, + squid, tinyproxy, util-linux, vim, webkitgtk, wireshark, wmctrl, + wpewebkit + + Removed packages: qemu (cris target), python3 (ossaudiodev) + +2025.11.2, released February 20, 2026 + + avahi: CVE-2021-3468, CVE-2023-38469, CVE-2023-38470, CVE-2023-38471, + CVE-2023-38472, CVE-2023-38473, CVE-2024-52615, CVE-2024-52616, + CVE-2025-68276, CVE-2025-68468, CVE-2025-68471, CVE-2026-24401 + bind: CVE-2025-13878 + busybox: CVE-2025-46394, CVE-2025-60876 + expat: CVE-2026-24515, CVE-2026-25210 + glibc: CVE-2025-15281, CVE-2026-0861, CVE-2026-0915 + gnutls: CVE-2025-14831, CVE-2026-1584 + go: CVE-2025-61732, CVE-2025-68121, CVE-2025-61728, CVE-2025-61726, + CVE-2025-68121, CVE-2025-61731, CVE-2025-61730 + gpsd: CVE-2025-67268, CVE-2025-67268 + haproxy: CVE-2025-11230 + intel-microcode: CVE-2024-24853, CVE-2025-31648 + libopenssl: CVE-2025-11187, CVE-2025-15467, CVE-2025-15468, + CVE-2025-66199, CVE-2025-68160, CVE-2025-69418, CVE-2025-69419, + CVE-2025-69420, CVE-2025-69421, CVE-2026-22795, CVE-2026-22796 + libpng: CVE-2026-22695, CVE-2026-22801, CVE-2026-25646 + libtasn1: CVE-2025-13151 + libvpx + linux-pam: CVE-2024-10963 + nginx: CVE-2025-53859 + nodejs: CVE-2025-27210, CVE-2025-55130, CVE-2025-55131, CVE-2025-55132, + CVE-2025-59465, CVE-2025-59466, CVE-2026-21637 + python3: gh-144125, gh-143935, gh-143925, gh-143919, gh-143916 + python-django: CVE-2025-13473, CVE-2025-14550, CVE-2026-1207, + CVE-2026-1285, CVE-2026-1287, CVE-2026-1312 + python-urllib3: CVE-2026-21441 + strongswan: CVE-2025-62291 + tor: TROVE-2025-016 + vim: CVE-2025-66476 + webkitgtk + + Infrastructure updates/fixes: + + arm-trusted-firmware, at91bootstrap3, barebox, linux, opensbi, optee-os, + uboot: Add support for custom license files + config-fragments/autobuild: drop a number of duplicated toolchains + generate-cyclonedx: fix dependencies + Makefile: add check-package-external target + pkg-stats: add -N/--needs-update option + pkg-stats: fix RuntimeError with python 3.14 asyncio + relocate-sdk.sh: pre-calculate files in need of relocation + system/Config.in: do not reference md5 for sha256 option + testing/run-tests: specify multiprocessing method + testing: fix SdbusModemmanager/SdbusNetworkmanager duplicate test name + testing: python-requests: new runtime test + testing: test_python.py: disable interpreter colors + testing: test_python_sdbus_modemmanager: remove unneeded systemd vconsole + testing/tests/package/test_firewalld: use ext2 instead of cpio + + Updated / fixed packages: aardvark-dns, asterisk, at91bootstrap3, avahi, + berkeleydb, bind, bitcoin, blake3, brltty, brotli, busybox cryptsetup, + dash, dc3dd, docker-engine, easy-rsa, efl, ell, expat, frr, glibc, + gnutls, go, gpsd, grub2, haproxy, igmpproxy, intel-microcode, + kvm-unit-tests, libcec, libbsd, libcdio-paranoia, libcurl, libgphoto2, + libgpiod2, libite, libopenssl, libpng, libtasn1, libucl, libvpx, + libwebsockets, linux, linux-headers, linux-pam, localedef, lockdev, + m4, manual, mcelog, mesa3d, mp4v2, mpg123, mpir, mupdf, netdata, + netsniff-ng, nginx, nodejs, parprouted, php, php-lua, pkg-utils, podman, + python3, python-django, python-jinja2, python-urllib3, qemu, rp-pppoe, + rust-bindgen, safeclib, samba4, sane-airscan, screen, shadow, shapelib, + spandsp, squeezelite, strongswan, swig, syslog-ng, systemd, tor, uboot, + uclibc, uftp, util-linux, vim, vsftpd, webkitgtk, wireless-regdb, + xmlstarlet, zeek + + Removed packages: criu, cvs, dbus-triggerd, dvdrw-tools, libsvg, libsvg-cairo, lockdev, gconf, + +2025.11.1, released January 20, 2026 + + Important / security related fixes: + + apache: CVE-2025-55753, CVE-2025-58098, CVE-2025-59775, CVE-2025-65082, + CVE-2025-66200 + cryptsetup + dropbear: CVE-2025-14282, CVE-2019-6111 + exim: CVE-2025-67896 + gnupg2 + imagemagick: CVE-2025-66628 + libarchive + libcoap: CVE-2025-59391, CVE-2025-65493, CVE-2025-65494 + CVE-2025-65495, CVE-2025-65496, CVE-2025-65497, CVE-2025-65498, + CVE-2025-65499, CVE-2025-65500, CVE-2025-65501 + libcurl: CVE-2025-13034, CVE-2025-14017, CVE-2025-14524, + CVE-2025-14819, CVE-2025-15079, CVE-2025-15224 + libfcgi: CVE-2025-23016. + libfreeimage: CVE-2019-12211, CVE-2019-12213, CVE-2020-24292, + CVE-2020-24293, CVE-2020-24295, CVE-2021-33367, CVE-2021-40263, + CVE-2021-40266, CVE-2023-47995, CVE-2023-47997 + libpng: CVE-2025-66293 + liburiparser: CVE-2025-67899 + libxslt: CVE-2025-7424, CVE-2025-9714, CVE-2025-11731 + linenoise: CVE-2025-9810 + perl: CVE-2025-40909 + php: CVE-2025-14177, CVE-2025-14178, CVE-2025-14180 + python-django: CVE-2025-13372, CVE-2025-64460 + python-filelock: CVE-2025-68146 + python-fonttools: CVE-2025-66034 + python-urllib3: CVE-2025-66471, CVE-2025-66418 + unbound: CVE-2025-11411 + vlc + xserver_xorg-server: CVE-2025-62229, CVE-2025-62230, + CVE-2025-62231 + xwayland: CVE-2025-62229, CVE-2025-62230, CVE-2025-62231 + + Infrastructure updates/fixes: + + - pkg-stats use HEAD request & unique HTTP user-agent + - cve-check: don't fail with unknown CVE + - generate-cyclonedx: support 'resolved_with_pedigree' + - testing: add host bin dir to PATH + - testing: add tests for FIT hash support in package/uboot-tools + - testing: add libiio python bindings runtime test + - testing: ddrescue: use dmsetup from lvm2 + - testing: ddrescue: use f-string for test config + - testing: add tio runtime test + - add 'CVE:' trailer in various patches + - add md5 hash and update tarball url to various python packages + - testing: ltp-testsuite: replace runltp by kirk + - testing: new kvmtool runtime test + - gitignore: ignore utils/brmake log output named `br.log` + - testing: add opus-tools runtime test + - testing: add flac runtime test + - testing: test_xen: add block + + Updated / fixed packages: apache, arm-trusted-firmware, atf, audit, + bitcoin, boost, busybox, cage, cmake, collectl, cppcms, cpulimit, + cryptsetup, dbus, dmraid, dropbear, efl, embiggen-disk, evilwm, exim, + ficl, fio, fluent-bit, fontconfig, glibc, gnupg2, grpc, gvfs, icu, + imagemagick, irqbalance, iwd, kvmtool, ledmon, libarchive, libcoap, + libconfig, libcpprestsdk, libcurl, libdill, libdnet, libfcgi, libfreeimage, + libgit2, libgtk3, libgtk4, libiio, libmbus, libpng, libselinux, libtirpc, + libupnp, liburiparser, libvncserver, libxslt, linenoise, linux-tools, + lttng-modules, lugaru, matchbox-fakekey, matchbox-keyboard, matchbox-lib, + matchbox-panel, mender-update-modules, mesa3d, mosh, nfs-utils, open-lldp, + opencv4, opencv4-contrib, openjdk, perl, perl-dbd-mysql, perl-mozilla-ca, + php, pigz, pixman, python-brotli, python-can, python-certifi, python-django, + python-filelock, python-fonttools, python-pyqt5, python-urllib3, python3, + qt5enginio, qt5webkit, qt6base, racehound, rdesktop, rpcbind, rpi-firmware, + rtl8192eu, rtl8723bu, rtl8723ds, rtl8821au, rtl8821cu, rtl8822cs, samba4, + skopeo, softether, softhsm2, spice, ssdp-responder, sway, tio, trinity, + tzdata, uboot, uboot-tools, uclibc, unbound, utfcpp, v4l2loopback, vim, vlc, + xdriver_xf86-video-intel, xen, xinetd, xlib_libxshmfence, + xserver_xorg-server, xvkbd, xwayland, zic, zxing-cpp + + Removed packages: opencv3 'protobuf', opencv3 'ffmpeg', + libdnet 'python', rpi-firmware 'vcdbg' + +2025.11, released December 11th, 2025 + + Fixes all over the tree. + + linux: Default to 6.18 for runtime kernel and kernel headers, + drop the now EOL 5.4.x series. + + Updated/fixed packages: apache, audit, cryptodev-linux, + dmraid, ficl, glibc, go, intel-mediadriver, intel-vpl-gpu-rt, + kbd, libcap, libdbi, libgit2, libpng, libtirpc, libxslt, + lugaru, mosh, pigz, podman, python-fonttools, python-urllib3, + python3, racehound, rdesktop, rtl8188eu, softhsm, sqlite, + strace, unbound, unzip, xapp_xkbutils, + xdriver_xf86-video-intel, xl2tp, xserver_xorg-server, xwayland + +2025.11-rc2, released November 30th, 2025 + + Fixes all over the tree. + + Infrastructure: support/scripts/check-merged (introduced in + 2025.11-rc1) no longer relies on getopt from util-linux + + Defconfigs: pine64 star: Update U-Boot and Linux kernel to fix + builds with GCC 14.x + + Updated/fixed packages: 18xx-ti-utils, depot-tools, e2fsprogs, + enscript, fio, gnutls, intel-mediadriver, intel-vpl-gpu-rt, + ledmon, libpng, libteam, lmbench, mongoose, netsnmp, + nss-pam-ldapd, open-plc-utils, oprofile, pdmenu, php-apcu, + php-pecl-dbus, php-xdebug, php-yaml, python-flask-restx, + python-pysocks, python-starlette, sane-backends, sbc, sdl, + stress-ng, swipl, syslinux, time, tmux, tor, uboot-tools, + woff2, xfsprogs, yaml-cpp + + Removed packages: libargtable2, starfive-spltool + +2025.11-rc1, released November 20th, 2025 + + Fixes all over the tree and new features. + + Infrastructure: + + - Support merged /usr/sbin/ (E.G. sbin a symlink to bin rather + than separate directories), which is required by systemd + 256+ + + - support/scripts/cve-check can now be used to enrich a SBOM + in CycloneDX format (as generated by + utils/generate-cyclonedx) with vulnerability analysis from + the NVD database. + + Dropped a number of old and unmaintained packages and external + toolchains. + + New defconfigs: Compulab IOT-GATE-iMX8 EBBR, QEMU x86-64 EFI + + Removed defconfigs: at91sam9260eknf, atmel_sama5d3xek, + roseapplepi + + New packages: broot, bvi, go-bootstrap-stage4, libpam-pkcs11, + llama-cpp, nnn, python-crccheck, python-fs, python-patch-ng, + python-pyfatfs, python-scp, python-whitenoise, snapboot, wmenu + + Removed packages: aufs, aufs-util, axfsutils, bctoolbox, + belle-sip, belr, dmenu-wayland, dvbsnoop, + ev3dev-linux-drivers, expect, fbtft, gtk2-engines, gtkperf, + leafpad, lesstif, libbson, libglade, libgtk2, libjwt, libsexy, + linphone, logsurfer, mediastreamer, metacity, mongrel2, ola, + ortp, procrank_linux, ramspeed, sylpheed + +2025.08.3, released December 11, 2025 + + Important / security related fixes: + + - asterisk: CVE-2025-1131, CVE-2025-57767, CVE-2025-49832, + CVE-2025-47780, CVE-2025-47779 + - gnutls: CVE-2025-9820 + - libpng: CVE-2025-64505, CVE-2025-64506, CVE-2025-64720, CVE-2025-65018 + - luksmeta: CVE-2025-11568 + - mariadb: CVE-2025-30693, CVE-2025-30722, CVE-2023-52969, + CVE-2023-52970, CVE-2023-52971 + - openvpn: CVE-2025-13086 + - postgresql: CVE-2025-12817, CVE-2025-12818 + - python-django: CVE-2025-64458, CVE-2025-64459 + - python-startlette: GHSA-7f5h-v6xp-fcq8 + + Infrastructure updates/fixes: + + - New script support/scripts/cve-check to enricht CycloneDX SBoM with + CVE information from NVD database. + + Updated / fixed packages: 18xx-ti-utils, asterisk, enscript, gnutls, + libpng, libroxml, libteam, linux-headers, luksmeta, mariadb, nbd, neard, + nss-pam-ldapd, open-plc-utils, openjdk, openjdk-bin, openvpn, oprofile, + pdmenu, perl-net-ssleay, postgresql, python-django, python-starlette, + redis, sane-bacends, sbc, sdbusplus, sdl, swipl, tailscale, thermald, + tmux, tor + + Removed packages: bctoolbox, belle-sip, belr, linphone, mediastreamer, + mongrel2, ortp + +2025.08.2, released November 20, 2025 + + Important / security related fixes: + + - bind: CVE-2025-8677, CVE-2025-40778, CVE-2025-40780 + - dante: CVE-2024-54662 + - erlang: CVE-2024-53846, CVE-2025-4748, CVE-2025-26618, CVE-2025-30211, + CVE-2025-32433, CVE-2025-46712, CVE-2025-48038, + CVE-2025-48039, CVE-2025-48040, CVE-2025-48041 + - hostapd: CVE-2025-24912 + - imagemagick: CVE-2025-62171 + - iptraf-ng: CVE-2024-52949 + - libarchive: CVE-2025-25724 + - libglib2: CVE-2024-54662 + - libvips: CVE-2025-29769, CVE-2025-59933 + - libvpx: CVE-2025-5283 + - libxslt: CVE-2025-24855, CVE-2024-55549 + - mbedtls: CVE-2025-54764, CVE-2025-59438 + - modsecurity2: CVE-2025-52891, CVE-2025-54571 + - netdata: CVE-2023-22496, CVE-2023-22497 + - podman: CVE-2025-9566 + - poppler: CVE-2024-6239, CVE-2024-56378, CVE-2025-32364, + CVE-2025-32365, CVE-2025-43903, CVE-2025-50420, + CVE-2025-52886 + - python3: gh-139312, gh-139700, gh-139400, gh-135661, gh-135661, + gh-102555, gh-135462, gh-118350, gh-86155 + - python-webpy: CVE-2025-3818 + - redis: CVE-2025-46817, CVE-2025-46818, CVE-2025-46819, CVE-2025-49844 + - samba: CVE-2025-3818, CVE-2025-10230 + - shairport-sync: Upstream security fixes without CVE + - squid: CVE-2025-59362 + - suricata: CVE-2024-37151, CVE-2024-38535 + - tpm2-tss: CVE-2024-29040 + - xerces: CVE-2024-23807 + - zabbix: CVE-2025-27231, CVE-2025-27236, CVE-2025-27238, CVE-2025-49641 + - zip: CVE-2018-13410 + + Infrastructure updates/fixes: + + - Improved matching of CPE ID with NVD database, resulting in more accurate + identification of CVEs. + - brmake: avoid garbled output with top-level parallel build + + Updated / fixed packages: 4th, audit, bind, cmake, crun, dante, + ebtables, erlang, freeradius-server, freerdp, gpsd, gstd, hostapd, + imagemagick, iptraf-ng, ledmon, libarchive, libcurl, libdbi-drivers, + libdisplay-info, libglib2, libgphoto2, libgtk3, libheif, libiconv, + libsemanage, libshout, libsolv, libtpms, libvips, libvpx, libwpe, + libxslt, linux, linux-headers, live555, mbedtls, micropython, + mjpg-streamer, modsecurity2, netdata, podman, poppler, python3, + python-flask-cors, python-webpy, quota, qt6multimedia, redis, refpolicy, + samba4, shairport-sync, selinux-python, sexpect, siproxd, sqlite, squid, + suricata, tor, tpm2-tss, waffle, webkitgtk, wireless-regdb, wpewebkit, + xerces, zabbix, zip + + Removed package: ramspeed + + Boards updated / fixed: andes_ae350_45, beaglebone, beagleboneai, + cubieboard1, cubieboard2, imx6ulz_bsh_smm_m2, imx8mn_bsh_smm_s2, + imx8mn_bsh_smm_s2_pro, olimex_a20_olinuxino_lime*, stm32f429_disco_xip, + stm32f746_disco_sd, stm32f769_disco_sd, stm32mp1*_dk*, ti_am62x_sk + + Test Improvements: + + - Capture output of failing commands on host. + +2025.08.1, released October 11, 2025 + + Important / security related fixes: + + - atop: CVE-2025-31160 + - civetweb: CVE-2025-55763 + - cjson: CVE-2025-57052 + - connman: CVE-2025-32366, CVE-2025-32743 + - cups: CVE-2025-58060, CVE-2025-58364 + - expat: CVE-2025-59375 + - fastd: CVE-2025-24356 + - fetchmail: CVE number pending + - ghostscript: CVE-2025-59798, CVE-2025-59799, CVE-2025-59800, + CVE-2025-59801 + - intel-microcode: CVE-2025-20053, CVE-2025-20109, CVE-2025-22839, + CVE-2025-22840, CVE-2025-22889, CVE-2025-26403 + - jasper: CVE-2023-51257, CVE-2025-8835 + - libcurl: CVE-2025-10148, CVE-2025-9086 + - libopenssl: CVE-2025-9230, CVE-2025-9231, CVE-2025-9232 + - libssh: CVE-2025-8114, CVE-2025-8277 + - lua: CVE-2014-5461 + - opencv4: CVE-2025-53644 + - pcre2: CVE-2025-58050 + - poco: CVE-2025-6375 + - postgresql: CVE-2025-8713, CVE-2025-8714, CVE-2025-8715 + - python-django: CVE-2025-57833, CVE-2025-59681, CVE-2025-59682 + - python-pip: CVE-2025-8869 + - raptor: CVE-2024-57822, CVE-2024-57823 + - syslog-ng: CVE-2024-47619 + - tiff: CVE-2024-13978, CVE-2025-8961, CVE-2025-9165 + + + Updated / fixed packages: asterisk, boinc, boot-wrapper-aarch64, c-icap, + chocolate-doom, cjson, cpp-httplib, cutekeyboard, docker-engine, fatcat, + fluent-bit, gnupg2, gnuplot, htpdate, iputils, kodi, libfreeimage, + libopenssl, libselinux, libsemanage, libxkbcommon, libxmlrpc, + linux-firmware, linuxptp, llvm, luaossl, luvi, mariadb, mdio-tools, + modsecurity2, openjpeg, pango, php-lua, policycoreutils, + python-aiohttp-session, python-certifi, python-cryptography, + python-flask-cors, python-pytz, python-trove-classifiers, + python-typing-extensions, rtl8723bu, rtl8723ds, rtl8821cu, rtl8822cs, + rtl_433, ruby, samba4, sysprof, ti-k3-boot-firmware, tiff, tor, uboot, + uclibc, upx, vulkan-headers, webkitgtk, wilc-driver, wlroots, x11r7, + xilinx-embeddedsw, xilinx-prebuilt, xlib_xtrans, xr819-xradio, zziplib + + Boards updated / fixed: beagleboneai, loongarch64-efi, qemu (all), + versal, zedboard + + Boards removed: at91sam9260eknf, atmel_sama5d3xek, roseapplepi + + Test Improvements: + + - test_docker_compose: update kernel & VM CPU + - TestZfsUclibc: use internal backend for uClibc-ng toolchain + - GitTestBase: remove git daemon due to Gitlab-CI security settings + +2025.08, released September 7th, 2025 + + Fixes all over the tree. + + Infrastructure: + + - 'make show-info' now also displays the package directory. + + - utils/bump-stable-kernel-versions helper script to bump + Linux (headers) kernel versions. + + Fixed defconfigs: QEMU ARM / Aarch64 EBBR / SBSA, Sipeed + licheepi zero, TI am62x sk + + Removed defconfigs (build failures): Bananapro, Beelink gs1, + Chromebook snow, Engicam i.MX6 boards, Galileo, Microchip + at91sam9g20df / at91sam9g45m10ek / at91sam9rlek, Odroid XU-4, + Orangepi lite2 / one+, Pcengine apu2, Pine64 rock64 / sopine, + Raxda rockpin8, Riotboard, Socrates cyclone5, Technologic + TS-7680, Toradex Apalis i.MX6 + + Updated/fixed packages: apitrace, avrdude, b43-firmware, bat, + brcm-patchram-plus, busybox, ecryptfs-utils, exiv2, ffmpeg, + firewalld, gdb, go, imagemagick, input-event-daemon, iozone, + ipmitool, jose, libcap-ng, libfreeglut, libftdi1, libgsm, + libkrb5, libsoxr, lighttpd, lirc-tools, lua-utf8, mariadb, + mbpfan, micropython, mosquitto, netavark, openal, postgis, + python-flask-cors, python-h2, python-yarl, python3, rtl8188eu, + rtl8821au, sqlite, squid, sslh, tcpreplay, timescaledb, + tstools, uclibc, udisks, unbound, vde2, + webrtc-audio-processing, wipe, wireshark, xlib_libXt + + Removed packages: libsvgtiny, netstat-nat, + netsurf-buildsystem, thttpd + +2025.08-rc3, released August 28th, 2025 + + Fixes all over the tree, mainly GCC 15.x build fixes + + support/misc/pkg-stats: Be more robust when parsing CVEs + + Fixed defconfigs: canaan_kd233, sipeed_maix*: Correct Linux + image name configuration, ci20: Needs host-openssl, + imx6ulz_bsh_smm_m2: Use correct FPU configuration + + Removed defconfigs: kontron_pitx_imx8m + + Updated/fixed packages: binutils, cpp-httplib, dtach, + dump1090, ffmpeg, gdbm, gpm, libjwt, liblog4c-localtime, + libv4l, lrzsz, mesa3d, p11-kit, php-lua, proftpd, + python-aexpect, python-pyroute2, python3, rpi-userland, sdl, + vim, wayland, weston, wpewebkit, xvisor + + Removed packages: liboauth + +2025.08-rc2, released August 21th, 2025 + + Fixes all over the tree. + + The release tarballs are now built reproducibly. + + Updated/fixed packages: bash, bcusdk, ed, elfutils, gcc, + gcc-bare-metal, go, grub, gst1-devtools, gst1-libav, + gst1-plugins-bad, gst1-plugins-base, gst1-plugins-good, + gst1-plugins-ugly, gst1-python, gst1-rtsp-server, gst1-vaapi, + gstreamer1, gstreamer1-editing-services, hwdata, iperf3, jq, + libcue, libtracefs, modem-manager, ofono, openconnect, + openjpeg, openocd, prboom, python-numpy, rpcbind, rrdtool, + rt-tests, rtl8812au-aircrack-ng, setserial, start-stop-daemon, + tinyssh, trace-cmd, vorbis-tools + +2025.08-rc1, released August 11th, 2025 + + Fixes all over the tree and new features. + + Arch: Add LoongArch64 architecture support + + Toolchains: + - ARC toolchain updated to 2024.12 + - Bootlin external toolchains updated to 2025.08-1 + - GCC 15.1.0 added, 12.x dropped, 14.x is now default + - GCC 13.x updated to 13.4.0, 14.x updated to 14.3.0 + - Default to Linux 6.16.x kernel headers + + Misc: + - Various tweaks to utils/generate-cyclonedx for better SBOM + compatibility and project name/version customization + + New defconfigs: BeagleY-AI, CoolPI 4B, Freescale i.MX91 + Freedom, LoongArch64 EFI, QEMU LoongArch64 Virt, Raspberrypi + Compute Module 5 IO + + New packages: containers-image-config, distribution-registry, + llvm-runtimes, lua-lrexlib-pcre2, msgpack-c, opencl-headers, + opencl-icd-loader, pocketpy, python-apscheduler, python-crc, + python-log-rate-limit, python-sdbus-modemmanager, soapy-sdr, + vulkan-sdk + + Removed packages: libebur128, libolm, libwebsock, + python-dunamai, python-poetry-dynamic-versioning + +2025.05.3, released October 11, 2025 + + This is the final release on the 2025.05.x branch. + + Important / security related fixes: + + - atop: CVE-2025-31160 + - civetweb: CVE-2025-55763 + - cjson: CVE-2025-57052 + - connman: CVE-2025-32366, CVE-2025-32743 + - cups: CVE-2025-58060, CVE-2025-58364 + - exiv2: CVE-2023-44398, CVE-2024-24826, CVE-2024-25112, CVE-2024-39695, + CVE-2025-26623, CVE-2025-54080, CVE-2025-55304 + - expat: CVE-2025-59375 + - fastd: CVE-2025-24356 + - fetchmail: CVE number pending + - ghostscript: CVE-2025-59798, CVE-2025-59799, CVE-2025-59800, + CVE-2025-59801 + - imagemagick: CVE-2023-5341, CVE-2025-55004, CVE-2025-55005, + CVE-2025-55160 + - intel-microcode: CVE-2025-20053, CVE-2025-20109, CVE-2025-22839, + CVE-2025-22840, CVE-2025-22889, CVE-2025-26403 + - jasper: CVE-2023-51257, CVE-2025-8835 + - libcurl: CVE-2025-10148, CVE-2025-9086 + - libopenssl: CVE-2025-9230, CVE-2025-9231, CVE-2025-9232 + - libssh: CVE-2025-8114, CVE-2025-8277 + - lua: CVE-2014-5461 + - opencv4: CVE-2025-53644 + - pcre2: CVE-2025-58050 + - poco: CVE-2025-6375 + - postgresql: CVE-2025-8713, CVE-2025-8714, CVE-2025-8715 + - python-django: CVE-2025-57833, CVE-2025-59681, CVE-2025-59682 + - python-flask-cors: CVE-2024-6839, CVE-2024-6844, CVE-2024-6866 + - python-pip: CVE-2025-8869 + - raptor: CVE-2024-57822, CVE-2024-57823 + - sqlite: CVE-2025-6965 + - syslog-ng: CVE-2024-47619 + - tiff: CVE-2024-13978, CVE-2025-8961, CVE-2025-9165 + - udisks: CVE-2025-8067 + - wireshark: CVE-2025-5601 + + Updated / fixed packages: asterisk, avrdude, boinc, boot-wrapper-aarch64, + cjson, cpp-httplib, cutekeyboard, docker-engine, ecryptfs-utils, fatcat, + fetchmail, firewalld, gnupg2, gnuplot, htpdate, iputils, jose, kodi, + libfreeimage, libopenssl, libselinux, libsemanage, libxkbcommon, + libxmlrpc, linux-firmware, linuxptp, llvm, lua-utf8, luaossl, luvi, + mariadb, mbpfan, micropython, modsecurity2, mosquitto, opencv4, openjpeg, + pango, php-lua, policycoreutils, python-aiohttp-session, python-certifi, + python-cryptography, python-flask-cors, python-pytz, python3, rtl_433, + ruby, samba4, sysprof, ti-k3-boot-firmware, tiff, tor, uclibc, upx, + webkitgtk, wlroots, x11r7, xilinx-embeddedsw, xilinx-prebuilt, zziplib + + Removed package: netstat-nat + + Boards updated / fixed: versal, ti_am62x_sk, qemu/{x86, x86_64}, + zedboard, beagleboneai + + Boards removed: roseapplepi, at91sam9260eknf, atmel_sama5d3xek + + Test Improvements: + + - TestSWIPL: increase timeout value + - TestOpenJdk: remove stime() function call + - test_hardening: update toolchain to aarch64 for checksec tests + - test_docker_compose: update kernel & VM CPU + - TestZfsUclibc: use internal backend for uClibc-ng toolchain + - GitTestBase: remove git daemon due to Gitlab-CI security settings + +2025.05.2, released September 09, 2025 + + Important / security related fixes: + + - libssh: CVE-2025-4878, CVE-2025-5318, CVE-2025-5351, CVE-2025-5372, + CVE-2025-5449, CVE-2025-5987 + - glibc: CVE-2025-5702, CVE-2025-5745, CVE-2025-8058 + - gnutls: CVE-2025-32989, CVE-2025-32988, CVE-2025-32990, CVE-2025-6395 + - python3: CVE-2025-8194 + - libhtp: CVE-2025-53537 + - tiff: CVE-2025-8176, CVE-2025-8177 + - libglib2: CVE-2025-6052 + - ofono: CVE-2023-2794, CVE-2024-7537, CVE-2024-7539, CVE-2024-7540, + CVE-2024-7541, CVE-2024-7542 + - elfutils: CVE-2025-1352, CVE-2025-1365, CVE-2025-1371, CVE-2025-1372, + CVE-2025-1376, CVE-2025-1377 + - grub2: CVE-2024-45777, CVE-2024-45778, CVE-2024-45779, + CVE-2024-45780, CVE-2024-45782, CVE-2024-56737, CVE-2024-56738, + CVE-2025-0678, CVE-2025-0684, CVE-2025-0685, CVE-2025-0686, + CVE-2025-0689, CVE-2025-1125 + - openjpeg: CVE-2025-54874 + - go: CVE-2025-4674, CVE-2025-47907 + - gst1-plugins-base: CVE-2025-47806, CVE-2025-47807 + - gst1-plugins-good: CVE-2025-47219, CVE-2025-47183 + - vorbis-tools: CVE-2023-43361 + - vim: CVE-2024-41957, CVE-2024-41965, CVE-2024-45306, CVE-2024-47814, + CVE-2025-1215, CVE-2025-22134, CVE-2025-24014, CVE-2025-26603, + CVE-2025-29768, CVE-2025-53905, CVE-2025-53906 + - ffmpeg: CVE-2023-6602 + - lighttpd: CVE-2025-8671 + - python-h2: CPE-2025-57804 + - cpp-httplib: CVE-2025-46728 + + Removed packages: liboauth, thttpd + + Removed defconfigs: at91sam9g20dfc, at91sam9g45m10ek, + at91sam9rlek, bananapro, beelink_gs1, chromebook_snow, galileo, + odroidxu4, orangepi_lite2, orangepi_one_plus, pcengines_apu2, + pine64_sopine, riotboard, rock64, rock_pi_n8, socrates_cyclone5, + toradex_apalis_imx6, ts7680, engicam_imx6*, kontron_pitx_imx8m, + imx6ulz_bsh_smm_m2, + + Test Improvements: + + - test_gstreamer1: raise tesseract-ocr timeout to 15s + - test_wine: fix test after bootlin toolchains update + - test_numactl: fix test after bootlin toolchains update + - test_dpdk: fix test after bootlin toolchains update + - test_msr_tools: fix test after bootlin toolchains update + - test_dmidecode: fix test after bootlin toolchains update + - test_iso9660: use a more recent toolchain + - test_grub: use glibc toolchain + - test_wget: replace thttpd by Busybox's httpd server + - test_libcurl: replace thttpd by Busybox's httpd server + - test_systemd_selinux: fix test after bootlin toolchains update + + Updated / fixed packages: python-propcache, pipewire, apache, xinetd, + libssh, glibc, libhtp, libapparmor, libopenssl, rpi-firmware, + brcmfmac_sdio-firmware-rpi, grout, php-pecl-dbus, tini, snooze, ngrep, + libzenoh-pico, janet, cjson, flatcc, nanocom, rtl8189es, gcc, ofono, + python-numpy, elfutils, libtracefs, tinyssh, start-stop-daemon, bcusdk, + prboom, setserial, grub2, openjpeg, go, gstreamer1, gst1-plugins-base, + gst1-plugins-good, gst1-plugins-bad, gst1-plugins-ugly, gst1-devtools, + gst1-libav, gst1-python, gst1-rtsp-server, gst1-vaapi, + gstreamer1-editing-services, vorbis-tools, jq, lbijwt, vim, ffmpeg, + libv4l, python-yarl, lirc-tools, b43-firmware, tcpreplay, libsvgtiny, + libsoxr, lighttpd, uclibc, vde2, libcap-ng, python-h2, squid, ipmitool, + ell, proftpd, liblog4c-localtime, wpewebkit, weston, cpp-httplib, + ipset, python3, python-aexpect, libftdi1 + + Infrastructure updates/fixes: + - Various tweaks to utils/generate-cyclonedx for better SBOM + compatibility and project name/version customization + - go: make pre-built compiler provide target support too + - test-pkg: add new option -T/--toolchain-name + - pkg-utils.mk: include package directory in show-info output + - bump-stable-kernel-versions: new tool + + Boards updated / fixed: + + - qemu_sh4*: switch back to disk emulation + - acmesystems_acqua_a5_*: update linux + - sipeed_licheepi_zero: update linux & uboot + - zynqmp: increase vfat partition to 64M + - qemu_{arm,aarch64}_{ebbr,sbsa}*: linux needs host python3 + - canaan_kd233, sipeed*: use BR2_LINUX_KENREL_IMAGE_TARGET_NAME + - ci20: U-Boot needs host-openssl + +2025.05.1, released August 11th, 2025 + + Important / security related fixes: + - samba4: support Windows security hardening + - apache: CVE-2025-53020, CVE-2025-49812, CVE-2025-49630, CVE-2025-23048, + CVE-2024-47252, CVE-2024-43394, CVE-2024-43204, CVE-2024-42516, + CVE-2025-54090 + - assimp: CVE-2025-2750, CVE-2025-2751, CVE-2025-2757, CVE-2025-3158 + - clamav: CVE-2025-20260 + - edk2: CVE-2024-38805 + - git: CVE-2025-27613, CVE-2025-27614, CVE-2025-46835, CVE-2025-48384, + CVE-2025-48385, CVE-2025-48386 + - jose: CVE-2023-50967 + - libarchive: CVE-2025-5914, CVE-2025-5915, CVE-2025-5916, CVE-2025-5917, + CVE-2025-5918 + - libavif: CVE-2025-48174, CVE-2025-48175 + - libblockdev: CVE-2025-6019 + - libbpf: CVE-2025-29481 + - libglib2: CVE-2025-6052 + - libheif: CVE-2025-43966, CVE-2025-43967 + - libhtp: CVE-2024-45797 + - libopenssl: CVE-2025-4575 + - libsoup: CVE-2024-52530, CVE-2024-52531, CVE-2024-52532, CVE-2025-2784, + CVE-2025-4476, CVE-2025-4948, CVE-2025-4969, CVE-2025-32050, + CVE-2025-32052, CVE-2025-32053, CVE-2025-32906, CVE-2025-32910, + CVE-2025-32911, CVE-2025-32912, CVE-2025-32913, CVE-2025-32914, + CVE-2025-46420, CVE-2025-46421 + - libxml2: CVE-2025-6021, CVE-2025-49794, CVE-2025-49796, CVE-2025-49795, + CVE-2025-6170 + - mbedtls: CVE-2025-47917, CVE-2025-48965, CVE-2025-49087, CVE-2025-49600, + CVE-2025-49601, CVE-2025-52496, CVE-2025-52497 + - micropython: CVE-2024-8947 + - modsecurity2: 2025-47947, CVE-2025-48866 + - orc: CVE-2024-40897 + - php: CVE-2025-1735, CVE-2025-6491, CVE-2025-1220 + - podman: CVE-2025-6032 + - python-aiohttp: CVE-2025-53643 + - python-django: CVE-2025-48432 + - python-requests: CVE-2024-47081 + - python-starlette: CVE-2025-54121 + - python-urllib3: CVE-2025-50181, CVE-2025-50182 + - python3: 2024-12718, CVE 2025-4138, CVE 2025-4330, CVE 2025-4435, + 2025-4517 + - redis: CVE-2025-32023, CVE-2025-48367 + - rust-bindgen: CVE-2024-43806, RUSTSEC-2024-0006 + - samba4: CVE-2025-0620 + - shim: CVE-2024-2312 + - sngrep: CVE-2024-3119, CVE-2024-3120 + - sudo: CVE-2025-32462, CVE-2025-32463 + - tcpreplay: CVE-2023-4256, CVE-2023-43279, CVE-2024-22654 + - tinyxml: CVE-2023-34194 + - wpewebkit: CVE-2024-27856, CVE-2024-40866, CVE-2024-44185, + CVE-2024-44187, CVE-2024-44192, CVE-2024-44244, CVE-2024-44296, + CVE-2024-44308, CVE-2024-44309, CVE-2024-54467, CVE-2024-54479, + CVE-2024-54502, CVE-2024-54505, CVE-2024-54508, CVE-2024-54534, + CVE-2024-54543, CVE-2024-54551, CVE-2024-54658, CVE-2025-24143, + CVE-2025-24150, CVE-2025-24158, CVE-2025-24162, CVE-2025-24201, + CVE-2025-24208, CVE-2025-24209, CVE-2025-24213, CVE-2025-24216, + CVE-2025-24223, CVE-2025-24264, CVE-2025-30427, CVE-2025-31204, + CVE-2025-31205, CVE-2025-31206, CVE-2025-31215, CVE-2025-31257 + - xorg-server / xwayland: CVE-2025-49175, CVE-2025-49176, CVE-2025-49177, + CVE-2025-49178, CVE-2025-49179, CVE-2025-49180 + + Updated / fixed packages: amazon-ecr-credential-helper, at91bootstrap3, + avrdude, bcg729, berkeleydb, binutils, bmx7, boot/syslinux, ca-certificates, + chartjs, cifs-utils, cpp-httplib, cpulimit, daq, dht, + docker-credential-acr-env, docker-credential-gcr, elfutils, eudev, fwupd, + gcc, gnuplot, gstreamer1-editing-services, gumbo-parser, gvfs, hddtemp, + kvmtool, libargtable2, libcddb, libconfuse, libcrossguid, libcurl, libdex, + libesmtp, libgcrypt, libiec61850, libmanette, libmicrohttpd, libmpeg2, + libndp, libp11, libplatform, libspdm, libssh2, libuhttpd, libva, linux, + linux-tools (rtla), lpac, lrzsz, ltp-testsuite, lua, mjpg-streamer, + modem-manager, modsecurity2, mosquitto, mpv, mupdf, ncmpc, ncurses, + net-tools, network-manager, nginx-modsecurity, ntp, oniguruma, openblas, + parted, passt, php, python-asgiref, python-cython, python-dbus-fast, + python-dotenv, python-fastapi, python-future, python-glslang, + python-msgpack, python-multipart, python-remi, python-setuptools, + python-typing-extensions, qpid-proton, rapidjson, rauc-hawkbit-updater, + rtl8188eu, rtl8723bu, rtl8723ds, rtl8821au, rust, sdl2, shadowsocks-libev, + shairport-sync, sox, sqlite, squashfs, sudo, systemd, systemd, tailscale, + tor, uclibc, ustream-ssl, watchdog, webkitgtk, wpebackend-fdo, xen + + Removed package: libebur128, libolm, libwebsock + + Infrastructure updates / fixes: + - python-glslang is now a host package only + - Makefile unexports are now fixed and sorted + - hide gcc version for unsupported CPUs + - check-package: handle missing files + - test-pkg: stop on sigint + - toolchain/toolchain-wrapper.c: + - correct CCACHE_BASEDIR comment + - slightly simplify cmdline copying + - get rid of EXCLUSIVE_ARGS + - erofs: reword "all-fragments" Kconfig text + - utils/update-rust: fix MIT hash + + Test improvements: + - add new test for nginx-modsecurity + - new runtime test for gumbo-parser + - add a crun-based runtime test for docker-compose + - test_xen: add a base class + - test_xen: test on 32-bit Arm v7 + - test_xen: rename TestXen to TestXenAarch64 + + Boards updated / fixed: + - globalscale_espressobin: update linux + - freescale/mxs: fix Linux booting + - ti_am62x_sk: bump Linux version + - beaglebone: bump Linux to 6.12.23-ti-arm32-r11 + +2025.05, released June 9th, 2025 + + Various fixes. + + Updated/fixed packages: armadillo, busybox, dhcpcd, dovecot, + easyframes, exim, ghostscript, go, gst1-plugins-bad, iputils, + jq, libcurl, libftdi1, libglib2, lm-sensors, + mender-update-modules, mesa3d, mongoose, mpd, ninja, podman, + python-django, python-gobject, qoriq-mc-utils, qt5declarative, + qt5webengine, qt5webengine-chromium, qt6base, qt6tools, redis, + rtl8723ds, spirv-llvm-translator, unzip, yasm + +2025.05-rc2, released May 28th, 2025 + + Fixes all over the tree. + + Defconfigs: imx8mn-bsh-smm-s2: Unbreak boot after move to + U-Boot 2025.04. + + Updated/fixed packages: assimp, atkmm, atkmm2_28, binutils, + casync-nano, esp-hosted, gmrender-resurrect, gtkmm3, kmsxx, + libcamera, libglade, linux, lzo, python-click, python-django, + python-flask-restx, python-pydantic, python-pydantic-core, + python-referencing, python-tornado, sane-airscan, systemd, + uacme, uuu + +2025.05-rc1, released May 19th, 2025 + + Fixes all over the tree and package updates. + + Download: + + - Rust updated to version 1.86.0, which has slightly changed + the cargo fetching behaviour, so the generated tarballs now + use a -cargo4 suffix to reflect that. + + - Subversion download logic is now reproducible with non-US + locales + + - Sources can now be fetched from a smb:// location (using + curl). + + Dependencies: + + - AWK is now required on the build host. + + Toolchains: + + - Bootlin ARMv7-A toolchains are now also available for + ARMv8-A CPUs in 32bit mode + + Misc: + + - /etc/resolv.conf symlink now points to /run rather than /tmp + + - support/scripts/pkg-stats can now report stale CVE entries, + E.G. entries in _IGNORE_CVES that are no longer needed + after a NVD update. + + New defconfigs: Engicam PX30 SOM, Freescale i.IM 91 EVK and 93 + Freedom, HiFive Unmatched, Pine64 ROCKPro64 EBBR boot, + Raspberrypi 2 in 64bit mode, Sipeed LicheePi 4A + + New packages: aardvark-dns, amazon-ecr-credential-helper, + casync-nano, cgroupfs-v2-mount, docker-credential-acr-env, + docker-credential-gcr, grout, lowdown, lpac, + mender-update-modules, netavark, passt, podman, + python-aniso8601, python-cachelib, python-emailproxy, + python-flask-caching, python-flask-restx, python-mypy, + python-pyproj, python-simple-pid, python-smbus2, + python-types-psutil, python-types-setuptools, + python-typing-inspection, python-tzlocal, + qoriq-ddr-phy-binary, qoriq-firmware-inphi, qoriq-mc-binary, + qoriq-mc-utils, sane-airscan, sipeed-lpi4abin, ufs-utils, + xilinx-fpgautil + + Issues resolved: + + - openh264's build/ should not be removed + https://gitlab.com/buildroot.org/buildroot/-/issues/64 + + - package/dbus: incorrect session bus configuration file.. + https://gitlab.com/buildroot.org/buildroot/-/issues/67 + + - Update pkcs11-tool to v1.9.1 + https://gitlab.com/buildroot.org/buildroot/-/issues/109 + + - netsnmp: unexpected header length in /proc/net/snmp... + https://gitlab.com/buildroot.org/buildroot/-/issues/110 + +2025.02.13, released April 21, 2026 + + Changes with potentially large impact: + + - openssl was updated to 3.5.0 which has a few incompatible changes. + See https://github.com/openssl/openssl/releases/tag/openssl-3.5.0 + + Important / security related fixes: + + asterisk: CVE-2026-23739, CVE-2026-23741, CVE-2026-23738, + CVE-2026-23740 + bind: https://gitlab.isc.org/isc-projects/bind9/-/issues/5751, + CVE-2026-1519, https://gitlab.isc.org/isc- + projects/bind9/-/issues/5817, https://gitlab.isc.org/isc- + projects/bind9/-/issues/5800, https://gitlab.isc.org/isc- + projects/bind9/-/issues/5826 + cpp-httplib: CVE-2026-33745, CVE-2026-34441, CVE-2026-21428, + CVE-2026-22776, CVE-2026-28434, CVE-2026-28435, CVE-2026-29076, + CVE-2026-31870, CVE-2026-32627 + expat: CVE-2026-32776, CVE-2026-32777, CVE-2026-32778 + gpsd: CVE-2025-67268, CVE-2025-67269 + libarchive: [no CVE tracking] + libcurl: CVE-2026-3805, CVE-2026-3784, CVE-2026-3783, CVE-2026-1965 + libde265: CVE-2026-33164, CVE-2026-33165 + libheif: CVE-2025-68431 + libmicrohttpd: CVE-2025-59777, CVE-2025-62689 + libopenssl: CVE-2025-9230, CVE-2025-9231, CVE-2025-9232, CVE-2025-4575, + CVE-2025-11187, CVE-2025-15467, CVE-2025-15468, CVE-2025-15469, + CVE-2025-66199, CVE-2025-68160, CVE-2025-69418, CVE-2025-69419, + CVE-2025-69420, CVE-2025-69421, CVE-2026-22795, CVE-2026-22796, + CVE-2026-31790, CVE-2026-2673, CVE-2026-28387, CVE-2026-28388, + CVE-2026-28389, CVE-2026-28390, CVE-2026-31789 + libpng: CVE-2026-33416, CVE-2026-33636, CVE-2026-34757, + GHSA-6fr7-g8h7-v645 + libxml2: CVE-2026-1757, CVE-2026-0990, CVE-2026-0992, CVE-2025-10911, + CVE-2026-0989 + mongoose: CVE-2025-65502 + musl: CVE-2025-26519 + nfs-utils: CVE-2025-12801 + nghttp2: CVE-2026-27135 + perl: CVE-2026-4176 + python-django: CVE-2026-25673, CVE-2026-25674 + python-flask: CVE-2026-27205 + python-pyasn1: CVE-2026-23490 + python-pyjwt: CVE-2026-32597, GHSA-752w-5fwx-jx9f + python-tornado: CVE-2025-67724, CVE-2025-67725, CVE-2025-67726 + python-wheel: CVE-2026-24049 + quickjs: CVE-2025-62490, CVE-2025-62491, CVE-2025-62492, + CVE-2025-62493, CVE-2025-62494, CVE-2025-62495, CVE-2025-62496 + rauc: CVE-2026-34155 + redis: [No CVE tracking] + ruby: CVE-2025-27221, CVE-2025-58767, CVE-2025-61594, CVE-2026-27820 + tor: TROVE-2026-003, TROVE-2026-004 + wireshark: CVE-2025-11626 + + Toolchain: + + - uclibc: bump to 1.0.57 + - musl: bump to 1.2.6 + - linux-headers: bump to 6.12.81, 6.6.134, 6.1.168, 5.15.202, 5.10.252 + + Infrastructure updates/fixes: + + - Add SECURITY.md + - Automatically add 2025.02.x prefix for b4 users + - generate-cyclonedx: add source attribute with NVD reference for CVEs + - Fix cve-check's CVE URLs + - New runtime test for connman. + - Added support for "secondary" target that are less often tested in + autobuilders + - New runtime test for memcached + - Fix error handling in br2-external + + Updated defconfigs: aarch64_efi, nitrogen* + + Updated / fixed packages: asterisk, bind, cpp-httplib, expat, faketime, + freeradius-server, giflib, gpsd, ibm-sw-tpm2, leafnode2, libarchive, + libcurl, libde265, libftdi1, libheif, libmicrohttpd, libopenssl, libpng, + libspdm, libxml2, linux, linux-headers, ltp-testsuite, luvi, mongoose, + mpd, musl, nfs-utils, nghttp2, perl, python-djange, python-flask, + python-pyasn1, python-pyjwt, python-tornado, quickjs, rauc, redis, ruby, + sway, tor, uboot, uclibc, wireshark, zfs + +2025.02.12, released March 17, 2026 + + Important / security related fixes: + + botan: CVE-2024-50382, CVE-2024-50383 + c-ares: CVE-2025-62408 + containerd: CVE-2024-25621, CVE-2024-40635, CVE-2025-47291, + CVE-2025-64329 + cups: CVE-2025-58436, CVE-2025-61915 + exiv2: CVE-2026-25884, CVE-2026-27596, CVE-2026-27631 + fluidsynth: CVE-2025-56225 + freerdp: CVE-2024-32661, CVE-2026-23530, CVE-2026-23531, + CVE-2026-23532, CVE-2026-23533, CVE-2026-23534, CVE-2026-23948, + CVE-2026-24675, CVE-2026-24676, CVE-2026-24679, CVE-2026-24681, + CVE-2026-24682, CVE-2026-24683 + graphicsmagick, CVE-2025-27796 + igmpproxy: CVE-2025-50681 + imagemagick: CVE-2026-22770, CVE-2026-23874, CVE-2026-23876, + CVE-2026-24481, CVE-2026-25638, CVE-2026-25794, CVE-2026-25795, + CVE-2026-25796, CVE-2026-25798, CVE-2026-25799, CVE-2026-25897, + CVE-2026-25989, CVE-2026-26066, CVE-2026-26283, CVE-2026-26284, + CVE-2026-26983 + jasper: CVE-2025-8836, CVE-2025-8837 + libsoup3: CVE-2025-14523 + libssh: CVE-2025-14821, CVE-2026-0964, CVE-2026-0965, CVE-2026-0966, + CVE-2026-0967, CVE-2026-0968 + libtpms: CVE-2026-21444 + mupdf: CVE-2026-25556 + netsnmp: CVE-2025-68615 + patch: CVE-2018-6952, CVE-2019-20633 + postgresql: CVE-2026-2003, CVE-2026-2004, CVE-2026-2005, CVE-2026-2006 + rtl_433: CVE-2025-34450 + squid: CVE-2025-62168 + tinyproxy: CVE-2025-63938 + vim: CVE-2026-25749, CVE-2026-26269 + wpewebkit: CVE-2025-31273, CVE-2025-31278, CVE-2025-43211, + CVE-2025-43212, CVE-2025-43216, CVE-2025-43227, CVE-2025-43228, + CVE-2025-43240, CVE-2025-43265, CVE-2025-43272, CVE-2025-43342, + CVE-2025-43343, CVE-2025-43356, CVE-2025-43368, CVE-2025-6558 + + Infrastructure updates/fixes: + + linux: make license option visible for _CUSTOM_VERSION as well + support/testing/run-tests: fix Debian testing/unstable + + Updated / fixed packages: botan, c-ares, containerd, cups, dtc, exiv2, + faketime, flashbench, fluidsynth, freerdp, graphicsmagick, igmpproxy, + imagemagick, jasper, libsoup3, libssh, libtpms, libvips, libvirt, + libzlib, mupdf, netsnmp, patch, poco, postgresql, python-multipart, + qemu, rtl_433, squid, tinyproxy, util-linux, vim, webkitgtk, wmctrl, + wpewebkit + + Removed packages: qemu (cris target) + +2025.02.11, released February 20, 2026 + + avahi: CVE-2021-3468, CVE-2023-38469, CVE-2023-38470, CVE-2023-38471, + CVE-2023-38472, CVE-2023-38473, CVE-2024-52615, CVE-2024-52616, + CVE-2025-68276, CVE-2025-68468, CVE-2025-68471, CVE-2026-24401 + bind: CVE-2025-13878 + busybox: CVE-2025-46394, CVE-2025-60876 + expat: CVE-2026-24515, CVE-2026-25210 + glibc: CVE-2025-15281, CVE-2026-0861, CVE-2026-0915 + gnutls: CVE-2025-14831, CVE-2026-1584 + haproxy: CVE-2025-11230 + intel-microcode: CVE-2024-24853, CVE-2025-31648 + libopenssl: CVE-2025-11187, CVE-2025-15467, CVE-2025-15468, + CVE-2025-66199, CVE-2025-68160, CVE-2025-69418, CVE-2025-69419, + CVE-2025-69420, CVE-2025-69421, CVE-2026-22795, CVE-2026-22796 + libpng: CVE-2026-22695, CVE-2026-22801, CVE-2026-25646 + libtasn1: CVE-2025-13151 + libvpx + linux-pam: CVE-2024-10963 + nginx: CVE-2025-53859 + nodejs: CVE-2025-27210, CVE-2025-55130, CVE-2025-55131, CVE-2025-55132, + CVE-2025-59465, CVE-2025-59466, CVE-2026-21637 + python-django: CVE-2025-13473, CVE-2025-14550, CVE-2026-1207, CVE-2026-1285, + CVE-2026-1287, CVE-2026-1312 + python-urllib3: CVE-2026-21441 + strongswan: CVE-2025-62291 + tor: TROVE-2025-016 + vim: CVE-2025-66476 + webkitgtk + + Infrastructure updates/fixes: + + arm-trusted-firmware, at91bootstrap3, barebox, linux, opensbi, optee-os, + uboot: Add support for custom license files + config-fragments/autobuild: drop a number of duplicated toolchains + generate-cyclonedx: fix dependencies + Makefile: add check-package-external target + pkg-stats: add -N/--needs-update option + pkg-stats: fix RuntimeError with python 3.14 asyncio + relocate-sdk.sh: pre-calculate files in need of relocation + system/Config.in: do not reference md5 for sha256 option + testing/run-tests: specify multiprocessing method + testing: python-requests: new runtime test + testing: test_python.py: disable interpreter colors + testing/tests/package/test_firewalld: use ext2 instead of cpio + + Updated / fixed packages: asterisk, at91bootstrap3, avahi, berkeleydb, + bind, bitcoin, brltty, busybox, cryptsetup, dash, dc3dd, docker-engine, + easy-rsa, ell, expat, frr, glibc, gnutls, haproxy, + igmpproxy, intel-microcode, libcec, libcurl, libgphoto2, libgpiod2, + libite, libopenssl, libpng, libselinux, + libtasn1, libucl, libvpx, libwebsockets, linux, linux-headers, + linux-pam, localedef, lockdev, m4, manual, mcelog, mesa3d, mp4v2, + mpg123, mpir, mupdf, netdata, nginx, nodejs, php, php-lua, pkg-utils, + python3, python-django, python-jinja2, python-urllib3, rp-pppoe, + rust-bindgen, safeclib, screen, shadow, spandsp, strongswan, swig, + syslog-ng, tor, uclibc, uftp, util-linux, vim, webkitgtk, + wireless-regdb, xmlstarlet, zeek + + New package: libpam-pkcs11 + + Removed packages: criu, cvs, dbus-triggerd, dvdrw-tools, libsvg, libsvg-cairo, lockdev, gconf, + +2025.02.10, released January 20, 2026 + + Important / security related fixes: + + apache: CVE-2025-55753, CVE-2025-58098, CVE-2025-59775, CVE-2025-65082, + CVE-2025-66200 + cryptsetup + dropbear: CVE-2025-14282, CVE-2019-6111 + exim: CVE-2025-67896 + gnupg2 + imagemagick: CVE-2025-66628 + libarchive + libcoap: CVE-2025-59391, CVE-2025-65493, CVE-2025-65494 + CVE-2025-65495, CVE-2025-65496, CVE-2025-65497, CVE-2025-65498, + CVE-2025-65499, CVE-2025-65500, CVE-2025-65501 + libcurl: CVE-2025-13034, CVE-2025-14017, CVE-2025-14524, + CVE-2025-14819, CVE-2025-15079, CVE-2025-15224 + libfcgi: CVE-2025-23016. + libfreeimage: CVE-2019-12211, CVE-2019-12213, CVE-2020-24292, + CVE-2020-24293, CVE-2020-24295, CVE-2021-33367, CVE-2021-40263, + CVE-2021-40266, CVE-2023-47995, CVE-2023-47997 + libpng: CVE-2025-66293 + liburiparser: CVE-2025-67899 + libxslt: CVE-2025-7424, CVE-2025-9714, CVE-2025-11731 + linenoise: CVE-2025-9810 + perl: CVE-2025-40909 + php: CVE-2025-14177, CVE-2025-14178, CVE-2025-14180 + python-django: CVE-2025-13372, CVE-2025-64460 + python-filelock: CVE-2025-68146 + python-fonttools: CVE-2025-66034 + python-urllib3: CVE-2025-66471, CVE-2025-66418 + unbound: CVE-2025-11411 + vlc + xserver_xorg-server: CVE-2025-62229, CVE-2025-62230, + CVE-2025-62231 + xwayland: CVE-2025-62229, CVE-2025-62230, CVE-2025-62231 + + Infrastructure updates/fixes: + + - pkg-stats use HEAD request & unique HTTP user-agent + - cve-check: don't fail with unknown CVE + - generate-cyclonedx: support 'resolved_with_pedigree' + - testing: add host bin dir to PATH + - testing: add libiio python bindings runtime test + - testing: ddrescue: use dmsetup from lvm2 + - testing: ddrescue: use f-string for test config + - testing: add tio runtime test + - add 'CVE:' trailer in various patches + - add md5 hash and update tarball url to various python packages + - testing: ltp-testsuite: replace runltp by kirk + - testing: new kvmtool runtime test + - gitignore: ignore utils/brmake log output named `br.log` + - testing: add opus-tools runtime test + - testing: add flac runtime test + + Updated / fixed packages: apache, arm-trusted-firmware, atf, audit, + bitcoin, boost, busybox, cage, cmake, collectl, cppcms, cpulimit, + cryptsetup, dbus, dmraid, dropbear, embiggen-disk, evilwm, exim, ficl, + fontconfig, glibc, gnupg2, grpc, gvfs, imagemagick, kvmtool, ledmon, + libarchive, libcoap, libcpprestsdk, libcurl, libdill, libfcgi, + libfreeimage, libgit2, libgtk3, libgtk4, libiio, libmbus, libpng, + libselinux, libtirpc, libupnp, liburiparser, libxml2, libxslt, linenoise, + linux-tools, lttng-modules, lugaru, matchbox-fakekey, matchbox-keyboard, + matchbox-lib, matchbox-panel, mosh, nfs-utils, open-lldp, opencv4, + opencv4-contrib, openjdk, perl, perl-dbd-mysql, perl-mozilla-ca, php, pigz, + pixman, python-brotli, python-certifi, python-django, python-filelock, + python-fonttools, python-pyqt5, python-urllib3, qt5enginio, qt5webkit, + qt6base, racehound, rdesktop, rpcbind, rpi-firmware, softether, softhsm2, + spice, ssdp-responder, sway, sysprof, tio, trinity, tzdata, uboot, uclibc, + unbound, vim, vlc, xdriver_xf86-video-intel, xen, xinetd, + xlib_libxshmfence, xserver_xorg-server, xvkbd, xwayland, zic, zxing-cpp + + Removed packages: opencv3 'protobuf', opencv3 'ffmpeg' + +2025.02.9, released December 11, 2025 + + Important / security related fixes: + + - asterisk: CVE-2025-1131, CVE-2025-57767, CVE-2025-49832, + CVE-2025-47780, CVE-2025-47779 + - gnutls: CVE-2025-9820 + - libpng: CVE-2025-64505, CVE-2025-64506, CVE-2025-64720, CVE-2025-65018 + - luksmeta: CVE-2025-11568 + - mariadb: CVE-2025-30693, CVE-2025-30722, CVE-2023-52969, + CVE-2023-52970, CVE-2023-52971 + - openvpn: CVE-2025-13086 + - postgresql: CVE-2025-12817, CVE-2025-12818 + - python-django: CVE-2025-64458, CVE-2025-64459 + - python-startlette: GHSA-7f5h-v6xp-fcq8 + + Infrastructure updates/fixes: + + - New script support/scripts/cve-check to enricht CycloneDX SBoM with + CVE information from NVD database. + + Updated / fixed packages: 18xx-ti-utils, asterisk, gnutls, libpng, + libroxml, libteam, linux-headers, luksmeta, mariadb, nbd, neard, + openjdk, openjdk-bin, openvpn, oprofile, perl-net-ssleay, postgresql, + python-django, python-starlette, redis, sdbusplus, sdl, swipl, + tailscale, thermald, tmux, tor + + Removed packages: bctoolbox, belle-sip, belr, linphone, mediastreamer, + mongrel2, ortp + +2025.02.8, released November 20, 2025 + + Important / security related fixes: + + - bind: CVE-2025-8677, CVE-2025-40778, CVE-2025-40780 + - dante: CVE-2024-54662 + - erlang: CVE-2024-53846, CVE-2025-4748, CVE-2025-26618, CVE-2025-30211, + CVE-2025-32433, CVE-2025-46712, CVE-2025-48038, + CVE-2025-48039, CVE-2025-48040, CVE-2025-48041 + - hostapd: CVE-2025-24912 + - imagemagick: CVE-2025-62171 + - iptraf-ng: CVE-2024-52949 + - libarchive: CVE-2025-25724 + - libglib2: CVE-2024-54662 + - libvips: CVE-2025-29769, CVE-2025-59933 + - libvpx: CVE-2025-5283 + - libxslt: CVE-2025-24855, CVE-2024-55549 + - mbedtls: CVE-2025-54764, CVE-2025-59438 + - modsecurity2: CVE-2025-52891, CVE-2025-54571 + - netdata: CVE-2023-22496, CVE-2023-22497 + - poppler: CVE-2024-6239, CVE-2024-56378, CVE-2025-32364, + CVE-2025-32365, CVE-2025-43903, CVE-2025-50420, + CVE-2025-52886 + - python3: gh-139312, gh-139700, gh-139400, gh-135661, gh-135661, + gh-102555, gh-135462, gh-118350, gh-86155 + - python-webpy: CVE-2025-3818 + - redis: CVE-2025-46817, CVE-2025-46818, CVE-2025-46819, CVE-2025-49844 + - samba: CVE-2025-3818, CVE-2025-10230 + - shairport-sync: Upstream security fixes without CVE + - squid: CVE-2025-59362 + - suricata: CVE-2024-37151, CVE-2024-38535 + - tpm2-tss: CVE-2024-29040 + - xerces: CVE-2024-23807 + - zabbix: CVE-2025-27231, CVE-2025-27236, CVE-2025-27238, CVE-2025-49641 + - zip: CVE-2018-13410 + + Infrastructure updates/fixes: + + - Improved matching of CPE ID with NVD database, resulting in more + accurate identification of CVEs. + - brmake: avoid garbled output with top-level parallel build + + Updated / fixed packages: 4th, audit, bind, cmake, crun, dante, + ebtables, erlang, freeradius-server, gpsd, gstd, hostapd, imagemagick, + iptraf-ng, iozone, ledmon, libarchive, libcurl, libdbi-drivers, + libdisplay-info, libglib2, libgphoto2, libgtk3, libheif, libsemanage, + libshout, libsolv, libtpms, libvips, libvpx, libwpe, libxslt, linux, + linux-headers, live555, mbedtls, micropython, mjpg-streamer, + modsecurity2, netdata, netsnmp, poppler, python3, python-flask-cors, + python-webpy, quota, qt6multimedia, redis, refpolicy, samba4, + selinux-python, sexpect, shairport-sync, siproxd, sqlite, squid, + suricata, tor, tpm2-tss, waffle, webkitgtk, wireless-regdb, wpewebkit, + xerces, zabbix, zip + + Removed package: ramspeed + + Boards updated / fixed: beagleboneai, cubieboard1, cubieboard2, + stm32f429_disco_xip, stm32f746_disco_sd, stm32f769_disco_sd, + + Test Improvements: + + - Capture output of failing commands on host. + +2025.02.7, released October 11, 2025 + + Important / security related fixes: + + - asterisk: CVE-2024-42491 + - atop: CVE-2025-31160 + - civetweb: CVE-2025-55763 + - cjson: CVE-2025-57052 + - connman: CVE-2025-32366, CVE-2025-32743 + - cups: CVE-2025-58060, CVE-2025-58364 + - exiv2: CVE-2023-44398, CVE-2024-24826, CVE-2024-25112, CVE-2024-39695, + CVE-2025-26623, CVE-2025-54080, CVE-2025-55304 + - expat: CVE-2025-59375 + - fastd: CVE-2025-24356 + - fetchmail: CVE-2025-61962 + - ghostscript: CVE-2025-59798, CVE-2025-59799, CVE-2025-59800, CVE-2025-59801 + - imagemagick: CVE-2023-5341, CVE-2025-55004, CVE-2025-55005, CVE-2025-55160 + - intel-microcode: CVE-2025-20053, CVE-2025-20109, CVE-2025-22839, + CVE-2025-22840, CVE-2025-22889, CVE-2025-26403 + - jasper: CVE-2023-51257, CVE-2025-8835 + - libcurl: CVE-2025-10148, CVE-2025-9086 + - libopenssl: CVE-2025-9230, CVE-2025-9231, CVE-2025-9232 + - libssh: CVE-2025-8114, CVE-2025-8277 + - lua: CVE-2014-5461 + - opencv4: CVE-2025-53644 + - pcre2: CVE-2025-58050 + - poco: CVE-2025-6375 + - postgresql: CVE-2025-8713, CVE-2025-8714, CVE-2025-8715 + - python-django: CVE-2025-57833, CVE-2025-59681, CVE-2025-59682 + - python-flask-cors: CVE-2024-6839, CVE-2024-6844, CVE-2024-6866 + - python-pip: CVE-2025-8869 + - raptor: CVE-2024-57822, CVE-2024-57823 + - sqlite: CVE-2025-6965 + - syslog-ng: CVE-2024-47619 + - tiff: CVE-2024-13978, CVE-2025-8961, CVE-2025-9165 + - udisks: CVE-2025-8067 + - webkitgtk: CVE-2025-24189, CVE-2025-31273, CVE-2025-31278, CVE-2025-43211, + CVE-2025-43212, CVE-2025-43216, CVE-2025-43227, CVE-2025-43228, + CVE-2025-43240, CVE-2025-43265, CVE-2025-6558 + - wireshark: CVE-2025-5601 + + Updated / fixed packages: asterisk, atop, boinc, civetweb, cjson, + connman, cpp-httplib, cups, cutekeyboard, ecryptfs-utils, exiv2, expat, + fastd, fetchmail, ghostscript, gnupg2, gnuplot, htpdate, imagemagick, + intel-microcode, iputils, jasper, jose, kodi, libcurl, libopenssl, + libssh, libxkbcommon, libxmlrpc, linux-firmware, linux-headers, + linuxptp, llvm-project, lua, luaossl, luvi, mariadb, micropython, + modsecurity2, opencv4, opencv4-contrib, openjpeg, pango, pcre2, poco, + postgresql, python-certifi, python-cryptography, python-django, + python-flask-cors, python-pip, python-pyopenssl, python-pytz, raptor, + rtl_433, ruby, samba4, sqlite, syslog-ng, sysprof, tiff, tor, uclibc, + udisks, upx, webkitgtk, wireshark, wlroots, x11r7, zziplib + + Removed package: netstat-nat + + Boards updated / fixed: beagleboneai, qemu/{x86, x86_64}, ti_am62x_sk + versal, zedboard + + Boards removed: roseapplepi, atmel_sama5d3xek, at91sam9260eknf + + Test Improvements: + + - TestSWIPL: increase timeout value + - TestOpenJdk: remove stime() function call + - test_hardening: update toolchain to aarch64 for checksec tests + - test_docker_compose: update kernel & VM CPU + - TestZfsUclibc: use internal backend for uClibc-ng toolchain + - GitTestBase: remove git daemon due to Gitlab-CI security settings + +2025.02.6, released September 09, 2025 + + Important / security related fixes: + + - libssh: CVE-2025-4878, CVE-2025-5318, CVE-2025-5351, CVE-2025-5372, + CVE-2025-5449, CVE-2025-5987 + - glibc: CVE-2025-5702, CVE-2025-5745, CVE-2025-8058 + - gnutls: CVE-2025-32989, CVE-2025-32988, CVE-2025-32990, CVE-2025-6395 + - python3: CVE-2025-8194 + - libhtp: CVE-2025-53537 + - tiff: CVE-2025-8176, CVE-2025-8177 + - libglib2: CVE-2025-6052 + - ofono: CVE-2023-2794, CVE-2024-7537, CVE-2024-7539, CVE-2024-7540, + CVE-2024-7541, CVE-2024-7542 + - elfutils: CVE-2025-1352, CVE-2025-1365, CVE-2025-1371, CVE-2025-1372, + CVE-2025-1376, CVE-2025-1377 + - grub2: CVE-2024-45777, CVE-2024-45778, CVE-2024-45779, + CVE-2024-45780, CVE-2024-45782, CVE-2024-56737, CVE-2024-56738, + CVE-2025-0678, CVE-2025-0684, CVE-2025-0685, CVE-2025-0686, + CVE-2025-0689, CVE-2025-1125 + - openjpeg: CVE-2025-54874 + - go: CVE-2025-4674, CVE-2025-47907 + - gst1-plugins-base: CVE-2025-47806, CVE-2025-47807 + - gst1-plugins-good: CVE-2025-47219, CVE-2025-47183 + - vorbis-tools: CVE-2023-43361 + - quickjs: CVE-2025-46688 + - libde265: CVE-2024-38949, CVE-2024-38950 + - vim: CVE-2024-41957, CVE-2024-41965, CVE-2024-45306, CVE-2024-47814, + CVE-2025-1215, CVE-2025-22134, CVE-2025-24014, CVE-2025-26603, + CVE-2025-29768, CVE-2025-53905, CVE-2025-53906 + - ffmpeg: CVE-2023-6602 + - lighttpd: CVE-2025-8671 + - python-h2: CPE-2025-57804 + - cpp-httplib: CVE-2025-46728 + - iperf3: CVE-2025-54349, CVE-2025-54350 + + Removed package: liboauth, thttpd + + Removed defconfig: at91sam9g20dfc, at91sam9g45m10ek, + at91sam9rlek, bananapro, beelink_gs1, chromebook_snow, galileo, + odroidxu4, orangepi_lite2, orangepi_one_plus, pcengines_apu2, + pine64_sopine, riotboard, rock64, rock_pi_n8, socrates_cyclone5, + toradex_apalis_imx6, ts7680, engicam_imx6*, kontron_pitx_imx8m, imx6ulz_bsh_smm_m2, + + Test Improvements: + + - test_gstreamer1: raise tesseract-ocr timeout to 15s + - test_wine: fix test after bootlin toolchains update + - test_numactl: fix test after bootlin toolchains update + - test_dpdk: fix test after bootlin toolchains update + - test_msr_tools: fix test after bootlin toolchains update + - test_dmidecode: fix test after bootlin toolchains update + - test_iso9660: use a more recent toolchain + - test_gruby: use glibc toolchain + - test_wget: replace thttpd by Busybox's httpd server + - test_libcurl: replace thttpd by Busybox's httpd server + - test_systemd_selinux: fix test after bootlin toolchains update + + Updated / fixed packages: python-propcache, pipewire, apache, xinetd, + libssh, glibc, libhtp, libapparmor, php-pecl-dbus, tini, snooze, ngrep, + libzenoh-pico, janet, nanocom, rtl8189es, gcc, ofono, python-numpy, + elfutils, libtracefs, tinyssh, start-stop-daemon, bcusdk, prboom, + setserial, grub2, openjpeg, go, gstreamer1, gst1-plugins-base, + gst1-plugins-good, gst1-plugins-bad, gst1-plugins-ugly, gst1-devtools, + gst1-libav, gst1-python, gst1-rtsp-server, gst1-vaapi, + gstreamer1-editing-services, vorbis-tools, quickjs, libde265, vim, + ffmpeg, libv4l, python-yarl, lirc-tools, b43-firmware, tcpreplay, + libsvgtiny, libsoxr, lighttpd, uclibc, vde2, libcap-ng, python-h2, + squid, ipmitool, ell, proftpd, liblog4c-localtime, wpewebkit, weston, + cpp-httplib, ipset, iperf3 + + Infrastructure updates/fixes: + - Various tweaks to utils/generate-cyclonedx for better SBOM + compatibility and project name/version customization + - go: make pre-built compiler provide target support too + - test-pkg: add new option -T/--toolchain-name + - pkg-utils.mk: include package directory in show-info output + - bump-stable-kernel-versions: new tool + + Boards updated / fixed: + + - qemu_sh4*: switch back to disk emulation + - acmesystems_acqua_a5_*: update linux + - sipeed_licheepi_zero: update linux & uboot + - zynqmp: increase vfat partition to 64M + - qemu_{arm,aarch64}_{ebbr,sbsa}*: linux needs host python3 + - canaan_kd233, sipeed*: use BR2_LINUX_KENREL_IMAGE_TARGET_NAME + - ci20: U-Boot needs host-openssl + +2025.02.5, released August 11, 2025 + + Important / security related fixes: + - Bump mbedtls to version 3.6.4, this affect many packages depending on it. + Also fixes CVE-2025-47917, CVE-2025-48965, CVE-2025-49087, + CVE-2025-49600, CVE-2025-49601, CVE-2025-52496, CVE-2025-52497 + - samba4: support Windows security hardening + - apache: CVE-2025-53020, CVE-2025-49812, CVE-2025-49630, CVE-2025-23048, + CVE-2024-47252, CVE-2024-43394, CVE-2024-43204, CVE-2024-42516, + CVE-2025-54090 + - assimp: CVE-2025-2750, CVE-2025-2751, CVE-2025-2757, CVE-2025-3158 + - clamav: CVE-2025-20260 + - edk2: CVE-2024-38805 + - git: CVE-2025-27613, CVE-2025-27614, CVE-2025-46835, CVE-2025-48384, + CVE-2025-48385, CVE-2025-48386 + - jose: CVE-2023-50967 + - libarchive: CVE-2025-5914, CVE-2025-5915, CVE-2025-5916, CVE-2025-5917, + CVE-2025-5918 + - libavif: CVE-2025-48174, CVE-2025-48175 + - libblockdev: CVE-2025-6019 + - libbpf: CVE-2025-29481 + - libheif: CVE-2025-43966, CVE-2025-43967 + - libhtp: CVE-2024-45797 + - libsoup: CVE-2024-52530, CVE-2024-52531, CVE-2024-52532, CVE-2025-2784, + CVE-2025-4476, CVE-2025-4948, CVE-2025-4969, CVE-2025-32050, + CVE-2025-32052, CVE-2025-32053, CVE-2025-32906, CVE-2025-32910, + CVE-2025-32911, CVE-2025-32912, CVE-2025-32913, CVE-2025-32914, + CVE-2025-46420, CVE-2025-46421 + - libxml2: CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49796, + CVE-2025-49795 + - micropython: CVE-2024-8947 + - modsecurity2: CVE-2025-47947, CVE-2025-48866 + - orc: CVE-2024-40897 + - php: CVE-2025-1735, CVE-2025-6491, CVE-2025-1220 + - python-aiohttp: CVE-2025-53643 + - python-starlette: CVE-2025-54121 + - python-urllib3: CVE-2025-50181, CVE-2025-50182 + - python3: CVE-2024-12718, CVE-2025-4138, CVE-2025-4330, CVE-2025-4435, + CVE-2025-4517 + - redis: CVE-2025-32023, CVE-2025-48367 + - shim: CVE-2024-2312 + - sngrep: CVE-2024-3119, CVE-2024-3120 + - sudo: CVE-2025-32462, CVE-2025-32463 + - tcpreplay: CVE-2023-4256, CVE-2023-43279, CVE-2024-22654 + - tinyxml: CVE-2023-34194 + - wpewebkit: CVE-2024-27856, CVE-2024-40866, CVE-2024-44185, + CVE-2024-44187, CVE-2024-44192, CVE-2024-44244, CVE-2024-44296, + CVE-2024-44308, CVE-2024-44309, CVE-2024-54467, CVE-2024-54479, + CVE-2024-54502, CVE-2024-54505, CVE-2024-54508, CVE-2024-54534, + CVE-2024-54543, CVE-2024-54551, CVE-2024-54658, CVE-2025-24143, + CVE-2025-24150, CVE-2025-24158, CVE-2025-24162, CVE-2025-24201, + CVE-2025-24208, CVE-2025-24209, CVE-2025-24213, CVE-2025-24216, + CVE-2025-24223, CVE-2025-24264, CVE-2025-30427, CVE-2025-31204, + CVE-2025-31205, CVE-2025-31206, CVE-2025-31215, CVE-2025-31257 + - xorg-server / xwayland: CVE-2025-49175, CVE-2025-49176, CVE-2025-49177, + CVE-2025-49178, CVE-2025-49179, CVE-2025-49180 + + Updated / fixed packages: avrdude, berkeleydb, binutils, bmx7, boot/shim, + boot/syslinux, ca-certificates, chartjs, cifs-utils, cpp-httplib, cpulimit, + daq, elfutils, eudev, fwupd, gcc, gnuplot, gstreamer1-editing-services, + gumbo-parser, gvfs, haproxy, hddtemp, kvmtool, libargtable, libcddb, + libconfuse, libcrossguid, libcurl, libesmtp, libgcrypt, libiec61850, + libmanette, libmicrohttpd, libmpeg2, libndp, libopenssl, libp11, libssh2, + libuhttpd, libva, linux, linux-tools (rtla), lrzsz, ltp-testsuite, lua, + modem-manager, modsecurity2, mosquitto, mpv, mupdf, ncmpc, net-tools, + network-manager, nginx-modsecurity, ntp, oniguruma, openblas, orc, parted, + python-asgiref, python-cython, python-dbus-fast, python-fastapi, + python-future, python-msgpack, python-multipart, python-remi, + python-setuptools, qpid-proton, rauc-hawkbit-updater, rtl8188eu, rtl8723bu, + rtl8723ds, rtl8821au, rust, shadowsock-libev, shairport-sync, sox, sqlite, + squashfs, systemd, tailscale, tor, uclibc, ustream-ssl, watchdog, + webkitgtk, xen + + Removed package: libolm, libwebsock + + Infrastructure updates / fixes: + - python-glslang is now a host package only + - Makefile unexports are now fixed and sorted + - Hide GCC versions for unsupported CPUs + - check-package: handle missing files + - test-pkg: stop on sigint + - check-host-cmake.mk: set host-cmake max version + - toolchain/toolchain-wrapper.c: + - correct CCACHE_BASEDIR comment + - slightly simplify cmdline copying + - get rid of EXCLUSIVE_ARGS + + Test improvements: + - nginx-modsecurity: new test + - gumbo-parser: new runtime test + - add a crun-based runtime test for docker-compose + - test_xen: add a base class + - test_xen: test on 32-bit Arm v7 + - test_xen: rename TestXen to TestXenAarch64 + + Boards updated / fixed: + - globalscale_espressobin: update linux + - freescale/mxs: fix linux booting + - ti_am62x_sk: bump Linux version + - raspberrypi5: fix failing build because of missing in-kernel dts + +2025.02.4, released June 23th, 2025 + + Important / security related fixes: + + - assimp: CVE-2025-3015, CVE-2025-3016 + - binutils: CVE-2025-3198 + - connman: CVE-2025-32366, CVE-2025-32743 + - go: CVE-2025-0913, CVE-2025-4673, CVE-2025-22874 + - iputils: CVE-2025-47268, CVE-2025-48964 + - jq: CVE-2024-23337, CVE-2025-48060, CVE-2024-53427 + - libcurl: CVE-2025-4947, CVE-2025-5025, CVE-2025-5399 + - net-tools: CVE-2025-46836 + - nodejs: CVE-2025-23165, CVE-2025-23166 + - openvmtools: CVE-2025-22247 + - python-django: CVE-2025-48432 + - python-requests: CVE-2024-47081 + - python-tornado: CVE-2025-47287 + - redis: CVE-2025-21605, CVE-2025-27151 + - samba4: CVE-2025-0620 + - sox: CVE-2021-23159, CVE-2021-23172, CVE-2021-23210, CVE-2021-3643, + CVE-2021-40426, CVE-2022-31650, CVE-2022-31651, CVE-2023-26590, + CVE-2023-32627, CVE-2023-34318 + - webkitgtk: CVE-2025-24223, CVE-2025-31204, CVE-2025-31205, + CVE-2025-31206, CVE-2025-31215, CVE-2025-31257 + + Updated / fixed packages: alsa-utils, atkmm, atmm2_28, audit, + bluez5_utils, busybox, catch2, connman, dbus-glib, dlib, dovecot, + esp-hosted, execline, firmware-ele-imx, flex, fluent-bit, freescale-imx, + ghostscript, gmrender-resurrect, grub2, gst1-plugins-bad, gtkmm3, iputils, + kmsxx, libcamera, libcurl, libglade, libical, libuv, llvm-project, + lm-sensors, m4, mesa3d, mongoose, openvmtools, php, protobuf-c, + python-django, python-fastapi, python-flit-core, python-jc, + python-requests, python-uvicorn, qt5 (declarative, webengine, + webengine-chromium), qt6 (base, multimedia, tools), rpm, samba4, spdlog, + systemd, uacme, uboot-tools, yasm + + Removed package: libebur128 + + Infrastructure updates / fixes: + + - pkg-cmake now forces CMake>=3.5 + - pkg-meson now uses a dedicated buildroot build directory + see https://gitlab.com/buildroot.org/buildroot/-/issues/64 + - include defconfigs in sub-directories in make list-defconfigs + - new manual section about private repositories + - pkg-autotools: handle libtool 2.5.x + - pkg-cmake: force check_language(CXX) to be false when building w/o C++ + - pkg-stats: add support for reporting stale CVE entries + - add basic support for package file download over smb + - toolchain/wrapper: check unsafe paths earlier + - test_flutter: drop unneeded vga/vnc stanzas from QEMU invocation + + Test improvements + + - new python-pydantic runtime tests + - new dieharder runtime test + - test_xen: fix runtime test + - test_timezone: fix test by setting a fixed time + - new tree runtime test + + Boards fixes + + - imx6ulz-bsh-smm-m2: fix missing U-Boot + - freescale: fix cpu name in i.MX9 boards + - imx8mn-bsh-smm-s2: erase the entire NAND chip + - freescale_t1040d4rdb: fix kernel build + + In addition, thanks to the new stale CVE reporting, reported + vulnerabilities have been fixed for the following packages: + busybox, dnsmasq, dovecot, exim, exim, freeradius-server, grub2, + libopenh264, libssh, netsnmp, ninja, qt5base, ripgrep, sox, tinyxml + +2025.02.3, released May 19th, 2025 + + Build issues and other problems solved for packages: + + libcap + +2025.02.2, released May 18th, 2025 + + Important / security related fixes: + + - openvpn: CVE-2025-2704 + - ghostscript: CVE-2025-27830, CVE-2025-27831, CVE-2025-27832, + CVE-2025-27833, CVE-2025-27834, CVE-2025-27835, + CVE-2025-27836, CVE-2025-27837, + - libfcgi: CVE-2025-23016 + - perl: CVE-2024-56406 + - mosquitto: CVE-2023-28366 + - c-ares: CVE-2025-31498 + - graphicsmagick: CVE-2025-32460, CVE-2025-27795 + - libxml2: CVE-2025-32414, CVE-2025-32415 + - wireshark: CVE-2025-1492 + - yam: CVE-2021-33454 + - sqlite: CVE-2025-29087 + - xz: CVE-2025-31115 + - python-django: CVE-2025-32873 + - libraw: CVE-2025-43961, CVE-2025-43962, CVE-2025-43963, + CVE-2025-43964 + - dropbear: CVE-2025-47203 + - intel-microcode: CVE-2025-24495, CVE-2024-28956, CVE-2024-43420, + CVE-2025-20103 + - openssh: CVE-2025-32728 + - screen: CVE-2025-23395, CVE-2025-46802, CVE-2025-46803, + CVE-2025-46804, CVE-2025-46805 + - python-flask: CVE-2025-47278 + - python-h11: CVE-2025-43859 + - postgresql: CVE-2025-4207 + + Updated / fixed packages: sysklogd, libfcgi, double-conversion, + igh-ethercat, c-periphery, socat, lua-periphery, fluent-bit, + samba4, ca-certificates, dbus-cxx, atkmm2_28, pangomm2_46, + cairomm1_14, glibmm2_66, gtkmm3, file, opencsd, libopenmpt, + fwts, libtracefs, iproute2, ripgrep, bat, dust, trace-cmd, + libubootenv, micropython, python-cryptography, dnsmasq, + wireless-regdb, python-setuptools, libuci, libubox, ubus, waf, + armadillo, ncftp, expat, libxml2, wireshark, hiredis, zfs, + sunxi-mali-utgard-driver, ruby, mtools, hwdata, traceroute, + zic, tzdata, jo, gdb, tpm2-pkcs11, nss-pam-ldapd, ghostscript, + dropbear, intel-microcode, screen, python-flask, python-h11, + mariadb, ffmpeg, postgresql + + Test Improvements: + + - test_edk2: add a few build tests + - weston: fix the weston shutdown test + - lighttpd: runtime test + - openocd: runtime test + - hyperfine: runtime test + - python-urllib3: runtime test + - test_edk2: add macchiatobin build test + - bat: runtime test + - dust: runtime test + + Infrastructure updates / fixes: + + - libopenh264: ignore CVE-2025-27091 + - edk2: drop dependency on tf-a for macchiatobin + - vim: extend comment about vi symlink + - board/raspberrypi/readme.txt: various improvements + - raspberrypi5: install Raspberry Pi 500 device-tree blob + - gen-bootlin-toolchains: allows armv8-a CPU to use armv7-a toolchains + - libsigrokdecode: needs python3 w/ zlib support + - dejavu: update homepage + - pulseview: fix, update, and reorganise dependencies + - boost: move host variables closer together + - boost: move target library selection variables closer together + - support/download/git: use FOO_DL_OPTS + - stm32mp135f_dk: fix optee hash + - libcamera: various fixes + - apparmor don't reference libapparmor variables + - rpi-firmware: add note to keep in sync with kernel + - python-sdbus: fix upstream url + - qt5webengine: drop unused file + - warp7: Improve Wifi instructions + - cryptopp: add upstream URL in help text + - dpdk: fixup Config.in comment about dependencies + - ffmpeg: add support for libopenmpt + - pkg-stats: fix typo in --disable help text + - imx28evk: enable BR2_DOWNLOAD_FORCE_CHECK_HASHES + - friendlyarm_nanopi_r3s: fix host linux headers custom version + - support/dependencies/dependencies.sh: awk is needed by Buildroot + - Config.in: introduce BR2_HOST_GCC_AT_LEAST_{12..15} + - dbus: set session-socket-dir to /tmp + - fs/erofs: unbreak custom compression handling + - nodejs: make target nodejs package virtual + - mpd: update CPE/CVE information + - Various fix for GCC15 host + + Build issues and other problems solved for packages: + + sqlite, pahole, libv4l, arm-trusted-firmware, libopenmpt, iptables, + tailscale, wilc-driver, rtl8188eu, rtl8723ds, lmbench, fluent-bit, + mosquitto, iproutes2, pixman, linux-tools, libcoap, libcamera, + strongswan, mpv, hiredis, zfs, bird, netsnmp, libcap, musepack, + ffmpeg, libqrencode + +2025.02.1, released April 22nd, 2025 + + Changes with potentially large impact: + + - gstreamer1 and related packages: updated from 1.22.x to 1.24.x. + 1.22.x was already EOL when Buildroot 2025.02 was released, so + GStreamer should really already have been udpated to 1.24.x. + This update was needed to fix a lot of vulnerabilities. + - frr: updated from 9.1.3 to 10.3. Version 9 is no longer + maintained upstream, and not in any distro either. This update + was needed to fix a vulernability. + + Important / security related fixes: + + - libmodsecurity: CVE-2025-27110. + - tinyxml2: CVE-2024-50615. + - xserver_xorg-server & xwayland: CVE-2024-9632, CVE-2025-26594, + CVE-2025-26595, CVE-2025-26596, CVE-2025-26597, CVE-2025-26598, + CVE-2025-26599, CVE-2025-26600, CVE-2025-26601. + - exim: CVE-2025-30232. + - mbedtls: CVE-2025-27809, CVE-2025-27810. + - libfreeglut: CVE-2024-24258, CVE-2024-24259. + - libopenh264: CVE-2025-27091. + - gstreamer1: CVE-2024-47834, CVE-2024-47835, CVE-2024-47778, + CVE-2024-47777 CVE-2024-47776, CVE-2024-47775, CVE-2024-47774, + CVE-2024-47615, CVE-2024-47613, CVE-2024-47607, CVE-2024-47606, + CVE-2024-47603, CVE-2024-47602, CVE-2024-47601, CVE-2024-47600, + CVE-2024-47599, CVE-2024-47598, CVE-2024-47597, CVE-2024-47596, + CVE-2024-47546, CVE-2024-47545, CVE-2024-47544, CVE-2024-47543, + CVE-2024-47542, CVE-2024-47541, CVE-2024-47540, CVE-2024-47539, + CVE-2024-47538, CVE-2024-47537. + - augeas: CVE-2025-2588. + - libndp: CVE-2024-5564. + - python-jinja2: CVE-2025-27516. + - python-django: CVE-2025-26699. + - libarchive: CVE-2024-57970, CVE-2025-1632. + - frr: CVE-2024-55553. + + Updated / fixed packages: libmodsecurity, intel-mediadriver, + intel-vpl-gpu-rt, python-aerich, python-aiohttp, python-maturin, + python-tortoise-orm, python-sqlalchemy, kodi-pvr-waipu, tor, mc, + tinyxml2, libgeos, intel-vpl-gpu-rt, intel-mediadriver, ruby, + ncftp, xserver_xorg-server, exim, mbedtls, gdb, freerdp, uclibc, + libsoup3, cairo, zabbix, armadillo, spdlog, go, linux, linux-tools, + gstreamer, linux-header, ethtool, apr, mali-driver, libcoap, libcap + python-fastapi, python-twisted. + + Test Improvements: + + - linux-tools: selftests: Add path containing BPF binary. + - testing: make time setting portable. + - testing: set date in emulated machine. + - testing: add git runtime test. + - test_gstreamer1: fix test by using bootlin toolchain. + + Infrastructure updates/fixes: + + - kconfig: Handle backspace (^H) key. + - xilinx-embeddedsw: fix menuconfig visualization. + - DEVELOPERS: change arnout's address. + - support/download/svn: use 'svn info' whith LC_ALL=C + - glibc: disable on RISC-V ilp32f and lp64f, not supported. + - dillo: Fix an issue related to _SITE url for make show-info. + - pkg-stats: add -v/--verbose option + + Build issues/problems solved for packages: + + dillo, freerdp, freeswitch, gdb, glibc, linux-tools, + mesa3d-demos, ncftp, tesseract-ocr, + v4l2loopback, zabbix + +2025.02, released March 17th, 2025 + + Various fixes. + + Updated/fixed packages: expat, fio, libopenssl, php, rauc, + rt-tests + +2025.02-rc2, released March 13th 28th, 2025 + + Fixes all over the tree. + + Linux: Support device tree overlays and support custom device + tree files with Linux >= 6.12, which changed the build + logic. For this a new BR2_LINUX_KERNEL_CUSTOM_DTS_DIR option + has been introduced and the existing _CUSTOM_DTS_PATH option + deprecated. + + Updated/fixed packages: compiler-rt, elfutils, fluidsynth, + freescale-imx, go, jbig2dec, libcamera, libcdio, libjxl, musl, + optee-os, postgresql, prboom, sqlite, systemd, util-linux, + webkitgtk + +2025.02-rc1, released February 28th, 2025 + + Fixes all over the tree and new features. + + Nios2 architecture support removed. + + Toolchain: + + - binutils 2.44 added, binutils 2.43.1 becomes the default. + + - gdb 16.1 added, gdb 15.1 becomes the default. + + - glibc 2.41, uclibc-ng 1.0.51 + + - Synopsys external ARC toolchains marked as broken as they + are not "bare" toolchains, causing various build issues + + - ARM external toolchains bumped to 12.4.rel1 and are now also + available for Aarch64 build machines + + Infrastructure: + + - utils/generate-cyclonedx script added to generate SBOM in + CycloneDX format. To use it, run + + make show-info | utils/generate-cyclonedx > sbom.json + + new defconfigs: FriendlyARM NanoPi R3S, NXP imx8mm-evk / + imx8mm-ddr4 /imx8mp-evk / imx93-evk / ls1043a-rdb / + ls1046a-rdb, Orangepi 5 plus, Polyhex Debix model A, + Raspberrypi zero 2w 64bit, Raxda rock 4SE, STM STM32MP135F-DK + + New packages: bmap-writer, cpuinfo, cross-ldd, farmhash, + fft2d, fp16, gemmlowp, libecoli, libglib2-bootstrap, lynis, + nxp-bt-wifi-firmware, nxp-mwifiex, panel-mipi-dbi-firmware, + parsec, psimd, pthreadpool, python-aiohttp-sse-client, + python-asyncclick, python-changelog-chug, python-telnetlib3, + python-waitress, qt6graphs, qt6multimedia, qt6quick3d, + rnnoise, ruy, snooze, tensorflow-lite, usbip, utfcpp, + wlr-randr, xilinx-embeddedsw, xnnpack + + Removed packages: angularjs, angular-websocket, directfb, + directfb-examples, fconfig, genromfs, giblib, gst-omx, + hiwatha, latencytop, libhid, linux-fusion, lite, mimic, + mongodb, obsidian-cursors, python-m2crypto, quagga, ramsmp, + w_scan + + Issues resolved: + - bluetooth.service cannot connect to D-BUS + https://gitlab.com/buildroot.org/buildroot/-/issues/65 + - gdb package doesn't have a licence hash in the gdb.hash file + https://gitlab.com/buildroot.org/buildroot/-/issues/66 + - package/libsha1: Build failure with GCC 14 [-Wimplicit-int] + https://gitlab.com/buildroot.org/buildroot/-/issues/69 + - samba4 build failed in master + https://gitlab.com/buildroot.org/buildroot/-/issues/86 + +2024.11.4, released April 22nd, 2025 + + Important / security related fixes: + + - xserver_xorg-server & xwayland: CVE-2024-9632, CVE-2025-26594, + CVE-2025-26595, CVE-2025-26596, CVE-2025-26597, CVE-2025-26598 + CVE-2025-26599, CVE-2025-26600, CVE-2025-26601. + - exim: CVE-2025-30232. + - mbedtls: CVE-2025-27809, CVE-2025-27810. + - augeas: CVE-2025-2588. + - libarchive: CVE-2024-57970, CVE-2025-1632, CVE-2025-25724. + - xwayland: CVE-2024-31081, CVE-2024-31083, CVE-2024-9632, + CVE-2025-26594, CVE-2025-26595, CVE-2025-26596, + CVE-2025-26597, CVE-2025-26598, CVE-2025-26599, + CVE-2025-26600, CVE-2025-26601 + - libopenh264: CVE-2025-27091. + - libmodsecurity: CVE-2025-27110. + - tinyxml2: CVE-2024-50615. + + Updated/fixed packages: + + libgeos, freerdp, libsoup3, cairo, linux, apr, mali-driver, + libcoap, python-fastapi, python-twisted, tor, mc, linux-header, + linux-tools. + + Test Improvements: + + - linux-tools: selftests: Add path containing BPF binary. + - testing: add git runtime test. + + Infrastructure updates/fixes: + + - DEVELOPERS: change arnout's address. + - DEVELOPERS: add Dario Binacchi for ti-k3-boot-firmware. + - support/download/svn: use 'svn info' whith LC_ALL=C**. + - dillo: Fix an issue related to _SITE url for make show-info. + - kconfig: Handle backspace (^H) key. + - pkg-stats: add -v/--verbose option + + Build issues/problems solved for: + + freeswitch, glibc, v4l2loopback, ls1028ardb, ls1028ardb, + mesa3d-demos. + +2024.11.3, released March 24st, 2025 + + Important / security related fixes. + + Defconfigs: Octavo osd23mp1: Fix TF-A/Linux compilation after + move to newer toolchain versions. + + Updated/fixed packages: compiler-rt, exim, expat, fio, foot, + go, jbig2dec, libcamera, libjxl, libopenssl, libxml2, mokutil, + musl, optee-os, php, pkgconf, postgresql, prboom, + python-typing-extensions, rauc, systemd, util-linux, + watchdogd, webkitgtk + +2024.11.2, released February 21st, 2025 + + Important / security related fixes. + + Infrastructure: support/script/genimage.sh: exit on errors + + Defconfigs: ti_am62ax_sk: Include PMIC driver to fix boot + issue + + Updated/fixed packages: acpica, apache, assimp, asterisk, + bind, busybox, clamav, curlpp, dillo, elfutils, fakeroot, + ffmpeg, freetype, git, glibc, gnu-efi, gnutls, go, gpsd, + heimdal, imagemagick, intel-microcode, kodi, libbsd, libcurl, + libopenssl, libtasn1, libxml2, mdnsd, mpg123, musl, nettle, + nginx, nodejs, openjpeg, openssh, openvpn, php, pipewire, + postgresql, python-django, python3, redis, rsync, socat, + swipl, syslinux, tor, tzdata, uclibc, uemacs, unbound, + usbutils, util-linux, webkitgtk, xen, zic, zlog, zstd, + zxing-cpp + + Issues resolved: + - samba4 build failed in master + https://gitlab.com/buildroot.org/buildroot/-/issues/86 + +2024.11.1, released January 9th, 2025 + + Important / security related fixes. + + Infrastructure: + + - Ensure CONFIG_TRIM_UNUSED_KSYMS is disabled when building + external Linux kernel modules + + Updated/fixed packages: apr, bc, bluez5_utils, c-icap, + cryptodev-linux, dahdi-linux, dpdk, freeipmi, gdb, gnupg2, + gnuplot, gnutls, go, gobject-introspection, grub2, gst-omx, + gst1-devtools, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, igt-gpu-tools, iperf3, libcurl, + libsha1, libsndfile, libsoup3, libvirt, libxcrypt, libxml2, + libzenoh-pico, linux, linux-pam, netatalk, nettle, octave, + opensc, perl, php, pixman, polkit, procps-ng, + python-autocommand, python-django, python3, quickjs, samba4, + skeleton, subversion, ti-k3-r5-loader, tzdata, v4l2loopback, + wayland, webkitgtk, weston, wget, wireshark, wpewebkit, + xr819-xradio, xxhash, zfs, zic + + Issues resolved: + - bluetooth.service cannot connect to D-BUS + https://gitlab.com/buildroot.org/buildroot/-/issues/65 + - gdb package doesn't have a licence hash in the gdb.hash file + https://gitlab.com/buildroot.org/buildroot/-/issues/66 + - package/libsha1: Build failure with GCC 14 [-Wimplicit-int] + https://gitlab.com/buildroot.org/buildroot/-/issues/69 + +2024.11, released December 8th, 2024 + + Various fixes. + + Updated/fixed packages: eza, foot, gnutls, ibm-sw-tpm2, + mosquitto, pixman + + Issues resolved: + - procps-ng: builderror in 2024.08 + https://gitlab.com/buildroot.org/buildroot/-/issues/38 + +2024.11-rc3, released Decemmber 5th, 2024 + + Fixes all over the tree. + + Updated/fixed packages: alsa-lib, android-tools, bats-core, + doxygen, frr, gnutls, libvpl, linux-tools, lmbench, lrzsz, + musl, nfs-utils, opkg, polkit, postgresql, procps-ng, + python-psycopg2, quagga, rt-tests, rust, sexpect + +2024.11-rc2, released November 23rd, 2024 + + Fixes all over the tree. + + Updated/fixed packages: bmap-tools, go, intel-microcode, + libblockdev, libcurl, libkrb5, libnvme, libpng, php, + postgresql, python-sip, skopeo, tiff, util-linux-libs + +2024.11-rc1, released November 13th, 2024 + + Fixes all over the tree and package updates. + + Toolchain: + + - binutils 2.43 added, binutils 2.42 becomes the default. + - glibc updated to 2.40 + - ARM, Bootlin and Synopsys external toolchains updated + - Support added for ARM FDPIC, which allows to use shared + libraries on ARM noMMU targets + + Go support: allow using a pre-built Go compiler, using the new + go-bin package. + + New defconfigs: friendlyarm_nanopi_neo, nvidia_bf3, + stm32f746_disco_sd, ti_am62px_sk, versal_vek280 + + Removed defconfigs: qemu_nios2_10m50 + + New packages: andes-spi-burn, bfscripts, cpp-httplib, dlib, + dpdk, evilwm, go-bin, iana-assignments, iotools, lua-uuid, + oath-toolkit, perl-mime-base32, python-aiohappyeyeballs, + python-aiomqtt, python-argcomplete, python-dotenv, + python-dunamai, python-immutabledict, python-iterable-io, + python-path, python-poetry-dynamic-versioning, + python-propcache, python-proto-plus, python-psygnal, + python-pyaml, python-pydantic-settings, python-pyqt5-sip, + python-pysnmpcrypto, python-rgbmatrix, python-sdbus, + python-sdbus-networkmanager, python-simple-websocket, + python-tinyhtml5, python-zipstream-ng, qt6charts, qt6scxml, + superiotool, tailscale, tinyinit, uefisettings + + Removed packages: bsdiff, popperjs + + Added tests: erofs filesystem, audit, dosfstools, dtc, + exfatprogs, go-bin, iputils, oath-toolkit, parted, pppd, pv, + pyqt5, python-sdbus, python-sdbus-networkmanager, rrdtool, + unbound, which + + Issues resolved: + - host rpath fixups misses needed directory + https://gitlab.com/buildroot.org/buildroot/-/issues/39 + - procps-ng: build failure when linking to systemd + https://gitlab.com/buildroot.org/buildroot/-/issues/28 + - ripgrep leaves /usr/crates2.json / .crates.toml files + https://gitlab.com/buildroot.org/buildroot/-/issues/17 + +2024.08.3, released December 8th, 2024 + + Important / security related fixes. + + Defconfigs: fix mender_x86_64_efi_defconfig build on setups + where /bin/sh is not bash. + + Updated/fixed packages: alsa-lib, android-tools, bats-core, + bluez-alsa, bmap-tools, boost, checksec, ebtables, expat, fbv, + ffmpeg, foot, frr, gnuplot, gnutls, intel-microcode, irssi, + libcurl, libgit2, libkrb5, libmodbus, libpng, libvpl, + linux-pam, linux-tools, lmbench, mbedtls, mosquitto, musl, + musl-compat-headers, nfs-utils, ntp, php, picotool, + postgresql, procps-ng, python-psycopg2, python-sip, qt6base, + quagga, rt-tests, sexpect, sshguard, systemd, tiff, x11vnc + + Issues resolved: + - procps-ng: builderror in 2024.08 + https://gitlab.com/buildroot.org/buildroot/-/issues/38 + - fbv package download link is broken in long term support branch + https://gitlab.com/buildroot.org/buildroot/-/issues/73 + +2024.08.2, released November 14th, 2024 + + Important / security related fixes. + + Updated/fixed packages: apache, asterisk, bind, cmake, criu, + file, fluidsynth, ghostscript, heimdal, intel-microcode, + iproute2, jailhouse, jsoncpp, libarchive, libcurl, libldns, + libgit2, liblinear, libmdbx, libopenh264, libpng, + libtraceevent, libxml2, ltrace, nethogs, nghttp2, ntp, + openjdk, php, postgresql,procps-ng, python-pyqt5, python3, + qemu, ruby, sqlite, sysvinit, tor, trace-cmd, wpebackend-fdo + + New packages: python-pyqt5-sip + +2024.08.1, released October 20th, 2024 + + Important / security related fixes. + + Per-package-directories fixes for the .gdbinit file and RPATH + fixups for SDK. + + Legal-info: Ensure host-tar and redist directory exists when + using override-srcdir, as otherwise the tarball generation + (silently) fails. + + utils/check-package: Also check for correct indentation of + help lines. + + A large number of typo fixes. + + Defconfigs: imx6slevk: Bump Linux kernel to 6.6.51 to fix + build issue with GCC 13 + + Updated/fixed packages: asterisk, aubio, bind, busybox, cairo, + cryptsetup, cups, expat, ffmpeg, genpart, glibc, gnutls, go, + grub2, libarchive, libcurl, libilbc, libpcap, lighttpd, linux, + linux-pam, mosquitto, mtd, nginx, php, procps-ng, pure-ftpd, + python-django, python3, qt6core5compat, qt6svg, qt6tools, + rp-pppoe, samba4, sysklogd, wireplumber, wpewebkit, xenomai + + Issues resolved: + - procps-ng: build failure when linking to systemd + https://gitlab.com/buildroot.org/buildroot/-/issues/28 + - orange pi 2w does not boot + https://gitlab.com/buildroot.org/buildroot/-/issues/36 + - glibc configure fails on aarch64 with mathvec SVE ACLE error + https://gitlab.com/buildroot.org/buildroot/-/issues/40 + - Kernel Build from Custom Git Repo fails with hash-error + https://gitlab.com/buildroot.org/buildroot/-/issues/46 + - package/linux-pam: Remove unneeded flex dependency + https://gitlab.com/buildroot.org/buildroot/-/issues/47 + +2024.08, released September 6th, 2024 + + Various fixes. + + Fixed defconfigs: imx8mqevk: Bump TF-A, U-Boot and Linux to + fix build with gcc 13.x + + Removed defconfigs: pandaboard + + Updated/fixed packages: aer-inject, arm-trusted-firmware, + armadillo, babeld, cache-calibrator, clamav, fbdump, gerbera, + libgtk4, libopenssl, mender, p910nd, tllist, wpa_supplicant + + Removed packages: midori + +2024.08-rc3, released September 1st, 2024 + + Fixes all over the tree. + + Removed defconfigs: mx25pdk + + Updated/fixed packages: chicken, comix-cursors, dovecot, + dovecot-pigeonhole, elf2flt, enscript, fbset, freeipmi, gcc, + grub2, libcuefile, libcurl, libglob, libuecc, norm, php, + postgresql, proftpd, python-sqlparse, python3, sofia-sip, + szip, unbound, x264, xserver_xorg-server, zabbix + + Removed packages: frotz + +2024.08-rc2, released August 22nd, 2024 + + Fixes all over the tree. + + Infrastructure: use "-ztext" rather than "-z text" in LDFLAGS + to work around buggy build systems + + Defconfigs: Beaglev fire / Microchip mpfs icicle: Correct + Linux/U-Boot tarballs, Raspberryi 5: Correct CPU setting, + Zynqmp zcu106: use v1.0 DDR config, Zynqmp zcu10* / kria*: + Correct U-Boot dependency + + Updated/fixed packages: aer-inject, asterisk, atop, aumix, + avahi, botan, chicken, dc3dd, ffmpeg, flashrom, gnuradio, + gnu-efi, gnutls, hiawatha, iperf3, iproute2, ledmon, libffi, + libgpg-error, libkcapi, libpcap, mariadb, mdadm, ncurses, + nginx, ntpsec, python-huepy, python-tpm2-pytss, + python-unittest-xml-reporting, qt6base, qt6tools, skopeo, + strongswan, systemd, uboot, uclibc, unbound, vboot-utils, + wpa_supplicant, wpebackend-fdo + + Removed packages: fan-ctrl + +2024.08-rc1, released August 8th, 2024 + + Fixes all over the tree (especially related to GCC 14.x + compatibility) and package updates. + + Toolchains: + - uClibc updated to 1.0.49 + - GDB 15.x added, GDB 14.x now the default + - GCC 14.x updated to GCC 14.2.0 + - Support for Linux 6.9/6.10 headers added + + Infrastructure: + - Patches on packages are now applied with -F0, which means no + fuzz is accepted anymore. + - Improvements to the canonical example of SysV init script + + New defconfigs: arm_fvp_ebbr, beagleplay, beaglev_fire, + cubieboard1, imx6ulz_bsh_smm_m2_defconfig, raspberrypi5, + spike_riscv32. ti_am62ax_sk, versal_vpk180 + + Removed defconfigs: beagleboardx15, beaglev, imx8mpico + + New packages: blake3, chicken, cloudfared, docker-cli-buildx, + espflash, fd, freescale-imx/firmware-upower, fwupd, fwupd-efi, + gtkiostream, graphene, kmon, libavif, libdex, libgtk4, + libjcat, libopenmpt, libtpms, mxt-app, nethogs, openconnect, + parsec-tool, pico-sdk, picotool, python-aerich, + python-autocommand, python-betterproto, python-configobj, + python-grpclib, python-inflect, python-jaraco-collections, + python-jaraco-context, python-jaraco-text, python-pyasynchat, + python-pyasyncore, python-dictdiffer, python-pkgconfig, + python-pypika-tortoise, python-ruamel-yaml-clib, + python-tomlkit, python-tomli-w, python-tpm2-pytss, + python-tortoise-orm, python-uswid, qt6declarative, + qt6languageserver, qt6mqtt, qt6opcua, qt6shadertools, + qt6tools, qt6virtualkeyboard, qt6wayland, qt6websockets, + skopeo, sqlitecpp, swipl, swtpm, tig, tipidee, tpm2-openssl, + xilinx-prebuilt, zoxide + + Removed packages: beaglev-ddrinit, beaglev-secondboot, + beecrypt, cgic, dvb-apps, gamin + + New runtime tests: 4th, attr, atftp, bcc, btrfs, btrfsprogs, + dmidecode, go, gpsd, iproute2, kmod, lame, make, mariadb, + mawk, mosquitto, nmap, ntp, python-asn1crypto, python-pymupdf, + python-ruamel-yaml, rt-tests, swipl, vorbis-tools, xfsprogs + + Issues resolved: + - Are there plans to add raspberrypizero2w_64_defconfig config? + https://gitlab.com/buildroot.org/buildroot/-/issues/1 + - Some folders can't visit and some file is missing while running + https://gitlab.com/buildroot.org/buildroot/-/issues/2 + - wpewebkit build fails on ARM Neon + https://gitlab.com/buildroot.org/buildroot/-/issues/3 + - TAR-1.35 will not build for target (host-variant will build) + https://gitlab.com/buildroot.org/buildroot/-/issues/4 + - package/xz without shared libraries breaks Python build + https://gitlab.com/buildroot.org/buildroot/-/issues/5 + - unable to build - 404 at sources.buildroot.net + https://gitlab.com/buildroot.org/buildroot/-/issues/10 + - OpenSSH 9.8 broken + https://gitlab.com/buildroot.org/buildroot/-/issues/11 + - Update Openssh to Version 9.8p1 (CVE-2024-6387) in Long Term + Support Release 2024.02.x + https://gitlab.com/buildroot.org/buildroot/-/issues/14 + - Toolchain (host-gcc-final-14.1.0) build failure with + y2038/BR2_TIME_BITS_64 enabled + https://gitlab.com/buildroot.org/buildroot/-/issues/16 + - building go/golang gives error + https://gitlab.com/buildroot.org/buildroot/-/issues/18 + - GCC 13.3 is missing + https://gitlab.com/buildroot.org/buildroot/-/issues/20 + - package containerd update to avoid hanging docker exec + commands + https://gitlab.com/buildroot.org/buildroot/-/issues/21 + - "BR2_EXTERNAL broken missing srctree error Config.in" + https://gitlab.com/buildroot.org/buildroot/-/issues/24 + - Can't subscribe buildroot mailing list + https://gitlab.com/buildroot.org/buildroot/-/issues/25 + +2024.05.3, released September 9th, 2024 + + Important / security related fixes. + + A large number of GCC 14.x compilation fixes and additional + runtime tests. + + Infrastructure: + - Be more robust against text files (for package hashes and + users) incorrectly missing a terminating newline. + + - Fix various issues with the pkg-kconfig infrastructure and + per-package-directories builds + (BR2_PER_PACKAGE_DIRECTORIES). + + Updated/fixed packages: aer-inject, am335x-pru-package, + apache, apr, apr-util, attr, augeas, autossh, bandwidthd, + bcusdk, boost, brcm-patchram-plus, btrfs-progs, busybox, + can-utils, coreutils, cpuload, cryptsetup, cwiid, dhrystone, + dvb-apps, elfutils, faifa, fetchmail, ffmpeg, fluent-bit, + fluidsynth, freerdp, gcc, gcc-bare-metal, gdb, gnutls, gpsd, + hiawatha, hostapd, htop, ibm-sw-tpm2, intel-microcode, iperf3, + iproute2, ksmbd-tools, libcli, libcoap, libcurl, libest, + libfreefare, libgtk3, libngs, libpwquality, libressl, libupnp, + libxml2, libxslt, lrzsz, mdio-tools, micropython, + mjpg-streamer, mokutil, mpir, ncftp, nginx, nodejs, odb, + open-iscsi, openldap, openswan, openvpn, pistache, procps-ng, + python-django, quotatool, rtty, ruby, sconeserver, speex, + swaybg, tar, tftpd, tinyssh, uclibc, uclibc-ng-test, unbound, + uuu, vorbus-tools, wpewebkit, zfs, zsh + + Issues resolved: + - TAR-1.35 will not build for target (host-variant will build) + https://gitlab.com/buildroot.org/buildroot/-/issues/4 + - Toolchain (host-gcc-final-14.1.0) build failure with + y2038/BR2_TIME_BITS_64 enabled + https://gitlab.com/buildroot.org/buildroot/-/issues/16 + +2024.05.2, released August 14th, 2024 + + Important / security related fixes. + + Various minor improvements to utils/check-package + + Defconfigs: Add download hashes for chromebook-elm, + chromebook-snow and stm32mp157a_dk1 + + Updated/fixed packages: android-tools, bcc, bitcoin, boost, + btrfs-progs, c-ares, cdrkit, check, containerd, directfb, + dump1090, ed, exim, fail2ban, frotz, fwts, gcc, gdb, go, gpm, + kexec, libarchive, libgeos, libressl, llvm, mupdf, ncftp, + nodejs, ntpsec, octave, openssh, pppd, python-mupdf, + python-ruamel-yaml, qt5webkit, rawk-hawkbit-updater, + rtl8188eu, snappy, squid, sunxi-tools, syslinux, systemd, + tcf-agent, tftpd, ubus, util-linux, uvw, webkitgtk, wolfssl, + wpewebkit, x265, xlib_libxshmfence, xvisor + + Issues resolved (http://bugs.uclibc.org): + + #15231: gcc --help -v doesn't work correctly with gcc>=10 and.. + +2024.05.1, released July 13th, 2024 + + Important / security related fixes. + + Infrastructure: Ensure support/scripts/apply-patches can be + used outside Buildroot (regression in 2024.05). + + Defconfig: Pine64 rockpro64: Build ethernet driver in kernel + rather than as module. QEMU sh4: Change to initramfs to + workaround regression in QEMU. Visionfive2: Correct kernel + headers version + + Updated/fixed packages: apache, avro-c, daq, dav1d, + fluent-bit, ghostscript, glibc, libmad, libopenssl, + linux-firmware, mesa3d, network-manager, ntp, nut, octave, + openssh, openvpn, php, raspberrypi-usbboot, redis, sentry-cli, + tor, uuu, vlc, xmrig, znc + +2024.05, released June 12th, 2024 + + Various fixes. + + Infrastructure: Ensure a custom tar program specified with + make TAR=/path/to/custom/tar is used everwhere. + + Defconfigs: Fix build issues and runtime warnings for + Beaglebone qt5, Qemu ppc64/le pseries, TI am62x/am64x. + + Add hashes for Beaglebone qt5, imx8mn bsh sm s2 / pro, + stm32f429 disco XIP, stm32f769 disco sd. + + Updated/fixed packages: bc, collectd, composer, cvs, + docker-compose, flutter-engine, git, liblockfile, libzenoh-c, + lightning, nginx, p11-kit, python-lxml, python3, qt6base, + rrdtool, sofia-sip, syslog-ng, systemd, uclibc, unixodbc + +2024.05-rc2, released June 4th, 2024 + + Fixes all over the tree. + + Download: + - Dropped the (noop) --passive-ftp option from default wget + options for compatibility with wget2 + + - Fixed an issue with the generated archives (for + git/svn/cargo/go) when multiple packages share an archive + (E.G. linux vs linux-headers). + + Defconfigs: Fix build issue with binutils 2.41+ for + Acmesystems Aria / Arietta, add download hashes for a number + of defconfigs. Fix FIT external position for i.MX8 boards + + Updated/fixed packages: dnsmasq, docker-compose, doom-wad, + ebtables, esp-hosted, file, freeradius-client, + freeradius-server, go, kmod, libmnl, libnetfilter_acct, + libnetfilter_log, linux, luarocks, lynx, makedumpfile, + micropython, mtd, ncftp, newlib-bare-metal, nfacct, ntp, + octave, proftpd, qt5base, systemd, tpm2-tss, uboot-tools, + ulogd, vala, zip + + Removed packages: at91bootstrap, at91dataflashboot, + on2-8170-libs, on2-8170-modules + + Issues resolved (http://bugs.uclibc.org): + + #15973: imx8m bootloader image generation broken since update.. + #16093: kmod and gcc-14 build error + +2024.05-rc1, released May 30th, 2024 + + Fixes all over the tree and new features. + + Toolchains: + - Binutils 2.24 added, 2.39 dropped, 2.41 is now default + - GCC 14.x added, 11.x dropped, 13.x is now default + - uClibc-ng bumped to 1.0.48 + - Musl bumped to 1.2.5, adds riscv32 support + - Glibc bumped to 2.39, libcrypt no longer available (see + libxcrypt package) + - External glibc based toolchains no longer install libcrypt + files (except for libcrypt.so.1) to not conflict with the + libxcrypt package + - Bootlin external toolchains updated to 2024.02 + - Support for external toolchains using GCC version 14 + - Old external Codesourcery ARM/AARCH64 toolchains removed + - Old external Codesourcery niosII toolchain removed + - Old external Codescape mips toolchains removed + - Support for Linux 6.7 / 6.8 kernel headers added + + Architecture: + - Support for riscv32 noMMU added + - Internal toolchains for SPARC (re-)added + - Support for the Motorola m68k specific shared library + support for the FLAT binary format dropped, as support has + been removed from the Linux kernel as of v5.19. + + Download (notice, Buildroot generated tarballs have changed): + - Tar 1.35 is now required (will be automatically built if not + available on the host). Notice that tar 1.35 changes the way + devmajor/minor is stored, so tarballs created with 1.35 are + not binary identical to <1.35 + - The tarball creation logic has now been extended to + correctly handle when ACLs are set on the download + directory. + - An issue with conflicting git tags between (different + versions of) a package has been fixes + - Git attributes are now handled correctly + + Security: + - The /dev/shm entry in the default /etc/fstab used for + busybox and sysv init systems was missing the sticky bit, + allowing users to delete and replace other users files. + + Infrastructure: + - kconfig/menuconfig can now be built with GCC 14.x + - Git is now used to to fetch CVE data from the FKIE + repository to work around an issue with missing meta files + in the releases. + - utils/check-package now also checks if defconfigs use + BR2_DOWNLOAD_FORCE_CHECK_HASHES to ensure custom + bootloader/kernels are correctly downloaded. + + New defconfigs: Beagleboneai64, Orangepi Zero2w, Pine64 star64 + + New packages: basu, bats-assert, bats-file, bats-support, bcc, + bpftrace, export-subst, flutter-adaptive-scaffold-example, + flutter-animations-example, flutter-dynamic-layouts-example, + flutter-go-router-example, flutter-image-example, + flutter-markdown-example, flutter-packages, + flutter-rfw-local-example, go-bootstrap-stage3, igt-gpu-tools, + libgpiod2, libxmlb, libzenoh-c, lmdb, lua-lightningmdb, + lua-lsdbus, mokutil, python-email-validator, + python-expandvars, python-fastui, python-hid, python-jc, + python-mpmath, python-poetry-core, python-sympy, + python-yamllint, qbee-agent, starfive-spltool, ustreamer + + Removed packages: flutter-gallery, omxplayer, ti-k3-image-gen + + Issues resolved (http://bugs.uclibc.org): + + #14416: Mesa3D missing DRI3 support for various Gallium drivers + #15766: BR2_PACKAGE_WESTON_XWAYLAND -- 12.0.1 -- fails to build.. + #15997: Build Squid with GCC12.3 in Buildroot 2024.02 will fail + #16009: 'select' does not work with 'choice' + #16036: android-tools version is too old + #16075: Cannot use linux kernel extensions from external tree.. + +2024.02.13, released April 22nd, 2025 + + Important / security related fixes: + + - xserver_xorg-server & xwayland: CVE-2024-9632, CVE-2025-26594, + CVE-2025-26595, CVE-2025-26596, CVE-2025-26597, CVE-2025-26598, + CVE-2025-26599, CVE-2025-26600, CVE-2025-26601. + - exim: CVE-2025-30232. + - mbedtls: CVE-2025-27809, CVE-2025-27810. + - augeas: CVE-2025-2588. + - libarchive: CVE-2024-57970, CVE-2025-1632, CVE-2025-25724. + - libopenh264: CVE-2025-27091. + - libmodsecurity: CVE-2025-27110. + - tinyxml2: CVE-2024-50615. + - libndp: CVE-2024-5564. + - xwayland: CVE-2024-31080, CVE-2024-31081, CVE-2024-31083, + CVE-2024-9632, CVE-2025-26594, CVE-2025-26595, + CVE-2025-26596, CVE-2025-26597, CVE-2025-26598, + CVE-2025-26599, CVE-2025-26600, CVE-2025-26601. + - libfreeglut: CVE-2024-24258, CVE-2024-24259. + + Updated/fixed packages: + + libsoup3, linux, apr, mali-driver, + libcoap, python-fastapi, python-twisted, tor, linux-header, + linux-tools, libmodsecurity + + Test Improvements: + + - linux-tools: selftests: Add path containing BPF binary. + - testing: add git runtime test. + + Infrastructure updates/fixes: + + - DEVELOPERS: change arnout's address. + - DEVELOPERS: add Dario Binacchi for ti-k3-boot-firmware. + - support/download/svn: use 'svn info' whith LC_ALL=C. + - dillo: Fix an issue related to _SITE url for make show-info. + - kconfig: Handle backspace (^H) key. + - pkg-stats: add -v/--verbose option + + Build issues/problems solved for: + glibc, mesa3d-demos. + +2024.02.12, released March 24st, 2025 + + Important / security related fixes. + + Defconfigs: Octavo osd23mp1: Fix TF-A/Linux compilation after + move to newer toolchain versions. + + Updated/fixed packages: compiler-rt, exim, expat, fio, foot, + jbig2dec, libjxl, libxml2, musl, optee-os, php, postgresql, + prboom, python-typing-extensions, systemd, util-linux, + watchdogd, webkitgtk + +2024.02.11, released February 21st, 2025 + + Important / security related fixes. + + Updated/fixed packages: acpica, apache, assimp, asterisk, + bind, busybox, clamav, curlpp, dillo, elfutils, ffmpeg, foot, + freetype, git, gnutls, go, gpsd, heimdal, imagemagick, + intel-microcode, libbsd, libcurl, libopenssl, libtasn1, mdnsd, + mpg123, musl, nginx, nodejs, openjpeg, openssh, openvpn, + postgresql, python-django, redis, rsync, sdbus-cpp, socat, + tor, tzdata, uemacs, unbound, usbutils, webkitgtk, xen, zic, + zlog, zmqpp, zstd + + Issues resolved: + - OpenSSH 9.8 broken + https://gitlab.com/buildroot.org/buildroot/-/issues/11 + - samba4 build failed in master + https://gitlab.com/buildroot.org/buildroot/-/issues/86 + +2024.02.10, released January 9th, 2025 + + Important / security related fixes. + + Infrastructure: + + - Ensure CONFIG_TRIM_UNUSED_KSYMS is disabled when building + external Linux kernel modules + + Updated/fixed packages: apr, bc, cdrkit, cryptodev-linux, + freeipmi, gdb, gnupg2, gnutls, go, gobject-introspection, + grub2, gst-omx, gst1-devtools, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, iperf3, libcurl, libsha1, + libsndfile, libsoup3, libvirt, libxcrypt, linux, linux-pam, + mosquitto, netatalk, nettle, octave, opensc, perl, pixman, + procps-ng, python-django, python3, qt6base, samba4, skeleton, + subversion, tzdata, v4l2loopback, webkitgtk, wget, wireshark, + wpewebkit, zic + + Issues resolved: + - gdb package doesn't have a licence hash in the gdb.hash file + https://gitlab.com/buildroot.org/buildroot/-/issues/66 + - package/libsha1: Build failure with GCC 14 [-Wimplicit-int] + https://gitlab.com/buildroot.org/buildroot/-/issues/69 + - [2024.02.9] Mosquitto doesn't build + https://gitlab.com/buildroot.org/buildroot/-/issues/78 + +2024.02.9, released December 8th, 2024 + + Important / security related fixes. + + Updated/fixed packages: alsa-lib, android-tools, babeld, + bmap-tools, boost, ebtables, expat, fbv, foot, frr, gamin, + gnutls, intel-microcode, irssi, libcurl, libkrb5, libmodbus, + libvpl, linux-tools, lmbench, mbedtls, mosquitto, musl, + musl-compat-headers, nfs-utils, ntp, php, postgresql, + procps-ng, python-psycopg2, python-sip, qt6base, quagga, + rt-tests, sshguard, systemd, tiff, x11vnc + + Issues resolved: + - procps-ng: builderror in 2024.08 + https://gitlab.com/buildroot.org/buildroot/-/issues/38 + - fbv package download link is broken in long term support branch + https://gitlab.com/buildroot.org/buildroot/-/issues/73 + +2024.02.8, released November 14th, 2024 + + Important / security related fixes. + + Updated/fixed packages: apache, asterisk, bind, bootgen, criu, + file, fluidsynth, ghostscript, heimdal, intel-microcode, + jailhouse, jsoncpp, libarchive, libcurl, libldns, liblinear, + libmdbx, libopenh264, ltrace, lightning, nghttp2, ntp, php, + postgresql, procps-ng, python-pyqt5, ruby, sysvinit, tor, + wpebackend-fdo + + New packages: python-pyqt5-sip + +2024.02.7, released October 21th, 2024 + + Important / security related fixes. + + Per-package-directories fixes for the .gdbinit file and RPATH + fixups for SDK. + + utils/check-package: Also check for correct indentation of + help lines. + + A large number of typo fixes. + + Updated/fixed packages: aer-inject, armadillo, asterisk, + aumix, babeld, bind, botan, cache-calibrator, clamav, + comix-cursors, cryptsetup, cups, dovecot, dovecot-pigeonhole, + expat, fbset, genpart, glibc, gnu-efi, gnutls, go, grub2, + libarchive, libcuefile, libcurl, libglob, libgpg-error, + libilbc, libkcapi, libopenssl, libpcap, libuecc, linux-pam, + mosquitto, nginx, ntpsec, p910nd, php, postgresql, procps-ng, + proftpd, pure-ftpd, python-django, python-huepy, + python-sqlparse, python-unittest-xml-reporting, python3, + qt6base, qt6svg, rp-pppoe, sofia-sip, strongswan, szip, + tllist, unbound, wpebackend-fdo, wpewebkit, x264, xenomai, + xserver_xorg-server, zabbix + + New packages: go-bootstrap-stage3 + + Issues resolved: + - procps-ng: build failure when linking to systemd + https://gitlab.com/buildroot.org/buildroot/-/issues/28 + - orange pi 2w does not boot + https://gitlab.com/buildroot.org/buildroot/-/issues/36 + - glibc configure fails on aarch64 with mathvec SVE ACLE error + https://gitlab.com/buildroot.org/buildroot/-/issues/40 + - Kernel Build from Custom Git Repo fails with hash-error + https://gitlab.com/buildroot.org/buildroot/-/issues/46 + - package/linux-pam: Remove unneeded flex dependency + https://gitlab.com/buildroot.org/buildroot/-/issues/47 + +2024.02.6, released September 9th, 2024 + + Important / security related fixes. + + Added a large number of additional runtime tests. + + Infrastructure: + - Be more robust against text files (for package hashes and + users) incorrectly missing a terminating newline. + + - Fix various issues with the pkg-kconfig infrastructure and + per-package-directories builds + (BR2_PER_PACKAGE_DIRECTORIES). + + Updated/fixed packages: aer-inject, am335x-pru-package, + apache, apr, apr-util, attr, boost, btrfs-progs, busybox, + cryptsetup, dropbear, elfutils, fetchmail, ffmpeg, fluidsynth, + freerdp, gcc, gdb, gnutls, gpsd, hiawatha, hostapd, htop, + intel-microcode, iperf3, ksmbd-tools, libcoap, libcurl, + libest, libgtk3, libpwquality, libressl, libupnp, libxml2, + libxslt, lrzsz, mdio-tools, micropython, mjpg-streamer, mpir, + ncftp, nginx, nodejs, open-iscsi, openldap, openvpn, pistache, + procps-ng, python-django, ruby, speex, swaybg, tinyssh, + uclibc, uclibc-ng-test, unbound, uuu, wpewebkit, zfs + + Issues resolved: + - Toolchain (host-gcc-final-14.1.0) build failure with + y2038/BR2_TIME_BITS_64 enabled + https://gitlab.com/buildroot.org/buildroot/-/issues/16 + +2024.02.5, released August 14th, 2024 + + Important / security related fixes. + + Various minor improvements to utils/check-package + + Defconfigs: Add download hashes for chromebook-elm, + chromebook-snow and stm32mp157a_dk1 + + Updated/fixed packages: bitcoin, boost, btrfs-progs, c-ares, + cdrkit, check, containerd, directfb, ed, exim, fwts, gcc, gdb, + go, kexec, libarchive, libgeos, libressl, mupdf, nodejs, + ntpsec, octave, openssh, pppd, python-mupdf, + python-ruamel-yaml, qt5webkit, rauc-hawkbit-updater, snappy, + squid, sunxi-tools, syslinux, systemd, tcf-agent, ubus, + util-linux, uvw, webkitgtk, wolfssl, wpewebkit, x265, + xlib_libxshmfence, xvisor + + Issues resolved (http://bugs.uclibc.org): + + #15231: gcc --help -v doesn't work correctly with gcc>=10 and.. + +2024.02.4, released July 13th, 2024 + + Important / security related fixes. + + Infrastructure: Ensure a custom tar program specified with + make TAR=/path/to/custom/tar is used everwhere. + + Defconfig: Pine64 rockpro64: Build ethernet driver in kernel + rather than as module. + + Updated/fixed packages: apache, composer, daq, fluent-bit, + ghostscript, glibc, liblockfile, libmad, libopenssl, mesa3d, + network-manager, ntp, octave, openssh, openvpn, php, python3, + qt6base, raspberrypi-usbboot, redis, sentry-cli, systemd, tor, + vlc, xmrig, znc + +2024.02.3, released June 10th, 2024 + + Important / security related fixes. + + Misc: + - Fixed a number of compilation issues for hosts using GCC + 14.x, including for kconfig. + + Download: + - Drop redundant --passive-ftp from default wget options and + migrate a number of packages using FTP upstreams to HTTP(S) + for compatibility with wget2 which does not have FTP support + + - Ensure downloads are correctly shared for host packages that + try to do so using _DL_SUBDIR and ensure the correct + toplevel directory name is used in generated tarballs when + downloads are shared. + + Arch: Enable SSE2 support for x86 Pentium M variant. + + Defconfigs: Orangepi PC/R1, Raspberrypi zero2w, Sipeed + licheepi nano, Wandboard: Fix compilation issues. PC x86-64 + bios/efi: add wireless regdb to fix kernel warning during + boot, iMX.8 boards: Adjust FIT external data position to match + imx-mkimage changes, fixing boot issues. + + Updated/fixed packages: am33x-cm, apcupsd, + arm-trusted-firmware, binutils-bare-metal, bpftool, catch2, + ccache, cjson, clamav, cog, coreutils, cryptodev-linux, + dhcpcd, dmraid, dnsmasq, docker-cli, docker-compose, + docker-engine, doom-wad, duma, elf2flt, ebtables, elfutils, + evemu, file, fluidsynth, freeradius-client, freeradius-server, + freerdp, fwts, gcc, gcc-bare-metal, git, gnuplot, go, + gr-osmosdr, gst1-plugins-good, hidapi, imagemagick, + intel-gmmlib, ivi-homescreen, janus-gateway, kexec, kmod, + kodi, libarchive, libdrm, libedit, libffi, libglib2, libhtp, + libjwt, libkrb5, libmanette, libmdbx, libmnl, + libnetfilter_acct, libnetfilter_log, libnpth, libopenssl, + libpng, libuhttpd, liburiparser, libutempter, libvncserver, + libwpe, lightning, linux-firmware, linux-pam, lua-cffi, + luajit, lvm2, lynx, mariadb, mesa3d, micropython, minisign, + musl, mutt, ncftp, network-manager, newlib-bare-metal, nfacct, + nfs-utils, octave, openjpeg, openocd, oprofile, + perl-dbd-mysql, php, postgresql, pppd, privoxy, procps-ng, + proftpd, proj, putty, python-ml-dtypes, python-pillow, + python-rds-py, qemu, qt5base, redis-plus-plus, rtl8189fs, + ruby, samba4, shadow, smcroute, speech, squid, sscep, + suricata, swupdate, systemd, ti-sgx-km, tinycbor, tinyproxy, + tor, tpm2-tss, ttyd, uboot-tools, ulogd, vala, weston, + wpewebkit, x11vnc, zbar, zeromq, zfs, zip, zxing-cpp + + Issues resolved (http://bugs.uclibc.org): + + #15766: BR2_PACKAGE_WESTON_XWAYLAND -- 12.0.1 -- fails to build.. + #15973: imx8m bootloader image generation broken since update.. + #16075: Cannot use linux kernel extensions from external tree.. + #16093: kmod and gcc-14 build error + +2024.02.2, released May 7th, 2024 + + Important / security related fixes. + + Security: The /dev/shm entry in the default /etc/fstab used + for busybox and sysv init systems was missing the sticky bit, + allowing users to delete and replace other users files. + + Defconfigs: Mangopi mq1rdw1: Lock kernel headers to 6.6.x. + + Updated/fixed packages: apache, botan, + brcmfmac_sdio-firmware-rpi, clamav, cmake, containerd, + crucible, dmenu-wayland, dmraid, docker-cli, docker-engine, + domoticz, fmc, freeipmi, gdal, gdb, giflib, gnupg2, go, + google-breakpad, googlefontdirectory, imx-gpu-viv, inih, + libassuan, libblockdev, libcurl, libdrm, libgpg-error, + libksba, libnpth, libressl, libtracefs, lxc, mbedtls, mesa3d, + oatpp, opensc, oprofile, perl-net-ssleay, petitboot, + php-xdebug, psplash, python-pypng, python-segno, + python-service-identity, python3, skeleton-init-sysv, systemd, + tcf-agent, tiff, uuu, wolfssl, xmrig, zic + + Issues resolved (http://bugs.uclibc.org): + + #14416: Mesa3D missing DRI3 support for various Gallium drivers + #16009: 'select' does not work with 'choice' + #16036: android-tools version is too old + +2024.02.1, released March 26th, 2024 + + Important / security related fixes. + + Toolchain: Dropped old Codesourcery ARM / AARCH64 and + Codescape MIPS external toolchains as they use old Glibc + versions not compatible with 64-bit time_t + + Defconfigs: Starfive visionfive2: Use correct genimage + configuration. TI am62x_sk / am64_sk: Use correct optee-os + platform setting and use a fixed ti-k3-r5-loader version. + + Infrastructure: Use git to fetch CVE data from the FKIE + repository to work around an issue with missing meta files in + the releases. + + Updated/fixed packages: axel, bash, bitcoin, botan, busybox, + containerd, cryptsetup, cvs, docker-compose, docker-engine, + ell, expat, giflib, gmp, go, harfbuzz, intel-gmmlib, + intel-mediadriver, iwd, kodi, kodi-pvr-hts, libcgroup, libdrm, + libgit2, libkrb5, libnfs, libunwind, libvpl, + libtorrent-rasterbar, libxml2, linux, mariadb, mesa3d, + mmc-utils, msmtp, multipath-tools, neon, onevpl-intel-gpu, + openssh, openvpn, osm2pgsql, owfs, php, poco, policycoreutils, + postgis, privoxy, pulseaudio, pure-ftpd, putty, + python-configshell-fb, python-rtslib-fb, rauc, restorecond, + spice, squid, targetcli-fb, tzdata, util-linux, vdr, xmrig, + xvisor, zic + + Issues resolved (http://bugs.uclibc.org): + + #15997: Build Squid with GCC12.3 in Buildroot 2024.02 will fail + +2024.02, released March 5th, 2024 + + Various fixes. + + Updated/fixed packages: botan, conmon, dash, efivar, expat, + fluent-bit, gcc, gst1-vaapi, libcoap, libselinux, liburing, + libva, libxml2, ltp-testsuite, luvi, newlib-bare-metal, + nginx-naxsi, octave, openblas, openvmtools, parted, poco, + powertop, python-aiohttp, python-cheroot, python-django, + python-grpcio, rauc, rauc-hawkbit-updater, rtl8822cs, rust, + sdl2, shadow, spirv-tools, strace, strongswan, tar, tllist, + vim + + Removed packages: mysql (virtual), oracle-mysql, + python-setuptools-scm-git-archive + +2024.02-rc2, released March 1st, 2024 + + Fixes all over the tree. + + Infrastructure: Various fixes for pkg-stats after moving to + the FKIE CVE feed and support for older python/ijson versions. + + Updated/fixed packages: ccache, dracut, erlang, freetype, + libheif, libpthsem, micropython, newlib-bare-metal, openssh, + poco, python3, redis, rhash, shim, squid, syslinux + +2024.02-rc1, released February 25th, 2024 + + Fixes all over the tree and new features. + + Toolchain: + + - GDB: Add version 14.1, default to 13.2. + + - uClibc-ng updated to 1.0.45 + + - Bootlin external toolchains updated to 2023.11-1, moving the + stable toolchains to GCC 12.3 / binutils 2.40 / GDB 13.2 / + glibc 2.38 / musl 1.2.4 / uClibc-ng 1.0.45 + + - Add support for building a bare metal toolchain suitable for + building firmware for certain (co-)processors, possibly + using a different CPU architecture than the main Buildroot + configuration. + + Default optimization level changed from optimize for size + (-Os) to optimize for speed (-O2). + + Support: Use the Fraunhofer FKIE JSON files for CVE matching + now that NVD is about to deprecate its feeds. + + New defconfigs: AMD Zynqmp kria kd240 and kr260, zcu104, Avnet + RZBoard V2L, Mangopi MQ1RDW2, NXP i.MX 93 11x11 EVK, QEMU + Riscv64 virt-efi, TI AM574x Industrial Development Kit + + Removed defconfigs: Zynq qmtech + + New packages: binutils-bare-metal, dmenu-wayland, fcft, foot, + firmware-ele-imx, ivi-homescreen, libjwt, libtraceevent, + libtracefs, libutempter, lua-ansicolors, lua-argparse, + lua-conciseserialization, lua-ubjson, minisign, + newlib-bare-metal, python-aiosqlite, python-annotated-types, + python-anyio, python-asyncssh, python-bitarray, + python-cachetools, python-contourpy, python-decouple, + python-fastapi-sessions, python-fastapi, + python-google-api-core, python-google-auth, + python-googleapis-common-protos, python-grpc-requests, + python-grpcio-reflection, python-grpcio, python-httpcore, + python-httpx, python-matplotlib-inline, python-ml-dtypes, + python-multipart, python-pydantic-core, python-pypng, + python-starlette, python-tcolorpy, python-trafaret, + python-urwid-readline, python-uvicorn, rlwrap, tllist + + Removed packages: davinci-bootcount (renamed to + uboot-bootcount), flickcurl, gmpc, libmpd, micropython-lib, + python-crossbar, python-pygame, tinymembench + + Issues resolved (http://bugs.uclibc.org): + + #10096: SH4 toolchain does not build Linux kernel magicpanelr2_.. + #15889: please update meson + #15898: Unable to boot syslinux.efi produced by buildroot (EFI 64-.. + #15910: USB keyboard is not working by default "raspberrypicm4io_.. + #15952: Grub fails to load large rootfs files + +2023.11.3, released March 26th, 2024 + + Important / security related fixes. + + Defconfigs: Starfive visionfive2: Use correct genimage + configuration. + + Updated/fixed packages: bind, bitcoin, botan, c-ares, clamav, + conmon, containerd, cvs, dash, dnsmasq, docker-engine, dracut, + ell, expat, fluent-bit, freetype, gcc, ghostscript, gmp, + gnupg2, go, google-breakpad, gst1-python, gst1-vaapi, iwd, + libcoap, libcurl, libdnet, libgit2, libheif, libkrb5, + libmodsecurity, libnfs, libopenssl, libselinux, libunwind, + liburing, libuv, libva, libxml2, ltris, lua-http, luvi, + mmc-utils, nginx-naxsi, nodejs, octave, openssh, openvmtools, + parted, petitboot, php, poco, postgresql, powertop, privoxy, + pure-ftpd, putty, python-cheroot, python-configshell-fb, + python-django, python-rtslib-fb, python3, + rauc-hawkbit-updater, redis, redis-plus-plus, rsync, + s390-tools, sdl2, shim, spice, spirv-tools, squid, strace, + strongswan, sudo, systemd, targetcli-fb, uhd, unbound, + util-linux, v4l2loopback, vim, webkitgtk, wpewebkit, xvisor, + zlib-ng + + Issues resolved (http://bugs.uclibc.org): + + #15997: Build Squid with GCC12.3 in Buildroot 2024.02 will fail + +2023.11.2, released March 1st, 2024 + + Important / security related fixes. + + Added CPE identifiers for a large number of packages. + + Updated/fixed packages: bayer2rgb-neon, brltty, c-ares, cog, + containerd, cpio, crda, criu, darkhttpd, davinci-bootcount, + dbus, depot-tools, dhcpcd, domoticz, environment-setup, expat, + faad2, falcosecurity-libs, flex, flutter-engine, + flutter-gallery, flutter-pi, flutter-sdk-bin, + freeradius-server, freerdp, frr, gesftpserver, glibc, gnutls, + go, gst1-devtools, gst1-libav, gst1-python, gst1-vaapi, + gst-omx, gstreamer1, haproxy, hiredis, joe, json-c, leptonica, + libcurl, libp11, libuwsc, libvips, libzenoh-pico, + linux-firmware, linux-headers, localedef, lua-http, lvm2, + lynx, mbedtls, micropython, minizip, mpfr, netatalk, ngrep, + onevpl, opencv4, opencv4-contrib, openssh, opus, petitboot, + php, python-aiohttp, python-bitarray, python-bitstring, + python-esptool, python-gunicorn, python-hpack, + python-html5lib, python-lmdb, python-mako, python-numpy, + python-oauthlib, python-sqlparse, python-wheel, qt5base, + qt6base, redis, runc, sdl2, sqlite, syslog-ng, sysstat, + util-linux, vulkan-loader, webkitgtk, weston, wireless-regdb, + wlroots, wpewebkit, xlib_libXpm, xterm, xwayland, yasm + + New packages: python-bitarray + + Issues resolved (http://bugs.uclibc.org): + + #10096: SH4 toolchain does not build Linux kernel magicpa.. + #15952: Grub fails to load large rootfs files + +2023.11.1, released January 15th, 2024 + + Important / security related fixes. + + Infrastructure: + + - Download: Revert a permission fixup step in the tarball + creation logic, which lead to a hash mismatch issue in two + cargo-vendored packages, ripgrep and sentry-cli. + + - Build: Pass GIT_DIR=. in the environment (through + HOST_MAKE_ENV/TARGET_MAKE_ENV) to the build steps to + workaround packages trying to detect if they are building in + a git checkout and getting confused when building in a sub + directory of a Buildroot git checkout. + + Defconfigs: Rock5b: Add download hashes for U-Boot and Linux + + Updated/fixed packages: apcupsd, arm-trusted-firmware, botan, + cjson, criu, cryptodev-linux, cups, dahdi-linux, dahdi-tools, + dbus, docker, dropbear, duktape, edk2, erlang, exim, faad2, + freeswitch, gcc, gdal, gdb, giflib, glibc, gnuplot, gnutls, + go, google-breakpad, gst-omx, gstd, gst1-devtools, gst1-libav, + gst1-plugins-bad, gst1-plugins-base, gst1-plugins-good, + gst1-plugins-ugly, gst1-python, gst1-rtsp-server, gst1-vaapi, + gstreamer1, gstreamer1-editing-services, ipcalc, jq, + json-for-modern-cpp, ksmbd-tools, libaio, libarchive, + libcamera, libcamera-apps, libcap-ng, libcgroup, libcurl, + libde265, libebml, libgtk3, libheif, libiec61850, libndns, + libostree, libraw, libsigsegv, libssh, libssh2, libuev, + libwebsockets, libzenoh-pico, liquid-dsp, lvm2, madplay, + mesa3d, micropython, minizip, mp4v2, nushell, + onevpl-intel-gpu, opensc, openssh, optee-client, orc, php, + pipewire, postgis, postgresql, proftpd, putty, python-brotli, + python-pysensors, python-sip, python-werkzeug, shim, squid, + strongswan, sway, tinyssh, tor, transmission, tree, udev, + uftp, valijson, wireshark, wlroots, wolfssl, + xserver_xorg-server, xwayland, + +2023.11, released December 4th, 2023 + + Various fixes. + + Defconfigs: Toradex apalis i.mx6: Add download hashes for + Linux and U-Boot. + + Updated/fixed packages: cog, freescale-imx, imagemagick, + libde265, libmemcached, libpjsip, libusb-compat, + libzenoh-pico, linux-tools, lttng-modules, mariadb, monit, + openfpgaloader, perl, putty, python-numpy, rtty, speechd, + wireshark, xenomai, xtables-addons, zfs + +2023.11-rc2, released November 29th, 2023 + + Fixes all over the tree. + + Defconfigs: Raspberry pi: Fix bluetooth autoprobing, + rockpro64: Fix U-Boot build, bump rootfs size, vim3: Use + device tree from Linux rather than from U-Boot. + + Updated/fixed packages: erlang, exfatprogs, flutter-engine, + flutter-sdk-bin, gcc, gsl, intel-microcode, janet, + kodi-pvr-hts, libgdiplus, libpam-tacplus, libxml2, + libzenoh-pico, memcached, motion, netsnmp, nodejs, oatpp, + openrc, opensc, perl, postgresql, python-msgpack, qemu, + refpolicy, samba4, squid, vim, vlc, xwayland, zfs + + Issues resolved (http://bugs.uclibc.org): + + #15856: Using BR2_CONFIG= on a different file-system... + +2023.11-rc1, released November 14th, 2023 + + Fixes all over the tree and new features. + + Architecture: MIPS IV (re-)added. The mutually exclusive ABI + selection dropped for PowerPC. + + Toolchain: + + - Support for GDB 13.2, make GDB 12.x the default + + - Glibc bumped to 2.38 + + - Bootlin external toolchains updated to 2023.08, bringing + support for Aarch64 BE with musl. + + - Motorola 68K w/MMU support added for glibc and musl. + + - License info added for GCC + + Infrastructure: + + - The CMake infrastructure now supports building packages with + ninja instead of make (based on _CMAKE_BACKEND). + + - The RPATH fixup done at the end of the build is now done in + parallel (according to BR2_JLEVEL). + + - Packages downloaded from Subversion repos no longer + retrieves svn:externals unless _SVN_EXTERNALS is set to + YES. + + - Packages where a free-form version/site can be specified + (E.G. Linux, U-Boot, ..) can now have the corresponding + tarballs of these custom downloads checked by the download + infrastructure based on .hash files in the global patch + directory. These hashes are optional unless + BR2_DOWNLOAD_FORCE_CHECK_HASHES is enabled. + + A utils/add-custom-hashes helper script has been added to + assist in managing such hash files. + + - Various improvements to utils/docker-run to handle external + (BR2_DL_DIR defined in environment) download directory, + proxy configuration, SELinux and out of tree (O=) builds. + + New defconfigs: AMD Zynq ZC702, ASUS Tinker-s rk3288, ICnova + A20-adb4006, Khadas vim3, Libre Computer ROC-RK3399-PC, + Microchip PolarFire SoC Icicle Kit, NXP imxrt1050-evk, Pine64 + pinecube, Sipeed LicheePi Nano, Synopsys ARC700 nSIM, TI + SK-AM62 and TI SK-AM64 + + New packages: ti-k3-boot-firmware, ti-k3-image-gen, + amlogic-boot-fip, criu, cutekeyboard, depot-tools, fft-eval, + firewalld, flutter-engine, flutter-gallery, flutter-pi, + flutter-sdk-bin, ledmon, libcanberra, libnvme, libsoup3, + libspdm, libucontext, libzenoh-pico, + microchip-hss-payload-generator, nodejs-bin, nushell, + nvidia-persistenced, oatpp, onevpl-intel-gpu, onevpl, + python-calver, python-distlib, python-jeepney, + python-jsonschema-specifications, python-kmod, + python-pysensors, python-referencing, python-segno, + python-tftpy, python-trove-classifiers, + python-types-python-dateutil, python-versioneer, + qoriq-fm-ucode, qt6core5compat, rauc-hawkbit-updater, + rust-bindgen, spirv-headers, spirv-tools, vulkan-loader, + vulkan-tools + + Removed packages: google-material-design-icons, libtextstyle, + python-pyxb + + Issues resolved (http://bugs.uclibc.org): + + #14366: Nodejs fails with "version `GLIBC_2.34' not found".. + #14741: e2fsck is failing during cronjob build where fail... + #15628: Missing dependencies in BR2_PACKAGE_PYTHON_MAKO + #15733: xfsprogs outdated + #15772: lz4 failed to compile with gcc 10.4.0 + #15778: strace comilation fails on Fedora39/gcc13 + #15787: atmel_sama5d3_xplained_mmc_defconfig: Missing... + #15790: at91sam9x5ek_dev_defconfig: Missing... + #15808: connman is not supported on musl + #15814: C++ not supported by bootlin toolchain + #15820: make linux-menuconfig does not modify correct .config.. + #15823: Installing nodejs modules with native extensions ... + #15826: nodejs modules with native extensions fail to install + #15835: Incompatibility between network-manager and libcurl 8.4 + +2023.08.4, released December 4th, 2023 + + Important / security related fixes. + + Defconfigs: Raspberrypi: Fix DT overlay for autoproving of + bluetooth driver, Toradex apalis i.mx6: Add download hashes + for Linux and U-Boot. + + Updated/fixed packages: gcc, erlang, exfatprogs, gsl, + imagemagick, intel-microcode, libde265, libmemcached, + libpjsip, libxml2, mariadb, memcached, motion, netsnmp, perl, + postgresql, putty, rtty, samba4, speechd, squid, vim, vlc, + xenomai, xtables-addons, zfs + + Issues resolved (http://bugs.uclibc.org): + + #15856: Using BR2_CONFIG= on a different file-system... + +2023.08.3, released November 14th, 2023 + + Important / security related fixes. + + Per-package builds: Unbreak SDK relocation logic. Only drop + the hard links for the final host / target directory, fixing a + build time / size regression in 2023.08.2. + + Packages where a free-form version/site can be specified + (E.G. Linux, U-Boot, ..) can now have the corresponding + tarballs of these custom downloads checked by the download + infrastructure based on .hash files in the global patch + directory. These hashes are optional unless + BR2_DOWNLOAD_FORCE_CHECK_HASHES is enabled. + + A utils/add-custom-hashes helper script has been added to + assist in managing such hash files. + + Defconfigs: Avenger96: Downgrade to TF-A v2.5 to fix boot + issue since 2023.08, stm32mp157a-dk1, stm32mp157c-dk2: Unbreak + TF-A build, stm32mp157c-odessey: Use a fixed TF-A version for + reproducibility + + Updated/fixed packages: apache, arm-trusted-firmware, aufs, + aufs-util, azure-iot-sdk, casync, cjson, clamav, conmon, + cups-filters, dhcpcd, docker-cli, docker-engine, + freeradius-server, go, inadyn, ksmbd-tools, kvmtool, + libgdiplus, libgeos, libmemcached, libmdbx, libopenssl, + libosmium, libtommath, libupnp, libzlib, lightning, linux-pam, + lxc, mender, minizip-zlib, mpd, mxsldr, nano, nettle, + network-manager, nghttp2, nodejs-src, opencv4, + opencv4-contrib, openjdk-bin, openvpn, opusfile, paho-mqtt-c, + pango, perl-lwp-protocol-https, petitboot, php, pistache, + python-django, python-pycryptodomex, python-urllib3, + python-web2py, rabbitmq-c, redis, reproc, + riscv64-elf-toolchain, sedutil, snort3, suricata, tar, tiff, + tor, traceroute, vim, websocketpp, wireshark, wolfssl, + xdg-dbus-proxy, xen, xlib_libX11, xlib_libXpm, zabbix, zchunk + + Issues resolved (http://bugs.uclibc.org): + + #14741: e2fsck is failing during cronjob build where fail... + #15772: lz4 failed to compile with gcc 10.4.0 + #15787: atmel_sama5d3_xplained_mmc_defconfig: Missing... + #15790: at91sam9x5ek_dev_defconfig: Missing... + #15820: make linux-menuconfig does not modify correct .config.. + #15823: Installing nodejs modules with native extensions ... + #15835: Incompatibility between network-manager and libcurl 8.4 + +2023.08.2, released October 15th, 2023 + + Important / security related fixes. + + Defconfigs: Freescale ARM: Add ATF patch to fix build issue + with binutils 2.39+. QEMU Aarch64-virt: Enable ACPI support + for EDK2. Visionfive2: Bump kernel to fix build issue with GCC + 13. + + Per-package builds: Do not use hard links for host / target + dirs, fixing issues with package rebuilds or post-build + scripts modifications. + + Infrastructure: Explicitly disable shuffle mode for Make >= + 4.4 where needed. + + Urandom-scripts: Move seedrng init script to S01 for earlier + random number entrophy initialization. + + Updated/fixed packages: at91bootstrap, batman-adv, bind, cups, + efl, enlightenment, exim, gcc, glibc, gnu-efi, go, gptfdisk, + grub2, gst-omx, gst1-devtools, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rstp-server, gst1-rtsp-vaapi, gstreamer1, + gstreamer1-editing-services, gtkmm3, libcue, libcurl, + libfastjson, libhtp, libmodplug, librsvg, libvpx, libyang, + linux-pam, linux-tools, mbedtls, mosquitto, mutt, neon, + netsnmp, nmap, nodejs, olsr, openblas, opkg-utils, php, pound, + powertop, python-mako, python3, rauc, rockchip-mali, samba4, + sslh, stress-ng, suricata, syslog-ng, systemd, tar, unifdef, + urandom-scripts, usbguard, webkitgtk, wilc-driver, + wireless-regdb, wpewebkit + + Issues resolved (http://bugs.uclibc.org): + + #15628: Missing dependencies in BR2_PACKAGE_PYTHON_MAKO + #15808: connman is not supported on musl + #15814: C++ not supported by bootlin toolchain + +2023.08.1, released September 27th, 2023 + + Important / security related fixes. + + Updated/fixed packages: agentpp, asterisk, bind, binutils, + conmon, cpio, docker-cli, docker-engine, e2fsprogs, erlang, + esp-hosted, expect, fail2ban, fio, freerdp, fstrcmp, gcc, gdb, + ghostscript, go, haproxy, hwloc, icu, irssi, libcoap, libcurl, + libde265, libheif, libiec61850, libjxl, libopenssl, libpjsip, + libqb, libraw, libssh, libuv, lldpd, mdadm, mutt, ne10, + netatalk, nodejs, nut, openblas, opensc, openvpn, petitboot, + php, pound, pppd, python-pytest, python3, qt5, + rtl8812au-aircrack-ng, sngrep, stress-ng, strongswan, sysstat, + tar, tcl, timescaledb, util-linux, vim, webkitgtk, webp, + wireshark, xserver_xorg-server, xterm, zbar, zxing-cpp, + zynaddsubfx + + Issues resolved (http://bugs.uclibc.org): + + #14366: Nodejs fails with "version `GLIBC_2.34' not found".. + #15787: atmel_sama5d3_xplained_mmc_defconfig: Missing... + #15790: at91sam9x5ek_dev_defconfig: Missing... + +2023.08, released September 6th, 2023 + + Various fixes. + + Defconfigs: BeagleV: Fix build issue with binutils >= + 2.38. Hifive unleashed: U-Boot needs OpenSSL + + Updated/fixed packages: dt, grub2, heirloom-mailx, libgpgme, + libtommath, libxcrypt, log4cxx, mesa3d-demos, openjdk, + openjdk-bin, pam, pcm-tools, pixman, poppler, python-django, + python-ipython, python-pip, python-tornado, zeromq + + New packages: libdecor + +2023.08-rc3, released August 29th, 2023 + + Fixes all over the tree. + + Defconfigs: Avenger96: Bump ATF to 2.9 to fix build warnings + with binutils >= 2.39. CI20: Bump kernel to 5.4.254 to fix + build issue with GCC 12. Hifive unleashed: Add missing + pylibfdt dependency / bump kernel to 5.10.109 to fix build + issue GCC 12. PC x86-64 bios/elf: Add missing libelf + dependency. Sipeed maix sdcard: Fix build issues with + binutils >= 2.38 + + Updated/fixed packages: check, clamav, cups, esp-hosted, + f2fs-tools, freeswitch, gcc, gmp, libks, libmodsecurity, + mosquitto, mpg123, network-manager, php, postgresql, python3, + ramspeed, rtl8189fs, rust, rust-bin, samba4, screen, zlib-ng + +2023.08-rc2, released August 20th, 2023 + + Fixes all over the tree. + + Toolchains: Only show external toolchains based on a GCC + version supporting the selected architecture + variant. Correctly mark Codescape MIPS external toolchains as + not providing a gdbserver. + + Defconfigs: Andes ae350_45: Drop custom U-Boot march setting, + breaking builds with GCC 12. Nitrogen*: Bump + U-Boot/Linux. Nitrogen8*: Use ATF 2.8, fixing array bounds + errors. QEMU m68k: Add Linux patch to fix build issue with + binutils >= 2.41. Raspberrypi*: Enable console on HDMI when + using systemd as well. + + Updated/fixed packages: at91dataflashboot, aubio, berkeleydb, + bwm-ng, ccache, check, chocolate-doom, compiler-rt, composer, + conmon, connman, dav1d, diffutils, dracut, e2fsprogs, elf2flt, + esp-hosted, flite, gcc, gdb, go-bootstrap-stage2, + intel-microcode, kodi-imagedecoder-heif, less, libcoap, + libedit, libglib2, libksba, liblo, libserial, log4cxx, lsof, + luvi, meson, mosquitto, mpd, mpv, mv-ddr-marvell, nftables, + ntpsec, openssh, optee-test, perftest, python-botocore, + python-docker, python-pylibfdt, python3, screenfetch, + sentry-cli, sngrep, stellarium, trinity, tvheadend, uboot, + uclibc, util-linux, xfsprogs, yajl + + New packages: nftables-python, xlib_libXpresent + + Removed packages: lpc32xxcdl + +2023.08-rc1, released August 5, 2023 + + Numerous package updates and fixes, additional runtime tests. + + Toolchain: + - Toolchains from ARM (for ARM, AArch64 and AArch64 BE) + updated to 12.2. + - Support for binutils 2.40 and 2.41 added, binutils 2.37 and + 2.38 removed, binutils 2.40 is now the default + - Support for gcc 13 added, gcc 10 removed, gcc 12 is now the + default + + Architectures: + - Additional x86-64 variants added + - RISC-V vector extension support added + + Infrastructure: + - Go now built in 3 stages to be able to update to Go 1.20.x. + + New defconfigs: rock5b + + Removed defconfigs: qemu_sparc_ss10 + + New packages: composer, conmon, dfu-programmer, esp-hosted, + kodi-imagedecoder-heif, kodi-imagedecoder-raw, libde2654, + libdisplay-info, libheif, llvm-cmake, llvm-libunwind, + lua-dkjson, mbpoll, mdnsd, mhz, opencsd, python-libconf, + python-blinker, python-midiutil, python-rdps-py, python-wheel, + qt6svg, redis-plus-plus, rockchip-rkbin, rtl8822cs, swaybg, + swugenerator + + Removed packages: libasplib, ocf-linux, tovid + +2023.05.3, released September 26th, 2023 + + Important / security related fixes. + + Defconfigs: PC x86-64 bios/efi: Needs libelf. Raspberrypi: + Also enable HDMI console when systemd is used. + + Updated/fixed packages: agentpp, asterisk, at91dataflashboot, + aubio, berkeleydb, bind, bwm-ng, chocolate-doom, clamav, + compiler-rt, connman, cpio, cups, dav1d, diffutils, dracut, + dt, expect, fail2ban, fio, flite, freerdp, freeswitch, + fstrcmp, gcc, gdb, ghostscript, gmp, go, grub2, haproxy, + heirloom-mailx, hwloc, icu, intel-microcode, irssi, less, + libcoap, libcurl, libglib2, libiec61850, libjxl, libks, + libksba, libmodsecurity, libpjsip, libqb, libraw, libssh, + libtommath, lldpd, log4cxx, lsof, mdadm, mosquitto, mpd, mpv, + mutt, mv-ddr-marvell, ne10, netatalk, network-manager, + nftables, nodejs, ntpsec, nut, openblas, openjdk, openjdk-bin, + opensc, openssh, pcm-tools, perftest, petitboot, php, pixman, + poppler, postgresql, python-django, python-ipython, + python-pip, python-pylibfdt, python-tornado, python3, qt5, + ramspeed, rtl8189fs, rtl8812au-aircrack-ng, samba4, screen, + screenfetch, sngrep, sofia-sip, stellarium, stress-ng, + strongswan, sysstat, tar, tcl, uboot, uclibc, vim, webkitgtk, + webp, wireshark, xfsprogs, xserver_xorg-server, xterm, yajl, + zbar, zxing-cpp + + New packages: xlib_libXpresent + +2023.05.2, released August 31th, 2023 + + Important / security related fixes. + + Toolchains: Correctly mark Bootlin external toolchains as + having OpenMP support. + + Arch: Mark Alderlake x86 variants as no AVX512 support. + + Utils: Ensure utils/docker-run correctly supports git + worktrees. + + Defconfigs: Beaglebone: U-Boot needs OpenSSL. Beaglebone qt5: + Enable support for green wireless variant. + + Updated/fixed packages: arm-trusted-firmware, bind, cairo, + cmocka, containerd, crudini, cryptodev-linux, dmidecode, + ffmpeg, firmware-imx, gcc, gdb, ghostscript, gkrellm, + gnuradio, go, igh-ethercat, iperf3, kodi, libcurl, libopenssl, + libssh, libubootenv, libuhttpd, linux-tools, mali-driver, + nfs-utils, ntp, openssh, php, pipewire, python-pysmb, + python-iniparse, python-iptables, rtl8189es, rtl8189fs, + sam-ba, samba4, seatd, shadow, speex, + sunxi-mali-utgard-driver, supertuxkart, sysdig, systemd, tor, + tpm2-tss, transmission, uboot, unzip, webkitgtk, + wireless-regdb, wolfssl, wpebackend-fdo, wpewebkit, xenomai, + yaml-cpp, yavta + + Issues resolved (http://bugs.uclibc.org): + + #15634: fluidsynths refers to missing libgomp.so.1 + +2023.05.1, released July 17th, 2023 + + Important / security related fixes. + + Defconfigs: Chiliboard, mx53loco: fix build on hosts without + openssl development headers. + Nitrogen*: fix build on hosts without openssl or pylibfdt. + Hifive unleased: Bump OpenSBI to 1.2 to fix a build issue. + Raspberrypi: Handle DTB overlays for all variants + + Updated/fixed packages: agentpp, alsa-plugins, assimp, audit, + bind, busybox, c-ares, check, cups, dav1d, dbus, fftw, + fluidsynth, freetype, fwts, ghostscript, gnupg2, gnuradio, + graphicsmagick, gupnp, haproxy, heimdal, hwdata, jhead, kodi, + libcap, libgcrypt, libgpg-error, libgtk3, libmdbx, libxslt, + mesa3d, mesa3d-demos, mpir, nodejs, php, pkgconf, + python-cryptography, python-dbus-fast, python-django, + python-docker, python-pyicu, python-requests, python3, qemu, + qt6, quickjs, rtl8192eu, samba4, sconeserver, syslog-ng, + taglib, tiff, wine, wireshark, xdriver_xf86-video-dummy, + xlib_libX11, + + Issues resolved (http://bugs.uclibc.org): + + #15643: ERROR: No hash found for linux-6.3.8.tar.xz + #15658: hifive_unleashed_defconfig: Linker errors in opensbi-0.9 + #15661: mx53loco_defconfig: Dependency on OpenSSL missing + #15664: Can't compile mesa3d with v3d driver + #15673: PKGCONF_SITE in pkgconf.mk points to parked domain + #15682: pkgconf: no longer able to download source from... + +2023.05, released June 7th, 2023 + + Fixes all over the tree. + + Infrastructure: Add BR2_HOST_CMAKE_AT_LEAST_* for packages + needing a newer host-cmake than what is currently enforced + (3.18) - Up to the version provided by the cmake package (3.22). + + Defconfigs: QEMU s390x: Bump rootfs size to 120MB to make room + for kernel modules. + + Updated/fixed packages: at-spi2-core, go, libdeflate, libjxl, + perl-http-message, php, redis + +2023.05-rc3, released June 4th, 2023 + + Fixes all over the tree. + + Updated/fixed packages: bird, containerd, earlyoom, gcc, + ipython, kexec, kodi-skin-confluence, libcurl, libopenssl, + mesa3d, minidlna, mpd, openjdk, openjdk-bin, + python-matplotlib, sdl2_net, vdr + + New packages: python-asttokens, python-executing, + python-pure-eval, python-stack-data + +2023.05-rc2, released May 28th, 2023 + + Fixes all over the tree. + + Updated/fixed packages: busybox, clamav, crudini, + kodi-pvr-vbox, libcurl, libmnl, libpqxx, libressl, libssh, + llvm, lua, mesa3d, perl-http-message, python-can, + python-django, sdl2_mixer, webkitgtk, zfs, znc + + New packages: perl-clone + + Issues resolved (http://bugs.uclibc.org): + + #15421: qemu_aarch64_ebbr_defconfig: Missing Linux kernel source.. + #15581: qemu_ppc_mpc8544ds_defconfig: Fails due to non-working patch + +2023.05-rc1, released May 15th, 2023 + + Fixes all over the tree and new features. + + Toolchain: + - glibc update to 2.37, uClibc-ng updated to 1.0.43 + - suppoert 6.2.x / 6.3.x kernel headers + + Infrastucture: + - go: Ensure go versions of os/user and net are used for + static builds so CGO is not used + + - rust / cargo: Correctly split up rust flags for host and + target builds + + New defconfigs: STM32F769 discovery + + New packages: petitboot, python-evdev, python-hwdata, + python-pyproject-hooks, shadow + + Removed packages: atk, at-spi2-atk, optee-benchmark, + python-pep517 + + Issues resolved (http://bugs.uclibc.org): + + #14356: cronstamp jobs are not performed with bumped version of... + #15191: pc_x86_64_efi_defconfig doesn't run on real hardware + #15306: glibc build fails in Docker container + #15321: docker-engine now requires libseccomp by default + #15376: Libiconv config + #15461: QtVirtualKeyboard segfaults + +2023.02.11, released March 26th, 2024 + + Important / security related fixes. + + Defconfigs: Starfive visionfive2: Use correct genimage + configuration. + + Updated/fixed packages: bind, bitcoin, botan, c-ares, clamav, + cvs, dash, dnsmasq, ell, exim, expat, freetype, ghostscript, + gnupg2, google-breakpad, gst1-python, gst1-vaapi, iwd, + libcoap, libcurl, libgit2, libkrb5, libmodsecurity, libunwind, + libuv, libxml2, lua-http, luvi, nginx-naxsi, nodejs, openssh, + openvmtools, parted, php, poco, postgresql, privoxy, + pure-ftpd, putty, python-cheroot, python-configshell-fb, + python-django, python-rtslib-fb, python3, rsync, sdl2, shim, + spice, squid, strace, strongswan, sudo, systemd, targetcli-fb, + unbound, uvw, v4l2loopback, vim, webkitgtk, wpewebkit, xvisor, + zlib-ng + + Issues resolved (http://bugs.uclibc.org): + + #15997: Build Squid with GCC12.3 in Buildroot 2024.02 will fail + +2023.02.10, released March 1st, 2024 + + Important / security related fixes. + + Added CPE identifiers for a large number of packages. + + Updated/fixed packages: bayer2rgb-neon, brltty, c-ares, + containerd, crda, darkhttpd, davinci-bootcount, dbus, + domoticz, environment-setup, expat, faad2, falcosecurity-libs, + flex, freeradius-server, freerdp, frr, gesftpserver, glibc, + gnutls, go, gst1-devtools, gst1-libav, gst1-python, + gst1-vaapi, gst-omx, gstreamer1, haproxy, joe, json-c, + leptonica, libcurl, libuwsc, libvips, linux-firmware, + linux-headers, localedef, lua-http, lvm2, lynx, mbedtls, + micropython, minizip, mpfr, netatalk, ngrep, opencv4, + opencv4-contrib, openssh, opus, php, python-aiohttp, + python-esptool, python-gunicorn, python-hpack, + python-html5lib, python-lmdb, python-mako, python-numpy, + python-oauthlib, python-sqlparse, qt5base, qt6base, redis, + runc, sdl2, sqlite, sysstat, uuu, webkitgtk, wireless-regdb, + wpewebkit, xlib_libXpm, xterm, xwayland, yasm + + Issues resolved (http://bugs.uclibc.org): + + #10096: SH4 toolchain does not build Linux kernel magicpa.. + #15952: Grub fails to load large rootfs files + +2023.02.9, released January 15th, 2024 + + Important / security related fixes. + + Infrastructure: + + - Download: Revert a permission fixup step in the tarball + creation logic, which lead to a hash mismatch issue in two + cargo-vendored packages, ripgrep and sentry-cli. + + - Build: Pass GIT_DIR=. in the environment (through + HOST_MAKE_ENV/TARGET_MAKE_ENV) to the build steps to + workaround packages trying to detect if they are building in + a git checkout and getting confused when building in a sub + directory of a Buildroot git checkout. + + Updated/fixed packages: apcupsd, arm-trusted-firmware, botan, + cjson, cups, dropbear, duktape, edk2, exim, faad2, freeswitch, + gcc, gdal, gdb, giflib, glibc, go, google-breakpad, gst-omx, + gstd, gst1-devtools, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, ipcalc, jq, json-for-modern-cpp, + ksmbd-tools, libaio, libcamera, libcap-ng, libcurl, libebml, + libgtk3, libiec61850, libraw, libsigsegv, libssh, libssh2, + libuev, libwebsockets, liquid-dsp, lvm2, madplay, mesa3d, + micropython, mp4v2, opensc, openssh, orc, php, pipewire, + postgis, postgresql, proftpd, putty, python-sip, + python-werkzeug, rng-tools, shim, squid, strongswan, sway, + tinyssh, tor, tree, uftp, valijson, wireshark, wolfssl, + xserver_xorg-server, xwayland + +2023.02.8, released December 4th, 2023 + + Important / security related fixes. + + Defconfigs: Raspberrypi: Fix DT overlay for autoproving of + bluetooth driver, Toradex apalis i.mx6: Add download hashes + for Linux and U-Boot. + + Updated/fixed packages: exfatprogs, gcc, imagemagick, + intel-microcode, libpjsip, libxml2, mariadb, memcached, + motion, netsnmp, perl, postgresql, rtty, samba4, speech, + squid, vim, vlc, xenomai, xtables-addons, zfs + + Issues resolved (http://bugs.uclibc.org): + + #15856: Using BR2_CONFIG= on a different file-system... + +2023.02.7, released November 14th, 2023 + + Important / security related fixes. + + Per-package builds: Unbreak SDK relocation logic. Only drop + the hard links for the final host / target directory, fixing a + build time / size regression in 2023.02.6. + + Packages where a free-form version/site can be specified + (E.G. Linux, U-Boot, ..) can now have the corresponding + tarballs of these custom downloads checked by the download + infrastructure based on .hash files in the global patch + directory. These hashes are optional unless + BR2_DOWNLOAD_FORCE_CHECK_HASHES is enabled. + + A utils/add-custom-hashes helper script has been added to + assist in managing such hash files. + + Defconfigs: stm32mp157a-dk1, stm32mp157c-dk2: Unbreak TF-A + build, stm32mp157c-odessey: Use a fixed TF-A version for + reproducibility + + Updated/fixed packages: apache, arm-trusted-firmware, aufs, + aufs-util, azure-iot-sdk, cjson, cups-filters, clamav, dhcpcd, + freeradius-server, go, htop, ksmbd-tools, kvmtool, libgdiplus, + libopenssl, libosmium, libtommath, libupnp, libzlib, lxc, + mender, minizip-zlib, mpd, mxsldr, nano, nettle, + network-manager, nghttp2, nodejs, opencv4, opencv4-contrib, + openjdk-bin, openvpn, opusfile, paho-mqtt-c, + perl-lwp-protocol-https, php, python-django, python-urllib3, + python-web2py, rabbitmq-c, redis, riscv64-elf-toolchain, + suricata, tar, tiff, tor, traceroute, vim, websocketpp, + wireshark, wolfssl, xdg-dbus-proxy, xen, xlib_libX11, + xlib_libXpm, zabbix, zchunk + + Issues resolved (http://bugs.uclibc.org): + + #14741: e2fsck is failing during cronjob build where fail... + #15772: lz4 failed to compile with gcc 10.4.0 + #15787: atmel_sama5d3_xplained_mmc_defconfig: Missing... + #15790: at91sam9x5ek_dev_defconfig: Missing... + #15820: make linux-menuconfig does not modify correct .config.. + #15823: Installing nodejs modules with native extensions ... + #15835: Incompatibility between network-manager and libcurl 8.4 + +2023.02.6, released October 16th, 2023 + + Important / security related fixes. + + Per-package builds: Do not use hard links for host / target + dirs, fixing issues with package rebuilds or post-build + scripts modifications. + + Infrastructure: Explicitly disable shuffle mode for Make >= + 4.4 where needed. + + Urandom-scripts: Move seedrng init script to S01 for earlier + random number entrophy initialization. + + Go: Bump to 1.20.x as 1.19.x is now EOL and affected by + security issues. + + Updated/fixed packages: at91bootstrap, bind, cups, efl, + enlightenment, exim, gcc, glibc, gnu-efi, go, go-bootstrap, + gptfdisk, gst-omx, gst1-devtools, gst1-libav, + gst1-plugins-bad, gst1-plugins-base, gst1-plugins-good, + gst1-plugins-ugly, gst1-python, gst1-rstp-server, + gst1-rtsp-vaapi, gstreamer1, gstreamer1-editing-services, + libcue, libcurl, libfastjson, libhtp, libmodplug, librsvg, + libvpx, libyang, linux-tools, mbedtls, mosquitto, mutt, neon, + netsnmp, nmap, nodejs, olsr, openblas, opkg-utils, php, + powertop, python-mako, python3, rockchip-mali, samba4, sslh, + suricata, tar, unifdef, unrandom-scripts, webkitgtk, + wireless-regdb, wpewebkit + + Issues resolved (http://bugs.uclibc.org): + + #15628: Missing dependencies in BR2_PACKAGE_PYTHON_MAKO + #15808: connman is not supported on musl + #15814: C++ not supported by bootlin toolchain + +2023.02.5, released September 27th, 2023 + + Important / security related fixes. + + Updated/fixed packages: agentpp, asterisk, at91dataflashboot, + aubio, berkeleydb, bind, bwm-ng, chocolate-doom, clamav, + compiler-rt, connman, cups, dav1d, diffutils, dracut, dt, + expect, fail2ban, fio, flite, freerdp, freeswitch, fstrcmp, + gcc, gdb, ghostscript, gmp, go, grub2, haproxy, + heirloom-mailx, hwloc, icu, intel-microcode, irssi, libcoap, + libcurl, libiec61850, libjxl, libks, libksba, libmodsecurity, + libpjsip, libqb, libraw, libssh, libtommath, less, lldpd, + log4cxx, lsof, mdadm, mosquitto, mpd, mutt, mv-ddr-marvell, + ne10, netatalk, network-manager, nftables, nodejs, ntpsec, + nut, openblas, openjdk, openjdk-bin, opensc, openssh, + pcm-tools, perftest, php, pixman, poppler, postgresql, pppd, + python-django, python-ipython, python-pip, python-pylibfdt, + python-tornado, python3, qt5, ramspeed, rtl8189fs, samba4, + screen, screenfetch, sngrep, sofia-sip, stellarium, + strongswan, sysstat, tar, tcl, uboot, uclibc, vim, webkitgtk, + webp, wireshark, xfsprogs, xserver_xorg-server, xterm, yajl, + zbar, zxing-cpp + + Issues resolved (http://bugs.uclibc.org): + + #14366: Nodejs fails with "version `GLIBC_2.34' not found".. + #15754: The docker-engine and docker-cli versions are not... + #15787: atmel_sama5d3_xplained_mmc_defconfig: Missing... + #15790: at91sam9x5ek_dev_defconfig: Missing... + +2023.02.4, released August 31th, 2023 + + Important / security related fixes. + + Toolchains: Correctly mark Bootlin external toolchains as + having OpenMP support. + + Arch: Mark Alderlake x86 variants as having no AVX512 support. + + Utils: Ensure utils/docker-run correctly supports git + worktrees. + + Defconfigs: Beaglebone qt5: Enable support for green wireless + variant. + + Updated/fixed packages: arm-trusted-firmware, bind, cairo, + cmocka, containerd, crudini, dmidecode, ffmpeg, freescale-imx, + gcc, gdb, ghostscript, gkrellm, gnuradio, go, heimdall, + iperf3, libcurl, libmodsecurity, libopenssl, libssh, + libubootenv, libuhttpd, linux-tools, ntp, openssh, php, + pipewire, python-iniparse, python-iptables, python-pysmb, + rtl8189fs, sam-ba, samba4, seatd, speex, supertuxkart, sysdig, + tor, tpm2-tss, uboot, unzip, webkitgtk, wireless-regdb, + wolfssl, wpebackend-fdo wpewebkit, xenomai, yaml-cpp, yavta + + Issues resolved (http://bugs.uclibc.org): + + #15634: fluidsynths refers to missing libgomp.so.1 + +2023.02.3, released July 17th, 2023 + + Important / security related fixes. + + Defconfigs: Chiliboard: fix build on hosts without openssl + development headers. + Nitrogen*: fix build on hosts without openssl or pylibfdt. + Raspberrypi: Handle DTB overlays for all variants + + Updated/fixed packages: agentpp, alsa-plugins, assimp, bind, + busybox, dbus, c-ares, check, dav1d, fluidsynth, fftw, fwts, + ghostscript, gnupg2, gnuradio, gupnp, haproxy, heimdal, + hwdata, jhead, libcap, libgcrypt, libgpg-error, libgtk3, + libxslt, mesa3d-demos, mpir, nodejs, php, pkgconf, + python-cryptography, python-dbus-fast, python-django, + python-pyicu, python-requests, python3, qt6, quickjs, + sconeserver, taglib, tiff, wireshark, xdriver_xf86-video-dummy + + Issues resolved (http://bugs.uclibc.org): + + #15643: ERROR: No hash found for linux-6.3.8.tar.xz + #15673: PKGCONF_SITE in pkgconf.mk points to parked domain + #15682: pkgconf: no longer able to download source from... + +2023.02.2, released June 16th, 2023 + + Important / security related fixes. + + Infrastructure: Add BR2_HOST_CMAKE_AT_LEAST_* for packages + needing a newer host-cmake than what is currently enforced + (3.18) - Up to the version provided by the cmake package (3.22). + + utils/docker-run: Now correctly handles git + workdirs/worktrees. + + Defconfigs: QEMU s390x: Bump rootfs size to make room for + kernel modules, Stm32f4xx: Tweak config to save RAM, Xilinx + Versal vck190: Use correct (A72) CPU variant + + Updated/fixed packages: atkmm, bird, busybox, cairomm1_14, + cmake, containerd, crudini, cups, delve, docker-cli, + docker-engine, earlyoom, edid-decode, fluent-bit, freeswitch, + gcc, gdb, glibmm_2_66, gnupg2, go, gptfdisk, graphicsmagick, + intel-microcode, libass, libcurl, libdeflate, libgeos, + libgtk3, libjxl, libnftl, libopenssl, libressl, libssh, llvm, + lua, mesa3d, micropython, minidlna, moby-buildkit, mpd, mupdf, + ncurses, nftables, openjdk, openjdk-bin, php, postgresql, + python-can, python-django, python-django, python-ipython, + python-matplotlib, python-mupdf, python-requests, python3, + qemu, redis, rpm, runc, sdl2_mixer, tzdata, uclibc, vdr, + wilc-firmware, xapp_xcalc, xapp_xdpyinfo, xapp_xinput, + xapp_xwininfo, xdata_xbitmaps, xdata_xcursor-themes, + xdriver_xf86-input-mouse, xdriver_xf86-video-ark, + xdriver_xf86-video-geode, xdriver_xf86-video-neomagic, + xfont_encodings, xlib_libX11, xlib_libXaw, xlib_libXi, + xlib_libXfixes, xlib_libXft, xlib_libXpm, zfs, znc + + New packages: perl-clone, perl-http-message, python-asttokens, + python-executing, python-pure-eval, python-stack-data + + Issues resolved (http://bugs.uclibc.org): + + #15421: qemu_aarch64_ebbr_defconfig: Missing Linux kernel source code + +2023.02.1, released May 9th, 2023 + + Important / security related fixes. + + Infrastucture: + - go: Ensure go versions of os/user and net are used for + static builds so CGO is not used + + - rust / cargo: Correctly split up rust flags for host and + target builds + + Defconfigs: Olimex a20 olinuxino lime*: Bring up network at + boot, stmf469 disco sd: Lock U-Boot version + + Updated/fixed packages: agentpp, apache, bluez5_utils, + ca-certificates, containerd, coremark, dcron, dnsmasq, + docker-cli, docker-engine, efivar, eudev, ffmpeg, flann, + fluidsynth, git, go, gst-omx, gst1-devtools, gst1-libav, + gst1-plugins-bad, gst1-plugins-base, gst1-plugins-good, + gst1-plugins-ugly, gst1-python, gst1-rtsp-server, gst1-vaapi, + gstreamer1, gstreamer1-editing-services, intel-microcode, + kexec, libcurl, libite, libgtk3, libmicrohttpd, libxml2, + linux-tools, lua, mali-driver, matio, mdadm, nginx, openocd, + openssh, php, poppler, postgresql, python-web2py, qt6base, + readline, rtl8189fs, rtl8723ds, rtl8812au-aircrack-ng, runc, + rust, rust-bin, s390-tools, samba4, sdl2, snmppp, sudo, + systemd, tcpdump, uclibc, vim, webkitgtk, wireshark, + wpewebkit, xr819-radio, xserver_xorg-server, zeek + + Issues resolved (http://bugs.uclibc.org): + + #14356: cronstamp jobs are not performed with bumped version of... + #15306: glibc build fails in Docker container + #15376: Libiconv config + #15461: QtVirtualKeyboard segfaults + +2023.02, released March 12th, 2023 + + Fixes all over the tree. + + Updated/fixed packages: ace, apache, audit, bridge-utils, + docker-engine, go, gtkmm3, janet, libbpf, libev, libgcrypt, + libgpg-error, libmad, linux, mesa3d, network-manager, nut, + pcre2, php, rdma-core, rsync, rtl8821cu, rtl_433, + s6-linux-utils, speechd, uqmi, xdriver_xf86-video-qxl, znc + + New packages: atkmm2_28, cairomm1_14, glibmm2_66, libsigc2, + pangomm2_46, python-glslang + + Issues resolved (http://bugs.uclibc.org): + + #15306: glibc build fails in Docker container + #15321: docker-engine now requires libseccomp by default + +2023.02-rc3, released March 8th, 2023 + + Fixes all over the tree. + + Updated/fixed packages: apr, bash, docker-engine, exfat, + exfat-utils, f2fs-tools, gensio, gr-osmosdr, libcurl, libglfw, + libolm, libpcap, libpjsip, linux, mender, mpv, + multipath-tools, opus, paho-mqtt-c, proftpd, pugixml, + pulseaudio, qemu, quazip, quickjs, rtl8189es, rtl8821cu, + uacme, uqmi, wpebackend-fdo, + +2023.02-rc2, released February 27th, 2023 + + Fixes all over the tree. + + Updated/fixed packages: asterisk, at91dataflashboot, bind, + efivar, erlang, flac, fluent-bit, freerdp, gcc, gdal, gerbera, + gnuradio, gqrx, haproxy, hawktracer, imx-gpu-g2d, + intel-gmmlib, libarchive, libblockdev, libcamera-apps, libjxl, + libmodsecurity, libsigrokdecode, lightning, lirc-tools, + lttng-babeltrace, modem-manager, modsecurity2, + multipath-tools, mutt, mxs-bootlets, netsurf, network-manager, + nginx-naxsi, ntpsec, opensbi, optee-client, pcm-tools, + php-xdebug, pistache, postgresql, proxychains-ng, + python-m2crypto, python-numpy, python-webargs, + python-werkzeug, rtl8723bu, rtty, speechd, sudo, systemd, + tiff, tmux, wilc-driver, wpa_supplicant, xerces, + xtables-addons, xwayland, zabbix + + Removed packages: uccp420wlan + +2023.02-rc1, released February 20th, 2023 + + Numerous package updates and many (62) new packages. + + Toolchain: + + - The check for access to "unsafe" (E.G. from the build host) + header files and libraries by the cross compiler is now + unconditionally enabled. + + - Bootlin external toolchains updated to 2022.08 + + - The handling of the CCACHE_* environment variables by the + toolchain wrapper is now more strict, causing the variables + to only be exported when BR2_CCACHE is enabled. + + Infrastructure: + + - Br2-external: Fix make performance issue when many (> 6) + external trees are used together. + + - Legal-info: Stop warning about not saving sources for local + / override packages if _REDISTRIBUTE is set to NO. + + - Go: Ensure our go build and module cache is used, even for the + download step. + + - Cargo: CARGO_HOME (the location where cargo stores it + downloaded artifacts) is now located under DL_DIR rather + than in HOST_DIR/share/cargo, ensuring it is shared between + builds. + + Misc: + + - Erofs: Use fixed timestamp and UUID when BR2_REPRODUCIBLE is + used. + + - Ext2: Year 2038+ compatible inodes are now used by default, + independently of the filesystem size. + + - Linux: Fix build of < 5.6 kernels with host-gcc >= 10. + + A large number of NXP related packages and defconfigs have + been updated as upstream moved the git repositories to Github. + + New defconfigs: i.MX8mn BSH SMM S2 / pro, QEMU ARM EBBR, + Sipeed Lichee rv / rv dock, Starfive Visionfive2, Xilinx Versal + VCK190. + + New packages: catch2, cli11, dotconf, edk2-non-osi, + fluent-bit, fxdiv, hddtemp, highway, imx-vpu-hantro-daemon, + libjxl, libsolv, libunibreak, neon-2-sse, open-iscsi, + opencv4-contrib, perftest, perl-image-exiftool, + python-apispec, python-async-generator, python-cppy, + python-dbus-fast, python-dicttoxml2, python-flask-smorest, + python-h11, python-hkdf, python-magic-wormhole, + python-magic-wormhole-mailbox-server, + python-magic-wormhole-transit-relay, python-marshmallow, + python-munch, python-outcome, python-pycrate, python-pyspnego, + python-reedsolo, python-selenium, python-smbprotocol, + python-sniffio, python-spake2, python-trio, + python-trio-websocket, python-uhid, python-webargs, + python-wsproto, qt5speech, qt6serialbus, rdma-core, reproc, + rtl8723ds-bt, rtl8821cu, sexpect, speechd, sscep, stb, sway, + termcolor, ti-k3-r5-loader, tl-expected, unifdef, + versal-firmware, xwayland, z3 + + Removed packages: docker-proxy, elixir, gummiboot, + python-bunch, python-m2r, sun20i-d1-spl, ucl, + xdriver_xf86-input-keyboard, xdriver_xf86-video-glint, + xdriver_xf86-video-imx-viv, xdriver_xf86-video-tga + + Issues resolved (http://bugs.uclibc.org): + + #14971: Kernel 3.10.108 fail to build in Buildroot 2022.08-rc1 + #14996: Too many directories in BR2_EXTERNAL causes hang during make + #15161: kernel can't support SUBDIR + #15196: Setting BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE does not work + #15226: lsblk: not found + #15271: no start-qemu.sh + #15281: Error compiling GDAL library for RPi-64 if libgdal-dev install.. + #15291: BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS without location + #15301: Selecting NAND Flash boot media (NAND_BOOT) breaks the uboot.. + #15331: Warning on python-flit-core license when generating legal info + +2022.11.3, released March 18th, 2023 + + Important / security related fixes. + + Updated/fixed packages: ace, apache, apr, apr-util, asterisk, + at91dataflashboot, audit, bash, bind, bridge-utils, clamav, + dmalloc, efivar, erlang, exfat, exfat-utils, f2fs-tools, gcc, + gdal, gensio, gerbera, git, glslsandbox-player, go, haproxy, + hawktracer, intel-gmmlib, ipmiutil, less, libblockdev, + libcurl, libev, libgcrypt, libglfw, libmad, libmdbx, + libmodsecurity, libolm, libpjsip, lirc-tools, + lttng-babeltrace, mender, mpv, mutt, mxs-bootlets, netsurf, + ntpsec, nut, opensbi, opus, paho-mqtt-c, pcm-tools, php, + pistache, proftpd, proxychains-ng, pulseaudio, + python-cryptography, python-django, python-m2crypto, + python-numpy, python-werkzeug, qemu, quazip, quickjs, + rockchip-mali, rsync, s6-linux-utils, sudo, tiff, uacme, uqmi, + webkitgtk, wilc-driver, wpa_supplicant, wpewebkit, + xdriver_xf86-video-qxl, znc + + Issues resolved (http://bugs.uclibc.org): + + #15306: glibc build fails in Docker container + #15361: Buildroot linking error on Apple Silicon + +2022.11.2, released March 1st, 2023 + + Important / security related fixes. + + Fix make O=..._defconfig builds (regression in 2022.11.1). + + A number of additional/stricter checks have been added to + ./utils/check-package. + + Build host dependencies check extended to check for a number + of specific perl modules to better handle distributions (like + Fedora) with very fine grained perl packages. Also ensure + build host has git >= 2.0.0 when using packages written in + go/rust because the vendoring may need it. + + Defconfigs: ASUS tinker rk3288: Fix boot issue related to TPL + + Updated/fixed packages: afboot-stm32, apache, barebox, c-ares, + elf2flt, freeswitch, fwts, gcc, gdal, git, gitlab-runner, + ipmitool, kodi, libgit2, libks, libopenssl, libressl, live555, + lua, lxc, mariadb, mesa3d-headers, modsecurity2, mongoose, + netopeer2, nodejs, openjdk, openpowerlink, openvpn, opusfile, + postgresql, proftpd, pugixml, python-future, python-idna, qt5, + rtl8192eu, rtl8723ds, sdl2, sofia-sip, ssdp-responder, sudo, + sunxi-mali-utgard, thermald, ti-sgx-km, tmux, uboot, upx, vim, + webkitgtk, wolfssl, wpewebkit, xlib_libXpm, + xserver_xorg-server, xxhash, xz, yajl, zabbix + + Issues resolved (http://bugs.uclibc.org): + + #15271: no start-qemu.sh + #15281: Error compiling GDAL library for RPi-64 if libgdal-dev install.. + #15291: BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS without location + #15301: Selecting NAND Flash boot media (NAND_BOOT) breaks the uboot.. + #15331: Warning on python-flit-core license when generating legal info + +2022.11.1, released January 18th, 2023 + + Important / security related fixes. + + Br2-external: Fix make performance issue when many (> 6) + external trees are used together. + + Erofs: Use fixed timestamp and UUID when BR2_REPRODUCIBLE is + used. + + Go: Ensure our go build and module cache is used, even for the + download step. + + Legal-info: Stop warning about not saving sources for local / + override packages if _REDISTRIBUTE is set to NO. + + Linux: Fix build of < 5.6 kernels with host-gcc >= 10. + + A large number of NXP related packages and defconfigs have + been updated as upstream moved the git repositories to Github. + + Defconfigs: zcu106, kria kv260: Fix U-Boot build + + Updated/fixed packages: asterisk, bearssl, botan, cairo, + capnproto, check, checkpolicy, connman, containerd, crun, + dbus-cxx, docker-cli, docker-engine, exempi, exfat, + exfat-utils, falcosecurity-libs, fluidsynth, fmc, fmlib, + freeradius-server, gcc, glib-networking, go, + gobject-introspection, gperf, i2pd, ima-evm-utils, + imx-alsa-plugins, imx-kobs, imx-lib, imx-m4fwloader, + imx-mkimage, intel-microcode, janus-gateway, libcurl, + libdeflate, libftdi1, libkcapi, libksba, libmbim, libmng, + libpjsip, libtalloc, libuwsc, libxkbcommon, lpeg, lrzsz, + lttng-tools, lua-cqueues, mali-driver, mbedtls, mfgtools, + moby-buildkit, mutt, opensc, php, policycoreutils, polkit, + postgresql, pptp-linux, qcom-db410c-firmware, qemu, qoriq-rcw, + qt5virtualkeyboard, redis, rhash, rtl8189es, rtl8192eu, + rtl_433, ruby, sqlite, swupdate, tealdeer, tekui, tiff, + tinyxml, tor, webkitgtk, wireshark, wpasupplicant, wpewebkit, + xr819-xradio, xdriver_xf86-video-imx-viv, xserver_xorg-server, + xxhash, zip + + Issues resolved (http://bugs.uclibc.org): + + #14971: Kernel 3.10.108 fail to build in Buildroot 2022.08-rc1 + #14996: Too many directories in BR2_EXTERNAL causes hang during make + #15161: kernel can't support SUBDIR + #15196: Setting BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE does not work + #15226: lsblk: not found + +2022.11, released December 5th, 2022 + + Fixes all over the tree. + + Defconfigs: Nitrogen8*: Bump rootfs size, Zynqmp + kv260/zcu102/zcu106: Update to Xilinx 2022.2, + + Updated/fixed packages: dash, dovecot, elf2flt, exim, gcc, + gdb, git, kodi, libarchive, libmdbx, linuxptp, lxc, + matchbox-keyboard, memcached, netsnmp, optee-client, + python-scipy, python3, qt6base, qt6serialport, rtl8188eu, + rtl8723bu, rtl8723ds, rtl8821au, vim, vlc, wilc-driver + + Removed packages: rabbitmq-server + + Issues resolved (http://bugs.uclibc.org): + + #15131: Target GDB uses internal zlib + #15151: Busybox /etc/init.d scripts are not executable + +2022.11-rc3, released November 24th, 2022 + + Fixes all over the tree. + + Updated/fixed packages: asterisk, edk2, edk2-platforms, + freerdp, gitlab-runner, gnupg2, gptfdisk, heimdal, + igh-ethercat, iwd, libkrb5, libksba, libnss, libopenssl, + mesa3d, nginx, nodejs, openpgm, python3, rsync, rtl8189es, + rtl8723ds, samba4, sdl, sdl2, swupdate, sysstat, systemd, + uboot, xen, xterm + + Issues resolved (http://bugs.uclibc.org): + + #15141: kernel 5.16.2 (realtime patch 19) fails to build + +2022.11-rc2, released November 16th, 2022 + + Fixes all over the tree. + + Removed defconfigs: Amarule a64 relic, ARM Juno, Bananapi M1 / + M1 plus / M2 plus / M64, FriendlyARM NanoPC T4 / A64 / M1 / M1 + plus / M4 / Neo2 / Neo4 / Neo plus2 / R1 / Orangepi PC2 / Plus + / Prime / rk3399 / Win, Rock PC rk3399 / PI4 / N10. + + Updated/fixed packages: alsa-utils, arm-trusted-firmware, + bdwgc, boost, botan, ca-certificates, crun, dbus-broker, + docopt-cpp, dracut, efivar, freeipmi, gawk, gensio, gptfdisk, + gsl, guile, imagemagick, ipmitool, libidn2, libkcapi, + libopenssl, libqb, libuhttpd, libvncserver, linux, + linux-tools, lxc, makedumpfile, matchbox-startup-monitor, + mdio-tools, multipath-tools, mupdf, ntfs-3g, numactl, + perl-net-ssleay, pixman, procps-ng, rpi-userland, rsync, + s6-linux-init, socat, strongswan, sudo, swupdate, systemd, + udisks, vlc, wavemon, wolfssl, zlib-ng + + Removed packages: libdcadec + + Issues resolved (http://bugs.uclibc.org): + + #15121: make nconfig failes with nvidia drivers and mesa3d selected + +2022.11-rc1, released November 3rd, 2022 + + Fixes all over the tree and new features. + + Architecture: + + - PowerPC: add Power9 CPU type + - ARM: support dropped for iWMMXt processors + + Toolchain: + + - binutils 2.39 added, binutils 2.38 is now the default + - gdb 12 added, gdb 11 is now the default + - support for 5.18, 5.19 and 6.0 kernel headers + - glibc updated to 2.36 + + Filesystem: + + - Ability to use dracut to create an initramfs that contains a + subset of the root filesystem contents. + + New packages: agent-proxy, catatonit, cni-plugins, crun, + docopt-cpp, dracut, forge, kmemd, libmanette, mdio-tools, + open-isns, python-editables, python-hatch-fancy-pypi-readme, + python-hatch-vcs, python-hatchling, python-libevdev, + python-minimalmodbus, python-pathspec, qt6-serialport, + rtl8192eu, signal-estimator, slirp4netns, tinycompress + + More than 400 packages have been updated to a newer version. + + New defconfigs: ls1028ardb, qemu_aarch64_ebbr, visionfive. + + Issues resolved: + + #11776: qt5webengine 5.12.2 build failed with arm toolchain + and linaro toolchain + #12131: qt5webengine builderror in the latest stable Buildroot + 2019.05.01 version + #13216: 2020.02.6 requires GNU find utils + #14601: Python build fails on 2022.02-rc2 + #14746: Lack of management after loading + #14796: 64 bit time and seccomp conflict (OpenSSH server crash) + #14921: wpewebkit build fails because of internal build order + #14936: nodejs does not build + #15006: toolchain Arm AArch64 toolchain 11.2-2022.02 + #15021: Buildroot not compiling with systemd and glibc. + #15026: package/udisks: install to staging + #15061: Node.js Package fails to build against musl i386 + #15071: RTL8723BS library is outdated + +2022.08.3, released December 10th, 2022 + + Important / security related fixes. + + Updated/fixed packages: asterisk, dash, dovecot, edk2, + edk2-platforms, elf2flt, exim, freerdp, gcc, gdb, git, gnupg2, + heimdal, iwd, kodi, libarchive, libkrb5, libksba, libmdbx, + libopenssl, matchbox-keyboard, memcached, netsnmp, nginx, + nodejs, openpgm, optee-client, python-scipy, python3, rsync, + rtl8723bu, samba4, sdl, sdl2, swupdate, sysstat, systemd, + uboot, vim, vlc, wilc-driver, xen, xterm + + Issues resolved (http://bugs.uclibc.org): + + 15131: Target GDB uses internal zlib + +2022.08.2, released November 16th, 2022 + + Important / security related fixes. + + Defconfig: Aspeed ast2600evb: Correct FPU config, Kontron bl + imx8mm: Bump U-Boot to fix build issue, Pine64: Change to + mainline ATF to fix build issue, Zynqmp zcu102 / zcu106 / kria + kv260: Fix pmufw reset issue + + Updated/fixed packages: arm-trusted-firmware, bind, botan, + ca-certificates, collectd, darkhttpd, dbus, dbus-broker, dhcp, + dnsmasq, docker-cli, docker-engine, exfatprogs, expat, + f2fs-tools, faad2, ffmpeg, freerdp, gitlab-runner, glibc, + gnutls, go, gpsd, gptfdisk, grub2, gsl, gst-omx, + gst1-devtools, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, hdparm, hostapd, imagemagick, + iwd, jack2, libbpf, libcurl, libidn2, libinput, libmdbx, + libopenssl, libosip2, libpng, libtasn1, libtorrent-rasterbar, + libuhttpd, libvncserver, libxml2, linux, linux-tools, lldpd, + lrzip, lz4, matchbox-startup-monitor, meson, msmtp, + multipath-tools, mupdf, musl, mv-ddr-marvell, mxml, nodejs, + ntfs-3g, numactl, openssh, openvmtools, oracle-mysql, + paho-mqtt-c, perl-net-ssleay, php, pixman, poppler, procps-ng, + python-django, python3, qdecoder, redis, rpi-userland, rsync, + rtl8189es, rtl8189fs, rtl8723bu, rtl8723ds, + rtl8812au-aircrack-ng, rtl8821au, rtl_433, samba4, shapelib, + socat, sqlite, squashfs, squid, strongswan, sudo, swupdate, + timescaledb, uclibc-ng-test, udisks, uftp, uhd, umtprd, + usbguard, vim, vlc, volk, wavemon, wilc-driver, + wireguard-linux-compat, wolfssl, wpa_supplicant, wpewebkit, + zlib-ng, zsh + + Issues resolved (http://bugs.uclibc.org): + + #14936: nodejs does not build + #15026: package/udisks: install to staging + #15061: Node.js Package fails to build against musl i386 + +2022.08.1, released October 2nd, 2022 + + Important / security related fixes. + + Updated/fixed packages: botan, busybox, docker-cli, + docker-engine, expat, git, haproxy, heirloom-mailx, icu, + imx-gpu-viv, libconfuse, libmdbx, libupnp, libxml2, + ltp-testsuite, m4, makedevs, mariadb, mesa3d, meson, + mosquitto, ncurses, openssh, pango, python3, qlibc, + qt5xmlpatterns, rtl8189es, rtl8723bu, rt8723ds, + rtl8812au-aircrack-ng, runc, sox, tinyproxy, uacme, unbound, + unzip, vim, xtables-addons + + Issues resolved (http://bugs.uclibc.org): + + #14796: 64 bit time and seccomp conflict (OpenSSH server crash) + #14921: wpewebkit build fails because of internal build order + +2022.08, released September 10th, 2022 + + Fixes all over the tree. + + Autotools: Drop --runstatedir=/run as it causes build issues + with older packages + + Defconfigs: rockpro64: Change to mainline ATF to fix build issue + + Updated/fixed packages: dhcpd, fwup, gcc, gdb, go, linux-tools, + minidlna, mosquitto, mv-ddr-mervell, networkd-dispatcher, + optee-os, polkit, python-pillow, python3, sconeserver, uuu, + wolfssl + +2022.08-rc2, released September 1st, 2022 + + Fixes all over the tree. + + dependencies: Ensure 'find' and 'xargs' are available on the + build host. + + A large number of typo fixes. + + Defconfigs: bananapi m1, olimex a20/a33/lime: Use standard FPU + configuration, pine64_sopine: Use mainline ATF to fix build + + Updated/fixed packages: ace, alsa-utils, busybox, cups, + dbus-broker, directfb, domoticz, drbd-utils, edk2, + edk2-platforms, ffmpeg, freeradius-server, freeswitch, gauche, + gcc, gdb, glibc, gnutls, gst1-plugins-bad, gst1-plugins-good, + hawktracer, igd-ethercat, imagemagick, intel-mediadriver, + jack2, jose, jpeg, jquery-ui-themes, kodi, libcamera, libdill, + libgit2, libglvnd, libgpg-error, libgpgme, libinput, libp11, + libsepol, libtirpc, libvirtd, libvncserver, libwpe, libzlib, + linux, linux-tools-perf, llvm, lshw, makedumpfile, + mali-driver, memcached, minetest, mutt, ne10, netsniff-ng, + ntpsec, ocrad, ola, opencv4, openocd, opensc, optee-os, + pcsc-lite, postgresql, protobuf, pulseaudio, python-autobahn, + python-paho-mqtt, python-protobuf, python-pygame, python3, qemu, + qoriq-cadence-dp-firmware, qt5doc, qt6base, ranger, rng-tools, + rsync, rustc, sconeserver, sdl2, snort, sqlite, squid, + stress-ng, strongswan, sunxi-mali-utgard-driver, sysdig, + sysklogd, syslinux, syslog-ng, tcf-agent, tcpreplay, + tesseract-ocr, uacme, uboot-tools, uclibc, udpcast, usbguard, + v4l2loopback, vim, webkitgtk, wolftpm, wpewebkit, xenomai, + xserver_xorg-server, zeek, zerofree + +2022.08-rc1, released August 12th, 2022 + + Fixes all over the tree and new features. + + Architecture + + - Support for NDS32 removed + - Support for C-SKY removed + - Support for configurable page size on ARM64 added + - Architecture menu re-organized: the MMU selection now + appears in this architecture menu. + + Toolchain: + + - GCC 12.x support added, GCC 11.x is now the default + compiler, and support for building a GCC 9.x toolchain has + been removed. + - glibc bumped to 2.35-134-gb6aade18a7e5719c942aa2da6cf3157aca993fa4 + - uclibc bumped to 1.0.42 + - BR2_GCC_ENABLE_LTO option removed, the toolchain is now + always built with LTO support. The new option BR2_ENABLE_LTO + enables the use of LTO in a subset of packages that have + explicit handling for LTO. + - GDB enabled on OpenRISC. + - Toolchain menu now appears before "Build options". The + selection of the C library now determines whether static + library (BR2_STATIC_LIBS) will be available or not, instead + of the other way around. + + Filesystem: + + - genimage.cfg files now use shortcuts from genimage for the + GUID of well-known GPT partitions. + + Bootloaders: + + - U-Boot can now be built with host-gnutls as a dependency, + needed for some configurations + - OP-TEE can now be built with host-python-pillow as a + dependency, needed for some configurations. + - OP-TEE source can now be retrieved from a custom tarball + URL. + - Grub has been bumped to 2.06. + + Over 390 packages updated. + + New defconfigs: aspeed_ast2500evb, aspeed_ast2600evb, + broadcom_northstar, canaan_kd233, qemu_riscv64_nommu_virt, + sipeed_maix_bit, sipeed_maix_bit_sdcard, sipeed_maix_dock, + sipeed_maix_dock_sdcard, sipeed_maix_go, + sipeed_maix_go_sdcard, sipeed_maixduino, + sipeed_maixduino_sdcard + + Removed defconfigs: andes_ae300, csky_gx6605s, + friendlyarm_nanopi_neo, minnowboard_max-graphical + + New packages: clpeak, compiler-rt, crucible, dbus-broker, dht, + double-conversion, dust, freeradius-server, gdal, hawktracer, + hyperfine, libb2, libdeflate, libdill, mbw, mender-connect, + minizip-zlib, nerdctl, ntpsec, opencl-hpp, opensc, + python-alembic, python-appdirs, python-beniget, + python-construct, python-dtschema, python-gast, python-kflash, + python-lark, python-maturin, python-mypy-extensions, + python-pylibfdt, python-pythran, python-pyrsistent, + python-qrcode, python-rfc3987, python-rtoml, + python-ruamel-yaml, python-scipy, python-typeguard, + python-typing-inspect, python-zlmdb, qt6base, rtl8723ds, + spirv-llvm-translator, tealdeer, uuu, vis-network, volk, + wolftpm, zeek, zerofree + + Removed packages: rtl8723bs + + Issues resolved: + + #14556: python-crossbar fails to build + #14951: boost compile error when running make silently + #14646: OpenSSH 8.9p1 compiler error under mipsel + #14841: support/download/git fails with "fatal: No such remote + 'origin'" due to incorrect check for origin remote + #13356: libabseil-cpp: not building for raspberry pi + #14911: host-python3 build needs python3 on the host + #13831: mesa3d - kmsro driver requires dri3 + #13816: xstart failed since update the x11 libraries + #13796: Problems compiling package gst-plugins-good + #14191: patchelf v0.9 corrupt Nvidia shared libraries + #14891: sudo: group setup fails since commit 9b7f8da96b + #14881: Watchdogd Package missing INSTALL_STAGING + #14876: arm-trusted-firmware can no longer be compiled with fPIE + +2022.05.3, released October 2nd, 2022 + + Important / security related fixes. + + Fixed compatibility issue with make 4.3 and the 'printvars' / + 'show-vars' commands. + + Dependencies: Ensure 'find' and 'xargs' are available on the + build host. + + A large number of typo fixes. + + Defconfigs: Galileo: Fix defconfig syntax, Licheepi zero: Fix + U-Boot dependencies, Bananapi m1, Olimx a20 olinuxino lime + 1+2, a33 olinuxino: Use standard FPU configuration, Pine 64 + sopine, Rockpro 64: Change to mainline ATF to fix build issue. + + Updated/fixed packages: ace, arm-trusted-firmware, + babeltrace2, boost, botan, busybox, clamav, cog, containerd, + cups, dhcpcd, directfb, docker-cli, docker-engine, connman, + edk2, edk2-platform, elf2flt, expat, ffmpeg, ficl, freeswitch, + gcc, gdb, git, glibc, gnutls, go, gocryptfs, graphicsmagick, + grub2, gst1-plugins-bad, gst1-plugins-good, heirloom-mailx, + icu, igh-ethercat, imagemagick, imx-gpu-viv, jack2, jose, + jpeg, jquery-ui-themes, kodi, kvm-unit-tests, libcamera, + libconfuse, libfreeimage, libglvnd, libgpg-error, libinput, + libmdbx, libp11, libsepol, libtirpc, libupnp, libvirt, + libvncserver, libwpe, libxml2, libzlib, linux, linux-tools, + lshw, m4, makedevs, mali-driver, mariadb, memcached, mesa3d, + minidlna, mosquitto, mutt, mv-ddr-marvell, ncurses, ne10, + netsniff-ng, networkd-dispatcher, ocrad, ola, opencv4, + openocd, openssh, openvmtools, pango, pcsc-lite, pistache, + polkit, postgis, postgresql, python-crossbar, + python-paho-mqtt, python-pygame, python-service-identity, + python-txdbus, python3, qemu, qlibc, + qoriq-cadence-dp-firmware, qt5xmlpatterns, ranger, redis, + rng-tools, rsync, rsyslog, rtl8189es, rtl8723bu, runc, rustc, + sconeserver, sdl2, snort, sox, sqlite, squid, stress-ng, + strongswan, sunxi-mali-utgard-driver, sysdig, syslinux, + syslog-ng, tcf-agent, tcpreplay, tesseract-ocr, tinyproxy, + uacme, uboot-tools, uclibc, unzip, usbguard, v4l2loopback, + vim, waffle, webkitgtk, weston, wolfssl, wpewebkit, xfsprogs, + xserver_xorg-server, xtables-addons, zziplib + + Issues resolved: + + #13216: [Documentation] 2020.02.6 requires GNU find utils + #14556: python-crossbar fails to build + #14796: 64 bit time and seccomp conflict (OpenSSH server crash) + #14951: boost compile error when running make silently + +2022.05.2, released August 31st, 2022 + + Important / security related fixes. + + dependencies: Ensure 'cmp' is available on the build host. + + pkg-utils: The KCONFIG_ENABLE_OPT macro used to enforce a specific + Kconfig option to be enabled (E.G. for kernel options needed by + packages) no longer changes a =m (modular) with =y (built in). + + check-host-rpath: Silence readelf warnings when clang is used + + GCC 10.x updated to 10.4.0 + + Defconfigs: Kria kv260: Fix u-boot configuration + + Updated/fixed packages: apg, arm-trusted-firmware, assimp, + bayer2rgb-neon, bind, bird, cog, cwiid, diffutils, freerdp, + fluidsynth, gcc, gdk-pixbuf, glibc, glslsandbox-player, + gnupg2, gtest, i2pd, jack2, jquery-validation, jszip, + kvm-unit-tests, libbsd, libcamera, libcurl, libest, libiio, + libkrb5, libopenssl, libp11, libpsl, libwebsockets, localedef, + luasyslog, lxc, mbedtls, mstpd, mutt, netdata, netsniff-ng, + nodejs, nvidia-driver, ola, openssl, opkg-utils, paho-mqtt-c, + pango, pcsc-lite, perl, perl-crypt-openssl-rsa, pimd, poppler, + postgis, powerpc-utils, pppd, protobuf-c, pulseaudio, + python-bottle, python-django, python-lxml, python3, qt5webkit, + redis, rpi-userland, rsyslog, runc, rustc, sconeserver, + sg3_utils, shadowsocks-libev, stellarium, suricata, swupdate, + tcpreplay, uacme, uclibc, v4l2loopback, webkitgtk, + wilc-driver, wine, wpewebkit, xdg-dbus-proxy, + xserver_xorg-server, zeromq, zfs, zlib-ng + + Issues resolved (http://bugs.uclibc.org): + + #13796: Problems compiling package gst-plugins-good + +2022.05.1, released July 24th, 2022 + + Important / security related fixes. + + Disable big endian no-mmu on ARM as it is not supported by + elf2flt. + + Tighten dependencies for external Bootlin toolchains to ensure + they can only be selected in compatible configurations. + + Support external toolchains without gdbserver. + + Updated/fixed packages: apache, avahi, bdwgc, bind, bpftool, + cups, darkhttpd, dmalloc, ecryptfs-utils, fxload, ghostscript, + gnutls, gst-omx, gst1-devtools, gst1-libav, gst1-plugins-base, + gst1-plugins-bad, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, gtest, iptables, keyutils, lcms2, + libabseil-cpp, libcamera, libcurl, libeastl, libgpgme, + libgtk3, libmdbx, libmediaart, libmodsecurity, libnetconf2, + libopenssl, libpjsip, libsamplerate, libsndfile, libtalloc, + logrotate, luajit, nginx, noip, paxtest, php, postgresql, + procrank_linux, pure-ftpd, python-pillow, qdecoder, + rabbitmq-server, rpi-userland, ruby, rustc, sofia-sip, + systemd, tcpreplay, tinyproxy, tor, uacme, uboot-tools, vim, + watchdogd, webkitgtk, weston, wireguard-linux-compat, + wpa_supplicant, wpewebkit, zstd + + Issues resolved (http://bugs.uclibc.org): + + #14881: Watchdogd Package missing INSTALL_STAGING + +2022.05, released June 6th, 2022 + + Fixes all over the tree. + + Rework BR2_STATIC_LIBS handling to ensure it can only be + enabled if a suitable C library is available. + + Updated/fixed packages: arm-trusted-firmware, at91bootstap, + boinc, boost, cpulimit, diffutils, edk2, eigen, fbv, gcr, + gensio, glibc, go, gtest, iucode-tool, kvm-unit-tests, libcec, + libcurl, libks, linux, linux-tools, lttng-modules, mariadb, + memcached, mono, musl, mutt, netdata, network-manager, nginx, + ogre, openjpeg, openvpn, pipewire, python-crossbar, qemu, + qpid-proton, rauc, rockchip-mali, rsyslog, + rtl8812au-aircrack-ng, ruby, runc, rustc, samba4, tiff, + uclibc, unrar, vim, webkitgtk, wpewebkit, + xdriver_xf86-video-ati, xml-security-c, zchunk, zlib-ng + + Issues resolved (http://bugs.uclibc.org): + + #14821: Samba server is failing to compile + #14826: make qemu_x86_64_defconfig stopped working + +2022.05-rc2, released May 30th, 2022 + + Fixes all over the tree. + + Defconfigs: qemu_ppc64*: Use binutils 2.36.1 to fix build + issue, qemu_arm_vexpress_tz: Fix optee-os build issue, + qemu_arm_versatile_nommu: Drop now that nommu for ARMv5 is no + longer available + + Updated/fixed packages: dhcp, edk2, gcr, glibc, i2pd, janet, + janus-gateway, libfreeimage, libnftnl, libnss, libodb-boost, + libostree, libwebsockets, linux-tools, midori, ntfs-3g, ola, + optee-client, pcsc-lite, pipewire, python-flask, + python-service-identity, python-werkzeug, qemu, rng-tools, + rockchip-mali, strace, xdriver_xf86-video-amdgpu + + Removed packages: ktap + +2022.05-rc1, released May 18th, 2022 + + Fixes all over the tree and new features. + + Toolchain: + - glibc update to 2.35, musl updated to 1.2.3 + - gcc 11.x updated to 11.3, support for external gcc 12.x + - binutils 2.38 added, 2.32/2.35.2 removed, default changed to 2.37 + - s390x Bootlin external toolchain added + - 5.17.x kernel headers support added + + Filesystem: + - Rework OCI entrypoint/command logic to handle command arguments + - Squashfs block size is now configurable + + Graphs: Also generate a build time timeline graph (for top + level parallel builds). + + scripts/pkg-stats: Optimize memory consumption for CPE parsing + + Fix compatibility issue with the fakeroot script logic and + modern versions of dash. + + Change git:// URLs pointing to Github to https://, now that + Github has turned off support for git:// + + New defconfigs: Octavo osd32mp1_brk / osd32mp1_red + + New packages: falcosecurity-libs, lzma-alone, octave, + python-flit-core, python-orjson, python-pydevmem, + qt5webengine-chromium, qt5webengine-chromium-catapult, ragel, + tbb, wilc-driver, wtfutil + + Wilc1000-firmware renamed to wilc-firmware + + Issues resolved (http://bugs.uclibc.org): + + #14596: package dialog is outdated and contains a bug + #14651: OpenSSH 8.9p1 compiler error under ARM + #14656: Adding dependencies from an external tree does not work + #14661: Fakeroot script relies on bash-isms, does not work with.. + #14681: QT5WEBENGINE not building + #14686: genimage.cfg have a hard-coded .ext4 extension which.. + #14701: Multiple unresolved symbols while building kernel .. + #14706: nodjs build problem + #14711: nodjs build problem missing bzip + #14721: python-argon2_cffi no longer works + #14731: BR2_PACKAGE_IOSTAT + #14751: LVM2 Outdated Link + +2022.02.12, released May 5th, 2023 + + Important / security related fixes. + + Updated/fixed packages: agentpp, apache, ca-certificates, + containerd, coremark, dcron, eudev, ffmpeg, git, + intel-microcode, kexec, lcdproc, libmicrohttpd, libosmium, + libxml2, linux-tools, matio, osm2pgsql, poppler, postgresql, + protozero, python-web2py, runc, s390-tools, samba4, snmppp, + sudo, tcpdump, uclibc, vim, webkitgtk, wpewebkit, + xserver_xorg-server + +2022.02.11, released March 19th, 2023 + + Important / security related fixes. + + Updated/fixed packages: apache, apr, apr-util, asterisk, + at91dataflashboot, audit, bash, bind, bridge-utils, clamav, + dmalloc, exfat, exfat-utils, f2fs-tools, gcc, git, + glslsandbox-player, go, haproxy, intel-gmmlib, ipmiutil, less, + libblockdev, libcurl, libev, libgcrypt, libmad, libmdbx, + libmodsecurity, libolm, libpjsip, lttng-babeltrace, mender, + mpv, mutt, mxs-bootlets, opensbi, opus, paho-mqtt-c, + pcm-tools, php, proxychains-ng, python-django, + python-m2crypto, python-werkzeug, quazip, quickjs, + rockchip-mali, rsync, sudo, tiff, uacme, uqmi, webkitgtk, + wpebackend-fdo, wpewebkit, xdriver_xf86-video-qxl, znc + + Issues resolved (http://bugs.uclibc.org): + + #15306: glibc build fails in Docker container + #15361: Buildroot linking error on Apple Silicon + +2022.02.10, released March 1st, 2023 + + Important / security related fixes. + + Fix make O=..._defconfig builds (regression in 2022.02.9). + + A number of additional/stricter checks have been added to + ./utils/check-package. + + Build host dependencies check extended to check for a number + of specific perl modules to better handle distributions (like + Fedora) with very fine grained perl packages. Also ensure + build host has git >= 2.0.0 when using packages written in + go/rust because the vendoring may need it. + + Defconfigs: ASUS tinker rk3288: Fix boot issue related to TPL + + Updated/fixed packages: afboot-stm32, apache, barebox, c-ares, + elf2flt, freeswitch, fwts, gcc, git, kodi, libgit2, libks, + libopenssl, live555, lua, lxc, mesa3d-headers, modsecurity2, + netopeer2, openjdk, openpowerlink, openvpn, opusfile, + postgresql, pugixml, python-future, qt5, sdl2, sofia-sip, + ssdp-responder, sudo, sunxi-mali-utgard, ti-sgx-km, tmux, + uboot, upx, vim, webkitgtk, wolfssl, wpewebkit, xlib_libXpm, + xserver_xorg-server, xxhash, xz, yajl, zabbix + + Issues resolved (http://bugs.uclibc.org): + + #15271: no start-qemu.sh + #15291: BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS without location + #15301: Selecting NAND Flash boot media (NAND_BOOT) breaks the uboot.. + +2022.02.9, released January 18th, 2023 + + Important / security related fixes. + + Br2-external: Fix make performance issue when many (> 6) + external trees are used together. + + Erofs: Use fixed timestamp and UUID when BR2_REPRODUCIBLE is + used. + + Go: Ensure our go build and module cache is used, even for the + download step. + + Legal-info: Stop warning about not saving sources for local / + override packages if _REDISTRIBUTE is set to NO. + + Linux: Fix build of < 5.6 kernels with host-gcc >= 10. + + A large number of NXP related packages and defconfigs have + been updated as upstream moved the git repositories to Github. + + Updated/fixed packages: asterisk, bearssl, botan, cairo, + capnproto, check, checkpolicy, connman, containerd, + docker-cli, docker-engine, exempi, exfat, exfat-utils, fmc, + fmlib, glib-networking, go, gobject-introspection, gperf, + i2pd, ima-evm-utils, imx-alsa-plugins, imx-kobs, imx-lib, + imx-m4fwloader, imx-mkimage, intel-microcode, janus-gateway, + libcurl, libftdi1, libksba, libmbim, libmng, libpjsip, + libtalloc, libuwsc, libxkbcommon, linux, lpeg, lrzsz, + lttng-tools, lua-cqueues, mbedtls, mfgtools, mutt, php, + policycoreutils, polkit, postgresql, pptp-linux, + qcom-db410c-firmware, qemu, qoriq-rcw, qt5virtualkeyboard, + rhash, rtl_433, ruby, sqlite, swupdate, tekui, tiff, tinyxml, + tor, wayland, wireshark, wpa_supplicant, + xdriver_xf86-video-imx-viv, xserver_xorg-server, xxhash, zip + + Issues resolved (http://bugs.uclibc.org): + + #14971: Kernel 3.10.108 fail to build in Buildroot 2022.08-rc1 + #14996: Too many directories in BR2_EXTERNAL causes hang during make + #15161: kernel can't support SUBDIR + #15196: Setting BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE does not work + #15226: lsblk: not found + +2022.02.8, released December 10th, 2022 + + Important / security related fixes. + + Updated/fixed packages: asterisk, dash, dovecot, + dovecot-pigeonhole, edk2, edk2-platforms, elf2flt, exim, + freerdp, gcc, gdb, git, gnupg2, heimdal, iwd, kodi, + libarchive, libmdbx, libkrb5, libksba, libopenssl, memcached, + netsnmp, nginx, openpgm, optee-client, python3, rsync, + rtl8723bu, samba4, sdl, sdl2, swupdate, sysstat, systemd, + uboot, vim, vlc, xen, xterm + + Issues resolved (http://bugs.uclibc.org): + + #15131: Target GDB uses internal zlib + +2022.02.7, released November 17th, 2022 + + Important / security related fixes. + + Defconfig: Pine64: Change to mainline ATF to fix build + issue, Zynqmp zcu102 / zcu106: Fix pmufw reset issue + + Updated/fixed packages: arm-trusted-firmware, bind, botan, + collectd, darkhttpd, dbus, dhcp, dnsmasq, docker-cli, + docker-engine, exfatprogs, expat, f2fs-tools, faad2, ffmpeg, + freerdp, gnutls, go, gpsd, grub2, gsl, gst-omx, gst1-devtools, + gst1-libav, gst1-plugins-bad, gst1-plugins-base, + gst1-plugins-good, gst1-plugins-ugly, gst1-python, + gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, hdparm, hostapd, imagemagick, + iwd, jack2, libbpf, libcurl, libfribi, libidn2, libinput, + libmdbx, libopenssl, libosip2, libpng, libtasn1, + libtorrent-rasterbar, libuhttpd, libvncserver, libxml2, linux, + linux-tools, lldpd, lrzip, lz4, matchbox-startup-monitor, + msmtp, multipath-tools, mupdf, musl, mv-ddr-marvell, mxml, + nodejs, ntfs-3g, numactl, openvmtools, oracle-mysql, + paho-mqtt-c, perl-net-ssleay, php, pixman, poppler, procps-ng, + python-django, python3, qdecoder, rpi-userland, rsync, + rtl8189es, rtl8189fs, rtl8723bu, rtl8812au-aircrack-ng, + rtl8821au, rtl_433, samba4, shapelib, socat, squid, sqlite, + squashfs, strongswan, sudo, swupdate, timescaledb, u-boot, + uclibc-ng-test, udisks, uftp, uhd, umtprd, vim, wavemon, + wireguard-linux-compat, wolfssl, wpa_supplicant, wpewebkit, + zlib-ng, zsh + + Issues resolved (http://bugs.uclibc.org): + + #15026: package/udisks: install to staging + #15061: Node.js Package fails to build against musl i386 + +2022.02.6, released October 2nd, 2022 + + Important / security related fixes. + + Fixed compatibility issue with make 4.3 and the 'printvars' / + 'show-vars' commands. + + Dependencies: Ensure 'find' and 'xargs' are available on the + build host. + + A large number of typo fixes. + + Defconfigs: Galileo: Fix defconfig syntax, Licheepi zero: Fix + U-Boot dependencies, Bananapi m1, Olimx a20 olinuxino lime + 1+2, a33 olinuxino: Use standard FPU configuration, Pine 64 + sopine, Rockpro 64: Change to mainline ATF to fix build issue. + + Updated/fixed packages: ace, arm-trusted-firmware, + babeltrace2, boost, botan, busybox, clamav, cog, connman, + containerd, cups, dhcpcd, directfb, docker-cli, docker-engine, + edk2, edk2-platforms, elf2flt, expat, ffmpeg, ficl, + freeswitch, freetype, gcc, gdb, git, gnutls, go, + graphicsmagic, grub2, gst1-plugins-bad, gst1-plugins-good, + heirloom-mailx, icu, igh-ethercat, imagemagick, imx-gpu-viv, + jose, jpeg, jquery-ui-themes, kodi, libconfuse, libfreeimage, + libglvnd, libgpg-error, libinput, libmdbx, libsepol, libtirpc, + libupnp, libvirt, libvncserver, libwpe, libxml2, libzlib, + linux, linux-tools, lshw, m4, makedevs, makedumpfile, + mali-driver, mariadb, memcached, mesa3d, minidlna, mosquitto, + mutt, mv-ddr-marvell, ncurses, ne10, netsniff-ng, + networkd-dispatcher, ocrad, opencv4, openocd, openssh, pango, + pcsc-lite, polkit, postgis, postgresql, python-paho-mqtt, + python-pygame, python3, qemu, qlibc, + qoriq-cadence-dp-firmware, qt5xmlpatterns, ranger, rng-tools, + rsync, rsyslog, rtl8189es, rtl8723be, runc, rustc, + sconeserver, sdl2, snort, sox, sqlite, squid, stress-ng, + strongswan, sunxi-mali-utgard-driver, syslinux, syslog-ng, + tcf-agent, tcpreplay, tesseract-ocr, tinyproxy, uacme, + uboot-tools, uclibc, unzip, usbguard, v4l2loopback, vim, + webkitgtk, wolfssl, wpewebkit, xfsprogs, xserver_xorg-server, + xtables-addons, zziplib + + Issues resolved: + + #13216: [Documentation] 2020.02.6 requires GNU find utils + #14796: 64 bit time and seccomp conflict (OpenSSH server crash) + #14951: boost compile error when running make silently + +2022.02.5, released August 31st, 2022 + + Important / security related fixes. + + dependencies: Ensure 'cmp' is available on the build host. + + pkg-utils: The KCONFIG_ENABLE_OPT macro used to enforce a specific + Kconfig option to be enabled (E.G. for kernel options needed by + packages) no longer changes a =m (modular) with =y (built in). + + check-host-rpath: Silence readelf warnings when clang is used + + GCC 10.x updated to 10.4.0 + + Updated/fixed packages: apg, arm-trusted-firmware, assimp, + bayer2rgb-neon, bind, bird, cog, cwiid, diffutils, fluidsynth, + freerdp, gcc, glibc, glslsandbox-player, gdk-pixbuf, gnupg2, + gtest, i2pd, jack2, jquery-validation, jszip, libbsd, libcamera, + libcurl, libest, libiio, libkrb5, libopenssl, libpsl, + luasyslog, lxc, mbedtls, mstpd, mutt, netdata, netsniff-ng, + nodejs, nvidia-driver, openssl, opkg-utils, paho-mqtt-c, + pango, pcsc-lite, perl, pimd, poppler, postgis, powerpc-utils, + pppd, protobuf-c, pulseaudio, python-bottle, python-django, + python-lxml, python3, qt5webkit, rpi-userland, rsyslog, runc, + rustc, sconeserver, sg3_utils, shadowsocks-libev, suricata, + tcpreplay, uacme, uclibc, v4l2loopback,, webkitgtk, wine, + wpewebkit, xdg-dbus-proxy, xserver_xorg-server, zeromq, zfs, + zlib-ng + + Issues resolved (http://bugs.uclibc.org): + + #13796: Problems compiling package gst-plugins-good + #14926: package/nodejs: build for host fails with GTEST errors + +2022.02.4, released July 28th, 2022 + + Important / security related fixes. + + Disable big endian no-mmu on ARM as it is not supported by + elf2flt. + + Tighten dependencies for external Bootlin toolchains to ensure + they can only be selected in compatible configurations. + + Support external toolchains without gdbserver. + + Updated/fixed packages: apache, avahi, bdwgc, bind, bpftool, + cups, darkhttpd, dmalloc, ecryptfs-utils, fxload, ghostscript, + gnutls, gst-omx, gst1-devtools, gst1-libav, gst1-plugins-base, + gst1-plugins-bad, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, gtest, iptables, keyutils, lcms2, + libabseil-cpp, libcamera, libcurl, libeastl, libgpgme, + libgtk3, libmdbx, libmediaart, libmodsecurity, libnetconf2, + libopenssl, libpjsip, libsamplerate, libsndfile, libtalloc, + logrotate, luajit, nginx, noip, paxtest, php, postgresql, + procrank_linux, pure-ftpd, python-pillow, qdecoder, + rabbitmq-server, rpi-userland, rustc, sofia-sip, systemd, + tcpreplay, tinyproxy, tor, uacme, uboot-tools, vim, watchdogd, + webkitgtk, wireguard-linux-compat, wpa_supplicant, wpewebkit, + zstd + + Issues resolved (http://bugs.uclibc.org): + + #14881: Watchdogd Package missing INSTALL_STAGING + +2022.02.3, released June 19th, 2022 + + Important / security related fixes. + + Infrastructure: Fix building under paths containing regex + characters (E.G. '+') + + Toolchain: Only allow ppc64le variants for which a + glibc/musl/uclibc toolchain is supported. + Mark codescape mti/img mips toolchains as shared library only + (glibc). + + Updated/fixed packages: arm-trusted-firmware, + at91dataflashboot, boinc, dhcp, diffutils, edk2, fbv, gensio, + glibc, go, gtest, iucode-tool, janet, libcec, libcurl, + libfreeimage, libnftnl, libodb-boost, linux, linux-tools, + lttng-modules, mariadb, memcached, mono, mutt, + network-manager, nginx, ntfs-3g, ogre, openjpeg, openvpn, + qemu, qpid-proton, qt5webengine, rauc, rockchip-mali, rsyslog, + ruby, runc, rustc, samba4, strace, tiff, uclibc, unrar, vim, + webkitgtk, wpewebkit, xdriver_xf86-video-amdgpu, + xdriver_xf86-video-ati, zlib-ng + + New packages: qt5webengine-chromium, + qt5webengine-chromium-catapult + + Issues resolved (http://bugs.uclibc.org): + + #14766: package dhcp on buildroot 2022.02.1 failed + #14821: Samba server is failing to compile + #14826: make qemu_x86_64_defconfig stopped working + +2022.02.2, released May 29th, 2022 + + Important / security related fixes. + + Archictures: Drop sh2a, correct x86 Bonnell variant + + Toolchain: Bump GCC 11.x to 11.3, correct pre-installed + external toolchain logic when toolchain is available in path. + + Rework OCI filesystem entrypoint/command logic to handle + command arguments + + Defconfigs: Update Zynqmp zcu102/106 to final 2022.1 release, + fix zcu106 PLL config + + Updated/fixed packages: adwaita-icon-theme, afboot-stm32, + aircrack-ng, alchemy, alsa-lib, arptables, assimp, asterisk, + aubio, avrdude, azure-iot-sdk-c, batman-adv, binutils, + bpftool, brotli, cairo, cifs-utils, clamav, cryptodev-linux, + dhcp, diffutils, dmalloc, duktape, e2fsprogs, elf2flt, espeak, + expat, ffmpeg, fluidsynth, freerdp, gcc, git, glorytun, + glslsandbox-player, gnutls, go, gst1-imx, gst1-plugins-good, + gzip, imagemagick, janus-gateway, keepalived, kompexsqlite, + kvm-unit-tests, libarchive, libcgi, libcurl, libevdev, + libeXosip2, libhtp, libinput, libkcapi, libkrb5, libks, + libmdbx, libmnl, libnpupnp, libnspr, libopenssl, liboping, + libpjsip, libpri, libselinux, libsigsegv, libv4l, + libwebsockets, libxml2, linux, linux-tools, ltp-testsuite, + luajit, lvm2, mali-driver, mariadb, mc, minizip, mpd, mutt, + netatalk, netsurf, network-manager, nodejs, numactl, nut, + omniorb, openbox, opencv4, openjdk, openjdk-bin, openocd, + pamtester, pango, pcre2, php, php-apcu, pinentry, pixman, + polkit, postgis, postgresql, pure-ftpd, python-aenum, + python-avro, python-django, python-pillow, python-simplejson, + python-urllib3, python-zopfli, python3, qemu, qpdf, quazip, + redis, rockchip-mali, rsync, rt-tests, rust, rtl8818eu, + rtl8189es, rtl8189fs, rtl_433, sam-ba, samba4, sdl2_ttf, + shadowsocks-libev, shim, subversion, sun20i-d1-spl, suricata, + systemd, tftpd, trinity, tvheadend, udev, uftrace, + urandom-scripts, usb_modeswitch, valgrind, vde2, vim, + wireplumber, wolfssl, wpa_supplicant, xlib_libXfont2, xz, + zlib, zlog + + Issues resolved (http://bugs.uclibc.org): + + #14751: LVM2 Outdated Link + +2022.02.1, released April 11th, 2022 + + Important / security related fixes. + + Graphs: Also generate a build time timeline graph (for top + level parallel builds). + + scripts/pkg-stats: Optimize memory consumption for CPE parsing + + Fix compatibility issue with the fakeroot script logic and + modern versions of dash. + + Change git:// URLs pointing to Github to https://, now that + Github has turned off support for git:// + + Updated/fixed packages: ace, apache, apr, apr-util, belr, + bind, bluez5_utils, boinc, bpftool, busybox, cloop, cog, + containerd, cppcms, dav1d, dhcp, dieharder, dnsmasq, + docker-cli, docker-engine, efl, ell, fakeroot, flac, + fluidsynth, gdk-pixbuf, glib-networking, gnutls, gst-omx, + gst1-devtools, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, haproxy, htop, intel-gmmlib, + ipmiutil, iwd, jack1, jack2, lftp, libabseil-cpp, libbluray, + libcamera-apps, libcoap, libcurl, libest, libgee, libglib2, + libgtk3, libiec61850, libkrb5, libminiupnpc, libodb, + libodb-boost, libopenssl, libp11, libpsl, libressl, librstp, + librtlsdr, liburing, libyang, libzlib, luasec, lxc, matio, + meson, minidlna, minizip, mpd, mtools, netatalk, nbd, odb, + openblas, openssh, openvpn, optee-os, opus, paho-mqtt-c, + pango, php, pipewire, pkcs11-helper, postgresql, ppp, + protozero, python-aioconsole, python-avro, python-brotli, + python-greenlet, python-paramiko, python-pillow, + python-rpi-gpio, python-treq, python-twisted, python-ujson, + python-weasyprint, qt5base, qt5wayland, raptor, rpi-firmware, + rpi-userland, rtl_433, runc, rust, rygel, samba4, + shairport-sync, spice, spidev_test, stunnel, systemd, + timescaledb, trace-cmd, trousers, ts4900-fpga, tvheadend, + udpcast, unbound, upower, urandom-scripts, usbguard, valgrind, + valijson, vim, wavpack, wget, wireplumber, wireshark, woff2, + xmrig, zabbix, zlib-ng, zynaddsubfx, zziplib + + Issues resolved (http://bugs.uclibc.org): + + #13971: ip6tables-nft build does not include MASQUERADE target.. + #14651: OpenSSH 8.9p1 compiler error under ARM + #14656: Adding dependencies from an external tree does not work + #14661: Fakeroot script relies on bash-isms, does not work .. + #14686: genimage.cfg have a hard-coded .ext4 extension which.. + #14701: Multiple unresolved symbols while building kernel .. + #14711: nodjs build problem missing bzip + #14731: BR2_PACKAGE_IOSTAT + +2022.02, released March 8th, 2022 + + Various fixes. + + Fixes to cargo and golang packaging infrastructure. + + Defconfigs: OrangePi RK3399: Fix genimage format + + Updated/fixed packages: azure-iot-sdk-c, bpftool, cog, + directfb, directfb-examples, dnsmasq, docker-engine, expat, + freerdp, frr, gdb, ghostscript, glib-networking, go, haproxy, + hostapd, kf5-extra-cmake-modules, kf5-kcoreaddons, + kf5-modemmanager-qt, kf5-networkmanager-qt, libcamera-apps, + libgee, libglfw, librstp, libtorrent, libvirt, libxslt, linux, + mariadb, oprofile, osm2pgsql, pulseview, python-cryptography, + python-gnupg, python-treq, qt5base, qt5webkit, rauc, re2, + rygel, safeclib, sconeserver, seatd, sord, upmpdcli, + util-linux, weston, wpa_supplicant, xdriver_xf86-video-mach64, + xdriver_xf86-video-nouveau, xdriver_xf86-video-qxl, + xscreensaver, zabbix + + New packages: gdk-pixbuf-xlib + + Removed packages: python-pycli + + Issues resolved (http://bugs.uclibc.org): + + #13126: make fails - bzip2-1.0.6.tar.gz and DirectFB-1.7.7.tar.. + #14611: 2022.02-rc2: Build of BR2_x86_64 with BR2_LINUX_KERNEL_.. + #14631: host-go-bootstrap: go not being built for package in .. + #14636: azure-iot-sdk-c: Installed headers do not compile + #14641: oprofile can not find the events files + +2022.02-rc3, released February 28th, 2022 + + Fixes all over the tree. + + Defconfigs: Xilinx zynqmp zcu102/zcu106: Fix U-Boot DTS config + + Updated/fixed packages: bluez5_utils, bpftool, dbus, exempi, + flac, freerdp, frr, gnutls, libpjsip, libxml2, mariadb, + openssh, python-twisted, qt5webkit, samba4, vim, weston, + wireshark, wolfssl, xdg-dbus-proxy, xterm, + +2022.02-rc2, released February 20th, 2022 + + Fixes all over the tree. + + Defconfigs: Friendlyarm Nanopi R2S: Fix U-Boot build, Kontron + BL i.MX8M Mini: Fix U-Boot build, PC Engines APU2: Fix Linux + build, ROC-RK3399-PC: Bump rootfs size to fix build + + Updated/fixed packages: apache, apparmor, apr-util, arp-scan, + binutils, bluez5_utils, connman, cryptsetup, dnsmasq, + dovecot-pigeonhole, expat, gdk-pixbuf, gst1-plugins-base, + guile, keepalived, kodi, libbpf, libglvnd, libgsasl, libiconv, + librsvg, libuhttpd, libusb, libv4l, luasyslog, mongrel2, neon, + pcre, perl-netaddr-ip, php, psmisc, python-ipython, + python-pycli, python-pygame, python-regex, python-twisted, + qt5location, qt5webkit, resiprocate, rygel, safeclib, + sdl2_ttf, socketcand, strongswan, sudo, systemd, toolchain, + urg, webkitgtk, wireless-regdb, wpewebkit, + xdriver_xf86-video-{ati,mach64,mga,r128,savage,tdfx}, xz, zfs, + zsh + +2022.02-rc1, released February 13th, 2022 + + Numerous package updates and many (80) new packages. + + Toolchain: + - glibc: Optional support for compatibility shims for running + on older kernels than what glibc has been built against + - uClibc: Use uClibc-ng 1.0.40 + - External toolchains: Update Bootlin toolchains to 2021.11-1 + version + + Python 2.7 and python 2.x specific packages removed as python + 2.x is EOL since April 2020. Likewise a number of python3 + specific host packages has been renamed (host-python-foo + instead of host-python3-foo) now host-python is always python + 3.x. + + Cargo (Rust) package infrastructure added. Vendoring support + added to golang package infrastructure. + + New defconfigs: FriendlyARM NanoPi R2S, Kontron BL i.MX8M + Mini, Microchip Sama7g7ek, Olimex STMP157 OlinuXino LIME2, + QEMU PPC Bamboo, PPC64 PowerNV, Raspberry Pi Zero 2W, Spike + Riscv64, Xilinx zcu102 + + Removed defconfigs: Synopsys arch38 VDK, aarch64 VDK + + New packages: ace, alchemy, alfred, bat, bento4, bmx7, + bpftool, brcmfmac_sdio-firmware-rpi, cfm, cups-pk-helper, + davinci-bootcount, dbus-cxx, embiggen-disk, freeipmi, + gocryptfs, kodi-pvr-plutotv, kodi-pvr-waipu, ksmbd-tools, + libcamera-apps, libest, libexecinfo, libfutils, libglvnd, + libks, libmd, libopenaptx, libpeas, libshdata, liburing, lilv, + lua-argon2, lua-cffi, lua-inotify, lv2, mali-driver, + moby-buildkit, modsecurity2, networkd-dispatcher, pahole, + php-apcu, php-lua, php-pam, python-argon2-cffi-bindings, + python-cssselect2, python-distro, python-fonttools, + python-gnupg, python-installer, python-memory-profiler, + python-mpd2, python-pep517, python-pydyf, python-pypa-build, + python-pyphen, python-tinycss2, python-tomli, + python-weasyprint, python-zopfli, qoriq-cadence-dp-firmware, + riscv-isa-sim, rockchip-mali, rpi-rgb-led-matrix, sdbus-cpp, + sentry-cli, serd, simple-mail, sord, sratom, + sunxi-mali-utgard, sunxi-mali-utgard-driver, tinifier, ulog, + vulkan-headers, xlib_libxcvt, zabbix, zchunk, zynaddsubfx + + Removed packages: gstreamer1-mm, python, python-backports-abc, + python-backports-functools-lru-cache, + python-backports-shutil-get-terminal-size, + python-backports-ssl-match-hostname, python-configobj, + python-dialog, python-enum, python-enum34, python-functools32, + python-futures, python-id3, python-ipaddr, python-ipaddress, + python-mad, python-nfc, python-pam, python-pathlib2, + python-pycap, python-pyro, python-singledispatch, + python-subprocess32, python-typing, python-yieldfrom, + qt5webkit-examples, rpi-bt-firmware, rpi-wifi-firmware, + sunxi-mali-mainline, sunxi-mali-mainline-driver, zynq-boot-bin + + Issues resolved (http://bugs.uclibc.org): + + #12271: python-iptables runtime dependencies + #13436: PPP 2.4.9 is out + #14351: needs to mount sysfs before mount -a + #14451: nodejs won't build on Fedora 35 + #14471: alsa_utils wrong deployment + #14501: lttng-modules v2.11 package fails to build + #14531: Package EFL - build error + +2021.11.3, released March 24th, 2022 + + Important / security related fixes. + + Updated/fixed packages: apache, azure-iot-sdk-c, boinc, dbus, + directfb, docker-engine, exempi, expat, flac, gdb, gdk-pixbuf, + gnutls, go, haproxy, libcurl, libiec61850, libminiupnpc, + libodb, libodb-boost, libopenssl, libpjsip, libressl, librsvg, + libsrtp, libvirt, libxml2, libxslt, lxc, mariadb, minidlna, + odb, openblas, openvpn, oprofile, php, pppd, python-ipython, + python-twisted, raptor, rpi-firmware, samba4, seatd, + timescaledb, usbguard, util-linux, vim, wavpack, + wireless-regdb, wireplumber, wireshark, wolfssl, xscreensaver, + xterm, zsh + + New packages: gdk-pixbuf-xlib + + Issues resolved (http://bugs.uclibc.org): + + #13126: make fails - bzip2-1.0.6.tar.gz and DirectFB-1.7.7.tar.. + #14636: azure-iot-sdk-c: Installed headers do not compile + #14641: oprofile can not find the events files + +2021.11.2, released February 28th, 2022 + + Important / security related fixes. + + Defconfigs: Andes ae3xx, Intel galileo: Fix build with host + gcc >= 10, ROC-RK3399-PC: Bump rootfs size to fix build issue. + + Add conditional patching logic to fix build issues for older + U-Boot / Linux kernel versions when built with a host gcc >= + 10. + + Updated/fixed packages: apitrace, binutils, casync, cgilua, + connman, expat, gauche, gdb, gensio, glibc, go, gst-omx, + gst1-devtools, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, kf5-extra-cmake-modules, kodi, + libarchive, linux, lm-sensors, localedef, log4cxx, mpd, + nfs-utils, php, pistache, pkcs11-helper, prosody, + python-django, python-pyzmq, python-regex, + python-sqliteschema, resiprocate, rtl8723bu, thermald, tiff, + tor, util-linux, vim, xen + +2021.11.1, released January 29th, 2022 + + Important / security related fixes. + + check-package: Improve variable override check + + pkg-stats: List CVEs where the version info cannot be parsed + as unsure rather than completely ignoring them. + + Defconfigs: Beaglebone: Support BeagleBone black wireless, + stm32f469_xip_disco: Fix kernel boot + + Updated/fixed packages: alsa-utils, apache, binutils, cage, + capnproto, civetweb, clamav, collectd, connman, containerd, + coreutils, dav1d, docker-cli, docker-engine, erlang, + erlang-rebar, expat, findutils, flare-engine, flare-game, + font-awesome, freeswitch, gcc, ghostscript, glibc, gnuchess, + go, grpc, gst1-interpipe, gst1-rtsp-server, gupnp-tools, + hackrf, icu, imagemagick, janus-gateway, json-for-modern-cpp, + keepalived, lapack, libdbi, libiio, libjpeg, libmbim, libnss, + libopenssl, libpjsip, libqmi, liburiparser, libvirt, + linux-pam, lxc, mbedtls, mender, mongodb, mpd-mpc, mutt, + nodejs, openblas, pcre2, php, pipewire, polkit, privoxy, + prosody, python-charset-normalizer, python-django, + python-idna, python-lxml, python-pyqt5, python-requests, + python-urllib3, python3, qt5base, qt5location, rhash, + rng-tools, ruby, runc, rustc, samba4, sofia-sip, targetcli-fb, + tcpreplay, tinyxml, tor, tpm2-tss, util-linux-libs, vim, vlc, + wireshark, xapp_xauth, xapp_xinput-calibrator, xen, xenomai, + xlib_libX11, xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #14451: nodejs won't build on Fedora 35 + #14471: alsa_utils wrong deployment + +2021.11, released December 5th, 2021 + + Various fixes. + + Defconfigs: Grinn chiliboard/liteboard, PC x86-64 bios: Fix + build + + Updated/fixed packages: apr, coreutils, diffutils, e2fsprogs, + exfat, freeswitch, gnupg, grub2, gstreamer1, guile, heimdal, + hiawatha, hplip, icu, janus-gateway, + kodi-screensaver-asterwave, kodi-screensaver-cpblobs, + kodi-screensaver-matrixtrails, libatomic_ops, libbson, libffi, + libgdiplus, libgee, libhtp, libite, libnspr, libnss, + libunwind, lynx, mender-grubenv, mkpasswd, motion, mxml, + netdata, qemu, samba4, speex, stress-ng, tinydtls, unixodbc, + unrar, util-linux, util-linux-libs, watchdogd, wireshark + + Issues resolved (http://bugs.uclibc.org): + + #14351: needs to mount sysfs before mount -a + #14411: 2021.11-rc2: Samba doesn't compile + +2021.11-rc3, released November 30th, 2021 + + Fixes all over the tree. + + Defconfigs: Nitrogen8mp: Fix Linux build, Zynqmp-zxu106: Fix + ATF build + + Updated/fixed packages: asterisk, automake, gdb, glorytun, + gmp, hackrf, libgee, libglib2, libmodsecurity, libosmium, + libressl, lighttpd, linux, micropython, mosquitto, mtd, + nfs-utils, nss-myhostname, pcre, php, poco, pure-ftpd, + python-cycler, qemu, qdecoder, smack, smcroute, spidev_test, + strace, syslinux, toolchain, uboot, uhd, vim, websocketpp, + wireshark, xcursor-transparent-theme, xscreensaver, + xtables-addons + + Issues resolved (http://bugs.uclibc.org): + + #14346: BR2_PACKAGE_NFS_UTILS_RPC_NFSD does not patch CONFIG_NFSD.. + +2021.11-rc2, released November 19th, 2021 + + Fixes all over the tree. + + Coding style fixes for a large number of board genimage + configuration files for clarity and consistency. + + Defconfigs: Acmesystems Aria/Arietta g25, Armadeus + apf28/apf51, beagleboneai, Olimx a64, rock64, sheevaplug: Fix + build with hostcc >= 10, Nezha: Correct U-Boot dependencies + + Updated/fixed packages: alsa-lib, apparmor, binutils, + bluez5_utils, botan, diffutils, firmware-utils, gdb, glmark2, + glog, gpu-amd-bin-mx51, gst1-interpipe, imx-vpuwrap, iperf, + isl, janet, libdnet, libglib2, libhtp, liburcu, log4cxx, + luajit, luvi, meson, mksh, mongodb, mosquitto, mpd, mupdf, + opencv4, oracle-mysql, pipewire, postgresql, python-aiohttp, + python-pudb, python-ujson, qhull, samba4, seatd, sg3_utils, + suricata, tpm2-tss, uboot, vim, xserver_xorg-server + + New packages: pipewire-media-session + + Issues resolved (http://bugs.uclibc.org): + + 14311: Cannot compile dahdi (part of Asterisk) for x86 (P1mmx) + +2021.11-rc1, released November 8th, 2021 + + Numerous package updates. Notable updates including numerous + Python modules, Kodi add-ons, nodejs, OpenJDK. + + Toolchain: + - glibc update to 2.34 + - support for gdb 11.x added, gdb 10.x now the default + - external toolchains provided by ARM updated + - remove support for internal toolchain on the CSKY + architecture, as it was broken and unmaintained + + Many packages updated to enable the appropriate SELinux + refpolicy module when SELinux support is enabled. + + Support was added in the test-pkg package testing utility for + using Gitlab CI to run the builds. + + New libgbm virtual package to better support OpenGL + implementations that provide a libgbm library. + + Bootloaders/firmware: grub2 extended to be able to support + multiple platforms in the same build. + + Filesystems: + - new OCI filesystem type, to build container images + compatible with the Open Container Initiative standard + - support for hybrid ISO9660 images added, which work on + legacy and EFI BIOS machines + + New defconfigs: Allwinner nezha, stm32mp157c_odyssey + + Removed defconfigs: qemu_csky + + New packages: dtbocfg, firmware-utils, gstd, libdbi, + libdbi-drivers, libteam, lua-augeas, mstpd, php-pecl-dbus, + python-aioprocessing, python-bidict, + python-charset-normalizer, python-flask-expects-json, + python-git, python-pyndiff, python-rsa, + python-unitest-xml-reporting, python-xmljson, + python3-cryptography, python3-pip, qt5opcua, rwmem, + sloci-image, softhsm2, sun20i-d1-spl, uqmi, vuejs-router, + watchdogd, wireplumber + + Removed packages: canfestival, python-meld3 + + Work toward the removal of python 2 has progressed: many + python modules and packages have been updated to a version + supporting python 3. + + Issues resolved (http://bugs.uclibc.org): + + #14271: compilation error with rsync command for permission + #14276: Unable to get login prompt + #14196: when using raspberrypicm4io_64_defconfig, make fails + with mkfs.ext4: No such file or directory while trying + to determine filesystem size + +2021.08.3, released December 13th, 2021 + + Important / security related fixes. + + Defconfigs: Various fixes for building with gcc >= 10 host or + target compilers. + + Updated/fixed packages: alsa-lib, apparmor, apr, asterisk, + binutils, bluez5_utils, coreutils, e2fsprogs, exfat, + freeswitch, gdb, glmark2, glog, glorytun, gmp, + gpu-amd-bin-mx51, gst1-interpipe, gstreamer1, guile, gupnp, + hackrf, heimdal, hiawatha, hplip, icu, imx-vpuwrap, isl, + janus-gateway, libatomic_ops, libbson, libdnet, libffi, + libgdiplus, libgee, libglib2, libhtp, libmodsecurity, libnspr, + libnss, libosmium, libunwind, linux, lynx, meson, micropython, + mkpasswd, mksh, mosquitto, motion, mupdf, mxml, netdata, + nfs-utils, opencv4, oracle-mysql, pcre, php, postgresql, + pure-ftpd, python-cycler, qdecoder, rcw-smarc-sal28, samba4, + smack, speex, stress-ng, suricata, syslinux, uboot, unixodbc, + unrar, vim, websocketpp, wireshark + + Issues resolved (http://bugs.uclibc.org): + + #14346: BR2_PACKAGE_NFS_UTILS_RPC_NFSD does not patch CONFIG_NFSD.. + +2021.08.2, released November 10th, 2021 + + Important / security related fixes. + + Updated/fixed packages: asterisk, audit, bind, bitcoin, + containerd, cryptsetup, dahdi-linux, dbus-python, dfu-util, + docker-cli, docker-engine, earlyoom, edk2-platforms, exiv2, + ffmpeg, freerdp, gdb, gensio, gnupg2, go, gpsd, + gst1-plugins-bad, gst1-plugins-ugly, gst1-vaapi, gtest, + hiredis, lftp, libps1, libva, libva-utils, lightning, + log4cplus, lrzip, netdata, nodejs, olsr, openjdk, openjdk-bin, + pango, php, python3-cffi, qemu, refpolicy, rng-tools, samba4, + snort, strongswan, sunxi-mali-mainline-driver, suricata, + systemd, tor, vim, weston, wf111, wireguard-linux-compat, + xerces + + Issues resolved (http://bugs.uclibc.org): + + #14311: Cannot compile dahdi (part of Asterisk) for x86 (P1mmx) + +2021.08.1, released October 11, 2021 + + Important / security related fixes. + + gdbinit: Mark the sysroot as a "safe path" before configuring + it, so pretty printers work correctly without having to pass + -ix to gdb + + Updated/fixed packages: alsa-lib, apache, + arm-trusted-firmware, atftp, bind, botan, cog, containerd, + cryptopp, docker-cli, dash, dc3dd, docker-engine, dovecot, + environment-setup, erlang, fetchmail, ffmpeg, fio, gcc, gd, + gdb, ghostscript, gnuradio, gnutils, go, + gobject-introspection, google-breakpad, gst-omx, + gst1-devtools, gst1-interpipe, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, gupnp, haproxy, imlib2, kodi, + kodi-pvr-octonet, kodi-visualisation-fishbmc, libcurl, + libexif, libgcrypt, libglib2, libkrb5, libressl, librsvg, + libsndfile, libssh, libvirt, libxcrypt, libyang, links, lvm2, + lynx, lxc, mc, mesa3d, micropython, minicom, mono, mosquitto, + mtr, mupdf, mv-ddr-marvell, net-tools, nginx-dav-ext, nmap, + nodejs, ntfs-3g, openjdk, openjdk-bin, openldap, openssh, + pcre2, php, php-gnupg, pipewire, postgis, python-aioconsole, + python-cbor2, python-cffi, python-cython, python-dateutil, + python-django, python-pillow, python-pip, python-texttable, + python-urllib3, python-webob, qemu, qt5location, redis, + refpolicy, ripgrep, ruby, runc, sispmctl, sox, squid, + strongswan, supervisor, swupdate, syslinux, systemd, tinycbor, + trace-cmd, uboot-tools, uclibc, udisks, uhd, vim, vsftpd, + wavemon, webkitgtk, wget, wireless-regdb, wpewebkit, + xapp_xrdb, xapp_xwd, xen, xlib_libXfont2, xlib_libXft, + xserver_xorg-server, zip + + Issues resolved (http://bugs.uclibc.org): + + #14206: Kodi: even when not enabled, forcefully selects libevdev.. + #14211: libffi-3.3.tar.gz repacked + #14221: mv-ddr-marvell fails license validation + +2021.08, released September 4th, 2021 + + Various fixes. + + Updated/fixed packages: gstreamer1-mm, netsniff-ng, nginx, + openmpi, python-pyudev, python3, qt5base, wlroots, xvisor + +2021.08-rc3, released August 31st, 2021 + + Fixes all over the tree. + + Toolchain: Disable fortify support for Microblaze as it is not + currently working. + + Defconfigs: Acmesystems aria/ariette g25: Fix build issue + after at91bootstrap bump, BeagleV: Correct kernel headers + version, PC x86-64: Bump kernel to 4.19.204 to fix build issue + with GCC 10.x. + + Updated/fixed packages: alsa-utils, at91bootstrap3, belle-sip, + bullet, c-ares, cjson, coreutils, cpio, eigen, fetchmail, gdb, + haproxy, heirloom-mailx, ipmiutil, kvm-unit-tests, libarchive, + libffi, libmodsecurity, libopenssl, libressl, libshout, + libvirt, linux-pam, lmbench, localedef, lua-lunix, mesa3d, + mpv, mtd, nodejs, nvidia-driver, openvmtools, php, polkit, + python-requests, python3-requests, rust-bin, rustc, samba4, + sdl2, snort3, ushare, xen + + Removed packages: libmcrypt, mcrypt, sentry-cli + +2021.08-rc2, released August 18th, 2021 + + Fixes all over the tree. + + Defconfigs: Acmesystems acqua a5: Bump at91bootstrap version + to fix build issue with binutils >= 2.35, Microchip sam9x60ek + mmc_dev: Add missing toolchain/system options, sama5d2-icp + mmc: Correct at91bootstrap options + + Updated/fixed packages: arm-trusted-firmware, at91bootstrap3, + azure-iot-sdk-c, bluez5_utils, bullet, busybox, cegui, efl, + erlang, ffmpeg, flatbuffers, fontconfig, gcc, gd, glibc, go, + gobject-introspection, gpsd, guile, harfbuzz, iozone, iputils, + jszip, libargtable2, libbpf, libebml, libepoxy, libesmtp, + libfuse3, libgeos, libnss, libodb-boost, libodb-mysql, + libodb-pgsql, libqmi, libqrtr-glib, libuhttpd, libuwsc, + libvirt, ltp-testsuite, luaossl, mongodb, mpd, mupdf, mutt, + network-manager, nginx-naxsi, nodejs, ogre, openzwave, + optee-os, osm2pgsql, pdbg, perl-net-ssh2, php, pipewire, + pistache, pixman, poke, polkit, poppler, postgresql, postkit, + prelink-cross, prosody, protobuf, pulseview, + python-cryptography, python-keyring, python-matplotlib, + python-pymupdf, python-pyopenssl, python-secretstorage, + python-treq, python-txtorcon, python3, qemu, qpdf, qt5base, + refpolicy, ruby, rust-bin, s390-tools, sconeserver, seatd, + shairport-sync, sox, sqlite, sylpheed, sysdig, syslog-ng, + system-config-printer, tar, terminology, tor, tpm2-tools, uhd, + unbound, usbguard, wireshark, xen, xenomai, xlib_libxshmfence, + zstd + + New packages: desktop-file-utils + + Issues resolved (http://bugs.uclibc.org): + + #13586: grub failure with BR2_OPTIMIZE_3 + #13671: openSSH server closes connection before authentication.. + +2021.08-rc1, released August 3rd, 2021 + + Numerous package updates. + + Toolchain: + + - add support for gcc 11.x, gcc 10.x is now the default, gcc + 9.x updated to 9.4.0, removed gcc 8.x support except for + PowerPC SPE + + - add support for binutils 2.37, binutils 2.36.x is now the + default, binutils 2.34 removed. + + - glibc updated to 2.33 + + - gdb enabled on NIOS II, gdbserver enabled on RISC-V. + + Bootloaders/firmware: support for building the EDK II UEFI + firmware, support for building AT91Bootstrap 4.x. + + New BR2_ENABLE_RUNTIME_DEBUG option, that controls whether + packages should be compiled with runtime debugging + information (which is different than debugging symbols). + + Many features of the bluez5_utils package have been made + optional, and default to disabled. Users of bluez5_utils are + encouraged to review their configuration. + + Many packages (over 70) updated to enable the appropriate + SELinux refpolicy module when SELinux support is enabled. + + Many packages updated to select the appropriate OpenSSL + features after many OpenSSL ciphers/features have been made + optional. + + New defconfigs: kontron_pitx_imx8m, microchip_sama5d2_icp, + qemu_aarch64_sbsa, raspberrypicm4io, raspberrypicm4io_64, + terasic_de10nano_cyclone5, uevm5432. + + New packages: alsa-plugins, apg, bmap-tools, daq3, edk2, + edk2-platforms, gumbo-parser, libbpf, libosmium, libpsl, + libqb, libtalloc, libvirt, lua-linux, lua-zlib, mupdf, + opencv4, osm2pgsql, poke, python-augeas, python-dbus-next, + python-pymupdf, rtl_433, rtl8812au-aircrack-ng, seatd, snort3, + system-config-printer, usbguard, xml-security-c, xmrig. + + Removed packages: clapack, libsoil. + + Issues resolved (http://bugs.uclibc.org): + + #13326: regarding dtc error in buildroot source code + #13661: host-python2 build fails on aarch64 + #13836: package build failure when target install set to no on + pkg-generic pkg types + #13846: BR2_PACKAGE_LVM2_STANDARD_INSTALL should be default to + y as before + +2021.05.3, released October 11, 2021 + + Important / security related fixes. + + gdbinit: Mark the sysroot as a "safe path" before configuring + it, so pretty printers work correctly without having to pass + -ix to gdb + + Updated/fixed packages: alsa-lib, apache, + arm-trusted-firmware, atftp, bind, botan, containerd, + cryptopp, dash, dc3dd, docker-cli, docker-engine, dovecot, + erlang, fetchmail, ffmpeg, gdb, ghostscript, go, gst-omx, + gst1-devtools, gst1-interpipe, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, kodi, kodi-pvr-octonet, + kodi-visualisation-fishbmc, libcurl, libkrb5, libressl, + libsndfile, libxcrypt, libyang, lxc, lynx, mesa3d, + micropython, minicom, mono, mtr, mv-ddr-marvell, net-tools, + nmap, nodejs, ntfs-3g, openjdk, openjdk-bin, openldap, + openssh, pcre2, php, python-aioconsole, python-cffi, + python-dateutil, python-django, python-pip, python-texttable, + python-urllib, python-webob, qt5location, redis, refpolicy, + ripgrep, runc, sispmctl, squid, strongswan, supervisor, + syslinux, tinycbor, trace-cmd, uboot-tools, uclibc, wavemon, + wget, wireless-regdb, xen, xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #14206: Kodi: even when not enabled, forcefully selects libevdev.. + #14211: libffi-3.3.tar.gz repacked + #14221: mv-ddr-marvell fails license validation + +2021.05.2, released September 15th, 2021 + + Important / security related fixes. + + Toolchain: Disable fortify support for Microblaze as it is not + currently working. + + Updated/fixed packages: alsa-utils, arm-trusted-firmware, + bayer2rgb-neon, belle-sip, bullet, busybox, c-ares, cjson, + coreutils, cpio, eigen, environment-setup, fetchmail, ffmpeg, + fontconfig, gd, gdb, gnuradio, gnutls, go, haproxy, ipmiutil, + iputils, jszip, kvm-unit-tests, libarchive, libargtable2, + libexif, libgcrypt, libmodsecurity, libopenssl, librsvg, + libshout, libssh, libxcrypt, linux, linux-pam, localedef, mc, + mesa3d, mosquitto, netsniff-ng, nginx, nodejs, ogre, openjdk, + openmpi, openvmtools, perl-net-ssh2, php, pipewire, + postgresql, prelink-cross, prosody, protobuf, python-keyring, + python-matplotlib, python-pillow, python-pyudev, + python-secretstorage, python3, qt5base, samba4, sdl2, sox, + swupdate, sylpheed, tar, terminology, tor, uboot-tools, uhd, + unbound, ushare, vim, wlroots, xapp_xrdb, xapp_xwd, xen, + xenomai, xlib_libXfont2, xlib_libXft, zip + +2021.05.1, released August 10, 2021 + + Important / security related fixes. + + Toolchain: Disable PIC/PIE for Microblaze (like for NIOS II) + as it is not currently working. + + binutils: fix linker assert failure on OpenRisc, or1k build + issue with gcc < 5 + + gdb: Enable on NIOS II + + utils/scanpypi: Various improvements + + Defconfigs: stm32f469_disco: Fix kernel boot issue, Microchip + sam9x60ek mmc_dev: Add missing toolchain/system options + + Updated/fixed packages: arm-trusted-firmware, apache, audit, + avahi, bind, binutils, bird, bluez5_utils, boinc, busybox, + chrony, clamav, connman, cryptsetup, dnsmasq, docker-cli, + docker-engine, dovecot, dovecot-pigeonhole, e2fsprogs, exiv2, + fail2ban, fb-test-app, feh, fetchmail, ffmpeg, flac, fluxbox, + gawk, gcc, gcr, gdb, gdk-pixbuf, gesftpserver, glibc, go, + gptfdisk, gqrx, granite, grub2, guile, hdparm, heirloom-mailx, + htop, ibrcommon, ibrdtn, ibrdtn-tools, ibrdtnd, + intel-microcode, iodine, irqbalance, keepalived, kexec-tools, + libass, libconfig, libcurl, libfreeimage, libfuse3, libgcrypt, + libgudev, libhtp, libinput, libjson, libgtk3, libkrb5, + libloki, libmodsecurity, libndp, libnetfilter-log, + libnfnetlink, libnice, libodb, libodb-boost, libodb-mysql, + libodb-pgsql, libpcap, libqmi, libqrtr-glib, libressl, + librsvg, libtasn1, libtirpc, libuci, libxmlrpc, + linux-firmware, linuxptp, lrzsz, lvm2, mariadb, mesa3d, + mbedtls, monit, mono, mosquitto, mpd, mpg123, mpv, nbd, + netsnmp, nettle, nmap, nodejs, ntp, openntpd, openpgm, + openswan, pango, pcre2, perl-crypt-openssl-rsa, php, pixman, + postgresql, proxychains-ng, putty, python, + python-dataproperty, python-django, python-pysftp, + python-urllib3, python3, qpdf, redis, ripgrep, rsync, ruby, + samba4, sane-backends, slirp, spice, squid, suricata, tcpdump, + tftpd, thrift, tor, tpm2-tools, trinity, uboot, uboot-tools, + uclibc, vlc, wireless-regdb, wireshark, wolfssl, + xapp_fonttosfnt, xlib_libX11, xlib_libxshmfence, + xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #13586: grub failure with BR2_OPTIMIZE_3 + #13661: host-python2 build fails on aarch64 + #13836: package build failure when target install set to no.. + #13846: BR2_PACKAGE_LVM2_STANDARD_INSTALL should be default to.. + +2021.05, released June 6th, 2021 + + Various fixes. + + Disable PIC/PIE support for Nios2 because of glibc issues + + Defconfigs: Minnowboard max: Fix X11 and mesa3d configuration + + Updated/fixed packages: apache, beaglev-ddrinit, + beaglev-secondboot, capnproto, dc3dd, directfb, efibootmgr, + ffmpeg, gptfdisk, go, gupnp, hostapd, iftop, + intel-mediadriver, libcamera, libcutl, libesmtp, libkcapi, + libraw, lttng-tools, lvm2, mimic, mono-gtksharp3, mpv, + netperf, odb, qt5base, uclibc, uftrace, unscd, vlc, + xdriver_xf86-video-fbturbo + + New packages: python3-cffi, python3-cryptography, python3-pip, + python3-pycparser, python3-six + +2021.05-rc3, released May 31th, 2021 + + Fixes all over the tree. + + meson: Explicitly disable PIE support (b_pie) as it is handled + by the toolchain wrapper. + + Updated/fixed packages: boost, dhcp, expat, gdb, hwloc, imagemagick, + libcurl, libopenh264, llvm, lz4, mpv, nginx, paho-mqtt-c, pifmrds, + pipewire, python-bluezero, python-pillow, qemu, strace, uhd, vlc, + webkitgtk + + Issues resolved (http://bugs.uclibc.org): + + #13821: Wrong url for libnfsidmap package + +2021.05-rc2, released May 22th, 2021 + + Fixes all over the tree. + + support/scripts/gen-missing-cpe: A script to query the list of + CPE IDs for the packages enabled in the current configuration and: + + - for CPE IDs that do not have any matching entry in the CPE + database, it emits a warning + + - for CPE IDs that do have a matching entry, but not with the same + version, it generates a snippet of XML that can be used to propose + an updated version to NIST. + + CPE meta data has been added for a large number of packages + + Updated/fixed packages: assimp, binutils, bitcoin, bullet, + cutelyst, dhcp, dmalloc, docker-engine, ebtables, + environment-setup, flatcc, gcc, gd, gerbera, hostapd, + imx-gpu-viv, intel-microcode, jquery-validation, libdrm, + libgeos, libraw, libtirpc, libxml2, libxslt, live555, lmbench, + localedef, lvm2, mender, mender-grubenv, modem-manager, mutt, + opensbi, openssh, opentyrian, pipewire, postgis, postgresql, + prosody, python-bluezero, python-falcon, redis, rocksdb, + rt-tests, runc, vlc, waylandpp, webkitgtk, wireshark, + wpa_supplicant, wpewebkit, xlib_libX11, xterm + + New packages: jh71xx-tools + + Issues resolved (http://bugs.uclibc.org): + + #13781: isc dhcp-server package don't create file /usr/bin/dhcpd + #13801: toolchainfile.cmake CMAKE_BUILD_TYPE + #13806: Building host-localedef fails on fedora 34/gcc 11 + +2021.05-rc1, released May 12th, 2021 + + Fixes all over the tree and new features. + + FORTIFY_SOURCE, PIC/PIE, RELRO and SSP security hardening + options are now enabled by default. + + Dependencies: Explicitly detect and bail out if PATH contains + spaces or tabs. A number of packages fail to build in such + setups, so explicitly inform about this. + + Infrastructure: Expose CONFIG_DIR to post-build/post-image + scripts, so they can call the Buildroot Makefile in the + correct directory for both in-tree / out-of-tree builds. + + CMake infrastructure: Use CMAKE_EXE_LINKER_FLAGS rather than + CMAKE_CXX_FLAGS to link with libatomic to fix an compatibility + issue with poppler. Bump minimal host cmake version to 3.16 + (from 3.15) to fix a compatibility issue with domoticz. + + Meson: Use correct C++ host compiler (rather than C compiler) + + utils/scanpypi: Explicitly use python3 for compatibility with + packages using python3 syntax in setup.py + + support/download: Fix tarball generation (from git/svn repos) + including symlinks pointing to ./. Fix svn download + for <1.9 clients or repos using CVS-style keywords. + + support/scripts/cve.py: Use the (significantly) faster yajl2 + ijson backend for older (< 2.5) ijson versions rather than the + slow python default, speeding up pkg-stats by ~2x. + + Toolchain: Add logic to work around binutils bug 21464 + (affecting OpenRISC), bug 27597 (affecting Nios II) and drop + the now longer applicable bug 19615 / 20006 handling. + + Python{,3}: Fix byte compiling python files with short (single + character before .py) file names. + + CPE meta data has been added for a large number of packages + + New defconfigs: Acme Systems Acqua A5 (256/512MB), Beagleboard + BeagleV, Boundary devices Nitrogen8M Plus SOM, NXP i.MX 8M + Plus EVK, QEMU PPC e500mc + + New packages: beaglev-ddrinit, beaglev-secondboot, janet, + kodi-inputstream-ffmpegdirect, kodi-vfs-libarchive, + kodi-visualisation-matrix, libxcrypt, libqrtr-glib, log4qt, + mawk, perl-parse-yapp, postgis, protozero, python-flask-wtf, + python-iwlib, python-semantic-version, python-setuptools-rust, + python-toml, riscv64-elf-toolchain, siproxyd, uftrace, zfs + + Removed packages: iostat, kodi-platform, + kodi-screensaver-crystalmorph, monkey + + Issues resolved (http://bugs.uclibc.org): + + #13271: systemd-resolved: /etc/resolv.conf link broken on per-pa.. + #13516: utils/scanpypi: Failure when parsing diffoscope + #13551: 2021.02.rc2: Unicode not work on qt 5.15.2 + #13576: Issues compiling buildroot for 5x86 + #13601: Gen image :Iappropriate ioctl error + #13616: tar file from git repository generation issue + #13631: Commit 54d3d94b6e breaks packages with git download method + #13641: glibc on raspberrypi + #13646: Gen image version 14 error : no sub -section title/.. + #13651: pkg-golang cannot build when main.go is in the root + #13661: host-python2 build fails on aarch64 + #13671: openSSH server closes connection before authentication.. + #13721: c-stack.c:55:26: error: missing binary operator before .. + #13731: Readline Patch is missing Author Information + #13741: genext2fs does not allow to set perms of root node + #13751: libopenssl (static): huge drop in performance in newer .. + #13771: package htop has undeclared dependency on host python + +2021.02.12, released April 6th, 2022 + + Important / security related fixes. + + pkg-stats: Limit memory use for CPE matching + + Updated/fixed packages: gdk-pixbuf, jack2, libzlib, matio, + nbd, netatalk, opus, python-paramiko, python-treq, + python-twisted, spidev_test, unbound, urandom-scripts, vim, + wireshark, zlib-ng, zziplib + +2021.02.11, released March 25th, 2022 + + Important / security related fixes. + + Updated/fixed packages: apache, azure-iot-sdk-c, dbus, + directfb, docker-engine, exempi, expat, flac, gdk-pixbuf, + gnutls, go, haproxy, libcurl, libiec61850, libminiupnpc, + libodb, libodb-boost, libopenssl, libpjsip, libressl, librsvg, + libsrtp, libxml2, libxslt, lxc, mariadb, odbm openblas, + openvpn, oprofile, php, pppd, python-ipython, python-treq, + python-twisted, python-txbus, python-txtorcon, raptor, + rpi-firmware, samba4, timescaledb, util-linux, vim, wavpack, + wireless-regdb, wireshark, wolfssl, xscreensaver, xterm, zsh + + New packages: gdk-pixbuf-xlib + + Removed packages: python-coherence + + Issues resolved (http://bugs.uclibc.org): + + #13126: make fails - bzip2-1.0.6.tar.gz and DirectFB-1.7.7.tar.. + #14636: azure-iot-sdk-c: Installed headers do not compile + #14641: oprofile can not find the events files + +2021.02.10, released February 28th, 2022 + + Important / security related fixes. + + Defconfigs: Andes ae3xx, Intel galileo: Fix build with host + gcc >= 10, ROC-RK3399-PC: Bump rootfs size to fix build issue. + + Add conditional patching logic to fix build issues for older + U-Boot / Linux kernel versions when built with a host gcc >= + 10. + + Updated/fixed packages: casync, cgilua, connman, expat, + gauche, gensio, go, gst-omx, gst1-devtools, gst1-libav, + gst1-plugins-bad, gst1-plugins-base, gst1-plugins-good, + gst1-plugins-ugly, gst1-python, gst1-rtsp-server, gst1-vaapi, + gstreamer1, gstreamer1-editing-services, + kf5-extra-cmake-modules, kodi, libarchive, linux, lm-sensors, + log4cxx, mpd, nfs-utils, pistache, prosody, python-django, + python-pyzmq, rtl8723bu, thermald, tiff, util-linux, vim, xen + +2021.02.9, released January 29th, 2022 + + Important / security related fixes. + + check-package: Improve variable override check + + pkg-stats: List CVEs where the version info cannot be parsed + as unsure rather than completely ignoring them. + + Defconfigs: Beaglebone: Support BeagleBone black wireless + + Updated/fixed packages: alsa-utils, apache, cage, capnproto, + civetweb, clamav, collectd, connman, coreutils, dav1d, + docker-cli, docker-containerd, docker-engine, expat, + findutils, flare-engine, flare-game, font-awesome, freeswitch, + gcc, ghostscript, gnuchess, go, grpc, gst1-interpipe, + gst1-plugins-bad, gst-rtsp-sever, gupnp-tools, hackrf, icu, + imagemagick, janus-gateway, keepalived, lapack, libjpeg, + libopenssl, libpjsip, liburiparser, linux-pam, lxc, mbedtls, + mongodb, mpd-mpc, nodejs, openblas, pcre2, polkit, poppler, + privoxy, prosody, python-django, python-lxml, python-pyqt5, + python3, qt5base, qt5location, rhash, ruby, runc, samba4, + sofia-sip, targetcli-fb, tcpreplay, tinyxml, vim, vlc, + wireshark, xapp_xauth, xen, xlib_libX11, xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #14471: alsa_utils wrong deployment + +2021.02.8, released December 14th, 2021 + + Important / security related fixes. + + Defconfigs: Various fixes for building with gcc >= 10 host or + target compilers. + + Updated/fixed packages: alsa-lib, apparmor, apr, asterisk, + binutils, bluez5_utils, busybox, coreutils, e2fsprogs, ell, + exfat, freeswitch, gdb, glmark2, glog, glorytun, gmp, + gpu-amd-bin-mx51, gst1-interpipe, gstreamer1, guile, gupnp, + hackrf, heimdal, hiawatha, hplip, icu, imx-vpuwrap, isl, iwd, + janus-gateway, libatomic_ops, libbson, libdnet, libffi, + libgdiplus, libgee, libhtp, libmodsecurity, libnspr, libnss, + libunwind, linux, lynx, meson, micropython, mkpasswd, mksh, + mosquitto, motion, mxml, netdata, nfs-utils, oracle-mysql, + pcre, pkcs11-helper, postgresql, pure-ftpd, python-cycler, + qdecoder, rcw-smarc-sal28, samba4, smack, speex, stress-ng, + suricata, syslinux, uboot, unixodbc, unrar, vim, websocketpp, + wireshark + + Issues resolved (http://bugs.uclibc.org): + + #14346: BR2_PACKAGE_NFS_UTILS_RPC_NFSD does not patch CONFIG_NFSD.. + +2021.02.7, released November 10th, 2021 + + Important / security related fixes. + + OpenJDK 16.x moved to 17.x as 16.x is EOL. + + Updated/fixed packages: asterisk, audit, bind, bitcoin, + cryptsetup, dahdi-linux, dbus-python, dfu-util, docker-cli, + docker-containerd, docker-engine, earlyoom, exiv2, ffmpeg, + freerdp, gdb, gensio, gnupg2, go, gpsd, gst1-plugins-bad, + gst1-plugins-ugly, gst1-vaapi, hiredis, lftp, lightning, + lrzip, netdata, nodejs, olsr, openjdk, openjdk-bin, pango, + qemu, samba4, snort, strongswan, suricata, systemd, vim, + wf111, wireguard-linux-compat, xerces + + Issues resolved (http://bugs.uclibc.org): + + #14311: Cannot compile dahdi (part of Asterisk) for x86 (P1mmx) + +2021.02.6, released October 11, 2021 + + Important / security related fixes. + + gdbinit: Mark the sysroot as a "safe path" before configuring + it, so pretty printers work correctly without having to pass + -ix to gdb + + Updated/fixed packages: alsa-lib, apache, + arm-trusted-firmware, atftp, bind, botan, cryptopp, dash, + dc3dd, docker-cli, docker-containerd, docker-engine, dovecot, + erlang, fetchmail, gdb, ghostscript, go, gst-omx, + gst1-devtools, gst1-interpipe, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, kodi-pvr-octonet, libcurl, + libkrb5, libressl, libsndfile, libyang, lxc, lynx, mesa3d, + micropython, minicom, mono, mtr, mv-ddr-marvell, net-tools, + nmap, nodejs, ntfs-3g, openjdk, openjdk-bin, openldap, + openssh, php, python-aioconsole, python-cffi, python-dateutil, + python-django, python-pip, python-texttable, python-urllib3, + python-webob, qt5location, redis, refpolicy, ripgrep, runc, + sispmctl, squid, strongswan, supervisor, syslinux, tinycbor, + trace-cmd, uboot-tools, uclibc, wavemon, wireless-regdb, xen, + xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #14206: Kodi: even when not enabled, forcefully selects libevdev.. + #14211: libffi-3.3.tar.gz repacked + #14221: mv-ddr-marvell fails license validation + +2021.02.5, released September 15th, 2021 + + Important / security related fixes. + + Toolchain: Disable fortify support for Microblaze as it is not + currently working. + + Updated/fixed packages: alsa-utils, arm-trusted-firmware, + bayer2rgb-neon, belle-sip, busybox, c-ares, cjson, coreutils, + cpio, eigen, environt-setup, fetchmail, fluidsynth, + fontconfig, gd, gdb, gnuradio, gnutls, go, haproxy, ipmiutil, + iputils, jszip, kvm-unit-tests, libarchive, libexif, + libgcrypt, libmodsecurity, libopenssl, librsvg, libshout, + libssh, linux, localedef, mc, mesa3d, mosquitto, netsniff-ng, + nginx, nodejs, ogre, openmpi, openvmtools, php, postgresql, + prelink-cross, prosody, protobuf, python-keyring, + python-matplotlib, python-pillow, python-pyudev, + python-secretstorage, python3, qt5base, samba4, sdl2, sox, + swupdate, sylpheed, tor, uboot-tools, uhd, unbound, vim, + wlroots, xapp_xrdb, xapp_xwd, xen, xenomai, xlib_libXfont2, + xlib_libXft, zip + +2021.02.4, released August 10th, 2021 + + Important / security related fixes. + + Toolchain: Disable PIC/PIE for Microblaze (like for NIOS II) + as it is not currently working. + + binutils: fix linker assert failure on OpenRisc, or1k build + issue with gcc < 5 + + gdb: Enable on NIOS II + + utils/scanpypi: Various improvements + + Defconfigs: stm32f469_disco: Fix kernel boot issue, Microchip + sam9x60ek mmc_dev: Add missing toolchain/system options + + Updated/fixed packages: apache, arm-trusted-firmware, audit, + avahi, bind, binutils, bird, bluez5_utils, boinc, busybox, + chrony, clamav, cryptsetup, cwiid, dnsmasq, docker-cli, + docker-engine, dovecot, dovecot-pigeonhole, e2fsprogs, exiv2, + fail2ban, fb-test-app, feh, fetchmail, flac, fluxbox, gawk, + gcc, gcr, gdb, gdk-pixbuf, gesftpserver, glibc, go, gptfdisk, + granite, grub2, gqrx, guile, hdparm, heirloom-mailx, + ibrcommon, ibrdtn, ibrdtn-tools, ibrdtnd, intel-microcode, + iodine, irqbalance, keepalived, libass, libconfig, libcurl, + libfreeimage, libfuse3, libgcrypt, libgtk3, libgudev, libhtp, + libjson, libkrb5, libloki, libmodsecurity, libndp, + libnetfilter-log, libnfnetlink, libnice, libodb, libodb-boost, + libodb-mysql, libodb-pgsql, libpcap, libqmi, libressl, + librsvg, libtasn1, libtirpc, libuci, libxmlrpc, + linux-firmware, linuxptp, lrzsz, ltp-testsuite, lvm2, mariadb, + mbedtls, monit, mono, mosquitto, mpd, mpg123, mpv, nbd, neard, + netsnmp, nettle, nginx-modsecurity, nmap, nodejs, ntp, + openntpd, openpgm, openswan, pango, pcre2, + perl-crypt-openssl-rsa, php, pixman, polkit, postgresql, + proxychains-ng, putty, python, python-django, + python-dataproperty, python-pysftp, python-urllib3, python3, + qpdf, redis, ripgrep, ruby, samba4, spice, slirp, suricata, + sysdig, tcpdump, tftpd, thrift, tor, tpm2-tools, trinity, + uboot, uboot-tools, uclibc, util-linux, vlc, wireless-regdb, + wireshark, wolfssl, xapp_fonttosfnt, xlib_libX11, + xlib_libxshmfence, xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #13586: grub failure with BR2_OPTIMIZE_3 + #13661: host-python2 build fails on aarch64 + #13836: package build failure when target install set to no.. + #13846: BR2_PACKAGE_LVM2_STANDARD_INSTALL should be default to.. + +2021.02.3, released June 12th, 2021 + + Important / security related fixes. + + CPE meta data has been added for a large number of packages + + Updated/fixed packages: acpid, apache, apcupsd, assimp, bird, + bitcoin, blktrace, boost, capnproto, chrony, dc3dd, dhcp, + directfb, dmalloc, docker-engine, ebtables, efibootmgr, + enlightenment, enscript, environment-setup, exempi, expat, + findutils, flatcc, fluidsynth, frr, gdb, go, gptfdisk, grpc, + gst1-plugins-bad, gst1-rtsp-server, gstreamer1, gupnp, + hostapd, hwloc, i2c-tools, iftop, imagemagick, imx-gpu-viv, + intel-mediadriver, intel-microcode, jquery-validation, + keepalived, kodi, less, libcamera, libcurl, libcutl, libesmtp, + libeXosip2, libffi, libfuse, libfuse3, libgeos, libgtk2, + libgtk3, libical, libidn, libidn2, libkcapi, libldns, libmms, + libmodbus, libmspack, libnids, libopenh264, liboping, libraw, + librelp, libsamplerate, libtirpc, libusb, libuv, libxcb, + libxml2, libxslt, live555, llvm, lmbench, localedef, + lttng-tools, lvm2, lz4, mesa3d, mimic, mini-snmpd, minidlna, + minissdpd, minizip, mono-gtksharp3, mpg123, mpv, msmtp, musl, + mutt, nasm, nbd, netperf, netsurf, nginx, odb, opencv3, + openssh, opentyrian, oprofile, p7zip, paho-mqtt-c, perl, + php-imagick, pifmrds, picocom, pigz, pngquant, poco, + postgresql, prosody, proxychains-ng, pulseaudio, putty, pwgen, + python-autobahn, python-bluezero, python-engineio, + python-keyring, python-pillow, python-requests, python-tqdm, + qemu, qpdf, qt5base, redis, refpolicy, rt-tests, runc, + shellinabox, squid, strace, supervisor, synergy, taglib, + tclap, terminology, thermald, tini, tinyproxy, tinyxml2, + tpm2-tss, uclibc, udisks, uhd, unscd, vlc, waylandpp, + webkitgtk, weston, wireshark, wpa_supplicant, wpewebkit, + xlib_libdmx, xlib_libFS, xlib_libICE, xlib_libX11, + xlib_libXcursor, xlib_libXdmcp, xlib_libXext, xlib_libXfixes, + xlib_libXfont2, xlib_libXinerama, xlib_libXpm, xlib_libXres, + xlib_libXt, xlib_libXtst, xlib_libXxf86dga, xlib_libXxf86vm, + xterm + + Issues resolved (http://bugs.uclibc.org): + + #13781: isc dhcp-server package don't create file /usr/bin/dhcpd + #13801: toolchainfile.cmake CMAKE_BUILD_TYPE + #13806: Building host-localedef fails on fedora 34/gcc 11 + +2021.02.2, released May 12th, 2021 + + Important / security related fixes. + + Toolchain: Add logic to mark toolchains affected by binutils + bug 27597 (Nios II). + + support/scripts/cve.py: Use the (significantly) faster yajl2 + ijson backend for older (< 2.5) ijson versions rather than the + slow python default, speeding up pkg-stats by ~2x. + + CMake infrastructure: Use CMAKE_EXE_LINKER_FLAGS rather than + CMAKE_CXX_FLAGS to link with libatomic to fix an compatibility + issue with poppler. + + Infrastructure: Expose CONFIG_DIR to post-build/post-image + scripts, so they can call the Buildroot Makefile in the + correct directory for both in-tree / out-of-tree builds. + + Updated/fixed packages: at91bootstrap, avahi, bash, bind, + bridge-utils, boost, cegui, cifs-utils, clamav, cmake, + coremark-pro, coreutils, cryptsetup, dmalloc, dnsmasq, + docker-cli, docker-engine, domoticz, efl, exim, ffmpeg, flex, + gcc, genext2fs, go, gst1-interpipe, haproxy, hostapd, + i2c-tools, imx-vpu, kexec, kf5-kcoreaddons, kismet, libcamera, + libcurl, libdrm, libfreefare, libfuse3, libgeos, libgpiod, + libnpupnp, libopenssl, libp11, librsync, libtomcrypt, libupnp, + localedef, lvm2, lxc, m4, makedevs, mender, mesa3d, + mesa3d-headers, mkpasswd, mkpimage, modem-manager, monkey, + mpd, ncurses, nettle, network-manager, nginx, numactl, + openjdk, openjdk-bin, openldap, openvpn, php, pipewire, + python-aioconsole, python-asgiref, python-botocore, + python-django, python-dnspython, python-flup, python-httplib2, + python-markdown2, python-mbrstrdecoder, python3, quickjs, + readline, rsyslog, ruby, rust, samba4, sconeserver, snort, + sox, systemd, tar, timescaledb, tio, tor, usb_modeswitch, + wpa_supplicant, xdriver_xf86-video-ati, xen, xlib_libXaw, + xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #13271: systemd-resolved: /etc/resolv.conf link broken on per-pa.. + #13551: 2021.02.rc2: Unicode not work on qt 5.15.2 + #13651: pkg-golang cannot build when main.go is in the root + #13661: host-python2 build fails on aarch64 + #13721: c-stack.c:55:26: error: missing binary operator before .. + #13731: Readline Patch is missing Author Information + #13741: genext2fs does not allow to set perms of root node + #13751: libopenssl (static): huge drop in performance in newer .. + #13771: package htop has undeclared dependency on host python + +2021.02.1, released April 7, 2021 + + Important / security related fixes. + + Dependencies: Explicitly detect and bail out if PATH contains + spaces or tabs. A number of packages fail to build in such + setups, so explicitly inform about this. + + utils/scanpypi: Explicitly use python3 for compatibility with + packages using python3 syntax in setup.py + + support/download: Fix tarball generation (from git/svn repos) + including symlinks pointing to ./. Fix svn download + for <1.9 clients or repos using CVS-style keywords. + + Meson: Use correct C++ host compiler (rather than C compiler) + + Toolchain: Add logic to work around binutils bug 21464, + affecting OpenRISC, and drop the now longer applicable bug + 19615 / 20006 handling. + + Python{,3}: Fix byte compiling python files with short (single + character before .py) file names. + + CPE meta data has been added for a large number of packages + + Defconfigs: Correct Beaglebone QT file system overlay + + Updated/fixed packages: alsa-utils, at91bootstrap3, + batman-adv, binutils, botan, bridge-utils, busybox, + ca-certificates, cog, coreutils, diffutils, dmidecode, + docker-cli, docker-containerd, docker-engine, efivar, + fetchmail, frr, genimage, git, gnutls, go, grub2, gst-omx, + gst1-devtools, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, haproxy, haserl, hwloc, + irqbalance, jasper, kexec, kexec-lite, kismet, kodi, libcurl, + libfreeglut, libgcrypt, libgeos, libglib2, libopenssl, libqmi, + libressl, libupnp, libvips, libvpx, libwebsockets, linux, + lldpd, logrotate, lttng-libust, lttng-tools, mariadb, mbedtls, + mcelog, mender, micropython, mongoose, mosquitto, mpd, + netsnmp, nodejs, openmpi, openssh, openvpn, opkg-utils, + optee-client, optee-test, perl, php, proftpd, protobuf, + python-django, python-jinja2, python-lxml, python-paramiko, + python-py, python-pygments, python-rpi-ws281x, python-urllib3, + python3, qt5webkit, qwt, rpm, samba4, sconeserver, sdl2, shim, + sqlcipher, squid, sysklogd, syslinux, sysvinit, tor, + transmission, tzdata, uboot, uclibc, upx, webkitgtk, + wireshark, wpebackend-fdo, wpewebkit, xen, zstd + + New packages: perl-parse-yapp + + Issues resolved (http://bugs.uclibc.org): + + #13516: utils/scanpypi: Failure when parsing diffoscope + #13576: Issues compiling buildroot for 5x86 + #13601: Gen image :Iappropriate ioctl error + #13616: tar file from git repository generation issue + #13641: glibc on raspberrypi + #13646: Gen image version 14 error : no sub -section title/.. + #13671: openSSH server closes connection before authentication.. + +2021.02, released March 6th, 2021 + + Various fixes. + + Toolchain: Correct Bootlin xtensa-lx60 dependencies + + Updated/fixed packages: asterisk, belle-sip, bustle, dhcpcd, + dovecot, dovecot-pigeonhole, gnuchess, gnuradio, + gst1-plugins-bad, haproxy, jasper, kismet, libebml, + libeXosip2, libgeos, libhtp, libjpeg, libopenssl, libshout, + libstrophe, mosquitto, openblas, openssh, perl, privoxy, + prosody, python-pyyaml, python3-pyyaml, quagga, redis, + rust-bin, sox, suricata, tpm2-pkcs11, uclibc-ng-test, ushare, + util-linux, wolfssl, wpa_supplicant + + Issues resolved (http://bugs.uclibc.org): + + #13501: 2021.02.rc2: Unicode not work on qt 5.15.2 + #13581: jpegsrc.v9d.tar.gz has changed hash + +2021.02-rc3, released February 27th, 2021 + + Fixes all over the tree. + + utils/scanpypi: Explicitly use python3 to ensure compatiblity + with packages having python3-only code in setup.py + + support/download: Ensure sub-second timestamp precision is + dropped when creating a tarball from a (subversion) repo, as + that is not representable in the PAX tar format + + Updated/fixed packages: babeltrace2, bind, botan, brltty, + cegui, elfutils, fakeroot, imagemagick, intel-mediasdk, + irqbalance, libglib2, libselinux, libusb, libuwsc, nodejs, + open62541, openldap, ply, python-aiohttp, python-django, + python3, qemu, readline, rust, screen, taglib, unbound, xterm + + Issues resolved (http://bugs.uclibc.org): + + #13516: utils/scanpypi: Failure when parsing diffoscope + #13541: 2021.02.rc2: irqbalance: Daemon couldn't be bound to... + #13561: Create a new user defining users-table.txt not working.. + +2021.02-rc2, released February 16th, 2021 + + Fixes all over the tree. + + Vulnerability scanning: cpedb.py: Drop CPE XML database + caching, as it did not speed up processing much and uses a lot + of additional memory. + pkg-stats: include information about ignored CVEs in JSON + output + + Fakeroot: Fix compatibility issue with glibc 2.33 + + Updated/fixed packages: can-utils, collectd, dnsmaqs, + docker-cli, docker-engine, ebtables, fakeroot, flashrom, + gdk-pixbuf, go, gst1-python, jasper, kodi, + kodi-inputstream-adaptive, lcms2, libgeos, libgpg-error, + libopenssl, mongoose, mpd, ne10, netopeer2, openblas, orc, + perl-gd, ply, postgresql, protobuf, subversion, tcpdump, + tzdate, uboot-tools, wireshark, webkitgtk, wpewebkit, xterm + + New packages: perl-extutils-pkgconfig + + Issues resolved (http://bugs.uclibc.org): + + #11706: binman (U-boot tool) cannot find libfdt "binman: No mod.. + +2021.02-rc1, released February 9th, 2021 + + Fixes all over the tree and new features. + + Toolchain: Default to binutils 2.35.2, add 2.36.1, drop + 2.33.x. Fix GCC 10.x ARC adc/sbc pattern handling, Update ARM + toolchains to 10.2-2020.11 release. + + Architectures: ARC: add support for generic HS48 processor, + PPC: drop PPC601 support, which was removed from Linux 5.10. + + Vulnerability scanning: The CVE checking logic has been + extended to match packages based on CPE (Common Platform + Enumeration) IDs for more accurate matching, and CPE + identifiers have been added for a large amount of packages. + + Download: Rework the tarball creation logic (E.G. when a + package is fetched from a git/svn repo) to no longer require a + host-tar <= 1.29. To differ between the old and the new + format, the new tarballs have gained a -br1 suffix + (--br1.tar.gz). + + SELinux support: A significant number of packages now pull in + the relevant refpolicy modules when enabled. + + New defconfigs: arrow avenger96, bananapi M1+, microchip + sam9x60ek, pine64 rock64 + + Removed defconfigs: QEMU ppc virtex-ml507 + + New packages: balena-engine, casync, coremark, coremark-pro, + datatables, datatables-buttons, datatables-fixedcolumns, + datatables-responsive, delve, frotz, gkrellm, inih, jszip, + libgeos, libiec61850, libmdbx, lualdap, neofetch, + nvidia-modprobe, open62541, perl-devel-cycle, perl-devel-size, + perl-math-int64, ply, popperjs, python-bleak, + python-defusedxml, python-pycups, python-pytest-asyncio, + python-typing-extensions, qcom-db410c-firmware, qt5coap, + qt5knx, qt5mqtt, quickjs, rcw-smarc-sal28, screenfetch, + ssdp-responder, tpm2-pkcs11, wqy-zenhei, xorcurses + + Removed packages: audiofile, boa, ipsec-tools, libupnp18, + ti-sgx-libgdbm + + Renamed rcw package to qoriq-rcw + + Issues resolved (http://bugs.uclibc.org): + + #13316: beaglebone_qt5_defconfig: PowerVR fails to start + #13416: dhcpcd start warning message: no such user dhcpcd + #13456: ccache prevents build + #13471: package/mpd/mpd.conf make use of path not created + #13506: BR2_PACKAGE_DHCPCD missing directory creation + +2020.11.4, released April 5th, 2021 + + Important / security related fixes. + + Dependencies: Explicitly detect and bail out if PATH contains + spaces or tabs. A number of packages fail to build in such + setups, so explicitly inform about this. + + utils/scanpypi: Explicitly use python3 for compatibility with + packages using python3 syntax in setup.py + + support/download: Fix tarball generation (from git/svn repos) + including symlinks pointing to ./ + + Meson: Use correct C++ host compiler (rather than C compiler) + + Updated/fixed packages: asterisk, at91bootstrap3, babeltrace2, + batman-adv, bind, ca-certificates, cegui, cog, diffutils, + docker-containerd, dovecot, dovecot-pigeonhole, efivar, + elfutils, fakeroot, git, gnuchess, gnuradio, gnutls, go, + grub2, haserl, i7z, imagemagick, intel-mediasdk, irqbalance, + jasper, kodi, libcurl, libebml, libeXosip2, libglib2, libhtp, + libjpeg, libopenssl, libqmi, libressl, libupnp, libuwsc, + libvips, lldpd, mariadb, mbedtls, mender, micropython, + mosquitto, netsnmp, nodejs, openblas, openldap, openmpi, + openssh, opkg-utils, optee-client, optee-test, perl, php, + privoxy, proftpd, prosody, protobuf, python-aiohttp, + python-django, python-lxml, python-pyyaml, python-rpi-ws281x, + python-typing-extensions, python3, quagga, qwt, redis, rpm, + sconeserver, screen, sox, sqlcipher, squid, suricata, + syslinux, sysvinit, tor, transmission, tzdata, uboot, unbound, + upx, util-linux, webkitgtk, wireshark, wolfssl, + wpebackend-fdo, wpewebkit, wpa_supplicant, zstd + + Issues resolved (http://bugs.uclibc.org): + + #13516: utils/scanpypi: Failure when parsing diffoscope + #13541: 2021.02.rc2: irqbalance: Daemon couldn't be bound to.. + #13576: Issues compiling buildroot for 5x86 + #13581: jpegsrc.v9d.tar.gz has changed hash + #13616: tar file from git repository generation issue + +2020.11.3, released February 17th, 2021 + + meson: Fix ccache detection handling when per-package builds + are used. + + Fakeroot: Fix compatibility issue with glibc 2.33 + + Updated/fixed packages: atftp, binutils, busybox, cereal, + chartjs, connman, dhcpcd, dnsmasq, docker-cli, docker-engine, + ebtables, fakeroot, flashrom, go, gst1-python, guile, + intel-mediadriver, intel-microcode, jasper, + kodi-inputstream-adaptive, lcms2, libbsd, libopenssl, + makedumpfile, memtester, mosquitto, ne10, openblas, orc, php, + postgresql, privoxy, pugixml, python-bottle, python-django, + python3, rauc, sox, stress-ng, subversion, tzdata, + uboot-tools, uclibc, webkitgtk, wireguard-linux-compat, + wireshark, wpa_supplicant, wpewebkit, xenomai, + xserver_xorg-server, xterm + + Issues resolved (http://bugs.uclibc.org): + + #11706: binman (U-boot tool) cannot find libfdt "binman: No mod.. + #13506: BR2_PACKAGE_DHCPCD missing directory creation + +2020.11.2, released January 31st, 2021 + + Important / security related fixes. + + Download: Ensure git submodules are correctly fetched if + enabled for a package with _GIT_SUBMODULES = YES and the + host variant is downloaded first. + + Toolchain: Mark CodeSourcery Aarch64 2014.11 toolchain as not + having libatomic. Bootlin PowerPC-440 FP toolchain updated for + SecurePLT fix. + + pkg-stats: Fix python 3.8+ deprecation warning. + + meson: Ensure ccache is not detected and used, as it may + conflict with the ccache handling in Buildroot. + + Updated/fixed packages: barebox, boost, brltty, dbus, + docker-containerd, dovecot, dovecot-pigeonhole, + environment-setup, firmware-imx, gcc, gerbera, glibc, + gmrender-resurrect, igd2-for-linux, kodi-pvr-zattoo, libclc, + libfuse3, libllcp, libodb-mysql, libtorrent-rasterbar, + libupnp, lpc32xxcdl, luarocks, mpd, multipath-tools, mutt, + nfs-utils, nodejs, openjpeg, openldap, opentracing-cpp, + openvpn, p11-kit, paho-mqtt-c, php, poppler, postgresql, + python3, redis, resiprocate, rpm, runc, socat, sslh, sudo, + sunxi-mali-mainline-driver, syslog-ng, systemd, tini, + tpm2-tss, trace-cmd, tzdata, uboot-tools, uhd, ushare, + util-linux, vlc, wavpack, wireguard-linux-compat, wolfssl, + xapp_xload, xorriso, zic + + Removed packages: libupnp18 + + Issues resolved (http://bugs.uclibc.org): + + #13471: package/mpd/mpd.conf make use of path not created + +2020.11.1, released December 27th, 2020 + + Important / security related fixes. + + Infrastructure: + - cmake: fix host ccache handling for CMake 3.19 + - meson: Forcibly disable binary stripping for + target builds, enable for host builds + - golang: Fix HOST / TARGET directories for per-package builds + + Defconfigs: Beaglebone Qt5: Fix ti-sgx related issues + + Updated/fixed packages: apitrace, arm-trusted-firmware, + ca-certificates, cryptopp, dhcpcd, dtv-scan-tables, + flare-engine, ghostscript, go, haproxy, imagemagick, + imx-gpu-viv, jasper, kismet, libcurl, libglib2, libhtp, + libopenssl, libressl, libuv, libuvw, lua, mbedtls, mongodb, + mutt, ncurses, netsnmp, nodejs, opencv3, openldap, opkg-utils, + paho-mqtt-c, python-crc16, python-lxml, python-pyparsing, + python-pyqt5, qt5base, rauc, shadowsocks-libev, sqlcipher, + suricata, ti-sgx-demos, tinycbor, uclibc-ng-test, unbound, + webkitgtk, wpewebkit, wireshark, x11vnc, xen, + xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #13316: beaglebone_qt5_defconfig: PowerVR fails to start + #13416: dhcpcd start warning message: no such user dhcpcd + +2020.11, released December 2nd, 2020 + + Various fixes. + + Updated/fixed packages: bustle, docker-containerd, gnuplot, + gst1-plugins-good, jemalloc, kmsxx, libcap, libplist, + libuhttpd, libxkbcommon, lynx, mariadb, netsurf, privoxy, + s390-tools, setserial, xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #13276: libcap builds libcap.pc incorrectly + +2020.11-rc3, released November 28th, 2020 + + Fixes all over the tree. + + Updated/fixed packages: c-ares, cage, cdrkit, + dovecot-pigeonhole, efl, gvfs, harfbuzz, jpeg-turbo, + libcamera, libkrb5, libpam-tacplus, libxkbcommon, minidlna, + modem-manager, monkey, musl, ncurses, numactl, openntpd, + openrc, postgresql, proftpd, python-flask-cors, python-pip, + qemu, raptor, redis, slirp, spandsp, thermald, uhd, vsftpd, + webkitgtk, wireless-regdb, wlroots, wpewebkit, xen, xinetd, + xorriso + + Issues resolved (http://bugs.uclibc.org): + + #13296: host-libcap failed to build + #13331: openrc-0.42.1 compilation failure on gcc-10 + #13336: thermald-1.9.1 compilation failure with musl 1.2.1 + #13341: Mistake in /etc/init.d/S70vsftpd + +2020.11-rc2, released November 14th, 2020 + + Fixes all over the tree. + + cve-checker script dropped. Instead the pkg-stats logic has + been extended to be able to only generate stats for the + configured packages using 'make pkg-stats' + + Removed defconfigs: rock64 + + Updated/fixed packages: apparmor, asterisk, bitcoin, busybox, + cups-filters, cryptsetup, davfs2, domoticz, elf2flt, freetype, + ghostscript, glmark2, go, gst1-plugins-bad, guile, jsoncpp, + libcap, libexif, libnetfilter_conntrack, libpam-tacplus, + libsigrokdecode, linux-backports, linux-firmware, mesa3d, + modem-manager, mp4v2, oniguruma, openntpd, python3, + python-lmdb, python-m2crypto, rauc, s390-tools, slirp, + stress-ng, suricata, systemd, tcpdump, tmux, tor, webkitgtk, + wireguard-linux-compat, wpewebkit, xen + + Issues resolved (http://bugs.uclibc.org): + + #13281: Raspberry Pi 2: overlays folder missing in genimage-ra.. + #13291: BR2_DL_DIR is ignored when creating defconfig + #13306: wpewebkit build problem in 2020-11-rc1 + +2020.11-rc1, released November 4th, 2020 + + Fixes all over the tree and new features. + + Architectures: Support for IBM s390x + + Toolchain: use Secure-PLT rather than BSS-PLT for PowerPC + 32. Binutils 2.35.1 added, now defaulting to 2.34. ARC + 2020.09-release toolchain. GCC 7.x dropped. RISC-V support for + uclibc-ng. Support for Bootlin external toolchains. + + SELinux support improvements: File security contexts are now + set when the file systems are created, so there is no need to + run restorecon on first boot / read only rootfs is supported. + An optimized / stripped refpolicy SELinux policy is now + used. Packages can enable additional refpolicy modules using + _SELINUX_MODULES. + + support/scripts/cve-checker: Utility script to check for known + CVEs in just the packages enabled in a Buildroot configuration + rather than all packages, by passing the output of 'make + show-info' to it. + + Go: Modules handling. The module name must be specified using + _GOMOD. + + BR2_EXTERNAL: Support for defining skeleton and init system + packages in external trees. + + meson: Correct SDK cross-compilation.conf file when + per-package builds were used to build SDK. + + systemd: Use /run rather than /var/run for PID files in units. + + Fakeroot scripts (BR2_ROOTFS_POST_FAKEROOT_SCRIPT) are now run + after all finalization hooks (including pre-rootfs) to ensure + they can override any late configuration done by packages. + + support/script/pycompile: Rework logic to ensure .pyc files + contain absolute target paths, fixing code inspection at + runtime when executed with cwd != '/'. + + support/scripts/setlocalversion: Correct Mercurial output to + match behaviour with Git. + + support/scripts/apply-patches.sh: Use patch + --no-backup-if-mismatch, so we no longer blindly have to + remove *.orig files after patching, fixing issues with + packages containing such files. + + New defconfigs: Acer chromebook elm, Friendlyarm nanopc-t4 and + nanopi-m4, Hardkernel odroid-c2, Kontron SMARC-sAL28, NXP + imx8mqevk, Orangepi RK3399 and zero+, PCengines APU2, Pine64 + rockpro64, QEMU s390x, Raxda rockpi-n8, + + New packages: altera-stapl, asn1c, babeltrace2, cukinia, + easyframes, environment-setup, frr, graphicsmagick, htpdate, + ipcalc, libbacktrace, libblockdev, libbytesize, librelp, + libuev, makedumpfile, meson-tools, mg, mrp, multipath-tools, + netcalc, odroidc2-firmware, php-xdebug, python-aiofiles, + python-ansicolors, python-boto3, python-botocore, + python-bsdiff4, python-crayons, python-iniconfig, + python-intelhex, python-ipdb, python-jmespath, + python-m2crypto, python-opcua-asyncio, python-packaging, + python-piexif, python-pluggy, python-pytest, + python-s3transfer, python-xmodem, qprint, qt5lottie, + qt5remoteobjects, re2, redir, s390-tools, sentry-cli, + sentry-native, timescaledb, tinyhttpd, uhd, uredir, watchdog, + wayland-utils, weston-imx + + Removed packages: amd-catalyst, bellagio, gqview, libcroco, + nvidia-tegra23, opencv + + Issues resolved (http://bugs.uclibc.org): + + #11811: lsblk (util-linux) should depend on libudev if available + #11931: Bugs in support/scripts/apply-patches.sh + #12301: systemd-journal-gatewayd: config options broken + #12911: usb_modeswitch installation race condition + #13236: Can't compile linux 5.4.8 (with gcc 10 on host) + #13286: The system hangs in vmware workstation on the line.. + +2020.08.3, released December 27th, 2020 + + Important / security related fixes. + + Infrastructure: + - cmake: fix host ccache handling for CMake 3.19 + - meson: Forcibly disable binary stripping for + target builds, enable for host builds + - golang: Fix HOST / TARGET directories for per-package builds + + Defconfigs: Beaglebone Qt5: Fix ti-sgx related issues + + Updated/fixed packages: apitrace, arm-trusted-firmware, + bustle, c-ares, ca-certificates, cage, cdrkit, cryptopp, + dhcpcd, docker-containerd, dtv-scan-tables, flare-engine, + ghostscript, gvfs, haproxy, imagemagick, imx-gpu-viv, jasper, + jemalloc, jpeg-turbo, libcamera, libcap, libcurl, libglib2, + libgpiod, libkrb5, libopenssl, libplist, libressl, libuv, + libuvw, lynx, mariadb, mbedtls, minidlna, mongodb, monkey, + musl, mutt, ncurses, netsnmp, netsurf, nodejs, opencv3, + openldap, openrc, opkg-utils, paho-mqtt-c, php, privoxy, + proftpd, python-crc16, python-flask-cors, python-lxml, + python-pip, python-pyparsing, python-pyqt5, qemu, qt5base, + raptor, rauc, ruby, setserial, shadowsocks-libev, slirp, + sqlcipher, thermald, ti-sgx-demos, tinycbor, unbound, vsftpd, + wireless-regdb, wireshark, wlroots, x11vnc, xen, xinetd, + xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #13276: libcap builds libcap.pc incorrectly + #13316: beaglebone_qt5_defconfig: PowerVR fails to start + #13336: thermald-1.9.1 compilation failure with musl 1.2.1 + #13341: Mistake in /etc/init.d/S70vsftpd + #13416: dhcpcd start warning message: no such user dhcpcd + +2020.08.2, released November 16th, 2020 + + Important / security related fixes. + + Toolchain-wrapper: Pass -fno-tree-loop-distribute-patterns to + fix kernel build on microblaze with gcc 10.x when + optimizations are enabled. + + Updated/fixed packages: apparmor, argp-standalone, asterisk, + bandwidthd, binutils, bitcoin, busybox, collectd, cryptsetup, + cups-filters, darkhttpd, davfs2, docker-cli, + docker-containerd, docker-engine, dovecot-pigeonhole, + dvb-apps, elf2flt, fastd, fbset, fbtft, freetype, gcc, + ghostscript, grpc, gst1-plugins-bad, jsoncpp, + kernel-module-imx-gpu-viv, keepalived, kmscube, libass, + libexif, libiqrf, libnetfilter_conntrack, libpam-tacplus, + libraw, linux-backports, linux-firmware, lzlib, mp4v2, + netsnmp, nginx, numactl, oniguruma, opencv3, openntpd, + patchelf, php, pistache, postgresql, python-pyqt5, qemu, + qt5base, rauc, redis, samba4, slirp, systemd, tcpdump, + tinyproxy, tmux, tor, waf, webkitgtk, wine, + wireguard-linux-compat, wireshark, wpewebkit, xen, xorriso, + xvisor, zeromq, zxing-cpp + + Issues resolved (http://bugs.uclibc.org): + + #11931: Bugs in support/scripts/apply-patches.sh + +2020.08.1, released October 12th, 2020 + + Important / security related fixes. + + Fixes for various compilation issues with GCC 10.x. + + meson: Correct SDK cross-compilation.conf file when + per-package builds were used to build SDK. + + systemd: Use /run rather than /var/run for PID files in units. + + Toolchain: use Secure-PLT rather than BSS-PLT for PowerPC 32. + + Fakeroot scripts (BR2_ROOTFS_POST_FAKEROOT_SCRIPT) are now run + after all finalization hooks (including pre-rootfs) to ensure + they can override any late configuration done by packages. + + support/script/pycompile: Rework logic to ensure .pyc files + contain absolute target paths, fixing code inspection at + runtime when executed with cwd != '/'. + + support/scripts/setlocalversion: Correct Mercurial output to + match behaviour with Git. + + support/scripts/apply-patches.sh: Use patch + --no-backup-if-mismatch, so we no longer blindly have to + remove *.orig files after patching, fixing issues with + packages containing such files. + + fs/jffs2: Now correctly handles xattrs + + Updated/fixed packages: acpica, afboot-stm32, alsa-utils, + apparmor, bandwidthd, barebox, bash, bison, brotli, + cifs-utils, cups, dhcpcd, dhcpdump, docker-cli, docker-engine, + ecryptfs-utils, efl, fail2ban, fbterm, ffmpeg, fontconfig, + freetype, gcc, gdb, ghostscript, gnupg2, gnutls, go, gqview, + gst1-plugins-base, gst1-plugins-ugly, ipmitool, jbig2dec, + kexec, lcdproc, libcamera, libhtp, libnetconf2, libraw, + libssh, libxml2, libxml-parser-perl, libzip, linux-headers, + live555, localedef, ltp-testsuite, lua, matchbox, memcached, + memtester, mesa3d, meson, minidlna, mongodb, mongrel2, motion, + mraa, mtd, musepack, neardal, netatalk, netperf, netsniff-ng, + nginx, nodejs, nss-pam-ldapd, open-plc-utils, openswan, + opentyrian, openvmtools, php, postgresql, python, + python-aenum, python-cycler, python-engineio, python-fire, + python-pymodbus, python-scapy, python-semver, + python-sentry-sdk, python-socketio, python-texttable, + python-tinyrpc, python-txtorcon, python3, qt5base, quagga, + read-edid, redis, rsh-redone, runc, samba4, socketcand, + strace, supertux, suricata, systemd, ti-utils, trinity, + uclibc, usb_modeswitch, vlc, vsftpd, wampcc, + wayland-protocols, wireguard-linux-compat, wireshark, wlroots, + wolfssl, w_scan, xerces, xfsprogs, xdriver-xf86-video-ati, + xserver_xorg-server, ympd, zeromq, zlib-ng, zstd + + Issues resolved (http://bugs.uclibc.org): + + #12911: usb_modeswitch installation race condition + #13236: Can't compile linux 5.4.8 (with gcc 10 on host) + +2020.08, released September 1st, 2020 + + Various fixes. + + Updated/fixed packages: am33x-cm3, avahi, bluez-tools, + busybox, chocolate-doom, collectd, dhcp, docker-cli, domoticz, + gobject-introspection, graphite2, haproxy, ibm-sw-tpm2, + imagemagick, libeXosip2, libressl, lxc, mbedtls, menu-cache, + mongodb, mosquitto, nvidia-driver, paho-mqtt-c, pixz, + postgresql, python-django, rtty, squid, stress-ng, systemd, + trousers, uclibc, wireshark, wolfssl, zbar + +2020.08-rc3, released August 28th, 2020 + + Fixes all over the tree. + + Infrastructure: Ensure RPATH entries that may be needed for + dlopen() are not dropped by patchelf. + + Toolchain: Drop old GCC 6 based external Sourcery AMD64 + toolchain. + + Updated/fixed packages: assimp, davfs2, dillo, glibc, + gnuradio, hostapd, ibm-sw-tpm2, ipmitool, json-c, libroxml, + linux, mender, netopeer2, openal, openjpeg, python-matplotlib, + ripgrep, shadowsocks-libev, trousers, xlib_libX11, + xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #13141: Target-finalize fail with "depmod: ERROR: Bad version passed" + +2020.08-rc2, released August 24th, 2020 + + Fixes all over the tree, including a number of fixes for + compilation with GCC-10. + + Toolchain: Disallow building uClibc-ng for RISC-V 64-bit, + because of issues with a missing __riscv_flush_icache() + implementation. + + Defconfigs: CI20: Use mainline Linux and U-boot. Update + Microchip sama5d27_wlsom1_ek_mmc_dev to use bluez5-utils + instead of (the removed) legacy bluez-utils + + Updated/fixed packages: 18xx-ti-utils, aircrack-ng, apache, + atest, bandwidthd, bellagio, bind, bird, bluez-alsa, boost, + c-periphery, capnproto, chrony, collectd, cpio, cvs, + dieharder, domoticz, dovecot, dovecot-pigeonhole, drbd-utils, + dump1090, efl, elixir, f2fs-tools, feh, fluidsynth, fping, + gdbm, gdk-pixbuf, ghostscript, gst1-plugins-bad, + gstreamer1-editing-services, htop, ibm-sw-tpm2, ifplugd, + iftop, igd2-for-linux, ima-evm-utils, iprutils, iputils, + keepalived, kmsxx, libabseil-cpp, libcamera, libcurl, + libfuse3, libnss, librtlsdr, libubox, libunwind, live555, + lttng-tools, luabitop, mender-artifact, minizip, + mjpg-streamer, mpd, mpv, mtd, ncftp, open-lldp, openal, + opencv, opencv3, openfpgaloader, optee-os, owfs, php, + pistache, prosody, pulseview, python-decorator, + python-gunicorn, python-rpi-gpio, python-spidev, + python3-decorator, python3-mako, python3-pyselftools, qt5, + qt5webengine, rauc, redis, ripgrep, rtl8188eu, rtl8821au, + setools, smstools3, supertux, tftpd, tpm2-abrmd, + wpa_supplicant, xen, xlib_libX11, xserver_xorg-server + + New packages: python3-cython, python3-pycryptodomex + + Issues resolved (http://bugs.uclibc.org): + + #12876: nodejs fails to build when host-icu has been built before + #13111: python-gunicorn: missing dependency on python-setuptools + #13121: wpa_supplicant fails to build without libopenssl enabled + #13146: raspberrypi3_defconfig: "Inappropriate ioctl for device".. + #13156: package live555 new license + #13166: python-rpi-gpio: does not work against aarch64, unint.. + +2020.08-rc1, released August 6th, 2020 + + Toolchain: + + - GCC 10.x added, GCC 9.x is the default + - binutils 2.34 added, binutils 2.33 is the default, binutils + 2.31 removed + - glibc updated to 2.31 + - ARC toolchain components updated to 2020.03-release. + - Enable uClibc-ng usage for RISC-V 64-bit + + Infrastructure: + + - qmake-package was fixed to be compatible with + BR2_PER_PACKAGE_DIRECTORIES + - complete rewrite of the Gitlab CI Yaml configuration file, + now generated directly by the Gitlab CI pipeline itselfs + + Misc: + + - cargo and cargo-bin packages removed, as cargo is now part + of Rust itself + + Filesystem: ubinize configuration files can now use + BINARIES_DIR to refer to the $(O)/images directory. + + New packages: bitwise, earlyoom, fuse-overlayfs, gloox, + kodi-pvr-octonet, kodi-pvr-zattoo, libabseil-cpp, libcutl, + libnids, libnpupnp, libodb, libodb-boost, libodb-mysql, + libodb-pgsql, mbpfan, netopeer2, odb, parprouted, + python-colorzero, python-gpiozero, python-pybind, python-yatl, + python3-decorator, qt5quicktimeline, resiprocate, ttyd, + unclutter-xfixes, urandom-scripts, + + New defconfigs: bananapi_m2_zero, freescale_imx8mnevk, + globalscale_espressobin, imx6ullevk, + microchip_sama5d27_wlsom1_ek, rock_pi_4, rock_pi_n10 + + Removed packages: cargo, cargo-bin, + kodi-peripheral-steamcontroller + + Issues resolved (http://bugs.uclibc.org): + + #12941: Python GObject fails to build when using BR2_PER_PACKAGE_DIRECTORIES + #12946: Grub: Decompressor is too big. + #12986: Mtools: Error converting to codepage 850 + #13001: openjdk-bin replaces libfreetype.so from host-freetype + #13011: Incorrect selection of gcc version + #13021: Minor code error when building granite-0.4.1 + #13026: rpi-firmware: must not rename start files + #13046: Optimize for fast -Ofast is not compliant + #13081: host-e2fsprogs attempts to create udev rules.d on build host if not exists + #13101: BR audit2allow support + +2020.05.3, released October 12th, 2020 + + Important / security related fixes. + + meson: Correct SDK cross-compilation.conf file when + per-package builds were used to build SDK. + + systemd: Use /run rather than /var/run for PID files in units. + + Toolchain: use Secure-PLT rather than BSS-PLT for PowerPC 32. + + Fakeroot scripts (BR2_ROOTFS_POST_FAKEROOT_SCRIPT) are now run + after all finalization hooks (including pre-rootfs) to ensure + they can override any late configuration done by packages. + + support/script/pycompile: Rework logic to ensure .pyc files + contain absolute target paths, fixing code inspection at + runtime when executed with cwd != '/'. + + support/scripts/setlocalversion: Correct Mercurial output to + match behaviour with Git. + + support/scripts/apply-patches.sh: Use patch + --no-backup-if-mismatch, so we no longer blindly have to + remove *.orig files after patching, fixing issues with + packages containing such files. + + Updated/fixed packages: alsa-utils, apparmor, avahi, + bandwidthd, barebox, bash, bison, brotli, busybox, cifs-utils, + cryptsetup, cups, dhcpcd, dhcpdump, docker-cli, docker-engine, + ecryptfs-utils, efl, fail2ban, freetype, gcc, gdb, + ghostscript, gnutls, go, graphite2, gst1-plugins-base, + gst1-plugins-ugly, imagemagick, ipmitool, jbig2dec, libhtp, + libraw, libssh, libxml2, libxml-parser-perl, linux-headers, + localedef, lua, mbedtls, memcached, mesa3d, meson, minidlna, + mongodb, nginx, nodejs, nss-pam-ldapd, openvmtools, + paho-mqtt-c, php, postgresql, python, python-aenum, + python-django, python-engineio, python-fire, python-pymodbus, + python-scapy, python-semver, python-sentry-sdk, + python-socketio, python-texttable, python-tinyrpc, + python-txtorcon, python3, qt5base, rsh-redone, runc, samba4, + strace, supertux, suricata, systemd, uclibc, usb_modeswitch, + vlc, vsftpd, wayland-protocols, wireguard-linux-compat, + wireshark, wlroots, wolfssl, xserver_xorg-server, ympd, + zeromq, zstd + + Issues resolved (http://bugs.uclibc.org): + + #12911: usb_modeswitch installation race condition + #13251: cryptsetup does not work on branch 2020.02 following.. + +2020.05.2, released August 29th, 2020 + + Important / security related fixes. + + Infrastructure: Ensure RPATH entries that may be needed for + dlopen() are not dropped by patchelf. + + BR_VERSION_FULL/setlocalversion (used by make print-version + and /etc/os-release): Properly handle local git tags + + Updated/fixed packages: apache, assimp, at91bootstrap3, bind, + boost, busybox, capnproto, cegui, chrony, collectd, cpio, + cryptsetup, cups, cvs, dbus, docker-engine, domoticz, dovecot, + dovecot-pigeonhole, dropbear, efl, elixir, f2fs-tools, ffmpeg, + gd, gdk-pixbuf, ghostscript, glibc, gnuradio, grub2, + gst1-plugins-bad, gstreamer1-editing-services, hostapd, + ibm-sw-tpm2, iputils, jasper, json-c, libcurl, libressl, + libwebsockets, linux, live555, mesa3d, mongodb, mosquitto, + mpv, nodejs, opencv, opencv3, openfpgaloader, openjpeg, + patchelf, perl, php, postgresql, prosody, python-django, + python-gunicorn, python-matplotlib, ripgrep, rtl8188eu, + rtl8821au, ruby, shadowsocks-libev, squid, systemd, + tpm2-abrmd, tpm2-tools, trousers, uboot, webkitgtk, wireshark, + wolfssl, wpa_supplicant, wpewebkit, xen, xlib_libX11, + xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #12876: nodejs fails to build when host-icu has been built before + #13111: python-gunicorn: missing dependency on python-setuptools + #13121: wpa_supplicant fails to build without libopenssl enabled + #13141: Target-finalize fail with "depmod: ERROR: Bad version passed" + #13156: package live555 new license + +2020.05.1, released July 25th, 2020 + + Important / security related fixes. + + Toolchain: + - Make external toolchain version check also work for + toolchains configured with --with-gcc-major-version-only + + - Do not handle SOURCE_DATE_EPOCH in toolchain wrapper if the + compiler supports it, fixing an issue with precompiled + headers + + - Ensure debug libs from external toolchains are not installed + into target if debugging is disabled + + Download: + - Correct reproducibility issue in handling of git submodules + for older git versions. + + - Fix file locking over NFS + + fs: Ensure cpio archive element order is reproducible + + Br2-external: Fix error reporting for invalid br2-external trees + + Per-package: + - Fix an issue with python3 sysconfig data not getting + correctly expanded + + - Fix per-package building for packages using the qmake + infrastructure + + Updated/fixed packages: a10disp, asterisk, bind, brltty, + cdrkit, clamav, cryptodev-linux, dbus, docker-cli, + docker-engine, dvb-apps, e2fsprogs, exim, exiv2, freerdp, gdb, + gdk-pixbuf, gerbera, gnutls, go, granite, grub2, gssdp, + gst1-plugins-good, gst1-plugins-ugly, gupnp, intel-microcode, + iproute2, irrlicht, iwd, jq, kodi, libcamera, libcec, + libconfuse, libcurl, libevdev, libhttpserver, libmicrohttpd, + libnss, libressl, libvncserver, libxml2, libxmlrpc, lxc, + mbedtls, mediastreamer, mesa3d, meson, minizip, mongodb, + mtools, mutt, nano, network-manager, nghttp2, ngircd, nodejs, + ntp, open-plc-utils, open2300, openjdk-bin, openssh, + oracle-mysql, paho-mqtt-c, pango, php, poco, prosody, putty, + python-greenlet, python-urllib3, python-validators, python3, + readline, redis, rpi-firmware, rtl8821au, samba4, sdl2, + sqlite, squid, strace, sunxi-mali-mainline-driver, syslog-ng, + systemd, tcpreplay, tinydtls, upmpdcli, upx, vlc, webkitgtk, + wireguard-linux-compat, wireshark, wpebackend-fdo, wpewebkit, + x11vnc, znc, zstd + + Issues resolved (http://bugs.uclibc.org): + + #12941: Python GObject fails to build when using BR2_PER_PACKAGE_.. + #12946: Grub: Decompressor is too big. + #12986: Mtools: Error converting to codepage 850 + #13001: openjdk-bin replaces libfreetype.so from host-freetype + #13011: Incorrect selection of gcc version + #13021: Minor code error when building granite-0.4.1 + #13026: rpi-firmware: must not rename start files + #13031: nodejs: RangeError at new ArrayBuffer() + #13046: Optimize for fast -Ofast is not compliant + +2020.05, released June 1st, 2020 + + Various fixes. + + Updated/fixed packages: arm-trusted-firmware, gcc, mp4v2, fmc, + fmlib, glib-networking, libusb-compat, linux, qt5webengine, + sysrepo, wampcc, xen + +2020.05-rc3, released May 29th, 2020 + + Fixes all over the tree. + + Infrastructure: Support checking download hashes for packages + coming from Subversion. + + Defconfigs: Increase boot partition size to 64MB for Freescale + boards to allow space for bigger kernels. + + Updated/fixed packages: audit, bind, dovecot, efl, erlang, + ffmpeg, fio, gerbera, gnupg, leveldb, lrzip, ltrace, matio, + mesa3d, mp4v2, prosody, qemu, qt5declarative, speexdsp, + systemd, tremor, uboot-tools, unbound, wireshark + + Removed packages: wiringpi + + Issues resolved (http://bugs.uclibc.org): + + #12361: Init system (systemd) kills login on Raspberry Pi Zero + #12686: recipe for target 'install_dev' failed (libcrypto.so..) + +2020.05-rc2, released May 22nd 2020 + + Fixes all over the tree. + + U-Boot: Support building with Python 3.x instead of Python + 2.x. Since U-Boot 2020.01, various U-Boot build scripts use + Python 3.x instead of Python 2.x, so add an option to pull in + host-python3 rather than host-python. Also fix a number of + defconfigs to use this new option. + + Updated/fixed packages: apparmor, binutils, bison, brltty, + c-icap, cegui, checkpolicy, clamav, crda, cvs, docker-cli, + docker-engine, domoticz, elf2flt, exfatprogs, fakeroot, + ffmpeg, freerdp, gcc, glibc, gnuconfig, irrlicht, kmod, + libexif, libpam-tacplus, libssh2, libv4l, libvncserver, + localedef, lrzip, mariadb, matchbox, mbuffer, mesa3d, + mesa3d-headers, meson, netsniff-ng, openldap, openocd, + optee-os, p7zip, paho-mqtt-c, php, piglit, pigz, + python-argon2-cffi, python-attrs, python-future, + python-markdown, python-pycryptodomex, python-pyqt5, qt5base, + rpi-firmware, rustc, squashfs, squid, stella, suricata, + systemd, uacme, uclibc, util-linux, vboot-utils + + New packages: python3-pyelftools + + Removed packages: ezxml, mtdev2tuio, python-pycrypto + + Issues resolved (http://bugs.uclibc.org): + + #10551: PowerPC SPE and Musl + #12256: package tar is outdated (1.29 is 3 years old) + #12271: python-iptables runtime dependencies + #12321: host-generic-package: PKG_DL_OPTS not used for host package + #12391: CMake-based host package fails to include output/host/include + #12431: ethernet no detected on nanopi neo 2 + #12521: RISCV RV32IA selected, RV64GC output + #12586: avahi failure + #12596: host-e2fsprogs: tune2fs incompatibility on older glibc.. + #12611: ntp hash is not matching with upstream 4.2.8p13 + #12626: PHP missing header files within 2020.02 + #12631: glibc support Power-PC SPE + #12656: bison fails to relocate with relocate-sdk.sh + #12661: cups problems in buildroot + #12686: recipe for target 'install_dev' failed (libcrypto.so:.. + #12691: host-rust build fails + #12761: Buildroot fails when building GCNano binaries for the STM.. + #12786: Systemd spawns two getty processes when the getty port.. + #12806: There are multiple issues in buildroot that faults cups.. + #12826: nodejs-12.16.1: error: 'uv_sleep' was not declared in.. + #12831: RPI-firmware package: DTB-overlay dependency + #12836: libunwind: package does not show up in menuconfig for.. + #12841: util-linux/sfdisk 2.35.1 fails on sector-size header + #12866: should we be disabling bash executable path caching? + #12886: GMP built in wrong order (?) + #12891: QEMU, libvirt-bin, qemu-kvm Package Support required + #12901: GStreamer doesn't build on 2020-05 rc1 with GObject.. + #12906: qt PrefixPath is wrong on 2020.05-rc1 + #12921: nodejs-12.16.1: error: overriding 'virtual icu_65::.. + +2020.05-rc1, released May 7th 2020 + + Addition of support for gobject-introspection: both the + gobject-introspection package itself, but also introspection + support was enabled in a number of other packages. + + Support for Qt 5.6 was dropped as its support was dropped + upstream, only one version of Qt is supported at the moment: + Qt 5.14.2. + + Addition of support for the apparmor Linux security module, by + adding the necessary user-space packages. + + Addition of a qmake package infrastructure, now used by most + Qt-related packages. + + The Luarocks package infrastructure has been extended to + support build host packages. + + The package infrastructure was improved to allow each package + to indicate the Linux kernel configuration options it needs. + + Addition of support for generating filesystem images using the + EROFS filesystem. + + The logic that calculates the list of files installed by each + package was reworked to be compatible with the top-level + parallel build functionality. + + Addition of a package for a pre-compiled ARM32 bare-metal + toolchain, which can be used to build ARM32 code in ARM64 + configurations, such as firmware/bootloader code. + + The Qemu defconfigs are now boot-tested in Qemu as part of the + Gitlab continuous integration. + + Toolchain: gcc 9.x bumped to 9.3.0, gcc 8.x bumped to 8.4.0, + gdb bumped to 8.3.1. + + New packages: apcupsd, apparmor, arm-gnu-a-toolchain, bearssl, + belle-sip, belr, cage, chartjs, erofs-utils, exfatprogs, + gobject-introspection, ibm-sw-tpm2, imx-seco, jbig2dec, + libapparmor, libiberty, libfuse3, libtextstyle, libudfread, + libuhttpd, libuwsc, lua-lyaml, matio, mbuffer, netdata, + openfpgaloader, perl-i18n, perl-locale-maketext-lexicon, + perl-lwp-protocol-https, + perl-mojolicious-plugin-authorization, + perl-mojolicious-plugin-cspheader, + perl-mojolicious-plugin-i18n, + perl-mojolicious-plugin-securityheader, perl-mozilla-ca, + perl-path-class, pistache, pkcs11-helper, prelink-cross, + python-argon2-cffi, python-canopen, python-cbor2, + python-filelock, python-flatbuffers, python-greenlet, + python-modbus-tk, python-pyalsa, python-pysftp, python-regex, + python-snappy, rtty, tinyproxy, udev-gentoo-scripts, unbound, + vuejs, wlroots. + + New defconfigs: freescale_imx6ullevk, freescale_imx8qmmek, + nanopi_neo4, nanopi_r1, nitrogen8mm, nitrogen8mn, olpc_xo1, + olpc_xo175, roc_rk3399_pc, stm32mp157a_dk1, zynq_qmtech + + Issues resolved (http://bugs.uclibc.org): + + #10386: Add an option to put all compiled executables that + show up on target/ in staging/ as well + #11866: iniramfs file system fails to boot using Grub on EFI x86_64 + #12666: Doesn't pick up a custom bash profile + #12696: Uboot 2020.01 Problem loading Linux kernel on Nano PI NEO + #12701: [patch] wpa_supplicant must depend on openssl + #12711: host-localedef 2.30-20 fails to compile on fedora 32 (gcc 10.0.1) + #12716: bio.h not found + #12726: systemctl preset-all failed for ctrl-alt-del.target + #12731: rtl8188eu not buildung for banana pi M1 (glib, systemd, 4.18.12) + #12746: "sysdig" package description points to + http://sysdig.org, which bounces to malware site + #12751: OpenJdk package installation issues on target + #12796: Update OpenSSL to Version 1.1.1g to patch CVE-2020-1967 + #12811: bootstrap stuck and no login prompt + +2020.02.12, released April 5, 2021 + + Important / security related fixes. + + Dependencies: Explicitly detect and bail out if PATH contains + spaces or tabs. A number of packages fail to build in such + setups, so explicitly inform about this. + + utils/scanpypi: Explicitly use python3 for compatibility with + packages using python3 syntax in setup.py + + support/download: Fix tarball generation (from git/svn repos) + including symlinks pointing to ./ + + Meson: Use correct C++ host compiler (rather than C compiler) + + Updated/fixed packages: asterisk, batman-adv, bind, + ca-certificates, docker-containerd, dovecot, + dovecot-pigeonhole, diffutils, efivar, git, gnuchess, gnutls, + grub2, fakeroot, haserl, imagemagick, irqbalance, jasper, + kodi, libcurl, libebml, libglib2, libjpeg, libopenssl, + libupnp, libvips, lldpd, mariadb, mbedtls, mosquitto, nodejs, + netsnmp, nettle, openldap, openmpi, openssh, opkg-utils, perl, + php, privoxy, prosody, protobuf, python-aiohttp, + python-django, python-lxml, python-pyyaml, python-rpi-ws281x, + python3, redis, rpm, sconeserver, screen, sox, sqlcipher, + squid, sysvinit, tor, transmission, tzdata, uboot, upx, + util-linux, wireshark, wolfssl, wpa_supplicant, zstd + + Issues resolved (http://bugs.uclibc.org): + + #13516: utils/scanpypi: Failure when parsing diffoscope + #13541: 2021.02.rc2: irqbalance: Daemon couldn't be bound to.. + #13576: Issues compiling buildroot for 5x86 + #13581: jpegsrc.v9d.tar.gz has changed hash + #13616: tar file from git repository generation issue + +2020.02.11, released February 17, 2021 + + Important / security related fixes. + + meson: Fix ccache detection handling when per-package builds + are used. + + Fakeroot: Fix compatibility issue with glibc 2.33 + + Updated/fixed packages: atftp, busybox, cereal, connman, + dhcpcd, dnsmasq, docker-cli, docker-engine, fakeroot, + intel-mediadriver, intel-microcode, jasper, + kodi-inputstream-adaptive, libbsd, libopenssl, linux-headers, + mosquitto, orc, php, postgresql, privoxy, pugixml, + python-bottle, python-django, python3, rauc, sox, subversion, + tzdata, wireguard-linux-compat, wpa_supplicant, xenomai, xterm + + Issues resolved (http://bugs.uclibc.org): + + #13506: BR2_PACKAGE_DHCPCD missing directory creation + +2020.02.10, released January 31st, 2021 + + Important / security related fixes. + + Download: Ensure git submodules are correctly fetched if + enabled for a package with _GIT_SUBMODULES = YES and the + host variant is downloaded first. + + Toolchain: Mark CodeSourcery Aarch64 2014.11 toolchain as not + having libatomic. + + pkg-stats: Fix python 3.8+ deprecation warning. + + meson: Ensure ccache is not detected and used, as it may + conflict with the ccache handling in Buildroot. + + New packages: libnpupnp + + Updated/fixed packages: bctoolbox, brltty, dbus, dovecot, + dovecot-pigeonhole, gcc, gerbera, gmrender-resurrect, gst-omx, + gst1-plugins-bad, gst1-plugins-base, gst1-plugins-good, + gst1-plugins-ugly, gst1-rtsp-server, gst1-vaapi, + gst1-validate, gstreamer1, gstreamer1-editing-services, + igd2-for-linux, libclc, libllcp, libtorrent-rasterbar, + libupnp, libupnpp, lpc32xxcdl, luarocks, mpd, nfs-utils, + nodejs, openjpeg, openldap, opentracing-cpp, openvpn, p11-kit, + paho-mqtt-c, php, poppler, postgresql, python3, runc, sudo, + syslog-ng, systemd, tini, trace-cmd, tzdata, ushare, vlc, + wavpack, wireguard-linux-compat, wolfssl, xapp_xload, xorriso, + zic + + Removed packages: libupnp18 + + Issues resolved (http://bugs.uclibc.org): + + #13471: package/mpd/mpd.conf make use of path not created + +2020.02.9, released December 27th, 2020 + + Important / security related fixes. + + Infrastructure: + - cmake: fix host ccache handling for CMake 3.19 + - meson: Forcibly disable binary stripping for + target builds, enable for host builds + - golang: Fix HOST / TARGET directories for per-package builds + + Defconfigs: Beaglebone Qt5: Fix ti-sgx related issues + + Updated/fixed packages: apitrace, arm-trusted-firmware, + bustle, c-ares, ca-certificates, cdrkit, cryptopp, dhcpcd, + docker-containerd, dtv-scan-tables, flare-engine, ghostscript, + haproxy, imagemagick, imx-gpu-viv, jasper, jemalloc, + jpeg-turbo, libcap, libcurl, libglib2, libgpiod, libkrb5, + libopenssl, libplist, libressl, libuv, libuvw, lynx, mariadb, + mbedtls, minidlna, monkey, musl, mutt, ncurses, netsnmp, + nodejs, opencv3, openldap, openrc, opkg-utils, paho-mqtt-c, + php, privoxy, proftpd, python-crc16, python-flask-cors, + python-lxml, python-pip, python-pyparsing, python-pyqt5, qemu, + qt5base, raptor, rauc, ruby, setserial, shadowsocks-libev, + slirp, sqlcipher, ti-sgx-demos, tinycbor, vsftpd, + wireless-regdb, wireshark, x11vnc, xen, xinetd, + xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #13276: libcap builds libcap.pc incorrectly + #13316: beaglebone_qt5_defconfig: PowerVR fails to start + #13341: Mistake in /etc/init.d/S70vsftpd + +2020.02.8, released November 16th, 2020 + + Important / security related fixes. + + Updated/fixed packages: angularjs, argp-standalone, asterisk, + bandwidthd, bitcoin, busybox, cryptsetup, darkhttpd, davfs2, + docker-cli, docker-containerd, docker-engine, + dovecot-pigeonhole, fastd, fbset, fbtft, freetype, gcc, + ghostscript, gnuradio, grpc, gst1-plugins-bad, jsoncpp, + keepalived, libass, libexif, libiqrf, libpam-tacplus, libraw, + linux-backports, linux-firmware, lzlib, netsnmp, nginx, + oniguruma, opencv3, openntpd, patchelf, php, postgresql, + python-pyqt5, qt5base, rauc, redis, samba4, slirp, systemd, + tcpdump, tmux, tor, webkitgtk, wireguard-linux-compat, + wireshark, wpewebkit, xen, xorriso, zeromq, zxing-cpp + + Issues resolved (http://bugs.uclibc.org): + + #11931: Bugs in support/scripts/apply-patches.sh + +2020.02.7, released October 12th, 2020 + + Important / security related fixes. + + meson: Correct SDK cross-compilation.conf file when + per-package builds were used to build SDK. + + systemd: Use /run rather than /var/run for PID files in units. + + Toolchain: use Secure-PLT rather than BSS-PLT for PowerPC 32. + + support/script/pycompile: Rework logic to ensure .pyc files + contain absolute target paths, fixing code inspection at + runtime when executed with cwd != '/'. + + support/scripts/setlocalversion: Correct Mercurial output to + match behaviour with Git. + + support/scripts/apply-patches.sh: Use patch + --no-backup-if-mismatch, so we no longer blindly have to + remove *.orig files after patching, fixing issues with + packages containing such files. + + Updated/fixed packages: bandwidthd, barebox, bash, bison, + brotli, cifs-utils, cryptsetup, dhcpcd, dhcpdump, docker-cli, + docker-engine, ecryptfs-utils, efl, fail2ban, freetype, gcc, + gdb, ghostscript, gnutls, go, gst1-plugins-base, + gst1-plugins-ugly, ipmitool, libhtp, libraw, libssh, libxml2, + libxml-parser-perl, localedef, lua, memcached, mesa3d, meson, + minidlna, nginx, nodejs, nss-pam-ldapd, openvmtools, php, + postgresql, python, python-aenum, python-autobahn, + python-engineio, python-fire, python-pymodbus, python-scapy, + python-semver, python-sentry-sdk, python-socketio, + python-texttable, python-tinyrpc, python-txtorcon, python3, + qt5base, runc, samba4, strace, supertux, suricata, systemd, + vlc, wayland-protocols, wireguard-linux-compat, wireshark, + xserver_xorg-server, zeromq, zstd + + Issues resolved (http://bugs.uclibc.org): + + #12911: usb_modeswitch installation race condition + #13251: cryptsetup does not work on branch 2020.02 following.. + +2020.02.6, released September 5th, 2020 + + Important / security related fixes. + + Fix a 2020.02.5 build regression in busybox when systemd (and + not less) are enabled because of missing infrastructure. + + Updated/fixed packages: alsa-utils, avahi, busybox, cups, + docker-cli, graphite2, imagemagick, libeXosip2, mbedtls, + nvidia-driver, paho-mqtt-c, python-django, systemd, uclibc, + usb_modeswitch, wolfssl + + Issues resolved (http://bugs.uclibc.org): + + #12911: usb_modeswitch installation race condition + +2020.02.5, released August 29th, 2020 + + Important / security related fixes. + + Infrastructure: Ensure RPATH entries that may be needed for + dlopen() are not dropped by patchelf. + + BR_VERSION_FULL/setlocalversion (used by make print-version + and /etc/os-release): Properly handle local git tags + + Updated/fixed packages: apache, at91bootstrap3, bind, boost, + busybox, capnproto, chrony, collectd, cpio, cryptsetup, cups, + cvs, dbus, docker-engine, domoticz, dovecot, + dovecot-pigeonhole, dropbear, efl, elixir, f2fs-tools, ffmpeg, + gd, gdk-pixbuf, ghostscript, glibc, grub2, gst1-plugins-bad, + hostapd, iputils, jasper, json-c, libcurl, libwebsockets, + linux, live555, mesa3d, mosquitto, mpv, nodejs, opencv, + opencv3, openjpeg, patchelf, perl, php, postgresql, + python-django, python-gunicorn, python-matplotlib, ripgrep, + rtl8188eu, rtl8821au, ruby, shadowsocks-libev, squid, + tpm2-abrmd, tpm2-tools, trousers, uacme, webkitgtk, wireshark, + wolfssl, wpa_supplicant, wpewebkit, xen, xlib_libX11, + xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #12876: nodejs fails to build when host-icu has been built before + #13111: python-gunicorn: missing dependency on python-setuptools + #13121: wpa_supplicant fails to build without libopenssl enabled + #13141: Target-finalize fail with "depmod: ERROR: Bad version passed" + #13156: package live555 new license + +2020.02.4, released July 26th, 2020 + + Important / security related fixes. + + Toolchain: + - Make external toolchain version check also work for + toolchains configured with --with-gcc-major-version-only + + - Do not handle SOURCE_DATE_EPOCH in toolchain wrapper if the + compiler supports it, fixing an issue with precompiled + headers + + - Ensure debug libs from external toolchains are not installed + into target if debugging is disabled + + Download: + - Correct reproducibility issue in handling of git submodules + for older git versions. + + - Fix file locking over NFS + + fs: Ensure cpio archive element order is reproducible + + Br2-external: Fix error reporting for invalid br2-external trees + + Per-package: + - Fix an issue with python3 sysconfig data not getting + correctly expanded + + - Fix per-package building for packages using the qmake + infrastructure + + Updated/fixed packages: a10disp, asterisk, bind, cdrkit, + checkpolicy, clamav, dbus, docker-cli, docker-engine, + dvb-apps, e2fsprogs, exim, exiv2, freerdp, gnutls, go, grub2, + gssdp, gst1-plugins-good, gst1-plugins-ugly, gupnp, + intel-microcode, iproute2, irrlicht, iwd, jq, kodi, libcamera, + libconfuse, libcurl, libglib2, libhttpserver, libmicrohttpd, + libopenssl, libvncserver, libxml2, libxmlrpc, lxc, mbedtls, + mesa3d, meson, mongodb, mtools, mutt, nghttp2, ngircd, nodejs, + ntp, open-plc-utils, open2300, openjdk-bin, openssh, + oracle-mysql, paho-mqtt-c, pcre, php, poco, prosody, putty, + python-twisted, python-urllib3, python-validators, python3, + qt5xmlpatterns, redis, rpi-firmware, rtl8821au, samba4, sdl2, + sqlite, squid, syslog-ng, systemd, tcpreplay, tinydtls, + upmpdcli, upx, vlc, webkitgtk, wireguard-linux-compat, + wireshark, wpebackend-fdo, wpewebkit, zstd + + Issues resolved (http://bugs.uclibc.org): + + #12941: Python GObject fails to build when using BR2_PER_PACKAGE_.. + #12946: Grub: Decompressor is too big. + #12986: Mtools: Error converting to codepage 850 + #13001: openjdk-bin replaces libfreetype.so from host-freetype + #13011: Incorrect selection of gcc version + #13026: rpi-firmware: must not rename start files + #13031: nodejs: RangeError at new ArrayBuffer() + #13046: Optimize for fast -Ofast is not compliant + +2020.02.3, released June 3rd, 2020 + + Important / security related fixes. + + Fix various build issues of host packages on hosts using GCC + 10. + + Updated/fixed packages: arm-trusted-firmware, audit, bind, + binutils, bison, clamav, crda, dovecot, dtc, efl, elf2flt, + erlang, fakeroot, ffmpeg, fmc, fmlib, freerdp, gcc, git, + glib-networking, gnupg, leveldb, libexif, libssh2, + libusb-compat, linux-headers, lrzip, ltrace, mariadb, mesa3d, + mp4v2, openldap, openocd, perl, php, prosody, + python-pycryptodomex, python-pyqt5, qemu, rpi-firmware, rustc, + speexdsp, sysrepo, systemd, tremor, vboot-utils, wireshark, + xen + + Removed packages: python-pycrypto + + Issues resolved (http://bugs.uclibc.org): + + #12361: Init system (systemd) kills login on Raspberry Pi Zero + #12656: bison fails to relocate with relocate-sdk.sh + #12671: leveldb won't detect that snappy is present (static.. + #12691: host-rust build fails + #12831: RPI-firmware package: DTB-overlay dependency + +2020.02.2, released May 12th, 2020 + + Important / security related fixes. + + Musl: Disallow on PPC64 cores without AltiVec support + (E.G. e5500). + + fs/cpio: Correctly handle booting with 'console=' + + release: Ensure temporary .br2-external.* files are not + included in the release tarball + + Defconfigs: Fix various mistyped config options, or config + options where the dependencies were no longer met. + + Updated/fixed packages: apache, azure-iot-sdk-c, binutils, + boinc, c-ares, cvs, docker-cli, docker-containerd, + docker-engine, domoticz, e2fsprogs, efl, evtest, exim, ffmpeg, + freerdp, gcc, gflags, glibc, gnuconfig, haproxy, imx-gpu-2d, + irrlicht, jpeg kodi-pvr-vuplus, libarchive, libcoap, + libfpm-extra, libglib2, libhtp, libid3tag, libinput, libmad, + libopenssl, libsepol, libssh, libv4l, libvncserver, libwpe, + localedef, mariadb, matchbox, mbedtls, mc, mesa3d-headers, + meson, midori, msgpack, netsnmp, nginx, ogre, openjdk, + openldap, openvpn, p7zip, paho-mqtt-c, php, polkit, python, + python-attrs, python-crossbar, python-dpkt, python-flask, + python-future, python-iptables, python-jedi, python-markdown2, + python3, qemu, qpdf, qt5, samba4, squashfs, squid, strongswan, + suricata, tzdata, util-linux, vlc, wget, webkitgtk, + wireguard-linux-compat, wireshark, wpebackend-fdo, wpewebkit, + zic + + Issues resolved (http://bugs.uclibc.org): + + #11866: initramfs file system fails to boot using Grub on EFI x86_64 + #12271: python-iptables runtime dependencies + #12726: systemctl preset-all failed for ctrl-alt-del.target + #12751: OpenJdk package installation issues on target + #12796: Update OpenSSL to Version 1.1.1g to patch CVE-2020-1967 + #12811: bootstrap stuck and no login prompt + #12841: util-linux/sfdisk 2.35.1 fails on sector-size header + +2020.02.1, released April 10th, 2020 + + Important / security related fixes. + + core: Also fixup /lib references in libtool .la files, similar + to how it is done for /usr/*. + + Various fixes for builds with per-package target/host + directories. + + toolchain: Fix kernel headers validation check for external + toolchains. Fix make 4.3+ compatibility in external toolchain + logic. + + fs/initramfs: fix show-info so it also shows the usual + rootfs-related variables. + + Updated/fixed packages: arm-trusted-firmware, barebox-aux, + bluez5_utils, bubblewrap, busybox, civetweb, cog, collectd, + ffmpeg, gcc, gnutls, gssdp, gvfs, haproxy, hiredis, hostapd, + kmscube, kodi-screensaver-rsxs, libical, libinput, libexif, + libopenssl, libsndfile, linux, linux-tools, llvm, localedef, + mcrypt, mesa3d, meson, monit, nftables, ntp, opencv3, + oprofile, php, pinentry, polkit, pure-ftpd, python-pyyaml, + qt5, quagga, radvd, rcw, redis, rocksdb, samba4, screen, + sdbusplus, swupdate, sysdig, sysklogd, syslinux, syslog-ng, + tor, tslib, uacme, util-linux, vala, vlc, + wireguard-linux-compat, wireguard-tools, wireshark, + wpa_supplicant, xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #12711: host-localedef 2.30-20 fails to compile on fedora 32 + #12746: "sysdig" package description points to http://sysdig.org, .. + +2020.02, released March 8th, 2020 + + Various fixes. + + br2-external: Fix compatibility with make 4.3+ + + Updated/fixed packages: bash, bcm2835, binutils, cups, + erlang-p1-acme, fbgrab, gr-osmosdr, gst1-plugins-base, + gst1-validate, gstreamer1, guile, jhead, libdrm, libevdev, + libinput, libnss, libsndfile, libvncserver, linux-firmware, + mesa3d, nodejs, openjdk-bin, openvmtools, optee-test, patch, + php, piglit, pppd, python-django, qemu, qt5base, ruby, + ser2net, swupdate, thrift, zziplib + + Removed packages: classpath, jamvm + + Issues resolved (http://bugs.uclibc.org): + + #12606: fbgrab location has changed + +2020.02-rc3, released March 2nd, 2020 + + Fixes all over the tree. + + Infrastructure: Rework file list handling to fix race + conditions when building with per-package target and host + directories and top-level parallel builds. + + Updated/fixed packages: aufs, binutils, blktrace, brltty, + cairo, dnsmasq, docker-compose, elf2flt, exim, exiv2, git, + kodi-inputstream-adaptive, libarchive, libcgroup, libgdiplus, + libssh2, libvncserver, libvorbis, linknx, linux-firmware, lxc, + lz4, mosquitto, openjpeg, openrc, poco, proftpd, pure-ftpd, + python3, python-multidict, python-setuptools-scm-git-archive, + qpdf, qt5tools, rdesktop, rocksdb, shellinabox, squid, + suricata, swig, systemd, taglib, util-linux, wireshark, zsh + + Issues resolved (http://bugs.uclibc.org): + + #12571: ltp-testsuite : Build failure + #12576: 2020.02-RC1: error while loading shared libraries: ... + #12581: 2020.02-rc1 glibc failing to build on fedora 31 + +2020.02-rc2, released February 26th, 2020 + + Fixes all over the tree. + + Toolchain: Ensure strong SSP can only be enabled if the + (external) toolchain supports it. + + Fix a race condition related to creating the output/staging + symlink on systems with coreutils < 8.27. + + Drop support for the (end of life) Qt 5.6 variant. + + Updated/fixed packages: at, armadillo, audiofile, bash, + busybox, erlang, fail2ban, fluidsynth, ipsec-tools, jpeg-turbo, + kvm-unit-tests, libftdi1, libinput, libsvgtiny, libtomcrypt, + libupnpp, libxml2, linux-tools, luv, mbedtls, mesa3d, minicom, + openvmtools, php, qt5, qt5webengine, qwt, radvd, rcw, + sdbusplus, systemd, tpm2-tss, vorbis-tools + + Issues resolved (http://bugs.uclibc.org): + + #12581: 2020.02-rc1 glibc failing to build on fedora 31 + +2020.02-rc1, released February 18th, 2020 + + Fixes all over the tree and new features. + + Add experimental support for building with a per-package + target and host directory. This still has some rough edges, + but brings a number of advantages: + + - Packages will only be able to access the explicitly listed + dependencies and not any other packages that happen to be + built before, ensuring correct dependency information in + Buildroot. + + - Possibility for top-level parallel builds, speeding up + builds on multicore machines. + + Core: Ensure package-file-lists data is correct after + incremental builds as well. + + Architecture: Add support for ARC-HS38 with 64bit multiplier + variant, allow building glibc for big endian ARC, handle 16KB + MMU page size for ARC in toolchain wrapper. + + Toolchain: Add binutils 2.33.1, GCC 7.5.0, Arm 9.2-2019.12 + toolchains, ARC 2019.09 toolchain. Allow using custom kernel + headers newer than what is known by Buildroot. + + pkg-stats: Support for CVE vulnerability reporting by + comparing to NVD database. + + Reproducible builds: The go -trimpath option is now used to + get rid of absolute build paths, __FILE__ and __BASE_FILE__ + defines are now handled in the toolchain wrapper. + + Systemd: Build host variant and use systemctl to automatically + enable unit files rather than manually managing symlinks. + + Util-linux: Ensure that hwclock is built without GPLv3 + code. Notice that builds with hwclock has contained + GPLv3-licensed code since util-linux 2.30 (Buildroot 2017.08+) + + New defconfigs: Beelink GS1, Raspberrypi4 64bit + + New packages: alura, avro-c, bubblewrap, cctz, cereal, + cpuburn-arm, elixir, erlang-base64url, erlang-idna, + erlang-jose, erlang-p1-acme, erlang-p1-mqtree, + erlang-p1-yconf, fluid-soundfont, fluidsynth, gcnano-binaries, + gensio, glslsandbox-player, libargon2, libmodsecurity, + libpam-nfc, libtelnet, lua-codegen, lua-livr, lua-livr-extra, + lua-rotas, lua-silva, mfoc, network-manager-openvpn, + nginx-modsecurity, perl-crypt-openssl-aes, + perl-math-prime-util, pipewire, ptm2human, python-aenum, + python-aiohttp-debugtoolbar, python-aiohttp-mako, + python-aiologstash, python-aiosignal, python-aiozipkin, + python-async-lru, python-avro, python-bunch, python-crontab, + python-dnspython, python-entrypoints, python-esptool, + python-frozenlist, python-future, python-gitdb, python-janus, + python-lockfile, python-logstash, python-nested-dict, + python-pbr, python-pyaes, python-pydantic, python-smmap2, + python-sockjs, python-zc-lockfile, raspi-gpio, rocksdb, + sdbusplus, spidermonkey, thermald, ti-sgx-libgbm, tinyssh, + tio, umtprd, weston-imx, wireguard-linux-compat, + wireguard-tools, xdg-dbus-proxy + + Removed packages: bluez_utils, celt051, erlang-p1-iconv, fis, + gadgetfs-test, libplayer, gstreamer, gst-ffmpeg, + gst-fsl-plugins, gst-omapfb, gst-plugins-bad, + gst-plugins-base, gst-plugins-good, gst-plugins-ugly, + perl-digest-md5, perl-mime-base64, perl-net-ping, + python-scapy3k, wireguard + + Issues resolved (http://bugs.uclibc.org): + + #11906: the new version of mesa3d cannot support etnaviv when.. + #11996: opencv3 SIGILL on Cortex-A5 with VFPv4-D16 + #12121: PyQt5.QtSerialPort and other modules not being built + #12256: package tar is outdated (1.29 is 3 years old + #12286: Can't import gobject in python 3.8 + #12376: python-scapy3k is deprecated + #12386: carriage return issue when "make menuconfig" + #12441: qt5webengine build error: asm/errno.h: No such file or.. + #12446: Buildroot fails to finish installing packages + #12456: qtvirtualkeyboard: No such file or directory + #12461: libglib2 build files with deep directory structure + #12481: minicom fails when output directory path contains "m4" + #12501: libnss-3.49.1: ld error: multiple definition of `gcm_.. + #12526: host-nodejs 12.14.1: configure fail: AttributeError: .. + #12536: Linux-Headers extracting failure + #12546: Ninja 1.10 build Error + +2019.11.3, released April 10th, 2020 + + Important / security related fixes. + + core: Fix compatibility with make 4.3+. Also fixup /lib + references in libtool .la files, similar to how it is done for + /usr/*. + + toolchain: Fix kernel headers validation check for external + toolchains. + + fs/initramfs: fix show-info so it also shows the usual + rootfs-related variables. + + Updated/fixed packages: barebox-aux, bluez5_utils, busybox, + civetweb, cog, collectd, ffmpeg, gcc, gnutls, gssdp, gvfs, haproxy, + hiredis, hostapd, kmscube, libical, libopenssl, libsndfile, + linux-tools, llvm, monit, ntp, php, pure-ftpd, radvd, redis, + samba4, screen, sysdig, syslinux, syslog-ng, tor, uacme, + util-linux, vala, vlc, wpa_supplicant, xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #12746: "sysdig" package description points to http://sysdig.org, .. + +2019.11.2, released March 16th, 2020 + + Important / security related fixes. + + Core: Ensure package-file-lists data is correct after + incremental builds as well. + + Fix a race condition related to creating the output/staging + symlink on systems with coreutils < 8.27. + + Toolchain: ARC tools bumped to arc-2019.09. + + Br2-external: Fix patch handling when external linux-extension + packages are used. Fix compatibility with make 4.3+ + + Util-linux: Ensure that hwclock is built without GPLv3 + code. Notice that builds with hwclock has contained + GPLv3-licensed code since util-linux 2.30 (Buildroot 2017.08+) + + Updated/fixed packages: armadillo, at, bcm2835, binutils, + blktrace, bluez-alsa, bootstrap, brltty, busybox, cairo, + clamav, cog, cups, czmq, dnsmasq, docker-containerd, dovecot, + dovecot-pigeonhole, e2fsprogs, elf2flt, eudev, exim, exiv2, + fbgrab, gettext-tiny, glibc, go, grep, gst1-validate, guile, + imagemagick, jhead, jpeg-turbo, kvm-unit-tests, lapack, + libarchive, libcgroup, libdrm, libevent, libexif, libftdi1, + libgdiplus, libjpeg, libsigrok, libsndfile, libssh2, + libsvgtiny, libvncserver, libvorbis, libxml2, libxslt, linknx, + lxc, lz4, mariadb, mbedtls, meson, mongoose, mosquitto, musl, + ncurses, nodejs, ntfs-3g, ogre, opencv3, openjdk, openjpeg, + openrc, openswan, openvmtools, optee-test, patch, php, piglet, + postgresql, pppd, proftpd, pure-ftpd, python-django, + python-pyqt5, python-setuptools-scm-git-archive, python3, + qemu, qt5base, qt5tools, qt5virtualkeyboard, qt5webengine, + qwt, rdesktop, ruby, runc, samba4, shellinabox, + skeleton-init-openrc, smartmontools, spdlog, sqlcipher, squid, + suricata, swig, swupdate, sysklogd, taglib, thrift, + ti-cgt-pru, uclibc, util-linux, vorbis-tools, webkitgtk, + wireshark, wpebackend-fdo, wpewebkit, xen, + xserver_xorg-server, zeromq, zsh, zziplib + + Issues resolved (http://bugs.uclibc.org): + + #11996: opencv3 SIGILL on Cortex-A5 with VFPv4-D16 + #12331: meson issue + #12456: qtvirtualkeyboard: No such file or directory + #12461: libglib2 build files with deep directory structure + #12481: minicom fails when output directory path contains "m4" + #12606: fbgrab location has changed + +2019.11.1, released January 12th, 2020 + + Important / security related fixes. + + Infrastructure: kconfig: Fix reconfigure logic, python: Ensure + correct compiler and linker flags are used for compiled code + + utils/scanpypi: Remind users to update DEVELOPERS + + Defconfigs: imx6-sabresd: Fix the Qt5 display names, + imx8: Drop extra copy of U-Boot DTB + + Updated/fixed packages: acsccid, bitcoin, boost, busybox, + cc-tool, cmocka, cpio, cups, dante, dialog, dillo, docker-cli, + docker-containerd, docker-engine, easy-rsa, ebtables, + ecryptfs-utils, efl, ffmpeg, gdb, git, glibc, gnupg2, go, + gpsd, grpc, gst1-plugins-bad, iputils, jasper, + kf5-kcoreaddons, leveldb, libarchive, libfribi, libgit2, + libkrb5, libp11, librsvg, libssh, libtomcrypt, libuio, libv4l, + lirc-tools, log4cplus, lrzip, lvm2, mali-t76x, + matchbox-desktop, mender-grubenv, mmc-utils, mosquitto, + nodejs, ntp, openipmi, opencv3, openpowerlink, openrc, pango, + perl-sys-cpu, pimd, postgresql, pulseaudio, python-brotli, + python-coherence, python-crc16, python-django, python-dpkt, + python-gobject, python-pyasn-modules, python-pypcap, + python-pyqt5, python-subprocess32, python3, qpdf, + qt-webkit-kiosk, qt5virtualkeyboard, qt5webengine, quota, + rabbitmq-c, rauc, rpcbind, rtl8821au, runc, rygel, samba4, + sdl2, setserial, snort, spidev_test, + sunxi-mali-mainline-driver, syslog-ng, sysrepo, tcllib, tftpd, + usbmount, w_scan, wavpack, wsapi, wsapi-fcgi, wsapi-xavante, + x265, xserver_xorg-server, ytree, zip + + Issues resolved (http://bugs.uclibc.org): + + #12121: PyQt5.QtSerialPort and other modules not being built + #12286: Can't import gobject in python 3.8 + +2019.11, released December 1st, 2019 + + Various fixes. + + Infrastructure: Make HOST__DL_OPTS inherit from + _DL_OPTS by default, just like it is done for a number of + other package variables. + + Add _KEEP_PY_FILES to exclude specific python .py files + from the removal done by BR2_PACKAGE_PYTHON{,3}_PYC_ONLY for + the (rare) case where the .py files are needed at runtime + rather than .pyc. + + Updated/fixed packages: am33x-cm3, bind, collectd, go, gob2, + gst1-plugins-bad, haproxy, jasper, jpeg-turbo, libdrm, + libftdi, libftdi1, libnss, libselinux, libstrophe, lzma, + minicom, network-manager, nodejs, oniguruma, opencv3, + openvmtools, perl-gdgraph, perl-gdtextutil, prosody, + python-cchardet, systemd, tiff, wolfssl, + + Issues resolved (http://bugs.uclibc.org): + + #11416: check-uniq-files staging issue + #12146: Oprofile runtime issue + #12166: Compiling nodejs for SAMA5D3 always crash with illegal inst.. + #12171: Python-opencv needs config.py and config-3.7.py to run.. + #12196: duma package + #12211: host-nodejs 10.15.3 package fail to build + #12316: tzdata fails to install with empty "default local time" + #12326: network-manager build fails with missing glib error + #12366: Gstreamer1 gst1-plugins-bad do not compile with RPI-Userland + +2019.11-rc3, released November 24th, 2019 + + Fixes all over the tree. + + Updated/fixed packages: asterisk, clamav, domoticz, faifa, + gerbera, kmod, kvm-unit-tests, libupnp18, linux-serial-test, + lsof, ltp-testsuite, lxc, mesa3d, mesa3d-headers, perl, php, + postgresql, qemu, rauc, redis, rpcbind, spice, spice-protocol, + systemd, tftpd, waylandpp, webkitgtk, zip + +2019.11-rc2, released November 16th, 2019 + + Fixes all over the tree. + + Toolchain: ARC tools bumped to arc-2019.09-rc1, ensure + external toolchain kernel headers version check correctly stop + the build on mismatch + + Meson: Fix generation of global cross-compilation.conf + + Download: Also use the package download method for extra + downloads from the same site, so it does not get confused by + URLs containing '+' + + Defconfigs: Fix boot issue for beaglebone + + Updated/fixed packages: bird, chrony, connman, dhcp, domoticz, + dropwatch, dtc, elf2flt, gettext-tiny, glog, intel-microcode, + ipsec-tools, jailhouse, kodi, libfribi, libmbim, libressl, + libsigrokdecode, libsvgtiny, linux-serial-test, ltp-testsuite, + lvm2, lxc, mariadb, mesa3d, minizip, ndisc6, neardal, ninja, + ofono, openvmtools, oracle-mysql, qt5wayland, safeclib, socat, + sudo, systemd, wpewebkit, xserver_xorg-server + +2019.11-rc1, released November 5th, 2019 + + Fixes all over the tree and new features. + + Dependencies: Gcc/g++ 4.8 or newer is now required on the + build host. + Ensure host has JSON::PP perl module installed if + webkitgtk/wpewebkit packages are enabled as it is needed + during their build process. + + Toolchain: Add support for the D programming language (GCC + 9.x, Glibc). + GCC 9.x updated to 9.2.0, Glibc updated to 2.30, Musl updated + to 1.1.24, uClibc-ng updated to 1.0.32, ARC toolchain updated + to arc-2019.09-eng002. + Musl: Add a patch to add support for + sched_{get,set}scheduler() and sched_{get,set}param() for + compatibility. + Generate check-headers program under BUILD_DIR rather than + /tmp to fix issues with distributions mounting /tmp noexec. + Also copy libssp.so for external toolchains if SSP + to handle toolchains providing SSP support in libssp rather + than in the C library + + New defconfigs: Beaglebone AI, FriendlyARM Nanopi NEO Plus2, + Libre Computer "La Frite", QEMU Armv7-A with trustzone/OP-TEE, + STM32MP157 Discovery Kit + + Arch: RISC-V: Default to a sensible floating point ABI based + on the selected ISA extensions rather than always defaulting + to ILP32/64 + + Graph-size: Package sizes are now shown in human readable form + (Kib/Mib/Gib) rather than always in Kib. Binary (KB/MB/GB) + format can be selected using the --binary option. The cut-off + limit for classifying packages as "other" is now configurable + using the --size-limit option. + + Br2-external: Linux kernel extensions can now also be provided + in an external tree by adding packages under + linux/linux-ext-*.mk. See the manual for details. + + Fakeroot now works correctly under Microsoft Windows 10 + Services for Linux, which does not provide SYSV IPC support + + The check-uniq-files logic which would complain if multiple + packages would touch the same files has been removed as it + causes issues in certain situations (when packages are + rebuilt) and the issue is no longer considered a problem for + toplevel parallel builds as those will use a per-package + staging/target directory. + With this removed, Python is no longer required for a basic + build (only for optional scripts). + + support/scripts/genimage.sh will no longer make a copy of + TARGET_DIR, speeding up post-build/image scripts. + + The runtime test logic now uses Python 3.x. + + A 'v' prefix has been dropped from the _SOURCE variable + for a number of packages to match the version numbers used by + https://release-monitoring.org + + New packages: caps, collectl, dav1d, fstrcmp, ima-evm-utils, + jitterentropy-library, kodi-vfs-rar, kodi-vfs-sftp, libavl, + libhttpserver, libmspack, libnetconf2, libolm, libyang, + linux-serial-test, lrzip, mdevd, minimodem, musl-fts, netifrc, + ogre, openlayers, python-aioredis, python-asgiref, + python-backports-functools-lru-cache, python-bluezero, + python-brotli, python-channels, python-channels-redis, + python-colorlog, python-daphne, python-django-enumfields, + python-jaraco-functools, python-kiwisolver, python-msgfy, + python-rpi-ws281x, python-setuptools-scm-git-archive, + python-simplelogging, python-soupsieve, python-sqliteschema, + python-sqlparse, python-tqdm, python-webencodings, qt5webview, + restclient-cpp, ripgrep, snmpclitools, sunwait, sysrepo, + uacme, utf8proc, uvw, ytree + + Removed packages: alljoyn, alljoyn-base, alljoyn-tcl-base, + devmem2, eventlog, kodi-audiodecoder-opus, + kodi-screensaver-planestate, kodi-visualisation-waveforhue, + python-pysnmp-apps, riscv-pk, ustr + + Issues resolved (http://bugs.uclibc.org): + + #9881: systemd-resolved not setting resolv.conf link + #10171: devmem2 w (word) is 8 bytes in x86 64 systems + #10586: musl gcc has ifunc enabled when musl doesn't support it + #10806: Allow nfs-utils to use ipv6 + #11366: [2018.08] SysV IPC not available for fakeroot on WSL + #11411: check-uniq-files target issue + #11766: Console (getty) issues with systemd + #11781: mariadb build error + #12031: Build of cups-filters fails while linking, apparently due.. + #12116: console prompt does not appear after login + #12141: eudev package is missing "render" and "kvm" groups + #12181: dropbear: norootlogin (-w) no longer works when PAM is enabled + #12186: Raspberry Pi Zero-W build fails on newer kernel versions + #12191: cmake BUILDDIR + #12241: Permission denied while running "make" + #12261: sudo versions prior to 1.8.28 are affected. + #12276: make clean/distclean does not remove BR2_DL_DIR and BR2_HOST_DIR + #12281: Custom configuration fails to build (based on raspberrypi3_.. + +2019.08.3, released December 7th, 2019 + + Important / security related fixes. + + Infrastructure: Make HOST__DL_OPTS inherit from + _DL_OPTS by default, just like it is done for a number of + other package variables + + Add _KEEP_PY_FILES to exclude specific python .py files + from the removal done by BR2_PACKAGE_PYTHON{,3}_PYC_ONLY for + the (rare) case where the .py files are needed at runtime + rather than .pyc. + + Fix -reconfigure handling for packages using the kconfig + infrastructure. + + Toolchain: ensure external toolchain kernel headers version + check correctly stop the build on mismatch + + Deconfigs: beaglebone: fix boot issue + + Updated/fixed packages: am33x-cm3, asterisk, bind, chrony, + clamav, cmocka, collectd, connman, dhcp, dropwatch, faifa, + gettext-tiny, gob2, haproxy, intel-microcode, ipsec-tools, + jailhouse, jasper, jpeg-turbo, kodi, kvm-unit-tests, libftdi, + libftdi1, libnss, libressl, libstrophe, libsvgtiny, lvm2, + lzma, mariadb, minicom, mosquitto, neardal, ninja, nodejs, + oniguruma, openvmtools, oracle-mysql, perl-gdgraph, + perl-gdtextutil, php, postgresql, prosody, python-cchardet, + python-django, qt5wayland, rabbitmq, rauc, redis, rpcbind, + socat, spice, spice-protocol, tftpd, tiff, webkitgtk + + New packages: libmspack + + Issues resolved (http://bugs.uclibc.org): + + #12166: Compiling nodejs for SAMA5D3 always crash with illegal inst.. + #12171: Python-opencv needs config.py and config-3.7.py to run.. + #12211: host-nodejs 10.15.3 package fail to build + #12316: tzdata fails to install with empty "default local time" + +2019.08.2, released November 9th, 2019 + + Important / security related fixes. + + Toolchain: Also copy libssp.so for external toolchains if SSP + to handle toolchains providing SSP support in libssp rather + than in the C library + + Download: Also use the package download method for extra + downloads from the same site, so it does not get confused by + URLs containing '+' + + Fakeroot now works correctly under Microsoft Windows 10 + Services for Linux, which does not provide SYSV IPC support + + utils/test-pkg: ensure to exit with an error upon failure + + Updated/fixed packages: asterisk, azmq, binutils, + cups-filters, domoticz, dtc, duma, elf2flt, eudev, exfat, + exfat-utils, fakeroot, fdk-aac, file, freerdp, gcc, gd, + ghostscript, go, gpsd, grpc, gst1-plugins-base, gvfs, icu, + intel-microcode, kvm-unit-tests, libfribidi, libnspr, libnss, + libopenssl, libpcap, libpciaccess, librsvg, libseccomp, + libsigrok, libtorrent, libunwind, libva, linux-tools, + lua-sdl2, lxc, minizip, mjpegtools, mongoose, mono, nbd, + nfs-utils, php, piglit, python, python-autobahn, + python-pysnmp-apps, python-tornado, python3, qemu, qt5base, + ruby, safeclib, samba4, sdl_mixer, sox, sudo, suricata, + systemd, tcpdump, unscd, util-linux, vdr-plugin-vnsiserver, + vtun, wireshark, xvisor, yaffs2utils + + Issues resolved (http://bugs.uclibc.org): + + #11366: [2018.08] SysV IPC not available for fakeroot on WSL + #12261: sudo versions prior to 1.8.28 are affected + +2019.08.1, released October 3rd, 2019 + + Important / security related fixes. + + Defconfigs: AArch64-efi: Fix grub configuration, Beaglebone: + Use default console settings + + Dependencies: Ensure host has JSON::PP perl module installed + if webkitgtk/wpewebkit packages are enabled as it is needed + during their build process. + + Toolchain: Generate check-headers program under BUILD_DIR + rather than /tmp to fix issues with distributions mounting + /tmp noexec. + + Updated/fixed packages: asterisk, augeas, axel, bind, bwm-ng, + cups, cups-filters, docker-cli, docker-engine, docker-proxy, + e2fsprogs, eudev, exim, expat, gcc, go, haveged, ifplugd, joe, + kf5-extra-cmake-modules, kf5-modemmanager-qt, + kf5-networkmanager-qt, libcamera, libcurl, libgcrypt, + libglib2, libgpg-error, libnspr, libnss, libopenssl, + logrotate, luksmeta, mariadb, mbedtls, mongodb, mosquitto, + ncurses, nfs-utils, nghttp2, nodejs, openvmtools, php, + protobuf, putty, qemu, samba4, snort, swupdate, + systemd-bootchart, thttpd, uclibc, unzip, util-linux, + wireshark + + Issues resolved (http://bugs.uclibc.org): + + #10806: Allow nfs-utils to use ipv6 + #11781: mariadb build error + #12031: Build of cups-filters fails while linking, apparently due.. + #12141: eudev package is missing "render" and "kvm" groups + #12241: Permission denied while running "make" + +2019.08, released September 1st, 2019 + + Various fixes. + + Defconfigs: Removed nanopc t4, nanopi m4 and neo4, pine64 + rockpro64 and raxda rock pi4 as they rely on a ARM32 toolchain + on the build host to build ATF. These defconfigs will be added + back once a package providing such toolchain is + available. Also dropped ts4800 defconfig as it does not build + with GCC >= 8.x. + + Updated/fixed packages: libxcb, php, python-numpy, webkitgtk, + wpewebkit, xfont_font-util + + Issues resolved (http://bugs.uclibc.org): + + #12156: buildroot-2019.08-rc3 does not build for Pi Zero W + +2019.08-rc3, released August 28th, 2019 + + Fixes all over the tree. + + Updated/fixed packages: clamav, dovecot, dovecot-pigeonhole, + gcc, intel-microcode, libmicrohttpd, libmodplug, mpg123, + nginx, openldap, python, qemu, samba4, squid, strace, vlc + + Issues resolved (http://bugs.uclibc.org): + + #11686: fbdev_drv.so: undefined symbol: shadowUpdatePackedWeak,.. + +2019.08-rc2, released August 20th, 2019 + + Fixes all over the tree. + + Compile fixes for a number of defconfigs. + + Updated/fixed packages: apache, autofs, batctl, batman-adv, + bind, collectd, cwiid, dahdi-linux, dahdi-tools, daq, + dehydrated, dhcp, dtc, efl, enlightenment, evtest, giflib, + gnutls, go, gst-plugins-bad, gst-plugins-base, + gst1-plugins-bad, gst1-plugins-base, gst1-rtsp-server, gtkmm3, + gupnp, harfbuzz, imagemagick, lftp, libbsd, libcpprestsdk, + libdnet, libfm, libgit2, libgtk2, libgtk3, libpri, librsvg, + libss7, libssh2, libwpe, lua-cqueues, metacity, micropython, + mpd, mpg123, musl, mpv, openblas, openbox, opencv, pango, + pcmanfm, piglit, pigpio, pinentry, postgresql, qemu, qt5base, + qt5enginio, qt5multimedia, qt5serialbus, quagga, quazip, + rrdtool, rygel, samba4, stellarium, tcpreplay, ti-gfx, vte, + wampcc, wilink-bt-firmware, wireless-regdb, wpebackend-fdo, + xscreensaver + + Removed packages: libamcodec, odroid-mali, odroid-scripts + + Issues resolved (http://bugs.uclibc.org): + + #9481: NetworkManager/Ping unable to resolve domains + #10566: php.mk is missing option --with-pgsql + #10861: Package batman_adv Makefile is missing include header direct.. + #11641: linux kernel .config timestamp always out of date fixed with.. + #11671: russian locale ru_RU:145: LC_TIME: syntax error + #11701: recuuring of usr and in bin shortcuts are created + #11741: pigpio does not build host-pigpio + #11876: automount using host mount/umount + #11881: Build breaks with lftp package enabled and libexpat1-dev inst.. + #11921: dahdi fails to build + #11936: libcpprestsdk should install to staging + #11946: wilink-bt-firmware: moved from github to http://git.ti.com/ti-bt + #11961: libpri build failure + #12086: dhcp shared libraries not installed to target + #12096: tcpreplay: build fails if libdumbnet-dev is installed in the.. + #12106: daq: build fails if libdumbnet-dev is installed in the host + #12126: vc4 has neon as hard dependency + +2019.08-rc1, released August 9th, 2019 + + Fixes all over the tree and new features. + + toolchain: ARC toolchain updated to 2019.03 (binutils 2.32.51 + / GCC 8.3.1 / glibc 2.29), ARM AAarch64/ARM toolchains updated + to 2019.03. Add GCC 9.1.0, remove GCC 4.9 and 6.5, add GDB + 8.3, remove GDB 7.12 and 8.0.1, default to GDB 8.2, GCC + 8.3.0. Musl updated to 1.1.23, bringing support for RISC-V 64. + + Architectures: Internal toolchain support for C-SKY, support + for ARC HS48 v3.1 and HS38 with Quad MAC & FPU, support for + ARM A76, A76/A55 big.LITTLE, emag, neoverse-N1, phecda and + tsv110. + + Filesystems: Pass extra pax options to tar for binary + reproducibility. Build host-cpio for the --reproducible option + support when BR2_REPRODUCIBLE is enabled. Genimage updated to + version 11, bringing GPT support. + + Br2-external: Add support for injecting additional options to + the list of preconfigured external toolchains and libjpeg and + openssl providers using files under provides/. See the manual + for details. + + Ensure custom _OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS are + passed before the standard exclusions so they are not ignored + by rsync when using override-srcdir. + + Gnuconfig updated to 2019-05-28, adding C-SKY support. + + test-pkg: Correct long option handling and clean output dir + after a successful build to save disk space. + + support/testing: Emulate a machine with 256MB RAM to fix + issues with certain tests running out of memory, use + virtio-rng to provide needed entrophy. + + pkg-stats: support outputting in JSON format with --json for + easier post processing. The classic HTML output is still + available with --html. Parallelize access to + release-monitoring.org to speed up runtime. + + Drop non-conventional version prefix/suffix/separators for + packages for better compatibility with release-monitoring.org + + Packages: + Init systems: Add basic openrc support and + _INSTALL_INIT_OPENRC variable in the infrastructure to + install openrc service scripts if enabled. + + busybox: Build each applet as a separate binary when SELinux + is enabled for more finegrained policy control. Use daemon + mode for mdev rather than legacy hotplug. + + linux: Workaround -Werror related build failure on powerpc, + by forcing CONFIG_PPC_DISABLE_WERROR on. + + Defconfigs: QEMU: use 'rootwait' kernel option to ensure root + partition is available before mounting. + + New defconfigs: HiFive Unleashed, I.MX8MM EVK and Pico, Nanopi + m4 and neo4, Nanopc t4, Olimex A33 olinuxino, Pine64 + Rockpro64, PowerPC mac99, QEMU C-SKY 610/807/810/860 virt, + Raspberry Pi 4, Raxda rock pi4, Solidrun Clearfog GT-8K + + Removed defconfigs: Odroid C2 + + New packages: bitcoin, c-capnproto, fatcat, ifmetric, jack1, + jailhouse, libubootenv, luasyslog, mender-grubenv, + murata-cyw-fw, openrc, piglit, python-colorama, python-cycler, + python-hiredis, python-ifaddr, python-inflection, + python-iptables, python-matplotlib, python-periphery, + python-pycairo, python-redis, python-termcolor, + python-tinyrpc, python-txdbus, skeleton-init-openrc, spdlog, + sshguard, stellarium, zziplib + + Removed packages: xapp_mkfontdir + + Issues resolved (http://bugs.uclibc.org): + + #11096: Upgrade from glibc 2.26 to 2.27 broke some locales... + #11271: utils/check-package fails with exception depending on.. + #11991: [numpy] segfault when compiling for RPi3 64bits + #12016: Grub fails to boot bzImage after upgrade to 2019.05 + #12046: Can’t login as root user after upgrading to buildroot.. + #12051: package/dhcp installs libtool wrapper scripts on tar... + #12076: Patchelf can link against an incompatible libc++ ver... + +2019.05.3, Released October 3rd, 2019 + + Important / security related fixes. + + Defconfigs: AArch64-efi: Fix grub configuration, Beaglebone: + Use default console settings + + Dependencies: Ensure host has JSON::PP perl module installed + if webkitgtk/wpewebkit packages are enabled as it is needed + during their build process. + + Toolchain: Generate check-headers program under BUILD_DIR + rather than /tmp to fix issues with distributions mounting + /tmp noexec. + + Updated/fixed packages: asterisk, augeas, bind, bwm-ng, cups, + cups-filters, docker-cli, docker-engine, docker-proxy, + e2fsprogs, eudev, exim, expat, gcc, go, haveged, ifplugd, + iptables, joe, kf5-extra-cmake-modules, kf5-modemmanager-qt, + kf5-networkmanager-qtlibcamera, libcurl, libgcrypt, + libgpg-error, libnftl, libnspr, libnss, libopenssl, + libtorrent-rasterbar, luksmeta, mariadb, mbedtls, mongodb, + mosquitto, ncurses, nfs-utils, nghttp2, nodejs, openvmtools, + php, protobuf, putty, qemu, samba4, swupdate, + systemd-bootchart, thttpd, uclibc, unzip, util-linux, + wireshark + + Issues resolved (http://bugs.uclibc.org): + + #10806: Allow nfs-utils to use ipv6 + #11781: mariadb build error + #12031: Build of cups-filters fails while linking, apparently due.. + #12141: eudev package is missing "render" and "kvm" groups + #12241: Permission denied while running "make" + +2019.05.2, Released September 3rd, 2019 + + Important / security related fixes. + + Filesystems: Pass extra pax options to tar for binary + reproducibility. + + Updated/fixed packages: apache, arm-trusted-firmware, + asterisk, atk, autofs, batctl, batman-adv, berkeleydb, + busybox, bzip2, clamav, cloop, cmake, collectd, connman-gtk, + dahdi-linux, dahdi-tools, daq, dehydrated, dhcp, dovecot, + dovecot-pigeonhole,, elfutils, evtest, exim, expect, giflib, + git, glib-networking, glibc, gnupg2, gnutls, go, + gst1-rtsp-server, gtkperf, gupnp-tools, gvfs, imagemagick, + imx-uuc, intel-microcode, json-glib, lftp, libbsd, libcurl, + libgit2, libgtk2, libgtk3, libmodplug, libnss, libpri, + libshout, libss7, libssh2, libvips, libxcb, linux-headers, + mdadm, mesa3d, metacity, mpg123, mosquitto, musl, nginx, + oniguruma, openblas, opencv3, openjdk, openjdk-bin, openldap, + openvmtools, pcmanfm, php, pigpio, postgresql, prboom, + proftpd, proj, python, python-django, python-idna, + python-numpy, python-urllib3, python3, qemu, qt5, qt5base, + qt5enginio, quagga, rygel, squid, subversion, tcpreplay, + unzip, vlc, vte, webkitgtk, wireless-regdb, xen, + xfont_font-util, xlib_libICE, xlib_libXfont, xlib_libXfont2, + yad, zeromq + + Issues resolved (http://bugs.uclibc.org): + + #11741: pigpio does not build host-pigpio + #11876: automount using host mount/umount + #11881: Build breaks with lftp package enabled and libexpat1-dev inst.. + #11921: dahdi fails to build + #11961: libpri build failure + #12086: (dhcpd-missing-libs) - dhcp shared libraries not installed to.. + #12096: tcpreplay: build fails if libdumbnet-dev is installed in the.. + #12106: daq: build fails if libdumbnet-dev is installed in the host + #12126: vc4 has neon as hard dependency + +2019.05.1, Released July 7th, 2019 + + Important / security related fixes. + + arch: x86: Fix typo breaking 'core-avx2' variant + + linux: Workaround -Werror related build failure on powerpc, + by forcing CONFIG_PPC_DISABLE_WERROR on. + + support/testing: Emulate a machine with 256MB RAM to fix + issues with certain tests running out of memory. + + test-pkg: Correct long option handling and clean output dir + after a successful build to save disk space. + + Defconfigs: QEMU: use 'rootwait' kernel option to ensure root + partition is available before mounting. + + Updated/fixed packages: barebox, busybox, bzip2, davfs2, + dialog, docker-cli, docker-engine, exim, expat, faad2, + haveged, irssi, libcamera, libcdaudio, libcurl, libglib2, + libressl, libsecret, lmbench, meson, monit, php, postgresql, + psplash, python-django, qt5base, tvheadend, webkitgtk, + xserver_xorg-server, znc + +2019.05, released June 2nd, 2019 + + Various fixes. + + Toolchain: Ensure pre-built Andes toolchains can only be + selected when x86 32bit support is available on the host. + Disallow PowerPC SPE ABI for GCC >= 8.x, as it is no longer + supported. + + Infra: pkg-config: Use a dedicated timestamp file rather than + .config as that gets touched by linux-4.19+, causing repeated + builds. + + Add C-SKY support to our config.sub (gnuconfig) + + Updated/fixed packages: dosfstools, botan, brotli, dropbear, + flare-engine, gst1-plugins-bad, libhtp, libnss, libopenssl, + linuxptp, matchbox-panel, mender, mutt, netsurf, + network-manager, opencv3, openjdk, openmpi, php, + python-cython, qt5multimedia, qtwayland, qt5webkit-examples, + supertux, suricata, tpm2-totp, v4l2loopback, wireshark, + wpewebkit + +2019.05-rc3, released May 25th, 2019 + + Fixes all over the tree. + + check-bin-arch: Ignore /usr/lib/grub, similar to how /lib/grub + is ignored. + + check-package: Warn about utf-8 characters in .mk files + + Linux: Default to 5.1.x series + + Updated/fixed packages: assimp, atop, chocolate-doom, cjson, + ddrescue, dhcp, ffmpeg, gerbera, glibmm, gpsd, gst-ffmpeg, + intel-microcode, jasper, keepalived, kismet, libcpprestsdk, + libcurl, libssh2, libupnp18, luarocks, mono-gtksharp3, opus, + postgresql, pcsc-lite, python, tslib, webkitgtk, + wpebackend-fdo, wpewebkit + +2019.05-rc2, released May 15th, 2019 + + Fixes all over the tree. + + Updated/fixed packages: bind, bullet, ca-certificates, + collectd, cracklib, dhcp, gdb, libinput, libtorrent-rasterbar, + linknx, lynx, mono, netsurf, optee-os, postgresql, qt5enginio, + qt5multimedia, rpm, samba4, sqlite, strace, uclibc, woff2 + + Issues resolved (http://bugs.uclibc.org): + + #11841: grub-efi.cfg not used when building EFI disk image + +2019.05-rc1, Released May 8th, 2019 + + Fixes all over the tree and new features. + + Architecture: Andes 32-bit (nds32) support added. + + Only build host-lzip / host-xz when really needed by packages, + not just when not available on the build host. + + Toolchain: Glibc bumped to 2.29, musl bumped to 1.1.22, + binutils 2.32 added, 2.28/2.29 removed, default changed to + 2.31.1. + + fs: Set FAKEROOTDONTTRYCHOWN environment variable to not + forward {f,l,}chown calls to libc when running under fakeroot + to fix issues when building in restricted environments + (E.G. user namespace with bubblewrap). + + Linux: Also build default make target to ensure extra files + like the gdb scripts enabled by CONFIG_GDB_SCRIPTS are also + built. Notice: This may mean that extra host utilities like + uboot-mkimage are needed. + + Infrastructure: show-info and -show-info make targets + added to output package metadata in JSON format for external + use. + + pkg-generic: Only tweak .la files needing it to ensure they + are not included in subsequent package file lists. + + test-pkg: Generate a basic package config if none is + specified. + + Gettext-tiny package added as an lightweight replacement for + GNU gettext for situations where NLS support is not needed. + + New defconfigs: Andes AE3XX, Freescale imx8mpico / imx8qxpmek + / T2080 QDS RDB, Licheepi zero, Orangepi R1 + + Removed defconfigs: Olimx A20 Olinuxino Lime legacy + + New packages: bats-core, bayer2rgb-neon, brickd, cog, dacapo, + enet, gettext-tiny, gli, gst1-plugins-bayer2rgb-neon, + imx-sc-firmware, intel-mediadriver, intel-mediasdk, libcamera, + libhtp, libp11, libwpe, lua-binaryheap, lua-gd, lua-lunitx, + mender-artifact, most, oniguruma, openjdk, openjdk-bin, + opensbi, optee-benchmark, optee-client, optee-examples, + optee-os, optee-test, paho-mqtt-cpp, python-aioblescan, + python-aioconsole, python-aiohttp-cors, python-aiomonitor, + python-backcall, python-jedi, python-parso, python-pyjwt, + python-terminaltables, suricata, tpm2-totp, uftp, + wpebackend-fdo, wpewebkit + + Removed packages: libump, lunit, sunxi-mali + + Issues resolved (http://bugs.uclibc.org): + + #11716: Typo on website, saying latest release is 2018.2.11 + #11756: package/syslinux: MBR's don't fit because of binutils.. + #11761: Building custom kernel 5.1-rc3 or later breaks on objtool + #11816: Only selected coreutils binaries are installed + +2019.02.11, released April 9th, 2020 + + Important / security related fixes. + + core: Fix compatibility with make 4.3+. Also fixup /lib + references in libtool .la files, similar to how it is done for + /usr/*. + + toolchain: Fix kernel headers validation check for external + toolchains. + + Updated/fixed packages: barebox-aux, bluez5_utils, busybox, + civetweb, collectd, ffmpeg, gcc, gnutls, gvfs, haproxy, + hiredis, kmscube, libical, libopenssl, libsndfile, + linux-tools, ntp, php, pure-ftpd, screen, sysdig, tor, + util-linux, vala, vlc, xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #12746: "sysdig" package description points to http://sysdig.org, .. + +2019.02.10, released March 16th, 2020 + + Important / security related fixes. + + Core: Ensure package-file-lists data is correct after + incremental builds as well. + + Fix a race condition related to creating the output/staging + symlink on systems with coreutils < 8.27. + + Br2-external: Fix compatibility with make 4.3+ + + Util-linux: Ensure that hwclock is built without GPLv3 + code. Notice that builds with hwclock has contained + GPLv3-licensed code since util-linux 2.30 (Buildroot 2017.08+) + + Updated/fixed packages: armadillo, at, binutils, blktrace, + bootstrap, busybox, cairo, cups, czmq, dnsmasq, + docker-containerd, dovecot, dovecot-pigeonhole, e2fsprogs, + eudev, exim, exiv2, fbgrab, grep, gst1-validate, guile, + imagemagick, jhead, kvm-unit-tests, lapack, libcgroup, + libftdi1, libjpeg, libsigrok, libsndfile, libssh2, libsvgtiny, + libvncserver, libvorbis, libxml2, libxslt, linux, lz4, + mariadb, mbedtls, meson, mfgtools, mongoose, ncurses, ntfs-3g, + opencv3, openjpeg, openswan, openvmtools, patch, php, + postgresql, pppd, proftpd, pure-ftpd, python-django, + python-pyqt5, python3, qemu, qt5base, qt5webengine, qwt, + rdesktop, ruby, runc, samba4, shellinabox, smartmontools, + sqlcipher, squid, swupdate, sysklogd, taglib, thrift, + ti-cgt-pru, uboot, util-linux, vorbis-tools, webkitgtk, + wireshark, xen, xserver_xorg-server, zeromq, zsh + + Issues resolved (http://bugs.uclibc.org): + + #11996: opencv3 SIGILL on Cortex-A5 with VFPv4-D16 + #12331: meson issue + #12461: libglib2 build files with deep directory structure + #12606: fbgrab location has changed + +2019.02.9, released January 12th, 2020 + + Important / security related fixes. + + pkg-python infrastructure: Ensure correct compiler and linker + flags are used for compiled code + + utils/scanpypi: Remind users to update DEVELOPERS + + Updated/fixed packages: busybox, cc-tool, cpio, cups, dante, + dillo, docker-cli, docker-containerd, docker-engine, easy-rsa, + ecryptfs-utils, efl, git, glibc, gnupg2, gst1-plugins-bad, + kf5-kcoreaddons, libarchive, libgit2, libkrb5, librsvg, + libssh, libtomcrypt, libuio, lirc-tools, lvm2, + matchbox-desktop, nodejs, ntp, opencv3, openpowerlink, + python-django, python-ecdsa, python-pyasn-modules, + python-pyqt5, python-subprocess32, python3, qpdf, runc, rygel, + samba4, sdl2, wavpack, xserver_xorg-server, zip + + Issues resolved (http://bugs.uclibc.org): + + #12121: PyQt5.QtSerialPort and other modules not being built + +2019.02.8, released December 7th, 2019 + + Important / security related fixes. + + Infrastructure: Make HOST__DL_OPTS inherit from + _DL_OPTS by default, just like it is done for a number of + other package variables + + Add _KEEP_PY_FILES to exclude specific python .py files + from the removal done by BR2_PACKAGE_PYTHON{,3}_PYC_ONLY for + the (rare) case where the .py files are needed at runtime + rather than .pyc. + + Fix -reconfigure handling for packages using the kconfig + infrastructure. + + Toolchain: ensure external toolchain kernel headers version + check correctly stop the build on mismatch + + Deconfigs: beaglebone: fix boot issue + + Updated/fixed packages: am33x-cm3, asterisk, bind, chrony, + clamav, collectd, connman, faifa, gob2, haproxy, + intel-microcode, ipsec-tools, jasper, jpeg-turbo, kodi, + kvm-unit-tests, libftdi, libftdi1, libnss, libstrophe, + libsvgtiny, lvm2, lzma, mariadb, minicom, neardal, nodejs, + opencv3, openvmtools, oracle-mysql, perl-gdgraph, + perl-gdtextutil, php, postgresql, prosody, python-django, + rabbitmq-c, rauc, redis, rpcbind, socat, spice, + spice-protocol, tftpd, tiff, webkitgtk + + New packages: libmspack + + Issues resolved (http://bugs.uclibc.org): + + #12166: Compiling nodejs for SAMA5D3 always crash with illegal inst.. + #12171: Python-opencv needs config.py and config-3.7.py to run.. + #12211: host-nodejs 10.15.3 package fail to build + #12316: tzdata fails to install with empty "default local time" + +2019.02.7, Released November 10th, 2019 + + Important / security related fixes. + + support/testing: use a kernel with HW_RANDOM_VIRTIO to work + around issues with lack of entrophy + + Toolchain: Also copy libssp.so for external toolchains if SSP + is enabled to handle toolchains providing SSP support in + libssp rather than in the C library + + Download: Also use the package download method for extra + downloads from the same site, so it does not get confused by + URLs containing '+' + + Fakeroot now works correctly under Microsoft Windows 10 + Services for Linux, which does not provide SYSV IPC support + + utils/test-pkg: ensure to exit with an error upon failure + + Updated/fixed packages: asterisk, azmq, cups-filters, + domoticz, duma, elf2flt, eudev, exfat, exfat-utils, fakeroot, + file, freerdp, gd, ghostscript, go, gvfs, intel-microcode, + kvm-unit-tests, libarchive, libnspr, libnss, libopenssl, + libpcap, libpciaccess, librsvg, libseccomp, libsigrok, + libtorrent, libunwind, linux-tools, lua-sdl2, lxc, minizip, + mjpegtools, mongoose, php, python, python-pysnmp-apps, + python3, qemu, qt5base, ruby, safeclib, samba4, sdl_mixer, + sox, sudo, systemd, tcpdump, unscd, util-lkinux, vtun, xvisor, + yaffs2utils + + Issues resolved (http://bugs.uclibc.org): + + #11366: [2018.08] SysV IPC not available for fakeroot on WSL + #12261: sudo versions prior to 1.8.28 are affected + +2019.02.6, Released October 3rd, 2019 + + Important / security related fixes. + + Defconfigs: AArch64-efi: Fix grub configuration, Beaglebone: + Use default console settings + + Dependencies: Ensure host has JSON::PP perl module installed + if webkitgtk/wpewebkit packages are enabled as it is needed + during their build process. + + Toolchain: Generate check-headers program under BUILD_DIR + rather than /tmp to fix issues with distributions mounting + /tmp noexec. + + Updated/fixed packages: asterisk, augeas, bind, bwm-ng, cups, + cups-filters, docker-cli, docker-engine, docker-proxy, + dropbear, e2fsprogs, eudev, exim, expat, gcc, go, ifplugd, + haveged, iptables, joe, kf5-extra-cmake-modules, + kf5-modemmanager-qt, kf5-networkmanager-qt, libcurl, + libgcrypt, libgpg-error, libnftl, libnspr, libnss, libopenssl, + luksmeta, mariadb, mbedtls, mongodb, mosquitto, ncurses, + nfs-utils, nghttp2, nodejs, openvmtools, php, protobuf, putty, + qemu, qt5base, samba4, swupdate, systemd-bootchart, thttpd, + uclibc, unzip, util-linux, wireshark + + Issues resolved (http://bugs.uclibc.org): + + #10806: Allow nfs-utils to use ipv6 + #11781: mariadb build error + #12031: Build of cups-filters fails while linking, apparently due.. + #12141: eudev package is missing "render" and "kvm" groups + #12181: dropbear: norootlogin (-w) no longer works when PAM is enabled + #12241: Permission denied while running "make" + +2019.02.5, Released September 2nd, 2019 + + Important / security related fixes. + + Filesystems: Pass extra pax options to tar for binary + reproducibility. + + Updated/fixed packages: apache, arm-trusted-firmware, + asterisk, atk, autofs, batctl, batman-adv, berkeleydb, brotli, + busybox, bzip2, clamav, cloop, cmake, collectd, connman-gtk, + cryptopp, dahdi-linux, dahdi-tools, daq, dehydrated, dovecot, + dovecot-pigeonhole,, elfutils, evtest, exim, expect, giflib, + git, glib-networking, glibc, gnupg2, gnutls, go, + gst1-rtsp-server, gtkperf, gupnp-tools, gvfs, imagemagick, + imx-uuc, intel-microcode, json-glib, lftp, libbsd, libcurl, + libgit2, libgtk3, libmodplug, libnss, libpri, libshout, + libss7, libssh2, libvips, libxcb, linux-headers, mdadm, + mesa3d, metacity, mpg123, mosquitto, musl, nginx, openblas, + opencv3, openldap, openvmtools, pcmanfm, php, pigpio, + postgresql, prboom, proftpd, proj, python, python-django, + python-idna, python-numpy, python-urllib3, python3, qemu, qt5, + qt5base, qt5enginio, quagga, rygel, squid, subversion, + tcpreplay, unzip, vlc, vte, webkitgtk, weston, wireless-regdb, + xen, xfont_font-util, xlib_libICE, xlib_libXfont, + xlib_libXfont2, yad, zeromq + + Issues resolved (http://bugs.uclibc.org): + + #11741: pigpio does not build host-pigpio + #11876: automount using host mount/umount + #11881: Build breaks with lftp package enabled and libexpat1-dev inst.. + #11921: dahdi fails to build + #11961: libpri build failure + #12096: tcpreplay: build fails if libdumbnet-dev is installed in the.. + #12106: daq: build fails if libdumbnet-dev is installed in the host + #12126: vc4 has neon as hard dependency + +2019.02.4, Released July 10th, 2019 + + Important / security related fixes. + + arch: x86: Fix typo breaking 'core-avx2' variant, add Westmere + variant. + + linux: Workaround -Werror related build failure on powerpc, + by forcing CONFIG_PPC_DISABLE_WERROR on. + + support/testing: Emulate a machine with 256MB RAM to fix + issues with certain tests running out of memory. + + test-pkg: Correct long option handling and clean output dir + after a successful build to save disk space. + + Ensure custom _OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS are + passed before the standard exclusions so they are not ignored + by rsync when using override-srcdir. + + Defconfigs: QEMU: use 'rootwait' kernel option to ensure root + partition is available before mounting. + + Updated/fixed packages: barebox, bzip2, davfs2, dbus, dialog, + docker-cli, docker-engine, expat, faad2, ffmpeg, freeswitch, + gerbera, haveged, irssi, libcdadio, libgit2, libglib2, + libsecret, libvncserver, lmbench, logrotate, mariadb, meson, + mongoose, monit, mpd, openblas, php, postgresql, psplash, + python, python-django, python3, qt5base, samba4, taglib, + tvheadend, vlc, webkitgtk, xserver_xorg-server, znc + +2019.02.3, Released June 7th, 2019 + + Important / security related fixes. + + Infra: pkg-config: Use a dedicated timestamp file rather than + .config as that gets touched by linux-4.19+, causing repeated + builds. + + check-bin-arch: Also ignore /usr/lib/grub to support merged + /usr setups, similar to how /lib/grub is ignored. + + gnuconfig/config.sub: Add C-SKY architecture support. + + Updated/fixed packages: assimp, atftp, atop, botan, busybox, + ca-certificates, chocolate-doom, cjson, coreutils, cracklib, + ddrescue, dhcp, docker-cli, docker-containerd, docker-engine, + dosfstools, dovecot, dovecot-pigeonhole, dropbear, exim, + ffmpeg, flare-engine, gcc, gdb, gerbera, glibmm, go, gpsd, + gst-ffmpeg, gst1-plugins-bad, gst1-plugins-base, imagemagick, + intel-microcode, jasper, kf5-kcoreaddons, kismet, libcurl, + libglib2, libnss, libopenssl, libsigrok, libssh2, libupnp18, + linuxptp, luajit, lynx, matchbox-panel, mender, + netcat-openbsd, netsurf, nfs-utils, opus, orc, owfs, + pcsc-lite, php, popt, postgresql, python, python-cython, + python-django, python-ply, qt5enginio, rpm, runc, samba4, + sqlite, subversion, supertux, systemd, tslib, uclibc, + v4l2loopback, webkitgtk, woff2 + + Issues resolved (http://bugs.uclibc.org): + + #11816: Only selected coreutils binaries are installed + #11841: grub-efi.cfg not used when building EFI disk image + #11911: systemd v240 memory leak in systemd-journald + +2019.02.2, Released April 29th, 2019 + + Important / security related fixes. + + Only build host-lzip / host-xz when really needed by packages, + not just when not available on the build host. + + fs: Set FAKEROOTDONTTRYCHOWN environment variable to not + forward {f,l,}chown calls to libc when running under fakeroot + to fix issues when building in restricted environments + (E.G. user namespace with bubblewrap). + + Linux: Also build default make target to ensure extra files + like the gdb scripts enabled by CONFIG_GDB_SCRIPTS are also + built. Notice: This may mean that extra host utilities like + uboot-mkimage are needed. + + Defconfigs: ASUS tinker and Amarula vyasa rk3822: Support + larger kernel images, Atmel SAM5D27, SAM5D2,3,4 xplained: + Increase rootfs size to fit utilities, Raspberry Pi 64bit: + Include overlays in sdcard image + + Updated/fixed packages: android-tools, apache, bind, binutils, + busybox, civetweb, cjson, copas, davfs2, docker-cli, + docker-containerd, docker-engine, dovecot, dovecot-pigeonhole, + freerdp, gerbera, ghostscript, git, gnutls, go, gst-omx, + gst1-plugins-base, gst1-plugins-ugly, haproxy, hostapd, + ipsec-tools, libfreefare, libfuse, libkrb5, libpng, libxml2, + libxslt, linknx, linux, linux-firmware, linux-tools, live555, + lldp, lrzsz, lynx, madplay, make, minicom, mongodb, msmtp, + musl, mutt, neon, netsnmp, numactl, opus, perl, php, + postgresql, pure-ftpd, python-urllib3, python3, qt5base, + rapidxml, rpm, rsyslog, ruby, runc, samba4, sane-backends, + softether, stunnel, sysklogd, syslinux, syslog-ng, + systemd-bootchart, thttpd, thrift, tiff, tor, tpm2-tools, + tpm2-tss, webkitgtk, yaffs2utils, wget, wpa_supplicant, wsapi, + xapp_xfd, xapp_xload, xlib_libXpm, xserver_xorg-server, xz, + znc + + Issues resolved (http://bugs.uclibc.org): + + #11756: package/syslinux: MBR's don't fit because of binutils.. + #11761: Building custom kernel 5.1-rc3 or later breaks on objtool + +2019.02.1, Released March 29th, 2019 + + Important / security related fixes. + + pkg-generic: Only tweak .la files needing it to ensure they + are not included in subsequent package file lists. + + test-pkg: Generate a basic package config if none is + specified. + + Updated/fixed packages: asterisk, avahi, bash, beecrypt, + binutils, busybox, clamav, cups, efl, eigen, fetchmail, file, + flashrom, fltk, gerbera, git, glibc, gnuradio, go, + gst-plugins-bad, intel-gmmlib, jq, kexec, kf5-modemmanager-qt, + leveldb, libcurl, libdrm, libftdi1, libglib2, libiio, libpcap, + libseccomp, libssh2, log4cplus, lvm2, mariadb, mender, + mongodb, mosquitto, musl, nodejs, ntp, openjpeg, owfs, php, + pure-ftpd, putty, python-aiojobs, qt5webkit, rdesktop, samba4, + sunxi-tools, supertux, swupdate, tpm2-abrmd, tpm2-tss, + wavemon, wireshark, vsftpd, xapp_xdm, xen, + xdriver_xf86-video-fbdev, xlib_libXdmcp + + Issues resolved (http://bugs.uclibc.org): + + #11716: Typo on website, saying latest release is 2018.2.11 + +2019.02, released March 4th, 2019 + + Minor fixes. + + Libressl support added for Qt 5.6 as a replacement for + openssl, as 5.6 is not compatible with openssl 1.1.x. + + Updated/fixed packages: cutelyst, devmem2, gqrx, + gst-plugins-bad, libraw, libsoxr, qt5base, runc, systemd, tor + +2019.02-rc3, released March 1st, 2019 + + Fixes all over the tree. + + Openssl support dropped from Qt 5.6, as it isn't compatible + with openssl 1.1.x. + + Toolchain: GCC 8.x updated to 8.3.0, fixing a number of + issues. + + Dependencies: Require CMake 3.8 or newer to fix compilation + issue with certain packages. If not available, host-cmake will + instead be built. + + Printvars: Fix performance regression since 2018.02 + + Scanypi: Correctly handle underscores in python package names. + + Updated/fixed packages: botan, clamav, cryptopp, i2pd, + ibrcommon, iproute2, libcpprestsdk, libssh, lua-curl, + luaexpat, qt5base, runc, stress-ng, syslinux, systemd, + upmpdcli, zbar + + Issues resolved (http://bugs.uclibc.org): + + #9966: util-linux-2.30/.stamp_built' failed + #11696: possible typo in board/pc/post-build.sh + +2019.02-rc2, released February 23th, 2019 + + Fixes all over the tree. + + Removed zynq_zybo defconfig, as it hasn't seen any update + since it was added in 2016, and uses a U-Boot version not + compatible with openssl-1.1.x. + + Linux: Ignore user supplied downloadable hashes, as no hash + checksums are available for those. + + Updated/fixed packages: bind, cryptopp, docker-containerd, + dtc, efivar, gdb, imagemagick, ipmiutil, libcpprestsdk, + libcurl, libgpiod, libid3tag, libv4l, log4cplus, luvi, + madplay, mender, mosquitto, poco, postgresql, proftpd, + pulseaudio, python-django, qemu, qt5base, qwt, rabbitmq-c, + reaver, safeclip, stress-ng, swupdate, syslog-ng, systemd, + tor, unzip, xenomai + + Issues resolved (http://bugs.uclibc.org): + + #11501: compile sdl2 with enable wayland + #11681: .. unable to initialize decompress status for section.. + +2019.02-rc1, released February 13th, 2019 + + Fixes all over the tree and new features. + + + Dependencies: + + Require Python >= 2.7 as it is needed for E.G. building + libglib2. + + Ensure GNU gzip is used for reproducible tarballs (instead of + pigz) + + + Infrastucture: + + Ensure the PLATFORM and OS environment variables are not set, + as they cause build issues for some packages. + + The package list infrastructure now correctly handles packages + installing files with old mtime. + + Add a config option to force all optional host utilities to be + built, even if suitable versions are available on the build + machine. + + graph-build-time: Also show time spent downloading + + Download: fixes for SSH/SCP support + + Ensure user provided permissions override permissions from + packages. + + SDK: Fix handling of relative symlinks (targets starting with + '.' or '..') + + BR2_SYSTEM_DEFAULT_PATH setting to customize the default path + for processes. + + The custom skeleton logic will now populate the needed /bin, + /lib, /sbin directories/symlinks if not present. Merged /usr + can now be used with a custom skeleton. + + Rootfs overlays can now override symbolic links from + packages. This was disabled to ensure the correct symbolic + links are present when merged /usr is used. Instead validate + that the rootfs overlays do not include invalid /bin, /sbin + and /lib entries. + + The waf infrastructure now support the _SUBDIR variable, + similar to the other package types. + + cmake: Also set CMAKE_SYSTEM_VERSION in toolchainfile.cmake + + Various improvements to the meson infrastructure. + + Luarocks: A Buildroot addon has been added to automate + creating a Buildroot package from luarocks, similar to + scancpan and scanpypi. + + scanpypi: protect against zip-slip vulnerability in zip/tar + handling + + check-package: fix Python 3 support + + get-developers: Fix behaviour when called from elsewhere than + the toplevel directory. + + pkg-stats: Show latest upstream version of each package, based + on data from release-monitoring.org + + kconfig: Fix for make linux-menuconfig / uboot-menuconfig from + a clean tree when ccache is enabled. + + Default to sha256 password encoding, drop md5 support. + + + Architecture: + + Support for RISC-V 32bit architecture, ARM A55, 75 and Saphira + variants, MIPS support for mips32r3, mips64r3 and Marvell + Octeon II/III variants. + + + Toolchain: + + ARC toolchain 2018.09, ARM 8.2-2018.11, Codescape IMG/MTI MIPS + 2018.09-02, MUSL 1.1.21, GCC 6.5.0 / 7.4.0, GDB 8.2.1 + + + Packages: + + openssl: Bump to 1.1.1x series, bringing TLSv1.3 support and + long term support. + + fftw: Split into fftw-{single,double,long-double,quad} + packages for the different data precision options. + + libcurl: Now has explicit TLS backend selection options. + + linux: Support building device tree blobs with the -@ option + for device tree overlays. + + weston: The weston-imx i.MX variant is now used when + imx-gpu-viv is enabled + + pkgconf: Update to 1.5.3, which brings support for + --define-prefix (used by GStreamer) + + Add host-python3-setuptools package to handle host python + packages needing python3 with setuptools support. + + + New defconfigs: Aarch64 EFI, Orangepi one plus, Orangepi lite + 2, QEMU RISC-V 32bit virt, Rock64 + + + New packages: brcm-patchram-plus, clinfo, cunit, docker-cli, + erlang-p1-eimp, exempi, fail2ban, fftw-double, + fftw-double-long, fftw-quad, fftw-single, gerbera, grpc, + gst1-shark, intel-gmmlib, iwd, kf5-kcoreaddons, libeastl, + libpackagekite, libtorrent-rasterbar, lua-std-debug, + lua-std-normalize, mini-snmpd, netsurf, pamtester, pcm-tools, + python-aiodns, python-aiohttp, python-aiohttp-jinja2, + python-aiohttp-remotes, python-aiohttp-security, + python-aiohttp-session, python-aiohttpd-sse, python-aiojobs, + python-cchardet, python-pycares, python-sentry-sdk, + python-wtforms, python3-setuptools, rcw, rtc-tools, shim, + utp_com, vmtouch, websocketpp + + Removed packages: fftw, lua 5.2.x, luacrypto, perl-time-hires, + python-pyqt, qt, qtuio, tn5250 + + Issues resolved (http://bugs.uclibc.org): + + #10851: Patch to handle numpad Enter key properly + #11066: x11r7 X11 S40xorg leads to a black screen on QEMU x86.. + #11126: Bash Shell Programming using Buildroot + #11426: pps-tools bash dependency + #11476: stdio2.h error invalid use of __builtin_va_arg_pack + #11536: dt-utils building fails with glibc 2.28 + #11546: open-vm-tools with glibc 2.28 + #11566: Fix init script + #11576: Unable to start apache with event MPM on raspberry pi 3 + #11591: [pkgconf 1.5.3] xserver OpenGL support is missing + #11606: libjpeg has no Config.in + #11616: 2018.02.09 fails to build libzlib with full RELRO.. + #11656: Custom device tree and u-boot boot.scr not integrated.. + #11666: Touchscreen with (Py)Qt5 should use tslib instead of evdev + +2018.11.4, Released March 28th, 2019 + + Important / security related fixes. + + Updated/fixed packages: avahi, beecrypt, binutils, botan, + busybox, clamav, cups, devmem2, efl, fetchmail, file, fltk, + gcc, gdb, git, go, gst-plugins-bad, iproute2, jq, + kf5-modemmanager-qt, leveldb, libopenssl, libraw, libseccomp, + libsoxr, libssh2, mariadb, mosquitto, nodejs, ntp, openjpeg, + perl, php, putty, qt5webkit, rdesktop, runc, samba4, swupdate, + systemd, tor, vsftpd, wireshark, xapp_xdm, xen, xlib_libXdmcp + +2018.11.3, Released February 23th, 2019 + + Important / security related fixes. + + Ensure the PLATFORM and OS environment variables are not set, + as they cause build issues for some packages. + + The package list infrastructure now correctly handles packages + installing files with old mtime. + + Linux: Skip hash checks for user supplied downloadable + patches, as no hash checksums are available for those. + + scanpypi: protect against zip-slip vulnerability in zip/tar + handling + + Download: fixes for SSH/SCP support + + SDK: Fix handling of relative symlinks (targets starting with + '.' or '..') + + Updated/fixed packages: bind, dhcpcd, docker-compose, + docker-containerd, docker-engine, dovecot, dovecot-pigeonhole, + dtc, efivar, ghostscript, gnuradio, imagemagick, jpeg-turbo, + libarchive, libb64, libcurl, libgeotiff, libgpiod, libid3tag, + libupnp18, log4cplus, madplay, meson, mosquitto, openssh, php, + poco, postgresql, proftpd, pulseaudio, python, python-django, + python3, qt5base, reaver, runc, sg3_utils, sqlcipher, + swupdate, systemd, unzip, webkitgtk, xenomai + +2018.11.2, Released January 30th, 2019 + + Important / security related fixes. + + Defconfigs: Fixes for imx6slevk, imx7dsabresd, imx8mqevk, Lego + EV3, QEMU AArch64-virt + + Download: Fix scp download handling + + check-package: fix Python 3 support + + get-developers: Fix behaviour when called from elsewhere than + the toplevel directory. + + kconfig: Fix for make linux-menuconfig / uboot-menuconfig from + a clean tree when ccache is enabled. + + cmake: Also set CMAKE_SYSTEM_VERSION in toolchainfile.cmake + + Updated/fixed packages: acpica, apache, apr, avrdude, cargo, + cc-tool, dash, dhcpdump, dmalloc, docker-containerd, efivar, + fwts, glibc, gnuchess, gnupg2, go, leveldb, libarchive, + libassuan, libftdi1, libgpg-error, libhttpparser, libkcapi, + libmad, libsndfile, libsquish, liburiparser, libwebsock, + libxml2, lighttpd, llvm, lm-sensors, lua-msgpack-native, lxc, + mariadb, mbedtls, meson, mosquitto, netatalk, nodejs, odhcp6c, + openresolv, openssh, pango, patchelf, php, python-django, + python-numpy, python-pyyaml, rauc, rp-pppoe, s6-networking, + samba4, sdl_sound, shairport-sync, sqlite, subversion, + sunxi-cedarx, swupdate, systemd, tcpreplay, tekui, tmp2-abrmd, + tpm2-tools, tpm2-tss, udisks, unixodbc, usb_modeswitch, + webkitgtk, wireshark, wolfssl, xapp_rgb, xenomai, xerces + + Issues resolved (http://bugs.uclibc.org): + + #11576: Unable to start apache with event MPM on raspberry pi 3 + +2018.11.1, Released December 20th, 2018 + + Important / security related fixes. + + defconfigs: Fixes for bananapi m2 ultra, ci20 + + Download wrapper: Fix for urlencode handling + + Updated/fixed packages: asterisk, docker-compose, + docker-engine, dt-utils, gnutls, go, grub, libbsd, libcurl, + libpgpme, libiscsi, liblo, libmpd, libopenssl, liboping, + libpam-tacplus, libpjsip, linux-firmware, liquid-dsp, + lua-cqueue, luvi, lxc, lynx, nginx, nodejs, openzwave, php, + pps-tools, proftpd, prosody, sdl2_net, squashfs, swupdate, + uclibc, vtu, webkitgtk, wine, xen + + New packages: docker-cli + + Issues resolved (http://bugs.uclibc.org): + + #11426: pps-tools bash dependency + #11536: dt-utils building fails with glibc 2.28 + +2018.11, Released December 1st, 2018 + + Minor fixes. + + Updated/fixed packages: c-ares, quagga, squid + +2018.11-rc3, released November 30th, 2018 + + Fixes all over the tree. + + Defconfigs: Fixes for Armadeus APF27, imx6sabre, Olimex A20 + olinuxino lime legacy, Orangepi zero plus 2, PC, Riotboard. + + graph-depends: Fix for package names starting with a non-alpha + character. + + Updated/fixed packages: alsa-utils, botan, dante, domoticz, + dtc, freetype, gauche, gcc, gdb, ghostscript, glibc, + imx-usb-loader, libbsd, libid3tag, libkrb5, libmicrohttpd, + libopenssl, libsoxr, linux, motion, msgpack, mtd, + perl-net-ssleay, php, popt, python-numpy, qt5declarative, + samba4, shadowsocks-libev, stress-ng, systemd, usb_modeswitch, + webkitgtk, valgrind, weston, xfsprogs + +2018.11-rc2, released November 21th, 2018 + + Fixes all over the tree. + + fs: Drop intermediate tarball from the filesystem handling to + fix an issue with xattrs handling related to fakeroot. Ensure + tarball target includes xattrs. + + download: Fix confusion in git submodule handling if dl/ is a + symlink. + + genrandconfig: Fix missing newline in BR2_WGET handling, + causing the following line to be ignored. This would affect + BR2_ENABLE_DEBUG, BR2_INIT_BUSYBOX, BR2_INIT_SYSTEMD, + BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV, BR2_STATIC_LIBS or + BR2_PACKAGE_PYTHON_PY_ONLY depending on the randomization. + + show-build-order: Also include the dependencies of + rootfs-common. + + Fix a number of build issues in packages for the recently + merged RISC-V architecture support. + + Updated/fixed packages: dt-utils, easydbus, elfutils, + flare-engine, flatcc, glibc, gstreamer, gstreamer1, imx-uuc, + libassuan, libcorrect, libiscsi, libkrb5, libmicrohttpd, + libnftnl, libnspr, libnss, libsemanage, libsigsegv, libv4l, + ltp-testsuite, luv, luvi, make, ncmpc, netplug, openocd, + prosody, qemu, rpm, sconeserver, shadowsocks-libev, + supertuxcart, syslinux, systemd, trace-cmd, uclibc, + uclibc-ng-test, vtun, webkitgtk, weston, wireshark, xen, + xlib_libfontenc + + Issues resolved (http://bugs.uclibc.org): + + #11086: download/git submodule breaks on symlinked dl folder + #11216: Capabilities not applied to filesystem + +2018.11-rc1, released November 9th, 2018 + + Fixes all over the tree and new features. + + Architecture: RISC-V support (64bit) added. + + Toolchain: Glibc bumped to 2.28. Fortran support for external + toolchains. ARM (Linaro) toolchains updated to 8.2-2018.08. + + Hardening flags (RELRO) are now handled by the toolchain + wrapper instead of explicitly through CFLAGS/LDFLAGS, fixing a + number of issues. + + Filesystems: Support for creating btrfs and f2fs filesystems + added. + + Add a number of patches to fix build errors for host utilities + on modern distributions using glibc-2.28. + + mkusers: Ensure existing group members are preserved when a + group is reprocessed. + + printvars: Fix issue with exceeding shell command line length + limits for certain setups. + + Workaround added for incompatibility issues between host-dtc + and older U-Boot and Linux kernel versions. + + Detect and reject build paths containing '@', as this confuses + a number of packages, including GCC. + + utils/diffconfig: Make it work for (non-Buildroot) config + files not using the BR2_ prefix. + + New defconfigs: Amarula a64-relic, Bananapi m2 ultra, Embest + riotboard, Hardkernel Odroid XU-4, QEMU riscv64-virt. + olimex_a20_olinuxion_lime_mali is renamed to _legacy. + + OpenCL infrastructure support added, similar to how OpenGL is + handled. + + Linux-headers: Support for kernel headers from a custom + tarball / git repo added. + + New packages: bird, bluez5_utils-headers, btrfs-progs, + checksec, davici, duktape, ell, haproxy, libclc, libcorrect, + libopencl, libopenresolv, nss-myhostname, + perl-apache-logformat-compiler, perl-appconfig, + perl-astro-suntime, perl-class-inspector, perl-class-load, + perl-class-method-modifiers, perl-class-std, + perl-class-std-fast, perl-cookie-baker, perl-data-dump, + perl-data-optlist, perl-data-uuid, perl-data-manip, + perl-dbd-mysql, perl-dbi, perl-devel-globaldestruction, + perl-devel-stacktrace, perl-devel-stacktrace-ashtml, + perl-device-serialport, perl-dist-checkconflicts, + perl-exporter-tiny, perl-file-sharedir, perl-file-slurp, + perl-filesys-notify-simple, perl-hash-multivalue, + perl-http-entity-parser, perl-http-headers-fast, + perl-http-multipartparser, perl-io-interface, + perl-io-socket-multicast, perl-json-maybexs, perl-mime-tools, + perl-module-implementation, perl-module-runtime, perl-moo, + perl-number-bytes-human, perl-package-stash, perl-params-util, + perl-plack, perl-posix-strftime-compiler, perl-role-tiny, + perl-streams-buffered, perl-sub-exporter-progressive, + perl-sub-install, perl-sub-quote, perl-sys-cpu, + perl-sys-meminfo, perl-sys-mmap, perl-time-parsedate, + perl-type-tiny, perl-www-form-urlencoded, perl-x10, pigpio, + python-async-timeout, python-falcon, python-fire, + python-mimeparse, python-multidict, python-passlib, + python-pigpio, python-pip, python-ply, python-py, + python-pyasn1, python-pyasn1-modules, python-pycryptodomex, + python-pyhamcrest, python-pysmi, python-scapy, python-semver, + python-serial-asyncio, python-typing, python-uvloop, + pythonwrapt, python-yarl, python-zeroconf, riscv-pk, sedutil, + spandsp, tini, waffle, xapian + + Removed packages: bootutils, dsp-tools, expedite, gst-dsp, + xloader + + Issues resolved (http://bugs.uclibc.org): + + #11116: Buildroot should set PYTHON_EGG_CACHE instead of writing .. + #11156: In python3 module 'socket' has no attribute 'AF_BLUETOOTH' + #11166: Erlang bad argument on valid uint64 when crosscompiled on.. + #11206: zlib: fails to build with Linaro toolchain, BR2_RELRO_FULL.. + #11241: ACPID shouldn't depend on BR2_x86_64 || BR2_i386 + #11251: Util scanpypi failes when package change - to _ in tar file + #11266: qt5base-5.11.1 does not compile with musl, complains about.. + #11286: python-rpi-gpio only should depend on BR2_arm || BR2_aarch64 + #11321: Latest master fails to build readline with RELRO FULL + #11326: sysvinit fails to build in latest GIT master + #11331: Internal application no longer builds with latest GIT master + #11336: nfs-utils fails to build in latest GIT master + #11351: build root-2018-08, linaro aarch64 compile error + #11376: mdmon binary missing + #11391: Valgind availability on ARM + #11396: uboot environment image checksum invalid if target is big endian + #11421: GCC error message for ARM Cortex-A9/ARM.V7 + #11451: Can't find libmpfr.so.4 when using external toolchain on ubuntu.. + #11481: Docs: Is external.desc required? + +2018.08.4, Released December 20th, 2018 + + Important / security related fixes. + + Defconfigs: Fixes for ci20, orangepi zero plus 2 + + Download wrapper: Fix for urlencode handling + + Updated/fixed packages: c-ares, dante, docker-compose, + domoticz, freetype, ghostscript, gnutls, libcurl, libgpgme, + libid3tag, libiscsi, libmpd, libopenssl, liboping, libpjsip, + linux-firmware, liquid-dsp, luvi, lynx, msgpack, nginx, + nodejs, php, popt, pps-tools, prosody, python-numpy, + python-requests, samba4, sdl2_net, squashfs, swupdate, + systemd, uclibc, vte, webkitgtk, wine, xfsprogs + + Issues resolved (http://bugs.uclibc.org): + + #11426: pps-tools bash dependency + +2018.08.3, Released November 26th, 2018 + + Important / security related fixes. + + fs: Drop intermediate tarball from the filesystem handling to + fix an issue with xattrs handling related to fakeroot. Ensure + tarball target includes xattrs. + + download: Fix confusion in git submodule handling if dl/ is a + symlink. + + toolchain: Only allow enabling stack protection on + architectures with control flow integrity (CFI) support. Only + allow FORTIFY_SOURCE support on gcc >= 6. + + genrandconfig: Fix missing newline in BR2_WGET handling, + causing the following line to be ignored. This would affect + BR2_ENABLE_DEBUG, BR2_INIT_BUSYBOX, BR2_INIT_SYSTEMD, + BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV, BR2_STATIC_LIBS or + BR2_PACKAGE_PYTHON_PY_ONLY depending on the randomization. + + show-build-order: Also include the dependencies of + rootfs-common. + + Defconfigs: Fixes for Armadeus APF27, imx6sabre, Olimex A20 + olinuxino lime legacy, Orangepi zero plus 2. + + graph-depends: Fix for package names starting with a non-alpha + character. + + Updated/fixed packages: attr, audit, bind, brotli, busybox, + dtc, easydbus, elfutils, flare-engine, flatcc, gauche, gcc, + giflib, gpsd, lcdproc, libcurl, libiscsi, libkcapi, libnfs, + libnspr, libnss, libsemanage, liburiparser, lighttpd, + lua-curl, mariadb, mmc, mosquitto, mysql, ncmpc, neardal, + netplug, network-manager, nfs-utils, nginx, openocd, openswan, + p11-kit, postgresql, prosody, qemu, qt, rpm, ruby, samba4, + squid, supertuxkart, systemd, tar, trace-cmd, traceroute, + twolame, uclibc, usb_modeswitch, vtun, webkitgtk, weston, + xdriver_xf86-video-geode, xlib_libfontenc, xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #11086: download/git submodule breaks on symlinked dl folder + #11481: Docs: Is external.desc required? + +2018.08.2, Released October 25th, 2018 + + Important / security related fixes. + + Workaround added for incompatibility issues between host-dtc + and older U-Boot and Linux kernel versions. + + Detect and reject build paths containing '@', as this confuses + a number of packages, including GCC. + + utils/get-developers: Add -e option for use with git + send-email. + + utils/diffconfig: Make it work for (non-Buildroot) config + files not using the BR2_ prefix. + + u-boot: Fix for environment image handling on big endian + systems. + + Updated/fixed packages: binutils, ca-certificates, + cups-filters, dtc, erlang, file, freetype, gcc, git, gvfs, + jasper, leveldb, libarchive, libssh, live555, ljlinenoise, + mariadb, mongoose, netsnmp, nmap, nodejs, ntp, open-plc-utils, + poco, psmisc, ptpd2, python-enum34, qemu, qt, qt5base, + setools, spice, spice-protocol, tinc, ustr, wireshark, + + Issues resolved (http://bugs.uclibc.org): + + #11396: uboot environment image checksum invalid if target is big endian + +2018.08.1, Released October 7th, 2018 + + Important / security related fixes. + + Add a number of patches to fix build errors for host utilities + on modern distributions using glibc-2.28. + + mkusers: Ensure existing group members are preserved when a + group is reprocessed. + + printvars: Fix issue with exceeding shell command line length + limits for certain setups. + + Updated/fixed packages: acpid, android-tools, apache, + arp-scan, bandwidthd, bind, brltty, clamav, connman, cppcms, + domoticz, dtc, fio, gcc, gdb, ghostscript, gnupg, httpping, + igmpproxy, imlib2, ipsec-tools, libesmtp, libnfs, libxslt, + links, lua, mosquitto, nilfs-utils, ocrad, parted, php, + python-django, screen, shairport-sync, strongswan, + vboot-utils, webkitgtk, wireguard, x265 xen, xlib_libXdmcp, + xlib_libXfont, xlib_libXft, xlib_libxshmfence, + xutil_makedepend, zeromq + +2018.08, Released September 6th, 2018 + + Minor fixes. + + Known issues: + + - Glibc 2.28 on the build host breaks compilation of a number + of host packages. 2018.08 contains fixes for some of these + packages, but not all. Consider building on hosts (or in + containers) using older Glibc versions. + + - host-dtc 1.4.7 breaks compilation of older U-Boot and Linux + kernel configurations using FDT/DTC. Consider updating the + Linux kernel to >= 4.17 and U-Boot to >= 2018.07 or + backporting commit 9130ba8846 (scripts/dtc: Update to + upstream version v1.4.6-9-gaadd0b65c987) for the Linux + kernel / commit db405d1980 for U-Boot. + Alternatively revert commit 7b929ddcf0 (dtc: bump version to + 1.4.7) and ensure your build host does not have the libfdt + development headers installed. + + Updated/fixed packages: busybox, chipmunk, cutelyst, + domoticz, gcc, imagemagick, lcms2, libcurl, mediastreamer, + moarvm, php, qt, qt5virtualkeyboard, qt5webengine, screen, + sdl2, squashfs, uboot, xen + + Issues resolved (http://bugs.uclibc.org): + + #11261: ccache using wrong cached objects + #11276: Understanding the patch for kernel-4.9 and other.. + +2018.08-rc3, Released August 31th, 2018 + + Fixes all over the tree. + + linux: additional improvements to the flex / bison dependency + handling, use system provided variant if available. Ensure + toolchain is available when configuring for 4.18+ support. + + Download: Fix handling of primary sites using file:// + + Toolchain: Correct external toolchain musl detection for + static toolchains. + + Updated/fixed packages: aircrack-ng, bison, brltty, busybox, + cutelyst, dropbear, gr-osmosdr, i2c-tools, json-c, libconfuse, + libkcapi, libsoup, libssh, liburiparser, mbedtls, mender, + mesa3d, minicom, mjpegtools, mutt, openpowerlink, openssh, + oracle-mysql, php, postgresql, pv, qt5base, qt5quickcontrols, + rauc, shairport-sync, systemd, xlib_libX11, zeromq, + + Issues resolved (http://bugs.uclibc.org): + + #11091: BR2_PRIMARY_SITE doesn't work (wget is selected... + #11141: WF111 package no longer available + #11211: Internal compiler error: Killed (program cc1plus).. + #11236: util-linux fails to build on Travis CI when python.. + #11246: Glibc 2.28 - fails to build host-bison and host-m4 + #11256: Add python-falcon and python-mimeparse packages + +2018.08-rc2, Released August 20th, 2018 + + Fixes all over the tree. + + pkg-kconfig: Support dependencies needed to run the + configurator, E.G. recent Linux kernel versions needing flex + and bison. + + Defconfigs: ARM Juno: Bump ATF to fix a build + issue. Raspberrypi2: Bump rootfs size. Snps_archs38_vdk: + Correct /etc/inittab. Technologic ts7680: Correct genimage + configuration. Orange PI PC / Zero, Sheevaplug: Bump U-boot to + 2018.07 to fix build issue. Ensure host-openssl is pulled in + for kernel builds where needed. + + Updated/fixed packages: aircrack-ng, bind, boost, + boot-wrapper-aarch64, bzip2, busybox, chrony, cryptsetup, + dahdi-tools, dbus, domoticz, eigen, ipsec-tools, libarchive, + libfuse, libgit2, libopenssl, libselinux, lighttpd, lvm2, m4, + makedevs, mariadb, mesa3d-headers, mono, ncmpc, ncurses, + nodejs, php, python-django, python-pyqt5, qt5base, + qt5serialbus, ruby, samba4, uboot-tools, uclibc, vlc, + waylandpp, wireless_tools, wireshark, wpa_supplicant, mtd, + xdriver_xf86-video-ati, xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #10781: cryptsetup luksOpen container_file container causes.. + #10996: bogus musl ARM toolchain + #11191: xattr and check-package issue + +2018.08-rc1, Released August 5th, 2018 + + Toolchain: + + - add support for gcc 8.x, switch to gcc 7.x as the default + version + - add support for gdb 8.1, switch to gdb 8.0 as the default + and remove gdb 7.10/7.11 + - add support for binutils 2.31 + - NIOSII CodeSourcery toolchain updated + - Linaro AArch64 BE toolchain added, and other Linaro + toolchains updated + - Synopsys ARC pre-built toolchain updated + + Architecture: add support for ARM Cortex-M7 + + Major updates: + + - systemd bumped to 239 + - Qt5 bumped to 5.11.1 + - Rust bumped to 1.27 + - GStreamer stack bumped to 1.14.2 + - X.org server bumped to 1.20, and all X.org proto packages + replaced by the single xorgproto package + - i.MX6 support packages bumped to 6.2.4 + - i.MX Vivante graphics version bumped to 6.2.4.p1.2, + adding support for Wayland and i.MX8MQ platforms + + Linux: bumped to 4.17 by default. + + Infrastructure: new package infrastructure added for packages + using the Meson build system + + New packages: at-spi2-atk, at-spi2-core, capnproto, cmocka, + corkscrew, cutelyst, davfs2, flatcc, libidn2, libgit2, + libopusenc, mender, nghttp2, perl-convert-asn1, perl-crypt-blowfish, + perl-crypt-cbc, perl-digest-md5, perl-mime-base64-urlsafe, + perl-mojolicious-plugin-authentication, perl-net-ping, + perl-net-snmp, perl-net-ssh2, perl-net-telnet, pigz, + python-reentry, python-request-id, python-validators, + python-webob, shadowsocks-libev, speexdsp, xorgproto, wampcc + + New defconfigs: NXP i.MX7D SDB, Boundary Devices Nitrogen 8M, + Olimex A10 OLinuxino, ZynqMP ZCU106 + + Removed packages: all xproto_* have been removed and replaced + by xorgproto + + Issues resolved (http://bugs.uclibc.org): + + #9411: MUSL build with RT Error relocating /lib/libgcc_s.so.1: + __cpu_indicator_init: symbol not found + #9921: lockfile module within python-daemon not available + #10341: gdb install of py files when using buildroot toolchain + includes build path + #10661: /etc/init.d/S29netplug starts multiple instances of netplugd + #10751: Missing dependency in pulseaudio package + #10811: kodi-17.6-Krypton does not compile for freescale_* devices + #10856: openblas on qemu_x86_64_defconfig fails with + "sgemm_kernel.o: No such file or directory" + #11056: Compiling a file that uses libdrm headers fails with: + fatal error: drm.h: No such file or directory + #11061: support/download: git version=master broken + #11071: Building postgresql package on Debian 9.4 x64 for armel target fails + #11076: Docker containerd installed to incorrect path + #11101: host-patchelf Endian Issue with relative RPATH + #11111: raspberry pi 3 b+: missing BSP for 64-bit kernel + #11121: statfs call corrupts memory struct statfs too small + #11181: Switching toolchain does not work + +2018.05.3, Released October 6th, 2018 + + Important / security related fixes. + + Add a number of patches to fix build errors for host utilities + on modern distributions using glibc-2.28. + + mkusers: Ensure existing group members are preserved when a + group is reprocessed. + + printvars: Fix issue with exceeding shell command line length + limits for certain setups. + + Updated/fixed packages: acpid, android-tools, apache, + arp-scan, bandwidthd, bind, bison, brltty, chipmunk, connman, + cppcms, fio, gcc, ghostscript, gnupg, httping, igmpproxy, + imagemagick, imlib2, ipsec-tools, lcm2, libcurl, libesmtp, + libnfs, libssh, libxslt, links, mediastreamer, minicom, + moarvm, nilfs-utils, ocrad, parted, php, postgresql, pv, + python-django, qt, qt5quickcontrols, qt5webengine, screen, + sdl2, shairport-sync, squashfs, strongswan, vboot-utils, + webkitgtk, wireguard, x265, xen, xlib_libXfont, xlib_libXft, + xlib_libxshmfence, zeromq + +2018.05.2, Released August 28th, 2018 + + Important / security related fixes. + + Defconfigs: Raspberrypi2: Bump rootfs size, T7680: Fix + genimage.cfg issue, ARM Juno: Bump ATF to v1.3 to fix build + issue. + + Updated/fixed packages: acl, attr, apache, bind, + boot-wrapper-aarch64, brltty, bzip2, chrony, crda, cryptsetup, + dahdi-tools, dmidecode, dropbear, eigen, ffmpeg, gawk, gcc, + ghostscript, gnutls, imx-gpu-viv, ipsec-tools, libarchive, + libfuse, libglib2, libopenssl, libselinux, libsoup, lighttpd, + linuxptp, lttng-modules, lttng-tools, lua-flu, lvm2, m4, + makedevs, mariadb, mbedtls, mesa3d-heders, mtd, ncurses, + nodejs, openssh, php, python-django, rauc, ruby, samba4, + stress-ng, ti-utils, uboot-tools, uclibc, vim, waylandpp, + wireless_tools, wireless-regdb, wireshark, wpa_supplicant, + xorriso, znc + + Issues resolved (http://bugs.uclibc.org): + + #10781: cryptsetup luksOpen container_file container causes.. + #10986: Installing package attr when already supplied by.. + #11191: xattr and check-package issue + +2018.05.1, Released July 20th, 2018 + + Important / security related fixes. + + U-Boot: Ensure host version of ncurses is picked up and not + host-ncurses built by buildroot, as that otherwise causes + widechar/non-widechar conflicts and corrupted menuconfig + menus. + + Linux: Enable CONFIG_PERF_EVENTS when perf is enabled. + + Toolchain: ARC tools updated to arc-2018.03. + + pkg-stats: Fix python 3.x compatibility. + + dl-wrapper: Fix support for URIs containing '+', fix + no-check-hash for inferred site method. + + Defconfigs: Raspberrypi3: Bump rootfs size, Minnowboard-max: + Support ethernet on Turbot variant. + + Updated/fixed packages: audit, bind, btrfs-progs, cifs-utils, + clamav, collectd, coreutils, docker-containerd, dos2unix, + edid-decode, file, gcc, gdb, gnupg, gnupg2, heimdal, hidapi, + imagemagick, libcurl, libgcrypt, libglib2, liblogging, + libostree, libressl, libsoup, libv4l, libvncserver, libvorbis, + libwebsockets, libxslt, lm-sensors, mariadb, mpg123, ncurses, + network-manager, nodejs, patchelf, perl, php-amqp, pinentry, + pixiewps, qpdf, qt53d, qt5base, qt5charts, qt5script, redis, + systemd, triggerhappy, uboot, wireguard, wireless-regdb, + wireshark + +2018.05, Released June 1st, 2018 + + Minor fixes. + + Download: Work around for hanging connections for packages + from CVS, by adding a 10 minute max timeout. + + Updated/fixed packages: binutils, clang, dash, expect, git, + glibc, jpeg-turbo, libjpeg, log4cplus, openvmtools, xen, + + Issues resolved (http://bugs.uclibc.org): + + #11051: runtime issue on STM32 with usage of binutils 2.29.x + +2018.05-rc3, Released May 28th, 2018 + + Fixes all over the tree. + + Toolchain: ARC tools updated to arc-2018.03-rc2. + + Fs: Ensure hard links in TARGET_DIR are correctly copied for + filesystem input. With the recent changes to the file system + generation logic, hard links were "expanded" in file system + images leading to bloated rootfs images for setups with hard + links. + + Infrastructure: Error out for packages using the 'local' + method but forgetting to specify _SITE. + + Build rpcgen for the host when needed to support distributions + no longer shipping rpcgen with glibc (E.G. recent Fedora). + + Updated/fixed packages: autofs, bash-completion, binutils, + busybox, cjson, elf2flt, libcoap, libcurl, libtirpc, lrzsz, + poppler, procps-ng, qt-webkit-kiosk, quota, samba4, xfsprogs + + Issues resolved (http://bugs.uclibc.org): + + #11031: ld-elf2flt: host/bin/ld.real': execvp: No such file.. + #11036: C compiler cannot create executables + #11046: Git package binaries are ~180MB (compared to ~20MB in.. + +2018.05-rc2, Released May 22nd, 2018 + + Fixes all over the tree. + + Dependencies: Check that the current working directory (.) + isn't listed in PATH as that causes various build issues. + + Manual: Clarify that git branch names may not be used as + version identifiers. This has never been supported, but was + kind of working (with some limitations) before the git + download rework - Now it does not work at all. + + Linux: Ensure host version of ncurses is picked up and not + host-ncurses built by buildroot, as that otherwise causes + widechar/non-widechar conflicts and corrupted menuconfig + menus. + + Packages: Renamed a number of package options not prefixed + with BR2_PACKAGE_ for consstency. + + Download infrastructure: Fix file:// protocol handling after + download rework. + + Updated/fixed packages: acl, apr-util, asterisk, attr, + bluez5_utils, cifs-utils, clamav, clang, cups-filters, + dahdi-linux, exim, faketime, gdb, go, gst1-plugins-bad, + imx-mkimage, ipsec-tools, jamvm, janus-gateway, + jquery-ui-themes, libcap, libcurl, libftdi, libkcapi, libkrb5, + libmediaart, libmodbus, libmodplug, libmpd, + libnetfilter_cthelper, libnetfilter_cttimeout, libnfc, + libnfnetlink, libnss, liboauth, libogg, libosip2, + libpam-radius-auth, libpcap, libpciaccess, llvm, log4cplus, + ltrace, lynx, mbedtls, modem-manager, nfs-utils, + python-cython, python-websockets, qt5cinex, qt5wayland, rauc, + snort, strace, ti-sgx-km, transmission, wavpack, wget, woff2, + xen, zmqpp, znc, zstd + + Issues resolved (http://bugs.uclibc.org): + + #10986: Installing package attr when already supplied by... + #11011: BUildroot for Raspberry Pi 2 + #11016: Wrong compiler used for external user host packages + +2018.05-rc1, Released May 9th, 2018 + + Toolchain: glibc bumped to 2.27, musl bumped to 1.1.19, + uClibc-ng 1.0.30, Linux kernel headers bumped to 4.16.x. + + Architecture: support for the Blackfin architecture has been + removed, as it was removed from Linux upstream, poorly + maintained in binutils/gdb, and abandoned by Analog Devices. + + Numerous packages updated to have hashes for their license + files. + + Systemd can now be built with uClibc toolchains. + + Linux: addition of BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF and + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL to support building Linux + kernel configurations that need libelf on the host or openssl + on the host. + + Coding style: + - all Python scripts are now verified with flake8 + - check-package extended to check all Config.in and .mk files + in tree, not only the ones in package/ + + Infrastructure: + + - The download infrastructure has seen a major overhaul, with + the main visible new feature being Git caching: a package + fetched from Git no longer needs to be re-cloned entirely + everytime its version is changed. Anoter visible change is + that the download folder now has subfolders per package. See + http://lists.busybox.net/pipermail/buildroot/2018-April/217923.html + for more details about those changes. + + - The logic that generates the root filesystem images has been + reworked, with the main goal of allowing several filesystem + images to be produced in parallel, also a requirement for + top-level parallel build. Now, a .tar filesystem image is + always created, and re-extracted in a private directory to + create each format-specific filesystem image. + + - A new package infrastructure was introduced for Go-based + packages: golang-package. + + - Dependencies on extraction tools are now handled as proper + per-package dependencies, using + _EXTRACT_DEPENDENCIES. Beyond a cleanup, this is also a + preparation step for top-level parallel build support. + + - When a file being downloaded is part of a package with a + .hash file, but there is no hash listed for this file, the + file is now preserved in the download directory rather than + removed. This helps when updating a package, as it gives the + ability to easily calculate the hash of the file. + + - Addition of '-show-recursive-depends' and + '-show-recursive-rdepends' make targets, to + respectively display the recursive list of dependencies and + the recursive list of reverse dependencies of a given + package. + + - The /etc/shells file is now automatically generated with the + list of shell programs installed on the system. + + - Addition of -Ofast optimization level as an available + option. + + Major updates: Go updated to 1.10, Erlang bumped to 20.3, Qt5 + bumped to 5.10.1. + + New packages: 18xx-ti-utils, abootimg, bluez-alsa, brotli, + chipmunk, clang, docker-compose, docker-proxy, flare-engine, + flare-game, gst1-interpipe, gstreamer1-editing-services, + hackrf, i2pd, imx-alsa-plugins, imx-mkimage, libcdio-paranoia, + libkrb5, llvm, pixiewps, python-backports-ssl-match-hostname, + python-cached-property, python-cython, python-docker, + python-dockerpty, python-docker-pycreds, + python-flask-sqlalchemy, python-functools32, python-influxdb, + python-json-models, python-libusb1, python-networkx, + python-psycopg2, python-pymodbus, python-sqlalchemy, + python-subprocess32, python-texttable, + python-websocket-client, python-yieldfrom, quotatool, reaver, + snort, sunxi-mali-mainline, sunxi-mali-mainline-driver, tk, + tpm2-abrmd, tpm2-tools, tpm2-tss, udftools, vte, woff2. + + New defconfigs: ARC HS Development Kit, Arcturus ucls1012a, + Freescale i.MX6UL EVK (with vendor kernel), Freescale i.MX6 + SoloLite EVK (with vendor kernel), Freescale i.MX31 3Stack, + Freescale i.MX8Q EVK Freescale p1025twr, Freescale t1040d4rdb, + Qemu PPC64 E5500, SolidRun ClearFog Base, Tinker RK3288, Vyasa + RK3288, + + Removed packages: iqvlinux, kodi-adsp-*, mplayer + + Removed defconfigs: ci40, firefly_rk3288, + freescale_p1010rdb_pa, freescale_mpc8315erdb, riotboard, + teliv_evk_pro3 + + Issues resolved (http://bugs.uclibc.org): + + #10151: toolchain eclipse register : fails with a custom + BR2_HOST_DIR + #10511: Packages get downloaded uncompressed with wget + #10531: QtWebengine doesn't build if the host hasn't a 32 bits + C++ compiler working + #10846: error in compiling gnutls + #10886: openssl-1.0.2n fails to build + #10896: /bin/sh not in /etc/shells + #10961: Grub2 fails to build for x86_64 when BR2_SSP_ALL is + enabled + +2018.02.12, Released March 29th, 2019 + + Important / security related fixes. + + Updated/fixed packages: avahi, beecrypt, busybox, clamav, + cups, devmem2, fetchmail, file, fltk, gcc, gdb, git, jq, + leveldb, libopenssl, libraw, libseccomp, libssh2, + libunistring, mariadb, mosquitto, nodejs, ntp, openjpeg, perl, + php, putty, qt5webkit, rdesktop, systemd, wireshark, vsftpd, + xapp_xdm, xlib_libXdmcp + +2018.02.11, Released February 23th, 2019 + + Important / security related fixes. + + Ensure the PLATFORM and OS environment variables are not set, + as they cause build issues for some packages. + + The package list infrastructure now correctly handles packages + installing files with old mtime. + + Linux: Skip hash checks for user supplied downloadable + patches, as no hash checksums are available for those. + + scanpypi: protect against zip-slip vulnerability in zip/tar + handling + + Updated/fixed packages: bind, dhcpcd, dovecot, ghostscript, + gnuradio, imagemagick, jpeg-turbo, libarchive, libb64, + libcurl, libid3tag, madplay, mosquitto, openssh, php, + postgresql, proftpd, python, python-django, python3, qt5base, + sqlcipher, swupdate, systemd, unzip, webkitgtk + +2018.02.10, Released January 31th, 2019 + + Important / security related fixes. + + Defconfigs: Fixes for Lego EV3, QEMU AArch64-virt + + check-package: fix Python 3 support + + get-developers: Fix behaviour when called from elsewhere than + the toplevel directory. + + cmake: Also set CMAKE_SYSTEM_VERSION in toolchainfile.cmake + + Updated/fixed packages: acpica, apache, apr, asterisk, + avrdude, cargo, cc-tool, dash, dhcpdump, dmalloc, gnuchess, + gnupg2, leveldb, libarchive, libassuan, libftdi1, + libgpg-error, libhttpparser, libmad, libsndfile, libsquish, + liburiparser, libwebsock, libxml2, lighttpd, lm-sensors, + lua-msgpack-native, mbedtls, mosquitto, netatalk, nodejs, + openssh, pango, patchelf, php, python-django, python-pyyaml, + rauc, rp-pppoe, s6-networking, samba4, sdl_sound, + shairport-sync, sqlite, subversion, sunxi-cedarx, tcpreplay, + tekui, usb_modeswitch, webkitgtk, wireshark, wolfssl, + xapp_rgb, xenomai, xerces + + Issues resolved (http://bugs.uclibc.org): + + #11576: Unable to start apache with event MPM on raspberry pi 3 + +2018.02.9, Released December 20th, 2018 + + Important / security related fixes. + + defconfigs: Fixes for ci20 + + Updated/fixed packages: c-ares, dante, freetype, ghostscript, + glibc, gnutls, go, libcurl, libgpgme, libid3tag, libiscsi, + libmpd, libopenssl, libpjsip, linux, liquid-dsp, luvi, lynx, + msgpack, nginx, nodejs, php, popt, pps-tools, python-numpy, + python-requests, samba4, sdl2_net, squashfs, swupdate, uclibc, + wine, webkitgtk, xfsprogs + + Issues resolved (http://bugs.uclibc.org): + + #11426: pps-tools bash dependency + +2018.02.8, Released November 26th, 2018 + + Important / security related fixes. + + fs: Drop intermediate tarball from the filesystem handling to + fix an issue with xattrs handling related to fakeroot. Ensure + tarball target includes xattrs. + + download: Fix confusion in git submodule handling if dl/ is a + symlink. + + toolchain: Only allow enabling stack protection on + architectures with control flow integrity (CFI) support. Only + allow FORTIFY_SOURCE support on gcc >= 6. + + genrandconfig: Fix missing newline in BR2_WGET handling, + causing the following line to be ignored. This would affect + BR2_ENABLE_DEBUG, BR2_INIT_BUSYBOX, BR2_INIT_SYSTEMD, + BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV, BR2_STATIC_LIBS or + BR2_PACKAGE_PYTHON_PY_ONLY depending on the randomization. + + show-build-order: Also include the dependencies of + rootfs-common. + + Defconfigs: Fixes for Armadeus APF27, imx6sabre. + + graph-depends: Fix for package names starting with a non-alpha + character. + + Updated/fixed packages: attr, audit, bind, brotli, easydbus, + elfutils, gauche, gcc, giflib, gpsd, lcdproc, libcurl, + libiscsi, libnfs, libnspr, libnss, libkcapi, libsemanage, + liburiparser, lighttpd, linux, lua-curl, mariadb, mmc-utils, + mosquitto, mysql, neardal, netplug, network-manager, + nfs-utils, nginx, openocd, openswan, p11-kit, postgresql, + prosody, qemu, qt, rpm, ruby, samba4, squid, supertuxkart, + systemd, tar, trace-cmd, traceroute, twolame, uclibc, + usb_modeswitch, vtun, webkitgtk, xdriver_xf86-video-geode, + xlib_libfontenc, xproto_inputproto, xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #11086: download/git submodule breaks on symlinked dl folder + #11251: Util scanpypi failes when package change - to _ in.. + #11476: stdio2.h error invalid use of __builtin_va_arg_pack + #11481: Docs: Is external.desc required? + +2018.02.7, Released October 25th, 2018 + + Important / security related fixes. + + Detect and reject build paths containing '@', as this confuses + a number of packages, including GCC. + + utils/get-developers: Add -e option for use with git + send-email. + + utils/diffconfig: Make it work for (non-Buildroot) config + files not using the BR2_ prefix. + + u-boot: Fix for environment image handling on big endian + systems. + + Updated/fixed packages: binutils, ca-certificates, + cups-filters, erlang, file, freetype, gcc, git, gvfs, leveldb, + libarchive, libcurl, libssh, live555, ljlinenoise, mariadb, + mongoose, netsnmp, nmap, nodejs, ntp, open-plc-utils, poco, + psmisc, ptpd2, python-enum34, qemu, qt, qt5base, setools, + spice, spice-protocol, tinc, ustr, wireshark + + Issues resolved (http://bugs.uclibc.org): + + #11396: uboot environment image checksum invalid if target is big endian + +2018.02.6, Released October 7th, 2018 + + Important / security related fixes. + + Add a number of patches to fix build errors for host utilities + on modern distributions using glibc-2.28. + + mkusers: Ensure existing group members are preserved when a + group is reprocessed. + + printvars: Fix issue with exceeding shell command line length + limits for certain setups. + + Updated/fixes packages: acpid, android-tools, apache, + arp-scan, bandwidthd, bind, bison, clamav, connman, cppcms, + cramfs, fio, gcc, ghostscript, glibc, gnupg, httping, + igmpproxy, imagemagick, imlib2, ipsec-tools, lcms2, libcurl, + libesmtp, libnfs, libssh, libxslt, links, linuxptp, + mediastreamer, minicom, moarvm, nilfs-utils, ocrad, parted, + php, pv, python-django, qt, qt5quickcontrols, qt5webengine, + screen, sdl2, shairport-sync, squashfs, strongswan, + vboot-utils, webkitgtk, wireguard, x265, xen, xlib_libXfont, + xlib_libXft + + New packages: brotli, woff2 + +2018.02.5, Released August 29th, 2018 + + Important / security related fixes. + + Defconfigs: Raspberrypi2: Bump rootfs size, T7680: Fix + genimage.cfg issue, ARM Juno: Bump ATF to v1.3 to fix build + issue. + + Updated/fixed packages: acl, apache, attr, bind, + boot-wrapper-aarch64, brltty, bzip2, chrony, crda, cryptsetup, + dahdi-tools, dmidecode, dropbear, eigen, erlang, ffmpeg, gawk, + gcc, ghostscript, gnutls, ipsec-tools, libarchive, libfuse, + libopenssl, libselinux, libsoup, lighttpd, linuxptp, + lttng-modules, lttng-tools, lua-flu, lvm2, m4, makedevs, + mariadb, mbedtls, mesa3d-headers, mtd, ncurses, nodejs, + openssh, php, postgresql, python-django, qt5xmlpatterns, ruby, + samba4, shairport-sync, stress-ng, ti-utils, uboot-tools, vim, + waylandpp, wireless_tools, wireshark, wpa_supplicant, xorriso, + znc + + Issues resolved (http://bugs.uclibc.org): + + #10781: cryptsetup luksOpen container_file container causes.. + #10986: Installing package attr when already supplied by.. + #11191: xattr and check-package issue + +2018.02.4, Released July 21th, 2018 + + Important / security related fixes. + + U-Boot: Ensure host version of ncurses is picked up and not + host-ncurses built by buildroot, as that otherwise causes + widechar/non-widechar conflicts and corrupted menuconfig + menus. + + Linux: Enable CONFIG_PERF_EVENTS when perf is enabled. + + Defconfigs: Raspberrypi3: Bump rootfs size, Minnowboard-max: + Support ethernet on Turbot variant. + + Updated/fixed packages: bind, clamav, collectd, dos2unix, + edid-decode, gcc, gdb, heimdal, hidapi, imx-gpu-viv, libcurl, + libglib2, liblogging, libostree, libsoup, libv4l, lm-sensors, + ncurses, network-manager, patchelf, pinentry, procps-ng, qpdf, + qt5, qt53d, qt5base, qt5charts, qt5script, qt5serialport, + systemd, wireguard, wireless-regdb + + Issues resolved (http://bugs.uclibc.org): + + #11101: host-patchelf Endian Issue with relative RPATH + +2018.02.3, Released June 18th, 2018 + + Important / security related fixes. + + Various fixes for building on modern distributions (GCC 8.x, + no rpcgen utility). + + ARM: Default to binutils 2.28 and warn about newer binutils + versions, which are known to cause boot failures for Linux + kernels built in thumb mode. + + Busybox/mdev: Fix module autoloading. + + Busybox/sysvinit: inittab: Add /dev/{stdin,stdout,stderr} + symlinks, call swapon -a to activate any configured swap + devices. + + Dependencies: Check that PATH does not contain current working + directory, which triggers a number of build failures. + + Infrastructure: Error out for packages erroneously using the + 'local' site method but not defining a _SITE. + + Linux: Fix cuImage. / simpleImage. handling. Ensure + kconfig uses ncurses from the host to fix a ncurses/ncursesw + mixup, causing menuconfig display corruption. + + Toolchain: Workarounds for fix-rpath issues with binutils and + elf2flt. + + Util-linux: Fix blocking on getrandom() issue with recent + kernels. + + Remove broken freescale_imx31_3stack, + freescale_imx6sololiteevk and freescale_imx6ulevk defconfigs. + + Updated/fixed packages: apr-util, asterisk, attr, audit, + autofs, binutils, busybox, cifs-utils, cups-filters, dash, + ebtables, exim, expect, f2fs-tools, faketime, file, gdb, git, + glibc, gnupg, gnupg2, gst1-plugins-bad, imagemagick, jamvm, + jpeg-turbo, libcap, libcoap, libcurl, libgcrypt, libjpeg, + libnss, libressl, libtirpc, libvncserver, libvorbis, libxslt, + log4cplus, lrzsz, ltrace, lynx, mariadb, mbedtls, mpg123, + nasm, netplug, network-manager, nfs-utils, nodejs, + openvmtools, patch, perl, php-amqp, poppler, procps-ng, + python, python-websockets, quota, redis, samba4, sysvinit, + transmission, triggerhappy, util-linux, wavpack, wget, + wireshark, xen, zmqpp + + Issues resolved (http://bugs.uclibc.org): + + #10986: Installing package attr when already supplied by busybox.. + #11031: ld-elf2flt: host/bin/ld.real': execvp: No such file or.. + +2018.02.2, Released May 4th, 2018 + + Important / security related fixes. + + Tweak package size/file instrumentation to better handle + package rebuilds. + + Revert /etc/shells creation when bash is enabled. + + Exclude /lib/firmware from the rpath fixup logic, as it may + contain non-native ELF files. + + Scanpypi: Support the new PyPi infrastructure. + + Handle GCC 8.x on the host. + + Ensure timestamp of /usr is updated to support the systemd + ConditionNeedsUpdate option. + + Updated/fixed packages: bluez5_utils, flann, gdb, gnupg2, + grub2, libcec, libcgi, libglib2, libgpg-error, libgpgme, + libtomcrypt, mbedtls, mkpasswd, php, python, python-requests, + python-watchdog, qt53d, qt5websockets, sdl2, sdl2_image, + syslog-ng, systemd, tcl, tcllib, uclibc, usb_modeswitch, + wireguard, wmctrl + + Issues resolved (http://bugs.uclibc.org): + + #10896: /bin/sh not in /etc/shells + #10961: Grub2 fails to build for x86_64 when BR2_SSP_ALL is enabled + +2018.02.1, Released April 9th, 2018 + + Important / security related fixes. + + Removed unmaintained defconfigs: Creator Ci40, Firefly rk3288, + Freescale mpc8315erdb / p1010rdb_pa, Riotboard, Teliv EVK + Pro3. + + Infrastructure: Speed up instrumentation for package size by + comparing timestamps instead of md5 checksums, as doing + checksums could lead to up to 25% longer build time for big + configurations. + + Rename the internal _BASE_NAME variable to _NASENAME + to avoid name clashes with packages ending on '-base'. + + Add a better fix for build issues for autotools based packages + checking for C++ support on toolchains without C++ support. + + Build host-tar if tar is older than 1.27 on the build machine + to work around reproducibility issues with git archives + containing long paths. + + check-unique-files: Fix for filenames not representable in the + users' locale. + + Check-bin-arch: Add support for per-package ignore paths + (_BIN_ARCH_EXCLUDE). + + Toolchain: Fix SSP support detection for external toolchains. + + linux: Add _NEEDS_HOST_OPENSSL / LIBELF options to ensure + these dependencies are available for Linux configurations + needed these dependencies, similar to how it is done for + U-Boot. + + Support custom (not in tree) device tree files in addition to + in-tree ones. + + U-Boot / uboot-tools: Fix header conflict with libfdt-devel + installed on host. + + Updated/fixed packages: apache, busybox, c-ares, cmake, + docker-engine, enlightenment, eudev, fbgrab, freescale-imx, + gtest, imagemagick, intel-microcode, irssi, jimtcl, kmod, + kodi, ktap, libcoap, libcurl, libfcgi, libhttpparser, + libminiupnpc, libopenssl, libpjsip, libss7, libssh2, libupnp + libupnpp, libuv, libvorbis, memcached, motion, musl, nodejs, + ntp, openblas, opencv3, openocd, opus-tools, patch, php, + pkgconf, postgresql, powerpc-utils, python-jsonschema, + python-webpy, qemu, qt5bsae, qt5script, qt5webkit, rapidjson, + rauc, sam-ba, samba4, sngrep, systemd, tremor, uboot-tools, + uclibc-ng-test, upmpdcli, wireshark, xerces, xterm, zstd + + New packages: docker-proxy, python-functools32 + + Issues resolved (http://bugs.uclibc.org): + + #10766: upmpdcli: Segmentation fault + #10776: ktap fails to build + #10846: error in compiling gnutls + #10856: openblas on qemu_x86_64_defconfig fails with "sgemm_.. + +2018.02, Released March 4th, 2018 + + Fixes all over the tree. + + Issues with systemd with a readonly rootfs and DBus fixed. + + Instructure: + - check-uniq-files: fix Python 2.6 compatibility. + - dependencies.sh: check for external argparse module for + Python 2.6. + - Add infrastructure to detect and use a UTF-8 locale on the + host, needed by systemd. + + Update/fixed packages: clamav, dash, dhcp, dovecot, efl, + ffmpeg, libv4l, mono, mosquitto, php, postgresql, qt, + scanpypi, sdl2, systemd, tor, tvheadend, uboot, wavpack + + Issues resolved (http://bugs.uclibc.org): + + #10831: qemu_x86_64_defconfig build fails on linux-headers.. + +2018.02-rc3, Released February 27th, 2018 + + Fixes all over the tree. + + check-bin-arch: skip /lib/modules to allow 32-bit userland + with 64bit kernel. + + dependencies: Blacklist tar 1.30+ and build our own host-tar + if needed as tar 1.30+ changed the --numeric-owner output for + long path names. Build host-tar before other host-dependencies + as they need it to extract their source tarballs. + + Update/fixed packages: asterisk, azmq, bluez5_utils, domoticz, + e2fsprogs, erlang, exim, glibc, gpsd, jq, libglib2, libvorbis, + mariadb, mbedtls, mesa3d, mesa3d-headers, mpv, patch, pcre2, + php, qt5, qt5multimedia, qt5wayland, qt5webengine, qt5webkit, + systemd, quagga, rustc, uboot, wireguard, zic, zlib-ng + + Issues resolved (http://bugs.uclibc.org): + + #10726: Current libglib2.mk creates broken libglib2 binary... + #10786: Linux fails to build unless make linux-menuconfig... + #10796: Cannot generate cpio image without selecting CON... + +2018.02-rc2, Released February 15th, 2018 + + Fixes all over the tree. + + Dependencies: Ensure C++ support is available like for C + support for packages needing 32bit host support. + + utils/genrandconfig: Check host dependencies for config. + + Updated/fixed packages: busybox, dnsmasq, dropbear, ffmpeg, + glibc, keepalived, libcpprestsdk, libgpiod, libmaxminddb, + librsvg, libtasn1, libv4l, libxml2, lightning, ltp-testsuite, + mesa3d, mesa3d-demos, mesa3d-headers, nftables, open-lldp, + php, postgresql, python-crossbar, qt5, qt53d, qt5enginio, + qt5tools, qt5webengine, qt5webkit, rsync, rust-bin, rustc, + systemd + + Issues resolved (http://bugs.uclibc.org): + + #9781: ti-sgx-km build on kernel >4.1 + #10141: Squashfs extended attribute failures + +2018.02-rc1, Released February 5th, 2018 + + The global source-check and per-package -source-check + targets have been removed. + + Architecture: Add x86 Silvermont variant. Add several new ARM + variants, rework MIPS NaN logic. Support mainline binutils/gcc + for ARC. + + Toolchains: Linaro toolchains upgraded to 2017.11 release, ARC + external toolchains upgraded to arc-2017.09. Libatomic is now + also copied for external musl based toolchains. + Add binutils 2.30.x and switch to binutils 2.29.x by default. + + Added hardening options to build with RELRO and FORTITY. + + New defconfigs: Bananapi M64, FriendlyARM Nanopi A64 & NEO2, + imx6slevk, imx6sx-sdb, imx6ulevk, Olimex A64-OLinuXino, + Orangepi lite / pc plus / pc / prime / win / win plus / zero + plus2, Pine64, Solidrun MacchiatoBin. Sopine. + + Add utils/diffconfig, a simple utility for comparing + configuration files - Adapted from the version in the + Linux kernel. + + Infrastructure: Check that the same file is not touched by + multiple packages, as a preparation for toplevel parallel + builds. + + Hashes for the license files for a large number of packages + have been added, ensuring that license changes will not be + missed when packages are bumped. + + Fix build issue for autotools based packages checking for C++ + support on toolchains without C++ support and on a distro + lacking /lib/cpp (E.G. Arch Linux). + + Support for the meson build system. + + Pie charts generated by 'graph-build' or 'graph-size' are now + sorted according to the size of each piece. + + System: Only show getty options when busybox init or sysvinit + are used. + + ARM-trusted-firmware: Support ATF bundled in U-Boot as + well as U-Boot bundled in ATF. + + Zlib is now a virtual package, provided by either libzlib or + zlib-ng, similar to openssl. + + Support for the Rust programming language. + + New packages: aoetools, armbian-firmware, binaries-marvell, + brltty, cargo, cargo-bin, cups-filters, curlpp, daq, + flatbuffers, gconf, glorytun, gstreamer1-mm, imx-m4fwloader, + imx-gpu-g2d, json-for-modern-cpp, libcpprestsdk, libgta, + libostree, libupnp18, luadbi, luadbi-sqlite3, lua-utf8, lynx, + meson, mv-ddr-marvell, nilfs-utils, opentracing-cpp, + open-lldp, pimd, proj, python-flask-cors, + python-jaraco-classes, python-more-itertools, python-oauthlib, + python-raven, python-remi, python-requests-oauthlib, + python-schedule, python-secretstorage, python-see, + python-tabledata, python-txtorcon, python-xlib, qt5charts, + rtl8189fs, rtl8723bu, rust, rustc, rust-bin, rygel, safeclib, + solatus, tcf-agent, traceroute, waylandpp, wolfssl, + zisofs-tools, zlib-ng + + Removed packages: eeprog + +2017.11.2, Released January 21st, 2018 + + Important / security related fixes. + + External toolchain: libatomic is now also copied for musl + based toolchains. + + nconfig: Fix for ncurses/ncursesw linking issue causing crashes. + + System: Only show getty options when busybox init or sysvinit + are used. + + Infrastructure: Fix build issue for autotools based packages + checking for C++ support on toolchains without C++ support and + on a distro lacking /lib/cpp (E.G. Arch Linux). + + Pie charts generated by 'graph-build' or 'graph-size' are now + sorted according to the size of each piece. + + Updated/fixed packages: asterisk, avahi, bind, busybox, + coreutils, eeprog, intel-microcode, iputils, irssi, kmsxx, + libiio, linux-firmware, lz4, mariadb, matchbox-lib, mcookie, + ntp, php, pound, rpcbind, tar, ti-cgt-pru, webkitgtk, xen, + xlib_libXpm + + Issues resolved (http://bugs.buildroot.org): + + #9996: lz4 package does not install lz4 binaries in target + #10176: Rsyslog's S01logging is deleted by Busybox.mk from... + #10216: package/x11r7/mcookie/mcookie.c:207: bad size ? + #10301: systemd/getty unused options + #10331: kmsxx, host installation fails with BR2_SHARED_... + #10556: Building ntp package with SSL library libressl... + #10641: avahi-autoipd not starting when using systemd-tmpfiles + +2017.11.1, Released December 31th, 2017 + + Important / security related fixes. + + Updated/fixed packages: asterisk, checkpolicy, dhcp, flann, + gdb, glibc, heimdal, kodi-pvr-mediaportal-tvserver, + kodi-pvr-stalker, libcue, libopenssl, libpqxx, libsoxr, + linknx, linux-tools, lldpd, ltp-testsuite, mariadb, mfgtools, + nodejs, nut, pulseaudio, python-cffi, qemu, rsync, tor, uboot, + uboot-tools, vlc, webkitgtk, weston, wireguard, wireshark, + xenomai, xfsprogs + +2017.11, Released November 30, 2017 + + Fixes all over the tree. + + Toolchain: Use github mirror for Glibc. + + Defconfigs: Correct boot.cmd for bananapi-m1. + + Makefiles: Workaround include order issues for certain make + versions by explicitly sorting the result of wildcard where it + matters. + + Download: Ensure subversion runs in non-interactive mode. + + Updated/fixed packages: asterisk, boost, chrony, dovecot, + dvb-apps, exim, feh, freerdp, fwup, google-breakpad, jose, + kvm-unit-test, lftp, libcurl, libevent, libfastjson, libpjsip, + libupnp, linphone, localedef, lttng-tools, mp4v2, mtools, + ndisc6, oracle-mysql, parted, pdbg, qt, qt5connectivity, + qt5declarative, qt5webkit, rauc, runc, samba4, shairport-sync, + systemd-bootchart, webkitgtk, wireguard, xlib_libXcursor, + xlib_libXfont, xlib_libXfont2, + + Issues resolved (http://bugs.buildroot.org): + + 10501: host-localedef fails to compile on Ubuntu 17.10 + 10506: Changed kernel image type (e.g. zImage to uImage)... + +2017.11-rc2, Released November 13th, 2017 + + Fixes all over the tree. + + Updated/fixed packages: collectd, ffmpeg, freerdp, + go-bootstrap, imagemagick, jimtcl, libpjsip, libplist, libuv, + mesa3d, nodejs, ntp, openjpeg, postgresql, python-numpy, ruby, + snmp++, usb_modeswitch, util-linux, vboot-utils, webkitgtk, + wireshark, wpa_supplicant, xapp_xdriinfo + + Issues resolved (http://bugs.buildroot.org): + + #10326: mesa3d package fails to build when BR2_SHARED_STATIC_LIBS=y + #10491: Cannot output security warning when compiled with buildroot.. + +2017.11-rc1, Released November 6th, 2017 + + Fixes all over the tree and new features. + + Openssl is now a virtual package, which may be provided by + OpenSSL (now renamed to libopenssl) or LibreSSL. + + libssh2: there is now an explicit choice of the backend to use + (mbedtls, gnutls or openssl). Previously, the choice was implicit + based on the TLS library that was selected. Now, it is possible to + choose the backend, which is important if several TLS libraries are + selected. + + netsnmp: all MIB files are now installed, making the target filesystem a + bit bigger than before. To remove unneeded MIBS, you should use a + post-build script. + + Toolchain: Linaro toolchains updated to 2017.08, ARC toolchain + updated to 2017.09, Glibc updated to 2.26, Glibc support for + ARCv2. The toolchain wrapper now handles SOURCE_DATE_EPOCH for + older (pre-gcc7.x) toolchains for BR2_REPRODUCIBLE. + + New defconfigs: Atmel SAM45D27, Bananapi M1 and M2 Plus, + Engicam i.CoreM6 Qt5 configuration, i.MX6 sabreauto (mainline + kernel/u-boot), i.MX6Q sabresd Qt5 configuration, i.MX7d-pico, + QEMU ppc64le, Raspberry pi3 Qt5 webengine configuration, + Technologic TS-7680. + + New packages: asterisk, azmq, bcg729, boinc, dahdi-linux, + dahdi-tools, freeswitch-mod-bcg729, fscryptctl, libb64, + libpri, libss7, lua-basexx, lua-compat53, lua-cqueues, + lua-curl, lua-datafile, lua-fifo, lua-httpd, + lua-lpeg-patterns, lua-markdown, lua-sailor, lua-value, + luksmeta, minetest, minetest-game, pdmenu, prosody, + python-aiocoap, python-automat, python-ibmiotf, + python-iso8601, python-m2r, python-simplesqlite, + python-websockets, python-xmltodict, qt5wayland, qt5webengine, + restorecond, selinux-python, semodule-utils, uhubctl, + wireguard, wsapi-fcgi, wsapi-xavante + + Removed packages: aiccu, rfkill, sepolgen + + Issues resolved (http://bugs.buildroot.org): + + #10281: lsblk does not compile for util-linux + #10336: lttng compilation fails : linking error + #10351: glibc missing in rootfs + #10356: nfs-utils missing header + #10361: python3 python-config script generates invalid includes + #10366: dropbear download url has changed + #10391: WiringPi retrieves wrong (old) version + #10406: Beaglebone black: Buggy SGX driver version, swapped... + #10426: uboot-tools' fw_setenv does not update the redundant... + #10451: libpcap 1.8.x and 1.7x does not compile on PPC + +2017.08.2, Released November 28th, 2017 + + Important / security related fixes. + + Qt: 5.6 version updated to 5.6.3. + + Reproducible: Do not override SOURCE_DATE_EPOCH if already set + in the environment. + + Makefiles: Workaround include order issues for certain make + versions by explicitly sorting the result of wildcard where it + matters. + + Updated/fixed packages: apr, apr-util, arqp-standalone, + azure-iot-sdk-c, collectd, dvb-apps, ffmpeg, go-bootstrap, + google-breakpad, gstreamer, imagemagick, irssi, jimtcl, + kvm-unit-test, libcurl, libfastjson, libglib2, libidn, + libpjsip, libplist, localedef, lttng-tools, luajit, mesa3d, + moarvm, mp4v2, openssh, openssl, oracle-mysql, postgresql, + python3, python-pyqt5, qt, qt5base, qt5canvas3d, + qt5connectivity, qt5declarative, qt5engineio, + qt5graphicaleffects, qt5imageformats, qt5location, + qt5multimedia, qt5quickcontrols, qt5quickcontrols2, qt5script, + qt5sensors, qt5serialbus, qt5serialport, qt5svg, qt5tools, + qt5webchannel, qt5webkit, qt5websockets, qt5x11extras, + qt5xmlpatterns, quagga, redis, ruby, samba4, sdl2, snmppp, + swupdate, ti-gfx, uboot-tools, usb_modeswitch, vboot-utils, + webkitgtk, wget, wireshark, xapp_xdriinfo. + + Issues resolved (http://bugs.buildroot.org): + + 10326: mesa3d package fails to build when BR2_SHARED_STATIC_LIBS=y + 10361: python3 python-config script generates invalid includes + 10501: host-localedef fails to compile on Ubuntu 17.10 + +2017.08.1, Released October 23rd, 2017 + + Important / security related fixes. + + Webkitgtk bumped to the 2.18.x series, fixing a large number + of security issues. + + Defconfigs: galileo: fix ext4 related kernel config, bump + kernel for gcc 6.x compatibility, enable wchar support for + grub2. wandboard: correct rootfs offset + + support: Ensure gzip compression level 6 is used for git + tarballs. check-bin-arch: Correctly handle (ignore) symbolic + links. check-rpath: Also handle PIE binaries + + External toolchain: Correctly handle glibc Buildroot + toolchains built with merged /usr + + musl: fix ARMv4 build with binutils 2.27.51+, fix for + CVE-2017-15650 + + Updated/fixed packages: apache, augeas, bind, bluez5_utils, + busybox, bzip2, cmake, dnsmasq, ejabberd, gcc, git, go, ffmpeg, file, + flashrom, gd, gdk-pixbug, gnupg2, hostapd, ifupdown-scripts, + imagemagick, iucode-tool, kernel-module-imx-gpu-viv, lame, + libarchive, libcurl, libffi, libidn, libmbim, libnspr, libnss, + libressl, librsync, libsoup, libxml2, libzip, mbedtls, musl, + netplug, nginx, openvpn, pkgconf, poppler, proxychains-ng, + qemu, qt, rpi-userland, syslog, ruby, samba4, softether, + sqlite, strongswan, subversion, supertuxkart, supervisor, tcpdump, + tor, unrar, urq, vboot-utils, webkitgtk, wpa_supplicant, xen, + xmlstarlet, xlib_libXfont, xlib_libXfont2, + xserver_xorg-server, zsh + 2017.08, Released September 1st, 2017 Minor fixes. @@ -493,6 +11366,117 @@ #9846: musl libc not installed correctly in target folder #9856: build libubox failed on ubuntu 17.04 64bit +2017.02.11, Released April 11th, 2018 + + Important / security related fixes. + + dependencies: Blacklist tar 1.30+ and build our own host-tar + if needed as tar 1.30+ changed the --numeric-owner output for + long path names. Build host-tar before other host-dependencies + as they need it to extract their source tarballs. + + Updated/fixed packages: apache, busybox, clamav, dhcp, + dnsmasq, dovecot, exim, imagemagick, irssi, jq, libcurl, + libpjsip, librsvg, libtasn1, libvorbis, libxml2, lz4, mariadb, + mbedtls, mosquitto, ntp, openblas, opencv3, openssl, patch, + postgresql, python-webpy, qt53d, qt5tools, quagga, rsync, + samba4, sngrep, tremor, wavpack, wireshark, xerces, xterm + + Issues resolved (http://bugs.uclibc.org): + + #10856: openblas on qemu_x86_64_defconfig fails with "sgemm_.. + +2017.02.10, Released January 31st, 2018 + + Important / security related fixes. + + nconfig: Fix for ncurses/ncursesw linking issue causing crashes. + + System: Only show getty options when busybox init or sysvinit + are used. + + Infrastructure: Fix build issue for autotools based packages + checking for C++ support on toolchains without C++ support and + on a distro lacking /lib/cpp (E.G. Arch Linux). + + Updated/fixed packages: avahi, berkeleydb, bind, busybox, + ccache, clamav, coreutils, dovecot, eeprog, eudev, fis, + intel-microcode, iputils, irssi, kmsxx, libcurl, liberation, + libiio, lz4, mariadb, matchbox-lib, mcookie, openocd, php, + pound, rpcbind, squid, tar, ti-cgt-pru, transmission, + util-linux, webkitgtk, wireshark, xen + + Issues resolved (http://bugs.buildroot.org): + + #9996: lz4 package does not install lz4 binaries in target + #10176: Rsyslog's S01logging is deleted by Busybox.mk from... + #10216: package/x11r7/mcookie/mcookie.c:207: bad size ? + #10301: systemd/getty unused options + #10331: kmsxx, host installation fails with BR2_SHARED_... + #10536: Finding non-relative paths in the ccache + #10641: avahi-autoipd not starting when using systemd-tmpfiles + +2017.02.9, Released January 1st, 2018 + + Important / security related fixes. + + Fix divide by zero issue in size-stats script. + + Fix makefile include ordering issue with certain make versions + in the external toolchain handling. + + Updated/fixed packages: dhcp, exim, flann, gdb, heimdal, + libcue, libcurl, libevent, libpqxx, libsoxr, linphone, lldpd, + mariadb, mfgtools, mtools, nodejs, nut, openssl, rsync, + samba4, tor, vlc, webkitgtk, wireshark, xfsprogs, + xlib_libXcursor, xlib_libXfont, xlib_libXfont2 + +2017.02.8, Released November 27th, 2017 + + Important / security related fixes. + + Qt: 5.6 version updated to 5.6.3. + + Reproducible: Do not override SOURCE_DATE_EPOCH if already set + in the environment. + + Updated/fixed packages: apr, apr-util, arqp-standalone, + collectd, dvb-apps, ffmpeg, google-breakpad, gstreamer, + imagemagick, libfastjson, libglib2, libpjsip, libplist, + localedef, luajit, mesa3d, openssh, openssl, postgresql, + python3, python-pyqt5, qt5base, qt5canvas3d, qt5connectivity, + qt5declarative, qt5engineio, qt5graphicaleffects, + qt5imageformats, qt5location, qt5multimedia, qt5quickcontrols, + qt5quickcontrols2, qt5script, qt5sensors, qt5serialbus, + qt5serialport, qt5svg, qt5tools, qt5webchannel, qt5webkit, + qt5websockets, qt5x11extras, qt5xmlpatterns, quagga, ruby, + samba4, snmppp, ti-gfx, vboot-utils, webkitgtk, wireshark, + xapp_xdriinfo. + + Issues resolved (http://bugs.buildroot.org): + + 10326: mesa3d package fails to build when BR2_SHARED_STATIC_LIBS=y + 10361: python3 python-config script generates invalid includes + 10501: host-localedef fails to compile on Ubuntu 17.10 + +2017.02.7, Released October 28th, 2017 + + Important / security related fixes. + + Webkitgtk bumped to the 2.18.x series, fixing a large number + of security issues. + + Defconfigs: wandboard: Correct rootfs offset + + Toolchain: Linaro toolchains updated to 2017.08 release, + fixing a number of issues. Musl: fix for CVE-2017-15650. + + Updated/fixed packages: busybox, bzip2, dnsmasq, git, go, + hostapd, irssi, iucode-tool, lame, libcurl, libffi, libnspr, + libnss, nodejs, openssh, openvpn, qemu, qt, redis, sdl2, + webkitgtk, wget, wpa_supplicant, xen, xlib_libXfont, + xlib_libXfont2, xserver_xorg-server + 2017.02.6, Released September 24th, 2017 Important / security related fixes. @@ -1079,7 +12063,7 @@ Architecture: Default to bf532 CPU variant for blackfin, Fix flat one memory region support for m68k and disable flat - seperate data support because of compatibility issues. + separate data support because of compatibility issues. Defconfigs: Minnowboard and Raspberrypi: Fix errors with post-build scripts when systemd is used. @@ -1615,7 +12599,7 @@ Minor fixes. - Merged/seperate /usr handling is now also performed for + Merged/separate /usr handling is now also performed for staging so cross-gdb / gdbserver can find the libraries. Updated/fixed packages: autossh, conntrack-tools, dcron, diff --git a/Config.in b/Config.in index 814dc025b96..0bfe6d1ab5c 100644 --- a/Config.in +++ b/Config.in @@ -6,6 +6,19 @@ config BR2_HAVE_DOT_CONFIG bool default y +# Hidden symbol kept to false, to temporarily mark a configuration +# known to be broken (by depending on it). Ideally, we don't want to +# keep broken parts for too long. The intended use of this symbol is +# to give some time to a developer to fix the feature. Features marked +# as broken will be removed if they are not fixed in a reasonable +# amount of time. +config BR2_BROKEN + bool + +config BR2_HIDE_SECONDARY_TARGET_OPTIONS + bool + option env="BR2_HIDE_SECONDARY_TARGET_OPTIONS" + config BR2_VERSION string option env="BR2_VERSION_FULL" @@ -14,38 +27,21 @@ config BR2_HOSTARCH string option env="HOSTARCH" -config BR2_BUILD_DIR +config BR2_BASE_DIR string - option env="BUILD_DIR" + option env="BASE_DIR" + +# br2-external paths definitions +source "$BR2_BASE_DIR/.br2-external.in.paths" # Hidden config symbols for packages to check system gcc version config BR2_HOST_GCC_VERSION string option env="HOST_GCC_VERSION" -config BR2_HOST_GCC_AT_LEAST_4_5 - bool - default y if BR2_HOST_GCC_VERSION = "4 5" - -config BR2_HOST_GCC_AT_LEAST_4_6 - bool - default y if BR2_HOST_GCC_VERSION = "4 6" - select BR2_HOST_GCC_AT_LEAST_4_5 - -config BR2_HOST_GCC_AT_LEAST_4_7 - bool - default y if BR2_HOST_GCC_VERSION = "4 7" - select BR2_HOST_GCC_AT_LEAST_4_6 - -config BR2_HOST_GCC_AT_LEAST_4_8 - bool - default y if BR2_HOST_GCC_VERSION = "4 8" - select BR2_HOST_GCC_AT_LEAST_4_7 - config BR2_HOST_GCC_AT_LEAST_4_9 bool default y if BR2_HOST_GCC_VERSION = "4 9" - select BR2_HOST_GCC_AT_LEAST_4_8 config BR2_HOST_GCC_AT_LEAST_5 bool @@ -62,24 +58,57 @@ config BR2_HOST_GCC_AT_LEAST_7 default y if BR2_HOST_GCC_VERSION = "7" select BR2_HOST_GCC_AT_LEAST_6 -# Hidden boolean selected by packages in need of Java in order to build -# (example: kodi) -config BR2_NEEDS_HOST_JAVA +config BR2_HOST_GCC_AT_LEAST_8 + bool + default y if BR2_HOST_GCC_VERSION = "8" + select BR2_HOST_GCC_AT_LEAST_7 + +config BR2_HOST_GCC_AT_LEAST_9 + bool + default y if BR2_HOST_GCC_VERSION = "9" + select BR2_HOST_GCC_AT_LEAST_8 + +config BR2_HOST_GCC_AT_LEAST_10 + bool + default y if BR2_HOST_GCC_VERSION = "10" + select BR2_HOST_GCC_AT_LEAST_9 + +config BR2_HOST_GCC_AT_LEAST_11 + bool + default y if BR2_HOST_GCC_VERSION = "11" + select BR2_HOST_GCC_AT_LEAST_10 + +config BR2_HOST_GCC_AT_LEAST_12 + bool + default y if BR2_HOST_GCC_VERSION = "12" + select BR2_HOST_GCC_AT_LEAST_11 + +config BR2_HOST_GCC_AT_LEAST_13 + bool + default y if BR2_HOST_GCC_VERSION = "13" + select BR2_HOST_GCC_AT_LEAST_12 + +config BR2_HOST_GCC_AT_LEAST_14 bool + default y if BR2_HOST_GCC_VERSION = "14" + select BR2_HOST_GCC_AT_LEAST_13 -# Hidden boolean selected by packages in need of javac in order to build -# (example: classpath) -config BR2_NEEDS_HOST_JAVAC +config BR2_HOST_GCC_AT_LEAST_15 bool + default y if BR2_HOST_GCC_VERSION = "15" + select BR2_HOST_GCC_AT_LEAST_14 -# Hidden boolean selected by packages in need of jar in order to build -# (example: classpath) -config BR2_NEEDS_HOST_JAR +# When adding new entries above, be sure to update +# the HOSTCC_MAX_VERSION variable in the Makefile. + +# Hidden boolean selected by packages in need of Java in order to build +# (example: kodi) +config BR2_NEEDS_HOST_JAVA bool # Hidden boolean selected by pre-built packages for x86, when they # need to run on x86-64 machines (example: pre-built external -# toolchains, binary tools like SAM-BA, etc.). +# toolchains, binary tools, etc.). config BR2_HOSTARCH_NEEDS_IA32_LIBS bool @@ -94,19 +123,30 @@ config BR2_HOSTARCH_NEEDS_IA32_COMPILER config BR2_NEEDS_HOST_UTF8_LOCALE bool +# Hidden boolean selected by packages that need the host to have +# support for building gcc plugins +config BR2_NEEDS_HOST_GCC_PLUGIN_SUPPORT + bool + source "arch/Config.in" +source "toolchain/Config.in" + menu "Build options" menu "Commands" +config BR2_CURL + string "Curl command" + default "curl -q --ftp-pasv --retry 3 --connect-timeout 10" + config BR2_WGET string "Wget command" - default "wget --passive-ftp -nd -t 3" + default "wget -nd -t 3 --connect-timeout=10" config BR2_SVN string "Subversion (svn) command" - default "svn" + default "svn --non-interactive --config-option servers:global:http-timeout=10" config BR2_BZR string "Bazaar (bzr) command" @@ -126,11 +166,11 @@ config BR2_LOCALFILES config BR2_SCP string "Secure copy (scp) command" - default "scp" + default "scp -o ConnectTimeout=10" -config BR2_SSH - string "Secure shell (ssh) command" - default "ssh" +config BR2_SFTP + string "Secure file transfer (sftp) command" + default "sftp -o ConnectTimeout=10" config BR2_HG string "Mercurial (hg) command" @@ -170,13 +210,20 @@ config BR2_LZCAT Command to be used to extract a lzip'ed file to stdout. Default is "lzip -d -c" +config BR2_ZSTDCAT + string "zstdcat command" + default "zstdcat" + help + Command to be used to extract a zstd'ed file to stdout. + Default is "zstdcat" + config BR2_TAR_OPTIONS string "Tar options" default "" help Options to pass to tar when extracting the sources. - E.g. " -v --exclude='*.svn*'" to exclude all .svn internal files - and to be verbose. + E.g. " -v --exclude='*.svn*'" to exclude all .svn internal + files and to be verbose. endmenu @@ -200,6 +247,9 @@ config BR2_DL_DIR If the Linux shell environment has defined the BR2_DL_DIR environment variable, then this overrides this configuration item. + The directory is organized with a subdirectory for each + package. Each package has its own $(LIBFOO_DL_DIR) variable + that can be used to find the correct path. The default is $(TOPDIR)/dl @@ -245,7 +295,7 @@ if !BR2_PRIMARY_SITE_ONLY config BR2_BACKUP_SITE string "Backup download site" - default "http://sources.buildroot.net" + default "https://sources.buildroot.net" help Backup site to download from. If this option is set then buildroot will fall back to download package sources from here @@ -268,7 +318,7 @@ config BR2_KERNEL_MIRROR config BR2_GNU_MIRROR string "GNU Software mirror" - default "http://ftpmirror.gnu.org" + default "https://ftpmirror.gnu.org" help GNU has multiple software mirrors scattered around the world. The following allows you to select your preferred @@ -291,14 +341,15 @@ config BR2_LUAROCKS_MIRROR config BR2_CPAN_MIRROR string "CPAN mirror (Perl packages)" - default "http://cpan.metacpan.org" + default "https://cpan.metacpan.org" help CPAN (Comprehensive Perl Archive Network) is a repository of Perl packages. It has multiple software mirrors scattered around the world. This option allows you to select a mirror. The list of mirrors is available at: - http://search.cpan.org/mirror + http://mirrors.cpan.org/ (tabular) + http://mirrors.cpan.org/map.html (clickable world map) endif @@ -311,8 +362,12 @@ config BR2_JLEVEL Number of jobs to run simultaneously. If 0, determine automatically according to number of CPUs on the host system. +comment "ccache needs a host gcc >= 8" + depends on !BR2_HOST_GCC_AT_LEAST_8 + config BR2_CCACHE bool "Enable compiler cache" + depends on BR2_HOST_GCC_AT_LEAST_8 help This option will enable the use of ccache, a compiler cache. It will cache the result of previous builds to speed up future @@ -332,6 +387,9 @@ config BR2_CCACHE_DIR default "$(HOME)/.buildroot-ccache" help Where ccache should store cached files. + If the Linux shell environment has defined the BR2_CCACHE_DIR + environment variable, then this overrides this configuration + item. config BR2_CCACHE_INITIAL_SETUP string "Compiler cache initial setup" @@ -419,10 +477,23 @@ config BR2_DEBUG_3 endchoice endif +config BR2_ENABLE_RUNTIME_DEBUG + bool "build packages with runtime debugging info" + help + Some packages may have runtime assertions, extra traces, and + similar runtime elements that can help debugging. However, + these elements may negatively influence performance so should + normally not be enabled on production systems. + + Enable this option to enable such runtime debugging. + + Note: disabling this option is not a guarantee that all + packages effectively removed these runtime debugging elements. + config BR2_STRIP_strip bool "strip target binaries" - depends on !BR2_PACKAGE_HOST_ELF2FLT default y + depends on BR2_BINFMT_ELF help Binaries and libraries in the target filesystem will be stripped using the normal 'strip' command. This allows to save @@ -432,16 +503,16 @@ config BR2_STRIP_strip config BR2_STRIP_EXCLUDE_FILES string "executables that should not be stripped" - depends on BR2_STRIP_strip default "" + depends on BR2_STRIP_strip help You may specify a space-separated list of binaries and libraries here that should not be stripped on the target. config BR2_STRIP_EXCLUDE_DIRS string "directories that should be skipped when stripping" - depends on BR2_STRIP_strip default "" + depends on BR2_STRIP_strip help You may specify a space-separated list of directories that should be skipped when stripping. Binaries and libraries in @@ -451,14 +522,14 @@ config BR2_STRIP_EXCLUDE_DIRS choice prompt "gcc optimization level" - default BR2_OPTIMIZE_S + default BR2_OPTIMIZE_2 help Set the optimization level for gcc config BR2_OPTIMIZE_0 bool "optimization level 0" help - Do not optimize. This is the default. + Do not optimize. config BR2_OPTIMIZE_1 bool "optimization level 1" @@ -497,6 +568,7 @@ config BR2_OPTIMIZE_2 -falign-loops -falign-labels -ftree-vrp -ftree-pre. Please note the warning under -fgcse about invoking -O2 on programs that use computed gotos. + This is the default. config BR2_OPTIMIZE_3 bool "optimization level 3" @@ -526,18 +598,49 @@ config BR2_OPTIMIZE_S -freorder-blocks-and-partition -fprefetch-loop-arrays -ftree-vect-loop-version +config BR2_OPTIMIZE_FAST + bool "optimize for fast (may break packages!)" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_6 + help + Optimize for fast. Disregard strict standards + compliance. -Ofast enables all -O3 optimizations. It also + enables optimizations that are not valid for all + standard-compliant programs, so be careful, as it may break + some packages. It turns on -ffast-math and the + Fortran-specific -fstack-arrays, unless -fmax-stack-var-size + is specified, and -fno-protect-parens. + endchoice +config BR2_ENABLE_LTO + bool "build packages with link-time optimisation" + help + Enable the link-time optimisation (LTO) option when building + packages. Link-time optimisation re-runs optimisations at + link time, which allows the compiler to do interprocedural + analysis across compilation units and thus come with better + results: smaller size and better performance. + + Note that this analysis is limited to statically linked + object files and libraries. + + This option may significantly increase build times, + sometimes 5 times longer, with only limited gains. + + At this time, this option only enables LTO in packages that + have an explicit configuration option for it. Other packages + always enable LTO, but most packages never enable LTO. + config BR2_GOOGLE_BREAKPAD_ENABLE bool "Enable google-breakpad support" - select BR2_PACKAGE_GOOGLE_BREAKPAD depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_HOST_GCC_AT_LEAST_4_8 # C++11 - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS - depends on (BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC) + depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS + select BR2_PACKAGE_GOOGLE_BREAKPAD help This option will enable the use of google breakpad, a library and tool suite that allows you to distribute an application to @@ -565,61 +668,6 @@ config BR2_GOOGLE_BREAKPAD_INCLUDE_FILES endif -choice - bool "build code with Stack Smashing Protection" - default BR2_SSP_ALL if BR2_ENABLE_SSP # legacy - depends on BR2_TOOLCHAIN_HAS_SSP - help - Enable stack smashing protection support using GCC's - -fstack-protector option family. - - See - http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt - for details. - - Note that this requires the toolchain to have SSP support. - This is always the case for glibc and eglibc toolchain, but is - optional in uClibc toolchains. - -config BR2_SSP_NONE - bool "None" - help - Disable stack-smashing protection. - -config BR2_SSP_REGULAR - bool "-fstack-protector" - help - Emit extra code to check for buffer overflows, such as stack - smashing attacks. This is done by adding a guard variable to - functions with vulnerable objects. This includes functions - that call alloca, and functions with buffers larger than 8 - bytes. The guards are initialized when a function is entered - and then checked when the function exits. If a guard check - fails, an error message is printed and the program exits. - -config BR2_SSP_STRONG - bool "-fstack-protector-strong" - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - help - Like -fstack-protector but includes additional functions to be - protected - those that have local array definitions, or have - references to local frame addresses. - -comment "Stack Smashing Protection strong needs a toolchain w/ gcc >= 4.9" - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - -config BR2_SSP_ALL - bool "-fstack-protector-all" - help - Like -fstack-protector except that all functions are - protected. This option might have a significant performance - impact on the compiled binaries. - -endchoice - -comment "Stack Smashing Protection needs a toolchain w/ SSP" - depends on !BR2_TOOLCHAIN_HAS_SSP - choice bool "libraries" default BR2_SHARED_LIBS if BR2_BINFMT_SUPPORTS_SHARED @@ -633,6 +681,7 @@ choice config BR2_STATIC_LIBS bool "static only" + depends on !BR2_TOOLCHAIN_USES_GLIBC help Build and use only static libraries. No shared libraries will be installed on the target. This potentially increases your @@ -641,6 +690,9 @@ config BR2_STATIC_LIBS option is enabled, due to their need for dynamic library support. +comment "static only needs a toolchain w/ uclibc or musl" + depends on BR2_TOOLCHAIN_USES_GLIBC + config BR2_SHARED_LIBS bool "shared only" depends on BR2_BINFMT_SUPPORTS_SHARED @@ -659,7 +711,6 @@ config BR2_SHARED_STATIC_LIBS endchoice - config BR2_PACKAGE_OVERRIDE_FILE string "location of a package override file" default "$(CONFIG_DIR)/local.mk" @@ -671,12 +722,12 @@ config BR2_PACKAGE_OVERRIDE_FILE documentation for more details on this feature. config BR2_GLOBAL_PATCH_DIR - string "global patch directories" + string "global patch and hash directories" help You may specify a space separated list of one or more - directories containing global package patches. For a specific - version of a specific package , - patches are applied as follows: + directories containing global package patches and/or hashes. + For a specific version of a specific package + , patches are looked up as follows: First, the default Buildroot patch set for the package is applied from the package's directory in Buildroot. @@ -690,27 +741,41 @@ config BR2_GLOBAL_PATCH_DIR exists, then all *.patch files in the directory will be applied. + The hash files are looked up similarly to the patches. + menu "Advanced" -config BR2_COMPILER_PARANOID_UNSAFE_PATH - bool "paranoid check of library/header paths" - default y +config BR2_FORCE_HOST_BUILD + bool "Force the building of host dependencies" + help + Build all available host dependencies, even if they are + already installed on the system. + + This option can be used to ensure that the download cache of + source archives for packages remain consistent between + different build hosts. + + This option will increase build time. + +config BR2_DOWNLOAD_FORCE_CHECK_HASHES + bool "Force all downloads to have a valid hash" help - By default, when this option is disabled, when the Buildroot - cross-compiler will encounter an unsafe library or header path - (such as /usr/include, or /usr/lib), the compiler will display - a warning. + Say 'y' here to enforce downloads to have at least one valid + hash (and of course, that all hashes be valid). - By enabling this option, this warning is turned into an error, - which will completely abort the build when such unsafe paths - are encountered. + By default, Buildroot checks hashes of all packages + downloaded, except those for which a custom version is + used. - Note that this mechanism is available for both the internal - toolchain (through the toolchain wrapper and binutils patches) - and external toolchain backends (through the toolchain wrapper). + With this option turned on, Buildroot will check hashes of + all packages, including those that use a custom version. In + order to provide hashes for such packages, place additional + hash files in BR2_GLOBAL_PATCH_DIR directories. config BR2_REPRODUCIBLE bool "Make the build reproducible (experimental)" + # SOURCE_DATE_EPOCH support in toolchain-wrapper requires GCC 4.4 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_4 help This option will remove all sources of non-reproducibility from the build process. For a given Buildroot configuration, @@ -726,11 +791,229 @@ config BR2_REPRODUCIBLE This is labeled as an experimental feature, as not all packages behave properly to ensure reproducibility. -endmenu +config BR2_PER_PACKAGE_DIRECTORIES + bool "Use per-package directories (experimental)" + help + This option will change the build process of Buildroot + package to use per-package target and host directories. + + This is useful for two related purposes: + + - Cleanly isolate the build of each package, so that a + given package only "sees" the dependencies it has + explicitly expressed, and not other packages that may + have by chance been built before. + + - Enable top-level parallel build. + + This is labeled as an experimental feature, as not all + packages behave properly with per-package directories. endmenu -source "toolchain/Config.in" +config BR2_TIME_BITS_64 + bool "Build Y2038-ready code" + depends on BR2_TOOLCHAIN_USES_GLIBC && !BR2_ARCH_IS_64 + help + This option will pass -D_TIME_BITS=64 in the compiler flags + to ensure the glibc C library uses a 64-bit representation + for time_t and other time types, which ensures that + programs/libraries will correctly handle time past year + 2038. + + This option only has an effect with glibc >= 2.34, as + earlier glibc versions did not have support for 64-bit + time_t. + +comment "Security Hardening Options" + +config BR2_PIC_PIE_ARCH_SUPPORTS + bool + default y + # Microblaze glibc toolchains don't work with PIC/PIE enabled + depends on !BR2_microblaze + +config BR2_PIC_PIE + bool "Build code with PIC/PIE" + default y + depends on BR2_PIC_PIE_ARCH_SUPPORTS + depends on BR2_SHARED_LIBS + depends on BR2_TOOLCHAIN_SUPPORTS_PIE + help + Generate Position-Independent Code (PIC) and link + Position-Independent Executables (PIE). + +comment "PIC/PIE needs a toolchain w/ PIE" + depends on BR2_PIC_PIE_ARCH_SUPPORTS + depends on BR2_SHARED_LIBS + depends on !BR2_TOOLCHAIN_SUPPORTS_PIE + +choice + bool "Stack Smashing Protection" + default BR2_SSP_ALL if BR2_ENABLE_SSP # legacy + default BR2_SSP_STRONG if BR2_TOOLCHAIN_HAS_SSP_STRONG + default BR2_SSP_REGULAR + depends on BR2_TOOLCHAIN_HAS_SSP + help + Enable stack smashing protection support using GCC's + -fstack-protector option family. + + See + http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt + for details. + + Note that this requires the toolchain to have SSP support. + This is always the case for glibc and eglibc toolchain, but is + optional in uClibc toolchains. + +config BR2_SSP_NONE + bool "None" + help + Disable stack-smashing protection. + +config BR2_SSP_REGULAR + bool "-fstack-protector" + help + Emit extra code to check for buffer overflows, such as stack + smashing attacks. This is done by adding a guard variable to + functions with vulnerable objects. This includes functions + that call alloca, and functions with buffers larger than 8 + bytes. The guards are initialized when a function is entered + and then checked when the function exits. If a guard check + fails, an error message is printed and the program exits. + +config BR2_SSP_STRONG + bool "-fstack-protector-strong" + depends on BR2_TOOLCHAIN_HAS_SSP_STRONG + help + Like -fstack-protector but includes additional functions to be + protected - those that have local array definitions, or have + references to local frame addresses. + + -fstack-protector-strong officially appeared in gcc 4.9, but + some vendors have backported -fstack-protector-strong to older + versions of gcc. + +config BR2_SSP_ALL + bool "-fstack-protector-all" + help + Like -fstack-protector except that all functions are + protected. This option might have a significant performance + impact on the compiled binaries. + +endchoice + +config BR2_SSP_OPTION + string + default "-fstack-protector" if BR2_SSP_REGULAR + default "-fstack-protector-strong" if BR2_SSP_STRONG + default "-fstack-protector-all" if BR2_SSP_ALL + +comment "Stack Smashing Protection needs a toolchain w/ SSP" + depends on !BR2_TOOLCHAIN_HAS_SSP + +choice + bool "RELRO Protection" + default BR2_RELRO_FULL if BR2_TOOLCHAIN_SUPPORTS_PIE + default BR2_RELRO_PARTIAL + depends on BR2_SHARED_LIBS + help + Enable a link-time protection know as RELRO (RELocation Read + Only) which helps to protect from certain type of exploitation + techniques altering the content of some ELF sections. + +config BR2_RELRO_NONE + bool "None" + help + Disables Relocation link-time protections. + +config BR2_RELRO_PARTIAL + bool "Partial" + help + This option makes the dynamic section not writeable after + initialization (with almost no performance penalty). + +config BR2_RELRO_FULL + bool "Full" + depends on BR2_PIC_PIE_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_SUPPORTS_PIE + select BR2_PIC_PIE + help + This option includes the partial configuration, but also marks + the GOT as read-only at the cost of initialization time during + program loading, i.e every time an executable is started. + +comment "RELRO Full needs a toolchain w/ PIE" + depends on BR2_PIC_PIE_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_SUPPORTS_PIE + +endchoice + +comment "RELocation Read Only (RELRO) needs shared libraries" + depends on !BR2_SHARED_LIBS + +config BR2_FORTIFY_SOURCE_ARCH_SUPPORTS + bool + default y + # Microblaze glibc toolchains don't work with Fortify Source enabled + depends on !BR2_microblaze + +choice + bool "Buffer-overflow Detection (FORTIFY_SOURCE)" + default BR2_FORTIFY_SOURCE_1 + depends on BR2_FORTIFY_SOURCE_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_OPTIMIZE_0 + help + Enable the _FORTIFY_SOURCE macro which introduces additional + checks to detect buffer-overflows in the following standard + library functions: memcpy, mempcpy, memmove, memset, strcpy, + stpcpy, strncpy, strcat, strncat, sprintf, vsprintf, snprintf, + vsnprintf, gets. + + NOTE: This feature requires an optimization level of s/1/2/3/g + + Support for this feature has been present since GCC 4.x. + +config BR2_FORTIFY_SOURCE_NONE + bool "None" + help + Disables additional checks to detect buffer-overflows. + +config BR2_FORTIFY_SOURCE_1 + bool "Conservative" + # gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61164 + depends on !BR2_TOOLCHAIN_BUILDROOT || BR2_TOOLCHAIN_GCC_AT_LEAST_6 + help + This option sets _FORTIFY_SOURCE to 1 and only introduces + checks that shouldn't change the behavior of conforming + programs. Adds checks at compile-time only. + +config BR2_FORTIFY_SOURCE_2 + bool "Aggressive" + # gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61164 + depends on !BR2_TOOLCHAIN_BUILDROOT || BR2_TOOLCHAIN_GCC_AT_LEAST_6 + help + This option sets _FORTIFY_SOURCE to 2 and some more + checking is added, but some conforming programs might fail. + Also adds checks at run-time (detected buffer overflow + terminates the program) + +config BR2_FORTIFY_SOURCE_3 + bool "Extended" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_12 + help + This option sets _FORTIFY_SOURCE to 3 and even more + checking is added compared to level 2. Extends checks at + run-time that can introduce an additional performance + overhead. + +endchoice + +comment "Fortify Source needs a glibc toolchain and optimization" + depends on BR2_FORTIFY_SOURCE_ARCH_SUPPORTS + depends on (!BR2_TOOLCHAIN_USES_GLIBC || BR2_OPTIMIZE_0) +endmenu source "system/Config.in" @@ -746,4 +1029,5 @@ source "package/Config.in.host" source "Config.in.legacy" -source "$BR2_BUILD_DIR/.br2-external.in" +# br2-external menus definitions +source "$BR2_BASE_DIR/.br2-external.in.menus" diff --git a/Config.in.legacy b/Config.in.legacy index 748876880c3..ead9ceaa08c 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -99,11 +99,11 @@ if !BR2_SKIP_LEGACY config BR2_LEGACY bool help - This option is selected automatically when your old .config uses an - option that no longer exists in current buildroot. In that case, the - build will fail. Look for config options which are selected in the - menu below: they no longer exist and should be replaced by something - else. + This option is selected automatically when your old .config + uses an option that no longer exists in current buildroot. In + that case, the build will fail. Look for config options which + are selected in the menu below: they no longer exist and + should be replaced by something else. # This comment fits exactly in a 80-column display comment "Legacy detected: check the content of the menu below" @@ -135,3022 +135,6946 @@ comment "legacy options in the menu below. Once you have " comment "disabled all legacy options, this text will " comment "disappear and you will be able to start the build. " comment "* " -comment "Note: at some point in the future, the oldest legacy" -comment "options will be removed, and configuration files " -comment "that still have those options set, will fail to " -comment "build, or run, in unpredictable ways. " +comment "Note: legacy options older than 5 years have been " +comment "removed, and configuration files that still have " +comment "those options set, will fail to build, or run in " +comment "unpredictable ways. " comment "----------------------------------------------------" endif ############################################################################### -comment "Legacy options removed in 2017.11" -config BR2_PACKAGE_OPENOBEX_BLUEZ - bool "openobex bluez option removed" +comment "Legacy options removed in 2026.05" + +config BR2_KERNEL_HEADERS_6_19 + bool "kernel headers version 6.19.x are no longer supported" select BR2_LEGACY - select BR2_PACKAGE_BLUEZ_UTILS help - The OpenOBEX package no longer offers an option to enable or - disable BlueZ support. Instead, BlueZ support is always - included when the bluez5_utils or bluez_utils package is - selected. + Version 6.19.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_PACKAGE_OPENOBEX_LIBUSB - bool "openobex libusb option removed" +config BR2_PACKAGE_PCRE + bool "pcre removed" select BR2_LEGACY - select BR2_PACKAGE_LIBUSB help - The OpenOBEX package no longer offers an option to enable or - disable libusb support. Instead, USB support is always - included when the libusb package is selected. + pcre was no longer maintained upstream, so it has been + dropped. Look at pcre2 for an alternative. -config BR2_PACKAGE_OPENOBEX_APPS - bool "openobex apps option removed" +config BR2_PACKAGE_SNORT + bool "snort removed" select BR2_LEGACY help - The OpenOBEX package no longer offers an option to enable or - disable apps support. + snort was no longer maintained upstream, so it has been + dropped. Look at snort3 for an alternative. -config BR2_PACKAGE_OPENOBEX_SYSLOG - bool "openobex syslog option removed" +config BR2_PACKAGE_CEGUI + bool "cegui" select BR2_LEGACY help - The OpenOBEX package no longer offers an option to enable or - disable syslog support. + cegui was removed from Buildroot as it was insufficiently + maintained. It can be re-added if someone volunteers to + maintain it. -config BR2_PACKAGE_OPENOBEX_DUMP - bool "openobex dump option removed" +config BR2_PACKAGE_SPHINXBASE + bool "sphinxbase removed" select BR2_LEGACY help - The OpenOBEX package no longer offers an option to enable or - disable dump support. + sphinxbase was no longer maintained upstream, so it has + been dropped. -config BR2_PACKAGE_AICCU - bool "aiccu utility removed" +config BR2_PACKAGE_OPENSWAN + bool "openswan removed" select BR2_LEGACY help - As the SixXS project has ceased its operation on 2017-06-06, - the AICCU utility has no use anymore and has been removed. - - https://www.sixxs.net/sunset/ + Openswan was no longer maintained upstream, so it has + been dropped. -config BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS - bool "util-linux login utilities option removed" +config BR2_PACKAGE_RUBIX + bool "rubix removed" select BR2_LEGACY - select BR2_PACKAGE_UTIL_LINUX_LAST - select BR2_PACKAGE_UTIL_LINUX_LOGIN - select BR2_PACKAGE_UTIL_LINUX_RUNUSER - select BR2_PACKAGE_UTIL_LINUX_SU - select BR2_PACKAGE_UTIL_LINUX_SULOGIN help - Login utilities (last, login, runuser, su, sulogin) now have - their own configuration options in the util-linux menu. - -############################################################################### -comment "Legacy options removed in 2017.08" + Rubix was no longer maintained upstream, so it has + been dropped. -config BR2_TARGET_GRUB - bool "grub (aka grub-legacy) has been removed" +config BR2_PACKAGE_LLAMA_CPP_SERVER + bool "llama-cpp option removed" + select BR2_PACKAGE_LLAMA_CPP_TOOLS select BR2_LEGACY help - grub-legacy is no longer maintained, and no longer builds with - recent binutils versions. - - Use grub2 or syslinux instead. + Several tools (server, cli) now require building both + tools and server, so enable both with the same config + BR2_PACKAGE_LLAMA_CPP_TOOLS -config BR2_PACKAGE_SIMICSFS - bool "simicsfs support removed" +config BR2_PACKAGE_PYTHON3_OSSAUDIODEV + bool "python3 ossaudiodev module removed" select BR2_LEGACY help - Support for simicsfs kernel driver that provides access to a - host computer's local filesystem when the target is - executing within a SIMICS simulation has been removed. + The ossaudiodev module was removed in Python 3.13. - Simics is now moving away from the simicsfs kernel module, - as the kernel module has required too much maintenance - work. Users should move to the user mode Simics agent - instead. +config BR2_TARGET_EDK2_PLATFORM_OVMF_I386 + bool "EDK2 OVMF IA32 removed" + select BR2_LEGACY + help + EDK2 OVMF IA32 support was removed in upstream version + 202511, so it has been dropped. -config BR2_BINUTILS_VERSION_2_26_X - bool "binutils version 2.26 support removed" +config BR2_BINUTILS_VERSION_2_43_X + bool "binutils 2.43 has been removed" select BR2_LEGACY help - Support for binutils version 2.26 has been removed. The - current default version (2.28 or later) has been selected + binutils 2.43 has been removed, select a newer version instead. -config BR2_XTENSA_OVERLAY_DIR - string "The BR2_XTENSA_OVERLAY_DIR option has been removed" - help - The BR2_XTENSA_OVERLAY_DIR has been removed in favour of - BR2_XTENSA_OVERLAY_FILE. You must now pass the complete - path to the overlay file, not to the directory containing - it. +comment "Legacy options removed in 2026.02" -config BR2_XTENSA_OVERLAY_DIR_WRAP - bool - default y if BR2_XTENSA_OVERLAY_DIR != "" +config BR2_PACKAGE_QEMU_TARGET_CRIS + bool "qemu cris support has been removed" select BR2_LEGACY + help + CRIS support has been removed since Qemu 9.2.0. -config BR2_XTENSA_CUSTOM_NAME - string "The BR2_XTENSA_CUSTOM_NAME option has been removed" +config BR2_PACKAGE_DVDRW_TOOLS + bool "dvdrw-tools removed" + select BR2_LEGACY help - The BR2_XTENSA_CUSTOM_NAME option has been removed. + dvdrw-tools was no longer maintained upstream, so it has + been dropped. -config BR2_XTENSA_CUSTOM_NAME_WRAP - bool - default y if BR2_XTENSA_CUSTOM_NAME != "" +config BR2_PACKAGE_PHP_ZMQ + bool "php-zmq removed" select BR2_LEGACY + help + php-zmq was no longer maintained upstream, broken with php + 8.5, so it has been dropped. -config BR2_PACKAGE_HOST_MKE2IMG - bool "host mke2img has been removed" +config BR2_PACKAGE_LOCKDEV + bool "lockdev removed" select BR2_LEGACY help - We now call mkfs directly to generate ext2/3/4 filesystem - image, so mke2img is no longer necessary. + lockdev was no longer maintained upstream, so it has been + dropped. -config BR2_TARGET_ROOTFS_EXT2_BLOCKS - int "exact size in blocks has been removed" - default 0 +config BR2_PACKAGE_DBUS_TRIGGERD + bool "dbus-triggerd removed" + select BR2_LEGACY help - This option has been removed in favor of - BR2_TARGET_ROOTFS_EXT2_SIZE. It has been set automatically - to the value you had before. Set to 0 here to remove the - warning. + dbus-triggerd was no longer maintained upstream, so it has + been dropped. -config BR2_TARGET_ROOTFS_EXT2_BLOCKS_WRAP - bool - default y if BR2_TARGET_ROOTFS_EXT2_BLOCKS != 0 && \ - BR2_TARGET_ROOTFS_EXT2_BLOCKS != 61440 # deprecated default value +config BR2_PACKAGE_CVS + bool "cvs has been removed" select BR2_LEGACY + help + The cvs project was no longer maintained upstream, broken + with GCC 14.x, so it was removed. -# Note: BR2_TARGET_ROOTFS_EXT2_BLOCKS_WRAP still referenced in fs/ext2/Config.in +config BR2_PACKAGE_CRIU + bool "criu has been removed" + select BR2_LEGACY + help + criu was removed from Buildroot as it was insufficiently + maintained. It can be re-added if someone volunteers to + maintain it. -config BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES - int "ext2 extra inodes has been removed" if BR2_TARGET_ROOTFS_EXT2_INODES = 0 - default 0 +config BR2_PACKAGE_GCONF + bool "gconf package removed" + select BR2_LEGACY help - Buildroot now uses mkfs.ext2/3/4 to generate ext2/3/4 - images. It now automatically selects the number of inodes - based on the image size. The extra number of inodes can no - longer be provided; instead, provide the total number of - inodes needed in BR2_TARGET_ROOTFS_EXT2_INODES. + gconf was no longer maintained upstream, so it has been + dropped. -config BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES_WRAP - bool - default y if BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES != 0 +config BR2_PACKAGE_LIBSVG + bool "libsvg package removed" select BR2_LEGACY + help + The libsvg package has been removed. Its latest upstream + release was from 2005, it was incompatible with recent + libxml2 versions, and it wasn't used by any other Buildroot + package except libsvg-cairo, also removed. -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CDXAPARSE - bool "cdxaparse removed" +config BR2_PACKAGE_LIBSVG_CAIRO + bool "libsvg-cairo package removed" select BR2_LEGACY + help + The libsvg-cairo package has been removed. Its latest + upstream release was from 2005, and it wasn't used by any + other Buildroot package. -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DATAURISRC - bool "dataurisrc moved to gstreamer1" +config BR2_PACKAGE_XDRIVER_XF86_INPUT_MOUSE + bool "xf86-input-mouse removed" select BR2_LEGACY help - Dataurisrc has moved to gstreamer core and is always built. + Linux support was removed upstream in version + 2.0.0. Upstream recommends to switch to xf86-input-evdev or + xf86-input-libinput. -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DCCP - bool "dccp removed" +config BR2_PACKAGE_HOST_JSMIN + bool "host-jsmin has been removed" select BR2_LEGACY + help + JSMin is no longer maintained and better alternative + exists since then. -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HDVPARSE - bool "hdvparse removed" +config BR2_PACKAGE_JSMIN + bool "jsmin has been removed" select BR2_LEGACY + help + JSMin is no longer maintained and better alternative + exists since then. -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MVE - bool "mve removed" +config BR2_PACKAGE_VUEJS_ROUTER + bool "vuejs-router has been removed" select BR2_LEGACY + help + JS libraries are no longer part of Buildroot packages. -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NUVDEMUX - bool "nuvdemux removed" +config BR2_PACKAGE_VUEJS + bool "vuejs has been removed" select BR2_LEGACY + help + JS libraries are no longer part of Buildroot packages. -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PATCHDETECT - bool "patchdetect removed" +config BR2_PACKAGE_VIS_NETWORK + bool "vis-network has been removed" select BR2_LEGACY + help + JS libraries are no longer part of Buildroot packages. -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDI - bool "sdi removed" +config BR2_PACKAGE_OPENLAYERS + bool "openlayers has been removed" select BR2_LEGACY + help + JS libraries are no longer part of Buildroot packages. -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTA - bool "tta removed" +config BR2_PACKAGE_JSZIP + bool "jszip has been removed" select BR2_LEGACY + help + JS libraries are no longer part of Buildroot packages. -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOMEASURE - bool "videomeasure removed" - select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IQA +config BR2_PACKAGE_JSON_JAVASCRIPT + bool "json-javascript has been removed" select BR2_LEGACY help - videomeasure plugin has been removed and has been replaced by - iqa, which has automatically been enabled. + JS libraries are no longer part of Buildroot packages. -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_APEXSINK - bool "apexsink removed" +config BR2_PACKAGE_JQUERY_VALIDATION + bool "jquery-validation has been removed" select BR2_LEGACY + help + JS libraries are no longer part of Buildroot packages. -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDL - bool "sdl removed" +config BR2_PACKAGE_JQUERY_UI_THEMES + bool "jquery-ui-themes has been removed" select BR2_LEGACY + help + JS libraries are no longer part of Buildroot packages. -config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MAD - bool "mad (*.mp3 audio) removed" +config BR2_PACKAGE_JQUERY_UI + bool "jquery-ui has been removed" select BR2_LEGACY + help + JS libraries are no longer part of Buildroot packages. -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTC - bool "gst1-plugins-bad webrtc renamed to webrtcdsp" - select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTCDSP +config BR2_PACKAGE_JQUERY_SPARK + bool "jquery-spark has been removed" select BR2_LEGACY help - The WebRTC plugin in GStreamer 1.x has always been named - webrtcdsp, but was wrongly introduced in Buildroot under the - name webrtc. Therefore, we have renamed the option to match - the actual name of the GStreamer plugin. + JS libraries are no longer part of Buildroot packages. -config BR2_STRIP_none - bool "Strip command 'none' has been removed" +config BR2_PACKAGE_JQUERY_SIDEBAR + bool "jquery-sidebar has been removed" select BR2_LEGACY help - The strip command choice has been changed into a single - boolean option. Please check that the new setting is - correct (in the "Build options" sub-menu) + JS libraries are no longer part of Buildroot packages. -config BR2_PACKAGE_BEECRYPT_CPP - bool "C++ support removed in beecrypt" +config BR2_PACKAGE_JQUERY_MOBILE + bool "jquery-mobile has been removed" select BR2_LEGACY help - Support for C++ depends on icu. The beecrypt package is - incompatible with icu 59+. + JS libraries are no longer part of Buildroot packages. -config BR2_PACKAGE_SPICE_CLIENT - bool "spice client support removed" +config BR2_PACKAGE_JQUERY_KEYBOARD + bool "jquery-keyboard has been removed" select BR2_LEGACY help - Spice client support has been removed upstream. The - functionality now lives in the spice-gtk widget and - virt-viewer. + JS libraries are no longer part of Buildroot packages. -config BR2_PACKAGE_SPICE_GUI - bool "spice gui support removed" +config BR2_PACKAGE_JQUERY_DATETIMEPICKER + bool "jquery-datetimepicker has been removed" select BR2_LEGACY help - Spice gui support has been removed upstream. The - functionality now lives in the spice-gtk widget and - virt-viewer. + JS libraries are no longer part of Buildroot packages. -config BR2_PACKAGE_SPICE_TUNNEL - bool "spice network redirection removed" +config BR2_PACKAGE_JQUERY + bool "jquery has been removed" select BR2_LEGACY help - Spice network redirection, aka tunnelling has been removed - upstream. + JS libraries are no longer part of Buildroot packages. -config BR2_PACKAGE_INPUT_TOOLS - bool "input-tools removed" +config BR2_PACKAGE_FORGE + bool "forge has been removed" select BR2_LEGACY - select BR2_PACKAGE_LINUXCONSOLETOOLS help - input-tools has been removed, it is replaced by - linuxconsoletools, which has automatically been enabled. + JS libraries are no longer part of Buildroot packages. -config BR2_PACKAGE_INPUT_TOOLS_INPUTATTACH - bool "inputattach moved to linuxconsoletools" +config BR2_PACKAGE_FLOT + bool "flot has been removed" select BR2_LEGACY - select BR2_PACKAGE_LINUXCONSOLETOOLS - select BR2_PACKAGE_LINUXCONSOLETOOLS_INPUTATTACH help - input-tools has been removed, inputattach is now part - of linuxconsoletools, which has automatically been - enabled. + JS libraries are no longer part of Buildroot packages. -config BR2_PACKAGE_INPUT_TOOLS_JSCAL - bool "jscal moved to linuxconsoletools" +config BR2_PACKAGE_EXPLORERCANVAS + bool "explorercanvas has been removed" select BR2_LEGACY - select BR2_PACKAGE_LINUXCONSOLETOOLS - select BR2_PACKAGE_LINUXCONSOLETOOLS_JOYSTICK help - input-tools has been removed, jscal is now part - of linuxconsoletools, which has automatically been - enabled. + JS libraries are no longer part of Buildroot packages. -config BR2_PACKAGE_INPUT_TOOLS_JSTEST - bool "jstest moved to linuxconsoletools" +config BR2_PACKAGE_DATATABLES_RESPONSIVE + bool "datatables-responsive has been removed" select BR2_LEGACY - select BR2_PACKAGE_LINUXCONSOLETOOLS - select BR2_PACKAGE_LINUXCONSOLETOOLS_JOYSTICK help - input-tools has been removed, jstest is now part - of linuxconsoletools, which has automatically been - enabled. + JS libraries are no longer part of Buildroot packages. -config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH - bool "SH Sourcery toolchain has been removed" +config BR2_PACKAGE_DATATABLES_FIXEDCOLUMNS + bool "datatables-fixedcolumns has been removed" select BR2_LEGACY help - The Sourcery CodeBench toolchain for the sh architecture has - been removed, since it uses glibc older than 2.17 that requires - -lrt to link executables using clock_* system calls. This makes - this toolchain difficult to maintain over time. + JS libraries are no longer part of Buildroot packages. -config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 - bool "x86 Sourcery toolchain has been removed" +config BR2_PACKAGE_DATATABLES_BUTTONS + bool "datatables-buttons has been removed" select BR2_LEGACY help - The Sourcery CodeBench toolchain for the x86 architecture has - been removed, since it uses glibc older than 2.17 that requires - -lrt to link executables using clock_* system calls. This makes - this toolchain difficult to maintain over time. + JS libraries are no longer part of Buildroot packages. -config BR2_GCC_VERSION_4_8_X - bool "gcc 4.8.x support removed" +config BR2_PACKAGE_DATATABLES + bool "datatables has been removed" select BR2_LEGACY help - Support for gcc version 4.8.x has been removed. The current - default version (5.x or later) has been selected instead. + JS libraries are no longer part of Buildroot packages. -############################################################################### -comment "Legacy options removed in 2017.05" +config BR2_PACKAGE_CHARTJS + bool "chartjs has been removed" + select BR2_LEGACY + help + JS libraries are no longer part of Buildroot packages. -config BR2_PACKAGE_SUNXI_MALI_R2P4 - bool "sunxi-mali r2p4 removed" +config BR2_PACKAGE_BOOTSTRAP + bool "bootstrap has been removed" select BR2_LEGACY help - sunxi-mali libMali for r2p4 Mali kernel module has been - removed since the libump package only provides libUMP.so.3. - libMali for r2p4 Mali kernel module requires libUMP.so.2. + JS libraries are no longer part of Buildroot packages. -config BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT - bool "CoffeeScript option has been removed" +config BR2_PACKAGE_SOFTETHER + bool "softether has been removed" select BR2_LEGACY help - The option to enable NodeJS CoffeeScript has been removed. - To continue using it, add "coffee-script" to - BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL. + The version packaged in Buildroot version was outdated + compared to upstream and no longer maintained by anyone + listed in the DEVELOPERS file. -config BR2_PACKAGE_NODEJS_MODULES_EXPRESS - bool "Express web application framework option has been removed" +config BR2_PACKAGE_RPI_USERLAND + bool "rpi-userland has been removed" select BR2_LEGACY help - The option to enable the NodeJS Express web application - framework has been removed. To continue using it, add - "express" to BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL. + According to https://github.com/raspberrypi/userland, "This + repo is ancient and deprecated. [...] If you are using code + from here you should rethink your solution.". -config BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL - bool "bluez5_utils gatttool install option removed" - select BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_DISPMANX + bool "gst1-plugins-base dispmanx option removed" + select BR2_LEGACY help - The option to install gatttool specifically has been removed. - Since version 5.44 gatttool is in the list of deprecated - tools. The option to build and install deprecated tools has - been automatically enabled. + Due to the removal of the rpi-userland package, the dispmanx + OpenGL plug-in from GStreamer plugin base has been removed. -config BR2_PACKAGE_OPENOCD_FT2XXX - bool "openocd ft2232 support has been removed" - select BR2_PACKAGE_OPENOCD_FTDI +config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG + bool "rpi-firmware vcdbg option removed" select BR2_LEGACY help - FT2232 support in OpenOCD has been removed, it's replaced by - FDTI support, which has automatically been enabled. + rpi-firmware upstream has dropped the vcdbg tool -config BR2_PACKAGE_KODI_RTMPDUMP - bool "kodi rtmp has been removed" +config BR2_PACKAGE_LIBDNET_PYTHON + bool "libdnet python module removed" select BR2_LEGACY - select BR2_PACKAGE_KODI_INPUTSTREAM_RTMP help - Internal rtmp support was removed from Kodi. + The libdnet Python module is no longer compatible with + Python >= 3.13, so it had to be removed. -config BR2_PACKAGE_KODI_VISUALISATION_FOUNTAIN - bool "kodi-visualisation-fountain has been removed" +config BR2_PACKAGE_LIBFREEIMAGE + bool "libfreeimage" select BR2_LEGACY help - According to upstream 'the visualization is not currently - in a working shape.' + libfreeimage is unmaintained and has been removed -config BR2_PACKAGE_PORTMAP - bool "portmap has been removed" +config BR2_PACKAGE_OPENCV3 + bool "opencv3" select BR2_LEGACY - select BR2_PACKAGE_RPCBIND help - The portmap upstream tarball is removed, no releases since - ten years and latest change in upstream git in 2014. - You should better use rpcbind as a RPC portmapper. + opencv3 is unmaintained and has been removed -config BR2_BINUTILS_VERSION_2_25_X - bool "binutils version 2.25 support removed" +config BR2_PACKAGE_VLC_OPENCV3_BACKEND + bool "opencv3 support in vlc has been removed" select BR2_LEGACY help - Support for binutils version 2.25 has been removed. The - current default version (2.27 or later) has been selected - instead. + OpenCV3 support in VLC has been reported, as OpenCV has been + removed. -config BR2_TOOLCHAIN_BUILDROOT_INET_RPC - bool "uclibc RPC support has been removed" +config BR2_PACKAGE_CPPDB + bool "cppdb has been removed" select BR2_LEGACY help - uClibc-ng removed internal RPC implementation in 1.0.23. You - should use libtirpc instead. + cppdb was no longer maintained upstream, and therefore was + removed. -config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS - int "extra size in blocks has been removed" - default 0 +config BR2_PACKAGE_PYTHON_AIOREDIS + bool "python-aioredis has been removed" + select BR2_LEGACY + select BR2_PACKAGE_PYTHON_REDIS help - Since the support for auto calculation of the filesystem size has been - removed, this option is now useless and must be 0. - You may want to check that BR2_TARGET_ROOTFS_EXT2_BLOCKS matchs - your needs. + python-aioredis was abandoned upstream and replaced by + python-redis -config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS_WRAP - bool - default y if BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS != 0 +config BR2_PACKAGE_LIBCUEFILE + bool "libcuefile has been removed" select BR2_LEGACY + help + libcuefile is unmaintained and has been removed -config BR2_PACKAGE_SYSTEMD_KDBUS - bool "systemd-kdbus has been removed" +config BR2_PACKAGE_MPD_MUSEPACK + bool "musepack support in mpd has been removed" select BR2_LEGACY help - --enable/disable-kdbus configure option has been removed since - systemd-231. + musepack package is unmaintained and has been removed -config BR2_PACKAGE_POLARSSL - bool "polarssl has been removed" +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MUSEPACK + bool "musepack support in gst1-plugins-bad has been removed" select BR2_LEGACY help - The polarssl crypto library has been removed since the 1.2.x - release branch is no longer maintained. Newer upstream - branches/releases (mbedtls) have API changes so they're not - drop-in replacements. + musepack package is unmaintained and has been removed -config BR2_NBD_CLIENT - bool "nbd client option was renamed" +config BR2_PACKAGE_MUSEPACK + bool "musepack has been removed" select BR2_LEGACY - select BR2_PACKAGE_NBD_CLIENT help - The nbd client option has been renamed to BR2_PACKAGE_NBD_CLIENT. + musepack is unmaintained and has been removed -config BR2_NBD_SERVER - bool "nbd server option was renamed" +config BR2_PACKAGE_RACEHOUND + bool "racehound has been removed" select BR2_LEGACY - select BR2_PACKAGE_NBD_SERVER help - The nbd server option has been renamed to BR2_PACKAGE_NBD_SERVER. + racehound is unmaintained and has been removed -config BR2_PACKAGE_GMOCK - bool "gmock merged into gtest package" +config BR2_PACKAGE_TASKD + bool "taskd has been removed" select BR2_LEGACY - select BR2_PACKAGE_GTEST - select BR2_PACKAGE_GTEST_GMOCK help - GMock is now a suboption of the GTest package. + taskd was deprecated upstream and has been removed -config BR2_KERNEL_HEADERS_4_8 - bool "kernel headers version 4.8.x are no longer supported" - select BR2_KERNEL_HEADERS_4_4 +config BR2_PACKAGE_SCONESERVER + bool "sconeserver has been removed" select BR2_LEGACY help - Version 4.8.x of the Linux kernel headers are no longer - maintained upstream and are now removed. As an alternative, - version 4.4.x of the headers have been automatically - selected in your configuration. + sconeserver is unmaintained and has been removed -config BR2_KERNEL_HEADERS_3_18 - bool "kernel headers version 3.18.x are no longer supported" - select BR2_KERNEL_HEADERS_3_12 +config BR2_PACKAGE_QJSON + bool "qjson has been removed" select BR2_LEGACY help - Version 3.18.x of the Linux kernel headers are no longer - maintained upstream and are now removed. As an alternative, - version 3.12.x of the headers have been automatically - selected in your configuration. + qjson was deprecated upstream and has been removed -config BR2_GLIBC_VERSION_2_22 - bool "glibc 2.22 removed" +config BR2_PACKAGE_OPENTRACING_CPP + bool "opentracing-cpp has been removed" select BR2_LEGACY help - Support for glibc version 2.22 has been removed. The current - default version has been selected instead. - -############################################################################### -comment "Legacy options removed in 2017.02" + opentracing-cpp was deprecated upstream and has been removed -config BR2_PACKAGE_PERL_DB_FILE - bool "perl-db-file removed" +config BR2_PACKAGE_OPENPOWERLINK + bool "openpowerlink has been removed" select BR2_LEGACY - select BR2_PACKAGE_BERKELEYDB - select BR2_PACKAGE_PERL help - DB_File can be built as a core Perl module, so the separate - perl-db-file package has been removed. + openpowerlink is unmaintained and has been removed -config BR2_KERNEL_HEADERS_4_7 - bool "kernel headers version 4.7.x are no longer supported" - select BR2_KERNEL_HEADERS_4_4 +config BR2_PACKAGE_ALURE + bool "alure has been removed" select BR2_LEGACY help - Version 4.7.x of the Linux kernel headers are no longer - maintained upstream and are now removed. As an alternative, - version 4.4.x of the headers have been automatically - selected in your configuration. + alure is unmaintained and has been removed -config BR2_KERNEL_HEADERS_4_6 - bool "kernel headers version 4.6.x are no longer supported" - select BR2_KERNEL_HEADERS_4_4 +config BR2_PACKAGE_LIBUWSC + bool "libuwsc has been removed" select BR2_LEGACY help - Version 4.6.x of the Linux kernel headers are no longer - maintained upstream and are now removed. As an alternative, - version 4.4.x of the headers have been automatically - selected in your configuration. + libuwsc is unmaintained and has been removed -config BR2_KERNEL_HEADERS_4_5 - bool "kernel headers version 4.5.x are no longer supported" - select BR2_KERNEL_HEADERS_4_4 +config BR2_PACKAGE_LIBIQRF + bool "libiqrf has been removed" select BR2_LEGACY help - Version 4.5.x of the Linux kernel headers are no longer - maintained upstream and are now removed. As an alternative, - version 4.4.x of the headers have been automatically - selected in your configuration. + libiqrf is unmaintained and has been removed -config BR2_KERNEL_HEADERS_3_14 - bool "kernel headers version 3.14.x are no longer supported" - select BR2_KERNEL_HEADERS_3_12 +config BR2_PACKAGE_LIBCGI + bool "libcgi has been removed" select BR2_LEGACY - help - Version 3.14.x of the Linux kernel headers are no longer - maintained upstream and are now removed. As an alternative, - version 3.12.x of the headers have been automatically - selected in your configuration. + help + libcgi is unmaintained and has been removed -config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS - bool "musl-cross 1.1.12 toolchain removed" +config BR2_PACKAGE_LET_ME_CREATE + bool "let-me-create has been removed" select BR2_LEGACY help - The support for the prebuilt toolchain based on the Musl C - library provided by the musl-cross project has been removed. - Upstream doesn't provide any prebuilt toolchain anymore, use the - Buildroot toolchain instead. + let-me-create is unmaintained and has been removed -config BR2_UCLIBC_INSTALL_TEST_SUITE - bool "uClibc tests now in uclibc-ng-test" +config BR2_PACKAGE_HAWKTRACER + bool "hawktracer has been removed" select BR2_LEGACY - select BR2_PACKAGE_UCLIBC_NG_TEST help - The test suite of the uClibc C library has been moved into a - separate package, uclibc-ng-test. + hawktracer is unmaintained and has been removed -config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX - bool "Blackfin.uclinux.org 2014R1 toolchain removed" +config BR2_PACKAGE_CONNMAN_GTK + bool "connman-gtk has been removed" select BR2_LEGACY help - The ADI Blackfin toolchain has many bugs which are fixed in - more recent gcc and uClibc-ng releases. Use the Buildroot - toolchain instead. + connman-gtk is unmaintained and has been removed -config BR2_PACKAGE_MAKEDEVS - bool "makedevs removed" +config BR2_PACKAGE_LIBMHASH + bool "libmhash has been removed" select BR2_LEGACY help - The makedevs tool is part of busybox. The Buildroot fork - should not be used outside of the Buildroot infrastructure. + libmhash is unmaintained and has been removed -config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A - bool "Arago ARMv7 2011.09 removed" +config BR2_PACKAGE_DMRAID + bool "dmraid has been removed" select BR2_LEGACY help - The Arago toolchains are every old and not updated anymore. + dmraid is unmaintained and has been removed -config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE - bool "Arago ARMv5 2011.09 removed" +config BR2_PACKAGE_LIBNIDS + bool "libnids has been removed" select BR2_LEGACY help - The Arago toolchains are every old and not updated anymore. + libnids is unmaintained and has been removed -config BR2_PACKAGE_SNOWBALL_HDMISERVICE - bool "snowball-hdmiservice removed" +config BR2_TARGET_S500_BOOTLOADER + bool "s500-bootloader" select BR2_LEGACY help - We no longer have support for the Snowball platform in - Buildroot, so this package was no longer useful. + s500-bootloader package has been removed -config BR2_PACKAGE_SNOWBALL_INIT - bool "snowball-init removed" +config BR2_PACKAGE_OPENCV3_WITH_FFMPEG + bool "opencv3 ffmpeg support removed" select BR2_LEGACY help - We no longer have support for the Snowball platform in - Buildroot, so this package was no longer useful. + Support for OpenCV 3 ffmpeg support has been removed as it + was no longer compatible with recent versions of ffmpeg. -config BR2_GDB_VERSION_7_9 - bool "gdb 7.9 has been removed" +config BR2_PACKAGE_OPENCV3_WITH_PROTOBUF + bool "opencv3 protobuf support removed" select BR2_LEGACY help - The 7.9 version of gdb has been removed. Use a newer version - instead. - -############################################################################### -comment "Legacy options removed in 2016.11" + Support for OpenCV 3 protobuf support has been removed as it + was no longer compatible with recent versions of protobuf. -config BR2_PACKAGE_PHP_SAPI_CLI_CGI - bool "PHP CGI and CLI options are now seperate" - select BR2_PACKAGE_PHP_SAPI_CLI - select BR2_PACKAGE_PHP_SAPI_CGI +config BR2_PACKAGE_RESIPROCATE_APPS + bool "resiprocate apps support option removed" select BR2_LEGACY help - The PHP Interface options have been split up into a - separate option for each interface. + The build system does not contain an apps-specific option + anymore. -config BR2_PACKAGE_PHP_SAPI_CLI_FPM - bool "PHP CLI and FPM options are now separate" - select BR2_PACKAGE_PHP_SAPI_CLI - select BR2_PACKAGE_PHP_SAPI_FPM +config BR2_PACKAGE_WATCHDOGD_TEST_SUITE + bool "The watchdogd test mode option has been removed." select BR2_LEGACY help - The PHP Interface options have been split up into a - separate option for each interface. + watchdogd v4.1 removes the test mode and test suite. -config BR2_PACKAGE_WVSTREAMS - bool "wvstreams removed" +config BR2_KERNEL_HEADERS_6_17 + bool "kernel headers version 6.17.x are no longer supported" select BR2_LEGACY help - wvstreams is not maintained anymore since about 2009. It also - doesn't build anymore with recent compilers (GCC 5+). + Version 6.17.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_PACKAGE_WVDIAL - bool "wvdial removed" +config BR2_PACKAGE_MESA3D_VDPAU + bool "mesa3d Gallium VDPAU state tracker support removed" select BR2_LEGACY help - wvdial is not maintained anymore since about 2009. It also - doesn't build anymore with recent compilers (GCC 5+). + Mesa3d removed the Gallium VDPAU state tracker. -config BR2_PACKAGE_WEBKITGTK24 - bool "webkitgtk 2.4.x removed" +config BR2_BINUTILS_VERSION_2_42_X + bool "binutils 2.42 has been removed" select BR2_LEGACY help - This legacy package only existed because some other packages - depended on that specific version of webkitgtk. However, the - other packages have been fixed. webkitgtk 2.4 is full of - security issues so it needs to be removed. + binutils 2.42 has been removed, select a newer version + instead. -config BR2_PACKAGE_TORSMO - bool "torsmo removed" +config BR2_arceb + bool "ARC big endian support removed" select BR2_LEGACY help - torsmo has been unmaintained for a long time, and nobody - seems to be interested in it. + Synopsys' DesignWare ARC Processor Cores are a family of + 32-bit CPUs that can be used from deeply embedded to high + performance host applications. The big endian support was + not used nor maintained, so it was removed. -config BR2_PACKAGE_SSTRIP - bool "sstrip removed" +comment "Legacy options removed in 2025.11" + +config BR2_KERNEL_HEADERS_5_4 + bool "kernel headers version 5.4.x are no longer supported" select BR2_LEGACY help - sstrip is unmaintained and potentially harmful. It doesn't - save so much compared to normal binutils strip, and there is - a big risk of binaries that don't work. Use normal strip - instead. + Version 5.4.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_KERNEL_HEADERS_4_3 - bool "kernel headers version 4.3.x are no longer supported" - select BR2_KERNEL_HEADERS_4_1 +config BR2_PACKAGE_LIBARGTABLE2 + bool "libargtable2 has been removed" select BR2_LEGACY help - Version 4.3.x of the Linux kernel headers are no longer - maintained upstream and are now removed. As an alternative, - version 4.1.x of the headers have been automatically - selected in your configuration. + libargtable2 is unmaintained and has been removed -config BR2_KERNEL_HEADERS_4_2 - bool "kernel headers version 4.2.x are no longer supported" - select BR2_KERNEL_HEADERS_4_1 +config BR2_PACKAGE_OLA + bool "ola has been removed" select BR2_LEGACY help - Version 4.2.x of the Linux kernel headers are no longer - maintained upstream and are now removed. As an alternative, - version 4.1.x of the headers have been automatically - selected in your configuration. + ola is incompatible with current versions of protobuf -config BR2_PACKAGE_KODI_ADDON_XVDR - bool "kodi-addon-xvdr removed" +config BR2_PACKAGE_BATMAN_ADV_NC + bool "batman-adv removed network coding" select BR2_LEGACY help - According to the github project page: - https://github.com/pipelka/xbmc-addon-xvdr - this package is discontinued. + batman-adv removed B.A.T.M.A.N. network coding -config BR2_PACKAGE_IPKG - bool "ipkg removed" +config BR2_PACKAGE_DVBSNOOP + bool "dvbsnoop has been removed" select BR2_LEGACY help - ipkg dates back to the early 2000s when Compaq started the - handhelds.org project and it hasn't seen development since 2006. - Use opkg as a replacement. + dvbsnoop is unmaintained and has been removed -config BR2_GCC_VERSION_4_7_X - bool "gcc 4.7.x support removed" +config BR2_PACKAGE_PROCRANK_LINUX + bool "procrank_linux has been removed" select BR2_LEGACY help - Support for gcc version 4.7.x has been removed. The current - default version (4.9.x or later) has been selected instead. + procrank_linux is unmaintained and has been removed -config BR2_BINUTILS_VERSION_2_24_X - bool "binutils version 2.24 support removed" +config BR2_PACKAGE_MONGREL2 + bool "mongrel2 has been removed" select BR2_LEGACY help - Support for binutils version 2.24 has been removed. The - current default version (2.26 or later) has been selected - instead. + mongrel2 is incompatible with MbedTLS 3.6 and has been removed -config BR2_PACKAGE_WESTON_RPI - bool "Weston propietary RPI support is gone" +config BR2_PACKAGE_EXPECT + bool "expect has been removed" select BR2_LEGACY help - Upstream decided the propietary (rpi-userland) weston composer - support wasn't worth the effort so it was removed. Switch to - the open VC4 support. + expect is unmaintained and has been removed -config BR2_LINUX_KERNEL_TOOL_CPUPOWER - bool "linux-tool cpupower" - depends on BR2_LINUX_KERNEL +config BR2_PACKAGE_BCTOOLBOX + bool "bctoolbox has been removed" select BR2_LEGACY - select BR2_PACKAGE_LINUX_TOOLS_CPUPOWER help - Linux tool cpupower option was renamed. + This package has been removed as part of the linphone + removal. In addition, newer version of linphone directly + bundle bctoolbox making a separate package unnecessary. -config BR2_LINUX_KERNEL_TOOL_PERF - bool "linux-tool perf" - depends on BR2_LINUX_KERNEL +config BR2_PACKAGE_ORTP + bool "ortp has been removed" select BR2_LEGACY - select BR2_PACKAGE_LINUX_TOOLS_PERF help - Linux tool perf option was renamed. + This package has been removed as part of the linphone + removal. In addition, newer version of linphone directly + bundle ortp making a separate package unnecessary. -config BR2_LINUX_KERNEL_TOOL_SELFTESTS - bool "linux-tool selftests" - depends on BR2_LINUX_KERNEL +config BR2_PACKAGE_MEDIASTREAMER + bool "mediastreamer has been removed" select BR2_LEGACY - select BR2_PACKAGE_LINUX_TOOLS_SELFTESTS help - Linux tool selftests option was renamed. + This package has been removed as part of the linphone + removal. In addition, newer version of linphone directly + bundle mediastreamer making a separate package unnecessary. -config BR2_GCC_VERSION_4_8_ARC - bool "gcc arc option renamed" +config BR2_PACKAGE_BELR + bool "belr has been removed" select BR2_LEGACY - select BR2_GCC_VERSION_ARC help - The option that selects the gcc version for the ARC - architecture has been renamed to BR2_GCC_VERSION_ARC. + This package has been removed as part of the linphone + removal. In addition, newer version of linphone directly + bundle belr making a separate package unnecessary. -config BR2_KERNEL_HEADERS_4_0 - bool "kernel headers version 4.0.x are no longer supported" - select BR2_KERNEL_HEADERS_3_12 +config BR2_PACKAGE_BELLE_SIP + bool "belle-sip has been removed" select BR2_LEGACY help - Version 4.0.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.12.x of the headers have been - automatically selected in your configuration. + This package has been removed as part of the linphone + removal. In addition, newer version of linphone directly + bundle belle-sip making a separate package unnecessary. -config BR2_KERNEL_HEADERS_3_19 - bool "kernel headers version 3.19.x are no longer supported" - select BR2_KERNEL_HEADERS_3_12 +config BR2_PACKAGE_LINPHONE + bool "linphone has been removed" select BR2_LEGACY help - Version 3.19.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.12.x of the headers have been - automatically selected in your configuration. + This package was no longer maintained in Buildroot and was + no longer building. It can be re-added if someone volunteers + to fix the issues, update the package and maintain it. -config BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS - bool "libevas-generic-loaders package removed" +config BR2_PACKAGE_LIBJWT + bool "libjwt has been removed" select BR2_LEGACY - select BR2_PACKAGE_EFL help - With EFL 1.18, libevas-generic-loaders is now provided by the efl - package. + The only dependee of libjwt, asterisk, is incompatible with + version 3 so the version bundled with asterisk is used and + this package has been removed. -config BR2_PACKAGE_ELEMENTARY - bool "elementary package removed" +config BR2_PACKAGE_RAMSPEED + bool "ramspeed has been removed" select BR2_LEGACY - select BR2_PACKAGE_EFL help - With EFL 1.18, elementary is now provided by the efl package. + The ramspeed package was removed as it is not maintained + anymore and the upstream repo is gone. -config BR2_LINUX_KERNEL_CUSTOM_LOCAL - bool "Linux kernel local directory option removed" +config BR2_PACKAGE_LESSTIF + bool "lesstif has been removed" + select BR2_LEGACY help - The option to select a local directory as the source of the Linux - kernel has been removed. It hurts reproducibility of builds. + lesstif is unmaintained and has been removed - In case you were using this option during development of your - Linux kernel, use the override mechanism instead. +config BR2_KERNEL_HEADERS_6_16 + bool "kernel headers version 6.16.x are no longer supported" + select BR2_LEGACY + help + Version 6.16.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -############################################################################### -comment "Legacy options removed in 2016.08" +config BR2_PACKAGE_MURATA_CYW_FW_CYW4339_1CK + bool "This firmware has been removed" + select BR2_LEGACY + help + This firmware has been removed from Murata package -config BR2_PACKAGE_EFL_JP2K - bool "libevas jp2k loader has been removed" +config BR2_PACKAGE_MURATA_CYW_FW_CYW4339_ZP + bool "BR2_PACKAGE_MURATA_CYW_FW_CYW4339_ZP has been renamed" select BR2_LEGACY + select BR2_PACKAGE_MURATA_CYW_FW_CYW4339 help - JP2K support in EFL requires openjpeg 1.x (libopenjpeg1.pc) - while Buildroot only packages openjpeg 2.x. Therefore, the - JP2K loader has been removed from EFL. + The option has been renamed to + BR2_PACKAGE_MURATA_CYW_FW_CYW4339 -config BR2_PACKAGE_SYSTEMD_COMPAT - bool "systemd compatibility libraries have been removed" +config BR2_PACKAGE_LIBBSON + bool "libbson has been removed" select BR2_LEGACY help - The systemd option to enable the compatibility libraries has - been removed. Theses libraries have been useless since a few - version, and have been fully dropped from the source since - v230. + libbson is officially deprecated upstream and has been removed -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIVEADDER - bool "gst1-plugins-bad liveadder plugin removed" +config BR2_TARGET_ROOTFS_AXFS + bool "AXFS root filesystem has been removed" select BR2_LEGACY - select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXER help - The functionality of the liveadder plugin of the - gst1-plugins-bad package has been merged into audiomixer. + AXFS root filesystem support has been removed. -config BR2_PACKAGE_LIBFSLVPUWRAP - bool "libfslvpuwrap has been renamed to imx-vpuwrap" +config BR2_PACKAGE_LOGSURFER + bool "logsurfer has been removed" select BR2_LEGACY - select BR2_PACKAGE_IMX_VPUWRAP help - The libfslvpuwrap has been renamed to match the renamed package. + Logsurfer last updates was on 2011 and fails to build with + GCC14. -config BR2_PACKAGE_LIBFSLPARSER - bool "libfslparser has been renamed to imx-parser" +config BR2_LINUX_KERNEL_EXT_FBTFT + bool "FB TFT drivers are deprecated" select BR2_LEGACY - select BR2_PACKAGE_IMX_PARSER help - The libfslparser has been renamed to match the renamed package. + FB TFT drivers were only needed for linux kernels until v3.19, + since v4.0 the drivers are included in the staging area. -config BR2_PACKAGE_LIBFSLCODEC - bool "libfslcodec has been renamed to imx-codec" +config BR2_PACKAGE_DMENU_WAYLAND + bool "dmenu-wayland has been removed" select BR2_LEGACY - select BR2_PACKAGE_IMX_CODEC help - The libfslcodec has been renamed to match the renamed package. + The package has been abandoned for several years. + The only package that previously relied on dmenu-wayland + was sway, and that now relies on wmenu. Please select + wmenu instead. -config BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE_FIT_SIGNATURE_SUPPORT - bool "FIT support in uboot-tools has been refactored" +config BR2_PACKAGE_SYLPHEED + bool "sylpheed has been removed" select BR2_LEGACY - select BR2_PACKAGE_DTC - select BR2_PACKAGE_DTC_PROGRAMS - select BR2_PACKAGE_UBOOT_TOOLS_FIT_SUPPORT - select BR2_PACKAGE_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT - select BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE help - This option has been removed in favor of a more fine-grained - configuration, which is recommended. Selecting this option - enables FIT and FIT signature support for the target packages. - It will also select the dtc and openssl packages. + Due to the removal of libgtk2, the sylpheed package has been + removed. -config BR2_PTHREADS_OLD - bool "linuxthreads (stable/old)" +config BR2_PACKAGE_PINENTRY_GTK2 + bool "gtk2 backend of pinentry has been removed" select BR2_LEGACY help - Linuxthreads have been reworked, BR2_PTHREADS_OLD is now - BR2_PTHREADS and the old BR2_PTHREADS - LT.new got removed. + Due to the removal of libgtk2, the gtk2 backend of pinentry + has been removed. -config BR2_BINUTILS_VERSION_2_23_X - bool "binutils 2.23 removed" +config BR2_PACKAGE_OPENCV4_WITH_GTK + bool "opencv4 gtk support has been removed" select BR2_LEGACY help - Binutils 2.23 has been removed, using a newer version is - recommended. + Due to the removal of libgtk2, the gtk support of opencv4 + has been removed. gtk3 support is still available. -config BR2_TOOLCHAIN_BUILDROOT_EGLIBC - bool "eglibc support has been removed" +config BR2_PACKAGE_OPENCV3_WITH_GTK + bool "opencv3 gtk support has been removed" select BR2_LEGACY help - The eglibc project no longer exists, as it has been merged - back into the glibc project. Therefore, support for eglibc - has been removed, and glibc should be used instead. + Due to the removal of libgtk2, the gtk support of opencv3 + has been removed. gtk3 support is still available. -config BR2_GDB_VERSION_7_8 - bool "gdb 7.8 has been removed" +config BR2_PACKAGE_NETSURF_GTK + bool "gtk frontend of netsurf has been removed" select BR2_LEGACY help - The 7.8 version of gdb has been removed. Use a newer version - instead. - -############################################################################### -comment "Legacy options removed in 2016.05" + Due to the removal of libgtk2, the gtk frontend of netsurf + has been removed. The gtk3 frontend can be used instead for + example. -config BR2_PACKAGE_OPENVPN_CRYPTO_POLARSSL - bool "openvpn polarssl crypto backend removed" +config BR2_PACKAGE_METACITY + bool "metacity has been removed" select BR2_LEGACY help - The OpenVPN polarssl crypto backend option has been removed. - Version from 2.3.10 onwards need polarssl >= 1.3.8 but aren't - compatible with mbedtls (polarssl) series 2.x which is the - version provided in buildroot. And both can't coexist. - It now uses OpenSSL as the only option. + The metacity package has been removed, as libgtk2 has been + removed as well. - -config BR2_PACKAGE_NGINX_HTTP_SPDY_MODULE - bool "nginx http spdy module removed" +config BR2_PACKAGE_LIBSEXY + bool "libsexy has been removed" select BR2_LEGACY - select BR2_PACKAGE_NGINX_HTTP_V2_MODULE help - The ngx_http_spdy_module has been superseded by the - ngx_http_v2_module since nginx v1.9.5. The - ngx_http_v2_module modules has been automatically selected - in your configuration. + The libsexy package has been removed, as libgtk2 has been + removed as well. -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTP - bool "gst1-plugins-bad rtp plugin moved to good" +config BR2_PACKAGE_LIBGLADE + bool "libglade has been removed" select BR2_LEGACY help - The rtp plugin has been moved from gst1-plugins-base to - gst1-plugins-good. + The libglade package has been removed, as libgtk2 has been + removed as well. -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPG123 - bool "gst1-plugins-bad mpg123 plugin moved to ugly" +config BR2_PACKAGE_LEAFPAD + bool "leafpad has been removed" select BR2_LEGACY help - The mpg123 plugin has been moved from gst1-plugins-bad to - gst1-plugins-ugly. + The leafpad package has been removed, as libgtk2 has been + removed as well. -config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC - bool "PowerPC Sourcery toolchain has been removed" +config BR2_PACKAGE_GTKPERF + bool "gtkperf has been removed" select BR2_LEGACY help - The Sourcery CodeBench toolchain for the PowerPC - architecture has been removed, as it was very old, not - maintained, and causing numerous build failures with modern - userspace packages. + The gtkperf package has been removed, as libgtk2 has been + removed as well. -config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC_E500V2 - bool "PowerPC Sourcery E500v2 toolchain has been removed" +config BR2_PACKAGE_GTK2_ENGINES + bool "gtk2-engines has been removed" select BR2_LEGACY help - The Sourcery CodeBench toolchain for the PowerPC E500v2 - architecture has been removed, as it was very old, not - maintained, and causing numerous build failures with modern - userspace packages. + The gtk2-engines package has been removed, as libgtk2 has + been removed as well. -config BR2_x86_i386 - bool "x86 i386 support removed" +config BR2_PACKAGE_GKRELLM_CLIENT + bool "gkrellm client has been removed" select BR2_LEGACY help - The support for the i386 processors of the x86 architecture - has been removed. + The gkrellm client option has been removed, as it required + libgtk2, which was removed from Buildroot. -config BR2_PACKAGE_QT5WEBKIT_EXAMPLES - bool "qt5webkit-examples package removed" +config BR2_PACKAGE_CWIID_WMGUI + bool "cwiid wmgui has been removed" select BR2_LEGACY help - The qt5webkit-examples package has been removed, since it - was removed from upstream starting from Qt 5.6. + The wmgui part of cwiid required libgtk2, which has been + removed from Buildroot. -config BR2_PACKAGE_QT5QUICK1 - bool "qt5quick1 package removed" +config BR2_LINUX_KERNEL_EXT_AUFS + bool "Aufs Filesystem Module patch has been removed" select BR2_LEGACY help - The qt5quick1 package has been removed, since it was removed - from upstream starting from Qt 5.6. + aufs kernel module patch is unmaintained and has been + removed. -config BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR - string "uboot custom patch dir has been removed" +config BR2_PACKAGE_AUFS_UTIL + bool "aufs-util has been removed" + select BR2_LEGACY help - The uboot custom patch directory option has been removed. Use - the improved BR2_TARGET_UBOOT_PATCH option instead. + aufs-util package is unmaintained and has been removed. -config BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR_WRAP - bool - default y if BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR != "" +config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB + bool "Linaro armeb 2018.05 external toolchain is deprecated" select BR2_LEGACY + help + Linaro armeb 2018.05 is no longer maintained and has been + removed from Buildroot. -# Note: BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR is still referenced from -# boot/uboot/Config.in - -config BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID - bool "xf86-input-void removed" +config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM + bool "Linaro ARM 2018.05 external toolchain is deprecated" select BR2_LEGACY help - The xf86-input-void package has been removed, there's no need - for it in any modern (post-2007) xorg server. + Linaro ARM 2018.05 is no longer maintained and has been + removed from Buildroot. -config BR2_KERNEL_HEADERS_3_17 - bool "kernel headers version 3.17.x are no longer supported" - select BR2_KERNEL_HEADERS_3_12 +config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE + bool "Linaro AArch64 BE 2018.05 external toolchain is deprecated" select BR2_LEGACY help - Version 3.17.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.12.x of the headers have been - automatically selected in your configuration. + Linaro AArch64 2018.05 BE is no longer maintained and has been + removed from Buildroot. -config BR2_GDB_VERSION_7_7 - bool "gdb 7.7 has been removed" +config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64 + bool "Linaro AArch64 2018.05 external toolchain is deprecated" select BR2_LEGACY help - The 7.7 version of gdb has been removed. Use a newer version - instead. + Linaro AArch64 2018.05 is no longer maintained and has been + removed from Buildroot. -config BR2_PACKAGE_FOOMATIC_FILTERS - bool "foomatic-filters" +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS + bool "Sourcery CodeBench MIPS external toolchain is deprecated" select BR2_LEGACY help - The foomatic-filters package was removed. + Sourcery CodeBench MIPS 2016.05 is no longer maintained + and has been removed from Buildroot. -config BR2_PACKAGE_SAMBA - bool "samba" +config BR2_LINUX_KERNEL_EXT_EV3DEV_LINUX_DRIVERS + bool "ev3dev Linux drivers have been removed" select BR2_LEGACY help - The samba package was removed in favour of samba4 since the - 3.x series isn't supported by upstream any longer. + Linux drivers for LEGO MINDSTORMS EV3 from the ev3dev project + are targeting an outdated kernel which is no longer supported. -config BR2_PACKAGE_KODI_WAVPACK - bool "wavpack" +comment "Legacy options removed in 2025.08" + +config BR2_PACKAGE_NETSTAT_NAT + bool "netstat-nat has been removed" select BR2_LEGACY help - wavpack support was removed in favour of ffmpeg: - https://github.com/xbmc/xbmc/commit/7916902c9e6f7a523265594f3ad7f921f93f1cd4 + The upstream URL is gone and netstat-nat has been removed + from Buildroot. -config BR2_PACKAGE_KODI_RSXS - bool "rsxs support in Kodi was moved to an addon" +config BR2_PACKAGE_LIGHTTPD_LIBEV + bool "lighttpd removed libev support" select BR2_LEGACY - select BR2_PACKAGE_KODI_SCREENSAVER_RSXS help - rsxs support in Kodi was moved to an addon + Lighttpd 1.4.80 removed optional libev support. -config BR2_PACKAGE_KODI_GOOM - bool "Goom support in Kodi was moved to an addon" +config BR2_PACKAGE_LIBSVGTINY + bool "libsvgtiny has been removed" select BR2_LEGACY - select BR2_PACKAGE_KODI_VISUALISATION_GOOM help - Goom support in Kodi was moved to an addon + Libsvgtiny has been removed from Buildroot. -config BR2_PACKAGE_SYSTEMD_ALL_EXTRAS - bool "systemd all extras option has been removed" +config BR2_PACKAGE_THTTPD + bool "thttpd has been removed" select BR2_LEGACY - select BR2_PACKAGE_XZ - select BR2_PACKAGE_LIBGCRYPT help - The systemd option to enable "all extras" has been - removed. To get the same features, the libgcrypt and xz - package should now be enabled. + thttpd is no longer maintained actively by upstream and has + been removed from Buildroot. -config BR2_GCC_VERSION_4_5_X - bool "gcc 4.5.x has been removed" +config BR2_KERNEL_HEADERS_6_15 + bool "kernel headers version 6.15.x are no longer supported" select BR2_LEGACY help - The 4.5.x version of gcc has been removed. Use a newer - version instead. + Version 6.15.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_PACKAGE_SQLITE_READLINE - bool "sqlite command-line editing support was updated" - select BR2_PACKAGE_NCURSES - select BR2_PACKAGE_READLINE +config BR2_PACKAGE_LIBCURL_BEARSSL + bool "libcurl removed BearSSL support" select BR2_LEGACY help - This option was removed in favour of the sqlite package - deciding itself depending on the enabled packages whether - command-line editing should be enabled, it also also takes - libedit into account. + Libcurl removed optional BearSSL support. -############################################################################### -comment "Legacy options removed in 2016.02" +config BR2_PACKAGE_LIBOLM + bool "libolm has been removed" + select BR2_LEGACY + help + libolm is deprecated and has been removed from Buildroot. + https://gitlab.matrix.org/matrix-org/olm#important-libolm-is-now-deprecated -config BR2_PACKAGE_DOVECOT_BZIP2 - bool "bzip2 support option has been removed" +config BR2_PACKAGE_LIBWEBSOCK + bool "libwebsock has been removed" select BR2_LEGACY - select BR2_PACKAGE_BZIP2 help - Bzip2 support is built if the bzip2 package is selected. + The upstream Github repository payden/libwebsock is no + longer available, and has been removed from Buildroot. -config BR2_PACKAGE_DOVECOT_ZLIB - bool "zlib support option has been removed" +config BR2_TARGET_EDK2_PLATFORM_SOCIONEXT_DEVELOPERBOX + bool "EDK2 Socionext DeveloperBox support has been removed" select BR2_LEGACY - select BR2_PACKAGE_ZLIB help - Zlib support is built if the zlib package is selected. + The Socionext DeveloperBox support has been removed upstream + in EDK2 version edk2-stable202505. -config BR2_PACKAGE_E2FSPROGS_FINDFS - bool "e2fsprogs findfs option has been removed" +config BR2_PACKAGE_LIBEBUR128 + bool "libebur128 has been removed" select BR2_LEGACY help - This option attempted to enable findfs capabilities from - e2fsprogs but has not worked since July 2015 (due to - packaging changes). One can use BusyBox's findfs support or - enable the BR2_PACKAGE_UTIL_LINUX_BINARIES option. + The libebur128 package has been removed from Buildroot. -config BR2_PACKAGE_OPENPOWERLINK_DEBUG_LEVEL - bool "openpowerlink debug option has been removed" +config BR2_KERNEL_HEADERS_6_14 + bool "kernel headers version 6.14.x are no longer supported" select BR2_LEGACY help - This option depends on BR2_ENABLE_DEBUG which should not be used - by packages anymore. + Version 6.14.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_PACKAGE_OPENPOWERLINK_KERNEL_MODULE - bool "openpowerlink package has been updated" +config BR2_PACKAGE_GPSD_OCEANSERVER + bool "gpsd OceanServer removed upstream" select BR2_LEGACY - select BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_STACK_LIB help - openpowerlink kernel modules are built if the - kernel stack library is selected. + Support for OceanServer has been removed upstream in gpsd + v3.26. -config BR2_PACKAGE_OPENPOWERLINK_LIBPCAP - bool "openpowerlink package has been updated" +config BR2_PACKAGE_MESA3D_OSMESA_GALLIUM + bool "mesa3d OSMesa (Gallium) library support removed" select BR2_LEGACY - select BR2_PACKAGE_OPENPOWERLINK_STACK_USERSPACE_DAEMON_LIB help - The user space support has been split in two part: - - a monolitic user space library - - a user spae deamon driver + Mesa3d removed the OSMesa (Off-Screen) interface library. -config BR2_LINUX_KERNEL_SAME_AS_HEADERS - bool "using the linux headers version for the kernel has been removed" +config BR2_PACKAGE_ALSA_LIB_ALISP + bool "alsa-lib alisp support removed" select BR2_LEGACY help - The option to use the version of the kernel headers for the - kernel to build has been removed. + Support for alisp was removed from alsa-lib v1.12.14. - There is now the converse, better-suited and more versatile - option to use the kernel version for the linux headers. +comment "Legacy options removed in 2025.05" -config BR2_PACKAGE_CUPS_PDFTOPS - bool "Pdftops support has been removed from Cups" +config BR2_GCC_VERSION_12_X + bool "gcc 12.x support removed" select BR2_LEGACY help - Pdftops support has been removed from the cups package - It is now part of the cups-filters package. + Support for building a toolchain based on GCC 12.x has been + removed, chose a newer GCC version instead. -config BR2_KERNEL_HEADERS_3_16 - bool "kernel headers version 3.16.x are no longer supported" - select BR2_KERNEL_HEADERS_3_12 +config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST + bool "mesa Gallium swrast driver was replaced by softpipe" select BR2_LEGACY + select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SOFTPIPE help - Version 3.16.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.12.x of the headers have been - automatically selected in your configuration. + The Gallium swrast driver was replaced by softpipe. -config BR2_PACKAGE_PYTHON_PYXML - bool "python-pyxml package has been removed" +config BR2_PACKAGE_MBEDTLS_COMPRESSION + bool "mbedtls compression support removed" select BR2_LEGACY help - PyXML is obsolete and its functionality is covered either via - native Python XML support or python-lxml package. + MbedTLS has dropped support for TLS record-level + compression. -# BR2_ENABLE_SSP is still referenced in Config.in (default in choice) -config BR2_ENABLE_SSP - bool "Stack Smashing protection now has different levels" +config BR2_KERNEL_HEADERS_6_13 + bool "kernel headers version 6.13.x are no longer supported" + select BR2_LEGACY help - The protection offered by SSP can now be selected from different - protection levels. Be sure to review the SSP level in the build - options menu. + Version 6.13.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_PACKAGE_DIRECTFB_CLE266 - bool "cle266 driver for directfb removed" +config BR2_PACKAGE_MPD_SOUNDCLOUD + bool "mpd soundcloud support has been removed" select BR2_LEGACY help - The cle266 directfb driver support has been removed. - It doesn't build in the latest version and it's unlikely - anyone has any use for it. + MPD SoundCloud support has been removed. -config BR2_PACKAGE_DIRECTFB_UNICHROME - bool "unichrome driver for directfb removed" +# BR2_PACKAGE_DOCKER_ENGINE_DOCKER_INIT is still referenced in docker-engine +config BR2_PACKAGE_DOCKER_ENGINE_DOCKER_INIT + bool "docker-engine init support is now a choice" select BR2_LEGACY help - The unichrome directfb driver support has been removed. - It doesn't build in the latest version and it's unlikely - anyone has any use for it. + docker-engine init support is now a choice. The original + setting has been adapted; be sure to review it in the + docker-engine package. -config BR2_PACKAGE_LIBELEMENTARY - bool "libelementary has been renamed to elementary" +comment "Legacy options removed in 2025.02" + +config BR2_PACKAGE_SQLITE_ENABLE_JSON1 + bool "Enable the JSON extensions for SQLite has been removed" select BR2_LEGACY - select BR2_PACKAGE_ELEMENTARY help - The libelementary package has been renamed to match the upstream - name. + Since SQLite 3.38 the JSON Extension is enabled by default. -config BR2_PACKAGE_LIBEINA - bool "libeina package has been removed" +config BR2_PACKAGE_ANGULARJS + bool "angularjs has been removed" select BR2_LEGACY - select BR2_PACKAGE_EFL help - With EFL 1.15, libeina is now provided by the efl package. + The angularjs package was removed as the upstream + project has been archived. -config BR2_PACKAGE_LIBEET - bool "libeet package has been removed" +config BR2_PACKAGE_ANGULAR_WEBSOCKET + bool "angular-websocket has been removed" select BR2_LEGACY - select BR2_PACKAGE_EFL help - With EFL 1.15, libeet is now provided by the efl package. + The angular-websocket package was removed as the upstream + project has been archived. -config BR2_PACKAGE_LIBEVAS - bool "libevas package has been removed" +config BR2_PACKAGE_LATENCYTOP + bool "latencytop has been removed" select BR2_LEGACY - select BR2_PACKAGE_EFL help - With EFL 1.15, libevas is now provided by the efl package. + The latencytop package is no longer available for download. -config BR2_PACKAGE_LIBECORE - bool "libecore package has been removed" +config BR2_PACKAGE_OBSIDIAN_CURSORS + bool "obsidian-cursors has been removed" select BR2_LEGACY - select BR2_PACKAGE_EFL help - With EFL 1.15, libecore is now provided by the efl package. + The obsidian cursors package is no longer available for + direct download. -config BR2_PACKAGE_LIBEDBUS - bool "libedbus package has been removed" +config BR2_PACKAGE_W_SCAN + bool "w_scan has been removed" select BR2_LEGACY - select BR2_PACKAGE_EFL help - With EFL 1.15, libedbus is now provided by the efl package. + The w_scan package was removed as it is not maintained + anymore and the upstream URL is gone. -config BR2_PACKAGE_LIBEFREET - bool "libefreet package has been removed" +config BR2_PACKAGE_GENROMFS + bool "genromfs" select BR2_LEGACY - select BR2_PACKAGE_EFL help - With EFL 1.15, libefreet is now provided by the efl package. + Romfs root filesystem support has been removed. -config BR2_PACKAGE_LIBEIO - bool "libeio package has been removed" +config BR2_TARGET_ROOTFS_ROMFS + bool "romfs root filesystem has been removed" select BR2_LEGACY - select BR2_PACKAGE_EFL help - With EFL 1.15, libeio is now provided by the efl package. + Romfs root filesystem support has been removed. -config BR2_PACKAGE_LIBEMBRYO - bool "libembryo package has been removed" +config BR2_BINUTILS_VERSION_2_41_X + bool "binutils 2.41 has been removed" select BR2_LEGACY - select BR2_PACKAGE_EFL help - With EFL 1.15, libembryo is now provided by the efl package. + binutils 2.41 has been removed, use a newer version. -config BR2_PACKAGE_LIBEDJE - bool "libedje package has been removed" +config BR2_TARGET_ROOTFS_EXT2_2r0 + bool "ext2 rev0 support been removed" select BR2_LEGACY - select BR2_PACKAGE_EFL help - With EFL 1.15, libedje is now provided by the efl package. + Support for ext2 revision 0 format has been removed and + revision 1 is now unconditionally used. -config BR2_PACKAGE_LIBETHUMB - bool "libethumb package has been removed" +config BR2_GDB_VERSION_13 + bool "gdb 13.x has been removed" select BR2_LEGACY - select BR2_PACKAGE_EFL help - With EFL 1.15, libethumb is now provided by the efl package. + GDB 13.x support has been removed, a newer version should be + used instead. -config BR2_PACKAGE_INFOZIP - bool "infozip option has been renamed to zip" +config BR2_nios2 + bool "nios2 architecture removed" select BR2_LEGACY - select BR2_PACKAGE_ZIP help - Info-Zip's Zip package has been renamed from infozip to zip, - to avoid ambiguities with Info-Zip's UnZip which has been added - in the unzip package. + The nios2 architecture was removed, by lack of toolchain + support. -config BR2_BR2_PACKAGE_NODEJS_0_10_X - bool "nodejs 0.10.x option removed" +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_BLEEDING_EDGE + bool "Bootlin nios2 glibc bleeding-edge toolchain removed" select BR2_LEGACY - select BR2_PACKAGE_NODEJS help - nodejs 0.10.x option has been removed. 0.10.x is now - automatically chosen for ARMv5 architectures only and the latest - nodejs for all other supported architectures. The correct nodejs - version has been automatically selected in your configuration. + The nios2 Bootlin toolchains have been removed. -config BR2_BR2_PACKAGE_NODEJS_0_12_X - bool "nodejs version 0.12.x has been removed" +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_STABLE + bool "Bootlin nios2 glibc stable toolchain removed" select BR2_LEGACY - select BR2_PACKAGE_NODEJS help - nodejs version 0.12.x has been removed. As an alternative, - the latest nodejs version has been automatically selected in - your configuration. + The nios2 Bootlin toolchains have been removed. -config BR2_BR2_PACKAGE_NODEJS_4_X - bool "nodejs version 4.x has been removed" +config BR2_PACKAGE_DIRECTFB + bool "directfb has been removed" select BR2_LEGACY - select BR2_PACKAGE_NODEJS help - nodejs version 4.x has been removed. As an alternative, - the latest nodejs version has been automatically selected in - your configuration. + This package was no longer maintained upstream, so it was + dropped from Buildroot. -############################################################################### -comment "Legacy options removed in 2015.11" +config BR2_PACKAGE_GST_OMX + bool "gst-omx has been removed" + select BR2_LEGACY + help + The gst-omx module has been removed from Gstreamer in + release 1.24 in favor of Video4Linux-based video encoders. -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REAL - bool "gst1-plugins-bad real plugin has been removed" +config BR2_PACKAGE_MIMIC + bool "mimic has been removed" select BR2_LEGACY help - The real plugin from GStreamer 1 bad plugins has been - removed. + The mimic package has been removed from Buildroot. -config BR2_PACKAGE_MEDIA_CTL - bool "media-ctl package has been removed" +config BR2_PACKAGE_SDL2_DIRECTFB + bool "sdl2 directfb support removed" select BR2_LEGACY - select BR2_PACKAGE_LIBV4L - select BR2_PACKAGE_LIBV4L_UTILS help - media-ctl source and developement have been moved to - v4l-utils since June 2014. For an up-to-date media-ctl - version select BR2_PACKAGE_LIBV4L and BR2_PACKAGE_LIBV4L_UTILS. + The directfb support from SDL2 is no longer available, as + directfb is no longer packaged in Buildroot. -config BR2_PACKAGE_SCHIFRA - bool "schifra package has been removed" +config BR2_PACKAGE_SDL_DIRECTFB + bool "sdl directfb support removed" select BR2_LEGACY help - Schifra package has been maked broken since 2014.11 release and - haven't been fixed since then. + The directfb support from SDL is no longer available, as + directfb is no longer packaged in Buildroot. -config BR2_PACKAGE_ZXING - bool "zxing option has been renamed" +config BR2_PACKAGE_QT5BASE_DIRECTFB + bool "qt5base directfb support removed" select BR2_LEGACY - select BR2_PACKAGE_ZXING_CPP help - ZXing no longer provides the cpp bindings, it has been renamed to - BR2_PACKAGE_ZXING_CPP which uses a new upstream. + The directfb support from qt5base is no longer available, as + directfb is no longer packaged in Buildroot. -# Since FreeRDP has new dependencies, protect this legacy to avoid the -# infamous "unmet direct dependencies" kconfig error. -config BR2_PACKAGE_FREERDP_CLIENT - bool "freerdp client option renamed" - depends on BR2_PACKAGE_FREERDP +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DIRECTFB + bool "gstreamer directfb plugin removed" select BR2_LEGACY - select BR2_PACKAGE_FREERDP_CLIENT_X11 + help + The directfb plugin from GStreamer is no longer supported, + as directfb is no longer packaged in Buildroot. -config BR2_PACKAGE_BLACKBOX - bool "blackbox package has been removed" +config BR2_PACKAGE_LITE + bool "lite has been removed" select BR2_LEGACY help - Upstream is dead and the package has been deprecated for - some time. There are other alternative maintained WMs. + This package was no longer maintained upstream, so it was + dropped from Buildroot. -config BR2_KERNEL_HEADERS_3_0 - bool "kernel headers version 3.0.x are no longer supported" - select BR2_KERNEL_HEADERS_3_2 +config BR2_PACKAGE_LINUX_FUSION + bool "linux-fusion has been removed" select BR2_LEGACY help - Version 3.0.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.2.x of the headers have been - automatically selected in your configuration. + This package was no longer maintained upstream, so it was + dropped from Buildroot. -config BR2_KERNEL_HEADERS_3_11 - bool "kernel headers version 3.11.x are no longer supported" - select BR2_KERNEL_HEADERS_3_10 +config BR2_PACKAGE_DIRECTFB_EXAMPLES + bool "directfb-examples has been removed" select BR2_LEGACY help - Version 3.11.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.10.x of the headers have been - automatically selected in your configuration. + This package was no longer maintained upstream, so it was + dropped from Buildroot. -config BR2_KERNEL_HEADERS_3_13 - bool "kernel headers version 3.13.x are no longer supported" - select BR2_KERNEL_HEADERS_3_12 +config BR2_PACKAGE_HIAWATHA + bool "hiwatha has been removed" select BR2_LEGACY help - Version 3.13.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.12.x of the headers have been - automatically selected in your configuration. + This package is no longer maintained upstream, has no bug + tracker, and the latest versions cause build + failures. Therefore, it has been removed. -config BR2_KERNEL_HEADERS_3_15 - bool "kernel headers version 3.15.x are no longer supported" - select BR2_KERNEL_HEADERS_3_12 +config BR2_PACKAGE_MONGODB + bool "mongodb has been removed" select BR2_LEGACY help - Version 3.15.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.12.x of the headers have been - automatically selected in your configuration. + The mongodb package has been removed as it was unmaintained. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI - bool "DirectFB example df_andi has been removed" +config BR2_PACKAGE_PYTHON_M2CRYPTO + bool "python-m2crypto has been removed" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + The python-m2crypto package was removed as it is in maintained + only mode and is not recommended for new projects. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_BLTLOAD - bool "DirectFB example df_bltload has been removed" +config BR2_KERNEL_HEADERS_4_19 + bool "kernel headers version 4.19.x are no longer supported" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + Version 4.19.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_CPULOAD - bool "DirectFB example df_cpuload has been removed" +config BR2_KERNEL_HEADERS_6_11 + bool "kernel headers version 6.11.x are no longer supported" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + Version 6.11.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_DATABUFFER - bool "DirectFB example df_databuffer has been removed" +config BR2_PACKAGE_GIBLIB + bool "giblib has been removed" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + The giblib package was removed as it is not maintained + anymore and the upstream URL is gone. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_DIOLOAD - bool "DirectFB example df_dioload has been removed" +config BR2_PACKAGE_FCONFIG + bool "fconfig has been removed" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + The fconfig package was removed as it is not maintained + anymore and the upstream URL is gone. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_DOK - bool "DirectFB example df_dok has been removed" +config BR2_PACKAGE_LIBHID + bool "libhid has been removed" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + The libhid package was removed as it is not maintained + anymore and the upstream URL is gone. Consider using hidapi + instead. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_DRIVERTEST - bool "DirectFB example df_drivertest has been removed" +config BR2_PACKAGE_QUAGGA + bool "quagga has been removed" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + The quagga package was removed as it is not maintained + anymore and the upstream repo is gone. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_FIRE - bool "DirectFB example df_fire has been removed" +config BR2_PACKAGE_RAMSMP + bool "ramsmp has been removed" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + The ramsmp package was removed as it is not maintained + anymore and the upstream repo is gone. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_FLIP - bool "DirectFB example df_flip has been removed" +comment "Legacy options removed in 2024.11" + +config BR2_PACKAGE_BSDIFF + bool "bsdiff has been removed" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + The bsdiff package was removed as it is not maintained + anymore (no commit since 2014). -config BR2_PACKAGE_DIRECTFB_EXAMPLES_FONTS - bool "DirectFB example df_fonts has been removed" +config BR2_PACKAGE_PROCPS_NS_ORIGINAL_TOP + bool "BR2_PACKAGE_PROCPS_NS_ORIGINAL_TOP has been renamed" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES + select BR2_PACKAGE_PROCPS_NG_ORIGINAL_TOP help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + The option has been renamed to + BR2_PACKAGE_PROCPS_NG_ORIGINAL_TOP. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_INPUT - bool "DirectFB example df_input has been removed" +config BR2_PACKAGE_QEMU_TARGET_NIOS2 + bool "qemu nios2 support has been removed" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + NIOS2 support has been removed since Qemu 9.1.0. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_JOYSTICK - bool "DirectFB example df_joystick has been removed" +config BR2_PACKAGE_POPPERJS + bool "popperjs has been removed" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + The project has been renamed to floating-ui. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_KNUCKLES - bool "DirectFB example df_knuckles has been removed" +config BR2_KERNEL_HEADERS_6_10 + bool "kernel headers version 6.10.x are no longer supported" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + Version 6.10.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_LAYER - bool "DirectFB example df_layer has been removed" +config BR2_PACKAGE_IPMITOOL_PEN_REG_URI + string "IANA PEN registry moved to iana-assignment package" + help + Installation of the IANA PEN is now handled by the + iana-assignment package; to install a custom PEN, + use a rootfs-overlay for example. + +config BR2_PACKAGE_IPMITOOL_PEN_REG_URI_WRAP + bool + default y if BR2_PACKAGE_IPMITOOL_PEN_REG_URI != "" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES + +config BR2_PACKAGE_ERLANG_P1_YAML + bool "erlang-p1-yaml has been renamed" + select BR2_LEGACY + select BR2_PACKAGE_ERLANG_FAST_YAML help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + The erlang-p1-yaml package has been renamed to + erlang-fast-yaml. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX - bool "DirectFB example df_matrix has been removed" +config BR2_PACKAGE_ERLANG_P1_XMPP + bool "erlang-p1-xmpp has been renamed" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES + select BR2_PACKAGE_ERLANG_XMPP help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + The erlang-p1-xmpp package has been renamed to erlang-xmpp. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX_WATER - bool "DirectFB example df_matrix_water has been removed" +config BR2_PACKAGE_ERLANG_P1_XML + bool "erlang-p1-xml has been renamed" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES + select BR2_PACKAGE_ERLANG_FAST_XML help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + The erlang-p1-xml package has been renamed to erlang-fast-xml. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_NEO - bool "DirectFB example df_neo has been removed" +config BR2_PACKAGE_ERLANG_P1_STUN + bool "erlang-p1-stun has been renamed" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES + select BR2_PACKAGE_ERLANG_STUN help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + The erlang-p1-stun package has been renamed to erlang-stun. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_NETLOAD - bool "DirectFB example df_netload has been removed" +config BR2_PACKAGE_FBV_GIF + bool "fbv GIF support has been removed" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + Fbv GIF support has been removed, use PNG, BMP or JPEG. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_PALETTE - bool "DirectFB example df_palette has been removed" - select BR2_PACKAGE_DIRECTFB_EXAMPLES +config BR2_BINUTILS_VERSION_2_40_X + bool "binutils 2.40 has been removed" + select BR2_LEGACY help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + binutils 2.40 has been removed, use a newer version. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_PARTICLE - bool "DirectFB example df_particle has been removed" +comment "Legacy options removed in 2024.08" + +config BR2_PACKAGE_MIDORI + bool "midori has been removed" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + The original WebKitGTK-based Midori is no longer maintained + and doesn't build since WebKitGTK moved to libsoup3 as of + commit 38a098df133aaa2ebf09742054b02db5a44f58e5. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_PORTER - bool "DirectFB example df_porter has been removed" +config BR2_PACKAGE_FROTZ + bool "frotz has been removed" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + This package was causing build breakage, and was no longer + maintained in Buildroot. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_STRESS - bool "DirectFB example df_stress has been removed" - select BR2_PACKAGE_DIRECTFB_EXAMPLES +config BR2_PACKAGE_FAN_CTRL + bool "fan-ctrl has been removed" + select BR2_LEGACY help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + This package was no longer available from SourceForge, the + upstream is completely dead. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_TEXTURE - bool "DirectFB example df_texture has been removed" +config BR2_PACKAGE_FLUTTER_DYNAMIC_LAYOUTS_EXAMPLE + bool "flutter-dynamic-layouts-example has been removed" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + flutter-dynamic-layouts was removed from flutter-packages + as of commit e35f29177495131f0f598fc7ae1ffd74d89edf15. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO - bool "DirectFB example df_video has been removed" +config BR2_KERNEL_HEADERS_6_9 + bool "kernel headers version 6.9.x are no longer supported" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + Version 6.9.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO_PARTICLE - bool "DirectFB example df_video_particle has been removed" +config BR2_x86_knightslanding + bool "knightslanding x86 architecture support dropped" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + GCC 14.x has marked this architecture as obsolete, and emits + a warning causing build failures. -config BR2_PACKAGE_DIRECTFB_EXAMPLES_WINDOW - bool "DirectFB example df_window has been removed" +config BR2_x86_knightsmill + bool "knightsmill x86 architecture support dropped" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_EXAMPLES help - The per-DirectFB example options have been removed. The - BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all - examples. + GCC 14.x has marked this architecture as obsolete, and emits + a warning causing build failures. -config BR2_PACKAGE_KOBS_NG - bool "kobs-ng was replaced by imx-kobs" +config BR2_PACKAGE_DVB_APPS + bool "dvb-apps package removed" select BR2_LEGACY - select BR2_PACKAGE_IMX_KOBS help - The outdated kobs-ng has been replaced by the Freescale- - maintained imx-kobs package. + The dvb-apps package was removed as it is not maintained + anymore (no commit since 2014). -config BR2_PACKAGE_SAWMAN - bool "sawman package removed" +config BR2_PACKAGE_GAMIN + bool "gamin package removed" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_SAWMAN help - This option has been removed because the sawman package no - longer exists: it was merged inside DirectFB itself. This - feature can now be enabled using the - BR2_PACKAGE_DIRECTFB_SAWMAN option. + The gamin package was removed as it is not maintained + anymore (no commit since 2016). -config BR2_PACKAGE_DIVINE - bool "divine package removed" +config BR2_PACKAGE_CAIRO_SVG + bool "cairo svg support" select BR2_LEGACY - select BR2_PACKAGE_DIRECTFB_DIVINE + select BR2_PACKAGE_CAIRO_PNG help - This option has been removed because the divine package no - longer exists: it was merged inside DirectFB itself. This - feature can now be enabled using the - BR2_PACKAGE_DIRECTFB_DIVINE option. + Cairo SVG is compiled together with PNG. -############################################################################### -comment "Legacy options removed in 2015.08" +config BR2_PACKAGE_CAIRO_SCRIPT + bool "cairo script support" + select BR2_LEGACY + select BR2_PACKAGE_CAIRO_ZLIB + help + Cairo script got merged into cairo zlib. -config BR2_PACKAGE_KODI_PVR_ADDONS - bool "Kodi PVR addon was split" +config BR2_PACKAGE_CAIRO_PS + bool "cairo postscript support" select BR2_LEGACY - select BR2_PACKAGE_KODI_PVR_ARGUSTV - select BR2_PACKAGE_KODI_PVR_DVBLINK - select BR2_PACKAGE_KODI_PVR_DVBVIEWER - select BR2_PACKAGE_KODI_PVR_FILMON - select BR2_PACKAGE_KODI_PVR_HTS - select BR2_PACKAGE_KODI_PVR_IPTVSIMPLE - select BR2_PACKAGE_KODI_PVR_MEDIAPORTAL_TVSERVER - select BR2_PACKAGE_KODI_PVR_MYTHTV - select BR2_PACKAGE_KODI_PVR_NEXTPVR - select BR2_PACKAGE_KODI_PVR_NJOY - select BR2_PACKAGE_KODI_PVR_PCTV - select BR2_PACKAGE_KODI_PVR_STALKER - select BR2_PACKAGE_KODI_PVR_VBOX - select BR2_PACKAGE_KODI_PVR_VDR_VNSI - select BR2_PACKAGE_KODI_PVR_VUPLUS - select BR2_PACKAGE_KODI_PVR_WMC + select BR2_PACKAGE_CAIRO_ZLIB help - Kodi PVR addon was split into seperate modules + Cairo PS got merged into cairo zlib. -config BR2_BINUTILS_VERSION_2_23_2 - bool "binutils 2.23 option renamed" +config BR2_PACKAGE_CAIRO_PDF + bool "cairo pdf support" select BR2_LEGACY + select BR2_PACKAGE_CAIRO_ZLIB help - Binutils 2.23.2 has been removed, using a newer version is - recommended. + Cairo PDF got merged into cairo zlib. -config BR2_BINUTILS_VERSION_2_24 - bool "binutils 2.24 option renamed" +config BR2_PACKAGE_CAIRO_XML + bool "cairo xml support" select BR2_LEGACY - select BR2_BINUTILS_VERSION_2_24_X + select BR2_PACKAGE_CAIRO_ZLIB help - The binutils version option has been renamed to match the - same patchlevel logic used by gcc. The new option is now - BR2_BINUTILS_VERSION_2_24_X. + Cairo XML got merged into cairo zlib. -config BR2_BINUTILS_VERSION_2_25 - bool "binutils 2.25 option renamed" +config BR2_GDB_VERSION_12 + bool "gdb 12.x has been removed" select BR2_LEGACY - select BR2_BINUTILS_VERSION_2_25_X help - The binutils version option has been renamed to match the - same patchlevel logic used by gcc. The new option is now - BR2_BINUTILS_VERSION_2_25_X. + GDB 12.x has been removed. The new default version of GDB + 14.x has been automatically selected instead. -config BR2_PACKAGE_PERF - bool "perf option has been renamed" +config BR2_TARGET_BEAGLEV_DDRINIT + bool "beaglev-ddrinit has been removed" select BR2_LEGACY - select BR2_LINUX_KERNEL_TOOL_PERF help - The perf package has been moved as a Linux tools package, - and the option to enable it is now - BR2_LINUX_KERNEL_TOOL_PERF. + The beaglev-secondboot package has been removed after + the beaglev_defconfig removal. -config BR2_BINUTILS_VERSION_2_22 - bool "binutils 2.22 removed" +config BR2_TARGET_BEAGLEV_SECONDBOOT + bool "beaglev-secondboot has been removed" select BR2_LEGACY help - Binutils 2.22 has been removed, using a newer version is - recommended. + The beaglev-secondboot package has been removed after + the beaglev_defconfig removal. -config BR2_PACKAGE_GPU_VIV_BIN_MX6Q - bool "gpu-viv-bin-mx6q" +config BR2_PACKAGE_ONEVPL_INTEL_GPU + bool "onevpl-intel-gpu has been renamed" select BR2_LEGACY - select BR2_PACKAGE_IMX_GPU_VIV + select BR2_PACKAGE_INTEL_VPL_GPU_RT help - Vivante graphics libraries have been renamed to - BR2_PACKAGE_IMX_GPU_VIV to be aligned with upstream package - name. + The onevpl-intel-gpu package has been renamed to + intel-vpl-gpu-rt. -config BR2_PACKAGE_LIBSEMANAGE_PYTHON_BINDINGS - depends on BR2_PACKAGE_PYTHON - bool "libsemanage python bindings removed" +config BR2_PACKAGE_CGIC + bool "cgic has been removed" select BR2_LEGACY help - This option has been removed, since the libsemanage Python - bindings on the target were not useful. + the cgic upstream no longer exists. -config BR2_TARGET_UBOOT_NETWORK - bool "U-Boot custom network settings removed" +config BR2_PACKAGE_BEECRYPT + bool "beecrypt package removed" select BR2_LEGACY help - U-Boot's custom network settings options have been removed. + The beecrypt package was removed as it is not maintained + anymore (no release since 2015). -############################################################################### -comment "Legacy options removed in 2015.05" +config BR2_PACKAGE_VERSAL_FIRMWARE + bool "versal-firmware has been replaced by xilinx-prebuilt" + select BR2_TARGET_XILINX_PREBUILT + select BR2_LEGACY + help + The versal-firmware package has been replaced by the more + generic xilinx-prebuilt package. -config BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_512_16K - bool "jffs2 16kB erasesize NAND flash option renamed" +config BR2_KERNEL_HEADERS_6_8 + bool "kernel headers version 6.8.x are no longer supported" select BR2_LEGACY - select BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_16K help - The JFFS2 NAND flash options now longer include the page - size. + Version 6.8.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K - bool "jffs2 128kB erasesize NAND flash option renamed" +config BR2_TARGET_AT91BOOTSTRAP + bool "at91bootstrap removed" select BR2_LEGACY - select BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K help - The JFFS2 NAND flash options now longer include the page - size. + Upstream for at91bootstrap 1.x is no longer available and + has been replaced by at91bootstrap3. -config BR2_PACKAGE_MONO_20 - bool "2.0/3.5 .Net Runtime" +config BR2_TARGET_AT91DATAFLASHBOOT + bool "at91dataflashboot removed" select BR2_LEGACY help - This option no longer exists, all versions of the .Net - runtime are now installed. + at91dataflashboot has been replaced by at91bootstrap3. -config BR2_PACKAGE_MONO_40 - bool "4.0 .Net Runtime" +config BR2_PACKAGE_ON2_8170_MODULES + bool "on2-8170-modules removed" select BR2_LEGACY help - This option no longer exists, all versions of the .Net - runtime are now installed. + The corresponding library and gstreamer 0.10 plugin are no + longer available. -config BR2_PACKAGE_MONO_45 - bool "4.5 .Net Runtime" +config BR2_PACKAGE_ON2_8170_LIBS + bool "on2-8170-libs removed" select BR2_LEGACY help - This option no longer exists, all versions of the .Net - runtime are now installed. + Upstream for this binary only library is no longer available. -config BR2_CIVETWEB_WITH_LUA - bool "civetweb lua option renamed" +config BR2_GCC_VERSION_11_X + bool "gcc 11.x support removed" select BR2_LEGACY - select BR2_PACKAGE_CIVETWEB_WITH_LUA help - civetweb's lua option has been renamed to - BR2_PACKAGE_CIVETWEB_WITH_LUA to be aligned with how other - packages name options. + Support for gcc version 11.x has been removed. The current + default version (13.x or later) has been selected instead. -config BR2_PACKAGE_TIFF_TIFF2PDF - bool "tiff utility-specific option removed" +config BR2_BINFMT_FLAT_SHARED + bool "FLAT shared binary format removed" select BR2_LEGACY - select BR2_PACKAGE_TIFF_UTILITIES help - utility-specific options have been removed in favour of - the new option BR2_PACKAGE_TIFF_UTILITIES. + Support for the FLAT shared binary format has been removed: + its support was removed from the Linux kernel, and also from + uClibc-ng, the only C library that supported it. -config BR2_PACKAGE_TIFF_TIFFCP - bool "tiff utility-specific option removed" +config BR2_PACKAGE_OMXPLAYER + bool "omxplayer removed" select BR2_LEGACY - select BR2_PACKAGE_TIFF_UTILITIES help - utility-specific options have been removed in favour of - the new option BR2_PACKAGE_TIFF_UTILITIES. + Package was deprecated in 2020 and is broken with ffmpeg 6.x -config BR2_LINUX_KERNEL_EXT_RTAI_PATCH - bool "RTAI patch file path has been removed" +config BR2_KERNEL_HEADERS_6_7 + bool "kernel headers version 6.7.x are no longer supported" select BR2_LEGACY help - This option has never worked, so it has been removed. + Version 6.7.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_TARGET_GENERIC_PASSWD_DES - bool "Encoding passwords with DES has been removed" +config BR2_TARGET_TI_K3_IMAGE_GEN + bool "ti-k3-image-gen removed" select BR2_LEGACY help - Paswords can now only be encoded with either of md5, sha256 or sha512. - The default is md5, which is stronger that DES (but still pretty weak). + ti-k3-image-gen tool has been removed and replaced by + U-Boot binman tool (requires U-boot >= 2023.10). -config BR2_PACKAGE_GTK2_THEME_HICOLOR - bool "hicolor (default theme) is a duplicate" +config BR2_TARGET_UBOOT_NEEDS_TI_K3_DM + bool "u-boot TI K3 DM option has been removed." select BR2_LEGACY - select BR2_PACKAGE_HICOLOR_ICON_THEME help - The option was just a duplicate of hicolor icon theme. + The TI K3 Device Manager is already included in + ti-k3-boot-firmware. -config BR2_PACKAGE_VALGRIND_PTRCHECK - bool "valgrind's PTRCheck was renamed to SGCheck" +config BR2_PACKAGE_FLUTTER_GALLERY + bool "flutter-gallery removed" select BR2_LEGACY - select BR2_PACKAGE_VALGRIND_SGCHECK help - PTRCheck was renamed to SGCheck in valgrind + flutter-gallery has been removed due to being abandoned + and no longer working with flutter 3.19+. It is replaced by + flutter-packages, where individual sub-packages (examples) + must be selected for the build. -############################################################################### -comment "Legacy options removed in 2015.02" +config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS + bool "Codescape IMG GNU Linux Toolchain 2018.09 has been removed" + select BR2_LEGACY + help + The Codescape IMG GNU Linux toolchain has been removed, use a + Bootlin toolchain instead. -config BR2_PACKAGE_LIBGC - bool "libgc package removed" +config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS + bool "Codescape MTI GNU Linux Toolchain 2018.09 has been removed" select BR2_LEGACY - select BR2_PACKAGE_BDWGC help - libgc has been removed because we have the same package under a - different name, bdwgc. + The Codescape MTI GNU Linux toolchain has been removed, use a + Bootlin toolchain instead. -config BR2_PACKAGE_WDCTL - bool "util-linux' wdctl option has been renamed" +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 + bool "CodeSourcery AArch64 2014.11 has been removed" select BR2_LEGACY - select BR2_PACKAGE_UTIL_LINUX_WDCTL help - util-linux' wdctl option has been renamed to BR2_PACKAGE_UTIL_LINUX_WDCTL - to be aligned with how the other options are named. + The Sourcery CodeBench AArch64 toolchain has been removed, + use an ARM/Bootlin/Linaro toolchain instead. -config BR2_PACKAGE_UTIL_LINUX_ARCH - bool "util-linux' arch option has been removed" +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM + bool "Sourcery CodeBench ARM 2014.05 has been removed" select BR2_LEGACY help - util-linux' arch was dropped in util-linux 2.23, in favor of - the coreutils version. + The Sourcery CodeBench ARM toolchain has been removed, use + an ARM/Bootlin/Linaro toolchain instead. -config BR2_PACKAGE_UTIL_LINUX_DDATE - bool "util-linux' ddate option has been removed" +config BR2_BINUTILS_VERSION_2_39_X + bool "binutils 2.39 has been removed" select BR2_LEGACY help - util-linux' ddate was dropped in util-linux 2.23. + binutils 2.39 has been removed, use a newer version. -config BR2_PACKAGE_RPM_BZIP2_PAYLOADS - bool "rpm's bzip2 payloads option has been removed" +comment "Legacy options removed in 2024.02" + +config BR2_PACKAGE_MYSQL + bool "mysql virtual package removed" select BR2_LEGACY - select BR2_PACKAGE_BZIP2 help - The bzip2 payloads option rely entirely on the dependant package bzip2. - So, you need to select it to enable this feature. + The mysql virtual package has been removed as mariadb is the + only supported mysql variant. Use the mariadb package + instead. -config BR2_PACKAGE_RPM_XZ_PAYLOADS - bool "rpm's xz payloads option has been removed" +config BR2_PACKAGE_ORACLE_MYSQL + bool "oracle mysql removed" select BR2_LEGACY - select BR2_PACKAGE_XZ help - The xz payloads option rely entirely on the dependant package xz. - So, you need to select it to enable this feature. + Oracle mysql has been removed as the package was + unmaintained. Consider using mariadb instead. -config BR2_PACKAGE_M4 - bool "m4 target package removed" +config BR2_PACKAGE_STRONGSWAN_SCEP + bool "strongswan SCEP client tool removed" select BR2_LEGACY help - The m4 target package has been removed, it's been - deprecated for some time now. + "ipsec scepclient" tool has been removed and replaced by the + pki subcommands "pki --scep" and "pki --scepca" which + implement the new SCEP RFC 8894 standard that was released in + September 2020 and which supports trusted "certificate + renewal" based on the existing client certificate. -config BR2_PACKAGE_FLEX_BINARY - bool "flex binary in target option removed" +config BR2_PACKAGE_SHADOW_UTMPX + bool "shadow utmpx removed" select BR2_LEGACY help - The flex binary in the target option has been removed. - It's been deprecated for some time now and is essentially a - development tool which isn't very useful in the target. + UTMPX has been dropped by upstream. -config BR2_PACKAGE_BISON - bool "bison target package removed" +config BR2_PACKAGE_TINYMEMBENCH + bool "tinymembench removed" select BR2_LEGACY help - The bison target package has been removed, it's been - deprecated for some time now and is essentially a development - tool which isn't very useful in the target. + tinymembench has been removed due to being abandoned. -config BR2_PACKAGE_GOB2 - bool "gob2 target package removed" +config BR2_PACKAGE_DAVINCI_BOOTCOUNT + bool "davinci-bootcount has been renamed" select BR2_LEGACY + select BR2_PACKAGE_UBOOT_BOOTCOUNT help - The gob2 target package has been removed, it's been - deprecated for some time now and was essentially useless - without a target toolchain. + The davinci-bootcount package has been renamed to + uboot-bootcount. -config BR2_PACKAGE_DISTCC - bool "distcc target package removed" +config BR2_PACKAGE_PYTHON_CROSSBAR + bool "python-crossbar removed" select BR2_LEGACY help - The distcc target package has been removed, it's been - deprecated for some time now and was essentially useless - without a target toolchain. + python-crossbar has been removed. The current package has + not received an update since Sat Oct 9 13:55:06 2021 commit: + 33ece2446e25e20929d1c7eefa9f3244a3b79a92 and is not python + 3.12.0 compatible. -config BR2_PACKAGE_HASERL_VERSION_0_8_X - bool "haserl 0.8.x version removed" + Furthermore, the current version requires at least 42 new + packages worth of depedencies of which several require + patches to be python 3.12.0 compatible. As nobody has + stepped up to maintain the package and its ever-growing list + of dependencies, along with the other problems, it was time + to drop the package. + +config BR2_PACKAGE_PYTHON_PYGAME + bool "python-pygame removed" select BR2_LEGACY help - The 0.8.x version option for haserl has been removed since it - has been deprecated for some time now. - You should be able to use the 0.9.x version without issues. + python-pygame has been removed due to being abandoned and + the old version no longer building with python 3.12.0. -config BR2_PACKAGE_STRONGSWAN_TOOLS - bool "strongswan option has been removed" +config BR2_KERNEL_HEADERS_4_14 + bool "kernel headers version 4.14.x are no longer supported" select BR2_LEGACY - select BR2_PACKAGE_STRONGSWAN_PKI - select BR2_PACKAGE_STRONGSWAN_SCEP help - The tools option has been removed upstream and the different tools - have been split between the pki and scep options, with others - deprecated. + Version 4.14.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_PACKAGE_XBMC_ADDON_XVDR - bool "xbmc-addon-xvdr removed" +config BR2_PACKAGE_LIBCAMERA_PIPELINE_RASPBERRYPI + bool "libcamera pipeline 'raspberrypi' was renamed to 'rpi/vc4'" + depends on BR2_arm || BR2_aarch64 + depends on BR2_USE_WCHAR select BR2_LEGACY + select BR2_PACKAGE_LIBCAMERA_PIPELINE_RPI_VC4 help - According to the github project page: - https://github.com/pipelka/xbmc-addon-xvdr - this package is discontinued. + Since version 0.1.0, the pipeline option 'raspberrypi' was + renamed to 'rpi/vc4'. + +config BR2_GDB_VERSION_11 + bool "gdb 11.x removed" + select BR2_LEGACY + help + GDB 11.x has been removed, use a newer version. + +config BR2_PACKAGE_LIBMPD + bool "libmpd package was removed" + select BR2_LEGACY + help + The libmpd package was only used by gmpc, both of which are + no longer maintained upstream. -config BR2_PACKAGE_XBMC_PVR_ADDONS - bool "xbmc options have been renamed" +config BR2_PACKAGE_GMPC + bool "gmpc package was removed" select BR2_LEGACY - select BR2_PACKAGE_KODI_PVR_ADDONS help - The XBMC media center project was renamed to Kodi entertainment center + The gmpc package was removed because it was unmaintained, + and still using the old libsoup2 library. -config BR2_PACKAGE_XBMC - bool "xbmc options have been renamed" +config BR2_PACKAGE_FLICKCURL + bool "flickcurl package was removed" select BR2_LEGACY - select BR2_PACKAGE_KODI help - The XBMC media center project was renamed to Kodi entertainment center + The flickcurl package was removed because it was + unmaintained upstream and causing build failures. + +config BR2_PACKAGE_ONEVPL + bool "onevpl package was renamed" + select BR2_LEGACY + select BR2_PACKAGE_LIBVPL + +config BR2_KERNEL_HEADERS_6_5 + bool "kernel headers version 6.5.x are no longer supported" + select BR2_LEGACY + help + Version 6.5.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_PACKAGE_WATCHDOGD_GENERIC_POLL + int "watchdogd generic poll has been replaced" + default 0 + help + The generic script poll interval has been replaced upstream + with a boolean on/off. Your configuration has been migrated. -config BR2_PACKAGE_XBMC_ALSA_LIB - bool "xbmc options have been renamed" + Set this legacy option to 0 here to remove the warning. + +# Note: BR2_PACKAGE_WATCHDOGD_*_POLL_WRAP referenced in package/watchdogd/Config.in +config BR2_PACKAGE_WATCHDOGD_GENERIC_POLL_WRAP + bool + default y if BR2_PACKAGE_WATCHDOGD_GENERIC_POLL != 0 select BR2_LEGACY - select BR2_PACKAGE_KODI_ALSA_LIB + +config BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL + int "watchdogd loadavg poll has been replaced" + default 0 help - The XBMC media center project was renamed to Kodi entertainment center + The CPU load average poll interval has been replaced upstream + with a boolean on/off. Your configuration has been migrated. -config BR2_PACKAGE_XBMC_AVAHI - bool "xbmc options have been renamed" + Set this legacy option to 0 here to remove the warning. + +# Note: BR2_PACKAGE_WATCHDOGD_*_POLL_WRAP referenced in package/watchdogd/Config.in +config BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL_WRAP + bool + default y if BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL != 0 select BR2_LEGACY - select BR2_PACKAGE_KODI_AVAHI + +config BR2_PACKAGE_WATCHDOGD_FILENR_POLL + int "watchdogd filenr poll has been replaced" + default 0 help - The XBMC media center project was renamed to Kodi entertainment center + The file descriptor leak poll has been replaced upstream with + a boolean on/off. Your configuration has been migrated. -config BR2_PACKAGE_XBMC_DBUS - bool "xbmc options have been renamed" + Set this legacy option to 0 here to remove the warning. + +# Note: BR2_PACKAGE_WATCHDOGD_*_POLL_WRAP referenced in package/watchdogd/Config.in +config BR2_PACKAGE_WATCHDOGD_FILENR_POLL_WRAP + bool + default y if BR2_PACKAGE_WATCHDOGD_FILENR_POLL != 0 select BR2_LEGACY - select BR2_PACKAGE_KODI_DBUS + +config BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL + int "watchdogd meminfo poll has been replaced" + default 0 help - The XBMC media center project was renamed to Kodi entertainment center + The memleak detector poll interval has been replaced upstream + with a boolean on/off. Your configuration has been migrated. + + Set this legacy option to 0 here to remove the warning. + +# Note: BR2_PACKAGE_WATCHDOGD_*_POLL_WRAP referenced in package/watchdogd/Config.in +config BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL_WRAP + bool + default y if BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL != 0 + select BR2_LEGACY -config BR2_PACKAGE_XBMC_LIBBLURAY - bool "xbmc options have been renamed" +comment "Legacy options removed in 2023.11" + +config BR2_PACKAGE_PYTHON_PYXB + bool "python-pyxb removed" select BR2_LEGACY - select BR2_PACKAGE_KODI_LIBBLURAY help - The XBMC media center project was renamed to Kodi entertainment center + python-pyxb has been removed due to being abandoned and + distutils no longer being supported in python 3.12.0. -config BR2_PACKAGE_XBMC_GOOM - bool "xbmc options have been renamed" +config BR2_PACKAGE_OPENJDK_VERSION_11 + bool "openjdk 11 has been removed" select BR2_LEGACY - select BR2_PACKAGE_KODI_GOOM help - The XBMC media center project was renamed to Kodi entertainment center + Version 11 of OpenJDK is no longer supported, version 17 + should now be used as the new LTS release. -config BR2_PACKAGE_XBMC_RSXS - bool "xbmc options have been renamed" +config BR2_KERNEL_HEADERS_6_4 + bool "kernel headers version 6.4.x are no longer supported" select BR2_LEGACY - select BR2_PACKAGE_KODI_RSXS help - The XBMC media center project was renamed to Kodi entertainment center + Version 6.4.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_PACKAGE_XBMC_LIBCEC - bool "xbmc options have been renamed" +config BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS + bool "google-material-design-icons removed" select BR2_LEGACY - select BR2_PACKAGE_KODI_LIBCEC help - The XBMC media center project was renamed to Kodi entertainment center + The google-material-design-icons package has been removed. -config BR2_PACKAGE_XBMC_LIBMICROHTTPD - bool "xbmc options have been renamed" +config BR2_GDB_VERSION_10 + bool "gdb 10.x removed" select BR2_LEGACY - select BR2_PACKAGE_KODI_LIBMICROHTTPD help - The XBMC media center project was renamed to Kodi entertainment center + gdb 10.x has been removed, use a newer version. + +comment "Legacy options removed in 2023.08" -config BR2_PACKAGE_XBMC_LIBNFS - bool "xbmc options have been renamed" +config BR2_TARGET_LPC32XXCDL + bool "lpc32xxcdl has been removed" select BR2_LEGACY - select BR2_PACKAGE_KODI_LIBNFS help - The XBMC media center project was renamed to Kodi entertainment center + lpc32xxcdl has been removed, due to licensing concerns. -config BR2_PACKAGE_XBMC_RTMPDUMP - bool "xbmc options have been renamed" +config BR2_BINUTILS_VERSION_2_38_X + bool "binutils 2.38.x has been removed" select BR2_LEGACY - select BR2_PACKAGE_KODI_RTMPDUMP help - The XBMC media center project was renamed to Kodi entertainment center + binutils 2.38 has been removed, use a newer version. -config BR2_PACKAGE_XBMC_LIBSHAIRPLAY - bool "xbmc options have been renamed" +config BR2_GCC_VERSION_10_X + bool "gcc 10.x support removed" select BR2_LEGACY - select BR2_PACKAGE_KODI_LIBSHAIRPLAY help - The XBMC media center project was renamed to Kodi entertainment center + Support for gcc version 10.x has been removed. The current + default version (12.x or later) has been selected instead. -config BR2_PACKAGE_XBMC_LIBSMBCLIENT - bool "xbmc options have been renamed" +config BR2_KERNEL_HEADERS_6_3 + bool "kernel headers version 6.3.x are no longer supported" select BR2_LEGACY - select BR2_PACKAGE_KODI_LIBSMBCLIENT help - The XBMC media center project was renamed to Kodi entertainment center + Version 6.3.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_PACKAGE_XBMC_LIBTHEORA - bool "xbmc options have been renamed" +config BR2_PACKAGE_TOVID + bool "tovid removed" select BR2_LEGACY - select BR2_PACKAGE_KODI_LIBTHEORA help - The XBMC media center project was renamed to Kodi entertainment center + tovid was removed -config BR2_PACKAGE_XBMC_LIBUSB - bool "xbmc options have been renamed" +config BR2_PACKAGE_LIBASPLIB + bool "libasplib removed" select BR2_LEGACY - select BR2_PACKAGE_KODI_LIBUSB help - The XBMC media center project was renamed to Kodi entertainment center + libasplib is no longer needed. -config BR2_PACKAGE_XBMC_LIBVA - bool "xbmc options have been renamed" +config BR2_PACKAGE_OCF_LINUX + bool "ocf-linux has been removed" select BR2_LEGACY - select BR2_PACKAGE_KODI_LIBVA help - The XBMC media center project was renamed to Kodi entertainment center + ocf-linux is incompatible with newer kernels. -config BR2_PACKAGE_XBMC_WAVPACK - bool "xbmc options have been renamed" +config BR2_BINUTILS_VERSION_2_37_X + bool "binutils 2.37.x has been removed" select BR2_LEGACY - select BR2_PACKAGE_KODI_WAVPACK help - The XBMC media center project was renamed to Kodi entertainment center + binutils 2.37 has been removed, use a newer version. -config BR2_PREFER_STATIC_LIB - bool "static library option renamed" +comment "Legacy options removed in 2023.05" + +config BR2_KERNEL_HEADERS_6_2 + bool "kernel headers version 6.2.x are no longer supported" select BR2_LEGACY help - The BR2_PREFER_STATIC_LIB was renamed to BR2_STATIC_LIBS. It - highlights the fact that the option no longer "prefers" - static libraries, but "enforces" static libraries (i.e - shared libraries are completely unused). + Version 6.2.x of the Linux kernel headers are no longer + maintained upstream and are now removed. - Take care of updating the type of libraries you want under the - "Build options" menu. +config BR2_PACKAGE_ATK + bool "atk removed" + select BR2_LEGACY + help + atk is now part of at-spi2-core. -############################################################################### -comment "Legacy options removed in 2014.11" +config BR2_PACKAGE_AT_SPI2_ATK + bool "at-spi2-atk removed" + select BR2_LEGACY + help + at-spi2-atk is now part of at-spi2-core. -config BR2_x86_generic - bool "x86 generic variant has been removed" +config BR2_PACKAGE_OPTEE_BENCHMARK + bool "optee-benchmark has been removed" select BR2_LEGACY help - The generic x86 CPU variant has been removed. Use another - CPU variant instead. + optee-benchmark is no longer maintained upstream. -config BR2_GCC_VERSION_4_4_X - bool "gcc 4.4.x has been removed" +config BR2_PACAKGE_OPENFPGALOADER_CMSIS + bool "openfpgaloader cmsis option name fixed" select BR2_LEGACY help - The 4.4.x version of gcc has been removed. Use a newer - version instead. + A typo on BR2_PACAKGE_OPENFPGALOADER_CMSIS was fixed by + renaming the option to BR2_PACKAGE_OPENFPGALOADER_CMSIS. + +comment "Legacy options removed in 2023.02" -config BR2_sparc_sparchfleon - bool "sparchfleon CPU has been removed" +config BR2_PACKAGE_PUGIXML_HEADER_ONLY + bool "pugixml header-only removed" select BR2_LEGACY help - The sparchfleon CPU was only supported in a patched gcc 4.4 - version. Its support has been removed in favor of the leon3 - CPU starting from gcc 4.8.x. + The header-only version raises a build failure with gerbera. -config BR2_sparc_sparchfleonv8 - bool "sparchfleonv8 CPU has been removed" +config BR2_PACKAGE_UCCP420WLAN + bool "uccp420wlan removed" select BR2_LEGACY help - The sparchfleonv8 CPU was only supported in a patched gcc - 4.4 version. Its support has been removed in favor of the - leon3 CPU starting from gcc 4.8.x. + The uccp420wlan package is unmaintained and doesn't build + with any "recent" kernel (e.g. >= 4.7). -config BR2_sparc_sparcsfleon - bool "sparcsfleon CPU has been removed" +config BR2_PACKAGE_IMX_GPU_G2D_EXAMPLES + bool "imx-gpu-g2d examples removed" select BR2_LEGACY help - The sparcsfleon CPU was only supported in a patched gcc 4.4 - version. Its support has been removed in favor of the leon3 - CPU starting from gcc 4.8.x. + The examples are not provided by NXP anymore. -config BR2_sparc_sparcsfleonv8 - bool "sparcsfleonv8 CPU has been removed" +config BR2_KERNEL_HEADERS_6_0 + bool "kernel headers version 6.0.x are no longer supported" select BR2_LEGACY help - The sparcsfleonv8 CPU was only supported in a patched gcc - 4.4 version. Its support has been removed in favor of the - leon3 CPU starting from gcc 4.8.x. + Version 6.0.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_PACKAGE_XLIB_LIBPCIACCESS - bool "xlib-libpciaccess option has been renamed" - depends on BR2_PACKAGE_XORG7 +config BR2_KERNEL_HEADERS_4_9 + bool "kernel headers version 4.9.x are no longer supported" select BR2_LEGACY - select BR2_PACKAGE_LIBPCIACCESS help - libpciaccess neither depends on X11 nor Xlib. Thus the - package has been renamed BR2_PACKAGE_LIBPCIACCESS + Version 4.9.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_PACKAGE_LINUX_FIRMWARE_XC5000 - bool "Xceive xc5000 option has been renamed" +config BR2_PACKAGE_DOCKER_PROXY + bool "docker-proxy removed" select BR2_LEGACY - select BR2_PACKAGE_LINUX_FIRMWARE_XCx000 + select BR2_PACKAGE_DOCKER_ENGINE help - The Xceive xc5000 option now also handles older firmwares from - Xceive (the xc4000 series), as well as new firmwares (the xc5000c) - from Cresta, who bought Xceive. + docker-proxy has been dropped by upstream since version + 563fe8. it has been merged into docker-engine (moby). -config BR2_PACKAGE_LINUX_FIRMWARE_CXGB4 - bool "Chelsio T4 option has been renamed" +config BR2_PACKAGE_PYTHON_BUNCH + bool "python-bunch removed" select BR2_LEGACY - select BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4 help - The Chelsio T4 option BR2_PACKAGE_LINUX_FIRMWARE_CXGB4 - has been renamed to BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4 - to better account for the fact that a T5 variant exists. + The python-bunch package is unmaintained and is replaced + by the python-munch package. -config BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160_7260_7 - bool "BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160_7260_7 has been renamed" +config BR2_TARGET_GUMMIBOOT + bool "gummiboot removed" select BR2_LEGACY help - The option BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160_7260_7 was - renamed to BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_REV_7. You must - select it in: - Target packages -> Hardware handling -> - Firmware -> linux-firmware -> WiFi firmware -> - iwlwifi 3160/726x revision to use (revision 7) + gummiboot has been deprecated since 2015, with no further + updates. It became integrated into the systemd project as + systemd-boot. -config BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160_7260_8 - bool "BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160_7260_8 has been renamed" +config BR2_PACKAGE_IPUTILS_NINFOD + bool "iputils 20221126 removed ninfod" select BR2_LEGACY help - The option BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160_7260_8 was - renamed to BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_REV_8. You must - select it in: - Target packages -> Hardware handling -> - Firmware -> linux-firmware -> WiFi firmware -> - iwlwifi 3160/726x revision to use (revision 8) + iputils 20221126 removed ninfod. -############################################################################### -comment "Legacy options removed in 2014.08" +config BR2_PACKAGE_IPUTILS_RARPD + bool "iputils 20221126 removed rarpd" + select BR2_LEGACY + help + iputils 20221126 removed rarpd. -config BR2_PACKAGE_LIBELF - bool "libelf has been removed" - select BR2_PACKAGE_ELFUTILS +config BR2_PACKAGE_IPUTILS_RDISC + bool "iputils 20221126 removed rdisc" select BR2_LEGACY help - The libelf package provided an old version of the libelf library - and is deprecated. The libelf library is now provided by the - elfutils package. + iputils 20221126 removed rdisc. -config BR2_KERNEL_HEADERS_3_8 - bool "kernel headers version 3.8.x are no longer supported" - select BR2_KERNEL_HEADERS_3_4 +config BR2_PACKAGE_IPUTILS_RDISC_SERVER + bool "iputils 20221126 removed rdisc" select BR2_LEGACY help - Version 3.8.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.4.x of the headers have been - automatically selected in your configuration. + iputils 20221126 removed rdisc. -config BR2_PACKAGE_GETTEXT_TOOLS - bool "support for gettext-tools on target has been removed" +config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_XINGMUX + bool "xingmux moved" select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_XINGMUX help - The option to install the gettext utilities on the target - has been removed. This is not necessary as Buildroot is not - designed to provide a full development environment on the - target. gettext tools should be used on the build machine - instead. + The xingmux option has been moved to gst1-plugins-good. -config BR2_PACKAGE_PROCPS - bool "procps has been replaced by procps-ng" - select BR2_PACKAGE_PROCPS_NG +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE + bool "videoscale removed" select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERTSCALE help - The procps package has been replaced by the equivalent procps-ng. + The videoscale option has been combined with videoconvert. -config BR2_BINUTILS_VERSION_2_20_1 - bool "binutils 2.20.1 has been removed" +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT + bool "videoconvert removed" select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERTSCALE help - The 2.20.1 version of binutils has been removed. Use a newer - version instead. + The videoconvert option has been combined with videoscale. -config BR2_BINUTILS_VERSION_2_21 - bool "binutils 2.21 has been removed" +config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 + bool "imx-gpu-viv X11 output has been removed" select BR2_LEGACY help - The 2.21 version of binutils has been removed. Use a newer - version instead. + The X11 output was dropped by NXP. -config BR2_BINUTILS_VERSION_2_23_1 - bool "binutils 2.23.1 has been removed" +config BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV + bool "xf86-video-imx-viv has been removed" select BR2_LEGACY help - The 2.23.1 version of binutils has been removed. Use a newer - version instead. + The X11 output was dropped by NXP. + +config BR2_PACKAGE_QEMU_CUSTOM_TARGETS + string "the QEMU specific targets option has been removed" + help + This option has been replaced by a list of individual targets + for the many architectures supported by QEMU. -config BR2_UCLIBC_VERSION_0_9_32 - bool "uclibc 0.9.32 has been removed" +config BR2_PACKAGE_QEMU_CUSTOM_TARGETS_WRAP + bool + default y if BR2_PACKAGE_QEMU_CUSTOM_TARGETS != "" + select BR2_LEGACY + +config BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD + bool "xf86-input-keyboard removed" select BR2_LEGACY help - The 0.9.32 version of uClibc has been removed. Use a newer - version instead. + The X.org keyboard input driver no longer support Linux. -config BR2_GCC_VERSION_4_3_X - bool "gcc 4.3.x has been removed" +config BR2_TARGET_SUN20I_D1_SPL + bool "sun20-d1-spl removed" select BR2_LEGACY help - The 4.3.x version of gcc has been removed. Use a newer - version instead. + U-Boot has gained SPL support for D1, so this temporary + bootloader is no longer supported. -config BR2_GCC_VERSION_4_6_X - bool "gcc 4.6.x has been removed" +config BR2_PACKAGE_PYTHON_M2R + bool "python-m2r removed" select BR2_LEGACY help - The 4.6.x version of gcc has been removed. Use a newer - version instead. + The python-m2r package is unmaintained. -config BR2_GDB_VERSION_7_4 - bool "gdb 7.4 has been removed" +config BR2_PACKAGE_MESA3D_XVMC + bool "mesa Gallium XvMC state tracker removed" select BR2_LEGACY help - The 7.4 version of gdb has been removed. Use a newer version - instead. + The Gallium XvMC state tracker was removed upstream. -config BR2_GDB_VERSION_7_5 - bool "gdb 7.5 has been removed" +config BR2_KERNEL_HEADERS_5_19 + bool "kernel headers version 5.19.x are no longer supported" select BR2_LEGACY help - The 7.5 version of gdb has been removed. Use a newer version - instead. + Version 5.19.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_BUSYBOX_VERSION_1_19_X - bool "busybox version selection has been removed" +config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TGA + bool "xf86-video-tga removed" select BR2_LEGACY help - The possibility of selecting the Busybox version has been - removed. Use the latest version provided by the Busybox - package instead. + The X.org xf86-video-tga package was removed. -config BR2_BUSYBOX_VERSION_1_20_X - bool "busybox version selection has been removed" +config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLINT + bool "xf86-video-glint removed" select BR2_LEGACY help - The possibility of selecting the Busybox version has been - removed. Use the latest version provided by the Busybox - package instead. + The X.org xf86-video-glint package no longer builds with + Xserver 21 and is unmaintained. -config BR2_BUSYBOX_VERSION_1_21_X - bool "busybox version selection has been removed" +config BR2_PACKAGE_USBREDIR_SERVER + bool "usbredirserver removed" select BR2_LEGACY help - The possibility of selecting the Busybox version has been - removed. Use the latest version provided by the Busybox - package instead. + usbredirserver has been dropped by upstream since version + 0.13.0. usbredir tools (which include usbredirect binary) can + be used as a replacement. -config BR2_PACKAGE_LIBV4L_DECODE_TM6000 - bool "decode_tm6000" - select BR2_PACKAGE_LIBV4L_UTILS +comment "Legacy options removed in 2022.11" + +config BR2_BINUTILS_VERSION_2_36_X + bool "binutils 2.36.x has been removed" select BR2_LEGACY help - This libv4l option has been deprecated and replaced by a single - option to build all the libv4l utilities. + binutils 2.36 has been removed, use a newer version. -config BR2_PACKAGE_LIBV4L_IR_KEYTABLE - bool "ir-keytable" - select BR2_PACKAGE_LIBV4L_UTILS +config BR2_PACKAGE_RABBITMQ_SERVER + bool "rabbitmq-server removed" select BR2_LEGACY help - This libv4l option has been deprecated and replaced by a single - option to build all the libv4l utilities. + Package was removed because it was unmaintained and had + known security issues. -config BR2_PACKAGE_LIBV4L_V4L2_COMPLIANCE - bool "v4l2-compliance" - select BR2_PACKAGE_LIBV4L_UTILS +config BR2_PACKAGE_LIBOPENSSL_ENABLE_RC5 + bool "libopenssl rc5 was never enabled" select BR2_LEGACY help - This libv4l option has been deprecated and replaced by a single - option to build all the libv4l utilities. + The libopenssl option for rc5 never actually enabled rc5, + which had always been disabled in Buildroot. -config BR2_PACKAGE_LIBV4L_V4L2_CTL - bool "v4l2-ctl" - select BR2_PACKAGE_LIBV4L_UTILS +config BR2_PACKAGE_LIBDCADEC + bool "package was deprecated upstream, use ffmpeg instead" select BR2_LEGACY help - This libv4l option has been deprecated and replaced by a single - option to build all the libv4l utilities. + This decoder has been fully integrated into FFmpeg master + branch and further development will continue there. Using + FFmpeg for DTS decoding is now recommended. -config BR2_PACKAGE_LIBV4L_V4L2_DBG - bool "v4l2-dbg" - select BR2_PACKAGE_LIBV4L_UTILS +config BR2_KERNEL_HEADERS_5_17 + bool "kernel headers version 5.17.x are no longer supported" select BR2_LEGACY help - This libv4l option has been deprecated and replaced by a single - option to build all the libv4l utilities. + Version 5.17.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -############################################################################### -comment "Legacy options removed in 2014.05" +config BR2_iwmmxt + bool "ARM iwmmxt variant removed" + select BR2_LEGACY + help + Support for the ARM iwmmxt architecture variant in GCC has + bitroten and is no longer maintained. GCC maintainers + recommend to no longer use it, and suggest to use "xscale" + as a replacement architecture variant. See + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106972 -config BR2_PACKAGE_EVTEST_CAPTURE - bool "evtest-capture support removed (dropped since evtest 1.31)" +config BR2_PACKAGE_UHD_N230 + bool "uhd N230 support removed" select BR2_LEGACY help - Support for evtest-capture has been removed (dropped from - evtest package since version 1.31), use evemu package - instead. + uhd N230 support has been dropped by upstream since version + 4.0.0.0. -config BR2_KERNEL_HEADERS_3_6 - bool "kernel headers version 3.6.x are no longer supported" - select BR2_KERNEL_HEADERS_3_4 +config BR2_PACKAGE_UHD_RFNOC + bool "uhd RFNoC support removed" select BR2_LEGACY help - Version 3.6.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.4.x of the headers have been - automatically selected in your configuration. + uhd RFNoC support has been dropped by upstream since version + 4.0.0.0. -config BR2_KERNEL_HEADERS_3_7 - bool "kernel headers version 3.7.x are no longer supported" - select BR2_KERNEL_HEADERS_3_4 +config BR2_PACKAGE_GPSD_OLDSTYLE + bool "gpsd oldstyle removed" select BR2_LEGACY help - Version 3.7.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.4.x of the headers have been - automatically selected in your configuration. + gpsd oldstyle option has been removed by upstream in 2015. -config BR2_PACKAGE_VALA - bool "vala target package has been removed" +config BR2_GDB_VERSION_9_2 + bool "gdb 9.2 removed" select BR2_LEGACY help - The 'vala' target package has been removed since it has been - deprecated for more than four buildroot releases. - Note: the host vala package still exists. + Support for GDB 9.2 has been removed. A new version has + automatically been selected. -config BR2_TARGET_TZ_ZONELIST - default BR2_PACKAGE_TZDATA_ZONELIST if BR2_PACKAGE_TZDATA_ZONELIST != "" +comment "Legacy options removed in 2022.08" -config BR2_PACKAGE_TZDATA_ZONELIST - string "tzdata: the timezone list option has been renamed" +config BR2_ECLIPSE_REGISTER + bool "Eclipse integration removed" + select BR2_LEGACY help - The option BR2_PACKAGE_TZDATA_ZONELIST has been renamed to - BR2_TARGET_TZ_ZONELIST, and moved to the "System configuration" - menu. You'll need to select BR2_TARGET_TZ_INFO. + The Buildroot integration with the Eclipse IDE has been + removed, as the corresponding Eclipse plugin is no longer + maintained, and is no longer usable with current versions of + Eclipse. -config BR2_PACKAGE_TZDATA_ZONELIST_WRAP - bool - default y if BR2_PACKAGE_TZDATA_ZONELIST != "" +config BR2_csky + bool "csky architecture removed" select BR2_LEGACY + help + The csky architecture was removed, by lack of toolchain + support. -config BR2_PACKAGE_LUA_INTERPRETER_EDITING_NONE - bool "Lua command-line editing none has been renamed" +config BR2_PACKAGE_MESA3D_DRI_DRIVER_I915 + bool "mesa DRI i915 driver removed" select BR2_LEGACY help - The BR2_PACKAGE_LUA_INTERPRETER_EDITING_NONE option has been - renamed to BR2_PACKAGE_LUA_EDITING_NONE. You will have to select - it in the corresponding choice. + The DRI i915 driver was removed upstream. -config BR2_PACKAGE_LUA_INTERPRETER_READLINE - bool "Lua command-line editing using readline has been renamed" +config BR2_PACKAGE_MESA3D_DRI_DRIVER_I965 + bool "mesa DRI i965 driver removed" select BR2_LEGACY help - The BR2_PACKAGE_LUA_INTERPRETER_READLINE option has been - renamed to BR2_PACKAGE_LUA_READLINE. You will have to select - it in the corresponding choice. + The DRI i965 driver was removed upstream. -config BR2_PACKAGE_LUA_INTERPRETER_LINENOISE - bool "Lua command-line editing using linenoise has been renamed" +config BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU + bool "mesa DRI nouveau driver removed" select BR2_LEGACY help - The BR2_PACKAGE_LUA_INTERPRETER_LINENOISE option has been - renamed to BR2_PACKAGE_LUA_LINENOISE. You will have to select - it in the corresponding choice. + The DRI radeon nouveau was removed upstream. -config BR2_PACKAGE_DVB_APPS_UTILS - bool "dvb-apps utilities now built by default" +config BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON + bool "mesa DRI radeon r100 driver removed" select BR2_LEGACY help - The dvb-apps utilities are now always built when the dvb-apps - package is selected. + The DRI radeon r100 driver was removed upstream. -config BR2_KERNEL_HEADERS_SNAP - bool "Local Linux snapshot support removed" +config BR2_GCC_VERSION_9_X + bool "gcc 9.x support removed" select BR2_LEGACY help - Support for using a custom snapshot to install the Linux - kernel headers has been removed. + Support for gcc version 9.x has been removed. The current + default version (11.x or later) has been selected instead. -config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV - bool "/dev management by udev removed" +config BR2_PACKAGE_PHP_EXT_WDDX + bool "php wddx removed" select BR2_LEGACY help - The 'udev' package has been converted to a virtual package. - The providers for this feature are: 'eudev', 'systemd'. + The WDDX extension was removed from php. - Therefore, if you are not using 'systemd' as init system, you - must choose 'Dynamic using eudev' in the '/dev management' - menu to get the same behaviour as in your old configuration. +config BR2_nds32 + bool "nds32 architecture removed" + select BR2_LEGACY + help + Support for the nds32 architecture has been removed, due to + its support being removed from the upstream Linux kernel, + and its lack of maintenance in Buildroot. - If you are using 'systemd', its internal implementation of - 'udev' will be used automatically. +config BR2_PACKAGE_RTL8723BS + bool "rtl8723bs removed" + select BR2_LEGACY + help + Package was removed because it is not compatible with latest + kernels and is not maintained anymore: code has been removed + in 2017 as driver is available in the linux-next tree. - You must also check the packages depending on 'udev' are still - selected. +comment "Legacy options removed in 2022.05" -config BR2_PACKAGE_UDEV - bool "udev is now a virtual package" +config BR2_PACKAGE_KTAP + bool "ktap removed" select BR2_LEGACY - select BR2_PACKAGE_HAS_UDEV help - The 'udev' package has been converted to a virtual package. - The providers for this feature are: 'eudev', 'systemd'. + Package was removed because it is not compatible with latest + kernels and is not maintained anymore (no release since 2013). - Your old configuration refers to packages depending on 'udev', - either for build or at runtime. +config BR2_KERNEL_HEADERS_5_16 + bool "kernel headers version 5.16.x are no longer supported" + select BR2_LEGACY + help + Version 5.16.x of the Linux kernel headers are no longer + maintained upstream and are now removed. - Check that a 'udev' provider is selected. If you are not using - 'systemd' as init system, 'eudev' should be selected, which is - the case if '/dev management' is set to 'Dynamic using eudev'. +config BR2_KERNEL_HEADERS_4_4 + bool "kernel headers version 4.4.x are no longer supported" + select BR2_LEGACY + help + Version 4.4.x of the Linux kernel headers are no longer + maintained upstream and are now removed. - If you are using 'systemd', its internal implementation of 'udev' - is used. +config BR2_BINUTILS_VERSION_2_32_X + bool "binutils 2.32.x has been removed" + select BR2_LEGACY + help + binutils 2.32 has been removed, use a newer version. -config BR2_PACKAGE_UDEV_RULES_GEN - bool "udev rules generation handled by provider" +config BR2_sh2a + bool "sh2a architecture support removed" select BR2_LEGACY - select BR2_PACKAGE_EUDEV if !BR2_INIT_SYSTEMD - select BR2_PACKAGE_EUDEV_RULES_GEN if !BR2_INIT_SYSTEMD help - The 'udev' package has been converted to a virtual package. - The providers for this feature are: 'eudev', 'systemd'. + The SuperH 2A (SH2A) architecture was not maintained, and + broken, so its support was dropped. - If you are not using 'systemd' as init system, udev rules - generation will be handled by 'eudev'. Check that - '/dev management' is set to 'Dynamic using eudev' to get - the same behaviour as in your old configuration. +config BR2_BINUTILS_VERSION_2_35_X + bool "binutils 2.35.x has been removed" + select BR2_LEGACY + help + binutils 2.35 has been removed, use a newer version. - If you are using 'systemd', it internal implementation of 'udev' - will generate the rules. +config BR2_PACKAGE_BOOST_LAYOUT_TAGGED + bool "boost tagged layout removed" + select BR2_LEGACY + help + Boost tagged layout isn't handled by some packages (e.g. botan + or libcpprestsdk). -config BR2_PACKAGE_UDEV_ALL_EXTRAS - bool "udev extras removed" +config BR2_PACKAGE_BOOST_LAYOUT_VERSIONED + bool "boost versioned layout removed" select BR2_LEGACY help - The 'udev' package has been converted to a virtual package. - The providers for this feature are: 'eudev', 'systemd'. + Boost versioned layout isn't handled by a number of autotools + and cmake packages (e.g. azmq, cc-tool, i2pd). + +comment "Legacy options removed in 2022.02" + +config BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS + string "entrypoint argumetns has been changed as command" + help + The OCI image BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS option + has been renamed to BR2_TARGET_ROOTFS_OCI_CMD to better + reflect its relation to the actual 'command' of the OCI + image. + + The new semantic for BR2_TARGET_ROOTFS_OCI_CMD is slightly + differnt in relation to how it is interpreted, so be sure to + review the help entry for it. - The option to enable the extra features of 'udev' (gudev, ...) - has been removed. These features are automatically enabled in - the 'udev' providers if the dependencies are selected. For - example, selecting 'libglib2' will trigger the build of gudev. + Due to this breaking change, the old value here could not be + set to the new variable. + +config BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS_WRAP + bool + default y if BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS != "" + select BR2_LEGACY -config BR2_PACKAGE_XLIB_LIBPTHREAD_STUBS - bool "xlib-libpthread-stubs option has been renamed" - depends on BR2_PACKAGE_XORG7 +config BR2_PACKAGE_LIBCURL_LIBNSS + bool "libcurl NSS removed" select BR2_LEGACY - select BR2_PACKAGE_LIBPTHREAD_STUBS help - The pthread stubs neither depend on X11 nor Xlib. Thus the - package has been renamed BR2_PACKAGE_LIBPTHREAD_STUBS + NSS was deprecated in libcurl 7.82.0. -############################################################################### -comment "Legacy options removed in 2014.02" +config BR2_PACKAGE_WESTON_DEFAULT_FBDEV + bool "weston fbdev removed" + select BR2_LEGACY + help + fbdev was deprecated in weston 10.0.0. -config BR2_sh2 - bool "sh2 support removed" +config BR2_PACKAGE_WESTON_FBDEV + bool "weston fbdev compositor removed" select BR2_LEGACY help - Due to an inexistent user base and generally poor Linux - support, the support for the SH2 architecture was removed. + fbdev compositor was deprecated in weston 10.0.0. -config BR2_sh3 - bool "sh3 support removed" +config BR2_PACKAGE_PYTHON_PYCLI + bool "python-pycli removed" select BR2_LEGACY help - Due to an inexistent user base and generally poor Linux - support, the support for the SH3 architecture was removed. + Package was removed because it is not compatible with python + 3.10 and is not maintained anymore (no release since 2012). -config BR2_sh3eb - bool "sh3eb support removed" +config BR2_PACKAGE_LINUX_TOOLS_BPFTOOL + bool "bpftool was moved" select BR2_LEGACY + select BR2_PACKAGE_BPFTOOL help - Due to an inexistent user base and generally poor Linux - support, the support for the SH3eb architecture was removed. + The linux-tools bpftool build has been moved out + of the linux-tools package. -config BR2_KERNEL_HEADERS_3_1 - bool "kernel headers version 3.1.x are no longer supported" - select BR2_KERNEL_HEADERS_3_2 +config BR2_TARGET_UBOOT_NEEDS_PYTHON2 + bool "host-python 2.7 support for U-Boot was removed" select BR2_LEGACY help - Version 3.1.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.2.x of the headers have been - automatically selected in your configuration. + Option was removed together with python 2.7 support. -config BR2_KERNEL_HEADERS_3_3 - bool "kernel headers version 3.3.x are no longer supported" - select BR2_KERNEL_HEADERS_3_2 +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIBMMS + bool "gst1-plugins-bad plugin libmms was removed" + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_LEGACY help - Version 3.3.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.2.x of the headers have been - automatically selected in your configuration. + This plugin was removed with gst1-plugins-bad-1.20.0. -config BR2_KERNEL_HEADERS_3_5 - bool "kernel headers version 3.5.x are no longer supported" - select BR2_KERNEL_HEADERS_3_4 +config BR2_PACKAGE_PYTHON_FUNCTOOLS32 + bool "python-functools32 removed" select BR2_LEGACY help - Version 3.5.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.4.x of the headers have been - automatically selected in your configuration. + Package was removed together with python 2.7 support. -config BR2_GDB_VERSION_7_2 - bool "gdb 7.2.x is no longer supported" - select BR2_GDB_VERSION_7_6 +config BR2_PACKAGE_PYTHON_ENUM34 + bool "python-enum34 removed" select BR2_LEGACY help - Version 7.2.x of gdb has been deprecated for more than four - buildroot releases and is now removed. As an alternative, gdb - 7.5.x has been automatically selected in your configuration. + Package was removed together with python 2.7 support. -config BR2_GDB_VERSION_7_3 - bool "gdb 7.3.x is no longer supported" - select BR2_GDB_VERSION_7_6 +config BR2_PACKAGE_PYTHON_ENUM + bool "python-enum removed" select BR2_LEGACY help - Version 7.3.x of gdb has been deprecated for more than four - buildroot releases and is now removed. As an alternative, gdb - 7.5.x has been automatically selected in your configuration. + Package was removed together with python 2.7 support. -config BR2_PACKAGE_CCACHE - bool "ccache target package has been removed" +config BR2_PACKAGE_PYTHON_DIALOG + bool "python-dialog removed" select BR2_LEGACY help - The 'ccache' target package has been removed since it has been - deprecated for more than four buildroot releases. - Note: using ccache for speeding up builds is still supported. + Package was removed together with python 2.7 support. -config BR2_HAVE_DOCUMENTATION - bool "support for documentation on target has been removed" +config BR2_PACKAGE_PYTHON_YIELDFROM + bool "python-yieldfrom removed" select BR2_LEGACY help - Support for documentation on target has been removed since it has - been deprecated for more than four buildroot releases. + Package was removed together with python 2.7 support. -config BR2_PACKAGE_AUTOMAKE - bool "automake target package has been removed" +config BR2_PACKAGE_PYTHON_TYPING + bool "python-typing removed" select BR2_LEGACY help - The 'automake' target package has been removed since it has been - deprecated for more than four buildroot releases. - Note: the host automake still exists. + Package was removed together with python 2.7 support. -config BR2_PACKAGE_AUTOCONF - bool "autoconf target package has been removed" +config BR2_PACKAGE_PYTHON_SUBPROCESS32 + bool "python-subprocess32 removed" select BR2_LEGACY help - The 'autoconf' target package has been removed since it has been - deprecated for more than four buildroot releases. - Note: the host autoconf still exists. + Package was removed together with python 2.7 support. -config BR2_PACKAGE_XSTROKE - bool "xstroke has been removed" +config BR2_PACKAGE_PYTHON_SINGLEDISPATCH + bool "python-singledispatch removed" select BR2_LEGACY help - The 'xstroke' package has been removed since it has been - deprecated for more than four buildroot releases. + Package was removed together with python 2.7 support. -config BR2_PACKAGE_LZMA - bool "lzma target package has been removed" +config BR2_PACKAGE_PYTHON_PYRO + bool "python-pyro removed" select BR2_LEGACY help - The 'lzma' target package has been removed since it has been - deprecated for more than four buildroot releases. - Note: generating lzma-compressed rootfs images is still supported. + Package was removed together with python 2.7 support. -config BR2_PACKAGE_TTCP - bool "ttcp has been removed" +config BR2_PACKAGE_PYTHON_PYPCAP + bool "python-pypcap removed" select BR2_LEGACY help - The 'ttcp' package has been removed since it has been - deprecated for more than four buildroot releases. + Package was removed together with python 2.7 support. -config BR2_PACKAGE_LIBNFC_LLCP - bool "libnfc-llcp has been replaced by libllcp" +config BR2_PACKAGE_PYTHON_PATHLIB2 + bool "python-pathlib2 removed" select BR2_LEGACY - select BR2_PACKAGE_LIBLLCP help - The 'libnfc-llcp' package has been removed since upstream renamed - to 'libllcp'. We have added a new package for 'libllcp' and bumped - the version at the same time. + Package was removed together with python 2.7 support. -config BR2_PACKAGE_MYSQL_CLIENT - bool "MySQL client renamed to MySQL" +config BR2_PACKAGE_PYTHON_PAM + bool "python-pam removed" select BR2_LEGACY - select BR2_PACKAGE_MYSQL help - The option has been renamed BR2_PACKAGE_MYSQL + Package was removed together with python 2.7 support. -config BR2_PACKAGE_SQUASHFS3 - bool "squashfs3 has been removed" +config BR2_PACKAGE_PYTHON_NFC + bool "python-nfc removed" select BR2_LEGACY - select BR2_PACKAGE_SQUASHFS help - The 'squashfs3' package has been removed since it has been - deprecated for more than four buildroot releases. Package - 'squashfs' (4) has been selected automatically as replacement. + Package was removed together with python 2.7 support. -config BR2_TARGET_ROOTFS_SQUASHFS3 - bool "squashfs3 rootfs support has been removed" +config BR2_PACKAGE_PYTHON_MAD + bool "python-mad removed" select BR2_LEGACY help - Together with the removal of the squashfs3 package, support - for squashfs3 root filesystems has been removed too. Squashfs - root filesystems will automatically use squashfs4 now. + Package was removed together with python 2.7 support. -config BR2_PACKAGE_NETKITBASE - bool "netkitbase has been removed" +config BR2_PACKAGE_PYTHON_IPADDRESS + bool "python-ipaddress removed" select BR2_LEGACY help - The 'netkitbase' package has been removed since it has been - deprecated since 2012.11. This package provided 'inetd' - which is replaced by 'xinet' and 'ping' which is replaced by - 'busybox' or 'fping'. + Package was removed together with python 2.7 support. -config BR2_PACKAGE_NETKITTELNET - bool "netkittelnet has been removed" +config BR2_PACKAGE_PYTHON_IPADDR + bool "python-ipaddr removed" select BR2_LEGACY help - The 'netkittelnet' package has been removed since it has - been deprecated since 2012.11. 'busybox' provides a telnet - client and should be used instead. + Package was removed together with python 2.7 support. -config BR2_PACKAGE_LUASQL - bool "luasql has been replaced by luasql-sqlite3" - select BR2_PACKAGE_LUASQL_SQLITE3 +config BR2_PACKAGE_PYTHON_ID3 + bool "python-id3 removed" select BR2_LEGACY help - The option has been renamed BR2_PACKAGE_LUASQL_SQLITE3. + Package was removed together with python 2.7 support. -config BR2_PACKAGE_LUACJSON - bool "luacjson has been replaced by lua-cjson" - select BR2_PACKAGE_LUA_CJSON +config BR2_PACKAGE_PYTHON_FUTURES + bool "python-futures removed" select BR2_LEGACY help - The option has been renamed BR2_PACKAGE_LUA_CJSON. + Package was removed together with python 2.7 support. -############################################################################### -comment "Legacy options removed in 2013.11" +config BR2_PACKAGE_PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME + bool "python-backports-ssl-match-hostname removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. -config BR2_PACKAGE_LVM2_DMSETUP_ONLY - bool "lvm2's 'dmsetup only' option removed" +config BR2_PACKAGE_PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE + bool "python-backports-shutil-get-terminal-size removed" select BR2_LEGACY help - The BR2_PACKAGE_LVM2_DMSETUP_ONLY was a negative option, which - led to problems with other packages that need the full lvm2 - suite. Therefore, the option has been replaced with the positive - BR2_PACKAGE_LVM2_STANDARD_INSTALL option. + Package was removed together with python 2.7 support. -# Note: BR2_PACKAGE_LVM2_DMSETUP_ONLY is still referenced in package/lvm2/Config.in -# in order to automatically propagate old configs +config BR2_PACKAGE_PYTHON_BACKPORTS_ABC + bool "python-backports-abc removed" + select BR2_LEGACY + help + Package was removed together with python 2.7 support. -config BR2_PACKAGE_QT_JAVASCRIPTCORE - bool "qt javascriptcore option removed" +config BR2_PACKAGE_PYTHON + bool "python2.7 package removed" select BR2_LEGACY help - The BR2_PACKAGE_QT_JAVASCRIPTCORE option was available to - force the activation or disabling of the JIT compiler in the - Qt Javascript interpreter. However, the JIT compiler is not - available for all architectures, so forcing its activation - does not always work. Moreover, Qt knows by itself for which - architectures JIT support is possible, and will - automatically enable it if possible. + Python 2.7 is EOL since April 2020 and has been removed. - Therefore, this option was in fact useless, and causing - build problems when enabled on architectures for which the - JIT support was not available. It has been removed, and - there is no replacement: Qt will enable JIT at compile time - when possible. + https://www.python.org/dev/peps/pep-0373/ -config BR2_PACKAGE_MODULE_INIT_TOOLS - bool "module-init-tools replaced by kmod" - select BR2_PACKAGE_KMOD - select BR2_PACKAGE_KMOD_TOOLS +config BR2_TARGET_UBOOT_ZYNQ_IMAGE + bool "Generate image for Xilinx Zynq" select BR2_LEGACY help - The 'module-init-tools' package has been removed, since it - has been depracated upstream and replaced by 'kmod'. + Since 2016.1, U-Boot can natively generate the Zynq boot + image, and so the Xilinx-specific format and tools have been + removed. Should you still have an older U-Boot that needs + this, a python3 version of the zynq-boot-bin.py script can be + downloaded from the URL below and called from a post-build + script. -config BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL - string "u-boot: the git repository URL option has been renamed" + https://gist.githubusercontent.com/jameshilliard/e09235dfc6f96c11418a134e6ebf7890/raw/135b7480c405ae8a77a9db615e495f9a9f2d3242/zynq-boot-bin.py + +config BR2_PACKAGE_RPI_BT_FIRMWARE + bool "rpi-bt-firmware package was renamed" + depends on BR2_arm || BR2_aarch64 + select BR2_LEGACY + select BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI + select BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT help - The option BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL has - been renamed to BR2_TARGET_UBOOT_CUSTOM_REPO_URL. + Package rpi-bt-firmware was moved as option to + package brcmfmac_sdio-firmware-rpi. -config BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL_WRAP - bool - default y if BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL != "" +config BR2_PACKAGE_RPI_WIFI_FIRMWARE + bool "rpi-wifi-firmware package was renamed" + depends on BR2_arm || BR2_aarch64 select BR2_LEGACY + select BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI + select BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI + help + Package rpi-wifi-firmware was moved as option to + package brcmfmac_sdio-firmware-rpi. -# Note: BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL is still referenced from -# boot/uboot/Config.in +config BR2_PACKAGE_HOST_GDB_PYTHON + bool "GDB Python2 support removed" + select BR2_LEGACY + help + Python2 is deprecated and no longer supported. + Please migrate to Python3. -config BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION - string "u-boot: the git repository version option has been renamed" +config BR2_PACKAGE_GSTREAMER1_MM + bool "gstreamer1-mm package removed" + select BR2_LEGACY help - The option BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION has - been renamed to BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION. + This package has been removed as it is not actively + maintained anymore and does not support glibmm-2.68 API. -config BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION_WRAP - bool - default y if BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION != "" +config BR2_KERNEL_HEADERS_5_14 + bool "kernel headers version 5.14.x are no longer supported" select BR2_LEGACY + help + Version 5.14.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -# Note: BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION is still referenced from -# boot/uboot/Config.in +config BR2_PACKAGE_PYTHON_BACKPORTS_FUNCTOOLS_LRU_CACHE + bool "python-backports-functools-lru-cache package removed" + select BR2_LEGACY + help + This package has been removed as python-setuptools-scm + dropped support of python 2 since version 6.0.0. -config BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL - string "linux: the git repository URL option has been renamed" +config BR2_PACKAGE_CIVETWEB_WITH_LUA + bool "civetweb lua support option removed" + select BR2_LEGACY help - The option BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL has - been renamed to - BR2_LINUX_KERNEL_CUSTOM_REPO_URL. + Lua support does not depend on a version of Lua bundled + within the Civetweb sources anymore. Lua support is + automatically enabled if an Lua interpreter (lua or luajit) + is enabled in Buildroot. -config BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL_WRAP - bool - default y if BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL != "" +config BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER + bool "sunxi-mali-mainline-driver package was renamed" select BR2_LEGACY + select BR2_PACKAGE_SUNXI_MALI_UTGARD_DRIVER + help + Since the removal of the sunxi-mali-driver package, the + sunxi-mali-mainline-driver package that coexisted became the + only package to provide the Sunxi Mali driver. The "-mainline" + suffix being undescriptive nowadays and before adding new + packages bringing Mali support for other SoCs/GPU flavors, it + is clearer to rename it SUNXI_MALI_UTGARD_DRIVER. -# Note: BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL is still referenced from -# linux/Config.in +config BR2_PACKAGE_SUNXI_MALI_MAINLINE + bool "sunxi-mali-mainline package was renamed" + select BR2_LEGACY + select BR2_PACKAGE_SUNXI_MALI_UTGARD + help + Since the removal of the sunxi-mali package, the + sunxi-mali-mainline package that coexisted became the only + package to provide Mali blobs. The "-mainline" suffix being + undescriptive nowadays and before adding new packages bringing + Mali support for other SoCs/GPU flavors, it is clearer to + rename it SUNXI_MALI_UTGARD. -config BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION - string "linux: the git repository version option has been renamed" +config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2 + bool "sunxi-mali-mainline-r6p2 was renamed" + select BR2_LEGACY help - The option BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION has - been renamed to - BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION. + The sunxi-mali-mainline package has been renamed + sunxi-mali-utgard, the suboptions of this package have also + been renamed accordingly. +# Note: BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2 is still referenced from +# package/sunxi-mali-utgard/Config.in -config BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION_WRAP - bool - default y if BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION != "" +config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1 + bool "sunxi-mali-mainline-r8p1 was renamed" select BR2_LEGACY + help + The sunxi-mali-mainline package has been renamed + sunxi-mali-utgard, the suboptions of this package have also + been renamed accordingly. +# Note: BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1 is still referenced from +# package/sunxi-mali-utgard/Config.in -# Note: BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION is still referenced from -# linux/Config.in +config BR2_PACKAGE_QT5WEBKIT_EXAMPLES + bool "qt5webkit-examples removed" + select BR2_LEGACY + help + The qt5webkit-examples package is unmaintained and has been + removed. -############################################################################### -comment "Legacy options removed in 2013.08" +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_GLIBC_BLEEDING_EDGE + bool "Bootlin riscv64 glibc bleeding-edge toolchain removed" + select BR2_LEGACY + help + The RISC-V 64-bit LP64 Bootlin toolchains have been removed, + in favor of RISC-V 64-bit LP64D toolchains. -config BR2_ARM_OABI - bool "ARM OABI support has been removed" +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_MUSL_BLEEDING_EDGE + bool "Bootlin riscv64 musl bleeding-edge toolchain removed" select BR2_LEGACY help - The support for the ARM OABI was deprecated since a while, - and has been removed completely from Buildroot. It is also - deprecated in upstream gcc, since gcc 4.7. People should - switch to EABI instead, which should not be a problem as - long as you don't have pre-built OABI binaries in your - system that you can't recompile. + The RISC-V 64-bit LP64 Bootlin toolchains have been removed, + in favor of RISC-V 64-bit LP64D toolchains. -config BR2_PACKAGE_DOSFSTOOLS_DOSFSCK - bool "dosfstools dosfsck renamed to fsck.fat" +config BR2_PACKAGE_IPUTILS_TFTPD + bool "iputils tftpd option removed" select BR2_LEGACY - select BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT help - dosfsck was renamed upstream to fsck.fat for consistency. + tftpd has been removed from iputils since version 20211215. -config BR2_PACKAGE_DOSFSTOOLS_DOSFSLABEL - bool "dosfstools dosfslabel renamed to fatlabel" +config BR2_PACKAGE_IPUTILS_TRACEROUTE6 + bool "iputils traceroute6 option removed" select BR2_LEGACY - select BR2_PACKAGE_DOSFSTOOLS_FATLABEL help - doslabel was renamed upstream to fatlabel for consistency. + traceroute6 has been removed from iputils since version + 20211215. -config BR2_PACKAGE_DOSFSTOOLS_MKDOSFS - bool "dosfstools mkdosfs renamed to mkfs.fat" +config BR2_PACKAGE_LIBMEDIAART_BACKEND_NONE + bool "libmediaart 'none' backend removed" select BR2_LEGACY - select BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT help - mkdosfs was renamed upstream to mkfs.fat for consistency. + 'none' backend has been removed from libmediaart since version + 1.9.5. -config BR2_ELF2FLT - bool "the elf2flt option has been renamed" +config BR2_PACKAGE_MPD_UPNP + bool "MPD UPnP configuration changed" select BR2_LEGACY help - The BR2_ELF2FLT option has been renamed to - BR2_PACKAGE_HOST_ELF2FLT due to the conversion of elf2flt to - the package infrastructure. + From version 0.23, MPD supports npupnp in addition to pupnp to + provide database access to a UPnP media server. To preserve + the existing functionality, the pupnp option has been selected + in the MPD UPnP configuration. +# Note: BR2_PACKAGE_MPD_UPNP is still referenced from package/mpd/Config.in -config BR2_VFP_FLOAT - bool "the ARM VFP floating point option has been renamed" +comment "Legacy options removed in 2021.11" + +config BR2_OPENJDK_VERSION_LTS + bool "OpenJDK LTS version was renamed to OpenJDK 11" select BR2_LEGACY help - Due to a major refactoring of the floating-point handling of - the ARM architecture support, the BR2_VFP_FLOAT option has - been replaced with a choice of options that allows to select - between various VFP versions/capabilities. + The LTS version option was renamed to OpenJDK 11 to make it + clear what LTS version is. +# Note: BR2_OPENJDK_VERSION_LTS is still referenced from +# package/openjdk/Config.in -config BR2_PACKAGE_GCC_TARGET - bool "gcc on the target filesystem has been removed" +config BR2_OPENJDK_VERSION_LATEST + bool "OpenJDK latest version (16.x) was removed" select BR2_LEGACY help - The support for gcc in the target filesystem was deprecated - since a while, and has been removed completely from Buildroot. - See Buildroot's documentation for more explanations. + OpenJDK 16.x is no longer mainted, so the option has been + removed. Use OpenJDK 17.x instead. +# Note: BR2_OPENJDK_VERSION_LATEST is still referenced from +# package/openjdk/Config.in -config BR2_HAVE_DEVFILES - bool "development files in target filesystem has been removed" +config BR2_PACKAGE_MPD_TIDAL + bool "mpd tidal option removed" select BR2_LEGACY help - The installation of the development files in the target - filesystem was deprecated since a while, and has been removed - completely from Buildroot. - See Buildroot's documentation for more explanations. + tidal has been removed from mpd since version 0.22.10. -############################################################################### -comment "Legacy options removed in 2013.05" +config BR2_PACKAGE_MROUTED_RSRR + bool "RSRR for RSVP removed in mrouted v4.4" + select BR2_LEGACY + help + The RSRR configure option and feature was dropped in upstream + mrouted as of v4.4. This feature was marked as experimental + since its inception well before v4.0 and was never deployed + in the field outside of academia. -config BR2_PACKAGE_LINUX_FIRMWARE_RTL_8192 - bool "Realtek 8192 replaced by Realtek 81xx" +config BR2_BINUTILS_VERSION_CSKY + bool "binutils csky version removed" select BR2_LEGACY - select BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX help - Now covers the whole Realtek 81xx familly: 8188/8192. + Support for binutils csky version has been removed. -config BR2_PACKAGE_LINUX_FIRMWARE_RTL_8712 - bool "Realtek 8712 replaced by Realtek 87xx" +config BR2_GCC_VERSION_CSKY + bool "gcc csky version removed" select BR2_LEGACY - select BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX help - Now covers the whole Realtek 87xx familly: 8712/8723. + Support for gcc csky version has been removed. -############################################################################### -comment "Legacy options removed in 2013.02" +config BR2_PACKAGE_CANFESTIVAL + bool "canfestival package removed" + select BR2_LEGACY + help + This package has been removed as it is unmaintained since + November 2017. -config BR2_sa110 - bool "sa110 ARM target switched to strongarm" +config BR2_PACKAGE_NMAP_NDIFF + bool "The ndiff utility has been removed" select BR2_LEGACY - select BR2_strongarm + select BR2_PACKAGE_PYTHON_PYNDIFF help - The SA110 is the same as a generic StrongARM, it just differs - in speed, peripherals and cache. + The ndiff utility provided by nmap requires python2 which is + deprecated. The same functionality is provided by the python + package pyndiff. -config BR2_sa1100 - bool "sa1100 ARM target switched to strongarm" +config BR2_GDB_VERSION_8_3 + bool "gdb version 8.3.x removed" select BR2_LEGACY - select BR2_strongarm help - The SA1100 is the same as a generic StrongARM, it just differs - in speed, peripherals and cache. + gdb 8.3.x has been removed, use a newer version instead. -config BR2_PACKAGE_GDISK - bool "gdisk has been replaced by gptfdisk" +config BR2_PACKAGE_PYTHON_MELD3 + bool "python-meld3 package removed" select BR2_LEGACY - select BR2_PACKAGE_GPTFDISK help - The option has been renamed BR2_PACKAGE_GPTFDISK. + This package has been removed as it is unmaintained since + April 2020. -config BR2_PACKAGE_GDISK_GDISK - bool "gdisk tool from gdisk has been replaced by gdisk in gptfdisk" +config BR2_PACKAGE_STRONGSWAN_EAP + bool "strongswan EAP plugins now individually selectable" select BR2_LEGACY - select BR2_PACKAGE_GPTFDISK - select BR2_PACKAGE_GPTFDISK_GDISK help - The option has been renamed BR2_PACKAGE_GPTFDISK_GDISK. + The various EAP plugins are now individually selectable. -config BR2_PACKAGE_GDISK_SGDISK - bool "sgdisk tool from gdisk has been replaced by sgdisk in gptfdisk" +config BR2_PACKAGE_GNURADIO_PAGER + bool "gnuradio gr-flex support removed" select BR2_LEGACY - select BR2_PACKAGE_GPTFDISK - select BR2_PACKAGE_GPTFDISK_SGDISK help - The option has been renamed BR2_PACKAGE_GPTFDISK_SGDISK. + gr-flex has been removed from gnuradio since version 3.8.0.0. -config BR2_PACKAGE_GDB_HOST - bool "gdb for the host option has been renamed" - select BR2_PACKAGE_HOST_GDB +config BR2_KERNEL_HEADERS_5_11 + bool "kernel headers version 5.11.x are no longer supported" select BR2_LEGACY help - Due to the conversion of gdb to the package infrastructure, - the BR2_PACKAGE_GDB_HOST option has been renamed - BR2_PACKAGE_HOST_GDB. + Version 5.11.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_PACKAGE_DIRECTB_DITHER_RGB16 - bool "DirectFB RGB16 dithering option has been renamed" - select BR2_PACKAGE_DIRECTFB_DITHER_RGB16 +config BR2_KERNEL_HEADERS_5_12 + bool "kernel headers version 5.12.x are no longer supported" select BR2_LEGACY help - The option has been renamed - BR2_PACKAGE_DIRECTFB_DITHER_RGB16. + Version 5.12.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -config BR2_PACKAGE_DIRECTB_TESTS - bool "DirectFB Tests option has been renamed" - select BR2_PACKAGE_DIRECTFB_TESTS +config BR2_KERNEL_HEADERS_5_13 + bool "kernel headers version 5.13.x are no longer supported" select BR2_LEGACY help - The option has been renamed - BR2_PACKAGE_DIRECTFB_TESTS. + Version 5.13.x of the Linux kernel headers are no longer + maintained upstream and are now removed. -############################################################################### -comment "Legacy options removed in 2012.11" +comment "Legacy options removed in 2021.08" -config BR2_PACKAGE_CUSTOMIZE - bool "customize package has been removed" +config BR2_TARGET_GRUB2_BUILTIN_MODULES + string "the grub2 builtin modules has been renamed" + help + This option has been split to separate the builtin modules + between BR2_TARGET_GRUB2_BUILTIN_MODULES_PC and + BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI. + +config BR2_TARGET_GRUB2_BUILTIN_MODULES_WRAP + bool + default y if BR2_TARGET_GRUB2_BUILTIN_MODULES != "" select BR2_LEGACY + +config BR2_TARGET_GRUB2_BUILTIN_CONFIG + string "the grub2 builtin configuration has been renamed" help - The 'customize' special package has been removed. Instead, - we recommend to create either your own packages, or use a - post-build script to customize your root filesystem. See - Buildroot's documentation for more details. + This option has been split to separate the builtin + configuration between BR2_TARGET_GRUB2_BUILTIN_CONFIG_PC and + BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI. -config BR2_PACKAGE_XSERVER_xorg - bool "X.org modular server" +config BR2_TARGET_GRUB2_BUILTIN_CONFIG_WRAP + bool + default y if BR2_TARGET_GRUB2_BUILTIN_CONFIG != "" + select BR2_LEGACY + +config BR2_PACKAGE_LIBMCRYPT + bool "libmcrypt package was removed" select BR2_LEGACY - select BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR help - The option has been renamed - BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR. + This package has been removed as "the last update to libmcrypt + was in 2007, despite years of unmerged patches. These facts + have led security experts to declare mcrypt abandonware and + discourage its use in new development" (extract from + https://en.wikipedia.org/wiki/Mcrypt). -config BR2_PACKAGE_XSERVER_tinyx - bool "KDrive / TinyX server" +config BR2_PACKAGE_MCRYPT + bool "mcrypt package was removed" select BR2_LEGACY - select BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE help - The option has been renamed - BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE. + This package has been removed as "the last update to libmcrypt + was in 2007, despite years of unmerged patches. These facts + have led security experts to declare mcrypt abandonware and + discourage its use in new development" (extract from + https://en.wikipedia.org/wiki/Mcrypt). -config BR2_PACKAGE_PTHREAD_STUBS - bool "pthread-stubs option has been renamed" +config BR2_PACKAGE_PHP_EXT_MCRYPT + bool "PHP mcrypt extension removed" select BR2_LEGACY - select BR2_PACKAGE_LIBPTHREAD_STUBS help - For consistency reason, the pthread-stubs package has been - renamed to libpthread-stubs. + mcrypt has been removed from php since version 7.2.0. -############################################################################### -comment "Legacy options removed in 2012.08" +config BR2_BINUTILS_VERSION_2_34_X + bool "binutils 2.34 has been removed" + select BR2_LEGACY + help + binutils 2.34 has been removed, use a newer version. + +config BR2_PACKAGE_LIBSOIL + bool "libsoil package removed" + select BR2_LEGACY + help + The libsoil package was removed. All packages needing + libsoil removed the dependency. + +config BR2_PACKAGE_CLAPACK + bool "cblas/clapack package removed" + select BR2_LEGACY + select BR2_PACKAGE_LAPACK if BR2_PACKAGE_LAPACK_ARCH_SUPPORTS && BR2_TOOLCHAIN_HAS_FORTRAN + help + The clapack package was removed. LAPACK no longer generates a + C version. Use lapack instead. This does require a Fortran + compiler however. + +config BR2_PACKAGE_SPIDERMONKEY + bool "spidermonkey package removed" + select BR2_LEGACY + help + The spidermonkey package was removed. The only package that + depended on spidermonkey was polkit. The spidermonkey + dependency is replaced with duktape. + +config BR2_PACKAGE_KODI_LIBVA + bool "kodi option to add libva support removed" + select BR2_LEGACY + help + Kodi still has support for libva if the package is enabled but + the kodi-specific dependencies limiting libva support to non- + OPENGLES platforms were removed including this option. + +config BR2_PACKAGE_PYTHON_COHERENCE + bool "python-coherence package removed" + select BR2_LEGACY + help + This package has been removed as it can't be built anymore due + to python-twisted being now incompatible with python 2. + +config BR2_PACKAGE_PHP_EXT_XMLRPC + bool "PHP XMLRPC extension removed" + select BR2_LEGACY + help + The XMLRPC php extension was removed. + See: https://wiki.php.net/rfc/unbundle_xmlprc + +config BR2_GCC_VERSION_8_X + bool "gcc 8.x support removed" + select BR2_LEGACY + help + Support for gcc version 8.x has been removed. The current + default version (10.x or later) has been selected instead. + +comment "Legacy options removed in 2021.05" -config BR2_PACKAGE_GETTEXT_STATIC - bool "libgettext.a is now selected by BR2_PREFER_STATIC_LIB" +config BR2_PACKAGE_UDISKS_LVM2 + bool "udisks lvm2 support removed" select BR2_LEGACY help - To build a static gettext library, select BR2_PREFER_STATIC_LIB. + The lvm2 support was removed because udisks < 2.7.0 still + depends on lvm2 application library, which was removed + in lvm2. +config BR2_PACKAGE_LVM2_APP_LIBRARY + bool "lvm2 application library removed" + select BR2_LEGACY + help + The lvm2 application library was removed upstream. + +config BR2_PACKAGE_LVM2_LVMETAD + bool "lvm2 lvmetad removed" + select BR2_LEGACY + help + The lvm2 lvmetad was removed upstream. + +config BR2_PACKAGE_MONKEY + bool "monkey package removed" + select BR2_LEGACY + help + This package has been removed as it has not seen any release + since 2016 and because TLS is broken on master. + +config BR2_PACKAGE_DOCKER_CONTAINERD + bool "docker-containerd package was renamed to containerd" + select BR2_LEGACY + select BR2_PACKAGE_CONTAINERD + help + The containerd project is now independent from Docker. + The package was renamed to containerd accordingly. + +config BR2_PACKAGE_IOSTAT + bool "iostat package removed" + select BR2_LEGACY + help + This package has been removed, use sysstat instead. + +config BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE_IMAGE + bool "sconeserver http::sconesite::image removed" + select BR2_LEGACY + help + Sconeserver cannot be built with ImageMagick - it uses the + "transofrm" function which is removed from public API. + +config BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_EVDEV + bool "KDrive/TinyX evdev input driver removed" + select BR2_LEGACY + help + The evdev input driver in KDrive was removed. + +config BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_KBD + bool "KDrive/TinyX kbd input driver removed" + select BR2_LEGACY + help + The kbd input driver in KDrive was removed. + +config BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_MOUSE + bool "KDrive/TinyX mouse input driver removed" + select BR2_LEGACY + help + The mouse input driver in KDrive was removed. + +config BR2_PACKAGE_MESA3D_OSMESA_CLASSIC + bool "mesa OSMesa (classic) option removed" + select BR2_LEGACY + select BR2_PACKAGE_MESA3D_OSMESA_GALLIUM + help + The OSMesa "classic" library option was removed upstream. + Only the Gallium-based implementation remains. -config BR2_PACKAGE_LIBINTL - bool "libintl" +config BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST + bool "mesa DRI swrast driver removed" select BR2_LEGACY - select BR2_PACKAGE_GETTEXT + select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST help - libintl is now installed by selecting BR2_PACKAGE_GETTEXT. This now - only installs the library, not the executables. + The DRI swrast driver was removed upstream. + Only the Gallium-based implementation remains. -config BR2_PACKAGE_INPUT_TOOLS_EVTEST - bool "input-tools evtest is now a separate package evtest" +config BR2_PACKAGE_KODI_SCREENSAVER_CRYSTALMORPH + bool "kodi-screensaver-crystalmorph removed" select BR2_LEGACY - select BR2_PACKAGE_EVTEST help - The evtest program from input-tools is now a separate package. + The package received its last updates in 2017, is not part + of the official Kodi github repo and its build is broken + with Kodi 19.x, so it was removed. + +comment "Legacy options removed in 2021.02" -config BR2_BFIN_FDPIC - bool "BR2_BFIN_FDPIC is now BR2_BINFMT_FDPIC" - select BR2_BINFMT_FDPIC +config BR2_PACKAGE_MPD_AUDIOFILE + bool "mpd audiofile support removed" select BR2_LEGACY + help + The audiofile support was removed from mpd as audiofile is + affected by multiple CVEs and is not maintained anymore (no + release since 2013). -config BR2_BFIN_FLAT - bool "BR2_BFIN_FLAT is now BR2_BINFMT_FLAT" - select BR2_BINFMT_FLAT +config BR2_PACKAGE_AUDIOFILE + bool "audiofile package removed" select BR2_LEGACY + help + The audiofile package was removed as it is affected by + multiple CVEs and is not maintained anymore (no release since + 2013). + +config BR2_BINUTILS_VERSION_2_33_X + bool "binutils 2.33.x has been removed" + select BR2_LEGACY + help + binutils 2.33.x has been removed, use a newer version. + +config BR2_PACKAGE_LIBUPNP18 + bool "libupnp18 package removed" + select BR2_LEGACY + select BR2_PACKAGE_LIBUPNP + help + Version 1.8.x of libupnp (i.e. libupnp18) has been removed + because it will never be fixed against CallStranger a.k.a. + CVE-2020-12695. The libupnp package (which has been updated to + version 1.14.x) has been selected instead. + +config BR2_PACKAGE_BOA + bool "boa package removed" + select BR2_LEGACY + help + The boa package was removed as it is affected by multiple + CVEs and is not maintained anymore (no release since 2005). + +config BR2_PACKAGE_LINUX_FIRMWARE_IMX_SDMA + bool "imx sdma firmware is provided by firmware-imx" + select BR2_LEGACY + select BR2_PACKAGE_FREESCALE_IMX + select BR2_PACKAGE_FIRMWARE_IMX + help + linux-firmware provide the same firmware as firmware-imx. + We prefer using firmware-imx as the only provider. + +config BR2_GDB_VERSION_8_2 + bool "gdb 8.2.x has been removed" + select BR2_LEGACY + help + gdb 8.2 support has been removed, you can use a newer + version such as 8.3 or more recent. + +config BR2_PACKAGE_HOST_RCW + bool "rcw package was renamed to qoriq-rcw" + select BR2_PACKAGE_HOST_QORIQ_RCW + select BR2_LEGACY + help + The rcw package was specific to the QorIQ platform, so it has + been renamed to qoriq-rcw, to leave room for other *-rcw + packages for other platforms. + +config BR2_KERNEL_HEADERS_5_9 + bool "kernel headers version 5.9.x are no longer supported" + select BR2_LEGACY + help + Version 5.9.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_5_8 + bool "kernel headers version 5.8.x are no longer supported" + select BR2_LEGACY + help + Version 5.8.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_powerpc_601 + bool "PowerPC 601 support removed" + select BR2_LEGACY + help + The support for the PowerPC 601 processors has been removed. + +config BR2_PACKAGE_TI_SGX_LIBGBM + bool "ti-sgx-libgbm support removed" + select BR2_LEGACY + help + TI has merged the ti-sgx-libgbm package with the ti-sgx-um + package + +config BR2_PACKAGE_IPSEC_TOOLS + bool "ipsec-tools package was removed" + select BR2_LEGACY + help + This package has been removed as it has security issues and + has been abandoned since 2014. + +comment "Legacy options removed in 2020.11" + +config BR2_PACKAGE_GPSD_FIXED_PORT_SPEED + bool "compile with fixed serial port speed" + select BR2_LEGACY + help + Since gpsd 3.20, GPSD_FIXED_PORT_SPEED is replaced + by runtime option --speed. + +config BR2_PACKAGE_GPSD_RECONFIGURE + bool "allow gpsd to change device settings" + select BR2_LEGACY + help + Since gpsd 3.21, GPSD_RECONFIGURE is replaced + by runtime option --passive. + +config BR2_PACKAGE_GPSD_CONTROLSEND + bool "allow gpsctl/gpsmon to change device settings" + select BR2_LEGACY + help + Option removed in gpsd 3.21 + +config BR2_PACKAGE_OPENCV + bool "opencv package was removed" + select BR2_LEGACY + help + This package has been removed, use opencv3 instead. + +config BR2_PACKAGE_LIBCROCO + bool "libcroco package was removed" + select BR2_LEGACY + help + This package has been removed as it is affected by several + security issues such as CVE-2020-12825 which will never be + fixed as libcroco has been archived. + +config BR2_PACKAGE_BELLAGIO + bool "bellagio package was removed" + select BR2_LEGACY + help + This package has been removed as it is not maintained anymore + (no release since 2011). + +config BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY + bool "systemd-journal-gatewayd now in systemd-journal-remote" + select BR2_LEGACY + select BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE + help + All system journal remote programs are now enabled using + BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE. + +config BR2_TARGET_UBOOT_BOOT_SCRIPT + bool "u-boot script generation was moved" + select BR2_LEGACY + select BR2_PACKAGE_HOST_UBOOT_TOOLS + select BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT + help + Migrated U-Boot script generation to uboot-tools + +# Note: BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE is still referenced from +# package/uboot-tools/Config.in +config BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE + string "The uboot script source string has been renamed" + depends on BR2_TARGET_UBOOT_BOOT_SCRIPT + help + Migrated U-Boot script generation to uboot-tools. + New option is named + BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE + +config BR2_TARGET_UBOOT_ENVIMAGE + bool "u-boot env generation was moved" + select BR2_LEGACY + select BR2_PACKAGE_HOST_UBOOT_TOOLS + select BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE + help + Migrated U-Boot env generation to uboot-tools + +# Note: BR2_TARGET_UBOOT_ENVIMAGE_SOURCE is still referenced from +# package/uboot-tools/Config.in +config BR2_TARGET_UBOOT_ENVIMAGE_SOURCE + string "The uboot env image source string has been renamed" + depends on BR2_TARGET_UBOOT_ENVIMAGE + help + Migrated U-Boot env generation to uboot-tools. + New option is named + BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE + +# Note: BR2_TARGET_UBOOT_ENVIMAGE_SIZE is still referenced from +# package/uboot-tools/Config.in +config BR2_TARGET_UBOOT_ENVIMAGE_SIZE + string "The uboot env image size string has been renamed" + depends on BR2_TARGET_UBOOT_ENVIMAGE + help + Migrated U-Boot env generation to uboot-tools. + New option is named BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SIZE + +config BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT + bool "u-boot env generation was moved" + depends on BR2_TARGET_UBOOT_ENVIMAGE + select BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_REDUNDANT + help + Migrated U-Boot env generation to uboot-tools + +config BR2_PACKAGE_KISMET_CLIENT + bool "kismet client support was removed" + select BR2_LEGACY + help + Kismet client support was removed since version 2019-04-R1. + +config BR2_PACKAGE_KISMET_DRONE + bool "kismet drone support was removed" + select BR2_LEGACY + help + Kismet drone support was removed since version 2019-04-R1. + +config BR2_GCC_VERSION_7_X + bool "gcc 7.x support removed" + select BR2_LEGACY + help + Support for gcc version 7.x has been removed. The current + default version (9.x or later) has been selected instead. + +config BR2_PACKAGE_GST1_VALIDATE + bool "gst1-validate was moved to gst1-devtools" + select BR2_PACKAGE_GST1_DEVTOOLS + select BR2_LEGACY + help + This package has been removed, use gst1-devtools instead. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_YADIF + bool "gst1-plugins-bad yadif plugin was removed" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEINTERLACE + help + This plugin was removed with gst1-plugins-bad-1.18.0, the + same functionality has moved to gst1-plugins-good + deinterlace plugin (method=yadif). + +config BR2_PACKAGE_GQVIEW + bool "gqview package was removed" + select BR2_LEGACY + help + This package has been removed as it is not maintained anymore + (no release since 2006). + +config BR2_PACKAGE_WESTON_IMX + bool "weston-imx package was removed" + select BR2_LEGACY + help + This package has been removed, use weston instead. + +config BR2_KERNEL_HEADERS_5_7 + bool "kernel headers version 5.7.x are no longer supported" + select BR2_LEGACY + help + Version 5.7.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_PACKAGE_TINYHTTPD + bool "tinyhttpd package removed" + select BR2_LEGACY + help + The tinyhttpd package was removed as it is affected by + CVE-2002-1819 and is not maintained anymore (no release since + 2001). + +config BR2_PACKAGE_XSERVER_XORG_SERVER_AIGLX + bool "X.org Enable AIGLX Extension" + select BR2_LEGACY + help + AIGLX Extension was removed in X.org X server version 1.19.0 + +config BR2_PACKAGE_AMD_CATALYST + bool "amd-catalyst" + select BR2_LEGACY + help + Current X.org server is incompatible with this driver. + +config BR2_PACKAGE_NVIDIA_TEGRA23 + bool "nvidia-tegra23 package removed" + select BR2_LEGACY + help + Current X.org server is incompatible with this driver. + +config BR2_GDB_VERSION_8_1 + bool "gdb 8.1.x has been removed" + select BR2_LEGACY + help + The 8.1.x version of gdb has been removed. Use a newer + version instead. + +comment "Legacy options removed in 2020.08" + +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64 + bool "toolchain-external-codesourcery-amd64 removed" + select BR2_LEGACY + help + The CodeSourcery toolchain for AMD64, in version 2016.11 was + dropped, due to it using a too old gcc 6.2.0 compiler which + caused issues compiling a number of recent packages + (e.g. Boost). CodeSourcery has stopped making newer versions + of this toolchain publicly available, so it was not possible + to update it. + +config BR2_KERNEL_HEADERS_5_6 + bool "kernel headers version 5.6.x are no longer supported" + select BR2_LEGACY + help + Version 5.6.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_5_5 + bool "kernel headers version 5.5.x are no longer supported" + select BR2_LEGACY + help + Version 5.5.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_BINUTILS_VERSION_2_31_X + bool "binutils version 2.31.1 support removed" + select BR2_LEGACY + help + Support for binutils version 2.31.1 has been removed. The + current default version (2.33.1 or later) has been selected + instead. + +config BR2_PACKAGE_KODI_PERIPHERAL_STEAMCONTROLLER + bool "kodi-peripheral-steamcontroller package was removed" + select BR2_LEGACY + help + This package is broken. + +comment "Legacy options removed in 2020.05" + +config BR2_PACKAGE_WIRINGPI + bool "wiringpi package removed" + select BR2_LEGACY + help + The author of wiringpi has deprecated the package, and + completely removed the git tree that was serving the + sources, with this message: + Please look for alternatives for wiringPi + +config BR2_PACKAGE_PYTHON_PYCRYPTO + bool "python-pycrypto package removed" + select BR2_LEGACY + help + This package has been removed, use python-pycryptodomex + instead. + +config BR2_PACKAGE_MTDEV2TUIO + bool "mtdev2tuio package removed" + select BR2_LEGACY + help + The mtdev2tuio package was removed as it breaks the builds + every now and then and is not maintained upstream. + +config BR2_PACKAGE_EZXML + bool "ezxml package removed" + select BR2_LEGACY + help + The ezXML package was removed as it is affected by several + CVEs and is not maintained anymore (no release since 2006). + +config BR2_PACKAGE_COLLECTD_LVM + bool "lvm support in collectd was removed" + select BR2_LEGACY + help + collectd removed LVM plugin, liblvm2app has been deprecated + +config BR2_PACKAGE_PYTHON_PYASN + bool "duplicate python-pyasn1 package removed" + select BR2_LEGACY + select BR2_PACKAGE_PYTHON_PYASN1 + help + This package was a duplicate of python-pyasn1. + +config BR2_PACKAGE_PYTHON_PYASN_MODULES + bool "duplicate python-pyasn1-modules package removed" + select BR2_LEGACY + select BR2_PACKAGE_PYTHON_PYASN1_MODULES + help + This package was a duplicate of python-pyasn1-modules. + +config BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA6174 + bool "duplicate QCA6174 firmware symbol removed" + select BR2_LEGACY + select BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174 + help + This config symbol duplicates existing symbol for QCA6174 + firmware. + +config BR2_PACKAGE_QT5CANVAS3D + bool "qt5canvas3d was removed" + select BR2_LEGACY + help + This Qt5 module was removed by the upstream Qt project since + Qt 5.13, so the corresponding Buildroot package was removed + as well. + +config BR2_PACKAGE_KODI_LIBTHEORA + bool "libtheora support in Kodi was removed" + select BR2_LEGACY + help + Kodi does not need libtheora + +config BR2_PACKAGE_CEGUI06 + bool "BR2_PACKAGE_CEGUI06 was removed" + select BR2_LEGACY + help + cegui06 was removed from Buildroot as it was insufficiently + maintained. It can be re-added if someone volunteers to + maintain it. + +config BR2_GCC_VERSION_5_X + bool "gcc 5.x support removed" + select BR2_LEGACY + help + Support for gcc version 5.x has been removed. The current + default version (8.x or later) has been selected instead. + +comment "Legacy options removed in 2020.02" + +config BR2_PACKAGE_JAMVM + bool "jamvm removed" + select BR2_LEGACY + help + JamVM has not had a release since 2014 and is unmaintained. + +config BR2_PACKAGE_CLASSPATH + bool "classpath removed" + select BR2_LEGACY + help + GNU Classpath package was removed. The last upstream + release was in 2012 and there hasn't been a commit + since 2016. + +config BR2_PACKAGE_QT5_VERSION_5_6 + bool "qt 5.6 support removed" + select BR2_LEGACY + help + Support for Qt 5.6 is EOL and has been removed. The current + version (5.12 or later) has been selected instead. + +config BR2_PACKAGE_CURL + bool "BR2_PACKAGE_CURL was renamed" + select BR2_PACKAGE_LIBCURL_CURL + select BR2_LEGACY + help + The BR2_PACKAGE_CURL config symbol was renamed to + BR2_PACKAGE_LIBCURL_CURL. + +config BR2_PACKAGE_GSTREAMER + bool "gstreamer-0.10 removed" + select BR2_LEGACY + help + Gstreamer-0.10 package was removed. It has been deprecated + upstream since 2012, and is missing a lot of features and + fixes compared to gstreamer-1.x. + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_GSTREAMER_PLUGINS + bool "nvidia-tegra23 binaries gstreamer 0.10.x support removed" + select BR2_LEGACY + help + Gstreamer 0.10.x is no longer available in Buildroot, so + neither is the support in nvidia-tegra23 binaries. + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_NV_SAMPLE_APPS + bool "nvidia-tegra23 binaries sample apps removed" + select BR2_LEGACY + help + Gstreamer 0.10.x is no longer available in Buildroot, so + neither is the support in nvidia-tegra23 binaries. + +config BR2_PACKAGE_FREERDP_GSTREAMER + bool "freerdp gstreamer 0.10.x support removed" + select BR2_LEGACY + help + Gstreamer 0.10.x is no longer available in Buildroot, so + neither is the support in freerdp. + +config BR2_PACKAGE_OPENCV3_WITH_GSTREAMER + bool "opencv3 gstreamer 0.10.x support removed" + select BR2_LEGACY + help + Gstreamer 0.10.x is no longer available in Buildroot, so + neither is the support in opencv3. + +config BR2_PACKAGE_OPENCV_WITH_GSTREAMER + bool "opencv gstreamer 0.10.x support removed" + select BR2_LEGACY + help + Gstreamer 0.10.x is no longer available in Buildroot, so + neither is the support in opencv. + +config BR2_PACKAGE_LIBPLAYER + bool "libplayer package was removed" + select BR2_LEGACY + help + The libplayer package was removed. The latest release is + from 2010 and none of the backends are available in + Buildroot any more. + +config BR2_GCC_VERSION_OR1K + bool "gcc 5.x fork for or1k has been removed" + select BR2_LEGACY + help + Support for gcc 5.x for or1k has been removed. The current + default version (9.x or later) has been selected instead. + +config BR2_PACKAGE_BLUEZ_UTILS + bool "bluez-utils was removed" + select BR2_LEGACY + select BR2_PACKAGE_BLUEZ5_UTILS if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 \ + && BR2_TOOLCHAIN_HAS_SYNC_4 + help + The bluez-utils (BlueZ 4.x) package was removed as it is + deprecated since a long time. As an alternative, the + bluez5-utils (BlueZ 5.x) has been automatically selected in + your configuration. + +config BR2_PACKAGE_GADGETFS_TEST + bool "gadgetfs-test was removed" + select BR2_LEGACY + help + The gadgetfs-test package was removed. Gadgetfs has been + deprecated in favour of functionfs. Consider using + gadget-tool (gt) instead. + +config BR2_PACKAGE_FIS + bool "fis was removed" + select BR2_LEGACY + help + The fis package was removed. + +config BR2_PACKAGE_REFPOLICY_POLICY_VERSION + string "refpolicy policy version" + help + The refpolicy policy version option has been moved to the + libsepol package. + +config BR2_PACKAGE_REFPOLICY_POLICY_VERSION_WRAP + bool + default y if BR2_PACKAGE_REFPOLICY_POLICY_VERSION != "" + select BR2_LEGACY + +config BR2_PACKAGE_CELT051 + bool "celt051 package was removed" + select BR2_LEGACY + select BR2_PACKAGE_OPUS + help + The celt051 package was removed as it is now obsolete since + the CELT codec has been merged into the IETF Opus codec. As + a result, the opus package has been automatically selected + in your configuration. + +config BR2_PACKAGE_WIREGUARD + bool "wireguard package renamed" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 + select BR2_LEGACY + select BR2_PACKAGE_WIREGUARD_LINUX_COMPAT if BR2_LINUX_KERNEL + select BR2_PACKAGE_WIREGUARD_TOOLS + help + The wireguard package has been renamed to wireguard-tools + for the userspace tooling and wireguard-linux-compat for the + kernel side for legacy (<5.6) kernels to match upstream. + +config BR2_PACKAGE_PERL_NET_PING + bool "perl-net-ping was removed" + select BR2_LEGACY + help + Net::Ping is a Perl core module (ie. bundled with perl). + +config BR2_PACKAGE_PERL_MIME_BASE64 + bool "perl-mime-base64 was removed" + select BR2_LEGACY + help + MIME::Base64 is a Perl core module (ie. bundled with perl). + +config BR2_PACKAGE_PERL_DIGEST_MD5 + bool "perl-digest-md5 was removed" + select BR2_LEGACY + help + Digest::MD5 is a Perl core module (ie. bundled with perl). + +config BR2_PACKAGE_ERLANG_P1_ICONV + bool "erlang-p1-iconv has been removed" + select BR2_LEGACY + help + The erlang-p1-iconv package was no longer used by ejabberd, + and was no longer maintained upstream, so it was removed. + +config BR2_KERNEL_HEADERS_5_3 + bool "kernel headers version 5.3.x are no longer supported" + select BR2_LEGACY + help + Version 5.3.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_PACKAGE_PYTHON_SCAPY3K + bool "python-scapy3k is replaced by python-scapy" + select BR2_LEGACY + select BR2_PACKAGE_PYTHON_SCAPY + help + python-scapy3k has been deprecated, since python-scapy has + gained Python 3 support. Use BR2_PACKAGE_PYTHON_SCAPY + instead. + +config BR2_BINUTILS_VERSION_2_30_X + bool "binutils version 2.30 support removed" + select BR2_LEGACY + help + Support for binutils version 2.30 has been removed. The + current default version (2.31 or later) has been selected + instead. + +config BR2_PACKAGE_RPI_USERLAND_START_VCFILED + bool "rpi-userland start vcfiled was removed" + select BR2_LEGACY + help + The vcfiled support was removed upstream. + +config BR2_PACKAGE_TI_SGX_KM_AM335X + bool "ti-sgx-km AM335X option removed" + select BR2_LEGACY + select BR2_PACKAGE_TI_SGX_KM + help + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. + +config BR2_PACKAGE_TI_SGX_KM_AM437X + bool "ti-sgx-km AM437X option removed" + select BR2_LEGACY + help + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. + +config BR2_PACKAGE_TI_SGX_KM_AM4430 + bool "ti-sgx-km AM4430 option removed" + select BR2_LEGACY + help + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. + +config BR2_PACKAGE_TI_SGX_KM_AM5430 + bool "ti-sgx-km AM5430 option removed" + select BR2_LEGACY + help + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. + +comment "Legacy options removed in 2019.11" + +config BR2_PACKAGE_OPENVMTOOLS_PROCPS + bool "openvmtools' procps support was removed" + select BR2_LEGACY + help + Upstream stopped supporting this option a while ago. + +config BR2_PACKAGE_ALLJOYN + bool "alljoyn was removed" + select BR2_LEGACY + help + The alljoyn framework is dead + +config BR2_PACKAGE_ALLJOYN_BASE + bool "alljoyn-base was removed" + select BR2_LEGACY + help + The alljoyn framework is dead + +config BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL + bool "alljoyn-base control panel was removed" + select BR2_LEGACY + help + The alljoyn framework is dead + +config BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION + bool "alljoyn-base notification was removed" + select BR2_LEGACY + help + The alljoyn framework is dead + +config BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING + bool "alljoyn-base onboarding was removed" + select BR2_LEGACY + help + The alljoyn framework is dead + +config BR2_PACKAGE_ALLJOYN_TCL_BASE + bool "alljoyn-tcl-base was removed" + select BR2_LEGACY + help + The alljoyn framework is dead + +config BR2_PACKAGE_ALLJOYN_TCL + bool "alljoyn-tcl was removed" + select BR2_LEGACY + help + The alljoyn framework is dead + +config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS + string "toolchain-external extra libs option has been renamed" + help + The option BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS has + been renamed to BR2_TOOLCHAIN_EXTRA_LIBS. + +config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS_WRAP + bool + default y if BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS != "" + select BR2_LEGACY + +config BR2_PACKAGE_PYTHON_PYSNMP_APPS + bool "python-pysnmp-apps was removed" + select BR2_LEGACY + select BR2_PACKAGE_SNMPCLITOOLS + help + Following upstream changes, the python-pysnmp-apps package + has been removed, and snmpclitools should be used as a + replacement. + +config BR2_KERNEL_HEADERS_5_2 + bool "kernel headers version 5.2.x are no longer supported" + select BR2_LEGACY + help + Version 5.2.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_TARGET_RISCV_PK + bool "riscv-pk was removed" + select BR2_LEGACY + help + The RISC-V Proxy Kernel (pk) and Berkley Boot Loader (BBL) + have been replaced with OpenSBI. + +config BR2_PACKAGE_SQLITE_STAT3 + bool "sqlite stat3 support was removed" + select BR2_LEGACY + help + Upstream removed the support for stat3. + +config BR2_KERNEL_HEADERS_5_1 + bool "kernel headers version 5.1.x are no longer supported" + select BR2_LEGACY + help + Version 5.1.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_PACKAGE_DEVMEM2 + bool "devmem2 package was removed" + select BR2_LEGACY + help + Use the the Busybox devmem utility, instead, which provides + the same functionality. + +config BR2_PACKAGE_USTR + bool "ustr package removed" + select BR2_LEGACY + help + The 'ustr' package was only used by SELinux libsemanage, but + since SELinux 2.7, ustr is no longer used. Therefore, we + removed this package from Buildroot. + +config BR2_PACKAGE_KODI_SCREENSAVER_PLANESTATE + bool "kodi-screensaver-planestate package was removed" + select BR2_LEGACY + help + This package is incompatible with Kodi 18.x. + +config BR2_PACKAGE_KODI_VISUALISATION_WAVEFORHUE + bool "kodi-visualisation-waveforhue package was removed" + select BR2_LEGACY + help + This package is incompatible with Kodi 18.x. + +config BR2_PACKAGE_KODI_AUDIODECODER_OPUS + bool "kodi-audiodecoder-opus package was removed" + select BR2_LEGACY + help + This package is incompatible with Kodi 18.x. + +config BR2_PACKAGE_MESA3D_OSMESA + bool "mesa OSMesa option renamed" + select BR2_PACKAGE_MESA3D_OSMESA_CLASSIC if BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST + select BR2_LEGACY + help + The option was renamed in order to match the naming used + by the meson buildsystem. + +config BR2_PACKAGE_HOSTAPD_DRIVER_RTW + bool "hostapd rtl871xdrv driver removed" + select BR2_LEGACY + help + Since the update of hostapd to 2.9, the patch provided for + the rtl871xdrv no longer works, although it + applies. Moreover, AP support for Realtek chips is broken + anyway in kernels > 4.9. Therefore, this option has been + removed. + +config BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW + bool "new dbus support option in wpa_supplicant was renamed" + select BR2_PACKAGE_WPA_SUPPLICANT_DBUS if BR2_TOOLCHAIN_HAS_THREADS + select BR2_LEGACY + help + The new dbus support option was renamed. + +config BR2_PACKAGE_WPA_SUPPLICANT_DBUS_OLD + bool "old dbus support in wpa_supplicant was removed" + select BR2_LEGACY + help + The old dbus support was removed. + +comment "Legacy options removed in 2019.08" + +config BR2_TARGET_TS4800_MBRBOOT + bool "ts4800-mbrboot package was removed" + select BR2_LEGACY + help + The defconfig for the TS4800 platform has been removed, so + the ts4800-mbrboot package, containing the boot code for + this specific platform has been removed as welL. + +config BR2_PACKAGE_LIBAMCODEC + bool "liamcodec package was removed" + select BR2_LEGACY + help + Support for odroidc2 based systems was removed, making the + libamcodec package useless. + +config BR2_PACKAGE_ODROID_SCRIPTS + bool "odroid-scripts package was removed" + select BR2_LEGACY + help + Support for odroidc2 based systems was removed, making the + odroid-scripts package useless. + +config BR2_PACKAGE_ODROID_MALI + bool "odroid-mali package was removed" + select BR2_LEGACY + help + Support for odroidc2 based systems was removed, making the + odroid-mali package useless. + +config BR2_PACKAGE_KODI_PLATFORM_AML + bool "Kodi AMLogic support was removed" + select BR2_LEGACY + help + Support for AMLogic was removed due to the removal of the + odroidc2 defconfig. + +config BR2_GCC_VERSION_6_X + bool "gcc 6.x support removed" + select BR2_LEGACY + help + Support for gcc version 6.x has been removed. The current + default version (8.x or later) has been selected instead. + +config BR2_GCC_VERSION_4_9_X + bool "gcc 4.9.x support removed" + select BR2_LEGACY + help + Support for gcc version 4.9.x has been removed. The current + default version (8.x or later) has been selected instead. + +config BR2_GDB_VERSION_7_12 + bool "gdb 7.12.x has been removed" + select BR2_LEGACY + help + The 7.12.x version of gdb has been removed. Use a newer + version instead. + +config BR2_PACKAGE_XAPP_MKFONTDIR + bool "mkfontdir is now included in xapp_mkfontscale" + select BR2_PACKAGE_XAPP_MKFONTSCALE + select BR2_LEGACY + help + xapp_mkfontscale now includes the mkfontdir script previously + distributed separately for compatibility with older X11 + versions. + +config BR2_GDB_VERSION_8_0 + bool "gdb 8.0.x has been removed" + select BR2_LEGACY + help + The 8.0.x version of gdb has been removed. Use a newer + version instead. + +config BR2_KERNEL_HEADERS_4_20 + bool "kernel headers version 4.20.x are no longer supported" + select BR2_LEGACY + help + Version 4.20.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_5_0 + bool "kernel headers version 5.0.x are no longer supported" + select BR2_LEGACY + help + Version 5.0.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +comment "Legacy options removed in 2019.05" + +config BR2_CSKY_DSP + bool "C-SKY DSP support removed" + select BR2_LEGACY + help + C-SKY DSP instruction support for ck810 / ck807 was removed, + as it was no longer supported in C-SKY gcc. Perhaps the VDSP + instructions should be used instead, using the BR2_CSKY_VDSP + option. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COMPOSITOR + bool "compositor moved to gst1-plugins-base" + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_COMPOSITOR + select BR2_LEGACY + help + The gst1-plugins-bad compositor plugin has moved + to gst1-plugins-base. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IQA + bool "gst-plugins-bad IQA option was removed" + select BR2_LEGACY + help + The gst1-plugins-bad IQA option was removed. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV + bool "gst-plugins-bad opencv option was removed" + select BR2_LEGACY + help + The gst1-plugins-bad opencv option was removed because + buildroot does not have the opencv_contrib package which + is required for the bgsegm module which gst1-plugins-bad + now requires along with opencv3. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_STEREO + bool "stereo was merged into audiofx in gst1-plugins-good" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOFX + help + The gst1-plugins-bad stereo plugin has merged with the + gst1-plugins-base audiofx plugin. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VCD + bool "gst-plugins-bad vcd plugin was removed." + select BR2_LEGACY + help + The gst1-plugins-bad vcd plugin was removed. + +config BR2_PACKAGE_LUNIT + bool "lunit package removed" + select BR2_LEGACY + select BR2_PACKAGE_LUA_LUNITX + help + The lunit package was removed in favor of its fork lunitx, + which supports all versions of Lua. + +config BR2_PACKAGE_FFMPEG_FFSERVER + bool "ffmpeg ffserver removed" + select BR2_LEGACY + help + On July 10th, 2016, ffserver program has been dropped. + +config BR2_PACKAGE_LIBUMP + bool "libump package removed" + select BR2_LEGACY + help + The libump package was removed, it was only used as a + dependency of sunxi-mali, which itself was removed. + +config BR2_PACKAGE_SUNXI_MALI + bool "sunxi-mali package removed" + select BR2_LEGACY + select BR2_PACKAGE_SUNXI_MALI_UTGARD + help + The sunxi-mali package was removed, as the + sunxi-mali-mainline package replaces it for mainline + kernels on Allwinner platforms. + +config BR2_BINUTILS_VERSION_2_29_X + bool "binutils version 2.29 support removed" + select BR2_LEGACY + help + Support for binutils version 2.29 has been removed. The + current default version (2.31 or later) has been selected + instead. + +config BR2_BINUTILS_VERSION_2_28_X + bool "binutils version 2.28 support removed" + select BR2_LEGACY + help + Support for binutils version 2.28 has been removed. The + current default version (2.31 or later) has been selected + instead. + +config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK + bool "gst-plugins-bad apexsink option removed" + select BR2_LEGACY + help + The gst-plugins-bad apexsink option was removed. + +comment "Legacy options removed in 2019.02" + +config BR2_PACKAGE_QT + bool "qt package removed" + select BR2_LEGACY + help + The qt package was removed. + +config BR2_PACKAGE_QTUIO + bool "qtuio package removed" + select BR2_LEGACY + help + The qtuio package was removed. + +config BR2_PACKAGE_PINENTRY_QT4 + bool "pinentry-qt4 option removed" + select BR2_LEGACY + help + The pinentry-qt4 option was removed. + +config BR2_PACKAGE_POPPLER_QT + bool "poppler qt option removed" + select BR2_LEGACY + help + The poppler qt option was removed. + +config BR2_PACKAGE_OPENCV3_WITH_QT + bool "opencv3 qt backend option removed" + select BR2_LEGACY + help + The opencv3 qt backend option was removed. + +config BR2_PACKAGE_OPENCV_WITH_QT + bool "opencv qt backend option removed" + select BR2_LEGACY + help + The opencv qt backend option was removed. + +config BR2_PACKAGE_AMD_CATALYST_CCCLE + bool "catalyst control center option removed" + select BR2_LEGACY + help + The AMD Catalyst Control Center option was removed. + +config BR2_PACKAGE_SDL_QTOPIA + bool "sdl qtopia video driver option removed" + select BR2_LEGACY + help + The SDL QTopia video driver option was removed. + +config BR2_PACKAGE_PYTHON_PYQT + bool "python-pyqt package removed" + select BR2_LEGACY + help + The python-pyqt package was removed. Consider python-pyqt5 + instead. + +config BR2_PACKAGE_LUACRYPTO + bool "luacrypto package removed" + select BR2_LEGACY + help + The luacrypto package was removed. Consider luaossl instead. + +config BR2_PACKAGE_TN5250 + bool "tn5250 package removed" + select BR2_LEGACY + help + The tn5250 package was removed. + +config BR2_PACKAGE_BOOST_SIGNALS + bool "Boost signals removed" + select BR2_LEGACY + help + Its removal was announced in boost 1.68 and its deprecation + was announced in 1.54. Users are encouraged to use Signals2 + instead. + +config BR2_PACKAGE_FFTW_PRECISION_SINGLE + bool "single" + select BR2_LEGACY + select BR2_PACKAGE_FFTW_SINGLE + help + This option has been removed in favor of + BR2_PACKAGE_FFTW_SINGLE. + +config BR2_PACKAGE_FFTW_PRECISION_DOUBLE + bool "double" + select BR2_LEGACY + select BR2_PACKAGE_FFTW_DOUBLE + help + This option has been removed in favor of + BR2_PACKAGE_FFTW_DOUBLE. + +config BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE + bool "long double" + depends on !(BR2_TOOLCHAIN_BUILDROOT_UCLIBC && \ + (BR2_arm || BR2_mips || BR2_mipsel)) + select BR2_LEGACY + select BR2_PACKAGE_FFTW_LONG_DOUBLE + help + This option has been removed in favor of + BR2_PACKAGE_FFTW_LONG_DOUBLE. + +config BR2_PACKAGE_FFTW_PRECISION_QUAD + bool "quad" + depends on (BR2_i386 || BR2_x86_64) && BR2_USE_WCHAR + select BR2_LEGACY + select BR2_PACKAGE_FFTW_QUAD + help + This option has been removed in favor of + BR2_PACKAGE_FFTW_QUAD. + +config BR2_PACKAGE_LUA_5_2 + bool "Lua 5.2.x version removed" + select BR2_LEGACY + help + The Lua 5.2.x version was removed. +# Note: BR2_PACKAGE_LUA_5_2 is still referenced from package/lua/Config.in + +config BR2_TARGET_GENERIC_PASSWD_MD5 + bool "target passwd md5 format support has been removed" + select BR2_LEGACY + help + The default has been moved to SHA256 and all C libraries + now support that method by default + +comment "Legacy options removed in 2018.11" + +config BR2_TARGET_XLOADER + bool "xloader has been removed" + select BR2_LEGACY + help + The package has been removed as u-boot SPL provides + similar functionality + +config BR2_PACKAGE_TIDSP_BINARIES + bool "tidsp-binaries package removed" + select BR2_LEGACY + help + The tidsp-binaries package was removed. + +config BR2_PACKAGE_DSP_TOOLS + bool "dsp-tools package removed" + select BR2_LEGACY + help + The dsp-tools package was removed. + +config BR2_PACKAGE_GST_DSP + bool "gst-dsp package removed" + select BR2_LEGACY + help + The gst-dsp package was removed. + +config BR2_PACKAGE_BOOTUTILS + bool "bootutils package removed" + select BR2_LEGACY + help + The bootutils package was removed. + +config BR2_PACKAGE_EXPEDITE + bool "expedite package has been removed" + select BR2_LEGACY + help + expedite is not actively maintained anymore. + https://sourceforge.net/p/enlightenment/mailman/message/36428571 + +config BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT + bool "mesa3d opengl texture float option removed" + select BR2_LEGACY + help + mesa3d now unconditionally enables floating-point textures, + as the corresponding patent has expired. + +config BR2_KERNEL_HEADERS_4_10 + bool "kernel headers version 4.10.x are no longer supported" + select BR2_LEGACY + help + Version 4.10.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_11 + bool "kernel headers version 4.11.x are no longer supported" + select BR2_LEGACY + help + Version 4.11.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_12 + bool "kernel headers version 4.12.x are no longer supported" + select BR2_LEGACY + help + Version 4.12.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_13 + bool "kernel headers version 4.13.x are no longer supported" + select BR2_LEGACY + help + Version 4.13.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_15 + bool "kernel headers version 4.15.x are no longer supported" + select BR2_LEGACY + help + Version 4.15.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_17 + bool "kernel headers version 4.17.x are no longer supported" + select BR2_LEGACY + help + Version 4.17.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_PACKAGE_LIBNFTNL_XML + bool "libnftl no longer supports XML output" + select BR2_LEGACY + help + libnftnl removed integration with libmxml. + +config BR2_KERNEL_HEADERS_3_2 + bool "kernel headers version 3.2.x are no longer supported" + select BR2_LEGACY + help + Version 3.2.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_1 + bool "kernel headers version 4.1.x are no longer supported" + select BR2_LEGACY + help + Version 4.1.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_16 + bool "kernel headers version 4.16.x are no longer supported" + select BR2_LEGACY + help + Version 4.16.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_18 + bool "kernel headers version 4.18.x are no longer supported" + select BR2_LEGACY + help + Version 4.18.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +############################################################################### +comment "Legacy options removed in 2018.08" + +config BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT + bool "docker-engine static client option renamed" + select BR2_LEGACY + select BR2_PACKAGE_DOCKER_CLI_STATIC + help + BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT has been renamed to + BR2_PACKAGE_DOCKER_CLI_STATIC, following the package split of + docker-engine and docker-cli. + +config BR2_PACKAGE_XPROTO_APPLEWMPROTO + bool "xproto-applewmproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-applewmproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_BIGREQSPROTO + bool "xproto-bigreqsproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-bigreqsproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_COMPOSITEPROTO + bool "xproto-compositeproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-compositeproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_DAMAGEPROTO + bool "xproto-dameproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-dameproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_DMXPROTO + bool "xproto-dmxproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-dmxproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_DRI2PROTO + bool "xproto-dri2proto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-dri2proto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_DRI3PROTO + bool "xproto-dri3proto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-dri3proto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_FIXESPROTO + bool "xproto-fixesproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-fixesproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_FONTCACHEPROTO + bool "xproto-fontcacheproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-fontcacheproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_FONTSPROTO + bool "xproto-fontsproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-fontsproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_GLPROTO + bool "xproto-glproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-glproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_INPUTPROTO + bool "xproto-inputproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-inputproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_KBPROTO + bool "xproto-kbproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-kbproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_PRESENTPROTO + bool "xproto-presentproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-presentproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_RANDRPROTO + bool "xproto-randrproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-randrproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_RECORDPROTO + bool "xproto-recordproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-recordproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_RENDERPROTO + bool "xproto-renderproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-renderproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_RESOURCEPROTO + bool "xproto-resourceproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-resourceproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_SCRNSAVERPROTO + bool "xproto-scrnsaverprot package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-scrnsaverprot package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_VIDEOPROTO + bool "xproto-videoproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-videoproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_WINDOWSWMPROTO + bool "xproto-windowswmproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-windowswmproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_XCMISCPROTO + bool "xproto-xcmiscproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-xcmiscproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_XEXTPROTO + bool "xproto-xextproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-xextproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_XF86BIGFONTPROTO + bool "xproto-xf86bigfontproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-xf86bigfontproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_XF86DGAPROTO + bool "xproto-xf86dgaproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-xf86dgaproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_XF86DRIPROTO + bool "xproto-xf86driproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-xf86driproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO + bool "xproto-xf86vidmodeproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-xf86vidmodeproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_XINERAMAPROTO + bool "xproto-xineramaproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-xineramaproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_XPROTO + bool "xproto-xproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-xproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_XPROXYMANAGEMENTPROTOCOL + bool "xproto-xproxymanagementprotocol package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-xproxymanagementprotocol package has been + replaced by the xorgproto package, which combines all + xproto_* packages. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL + bool "gst1-plugins-bad opengl option moved to gst1-plugins-base" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL + help + The opengl option has been moved from gst1-plugins-bad to + gst1-plugins-base. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLES2 + bool "gst1-plugins-bad gles2 option moved to gst1-plugins-base" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2 + help + The gles2 option has been moved from gst1-plugins-bad to + gst1-plugins-base. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLX + bool "gst1-plugins-bad glx option moved to gst1-plugins-base" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLX + help + The glx option has been moved from gst1-plugins-bad to + gst1-plugins-base. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL + bool "gst1-plugins-bad egl option moved to gst1-plugins-base" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL + help + The egl option has been moved from gst1-plugins-bad to + gst1-plugins-base. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_X11 + bool "gst1-plugins-bad x11 option moved to gst1-plugins-base" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_X11 + help + The x11 option has been moved from gst1-plugins-bad to + gst1-plugins-base. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND + bool "gst1-plugins-bad wayland option moved to gst1-plugins-base" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_WAYLAND + help + The wayland option has been moved from gst1-plugins-bad to + gst1-plugins-base. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_DISPMANX + bool "gst1-plugins-bad dispmanx option moved to gst1-plugins-base" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_DISPMANX + help + The dispmanx option has been moved from gst1-plugins-mad to + gst1-plugins-base. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXER + bool "gst1-plugins-bad audiomixer option moved to gst1-plugins-base" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER + help + The audiomixer option has been moved from gst1-plugins-bad to + gst1-plugins-base. + +config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_LAME + bool "gst1-plugins-ugly lame option moved to gst1-plugins-good" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAME + help + The lame option has been moved from gst1-plugins-ugly to + gst1-plugins-good. + +config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPG123 + bool "gst1-plugins-ugly mpg123 option moved to gst1-plugins-good" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MPG123 + help + The mpg123 option has been moved from gst1-plugins-ugly to + gst1-plugins-good. + +config BR2_GDB_VERSION_7_11 + bool "gdb 7.11 has been removed" + select BR2_LEGACY + help + The 7.11 version of gdb has been removed. Use a newer version + instead. + +config BR2_GDB_VERSION_7_10 + bool "gdb 7.10 has been removed" + select BR2_LEGACY + help + The 7.10 version of gdb has been removed. Use a newer version + instead. + +############################################################################### +comment "Legacy options removed in 2018.05" + +config BR2_PACKAGE_MEDIAART_BACKEND_NONE + bool "libmediaart none backend option renamed" + select BR2_LEGACY + help + For consistency reasons, the option + BR2_PACKAGE_MEDIAART_BACKEND_NONE has been renamed to + BR2_PACKAGE_LIBMEDIAART_BACKEND_NONE + +config BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF + bool "libmediaart gdk-pixbuf backend option renamed" + select BR2_LEGACY + help + For consistency reasons, the option + BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF has been renamed to + BR2_PACKAGE_LIBMEDIAART_BACKEND_GDK_PIXBUF + +config BR2_PACKAGE_MEDIAART_BACKEND_QT + bool "libmediaart qt backend option renamed" + select BR2_LEGACY + help + For consistency reasons, the option + BR2_PACKAGE_MEDIAART_BACKEND_QT has been renamed to + BR2_PACKAGE_LIBMEDIAART_BACKEND_QT + +config BR2_PACKAGE_TI_SGX_AM335X + bool "ti-sgx-km AM335X option removed" + select BR2_LEGACY + select BR2_PACKAGE_TI_SGX_KM + help + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. + +config BR2_PACKAGE_TI_SGX_AM437X + bool "ti-sgx-km AM437X option removed" + select BR2_LEGACY + help + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. + +config BR2_PACKAGE_TI_SGX_AM4430 + bool "ti-sgx-km AM4430 option removed" + select BR2_LEGACY + help + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. + +config BR2_PACKAGE_TI_SGX_AM5430 + bool "ti-sgx-km AM5430 option removed" + select BR2_LEGACY + help + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. + +config BR2_PACKAGE_JANUS_AUDIO_BRIDGE + bool "janus-gateway audio-bridge option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_AUDIO_BRIDGE + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_AUDIO_BRIDGE has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_AUDIO_BRIDGE. + +config BR2_PACKAGE_JANUS_ECHO_TEST + bool "janus-gateway echo-test option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_ECHO_TEST + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_ECHO_TEST has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_ECHO_TEST. + +config BR2_PACKAGE_JANUS_RECORDPLAY + bool "janus-gateway recordplay option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_RECORDPLAY + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_RECORDPLAY has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_RECORDPLAY. + +config BR2_PACKAGE_JANUS_SIP_GATEWAY + bool "janus-gateway sip-gateway option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_SIP_GATEWAY + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_SIP_GATEWAY has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_SIP_GATEWAY. + +config BR2_PACKAGE_JANUS_STREAMING + bool "janus-gateway streaming option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_STREAMING + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_STREAMING has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_STREAMING. + +config BR2_PACKAGE_JANUS_TEXT_ROOM + bool "janus-gateway text-room option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_TEXT_ROOM + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_TEXT_ROOM has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_TEXT_ROOM. + +config BR2_PACKAGE_JANUS_VIDEO_CALL + bool "janus-gateway video-call option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_VIDEO_CALL + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_VIDEO_CALL has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_VIDEO_CALL. + +config BR2_PACKAGE_JANUS_VIDEO_ROOM + bool "janus-gateway video-room option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_VIDEO_ROOM + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_VIDEO_ROOM has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_VIDEO_ROOM. + +config BR2_PACKAGE_JANUS_MQTT + bool "janus-gateway mqtt option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_MQTT + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_MQTT has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_MQTT. + +config BR2_PACKAGE_JANUS_RABBITMQ + bool "janus-gateway rabbitmq option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_RABBITMQ + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_RABBITMQ has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_RABBITMQ. + +config BR2_PACKAGE_JANUS_REST + bool "janus-gateway rest option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_REST + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_REST has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_REST. + +config BR2_PACKAGE_JANUS_UNIX_SOCKETS + bool "janus-gateway unix-sockets option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_UNIX_SOCKETS + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_UNIX_SOCKETS has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_UNIX_SOCKETS. + +config BR2_PACKAGE_JANUS_WEBSOCKETS + bool "janus-gateway websockets option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_WEBSOCKETS + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_WEBSOCKETS has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_WEBSOCKETS. + +config BR2_PACKAGE_IPSEC_SECCTX_DISABLE + bool "ipsec-tools security context disable option renamed" + select BR2_LEGACY + help + For consistency reasons, the option + BR2_PACKAGE_IPSEC_SECCTX_DISABLE was renamed to + BR2_PACKAGE_IPSEC_TOOLS_SECCTX_DISABLE. + +config BR2_PACKAGE_IPSEC_SECCTX_ENABLE + bool "ipsec-tools SELinux security context enable option renamed" + select BR2_LEGACY + help + For consistency reasons, the option + BR2_PACKAGE_IPSEC_SECCTX_ENABLE was renamed to + BR2_PACKAGE_IPSEC_TOOLS_SECCTX_ENABLE. + +config BR2_PACKAGE_IPSEC_SECCTX_KERNEL + bool "ipsec-tools kernel security context enable option renamed" + select BR2_LEGACY + help + For consistency reasons, the option + BR2_PACKAGE_IPSEC_SECCTX_KERNEL was renamed to + BR2_PACKAGE_IPSEC_TOOLS_SECCTX_KERNEL. + +config BR2_PACKAGE_LIBTFDI_CPP + bool "libftdi C++ bindings option renamed" + select BR2_LEGACY + select BR2_PACKAGE_LIBFTDI_CPP + help + The option BR2_PACKAGE_LIBTFDI_CPP was renamed to + BR2_PACKAGE_LIBFTDI_CPP in order to fix a typo in the option + name. + +config BR2_PACKAGE_JQUERY_UI_THEME_BLACK_TIE + bool "jquery-ui-themes option black-tie renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + black-tie theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_BLACK_TIE to + BR2_PACKAGE_JQUERY_UI_THEMES_BLACK_TIE. + +config BR2_PACKAGE_JQUERY_UI_THEME_BLITZER + bool "jquery-ui-themes option blitzer renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + blitzer theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_BLITZER to + BR2_PACKAGE_JQUERY_UI_THEMES_BLITZER. + +config BR2_PACKAGE_JQUERY_UI_THEME_CUPERTINO + bool "jquery-ui-themes option cupertino renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + cupertino theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_CUPERTINO to + BR2_PACKAGE_JQUERY_UI_THEMES_CUPERTINO. + +config BR2_PACKAGE_JQUERY_UI_THEME_DARK_HIVE + bool "jquery-ui-themes option dark-hive renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + dark-hive theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_DARK_HIVE to + BR2_PACKAGE_JQUERY_UI_THEMES_DARK_HIVE. + +config BR2_PACKAGE_JQUERY_UI_THEME_DOT_LUV + bool "jquery-ui-themes option dot-luv renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + dot-luv theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_DOT_LUV to + BR2_PACKAGE_JQUERY_UI_THEMES_DOT_LUV. + +config BR2_PACKAGE_JQUERY_UI_THEME_EGGPLANT + bool "jquery-ui-themes option eggplant renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + eggplant theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_EGGPLANT to + BR2_PACKAGE_JQUERY_UI_THEMES_EGGPLANT. + +config BR2_PACKAGE_JQUERY_UI_THEME_EXCITE_BIKE + bool "jquery-ui-themes option excite-bike renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + excite-bike theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_EXCITE_BIKE to + BR2_PACKAGE_JQUERY_UI_THEMES_EXCITE_BIKE. + +config BR2_PACKAGE_JQUERY_UI_THEME_FLICK + bool "jquery-ui-themes option flick renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + flick theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_FLICK to + BR2_PACKAGE_JQUERY_UI_THEMES_FLICK. + +config BR2_PACKAGE_JQUERY_UI_THEME_HOT_SNEAKS + bool "jquery-ui-themes option hot-sneaks renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + hot-sneaks theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_HOT_SNEAKS to + BR2_PACKAGE_JQUERY_UI_THEMES_HOT_SNEAKS. + +config BR2_PACKAGE_JQUERY_UI_THEME_HUMANITY + bool "jquery-ui-themes option humanity renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + humanity theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_HUMANITY to + BR2_PACKAGE_JQUERY_UI_THEMES_HUMANITY. + +config BR2_PACKAGE_JQUERY_UI_THEME_LE_FROG + bool "jquery-ui-themes option le-frog renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + le-frog theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_LE_FROG to + BR2_PACKAGE_JQUERY_UI_THEMES_LE_FROG. + +config BR2_PACKAGE_JQUERY_UI_THEME_MINT_CHOC + bool "jquery-ui-themes option mint-choc renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + mint-choc theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_MINT_CHOC to + BR2_PACKAGE_JQUERY_UI_THEMES_MINT_CHOC. + +config BR2_PACKAGE_JQUERY_UI_THEME_OVERCAST + bool "jquery-ui-themes option overcast renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + overcast theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_OVERCAST to + BR2_PACKAGE_JQUERY_UI_THEMES_OVERCAST. + +config BR2_PACKAGE_JQUERY_UI_THEME_PEPPER_GRINDER + bool "jquery-ui-themes option pepper-grinder renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + pepper-grinder theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_PEPPER_GRINDER to + BR2_PACKAGE_JQUERY_UI_THEMES_PEPPER_GRINDER. + +config BR2_PACKAGE_JQUERY_UI_THEME_REDMOND + bool "jquery-ui-themes option redmond renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + redmond theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_REDMOND to + BR2_PACKAGE_JQUERY_UI_THEMES_REDMOND. + +config BR2_PACKAGE_JQUERY_UI_THEME_SMOOTHNESS + bool "jquery-ui-themes option smoothness renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + smoothness theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_SMOOTHNESS to + BR2_PACKAGE_JQUERY_UI_THEMES_SMOOTHNESS. + +config BR2_PACKAGE_JQUERY_UI_THEME_SOUTH_STREET + bool "jquery-ui-themes option south-street renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + south-street theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_SOUTH_STREET to + BR2_PACKAGE_JQUERY_UI_THEMES_SOUTH_STREET. + +config BR2_PACKAGE_JQUERY_UI_THEME_START + bool "jquery-ui-themes option start renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + start theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_START to + BR2_PACKAGE_JQUERY_UI_THEMES_START. + +config BR2_PACKAGE_JQUERY_UI_THEME_SUNNY + bool "jquery-ui-themes option sunny renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + sunny theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_SUNNY to + BR2_PACKAGE_JQUERY_UI_THEMES_SUNNY. + +config BR2_PACKAGE_JQUERY_UI_THEME_SWANKY_PURSE + bool "jquery-ui-themes option swanky-purse renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + swanky-purse theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_SWANKY_PURSE to + BR2_PACKAGE_JQUERY_UI_THEMES_SWANKY_PURSE. + +config BR2_PACKAGE_JQUERY_UI_THEME_TRONTASTIC + bool "jquery-ui-themes option trontastic renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + trontastic theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_TRONTASTIC to + BR2_PACKAGE_JQUERY_UI_THEMES_TRONTASTIC. + +config BR2_PACKAGE_JQUERY_UI_THEME_UI_DARKNESS + bool "jquery-ui-themes option ui-darkness renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + ui-darkness theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_UI_DARKNESS to + BR2_PACKAGE_JQUERY_UI_THEMES_UI_DARKNESS. + +config BR2_PACKAGE_JQUERY_UI_THEME_UI_LIGHTNESS + bool "jquery-ui-themes option ui-lightness renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + ui-lightness theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_UI_LIGHTNESS to + BR2_PACKAGE_JQUERY_UI_THEMES_UI_LIGHTNESS. + +config BR2_PACKAGE_JQUERY_UI_THEME_VADER + bool "jquery-ui-themes option vader renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + vader theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_VADER to + BR2_PACKAGE_JQUERY_UI_THEMES_VADER. + +config BR2_PACKAGE_BLUEZ5_PLUGINS_HEALTH + bool "bluez5-utils health plugin option renamed" + select BR2_LEGACY + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH + help + For consistency reasons, the option + BR2_PACKAGE_BLUEZ5_PLUGINS_HEALTH has been renamed to + BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH. + +config BR2_PACKAGE_BLUEZ5_PLUGINS_MIDI + bool "bluez5-utils midi plugin option renamed" + select BR2_LEGACY + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI + help + For consistency reasons, the option + BR2_PACKAGE_BLUEZ5_PLUGINS_MIDI has been renamed to + BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI. + +config BR2_PACKAGE_BLUEZ5_PLUGINS_NFC + bool "bluez5-utils nfc plugin option renamed" + select BR2_LEGACY + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC + help + For consistency reasons, the option + BR2_PACKAGE_BLUEZ5_PLUGINS_NFC has been renamed to + BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC. + +config BR2_PACKAGE_BLUEZ5_PLUGINS_SAP + bool "bluez5-utils sap plugin option renamed" + select BR2_LEGACY + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP + help + For consistency reasons, the option + BR2_PACKAGE_BLUEZ5_PLUGINS_SAP has been renamed to + BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP. + +config BR2_PACKAGE_BLUEZ5_PLUGINS_SIXAXIS + bool "bluez5-utils sixaxis plugin option renamed" + select BR2_LEGACY + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS + help + For consistency reasons, the option + BR2_PACKAGE_BLUEZ5_PLUGINS_SIXAXIS has been renamed to + BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS. + +config BR2_PACKAGE_TRANSMISSION_REMOTE + bool "transmission remote tool option removed" + select BR2_LEGACY + select BR2_PACKAGE_TRANSMISSION_DAEMON + help + Upstream does not provide a separate configure option for + the tool transmission-remote, it is built when the + transmission daemon has been enabled. Therefore, Buildroot + has automatically enabled BR2_PACKAGE_TRANSMISSION_DAEMON + for you. + +config BR2_PACKAGE_LIBKCAPI_APPS + bool "libkcapi test applications removed" + select BR2_LEGACY + select BR2_PACKAGE_LIBKCAPI_HASHER if !BR2_STATIC_LIBS + select BR2_PACKAGE_LIBKCAPI_RNGAPP + select BR2_PACKAGE_LIBKCAPI_SPEED + select BR2_PACKAGE_LIBKCAPI_TEST + help + Test applications (hasher, rng read, speed-test, test) now + have their own configuration options in the libkcapi menu. + +config BR2_PACKAGE_MPLAYER + bool "mplayer package removed" + select BR2_LEGACY + help + The mplayer package was removed. + +config BR2_PACKAGE_MPLAYER_MPLAYER + bool "mplayer package removed" + select BR2_LEGACY + help + The mplayer package was removed. + +config BR2_PACKAGE_MPLAYER_MENCODER + bool "mplayer package removed" + select BR2_LEGACY + help + The mplayer package was removed. + +config BR2_PACKAGE_LIBPLAYER_MPLAYER + bool "mplayer support in libplayer removed" + select BR2_LEGACY + help + The mplayer package was removed. + +config BR2_PACKAGE_IQVLINUX + bool "iqvlinux package removed" + select BR2_LEGACY + help + This package contained a kernel module from Intel, which + could only be used together with Intel userspace tools + provided under NDA, which also come with the same kernel + module. The copy of the kernel module available on + SourceForge is provided only to comply with the GPLv2 + requirement. Intel engineers were even surprised it even + built and were not willing to make any effort to fix their + tarball naming to contain a version number. Therefore, it + does not make sense for Buildroot to provide such a package. + + See https://sourceforge.net/p/e1000/bugs/589/ for the + discussion. + +config BR2_BINFMT_FLAT_SEP_DATA + bool "binfmt FLAT with separate code and data removed" + select BR2_LEGACY + help + This FLAT binary format was only used on Blackfin, which has + been removed. + +config BR2_bfin + bool "Blackfin architecture support removed" + select BR2_LEGACY + help + Following the removal of Blackfin support for the upstream + Linux kernel, Buildroot has removed support for this CPU + architecture. + +config BR2_PACKAGE_KODI_ADSP_BASIC + bool "kodi-adsp-basic package removed" + select BR2_LEGACY + help + kodi-adsp-basic is unmaintained + +config BR2_PACKAGE_KODI_ADSP_FREESURROUND + bool "kodi-adsp-freesurround package removed" + select BR2_LEGACY + help + kodi-adsp-freesurround is unmaintained + +############################################################################### +comment "Legacy options removed in 2018.02" + +config BR2_KERNEL_HEADERS_3_4 + bool "kernel headers version 3.4.x are no longer supported" + select BR2_LEGACY + help + Version 3.4.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_3_10 + bool "kernel headers version 3.10.x are no longer supported" + select BR2_LEGACY + help + Version 3.10.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_3_12 + bool "kernel headers version 3.12.x are no longer supported" + select BR2_LEGACY + help + Version 3.12.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_BINUTILS_VERSION_2_27_X + bool "binutils version 2.27 support removed" + select BR2_LEGACY + help + Support for binutils version 2.27 has been removed. The + current default version (2.29 or later) has been selected + instead. + +config BR2_PACKAGE_EEPROG + bool "eeprog package removed" + select BR2_LEGACY + select BR2_PACKAGE_I2C_TOOLS + select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS + help + The eeprog program is now provided by the i2c-tools package. + +config BR2_PACKAGE_GNUPG2_GPGV2 + bool "gnupg2 gpgv2 option removed" + select BR2_LEGACY + select BR2_PACKAGE_GNUPG2_GPGV + help + The gpgv2 executable is now named gpgv. The config option + has been renamed accordingly. + +config BR2_PACKAGE_IMX_GPU_VIV_APITRACE + bool "Vivante apitrace tool option removed" + select BR2_LEGACY + help + The apitrace tool for Vivante is not provided by the + imx-gpu-viv package any longer. + +config BR2_PACKAGE_IMX_GPU_VIV_G2D + bool "Vivante G2D libraries from imx-gpu-viv removed" + select BR2_LEGACY + select BR2_PACKAGE_IMX_GPU_G2D + help + The G2D libraries are now provided by the imx-gpu-g2d package. + +############################################################################### +comment "Legacy options removed in 2017.11" + +config BR2_PACKAGE_RFKILL + bool "rfkill package removed" + select BR2_LEGACY + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_RFKILL + help + The rfkill program is now provided by the util-linux package. + +config BR2_PACKAGE_UTIL_LINUX_RESET + bool "util-linux reset option removed" + select BR2_LEGACY + help + The util-linux package no longer offers a "reset" command. Use + either the reset command provided by BusyBox or select ncurses + programs, which will install a symlink from "tset" to reset. + +config BR2_PACKAGE_POLICYCOREUTILS_AUDIT2ALLOW + bool "policycoreutils audit2allow option removed" + select BR2_LEGACY + select BR2_PACKAGE_SELINUX_PYTHON + select BR2_PACKAGE_SELINUX_PYTHON_AUDIT2ALLOW + help + The policycoreutils package no longer offers audit2allow + as a option. This package has been moved into the + selinux-python package by the SELinux maintainers. + +config BR2_PACKAGE_POLICYCOREUTILS_RESTORECOND + bool "policycoreutils restorecond option removed" + select BR2_LEGACY + select BR2_PACKAGE_RESTORECOND + help + The policycoreutils package no longer offers restorecond + as a option. This package has been moved into a separate + package maintained by the SELinux maintainers. + +config BR2_PACKAGE_SEPOLGEN + bool "sepolgen package has been removed" + select BR2_LEGACY + select BR2_PACKAGE_SELINUX_PYTHON + select BR2_PACKAGE_SELINUX_PYTHON_SEPOLGEN + help + Sepolgen is no longer a individual package, but instead has + been moved into the selinux-python package by the SELinux + maintainers. + +config BR2_PACKAGE_OPENOBEX_BLUEZ + bool "openobex bluez option removed" + select BR2_LEGACY + select BR2_PACKAGE_BLUEZ_UTILS + help + The OpenOBEX package no longer offers an option to enable or + disable BlueZ support. Instead, BlueZ support is always + included when the bluez5_utils or bluez_utils package is + selected. + +config BR2_PACKAGE_OPENOBEX_LIBUSB + bool "openobex libusb option removed" + select BR2_LEGACY + select BR2_PACKAGE_LIBUSB + help + The OpenOBEX package no longer offers an option to enable or + disable libusb support. Instead, USB support is always + included when the libusb package is selected. + +config BR2_PACKAGE_OPENOBEX_APPS + bool "openobex apps option removed" + select BR2_LEGACY + help + The OpenOBEX package no longer offers an option to enable or + disable apps support. + +config BR2_PACKAGE_OPENOBEX_SYSLOG + bool "openobex syslog option removed" + select BR2_LEGACY + help + The OpenOBEX package no longer offers an option to enable or + disable syslog support. + +config BR2_PACKAGE_OPENOBEX_DUMP + bool "openobex dump option removed" + select BR2_LEGACY + help + The OpenOBEX package no longer offers an option to enable or + disable dump support. + +config BR2_PACKAGE_AICCU + bool "aiccu utility removed" + select BR2_LEGACY + help + As the SixXS project has ceased its operation on 2017-06-06, + the AICCU utility has no use anymore and has been removed. + + https://www.sixxs.net/sunset/ + +config BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS + bool "util-linux login utilities option removed" + select BR2_LEGACY + select BR2_PACKAGE_UTIL_LINUX_LAST + select BR2_PACKAGE_UTIL_LINUX_LOGIN + select BR2_PACKAGE_UTIL_LINUX_RUNUSER + select BR2_PACKAGE_UTIL_LINUX_SU + select BR2_PACKAGE_UTIL_LINUX_SULOGIN + help + Login utilities (last, login, runuser, su, sulogin) now have + their own configuration options in the util-linux menu. + +############################################################################### +comment "Legacy options removed in 2017.08" + +config BR2_TARGET_GRUB + bool "grub (aka grub-legacy) has been removed" + select BR2_LEGACY + help + grub-legacy is no longer maintained, and no longer builds with + recent binutils versions. + + Use grub2 or syslinux instead. + +config BR2_PACKAGE_SIMICSFS + bool "simicsfs support removed" + select BR2_LEGACY + help + Support for simicsfs kernel driver that provides access to a + host computer's local filesystem when the target is + executing within a SIMICS simulation has been removed. + + Simics is now moving away from the simicsfs kernel module, + as the kernel module has required too much maintenance + work. Users should move to the user mode Simics agent + instead. + +config BR2_BINUTILS_VERSION_2_26_X + bool "binutils version 2.26 support removed" + select BR2_LEGACY + help + Support for binutils version 2.26 has been removed. The + current default version (2.28 or later) has been selected + instead. + +config BR2_XTENSA_OVERLAY_DIR + string "The BR2_XTENSA_OVERLAY_DIR option has been removed" + help + The BR2_XTENSA_OVERLAY_DIR has been removed in favour of + BR2_XTENSA_OVERLAY_FILE. You must now pass the complete + path to the overlay file, not to the directory containing + it. + +config BR2_XTENSA_OVERLAY_DIR_WRAP + bool + default y if BR2_XTENSA_OVERLAY_DIR != "" + select BR2_LEGACY + +config BR2_XTENSA_CUSTOM_NAME + string "The BR2_XTENSA_CUSTOM_NAME option has been removed" + help + The BR2_XTENSA_CUSTOM_NAME option has been removed. + +config BR2_XTENSA_CUSTOM_NAME_WRAP + bool + default y if BR2_XTENSA_CUSTOM_NAME != "" + select BR2_LEGACY + +config BR2_PACKAGE_HOST_MKE2IMG + bool "host mke2img has been removed" + select BR2_LEGACY + help + We now call mkfs directly to generate ext2/3/4 filesystem + image, so mke2img is no longer necessary. + +config BR2_TARGET_ROOTFS_EXT2_BLOCKS + int "exact size in blocks has been removed" + default 0 + help + This option has been removed in favor of + BR2_TARGET_ROOTFS_EXT2_SIZE. It has been set automatically + to the value you had before. Set to 0 here to remove the + warning. + +config BR2_TARGET_ROOTFS_EXT2_BLOCKS_WRAP + bool + default y if BR2_TARGET_ROOTFS_EXT2_BLOCKS != 0 && \ + BR2_TARGET_ROOTFS_EXT2_BLOCKS != 61440 # deprecated default value + select BR2_LEGACY + +# Note: BR2_TARGET_ROOTFS_EXT2_BLOCKS_WRAP still referenced in fs/ext2/Config.in + +config BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES + int "ext2 extra inodes has been removed" if BR2_TARGET_ROOTFS_EXT2_INODES = 0 + default 0 + help + Buildroot now uses mkfs.ext2/3/4 to generate ext2/3/4 + images. It now automatically selects the number of inodes + based on the image size. The extra number of inodes can no + longer be provided; instead, provide the total number of + inodes needed in BR2_TARGET_ROOTFS_EXT2_INODES. + +config BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES_WRAP + bool + default y if BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES != 0 + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CDXAPARSE + bool "cdxaparse removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DATAURISRC + bool "dataurisrc moved to gstreamer1" + select BR2_LEGACY + help + Dataurisrc has moved to gstreamer core and is always built. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DCCP + bool "dccp removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HDVPARSE + bool "hdvparse removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MVE + bool "mve removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NUVDEMUX + bool "nuvdemux removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PATCHDETECT + bool "patchdetect removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDI + bool "sdi removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTA + bool "tta removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOMEASURE + bool "videomeasure removed" + select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IQA + select BR2_LEGACY + help + videomeasure plugin has been removed and has been replaced by + iqa, which has automatically been enabled. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_APEXSINK + bool "apexsink removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDL + bool "sdl removed" + select BR2_LEGACY + +config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MAD + bool "mad (*.mp3 audio) removed" + select BR2_LEGACY + +config BR2_STRIP_none + bool "Strip command 'none' has been removed" + select BR2_LEGACY + help + The strip command choice has been changed into a single + boolean option. Please check that the new setting is + correct (in the "Build options" sub-menu) + +config BR2_PACKAGE_BEECRYPT_CPP + bool "C++ support removed in beecrypt" + select BR2_LEGACY + help + Support for C++ depends on icu. The beecrypt package is + incompatible with icu 59+. + +config BR2_PACKAGE_SPICE_CLIENT + bool "spice client support removed" + select BR2_LEGACY + help + Spice client support has been removed upstream. The + functionality now lives in the spice-gtk widget and + virt-viewer. + +config BR2_PACKAGE_SPICE_GUI + bool "spice gui support removed" + select BR2_LEGACY + help + Spice gui support has been removed upstream. The + functionality now lives in the spice-gtk widget and + virt-viewer. + +config BR2_PACKAGE_SPICE_TUNNEL + bool "spice network redirection removed" + select BR2_LEGACY + help + Spice network redirection, aka tunnelling has been removed + upstream. + +config BR2_PACKAGE_INPUT_TOOLS + bool "input-tools removed" + select BR2_LEGACY + select BR2_PACKAGE_LINUXCONSOLETOOLS + help + input-tools has been removed, it is replaced by + linuxconsoletools, which has automatically been enabled. + +config BR2_PACKAGE_INPUT_TOOLS_INPUTATTACH + bool "inputattach moved to linuxconsoletools" + select BR2_LEGACY + select BR2_PACKAGE_LINUXCONSOLETOOLS + select BR2_PACKAGE_LINUXCONSOLETOOLS_INPUTATTACH + help + input-tools has been removed, inputattach is now part + of linuxconsoletools, which has automatically been + enabled. + +config BR2_PACKAGE_INPUT_TOOLS_JSCAL + bool "jscal moved to linuxconsoletools" + select BR2_LEGACY + select BR2_PACKAGE_LINUXCONSOLETOOLS + select BR2_PACKAGE_LINUXCONSOLETOOLS_JOYSTICK + help + input-tools has been removed, jscal is now part + of linuxconsoletools, which has automatically been + enabled. + +config BR2_PACKAGE_INPUT_TOOLS_JSTEST + bool "jstest moved to linuxconsoletools" + select BR2_LEGACY + select BR2_PACKAGE_LINUXCONSOLETOOLS + select BR2_PACKAGE_LINUXCONSOLETOOLS_JOYSTICK + help + input-tools has been removed, jstest is now part + of linuxconsoletools, which has automatically been + enabled. + +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH + bool "SH Sourcery toolchain has been removed" + select BR2_LEGACY + help + The Sourcery CodeBench toolchain for the sh architecture has + been removed, since it uses glibc older than 2.17 that + requires -lrt to link executables using clock_* system calls. + This makes this toolchain difficult to maintain over time. + +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 + bool "x86 Sourcery toolchain has been removed" + select BR2_LEGACY + help + The Sourcery CodeBench toolchain for the x86 architecture has + been removed, since it uses glibc older than 2.17 that + requires -lrt to link executables using clock_* system calls. + This makes this toolchain difficult to maintain over time. + +config BR2_GCC_VERSION_4_8_X + bool "gcc 4.8.x support removed" + select BR2_LEGACY + help + Support for gcc version 4.8.x has been removed. The current + default version (5.x or later) has been selected instead. + +############################################################################### +comment "Legacy options removed in 2017.05" + +config BR2_PACKAGE_SUNXI_MALI_R2P4 + bool "sunxi-mali r2p4 removed" + select BR2_LEGACY + help + sunxi-mali libMali for r2p4 Mali kernel module has been + removed since the libump package only provides libUMP.so.3. + libMali for r2p4 Mali kernel module requires libUMP.so.2. + +config BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT + bool "CoffeeScript option has been removed" + select BR2_LEGACY + help + The option to enable NodeJS CoffeeScript has been removed. + To continue using it, add "coffee-script" to + BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL. + +config BR2_PACKAGE_NODEJS_MODULES_EXPRESS + bool "Express web application framework option has been removed" + select BR2_LEGACY + help + The option to enable the NodeJS Express web application + framework has been removed. To continue using it, add + "express" to BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL. + +config BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL + bool "bluez5_utils gatttool install option removed" + select BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED + help + The option to install gatttool specifically has been removed. + Since version 5.44 gatttool is in the list of deprecated + tools. The option to build and install deprecated tools has + been automatically enabled. + +config BR2_PACKAGE_OPENOCD_FT2XXX + bool "openocd ft2232 support has been removed" + select BR2_PACKAGE_OPENOCD_FTDI + select BR2_LEGACY + help + FT2232 support in OpenOCD has been removed, it's replaced by + FDTI support, which has automatically been enabled. + +config BR2_PACKAGE_KODI_RTMPDUMP + bool "kodi rtmp has been removed" + select BR2_LEGACY + select BR2_PACKAGE_KODI_INPUTSTREAM_RTMP + help + Internal rtmp support was removed from Kodi. + +config BR2_PACKAGE_KODI_VISUALISATION_FOUNTAIN + bool "kodi-visualisation-fountain has been removed" + select BR2_LEGACY + help + According to upstream 'the visualization is not currently + in a working shape.' + +config BR2_PACKAGE_PORTMAP + bool "portmap has been removed" + select BR2_LEGACY + select BR2_PACKAGE_RPCBIND + help + The portmap upstream tarball is removed, no releases since + ten years and latest change in upstream git in 2014. + You should better use rpcbind as a RPC portmapper. + +config BR2_BINUTILS_VERSION_2_25_X + bool "binutils version 2.25 support removed" + select BR2_LEGACY + help + Support for binutils version 2.25 has been removed. The + current default version (2.27 or later) has been selected + instead. + +config BR2_TOOLCHAIN_BUILDROOT_INET_RPC + bool "uclibc RPC support has been removed" + select BR2_LEGACY + help + uClibc-ng removed internal RPC implementation in 1.0.23. You + should use libtirpc instead. + +config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS + int "extra size in blocks has been removed" + default 0 + help + Since the support for auto calculation of the filesystem size + has been removed, this option is now useless and must be 0. + You may want to check that BR2_TARGET_ROOTFS_EXT2_BLOCKS + matchs your needs. + +config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS_WRAP + bool + default y if BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS != 0 + select BR2_LEGACY + +config BR2_PACKAGE_SYSTEMD_KDBUS + bool "systemd-kdbus has been removed" + select BR2_LEGACY + help + --enable/disable-kdbus configure option has been removed since + systemd-231. + +config BR2_PACKAGE_POLARSSL + bool "polarssl has been removed" + select BR2_LEGACY + help + The polarssl crypto library has been removed since the 1.2.x + release branch is no longer maintained. Newer upstream + branches/releases (mbedtls) have API changes so they're not + drop-in replacements. + +config BR2_NBD_CLIENT + bool "nbd client option was renamed" + select BR2_LEGACY + select BR2_PACKAGE_NBD_CLIENT + help + The nbd client option has been renamed to + BR2_PACKAGE_NBD_CLIENT. + +config BR2_NBD_SERVER + bool "nbd server option was renamed" + select BR2_LEGACY + select BR2_PACKAGE_NBD_SERVER + help + The nbd server option has been renamed to + BR2_PACKAGE_NBD_SERVER. + +config BR2_PACKAGE_GMOCK + bool "gmock merged into gtest package" + select BR2_LEGACY + select BR2_PACKAGE_GTEST + select BR2_PACKAGE_GTEST_GMOCK + help + GMock is now a suboption of the GTest package. + +config BR2_KERNEL_HEADERS_4_8 + bool "kernel headers version 4.8.x are no longer supported" + select BR2_LEGACY + help + Version 4.8.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_3_18 + bool "kernel headers version 3.18.x are no longer supported" + select BR2_LEGACY + help + Version 3.18.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_GLIBC_VERSION_2_22 + bool "glibc 2.22 removed" + select BR2_LEGACY + help + Support for glibc version 2.22 has been removed. The current + default version has been selected instead. + +############################################################################### +comment "Legacy options removed in 2017.02" + +config BR2_PACKAGE_PERL_DB_FILE + bool "perl-db-file removed" + select BR2_LEGACY + select BR2_PACKAGE_BERKELEYDB + select BR2_PACKAGE_PERL + help + DB_File can be built as a core Perl module, so the separate + perl-db-file package has been removed. + +config BR2_KERNEL_HEADERS_4_7 + bool "kernel headers version 4.7.x are no longer supported" + select BR2_LEGACY + help + Version 4.7.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_6 + bool "kernel headers version 4.6.x are no longer supported" + select BR2_LEGACY + help + Version 4.6.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_5 + bool "kernel headers version 4.5.x are no longer supported" + select BR2_LEGACY + help + Version 4.5.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_3_14 + bool "kernel headers version 3.14.x are no longer supported" + select BR2_LEGACY + help + Version 3.14.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS + bool "musl-cross 1.1.12 toolchain removed" + select BR2_LEGACY + help + The support for the prebuilt toolchain based on the Musl C + library provided by the musl-cross project has been removed. + Upstream doesn't provide any prebuilt toolchain anymore, use + the Buildroot toolchain instead. + +config BR2_UCLIBC_INSTALL_TEST_SUITE + bool "uClibc tests now in uclibc-ng-test" + select BR2_LEGACY + select BR2_PACKAGE_UCLIBC_NG_TEST + help + The test suite of the uClibc C library has been moved into a + separate package, uclibc-ng-test. + +config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX + bool "Blackfin.uclinux.org 2014R1 toolchain removed" + select BR2_LEGACY + help + The ADI Blackfin toolchain has many bugs which are fixed in + more recent gcc and uClibc-ng releases. Use the Buildroot + toolchain instead. + +config BR2_PACKAGE_MAKEDEVS + bool "makedevs removed" + select BR2_LEGACY + help + The makedevs tool is part of busybox. The Buildroot fork + should not be used outside of the Buildroot infrastructure. + +config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A + bool "Arago ARMv7 2011.09 removed" + select BR2_LEGACY + help + The Arago toolchains are every old and not updated anymore. + +config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE + bool "Arago ARMv5 2011.09 removed" + select BR2_LEGACY + help + The Arago toolchains are every old and not updated anymore. + +config BR2_PACKAGE_SNOWBALL_HDMISERVICE + bool "snowball-hdmiservice removed" + select BR2_LEGACY + help + We no longer have support for the Snowball platform in + Buildroot, so this package was no longer useful. + +config BR2_PACKAGE_SNOWBALL_INIT + bool "snowball-init removed" + select BR2_LEGACY + help + We no longer have support for the Snowball platform in + Buildroot, so this package was no longer useful. + +config BR2_GDB_VERSION_7_9 + bool "gdb 7.9 has been removed" + select BR2_LEGACY + help + The 7.9 version of gdb has been removed. Use a newer version + instead. + +############################################################################### +comment "Legacy options removed in 2016.11" + +config BR2_PACKAGE_PHP_SAPI_CLI_CGI + bool "PHP CGI and CLI options are now separate" + select BR2_PACKAGE_PHP_SAPI_CLI + select BR2_PACKAGE_PHP_SAPI_CGI + select BR2_LEGACY + help + The PHP Interface options have been split up into a + separate option for each interface. + +config BR2_PACKAGE_PHP_SAPI_CLI_FPM + bool "PHP CLI and FPM options are now separate" + select BR2_PACKAGE_PHP_SAPI_CLI + select BR2_PACKAGE_PHP_SAPI_FPM + select BR2_LEGACY + help + The PHP Interface options have been split up into a + separate option for each interface. + +config BR2_PACKAGE_WVSTREAMS + bool "wvstreams removed" + select BR2_LEGACY + help + wvstreams is not maintained anymore since about 2009. It also + doesn't build anymore with recent compilers (GCC 5+). + +config BR2_PACKAGE_WVDIAL + bool "wvdial removed" + select BR2_LEGACY + help + wvdial is not maintained anymore since about 2009. It also + doesn't build anymore with recent compilers (GCC 5+). + +config BR2_PACKAGE_WEBKITGTK24 + bool "webkitgtk 2.4.x removed" + select BR2_LEGACY + help + This legacy package only existed because some other packages + depended on that specific version of webkitgtk. However, the + other packages have been fixed. webkitgtk 2.4 is full of + security issues so it needs to be removed. + +config BR2_PACKAGE_TORSMO + bool "torsmo removed" + select BR2_LEGACY + help + torsmo has been unmaintained for a long time, and nobody + seems to be interested in it. + +config BR2_PACKAGE_SSTRIP + bool "sstrip removed" + select BR2_LEGACY + help + sstrip is unmaintained and potentially harmful. It doesn't + save so much compared to normal binutils strip, and there is + a big risk of binaries that don't work. Use normal strip + instead. + +config BR2_KERNEL_HEADERS_4_3 + bool "kernel headers version 4.3.x are no longer supported" + select BR2_LEGACY + help + Version 4.3.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_2 + bool "kernel headers version 4.2.x are no longer supported" + select BR2_LEGACY + help + Version 4.2.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_PACKAGE_KODI_ADDON_XVDR + bool "kodi-addon-xvdr removed" + select BR2_LEGACY + help + According to the github project page: + https://github.com/pipelka/xbmc-addon-xvdr + this package is discontinued. + +config BR2_PACKAGE_IPKG + bool "ipkg removed" + select BR2_LEGACY + help + ipkg dates back to the early 2000s when Compaq started the + handhelds.org project and it hasn't seen development since + 2006. Use opkg as a replacement. + +config BR2_GCC_VERSION_4_7_X + bool "gcc 4.7.x support removed" + select BR2_LEGACY + help + Support for gcc version 4.7.x has been removed. The current + default version (4.9.x or later) has been selected instead. + +config BR2_BINUTILS_VERSION_2_24_X + bool "binutils version 2.24 support removed" + select BR2_LEGACY + help + Support for binutils version 2.24 has been removed. The + current default version (2.26 or later) has been selected + instead. + +config BR2_PACKAGE_WESTON_RPI + bool "Weston propietary RPI support is gone" + select BR2_LEGACY + help + Upstream decided the propietary (rpi-userland) weston composer + support wasn't worth the effort so it was removed. Switch to + the open VC4 support. + +config BR2_LINUX_KERNEL_TOOL_CPUPOWER + bool "linux-tool cpupower" + depends on BR2_LINUX_KERNEL + select BR2_LEGACY + select BR2_PACKAGE_LINUX_TOOLS_CPUPOWER + help + Linux tool cpupower option was renamed. + +config BR2_LINUX_KERNEL_TOOL_PERF + bool "linux-tool perf" + depends on BR2_LINUX_KERNEL + select BR2_LEGACY + select BR2_PACKAGE_LINUX_TOOLS_PERF + help + Linux tool perf option was renamed. + +config BR2_LINUX_KERNEL_TOOL_SELFTESTS + bool "linux-tool selftests" + depends on BR2_LINUX_KERNEL + select BR2_LEGACY + select BR2_PACKAGE_LINUX_TOOLS_SELFTESTS + help + Linux tool selftests option was renamed. + +config BR2_GCC_VERSION_4_8_ARC + bool "gcc arc option renamed" + select BR2_LEGACY + help + The option that selects the gcc version for the ARC + architecture has been renamed to BR2_GCC_VERSION_ARC. +# Note: BR2_GCC_VERSION_4_8_ARC is still referenced from +# package/gcc/Config.in.host + +config BR2_KERNEL_HEADERS_4_0 + bool "kernel headers version 4.0.x are no longer supported" + select BR2_LEGACY + help + Version 4.0.x of the Linux kernel headers have been deprecated + for more than four buildroot releases and are now removed. + +config BR2_KERNEL_HEADERS_3_19 + bool "kernel headers version 3.19.x are no longer supported" + select BR2_LEGACY + help + Version 3.19.x of the Linux kernel headers have been + deprecated for more than four buildroot releases and are now + removed. + +config BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS + bool "libevas-generic-loaders package removed" + select BR2_LEGACY + select BR2_PACKAGE_EFL + help + With EFL 1.18, libevas-generic-loaders is now provided by the + efl package. + +config BR2_PACKAGE_ELEMENTARY + bool "elementary package removed" + select BR2_LEGACY + select BR2_PACKAGE_EFL + help + With EFL 1.18, elementary is now provided by the efl package. + +config BR2_LINUX_KERNEL_CUSTOM_LOCAL + bool "Linux kernel local directory option removed" + select BR2_LEGACY + help + The option to select a local directory as the source of the + Linux kernel has been removed. It hurts reproducibility of + builds. + + In case you were using this option during development of your + Linux kernel, use the override mechanism instead. + +############################################################################### +comment "Legacy options removed in 2016.08" + +config BR2_PACKAGE_EFL_JP2K + bool "libevas jp2k loader has been removed" + select BR2_LEGACY + help + JP2K support in EFL requires openjpeg 1.x (libopenjpeg1.pc) + while Buildroot only packages openjpeg 2.x. Therefore, the + JP2K loader has been removed from EFL. + +config BR2_PACKAGE_SYSTEMD_COMPAT + bool "systemd compatibility libraries have been removed" + select BR2_LEGACY + help + The systemd option to enable the compatibility libraries has + been removed. Theses libraries have been useless since a few + version, and have been fully dropped from the source since + v230. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIVEADDER + bool "gst1-plugins-bad liveadder plugin removed" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXER + help + The functionality of the liveadder plugin of the + gst1-plugins-bad package has been merged into audiomixer. + +config BR2_PACKAGE_LIBFSLVPUWRAP + bool "libfslvpuwrap has been renamed to imx-vpuwrap" + select BR2_LEGACY + select BR2_PACKAGE_IMX_VPUWRAP + help + The libfslvpuwrap has been renamed to match the renamed + package. + +config BR2_PACKAGE_LIBFSLPARSER + bool "libfslparser has been renamed to imx-parser" + select BR2_LEGACY + select BR2_PACKAGE_IMX_PARSER + help + The libfslparser has been renamed to match the renamed + package. + +config BR2_PACKAGE_LIBFSLCODEC + bool "libfslcodec has been renamed to imx-codec" + select BR2_LEGACY + select BR2_PACKAGE_IMX_CODEC + help + The libfslcodec has been renamed to match the renamed package. + +config BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE_FIT_SIGNATURE_SUPPORT + bool "FIT support in uboot-tools has been refactored" + select BR2_LEGACY + select BR2_PACKAGE_DTC + select BR2_PACKAGE_DTC_PROGRAMS + select BR2_PACKAGE_UBOOT_TOOLS_FIT_SUPPORT + select BR2_PACKAGE_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT + select BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE + help + This option has been removed in favor of a more fine-grained + configuration, which is recommended. Selecting this option + enables FIT and FIT signature support for the target packages. + It will also select the dtc and openssl packages. + +config BR2_PTHREADS_OLD + bool "linuxthreads (stable/old)" + select BR2_LEGACY + help + Linuxthreads have been reworked, BR2_PTHREADS_OLD is now + BR2_PTHREADS and the old BR2_PTHREADS - LT.new got removed. + +config BR2_BINUTILS_VERSION_2_23_X + bool "binutils 2.23 removed" + select BR2_LEGACY + help + Binutils 2.23 has been removed, using a newer version is + recommended. + +config BR2_TOOLCHAIN_BUILDROOT_EGLIBC + bool "eglibc support has been removed" + select BR2_LEGACY + help + The eglibc project no longer exists, as it has been merged + back into the glibc project. Therefore, support for eglibc + has been removed, and glibc should be used instead. + +config BR2_GDB_VERSION_7_8 + bool "gdb 7.8 has been removed" + select BR2_LEGACY + help + The 7.8 version of gdb has been removed. Use a newer version + instead. + +############################################################################### +comment "Legacy options removed in 2016.05" + +config BR2_PACKAGE_OPENVPN_CRYPTO_POLARSSL + bool "openvpn polarssl crypto backend removed" + select BR2_LEGACY + help + The OpenVPN polarssl crypto backend option has been removed. + Version from 2.3.10 onwards need polarssl >= 1.3.8 but aren't + compatible with mbedtls (polarssl) series 2.x which is the + version provided in buildroot. And both can't coexist. + It now uses OpenSSL as the only option. + +config BR2_PACKAGE_NGINX_HTTP_SPDY_MODULE + bool "nginx http spdy module removed" + select BR2_LEGACY + select BR2_PACKAGE_NGINX_HTTP_V2_MODULE + help + The ngx_http_spdy_module has been superseded by the + ngx_http_v2_module since nginx v1.9.5. The + ngx_http_v2_module modules has been automatically selected + in your configuration. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTP + bool "gst1-plugins-bad rtp plugin moved to good" + select BR2_LEGACY + help + The rtp plugin has been moved from gst1-plugins-base to + gst1-plugins-good. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPG123 + bool "gst1-plugins-bad mpg123 plugin moved to ugly" + select BR2_LEGACY + help + The mpg123 plugin has been moved from gst1-plugins-bad to + gst1-plugins-ugly. + +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC + bool "PowerPC Sourcery toolchain has been removed" + select BR2_LEGACY + help + The Sourcery CodeBench toolchain for the PowerPC + architecture has been removed, as it was very old, not + maintained, and causing numerous build failures with modern + userspace packages. + +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC_E500V2 + bool "PowerPC Sourcery E500v2 toolchain has been removed" + select BR2_LEGACY + help + The Sourcery CodeBench toolchain for the PowerPC E500v2 + architecture has been removed, as it was very old, not + maintained, and causing numerous build failures with modern + userspace packages. + +config BR2_x86_i386 + bool "x86 i386 support removed" + select BR2_LEGACY + help + The support for the i386 processors of the x86 architecture + has been removed. + +config BR2_PACKAGE_QT5QUICK1 + bool "qt5quick1 package removed" + select BR2_LEGACY + help + The qt5quick1 package has been removed, since it was removed + from upstream starting from Qt 5.6. + +config BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR + string "uboot custom patch dir has been removed" + help + The uboot custom patch directory option has been removed. Use + the improved BR2_TARGET_UBOOT_PATCH option instead. + +config BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR_WRAP + bool + default y if BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR != "" + select BR2_LEGACY + +# Note: BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR is still referenced from +# boot/uboot/Config.in + +config BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID + bool "xf86-input-void removed" + select BR2_LEGACY + help + The xf86-input-void package has been removed, there's no need + for it in any modern (post-2007) xorg server. + +config BR2_KERNEL_HEADERS_3_17 + bool "kernel headers version 3.17.x are no longer supported" + select BR2_LEGACY + help + Version 3.17.x of the Linux kernel headers have been + deprecated for more than four buildroot releases and are now + removed. + +config BR2_GDB_VERSION_7_7 + bool "gdb 7.7 has been removed" + select BR2_LEGACY + help + The 7.7 version of gdb has been removed. Use a newer version + instead. + +config BR2_PACKAGE_FOOMATIC_FILTERS + bool "foomatic-filters" + select BR2_LEGACY + help + The foomatic-filters package was removed. + +config BR2_PACKAGE_SAMBA + bool "samba" + select BR2_LEGACY + help + The samba package was removed in favour of samba4 since the + 3.x series isn't supported by upstream any longer. + +config BR2_PACKAGE_KODI_WAVPACK + bool "wavpack" + select BR2_LEGACY + help + wavpack support was removed in favour of ffmpeg: + https://github.com/xbmc/xbmc/commit/7916902c9e6f7a523265594f3ad7f921f93f1cd4 + +config BR2_PACKAGE_KODI_RSXS + bool "rsxs support in Kodi was moved to an addon" + select BR2_LEGACY + select BR2_PACKAGE_KODI_SCREENSAVER_RSXS + help + rsxs support in Kodi was moved to an addon + +config BR2_PACKAGE_KODI_GOOM + bool "Goom support in Kodi was moved to an addon" + select BR2_LEGACY + select BR2_PACKAGE_KODI_VISUALISATION_GOOM + help + Goom support in Kodi was moved to an addon + +config BR2_PACKAGE_SYSTEMD_ALL_EXTRAS + bool "systemd all extras option has been removed" + select BR2_LEGACY + select BR2_PACKAGE_XZ + select BR2_PACKAGE_LIBGCRYPT + help + The systemd option to enable "all extras" has been + removed. To get the same features, the libgcrypt and xz + package should now be enabled. + +config BR2_GCC_VERSION_4_5_X + bool "gcc 4.5.x has been removed" + select BR2_LEGACY + help + The 4.5.x version of gcc has been removed. Use a newer + version instead. + +config BR2_PACKAGE_SQLITE_READLINE + bool "sqlite command-line editing support was updated" + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_READLINE + select BR2_LEGACY + help + This option was removed in favour of the sqlite package + deciding itself depending on the enabled packages whether + command-line editing should be enabled, it also also takes + libedit into account. + +############################################################################### +comment "Legacy options removed in 2016.02" + +config BR2_PACKAGE_DOVECOT_BZIP2 + bool "bzip2 support option has been removed" + select BR2_LEGACY + select BR2_PACKAGE_BZIP2 + help + Bzip2 support is built if the bzip2 package is selected. + +config BR2_PACKAGE_DOVECOT_ZLIB + bool "zlib support option has been removed" + select BR2_LEGACY + select BR2_PACKAGE_ZLIB + help + Zlib support is built if the zlib package is selected. + +config BR2_PACKAGE_E2FSPROGS_FINDFS + bool "e2fsprogs findfs option has been removed" + select BR2_LEGACY + help + This option attempted to enable findfs capabilities from + e2fsprogs but has not worked since July 2015 (due to + packaging changes). One can use BusyBox's findfs support or + enable the BR2_PACKAGE_UTIL_LINUX_BINARIES option. + +config BR2_PACKAGE_OPENPOWERLINK_DEBUG_LEVEL + bool "openpowerlink debug option has been removed" + select BR2_LEGACY + help + This option depends on BR2_ENABLE_DEBUG which should not be + used by packages anymore. + +config BR2_PACKAGE_OPENPOWERLINK_KERNEL_MODULE + bool "openpowerlink package has been updated" + select BR2_LEGACY + help + openpowerlink kernel modules are built if the + kernel stack library is selected. + +config BR2_PACKAGE_OPENPOWERLINK_LIBPCAP + bool "openpowerlink package has been updated" + select BR2_LEGACY + help + The user space support has been split in two part: + - a monolithic user space library + - a user space daemon driver + +config BR2_LINUX_KERNEL_SAME_AS_HEADERS + bool "using the linux headers version for the kernel has been removed" + select BR2_LEGACY + help + The option to use the version of the kernel headers for the + kernel to build has been removed. + + There is now the converse, better-suited and more versatile + option to use the kernel version for the linux headers. + +config BR2_PACKAGE_CUPS_PDFTOPS + bool "Pdftops support has been removed from Cups" + select BR2_PACKAGE_CUPS_FILTERS + select BR2_LEGACY + help + Pdftops support has been removed from the cups package + It is now part of the cups-filters package. + +config BR2_KERNEL_HEADERS_3_16 + bool "kernel headers version 3.16.x are no longer supported" + select BR2_LEGACY + help + Version 3.16.x of the Linux kernel headers have been + deprecated for more than four buildroot releases and are now + removed. + +config BR2_PACKAGE_PYTHON_PYXML + bool "python-pyxml package has been removed" + select BR2_LEGACY + help + PyXML is obsolete and its functionality is covered either via + native Python XML support or python-lxml package. + +# BR2_ENABLE_SSP is still referenced in Config.in (default in choice) +config BR2_ENABLE_SSP + bool "Stack Smashing protection now has different levels" + help + The protection offered by SSP can now be selected from + different protection levels. Be sure to review the SSP level + in the build options menu. + +config BR2_PACKAGE_DIRECTFB_CLE266 + bool "cle266 driver for directfb removed" + select BR2_LEGACY + help + The cle266 directfb driver support has been removed. + It doesn't build in the latest version and it's unlikely + anyone has any use for it. + +config BR2_PACKAGE_DIRECTFB_UNICHROME + bool "unichrome driver for directfb removed" + select BR2_LEGACY + help + The unichrome directfb driver support has been removed. + It doesn't build in the latest version and it's unlikely + anyone has any use for it. + +config BR2_PACKAGE_LIBELEMENTARY + bool "libelementary has been renamed to elementary" + select BR2_LEGACY + select BR2_PACKAGE_ELEMENTARY + help + The libelementary package has been renamed to match the + upstream name. + +config BR2_PACKAGE_LIBEINA + bool "libeina package has been removed" + select BR2_LEGACY + select BR2_PACKAGE_EFL + help + With EFL 1.15, libeina is now provided by the efl package. + +config BR2_PACKAGE_LIBEET + bool "libeet package has been removed" + select BR2_LEGACY + select BR2_PACKAGE_EFL + help + With EFL 1.15, libeet is now provided by the efl package. + +config BR2_PACKAGE_LIBEVAS + bool "libevas package has been removed" + select BR2_LEGACY + select BR2_PACKAGE_EFL + help + With EFL 1.15, libevas is now provided by the efl package. + +config BR2_PACKAGE_LIBECORE + bool "libecore package has been removed" + select BR2_LEGACY + select BR2_PACKAGE_EFL + help + With EFL 1.15, libecore is now provided by the efl package. + +config BR2_PACKAGE_LIBEDBUS + bool "libedbus package has been removed" + select BR2_LEGACY + select BR2_PACKAGE_EFL + help + With EFL 1.15, libedbus is now provided by the efl package. + +config BR2_PACKAGE_LIBEFREET + bool "libefreet package has been removed" + select BR2_LEGACY + select BR2_PACKAGE_EFL + help + With EFL 1.15, libefreet is now provided by the efl package. + +config BR2_PACKAGE_LIBEIO + bool "libeio package has been removed" + select BR2_LEGACY + select BR2_PACKAGE_EFL + help + With EFL 1.15, libeio is now provided by the efl package. + +config BR2_PACKAGE_LIBEMBRYO + bool "libembryo package has been removed" + select BR2_LEGACY + select BR2_PACKAGE_EFL + help + With EFL 1.15, libembryo is now provided by the efl package. + +config BR2_PACKAGE_LIBEDJE + bool "libedje package has been removed" + select BR2_LEGACY + select BR2_PACKAGE_EFL + help + With EFL 1.15, libedje is now provided by the efl package. + +config BR2_PACKAGE_LIBETHUMB + bool "libethumb package has been removed" + select BR2_LEGACY + select BR2_PACKAGE_EFL + help + With EFL 1.15, libethumb is now provided by the efl package. + +config BR2_PACKAGE_INFOZIP + bool "infozip option has been renamed to zip" + select BR2_LEGACY + select BR2_PACKAGE_ZIP + help + Info-Zip's Zip package has been renamed from infozip to zip, + to avoid ambiguities with Info-Zip's UnZip which has been + added in the unzip package. + +config BR2_BR2_PACKAGE_NODEJS_0_10_X + bool "nodejs 0.10.x option removed" + select BR2_LEGACY + select BR2_PACKAGE_NODEJS + help + nodejs 0.10.x option has been removed. 0.10.x is now + automatically chosen for ARMv5 architectures only and the + latest nodejs for all other supported architectures. The + correct nodejs version has been automatically selected in your + configuration. + +config BR2_BR2_PACKAGE_NODEJS_0_12_X + bool "nodejs version 0.12.x has been removed" + select BR2_LEGACY + select BR2_PACKAGE_NODEJS + help + nodejs version 0.12.x has been removed. As an alternative, + the latest nodejs version has been automatically selected in + your configuration. + +config BR2_BR2_PACKAGE_NODEJS_4_X + bool "nodejs version 4.x has been removed" + select BR2_LEGACY + select BR2_PACKAGE_NODEJS + help + nodejs version 4.x has been removed. As an alternative, + the latest nodejs version has been automatically selected in + your configuration. + +############################################################################### +comment "Legacy options removed in 2015.11" + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REAL + bool "gst1-plugins-bad real plugin has been removed" + select BR2_LEGACY + help + The real plugin from GStreamer 1 bad plugins has been + removed. + +config BR2_PACKAGE_MEDIA_CTL + bool "media-ctl package has been removed" + select BR2_LEGACY + select BR2_PACKAGE_LIBV4L + select BR2_PACKAGE_LIBV4L_UTILS + help + media-ctl source and developement have been moved to v4l-utils + since June 2014. For an up-to-date media-ctl version select + BR2_PACKAGE_LIBV4L and BR2_PACKAGE_LIBV4L_UTILS. + +config BR2_PACKAGE_SCHIFRA + bool "schifra package has been removed" + select BR2_LEGACY + help + Schifra package has been maked broken since 2014.11 release + and haven't been fixed since then. + +config BR2_PACKAGE_ZXING + bool "zxing option has been renamed" + select BR2_LEGACY + select BR2_PACKAGE_ZXING_CPP + help + ZXing no longer provides the cpp bindings, it has been renamed + to BR2_PACKAGE_ZXING_CPP which uses a new upstream. + +# Since FreeRDP has new dependencies, protect this legacy to avoid the +# infamous "unmet direct dependencies" kconfig error. +config BR2_PACKAGE_FREERDP_CLIENT + bool "freerdp client option renamed" + depends on BR2_PACKAGE_FREERDP + select BR2_LEGACY + select BR2_PACKAGE_FREERDP_CLIENT_X11 + +config BR2_PACKAGE_BLACKBOX + bool "blackbox package has been removed" + select BR2_LEGACY + help + Upstream is dead and the package has been deprecated for + some time. There are other alternative maintained WMs. + +config BR2_KERNEL_HEADERS_3_0 + bool "kernel headers version 3.0.x are no longer supported" + select BR2_LEGACY + help + Version 3.0.x of the Linux kernel headers have been deprecated + for more than four buildroot releases and are now removed. + +config BR2_KERNEL_HEADERS_3_11 + bool "kernel headers version 3.11.x are no longer supported" + select BR2_LEGACY + help + Version 3.11.x of the Linux kernel headers have been + deprecated for more than four buildroot releases and are now + removed. + +config BR2_KERNEL_HEADERS_3_13 + bool "kernel headers version 3.13.x are no longer supported" + select BR2_LEGACY + help + Version 3.13.x of the Linux kernel headers have been + deprecated for more than four buildroot releases and are now + removed. + +config BR2_KERNEL_HEADERS_3_15 + bool "kernel headers version 3.15.x are no longer supported" + select BR2_LEGACY + help + Version 3.15.x of the Linux kernel headers have been + deprecated for more than four buildroot releases and are now + removed. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI + bool "DirectFB example df_andi has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_BLTLOAD + bool "DirectFB example df_bltload has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_CPULOAD + bool "DirectFB example df_cpuload has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_DATABUFFER + bool "DirectFB example df_databuffer has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_DIOLOAD + bool "DirectFB example df_dioload has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_DOK + bool "DirectFB example df_dok has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_DRIVERTEST + bool "DirectFB example df_drivertest has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_FIRE + bool "DirectFB example df_fire has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_FLIP + bool "DirectFB example df_flip has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_FONTS + bool "DirectFB example df_fonts has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_INPUT + bool "DirectFB example df_input has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_JOYSTICK + bool "DirectFB example df_joystick has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_KNUCKLES + bool "DirectFB example df_knuckles has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_LAYER + bool "DirectFB example df_layer has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX + bool "DirectFB example df_matrix has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX_WATER + bool "DirectFB example df_matrix_water has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_NEO + bool "DirectFB example df_neo has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_NETLOAD + bool "DirectFB example df_netload has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_PALETTE + bool "DirectFB example df_palette has been removed" + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_PARTICLE + bool "DirectFB example df_particle has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_PORTER + bool "DirectFB example df_porter has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_STRESS + bool "DirectFB example df_stress has been removed" + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_TEXTURE + bool "DirectFB example df_texture has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO + bool "DirectFB example df_video has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO_PARTICLE + bool "DirectFB example df_video_particle has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_DIRECTFB_EXAMPLES_WINDOW + bool "DirectFB example df_window has been removed" + select BR2_LEGACY + select BR2_PACKAGE_DIRECTFB_EXAMPLES + help + The per-DirectFB example options have been removed. The + BR2_PACKAGE_DIRECTFB_EXAMPLES option now installs all + examples. + +config BR2_PACKAGE_KOBS_NG + bool "kobs-ng was replaced by imx-kobs" + select BR2_LEGACY + select BR2_PACKAGE_IMX_KOBS + help + The outdated kobs-ng has been replaced by the Freescale- + maintained imx-kobs package. + +config BR2_PACKAGE_SAWMAN + bool "sawman package removed" + select BR2_LEGACY + help + This option has been removed because the sawman package no + longer exists: it was merged inside DirectFB itself. This + feature can now be enabled using the + BR2_PACKAGE_DIRECTFB_SAWMAN option. + +config BR2_PACKAGE_DIVINE + bool "divine package removed" + select BR2_LEGACY + help + This option has been removed because the divine package no + longer exists: it was merged inside DirectFB itself. This + feature can now be enabled using the + BR2_PACKAGE_DIRECTFB_DIVINE option. + +############################################################################### +comment "Legacy options removed in 2015.08" + +config BR2_PACKAGE_KODI_PVR_ADDONS + bool "Kodi PVR addon was split" + select BR2_LEGACY + select BR2_PACKAGE_KODI_PVR_ARGUSTV + select BR2_PACKAGE_KODI_PVR_DVBLINK + select BR2_PACKAGE_KODI_PVR_DVBVIEWER + select BR2_PACKAGE_KODI_PVR_FILMON + select BR2_PACKAGE_KODI_PVR_HTS + select BR2_PACKAGE_KODI_PVR_IPTVSIMPLE + select BR2_PACKAGE_KODI_PVR_MEDIAPORTAL_TVSERVER + select BR2_PACKAGE_KODI_PVR_MYTHTV + select BR2_PACKAGE_KODI_PVR_NEXTPVR + select BR2_PACKAGE_KODI_PVR_NJOY + select BR2_PACKAGE_KODI_PVR_PCTV + select BR2_PACKAGE_KODI_PVR_STALKER + select BR2_PACKAGE_KODI_PVR_VBOX + select BR2_PACKAGE_KODI_PVR_VDR_VNSI + select BR2_PACKAGE_KODI_PVR_VUPLUS + select BR2_PACKAGE_KODI_PVR_WMC + help + Kodi PVR addon was split into separate modules + +config BR2_BINUTILS_VERSION_2_23_2 + bool "binutils 2.23 option renamed" + select BR2_LEGACY + help + Binutils 2.23.2 has been removed, using a newer version is + recommended. + +config BR2_BINUTILS_VERSION_2_24 + bool "binutils 2.24 option renamed" + select BR2_LEGACY + select BR2_BINUTILS_VERSION_2_24_X + help + The binutils version option has been renamed to match the + same patchlevel logic used by gcc. The new option is now + BR2_BINUTILS_VERSION_2_24_X. + +config BR2_BINUTILS_VERSION_2_25 + bool "binutils 2.25 option renamed" + select BR2_LEGACY + select BR2_BINUTILS_VERSION_2_25_X + help + The binutils version option has been renamed to match the + same patchlevel logic used by gcc. The new option is now + BR2_BINUTILS_VERSION_2_25_X. + +config BR2_PACKAGE_PERF + bool "perf option has been renamed" + select BR2_LEGACY + select BR2_LINUX_KERNEL_TOOL_PERF + help + The perf package has been moved as a Linux tools package, + and the option to enable it is now + BR2_LINUX_KERNEL_TOOL_PERF. + +config BR2_BINUTILS_VERSION_2_22 + bool "binutils 2.22 removed" + select BR2_LEGACY + help + Binutils 2.22 has been removed, using a newer version is + recommended. + +config BR2_PACKAGE_GPU_VIV_BIN_MX6Q + bool "gpu-viv-bin-mx6q" + select BR2_LEGACY + select BR2_PACKAGE_IMX_GPU_VIV + help + Vivante graphics libraries have been renamed to + BR2_PACKAGE_IMX_GPU_VIV to be aligned with upstream package + name. + +config BR2_PACKAGE_LIBSEMANAGE_PYTHON_BINDINGS + bool "libsemanage python bindings removed" + depends on BR2_PACKAGE_PYTHON + select BR2_LEGACY + help + This option has been removed, since the libsemanage Python + bindings on the target were not useful. + +config BR2_TARGET_UBOOT_NETWORK + bool "U-Boot custom network settings removed" + select BR2_LEGACY + help + U-Boot's custom network settings options have been removed. endmenu diff --git a/DEVELOPERS b/DEVELOPERS index f35d6f36885..d849fa828a9 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -26,34 +26,80 @@ # infrastructure, and will be CC'ed on all patches that add or # modify packages that use this infrastructure. -N: Abhilash Tuse -F: package/gstreamer1/gst1-rtsp-server/ - -N: Adam Duskett -F: package/audit/ -F: package/checkpolicy/ -F: package/gstreamer1/gst1-vaapi/ -F: package/janus-gateway/ -F: package/libressl/ -F: package/libselinux/ -F: package/libsemanage/ -F: package/libsepol/ -F: package/nginx-naxsi/ -F: package/policycoreutils/ -F: package/python-mutagen/ -F: package/refpolicy/ -F: package/sepolgen/ -F: package/setools/ -F: package/sngrep/ +N: Adam Duskett +F: package/depot-tools/ +F: package/flutter-engine/ +F: package/flutter-packages/ +F: package/flutter-packages/flutter-adaptive-scaffold-example/ +F: package/flutter-packages/flutter-animations-example/ +F: package/flutter-packages/flutter-go-router-example/ +F: package/flutter-packages/flutter-image-example/ +F: package/flutter-packages/flutter-markdown-example/ +F: package/flutter-packages/flutter-rfw-local-example/ +F: package/flutter-pi/ +F: package/flutter-sdk-bin/ +F: package/ivi-homescreen/ +F: package/mender-update-modules/ +F: support/testing/tests/package/test_flutter.py + +N: Adam Heinrich +F: package/jack1/ N: Adrian Perez de Castro +F: package/brotli/ +F: package/bubblewrap/ +F: package/cage/ +F: package/cog/ +F: package/libavif/ +F: package/libdex/ +F: package/libepoxy/ +F: package/libmanette/ +F: package/libpsl/ +F: package/libwpe/ +F: package/sysprof/ F: package/webkitgtk/ +F: package/wlroots/ +F: package/woff2/ +F: package/wpebackend-fdo/ +F: package/wpewebkit/ +F: package/xdg-dbus-proxy/ + +N: Adrien Gallouët +F: package/bird/ +F: package/glorytun/ + +N: Akhilesh Nema +F: board/freescale/ls1046a-rdb/ +F: configs/ls1046a-rdb_defconfig +F: board/freescale/ls1043a-rdb/ +F: configs/ls1043a-rdb_defconfig + +N: Alejandro González +F: package/qprint/ +F: package/watchdog/ N: Aleksander Morgado F: package/libmbim/ F: package/libqmi/ F: package/modem-manager/ +N: Aleksandr Makarov +F: package/cpp-httplib/ + +N: Alexander Shirokov +F: package/broot/ +F: package/kibi/ +F: package/nnn/ +F: package/zellij/ + +N: Alessandro Partesotti +F: package/oatpp/ + +N: Alex Michel +F: package/libzenoh-c/ +F: package/libzenoh-pico/ +F: package/network-manager-openvpn/ + N: Alex Suykov F: package/vboot-utils/ @@ -63,22 +109,61 @@ F: package/odhcp6c/ N: Alexander Dahl F: package/fastd/ F: package/libuecc/ +F: package/siproxd/ F: package/putty/ -N: Alexander Lukichev +N: Alexander Egorenkov +F: package/makedumpfile/ +F: package/multipath-tools/ + +N: Alexander Egorenkov +F: arch/Config.in.s390x +F: board/qemu/s390x/ +F: configs/qemu_s390x_defconfig +F: package/s390-tools/ + +N: Alexander Kurz +F: package/minimodem/ + +N: Alexander Lukichev F: package/openpgm/ +N: Aleksandr Makarov +F: package/libest/ + +N: Alexander Shirokov +F: package/aichat/ + +N: Alexander Sverdlin +F: package/mini-snmpd/ + N: Alexander Varnin F: package/liblog4c-localtime/ -N: Alexandre Belloni +N: Alexandre Belloni F: package/tz/ N: Alexandre Esse F: package/kvazaar/ F: package/v4l2loopback/ -N: Alistair Francis +N: Alexey Brodkin +F: board/cubietech/cubieboard2/ +F: configs/cubieboard2_defconfig + +N: Alexey Lukyanchuk +F: package/zabbix/ + +N: Alexis Lothoré +F: package/libxmlsec1/ +F: package/openscap/ +F: package/python-scp/ + +N: Alistair Francis +F: board/sifive/ +F: boot/opensbi/ +F: configs/hifive_unleashed_defconfig +F: package/libspdm/ F: package/xen/ N: Alvaro G. M @@ -86,20 +171,38 @@ F: package/dcron/ F: package/libxmlrpc/ F: package/python-docopt/ -N: Anders Darander -F: package/ktap/ +N: Anand Gadiyar +F: board/ti/am62x-sk/ +F: board/ti/am64x-sk/ +F: boot/ti-k3-boot-firmware/ +F: boot/ti-k3-r5-loader/ +F: configs/ti_am62x_sk_defconfig +F: configs/ti_am64x_sk_defconfig -N: André Hentschel -F: package/azure-iot-sdk-c/ -F: package/openal/ +N: André Zwing +F: package/libkrb5/ F: package/p7zip/ F: package/wine/ +N: Andrea Ricchi +F: package/cutekeyboard/ + +N: Andreas Klinger +F: package/ply/ + +N: Andreas Naumann +F: package/evemu/ +F: package/libevdev/ +F: package/pkg-qmake.mk +F: package/qt5/qt5opcua/ +F: package/qt6/qt6opcua/ + +N: Andreas Ziegler +F: package/mpd/ + N: Andrey Smirnov -F: package/python-backports-shutil-get-terminal-size/ F: package/python-decorator/ F: package/python-ipython-genutils/ -F: package/python-pathlib2/ F: package/python-pickleshare/ F: package/python-scandir/ F: package/python-simplegeneric/ @@ -110,164 +213,265 @@ F: package/zstd/ N: Andrey Yurovsky F: package/rauc/ -N: Andy Kennedy -F: package/libunwind/ - N: Angelo Compagnucci +F: board/sipeed/lichee_rv/ +F: board/sipeed/lichee_rv_dock/ +F: configs/sipeed_lichee_rv* +F: package/apparmor/ +F: package/corkscrew/ +F: package/cups/ +F: package/cups-filters/ +F: package/cutekeyboard/ +F: package/fail2ban/ +F: package/grep/ +F: package/gtkiostream/ +F: package/htpdate/ +F: package/i2c-tools/ +F: package/jq/ +F: package/libapparmor/ +F: package/libb64/ +F: package/libdill/ +F: package/mender/ +F: package/mender-artifact/ F: package/mono/ F: package/mono-gtksharp3/ F: package/monolite/ +F: package/openjpeg/ F: package/python-can/ +F: package/python-minimalmodbus/ F: package/python-pillow/ F: package/python-pydal/ +F: package/python-spidev/ F: package/python-web2py/ +F: package/qt5/qt5coap/ +F: package/qt5/qt5knx/ +F: package/qt5/qt5mqtt/ +F: package/rtl8723ds/ +F: package/rtl8723ds-bt/ +F: package/sam-ba/ +F: package/sshguard/ +F: package/sunwait/ F: package/sysdig/ -N: Antony Pavlov -F: package/lsscsi/ +N: Andy Shevchenko +F: package/fb-test-app/ +F: package/iotools/ N: Anthony Viallard F: package/gnuplot/ -N: Antoine Ténart -F: package/wf111/ +N: Antoine Tenart +F: package/libselinux/ +F: package/refpolicy/ +F: support/testing/tests/core/test_selinux/ +F: support/testing/tests/core/test_selinux.py +F: support/testing/tests/init/test_systemd_selinux/ +F: support/testing/tests/init/test_systemd_selinux.py + +N: Antony Pavlov +F: package/lsscsi/ N: ARC Maintainers F: arch/Config.in.arc - -N: Ariel D'Alessandro -F: package/axfsutils/ -F: package/mali-t76x/ +F: board/synopsys/ +F: configs/snps_arc700_axs101_defconfig +F: configs/snps_archs38_axs103_defconfig +F: configs/snps_archs38_haps_defconfig +F: configs/snps_archs38_hsdk_defconfig N: Arnaud Aujon F: package/espeak/ -N: Arnout Vandecappelle +N: Arno Messiaen +F: package/python-aiohttp-sse-client/ + +N: Arnout Vandecappelle F: package/arp-scan/ +F: package/dehydrated/ +F: package/dracut/ F: package/freescale-imx/firmware-imx/ F: package/freescale-imx/imx-lib/ -F: package/gstreamer/gst-fsl-plugins/ +F: package/libpagekite/ F: package/lua-bit32/ F: package/owfs/ F: package/python-bottle/ F: package/sqlcipher/ F: package/stress/ -N: Ash Charles +N: Ash Charles F: package/pru-software-support/ F: package/ti-cgt-pru/ N: Assaf Inbal F: package/lbase64/ F: package/luabitop/ -F: package/luacrypto/ F: package/luaexpatutils/ F: package/luaposix/ F: package/luasec/ F: package/lua-ev/ F: package/orbit/ -N: Bartosz Golaszewski -F: package/autoconf-archive/ -F: package/doxygen/ -F: package/libgpiod/ -F: package/libserialport/ -F: package/libsigrok/ -F: package/libsigrokdecode/ -F: package/libzip/ -F: package/pulseview/ -F: package/sigrok-cli/ +N: Attila Wagner +F: package/python-canopen/ + +N: Ayoub Zaki +F: package/bmap-writer/ + +N: Bagas Sanjaya +F: package/git/ + +N: Bartosz Bilas +F: board/stmicroelectronics/stm32mp157a-dk1/ +F: configs/stm32mp157a_dk1_defconfig +F: package/log4qt/ +F: package/python-esptool/ +F: package/python-pyaes/ +F: package/ttyd/ +F: package/qt5/qt5scxml/ +F: package/qt5/qt5webview/ N: Baruch Siach +F: board/solidrun/clearfog_gt_8k/ +F: configs/solidrun_clearfog_gt_8k_defconfig +F: package/18xx-ti-utils/ +F: package/cpuburn-arm/ F: package/daemon/ +F: package/dropbear/ F: package/ebtables/ -F: package/openipmi/ +F: package/i2c-tools/ +F: package/libcurl/ +F: package/libpcap/ +F: package/sexpect/ +F: package/socat/ +F: package/strace/ +F: package/tcpdump/ F: package/ti-uim/ F: package/uhubctl/ -N: Ben Boeckel -F: package/taskd/ +N: Bastien Curutchet +F: package/rasdaemon/ +F: support/testing/tests/package/test_rasdaemon.py + +N: Baxiche Su +F: package/qt6/qt6multimedia/ N: Benjamin Kamath F: package/lapack/ -N: Bernd Kuhls +N: Bernd Kuhls F: package/alsa-lib/ F: package/alsa-utils/ F: package/apache/ +F: package/apg/ F: package/apr/ F: package/apr-util/ F: package/bcg729/ -F: package/bluez-tools/ +F: package/bento4/ +F: package/bitcoin/ F: package/clamav/ +F: package/cxxopts/ +F: package/dav1d/ +F: package/dht/ +F: package/dnsmasq/ F: package/dovecot/ F: package/dovecot-pigeonhole/ F: package/dtv-scan-tables/ +F: package/ethtool/ F: package/eudev/ F: package/exim/ F: package/fetchmail/ +F: package/ffmpeg/ +F: package/flac/ +F: package/flatbuffers/ F: package/freeswitch/ F: package/freeswitch-mod-bcg729/ -F: package/ffmpeg/ +F: package/freetype/ +F: package/fstrcmp/ F: package/ghostscript/ F: package/giflib/ -F: package/glmark2/ +F: package/gkrellm/ +F: package/gpsd/ +F: package/gptfdisk/ +F: package/hddtemp/ F: package/hdparm/ +F: package/igt-gpu-tools/ +F: package/intel-gmmlib/ +F: package/intel-mediadriver/ +F: package/intel-mediasdk/ +F: package/intel-microcode/ +F: package/intel-vpl-gpu-rt/ F: package/jsoncpp/ F: package/kodi* F: package/lame/ +F: package/lcms2/ F: package/leafnode2/ F: package/libaacs/ -F: package/libasplib/ F: package/libass/ F: package/libbdplus/ F: package/libbluray/ F: package/libbroadvoice/ +F: package/libcap/ F: package/libcdio/ F: package/libcec/ F: package/libcodec2/ F: package/libcrossguid/ -F: package/libdcadec/ +F: package/libde265/ +F: package/libdeflate/ +F: package/libdisplay-info/ F: package/libdrm/ F: package/libdvbcsa/ F: package/libdvdcss/ F: package/libdvdnav/ F: package/libdvdread/ -F: package/libebur128/ -F: package/libfreeglut/ +F: package/libfribidi/ F: package/libg7221/ F: package/libglew/ -F: package/libglfw/ F: package/libglu/ F: package/libhdhomerun/ +F: package/libheif/ +F: package/libid3tag/ F: package/libilbc/ -F: package/libldns/ F: package/libmicrohttpd/ F: package/libminiupnpc/ +F: package/libmspack/ F: package/libnatpmp/ F: package/libnpth/ F: package/libogg/ F: package/libopenh264/ F: package/libpciaccess/ +F: package/libplacebo/ F: package/libplatform/ F: package/libpng/ F: package/libsidplay2/ F: package/libsilk/ F: package/libsndfile/ -F: package/libsoil/ F: package/libsoundtouch/ -F: package/libsquish/ +F: package/libudfread/ +F: package/libunibreak/ F: package/liburiparser/ +F: package/libutp/ +F: package/libuv/ F: package/libva/ F: package/libva-intel-driver/ F: package/libva-utils/ F: package/libvorbis/ +F: package/libvpl/ F: package/libvpx/ F: package/libyuv/ +F: package/libzippp/ +F: package/linux-firmware/ +F: package/mc/ F: package/mesa3d/ F: package/minidlna/ F: package/mjpg-streamer/ -F: package/mplayer/ +F: package/mpg123/ +F: package/ntp/ +F: package/nut/ +F: package/openconnect/ +F: package/openvpn/ +F: package/opus/ +F: package/pciutils/ +F: package/perl-crypt-openssl-guess/ F: package/perl-crypt-openssl-random/ F: package/perl-crypt-openssl-rsa/ F: package/perl-digest-sha1/ @@ -285,107 +489,180 @@ F: package/perl-io-html/ F: package/perl-lwp-mediatypes/ F: package/perl-mail-dkim/ F: package/perl-mailtools/ -F: package/perl-mime-base64/ +F: package/perl-netaddr-ip/ F: package/perl-net-dns/ F: package/perl-net-http/ -F: package/perl-netaddr-ip/ -F: package/perl-time-hires/ F: package/perl-timedate/ F: package/perl-uri/ F: package/perl-www-robotrules/ -F: package/pixman/ +F: package/php/ F: package/pngquant/ -F: package/pound/ +F: package/postgresql/ +F: package/pppd/ +F: package/privoxy/ F: package/pure-ftpd/ F: package/python-couchdb/ F: package/python-cssutils/ -F: package/python-futures/ +F: package/python-emailproxy/ +F: package/python-glslang/ +F: package/python-mako/ F: package/python-mwclient/ F: package/python-mwscrape/ F: package/python-mwscrape2slob/ -F: package/python-mako/ +F: package/python-oauthlib/ F: package/python-pyicu/ F: package/python-pylru/ +F: package/python-requests-oauthlib/ F: package/python-slob/ +F: package/rrdtool/ +F: package/rsync/ F: package/rtmpdump/ -F: package/softether/ +F: package/samba4/ +F: package/sofia-sip/ +F: package/spandsp/ +F: package/sqlite/ +F: package/stellarium/ F: package/taglib/ F: package/tinyxml2/ F: package/tor/ F: package/transmission/ F: package/tvheadend/ F: package/unixodbc/ -F: package/vdr/ -F: package/vdr-plugin-vnsiserver/ +F: package/utfcpp/ F: package/vlc/ -F: package/vnstat/ -F: package/x11r7/ +F: package/wget/ +F: package/wireless-regdb/ +F: package/wireless_tools/ F: package/x264/ F: package/x265/ +F: package/xmrig/ +F: package/ytree/ +F: package/zix/ F: package/znc/ +F: support/testing/tests/package/test_perl_html_parser.py N: Biagio Montaruli F: board/acmesystems/ F: configs/acmesystems_* -N: Bimal Jacob -F: package/nginx-upload/ +N: Bilal Wasim +F: board/chromebook/elm/ +F: configs/chromebook_elm_defconfig + +N: Boerge Struempfel +F: package/libgpiod2/ N: Bogdan Radulescu F: package/iftop/ F: package/ncdu/ +N: Brandon Maier +F: board/freescale/ls1046a-frwy/ +F: configs/ls1046a-frwy_defconfig +F: package/atftp/ +F: package/bats-assert/ +F: package/bats-file/ +F: package/bats-support/ +F: package/mtd/ +F: package/python-pysensors/ +F: package/qoriq-fm-ucode/ +F: package/unifdef/ +F: package/vmtouch/ +F: support/testing/tests/package/test_atftp.py +F: support/testing/tests/package/test_zip.py + +N: Brandon Maier +F: package/dtc/ +F: support/testing/tests/package/test_dtc* + N: Brock Williams F: package/pdmenu/ -N: Bryan Brinsko -F: package/pps-tools/ +N: Bryan Brattlof +F: board/ti/ +F: board/beagleboard/beagleplay/ +F: boot/ti-k3-boot-firmware/ +F: boot/ti-k3-r5-loader/ +F: configs/beagleplay_defconfig +F: configs/ti_am62ax_sk_defconfig +F: configs/ti_am62px_sk_defconfig +F: configs/ti_am62x_sk_defconfig +F: configs/ti_am64x_sk_defconfig N: Carlo Caione +F: package/jailhouse/ F: package/sunxi-boards/ -N: Carlos Santos -F: package/gtest/ -F: package/libpam-radius-auth/ -F: package/libpam-tacplus/ -F: package/perl-file-util/ -F: package/util-linux/ - N: Carsten Schoenert -F: package/dvbsnoop/ F: package/libdvbsi/ -F: package/libsvg/ -F: package/libsvg-cairo/ - -N: Chakra Divi -F: board/friendlyarm/nanopi-m1 -F: board/friendlyarm/nanopi-m1-plus -F: board/olimex/a13_olinuxino -F: board/orangepi/orangepi-plus -F: configs/nanopi_m1_defconfig -F: configs/nanopi_m1_plus_defconfig -F: configs/olimex_a13_olinuxino_defconfig -F: configs/orangepi_plus_defconfig + +N: Cédric Chépied +F: package/znc/ + +N: Cédric Le Goater +F: board/aspeed/ +F: board/qemu/ppc-bamboo/ +F: board/qemu/ppc64le-powernv8/readme.txt +F: configs/aspeed* +F: configs/qemu_ppc_bamboo_defconfig +F: configs/qemu_ppc64le_powernv8_defconfig + +N: Charles Hardin +F: package/alsa-plugins/ + +N: Changming Huang +F: package/qoriq-cadence-dp-firmware/ + +N: Chen Pei +F: package/iniparser/ +F: package/ndctl/ N: Chris Packham -F: package/eventlog/ +F: package/coremark/ +F: package/coremark-pro/ +F: package/gstreamer1/gst1-shark/ F: package/micropython/ -F: package/micropython-lib/ F: package/syslog-ng/ +N: Christian Hitz +F: package/qt6/qt6scxml/ + N: Christian Kellermann F: package/python-pylibftdi/ -N: Christian Stewart -F: linux/linux-ext-aufs.mk -F: package/aufs/ -F: package/aufs-util/ +N: Christian Stewart +F: package/balena-engine/ F: package/batman-adv/ -F: package/docker-containerd/ +F: package/catatonit/ +F: package/cni-plugins/ +F: package/conmon/ +F: package/containerd/ +F: package/crun/ +F: package/delve/ +F: package/docker-cli/ +F: package/docker-compose/ F: package/docker-engine/ +F: package/embiggen-disk/ +F: package/fuse-overlayfs/ +F: package/go/ +F: package/gocryptfs/ +F: package/mbpfan/ +F: package/moby-buildkit/ F: package/mosh/ +F: package/nerdctl/ +F: package/pkg-golang.mk F: package/rtl8821au/ +F: package/rtl8821cu/ F: package/runc/ +F: package/tini/ +F: support/testing/tests/package/test_docker_compose.py + +N: Christophe Priouzeau +F: board/stmicroelectronics/stm32f429-disco/ +F: board/stmicroelectronics/stm32f469-disco/ +F: configs/stm32f429_disco_xip_defconfig +F: configs/stm32f469_disco_sd_defconfig +F: configs/stm32f469_disco_xip_defconfig N: Christophe Vu-Brugier F: package/drbd-utils/ @@ -395,43 +672,105 @@ F: package/python-rtslib-fb/ F: package/python-urwid/ F: package/targetcli-fb/ -N: Clayton Shotwell -F: package/audit/ -F: package/checkpolicy/ -F: package/cpio/ -F: package/libcgroup/ -F: package/libee/ -F: package/libestr/ -F: package/liblogging/ -F: package/libselinux/ -F: package/libsemanage/ -F: package/libsepol/ -F: package/policycoreutils/ -F: package/sepolgen/ -F: package/ustr/ +N: Christopher McCrory +F: package/perl-appconfig/ +F: package/perl-astro-suntime/ +F: package/perl-class-load/ +F: package/perl-class-std/ +F: package/perl-class-std-fast/ +F: package/perl-data-dump/ +F: package/perl-data-optlist/ +F: package/perl-data-uuid/ +F: package/perl-date-manip/ +F: package/perl-dbd-mysql/ +F: package/perl-dbi/ +F: package/perl-device-serialport/ +F: package/perl-dist-checkconflicts/ +F: package/perl-file-slurp/ +F: package/perl-io-interface/ +F: package/perl-io-socket-multicast/ +F: package/perl-json-maybexs/ +F: package/perl-mime-tools/ +F: package/perl-module-implementation/ +F: package/perl-module-runtime/ +F: package/perl-number-bytes-human/ +F: package/perl-package-stash/ +F: package/perl-params-util/ +F: package/perl-sub-install/ +F: package/perl-sys-cpu/ +F: package/perl-sys-meminfo/ +F: package/perl-sys-mmap/ +F: package/perl-time-parsedate/ +F: package/perl-x10/ + +N: Colin Foster +F: package/python-tftpy/ +F: package/rauc-hawkbit-updater/ +F: support/testing/tests/package/sample_python_tftpy.py +F: support/testing/tests/package/test_python_tftpy.py N: Corentin Guillevic F: package/libloki/ -N: Cédric Chépied -F: package/znc/ - N: Cyril Bur F: arch/Config.in.powerpc F: package/kvm-unit-tests N: Dagg Stompler -F: package/libamcodec/ -F: package/odroid-mali/ -F: package/odroid-scripts/ +F: board/hardkernel/odroidc2/ +F: configs/odroidc2_defconfig +F: package/meson-tools/ +F: package/odroidc2-firmware/ + +N: Daniel Crowe +F: package/python-aniso8601/ +F: package/python-cachelib/ +F: package/python-flask-caching/ +F: package/python-flask-restx/ +F: package/python-pyproj/ +F: support/testing/tests/package/sample_python_pyproj.py +F: support/testing/tests/package/test_python_pyproj.py + +N: Daniel J. Leach +F: package/dacapo/ + +N: Daniel Lang +F: package/atkmm/ +F: package/atkmm2_28/ +F: package/cairomm/ +F: package/cairomm1_14/ +F: package/dbus-cxx/ +F: package/glibmm/ +F: package/glibmm2_66/ +F: package/gtkmm3/ +F: package/libsigc/ +F: package/libsigc2/ +F: package/llvm-project/ +F: package/paho-mqtt-cpp/ +F: package/pangomm/ +F: package/pangomm2_46/ +F: package/sam-ba/ N: Damien Lanson F: package/libvdpau/ F: package/log4cpp/ -N: Daniel Nyström -F: package/e2tools/ -F: package/fbgrab/ +N: Damien Le Moal +F: package/python-kflash/ +F: board/canaan/ +F: configs/canaan_kd233_defconfig +F: board/sipeed/ +F: configs/sipeed_maix_bit_defconfig +F: configs/sipeed_maix_bit_sdcard_defconfig +F: configs/sipeed_maixduino_defconfig +F: configs/sipeed_maixduino_sdcard_defconfig +F: configs/sipeed_maix_dock_defconfig +F: configs/sipeed_maix_dock_sdcard_defconfig +F: configs/sipeed_maix_go_defconfig +F: configs/sipeed_maix_go_sdcard_defconfig + +N: Daniel Nicoletti +F: package/cutelyst/ N: Daniel Price F: package/nodejs/ @@ -440,6 +779,9 @@ F: package/redis/ N: Daniel Sangue F: package/libftdi1/ +N: Danilo Bargen +F: package/tealdeer/ + N: Danomi Manchego F: package/cjson/ F: package/jq/ @@ -449,34 +791,62 @@ F: package/lua-cjson/ F: package/luaexpat/ F: package/xinetd/ -N: David Bachelart -F: package/ccrypt/ -F: package/dos2unix/ -F: package/ipmiutil/ -F: package/jsmn/ -F: package/python-daemon/ -F: package/sslh/ -F: package/udpxy/ +N: Dario Binacchi +F: board/bsh/ +F: board/stmicroelectronics/stm32f746-disco/ +F: board/stmicroelectronics/stm32f769-disco/ +F: board/stmicroelectronics/stm32h747-disco/ +F: boot/ti-k3-boot-firmware/ +F: configs/imx6ulz_bsh_smm_m2_defconfig +F: configs/imx8mn_bsh_smm_s2_defconfig +F: configs/imx8mn_bsh_smm_s2_pro_defconfig +F: configs/stm32f746_disco_sd_defconfig +F: configs/stm32f769_disco_sd_defconfig +F: configs/stm32h747_disco_sd_defconfig +F: package/aespipe/ +F: package/armadillo/ +F: package/atf/ +F: package/babeld/ +F: package/bc/ +F: package/cmocka/ +F: package/connman/ +F: package/empty/ +F: package/iana-assignments/ +F: package/inih/ +F: package/less/ +F: package/libgphoto2/ +F: package/pocketpy/ +F: package/sscep/ +F: package/tinyinit/ +F: package/ufs-utils/ +F: package/uuu/ + +N: Dario Binacchi +F: package/uboot-bootcount/ +F: package/libmnl/ N: David Bender F: package/benejson/ -F: package/cgic/ F: package/freeradius-client/ F: package/openldap/ N: David du Colombier <0intro@gmail.com> F: package/x264/ -N: David Graziano -F: package/libcsv/ +N: David GOUARIN +F: package/freeradius-server/ +F: package/librelp/ +F: package/libtalloc/ N: David Lechner F: board/lego/ev3/ F: configs/lego_ev3_defconfig -F: linux/linux-ext-ev3dev-linux-drivers.mk -F: package/ev3dev-linux-drivers/ +F: package/brickd/ + +N: David Pierret +F: package/bat/ -N: Davide Viti +N: Davide Viti F: package/flann/ F: package/python-paho-mqtt/ F: package/qhull/ @@ -485,29 +855,86 @@ F: package/tcllib/ N: Denis Bodor F: package/libstrophe/ +N: Dick Olsson +F: board/aarch64-efi/ +F: board/pc/ +F: board/qemu/aarch64-sbsa/ +F: boot/arm-trusted-firmware/ +F: boot/edk2/ +F: configs/qemu_aarch64_sbsa_defconfig +F: package/bearssl/ +F: package/bitcoin/ +F: package/edk2-platforms/ +F: package/execline/ +F: package/mdevd/ +F: package/s6-dns/ +F: package/s6-linux-init/ +F: package/s6-linux-utils/ +F: package/s6-networking/ +F: package/s6-portable-utils/ +F: package/s6-rc/ +F: package/s6/ +F: package/skalibs/ +F: support/testing/tests/boot/test_edk2.py + +N: Dimitar Tomov +F: package/wolftpm/ + N: Dimitrios Siganos +F: package/bvi/ F: package/wireless-regdb/ -N: Dominik Faessler -F: package/logsurfer/ -F: package/python-id3/ +N: Dmitry Chestnykh +F: board/qemu/sparc-ss10/ +F: configs/qemu_sparc_ss10_defconfig +F: package/uclibc-ng-test/ + +N: Dominik Michael Rauh +F: package/gdal/ -N: Doug Kehn +N: Dong Wang +F: board/friendlyarm/nanopi-neo/ +F: configs/friendlyarm_nanopi_neo_defconfig + +N: Doug Kehn F: package/nss-pam-ldapd/ F: package/sp-oops-extract/ F: package/unscd/ -N: Ed Swierk -F: package/xxhash/ +N: Dushara Jayasinghe +F: package/prosody/ + +N: Edgar Bonet +F: board/acmesystems/acqua-a5/ +F: configs/acmesystems_acqua_a5_256mb_defconfig +F: configs/acmesystems_acqua_a5_512mb_defconfig + +N: Eero Aaltonen +F: package/docopt-cpp/ + +N: El Mehdi YOUNES +F: package/opencl-headers/ +F: package/opencl-icd-loader/ +F: support/testing/tests/package/test_mesa3d.py + +N: Eloi Bail +F: package/bayer2rgb-neon/ +F: package/gstreamer1/gst1-plugins-bayer2rgb-neon/ N: Eric Le Bihan +F: docs/manual/adding-packages-meson.adoc F: package/adwaita-icon-theme/ F: package/darkhttpd/ F: package/eudev/ F: package/execline/ F: package/hicolor-icon-theme/ F: package/jemalloc/ +F: package/mdevd/ +F: package/meson/ F: package/ninja/ +F: package/pkg-meson.mk +F: package/rust-bin/ +F: package/rust/ F: package/s6/ F: package/s6-dns/ F: package/s6-linux-init/ @@ -523,14 +950,8 @@ N: Eric Limpens F: package/pifmrds/ F: package/ympd/ -N: Erico Nunes -F: package/acpica/ -F: package/acpitool/ -F: package/efibootmgr/ -F: package/efivar/ -F: package/fwts/ -F: package/spi-tools/ -F: package/xdotool/ +N: Erik Larsson +F: package/imx-mkimage/ N: Erik Stromdahl F: package/mxsldr/ @@ -538,35 +959,59 @@ F: package/mxsldr/ N: Ernesto L. Williams Jr F: package/szip/ -N: Evan Zelkowitz -F: package/sdl_gfx/ +N: Esben Haabendal +F: package/python-kiwisolver/ + +N: Etienne Carriere +F: boot/optee-os/ +F: package/optee-client/ +F: package/optee-examples/ +F: package/optee-test/ + +N: Eugen Hristev +F: board/atmel/readme.txt +F: board/microchip/sama7g5ek/ +F: configs/microchip_sama7g5ek* + +N: Eugene Tarassov +F: package/tcf-agent/ N: Ezequiel Garcia -F: arch/Config.in.nios2 +F: board/ci20/ +F: configs/ci20_defconfig F: package/fio/ F: package/iptraf-ng/ F: package/jimtcl/ -F: package/mimic/ F: package/nodm/ F: package/openbox/ -F: package/rtl8723bs/ F: package/supertuxkart/ N: Fabio Estevam F: board/warp7/ F: configs/freescale_imx* -F: configs/imx6-sabresd* +F: configs/imx23evk_defconfig +F: configs/imx6-sabre* +F: configs/imx6slevk_defconfig +F: configs/imx6sx-sdb_defconfig +F: configs/imx6ulevk_defconfig +F: configs/imx6ullevk_defconfig F: configs/imx6ulpico_defconfig +F: configs/imx7d-sdb_defconfig +F: configs/imx7dpico_defconfig +F: configs/imx8mqevk_defconfig +F: configs/mx51evk_defconfig +F: configs/mx53loco_defconfig F: configs/mx6cubox_defconfig F: configs/mx6sx_udoo_neo_defconfig F: configs/mx6udoo_defconfig F: configs/wandboard_defconfig F: configs/warp7_defconfig F: package/atest/ +F: package/crucible/ F: package/kmscube/ -N: Fabio Porcedda -F: package/netsurf-buildsystem/ +N: Fabio Urquiza +F: package/bitcoin/ N: Fabrice Fontaine F: package/domoticz/ @@ -575,59 +1020,190 @@ F: package/libmaxminddb/ F: package/openzwave/ N: Fabrice Fontaine -F: package/alljoyn/ -F: package/alljoyn-base/ -F: package/alljoyn-tcl/ -F: package/alljoyn-tcl-base/ +F: package/bearssl/ +F: package/boinc/ +F: package/cairo/ +F: package/daq3/ +F: package/duktape/ +F: package/expat/ +F: package/flatbuffers/ +F: package/freeipmi/ +F: package/gdk-pixbuf-xlib/ +F: package/gerbera/ F: package/gtksourceview/ F: package/gssdp/ F: package/gupnp/ F: package/gupnp-dlna/ F: package/gupnp-tools/ +F: package/haproxy/ F: package/hiredis/ +F: package/i2pd/ F: package/igd2-for-linux/ +F: package/json-c/ +F: package/ksmbd-tools/ +F: package/lcms2/ +F: package/lftp/ +F: package/libcap-ng/ +F: package/libcdio-paranoia/ +F: package/libcgicc/ +F: package/libconfig/ +F: package/libcue/ +F: package/libebml/ +F: package/libgee/ +F: package/libglib2/ +F: package/libgtk3/ +F: package/libhtp/ +F: package/libidn/ +F: package/libidn2/ +F: package/libjpeg/ +F: package/liblockfile/ +F: package/libmatroska/ +F: package/libmd/ +F: package/libmpdclient/ +F: package/libnetfilter_conntrack/ +F: package/libnetfilter_queue/ +F: package/libnpupnp/ +F: package/liboping/ +F: package/libpfm4/ +F: package/libraw/ +F: package/libraw1394/ +F: package/libroxml/ +F: package/librsvg/ +F: package/librsync/ +F: package/libsoup/ +F: package/libsoxr/ +F: package/libupnp/ +F: package/liburing/ +F: package/libv4l/ +F: package/libxslt/ +F: package/mbedtls/ F: package/minissdpd/ +F: package/minizip/ +F: package/minizip-zlib/ F: package/motion/ +F: package/mutt/ +F: package/ncmpc/ +F: package/oniguruma/ +F: package/opencv4/ +F: package/oprofile/ +F: package/pcmanfm/ +F: package/perl-extutils-pkgconfig/ +F: package/python-backcall/ +F: package/python-jedi/ +F: package/python-parso/ +F: package/python-yatl/ +F: package/rocksdb/ +F: package/rtl_433/ +F: package/rygel/ +F: package/safeclib/ +F: package/snort3/ +F: package/suricata/ F: package/tinycbor/ F: package/tinydtls/ +F: package/whois/ +F: package/x11r7/xlib_libXpresent/ +F: package/zeek/ + +N: Fabrice Goucem +F: board/freescale/imx6ullevk/ +F: configs/freescale_imx6ullevk_defconfig + +N: Falco Hyfing +F: package/python-pymodbus/ + +N: Fiona Klute +F: package/*/S* +F: package/panel-mipi-dbi-firmware/ +F: package/python-aiomqtt/ +F: package/python-markdown-it-py/ +F: package/python-mdurl/ +F: package/python-platformdirs/ +F: package/python-pyasynchat/ +F: package/python-pyasyncore/ +F: package/python-rich/ +F: package/python-textual/ +F: support/testing/tests/package/sample_python_networkmanager_goi.py +F: support/testing/tests/package/sample_python_pyroute2.py +F: support/testing/tests/package/test_nftables.py +F: support/testing/tests/package/test_python_networkmanager_goi.py +F: support/testing/tests/package/test_python_pyroute2.py + +N: Flávio Tapajós +F: configs/asus_tinker-s_rk3288_defconfig +F: board/asus/tinker-s/ +F: package/python-paho-mqtt/ +F: package/python-sqlalchemy/ +F: package/rsyslog/ + +N: Florian Fainelli +F: package/cpulimit/ + +N: Florian Larysch +F: package/casync-nano/ +F: package/sigsum-go/ N: Floris Bos F: package/ipmitool/ F: package/odhcploc/ +N: Francis Laniel +F: package/falcosecurity-libs +F: package/pahole/ +F: package/sysdig/ +F: package/tbb/ + N: Francisco Gonzalez F: package/ser2net/ +N: Franciszek Stachura +F: support/testing/tests/package/test_memcached.py + +N: Francois Dugast +F: board/sipeed/licheepi_nano/ +F: board/visionfive2/ +F: configs/sipeed_licheepi_nano_defconfig +F: configs/visionfive2_defconfig + N: Francois Perrad F: board/olimex/a20_olinuxino +F: board/olimex/imx233_olinuxino/ +F: board/olimex/stmp1_olinuxino/ F: configs/olimex_a20_olinuxino_* +F: configs/olimex_imx233_olinuxino_defconfig +F: configs/olimex_stmp157_olinuxino_lime_defconfig F: package/4th/ -F: package/botan/ +F: package/cgilua/ +F: package/collectl/ +F: package/copas/ +F: package/coxpcall/ F: package/dado/ F: package/ficl/ -F: package/gdbm/ +F: package/janet/ F: package/libtomcrypt/ F: package/libtommath/ -F: package/libump/ F: package/linenoise/ F: package/ljlinenoise/ +F: package/lua-inotify/ F: package/lpeg/ F: package/lpty/ F: package/lrandom/ F: package/lsqlite3/ F: package/lua* -F: package/lunit/ +F: package/lynis/ F: package/lzlib/ F: package/moarvm/ +F: package/opendoas/ F: package/perl* F: package/pkg-perl.mk F: package/pkg-luarocks.mk -F: package/qemu/ -F: package/sdl2_mixer/ -F: package/sdl2_net/ -F: package/tekui/ +F: package/quickjs/ +F: package/rings/ +F: package/wsapi/ F: package/wsapi-fcgi/ F: package/wsapi-xavante/ +F: package/xavante/ +F: support/testing/tests/package/test_lua* +F: support/testing/tests/package/test_lynis.py F: utils/scancpan N: Frank Hunleth @@ -637,41 +1213,136 @@ F: package/libdmtx/ F: package/libsodium/ F: package/php-amqp/ F: package/python-cherrypy/ -F: package/rabbitmq-server/ F: package/sane-backends/ -F: package/ucl/ F: package/upx/ F: package/zxing-cpp/ -N: Gaël Portay -F: package/qt5/qt5virtualkeyboard/ -F: package/qt5/qt5webengine/ +N: Frank Vanbever +F: package/libmodsecurity/ +F: package/nginx-modsecurity/ + +N: Gaël PORTAY +F: board/raspberrypi/ +F: configs/raspberrypi* + +N: Gao Xiang +F: package/erofs-utils/ -N: Gary Bisson +N: Gary Bisson F: board/boundarydevices/ F: configs/nitrogen* F: package/freescale-imx/ +F: package/freescale-imx/imx-vpu-hantro-daemon/ F: package/gstreamer1/gst1-imx/ F: package/libimxvpuapi/ F: package/mfgtools/ F: package/sshpass/ -F: package/x11r7/xdriver_xf86-video-imx-viv/ N: Geoff Levand F: package/flannel/ N: Geoffrey Ragot -F: package/python-pycli/ F: package/python-pyyaml/ +N: Gero Schwaericke +F: board/cubietech/cubieboard1/ +F: configs/cubieboard1_defconfig + N: Gilles Talis +F: board/freescale/imx8mmevk/ +F: board/friendlyarm/nanopi-r2s/ +F: configs/freescale_imx8mmevk_defconfig +F: configs/friendlyarm_nanopi_r2s_defconfig +F: package/cctz/ +F: package/clpeak/ +F: package/faad2/ F: package/fdk-aac/ +F: package/ftxui/ F: package/httping/ F: package/iozone/ F: package/leptonica/ +F: package/libeXosip2/ +F: package/libosip2/ F: package/ocrad/ +F: package/opencl-clhpp/ +F: package/opusfile/ +F: package/restclient-cpp/ F: package/tesseract-ocr/ F: package/webp/ +F: package/xapian/ + +N: Giulio Benetti +F: board/bananapi/bananapi-m2-ultra/ +F: board/freescale/imx6ullevk/ +F: board/freescale/imxrt1050evk/ +F: board/mangopi/mq1rdw2/ +F: board/olimex/a* +F: board/pine64/rockpro64 +F: configs/amarula_vyasa_rk3288_defconfig +F: configs/asus_tinker_rk3288_defconfig +F: configs/bananapi_m2_berry_defconfig +F: configs/bananapi_m2_ultra_defconfig +F: configs/freescale_imx6ullevk_defconfig +F: configs/imx6ullevk_defconfig +F: configs/imxrt1050-evk_defconfig +F: configs/mangopi_mq1rdw2_defconfig +F: configs/olimex_a* +F: configs/rockpro64_defconfig +F: package/at/ +F: package/bind/ +F: package/binutils/ +F: package/cryptsetup/ +F: package/dash/ +F: package/erlang-jiffy/ +F: package/esp-hosted/ +F: package/gcc/ +F: package/harfbuzz/ +F: package/libblockdev/ +F: package/libfuse3/ +F: package/liblo/ +F: package/libnspr/ +F: package/libnss/ +F: package/libnvme/ +F: package/libtirpc/ +F: package/libtraceevent/ +F: package/libtracefs +F: package/linux-tools/linux-tool-rtla.mk.in +F: package/mali-driver/ +F: package/minicom/ +F: package/mongoose/ +F: package/mmc-utils/ +F: package/nfs-utils/ +F: package/putty/ +F: package/python-libconf/ +F: package/python-uvloop/ +F: package/qt5/ +F: package/rockchip-mali/ +F: package/rpcbind/ +F: package/rtl8188eu/ +F: package/rtl8189es/ +F: package/rtl8192eu/ +F: package/rtl8723bu/ +F: package/rtl8723ds/ +F: package/rtl8812au-aircrack-ng/ +F: package/rtl8821au/ +F: package/rtl8821cu/ +F: package/sunxi-mali-utgard/ +F: package/sunxi-mali-utgard-driver/ +F: package/sunxi-tools/ +F: package/swugenerator/ +F: package/swupdate/ +F: package/tmux/ +F: package/trace-cmd/ +F: package/udisks/ +F: package/util-linux/ +F: package/vim/ +F: package/wilc-driver/ +F: package/wireshark/ +F: package/zlib-ng/ +F: toolchain/ + +N: Graeme Smecher +F: package/python-orjson/ N: Gregory Dymarek F: package/ding-libs/ @@ -679,233 +1350,254 @@ F: package/gengetopt/ F: package/janus-gateway/ F: package/libnice/ F: package/libsrtp/ -F: package/libwebsock/ F: package/sofia-sip/ -N: Guillaume Gardet -F: package/c-icap/ -F: package/c-icap-modules/ -F: package/sdl2/ +N: Grzegorz Blach +F: fs/f2fs/ +F: package/bluez5_utils-headers/ +F: package/f2fs-tools/ +F: package/graphicsmagick/ +F: package/pigpio/ +F: package/python-aioblescan/ +F: package/python-bluezero/ +F: package/python-crontab/ +F: package/python-falcon/ +F: package/python-ifaddr/ +F: package/python-hiredis/ +F: package/python-mimeparse/ +F: package/python-pigpio/ +F: package/python-pyjwt/ +F: package/python-redis/ +F: package/python-rpi-ws281x/ +F: package/python-wtforms/ +F: package/rpi-rgb-led-matrix/ + +N: Guillaume Chaye +F: package/sane-airscan/ N: Guillaume William Brs +F: package/libxcrypt/ F: package/liquid-dsp/ - -N: Guo Ren -F: arch/Config.in.csky -F: board/csky/ -F: configs/csky_* - -N: Gustavo Zacarias -F: arch/Config.in.powerpc -F: board/qemu/ -F: configs/qemu_* -F: package/argp-standalone/ -F: package/arptables/ -F: package/audiofile/ -F: package/autossh/ -F: package/bitstream-vera/ -F: package/blktrace/ -F: package/bmon/ -F: package/btrfs-progs/ -F: package/c-ares/ -F: package/cantarell/ -F: package/check/ -F: package/collectd/ -F: package/comix-cursors/ -F: package/connman-gtk/ -F: package/conntrack-tools/ -F: package/cppdb/ -F: package/crda/ -F: package/cryptodev-linux/ -F: package/dbus-cpp/ -F: package/debianutils/ -F: package/dt/ -F: package/exfat/ -F: package/exfat-utils/ -F: package/f2fs-tools/ -F: package/faad2/ -F: package/fping/ -F: package/ftop/ -F: package/gcr/ -F: package/geoip/ -F: package/gpsd/ -F: package/granite/ -F: package/graphite2/ -F: package/gsettings-desktop-schemas/ -F: package/gstreamer1/ -F: package/hans/ -F: package/haveged/ -F: package/heimdal/ -F: package/hostapd/ -F: package/ifupdown/ -F: package/inconsolata/ -F: package/iodine/ -F: package/iperf3/ -F: package/ipset/ -F: package/iw/ -F: package/jhead/ -F: package/jquery-keyboard/ -F: package/kompexsqlite/ -F: package/kvmtool/ -F: package/lame/ -F: package/lft/ -F: package/libao/ -F: package/libcroco/ -F: package/libcue/ -F: package/libcuefile/ -F: package/libepoxy/ -F: package/libgee/ -F: package/libglib2/ -F: package/libgtk2/ -F: package/libgtk3/ -F: package/libmcrypt/ -F: package/libmemcached/ -F: package/libmhash/ -F: package/libmnl/ -F: package/libmng/ -F: package/libmpdclient/ -F: package/libnetfilter_acct/ -F: package/libnetfilter_conntrack/ -F: package/libnetfilter_cthelper/ -F: package/libnetfilter_cttimeout/ -F: package/libnetfilter_log/ -F: package/libnetfilter_queue/ -F: package/libnfnetlink/ -F: package/libnl/ -F: package/liboping/ -F: package/libreplaygain/ -F: package/libsamplerate/ -F: package/libtorrent/ -F: package/libuv/ -F: package/lksctp-tools/ -F: package/lshw/ -F: package/lz4/ -F: package/lzip/ -F: package/mbedtls/ -F: package/mcrypt/ -F: package/memcached/ -F: package/minizip/ -F: package/mpd/ -F: package/mpv/ -F: package/mtr/ -F: package/musepack/ -F: package/ncmpc/ -F: package/net-tools/ -F: package/netstat-nat/ -F: package/nettle/ -F: package/nfacct/ -F: package/nftables/ -F: package/nload/ -F: package/nmap/ -F: package/noip/ -F: package/norm/ -F: package/obsidian-cursors/ -F: package/ocf-linux/ -F: package/opencore-amr/ -F: package/openswan/ -F: package/openvpn/ -F: package/opusfile/ -F: package/p11-kit/ -F: package/p910nd/ -F: package/pax-utils/ -F: package/procrank_linux/ -F: package/php-* -F: package/pkgconf/ -F: package/privoxy/ -F: package/protobuf-c/ -F: package/ptpd/ -F: package/ptpd2/ -F: package/pwgen/ -F: package/ramspeed/ -F: package/rng-tools/ -F: package/rtorrent/ -F: package/samba4/ -F: package/sbc/ -F: package/snmppp/ -F: package/sox/ -F: package/spidev_test/ -F: package/squid/ -F: package/start-stop-daemon/ -F: package/swig/ -F: package/thrift/ -F: package/twolame/ -F: package/ulogd/ -F: package/unionfs/ -F: package/unrar/ -F: package/ushare/ -F: package/vala/ -F: package/vorbis-tools/ -F: package/wavpack/ -F: package/wayland-protocols/ -F: package/webkitgtk/ -F: package/whois/ -F: package/wireshark/ -F: package/wpa_supplicant/ -F: package/wpan-tools/ -F: package/x11r7/xdriver_xf86-video-qxl/ -F: package/xtables-addons/ -F: package/zd1211-firmware/ +F: package/mbw/ +F: package/pixiewps/ +F: package/python-beniget/ +F: package/python-gast/ +F: package/python-pybind/ +F: package/python-pythran/ +F: package/python-scipy/ +F: package/reaver/ +F: support/testing/tests/package/br2-external/python-pybind +F: support/testing/tests/package/sample_python_pybind.py +F: support/testing/tests/package/sample_python_scipy.py +F: support/testing/tests/package/test_python_pybind.py +F: support/testing/tests/package/test_python_scipy.py N: Gwenhael Goavec-Merou +F: board/terasic/de10nano_cyclone5/ +F: configs/terasic_de10nano_cyclone5_defconfig F: package/gnuradio/ F: package/gqrx/ F: package/gr-osmosdr/ +F: package/librtlsdr/ F: package/libusbgx/ +F: package/matio/ F: package/python-cheetah/ F: package/python-markdown/ -F: package/python-pyqt/ +F: package/python-remi/ F: package/python-sip/ - -N: Henrique Camargo -F: package/json-glib/ +F: package/uhd/ +F: package/volk/ + +N: Heiko Thiery +F: board/kontron/bl-imx8mm/ +F: board/kontron/smarc-sal28/ +F: configs/kontron_bl_imx8mm_defconfig +F: configs/kontron_smarc_sal28_defconfig +F: package/altera-stapl/ +F: package/blake3/ +F: package/ipmitool/ +F: package/libnetconf2/ +F: package/libyang/ +F: package/linuxptp/ +F: package/netopeer2/ +F: package/python-yamllint/ +F: package/rauc/ +F: package/sysrepo/ +F: support/testing/tests/package/sample_python_yamllint.py +F: support/testing/tests/package/test_python_yamllint.py + +N: Hervé Codina +F: package/alchemy/ +F: package/dtbocfg/ +F: package/libdbi/ +F: package/libdbi-drivers/ +F: package/libfutils/ +F: package/libshdata/ +F: package/lua-augeas/ +F: package/modsecurity2/ +F: package/php-apcu/ +F: package/php-lua/ +F: package/php-pam/ +F: package/php-pecl-dbus/ +F: package/ulog/ +F: support/testing/tests/package/test_dtbocfg.py +F: support/testing/tests/package/test_libshdata.py +F: support/testing/tests/package/test_lua_augeas.py +F: support/testing/tests/package/test_php_apcu.py +F: support/testing/tests/package/test_php_lua.py +F: support/testing/tests/package/test_php_pam.py +F: support/testing/tests/package/test_php_pecl_dbus.py N: Hiroshi Kawashima F: package/gauche/ F: package/gmrender-resurrect/ F: package/squeezelite/ +N: Horatiu Vultur +F: package/cfm/ +F: package/easyframes/ +F: package/mrp/ + N: Ian Haylock F: package/python-rpi-gpio/ -N: Ignacy GawÄ™dzki -F: package/angularjs/ +N: Ibai Erkiaga +F: package/binutils-bare-metal/ +F: package/gcc-bare-metal/ +F: package/newlib-bare-metal/ +F: toolchain/toolchain-bare-metal-buildroot/ N: Ilias Apalodimas F: package/keepalived/ +N: Ilya Averyanov +F: package/exempi/ + +N: Ismael Luceno +F: package/axel/ +F: package/mawk/ + +N: J. Neuschäfer +F: package/execline/ +F: package/mdevd/ +F: package/python-rgbmatrix/ +F: package/rpi-rgb-led-matrix/ +F: package/s6/ +F: package/s6-linux-init/ +F: package/s6-linux-utils/ +F: package/s6-networking/ +F: package/s6-portable-utils/ +F: package/s6-rc/ +F: package/skalibs/ +F: package/snooze/ +F: package/tipidee/ + N: Jagan Teki +F: board/amarula/ +F: board/asus/ +F: board/bananapi/ F: board/engicam/ -F: configs/engicam_imx6qdl_icore_defconfig -F: configs/engicam_imx6qdl_icore_qt5_defconfig -F: configs/engicam_imx6qdl_icore_rqs_defconfig -F: configs/engicam_imx6ul_geam_defconfig -F: configs/engicam_imx6ul_isiot_defconfig - -N: James Knight +F: board/olimex/a33_olinuxino/ +F: board/olimex/a64-olinuxino/ +F: board/orangepi/orangepi-zero-plus2/ +F: board/pine64/ +F: configs/amarula_vyasa_rk3288_defconfig +F: configs/asus_tinker_rk3288_defconfig +F: configs/olimex_a33_olinuxino_defconfig +F: configs/olimex_a64_olinuxino_defconfig +F: configs/orangepi_zero_plus2_defconfig +F: configs/pine64_defconfig +F: package/python-scipy/ +F: support/testing/tests/package/sample_python_scipy.py +F: support/testing/tests/package/test_python_scipy.py + +N: James Hilliard +F: package/apcupsd/ +F: package/bpftool/ +F: package/cloudflared/ +F: package/exfatprogs/ +F: package/fwupd/ +F: package/fwupd-efi/ +F: package/fxdiv/ +F: package/gensio/ +F: package/lua-std-debug/ +F: package/lua-std-normalize/ +F: package/libjcat/ +F: package/libucontext/ +F: package/lilv/ +F: package/lv2/ +F: package/neon-2-sse/ +F: package/pipewire/ +F: package/python* +F: package/rtl8192eu/ +F: package/serd/ +F: package/sord/ +F: package/sratom/ +F: package/stb/ +F: package/superiotool/ +F: package/tailscale/ +F: package/uefisettings/ +F: package/zchunk/ +F: support/testing/tests/package/sample_python_rtoml.py +F: support/testing/tests/package/test_python_rtoml.py + +N: James Knight F: package/atkmm/ F: package/cairomm/ -F: package/google-material-design-icons/ F: package/glibmm/ F: package/gtkmm3/ F: package/libpqxx/ F: package/pangomm/ F: package/rpm/ +F: package/swaybg/ F: package/yad/ +N: Jamie Gibbons +F: board/beagleboard/beaglev_fire/ +F: board/microchip/mpfs_icicle/ +F: configs/beaglev_fire_defconfig +F: configs/microchip_mpfs_icicle_defconfig +F: package/microchip-hss-payload-generator/ + +N: Jan Havran +F: board/pine64/pinecube/ +F: configs/pine64_pinecube_defconfig + +N: Jan Kraval +F: board/orangepi/orangepi-lite +F: configs/orangepi_lite_defconfig + +N: Jan Kundrát +F: configs/solidrun_clearfog_defconfig +F: board/solidrun/clearfog/ +F: package/libnetconf2/ +F: package/libyang/ +F: package/sysrepo/ + N: Jan Pedersen F: package/zip/ -N: Jan Viktorin -F: package/python-pexpect/ -F: package/python-ptyprocess/ -F: package/zynq-boot-bin/ +N: Jared Bents +F: package/libvirt/ -N: Jarkko Sakkinen +N: Jarkko Sakkinen +F: package/libtpms/ F: package/quota/ +F: package/swtpm/ N: Jason Pruitt F: package/librtlsdr/ +N: Javad Rahimi +F: board/orangepi/orangepi-pc2 +F: configs/orangepi_pc2_defconfig + +N: Jean Burgat +F: package/openfpgaloader/ + +N: Jens Kleintje +F: package/gcnano-binaries/ + N: Jens Rosenboom F: package/sl/ @@ -915,36 +1607,121 @@ F: package/batctl/ N: Jeremy Rosen F: package/fxload/ +N: Jérôme Oufella +F: package/libdri2/ +F: package/qt-webkit-kiosk/ + +N: Jérôme Pouiller +F: package/apitrace/ +F: package/freescale-imx/gpu-amd-bin-mx51/ +F: package/freescale-imx/libz160/ +F: package/lxc/ +F: package/strongswan/ +F: package/wmctrl/ +F: package/x11r7/xdriver_xf86-video-imx/ + +N: Jesse Taube +F: board/freescale/imxrt1050evk/ +F: configs/imxrt1050-evk_defconfig + +N: Jesse Van Gavere +F: package/qt6/ + +N: Jianhui Zhao +F: package/libuhttpd/ +F: package/rtty/ + +N: Jiaxun Yang +F: arch/Config.in.loongarch +F: board/loongarch64-efi +F: board/qemu/loongarch64-virt-efi +F: configs/loongarch64_efi_defconfig +F: configs/qemu_loongarch64_virt_efi_defconfig + +N: Joachim Wiberg +F: configs/globalscale_espressobin_defconfig +F: board/globalscale/espressobin/ +F: package/inadyn/ +F: package/libconfuse/ +F: package/libite/ +F: package/libnet/ +F: package/libteam/ +F: package/libuev/ +F: package/lowdown/ +F: package/mg/ +F: package/mdnsd/ +F: package/mini-snmpd/ +F: package/mrouted/ +F: package/netcalc/ +F: package/pimd/ +F: package/redir/ +F: package/smcroute/ +F: package/ssdp-responder/ +F: package/sysklogd/ +F: package/uredir/ +F: package/watchdogd/ + +N: Jochen Baltes +F: package/altera-stapl + +N: Joel Carlson +F: package/c-capnproto/ +F: package/capnproto/ +F: package/cmocka/ +F: package/flatcc/ +F: package/libcorrect/ + N: Joel Stanley F: package/pdbg/ F: board/qemu/ppc64le-pseries/ F: configs/qemu_ppc64le_pseries_defconfig +F: board/qemu/ppc-mac99/ +F: configs/qemu_ppc_mac99_defconfig +F: board/aspeed/ +F: configs/aspeed* N: Johan Derycke F: package/python-libconfig/ N: Johan Oudinet F: package/ejabberd/ +F: package/erlang-base64url/ +F: package/erlang-eimp/ +F: package/erlang-fast-xml/ +F: package/erlang-fast-yaml/ F: package/erlang-goldrush/ +F: package/erlang-idna/ F: package/erlang-jiffy/ +F: package/erlang-jose/ F: package/erlang-lager/ +F: package/erlang-p1-acme/ F: package/erlang-p1-cache-tab/ -F: package/erlang-p1-iconv/ +F: package/erlang-p1-mqtree/ F: package/erlang-p1-oauth2/ +F: package/erlang-p1-pkix/ F: package/erlang-p1-sip/ F: package/erlang-p1-stringprep/ -F: package/erlang-p1-stun/ F: package/erlang-p1-tls/ F: package/erlang-p1-utils/ -F: package/erlang-p1-xml/ -F: package/erlang-p1-xmpp/ -F: package/erlang-p1-yaml/ +F: package/erlang-p1-yconf/ F: package/erlang-p1-zlib/ +F: package/erlang-stun/ +F: package/erlang-xmpp/ F: package/nginx-dav-ext/ N: John Stile F: package/dhcpcd/ +N: John Faith +F: package/python-inflection/ +F: package/sdbusplus/ + +N: Jon Ringle +F: package/mbpoll/ + +N: Jon Henrik Bjørnstad +F: package/qbee-agent/ + N: Jonathan Ben Avraham F: arch/Config.in.xtensa F: package/autofs/ @@ -952,11 +1729,10 @@ F: package/dawgdic/ F: package/libphidget/ F: package/phidgetwebservice/ F: package/rapidxml/ -F: package/sphinxbase/ -N: Jonathan Liu -F: package/python-meld3/ -F: package/supervisor/ +N: Joris Offouga +F: package/python-colorlog/ +F: package/python-simplelogging/ N: Joris Lijssens F: package/emlog/ @@ -966,6 +1742,29 @@ F: package/libuio/ F: package/netsniff-ng/ F: package/rabbitmq-c/ +N: José Luis Salvador Rufo +F: package/zfs/ +F: support/testing/tests/package/test_zfs.py + +N: Joseph Kogut +F: package/at-spi2-core/ +F: package/earlyoom/ +F: package/libnss/ +F: package/llama-cpp/ +F: package/llvm-project/clang/ +F: package/llvm-project/lld/ +F: package/llvm-project/llvm/ +F: package/python-cython/ +F: package/python-pycups/ +F: package/python-raven/ +F: package/python-schedule/ +F: package/python-sentry-sdk/ +F: package/python-websockets/ +F: package/python-xlib/ +F: package/sentry-cli/ +F: package/sentry-native/ +F: package/unclutter-xfixes/ + N: Joshua Henderson F: package/qt5/qt5wayland/ @@ -982,19 +1781,273 @@ F: package/tegrarcm/ N: Julien Boibessot F: board/armadeus/ F: configs/armadeus* +F: package/abootimg/ F: package/gpm/ F: package/lbreakout2/ F: package/libcddb/ F: package/libmodbus/ F: package/ltris/ F: package/opentyrian/ -F: package/python-pygame/ - -N: Julien Corjon -F: package/qt5/ -N: Julien Floret -F: package/lldpd/ +N: Julien Grossholtz +F: board/raspberrypi/ +F: configs/raspberrypizero2w_defconfig +F: package/paho-mqtt-c + +N: Julien Olivain +F: board/freescale/imx93frdm/ +F: board/qemu/riscv64-virt-efi/ +F: board/spike/ +F: board/technexion/imx8mmpico/ +F: configs/freescale_imx93frdm_defconfig +F: configs/imx8mmpico_defconfig +F: configs/qemu_riscv64_virt_efi_defconfig +F: configs/spike_riscv32_defconfig +F: configs/spike_riscv64_defconfig +F: package/fluid-soundfont/ +F: package/fluidsynth/ +F: package/glslsandbox-player/ +F: package/gnupg2/ +F: package/highway/ +F: package/kexec/ +F: package/libjxl/ +F: package/libopenmpt/ +F: package/mokutil/ +F: package/oath-toolkit/ +F: package/octave/ +F: package/openblas/ +F: package/opencsd/ +F: package/openmpi/ +F: package/perftest/ +F: package/ptm2human/ +F: package/python-distro/ +F: package/python-gnupg/ +F: package/python-hkdf/ +F: package/python-hwdata/ +F: package/python-magic-wormhole/ +F: package/python-magic-wormhole-mailbox-server/ +F: package/python-magic-wormhole-transit-relay/ +F: package/python-midiutil/ +F: package/python-ml-dtypes/ +F: package/python-pyalsa/ +F: package/python-spake2/ +F: package/rdma-core/ +F: package/riscv-isa-sim/ +F: package/swipl/ +F: package/tig/ +F: package/tinycompress/ +F: package/z3/ +F: package/zynaddsubfx/ +F: support/testing/tests/boot/test_optee_os.py +F: support/testing/tests/boot/test_optee_os/ +F: support/testing/tests/fs/test_btrfs.py +F: support/testing/tests/fs/test_btrfs/ +F: support/testing/tests/fs/test_erofs.py +F: support/testing/tests/fs/test_erofs/ +F: support/testing/tests/fs/test_xfs.py +F: support/testing/tests/fs/test_xfs/ +F: support/testing/tests/package/sample_python_distro.py +F: support/testing/tests/package/sample_python_gnupg.py +F: support/testing/tests/package/sample_python_hwdata.py +F: support/testing/tests/package/sample_python_midiutil.py +F: support/testing/tests/package/sample_python_ml_dtypes.py +F: support/testing/tests/package/sample_python_mpmath.py +F: support/testing/tests/package/sample_python_pyalsa.py +F: support/testing/tests/package/sample_python_spake2.py +F: support/testing/tests/package/sample_python_sympy.py +F: support/testing/tests/package/test_4th.py +F: support/testing/tests/package/test_acl.py +F: support/testing/tests/package/test_acpica.py +F: support/testing/tests/package/test_acpica/ +F: support/testing/tests/package/test_aichat.py +F: support/testing/tests/package/test_aichat/ +F: support/testing/tests/package/test_apache.py +F: support/testing/tests/package/test_attr.py +F: support/testing/tests/package/test_audio_codec_base.py +F: support/testing/tests/package/test_audit.py +F: support/testing/tests/package/test_bc.py +F: support/testing/tests/package/test_bcc.py +F: support/testing/tests/package/test_bcc/ +F: support/testing/tests/package/test_bitcoin.py +F: support/testing/tests/package/test_brotli.py +F: support/testing/tests/package/test_btrfs_progs.py +F: support/testing/tests/package/test_btrfs_progs/ +F: support/testing/tests/package/test_bzip2.py +F: support/testing/tests/package/test_compressor_base.py +F: support/testing/tests/package/test_connman.py +F: support/testing/tests/package/test_coremark.py +F: support/testing/tests/package/test_cryptsetup.py +F: support/testing/tests/package/test_cryptsetup/ +F: support/testing/tests/package/test_dieharder.py +F: support/testing/tests/package/test_dmidecode.py +F: support/testing/tests/package/test_dos2unix.py +F: support/testing/tests/package/test_dosfstools.py +F: support/testing/tests/package/test_dosfstools/ +F: support/testing/tests/package/test_dpdk.py +F: support/testing/tests/package/test_ed.py +F: support/testing/tests/package/test_ethtool.py +F: support/testing/tests/package/test_ethtool/ +F: support/testing/tests/package/test_exfatprogs.py +F: support/testing/tests/package/test_exfatprogs/ +F: support/testing/tests/package/test_file.py +F: support/testing/tests/package/test_file/ +F: support/testing/tests/package/test_flac.py +F: support/testing/tests/package/test_fluidsynth.py +F: support/testing/tests/package/test_fluidsynth/ +F: support/testing/tests/package/test_fping.py +F: support/testing/tests/package/test_fwts.py +F: support/testing/tests/package/test_gawk.py +F: support/testing/tests/package/test_ghostscript.py +F: support/testing/tests/package/test_ghostscript/ +F: support/testing/tests/package/test_git.py +F: support/testing/tests/package/test_glslsandbox_player.py +F: support/testing/tests/package/test_glslsandbox_player/ +F: support/testing/tests/package/test_gnupg2.py +F: support/testing/tests/package/test_gnuplot.py +F: support/testing/tests/package/test_gnuplot/ +F: support/testing/tests/package/test_gnuradio.py +F: support/testing/tests/package/test_gnuradio/ +F: support/testing/tests/package/test_gpsd.py +F: support/testing/tests/package/test_gpsd/ +F: support/testing/tests/package/test_gstreamer1.py +F: support/testing/tests/package/test_gzip.py +F: support/testing/tests/package/test_highway.py +F: support/testing/tests/package/test_hwloc.py +F: support/testing/tests/package/test_hyperfine.py +F: support/testing/tests/package/test_iozone.py +F: support/testing/tests/package/test_iperf.py +F: support/testing/tests/package/test_iperf3.py +F: support/testing/tests/package/test_iproute2.py +F: support/testing/tests/package/test_iptables.py +F: support/testing/tests/package/test_iputils.py +F: support/testing/tests/package/test_jailhouse.py +F: support/testing/tests/package/test_jq.py +F: support/testing/tests/package/test_jq/ +F: support/testing/tests/package/test_kexec.py +F: support/testing/tests/package/test_kexec/ +F: support/testing/tests/package/test_kmod.py +F: support/testing/tests/package/test_kmod/ +F: support/testing/tests/package/test_kmscube.py +F: support/testing/tests/package/test_kmscube/ +F: support/testing/tests/package/test_kvmtool.py +F: support/testing/tests/package/test_kvmtool/ +F: support/testing/tests/package/test_lame.py +F: support/testing/tests/package/test_less.py +F: support/testing/tests/package/test_libcamera.py +F: support/testing/tests/package/test_libcamera/ +F: support/testing/tests/package/test_libcurl.py +F: support/testing/tests/package/test_libgpgme.py +F: support/testing/tests/package/test_libjxl.py +F: support/testing/tests/package/test_lighttpd.py +F: support/testing/tests/package/test_links.py +F: support/testing/tests/package/test_links/ +F: support/testing/tests/package/test_llama_cpp.py +F: support/testing/tests/package/test_lrzip.py +F: support/testing/tests/package/test_lrzsz.py +F: support/testing/tests/package/test_ltp_testsuite.py +F: support/testing/tests/package/test_ltrace.py +F: support/testing/tests/package/test_lvm2.py +F: support/testing/tests/package/test_lzip.py +F: support/testing/tests/package/test_lsof.py +F: support/testing/tests/package/test_lz4.py +F: support/testing/tests/package/test_lzop.py +F: support/testing/tests/package/test_make.py +F: support/testing/tests/package/test_make/ +F: support/testing/tests/package/test_mariadb.py +F: support/testing/tests/package/test_mawk.py +F: support/testing/tests/package/test_mdadm.py +F: support/testing/tests/package/test_mdadm/ +F: support/testing/tests/package/test_micropython.py +F: support/testing/tests/package/test_micropython/ +F: support/testing/tests/package/test_mosquitto.py +F: support/testing/tests/package/test_mtools.py +F: support/testing/tests/package/test_mtr.py +F: support/testing/tests/package/test_ncdu.py +F: support/testing/tests/package/test_netcat.py +F: support/testing/tests/package/test_netsnmp.py +F: support/testing/tests/package/test_netsnmp/ +F: support/testing/tests/package/test_nftables.py +F: support/testing/tests/package/test_nftables/ +F: support/testing/tests/package/test_ngrep.py +F: support/testing/tests/package/test_nmap.py +F: support/testing/tests/package/test_ndctl.py +F: support/testing/tests/package/test_ndctl/ +F: support/testing/tests/package/test_ntp.py +F: support/testing/tests/package/test_ntp/ +F: support/testing/tests/package/test_numactl.py +F: support/testing/tests/package/test_numactl/ +F: support/testing/tests/package/test_oath_toolkit.py +F: support/testing/tests/package/test_octave.py +F: support/testing/tests/package/test_openblas.py +F: support/testing/tests/package/test_openocd.py +F: support/testing/tests/package/test_opus_tools.py +F: support/testing/tests/package/test_parted.py +F: support/testing/tests/package/test_patch.py +F: support/testing/tests/package/test_patch/ +F: support/testing/tests/package/test_pciutils.py +F: support/testing/tests/package/test_perftest.py +F: support/testing/tests/package/test_pigz.py +F: support/testing/tests/package/test_postgresql.py +F: support/testing/tests/package/test_pppd.py +F: support/testing/tests/package/test_pppd/ +F: support/testing/tests/package/test_proj.py +F: support/testing/tests/package/test_pv.py +F: support/testing/tests/package/test_python_distro.py +F: support/testing/tests/package/test_python_gnupg.py +F: support/testing/tests/package/test_python_hkdf.py +F: support/testing/tests/package/test_python_hwdata.py +F: support/testing/tests/package/test_python_magic_wormhole.py +F: support/testing/tests/package/test_python_midiutil.py +F: support/testing/tests/package/test_python_ml_dtypes.py +F: support/testing/tests/package/test_python_mpmath.py +F: support/testing/tests/package/test_python_pyalsa.py +F: support/testing/tests/package/test_python_pyqt5.py +F: support/testing/tests/package/test_python_pyqt5/ +F: support/testing/tests/package/test_python_spake2.py +F: support/testing/tests/package/test_python_sympy.py +F: support/testing/tests/package/test_rdma_core.py +F: support/testing/tests/package/test_rdma_core/ +F: support/testing/tests/package/test_rrdtool.py +F: support/testing/tests/package/test_rt_tests.py +F: support/testing/tests/package/test_screen.py +F: support/testing/tests/package/test_sed.py +F: support/testing/tests/package/test_socat.py +F: support/testing/tests/package/test_sox.py +F: support/testing/tests/package/test_sqlite.py +F: support/testing/tests/package/test_strace.py +F: support/testing/tests/package/test_stress_ng.py +F: support/testing/tests/package/test_swipl.py +F: support/testing/tests/package/test_swipl/ +F: support/testing/tests/package/test_tcl.py +F: support/testing/tests/package/test_tcl/ +F: support/testing/tests/package/test_tcpdump.py +F: support/testing/tests/package/test_tesseract_ocr.py +F: support/testing/tests/package/test_tio.py +F: support/testing/tests/package/test_trace_cmd.py +F: support/testing/tests/package/test_trace_cmd/ +F: support/testing/tests/package/test_tree.py +F: support/testing/tests/package/test_unbound.py +F: support/testing/tests/package/test_unbound/ +F: support/testing/tests/package/test_usbip.py +F: support/testing/tests/package/test_usbip/ +F: support/testing/tests/package/test_usbutils.py +F: support/testing/tests/package/test_usbutils/ +F: support/testing/tests/package/test_vorbis_tools.py +F: support/testing/tests/package/test_weston.py +F: support/testing/tests/package/test_weston/ +F: support/testing/tests/package/test_wget.py +F: support/testing/tests/package/test_which.py +F: support/testing/tests/package/test_wine.py +F: support/testing/tests/package/test_xfsprogs.py +F: support/testing/tests/package/test_xfsprogs/ +F: support/testing/tests/package/test_xvisor.py +F: support/testing/tests/package/test_xxhash.py +F: support/testing/tests/package/test_xz.py +F: support/testing/tests/package/test_z3.py +F: support/testing/tests/package/test_z3/ +F: support/testing/tests/package/test_zbar.py +F: support/testing/tests/package/test_zchunk.py +F: support/testing/tests/package/test_zstd.py N: Julien Viard de Galbert F: package/dieharder/ @@ -1003,35 +2056,19 @@ F: package/easy-rsa/ N: Justin Maggard F: package/dtach/ -N: Jérôme Oufella -F: package/libdri2/ -F: package/qt-webkit-kiosk/ +N: Kadambini Nema +F: package/ustreamer/ -N: Jérôme Pouiller -F: package/apitrace/ -F: package/freescale-imx/gpu-amd-bin-mx51/ -F: package/freescale-imx/libz160/ -F: package/lxc/ -F: package/strongswan/ -F: package/wmctrl/ -F: package/x11r7/xdriver_xf86-video-imx/ -F: package/x11r7/xdriver_xf86-video-imx-viv/ - -N: Jörg Krause -F: board/lemaker/bananapro/ -F: configs/bananapro_defconfig -F: package/augeas/ -F: package/bctoolbox/ -F: package/libshout/ -F: package/libupnpp/ -F: package/luv/ -F: package/luvi/ -F: package/mp4v2/ -F: package/mpd/ -F: package/shairport-sync/ -F: package/swupdate/ -F: package/upmpdcli/ -F: package/wavemon/ +N: Kamel Bouhara +F: package/libodb-boost/ +F: package/libodb-mysql/ +F: package/libqb/ +F: package/usbguard/ + +N: Kanak Shilledar +F: board/sipeed/licheepi_4a/ +F: configs/sipeed_licheepi_4a_defconfig +F: package/sipeed-lpi4abin/ N: Karoly Kasza F: package/irqbalance/ @@ -1040,44 +2077,100 @@ F: package/openvmtools/ N: Kelvin Cheung F: package/cpuload/ F: package/bwm-ng/ -F: package/ramsmp/ -N: Kevin Joly -F: package/libgphoto2/ +N: Kieran Bingham +F: package/libcamera/ + +N: Kilian Zinnecker +F: board/avnet/rzboard_v2l/ +F: board/radxa/rock5b/ +F: configs/avnet_rzboard_v2l_defconfig +F: configs/rock5b_defconfig +F: package/rockchip-rkbin/ + +N: Klaus Heinrich Kiwi +F: package/wqy-zenhei/ N: Koen Martens +F: package/capnproto/ F: package/linuxconsoletools/ +N: Kory Maincent +F: board/octavo/osd32mp1-brk/ +F: board/octavo/osd32mp1-red/ +F: configs/octavo_osd32mp1_brk_defconfig +F: configs/octavo_osd32mp1_red_defconfig +F: package/drm-info/ + +N: Kris Bahnsen +F: package/wilc-firmware/ +F: package/wilc-driver/ + N: Kurt Van Dijck F: package/bcusdk/ F: package/libpthsem/ +F: package/nilfs-utils/ N: Laurent Cans F: package/aircrack-ng/ +N: Laurent Charpentier +F: package/open-lldp/ + +N: Laurent Vivier +F: package/petitboot/ + N: Lee Jones F: boot/afboot-stm32/ +N: Leon Anavi +F: board/olimex/a10_olinuxino +F: configs/olimex_a10_olinuxino_lime_defconfig + +N: Leonid Yuriev +F: package/libmdbx/ + N: Lionel Flandrin F: package/python-babel/ +F: package/python-daemonize/ F: package/python-flask/ F: package/python-flask-babel/ F: package/python-gunicorn/ - -N: Lionel Orry -F: package/mongrel2/ +F: support/testing/tests/package/sample_python_flask.py +F: support/testing/tests/package/test_python_flask.py N: Lothar Felten +F: board/bananapi/bananapi-m2-ultra/ +F: board/beagleboard/beaglebone/ +F: configs/bananapi_m2_ultra_defconfig +F: configs/beaglebone_defconfig +F: configs/beaglebone_qt5_defconfig F: package/ti-sgx-demos/ F: package/ti-sgx-km/ F: package/ti-sgx-um/ -N: Luca Ceresoli +N: Louis Aussedat +F: package/mfoc +F: package/libpam-nfc +F: package/python-dnspython/ +F: package/python-future/ +F: package/python-huepy/ +F: package/python-tqdm/ +F: package/rtl8189es/ + +N: Luca Ceresoli F: board/olimex/a20_olinuxino/ +F: board/zynq/ +F: board/zynqmp/ F: configs/olimex_a20_olinuxino_* +F: configs/zynq_microzed_defconfig +F: configs/zynq_zed_defconfig +F: configs/zynq_zc706_defconfig +F: configs/zynqmp_zcu106_defconfig F: package/agentpp/ F: package/exim/ F: package/libpjsip/ +F: package/linux-tools/linux-tool-usbtools.mk.in F: package/qpid-proton/ F: package/rtl8188eu/ F: package/snmppp/ @@ -1088,23 +2181,55 @@ F: support/legal-info/ N: Lucas De Marchi F: package/fswebcam/ -N: Ludovic Desroches +N: Lubomir Rintel +F: board/olpc/ +F: configs/olpc_xo1_defconfig +F: configs/olpc_xo175_defconfig + +N: Ludovic Desroches F: board/atmel/ +F: board/microchip/ F: configs/at91* F: configs/atmel_* +F: configs/microchip_* F: package/fb-test-app/ F: package/python-json-schema-validator/ F: package/python-keyring/ F: package/python-simplejson/ F: package/python-versiontools/ -F: package/wilc1000-firmware/ +F: package/wilc-firmware/ + +N: Ludwig Kormann +F: board/in-circuit/ +F: configs/icnova* -N: Mamatha Inamdar -F: package/nvme/ +N: Mahyar Koshkouei +F: package/ffmpeg/ +F: package/mpv/ +F: package/rpi-firmware/ -N: Manuel Vögele -F: package/python-pyqt5/ -F: package/python-requests-toolbelt/ +N: Manuel Diener +F: package/pico-sdk/ +F: package/picotool/ +F: package/python-annotated-doc/ +F: package/python-apscheduler/ +F: package/python-crc/ +F: package/python-diskcache/ +F: package/python-django/ +F: package/python-gpiod/ +F: package/python-immutabledict/ +F: package/python-jc/ +F: package/python-log-rate-limit/ +F: package/python-pydantic/ +F: package/python-pydantic-core/ +F: package/python-pydantic-settings/ +F: package/python-typing-inspection/ +F: package/python-tzlocal/ +F: package/python-sdbus-modemmanager/ +F: package/python-sdbus-systemd/ +F: package/python-varlink/ +F: package/python-waitress/ +F: package/python-whitenoise/ N: Marcin Bis F: package/bluez5_utils/ @@ -1113,18 +2238,72 @@ F: package/ecryptfs-utils/ N: Marcin Niestroj F: board/grinn/ +F: board/orangepi/orangepi-zero-plus/ +F: board/orangepi/orangepi-zero3/ F: configs/grinn_* +F: configs/orangepi_zero_plus_defconfig +F: configs/orangepi_zero3_defconfig F: package/argparse/ F: package/dt-utils/ F: package/easydbus/ +F: package/gitlab-runner/ F: package/lua-flu/ F: package/lua-stdlib/ F: package/luaossl/ +F: package/murata-cyw-fw/ +F: package/netdata/ +F: package/python-ansicolors/ +F: package/python-bleak/ +F: package/python-dbus-fast/ +F: package/python-dbus-next/ +F: package/python-iniconfig/ +F: package/python-intelhex/ +F: package/python-packaging/ +F: package/python-pluggy/ +F: package/python-pytest/ +F: package/python-pytest-asyncio/ +F: package/python-typing-extensions/ +F: package/python-xmodem/ F: package/rs485conf/ F: package/turbolua/ - -N: Marcin Nowakowski -F: package/libkcapi/ +F: support/testing/tests/package/sample_python_dbus_fast.py +F: support/testing/tests/package/sample_python_dbus_next.py +F: support/testing/tests/package/sample_python_pytest.py +F: support/testing/tests/package/sample_python_pytest_asyncio.py +F: support/testing/tests/package/test_netdata.py +F: support/testing/tests/package/test_python_dbus_next.py +F: support/testing/tests/package/test_python_pytest.py +F: support/testing/tests/package/test_python_pytest_asyncio.py + +N: Marcus Folkesson +F: package/libcamera/ +F: package/libcamera-apps/ +F: package/libostree/ +F: package/libselinux/ +F: package/libsemanage/ +F: package/libsepol/ +F: package/selinux-python/ +F: support/testing/tests/package/sample_python_asn1crypto.py +F: support/testing/tests/package/test_python_asn1crypto.py +F: utils/config +F: utils/diffconfig + +N: Marcus Hoffmann +F: package/nethogs/ +F: package/python-django/ +F: package/python-gpiod/ +F: package/python-jc/ +F: package/python-varlink/ +F: package/python-waitress/ +F: package/python-whitenoise/ +F: support/testing/tests/package/test_python_django.py +F: support/testing/tests/package/test_python_requests.py +F: support/testing/tests/package/test_python_varlink.py +F: support/testing/tests/package/test_python_varlink/ +F: support/testing/tests/package/test_python_waitress.py +F: support/testing/tests/package/test_python_whitenoise.py +F: support/testing/tests/package/sample_python_django.py +F: support/testing/tests/package/sample_python_requests.py N: Marek Belisko F: package/libatasmart/ @@ -1132,61 +2311,63 @@ F: package/polkit/ F: package/sg3_utils/ F: package/udisks/ +N: Mario Lang +F: package/brltty/ +F: package/lynx/ + N: Mario Rugiero F: package/ratpoison/ -N: Markos Chandras -F: package/harfbuzz/ -F: package/libsecret/ +N: Mark Corbin +F: arch/arch.mk.riscv +F: arch/Config.in.riscv +F: board/qemu/riscv32-virt/ +F: board/qemu/riscv64-virt/ +F: configs/qemu_riscv32_virt_defconfig +F: configs/qemu_riscv64_virt_defconfig + +N: Marleen Vos +F: board/stmicroelectronics/common/stm32mp1xx/ +F: configs/avenger96_defconfig +F: configs/stm32mp157a_dk1_defconfig +F: configs/stm32mp157c_dk2_defconfig N: Martin Bark +F: board/raspberrypi/ +F: configs/raspberrypi3_defconfig +F: package/brcmfmac_sdio-firmware-rpi/ F: package/ca-certificates/ F: package/connman/ F: package/nodejs/ +F: package/rpi-firmware/ F: package/tzdata/ F: package/zic/ -N: Martin Hicks -F: package/cryptsetup/ +N: Martin Hundebøll +F: package/python-apispec/ +F: package/python-flask-smorest/ +F: package/python-marshmallow/ +F: package/python-marshmallow-sqlalchemy/ +F: package/python-webargs/ N: Martin Kepplinger F: package/tslib/ F: package/x11r7/xdriver_xf86-input-tslib/ -F: package/x11vnc/ -N: Mathieu Audat -F: board/technologic/ts4900/ -F: configs/ts4900_defconfig -F: package/ts4900-fpga/ +N: Martin PoviÅ¡er +F: package/python-construct/ +F: support/testing/tests/package/sample_python_construct.py +F: support/testing/tests/package/test_python_construct.py -N: Matt Weber -F: package/bc/ -F: package/checkpolicy/ -F: package/cgroupfs-mount/ -F: package/eigen/ -F: package/fmc/ -F: package/fmlib/ -F: package/igmpproxy/ -F: package/iputils/ -F: package/libcsv/ -F: package/libselinux/ -F: package/libsemanage/ -F: package/libsepol/ -F: package/libqmi/ -F: package/nginx-upload/ -F: package/omniorb/ -F: package/paxtest/ -F: package/policycoreutils/ -F: package/python-ipy/ -F: package/python-posix-ipc/ -F: package/python-pypcap/ -F: package/python-pyrex/ -F: package/raptor/ -F: package/sepolgen/ -F: package/setools/ -F: package/smcroute/ -F: package/tclap/ -F: package/valijson/ +N: Masahiro Yamada +F: board/arm/foundation-v8/ +F: configs/arm_foundationv8_defconfig + +N: Matt Flax +F: package/gtkiostream/ + +N: Matt Silva +F: package/rlwrap/ N: Mauro Condarelli F: package/mc/ @@ -1194,11 +2375,9 @@ F: package/python-autobahn/ F: package/python-cbor/ F: package/python-characteristic/ F: package/python-click/ -F: package/python-crossbar/ F: package/python-lmdb/ F: package/python-mistune/ F: package/python-netaddr/ -F: package/python-pyasn-modules/ F: package/python-pygments/ F: package/python-pynacl/ F: package/python-pytrie/ @@ -1210,83 +2389,181 @@ F: package/python-txaio/ F: package/python-ujson/ F: package/python-wsaccel/ +N: Maksim Kiselev +F: package/ledmon/ + N: Max Filippov F: arch/Config.in.xtensa -N: Maxime Hadjinlian -F: package/babeld/ -F: package/dante/ -F: package/faifa/ -F: package/initscripts/ -F: package/intel-microcode/ -F: package/iucode-tool/ -F: package/jasper/ -F: package/kodi/ -F: package/libass/ -F: package/libbluray/ -F: package/libcdio/ -F: package/libcofi/ -F: package/libenca/ -F: package/libmodplug/ -F: package/libnfs/ -F: package/libplist/ -F: package/libshairplay/ -F: package/linux-zigbee/ -F: package/netcat-openbsd/ -F: package/open-plc-utils/ -F: package/rpi-firmware/ -F: package/rpi-userland/ -F: package/rtmpdump/ -F: package/skeleton/ -F: package/systemd/ -F: package/systemd-bootchart/ -F: package/tinyalsa/ -F: package/tinyxml/ +N: Maxim Kochetkov +F: package/libgeos/ +F: package/libosmium/ +F: package/osm2pgsql/ +F: package/postgis/ +F: package/postgresql/ +F: package/protozero/ +F: package/timescaledb/ + +N: Maxime Chevallier +F: package/libtraceevent/ +F: package/libtracefs +F: package/linux-tools/linux-tool-rtla.mk.in + +N: Maxime Leroy +F: package/grout/ + +N: Meena Murthy +F: board/engicam/px30core/ +F: configs/engicam_px30_core_defconfig + +N: Michael Durrant +F: board/arcturus/ +F: configs/arcturus_ucp1020_defconfig +F: configs/arcturus_ucls1012a_defconfig -N: Maxime Ripard -F: package/kmsxx/ +N: Michael Fischer +F: package/gnuplot/ +F: package/sdl2/ -N: Michael Rommel -F: package/knock/ -F: package/python-crc16/ -F: package/python-pyzmq/ +N: Michael Nosthoff +F: package/boost/ +F: package/catch2/ +F: package/fmt/ +F: package/gtest/ +F: package/json-for-modern-cpp/ +F: package/libabseil-cpp/ +F: package/libgpiod2/ +F: package/networkd-dispatcher/ +F: package/protobuf/ +F: package/sdbus-cpp/ +F: package/spdlog/ +F: package/sqlitecpp/ N: Michael Trimarchi +F: board/bsh/ +F: configs/imx6ulz_bsh_smm_m2_defconfig +F: configs/imx8mn_bsh_smm_s2_defconfig +F: configs/imx8mn_bsh_smm_s2_pro_defconfig F: package/python-spidev/ +N: Michael Vetter +F: package/jasper/ +F: package/libstrophe/ + +N: Michael Walle +F: board/kontron/smarc-sal28/ +F: configs/kontron_smarc_sal28_defconfig +F: package/libavl/ +F: package/rcw-smarc-sal28/ + N: MichaÅ‚ Åyszczek -F: board/altera/socrates_cyclone5/ -F: configs/socrates_cyclone5_defconfig +F: package/netifrc/ +F: package/openrc/ +F: package/skeleton-init-openrc/ + +N: Michel Stempin +F: board/sipeed/licheepi_zero/ +F: configs/sipeed_licheepi_zero_defconfig + +N: Mika Westerberg +F: package/tbtools/ + +N: Mike Frampton +F: package/qcom-db410c-firmware/ N: Mikhail Boiko F: package/libfribidi/ -N: Morgan Delestre -F: package/monkey/ +N: Mircea Gliga +F: package/mbuffer/ + +N: Mohammed Sadik Shaik +F: package/k3conf/ N: Murat Demirten F: package/jpeg-turbo/ F: package/libgeotiff/ -N: Mike Harmony -F: board/sinovoip/m2-plus/ -F: configs/bananapi_m2_plus_defconfig - -N: Nathan Lynch -F: package/chrony/ +N: Nasser Afshin +F: package/python-pycrate/ N: Nathaniel Roach F: package/bandwidthd/ F: package/libgudev/ -N: Naumann Andreas -F: package/evemu/ -F: package/libevdev/ - -N: Nicolas Serafini +N: Neal Frager +F: board/versal/ +F: board/versal2/ +F: board/xilinx/ +F: board/zynq/ +F: board/zynqmp/ +F: boot/xilinx-embeddedsw/ +F: boot/xilinx-prebuilt/ +F: configs/versal_vck190_defconfig +F: configs/versal_vek280_defconfig +F: configs/versal_vpk120_defconfig +F: configs/versal_vpk180_defconfig +F: configs/versal2_vek385_defconfig +F: configs/zynq_zc702_defconfig +F: configs/zynq_zc706_defconfig +F: configs/zynqmp_kria_kd240_defconfig +F: configs/zynqmp_kria_kr260_defconfig +F: configs/zynqmp_kria_kv260_defconfig +F: configs/zynqmp_zcu102_defconfig +F: configs/zynqmp_zcu104_defconfig +F: configs/zynqmp_zcu106_defconfig +F: package/binutils-bare-metal/ +F: package/bootgen/ +F: package/gcc-bare-metal/ +F: package/newlib-bare-metal/ +F: package/xilinx-fpgautil/ +F: toolchain/toolchain-bare-metal-buildroot/ + +N: Nicola Di Lieto +F: package/uacme/ + +N: Nicolas Carrier +F: package/bmap-tools/ +F: package/composer/ +F: package/libdbi/ +F: package/libdbi-drivers/ +F: package/lua-augeas/ +F: package/modsecurity2/ +F: package/php-apcu/ +F: package/php-lua/ +F: package/php-pam/ +F: package/php-pecl-dbus/ +F: package/php-xdebug/ +F: package/python-augeas/ +F: package/python-flask-expects-json/ +F: package/python-git/ +F: package/python-unittest-xml-reporting/ +F: support/testing/tests/package/sample_bmap_tools.sh +F: support/testing/tests/package/sample_python_augeas.py +F: support/testing/tests/package/sample_python_flask_expects_json.py +F: support/testing/tests/package/sample_python_git.py +F: support/testing/tests/package/sample_python_unittest_xml_reporting.py +F: support/testing/tests/package/test_bmap_tools.py +F: support/testing/tests/package/test_lua_augeas.py +F: support/testing/tests/package/test_php_apcu.py +F: support/testing/tests/package/test_php_pecl_dbus.py +F: support/testing/tests/package/test_php_lua.py +F: support/testing/tests/package/test_php_pam.py +F: support/testing/tests/package/test_python_augeas.py +F: support/testing/tests/package/test_python_flask_expects_json.py +F: support/testing/tests/package/test_python_git.py +F: support/testing/tests/package/test_python_unittest_xml_reporting.py + +N: Nicolas Cavallari +F: package/bluez-alsa/ +F: package/libgit2/ + +N: Nicolas Serafini F: package/exiv2/ -F: package/nvidia-tegra23/nvidia-tegra23-binaries/ -F: package/nvidia-tegra23/nvidia-tegra23-codecs/ +F: package/ofono/ + +N: Niklas Cassel +F: configs/qemu_riscv64_nommu_virt_defconfig N: Nimai Mahajan F: package/libucl/ @@ -1295,9 +2572,25 @@ N: Noé Rubinstein F: package/tpm-tools/ F: package/trousers/ +N: Norbert Lange +F: package/dbus-broker/ +F: package/systemd/ +F: package/tcf-agent/ + +N: Leo Yu-Chi Liang +F: board/andes +F: configs/andes_ae350_45_defconfig +F: package/andes-spi-burn/ +F: package/kmon/ + N: Olaf Rempel F: package/ctorrent/ +N: Oleksandr Zhadan +F: board/arcturus/ +F: configs/arcturus_ucp1020_defconfig +F: configs/arcturus_ucls1012a_defconfig + N: Oli Vogt F: package/python-django/ F: package/python-flup/ @@ -1306,6 +2599,8 @@ N: Olivier Matz F: package/python-pyelftools/ N: Olivier Schonken +F: package/cups/ +F: package/cups-filters/ F: package/ijs/ F: package/poppler/ F: package/qpdf/ @@ -1317,58 +2612,104 @@ F: package/shellinabox/ N: Parnell Springmeyer F: package/scrypt/ +N: Pascal de Bruijn +F: package/libargon2/ +F: package/linux-tools/S10hyperv +F: package/linux-tools/hyperv*.service +F: package/linux-tools/linux-tool-hv.mk.in + N: Pascal Huerst F: package/google-breakpad/ N: Patrick Gerber F: package/yavta/ -N: Paul Cercueil -F: package/libiio/ +N: Patrick Havelange +F: support/testing/tests/package/test_lxc.py +F: support/testing/tests/package/test_lxc/ + +N: Patrick Oppenlander +F: package/minisign/ + +N: Patrik Olsson +F: board/radxa/rock4se +F: configs/rock4se_defconfig N: Paul Cercueil +F: package/libiio/ F: package/lightning/ +F: package/umtprd/ N: Pedro Aguilar +F: package/bdwgc/ +F: package/guile/ F: package/libunistring/ N: Peter Korsgaard +F: board/arrow/avenger96/ +F: board/beagleboard/beagleboneai/ +F: board/minnowboard/ +F: board/nezha/ +F: board/librecomputer/lafrite/ +F: board/nexbox/a95x/ +F: board/openblocks/a6/ F: board/orangepi/ +F: board/visionfive/ +F: boot/shim/ +F: configs/avenger96_defconfig +F: configs/beagleboneai_defconfig +F: configs/lafrite_defconfig +F: configs/minnowboard_max_defconfig +F: configs/nexbox_a95x_defconfig +F: configs/nezha_defconfig +F: configs/openblocks_a6_defconfig F: configs/orangepi_pc_defconfig +F: configs/orangepi_r1_defconfig +F: configs/sheevaplug_defconfig +F: configs/visionfive_defconfig +F: package/bats-core/ +F: package/dfu-programmer/ +F: package/docker-compose/ F: package/dump1090/ -F: package/flickcurl/ +F: package/fatcat/ F: package/fscryptctl/ +F: package/ifmetric/ F: package/jo/ F: package/jose/ F: package/libfastjson/ +F: package/luksmeta/ F: package/lzop/ F: package/memtool/ F: package/mosquitto/ F: package/python-alsaaudio/ -F: package/python-enum/ -F: package/python-enum34/ -F: package/python-ipaddr/ -F: package/python-pam/ +F: package/python-cached-property/ +F: package/python-docker/ +F: package/python-dockerpty/ +F: package/python-docker-pycreds/ +F: package/python-hid/ F: package/python-psutil/ +F: package/python-request-id/ +F: package/python-semver/ +F: package/python-texttable/ +F: package/python-validators/ +F: package/python-webob/ +F: package/python-websocket-client/ +F: package/rnnoise/ +F: package/sedutil/ +F: package/tpm2-totp/ F: package/triggerhappy/ +F: package/ugetty/ +F: package/wireguard-linux-compat/ +F: package/wireguard-tools/ +F: support/testing/tests/package/test_docker_compose.py +F: support/testing/tests/package/test_python_hid.py N: Peter Seiderer -F: board/raspberrypi/ -F: configs/raspberrypi3_defconfig -F: package/assimp/ -F: package/bcm2835/ -F: package/ddrescue/ -F: package/dejavu/ -F: package/dillo/ -F: package/edid-decode/ -F: package/ghostscript-fonts/ -F: package/gstreamer1/gst1-validate/ -F: package/libevdev/ -F: package/log4cplus/ -F: package/postgresql/ -F: package/qt5/ -F: package/racehound/ -F: package/wiringpi/ +F: package/dotconf/ +F: package/fft-eval/ +F: package/python-blinker/ +F: package/qt5/qt5speech/ +F: package/speechd/ N: Peter Thompson F: package/sdl2_gfx/ @@ -1379,8 +2720,16 @@ N: Petr Kulhavy F: package/linuxptp/ N: Petr Vorel +F: package/ima-evm-utils/ +F: package/iproute2/ +F: package/iputils/ +F: package/libqrtr-glib/ +F: package/libtirpc/ F: package/linux-backports/ F: package/ltp-testsuite/ +F: package/nfs-utils/ +F: package/rpcbind/ +F: support/kconfig/ N: Phil Eichinger F: package/libqrencode/ @@ -1388,11 +2737,14 @@ F: package/psplash/ F: package/sispmctl/ F: package/zsh/ -N: Philipp Claves -F: package/libassuan/ -F: package/libgpgme/ +N: Philip Molloy +F: package/adsp-ldr/ + +N: Philipp Richter +F: package/libtorrent-rasterbar/ N: Philippe Proulx +F: package/babeltrace2/ F: package/lttng-babeltrace/ F: package/lttng-libust/ F: package/lttng-modules/ @@ -1400,22 +2752,53 @@ F: package/lttng-tools/ F: package/python-ipython/ F: package/liburcu/ +N: Philippe Reynes +F: package/ibm-sw-tpm2/ + +N: Pierre Ducroquet +F: package/kf5/ + N: Pierre Floury F: package/trace-cmd/ +N: Pierre-Jean Texier +F: package/fping/ +F: package/genimage/ +F: package/haveged/ +F: package/ipset/ +F: package/libarchive/ +F: package/libevent/ +F: package/libubootenv/ +F: package/libxml2/ +F: package/mongoose/ +F: package/mxml/ +F: package/numactl/ +F: package/python-modbus-tk/ +F: package/python-periphery/ +F: package/raspi-gpio/ +F: package/sbc/ +F: package/stunnel/ +F: package/tree/ + N: Pieter De Gendt F: package/libvips/ -N: Pieterjan Camerlynck +N: Pieterjan Camerlynck F: package/libdvbpsi/ F: package/mraa/ F: package/synergy/ -N: Pranit Sirsat -F: package/paho-mqtt-c/ +N: Qais Yousef +F: package/bpftrace/ + +N: Rafal Susz +F: board/avnet/s6lx9_microboard/ +F: configs/s6lx9_microboard_defconfig -N: Qais Yousef -F: package/bellagio/ +N: RafaÅ‚ MiÅ‚ecki +F: board/broadcom/northstar/ +F: configs/broadcom_northstar_defconfig +F: package/firmware-utils/ N: Rahul Bedarkar F: package/cxxtest/ @@ -1424,139 +2807,251 @@ F: package/glog/ F: package/gssdp/ F: package/gupnp/ F: package/gupnp-av/ -F: package/let-me-create/ F: package/nanomsg/ -N: Rahul Jain -F: package/uhttpd/ -F: package/ustream-ssl/ +N: Ralf Dragon +F: package/python-pyqt5-sip/ + +N: Ramon Fried +F: package/bitwise/ + +N: Raphaël Mélotte +F: package/gumbo-parser/ +F: package/jbig2dec/ +F: package/mupdf/ +F: package/python-boto3/ +F: package/python-botocore/ +F: package/python-jmespath/ +F: package/python-pymupdf/ +F: package/python-rsa/ +F: package/python-s3transfer/ +F: package/python-sdbus/ +F: package/python-sdbus-networkmanager/ +F: support/testing/tests/package/sample_python_jmespath.py +F: support/testing/tests/package/sample_python_pymupdf.py +F: support/testing/tests/package/sample_python_rsa.py +F: support/testing/tests/package/sample_python_s3transfer.py +F: support/testing/tests/package/sample_python_sdbus.py +F: support/testing/tests/package/sample_python_sdbus_networkmanager.py +F: support/testing/tests/package/sample_python_urllib3.py +F: support/testing/tests/package/test_nginx_modsecurity/ +F: support/testing/tests/package/test_nginx_modsecurity.py +F: support/testing/tests/package/test_python_jmespath.py +F: support/testing/tests/package/test_python_pymupdf.py +F: support/testing/tests/package/test_python_rsa.py +F: support/testing/tests/package/test_python_s3transfer.py +F: support/testing/tests/package/test_python_sdbus.py +F: support/testing/tests/package/test_python_sdbus_networkmanager.py +F: support/testing/tests/package/test_python_urllib3.py + +N: Raphael Pavlidis +F: package/nvidia-persistenced/ +F: package/shadow/ +F: package/slirp4netns/ +F: package/sway/ +F: package/x11r7/xwayland/ + +N: Refik Tuzakli +F: package/freescale-imx/ +F: package/paho-mqtt-cpp/ N: Renaud Aubin F: package/libhttpparser/ -N: Rhys Williams -F: package/lirc-tools/ - -N: Ricardo Martincoski +N: Ricardo Martincoski +F: .flake8 +F: .shellcheckrc F: package/atop/ - -N: Ricardo Martincoski -F: support/testing/ +F: package/thermald/ +F: support/testing/infra/ +F: support/testing/run-tests +F: support/testing/tests/package/test_atop.py +F: support/testing/tests/utils/test_check_package.py F: utils/check-package +F: utils/check-symbols F: utils/checkpackagelib/ +F: utils/checksymbolslib/ +F: utils/docker-run N: Richard Braun F: package/curlftpfs/ F: package/tzdata/ -N: Rico Bachmann -F: package/apr-util/ -F: package/subversion/ - N: RJ Ascani F: package/azmq/ +N: Robert Marko +F: package/mdio-tools/ +F: package/mhz/ + +N: Robert Rose +F: package/grpc/ + +N: Roberto Medina +F: board/firefly/roc-rk3399-pc/ +F: configs/roc_pc_rk3399_defconfig + N: Rodrigo Rebello F: package/chocolate-doom/ F: package/irssi/ F: package/vnstat/ N: Romain Naour +F: board/beagleboard/beagleboneai64/ +F: board/beagleboard/beagley-ai/ +F: board/qemu/ +F: board/ti/am574x-idk/ +F: configs/qemu_* +F: configs/am574x_idk_defconfig +F: configs/beagleboneai64_defconfig +F: configs/beagley_ai_defconfig F: package/aubio/ +F: package/bcc/ +F: package/binutils/ +F: package/bpftrace/ F: package/bullet/ +F: package/clinfo/ F: package/efl/ +F: package/enet/ F: package/enlightenment/ -F: package/expedite/ -F: package/iqvlinux/ +F: package/flare-engine/ +F: package/flare-game/ +F: package/gcc/ +F: package/gitlab-runner/ +F: package/glibc/ F: package/irrlicht/ F: package/liblinear/ F: package/lensfun/ +F: package/libbpf/ +F: package/libgta/ +F: package/libiec61850/ F: package/libspatialindex/ F: package/linux-syscall-support/ +F: package/llvm-project/clang/ +F: package/llvm-project/libclc/ +F: package/llvm-project/llvm/ F: package/lugaru/ F: package/mcelog/ -F: package/openpowerlink/ +F: package/mesa3d/ +F: package/minetest/ +F: package/minetest-game/ +F: package/ogre/ F: package/physfs/ +F: package/piglit/ +F: package/python-libevdev/ +F: package/python-pkgconfig/ +F: package/python-tpm2-pytss/ +F: package/qemu/ +F: package/solarus/ F: package/stress-ng/ F: package/supertux/ +F: package/supertuxkart/ F: package/terminology/ +F: package/tk/ +F: package/tpm2-openssl/ F: package/upower/ +F: package/waffle/ F: package/xenomai/ +F: package/zziplib/ +F: support/testing/tests/package/sample_python_mako.py +F: support/testing/tests/package/sample_python_mako_ext.py +F: support/testing/tests/package/test_glxinfo.py +F: support/testing/tests/package/test_openssh.py +F: support/testing/tests/package/test_python_mako.py +F: toolchain/ -N: Romain Perier -F: package/amd-catalyst/ +N: Roy Kollen Svendsen +F: package/dlib/ +F: package/qt6/ -N: Ryan Barnett -F: package/atftp/ -F: package/miraclecast/ -F: package/python-pyasn/ -F: package/python-pycrypto/ -F: package/python-pysnmp/ -F: package/python-pysnmp-apps/ -F: package/python-pysnmp-mibs/ -F: package/python-tornado/ - -N: Ryan Coe -F: package/inadyn/ -F: package/libite/ -F: package/mariadb/ +N: Rufus Segar +F: package/agent-proxy/ N: Ryan Wilkins F: package/biosdevname/ -N: Rémi Rérolle -F: package/libfreeimage/ +N: Saeed Kazemi +F: package/eza/ +F: package/fd/ +F: package/parsec/ +F: package/parsec-tool/ +F: package/procs/ +F: package/mxt-app/ +F: package/zoxide/ -N: Sam Bobroff -F: arch/Config.in.powerpc -F: package/librtas/ +N: Sam Lancia +F: package/lrzip/ -N: Samuel Martin -F: package/armadillo/ -F: package/canfestival/ -F: package/clapack/ -F: package/cwiid/ -F: package/flite/ -F: package/nginx/ -F: package/opencv/ -F: package/opencv3/ -F: package/openobex/ -F: package/pkg-cmake.mk -F: package/python-numpy/ -F: package/scrub/ -F: package/urg/ -F: package/ussp-push/ -F: support/misc/toolchainfile.cmake.in - -N: Santosh Multhalli -F: package/valijson/ - -N: Scott Fan -F: package/libssh/ -F: package/x11r7/xdriver_xf86-video-fbturbo/ - -N: Sebastien Bourdelin -F: package/atf/ -F: package/cppunit/ -F: package/kyua/ -F: package/lutok/ -F: package/yaml-cpp/ +N: Sam Voss +F: package/ripgrep/ + +N: Sébastien Szymanski +F: board/armadeus/ +F: configs/armadeus* +F: package/nxp-bt-wifi-firmware/ +F: package/nxp-mwifiex/ +F: package/mmc-utils/ +F: package/python-flask-jsonrpc/ +F: package/python-flask-login/ +F: package/qt5/qt5charts/ +F: package/wlr-randr/ N: Semyon Kolganov F: package/fmt/ -F: package/libbson/ F: package/lua-resty-http/ F: package/mpir/ +N: Sen Hastings +F: package/systemd +F: support/scripts/pkg-stats + +N: Sergey Bobrenok +F: package/basu/ +F: package/sdbus-cpp/ + N: Sergey Matyukevich +F: boot/arm-trusted-firmware/ +F: board/linksprite/pcduino +F: board/orangepi/orangepi-5-plus +F: board/orangepi/orangepi-zero +F: board/orangepi/orangepi-one +F: board/orangepi/orangepi-pc-plus/ +F: board/orangepi/orangepi-zero-plus2/ +F: board/orangepi/orangepi-zero2w/ +F: configs/linksprite_pcduino_defconfig +F: configs/orangepi_5_plus_defconfig +F: configs/orangepi_one_defconfig +F: configs/orangepi_pc_plus_defconfig +F: configs/orangepi_zero_defconfig +F: configs/orangepi_zero_plus2_defconfig +F: configs/orangepi_zero2w_defconfig +F: package/armbian-firmware/ +F: package/hostapd/ +F: package/rtl8189fs/ +F: package/wpa_supplicant/ F: package/xr819-xradio/ N: Sergio Prado +F: package/aoetools/ +F: package/asn1c/ +F: package/azure-iot-sdk-c/ +F: package/curlpp/ +F: package/daq/ F: package/libgdiplus/ -F: package/mongodb/ +F: package/pimd/ +F: package/sloci-image/ F: package/stella/ +F: package/tio/ +F: package/traceroute/ F: package/tunctl/ F: package/ubus/ +F: package/wolfssl/ + +N: Shubham Chakraborty +F: package/ccache/ +F: package/dos2unix/ +F: package/hyperfine/ +F: package/pv/ N: Simon Dawson F: boot/at91bootstrap3/ @@ -1565,14 +3060,10 @@ F: package/czmq/ F: package/filemq/ F: package/googlefontdirectory/ F: package/jansson/ -F: package/jquery-ui/ -F: package/jquery-ui-themes/ -F: package/json-javascript/ F: package/lcdapi/ F: package/libfreefare/ F: package/libjson/ F: package/libnfc/ -F: package/libnfc/ F: package/libserial/ F: package/libsigsegv/ F: package/macchanger/ @@ -1583,9 +3074,7 @@ F: package/nanocom/ F: package/neard/ F: package/neardal/ F: package/owl-linux/ -F: package/python-nfc/ F: package/rapidjson/ -F: package/sconeserver/ F: package/sound-theme-borealis/ F: package/sound-theme-freedesktop/ F: package/vlc/ @@ -1593,20 +3082,36 @@ F: package/xscreensaver/ F: package/zmqpp/ F: package/zyre/ +N: Simon Doppler +F: board/seeed/ +F: configs/stm32mp157c_odyssey_defconfig + N: Spenser Gilliland F: arch/Config.in.microblaze F: package/a10disp/ F: package/glmark2/ F: package/libvpx/ F: package/mesa3d-demos/ -F: package/sunxi-mali/ F: package/ti-gfx/ -N: Stefan Fröberg -F: package/elfutils/ -F: package/libtasn1/ -F: package/proxychains-ng/ -F: package/yasm/ +N: Stefan Hager +F: package/cpuinfo/ +F: package/farmhash/ +F: package/fp16/ +F: package/fft2d/ +F: package/gemmlowp/ +F: package/psimd/ +F: package/pthreadpool/ +F: package/ruy/ +F: package/tensorflow-lite/ +F: package/xnnpack/ + +N: Stefan Nickl +F: board/freescale/imx8dxlevk/ +F: configs/freescale_imx8dxlevk_defconfig + +N: Stefan Ott +F: package/unbound/ N: Stefan Sørensen F: package/cracklib/ @@ -1616,9 +3121,14 @@ F: package/libscrypt/ N: Stephan Hoffmann F: package/cache-calibrator/ F: package/gtest/ +F: package/libhttpserver/ F: package/mtdev/ -F: package/mtdev2tuio/ -F: package/qtuio/ + +N: Stephane Viau +F: board/freescale/imx8mnevk/ +F: board/freescale/imx8mpevk/ +F: configs/freescale_imx8mnevk_defconfig +F: configs/freescale_imx8mpevk_defconfig N: Steve Calfee F: package/python-pymysql/ @@ -1630,83 +3140,97 @@ F: package/libcli/ N: Steve Kenton F: package/dvdauthor/ -F: package/dvdrw-tools/ F: package/memtest86/ F: package/mjpegtools/ -F: package/tovid/ +F: package/udftools/ F: package/xorriso/ -N: Steve Thomas -F: package/isl/ - N: Steven Noonan F: package/hwloc/ F: package/powertop/ -N: Sven Haardiek -F: package/lcdproc/ +N: Sven Oliver Moll +F: package/most/ -N: Sven Neumann -F: package/gstreamer1/gst1-libav/ +N: TIAN Yuanhao +F: package/cli11/ +F: package/libsolv/ +F: package/open-iscsi/ +F: package/open-isns/ +F: package/reproc/ +F: package/termcolor/ +F: package/tl-expected/ -N: Sven Neumann -F: package/glib-networking/ -F: package/libmms/ -F: package/orc/ +N: Takumi Takahashi +F: package/gsettings-desktop-schemas/ +F: package/libcanberra/ -N: Sébastien Szymanski -F: package/mmc-utils/ -F: package/python-flask-jsonrpc/ -F: package/python-flask-login/ +N: Tan En De +F: package/libkcapi/ N: Theo Debrouwere F: package/pugixml/ N: Thierry Bultel +F: package/dracut/ F: package/mpd-mpc/ N: Thijs Vermeir F: package/ranger/ F: package/x265/ +N: Thomas Bonnefille +F: board/pine64/star64 +F: configs/pine64_star64_defconfig + N: Thomas Claveirole F: package/fcgiwrap/ -N: Thomas Davis -F: package/civetweb/ +N: Thomas Devoogdt +F: package/fluent-bit/ +F: package/libsoup3/ +F: package/yq/ -N: Thomas De Schampheleire -F: docs/manual/ -F: package/opkg-utils/ -F: support/scripts/size-stats -F: utils/size-stats-compare -F: toolchain/ +N: Thomas Huth +F: package/ascii-invaders/ +F: package/kvm-unit-tests/ +F: package/xorcurses/ -N: Thomas Petazzoni +N: Thomas Perale +F: package/go/ +F: utils/generate-cyclonedx +F: support/scripts/cve-check +F: support/scripts/cve.py + +N: Thomas Petazzoni F: arch/Config.in.arm +F: board/stmicroelectronics/stm32mp157c-dk2/ F: boot/boot-wrapper-aarch64/ F: boot/grub2/ -F: boot/gummiboot/ +F: configs/stm32mp157c_dk2_defconfig F: package/android-tools/ F: package/b43-firmware/ F: package/b43-fwcutter/ +F: package/bmap-tools/ F: package/c-periphery/ F: package/cdrkit/ F: package/cifs-utils/ F: package/cloop/ F: package/cmake/ F: package/cramfs/ +F: package/cross-ldd/ F: package/dmidecode/ +F: package/double-conversion/ F: package/flashrom/ F: package/gcc/ F: package/genext2fs/ -F: package/genromfs/ F: package/getent/ F: package/gnu-efi/ F: package/heirloom-mailx/ -F: package/hiawatha/ F: package/igh-ethercat/ F: package/intltool/ +F: package/jh71xx-tools/ +F: package/libb2/ F: package/libcap/ F: package/libffi/ F: package/libsha1/ @@ -1719,57 +3243,182 @@ F: package/monit/ F: package/mpdecimal/ F: package/msmtp/ F: package/musl/ +F: package/musl-fts/ F: package/ne10/ +F: package/nodejs/ F: package/pkg-python.mk F: package/pkg-autotools.mk F: package/pkg-generic.mk -F: package/python/ F: package/python3/ -F: package/python-mad/ +F: package/python-augeas/ +F: package/python-crccheck/ +F: package/python-flask-expects-json/ +F: package/python-fs/ +F: package/python-git/ +F: package/python-pyfatfs/ +F: package/python-qrcode/ F: package/python-serial/ +F: package/python-unittest-xml-reporting/ F: package/qextserialport/ +F: package/qt6/ +F: package/riscv64-elf-toolchain/ F: package/rpcbind/ F: package/rt-tests/ +F: package/rtc-tools/ F: package/sam-ba/ F: package/scons/ +F: package/snagboot/ F: package/squashfs/ +F: package/tinifier/ F: package/wayland/ F: package/weston/ +F: support/testing/tests/boot/test_grub.py +F: support/testing/tests/boot/test_grub/ +F: support/testing/tests/boot/test_syslinux.py +F: support/testing/tests/package/sample_nodejs_basic.js +F: support/testing/tests/package/sample_nodejs_module.js +F: support/testing/tests/package/sample_python_augeas.py +F: support/testing/tests/package/sample_python_flask.py +F: support/testing/tests/package/sample_python_flask_expects_json.py +F: support/testing/tests/package/sample_python_git.py +F: support/testing/tests/package/sample_python_unittest_xml_reporting.py +F: support/testing/tests/package/test_nodejs.py +F: support/testing/tests/package/test_python_augeas.py +F: support/testing/tests/package/test_python_crccheck.py +F: support/testing/tests/package/test_python_flask.py +F: support/testing/tests/package/test_python_flask_expects_json.py +F: support/testing/tests/package/test_python_fs.py +F: support/testing/tests/package/test_python_git.py +F: support/testing/tests/package/test_python_pyfatfs.py +F: support/testing/tests/package/test_python_pyusb.py +F: support/testing/tests/package/test_python_serial.py +F: support/testing/tests/package/test_snagboot.py +F: support/testing/tests/package/test_python_unittest_xml_reporting.py +F: support/testing/tests/package/test_python_xmodem.py +F: support/testing/tests/toolchain/test_external_arm.py F: toolchain/ -N: Tiago Brusamarello -F: package/aer-inject/ +N: Timo Ketola +F: package/fbgrab/ + +N: Titouan Christophe +F: package/avro-c/ +F: package/mosquitto/ +F: package/python-avro/ +F: package/redis/ +F: package/waf/ +F: support/testing/tests/package/test_crudini.py +F: support/testing/tests/package/test_redis.py + +N: Tobias Waldekranz +F: package/kmemd/ + +N: Torben Voltmer +F: package/espflash/ + +N: Trammell Hudson +F: package/nqptp/ + +N: Tudor Holton +F: package/openjdk/ N: Tzu-Jung Lee F: package/dropwatch/ F: package/tstools/ +N: Uladzimir Bely +F: package/python-mpd2/ + +N: Vadim Kochan +F: package/brcm-patchram-plus/ +F: package/frr/ +F: package/gettext-tiny/ +F: package/tinyssh/ + +N: Valentin Korenblit +F: package/clinfo/ +F: package/llvm-project/clang/ +F: package/llvm-project/libclc/ +F: package/llvm-project/llvm/ + N: Vanya Sergeev F: package/lua-periphery/ -N: Vicente Olivert Riera -F: arch/Config.in.mips -F: package/gnupg2/ -F: package/hidapi/ -F: package/libfm/ -F: package/libfm-extra/ -F: package/libksba/ -F: package/menu-cache/ -F: package/openblas/ -F: package/openmpi/ -F: package/pinentry/ -F: package/trinity/ +N: Viacheslav Bocharov +F: package/rtl8822cs/ + +N: Victor Huesca +F: support/testing/tests/core/test_root_password.py + +N: Vincent Cruz +F: package/python-transitions/ + +N: Vincent Jardin +F: board/nvidia/bf3/ +F: configs/nvidia_bf3_defconfig +F: package/bfscripts/ +F: package/dpdk/ +F: package/libecoli/ +F: package/libnss-ato/ +F: package/libyang-cpp/ +F: package/sysrepo-cpp/ + +N: Vincent Prince +F: package/nss-myhostname/ +F: package/utp_com/ + +N: Vincent Stehlé +F: board/arm/fvp-ebbr/ +F: board/compulab/iot-gate-imx8-ebbr/ +F: board/pine64/rockpro64-ebbr/ +F: board/qemu/aarch64-ebbr/ +F: board/qemu/arm-ebbr/ +F: configs/arm_fvp_ebbr_defconfig +F: configs/iot-gate-imx8_ebbr_defconfig +F: configs/qemu_aarch64_ebbr_defconfig +F: configs/qemu_arm_ebbr_defconfig +F: configs/rockpro64_ebbr_defconfig +F: package/edk2-non-osi/ +F: support/testing/tests/boot/test_edk2.py N: Vincent Stehlé +F: arch/Config.in.hppa +F: arch/arch.mk.hppa +F: board/arm/foundation-v8/ +F: board/bananapi/bananapi-m2-zero/ +F: board/hp/9000/ +F: board/qemu/hppa-b160l/ +F: boot/palo/ +F: configs/arm_foundationv8_defconfig +F: configs/bananapi_m2_zero_defconfig +F: configs/hp_9000_defconfig +F: configs/qemu_hppa_b160l_defconfig +F: configs/uevm5432_defconfig F: package/i7z/ F: package/msr-tools/ F: package/pixz/ +F: package/zerofree/ +F: support/testing/tests/package/test_msr_tools* +F: support/testing/tests/package/test_pixz.py +F: support/testing/tests/package/test_xen.py +F: support/testing/tests/package/test_xen/ +F: support/testing/tests/package/test_zerofree.py N: Vinicius Tinti F: package/python-thrift/ +N: Vivien Didelot +F: board/technologic/ts5500/ +F: configs/ts5500_defconfig + +N: Vladimir Oltean +F: package/qoriq-ddr-phy-binary/ +F: package/qoriq-firmware-inphi/ +F: package/qoriq-mc-binary/ +F: package/qoriq-mc-utils/ +F: package/qoriq-restool/ + N: Volkov Viacheslav -F: package/rfkill/ F: package/v4l2grab/ F: package/zbar/ @@ -1777,28 +3426,34 @@ N: Wade Berrier F: package/ngrep/ N: Waldemar Brodkorb -F: arch/Config.in.bfin -F: arch/Config.in.m68k -F: arch/Config.in.or1k -F: arch/Config.in.sparc -F: package/glibc/ +F: board/qemu/riscv32-virt/ +F: board/stmicroelectronics/stm32f746-disco/ +F: configs/qemu_riscv32_nommu_virt_defconfig +F: configs/stm32f746_disco_sd_defconfig +F: package/asterisk/ +F: package/evilwm/ +F: package/fbv/ +F: package/libpam-pkcs11/ F: package/mksh/ +F: package/ruby/ F: package/uclibc/ F: package/uclibc-ng-test/ +F: support/testing/tests/package/test_ruby.py N: Will Newton F: package/enchant/ F: package/erlang/ F: package/libmicrohttpd/ -F: package/sysprof/ F: package/time/ -N: Will Newton -F: package/numactl/ - N: Will Wagner F: package/yaffs2utils/ +N: Witold Lipieta +F: package/python-segno/ +F: support/testing/tests/package/sample_python_segno.py +F: support/testing/tests/package/test_python_segno.py + N: Wojciech M. Zabolotny F: package/avrdude/ F: package/jack2/ @@ -1808,90 +3463,116 @@ F: package/python-pyusb/ N: Wojciech NiziÅ„ski F: package/fwup/ -N: Yann E. MORIN -F: fs/squashfs/ -F: package/cegui06/ -F: package/celt051/ -F: package/dtc/ -F: package/dtv-scan-tables/ -F: package/dvb-apps/ -F: package/freerdp/ -F: package/keyutils/ -F: package/libbsd/ -F: package/libedit/ -F: package/libgsm/ -F: package/libinput/ -F: package/libiscsi/ -F: package/libseccomp/ -F: package/linux-tools/ -F: package/mesa3d-headers/ -F: package/nbd/ -F: package/nut/ -F: package/nvidia-driver/ -F: package/omxplayer/ -F: package/python-pyparsing/ -F: package/pkg-download.mk -F: package/pkg-waf.mk -F: package/slirp/ -F: package/snappy/ -F: package/spice/ -F: package/spice-protocol/ -F: package/systemd/ -F: package/systemd-bootchart/ -F: package/tmux/ -F: package/tvheadend/ -F: package/usbredir/ -F: package/vde2/ -F: package/w_scan/ -F: package/wayland/ -F: package/weston/ -F: support/download/ +N: Woodrow Douglass +F: package/chicken +F: package/opencv4 +F: package/opencv4-contrib + +N: Xuanhao Shi +F: board/ti/am62x-sk/ +F: board/ti/am64x-sk/ +F: boot/ti-k3-boot-firmware/ +F: boot/ti-k3-r5-loader/ +F: configs/ti_am62x_sk_defconfig +F: configs/ti_am64x_sk_defconfig + +N: Xukai Wang +F: package/python-cloudpickle/ +F: package/python-farama-notifications/ +F: package/python-gymnasium/ +F: support/testing/tests/package/sample_python_cloudpickle.py +F: support/testing/tests/package/sample_python_farama_notifications.py +F: support/testing/tests/package/sample_python_gymnasium.py +F: support/testing/tests/package/test_python_cloudpickle.py +F: support/testing/tests/package/test_python_farama_notifications.py +F: support/testing/tests/package/test_python_gymnasium.py + +N: Yair Ben Avraham +F: package/casync/ +F: package/gloox/ +F: package/tpm2-pkcs11/ + +N: Yann E. MORIN +F: .editorconfig +F: package/gpsd/ +F: package/mosquitto/ +F: package/python-humanfriendly/ +F: package/skopeo/ N: Yegor Yefremov +F: configs/beaglebone_defconfig +F: configs/beaglebone_qt5_defconfig F: package/acl/ F: package/attr/ -F: package/bluez_utils/ +F: package/avrdude/ F: package/boost/ -F: package/bootstrap/ F: package/cannelloni/ F: package/can-utils/ F: package/circus/ +F: package/dhcpcd/ F: package/feh/ -F: package/giblib/ +F: package/hostapd/ F: package/imlib2/ -F: package/jquery-datetimepicker/ -F: package/jquery-sidebar/ F: package/kmod/ +F: package/libftdi1/ F: package/libical/ F: package/libmbim/ F: package/libndp/ F: package/libnftnl/ +F: package/libqmi/ +F: package/libqrtr-glib/ F: package/libsoc/ F: package/libsocketcan/ F: package/libubox/ F: package/libuci/ +F: package/libxmlb/ +F: package/libxmlrpc/ F: package/linux-firmware/ +F: package/linux-serial-test/ +F: package/lpac/ F: package/modem-manager/ +F: package/ncftp/ +F: package/nftables/ F: package/nuttcp/ F: package/parted/ F: package/phytool/ +F: package/poco/ F: package/python* F: package/ser2net/ F: package/socketcand/ +F: package/swig/ F: package/qt5/qt5serialbus/ F: package/sdparm/ F: package/ti-utils/ +F: package/wpa_supplicant/ F: package/x11r7/xapp_xconsole/ F: package/x11r7/xapp_xinput-calibrator/ F: package/zlog/ +F: support/testing/tests/package/sample_python_dicttoxml2.py +F: support/testing/tests/package/sample_python_dtschema.py +F: support/testing/tests/package/sample_python_munch.py +F: support/testing/tests/package/sample_python_pysmb.py +F: support/testing/tests/package/test_libftdi1.py +F: support/testing/tests/package/test_python_can.py +F: support/testing/tests/package/test_python_dicttoxml2.py +F: support/testing/tests/package/test_python_dtschema.py +F: support/testing/tests/package/test_python_munch.py +F: support/testing/tests/package/test_python_pysmb.py F: utils/scanpypi +N: Yunhao Tian +F: package/libopenaptx/ + N: Zoltan Gyarmati F: package/crudini/ F: package/grantlee/ -F: package/python-configobj/ +F: package/libusb/ +F: package/libusb-compat/ +F: package/proj/ F: package/python-iniparse/ -F: package/qjson/ +F: package/qt6/qt6core5compat/ F: package/quazip/ F: package/shapelib/ +F: package/simple-mail/ F: package/tinc/ +F: support/testing/tests/package/test_quazip.py diff --git a/Makefile b/Makefile index 02f7cda302a..25c93333d3a 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,6 @@ # Makefile for buildroot # -# Copyright (C) 1999-2005 by Erik Andersen -# Copyright (C) 2006-2014 by the Buildroot developers -# Copyright (C) 2014-2017 by the Buildroot developers +# Copyright (C) the Buildroot developers # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -60,16 +58,22 @@ override O := $(patsubst %/,%,$(patsubst %.,%,$(O))) # avoid empty CANONICAL_O in case on non-existing entry. CANONICAL_O := $(shell mkdir -p $(O) >/dev/null 2>&1)$(realpath $(O)) +# gcc fails to build when the srcdir contains a '@' +ifneq ($(findstring @,$(CANONICAL_O)),) +$(error The build directory can not contain a '@') +endif + CANONICAL_CURDIR = $(realpath $(CURDIR)) REQ_UMASK = 0022 +CUR_UMASK := $(shell umask) # Make sure O= is passed (with its absolute canonical path) everywhere the # toplevel makefile is called back. EXTRAMAKEARGS := O=$(CANONICAL_O) # Check Buildroot execution pre-requisites here. -ifneq ($(shell umask):$(CURDIR):$(O),$(REQ_UMASK):$(CANONICAL_CURDIR):$(CANONICAL_O)) +ifneq ($(CUR_UMASK):$(CURDIR):$(O),$(REQ_UMASK):$(CANONICAL_CURDIR):$(CANONICAL_O)) .PHONY: _all $(MAKECMDGOALS) $(MAKECMDGOALS): _all @@ -78,6 +82,7 @@ $(MAKECMDGOALS): _all _all: @umask $(REQ_UMASK) && \ $(MAKE) -C $(CANONICAL_CURDIR) --no-print-directory \ + BR_ORIG_UMASK=$(CUR_UMASK) \ $(MAKECMDGOALS) $(EXTRAMAKEARGS) else # umask / $(CURDIR) / $(O) @@ -87,9 +92,9 @@ all: .PHONY: all # Set and export the version string -export BR2_VERSION := 2017.11-git +export BR2_VERSION := 2026.05-rc1 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 1504300000 +BR2_VERSION_EPOCH = 1778593000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) @@ -100,22 +105,6 @@ ifneq ($(firstword $(sort $(RUNNING_MAKE_VERSION) $(MIN_MAKE_VERSION))),$(MIN_MA $(error You have make '$(RUNNING_MAKE_VERSION)' installed. GNU make >= $(MIN_MAKE_VERSION) is required) endif -# Parallel execution of this Makefile is disabled because it changes -# the packages building order, that can be a problem for two reasons: -# - If a package has an unspecified optional dependency and that -# dependency is present when the package is built, it is used, -# otherwise it isn't (but compilation happily proceeds) so the end -# result will differ if the order is swapped due to parallel -# building. -# - Also changing the building order can be a problem if two packages -# manipulate the same file in the target directory. -# -# Taking into account the above considerations, if you still want to execute -# this top-level Makefile in parallel comment the ".NOTPARALLEL" line and -# use the -j option when building, e.g: -# make -j$((`getconf _NPROCESSORS_ONLN`+1)) -.NOTPARALLEL: - # absolute path TOPDIR := $(CURDIR) CONFIG_CONFIG_IN = Config.in @@ -124,13 +113,20 @@ DATE := $(shell date +%Y%m%d) # Compute the full local version string so packages can use it as-is # Need to export it, so it can be got from environment in children (eg. mconf) -export BR2_VERSION_FULL := $(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlocalversion) + +BR2_LOCALVERSION := $(shell $(TOPDIR)/support/scripts/setlocalversion) +ifeq ($(BR2_LOCALVERSION),) +export BR2_VERSION_FULL := $(BR2_VERSION) +else +export BR2_VERSION_FULL := $(BR2_LOCALVERSION) +endif # List of targets and target patterns for which .config doesn't need to be read in noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \ - defconfig %_defconfig allyesconfig allnoconfig alldefconfig silentoldconfig release \ + defconfig %_defconfig allyesconfig allnoconfig alldefconfig syncconfig release \ randpackageconfig allyespackageconfig allnopackageconfig \ - print-version olddefconfig distclean manual manual-% + print-version olddefconfig distclean manual manual-% check-package \ + check-package-external # Some global targets do not trigger a build, but are used to collect # metadata, or do various checks. When such targets are triggered, @@ -141,12 +137,12 @@ noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconf # We're building in two situations: when MAKECMDGOALS is empty # (default target is to build), or when MAKECMDGOALS contains # something else than one of the nobuild_targets. -nobuild_targets := source %-source source-check \ +nobuild_targets := source %-source \ legal-info %-legal-info external-deps _external-deps \ clean distclean help show-targets graph-depends \ %-graph-depends %-show-depends %-show-version \ graph-build graph-size list-defconfigs \ - savedefconfig printvars + savedefconfig update-defconfig printvars show-vars ifeq ($(MAKECMDGOALS),) BR_BUILDING = y else ifneq ($(filter-out $(nobuild_targets),$(MAKECMDGOALS)),) @@ -190,16 +186,18 @@ $(if $(BASE_DIR),, $(error output directory "$(O)" does not exist)) # still be overridden on the command line, therefore the file is re-created # every time make is run. -BR2_EXTERNAL_FILE = $(BASE_DIR)/.br-external.mk +BR2_EXTERNAL_FILE = $(BASE_DIR)/.br2-external.mk -include $(BR2_EXTERNAL_FILE) -$(shell support/scripts/br2-external \ - -m -o '$(BR2_EXTERNAL_FILE)' $(BR2_EXTERNAL)) +$(shell support/scripts/br2-external -d '$(BASE_DIR)' $(BR2_EXTERNAL)) BR2_EXTERNAL_ERROR = include $(BR2_EXTERNAL_FILE) ifneq ($(BR2_EXTERNAL_ERROR),) $(error $(BR2_EXTERNAL_ERROR)) endif +# Workaround bug in make-4.3: https://savannah.gnu.org/bugs/?57676 +$(BASE_DIR)/.br2-external.mk:; + # To make sure that the environment variable overrides the .config option, # set this before including .config. ifneq ($(BR2_DL_DIR),) @@ -215,7 +213,8 @@ BR_GRAPH_OUT := $(or $(BR2_GRAPH_OUT),pdf) BUILD_DIR := $(BASE_DIR)/build BINARIES_DIR := $(BASE_DIR)/images -TARGET_DIR := $(BASE_DIR)/target +BASE_TARGET_DIR := $(BASE_DIR)/target +PER_PACKAGE_DIR := $(BASE_DIR)/per-package # initial definition so that 'make clean' works for most users, even without # .config. HOST_DIR will be overwritten later when .config is included. HOST_DIR := $(BASE_DIR)/host @@ -231,15 +230,6 @@ LEGAL_MANIFEST_CSV_HOST = $(LEGAL_INFO_DIR)/host-manifest.csv LEGAL_WARNINGS = $(LEGAL_INFO_DIR)/.warnings LEGAL_REPORT = $(LEGAL_INFO_DIR)/README -################################################################################ -# -# staging and target directories do NOT list these as -# dependencies anywhere else -# -################################################################################ -$(BUILD_DIR) $(TARGET_DIR) $(HOST_DIR) $(BINARIES_DIR) $(LEGAL_INFO_DIR) $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST): - @mkdir -p $@ - BR2_CONFIG = $(CONFIG_DIR)/.config # Pull in the user's configuration file @@ -247,17 +237,27 @@ ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) -include $(BR2_CONFIG) endif +ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),) +# Disable top-level parallel build if per-package directories is not +# used. Indeed, per-package directories is necessary to guarantee +# determinism and reproducibility with top-level parallel build. +.NOTPARALLEL: +endif + # timezone and locale may affect build output ifeq ($(BR2_REPRODUCIBLE),y) export TZ = UTC export LANG = C export LC_ALL = C -export GZIP = -n -BR2_VERSION_GIT_EPOCH = $(shell GIT_DIR=$(TOPDIR)/.git $(GIT) log -1 --format=%at) -export SOURCE_DATE_EPOCH = $(if $(wildcard $(TOPDIR)/.git),$(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH)) -DEPENDENCIES_HOST_PREREQ += host-fakedate endif +# we set a default value here to avoid a Kconfig warning about unset +# environment varilable. This option is passed as an environment +# variable to be controlled by autobuilders. The purpose is to test +# less frequently some uncommon configurations which tend to generate +# more build failures. +export BR2_HIDE_SECONDARY_TARGET_OPTIONS ?= n + # To put more focus on warnings, be less verbose as default # Use 'make V=1' to see the full commands ifeq ("$(origin V)", "command line") @@ -292,12 +292,16 @@ ifndef HOSTCC HOSTCC := gcc HOSTCC := $(shell which $(HOSTCC) || type -p $(HOSTCC) || echo gcc) endif +ifndef HOSTCC_NOCCACHE HOSTCC_NOCCACHE := $(HOSTCC) +endif ifndef HOSTCXX HOSTCXX := g++ HOSTCXX := $(shell which $(HOSTCXX) || type -p $(HOSTCXX) || echo g++) endif +ifndef HOSTCXX_NOCCACHE HOSTCXX_NOCCACHE := $(HOSTCXX) +endif ifndef HOSTCPP HOSTCPP := cpp endif @@ -355,14 +359,36 @@ export HOSTARCH := $(shell LC_ALL=C $(HOSTCC_NOCCACHE) -v 2>&1 | \ -e 's/macppc/powerpc/' \ -e 's/sh.*/sh/' ) -HOSTCC_VERSION := $(shell $(HOSTCC_NOCCACHE) --version | \ - sed -n -r 's/^.* ([0-9]*)\.([0-9]*)\.([0-9]*)[ ]*.*/\1 \2/p') +# When adding a new host gcc version in Config.in, +# update the HOSTCC_MAX_VERSION variable: +HOSTCC_MAX_VERSION := 15 + +HOSTCC_VERSION := $(shell V=$$($(HOSTCC_NOCCACHE) --version | \ + sed -n -r 's/^.* ([0-9]*)\.([0-9]*)\.([0-9]*)[ ]*.*/\1 \2/p'); \ + [ "$${V%% *}" -le $(HOSTCC_MAX_VERSION) ] || V=$(HOSTCC_MAX_VERSION); \ + printf "%s" "$${V}") # For gcc >= 5.x, we only need the major version. ifneq ($(firstword $(HOSTCC_VERSION)),4) HOSTCC_VERSION := $(firstword $(HOSTCC_VERSION)) endif +ifeq ($(BR2_NEEDS_HOST_UTF8_LOCALE),y) +# First, we try to use the user's configured locale (as that's the +# language they'd expect messages to be displayed), then we favour +# a non language-specific locale like C.UTF-8 if one is available, +# so we sort with the C locale to get it at the top. +# This is guaranteed to not be empty, because of the check in +# support/dependencies/dependencies.sh +HOST_UTF8_LOCALE := $(shell \ + ( echo $${LC_ALL:-$${LC_MESSAGES:-$${LANG}}}; \ + locale -a 2>/dev/null | LC_ALL=C sort \ + ) \ + | grep -i -E 'utf-?8$$' \ + | head -n 1) +HOST_UTF8_LOCALE_ENV := LC_ALL=$(HOST_UTF8_LOCALE) +endif + # Make sure pkg-config doesn't look outside the buildroot tree HOST_PKG_CONFIG_PATH := $(PKG_CONFIG_PATH) unexport PKG_CONFIG_PATH @@ -376,6 +402,9 @@ unexport DESTDIR # Causes breakage with packages that needs host-ruby unexport RUBYOPT +# Compilation of perl-related packages will fail otherwise +unexport PERL_MM_OPT + include package/pkg-utils.mk include package/doc-asciidoc.mk @@ -386,24 +415,28 @@ ifeq ($(BR2_HAVE_DOT_CONFIG),y) # Hide troublesome environment variables from sub processes # ################################################################################ -unexport CROSS_COMPILE +unexport AR unexport ARCH unexport CC -unexport LD -unexport AR -unexport CXX -unexport CPP -unexport RANLIB unexport CFLAGS +unexport CONFIG_SITE +unexport CPP +unexport CROSS_COMPILE +unexport CXX unexport CXXFLAGS +unexport DEVICE_TREE +unexport GCC_COLORS unexport GREP_OPTIONS -unexport TAR_OPTIONS -unexport CONFIG_SITE -unexport QMAKESPEC -unexport TERMINFO +unexport LD unexport MACHINE unexport O -unexport GCC_COLORS +unexport OS +unexport PLATFORM +unexport QMAKESPEC +unexport RANLIB +unexport TAR_OPTIONS +unexport TERMINFO +unexport TOPDIR GNU_HOST_NAME := $(shell support/gnuconfig/config.guess) @@ -415,29 +448,33 @@ QUIET := $(if $(findstring s,$(filter-out --%,$(MAKEFLAGS))),-q) # Strip off the annoying quoting ARCH := $(call qstrip,$(BR2_ARCH)) - -KERNEL_ARCH := $(shell echo "$(ARCH)" | sed -e "s/-.*//" \ - -e s/i.86/i386/ -e s/sun4u/sparc64/ \ - -e s/arcle/arc/ \ - -e s/arceb/arc/ \ - -e s/arm.*/arm/ -e s/sa110/arm/ \ - -e s/aarch64.*/arm64/ \ - -e s/bfin/blackfin/ \ - -e s/or1k/openrisc/ \ - -e s/parisc64/parisc/ \ - -e s/powerpc64.*/powerpc/ \ - -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \ - -e s/sh.*/sh/ \ - -e s/microblazeel/microblaze/) +NORMALIZED_ARCH := $(call qstrip,$(BR2_NORMALIZED_ARCH)) +KERNEL_ARCH := $(call qstrip,$(BR2_NORMALIZED_ARCH)) ZCAT := $(call qstrip,$(BR2_ZCAT)) BZCAT := $(call qstrip,$(BR2_BZCAT)) XZCAT := $(call qstrip,$(BR2_XZCAT)) LZCAT := $(call qstrip,$(BR2_LZCAT)) +ZSTDCAT := $(call qstrip,$(BR2_ZSTDCAT)) TAR_OPTIONS = $(call qstrip,$(BR2_TAR_OPTIONS)) -xf -# packages compiled for the host go here +ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y) +HOST_DIR = $(if $(PKG),$(PER_PACKAGE_DIR)/$($(PKG)_NAME)/host,$(call qstrip,$(BR2_HOST_DIR))) +TARGET_DIR = $(if $(ROOTFS),$(ROOTFS_$(ROOTFS)_TARGET_DIR),$(if $(PKG),$(PER_PACKAGE_DIR)/$($(PKG)_NAME)/target,$(BASE_TARGET_DIR))) +else HOST_DIR := $(call qstrip,$(BR2_HOST_DIR)) +TARGET_DIR = $(if $(ROOTFS),$(ROOTFS_$(ROOTFS)_TARGET_DIR),$(BASE_TARGET_DIR)) +endif + +ifneq ($(HOST_DIR),$(BASE_DIR)/host) +HOST_DIR_SYMLINK = $(BASE_DIR)/host +$(HOST_DIR_SYMLINK): | $(BASE_DIR) + ln -snf $(HOST_DIR) $(HOST_DIR_SYMLINK) +endif + +STAGING_DIR_SYMLINK = $(BASE_DIR)/staging +$(STAGING_DIR_SYMLINK): | $(BASE_DIR) + ln -snf $(STAGING_DIR) $(STAGING_DIR_SYMLINK) # Quotes are needed for spaces and all in the original PATH content. BR_PATH = "$(HOST_DIR)/bin:$(HOST_DIR)/sbin:$(PATH)" @@ -447,13 +484,12 @@ BR_PATH = "$(HOST_DIR)/bin:$(HOST_DIR)/sbin:$(PATH)" TARGET_DIR_WARNING_FILE = $(TARGET_DIR)/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM ifeq ($(BR2_CCACHE),y) -CCACHE := $(HOST_DIR)/bin/ccache +CCACHE = $(HOST_DIR)/bin/ccache BR_CACHE_DIR ?= $(call qstrip,$(BR2_CCACHE_DIR)) export BR_CACHE_DIR -HOSTCC := $(CCACHE) $(HOSTCC) -HOSTCXX := $(CCACHE) $(HOSTCXX) -else -export BR_NO_CCACHE +HOSTCC = $(CCACHE) $(HOSTCC_NOCCACHE) +HOSTCXX = $(CCACHE) $(HOSTCXX_NOCCACHE) +export BR2_USE_CCACHE ?= 1 endif # Scripts in support/ or post-build scripts may need to reference @@ -481,13 +517,21 @@ include Makefile.legacy include system/system.mk include package/Makefile.in -# arch/arch.mk.* must be after package/Makefile.in because it may need to +# arch/arch.mk must be after package/Makefile.in because it may need to # complement variables defined therein, like BR_NO_CHECK_HASH_FOR. --include $(wildcard arch/arch.mk.*) +include arch/arch.mk include support/dependencies/dependencies.mk -include toolchain/*.mk -include toolchain/*/*.mk +include $(sort $(wildcard toolchain/*.mk)) +include $(sort $(wildcard toolchain/*/*.mk)) + +ifeq ($(BR2_REPRODUCIBLE),y) +# If SOURCE_DATE_EPOCH has not been set then use the commit date, or the last +# release date if the source tree is not within a Git repository. +# See: https://reproducible-builds.org/specs/source-date-epoch/ +BR2_VERSION_GIT_EPOCH := $(shell $(GIT) log -1 --format=%at 2> /dev/null) +export SOURCE_DATE_EPOCH ?= $(or $(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH)) +endif # Include the package override file if one has been provided in the # configuration. @@ -518,20 +562,25 @@ include $(BR2_EXTERNAL_MKS) # # Only trigger the check for default builds. If the user forces building # a package, even if not enabled in the configuration, we want to accept -# it. +# it. However; we also want to be able to force checking the dependencies +# if the user so desires. Forcing a dependency check is useful in the case +# of test-pkg, as we want to make sure during testing, that a package has +# all the dependencies selected in the config file. # ifeq ($(MAKECMDGOALS),) +BR_FORCE_CHECK_DEPENDENCIES = YES +endif + +ifeq ($(BR_FORCE_CHECK_DEPENDENCIES),YES) define CHECK_ONE_DEPENDENCY ifeq ($$($(2)_TYPE),target) -ifeq ($$($(2)_IS_VIRTUAL),) ifneq ($$($$($(2)_KCONFIG_VAR)),y) $$(error $$($(2)_NAME) is in the dependency chain of $$($(1)_NAME) that \ has added it to its _DEPENDENCIES variable without selecting it or \ depending on it from Config.in) endif endif -endif endef $(foreach pkg,$(call UPPERCASE,$(PACKAGES)),\ @@ -540,96 +589,96 @@ $(foreach pkg,$(call UPPERCASE,$(PACKAGES)),\ endif -.PHONY: dirs -dirs: $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \ - $(HOST_DIR) $(HOST_DIR)/usr $(HOST_DIR)/lib $(BINARIES_DIR) - $(BUILD_DIR)/buildroot-config/auto.conf: $(BR2_CONFIG) - $(MAKE1) $(EXTRAMAKEARGS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTCXX="$(HOSTCXX_NOCCACHE)" silentoldconfig + $(MAKE1) $(EXTRAMAKEARGS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTCXX="$(HOSTCXX_NOCCACHE)" syncconfig .PHONY: prepare prepare: $(BUILD_DIR)/buildroot-config/auto.conf + @$(foreach s, $(call qstrip,$(BR2_ROOTFS_PRE_BUILD_SCRIPT)), \ + $(call MESSAGE,"Executing pre-build script $(s)"); \ + $(EXTRA_ENV) $(s) \ + $(TARGET_DIR) \ + $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS)) \ + $(call qstrip,$(BR2_ROOTFS_PRE_BUILD_SCRIPT_ARGS))$(sep)) .PHONY: world world: target-post-image -.PHONY: sdk -sdk: world - @$(call MESSAGE,"Rendering the SDK relocatable") - $(TOPDIR)/support/scripts/fix-rpath host - $(TOPDIR)/support/scripts/fix-rpath staging +.PHONY: prepare-sdk +prepare-sdk: world + @$(call MESSAGE,"Preparing the SDK") $(INSTALL) -m 755 $(TOPDIR)/support/misc/relocate-sdk.sh $(HOST_DIR)/relocate-sdk.sh + mkdir -p $(HOST_DIR)/share/buildroot + (\ + export LC_ALL=C; \ + grep -lr '$(HOST_DIR)' '$(HOST_DIR)' | while read -r FILE; do \ + if file -b --mime-type "$$FILE" | grep -q '^text/' && \ + [ "$$FILE" != '$(HOST_DIR)/share/buildroot/sdk-location' ] && \ + [ "$$FILE" != '$(HOST_DIR)/share/buildroot/sdk-relocs' ]; then \ + echo "$$FILE"; \ + fi; \ + done \ + ) | sed -e 's|^$(HOST_DIR)|.|g' > $(HOST_DIR)/share/buildroot/sdk-relocs echo $(HOST_DIR) > $(HOST_DIR)/share/buildroot/sdk-location -# Compatibility symlink in case a post-build script still uses $(HOST_DIR)/usr -$(HOST_DIR)/usr: $(HOST_DIR) - @ln -snf . $@ - -$(HOST_DIR)/lib: $(HOST_DIR) - @mkdir -p $@ - @case $(HOSTARCH) in \ - (*64) ln -snf lib $(@D)/lib64;; \ - (*) ln -snf lib $(@D)/lib32;; \ - esac - -# Populating the staging with the base directories is handled by the skeleton package -$(STAGING_DIR): - @mkdir -p $(STAGING_DIR) - @ln -snf $(STAGING_DIR) $(BASE_DIR)/staging +BR2_SDK_PREFIX ?= $(GNU_TARGET_NAME)_sdk-buildroot +.PHONY: sdk +sdk: prepare-sdk $(BR2_TAR_HOST_DEPENDENCY) + @$(call MESSAGE,"Generating SDK tarball") + $(if $(BR2_SDK_PREFIX),,$(error BR2_SDK_PREFIX can not be empty)) + $(Q)mkdir -p $(BINARIES_DIR) + $(TAR) czf "$(BINARIES_DIR)/$(BR2_SDK_PREFIX).tar.gz" \ + --owner=0 --group=0 --numeric-owner \ + --transform='s#^$(patsubst /%,%,$(HOST_DIR))#$(BR2_SDK_PREFIX)#' \ + -C / $(patsubst /%,%,$(HOST_DIR)) RSYNC_VCS_EXCLUSIONS = \ --exclude .svn --exclude .git --exclude .hg --exclude .bzr \ --exclude CVS -STRIP_FIND_CMD = find $(TARGET_DIR) -ifneq (,$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) -STRIP_FIND_CMD += \( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) -prune -o -endif -STRIP_FIND_CMD += -type f \( -perm /111 -o -name '*.so*' \) -# file exclusions: +# When stripping, obey to BR2_STRIP_EXCLUDE_DIRS and +# BR2_STRIP_EXCLUDE_FILES +STRIP_FIND_COMMON_CMD = \ + find $(TARGET_DIR) \ + $(if $(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS)), \ + \( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) \ + -prune -o \ + ) \ + $(if $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES)), \ + -not \( $(call findfileclauses,$(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) ) + +# Regular stripping for everything, except libpthread, ld-*.so and +# kernel modules: # - libpthread.so: a non-stripped libpthread shared library is needed for # proper debugging of pthread programs using gdb. # - ld.so: a non-stripped dynamic linker library is needed for valgrind # - kernel modules (*.ko): do not function properly when stripped like normal # applications and libraries. Normally kernel modules are already excluded -# by the executable permission check above, so the explicit exclusion is only +# by the executable permission check, so the explicit exclusion is only # done for kernel modules with incorrect permissions. -STRIP_FIND_CMD += -not \( $(call findfileclauses,libpthread*.so* ld-*.so* *.ko $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) -print0 - -ifeq ($(BR2_ECLIPSE_REGISTER),y) -define TOOLCHAIN_ECLIPSE_REGISTER - ./support/scripts/eclipse-register-toolchain `readlink -f $(O)` \ - $(notdir $(TARGET_CROSS)) $(BR2_ARCH) -endef -TARGET_FINALIZE_HOOKS += TOOLCHAIN_ECLIPSE_REGISTER -endif - -# Generate locale data. Basically, we call the localedef program -# (built by the host-localedef package) for each locale. The input -# data comes preferably from the toolchain, or if the toolchain does -# not have them (Linaro toolchains), we use the ones available on the -# host machine. +STRIP_FIND_CMD = \ + $(STRIP_FIND_COMMON_CMD) \ + -type f \( -perm /111 -o -name '*.so*' \) \ + -not \( $(call findfileclauses,libpthread*.so* ld-*.so* *.ko) \) \ + -print0 + +# Special stripping (only debugging symbols) for libpthread and ld-*.so. +STRIP_FIND_SPECIAL_LIBS_CMD = \ + $(STRIP_FIND_COMMON_CMD) \ + \( -name 'ld-*.so*' -o -name 'libpthread*.so*' \) \ + -print0 + +# Generate locale data. ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) GLIBC_GENERATE_LOCALES = $(call qstrip,$(BR2_GENERATE_LOCALE)) ifneq ($(GLIBC_GENERATE_LOCALES),) PACKAGES += host-localedef define GENERATE_GLIBC_LOCALES - $(Q)mkdir -p $(TARGET_DIR)/usr/lib/locale/ - $(Q)for locale in $(GLIBC_GENERATE_LOCALES) ; do \ - inputfile=`echo $${locale} | cut -f1 -d'.'` ; \ - charmap=`echo $${locale} | cut -f2 -d'.' -s` ; \ - if test -z "$${charmap}" ; then \ - charmap="UTF-8" ; \ - fi ; \ - echo "Generating locale $${inputfile}.$${charmap}" ; \ - I18NPATH=$(STAGING_DIR)/usr/share/i18n:/usr/share/i18n \ - $(HOST_DIR)/bin/localedef \ - --prefix=$(TARGET_DIR) \ - --$(call LOWERCASE,$(BR2_ENDIAN))-endian \ - -i $${inputfile} -f $${charmap} \ - $${locale} ; \ - done + +$(MAKE) -f support/misc/gen-glibc-locales.mk \ + ENDIAN=$(call LOWERCASE,$(BR2_ENDIAN)) \ + LOCALES="$(GLIBC_GENERATE_LOCALES)" \ + Q=$(Q) endef TARGET_FINALIZE_HOOKS += GENERATE_GLIBC_LOCALES endif @@ -645,11 +694,11 @@ LOCALE_NOPURGE = $(call qstrip,$(BR2_ENABLE_LOCALE_WHITELIST)) # in the whitelist file. If it doesn't, kill it. # Finally, specifically for X11, regenerate locale.dir from the whitelist. define PURGE_LOCALES - rm -f $(LOCALE_WHITELIST) - for i in $(LOCALE_NOPURGE) locale-archive; do echo $$i >> $(LOCALE_WHITELIST); done + printf '%s\n' $(LOCALE_NOPURGE) locale-archive > $(LOCALE_WHITELIST) - for dir in $(wildcard $(addprefix $(TARGET_DIR),/usr/share/locale /usr/share/X11/locale /usr/lib/locale)); \ + for dir in $(addprefix $(TARGET_DIR),/usr/share/locale /usr/share/X11/locale /usr/lib/locale); \ do \ + if [ ! -d $$dir ]; then continue; fi; \ for langdir in $$dir/*; \ do \ if [ -e "$${langdir}" ]; \ @@ -674,21 +723,46 @@ endif $(TARGETS_ROOTFS): target-finalize +# Avoid the rootfs name leaking down the dependency chain +target-finalize: ROOTFS= + +TARGET_DIR_FILES_LISTS = $(sort $(wildcard $(BUILD_DIR)/*/.files-list.txt)) +HOST_DIR_FILES_LISTS = $(sort $(wildcard $(BUILD_DIR)/*/.files-list-host.txt)) +STAGING_DIR_FILES_LISTS = $(sort $(wildcard $(BUILD_DIR)/*/.files-list-staging.txt)) + +.PHONY: host-finalize +host-finalize: $(PACKAGES) $(HOST_DIR) $(HOST_DIR_SYMLINK) + @$(call MESSAGE,"Finalizing host directory") + $(call per-package-rsync,$(sort $(PACKAGES)),host,$(HOST_DIR),copy) + $(Q)PARALLEL_JOBS=$(PARALLEL_JOBS) \ + PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) \ + $(TOPDIR)/support/scripts/fix-rpath host + $(Q)PARALLEL_JOBS=$(PARALLEL_JOBS) \ + PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) \ + $(TOPDIR)/support/scripts/fix-rpath staging + $(call ppd-fixup-paths,$(BASE_DIR)) + +.PHONY: staging-finalize +staging-finalize: $(STAGING_DIR_SYMLINK) + .PHONY: target-finalize -target-finalize: $(PACKAGES) +target-finalize: $(PACKAGES) $(TARGET_DIR) host-finalize @$(call MESSAGE,"Finalizing target directory") + $(call per-package-rsync,$(sort $(PACKAGES)),target,$(TARGET_DIR),copy) $(foreach hook,$(TARGET_FINALIZE_HOOKS),$($(hook))$(sep)) rm -rf $(TARGET_DIR)/usr/include $(TARGET_DIR)/usr/share/aclocal \ $(TARGET_DIR)/usr/lib/pkgconfig $(TARGET_DIR)/usr/share/pkgconfig \ - $(TARGET_DIR)/usr/lib/cmake $(TARGET_DIR)/usr/share/cmake + $(TARGET_DIR)/usr/lib/cmake $(TARGET_DIR)/usr/share/cmake \ + $(TARGET_DIR)/usr/lib/rpm $(TARGET_DIR)/usr/doc find $(TARGET_DIR)/usr/{lib,share}/ -name '*.cmake' -print0 | xargs -0 rm -f find $(TARGET_DIR)/lib/ $(TARGET_DIR)/usr/lib/ $(TARGET_DIR)/usr/libexec/ \ - \( -name '*.a' -o -name '*.la' \) -print0 | xargs -0 rm -f + \( -name '*.a' -o -name '*.la' -o -name '*.prl' \) -print0 | xargs -0 rm -f ifneq ($(BR2_PACKAGE_GDB),y) rm -rf $(TARGET_DIR)/usr/share/gdb endif ifneq ($(BR2_PACKAGE_BASH),y) rm -rf $(TARGET_DIR)/usr/share/bash-completion + rm -rf $(TARGET_DIR)/etc/bash_completion.d endif ifneq ($(BR2_PACKAGE_ZSH),y) rm -rf $(TARGET_DIR)/usr/share/zsh @@ -698,20 +772,12 @@ endif rm -rf $(TARGET_DIR)/usr/doc $(TARGET_DIR)/usr/share/doc rm -rf $(TARGET_DIR)/usr/share/gtk-doc rmdir $(TARGET_DIR)/usr/share 2>/dev/null || true - $(STRIP_FIND_CMD) | xargs -0 $(STRIPCMD) 2>/dev/null || true - -# See http://sourceware.org/gdb/wiki/FAQ, "GDB does not see any threads -# besides the one in which crash occurred; or SIGTRAP kills my program when -# I set a breakpoint" -ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) - find $(TARGET_DIR)/lib/ -type f -name 'libpthread*.so*' | \ - xargs -r $(STRIPCMD) $(STRIP_STRIP_DEBUG) +ifneq ($(BR2_ENABLE_DEBUG):$(BR2_STRIP_strip),y:) + rm -rf $(TARGET_DIR)/lib/debug $(TARGET_DIR)/usr/lib/debug endif + $(STRIP_FIND_CMD) | xargs -0 $(STRIPCMD) 2>/dev/null || true + $(STRIP_FIND_SPECIAL_LIBS_CMD) | xargs -0 -r $(STRIPCMD) $(STRIP_STRIP_DEBUG) 2>/dev/null || true -# Valgrind needs ld.so with enough information, so only strip -# debugging symbols. - find $(TARGET_DIR)/lib/ -type f -name 'ld-*.so*' | \ - xargs -r $(STRIPCMD) $(STRIP_STRIP_DEBUG) test -f $(TARGET_DIR)/etc/ld.so.conf && \ { echo "ERROR: we shouldn't have a /etc/ld.so.conf file"; exit 1; } || true test -d $(TARGET_DIR)/etc/ld.so.conf.d && \ @@ -723,26 +789,61 @@ endif echo "ID=buildroot"; \ echo "VERSION_ID=$(BR2_VERSION)"; \ echo "PRETTY_NAME=\"Buildroot $(BR2_VERSION)\"" \ - ) > $(TARGET_DIR)/etc/os-release + ) > $(TARGET_DIR)/usr/lib/os-release + ln -sf ../usr/lib/os-release $(TARGET_DIR)/etc @$(call MESSAGE,"Sanitizing RPATH in target tree") - $(TOPDIR)/support/scripts/fix-rpath target - - @$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \ - $(call MESSAGE,"Copying overlay $(d)"); \ - rsync -a --ignore-times --keep-dirlinks $(RSYNC_VCS_EXCLUSIONS) \ - --chmod=u=rwX,go=rX --exclude .empty --exclude '*~' \ - $(d)/ $(TARGET_DIR)$(sep)) - - @$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_BUILD_SCRIPT)), \ - $(call MESSAGE,"Executing post-build script $(s)"); \ - $(EXTRA_ENV) $(s) $(TARGET_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep)) + PARALLEL_JOBS=$(PARALLEL_JOBS) \ + PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) \ + $(TOPDIR)/support/scripts/fix-rpath target + +# For a merged /usr, ensure that /lib, /bin and /sbin and their /usr +# counterparts are appropriately setup as symlinks ones to the others. + @$(call MESSAGE,"Sanity check in overlays $(call qstrip,$(BR2_ROOTFS_OVERLAY))") + support/scripts/check-merged \ + -t overlay \ + $(if $(BR2_ROOTFS_MERGED_USR),-u) \ + $(if $(BR2_ROOTFS_MERGED_BIN),-b) \ + $(call qstrip,$(BR2_ROOTFS_OVERLAY)) + + $(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \ + @$(call MESSAGE,"Copying overlay $(d)")$(sep) \ + $(Q)$(call SYSTEM_RSYNC,$(d),$(TARGET_DIR))$(sep)) + + $(Q)$(if $(TARGET_DIR_FILES_LISTS), \ + cat $(TARGET_DIR_FILES_LISTS)) > $(BUILD_DIR)/packages-file-list.txt + $(Q)$(if $(HOST_DIR_FILES_LISTS), \ + cat $(HOST_DIR_FILES_LISTS)) > $(BUILD_DIR)/packages-file-list-host.txt + $(Q)$(if $(STAGING_DIR_FILES_LISTS), \ + cat $(STAGING_DIR_FILES_LISTS)) > $(BUILD_DIR)/packages-file-list-staging.txt + + $(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_BUILD_SCRIPT)), \ + @$(call MESSAGE,"Executing post-build script $(s)")$(sep) \ + $(Q)$(EXTRA_ENV) $(s) \ + $(TARGET_DIR) \ + $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS)) \ + $(call qstrip,$(BR2_ROOTFS_POST_BUILD_SCRIPT_ARGS))$(sep)) + + touch $(TARGET_DIR)/usr + +# Note: this will run in the filesystem context, so will use a copy +# of target/, not the real one, so the files are still available on +# re-builds (foo-rebuild, etc...) +define ROOTFS_RM_HWDB_DATA + rm -rf $(TARGET_DIR)/usr/lib/udev/hwdb.d/ $(TARGET_DIR)/etc/udev/hwdb.d/ +endef +ROOTFS_PRE_CMD_HOOKS += ROOTFS_RM_HWDB_DATA .PHONY: target-post-image -target-post-image: $(TARGETS_ROOTFS) target-finalize +target-post-image: $(TARGETS_ROOTFS) target-finalize staging-finalize + @rm -f $(ROOTFS_COMMON_TAR) + $(Q)mkdir -p $(BINARIES_DIR) @$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \ $(call MESSAGE,"Executing post-image script $(s)"); \ - $(EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep)) + $(EXTRA_ENV) $(s) \ + $(BINARIES_DIR) \ + $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS)) \ + $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS))$(sep)) .PHONY: source source: $(foreach p,$(PACKAGES),$(p)-all-source) @@ -752,10 +853,6 @@ _external-deps: $(foreach p,$(PACKAGES),$(p)-all-external-deps) external-deps: @$(MAKE1) -Bs $(EXTRAMAKEARGS) _external-deps | sort -u -# check if download URLs are outdated -.PHONY: source-check -source-check: $(foreach p,$(PACKAGES),$(p)-all-source-check) - .PHONY: legal-info-clean legal-info-clean: @rm -fr $(LEGAL_INFO_DIR) @@ -763,15 +860,15 @@ legal-info-clean: .PHONY: legal-info-prepare legal-info-prepare: $(LEGAL_INFO_DIR) @$(call MESSAGE,"Buildroot $(BR2_VERSION_FULL) Collecting legal info") - @$(call legal-license-file,buildroot,buildroot,support/legal-info,COPYING,COPYING,HOST) - @$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,TARGET) - @$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,HOST) - @$(call legal-manifest,buildroot,$(BR2_VERSION_FULL),GPL-2.0+,COPYING,not saved,not saved,HOST) + @$(call legal-license-file,HOST,buildroot,buildroot,COPYING,COPYING,support/legal-info/buildroot.hash) + @$(call legal-manifest,TARGET,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,DEPENDENCIES WITH LICENSES) + @$(call legal-manifest,HOST,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,DEPENDENCIES WITH LICENSES) + @$(call legal-manifest,HOST,buildroot,$(BR2_VERSION_FULL),GPL-2.0+,COPYING,not saved,not saved) @$(call legal-warning,the Buildroot source code has not been saved) @cp $(BR2_CONFIG) $(LEGAL_INFO_DIR)/buildroot.config .PHONY: legal-info -legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p)-all-legal-info) \ +legal-info: legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p)-all-legal-info) \ $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST) @cat support/legal-info/README.header >>$(LEGAL_REPORT) @if [ -r $(LEGAL_WARNINGS) ]; then \ @@ -787,7 +884,7 @@ legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p .PHONY: show-targets show-targets: - @echo $(PACKAGES) $(TARGETS_ROOTFS) + @echo $(sort $(PACKAGES)) $(sort $(TARGETS_ROOTFS)) .PHONY: show-build-order show-build-order: $(patsubst %,%-show-build-order,$(PACKAGES)) @@ -803,6 +900,9 @@ graph-build: $(O)/build/build-time.log --type=pie-$(t) --input=$(<) \ --output=$(GRAPHS_DIR)/build.pie-$(t).$(BR_GRAPH_OUT) \ $(if $(BR2_GRAPH_ALT),--alternate-colors)$(sep)) + ./support/scripts/graph-build-time --type=timeline --input=$(<) \ + --output=$(GRAPHS_DIR)/build.timeline.$(BR_GRAPH_OUT) \ + $(if $(BR2_GRAPH_ALT),--alternate-colors) .PHONY: graph-depends-requirements graph-depends-requirements: @@ -825,13 +925,37 @@ graph-size: $(Q)$(TOPDIR)/support/scripts/size-stats --builddir $(BASE_DIR) \ --graph $(GRAPHS_DIR)/graph-size.$(BR_GRAPH_OUT) \ --file-size-csv $(GRAPHS_DIR)/file-size-stats.csv \ - --package-size-csv $(GRAPHS_DIR)/package-size-stats.csv + --package-size-csv $(GRAPHS_DIR)/package-size-stats.csv \ + $(BR2_GRAPH_SIZE_OPTS) .PHONY: check-dependencies check-dependencies: @cd "$(CONFIG_DIR)"; \ $(TOPDIR)/support/scripts/graph-depends -C +.PHONY: show-info +show-info: + @: + $(info $(call clean-json, \ + { $(foreach p, \ + $(sort $(foreach i,$(PACKAGES) $(TARGETS_ROOTFS), \ + $(i) \ + $($(call UPPERCASE,$(i))_FINAL_RECURSIVE_DEPENDENCIES) \ + ) \ + ), \ + $(call json-info,$(call UPPERCASE,$(p)))$(comma) \ + ) } \ + ) \ + ) + +.PHONY: pkg-stats +pkg-stats: + @cd "$(CONFIG_DIR)" ; \ + $(TOPDIR)/support/scripts/pkg-stats -c \ + --json $(O)/pkg-stats.json \ + --html $(O)/pkg-stats.html \ + --nvd-path $(DL_DIR)/buildroot-nvd + else # ifeq ($(BR2_HAVE_DOT_CONFIG),y) # Some subdirectories are also package names. To avoid that "make linux" @@ -851,9 +975,6 @@ endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y) HOSTCFLAGS = $(CFLAGS_FOR_BUILD) export HOSTCFLAGS -.PHONY: prepare-kconfig -prepare-kconfig: outputmakefile $(BUILD_DIR)/.br2-external.in - $(BUILD_DIR)/buildroot-config/%onf: mkdir -p $(@D)/lxdialog PKG_CONFIG_PATH="$(HOST_PKG_CONFIG_PATH)" $(MAKE) CC="$(HOSTCC_NOCCACHE)" HOSTCC="$(HOSTCC_NOCCACHE)" \ @@ -870,22 +991,22 @@ COMMON_CONFIG_ENV = \ KCONFIG_TRISTATE=$(BUILD_DIR)/buildroot-config/tristate.config \ BR2_CONFIG=$(BR2_CONFIG) \ HOST_GCC_VERSION="$(HOSTCC_VERSION)" \ - BUILD_DIR=$(BUILD_DIR) \ + BASE_DIR=$(BASE_DIR) \ SKIP_LEGACY= -xconfig: $(BUILD_DIR)/buildroot-config/qconf prepare-kconfig +xconfig: $(BUILD_DIR)/buildroot-config/qconf outputmakefile @$(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN) -gconfig: $(BUILD_DIR)/buildroot-config/gconf prepare-kconfig +gconfig: $(BUILD_DIR)/buildroot-config/gconf outputmakefile @$(COMMON_CONFIG_ENV) srctree=$(TOPDIR) $< $(CONFIG_CONFIG_IN) -menuconfig: $(BUILD_DIR)/buildroot-config/mconf prepare-kconfig +menuconfig: $(BUILD_DIR)/buildroot-config/mconf outputmakefile @$(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN) -nconfig: $(BUILD_DIR)/buildroot-config/nconf prepare-kconfig +nconfig: $(BUILD_DIR)/buildroot-config/nconf outputmakefile @$(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN) -config: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig +config: $(BUILD_DIR)/buildroot-config/conf outputmakefile @$(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN) # For the config targets that automatically select options, we pass @@ -893,11 +1014,11 @@ config: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig # no values are set for the legacy options so a subsequent oldconfig # will query them. Therefore, run an additional olddefconfig. -randconfig allyesconfig alldefconfig allnoconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig +randconfig allyesconfig alldefconfig allnoconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile @$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --$@ $(CONFIG_CONFIG_IN) @$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null -randpackageconfig allyespackageconfig allnopackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig +randpackageconfig allyespackageconfig allnopackageconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile @grep -v BR2_PACKAGE_ $(BR2_CONFIG) > $(CONFIG_DIR)/.config.nopkg @$(COMMON_CONFIG_ENV) SKIP_LEGACY=y \ KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \ @@ -905,27 +1026,34 @@ randpackageconfig allyespackageconfig allnopackageconfig: $(BUILD_DIR)/buildroot @rm -f $(CONFIG_DIR)/.config.nopkg @$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null -oldconfig silentoldconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig +oldconfig syncconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile @$(COMMON_CONFIG_ENV) $< --$@ $(CONFIG_CONFIG_IN) -defconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig +defconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile @$(COMMON_CONFIG_ENV) $< --defconfig$(if $(DEFCONFIG),=$(DEFCONFIG)) $(CONFIG_CONFIG_IN) -define percent_defconfig -# Override the BR2_DEFCONFIG from COMMON_CONFIG_ENV with the new defconfig -%_defconfig: $(BUILD_DIR)/buildroot-config/conf $(1)/configs/%_defconfig prepare-kconfig - @$$(COMMON_CONFIG_ENV) BR2_DEFCONFIG=$(1)/configs/$$@ \ - $$< --defconfig=$(1)/configs/$$@ $$(CONFIG_CONFIG_IN) -endef -$(eval $(foreach d,$(call reverse,$(TOPDIR) $(BR2_EXTERNAL_DIRS)),$(call percent_defconfig,$(d))$(sep))) - -savedefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig +%_defconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile + @defconfig=$(or \ + $(firstword \ + $(foreach d, \ + $(call reverse,$(TOPDIR) $(BR2_EXTERNAL_DIRS)), \ + $(wildcard $(d)/configs/$@) \ + ) \ + ), \ + $(error "Can't find $@") \ + ); \ + $(COMMON_CONFIG_ENV) BR2_DEFCONFIG=$${defconfig} \ + $< --defconfig=$${defconfig} $(CONFIG_CONFIG_IN) + +update-defconfig: savedefconfig + +savedefconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile @$(COMMON_CONFIG_ENV) $< \ --savedefconfig=$(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig) \ $(CONFIG_CONFIG_IN) - @$(SED) '/BR2_DEFCONFIG=/d' $(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig) + @$(SED) '/^BR2_DEFCONFIG=/d' $(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig) -.PHONY: defconfig savedefconfig +.PHONY: defconfig savedefconfig update-defconfig ################################################################################ # @@ -933,6 +1061,11 @@ savedefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig # ################################################################################ +# staging and target directories do NOT list these as +# dependencies anywhere else +$(BASE_DIR) $(BUILD_DIR) $(BASE_TARGET_DIR) $(HOST_DIR) $(BINARIES_DIR) $(LEGAL_INFO_DIR) $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST) $(PER_PACKAGE_DIR): + @mkdir -p $@ + # outputmakefile generates a Makefile in the output directory, if using a # separate output directory. This allows convenient use of make in the # output directory. @@ -942,33 +1075,58 @@ ifeq ($(NEED_WRAPPER),y) $(Q)$(TOPDIR)/support/scripts/mkmakefile $(TOPDIR) $(O) endif -# Even though the target is a real file, we mark it as PHONY as we -# want it to be re-generated each time make is invoked, in case the -# value of BR2_EXTERNAL is changed. -.PHONY: $(BUILD_DIR)/.br2-external.in -$(BUILD_DIR)/.br2-external.in: $(BUILD_DIR) - $(Q)support/scripts/br2-external -k -o "$(@)" $(BR2_EXTERNAL) - # printvars prints all the variables currently defined in our # Makefiles. Alternatively, if a non-empty VARS variable is passed, # only the variables matching the make pattern passed in VARS are # displayed. +# show-vars does the same, but as a JSON dictionnary. +# +# Note: we iterate of .VARIABLES and filter each variable individually, +# to workaround a bug in make 4.3; see https://savannah.gnu.org/bugs/?59093 .PHONY: printvars printvars: - @:$(foreach V, \ - $(sort $(if $(VARS),$(filter $(VARS),$(.VARIABLES)),$(.VARIABLES))), \ +ifndef VARS + $(error Please pass a non-empty VARS to 'make printvars') +endif + @: + $(foreach V, \ + $(sort $(foreach X, $(.VARIABLES), $(filter $(VARS),$(X)))), \ $(if $(filter-out environment% default automatic, \ $(origin $V)), \ $(if $(QUOTED_VARS),\ $(info $V='$(subst ','\'',$(if $(RAW_VARS),$(value $V),$($V)))'), \ $(info $V=$(if $(RAW_VARS),$(value $V),$($V)))))) -# ' Syntax colouring... +# ')))) # Syntax colouring... + +# See details above, same as for printvars +.PHONY: show-vars +show-vars: VARS?=% +show-vars: + @: + $(foreach i, \ + $(call clean-json, { \ + $(foreach V, \ + $(.VARIABLES), \ + $(and $(filter $(VARS),$(V)) \ + , \ + $(filter-out environment% default automatic, $(origin $V)) \ + , \ + "$V": { \ + "expanded": $(call mk-json-str,$($V))$(comma) \ + "raw": $(call mk-json-str,$(value $V)) \ + }$(comma) \ + ) \ + ) \ + } ) \ + , \ + $(info $(i)) \ + ) .PHONY: clean clean: - rm -rf $(TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) \ + rm -rf $(BASE_TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) $(HOST_DIR_SYMLINK) \ $(BUILD_DIR) $(BASE_DIR)/staging \ - $(LEGAL_INFO_DIR) $(GRAPHS_DIR) + $(LEGAL_INFO_DIR) $(GRAPHS_DIR) $(PER_PACKAGE_DIR) $(O)/pkg-stats.* .PHONY: distclean distclean: clean @@ -976,7 +1134,7 @@ ifeq ($(O),$(CURDIR)/output) rm -rf $(O) endif rm -rf $(TOPDIR)/dl $(BR2_CONFIG) $(CONFIG_DIR)/.config.old $(CONFIG_DIR)/..config.tmp \ - $(CONFIG_DIR)/.auto.deps $(BR2_EXTERNAL_FILE) + $(CONFIG_DIR)/.auto.deps $(BASE_DIR)/.br2-external.* .PHONY: help help: @@ -995,12 +1153,13 @@ help: @echo ' xconfig - interactive Qt-based configurator' @echo ' gconfig - interactive GTK-based configurator' @echo ' oldconfig - resolve any unresolved symbols in .config' - @echo ' silentoldconfig - Same as oldconfig, but quietly, additionally update deps' - @echo ' olddefconfig - Same as silentoldconfig but sets new symbols to their default value' + @echo ' syncconfig - Same as oldconfig, but quietly, additionally update deps' + @echo ' olddefconfig - Same as syncconfig but sets new symbols to their default value' @echo ' randconfig - New config with random answer to all options' - @echo ' defconfig - New config with default answer to all options' - @echo ' BR2_DEFCONFIG, if set, is used as input' + @echo ' defconfig - New config with default answer to all options;' + @echo ' BR2_DEFCONFIG, if set on the command line, is used as input' @echo ' savedefconfig - Save current config to BR2_DEFCONFIG (minimal config)' + @echo ' update-defconfig - Same as savedefconfig' @echo ' allyesconfig - New config where all options are accepted with yes' @echo ' allnoconfig - New config where all options are answered with no' @echo ' alldefconfig - New config where all options are set to default' @@ -1016,13 +1175,22 @@ help: @echo ' -depends - Build '\''s dependencies' @echo ' -configure - Build up to the configure step' @echo ' -build - Build up to the build step' + @echo ' -show-info - generate info about , as a JSON blurb' @echo ' -show-depends - List packages on which depends' @echo ' -show-rdepends - List packages which have as a dependency' + @echo ' -show-recursive-depends' + @echo ' - Recursively list packages on which depends' + @echo ' -show-recursive-rdepends' + @echo ' - Recursively list packages which have as a dependency' @echo ' -graph-depends - Generate a graph of '\''s dependencies' @echo ' -graph-rdepends - Generate a graph of '\''s reverse dependencies' + @echo ' -graph-both-depends' + @echo ' - Generate a graph of both '\''s forward and' + @echo ' reverse dependencies.' @echo ' -dirclean - Remove build directory' @echo ' -reconfigure - Restart the build from the configure step' @echo ' -rebuild - Restart the build from the build step' + @echo ' -reinstall - Restart the build from the install step' $(foreach p,$(HELP_PACKAGES), \ @echo $(sep) \ @echo '$($(p)_NAME):' $(sep) \ @@ -1042,10 +1210,13 @@ help: @echo @echo 'Miscellaneous:' @echo ' source - download all sources needed for offline-build' - @echo ' source-check - check selected packages for valid download URLs' @echo ' external-deps - list external packages used' @echo ' legal-info - generate info about license compliance' - @echo ' printvars - dump all the internal variables' + @echo ' show-info - generate info about packages, as a JSON blurb' + @echo ' pkg-stats - generate info about packages as JSON and HTML' + @echo ' printvars - dump internal variables selected with VARS=...' + @echo ' show-vars - dump all internal variables as a JSON blurb; use VARS=...' + @echo ' to limit the list to variables names matching that pattern' @echo @echo ' make V=0|1 - 0 => quiet build (default), 1 => verbose build' @echo ' make O=dir - Locate all output files in "dir", including .config' @@ -1059,17 +1230,17 @@ help: # $(2): br2-external name, empty for bundled define list-defconfigs @first=true; \ - for defconfig in $(1)/configs/*_defconfig; do \ + for defconfig in $$([ -d $(1)/configs ] && find $(1)/configs -name '*_defconfig' |sort); do \ [ -f "$${defconfig}" ] || continue; \ if $${first}; then \ if [ "$(2)" ]; then \ - printf 'External configs in "$(call qstrip,$(2))":\n'; \ + printf 'External configs in "%s":\n' "$(call qstrip,$(2))"; \ else \ printf "Built-in configs:\n"; \ fi; \ first=false; \ fi; \ - defconfig="$${defconfig##*/}"; \ + defconfig="$${defconfig#$(1)/configs/}"; \ printf " %-35s - Build for %s\n" "$${defconfig}" "$${defconfig%_defconfig}"; \ done; \ $${first} || printf "\n" @@ -1090,25 +1261,52 @@ release: OUT = buildroot-$(BR2_VERSION) # documentation to the git output release: git archive --format=tar --prefix=$(OUT)/ HEAD > $(OUT).tar - $(MAKE) O=$(OUT) manual-html manual-text manual-pdf - $(MAKE) O=$(OUT) manual-clean - tar rf $(OUT).tar $(OUT) - gzip -9 -c < $(OUT).tar > $(OUT).tar.gz - bzip2 -9 -c < $(OUT).tar > $(OUT).tar.bz2 + SOURCE_DATE_EPOCH=$$(git log -1 --format=%at 2> /dev/null) \ + $(MAKE) O=$(OUT) manual-html manual-text manual-pdf + $(MAKE) O=$(OUT) distclean + tar rf $(OUT).tar --owner=0 --group=0 \ + --mtime="$$(git log -1 --pretty=format:%ci)" $(OUT) + gzip -9 -n -c < $(OUT).tar > $(OUT).tar.gz + xz -9 -c < $(OUT).tar > $(OUT).tar.xz rm -rf $(OUT) $(OUT).tar print-version: @echo $(BR2_VERSION_FULL) -.PHONY: .gitlab-ci.yml -.gitlab-ci.yml: .gitlab-ci.yml.in - cp $< $@ - (cd configs; LC_ALL=C ls -1 *_defconfig) | sed 's/$$/: *defconfig/' >> $@ - ./support/testing/run-tests -l 2>&1 | sed -r -e '/^test_run \((.*)\).*/!d; s//\1: *runtime_test/' | LC_ALL=C sort >> $@ +# $(1): br2-external path +# $(2): br2-external description +define check-package-external + @$(call MESSAGE,"Checking packages in $(2)") + $(Q)if [ -r "$(1)/.checkpackageignore" ]; then \ + ignore="--ignore-list=$(1)/.checkpackageignore" ; \ + else \ + ignore=""; \ + fi ; \ + $(TOPDIR)/utils/check-package \ + --br2-external $${ignore} \ + `git -C $(1) ls-tree -r --format='$(1)/%(path)' HEAD` +endef + +check-package: + $(Q)./utils/check-package `git ls-tree -r --name-only HEAD` \ + --ignore-list=$(TOPDIR)/.checkpackageignore + +check-package-external: + $(foreach name,$(BR2_EXTERNAL_NAMES),\ + $(call check-package-external,$(BR2_EXTERNAL_$(name)_PATH),\ + $(BR2_EXTERNAL_$(name)_DESC))$(sep)) + +.PHONY: .checkpackageignore +.checkpackageignore: + $(Q)./utils/check-package --failed-only `git ls-tree -r --name-only HEAD` \ + > .checkpackageignore include docs/manual/manual.mk --include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(dir)/docs/*/*.mk) +-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(sort $(wildcard $(dir)/docs/*/*.mk))) .PHONY: $(noconfig_targets) +# .WAIT was introduced in make 4.4. For older make, define it as phony. +.PHONY: .WAIT + endif #umask / $(CURDIR) / $(O) diff --git a/README b/README index c6172524d78..143b476be6a 100644 --- a/README +++ b/README @@ -3,7 +3,7 @@ Linux systems through cross-compilation. The documentation can be found in docs/manual. You can generate a text document with 'make manual-text' and read output/docs/manual/manual.text. -Online documentation can be found at http://buildroot.org/docs.html +Online documentation can be found at https://buildroot.org/docs.html To build and use the buildroot stuff, do the following: @@ -20,7 +20,7 @@ Buildroot comes with a basic configuration for a number of boards. Run Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org -You can also find us on #buildroot on Freenode IRC. +You can also find us on #buildroot on OFTC IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000000..6b21ffd2b97 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,36 @@ +# Security Policy + +## Security advisories + +Advisories for Buildroot security vulnerabilities are reported on the +developer's mailing list. A public archive can be consulted on +https://lists.buildroot.org/mailman/listinfo/buildroot + +Buildroot itself has a CPE to track its published vulnerabilities: +https://nvd.nist.gov/products/cpe/search/results?namingFormat=2.3&keyword=buildroot + +The Buildroot project provides some ways for its users to track known +vulnerabilites in the packages included in the generated images, see: +- https://nightly.buildroot.org/manual.html#_details_about_packages + +In addition, detailed informations for all packages integrated with Buildroot +are updated daily on the following public web pages: +- https://security.buildroot.org/ +- https://autobuild.buildroot.org/stats/ + +## Reporting a Vulnerability + +To report a security vulnerability found in the Buildroot build system itself, +please send an email to [security@buildroot.org](mailto:security@buildroot.org). + +This is a private mailing list contacting the Buildroot maintainers only. + +## Vulnerabilities in packages + +Buildroot is a build system that cross-compiles packages from third-party +sources. The Buildroot developers are not responsible for security +vulnerabilities in these packages. Such vulnerabilities should be reported +directly to the upstream project that maintains the affected package. + +When vulnerabilities are fixed upstream, send a patch to update the affected +packages in Buildroot. diff --git a/arch/Config.in b/arch/Config.in index c10bf168097..624b5e9d21d 100644 --- a/arch/Config.in +++ b/arch/Config.in @@ -9,10 +9,7 @@ config BR2_KERNEL_64_USERLAND_32 config BR2_SOFT_FLOAT bool -config BR2_ARCH_HAS_MMU_MANDATORY - bool - -config BR2_ARCH_HAS_MMU_OPTIONAL +config BR2_USE_MMU bool config BR2_ARCH_HAS_FDPIC_SUPPORT @@ -26,42 +23,37 @@ choice config BR2_arcle bool "ARC (little endian)" - select BR2_ARCH_HAS_MMU_MANDATORY - help - Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs - that can be used from deeply embedded to high performance host - applications. Little endian. - -config BR2_arceb - bool "ARC (big endian)" - select BR2_ARCH_HAS_MMU_MANDATORY + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS + select BR2_USE_MMU help - Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs - that can be used from deeply embedded to high performance host - applications. Big endian. + Synopsys' DesignWare ARC Processor Cores are a family of + 32-bit CPUs that can be used from deeply embedded to high + performance host applications. Little endian. config BR2_arm bool "ARM (little endian)" # MMU support is set by the subarchitecture file, arch/Config.in.arm help - ARM is a 32-bit reduced instruction set computer (RISC) instruction - set architecture (ISA) developed by ARM Holdings. Little endian. + ARM is a 32-bit reduced instruction set computer (RISC) + instruction set architecture (ISA) developed by ARM Holdings. + Little endian. http://www.arm.com/ http://en.wikipedia.org/wiki/ARM config BR2_armeb bool "ARM (big endian)" - # MMU support is set by the subarchitecture file, arch/Config.in.arm + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS + select BR2_USE_MMU help - ARM is a 32-bit reduced instruction set computer (RISC) instruction - set architecture (ISA) developed by ARM Holdings. Big endian. + ARM is a 32-bit reduced instruction set computer (RISC) + instruction set architecture (ISA) developed by ARM Holdings. + Big endian. http://www.arm.com/ http://en.wikipedia.org/wiki/ARM config BR2_aarch64 bool "AArch64 (little endian)" select BR2_ARCH_IS_64 - select BR2_ARCH_HAS_MMU_MANDATORY help Aarch64 is a 64-bit architecture developed by ARM Holdings. http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php @@ -69,40 +61,43 @@ config BR2_aarch64 config BR2_aarch64_be bool "AArch64 (big endian)" + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS select BR2_ARCH_IS_64 - select BR2_ARCH_HAS_MMU_MANDATORY help Aarch64 is a 64-bit architecture developed by ARM Holdings. http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php http://en.wikipedia.org/wiki/ARM -config BR2_bfin - bool "Blackfin" - select BR2_ARCH_HAS_FDPIC_SUPPORT - help - The Blackfin is a family of 16 or 32-bit microprocessors developed, - manufactured and marketed by Analog Devices. - http://www.analog.com/ - http://en.wikipedia.org/wiki/Blackfin - -config BR2_csky - bool "csky" - select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT - select BR2_ARCH_HAS_MMU_MANDATORY +config BR2_hppa + bool "HPPA" + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS + select BR2_USE_MMU help - csky is processor IP from china. - http://www.c-sky.com/ - http://www.github.com/c-sky + Precision Architecture (a.k.a. PA-RISC) is a 32-bit + (big endian) architecture developed by Hewlett Packard. + https://en.wikipedia.org/wiki/PA-RISC config BR2_i386 bool "i386" - select BR2_ARCH_HAS_MMU_MANDATORY + select BR2_USE_MMU help Intel i386 architecture compatible microprocessor http://en.wikipedia.org/wiki/I386 +config BR2_loongarch64 + bool "LoongArch64" + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS + select BR2_USE_MMU + select BR2_ARCH_IS_64 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_12 + help + LoongArch64 is 64-bit architecture developed by Loongson. + http://www.loongson.cn/ + https://en.wikipedia.org/wiki/Loongson + config BR2_m68k bool "m68k" + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS # MMU support is set by the subarchitecture file, arch/Config.in.m68k help Motorola 68000 family microprocessor @@ -110,132 +105,162 @@ config BR2_m68k config BR2_microblazeel bool "Microblaze AXI (little endian)" - select BR2_ARCH_HAS_MMU_MANDATORY + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS + select BR2_USE_MMU help - Soft processor core designed for Xilinx FPGAs from Xilinx. AXI bus - based architecture (little endian) + Soft processor core designed for Xilinx FPGAs from Xilinx. AXI + bus based architecture (little endian) http://www.xilinx.com http://en.wikipedia.org/wiki/Microblaze config BR2_microblazebe bool "Microblaze non-AXI (big endian)" - select BR2_ARCH_HAS_MMU_MANDATORY + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS + select BR2_USE_MMU help - Soft processor core designed for Xilinx FPGAs from Xilinx. PLB bus - based architecture (non-AXI, big endian) + Soft processor core designed for Xilinx FPGAs from Xilinx. PLB + bus based architecture (non-AXI, big endian) http://www.xilinx.com http://en.wikipedia.org/wiki/Microblaze config BR2_mips bool "MIPS (big endian)" - select BR2_ARCH_HAS_MMU_MANDATORY + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS + select BR2_USE_MMU help - MIPS is a RISC microprocessor from MIPS Technologies. Big endian. + MIPS is a RISC microprocessor from MIPS Technologies. Big + endian. http://www.mips.com/ http://en.wikipedia.org/wiki/MIPS_Technologies config BR2_mipsel bool "MIPS (little endian)" - select BR2_ARCH_HAS_MMU_MANDATORY + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS + select BR2_USE_MMU help - MIPS is a RISC microprocessor from MIPS Technologies. Little endian. + MIPS is a RISC microprocessor from MIPS Technologies. Little + endian. http://www.mips.com/ http://en.wikipedia.org/wiki/MIPS_Technologies config BR2_mips64 bool "MIPS64 (big endian)" + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS select BR2_ARCH_IS_64 - select BR2_ARCH_HAS_MMU_MANDATORY + select BR2_USE_MMU help - MIPS is a RISC microprocessor from MIPS Technologies. Big endian. + MIPS is a RISC microprocessor from MIPS Technologies. Big + endian. http://www.mips.com/ http://en.wikipedia.org/wiki/MIPS_Technologies config BR2_mips64el bool "MIPS64 (little endian)" select BR2_ARCH_IS_64 - select BR2_ARCH_HAS_MMU_MANDATORY + select BR2_USE_MMU help - MIPS is a RISC microprocessor from MIPS Technologies. Little endian. + MIPS is a RISC microprocessor from MIPS Technologies. Little + endian. http://www.mips.com/ http://en.wikipedia.org/wiki/MIPS_Technologies -config BR2_nios2 - bool "Nios II" - select BR2_ARCH_HAS_MMU_MANDATORY - help - Nios II is a soft core processor from Altera Corporation. - http://www.altera.com/ - http://en.wikipedia.org/wiki/Nios_II - config BR2_or1k bool "OpenRISC" - select BR2_ARCH_HAS_MMU_MANDATORY + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS + select BR2_USE_MMU help OpenRISC is a free and open processor for embedded system. http://openrisc.io config BR2_powerpc bool "PowerPC" - select BR2_ARCH_HAS_MMU_MANDATORY + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS + select BR2_USE_MMU help - PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance. - Big endian. + PowerPC is a RISC architecture created by Apple-IBM-Motorola + alliance. Big endian. http://www.power.org/ http://en.wikipedia.org/wiki/Powerpc config BR2_powerpc64 bool "PowerPC64 (big endian)" + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS select BR2_ARCH_IS_64 - select BR2_ARCH_HAS_MMU_MANDATORY + select BR2_USE_MMU help - PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance. - Big endian. + PowerPC is a RISC architecture created by Apple-IBM-Motorola + alliance. Big endian. http://www.power.org/ http://en.wikipedia.org/wiki/Powerpc config BR2_powerpc64le bool "PowerPC64 (little endian)" select BR2_ARCH_IS_64 - select BR2_ARCH_HAS_MMU_MANDATORY + select BR2_USE_MMU help - PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance. - Little endian. + PowerPC is a RISC architecture created by Apple-IBM-Motorola + alliance. Little endian. http://www.power.org/ http://en.wikipedia.org/wiki/Powerpc +config BR2_riscv + bool "RISCV" + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 + help + RISC-V is an open, free Instruction Set Architecture created + by the UC Berkeley Architecture Research group and supported + and promoted by RISC-V Foundation. + https://riscv.org/ + https://en.wikipedia.org/wiki/RISC-V + +config BR2_s390x + bool "s390x" + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS + select BR2_ARCH_IS_64 + select BR2_USE_MMU + help + s390x is a big-endian architecture made by IBM. + http://www.ibm.com/ + http://en.wikipedia.org/wiki/IBM_System/390 + config BR2_sh bool "SuperH" - select BR2_ARCH_HAS_MMU_OPTIONAL + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS + select BR2_USE_MMU help - SuperH (or SH) is a 32-bit reduced instruction set computer (RISC) - instruction set architecture (ISA) developed by Hitachi. + SuperH (or SH) is a 32-bit reduced instruction set computer + (RISC) instruction set architecture (ISA) developed by + Hitachi. http://www.hitachi.com/ http://en.wikipedia.org/wiki/SuperH config BR2_sparc bool "SPARC" - select BR2_ARCH_HAS_MMU_MANDATORY + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS + select BR2_USE_MMU help - SPARC (from Scalable Processor Architecture) is a RISC instruction - set architecture (ISA) developed by Sun Microsystems. + SPARC (from Scalable Processor Architecture) is a RISC + instruction set architecture (ISA) developed by Sun + Microsystems. http://www.oracle.com/sun http://en.wikipedia.org/wiki/Sparc config BR2_sparc64 bool "SPARC64" + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS select BR2_ARCH_IS_64 - select BR2_ARCH_HAS_MMU_MANDATORY + select BR2_USE_MMU help - SPARC (from Scalable Processor Architecture) is a RISC instruction - set architecture (ISA) developed by Sun Microsystems. + SPARC (from Scalable Processor Architecture) is a RISC + instruction set architecture (ISA) developed by Sun + Microsystems. http://www.oracle.com/sun http://en.wikipedia.org/wiki/Sparc config BR2_x86_64 bool "x86_64" select BR2_ARCH_IS_64 - select BR2_ARCH_HAS_MMU_MANDATORY + select BR2_USE_MMU help x86-64 is an extension of the x86 instruction set (Intel i386 architecture compatible microprocessor). @@ -243,6 +268,7 @@ config BR2_x86_64 config BR2_xtensa bool "Xtensa" + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS # MMU support is set by the subarchitecture file, arch/Config.in.xtensa help Xtensa is a Tensilica processor IP architecture. @@ -261,11 +287,71 @@ config BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT bool default y if !BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT +# The following symbols are selected by the individual +# Config.in.$ARCH files +config BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 + bool + +config BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 + +config BR2_ARCH_NEEDS_GCC_AT_LEAST_5 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 + +config BR2_ARCH_NEEDS_GCC_AT_LEAST_6 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 + +config BR2_ARCH_NEEDS_GCC_AT_LEAST_7 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 + +config BR2_ARCH_NEEDS_GCC_AT_LEAST_8 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 + +config BR2_ARCH_NEEDS_GCC_AT_LEAST_9 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 + +config BR2_ARCH_NEEDS_GCC_AT_LEAST_10 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 + +config BR2_ARCH_NEEDS_GCC_AT_LEAST_11 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_10 + +config BR2_ARCH_NEEDS_GCC_AT_LEAST_12 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 + +config BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_12 + +config BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + +config BR2_ARCH_NEEDS_GCC_AT_LEAST_15 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + +config BR2_ARCH_NEEDS_GCC_AT_LEAST_16 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_15 + # The following string values are defined by the individual # Config.in.$ARCH files config BR2_ARCH string +config BR2_NORMALIZED_ARCH + string + config BR2_ENDIAN string @@ -284,9 +370,6 @@ config BR2_GCC_TARGET_FP32_MODE config BR2_GCC_TARGET_CPU string -config BR2_GCC_TARGET_CPU_REVISION - string - # The value of this option will be passed as --with-fpu= when # building gcc (internal backend) or -mfpu= in the toolchain # wrapper (external toolchain) @@ -299,6 +382,12 @@ config BR2_GCC_TARGET_FPU config BR2_GCC_TARGET_FLOAT_ABI string +# The value of this option will be passed as --with-simd= when +# building gcc (internal backend) or -simd= in the toolchain +# wrapper (external toolchain) +config BR2_GCC_TARGET_SIMD + string + # The value of this option will be passed as --with-mode= when # building gcc (internal backend) or -m in the toolchain # wrapper (external toolchain) @@ -315,80 +404,7 @@ config BR2_BINFMT_SUPPORTS_SHARED config BR2_READELF_ARCH_NAME string -# Set up target binary format -choice - prompt "Target Binary Format" - default BR2_BINFMT_ELF if BR2_USE_MMU - default BR2_BINFMT_FDPIC if BR2_ARCH_HAS_FDPIC_SUPPORT - default BR2_BINFMT_FLAT - -config BR2_BINFMT_ELF - bool "ELF" - depends on BR2_USE_MMU - select BR2_BINFMT_SUPPORTS_SHARED - help - ELF (Executable and Linkable Format) is a format for libraries and - executables used across different architectures and operating - systems. - -config BR2_BINFMT_FDPIC - bool "FDPIC" - depends on BR2_ARCH_HAS_FDPIC_SUPPORT - select BR2_BINFMT_SUPPORTS_SHARED - help - ELF FDPIC binaries are based on ELF, but allow the individual load - segments of a binary to be located in memory independently of each - other. This makes this format ideal for use in environments where no - MMU is available. - -config BR2_BINFMT_FLAT - bool "FLAT" - depends on !BR2_USE_MMU - help - FLAT binary is a relatively simple and lightweight executable format - based on the original a.out format. It is widely used in environment - where no MMU is available. - -endchoice - -# Set up flat binary type -choice - prompt "FLAT Binary type" - depends on BR2_BINFMT_FLAT - default BR2_BINFMT_FLAT_ONE - -config BR2_BINFMT_FLAT_ONE - bool "One memory region" - help - All segments are linked into one memory region. - -config BR2_BINFMT_FLAT_SEP_DATA - bool "Separate data and code region" - # this FLAT binary type technically exists on m68k, but fails - # to build numerous packages: due to architecture limitation, - # big functions cannot be built in this mode. They cause build - # failures such as "Tried to convert PC relative branch to - # absolute jump" or "error: value -yyyyy out of range". - depends on BR2_bfin - help - Allow for the data and text segments to be separated and placed in - different regions of memory. - -config BR2_BINFMT_FLAT_SHARED - bool "Shared binary" - depends on BR2_m68k || BR2_bfin - # Even though this really generates shared binaries, there is no libdl - # and dlopen() cannot be used. So packages that require shared - # libraries cannot be built. Therefore, we don't select - # BR2_BINFMT_SUPPORTS_SHARED and therefore force BR2_STATIC_LIBS. - # Although this adds -static to the compilation, that's not a problem - # because the -mid-shared-library option overrides it. - help - Allow to load and link indiviual FLAT binaries at run time. - -endchoice - -if BR2_arcle || BR2_arceb +if BR2_arcle source "arch/Config.in.arc" endif @@ -396,12 +412,12 @@ if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be source "arch/Config.in.arm" endif -if BR2_bfin -source "arch/Config.in.bfin" +if BR2_hppa +source "arch/Config.in.hppa" endif -if BR2_csky -source "arch/Config.in.csky" +if BR2_loongarch64 +source "arch/Config.in.loongarch" endif if BR2_m68k @@ -416,10 +432,6 @@ if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el source "arch/Config.in.mips" endif -if BR2_nios2 -source "arch/Config.in.nios2" -endif - if BR2_or1k source "arch/Config.in.or1k" endif @@ -428,6 +440,14 @@ if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le source "arch/Config.in.powerpc" endif +if BR2_riscv +source "arch/Config.in.riscv" +endif + +if BR2_s390x +source "arch/Config.in.s390x" +endif + if BR2_sh source "arch/Config.in.sh" endif @@ -444,4 +464,39 @@ if BR2_xtensa source "arch/Config.in.xtensa" endif +# Set up target binary format +choice + prompt "Target Binary Format" + default BR2_BINFMT_ELF if BR2_USE_MMU + default BR2_BINFMT_FLAT + +config BR2_BINFMT_ELF + bool "ELF" + depends on BR2_USE_MMU + select BR2_BINFMT_SUPPORTS_SHARED + help + ELF (Executable and Linkable Format) is a format for libraries + and executables used across different architectures and + operating systems. + +config BR2_BINFMT_FDPIC + bool "FDPIC" + depends on BR2_ARCH_HAS_FDPIC_SUPPORT + select BR2_BINFMT_SUPPORTS_SHARED + help + ELF FDPIC binaries are based on ELF, but allow the individual + load segments of a binary to be located in memory + independently of each other. This makes this format ideal for + use in environments where no MMU is available. + +config BR2_BINFMT_FLAT + bool "FLAT" + depends on !BR2_USE_MMU + help + FLAT binary is a relatively simple and lightweight executable + format based on the original a.out format. It is widely used + in environment where no MMU is available. + +endchoice + endmenu # Target options diff --git a/arch/Config.in.arc b/arch/Config.in.arc index 92503a01400..f250ae5eeb4 100644 --- a/arch/Config.in.arc +++ b/arch/Config.in.arc @@ -1,9 +1,9 @@ choice prompt "Target CPU" - depends on BR2_arc default BR2_arc770d + depends on BR2_arc help - Specific CPU to use + Specific CPU to use config BR2_arc750d bool "ARC 750D" @@ -13,34 +13,77 @@ config BR2_arc770d config BR2_archs38 bool "ARC HS38" + help + Generic ARC HS capable of running Linux, i.e. with MMU, + caches and 32-bit multiplier. Also it corresponds to the + default configuration in older GNU toolchain versions. + +config BR2_archs38_64mpy + bool "ARC HS38 with 64-bit mpy" + help + Fully featured ARC HS capable of running Linux, i.e. with + MMU, caches and 64-bit multiplier. + + If you're not sure which version of ARC HS core you build + for use this one. + +config BR2_archs38_full + bool "ARC HS38 with Quad MAC & FPU" + help + Fully featured ARC HS with additional support for + - Dual- and quad multiply and MC operations + - Double-precision FPU + + It corresponds to "hs38_slc_full" ARC HS template in + ARChitect. + +config BR2_archs4x_rel31 + bool "ARC HS48 rel 31" + help + Build for HS48 release 3.1 + +config BR2_archs4x + bool "ARC HS48" + help + Latest release of HS48 processor + - Dual and Quad multiply and MAC operations + - Double-precision FPU endchoice # Choice of atomic instructions presence config BR2_ARC_ATOMIC_EXT bool "Atomic extension (LLOCK/SCOND instructions)" - default y if BR2_arc770d || BR2_archs38 + default y if BR2_arc770d + default y if BR2_archs38 || BR2_archs38_64mpy || BR2_archs38_full + default y if BR2_archs4x_rel31 || BR2_archs4x config BR2_ARCH - default "arc" if BR2_arcle - default "arceb" if BR2_arceb + default "arc" + +config BR2_NORMALIZED_ARCH + default "arc" config BR2_arc bool - default y if BR2_arcle || BR2_arceb + default y config BR2_ENDIAN - default "LITTLE" if BR2_arcle - default "BIG" if BR2_arceb + default "LITTLE" config BR2_GCC_TARGET_CPU default "arc700" if BR2_arc750d default "arc700" if BR2_arc770d default "archs" if BR2_archs38 + default "hs38" if BR2_archs38_64mpy + default "hs38_linux" if BR2_archs38_full + default "hs4x_rel31" if BR2_archs4x_rel31 + default "hs4x" if BR2_archs4x config BR2_READELF_ARCH_NAME default "ARCompact" if BR2_arc750d || BR2_arc770d - default "ARCv2" if BR2_archs38 + default "ARCv2" if BR2_archs38 || BR2_archs38_64mpy || BR2_archs38_full + default "ARCv2" if BR2_archs4x_rel31 || BR2_archs4x choice prompt "MMU Page Size" @@ -60,7 +103,7 @@ choice config BR2_ARC_PAGE_SIZE_4K bool "4KB" - depends on BR2_arc770d || BR2_archs38 + depends on !BR2_arc750d config BR2_ARC_PAGE_SIZE_8K bool "8KB" @@ -70,7 +113,7 @@ config BR2_ARC_PAGE_SIZE_8K config BR2_ARC_PAGE_SIZE_16K bool "16KB" - depends on BR2_arc770d || BR2_archs38 + depends on !BR2_arc750d endchoice @@ -79,3 +122,6 @@ config BR2_ARC_PAGE_SIZE default "4K" if BR2_ARC_PAGE_SIZE_4K default "8K" if BR2_ARC_PAGE_SIZE_8K default "16K" if BR2_ARC_PAGE_SIZE_16K + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.arm b/arch/Config.in.arm index 09916df7ad8..5c9037c9597 100644 --- a/arch/Config.in.arm +++ b/arch/Config.in.arm @@ -6,12 +6,21 @@ config BR2_ARM_CPU_HAS_NEON config BR2_ARM_CPU_MAYBE_HAS_NEON bool +# For some cores, the FPU is optional +config BR2_ARM_CPU_MAYBE_HAS_FPU + bool + +config BR2_ARM_CPU_HAS_FPU + bool + # for some cores, VFPv2 is optional config BR2_ARM_CPU_MAYBE_HAS_VFPV2 bool + select BR2_ARM_CPU_MAYBE_HAS_FPU config BR2_ARM_CPU_HAS_VFPV2 bool + select BR2_ARM_CPU_HAS_FPU # for some cores, VFPv3 is optional config BR2_ARM_CPU_MAYBE_HAS_VFPV3 @@ -31,6 +40,24 @@ config BR2_ARM_CPU_HAS_VFPV4 bool select BR2_ARM_CPU_HAS_VFPV3 +# FPv4 is always optional +config BR2_ARM_CPU_MAYBE_HAS_FPV4 + bool + select BR2_ARM_CPU_MAYBE_HAS_FPU + +config BR2_ARM_CPU_HAS_FPV4 + bool + select BR2_ARM_CPU_HAS_FPU + +# FPv5 is always optional +config BR2_ARM_CPU_MAYBE_HAS_FPV5 + bool + select BR2_ARM_CPU_MAYBE_HAS_FPV4 + +config BR2_ARM_CPU_HAS_FPV5 + bool + select BR2_ARM_CPU_HAS_FPV4 + config BR2_ARM_CPU_HAS_FP_ARMV8 bool select BR2_ARM_CPU_HAS_VFPV4 @@ -46,88 +73,113 @@ config BR2_ARM_CPU_HAS_THUMB2 config BR2_ARM_CPU_ARMV4 bool + select BR2_USE_MMU config BR2_ARM_CPU_ARMV5 bool + select BR2_USE_MMU config BR2_ARM_CPU_ARMV6 bool + select BR2_USE_MMU config BR2_ARM_CPU_ARMV7A bool + select BR2_USE_MMU config BR2_ARM_CPU_ARMV7M bool + select BR2_ARCH_HAS_FDPIC_SUPPORT + +config BR2_ARM_CPU_ARMV8A + bool + select BR2_USE_MMU -config BR2_ARM_CPU_ARMV8 +# Armv9.0-A base specification is a super-set of Armv8.5-A. It is +# fully compatible with Armv8. This symbol is defined to allow checks +# for doing Armv9 optimization. Armv8 is also selected for +# compatibility. +config BR2_ARM_CPU_ARMV9A bool + select BR2_ARM_CPU_ARMV8A choice prompt "Target Architecture Variant" + default BR2_cortex_a53 if BR2_ARCH_IS_64 default BR2_arm926t help Specific CPU variant to use +if !BR2_ARCH_IS_64 +comment "armv4 cores" + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS config BR2_arm920t bool "arm920t" + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS select BR2_ARM_CPU_HAS_ARM select BR2_ARM_CPU_HAS_THUMB select BR2_ARM_CPU_ARMV4 - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_arm922t bool "arm922t" + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS select BR2_ARM_CPU_HAS_ARM select BR2_ARM_CPU_HAS_THUMB select BR2_ARM_CPU_ARMV4 - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 +config BR2_fa526 + bool "fa526/626" + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS + select BR2_ARM_CPU_HAS_ARM + select BR2_ARM_CPU_ARMV4 +config BR2_strongarm + bool "strongarm sa110/sa1100" + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS + select BR2_ARM_CPU_HAS_ARM + select BR2_ARM_CPU_ARMV4 + +comment "armv5 cores" config BR2_arm926t bool "arm926t" select BR2_ARM_CPU_HAS_ARM select BR2_ARM_CPU_MAYBE_HAS_VFPV2 select BR2_ARM_CPU_HAS_THUMB select BR2_ARM_CPU_ARMV5 - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 +config BR2_xscale + bool "xscale" + select BR2_ARM_CPU_HAS_ARM + select BR2_ARM_CPU_HAS_THUMB + select BR2_ARM_CPU_ARMV5 + +comment "armv6 cores" config BR2_arm1136j_s bool "arm1136j-s" select BR2_ARM_CPU_HAS_ARM select BR2_ARM_CPU_HAS_THUMB select BR2_ARM_CPU_ARMV6 - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_arm1136jf_s bool "arm1136jf-s" select BR2_ARM_CPU_HAS_ARM select BR2_ARM_CPU_HAS_VFPV2 select BR2_ARM_CPU_HAS_THUMB select BR2_ARM_CPU_ARMV6 - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_arm1176jz_s bool "arm1176jz-s" select BR2_ARM_CPU_HAS_ARM select BR2_ARM_CPU_HAS_THUMB select BR2_ARM_CPU_ARMV6 - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_arm1176jzf_s bool "arm1176jzf-s" select BR2_ARM_CPU_HAS_ARM select BR2_ARM_CPU_HAS_VFPV2 select BR2_ARM_CPU_HAS_THUMB select BR2_ARM_CPU_ARMV6 - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_arm11mpcore bool "mpcore" select BR2_ARM_CPU_HAS_ARM select BR2_ARM_CPU_MAYBE_HAS_VFPV2 select BR2_ARM_CPU_HAS_THUMB select BR2_ARM_CPU_ARMV6 - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 + +comment "armv7a cores" config BR2_cortex_a5 bool "cortex-A5" select BR2_ARM_CPU_HAS_ARM @@ -135,8 +187,6 @@ config BR2_cortex_a5 select BR2_ARM_CPU_MAYBE_HAS_VFPV4 select BR2_ARM_CPU_HAS_THUMB2 select BR2_ARM_CPU_ARMV7A - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_cortex_a7 bool "cortex-A7" select BR2_ARM_CPU_HAS_ARM @@ -144,8 +194,6 @@ config BR2_cortex_a7 select BR2_ARM_CPU_HAS_VFPV4 select BR2_ARM_CPU_HAS_THUMB2 select BR2_ARM_CPU_ARMV7A - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_cortex_a8 bool "cortex-A8" select BR2_ARM_CPU_HAS_ARM @@ -153,8 +201,6 @@ config BR2_cortex_a8 select BR2_ARM_CPU_HAS_VFPV3 select BR2_ARM_CPU_HAS_THUMB2 select BR2_ARM_CPU_ARMV7A - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_cortex_a9 bool "cortex-A9" select BR2_ARM_CPU_HAS_ARM @@ -162,8 +208,6 @@ config BR2_cortex_a9 select BR2_ARM_CPU_MAYBE_HAS_VFPV3 select BR2_ARM_CPU_HAS_THUMB2 select BR2_ARM_CPU_ARMV7A - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_cortex_a12 bool "cortex-A12" select BR2_ARM_CPU_HAS_ARM @@ -171,8 +215,6 @@ config BR2_cortex_a12 select BR2_ARM_CPU_HAS_VFPV4 select BR2_ARM_CPU_HAS_THUMB2 select BR2_ARM_CPU_ARMV7A - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_cortex_a15 bool "cortex-A15" select BR2_ARM_CPU_HAS_ARM @@ -180,8 +222,6 @@ config BR2_cortex_a15 select BR2_ARM_CPU_HAS_VFPV4 select BR2_ARM_CPU_HAS_THUMB2 select BR2_ARM_CPU_ARMV7A - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 config BR2_cortex_a15_a7 bool "cortex-A15/A7 big.LITTLE" select BR2_ARM_CPU_HAS_ARM @@ -189,8 +229,7 @@ config BR2_cortex_a15_a7 select BR2_ARM_CPU_HAS_VFPV4 select BR2_ARM_CPU_HAS_THUMB2 select BR2_ARM_CPU_ARMV7A - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 config BR2_cortex_a17 bool "cortex-A17" select BR2_ARM_CPU_HAS_ARM @@ -198,8 +237,7 @@ config BR2_cortex_a17 select BR2_ARM_CPU_HAS_VFPV4 select BR2_ARM_CPU_HAS_THUMB2 select BR2_ARM_CPU_ARMV7A - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 config BR2_cortex_a17_a7 bool "cortex-A17/A7 big.LITTLE" select BR2_ARM_CPU_HAS_ARM @@ -207,90 +245,316 @@ config BR2_cortex_a17_a7 select BR2_ARM_CPU_HAS_VFPV4 select BR2_ARM_CPU_HAS_THUMB2 select BR2_ARM_CPU_ARMV7A - select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 +config BR2_pj4 + bool "pj4" + select BR2_ARM_CPU_HAS_ARM + select BR2_ARM_CPU_HAS_VFPV3 + select BR2_ARM_CPU_ARMV7A + +# Cortex-M cores are only supported for little endian configurations +if BR2_arm +comment "armv7m cores" +config BR2_cortex_m3 + bool "cortex-M3" + select BR2_ARM_CPU_HAS_THUMB2 + select BR2_ARM_CPU_ARMV7M +config BR2_cortex_m4 + bool "cortex-M4" + select BR2_ARM_CPU_HAS_THUMB2 + select BR2_ARM_CPU_MAYBE_HAS_FPV4 + select BR2_ARM_CPU_ARMV7M +config BR2_cortex_m7 + bool "cortex-M7" + select BR2_ARM_CPU_HAS_THUMB2 + select BR2_ARM_CPU_MAYBE_HAS_FPV5 + select BR2_ARM_CPU_ARMV7M + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 +endif # BR2_arm +endif # !BR2_ARCH_IS_64 + +comment "armv8 cores" +config BR2_cortex_a32 + bool "cortex-A32" depends on !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_ARM + select BR2_ARM_CPU_HAS_NEON + select BR2_ARM_CPU_HAS_THUMB2 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 +config BR2_cortex_a35 + bool "cortex-A35" + select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 config BR2_cortex_a53 bool "cortex-A53" select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_FP_ARMV8 - select BR2_ARM_CPU_ARMV8 - select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARM_CPU_ARMV8A config BR2_cortex_a57 bool "cortex-A57" select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_FP_ARMV8 - select BR2_ARM_CPU_ARMV8 - select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARM_CPU_ARMV8A config BR2_cortex_a57_a53 bool "cortex-A57/A53 big.LITTLE" select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_FP_ARMV8 - select BR2_ARM_CPU_ARMV8 - select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 config BR2_cortex_a72 bool "cortex-A72" select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_FP_ARMV8 - select BR2_ARM_CPU_ARMV8 - select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 config BR2_cortex_a72_a53 bool "cortex-A72/A53 big.LITTLE" select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_FP_ARMV8 - select BR2_ARM_CPU_ARMV8 - select BR2_ARCH_HAS_MMU_OPTIONAL -config BR2_cortex_m3 - bool "cortex-M3" - select BR2_ARM_CPU_HAS_THUMB2 - select BR2_ARM_CPU_ARMV7M - depends on !BR2_ARCH_IS_64 -config BR2_cortex_m4 - bool "cortex-M4" - select BR2_ARM_CPU_HAS_THUMB2 - select BR2_ARM_CPU_ARMV7M - depends on !BR2_ARCH_IS_64 -config BR2_fa526 - bool "fa526/626" - select BR2_ARM_CPU_HAS_ARM - select BR2_ARM_CPU_ARMV4 - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 -config BR2_pj4 - bool "pj4" - select BR2_ARM_CPU_HAS_ARM - select BR2_ARM_CPU_HAS_VFPV3 - select BR2_ARM_CPU_ARMV7A - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 -config BR2_strongarm - bool "strongarm sa110/sa1100" - select BR2_ARM_CPU_HAS_ARM - select BR2_ARM_CPU_ARMV4 - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 -config BR2_xscale - bool "xscale" - select BR2_ARM_CPU_HAS_ARM - select BR2_ARM_CPU_HAS_THUMB - select BR2_ARM_CPU_ARMV5 - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 -config BR2_iwmmxt - bool "iwmmxt" - select BR2_ARM_CPU_HAS_ARM - select BR2_ARM_CPU_ARMV5 - select BR2_ARCH_HAS_MMU_OPTIONAL - depends on !BR2_ARCH_IS_64 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 +config BR2_cortex_a73 + bool "cortex-A73" + select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 +config BR2_cortex_a73_a35 + bool "cortex-A73/A35 big.LITTLE" + select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 +config BR2_cortex_a73_a53 + bool "cortex-A73/A53 big.LITTLE" + select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 +config BR2_emag + bool "emag" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 +config BR2_exynos_m1 + bool "exynos-m1" + select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 +config BR2_falkor + bool "falkor" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 +config BR2_phecda + bool "phecda" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 +config BR2_qdf24xx + bool "qdf24xx" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 +config BR2_thunderx + bool "thunderx (aka octeontx)" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 +config BR2_thunderxt81 + bool "thunderxt81 (aka octeontx81)" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 +config BR2_thunderxt83 + bool "thunderxt83 (aka octeontx83)" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 +config BR2_thunderxt88 + bool "thunderxt88" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 +config BR2_thunderxt88p1 + bool "thunderxt88p1" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 +config BR2_xgene1 + bool "xgene1" + select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 + +comment "armv8.1a cores" +config BR2_thunderx2t99 + bool "thunderx2t99" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 +config BR2_thunderx2t99p1 + bool "thunderx2t99p1" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 +config BR2_vulcan + bool "vulcan" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 + +comment "armv8.2a cores" +config BR2_cortex_a55 + bool "cortex-A55" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 +config BR2_cortex_a75 + bool "cortex-A75" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 +config BR2_cortex_a75_a55 + bool "cortex-A75/A55 big.LITTLE" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 +config BR2_cortex_a76 + bool "cortex-A76" + select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 +config BR2_cortex_a76_a55 + bool "cortex-A76/A55 big.LITTLE" + select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 +config BR2_cortex_a78 + bool "cortex-A78" + select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 +config BR2_neoverse_n1 + bool "neoverse-N1 (aka ares)" + select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 +config BR2_tsv110 + bool "tsv110" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 + +comment "armv8.4a cores" +config BR2_neoverse_v1 + bool "neoverse-V1 (aka zeus)" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 +config BR2_saphira + bool "saphira" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 + +comment "armv9.0a cores" +config BR2_cortex_a710 + bool "Cortex-A710 (aka matterhorn)" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV9A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_12 +config BR2_neoverse_n2 + bool "neoverse-N2 (aka perseus)" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV9A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 +config BR2_neoverse_v2 + bool "neoverse-V2 (aka demeter)" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV9A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + +comment "armv9.2a cores" +config BR2_cortex_a720 + bool "Cortex-A720 (aka hunter)" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV9A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_14 +config BR2_neoverse_v3 + bool "neoverse-V3 (aka poseidon)" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV9A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_15 +config BR2_neoverse_v3ae + bool "neoverse-V3AE (aka poseidon)" + depends on BR2_ARCH_IS_64 + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV9A + select BR2_ARCH_NEEDS_GCC_AT_LEAST_15 endchoice config BR2_ARM_ENABLE_NEON @@ -304,7 +568,9 @@ config BR2_ARM_ENABLE_NEON config BR2_ARM_ENABLE_VFP bool "Enable VFP extension support" - depends on BR2_ARM_CPU_MAYBE_HAS_VFPV2 + depends on BR2_ARM_CPU_MAYBE_HAS_FPU + select BR2_ARM_CPU_HAS_FPV5 if BR2_ARM_CPU_MAYBE_HAS_FPV5 + select BR2_ARM_CPU_HAS_FPV4 if BR2_ARM_CPU_MAYBE_HAS_FPV4 select BR2_ARM_CPU_HAS_VFPV4 if BR2_ARM_CPU_MAYBE_HAS_VFPV4 select BR2_ARM_CPU_HAS_VFPV3 if BR2_ARM_CPU_MAYBE_HAS_VFPV3 select BR2_ARM_CPU_HAS_VFPV2 if BR2_ARM_CPU_MAYBE_HAS_VFPV2 @@ -315,9 +581,9 @@ config BR2_ARM_ENABLE_VFP choice prompt "Target ABI" - depends on BR2_arm || BR2_armeb - default BR2_ARM_EABIHF if BR2_ARM_CPU_HAS_VFPV2 + default BR2_ARM_EABIHF if BR2_ARM_CPU_HAS_FPU default BR2_ARM_EABI + depends on BR2_arm || BR2_armeb help Application Binary Interface to use. The Application Binary Interface describes the calling conventions (how arguments @@ -350,7 +616,7 @@ config BR2_ARM_EABI config BR2_ARM_EABIHF bool "EABIhf" - depends on BR2_ARM_CPU_HAS_VFPV2 + depends on BR2_ARM_CPU_HAS_FPU help The EABIhf is an extension of EABI which supports the 'hard' floating point model. This model uses the floating point @@ -371,10 +637,12 @@ endchoice choice prompt "Floating point strategy" default BR2_ARM_FPU_FP_ARMV8 if BR2_ARM_CPU_HAS_FP_ARMV8 + default BR2_ARM_FPU_FPV5D16 if BR2_ARM_CPU_HAS_FPV5 + default BR2_ARM_FPU_FPV4D16 if BR2_ARM_CPU_HAS_FPV4 default BR2_ARM_FPU_VFPV4D16 if BR2_ARM_CPU_HAS_VFPV4 default BR2_ARM_FPU_VFPV3D16 if BR2_ARM_CPU_HAS_VFPV3 default BR2_ARM_FPU_VFPV2 if BR2_ARM_CPU_HAS_VFPV2 - default BR2_ARM_SOFT_FLOAT if !BR2_ARM_CPU_HAS_VFPV2 + default BR2_ARM_SOFT_FLOAT if !BR2_ARM_CPU_HAS_FPU config BR2_ARM_SOFT_FLOAT bool "Soft float" @@ -481,6 +749,38 @@ config BR2_ARM_FPU_NEON_VFPV4 example on Cortex-A5 and Cortex-A7, support for VFPv4 and NEON is optional. +config BR2_ARM_FPU_FPV4D16 + bool "FPv4-D16" + depends on BR2_ARM_CPU_HAS_FPV4 + help + This option allows to use the FPv4-SP (single precision) + floating point unit, as available in some ARMv7m processors + (Cortex-M4). + +config BR2_ARM_FPU_FPV5D16 + bool "FPv5-D16" + depends on BR2_ARM_CPU_HAS_FPV5 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 + help + This option allows to use the FPv5-SP (single precision) + floating point unit, as available in some ARMv7m processors + (Cortex-M7). + + Note that if you want binary code that works on the earlier + Cortex-M4, you should instead select FPv4-D16. + +config BR2_ARM_FPU_FPV5DPD16 + bool "FPv5-DP-D16" + depends on BR2_ARM_CPU_HAS_FPV5 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 + help + This option allows to use the FPv5-DP (double precision) + floating point unit, as available in some ARMv7m processors + (Cortex-M7). + + Note that if you want binary code that works on the earlier + Cortex-M4, you should instead select FPv4-D16. + config BR2_ARM_FPU_FP_ARMV8 bool "FP-ARMv8" depends on BR2_ARM_CPU_HAS_FP_ARMV8 @@ -514,7 +814,7 @@ config BR2_ARM_INSTRUCTIONS_THUMB # Thumb-1 and VFP are not compatible depends on BR2_ARM_SOFT_FLOAT help - This option instructions the compiler to generate Thumb + This option instructs the compiler to generate Thumb instructions, which allows to mix 16 bits instructions and 32 bits instructions. This generally provides a much smaller compiled binary size. @@ -527,33 +827,73 @@ config BR2_ARM_INSTRUCTIONS_THUMB2 bool "Thumb2" depends on BR2_ARM_CPU_HAS_THUMB2 help - This option instructions the compiler to generate Thumb2 + This option instructs the compiler to generate Thumb2 instructions, which allows to mix 16 bits instructions and 32 bits instructions. This generally provides a much smaller compiled binary size. endchoice +choice + prompt "MMU Page Size" + default BR2_ARM64_PAGE_SIZE_4K + depends on BR2_aarch64 || BR2_aarch64_be + help + The default is 4KB, and you should probably keep this unless + you know what you are doing. In particular, the kernel + configuration must match this choice. If your kernel is + built by Buildroot, the kernel configuration is + automatically adjusted, but not if you built your kernel + outside of Buildroot. + +config BR2_ARM64_PAGE_SIZE_4K + bool "4KB" + +config BR2_ARM64_PAGE_SIZE_16K + bool "16KB" + +config BR2_ARM64_PAGE_SIZE_64K + bool "64KB" + +endchoice + +config BR2_ARM64_PAGE_SIZE + string + default "4K" if BR2_ARM64_PAGE_SIZE_4K + default "16K" if BR2_ARM64_PAGE_SIZE_16K + default "64K" if BR2_ARM64_PAGE_SIZE_64K + config BR2_ARCH default "arm" if BR2_arm default "armeb" if BR2_armeb default "aarch64" if BR2_aarch64 default "aarch64_be" if BR2_aarch64_be +config BR2_NORMALIZED_ARCH + default "arm" if BR2_arm || BR2_armeb + default "arm64" if BR2_aarch64 || BR2_aarch64_be + config BR2_ENDIAN default "LITTLE" if (BR2_arm || BR2_aarch64) default "BIG" if (BR2_armeb || BR2_aarch64_be) config BR2_GCC_TARGET_CPU + # armv4 default "arm920t" if BR2_arm920t default "arm922t" if BR2_arm922t + default "fa526" if BR2_fa526 + default "strongarm" if BR2_strongarm + # armv5 default "arm926ej-s" if BR2_arm926t + default "xscale" if BR2_xscale + # armv6 default "arm1136j-s" if BR2_arm1136j_s default "arm1136jf-s" if BR2_arm1136jf_s default "arm1176jz-s" if BR2_arm1176jz_s default "arm1176jzf-s" if BR2_arm1176jzf_s default "mpcore" if BR2_arm11mpcore && BR2_ARM_CPU_HAS_VFPV2 default "mpcorenovfp" if BR2_arm11mpcore + # armv7a default "cortex-a5" if BR2_cortex_a5 default "cortex-a7" if BR2_cortex_a7 default "cortex-a8" if BR2_cortex_a8 @@ -563,25 +903,66 @@ config BR2_GCC_TARGET_CPU default "cortex-a15.cortex-a7" if BR2_cortex_a15_a7 default "cortex-a17" if BR2_cortex_a17 default "cortex-a17.cortex-a7" if BR2_cortex_a17_a7 + default "marvell-pj4" if BR2_pj4 + # armv7m default "cortex-m3" if BR2_cortex_m3 default "cortex-m4" if BR2_cortex_m4 - default "fa526" if BR2_fa526 - default "marvell-pj4" if BR2_pj4 - default "strongarm" if BR2_strongarm - default "xscale" if BR2_xscale - default "iwmmxt" if BR2_iwmmxt + default "cortex-m7" if BR2_cortex_m7 + # armv8a + default "cortex-a32" if BR2_cortex_a32 + default "cortex-a35" if BR2_cortex_a35 default "cortex-a53" if BR2_cortex_a53 default "cortex-a57" if BR2_cortex_a57 default "cortex-a57.cortex-a53" if BR2_cortex_a57_a53 default "cortex-a72" if BR2_cortex_a72 default "cortex-a72.cortex-a53" if BR2_cortex_a72_a53 + default "cortex-a73" if BR2_cortex_a73 + default "cortex-a73.cortex-a35" if BR2_cortex_a73_a35 + default "cortex-a73.cortex-a53" if BR2_cortex_a73_a53 + default "emag" if BR2_emag + default "exynos-m1" if BR2_exynos_m1 + default "falkor" if BR2_falkor + default "phecda" if BR2_phecda + default "qdf24xx" if BR2_qdf24xx + default "thunderx" if BR2_thunderx && !BR2_TOOLCHAIN_GCC_AT_LEAST_9 + default "octeontx" if BR2_thunderx && BR2_TOOLCHAIN_GCC_AT_LEAST_9 + default "thunderxt81" if BR2_thunderxt81 && !BR2_TOOLCHAIN_GCC_AT_LEAST_9 + default "octeontx81" if BR2_thunderxt81 && BR2_TOOLCHAIN_GCC_AT_LEAST_9 + default "thunderxt83" if BR2_thunderxt83 && !BR2_TOOLCHAIN_GCC_AT_LEAST_9 + default "octeontx83" if BR2_thunderxt83 && BR2_TOOLCHAIN_GCC_AT_LEAST_9 + default "thunderxt88" if BR2_thunderxt88 + default "thunderxt88p1" if BR2_thunderxt88p1 + default "xgene1" if BR2_xgene1 + # armv8.1a + default "thunderx2t99" if BR2_thunderx2t99 + default "thunderx2t99p1" if BR2_thunderx2t99p1 + default "vulcan" if BR2_vulcan + # armv8.2a + default "cortex-a55" if BR2_cortex_a55 + default "cortex-a75" if BR2_cortex_a75 + default "cortex-a75.cortex-a55" if BR2_cortex_a75_a55 + default "cortex-a76" if BR2_cortex_a76 + default "cortex-a76.cortex-a55" if BR2_cortex_a76_a55 + default "cortex-a78" if BR2_cortex_a78 + default "neoverse-n1" if BR2_neoverse_n1 + default "tsv110" if BR2_tsv110 + # armv8.4a + default "neoverse-v1" if BR2_neoverse_v1 + default "saphira" if BR2_saphira + # armv9.0a + default "cortex-a710" if BR2_cortex_a710 + default "neoverse-n2" if BR2_neoverse_n2 + default "neoverse-v2" if BR2_neoverse_v2 + # armv9.2a + default "cortex-a720" if BR2_cortex_a720 + default "neoverse-v3" if BR2_neoverse_v3 + default "neoverse-v3ae" if BR2_neoverse_v3ae config BR2_GCC_TARGET_ABI default "aapcs-linux" if BR2_arm || BR2_armeb default "lp64" if BR2_aarch64 || BR2_aarch64_be config BR2_GCC_TARGET_FPU - depends on BR2_arm || BR2_armeb default "vfp" if BR2_ARM_FPU_VFPV2 default "vfpv3" if BR2_ARM_FPU_VFPV3 default "vfpv3-d16" if BR2_ARM_FPU_VFPV3D16 @@ -589,8 +970,12 @@ config BR2_GCC_TARGET_FPU default "vfpv4-d16" if BR2_ARM_FPU_VFPV4D16 default "neon" if BR2_ARM_FPU_NEON default "neon-vfpv4" if BR2_ARM_FPU_NEON_VFPV4 + default "fpv4-sp-d16" if BR2_ARM_FPU_FPV4D16 + default "fpv5-sp-d16" if BR2_ARM_FPU_FPV5D16 + default "fpv5-d16" if BR2_ARM_FPU_FPV5DPD16 default "fp-armv8" if BR2_ARM_FPU_FP_ARMV8 default "neon-fp-armv8" if BR2_ARM_FPU_NEON_FP_ARMV8 + depends on BR2_arm || BR2_armeb config BR2_GCC_TARGET_FLOAT_ABI default "soft" if BR2_ARM_SOFT_FLOAT @@ -604,3 +989,6 @@ config BR2_GCC_TARGET_MODE config BR2_READELF_ARCH_NAME default "ARM" if BR2_arm || BR2_armeb default "AArch64" if BR2_aarch64 || BR2_aarch64_be + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.bfin b/arch/Config.in.bfin deleted file mode 100644 index bd9589c71d7..00000000000 --- a/arch/Config.in.bfin +++ /dev/null @@ -1,102 +0,0 @@ -choice - prompt "Target CPU" - depends on BR2_bfin - default BR2_bf532 - help - Specify target CPU -config BR2_bf512 - bool "bf512" -config BR2_bf514 - bool "bf514" -config BR2_bf516 - bool "bf516" -config BR2_bf518 - bool "bf518" -config BR2_bf522 - bool "bf522" -config BR2_bf523 - bool "bf523" -config BR2_bf524 - bool "bf524" -config BR2_bf525 - bool "bf525" -config BR2_bf526 - bool "bf526" -config BR2_bf527 - bool "bf527" -config BR2_bf531 - bool "bf531" -config BR2_bf532 - bool "bf532" -config BR2_bf533 - bool "bf533" -config BR2_bf534 - bool "bf534" -config BR2_bf536 - bool "bf536" -config BR2_bf537 - bool "bf537" -config BR2_bf538 - bool "bf538" -config BR2_bf539 - bool "bf539" -config BR2_bf542 - bool "bf542" -config BR2_bf544 - bool "bf544" -config BR2_bf547 - bool "bf547" -config BR2_bf548 - bool "bf548" -config BR2_bf549 - bool "bf549" -config BR2_bf561 - bool "bf561" -endchoice - -config BR2_ARCH - default "bfin" - -config BR2_ENDIAN - default "LITTLE" - -config BR2_GCC_TARGET_CPU - default bf606 if BR2_bf606 - default bf607 if BR2_bf607 - default bf608 if BR2_bf608 - default bf609 if BR2_bf609 - default bf512 if BR2_bf512 - default bf514 if BR2_bf514 - default bf516 if BR2_bf516 - default bf518 if BR2_bf518 - default bf522 if BR2_bf522 - default bf523 if BR2_bf523 - default bf524 if BR2_bf524 - default bf525 if BR2_bf525 - default bf526 if BR2_bf526 - default bf527 if BR2_bf527 - default bf531 if BR2_bf531 - default bf532 if BR2_bf532 - default bf533 if BR2_bf533 - default bf534 if BR2_bf534 - default bf536 if BR2_bf536 - default bf537 if BR2_bf537 - default bf538 if BR2_bf538 - default bf539 if BR2_bf539 - default bf542 if BR2_bf542 - default bf544 if BR2_bf544 - default bf547 if BR2_bf547 - default bf548 if BR2_bf548 - default bf549 if BR2_bf549 - default bf561 if BR2_bf561 - -config BR2_GCC_TARGET_CPU_REVISION - string "Target CPU revision" - help - Specify a target CPU revision, which will be appended to the - value of the -mcpu option. For example, if the selected CPU is - bf609, and then selected CPU revision is "0.0", then gcc will - receive the -mcpu=bf609-0.0 option. - -config BR2_READELF_ARCH_NAME - default "Analog Devices Blackfin" diff --git a/arch/Config.in.csky b/arch/Config.in.csky deleted file mode 100644 index e88e4e2d121..00000000000 --- a/arch/Config.in.csky +++ /dev/null @@ -1,48 +0,0 @@ -choice - prompt "Target Architecture Variant" - default BR2_ck610 - help - Specific CPU variant to use - -config BR2_ck610 - bool "ck610" - -config BR2_ck807 - bool "ck807" - -config BR2_ck810 - bool "ck810" - -endchoice - -config BR2_CSKY_FPU - bool "Enable FPU coprocessor" - depends on BR2_ck810 || BR2_ck807 - help - You can say N here if your C-SKY CPU doesn't have a - Floating-Point Coprocessor or if you don't need FPU support - for your user-space programs. - -config BR2_CSKY_DSP - bool "Enable DSP enhanced instructions" - depends on BR2_ck810 || BR2_ck807 - -config BR2_ARCH - default "csky" - -config BR2_ENDIAN - default "LITTLE" - -config BR2_GCC_TARGET_CPU - default "ck610" if (BR2_ck610 && !BR2_CSKY_FPU && !BR2_CSKY_DSP) - default "ck807" if (BR2_ck807 && !BR2_CSKY_FPU && !BR2_CSKY_DSP) - default "ck807e" if (BR2_ck807 && !BR2_CSKY_FPU && BR2_CSKY_DSP) - default "ck807f" if (BR2_ck807 && BR2_CSKY_FPU && !BR2_CSKY_DSP) - default "ck807ef" if (BR2_ck807 && BR2_CSKY_FPU && BR2_CSKY_DSP) - default "ck810" if (BR2_ck810 && !BR2_CSKY_FPU && !BR2_CSKY_DSP) - default "ck810e" if (BR2_ck810 && !BR2_CSKY_FPU && BR2_CSKY_DSP) - default "ck810f" if (BR2_ck810 && BR2_CSKY_FPU && !BR2_CSKY_DSP) - default "ck810ef" if (BR2_ck810 && BR2_CSKY_FPU && BR2_CSKY_DSP) - -config BR2_READELF_ARCH_NAME - default "CSKY" diff --git a/arch/Config.in.hppa b/arch/Config.in.hppa new file mode 100644 index 00000000000..5768469f307 --- /dev/null +++ b/arch/Config.in.hppa @@ -0,0 +1,22 @@ +choice + prompt "Target Architecture Type" + help + Architecture type (or version) to use. + +config BR2_parisc10 + bool "PA-RISC 1.0" +config BR2_parisc11 + bool "PA-RISC 1.1" +endchoice + +config BR2_ARCH + default "hppa" + +config BR2_NORMALIZED_ARCH + default "parisc" + +config BR2_ENDIAN + default "BIG" + +config BR2_READELF_ARCH_NAME + default "HPPA" diff --git a/arch/Config.in.loongarch b/arch/Config.in.loongarch new file mode 100644 index 00000000000..4b50b987109 --- /dev/null +++ b/arch/Config.in.loongarch @@ -0,0 +1,138 @@ +# LoongArch CPU + +choice + prompt "Target Architecture Variant" + default BR2_loongarch64_generic if BR2_ARCH_IS_64 + +config BR2_loongarch64_generic + bool "Generic LoongArch 64-bit" + depends on BR2_ARCH_IS_64 + help + Generic LoongArch 64-bit processor. + +config BR2_loongarch64_v1_0 + bool "LoongArch64 ISA version 1.0" + depends on BR2_ARCH_IS_64 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + help + LoongArch64 ISA version 1.0 processor. + +config BR2_loongarch64_v1_1 + bool "LoongArch64 ISA version 1.1" + depends on BR2_ARCH_IS_64 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + help + LoongArch64 ISA version 1.1 processor. + +endchoice + +choice + prompt "FPU Type" + default BR2_LOONGARCH_FPU_64 + +config BR2_LOONGARCH_FPU_64 + bool "64" + help + Allow the use of hardware floating-point instructions for + 32-bit and 64-bit operations. + +config BR2_LOONGARCH_FPU_32 + bool "32" + # Only supported by lp64s and lp64f ABIs which are marked as broken + depends on BR2_BROKEN + help + Allow the use of hardware floating-point instructions for + 32-bit operations only. + +config BR2_LOONGARCH_FPU_NONE + bool "none" + # Only supported by lp64s ABI which is marked as broken + depends on BR2_BROKEN + help + Prevent the use of hardware floating-point instructions. +endchoice + +choice + prompt "SIMD Type" + default BR2_LOONGARCH_SIMD_NONE + +config BR2_LOONGARCH_SIMD_NONE + bool "none" + help + Prevent the use of hardware SIMD instructions. + +config BR2_LOONGARCH_SIMD_LSX + bool "LSX" + depends on BR2_LOONGARCH_FPU_64 + help + Enable generating instructions from the 128-bit LoongArch SIMD + Extension (LSX). + +config BR2_LOONGARCH_SIMD_LASX + bool "LASX" + depends on BR2_LOONGARCH_FPU_64 + help + Enable generating instructions from the 256-bit LoongArch + Advanced SIMD Extension (LASX) and the 128-bit LoongArch + SIMD Extension (LSX). +endchoice + +choice + prompt "Target ABI" + default BR2_LOONGARCH_ABI_LP64D if BR2_ARCH_IS_64 && BR2_LOONGARCH_FPU_64 + default BR2_LOONGARCH_ABI_LP64F if BR2_ARCH_IS_64 && BR2_LOONGARCH_FPU_32 + default BR2_LOONGARCH_ABI_LP64S if BR2_ARCH_IS_64 && BR2_LOONGARCH_SIMD_NONE + +config BR2_LOONGARCH_ABI_LP64D + bool "lp64d" + depends on BR2_ARCH_IS_64 + depends on BR2_LOONGARCH_FPU_64 + +config BR2_LOONGARCH_ABI_LP64F + bool "lp64f" + depends on BR2_ARCH_IS_64 + # Failed to build host GCC initial, pending investigation + depends on BR2_BROKEN + depends on BR2_LOONGARCH_FPU_64 || BR2_LOONGARCH_FPU_32 + +config BR2_LOONGARCH_ABI_LP64S + bool "lp64s" + depends on BR2_ARCH_IS_64 + # GCC can't find libraries, pending investigation + depends on BR2_BROKEN +endchoice + +config BR2_ARCH + default "loongarch64" if BR2_ARCH_IS_64 + +config BR2_NORMALIZED_ARCH + default "loongarch" + +config BR2_ENDIAN + default "LITTLE" + +config BR2_GCC_TARGET_ARCH + default "loongarch64" if BR2_loongarch64_generic + default "la64v1.0" if BR2_loongarch64_v1_0 + default "la64v1.1" if BR2_loongarch64_v1_1 + +config BR2_GCC_TARGET_FPU + default "64" if BR2_LOONGARCH_FPU_64 + default "32" if BR2_LOONGARCH_FPU_32 + default "none" if BR2_LOONGARCH_FPU_NONE + +config BR2_GCC_TARGET_SIMD + default "lasx" if BR2_LOONGARCH_SIMD_LASX + default "lsx" if BR2_LOONGARCH_SIMD_LSX + default "none" if BR2_LOONGARCH_FPU_NONE + +config BR2_GCC_TARGET_ABI + default "lp64d" if BR2_LOONGARCH_ABI_LP64D + default "lp64f" if BR2_LOONGARCH_ABI_LP64F + default "lp64s" if BR2_LOONGARCH_ABI_LP64S + +config BR2_READELF_ARCH_NAME + default "LoongArch" + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.m68k b/arch/Config.in.m68k index c56031cb780..235cafacf5b 100644 --- a/arch/Config.in.m68k +++ b/arch/Config.in.m68k @@ -1,6 +1,9 @@ config BR2_ARCH default "m68k" if BR2_m68k +config BR2_NORMALIZED_ARCH + default "m68k" + config BR2_ENDIAN default "BIG" @@ -15,15 +18,20 @@ config BR2_m68k_cf # coldfire variants will be added later choice prompt "Target CPU" - depends on BR2_m68k default BR2_m68k_68040 + depends on BR2_m68k help Specific CPU variant to use +config BR2_m68k_68030 + bool "68030" + select BR2_m68k_m68k + select BR2_USE_MMU + config BR2_m68k_68040 bool "68040" select BR2_m68k_m68k - select BR2_ARCH_HAS_MMU_MANDATORY + select BR2_USE_MMU config BR2_m68k_cf5208 bool "5208" @@ -33,8 +41,12 @@ config BR2_m68k_cf5208 endchoice config BR2_GCC_TARGET_CPU + default "68030" if BR2_m68k_68030 default "68040" if BR2_m68k_68040 default "5208" if BR2_m68k_cf5208 config BR2_READELF_ARCH_NAME default "MC68000" + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.microblaze b/arch/Config.in.microblaze index 042712a1b68..0502001afc8 100644 --- a/arch/Config.in.microblaze +++ b/arch/Config.in.microblaze @@ -2,6 +2,9 @@ config BR2_ARCH default "microblazeel" if BR2_microblazeel default "microblaze" if BR2_microblazebe +config BR2_NORMALIZED_ARCH + default "microblaze" + config BR2_ENDIAN default "LITTLE" if BR2_microblazeel default "BIG" if BR2_microblazebe @@ -12,3 +15,6 @@ config BR2_READELF_ARCH_NAME config BR2_microblaze bool default y if BR2_microblazeel || BR2_microblazebe + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.mips b/arch/Config.in.mips index 1cce1710dae..29b4180d21a 100644 --- a/arch/Config.in.mips +++ b/arch/Config.in.mips @@ -5,33 +5,43 @@ config BR2_MIPS_CPU_MIPS32 config BR2_MIPS_CPU_MIPS32R2 bool select BR2_MIPS_NAN_LEGACY +config BR2_MIPS_CPU_MIPS32R3 + bool + select BR2_MIPS_NAN_LEGACY config BR2_MIPS_CPU_MIPS32R5 bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 config BR2_MIPS_CPU_MIPS32R6 bool select BR2_MIPS_NAN_2008 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 config BR2_MIPS_CPU_MIPS64 bool select BR2_MIPS_NAN_LEGACY config BR2_MIPS_CPU_MIPS64R2 bool select BR2_MIPS_NAN_LEGACY +config BR2_MIPS_CPU_MIPS64R3 + bool + select BR2_MIPS_NAN_LEGACY config BR2_MIPS_CPU_MIPS64R5 bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 config BR2_MIPS_CPU_MIPS64R6 bool select BR2_MIPS_NAN_2008 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 choice prompt "Target Architecture Variant" - depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el default BR2_mips_32 if BR2_mips || BR2_mipsel default BR2_mips_64 if BR2_mips64 || BR2_mips64el + depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el help Specific CPU variant to use - 64bit cabable: 64, 64r2, 64r5, 64r6 - non-64bit capable: 32, 32r2, 32r5, 32r6 + 64bit capable: mips4, 64, 64r2, 64r3, 64r5, 64r6 + non-64bit capable: mips4, 32, 32r2, 32r3, 32r5, 32r6 config BR2_mips_32 bool "Generic MIPS32" @@ -41,6 +51,10 @@ config BR2_mips_32r2 bool "Generic MIPS32R2" depends on !BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS32R2 +config BR2_mips_32r3 + bool "Generic MIPS32R3" + depends on !BR2_ARCH_IS_64 + select BR2_MIPS_CPU_MIPS32R3 config BR2_mips_32r5 bool "Generic MIPS32R5" depends on !BR2_ARCH_IS_64 @@ -53,11 +67,13 @@ config BR2_mips_interaptiv bool "interAptiv" depends on !BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS32R2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 config BR2_mips_m5150 bool "M5150" depends on !BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS32R5 select BR2_MIPS_NAN_2008 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 config BR2_mips_m6250 bool "M6250" depends on !BR2_ARCH_IS_64 @@ -81,6 +97,8 @@ config BR2_mips_xburst to be used in order to prevent emitting these instructions. See http://www.ingenic.com/en/?xburst.html +config BR2_mips4 + bool "MIPS IV" config BR2_mips_64 bool "Generic MIPS64" depends on BR2_ARCH_IS_64 @@ -89,6 +107,10 @@ config BR2_mips_64r2 bool "Generic MIPS64R2" depends on BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS64R2 +config BR2_mips_64r3 + bool "Generic MIPS64R3" + depends on BR2_ARCH_IS_64 + select BR2_MIPS_CPU_MIPS64R3 config BR2_mips_64r5 bool "Generic MIPS64R5" depends on BR2_ARCH_IS_64 @@ -101,6 +123,21 @@ config BR2_mips_i6400 bool "I6400" depends on BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS64R6 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 +config BR2_mips_octeon2 + bool "Octeon II" + depends on BR2_ARCH_IS_64 + select BR2_MIPS_CPU_MIPS64R2 + help + Marvell (formerly Cavium Networks) Octeon II CN60XX + processors. +config BR2_mips_octeon3 + bool "Octeon III" + depends on BR2_ARCH_IS_64 + select BR2_MIPS_CPU_MIPS64R3 + help + Marvell (formerly Cavium Networks) Octeon III CN7XXX + processors. config BR2_mips_p6600 bool "P6600" depends on BR2_ARCH_IS_64 @@ -108,11 +145,10 @@ config BR2_mips_p6600 select BR2_MIPS_CPU_MIPS64R6 endchoice - choice prompt "Target ABI" - depends on BR2_mips64 || BR2_mips64el default BR2_MIPS_NABI32 + depends on BR2_mips64 || BR2_mips64el help Application Binary Interface to use @@ -129,6 +165,7 @@ endchoice config BR2_MIPS_SOFT_FLOAT bool "Use soft-float" default y + depends on !BR2_mips_octeon3 # hard-float only select BR2_SOFT_FLOAT help If your target CPU does not have a Floating Point Unit (FPU) @@ -138,11 +175,11 @@ config BR2_MIPS_SOFT_FLOAT choice prompt "FP mode" + default BR2_MIPS_FP32_MODE_XX depends on !BR2_ARCH_IS_64 && !BR2_MIPS_SOFT_FLOAT - default BR2_MIPS_FP32_MODE_XX if BR2_TOOLCHAIN_HAS_MFPXX_OPTION help - MIPS32 supports different FP modes (32,xx,64). Information about FP - modes can be found here: + MIPS32 supports different FP modes (32,xx,64). Information + about FP modes can be found here: https://sourceware.org/binutils/docs/as/MIPS-Options.html https://dmz-portal.imgtec.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking#5._Generating_modeless_code @@ -152,7 +189,7 @@ config BR2_MIPS_FP32_MODE_32 config BR2_MIPS_FP32_MODE_XX bool "xx" - depends on BR2_TOOLCHAIN_HAS_MFPXX_OPTION + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 config BR2_MIPS_FP32_MODE_64 bool "64" @@ -169,12 +206,12 @@ config BR2_MIPS_NAN_LEGACY config BR2_MIPS_NAN_2008 bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 choice prompt "Target NaN" - depends on BR2_TOOLCHAIN_HAS_MNAN_OPTION - depends on BR2_mips_32r5 || BR2_mips_64r5 default BR2_MIPS_ENABLE_NAN_2008 + depends on BR2_mips_32r5 || BR2_mips_64r5 help MIPS supports two different NaN encodings, legacy and 2008. Information about MIPS NaN encodings can be found here: @@ -200,6 +237,9 @@ config BR2_ARCH default "mips64" if BR2_mips64 default "mips64el" if BR2_mips64el +config BR2_NORMALIZED_ARCH + default "mips" + config BR2_ENDIAN default "LITTLE" if BR2_mipsel || BR2_mips64el default "BIG" if BR2_mips || BR2_mips64 @@ -207,6 +247,7 @@ config BR2_ENDIAN config BR2_GCC_TARGET_ARCH default "mips32" if BR2_mips_32 default "mips32r2" if BR2_mips_32r2 + default "mips32r3" if BR2_mips_32r3 default "mips32r5" if BR2_mips_32r5 default "mips32r6" if BR2_mips_32r6 default "interaptiv" if BR2_mips_interaptiv @@ -216,10 +257,14 @@ config BR2_GCC_TARGET_ARCH default "mips32r2" if BR2_mips_xburst default "mips64" if BR2_mips_64 default "mips64r2" if BR2_mips_64r2 + default "mips64r3" if BR2_mips_64r3 default "mips64r5" if BR2_mips_64r5 default "mips64r6" if BR2_mips_64r6 default "i6400" if BR2_mips_i6400 + default "octeon2" if BR2_mips_octeon2 + default "octeon3" if BR2_mips_octeon3 default "p6600" if BR2_mips_p6600 + default "mips4" if BR2_mips4 config BR2_MIPS_OABI32 bool @@ -232,3 +277,6 @@ config BR2_GCC_TARGET_ABI config BR2_READELF_ARCH_NAME default "MIPS R3000" + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.nios2 b/arch/Config.in.nios2 deleted file mode 100644 index 7466331016b..00000000000 --- a/arch/Config.in.nios2 +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_ARCH - default "nios2" - -config BR2_ENDIAN - default "LITTLE" - -config BR2_READELF_ARCH_NAME - default "Altera Nios II" diff --git a/arch/Config.in.or1k b/arch/Config.in.or1k index b31ab3e95b6..f42aef9eeff 100644 --- a/arch/Config.in.or1k +++ b/arch/Config.in.or1k @@ -1,8 +1,14 @@ config BR2_ARCH default "or1k" +config BR2_NORMALIZED_ARCH + default "openrisc" + config BR2_ENDIAN default "BIG" config BR2_READELF_ARCH_NAME default "OpenRISC 1000" + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.powerpc b/arch/Config.in.powerpc index 09684126472..3f4d348d5fc 100644 --- a/arch/Config.in.powerpc +++ b/arch/Config.in.powerpc @@ -1,6 +1,10 @@ config BR2_POWERPC_CPU_HAS_ALTIVEC bool +config BR2_POWERPC_CPU_HAS_VSX + bool + select BR2_POWERPC_CPU_HAS_ALTIVEC + config BR2_POWERPC_CPU_HAS_SPE bool @@ -11,139 +15,135 @@ choice Specific CPU variant to use config BR2_generic_powerpc bool "generic" + # No C library supports this variant on ppc64le + depends on BR2_powerpc || BR2_powerpc64 config BR2_powerpc_401 bool "401" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_403 bool "403" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_405 bool "405" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_405fp bool "405 with FPU" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_440 bool "440" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_440fp bool "440 with FPU" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_464 bool "464" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_464fp bool "464 with FPU" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_476 bool "476" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_476fp bool "476 with FPU" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_505 bool "505" - depends on !BR2_ARCH_IS_64 -config BR2_powerpc_601 - bool "601" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_602 bool "602" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_603 bool "603" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_603e bool "603e" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_604 bool "604" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_604e bool "604e" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_620 bool "620" + depends on BR2_powerpc || BR2_powerpc64 config BR2_powerpc_630 bool "630" + depends on BR2_powerpc || BR2_powerpc64 config BR2_powerpc_740 bool "740" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_7400 bool "7400" + depends on BR2_powerpc select BR2_POWERPC_CPU_HAS_ALTIVEC - depends on !BR2_ARCH_IS_64 config BR2_powerpc_7450 bool "7450" + depends on BR2_powerpc select BR2_POWERPC_CPU_HAS_ALTIVEC - depends on !BR2_ARCH_IS_64 config BR2_powerpc_750 bool "750" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_821 bool "821" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_823 bool "823" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_860 bool "860" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_970 bool "970" + depends on BR2_powerpc || BR2_powerpc64 select BR2_POWERPC_CPU_HAS_ALTIVEC config BR2_powerpc_8540 bool "8540 / e500v1" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc select BR2_POWERPC_CPU_HAS_SPE config BR2_powerpc_8548 bool "8548 / e500v2" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc select BR2_POWERPC_CPU_HAS_SPE config BR2_powerpc_e300c2 bool "e300c2" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_e300c3 bool "e300c3" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_e500mc bool "e500mc" - depends on !BR2_ARCH_IS_64 + depends on BR2_powerpc config BR2_powerpc_e5500 bool "e5500" - depends on !BR2_powerpc64le + depends on BR2_powerpc || BR2_powerpc64 config BR2_powerpc_e6500 bool "e6500" - depends on !BR2_powerpc64le + depends on BR2_powerpc || BR2_powerpc64 select BR2_POWERPC_CPU_HAS_ALTIVEC config BR2_powerpc_power4 bool "power4" + depends on BR2_powerpc || BR2_powerpc64 config BR2_powerpc_power5 bool "power5" + depends on BR2_powerpc || BR2_powerpc64 config BR2_powerpc_power6 bool "power6" + depends on BR2_powerpc || BR2_powerpc64 select BR2_POWERPC_CPU_HAS_ALTIVEC config BR2_powerpc_power7 bool "power7" - select BR2_POWERPC_CPU_HAS_ALTIVEC + depends on BR2_powerpc || BR2_powerpc64 + select BR2_POWERPC_CPU_HAS_VSX config BR2_powerpc_power8 bool "power8" + select BR2_POWERPC_CPU_HAS_VSX +config BR2_powerpc_power9 + bool "power9" select BR2_POWERPC_CPU_HAS_ALTIVEC -endchoice - -choice - prompt "Target ABI" - default BR2_powerpc_SPE if BR2_POWERPC_CPU_HAS_SPE - default BR2_powerpc_CLASSIC - help - Application Binary Interface to use - -config BR2_powerpc_CLASSIC - bool "Classic" - depends on !BR2_POWERPC_CPU_HAS_SPE -config BR2_powerpc_SPE - bool "SPE" - depends on BR2_POWERPC_CPU_HAS_SPE + select BR2_POWERPC_CPU_HAS_VSX + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 endchoice config BR2_POWERPC_SOFT_FLOAT @@ -160,6 +160,9 @@ config BR2_ARCH default "powerpc64" if BR2_powerpc64 default "powerpc64le" if BR2_powerpc64le +config BR2_NORMALIZED_ARCH + default "powerpc" + config BR2_ENDIAN default "BIG" if BR2_powerpc || BR2_powerpc64 default "LITTLE" if BR2_powerpc64le @@ -176,7 +179,6 @@ config BR2_GCC_TARGET_CPU default "476" if BR2_powerpc_476 default "476fp" if BR2_powerpc_476fp default "505" if BR2_powerpc_505 - default "601" if BR2_powerpc_601 default "602" if BR2_powerpc_602 default "603" if BR2_powerpc_603 default "603e" if BR2_powerpc_603e @@ -204,15 +206,11 @@ config BR2_GCC_TARGET_CPU default "power6" if BR2_powerpc_power6 default "power7" if BR2_powerpc_power7 default "power8" if BR2_powerpc_power8 - -config BR2_GCC_TARGET_ABI - default "altivec" if BR2_PPC_ABI_altivec - default "no-altivec" if BR2_PPC_ABI_no-altivec - default "spe" if BR2_PPC_ABI_spe - default "no-spe" if BR2_PPC_ABI_no-spe - default "ibmlongdouble" if BR2_PPC_ABI_ibmlongdouble - default "ieeelongdouble" if BR2_PPC_ABI_ieeelongdouble + default "power9" if BR2_powerpc_power9 config BR2_READELF_ARCH_NAME default "PowerPC" if BR2_powerpc default "PowerPC64" if BR2_powerpc64 || BR2_powerpc64le + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.riscv b/arch/Config.in.riscv new file mode 100644 index 00000000000..8801590d803 --- /dev/null +++ b/arch/Config.in.riscv @@ -0,0 +1,135 @@ +# RISC-V CPU ISA extensions. + +choice + prompt "Target Architecture Variant" + default BR2_riscv_g + +config BR2_riscv_g + bool "General purpose (G)" + select BR2_RISCV_ISA_RVI + select BR2_RISCV_ISA_RVM + select BR2_RISCV_ISA_RVA + select BR2_RISCV_ISA_RVF + select BR2_RISCV_ISA_RVD + help + General purpose (G) is equivalent to IMAFD. + +config BR2_riscv_custom + bool "Custom architecture" + select BR2_RISCV_ISA_RVI + +endchoice + +comment "Instruction Set Extensions" + +config BR2_RISCV_ISA_RVI + bool "Base Integer (I)" + +config BR2_RISCV_ISA_RVM + bool "Integer Multiplication and Division (M)" + +config BR2_RISCV_ISA_RVA + bool "Atomic Instructions (A)" + +config BR2_RISCV_ISA_RVF + bool "Single-precision Floating-point (F)" + +config BR2_RISCV_ISA_RVD + bool "Double-precision Floating-point (D)" + depends on BR2_RISCV_ISA_RVF + +config BR2_RISCV_ISA_RVC + bool "Compressed Instructions (C)" + +config BR2_RISCV_ISA_RVV + bool "Vector Instructions (V)" + select BR2_ARCH_NEEDS_GCC_AT_LEAST_12 + +config BR2_RISCV_ISA_EXTRA + string "Append extra RISC-V ISA extensions" + help + Extra ISA extensions to append to the ISA extensions string. + They are underscore-separated. For example, + "zba_zbb_zvl256b". + +choice + prompt "Target Architecture Size" + default BR2_RISCV_64 + +config BR2_RISCV_32 + bool "32-bit" + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS + +config BR2_RISCV_64 + bool "64-bit" + select BR2_ARCH_IS_64 + select BR2_RISCV_USE_MMU if BR2_HIDE_SECONDARY_TARGET_OPTIONS + +endchoice + +config BR2_RISCV_USE_MMU + bool "MMU support" + default y + select BR2_USE_MMU + help + Enable this option if your RISC-V core has a MMU (Memory + Management Unit). + +choice + prompt "Target ABI" + default BR2_RISCV_ABI_ILP32D if !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD + default BR2_RISCV_ABI_ILP32F if !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF + default BR2_RISCV_ABI_ILP32 if !BR2_ARCH_IS_64 + default BR2_RISCV_ABI_LP64D if BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD + default BR2_RISCV_ABI_LP64F if BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF + default BR2_RISCV_ABI_LP64 if BR2_ARCH_IS_64 + +config BR2_RISCV_ABI_ILP32 + bool "ilp32" + depends on !BR2_ARCH_IS_64 + +config BR2_RISCV_ABI_ILP32F + bool "ilp32f" + depends on !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF + +config BR2_RISCV_ABI_ILP32D + bool "ilp32d" + depends on !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD + +config BR2_RISCV_ABI_LP64 + bool "lp64" + depends on BR2_ARCH_IS_64 + +config BR2_RISCV_ABI_LP64F + bool "lp64f" + depends on BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF + depends on BR2_USE_MMU + +config BR2_RISCV_ABI_LP64D + bool "lp64d" + depends on BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD +endchoice + +config BR2_ARCH + default "riscv32" if !BR2_ARCH_IS_64 + default "riscv64" if BR2_ARCH_IS_64 + +config BR2_NORMALIZED_ARCH + default "riscv" + +config BR2_ENDIAN + default "LITTLE" + +config BR2_GCC_TARGET_ABI + default "ilp32" if BR2_RISCV_ABI_ILP32 + default "ilp32f" if BR2_RISCV_ABI_ILP32F + default "ilp32d" if BR2_RISCV_ABI_ILP32D + default "lp64" if BR2_RISCV_ABI_LP64 + default "lp64f" if BR2_RISCV_ABI_LP64F + default "lp64d" if BR2_RISCV_ABI_LP64D + +config BR2_READELF_ARCH_NAME + default "RISC-V" + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.s390x b/arch/Config.in.s390x new file mode 100644 index 00000000000..da6ac55d8ac --- /dev/null +++ b/arch/Config.in.s390x @@ -0,0 +1,32 @@ +choice + prompt "Target Architecture Variant" + help + Specific CPU variant to use + +config BR2_s390x_z13 + bool "z13" + +config BR2_s390x_z14 + bool "z14" + +config BR2_s390x_z15 + bool "z15" + +endchoice + +config BR2_ARCH + default "s390x" if BR2_s390x + +config BR2_NORMALIZED_ARCH + default "s390" + +config BR2_ENDIAN + default "BIG" + +config BR2_GCC_TARGET_ARCH + default "arch11" if BR2_s390x_z13 + default "arch12" if BR2_s390x_z14 + default "arch13" if BR2_s390x_z15 + +config BR2_READELF_ARCH_NAME + default "IBM S/390" if BR2_s390x diff --git a/arch/Config.in.sh b/arch/Config.in.sh index deb7244f291..d3acc8ccf8e 100644 --- a/arch/Config.in.sh +++ b/arch/Config.in.sh @@ -1,12 +1,10 @@ choice prompt "Target Architecture Variant" - depends on BR2_sh default BR2_sh4 + depends on BR2_sh help Specific CPU variant to use -config BR2_sh2a - bool "sh2a (SH2A big endian)" config BR2_sh4 bool "sh4 (SH4 little endian)" config BR2_sh4eb @@ -18,15 +16,20 @@ config BR2_sh4aeb endchoice config BR2_ARCH - default "sh2a" if BR2_sh2a default "sh4" if BR2_sh4 default "sh4eb" if BR2_sh4eb default "sh4a" if BR2_sh4a default "sh4aeb" if BR2_sh4aeb +config BR2_NORMALIZED_ARCH + default "sh" + config BR2_ENDIAN default "LITTLE" if BR2_sh4 || BR2_sh4a - default "BIG" if BR2_sh2a || BR2_sh4eb || BR2_sh4aeb + default "BIG" if BR2_sh4eb || BR2_sh4aeb config BR2_READELF_ARCH_NAME default "Renesas / SuperH SH" + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.sparc b/arch/Config.in.sparc index 9b6a6aa21aa..f5f4bd6708d 100644 --- a/arch/Config.in.sparc +++ b/arch/Config.in.sparc @@ -1,8 +1,8 @@ choice prompt "Target Architecture Variant" - depends on BR2_sparc || BR2_sparc64 default BR2_sparc_v8 if BR2_sparc default BR2_sparc_v9 if BR2_sparc64 + depends on BR2_sparc || BR2_sparc64 help Specific CPU variant to use @@ -21,6 +21,10 @@ config BR2_ARCH default "sparc" if BR2_sparc default "sparc64" if BR2_sparc64 +config BR2_NORMALIZED_ARCH + default "sparc" if BR2_sparc + default "sparc64" if BR2_sparc64 + config BR2_ENDIAN default "BIG" @@ -32,3 +36,6 @@ config BR2_GCC_TARGET_CPU config BR2_READELF_ARCH_NAME default "Sparc" if BR2_sparc default "Sparc v9" if BR2_sparc64 + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.x86 b/arch/Config.in.x86 index 0d9e93b089d..3c4a7253600 100644 --- a/arch/Config.in.x86 +++ b/arch/Config.in.x86 @@ -1,6 +1,8 @@ # i386/x86_64 cpu features config BR2_X86_CPU_HAS_MMX bool +config BR2_X86_CPU_HAS_3DNOW + bool config BR2_X86_CPU_HAS_SSE bool config BR2_X86_CPU_HAS_SSE2 @@ -18,21 +20,37 @@ config BR2_X86_CPU_HAS_AVX config BR2_X86_CPU_HAS_AVX2 bool +# BR2_X86_CPU_HAS_AVX512 implies the following AVX512 extensions: +# AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL +# This subset is common to Intel Xeon (excl Xeon Phi), AMD Zen 4, and +# the x86-64-v4 psABI. +# +# Only select BR2_X86_CPU_HAS_AVX512 if the CPU supports this entire +# subset of extensions. +config BR2_X86_CPU_HAS_AVX512 + bool + +# This list of CPU architecture variant is (loosely) ordered according +# to the gcc documentation at +# https://gcc.gnu.org/onlinedocs/gcc-13.2.0/gcc/x86-Options.html choice prompt "Target Architecture Variant" + default BR2_x86_i686 if BR2_i386 depends on BR2_i386 || BR2_x86_64 - default BR2_x86_i586 if BR2_i386 help Specific CPU variant to use config BR2_x86_i486 bool "i486" + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS depends on !BR2_x86_64 config BR2_x86_i586 bool "i586" + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS depends on !BR2_x86_64 config BR2_x86_x1000 bool "x1000" + depends on !BR2_HIDE_SECONDARY_TARGET_OPTIONS depends on !BR2_x86_64 help The Intel X1000 is a Pentium class microprocessor in the @@ -50,35 +68,108 @@ config BR2_x86_pentiumpro depends on !BR2_x86_64 config BR2_x86_pentium_mmx bool "pentium MMX" - select BR2_X86_CPU_HAS_MMX depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_MMX config BR2_x86_pentium_m bool "pentium mobile" + depends on !BR2_x86_64 select BR2_X86_CPU_HAS_MMX select BR2_X86_CPU_HAS_SSE - depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_SSE2 config BR2_x86_pentium2 bool "pentium2" - select BR2_X86_CPU_HAS_MMX depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_MMX config BR2_x86_pentium3 bool "pentium3" + depends on !BR2_x86_64 select BR2_X86_CPU_HAS_MMX select BR2_X86_CPU_HAS_SSE - depends on !BR2_x86_64 config BR2_x86_pentium4 bool "pentium4" + depends on !BR2_x86_64 select BR2_X86_CPU_HAS_MMX select BR2_X86_CPU_HAS_SSE select BR2_X86_CPU_HAS_SSE2 - depends on !BR2_x86_64 config BR2_x86_prescott bool "prescott" + depends on !BR2_x86_64 select BR2_X86_CPU_HAS_MMX select BR2_X86_CPU_HAS_SSE select BR2_X86_CPU_HAS_SSE2 select BR2_X86_CPU_HAS_SSE3 - depends on !BR2_x86_64 +config BR2_x86_x86_64 + bool "x86-64" + depends on BR2_x86_64 + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + help + This option corresponds to -march=x86-64, documented as a + "Generic CPU with 64-bit extensions" by the GCC + documentation. It is a 64-bit CPU with MMX, SSE and SSE2 + support. +config BR2_x86_x86_64_v2 + bool "x86-64-v2" + depends on BR2_x86_64 + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 + help + This option corresponds to the x86-64-v2 micro-architecture + level, as defined by the x86-64 psABI document, see + https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex. + + It is close to the Nehalem CPU architecture, and is + applicable for CPUs that support CMPXCHG16B, LAHF-SAHF, + POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3. +config BR2_x86_x86_64_v3 + bool "x86-64-v3" + depends on BR2_x86_64 + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 + help + This option corresponds to the x86-64-v3 micro-architecture + level, as defined by the x86-64 psABI document, see + https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex. + + It is close to the Haswell CPU architecture, and is + applicable for CPUs that support all of x86-64-v2 plus AVX, + AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE. +config BR2_x86_x86_64_v4 + bool "x86-64-v4" + depends on BR2_x86_64 + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 + help + This option corresponds to the x86-64-v4 micro-architecture + level, as defined by the x86-64 psABI document, see + https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex. + + It is applicable for CPUs that support all of x86-64-v3 plus + AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL. config BR2_x86_nocona bool "nocona" select BR2_X86_CPU_HAS_MMX @@ -101,6 +192,29 @@ config BR2_x86_corei7 select BR2_X86_CPU_HAS_SSSE3 select BR2_X86_CPU_HAS_SSE4 select BR2_X86_CPU_HAS_SSE42 + help + This option is deprecated. Since gcc 4.9, the gcc option + "nehalem" is preferred. Use BR2_x86_nehalem instead. +config BR2_x86_nehalem + bool "nehalem" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 +config BR2_x86_westmere + bool "westmere" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 config BR2_x86_corei7_avx bool "corei7-avx" select BR2_X86_CPU_HAS_MMX @@ -111,6 +225,31 @@ config BR2_x86_corei7_avx select BR2_X86_CPU_HAS_SSE4 select BR2_X86_CPU_HAS_SSE42 select BR2_X86_CPU_HAS_AVX + help + This option is deprecated. Since gcc 4.9, the gcc option + "sandybridge" is preferred. Use BR2_x86_sandybridge instead. +config BR2_x86_sandybridge + bool "sandybridge" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 +config BR2_x86_ivybridge + bool "ivybridge" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 config BR2_x86_core_avx2 bool "core-avx2" select BR2_X86_CPU_HAS_MMX @@ -122,6 +261,45 @@ config BR2_x86_core_avx2 select BR2_X86_CPU_HAS_SSE42 select BR2_X86_CPU_HAS_AVX select BR2_X86_CPU_HAS_AVX2 + help + This option is deprecated. Since gcc 4.9, the gcc option + "haswell" is preferred. Use BR2_x86_haswell instead. +config BR2_x86_haswell + bool "haswell" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 +config BR2_x86_broadwell + bool "broadwell" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 +config BR2_x86_skylake + bool "skylake" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 config BR2_x86_atom bool "atom" select BR2_X86_CPU_HAS_MMX @@ -129,23 +307,260 @@ config BR2_x86_atom select BR2_X86_CPU_HAS_SSE2 select BR2_X86_CPU_HAS_SSE3 select BR2_X86_CPU_HAS_SSSE3 + help + This option is deprecated. Since gcc 4.9, the gcc option + "bonnell" is preferred. Use BR2_x86_bonnell instead. +config BR2_x86_bonnell + bool "bonnell" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 +config BR2_x86_silvermont + bool "silvermont" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 +config BR2_x86_goldmont + bool "goldmont" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 +config BR2_x86_goldmont_plus + bool "goldmont-plus" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 +config BR2_x86_tremont + bool "tremont" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 +config BR2_x86_sierraforest + bool "sierraforest" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_13 +config BR2_x86_grandridge + bool "grandridge" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_13 +config BR2_x86_skylake_avx512 + bool "skylake-avx512" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 +config BR2_x86_cannonlake + bool "cannonlake" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 +config BR2_x86_icelake_client + bool "icelake-client" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 +config BR2_x86_icelake_server + bool "icelake-server" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 +config BR2_x86_cascadelake + bool "cascadelake" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 +config BR2_x86_cooperlake + bool "cooperlake" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_10 +config BR2_x86_tigerlake + bool "tigerlake" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 +config BR2_x86_sapphirerapids + bool "sapphirerapids" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 + help + Use for Sapphire Rapids, Emerald Rapids +config BR2_x86_alderlake + bool "alderlake" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 + help + Use for Alder Lake, Raptor Lake, Meteor Lake +config BR2_x86_rocketlake + bool "rocketlake" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 +config BR2_x86_graniterapids + bool "graniterapids" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_13 +config BR2_x86_graniterapids_d + bool "graniterapids-d" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_13 config BR2_x86_k6 bool "k6" - select BR2_X86_CPU_HAS_MMX depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_MMX config BR2_x86_k6_2 bool "k6-2" - select BR2_X86_CPU_HAS_MMX depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_3DNOW config BR2_x86_athlon bool "athlon" - select BR2_X86_CPU_HAS_MMX depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_3DNOW config BR2_x86_athlon_4 bool "athlon-4" + depends on !BR2_x86_64 select BR2_X86_CPU_HAS_MMX select BR2_X86_CPU_HAS_SSE - depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_3DNOW config BR2_x86_opteron bool "opteron" select BR2_X86_CPU_HAS_MMX @@ -163,6 +578,13 @@ config BR2_x86_barcelona select BR2_X86_CPU_HAS_SSE select BR2_X86_CPU_HAS_SSE2 select BR2_X86_CPU_HAS_SSE3 +config BR2_x86_bobcat + bool "bobcat" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 config BR2_x86_jaguar bool "jaguar" select BR2_X86_CPU_HAS_MMX @@ -172,6 +594,25 @@ config BR2_x86_jaguar select BR2_X86_CPU_HAS_SSSE3 select BR2_X86_CPU_HAS_SSE4 select BR2_X86_CPU_HAS_SSE42 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 +config BR2_x86_bulldozer + bool "bulldozer" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 +config BR2_x86_piledriver + bool "piledriver" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 config BR2_x86_steamroller bool "steamroller" select BR2_X86_CPU_HAS_MMX @@ -181,29 +622,91 @@ config BR2_x86_steamroller select BR2_X86_CPU_HAS_SSSE3 select BR2_X86_CPU_HAS_SSE4 select BR2_X86_CPU_HAS_SSE42 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 +config BR2_x86_excavator + bool "excavator" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 +config BR2_x86_zen + bool "zen" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 +config BR2_x86_zen2 + bool "zen 2" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 +config BR2_x86_zen3 + bool "zen 3" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 +config BR2_x86_zen4 + bool "zen 4" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_13 config BR2_x86_geode - bool "geode" - # Don't include MMX support because there several variant of geode - # processor, some with MMX support, some without. - # See: http://en.wikipedia.org/wiki/Geode_%28processor%29 + bool "AMD Geode" depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_3DNOW config BR2_x86_c3 bool "Via/Cyrix C3 (Samuel/Ezra cores)" - select BR2_X86_CPU_HAS_MMX depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_3DNOW config BR2_x86_c32 bool "Via C3-2 (Nehemiah cores)" + depends on !BR2_x86_64 select BR2_X86_CPU_HAS_MMX select BR2_X86_CPU_HAS_SSE - depends on !BR2_x86_64 config BR2_x86_winchip_c6 bool "IDT Winchip C6" - select BR2_X86_CPU_HAS_MMX depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_MMX config BR2_x86_winchip2 bool "IDT Winchip 2" - select BR2_X86_CPU_HAS_MMX depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_MMX endchoice config BR2_ARCH @@ -216,28 +719,16 @@ config BR2_ARCH default "i686" if BR2_x86_c32 default "i586" if BR2_x86_winchip_c6 default "i586" if BR2_x86_winchip2 - default "i686" if BR2_x86_i686 - default "i686" if BR2_x86_pentium2 - default "i686" if BR2_x86_pentium3 - default "i686" if BR2_x86_pentium4 - default "i686" if BR2_x86_pentium_m - default "i686" if BR2_x86_pentiumpro - default "i686" if BR2_x86_prescott - default "i686" if BR2_x86_nocona && BR2_i386 - default "i686" if BR2_x86_core2 && BR2_i386 - default "i686" if BR2_x86_corei7 && BR2_i386 - default "i686" if BR2_x86_corei7_avx && BR2_i386 - default "i686" if BR2_x86_corei7_avx2 && BR2_i386 - default "i686" if BR2_x86_atom && BR2_i386 - default "i686" if BR2_x86_opteron && BR2_i386 - default "i686" if BR2_x86_opteron_sse3 && BR2_i386 - default "i686" if BR2_x86_barcelona && BR2_i386 - default "i686" if BR2_x86_jaguar && BR2_i386 - default "i686" if BR2_x86_steamroller && BR2_i386 - default "i686" if BR2_x86_k6 - default "i686" if BR2_x86_k6_2 - default "i686" if BR2_x86_athlon - default "i686" if BR2_x86_athlon_4 + # We use the property of Kconfig that the first match of a + # list of default will be chosen. So the following entry will + # not match for all BR2_i386=y configurations, but only the + # ones that didn't match any of the previous cases (i486, + # i586). + default "i686" if BR2_i386 + default "x86_64" if BR2_x86_64 + +config BR2_NORMALIZED_ARCH + default "i386" if !BR2_x86_64 default "x86_64" if BR2_x86_64 config BR2_ENDIAN @@ -255,17 +746,55 @@ config BR2_GCC_TARGET_ARCH default "pentium3" if BR2_x86_pentium3 default "pentium4" if BR2_x86_pentium4 default "prescott" if BR2_x86_prescott + default "x86-64" if BR2_x86_x86_64 + default "x86-64-v2" if BR2_x86_x86_64_v2 + default "x86-64-v3" if BR2_x86_x86_64_v3 + default "x86-64-v4" if BR2_x86_x86_64_v4 default "nocona" if BR2_x86_nocona default "core2" if BR2_x86_core2 default "corei7" if BR2_x86_corei7 + default "nehalem" if BR2_x86_nehalem default "corei7-avx" if BR2_x86_corei7_avx + default "sandybridge" if BR2_x86_sandybridge + default "ivybridge" if BR2_x86_ivybridge default "core-avx2" if BR2_x86_core_avx2 + default "haswell" if BR2_x86_haswell + default "broadwell" if BR2_x86_broadwell + default "skylake" if BR2_x86_skylake default "atom" if BR2_x86_atom + default "bonnell" if BR2_x86_bonnell + default "westmere" if BR2_x86_westmere + default "silvermont" if BR2_x86_silvermont + default "goldmont" if BR2_x86_goldmont + default "goldmont-plus" if BR2_x86_goldmont_plus + default "tremont" if BR2_x86_tremont + default "sierraforest" if BR2_x86_sierraforest + default "grandridge" if BR2_x86_grandridge + default "skylake-avx512" if BR2_x86_skylake_avx512 + default "cannonlake" if BR2_x86_cannonlake + default "icelake-client" if BR2_x86_icelake_client + default "icelake-server" if BR2_x86_icelake_server + default "cascadelake" if BR2_x86_cascadelake + default "cooperlake" if BR2_x86_cooperlake + default "tigerlake" if BR2_x86_tigerlake + default "sapphirerapids" if BR2_x86_sapphirerapids + default "alderlake" if BR2_x86_alderlake + default "rocketlake" if BR2_x86_rocketlake + default "graniterapids" if BR2_x86_graniterapids + default "graniterapids-d" if BR2_x86_graniterapids_d default "k8" if BR2_x86_opteron default "k8-sse3" if BR2_x86_opteron_sse3 default "barcelona" if BR2_x86_barcelona + default "btver1" if BR2_x86_bobcat default "btver2" if BR2_x86_jaguar + default "bdver1" if BR2_x86_bulldozer + default "bdver2" if BR2_x86_piledriver default "bdver3" if BR2_x86_steamroller + default "bdver4" if BR2_x86_excavator + default "znver1" if BR2_x86_zen + default "znver2" if BR2_x86_zen2 + default "znver3" if BR2_x86_zen3 + default "znver4" if BR2_x86_zen4 default "k6" if BR2_x86_k6 default "k6-2" if BR2_x86_k6_2 default "athlon" if BR2_x86_athlon @@ -279,3 +808,6 @@ config BR2_GCC_TARGET_ARCH config BR2_READELF_ARCH_NAME default "Intel 80386" if BR2_i386 default "Advanced Micro Devices X86-64" if BR2_x86_64 + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/Config.in.xtensa b/arch/Config.in.xtensa index 5d5bcb48f99..f9d5adb4c97 100644 --- a/arch/Config.in.xtensa +++ b/arch/Config.in.xtensa @@ -1,15 +1,14 @@ choice prompt "Target Architecture Variant" - depends on BR2_xtensa default BR2_xtensa_fsf + depends on BR2_xtensa config BR2_XTENSA_CUSTOM - select BR2_ARCH_HAS_MMU_OPTIONAL bool "Custom Xtensa processor configuration" config BR2_xtensa_fsf - select BR2_ARCH_HAS_MMU_MANDATORY bool "fsf - Default configuration" + select BR2_USE_MMU endchoice @@ -20,18 +19,18 @@ config BR2_XTENSA_OVERLAY_FILE Enter the path to the overlay tarball for a custom processor configuration. - These overlay files are tar packages with updated configuration - files for various toolchain packages and Xtensa processor - configurations. They are provided by the processor vendor or - directly from Tensilica. + These overlay files are tar packages with updated + configuration files for various toolchain packages and Xtensa + processor configurations. They are provided by the processor + vendor or directly from Tensilica. - The path can be either absolute, or relative to the top directory - of buildroot. + The path can be either absolute, or relative to the top + directory of buildroot. choice prompt "Target Architecture Endianness" - depends on BR2_XTENSA_CUSTOM default BR2_XTENSA_LITTLE_ENDIAN + depends on BR2_XTENSA_CUSTOM config BR2_XTENSA_LITTLE_ENDIAN bool "Little endian" @@ -41,6 +40,15 @@ config BR2_XTENSA_BIG_ENDIAN endchoice +config BR2_XTENSA_USE_MMU + bool "MMU support" + default y + depends on BR2_XTENSA_CUSTOM + select BR2_USE_MMU + help + Enable this option if your Xtensa core has a MMU (Memory + Management Unit). + config BR2_ENDIAN default "LITTLE" if BR2_XTENSA_LITTLE_ENDIAN default "BIG" if BR2_xtensa_fsf || BR2_XTENSA_BIG_ENDIAN @@ -48,5 +56,11 @@ config BR2_ENDIAN config BR2_ARCH default "xtensa" if BR2_xtensa +config BR2_NORMALIZED_ARCH + default "xtensa" + config BR2_READELF_ARCH_NAME default "Tensilica Xtensa Processor" + +# vim: ft=kconfig +# -*- mode:kconfig; -*- diff --git a/arch/arch.mk b/arch/arch.mk new file mode 100644 index 00000000000..4a7851a9fdc --- /dev/null +++ b/arch/arch.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# Architecture-specific definitions +# +################################################################################ + +# Allow GCC target configuration settings to be optionally +# overwritten by architecture specific makefiles. + +# Makefiles must use the GCC_TARGET_* variables below instead +# of the BR2_GCC_TARGET_* versions. +GCC_TARGET_ARCH := $(call qstrip,$(BR2_GCC_TARGET_ARCH)) +GCC_TARGET_ABI := $(call qstrip,$(BR2_GCC_TARGET_ABI)) +GCC_TARGET_NAN := $(call qstrip,$(BR2_GCC_TARGET_NAN)) +GCC_TARGET_FP32_MODE := $(call qstrip,$(BR2_GCC_TARGET_FP32_MODE)) +GCC_TARGET_CPU := $(call qstrip,$(BR2_GCC_TARGET_CPU)) +GCC_TARGET_FPU := $(call qstrip,$(BR2_GCC_TARGET_FPU)) +GCC_TARGET_FLOAT_ABI := $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI)) +GCC_TARGET_SIMD := $(call qstrip,$(BR2_GCC_TARGET_SIMD)) +GCC_TARGET_MODE := $(call qstrip,$(BR2_GCC_TARGET_MODE)) + +# Explicitly set LD's "max-page-size" instead of relying on some defaults +ifeq ($(BR2_ARC_PAGE_SIZE_4K)$(BR2_ARM64_PAGE_SIZE_4K),y) +ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=4096 -Wl,-z,common-page-size=4096 +else ifeq ($(BR2_ARC_PAGE_SIZE_8K),y) +ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=8192 -Wl,-z,common-page-size=8192 +else ifeq ($(BR2_ARC_PAGE_SIZE_16K)$(BR2_ARM64_PAGE_SIZE_16K),y) +ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=16384 -Wl,-z,common-page-size=16384 +else ifeq ($(BR2_ARM64_PAGE_SIZE_64K),y) +ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=65536 -Wl,-z,common-page-size=65536 +endif + +# Include any architecture specific makefiles. +-include $(sort $(wildcard arch/arch.mk.*)) diff --git a/arch/arch.mk.arc b/arch/arch.mk.arc new file mode 100644 index 00000000000..42037626a6a --- /dev/null +++ b/arch/arch.mk.arc @@ -0,0 +1,8 @@ +ifeq ($(BR2_arc),y) + +# -matomic is always required when the ARC core has the atomic extensions +ifeq ($(BR2_ARC_ATOMIC_EXT),y) +ARCH_TOOLCHAIN_WRAPPER_OPTS += -matomic +endif + +endif diff --git a/arch/arch.mk.hppa b/arch/arch.mk.hppa new file mode 100644 index 00000000000..9d22e4371f1 --- /dev/null +++ b/arch/arch.mk.hppa @@ -0,0 +1,13 @@ +# +# Configure the GCC_TARGET_ARCH variable. +# + +ifeq ($(BR2_hppa),y) + +ifeq ($(BR2_parisc10),y) +GCC_TARGET_ARCH := 1.0 +else ifeq ($(BR2_parisc11),y) +GCC_TARGET_ARCH := 1.1 +endif + +endif diff --git a/arch/arch.mk.riscv b/arch/arch.mk.riscv new file mode 100644 index 00000000000..e47666eadd6 --- /dev/null +++ b/arch/arch.mk.riscv @@ -0,0 +1,47 @@ +# +# Configure the GCC_TARGET_ARCH variable and append the +# appropriate RISC-V ISA extensions. +# + +ifeq ($(BR2_riscv),y) + +ifeq ($(BR2_RISCV_64),y) +GCC_TARGET_ARCH := rv64i +else +GCC_TARGET_ARCH := rv32i +endif + +ifeq ($(BR2_RISCV_ISA_RVM),y) +GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)m +endif +ifeq ($(BR2_RISCV_ISA_RVA),y) +GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)a +endif +ifeq ($(BR2_RISCV_ISA_RVF),y) +GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)f +endif +ifeq ($(BR2_RISCV_ISA_RVD),y) +GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)d +endif +ifeq ($(BR2_RISCV_ISA_RVC),y) +GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)c +endif +ifeq ($(BR2_RISCV_ISA_RVV),y) +GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)v +endif + +# Starting from gcc 12.x, csr and fence instructions have been +# separated from the base I instruction set, and special -march +# suffixes are needed to enable their support. In Buildroot, we assume +# all RISC-V cores that support Linux implement those instructions, so +# we unconditionally enable those extensions. +ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_12),y) +GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)_zicsr_zifencei +endif + +ARCH_RISV_ISA_EXTRA = $(call qstrip, $(BR2_RISCV_ISA_EXTRA)) +ifneq ($(ARCH_RISV_ISA_EXTRA),) +GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)_$(ARCH_RISV_ISA_EXTRA) +endif + +endif diff --git a/arch/arch.mk.xtensa b/arch/arch.mk.xtensa index 2b6cd26d03d..75145e725ff 100644 --- a/arch/arch.mk.xtensa +++ b/arch/arch.mk.xtensa @@ -1,3 +1,9 @@ +BR_ARCH_XTENSA_OVERLAY_FILE = $(call qstrip,$(BR2_XTENSA_OVERLAY_FILE)) + +ifeq ($(BR_BUILDING)$(BR2_XTENSA_CUSTOM)$(BR2_TOOLCHAIN_BUILDROOT):$(BR_ARCH_XTENSA_OVERLAY_FILE),yyy:) +$(error No xtensa overlay file provided. Check your BR2_XTENSA_OVERLAY_FILE setting) +endif + ################################################################################ # This variable can be used by packages that need to extract the overlay. # @@ -9,10 +15,9 @@ # tar xf $(ARCH_XTENSA_OVERLAY_FILE) -C $(@D) --strip-components=1 gcc # endif ################################################################################ -BR_ARCH_XTENSA_OVERLAY_FILE = $(call qstrip,$(BR2_XTENSA_OVERLAY_FILE)) ifneq ($(filter http://% https://% ftp://% scp://%,$(BR_ARCH_XTENSA_OVERLAY_FILE)),) ARCH_XTENSA_OVERLAY_URL = $(BR_ARCH_XTENSA_OVERLAY_FILE) -ARCH_XTENSA_OVERLAY_FILE = $(DL_DIR)/$(notdir $(BR_ARCH_XTENSA_OVERLAY_FILE)) +ARCH_XTENSA_OVERLAY_FILE = $($(PKG)_DL_DIR)/$(notdir $(BR_ARCH_XTENSA_OVERLAY_FILE)) # Do not check that file, we can't know its hash BR_NO_CHECK_HASH_FOR += $(notdir $(ARCH_XTENSA_OVERLAY_URL)) else diff --git a/board/aarch64-efi/genimage-efi.cfg b/board/aarch64-efi/genimage-efi.cfg new file mode 100644 index 00000000000..207fc3e3bcc --- /dev/null +++ b/board/aarch64-efi/genimage-efi.cfg @@ -0,0 +1,30 @@ +image efi-part.vfat { + vfat { + file EFI { + image = "efi-part/EFI" + } + file Image { + image = "Image" + } + } + + size = 64M +} + +image disk.img { + hdimage { + partition-table-type = "gpt" + } + + partition boot { + image = "efi-part.vfat" + partition-type-uuid = U + offset = 32K + bootable = true + } + + partition root { + partition-type-uuid = root-arm64 + image = "rootfs.ext2" + } +} diff --git a/board/aarch64-efi/grub.cfg b/board/aarch64-efi/grub.cfg new file mode 100644 index 00000000000..d99e19c4cd5 --- /dev/null +++ b/board/aarch64-efi/grub.cfg @@ -0,0 +1,6 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /Image root=PARTLABEL=root rootwait +} diff --git a/board/aarch64-efi/patches/linux/linux.hash b/board/aarch64-efi/patches/linux/linux.hash new file mode 100644 index 00000000000..7cc4ece4bc2 --- /dev/null +++ b/board/aarch64-efi/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 8d1934a72a185f1be6b56e3ad8ea31fd9a381ffec0346c69f06c90d776da7cb8 linux-6.18.14.tar.xz diff --git a/board/aarch64-efi/post-image.sh b/board/aarch64-efi/post-image.sh new file mode 100755 index 00000000000..1aef15ef6f7 --- /dev/null +++ b/board/aarch64-efi/post-image.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR=$(dirname "$0") + +cp -f "${BOARD_DIR}/grub.cfg" "${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg" diff --git a/board/aarch64-efi/readme.txt b/board/aarch64-efi/readme.txt new file mode 100644 index 00000000000..0e7ea0b5dd7 --- /dev/null +++ b/board/aarch64-efi/readme.txt @@ -0,0 +1,53 @@ + +The aarch64_efi_defconfig allows to build a minimal Linux system that +can boot on all AArch64 servers providing an EFI firmware. + +This includes all Arm EBBR[1] compliant systems, and all Arm SystemReady[2] +compliant systems for example. + + +Building and booting +==================== + +$ make aarch64_efi_defconfig +$ make + +The file output/images/disk.img is a complete disk image that can be +booted, it includes the grub2 bootloader, Linux kernel and root +filesystem. + +Testing under Qemu +================== + +This image can also be tested using Qemu: + +qemu-system-aarch64 \ + -M virt \ + -cpu cortex-a57 \ + -m 512 \ + -nographic \ + -bios \ + -drive file=output/images/disk.img,if=none,format=raw,id=hd0 \ + -device virtio-blk-device,drive=hd0 \ + -netdev user,id=eth0 \ + -device virtio-net-device,netdev=eth0 + +Note that needs to point to a valid aarch64 UEFI +firmware image for qemu. +It may be provided by your distribution as a edk2-aarch64 or AAVMF +package, in path such as /usr/share/edk2/aarch64/QEMU_EFI.fd . + +U-Boot based qemu firmware +========================== + +A qemu firmware with support for UEFI based on U-Boot can be built following +the instructions in [3], with qemu_arm64_defconfig. + +This should give you a nor_flash.bin, which you can use with qemu as an +alternative to QEMU_EFI.fd. You will also need to change the machine +specification to "-M virt,secure=on" on qemu command line, to enable TrustZone +support, and you will need to increase the memory with "-m 1024". + +[1]: https://github.com/ARM-software/ebbr +[2]: https://developer.arm.com/architectures/system-architectures/arm-systemready +[3]: https://github.com/glikely/u-boot-tfa-build diff --git a/board/acmesystems/acqua-a5/dts/microchip/at91-sama5d3_acqua.dts b/board/acmesystems/acqua-a5/dts/microchip/at91-sama5d3_acqua.dts new file mode 100644 index 00000000000..4754c3cf1cc --- /dev/null +++ b/board/acmesystems/acqua-a5/dts/microchip/at91-sama5d3_acqua.dts @@ -0,0 +1,340 @@ +/* + * acme-acqua.dts - Device Tree file for Acqua A5 Board + * + * Copyright (C) 2014 Atmel, + * 2014 Nicolas Ferre + * + * 2022 Sergio Tanzilli + * + * Licensed under GPLv2 or later. + */ +/dts-v1/; +#include "sama5d31.dtsi" + +/ { + model = "Acme Systems Acqua SOM"; + compatible = "acme,acqua", "atmel,sama5d3", "atmel,sama5"; + + chosen { + stdout-path = "serial0:115200n8"; + bootargs = "mem=256M console=ttyS0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait net.ifnames=0"; + }; + + memory { + reg = <0x20000000 0x10000000>; + }; + + clocks { + slow_xtal { + clock-frequency = <32768>; + }; + + main_xtal { + clock-frequency = <12000000>; + }; + }; + + ahb { + apb { + hlcdc: hlcdc@f0030000 { + status = "disabled"; + hlcdc-display-controller { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888_alt>; + port@0 { + hlcdc_panel_output: endpoint@0 { + remote-endpoint = <&panel_input>; + }; + }; + }; + }; + + /* MicroSD mounted on the SOM */ + + mmc0: mmc@f0000000 { + pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_cd>; + status = "okay"; + slot@0 { + reg = <0>; + bus-width = <4>; + }; + }; + + /* Optional MicroSD to mount on the carrier board */ + + mmc1: mmc@f8000000 { + pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>; + status = "disabled"; + slot@0 { + reg = <0>; + bus-width = <4>; + cd-gpios = <&pioE 1 GPIO_ACTIVE_LOW>; + }; + }; + + spi0: spi@f0004000 { + cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>; + status = "disabled"; + }; + + can0: can@f000c000 { + status = "disabled"; + }; + + tcb0: timer@f0010000 { + timer0: timer@0 { + compatible = "atmel,tcb-timer"; + reg = <0>; + }; + + timer1: timer@1 { + compatible = "atmel,tcb-timer"; + reg = <1>; + }; + }; + + i2c0: i2c@f0014000 { + pinctrl-0 = <&pinctrl_i2c0_pu>; + status = "disabled"; + }; + + i2c1: i2c@f0018000 { + status = "disabled"; + }; + + macb1: ethernet@f802c000 { + compatible = "atmel,sama5d3-macb", "cdns,at91sam9260-macb", "cdns,macb"; + + status = "okay"; + phy-mode = "rmii"; + #address-cells = <1>; + #size-cells = <0>; + + nvmem-cells = <ð0_addr>; + nvmem-cell-names = "mac-address"; + + phy0: ethernet-phy@1 { + interrupt-parent = <&pioE>; + interrupts = <30 IRQ_TYPE_EDGE_FALLING>; + reg = <1>; + }; + + /*ethernet-phy@1 { + reg = <0x1>; + };*/ + }; + + /* Bit banging internal I2C to manage the AT24MAC402 chip */ + + i2c3@ { + compatible = "i2c-gpio"; + + sda-gpios = <&pioE 1 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; + scl-gpios = <&pioE 2 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c3_gpio>; + + i2c-gpio,delay-us = <4>; /* ~178 kHz */ + #address-cells = <1>; + #size-cells = <0>; + + /* EEPROM contains the eth0 MAC address */ + + eeprom@58 { + compatible = "atmel,24mac402"; + pagesize = <256>; + read-only; + reg = <0x58>; + #address-cells = <1>; + #size-cells = <1>; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eth0_addr: eth-mac-addr@9A { + reg = <0x0 0x06>; + }; + }; + }; + + }; + + pwm0: pwm@f002c000 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pwm0_pwmh0_0 &pinctrl_pwm0_pwmh1_0>; + status = "disabled"; + }; + + usart0: serial@f001c000 { + status = "okay"; + }; + + usart1: serial@f0020000 { + pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>; + status = "disabled"; + }; + + uart0: serial@f0024000 { + status = "disabled"; + }; + + + spi1: spi@f8008000 { + cs-gpios = <&pioC 25 0>; + status = "disabled"; + }; + + adc0: adc@f8018000 { + atmel,adc-vref = <3300>; + atmel,adc-channels-used = <0xfe>; + pinctrl-0 = < + &pinctrl_adc0_adtrg + &pinctrl_adc0_ad1 + &pinctrl_adc0_ad2 + &pinctrl_adc0_ad3 + &pinctrl_adc0_ad4 + &pinctrl_adc0_ad5 + &pinctrl_adc0_ad6 + &pinctrl_adc0_ad7 + >; + status = "disabled"; + }; + + i2c2: i2c@f801c000 { + dmas = <0>, <0>; /* Do not use DMA for i2c2 */ + pinctrl-0 = <&pinctrl_i2c2_pu>; + status = "disabled"; + }; + + + dbgu: serial@ffffee00 { + status = "okay"; + }; + + pinctrl@fffff200 { + + atmel,mux-mask = < + /* A B C */ + 0xffffffff 0xc0fc0000 0xc0ff0000 /* pioA */ + 0xffffffff 0x0ff8ffff 0x00000000 /* pioB */ + 0xffffffff 0xbc00f1ff 0x7c00fc00 /* pioC */ + 0xffffffff 0xc001c0e0 0x0001c1e0 /* pioD */ + 0xfffffff9 0xbf9f8000 0x18000000 /* pioE */ + /* 0xffffffff 0xb8000000 0x18000000 */ /* pioE */ + >; + + board { + pinctrl_i2c0_pu: i2c0_pu { + atmel,pins = + , + ; + }; + + pinctrl_i2c2_pu: i2c2_pu { + atmel,pins = + , + ; + }; + + pinctrl_i2c3_gpio: i2c3-gpio { + atmel,pins = + ; + }; + + + pinctrl_key_gpio: key_gpio_0 { + atmel,pins = + ; + }; + + pinctrl_mmc0_cd: mmc0_cd { + atmel,pins = + ; + }; + + pinctrl_mmc1_cd: mmc1_cd { + atmel,pins = + ; + }; + + pinctrl_usba_vbus: usba_vbus { + atmel,pins = + ; /* PE9, conflicts with A9 */ + }; + + pinctrl_gpio_leds: gpio_leds_default { + atmel,pins = + ; + }; + }; + }; + }; + + usb0: gadget@500000 { + status = "disabled"; + }; + + usb1: usb@600000 { + status = "okay"; + }; + + usb2: usb@700000 { + status = "okay"; + }; + + }; + + + panel: panel { + /* compatible = "acme,43inch", "simple-panel"; */ + compatible = "acme,50inch", "simple-panel"; + /* compatible = "acme,70inch", "simple-panel"; */ + + status = "disable"; + + port@0 { + panel_input: endpoint@0 { + remote-endpoint = <&hlcdc_panel_output>; + }; + }; + }; + + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_gpio_leds>; + + led0 { + label = "led0"; + gpios = <&pioE 3 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + + led1 { + label = "led1"; + gpios = <&pioE 4 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + + led2 { + label = "led2"; + gpios = <&pioE 5 GPIO_ACTIVE_LOW>; + linux,default-trigger = "heartbeat"; + }; + + led3 { + label = "led3"; + gpios = <&pioE 6 GPIO_ACTIVE_LOW>; + linux,default-trigger = "mmc0"; + default-state = "off"; + }; + }; +}; diff --git a/board/acmesystems/acqua-a5/genimage.cfg b/board/acmesystems/acqua-a5/genimage.cfg new file mode 100644 index 00000000000..7fa0a69c4a9 --- /dev/null +++ b/board/acmesystems/acqua-a5/genimage.cfg @@ -0,0 +1,29 @@ +# Minimal SD card image for the Acme Systems Acqua A5 + +image boot.vfat { + vfat { + files = { + "boot.bin", + "zImage", + "at91-sama5d3_acqua.dtb" + } + } + + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/acmesystems/acqua-a5/patches/at91bootstrap3/at91bootstrap3.hash b/board/acmesystems/acqua-a5/patches/at91bootstrap3/at91bootstrap3.hash new file mode 100644 index 00000000000..6edf3d3345e --- /dev/null +++ b/board/acmesystems/acqua-a5/patches/at91bootstrap3/at91bootstrap3.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 5ea2a8fed1ba0024229c6f6d77176679e1b24791bdbce8e285634013d4a93551 at91bootstrap3-v3.10.3-git4.tar.gz diff --git a/board/acmesystems/acqua-a5/patches/linux-headers/linux-headers.hash b/board/acmesystems/acqua-a5/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/acmesystems/acqua-a5/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/acmesystems/acqua-a5/patches/linux/linux.hash b/board/acmesystems/acqua-a5/patches/linux/linux.hash new file mode 100644 index 00000000000..f83883b936d --- /dev/null +++ b/board/acmesystems/acqua-a5/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz diff --git a/board/acmesystems/acqua-a5/readme.txt b/board/acmesystems/acqua-a5/readme.txt new file mode 100644 index 00000000000..ce7dbafb291 --- /dev/null +++ b/board/acmesystems/acqua-a5/readme.txt @@ -0,0 +1,44 @@ +Acme Systems Acqua A5 + +Intro +===== + +The Acqua A5 is a system on module based on the Microchip SAMA5D31 SoC: + + https://www.acmesystems.it/acqua + +The files here support configurations that build a microSD image for a +minimal system that can be accessed through the serial console. You will +need an USB-to-serial interface in order to access that console from +your computer: + + https://www.acmesystems.it/DPI + +How to build the image +====================== + +If you have an Acqua module with 256 MiB of RAM, type: + +$ make acmesystems_acqua_a5_256mb_defconfig + +If you have the 512 MiB version, type instead: + +$ make acmesystems_acqua_a5_512mb_defconfig + +You can optionally tweak the configuration and add packages by typing: + +$ make menuconfig + +Then, proceed with the build: + +$ make + +How to write the microSD card +============================= + +The system image is the file "sdcard.img" in the "output/images" +directory. Write it to the card by invoking: + +$ sudo dd if=output/images/sdcard.img of=/dev/sdX bs=1M + +where `sdX' is the block device representing the microSD card. diff --git a/board/acmesystems/aria-g25/genimage.cfg b/board/acmesystems/aria-g25/genimage.cfg index 2e2eb129aa0..29dc697153d 100644 --- a/board/acmesystems/aria-g25/genimage.cfg +++ b/board/acmesystems/aria-g25/genimage.cfg @@ -11,9 +11,10 @@ image boot.vfat { } file boot.bin { - image = "at91sam9x5_aria-sdcardboot-linux-zimage-dt-3.8.6.bin" + image = "at91sam9x5_aria-sdcardboot-linux-zimage-dt-3.10.3.bin" } } + size = 16M } diff --git a/board/acmesystems/aria-g25/patches/at91bootstrap3/at91bootstrap3.hash b/board/acmesystems/aria-g25/patches/at91bootstrap3/at91bootstrap3.hash new file mode 100644 index 00000000000..6edf3d3345e --- /dev/null +++ b/board/acmesystems/aria-g25/patches/at91bootstrap3/at91bootstrap3.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 5ea2a8fed1ba0024229c6f6d77176679e1b24791bdbce8e285634013d4a93551 at91bootstrap3-v3.10.3-git4.tar.gz diff --git a/board/acmesystems/aria-g25/patches/linux-headers/linux-headers.hash b/board/acmesystems/aria-g25/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/acmesystems/aria-g25/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/acmesystems/aria-g25/patches/linux/linux.hash b/board/acmesystems/aria-g25/patches/linux/linux.hash new file mode 100644 index 00000000000..81824a41ee4 --- /dev/null +++ b/board/acmesystems/aria-g25/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 6c5e4d3c87feadbfdb9f7d2e46f3f120b00286ba380491c5956708e0b94232c8 linux-4.19.315.tar.xz diff --git a/board/acmesystems/aria-g25/post-image.sh b/board/acmesystems/aria-g25/post-image.sh deleted file mode 100755 index 2846f56d722..00000000000 --- a/board/acmesystems/aria-g25/post-image.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/board/acmesystems/arietta-g25/genimage.cfg b/board/acmesystems/arietta-g25/genimage.cfg index 420f1b6be5b..3b67a474cd0 100644 --- a/board/acmesystems/arietta-g25/genimage.cfg +++ b/board/acmesystems/arietta-g25/genimage.cfg @@ -5,15 +5,16 @@ image boot.vfat { file zImage { image = "zImage" } - + file acme-arietta.dtb { image = "at91-ariettag25.dtb" } - + file boot.bin { - image = "at91sam9x5_arietta-sdcardboot-linux-zimage-dt-3.8.6.bin" - } + image = "at91sam9x5_arietta-sdcardboot-linux-zimage-dt-3.10.3.bin" + } } + size = 16M } diff --git a/board/acmesystems/arietta-g25/patches/at91bootstrap3/at91bootstrap3.hash b/board/acmesystems/arietta-g25/patches/at91bootstrap3/at91bootstrap3.hash new file mode 100644 index 00000000000..6edf3d3345e --- /dev/null +++ b/board/acmesystems/arietta-g25/patches/at91bootstrap3/at91bootstrap3.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 5ea2a8fed1ba0024229c6f6d77176679e1b24791bdbce8e285634013d4a93551 at91bootstrap3-v3.10.3-git4.tar.gz diff --git a/board/acmesystems/arietta-g25/patches/linux-headers/linux-headers.hash b/board/acmesystems/arietta-g25/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/acmesystems/arietta-g25/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/acmesystems/arietta-g25/patches/linux/linux.hash b/board/acmesystems/arietta-g25/patches/linux/linux.hash new file mode 100644 index 00000000000..81824a41ee4 --- /dev/null +++ b/board/acmesystems/arietta-g25/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 6c5e4d3c87feadbfdb9f7d2e46f3f120b00286ba380491c5956708e0b94232c8 linux-4.19.315.tar.xz diff --git a/board/acmesystems/arietta-g25/post-image.sh b/board/acmesystems/arietta-g25/post-image.sh deleted file mode 100755 index 2846f56d722..00000000000 --- a/board/acmesystems/arietta-g25/post-image.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/board/altera/socrates_cyclone5/boot-env.txt b/board/altera/socrates_cyclone5/boot-env.txt deleted file mode 100644 index ed5b61386cc..00000000000 --- a/board/altera/socrates_cyclone5/boot-env.txt +++ /dev/null @@ -1,8 +0,0 @@ -linux_load_address=0x100000 -linux_dtb_load_address=0x100 -linux_dtb=socfpga_cyclone5_socrates.dtb -linux_load=mmc rescan; fatload mmc 0:1 ${linux_load_address} zImage; fatload mmc 0:1 ${linux_dtb_load_address} ${linux_dtb} -bootargs=console=ttyS0,115200 root=/dev/mmcblk0p3 ro rootwait -source_env=fatload mmc 0:1 0x2000000 boot.scr; source 0x2000000 -bootcmd=run linux_load; bootz ${linux_load_address} - ${linux_dtb_load_address} -bootdelay=1 diff --git a/board/altera/socrates_cyclone5/genimage.cfg b/board/altera/socrates_cyclone5/genimage.cfg deleted file mode 100644 index 63fef8ba476..00000000000 --- a/board/altera/socrates_cyclone5/genimage.cfg +++ /dev/null @@ -1,58 +0,0 @@ -image boot.vfat { - vfat { - files = { - "zImage", - "socfpga_cyclone5_socrates.dtb" - } - } - size = 8M -} - -image uboot.img { - hdimage { - partition-table = "no" - } - - partition spl { - in-partition-table = "no" - image = "u-boot-spl.bin.crc" - offset = 0 - size = 64k - } - - partition uboot-full { - in-partition-table = "no" - image = "u-boot.img" - offset = 256k - } - - size = 1M -} - -image sdcard.img { - hdimage { - } - - partition uboot-env { - in-partition-table = "no" - image = "uboot-env.bin" - offset = 17408 # 512 * 34 -> just after gpt - } - - partition boot { - partition-type = 0xc - bootable = "true" - image = "boot.vfat" - } - - partition uboot { - partition-type = 0xa2 - image = "uboot.img" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext2" - size = 500M - } -} diff --git a/board/altera/socrates_cyclone5/readme.txt b/board/altera/socrates_cyclone5/readme.txt deleted file mode 100644 index 4e78feef11a..00000000000 --- a/board/altera/socrates_cyclone5/readme.txt +++ /dev/null @@ -1,52 +0,0 @@ -EBV SoCrates Evaluation Board - -Intro -===== - -More information about this board can be found here: -https://rocketboards.org/foswiki/Documentation/EBVSoCratesEvaluationBoard - -Build -===== - -First, load socrates config for buildroot - - make socrates_cyclone5_defconfig - -Build everything - - make - -Following files will be generated in output/images - -. -├── boot.vfat -├── rootfs.ext2 -├── rootfs.ext4 -> rootfs.ext2 -├── rootfs.tar -├── sdcard.img -├── socfpga_cyclone5_socrates.dtb -├── u-boot-spl.bin -├── u-boot-spl.bin.crc -├── u-boot.bin -├── u-boot.img -├── uboot-env.bin -├── uboot.img -└── zImage - - -Creating bootable SD card -========================= - -Simply invoke - -dd if=output/images/sdcard.img of=/dev/sdX - -Where X is your SD card device (not partition) - -Booting -======= - -Pins 6:8 on P18 selector is used to determine boot device. To boot socrates from -sdcard set these pins to value 0x5 (101b). Remaining pins are used to determine -how to configure FPGA and are not associated with booting into Linux kernel. diff --git a/board/amarula/vyasa/extlinux.conf b/board/amarula/vyasa/extlinux.conf new file mode 100644 index 00000000000..a8fcc35f5a6 --- /dev/null +++ b/board/amarula/vyasa/extlinux.conf @@ -0,0 +1,4 @@ +label Vyasa linux-next + kernel /boot/uImage + devicetree /boot/rk3288-vyasa.dtb + append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait diff --git a/board/amarula/vyasa/genimage.cfg b/board/amarula/vyasa/genimage.cfg new file mode 100644 index 00000000000..e7076679da2 --- /dev/null +++ b/board/amarula/vyasa/genimage.cfg @@ -0,0 +1,22 @@ +image sdcard.img { + hdimage { + } + + partition u-boot-tpl-spl-dtb { + in-partition-table = "no" + image = "u-boot-tpl-spl-dtb.img" + offset = 32K + } + + partition u-boot-dtb { + in-partition-table = "no" + image = "u-boot-dtb.img" + offset = 8M + size = 30M # falcon mode: args @ 16M args, uImage @ 17M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/amarula/vyasa/linux_gmac.fragment b/board/amarula/vyasa/linux_gmac.fragment new file mode 100644 index 00000000000..8ebf383597b --- /dev/null +++ b/board/amarula/vyasa/linux_gmac.fragment @@ -0,0 +1,3 @@ +# Currently mainline kernel exhibits issues when running rockchip gmac +# on the board, so enable it as loadable module and insert it later +CONFIG_DWMAC_ROCKCHIP=m diff --git a/board/amarula/vyasa/patches/linux-headers/linux-headers.hash b/board/amarula/vyasa/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/amarula/vyasa/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/amarula/vyasa/patches/linux/linux.hash b/board/amarula/vyasa/patches/linux/linux.hash new file mode 100644 index 00000000000..f83883b936d --- /dev/null +++ b/board/amarula/vyasa/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz diff --git a/board/amarula/vyasa/patches/uboot/uboot.hash b/board/amarula/vyasa/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/amarula/vyasa/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/amarula/vyasa/post-build.sh b/board/amarula/vyasa/post-build.sh new file mode 100755 index 00000000000..ffbbcdeb589 --- /dev/null +++ b/board/amarula/vyasa/post-build.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +MKIMAGE=$HOST_DIR/bin/mkimage +BOARD_DIR="$(dirname $0)" + +$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-tpl.bin $BINARIES_DIR/u-boot-tpl.img +cat $BINARIES_DIR/u-boot-tpl.img $BINARIES_DIR/u-boot-spl-dtb.bin > $BINARIES_DIR/u-boot-tpl-spl-dtb.img + +install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf diff --git a/board/amarula/vyasa/readme.txt b/board/amarula/vyasa/readme.txt new file mode 100644 index 00000000000..b95889e8141 --- /dev/null +++ b/board/amarula/vyasa/readme.txt @@ -0,0 +1,31 @@ +Vyasa RK3288 +============ + +Vyasa is RK3288 based Single board computer with fully supported opensource software. + +https://openedev.amarulasolutions.com/display/ODWIKI/Vyasa+RK3288 + +How to build it +=============== + + $ make amarula_vyasa_rk3288_defconfig + +Then you can edit the build options using + + $ make menuconfig + +Compile all and build rootfs image: + + $ make + +Prepare your SDCard +=================== + +Buildroot generates a ready-to-use SD card image that you can flash directly to +the card. The image will be in output/images/sdcard.img. +You can write this image directly to an SD card device (i.e. /dev/xxx): + + $ sudo dd if=output/images/sdcard.img of=/dev/xxx + $ sudo sync + +Finally, you can insert the SD card to the Vyasa RK3288 board, close J4 and boot it. diff --git a/board/andes/ae350/genimage_sdcard.cfg b/board/andes/ae350/genimage_sdcard.cfg new file mode 100644 index 00000000000..58c6f8f1560 --- /dev/null +++ b/board/andes/ae350/genimage_sdcard.cfg @@ -0,0 +1,26 @@ +image boot.vfat { + vfat { + files = { + "u-boot-spl.bin", + "u-boot.itb", + "ae350_ax45mp.dtb", + } + } + size = 2M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + bootable = true + image = "rootfs.ext4" + } +} diff --git a/board/andes/ae350/patches/linux-headers/linux-headers.hash b/board/andes/ae350/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/andes/ae350/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/andes/ae350/patches/linux/linux.hash b/board/andes/ae350/patches/linux/linux.hash new file mode 100644 index 00000000000..1a6a136b71b --- /dev/null +++ b/board/andes/ae350/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 c71af3d2c86c0a0deca4f54b51d1c35217082b030052cc3513dc42e852652733 linux-v6.0.y-andes.tar.gz diff --git a/board/andes/ae350/patches/opensbi/opensbi.hash b/board/andes/ae350/patches/opensbi/opensbi.hash new file mode 100644 index 00000000000..d7893a1deec --- /dev/null +++ b/board/andes/ae350/patches/opensbi/opensbi.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 d11702103f177a2914e94eec57ce5ed820296d874f6b6525c4482e55d71a3667 opensbi-1.6.tar.gz diff --git a/board/andes/ae350/patches/uboot/uboot.hash b/board/andes/ae350/patches/uboot/uboot.hash new file mode 100644 index 00000000000..440526977bd --- /dev/null +++ b/board/andes/ae350/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 0f933f6c5a426895bf306e93e6ac53c60870e4b54cda56d95211bec99e63bec7 u-boot-2025.07.tar.bz2 diff --git a/board/andes/ae350/post-build.sh b/board/andes/ae350/post-build.sh new file mode 100755 index 00000000000..e1669c2bcd2 --- /dev/null +++ b/board/andes/ae350/post-build.sh @@ -0,0 +1,3 @@ +#!/bin/sh +cp "$BINARIES_DIR"/Image "$TARGET_DIR"/boot +cp "$BINARIES_DIR"/ae350_ax45mp.dtb "$TARGET_DIR"/boot diff --git a/board/andes/ae350/readme.txt b/board/andes/ae350/readme.txt new file mode 100644 index 00000000000..36561fc777f --- /dev/null +++ b/board/andes/ae350/readme.txt @@ -0,0 +1,106 @@ +Intro +===== + +Andestech AE350 Platform + +The AE350 prototype demonstrates the AE350 platform on the FPGA. + +How to build it +=============== + +Configure Buildroot +------------------- + + $ make andes_ae350_45_defconfig + +If you want to customize your configuration: + + $ make menuconfig + +Build everything +---------------- +Note: you will need to access to the network, since Buildroot will +download the packages' sources. + + $ make + +Result of the build +------------------- + +After building, you should obtain the following files: + + output/images/ + |-- ae350_ax45mp.dtb + |-- boot.vfat + |-- fw_dynamic.bin + |-- fw_dynamic.elf + |-- Image + |-- rootfs.ext2 + |-- rootfs.ext4 -> rootfs.ext2 + |-- sdcard.img + |-- u-boot-spl.bin + `-- u-boot.itb + +How to update the bootloader and device-tree +============================================ + +To update the bootloader and device tree, make sure you have +an ICEman (Andes OpenOCD [1]) and AICE [2] connection set up +as below: + + Local Host Local/Remote Host + .-----------------. .--------------. + | buildroot images| | | + | | ICEman host + | .----------. | | .--------. | + | | SPI_burn |<---+--socket--+->| ICEman | | + | '----------' | | '--.-----' | + '-----------------' '-----|--------' + | + USB + .--------------. | + | target | .-----v-----. + | board <----JTAG---| AICE | + | | '-----------' + '--------------' + +[1] https://github.com/andestech/ICEman +[2] https://www.andestech.com/en/products-solutions/andeshape-platforms/aice-micro/ + +The Andes SPI_burn tool will be located in output/host/bin. Use +the following commands to update the bootloader and device tree: + + $ SPI_burn --host $ICE_IP --port $ICE_BURNER_PORT --addr 0x0 -i u-boot-spl.bin + $ SPI_burn --host $ICE_IP --port $ICE_BURNER_PORT --addr 0x10000 -i u-boot.itb + $ SPI_burn --host $ICE_IP --port $ICE_BURNER_PORT --addr 0xf0000 -i ae350_ax45mp.dtb + +Note that the --addr option specifies the offset starting from +the flash base address 0x80000000 and set by U-Boot configurations. +e.g. +u-boot-spl.bin : CONFIG_SPL_TEXT_BASE=0x80000000 +u-boot.itb : CONFIG_SPL_LOAD_FIT_ADDRESS=0x80010000 +ae350_ax45mp.dtb: CONFIG_SYS_FDT_BASE=0x800f0000 + +How to write the SD card +======================== + +Copy the sdcard.img to a SD card with "dd": + + $ sudo dd if=sdcard.img of=/dev/sdX bs=4096 + $ sudo sync + +Your SD card partition should be: + + Disk /dev/sdb: 14.48 GiB, 15552479232 bytes, 30375936 sectors + Disk model: Multi-Card + Units: sectors of 1 * 512 = 512 bytes + Sector size (logical/physical): 512 bytes / 512 bytes + I/O size (minimum/optimal): 512 bytes / 512 bytes + Disklabel type: dos + Disk identifier: 0x00000000 + + Device Boot Start End Sectors Size Id Type + /dev/sdb1 1 4096 4096 2M c W95 FAT32 (LBA) + /dev/sdb2 * 4097 126976 122880 60M 83 Linux + +Insert SD card and reset the board, it should boot Linux from mmc. diff --git a/board/andes/ae350/rootfs_overlay/boot/extlinux/extlinux.conf b/board/andes/ae350/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..be19e196a80 --- /dev/null +++ b/board/andes/ae350/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label linux + kernel /boot/Image + fdt /boot/ae350_ax45mp.dtb + append earlycon=sbi root=/dev/mmcblk0p2 rootwait diff --git a/board/andes/ae350/uboot.config.fragment b/board/andes/ae350/uboot.config.fragment new file mode 100644 index 00000000000..4497ed4c744 --- /dev/null +++ b/board/andes/ae350/uboot.config.fragment @@ -0,0 +1,6 @@ +CONFIG_SPL_FS_FAT=y +CONFIG_SPL_MMC=y +CONFIG_SPL_OPENSBI_LOAD_ADDR=0x0 +CONFIG_SPL_OPENSBI_SCRATCH_OPTIONS=0x0 +CONFIG_DISPLAY_CPUINFO=y +CONFIG_DISPLAY_BOARDINFO=y diff --git a/board/arcturus/aarch64-ucls1012a/post-build.sh b/board/arcturus/aarch64-ucls1012a/post-build.sh new file mode 100755 index 00000000000..372df59c61f --- /dev/null +++ b/board/arcturus/aarch64-ucls1012a/post-build.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +mkdir -p ${TARGET_DIR}/lib/firmware +cp -f ${BUILD_DIR}/linux-custom/br2-ucls1012a.its ${BINARIES_DIR}/ diff --git a/board/arcturus/aarch64-ucls1012a/post-image.sh b/board/arcturus/aarch64-ucls1012a/post-image.sh new file mode 100755 index 00000000000..ccfacd3858b --- /dev/null +++ b/board/arcturus/aarch64-ucls1012a/post-image.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +MKIMAGE=${HOST_DIR}/usr/bin/mkimage +MKIMAGE_IN=${BINARIES_DIR}/br2-ucls1012a.its +MKIMAGE_OUT=${BINARIES_DIR}/part0-000000.itb +${MKIMAGE} -f ${MKIMAGE_IN} ${MKIMAGE_OUT} diff --git a/board/arcturus/aarch64-ucls1012a/readme.txt b/board/arcturus/aarch64-ucls1012a/readme.txt new file mode 100644 index 00000000000..b486ecebc71 --- /dev/null +++ b/board/arcturus/aarch64-ucls1012a/readme.txt @@ -0,0 +1,74 @@ +Arcturus uCLS1012A SoM +====================== + +This tutorial describes how to use the predefined Buildroot +configuration for the Arcturus uCLS101A SoM platform. + +Additional information about the uCLS1012A System on Module can be found at +https://www.arcturusnetworks.com/products/ucls1012a +and product support for registered users at +https://www.arcturusnetworks.com/support + +Building +-------- + +Return to the top directory and execute the following commands. + + make arcturus_ucls1012a_defconfig + make + +Result of the build +------------------- + +After building, you should obtain this tree: + + output/images/ + +-- arc-ucls1012a.dtb + +-- Image.gz + +-- part0-000000.itb + +-- rootfs.cpio + +-- rootfs.cpio.gz + +-- rootfs.tar + +-- u-boot.bin + +-- br2-ucls1012a.its + +Flashing +-------- + +You'll need to program the image created by buildroot into the SPI NOR flash. + +1. Reboot your module and via the serial console press to enter the B$ +u-boot shell. + From the shell you will need to update four environment variables replacing the + IPv4 IP Address with ones that will work with your network and tftp server. + + B$ setenv ipaddr 192.168.1.81 + B$ setenv serverip 192.168.1.80 + B$ setenv gatewayip 192.168.1.1 + B$ setenv netmask 255.255.255.0 + B$ saveenv + +2. Enable tftp server to serve the /output/images/ folder. + +3. Program the new U-Boot binary (optional) + If you don't feel confident upgrading your bootloader then don't do it, + it's unnecessary most of the time. + + B$ tftp u-boot.bin + B$ run program_uboot + +4. Program the ITB image (includes Kernel, DTB and Ramdisk) + + B$ tftp part0-000000.itb + B$ run iprogram + +5. Booting your new system + + Reboot your system by reset command + B$ reset + + or + + B$ run bootcmd + +Good Luck ! diff --git a/board/arcturus/ppc-ucp1020/configs/linux-4.1.x.config b/board/arcturus/ppc-ucp1020/configs/linux-4.1.x.config deleted file mode 100644 index a371df810ee..00000000000 --- a/board/arcturus/ppc-ucp1020/configs/linux-4.1.x.config +++ /dev/null @@ -1,269 +0,0 @@ -CONFIG_PPC_85xx=y -CONFIG_SMP=y -CONFIG_NR_CPUS=2 -CONFIG_CROSS_COMPILE="powerpc-linux-" -CONFIG_LOCALVERSION="-ANI-uCP1020-64EE512" -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_DEFAULT_HOSTNAME="uCP1020-64EE512" -# CONFIG_SWAP is not set -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_AUDIT=y -CONFIG_NO_HZ_IDLE=y -CONFIG_BSD_PROCESS_ACCT=y -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_LOG_CPU_MAX_BUF_SHIFT=14 -CONFIG_SYSFS_DEPRECATED=y -CONFIG_BLK_DEV_INITRD=y -# CONFIG_RD_BZIP2 is not set -# CONFIG_RD_LZMA is not set -# CONFIG_RD_XZ is not set -# CONFIG_RD_LZO is not set -# CONFIG_RD_LZ4 is not set -CONFIG_SYSCTL_SYSCALL=y -CONFIG_EMBEDDED=y -# CONFIG_SLUB_DEBUG is not set -# CONFIG_COMPAT_BRK is not set -CONFIG_JUMP_LABEL=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_MODULE_FORCE_UNLOAD=y -# CONFIG_BLK_DEV_BSG is not set -CONFIG_PARTITION_ADVANCED=y -CONFIG_MAC_PARTITION=y -# CONFIG_EFI_PARTITION is not set -# CONFIG_IOSCHED_CFQ is not set -CONFIG_UCP1020_SOM=y -CONFIG_HIGHMEM=y -CONFIG_PREEMPT=y -# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set -CONFIG_MATH_EMULATION=y -CONFIG_MATH_EMULATION_HW_UNIMPLEMENTED=y -CONFIG_SWIOTLB=y -# CONFIG_COMPACTION is not set -CONFIG_PCI=y -CONFIG_PCIEPORTBUS=y -# CONFIG_PCIEAER is not set -# CONFIG_PCIEASPM is not set -CONFIG_PCI_MSI=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_XFRM_USER=y -CONFIG_NET_KEY=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_SYN_COOKIES=y -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -# CONFIG_INET_LRO is not set -# CONFIG_IPV6 is not set -CONFIG_NETFILTER=y -CONFIG_BRIDGE_NETFILTER=y -CONFIG_NF_CONNTRACK=y -CONFIG_NF_CONNTRACK_FTP=y -CONFIG_NETFILTER_XT_TARGET_CONNMARK=y -CONFIG_NETFILTER_XT_TARGET_MARK=y -CONFIG_NETFILTER_XT_MATCH_COMMENT=y -CONFIG_NETFILTER_XT_MATCH_CONNMARK=y -CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y -CONFIG_NETFILTER_XT_MATCH_HELPER=y -CONFIG_NETFILTER_XT_MATCH_MARK=y -CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y -CONFIG_NETFILTER_XT_MATCH_STATE=y -CONFIG_NF_CONNTRACK_IPV4=y -CONFIG_IP_NF_IPTABLES=y -CONFIG_IP_NF_FILTER=y -CONFIG_IP_NF_TARGET_REJECT=y -CONFIG_IP_NF_NAT=y -CONFIG_IP_NF_TARGET_MASQUERADE=y -CONFIG_IP_NF_TARGET_NETMAP=y -CONFIG_IP_NF_TARGET_REDIRECT=y -CONFIG_IP_NF_MANGLE=y -CONFIG_BRIDGE=y -CONFIG_VLAN_8021Q=y -CONFIG_NET_SCHED=y -CONFIG_NET_SCH_HTB=y -CONFIG_CFG80211=y -# CONFIG_CFG80211_DEFAULT_PS is not set -CONFIG_MAC80211=y -# CONFIG_MAC80211_RC_MINSTREL is not set -CONFIG_UEVENT_HELPER_PATH="/bin/hotplug" -CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y -CONFIG_MTD=y -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_BLOCK=y -CONFIG_FTL=y -CONFIG_MTD_CFI=y -CONFIG_MTD_CFI_INTELEXT=y -CONFIG_MTD_CFI_AMDSTD=y -CONFIG_MTD_PHYSMAP_OF=y -CONFIG_MTD_M25P80=y -CONFIG_MTD_SST25L=y -CONFIG_MTD_NAND=y -CONFIG_MTD_NAND_PLATFORM=y -CONFIG_MTD_NAND_FSL_ELBC=y -CONFIG_MTD_NAND_FSL_UPM=y -CONFIG_MTD_SPI_NOR=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_SIZE=131072 -CONFIG_EEPROM_AT25=y -CONFIG_SCSI=y -CONFIG_BLK_DEV_SD=y -CONFIG_CHR_DEV_ST=y -CONFIG_BLK_DEV_SR=y -CONFIG_CHR_DEV_SG=y -CONFIG_SCSI_LOGGING=y -CONFIG_NETDEVICES=y -# CONFIG_NET_VENDOR_3COM is not set -# CONFIG_NET_VENDOR_ADAPTEC is not set -# CONFIG_NET_VENDOR_AGERE is not set -# CONFIG_NET_VENDOR_ALTEON is not set -# CONFIG_NET_VENDOR_AMD is not set -# CONFIG_NET_VENDOR_ARC is not set -# CONFIG_NET_VENDOR_ATHEROS is not set -# CONFIG_NET_CADENCE is not set -# CONFIG_NET_VENDOR_BROADCOM is not set -# CONFIG_NET_VENDOR_BROCADE is not set -# CONFIG_NET_VENDOR_CHELSIO is not set -# CONFIG_NET_VENDOR_CISCO is not set -# CONFIG_NET_VENDOR_DEC is not set -# CONFIG_NET_VENDOR_DLINK is not set -# CONFIG_NET_VENDOR_EMULEX is not set -# CONFIG_NET_VENDOR_EXAR is not set -CONFIG_GIANFAR=y -# CONFIG_NET_VENDOR_HP is not set -# CONFIG_NET_VENDOR_INTEL is not set -# CONFIG_NET_VENDOR_MARVELL is not set -# CONFIG_NET_VENDOR_MELLANOX is not set -# CONFIG_NET_VENDOR_MICREL is not set -# CONFIG_NET_VENDOR_MICROCHIP is not set -# CONFIG_NET_VENDOR_MYRI is not set -# CONFIG_NET_VENDOR_NATSEMI is not set -# CONFIG_NET_VENDOR_NVIDIA is not set -# CONFIG_NET_VENDOR_OKI is not set -# CONFIG_NET_PACKET_ENGINE is not set -# CONFIG_NET_VENDOR_QLOGIC is not set -# CONFIG_NET_VENDOR_QUALCOMM is not set -# CONFIG_NET_VENDOR_REALTEK is not set -# CONFIG_NET_VENDOR_RDC is not set -# CONFIG_NET_VENDOR_ROCKER is not set -# CONFIG_NET_VENDOR_SAMSUNG is not set -# CONFIG_NET_VENDOR_SEEQ is not set -# CONFIG_NET_VENDOR_SILAN is not set -# CONFIG_NET_VENDOR_SIS is not set -# CONFIG_NET_VENDOR_SMSC is not set -# CONFIG_NET_VENDOR_STMICRO is not set -# CONFIG_NET_VENDOR_SUN is not set -# CONFIG_NET_VENDOR_TEHUTI is not set -# CONFIG_NET_VENDOR_TI is not set -# CONFIG_NET_VENDOR_VIA is not set -# CONFIG_NET_VENDOR_WIZNET is not set -# CONFIG_NET_VENDOR_XILINX is not set -CONFIG_MICREL_PHY=y -CONFIG_IWLWIFI=m -# CONFIG_INPUT_MOUSEDEV is not set -# CONFIG_INPUT_KEYBOARD is not set -# CONFIG_INPUT_MOUSE is not set -CONFIG_SERIO_LIBPS2=y -CONFIG_LEGACY_PTY_COUNT=16 -CONFIG_NOZOMI=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_NR_UARTS=2 -CONFIG_SERIAL_8250_RUNTIME_UARTS=2 -CONFIG_SERIAL_8250_MANY_PORTS=y -CONFIG_SERIAL_8250_DETECT_IRQ=y -CONFIG_SERIAL_8250_RSA=y -CONFIG_NVRAM=y -CONFIG_I2C_CHARDEV=y -CONFIG_I2C_MPC=y -CONFIG_SPI=y -CONFIG_SPI_BITBANG=y -CONFIG_SPI_FSL_ESPI=y -CONFIG_SPI_SPIDEV=y -CONFIG_GPIOLIB=y -CONFIG_GPIO_MPC8XXX=y -CONFIG_SENSORS_LM90=y -CONFIG_THERMAL=y -CONFIG_WATCHDOG=y -CONFIG_BOOKE_WDT=y -CONFIG_BOOKE_WDT_DEFAULT_TIMEOUT=36 -CONFIG_MEDIA_SUPPORT=y -CONFIG_MEDIA_CAMERA_SUPPORT=y -CONFIG_MEDIA_CONTROLLER=y -CONFIG_VIDEO_V4L2_SUBDEV_API=y -CONFIG_MEDIA_USB_SUPPORT=y -CONFIG_USB_VIDEO_CLASS=y -CONFIG_USB_GSPCA=y -CONFIG_USB_PWC=y -CONFIG_USB_ZR364XX=y -CONFIG_USB_STKWEBCAM=y -CONFIG_VIDEO_EM28XX=y -CONFIG_VIDEO_EM28XX_V4L2=y -# CONFIG_HID is not set -# CONFIG_USB_HID is not set -CONFIG_USB=y -CONFIG_USB_ANNOUNCE_NEW_DEVICES=y -CONFIG_USB_DYNAMIC_MINORS=y -CONFIG_USB_MON=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_FSL=y -CONFIG_USB_ACM=y -CONFIG_USB_WDM=y -CONFIG_USB_TMC=y -CONFIG_USB_STORAGE=y -CONFIG_USB_STORAGE_DEBUG=y -CONFIG_USB_MDC800=y -CONFIG_MMC=y -CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_PLTFM=y -CONFIG_MMC_SDHCI_OF_ESDHC=y -CONFIG_DMADEVICES=y -CONFIG_FSL_DMA=y -CONFIG_ASYNC_TX_DMA=y -# CONFIG_IOMMU_SUPPORT is not set -CONFIG_EXT2_FS=y -CONFIG_EXT3_FS=y -# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set -# CONFIG_EXT3_FS_XATTR is not set -CONFIG_EXT4_FS=y -CONFIG_XFS_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y -CONFIG_NTFS_FS=y -CONFIG_PROC_KCORE=y -CONFIG_TMPFS=y -CONFIG_JFFS2_FS=y -CONFIG_JFFS2_FS_WBUF_VERIFY=y -CONFIG_JFFS2_SUMMARY=y -CONFIG_JFFS2_FS_XATTR=y -CONFIG_JFFS2_COMPRESSION_OPTIONS=y -CONFIG_JFFS2_LZO=y -CONFIG_JFFS2_RUBIN=y -CONFIG_CRAMFS=y -CONFIG_NFS_FS=y -CONFIG_NFS_V4=y -CONFIG_NFSD=y -CONFIG_CIFS=y -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_ISO8859_1=y -CONFIG_CRC_T10DIF=y -CONFIG_CRC_ITU_T=y -# CONFIG_SCHED_DEBUG is not set -# CONFIG_DEBUG_PREEMPT is not set -# CONFIG_DEBUG_BUGVERBOSE is not set -CONFIG_RCU_CPU_STALL_TIMEOUT=60 -# CONFIG_RCU_CPU_STALL_INFO is not set -# CONFIG_FTRACE is not set -CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_PCBC=y -CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA1_PPC=y -CONFIG_CRYPTO_DEFLATE=y -# CONFIG_CRYPTO_ANSI_CPRNG is not set -CONFIG_CRYPTO_DEV_TALITOS=y diff --git a/board/arcturus/ppc-ucp1020/patches/linux/0001-Arcturus-uCP1020-BSP-support.patch b/board/arcturus/ppc-ucp1020/patches/linux/0001-Arcturus-uCP1020-BSP-support.patch deleted file mode 100644 index 759712714ef..00000000000 --- a/board/arcturus/ppc-ucp1020/patches/linux/0001-Arcturus-uCP1020-BSP-support.patch +++ /dev/null @@ -1,462 +0,0 @@ -From a243628639e12a4bd0a737eac78a12ed240cd137 Mon Sep 17 00:00:00 2001 -From: Oleksandr G Zhadan -Date: Mon, 18 Jul 2016 10:40:16 -0400 -Subject: [PATCH] Arcturus uCP1020 BSP support - -The uCP1020 product family (ucp1020) is an Arcturus Networks Inc. -System on Modules product featuring a NXP QorIQ P1020 CPU, -optionally populated with 1 or 2 Gig-Ethernet PHYs, -DDR3, NOR Flash, eMMC NAND Flash and/or SPI Flash. - -Signed-off-by: Oleksandr G Zhadan -Signed-off-by: Michael Durrant ---- - arch/powerpc/boot/dts/ucp1020.dts | 87 ++++++++++++ - arch/powerpc/boot/dts/ucp1020.dtsi | 211 ++++++++++++++++++++++++++++++ - arch/powerpc/platforms/85xx/Kconfig | 7 + - arch/powerpc/platforms/85xx/Makefile | 1 + - arch/powerpc/platforms/85xx/ucp1020_som.c | 92 +++++++++++++ - 5 files changed, 398 insertions(+) - create mode 100644 arch/powerpc/boot/dts/ucp1020.dts - create mode 100644 arch/powerpc/boot/dts/ucp1020.dtsi - create mode 100644 arch/powerpc/platforms/85xx/ucp1020_som.c - -diff --git a/arch/powerpc/boot/dts/ucp1020.dts b/arch/powerpc/boot/dts/ucp1020.dts -new file mode 100644 -index 0000000..291e70a ---- /dev/null -+++ b/arch/powerpc/boot/dts/ucp1020.dts -@@ -0,0 +1,87 @@ -+/* -+ * uCP1020 Tree Source (32-bit address map) -+ * -+ * Copyright 2013-2016 Arcturus Networks Inc. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * * Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * * Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * * Neither the name of Freescale Semiconductor nor the -+ * names of its contributors may be used to endorse or promote products -+ * derived from this software without specific prior written permission. -+ * -+ * -+ * ALTERNATIVELY, this software may be distributed under the terms of the -+ * GNU General Public License ("GPL") as published by the Free Software -+ * Foundation, either version 2 of that License or (at your option) any -+ * later version. -+ * -+ * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY -+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -+ * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY -+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+/include/ "fsl/p1020si-pre.dtsi" -+/ { -+ model = "arcturus,uCP1020"; -+ compatible = "arcturus,uCP1020"; -+ -+ memory { -+ device_type = "memory"; -+ }; -+ -+ lbc: localbus@ffe05000 { -+ reg = <0 0xffe05000 0 0x1000>; -+ -+ /* NOR Flash */ -+ ranges = <0x0 0x0 0x0 0xec000000 0x04000000>; -+ }; -+ -+ soc: soc@ffe00000 { -+ ranges = <0x0 0x0 0xffe00000 0x100000>; -+ }; -+ -+ pci0: pcie@ffe09000 { -+ ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 -+ 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>; -+ reg = <0 0xffe09000 0 0x1000>; -+ pcie@0 { -+ ranges = <0x2000000 0x0 0xa0000000 -+ 0x2000000 0x0 0xa0000000 -+ 0x0 0x20000000 -+ -+ 0x1000000 0x0 0x0 -+ 0x1000000 0x0 0x0 -+ 0x0 0x100000>; -+ }; -+ }; -+ -+ pci1: pcie@ffe0a000 { -+ reg = <0 0xffe0a000 0 0x1000>; -+ ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000 -+ 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>; -+ pcie@0 { -+ ranges = <0x2000000 0x0 0x80000000 -+ 0x2000000 0x0 0x80000000 -+ 0x0 0x20000000 -+ -+ 0x1000000 0x0 0x0 -+ 0x1000000 0x0 0x0 -+ 0x0 0x100000>; -+ }; -+ }; -+}; -+ -+/include/ "ucp1020.dtsi" -+/include/ "fsl/p1020si-post.dtsi" -diff --git a/arch/powerpc/boot/dts/ucp1020.dtsi b/arch/powerpc/boot/dts/ucp1020.dtsi -new file mode 100644 -index 0000000..7cff949 ---- /dev/null -+++ b/arch/powerpc/boot/dts/ucp1020.dtsi -@@ -0,0 +1,211 @@ -+/* -+ * uCP1020 Device Tree Source stub (no addresses or top-level ranges) -+ * -+ * Copyright 2013-2016 Arcturus Networks Inc. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * * Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * * Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * * Neither the name of Freescale Semiconductor nor the -+ * names of its contributors may be used to endorse or promote products -+ * derived from this software without specific prior written permission. -+ * -+ * -+ * ALTERNATIVELY, this software may be distributed under the terms of the -+ * GNU General Public License ("GPL") as published by the Free Software -+ * Foundation, either version 2 of that License or (at your option) any -+ * later version. -+ * -+ * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY -+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -+ * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY -+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+&lbc { -+ nor@0,0 { -+ #address-cells = <1>; -+ #size-cells = <1>; -+ compatible = "cfi-flash"; -+ reg = <0x0 0x0 0x04000000>; -+ bank-width = <2>; -+ device-width = <1>; -+ -+ partition@100000 { -+ /* 7MB - PART 0 */ -+ reg = <0x00100000 0x00700000>; -+ label = "0"; -+ }; -+ -+ partition@800000 { -+ /* 32MB - PART 1 */ -+ reg = <0x0800000 0x02000000>; -+ label = "1"; -+ }; -+ -+ partition@2800000 { -+ /* 8MB - PART 2 */ -+ reg = <0x02800000 0x00800000>; -+ label = "2"; -+ }; -+ -+ partition@3000000 { -+ /* (16MB - 512K) - PART 3 JFFS 2 */ -+ reg = <0x03000000 0x00f80000>; -+ label = "3"; -+ }; -+ -+ partition@0 { -+ /* 512KB - bootloader[u-boot, uCbootloader] */ -+ reg = <0x0 0x00080000>; -+ label = "BOOT_SPI"; -+ }; -+ -+ partition@3f80000 { -+ /* 512KB - bootloade NOR r[u-boot, uCbootloader] */ -+ reg = <0x03f80000 0x00080000>; -+ label = "B"; -+ }; -+ -+ partition@80000 { -+ /* 256KB - bootloaders environment (uCenv) */ -+ reg = <0x00080000 0x00040000>; -+ -+ label = "E"; -+ }; -+ -+ partition@C0000 { -+ /* 256KB - bootloaders environment (u-boot) */ -+ reg = <0x000C0000 0x00040000>; -+ label = "UENV"; -+ }; -+ }; -+}; -+ -+&soc { -+ i2c@3000 { -+ spoc@14 { -+ compatible = "conexant,cx2070x"; -+ reg = <0x14>; -+ }; -+ }; -+ -+ i2c@3100 { -+ dtt@4C { -+ compatible = "national,lm90"; -+ reg = <0x4C>; -+ }; -+ }; -+ -+ spi@7000 { -+ flash@0 { -+ #address-cells = <1>; -+ #size-cells = <1>; -+ compatible = "winbond,w25q80bl"; -+ reg = <0>; -+ spi-max-frequency = <40000000>; /* input clock */ -+ -+ partition@0 { -+ label = "SPI MBR"; -+ reg = <0x00000000 0x00002000>; -+ read-only; -+ }; -+ partition@2000 { -+ label = "SPI ENV"; -+ reg = <0x00002000 0x00006000>; -+ read-only; -+ }; -+ partition@8000 { -+ label = "SPI FS"; -+ reg = <0x00008000 0x000F8000>; -+ }; -+ }; -+ flash@3 { -+ #address-cells = <1>; -+ #size-cells = <1>; -+ compatible = "spansion,s25fl008k"; -+ reg = <3>; -+ spi-max-frequency = <40000000>; /* input clock */ -+ partition@0 { -+ label = "SPI USER"; -+ reg = <0x00000000 0x00100000>; -+ }; -+ }; -+ }; -+ -+ usb@22000 { -+ phy_type = "ulpi"; -+ dr_mode = "host"; -+ }; -+ -+ mdio@24000 { -+ phy0: ethernet-phy@4 { -+ interrupt-parent = <&mpic>; -+ interrupts = <4 1>; -+ reg = <0x04>; -+ }; -+ -+ phy1: ethernet-phy@6 { -+ interrupt-parent = <&mpic>; -+ interrupts = <8 1>; -+ reg = <0x6>; -+ }; -+ }; -+ -+ enet0: ethernet@b0000 { -+ phy-handle = <&phy0>; -+ phy-connection-type = "rgmii-id"; -+ }; -+ -+ enet1: ethernet@b1000 { -+ status = "disabled"; -+ }; -+ -+ enet2: ethernet@b2000 { -+ phy-handle = <&phy1>; -+ phy-connection-type = "rgmii-id"; -+ }; -+ -+ gpio0: gpio@f000 { -+ compatible = "fsl,mpc8572-gpio", "fsl,pq3-gpio"; -+ reg = <0xf000 0x1000>; -+ interrupts = <47 2>; -+ interrupt-parent = <&mpic>; -+ #gpio-cells = <2>; -+ gpio-controller; -+ }; -+ -+ gpio-leds { -+ compatible = "gpio-leds"; -+ gpio5 { -+ label = "led1"; /* LED15 */ -+ gpios = <&gpio0 5 0>; -+ }; -+ gpio12 { -+ label = "led2"; /* LED16 */ -+ gpios = <&gpio0 12 0>; -+ }; -+ gpio13 { -+ label = "led3"; /* LED17 */ -+ gpios = <&gpio0 13 0>; -+ }; -+ gpio7 { -+ label = "led4"; /* LED18 */ -+ gpios = <&gpio0 7 0>; -+ }; -+ gpio6 { -+ label = "led5"; /* LED19 */ -+ gpios = <&gpio0 6 0>; -+ }; -+ }; -+}; -diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig -index 2fb4b24..81a944f 100644 ---- a/arch/powerpc/platforms/85xx/Kconfig -+++ b/arch/powerpc/platforms/85xx/Kconfig -@@ -241,6 +241,13 @@ config SGY_CTS1000 - help - Enable this to support functionality in Servergy's CTS-1000 systems. - -+config UCP1020_SOM -+ bool "Arcturus uCP1020 Rev.1.3 System on Module" -+ select DEFAULT_UIMAGE -+ help -+ This option enables support for the Arcturus Networks Inc. -+ uCP1020 System on Module. -+ - config MVME2500 - bool "Artesyn MVME2500" - select DEFAULT_UIMAGE -diff --git a/arch/powerpc/platforms/85xx/Makefile b/arch/powerpc/platforms/85xx/Makefile -index 1fe7fb9..84f2b9a 100644 ---- a/arch/powerpc/platforms/85xx/Makefile -+++ b/arch/powerpc/platforms/85xx/Makefile -@@ -31,4 +31,5 @@ obj-$(CONFIG_XES_MPC85xx) += xes_mpc85xx.o - obj-$(CONFIG_GE_IMP3A) += ge_imp3a.o - obj-$(CONFIG_PPC_QEMU_E500) += qemu_e500.o - obj-$(CONFIG_SGY_CTS1000) += sgy_cts1000.o -+obj-$(CONFIG_UCP1020_SOM) += ucp1020_som.o - obj-$(CONFIG_MVME2500) += mvme2500.o -diff --git a/arch/powerpc/platforms/85xx/ucp1020_som.c b/arch/powerpc/platforms/85xx/ucp1020_som.c -new file mode 100644 -index 0000000..777e8ad ---- /dev/null -+++ b/arch/powerpc/platforms/85xx/ucp1020_som.c -@@ -0,0 +1,92 @@ -+/* -+ * Arcturus Networks Inc. uCP1020 module Setup -+ * -+ * Copyright 2014-2016 Arcturus Networks Inc. -+ * -+ * by Oleksandr G Zhadan & Michael Durrant (www.ArcturusNetworks.com) -+ * -+ * This program is free software; you can redistribute it and/or modify it -+ * under the terms of the GNU General Public License as published by the -+ * Free Software Foundation; either version 2 of the License, or (at your -+ * option) any later version. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include "smp.h" -+ -+#include "mpc85xx.h" -+ -+void __init ucp1020_som_pic_init(void) -+{ -+ struct mpic *mpic = mpic_alloc(NULL, 0, MPIC_BIG_ENDIAN | -+ MPIC_SINGLE_DEST_CPU, -+ 0, 256, " OpenPIC "); -+ -+ BUG_ON(mpic == NULL); -+ -+ mpic_init(mpic); -+} -+ -+/* -+ * Setup the architecture -+ */ -+static void __init ucp1020_som_setup_arch(void) -+{ -+ if (ppc_md.progress) -+ ppc_md.progress("uCP1020_SoM_setup_arch()", 0); -+ -+ mpc85xx_smp_init(); -+ -+ fsl_pci_assign_primary(); -+ pr_info("\n\t%s (http://www.arcturusnetworks.com)\n", ppc_md.name); -+} -+ -+machine_arch_initcall(ucp1020, mpc85xx_common_publish_devices); -+machine_arch_initcall(ucp1020, swiotlb_setup_bus_notifier); -+ -+/* -+ * Called very early, device-tree isn't unflattened -+ */ -+static int __init ucp1020_probe(void) -+{ -+ unsigned long root = of_get_flat_dt_root(); -+ -+ if (of_flat_dt_is_compatible(root, "arcturus,uCP1020")) -+ return 1; -+ return 0; -+} -+ -+define_machine(ucp1020) { -+ .name = "uCP1020 SoM - Arcturus Networks Inc.", -+ .probe = ucp1020_probe, -+ .setup_arch = ucp1020_som_setup_arch, -+ .init_IRQ = ucp1020_som_pic_init, -+#ifdef CONFIG_PCI -+ .pcibios_fixup_bus = fsl_pcibios_fixup_bus, -+#endif -+ .get_irq = mpic_get_irq, -+ .restart = fsl_rstcr_restart, -+ .calibrate_decr = generic_calibrate_decr, -+#ifdef DEBUG -+ .progress = udbg_progress, -+#endif -+}; --- -2.1.4 - diff --git a/board/arcturus/ppc-ucp1020/patches/linux/0002-p1020-esdhc-controller-reserved-bit.patch b/board/arcturus/ppc-ucp1020/patches/linux/0002-p1020-esdhc-controller-reserved-bit.patch deleted file mode 100644 index 9694140f82c..00000000000 --- a/board/arcturus/ppc-ucp1020/patches/linux/0002-p1020-esdhc-controller-reserved-bit.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 4c74fd1266287deca0c1ff091071c5b8558b9735 Mon Sep 17 00:00:00 2001 -From: Oleksandr G Zhadan -Date: Mon, 18 Jul 2016 10:45:41 -0400 -Subject: [PATCH 1/1] p1020 esdhc controller reserved bit - -Prevent SDHCI core from writing reserved bits, where -p1020 reserved bit is SDHCI_CTRL_HISPD, not 0x01(SDHCI_CTRL_LED). - -Signed-off-by: Oleksandr G Zhadan -Signed-off-by: Michael Durrant ---- - drivers/mmc/host/sdhci-esdhc.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/mmc/host/sdhci-esdhc.h b/drivers/mmc/host/sdhci-esdhc.h -index a870c42..b45de0a 100644 ---- a/drivers/mmc/host/sdhci-esdhc.h -+++ b/drivers/mmc/host/sdhci-esdhc.h -@@ -45,6 +45,6 @@ - #define ESDHC_DMA_SYSCTL 0x40c - #define ESDHC_DMA_SNOOP 0x00000040 - --#define ESDHC_HOST_CONTROL_RES 0x01 -+#define ESDHC_HOST_CONTROL_RES (SDHCI_CTRL_HISPD) - - #endif /* _DRIVERS_MMC_SDHCI_ESDHC_H */ --- -2.1.4 diff --git a/board/arcturus/ppc-ucp1020/patches/linux/0003-powerpc-ptrace-Fix-out-of-bounds-array-access-warning.patch b/board/arcturus/ppc-ucp1020/patches/linux/0003-powerpc-ptrace-Fix-out-of-bounds-array-access-warning.patch deleted file mode 100644 index aac15a121cf..00000000000 --- a/board/arcturus/ppc-ucp1020/patches/linux/0003-powerpc-ptrace-Fix-out-of-bounds-array-access-warning.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 35b7ce4f8f290794d3b89db7461e8c568b5defa1 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 25 Apr 2016 09:19:17 -0700 -Subject: powerpc/ptrace: Fix out of bounds array access warning - -commit 1e407ee3b21f981140491d5b8a36422979ca246f upstream. - -gcc-6 correctly warns about a out of bounds access - -arch/powerpc/kernel/ptrace.c:407:24: warning: index 32 denotes an offset greater than size of 'u64[32][1] {aka long long unsigned int[32][1]}' [-Warray-bounds] - offsetof(struct thread_fp_state, fpr[32][0])); - ^ - -check the end of array instead of beginning of next element to fix this - -Signed-off-by: Khem Raj -Cc: Kees Cook -Cc: Michael Ellerman -Cc: Segher Boessenkool -Tested-by: Aaro Koskinen -Acked-by: Olof Johansson -Cc: Arnd Bergmann -Signed-off-by: Michael Ellerman -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Oleksandr Zhadan ---- - arch/powerpc/kernel/ptrace.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c -index f21897b..93f200f 100644 ---- a/arch/powerpc/kernel/ptrace.c -+++ b/arch/powerpc/kernel/ptrace.c -@@ -376,7 +376,7 @@ static int fpr_get(struct task_struct *target, const struct user_regset *regset, - - #else - BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) != -- offsetof(struct thread_fp_state, fpr[32][0])); -+ offsetof(struct thread_fp_state, fpr[32])); - - return user_regset_copyout(&pos, &count, &kbuf, &ubuf, - &target->thread.fp_state, 0, -1); -@@ -404,7 +404,7 @@ static int fpr_set(struct task_struct *target, const struct user_regset *regset, - return 0; - #else - BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) != -- offsetof(struct thread_fp_state, fpr[32][0])); -+ offsetof(struct thread_fp_state, fpr[32])); - - return user_regset_copyin(&pos, &count, &kbuf, &ubuf, - &target->thread.fp_state, 0, -1); --- -cgit v1.1 diff --git a/board/arcturus/ppc-ucp1020/readme.txt b/board/arcturus/ppc-ucp1020/readme.txt index c46fd80e7e9..07986f50e06 100644 --- a/board/arcturus/ppc-ucp1020/readme.txt +++ b/board/arcturus/ppc-ucp1020/readme.txt @@ -38,6 +38,7 @@ You'll need to program the files created by buildroot into the NOR flash. B$ protect off 0xeff80000 +$filesize B$ erase 0xeff80000 +$filesize B$ cp.b $loadaddr 0xeff80000 $filesize + B$ protect on 0xeff80000 +$filesize 2. Program the kernel diff --git a/board/arm/foundation-v8/patches/linux-headers/linux-headers.hash b/board/arm/foundation-v8/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/arm/foundation-v8/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/arm/foundation-v8/patches/linux/linux.hash b/board/arm/foundation-v8/patches/linux/linux.hash new file mode 100644 index 00000000000..e58afb7bc7f --- /dev/null +++ b/board/arm/foundation-v8/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://cdn.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 3507dd105b0a0e1101bd43d294472fccf853429a259a5fa7c67467bba318f8e9 linux-6.15.7.tar.xz diff --git a/board/arm/foundation-v8/readme.txt b/board/arm/foundation-v8/readme.txt index 1dedf68cba5..c281faf9d64 100644 --- a/board/arm/foundation-v8/readme.txt +++ b/board/arm/foundation-v8/readme.txt @@ -1,19 +1,43 @@ +Introduction +============ + This is the support for the ARM Foundation v8 machine emulated by the ARM software simulator of the AArch64 architecture. -First, one has to download the AArch64 software simulator from: +Building +======== + + $ make arm_foundationv8_defconfig + $ make + +Generated files under output/images: + +* linux-system.axf: An image comprising the boot-wrapper-aarch64 minimal + firmware and bootloader, a Devicetree and the Linux kernel. +* rootfs.ext2: The OS root filesystem. + +Running on the simulator +======================== + +Download the AArch64 software simulator from one of the following sources, +corresponding to your host computer: + +- https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-11.29/Foundation_Platform_11.29_27_Linux64.tgz +- https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-11.29/Foundation_Platform_11.29_27_Linux64_armv8l.tgz - https://silver.arm.com/download/download.tm?pv=2663527 +The model will be located under one of the corresponding folders: -Then, use the arm_foundationv8_defconfig configuration to build your -Buildroot system. +- Foundation_Platformpkg/models/Linux64_GCC-9.3 +- Foundation_Platformpkg/models/Linux64_armv8l_GCC-9.3 Finally, boot your system with: - ${LOCATION_OF_FOUNDATIONV8_SIMULATOR}/models/Linux64_GCC-4.7/Foundation_Platform \ + Foundation_Platform \ + --arm-v8.0 \ --image output/images/linux-system.axf \ --block-device output/images/rootfs.ext2 \ - --network=nat + --network=nat \ + --cores 4 You can get network access from within the simulated environment by requesting an IP address using DHCP (run the command 'udhcpc'). diff --git a/board/arm/fvp-ebbr/fvp-config.txt b/board/arm/fvp-ebbr/fvp-config.txt new file mode 100644 index 00000000000..5c68bb638e1 --- /dev/null +++ b/board/arm/fvp-ebbr/fvp-config.txt @@ -0,0 +1,19 @@ +# Arm A-Profile Base RevC AEM FVP config +bp.secure_memory=1 +bp.terminal_1.start_telnet=0 +bp.ve_sysregs.exit_on_shutdown=1 +bp.virtio_net.enabled=1 +bp.virtio_net.hostbridge.userNetworking=1 +bp.vis.rate_limit-enable=1 +cache_state_modelled=0 +cluster0.NUM_CORES=4 +cluster0.cpu0.enable_crc32=1 +cluster0.cpu1.enable_crc32=1 +cluster0.cpu2.enable_crc32=1 +cluster0.cpu3.enable_crc32=1 +cluster1.NUM_CORES=4 +cluster1.cpu0.enable_crc32=1 +cluster1.cpu1.enable_crc32=1 +cluster1.cpu2.enable_crc32=1 +cluster1.cpu3.enable_crc32=1 +pctl.startup=0.0.0.0 diff --git a/board/arm/fvp-ebbr/fvp-ebbr.dts b/board/arm/fvp-ebbr/fvp-ebbr.dts new file mode 100644 index 00000000000..45e4b472005 --- /dev/null +++ b/board/arm/fvp-ebbr/fvp-ebbr.dts @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2024, ARM Limited and Contributors. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include "fvp-base-gicv3-psci-1t.dts" + +/* The TF-A Devicetree does not have the OP-TEE node; let's add it. */ + +/ { + firmware { + optee { + compatible = "linaro,optee-tz"; + method = "smc"; + }; + }; +}; diff --git a/board/arm/fvp-ebbr/genimage.cfg b/board/arm/fvp-ebbr/genimage.cfg new file mode 100644 index 00000000000..1ca8332b9cd --- /dev/null +++ b/board/arm/fvp-ebbr/genimage.cfg @@ -0,0 +1,31 @@ +image efi-part.vfat { + vfat { + file EFI { + image = "efi-part/EFI" + } + + file Image { + image = "Image" + } + } + + size = 128M +} + +image disk.img { + hdimage { + partition-table-type = "gpt" + } + + partition boot { + image = "efi-part.vfat" + partition-type-uuid = U + offset = 32K + bootable = true + } + + partition root { + partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae + image = "rootfs.ext2" + } +} diff --git a/board/arm/fvp-ebbr/grub.cfg b/board/arm/fvp-ebbr/grub.cfg new file mode 100644 index 00000000000..d99e19c4cd5 --- /dev/null +++ b/board/arm/fvp-ebbr/grub.cfg @@ -0,0 +1,6 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /Image root=PARTLABEL=root rootwait +} diff --git a/board/arm/fvp-ebbr/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/arm/fvp-ebbr/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..b52b00722fd --- /dev/null +++ b/board/arm/fvp-ebbr/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 a899100d9d92ceb1290fd4d61f5dd3b8af6b0e937cebc3c711cb514ac5acfaed arm-trusted-firmware-v2.14.0-git4.tar.gz diff --git a/board/arm/fvp-ebbr/patches/linux-headers/linux-headers.hash b/board/arm/fvp-ebbr/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/arm/fvp-ebbr/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/arm/fvp-ebbr/patches/linux/linux.hash b/board/arm/fvp-ebbr/patches/linux/linux.hash new file mode 100644 index 00000000000..a4cc7bd3f6f --- /dev/null +++ b/board/arm/fvp-ebbr/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://cdn.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 9106a4605da9e31ff17659d958782b815f9591ab308d03b0ee21aad6c7dced4b linux-6.18.tar.xz diff --git a/board/arm/fvp-ebbr/patches/optee-client/optee-client.hash b/board/arm/fvp-ebbr/patches/optee-client/optee-client.hash new file mode 100644 index 00000000000..6c61615dbe6 --- /dev/null +++ b/board/arm/fvp-ebbr/patches/optee-client/optee-client.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 464b3bf5bc4a61830357dbf81a0e5b89414d3bca1c2a752570cb0e40d2f1e637 optee-client-4.8.0.tar.gz diff --git a/board/arm/fvp-ebbr/patches/optee-os/0001-plat-vexpress-redirect-console-to-uart0.patch b/board/arm/fvp-ebbr/patches/optee-os/0001-plat-vexpress-redirect-console-to-uart0.patch new file mode 100644 index 00000000000..aa61594088c --- /dev/null +++ b/board/arm/fvp-ebbr/patches/optee-os/0001-plat-vexpress-redirect-console-to-uart0.patch @@ -0,0 +1,34 @@ +From 1debd0c8bd46255f8c22b128ec16586ef9154869 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= +Date: Tue, 2 Dec 2025 15:53:23 +0100 +Subject: [PATCH] plat-vexpress: redirect console to uart0 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +For consistency with TF-A, U-Boot and Linux. + +Upstream: Not applicable. Buildroot specific. +Signed-off-by: Vincent Stehlé +--- + core/arch/arm/plat-vexpress/platform_config.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/core/arch/arm/plat-vexpress/platform_config.h b/core/arch/arm/plat-vexpress/platform_config.h +index 9231f3048..76c7fdb36 100644 +--- a/core/arch/arm/plat-vexpress/platform_config.h ++++ b/core/arch/arm/plat-vexpress/platform_config.h +@@ -23,8 +23,8 @@ + + #define IT_UART1 38 + +-#define CONSOLE_UART_BASE UART1_BASE +-#define IT_CONSOLE_UART IT_UART1 ++#define CONSOLE_UART_BASE UART0_BASE ++#undef IT_CONSOLE_UART + + #elif defined(PLATFORM_FLAVOR_juno) + +-- +2.51.0 + diff --git a/board/arm/fvp-ebbr/patches/optee-os/optee-os.hash b/board/arm/fvp-ebbr/patches/optee-os/optee-os.hash new file mode 100644 index 00000000000..80b30de9ead --- /dev/null +++ b/board/arm/fvp-ebbr/patches/optee-os/optee-os.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 5222cd553f5edb69ae4ec7cb99b2bfec2c47a47c0be1865b49744701918e8b4d optee-os-4.8.0.tar.gz diff --git a/board/arm/fvp-ebbr/patches/uboot/uboot.hash b/board/arm/fvp-ebbr/patches/uboot/uboot.hash new file mode 100644 index 00000000000..98a5c53aaf9 --- /dev/null +++ b/board/arm/fvp-ebbr/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b4f032848e56cc8f213ad59f9132c084dbbb632bc29176d024e58220e0efdf4a u-boot-2025.10.tar.bz2 diff --git a/board/arm/fvp-ebbr/post-image.sh b/board/arm/fvp-ebbr/post-image.sh new file mode 100755 index 00000000000..72b156eb335 --- /dev/null +++ b/board/arm/fvp-ebbr/post-image.sh @@ -0,0 +1,7 @@ +#!/bin/sh +set -eu + +BOARD_DIR=$(dirname "$0") + +# Override the default GRUB configuration file with our own. +cp -f "${BOARD_DIR}/grub.cfg" "${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg" diff --git a/board/arm/fvp-ebbr/readme.txt b/board/arm/fvp-ebbr/readme.txt new file mode 100644 index 00000000000..6edfed20dfb --- /dev/null +++ b/board/arm/fvp-ebbr/readme.txt @@ -0,0 +1,110 @@ +Introduction +============ + +The arm_fvp_ebbr_defconfig is meant to illustrate some aspects of the Arm EBBR +specification[1] and the Arm SystemReady Devicetree band[2]. +It allows building an AArch64 U-Boot based firmware implementing the subset of +UEFI defined by EBBR, as well as a Linux OS disk image booting with UEFI, to run +on the Arm A-Profile Base RevC AEM FVP. + +Building +======== + + $ make arm_fvp_ebbr_defconfig + $ make + +Generated files under output/images: + +* bl1.bin: A ROM image built from TF-A. +* fip.bin: A firmware image comprising TF-A, OP-TEE and the U-Boot bootloader. +* disk.img: An OS disk image comprising the GRUB bootloader, the Linux kernel + and the root filesystem. + +Running on the FVP +================== + +Download the FVP from one of the following sources, corresponding to your host +computer: + +- https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-11.30/FVP_Base_RevC-2xAEMvA_11.30_27_Linux64.tgz +- https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-11.30/FVP_Base_RevC-2xAEMvA_11.30_27_Linux64_armv8l.tgz + +The FVP will be located under one of the corresponding folders: + +- Base_RevC_AEMvA_pkg/models/Linux64_GCC-9.3 +- Base_RevC_AEMvA_pkg/models/Linux64_armv8l_GCC-9.3 + +Run the simulation with: + + FVP_Base_RevC-2xAEMvA \ + --config-file board/arm/fvp-ebbr/fvp-config.txt \ + -C bp.secureflashloader.fname="output/images/bl1.bin" \ + -C bp.flashloader0.fname="output/images/fip.bin" \ + -C bp.virtioblockdevice.image_path="output/images/disk.img" + +The login prompt will appear in a new X terminal. + +Using the EBBR firmware to run another OS on the FVP +---------------------------------------------------- + +It is possible to use the generated firmware binaries to run another OS +supporting the EBBR specification. + +To run another OS on simulation using a live or pre-installed image, use the +same FVP command line as for the generated OS but adapt the OS image path in the +virtioblockdevice stanza. +The image generated by the aarch64_efi_defconfig or the Arm ACS Devicetree +images[3] are examples of pre-installed OS images. +Linux distributions such as Debian, Fedora, openSUSE or Ubuntu, or FreeBSD +provide live or pre-installed OS image. + +Firmware details +================ + +Noteworthy firmware features: + +- TF-A, OP-TEE & U-Boot +- UEFI, with EFI variables stored on disk in the ESP +- Support for ethernet, RTC and LCD + +Architecture diagram: + + Non-Secure : Secure + : + +---------------------------+ : + EL0 | Busybox | : + +---------------------------+ : +--------+ + EL1 | Linux | : | OP-TEE | S-EL1 + +---------------------------+ : +--------+ + EL2 | U-Boot, GRUB, Linux (kvm) | : + +---------------------------+ : + ...................................: + +----------------------------------------+ + | TF-A | EL3 + +----------------------------------------+ + +Boot flow: + + TF-A -+-> OP-TEE + `-> U-Boot -> GRUB -> Linux -> Busybox + +TF-A BL1 loads the fit image with the remaining pieces of TF-A, OP-TEE and +U-Boot. +OP-TEE boots, calls back TF-A to go to normal world. +U-Boot loads GRUB with UEFI, boots Linux at EL2. + +In this configuration, the Devicetree is static and fully contained in TF-A. + +Miscellaneous +============= + +This configuration is inspired by the arm_foundationv8_defconfig, the +qemu_aarch64_virt_defconfig and the Arm SystemReady Devicetree Band Integration +and Testing Guide[4]. + +Firmware update, GOP, MMC and RNG are currently not supported. + +[1] https://github.com/ARM-software/ebbr +[2] https://www.arm.com/architecture/system-architectures/systemready-compliance-program/systemready-devicetree-band +[3] https://github.com/ARM-software/arm-systemready/tree/main/SystemReady-devicetree-band/prebuilt_images +[4] https://developer.arm.com/documentation/DUI1101/latest/ diff --git a/board/arm/fvp-ebbr/u-boot.fragment b/board/arm/fvp-ebbr/u-boot.fragment new file mode 100644 index 00000000000..37d98bcdf0e --- /dev/null +++ b/board/arm/fvp-ebbr/u-boot.fragment @@ -0,0 +1,52 @@ +CONFIG_ARM_SMCCC_FEATURES=y +CONFIG_BOOTCOMMAND="bootflow scan -lb" +CONFIG_BOOTMETH_DISTRO=y +CONFIG_BOOTM_EFI=y +CONFIG_BOOTSTD_BOOTCOMMAND=y +CONFIG_BOOTSTD_DEFAULTS=y +CONFIG_BOOTSTD_FULL=y +CONFIG_CMD_BOOTDEV=y +CONFIG_CMD_BOOTEFI=y +CONFIG_CMD_BOOTEFI_HELLO=y +CONFIG_CMD_BOOTEFI_HELLO_COMPILE=y +CONFIG_CMD_BOOTEFI_SELFTEST=y +CONFIG_CMD_BOOTMETH=y +CONFIG_CMD_DM=y +CONFIG_CMD_EFIDEBUG=y +CONFIG_CMD_EFI_VARIABLE_FILE_STORE=y +CONFIG_CMD_GETTIME=y +CONFIG_CMD_GPT=y +CONFIG_CMD_NVEDIT_EFI=y +CONFIG_CMD_POWEROFF=y +CONFIG_CMD_RNG=y +CONFIG_CMD_RTC=y +CONFIG_CMD_SMC=y +CONFIG_CMD_TIME=y +CONFIG_DM_RNG=y +CONFIG_DM_RTC=y +CONFIG_EFI_DEVICE_PATH_TO_TEXT=y +CONFIG_EFI_GET_TIME=y +CONFIG_EFI_HAVE_RUNTIME_RESET=y +CONFIG_EFI_LOADER=y +CONFIG_EFI_LOADER_HII=y +CONFIG_EFI_MM_COMM_TEE=y +CONFIG_EFI_PARTITION=y +CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y +CONFIG_EFI_SECURE_BOOT=y +CONFIG_EFI_SET_TIME=y +CONFIG_EFI_UNICODE_CAPITALIZATION=y +CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2=y +CONFIG_EFI_VARIABLE_FILE_STORE=y +CONFIG_FAT_WRITE=y +CONFIG_FIT=y +CONFIG_FS_FAT=y +CONFIG_ISO_PARTITION=y +CONFIG_MISC=y +CONFIG_OF_CONTROL=y +CONFIG_OF_LIBFDT=y +CONFIG_OPTEE=y +CONFIG_PARTITION_TYPE_GUID=y +CONFIG_RNG_OPTEE=y +CONFIG_TEE=y +CONFIG_USE_BOOTCOMMAND=y +CONFIG_VEXPRESS_CONFIG=y diff --git a/board/arm/juno/linux-juno-defconfig b/board/arm/juno/linux-juno-defconfig deleted file mode 100644 index 64598d21a1a..00000000000 --- a/board/arm/juno/linux-juno-defconfig +++ /dev/null @@ -1,169 +0,0 @@ -CONFIG_SMP=y -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_FHANDLE=y -CONFIG_AUDIT=y -CONFIG_NO_HZ_IDLE=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_BSD_PROCESS_ACCT=y -CONFIG_BSD_PROCESS_ACCT_V3=y -CONFIG_TASKSTATS=y -CONFIG_TASK_DELAY_ACCT=y -CONFIG_TASK_XACCT=y -CONFIG_TASK_IO_ACCOUNTING=y -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_MEMCG=y -CONFIG_MEMCG_SWAP=y -CONFIG_MEMCG_KMEM=y -CONFIG_CGROUP_HUGETLB=y -CONFIG_SCHED_AUTOGROUP=y -CONFIG_BLK_DEV_INITRD=y -CONFIG_KALLSYMS_ALL=y -CONFIG_PROFILING=y -CONFIG_JUMP_LABEL=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_ARCH_VEXPRESS=y -CONFIG_PCI=y -CONFIG_PCI_MSI=y -CONFIG_PCI_HOST_GENERIC=y -CONFIG_PCIEPORTBUS=y -CONFIG_HOTPLUG_PCI_PCIE=y -CONFIG_HOTPLUG_PCI=y -CONFIG_NR_CPUS=6 -CONFIG_PREEMPT=y -CONFIG_KSM=y -CONFIG_TRANSPARENT_HUGEPAGE=y -CONFIG_CMA=y -CONFIG_CMDLINE="console=ttyAMA0" -CONFIG_COMPAT=y -CONFIG_CPU_IDLE=y -CONFIG_ARM_CPUIDLE=y -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_GOV_USERSPACE=y -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_GOV_INTERACTIVE=y -CONFIG_ARM_BIG_LITTLE_CPUFREQ=y -CONFIG_ARM_DT_BL_CPUFREQ=y -CONFIG_ARM_SCPI_CPUFREQ=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_IP_PNP_BOOTP=y -CONFIG_BPF_JIT=y -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_SD=y -CONFIG_ATA=y -CONFIG_SATA_AHCI=y -CONFIG_SATA_AHCI_PLATFORM=y -CONFIG_AHCI_XGENE=y -CONFIG_PATA_PLATFORM=y -CONFIG_PATA_OF_PLATFORM=y -CONFIG_NETDEVICES=y -CONFIG_TUN=y -CONFIG_SKY2=y -CONFIG_SMC91X=y -CONFIG_SMSC911X=y -CONFIG_INPUT_EVDEV=y -CONFIG_SERIO_AMBAKMI=y -CONFIG_LEGACY_PTY_COUNT=16 -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_SERIAL_XILINX_PS_UART=y -CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y -CONFIG_I2C_CHARDEV=y -CONFIG_I2C_DESIGNWARE_PLATFORM=y -CONFIG_I2C_SLAVE=y -CONFIG_SPI=y -CONFIG_SPI_PL022=y -CONFIG_PTP_1588_CLOCK=m -CONFIG_GPIO_PL061=y -CONFIG_GPIO_XGENE=y -CONFIG_POWER_RESET_XGENE=y -CONFIG_POWER_RESET_SYSCON=y -CONFIG_REGULATOR=y -CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_REGULATOR_VEXPRESS=m -CONFIG_DRM=y -CONFIG_DRM_I2C_NXP_TDA998X=y -CONFIG_DRM_ARM=y -CONFIG_DRM_HDLCD=y -CONFIG_DRM_VIRTUAL_HDLCD=y -CONFIG_FB_ARMCLCD=y -CONFIG_LOGO=y -CONFIG_USB=y -CONFIG_USB_ANNOUNCE_NEW_DEVICES=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_HCD_PLATFORM=y -CONFIG_USB_OHCI_HCD=y -CONFIG_USB_OHCI_HCD_PLATFORM=y -CONFIG_USB_STORAGE=y -CONFIG_USB_ISP1760=y -CONFIG_NOP_USB_XCEIV=y -CONFIG_USB_ULPI=y -CONFIG_MMC=y -CONFIG_MMC_ARMMMCI=y -CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_PLTFM=y -CONFIG_MMC_SPI=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_EFI=y -CONFIG_RTC_DRV_PL030=y -CONFIG_RTC_DRV_PL031=y -CONFIG_DMADEVICES=y -CONFIG_PL330_DMA=y -CONFIG_COMMON_CLK_SCPI=y -CONFIG_ARM_TIMER_SP804=y -CONFIG_MAILBOX=y -CONFIG_ARM_MHU=y -CONFIG_PHY_XGENE=y -CONFIG_ARM_SCPI_PROTOCOL=y -CONFIG_EXT2_FS=y -CONFIG_EXT3_FS=y -CONFIG_FANOTIFY=y -CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y -CONFIG_QUOTA=y -CONFIG_AUTOFS4_FS=y -CONFIG_FUSE_FS=y -CONFIG_CUSE=y -CONFIG_VFAT_FS=y -CONFIG_TMPFS=y -CONFIG_HUGETLBFS=y -CONFIG_EFIVAR_FS=y -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_ISO8859_1=y -CONFIG_VIRTUALIZATION=y -CONFIG_KVM=y -CONFIG_DYNAMIC_DEBUG=y -CONFIG_DEBUG_INFO=y -CONFIG_DEBUG_FS=y -CONFIG_MAGIC_SYSRQ=y -CONFIG_DEBUG_KERNEL=y -CONFIG_LOCKUP_DETECTOR=y -CONFIG_SECURITY=y -CONFIG_CRYPTO_ANSI_CPRNG=y -CONFIG_ARM64_CRYPTO=y -CONFIG_CRYPTO_SHA1_ARM64_CE=y -CONFIG_CRYPTO_SHA2_ARM64_CE=y -CONFIG_CRYPTO_GHASH_ARM64_CE=y -CONFIG_CRYPTO_AES_ARM64_CE_CCM=y -CONFIG_CRYPTO_AES_ARM64_CE_BLK=y -CONFIG_SOUND=y -CONFIG_SND=y -CONFIG_SND_SOC=y -CONFIG_SND_SIMPLE_CARD=y -CONFIG_SND_DESIGNWARE_I2S=y -CONFIG_CMA=y -CONFIG_CMA_SIZE_MBYTES=64 diff --git a/board/arm/juno/readme.txt b/board/arm/juno/readme.txt deleted file mode 100644 index b292d9636da..00000000000 --- a/board/arm/juno/readme.txt +++ /dev/null @@ -1,134 +0,0 @@ -ARM Juno r1/r0 - -Intro -===== - -These instructions apply to all models of the ARM Juno: - - Juno r0 (does not support PCIe) - - Juno r1 (supports PCIe) - - Juno r2 (Big Cluster with A72) - -Buildroot will generate the kernel image, device tree blob, bootloader binaries -and a minimal root filesystem. - -How to build it -=============== - -Configure Buildroot -------------------- - -Configuring Buildroot is pretty simple, just execute: - - $ make arm_juno_defconfig - -Build the rootfs, kernel and DTB --------------------------------- - -Note: you will need to have access to the network, since Buildroot will -download the packages' sources. - -You may now build your rootfs with: - - $ make - -(This may take a while) - -Result of the build -------------------- - -After building, you should obtain this tree: - - output/images/ - +-- rootfs.tar - +-- juno.dtb (if Juno r0 is used) - +-- juno-r1.dtb (if Juno r1 is used) - +-- juno-r2.dtb (if Juno r2 is used) - +-- Image - +-- bl1.bin - +-- bl2.bin - +-- bl2u.bin - +-- bl31.bin - +-- fip.bin - +-- scp-fw.bin - +-- u-boot.bin - -Preparing your rootfs -====================== - -Format your pen drive as a ext3 filesystem by executing: - - $ mkfs.ext3 /dev/ - -Preparing your rootfs -====================== - -Format your pen drive as a ext3 filesystem by executing: - - $ mkfs.ext3 /dev/ - -Installing your rootfs -====================== - -After mounting the pen drive please execute the following: - - $ sudo tar -xvf output/images/rootfs.tar -C - -When completed make sure to unmount the device: - - $ umount - -Insert the pen drive in one of the ARM Juno' USB type A connectors. - -Configure *.dtb in the boot configuration for Juno r0 -===================================================== - -SITE1/HBI0262B/images.txt -..... -NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE -NOR3ADDRESS: 0x00C00000 ;Image Flash Address -NOR3FILE: \SOFTWARE\juno.dtb ;Image File Name -NOR3NAME: board.dtb ;Specify Image name to preserve file extension -NOR3LOAD: 00000000 ;Image Load Address -NOR3ENTRY: 00000000 ;Image Entry Point -...... - -Configure *.dtb in the boot configuration for Juno r1 -===================================================== - -SITE1/HBI0262C/images.txt -...... -NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE -NOR3ADDRESS: 0x00C00000 ;Image Flash Address -NOR3FILE: \SOFTWARE\juno-r1.dtb ;Image File Name -NOR3NAME: board.dtb ;Specify target filename to preserve file extension -NOR3LOAD: 00000000 ;Image Load Address -NOR3ENTRY: 00000000 ;Image Entry Point -...... - -Configure *.dtb in the boot configuration for Juno r2 -===================================================== - -SITE1/HBI0262D/images.txt -...... -NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE -NOR3ADDRESS: 0x02000000 ;Image Flash Address -NOR3FILE: \SOFTWARE\juno-r2.dtb ;Image File Name -NOR3NAME: board.dtb ;Specify target filename to preserve file extension -NOR3LOAD: 00000000 ;Image Load Address -NOR3ENTRY: 00000000 ;Image Entry Point -...... - -Installing kernel image and DTB -=============================== - -1. Connect to the ARM Juno UART0 and execute USB_ON in the terminal -2. Connect a USB cable between your PC and ARM Juno USB type B connector - A mass storage device should appear in your desktop. -3. Open the software/ folder -4. Copy the 'Image' file to software/ -5. Copy the 'juno-r1.dtb' (r1), 'juno.dtb' (r0) or juno-r2.dtb (r2) file to software/ -6. Copy the bootloader binaries (bl1.bin and fip.bin) to software/ -7. Press the red button in the front pannel of ARM Juno - -At this time, the board will erase the Flash entry for each new item and -replace it with the lastest ones. diff --git a/board/armadeus/apf27/linux-4.12.config b/board/armadeus/apf27/linux-4.12.config deleted file mode 100644 index d0fb5d35dd7..00000000000 --- a/board/armadeus/apf27/linux-4.12.config +++ /dev/null @@ -1,216 +0,0 @@ -# CONFIG_SWAP is not set -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_CGROUPS=y -CONFIG_EMBEDDED=y -# CONFIG_COMPAT_BRK is not set -CONFIG_SLAB=y -CONFIG_PROFILING=y -CONFIG_OPROFILE=m -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_BLK_DEV_BSG is not set -# CONFIG_IOSCHED_DEADLINE is not set -# CONFIG_IOSCHED_CFQ is not set -# CONFIG_ARCH_MULTI_V7 is not set -CONFIG_ARCH_MXC=y -CONFIG_MACH_IMX27_DT=y -CONFIG_PREEMPT=y -CONFIG_AEABI=y -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_PM_DEBUG=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -# CONFIG_INET_DIAG is not set -CONFIG_CAN=m -CONFIG_CAN_VCAN=m -CONFIG_CAN_MCP251X=m -CONFIG_BT=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=m -CONFIG_BT_HIDP=m -CONFIG_BT_HCIBTUSB=m -CONFIG_BT_HCIUART=m -CONFIG_BT_HCIUART_H4=y -CONFIG_BT_HCIUART_BCSP=y -CONFIG_CFG80211=m -CONFIG_MAC80211=m -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -CONFIG_MTD=y -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_BLOCK=y -CONFIG_MTD_CFI=y -CONFIG_MTD_CFI_ADV_OPTIONS=y -CONFIG_MTD_CFI_GEOMETRY=y -# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set -# CONFIG_MTD_CFI_I2 is not set -CONFIG_MTD_CFI_INTELEXT=y -CONFIG_MTD_PHYSMAP=y -CONFIG_MTD_NAND=y -CONFIG_MTD_NAND_MXC=y -CONFIG_MTD_UBI=y -CONFIG_EEPROM_AT24=y -CONFIG_EEPROM_AT25=y -CONFIG_SCSI=y -CONFIG_BLK_DEV_SD=y -CONFIG_NETDEVICES=y -# CONFIG_NET_VENDOR_BROADCOM is not set -# CONFIG_NET_VENDOR_CIRRUS is not set -# CONFIG_NET_VENDOR_FARADAY is not set -# CONFIG_NET_VENDOR_INTEL is not set -# CONFIG_NET_VENDOR_MARVELL is not set -# CONFIG_NET_VENDOR_MICREL is not set -# CONFIG_NET_VENDOR_MICROCHIP is not set -# CONFIG_NET_VENDOR_NATSEMI is not set -# CONFIG_NET_VENDOR_SEEQ is not set -# CONFIG_NET_VENDOR_SMSC is not set -# CONFIG_NET_VENDOR_STMICRO is not set -# CONFIG_NET_VENDOR_WIZNET is not set -CONFIG_SMSC_PHY=y -CONFIG_LIBERTAS=m -CONFIG_LIBERTAS_SDIO=m -CONFIG_RT2X00=m -CONFIG_RT2500USB=m -CONFIG_RT73USB=m -CONFIG_RT2800USB=m -CONFIG_RTL8187=m -CONFIG_RTL8192CU=m -CONFIG_ZD1211RW=m -CONFIG_INPUT_JOYDEV=y -CONFIG_INPUT_EVDEV=y -CONFIG_KEYBOARD_GPIO=y -CONFIG_KEYBOARD_IMX=m -# CONFIG_INPUT_MOUSE is not set -CONFIG_INPUT_JOYSTICK=y -CONFIG_INPUT_TOUCHSCREEN=y -# CONFIG_LEGACY_PTYS is not set -CONFIG_SERIAL_IMX=y -CONFIG_SERIAL_IMX_CONSOLE=y -# CONFIG_HW_RANDOM is not set -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=y -CONFIG_I2C_IMX=y -CONFIG_SPI=y -CONFIG_SPI_IMX=y -CONFIG_SPI_SPIDEV=m -CONFIG_GPIO_SYSFS=y -CONFIG_W1=y -CONFIG_W1_MASTER_MXC=y -CONFIG_W1_SLAVE_THERM=y -CONFIG_WATCHDOG=y -CONFIG_IMX2_WDT=y -CONFIG_REGULATOR=y -CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_MEDIA_SUPPORT=m -CONFIG_MEDIA_CAMERA_SUPPORT=y -CONFIG_MEDIA_USB_SUPPORT=y -CONFIG_USB_VIDEO_CLASS=m -CONFIG_USB_PWC=m -CONFIG_V4L_PLATFORM_DRIVERS=y -CONFIG_SOC_CAMERA=m -# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set -CONFIG_FB=y -# CONFIG_FB_MX3 is not set -CONFIG_BACKLIGHT_LCD_SUPPORT=y -# CONFIG_LCD_CLASS_DEVICE is not set -CONFIG_BACKLIGHT_CLASS_DEVICE=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_LOGO=y -# CONFIG_LOGO_LINUX_MONO is not set -# CONFIG_LOGO_LINUX_VGA16 is not set -CONFIG_SOUND=m -CONFIG_SND=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -# CONFIG_SND_DRIVERS is not set -# CONFIG_SND_ARM is not set -# CONFIG_SND_SPI is not set -# CONFIG_SND_USB is not set -CONFIG_SND_SOC=m -CONFIG_SND_IMX_SOC=m -CONFIG_USB=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_MXC=y -CONFIG_USB_ACM=y -CONFIG_USB_PRINTER=y -CONFIG_USB_STORAGE=y -CONFIG_USB_CHIPIDEA=y -CONFIG_USB_CHIPIDEA_HOST=y -CONFIG_USB_SERIAL=y -CONFIG_USB_SERIAL_FTDI_SIO=y -CONFIG_USB_SERIAL_PL2303=y -CONFIG_USB_ULPI=y -CONFIG_USB_GADGET=y -CONFIG_USB_ETH=m -CONFIG_USB_GADGETFS=m -CONFIG_USB_MASS_STORAGE=m -CONFIG_USB_G_HID=m -CONFIG_MMC=y -CONFIG_MMC_MXC=y -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_GPIO=y -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=y -CONFIG_LEDS_TRIGGER_ONESHOT=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y -CONFIG_LEDS_TRIGGER_BACKLIGHT=y -CONFIG_LEDS_TRIGGER_CPU=y -CONFIG_LEDS_TRIGGER_GPIO=y -CONFIG_LEDS_TRIGGER_DEFAULT_ON=y -CONFIG_LEDS_TRIGGER_TRANSIENT=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_DS1374=y -CONFIG_RTC_DRV_MXC=m -CONFIG_DMADEVICES=y -CONFIG_IMX_DMA=y -CONFIG_IMX_SDMA=y -# CONFIG_IOMMU_SUPPORT is not set -CONFIG_IIO=y -CONFIG_MAX1027=y -CONFIG_MAX5821=y -CONFIG_PWM=y -CONFIG_PWM_IMX=y -CONFIG_EXT2_FS=y -CONFIG_EXT3_FS=y -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y -# CONFIG_DNOTIFY is not set -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y -# CONFIG_PROC_PAGE_MONITOR is not set -CONFIG_TMPFS=y -CONFIG_JFFS2_FS=y -CONFIG_UBIFS_FS=y -CONFIG_NFS_FS=y -CONFIG_NFS_V4=y -CONFIG_ROOT_NFS=y -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_CODEPAGE_850=y -CONFIG_NLS_ISO8859_1=y -CONFIG_NLS_ISO8859_15=m -CONFIG_PRINTK_TIME=y -CONFIG_DEBUG_INFO=y -CONFIG_DEBUG_FS=y -# CONFIG_SCHED_DEBUG is not set -# CONFIG_DEBUG_PREEMPT is not set -# CONFIG_FTRACE is not set -CONFIG_DEBUG_LL=y -CONFIG_EARLY_PRINTK=y -CONFIG_FONTS=y -CONFIG_FONT_8x8=y diff --git a/board/armadeus/apf27/linux-5.10.config b/board/armadeus/apf27/linux-5.10.config new file mode 100644 index 00000000000..5f5776f8a6f --- /dev/null +++ b/board/armadeus/apf27/linux-5.10.config @@ -0,0 +1,227 @@ +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT=y +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_CGROUPS=y +CONFIG_EMBEDDED=y +# CONFIG_COMPAT_BRK is not set +CONFIG_SLAB=y +CONFIG_PROFILING=y +# CONFIG_ARCH_MULTI_V7 is not set +CONFIG_ARCH_MXC=y +CONFIG_AEABI=y +CONFIG_PM_DEBUG=y +CONFIG_OPROFILE=m +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_IOSCHED_DEADLINE is not set +# CONFIG_IOSCHED_CFQ is not set +CONFIG_MACH_IMX27_DT=y +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +# CONFIG_INET_DIAG is not set +CONFIG_IPV6=y +CONFIG_CAN=m +CONFIG_CAN_VCAN=m +CONFIG_CAN_MCP251X=m +CONFIG_BT=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +CONFIG_BT_HIDP=m +CONFIG_BT_HCIBTUSB=m +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_BCSP=y +CONFIG_CFG80211=m +CONFIG_MAC80211=m +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_MTD=y +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CFI=y +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_GEOMETRY=y +# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set +# CONFIG_MTD_CFI_I2 is not set +CONFIG_MTD_CFI_INTELEXT=y +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_MXC=y +CONFIG_MTD_UBI=y +CONFIG_EEPROM_AT24=y +CONFIG_EEPROM_AT25=y +CONFIG_SCSI=y +CONFIG_BLK_DEV_SD=y +CONFIG_BLK_DEV_SR=y +CONFIG_CHR_DEV_SG=y +CONFIG_CHR_DEV_SCH=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_NETDEVICES=y +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +# CONFIG_NET_VENDOR_FARADAY is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_SMSC_PHY=y +CONFIG_LIBERTAS=m +CONFIG_LIBERTAS_SDIO=m +CONFIG_RT2X00=m +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RTL8187=m +CONFIG_RTL8192CU=m +CONFIG_ZD1211RW=m +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +CONFIG_KEYBOARD_GPIO=y +CONFIG_KEYBOARD_IMX=m +# CONFIG_INPUT_MOUSE is not set +CONFIG_INPUT_JOYSTICK=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_TSC2102=y +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_IMX=y +CONFIG_SERIAL_IMX_CONSOLE=y +# CONFIG_HW_RANDOM is not set +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_IMX=y +CONFIG_SPI=y +CONFIG_SPI_IMX=y +CONFIG_SPI_SPIDEV=m +CONFIG_GPIO_SYSFS=y +CONFIG_W1=y +CONFIG_W1_MASTER_MXC=y +CONFIG_W1_SLAVE_THERM=y +CONFIG_WATCHDOG=y +CONFIG_IMX2_WDT=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_MEDIA_SUPPORT=m +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_PWC=m +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_SOC_CAMERA=m +CONFIG_VIDEO_MX2=m +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_VIDEO_CODA=m +CONFIG_VIDEO_MX2_EMMAPRP=m +# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set +CONFIG_SOC_CAMERA_MT9M111=m +# CONFIG_DVB_AU8522_V4L is not set +# CONFIG_DVB_TUNER_DIB0070 is not set +# CONFIG_DVB_TUNER_DIB0090 is not set +CONFIG_FB=y +CONFIG_FB_IMX=y +CONFIG_LCD_L4F00242T03=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_LOGO=y +CONFIG_SOUND=m +CONFIG_SND=m +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_PCM_OSS=m +# CONFIG_SND_DRIVERS is not set +# CONFIG_SND_ARM is not set +# CONFIG_SND_SPI is not set +# CONFIG_SND_USB is not set +CONFIG_SND_SOC=m +CONFIG_SND_IMX_SOC=m +CONFIG_USB=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_MXC=y +CONFIG_USB_ACM=y +CONFIG_USB_PRINTER=y +CONFIG_USB_STORAGE=y +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_DEBUG=y +CONFIG_USB_SERIAL=y +CONFIG_USB_SERIAL_FTDI_SIO=y +CONFIG_USB_SERIAL_PL2303=y +CONFIG_NOP_USB_XCEIV=y +CONFIG_USB_ULPI=y +CONFIG_USB_GADGET=y +CONFIG_USB_FSL_USB2=y +CONFIG_USB_ETH=m +CONFIG_USB_GADGETFS=m +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_G_HID=m +CONFIG_MMC=y +CONFIG_MMC_MXC=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LEDS_TRIGGER_ONESHOT=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_BACKLIGHT=y +CONFIG_LEDS_TRIGGER_CPU=y +CONFIG_LEDS_TRIGGER_GPIO=y +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y +CONFIG_LEDS_TRIGGER_TRANSIENT=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_DS1374=y +CONFIG_RTC_DRV_MXC=m +CONFIG_DMADEVICES=y +CONFIG_IMX_DMA=y +CONFIG_IMX_SDMA=y +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_IIO=y +CONFIG_MAX1027=y +CONFIG_PWM=y +CONFIG_PWM_IMX=y +CONFIG_EXT2_FS=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +# CONFIG_DNOTIFY is not set +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +# CONFIG_PROC_PAGE_MONITOR is not set +CONFIG_TMPFS=y +CONFIG_JFFS2_FS=y +CONFIG_UBIFS_FS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V4=y +CONFIG_ROOT_NFS=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_850=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_15=m +CONFIG_FONTS=y +CONFIG_FONT_8x8=y +CONFIG_PRINTK_TIME=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_FS=y +# CONFIG_SCHED_DEBUG is not set +# CONFIG_DEBUG_PREEMPT is not set +# CONFIG_FTRACE is not set +CONFIG_DEBUG_LL=y +CONFIG_EARLY_PRINTK=y diff --git a/board/armadeus/apf28/linux-4.4.config b/board/armadeus/apf28/linux-4.4.config deleted file mode 100644 index cf389d80fad..00000000000 --- a/board/armadeus/apf28/linux-4.4.config +++ /dev/null @@ -1,185 +0,0 @@ -# CONFIG_LOCALVERSION_AUTO is not set -# CONFIG_SWAP is not set -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_EMBEDDED=y -# CONFIG_COMPAT_BRK is not set -CONFIG_SLAB=y -CONFIG_PROFILING=y -CONFIG_OPROFILE=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_BLK_DEV_BSG is not set -CONFIG_PARTITION_ADVANCED=y -CONFIG_BSD_DISKLABEL=y -# CONFIG_IOSCHED_CFQ is not set -# CONFIG_ARCH_MULTI_V7 is not set -CONFIG_ARCH_MXS=y -CONFIG_PREEMPT=y -CONFIG_AEABI=y -# CONFIG_OABI_COMPAT is not set -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CPU_IDLE=y -# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_PNP=y -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -# CONFIG_INET_LRO is not set -# CONFIG_INET_DIAG is not set -CONFIG_IPV6=y -CONFIG_CAN=m -CONFIG_CAN_VCAN=m -CONFIG_CAN_FLEXCAN=m -CONFIG_BT=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_HIDP=m -CONFIG_BT_HCIBTUSB=m -CONFIG_CFG80211=m -CONFIG_MAC80211=m -CONFIG_MAC80211_RC_PID=y -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -CONFIG_FW_LOADER=m -CONFIG_MTD=y -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_BLOCK=y -CONFIG_MTD_DATAFLASH=y -CONFIG_MTD_M25P80=y -# CONFIG_M25PXX_USE_FAST_READ is not set -CONFIG_MTD_SST25L=y -CONFIG_MTD_NAND=y -CONFIG_MTD_NAND_GPMI_NAND=y -CONFIG_MTD_UBI=y -CONFIG_EEPROM_AT24=y -CONFIG_EEPROM_AT25=y -CONFIG_SCSI=y -CONFIG_BLK_DEV_SD=y -CONFIG_CHR_DEV_ST=y -CONFIG_BLK_DEV_SR=y -CONFIG_CHR_DEV_SG=y -CONFIG_CHR_DEV_SCH=y -CONFIG_SCSI_MULTI_LUN=y -CONFIG_SCSI_LOGGING=y -CONFIG_SCSI_SCAN_ASYNC=y -CONFIG_NETDEVICES=y -CONFIG_RTL8187=m -CONFIG_RT2X00=m -CONFIG_RT73USB=m -CONFIG_ZD1211RW=m -CONFIG_INPUT_JOYDEV=y -CONFIG_INPUT_EVDEV=y -CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_INPUT_MISC=y -CONFIG_INPUT_UINPUT=m -# CONFIG_SERIO_SERPORT is not set -CONFIG_VT_HW_CONSOLE_BINDING=y -CONFIG_DEVPTS_MULTIPLE_INSTANCES=y -# CONFIG_LEGACY_PTYS is not set -# CONFIG_DEVKMEM is not set -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -CONFIG_SERIAL_MXS_AUART=y -CONFIG_TTY_PRINTK=y -# CONFIG_HW_RANDOM is not set -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=y -CONFIG_I2C_MXS=y -CONFIG_SPI=y -CONFIG_SPI_BITBANG=m -CONFIG_SPI_MXS=y -CONFIG_SPI_SPIDEV=m -CONFIG_GPIO_SYSFS=y -CONFIG_HWMON=m -CONFIG_WATCHDOG=y -CONFIG_STMP3XXX_RTC_WATCHDOG=y -CONFIG_REGULATOR=y -CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_MEDIA_SUPPORT=m -CONFIG_MEDIA_CAMERA_SUPPORT=y -CONFIG_FB=y -CONFIG_FB_MXS=y -CONFIG_BACKLIGHT_LCD_SUPPORT=y -CONFIG_LCD_CLASS_DEVICE=y -CONFIG_BACKLIGHT_CLASS_DEVICE=y -# CONFIG_BACKLIGHT_GENERIC is not set -CONFIG_BACKLIGHT_PWM=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_LOGO=y -# CONFIG_LOGO_LINUX_MONO is not set -# CONFIG_LOGO_LINUX_VGA16 is not set -CONFIG_USB=y -CONFIG_USB_DEBUG=y -CONFIG_USB_ANNOUNCE_NEW_DEVICES=y -CONFIG_USB_MON=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_ACM=y -CONFIG_USB_PRINTER=y -CONFIG_USB_WDM=y -CONFIG_USB_STORAGE=y -CONFIG_USB_CHIPIDEA=y -CONFIG_USB_CHIPIDEA_UDC=y -CONFIG_USB_CHIPIDEA_HOST=y -CONFIG_USB_MXS_PHY=y -CONFIG_USB_GADGET=y -CONFIG_USB_GADGET_DEBUG_FILES=y -CONFIG_USB_ETH=m -CONFIG_MMC=y -CONFIG_MMC_MXS=y -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_GPIO=y -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=y -CONFIG_LEDS_TRIGGER_ONESHOT=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y -CONFIG_LEDS_TRIGGER_BACKLIGHT=y -CONFIG_LEDS_TRIGGER_DEFAULT_ON=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_STMP=y -CONFIG_DMADEVICES=y -CONFIG_MXS_DMA=y -CONFIG_STAGING=y -CONFIG_MXS_LRADC=y -CONFIG_IIO=y -CONFIG_PWM=y -CONFIG_PWM_MXS=y -CONFIG_EXT2_FS=y -CONFIG_EXT2_FS_XATTR=y -CONFIG_EXT2_FS_POSIX_ACL=y -CONFIG_EXT2_FS_SECURITY=y -CONFIG_EXT2_FS_XIP=y -CONFIG_EXT3_FS=y -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y -CONFIG_AUTOFS4_FS=y -CONFIG_ISO9660_FS=y -CONFIG_JOLIET=y -CONFIG_ZISOFS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y -CONFIG_TMPFS=y -CONFIG_UBIFS_FS=y -CONFIG_NFS_FS=y -CONFIG_NFS_V4=y -CONFIG_ROOT_NFS=y -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_CODEPAGE_850=y -CONFIG_NLS_ISO8859_1=y -CONFIG_DEBUG_FS=y -# CONFIG_CRYPTO_ANSI_CPRNG is not set -# CONFIG_CRYPTO_HW is not set -CONFIG_FONTS=y -CONFIG_FONT_8x8=y diff --git a/board/armadeus/apf51/linux-4.4.config b/board/armadeus/apf51/linux-5.10.config similarity index 100% rename from board/armadeus/apf51/linux-4.4.config rename to board/armadeus/apf51/linux-5.10.config diff --git a/board/armadeus/patches/linux-headers/linux-headers.hash b/board/armadeus/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/armadeus/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/armadeus/patches/linux/linux.hash b/board/armadeus/patches/linux/linux.hash new file mode 100644 index 00000000000..804920c10d6 --- /dev/null +++ b/board/armadeus/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 879ca159c34ea9d3a6775f292cc59c2d3931d57dca00f0bebe2675ea0c82c6a9 linux-5.10.215.tar.xz diff --git a/board/armadeus/patches/uboot/uboot.hash b/board/armadeus/patches/uboot/uboot.hash new file mode 100644 index 00000000000..777e0adab20 --- /dev/null +++ b/board/armadeus/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 839bf23cfe8ce613a77e583a60375179d0ad324e92c82fbdd07bebf0fd142268 u-boot-2018.09.tar.bz2 diff --git a/board/armadeus/readme.txt b/board/armadeus/readme.txt index 98c7b082490..c03508c604d 100644 --- a/board/armadeus/readme.txt +++ b/board/armadeus/readme.txt @@ -44,11 +44,11 @@ Result of the build When the build is finished, you will end up with: output/images/ - ├── imx**-apfxxdev.dtb [1] - ├── rootfs.tar - ├── rootfs.ubi - ├── rootfs.ubifs - └── uImage + +-- imx**-apfxxdev.dtb [1] + +-- rootfs.tar + +-- rootfs.ubi + +-- rootfs.ubifs + +-- uImage [1] Only if the kernel version used uses a Device Tree. diff --git a/board/arrow/avenger96/overlay/boot/extlinux/extlinux.conf b/board/arrow/avenger96/overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..7d6d7f8a447 --- /dev/null +++ b/board/arrow/avenger96/overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label stm32mp157c-dk2-buildroot + kernel /boot/zImage + devicetree /boot/stm32mp157a-dhcor-avenger96.dtb + append root=/dev/mmcblk0p4 rootwait diff --git a/board/arrow/avenger96/readme.txt b/board/arrow/avenger96/readme.txt new file mode 100644 index 00000000000..19ab09eb814 --- /dev/null +++ b/board/arrow/avenger96/readme.txt @@ -0,0 +1,41 @@ +Arrow Avenger96 + +Intro +===== + +This configuration supports the Arrow Avenger96 board: + +https://wiki.dh-electronics.com/index.php/Avenger96 + +How to build +============ + + $ make avenger96_defconfig + $ make + +How to write the microSD card +============================= + +WARNING! This will destroy all the card content. Use with care! + +Once the build process is finished you will have an image called +"sdcard.img" in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an microSD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Boot the board +============== + + (1) Configure the boot switches for boot from microsd: 1-0-1 + + (2) Insert the microSD card in the slot + + (3) Plug a serial adapter (beware: 1v8 levels!) to the low speed + expansion connector + + (4) Plug in power cable + + (5) The system will start, with the console on UART, but also visible + on the screen. diff --git a/board/aspeed/ast2500-evb/genimage.cfg b/board/aspeed/ast2500-evb/genimage.cfg new file mode 100644 index 00000000000..952a7b78200 --- /dev/null +++ b/board/aspeed/ast2500-evb/genimage.cfg @@ -0,0 +1,40 @@ +# +# This config reproduces the OpenBMC flash layout defined in Linux : +# +# arch/arm/boot/dts/openbmc-flash-layout.dtsi +# +# and included by aspeed-ast2500-evb.dts +# +flash nor-32M-256 { + pebsize = 4K + numpebs = 8K + minimum-io-unit-size = 256 +} + +image flash.img { + flash { + } + flashtype = "nor-32M-256" + + partition uboot { + image = "u-boot.bin" + size = 384K + } + + partition ubootenv { + /* TODO */ + offset = 384K + size = 128K + } + + partition fitimage { + image = "image.itb" + offset = 512K + size = 7000K + } + + partition spare { + offset = 7512K + size = 25256K + } +} diff --git a/board/aspeed/ast2500-evb/linux.fragment b/board/aspeed/ast2500-evb/linux.fragment new file mode 100644 index 00000000000..1cee95f8427 --- /dev/null +++ b/board/aspeed/ast2500-evb/linux.fragment @@ -0,0 +1,7 @@ +CONFIG_KERNEL_XZ=y +CONFIG_ARCH_MULTI_V7=n +CONFIG_MACH_ASPEED_G6=n +CONFIG_SMP=n +CONFIG_EXT4_FS=n +CONFIG_DEBUG_FS=n +CONFIG_SUSPEND=n diff --git a/board/aspeed/ast2500-evb/patches/linux/linux.hash b/board/aspeed/ast2500-evb/patches/linux/linux.hash new file mode 100644 index 00000000000..e1da9b309e7 --- /dev/null +++ b/board/aspeed/ast2500-evb/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 5be3daa1f9427b1bdb34c4894d9c1adfac38cff674376fe0611a3065729a1a81 linux-6.16.7.tar.xz diff --git a/board/aspeed/ast2500-evb/patches/uboot/uboot.hash b/board/aspeed/ast2500-evb/patches/uboot/uboot.hash new file mode 100644 index 00000000000..440526977bd --- /dev/null +++ b/board/aspeed/ast2500-evb/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 0f933f6c5a426895bf306e93e6ac53c60870e4b54cda56d95211bec99e63bec7 u-boot-2025.07.tar.bz2 diff --git a/board/aspeed/ast2500-evb/readme.txt b/board/aspeed/ast2500-evb/readme.txt new file mode 100644 index 00000000000..f509be553bc --- /dev/null +++ b/board/aspeed/ast2500-evb/readme.txt @@ -0,0 +1,80 @@ +Aspeed AST2500 EVB + +Introduction +============ + +The AST2500 EVB is an evaluation board for the AST2500 SoC, most +commonly used as a Server Management Processor. It includes an 800MHz +ARM11 processor with DDR3 or DDR4 SDRAM (up to 1GB), SPI flash memory +devices for BMC and host firmwares and numerous controllers to drive +the server board. + + https://www.aspeedtech.com/server_ast2500/ + +How to build it +=============== + +Configure buildroot: + + $ make aspeed_ast2500evb_defconfig + +Compile everything and build the rootfs image: + + $ make + +Result of the build +=================== + +After building, the output/images directory contains: + + output/images/ + ├── aspeed-ast2500-evb.dtb + ├── flash.img + ├── image.itb + ├── rootfs.cpio + ├── rootfs.cpio.xz + ├── rootfs.tar + ├── u-boot.bin + └── zImage + +Flashing the image +================== + +To update the contents of the first flash device, copy flash.img : + + $ flashcp flash.img /dev/mtd0 + +or simply the boot loader: + + $ flashcp u-boot.bin /dev/mtd1 + +Preparing the board +=================== + + * Connect a serial line to the board + * Power-up the board + +Booting the board +================= + +The AST2500 EVB boots from the SPI flash device directly and loads a +first bootloader (usually U-Boot). U-Boot will attempt to load a Linux +kernel from the same flash device by default but other storage could +be used. + + * from U-Boot + + The FIT image image.itb can be used to boot the board from U-Boot + using tftp + + * with QEMU + + $ qemu-system-arm -M ast2500-evb \ + -drive file=output/images/flash.img,format=raw,if=mtd \ + -nographic + + $ qemu-system-arm -M ast2500-evb \ + -kernel output/images/zImage \ + -initrd output/images/rootfs.cpio \ + -dtb output/images/aspeed-ast2500-evb.dtb \ + -nographic diff --git a/board/aspeed/ast2500-evb/uboot.fragment b/board/aspeed/ast2500-evb/uboot.fragment new file mode 100644 index 00000000000..8463252e591 --- /dev/null +++ b/board/aspeed/ast2500-evb/uboot.fragment @@ -0,0 +1,3 @@ +CONFIG_BOOTCOMMAND="bootm 20080000" +CONFIG_FIT=y +CONFIG_SHA256=y diff --git a/board/aspeed/ast2600-evb/genimage.cfg b/board/aspeed/ast2600-evb/genimage.cfg new file mode 100644 index 00000000000..56932d47875 --- /dev/null +++ b/board/aspeed/ast2600-evb/genimage.cfg @@ -0,0 +1,40 @@ +# +# This config reproduces the OpenBMC flash layout defined in Linux : +# +# arch/arm/boot/dts/openbmc-flash-layout-64.dtsi +# +# and included by aspeed-ast2600-evb.dts +# +flash nor-64M-256 { + pebsize = 4K + numpebs = 16K + minimum-io-unit-size = 256 +} + +image flash.img { + flash { + } + flashtype = "nor-64M-256" + + partition uboot { + image = "u-boot.bin" + size = 896K + } + + partition ubootenv { + /* TODO */ + offset = 896K + size = 128K + } + + partition fitimage { + image = "image.itb" + offset = 1M + size = 9M + } + + partition spare { + offset = 10M + size = 54M + } +} diff --git a/board/aspeed/ast2600-evb/patches/linux/linux.hash b/board/aspeed/ast2600-evb/patches/linux/linux.hash new file mode 100644 index 00000000000..e1da9b309e7 --- /dev/null +++ b/board/aspeed/ast2600-evb/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 5be3daa1f9427b1bdb34c4894d9c1adfac38cff674376fe0611a3065729a1a81 linux-6.16.7.tar.xz diff --git a/board/aspeed/ast2600-evb/patches/uboot/uboot.hash b/board/aspeed/ast2600-evb/patches/uboot/uboot.hash new file mode 100644 index 00000000000..de387741d20 --- /dev/null +++ b/board/aspeed/ast2600-evb/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 16da36d1832f058cf1a6673b6a2eedeef1260576c15e76c4998e30d0fb13d339 uboot-66672e5af36fe294df56f8e7942069e3909f3790-git4.tar.gz diff --git a/board/aspeed/ast2600-evb/readme.txt b/board/aspeed/ast2600-evb/readme.txt new file mode 100644 index 00000000000..1f7ba13d5d9 --- /dev/null +++ b/board/aspeed/ast2600-evb/readme.txt @@ -0,0 +1,80 @@ +Aspeed AST2600 EVB + +Introduction +============ + +The AST2600 EVB is an evaluation board for the AST2600 SoC, most +commonly used as a Server Management Processor. It includes a +Dual-core ARM Cortex A7 processor with DDR4 SDRAM (up to 2GB), SPI +flash memory devices for BMC and host firmwares and numerous +controllers to drive the server board. + + https://www.aspeedtech.com/server_ast2600/ + +How to build it +=============== + +Configure buildroot: + + $ make aspeed_ast2600evb_defconfig + +Compile everything and build the rootfs image: + + $ make + +Result of the build +=================== + +After building, the output/images directory contains: + + output/images/ + ├── aspeed-ast2600-evb.dtb + ├── flash.img + ├── image.itb + ├── rootfs.cpio + ├── rootfs.cpio.xz + ├── rootfs.tar + ├── u-boot.bin + └── zImage + +Flashing the image +================== + +To update the contents of the first flash device, copy flash.img : + + $ flashcp flash.img /dev/mtd0 + +or simply the boot loader: + + $ flashcp u-boot.bin /dev/mtd1 + +Preparing the board +=================== + + * Connect a serial line to the board + * Power-up the board + +Booting the board +================= + +The AST2600 EVB boots from the SPI flash device directly and loads a +first bootloader (usually U-Boot). U-Boot will attempt to load a Linux +kernel from the same flash device by default but other storage could +be used. + + * from U-Boot + + The FIT image image.itb can be used to boot the board from U-Boot + using tftp + + * with QEMU + + $ qemu-system-arm -M ast2600-evb \ + -drive file=output/images/flash.img,format=raw,if=mtd \ + -nographic + + $ qemu-system-arm -M ast2600-evb \ + -kernel output/images/zImage \ + -initrd output/images/rootfs.cpio \ + -dtb output/images/aspeed-ast2600-evb.dtb \ + -nographic diff --git a/board/aspeed/common/image.its.template b/board/aspeed/common/image.its.template new file mode 100644 index 00000000000..e3200e24070 --- /dev/null +++ b/board/aspeed/common/image.its.template @@ -0,0 +1,56 @@ +/dts-v1/; + +/ { + description = "Kernel and buildroot image"; + #address-cells = <1>; + + images { + kernel-1 { + description = "Linux kernel"; + data = /incbin/("zImage"); + type = "kernel"; + arch = "arm"; + os = "linux"; + compression = "none"; + load = <0x80001000>; + entry = <0x80001000>; + hash-1 { + algo = "sha256"; + }; + }; + fdt-1 { + description = "Flattened Device Tree blob"; + data = /incbin/("%BOARD_DTB%"); + type = "flat_dt"; + arch = "arm"; + compression = "none"; + hash-1 { + algo = "sha256"; + }; + }; + ramdisk-1 { + description = "ramdisk"; + data = /incbin/("rootfs.cpio.xz"); + type = "ramdisk"; + arch = "arm"; + os = "linux"; + compression = "none"; + hash-1 { + algo = "sha256"; + }; + }; + }; + + configurations { + default = "conf-1"; + conf-1 { + description = "Boot Linux kernel with FDT blob, ramdisk"; + kernel = "kernel-1"; + fdt = "fdt-1"; + ramdisk = "ramdisk-1"; + hash-1 { + algo = "sha256"; + }; + }; + }; +}; diff --git a/board/aspeed/common/post-image.sh b/board/aspeed/common/post-image.sh new file mode 100755 index 00000000000..8c953e038c9 --- /dev/null +++ b/board/aspeed/common/post-image.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +BOARD_DIR="$(dirname $0)" +mkimage=$HOST_DIR/bin/mkimage + +BOARD_DT=$(sed -nr \ + -e 's|^BR2_LINUX_KERNEL_INTREE_DTS_NAME="(aspeed/)?([a-z0-9\-]*).*"$|\2|p' \ + ${BR2_CONFIG}) + +sed -e "s/%BOARD_DTB%/${BOARD_DT}.dtb/" \ + $BOARD_DIR/image.its.template > $BINARIES_DIR/image.its + +(cd $BINARIES_DIR && $mkimage -f image.its image.itb) + +GENIMAGE_CFG="board/aspeed/${BOARD_DT#aspeed-*}/genimage.cfg" +GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" + +rm -rf "${GENIMAGE_TMP}" + +genimage \ + --rootpath "${TARGET_DIR}" \ + --tmppath "${GENIMAGE_TMP}" \ + --inputpath "${BINARIES_DIR}" \ + --outputpath "${BINARIES_DIR}" \ + --config "${GENIMAGE_CFG}" + +rm -f $BINARIES_DIR/image.its diff --git a/board/asus/tinker-s/extlinux.conf b/board/asus/tinker-s/extlinux.conf new file mode 100644 index 00000000000..61ebe50c710 --- /dev/null +++ b/board/asus/tinker-s/extlinux.conf @@ -0,0 +1,4 @@ +label Tinker linux + kernel /boot/zImage + devicetree /boot/rk3288-tinker-s.dtb + append console=ttyS2,115200n8 root=179:1 rootwait diff --git a/board/asus/tinker-s/post-build.sh b/board/asus/tinker-s/post-build.sh new file mode 100755 index 00000000000..f938876625c --- /dev/null +++ b/board/asus/tinker-s/post-build.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +MKIMAGE=$HOST_DIR/bin/mkimage +BOARD_DIR="$(dirname "$0")" + +$MKIMAGE -n rk3288 -T rksd -d "$BINARIES_DIR"/u-boot-tpl.bin "$BINARIES_DIR"/u-boot-tpl.img +cat "$BINARIES_DIR"/u-boot-tpl.img "$BINARIES_DIR"/u-boot-spl-dtb.bin > "$BINARIES_DIR"/u-boot-tpl-spl-dtb.img + +install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$TARGET_DIR"/boot/extlinux/extlinux.conf diff --git a/board/asus/tinker-s/readme.txt b/board/asus/tinker-s/readme.txt new file mode 100644 index 00000000000..3dffa12b45f --- /dev/null +++ b/board/asus/tinker-s/readme.txt @@ -0,0 +1,43 @@ +Tinker S RK3288 +============= + +Tinker Board is a Single Board Computer (SBC) in an ultra-small form +factor that offers class-leading performance while leveraging outstanding +mechanical compatibility. The "S" variant of the Tinker Board has eMMC + +Tinker link: +https://www.asus.com/br/motherboards-components/single-board-computer/all-series/tinker-board-s/ + +Wiki link: +https://openedev.amarulasolutions.com/display/ODWIKI/Tinker+RK3288 + +How to build it +=============== + + $ make asus_tinker-s_rk3288_defconfig + +Then you can edit the build options using + + $ make menuconfig + +Compile all and build rootfs image: + + $ make + +Prepare your SDCard +=================== + +Buildroot generates a ready-to-use SD card image that you can flash directly to +the card. The image will be in output/images/sdcard.img. +You can write this image directly to an SD card device (i.e. /dev/xxx): + + $ sudo dd if=output/images/sdcard.img of=/dev/xxx + $ sudo sync + +Finally, you can insert the SD card to the Tinker RK3288 board and boot it. + +NOTE: +USB power supply requires more than the standard 500mA USB current, so +this board must be supplied from a capable port or from an external +AC/DC adapter. Otherwise it will hang forever while loading the kernel +image. diff --git a/board/asus/tinker/extlinux.conf b/board/asus/tinker/extlinux.conf new file mode 100644 index 00000000000..be21e246ec3 --- /dev/null +++ b/board/asus/tinker/extlinux.conf @@ -0,0 +1,4 @@ +label Tinker linux + kernel /boot/zImage + devicetree /boot/rk3288-tinker.dtb + append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait diff --git a/board/asus/tinker/genimage.cfg b/board/asus/tinker/genimage.cfg new file mode 100644 index 00000000000..fa7fd734f20 --- /dev/null +++ b/board/asus/tinker/genimage.cfg @@ -0,0 +1,22 @@ +image sdcard.img { + hdimage { + } + + partition u-boot-tpl-spl-dtb { + in-partition-table = "no" + image = "u-boot-tpl-spl-dtb.img" + offset = 32K + } + + partition u-boot-dtb { + in-partition-table = "no" + image = "u-boot-dtb.img" + offset = 8M + size = 30M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/asus/tinker/patches/linux-headers/linux-headers.hash b/board/asus/tinker/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/asus/tinker/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/asus/tinker/patches/linux/linux.hash b/board/asus/tinker/patches/linux/linux.hash new file mode 100644 index 00000000000..f83883b936d --- /dev/null +++ b/board/asus/tinker/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz diff --git a/board/asus/tinker/patches/uboot/uboot.hash b/board/asus/tinker/patches/uboot/uboot.hash new file mode 100644 index 00000000000..60971ee74f0 --- /dev/null +++ b/board/asus/tinker/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/asus/tinker/post-build.sh b/board/asus/tinker/post-build.sh new file mode 100755 index 00000000000..ffbbcdeb589 --- /dev/null +++ b/board/asus/tinker/post-build.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +MKIMAGE=$HOST_DIR/bin/mkimage +BOARD_DIR="$(dirname $0)" + +$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-tpl.bin $BINARIES_DIR/u-boot-tpl.img +cat $BINARIES_DIR/u-boot-tpl.img $BINARIES_DIR/u-boot-spl-dtb.bin > $BINARIES_DIR/u-boot-tpl-spl-dtb.img + +install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf diff --git a/board/asus/tinker/readme.txt b/board/asus/tinker/readme.txt new file mode 100644 index 00000000000..110e2168c9a --- /dev/null +++ b/board/asus/tinker/readme.txt @@ -0,0 +1,43 @@ +Tinker RK3288 +============= + +Tinker Board is a Single Board Computer (SBC) in an ultra-small form +factor that offers class-leading performance while leveraging outstanding +mechanical compatibility. + +Tinker link: +https://www.asus.com/in/Single-Board-Computer/Tinker-Board/ + +Wiki link: +https://openedev.amarulasolutions.com/display/ODWIKI/Tinker+RK3288 + +How to build it +=============== + + $ make asus_tinker_rk3288_defconfig + +Then you can edit the build options using + + $ make menuconfig + +Compile all and build rootfs image: + + $ make + +Prepare your SDCard +=================== + +Buildroot generates a ready-to-use SD card image that you can flash directly to +the card. The image will be in output/images/sdcard.img. +You can write this image directly to an SD card device (i.e. /dev/xxx): + + $ sudo dd if=output/images/sdcard.img of=/dev/xxx + $ sudo sync + +Finally, you can insert the SD card to the Tinker RK3288 board and boot it. + +NOTE: +USB power supply requires more than the standard 500mA USB current, so +this board must be supplied from a capable port or from an external +AC/DC adapter. Otherwise it will hang forever while loading the kernel +image. diff --git a/board/atmel/at91sam9x5ek/patches/at91bootstrap3/at91bootstrap3.hash b/board/atmel/at91sam9x5ek/patches/at91bootstrap3/at91bootstrap3.hash new file mode 100644 index 00000000000..6edf3d3345e --- /dev/null +++ b/board/atmel/at91sam9x5ek/patches/at91bootstrap3/at91bootstrap3.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 5ea2a8fed1ba0024229c6f6d77176679e1b24791bdbce8e285634013d4a93551 at91bootstrap3-v3.10.3-git4.tar.gz diff --git a/board/atmel/at91sam9x5ek/patches/linux-headers/linux-headers.hash b/board/atmel/at91sam9x5ek/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/atmel/at91sam9x5ek/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/atmel/at91sam9x5ek/patches/linux/0001-ARM-8933-1-replace-Sun-Solaris-style-flag-on-section.patch b/board/atmel/at91sam9x5ek/patches/linux/0001-ARM-8933-1-replace-Sun-Solaris-style-flag-on-section.patch new file mode 100644 index 00000000000..81c4ce2fbc1 --- /dev/null +++ b/board/atmel/at91sam9x5ek/patches/linux/0001-ARM-8933-1-replace-Sun-Solaris-style-flag-on-section.patch @@ -0,0 +1,435 @@ +From 762d2dcd9e233e3025f8627ea65f23e568045edb Mon Sep 17 00:00:00 2001 +From: Nick Desaulniers +Date: Mon, 4 Nov 2019 19:31:45 +0100 +Subject: [PATCH] ARM: 8933/1: replace Sun/Solaris style flag on section + directive + +[ Upstream commit 790756c7e0229dedc83bf058ac69633045b1000e ] + +It looks like a section directive was using "Solaris style" to declare +the section flags. Replace this with the GNU style so that Clang's +integrated assembler can assemble this directive. + +The modified instances were identified via: +$ ag \.section | grep # + +Link: https://ftp.gnu.org/old-gnu/Manuals/gas-2.9.1/html_chapter/as_7.html#SEC119 +Link: https://github.com/ClangBuiltLinux/linux/issues/744 +Link: https://bugs.llvm.org/show_bug.cgi?id=43759 +Link: https://reviews.llvm.org/D69296 + +Acked-by: Nicolas Pitre +Reviewed-by: Ard Biesheuvel +Reviewed-by: Stefan Agner +Signed-off-by: Nick Desaulniers +Suggested-by: Fangrui Song +Suggested-by: Jian Cai +Suggested-by: Peter Smith +Signed-off-by: Russell King +Signed-off-by: Sasha Levin +Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=762d2dcd9e233e3025f8627ea65f23e568045edb +--- + arch/arm/boot/bootp/init.S | 2 +- + arch/arm/boot/compressed/big-endian.S | 2 +- + arch/arm/boot/compressed/head.S | 2 +- + arch/arm/boot/compressed/piggy.S | 2 +- + arch/arm/mm/proc-arm1020.S | 2 +- + arch/arm/mm/proc-arm1020e.S | 2 +- + arch/arm/mm/proc-arm1022.S | 2 +- + arch/arm/mm/proc-arm1026.S | 2 +- + arch/arm/mm/proc-arm720.S | 2 +- + arch/arm/mm/proc-arm740.S | 2 +- + arch/arm/mm/proc-arm7tdmi.S | 2 +- + arch/arm/mm/proc-arm920.S | 2 +- + arch/arm/mm/proc-arm922.S | 2 +- + arch/arm/mm/proc-arm925.S | 2 +- + arch/arm/mm/proc-arm926.S | 2 +- + arch/arm/mm/proc-arm940.S | 2 +- + arch/arm/mm/proc-arm946.S | 2 +- + arch/arm/mm/proc-arm9tdmi.S | 2 +- + arch/arm/mm/proc-fa526.S | 2 +- + arch/arm/mm/proc-feroceon.S | 2 +- + arch/arm/mm/proc-mohawk.S | 2 +- + arch/arm/mm/proc-sa110.S | 2 +- + arch/arm/mm/proc-sa1100.S | 2 +- + arch/arm/mm/proc-v6.S | 2 +- + arch/arm/mm/proc-v7.S | 2 +- + arch/arm/mm/proc-v7m.S | 4 ++-- + arch/arm/mm/proc-xsc3.S | 2 +- + arch/arm/mm/proc-xscale.S | 2 +- + 28 files changed, 29 insertions(+), 29 deletions(-) + +diff --git a/arch/arm/boot/bootp/init.S b/arch/arm/boot/bootp/init.S +index 78b508075161..868eeeaaa46e 100644 +--- a/arch/arm/boot/bootp/init.S ++++ b/arch/arm/boot/bootp/init.S +@@ -16,7 +16,7 @@ + * size immediately following the kernel, we could build this into + * a binary blob, and concatenate the zImage using the cat command. + */ +- .section .start,#alloc,#execinstr ++ .section .start, "ax" + .type _start, #function + .globl _start + +diff --git a/arch/arm/boot/compressed/big-endian.S b/arch/arm/boot/compressed/big-endian.S +index 88e2a88d324b..0e092c36da2f 100644 +--- a/arch/arm/boot/compressed/big-endian.S ++++ b/arch/arm/boot/compressed/big-endian.S +@@ -6,7 +6,7 @@ + * Author: Nicolas Pitre + */ + +- .section ".start", #alloc, #execinstr ++ .section ".start", "ax" + + mrc p15, 0, r0, c1, c0, 0 @ read control reg + orr r0, r0, #(1 << 7) @ enable big endian mode +diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S +index 69e661f574a0..e4d1b3d0b7d9 100644 +--- a/arch/arm/boot/compressed/head.S ++++ b/arch/arm/boot/compressed/head.S +@@ -114,7 +114,7 @@ + #endif + .endm + +- .section ".start", #alloc, #execinstr ++ .section ".start", "ax" + /* + * sort out different calling conventions + */ +diff --git a/arch/arm/boot/compressed/piggy.S b/arch/arm/boot/compressed/piggy.S +index 0284f84dcf38..27577644ee72 100644 +--- a/arch/arm/boot/compressed/piggy.S ++++ b/arch/arm/boot/compressed/piggy.S +@@ -1,5 +1,5 @@ + /* SPDX-License-Identifier: GPL-2.0 */ +- .section .piggydata,#alloc ++ .section .piggydata, "a" + .globl input_data + input_data: + .incbin "arch/arm/boot/compressed/piggy_data" +diff --git a/arch/arm/mm/proc-arm1020.S b/arch/arm/mm/proc-arm1020.S +index 774ef1323554..4773490177c9 100644 +--- a/arch/arm/mm/proc-arm1020.S ++++ b/arch/arm/mm/proc-arm1020.S +@@ -505,7 +505,7 @@ cpu_arm1020_name: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __arm1020_proc_info,#object + __arm1020_proc_info: +diff --git a/arch/arm/mm/proc-arm1020e.S b/arch/arm/mm/proc-arm1020e.S +index ae3c27b71594..928e8ca58f40 100644 +--- a/arch/arm/mm/proc-arm1020e.S ++++ b/arch/arm/mm/proc-arm1020e.S +@@ -463,7 +463,7 @@ arm1020e_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __arm1020e_proc_info,#object + __arm1020e_proc_info: +diff --git a/arch/arm/mm/proc-arm1022.S b/arch/arm/mm/proc-arm1022.S +index dbb2413fe04d..385584c3d222 100644 +--- a/arch/arm/mm/proc-arm1022.S ++++ b/arch/arm/mm/proc-arm1022.S +@@ -448,7 +448,7 @@ arm1022_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __arm1022_proc_info,#object + __arm1022_proc_info: +diff --git a/arch/arm/mm/proc-arm1026.S b/arch/arm/mm/proc-arm1026.S +index 0b37b2cef9d3..29cc81857373 100644 +--- a/arch/arm/mm/proc-arm1026.S ++++ b/arch/arm/mm/proc-arm1026.S +@@ -442,7 +442,7 @@ arm1026_crval: + string cpu_arm1026_name, "ARM1026EJ-S" + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __arm1026_proc_info,#object + __arm1026_proc_info: +diff --git a/arch/arm/mm/proc-arm720.S b/arch/arm/mm/proc-arm720.S +index 3651cd70e418..c08cd1b0a1d0 100644 +--- a/arch/arm/mm/proc-arm720.S ++++ b/arch/arm/mm/proc-arm720.S +@@ -186,7 +186,7 @@ arm720_crval: + * See for a definition of this structure. + */ + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .macro arm720_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, cpu_flush:req + .type __\name\()_proc_info,#object +diff --git a/arch/arm/mm/proc-arm740.S b/arch/arm/mm/proc-arm740.S +index 024fb7732407..6eed87103b95 100644 +--- a/arch/arm/mm/proc-arm740.S ++++ b/arch/arm/mm/proc-arm740.S +@@ -132,7 +132,7 @@ __arm740_setup: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + .type __arm740_proc_info,#object + __arm740_proc_info: + .long 0x41807400 +diff --git a/arch/arm/mm/proc-arm7tdmi.S b/arch/arm/mm/proc-arm7tdmi.S +index 25472d94426d..beb64a7ccb38 100644 +--- a/arch/arm/mm/proc-arm7tdmi.S ++++ b/arch/arm/mm/proc-arm7tdmi.S +@@ -76,7 +76,7 @@ __arm7tdmi_setup: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .macro arm7tdmi_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, \ + extra_hwcaps=0 +diff --git a/arch/arm/mm/proc-arm920.S b/arch/arm/mm/proc-arm920.S +index 7a14bd4414c9..5d4319708362 100644 +--- a/arch/arm/mm/proc-arm920.S ++++ b/arch/arm/mm/proc-arm920.S +@@ -448,7 +448,7 @@ arm920_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __arm920_proc_info,#object + __arm920_proc_info: +diff --git a/arch/arm/mm/proc-arm922.S b/arch/arm/mm/proc-arm922.S +index edccfcdcd551..7e22ca780b36 100644 +--- a/arch/arm/mm/proc-arm922.S ++++ b/arch/arm/mm/proc-arm922.S +@@ -426,7 +426,7 @@ arm922_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __arm922_proc_info,#object + __arm922_proc_info: +diff --git a/arch/arm/mm/proc-arm925.S b/arch/arm/mm/proc-arm925.S +index 32a47cc19076..d343e77b8456 100644 +--- a/arch/arm/mm/proc-arm925.S ++++ b/arch/arm/mm/proc-arm925.S +@@ -491,7 +491,7 @@ arm925_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .macro arm925_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, cache + .type __\name\()_proc_info,#object +diff --git a/arch/arm/mm/proc-arm926.S b/arch/arm/mm/proc-arm926.S +index fb827c633693..8cf78c608c42 100644 +--- a/arch/arm/mm/proc-arm926.S ++++ b/arch/arm/mm/proc-arm926.S +@@ -474,7 +474,7 @@ arm926_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __arm926_proc_info,#object + __arm926_proc_info: +diff --git a/arch/arm/mm/proc-arm940.S b/arch/arm/mm/proc-arm940.S +index ee5b66f847c4..631ae64eeccd 100644 +--- a/arch/arm/mm/proc-arm940.S ++++ b/arch/arm/mm/proc-arm940.S +@@ -344,7 +344,7 @@ __arm940_setup: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __arm940_proc_info,#object + __arm940_proc_info: +diff --git a/arch/arm/mm/proc-arm946.S b/arch/arm/mm/proc-arm946.S +index 7361837edc31..033ad7402d67 100644 +--- a/arch/arm/mm/proc-arm946.S ++++ b/arch/arm/mm/proc-arm946.S +@@ -399,7 +399,7 @@ __arm946_setup: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + .type __arm946_proc_info,#object + __arm946_proc_info: + .long 0x41009460 +diff --git a/arch/arm/mm/proc-arm9tdmi.S b/arch/arm/mm/proc-arm9tdmi.S +index 7fac8c612134..2195468ccd76 100644 +--- a/arch/arm/mm/proc-arm9tdmi.S ++++ b/arch/arm/mm/proc-arm9tdmi.S +@@ -70,7 +70,7 @@ __arm9tdmi_setup: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .macro arm9tdmi_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req + .type __\name\()_proc_info, #object +diff --git a/arch/arm/mm/proc-fa526.S b/arch/arm/mm/proc-fa526.S +index 4001b73af4ee..fd3e5dd94e59 100644 +--- a/arch/arm/mm/proc-fa526.S ++++ b/arch/arm/mm/proc-fa526.S +@@ -190,7 +190,7 @@ fa526_cr1_set: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __fa526_proc_info,#object + __fa526_proc_info: +diff --git a/arch/arm/mm/proc-feroceon.S b/arch/arm/mm/proc-feroceon.S +index 92e08bf37aad..685d324a74d3 100644 +--- a/arch/arm/mm/proc-feroceon.S ++++ b/arch/arm/mm/proc-feroceon.S +@@ -584,7 +584,7 @@ feroceon_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .macro feroceon_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, cache:req + .type __\name\()_proc_info,#object +diff --git a/arch/arm/mm/proc-mohawk.S b/arch/arm/mm/proc-mohawk.S +index 6f07d2ef4ff2..9182321a586a 100644 +--- a/arch/arm/mm/proc-mohawk.S ++++ b/arch/arm/mm/proc-mohawk.S +@@ -429,7 +429,7 @@ mohawk_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __88sv331x_proc_info,#object + __88sv331x_proc_info: +diff --git a/arch/arm/mm/proc-sa110.S b/arch/arm/mm/proc-sa110.S +index ee2ce496239f..093ad2ceff28 100644 +--- a/arch/arm/mm/proc-sa110.S ++++ b/arch/arm/mm/proc-sa110.S +@@ -199,7 +199,7 @@ sa110_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __sa110_proc_info,#object + __sa110_proc_info: +diff --git a/arch/arm/mm/proc-sa1100.S b/arch/arm/mm/proc-sa1100.S +index 222d5836f666..12b8fcab4b59 100644 +--- a/arch/arm/mm/proc-sa1100.S ++++ b/arch/arm/mm/proc-sa1100.S +@@ -242,7 +242,7 @@ sa1100_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .macro sa1100_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req + .type __\name\()_proc_info,#object +diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S +index 06d890a2342b..32f4df0915ef 100644 +--- a/arch/arm/mm/proc-v6.S ++++ b/arch/arm/mm/proc-v6.S +@@ -264,7 +264,7 @@ v6_crval: + string cpu_elf_name, "v6" + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + /* + * Match any ARMv6 processor core. +diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S +index 339eb17c9808..e351d682c2e3 100644 +--- a/arch/arm/mm/proc-v7.S ++++ b/arch/arm/mm/proc-v7.S +@@ -637,7 +637,7 @@ __v7_setup_stack: + string cpu_elf_name, "v7" + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + /* + * Standard v7 proc info content +diff --git a/arch/arm/mm/proc-v7m.S b/arch/arm/mm/proc-v7m.S +index 9c2978c128d9..0be14b64879c 100644 +--- a/arch/arm/mm/proc-v7m.S ++++ b/arch/arm/mm/proc-v7m.S +@@ -96,7 +96,7 @@ ENTRY(cpu_cm7_proc_fin) + ret lr + ENDPROC(cpu_cm7_proc_fin) + +- .section ".init.text", #alloc, #execinstr ++ .section ".init.text", "ax" + + __v7m_cm7_setup: + mov r8, #(V7M_SCB_CCR_DC | V7M_SCB_CCR_IC| V7M_SCB_CCR_BP) +@@ -180,7 +180,7 @@ ENDPROC(__v7m_setup) + string cpu_elf_name "v7m" + string cpu_v7m_name "ARMv7-M" + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .macro __v7m_proc name, initfunc, cache_fns = nop_cache_fns, hwcaps = 0, proc_fns = v7m_processor_functions + .long 0 /* proc_info_list.__cpu_mm_mmu_flags */ +diff --git a/arch/arm/mm/proc-xsc3.S b/arch/arm/mm/proc-xsc3.S +index 293dcc2c441f..da96e4de1353 100644 +--- a/arch/arm/mm/proc-xsc3.S ++++ b/arch/arm/mm/proc-xsc3.S +@@ -499,7 +499,7 @@ xsc3_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .macro xsc3_proc_info name:req, cpu_val:req, cpu_mask:req + .type __\name\()_proc_info,#object +diff --git a/arch/arm/mm/proc-xscale.S b/arch/arm/mm/proc-xscale.S +index 3d75b7972fd1..c7800c69921b 100644 +--- a/arch/arm/mm/proc-xscale.S ++++ b/arch/arm/mm/proc-xscale.S +@@ -613,7 +613,7 @@ xscale_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .macro xscale_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, cache + .type __\name\()_proc_info,#object +-- +2.43.0 + diff --git a/board/atmel/at91sam9x5ek/patches/linux/linux.hash b/board/atmel/at91sam9x5ek/patches/linux/linux.hash new file mode 100644 index 00000000000..ef899fbbc92 --- /dev/null +++ b/board/atmel/at91sam9x5ek/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 6cc67b3d2d550c3f0b201d7850bdb25503bc6a51e41b98d2c0fbd531b56f3a20 linux-linux4sam_6.1.tar.gz diff --git a/board/atmel/at91sam9x5ek/patches/uboot/uboot.hash b/board/atmel/at91sam9x5ek/patches/uboot/uboot.hash new file mode 100644 index 00000000000..723ce137f2b --- /dev/null +++ b/board/atmel/at91sam9x5ek/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 c7c08f44487c97ade41966ed6cd639258d124e781580ea0a82d96b6b5ca230a5 uboot-linux4sam_6.1-git4.tar.gz diff --git a/board/atmel/at91sam9x5ek_mmc/genimage.cfg b/board/atmel/at91sam9x5ek_mmc/genimage.cfg index 7a552665f3d..d99ebd26be9 100644 --- a/board/atmel/at91sam9x5ek_mmc/genimage.cfg +++ b/board/atmel/at91sam9x5ek_mmc/genimage.cfg @@ -17,6 +17,7 @@ image boot.vfat { image = "uboot-env.bin" } } + size = 16M } diff --git a/board/atmel/at91sam9x5ek_mmc/post-image.sh b/board/atmel/at91sam9x5ek_mmc/post-image.sh deleted file mode 100755 index b560fd31c4d..00000000000 --- a/board/atmel/at91sam9x5ek_mmc/post-image.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -echo --rootpath "${TARGET_DIR}" -echo --tmppath "${GENIMAGE_TMP}" -echo --inputpath "${BINARIES_DIR}" -echo --outputpath "${BINARIES_DIR}" -echo --config "${GENIMAGE_CFG}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/board/atmel/flasher.sh b/board/atmel/flasher.sh index bbdb199b970..a7409ce8800 100755 --- a/board/atmel/flasher.sh +++ b/board/atmel/flasher.sh @@ -4,6 +4,10 @@ BUILDIR=$1 TTY=$2 BOARD=$3 +family_at91sam9260ek="at91sam9260ek" +mach_at91sam9260ek="at91sam9260-ek" +dtb_at91sam9260ek="at91sam9260ek.dtb" + family_at91sam9g45m10ek="at91sam9m10g45ek" mach_at91sam9g45m10ek="at91sam9m10-g45-ek" dtb_at91sam9g45m10ek="at91sam9m10g45ek.dtb" @@ -16,6 +20,10 @@ family_at91sam9g15ek="at91sam9x5ek" mach_at91sam9g15ek="at91sam9g15-ek" dtb_at91sam9g15ek="at91sam9g15ek.dtb" +family_at91sam9g20ek="at91sam9g20ek" +mach_at91sam9g20ek="at91sam9g20-ek" +dtb_at91sam9g20ek="at91sam9g20ek.dtb" + family_at91sam9g25ek="at91sam9x5ek" mach_at91sam9g25ek="at91sam9g25-ek" dtb_at91sam9g25ek="at91sam9g25ek.dtb" @@ -90,9 +98,11 @@ Usage: $0 Available boards: + at91sam9260ek at91sam9g45m10ek at91sam9rlek at91sam9g15ek + at91sam9g20ek at91sam9g25ek at91sam9x25ek at91sam9g35ek @@ -130,7 +140,6 @@ if [[ $BOARD == "*pda4" ]]; then video_mode="video=LVDS-1:480x272-16" fi -echo "Executing: ${!F} O=$1/images $1/host/opt/sam-ba/sam-ba $TTY ${!M} $(dirname $0)/nandflash.tcl -- ${!F} ${!D} $video_mode" +echo "Executing: ${!F} O=$1/images $1/host/bin/sam-ba $TTY ${!M} $(dirname $0)/nandflash.tcl -- ${!F} ${!D} $video_mode" export O=$1/images -$1/host/opt/sam-ba/sam-ba $TTY ${!M} $(dirname $0)/nandflash.tcl -- ${!F} ${!D} $video_mode - +$1/host/bin/sam-ba $TTY ${!M} $(dirname $0)/nandflash.tcl -- ${!F} ${!D} $video_mode diff --git a/board/atmel/readme.txt b/board/atmel/readme.txt index 4f90e4b4cc2..a9c427e90bc 100644 --- a/board/atmel/readme.txt +++ b/board/atmel/readme.txt @@ -1,6 +1,6 @@ -This document explains how to set up a basic Buildroot system on various -Atmel boards. Additional details can also be found on the Linux4SAM website: -http://www.at91.com/linux4sam/bin/view/Linux4SAM/ +This document explains how to set up a basic Buildroot system on +various Atmel/Microchip boards. Additional details can also be found +on the Linux4SAM website: http://www.linux4sam.org This guide covers the following configurations: - at91sam9g45m10ek_defconfig @@ -19,6 +19,14 @@ This guide covers the following configurations: - atmel_sama5d4_xplained_mmc_dev_defconfig - atmel_sama5d2_xplained_mmc_defconfig - atmel_sama5d2_xplained_mmc_dev_defconfig + - microchip_sama5d27_wlsom1_ek_mmc_defconfig + - microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig + - microchip_sam9x60ek_mmc_defconfig + - microchip_sam9x60ek_mmc_dev_defconfig + - microchip_sama5d2_icp_mmc_defconfig + - microchip_sama5d2_icp_mmc_dev_defconfig + - microchip_sama7g5ek_mmc_defconfig + - microchip_sama7g5ek_mmc_dev_defconfig These configurations will use AT91Bootstrap, u-boot and a linux kernel from the git trees maintained by Atmel. @@ -29,23 +37,23 @@ tests the features of the SoC: - FFMPEG to record video from the ISI/ISC - I2C, SPI, CAN, etc. tools - modetest for LCD screens, HDMI -- Wilc1000 firmware for the Atmel Wireless sdio module +- Wilc1000/Wilc3000 firmware for the Atmel Wireless sdio module - SSH for convenience - GDB/GDB server for debug Configuring and building Buildroot ================================== -For most configurations listed above, the Buildroot configuration -assumes the system will be flashed on NAND. In this case, after -building Buildroot, follow the instructions in the "Flashing the NAND -using SAM-BA" section below. - -For the Xplained boards, an alternative Buildroot configuration is +For the Xplained/Evaluation Kit boards, the Buildroot configuration is provided to boot from an SD card. Those configurations are labeled as 'mmc'. In this case, after building Buildroot, follow the instructions in the "Preparing the SD card" section. +For the other configurations listed above, the Buildroot configuration +assumes the system will be flashed on NAND. In this case, after +building Buildroot, follow the instructions in the "Flashing the NAND +using SAM-BA" section below. + To configure and build Buildroot, run: make _defconfig @@ -144,10 +152,10 @@ lost. To copy the image on the SD card: dd if=output/images/sdcard.img of=/dev/mmcblk0 -Insert your SD card in your Xplained board, and enjoy. The default -U-Boot environment will load properly the kernel and Device Tree blob -from the first partition of the SD card, so everything works -automatically. +Insert your SD card in your Xplained/Evaluation Kit board, and +enjoy. The default U-Boot environment will load properly the kernel +and Device Tree blob from the first partition of the SD card, so +everything works automatically. By default a 16MB FAT partition is created. It contains at91bootstrap, u-boot, the kernel image and all dtb variants for your board. The dtb diff --git a/board/atmel/sama5d27_som1_ek_mmc/genimage.cfg b/board/atmel/sama5d27_som1_ek_mmc/genimage.cfg index f5222ff8930..a0adecfd342 100644 --- a/board/atmel/sama5d27_som1_ek_mmc/genimage.cfg +++ b/board/atmel/sama5d27_som1_ek_mmc/genimage.cfg @@ -5,13 +5,11 @@ image boot.vfat { files = { "zImage", "at91-sama5d27_som1_ek.dtb", - "at91-sama5d27_som1_ek_pda4.dtb", - "at91-sama5d27_som1_ek_pda7.dtb", - "at91-sama5d27_som1_ek_pda7b.dtb", "boot.bin", "u-boot.bin" } } + size = 16M } diff --git a/board/atmel/sama5d27_som1_ek_mmc/post-image.sh b/board/atmel/sama5d27_som1_ek_mmc/post-image.sh deleted file mode 100755 index 359b4c9e7c5..00000000000 --- a/board/atmel/sama5d27_som1_ek_mmc/post-image.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/board/atmel/sama5d27_wlsom1_ek_mmc/genimage.cfg b/board/atmel/sama5d27_wlsom1_ek_mmc/genimage.cfg new file mode 100644 index 00000000000..cf55f46fc7e --- /dev/null +++ b/board/atmel/sama5d27_wlsom1_ek_mmc/genimage.cfg @@ -0,0 +1,32 @@ +# Image for SD card boot on Microchip SAMA5D27 WLSOM1 EK +# +image boot.vfat { + vfat { + files = { + "zImage", + "at91-sama5d27_wlsom1_ek.dtb", + "boot.bin", + "u-boot.bin" + } + } + + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + offset = 1M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + size = 512M + } +} diff --git a/board/atmel/sama5d2_xplained_mmc/genimage.cfg b/board/atmel/sama5d2_xplained_mmc/genimage.cfg index d3b7af5b5c9..2c5a0f6dce7 100644 --- a/board/atmel/sama5d2_xplained_mmc/genimage.cfg +++ b/board/atmel/sama5d2_xplained_mmc/genimage.cfg @@ -5,13 +5,11 @@ image boot.vfat { files = { "zImage", "at91-sama5d2_xplained.dtb", - "at91-sama5d2_xplained_pda4.dtb", - "at91-sama5d2_xplained_pda7.dtb", - "at91-sama5d2_xplained_pda7b.dtb", "boot.bin", "u-boot.bin" } } + size = 16M } diff --git a/board/atmel/sama5d2_xplained_mmc/post-image.sh b/board/atmel/sama5d2_xplained_mmc/post-image.sh deleted file mode 100755 index 359b4c9e7c5..00000000000 --- a/board/atmel/sama5d2_xplained_mmc/post-image.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/board/atmel/sama5d3_xplained_mmc/genimage.cfg b/board/atmel/sama5d3_xplained_mmc/genimage.cfg index 277ce5f9c9c..0456e8d5a2e 100644 --- a/board/atmel/sama5d3_xplained_mmc/genimage.cfg +++ b/board/atmel/sama5d3_xplained_mmc/genimage.cfg @@ -5,13 +5,11 @@ image boot.vfat { files = { "zImage", "at91-sama5d3_xplained.dtb", - "at91-sama5d3_xplained_pda4.dtb", - "at91-sama5d3_xplained_pda7.dtb", - "at91-sama5d3_xplained_pda7b.dtb", "boot.bin", "u-boot.bin" } } + size = 16M } diff --git a/board/atmel/sama5d3_xplained_mmc/post-image.sh b/board/atmel/sama5d3_xplained_mmc/post-image.sh deleted file mode 100755 index 359b4c9e7c5..00000000000 --- a/board/atmel/sama5d3_xplained_mmc/post-image.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/board/atmel/sama5d4_xplained_mmc/genimage.cfg b/board/atmel/sama5d4_xplained_mmc/genimage.cfg index 70bb3e4ff0a..bd929ffab40 100644 --- a/board/atmel/sama5d4_xplained_mmc/genimage.cfg +++ b/board/atmel/sama5d4_xplained_mmc/genimage.cfg @@ -5,14 +5,11 @@ image boot.vfat { files = { "zImage", "at91-sama5d4_xplained.dtb", - "at91-sama5d4_xplained_hdmi.dtb", - "at91-sama5d4_xplained_pda4.dtb", - "at91-sama5d4_xplained_pda7.dtb", - "at91-sama5d4_xplained_pda7b.dtb", "boot.bin", "u-boot.bin" } } + size = 16M } diff --git a/board/atmel/sama5d4_xplained_mmc/post-image.sh b/board/atmel/sama5d4_xplained_mmc/post-image.sh deleted file mode 100755 index 359b4c9e7c5..00000000000 --- a/board/atmel/sama5d4_xplained_mmc/post-image.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/board/avnet/rzboard_v2l/genimage.cfg b/board/avnet/rzboard_v2l/genimage.cfg new file mode 100644 index 00000000000..94f35cb3604 --- /dev/null +++ b/board/avnet/rzboard_v2l/genimage.cfg @@ -0,0 +1,29 @@ +# SD card image for RZBoard V2L + +image boot.vfat { + vfat { + files = { + "Image", + "rzboard.dtb", + "uEnv.txt" + } + } + size = 24M +} + +image sdcard.img { + hdimage { + partition-table-type = "hybrid" + } + + partition boot { + partition-type = "0xC" + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + } +} diff --git a/board/avnet/rzboard_v2l/post-image.sh b/board/avnet/rzboard_v2l/post-image.sh new file mode 100755 index 00000000000..25bef8f793d --- /dev/null +++ b/board/avnet/rzboard_v2l/post-image.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -e + +cp board/avnet/rzboard_v2l/uEnv.txt "${BINARIES_DIR}" +support/scripts/genimage.sh -c board/avnet/rzboard_v2l/genimage.cfg diff --git a/board/avnet/rzboard_v2l/readme.txt b/board/avnet/rzboard_v2l/readme.txt new file mode 100644 index 00000000000..24b5680874e --- /dev/null +++ b/board/avnet/rzboard_v2l/readme.txt @@ -0,0 +1,71 @@ +RZBoard V2L +=========== + +https://www.avnet.com/wps/portal/us/products/avnet-boards/avnet-board-families/rzboard-v2l/ + +This board support creates a bootable sd card image for the AVNET RZBoard V2L. +This board is shipped with a u-boot inside its eMMC. This board support uses +that u-boot and only puts uEnv.txt, kernel image and rootfs onto the sd card. + +Build: +====== + + $ make rzboard_v2l_defconfig + $ make + +Files created in output directory +================================= + +output/images +. +├── Image +├── boot.vfat +├── rootfs.ext2 +├── rootfs.ext4 +├── rootfs.tar +├── rzboard.dtb +├── sdcard.img +└── uEnv.txt + +Creating bootable SD card: +========================== + +Simply invoke (as root) + +sudo dd if=output/images/sdcard.img of=/dev/sdX && sync + +Where X is your SD card device. + +Booting: +======== + +Configure board for sd card boot: +--------------------------------- +Set the 'BOOT1' switch (next to the audio jack) to '1' (away from 'ON') in +order to let the board boot kernel and rootfs from SD card. + +Serial console: +--------------- +The RZBoard V2L has a 4-pin header "J19" right next to the micro USB. Its +layout can be seen in the Quick-Start Guide, or the Hardware User Guide, +obtainable from: +https://www.avnet.com/wps/portal/us/products/avnet-boards/avnet-board-families/rzboard-v2l/ + +The uart pins are as follows (from left to right - orientation according to the +board's labeling): + +pin 1: n/a (most away from the board's corner) +pin 2: tx +pin 3: rx +pin 4: gnd (nearest to the board's corner) + +Baudrate for this board is 115200. + +Power-Up: +--------- +Plug in a suitable USB-C power supply and press the button 'S1' (next to the +USB-C port) for 2 seconds until the LED goes on. + +Login: +------ +Enter 'root' as login user, and the prompt is ready. diff --git a/board/avnet/rzboard_v2l/uEnv.txt b/board/avnet/rzboard_v2l/uEnv.txt new file mode 100644 index 00000000000..28b8acb8c67 --- /dev/null +++ b/board/avnet/rzboard_v2l/uEnv.txt @@ -0,0 +1,3 @@ +bootcmd=booti ${kernel_addr_r} - ${fdt_addr_r} +uenvcmd=fatload mmc 0:1 ${kernel_addr_r} Image; fatload mmc 0:1 ${fdt_addr_r} rzboard.dtb +bootargs=root=/dev/mmcblk0p2 rw rootfstype=ext4 earlyprintk console=ttyS0,115200 rootwait earlycon clk_ignore_unused debug diff --git a/board/bananapi/bananapi-m2-berry/extlinux.conf b/board/bananapi/bananapi-m2-berry/extlinux.conf new file mode 100644 index 00000000000..1f1b4f5cf36 --- /dev/null +++ b/board/bananapi/bananapi-m2-berry/extlinux.conf @@ -0,0 +1,4 @@ +label Bananapi M2 Berry linux + kernel /boot/zImage + devicetree /boot/sun8i-v40-bananapi-m2-berry.dtb + append console=ttyS0,115200n8 root=/dev/mmcblk0p1 rootwait diff --git a/board/bananapi/bananapi-m2-berry/genimage.cfg b/board/bananapi/bananapi-m2-berry/genimage.cfg new file mode 100644 index 00000000000..92c86775456 --- /dev/null +++ b/board/bananapi/bananapi-m2-berry/genimage.cfg @@ -0,0 +1,16 @@ +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + size = 1016K # 1MB - 8KB + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/bananapi/bananapi-m2-berry/patches/linux-headers/linux-headers.hash b/board/bananapi/bananapi-m2-berry/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/bananapi/bananapi-m2-berry/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/bananapi/bananapi-m2-berry/patches/linux/linux.hash b/board/bananapi/bananapi-m2-berry/patches/linux/linux.hash new file mode 100644 index 00000000000..f83883b936d --- /dev/null +++ b/board/bananapi/bananapi-m2-berry/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz diff --git a/board/bananapi/bananapi-m2-berry/patches/uboot/uboot.hash b/board/bananapi/bananapi-m2-berry/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/bananapi/bananapi-m2-berry/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/bananapi/bananapi-m2-berry/post-build.sh b/board/bananapi/bananapi-m2-berry/post-build.sh new file mode 100755 index 00000000000..21a2b0d8e7e --- /dev/null +++ b/board/bananapi/bananapi-m2-berry/post-build.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +install -m 644 -D "${BOARD_DIR}"/extlinux.conf \ + "${TARGET_DIR}"/boot/extlinux/extlinux.conf diff --git a/board/bananapi/bananapi-m2-berry/readme.txt b/board/bananapi/bananapi-m2-berry/readme.txt new file mode 100644 index 00000000000..838675ed94c --- /dev/null +++ b/board/bananapi/bananapi-m2-berry/readme.txt @@ -0,0 +1,35 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the Bananapi M2 Berry. With the current +configuration it will bring-up the board, and allow access through the +serial console. + +Bananapi M2 Berry link: +https://wiki.banana-pi.org/Banana_Pi_BPI-M2_Berry + +This configuration uses U-Boot mainline and kernel mainline. + +How to build +============ + + $ make bananapi_m2_berry_defconfig + $ make + +Note: you will need access to the internet to download the required +sources. + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your Bananapi M2 Berry and power it up. The console +is on the serial line, 115200 8N1. diff --git a/board/bananapi/bananapi-m2-ultra/extlinux.conf b/board/bananapi/bananapi-m2-ultra/extlinux.conf new file mode 100644 index 00000000000..f5f35c1d8fc --- /dev/null +++ b/board/bananapi/bananapi-m2-ultra/extlinux.conf @@ -0,0 +1,4 @@ +label Bananapi M2 Ultra linux + kernel /boot/zImage + devicetree /boot/sun8i-r40-bananapi-m2-ultra.dtb + append console=ttyS0,115200n8 root=/dev/mmcblk0p1 rootwait diff --git a/board/bananapi/bananapi-m2-ultra/genimage.cfg b/board/bananapi/bananapi-m2-ultra/genimage.cfg new file mode 100644 index 00000000000..92c86775456 --- /dev/null +++ b/board/bananapi/bananapi-m2-ultra/genimage.cfg @@ -0,0 +1,16 @@ +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + size = 1016K # 1MB - 8KB + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/bananapi/bananapi-m2-ultra/patches/linux-headers/linux-headers.hash b/board/bananapi/bananapi-m2-ultra/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/bananapi/bananapi-m2-ultra/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/bananapi/bananapi-m2-ultra/patches/linux/linux.hash b/board/bananapi/bananapi-m2-ultra/patches/linux/linux.hash new file mode 100644 index 00000000000..f83883b936d --- /dev/null +++ b/board/bananapi/bananapi-m2-ultra/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz diff --git a/board/bananapi/bananapi-m2-ultra/patches/uboot/uboot.hash b/board/bananapi/bananapi-m2-ultra/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/bananapi/bananapi-m2-ultra/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/bananapi/bananapi-m2-ultra/post-build.sh b/board/bananapi/bananapi-m2-ultra/post-build.sh new file mode 100755 index 00000000000..21a2b0d8e7e --- /dev/null +++ b/board/bananapi/bananapi-m2-ultra/post-build.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +install -m 644 -D "${BOARD_DIR}"/extlinux.conf \ + "${TARGET_DIR}"/boot/extlinux/extlinux.conf diff --git a/board/bananapi/bananapi-m2-ultra/readme.txt b/board/bananapi/bananapi-m2-ultra/readme.txt new file mode 100644 index 00000000000..c3de84f5b89 --- /dev/null +++ b/board/bananapi/bananapi-m2-ultra/readme.txt @@ -0,0 +1,35 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the Bananapi M2 ULtra. With the current +configuration it will bring-up the board, and allow access through the +serial console. + +Bananapi M2 Ultra link: +http://www.banana-pi.org/m2u.html + +This configuration uses U-Boot mainline and kernel mainline. + +How to build +============ + + $ make bananapi_m2_ultra_defconfig + $ make + +Note: you will need access to the internet to download the required +sources. + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your Bananapi M2 Ultra and power it up. The console +is on the serial line, 115200 8N1. diff --git a/board/bananapi/bananapi-m2-zero/boot.cmd b/board/bananapi/bananapi-m2-zero/boot.cmd new file mode 100644 index 00000000000..70ccdf7045b --- /dev/null +++ b/board/bananapi/bananapi-m2-zero/boot.cmd @@ -0,0 +1,7 @@ +setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk1p2 rootwait + +mmc dev 0 +fatload mmc 0 $kernel_addr_r zImage +fatload mmc 0 $fdt_addr_r sun8i-h2-plus-bananapi-m2-zero.dtb + +bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/bananapi/bananapi-m2-zero/genimage.cfg b/board/bananapi/bananapi-m2-zero/genimage.cfg new file mode 100644 index 00000000000..1f565b5238a --- /dev/null +++ b/board/bananapi/bananapi-m2-zero/genimage.cfg @@ -0,0 +1,34 @@ +image boot.vfat { + vfat { + files = { + "zImage", + "sun8i-h2-plus-bananapi-m2-zero.dtb", + "boot.scr" + } + } + + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + size = 1016K # 1MB - 8KB + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/bananapi/bananapi-m2-zero/readme.txt b/board/bananapi/bananapi-m2-zero/readme.txt new file mode 100644 index 00000000000..9edd477f11d --- /dev/null +++ b/board/bananapi/bananapi-m2-zero/readme.txt @@ -0,0 +1,34 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +Buildroot environment for the Bananapi M2 Zero. With the current configuration +it will bring-up the board, and allow access through the serial console. + +Bananapi M2 Zero link: +http://www.banana-pi.org/m2z.html + +This configuration uses U-Boot mainline and kernel mainline. + +How to build +============ + + $ make bananapi_m2_zero_defconfig + $ make + +Note: you will need access to the internet to download the required +sources. + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sync + +Insert the micro SDcard in your Bananapi M2 Zero and power it up. The console +is on the Debug UART on the CON3 header, with serial settings 115200 8N1. diff --git a/board/beagleboard/beaglebone-qt5/patches/linux-headers/linux-headers.hash b/board/beagleboard/beaglebone-qt5/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/beagleboard/beaglebone-qt5/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/beaglebone/patches/linux/0001-keep-jtag-clock-alive-for-debugger.patch b/board/beagleboard/beaglebone-qt5/patches/linux/0001-keep-jtag-clock-alive-for-debugger.patch similarity index 100% rename from board/beaglebone/patches/linux/0001-keep-jtag-clock-alive-for-debugger.patch rename to board/beagleboard/beaglebone-qt5/patches/linux/0001-keep-jtag-clock-alive-for-debugger.patch diff --git a/board/beagleboard/beaglebone-qt5/patches/linux/0002-ARM-8933-1-replace-Sun-Solaris-style-flag-on-section.patch b/board/beagleboard/beaglebone-qt5/patches/linux/0002-ARM-8933-1-replace-Sun-Solaris-style-flag-on-section.patch new file mode 100644 index 00000000000..e99363aeb65 --- /dev/null +++ b/board/beagleboard/beaglebone-qt5/patches/linux/0002-ARM-8933-1-replace-Sun-Solaris-style-flag-on-section.patch @@ -0,0 +1,432 @@ +From 790756c7e0229dedc83bf058ac69633045b1000e Mon Sep 17 00:00:00 2001 +From: Nick Desaulniers +Date: Mon, 4 Nov 2019 19:31:45 +0100 +Subject: [PATCH] ARM: 8933/1: replace Sun/Solaris style flag on section + directive + +It looks like a section directive was using "Solaris style" to declare +the section flags. Replace this with the GNU style so that Clang's +integrated assembler can assemble this directive. + +The modified instances were identified via: +$ ag \.section | grep # + +Link: https://ftp.gnu.org/old-gnu/Manuals/gas-2.9.1/html_chapter/as_7.html#SEC119 +Link: https://github.com/ClangBuiltLinux/linux/issues/744 +Link: https://bugs.llvm.org/show_bug.cgi?id=43759 +Link: https://reviews.llvm.org/D69296 + +Acked-by: Nicolas Pitre +Reviewed-by: Ard Biesheuvel +Reviewed-by: Stefan Agner +Signed-off-by: Nick Desaulniers +Suggested-by: Fangrui Song +Suggested-by: Jian Cai +Suggested-by: Peter Smith +Signed-off-by: Russell King +Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=762d2dcd9e233e3025f8627ea65f23e568045edb +--- + arch/arm/boot/bootp/init.S | 2 +- + arch/arm/boot/compressed/big-endian.S | 2 +- + arch/arm/boot/compressed/head.S | 2 +- + arch/arm/boot/compressed/piggy.S | 2 +- + arch/arm/mm/proc-arm1020.S | 2 +- + arch/arm/mm/proc-arm1020e.S | 2 +- + arch/arm/mm/proc-arm1022.S | 2 +- + arch/arm/mm/proc-arm1026.S | 2 +- + arch/arm/mm/proc-arm720.S | 2 +- + arch/arm/mm/proc-arm740.S | 2 +- + arch/arm/mm/proc-arm7tdmi.S | 2 +- + arch/arm/mm/proc-arm920.S | 2 +- + arch/arm/mm/proc-arm922.S | 2 +- + arch/arm/mm/proc-arm925.S | 2 +- + arch/arm/mm/proc-arm926.S | 2 +- + arch/arm/mm/proc-arm940.S | 2 +- + arch/arm/mm/proc-arm946.S | 2 +- + arch/arm/mm/proc-arm9tdmi.S | 2 +- + arch/arm/mm/proc-fa526.S | 2 +- + arch/arm/mm/proc-feroceon.S | 2 +- + arch/arm/mm/proc-mohawk.S | 2 +- + arch/arm/mm/proc-sa110.S | 2 +- + arch/arm/mm/proc-sa1100.S | 2 +- + arch/arm/mm/proc-v6.S | 2 +- + arch/arm/mm/proc-v7.S | 2 +- + arch/arm/mm/proc-v7m.S | 4 ++-- + arch/arm/mm/proc-xsc3.S | 2 +- + arch/arm/mm/proc-xscale.S | 2 +- + 28 files changed, 29 insertions(+), 29 deletions(-) + +diff --git a/arch/arm/boot/bootp/init.S b/arch/arm/boot/bootp/init.S +index 5c476bd2b4ce..b562da2f7040 100644 +--- a/arch/arm/boot/bootp/init.S ++++ b/arch/arm/boot/bootp/init.S +@@ -13,7 +13,7 @@ + * size immediately following the kernel, we could build this into + * a binary blob, and concatenate the zImage using the cat command. + */ +- .section .start,#alloc,#execinstr ++ .section .start, "ax" + .type _start, #function + .globl _start + +diff --git a/arch/arm/boot/compressed/big-endian.S b/arch/arm/boot/compressed/big-endian.S +index 88e2a88d324b..0e092c36da2f 100644 +--- a/arch/arm/boot/compressed/big-endian.S ++++ b/arch/arm/boot/compressed/big-endian.S +@@ -6,7 +6,7 @@ + * Author: Nicolas Pitre + */ + +- .section ".start", #alloc, #execinstr ++ .section ".start", "ax" + + mrc p15, 0, r0, c1, c0, 0 @ read control reg + orr r0, r0, #(1 << 7) @ enable big endian mode +diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S +index ae70754d003d..ead21e5f2b80 100644 +--- a/arch/arm/boot/compressed/head.S ++++ b/arch/arm/boot/compressed/head.S +@@ -140,7 +140,7 @@ + #endif + .endm + +- .section ".start", #alloc, #execinstr ++ .section ".start", "ax" + /* + * sort out different calling conventions + */ +diff --git a/arch/arm/boot/compressed/piggy.S b/arch/arm/boot/compressed/piggy.S +index 0284f84dcf38..27577644ee72 100644 +--- a/arch/arm/boot/compressed/piggy.S ++++ b/arch/arm/boot/compressed/piggy.S +@@ -1,5 +1,5 @@ + /* SPDX-License-Identifier: GPL-2.0 */ +- .section .piggydata,#alloc ++ .section .piggydata, "a" + .globl input_data + input_data: + .incbin "arch/arm/boot/compressed/piggy_data" +diff --git a/arch/arm/mm/proc-arm1020.S b/arch/arm/mm/proc-arm1020.S +index 4fa5371bc662..2785da387c91 100644 +--- a/arch/arm/mm/proc-arm1020.S ++++ b/arch/arm/mm/proc-arm1020.S +@@ -491,7 +491,7 @@ cpu_arm1020_name: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __arm1020_proc_info,#object + __arm1020_proc_info: +diff --git a/arch/arm/mm/proc-arm1020e.S b/arch/arm/mm/proc-arm1020e.S +index 5d8a8339e09a..e9ea237ed785 100644 +--- a/arch/arm/mm/proc-arm1020e.S ++++ b/arch/arm/mm/proc-arm1020e.S +@@ -449,7 +449,7 @@ arm1020e_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __arm1020e_proc_info,#object + __arm1020e_proc_info: +diff --git a/arch/arm/mm/proc-arm1022.S b/arch/arm/mm/proc-arm1022.S +index b3dd95c345e4..920c279e7879 100644 +--- a/arch/arm/mm/proc-arm1022.S ++++ b/arch/arm/mm/proc-arm1022.S +@@ -443,7 +443,7 @@ arm1022_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __arm1022_proc_info,#object + __arm1022_proc_info: +diff --git a/arch/arm/mm/proc-arm1026.S b/arch/arm/mm/proc-arm1026.S +index e927187157d7..0bdf25a95b10 100644 +--- a/arch/arm/mm/proc-arm1026.S ++++ b/arch/arm/mm/proc-arm1026.S +@@ -437,7 +437,7 @@ arm1026_crval: + string cpu_arm1026_name, "ARM1026EJ-S" + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __arm1026_proc_info,#object + __arm1026_proc_info: +diff --git a/arch/arm/mm/proc-arm720.S b/arch/arm/mm/proc-arm720.S +index c99d24363f32..39361e196d61 100644 +--- a/arch/arm/mm/proc-arm720.S ++++ b/arch/arm/mm/proc-arm720.S +@@ -172,7 +172,7 @@ arm720_crval: + * See for a definition of this structure. + */ + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .macro arm720_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, cpu_flush:req + .type __\name\()_proc_info,#object +diff --git a/arch/arm/mm/proc-arm740.S b/arch/arm/mm/proc-arm740.S +index 1b4a3838393f..1a94bbf6e53f 100644 +--- a/arch/arm/mm/proc-arm740.S ++++ b/arch/arm/mm/proc-arm740.S +@@ -128,7 +128,7 @@ __arm740_setup: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + .type __arm740_proc_info,#object + __arm740_proc_info: + .long 0x41807400 +diff --git a/arch/arm/mm/proc-arm7tdmi.S b/arch/arm/mm/proc-arm7tdmi.S +index 17a4687065c7..52b66cf0259e 100644 +--- a/arch/arm/mm/proc-arm7tdmi.S ++++ b/arch/arm/mm/proc-arm7tdmi.S +@@ -72,7 +72,7 @@ __arm7tdmi_setup: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .macro arm7tdmi_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, \ + extra_hwcaps=0 +diff --git a/arch/arm/mm/proc-arm920.S b/arch/arm/mm/proc-arm920.S +index 298c76b47749..31ac8acc34dc 100644 +--- a/arch/arm/mm/proc-arm920.S ++++ b/arch/arm/mm/proc-arm920.S +@@ -434,7 +434,7 @@ arm920_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __arm920_proc_info,#object + __arm920_proc_info: +diff --git a/arch/arm/mm/proc-arm922.S b/arch/arm/mm/proc-arm922.S +index 824be3a0bc23..ca2c7ca8af21 100644 +--- a/arch/arm/mm/proc-arm922.S ++++ b/arch/arm/mm/proc-arm922.S +@@ -412,7 +412,7 @@ arm922_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __arm922_proc_info,#object + __arm922_proc_info: +diff --git a/arch/arm/mm/proc-arm925.S b/arch/arm/mm/proc-arm925.S +index d40cff8f102c..a381a0c9f109 100644 +--- a/arch/arm/mm/proc-arm925.S ++++ b/arch/arm/mm/proc-arm925.S +@@ -477,7 +477,7 @@ arm925_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .macro arm925_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, cache + .type __\name\()_proc_info,#object +diff --git a/arch/arm/mm/proc-arm926.S b/arch/arm/mm/proc-arm926.S +index 4ef89e1d1127..1ba253c2bce1 100644 +--- a/arch/arm/mm/proc-arm926.S ++++ b/arch/arm/mm/proc-arm926.S +@@ -460,7 +460,7 @@ arm926_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __arm926_proc_info,#object + __arm926_proc_info: +diff --git a/arch/arm/mm/proc-arm940.S b/arch/arm/mm/proc-arm940.S +index 1c26d991386d..4b8a00220cc9 100644 +--- a/arch/arm/mm/proc-arm940.S ++++ b/arch/arm/mm/proc-arm940.S +@@ -340,7 +340,7 @@ __arm940_setup: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __arm940_proc_info,#object + __arm940_proc_info: +diff --git a/arch/arm/mm/proc-arm946.S b/arch/arm/mm/proc-arm946.S +index 2dc1c75a4fd4..555becf9c758 100644 +--- a/arch/arm/mm/proc-arm946.S ++++ b/arch/arm/mm/proc-arm946.S +@@ -395,7 +395,7 @@ __arm946_setup: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + .type __arm946_proc_info,#object + __arm946_proc_info: + .long 0x41009460 +diff --git a/arch/arm/mm/proc-arm9tdmi.S b/arch/arm/mm/proc-arm9tdmi.S +index 913c06e590af..ef517530130b 100644 +--- a/arch/arm/mm/proc-arm9tdmi.S ++++ b/arch/arm/mm/proc-arm9tdmi.S +@@ -66,7 +66,7 @@ __arm9tdmi_setup: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .macro arm9tdmi_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req + .type __\name\()_proc_info, #object +diff --git a/arch/arm/mm/proc-fa526.S b/arch/arm/mm/proc-fa526.S +index 8120b6f4dbb8..dddf833fe000 100644 +--- a/arch/arm/mm/proc-fa526.S ++++ b/arch/arm/mm/proc-fa526.S +@@ -185,7 +185,7 @@ fa526_cr1_set: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __fa526_proc_info,#object + __fa526_proc_info: +diff --git a/arch/arm/mm/proc-feroceon.S b/arch/arm/mm/proc-feroceon.S +index bb6dc34d42a3..b12b76bc8d30 100644 +--- a/arch/arm/mm/proc-feroceon.S ++++ b/arch/arm/mm/proc-feroceon.S +@@ -571,7 +571,7 @@ feroceon_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .macro feroceon_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, cache:req + .type __\name\()_proc_info,#object +diff --git a/arch/arm/mm/proc-mohawk.S b/arch/arm/mm/proc-mohawk.S +index f08308578885..d47d6c5cee63 100644 +--- a/arch/arm/mm/proc-mohawk.S ++++ b/arch/arm/mm/proc-mohawk.S +@@ -416,7 +416,7 @@ mohawk_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __88sv331x_proc_info,#object + __88sv331x_proc_info: +diff --git a/arch/arm/mm/proc-sa110.S b/arch/arm/mm/proc-sa110.S +index d5bc5d702563..baba503ba816 100644 +--- a/arch/arm/mm/proc-sa110.S ++++ b/arch/arm/mm/proc-sa110.S +@@ -196,7 +196,7 @@ sa110_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .type __sa110_proc_info,#object + __sa110_proc_info: +diff --git a/arch/arm/mm/proc-sa1100.S b/arch/arm/mm/proc-sa1100.S +index be7b611c76c7..75ebacc8e4e5 100644 +--- a/arch/arm/mm/proc-sa1100.S ++++ b/arch/arm/mm/proc-sa1100.S +@@ -239,7 +239,7 @@ sa1100_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .macro sa1100_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req + .type __\name\()_proc_info,#object +diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S +index c1c85eb3484f..1dd0d5ca27da 100644 +--- a/arch/arm/mm/proc-v6.S ++++ b/arch/arm/mm/proc-v6.S +@@ -261,7 +261,7 @@ v6_crval: + string cpu_elf_name, "v6" + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + /* + * Match any ARMv6 processor core. +diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S +index c4e8006a1a8c..48e0ef6f0dcc 100644 +--- a/arch/arm/mm/proc-v7.S ++++ b/arch/arm/mm/proc-v7.S +@@ -644,7 +644,7 @@ __v7_setup_stack: + string cpu_elf_name, "v7" + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + /* + * Standard v7 proc info content +diff --git a/arch/arm/mm/proc-v7m.S b/arch/arm/mm/proc-v7m.S +index 1a49d503eafc..84459c1d31b8 100644 +--- a/arch/arm/mm/proc-v7m.S ++++ b/arch/arm/mm/proc-v7m.S +@@ -93,7 +93,7 @@ ENTRY(cpu_cm7_proc_fin) + ret lr + ENDPROC(cpu_cm7_proc_fin) + +- .section ".init.text", #alloc, #execinstr ++ .section ".init.text", "ax" + + __v7m_cm7_setup: + mov r8, #(V7M_SCB_CCR_DC | V7M_SCB_CCR_IC| V7M_SCB_CCR_BP) +@@ -177,7 +177,7 @@ ENDPROC(__v7m_setup) + string cpu_elf_name "v7m" + string cpu_v7m_name "ARMv7-M" + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .macro __v7m_proc name, initfunc, cache_fns = nop_cache_fns, hwcaps = 0, proc_fns = v7m_processor_functions + .long 0 /* proc_info_list.__cpu_mm_mmu_flags */ +diff --git a/arch/arm/mm/proc-xsc3.S b/arch/arm/mm/proc-xsc3.S +index 1ac0fbbe9f12..42eaecc43cfe 100644 +--- a/arch/arm/mm/proc-xsc3.S ++++ b/arch/arm/mm/proc-xsc3.S +@@ -496,7 +496,7 @@ xsc3_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .macro xsc3_proc_info name:req, cpu_val:req, cpu_mask:req + .type __\name\()_proc_info,#object +diff --git a/arch/arm/mm/proc-xscale.S b/arch/arm/mm/proc-xscale.S +index bdb2b7749b03..18ac5a1f8922 100644 +--- a/arch/arm/mm/proc-xscale.S ++++ b/arch/arm/mm/proc-xscale.S +@@ -610,7 +610,7 @@ xscale_crval: + + .align + +- .section ".proc.info.init", #alloc ++ .section ".proc.info.init", "a" + + .macro xscale_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, cache + .type __\name\()_proc_info,#object +-- +2.43.0 + diff --git a/board/beagleboard/beaglebone-qt5/patches/linux/0003-ata-ahci-Match-EM_MAX_SLOTS-with-SATA_PMP_MAX_PORTS.patch b/board/beagleboard/beaglebone-qt5/patches/linux/0003-ata-ahci-Match-EM_MAX_SLOTS-with-SATA_PMP_MAX_PORTS.patch new file mode 100644 index 00000000000..50f5cf71a70 --- /dev/null +++ b/board/beagleboard/beaglebone-qt5/patches/linux/0003-ata-ahci-Match-EM_MAX_SLOTS-with-SATA_PMP_MAX_PORTS.patch @@ -0,0 +1,80 @@ +From 67a00c299c5c143817c948fbc7de1a2fa1af38fb Mon Sep 17 00:00:00 2001 +From: Kai-Heng Feng +Date: Tue, 11 Oct 2022 10:46:17 +0800 +Subject: [PATCH] ata: ahci: Match EM_MAX_SLOTS with SATA_PMP_MAX_PORTS + +commit 1e41e693f458eef2d5728207dbd327cd3b16580a upstream. + +UBSAN complains about array-index-out-of-bounds: +[ 1.980703] kernel: UBSAN: array-index-out-of-bounds in /build/linux-9H675w/linux-5.15.0/drivers/ata/libahci.c:968:41 +[ 1.980709] kernel: index 15 is out of range for type 'ahci_em_priv [8]' +[ 1.980713] kernel: CPU: 0 PID: 209 Comm: scsi_eh_8 Not tainted 5.15.0-25-generic #25-Ubuntu +[ 1.980716] kernel: Hardware name: System manufacturer System Product Name/P5Q3, BIOS 1102 06/11/2010 +[ 1.980718] kernel: Call Trace: +[ 1.980721] kernel: +[ 1.980723] kernel: show_stack+0x52/0x58 +[ 1.980729] kernel: dump_stack_lvl+0x4a/0x5f +[ 1.980734] kernel: dump_stack+0x10/0x12 +[ 1.980736] kernel: ubsan_epilogue+0x9/0x45 +[ 1.980739] kernel: __ubsan_handle_out_of_bounds.cold+0x44/0x49 +[ 1.980742] kernel: ahci_qc_issue+0x166/0x170 [libahci] +[ 1.980748] kernel: ata_qc_issue+0x135/0x240 +[ 1.980752] kernel: ata_exec_internal_sg+0x2c4/0x580 +[ 1.980754] kernel: ? vprintk_default+0x1d/0x20 +[ 1.980759] kernel: ata_exec_internal+0x67/0xa0 +[ 1.980762] kernel: sata_pmp_read+0x8d/0xc0 +[ 1.980765] kernel: sata_pmp_read_gscr+0x3c/0x90 +[ 1.980768] kernel: sata_pmp_attach+0x8b/0x310 +[ 1.980771] kernel: ata_eh_revalidate_and_attach+0x28c/0x4b0 +[ 1.980775] kernel: ata_eh_recover+0x6b6/0xb30 +[ 1.980778] kernel: ? ahci_do_hardreset+0x180/0x180 [libahci] +[ 1.980783] kernel: ? ahci_stop_engine+0xb0/0xb0 [libahci] +[ 1.980787] kernel: ? ahci_do_softreset+0x290/0x290 [libahci] +[ 1.980792] kernel: ? trace_event_raw_event_ata_eh_link_autopsy_qc+0xe0/0xe0 +[ 1.980795] kernel: sata_pmp_eh_recover.isra.0+0x214/0x560 +[ 1.980799] kernel: sata_pmp_error_handler+0x23/0x40 +[ 1.980802] kernel: ahci_error_handler+0x43/0x80 [libahci] +[ 1.980806] kernel: ata_scsi_port_error_handler+0x2b1/0x600 +[ 1.980810] kernel: ata_scsi_error+0x9c/0xd0 +[ 1.980813] kernel: scsi_error_handler+0xa1/0x180 +[ 1.980817] kernel: ? scsi_unjam_host+0x1c0/0x1c0 +[ 1.980820] kernel: kthread+0x12a/0x150 +[ 1.980823] kernel: ? set_kthread_struct+0x50/0x50 +[ 1.980826] kernel: ret_from_fork+0x22/0x30 +[ 1.980831] kernel: + +This happens because sata_pmp_init_links() initialize link->pmp up to +SATA_PMP_MAX_PORTS while em_priv is declared as 8 elements array. + +I can't find the maximum Enclosure Management ports specified in AHCI +spec v1.3.1, but "12.2.1 LED message type" states that "Port Multiplier +Information" can utilize 4 bits, which implies it can support up to 16 +ports. Hence, use SATA_PMP_MAX_PORTS as EM_MAX_SLOTS to resolve the +issue. + +BugLink: https://bugs.launchpad.net/bugs/1970074 +Cc: stable@vger.kernel.org +Signed-off-by: Kai-Heng Feng +Signed-off-by: Damien Le Moal +Signed-off-by: Greg Kroah-Hartman +Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=67a00c299c5c143817c948fbc7de1a2fa1af38fb +--- + drivers/ata/ahci.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h +index 9290e787abdc..d5b9f9689877 100644 +--- a/drivers/ata/ahci.h ++++ b/drivers/ata/ahci.h +@@ -265,7 +265,7 @@ enum { + PCS_7 = 0x94, /* 7+ port PCS (Denverton) */ + + /* em constants */ +- EM_MAX_SLOTS = 8, ++ EM_MAX_SLOTS = SATA_PMP_MAX_PORTS, + EM_MAX_RETRY = 5, + + /* em_ctl bits */ +-- +2.43.0 + diff --git a/board/beagleboard/beaglebone-qt5/patches/linux/0004-ata-ahci-fix-enum-constants-for-gcc-13.patch b/board/beagleboard/beaglebone-qt5/patches/linux/0004-ata-ahci-fix-enum-constants-for-gcc-13.patch new file mode 100644 index 00000000000..6a5b3f594b8 --- /dev/null +++ b/board/beagleboard/beaglebone-qt5/patches/linux/0004-ata-ahci-fix-enum-constants-for-gcc-13.patch @@ -0,0 +1,357 @@ +From ba6e23d2c9e3bcabda328467ba4eeca12f37e2ae Mon Sep 17 00:00:00 2001 +From: Arnd Bergmann +Date: Sat, 3 Dec 2022 11:54:25 +0100 +Subject: [PATCH] ata: ahci: fix enum constants for gcc-13 + +commit f07788079f515ca4a681c5f595bdad19cfbd7b1d upstream. + +gcc-13 slightly changes the type of constant expressions that are defined +in an enum, which triggers a compile time sanity check in libata: + +linux/drivers/ata/libahci.c: In function 'ahci_led_store': +linux/include/linux/compiler_types.h:357:45: error: call to '__compiletime_assert_302' declared with attribute error: BUILD_BUG_ON failed: sizeof(_s) > sizeof(long) +357 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) + +The new behavior is that sizeof() returns the same value for the +constant as it does for the enum type, which is generally more sensible +and consistent. + +The problem in libata is that it contains a single enum definition for +lots of unrelated constants, some of which are large positive (unsigned) +integers like 0xffffffff, while others like (1<<31) are interpreted as +negative integers, and this forces the enum type to become 64 bit wide +even though most constants would still fit into a signed 32-bit 'int'. + +Fix this by changing the entire enum definition to use BIT(x) in place +of (1< +Cc: linux-ide@vger.kernel.org +Cc: Damien Le Moal +Cc: stable@vger.kernel.org +Cc: Randy Dunlap +Signed-off-by: Arnd Bergmann +Tested-by: Luis Machado +Signed-off-by: Damien Le Moal +[Backport to linux-4.19.y] +Signed-off-by: Paul Barker +Signed-off-by: Greg Kroah-Hartman +Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4c3ddc06cedb62f2904e58fd95170bf206bee149 +--- + drivers/ata/ahci.h | 232 +++++++++++++++++++++++---------------------- + 1 file changed, 117 insertions(+), 115 deletions(-) + +diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h +index d5b9f9689877..8cc6cb14767b 100644 +--- a/drivers/ata/ahci.h ++++ b/drivers/ata/ahci.h +@@ -40,6 +40,7 @@ + #include + #include + #include ++#include + + /* Enclosure Management Control */ + #define EM_CTRL_MSG_TYPE 0x000f0000 +@@ -70,12 +71,12 @@ enum { + AHCI_PORT_PRIV_FBS_DMA_SZ = AHCI_CMD_SLOT_SZ + + AHCI_CMD_TBL_AR_SZ + + (AHCI_RX_FIS_SZ * 16), +- AHCI_IRQ_ON_SG = (1 << 31), +- AHCI_CMD_ATAPI = (1 << 5), +- AHCI_CMD_WRITE = (1 << 6), +- AHCI_CMD_PREFETCH = (1 << 7), +- AHCI_CMD_RESET = (1 << 8), +- AHCI_CMD_CLR_BUSY = (1 << 10), ++ AHCI_IRQ_ON_SG = BIT(31), ++ AHCI_CMD_ATAPI = BIT(5), ++ AHCI_CMD_WRITE = BIT(6), ++ AHCI_CMD_PREFETCH = BIT(7), ++ AHCI_CMD_RESET = BIT(8), ++ AHCI_CMD_CLR_BUSY = BIT(10), + + RX_FIS_PIO_SETUP = 0x20, /* offset of PIO Setup FIS data */ + RX_FIS_D2H_REG = 0x40, /* offset of D2H Register FIS data */ +@@ -93,37 +94,37 @@ enum { + HOST_CAP2 = 0x24, /* host capabilities, extended */ + + /* HOST_CTL bits */ +- HOST_RESET = (1 << 0), /* reset controller; self-clear */ +- HOST_IRQ_EN = (1 << 1), /* global IRQ enable */ +- HOST_MRSM = (1 << 2), /* MSI Revert to Single Message */ +- HOST_AHCI_EN = (1 << 31), /* AHCI enabled */ ++ HOST_RESET = BIT(0), /* reset controller; self-clear */ ++ HOST_IRQ_EN = BIT(1), /* global IRQ enable */ ++ HOST_MRSM = BIT(2), /* MSI Revert to Single Message */ ++ HOST_AHCI_EN = BIT(31), /* AHCI enabled */ + + /* HOST_CAP bits */ +- HOST_CAP_SXS = (1 << 5), /* Supports External SATA */ +- HOST_CAP_EMS = (1 << 6), /* Enclosure Management support */ +- HOST_CAP_CCC = (1 << 7), /* Command Completion Coalescing */ +- HOST_CAP_PART = (1 << 13), /* Partial state capable */ +- HOST_CAP_SSC = (1 << 14), /* Slumber state capable */ +- HOST_CAP_PIO_MULTI = (1 << 15), /* PIO multiple DRQ support */ +- HOST_CAP_FBS = (1 << 16), /* FIS-based switching support */ +- HOST_CAP_PMP = (1 << 17), /* Port Multiplier support */ +- HOST_CAP_ONLY = (1 << 18), /* Supports AHCI mode only */ +- HOST_CAP_CLO = (1 << 24), /* Command List Override support */ +- HOST_CAP_LED = (1 << 25), /* Supports activity LED */ +- HOST_CAP_ALPM = (1 << 26), /* Aggressive Link PM support */ +- HOST_CAP_SSS = (1 << 27), /* Staggered Spin-up */ +- HOST_CAP_MPS = (1 << 28), /* Mechanical presence switch */ +- HOST_CAP_SNTF = (1 << 29), /* SNotification register */ +- HOST_CAP_NCQ = (1 << 30), /* Native Command Queueing */ +- HOST_CAP_64 = (1 << 31), /* PCI DAC (64-bit DMA) support */ ++ HOST_CAP_SXS = BIT(5), /* Supports External SATA */ ++ HOST_CAP_EMS = BIT(6), /* Enclosure Management support */ ++ HOST_CAP_CCC = BIT(7), /* Command Completion Coalescing */ ++ HOST_CAP_PART = BIT(13), /* Partial state capable */ ++ HOST_CAP_SSC = BIT(14), /* Slumber state capable */ ++ HOST_CAP_PIO_MULTI = BIT(15), /* PIO multiple DRQ support */ ++ HOST_CAP_FBS = BIT(16), /* FIS-based switching support */ ++ HOST_CAP_PMP = BIT(17), /* Port Multiplier support */ ++ HOST_CAP_ONLY = BIT(18), /* Supports AHCI mode only */ ++ HOST_CAP_CLO = BIT(24), /* Command List Override support */ ++ HOST_CAP_LED = BIT(25), /* Supports activity LED */ ++ HOST_CAP_ALPM = BIT(26), /* Aggressive Link PM support */ ++ HOST_CAP_SSS = BIT(27), /* Staggered Spin-up */ ++ HOST_CAP_MPS = BIT(28), /* Mechanical presence switch */ ++ HOST_CAP_SNTF = BIT(29), /* SNotification register */ ++ HOST_CAP_NCQ = BIT(30), /* Native Command Queueing */ ++ HOST_CAP_64 = BIT(31), /* PCI DAC (64-bit DMA) support */ + + /* HOST_CAP2 bits */ +- HOST_CAP2_BOH = (1 << 0), /* BIOS/OS handoff supported */ +- HOST_CAP2_NVMHCI = (1 << 1), /* NVMHCI supported */ +- HOST_CAP2_APST = (1 << 2), /* Automatic partial to slumber */ +- HOST_CAP2_SDS = (1 << 3), /* Support device sleep */ +- HOST_CAP2_SADM = (1 << 4), /* Support aggressive DevSlp */ +- HOST_CAP2_DESO = (1 << 5), /* DevSlp from slumber only */ ++ HOST_CAP2_BOH = BIT(0), /* BIOS/OS handoff supported */ ++ HOST_CAP2_NVMHCI = BIT(1), /* NVMHCI supported */ ++ HOST_CAP2_APST = BIT(2), /* Automatic partial to slumber */ ++ HOST_CAP2_SDS = BIT(3), /* Support device sleep */ ++ HOST_CAP2_SADM = BIT(4), /* Support aggressive DevSlp */ ++ HOST_CAP2_DESO = BIT(5), /* DevSlp from slumber only */ + + /* registers for each SATA port */ + PORT_LST_ADDR = 0x00, /* command list DMA addr */ +@@ -145,24 +146,25 @@ enum { + PORT_DEVSLP = 0x44, /* device sleep */ + + /* PORT_IRQ_{STAT,MASK} bits */ +- PORT_IRQ_COLD_PRES = (1 << 31), /* cold presence detect */ +- PORT_IRQ_TF_ERR = (1 << 30), /* task file error */ +- PORT_IRQ_HBUS_ERR = (1 << 29), /* host bus fatal error */ +- PORT_IRQ_HBUS_DATA_ERR = (1 << 28), /* host bus data error */ +- PORT_IRQ_IF_ERR = (1 << 27), /* interface fatal error */ +- PORT_IRQ_IF_NONFATAL = (1 << 26), /* interface non-fatal error */ +- PORT_IRQ_OVERFLOW = (1 << 24), /* xfer exhausted available S/G */ +- PORT_IRQ_BAD_PMP = (1 << 23), /* incorrect port multiplier */ +- +- PORT_IRQ_PHYRDY = (1 << 22), /* PhyRdy changed */ +- PORT_IRQ_DEV_ILCK = (1 << 7), /* device interlock */ +- PORT_IRQ_CONNECT = (1 << 6), /* port connect change status */ +- PORT_IRQ_SG_DONE = (1 << 5), /* descriptor processed */ +- PORT_IRQ_UNK_FIS = (1 << 4), /* unknown FIS rx'd */ +- PORT_IRQ_SDB_FIS = (1 << 3), /* Set Device Bits FIS rx'd */ +- PORT_IRQ_DMAS_FIS = (1 << 2), /* DMA Setup FIS rx'd */ +- PORT_IRQ_PIOS_FIS = (1 << 1), /* PIO Setup FIS rx'd */ +- PORT_IRQ_D2H_REG_FIS = (1 << 0), /* D2H Register FIS rx'd */ ++ PORT_IRQ_COLD_PRES = BIT(31), /* cold presence detect */ ++ PORT_IRQ_TF_ERR = BIT(30), /* task file error */ ++ PORT_IRQ_HBUS_ERR = BIT(29), /* host bus fatal error */ ++ PORT_IRQ_HBUS_DATA_ERR = BIT(28), /* host bus data error */ ++ PORT_IRQ_IF_ERR = BIT(27), /* interface fatal error */ ++ PORT_IRQ_IF_NONFATAL = BIT(26), /* interface non-fatal error */ ++ PORT_IRQ_OVERFLOW = BIT(24), /* xfer exhausted available S/G */ ++ PORT_IRQ_BAD_PMP = BIT(23), /* incorrect port multiplier */ ++ ++ PORT_IRQ_PHYRDY = BIT(22), /* PhyRdy changed */ ++ PORT_IRQ_DEV_ILCK = BIT(7), /* device interlock */ ++ PORT_IRQ_DMPS = BIT(7), /* mechanical presence status */ ++ PORT_IRQ_CONNECT = BIT(6), /* port connect change status */ ++ PORT_IRQ_SG_DONE = BIT(5), /* descriptor processed */ ++ PORT_IRQ_UNK_FIS = BIT(4), /* unknown FIS rx'd */ ++ PORT_IRQ_SDB_FIS = BIT(3), /* Set Device Bits FIS rx'd */ ++ PORT_IRQ_DMAS_FIS = BIT(2), /* DMA Setup FIS rx'd */ ++ PORT_IRQ_PIOS_FIS = BIT(1), /* PIO Setup FIS rx'd */ ++ PORT_IRQ_D2H_REG_FIS = BIT(0), /* D2H Register FIS rx'd */ + + PORT_IRQ_FREEZE = PORT_IRQ_HBUS_ERR | + PORT_IRQ_IF_ERR | +@@ -178,34 +180,34 @@ enum { + PORT_IRQ_PIOS_FIS | PORT_IRQ_D2H_REG_FIS, + + /* PORT_CMD bits */ +- PORT_CMD_ASP = (1 << 27), /* Aggressive Slumber/Partial */ +- PORT_CMD_ALPE = (1 << 26), /* Aggressive Link PM enable */ +- PORT_CMD_ATAPI = (1 << 24), /* Device is ATAPI */ +- PORT_CMD_FBSCP = (1 << 22), /* FBS Capable Port */ +- PORT_CMD_ESP = (1 << 21), /* External Sata Port */ +- PORT_CMD_HPCP = (1 << 18), /* HotPlug Capable Port */ +- PORT_CMD_PMP = (1 << 17), /* PMP attached */ +- PORT_CMD_LIST_ON = (1 << 15), /* cmd list DMA engine running */ +- PORT_CMD_FIS_ON = (1 << 14), /* FIS DMA engine running */ +- PORT_CMD_FIS_RX = (1 << 4), /* Enable FIS receive DMA engine */ +- PORT_CMD_CLO = (1 << 3), /* Command list override */ +- PORT_CMD_POWER_ON = (1 << 2), /* Power up device */ +- PORT_CMD_SPIN_UP = (1 << 1), /* Spin up device */ +- PORT_CMD_START = (1 << 0), /* Enable port DMA engine */ +- +- PORT_CMD_ICC_MASK = (0xf << 28), /* i/f ICC state mask */ +- PORT_CMD_ICC_ACTIVE = (0x1 << 28), /* Put i/f in active state */ +- PORT_CMD_ICC_PARTIAL = (0x2 << 28), /* Put i/f in partial state */ +- PORT_CMD_ICC_SLUMBER = (0x6 << 28), /* Put i/f in slumber state */ ++ PORT_CMD_ASP = BIT(27), /* Aggressive Slumber/Partial */ ++ PORT_CMD_ALPE = BIT(26), /* Aggressive Link PM enable */ ++ PORT_CMD_ATAPI = BIT(24), /* Device is ATAPI */ ++ PORT_CMD_FBSCP = BIT(22), /* FBS Capable Port */ ++ PORT_CMD_ESP = BIT(21), /* External Sata Port */ ++ PORT_CMD_HPCP = BIT(18), /* HotPlug Capable Port */ ++ PORT_CMD_PMP = BIT(17), /* PMP attached */ ++ PORT_CMD_LIST_ON = BIT(15), /* cmd list DMA engine running */ ++ PORT_CMD_FIS_ON = BIT(14), /* FIS DMA engine running */ ++ PORT_CMD_FIS_RX = BIT(4), /* Enable FIS receive DMA engine */ ++ PORT_CMD_CLO = BIT(3), /* Command list override */ ++ PORT_CMD_POWER_ON = BIT(2), /* Power up device */ ++ PORT_CMD_SPIN_UP = BIT(1), /* Spin up device */ ++ PORT_CMD_START = BIT(0), /* Enable port DMA engine */ ++ ++ PORT_CMD_ICC_MASK = (0xfu << 28), /* i/f ICC state mask */ ++ PORT_CMD_ICC_ACTIVE = (0x1u << 28), /* Put i/f in active state */ ++ PORT_CMD_ICC_PARTIAL = (0x2u << 28), /* Put i/f in partial state */ ++ PORT_CMD_ICC_SLUMBER = (0x6u << 28), /* Put i/f in slumber state */ + + /* PORT_FBS bits */ + PORT_FBS_DWE_OFFSET = 16, /* FBS device with error offset */ + PORT_FBS_ADO_OFFSET = 12, /* FBS active dev optimization offset */ + PORT_FBS_DEV_OFFSET = 8, /* FBS device to issue offset */ + PORT_FBS_DEV_MASK = (0xf << PORT_FBS_DEV_OFFSET), /* FBS.DEV */ +- PORT_FBS_SDE = (1 << 2), /* FBS single device error */ +- PORT_FBS_DEC = (1 << 1), /* FBS device error clear */ +- PORT_FBS_EN = (1 << 0), /* Enable FBS */ ++ PORT_FBS_SDE = BIT(2), /* FBS single device error */ ++ PORT_FBS_DEC = BIT(1), /* FBS device error clear */ ++ PORT_FBS_EN = BIT(0), /* Enable FBS */ + + /* PORT_DEVSLP bits */ + PORT_DEVSLP_DM_OFFSET = 25, /* DITO multiplier offset */ +@@ -213,45 +215,45 @@ enum { + PORT_DEVSLP_DITO_OFFSET = 15, /* DITO offset */ + PORT_DEVSLP_MDAT_OFFSET = 10, /* Minimum assertion time */ + PORT_DEVSLP_DETO_OFFSET = 2, /* DevSlp exit timeout */ +- PORT_DEVSLP_DSP = (1 << 1), /* DevSlp present */ +- PORT_DEVSLP_ADSE = (1 << 0), /* Aggressive DevSlp enable */ ++ PORT_DEVSLP_DSP = BIT(1), /* DevSlp present */ ++ PORT_DEVSLP_ADSE = BIT(0), /* Aggressive DevSlp enable */ + + /* hpriv->flags bits */ + + #define AHCI_HFLAGS(flags) .private_data = (void *)(flags) + +- AHCI_HFLAG_NO_NCQ = (1 << 0), +- AHCI_HFLAG_IGN_IRQ_IF_ERR = (1 << 1), /* ignore IRQ_IF_ERR */ +- AHCI_HFLAG_IGN_SERR_INTERNAL = (1 << 2), /* ignore SERR_INTERNAL */ +- AHCI_HFLAG_32BIT_ONLY = (1 << 3), /* force 32bit */ +- AHCI_HFLAG_MV_PATA = (1 << 4), /* PATA port */ +- AHCI_HFLAG_NO_MSI = (1 << 5), /* no PCI MSI */ +- AHCI_HFLAG_NO_PMP = (1 << 6), /* no PMP */ +- AHCI_HFLAG_SECT255 = (1 << 8), /* max 255 sectors */ +- AHCI_HFLAG_YES_NCQ = (1 << 9), /* force NCQ cap on */ +- AHCI_HFLAG_NO_SUSPEND = (1 << 10), /* don't suspend */ +- AHCI_HFLAG_SRST_TOUT_IS_OFFLINE = (1 << 11), /* treat SRST timeout as +- link offline */ +- AHCI_HFLAG_NO_SNTF = (1 << 12), /* no sntf */ +- AHCI_HFLAG_NO_FPDMA_AA = (1 << 13), /* no FPDMA AA */ +- AHCI_HFLAG_YES_FBS = (1 << 14), /* force FBS cap on */ +- AHCI_HFLAG_DELAY_ENGINE = (1 << 15), /* do not start engine on +- port start (wait until +- error-handling stage) */ +- AHCI_HFLAG_NO_DEVSLP = (1 << 17), /* no device sleep */ +- AHCI_HFLAG_NO_FBS = (1 << 18), /* no FBS */ ++ AHCI_HFLAG_NO_NCQ = BIT(0), ++ AHCI_HFLAG_IGN_IRQ_IF_ERR = BIT(1), /* ignore IRQ_IF_ERR */ ++ AHCI_HFLAG_IGN_SERR_INTERNAL = BIT(2), /* ignore SERR_INTERNAL */ ++ AHCI_HFLAG_32BIT_ONLY = BIT(3), /* force 32bit */ ++ AHCI_HFLAG_MV_PATA = BIT(4), /* PATA port */ ++ AHCI_HFLAG_NO_MSI = BIT(5), /* no PCI MSI */ ++ AHCI_HFLAG_NO_PMP = BIT(6), /* no PMP */ ++ AHCI_HFLAG_SECT255 = BIT(8), /* max 255 sectors */ ++ AHCI_HFLAG_YES_NCQ = BIT(9), /* force NCQ cap on */ ++ AHCI_HFLAG_NO_SUSPEND = BIT(10), /* don't suspend */ ++ AHCI_HFLAG_SRST_TOUT_IS_OFFLINE = BIT(11), /* treat SRST timeout as ++ link offline */ ++ AHCI_HFLAG_NO_SNTF = BIT(12), /* no sntf */ ++ AHCI_HFLAG_NO_FPDMA_AA = BIT(13), /* no FPDMA AA */ ++ AHCI_HFLAG_YES_FBS = BIT(14), /* force FBS cap on */ ++ AHCI_HFLAG_DELAY_ENGINE = BIT(15), /* do not start engine on ++ port start (wait until ++ error-handling stage) */ ++ AHCI_HFLAG_NO_DEVSLP = BIT(17), /* no device sleep */ ++ AHCI_HFLAG_NO_FBS = BIT(18), /* no FBS */ + + #ifdef CONFIG_PCI_MSI +- AHCI_HFLAG_MULTI_MSI = (1 << 20), /* per-port MSI(-X) */ ++ AHCI_HFLAG_MULTI_MSI = BIT(20), /* per-port MSI(-X) */ + #else + /* compile out MSI infrastructure */ + AHCI_HFLAG_MULTI_MSI = 0, + #endif +- AHCI_HFLAG_WAKE_BEFORE_STOP = (1 << 22), /* wake before DMA stop */ +- AHCI_HFLAG_YES_ALPM = (1 << 23), /* force ALPM cap on */ +- AHCI_HFLAG_NO_WRITE_TO_RO = (1 << 24), /* don't write to read +- only registers */ +- AHCI_HFLAG_IS_MOBILE = (1 << 25), /* mobile chipset, use ++ AHCI_HFLAG_WAKE_BEFORE_STOP = BIT(22), /* wake before DMA stop */ ++ AHCI_HFLAG_YES_ALPM = BIT(23), /* force ALPM cap on */ ++ AHCI_HFLAG_NO_WRITE_TO_RO = BIT(24), /* don't write to read ++ only registers */ ++ AHCI_HFLAG_IS_MOBILE = BIT(25), /* mobile chipset, use + SATA_MOBILE_LPM_POLICY + as default lpm_policy */ + +@@ -269,22 +271,22 @@ enum { + EM_MAX_RETRY = 5, + + /* em_ctl bits */ +- EM_CTL_RST = (1 << 9), /* Reset */ +- EM_CTL_TM = (1 << 8), /* Transmit Message */ +- EM_CTL_MR = (1 << 0), /* Message Received */ +- EM_CTL_ALHD = (1 << 26), /* Activity LED */ +- EM_CTL_XMT = (1 << 25), /* Transmit Only */ +- EM_CTL_SMB = (1 << 24), /* Single Message Buffer */ +- EM_CTL_SGPIO = (1 << 19), /* SGPIO messages supported */ +- EM_CTL_SES = (1 << 18), /* SES-2 messages supported */ +- EM_CTL_SAFTE = (1 << 17), /* SAF-TE messages supported */ +- EM_CTL_LED = (1 << 16), /* LED messages supported */ ++ EM_CTL_RST = BIT(9), /* Reset */ ++ EM_CTL_TM = BIT(8), /* Transmit Message */ ++ EM_CTL_MR = BIT(0), /* Message Received */ ++ EM_CTL_ALHD = BIT(26), /* Activity LED */ ++ EM_CTL_XMT = BIT(25), /* Transmit Only */ ++ EM_CTL_SMB = BIT(24), /* Single Message Buffer */ ++ EM_CTL_SGPIO = BIT(19), /* SGPIO messages supported */ ++ EM_CTL_SES = BIT(18), /* SES-2 messages supported */ ++ EM_CTL_SAFTE = BIT(17), /* SAF-TE messages supported */ ++ EM_CTL_LED = BIT(16), /* LED messages supported */ + + /* em message type */ +- EM_MSG_TYPE_LED = (1 << 0), /* LED */ +- EM_MSG_TYPE_SAFTE = (1 << 1), /* SAF-TE */ +- EM_MSG_TYPE_SES2 = (1 << 2), /* SES-2 */ +- EM_MSG_TYPE_SGPIO = (1 << 3), /* SGPIO */ ++ EM_MSG_TYPE_LED = BIT(0), /* LED */ ++ EM_MSG_TYPE_SAFTE = BIT(1), /* SAF-TE */ ++ EM_MSG_TYPE_SES2 = BIT(2), /* SES-2 */ ++ EM_MSG_TYPE_SGPIO = BIT(3), /* SGPIO */ + }; + + struct ahci_cmd_hdr { +-- +2.43.0 + diff --git a/board/beagleboard/beaglebone-qt5/patches/linux/linux.hash b/board/beagleboard/beaglebone-qt5/patches/linux/linux.hash new file mode 100644 index 00000000000..72d5bfff98d --- /dev/null +++ b/board/beagleboard/beaglebone-qt5/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 394523e61eabf24bf920981ba967799ff90b6099a72dc1d1b92c918433439f61 linux-4.19.94-ti-r72.tar.gz diff --git a/board/beagleboard/beaglebone-qt5/patches/uboot/uboot.hash b/board/beagleboard/beaglebone-qt5/patches/uboot/uboot.hash new file mode 100644 index 00000000000..fe9b4f53dc6 --- /dev/null +++ b/board/beagleboard/beaglebone-qt5/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 f591da9ab90ef3d6b3d173766d0ddff90c4ed7330680897486117df390d83c8f u-boot-2024.07.tar.bz2 diff --git a/board/beagleboard/beaglebone/extlinux.conf b/board/beagleboard/beaglebone/extlinux.conf new file mode 100644 index 00000000000..13affcabd4e --- /dev/null +++ b/board/beagleboard/beaglebone/extlinux.conf @@ -0,0 +1,4 @@ +label beaglebone-buildroot + kernel /zImage + fdtdir / + append console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait diff --git a/board/beagleboard/beaglebone/genimage.cfg b/board/beagleboard/beaglebone/genimage.cfg new file mode 100644 index 00000000000..095e6e200bd --- /dev/null +++ b/board/beagleboard/beaglebone/genimage.cfg @@ -0,0 +1,38 @@ +image boot.vfat { + vfat { + files = { + "MLO", + "u-boot.img", + "zImage", + "uEnv.txt", + "am335x-evm.dtb", + "am335x-evmsk.dtb", + "am335x-bone.dtb", + "am335x-boneblack.dtb", + "am335x-bonegreen.dtb", + "am335x-boneblack-wireless.dtb", + "am335x-bonegreen-wireless.dtb", + "am335x-bonegreen-eco.dtb", + "extlinux" + } + } + + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + size = 512M + } +} diff --git a/board/beagleboard/beaglebone/linux-sgx.fragment b/board/beagleboard/beaglebone/linux-sgx.fragment new file mode 100644 index 00000000000..58d46f588b4 --- /dev/null +++ b/board/beagleboard/beaglebone/linux-sgx.fragment @@ -0,0 +1,13 @@ +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +CONFIG_OMAP2_DSS_INIT=y +CONFIG_OMAP_DSS_BASE=y +CONFIG_OMAP2_DSS=y +CONFIG_OMAP2_DSS_DPI=y +CONFIG_DRM_OMAP=y +CONFIG_DRM_OMAP_NUM_CRTCS=2 +CONFIG_DRM_OMAP_WB_M2M=y +CONFIG_DRM_TILCDC=y +CONFIG_DRM_I2C_NXP_TDA998X=y +CONFIG_DRM=y +CONFIG_DRM_LEGACY=y diff --git a/board/beagleboard/beaglebone/patches/linux-headers/linux-headers.hash b/board/beagleboard/beaglebone/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/beagleboard/beaglebone/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/beagleboard/beaglebone/patches/linux/linux.hash b/board/beagleboard/beaglebone/patches/linux/linux.hash new file mode 100644 index 00000000000..72849b3e27b --- /dev/null +++ b/board/beagleboard/beaglebone/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://cdn.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 1c38214fb137bae85b82b82537b5987358621b915ab2a8e4f09e60697c19474f linux-6.18.21.tar.xz diff --git a/board/beagleboard/beaglebone/patches/uboot/uboot.hash b/board/beagleboard/beaglebone/patches/uboot/uboot.hash new file mode 100644 index 00000000000..36322a6a904 --- /dev/null +++ b/board/beagleboard/beaglebone/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 ac7c04b8b7004923b00a4e5d6699c5df4d21233bac9fda690d8cfbc209fff2fd u-boot-2026.04.tar.bz2 diff --git a/board/beagleboard/beaglebone/post-build.sh b/board/beagleboard/beaglebone/post-build.sh new file mode 100755 index 00000000000..dcb923356df --- /dev/null +++ b/board/beagleboard/beaglebone/post-build.sh @@ -0,0 +1,8 @@ +#!/bin/sh +set -eu + +BOARD_DIR="$(dirname "$0")" + +cp "${BOARD_DIR}/uEnv.txt" "${BINARIES_DIR}/uEnv.txt" + +install -m 0644 -D "${BOARD_DIR}/extlinux.conf" "${BINARIES_DIR}/extlinux/extlinux.conf" diff --git a/board/beagleboard/beaglebone/readme.txt b/board/beagleboard/beaglebone/readme.txt new file mode 100644 index 00000000000..f896e1285ae --- /dev/null +++ b/board/beagleboard/beaglebone/readme.txt @@ -0,0 +1,67 @@ +CircuitCo BeagleBone +Texas Instuments AM335x Evaluation Module (TMDXEVM3358) + +Description +=========== + +This configuration will build a complete image for the beaglebone and +the TI AM335x-EVM, the board type is identified by the on-board +EEPROM. The configuration is based on the +ti-processor-sdk-06.01.00.08. Device tree blobs for beaglebone +variants and the evm-sk are built too. + +For Qt5 support support use the beaglebone_qt5_defconfig. + +How to build it +=============== + +Select the default configuration for the target: +$ make beaglebone_defconfig + +Optional: modify the configuration: +$ make menuconfig + +Build: +$ make + +Result of the build +=================== +output/images/ ++-- am335x-boneblack.dtb ++-- am335x-boneblack-wireless.dtb ++-- am335x-boneblue.dtb ++-- am335x-bonegreen.dtb ++-- am335x-bonegreen-eco.dtb ++-- am335x-bonegreen-wireless.dtb ++-- am335x-bone.dtb ++-- am335x-evm.dtb ++-- am335x-evmsk.dtb ++-- boot.vfat ++-- MLO ++-- rootfs.ext2 ++-- rootfs.tar ++-- sdcard.img ++-- u-boot.img ++-- uEnv.txt ++-- zImage + +To copy the image file to the sdcard use dd: +$ dd if=output/images/sdcard.img of=/dev/XXX + + +Running Qt5 hellowindow opengl demo: +=================== +# export QT_QPA_EGLFS_KMS_CONFIG=/etc/qt5/eglfs_kms_cfg.json +# export QT_QPA_PLATFORM=eglfs +# export QT_QPA_EGLFS_INTEGRATION=none +# /usr/lib/qt/examples/opengl/hellowindow/hellowindow + + +Tested hardware +=============== +am335x-evm (rev. 1.1A) +beagleboneblack (rev. A5A) +beaglebone (rev. A6) + +2020, Adam Duskett +2016, Lothar Felten diff --git a/board/beagleboard/beaglebone/rootfs_overlay/etc/qt5/eglfs_kms_cfg.json b/board/beagleboard/beaglebone/rootfs_overlay/etc/qt5/eglfs_kms_cfg.json new file mode 100644 index 00000000000..76f5e7d3794 --- /dev/null +++ b/board/beagleboard/beaglebone/rootfs_overlay/etc/qt5/eglfs_kms_cfg.json @@ -0,0 +1,15 @@ +{ + "device": "/dev/dri/card0", + "hwcursor": false, + "pbuffers": true, + "outputs": [ + { + "name": "VGA1", + "mode": "off" + }, + { + "name": "HDMI1", + "mode": "1024x768" + } + ] +} diff --git a/board/beagleboard/beaglebone/uEnv.txt b/board/beagleboard/beaglebone/uEnv.txt new file mode 100644 index 00000000000..8fce54d87ef --- /dev/null +++ b/board/beagleboard/beaglebone/uEnv.txt @@ -0,0 +1,11 @@ +bootpart=0:1 +devtype=mmc +bootdir= +bootfile=zImage +bootpartition=mmcblk0p2 +console=ttyS0,115200n8 +loadaddr=0x82000000 +fdtaddr=0x88000000 +set_mmc1=if test $board_name = A33515BB; then setenv bootpartition mmcblk1p2; fi +set_bootargs=setenv bootargs console=${console} root=/dev/${bootpartition} rw rootfstype=ext4 rootwait +uenvcmd=run set_mmc1; run set_bootargs;run loadimage;run loadfdt;printenv bootargs;bootz ${loadaddr} - ${fdtaddr} diff --git a/board/beagleboard/beagleboneai/genimage.cfg b/board/beagleboard/beagleboneai/genimage.cfg new file mode 100644 index 00000000000..02e61bc9bed --- /dev/null +++ b/board/beagleboard/beagleboneai/genimage.cfg @@ -0,0 +1,30 @@ +image boot.vfat { + vfat { + files = { + "MLO", + "u-boot.img", + "zImage", + "am5729-beagleboneai.dtb", + "uEnv.txt" + } + } + + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + size = 512M + } +} diff --git a/board/beagleboard/beagleboneai/patches/linux-headers/linux-headers.hash b/board/beagleboard/beagleboneai/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/beagleboard/beagleboneai/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/beagleboard/beagleboneai/patches/linux/linux.hash b/board/beagleboard/beagleboneai/patches/linux/linux.hash new file mode 100644 index 00000000000..4ae61c9e4f2 --- /dev/null +++ b/board/beagleboard/beagleboneai/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 c435bd74d1c21fc5a950781a50d78bae2b93944144694843359948ad3afc72a5 linux-6.12.50.tar.xz diff --git a/board/beagleboard/beagleboneai/patches/uboot/0001-am57xx-board.c-assume-on-failure-its-a-BBONE-AI.patch b/board/beagleboard/beagleboneai/patches/uboot/0001-am57xx-board.c-assume-on-failure-its-a-BBONE-AI.patch new file mode 100644 index 00000000000..0f2975bfaa8 --- /dev/null +++ b/board/beagleboard/beagleboneai/patches/uboot/0001-am57xx-board.c-assume-on-failure-its-a-BBONE-AI.patch @@ -0,0 +1,31 @@ +From 0b161f8e89a411fe54059cf1d0ba61354ee1e8a2 Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Wed, 3 Aug 2022 11:28:10 -0500 +Subject: [PATCH] am57xx/board.c: assume on failure its a BBONE-AI + +Signed-off-by: Robert Nelson +Upstream: https://github.com/beagleboard/u-boot/commit/0b161f8e89a411fe54059cf1d0ba61354ee1e8a2 +Signed-off-by: Peter Korsgaard +--- + board/ti/am57xx/board.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c +index cfc825e52a3..f369693f382 100644 +--- a/board/ti/am57xx/board.c ++++ b/board/ti/am57xx/board.c +@@ -529,8 +529,10 @@ void do_board_detect(void) + + rc = ti_i2c_eeprom_am_get(CONFIG_EEPROM_BUS_ADDRESS, + CONFIG_EEPROM_CHIP_ADDRESS); +- if (rc) ++ if (rc) { + printf("ti_i2c_eeprom_init failed %d\n", rc); ++ ti_i2c_eeprom_am_set("BBONE-AI", "A"); ++ }; + + #ifdef CONFIG_SUPPORT_EMMC_BOOT + rc = board_bootmode_has_emmc(); +-- +2.39.5 + diff --git a/board/beagleboard/beagleboneai/patches/uboot/uboot.hash b/board/beagleboard/beagleboneai/patches/uboot/uboot.hash new file mode 100644 index 00000000000..80ea21b7cb4 --- /dev/null +++ b/board/beagleboard/beagleboneai/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 439d3bef296effd54130be6a731c5b118be7fddd7fcc663ccbc5fb18294d8718 u-boot-2025.04.tar.bz2 diff --git a/board/beagleboard/beagleboneai/post-build.sh b/board/beagleboard/beagleboneai/post-build.sh new file mode 100755 index 00000000000..8d94a8f1e45 --- /dev/null +++ b/board/beagleboard/beagleboneai/post-build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +cp board/beagleboard/beagleboneai/uEnv.txt "$BINARIES_DIR/uEnv.txt" diff --git a/board/beagleboard/beagleboneai/readme.txt b/board/beagleboard/beagleboneai/readme.txt new file mode 100644 index 00000000000..f4c798f5592 --- /dev/null +++ b/board/beagleboard/beagleboneai/readme.txt @@ -0,0 +1,28 @@ +Intro +===== + +This configuration will build a basic image for the BeagleBoard.org +BeagleBone AI. For more details about the board, visit: + +https://beagleboard.org/ai + +How to build it +=============== + +Configure Buildroot: + + $ make beagleboneai_defconfig + +Compile everything and build the USB flash drive image: + + $ make + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX diff --git a/board/beagleboard/beagleboneai/uEnv.txt b/board/beagleboard/beagleboneai/uEnv.txt new file mode 100644 index 00000000000..d38df7727f3 --- /dev/null +++ b/board/beagleboard/beagleboneai/uEnv.txt @@ -0,0 +1,6 @@ +bootpart=0:1 +bootdir=/ +bootargs=console=ttyS0,115200n8 root=/dev/mmcblk0p2 ro rootwait +devtype=mmc +fdtfile=am5729-beagleboneai.dtb +uenvcmd=run loadimage; run loadfdt; printenv bootargs; bootz ${loadaddr} - ${fdtaddr} diff --git a/board/beagleboard/beagleboneai64/extlinux.conf b/board/beagleboard/beagleboneai64/extlinux.conf new file mode 100644 index 00000000000..582d510b5d4 --- /dev/null +++ b/board/beagleboard/beagleboneai64/extlinux.conf @@ -0,0 +1,5 @@ +default buildroot +label buildroot + kernel /Image + devicetreedir / +append root=/dev/mmcblk1p2 rootwait rw console=ttyS2,115200n8 diff --git a/board/beagleboard/beagleboneai64/genimage.cfg b/board/beagleboard/beagleboneai64/genimage.cfg new file mode 100644 index 00000000000..b5ba2d21db5 --- /dev/null +++ b/board/beagleboard/beagleboneai64/genimage.cfg @@ -0,0 +1,33 @@ +image boot.vfat { + vfat { + files = { + "sysfw.itb", + "tiboot3.bin", + "tispl.bin", + "u-boot.img", + "Image", + "ti", + "extlinux", + } + + label = "boot" + } + + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/beagleboard/beagleboneai64/patches/linux/linux.hash b/board/beagleboard/beagleboneai64/patches/linux/linux.hash new file mode 100644 index 00000000000..eb4dcee9586 --- /dev/null +++ b/board/beagleboard/beagleboneai64/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 4f21c01f4d04c1d1b3ed794153f8900802c92497be620b07c4869530f2d28ee3 linux-6.18.16.tar.xz diff --git a/board/beagleboard/beagleboneai64/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash b/board/beagleboard/beagleboneai64/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/beagleboard/beagleboneai64/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/beagleboard/beagleboneai64/patches/uboot/uboot.hash b/board/beagleboard/beagleboneai64/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/beagleboard/beagleboneai64/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/beagleboard/beagleboneai64/post-build.sh b/board/beagleboard/beagleboneai64/post-build.sh new file mode 100755 index 00000000000..2315ff393ab --- /dev/null +++ b/board/beagleboard/beagleboneai64/post-build.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +ln -sf tispl.bin_unsigned "$BINARIES_DIR"/tispl.bin + +install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$BINARIES_DIR"/extlinux/extlinux.conf diff --git a/board/beagleboard/beagleboneai64/readme.txt b/board/beagleboard/beagleboneai64/readme.txt new file mode 100644 index 00000000000..fa4e189c448 --- /dev/null +++ b/board/beagleboard/beagleboneai64/readme.txt @@ -0,0 +1,39 @@ +BeagleBoard.org BeagleBone AI-64 Development Board + +Description +=========== + +This configuration will build a basic image for the BeagleBoard.org +BeagleBone AI-64. For more details about the board, visit: + +https://www.beagleboard.org/boards/beaglebone-ai-64 + +How to Build +============ + +Select the default configuration for the target: + +$ make beagleboneai64_defconfig + +Optional: modify the configuration: + +$ make menuconfig + +Build: + +$ make + +To copy the resultimg output image file to an SD card use dd: + +$ dd if=output/images/sdcard.img of=/dev/sdX bs=1M + +How to Run +========== + +Insert the SD card into the BeagleBone AI-64 board, and power it up +through the USB Type-C connector. The system should come up (make sure +to boot from the SD card not from the eMMC). You can use a USB to +serial adapter to connect to the connector labeled UART0 (J3) to +communicate with the board. + +https://docs.beagleboard.org/latest/boards/beaglebone/ai-64/02-quick-start.html diff --git a/board/beagleboard/beagleplay/extlinux.conf b/board/beagleboard/beagleplay/extlinux.conf new file mode 100644 index 00000000000..2b3aa7349e8 --- /dev/null +++ b/board/beagleboard/beagleplay/extlinux.conf @@ -0,0 +1,5 @@ +label beagleplay-buildroot + kernel /Image + fdtdir / + devicetree /k3-am625-beagleplay.dtb + append console=ttyS2,115200n8 root=/dev/mmcblk1p2 rw rootfstype=ext4 rootwait earlycon=ns16550a,mmio32,0x02800000 diff --git a/board/beagleboard/beagleplay/genimage.cfg b/board/beagleboard/beagleplay/genimage.cfg new file mode 100644 index 00000000000..4b516dc7146 --- /dev/null +++ b/board/beagleboard/beagleplay/genimage.cfg @@ -0,0 +1,39 @@ +image boot.vfat { + vfat { + files = { + "Image", + "k3-am625-beagleplay.dtb", + "tiboot3.bin", + } + + file tispl.bin { + image = tispl.bin_unsigned + } + + file u-boot.img { + image = u-boot.img_unsigned + } + + file extlinux/extlinux.conf { + image = extlinux.conf + } + } + + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/beagleboard/beagleplay/patches/linux/linux.hash b/board/beagleboard/beagleplay/patches/linux/linux.hash new file mode 100644 index 00000000000..eb4dcee9586 --- /dev/null +++ b/board/beagleboard/beagleplay/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 4f21c01f4d04c1d1b3ed794153f8900802c92497be620b07c4869530f2d28ee3 linux-6.18.16.tar.xz diff --git a/board/beagleboard/beagleplay/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash b/board/beagleboard/beagleplay/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash new file mode 120000 index 00000000000..b89e91d3e88 --- /dev/null +++ b/board/beagleboard/beagleplay/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash @@ -0,0 +1 @@ +../uboot/uboot.hash \ No newline at end of file diff --git a/board/beagleboard/beagleplay/patches/uboot/uboot.hash b/board/beagleboard/beagleplay/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/beagleboard/beagleplay/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/beagleboard/beagleplay/post-build.sh b/board/beagleboard/beagleplay/post-build.sh new file mode 100755 index 00000000000..f11dc6c3131 --- /dev/null +++ b/board/beagleboard/beagleplay/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh -x + +BOARD_DIR="$(dirname "$0")" + +install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$BINARIES_DIR"/extlinux.conf diff --git a/board/beagleboard/beagleplay/readme.txt b/board/beagleboard/beagleplay/readme.txt new file mode 100644 index 00000000000..eed87e6d3cb --- /dev/null +++ b/board/beagleboard/beagleplay/readme.txt @@ -0,0 +1,39 @@ +BeagleBoard's BeaglePlay + +Description +=========== + +This configuration will build a complete image for the BeaglePlay +board: https://www.beagleboard.org/boards/beagleplay + +How to Build +============ + +Select the default configuration for the target: + + $ make beagleplay_defconfig + +Optional: modify the configuration: + + $ make menuconfig + +NOTE: The AM625x processor has multiple security variants. You must +ensure the matching tiboot3.bin is uses or the board will not boot. +The BeaglePlay uses the General Purpose (GP) variant, ensure you use +the tiboot3-am62x-gp-evm.bin + +Build: + + $ make + +To copy the resultimg output image file to an SD card use dd: + + $ dd if=output/images/sdcard.img of=/dev/sdX bs=1M + +How to Run +========== + +This configuration has both the boot/ and root/ partitions which is +capable of booting from the bootloaders embedded in the eMMC as well +as when using holding the USR button to boot from the SD card. + diff --git a/board/beagleboard/beaglev_fire/README.txt b/board/beagleboard/beaglev_fire/README.txt new file mode 100644 index 00000000000..18b6e761ea5 --- /dev/null +++ b/board/beagleboard/beaglev_fire/README.txt @@ -0,0 +1,127 @@ +Beagle-V Fire +============== + +BeagleV Fire is a low-cost RISC-V 64-bit based platform, powered by +Microchip's PolarFire SoC. This file describes how to use the +pre-defined Buildroot configuration for the Beagle-V Fire board. + +Further information about the Beagle-V Fire can be found at +https://docs.beagleboard.org/latest/boards/beaglev/fire/index.html. + + +Building +======== + +Configure Buildroot using the default board configuration: + + '$ make beaglev_fire_defconfig' + +Customise the build as necessary: + + '$ make menuconfig' + +Start the build: + + '$ make' + + +Result of the build +=================== + +Once the build has finished you will have the following files: + + output/images/ + +-- boot.scr + +-- boot.vfat + +-- Image + +-- Image.gz + +-- beaglev_fire.itb + +-- beaglev_fire.its + +-- mpfs-beaglev-fire.dtb + +-- payload.bin + +-- rootfs.ext2 + +-- rootfs.ext4 + +-- rootfs.tar + +-- sdcard.img + +-- u-boot.bin + + +Flashing the image to your eMMC +=============================== + +By default Buildroot builds an image suitable for the eMMC. The first partition +of this image contains a U-Boot binary, embedded in a Hart Software Services +(HSS) payload. The second partition contains a FAT filesystem with a U-Boot env +and an ITB file containing the kernel and the device tree. The third partition +contains the file system. This image can be written directly to the eMMC. + +To do so, follow the below steps: + +1. Connect to BeagleV-Fire UART debug port using a 3.3v USB to UART bridge. + +2. Now you can run `tio ` in a terminal window to access the UART debug +port connection. + e.g `tio /dev/ttyUSB4` + +3. Once you are connected properly, you can press the Reset button which will +show you a progress bar. + +4. Press any key in the terminal application to stop the HSS from booting. This +will give you access to the HSS command line interface and a ">>" for input +will be displayed in the terminal. + +5. Type `usbdmsc` in the HSS command line interface. The HSS `usbdmsc` command +exposes the eMMC as a USB mass storage device using the USB type C connector. +If successful, a message saying "USB Host connected" will be displayed. + +6. The eMMC should now appear as mass storage device/drive on your host PC, as +it is mounted through your USB type C connector. + +7. Now, all you need to do is dd the image to the eMMC, which can be done with +the following command on your development host: + + '$ sudo dd if=output/images/sdcard.img of=/dev/sdX bs=1M' + +You will have to replace /dev/sdX by the actual device name of your eMMC. +Please, be especially cautious not to overwrite the wrong drive as this cannot +be undone. + +8. Once the image transfer has completed you can type `CTRL+C` to disconnect +your device. + +9. Finally, type `boot` or reset your board to boot your new Linux image. + +Customize BeagleV-Fire Cape Gateware Using Verilog (Optional) +============================================================= + +To customize your Beagle-V Fire gateware please follow the guide below to +create your custom bitstream (steps 1 - 6): +https://docs.beagleboard.org/latest/boards/beaglev/fire/demos-and-tutorials/gateware/customize-cape-gateware-verilog.html + + + Program BeagleV-Fire With Your Custom Bitstream with Buildroot + ============================================================== + + After following the steps 1-6 from the above tutorial, you should now have a + artifacts.zip file on your local host. + + Unzip the downloaded artifacts.zip file. + + Go to the custom FPGA design directory: + 'cd artifacts/bitstreams/my_custom_fpga_design/LinuxProgramming/' + + On your Linux host development computer, copy the bitstream to BeagleV-Fire + board, replacing with the path to your BeagleV-Fire root file + system. + 'cp ./* /path/to/your/buildroot/board/beagleboard/beaglev_fire/rootfs-overlay/lib/firmware/' + + To apply these changes to your image, make sure to re-build it with: + `make` + + Then, re-flash your image - to ensure you have the necessary firmware files - by + following the above section "Flashing the image to your eMMC". + + On BeagleV-Fire initiate the reprogramming of the FPGA with your gateware bitstream: + `/usr/share/microchip/update-gateware.sh` + + Wait for a couple of minutes for the BeagleV-Fire to reprogram itself. diff --git a/board/beagleboard/beaglev_fire/beaglev_fire.its b/board/beagleboard/beaglev_fire/beaglev_fire.its new file mode 100644 index 00000000000..97c878c1184 --- /dev/null +++ b/board/beagleboard/beaglev_fire/beaglev_fire.its @@ -0,0 +1,55 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Flattened Image Tree file for BVF + * + * Copyright (C) 2024 Microchip Technology Inc. and its subsidiaries. + * + */ + +/dts-v1/; + +/ { + description = "U-Boot fitImage for the BeagleV-Fire"; + #address-cells = <2>; + + images { + kernel { + description = "Linux kernel"; + data = /incbin/("./Image.gz"); + type = "kernel"; + arch = "riscv"; + os = "linux"; + compression = "gzip"; + load = <0x80200000>; + entry = <0x80200000>; + hash-1 { + algo = "sha256"; + }; + }; + base_fdt { + description = "Flattened Device Tree blob"; + data = /incbin/("./mpfs-beaglev-fire.dtb"); + type = "flat_dt"; + arch = "riscv"; + compression = "none"; + load = <0x8a000000>; + hash-1 { + algo = "sha256"; + }; + }; + }; + + configurations { + default = "kernel_dtb"; + kernel_dtb { + description = "1 Linux kernel, FDT blob"; + kernel = "kernel"; + fdt = "base_fdt"; + }; + + base_dtb { + description = "Base FDT blob for BeagleV-Fire board"; + fdt = "base_fdt"; + }; + }; +}; diff --git a/board/beagleboard/beaglev_fire/boot.cmd b/board/beagleboard/beaglev_fire/boot.cmd new file mode 100644 index 00000000000..80b44592c77 --- /dev/null +++ b/board/beagleboard/beaglev_fire/boot.cmd @@ -0,0 +1,15 @@ +# this assumes ${scriptaddr} is already set!! + +# Try to boot a fitImage from eMMC/SD + +setenv fdt_high 0xffffffffffffffff +setenv initrd_high 0xffffffffffffffff + +load mmc 0:${distro_bootpart} ${scriptaddr} beaglev_fire.itb; +bootm start ${scriptaddr}#kernel_dtb; +bootm loados ${scriptaddr}; +# Try to load a ramdisk if available inside fitImage +bootm ramdisk; +bootm prep; +run design_overlays; +bootm go; diff --git a/board/beagleboard/beaglev_fire/config.yaml b/board/beagleboard/beaglev_fire/config.yaml new file mode 100644 index 00000000000..5fccdfd34f8 --- /dev/null +++ b/board/beagleboard/beaglev_fire/config.yaml @@ -0,0 +1,28 @@ +# +# HSS Payload Generator - buildroot configuration file +# + +# First, we can optionally set a name for our image, otherwise one will be created dynamically +set-name: 'PolarFire-SoC-HSS::U-Boot' + +# +# Next, we'll define the entry point addresses for each hart, as follows: +# +hart-entry-points: {u54_1: '0x80200000', u54_2: '0x80200000', u54_3: '0x80200000', u54_4: '0x80200000'} +# +# Finally, we'll define a payloads (source binary file) that will be placed at certain regions in memory +# The payload section is defined with the keyword payloads, and then a number of individual +# payload descriptors. +# +# Each payload has a name (path to its ELF/bin file), an owner-hart, and optionally 1-3 secondary-harts. +# +# Additionally, it has a privilege mode in which it will start execution. +# * Valid privilege modes are PRV_M, PRV_S and PRV_U. +# +# +# In this case, the only payload is the u-boot s-mode binary. +# +# Case only matters for the ELF path names, not the keywords. +# +payloads: + u-boot.bin: {exec-addr: '0x80200000', owner-hart: u54_1, secondary-hart: u54_2, secondary-hart: u54_3, secondary-hart: u54_4, priv-mode: prv_s} diff --git a/board/beagleboard/beaglev_fire/genimage.cfg b/board/beagleboard/beaglev_fire/genimage.cfg new file mode 100644 index 00000000000..ef650704c65 --- /dev/null +++ b/board/beagleboard/beaglev_fire/genimage.cfg @@ -0,0 +1,35 @@ +# Image for eMMC boot on the Microchip PolarFire SOC BeagleV-Fire Board +# +image boot.vfat { + vfat { + files = { + "beaglev_fire.itb", + } + + file boot.scr { + image = "boot.scr" + } + } + size = 60M +} + +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition uboot { + partition-type-uuid = 21686148-6449-6E6F-744E-656564454649 + image = "payload.bin" + } + + partition kernel { + partition-type-uuid = 0FC63DAF-8483-4772-8E79-3D69D8477DE4 + bootable = "true" + image = "boot.vfat" + } + + partition root { + image = "rootfs.ext4" + } +} diff --git a/board/beagleboard/beaglev_fire/patches/linux-headers/linux-headers.hash b/board/beagleboard/beaglev_fire/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/beagleboard/beaglev_fire/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/beagleboard/beaglev_fire/patches/linux/linux.hash b/board/beagleboard/beaglev_fire/patches/linux/linux.hash new file mode 100644 index 00000000000..2902da56b63 --- /dev/null +++ b/board/beagleboard/beaglev_fire/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 37191994758d521dc7223cb5010a67ef83bd061bf70194ea522abc9ef2b17391 linux-linux4microchip+fpga-2025.10.tar.gz diff --git a/board/beagleboard/beaglev_fire/patches/uboot/uboot.hash b/board/beagleboard/beaglev_fire/patches/uboot/uboot.hash new file mode 100644 index 00000000000..a40f963a2e4 --- /dev/null +++ b/board/beagleboard/beaglev_fire/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 591c80f7e16d6f43192deb7ab7587ae81b31ba7c7de1a668c14b9997b6c976c8 uboot-linux4microchip+fpga-2025.10.tar.gz diff --git a/board/beagleboard/beaglev_fire/post-image.sh b/board/beagleboard/beaglev_fire/post-image.sh new file mode 100755 index 00000000000..43be1356cff --- /dev/null +++ b/board/beagleboard/beaglev_fire/post-image.sh @@ -0,0 +1,14 @@ +#!/bin/bash +set -e + +HSS_PAYLOAD_GENERATOR="${HOST_DIR}"/bin/hss-payload-generator +MKIMAGE="${HOST_DIR}"/bin/mkimage +BOARD_DIR="$(pwd)"/"${0%/*}" + +pushd "${BINARIES_DIR}" +"${HSS_PAYLOAD_GENERATOR}" -c "${BOARD_DIR}"/config.yaml payload.bin +cp "${BOARD_DIR}"/beaglev_fire.its "${BINARIES_DIR}"/beaglev_fire.its +gzip -9 Image -c > Image.gz +"${MKIMAGE}" -f beaglev_fire.its beaglev_fire.itb +popd +support/scripts/genimage.sh -c "${BOARD_DIR}"/genimage.cfg diff --git a/board/beagleboard/beaglev_fire/rootfs-overlay/usr/share/microchip/update-gateware.sh b/board/beagleboard/beaglev_fire/rootfs-overlay/usr/share/microchip/update-gateware.sh new file mode 100755 index 00000000000..6d92dec0121 --- /dev/null +++ b/board/beagleboard/beaglev_fire/rootfs-overlay/usr/share/microchip/update-gateware.sh @@ -0,0 +1,66 @@ +#!/bin/sh + +if [ $# -eq 0 ]; then + echo "No gateware location provided. Checking default location." + if [ ! -e /lib/firmware/mpfs_bitstream.spi ]; then + echo "No gateware file found." + exit 1 + fi +else + echo "Gateware location provided: $1" + if [ ! -e "$1"/mpfs_bitstream.spi ]; then + echo "No gateware file found." + exit 1 + else + if [ ! -d /lib/firmware ]; then + mkdir /lib/firmware + fi + cp "$1"/mpfs_dtbo.spi /lib/firmware/mpfs_dtbo.spi + cp "$1"/mpfs_bitstream.spi /lib/firmware/mpfs_bitstream.spi + fi +fi + +# Trash existing device tree overlay in case the rest of the process fails: +flash_erase /dev/mtd0 0 16 + +# Initiate FPGA update for dtbo +echo 1 > /sys/class/firmware/mpfs-auto-update/loading + +# Write device tree overlay +cat /lib/firmware/mpfs_dtbo.spi > /sys/class/firmware/mpfs-auto-update/data + +# Signal completion for dtbo load +echo 0 > /sys/class/firmware/mpfs-auto-update/loading + +while [ "$(cat /sys/class/firmware/mpfs-auto-update/status)" != "idle" ]; do + # Do nothing, just keep checking + sleep 1 +done + +# Fake the presence of a golden image for now. +dd if=/dev/zero of=/dev/mtd0 count=1 bs=4 + +# Initiate FPGA update for bitstream +echo 1 > /sys/class/firmware/mpfs-auto-update/loading + +# Write the firmware image to the data sysfs file +cat /lib/firmware/mpfs_bitstream.spi > /sys/class/firmware/mpfs-auto-update/data + +# Signal completion for bitstream load +echo 0 > /sys/class/firmware/mpfs-auto-update/loading + +while [ "$(cat /sys/class/firmware/mpfs-auto-update/status)" != "idle" ]; do + # Do nothing, just keep checking + sleep 1 +done + +# When the status is 'idle' and no error has occured, reboot the system for +# the gateware update to take effect. FPGA reprogramming takes places between +# Linux shut-down and HSS restarting the board. +if [ "$(cat /sys/class/firmware/mpfs-auto-update/error)" = "" ]; then + echo "FPGA update ready. Rebooting." + reboot +else + echo "FPGA update failed with status: $(cat /sys/class/firmware/mpfs-auto-update/error)" + exit 1 +fi diff --git a/board/beagleboard/beaglev_fire/uboot-fragment.config b/board/beagleboard/beaglev_fire/uboot-fragment.config new file mode 100644 index 00000000000..e2a5eb94385 --- /dev/null +++ b/board/beagleboard/beaglev_fire/uboot-fragment.config @@ -0,0 +1,3 @@ +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="root=/dev/mmcblk0p3 rootwait uio_pdrv_genirq.of_id=generic-uio" +CONFIG_MPFS_PRIORITISE_QSPI_BOOT=n diff --git a/board/beagleboard/beagley-ai/extlinux.conf b/board/beagleboard/beagley-ai/extlinux.conf new file mode 100644 index 00000000000..582d510b5d4 --- /dev/null +++ b/board/beagleboard/beagley-ai/extlinux.conf @@ -0,0 +1,5 @@ +default buildroot +label buildroot + kernel /Image + devicetreedir / +append root=/dev/mmcblk1p2 rootwait rw console=ttyS2,115200n8 diff --git a/board/beagleboard/beagley-ai/genimage.cfg b/board/beagleboard/beagley-ai/genimage.cfg new file mode 100644 index 00000000000..3965b9388e0 --- /dev/null +++ b/board/beagleboard/beagley-ai/genimage.cfg @@ -0,0 +1,32 @@ +image boot.vfat { + vfat { + files = { + "tiboot3.bin", + "tispl.bin", + "u-boot.img", + "Image", + "ti", + "extlinux", + } + + label = "boot" + } + + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/beagleboard/beagley-ai/patches/linux/linux.hash b/board/beagleboard/beagley-ai/patches/linux/linux.hash new file mode 100644 index 00000000000..eb4dcee9586 --- /dev/null +++ b/board/beagleboard/beagley-ai/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 4f21c01f4d04c1d1b3ed794153f8900802c92497be620b07c4869530f2d28ee3 linux-6.18.16.tar.xz diff --git a/board/beagleboard/beagley-ai/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash b/board/beagleboard/beagley-ai/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/beagleboard/beagley-ai/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/beagleboard/beagley-ai/patches/uboot/uboot.hash b/board/beagleboard/beagley-ai/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/beagleboard/beagley-ai/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/beagleboard/beagley-ai/post-build.sh b/board/beagleboard/beagley-ai/post-build.sh new file mode 100755 index 00000000000..8dae08a47cd --- /dev/null +++ b/board/beagleboard/beagley-ai/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$BINARIES_DIR"/extlinux/extlinux.conf diff --git a/board/beagleboard/beagley-ai/readme.txt b/board/beagleboard/beagley-ai/readme.txt new file mode 100644 index 00000000000..6d16e5e1720 --- /dev/null +++ b/board/beagleboard/beagley-ai/readme.txt @@ -0,0 +1,38 @@ +BeagleBoard.org BeagleY-AI Development Board + +Description +=========== + +This configuration will build a basic image for the BeagleBoard.org +BeagleY-AI. For more details about the board, visit: + +https://www.beagleboard.org/boards/beagley-ai + +How to Build +============ + +Select the default configuration for the target: + +$ make beagley_ai_defconfig + +Optional: modify the configuration: + +$ make menuconfig + +Build: + +$ make + +To copy the resulting output image file to an SD card use dd: + +$ dd if=output/images/sdcard.img of=/dev/sdX bs=1M + +How to Run +========== + +Insert the SD card into the BeagleY-AI board, and power it up +through the USB Type-C connector. The system should come up. +You can use a USB to serial adapter to connect to the connector +labeled UART0 (J13) to communicate with the board. + +https://docs.beagle.cc/boards/beagley/ai/02-quick-start.html diff --git a/board/beagleboardx15/genimage.cfg b/board/beagleboardx15/genimage.cfg deleted file mode 100644 index d27eff609fb..00000000000 --- a/board/beagleboardx15/genimage.cfg +++ /dev/null @@ -1,26 +0,0 @@ -image boot.vfat { - vfat { - files = { - "MLO", - "u-boot.img" - } - } - size = 4M -} - -image sdcard.img { - hdimage { - } - - partition u-boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 512M - } -} diff --git a/board/beagleboardx15/post-image.sh b/board/beagleboardx15/post-image.sh deleted file mode 100755 index f52682f5d53..00000000000 --- a/board/beagleboardx15/post-image.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" - -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/board/beagleboardx15/readme.txt b/board/beagleboardx15/readme.txt deleted file mode 100644 index 56ebca8c5f5..00000000000 --- a/board/beagleboardx15/readme.txt +++ /dev/null @@ -1,49 +0,0 @@ -BeagleBoard X15 - -Intro -===== -This config currently supports the beagleboard x15, -and generates a barebone image. - -The image must be flashed to a SD card to be used. - -How to build it -=============== - - $ make beagleboardx15_defconfig - -Then you can edit the build options using - - $ make menuconfig - -Compile all and build a sdcard image: - - $ make - -Result of the build -------------------- - -After building, you should get a tree like this: - - output/images/ - ├── am57xx-beagle-x15.dtb - ├── am57xx-beagle-x15-revb1.dtb - ├── boot.vfat - ├── MLO - ├── rootfs.ext2 - ├── rootfs.ext4 - ├── rootfs.tar - ├── sdcard.img - ├── u-boot.img - ├── u-boot-spl.bin - └── zImage - -How to write the microSD card -============================= - -Once the build process is finished you will have an image called "sdcard.img" -in the output/images/ directory. - -Copy the bootable "sdcard.img" onto an SD card with "dd": - - $ sudo dd if=output/images/sdcard.img of=/dev/sdX diff --git a/board/beaglebone/genimage.cfg b/board/beaglebone/genimage.cfg deleted file mode 100644 index cfc1039ec40..00000000000 --- a/board/beaglebone/genimage.cfg +++ /dev/null @@ -1,33 +0,0 @@ -image boot.vfat { - vfat { - files = { - "MLO", - "u-boot.img", - "zImage", - "uEnv.txt", - "am335x-evm.dtb", - "am335x-evmsk.dtb", - "am335x-bone.dtb", - "am335x-boneblack.dtb", - "am335x-bonegreen.dtb", - } - } - size = 16M -} - -image sdcard.img { - hdimage { - } - - partition u-boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 512M - } -} diff --git a/board/beaglebone/genimage_linux41.cfg b/board/beaglebone/genimage_linux41.cfg deleted file mode 100644 index ba60297dde1..00000000000 --- a/board/beaglebone/genimage_linux41.cfg +++ /dev/null @@ -1,32 +0,0 @@ -image boot.vfat { - vfat { - files = { - "MLO", - "u-boot.img", - "zImage", - "uEnv.txt", - "am335x-evm.dtb", - "am335x-evmsk.dtb", - "am335x-bone.dtb", - "am335x-boneblack.dtb", - } - } - size = 16M -} - -image sdcard.img { - hdimage { - } - - partition u-boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 512M - } -} diff --git a/board/beaglebone/linux-4.1-sgx.fragment b/board/beaglebone/linux-4.1-sgx.fragment deleted file mode 100644 index c0d2e7b28a0..00000000000 --- a/board/beaglebone/linux-4.1-sgx.fragment +++ /dev/null @@ -1,12 +0,0 @@ -CONFIG_PREEMPT=y -CONFIG_PREEMPT_COUNT=y -CONFIG_OMAP2_DSS_INIT=y -CONFIG_OMAP_DSS_BASE=y -CONFIG_OMAP2_DSS=y -CONFIG_OMAP2_DSS_DPI=y -CONFIG_DRM_OMAP=y -CONFIG_DRM_OMAP_NUM_CRTCS=2 -CONFIG_DRM_OMAP_WB_M2M=y -CONFIG_DRM_TILCDC=y -CONFIG_DRM_I2C_NXP_TDA998X=y -CONFIG_DRM=y diff --git a/board/beaglebone/post-image.sh b/board/beaglebone/post-image.sh deleted file mode 100755 index 68fe0896c6e..00000000000 --- a/board/beaglebone/post-image.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh -# post-image.sh for CircuitCo BeagleBone and TI am335x-evm -# 2014, Marcin Jabrzyk -# 2016, Lothar Felten - -BOARD_DIR="$(dirname $0)" - -# copy the uEnv.txt to the output/images directory -cp board/beaglebone/uEnv.txt $BINARIES_DIR/uEnv.txt - -# the 4.1 kernel does not provide a dtb for beaglebone green, so we -# use a different genimage config if am335x-bonegreen.dtb is not -# built: -if [ -e ${BINARIES_DIR}/am335x-bonegreen.dtb ] ; then - GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -else - GENIMAGE_CFG="${BOARD_DIR}/genimage_linux41.cfg" -fi - -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/board/beaglebone/readme.txt b/board/beaglebone/readme.txt deleted file mode 100644 index e908b222353..00000000000 --- a/board/beaglebone/readme.txt +++ /dev/null @@ -1,52 +0,0 @@ -CircuitCo BeagleBone -Texas Instuments AM335x Evaluation Module (TMDXEVM3358) - -Description -=========== - -This configuration will build a complete image for the beaglebone and -the TI AM335x-EVM, the board type is identified by the on-board -EEPROM. The configuration is based on the -ti-processor-sdk-02.00.00.00. Device tree blobs for beaglebone -variants and the evm-sk are built too. - -For Qt5 support support use the beaglebone_qt5_defconfig. - -How to build it -=============== - -Select the default configuration for the target: -$ make beaglebone_defconfig - -Optional: modify the configuration: -$ make menuconfig - -Build: -$ make - -Result of the build -=================== -output/images/ -├── am335x-boneblack.dtb -├── am335x-bone.dtb -├── am335x-evm.dtb -├── am335x-evmsk.dtb -├── boot.vfat -├── MLO -├── rootfs.ext2 -├── rootfs.tar -├── sdcard.img -├── u-boot.img -├── uEnv.txt -└── zImage - -To copy the image file to the sdcard use dd: -$ dd if=output/images/sdcard.img of=/dev/XXX - -Tested hardware -=============== -am335x-evm (rev. 1.1A) -beagleboneblack (rev. A5A) -beaglebone (rev. A6) - -2016, Lothar Felten diff --git a/board/beaglebone/uEnv.txt b/board/beaglebone/uEnv.txt deleted file mode 100644 index 70b3b721469..00000000000 --- a/board/beaglebone/uEnv.txt +++ /dev/null @@ -1,4 +0,0 @@ -bootpart=0:1 -bootdir= -bootargs=console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait -uenvcmd=run loadimage;run loadfdt;printenv bootargs;bootz ${loadaddr} - ${fdtaddr}; diff --git a/board/boundarydevices/common/6x_bootscript.txt b/board/boundarydevices/common/6x_bootscript.txt deleted file mode 100644 index af5822a88be..00000000000 --- a/board/boundarydevices/common/6x_bootscript.txt +++ /dev/null @@ -1,131 +0,0 @@ -setenv bootargs '' - -if itest.s x6SX == "x${cpu}" || itest.s x7D == "x${cpu}"; then - a_script=0x80800000 - a_zImage=0x80800000 - a_fdt=0x83000000 - m4='' - if itest.s "x1" == "x$m4enabled" ; then - run m4boot; - m4='-m4'; - fi -else - a_script=0x10800000 - a_zImage=0x10800000 - a_fdt=0x13000000 -fi - -setenv initrd_high 0xffffffff -if itest.s "x" == "x${dtbname}" ; then - if itest.s x6SOLO == "x${cpu}" ; then - dtbname=imx6dl-${board}.dtb; - elif itest.s x6DL == "x${cpu}" ; then - dtbname=imx6dl-${board}.dtb; - elif itest.s x6QP == "x${cpu}" ; then - dtbname=imx6qp-${board}.dtb; - elif itest.s x6SX == "x${cpu}" ; then - dtbname=imx6sx-${board}${m4}.dtb; - elif itest.s x7D == "x${cpu}" ; then - dtbname=imx7d-${board}${m4}.dtb; - else - dtbname=imx6q-${board}.dtb; - fi -fi - -if load ${dtype} ${disk}:1 ${a_script} uEnv.txt ; then - env import -t ${a_script} ${filesize} -fi - -if itest.s x == x${bootdir} ; then - bootdir=/boot/ -fi - -if itest.s x${bootpart} == x ; then - bootpart=1 -fi - -if load ${dtype} ${disk}:${bootpart} ${a_fdt} ${bootdir}${dtbname} ; then - fdt addr ${a_fdt} - setenv fdt_high 0xffffffff -else - echo "!!!! Error loading ${bootdir}${dtbname}"; - exit; -fi - -cmd_xxx_present= -fdt resize -if itest.s "x" != "x${cmd_custom}" ; then - run cmd_custom - cmd_xxx_present=1; -fi - -if itest.s "x" != "x${cmd_hdmi}" ; then - run cmd_hdmi - cmd_xxx_present=1; - if itest.s x == x${allow_noncea} ; then - setenv bootargs ${bootargs} mxc_hdmi.only_cea=1; - echo "only CEA modes allowed on HDMI port"; - else - setenv bootargs ${bootargs} mxc_hdmi.only_cea=0; - echo "non-CEA modes allowed on HDMI, audio may be affected"; - fi -fi - -if itest.s "x" != "x${cmd_lcd}" ; then - run cmd_lcd - cmd_xxx_present=1; -fi -if itest.s "x" != "x${cmd_lvds}" ; then - run cmd_lvds - cmd_xxx_present=1; -fi -if itest.s "x" != "x${cmd_lvds2}" ; then - run cmd_lvds2 - cmd_xxx_present=1; -fi - -if itest.s "x" == "x${cmd_xxx_present}" ; then - echo "!!!!!!!!!!!!!!!!" - echo "warning: your u-boot may be outdated, please upgrade" - echo "!!!!!!!!!!!!!!!!" -fi - -setenv bootargs "${bootargs} console=${console},115200 vmalloc=400M consoleblank=0 rootwait fixrtc" - -if test "sata" = "${dtype}" ; then - setenv bootargs "${bootargs} root=/dev/sda${bootpart}" ; -elif test "usb" = "${dtype}" ; then - setenv bootargs "${bootargs} root=/dev/sda${bootpart}" ; -else - setenv bootargs "${bootargs} root=/dev/mmcblk${disk}p${bootpart}" -fi - -if itest.s "x" != "x${disable_giga}" ; then - setenv bootargs ${bootargs} fec.disable_giga=1 -fi - -if itest.s "x" != "x${wlmac}" ; then - setenv bootargs ${bootargs} wlcore.mac=${wlmac} - setenv bootargs ${bootargs} wlan.mac=${wlmac} -fi - -if itest.s "x" != "x${gpumem}" ; then - setenv bootargs ${bootargs} galcore.contiguousSize=${gpumem} -fi - -if itest.s "x" != "x${cma}" ; then - setenv bootargs ${bootargs} cma=${cma} -fi - -if itest.s "x" != "x${show_fdt}" ; then - fdt print / -fi - -if itest.s "x" != "x${show_env}" ; then - printenv -fi - -if load ${dtype} ${disk}:${bootpart} ${a_zImage} ${bootdir}/zImage ; then - bootz ${a_zImage} - ${a_fdt} -fi -echo "Error loading kernel image" diff --git a/board/boundarydevices/common/6x_upgrade.txt b/board/boundarydevices/common/6x_upgrade.txt deleted file mode 100644 index e012ff97ac3..00000000000 --- a/board/boundarydevices/common/6x_upgrade.txt +++ /dev/null @@ -1,69 +0,0 @@ -if itest.s a$uboot_defconfig == a; then - echo "Please set uboot_defconfig to the appropriate value" - exit -fi - -offset=0x400 -a_uImage1=0x12000000 -a_uImage2=0x12400000 - -if itest.s x6SX == "x${cpu}" || itest.s x7D == "x${cpu}"; then - a_uImage1=0x82000000 - a_uImage2=0x82400000 -fi - -setenv stdout serial,vga -echo "check U-Boot" ; - -if load ${dtype} ${disk}:1 ${a_uImage1} u-boot.$uboot_defconfig ; then -else - echo "No U-Boot image found on SD card" ; - exit -fi -echo "read $filesize bytes from SD card" ; -if sf probe || sf probe || sf probe 1 27000000 || sf probe 1 27000000 ; then - echo "probed SPI ROM" ; -else - echo "Error initializing EEPROM" ; - exit -fi ; -if sf read ${a_uImage2} $offset $filesize ; then -else - echo "Error reading boot loader from EEPROM" ; - exit -fi -if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then - echo "------- U-Boot versions match" ; - exit -fi -echo "Need U-Boot upgrade" ; -echo "Program in 5 seconds" ; -for n in 5 4 3 2 1 ; do - echo $n ; - sleep 1 ; -done -echo "erasing" ; -sf erase 0 0xC0000 ; - -# two steps to prevent bricking -echo "programming" ; -setexpr a1 ${a_uImage1} + 0x400 -setexpr o1 ${offset} + 0x400 -setexpr s1 ${filesize} - 0x400 -sf write ${a1} ${o1} ${s1} ; -sf write ${a_uImage1} $offset 0x400 ; - -echo "verifying" ; -if sf read ${a_uImage2} $offset $filesize ; then -else - echo "Error re-reading EEPROM" ; - exit -fi -if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then -else - echo "Read verification error" ; - exit -fi -while echo "---- U-Boot upgraded. reset" ; do - sleep 120 -done diff --git a/board/boundarydevices/common/boot.cmd b/board/boundarydevices/common/boot.cmd new file mode 100644 index 00000000000..2f2bd8d0450 --- /dev/null +++ b/board/boundarydevices/common/boot.cmd @@ -0,0 +1,170 @@ +setenv bootargs '' + +m4='' +kernelimage=zImage +bootcommand=bootz +a_base=0x10000000 + +#grab 1st 2/3 characters of string +setexpr cpu2 sub "^(..?).*" "\\1" "${imx_cpu}" +setexpr cpu3 sub "^(..?.?).*" "\\1" "${imx_cpu}" +if itest.s x51 == "x${cpu2}" ; then + a_base=0x90000000 +elif itest.s x53 == "x${cpu2}"; then + a_base=0x70000000 +elif itest.s x6SX == "x${cpu3}" || itest.s x6U == "x${cpu2}" || itest.s x7D == "x${cpu2}"; then + a_base=0x80000000 +elif itest.s x8M == "x${cpu2}"; then + a_base=0x40000000 + kernelimage=Image + bootcommand=booti +fi +if itest.s "x1" == "x${m4enabled}" ; then + run m4boot; + m4='-m4'; +fi + +setexpr a_script ${a_base} + 0x00800000 +setexpr a_zImage ${a_base} + 0x00800000 +setexpr a_fdt ${a_base} + 0x03000000 +setexpr a_initrd ${a_base} + 0x03100000 +setexpr a_reset_cause_marker ${a_base} + 0x80 +setexpr a_reset_cause ${a_base} + 0x84 + +if itest.s "x" == "x${board}" ; then + echo "!!!! Error: Your u-boot is outdated. Please upgrade."; + exit; +fi + +if itest.s "x" == "x${fdt_file}" ; then + if itest.s x51 == "x${cpu2}" ; then + fdt_file=imx51-${board}${m4}.dtb; + elif itest.s x53 == "x${cpu2}" ; then + fdt_file=imx53-${board}${m4}.dtb; + elif itest.s x6DL == "x${cpu3}" || itest.s x6SO == "x${cpu3}" ; then + fdt_file=imx6dl-${board}.dtb; + elif itest.s x6QP == "x${cpu3}" ; then + fdt_file=imx6qp-${board}.dtb; + elif itest.s x6SX == "x${cpu3}" ; then + fdt_file=imx6sx-${board}${m4}.dtb; + elif itest.s x6UL == "x${cpu3}" ; then + fdt_file=imx6ull-${board}.dtb; + elif itest.s x7D == "x${cpu2}" ; then + fdt_file=imx7d-${board}${m4}.dtb; + elif itest.s x8MM == "x${cpu3}" ; then + fdt_file=imx8mm-${board}${m4}.dtb; + elif itest.s x8MN == "x${cpu3}" ; then + fdt_file=imx8mn-${board}${m4}.dtb; + elif itest.s x8MP == "x${cpu3}" ; then + if itest *0x30360800 == 0x00824310 ; then + fdt_file=imx8mp-a0-${board}${m4}.dtb; + else + fdt_file=imx8mp-${board}${m4}.dtb; + fi + elif itest.s x8MQ == "x${cpu3}" ; then + fdt_file=imx8mq-${board}${m4}.dtb; + else + fdt_file=imx6q-${board}.dtb; + fi +fi + +if itest.s x${distro_bootpart} == x ; then + distro_bootpart=1 +fi + +if load ${devtype} ${devnum}:${distro_bootpart} ${a_script} uEnv.txt ; then + env import -t ${a_script} ${filesize} +fi + +if itest.s x${console} != x ; then + setenv bootargs ${bootargs} console=${console},115200 +fi +if itest.s "x" == "x$vmalloc" ; then + vmalloc=400M +fi +if itest.s x${consoleblank} == x ; then + consoleblank=0 +fi +setenv bootargs ${bootargs} vmalloc=${vmalloc} consoleblank=${consoleblank} rootwait fixrtc cpu=${imx_cpu} board=${board} uboot_release=${uboot_release} + +if load ${devtype} ${devnum}:${distro_bootpart} ${a_fdt} ${prefix}${fdt_file} ; then + fdt addr ${a_fdt} +else + echo "!!!! Error loading ${prefix}${fdt_file}"; + exit; +fi + +fdt resize 4096 +if itest.s "x" != "x${cmd_board}" ; then + run cmd_board +fi +if itest.s "x" != "x${cmd_custom}" ; then + run cmd_custom +fi +if itest.s "x" != "x${cmd_hdmi}" ; then + run cmd_hdmi + if itest.s x != x${allow_noncea} ; then + setenv bootargs ${bootargs} mxc_hdmi.only_cea=0; + echo "non-CEA modes allowed on HDMI, audio may be affected"; + fi +fi +if itest.s "x" != "x${cmd_lcd}" ; then + run cmd_lcd +fi +if itest.s "x" != "x${cmd_lcd2}" ; then + run cmd_lcd2 +fi +if itest.s "x" != "x${cmd_lvds}" ; then + run cmd_lvds +fi +if itest.s "x" != "x${cmd_lvds2}" ; then + run cmd_lvds2 +fi +if itest.s "x" != "x${cmd_mipi}" ; then + run cmd_mipi +fi + +if test "sata" = "${devtype}" ; then + setenv bootargs "${bootargs} root=/dev/sda${distro_bootpart}" ; +elif test "usb" = "${devtype}" ; then + setenv bootargs "${bootargs} root=/dev/sda${distro_bootpart}" ; +else + setenv bootargs "${bootargs} root=/dev/mmcblk${devnum}p${distro_bootpart}" +fi + +if itest.s "x" != "x${disable_msi}" ; then + setenv bootargs ${bootargs} pci=nomsi +fi; + +if itest.s "x" != "x${disable_giga}" ; then + setenv bootargs ${bootargs} fec.disable_giga=1 +fi + +if itest.s "x" != "x${wlmac}" ; then + setenv bootargs ${bootargs} wlcore.mac=${wlmac} +fi + +if itest.s "x" != "x${gpumem}" ; then + setenv bootargs ${bootargs} galcore.contiguousSize=${gpumem} +fi + +if itest.s "x" != "x${cma}" ; then + setenv bootargs ${bootargs} cma=${cma} +fi + +if itest.s "x" != "x${loglevel}" ; then + setenv bootargs ${bootargs} loglevel=${loglevel} +fi + +if itest.s "x" != "x${show_fdt}" ; then + fdt print / +fi + +if itest.s "x" != "x${show_env}" ; then + printenv +fi + +if load ${devtype} ${devnum}:${distro_bootpart} ${a_zImage} ${prefix}${kernelimage} ; then + ${bootcommand} ${a_zImage} - ${a_fdt} +fi +echo "Error loading kernel image" diff --git a/board/boundarydevices/common/post-build.sh b/board/boundarydevices/common/post-build.sh index 8f1d44496fe..161ec0643f7 100755 --- a/board/boundarydevices/common/post-build.sh +++ b/board/boundarydevices/common/post-build.sh @@ -6,15 +6,24 @@ # BOARD_DIR="$(dirname $0)" +UBOOT_DEFCONFIG="$(grep BR2_TARGET_UBOOT_BOARD_DEFCONFIG ${BR2_CONFIG} | sed 's/.*\"\(.*\)\"/\1/')" -# bd u-boot looks for bootscript here -$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \ --n "boot script" -d $BOARD_DIR/6x_bootscript.txt $TARGET_DIR/6x_bootscript +if grep -Eq "^BR2_aarch64=y$" ${BR2_CONFIG}; then + MKIMAGE_ARCH=arm64 + UBOOT_BINARY=imx8-boot-sd.bin +else + MKIMAGE_ARCH=arm + UBOOT_BINARY=u-boot.imx +fi + +# bd u-boot looks for standard bootscript +$HOST_DIR/bin/mkimage -A $MKIMAGE_ARCH -O linux -T script -C none -a 0 -e 0 \ + -n "boot script" -d $BOARD_DIR/boot.cmd $TARGET_DIR/boot/boot.scr # u-boot / update script for bd upgradeu command -if [ -e $BINARIES_DIR/u-boot.imx ]; -then - install -D -m 0644 $BINARIES_DIR/u-boot.imx $TARGET_DIR/u-boot.imx - $HOST_DIR/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \ - -n "upgrade script" -d $BOARD_DIR/6x_upgrade.txt $TARGET_DIR/6x_upgrade +if [ -e $BINARIES_DIR/$UBOOT_BINARY ]; then + install -D -m 0644 $BINARIES_DIR/$UBOOT_BINARY \ + $TARGET_DIR/u-boot.$UBOOT_DEFCONFIG + $HOST_DIR/bin/mkimage -A $MKIMAGE_ARCH -O linux -T script -C none -a 0 -e 0 \ + -n "upgrade script" -d $BOARD_DIR/upgrade.cmd $TARGET_DIR/upgrade.scr fi diff --git a/board/boundarydevices/common/post-image.sh b/board/boundarydevices/common/post-image.sh index 9cca1b1789e..5c70d98e543 100755 --- a/board/boundarydevices/common/post-image.sh +++ b/board/boundarydevices/common/post-image.sh @@ -1,16 +1,5 @@ #!/bin/sh -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" +support/scripts/genimage.sh -c $(dirname $0)/genimage.cfg exit $? diff --git a/board/boundarydevices/common/readme.txt b/board/boundarydevices/common/readme.txt index 0625deef263..d3169b08f5c 100644 --- a/board/boundarydevices/common/readme.txt +++ b/board/boundarydevices/common/readme.txt @@ -1,6 +1,6 @@ Buildroot for Boundary Devices platforms: -https://boundarydevices.com/product-category/popular-sbc-and-som-modules/ +https://boundarydevices.com/nitrogen-sbcs-and-soms/ Here is the list of targeted platforms per defconfig: @@ -19,7 +19,22 @@ Here is the list of targeted platforms per defconfig: - nitrogen7_defconfig - Nitrogen7 -To install, simply copy the image to a uSD card: +- nitrogen8m_defconfig + - Nitrogen8M + - Nitrogen8M_SOM + +- nitrogen8mm_defconfig + - Nitrogen8MMini + - Nitrogen8MMini_SOM + +- nitrogen8mn_defconfig + - Nitrogen8MNano + - Nitrogen8MNano_SOM + +- nitrogen8mp_defconfig + - Nitrogen8MPlus_SOM + +To install, simply copy the image to your storage (SD, eMMC, USB): $ sudo dd if=output/images/sdcard.img of=/dev/sdX @@ -28,3 +43,9 @@ Where 'sdX' is the device node of the uSD partition. To upgrade u-boot, cancel autoboot and type: > run upgradeu + +See Boundary Devices's buildroot-external-boundary project +for additional and advanced defconfigs using Qt5, gstreamer, +NXP proprietary packages with demo applications: + +https://github.com/boundarydevices/buildroot-external-boundary diff --git a/board/boundarydevices/common/upgrade.cmd b/board/boundarydevices/common/upgrade.cmd new file mode 100644 index 00000000000..a26bacd9aa5 --- /dev/null +++ b/board/boundarydevices/common/upgrade.cmd @@ -0,0 +1,230 @@ +if itest.s a$uboot_defconfig == a; then + echo "Please set uboot_defconfig to the appropriate value" + exit +fi + +offset=0x400 +erase_size=0xC0000 +qspi_offset=0x0 +a_base=0x12000000 +block_size=0x200 + +#grab 1st 2/3 characters of string +setexpr cpu2 sub "^(..?).*" "\\1" "${imx_cpu}" +setexpr cpu3 sub "^(..?.?).*" "\\1" "${imx_cpu}" +if itest.s x51 == "x${cpu2}"; then + a_base=0x92000000 +elif itest.s x53 == "x${cpu2}"; then + a_base=0x72000000 +elif itest.s x6SX == "x${cpu3}" || itest.s x6U == "x${cpu2}" || itest.s x7D == "x${cpu2}"; then + a_base=0x82000000 +elif itest.s x8M == "x${cpu2}"; then + a_base=0x42000000 + offset=0x8400 + if itest.s x8MN == "x${cpu3}" || itest.s x8MP == "x${cpu3}"; then + offset=0x8000 + if itest ${env_part} != 0 ; then + offset=0x0 + fi + fi +fi + +qspi_match=1 +setexpr a_qspi1 ${a_base} +setexpr a_qspi2 ${a_qspi1} + 0x400000 +setexpr a_uImage1 ${a_qspi1} + 0x400 +setexpr a_uImage2 ${a_qspi2} + 0x400 +setexpr a_script ${a_base} + +if itest.s "x${vidconsole}" == "x" ; then + vidconsole=vga +fi +setenv stdout serial,${vidconsole} + +if itest.s "x${sfname}" == "x" ; then +# U-Boot resides in (e)MMC +if itest.s "x${env_dev}" == "x" || itest.s "x${env_part}" == "x"; then + echo "Please set env_dev/part to the appropriate values" + exit +fi + +# Load bootloader binary for this board +if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_uImage1} u-boot.$uboot_defconfig ; then +else + echo "File u-boot.$uboot_defconfig not found on SD card" ; + exit +fi + +# Compute block count for filesize and offset +setexpr cntoffset ${offset} / ${block_size} +setexpr cntfile ${filesize} / ${block_size} +# Add 1 in case the $filesize is not a multiple of $block_size +setexpr cntfile ${cntfile} + 1 + +# Select media partition (if different from main partition) +mmc dev ${env_dev} ${env_part} + +# Read and compare current U-Boot +mmc read ${a_uImage2} ${cntoffset} ${cntfile} +if cmp.b ${a_uImage1} ${a_uImage2} ${filesize} ; then + echo "------- U-Boot versions match" ; + echo "------- U-Boot upgrade NOT needed" ; + exit ; +fi + +echo "Need U-Boot upgrade" ; +echo "Program in 5 seconds" ; +for n in 5 4 3 2 1 ; do + echo $n ; + sleep 1 ; +done +mmc write ${a_uImage1} ${cntoffset} ${cntfile} + +# Make sure to boot from the proper partition +if itest ${env_part} != 0 ; then + mmc partconf ${env_dev} 1 ${env_part} 0 +fi + +# Switch back to main eMMC partition (to avoid confusion) +mmc dev ${env_dev} + +else +# U-Boot resides in NOR flash +if sf probe || sf probe || sf probe 1 27000000 || sf probe 1 27000000 ; then + echo "probed SPI ROM" ; +else + echo "Error initializing EEPROM" + exit +fi + +if itest.s "x${sfname}" == "xat45db041d" ; then + erase_size=0x7e000 +fi + +if itest.s x7D == "x${imx_cpu}"; then + echo "check qspi parameter block" ; + if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_qspi1} qspi-${sfname}.${uboot_defconfig} ; then + else + echo "parameter file qspi-${sfname}.${uboot_defconfig} not found on SD card" + exit + fi + if itest ${filesize} != 0x200 ; then + echo "------- qspi-${sfname}.${uboot_defconfig} 0x${filesize} != 0x200 bytes" ; + exit + fi + setexpr a_marker ${a_qspi1} + 0x1fc + if itest *${a_marker} != c0ffee01 ; then + echo "------- qspi-${sfname}.${uboot_defconfig} c0ffee01 marker missing" ; + exit + fi + if sf read ${a_qspi2} ${qspi_offset} 0x200 ; then + else + echo "Error reading qspi parameter from EEPROM" + exit + fi + if cmp.b ${a_qspi1} ${a_qspi2} 0x200 ; then + echo "------- qspi parameters match" + else + echo "------- qspi parameters mismatch" + qspi_match=0 + fi +fi + +echo "check U-Boot" ; + +if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_uImage1} u-boot.$uboot_defconfig ; then +else + echo "File u-boot.$uboot_defconfig not found on SD card" ; + exit +fi +echo "read $filesize bytes from SD card" ; +if sf read ${a_uImage2} $offset $filesize ; then +else + echo "Error reading boot loader from EEPROM" ; + exit +fi + +if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then + echo "------- U-Boot versions match" ; + if itest.s "${qspi_match}" == "1" ; then + echo "------- U-Boot upgrade NOT needed" ; + if itest.s "x" != "x${next}" ; then + if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_script} ${next} ; then + source ${a_script} + else + echo "${next} not found on SD card" + fi + fi + exit + fi + erase_size=0x1000 + if itest.s xMX25L6405D == "x${sfname}"; then + erase_size=0x10000 + fi + setexpr filesize ${erase_size} - ${offset} +fi + +echo "Need U-Boot upgrade" ; +echo "Program in 5 seconds" ; +for n in 5 4 3 2 1 ; do + echo $n ; + sleep 1 ; +done +echo "erasing" ; +sf erase 0 ${erase_size} ; + +# two steps to prevent bricking +echo "programming" ; +setexpr a1 ${a_uImage1} + 0x400 +setexpr o1 ${offset} + 0x400 +setexpr s1 ${filesize} - 0x400 +sf write ${a1} ${o1} ${s1} ; +sf write ${a_uImage1} $offset 0x400 ; + +if itest.s x7D == "x${imx_cpu}"; then + sf write ${a_qspi1} ${qspi_offset} 0x200 +fi + +echo "verifying" ; +if sf read ${a_uImage2} $offset $filesize ; then +else + echo "Error re-reading EEPROM" ; + exit +fi +if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then +else + echo "Read verification error" ; + exit +fi + +if itest.s x7D == "x${imx_cpu}"; then + if sf read ${a_qspi2} ${qspi_offset} 0x200 ; then + else + echo "Error re-reading qspi" ; + exit + fi + if cmp.b ${a_qspi1} ${a_qspi2} 0x200 ; then + else + echo "qspi parameter block verification error" ; + exit + fi +fi + +if itest.s "x" != "x${next}" ; then + if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_script} ${next} ; then + source ${a_script} + else + echo "${next} not found on ${devtype} ${devnum}:${distro_bootpart}" + fi +fi +fi + +if itest.s "xno" == "x${reset}" ; then + while echo "---- U-Boot upgraded. Please reset the board" ; do + sleep 120 + done +fi +echo "---- U-Boot upgraded. The board will now reset." +sleep 1 +reset +done diff --git a/board/broadcom/northstar/linux.config b/board/broadcom/northstar/linux.config new file mode 100644 index 00000000000..47e69900329 --- /dev/null +++ b/board/broadcom/northstar/linux.config @@ -0,0 +1,70 @@ +CONFIG_EMBEDDED=y +CONFIG_ARCH_BCM=y +CONFIG_ARCH_BCM_5301X=y +CONFIG_ARCH_BCM_53573=y +CONFIG_SMP=y +CONFIG_NR_CPUS=2 +CONFIG_HIGHMEM=y +CONFIG_ARM_APPENDED_DTB=y +CONFIG_CMDLINE="ubi.mtd=ubi root=ubi0:rootfs rootfstype=ubifs" +CONFIG_CMDLINE_FORCE=y +# CONFIG_SUSPEND is not set +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_BRIDGE=y +CONFIG_BRIDGE_VLAN_FILTERING=y +CONFIG_NET_DSA=y +CONFIG_VLAN_8021Q=y +CONFIG_PCI=y +CONFIG_BCM47XX_NVRAM=y +CONFIG_BCM47XX_SPROM=y +CONFIG_MTD=y +CONFIG_MTD_BCM47XX_PARTS=y +CONFIG_MTD_PARSER_TRX=y +CONFIG_MTD_BCM47XXSFLASH=y +CONFIG_MTD_RAW_NAND=y +CONFIG_MTD_NAND_BRCMNAND=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_UBI=y +CONFIG_NETDEVICES=y +CONFIG_VXLAN=y +CONFIG_VETH=y +CONFIG_B53=y +CONFIG_BGMAC_BCMA=y +CONFIG_BROADCOM_PHY=y +CONFIG_MDIO_BUS_MUX_MMIOREG=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_NR_UARTS=2 +CONFIG_SERIAL_8250_RUNTIME_UARTS=2 +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SPI=y +CONFIG_THERMAL=y +CONFIG_WATCHDOG=y +CONFIG_BCM47XX_WDT=y +CONFIG_BCMA_HOST_SOC=y +CONFIG_BCMA_DRIVER_GMAC_CMN=y +CONFIG_BCMA_DRIVER_GPIO=y +CONFIG_USB=y +CONFIG_USB_LEDS_TRIGGER_USBPORT=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_HCD_PCI is not set +CONFIG_USB_HCD_BCMA=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y +CONFIG_PHY_BCM_NS_USB2=y +CONFIG_PHY_BCM_NS_USB3=y +CONFIG_UBIFS_FS=y +CONFIG_DEBUG_LL=y +CONFIG_DEBUG_UNCOMPRESS=y +CONFIG_EARLY_PRINTK=y diff --git a/board/broadcom/northstar/post-image.sh b/board/broadcom/northstar/post-image.sh new file mode 100755 index 00000000000..559ed8bf4b2 --- /dev/null +++ b/board/broadcom/northstar/post-image.sh @@ -0,0 +1,41 @@ +#!/bin/sh + +# $1: images directory path +# $2: device dts filename +# $3: board id +build_lxl() { + local images="$1" + local device="$2" + local board="$3" + + $HOST_DIR/bin/lzma_alone e $images/zImage.$device $images/zImage.$device.lzma -d16 + rm -f $images/zImage.$device + $HOST_DIR/bin/otrx create $images/$device.trx -f $images/zImage.$device.lzma -a 0x20000 -f $images/rootfs.ubi + rm -f $images/zImage.$device.lzma + $HOST_DIR/bin/lxlfw create $images/$device.lxl -i $images/$device.trx -b "$board" +} + +# $1: images directory path +# $2: device dts filename +build_trx() { + local images="$1" + local device="$2" + + $HOST_DIR/bin/lzma_alone e $images/zImage.$device $images/zImage.$device.lzma -d16 + rm -f $images/zImage.$device + $HOST_DIR/bin/otrx create $images/$device.trx -f $images/zImage.$device.lzma -a 0x20000 -f $images/rootfs.ubi + rm -f $images/zImage.$device.lzma +} + +devices="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([^"]*\)"$/\1/p' ${BR2_CONFIG})" +for device in $devices; do + device="${device#broadcom/}" + case "$device" in + "bcm4708-smartrg-sr400ac") + build_trx "$1" "$device" + ;; + "bcm47094-luxul-xwr-3150-v1") + build_lxl "$1" "$device" "XWR-3150" + ;; + esac +done diff --git a/board/broadcom/northstar/readme.txt b/board/broadcom/northstar/readme.txt new file mode 100644 index 00000000000..523bb439e37 --- /dev/null +++ b/board/broadcom/northstar/readme.txt @@ -0,0 +1,38 @@ +Broadcom Northstar + +Intro +===== + +This readme covers Northstar family of Broadcom SoCs. It includes: + - BCM4708 (2 x 800 MHz) + - BCM47081 (1 x 800 MHz) + - BCM4709 (2 x 1 GHz) + - BCM47094 (2 x 1 GHz) (AKA BCM4709C0) + +Northstar platform is used in some home routers by multiple vendors. There are +over 100 market devices based on it and they can all be supported with 1 kernel. + +There is no point in having separated board for each model. This board code is +meant for all supported Northstar devices. + +All Northstar devices come with CFE bootloader by default. It's basically closed +source as sources are available for some old releases only. There is no U-Boot (or +any other) drop-in replacement or second stage loader with Northstar support. + +CFE supports flashing firmware images over TFTP and HTTP (depending on vendor / +device setup). + +How to build it +=============== + + $ make broadcom_northstar_defconfig + + $ make + +How to flash over HTTP +====================== + +Power on device and press (and hold) CTRL+C in serial console terminal. When CFE +gets into prompt mode it'll automatically start built-in HTTP server. Navigate +to http://192.168.1.1/ (unless IP was changed - verify with "ifconfig") and +upload new firmware using a web browser. diff --git a/board/bsh/common/imx8mn-bsh-smm-s2/linux.fragment b/board/bsh/common/imx8mn-bsh-smm-s2/linux.fragment new file mode 100644 index 00000000000..80803ab0888 --- /dev/null +++ b/board/bsh/common/imx8mn-bsh-smm-s2/linux.fragment @@ -0,0 +1,895 @@ +# CONFIG_BPF_SYSCALL is not set +CONFIG_TASK_DELAY_ACCT=y +CONFIG_CGROUP_FREEZER=y +# CONFIG_CGROUP_BPF is not set +CONFIG_RELAY=y +# CONFIG_ARCH_ACTIONS is not set +# CONFIG_ARCH_SUNXI is not set +# CONFIG_ARCH_ALPINE is not set +# CONFIG_ARCH_APPLE is not set +# CONFIG_ARCH_BCM2835 is not set +# CONFIG_ARCH_BCM4908 is not set +# CONFIG_ARCH_BCM_IPROC is not set +# CONFIG_ARCH_BERLIN is not set +# CONFIG_ARCH_BRCMSTB is not set +# CONFIG_ARCH_EXYNOS is not set +# CONFIG_ARCH_K3 is not set +# CONFIG_ARCH_LAYERSCAPE is not set +# CONFIG_ARCH_LG1K is not set +# CONFIG_ARCH_HISI is not set +# CONFIG_ARCH_KEEMBAY is not set +# CONFIG_ARCH_MEDIATEK is not set +# CONFIG_ARCH_MESON is not set +# CONFIG_ARCH_MVEBU is not set +# CONFIG_ARCH_QCOM is not set +# CONFIG_ARCH_RENESAS is not set +# CONFIG_ARCH_ROCKCHIP is not set +# CONFIG_ARCH_S32 is not set +# CONFIG_ARCH_SEATTLE is not set +# CONFIG_ARCH_INTEL_SOCFPGA is not set +# CONFIG_ARCH_SYNQUACER is not set +# CONFIG_ARCH_TEGRA is not set +# CONFIG_ARCH_TESLA_FSD is not set +# CONFIG_ARCH_SPRD is not set +# CONFIG_ARCH_THUNDER is not set +# CONFIG_ARCH_THUNDER2 is not set +# CONFIG_ARCH_UNIPHIER is not set +# CONFIG_ARCH_VEXPRESS is not set +# CONFIG_ARCH_VISCONTI is not set +# CONFIG_ARCH_XGENE is not set +# CONFIG_ARCH_ZYNQMP is not set +# CONFIG_KEXEC is not set +# CONFIG_KEXEC_FILE is not set +# CONFIG_XEN is not set +# CONFIG_ARM64_PTR_AUTH is not set +# CONFIG_ARM64_TLB_RANGE is not set +# CONFIG_ARM64_MTE is not set +CONFIG_PM_DEBUG=y +CONFIG_PM_TEST_SUSPEND=y +# CONFIG_HIBERNATION is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y +# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set +# CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM is not set +# CONFIG_ARM_ARMADA_37XX_CPUFREQ is not set +CONFIG_ARM_IMX_CPUFREQ_DT=y +# CONFIG_ARM_QCOM_CPUFREQ_NVMEM is not set +# CONFIG_ARM_QCOM_CPUFREQ_HW is not set +# CONFIG_ARM_RASPBERRYPI_CPUFREQ is not set +# CONFIG_ARM_SCMI_CPUFREQ is not set +# CONFIG_ARM_TEGRA186_CPUFREQ is not set +# CONFIG_ARM_MEDIATEK_CPUFREQ is not set +# CONFIG_QORIQ_CPUFREQ is not set +# CONFIG_ACPI_APEI_PCIEAER is not set +# CONFIG_VIRTUALIZATION is not set +# CONFIG_KVM is not set +# CONFIG_GCC_PLUGINS is not set +CONFIG_IPV6=y +CONFIG_MODVERSIONS=y +CONFIG_IPV6_SIT=m +CONFIG_NET_DSA_TAG_OCELOT=m +CONFIG_VLAN_8021Q=y +CONFIG_LLC2=y +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_CLS_TCINDEX=m +CONFIG_NET_PKTGEN=m +CONFIG_BT=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +# CONFIG_CAN_RCAR is not set +# CONFIG_CAN_RCAR_CANFD is not set +# CONFIG_CAN_MCP251XFD is not set +CONFIG_BT_HCIUART=y +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_ATH3K=y +CONFIG_BT_HCIUART_3WIRE=y +CONFIG_BT_HCIVHCI=y +CONFIG_CFG80211=y +CONFIG_NL80211_TESTMODE=y +CONFIG_CFG80211_WEXT=y +CONFIG_MAC80211=y +# CONFIG_BT_HCIUART_MRVL is not set +# CONFIG_BT_MRVL is not set +# CONFIG_BT_MRVL_SDIO is not set +# CONFIG_BT_QCOMSMD is not set +# CONFIG_RFKILL is not set +# CONFIG_PCI is not set +# CONFIG_PCIEPORTBUS is not set +# CONFIG_PCIEAER is not set +# CONFIG_PCI_IOV is not set +# CONFIG_PCI_PASID is not set +# CONFIG_HOTPLUG_PCI is not set +# CONFIG_HOTPLUG_PCI_ACPI is not set +# CONFIG_PCI_AARDVARK is not set +# CONFIG_PCI_TEGRA is not set +# CONFIG_PCIE_RCAR_HOST is not set +# CONFIG_PCIE_RCAR_EP is not set +# CONFIG_PCI_HOST_GENERIC is not set +# CONFIG_PCI_XGENE is not set +# CONFIG_PCIE_ALTERA is not set +# CONFIG_PCIE_ALTERA_MSI is not set +# CONFIG_PCI_HOST_THUNDER_PEM is not set +# CONFIG_PCI_HOST_THUNDER_ECAM is not set +# CONFIG_PCIE_ROCKCHIP_HOST is not set +# CONFIG_PCIE_BRCMSTB is not set +# CONFIG_PCI_IMX6 is not set +# CONFIG_PCI_LAYERSCAPE is not set +# CONFIG_PCI_HISI is not set +# CONFIG_PCIE_QCOM is not set +# CONFIG_PCIE_ARMADA_8K is not set +# CONFIG_PCIE_KIRIN is not set +# CONFIG_PCIE_HISI_STB is not set +# CONFIG_PCIE_TEGRA194_HOST is not set +# CONFIG_PCIE_VISCONTI_HOST is not set +# CONFIG_PCIE_LAYERSCAPE_GEN4 is not set +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_CONFIGFS is not set +# CONFIG_PCI_EPF_TEST is not set +CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y +CONFIG_BRCMSTB_GISB_ARB=y +CONFIG_VEXPRESS_CONFIG=y +# CONFIG_HISILICON_LPC is not set +# CONFIG_TEGRA_ACONNECT is not set +# CONFIG_RASPBERRYPI_FIRMWARE is not set +# CONFIG_INTEL_STRATIX10_SERVICE is not set +# CONFIG_INTEL_STRATIX10_RSU is not set +CONFIG_IMX_DSP=y +# CONFIG_GNSS is not set +# CONFIG_GNSS_MTK_SERIAL is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_NAND_BRCMNAND is not set +CONFIG_MTD_NAND_GPMI_NAND=y +# CONFIG_MTD_NAND_MARVELL is not set +# CONFIG_MTD_NAND_FSL_IFC is not set +# CONFIG_MTD_NAND_QCOM is not set +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set +CONFIG_MTD_UBI=y +# CONFIG_BLK_DEV_NVME is not set +# CONFIG_PCI_ENDPOINT_TEST is not set +CONFIG_RAID_ATTRS=m +# CONFIG_SCSI_HISI_SAS_PCI is not set +# CONFIG_MEGARAID_SAS is not set +# CONFIG_SCSI_MPT3SAS is not set +# CONFIG_SCSI_UFS_QCOM is not set +# CONFIG_SCSI_UFS_HISI is not set +# CONFIG_SCSI_UFS_EXYNOS is not set +# CONFIG_SATA_AHCI is not set +CONFIG_AHCI_IMX=y +# CONFIG_AHCI_BRCM is not set +# CONFIG_AHCI_MVEBU is not set +# CONFIG_SATA_SIL24 is not set +# CONFIG_SATA_RCAR is not set +CONFIG_DM_CRYPT=m +# CONFIG_NET_DSA_BCM_SF2 is not set +# CONFIG_NET_DSA_MSCC_FELIX is not set +# CONFIG_NET_XGENE is not set +# CONFIG_ATL1C is not set +# CONFIG_SYSTEMPORT is not set +# CONFIG_BNX2X is not set +# CONFIG_THUNDER_NIC_PF is not set +CONFIG_FSL_XGMAC_MDIO=y +CONFIG_FSL_ENETC_IERB=y +# CONFIG_FSL_FMAN is not set +# CONFIG_FSL_DPAA_ETH is not set +# CONFIG_FSL_DPAA2_ETH is not set +# CONFIG_FSL_ENETC is not set +# CONFIG_FSL_ENETC_VF is not set +# CONFIG_FSL_ENETC_QOS is not set +CONFIG_MVMDIO=y +CONFIG_MSCC_OCELOT_SWITCH=m +# CONFIG_HNS3 is not set +# CONFIG_HNS3_HCLGE is not set +# CONFIG_HNS3_ENET is not set +# CONFIG_E1000 is not set +# CONFIG_E1000E is not set +# CONFIG_IGB is not set +# CONFIG_IGBVF is not set +# CONFIG_MVNETA is not set +# CONFIG_MVPP2 is not set +# CONFIG_SKY2 is not set +# CONFIG_MLX4_EN is not set +# CONFIG_MLX5_CORE is not set +# CONFIG_MLX5_CORE_EN is not set +# CONFIG_R8169 is not set +# CONFIG_SH_ETH is not set +# CONFIG_RAVB is not set +CONFIG_STMMAC_ETH=y +CONFIG_DWMAC_GENERIC=m +CONFIG_MICROCHIP_PHY=y +CONFIG_NXP_TJA11XX_PHY=y +CONFIG_MDIO_BITBANG=y +# CONFIG_SNI_AVE is not set +# CONFIG_SNI_NETSEC is not set +# CONFIG_TI_K3_AM65_CPSW_NUSS is not set +# CONFIG_QCOM_IPA is not set +# CONFIG_MESON_GXL_PHY is not set +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_BCM54140_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_MARVELL_10G_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_MICROSEMI_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_ROCKCHIP_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_USB_BRCMSTB is not set +CONFIG_USB_RTL8152=y +CONFIG_USB_USBNET=y +CONFIG_BRCMFMAC=y +CONFIG_HOSTAP=y +# CONFIG_ATH10K is not set +# CONFIG_ATH10K_PCI is not set +# CONFIG_ATH10K_SNOC is not set +# CONFIG_WCN36XX is not set +# CONFIG_MWIFIEX is not set +# CONFIG_MWIFIEX_SDIO is not set +# CONFIG_MWIFIEX_PCIE is not set +CONFIG_KEYBOARD_SNVS_PWRKEY=y +# CONFIG_KEYBOARD_IMX_SC_KEY is not set +# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set +# CONFIG_INPUT_PM8941_PWRKEY is not set +# CONFIG_INPUT_PM8XXX_VIBRATOR is not set +# CONFIG_INPUT_PWM_BEEPER is not set +# CONFIG_INPUT_PWM_VIBRA is not set +# CONFIG_INPUT_HISI_POWERKEY is not set +# CONFIG_SERIAL_8250_BCM2835AUX is not set +# CONFIG_SERIAL_8250_OMAP is not set +# CONFIG_SERIAL_8250_MT6577 is not set +# CONFIG_SERIAL_8250_UNIPHIER is not set +# CONFIG_SERIAL_MESON is not set +# CONFIG_SERIAL_MESON_CONSOLE is not set +# CONFIG_SERIAL_SAMSUNG is not set +# CONFIG_SERIAL_SAMSUNG_CONSOLE is not set +# CONFIG_SERIAL_TEGRA is not set +# CONFIG_SERIAL_TEGRA_TCU is not set +# CONFIG_SERIAL_SH_SCI is not set +# CONFIG_SERIAL_MSM is not set +# CONFIG_SERIAL_MSM_CONSOLE is not set +# CONFIG_SERIAL_QCOM_GENI is not set +# CONFIG_SERIAL_QCOM_GENI_CONSOLE is not set +# CONFIG_SERIAL_MVEBU_UART is not set +# CONFIG_SERIAL_OWL is not set +# CONFIG_I2C_MUX is not set +# CONFIG_I2C_BCM2835 is not set +# CONFIG_I2C_MESON is not set +# CONFIG_I2C_MT65XX is not set +# CONFIG_I2C_MV64XXX is not set +# CONFIG_I2C_OMAP is not set +# CONFIG_I2C_OWL is not set +# CONFIG_I2C_PXA is not set +# CONFIG_I2C_QCOM_CCI is not set +# CONFIG_I2C_QCOM_GENI is not set +# CONFIG_I2C_QUP is not set +# CONFIG_I2C_RIIC is not set +# CONFIG_I2C_S3C2410 is not set +# CONFIG_I2C_SH_MOBILE is not set +# CONFIG_I2C_TEGRA is not set +# CONFIG_I2C_UNIPHIER_F is not set +# CONFIG_I2C_RCAR is not set +# CONFIG_SPI_ARMADA_3700 is not set +# CONFIG_SPI_BCM2835 is not set +# CONFIG_SPI_BCM2835AUX is not set +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_DW_DMA is not set +# CONFIG_SPI_DW_MMIO is not set +CONFIG_SPI_IMX=y +# CONFIG_SPI_FSL_DSPI is not set +# CONFIG_SPI_MESON_SPICC is not set +# CONFIG_SPI_MESON_SPIFC is not set +# CONFIG_SPI_ORION is not set +CONFIG_SPI_SPIDEV=y +CONFIG_SPI_SLAVE=y +CONFIG_SPI_SLAVE_TIME=y +CONFIG_SPI_SLAVE_SYSTEM_CONTROL=y +CONFIG_PINCTRL=y +# CONFIG_SPI_RPCIF is not set +# CONFIG_SPI_RSPI is not set +# CONFIG_SPI_QCOM_QSPI is not set +# CONFIG_SPI_QUP is not set +# CONFIG_SPI_QCOM_GENI is not set +# CONFIG_SPI_S3C64XX is not set +# CONFIG_SPI_SH_MSIOF is not set +# CONFIG_SPI_SUN6I is not set +# CONFIG_SPMI is not set +# CONFIG_PINCTRL_OWL is not set +# CONFIG_PINCTRL_S700 is not set +# CONFIG_PINCTRL_S900 is not set +CONFIG_GPIOLIB=y +# CONFIG_PINCTRL_MSM is not set +# CONFIG_PINCTRL_IPQ8074 is not set +# CONFIG_PINCTRL_IPQ6018 is not set +# CONFIG_PINCTRL_MSM8916 is not set +# CONFIG_PINCTRL_MSM8994 is not set +# CONFIG_PINCTRL_MSM8996 is not set +# CONFIG_PINCTRL_MSM8998 is not set +# CONFIG_PINCTRL_QCS404 is not set +# CONFIG_PINCTRL_QDF2XXX is not set +# CONFIG_PINCTRL_QCOM_SPMI_PMIC is not set +# CONFIG_PINCTRL_SC7180 is not set +# CONFIG_PINCTRL_SC7280 is not set +# CONFIG_PINCTRL_SDM845 is not set +# CONFIG_PINCTRL_SM8150 is not set +# CONFIG_PINCTRL_SM8250 is not set +# CONFIG_PINCTRL_SM8350 is not set +# CONFIG_PINCTRL_SM8450 is not set +# CONFIG_PINCTRL_LPASS_LPI is not set +# CONFIG_GPIO_DAVINCI is not set +# CONFIG_GPIO_MPC8XXX is not set +# CONFIG_GPIO_RCAR is not set +# CONFIG_GPIO_UNIPHIER is not set +# CONFIG_GPIO_VISCONTI is not set +# CONFIG_GPIO_XGENE_SB is not set +CONFIG_POWER_RESET_BRCMSTB=y +# CONFIG_GPIO_MAX77620 is not set +# CONFIG_GPIO_SL28CPLD is not set +# CONFIG_POWER_RESET_MSM is not set +# CONFIG_POWER_RESET_QCOM_PON is not set +# CONFIG_BATTERY_MAX17042 is not set +# CONFIG_CHARGER_BQ25890 is not set +# CONFIG_CHARGER_BQ25980 is not set +# CONFIG_SENSORS_JC42 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_RASPBERRYPI_HWMON is not set +# CONFIG_SENSORS_SL28CPLD is not set +CONFIG_THERMAL_WRITABLE_TRIPS=y +CONFIG_IMX_SC_THERMAL=y +CONFIG_IMX8MM_THERMAL=y +CONFIG_QORIQ_THERMAL=y +# CONFIG_SUN8I_THERMAL is not set +# CONFIG_ROCKCHIP_THERMAL is not set +# CONFIG_RCAR_THERMAL is not set +# CONFIG_RCAR_GEN3_THERMAL is not set +# CONFIG_RZG2L_THERMAL is not set +# CONFIG_ARMADA_THERMAL is not set +# CONFIG_BCM2711_THERMAL is not set +# CONFIG_BCM2835_THERMAL is not set +# CONFIG_BRCMSTB_THERMAL is not set +# CONFIG_EXYNOS_THERMAL is not set +# CONFIG_TEGRA_SOCTHERM is not set +# CONFIG_TEGRA_BPMP_THERMAL is not set +# CONFIG_QCOM_TSENS is not set +# CONFIG_QCOM_SPMI_TEMP_ALARM is not set +# CONFIG_QCOM_LMH is not set +# CONFIG_UNIPHIER_THERMAL is not set +# CONFIG_SL28CPLD_WATCHDOG is not set +# CONFIG_S3C2410_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_SUNXI_WATCHDOG is not set +CONFIG_IMX_SC_WDT=y +CONFIG_IMX7ULP_WDT=y +# CONFIG_QCOM_WDT is not set +# CONFIG_MESON_GXBB_WATCHDOG is not set +# CONFIG_MESON_WATCHDOG is not set +# CONFIG_RENESAS_WDT is not set +# CONFIG_RENESAS_RZG2LWDT is not set +# CONFIG_UNIPHIER_WATCHDOG is not set +# CONFIG_BCM2835_WDT is not set +# CONFIG_MFD_ALTERA_SYSMGR is not set +# CONFIG_MFD_AXP20X_RSB is not set +# CONFIG_MFD_EXYNOS_LPASS is not set +# CONFIG_MFD_HI655X_PMIC is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_SPMI_PMIC is not set +# CONFIG_MFD_SL28CPLD is not set +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_HI655X is not set +# CONFIG_REGULATOR_MP8859 is not set +# CONFIG_REGULATOR_MT6358 is not set +# CONFIG_REGULATOR_MT6397 is not set +# CONFIG_REGULATOR_PF8X00 is not set +# CONFIG_REGULATOR_QCOM_RPMH is not set +# CONFIG_REGULATOR_QCOM_SMD_RPM is not set +# CONFIG_REGULATOR_QCOM_SPMI is not set +# CONFIG_REGULATOR_TPS65132 is not set +CONFIG_MEDIA_SUPPORT=y +# CONFIG_RC_CORE is not set +# CONFIG_RC_DECODERS is not set +# CONFIG_RC_DEVICES is not set +# CONFIG_IR_MESON is not set +# CONFIG_IR_SUNXI is not set +CONFIG_SDR_PLATFORM_DRIVERS=y +# CONFIG_VIDEO_QCOM_CAMSS is not set +# CONFIG_VIDEO_RCAR_CSI2 is not set +# CONFIG_VIDEO_RCAR_VIN is not set +# CONFIG_VIDEO_SUN6I_CSI is not set +# CONFIG_VIDEO_RCAR_ISP is not set +# CONFIG_VIDEO_SAMSUNG_S5P_JPEG is not set +# CONFIG_VIDEO_SAMSUNG_S5P_MFC is not set +# CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC is not set +# CONFIG_VIDEO_RENESAS_FDP1 is not set +# CONFIG_VIDEO_RENESAS_FCP is not set +# CONFIG_VIDEO_RENESAS_VSP1 is not set +# CONFIG_VIDEO_QCOM_VENUS is not set +# CONFIG_VIDEO_RCAR_DRIF is not set +CONFIG_VIDEO_OV5640=y +CONFIG_DRM=y +CONFIG_DRM_I2C_CH7006=m +CONFIG_DRM_I2C_SIL164=m +# CONFIG_DRM_NOUVEAU is not set +# CONFIG_DRM_EXYNOS is not set +# CONFIG_DRM_EXYNOS5433_DECON is not set +# CONFIG_DRM_EXYNOS7_DECON is not set +# CONFIG_DRM_EXYNOS_DSI is not set +# CONFIG_DRM_EXYNOS_DP is not set +# CONFIG_DRM_EXYNOS_HDMI is not set +# CONFIG_DRM_EXYNOS_MIC is not set +# CONFIG_DRM_ROCKCHIP is not set +# CONFIG_ROCKCHIP_ANALOGIX_DP is not set +# CONFIG_ROCKCHIP_CDN_DP is not set +# CONFIG_ROCKCHIP_DW_HDMI is not set +# CONFIG_ROCKCHIP_DW_MIPI_DSI is not set +# CONFIG_ROCKCHIP_INNO_HDMI is not set +# CONFIG_ROCKCHIP_LVDS is not set +# CONFIG_DRM_RCAR_DU is not set +# CONFIG_DRM_RCAR_MIPI_DSI is not set +# CONFIG_DRM_SUN4I is not set +# CONFIG_DRM_SUN6I_DSI is not set +# CONFIG_DRM_SUN8I_DW_HDMI is not set +# CONFIG_DRM_SUN8I_MIXER is not set +# CONFIG_DRM_MSM is not set +# CONFIG_DRM_TEGRA is not set +# CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set +# CONFIG_DRM_PANEL_LVDS is not set +# CONFIG_DRM_PANEL_SIMPLE is not set +# CONFIG_DRM_PANEL_EDP is not set +# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set +CONFIG_DRM_DISPLAY_CONNECTOR=m +# CONFIG_DRM_LONTIUM_LT8912B is not set +CONFIG_DRM_NWL_MIPI_DSI=y +# CONFIG_DRM_LONTIUM_LT9611UXC is not set +# CONFIG_DRM_PARADE_PS8640 is not set +CONFIG_DRM_I2C_ADV7511=y +CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +CONFIG_DRM_IMX_DCSS=y +# CONFIG_DRM_VC4 is not set +# CONFIG_DRM_HISI_HIBMC is not set +CONFIG_DRM_MXSFB=y +# CONFIG_DRM_MEDIATEK is not set +# CONFIG_DRM_MEDIATEK_HDMI is not set +# CONFIG_DRM_MESON is not set +CONFIG_DRM_LEGACY=y +# CONFIG_FB is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_EFI is not set +# CONFIG_BACKLIGHT_PWM is not set +# CONFIG_BACKLIGHT_LP855X is not set +# CONFIG_LOGO is not set +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_ALOOP=m +# CONFIG_SND_SPI is not set +# CONFIG_SND_USB is not set +# CONFIG_SND_HDA_TEGRA is not set +# CONFIG_SND_HDA_CODEC_HDMI is not set +CONFIG_SND_SOC_FSL_ASRC=y +CONFIG_SND_SOC_FSL_EASRC=y +CONFIG_SND_IMX_SOC=y +CONFIG_SND_SOC_FSL_ASOC_CARD=y +CONFIG_SND_SOC_SOF_TOPLEVEL=y +CONFIG_SND_SOC_SOF_OF=m +CONFIG_SND_SOC_SOF_IMX_TOPLEVEL=y +CONFIG_SND_SOC_AK4458=y +CONFIG_SND_SOC_AK5558=y +CONFIG_SND_SOC_PCM512x_I2C=y +CONFIG_SND_SIMPLE_CARD=y +CONFIG_SND_AUDIO_GRAPH_CARD=y +CONFIG_USB_CONN_GPIO=y +# CONFIG_SND_BCM2835_SOC_I2S is not set +# CONFIG_SND_SOC_FSL_MICFIL is not set +# CONFIG_SND_SOC_IMX_SGTL5000 is not set +# CONFIG_SND_SOC_IMX_SPDIF is not set +# CONFIG_SND_SOC_IMX_AUDMIX is not set +# CONFIG_SND_MESON_AXG_SOUND_CARD is not set +# CONFIG_SND_MESON_GX_SOUND_CARD is not set +# CONFIG_SND_SOC_QCOM is not set +# CONFIG_SND_SOC_APQ8016_SBC is not set +# CONFIG_SND_SOC_MSM8996 is not set +# CONFIG_SND_SOC_SDM845 is not set +# CONFIG_SND_SOC_SM8250 is not set +# CONFIG_SND_SOC_ROCKCHIP is not set +# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set +# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set +# CONFIG_SND_SOC_RK3399_GRU_SOUND is not set +# CONFIG_SND_SOC_SAMSUNG is not set +# CONFIG_SND_SOC_RCAR is not set +# CONFIG_SND_SOC_RZ is not set +# CONFIG_SND_SUN4I_I2S is not set +# CONFIG_SND_SUN4I_SPDIF is not set +# CONFIG_SND_SOC_TEGRA is not set +# CONFIG_SND_SOC_TEGRA210_AHUB is not set +# CONFIG_SND_SOC_TEGRA210_DMIC is not set +# CONFIG_SND_SOC_TEGRA210_I2S is not set +# CONFIG_SND_SOC_TEGRA186_DSPK is not set +# CONFIG_SND_SOC_TEGRA210_ADMAIF is not set +# CONFIG_SND_SOC_TEGRA210_MVC is not set +# CONFIG_SND_SOC_TEGRA210_SFC is not set +# CONFIG_SND_SOC_TEGRA210_AMX is not set +# CONFIG_SND_SOC_TEGRA210_ADX is not set +# CONFIG_SND_SOC_TEGRA210_MIXER is not set +# CONFIG_SND_SOC_TEGRA_AUDIO_GRAPH_CARD is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_ES7134 is not set +# CONFIG_SND_SOC_ES7241 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set +# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set +# CONFIG_SND_SOC_PCM3168A_I2C is not set +# CONFIG_SND_SOC_RT5659 is not set +# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set +# CONFIG_SND_SOC_SIMPLE_MUX is not set +# CONFIG_SND_SOC_TAS571X is not set +# CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set +# CONFIG_SND_SOC_WCD934X is not set +# CONFIG_SND_SOC_WM8904 is not set +# CONFIG_SND_SOC_WM8960 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_WSA881X is not set +# CONFIG_SND_SOC_NAU8822 is not set +# CONFIG_SND_SOC_LPASS_WSA_MACRO is not set +# CONFIG_SND_SOC_LPASS_VA_MACRO is not set +# CONFIG_SND_AUDIO_GRAPH_CARD2 is not set +# CONFIG_HID_MULTITOUCH is not set +# CONFIG_I2C_HID_ACPI is not set +# CONFIG_I2C_HID_OF is not set +# CONFIG_USB_XHCI_PCI_RENESAS is not set +# CONFIG_USB_XHCI_TEGRA is not set +# CONFIG_USB_EHCI_EXYNOS is not set +# CONFIG_USB_OHCI_EXYNOS is not set +CONFIG_USB_HCD_TEST_MODE=y +# CONFIG_USB_RENESAS_USBHS_HCD is not set +# CONFIG_USB_RENESAS_USBHS is not set +CONFIG_USB_UAS=y +# CONFIG_USB_CDNS_SUPPORT is not set +# CONFIG_USB_CDNS3 is not set +# CONFIG_USB_CDNS3_GADGET is not set +# CONFIG_USB_CDNS3_HOST is not set +# CONFIG_USB_MTU3 is not set +# CONFIG_USB_MUSB_SUNXI is not set +CONFIG_USB_SERIAL=y +CONFIG_USB_SERIAL_CONSOLE=y +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_SIMPLE=y +CONFIG_USB_SERIAL_FTDI_SIO=y +CONFIG_USB_TEST=m +CONFIG_USB_EHSET_TEST_FIXTURE=y +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_OPTION is not set +CONFIG_USB_MXS_PHY=y +CONFIG_USB_ULPI=y +CONFIG_USB_SNP_UDC_PLAT=y +CONFIG_USB_BDC_UDC=y +CONFIG_USB_CONFIGFS=y +# CONFIG_USB_RENESAS_USBHS_UDC is not set +# CONFIG_USB_RENESAS_USB3 is not set +# CONFIG_USB_TEGRA_XUDC is not set +CONFIG_USB_CONFIGFS_F_LB_SS=y +CONFIG_USB_CONFIGFS_F_UAC1=y +CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y +CONFIG_USB_CONFIGFS_F_UAC2=y +CONFIG_USB_CONFIGFS_F_MIDI=y +CONFIG_USB_CONFIGFS_F_HID=y +CONFIG_USB_CONFIGFS_F_UVC=y +CONFIG_USB_ZERO=m +CONFIG_USB_AUDIO=m +CONFIG_USB_ETH=m +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_G_SERIAL=m +CONFIG_TYPEC=y +CONFIG_TYPEC_TCPM=y +CONFIG_TYPEC_TCPCI=y +# CONFIG_TYPEC_TPS6598X is not set +# CONFIG_MMC_SDHCI_ACPI is not set +# CONFIG_MMC_SDHCI_TEGRA is not set +# CONFIG_MMC_MESON_GX is not set +# CONFIG_MMC_SDHCI_MSM is not set +# CONFIG_MMC_SDHI is not set +# CONFIG_MMC_UNIPHIER is not set +# CONFIG_MMC_DW_ROCKCHIP is not set +# CONFIG_MMC_SUNXI is not set +# CONFIG_MMC_BCM2835 is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MMC_OWL is not set +# CONFIG_LEDS_LM3692X is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_EDAC_LAYERSCAPE is not set +# CONFIG_RTC_DRV_HYM8563 is not set +# CONFIG_RTC_DRV_PCF85063 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_RV3028 is not set +# CONFIG_RTC_DRV_FSL_FTM_ALARM is not set +# CONFIG_RTC_DRV_S3C is not set +CONFIG_RTC_DRV_SNVS=y +CONFIG_RTC_DRV_IMX_SC=y +# CONFIG_RTC_DRV_SUN6I is not set +# CONFIG_RTC_DRV_ARMADA38X is not set +# CONFIG_RTC_DRV_PM8XXX is not set +# CONFIG_RTC_DRV_TEGRA is not set +# CONFIG_RTC_DRV_XGENE is not set +# CONFIG_RTC_DRV_MT6397 is not set +CONFIG_BCM_SBA_RAID=m +# CONFIG_DMA_BCM2835 is not set +# CONFIG_DMA_SUN6I is not set +CONFIG_FSL_QDMA=m +CONFIG_IMX_SDMA=y +# CONFIG_K3_DMA is not set +# CONFIG_MV_XOR is not set +CONFIG_MXS_DMA=y +# CONFIG_OWL_DMA is not set +# CONFIG_TEGRA186_GPC_DMA is not set +# CONFIG_TEGRA20_APB_DMA is not set +# CONFIG_TEGRA210_ADMA is not set +# CONFIG_QCOM_BAM_DMA is not set +CONFIG_DMATEST=y +CONFIG_DMABUF_HEAPS=y +CONFIG_DMABUF_HEAPS_SYSTEM=y +CONFIG_DMABUF_HEAPS_CMA=y +# CONFIG_RCAR_DMAC is not set +# CONFIG_RENESAS_USB_DMAC is not set +# CONFIG_RZ_DMAC is not set +# CONFIG_TI_K3_UDMA is not set +# CONFIG_TI_K3_UDMA_GLUE_LAYER is not set +# CONFIG_VFIO_PCI is not set +# CONFIG_VIRTIO_PCI is not set +# CONFIG_XEN_GNTDEV is not set +# CONFIG_XEN_GRANT_DEV_ALLOC is not set +# CONFIG_VIDEO_HANTRO is not set +# CONFIG_VIDEO_IMX_MEDIA is not set +# CONFIG_COMMON_CLK_SCMI is not set +# CONFIG_COMMON_CLK_FSL_SAI is not set +CONFIG_COMMON_CLK_XGENE=y +# CONFIG_COMMON_CLK_BD718XX is not set +# CONFIG_CLK_RASPBERRYPI is not set +# CONFIG_CLK_IMX8MM is not set +# CONFIG_CLK_IMX8MP is not set +# CONFIG_CLK_IMX8MQ is not set +# CONFIG_CLK_IMX8QXP is not set +# CONFIG_CLK_IMX8ULP is not set +# CONFIG_TI_SCI_CLK is not set +# CONFIG_COMMON_CLK_QCOM is not set +# CONFIG_QCOM_A53PLL is not set +# CONFIG_QCOM_CLK_APCS_MSM8916 is not set +# CONFIG_QCOM_CLK_APCC_MSM8996 is not set +# CONFIG_QCOM_CLK_SMD_RPM is not set +# CONFIG_QCOM_CLK_RPMH is not set +# CONFIG_IPQ_GCC_6018 is not set +# CONFIG_IPQ_GCC_8074 is not set +# CONFIG_MSM_GCC_8916 is not set +# CONFIG_MSM_GCC_8994 is not set +# CONFIG_MSM_MMCC_8996 is not set +# CONFIG_MSM_GCC_8998 is not set +# CONFIG_QCS_GCC_404 is not set +# CONFIG_SC_GCC_7180 is not set +# CONFIG_SC_GCC_7280 is not set +# CONFIG_SDM_CAMCC_845 is not set +# CONFIG_SDM_GPUCC_845 is not set +# CONFIG_SDM_VIDEOCC_845 is not set +# CONFIG_SDM_DISPCC_845 is not set +# CONFIG_SM_GCC_8350 is not set +# CONFIG_SM_GCC_8450 is not set +# CONFIG_SM_GPUCC_8150 is not set +# CONFIG_SM_GPUCC_8250 is not set +# CONFIG_QCOM_HFPLL is not set +# CONFIG_CLK_GFM_LPASS_SM8250 is not set +# CONFIG_CLK_RCAR_USB2_CLOCK_SEL is not set +# CONFIG_HWSPINLOCK_QCOM is not set +# CONFIG_RENESAS_OSTM is not set +# CONFIG_BCM2835_MBOX is not set +# CONFIG_QCOM_APCS_IPC is not set +# CONFIG_QCOM_IPCC is not set +# CONFIG_ROCKCHIP_IOMMU is not set +# CONFIG_TEGRA_IOMMU_SMMU is not set +# CONFIG_MTK_IOMMU is not set +# CONFIG_QCOM_IOMMU is not set +CONFIG_IMX_REMOTEPROC=y +CONFIG_IMX_DSP_REMOTEPROC=y +CONFIG_RPMSG_CHAR=y +# CONFIG_QCOM_Q6V5_MSS is not set +# CONFIG_QCOM_Q6V5_PAS is not set +# CONFIG_QCOM_SYSMON is not set +# CONFIG_QCOM_WCNSS_PIL is not set +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set +# CONFIG_RPMSG_QCOM_SMD is not set +CONFIG_SOC_BRCMSTB=y +# CONFIG_OWL_PM_DOMAINS is not set +# CONFIG_RASPBERRYPI_POWER is not set +# CONFIG_FSL_DPAA is not set +# CONFIG_FSL_MC_DPIO is not set +CONFIG_SOC_TI=y +# CONFIG_MTK_DEVAPC is not set +# CONFIG_MTK_PMIC_WRAP is not set +# CONFIG_QCOM_AOSS_QMP is not set +# CONFIG_QCOM_COMMAND_DB is not set +# CONFIG_QCOM_CPR is not set +# CONFIG_QCOM_GENI_SE is not set +# CONFIG_QCOM_RMTFS_MEM is not set +# CONFIG_QCOM_RPMH is not set +# CONFIG_QCOM_RPMHPD is not set +# CONFIG_QCOM_RPMPD is not set +# CONFIG_QCOM_SMEM is not set +# CONFIG_QCOM_SMD_RPM is not set +# CONFIG_QCOM_SMP2P is not set +# CONFIG_QCOM_SMSM is not set +# CONFIG_QCOM_SOCINFO is not set +# CONFIG_QCOM_STATS is not set +# CONFIG_QCOM_WCNSS_CTRL is not set +# CONFIG_QCOM_APR is not set +# CONFIG_ARCH_R8A77995 is not set +# CONFIG_ARCH_R8A77990 is not set +# CONFIG_ARCH_R8A77950 is not set +# CONFIG_ARCH_R8A77951 is not set +# CONFIG_ARCH_R8A77965 is not set +# CONFIG_ARCH_R8A77960 is not set +# CONFIG_ARCH_R8A77961 is not set +# CONFIG_ARCH_R8A779F0 is not set +# CONFIG_ARCH_R8A77980 is not set +# CONFIG_ARCH_R8A77970 is not set +# CONFIG_ARCH_R8A779A0 is not set +# CONFIG_ARCH_R8A774C0 is not set +# CONFIG_ARCH_R8A774E1 is not set +# CONFIG_ARCH_R8A774A1 is not set +# CONFIG_ARCH_R8A774B1 is not set +# CONFIG_ARCH_R9A07G044 is not set +# CONFIG_ROCKCHIP_IODOMAIN is not set +# CONFIG_ROCKCHIP_PM_DOMAINS is not set +# CONFIG_ARCH_TEGRA_132_SOC is not set +# CONFIG_ARCH_TEGRA_210_SOC is not set +# CONFIG_ARCH_TEGRA_186_SOC is not set +# CONFIG_ARCH_TEGRA_194_SOC is not set +# CONFIG_ARCH_TEGRA_234_SOC is not set +# CONFIG_TI_SCI_PM_DOMAINS is not set +# CONFIG_ARM_IMX_BUS_DEVFREQ is not set +# CONFIG_ARM_IMX8M_DDRC_DEVFREQ is not set +CONFIG_MEMORY=y +# CONFIG_RENESAS_RPCIF is not set +CONFIG_IMX8QXP_ADC=y +# CONFIG_EXYNOS_ADC is not set +# CONFIG_QCOM_SPMI_VADC is not set +# CONFIG_QCOM_SPMI_ADC5 is not set +# CONFIG_ROCKCHIP_SARADC is not set +# CONFIG_RZG2L_ADC is not set +# CONFIG_TI_ADS1015 is not set +CONFIG_IIO_ST_LSM6DSX=y +# CONFIG_SENSORS_ISL29018 is not set +# CONFIG_VCNL4000 is not set +# CONFIG_IIO_ST_MAGN_3AXIS is not set +# CONFIG_MPL3115 is not set +# CONFIG_PWM_BCM2835 is not set +# CONFIG_PWM_BRCMSTB is not set +CONFIG_PWM_FSL_FTM=m +CONFIG_PWM_IMX27=y +# CONFIG_PWM_MESON is not set +# CONFIG_PWM_MTK_DISP is not set +# CONFIG_PWM_MEDIATEK is not set +# CONFIG_PWM_RCAR is not set +# CONFIG_PWM_RENESAS_TPU is not set +# CONFIG_PWM_ROCKCHIP is not set +# CONFIG_PWM_SAMSUNG is not set +# CONFIG_PWM_SL28CPLD is not set +# CONFIG_PWM_SUN4I is not set +# CONFIG_PWM_TEGRA is not set +# CONFIG_PWM_VISCONTI is not set +# CONFIG_SL28CPLD_INTC is not set +# CONFIG_QCOM_PDC is not set +# CONFIG_RESET_QCOM_AOSS is not set +# CONFIG_RESET_QCOM_PDC is not set +# CONFIG_RESET_RZG2L_USBPHY_CTRL is not set +# CONFIG_RESET_TI_SCI is not set +CONFIG_PHY_CADENCE_SALVO=y +CONFIG_PHY_MIXEL_MIPI_DPHY=y +# CONFIG_PHY_SUN4I_USB is not set +# CONFIG_PHY_CADENCE_SIERRA is not set +# CONFIG_PHY_FSL_IMX8M_PCIE is not set +# CONFIG_PHY_HI6220_USB is not set +# CONFIG_PHY_HISTB_COMBPHY is not set +# CONFIG_PHY_HISI_INNO_USB2 is not set +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set +# CONFIG_PHY_MTK_TPHY is not set +# CONFIG_PHY_QCOM_QMP is not set +# CONFIG_PHY_QCOM_QUSB2 is not set +CONFIG_PHY_SAMSUNG_USB2=y +# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set +# CONFIG_PHY_RCAR_GEN3_PCIE is not set +# CONFIG_PHY_RCAR_GEN3_USB2 is not set +# CONFIG_PHY_RCAR_GEN3_USB3 is not set +# CONFIG_PHY_ROCKCHIP_EMMC is not set +# CONFIG_PHY_ROCKCHIP_INNO_HDMI is not set +# CONFIG_PHY_ROCKCHIP_INNO_USB2 is not set +# CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY is not set +# CONFIG_PHY_ROCKCHIP_PCIE is not set +# CONFIG_PHY_ROCKCHIP_TYPEC is not set +# CONFIG_PHY_SAMSUNG_UFS is not set +# CONFIG_PHY_UNIPHIER_USB2 is not set +# CONFIG_PHY_UNIPHIER_USB3 is not set +# CONFIG_PHY_TEGRA_XUSB is not set +# CONFIG_PHY_AM654_SERDES is not set +# CONFIG_PHY_J721E_WIZ is not set +CONFIG_FSL_IMX8_DDR_PMU=y +# CONFIG_QCOM_L2_PMU is not set +# CONFIG_QCOM_L3_PMU is not set +# CONFIG_MTK_EFUSE is not set +# CONFIG_QCOM_QFPROM is not set +# CONFIG_ROCKCHIP_EFUSE is not set +# CONFIG_NVMEM_SUNXI_SID is not set +# CONFIG_UNIPHIER_EFUSE is not set +# CONFIG_MESON_EFUSE is not set +# CONFIG_NVMEM_RMEM is not set +# CONFIG_NVMEM_LAYERSCAPE_SFP is not set +# CONFIG_FPGA_MGR_ALTERA_CVP is not set +# CONFIG_FPGA_MGR_STRATIX10_SOC is not set +# CONFIG_SLIMBUS is not set +# CONFIG_SLIM_QCOM_NGD_CTRL is not set +# CONFIG_INTERCONNECT_IMX is not set +# CONFIG_INTERCONNECT_IMX8MM is not set +# CONFIG_INTERCONNECT_IMX8MN is not set +# CONFIG_INTERCONNECT_IMX8MQ is not set +# CONFIG_INTERCONNECT_QCOM is not set +# CONFIG_INTERCONNECT_QCOM_MSM8916 is not set +# CONFIG_INTERCONNECT_QCOM_OSM_L3 is not set +# CONFIG_INTERCONNECT_QCOM_SC7280 is not set +# CONFIG_INTERCONNECT_QCOM_SDM845 is not set +# CONFIG_INTERCONNECT_QCOM_SM8150 is not set +# CONFIG_INTERCONNECT_QCOM_SM8250 is not set +# CONFIG_INTERCONNECT_QCOM_SM8350 is not set +# CONFIG_INTERCONNECT_QCOM_SM8450 is not set +# CONFIG_TMPFS_POSIX_ACL is not set +# CONFIG_CONFIGFS_FS is not set +CONFIG_JFFS2_FS=y +CONFIG_UBIFS_FS=y +CONFIG_SQUASHFS_XZ=y +CONFIG_CRYPTO_USER=y +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_CHACHA20POLY1305=m +CONFIG_CRYPTO_CFB=m +CONFIG_CRYPTO_CTS=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_OFB=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_VMAC=m +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_STREEBOG=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_SEED=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_SKCIPHER=m +CONFIG_CRYPTO_USER_API_AEAD=m +# CONFIG_CRYPTO_DEV_SUN8I_CE is not set +# CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM is not set +# CONFIG_CRYPTO_DEV_QCOM_RNG is not set +CONFIG_CRYPTO_DEV_AMLOGIC_GXL=m +CONFIG_INDIRECT_PIO=y +CONFIG_CRC_CCITT=m +# CONFIG_CRYPTO_DEV_HISI_SEC2 is not set +# CONFIG_CRYPTO_DEV_HISI_ZIP is not set +# CONFIG_CRYPTO_DEV_HISI_HPRE is not set +# CONFIG_CRYPTO_DEV_HISI_TRNG is not set +CONFIG_IRQ_POLL=y +# CONFIG_DEBUG_INFO is not set +# CONFIG_DEBUG_INFO_REDUCED is not set +CONFIG_CORESIGHT=y +CONFIG_CORESIGHT_LINK_AND_SINK_TMC=y +CONFIG_CORESIGHT_SOURCE_ETM4X=y diff --git a/board/bsh/common/imx8mn-bsh-smm-s2/patches/arm-trusted-firmware/0001-fix-imx8m-drop-UARTs-domain-permissions-setting.patch b/board/bsh/common/imx8mn-bsh-smm-s2/patches/arm-trusted-firmware/0001-fix-imx8m-drop-UARTs-domain-permissions-setting.patch new file mode 100644 index 00000000000..74b12df38dc --- /dev/null +++ b/board/bsh/common/imx8mn-bsh-smm-s2/patches/arm-trusted-firmware/0001-fix-imx8m-drop-UARTs-domain-permissions-setting.patch @@ -0,0 +1,65 @@ +From 0d12fc41d6c68b257de1610a1511144d731f9af4 Mon Sep 17 00:00:00 2001 +From: Dario Binacchi +Date: Wed, 24 Jul 2024 10:46:49 +0200 +Subject: [PATCH] fix(imx8m): drop UARTs domain permissions setting + +The commit d76f012ea8fc0 ("refactor(imx8m): replace magic number with +enum type") also hardcodes the domain permissions configuration for the +UARTs, causing a regression for any board using a boot console different +from UART2. Indeed, previously, the RDC_PDAP_UARTn registers were set to +the reset value (0xff), meaning all domains were enabled for read and +write access. + +This patch partially reverts that commit to fix the regression. + +Fixes: d76f012ea8fc0 ("refactor(imx8m): replace magic number with enum type") +Change-Id: I2670bf485372f32ef45cebb72a7694a9a800f417 +Signed-off-by: Dario Binacchi +Upstream: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/30131 +--- + plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c | 2 -- + plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c | 2 -- + plat/imx/imx8m/imx8mp/imx8mp_bl31_setup.c | 1 - + 3 files changed, 5 deletions(-) + +diff --git a/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c b/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c +index f6e46eb67bc9..539df931a6a4 100644 +--- a/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c ++++ b/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c +@@ -67,8 +67,6 @@ static const struct imx_rdc_cfg rdc[] = { + RDC_MDAn(RDC_MDA_M4, DID1), + + /* peripherals domain permission */ +- RDC_PDAPn(RDC_PDAP_UART4, D1R | D1W), +- RDC_PDAPn(RDC_PDAP_UART2, D0R | D0W), + + /* memory region */ + +diff --git a/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c b/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c +index befa7698f912..604ef3cae6dc 100644 +--- a/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c ++++ b/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c +@@ -53,8 +53,6 @@ static const struct imx_rdc_cfg rdc[] = { + RDC_MDAn(RDC_MDA_M7, DID1), + + /* peripherals domain permission */ +- RDC_PDAPn(RDC_PDAP_UART4, D1R | D1W), +- RDC_PDAPn(RDC_PDAP_UART2, D0R | D0W), + + /* memory region */ + RDC_MEM_REGIONn(16, 0x0, 0x0, 0xff), +diff --git a/plat/imx/imx8m/imx8mp/imx8mp_bl31_setup.c b/plat/imx/imx8m/imx8mp/imx8mp_bl31_setup.c +index ffad3d159e59..5251c28e6ba8 100644 +--- a/plat/imx/imx8m/imx8mp/imx8mp_bl31_setup.c ++++ b/plat/imx/imx8m/imx8mp/imx8mp_bl31_setup.c +@@ -54,7 +54,6 @@ static const struct imx_rdc_cfg rdc[] = { + RDC_MDAn(RDC_MDA_M7, DID1), + + /* peripherals domain permission */ +- RDC_PDAPn(RDC_PDAP_UART2, D0R | D0W), + + /* memory region */ + +-- +2.43.0 + diff --git a/board/bsh/common/imx8mn-bsh-smm-s2/patches/linux-headers/linux-headers.hash b/board/bsh/common/imx8mn-bsh-smm-s2/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/bsh/common/imx8mn-bsh-smm-s2/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/bsh/common/imx8mn-bsh-smm-s2/patches/linux/linux.hash b/board/bsh/common/imx8mn-bsh-smm-s2/patches/linux/linux.hash new file mode 100644 index 00000000000..f26f856a1a4 --- /dev/null +++ b/board/bsh/common/imx8mn-bsh-smm-s2/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://cdn.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 c92591d896e79ecddbc3319136f0c2f855e832b397de7593f013ad7590a43e53 linux-6.12.80.tar.xz diff --git a/board/bsh/common/imx8mn-bsh-smm-s2/patches/uboot/uboot.hash b/board/bsh/common/imx8mn-bsh-smm-s2/patches/uboot/uboot.hash new file mode 100644 index 00000000000..36322a6a904 --- /dev/null +++ b/board/bsh/common/imx8mn-bsh-smm-s2/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 ac7c04b8b7004923b00a4e5d6699c5df4d21233bac9fda690d8cfbc209fff2fd u-boot-2026.04.tar.bz2 diff --git a/board/bsh/imx6ulz-bsh-smm-m2/flash.sh b/board/bsh/imx6ulz-bsh-smm-m2/flash.sh new file mode 100755 index 00000000000..b2a610644e9 --- /dev/null +++ b/board/bsh/imx6ulz-bsh-smm-m2/flash.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +if [ $# -eq 0 ]; then + OUTPUT_DIR=output +else + OUTPUT_DIR=$1 +fi + +if ! test -d "${OUTPUT_DIR}" ; then + echo "ERROR: no output directory specified." + echo "Usage: $0 OUTPUT_DIR" + echo "" + echo "Arguments:" + echo " OUTPUT_DIR The Buildroot output directory." + exit 1 +fi + +IMAGES_DIR="${OUTPUT_DIR}/images" + +"${OUTPUT_DIR}"/host/bin/uuu -v -b "${IMAGES_DIR}/nand-full.lst" \ + "${IMAGES_DIR}/u-boot-with-spl.imx" \ + "${IMAGES_DIR}/u-boot-with-spl.imx" \ + "${IMAGES_DIR}/rootfs.ubifs" \ + "${IMAGES_DIR}/zImage" \ + "${IMAGES_DIR}/imx6ulz-bsh-smm-m2.dtb" diff --git a/board/bsh/imx6ulz-bsh-smm-m2/linux.config b/board/bsh/imx6ulz-bsh-smm-m2/linux.config new file mode 100644 index 00000000000..7da8d4abe91 --- /dev/null +++ b/board/bsh/imx6ulz-bsh-smm-m2/linux.config @@ -0,0 +1,303 @@ +CONFIG_SYSVIPC=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=18 +CONFIG_CGROUPS=y +CONFIG_CGROUP_FREEZER=y +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_EXPERT=y +CONFIG_ARCH_MULTI_V6=y +CONFIG_ARCH_MXC=y +CONFIG_SOC_IMX6Q=y +CONFIG_SOC_IMX6SL=y +CONFIG_SOC_IMX6SLL=y +CONFIG_SOC_IMX6SX=y +CONFIG_SOC_IMX6UL=y +CONFIG_SMP=y +CONFIG_HAVE_ARM_ARCH_TIMER=y +CONFIG_ARM_PSCI=y +CONFIG_HIGHMEM=y +CONFIG_ARCH_FORCE_MAX_ORDER=14 +CONFIG_CMDLINE="noinitrd console=ttymxc0,115200" +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y +CONFIG_CPUFREQ_DT=y +CONFIG_ARM_IMX6Q_CPUFREQ=y +CONFIG_ARM_IMX_CPUFREQ_DT=y +CONFIG_CPU_IDLE=y +CONFIG_ARM_CPUIDLE=y +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_VFP=y +CONFIG_NEON=y +CONFIG_PM_DEBUG=y +CONFIG_PM_TEST_SUSPEND=y +CONFIG_KPROBES=y +# CONFIG_GCC_PLUGINS is not set +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_BINFMT_MISC=m +# CONFIG_COMPAT_BRK is not set +CONFIG_CMA=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IPV6_SIT=m +CONFIG_NETFILTER=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_FILTER=y +CONFIG_VLAN_8021Q=y +CONFIG_LLC2=y +CONFIG_DNS_RESOLVER=y +CONFIG_NET_PKTGEN=m +CONFIG_BT=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_ATH3K=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIUART_3WIRE=y +CONFIG_BT_HCIUART_BCM=y +CONFIG_BT_HCIVHCI=y +CONFIG_CFG80211=y +CONFIG_NL80211_TESTMODE=y +CONFIG_MAC80211=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_STANDALONE is not set +CONFIG_FW_LOADER_USER_HELPER=y +CONFIG_BRCMSTB_GISB_ARB=y +CONFIG_IMX_WEIM=y +CONFIG_VEXPRESS_CONFIG=y +CONFIG_CONNECTOR=y +CONFIG_MTD=y +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CFI=y +CONFIG_MTD_JEDECPROBE=y +CONFIG_MTD_CFI_INTELEXT=y +CONFIG_MTD_CFI_AMDSTD=y +CONFIG_MTD_CFI_STAA=y +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_PHYSMAP_OF=y +CONFIG_MTD_DATAFLASH=y +CONFIG_MTD_SST25L=y +CONFIG_MTD_RAW_NAND=y +CONFIG_MTD_NAND_GPMI_NAND=y +CONFIG_MTD_NAND_MXC=y +CONFIG_MTD_SPI_NOR=y +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_FASTMAP=y +CONFIG_MTD_UBI_BLOCK=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_SIZE=65536 +CONFIG_EEPROM_AT25=y +CONFIG_NETDEVICES=y +# CONFIG_ETHERNET is not set +# CONFIG_USB_NET_DRIVERS is not set +CONFIG_BRCMFMAC=m +CONFIG_HOSTAP=y +CONFIG_INPUT_MISC=y +CONFIG_SERIO_SERPORT=m +CONFIG_VT_HW_CONSOLE_BINDING=y +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_IMX=y +CONFIG_SERIAL_IMX_CONSOLE=y +CONFIG_SERIAL_FSL_LPUART=y +CONFIG_SERIAL_FSL_LPUART_CONSOLE=y +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SPI=y +CONFIG_SPI_FSL_QUADSPI=y +CONFIG_SPI_GPIO=y +CONFIG_SPI_IMX=y +CONFIG_SPI_SPIDEV=y +CONFIG_PTP_1588_CLOCK=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_MXC=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_RESET_SYSCON_POWEROFF=y +CONFIG_SENSORS_GPIO_FAN=y +CONFIG_THERMAL=y +CONFIG_THERMAL_STATISTICS=y +CONFIG_THERMAL_WRITABLE_TRIPS=y +CONFIG_CPU_THERMAL=y +CONFIG_IMX_THERMAL=y +CONFIG_IMX8MM_THERMAL=y +CONFIG_WATCHDOG=y +CONFIG_IMX2_WDT=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_ANATOP=y +CONFIG_REGULATOR_GPIO=y +CONFIG_MEDIA_CEC_SUPPORT=y +CONFIG_IMX_IPUV3_CORE=y +CONFIG_USB=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_HCD_TEST_MODE=y +CONFIG_USB_ACM=m +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_EHSET_TEST_FIXTURE=y +CONFIG_NOP_USB_XCEIV=y +CONFIG_USB_MXS_PHY=y +CONFIG_USB_ULPI=y +CONFIG_USB_GADGET=y +CONFIG_USB_SNP_UDC_PLAT=y +CONFIG_USB_BDC_UDC=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONFIGFS_ACM=y +CONFIG_USB_CONFIGFS_OBEX=y +CONFIG_USB_CONFIGFS_NCM=y +CONFIG_USB_CONFIGFS_ECM=y +CONFIG_USB_CONFIGFS_ECM_SUBSET=y +CONFIG_USB_CONFIGFS_RNDIS=y +CONFIG_USB_CONFIGFS_EEM=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +CONFIG_USB_CONFIGFS_F_LB_SS=y +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_F_HID=y +CONFIG_USB_CONFIGFS_F_PRINTER=y +CONFIG_USB_ZERO=m +CONFIG_USB_ETH=m +CONFIG_USB_G_NCM=m +CONFIG_USB_GADGETFS=m +CONFIG_USB_FUNCTIONFS=m +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_G_SERIAL=m +CONFIG_TYPEC=y +CONFIG_TYPEC_TCPM=y +CONFIG_MMC=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_ESDHC_IMX=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_INTF_DEV_UIE_EMUL=y +CONFIG_RTC_DRV_MXC=y +CONFIG_RTC_DRV_MXC_V2=y +CONFIG_RTC_DRV_SNVS=y +CONFIG_DMADEVICES=y +CONFIG_FSL_EDMA=y +CONFIG_FSL_QDMA=m +CONFIG_IMX_SDMA=m +CONFIG_MXS_DMA=y +CONFIG_DMATEST=y +CONFIG_DMABUF_HEAPS=y +CONFIG_DMABUF_HEAPS_SYSTEM=y +CONFIG_DMABUF_HEAPS_CMA=y +# CONFIG_VIRTIO_MENU is not set +# CONFIG_VHOST_MENU is not set +CONFIG_COMMON_CLK_PWM=y +CONFIG_CLK_IMX8MN=y +CONFIG_SOC_BRCMSTB=y +CONFIG_IMX_GPCV2_PM_DOMAINS=y +CONFIG_SOC_IMX8M=y +CONFIG_SOC_TI=y +CONFIG_MEMORY=y +CONFIG_PWM=y +CONFIG_PWM_FSL_FTM=m +CONFIG_PWM_IMX27=y +CONFIG_PWM_IMX_TPM=y +CONFIG_PHY_CADENCE_SALVO=y +CONFIG_FSL_IMX8_DDR_PMU=y +CONFIG_NVMEM_IMX_OCOTP=y +CONFIG_NVMEM_SNVS_LPGPR=y +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_AUTOFS_FS=y +CONFIG_ISO9660_FS=m +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=m +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_XATTR=y +CONFIG_UBIFS_FS=y +# CONFIG_NETWORK_FILESYSTEMS is not set +CONFIG_NLS_DEFAULT="cp437" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_UTF8=y +CONFIG_SECURITYFS=y +CONFIG_CRYPTO_USER=y +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_SEED=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_CFB=m +CONFIG_CRYPTO_CTS=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_OFB=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_CHACHA20POLY1305=m +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_STREEBOG=m +CONFIG_CRYPTO_VMAC=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_SKCIPHER=m +CONFIG_CRYPTO_USER_API_AEAD=m +CONFIG_CRYPTO_DEV_FSL_CAAM=y +CONFIG_CRYPTO_DEV_SAHARA=y +CONFIG_CRYPTO_DEV_MXS_DCP=y +CONFIG_CRYPTO_DEV_AMLOGIC_GXL=m +CONFIG_CRC_T10DIF=y +CONFIG_CRC7=m +CONFIG_LIBCRC32C=m +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=64 +CONFIG_IRQ_POLL=y +CONFIG_PRINTK_TIME=y +# CONFIG_DEBUG_BUGVERBOSE is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_DEBUG_FS=y +# CONFIG_SLUB_DEBUG is not set +# CONFIG_SCHED_DEBUG is not set +CONFIG_PROVE_LOCKING=y +# CONFIG_FTRACE is not set +CONFIG_CORESIGHT=y diff --git a/board/bsh/imx6ulz-bsh-smm-m2/nand-full.lst b/board/bsh/imx6ulz-bsh-smm-m2/nand-full.lst new file mode 100644 index 00000000000..bf3866e414b --- /dev/null +++ b/board/bsh/imx6ulz-bsh-smm-m2/nand-full.lst @@ -0,0 +1,42 @@ +# @_flash.bin | bootloader +# @_image [_flash.bin] | image burn to nand, default is the same as bootloader +# @_filesystem | filesystem to burn +# @_kernel | kernel image +# @_dtb | dtb image + +# This command will be run when i.MX6/7 i.MX8MM, i.MX8MQ +SDP: boot -f _flash.bin + +# These commands will be run when use SPL and will be skipped if no spl +# SDPU will be deprecated. please use SDPV instead of SDPU +# { +SDPU: delay 1000 +SDPU: write -f _flash.bin -offset 0x57c00 +SDPU: jump +# } + +# These commands will be run when use SPL and will be skipped if no spl +# if (SPL support SDPV) +# { +SDPV: delay 1000 +SDPV: write -f _flash.bin -offset 0x11000 +SDPV: jump +# } + +FB: ucmd setenv fastboot_buffer ${loadaddr} +FB[-t 60000]: ucmd nand erase.chip +FB: download -f _image +FB: ucmd nandbcb init ${fastboot_buffer} nandboot ${filesize} +FB[-t 60000]: ucmd ubi part rootfs +FB[-t 60000]: ucmd ubi create root - +FB: download -f _filesystem +FB[-t 60000]: ucmd ubi write ${loadaddr} root ${filesize} + +FB: download -f _kernel +FB[-t 60000]: ucmd nand write ${loadaddr} kernel ${filesize} + +FB: download -f _dtb +FB[-t 8000]: ucmd nand write ${loadaddr} nanddtb ${filesize} +FB: ucmd setenv loadaddr 0x82000000 + +FB: done diff --git a/board/bsh/imx6ulz-bsh-smm-m2/patches/linux-headers/linux-headers.hash b/board/bsh/imx6ulz-bsh-smm-m2/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/bsh/imx6ulz-bsh-smm-m2/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/bsh/imx6ulz-bsh-smm-m2/patches/linux/linux.hash b/board/bsh/imx6ulz-bsh-smm-m2/patches/linux/linux.hash new file mode 100644 index 00000000000..e2073c2796c --- /dev/null +++ b/board/bsh/imx6ulz-bsh-smm-m2/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 c92591d896e79ecddbc3319136f0c2f855e832b397de7593f013ad7590a43e53 linux-6.12.80.tar.xz diff --git a/board/bsh/imx6ulz-bsh-smm-m2/patches/uboot/uboot.hash b/board/bsh/imx6ulz-bsh-smm-m2/patches/uboot/uboot.hash new file mode 100644 index 00000000000..36322a6a904 --- /dev/null +++ b/board/bsh/imx6ulz-bsh-smm-m2/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 ac7c04b8b7004923b00a4e5d6699c5df4d21233bac9fda690d8cfbc209fff2fd u-boot-2026.04.tar.bz2 diff --git a/board/bsh/imx6ulz-bsh-smm-m2/post-build.sh b/board/bsh/imx6ulz-bsh-smm-m2/post-build.sh new file mode 100755 index 00000000000..4a9bc1cfd50 --- /dev/null +++ b/board/bsh/imx6ulz-bsh-smm-m2/post-build.sh @@ -0,0 +1,6 @@ +#!/bin/sh +set -eu + +BOARD_DIR="$(dirname "$0")" + +cp "${BOARD_DIR}/nand-full.lst" "${BINARIES_DIR}" diff --git a/board/bsh/imx6ulz-bsh-smm-m2/readme.txt b/board/bsh/imx6ulz-bsh-smm-m2/readme.txt new file mode 100644 index 00000000000..e6641e6df1f --- /dev/null +++ b/board/bsh/imx6ulz-bsh-smm-m2/readme.txt @@ -0,0 +1,67 @@ +i.MX6ULZ BSH SMM M2 +================== + +This tutorial describes how to use the predefined Buildroot +configuration for the i.MX6ULZ BSH SMM M2 board. + +Building +-------- + +Configure buildroot: + + $ make imx6ulz_bsh_smm_m2_defconfig + +Change settings to fit your needs (optional): + + $ make menuconfig + +Compile everything and build the rootfs image: + + $ make + + +Result of the build +------------------- + +After building, the output/images directory contains: + + output/images/ + ├── imx6ulz-bsh-smm-m2.dtb + ├── zImage + ├── nand-full.lst + ├── rootfs.ubifs + └── u-boot-with-spl.imx + +Preparing the board +------------------- + +Plug the USB type A to micro B cable into the USB Debug +Connector (DBG UART). Use serial port settings 115200 8N1 +to access the debug console. + +Plug another USB type A to micro B cable into the USB-OTG +Connector (USB1). This connection is used to flash the board +firmware using the Freescale/NXP UUU tool. + +Connect the power supply/adaptor to the DC Power Jack (labelled ++5V). + + +Flashing +-------- + +Power up the board by switching on the Power ON Switch, which is +placed right next to the DC Jack. + +Enter the following U-Boot commands on the debug serial console: + + $ nand erase.chip + $ reset + +Flash the built images directly to board’s memory. On your computer, +run: + + $ board/bsh/imx6ulz-bsh-smm-m2/flash.sh output/ + +It will flash the bootloader, the Device Tree Blob, the kernel image +and the UBI root file system. diff --git a/board/bsh/imx8mn-bsh-smm-s2-pro/extlinux.conf b/board/bsh/imx8mn-bsh-smm-s2-pro/extlinux.conf new file mode 100644 index 00000000000..91113547425 --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2-pro/extlinux.conf @@ -0,0 +1,4 @@ +label buildroot + kernel /boot/Image + devicetree /boot/freescale/imx8mn-bsh-smm-s2pro.dtb + append root=PARTUUID=%PARTUUID% rootwait rw diff --git a/board/bsh/imx8mn-bsh-smm-s2-pro/flash.sh b/board/bsh/imx8mn-bsh-smm-s2-pro/flash.sh new file mode 100755 index 00000000000..17b20f00977 --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2-pro/flash.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +if [ $# -eq 0 ]; then + OUTPUT_DIR=output +else + OUTPUT_DIR=$1 +fi + +if ! test -d "${OUTPUT_DIR}" ; then + echo "ERROR: no output directory specified." + echo "Usage: $0 OUTPUT_DIR" + echo "" + echo "Arguments:" + echo " OUTPUT_DIR The Buildroot output directory." + exit 1 +fi + +IMAGES_DIR=${OUTPUT_DIR}/images + +${OUTPUT_DIR}/host/bin/uuu -v -b emmc_all \ + ${IMAGES_DIR}/flash.bin \ + ${IMAGES_DIR}/sdcard.img + diff --git a/board/bsh/imx8mn-bsh-smm-s2-pro/genimage.cfg b/board/bsh/imx8mn-bsh-smm-s2-pro/genimage.cfg new file mode 100644 index 00000000000..10c52548cdf --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2-pro/genimage.cfg @@ -0,0 +1,17 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition imx-boot { + in-partition-table = "no" + image = "flash.bin" + offset = 32K + } + + partition rootfs { + offset = 8M + image = "rootfs.ext4" + partition-uuid = %PARTUUID% + } +} diff --git a/board/bsh/imx8mn-bsh-smm-s2-pro/post-build.sh b/board/bsh/imx8mn-bsh-smm-s2-pro/post-build.sh new file mode 100755 index 00000000000..9306df3f3ff --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2-pro/post-build.sh @@ -0,0 +1,9 @@ +#!/bin/sh +set -eu + +BOARD_DIR="$(dirname $0)" +PARTUUID="$($HOST_DIR/bin/uuidgen)" + +install -d "$TARGET_DIR/boot/extlinux/" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/extlinux.conf" > "$TARGET_DIR/boot/extlinux/extlinux.conf" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/genimage.cfg" > "$BINARIES_DIR/genimage.cfg" diff --git a/board/bsh/imx8mn-bsh-smm-s2-pro/post-image.sh b/board/bsh/imx8mn-bsh-smm-s2-pro/post-image.sh new file mode 100755 index 00000000000..3452fd4501f --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2-pro/post-image.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +support/scripts/genimage.sh -c ${BINARIES_DIR}/genimage.cfg diff --git a/board/bsh/imx8mn-bsh-smm-s2-pro/readme.txt b/board/bsh/imx8mn-bsh-smm-s2-pro/readme.txt new file mode 100644 index 00000000000..5763f164fe1 --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2-pro/readme.txt @@ -0,0 +1,73 @@ +i.MX8MN BSH SMM S2 PRO +====================== + +How to build it +--------------- + +Configure buildroot: + + $ make imx8mn_bsh_smm_s2_pro_defconfig + +Change settings to fit your needs (optional): + + $ make menuconfig + +Compile everything and build the rootfs image: + + $ make + + +Result of the build +------------------- + +After building, the output/images directory contains: + + output/images/ + ├── bl31.bin + ├── Image + ├── flash.bin + ├── ddr3* + ├── rootfs.ext2 + ├── rootfs.ext4 -> rootfs.ext2 + ├── rootfs.tar + ├── sdcard.img + ├── u-boot.bin + ├── u-boot-nodtb.bin + └── u-boot-spl.bin + + +Preparing the board +------------------- + +Plug the USB type A to micro B cable into the USB Debug +Connector (DBG UART). Use serial port settings 115200 8N1 +to access the debug console. + +Plug another USB type A to micro B cable into the USB-OTG +Connector (USB1). This connection is used to flash the board +firmware using the Freescale/NXP UUU tool. + +Connect the power supply/adaptor to the DC Power Jack (labelled ++5V). + + +Flashing the emmc card image +---------------------------- + +Power up the board by switching on the Power ON Switch, which is +placed right next to the DC Jack. + +Enter the following U-Boot commands on the debug serial console: + + $ fastboot usb 0 + +Flash the images on eMMC. On your computer, run: + + $ board/bsh/imx8mn-bsh-smm-s2-pro/flash.sh output/ + + +Booting the board +----------------- + +By default the bootloader will search for the first valid image, +starting with the internal eMMC. diff --git a/board/bsh/imx8mn-bsh-smm-s2/flash.sh b/board/bsh/imx8mn-bsh-smm-s2/flash.sh new file mode 100755 index 00000000000..1f343d516dc --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2/flash.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +if [ $# -eq 0 ]; then + OUTPUT_DIR=output +else + OUTPUT_DIR=$1 +fi + +if ! test -d "${OUTPUT_DIR}" ; then + echo "ERROR: no output directory specified." + echo "Usage: $0 OUTPUT_DIR" + echo "" + echo "Arguments:" + echo " OUTPUT_DIR The Buildroot output directory." + exit 1 +fi + +IMAGES_DIR=${OUTPUT_DIR}/images + +${OUTPUT_DIR}/host/bin/uuu -v -b ${IMAGES_DIR}/nand-full.lst \ + ${IMAGES_DIR}/flash.bin \ + ${IMAGES_DIR}/flash.bin \ + ${IMAGES_DIR}/rootfs.ubifs \ + ${IMAGES_DIR}/Image \ + ${IMAGES_DIR}/freescale/imx8mn-bsh-smm-s2.dtb + diff --git a/board/bsh/imx8mn-bsh-smm-s2/nand-full.lst b/board/bsh/imx8mn-bsh-smm-s2/nand-full.lst new file mode 100644 index 00000000000..f5b94c24d83 --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2/nand-full.lst @@ -0,0 +1,31 @@ +# @_flash.bin | bootloader +# @_image [_flash.bin] | image burn to nand, default is the same as bootloader +# @_filesystem | filesystem to burn +# @_kernel | kernel image +# @_dtb | dtb image + +# This command will be run when ROM support stream mode +# i.MX8QXP, i.MX8QM +SDPS: boot -f _flash.bin + +FB: ucmd setenv fastboot_buffer ${loadaddr} +FB: download -f _image +FB[-t 10000]: ucmd nand erase.chip + +# Burn image to nandfit partition if needed +FB: ucmd if env exists nandfit_part; then nand erase.part nandfit; nand write ${fastboot_buffer} nandfit ${filesize}; else true; fi; +FB: ucmd nandbcb init ${fastboot_buffer} nandboot ${filesize} + +FB[-t 10000]: ucmd ubi part nandrootfs +FB[-t 10000]: ucmd ubi create root - +FB: download -f _filesystem +FB[-t 60000]: ucmd ubi write ${loadaddr} root ${filesize} + +FB: download -f _kernel +FB[-t 10000]: ucmd nand write ${loadaddr} nandkernel ${filesize} + +FB: download -f _dtb +FB[-t 8000]: ucmd nand write ${loadaddr} nanddtb ${filesize} + +FB: reboot +FB: done diff --git a/board/bsh/imx8mn-bsh-smm-s2/post-build.sh b/board/bsh/imx8mn-bsh-smm-s2/post-build.sh new file mode 100755 index 00000000000..ede1738ecbc --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2/post-build.sh @@ -0,0 +1,6 @@ +#!/bin/sh +set -eu + +BOARD_DIR="$(dirname $0)" + +cp ${BOARD_DIR}/nand-full.lst ${BINARIES_DIR} diff --git a/board/bsh/imx8mn-bsh-smm-s2/readme.txt b/board/bsh/imx8mn-bsh-smm-s2/readme.txt new file mode 100644 index 00000000000..6b8cd031990 --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2/readme.txt @@ -0,0 +1,75 @@ +i.MX8MN BSH SMM S2 +================== + +This tutorial describes how to use the predefined Buildroot +configuration for the i.MX8MN BSH SMM S2 board. + +Building +-------- + +Configure buildroot: + + $ make imx8mn_bsh_smm_s2_defconfig + +Change settings to fit your needs (optional): + + $ make menuconfig + +Compile everything and build the rootfs image: + + $ make + + +Result of the build +------------------- + +After building, the output/images directory contains: + + output/images/ + ├── bl31.bin + ├── ddr3* + ├── flash.bin + ├── freescale/imx8mn-bsh-smm-s2.dtb + ├── Image + ├── nand-full.lst + ├── rootfs.ext2 + ├── rootfs.ext4 -> rootfs.ext2 + ├── rootfs.tar + ├── rootfs.ubifs + ├── u-boot.bin + └── u-boot-spl.bin + + +Preparing the board +------------------- + +Plug the USB type A to micro B cable into the USB Debug +Connector (DBG UART). Use serial port settings 115200 8N1 +to access the debug console. + +Plug another USB type A to micro B cable into the USB-OTG +Connector (USB1). This connection is used to flash the board +firmware using the Freescale/NXP UUU tool. + +Connect the power supply/adaptor to the DC Power Jack (labelled ++5V). + + +Flashing +-------- + +Power up the board by switching on the Power ON Switch, which is +placed right next to the DC Jack. + +Enter the following U-Boot commands on the debug serial console: + + $ nand erase.chip + $ reset + +Flash the built images directly to board’s memory. On your computer, +run: + + $ board/bsh/imx8mn-bsh-smm-s2/flash.sh output/ + +It will flash the bootloader, the Device Tree Blob, the kernel image +and the UBI root file system. diff --git a/board/canaan/k210-soc/busybox-tiny.config b/board/canaan/k210-soc/busybox-tiny.config new file mode 100644 index 00000000000..9db12b560ac --- /dev/null +++ b/board/canaan/k210-soc/busybox-tiny.config @@ -0,0 +1,231 @@ +# +# Additional config changes for busybox-minimal.config +# to reduce the size of the busybox executable. +# + +# +# Settings +# +# CONFIG_INCLUDE_SUSv2 is not set +# CONFIG_LONG_OPTS is not set +# CONFIG_LFS is not set +# CONFIG_FEATURE_DEVPTS is not set +# CONFIG_FEATURE_SYSLOG_INFO is not set +# CONFIG_FEATURE_SYSLOG is not set + +# +# Library Tuning +# +# CONFIG_FEATURE_RTMINMAX is not set +# CONFIG_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS is not set +# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set +CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y +# CONFIG_FEATURE_EDITING_VI is not set +# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set +# CONFIG_FEATURE_REVERSE_SEARCH is not set +# CONFIG_FEATURE_EDITING_WINCH is not set +# CONFIG_FEATURE_HWIB is not set + +# +# Archival Utilities +# +# CONFIG_ZCAT is not set +# CONFIG_BZCAT is not set +# CONFIG_LZCAT is not set +# CONFIG_XZCAT is not set +# CONFIG_UNLZOP is not set +# CONFIG_LZOPCAT is not set + +# +# Coreutils +# +# CONFIG_CKSUM is not set +# CONFIG_DOS2UNIX is not set +# CONFIG_UNIX2DOS is not set +# CONFIG_DU is not set +# CONFIG_FACTOR is not set +# CONFIG_FOLD is not set +# CONFIG_HEAD is not set +# CONFIG_INSTALL is not set +# CONFIG_LINK is not set +# CONFIG_LOGNAME is not set +# CONFIG_MD5SUM is not set +# CONFIG_SHA1SUM is not set +# CONFIG_SHA256SUM is not set +# CONFIG_SHA512SUM is not set +# CONFIG_SHA3SUM is not set +# CONFIG_MKFIFO is not set +# CONFIG_NICE is not set +# CONFIG_NL is not set +# CONFIG_NOHUP is not set +# CONFIG_OD is not set +# CONFIG_PASTE is not set +# CONFIG_SHRED is not set +# CONFIG_SORT is not set +# CONFIG_TAIL is not set +# CONFIG_TEE is not set +# CONFIG_TIMEOUT is not set +# CONFIG_TR is not set +# CONFIG_UNIQ is not set +# CONFIG_UUDECODE is not set +# CONFIG_BASE32 is not set +# CONFIG_UUENCODE is not set +# CONFIG_WC is not set +# CONFIG_WHOAMI is not set +# CONFIG_WHO is not set +# CONFIG_W is not set +# CONFIG_USERS is not set +# CONFIG_YES is not set + +# +# Common options +# +# CONFIG_FEATURE_VERBOSE is not set + +# +# Debian Utilities +# +# CONFIG_RUN_PARTS is not set +# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set +# CONFIG_FEATURE_RUN_PARTS_FANCY is not set +# CONFIG_START_STOP_DAEMON is not set +# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set +# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set +# CONFIG_WHICH is not set + +# +# klibc-utils +# +# CONFIG_NUKE is not set +# CONFIG_RESUME is not set +# CONFIG_RUN_INIT is not set + +# +# Editors +# +# CONFIG_SED is not set +CONFIG_VI=y +CONFIG_FEATURE_VI_MAX_LEN=4096 +CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_YANKMARK=y +CONFIG_FEATURE_VI_USE_SIGNALS=y +CONFIG_FEATURE_VI_DOT_CMD=y +CONFIG_FEATURE_VI_READONLY=y +CONFIG_FEATURE_VI_SETOPTS=y +CONFIG_FEATURE_VI_SET=y +CONFIG_FEATURE_VI_WIN_RESIZE=y +CONFIG_FEATURE_VI_ASK_TERMINAL=y +CONFIG_FEATURE_VI_UNDO=y + +# +# Finding Utilities +# +CONFIG_GREP=y +# CONFIG_EGREP is not set +# CONFIG_FGREP is not set +# CONFIG_XARGS is not set + +# +# Init Utilities +# +# CONFIG_HALT is not set +# CONFIG_POWEROFF is not set +# CONFIG_FEATURE_WAIT_FOR_INIT is not set +# CONFIG_FEATURE_CALL_TELINIT is not set +# CONFIG_INIT is not set +# CONFIG_LINUXRC is not set + +# +# Login/Password Management Utilities +# +# CONFIG_FEATURE_SHADOWPASSWDS is not set +# CONFIG_USE_BB_CRYPT is not set +# CONFIG_USE_BB_CRYPT_SHA is not set +# CONFIG_ADDUSER is not set +# CONFIG_GETTY is not set +# CONFIG_LOGIN is not set +# CONFIG_PASSWD is not set + +# +# Linux System Utilities +# +# CONFIG_FALLOCATE is not set +# CONFIG_FREERAMDISK is not set +# CONFIG_FSFREEZE is not set +# CONFIG_GETOPT is not set +# CONFIG_XXD is not set +# CONFIG_MESG is not set +# CONFIG_MKE2FS is not set +# CONFIG_MKDOSFS is not set +# CONFIG_FEATURE_MOUNT_CIFS is not set +# CONFIG_FEATURE_MOUNT_FSTAB is not set +# CONFIG_FEATURE_MOUNT_OTHERTAB is not set +# CONFIG_NOLOGIN is not set +# CONFIG_LINUX32 is not set +# CONFIG_LINUX64 is not set +# CONFIG_SETPRIV is not set + +# +# Common options for mount/umount +# +# CONFIG_FEATURE_MOUNT_LOOP is not set +# CONFIG_FEATURE_MOUNT_LOOP_CREATE is not set + +# +# Miscellaneous Utilities +# +# CONFIG_BC is not set +# CONFIG_HEXEDIT is not set +# CONFIG_I2CTRANSFER is not set +# CONFIG_LSSCSI is not set +# CONFIG_MIM is not set +# CONFIG_PARTPROBE is not set +# CONFIG_SETFATTR is not set +# CONFIG_SETSERIAL is not set +# CONFIG_TS is not set + +# +# Networking Utilities +# +# CONFIG_HOSTNAME is not set +# CONFIG_DNSDOMAINNAME is not set +# CONFIG_IFCONFIG is not set +# CONFIG_IFUP is not set +# CONFIG_IFDOWN is not set +# CONFIG_IP is not set +# CONFIG_IPADDR is not set +# CONFIG_IPLINK is not set +# CONFIG_IPROUTE is not set +# CONFIG_NC is not set +# CONFIG_NETSTAT is not set +# CONFIG_PING is not set +# CONFIG_ROUTE is not set +# CONFIG_TC is not set +# CONFIG_TELNET is not set +# CONFIG_WGET is not set +# CONFIG_UDHCPC is not set + +# +# Process Utilities +# +# CONFIG_KILLALL is not set +# CONFIG_KILLALL5 is not set + +# +# Runit Utilities +# +# CONFIG_SVC is not set +# CONFIG_SVOK is not set + +# +# Shells +# +CONFIG_BASH_IS_HUSH=y +# CONFIG_BASH_IS_NONE is not set +# CONFIG_HUSH_SAVEHISTORY is not set + +# +# Options common to all shells +# +# CONFIG_FEATURE_SH_READ_FRAC is not set +# CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS is not set diff --git a/board/canaan/k210-soc/genimage.cfg b/board/canaan/k210-soc/genimage.cfg new file mode 100644 index 00000000000..da7d5dbafb2 --- /dev/null +++ b/board/canaan/k210-soc/genimage.cfg @@ -0,0 +1,30 @@ +image boot.vfat { + vfat { + file uImage { + image = "uImage" + } + + file k210.dtb { + image = "k210.dtb" + } + } + size = 4M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + image = "boot.vfat" + bootable = "true" + offset = 4M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + size = 64M + } +} diff --git a/board/canaan/k210-soc/linux-sdcard.config b/board/canaan/k210-soc/linux-sdcard.config new file mode 100644 index 00000000000..4b0ead78a76 --- /dev/null +++ b/board/canaan/k210-soc/linux-sdcard.config @@ -0,0 +1,4 @@ +CONFIG_BUILTIN_DTB=n +CONFIG_SOC_CANAAN_K210_DTB_BUILTIN=n +CONFIG_SOC_CANAAN_K210_DTB_SOURCE="" +CONFIG_CMDLINE="earlycon console=ttySIF0 root=/dev/mmcblk0p2 rootwait ro" diff --git a/board/canaan/k210-soc/patches/uboot/0001-riscv-Fix-build-against-binutils-2.38.patch b/board/canaan/k210-soc/patches/uboot/0001-riscv-Fix-build-against-binutils-2.38.patch new file mode 100644 index 00000000000..52b496f0547 --- /dev/null +++ b/board/canaan/k210-soc/patches/uboot/0001-riscv-Fix-build-against-binutils-2.38.patch @@ -0,0 +1,58 @@ +From 0cf11f3c0478f4286adcfb09bf9137f8b00212e3 Mon Sep 17 00:00:00 2001 +From: Alexandre Ghiti +Date: Mon, 3 Oct 2022 18:07:54 +0200 +Subject: [PATCH] riscv: Fix build against binutils 2.38 + +The following description is copied from the equivalent patch for the +Linux Kernel proposed by Aurelien Jarno: + +>From version 2.38, binutils default to ISA spec version 20191213. This +means that the csr read/write (csrr*/csrw*) instructions and fence.i +instruction has separated from the `I` extension, become two standalone +extensions: Zicsr and Zifencei. As the kernel uses those instruction, +this causes the following build failure: + +arch/riscv/cpu/mtrap.S: Assembler messages: +arch/riscv/cpu/mtrap.S:65: Error: unrecognized opcode `csrr a0,scause' +arch/riscv/cpu/mtrap.S:66: Error: unrecognized opcode `csrr a1,sepc' +arch/riscv/cpu/mtrap.S:67: Error: unrecognized opcode `csrr a2,stval' +arch/riscv/cpu/mtrap.S:70: Error: unrecognized opcode `csrw sepc,a0' + +Signed-off-by: Alexandre Ghiti +Reviewed-by: Bin Meng +Tested-by: Heinrich Schuchardt +Tested-by: Heiko Stuebner +Tested-by: Christian Stewart +Reviewed-by: Rick Chen +(cherry picked from commit 1dde977518f13824b847e23275001191139bc384) +Upstream: https://gitlab.com/u-boot/u-boot/-/commit/1dde977518f13824b847e23275001191139bc384 +Signed-off-by: Romain Naour +--- + arch/riscv/Makefile | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile +index 0b80eb8d864..53d1194ffb6 100644 +--- a/arch/riscv/Makefile ++++ b/arch/riscv/Makefile +@@ -24,7 +24,16 @@ ifeq ($(CONFIG_CMODEL_MEDANY),y) + CMODEL = medany + endif + +-ARCH_FLAGS = -march=$(ARCH_BASE)$(ARCH_A)$(ARCH_C) -mabi=$(ABI) \ ++RISCV_MARCH = $(ARCH_BASE)$(ARCH_A)$(ARCH_C) ++ ++# Newer binutils versions default to ISA spec version 20191213 which moves some ++# instructions from the I extension to the Zicsr and Zifencei extensions. ++toolchain-need-zicsr-zifencei := $(call cc-option-yn, -mabi=$(ABI) -march=$(RISCV_MARCH)_zicsr_zifencei) ++ifeq ($(toolchain-need-zicsr-zifencei),y) ++ RISCV_MARCH := $(RISCV_MARCH)_zicsr_zifencei ++endif ++ ++ARCH_FLAGS = -march=$(RISCV_MARCH) -mabi=$(ABI) \ + -mcmodel=$(CMODEL) + + PLATFORM_CPPFLAGS += $(ARCH_FLAGS) +-- +2.41.0 + diff --git a/board/canaan/k210-soc/post-build.sh b/board/canaan/k210-soc/post-build.sh new file mode 100755 index 00000000000..5b6f56a2c59 --- /dev/null +++ b/board/canaan/k210-soc/post-build.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +MKIMAGE=${HOST_DIR}/bin/mkimage + +# Generate u-Boot kernel image +${MKIMAGE} -A riscv -O linux -T kernel -C none \ + -a 0x80000000 -e 0x80000000 \ + -n Linux -d ${BINARIES_DIR}/loader.bin ${BINARIES_DIR}/uImage + +# Link the kernel-built board dtb file to using the k210.dtb generic +# name for use by genimage.cfg +BOARDDTBKPATH="$(grep BR2_LINUX_KERNEL_INTREE_DTS_NAME ${BR2_CONFIG} | cut -d'=' -f2 | tr -d \")" + +BOARDDTB="$(basename ${BOARDDTBKPATH})" +if [ -z "${BOARDDTB}" ]; then + echo "Board DTB file not specified" + exit 1 +fi + +BOARDDTB="${BINARIES_DIR}/${BOARDDTB}.dtb" +if [ ! -f "${BOARDDTB}" ]; then + echo "Board DTB file not found in ${BINARIES_DIR}" + exit 1 +fi + +TARGETDTB=${BINARIES_DIR}/k210.dtb +rm -f ${TARGETDTB} +ln -s ${BOARDDTB} ${TARGETDTB} diff --git a/board/canaan/k210-soc/uboot.config b/board/canaan/k210-soc/uboot.config new file mode 100644 index 00000000000..159085f8025 --- /dev/null +++ b/board/canaan/k210-soc/uboot.config @@ -0,0 +1 @@ +# CONFIG_WATCHDOG_AUTOSTART is not set diff --git a/board/canaan/kd233/linux-cpio.config b/board/canaan/kd233/linux-cpio.config new file mode 100644 index 00000000000..d5b107124a8 --- /dev/null +++ b/board/canaan/kd233/linux-cpio.config @@ -0,0 +1,2 @@ +CONFIG_SOC_CANAAN_K210_DTB_BUILTIN=y +CONFIG_SOC_CANAAN_K210_DTB_SOURCE="canaan_kd233" diff --git a/board/canaan/kd233/readme.txt b/board/canaan/kd233/readme.txt new file mode 100644 index 00000000000..47b78fa2d77 --- /dev/null +++ b/board/canaan/kd233/readme.txt @@ -0,0 +1,149 @@ +Canaan KD233 Board +================== + +The Canaan KD233 is a dual-core RISC-V 64-bits board based on the Canaan +Kendryte K210 SoC. + +Prerequisite +------------ + +In order to use the kflash utility to program this board, the user must have +access to the board USB serial device file. The simplest way to do this is to +add your user to the same group as this device file. Assume the device file is +/dev/ttyUSB0, first identify the device group name. In most cases, it is +either "dialout" or "uucp". Also verify that read-write access is enabled for +the group: + +``` +$ ls -l /dev/ttyUSB0 +crw-rw---- 1 root dialout 188, 0 May 26 13:48 /dev/ttyUSB0 +``` + +Then add yourself to that group (dialout in this example): + +``` +$ sudo usermod -a -G dialout $(whoami) +``` + +To enable the above, it is sometimes necessary to logout and login again. + +Buildroot Configuration +----------------------- + +Unlike other K210 based boards (Sipeed boards), U-Boot does not work on the +KD233 board due to the different wiring for the SD-Card mmc controller. As such, +the KD233 board can only be used by directly booting into Linux Kernel. + +buildroot can be configured to do so using the canaan_kd233_defconfig +configuration file. This configuration allows building a bootable kernel image +with a built-in initramfs root file system (the board SD card is not used). The +built kernel image can be flashed directly to the board ROM for direct booting. +No boot loader is required. + +Once booted, the on-board SD card can be used by Linux. + +The configuration file will also compile and install the kflash and +pyserial-miniterm host utilities to program bootable image files to the board +and open a serial terminal console. + +Direct Linux Kernel Boot +------------------------- + +Using the canaan_kd233_defconfig configuration, the bootable kernel binary image +is built as follows. + +``` +$ make canaan_kd233_defconfig +$ make +``` + +The bootable binary image is the output/images/loader.bin file. This image file +can be written to the board boot flash using the kflash utility. + +``` +$ output/host/bin/kflash -b 1500000 -p /dev/ttyUSB0 -t output/images/loader.bin +``` + +Once the kernel image file is fully programmed, a terminal console is open and +the board can be rebooted by pressing the reset button on the board (if it does +not reboot automatically). + +The output will be similar to the following. + +``` +[ 0.000000] Linux version 5.17.0 (foo@bar.com) (riscv64-buildroot-linux-uclibc-gcc.br_real (Buildroot 2022.02-560-g6a2b542a09-dirty) 10.3.0, GNU ld (GNU Binutils) 2.32) #2 SMP Thu Apr 21 16:40:44 JST 2022 +[ 0.000000] Machine model: Kendryte KD233 +[ 0.000000] earlycon: sifive0 at MMIO 0x0000000038000000 (options '115200n8') +[ 0.000000] printk: bootconsole [sifive0] enabled +[ 0.000000] Zone ranges: +[ 0.000000] DMA32 [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] Normal empty +[ 0.000000] Movable zone start for each node +[ 0.000000] Early memory node ranges +[ 0.000000] node 0: [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] riscv: ISA extensions acdfim +[ 0.000000] riscv: ELF capabilities acdfim +[ 0.000000] percpu: max_distance=0x16000 too large for vmalloc space 0x0 +[ 0.000000] percpu: Embedded 11 pages/cpu s15264 r0 d29792 u45056 +[ 0.000000] percpu: wasting 10 pages per chunk +[ 0.000000] Built 1 zonelists, mobility grouping off. Total pages: 2020 +[ 0.000000] Kernel command line: earlycon console=ttySIF0 +[ 0.000000] Dentry cache hash table entries: 1024 (order: 1, 8192 bytes, linear) +[ 0.000000] Inode-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off +[ 0.000000] Memory: 5984K/8192K available (964K kernel code, 137K rwdata, 205K rodata, 546K init, 66K bss, 2208K reserved, 0K cma-reserved) +[ 0.000000] rcu: Hierarchical RCU implementation. +[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. +[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 +[ 0.000000] riscv-intc: 64 local interrupts mapped +[ 0.000000] plic: interrupt-controller@c000000: mapped 65 interrupts with 2 handlers for 4 contexts. +[ 0.000000] k210-clk: clock-controller: CPU running at 390 MHz +[ 0.000000] clint: timer@2000000: timer running at 7800000 Hz +[ 0.000000] clocksource: clint_clocksource: mask: 0xffffffffffffffff max_cycles: 0x3990be68b, max_idle_ns: 881590404272 ns +[ 0.000001] sched_clock: 64 bits at 7MHz, resolution 128ns, wraps every 4398046511054ns +[ 0.008178] Calibrating delay loop (skipped), value calculated using timer frequency.. 15.60 BogoMIPS (lpj=31200) +[ 0.018251] pid_max: default: 4096 minimum: 301 +[ 0.022861] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.029971] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.040234] rcu: Hierarchical SRCU implementation. +[ 0.045110] smp: Bringing up secondary CPUs ... +[ 0.050211] smp: Brought up 1 node, 2 CPUs +[ 0.054340] devtmpfs: initialized +[ 0.070401] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns +[ 0.079473] pinctrl core: initialized pinctrl subsystem +[ 0.117795] clocksource: Switched to clocksource clint_clocksource +[ 0.130245] workingset: timestamp_bits=62 max_order=11 bucket_order=0 +[ 0.176925] k210-sysctl 50440000.syscon: K210 system controller +[ 0.192947] k210-rst 50440000.syscon:reset-controller: K210 reset controller +[ 0.200870] cacheinfo: Unable to detect cache hierarchy for CPU 0 +[ 0.210947] i2c_dev: i2c /dev entries driver +[ 0.220535] k210-fpioa 502b0000.pinmux: K210 FPIOA pin controller +[ 0.232253] 38000000.serial: ttySIF0 at MMIO 0x38000000 (irq = 1, base_baud = 115200) is a SiFive UART v0 +[ 0.241202] printk: console [ttySIF0] enabled +[ 0.241202] printk: console [ttySIF0] enabled +[ 0.249818] printk: bootconsole [sifive0] disabled +[ 0.249818] printk: bootconsole [sifive0] disabled +[ 0.261664] panel@0 enforce active low on chipselect handle +[ 0.275950] Freeing unused kernel image (initmem) memory: 540K +[ 0.281098] This architecture does not have kernel memory protection. +[ 0.287520] Run /init as init process + __ _ + / / (_) ____ _ _ __ __ + / / | || _ \ | | | |\ \/ / + / /___| || | | || |_| | > < + /_____/|_||_| |_| \____|/_/\_\ + 64-bits RISC-V Kendryte K210 NOMMU + +/ # +``` + +To open a terminal console without re-flashing the board, the pyserial-miniterm +host tool can be used. + +``` +$ output/host/bin/pyserial-miniterm --raw --eol=LF /dev/ttyUSB0 115200 +``` + +The options "--raw" and "--eol=LF" are added here to avoid a double carriage +return each time a command is entered. diff --git a/board/chromebook/elm/kernel.args b/board/chromebook/elm/kernel.args new file mode 100644 index 00000000000..848e179d682 --- /dev/null +++ b/board/chromebook/elm/kernel.args @@ -0,0 +1 @@ +root=PARTUUID=%U/PARTNROFF=1 rootwait rw noinitrd kern_guid=%U console=tty0 diff --git a/board/chromebook/elm/kernel.its b/board/chromebook/elm/kernel.its new file mode 100644 index 00000000000..bc4b09eabec --- /dev/null +++ b/board/chromebook/elm/kernel.its @@ -0,0 +1,38 @@ +/dts-v1/; + +/ { + description = "Chrome OS kernel image with FDT"; + #address-cells = <1>; + + images { + kernel-1 { + data = /incbin/("Image"); + type = "kernel_noload"; + arch = "arm64"; + os = "linux"; + compression = "none"; + load = <0>; + entry = <0>; + }; + + fdt-1 { + description = "mt8173-elm.dtb"; + data = /incbin/("mt8173-elm.dtb"); + type = "flat_dt"; + arch = "arm64"; + compression = "none"; + + hash-1 { + algo = "sha1"; + }; + }; + }; + + configurations { + default = "conf-1"; + conf-1 { + kernel = "kernel-1"; + fdt = "fdt-1"; + }; + }; +}; diff --git a/board/chromebook/elm/linux.config b/board/chromebook/elm/linux.config new file mode 100644 index 00000000000..895a3b85c3c --- /dev/null +++ b/board/chromebook/elm/linux.config @@ -0,0 +1,477 @@ +CONFIG_SYSVIPC=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT=y +CONFIG_IRQ_TIME_ACCOUNTING=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_NUMA_BALANCING=y +CONFIG_MEMCG=y +CONFIG_BLK_CGROUP=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_HUGETLB=y +CONFIG_CPUSETS=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_CGROUP_PERF=y +CONFIG_USER_NS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_COMPAT_BRK is not set +CONFIG_SLAB=y +CONFIG_PROFILING=y +CONFIG_ARCH_MEDIATEK=y +CONFIG_ARM64_VA_BITS_48=y +CONFIG_SCHED_MC=y +CONFIG_SCHED_SMT=y +CONFIG_NR_CPUS=4 +CONFIG_NUMA=y +CONFIG_PARAVIRT=y +CONFIG_CRASH_DUMP=y +CONFIG_COMPAT=y +CONFIG_RANDOMIZE_BASE=y +# CONFIG_EFI is not set +# CONFIG_SUSPEND is not set +CONFIG_PM=y +CONFIG_PM_DEBUG=y +CONFIG_PM_ADVANCED_DEBUG=y +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_ARM_CPUIDLE=y +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y +CONFIG_CPUFREQ_DT=y +CONFIG_ARM_SCPI_CPUFREQ=y +CONFIG_ARM_MEDIATEK_CPUFREQ=y +CONFIG_ARM_SCPI_PROTOCOL=y +CONFIG_JUMP_LABEL=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +# CONFIG_BLK_DEBUG_FS is not set +# CONFIG_MQ_IOSCHED_KYBER is not set +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_KSM=y +CONFIG_MEMORY_FAILURE=y +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_CMA=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_UNIX_DIAG=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_INET_UDP_DIAG=y +# CONFIG_IPV6 is not set +CONFIG_CFG80211=y +# CONFIG_CFG80211_DEFAULT_PS is not set +CONFIG_MAC80211=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_FW_LOADER_USER_HELPER=y +CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y +CONFIG_BRCMSTB_GISB_ARB=y +CONFIG_VEXPRESS_CONFIG=y +CONFIG_MTD=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CFI=y +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_INTELEXT=y +CONFIG_MTD_CFI_AMDSTD=y +CONFIG_MTD_CFI_STAA=y +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_PHYSMAP_OF=y +CONFIG_MTD_DATAFLASH=y +CONFIG_MTD_SST25L=y +CONFIG_MTD_RAW_NAND=y +CONFIG_MTD_NAND_DENALI_DT=y +CONFIG_MTD_SPI_NOR=y +CONFIG_OF_OVERLAY=y +# CONFIG_BLK_DEV is not set +CONFIG_SRAM=y +CONFIG_EEPROM_AT24=m +CONFIG_EEPROM_AT25=m +CONFIG_RAID_ATTRS=m +CONFIG_SCSI=y +# CONFIG_SCSI_PROC_FS is not set +CONFIG_BLK_DEV_SD=y +CONFIG_SCSI_SAS_LIBSAS=y +CONFIG_SCSI_UFSHCD=y +CONFIG_SCSI_UFSHCD_PLATFORM=y +CONFIG_MD=y +CONFIG_BLK_DEV_MD=m +CONFIG_BLK_DEV_DM=m +CONFIG_DM_MIRROR=m +CONFIG_DM_ZERO=m +CONFIG_NETDEVICES=y +# CONFIG_ETHERNET is not set +CONFIG_PHYLIB=y +CONFIG_USB_CATC=m +CONFIG_USB_KAWETH=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +CONFIG_USB_RTL8152=m +CONFIG_USB_LAN78XX=m +CONFIG_USB_USBNET=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_HUAWEI_CDC_NCM=m +CONFIG_USB_NET_CDC_MBIM=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_SR9700=m +CONFIG_USB_NET_SR9800=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_EPSON2888=y +CONFIG_USB_KC2190=y +CONFIG_USB_NET_CX82310_ETH=m +CONFIG_USB_NET_KALMIA=m +CONFIG_USB_NET_QMI_WWAN=m +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_IPHETH=m +CONFIG_USB_SIERRA_NET=m +CONFIG_USB_VL600=m +CONFIG_USB_NET_CH9200=m +CONFIG_USB_NET_AQC111=m +# CONFIG_WLAN_VENDOR_ADMTEK is not set +# CONFIG_WLAN_VENDOR_ATH is not set +# CONFIG_WLAN_VENDOR_ATMEL is not set +# CONFIG_WLAN_VENDOR_BROADCOM is not set +# CONFIG_WLAN_VENDOR_CISCO is not set +# CONFIG_WLAN_VENDOR_INTEL is not set +# CONFIG_WLAN_VENDOR_INTERSIL is not set +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_SDIO=m +# CONFIG_WLAN_VENDOR_MEDIATEK is not set +# CONFIG_WLAN_VENDOR_RALINK is not set +# CONFIG_WLAN_VENDOR_REALTEK is not set +# CONFIG_WLAN_VENDOR_RSI is not set +# CONFIG_WLAN_VENDOR_ST is not set +# CONFIG_WLAN_VENDOR_TI is not set +# CONFIG_WLAN_VENDOR_ZYDAS is not set +# CONFIG_WLAN_VENDOR_QUANTENNA is not set +CONFIG_INPUT_EVDEV=y +CONFIG_KEYBOARD_ADC=m +CONFIG_KEYBOARD_GPIO=y +CONFIG_KEYBOARD_CROS_EC=y +CONFIG_MOUSE_ELAN_I2C=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_ATMEL_MXT=m +CONFIG_TOUCHSCREEN_ELAN=y +CONFIG_INPUT_MISC=y +# CONFIG_SERIO_SERPORT is not set +CONFIG_SERIO_AMBAKMI=y +CONFIG_LEGACY_PTY_COUNT=16 +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_8250_DW=y +CONFIG_SERIAL_8250_MT6577=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_XILINX_PS_UART=y +CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y +CONFIG_SERIAL_FSL_LPUART=y +CONFIG_SERIAL_FSL_LPUART_CONSOLE=y +CONFIG_SERIAL_FSL_LINFLEXUART=y +CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y +CONFIG_SERIAL_DEV_BUS=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_IPMI_HANDLER=m +CONFIG_IPMI_DEVICE_INTERFACE=m +CONFIG_IPMI_SI=m +CONFIG_TCG_TPM=y +CONFIG_TCG_TIS_I2C_INFINEON=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX_PCA954x=y +CONFIG_I2C_DESIGNWARE_PLATFORM=y +CONFIG_I2C_GPIO=m +CONFIG_I2C_MT65XX=y +CONFIG_I2C_RK3X=y +CONFIG_I2C_SLAVE=y +CONFIG_SPI=y +CONFIG_SPI_CADENCE_QUADSPI=y +CONFIG_SPI_NXP_FLEXSPI=y +CONFIG_SPI_GPIO=y +CONFIG_SPI_MT65XX=y +CONFIG_SPI_PL022=y +CONFIG_SPI_ROCKCHIP=y +CONFIG_SPI_SPIDEV=y +CONFIG_PINCTRL_SINGLE=y +CONFIG_PINCTRL_MAX77620=y +CONFIG_GPIO_ALTERA=m +CONFIG_GPIO_DWAPB=y +CONFIG_GPIO_MB86S7X=y +CONFIG_GPIO_PL061=y +CONFIG_GPIO_XGENE=y +CONFIG_GPIO_MAX732X=y +CONFIG_GPIO_PCA953X=y +CONFIG_GPIO_PCA953X_IRQ=y +CONFIG_GPIO_BD9571MWV=m +CONFIG_GPIO_MAX77620=y +CONFIG_POWER_RESET_BRCMSTB=y +CONFIG_POWER_RESET_XGENE=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_SYSCON_REBOOT_MODE=y +CONFIG_BATTERY_SBS=m +CONFIG_BATTERY_BQ27XXX=y +CONFIG_SENSORS_ARM_SCPI=y +CONFIG_SENSORS_LM90=m +CONFIG_SENSORS_PWM_FAN=m +CONFIG_SENSORS_INA2XX=m +CONFIG_SENSORS_INA3221=m +CONFIG_THERMAL=y +CONFIG_CPU_THERMAL=y +CONFIG_DEVFREQ_THERMAL=y +CONFIG_THERMAL_EMULATION=y +CONFIG_WATCHDOG=y +CONFIG_MEDIATEK_WATCHDOG=y +CONFIG_MFD_BD9571MWV=y +CONFIG_MFD_AXP20X_I2C=y +CONFIG_MFD_HI6421_PMIC=y +CONFIG_MFD_MAX77620=y +CONFIG_MFD_MT6397=y +CONFIG_MFD_RK808=y +CONFIG_MFD_SEC_CORE=y +CONFIG_MFD_ROHM_BD718XX=y +CONFIG_REGULATOR_DEBUG=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_AXP20X=y +CONFIG_REGULATOR_BD718XX=y +CONFIG_REGULATOR_BD9571MWV=y +CONFIG_REGULATOR_DA9211=y +CONFIG_REGULATOR_FAN53555=y +CONFIG_REGULATOR_GPIO=y +CONFIG_REGULATOR_HI6421V530=y +CONFIG_REGULATOR_MAX77620=y +CONFIG_REGULATOR_MAX8973=y +CONFIG_REGULATOR_MT6397=y +CONFIG_REGULATOR_PFUZE100=y +CONFIG_REGULATOR_PWM=y +CONFIG_REGULATOR_RK808=y +CONFIG_REGULATOR_S2MPS11=y +CONFIG_REGULATOR_VCTRL=m +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_ANALOG_TV_SUPPORT=y +CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y +CONFIG_MEDIA_SDR_SUPPORT=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_USB_VIDEO_CLASS=m +CONFIG_DRM=y +CONFIG_DRM_I2C_CH7006=m +CONFIG_DRM_I2C_SIL164=m +CONFIG_DRM_I2C_NXP_TDA998X=m +CONFIG_DRM_MALI_DISPLAY=m +CONFIG_DRM_PANEL_LVDS=m +CONFIG_DRM_PANEL_SIMPLE=y +CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m +CONFIG_DRM_DISPLAY_CONNECTOR=y +CONFIG_DRM_PARADE_PS8640=y +CONFIG_DRM_SII902X=m +CONFIG_DRM_THINE_THC63LVD1024=m +CONFIG_DRM_TI_SN65DSI86=m +CONFIG_DRM_ANALOGIX_ANX78XX=y +CONFIG_DRM_I2C_ADV7511=m +CONFIG_DRM_MEDIATEK=y +CONFIG_DRM_MEDIATEK_HDMI=y +CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_SIMPLE=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_PWM=y +CONFIG_BACKLIGHT_LP855X=y +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_SOC=y +CONFIG_SND_SOC_MT8173=y +CONFIG_SND_SOC_MT8173_RT5650_RT5676=y +CONFIG_I2C_HID=m +CONFIG_USB_CONN_GPIO=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=y +CONFIG_USB_STORAGE=y +CONFIG_USB_MTU3=y +CONFIG_USB_MUSB_HDRC=y +CONFIG_USB_DWC3=y +CONFIG_USB_DWC2=y +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_ISP1760=y +CONFIG_USB_SERIAL=y +CONFIG_USB_SERIAL_CONSOLE=y +CONFIG_USB_SERIAL_PL2303=y +CONFIG_USB_HSIC_USB3503=y +CONFIG_NOP_USB_XCEIV=y +CONFIG_USB_ULPI=y +CONFIG_USB_GADGET=y +CONFIG_USB_SNP_UDC_PLAT=y +CONFIG_USB_BDC_UDC=y +CONFIG_USB_ETH=m +CONFIG_USB_ETH_EEM=y +CONFIG_TYPEC=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_FUSB302=m +CONFIG_MMC=y +CONFIG_MMC_BLOCK_MINORS=32 +CONFIG_MMC_ARMMMCI=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_OF_ARASAN=y +CONFIG_MMC_SDHCI_CADENCE=y +CONFIG_MMC_SDHCI_F_SDH30=y +CONFIG_MMC_SPI=y +CONFIG_MMC_DW=y +CONFIG_MMC_DW_EXYNOS=y +CONFIG_MMC_DW_HI3798CV200=y +CONFIG_MMC_DW_K3=y +CONFIG_MMC_MTK=y +CONFIG_MMC_SDHCI_XENON=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_PWM=y +CONFIG_LEDS_SYSCON=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_CPU=y +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y +CONFIG_LEDS_TRIGGER_PANIC=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_DS1307=m +CONFIG_RTC_DRV_MAX77686=y +CONFIG_RTC_DRV_RK808=m +CONFIG_RTC_DRV_PCF85363=m +CONFIG_RTC_DRV_RX8581=m +CONFIG_RTC_DRV_S5M=y +CONFIG_RTC_DRV_DS3232=y +CONFIG_RTC_DRV_PCF2127=m +CONFIG_RTC_DRV_PL031=y +CONFIG_DMADEVICES=y +CONFIG_FSL_EDMA=y +CONFIG_MV_XOR_V2=y +CONFIG_PL330_DMA=y +CONFIG_MTK_CQDMA=y +CONFIG_QCOM_HIDMA_MGMT=y +CONFIG_QCOM_HIDMA=y +# CONFIG_VIRTIO_MENU is not set +CONFIG_CHROME_PLATFORMS=y +CONFIG_CROS_EC=y +CONFIG_CROS_EC_I2C=y +CONFIG_CROS_EC_SPI=y +CONFIG_COMMON_CLK_RK808=y +CONFIG_COMMON_CLK_SCPI=y +CONFIG_COMMON_CLK_CS2000_CP=y +CONFIG_COMMON_CLK_S2MPS11=y +CONFIG_COMMON_CLK_XGENE=y +CONFIG_COMMON_CLK_PWM=y +CONFIG_COMMON_CLK_VC5=y +CONFIG_COMMON_CLK_MT6797_MMSYS=y +CONFIG_COMMON_CLK_MT6797_IMGSYS=y +CONFIG_COMMON_CLK_MT6797_VDECSYS=y +CONFIG_COMMON_CLK_MT6797_VENCSYS=y +CONFIG_HWSPINLOCK=y +CONFIG_ARM_MHU=y +CONFIG_PLATFORM_MHU=y +CONFIG_ARM_SMMU=y +CONFIG_ARM_SMMU_V3=y +CONFIG_MTK_IOMMU=y +CONFIG_REMOTEPROC=y +CONFIG_MTK_CMDQ=y +CONFIG_MTK_PMIC_WRAP=y +CONFIG_EXTCON_USB_GPIO=y +CONFIG_IIO=y +CONFIG_MAX9611=m +CONFIG_SENSORS_ISL29018=m +CONFIG_MPL3115=m +CONFIG_PWM=y +CONFIG_PWM_MTK_DISP=y +CONFIG_PWM_MEDIATEK=y +CONFIG_PHY_XGENE=y +CONFIG_PHY_FSL_IMX8MQ_USB=y +CONFIG_PHY_MTK_TPHY=y +CONFIG_PHY_QCOM_USB_HS=y +CONFIG_PHY_SAMSUNG_USB2=y +CONFIG_EXT2_FS=y +CONFIG_EXT3_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_FANOTIFY=y +CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y +CONFIG_QUOTA=y +CONFIG_AUTOFS4_FS=y +CONFIG_FUSE_FS=m +CONFIG_CUSE=m +CONFIG_OVERLAY_FS=y +CONFIG_OVERLAY_FS_INDEX=y +CONFIG_OVERLAY_FS_XINO_AUTO=y +CONFIG_OVERLAY_FS_METACOPY=y +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_HUGETLBFS=y +CONFIG_CONFIGFS_FS=y +CONFIG_PSTORE=y +CONFIG_NFS_FS=m +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=m +CONFIG_NFS_SWAP=y +CONFIG_CIFS=m +CONFIG_CIFS_STATS2=y +CONFIG_CIFS_WEAK_PW_HASH=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_SECURITY=y +CONFIG_CRYPTO_CRYPTD=y +CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_ECDH=m +CONFIG_CRYPTO_SEQIV=y +CONFIG_CRYPTO_ECHAINIV=y +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_XXHASH=m +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA3=m +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_ANSI_CPRNG=y +CONFIG_CRYPTO_DEV_CCREE=m +CONFIG_PACKING=y +CONFIG_INDIRECT_PIO=y +CONFIG_CRC_CCITT=m +CONFIG_CRC_T10DIF=y +CONFIG_LIBCRC32C=m +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=32 +CONFIG_IRQ_POLL=y +CONFIG_PRINTK_TIME=y +CONFIG_DEBUG_INFO=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_DEBUG_FS=y +CONFIG_DEBUG_KERNEL=y +# CONFIG_SCHED_DEBUG is not set +# CONFIG_DEBUG_PREEMPT is not set +CONFIG_STACKTRACE=y +# CONFIG_FTRACE is not set +# CONFIG_STRICT_DEVMEM is not set diff --git a/board/chromebook/elm/patches/linux-headers/linux-headers.hash b/board/chromebook/elm/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/chromebook/elm/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/chromebook/elm/patches/linux/linux.hash b/board/chromebook/elm/patches/linux/linux.hash new file mode 100644 index 00000000000..88aa603ac50 --- /dev/null +++ b/board/chromebook/elm/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 dcdf99e43e98330d925016985bfbc7b83c66d367b714b2de0cbbfcbf83d8ca43 linux-5.10.tar.xz diff --git a/board/chromebook/elm/readme.txt b/board/chromebook/elm/readme.txt new file mode 100644 index 00000000000..b63e7e8bcf5 --- /dev/null +++ b/board/chromebook/elm/readme.txt @@ -0,0 +1,56 @@ +Mediatek MT8173 aka Chromebook Elm +================================== + +This file describes booting the Chromebook from an SD card containing +Buildroot kernel and rootfs, using the original bootloader. This is +the least invasive way to get Buildroot onto the devices and a good +starting point. + +The bootloader will only boot a kernel from a GPT partition marked +bootable with cgpt tool from vboot-utils package. +The kernel image must be signed using futility from the same package. +The signing part is done by sign.sh script in this directory. + +It does not really matter where rootfs is as long as the kernel is able +to find it, but this particular configuration assumes the kernel is on +partition 1 and rootfs is on partition 2 of the SD card. +Make sure to check kernel.args if you change this. + +Making the boot media +--------------------- +Start by configuring and building the images. + + make chromebook_elm_defconfig + make menuconfig # if necessary + make + +The important files are: + + uImage.kpart (kernel and device tree, signed) + rootfs.tar + bootsd.img (SD card image containing both kernel and rootfs) + +Write the image directly to some SD card. +WARNING: make sure there is nothing important on that card, +and double-check the device name! + + SD=/dev/mmcblk1 # may be /dev/sdX on some hosts + dd if=output/images/bootsd.img of=$SD + +Switching to developer mode and booting from SD +----------------------------------------------- +Power Chromebook down, then power it up while holding Esc+F3. +BEWARE: switching to developer mode deletes all user data. +Create backups if you need them. + +While in developer mode, Chromebook will boot into a white screen saying +"OS verification is off". + +Press Ctrl-D at this screen to boot Chromium OS from eMMC. +Press Ctrl-U at this screen to boot from SD (or USB) +Press Power to power it off. +Do NOT press Space unless you mean it. +This will switch it back to normal mode. + +The is no way to get rid of the white screen without re-flashing the bootloader. + diff --git a/board/chromebook/snow/sign.sh b/board/chromebook/elm/sign.sh similarity index 89% rename from board/chromebook/snow/sign.sh rename to board/chromebook/elm/sign.sh index e8f111ff0a9..af1f9d21c86 100755 --- a/board/chromebook/snow/sign.sh +++ b/board/chromebook/elm/sign.sh @@ -4,21 +4,21 @@ # then signs it using futility from vboot-utils. # The resulting file is called uImage.kpart. -BOARD_DIR=$(dirname $0) +BOARD_DIR=$(dirname $0)/${BOARD_NAME} mkimage=$HOST_DIR/bin/mkimage futility=$HOST_DIR/bin/futility devkeys=$HOST_DIR/share/vboot/devkeys run() { echo "$@"; "$@"; } die() { echo "$@" >&2; exit 1; } -test -f $BINARIES_DIR/zImage || \ +test -f $BINARIES_DIR/Image || \ die "No kernel image found" test -x $mkimage || \ die "No mkimage found (host-uboot-tools has not been built?)" test -x $futility || \ die "No futility found (host-vboot-utils has not been built?)" -# kernel.its references zImage and exynos5250-snow.dtb, and all three +# kernel.its references Image and mt8173-elm.dtb, and all three # files must be in current directory for mkimage. run cp $BOARD_DIR/kernel.its $BINARIES_DIR/kernel.its || exit 1 echo "# entering $BINARIES_DIR for the next command" @@ -31,7 +31,7 @@ echo > $BINARIES_DIR/dummy.txt run $futility vbutil_kernel \ --keyblock $devkeys/kernel.keyblock \ --signprivate $devkeys/kernel_data_key.vbprivk \ - --arch arm \ + --arch aarch64 \ --version 1 \ --config $BOARD_DIR/kernel.args \ --vmlinuz $BINARIES_DIR/uImage.itb \ diff --git a/board/chromebook/snow/mksd.sh b/board/chromebook/mksd.sh similarity index 100% rename from board/chromebook/snow/mksd.sh rename to board/chromebook/mksd.sh diff --git a/board/chromebook/snow/kernel.args b/board/chromebook/snow/kernel.args deleted file mode 100644 index 1220bf84ac2..00000000000 --- a/board/chromebook/snow/kernel.args +++ /dev/null @@ -1 +0,0 @@ -console=tty1 clk_ignore_unused root=/dev/mmcblk1p2 rootfstype=ext4 ro diff --git a/board/chromebook/snow/kernel.its b/board/chromebook/snow/kernel.its deleted file mode 100644 index c8766ef9e8a..00000000000 --- a/board/chromebook/snow/kernel.its +++ /dev/null @@ -1,37 +0,0 @@ -/dts-v1/; - -/ { - description = "Buildroot kernel for Chromebook Snow"; - images { - kernel@1 { - description = "kernel"; - data = /incbin/("zImage"); - type = "kernel_noload"; - arch = "arm"; - os = "linux"; - compression = "none"; - load = <0>; - entry = <0>; - hash@1 { - algo = "sha1"; - }; - }; - fdt@1{ - description = "exynos5250-snow.dtb"; - data = /incbin/("exynos5250-snow.dtb"); - type = "flat_dt"; - arch = "arm"; - compression = "none"; - hash@1 { - algo = "sha1"; - }; - }; - }; - configurations { - default = "conf@1"; - conf@1{ - kernel = "kernel@1"; - fdt = "fdt@1"; - }; - }; -}; diff --git a/board/chromebook/snow/linux-4.6-dts-tpm.patch b/board/chromebook/snow/linux-4.6-dts-tpm.patch deleted file mode 100644 index c71ff1b5845..00000000000 --- a/board/chromebook/snow/linux-4.6-dts-tpm.patch +++ /dev/null @@ -1,27 +0,0 @@ -Some versions of u-boot for this Chromebook check for tpm node -in the device tree and fail badly (reboot) if it is not found. - -While not exactly correct, it is much easier to patch the mainline -device tree to match u-boot expectations than to fix u-boot on -this device. - -See https://code.google.com/p/chromium/issues/detail?id=220169 -and https://lkml.org/lkml/2013/3/4/242 - -Signed-off-by: Alex Suykov - ---- a/arch/arm/boot/dts/exynos5250-snow-common.dtsi -+++ b/arch/arm/boot/dts/exynos5250-snow-common.dtsi -@@ -466,6 +466,11 @@ - status = "okay"; - samsung,i2c-sda-delay = <100>; - samsung,i2c-max-bus-freq = <66000>; -+ -+ tpm { -+ compatible = "infineon,slb9635tt"; -+ reg = <0x20>; -+ }; - }; - - &i2c_5 { - diff --git a/board/chromebook/snow/linux-4.6.fragment b/board/chromebook/snow/linux-4.6.fragment deleted file mode 100644 index e2786dacbaa..00000000000 --- a/board/chromebook/snow/linux-4.6.fragment +++ /dev/null @@ -1,2 +0,0 @@ -CONFIG_MWIFIEX=m -CONFIG_MWIFIEX_SDIO=m diff --git a/board/chromebook/snow/readme.txt b/board/chromebook/snow/readme.txt deleted file mode 100644 index 1afd9498299..00000000000 --- a/board/chromebook/snow/readme.txt +++ /dev/null @@ -1,137 +0,0 @@ -Samsung XE303C12 aka Chromebook Snow -==================================== - -This file describes booting the Chromebook from an SD card containing -Buildroot kernel and rootfs, using the original bootloader. This is -the least invasive way to get Buildroot onto the devices and a good -starting point. - -The bootloader will only boot a kernel from a GPT partition marked -bootable with cgpt tool from vboot-utils package. -The kernel image must be signed using futility from the same package. -The signing part is done by sign.sh script in this directory. - -It does not really matter where rootfs is as long as the kernel is able -to find it, but this particular configuration assumes the kernel is on -partition 1 and rootfs is on partition 2 of the SD card. -Make sure to check kernel.args if you change this. - -Making the boot media ---------------------- -Start by configuring and building the images. - - make chromebook_snow_defconfig - make menuconfig # if necessary - make - -The important files are: - - uImage.kpart (kernel and device tree, signed) - rootfs.tar - bootsd.img (SD card image containing both kernel and rootfs) - -Write the image directly to some SD card. -WARNING: make sure there is nothing important on that card, -and double-check the device name! - - SD=/dev/mmcblk1 # may be /dev/sdX on some hosts - dd if=output/images/bootsd.img of=$SD - -Switching to developer mode and booting from SD ------------------------------------------------ -Power Chromebook down, then power it up while holding Esc+F3. -BEWARE: switching to developer mode deletes all user data. -Create backups if you need them. - -While in developer mode, Chromebook will boot into a white screen saying -"OS verification is off". - -Press Ctrl-D at this screen to boot Chromium OS from eMMC. -Press Ctrl-U at this screen to boot from SD (or USB) -Press Power to power it off. -Do NOT press Space unless you mean it. -This will switch it back to normal mode. - -The is no way to get rid of the white screen without re-flashing the bootloader. - -Troubleshooting ---------------- -Loud *BEEP* after pressing Ctrl-U means there's no valid partition to boot from. -Which in turn means either bad GPT or improperly signed kernel. - -Return to the OS verification screen without any sounds means the code managed -to reboot the board. May indicate properly signed but invalid image. - -Blank screen means the image is valid and properly signed but cannot boot -for some reason, like missing or incorrect DT. - -In case the board becomes unresponsive: - -* Press Esc+F3+Power. The board should reboot instantly. - Remove SD card to prevent it from attempting a system recovery. - -* Hold Power button for around 10s. The board should shut down into - its soft-off mode. Press Power button again or open the lid to turn in on. - -* If that does not work, disconnect the charger and push a hidden - button on the underside with a pin of some sort. The board should shut - down completely. Opening the lid and pressing Power button will not work. - To turn it back on, connect the charger. - -Partitioning SD card manually ------------------------------ -Check mksd.sh for partitioning commands. - -Use parted and cgpt on a real device, and calculate the partition -sizes properly. The kernel partition may be as small as 4MB, but -you will probably want the rootfs to occupy the whole remaining space. - -cgpt may be used to check current layout: - - output/host/bin/cgpt show $SD - -All sizes and all offsets are in 512-byte blocks. - -Writing kernel and rootfs to a partitioned SD card --------------------------------------------------- -Write .kpart directly to the bootable partition: - - dd if=output/images/uImage.kpart of=${SD}1 - -Make a new filesystem on the rootfs partition, and unpack rootfs.tar there: - - mkfs.ext4 ${SD}2 - mount ${SD2} /mnt/ - tar -xvf output/images/rootfs.tar -C /mnt/ - umount /mnt/ - -This will require root permissions even if you can write to $SD. - -Kernel command line -------------------- -The command line is taken from board/chromebook/snow/kernel.args and stored -in the vboot header (which also holds the signature). - -The original bootloader prepends "cros_secure console= " to the supplied -command line. The only way to suppress this is to enable CMDLINE_FORCE -in the kernel config, disabling external command line completely. - -That's not necessary however. The mainline kernel ignores cros_secure, -and supplying console=tty1 in kernel.args undoes the effect of console= - -Booting with console= suppresses all kernel output. -As a side effect, it makes /dev/console unusable, which the init in use must -be able to handle. - -WiFi card ---------- -Run modprobe mwifiex_sdio to load the driver. -The name of the device should be mlan0. - -Further reading ---------------- -https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/samsung-arm-chromebook -http://linux-exynos.org/wiki/Samsung_Chromebook_XE303C12/Installing_Linux -http://archlinuxarm.org/platforms/armv7/samsung/samsung-chromebook -http://www.de7ec7ed.com/2013/05/application-processor-ap-uart-samsung.html -http://www.de7ec7ed.com/2013/05/embedded-controller-ec-uart-samsung.html diff --git a/board/ci20/genimage.cfg b/board/ci20/genimage.cfg new file mode 100644 index 00000000000..2d4a18a99b1 --- /dev/null +++ b/board/ci20/genimage.cfg @@ -0,0 +1,28 @@ +image sdcard.img { + hdimage { + } + + partition uboot-spl { + in-partition-table = "no" + image = "u-boot-spl.bin" + offset = 512 + } + + partition uboot { + in-partition-table = "no" + image = "u-boot.img" + offset = 14K + } + + partition uboot-env { + in-partition-table = "no" + image = "uboot-env.bin" + offset = 526K + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + offset = 2M + } +} diff --git a/board/ci20/patches/uboot/0001-mips-Remove-default-endiannes.patch b/board/ci20/patches/uboot/0001-mips-Remove-default-endiannes.patch new file mode 100644 index 00000000000..a6191804f1e --- /dev/null +++ b/board/ci20/patches/uboot/0001-mips-Remove-default-endiannes.patch @@ -0,0 +1,66 @@ +From b3a1e97498e7987073775d49a703932c20f2df1d Mon Sep 17 00:00:00 2001 +From: Ezequiel Garcia +Date: Mon, 12 Nov 2018 14:04:46 -0300 +Subject: [PATCH] mips: Remove default endiannes + +Currently, trying to build ci20_mmc fails on little-endian +toolchains. The problem seems to be that some targets don't +have CONFIG_SYS_LITTLE_ENDIAN properly set, and therefore +the default -EB switch is selected. + +Let's get rid of the default switch entirely, and fix this problem. +While this may be a hack, it is a quick solution until +U-Boot gets CI20 proper support. + +make ARCH=mips CROSS_COMPILE=mips-linux-gnu- ci20_mmc +Configuring for ci20_mmc - Board: ci20, Options: SPL_MMC_SUPPORT,ENV_IS_IN_MMC +make +make[1]: Entering directory '/home/zeta/repos/u-boot-ci20' +Generating include/autoconf.mk +Generating include/autoconf.mk.dep +mips-linux-gnu-gcc: error: may not use both -EB and -EL +mips-linux-gnu-gcc: error: may not use both -EB and -EL +Generating include/spl-autoconf.mk +mips-linux-gnu-gcc: error: may not use both -EB and -EL +Generating include/tpl-autoconf.mk +mips-linux-gnu-gcc: error: may not use both -EB and -EL +mips-linux-gnu-gcc -DDO_DEPS_ONLY \ + -g -Os -ffunction-sections -fdata-sections -D__KERNEL__ -I/home/zeta/repos/u-boot-ci20/include -fno-builtin -ffreestanding -nostdinc -isystem /home/zeta/repos/buildroot/mips/output/host/opt/ext-toolchain/bin/../lib/gcc/mips-linux-gnu/5.3.0/include -pipe -DCONFIG_MIPS -D__MIPS__ -G 0 -EB -msoft-float -fpic -mabicalls -march=mips32 -mabi=32 -DCONFIG_32BIT -mno-branch-likely -Wall -Wstrict-prototypes \ + -o lib/asm-offsets.s lib/asm-offsets.c -c -S +if [ -f arch/mips/cpu/xburst/jz4780/asm-offsets.c ];then \ + mips-linux-gnu-gcc -DDO_DEPS_ONLY \ + -g -Os -ffunction-sections -fdata-sections -D__KERNEL__ -I/home/zeta/repos/u-boot-ci20/include -fno-builtin -ffreestanding -nostdinc -isystem /home/zeta/repos/buildroot/mips/output/host/opt/ext-toolchain/bin/../lib/gcc/mips-linux-gnu/5.3.0/include -pipe -DCONFIG_MIPS -D__MIPS__ -G 0 -EB -msoft-float -fpic -mabicalls -march=mips32 -mabi=32 -DCONFIG_32BIT -mno-branch-likely -Wall -Wstrict-prototypes \ + -o arch/mips/cpu/xburst/jz4780/asm-offsets.s arch/mips/cpu/xburst/jz4780/asm-offsets.c -c -S; \ +else \ + touch arch/mips/cpu/xburst/jz4780/asm-offsets.s; \ +fi +mips-linux-gnu-gcc: error: may not use both -EB and -EL +make[1]: *** [Makefile:747: lib/asm-offsets.s] Error 1 +make[1]: *** Waiting for unfinished jobs.... +make[1]: Leaving directory '/home/zeta/repos/u-boot-ci20' +make: *** [.boards.depend:463: ci20_mmc] Error 2 + +Signed-off-by: Ezequiel Garcia +--- +https://github.com/MIPS/CI20_u-boot/pull/19 + + arch/mips/config.mk | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/arch/mips/config.mk b/arch/mips/config.mk +index c89279025507..43560abbc0e1 100644 +--- a/arch/mips/config.mk ++++ b/arch/mips/config.mk +@@ -20,9 +20,6 @@ ifdef CONFIG_SYS_BIG_ENDIAN + ENDIANNESS := -EB + endif + +-# Default to EB if no endianess is configured +-ENDIANNESS ?= -EB +- + PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__ + + # +-- +2.19.1 + diff --git a/board/ci20/readme.txt b/board/ci20/readme.txt index ca7bb52917e..71d50706940 100644 --- a/board/ci20/readme.txt +++ b/board/ci20/readme.txt @@ -2,41 +2,45 @@ * MIPS Creator CI20 * ********************* +Introduction +============ + The 'ci20_defconfig' will create a root filesystem and a kernel image under the 'output/images/' directory. This document will try to explain how to use them in order to run Buildroot in the MIPS Creator CI20 board. -Assuming you are at the U-Boot prompt of the MIPS Creator CI20, you have to -load the generated kernel image by using the 'tftpboot' command. In -order to do that, you will need to get the network working. Here you -have the instructions to set the ip address, netmask and gateway: +How to build it +=============== + +Configure Buildroot +------------------- + + $ make ci20_defconfig + +Build the rootfs +---------------- + +Note: you will need to have access to the network, since Buildroot will +download the packages' sources. - setenv ipaddr x.x.x.x - setenv netmask x.x.x.x - setenv gatewayip x.x.x.x +You may now build your rootfs with: -Now you have to set the ip for the TFTP server you are going to load the -kernel image from, and also the name of the kernel image file (we use -'uImage' as a filename in this example): + $ make - setenv serverip x.x.x.x - setenv bootfile uImage +(This may take a while, consider getting yourself a coffee ;-) ) -And finally load the kernel image: +How to write the SD card +======================== - tftpboot +Once the build process is finished you will have an image called +"sdcard.img" in the output/images/ directory. -Now you have to extract the generated root filesystem into a USB drive -or SD-Card. Here you have the instructions to boot from the two of them. -You have to choose the one your prefer: +Make sure the SD card is not mounted then copy the bootable "sdcard.img" onto +it with "dd": -From USB - setenv bootargs console=ttyS4,115200 console=tty0 mem=256M@0x0 -mem=768M@0x30000000 root=/dev/sda1 + $ sudo dd if=output/images/sdcard.img of=/dev/sdX -From SD-Card - setenv bootargs console=ttyS4,115200 console=tty0 mem=256M@0x0 -mem=768M@0x30000000 root=/dev/mmcblk0p1 +Insert the SDcard into your ci20, and power it up. Your new system +should come up now and start a console on the UART HEADER. -And finally run this command to boot the board: - bootm +see: https://elinux.org/CI20_Hardware#Dedicated_UART_header diff --git a/board/ci20/uboot-env.txt b/board/ci20/uboot-env.txt new file mode 100644 index 00000000000..2d693af7b79 --- /dev/null +++ b/board/ci20/uboot-env.txt @@ -0,0 +1,10 @@ +baudrate=115200 +board_mfr=NP +bootargs=console=ttyS4,115200 console=tty0 mem=256M@0x0 mem=768M@0x30000000 rootwait root=/dev/mmcblk0p1 devtmpfs.mount=1 +bootcmd=run ethargs; ext4load mmc 0:1 0x88000000 /boot/uImage; bootm 0x88000000 +bootdelay=1 +ethargs=env set bootargs ${bootargs} +loads_echo=1 +stderr=eserial0,eserial4 +stdin=eserial0,eserial4 +stdout=eserial0,eserial4 diff --git a/board/ci40/genimage.cfg b/board/ci40/genimage.cfg deleted file mode 100644 index 0ffc91ce87c..00000000000 --- a/board/ci40/genimage.cfg +++ /dev/null @@ -1,12 +0,0 @@ -# Minimal SD card image -# - -image sdcard.img { - hdimage { - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/ci40/post-build.sh b/board/ci40/post-build.sh deleted file mode 100755 index 9af74c7a7eb..00000000000 --- a/board/ci40/post-build.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -# Copy to target -cp ${BINARIES_DIR}/vmlinux.gz.itb ${TARGET_DIR}/fitImage diff --git a/board/ci40/readme.txt b/board/ci40/readme.txt deleted file mode 100644 index ba1eb938835..00000000000 --- a/board/ci40/readme.txt +++ /dev/null @@ -1,65 +0,0 @@ -********************* -* MIPS Creator CI40 * -********************* - -This document details how to build and run a Buildroot system on the -MIPS Creator CI40 platform. For more details about the CI40, see -https://creatordev.io/ci40-iot-hub.html. - -How to build ------------- - -$ make ci40_defconfig -$ make - -Prepare USB/MMC for boot ------------------------- - -On successful build, "sdcard.img" file will be created in 'output/images' -folder. - -Use following command to write image to bootable device - -$ sudo dd if=./output/images/sdcard.img of=/dev/ - -Booting from USB/MMC --------------------- - -The boot loader is already present in NOR flash. To boot your newly generated -Linux and root filesystem, you need to interrupt U-Boot autoboot. Current -U-Boot is configured with 2 seconds of boot-delay, after expiry of this -boot-delay timeout U-Boot starts booting the default image. To interrupt -autoboot, press any key before the boot-delay time expires, U-Boot will -stop the autoboot process and give a U-Boot prompt. You can now boot to -your preferred boot method as describe below: - -From USB - pistachio # run usbboot - -From SD-Card - pistachio # run mmcboot - -Persistent boot command ------------------------ - -To boot automatically to your preferred boot method, use following command to -make it persistent, for example to automatically boot to usb: - - pistachio # setenv bootcmd run usbboot - pistachio # saveenv - -Flash new bootloader --------------------- - -The bootloader image will be available in the 'output/images' folder. To flash -the new bootloader, copy it to the device and use the following command on the -device: - -# flashcp -v u-boot-pistachio_marduk-.img /dev/mtd0 - -Online docs ------------ - -Mostly for OpenWRT but it is applicable to Buildroot -https://docs.creatordev.io/ci40/guides/openwrt-platform/#overview - diff --git a/board/compulab/iot-gate-imx8-ebbr/genimage.cfg b/board/compulab/iot-gate-imx8-ebbr/genimage.cfg new file mode 100644 index 00000000000..feda4c7c098 --- /dev/null +++ b/board/compulab/iot-gate-imx8-ebbr/genimage.cfg @@ -0,0 +1,45 @@ +image efi-part.vfat { + vfat { + file EFI { + image = "efi-part/EFI" + } + + file Image { + image = "Image" + } + } + + size = 64M +} + +image disk.img { + hdimage { + partition-table-type = "gpt" + } + + # When in eMMC user data, this protects U-Boot environment + partition env { + partition-type-uuid = u-boot-env + offset = 17K + size = 16K + } + + # This allows to boot from recovery SD card + partition firmware { + image = "flash.bin" + # Linux reserved + partition-type-uuid = 8DA63339-0007-60C0-C436-083AC8230908 + offset = 33K + } + + partition boot { + image = "efi-part.vfat" + partition-type-uuid = esp + bootable = true + } + + partition root { + partition-type-uuid = root-arm64 + image = "rootfs.ext2" + } +} diff --git a/board/compulab/iot-gate-imx8-ebbr/grub.cfg b/board/compulab/iot-gate-imx8-ebbr/grub.cfg new file mode 100644 index 00000000000..d99e19c4cd5 --- /dev/null +++ b/board/compulab/iot-gate-imx8-ebbr/grub.cfg @@ -0,0 +1,6 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /Image root=PARTLABEL=root rootwait +} diff --git a/board/compulab/iot-gate-imx8-ebbr/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/compulab/iot-gate-imx8-ebbr/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..49079ecd7e1 --- /dev/null +++ b/board/compulab/iot-gate-imx8-ebbr/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 e11880bf39dabfcb5945b58e848ddba661a1cd92425a997c626dec62b2dac6a9 arm-trusted-firmware-v2.13-git4.tar.gz diff --git a/board/compulab/iot-gate-imx8-ebbr/patches/linux-headers/linux-headers.hash b/board/compulab/iot-gate-imx8-ebbr/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/compulab/iot-gate-imx8-ebbr/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/compulab/iot-gate-imx8-ebbr/patches/linux/linux.hash b/board/compulab/iot-gate-imx8-ebbr/patches/linux/linux.hash new file mode 100644 index 00000000000..3f3de0911f0 --- /dev/null +++ b/board/compulab/iot-gate-imx8-ebbr/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://cdn.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 231311bd7084dc3129944d26bb43be6ff837da82fb2104a67704aebca8bfa69f linux-6.16.8.tar.xz diff --git a/board/compulab/iot-gate-imx8-ebbr/patches/optee-client/optee-client.hash b/board/compulab/iot-gate-imx8-ebbr/patches/optee-client/optee-client.hash new file mode 100644 index 00000000000..e82a2dff1de --- /dev/null +++ b/board/compulab/iot-gate-imx8-ebbr/patches/optee-client/optee-client.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 e6c6b93e2be417df57ceb05a2eb6505744e3fbdd3b2ae5e5bf79bf6028b6f84d optee-client-4.7.0.tar.gz diff --git a/board/compulab/iot-gate-imx8-ebbr/patches/optee-os/optee-os.hash b/board/compulab/iot-gate-imx8-ebbr/patches/optee-os/optee-os.hash new file mode 100644 index 00000000000..672e2a9203f --- /dev/null +++ b/board/compulab/iot-gate-imx8-ebbr/patches/optee-os/optee-os.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 976b9c184678516038d4e79766608e81d10bf136f76fd0db2dc48f90f994fbd9 optee-os-4.7.0.tar.gz diff --git a/board/compulab/iot-gate-imx8-ebbr/patches/uboot/uboot.hash b/board/compulab/iot-gate-imx8-ebbr/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/compulab/iot-gate-imx8-ebbr/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/compulab/iot-gate-imx8-ebbr/post-image.sh b/board/compulab/iot-gate-imx8-ebbr/post-image.sh new file mode 100755 index 00000000000..4e60504300b --- /dev/null +++ b/board/compulab/iot-gate-imx8-ebbr/post-image.sh @@ -0,0 +1,69 @@ +#!/bin/sh +set -eux + +BOARD_DIR=$(dirname "$0") + +# Override the default GRUB configuration file with our own. +cp -vf "${BOARD_DIR}/grub.cfg" "${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg" + +BINMAN_DIR="$BINARIES_DIR/binman" +BINMAN_DTB="$BINMAN_DIR/u-boot.dtb" +UBOOT_DIR=$(find "$BUILD_DIR" -maxdepth 1 -type d -name 'uboot-*') + +# Adjust binman dtb. +rm -fr "$BINMAN_DIR" +mkdir -v "$BINMAN_DIR" +cp -v "$UBOOT_DIR/u-boot.dtb" "$BINMAN_DTB" +# Add the fip image to the list of loadables. +fdtput -t s "$BINMAN_DTB" /binman/section/fit/configurations/@config-SEQ loadables atf fip +# Remove the tee node to avoid duplicate, as it is in the FIP image. +fdtput --remove "$BINMAN_DTB" /binman/section/fit/images/tee + +# Generate flash image with binman. +# We do this here to break the build dependency loop involving tf-a, op-tee, and +# u-boot. +# We use BL2 instead of BL31 in this configuration. +(cd "${UBOOT_DIR}" && \ +./tools/binman/binman \ + --toolpath ./tools \ + -v5 \ + build \ + -u \ + -d "$BINMAN_DTB" \ + -O . \ + -m \ + --allow-missing \ + --fake-ext-blobs \ + -I "$BINMAN_DIR" \ + -I . \ + -I ./board/compulab/imx8mm-cl-iot-gate \ + -I arch/arm/dts \ + -a of-list="imx8mm-cl-iot-gate-optee" \ + -I "$BINARIES_DIR" \ + -a atf-bl31-path=bl2.bin \ + -a tee-os-path= \ + -a ti-dm-path= \ + -a opensbi-path= \ + -a default-dt="imx8mm-cl-iot-gate-optee" \ + -a scp-path= \ + -a rockchip-tpl-path= \ + -a spl-bss-pad= \ + -a tpl-bss-pad=1 \ + -a vpl-bss-pad=1 \ + -a spl-dtb=y \ + -a tpl-dtb= \ + -a vpl-dtb= \ + -a pre-load-key-path= \ + -a of-spl-remove-props="interrupt-parent interrupts" \ + ) + +# Copy the flash image. +cp -v "$UBOOT_DIR/flash.bin" "$BINARIES_DIR/" + +# Verify that it will fit in the eMMC boot partition. +size=$(du -b "$BINARIES_DIR/flash.bin" |cut -f 1) + +if [ "$size" -gt 4160512 ]; then + echo "Flash image is too big! (${size} bytes)" >&2 + exit 1 +fi diff --git a/board/compulab/iot-gate-imx8-ebbr/readme.txt b/board/compulab/iot-gate-imx8-ebbr/readme.txt new file mode 100644 index 00000000000..2b6183e13f2 --- /dev/null +++ b/board/compulab/iot-gate-imx8-ebbr/readme.txt @@ -0,0 +1,131 @@ +Introduction +============ + +The iot-gate-imx8_ebbr_defconfig is meant to illustrate some aspects of the Arm +EBBR specification[1] and the Arm SystemReady Devicetree band[2]. +It allows building an AArch64 disk image with a U-Boot based firmware +implementing the subset of UEFI defined by EBBR, as well as a Linux OS booting +with UEFI, to run on the Compulab IOT-GATE-iMX8. [3] + +This configuration is not related with the official BSP from Compulab. [4] + +Building +======== + + $ make iot-gate-imx8_ebbr_defconfig + $ make + +Generated files under output/images/: + +* disk.img: An eMMC or USB key disk image comprising TF-A, OP-TEE, the U-Boot + bootloader, the GRUB bootloader, the Linux kernel and the root filesystem. + +* flash.bin: A firmware image suitable for flashing in eMMC boot partition + comprising TF-A, OP-TEE and the U-Boot bootloader. + +Running +======= + +Before flashing the firmware to eMMC, make sure that you have the IOTG-ACC-M2SD +M.2 to SD adapter for recovery and prepare a recovery SD card. [5] +Insert the SD card and the M.2 adapter. + +Prepare a USB key on a PC: + + # dd if=output/images/disk.img of= ; sync + +Insert the USB key, close jumper E1 on the board to select recovery boot, +connect to the UART console on the micro USB connector (a Silicon Labs CP2104 +UART bridge) with baudrate 115200, power on the board and break to U-Boot +prompt. + +Flash the firmware from the USB key to the eMMC boot partition: + + u-boot=> usb start + u-boot=> usb dev 0 + u-boot=> usb read ${loadaddr} 0x42 0x1fbe + u-boot=> mmc dev 2 1 + u-boot=> mmc write ${loadaddr} 0x42 0x1fbe + u-boot=> mmc partconf 2 0 1 0 + +Power off the board, remove jumper E1 and the M.2 SD card adapter, then restart +the board; it should boot to Linux, with the root filesystem on the USB key. + +Other setups are also possible, with the firmware and/or the root filesystem in +the eMMC user data. The firmware binary is also available as flash.bin for +convenience, to allow network download for example. + +With the firmware in the eMMC boot partition, it is possible to install or run +another OS supporting the EBBR specification. + +The image generated by the aarch64_efi_defconfig, the images from Linux +distributions such as Debian, Fedora, openSUSE, Ubuntu, OpenWrt and Yocto, and +the Arm ACS Devicetree images[6] are examples of compatible OS images. + +When installing other OSes to eMMC, it is recommended to protect the first 32KB +of the user data with a partition, as this is where the U-Boot environment can +be saved. + +Firmware details +================ + +Noteworthy firmware features: + +- TF-A, OP-TEE & U-Boot +- UEFI, with EFI variables stored on disk in the ESP +- Support for ethernet, USB and RTC +- U-Boot environment in eMMC user data (starting from byte 0x4400) + +Architecture diagram: + + Non-Secure : Secure + : + +---------------------------+ : + EL0 | Busybox | : + +---------------------------+ : +--------+ + EL1 | Linux | : | OP-TEE | S-EL1 + +---------------------------+ : +--------+ + EL2 | U-Boot, GRUB, Linux (kvm) | : + +---------------------------+ : + ...................................: + +----------------------------------------+ + | ROM, U-Boot SPL, TF-A | EL3 + +----------------------------------------+ + +Boot flow: + + ROM -+-> SPL -> TF-A -+-> OP-TEE + `-> U-Boot -> GRUB -> Linux -> Busybox + +The ROM loads U-Boot SPL. +U-Boot SPL does the DRAM setup, loads the fit image with TF-A, OP-TEE, U-Boot +and the Devicetree. +In this configuration TF-A is booting with BL2 and BL31. +OP-TEE amends the Devicetree, calls back TF-A to go to normal world. +U-Boot loads GRUB with UEFI, boots Linux at EL2. + +Miscellaneous +============= + +This configuration is based on the work of Paul Liu[7] and is inspired by the +other configurations related with EBBR, and the Arm SystemReady Devicetree Band +Integration and Testing Guide[8]. + +To avoid a circular build dependency, we skip the binman step during U-Boot +build: + + BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="cmd_binman=:" + +Then we run binman manually in the post-image script. + +Firmware update and UEFI Secure Boot are currently not supported. +The disk image cannot be used for SD card recovery at this point. + +[1] https://github.com/ARM-software/ebbr +[2] https://www.arm.com/architecture/system-architectures/systemready-compliance-program/systemready-devicetree-band +[3] https://www.compulab.com/products/iot-gateways/iot-gate-imx8-industrial-arm-iot-gateway/ +[4] https://mediawiki.compulab.com/w/index.php?title=Building_IOT-GATE-iMX8_and_SBC-IOT-iMX8_Yocto_Linux_images +[5] https://mediawiki.compulab.com/w/index.php?title=IOT-GATE-iMX8_and_SBC-IOT-iMX8:_U-Boot:_Recovery +[6] https://github.com/ARM-software/arm-systemready/tree/main/SystemReady-devicetree-band/prebuilt_images +[7] https://git.linaro.org/plugins/gitiles/people/paul.liu/systemready/build-scripts +[8] https://developer.arm.com/documentation/DUI1101/latest/ diff --git a/board/compulab/iot-gate-imx8-ebbr/u-boot.fragment b/board/compulab/iot-gate-imx8-ebbr/u-boot.fragment new file mode 100644 index 00000000000..d72664dc5c8 --- /dev/null +++ b/board/compulab/iot-gate-imx8-ebbr/u-boot.fragment @@ -0,0 +1,6 @@ +CONFIG_ARCH_MISC_INIT=y +CONFIG_CMD_RNG=y +CONFIG_DM_REGULATOR_ANATOP=y +CONFIG_DM_RNG=y +CONFIG_FSL_CAAM=y +CONFIG_PHY_ANEG_TIMEOUT=5000 diff --git a/board/coolpi/coolpi-4b/extlinux.conf b/board/coolpi/coolpi-4b/extlinux.conf new file mode 100644 index 00000000000..466ab1eed67 --- /dev/null +++ b/board/coolpi/coolpi-4b/extlinux.conf @@ -0,0 +1,4 @@ +label coolpi-4b-buildroot + kernel /Image.gz + devicetree /rk3588s-coolpi-4b.dtb + append root=/dev/mmcblk1p2 rw rootfstype=ext4 earlycon earlyprintk console=ttyS2,1500000n8 rootwait diff --git a/board/coolpi/coolpi-4b/genimage.cfg b/board/coolpi/coolpi-4b/genimage.cfg new file mode 100644 index 00000000000..826d899c958 --- /dev/null +++ b/board/coolpi/coolpi-4b/genimage.cfg @@ -0,0 +1,35 @@ +# SD card image for Cool PI 4b + +image boot.vfat { + vfat { + files = { + "Image.gz", + "rk3588s-coolpi-4b.dtb", + "extlinux" + } + } + size = 32M +} + +image sdcard.img { + hdimage { + partition-table-type = "hybrid" + } + + partition uboot { + in-partition-table = "false" + image = "u-boot-rockchip.bin" + offset = 32K + } + + partition boot { + partition-type = "0xC" + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + } +} diff --git a/board/coolpi/coolpi-4b/patches/linux-headers/linux-headers.hash b/board/coolpi/coolpi-4b/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/coolpi/coolpi-4b/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/coolpi/coolpi-4b/patches/linux/linux.hash b/board/coolpi/coolpi-4b/patches/linux/linux.hash new file mode 100644 index 00000000000..ae11c54bfd1 --- /dev/null +++ b/board/coolpi/coolpi-4b/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 de8b97cfeae74c22f832ee4ca2333c157cc978d98baa122f0ee9c01796a2fe43 linux-6.14.10.tar.xz diff --git a/board/coolpi/coolpi-4b/patches/uboot/uboot.hash b/board/coolpi/coolpi-4b/patches/uboot/uboot.hash new file mode 100644 index 00000000000..80ea21b7cb4 --- /dev/null +++ b/board/coolpi/coolpi-4b/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 439d3bef296effd54130be6a731c5b118be7fddd7fcc663ccbc5fb18294d8718 u-boot-2025.04.tar.bz2 diff --git a/board/coolpi/coolpi-4b/post-image.sh b/board/coolpi/coolpi-4b/post-image.sh new file mode 100755 index 00000000000..65b79e81c85 --- /dev/null +++ b/board/coolpi/coolpi-4b/post-image.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -e + +BOARD_DIR="$(dirname "$0")" +gzip -fk "${BINARIES_DIR}/Image" +install -m 0644 -D "$BOARD_DIR/extlinux.conf" "$BINARIES_DIR/extlinux/extlinux.conf" +support/scripts/genimage.sh -c board/coolpi/coolpi-4b/genimage.cfg diff --git a/board/coolpi/coolpi-4b/readme.txt b/board/coolpi/coolpi-4b/readme.txt new file mode 100644 index 00000000000..7213ab3baed --- /dev/null +++ b/board/coolpi/coolpi-4b/readme.txt @@ -0,0 +1,57 @@ +Cool Pi 4B +============== +https://www.cool-pi.com/product/cp4b/ + +Build: +====== + $ make coolpi_4b_defconfig + $ make + +Files created in output directory +================================= + +output/images +. +output/images/ +├── boot.vfat +├── extlinux +│   └── extlinux.conf +├── Image +├── Image.gz +├── rk3588_bl31_v1.40.elf +├── rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.12.bin +├── rk3588s-coolpi-4b.dtb +├── rootfs.ext2 +├── rootfs.ext4 -> rootfs.ext2 +├── rootfs.tar +├── sdcard.img +├── u-boot.bin +└── u-boot-rockchip.bin + +Creating bootable SD card: +========================== + +Simply invoke (as root) + +sudo dd if=output/images/sdcard.img of=/dev/sdX && sync + +Where X is your SD card device. + +Booting: +======== + +Serial console: +--------------- +The Cool Pi 4B has a 40-pin GPIO header. + +The Uart pins are as follows: + +pin 6: gnd +pin 8: tx +pin 10: rx + +Baudrate for this board is 1500000. + +Login: +------ +Enter 'root' as login user, and the prompt is ready. diff --git a/board/csky/gx6605s/gdbinit b/board/csky/gx6605s/gdbinit deleted file mode 100644 index d602aad46d5..00000000000 --- a/board/csky/gx6605s/gdbinit +++ /dev/null @@ -1,25 +0,0 @@ -tar jtag jtag://127.0.0.1:1025 -reset - -# setup CCR (Cache Config Reg) -# 0-1:MP,2:IE,3:DE,4:WB,5:RS,6:Z,7:BE -set $cr18 = 0x7d - -# vendor custom setup, double cache line & preload -set $cr30 = 0xc - -# pin mux for serial8250 -set *(unsigned int *) 0xa030a14c |= (1 << 22) | (1 << 23) - -# pass devicetree blob -# r2 is magic -# r3 is address -set $r2 = 0x20150401 -set $r3 = 0x92000000 -restore gx6605s.dtb binary 0x92000000 - -# flush cache -set $cr17 = 0x33 - -load - diff --git a/board/csky/readme.txt b/board/csky/readme.txt deleted file mode 100644 index b4605c541e5..00000000000 --- a/board/csky/readme.txt +++ /dev/null @@ -1,88 +0,0 @@ -C-SKY Development Kit - -Intro -===== - -C-SKY is a CPU Architecture from www.c-sky.com and has it own instruction set. -Just like arm and mips in linux/arch, it named as 'csky'. - -gx6605s develop board is made by Hangzhou Nationalchip and C-SKY. - -Hardware Spec: - * CPU: ck610 up to 594Mhz - * Integrate with 64MB ddr2 in SOC. - * Integrate with hardware Jtag. - * Integrate with usb-to-serial chip. - * USB ehci controller in SOC. - * Power Supply: DC 5V from two micro-usb. - -How to build it -=============== - -Configure Buildroot -------------------- - -The csky_gx6605s_defconfig configuration is a sample configuration with -all that is required to bring the gx6605s Development Board: - - $ make csky_gx6605s_defconfig - -Build everything ----------------- - -Note: you will need to have access to the network, since Buildroot will -download the packages' sources. - - $ make - -Result of the build -------------------- - -After building, you should obtain this tree: - - output/images/ - ├── vmlinux - ├── rootfs.ext2 - └── .dtb - -How to run it -============= - -Prepare Jtag-Server -------------------- - - Download the Jtag-Server here: - - https://github.com/c-sky/tools/raw/master/DebugServerConsole-linux-x86_64-V4.2.00-20161213.tar.gz - - Go to the unpacked directory: - - $./DebugServerConsole -ddc -rstwait 1000 -prereset -port 1025 - - Perhaps you need to use "sudo", which need libusb to detect c510:b210 - - $ sudo ./DebugServerConsole -ddc -rstwait 1000 -prereset -port 1025 - -Prepare USB drive ------------------ - - You sould determine which device associated to the usb drive - carefully. eg: - - $ cat /proc/partitions - 8 48 1971712 sdd - 8 49 976720 sdd1 - - $ sudo dd if=rootfs.ext2 of=/dev/sdd1 - $ sudo sync - -Run ---- - - Plug the usb drive on gx6605s dev board. - - Setup the Console with the rate 115200/8-N-1. - - $ cd output/images - $ ../host/bin/csky-linux-gdb -x ../../board/csky/gx6605s/gdbinit vmlinux - diff --git a/board/cubietech/cubieboard1/genimage.cfg b/board/cubietech/cubieboard1/genimage.cfg new file mode 100644 index 00000000000..92c86775456 --- /dev/null +++ b/board/cubietech/cubieboard1/genimage.cfg @@ -0,0 +1,16 @@ +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + size = 1016K # 1MB - 8KB + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/cubietech/cubieboard1/patches/linux/linux.hash b/board/cubietech/cubieboard1/patches/linux/linux.hash new file mode 100644 index 00000000000..aac576b5f93 --- /dev/null +++ b/board/cubietech/cubieboard1/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 4d9f3ff73214f68c0194ef02db9ca4b7ba713253ac1045441d4e9f352bc22e14 linux-6.19.6.tar.xz diff --git a/board/cubietech/cubieboard1/patches/uboot/uboot.hash b/board/cubietech/cubieboard1/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/cubietech/cubieboard1/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/cubietech/cubieboard1/readme.txt b/board/cubietech/cubieboard1/readme.txt new file mode 100644 index 00000000000..d5033f473f9 --- /dev/null +++ b/board/cubietech/cubieboard1/readme.txt @@ -0,0 +1,32 @@ +Cubietech Cubieboard1 +===================== + +Cubieboard1 is the first generation Cubieboard from Cubietech. + +Cubietech: +http://www.cubietech.com/product-detail/cubieboard1 + +Linux Sunxi Wiki: +https://linux-sunxi.org/Cubietech_Cubieboard + +Building +-------- + +Configure and build with + + make cubieboard1_defconfig + make + +Flashing +-------- + +Flash the sdcard image onto a micro sdcard with + + dd if=output/images/sdcard.img of=/dev/sdX bs=1M conv=fsync + +Running +------- + +Connect a 3V3 serial interface to the serial header on the top side of the board +(between the USB jacks and the A10 chip). Then provide power to the board. The +interface uses 115200 baud. diff --git a/board/cubietech/cubieboard1/rootfs_overlay/boot/extlinux/extlinux.conf b/board/cubietech/cubieboard1/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..5b071dce840 --- /dev/null +++ b/board/cubietech/cubieboard1/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label cubieboard-buildroot + kernel /boot/zImage + devicetree /boot/sun4i-a10-cubieboard.dtb + append console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p1 rootwait diff --git a/board/cubietech/cubieboard2/boot.cmd b/board/cubietech/cubieboard2/boot.cmd deleted file mode 100644 index a9ae0e24e6e..00000000000 --- a/board/cubietech/cubieboard2/boot.cmd +++ /dev/null @@ -1,5 +0,0 @@ -setenv fdt_high ffffffff -setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait -fatload mmc 0 $kernel_addr_r zImage -fatload mmc 0 $fdt_addr_r sun7i-a20-cubieboard2.dtb -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/cubietech/cubieboard2/genimage.cfg b/board/cubietech/cubieboard2/genimage.cfg index b082ab0da11..92c86775456 100644 --- a/board/cubietech/cubieboard2/genimage.cfg +++ b/board/cubietech/cubieboard2/genimage.cfg @@ -1,17 +1,3 @@ -# Minimal SD card image for the Cubieboard2 -# Based in the Orange Pi genimage.cfg - -image boot.vfat { - vfat { - files = { - "zImage", - "sun7i-a20-cubieboard2.dtb", - "boot.scr" - } - } - size = 10M -} - image sdcard.img { hdimage { } @@ -19,19 +5,12 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" + offset = 8K + size = 1016K # 1MB - 8KB } partition rootfs { partition-type = 0x83 image = "rootfs.ext4" - size = 512M } } diff --git a/board/cubietech/cubieboard2/patches/linux/linux.hash b/board/cubietech/cubieboard2/patches/linux/linux.hash new file mode 100644 index 00000000000..aac576b5f93 --- /dev/null +++ b/board/cubietech/cubieboard2/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 4d9f3ff73214f68c0194ef02db9ca4b7ba713253ac1045441d4e9f352bc22e14 linux-6.19.6.tar.xz diff --git a/board/cubietech/cubieboard2/patches/uboot/uboot.hash b/board/cubietech/cubieboard2/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/cubietech/cubieboard2/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/cubietech/cubieboard2/post-image.sh b/board/cubietech/cubieboard2/post-image.sh deleted file mode 100755 index 9cca1b1789e..00000000000 --- a/board/cubietech/cubieboard2/post-image.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" - -exit $? diff --git a/board/cubietech/cubieboard2/rootfs_overlay/boot/extlinux/extlinux.conf b/board/cubietech/cubieboard2/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..14c873e1673 --- /dev/null +++ b/board/cubietech/cubieboard2/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label cubieboard-buildroot + kernel /boot/zImage + devicetree /boot/sun7i-a20-cubieboard2.dtb + append console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p1 rootwait diff --git a/board/digilent/zybo/genimage.cfg b/board/digilent/zybo/genimage.cfg deleted file mode 100644 index f39186d07ba..00000000000 --- a/board/digilent/zybo/genimage.cfg +++ /dev/null @@ -1,29 +0,0 @@ -image boot.vfat { - vfat { - files = { - "BOOT.BIN", - "uEnv.txt", - "system.bit", - "zynq-zybo.dtb", - "u-boot-dtb.img", - "uImage" - } - } - size = 32M -} - -image sdcard.img { - hdimage { - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/digilent/zybo/post-image.sh b/board/digilent/zybo/post-image.sh deleted file mode 100755 index 619cb9019e4..00000000000 --- a/board/digilent/zybo/post-image.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" -OUTPUT_DIR="${O}/images" - -rm -rf "${GENIMAGE_TMP}" - -cp board/digilent/zybo/uEnv.txt ${BINARIES_DIR} -cp board/digilent/zybo/system.bit ${BINARIES_DIR} - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/board/digilent/zybo/readme.txt b/board/digilent/zybo/readme.txt deleted file mode 100644 index 4e7454c50d4..00000000000 --- a/board/digilent/zybo/readme.txt +++ /dev/null @@ -1,76 +0,0 @@ -Digilent Zybo -============= - -This is the Buildroot board support for the Digilent Zybo. The Zybo is -a development board based on the Xilinx Zynq-7000 based All-Programmable -System-On-Chip. - -Zybo information including schematics, reference designs, and manuals are -available from http://store.digilentinc.com/zybo-zynq-7000-arm-fpga-soc-trainer-board/ . - -If you want a custom FPGA bitstream to be loaded by U-Boot, copy it as -system.bit in board/digilent/zybo/. - -Steps to create a working system for Zybo: - -1) make zynq_zybo_defconfig -2) make -3) write your SD Card with the sdcard.img file using dd by doing - $ sudo dd if=output/images/sdcard.img of=/dev/sdX -4) insert the SD Card and power up your Zybo -5) Expect serial console on the second USB serial port exposed by the board - -The expected output: - - U-Boot SPL 2016.05 (May 20 2016 - 16:16:24) - mmc boot - Trying to boot from MMC1 - reading system.dtb - spl_load_image_fat_os: error reading image system.dtb, err - -1 - reading u-boot-dtb.img - reading u-boot-dtb.img - - - U-Boot 2016.05 (May 20 2016 - 16:16:24 +0200) - - Model: Zynq ZYBO Development Board - Board: Xilinx Zynq - I2C: ready - DRAM: ECC disabled 512 MiB - MMC: sdhci@e0100000: 0 - SF: Detected S25FL128S_64K with page size 256 Bytes, erase size 64 KiB, total 16 MiB - In: serial@e0001000 - Out: serial@e0001000 - Err: serial@e0001000 - Model: Zynq ZYBO Development Board - Board: Xilinx Zynq - Net: ZYNQ GEM: e000b000, phyaddr 0, interface rgmii-id - I2C EEPROM MAC address read failed - - Warning: ethernet@e000b000 (eth0) using random MAC address - 56:64:dd:a7:6d:94 - eth0: ethernet@e000b000 - ... - -Resulting system ----------------- -Once the build process is finished you will have an image called "sdcard.img" -in the output/images/ directory. - -The first partition is a FAT32 partition created at the beginning of the SD Card -that contains the following files : - /BOOT.BIN - /zynq-zybo.dtb - /uEnv.txt - /system.bit - /uImage - /u-boot-dtb.img - -The second partition is an ext4 partition that contains the root filesystem. - -You can alter the booting procedure by modifying the uEnv.txt file -in first partition of the SD card. It is a plain text file in format -= one per line: - -kernel_image=myimage -modeboot=myboot -myboot=... diff --git a/board/digilent/zybo/uEnv.txt b/board/digilent/zybo/uEnv.txt deleted file mode 100644 index 1042538a5d4..00000000000 --- a/board/digilent/zybo/uEnv.txt +++ /dev/null @@ -1,5 +0,0 @@ -bootargs=root=/dev/mmcblk0p2 rootwait rw rootfstype=ext4 -fpga_image=system.bit -fpgaboot=if fatload mmc 0 0x1000000 ${fpga_image}; then echo Booting FPGA from ${fpga_image}; fpga info 0 && fpga loadb 0 0x1000000 $filesize; else echo FPGA image ${fpga_image} was not found, skipping...; fi; -kernel_image=uImage -sdboot=echo Booting from SD...; run fpgaboot; fatload mmc 0 0x1000000 ${kernel_image} && fatload mmc 0 0x2000000 zynq-zybo.dtb && bootm 0x1000000 - 0x2000000 diff --git a/board/embest/riotboard/readme.txt b/board/embest/riotboard/readme.txt deleted file mode 100644 index b7390d0d574..00000000000 --- a/board/embest/riotboard/readme.txt +++ /dev/null @@ -1,46 +0,0 @@ -Buildroot for Embest RIoTboard -============================== - -1. Compiling buildroot ----------------------- - -make riotboard_defconfig -make - -2. Installing buildroot ------------------------ - -Prepare an SD-card and plug it into your card reader. Write the bootloader to -your SD-card: - -sudo dd if=output/images/u-boot.imx of=/dev/sdX bs=1k seek=1 - -Create 1 partition on the SD-card using your favourite tool. The -partition should be big enough to hold your rootfs, for example -128MiB. Here's an example partition layout: - - Device Boot Start End Blocks Id System -/dev/sdX1 2048 264191 131072 83 Linux - -Format the SD-card partition with your favourite filesystem: - -sudo mkfs.ext2 /dev/sdX1 - -Deploy your rootfs to the SD-card: - -sudo mkdir /mnt/sdcard/ -sudo mount /dev/sdX1 /mnt/sdcard/ -sudo tar xf output/images/rootfs.tar -C /mnt/sdcard/ -sudo umount /dev/sdX1 - -3. Running buildroot --------------------- - -Position the board so you can read the label "RIoTboard" on the right side of -SW1 DIP switches. Configure the SW1 swiches like this: - -10100101 (1 means ON position, 0 means OFF position) - -Now plug your prepared SD-card in slot J6. Connect a serial console (115200, 8, -N, 1) to header J18. Connect a 5V/1A power supply to the board and enjoy your -new toy. diff --git a/board/embest/riotboard/rootfs_overlay/boot/extlinux/extlinux.conf b/board/embest/riotboard/rootfs_overlay/boot/extlinux/extlinux.conf deleted file mode 100644 index c7d32e0097e..00000000000 --- a/board/embest/riotboard/rootfs_overlay/boot/extlinux/extlinux.conf +++ /dev/null @@ -1,6 +0,0 @@ -default buildroot - -label buildroot -kernel /boot/uImage -devicetree /boot/imx6dl-riotboard.dtb -append console=ttymxc1,115200 root=/dev/mmcblk0p1 rw diff --git a/board/engicam/geam6ul/genimage.cfg b/board/engicam/geam6ul/genimage.cfg deleted file mode 100644 index fcca6e17393..00000000000 --- a/board/engicam/geam6ul/genimage.cfg +++ /dev/null @@ -1,38 +0,0 @@ -image boot.vfat { - vfat { - files = { - "uImage", - "imx6ul-geam-kit.dtb" - } - } - size = 64M -} - -image sdcard.img { - hdimage { - } - - partition SPL { - in-partition-table = "no" - image = "SPL" - offset = 1024 - } - - partition u-boot-dtb { - in-partition-table = "no" - image = "u-boot-dtb.img" - offset = 69K - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - offset = 8M - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext2" - } -} diff --git a/board/engicam/geam6ul/readme.txt b/board/engicam/geam6ul/readme.txt deleted file mode 100644 index ace993a661c..00000000000 --- a/board/engicam/geam6ul/readme.txt +++ /dev/null @@ -1,66 +0,0 @@ -******************************************** -Buildroot for Engicam GEAM6UL SOM platforms: -******************************************** - -This file documents the Buildroot support for all Engicam GEAM6UL -SOM platform boards. - -GEAM6UL SOM Starter kits: -https://www.engicam.com/vis-prod/101115 - -This configuration uses U-Boot mainline and kernel mainline. - -Build -===== - -First, configure Buildroot for the Engicam GEAM6UL SOM: - -- for GEAM6UL SOM: - - make engicam_imx6ul_geam_defconfig - -Build all components: - - make - -You will find the following files in output/images/: - - imx6ul-geam-kit.dtb - - rootfs.ext4 - - rootfs.tar - - sdcard.img - - SPL - - u-boot-dtb.img - - uImage - -Create a bootable SD card -========================= - -To determine the device associated to the SD card have a look in the -/proc/partitions file: - - cat /proc/partitions - -Buildroot prepares a bootable "sdcard.img" image in the output/images/ -directory, ready to be dumped on a SD card. Launch the following -command as root: - - dd if=output/images/sdcard.img of=/dev/ - sync - -*** WARNING! This will destroy all the card content. Use with care! *** - -For details about the medium image layout, see the definition in -board/engicam/geam6ul/genimage.cfg - -Boot the GEAM6UL boards with SD boot: -==================================== - -To boot your newly created system: -- insert the SD card in the SD slot of the board; -- connect 3-wire RS232 serial port J28 on board, and connect with other - serial end or USB cable(if serial-to-usb converter used) using - a terminal emulator at 115200 bps, 8n1; -- close JM3 for sd boot. -- power on the board. - -Enjoy! diff --git a/board/engicam/icorem6/genimage.cfg b/board/engicam/icorem6/genimage.cfg deleted file mode 100644 index 835d905869b..00000000000 --- a/board/engicam/icorem6/genimage.cfg +++ /dev/null @@ -1,41 +0,0 @@ -image boot.vfat { - vfat { - files = { - "uImage", - "imx6dl-icore.dtb", - "imx6q-icore.dtb", - "imx6q-icore-ofcap10.dtb", - "imx6q-icore-ofcap12.dtb" - } - } - size = 64M -} - -image sdcard.img { - hdimage { - } - - partition SPL { - in-partition-table = "no" - image = "SPL" - offset = 1024 - } - - partition u-boot-dtb { - in-partition-table = "no" - image = "u-boot-dtb.img" - offset = 69K - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - offset = 8M - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext2" - } -} diff --git a/board/engicam/icorem6/linux_qt5.fragment b/board/engicam/icorem6/linux_qt5.fragment deleted file mode 100644 index 5c0505e5103..00000000000 --- a/board/engicam/icorem6/linux_qt5.fragment +++ /dev/null @@ -1,4 +0,0 @@ -# Currently kernel mainline exhibits issues when running cpufreq as ondemand -# governor on mx6. -# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set -CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y diff --git a/board/engicam/icorem6/readme.txt b/board/engicam/icorem6/readme.txt deleted file mode 100644 index bd78c5a5564..00000000000 --- a/board/engicam/icorem6/readme.txt +++ /dev/null @@ -1,93 +0,0 @@ -********************************************* -Buildroot for Engicam i.CoreM6 SOM platforms: -********************************************* - -This file documents the Buildroot support for Engicam i.CoreM6 -platform boards. - -i.CoreM6 Quad/Dual/DualLite/Solo SOM Starter kits: -https://www.engicam.com/vis-prod/101120 -i.CoreM6 Quad/Dual/DualLite/Solo Open Frame 10.1 C.TOUCH kits: -https://www.engicam.com/vis-prod/101133 - -This configuration uses U-Boot mainline and kernel mainline. - -Build -===== - -First, configure Buildroot for the Engicam i.CoreM6: - - make engicam_imx6qdl_icore_defconfig - -Build all components: - - make - -You will find the following files in output/images/: - - imx6q-icore.dtb (for i.CoreM6 Quad/Dual) - - imx6dl-icore.dtb (for i.CoreM6 DualLite/Solo) - - imx6q-icore-ofcap10.dtb (for i.CoreM6 Quad/Dual ofcap 10) - - imx6q-icore-ofcap12.dtb (for i.CoreM6 Quad/Dual ofcap 12) - - rootfs.ext4 - - rootfs.tar - - sdcard.img - - SPL - - u-boot-dtb.img - - uImage - -Create a bootable SD card -========================= - -To determine the device associated to the SD card have a look in the -/proc/partitions file: - - cat /proc/partitions - -Buildroot prepares a bootable "sdcard.img" image in the output/images/ -directory, ready to be dumped on a SD card. Launch the following -command as root: - - dd if=output/images/sdcard.img of=/dev/ - sync - -*** WARNING! This will destroy all the card content. Use with care! *** - -For details about the medium image layout, see the definition in -board/engicam/icorem6/genimage.cfg - -Boot the i.CoreM6 boards with SD boot: -===================================== - -To boot your newly created system: -- insert the SD card in the SD slot of the board; -- connect 3-wire RS232 serial port J28 on board, and connect with other - serial end or USB cable(if serial-to-usb converter used) using - a terminal emulator at 115200 bps, 8n1; -- close JM3 for sd boot. -- power on the board. - -Testing graphics on i.CoreM6: -============================ - -Build with support for Etnaviv, Qt5 and demo applications: - - make engicam_imx6qdl_icore_qt5_defconfig - make - -Running kmscube -# kmscube -D /dev/dri/card1 - -Running glmark2-es2-drm -# glmark2-es2-drm - -Running Qt5 Cinematic Demo: -- for i.CoreM6 Starter Kit -# export QT_QPA_EGLFS_KMS_CONFIG=/root/imx6qdl-icore.json -- for i.CoreM6 ofcap10 -# export QT_QPA_EGLFS_KMS_CONFIG=/root/imx6qdl-icore-ofcap10.json -- for i.CoreM6 ofcap12 -# export QT_QPA_EGLFS_KMS_CONFIG=/root/imx6qdl-icore-ofcap12.json - -# CinematicExperience-demo - -Enjoy! diff --git a/board/engicam/icorem6/rootfs_overlay/root/imx6qdl-icore-ofcap10.json b/board/engicam/icorem6/rootfs_overlay/root/imx6qdl-icore-ofcap10.json deleted file mode 100644 index 963c7c0031f..00000000000 --- a/board/engicam/icorem6/rootfs_overlay/root/imx6qdl-icore-ofcap10.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "device": "/dev/dri/card1", - "hwcursor": false, - "pbuffers": true, - "outputs": [ - { - "name": "LVDS-1", - "mode": "1280x800" - } - ] -} diff --git a/board/engicam/icorem6/rootfs_overlay/root/imx6qdl-icore-ofcap12.json b/board/engicam/icorem6/rootfs_overlay/root/imx6qdl-icore-ofcap12.json deleted file mode 100644 index 36700affdad..00000000000 --- a/board/engicam/icorem6/rootfs_overlay/root/imx6qdl-icore-ofcap12.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "device": "/dev/dri/card1", - "hwcursor": false, - "pbuffers": true, - "outputs": [ - { - "name": "LVDS-1", - "mode": "1280x480" - } - ] -} diff --git a/board/engicam/icorem6/rootfs_overlay/root/imx6qdl-icore.json b/board/engicam/icorem6/rootfs_overlay/root/imx6qdl-icore.json deleted file mode 100644 index ac139a3eafc..00000000000 --- a/board/engicam/icorem6/rootfs_overlay/root/imx6qdl-icore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "device": "/dev/dri/card1", - "hwcursor": false, - "pbuffers": true, - "outputs": [ - { - "name": "LVDS-1", - "mode": "800x480" - } - ] -} diff --git a/board/engicam/icorem6_rqs/genimage.cfg b/board/engicam/icorem6_rqs/genimage.cfg deleted file mode 100644 index 967d10b18a7..00000000000 --- a/board/engicam/icorem6_rqs/genimage.cfg +++ /dev/null @@ -1,39 +0,0 @@ -image boot.vfat { - vfat { - files = { - "uImage", - "imx6dl-icore-rqs.dtb", - "imx6q-icore-rqs.dtb" - } - } - size = 64M -} - -image sdcard.img { - hdimage { - } - - partition SPL { - in-partition-table = "no" - image = "SPL" - offset = 1024 - } - - partition u-boot-dtb { - in-partition-table = "no" - image = "u-boot-dtb.img" - offset = 69K - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - offset = 8M - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext2" - } -} diff --git a/board/engicam/icorem6_rqs/readme.txt b/board/engicam/icorem6_rqs/readme.txt deleted file mode 100644 index a0bf6f508f3..00000000000 --- a/board/engicam/icorem6_rqs/readme.txt +++ /dev/null @@ -1,69 +0,0 @@ -************************************************* -Buildroot for Engicam i.CoreM6 RQS SOM platforms: -************************************************* - -This file documents the Buildroot support for Engicam i.CoreM6 RQS -SOM platform boards. - -i.CoreM6 Quad/Dual/DualLite/Solo RQS SOM Starter kits: -https://www.engicam.com/vis-prod/101124 - -This configuration uses U-Boot mainline and kernel mainline. - -Build -===== - -First, configure Buildroot for the Engicam i.CoreM6 RQS: - -- for i.CoreM6 RQS Quad/Dual/DualLite/Solo: - - make engicam_imx6qdl_icore_rqs_defconfig - -Build all components: - - make - -You will find the following files in output/images/: -- for i.CoreM6 Quad/Dual RQS: - - imx6q-icore-rqs.dtb -- for i.CoreM6 DualLite/Solo RQS: - - imx6dl-icore-rqs.dtb - - rootfs.ext4 - - rootfs.tar - - sdcard.img - - SPL - - u-boot-dtb.img - - uImage - -Create a bootable SD card -========================= - -To determine the device associated to the SD card have a look in the -/proc/partitions file: - - cat /proc/partitions - -Buildroot prepares a bootable "sdcard.img" image in the output/images/ -directory, ready to be dumped on a SD card. Launch the following -command as root: - - dd if=output/images/sdcard.img of=/dev/ - sync - -*** WARNING! This will destroy all the card content. Use with care! *** - -For details about the medium image layout, see the definition in -board/engicam/icorem6_rqs/genimage.cfg - -Boot the i.CoreM6 RQS boards with SD boot: -========================================= - -To boot your newly created system: -- insert the SD card in the SD slot of the board; -- connect 3-wire RS232 serial port J7 on board, and connect with other - serial end or USB cable(if serial-to-usb converter used) using - a terminal emulator at 115200 bps, 8n1; -- close JM2 for sd boot. -- power on the board. - -Enjoy! diff --git a/board/engicam/isiot/genimage.cfg b/board/engicam/isiot/genimage.cfg deleted file mode 100644 index dc8c20db5fd..00000000000 --- a/board/engicam/isiot/genimage.cfg +++ /dev/null @@ -1,38 +0,0 @@ -image boot.vfat { - vfat { - files = { - "uImage", - "imx6ul-isiot-emmc.dtb" - } - } - size = 64M -} - -image sdcard.img { - hdimage { - } - - partition SPL { - in-partition-table = "no" - image = "SPL" - offset = 1024 - } - - partition u-boot-dtb { - in-partition-table = "no" - image = "u-boot-dtb.img" - offset = 69K - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - offset = 8M - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext2" - } -} diff --git a/board/engicam/isiot/readme.txt b/board/engicam/isiot/readme.txt deleted file mode 100644 index 5394007ca51..00000000000 --- a/board/engicam/isiot/readme.txt +++ /dev/null @@ -1,66 +0,0 @@ -******************************************** -Buildroot for Engicam Is.IoT SOM platforms: -******************************************** - -This file documents the Buildroot support for all Engicam Is.IoT MX6UL -SOM platform boards. - -Is.IoT MX6UL SOM Starter kits: -https://www.engicam.com/vis-prod/101122 - -This configuration uses U-Boot mainline and kernel mainline. - -Build -===== - -First, configure Buildroot for the Engicam Is.IoT MX6UL SOM: - -- for Is.IoT MX6UL SOM: - - make engicam_imx6ul_isiot_defconfig - -Build all components: - - make - -You will find the following files in output/images/: - - imx6ul-isiot-emmc.dtb - - rootfs.ext4 - - rootfs.tar - - sdcard.img - - SPL - - u-boot-dtb.img - - uImage - -Create a bootable SD card -========================= - -To determine the device associated to the SD card have a look in the -/proc/partitions file: - - cat /proc/partitions - -Buildroot prepares a bootable "sdcard.img" image in the output/images/ -directory, ready to be dumped on a SD card. Launch the following -command as root: - - dd if=output/images/sdcard.img of=/dev/ - sync - -*** WARNING! This will destroy all the card content. Use with care! *** - -For details about the medium image layout, see the definition in -board/engicam/isiot/genimage.cfg - -Boot the Is.IoT MX6UL boards with SD boot: -========================================= - -To boot your newly created system: -- insert the SD card in the SD slot of the board; -- connect 3-wire RS232 serial port J28 on board, and connect with other - serial end or USB cable(if serial-to-usb converter used) using - a terminal emulator at 115200 bps, 8n1; -- close JM3 for sd boot. -- power on the board. - -Enjoy! diff --git a/board/engicam/px30core/extlinux.conf b/board/engicam/px30core/extlinux.conf new file mode 100644 index 00000000000..6d5a845cb0f --- /dev/null +++ b/board/engicam/px30core/extlinux.conf @@ -0,0 +1,4 @@ +label Engicam-EDIMM linux + kernel /boot/Image + devicetree /boot/px30-engicam-px30-core-ctouch2-of10.dtb + append earlycon=uart8250,mmio32,0xff160000 root=/dev/mmcblk1p1 rootwait diff --git a/board/engicam/px30core/genimage.cfg b/board/engicam/px30core/genimage.cfg new file mode 100644 index 00000000000..966c869273f --- /dev/null +++ b/board/engicam/px30core/genimage.cfg @@ -0,0 +1,22 @@ +image sdcard.img { + hdimage { + } + + partition u-boot-tpl-spl-dtb { + in-partition-table = "no" + image = "idbloader.img" + offset = 32K + } + + partition u-boot-dtb { + in-partition-table = "no" + image = "u-boot.itb" + offset = 8M + size = 30M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/engicam/px30core/patches/linux-headers/linux-headers.hash b/board/engicam/px30core/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/engicam/px30core/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/engicam/px30core/patches/linux/linux.hash b/board/engicam/px30core/patches/linux/linux.hash new file mode 100644 index 00000000000..b8704508bcb --- /dev/null +++ b/board/engicam/px30core/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 ab48800ab49985a78d2318ae8ac5f28fd3e123ea17357ef21498105a53337336 linux-6.12.22.tar.xz diff --git a/board/engicam/px30core/patches/uboot/uboot.hash b/board/engicam/px30core/patches/uboot/uboot.hash new file mode 100644 index 00000000000..80ea21b7cb4 --- /dev/null +++ b/board/engicam/px30core/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 439d3bef296effd54130be6a731c5b118be7fddd7fcc663ccbc5fb18294d8718 u-boot-2025.04.tar.bz2 diff --git a/board/engicam/px30core/post-build.sh b/board/engicam/px30core/post-build.sh new file mode 100755 index 00000000000..d84a5da0b0f --- /dev/null +++ b/board/engicam/px30core/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$TARGET_DIR"/boot/extlinux/extlinux.conf diff --git a/board/engicam/px30core/readme.txt b/board/engicam/px30core/readme.txt new file mode 100644 index 00000000000..0693792d560 --- /dev/null +++ b/board/engicam/px30core/readme.txt @@ -0,0 +1,60 @@ +ENGICAM PX30-EDIMM2.2 carrier board +=================================== + +Build: + + $ make engicam_px30_core_defconfig + $ make + +Files created in output directory +--------------------------------- + +output/images + +├── bl31.elf +├── idbloader.img +├── Image +├── px30-engicam-px30-core-ctouch2-of10.dtb +├── rootfs.ext2 +├── rootfs.ext4 -> rootfs.ext2 +├── rootfs.tar +├── sdcard.img +├── u-boot.bin +└── u-boot.itb + +How to connect the board and get started: +----------------------------------------- +Ensure that the power supply is stable and provides enough current to handle +the board's needs, especially when peripherals are connected. + +Insert micro SD card on the board micro SD slot J17 + +Creating bootable SD card: +-------------------------- +sudo dd if=output/images/sdcard.img of=/dev/sdX && sync + +/dev/sdX is the path in host via which SD card is detected +Where X is your SD card device + +Connect UART port on the board J26 + +Serial console +-------------- +Launch minicom at host with 1152008N1 + +Power on the kit using J4 + +Refer link on checking board booting + +Program eMMC +------------ +Connect USB otg cable A-type to host pc, Micro USB end to board. + +Close Jumper JM5. + +Boot the Kit with SD boot. + +Program eMMC in U-Boot. (Refer link for the steps) + +Wiki link: +https://wiki.amarulasolutions.com/bsp/rockchip/px30/engicam-px30-edimm2.2.html diff --git a/board/firefly/firefly-rk3288/extlinux.conf b/board/firefly/firefly-rk3288/extlinux.conf deleted file mode 100644 index 39ac5b9dac9..00000000000 --- a/board/firefly/firefly-rk3288/extlinux.conf +++ /dev/null @@ -1,6 +0,0 @@ -default firefly-rk3288 - -label firefly-rk3288 -kernel /boot/uImage -devicetree /boot/rk3288-firefly.dtb -append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait diff --git a/board/firefly/firefly-rk3288/post-build.sh b/board/firefly/firefly-rk3288/post-build.sh deleted file mode 100755 index 94e89ce6a4a..00000000000 --- a/board/firefly/firefly-rk3288/post-build.sh +++ /dev/null @@ -1,3 +0,0 @@ -BOARD_DIR="$(dirname $0)" - -install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf diff --git a/board/firefly/firefly-rk3288/post-image.sh b/board/firefly/firefly-rk3288/post-image.sh deleted file mode 100755 index d89bc7e5503..00000000000 --- a/board/firefly/firefly-rk3288/post-image.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -MKIMAGE=$HOST_DIR/bin/mkimage - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/sd-image.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-spl-dtb.bin $BINARIES_DIR/u-boot-spl-dtb.img - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" - -exit $? diff --git a/board/firefly/firefly-rk3288/readme.txt b/board/firefly/firefly-rk3288/readme.txt deleted file mode 100644 index d6210857f10..00000000000 --- a/board/firefly/firefly-rk3288/readme.txt +++ /dev/null @@ -1,40 +0,0 @@ -Firefly RK3288 - -How to build it -=============== - - $ make firefly_rk3288_defconfig - -Then you can edit the build options using - - $ make menuconfig - -Compile all and build rootfs image: - - $ make - -Result of the build -------------------- - -After building, you should get a tree like this: - - output/images/ - ├── rk3288-firefly.dtb - ├── rootfs.ext2 - ├── rootfs.ext4 -> rootfs.ext2 - ├── sdcard.img - ├── u-boot-dtb.img - ├── u-boot-spl-dtb.bin - ├── u-boot-spl-dtb.img - └── uImage - -Prepare your SDCard -=================== - -Buildroot generates a ready-to-use SD card image that you can flash directly to -the card. The image will be in output/images/sdcard.img. -You can write this image directly to an SD card device (i.e. /dev/xxx): - - $ dd if=output/images/sdcard.img of=/dev/xxx - -Finally, you can insert the SD card to the Firefly RK3288 board and boot it. diff --git a/board/firefly/firefly-rk3288/sd-image.cfg b/board/firefly/firefly-rk3288/sd-image.cfg deleted file mode 100644 index a9eb9f0142a..00000000000 --- a/board/firefly/firefly-rk3288/sd-image.cfg +++ /dev/null @@ -1,22 +0,0 @@ -image sdcard.img { - hdimage { - } - - partition u-boot-spl-dtb { - in-partition-table = "no" - image = "u-boot-spl-dtb.img" - offset = 32K - } - - partition u-boot-dtb { - in-partition-table = "no" - image = "u-boot-dtb.img" - offset = 128K - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 512M - } -} diff --git a/board/firefly/roc-rk3399-pc/extlinux.conf b/board/firefly/roc-rk3399-pc/extlinux.conf new file mode 100644 index 00000000000..50a358fadcc --- /dev/null +++ b/board/firefly/roc-rk3399-pc/extlinux.conf @@ -0,0 +1,4 @@ +label RK3399RocPC linux + kernel /boot/Image + devicetree /boot/rk3399-roc-pc.dtb + append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk0p1 rootwait diff --git a/board/firefly/roc-rk3399-pc/genimage.cfg b/board/firefly/roc-rk3399-pc/genimage.cfg new file mode 100644 index 00000000000..966c869273f --- /dev/null +++ b/board/firefly/roc-rk3399-pc/genimage.cfg @@ -0,0 +1,22 @@ +image sdcard.img { + hdimage { + } + + partition u-boot-tpl-spl-dtb { + in-partition-table = "no" + image = "idbloader.img" + offset = 32K + } + + partition u-boot-dtb { + in-partition-table = "no" + image = "u-boot.itb" + offset = 8M + size = 30M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/firefly/roc-rk3399-pc/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/firefly/roc-rk3399-pc/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..0bf70b55422 --- /dev/null +++ b/board/firefly/roc-rk3399-pc/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 6fd749e53c455aec3418288630544e7552bbffab4442ddc48b20ebef9aee87ff arm-trusted-firmware-v2.14-git4.tar.gz diff --git a/board/firefly/roc-rk3399-pc/patches/linux-headers/linux-headers.hash b/board/firefly/roc-rk3399-pc/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/firefly/roc-rk3399-pc/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/firefly/roc-rk3399-pc/patches/linux/linux.hash b/board/firefly/roc-rk3399-pc/patches/linux/linux.hash new file mode 100644 index 00000000000..be62c295011 --- /dev/null +++ b/board/firefly/roc-rk3399-pc/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 f4855f382c1b735c84072bdef36db5bcd5dc7b0c37e42f5104317149a0a486ef linux-6.18.18.tar.xz diff --git a/board/firefly/roc-rk3399-pc/patches/uboot/uboot.hash b/board/firefly/roc-rk3399-pc/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/firefly/roc-rk3399-pc/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/firefly/roc-rk3399-pc/post-build.sh b/board/firefly/roc-rk3399-pc/post-build.sh new file mode 100755 index 00000000000..d84a5da0b0f --- /dev/null +++ b/board/firefly/roc-rk3399-pc/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$TARGET_DIR"/boot/extlinux/extlinux.conf diff --git a/board/firefly/roc-rk3399-pc/readme.txt b/board/firefly/roc-rk3399-pc/readme.txt new file mode 100644 index 00000000000..8a6f1cdee6b --- /dev/null +++ b/board/firefly/roc-rk3399-pc/readme.txt @@ -0,0 +1,40 @@ +Libre Computer Board ROC-RK3399-PC +=================================== + +Build: + + $ make roc_pc_rk3399_defconfig + $ make + +Files created in output directory +================================= + +output/images + +├── bl31.elf +├── idbloader.img +├── Image +├── rk3399-roc-pc.dtb +├── rootfs.ext2 +├── rootfs.ext4 -> rootfs.ext2 +├── rootfs.tar +├── sdcard.img +├── u-boot.bin +└── u-boot.itb + +Creating bootable SD card: +========================== + +Simply invoke (as root) + +sudo dd if=output/images/sdcard.img of=/dev/sdX && sync + +Where X is your SD card device + +Serial console +-------------- + +Baudrate for this board is 1500000 + +Wiki link: +https://wiki.amarulasolutions.com/bsp/rockchip/rk3399/roc-rk3399-pc.html diff --git a/board/freescale/common/imx/genimage.cfg.template b/board/freescale/common/imx/genimage.cfg.template index acce058b2af..61b09bde9f3 100644 --- a/board/freescale/common/imx/genimage.cfg.template +++ b/board/freescale/common/imx/genimage.cfg.template @@ -9,6 +9,7 @@ image boot.vfat { vfat { + label = "boot" files = { %FILES% } @@ -22,7 +23,7 @@ image sdcard.img { partition u-boot { in-partition-table = "no" - image = "u-boot.imx" + image = "%UBOOTBIN%" offset = 1024 } diff --git a/board/freescale/common/imx/genimage.cfg.template_imx8 b/board/freescale/common/imx/genimage.cfg.template_imx8 new file mode 100644 index 00000000000..56892050838 --- /dev/null +++ b/board/freescale/common/imx/genimage.cfg.template_imx8 @@ -0,0 +1,41 @@ +# Minimal SD card image for the Freescale iMX8 boards +# +# We mimic the .sdcard Freescale's image format: +# * the SD card must have 33 kB free space at the beginning, +# * U-Boot is integrated into imx8-boot-sd.bin and is dumped as is, +# * a FAT partition at offset 8MB is containing Image and DTB files +# * a single root filesystem partition is required (ext2, ext3 or ext4) +# + +image boot.vfat { + vfat { + label = "boot" + files = { + %FILES% + } + } + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition imx-boot { + in-partition-table = "no" + image = "imx8-boot-sd.bin" + offset = %IMXOFFSET% + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + offset = 8M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + } +} diff --git a/board/freescale/common/imx/genimage.cfg.template_imx9 b/board/freescale/common/imx/genimage.cfg.template_imx9 new file mode 100644 index 00000000000..df7ddc25b73 --- /dev/null +++ b/board/freescale/common/imx/genimage.cfg.template_imx9 @@ -0,0 +1,42 @@ +# Minimal SD card image for the NXP i.MX9 boards +# +# We mimic the .sdcard NXP's image format: +# * the SD card must have 32 kB free space at the beginning, +# * U-Boot is integrated into imx9-boot-sd.bin and is dumped as is, +# * a FAT partition at offset 8MB is containing Image and DTB files +# * a single root filesystem partition is required (ext2, ext3 or ext4) +# + +image boot.vfat { + vfat { + label = "boot" + files = { + %FILES% + } + } + + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition imx-boot { + in-partition-table = "no" + image = "imx9-boot-sd.bin" + offset = %IMXOFFSET% + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + offset = 8M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + } +} diff --git a/board/freescale/common/imx/genimage.cfg.template_no_boot_part b/board/freescale/common/imx/genimage.cfg.template_no_boot_part new file mode 100644 index 00000000000..b8fa43210b9 --- /dev/null +++ b/board/freescale/common/imx/genimage.cfg.template_no_boot_part @@ -0,0 +1,16 @@ +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "%UBOOTBIN%" + offset = 1024 + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + offset = 8M + } +} diff --git a/board/freescale/common/imx/genimage.cfg.template_no_boot_part_spl b/board/freescale/common/imx/genimage.cfg.template_no_boot_part_spl new file mode 100644 index 00000000000..ef015918a5b --- /dev/null +++ b/board/freescale/common/imx/genimage.cfg.template_no_boot_part_spl @@ -0,0 +1,31 @@ +# Minimal SD card image for the Freescale boards Template for SPL Boot +# +# We mimic the .sdcard Freescale's image format: +# * the SD card must have 1 kB free space at the beginning, +# * SPL is at the offset expected by ROM, +# * U-Boot is at the offset expected by SPL, +# * The first partition is expected to be an ext2 and have a /boot directory. +# + +image sdcard.img { + hdimage { + } + + partition spl { + in-partition-table = "no" + image = "SPL" + offset = 1024 + } + + partition u-boot { + in-partition-table = "no" + image = "%UBOOTBIN%" + offset = 69K + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + offset = 8M + } +} diff --git a/board/freescale/common/imx/genimage.cfg.template_spl b/board/freescale/common/imx/genimage.cfg.template_spl index 0b6e22864b3..3b0667c3831 100644 --- a/board/freescale/common/imx/genimage.cfg.template_spl +++ b/board/freescale/common/imx/genimage.cfg.template_spl @@ -9,6 +9,7 @@ image boot.vfat { vfat { + label = "boot" files = { %FILES% } @@ -26,9 +27,9 @@ image sdcard.img { offset = 1024 } - partition u-boot-img { + partition u-boot { in-partition-table = "no" - image = "u-boot.img" + image = "%UBOOTBIN%" offset = 69K } diff --git a/board/freescale/common/imx/imx8-bootloader-prepare.sh b/board/freescale/common/imx/imx8-bootloader-prepare.sh new file mode 100755 index 00000000000..0f5dff674fe --- /dev/null +++ b/board/freescale/common/imx/imx8-bootloader-prepare.sh @@ -0,0 +1,98 @@ +#!/usr/bin/env bash + +main () +{ + UBOOT_DTB=$2 + if [ ! -e "$UBOOT_DTB" ]; then + echo "ERROR: couldn't find dtb: $UBOOT_DTB" + exit 1 + fi + + FIT_EXTERNAL_POSITION=0x5000 + + if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then + dd if=${BINARIES_DIR}/u-boot-spl.bin of=${BINARIES_DIR}/u-boot-spl-padded.bin bs=4 conv=sync + cat ${BINARIES_DIR}/u-boot-spl-padded.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin + if grep -Eq "^BR2_TARGET_OPTEE_OS=y$" ${BR2_CONFIG}; then + BL31=${BINARIES_DIR}/bl31.bin BL32=${BINARIES_DIR}/tee.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin TEE_LOAD_ADDR=0xfe000000 ATF_LOAD_ADDR=0x00910000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its + else + BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00910000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its + fi + ${HOST_DIR}/bin/mkimage -E -p ${FIT_EXTERNAL_POSITION} -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb + rm -f ${BINARIES_DIR}/u-boot.its + + ${HOST_DIR}/bin/mkimage_imx8 -fit -signed_hdmi ${BINARIES_DIR}/signed_hdmi_imx8m.bin -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x7E1000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" ${BR2_CONFIG}; then + dd if=${BINARIES_DIR}/u-boot-spl.bin of=${BINARIES_DIR}/u-boot-spl-padded.bin bs=4 conv=sync + cat ${BINARIES_DIR}/u-boot-spl-padded.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin + if grep -Eq "^BR2_TARGET_OPTEE_OS=y$" ${BR2_CONFIG}; then + BL31=${BINARIES_DIR}/bl31.bin BL32=${BINARIES_DIR}/tee.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin TEE_LOAD_ADDR=0xbe000000 ATF_LOAD_ADDR=0x00920000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its + else + BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00920000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its + fi + ${HOST_DIR}/bin/mkimage -E -p ${FIT_EXTERNAL_POSITION} -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb + rm -f ${BINARIES_DIR}/u-boot.its + + ${HOST_DIR}/bin/mkimage_imx8 -fit -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x7E1000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y$" ${BR2_CONFIG}; then + dd if=${BINARIES_DIR}/u-boot-spl.bin of=${BINARIES_DIR}/u-boot-spl-padded.bin bs=4 conv=sync + cat ${BINARIES_DIR}/u-boot-spl-padded.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin + if grep -Eq "^BR2_TARGET_OPTEE_OS=y$" ${BR2_CONFIG}; then + BL31=${BINARIES_DIR}/bl31.bin BL32=${BINARIES_DIR}/tee.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin TEE_LOAD_ADDR=0x56000000 ATF_LOAD_ADDR=0x00960000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its + else + BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00960000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its + fi + ${HOST_DIR}/bin/mkimage -E -p ${FIT_EXTERNAL_POSITION} -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb + rm -f ${BINARIES_DIR}/u-boot.its + + ${HOST_DIR}/bin/mkimage_imx8 -v v2 -fit -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x912000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP=y$" ${BR2_CONFIG}; then + dd if=${BINARIES_DIR}/u-boot-spl.bin of=${BINARIES_DIR}/u-boot-spl-padded.bin bs=4 conv=sync + cat ${BINARIES_DIR}/u-boot-spl-padded.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin + if grep -Eq "^BR2_TARGET_OPTEE_OS=y$" ${BR2_CONFIG}; then + BL31=${BINARIES_DIR}/bl31.bin BL32=${BINARIES_DIR}/tee.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin TEE_LOAD_ADDR=0x56000000 ATF_LOAD_ADDR=0x00970000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its + else + BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00970000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its + fi + ${HOST_DIR}/bin/mkimage -E -p ${FIT_EXTERNAL_POSITION} -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb + rm -f ${BINARIES_DIR}/u-boot.its + + ${HOST_DIR}/bin/mkimage_imx8 -v v2 -fit -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x920000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8ULP=y$" "${BR2_CONFIG}"; then + SPL_LOAD_ADDR=0x22020000 + ATF_LOAD_ADDR=0x20040000 + "${HOST_DIR}/bin/mkimage_imx8" -commit > "${BINARIES_DIR}/mkimg.commit" + cat "${BINARIES_DIR}/u-boot.bin" "${BINARIES_DIR}/mkimg.commit" > "${BINARIES_DIR}/u-boot-hash.bin" + rm -f "${BINARIES_DIR}/mkimg.commit" + if grep -Eq "^BR2_TARGET_OPTEE_OS=y$" "${BR2_CONFIG}"; then + "${HOST_DIR}/bin/mkimage_imx8" -soc ULP -c -ap "${BINARIES_DIR}/bl31.bin" a35 ${ATF_LOAD_ADDR} -ap "${BINARIES_DIR}/u-boot-hash.bin" a35 0x80200000 -ap "${BINARIES_DIR}/tee.bin" a35 0xa6000000 -out "${BINARIES_DIR}/u-boot-atf-container.img" + else + "${HOST_DIR}/bin/mkimage_imx8" -soc ULP -c -ap "${BINARIES_DIR}/bl31.bin" a35 ${ATF_LOAD_ADDR} -ap "${BINARIES_DIR}/u-boot-hash.bin" a35 0x80200000 -out "${BINARIES_DIR}/u-boot-atf-container.img" + fi + if [ -e "${BINARIES_DIR}/m33_image.bin" ]; then + "${HOST_DIR}/bin/mkimage_imx8" -soc ULP -append "${BINARIES_DIR}/ahab-container.img" -c -upower "${BINARIES_DIR}/upower.bin" -m4 "${BINARIES_DIR}/m33_image.bin" 0 0x1ffc2000 -ap "${BINARIES_DIR}/u-boot-spl.bin" a35 ${SPL_LOAD_ADDR} -out "${BINARIES_DIR}/imx8-boot-sd.bin" + else + "${HOST_DIR}/bin/mkimage_imx8" -soc ULP -append "${BINARIES_DIR}/ahab-container.img" -c -upower "${BINARIES_DIR}/upower.bin" 0 0x1ffc2000 -ap "${BINARIES_DIR}/u-boot-spl.bin" a35 ${SPL_LOAD_ADDR} -out "${BINARIES_DIR}/imx8-boot-sd.bin" + fi + flashbin_size="$(wc -c "${BINARIES_DIR}/imx8-boot-sd.bin" | awk '{print $1}')" + pad_cnt=$(($((flashbin_size + 0x400 - 1)) / 0x400)) + dd if="${BINARIES_DIR}/u-boot-atf-container.img" of="${BINARIES_DIR}/imx8-boot-sd.bin" bs=1K seek=${pad_cnt} + else + ${HOST_DIR}/bin/mkimage_imx8 -commit > ${BINARIES_DIR}/mkimg.commit + cat ${BINARIES_DIR}/u-boot.bin ${BINARIES_DIR}/mkimg.commit > ${BINARIES_DIR}/u-boot-hash.bin + cp ${BINARIES_DIR}/bl31.bin ${BINARIES_DIR}/u-boot-atf.bin + dd if=${BINARIES_DIR}/u-boot-hash.bin of=${BINARIES_DIR}/u-boot-atf.bin bs=1K seek=128 + if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8=y$" ${BR2_CONFIG}; then + ${HOST_DIR}/bin/mkimage_imx8 -soc QM -rev B0 -append ${BINARIES_DIR}/ahab-container.img -c -scfw ${BINARIES_DIR}/mx8qm-mek-scfw-tcm.bin -ap ${BINARIES_DIR}/u-boot-atf.bin a53 0x80000000 -out ${BINARIES_DIR}/imx8-boot-sd.bin + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL=y$" ${BR2_CONFIG}; then + ${HOST_DIR}/bin/mkimage_imx8 -soc DXL -rev B0 -append ${BINARIES_DIR}/ahab-container.img -c -scfw ${BINARIES_DIR}/mx8dxl-evk-scfw-tcm.bin -ap ${BINARIES_DIR}/u-boot-atf.bin a35 0x80000000 -out ${BINARIES_DIR}/imx8-boot-sd.bin + else + ${HOST_DIR}/bin/mkimage_imx8 -soc QX -rev B0 -append ${BINARIES_DIR}/ahab-container.img -c -scfw ${BINARIES_DIR}/mx8qx-mek-scfw-tcm.bin -ap ${BINARIES_DIR}/u-boot-atf.bin a35 0x80000000 -out ${BINARIES_DIR}/imx8-boot-sd.bin + fi + fi + + exit $? +} + +set -e +main $@ diff --git a/board/freescale/common/imx/imx9-bootloader-prepare.sh b/board/freescale/common/imx/imx9-bootloader-prepare.sh new file mode 100755 index 00000000000..a267114d432 --- /dev/null +++ b/board/freescale/common/imx/imx9-bootloader-prepare.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +main () +{ + SPL_LOAD_ADDR=0x2049A000 + ATF_LOAD_ADDR=0x204E0000 + if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91=y$" "${BR2_CONFIG}"; then + SPL_LOAD_ADDR=0x204A0000 + ATF_LOAD_ADDR=0x204C0000 + fi + + dd if="${BINARIES_DIR}/u-boot-spl.bin" of="${BINARIES_DIR}/u-boot-spl-padded.bin" bs=4 conv=sync + cat "${BINARIES_DIR}/u-boot-spl-padded.bin" "${BINARIES_DIR}/ddr_fw.bin" > "${BINARIES_DIR}/u-boot-spl-ddr.bin" + + "${HOST_DIR}/bin/mkimage_imx8" -commit > "${BINARIES_DIR}/mkimg.commit" + cat "${BINARIES_DIR}/u-boot.bin" "${BINARIES_DIR}/mkimg.commit" > "${BINARIES_DIR}/u-boot-hash.bin" + rm -f "${BINARIES_DIR}/mkimg.commit" + + if grep -Eq "^BR2_TARGET_OPTEE_OS=y$" "${BR2_CONFIG}"; then + "${HOST_DIR}/bin/mkimage_imx8" -soc IMX9 -c \ + -ap "${BINARIES_DIR}/bl31.bin" a55 ${ATF_LOAD_ADDR} \ + -ap "${BINARIES_DIR}/u-boot-hash.bin" a55 0x80200000 \ + -ap "${BINARIES_DIR}/tee-raw.bin" a55 0x96000000 \ + -out "${BINARIES_DIR}/u-boot-atf-container.img" + else + "${HOST_DIR}/bin/mkimage_imx8" -soc IMX9 -c \ + -ap "${BINARIES_DIR}/bl31.bin" a55 ${ATF_LOAD_ADDR} \ + -ap "${BINARIES_DIR}/u-boot-hash.bin" a55 0x80200000 \ + -out "${BINARIES_DIR}/u-boot-atf-container.img" + fi + + "${HOST_DIR}/bin/mkimage_imx8" -soc IMX9 -append "${BINARIES_DIR}/ahab-container.img" -c \ + -ap "${BINARIES_DIR}/u-boot-spl-ddr.bin" a55 ${SPL_LOAD_ADDR} \ + -out "${BINARIES_DIR}/imx9-boot-sd.bin" + + flashbin_size="$(wc -c "${BINARIES_DIR}/imx9-boot-sd.bin" | awk '{print $1}')" + pad_cnt=$(($((flashbin_size + 0x400 - 1)) / 0x400)) + dd if="${BINARIES_DIR}/u-boot-atf-container.img" of="${BINARIES_DIR}/imx9-boot-sd.bin" bs=1K seek=${pad_cnt} + + exit $? +} + +main "$@" diff --git a/board/freescale/common/imx/post-image.sh b/board/freescale/common/imx/post-image.sh index b23974347b0..8d9bce5328e 100755 --- a/board/freescale/common/imx/post-image.sh +++ b/board/freescale/common/imx/post-image.sh @@ -1,5 +1,7 @@ #!/usr/bin/env bash +set -e + # # dtb_list extracts the list of DTB files from BR2_LINUX_KERNEL_INTREE_DTS_NAME # in ${BR_CONFIG}, then prints the corresponding list of file names for the @@ -7,10 +9,12 @@ # dtb_list() { - local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})" + local DTB_LIST + + DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([\/a-z0-9 \-]*\)"$/\1/p' "${BR2_CONFIG}")" for dt in $DTB_LIST; do - echo -n "\"$dt.dtb\", " + echo -n "\"$(basename "${dt}").dtb\", " done } @@ -21,8 +25,12 @@ dtb_list() # linux_image() { - if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then + if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" "${BR2_CONFIG}"; then echo "\"uImage\"" + elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" "${BR2_CONFIG}"; then + echo "\"Image\"" + elif grep -Eq "^BR2_LINUX_KERNEL_IMAGEGZ=y$" "${BR2_CONFIG}"; then + echo "\"Image.gz\"" else echo "\"zImage\"" fi @@ -30,21 +38,74 @@ linux_image() genimage_type() { - if grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then + if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8=y$" "${BR2_CONFIG}"; then + echo "genimage.cfg.template_imx8" + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" "${BR2_CONFIG}"; then + echo "genimage.cfg.template_imx8" + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" "${BR2_CONFIG}"; then + echo "genimage.cfg.template_imx8" + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y$" "${BR2_CONFIG}"; then + echo "genimage.cfg.template_imx8" + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP=y$" "${BR2_CONFIG}"; then + echo "genimage.cfg.template_imx8" + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X=y$" "${BR2_CONFIG}"; then + echo "genimage.cfg.template_imx8" + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL=y$" "${BR2_CONFIG}"; then + echo "genimage.cfg.template_imx8" + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91=y$" "${BR2_CONFIG}"; then + echo "genimage.cfg.template_imx9" + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93=y$" "${BR2_CONFIG}"; then + echo "genimage.cfg.template_imx9" + elif grep -Eq "^BR2_LINUX_KERNEL_INSTALL_TARGET=y$" "${BR2_CONFIG}"; then + if grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" "${BR2_CONFIG}"; then + echo "genimage.cfg.template_no_boot_part_spl" + else + echo "genimage.cfg.template_no_boot_part" + fi + elif grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" "${BR2_CONFIG}"; then echo "genimage.cfg.template_spl" else echo "genimage.cfg.template" fi } +imx_offset() +{ + if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" "${BR2_CONFIG}"; then + echo "33K" + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" "${BR2_CONFIG}"; then + echo "33K" + else + echo "32K" + fi +} + +uboot_image() +{ + if grep -Eq "^BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y$" "${BR2_CONFIG}"; then + echo "u-boot-dtb.imx" + elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_IMX=y$" "${BR2_CONFIG}"; then + echo "u-boot.imx" + elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y$" "${BR2_CONFIG}"; then + echo "u-boot-dtb.img" + elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_IMG=y$" "${BR2_CONFIG}"; then + echo "u-boot.img" + fi +} + main() { - local FILES="$(dtb_list) $(linux_image)" - local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)" - local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" + local FILES IMXOFFSET UBOOTBIN GENIMAGE_CFG GENIMAGE_TMP + FILES="$(dtb_list) $(linux_image)" + IMXOFFSET="$(imx_offset)" + UBOOTBIN="$(uboot_image)" + GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)" + GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" sed -e "s/%FILES%/${FILES}/" \ - board/freescale/common/imx/$(genimage_type) > ${GENIMAGE_CFG} + -e "s/%IMXOFFSET%/${IMXOFFSET}/" \ + -e "s/%UBOOTBIN%/${UBOOTBIN}/" \ + "board/freescale/common/imx/$(genimage_type)" > "${GENIMAGE_CFG}" rm -rf "${GENIMAGE_TMP}" @@ -55,9 +116,9 @@ main() --outputpath "${BINARIES_DIR}" \ --config "${GENIMAGE_CFG}" - rm -f ${GENIMAGE_CFG} + rm -f "${GENIMAGE_CFG}" exit $? } -main $@ +main "$@" diff --git a/board/freescale/common/mxs/genimage.cfg.template b/board/freescale/common/mxs/genimage.cfg.template index e094fb7f2ce..c9da4528213 100644 --- a/board/freescale/common/mxs/genimage.cfg.template +++ b/board/freescale/common/mxs/genimage.cfg.template @@ -8,6 +8,7 @@ image boot.vfat { vfat { + label = "boot" files = { %FILES% } diff --git a/board/freescale/common/mxs/post-image.sh b/board/freescale/common/mxs/post-image.sh index 0bfb835c6eb..97c8ee9079c 100755 --- a/board/freescale/common/mxs/post-image.sh +++ b/board/freescale/common/mxs/post-image.sh @@ -1,5 +1,7 @@ #!/usr/bin/env bash +set -e + # # dtb_list extracts the list of DTB files from BR2_LINUX_KERNEL_INTREE_DTS_NAME # in ${BR_CONFIG}, then prints the corresponding list of file names for the @@ -7,10 +9,12 @@ # dtb_list() { - local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})" + local DTB_LIST + + DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([\/a-z0-9 \-]*\)"$/\1/p' "${BR2_CONFIG}")" for dt in $DTB_LIST; do - echo -n "\"$dt.dtb\", " + echo -n "\"$(basename "${dt}").dtb\", " done } diff --git a/board/freescale/common/patches/arm-trusted-firmware/0001-feat-build-add-support-for-new-binutils-versions.patch b/board/freescale/common/patches/arm-trusted-firmware/0001-feat-build-add-support-for-new-binutils-versions.patch new file mode 100644 index 00000000000..335c18553ac --- /dev/null +++ b/board/freescale/common/patches/arm-trusted-firmware/0001-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1,61 @@ +From 0f75b03c008eacb9818af3a56dc088e72a623d17 Mon Sep 17 00:00:00 2001 +From: Marco Felsch +Date: Wed, 9 Nov 2022 12:59:09 +0100 +Subject: [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 +Signed-off-by: Heiko Thiery +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +--- + Makefile | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1ddb7b844..470956b19 100644 +--- a/Makefile ++++ b/Makefile +@@ -416,6 +416,8 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + # LD = armlink + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 +@@ -442,7 +444,10 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH))) + + # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other + else +-TF_LDFLAGS += --fatal-warnings -O1 ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 + TF_LDFLAGS += --gc-sections + # ld.lld doesn't recognize the errata flags, + # therefore don't add those in that case +-- +2.30.2 + diff --git a/board/freescale/common/patches/arm-trusted-firmware/0002-LF-7968-01-fix-Makefile-Suppress-array-bounds-error.patch b/board/freescale/common/patches/arm-trusted-firmware/0002-LF-7968-01-fix-Makefile-Suppress-array-bounds-error.patch new file mode 100644 index 00000000000..7a7a7bbc285 --- /dev/null +++ b/board/freescale/common/patches/arm-trusted-firmware/0002-LF-7968-01-fix-Makefile-Suppress-array-bounds-error.patch @@ -0,0 +1,51 @@ +From b2a94de52ae4a940a87d569815b19d3fa92dd32a Mon Sep 17 00:00:00 2001 +From: Tom Hochstein +Date: Mon, 16 May 2022 13:45:16 -0500 +Subject: [PATCH] LF-7968-01 fix(Makefile): Suppress array-bounds error + +The array-bounds error is triggered now in cases where it was silent +before, causing errors like: + +``` +plat/imx/imx8m/hab.c: In function 'imx_hab_handler': +plat/imx/imx8m/hab.c:64:57: error: array subscript 0 is outside array bounds of 'uint32_t[0]' {aka 'unsigned int[]'} [-Werror=array-bounds] + 64 | #define HAB_RVT_CHECK_TARGET_ARM64 ((unsigned long)*(uint32_t *)(HAB_RVT_BASE + 0x18)) + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +``` + +The error is a false-positive and is entered as a bug [1]. The problem +is fixed partially in GCC 12 and fully in GCC 13 [2]. + +The partial fix does not work here because the constant addresses used +are less than the 4kB boundary chosen for the partial fix, so suppress +the error until GCC is upgraded to 13. + +[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578 +[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578#c39 + +Upstream-Status: Inappropriate [other] +Signed-off-by: Tom Hochstein +Signed-off-by: Jacky Bai +Reviewed-by: Ye Li +Signed-off-by: Brandon Maier +Upstream: https://github.com/nxp-imx/imx-atf/commit/058bf0f104115037d03e277f079825ef3659c5b9 +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index c87c3ae08..2d6b90f47 100644 +--- a/Makefile ++++ b/Makefile +@@ -346,7 +346,7 @@ WARNINGS += -Wshift-overflow -Wshift-sign-overflow \ + endif + + ifneq (${E},0) +-ERRORS := -Werror ++ERRORS := -Werror -Wno-error=array-bounds + endif + + CPPFLAGS = ${DEFINES} ${INCLUDES} ${MBEDTLS_INC} -nostdinc \ +-- +2.41.0 + diff --git a/board/freescale/imx25pdk/readme.txt b/board/freescale/imx25pdk/readme.txt deleted file mode 100644 index 1aece6c9b3c..00000000000 --- a/board/freescale/imx25pdk/readme.txt +++ /dev/null @@ -1,54 +0,0 @@ -************************** -Freescale i.MX25 PDK board -************************** - -This file documents the Buildroot support for the Freescale i.MX25 PDK board. - -Build -===== - -First, configure Buildroot for the i.MX25 PDK board: - - make mx25pdk_defconfig - -Build all components: - - make - -You will find in output/images/ the following files: - - imx25-pdk.dtb - - rootfs.ext4 - - rootfs.tar - - sdcard.img - - u-boot.imx - - zImage - -Create a bootable SD card -========================= - -To determine the device associated to the SD card have a look in the -/proc/partitions file: - - cat /proc/partitions - -Buildroot prepares a bootable "sdcard.img" image in the output/images/ -directory, ready to be dumped on a SD card. Launch the following -command as root: - - dd if=output/images/sdcard.img of=/dev/ - -*** WARNING! This will destroy all the card content. Use with care! *** - -For details about the medium image layout, see the definition in -board/freescale/common/imx/genimage.cfg.template. - -Boot the i.MX25 PDK board -========================= - -To boot your newly created system: -- insert the SD card in the SD slot of the board; -- put a USB cable into the Debug USB Port and connect using a terminal - emulator at 115200 bps, 8n1; -- power on the board. - -Enjoy! diff --git a/board/freescale/imx28evk/patches/linux-headers/linux-headers.hash b/board/freescale/imx28evk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx28evk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx28evk/patches/linux/linux.hash b/board/freescale/imx28evk/patches/linux/linux.hash new file mode 100644 index 00000000000..8aeb3785b4b --- /dev/null +++ b/board/freescale/imx28evk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 af54b449f4fb93b8e8daa346144a7309e8e95174bd962c4b5917cf56120456d9 linux-6.6.26.tar.xz diff --git a/board/freescale/imx28evk/patches/uboot/uboot.hash b/board/freescale/imx28evk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..97a2b4eaf95 --- /dev/null +++ b/board/freescale/imx28evk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 18a853fe39fad7ad03a90cc2d4275aeaed6da69735defac3492b80508843dd4a u-boot-2024.04.tar.bz2 diff --git a/board/freescale/imx28evk/readme.txt b/board/freescale/imx28evk/readme.txt index 2920cb04cd0..5520ff1f052 100644 --- a/board/freescale/imx28evk/readme.txt +++ b/board/freescale/imx28evk/readme.txt @@ -12,7 +12,7 @@ Build First, configure Buildroot for your i.MX28 EVK board: - make freescale_imx28evk_defconfig + make imx28evk_defconfig Build all components: @@ -54,4 +54,4 @@ Enjoy! References ========== -[1] http://cache.freescale.com/files/32bit/doc/user_guide/EVK_imx28_QuickStart.pdf +[1] https://www.nxp.com/docs/en/user-guide/EVK_imx28_QuickStart.pdf diff --git a/board/freescale/imx31_3stack/linux.fragment b/board/freescale/imx31_3stack/linux.fragment deleted file mode 100644 index beb6b46f2e6..00000000000 --- a/board/freescale/imx31_3stack/linux.fragment +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_FB_MXS is not set diff --git a/board/freescale/imx31_3stack/readme.txt b/board/freescale/imx31_3stack/readme.txt deleted file mode 100644 index 4f8f393b12c..00000000000 --- a/board/freescale/imx31_3stack/readme.txt +++ /dev/null @@ -1,92 +0,0 @@ -************************************** -Freescale i.MX31 PDK development board -************************************** - -This file documents the Buildroot support for the Freescale i.MX31 PDK in "3 -stack" configuration. - -The i.MX31 Product Development Kit (or PDK) is Freescale development board [1] -based on the i.MX31 application processor [2]. - -For more details on the i.MX31 PDK board, refer to the User's Guide [3]. - -Build -===== - -First, configure Buildroot for your i.MX31 PDK board: - - make freescale_imx31_3stack_defconfig - -Build all components: - - make - -You will find in ./output/images/ the following files: - - rootfs.cpio - - rootfs.cpio.gz - - rootfs.tar - - zImage - -The generated zImage does include the rootfs. - -Boot the PDK board -================== - -The i.MX31 PDK contains a RedBoot bootloader in flash, which can be used to -boot the newly created Buildroot images from the network. - -This necessitates to setup a TFTP server first. This setup is explained for -example in Freescale i.MX31 PDK 1.5 Linux User's Guide [4]. - -Here is a sample RedBoot configuration, for proper network boot of Buildroot on -the i.MX31 PDK: - - RedBoot> fconfig -l - Run script at boot: true - Boot script: - .. load -r -b 0x100000 zImage - .. exec -c "console=ttymxc0,115200" - - Boot script timeout (1000ms resolution): 2 - Use BOOTP for network configuration: false - Gateway IP address: - Local IP address: - Local IP address mask: 255.255.255.0 - Default server IP address: - Board specifics: 0 - Console baud rate: 115200 - Set eth0 network hardware address [MAC]: false - GDB connection port: 9000 - Force console for special debug messages: false - Network debug at boot time: false - -Adapt those settings to your network configuration by replacing the appropriate -network addresses where necessary. - -You might want to verify that your i.MX31 PDK switches settings are the correct -ones for UART, power, boot mode, etc. Here is a reference switches -configuration: - - SW4 - 1 2 3 4 5 6 7 8 - ON off off off off off off ON - - SW5 SW6 SW7 SW8 SW9 SW10 - 0 1 0 0 0 0 - -See the i.MX31 PDK Linux Quick Start Guide [5] for more details on the switches -settings. - -Connect a serial terminal set to 115200n8 and power on the i.MX31 PDK board. -Buildroot will present a login prompt on the serial port. - -Enjoy! - -References -========== - -[1] http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX31PDK -[2] http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX31 -[3] http://cache.freescale.com/files/32bit/doc/user_guide/pdk15_imx31_Hardware_UG.pdf -[4] http://cache.freescale.com/files/32bit/doc/support_info/IMX31_PDK15_LINUXDOCS_BUNDLE.zip, pdk15_imx31__Linux_UG.pdf -[5] http://www.freescale.com/files/32bit/doc/quick_ref_guide/PDK14LINUXQUICKSTART.pdf diff --git a/board/freescale/imx51evk/patches/linux-headers/linux-headers.hash b/board/freescale/imx51evk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx51evk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx51evk/patches/linux/linux.hash b/board/freescale/imx51evk/patches/linux/linux.hash new file mode 100644 index 00000000000..fdda2dfdaa8 --- /dev/null +++ b/board/freescale/imx51evk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From: https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc +sha256 9c36b243e8c3ec1d5963366618f336710b84340bf95be2037b26c452392cb2d6 linux-5.10.218.tar.xz diff --git a/board/freescale/imx51evk/patches/uboot/uboot.hash b/board/freescale/imx51evk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..716b56e14d4 --- /dev/null +++ b/board/freescale/imx51evk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally computed: +sha256 b407e1510a74e863b8b5cb42a24625344f0e0c2fc7582d8c866bd899367d0454 u-boot-2021.01.tar.bz2 diff --git a/board/freescale/imx6-sabresd/linux_qt5.fragment b/board/freescale/imx6-sabresd/linux_qt5.fragment index d4f26b163c4..ffa5f63eab0 100644 --- a/board/freescale/imx6-sabresd/linux_qt5.fragment +++ b/board/freescale/imx6-sabresd/linux_qt5.fragment @@ -2,4 +2,3 @@ # ondemand governor with a mainline kernel. # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y -CONFIG_VIDEO_CODA=m diff --git a/board/freescale/imx6-sabresd/readme.txt b/board/freescale/imx6-sabresd/readme.txt index f09ff5caf44..292dab72c43 100644 --- a/board/freescale/imx6-sabresd/readme.txt +++ b/board/freescale/imx6-sabresd/readme.txt @@ -80,6 +80,7 @@ Running kmscube application: Running Qt5 Cinematic Demo: # export QT_QPA_EGLFS_KMS_CONFIG=/root/sabresd.json +# export QT_QPA_EGLFS_ALWAYS_SET_MODE=1 # /usr/share/Qt5/CinematicExperience/Qt5_CinematicExperience Running gl2mark benchmark: diff --git a/board/freescale/imx6-sabresd/rootfs_overlay/root/sabresd.json b/board/freescale/imx6-sabresd/rootfs_overlay/root/sabresd.json index d5d063af87d..fe92ce5b290 100644 --- a/board/freescale/imx6-sabresd/rootfs_overlay/root/sabresd.json +++ b/board/freescale/imx6-sabresd/rootfs_overlay/root/sabresd.json @@ -4,11 +4,11 @@ "pbuffers": true, "outputs": [ { - "name": "HDMI-1", + "name": "HDMI1", "mode": "off" }, { - "name": "LVDS-1", + "name": "LVDS1", "mode": "1024x768" } ] diff --git a/board/freescale/imx6sabre/patches/linux-headers/linux-headers.hash b/board/freescale/imx6sabre/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx6sabre/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx6sabre/patches/linux/linux.hash b/board/freescale/imx6sabre/patches/linux/linux.hash new file mode 100644 index 00000000000..b4f534dcc8d --- /dev/null +++ b/board/freescale/imx6sabre/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 4c1147a9bbe4bf36fbcbd8b1e6b0d73ec0da3c454821c58a61d32d3879afc146 linux-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx6sabre/patches/uboot/0001-mx6qsabre_common-boot-Linux-to-init-in-mfgtools-mode.patch b/board/freescale/imx6sabre/patches/uboot/0001-mx6qsabre_common-boot-Linux-to-init-in-mfgtools-mode.patch new file mode 100644 index 00000000000..cbcb7c73fba --- /dev/null +++ b/board/freescale/imx6sabre/patches/uboot/0001-mx6qsabre_common-boot-Linux-to-init-in-mfgtools-mode.patch @@ -0,0 +1,40 @@ +From 221b57404b29190e0b37f03b81dd3ee6a0fc9ce0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= +Date: Tue, 12 Aug 2014 10:17:31 +0200 +Subject: [PATCH] mx6qsabre_common: boot Linux to /init in mfgtools mode +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Buildroot supplies a nice /init wrapper script to use when booting from a +ramdisk. + +This patch tells u-boot to tell the kernel to boot into /init (instead of +/linuxrc) on i.MX6, when booting in mfgtools mode. This way we can boot a +buildroot system entirely through USB. + +Signed-off-by: Vincent Stehlé +Signed-off-by: Julien Olivain +[Julien: rebased patch on lf-6.6.23-2.0.0] +Signed-off-by: Julien Olivain +Upstream: Not applicable, Buildroot specific. +--- + include/configs/imx_env.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/configs/imx_env.h b/include/configs/imx_env.h +index 1b34478fc3f..9106d59ff9f 100644 +--- a/include/configs/imx_env.h ++++ b/include/configs/imx_env.h +@@ -54,7 +54,7 @@ + + #define CFG_MFG_ENV_SETTINGS_DEFAULT \ + "mfgtool_args=setenv bootargs console=${console},${baudrate} " \ +- "rdinit=/linuxrc " \ ++ "rdinit=/init " \ + "clk_ignore_unused "\ + "\0" \ + "kboot="MFG_BOOT_CMD"\0"\ +-- +2.45.2 + diff --git a/board/freescale/imx6sabre/patches/uboot/uboot-0001-mx6qsabre_common-boot-Linux-to-init-in-mfgtools-mode.patch b/board/freescale/imx6sabre/patches/uboot/uboot-0001-mx6qsabre_common-boot-Linux-to-init-in-mfgtools-mode.patch deleted file mode 100644 index 9e2aebf3d9f..00000000000 --- a/board/freescale/imx6sabre/patches/uboot/uboot-0001-mx6qsabre_common-boot-Linux-to-init-in-mfgtools-mode.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 90ecc0ad14337898b75843efc6530fc4a34f7808 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= -Date: Tue, 12 Aug 2014 10:17:31 +0200 -Subject: [PATCH] mx6qsabre_common: boot Linux to /init in mfgtools mode -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Buildroot supplies a nice /init wrapper script to use when booting from a -ramdisk. - -This patch tells u-boot to tell the kernel to boot into /init (instead of -/linuxrc) on i.MX6, when booting in mfgtools mode. This way we can boot a -buildroot system entirely through USB. - -Signed-off-by: Vincent Stehlé ---- - include/configs/mx6sabre_common.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/configs/mx6sabre_common.h b/include/configs/mx6sabre_common.h -index 93d4c4b..d2e7efd 100644 ---- a/include/configs/mx6sabre_common.h -+++ b/include/configs/mx6sabre_common.h -@@ -106,7 +106,7 @@ - - #define CONFIG_MFG_ENV_SETTINGS \ - "mfgtool_args=setenv bootargs console=" CONFIG_CONSOLE_DEV ",115200 " \ -- "rdinit=/linuxrc " \ -+ "rdinit=/init " \ - "g_mass_storage.stall=0 g_mass_storage.removable=1 " \ - "g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF "\ - "g_mass_storage.iSerialNumber=\"\" "\ --- -2.1.4 - diff --git a/board/freescale/imx6sabre/patches/uboot/uboot.hash b/board/freescale/imx6sabre/patches/uboot/uboot.hash new file mode 100644 index 00000000000..309a684c2d6 --- /dev/null +++ b/board/freescale/imx6sabre/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 18a32d6c79538e4f90746674873b196f9c48be24caef0ab5c1bec920a1816825 uboot-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx6sabre/readme.txt b/board/freescale/imx6sabre/readme.txt index 4b8db5233a9..320ee463e20 100644 --- a/board/freescale/imx6sabre/readme.txt +++ b/board/freescale/imx6sabre/readme.txt @@ -8,15 +8,15 @@ as well as the Freescale SABRE Board for Automotive Infotainment. Read the i.MX 6 SABRESD Quick Start Guide for an introduction to the board: -http://cache.freescale.com/files/32bit/doc/quick_start_guide/SABRESDB_IMX6_QSG.pdf +https://www.nxp.com/files-static/32bit/doc/quick_start_guide/SABRESDB_IMX6_QSG.pdf Read the i.MX 6 SoloX SABRESD Quick Start Guide for an introduction to the board: -http://cache.freescale.com/files/32bit/doc/user_guide/IMX6SOLOXQSG.pdf +https://www.nxp.com/files-static/32bit/doc/quick_start_guide/IMX6SOLOXQSG.pdf Read the SABRE for Automotive Infotainment Quick Start Guide for an introduction to the board: -http://cache.freescale.com/files/32bit/doc/user_guide/IMX6SABREINFOQSG.pdf +https://www.nxp.com/webapp/Download?colCode=IMX6SABREINFOQSG Building with NXP kernel and NXP U-Boot ======================================= @@ -166,6 +166,6 @@ Enjoy! References ========== -https://community.freescale.com/docs/DOC-95015 -https://community.freescale.com/docs/DOC-95017 -https://community.freescale.com/docs/DOC-99218 +https://community.nxp.com/docs/DOC-95015 +https://community.nxp.com/docs/DOC-95017 +https://community.nxp.com/docs/DOC-99218 diff --git a/board/freescale/imx6slevk/readme.txt b/board/freescale/imx6slevk/readme.txt new file mode 100644 index 00000000000..424380e31fe --- /dev/null +++ b/board/freescale/imx6slevk/readme.txt @@ -0,0 +1,14 @@ +NXP i.MX6SL EVK board +--------------------- + +To build a minimal support for this board: + +$ make imx6slevk_defconfig +$ make + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be flashed into the SD card: + +$ sudo dd if=output/images/sdcard.img of=/dev/; sync + +Then insert the SD card into the SD2 slot and boot the board. diff --git a/board/freescale/imx6sxsdb/readme.txt b/board/freescale/imx6sxsdb/readme.txt new file mode 100644 index 00000000000..2779075f0b6 --- /dev/null +++ b/board/freescale/imx6sxsdb/readme.txt @@ -0,0 +1,14 @@ +NXP i.MX6SX SDB board +--------------------- + +To build a minimal support for this board: + +$ make imx6sx-sdb_defconfig +$ make + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be flashed into the SD card: + +$ sudo dd if=output/images/sdcard.img of=/dev/; sync + +Then insert the SD card into the SD4 boot slot and boot the board. diff --git a/board/freescale/imx6ulevk/readme.txt b/board/freescale/imx6ulevk/readme.txt index 25b95fec524..5a5b4ae5a37 100644 --- a/board/freescale/imx6ulevk/readme.txt +++ b/board/freescale/imx6ulevk/readme.txt @@ -12,8 +12,18 @@ Build First, configure Buildroot for your i.MX6UL EVK board: +In order to do so there are two supported options: + make freescale_imx6ulevk_defconfig +if you plan to use NXP provided U-Boot and kernel. + +or + + make imx6ulevk_defconfig + +if you plan to use mainline U-Boot and mainline kernel. + Build all components: make @@ -61,4 +71,4 @@ Enjoy! References ========== -[1] http://cache.freescale.com/files/32bit/doc/quick_start_guide/IMX6ULTRALITEQSG.pdf +[1] https://www.nxp.com/webapp/Download?colCode=IMX6ULTRALITEQSG diff --git a/board/freescale/imx6ull-evk/linux_sdma.fragment b/board/freescale/imx6ull-evk/linux_sdma.fragment new file mode 100644 index 00000000000..6f1c8b4313c --- /dev/null +++ b/board/freescale/imx6ull-evk/linux_sdma.fragment @@ -0,0 +1 @@ +CONFIG_IMX_SDMA=m diff --git a/board/freescale/imx6ull-evk/patches/linux-headers/linux-headers.hash b/board/freescale/imx6ull-evk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx6ull-evk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx6ull-evk/patches/linux/linux.hash b/board/freescale/imx6ull-evk/patches/linux/linux.hash new file mode 100644 index 00000000000..b1a0042a91a --- /dev/null +++ b/board/freescale/imx6ull-evk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz diff --git a/board/freescale/imx6ull-evk/patches/uboot/uboot.hash b/board/freescale/imx6ull-evk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/freescale/imx6ull-evk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/freescale/imx6ull-evk/readme.txt b/board/freescale/imx6ull-evk/readme.txt new file mode 100644 index 00000000000..8203a120268 --- /dev/null +++ b/board/freescale/imx6ull-evk/readme.txt @@ -0,0 +1,64 @@ +**************************** +Freescale i.MX6ULL EVK board +**************************** + +This file documents the Buildroot support for the Freescale i.MX6ULL EVK board +using Upstream U-Boot and Linux. + +Build +===== + +First, configure Buildroot for your i.MX6ULL EVK board: + +In order to do so issue: + + make imx6ullevk_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - boot.vfat + - imx6ull-14x14-evk.dtb + - rootfs.ext2 + - rootfs.ext4 + - rootfs.tar + - sdcard.img + - u-boot.bin + - u-boot-dtb.imx + - zImage + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=./output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/common/imx/genimage.cfg.template. + +Boot the i.MX6ULL EVK board +=========================== + +To boot your newly created system (refer to the i.MX 6ULL EVK Quick Start Guide [1] for guidance): +- insert the SD card in the micro SD slot of the board; +- put a micro USB cable into the Debug USB Port and connect using a terminal + emulator at 115200 bps, 8n1; +- power on the board. + +Enjoy! + +References +========== +[1] https://www.nxp.com/webapp/Download?colCode=IMX6ULLQSG diff --git a/board/freescale/imx6ullevk/linux_sdma.fragment b/board/freescale/imx6ullevk/linux_sdma.fragment new file mode 100644 index 00000000000..6f1c8b4313c --- /dev/null +++ b/board/freescale/imx6ullevk/linux_sdma.fragment @@ -0,0 +1 @@ +CONFIG_IMX_SDMA=m diff --git a/board/freescale/imx6ullevk/patches/linux-headers/linux-headers.hash b/board/freescale/imx6ullevk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx6ullevk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx6ullevk/patches/linux/linux.hash b/board/freescale/imx6ullevk/patches/linux/linux.hash new file mode 100644 index 00000000000..b138642633a --- /dev/null +++ b/board/freescale/imx6ullevk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 2166d92e5631ee11bd249d492a1f4009c7635ee36b835fa55384b4ce41e8a63f linux-imx-lf-6.12.49-2.2.0.tar.gz diff --git a/board/freescale/imx6ullevk/patches/uboot/uboot.hash b/board/freescale/imx6ullevk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..5d57adfa22b --- /dev/null +++ b/board/freescale/imx6ullevk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 212ea4d8d442153ab732ab724282fef64450e9dab5cfe9565eec4f618e305a80 uboot-imx-lf-6.12.49-2.2.0.tar.gz diff --git a/board/freescale/imx6ullevk/readme.txt b/board/freescale/imx6ullevk/readme.txt new file mode 100644 index 00000000000..80db3a46ca6 --- /dev/null +++ b/board/freescale/imx6ullevk/readme.txt @@ -0,0 +1,64 @@ +**************************** +Freescale i.MX6ULL EVK board +**************************** + +This file documents the Buildroot support for the Freescale i.MX6ULL EVK board +using Vendor U-Boot and Linux. + +Build +===== + +First, configure Buildroot for your i.MX6ULL EVK board: + +In order to do so issue: + + make freescale_imx6ullevk_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - boot.vfat + - imx6ull-14x14-evk.dtb + - rootfs.ext2 + - rootfs.ext4 + - rootfs.tar + - sdcard.img + - u-boot.bin + - u-boot.imx + - zImage + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=./output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/common/imx/genimage.cfg.template. + +Boot the i.MX6ULL EVK board +=========================== + +To boot your newly created system (refer to the i.MX 6ULL EVK Quick Start Guide [1] for guidance): +- insert the SD card in the micro SD slot of the board; +- put a micro USB cable into the Debug USB Port and connect using a terminal + emulator at 115200 bps, 8n1; +- power on the board. + +Enjoy! + +References +========== +[1] https://www.nxp.com/files-static/32bit/doc/brochure/IMX6ULLQSG.pdf diff --git a/board/freescale/imx7dsdb/patches/linux-headers/linux-headers.hash b/board/freescale/imx7dsdb/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx7dsdb/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx7dsdb/patches/linux/linux.hash b/board/freescale/imx7dsdb/patches/linux/linux.hash new file mode 100644 index 00000000000..b4f534dcc8d --- /dev/null +++ b/board/freescale/imx7dsdb/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 4c1147a9bbe4bf36fbcbd8b1e6b0d73ec0da3c454821c58a61d32d3879afc146 linux-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx7dsdb/patches/uboot/uboot.hash b/board/freescale/imx7dsdb/patches/uboot/uboot.hash new file mode 100644 index 00000000000..309a684c2d6 --- /dev/null +++ b/board/freescale/imx7dsdb/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 18a32d6c79538e4f90746674873b196f9c48be24caef0ab5c1bec920a1816825 uboot-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx7dsdb/rootfs_overlay/boot/extlinux/extlinux.conf b/board/freescale/imx7dsdb/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..d538b5d6432 --- /dev/null +++ b/board/freescale/imx7dsdb/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +Label imx7d-sabresd-buildroot + kernel /boot/zImage + devicetree /boot/imx7d-sdb.dtb + append root=PARTUUID=${uuid} rootwait rw console=${console},${baudrate} diff --git a/board/freescale/imx8dxlevk/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/imx8dxlevk/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..da0200d9acd --- /dev/null +++ b/board/freescale/imx8dxlevk/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 a696ee1c75140cd5ddb9d4349c921952f80e2a8a21bc6bd92f905959a6b1798f imx-atf-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8dxlevk/patches/linux-headers/linux-headers.hash b/board/freescale/imx8dxlevk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx8dxlevk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx8dxlevk/patches/linux/linux.hash b/board/freescale/imx8dxlevk/patches/linux/linux.hash new file mode 100644 index 00000000000..b4f534dcc8d --- /dev/null +++ b/board/freescale/imx8dxlevk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 4c1147a9bbe4bf36fbcbd8b1e6b0d73ec0da3c454821c58a61d32d3879afc146 linux-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8dxlevk/patches/uboot/uboot.hash b/board/freescale/imx8dxlevk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..309a684c2d6 --- /dev/null +++ b/board/freescale/imx8dxlevk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 18a32d6c79538e4f90746674873b196f9c48be24caef0ab5c1bec920a1816825 uboot-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8dxlevk/readme.txt b/board/freescale/imx8dxlevk/readme.txt new file mode 100644 index 00000000000..33ceb669318 --- /dev/null +++ b/board/freescale/imx8dxlevk/readme.txt @@ -0,0 +1,69 @@ +****************************** +Freescale i.MX8DXL WEVK board +****************************** + +This file documents the Buildroot support for the Freescale i.MX8DXL WEVK +board. + +Build +===== + +First, configure Buildroot for the i.MX8DXL WEVK board: + + make freescale_imx8dxlevk_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - ahab-container.img + - bl31.bin + - boot.vfat + - Image + - imx8-boot-sd.bin + - imx8dxl-evk.dtb + - mkimg.commit + - mx8dxl-ddr3-evk-scfw-tcm.bin + - mx8dxl-evk-scfw-tcm.bin + - mx8dxl-phantom-mek-scfw-tcm.bin + - mx8dxl-val-scfw-tcm.bin + - rootfs.ext2 + - rootfs.ext4 + - rootfs.tar + - sdcard.img + - u-boot-atf.bin + - u-boot.bin + - u-boot-hash.bin + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/common/imx/genimage.cfg.template_imx8. + +Boot the i.MX8DXL WEVK board +============================ + +To boot your newly created system: +- insert the SD card in the SD slot of the board; +- Configure the boot switch as follows: +SW1: ON ON OFF OFF +- put a micro USB cable into the Debug USB Port and connect using a terminal + emulator at 115200 bps, 8n1; +- power on the board. + +Enjoy! diff --git a/board/freescale/imx8mm-evk/extlinux.conf.in b/board/freescale/imx8mm-evk/extlinux.conf.in new file mode 100644 index 00000000000..f647394cf36 --- /dev/null +++ b/board/freescale/imx8mm-evk/extlinux.conf.in @@ -0,0 +1,4 @@ +label buildroot + kernel /boot/Image + devicetree /boot/freescale/imx8mm-evk.dtb + append root=PARTUUID=%PARTUUID% rootwait rw diff --git a/board/freescale/imx8mm-evk/genimage.cfg.in b/board/freescale/imx8mm-evk/genimage.cfg.in new file mode 100644 index 00000000000..bc100b171dd --- /dev/null +++ b/board/freescale/imx8mm-evk/genimage.cfg.in @@ -0,0 +1,17 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition imx-boot { + in-partition-table = "no" + image = "flash.bin" + offset = 33K + } + + partition rootfs { + offset = 8M + image = "rootfs.ext4" + partition-uuid = %PARTUUID% + } +} diff --git a/board/freescale/imx8mm-evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/imx8mm-evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..b5898cba3f9 --- /dev/null +++ b/board/freescale/imx8mm-evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 06b35a3596b8417bf66f7bfdd7acd181bcb53fc36dc13216227b5cae154e0219 arm-trusted-firmware-v2.12-git4.tar.gz diff --git a/board/freescale/imx8mm-evk/patches/linux-headers/linux-headers.hash b/board/freescale/imx8mm-evk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx8mm-evk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx8mm-evk/patches/linux/linux.hash b/board/freescale/imx8mm-evk/patches/linux/linux.hash new file mode 100644 index 00000000000..5e0df51126d --- /dev/null +++ b/board/freescale/imx8mm-evk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 5f81362a694f51520bff9faecb73f1cc9bc7bece6fdd10d5c27e348df39d7dc4 linux-6.12.16.tar.xz diff --git a/board/freescale/imx8mm-evk/patches/uboot/uboot.hash b/board/freescale/imx8mm-evk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..50674352d71 --- /dev/null +++ b/board/freescale/imx8mm-evk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 cdef7d507c93f1bbd9f015ea9bc21fa074268481405501945abc6f854d5b686f u-boot-2025.01.tar.bz2 diff --git a/board/freescale/imx8mm-evk/post-build.sh b/board/freescale/imx8mm-evk/post-build.sh new file mode 100755 index 00000000000..604f387768d --- /dev/null +++ b/board/freescale/imx8mm-evk/post-build.sh @@ -0,0 +1,7 @@ +#!/bin/sh +BOARD_DIR="$(dirname "$0")" +PARTUUID="$("$HOST_DIR"/bin/uuidgen)" + +install -d "$TARGET_DIR/boot/extlinux/" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/extlinux.conf.in" > "$TARGET_DIR/boot/extlinux/extlinux.conf" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/genimage.cfg.in" > "$BINARIES_DIR/genimage.cfg" diff --git a/board/freescale/imx8mm-evk/readme.txt b/board/freescale/imx8mm-evk/readme.txt new file mode 100644 index 00000000000..452a066c70b --- /dev/null +++ b/board/freescale/imx8mm-evk/readme.txt @@ -0,0 +1,31 @@ +NXP i.MX8MM EVK +=============== + +This is a Buildroot target for building an image for the imx8mm-evk +board using upstream components: TF-A, U-Boot and kernel. + +How to build it +=============== + +Configure Buildroot and build it: + + $ make imx8mm-evk_defconfig + $ make + +Flashing the SD card image +========================== + +Copy the sdcard.img file into the SD card: + + $ sudo dd if=output/images/sdcard.img of=; sync + + +Booting the board +================= + +To boot your newly created system: + +- Insert the SD card in the MicroSD slot of the board. +- Connect a serial to USB cable to the DEBUG port. +- Open a terminal on the ttyUSB1 port. For example: sudo picocom -b 115200 /dev/ttyUSB1 +- Power on the board. diff --git a/board/freescale/imx8mmevk/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/imx8mmevk/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..da0200d9acd --- /dev/null +++ b/board/freescale/imx8mmevk/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 a696ee1c75140cd5ddb9d4349c921952f80e2a8a21bc6bd92f905959a6b1798f imx-atf-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8mmevk/patches/linux-headers/linux-headers.hash b/board/freescale/imx8mmevk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx8mmevk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx8mmevk/patches/linux/linux.hash b/board/freescale/imx8mmevk/patches/linux/linux.hash new file mode 100644 index 00000000000..b4f534dcc8d --- /dev/null +++ b/board/freescale/imx8mmevk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 4c1147a9bbe4bf36fbcbd8b1e6b0d73ec0da3c454821c58a61d32d3879afc146 linux-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8mmevk/patches/uboot/uboot.hash b/board/freescale/imx8mmevk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..309a684c2d6 --- /dev/null +++ b/board/freescale/imx8mmevk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 18a32d6c79538e4f90746674873b196f9c48be24caef0ab5c1bec920a1816825 uboot-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8mmevk/readme.txt b/board/freescale/imx8mmevk/readme.txt new file mode 100644 index 00000000000..7b69405d303 --- /dev/null +++ b/board/freescale/imx8mmevk/readme.txt @@ -0,0 +1,71 @@ +*************************** +Freescale i.MX8MM EVK board +*************************** + +This file documents the Buildroot support for the Freescale i.MX8MM +EVK board. + +Build +===== + +First, configure Buildroot for the i.MX8MM EVK board: + + make freescale_imx8mmevk_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - bl31.bin + - boot.vfat + - fsl-imx8mm-evk.dtb + - Image + - imx8-boot-sd.bin + - lpddr4_pmu_train_fw.bin + - rootfs.ext2 + - rootfs.ext4 + - rootfs.tar + - sdcard.img + - u-boot.bin + - u-boot.imx + - u-boot-nodtb.bin + - u-boot-spl-ddr.bin + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/common/imx/genimage.cfg.template_imx8. + +Boot the i.MX8MM EVK board +========================== + +To boot your newly created system (refer to the i.MX8MMini EVK Quick Start Guide +[1] for guidance): +- insert the SD card in the SD slot of the board; +- Configure the switches as follows: +SW1101: 0110110010 [D1-D10] +SW1102: 0001101000 [D1-D10] +- put a micro USB cable into the Debug USB Port and connect using a terminal + emulator at 115200 bps, 8n1; +- power on the board. + +Enjoy! + +References +========== +[1] https://www.nxp.com/document/guide/Get-Started-with-the-i.MX-8M-Mini-EVK:GS-iMX-8M-Mini-EVK diff --git a/board/freescale/imx8mn-evk/extlinux.conf.in b/board/freescale/imx8mn-evk/extlinux.conf.in new file mode 100644 index 00000000000..fa9ad098130 --- /dev/null +++ b/board/freescale/imx8mn-evk/extlinux.conf.in @@ -0,0 +1,4 @@ +label buildroot + kernel /boot/Image + devicetree /boot/freescale/imx8mn-ddr4-evk.dtb + append root=PARTUUID=%PARTUUID% rootwait rw diff --git a/board/freescale/imx8mn-evk/genimage.cfg.in b/board/freescale/imx8mn-evk/genimage.cfg.in new file mode 100644 index 00000000000..10c52548cdf --- /dev/null +++ b/board/freescale/imx8mn-evk/genimage.cfg.in @@ -0,0 +1,17 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition imx-boot { + in-partition-table = "no" + image = "flash.bin" + offset = 32K + } + + partition rootfs { + offset = 8M + image = "rootfs.ext4" + partition-uuid = %PARTUUID% + } +} diff --git a/board/freescale/imx8mn-evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/imx8mn-evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..b5898cba3f9 --- /dev/null +++ b/board/freescale/imx8mn-evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 06b35a3596b8417bf66f7bfdd7acd181bcb53fc36dc13216227b5cae154e0219 arm-trusted-firmware-v2.12-git4.tar.gz diff --git a/board/freescale/imx8mn-evk/patches/linux-headers/linux-headers.hash b/board/freescale/imx8mn-evk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx8mn-evk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx8mn-evk/patches/linux/linux.hash b/board/freescale/imx8mn-evk/patches/linux/linux.hash new file mode 100644 index 00000000000..5e0df51126d --- /dev/null +++ b/board/freescale/imx8mn-evk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 5f81362a694f51520bff9faecb73f1cc9bc7bece6fdd10d5c27e348df39d7dc4 linux-6.12.16.tar.xz diff --git a/board/freescale/imx8mn-evk/patches/uboot/uboot.hash b/board/freescale/imx8mn-evk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..50674352d71 --- /dev/null +++ b/board/freescale/imx8mn-evk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 cdef7d507c93f1bbd9f015ea9bc21fa074268481405501945abc6f854d5b686f u-boot-2025.01.tar.bz2 diff --git a/board/freescale/imx8mn-evk/post-build.sh b/board/freescale/imx8mn-evk/post-build.sh new file mode 100755 index 00000000000..604f387768d --- /dev/null +++ b/board/freescale/imx8mn-evk/post-build.sh @@ -0,0 +1,7 @@ +#!/bin/sh +BOARD_DIR="$(dirname "$0")" +PARTUUID="$("$HOST_DIR"/bin/uuidgen)" + +install -d "$TARGET_DIR/boot/extlinux/" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/extlinux.conf.in" > "$TARGET_DIR/boot/extlinux/extlinux.conf" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/genimage.cfg.in" > "$BINARIES_DIR/genimage.cfg" diff --git a/board/freescale/imx8mn-evk/readme.txt b/board/freescale/imx8mn-evk/readme.txt new file mode 100644 index 00000000000..c5b4c05c48c --- /dev/null +++ b/board/freescale/imx8mn-evk/readme.txt @@ -0,0 +1,31 @@ +NXP i.MX8MN DDR4 EVK +==================== + +This is a Buildroot target for building an image for the imx8mn-ddr4-evk +board using upstream components: TF-A, U-Boot and kernel. + +How to build it +=============== + +Configure Buildroot and build it: + + $ make imx8mn-ddr4-evk_defconfig + $ make + +Flashing the SD card image +========================== + +Copy the sdcard.img file into the SD card: + + $ sudo dd if=output/images/sdcard.img of=; sync + + +Booting the board +================= + +To boot your newly created system: + +- Insert the SD card in the MicroSD slot of the board. +- Connect a serial to USB cable to the DEBUG port. +- Open a terminal on ttyUSB2 port. For example: sudo picocom -b 115200 /dev/ttyUSB1 +- Power on the board. diff --git a/board/freescale/imx8mnevk/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/imx8mnevk/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..da0200d9acd --- /dev/null +++ b/board/freescale/imx8mnevk/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 a696ee1c75140cd5ddb9d4349c921952f80e2a8a21bc6bd92f905959a6b1798f imx-atf-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8mnevk/patches/linux-headers/linux-headers.hash b/board/freescale/imx8mnevk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx8mnevk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx8mnevk/patches/linux/linux.hash b/board/freescale/imx8mnevk/patches/linux/linux.hash new file mode 100644 index 00000000000..b4f534dcc8d --- /dev/null +++ b/board/freescale/imx8mnevk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 4c1147a9bbe4bf36fbcbd8b1e6b0d73ec0da3c454821c58a61d32d3879afc146 linux-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8mnevk/patches/uboot/uboot.hash b/board/freescale/imx8mnevk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..309a684c2d6 --- /dev/null +++ b/board/freescale/imx8mnevk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 18a32d6c79538e4f90746674873b196f9c48be24caef0ab5c1bec920a1816825 uboot-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8mnevk/readme.txt b/board/freescale/imx8mnevk/readme.txt new file mode 100644 index 00000000000..d7700568fa5 --- /dev/null +++ b/board/freescale/imx8mnevk/readme.txt @@ -0,0 +1,73 @@ +*************************** +Freescale i.MX8MN EVK board +*************************** + +This file documents the Buildroot support for the i.MX8M Nano EVK board. + +Build +===== + +First, configure Buildroot for the i.MX8MN EVK board: + + make freescale_imx8mnevk_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - bl31.bin + - boot.vfat + - ddr4_201810_fw.bin + - ddr_fw.bin + - fsl-imx8mn-ddr4-evk.dtb + - Image + - imx8-boot-sd.bin + - rootfs.ext2 + - rootfs.ext4 + - rootfs.tar + - sdcard.img + - u-boot.bin + - u-boot.imx + - u-boot.itb + - u-boot-nodtb.bin + - u-boot-spl.bin + - u-boot-spl-ddr.bin + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/common/imx/genimage.cfg.template_imx8. + +Boot the i.MX8MN EVK board +========================== + +To boot your newly created system (refer to the i.MX8MNano EVK Quick Start Guide +[1] for guidance): +- insert the SD card in the SD slot of the board; +- Configure the switches as follows (X = "don't care"): +SW1101: 1100XXXXXX [D1-D10] +SW1102: XXXXXXXXXX [D1-D10] +- put a micro USB cable into the Debug USB Port and connect using a terminal + emulator at 115200 bps, 8n1; +- power on the board. + +Enjoy! + +References +========== +[1] https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-nano-applications-processor:8MNANOD4-EVK diff --git a/board/freescale/imx8mp-evk/extlinux.conf.in b/board/freescale/imx8mp-evk/extlinux.conf.in new file mode 100644 index 00000000000..5348a01c07c --- /dev/null +++ b/board/freescale/imx8mp-evk/extlinux.conf.in @@ -0,0 +1,4 @@ +label buildroot + kernel /boot/Image + devicetree /boot/freescale/imx8mp-evk.dtb + append root=PARTUUID=%PARTUUID% rootwait rw diff --git a/board/freescale/imx8mp-evk/genimage.cfg.in b/board/freescale/imx8mp-evk/genimage.cfg.in new file mode 100644 index 00000000000..10c52548cdf --- /dev/null +++ b/board/freescale/imx8mp-evk/genimage.cfg.in @@ -0,0 +1,17 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition imx-boot { + in-partition-table = "no" + image = "flash.bin" + offset = 32K + } + + partition rootfs { + offset = 8M + image = "rootfs.ext4" + partition-uuid = %PARTUUID% + } +} diff --git a/board/freescale/imx8mp-evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/imx8mp-evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..b5898cba3f9 --- /dev/null +++ b/board/freescale/imx8mp-evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 06b35a3596b8417bf66f7bfdd7acd181bcb53fc36dc13216227b5cae154e0219 arm-trusted-firmware-v2.12-git4.tar.gz diff --git a/board/freescale/imx8mp-evk/patches/linux-headers/linux-headers.hash b/board/freescale/imx8mp-evk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx8mp-evk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx8mp-evk/patches/linux/linux.hash b/board/freescale/imx8mp-evk/patches/linux/linux.hash new file mode 100644 index 00000000000..5e0df51126d --- /dev/null +++ b/board/freescale/imx8mp-evk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 5f81362a694f51520bff9faecb73f1cc9bc7bece6fdd10d5c27e348df39d7dc4 linux-6.12.16.tar.xz diff --git a/board/freescale/imx8mp-evk/patches/uboot/uboot.hash b/board/freescale/imx8mp-evk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..50674352d71 --- /dev/null +++ b/board/freescale/imx8mp-evk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 cdef7d507c93f1bbd9f015ea9bc21fa074268481405501945abc6f854d5b686f u-boot-2025.01.tar.bz2 diff --git a/board/freescale/imx8mp-evk/post-build.sh b/board/freescale/imx8mp-evk/post-build.sh new file mode 100755 index 00000000000..604f387768d --- /dev/null +++ b/board/freescale/imx8mp-evk/post-build.sh @@ -0,0 +1,7 @@ +#!/bin/sh +BOARD_DIR="$(dirname "$0")" +PARTUUID="$("$HOST_DIR"/bin/uuidgen)" + +install -d "$TARGET_DIR/boot/extlinux/" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/extlinux.conf.in" > "$TARGET_DIR/boot/extlinux/extlinux.conf" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/genimage.cfg.in" > "$BINARIES_DIR/genimage.cfg" diff --git a/board/freescale/imx8mp-evk/readme.txt b/board/freescale/imx8mp-evk/readme.txt new file mode 100644 index 00000000000..ef52b403b6c --- /dev/null +++ b/board/freescale/imx8mp-evk/readme.txt @@ -0,0 +1,31 @@ +NXP i.MX8MP EVK +=============== + +This is a Buildroot target for building an image for the imx8mp-evk +board using upstream components: TF-A, U-Boot and kernel. + +How to build it +=============== + +Configure Buildroot and build it: + + $ make imx8mp-evk_defconfig + $ make + +Flashing the SD card image +========================== + +Copy the sdcard.img file into the SD card: + + $ sudo dd if=output/images/sdcard.img of=; sync + + +Booting the board +================= + +To boot your newly created system: + +- Insert the SD card in the MicroSD slot of the board. +- Connect a serial to USB cable to the DEBUG port. +- Open a terminal on ttyUSB2 port. For example: sudo picocom -b 115200 /dev/ttyUSB2 +- Power on the board. diff --git a/board/freescale/imx8mpevk/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/imx8mpevk/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..da0200d9acd --- /dev/null +++ b/board/freescale/imx8mpevk/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 a696ee1c75140cd5ddb9d4349c921952f80e2a8a21bc6bd92f905959a6b1798f imx-atf-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8mpevk/patches/linux-headers/linux-headers.hash b/board/freescale/imx8mpevk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx8mpevk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx8mpevk/patches/linux/linux.hash b/board/freescale/imx8mpevk/patches/linux/linux.hash new file mode 100644 index 00000000000..b4f534dcc8d --- /dev/null +++ b/board/freescale/imx8mpevk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 4c1147a9bbe4bf36fbcbd8b1e6b0d73ec0da3c454821c58a61d32d3879afc146 linux-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8mpevk/patches/uboot/uboot.hash b/board/freescale/imx8mpevk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..309a684c2d6 --- /dev/null +++ b/board/freescale/imx8mpevk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 18a32d6c79538e4f90746674873b196f9c48be24caef0ab5c1bec920a1816825 uboot-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8mpevk/readme.txt b/board/freescale/imx8mpevk/readme.txt new file mode 100644 index 00000000000..dfc95af3eab --- /dev/null +++ b/board/freescale/imx8mpevk/readme.txt @@ -0,0 +1,71 @@ +********************* +NXP i.MX8MP EVK board +********************* + +This file documents the Buildroot support for the i.MX 8M Plus EVK board. + +Build +===== + +First, configure Buildroot for the i.MX 8M Plus EVK board: + + make freescale_imx8mpevk_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - bl31.bin + - boot.vfat + - ddr_fw.bin + - Image + - imx8-boot-sd.bin + - imx8mp-evk.dtb + - lpddr4_pmu_train_fw.bin + - rootfs.ext2 + - rootfs.ext4 + - rootfs.tar + - sdcard.img + - u-boot.bin + - u-boot.itb + - u-boot-nodtb.bin + - u-boot-spl.bin + - u-boot-spl-ddr.bin + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/common/imx/genimage.cfg.template_imx8. + +Boot the i.MX 8M Plus EVK board +=============================== + +To boot your newly created system (refer to the i.MX 8M Plus EVK Documentation +[1] for guidance): +- insert the SD card in the SD slot of the board; +- Configure the switches as follows (X = "don't care"): +SW4: 0011 SW4[1-4] +- put a micro USB cable into the Debug USB Port and connect using a terminal + emulator at 115200 bps, 8n1; +- power on the board. + +Enjoy! + +References +========== +[1] https://www.nxp.com/document/guide/get-started-with-the-i-mx-8m-plus-evk:GS-iMX-8M-Plus-EVK diff --git a/board/freescale/imx8mpevk/uboot-fragment.config b/board/freescale/imx8mpevk/uboot-fragment.config new file mode 100644 index 00000000000..b4683be9ef7 --- /dev/null +++ b/board/freescale/imx8mpevk/uboot-fragment.config @@ -0,0 +1,3 @@ +# Use the upstream devicetree name for EVK board +# Revert https://github.com/nxp-imx/uboot-imx/commit/a60e787a6e35b9c14c391e03d41468e4ad63d598 +CONFIG_DEFAULT_FDT_FILE="imx8mp-evk.dtb" diff --git a/board/freescale/imx8mqevk/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/imx8mqevk/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..da0200d9acd --- /dev/null +++ b/board/freescale/imx8mqevk/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 a696ee1c75140cd5ddb9d4349c921952f80e2a8a21bc6bd92f905959a6b1798f imx-atf-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8mqevk/patches/linux-headers/linux-headers.hash b/board/freescale/imx8mqevk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx8mqevk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx8mqevk/patches/linux/linux.hash b/board/freescale/imx8mqevk/patches/linux/linux.hash new file mode 100644 index 00000000000..b4f534dcc8d --- /dev/null +++ b/board/freescale/imx8mqevk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 4c1147a9bbe4bf36fbcbd8b1e6b0d73ec0da3c454821c58a61d32d3879afc146 linux-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8mqevk/patches/uboot/uboot.hash b/board/freescale/imx8mqevk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..309a684c2d6 --- /dev/null +++ b/board/freescale/imx8mqevk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 18a32d6c79538e4f90746674873b196f9c48be24caef0ab5c1bec920a1816825 uboot-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8mqevk/readme.txt b/board/freescale/imx8mqevk/readme.txt new file mode 100644 index 00000000000..61fb2bc80be --- /dev/null +++ b/board/freescale/imx8mqevk/readme.txt @@ -0,0 +1,86 @@ +*************************** +Freescale i.MX8MQ EVK board +*************************** + +This file documents the Buildroot support for the Freescale i.MX8MQ +EVK board. + +Build +===== + +First, configure Buildroot for the i.MX8MQ EVK board: + +If you want to use the NXP kernel: + + make freescale_imx8mqevk_defconfig + +Or if you want to use a mainline kernel: + + make imx8mqevk_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - bl31.bin + - boot.vfat + - fsl-imx8mq-evk.dtb + - Image + - imx8-boot-sd.bin + - lpddr4_pmu_train_fw.bin + - rootfs.ext2 + - rootfs.ext4 + - rootfs.tar + - sdcard.img + - signed_hdmi_imx8m.bin + - u-boot.bin + - u-boot.imx + - u-boot-nodtb.bin + - u-boot-spl-ddr.bin + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/common/imx/genimage.cfg.template_imx8. + +Boot the i.MX8MQ EVK board +========================== + +To boot your newly created system: +- insert the SD card in the SD slot of the board; +- Configure the switches as follows: +SW801: ON ON OFF OFF +SW802: ON OFF +- put a micro USB cable into the Debug USB Port and connect using a terminal + emulator at 115200 bps, 8n1; +- power on the board. + +Enable HDMI output +================== + +To enable HDMI output at boot you must provide the video kernel boot +argument. To set the video boot argument from U-Boot run after +stopping in U-Boot prompt: + +setenv mmcargs 'setenv bootargs console=${console} root=${mmcroot} video=HDMI-A-1:1920x1080-32@60' +saveenv +reset + +Change screen resolution to suit your connected display. + +Enjoy! diff --git a/board/freescale/imx8qmmek/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/imx8qmmek/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..da0200d9acd --- /dev/null +++ b/board/freescale/imx8qmmek/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 a696ee1c75140cd5ddb9d4349c921952f80e2a8a21bc6bd92f905959a6b1798f imx-atf-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8qmmek/patches/linux-headers/linux-headers.hash b/board/freescale/imx8qmmek/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx8qmmek/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx8qmmek/patches/linux/linux.hash b/board/freescale/imx8qmmek/patches/linux/linux.hash new file mode 100644 index 00000000000..b4f534dcc8d --- /dev/null +++ b/board/freescale/imx8qmmek/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 4c1147a9bbe4bf36fbcbd8b1e6b0d73ec0da3c454821c58a61d32d3879afc146 linux-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8qmmek/patches/uboot/uboot.hash b/board/freescale/imx8qmmek/patches/uboot/uboot.hash new file mode 100644 index 00000000000..309a684c2d6 --- /dev/null +++ b/board/freescale/imx8qmmek/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 18a32d6c79538e4f90746674873b196f9c48be24caef0ab5c1bec920a1816825 uboot-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8qmmek/readme.txt b/board/freescale/imx8qmmek/readme.txt new file mode 100644 index 00000000000..b6bb3c4765f --- /dev/null +++ b/board/freescale/imx8qmmek/readme.txt @@ -0,0 +1,76 @@ +*************************** +Freescale i.MX8QM MEK board +*************************** + +This file documents the Buildroot support for the NXP i.MX8QM MEK board. + +You will find a reference to the board on nxp.com: +https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/i.mx-8quadmax-multisensory-enablement-kit-mek:MCIMX8QM-CPU + +You can also find the get started guide here: +https://www.nxp.com/document/guide/get-started-with-the-i.mx-8quadmax-mek:GS-iMX-8QM-MEK + +Build +===== + +First, configure Buildroot for the i.MX8QM MEK board: + +$ make freescale_imx8qmmek_defconfig + +Build all components: + +$ make + +You will find in output/images/ the following files: + - ahab-container.img + - bl31.bin + - boot.vfat + - fsl-imx8qm-mek.dtb + - Image + - imx8-boot-sd.bin + - mkimg.commit + - mx8qm-mek-scfw-tcm.bin + - mx8qm-val-scfw-tcm.bin + - mx8qm-a0-ddr4-scfw-tcm.bin + - mx8qm-a0-mek-scfw-tcm.bin + - mx8qm-a0-val-scfw-tcm.bin + - mx8qm-ddr4-scfw-tcm.bin + - rootfs.ext2 + - rootfs.ext4 + - rootfs.tar + - sdcard.img + - u-boot-atf.bin + - u-boot.bin + - u-boot-hash.bin + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/common/imx/genimage.cfg.template_imx8. + +Boot the i.MX8QM MEK board +========================== + +To boot your newly created system: +- insert the SD card in the SD slot of the board; +- Configure the boot switch as follows: +SW2: OFF OFF ON ON OFF OFF +- put a micro USB cable into the Debug USB Port and connect using a terminal + emulator at 115200 bps, 8n1; +- power on the board. + +Enjoy! diff --git a/board/freescale/imx8qxpmek/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/imx8qxpmek/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..da0200d9acd --- /dev/null +++ b/board/freescale/imx8qxpmek/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 a696ee1c75140cd5ddb9d4349c921952f80e2a8a21bc6bd92f905959a6b1798f imx-atf-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8qxpmek/patches/linux-headers/linux-headers.hash b/board/freescale/imx8qxpmek/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx8qxpmek/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx8qxpmek/patches/linux/linux.hash b/board/freescale/imx8qxpmek/patches/linux/linux.hash new file mode 100644 index 00000000000..b4f534dcc8d --- /dev/null +++ b/board/freescale/imx8qxpmek/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 4c1147a9bbe4bf36fbcbd8b1e6b0d73ec0da3c454821c58a61d32d3879afc146 linux-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8qxpmek/patches/uboot/uboot.hash b/board/freescale/imx8qxpmek/patches/uboot/uboot.hash new file mode 100644 index 00000000000..309a684c2d6 --- /dev/null +++ b/board/freescale/imx8qxpmek/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 18a32d6c79538e4f90746674873b196f9c48be24caef0ab5c1bec920a1816825 uboot-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx8qxpmek/readme.txt b/board/freescale/imx8qxpmek/readme.txt new file mode 100644 index 00000000000..45f7915fe4c --- /dev/null +++ b/board/freescale/imx8qxpmek/readme.txt @@ -0,0 +1,67 @@ +*************************** +Freescale i.MX8QXP MEK board +*************************** + +This file documents the Buildroot support for the Freescale i.MX8QXP +MEK board. + +Build +===== + +First, configure Buildroot for the i.MX8QXP MEK board: + + make freescale_imx8qxpmek_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - ahab-container.img + - bl31.bin + - boot.vfat + - fsl-imx8qxp-mek.dtb + - Image + - imx8-boot-sd.bin + - mkimg.commit + - mx8qx-mek-scfw-tcm.bin + - mx8qx-val-scfw-tcm.bin + - rootfs.ext2 + - rootfs.ext4 + - rootfs.tar + - sdcard.img + - u-boot-atf.bin + - u-boot.bin + - u-boot-hash.bin + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/common/imx/genimage.cfg.template_imx8. + +Boot the i.MX8QXP MEK board +========================== + +To boot your newly created system: +- insert the SD card in the SD slot of the board; +- Configure the boot switch as follows: +SW2: ON ON OFF OFF +- put a micro USB cable into the Debug USB Port and connect using a terminal + emulator at 115200 bps, 8n1; +- power on the board. + +Enjoy! diff --git a/board/freescale/imx91evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/imx91evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..da0200d9acd --- /dev/null +++ b/board/freescale/imx91evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 a696ee1c75140cd5ddb9d4349c921952f80e2a8a21bc6bd92f905959a6b1798f imx-atf-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx91evk/patches/linux-headers/linux-headers.hash b/board/freescale/imx91evk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx91evk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx91evk/patches/linux/linux.hash b/board/freescale/imx91evk/patches/linux/linux.hash new file mode 100644 index 00000000000..b4f534dcc8d --- /dev/null +++ b/board/freescale/imx91evk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 4c1147a9bbe4bf36fbcbd8b1e6b0d73ec0da3c454821c58a61d32d3879afc146 linux-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx91evk/patches/uboot/uboot.hash b/board/freescale/imx91evk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..309a684c2d6 --- /dev/null +++ b/board/freescale/imx91evk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 18a32d6c79538e4f90746674873b196f9c48be24caef0ab5c1bec920a1816825 uboot-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx91evk/readme.txt b/board/freescale/imx91evk/readme.txt new file mode 100644 index 00000000000..42c9f41fa2c --- /dev/null +++ b/board/freescale/imx91evk/readme.txt @@ -0,0 +1,83 @@ +********************* +NXP i.MX91 EVK board +********************* + +This file documents the Buildroot support for the i.MX 91 EVK board. +See [1]. + + +Build +===== + +First, configure Buildroot for the i.MX 91 EVK board: + + make freescale_imx91evk_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - ahab-container.img + - bl31.bin + - boot.vfat + - ddr_fw.bin + - Image + - imx91-11x11-evk.dtb + - imx9-boot-sd.bin + - lpddr4_pmu_train_fw.bin + - rootfs.ext2 + - rootfs.ext4 + - rootfs.tar + - sdcard.img + - u-boot-atf-container.img + - u-boot.bin + - u-boot-hash.bin + - u-boot-spl.bin + - u-boot-spl-ddr.bin + - u-boot-spl-padded.bin + + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/common/imx/genimage.cfg.template_imx9. + + +Boot the i.MX 91 EVK board +=============================== + +To boot your newly created system (refer to the i.MX 91 EVK +Documentation [2] for guidance): +- insert the SD card in the SD slot of the board; +- Configure the switches as follows: +SW1301: 0100 SW1301[1-4] +- put a micro USB cable into the Debug USB Port and connect using a terminal + emulator at 115200 bps, 8n1; +- power on the board. + +Note: the debug USB connector presents 4 UARTs (for example /dev/ttyUSB[0-3]), +the Cortex-A55 UART is the 3rd one (in the previous example, /dev/ttyUSB2). +Refer to the documentation [2] for more details. + +Enjoy! + + +References +========== +[1] https://www.nxp.com/imx93evk +[2] https://www.nxp.com/document/guide/getting-started-with-the-i-mx-91-evk:GS-i.MX91EVK diff --git a/board/freescale/imx91frdm/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/imx91frdm/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..7561385cb86 --- /dev/null +++ b/board/freescale/imx91frdm/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 8cfe0afc903ebbc03f27e4874aa9ce82be78843a8b42ed4c906871e7f311b510 imx-atf-lf-6.6.36-2.1.0.tar.gz diff --git a/board/freescale/imx91frdm/patches/linux-headers/linux-headers.hash b/board/freescale/imx91frdm/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx91frdm/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx91frdm/patches/linux/linux.hash b/board/freescale/imx91frdm/patches/linux/linux.hash new file mode 100644 index 00000000000..f03ffd5b557 --- /dev/null +++ b/board/freescale/imx91frdm/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 3f5017e85ba6c490be597670033a7eaba14e3c34af4e53d24dc3762c3deece83 linux-imx-lf-6.6.36-2.1.0-imx91frdm.tar.gz diff --git a/board/freescale/imx91frdm/patches/uboot/uboot.hash b/board/freescale/imx91frdm/patches/uboot/uboot.hash new file mode 100644 index 00000000000..f285dff4902 --- /dev/null +++ b/board/freescale/imx91frdm/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 f7d9a6e99825926d0bc597e0fdfeafffcc76ad6267f1d4e9aae1fe9a8d400c22 uboot-imx-lf-6.6.36-2.1.0-imx91frdm.tar.gz diff --git a/board/freescale/imx91frdm/readme.txt b/board/freescale/imx91frdm/readme.txt new file mode 100644 index 00000000000..ec839b1dca1 --- /dev/null +++ b/board/freescale/imx91frdm/readme.txt @@ -0,0 +1,74 @@ +********************** +NXP i.MX 91 FRDM board +********************** + +This file documents the Buildroot support for the i.MX 91 FRDM +(Freedom) board. For more information on this board, see [1]. + + +Build +===== + +First, configure Buildroot for the i.MX 91 FRDM board: + + make freescale_imx91frdm_defconfig + +Build all components: + + make + +When this command completes, the generated image containing everything +to boot from the SD card is located in "output/images/sdcard.img". + + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/common/imx/genimage.cfg.template_imx9. + + +Boot the i.MX 91 FRDM board +=========================== + +To boot your newly created system (refer to the i.MX 91 FRDM +Documentation [2] for guidance): +- insert the SD card in the SD slot (P13) of the board; +- Configure the SW1 boot switches as follows: + SW1: 1100 SW1[1-4] ("USDHC2 4-bit SD3.0" Boot Mode) +- connect a USB Type-C cable into the P16 Debug USB Port and connect + using a terminal emulator at 115200 bps, 8n1; +- power on the board by connecting a USB Type-C cable into the P1 + Power USB Port. + +Note 1: the board boot switches default configuration is: +SW1: 0100 SW1[1-4] ("USDHC1 8-bit eMMC 5.1" Boot Mode) +and the board is also pre-flashed with a reference Linux demo +image. It is important to change the boot config switches to make +sure the system will boot on the SD Card. + +Note 2: the debug USB connector presents 2 UARTs (for example +/dev/ttyACM[0-1]), the Cortex-A55 UART should be the 1st one (in the +previous example, /dev/ttyACM0). Refer to the documentation [2] for +more details. + +Enjoy! + + +References +========== +[1] https://www.nxp.com/FRDM-IMX91 +[2] https://www.nxp.com/document/guide/getting-started-with-frdm-imx91:GS-FRDM-IMX91 diff --git a/board/freescale/imx93-evk/extlinux.conf.in b/board/freescale/imx93-evk/extlinux.conf.in new file mode 100644 index 00000000000..143e28a823c --- /dev/null +++ b/board/freescale/imx93-evk/extlinux.conf.in @@ -0,0 +1,4 @@ +label buildroot + kernel /boot/Image + devicetree /boot/freescale/imx93-11x11-evk.dtb + append root=PARTUUID=%PARTUUID% rootwait rw diff --git a/board/freescale/imx93-evk/genimage.cfg.in b/board/freescale/imx93-evk/genimage.cfg.in new file mode 100644 index 00000000000..10c52548cdf --- /dev/null +++ b/board/freescale/imx93-evk/genimage.cfg.in @@ -0,0 +1,17 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition imx-boot { + in-partition-table = "no" + image = "flash.bin" + offset = 32K + } + + partition rootfs { + offset = 8M + image = "rootfs.ext4" + partition-uuid = %PARTUUID% + } +} diff --git a/board/freescale/imx93-evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/imx93-evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..b5898cba3f9 --- /dev/null +++ b/board/freescale/imx93-evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 06b35a3596b8417bf66f7bfdd7acd181bcb53fc36dc13216227b5cae154e0219 arm-trusted-firmware-v2.12-git4.tar.gz diff --git a/board/freescale/imx93-evk/patches/linux-headers/linux-headers.hash b/board/freescale/imx93-evk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx93-evk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx93-evk/patches/linux/linux.hash b/board/freescale/imx93-evk/patches/linux/linux.hash new file mode 100644 index 00000000000..5e0df51126d --- /dev/null +++ b/board/freescale/imx93-evk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 5f81362a694f51520bff9faecb73f1cc9bc7bece6fdd10d5c27e348df39d7dc4 linux-6.12.16.tar.xz diff --git a/board/freescale/imx93-evk/patches/uboot/uboot.hash b/board/freescale/imx93-evk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..50674352d71 --- /dev/null +++ b/board/freescale/imx93-evk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 cdef7d507c93f1bbd9f015ea9bc21fa074268481405501945abc6f854d5b686f u-boot-2025.01.tar.bz2 diff --git a/board/freescale/imx93-evk/post-build.sh b/board/freescale/imx93-evk/post-build.sh new file mode 100755 index 00000000000..604f387768d --- /dev/null +++ b/board/freescale/imx93-evk/post-build.sh @@ -0,0 +1,7 @@ +#!/bin/sh +BOARD_DIR="$(dirname "$0")" +PARTUUID="$("$HOST_DIR"/bin/uuidgen)" + +install -d "$TARGET_DIR/boot/extlinux/" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/extlinux.conf.in" > "$TARGET_DIR/boot/extlinux/extlinux.conf" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/genimage.cfg.in" > "$BINARIES_DIR/genimage.cfg" diff --git a/board/freescale/imx93-evk/readme.txt b/board/freescale/imx93-evk/readme.txt new file mode 100644 index 00000000000..9d3302a0ca1 --- /dev/null +++ b/board/freescale/imx93-evk/readme.txt @@ -0,0 +1,31 @@ +NXP i.MX93 EVK +============== + +This is a Buildroot target for building an image for the imx93-evk +board using upstream components: TF-A, U-Boot and kernel. + +How to build it +=============== + +Configure Buildroot and build it: + + $ make imx93-evk_defconfig + $ make + +Flashing the SD card image +========================== + +Copy the sdcard.img file into the SD card: + + $ sudo dd if=output/images/sdcard.img of=; sync + + +Booting the board +================= + +To boot your newly created system: + +- Insert the SD card in the MicroSD slot of the board. +- Connect a serial to USB cable to the DBG port. +- Open a terminal on the ttyUSB2 port. For example: sudo picocom -b 115200 /dev/ttyUSB2 +- Power on the board. diff --git a/board/freescale/imx93evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/imx93evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..da0200d9acd --- /dev/null +++ b/board/freescale/imx93evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 a696ee1c75140cd5ddb9d4349c921952f80e2a8a21bc6bd92f905959a6b1798f imx-atf-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx93evk/patches/linux-headers/linux-headers.hash b/board/freescale/imx93evk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx93evk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx93evk/patches/linux/linux.hash b/board/freescale/imx93evk/patches/linux/linux.hash new file mode 100644 index 00000000000..b4f534dcc8d --- /dev/null +++ b/board/freescale/imx93evk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 4c1147a9bbe4bf36fbcbd8b1e6b0d73ec0da3c454821c58a61d32d3879afc146 linux-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx93evk/patches/optee-os/optee-os.hash b/board/freescale/imx93evk/patches/optee-os/optee-os.hash new file mode 100644 index 00000000000..6ab7c41aa16 --- /dev/null +++ b/board/freescale/imx93evk/patches/optee-os/optee-os.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 4b685080a094cb0f0489b8114ae8b73c37ec13eda9f5618c8b6311ff1f472f57 imx-optee-os-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx93evk/patches/uboot/uboot.hash b/board/freescale/imx93evk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..309a684c2d6 --- /dev/null +++ b/board/freescale/imx93evk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 18a32d6c79538e4f90746674873b196f9c48be24caef0ab5c1bec920a1816825 uboot-imx-lf-6.12.3-1.0.0.tar.gz diff --git a/board/freescale/imx93evk/readme.txt b/board/freescale/imx93evk/readme.txt new file mode 100644 index 00000000000..1173de39dbb --- /dev/null +++ b/board/freescale/imx93evk/readme.txt @@ -0,0 +1,77 @@ +********************* +NXP i.MX93 EVK board +********************* + +This file documents the Buildroot support for the i.MX 93 EVK board. + +Build +===== + +First, configure Buildroot for the i.MX 93 EVK board: + + make freescale_imx93evk_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - ahab-container.img + - bl31.bin + - boot.vfat + - ddr_fw.bin + - Image + - imx93-11x11-evk.dtb + - imx9-boot-sd.bin + - lpddr4_pmu_train_fw.bin + - rootfs.ext2 + - rootfs.ext4 + - rootfs.tar + - sdcard.img + - u-boot-atf-container.img + - u-boot.bin + - u-boot-hash.bin + - u-boot-spl.bin + - u-boot-spl-ddr.bin + - u-boot-spl-padded.bin + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/common/imx/genimage.cfg.template_imx9. + +Boot the i.MX 93 EVK board +=============================== + +To boot your newly created system (refer to the i.MX 93 EVK Documentation +[1] for guidance): +- insert the SD card in the SD slot of the board; +- Configure the switches as follows: +SW1301: 0100 SW1301[1-4] +- put a micro USB cable into the Debug USB Port and connect using a terminal + emulator at 115200 bps, 8n1; +- power on the board. + +Note: the debug USB connector presents 4 UARTs (for example /dev/ttyUSB[0-3]), +the Cortex-A55 UART should be the 3rd one (in the previous example, /dev/ttyUSB2). +Refer to the documentation [1] for more details. + +Enjoy! + +References +========== +[1] https://www.nxp.com/document/guide/getting-started-with-the-i-mx93-evk:GS-IMX93EVK diff --git a/board/freescale/imx93frdm/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/imx93frdm/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..7561385cb86 --- /dev/null +++ b/board/freescale/imx93frdm/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 8cfe0afc903ebbc03f27e4874aa9ce82be78843a8b42ed4c906871e7f311b510 imx-atf-lf-6.6.36-2.1.0.tar.gz diff --git a/board/freescale/imx93frdm/patches/linux-headers/linux-headers.hash b/board/freescale/imx93frdm/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx93frdm/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx93frdm/patches/linux/linux.hash b/board/freescale/imx93frdm/patches/linux/linux.hash new file mode 100644 index 00000000000..0da8c03384b --- /dev/null +++ b/board/freescale/imx93frdm/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 3244dc3c62c990d9de90e1c7193aa3099e0e74e720de5c9c13edfbfdd802f596 linux-imx-lf-6.6.36-2.1.0-imx93frdm.tar.gz diff --git a/board/freescale/imx93frdm/patches/uboot/uboot.hash b/board/freescale/imx93frdm/patches/uboot/uboot.hash new file mode 100644 index 00000000000..e512c27f7d2 --- /dev/null +++ b/board/freescale/imx93frdm/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 bced4334363199d5465532d221d06dc3a5b49271067d74408019c825ed2ca715 uboot-imx-lf-6.6.36-2.1.0-imx93frdm.tar.gz diff --git a/board/freescale/imx93frdm/readme.txt b/board/freescale/imx93frdm/readme.txt new file mode 100644 index 00000000000..3e5f4040290 --- /dev/null +++ b/board/freescale/imx93frdm/readme.txt @@ -0,0 +1,74 @@ +********************** +NXP i.MX 93 FRDM board +********************** + +This file documents the Buildroot support for the i.MX 93 FRDM +(Freedom) board. For more information on this board, see [1]. + + +Build +===== + +First, configure Buildroot for the i.MX 93 FRDM board: + + make freescale_imx93frdm_defconfig + +Build all components: + + make + +When this command completes, the generated image containing everything +to boot from the SD card is located in "output/images/sdcard.img". + + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/common/imx/genimage.cfg.template_imx9. + + +Boot the i.MX 93 FRDM board +=========================== + +To boot your newly created system (refer to the i.MX 93 FRDM +Documentation [2] for guidance): +- insert the SD card in the SD slot (P13) of the board; +- Configure the SW1 boot switches as follows: + SW1: 1100 SW1[1-4] ("USDHC2 4-bit SD3.0" Boot Mode) +- connect a USB Type-C cable into the P16 Debug USB Port and connect + using a terminal emulator at 115200 bps, 8n1; +- power on the board by connecting a USB Type-C cable into the P1 + Power USB Port. + +Note 1: the board boot switches default configuration is: +SW1: 0100 SW1[1-4] ("USDHC1 8-bit eMMC 5.1" Boot Mode) +and the board is also pre-flashed with a reference Linux demo +image. It is important to change the boot config switches to make +sure the system will boot on the SD Card. + +Note 2: the debug USB connector presents 2 UARTs (for example +/dev/ttyACM[0-1]), the Cortex-A55 UART should be the 1st one (in the +previous example, /dev/ttyACM0). Refer to the documentation [2] for +more details. + +Enjoy! + + +References +========== +[1] https://www.nxp.com/FRDM-IMX93 +[2] https://www.nxp.com/document/guide/getting-started-with-frdm-imx93:GS-FRDM-IMX93 diff --git a/board/freescale/imxrt1050evk/genimage.cfg b/board/freescale/imxrt1050evk/genimage.cfg new file mode 100644 index 00000000000..3a4c4fb7921 --- /dev/null +++ b/board/freescale/imxrt1050evk/genimage.cfg @@ -0,0 +1,23 @@ +image sdcard.img { + hdimage { + } + + partition SPL { + in-partition-table = "no" + image = "SPL" + offset = 1K + size = 127K + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot.img" + offset = 128K + size = 512K + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/freescale/imxrt1050evk/patches/linux-headers/linuux-headers.hash b/board/freescale/imxrt1050evk/patches/linux-headers/linuux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imxrt1050evk/patches/linux-headers/linuux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imxrt1050evk/patches/linux/linux.hash b/board/freescale/imxrt1050evk/patches/linux/linux.hash new file mode 100644 index 00000000000..020dc72386c --- /dev/null +++ b/board/freescale/imxrt1050evk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 f4855f382c1b735c84072bdef36db5bcd5dc7b0c37e42f5104317149a0a486ef linux-6.18.18.tar.xz diff --git a/board/freescale/imxrt1050evk/patches/uboot/uboot.hash b/board/freescale/imxrt1050evk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/freescale/imxrt1050evk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/freescale/imxrt1050evk/readme.txt b/board/freescale/imxrt1050evk/readme.txt new file mode 100644 index 00000000000..1fc4edd88b6 --- /dev/null +++ b/board/freescale/imxrt1050evk/readme.txt @@ -0,0 +1,30 @@ +NXP i.MXRT1050 EVK board +------------------------ + +i.MX RT1050 are NXP's crossover MCUs. They combine the high performance and high +level of integration of an applications processors with the ease-of-use and +real-time functionality of a microcontroller. The i.MX RT1050 MCU runs on the Arm +Cortex-M7 core at 600 MHz. +https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/i-mx-rt1050-evaluation-kit:MIMXRT1050-EVK + +To build a minimal support for this board: + +$ make imxrt1050-evk_defconfig +$ make + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be flashed into the SD card: + +$ dd if=output/images/sdcard.img of=/dev/sdX +Where 'sdX' is the device node of the uSD. + +Jumper settings: + + SW7: 1 0 1 0 + +Where 0 means bottom position and 1 means top position (from the +switch label numbers reference). + +Connect the USB cable between the EVK and the PC for the console. + +Insert the micro SD card in the board, power it up and U-Boot messages should come up. diff --git a/board/freescale/imxrt1050evk/rootfs_overlay/boot/extlinux/extlinux.conf b/board/freescale/imxrt1050evk/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..1818d2702d8 --- /dev/null +++ b/board/freescale/imxrt1050evk/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label buildroot + kernel /boot/zImage + devicetree /boot/imxrt1050-evk.dtb + append console=ttyLP0 root=/dev/mmcblk0p1 rootwait rw diff --git a/board/freescale/ls1028ardb/genimage.cfg b/board/freescale/ls1028ardb/genimage.cfg new file mode 100644 index 00000000000..3efef0bffcc --- /dev/null +++ b/board/freescale/ls1028ardb/genimage.cfg @@ -0,0 +1,23 @@ +image sdcard.img { + hdimage { + } + + partition fsbl { + offset = 4K + in-partition-table = "no" + image = "bl2_sd.pbl" + } + + partition ssbl { + offset = 1M + in-partition-table = "no" + image = "fip.bin" + } + + partition rootfs { + offset = 8M + partition-type = 0x83 + bootable = "true" + image = "rootfs.ext4" + } +} diff --git a/board/freescale/ls1028ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/ls1028ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..7981c74137f --- /dev/null +++ b/board/freescale/ls1028ardb/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 2d3f9c52e16766c290bdc0bc130d634e4c326a5b236dfb2f2ca3f0fa457e82d4 atf-lf-6.12.34-2.1.0.tar.gz diff --git a/board/freescale/ls1028ardb/patches/linux-headers/linux-headers.hash b/board/freescale/ls1028ardb/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/ls1028ardb/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/ls1028ardb/patches/linux/linux.hash b/board/freescale/ls1028ardb/patches/linux/linux.hash new file mode 100644 index 00000000000..f30030c86a8 --- /dev/null +++ b/board/freescale/ls1028ardb/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 27a1987ca0a5802d3ebb296b8134ec66d813ad86cf2a60779b45092735bbb23b linux-lf-6.12.34-2.1.0.tar.gz diff --git a/board/freescale/ls1028ardb/patches/uboot/uboot.hash b/board/freescale/ls1028ardb/patches/uboot/uboot.hash new file mode 100644 index 00000000000..38d54d9922b --- /dev/null +++ b/board/freescale/ls1028ardb/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 2f25cde388b2f83ff7a8e3afe25aafb1db48dafb0fa3bf1e4f9fef603f3b4785 u-boot-lf-6.12.34-2.1.0.tar.gz diff --git a/board/freescale/ls1028ardb/readme.txt b/board/freescale/ls1028ardb/readme.txt new file mode 100644 index 00000000000..6411baf6ec8 --- /dev/null +++ b/board/freescale/ls1028ardb/readme.txt @@ -0,0 +1,96 @@ +************** +NXP LS1028ARDB +************** + +This file documents the Buildroot support for the LS1028A Reference Design Board. + +For more details about the board and the QorIQ Layerscape SoC, see the following pages: + - https://www.nxp.com/design/qoriq-developer-resources/layerscape-ls1028a-reference-design-board:LS1028ARDB + - https://www.nxp.com/LS1028A + +Layerscape platforms are officially supported by NXP under the Layerscape +Debian Linux SDK (LDLSDK). This uses components from Linux Factory (project +common with i.MX), but has a slower release cadence than LF. The currently used +tag is lf-6.12.34-2.1.0, which is in line with the latest LF tag. Generally, in +Buildroot, the latest Linux Factory release tag is always used, which may be +considered pre-release software, as it may contain features which are not yet +documented, and it generally undergoes less testing. + +For the software Layerscape Debian Linux SDK User Guide, see: + - https://docs.nxp.com/bundle/UG10143/page/topics/about_this_document.html + - https://www.nxp.com/docs/en/user-guide/UG10143.pdf + +The components from NXP are: + - rcw, lf-6.12.34-2.1.0 + - atf (fork), lf-6.12.34-2.1.0 + - uboot (fork), lf-6.12.34-2.1.0 + - cadence-dp-firmware (blob), 8.16 + - linux (fork), lf-6.12.34-2.1.0 + +Build +===== + +First, configure Buildroot for the LS1028ARDB board: + + make ls1028ardb_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - bl2_sd.pbl + - fip.bin + - fsl-ls1028a-rdb.dtb + - Image + - PBL.bin + - rootfs.ext2 + - rootfs.ext4 -> rootfs.ext2 + - sdcard.img + - u-boot.bin + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/sdX + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/ls1028ardb/genimage.cfg. + +Boot the LS1028ARDB board +========================= + +To boot your newly created system: +- insert the SD card in the SD slot of the board; +- Configure the switches SW2[1:4] = 1000 (select SD Card boot option) +- put a DB9F cable into the UART1 Port and connect using a terminal + emulator at 115200 bps, 8n1; +- power on the board. + +The Cadence DP (Display Port) firmware must loaded from uboot with the following commands: + + => ext2load mmc 0 0x80000000 /boot/ls1028a-dp-fw.bin + 102464 bytes read in 24 ms (4.1 MiB/s) + => hdp load 0x80000000 0x2000 + Loading hdp firmware from 0x0000000080000000 offset 0x0000000000002000 + Loading hdp firmware Complete + => boot + +The interfaces of Ethernet switch (Felix DSA) are bring up with the following commands: + + ip link set eno2 up + ip link set swp0 up + ip link set swp1 up + ip link set swp2 up + ip link set swp3 up diff --git a/board/freescale/ls1028ardb/rootfs_overlay/boot/extlinux/extlinux.conf b/board/freescale/ls1028ardb/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..bd6c7c95c3d --- /dev/null +++ b/board/freescale/ls1028ardb/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label ls1028ardb-buildroot + kernel /boot/Image + devicetree /boot/fsl-ls1028a-rdb.dtb + append root=/dev/mmcblk0p1 rootwait video=1920x1080-32@60 cma=256M diff --git a/board/freescale/ls1028ardb/rootfs_overlay/etc/udev/rules.d/73-fsl-enetc-networking.rules b/board/freescale/ls1028ardb/rootfs_overlay/etc/udev/rules.d/73-fsl-enetc-networking.rules new file mode 100644 index 00000000000..19f41634bd3 --- /dev/null +++ b/board/freescale/ls1028ardb/rootfs_overlay/etc/udev/rules.d/73-fsl-enetc-networking.rules @@ -0,0 +1,16 @@ +# ENETC rules +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.0", DRIVERS=="fsl_enetc", NAME:="eno0" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.1", DRIVERS=="fsl_enetc", NAME:="eno1" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.2", DRIVERS=="fsl_enetc", NAME:="eno2" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.6", DRIVERS=="fsl_enetc", NAME:="eno3" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.0", DRIVERS=="fsl_enetc_vf", NAME:="eno0vf0" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.1", DRIVERS=="fsl_enetc_vf", NAME:="eno0vf1" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.2", DRIVERS=="fsl_enetc_vf", NAME:="eno1vf0" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.3", DRIVERS=="fsl_enetc_vf", NAME:="eno1vf1" +# LS1028 switch rules +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p0", NAME="swp0" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p1", NAME="swp1" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p2", NAME="swp2" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p3", NAME="swp3" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p4", NAME="swp4" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p5", NAME="swp5" diff --git a/board/freescale/ls1043a-rdb/genimage.cfg b/board/freescale/ls1043a-rdb/genimage.cfg new file mode 100644 index 00000000000..b0ccec0a722 --- /dev/null +++ b/board/freescale/ls1043a-rdb/genimage.cfg @@ -0,0 +1,29 @@ +image sdcard.img { + hdimage { + } + + partition fsbl { + offset = 4K + in-partition-table = "no" + image = "bl2_sd.pbl" + } + + partition ssbl { + offset = 1M + in-partition-table = "no" + image = "fip.bin" + } + + partition fman { + offset = 9M + in-partition-table = "no" + image = "fsl_fman_ucode_ls1043_r1.1_108_4_9.bin" + } + + partition rootfs { + offset = 16M + partition-type = 0x83 + bootable = "true" + image = "rootfs.ext4" + } +} diff --git a/board/freescale/ls1043a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/ls1043a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..7981c74137f --- /dev/null +++ b/board/freescale/ls1043a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 2d3f9c52e16766c290bdc0bc130d634e4c326a5b236dfb2f2ca3f0fa457e82d4 atf-lf-6.12.34-2.1.0.tar.gz diff --git a/board/freescale/ls1043a-rdb/patches/linux-headers/linux-headers.hash b/board/freescale/ls1043a-rdb/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/ls1043a-rdb/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/ls1043a-rdb/patches/linux/linux.hash b/board/freescale/ls1043a-rdb/patches/linux/linux.hash new file mode 100644 index 00000000000..f30030c86a8 --- /dev/null +++ b/board/freescale/ls1043a-rdb/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 27a1987ca0a5802d3ebb296b8134ec66d813ad86cf2a60779b45092735bbb23b linux-lf-6.12.34-2.1.0.tar.gz diff --git a/board/freescale/ls1043a-rdb/patches/uboot/uboot.hash b/board/freescale/ls1043a-rdb/patches/uboot/uboot.hash new file mode 100644 index 00000000000..38d54d9922b --- /dev/null +++ b/board/freescale/ls1043a-rdb/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 2f25cde388b2f83ff7a8e3afe25aafb1db48dafb0fa3bf1e4f9fef603f3b4785 u-boot-lf-6.12.34-2.1.0.tar.gz diff --git a/board/freescale/ls1043a-rdb/readme.txt b/board/freescale/ls1043a-rdb/readme.txt new file mode 100644 index 00000000000..4461b18e737 --- /dev/null +++ b/board/freescale/ls1043a-rdb/readme.txt @@ -0,0 +1,96 @@ +*************** +NXP LS1043A-RDB +*************** + +This file documents the Buildroot support for the LS1043A Reference Design Board. + +for more details about the board and the QorIQ Layerscape SoC, see the following pages: + - https://www.nxp.com/design/design-center/development-boards-and-designs/LS1043A-RDB + - https://www.nxp.com/products/LS1043A + +Layerscape platforms are officially supported by NXP under the Layerscape +Debian Linux SDK (LDLSDK). This uses components from Linux Factory (project +common with i.MX), but has a slower release cadence than LF. The currently used +tag is lf-6.12.34-2.1.0, which is in line with the latest LF tag. Generally, in +Buildroot, the latest Linux Factory release tag is always used, which may be +considered pre-release software, as it may contain features which are not yet +documented, and it generally undergoes less testing. + +For the software Layerscape Debian Linux SDK User Guide, see: + - https://docs.nxp.com/bundle/UG10143/page/topics/about_this_document.html + - https://www.nxp.com/docs/en/user-guide/UG10143.pdf + +The components from NXP are: + - rcw, lf-6.12.34-2.1.0 + - atf (fork), lf-6.12.34-2.1.0 + - uboot (fork), lf-6.12.34-2.1.0 + - qoriq-fm-ucode (blob), lf-6.12.34-2.1.0 + - linux (fork), lf-6.12.34-2.1.0 + - fmlib, lf-6.12.34-2.1.0 + - fmc, lf-6.12.34-2.1.0 + +Build +===== + +First, configure Buildroot for the LS1043A-RDB board: + + make ls1043a-rdb_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - bl2_sd.pbl + - fip.bin + - fsl_fman_ucode_ls1043_r1.1_106_4_18.bin + - fsl_fman_ucode_ls1043_r1.1_108_4_9.bin + - fsl-ls1043a-rdb.dtb + - fsl-ls1043a-rdb-sdk.dtb + - Image + - PBL.bin + - rootfs.ext2 + - rootfs.ext4 + - sdcard.img + - u-boot.bin + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/sdX + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/ls1043a-rdb/genimage.cfg. + +Boot the LS1043A-ARDB board +=========================== + +To boot your newly created system: +- insert the SD card in the SD slot of the board; +- Configure the DIP switches + SW3[1:8] = 10110011 + SW4[1:8] = 00100000 + SW5[1:8] = 00100010 + (SW5[1:8] and SW4[1] should be set to 001000000_0 for the SD card boot) +- put a Micro-USB cable into the console port and connect using a terminal emulator + at 115200 bps, 8n1. +- power on the board. + +Alternatively, SD card boot can also be selected from the uboot command prompt: +- insert the SD card in the SD slot of the board; +- put a Micro-USB cable into console Port and connect using a terminal emulator +- power on the board. +- press any key to stop at the uboot command prompt. +- run the following uboot command + => cpld reset sd diff --git a/board/freescale/ls1043a-rdb/rootfs_overlay/boot/extlinux/extlinux.conf b/board/freescale/ls1043a-rdb/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..b521b335df1 --- /dev/null +++ b/board/freescale/ls1043a-rdb/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label ls1043ardb-buildroot + kernel /boot/Image + devicetree /boot/fsl-ls1043a-rdb-sdk.dtb + append console=ttyS0,115200 root=/dev/mmcblk0p1 earlycon=uart8250,mmio,0x21c0500 rootwait diff --git a/board/freescale/ls1046a-frwy/genimage.cfg b/board/freescale/ls1046a-frwy/genimage.cfg new file mode 100644 index 00000000000..63cca042b28 --- /dev/null +++ b/board/freescale/ls1046a-frwy/genimage.cfg @@ -0,0 +1,29 @@ +image sdcard.img { + hdimage { + } + + partition fsbl { + offset = 4K + in-partition-table = "no" + image = "bl2_sd.pbl" + } + + partition ssbl { + offset = 1M + in-partition-table = "no" + image = "fip.bin" + } + + partition fman { + offset = 9M + in-partition-table = "no" + image = "fsl_fman_ucode_ls1046_r1.0_106_4_18.bin" + } + + partition rootfs { + offset = 16M + partition-type = 0x83 + bootable = "true" + image = "rootfs.ext4" + } +} diff --git a/board/freescale/ls1046a-frwy/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/ls1046a-frwy/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..7981c74137f --- /dev/null +++ b/board/freescale/ls1046a-frwy/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 2d3f9c52e16766c290bdc0bc130d634e4c326a5b236dfb2f2ca3f0fa457e82d4 atf-lf-6.12.34-2.1.0.tar.gz diff --git a/board/freescale/ls1046a-frwy/patches/linux-headers/linux-headers.hash b/board/freescale/ls1046a-frwy/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/ls1046a-frwy/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/ls1046a-frwy/patches/linux/linux.hash b/board/freescale/ls1046a-frwy/patches/linux/linux.hash new file mode 100644 index 00000000000..f30030c86a8 --- /dev/null +++ b/board/freescale/ls1046a-frwy/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 27a1987ca0a5802d3ebb296b8134ec66d813ad86cf2a60779b45092735bbb23b linux-lf-6.12.34-2.1.0.tar.gz diff --git a/board/freescale/ls1046a-frwy/patches/uboot/uboot.hash b/board/freescale/ls1046a-frwy/patches/uboot/uboot.hash new file mode 100644 index 00000000000..38d54d9922b --- /dev/null +++ b/board/freescale/ls1046a-frwy/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 2f25cde388b2f83ff7a8e3afe25aafb1db48dafb0fa3bf1e4f9fef603f3b4785 u-boot-lf-6.12.34-2.1.0.tar.gz diff --git a/board/freescale/ls1046a-frwy/readme.txt b/board/freescale/ls1046a-frwy/readme.txt new file mode 100644 index 00000000000..57eb743d5a0 --- /dev/null +++ b/board/freescale/ls1046a-frwy/readme.txt @@ -0,0 +1,101 @@ +************** +NXP LS1046A-FRWY +************** + +This file documents the Buildroot support for the LS1046A Freeway Board. + +For more details about the board and the QorIQ Layerscape SoC, see the following pages: + - https://www.nxp.com/design/software/qoriq-developer-resources/ls1046a-freeway-board:FRWY-LS1046A + - https://www.nxp.com/FRWY-LS1046A + - https://www.nxp.com/docs/en/quick-reference-guide/FRWY-LS1046AGSG.pdf + +Layerscape platforms are officially supported by NXP under the Layerscape +Debian Linux SDK (LDLSDK). This uses components from Linux Factory (project +common with i.MX), but has a slower release cadence than LF. The currently used +tag is lf-6.12.34-2.1.0, which is in line with the latest LF tag. Generally, in +Buildroot, the latest Linux Factory release tag is always used, which may be +considered pre-release software, as it may contain features which are not yet +documented, and it generally undergoes less testing. + +For the software Layerscape Debian Linux SDK User Guide, see: + - https://docs.nxp.com/bundle/UG10143/page/topics/about_this_document.html + - https://www.nxp.com/docs/en/user-guide/UG10143.pdf + +The components from NXP are: + - rcw, lf-6.12.34-2.1.0 + - atf (fork), lf-6.12.34-2.1.0 + - uboot (fork), lf-6.12.34-2.1.0 + - qoriq-fm-ucode (blob), lf-6.12.34-2.1.0 + - linux (fork), lf-6.12.34-2.1.0 + - fmlib, lf-6.12.34-2.1.0 + - fmc, lf-6.12.34-2.1.0 + +Build +===== + +First, configure Buildroot for the LS1046A-FRWY board: + + make ls1046a-frwy_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - bl2_sd.pbl + - fip.bin + - fsl_fman_ucode_ls1046_r1.0_106_4_18.bin + - fsl_fman_ucode_ls1046_r1.0_108_4_9.bin + - fsl-ls1046a-frwy.dtb + - fsl-ls1046a-frwy-sdk.dtb + - Image + - PBL.bin + - rootfs.ext2 + - rootfs.ext4 + - sdcard.img + - u-boot.bin + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/sdX + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/ls1046a-frwy/genimage.cfg. + +Boot the LS1046A-FRWY board +========================= + +To boot your newly created system: +- insert the SD card in the SD slot of the board; +- Configure the switches SW1[1:9] = 0_0100_0000 (select SD Card boot option) +- put a Micro-USB cable into UART1 Port and connect using a terminal emulator + at 115200 bps, 8n1. Or remove the jumper on J72, connect a USB to TTL cable + to J73, and connect using a terminal emualtor at 115200 bps, 8n1. +- power on the board. + +The front panel Ethernet connectors are off at boot, to bring them up run the +following commands. + +1G PORT1 + ip link set eth1 up + +1G PORT2 + ip link set eth2 up + +1G PORT3 + ip link set eth0 up + +1G PORT4 + ip link set eth3 up diff --git a/board/freescale/ls1046a-frwy/rootfs_overlay/boot/extlinux/extlinux.conf b/board/freescale/ls1046a-frwy/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..536d62b6c58 --- /dev/null +++ b/board/freescale/ls1046a-frwy/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label ls1046afrwy-buildroot + kernel /boot/Image + devicetree /boot/fsl-ls1046a-frwy-sdk.dtb + append console=ttyS0,115200 root=/dev/mmcblk0p1 earlycon=uart8250,mmio,0x21c0500 rootwait diff --git a/board/freescale/ls1046a-rdb/genimage.cfg b/board/freescale/ls1046a-rdb/genimage.cfg new file mode 100644 index 00000000000..63cca042b28 --- /dev/null +++ b/board/freescale/ls1046a-rdb/genimage.cfg @@ -0,0 +1,29 @@ +image sdcard.img { + hdimage { + } + + partition fsbl { + offset = 4K + in-partition-table = "no" + image = "bl2_sd.pbl" + } + + partition ssbl { + offset = 1M + in-partition-table = "no" + image = "fip.bin" + } + + partition fman { + offset = 9M + in-partition-table = "no" + image = "fsl_fman_ucode_ls1046_r1.0_106_4_18.bin" + } + + partition rootfs { + offset = 16M + partition-type = 0x83 + bootable = "true" + image = "rootfs.ext4" + } +} diff --git a/board/freescale/ls1046a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/ls1046a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..7981c74137f --- /dev/null +++ b/board/freescale/ls1046a-rdb/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 2d3f9c52e16766c290bdc0bc130d634e4c326a5b236dfb2f2ca3f0fa457e82d4 atf-lf-6.12.34-2.1.0.tar.gz diff --git a/board/freescale/ls1046a-rdb/patches/linux-headers/linux-headers.hash b/board/freescale/ls1046a-rdb/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/ls1046a-rdb/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/ls1046a-rdb/patches/linux/linux.hash b/board/freescale/ls1046a-rdb/patches/linux/linux.hash new file mode 100644 index 00000000000..f30030c86a8 --- /dev/null +++ b/board/freescale/ls1046a-rdb/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 27a1987ca0a5802d3ebb296b8134ec66d813ad86cf2a60779b45092735bbb23b linux-lf-6.12.34-2.1.0.tar.gz diff --git a/board/freescale/ls1046a-rdb/patches/uboot/uboot.hash b/board/freescale/ls1046a-rdb/patches/uboot/uboot.hash new file mode 100644 index 00000000000..38d54d9922b --- /dev/null +++ b/board/freescale/ls1046a-rdb/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 2f25cde388b2f83ff7a8e3afe25aafb1db48dafb0fa3bf1e4f9fef603f3b4785 u-boot-lf-6.12.34-2.1.0.tar.gz diff --git a/board/freescale/ls1046a-rdb/readme.txt b/board/freescale/ls1046a-rdb/readme.txt new file mode 100644 index 00000000000..e2f344dce9d --- /dev/null +++ b/board/freescale/ls1046a-rdb/readme.txt @@ -0,0 +1,95 @@ +*************** +NXP LS1046A-RDB +*************** + +This file documents the Buildroot support for the LS1046A Reference Design Board. + +for more details about the board and the QorIQ Layerscape SoC, see the following pages: + - https://www.nxp.com/design/design-center/development-boards-and-designs/LS1046A-RDB + - https://www.nxp.com/products/LS1046A + +Layerscape platforms are officially supported by NXP under the Layerscape +Debian Linux SDK (LDLSDK). This uses components from Linux Factory (project +common with i.MX), but has a slower release cadence than LF. The currently used +tag is lf-6.12.34-2.1.0, which is in line with the latest LF tag. Generally, in +Buildroot, the latest Linux Factory release tag is always used, which may be +considered pre-release software, as it may contain features which are not yet +documented, and it generally undergoes less testing. + +For the software Layerscape Debian Linux SDK User Guide, see: + - https://docs.nxp.com/bundle/UG10143/page/topics/about_this_document.html + - https://www.nxp.com/docs/en/user-guide/UG10143.pdf + +The components from NXP are: + - rcw, lf-6.12.34-2.1.0 + - atf (fork), lf-6.12.34-2.1.0 + - uboot (fork), lf-6.12.34-2.1.0 + - qoriq-fm-ucode (blob), lf-6.12.34-2.1.0 + - linux (fork), lf-6.12.34-2.1.0 + - fmlib, lf-6.12.34-2.1.0 + - fmc, lf-6.12.34-2.1.0 + +Build +===== + +First, configure Buildroot for the LS1046A-RDB board: + + make ls1046a-rdb_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - bl2_sd.pbl + - fip.bin + - fsl_fman_ucode_ls1046_r1.0_106_4_18.bin + - fsl_fman_ucode_ls1046_r1.0_108_4_9.bin + - fsl-ls1046a-rdb.dtb + - fsl-ls1046a-rdb-sdk.dtb + - Image + - PBL.bin + - rootfs.ext2 + - rootfs.ext4 + - sdcard.img + - u-boot.bin + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/sdX + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/ls1046a-rdb/genimage.cfg. + +Boot the LS1046A-ARDB board +=========================== + +To boot your newly created system: +- insert the SD card in the SD slot of the board; +- Configure the DIP switches + SW3[1:8] = 01000110 + SW4[1:8] = 00111011 + SW5[1:8] = 00100000 (select SD Card boot option) +- put a Micro-USB cable into the console port and connect using a terminal emulator + at 115200 bps, 8n1. +- power on the board. + +Alternatively, SD card boot can also be selected from the uboot command prompt: +- insert the SD card in the SD slot of the board; +- put a Micro-USB cable into console Port and connect using a terminal emulator +- power on the board. +- press any key to stop at the uboot command prompt. +- run the following uboot command + => cpld reset sd diff --git a/board/freescale/ls1046a-rdb/rootfs_overlay/boot/extlinux/extlinux.conf b/board/freescale/ls1046a-rdb/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..bbf26e2e4fb --- /dev/null +++ b/board/freescale/ls1046a-rdb/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label ls1046ardb-buildroot + kernel /boot/Image + devicetree /boot/fsl-ls1046a-rdb-sdk.dtb + append console=ttyS0,115200 root=/dev/mmcblk0p1 earlycon=uart8250,mmio,0x21c0500 rootwait diff --git a/board/freescale/mpc8315erdb/linux-4.5.config b/board/freescale/mpc8315erdb/linux-4.5.config deleted file mode 100644 index 8f56069309a..00000000000 --- a/board/freescale/mpc8315erdb/linux-4.5.config +++ /dev/null @@ -1,70 +0,0 @@ -CONFIG_FSL_EMB_PERFMON=y -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_SYSCTL_SYSCALL=y -CONFIG_EMBEDDED=y -CONFIG_MODULES=y -# CONFIG_PPC_CHRP is not set -# CONFIG_PPC_PMAC is not set -CONFIG_PPC_83xx=y -CONFIG_MPC831x_RDB=y -CONFIG_MCU_MPC8349EMITX=y -CONFIG_PCI=y -CONFIG_PCIEPORTBUS=y -# CONFIG_PCIEASPM is not set -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -CONFIG_MTD=y -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_BLOCK=y -CONFIG_MTD_CFI=y -CONFIG_MTD_CFI_AMDSTD=y -CONFIG_MTD_PHYSMAP_OF=y -CONFIG_MTD_NAND=y -CONFIG_MTD_NAND_FSL_ELBC=y -CONFIG_SCSI_MQ_DEFAULT=y -CONFIG_BLK_DEV_SD=y -CONFIG_SCSI_CONSTANTS=y -CONFIG_ATA=y -CONFIG_SATA_FSL=y -CONFIG_NETDEVICES=y -CONFIG_GIANFAR=y -CONFIG_REALTEK_PHY=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=y -CONFIG_I2C_MPC=y -CONFIG_SPI=y -CONFIG_SPI_FSL_SPI=y -CONFIG_GPIO_SYSFS=y -CONFIG_GPIO_MPC8XXX=y -CONFIG_WATCHDOG=y -CONFIG_8xxx_WDT=y -CONFIG_USB=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_FSL=y -CONFIG_USB_STORAGE=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_DS1307=y -CONFIG_RTC_DRV_GENERIC=y -CONFIG_DMADEVICES=y -CONFIG_FSL_DMA=y -CONFIG_ASYNC_TX_DMA=y -CONFIG_EXT4_FS=y -CONFIG_FANOTIFY=y -CONFIG_VFAT_FS=y -CONFIG_PROC_KCORE=y -CONFIG_TMPFS=y -CONFIG_JFFS2_FS=y -CONFIG_SQUASHFS=y -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_ISO8859_1=y -CONFIG_CRYPTO_DEV_TALITOS=y diff --git a/board/freescale/mpc8315erdb/readme.txt b/board/freescale/mpc8315erdb/readme.txt deleted file mode 100644 index b4c87b4d4a0..00000000000 --- a/board/freescale/mpc8315erdb/readme.txt +++ /dev/null @@ -1,40 +0,0 @@ -You'll need to program the files created by buildroot into the flash. -The fast way is to tftp transfer the files via one of the network interfaces. - -Alternatively you can transfer the files via serial console with an Ymodem -file transfer from your terminal program by using a "loady" command -from the u-boot prompt instead of the "tftp ..." commands stated below. -Beware that serial console file transfers are quite slow! - -1. Program the kernel to NAND flash - - => tftp $loadaddr uImage - => nand erase 0x100000 0x1e0000 - => nand write $loadaddr 0x100000 0x1e0000 - -2. Program the DTB to NAND flash - - => tftp $loadaddr mpc8315erdb.dtb - => nand erase 0x2e0000 0x20000 - => nand write $loadaddr 0x2e0000 0x20000 - -3. Program the root filesystem to NAND flash - - => tftp $loadaddr rootfs.jffs2 - => nand erase 0x400000 0x1c00000 - => nand write $loadaddr 0x400000 $filesize - -4. Booting your new system - - => setenv nandboot 'setenv bootargs root=/dev/mtdblock3 rootfstype=jffs2 console=$consoledev,$baudrate;nand read $fdtaddr 0x2e0000 0x20000;nand read $loadaddr 0x100000 0x1e0000;bootm $loadaddr - $fdtaddr' - - If you want to set this boot option as default: - - => setenv bootcmd 'run nandboot' - => saveenv - - ...or for a single boot: - - => run nandboot - - You can login with user "root". diff --git a/board/freescale/p1010rdb/linux-4.1.config b/board/freescale/p1010rdb/linux-4.1.config deleted file mode 100644 index 2de430cbee2..00000000000 --- a/board/freescale/p1010rdb/linux-4.1.config +++ /dev/null @@ -1,70 +0,0 @@ -CONFIG_PPC_85xx=y -CONFIG_PHYS_64BIT=y -CONFIG_SYSVIPC=y -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_EXPERT=y -CONFIG_MODULES=y -CONFIG_P1010_RDB=y -CONFIG_HIGHMEM=y -CONFIG_SWIOTLB=y -CONFIG_FORCE_MAX_ZONEORDER=12 -CONFIG_PCI=y -CONFIG_PCI_MSI=y -CONFIG_RAPIDIO=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_DEVTMPFS=y -CONFIG_MTD=y -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_BLOCK=y -CONFIG_FTL=y -CONFIG_MTD_CFI=y -CONFIG_MTD_CFI_INTELEXT=y -CONFIG_MTD_CFI_AMDSTD=y -CONFIG_MTD_PHYSMAP_OF=y -CONFIG_MTD_NAND=y -CONFIG_MTD_NAND_FSL_ELBC=y -CONFIG_MTD_NAND_FSL_IFC=y -CONFIG_BLK_DEV_SD=y -CONFIG_CHR_DEV_SG=y -CONFIG_ATA=y -CONFIG_SATA_FSL=y -CONFIG_NETDEVICES=y -CONFIG_GIANFAR=y -CONFIG_VITESSE_PHY=y -CONFIG_FIXED_PHY=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_NR_UARTS=2 -CONFIG_SERIAL_8250_RUNTIME_UARTS=2 -CONFIG_SERIAL_8250_MANY_PORTS=y -CONFIG_SERIAL_8250_DETECT_IRQ=y -CONFIG_SERIAL_8250_RSA=y -CONFIG_NVRAM=y -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=y -CONFIG_I2C_MPC=y -CONFIG_SPI=y -CONFIG_SPI_FSL_SPI=y -CONFIG_SPI_FSL_ESPI=y -CONFIG_USB=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_FSL=y -CONFIG_USB_STORAGE=y -CONFIG_MMC=y -CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_PLTFM=y -CONFIG_MMC_SDHCI_OF_ESDHC=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_CMOS=y -CONFIG_DMADEVICES=y -CONFIG_FSL_DMA=y -CONFIG_EXT4_FS=y -CONFIG_TMPFS=y -CONFIG_JFFS2_FS=y -CONFIG_SQUASHFS=y -CONFIG_CRYPTO_DEV_FSL_CAAM=y diff --git a/board/freescale/p1010rdb/readme.txt b/board/freescale/p1010rdb/readme.txt deleted file mode 100644 index 025c97e8a83..00000000000 --- a/board/freescale/p1010rdb/readme.txt +++ /dev/null @@ -1,40 +0,0 @@ -You'll need to program the files created by buildroot into the flash. -The fast way is to tftp transfer the files via one of the network interfaces. - -Alternatively you can transfer the files via serial console with an Ymodem -file transfer from your terminal program by using a "loady" command -from the u-boot prompt instead of the "tftp ..." commands stated below. -Beware that serial console file transfers are quite slow! - -1. Program the DTB to NOR flash - - => tftp $loadaddr p1010rdb-pa.dtb - => erase 0xee000000 +$filesize - => cp.b $loadaddr 0xee000000 $filesize - -2. Program the kernel to NOR flash - - => tftp $loadaddr uImage - => erase 0xee080000 +$filesize - => cp.b $loadaddr 0xee080000 $filesize - -3. Program the root filesystem to NOR flash - - => tftp $loadaddr rootfs.jffs2 - => erase 0xee800000 0xeff5ffff - => cp.b $loadaddr 0xee800000 $filesize - -4. Booting your new system - - => setenv norboot 'setenv bootargs root=/dev/mtdblock2 rootfstype=jffs2 console=$consoledev,$baudrate;bootm 0xee080000 - 0xee000000' - - If you want to set this boot option as default: - - => setenv bootcmd 'run norboot' - => saveenv - - ...or for a single boot: - - => run norboot - - You can login with user "root". diff --git a/board/freescale/p1025twr/readme.txt b/board/freescale/p1025twr/readme.txt new file mode 100644 index 00000000000..9179aeac64a --- /dev/null +++ b/board/freescale/p1025twr/readme.txt @@ -0,0 +1,25 @@ +The bootloader is no longer buildable in the latest Freescale/NXP tree or +upstream. As such, retrieve the "Image: SDK V1.2 e500v2 Binary ISO" from +NXP downloads and follow the release notes for reflashing. + +For programming the kernel and rootfs created by buildroot into the flash. +The fast way is to tftp transfer the files via one of the network interfaces. +Make sure your devkit has ipaddr and serverip defined to reach your tftp +server. + +(Assuming the default u-boot env from NXP) +1. Program the DTB to NOR flash + + => setenv dtbfile p1025twr.dtb + => run dtbflash + +2. Program the kernel and rootfs to NOR flash (reusing orignal rootfs + NOR location, as the kernel location is to small) + + => tftpboot $loadaddr uImage; protect off 0xeeb80000 +$filesize; erase 0xeeb80000 +$filesize; cp.b $loadaddr 0xeeb80000 $filesize; protect on 0xeeb80000 +$filesize; cmp.b $loadaddr 0xefa80000 $filesize + +3. Booting your new system + + => bootm 0xeeb80000 - 0xefe80000 + + You can login with user "root". diff --git a/board/freescale/t1040_t2080/readme.txt b/board/freescale/t1040_t2080/readme.txt new file mode 100644 index 00000000000..65695295f60 --- /dev/null +++ b/board/freescale/t1040_t2080/readme.txt @@ -0,0 +1,51 @@ +For the bootloader, NXP has stablized at SDK2.0 (final release). It is +suggested to download the prebuilt from NXP downloads and follow the +release notes for reflashing. + +To program the kernel and rootfs created by buildroot into the flash. The +fast way is to tftp transfer the files via one of the network interfaces. +Make sure your devkit has ipaddr, netmask, and serverip defined to reach your +tftp server. Verify bootargs are reasonable (console=ttyS0,115200). + +------------------------------------------------------------------------------ + +Devkit: T1040RDB + +(Assuming the default u-boot env from NXP) +1. Program the DTB to NOR flash + + => tftpboot $loadaddr t1040d4rdb.dtb; protect off 0xe8800000 +$filesize; erase 0xe8800000 +$filesize; cp.b $loadaddr 0xe8800000 $filesize; protect on 0xe8800000 +$filesize; cmp.b $loadaddr 0xe8800000 $filesize + +2. Program the kernel and rootfs to NOR flash + + => tftpboot $loadaddr uImage; protect off 0xe8020000 +$filesize; erase 0xe8020000 +$filesize; cp.b $loadaddr 0xe8020000 $filesize; protect on 0xe8020000 +$filesize; cmp.b $loadaddr 0xe8020000 $filesize + => tftpboot $loadaddr rootfs.cpio.uboot; protect off 0xe9300000 +$filesize; erase 0xe9300000 +$filesize; cp.b $loadaddr 0xe9300000 $filesize; protect on 0xe9300000 +$filesize; cmp.b $loadaddr 0xe9300000 $filesize + +3. Booting your new system + + => boot + + You can login with user "root". +------------------------------------------------------------------------------ + +Devkit: T2080 QDS or RDB + +(Assuming the default u-boot env from NXP) +1. Netboot the kernel/rootfs/dtb + + => tftp 0x1000000 uImage && tftp 0x2000000 rootfs.cpio.uboot + + RDB => tftp 0x3000000 t2080rdb.dtb + or + QDS => tftp 0x3000000 t2080qds.dtb + +2. Booting your new system + + => bootm 0x1000000 0x2000000 0x3000000 + + You can login with user "root". + +3. If flashing is desired, a similar approach to the T1040 can be followed + with updated addresses for the flash layout. Example is in the NXP default + env. +------------------------------------------------------------------------------ diff --git a/board/freescale/warpboard/README b/board/freescale/warpboard/README deleted file mode 100644 index 67d4e044e98..00000000000 --- a/board/freescale/warpboard/README +++ /dev/null @@ -1,77 +0,0 @@ -Build -===== - -First, configure Buildroot for your WarpBoard. - make warpboard_defconfig - -Build all components: - make - -You will find in ./output/images/ the following files: - - imx6sl-warp.dtb - - rootfs.ext4 - - rootfs.tar - - sdcard.img - - u-boot.imx - - zImage - -Update uboot -============ - -- Put warpboard in USB download mode by closing the j2 jumper on the - daugther board - -- Load u-boot.imx in the WarpBoard by using the imx-usb-loader host utility: - - $ ./output/host/bin/imx_usb -c output/host/etc/imx-loader.d/ output/images/u-boot.imx - -- U-Boot will appear in minicom - -- Reset the U-Boot environment to its default: - => env default -f -a - => saveenv - -- Run the DFU command in U-Boot: - => dfu 0 mmc 0 - -- Transfer U-Boot into flash by running this command in host side: - - $ sudo ./output/host/bin/dfu-util -D output/images/u-boot.imx -a boot - -- remove power and put the WarpBoard back into normal boot mode by - opening the j2 jumper. - -Update linux & rootfs -===================== - -Run the 'ums' command from the U-Boot prompt to mount the eMMC as USB mass -storage: - -=> ums 0 mmc 0 - -And then flash the sdcard.img into the eMMC: - - dd if=output/images/sdcard.img of=/dev/ - -*** WARNING! This will destroy all the eMMC content. Use it with care! *** - -Using bluetooth -================ - -Enable the bluez_utils or bluez5_utils package, and then run: - -$ hciattach /dev/ttymxc4 any -$ hciconfig hci0 up - -Using Wifi -========== - -# modprobe brcmfmac -# iwconfig wlan0 essid ACCESSPOINTNAME -# wpa_passphrase ACCESSPOINTNAME > /etc/wpa.conf -(enter the wifi password and press enter) -# wpa_supplicant -Dwext -iwlan0 -c /etc/wpa.conf & -# udhcpc -i wlan0 -# ping buildroot.org - -Enjoy! diff --git a/board/freescale/warpboard/linux.fragment b/board/freescale/warpboard/linux.fragment deleted file mode 100644 index 892d0cb7b99..00000000000 --- a/board/freescale/warpboard/linux.fragment +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CFG80211_WEXT=y diff --git a/board/freescale/warpboard/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt b/board/freescale/warpboard/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt deleted file mode 100644 index 9546246b918..00000000000 --- a/board/freescale/warpboard/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt +++ /dev/null @@ -1,40 +0,0 @@ -# bcm94330wlsdgb.txt -manfid=0x2d0 -prodid=0x0552 -vendid=0x14e4 -devid=0x4360 -boardtype=0x0552 -boardrev=0x11 -# this design has 2.4GHz SP3T switch -boardflags=0x00080200 -nocrc=1 -xtalfreq=37400 -boardnum=22 -macaddr=00:90:4c:c5:12:38 -ag0=255 -aa2g=1 -ccode=CN -pa0b0=0x14d0 -pa0b1=0xfd98 -pa0b2=0xff78 -rssismf2g=0xa -rssismc2g=0x3 -rssisav2g=0x7 -maxp2ga0=0x50 -sromrev=3 -il0macaddr=00:90:4c:c5:12:38 -wl0id=0x431b -cckPwrOffset=5 -ofdm2gpo=0x66666666 -mcs2gpo0=0x6666 -mcs2gpo1=0x6666 -swctrlmap_2g=0x04040404,0x02020202,0x02020404,0x10202,0x1ff -swctrlmap_5g=0x00100010,0x00280020,0x00200010,0x14202,0x2f8 -rfreg033=0x19 -rfreg033_cck=0x1f -dacrate2g=160 -txalpfbyp2g=1 -bphyscale=17 -cckPwrIdxCorr=-15 -pacalidx2g=45 -txgaintbl=1 diff --git a/board/friendlyarm/nanopi-m1-plus/boot.cmd b/board/friendlyarm/nanopi-m1-plus/boot.cmd deleted file mode 100644 index 35a1d65d3dd..00000000000 --- a/board/friendlyarm/nanopi-m1-plus/boot.cmd +++ /dev/null @@ -1,8 +0,0 @@ -setenv fdt_high ffffffff - -setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait - -fatload mmc 0 $kernel_addr_r zImage -fatload mmc 0 $fdt_addr_r sun8i-h3-nanopi-m1-plus.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/friendlyarm/nanopi-m1-plus/genimage.cfg b/board/friendlyarm/nanopi-m1-plus/genimage.cfg deleted file mode 100644 index fdb3b906736..00000000000 --- a/board/friendlyarm/nanopi-m1-plus/genimage.cfg +++ /dev/null @@ -1,35 +0,0 @@ -# Minimal SD card image for the NanoPi M1 Plus -# -image boot.vfat { - vfat { - files = { - "zImage", - "sun8i-h3-nanopi-m1-plus.dtb", - "boot.scr" - } - } - size = 10M -} - -image sdcard.img { - hdimage { - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/friendlyarm/nanopi-m1-plus/patches/linux/0001-ARM-dts-nanopi-m1-plus-add-dts-to-linux-4.11.5.patch b/board/friendlyarm/nanopi-m1-plus/patches/linux/0001-ARM-dts-nanopi-m1-plus-add-dts-to-linux-4.11.5.patch deleted file mode 100644 index c05273261d1..00000000000 --- a/board/friendlyarm/nanopi-m1-plus/patches/linux/0001-ARM-dts-nanopi-m1-plus-add-dts-to-linux-4.11.5.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 4ec28d4e1040b94c66e97aa77071c9ef3478f022 Mon Sep 17 00:00:00 2001 -From: Chakra Divi -Date: Thu, 6 Jul 2017 18:22:35 +0530 -Subject: [PATCH] ARM: dts: nanopi-m1-plus : add dts to linux 4.11.5 - -This patch is used to add nanopi-m1-plus dts -file in linux source code helps to add nanopi-m1-plus -board support in buildroot and is part of the linux -main-line ; refer to the below link for info -[https://patchwork.kernel.org/patch/9755033] - -Signed-off-by: Chakra Divi ---- - arch/arm/boot/dts/Makefile | 1 + - arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts | 64 +++++++++++++++++++++++++ - 2 files changed, 65 insertions(+) - create mode 100644 arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts - -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index 0118084..928e5d3 100644 ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -867,6 +867,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \ - sun8i-h3-bananapi-m2-plus.dtb \ - sun8i-h3-beelink-x2.dtb \ - sun8i-h3-nanopi-m1.dtb \ -+ sun8i-h3-nanopi-m1-plus.dtb \ - sun8i-h3-nanopi-neo.dtb \ - sun8i-h3-orangepi-2.dtb \ - sun8i-h3-orangepi-lite.dtb \ -diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts -new file mode 100644 -index 0000000..8ddd1b2 ---- /dev/null -+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts -@@ -0,0 +1,64 @@ -+/* -+ * Copyright (C) 2017 Jagan Teki -+ * -+ * This file is dual-licensed: you can use it either under the terms -+ * of the GPL or the X11 license, at your option. Note that this dual -+ * licensing only applies to this file, and not this project as a -+ * whole. -+ * -+ * a) This file is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of the -+ * License, or (at your option) any later version. -+ * -+ * This file is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * Or, alternatively, -+ * -+ * b) Permission is hereby granted, free of charge, to any person -+ * obtaining a copy of this software and associated documentation -+ * files (the "Software"), to deal in the Software without -+ * restriction, including without limitation the rights to use, -+ * copy, modify, merge, publish, distribute, sublicense, and/or -+ * sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following -+ * conditions: -+ * -+ * The above copyright notice and this permission notice shall be -+ * included in all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -+ * OTHER DEALINGS IN THE SOFTWARE. -+ */ -+ -+#include "sun8i-h3-nanopi.dtsi" -+ -+/ { -+ model = "FriendlyArm NanoPi M1 Plus"; -+ compatible = "friendlyarm,nanopi-m1-plus", "allwinner,sun8i-h3"; -+}; -+ -+&ehci1 { -+ status = "okay"; -+}; -+ -+&ehci2 { -+ status = "okay"; -+}; -+ -+&ohci1 { -+ status = "okay"; -+}; -+ -+&ohci2 { -+ status = "okay"; -+}; --- -1.7.9.5 - diff --git a/board/friendlyarm/nanopi-m1-plus/readme.txt b/board/friendlyarm/nanopi-m1-plus/readme.txt deleted file mode 100644 index 3e16c8afad6..00000000000 --- a/board/friendlyarm/nanopi-m1-plus/readme.txt +++ /dev/null @@ -1,29 +0,0 @@ -NanoPi M1 Plus - -Intro -===== - -This default configuration will allow you to start experimenting with the -buildroot environment for the NanoPi M1 Plus. With the current configuration -it will bring-up the board, and allow access through the serial console. - -How to build it -=============== - -Configure Buildroot: - - $ make nanopi_m1_plus_defconfig - -Compile everything and build the SD card image: - - $ make - -How to write the SD card -======================== - -Once the build process is finished you will have an image called "sdcard.img" -in the output/images/ directory. - -Copy the bootable "sdcard.img" onto an SD card with "dd": - - $ sudo dd if=output/images/sdcard.img of=/dev/sdX diff --git a/board/friendlyarm/nanopi-m1/boot.cmd b/board/friendlyarm/nanopi-m1/boot.cmd deleted file mode 100644 index b4d612ede74..00000000000 --- a/board/friendlyarm/nanopi-m1/boot.cmd +++ /dev/null @@ -1,8 +0,0 @@ -setenv fdt_high ffffffff - -setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait - -fatload mmc 0 $kernel_addr_r zImage -fatload mmc 0 $fdt_addr_r sun8i-h3-nanopi-m1.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/friendlyarm/nanopi-m1/genimage.cfg b/board/friendlyarm/nanopi-m1/genimage.cfg deleted file mode 100644 index 23c9c7dca2a..00000000000 --- a/board/friendlyarm/nanopi-m1/genimage.cfg +++ /dev/null @@ -1,36 +0,0 @@ -# Minimal SD card image for the NanoPi M1 -# -image boot.vfat { - vfat { - files = { - "zImage", - "sun8i-h3-nanopi-m1.dtb", - "boot.scr" - } - } - size = 10M -} - -image sdcard.img { - hdimage { - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 512M - } -} diff --git a/board/friendlyarm/nanopi-m1/readme.txt b/board/friendlyarm/nanopi-m1/readme.txt deleted file mode 100644 index 8b10e4b7ce8..00000000000 --- a/board/friendlyarm/nanopi-m1/readme.txt +++ /dev/null @@ -1,29 +0,0 @@ -NanoPi M1 - -Intro -===== - -This default configuration will allow you to start experimenting with the -buildroot environment for the NanoPi M1. With the current configuration -it will bring-up the board, and allow access through the serial console. - -How to build it -=============== - -Configure Buildroot: - - $ make nanopi_m1_defconfig - -Compile everything and build the SD card image: - - $ make - -How to write the SD card -======================== - -Once the build process is finished you will have an image called "sdcard.img" -in the output/images/ directory. - -Copy the bootable "sdcard.img" onto an SD card with "dd": - - $ sudo dd if=output/images/sdcard.img of=/dev/sdX diff --git a/board/friendlyarm/nanopi-neo/boot.cmd b/board/friendlyarm/nanopi-neo/boot.cmd deleted file mode 100644 index 7874057859c..00000000000 --- a/board/friendlyarm/nanopi-neo/boot.cmd +++ /dev/null @@ -1,8 +0,0 @@ -setenv fdt_high ffffffff - -setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait - -fatload mmc 0 $kernel_addr_r zImage -fatload mmc 0 $fdt_addr_r sun8i-h3-nanopi-neo.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/friendlyarm/nanopi-neo/extlinux.conf b/board/friendlyarm/nanopi-neo/extlinux.conf new file mode 100644 index 00000000000..e65951f9d92 --- /dev/null +++ b/board/friendlyarm/nanopi-neo/extlinux.conf @@ -0,0 +1,4 @@ +label NanoPi NEO linux + kernel /boot/zImage + devicetree /boot/sun8i-h3-nanopi-neo.dtb + append console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p1 rootwait panic=10 diff --git a/board/friendlyarm/nanopi-neo/genimage.cfg b/board/friendlyarm/nanopi-neo/genimage.cfg index ad43d310496..6d57dd90882 100644 --- a/board/friendlyarm/nanopi-neo/genimage.cfg +++ b/board/friendlyarm/nanopi-neo/genimage.cfg @@ -1,34 +1,17 @@ -image boot.vfat { - vfat { - files = { - "zImage", - "sun8i-h3-nanopi-neo.dtb", - "boot.scr" - } - } - size = 10M -} - +# Minimal SD card image for the NanoPi NEO. image sdcard.img { hdimage { } partition u-boot { - in-partition-table = "no" + in-partition-table = false image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" + offset = 8K } partition rootfs { partition-type = 0x83 image = "rootfs.ext4" - size = 32M + offset = 1M } } diff --git a/board/friendlyarm/nanopi-neo/patches/linux/linux.hash b/board/friendlyarm/nanopi-neo/patches/linux/linux.hash new file mode 100644 index 00000000000..020dc72386c --- /dev/null +++ b/board/friendlyarm/nanopi-neo/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 f4855f382c1b735c84072bdef36db5bcd5dc7b0c37e42f5104317149a0a486ef linux-6.18.18.tar.xz diff --git a/board/friendlyarm/nanopi-neo/patches/uboot/uboot.hash b/board/friendlyarm/nanopi-neo/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/friendlyarm/nanopi-neo/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/friendlyarm/nanopi-neo/post-build.sh b/board/friendlyarm/nanopi-neo/post-build.sh index 9759efb568d..d84a5da0b0f 100755 --- a/board/friendlyarm/nanopi-neo/post-build.sh +++ b/board/friendlyarm/nanopi-neo/post-build.sh @@ -1,12 +1,5 @@ #!/bin/sh -# post-build.sh for Nanopi NEO, based on the Orange Pi PC -# 2013, Carlo Caione -# 2016, "Yann E. MORIN" -BOARD_DIR="$( dirname "${0}" )" -MKIMAGE="${HOST_DIR}/bin/mkimage" -BOOT_CMD="${BOARD_DIR}/boot.cmd" -BOOT_CMD_H="${BINARIES_DIR}/boot.scr" +BOARD_DIR="$(dirname "$0")" -# U-Boot script -"${MKIMAGE}" -C none -A arm -T script -d "${BOOT_CMD}" "${BOOT_CMD_H}" +install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$TARGET_DIR"/boot/extlinux/extlinux.conf diff --git a/board/friendlyarm/nanopi-neo/post-image.sh b/board/friendlyarm/nanopi-neo/post-image.sh deleted file mode 100755 index 740386ef823..00000000000 --- a/board/friendlyarm/nanopi-neo/post-image.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# post-image.sh for Nanopi NEO, based on the Orange Pi PC - -BOARD_DIR="$( dirname "${0}" )" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/board/friendlyarm/nanopi-neo/readme.txt b/board/friendlyarm/nanopi-neo/readme.txt index 539df541d83..cfe7714a410 100644 --- a/board/friendlyarm/nanopi-neo/readme.txt +++ b/board/friendlyarm/nanopi-neo/readme.txt @@ -1,42 +1,41 @@ +Nanopi NEO + Intro ===== -The instructions herein are valid for the FriendlyARM NanoPi NEO, -both the 256MiB and 512MiB versions. They should also work for the -NanoPi NEO Air, but this is untested so far. - -The FriendlyARM Nanopi NEO is a 4x4cm² board with an Allwiner H3 SoC: - - quad-core Cortex-A7 @1.2GHz - - 256 or 512MiB of DDR - - uSDCard as only storage option - - 3x USB 2.0 host (one socket, two on expansion pin-holes) - - 1x USB 2.0 OTG (also used as power source) - - 10/100 ethernet MAC - - GPIOs, SPI, I2c... - -Support for the Nanopi NEO in U-Boot and Linux is very recent, so only -core, basic features are available. - -Unfortunately, support for the ethernet MAC and the USB OTG are not -yet upstream, but are being actively worked on. +This default configuration will allow you to start experimenting with the +buildroot environment for the NanoPi NEO. With the current configuration +it will bring-up the board, and allow access through the serial console. +FriendlyARM Nanopi NEO link: +https://wiki.friendlyelec.com/wiki/index.php/NanoPi_NEO How to build ============ - $ make nanopi_neo_defconfig + $ make friendlyarm_nanopi_neo_defconfig $ make Note: you will need access to the internet to download the required sources. -You will then obtain an image ready to be written to your micro SDcard: +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SD card in your Nanopi NEO and power it up. The console +is on the debug TTL UART, 115200 8N1. - $ dd if=output/images/sdcard.img of=/dev/sdX bs=1M +Ethernet +========== -Notes: - - replace 'sdX' with the actual device with your micro SDcard, - - you may need to be root to do that (use 'sudo'). + # udhcpc -i eth0 -Insert the micro SDcard in your NanoPi NEO and power it up. The console -is on the serial line, 115200 8N1. +Enjoy! diff --git a/board/friendlyarm/nanopi-r2s/extlinux.conf b/board/friendlyarm/nanopi-r2s/extlinux.conf new file mode 100644 index 00000000000..1ea0cdd8a54 --- /dev/null +++ b/board/friendlyarm/nanopi-r2s/extlinux.conf @@ -0,0 +1,4 @@ +label NanoPi R2S linux + kernel /boot/Image + devicetree /boot/rk3328-nanopi-r2s.dtb + append root=/dev/mmcblk0p1 rw rootwait diff --git a/board/friendlyarm/nanopi-r2s/genimage.cfg b/board/friendlyarm/nanopi-r2s/genimage.cfg new file mode 100644 index 00000000000..a686b4f14e5 --- /dev/null +++ b/board/friendlyarm/nanopi-r2s/genimage.cfg @@ -0,0 +1,22 @@ +image sdcard.img { + hdimage { + } + + partition u-boot-tpl-spl-dtb { + in-partition-table = "no" + image = "idbloader.img" + offset = 32K + } + + partition u-boot-dtb { + in-partition-table = "no" + image = "u-boot.itb" + offset = 8M + } + + partition rootfs { + partition-type = 0x83 + offset = 16M + image = "rootfs.ext4" + } +} diff --git a/board/friendlyarm/nanopi-r2s/patches/linux/linux.hash b/board/friendlyarm/nanopi-r2s/patches/linux/linux.hash new file mode 100644 index 00000000000..020dc72386c --- /dev/null +++ b/board/friendlyarm/nanopi-r2s/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 f4855f382c1b735c84072bdef36db5bcd5dc7b0c37e42f5104317149a0a486ef linux-6.18.18.tar.xz diff --git a/board/friendlyarm/nanopi-r2s/patches/uboot/uboot.hash b/board/friendlyarm/nanopi-r2s/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/friendlyarm/nanopi-r2s/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/friendlyarm/nanopi-r2s/post-build.sh b/board/friendlyarm/nanopi-r2s/post-build.sh new file mode 100755 index 00000000000..1f5ff6a6113 --- /dev/null +++ b/board/friendlyarm/nanopi-r2s/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname $0)" + +install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf diff --git a/board/friendlyarm/nanopi-r2s/readme.txt b/board/friendlyarm/nanopi-r2s/readme.txt new file mode 100644 index 00000000000..6d291cdd60b --- /dev/null +++ b/board/friendlyarm/nanopi-r2s/readme.txt @@ -0,0 +1,57 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the Nanopi R2S. With the current configuration +it will bring-up the board, and allow access through the serial console. + +Nanopi R2S link: +https://www.friendlyarm.com/index.php?route=product/product&path=69&product_id=282 + +This configuration uses ATF, U-Boot mainline and kernel mainline. + +How to build +============ + + $ make friendlyarm_nanopi_r2s_defconfig + $ make + +Note: you will need access to the internet to download the required +sources. + +Files created in output directory +================================= + +output/images + +├── bl31.elf +├── boot.vfat +├── extlinux +├── idbloader.img +├── Image +├── rk3328-nanopi-r2s.dtb +├── rootfs.ext2 +├── rootfs.ext4 -> rootfs.ext2 +├── rootfs.tar +├── sdcard.img +├── u-boot.bin +└── u-boot.itb + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your Nanopi R2S and power it up. The console +is on the serial line, 1500000 8N1. + +Notes +===== + +This configuration can also be used to drive the Friendlyarm Nanopi Neo3 board. diff --git a/board/friendlyarm/nanopi-r3s/extlinux.conf.in b/board/friendlyarm/nanopi-r3s/extlinux.conf.in new file mode 100644 index 00000000000..ecddbc420e1 --- /dev/null +++ b/board/friendlyarm/nanopi-r3s/extlinux.conf.in @@ -0,0 +1,4 @@ +LABEL default + kernel /boot/Image + devicetreedir /boot + append root=PARTUUID=%PARTUUID% rootwait diff --git a/board/friendlyarm/nanopi-r3s/genimage.cfg.in b/board/friendlyarm/nanopi-r3s/genimage.cfg.in new file mode 100644 index 00000000000..f3babe465ae --- /dev/null +++ b/board/friendlyarm/nanopi-r3s/genimage.cfg.in @@ -0,0 +1,19 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + gpt-no-backup = true + } + + partition uboot { + in-partition-table = false + image = "u-boot-rockchip.bin" + offset = 32K + } + + partition rootfs { + offset = 16M + image = "rootfs.ext4" + partition-uuid = %PARTUUID% + bootable = true + } +} diff --git a/board/friendlyarm/nanopi-r3s/kernel.config b/board/friendlyarm/nanopi-r3s/kernel.config new file mode 100644 index 00000000000..b6fdca8b864 --- /dev/null +++ b/board/friendlyarm/nanopi-r3s/kernel.config @@ -0,0 +1,118 @@ +CONFIG_SYSVIPC=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_ARCH_ROCKCHIP=y +CONFIG_ARM64_VA_BITS_39=y +CONFIG_NR_CPUS=4 +# CONFIG_EFI is not set +# CONFIG_SUSPEND is not set +CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y +CONFIG_ENERGY_MODEL=y +CONFIG_CPU_IDLE=y +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +CONFIG_CPUFREQ_DT=y +CONFIG_JUMP_LABEL=y +# CONFIG_GCC_PLUGINS is not set +# CONFIG_SWAP is not set +CONFIG_CMA=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_PCI=y +CONFIG_PCIE_ROCKCHIP_HOST=y +CONFIG_PCIE_ROCKCHIP_DW_HOST=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_NETDEVICES=y +CONFIG_R8169=y +CONFIG_STMMAC_ETH=y +CONFIG_ROCKCHIP_PHY=y +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_SERIO is not set +CONFIG_LEGACY_PTY_COUNT=4 +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_NR_UARTS=1 +CONFIG_SERIAL_8250_RUNTIME_UARTS=1 +CONFIG_SERIAL_8250_DW=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_RK3X=y +CONFIG_PINCTRL_RK805=y +CONFIG_SYSCON_REBOOT_MODE=y +CONFIG_THERMAL=y +CONFIG_CPU_THERMAL=y +CONFIG_ROCKCHIP_THERMAL=y +CONFIG_WATCHDOG=y +CONFIG_DW_WATCHDOG=y +CONFIG_MFD_RK8XX_I2C=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_FAN53555=y +CONFIG_REGULATOR_RK808=y +CONFIG_USB=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_DWC3=y +CONFIG_NOP_USB_XCEIV=y +CONFIG_MMC=y +CONFIG_MMC_BLOCK_MINORS=32 +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_OF_DWCMSHC=y +CONFIG_MMC_DW=y +CONFIG_MMC_DW_ROCKCHIP=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_ACTIVITY=y +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y +CONFIG_LEDS_TRIGGER_NETDEV=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_HYM8563=y +CONFIG_DMADEVICES=y +CONFIG_PL330_DMA=y +CONFIG_COMMON_CLK_RK808=y +# CONFIG_CLK_PX30 is not set +# CONFIG_CLK_RK3308 is not set +# CONFIG_CLK_RK3328 is not set +# CONFIG_CLK_RK3368 is not set +# CONFIG_CLK_RK3399 is not set +# CONFIG_CLK_RK3576 is not set +# CONFIG_CLK_RK3588 is not set +CONFIG_ROCKCHIP_IOMMU=y +CONFIG_ROCKCHIP_IODOMAIN=y +CONFIG_ROCKCHIP_PM_DOMAINS=y +CONFIG_PHY_ROCKCHIP_EMMC=y +CONFIG_PHY_ROCKCHIP_INNO_USB2=y +CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=y +CONFIG_PHY_ROCKCHIP_PCIE=y +CONFIG_PHY_ROCKCHIP_USB=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_TMPFS=y +CONFIG_SECURITY=y +CONFIG_CRYPTO_USER=y +CONFIG_CRYPTO_GHASH=y +CONFIG_CRYPTO_USER_API_RNG=y +CONFIG_CRYPTO_CHACHA20_NEON=y +CONFIG_CRYPTO_GHASH_ARM64_CE=y +CONFIG_CRYPTO_SHA1_ARM64_CE=y +CONFIG_CRYPTO_SHA2_ARM64_CE=y +CONFIG_CRYPTO_SHA512_ARM64_CE=y +CONFIG_CRYPTO_SHA3_ARM64=y +CONFIG_CRYPTO_AES_ARM64_BS=y +CONFIG_CRYPTO_AES_ARM64_CE_CCM=y +CONFIG_CRYPTO_DEV_ROCKCHIP=y +CONFIG_DMA_CMA=y +CONFIG_STRIP_ASM_SYMS=y diff --git a/board/friendlyarm/nanopi-r3s/patches/linux-headers/linux-headers.hash b/board/friendlyarm/nanopi-r3s/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/friendlyarm/nanopi-r3s/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/friendlyarm/nanopi-r3s/patches/linux/linux.hash b/board/friendlyarm/nanopi-r3s/patches/linux/linux.hash new file mode 100644 index 00000000000..f83883b936d --- /dev/null +++ b/board/friendlyarm/nanopi-r3s/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz diff --git a/board/friendlyarm/nanopi-r3s/patches/uboot/uboot.hash b/board/friendlyarm/nanopi-r3s/patches/uboot/uboot.hash new file mode 100644 index 00000000000..74d80a0daa1 --- /dev/null +++ b/board/friendlyarm/nanopi-r3s/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally computed: +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/friendlyarm/nanopi-r3s/post-build.sh b/board/friendlyarm/nanopi-r3s/post-build.sh new file mode 100755 index 00000000000..604f387768d --- /dev/null +++ b/board/friendlyarm/nanopi-r3s/post-build.sh @@ -0,0 +1,7 @@ +#!/bin/sh +BOARD_DIR="$(dirname "$0")" +PARTUUID="$("$HOST_DIR"/bin/uuidgen)" + +install -d "$TARGET_DIR/boot/extlinux/" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/extlinux.conf.in" > "$TARGET_DIR/boot/extlinux/extlinux.conf" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/genimage.cfg.in" > "$BINARIES_DIR/genimage.cfg" diff --git a/board/friendlyarm/nanopi-r3s/readme.txt b/board/friendlyarm/nanopi-r3s/readme.txt new file mode 100644 index 00000000000..515620218aa --- /dev/null +++ b/board/friendlyarm/nanopi-r3s/readme.txt @@ -0,0 +1,41 @@ +FriendlyARM NanoPi R3S +======================= +https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R3S + +How to build +============ + $ make friendlyarm_nanopi_r3s_defconfig + $ make + +Files created in output directory +================================= + +output/images +├── bl31.elf +├── genimage.cfg +├── Image +├── rk3566_ddr_1056MHz_v1.18.bin +├── rockchip +│   └── rk3566-nanopi-r3s.dtb +├── rootfs.ext2 +├── rootfs.ext4 -> rootfs.ext2 +├── rtl_nic +│   ├── ... +│   ├── rtl8168h-2.fw +│   └── ... +├── sdcard.img +├── u-boot.bin +└── u-boot-rockchip.bin + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX bs=1M conv=fsync + +Insert the micro SDcard in your Nanopi R3S and power it up. +The console is on the serial line, 1500000 8N1. diff --git a/board/friendlyarm/nanopi-r3s/rootfs_overlay/etc/network/interfaces b/board/friendlyarm/nanopi-r3s/rootfs_overlay/etc/network/interfaces new file mode 100644 index 00000000000..d49e95de752 --- /dev/null +++ b/board/friendlyarm/nanopi-r3s/rootfs_overlay/etc/network/interfaces @@ -0,0 +1,8 @@ +auto lo +iface lo inet loopback + +auto eth0 +iface eth0 inet dhcp + +auto eth1 +iface eth1 inet dhcp diff --git a/board/gdb/bfin-bf512/linux-4.6.config b/board/gdb/bfin-bf512/linux-4.6.config deleted file mode 100644 index bc2a907b8ea..00000000000 --- a/board/gdb/bfin-bf512/linux-4.6.config +++ /dev/null @@ -1,87 +0,0 @@ -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_SYSVIPC=y -CONFIG_BLK_DEV_INITRD=y -# CONFIG_RD_GZIP is not set -# CONFIG_RD_BZIP2 is not set -# CONFIG_RD_LZMA is not set -# CONFIG_RD_XZ is not set -# CONFIG_RD_LZO is not set -# CONFIG_RD_LZ4 is not set -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -# CONFIG_UID16 is not set -# CONFIG_SGETMASK_SYSCALL is not set -# CONFIG_SYSFS_SYSCALL is not set -# CONFIG_KALLSYMS is not set -# CONFIG_BUG is not set -# CONFIG_BASE_FULL is not set -# CONFIG_ADVISE_SYSCALLS is not set -# CONFIG_MEMBARRIER is not set -CONFIG_EMBEDDED=y -# CONFIG_VM_EVENT_COUNTERS is not set -# CONFIG_SLUB_DEBUG is not set -# CONFIG_COMPAT_BRK is not set -CONFIG_MODULES=y -# CONFIG_BLOCK is not set -CONFIG_BF512=y -# CONFIG_SET_GENERIC_CLOCKEVENTS is not set -# CONFIG_I_ENTRY_L1 is not set -# CONFIG_EXCPT_IRQ_SYSC_L1 is not set -# CONFIG_DO_IRQ_L1 is not set -# CONFIG_CORE_TIMER_IRQ_L1 is not set -# CONFIG_IDLE_L1 is not set -# CONFIG_SCHEDULE_L1 is not set -# CONFIG_ARITHMETIC_OPS_L1 is not set -# CONFIG_ACCESS_OK_L1 is not set -# CONFIG_MEMSET_L1 is not set -# CONFIG_MEMCPY_L1 is not set -# CONFIG_STRCMP_L1 is not set -# CONFIG_STRNCMP_L1 is not set -# CONFIG_STRCPY_L1 is not set -# CONFIG_STRNCPY_L1 is not set -# CONFIG_SYS_BFIN_SPINLOCK_L1 is not set -# CONFIG_CACHELINE_ALIGNED_L1 is not set -# CONFIG_DCACHE_FLUSH_L1 is not set -# CONFIG_APP_STACK_L1 is not set -# CONFIG_BFIN_INS_LOWOVERHEAD is not set -# CONFIG_BFIN_ICACHE is not set -# CONFIG_BFIN_DCACHE is not set -# CONFIG_C_AMCKEN is not set -CONFIG_BINFMT_ELF_FDPIC=y -CONFIG_BINFMT_FLAT=y -# CONFIG_COREDUMP is not set -# CONFIG_SUSPEND is not set -# CONFIG_UEVENT_HELPER is not set -# CONFIG_STANDALONE is not set -# CONFIG_PREVENT_FIRMWARE_BUILD is not set -# CONFIG_FW_LOADER is not set -# CONFIG_ALLOW_DEV_COREDUMP is not set -# CONFIG_INPUT is not set -# CONFIG_SERIO is not set -# CONFIG_VT is not set -# CONFIG_LEGACY_PTYS is not set -CONFIG_SERIAL_BFIN=y -CONFIG_SERIAL_BFIN_CONSOLE=y -CONFIG_SERIAL_BFIN_UART0=y -CONFIG_SERIAL_BFIN_UART1=y -# CONFIG_BFIN_OTP is not set -# CONFIG_HW_RANDOM is not set -# CONFIG_HWMON is not set -# CONFIG_USB_SUPPORT is not set -# CONFIG_MANDATORY_FILE_LOCKING is not set -# CONFIG_DNOTIFY is not set -# CONFIG_MISC_FILESYSTEMS is not set -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="utf-8" -CONFIG_PRINTK_TIME=y -# CONFIG_ENABLE_WARN_DEPRECATED is not set -# CONFIG_ENABLE_MUST_CHECK is not set -# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set -CONFIG_MAGIC_SYSRQ=y -# CONFIG_SCHED_DEBUG is not set -# CONFIG_FTRACE is not set -# CONFIG_DEBUG_VERBOSE is not set -# CONFIG_DEBUG_HUNT_FOR_ZERO is not set -# CONFIG_DEBUG_BFIN_HWTRACE_ON is not set -CONFIG_EARLY_PRINTK=y -# CONFIG_ACCESS_CHECK is not set -# CONFIG_CRC32 is not set diff --git a/board/gdb/bfin-bf512/readme.txt b/board/gdb/bfin-bf512/readme.txt deleted file mode 100644 index b8ff250a042..00000000000 --- a/board/gdb/bfin-bf512/readme.txt +++ /dev/null @@ -1,11 +0,0 @@ -Run the simulation with GDB for FDPIC: - - ./output/host/bin/bfin-buildroot-linux-uclibc-run --env operating --model bf512 output/images/vmlinux - -Run the simulation with GDB for FLAT: - - ./output/host/bin/bfin-buildroot-uclinux-uclibc-run --env operating --model bf512 output/images/vmlinux - -The login prompt will appear in the terminal that started GDB. - -Tested with GDB 7.9 diff --git a/board/gdb/post-build.sh b/board/gdb/post-build.sh deleted file mode 100755 index 8933d504ece..00000000000 --- a/board/gdb/post-build.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# no simulated network devices at the moment -rm -f ${TARGET_DIR}/etc/init.d/S40network -rm -rf ${TARGET_DIR}/etc/network/ diff --git a/board/globalscale/espressobin/genimage.cfg b/board/globalscale/espressobin/genimage.cfg new file mode 100644 index 00000000000..360c8f098fc --- /dev/null +++ b/board/globalscale/espressobin/genimage.cfg @@ -0,0 +1,11 @@ +# Minimal image, no U-boot since v3/v5 cannot boot from sdcard, see +# readme.txt for details on configuring the on-board u-boot. +image sdcard.img { + hdimage { + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/globalscale/espressobin/linux-extras.config b/board/globalscale/espressobin/linux-extras.config new file mode 100644 index 00000000000..7ce0a495c1e --- /dev/null +++ b/board/globalscale/espressobin/linux-extras.config @@ -0,0 +1,14 @@ +# +# The Espressobin has a switchcore with full support in the kernel. +# This fragment enables DSA and its drivers, inclding VLAN aware bridge +# support to allow users to easily set up a LAN switch + WAN interface. +# +CONFIG_NET_DSA=m +CONFIG_VLAN_8021Q=y + +CONFIG_BRIDGE=m +CONFIG_BRIDGE_IGMP_SNOOPING=y +CONFIG_BRIDGE_VLAN_FILTERING=y + +CONFIG_NET_DSA_MV88E6XXX=m +CONFIG_NET_DSA_MV88E6XXX_PTP=y diff --git a/board/globalscale/espressobin/readme.txt b/board/globalscale/espressobin/readme.txt new file mode 100644 index 00000000000..c5af7e3c998 --- /dev/null +++ b/board/globalscale/espressobin/readme.txt @@ -0,0 +1,90 @@ +Marvell ESPRESSObin +=================== + +This default configuration allows you to quickly get up and running with +the Marvell ESPRESSObin board by Globalscale Technologies Inc. + +The ESPRESSObin is based on the Marvell Armada 88F3720 SoC, coupled with +a Marvell 88E6341 switch core "Topaz", with three exposed gigabit ports. + + _________________________ + |# U W L L U #| + |# S A A A S #| + |# B N N N B #| + |# 0 1 #| + |# Mini #| + |# -PCI #| + |# #| + |# 5 #| + |#__V___usb_PWR_SATA__SW_#| + + Fig 1: Overview of board + +Notice difference in Ethernet port layout compared to the Globalscale +docs. They order the ports; LAN2, LAN1, WAN (left to right in figure +above). For more information, see http://espressobin.net + + +Building +-------- + + $ make globalscale_espressobin_defconfig + $ make + +This generates the kernel image, the devicetree binary, the rootfs as a +tar.gz, and a filesystem image containing everything. + +All build artifacts are located in `output/images/` + + +Booting +------- + +To boot, you need a UART connection, using the on-board micro USB port +set to 115200 8N1. + +By default, the ESPRESSObin comes with a pre-flashed U-Boot set up to +load the kernel, device-tree and rootfs from SPI NOR flash. The board +jumpers can be changed to boot from different sources, see the quick +start guide for each board revision for details: + +- ftp://downloads.globalscaletechnologies.com/Downloads/Espressobin/ESPRESSObin%20V5/ +- ftp://downloads.globalscaletechnologies.com/Downloads/Espressobin/ESPRESSObin%20V7/ + +Note: the v5, and earlier, cannot boot from sdcard, so you have to set +up the factory U-Boot to boot into Buildroot: + +1. Flash rootfs image to sdcard drive, your `of=` device may differ: + + $ sudo dd if=output/images/sdcard.img of=/dev/mmcblk0 bs=1M + $ sync + +2. Boot board from SPI NOR, interrupt boot by pressing any key ... +3. Check with `printenv` that the default setup is OK, otherwise ensure + the following are set, and define `bootcmd` for automatic boot: + + > setenv kernel_addr 0x5000000 + > setenv fdt_addr 0x1800000 + > setenv fdt_name boot/armada-3720-espressobin.dtb + > setenv console console=ttyMV0,115200 earlycon=ar3700_uart,0xd0012000 + > setenv bootcmd 'mmc dev 0; ext4load mmc 0:1 $kernel_addr $image_name;ext4load mmc 0:1 $fdt_addr $fdt_name;setenv bootargs $console root=/dev/mmcblk0p1 rw rootwait; booti $kernel_addr - $fdt_addr' + +4. Call the boot command, or `reset` the board to start: + + > run bootcmd + + +Networking +---------- + +To enable Ethernet networking, load the `mv88e6xxx` kernel module, and +bring up each respective interface needed: + + # modprobe mv88e6xxx + # ifconfig wan up + +A more advanced scenario is setting up switching between the ports using +the Linux bridge. The kernel switchdev layer, and DSA driver, ensure +switch functions are "offloaded" to the HW switch, i.e., all traffic +between LAN ports never reach the CPU. For this you need the iproute2 +suite of tools. diff --git a/board/grinn/chiliboard/genimage.cfg b/board/grinn/chiliboard/genimage.cfg index ffe027e7ab9..f335d7de4e7 100644 --- a/board/grinn/chiliboard/genimage.cfg +++ b/board/grinn/chiliboard/genimage.cfg @@ -2,30 +2,31 @@ # image boot.vfat { - vfat { - files = { - "MLO", - "u-boot.img", - "am335x-chiliboard.dtb", - "zImage" - } - } - size = 16M + vfat { + files = { + "MLO", + "u-boot.img", + "am335x-chiliboard.dtb", + "zImage" + } + } + + size = 16M } image sdcard.img { - hdimage { - } + hdimage { + } - partition u-boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - offset = 1M - } + partition u-boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + offset = 1M + } - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } } diff --git a/board/grinn/chiliboard/patches/linux-headers/linux-headers.hash b/board/grinn/chiliboard/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/grinn/chiliboard/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/grinn/chiliboard/patches/linux/linux.hash b/board/grinn/chiliboard/patches/linux/linux.hash new file mode 100644 index 00000000000..80e573540ff --- /dev/null +++ b/board/grinn/chiliboard/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 d450ab215de4e1f8bb85e0f4216760fa33fd024b4526b144f4ce0d9012b29c9e linux-6.12.6.tar.xz diff --git a/board/grinn/chiliboard/patches/uboot/uboot.hash b/board/grinn/chiliboard/patches/uboot/uboot.hash new file mode 100644 index 00000000000..904fa56c02a --- /dev/null +++ b/board/grinn/chiliboard/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b28daf4ac17e43156363078bf510297584137f6df50fced9b12df34f61a92fb0 u-boot-2024.10.tar.bz2 diff --git a/board/grinn/chiliboard/post-image.sh b/board/grinn/chiliboard/post-image.sh deleted file mode 100755 index 1a076eecb86..00000000000 --- a/board/grinn/chiliboard/post-image.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/board/grinn/liteboard/genimage.cfg b/board/grinn/liteboard/genimage.cfg index cbce2db5856..d0b29819d8a 100644 --- a/board/grinn/liteboard/genimage.cfg +++ b/board/grinn/liteboard/genimage.cfg @@ -9,40 +9,41 @@ # image boot.vfat { - vfat { - files = { - "imx6ul-liteboard.dtb", - "zImage" - } - } - size = 16M + vfat { + files = { + "imx6ul-liteboard.dtb", + "zImage" + } + } + + size = 16M } image sdcard.img { - hdimage { - } + hdimage { + } - partition SPL { - in-partition-table = "no" - image = "SPL" - offset = 1K - } + partition SPL { + in-partition-table = "no" + image = "SPL" + offset = 1K + } - partition u-boot { - in-partition-table = "no" - image = "u-boot.img" - offset = 69K - } + partition u-boot { + in-partition-table = "no" + image = "u-boot.img" + offset = 69K + } - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - offset = 8M - } + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + offset = 8M + } - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } } diff --git a/board/grinn/liteboard/patches/linux-headers/linux-headers.hash b/board/grinn/liteboard/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/grinn/liteboard/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/grinn/liteboard/patches/linux/linux.hash b/board/grinn/liteboard/patches/linux/linux.hash new file mode 100644 index 00000000000..80e573540ff --- /dev/null +++ b/board/grinn/liteboard/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 d450ab215de4e1f8bb85e0f4216760fa33fd024b4526b144f4ce0d9012b29c9e linux-6.12.6.tar.xz diff --git a/board/grinn/liteboard/patches/uboot/uboot.hash b/board/grinn/liteboard/patches/uboot/uboot.hash new file mode 100644 index 00000000000..904fa56c02a --- /dev/null +++ b/board/grinn/liteboard/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b28daf4ac17e43156363078bf510297584137f6df50fced9b12df34f61a92fb0 u-boot-2024.10.tar.bz2 diff --git a/board/grinn/liteboard/post-image.sh b/board/grinn/liteboard/post-image.sh deleted file mode 100755 index 1a076eecb86..00000000000 --- a/board/grinn/liteboard/post-image.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/board/hardkernel/odroidc2/boot.cmd b/board/hardkernel/odroidc2/boot.cmd new file mode 100644 index 00000000000..d800a6d44b8 --- /dev/null +++ b/board/hardkernel/odroidc2/boot.cmd @@ -0,0 +1,11 @@ +setenv kernel_filename "Image" +setenv fdt_filename "meson-gxbb-odroidc2.dtb" +setenv bootargs "console=ttyAML0,115200n8 earlyprintk root=/dev/mmcblk1p2 rootwait rw" + +echo > Loading Kernel... +fatload mmc 0:1 ${kernel_addr_r} ${kernel_filename} +echo > Loading FDT... +fatload mmc 0:1 ${fdt_addr_r} ${fdt_filename} + +echo > Booting System... +booti ${kernel_addr_r} - ${fdt_addr_r} diff --git a/board/hardkernel/odroidc2/boot.ini b/board/hardkernel/odroidc2/boot.ini deleted file mode 100644 index 2fdffa3049e..00000000000 --- a/board/hardkernel/odroidc2/boot.ini +++ /dev/null @@ -1,176 +0,0 @@ -ODROIDC2-UBOOT-CONFIG - -######################################################################## -# Changes made to this are overwritten every time there's a new upgrade -# To make your changes permanent change it on -# boot.ini.default -# After changing it on boot.ini.default run the bootini command to -# rewrite this file with your personal permanent settings. -# Documentation: http://odroid.com/dokuwiki/doku.php?id=en:c2_persistent_bootini -######################################################################## - -# Possible screen resolutions -# Uncomment only a single Line! The line with setenv written. -# At least one mode must be selected. - -# Custom modeline! -# To use custom modeline you need to disable all the below resolutions -# and setup your own! -# For more information check our wiki: -# http://odroid.com/dokuwiki/doku.php?id=en:c2_hdmi_autosetting -# Example below: -# setenv m "custombuilt" -# setenv modeline "1920,1200,154000,74040,60,1920,1968,2000,2080,1200,1202,1208,1235,1,0,1" - -# 480 Lines (720x480) -# setenv m "480i60hz" # Interlaced 60Hz -# setenv m "480i_rpt" # Interlaced for Rear Projection Televisions 60Hz -# setenv m "480p60hz" # 480 Progressive 60Hz -# setenv m "480p_rpt" # 480 Progressive for Rear Projection Televisions 60Hz - -# 576 Lines (720x576) -# setenv m "576i50hz" # Interlaced 50Hz -# setenv m "576i_rpt" # Interlaced for Rear Projection Televisions 50Hz -# setenv m "576p50hz" # Progressive 50Hz -# setenv m "576p_rpt" # Progressive for Rear Projection Televisions 50Hz - -# 720 Lines (1280x720) -# setenv m "720p50hz" # 50Hz -# setenv m "720p60hz" # 60Hz - -# 1080 Lines (1920x1080) -# setenv m "1080i60hz" # Interlaced 60Hz -setenv m "1080p60hz" # Progressive 60Hz -# setenv m "1080i50hz" # Interlaced 50Hz -# setenv m "1080p50hz" # Progressive 50Hz -# setenv m "1080p24hz" # Progressive 24Hz - -# 4K (3840x2160) -# setenv m "2160p30hz" # Progressive 30Hz -# setenv m "2160p25hz" # Progressive 25Hz -# setenv m "2160p24hz" # Progressive 24Hz -# setenv m "smpte24hz" # Progressive 24Hz SMPTE -# setenv m "2160p50hz" # Progressive 50Hz -# setenv m "2160p60hz" # Progressive 60Hz -# setenv m "2160p50hz420" # Progressive 50Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it) -# setenv m "2160p60hz420" # Progressive 60Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it) - -### VESA modes ### -# setenv m "640x480p60hz" -# setenv m "800x480p60hz" -# setenv m "480x800p60hz" -# setenv m "800x600p60hz" -# setenv m "1024x600p60hz" -# setenv m "1024x768p60hz" -# setenv m "1280x800p60hz" -# setenv m "1280x1024p60hz" -# setenv m "1360x768p60hz" -# setenv m "1440x900p60hz" -# setenv m "1600x900p60hz" -# setenv m "1680x1050p60hz" -# setenv m "1600x1200p60hz" -# setenv m "1920x1200p60hz" -# setenv m "2560x1080p60hz" -# setenv m "2560x1440p60hz" -# setenv m "2560x1600p60hz" -# setenv m "3440x1440p60hz" - -# HDMI BPP Mode -setenv m_bpp "32" -# setenv m_bpp "24" -# setenv m_bpp "16" - -# HDMI DVI/VGA modes -# By default its set to HDMI, if needed change below. -# Uncomment only a single Line. -# setenv vout "dvi" -# setenv vout "vga" - -# HDMI HotPlug Detection control -# Allows you to force HDMI thinking that the cable is connected. -# true = HDMI will believe that cable is always connected -# false = will let board/monitor negotiate the connection status -setenv hpd "true" -# setenv hpd "false" - -# Monitor output -# Controls if HDMI PHY should output anything to the monitor -setenv monitor_onoff "false" # true or false - -# Server Mode (aka. No Graphics) -# Setting nographics to 1 will disable all video subsystem -# This mode is ideal of server type usage. (Saves ~300Mb of RAM) -setenv nographics "0" - -# Meson Timer -# 1 - Meson Timer -# 0 - Arch Timer -# Using meson_timer improves the video playback however it breaks KVM (virtualization). -# Using arch timer allows KVM/Virtualization to work however you'll experience poor video -setenv mesontimer "1" - -# UHS (Ultra High Speed) MicroSD mode enable/disable -setenv disableuhs "false" - -# MicroSD Card Detection enable/disable -# Force the MMC controlled to believe that a card is connected. -setenv mmc_removable "true" - -# USB Multi WebCam tweak -# Only enable this if you use it. -setenv usbmulticam "false" - -# Default Console Device Setting -setenv condev "console=ttyS0,115200n8 console=tty0" # on both - -# CPU Frequency / Cores control -########################################### -### WARNING!!! WARNING!!! WARNING!!! -# Before changing anything here please read the wiki entry: -# http://odroid.com/dokuwiki/doku.php?id=en:c2_set_cpu_freq -# -# MAX CPU's -# setenv maxcpus "1" -# setenv maxcpus "2" -# setenv maxcpus "3" -setenv maxcpus "4" - -# MAX Frequency -# setenv max_freq "2016" # 2.016GHz -# setenv max_freq "1944" # 1.944GHz -# setenv max_freq "1944" # 1.944GHz -# setenv max_freq "1920" # 1.920GHz -# setenv max_freq "1896" # 1.896GHz -# setenv max_freq "1752" # 1.752GHz -# setenv max_freq "1680" # 1.680GHz -# setenv max_freq "1656" # 1.656GHz -setenv max_freq "1536" # 1.536GHz - - - -########################################### - -# Boot Arguments -if test "${m}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi - -setenv bootargs "root=/dev/mmcblk0p2 rootwait ro ${condev} no_console_suspend hdmimode=${m} ${cmode} m_bpp=${m_bpp} vout=${vout} fsck.repair=yes net.ifnames=0 elevator=noop disablehpd=${hpd} max_freq=${max_freq} maxcpus=${maxcpus} monitor_onoff=${monitor_onoff} disableuhs=${disableuhs} mmc_removable=${mmc_removable} usbmulticam=${usbmulticam}" - -# Booting - -setenv loadaddr "0x11000000" -setenv dtb_loadaddr "0x1000000" -setenv initrd_loadaddr "0x13000000" - -fatload mmc 0:1 ${loadaddr} Image -fatload mmc 0:1 ${dtb_loadaddr} meson64_odroidc2.dtb -fdt addr ${dtb_loadaddr} - -if test "${mesontimer}" = "0"; then fdt rm /meson_timer; fdt rm /cpus/cpu@0/timer; fdt rm /cpus/cpu@1/timer; fdt rm /cpus/cpu@2/timer; fdt rm /cpus/cpu@3/timer; fi -if test "${mesontimer}" = "1"; then fdt rm /timer; fi - -if test "${nographics}" = "1"; then fdt rm /reserved-memory; fdt rm /aocec; fi -if test "${nographics}" = "1"; then fdt rm /meson-fb; fdt rm /amhdmitx; fdt rm /picdec; fdt rm /ppmgr; fi -if test "${nographics}" = "1"; then fdt rm /meson-vout; fdt rm /mesonstream; fdt rm /meson-fb; fi -if test "${nographics}" = "1"; then fdt rm /deinterlace; fdt rm /codec_mm; fi - -booti ${loadaddr} - ${dtb_loadaddr} diff --git a/board/hardkernel/odroidc2/genimage.cfg b/board/hardkernel/odroidc2/genimage.cfg index 15f97d44575..f31867a591f 100644 --- a/board/hardkernel/odroidc2/genimage.cfg +++ b/board/hardkernel/odroidc2/genimage.cfg @@ -1,27 +1,40 @@ image boot.vfat { vfat { files = { - "boot.ini", "Image", - "meson64_odroidc2.dtb" + "meson-gxbb-odroidc2.dtb", + "boot.scr" } } - size = 32M + + size = 64M } image sdcard.img { hdimage { } - partition vfat { + partition bl1 { + in-partition-table = "no" + image = "bl1.bin.hardkernel" + offset = 0 + holes = {"(440; 512)"} + } + + partition u-boot { + in-partition-table = "no" + image = "uboot-odc2.img" + offset = 49664 # 48KB + 512B + } + + partition boot { partition-type = 0xC + bootable = "true" image = "boot.vfat" - offset = 1048576 } partition rootfs { partition-type = 0x83 image = "rootfs.ext4" - size = 512M } } diff --git a/board/hardkernel/odroidc2/post-image.sh b/board/hardkernel/odroidc2/post-image.sh index aaf12c1e797..eb6fd4f09ad 100755 --- a/board/hardkernel/odroidc2/post-image.sh +++ b/board/hardkernel/odroidc2/post-image.sh @@ -1,19 +1,21 @@ #!/bin/sh BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" -cp ${BOARD_DIR}/boot.ini ${BINARIES_DIR}/ +${HOST_DIR}/bin/fip_create \ + --bl30 ${BINARIES_DIR}/bl30.bin \ + --bl301 ${BINARIES_DIR}/bl301.bin \ + --bl31 ${BINARIES_DIR}/bl31.bin \ + --bl33 ${BINARIES_DIR}/u-boot.bin \ + ${BINARIES_DIR}/fip.bin -rm -rf "${GENIMAGE_TMP}" +${HOST_DIR}/bin/fip_create --dump ${BINARIES_DIR}/fip.bin -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" +cat ${BINARIES_DIR}/bl2.package ${BINARIES_DIR}/fip.bin \ + > ${BINARIES_DIR}/boot_new.bin -dd if=${BINARIES_DIR}/u-boot.bin of=${BINARIES_DIR}/sdcard.img bs=1 count=442 conv=sync,notrunc -dd if=${BINARIES_DIR}/u-boot.bin of=${BINARIES_DIR}/sdcard.img bs=512 skip=1 seek=1 conv=fsync,notrunc +${HOST_DIR}/bin/amlbootsig ${BINARIES_DIR}/boot_new.bin ${BINARIES_DIR}/u-boot.img + +dd if=${BINARIES_DIR}/u-boot.img of=${BINARIES_DIR}/uboot-odc2.img bs=512 skip=96 + +support/scripts/genimage.sh -c ${BOARD_DIR}/genimage.cfg diff --git a/board/hardkernel/odroidc2/readme.txt b/board/hardkernel/odroidc2/readme.txt index b44aa67f5ac..24847827af4 100644 --- a/board/hardkernel/odroidc2/readme.txt +++ b/board/hardkernel/odroidc2/readme.txt @@ -27,17 +27,28 @@ Result of the build After building, you should obtain this tree: output/images/ - +-- Image - +-- boot.ini [1] + +-- bl1.bin.hardkernel + +-- bl2.package + +-- bl301.bin + +-- bl30.bin + +-- bl31.bin + +-- boot_new.bin + +-- boot.scr [1] +-- boot.vfat - +-- meson64_odroidc2.dtb + +-- fip.bin + +-- Image [2] + +-- meson-gxbb-odroidc2.dtb +-- rootfs.ext2 +-- rootfs.ext4 +-- rootfs.tar +-- sdcard.img - `-- u-boot.bin + +-- u-boot.bin + +-- u-boot.img + +-- uboot-odc2.img [3] [1] This is the ODROID-C2 configuration file used in u-boot. +[2] This is the ODROID-C2 kernel image file which will be booted. +[3] This is the ODROID-C2 signed u-boot image which will be used. How to write the SD card or eMMC ================================ diff --git a/board/hardkernel/odroidc2/rootfs_overlay/etc/init.d/S09modload b/board/hardkernel/odroidc2/rootfs_overlay/etc/init.d/S09modload new file mode 100755 index 00000000000..8d694a73315 --- /dev/null +++ b/board/hardkernel/odroidc2/rootfs_overlay/etc/init.d/S09modload @@ -0,0 +1,23 @@ +#!/bin/sh +# + +load_drivers() +{ + echo "Loading needed modules..." + for file in $(echo "dwmac_generic dwmac-meson8b meson_dw_hdmi meson_gxbb_wdt"); do + modprobe ${file} + done +} + +case "$1" in + start) + load_drivers + ;; + stop) + ;; + restart|reload) + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac diff --git a/board/hp/9000/genimage.cfg.in b/board/hp/9000/genimage.cfg.in new file mode 100644 index 00000000000..5a593075527 --- /dev/null +++ b/board/hp/9000/genimage.cfg.in @@ -0,0 +1,16 @@ +image disk.img { + hdimage { + partition-table-type = "mbr" + disk-signature = 0x%PARTUUID% + } + + partition boot { + partition-type= 0xF0 + size = 16M + } + + partition root { + partition-type= 0x83 + image = "rootfs.ext2" + } +} diff --git a/board/hp/9000/palo.sh.in b/board/hp/9000/palo.sh.in new file mode 100644 index 00000000000..9743111bc8f --- /dev/null +++ b/board/hp/9000/palo.sh.in @@ -0,0 +1,21 @@ +#!/bin/sh +set -eu + +# Generate lifimage. +palo \ + --bootloader="${BINARIES_DIR}/iplboot" \ + --commandline='0/vmlinux initrd=0/ramdisk' \ + --configfile=/dev/null \ + --init-tape="${BINARIES_DIR}/lifimage" \ + --ramdisk="${BINARIES_DIR}/rootfs.cpio.gz" \ + --recoverykernel="${BINARIES_DIR}/vmlinux" \ + --verbose + +# Install loader to disk image. +palo \ + --bootloader="${BINARIES_DIR}/iplboot" \ + --commandline="1/vmlinux root=PARTUUID=%PARTUUID%-02 rootwait" \ + --configfile=/dev/null \ + --init-partitioned="${BINARIES_DIR}/disk.img" \ + --recoverykernel="${BINARIES_DIR}/vmlinux" \ + --verbose diff --git a/board/hp/9000/patches/linux-headers/linux-headers.hash b/board/hp/9000/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/hp/9000/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/hp/9000/patches/linux/linux.hash b/board/hp/9000/patches/linux/linux.hash new file mode 100644 index 00000000000..e05e102f0e1 --- /dev/null +++ b/board/hp/9000/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://cdn.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 76bffbae7eab2a1de1ed05692bef709f43b02a52fe95ae655cacf0fa252213f3 linux-6.16.5.tar.xz diff --git a/board/hp/9000/post-image.sh b/board/hp/9000/post-image.sh new file mode 100755 index 00000000000..e489e0bf9eb --- /dev/null +++ b/board/hp/9000/post-image.sh @@ -0,0 +1,16 @@ +#!/bin/sh +set -eu + +BOARD_DIR="$(dirname "$0")" + +# Generate a random 32-bit signature for the disk image and +# substitute it in genimage configuration file and palo script. +PARTUUID="$("$HOST_DIR"/bin/uuidgen -r |sed 's/-.*//')" + +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/genimage.cfg.in" \ + > "$BINARIES_DIR/genimage.cfg" + +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/palo.sh.in" \ + > "$BINARIES_DIR/palo.sh" + +chmod +x "$BINARIES_DIR/palo.sh" diff --git a/board/hp/9000/readme.txt b/board/hp/9000/readme.txt new file mode 100644 index 00000000000..9a07c55253f --- /dev/null +++ b/board/hp/9000/readme.txt @@ -0,0 +1,57 @@ +Introduction +============ + +The hp_9000_defconfig is meant to run Linux on a large range of 32-bit +HP PA-RISC 1.1 Workstations, such as the HP 9000 700 and Visualize +workstations. [1] + +Building +======== + + $ make hp_9000_defconfig + $ make + +Generated files under output/images: + +* lifimage: network bootable image comprising Linux kernel and ramdisk. +* disk.img: bootable disk image, with Linux kernel and root filesystem. + +Running +======= + +To run the generated system, one method is to write the disk image directly to +the workstation hard disk drive using a PC and an SCSI adapter. Extract the +disk from the workstation, connect it to the PC, then do: + + # dd if=output/images/disk.img of= ; sync + +Put the disk back into the workstation, connect to the UART console with +baudrate 9600; the firmware should boot Linux from disk and you should obtain a +login prompt. + +Another method is to boot from the network. This necessitates to setup a DHCP +and TFTP server, such as dnsmasq[2], to give the workstation its boot filename +with DHCP and serve the lifimage with TFTP. + +Connect to the UART console with baudrate 9600 and interrupt the boot sequence +of the firmware. + +On an HP 9000 712 workstation, do: + + BOOT_ADMIN> boot lan + +On an HP Visualize J210XC workstation, do: + + Configuration Menu: Enter command > boot lan + Interact with IPL (Y or N)?> n + +The firmware should boot Linux from the network and you should obtain a login +prompt. + +It is possible to download the disk image from the network and write it to the +hard disk drive, for example with TFTP: + + # tftp -g -r /disk.img -l /dev/sda + +[1] https://www.openpa.net/systems/ +[2] https://dnsmasq.org/doc.html diff --git a/board/imx7d-sdb/patches/linux-headers/linux-headers.hash b/board/imx7d-sdb/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/imx7d-sdb/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/imx7d-sdb/patches/linux/linux.hash b/board/imx7d-sdb/patches/linux/linux.hash new file mode 100644 index 00000000000..5fb7057e047 --- /dev/null +++ b/board/imx7d-sdb/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://cdn.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 e7df81e588d70fab5ec3ec3bb04ac53d51f0860fc3b1ec45e0a4167a026899db linux-6.6.58.tar.xz diff --git a/board/imx7d-sdb/patches/uboot/uboot.hash b/board/imx7d-sdb/patches/uboot/uboot.hash new file mode 100644 index 00000000000..904fa56c02a --- /dev/null +++ b/board/imx7d-sdb/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b28daf4ac17e43156363078bf510297584137f6df50fced9b12df34f61a92fb0 u-boot-2024.10.tar.bz2 diff --git a/board/in-circuit/icnova-a20-adb4006/boot.cmd b/board/in-circuit/icnova-a20-adb4006/boot.cmd new file mode 100644 index 00000000000..93d32a5e5fc --- /dev/null +++ b/board/in-circuit/icnova-a20-adb4006/boot.cmd @@ -0,0 +1,5 @@ +setenv fdt_high ffffffff +setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait +fatload mmc 0 $kernel_addr_r zImage +fatload mmc 0 $fdt_addr_r sun7i-a20-icnova-a20-adb4006.dtb +bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/in-circuit/icnova-a20-adb4006/genimage.cfg b/board/in-circuit/icnova-a20-adb4006/genimage.cfg new file mode 100644 index 00000000000..4975d679be0 --- /dev/null +++ b/board/in-circuit/icnova-a20-adb4006/genimage.cfg @@ -0,0 +1,38 @@ +# Minimal SD card image for the ICnova A20 SomPi on ADB4006 +# Based in the Cubieboard2 genimage.cfg + +image boot.vfat { + vfat { + files = { + "zImage", + "sun7i-a20-icnova-a20-adb4006.dtb", + "boot.scr" + } + } + + size = 10M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + size = 1016K # 1MB - 8KB + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + size = 512M + } +} diff --git a/board/in-circuit/icnova-a20-adb4006/linux.fragment b/board/in-circuit/icnova-a20-adb4006/linux.fragment new file mode 100644 index 00000000000..1c99df12e62 --- /dev/null +++ b/board/in-circuit/icnova-a20-adb4006/linux.fragment @@ -0,0 +1 @@ +CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE=y diff --git a/board/in-circuit/icnova-a20-adb4006/patches/linux-headers/linux-headers.hash b/board/in-circuit/icnova-a20-adb4006/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/in-circuit/icnova-a20-adb4006/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/in-circuit/icnova-a20-adb4006/patches/linux/linux.hash b/board/in-circuit/icnova-a20-adb4006/patches/linux/linux.hash new file mode 100644 index 00000000000..98edd13a581 --- /dev/null +++ b/board/in-circuit/icnova-a20-adb4006/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 f74812f78e88992c416434cb107639e13a551dbaff36bb90d6346ab16ab71a95 linux-6.6.56.tar.xz diff --git a/board/in-circuit/icnova-a20-adb4006/patches/uboot/0001-sunxi-sun4i-Reduce-cpu-clock-at-SPL-initialization-t.patch b/board/in-circuit/icnova-a20-adb4006/patches/uboot/0001-sunxi-sun4i-Reduce-cpu-clock-at-SPL-initialization-t.patch new file mode 100644 index 00000000000..edaa47ac4e8 --- /dev/null +++ b/board/in-circuit/icnova-a20-adb4006/patches/uboot/0001-sunxi-sun4i-Reduce-cpu-clock-at-SPL-initialization-t.patch @@ -0,0 +1,48 @@ +From 3cdf8aa3ff45e35a237285c107785bc3d2c6976a Mon Sep 17 00:00:00 2001 +From: Ludwig Kormann +Date: Wed, 31 Jan 2024 11:28:19 +0100 +Subject: [PATCH] sunxi: sun4i: Reduce cpu clock at SPL initialization to 144 + MHz + +Up until now cpu clock gets initialized at 384 MHz, which is +the highest supported cpu clock. + +Recent A20 batches show an increased percentage of modules +reacting very sensitive to operating conditions outside the +specifications. + +The cpu dies very shortly after PLLs, core frequency or cpu +voltage are missconfigured. E.g.: +- uboot SPL selects 384 MHz as cpu clock which requires a cpu + voltage of at least 1.1 V. +- Linux CPU Frequency scaling with most sun7i dts will reduce + cpu voltage down to 1.0 V. +- When intiating a reboot or reset from linux the cpu voltage + may keep the 1.0 V configuration and the cpu dies during SPL + initialization. + +Therefore reduce cpu clock at uboot SPL initialization down +to 144 MHz from 384 MHz. + +Signed-off-by: Ludwig Kormann +Upstream: Not Applicable +--- + arch/arm/include/asm/arch-sunxi/clock_sun4i.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm/include/asm/arch-sunxi/clock_sun4i.h b/arch/arm/include/asm/arch-sunxi/clock_sun4i.h +index 2cec91cb20..252c4c693e 100644 +--- a/arch/arm/include/asm/arch-sunxi/clock_sun4i.h ++++ b/arch/arm/include/asm/arch-sunxi/clock_sun4i.h +@@ -141,7 +141,7 @@ struct sunxi_ccm_reg { + #define CCM_PLL1_CFG_SIG_DELT_PAT_EN_SHIFT 2 + #define CCM_PLL1_CFG_FACTOR_M_SHIFT 0 + +-#define PLL1_CFG_DEFAULT 0xa1005000 ++#define PLL1_CFG_DEFAULT 0xa1004c01 + + #if defined CONFIG_OLD_SUNXI_KERNEL_COMPAT && defined CONFIG_MACH_SUN5I + /* +-- +2.39.2 + diff --git a/board/in-circuit/icnova-a20-adb4006/patches/uboot/uboot.hash b/board/in-circuit/icnova-a20-adb4006/patches/uboot/uboot.hash new file mode 100644 index 00000000000..904fa56c02a --- /dev/null +++ b/board/in-circuit/icnova-a20-adb4006/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b28daf4ac17e43156363078bf510297584137f6df50fced9b12df34f61a92fb0 u-boot-2024.10.tar.bz2 diff --git a/board/intel/galileo/genimage.cfg b/board/intel/galileo/genimage.cfg deleted file mode 100644 index 31add21e676..00000000000 --- a/board/intel/galileo/genimage.cfg +++ /dev/null @@ -1,31 +0,0 @@ -# Create an image of the efi partition -image efi-part.vfat { - vfat { - file startup.nsh { - image = "efi-part/startup.nsh" - } - file EFI { - image = "efi-part/EFI" - } - } - size=512K -} - -# Create the sdcard image, pulling in -# * the image created by buildroot -# * the efi-partition created above -image sdcard.img { - hdimage { - } - - partition boot { - partition-type = 0xC - image = "efi-part.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext2" - size = 512M - } -} diff --git a/board/intel/galileo/grub.cfg b/board/intel/galileo/grub.cfg deleted file mode 100644 index dde2f762f08..00000000000 --- a/board/intel/galileo/grub.cfg +++ /dev/null @@ -1,11 +0,0 @@ -set default="0" -set timeout="0" - -menuentry "Buildroot" { - # Grub2 supports ext4, load the kernel from the Linux rootfs partition - # Set root tells grub to search the 2nd partition for the bzImage - set root=(hd0,msdos2) - - # Set Linux to boot from the 2nd partition, SD/MMC support is baked into the kernel - linux /boot/bzImage root=/dev/mmcblk0p2 rootwait console=ttyS1,115200n8 earlycon=uart8250,mmio32,0x9000b000,115200n8 reboot=efi,warm apic=debug rw -} diff --git a/board/intel/galileo/linux-3.14.config b/board/intel/galileo/linux-3.14.config deleted file mode 100644 index e7aa9cf232d..00000000000 --- a/board/intel/galileo/linux-3.14.config +++ /dev/null @@ -1,308 +0,0 @@ -# CONFIG_LOCALVERSION_AUTO is not set -# CONFIG_SWAP is not set -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_FHANDLE=y -CONFIG_KERNEL_LZMA=y -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_BSD_PROCESS_ACCT=y -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=18 -CONFIG_CGROUPS=y -CONFIG_CGROUP_FREEZER=y -CONFIG_CPUSETS=y -CONFIG_CGROUP_CPUACCT=y -CONFIG_RESOURCE_COUNTERS=y -CONFIG_CGROUP_SCHED=y -CONFIG_NAMESPACES=y -CONFIG_RELAY=y -CONFIG_BLK_DEV_INITRD=y -CONFIG_RD_BZIP2=y -CONFIG_RD_LZMA=y -CONFIG_SYSCTL_SYSCALL=y -# CONFIG_PCSPKR_PLATFORM is not set -CONFIG_EMBEDDED=y -# CONFIG_COMPAT_BRK is not set -CONFIG_JUMP_LABEL=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_LBDAF=y -CONFIG_PARTITION_ADVANCED=y -CONFIG_BSD_DISKLABEL=y -# CONFIG_ZONE_DMA is not set -CONFIG_X86_INTEL_QUARK=y -CONFIG_M586TSC=y -CONFIG_X86_GENERIC=y -CONFIG_HPET_TIMER=y -CONFIG_PREEMPT_VOLUNTARY=y -CONFIG_X86_UP_IOAPIC=y -# CONFIG_X86_MCE_AMD is not set -# CONFIG_X86_16BIT is not set -CONFIG_X86_REBOOTFIXUPS=y -CONFIG_MICROCODE=y -CONFIG_X86_MSR=y -CONFIG_X86_CPUID=y -CONFIG_HIGHMEM64G=y -# CONFIG_COMPACTION is not set -# CONFIG_MTRR is not set -# CONFIG_ARCH_RANDOM is not set -CONFIG_EFI=y -CONFIG_EFI_STUB=y -CONFIG_EFI_CAPSULE=m -CONFIG_HZ_100=y -CONFIG_KEXEC=y -CONFIG_PHYSICAL_START=0x400000 -CONFIG_PHYSICAL_ALIGN=0x1000000 -# CONFIG_COMPAT_VDSO is not set -CONFIG_PM_RUNTIME=y -CONFIG_PM_DEBUG=y -CONFIG_PM_TRACE_RTC=y -CONFIG_ACPI_PROCFS=y -CONFIG_ACPI_PROCFS_POWER=y -CONFIG_ACPI_EC_DEBUGFS=y -# CONFIG_ACPI_BATTERY is not set -# CONFIG_ACPI_FAN is not set -CONFIG_ACPI_DEBUG=y -CONFIG_ACPI_PCI_SLOT=y -CONFIG_PCIEPORTBUS=y -CONFIG_PCI_MSI=y -CONFIG_PCI_DEBUG=y -CONFIG_PCI_IOAPIC=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_SYN_COOKIES=y -# CONFIG_IPV6_SIT is not set -CONFIG_IPV6_MULTIPLE_TABLES=y -CONFIG_IPV6_SUBTREES=y -CONFIG_VLAN_8021Q=m -CONFIG_VLAN_8021Q_GVRP=y -CONFIG_CAN=m -# CONFIG_CAN_GW is not set -CONFIG_CAN_J1939=m -CONFIG_CAN_VCAN=m -CONFIG_CAN_SLCAN=m -# CONFIG_CAN_DEV is not set -CONFIG_BT=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_HIDP=m -CONFIG_BT_HCIBTUSB=m -CONFIG_CFG80211=m -CONFIG_CFG80211_WEXT=y -CONFIG_MAC80211=m -CONFIG_MAC80211_LEDS=y -CONFIG_RFKILL=m -CONFIG_RFKILL_INPUT=y -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -# CONFIG_FW_LOADER_USER_HELPER is not set -CONFIG_DEBUG_DEVRES=y -CONFIG_MTD=y -CONFIG_MTD_BLOCK=m -# CONFIG_PNP_DEBUG_MESSAGES is not set -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_LOOP_MIN_COUNT=2 -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=1 -CONFIG_BLK_DEV_RAM_SIZE=81920 -CONFIG_EEPROM_AT24=m -CONFIG_EEPROM_93CX6=m -CONFIG_SCSI=y -CONFIG_BLK_DEV_SD=y -CONFIG_CHR_DEV_SG=y -CONFIG_SCSI_CONSTANTS=y -CONFIG_SCSI_SPI_ATTRS=y -# CONFIG_SCSI_LOWLEVEL is not set -CONFIG_NETDEVICES=y -CONFIG_TUN=y -# CONFIG_NET_VENDOR_3COM is not set -# CONFIG_NET_VENDOR_ADAPTEC is not set -# CONFIG_NET_VENDOR_ALTEON is not set -# CONFIG_NET_VENDOR_AMD is not set -# CONFIG_NET_VENDOR_ARC is not set -# CONFIG_NET_VENDOR_ATHEROS is not set -# CONFIG_NET_VENDOR_BROADCOM is not set -# CONFIG_NET_VENDOR_BROCADE is not set -# CONFIG_NET_VENDOR_CHELSIO is not set -# CONFIG_NET_VENDOR_CISCO is not set -# CONFIG_NET_VENDOR_DEC is not set -# CONFIG_NET_VENDOR_DLINK is not set -# CONFIG_NET_VENDOR_EMULEX is not set -# CONFIG_NET_VENDOR_EXAR is not set -# CONFIG_NET_VENDOR_HP is not set -# CONFIG_NET_VENDOR_I825XX is not set -# CONFIG_NET_VENDOR_MARVELL is not set -# CONFIG_NET_VENDOR_MELLANOX is not set -# CONFIG_NET_VENDOR_MICREL is not set -# CONFIG_NET_VENDOR_MICROCHIP is not set -# CONFIG_NET_VENDOR_MYRI is not set -# CONFIG_NET_VENDOR_NATSEMI is not set -# CONFIG_NET_VENDOR_NVIDIA is not set -# CONFIG_NET_VENDOR_OKI is not set -# CONFIG_NET_PACKET_ENGINE is not set -# CONFIG_NET_VENDOR_QLOGIC is not set -# CONFIG_NET_VENDOR_REALTEK is not set -# CONFIG_NET_VENDOR_RDC is not set -# CONFIG_NET_VENDOR_SEEQ is not set -# CONFIG_NET_VENDOR_SILAN is not set -# CONFIG_NET_VENDOR_SIS is not set -# CONFIG_NET_VENDOR_SMSC is not set -CONFIG_STMMAC_ETH=m -# CONFIG_STMMAC_PLATFORM is not set -CONFIG_STMMAC_PCI=m -# CONFIG_NET_VENDOR_SUN is not set -# CONFIG_NET_VENDOR_TEHUTI is not set -# CONFIG_NET_VENDOR_TI is not set -# CONFIG_NET_VENDOR_VIA is not set -# CONFIG_NET_VENDOR_WIZNET is not set -CONFIG_PHYLIB=y -CONFIG_PPP=m -CONFIG_PPP_DEFLATE=m -CONFIG_PPP_ASYNC=m -# CONFIG_RTL_CARDS is not set -# CONFIG_INPUT_MOUSEDEV is not set -CONFIG_INPUT_EVDEV=m -# CONFIG_INPUT_KEYBOARD is not set -# CONFIG_INPUT_MOUSE is not set -# CONFIG_SERIO is not set -CONFIG_VT_HW_CONSOLE_BINDING=y -CONFIG_LEGACY_PTY_COUNT=32 -CONFIG_SERIAL_NONSTANDARD=y -CONFIG_SERIAL_8250=y -# CONFIG_SERIAL_8250_PNP is not set -CONFIG_SERIAL_8250_CONSOLE=y -# CONFIG_SERIAL_8250_PCI is not set -CONFIG_SERIAL_8250_NR_UARTS=8 -CONFIG_SERIAL_8250_RUNTIME_UARTS=2 -CONFIG_SERIAL_8250_EXTENDED=y -CONFIG_SERIAL_8250_MANY_PORTS=y -CONFIG_SERIAL_8250_SHARE_IRQ=y -CONFIG_SERIAL_8250_DETECT_IRQ=y -CONFIG_SERIAL_8250_RSA=y -CONFIG_SERIAL_8250_DW=y -CONFIG_SERIAL_SC16IS7XX=m -CONFIG_SERIAL_SC16IS7XX_SPI=m -# CONFIG_HW_RANDOM is not set -CONFIG_HPET=y -# CONFIG_HPET_MMAP is not set -CONFIG_I2C=y -CONFIG_SPI_DEBUG=y -CONFIG_SPI_GPIO=y -CONFIG_SPI_PXA2XX=y -CONFIG_PTP_1588_CLOCK=y -CONFIG_GPIO_SCH=y -CONFIG_GPIO_PCA953X=y -CONFIG_GPIO_PCA953X_IRQ=y -CONFIG_GPIO_PCF857X=y -CONFIG_HWMON=m -CONFIG_SENSORS_LM75=m -# CONFIG_X86_PKG_TEMP_THERMAL is not set -CONFIG_MFD_INTEL_QUARK_HSUART_DMA=y -CONFIG_CY8C9540A=m -CONFIG_MFD_PCA9685=m -CONFIG_INTEL_QRK_GIP=m -CONFIG_INTEL_QRK_GIP_TEST=m -CONFIG_MEDIA_SUPPORT=m -CONFIG_MEDIA_CAMERA_SUPPORT=y -CONFIG_MEDIA_USB_SUPPORT=y -CONFIG_USB_VIDEO_CLASS=m -# CONFIG_USB_GSPCA is not set -# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set -# CONFIG_VGA_ARB is not set -# CONFIG_VGA_CONSOLE is not set -CONFIG_SOUND=m -CONFIG_SND=m -CONFIG_SND_USB_AUDIO=m -CONFIG_USB=m -# CONFIG_USB_DEFAULT_PERSIST is not set -CONFIG_USB_EHCI_HCD=m -CONFIG_USB_OHCI_HCD=m -CONFIG_USB_UHCI_HCD=m -CONFIG_USB_ACM=m -CONFIG_USB_STORAGE=m -CONFIG_USB_SERIAL=m -CONFIG_USB_SERIAL_GENERIC=y -CONFIG_USB_SERIAL_PL2303=m -CONFIG_USB_GADGET=m -CONFIG_USB_EG20T=m -CONFIG_USB_ZERO=m -CONFIG_USB_ETH=m -CONFIG_USB_MASS_STORAGE=m -CONFIG_USB_G_SERIAL=y -CONFIG_USB_G_ACM_MS=m -CONFIG_MMC=y -CONFIG_MMC_UNSAFE_RESUME=y -CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_PCI=y -CONFIG_MMC_SDHCI_PLTFM=y -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=m -CONFIG_RTC_CLASS=y -# CONFIG_RTC_SYSTOHC is not set -CONFIG_DMADEVICES=y -CONFIG_DW_DMAC=y -CONFIG_UIO=y -CONFIG_STAGING=y -CONFIG_INTEL_QRK_THERMAL=y -CONFIG_INTEL_QRK_AUDIO_CTRL=m -CONFIG_INTEL_QRK_J1708=m -CONFIG_INTEL_QRK_ESRAM=y -# CONFIG_IOMMU_SUPPORT is not set -CONFIG_IIO=y -CONFIG_IIO_BUFFER_CB=y -CONFIG_IIO_LIS331DLH_INTEL_QRK=y -CONFIG_IIO_ST_ACCEL_3AXIS=y -CONFIG_AD7298=m -CONFIG_ADC1x8S102=m -CONFIG_IIO_SYSFS_TRIGGER=m -CONFIG_IIO_HRTIMER_TRIGGER=m -CONFIG_PWM=y -CONFIG_DMI_SYSFS=y -CONFIG_EFI_VARS=m -# CONFIG_EFI_RUNTIME_MAP is not set -CONFIG_EXT2_FS=y -CONFIG_EXT3_FS=y -# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y -CONFIG_EXT4_FS=y -CONFIG_VFAT_FS=y -CONFIG_PROC_KCORE=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_HUGETLBFS=y -# CONFIG_MISC_FILESYSTEMS is not set -CONFIG_NLS_DEFAULT="utf8" -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_CODEPAGE_850=y -CONFIG_NLS_ASCII=y -CONFIG_NLS_ISO8859_1=y -CONFIG_PRINTK_TIME=y -# CONFIG_ENABLE_WARN_DEPRECATED is not set -CONFIG_FRAME_WARN=2048 -# CONFIG_UNUSED_SYMBOLS is not set -CONFIG_HEADERS_CHECK=y -CONFIG_MAGIC_SYSRQ=y -CONFIG_DEBUG_MEMORY_INIT=y -CONFIG_DEBUG_STACKOVERFLOW=y -CONFIG_TIMER_STATS=y -CONFIG_LATENCYTOP=y -# CONFIG_FTRACE is not set -CONFIG_X86_PTDUMP=y -# CONFIG_DEBUG_RODATA_TEST is not set -CONFIG_DEBUG_SET_MODULE_RONX=y -# CONFIG_DOUBLEFAULT is not set -CONFIG_OPTIMIZE_INLINING=y -CONFIG_KEYS=y -CONFIG_KEYS_DEBUG_PROC_KEYS=y -CONFIG_SECURITY=y -CONFIG_SECURITY_NETWORK=y -# CONFIG_VIRTUALIZATION is not set -CONFIG_CRC_T10DIF=y diff --git a/board/intel/galileo/post-build.sh b/board/intel/galileo/post-build.sh deleted file mode 100755 index 2b34cb43b83..00000000000 --- a/board/intel/galileo/post-build.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -e -cp board/intel/galileo/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg diff --git a/board/intel/galileo/post-image.sh b/board/intel/galileo/post-image.sh deleted file mode 100755 index f9aef0b1ba6..00000000000 --- a/board/intel/galileo/post-image.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -e - -GENIMAGE_CFG="board/intel/galileo/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/board/intel/galileo/readme.txt b/board/intel/galileo/readme.txt deleted file mode 100644 index 7a3abd4f710..00000000000 --- a/board/intel/galileo/readme.txt +++ /dev/null @@ -1,52 +0,0 @@ - -Intel Galileo Gen 1/2 - -Intro -============ - -These instructions apply to both the Intel Galileo Gen 1/2 development boards -based on the Intel Quark X1000. - -How to build -============ - -Apply the defconfig for the Intel Galileo Gen 1/2 - - $ make galileo_defconfig - -Add any additional packages required and build. - - $ make - -The build process will create a SD card image and place it in output/images. - - $ ls -lh output/images/sdcard.img - -rw-r--r--. 1 foo foo 11M Nov 17 16:19 output/images/sdcard.img - -Write the image to an mSD card, insert into the Galileo and power on. - - $ dd if=output/images/sdcard.img of=/dev/mmcblk0; sync - -Accessing the console -===================== - -During power-on the console will become available on the Galileo's ttyS1. This -may be accessed as follows. - - * Galileo Gen 1 - - http://clayskits.com/products/galileo-gen-1-serial-cable - - A USB to RS-232 to 3.5mm Jack cable is required. Connect to the 3.5mm - Jack next to the Ethernet Header. - - * Galileo Gen 2 - - http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm - - A FTDI TTL-232R-3V3 cable may be used to connect to the FTDI header - next to the Ethernet connector on the Galileo Gen 2. - -The console should now be visible at 115200 baud. - - $ picocom -b 115200 /dev/ttyUSB0 diff --git a/board/intel/galileo/rootfs_overlay/etc/init.d/S09modload b/board/intel/galileo/rootfs_overlay/etc/init.d/S09modload deleted file mode 100755 index 359d607c187..00000000000 --- a/board/intel/galileo/rootfs_overlay/etc/init.d/S09modload +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh -# - -load_drivers() -{ - while IFS= read -r line; do - modprobe $line - done < "/etc/modules-load.galileo/$1.conf" -} - -do_board() -{ - board=$(cat /sys/devices/virtual/dmi/id/board_name) - case "$board" in - *"GalileoGen2" ) - load_drivers "galileo_gen2" ;; - *"Galileo" ) - load_drivers "galileo" ;; - esac -} - -case "$1" in - start) - do_board - ;; - stop) - ;; - restart|reload) - ;; - *) - echo "Usage: $0 {start|stop|restart}" - exit 1 -esac diff --git a/board/intel/galileo/rootfs_overlay/etc/modules-load.galileo/galileo.conf b/board/intel/galileo/rootfs_overlay/etc/modules-load.galileo/galileo.conf deleted file mode 100644 index b6582619464..00000000000 --- a/board/intel/galileo/rootfs_overlay/etc/modules-load.galileo/galileo.conf +++ /dev/null @@ -1,3 +0,0 @@ -intel_qrk_gip -cy8c9540a -ad7298 diff --git a/board/intel/galileo/rootfs_overlay/etc/modules-load.galileo/galileo_gen2.conf b/board/intel/galileo/rootfs_overlay/etc/modules-load.galileo/galileo_gen2.conf deleted file mode 100644 index 4f80a3301f1..00000000000 --- a/board/intel/galileo/rootfs_overlay/etc/modules-load.galileo/galileo_gen2.conf +++ /dev/null @@ -1,4 +0,0 @@ -intel_qrk_gip -gpio-pca953x -pca9685 -adc1x8s102 diff --git a/board/khadas/vim3/extlinux.conf b/board/khadas/vim3/extlinux.conf new file mode 100644 index 00000000000..2b1544a5cc6 --- /dev/null +++ b/board/khadas/vim3/extlinux.conf @@ -0,0 +1,5 @@ +default buildroot +label buildroot + kernel /Image + devicetree /meson-g12b-a311d-khadas-vim3.dtb +append root=/dev/mmcblk0p2 rootwait console=ttyAML0,115200 diff --git a/board/khadas/vim3/genimage.cfg b/board/khadas/vim3/genimage.cfg new file mode 100644 index 00000000000..1ceb5e4e8bc --- /dev/null +++ b/board/khadas/vim3/genimage.cfg @@ -0,0 +1,32 @@ +image boot.vfat { + vfat { + files = { + "Image", + "meson-g12b-a311d-khadas-vim3.dtb", + "extlinux" + } + + label = "boot" + } + + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image="boot.vfat" + size = 64M + offset = 2M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + offset = 0 + } +} diff --git a/board/khadas/vim3/patches/linux/linux.hash b/board/khadas/vim3/patches/linux/linux.hash new file mode 100644 index 00000000000..6ef79ed70a2 --- /dev/null +++ b/board/khadas/vim3/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 7c716216c3c4134ed0de69195701e677577bbcdd3979f331c182acd06bf2f170 linux-6.18.15.tar.xz diff --git a/board/khadas/vim3/patches/uboot/uboot.hash b/board/khadas/vim3/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/khadas/vim3/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/khadas/vim3/post-build.sh b/board/khadas/vim3/post-build.sh new file mode 100755 index 00000000000..8dae08a47cd --- /dev/null +++ b/board/khadas/vim3/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$BINARIES_DIR"/extlinux/extlinux.conf diff --git a/board/khadas/vim3/post-image.sh b/board/khadas/vim3/post-image.sh new file mode 100755 index 00000000000..db38421494d --- /dev/null +++ b/board/khadas/vim3/post-image.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +support/scripts/genimage.sh -c "${BOARD_DIR}/genimage.cfg" + +AMLOGIC_DIR=${BINARIES_DIR}/amlogic-boot-fip +FIP_DIR=${BINARIES_DIR}/fip + +mkdir -p "${FIP_DIR}" + +(cd "${AMLOGIC_DIR}" && \ + ./build-fip.sh khadas-vim3 \ + "${BINARIES_DIR}"/u-boot.bin \ + "${FIP_DIR}") + +dd if="${FIP_DIR}"/u-boot.bin.sd.bin \ + of="${BINARIES_DIR}"/sdcard.img \ + conv=fsync,notrunc bs=1 count=444 + +dd if="${FIP_DIR}"/u-boot.bin.sd.bin \ + of="${BINARIES_DIR}"/sdcard.img \ + conv=fsync,notrunc bs=512 skip=1 seek=1 diff --git a/board/khadas/vim3/readme.txt b/board/khadas/vim3/readme.txt new file mode 100644 index 00000000000..cc9b513644a --- /dev/null +++ b/board/khadas/vim3/readme.txt @@ -0,0 +1,71 @@ +Khadas VIM3 + +Description +=========== + +This configuration builds a complete image for the Khadas VIM3 to be flashed +on an SD-card. + +How to build it +=============== + +Select the default configuration for the target: +$ make khadas_vim3_defconfig + +Optional: modify the configuration: +$ make menuconfig + +Build: +$ make + +Result of the build +=================== +output/images/ ++-- amlogic-boot-fip ++ +-- build-fip.sh ++ +-- g12a.inc ++ `-- khadas-vim3 ++ +-- acs.bin ++ +-- acs_tool.py ++ +-- aml_ddr.fw ++ +-- aml_encrypt_g12b ++ +-- bl2.bin ++ +-- bl301.bin ++ +-- bl30.bin ++ +-- bl31.bin ++ +-- bl31.img ++ +-- blx_fix.sh ++ +-- ddr3_1d.fw ++ +-- ddr4_1d.fw ++ +-- ddr4_2d.fw ++ +-- diag_lpddr4.fw ++ +-- lpddr3_1d.fw ++ +-- lpddr4_1d.fw ++ +-- lpddr4_2d.fw ++ +-- Makefile ++ `-- piei.fw ++-- boot.vfat ++-- extlinux ++ `-- extlinux.conf ++-- fip ++ +-- u-boot.bin ++ +-- u-boot.bin.sd.bin ++ +-- u-boot.bin.usb.bl2 ++ `-- u-boot.bin.usb.tpl ++-- Image ++-- meson-g12b-a311d-khadas-vim3.dtb ++-- rootfs.ext2 ++-- rootfs.ext4 -> rootfs.ext2 ++-- rootfs.tar ++-- sdcard.img +`-- u-boot.bin + +The post-image script uses the files in the amlogic-boot-fip folder to sign +the bootloader image before integrating it into the sdcard image. + +To copy the image file to the sdcard use dd: +$ dd if=output/images/sdcard.img of=/dev/sdX + +Tested hardware +=============== +Khadas vim3 (rev. 14) diff --git a/board/kontron/bl-imx8mm/extlinux.conf b/board/kontron/bl-imx8mm/extlinux.conf new file mode 100644 index 00000000000..d38f7f81b7e --- /dev/null +++ b/board/kontron/bl-imx8mm/extlinux.conf @@ -0,0 +1,4 @@ +label buildroot + kernel /boot/Image + devicetree /boot/freescale/imx8mm-kontron-n801x-s.dtb + append root=PARTUUID=%PARTUUID% rootwait rw diff --git a/board/kontron/bl-imx8mm/genimage.cfg b/board/kontron/bl-imx8mm/genimage.cfg new file mode 100644 index 00000000000..c98bc4f1508 --- /dev/null +++ b/board/kontron/bl-imx8mm/genimage.cfg @@ -0,0 +1,18 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + gpt-location = 16K + } + + partition imx-boot { + in-partition-table = "no" + image = "flash.bin" + offset = 33K + } + + partition rootfs { + image = "rootfs.ext4" + offset = 8M + partition-uuid = %PARTUUID% + } +} diff --git a/board/kontron/bl-imx8mm/post-build.sh b/board/kontron/bl-imx8mm/post-build.sh new file mode 100755 index 00000000000..bf8861f6a91 --- /dev/null +++ b/board/kontron/bl-imx8mm/post-build.sh @@ -0,0 +1,7 @@ +#!/bin/sh +BOARD_DIR="$(dirname $0)" +PARTUUID="$($HOST_DIR/bin/uuidgen)" + +install -d "$TARGET_DIR/boot/extlinux/" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/extlinux.conf" > "$TARGET_DIR/boot/extlinux/extlinux.conf" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/genimage.cfg" > "$BINARIES_DIR/genimage.cfg" diff --git a/board/kontron/bl-imx8mm/readme.txt b/board/kontron/bl-imx8mm/readme.txt new file mode 100644 index 00000000000..df47ba5174c --- /dev/null +++ b/board/kontron/bl-imx8mm/readme.txt @@ -0,0 +1,85 @@ +Kontron BL i.MX8M Mini +====================== + +https://www.kontron.com/produkte/baseboard-bl-i.mx8m-mini/p158549 + + +How to build it +=============== + +Configure buildroot: + + $ make kontron_bl_imx8mm_defconfig + +Change settings to fit your needs (optional): + + $ make menuconfig + +Compile everything and build the rootfs image: + + $ make + + +Result of the build +=================== + +After building, the output/images directory contains: + + output/images/ + ├── bl31.bin + ├── boot.scr + ├── ddr_fw.bin + ├── flash.bin + ├── Image + ├── imx8mm-kontron-n801x-s.dtb + ├── lpddr4_pmu_train_1d_dmem_201904.bin + ├── lpddr4_pmu_train_1d_dmem_202006.bin + ├── lpddr4_pmu_train_1d_dmem.bin + ├── lpddr4_pmu_train_1d_dmem_pad.bin + ├── lpddr4_pmu_train_1d_fw.bin + ├── lpddr4_pmu_train_1d_imem_201904.bin + ├── lpddr4_pmu_train_1d_imem_202006.bin + ├── lpddr4_pmu_train_1d_imem.bin + ├── lpddr4_pmu_train_1d_imem_pad.bin + ├── lpddr4_pmu_train_2d_dmem_201904.bin + ├── lpddr4_pmu_train_2d_dmem_202006.bin + ├── lpddr4_pmu_train_2d_dmem.bin + ├── lpddr4_pmu_train_2d_dmem_pad.bin + ├── lpddr4_pmu_train_2d_fw.bin + ├── lpddr4_pmu_train_2d_imem_201904.bin + ├── lpddr4_pmu_train_2d_imem_202006.bin + ├── lpddr4_pmu_train_2d_imem.bin + ├── lpddr4_pmu_train_2d_imem_pad.bin + ├── lpddr4_pmu_train_fw.bin + ├── rootfs.ext2 + ├── rootfs.ext4 -> rootfs.ext2 + ├── rootfs.tar + ├── sdcard.img + ├── u-boot.bin + └── u-boot-spl.bin + + +Flashing the SD card image +========================== + +To install the image on a SDCard simply copy sdcard.img to the storage (e.g. SD, eMMC) + + $ sudo dd if=output/images/sdcard.img of= + + +Preparing the board +=================== + + * Connect a serial line to the board + * Insert the SD card + * Power-up the board + + +Booting the board +================= + +By default the bootloader will search for the first valid image, starting +with the internal eMMC. To make sure the bootloader loads bootscript from +the correct location (SD card) set the boot_targets environment variable: + + $ setenv boot_targets mmc1 diff --git a/board/kontron/smarc-sal28/extlinux.conf b/board/kontron/smarc-sal28/extlinux.conf new file mode 100644 index 00000000000..bf60bc37988 --- /dev/null +++ b/board/kontron/smarc-sal28/extlinux.conf @@ -0,0 +1,4 @@ +label buildroot + kernel /boot/Image + devicetreedir /boot + append root=PARTUUID=%PARTUUID% rootwait diff --git a/board/kontron/smarc-sal28/genimage.cfg b/board/kontron/smarc-sal28/genimage.cfg new file mode 100644 index 00000000000..82bab26fecd --- /dev/null +++ b/board/kontron/smarc-sal28/genimage.cfg @@ -0,0 +1,24 @@ +image sdcard-emmc.img { + hdimage { + partition-table-type = "gpt" + gpt-location = 16K + } + + partition rcw { + offset = 4K + in-partition-table = "no" + image = "rcw.bin" + } + + partition u-boot { + offset = 1M + in-partition-table = "no" + image = "u-boot.rom" + } + + partition rootfs { + offset = 4M + image = rootfs.ext4 + partition-uuid = %PARTUUID% + } +} diff --git a/board/kontron/smarc-sal28/patches/linux/linux.hash b/board/kontron/smarc-sal28/patches/linux/linux.hash new file mode 100644 index 00000000000..a4cc7bd3f6f --- /dev/null +++ b/board/kontron/smarc-sal28/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://cdn.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 9106a4605da9e31ff17659d958782b815f9591ab308d03b0ee21aad6c7dced4b linux-6.18.tar.xz diff --git a/board/kontron/smarc-sal28/patches/uboot/uboot.hash b/board/kontron/smarc-sal28/patches/uboot/uboot.hash new file mode 100644 index 00000000000..36322a6a904 --- /dev/null +++ b/board/kontron/smarc-sal28/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 ac7c04b8b7004923b00a4e5d6699c5df4d21233bac9fda690d8cfbc209fff2fd u-boot-2026.04.tar.bz2 diff --git a/board/kontron/smarc-sal28/post-build.sh b/board/kontron/smarc-sal28/post-build.sh new file mode 100755 index 00000000000..bf8861f6a91 --- /dev/null +++ b/board/kontron/smarc-sal28/post-build.sh @@ -0,0 +1,7 @@ +#!/bin/sh +BOARD_DIR="$(dirname $0)" +PARTUUID="$($HOST_DIR/bin/uuidgen)" + +install -d "$TARGET_DIR/boot/extlinux/" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/extlinux.conf" > "$TARGET_DIR/boot/extlinux/extlinux.conf" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/genimage.cfg" > "$BINARIES_DIR/genimage.cfg" diff --git a/board/kontron/smarc-sal28/readme.txt b/board/kontron/smarc-sal28/readme.txt new file mode 100644 index 00000000000..bdf2258b590 --- /dev/null +++ b/board/kontron/smarc-sal28/readme.txt @@ -0,0 +1,88 @@ +Kontron SMARC-sAL28 +=================== + +How to build it +=============== + +Configure Buildroot: + + $ make kontron_smarc_sal28_defconfig + +Change settings to fit your needs (optional): + + $ make menuconfig + +Compile everything and build the rootfs image: + + $ make + +Copying the image to a storage device +===================================== + +Buildroot builds an image which can be written to the internal eMMC +storage, a SD card or an USB thumb drive. You can use the following +command on your host: + + $ sudo dd if=output/images/sdcard-emmc.img of=/dev/sdx bs=1M + +Where /dev/sdx is the corresponding block device of your SD card or USB +thumb drive. To flash it on your internal eMMC use the following command on +the board: + + # dd if=sdcard-emmc.img of=/dev/mmcblk1 bs=1M + +Be sure you have not booted from the internal eMMC in this case! + +Booting the board +================= + +By default the bootloader will search for the first valid image, starting +with the internal eMMC. Consult the vendor documentation on how to use the +DIP switches to select specific boot devices. To use the bootloader +environment set the boot_targets correspondingly. E.g.: + + # setenv boot_targets usb0 + +To boot from an USB thumb drive. + +The device tree is loaded according to the filename in fdtfile. The +following command will set the default device tree, which works on almost +all variants (with less features of course): + + # setenv fdtfile freescale/fsl-ls1028a-kontron-sl28.dtb + +Set this to a device tree which fits your board variant. + +Connect your serial cable to SER1 and open your favorite terminal emulation +program (baudrate 115200, 8n1). E.g.: + + $ picocom -b 115200 /dev/ttyUSB0 + +You will get a warning reported by fdisk when you examine the SD card. +This is because the genimage.cfg file doesn't specify the SD card size +(as people will naturally have different sized cards), so the +secondary GPT header is placed after the rootfs rather than at the end +of the disk where it is expected to be. + +You will see something like this at boot time: + +[ 4.552797] GPT:Primary header thinks Alt. header is not at the end of the disk. +[ 4.560237] GPT:266272 != 7864319 +[ 4.563565] GPT:Alternate GPT header not at the end of the disk. +[ 4.569596] GPT:266272 != 7864319 +[ 4.572925] GPT: Use GNU Parted to correct GPT errors. + +Updating the bootloader +======================= + +Buildroot will automatically build the u-boot bootloader. The resulting +image is called u-boot.rom and you can find it in the images/ directory. + +To update the bootloader on the board you could either copy it to an +USB thumb drive or you could put it on a TFTP server. The following +example assumes you have the bootloader image copied to the root of +a thumb drive: + + # usb start + # load usb 0:1 $loadaddr u-boot.rom + # sf probe 0 && sf update $fileaddr 0x210000 $filesize diff --git a/board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/70-enetc-networking.rules b/board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/70-enetc-networking.rules new file mode 100644 index 00000000000..8774bc55819 --- /dev/null +++ b/board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/70-enetc-networking.rules @@ -0,0 +1,8 @@ +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.0", DRIVERS=="fsl_enetc", NAME="eno0" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.1", DRIVERS=="fsl_enetc", NAME="eno1" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.2", DRIVERS=="fsl_enetc", NAME="eno2" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.6", DRIVERS=="fsl_enetc", NAME="eno3" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.0", DRIVERS=="fsl_enetc_vf", NAME="eno0vf0" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.1", DRIVERS=="fsl_enetc_vf", NAME="eno0vf1" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.2", DRIVERS=="fsl_enetc_vf", NAME="eno1vf0" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.3", DRIVERS=="fsl_enetc_vf", NAME="eno1vf1" diff --git a/board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/70-felix-networking.rules b/board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/70-felix-networking.rules new file mode 100644 index 00000000000..917c0244ab7 --- /dev/null +++ b/board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/70-felix-networking.rules @@ -0,0 +1,6 @@ +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p0", NAME="swp0" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p1", NAME="swp1" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p2", NAME="swp2" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p3", NAME="swp3" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p4", NAME="swp4" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p5", NAME="swp5" diff --git a/board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/71-smarc-networking.rules b/board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/71-smarc-networking.rules new file mode 100644 index 00000000000..8c946b05fea --- /dev/null +++ b/board/kontron/smarc-sal28/rootfs_overlay/etc/udev/rules.d/71-smarc-networking.rules @@ -0,0 +1,19 @@ +# Map the GBE0 and GBE1 names from the SMARC standard to the network +# interfaces. This depends on the variant of the board. + +# get the variant compatible string +PROGRAM=="/bin/grep '^kontron,sl28-var[1-4]$' /sys/firmware/devicetree/base/compatible", ENV{sl28_compatible}="%c" + +# variant 1 +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.1", DRIVERS=="fsl_enetc", ENV{sl28_compatible}=="kontron,sl28-var1", NAME="gbe0" + +# variant 2 +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p0", ENV{sl28_compatible}=="kontron,sl28-var2", NAME="gbe0" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p1", ENV{sl28_compatible}=="kontron,sl28-var2", NAME="gbe1" + +# variant 3 +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.0", DRIVERS=="fsl_enetc", ENV{sl28_compatible}=="kontron,sl28-var3", NAME="gbe0" + +# variant 4 +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.0", DRIVERS=="fsl_enetc", ENV{sl28_compatible}=="kontron,sl28-var4", NAME="gbe0" +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.1", DRIVERS=="fsl_enetc", ENV{sl28_compatible}=="kontron,sl28-var4", NAME="gbe1" diff --git a/board/lego/ev3/genimage.cfg b/board/lego/ev3/genimage.cfg index 0ec580ca136..3eaf3915bbc 100644 --- a/board/lego/ev3/genimage.cfg +++ b/board/lego/ev3/genimage.cfg @@ -5,8 +5,8 @@ # The Flash image flash nor-16M-256 { - pebsize = 4096 - numpebs = 4096 + pebsize = 4K + numpebs = 4K minimum-io-unit-size = 256 } @@ -14,19 +14,28 @@ image flash.bin { flash { } flashtype = "nor-16M-256" + partition uboot { image = "u-boot.bin" - size = 320K + size = 256K + } + + partition dtb { + image = "da850-lego-ev3.dtb" + offset = 256K + size = 64K } + partition uimage { - image = "uImage.da850-lego-ev3" - size = 3M - offset = 0x50000 + image = "uImage" + offset = 320K + size = 4M } + partition rootfs { image = "rootfs.squashfs" - size = 9600K - offset = 0x350000 + offset = 4416K # 4M + 320KB + size = 10M } } @@ -35,21 +44,28 @@ image flash.bin { image boot.vfat { vfat { file uImage { - image = "uImage.da850-lego-ev3" + image = "uImage" + } + + file da850-lego-ev3.dtb { + image = "da850-lego-ev3.dtb" } } + size = 16M } image sdcard.img { hdimage { } + partition boot { partition-type = 0xC bootable = "true" image = "boot.vfat" offset = 4M } + partition rootfs { partition-type = 0x83 image = "rootfs.ext2" diff --git a/board/lego/ev3/linux.fragment b/board/lego/ev3/linux.fragment index 439cccf78dc..79efd27d37e 100644 --- a/board/lego/ev3/linux.fragment +++ b/board/lego/ev3/linux.fragment @@ -1,3 +1,4 @@ +CONFIG_ARM_APPENDED_DTB=n CONFIG_ARCH_DAVINCI_DM644x=n CONFIG_ARCH_DAVINCI_DM355=n CONFIG_ARCH_DAVINCI_DM646x=n @@ -54,3 +55,14 @@ CONFIG_SQUASHFS=y CONFIG_SQUASHFS_LZ4=y CONFIG_SQUASHFS_LZO=y CONFIG_SQUASHFS_XZ=y +CONFIG_DRM=y +CONFIG_DRM_TILCDC=n +CONFIG_DRM_DUMB_VGA_DAC=n +CONFIG_DRM_TINYDRM=y +CONFIG_TINYDRM_ST7586=y +CONFIG_FB_DA8XX=n +CONFIG_COMMON_CLK_PWM=y +CONFIG_BT=y +CONFIG_BT_HS=n +CONFIG_BT_LE=n +CONFIG_RFKILL=y diff --git a/board/lego/ev3/patches/linux-headers/linux-headers.hash b/board/lego/ev3/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/lego/ev3/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/lego/ev3/patches/linux/0001-adc-device-tree-node.patch b/board/lego/ev3/patches/linux/0001-adc-device-tree-node.patch deleted file mode 100644 index dabda1e9620..00000000000 --- a/board/lego/ev3/patches/linux/0001-adc-device-tree-node.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 8a81ff173c5c9a0ab1df84fab17971dbcce8490a Mon Sep 17 00:00:00 2001 -From: David Lechner -Date: Tue, 7 Feb 2017 13:22:07 -0600 -Subject: ARM: da850-lego-ev3: Add device tree node for A/DC - -This adds a node for the TI ADS7957 analog/digital converter on LEGO -MINDSTORMS EV3 as well as a regulator node that is used by the A/DC node. - -Signed-off-by: David Lechner -Signed-off-by: Sekhar Nori ---- - arch/arm/boot/dts/da850-lego-ev3.dts | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -diff --git a/arch/arm/boot/dts/da850-lego-ev3.dts b/arch/arm/boot/dts/da850-lego-ev3.dts -index 112ec92..0309537 100644 ---- a/arch/arm/boot/dts/da850-lego-ev3.dts -+++ b/arch/arm/boot/dts/da850-lego-ev3.dts -@@ -139,6 +139,19 @@ - enable-active-high; - regulator-boot-on; - }; -+ -+ /* -+ * This is a simple voltage divider on VCC5V to provide a 2.5V -+ * reference signal to the ADC. -+ */ -+ adc_ref: regulator2 { -+ compatible = "regulator-fixed"; -+ regulator-name = "adc ref"; -+ regulator-min-microvolt = <2500000>; -+ regulator-max-microvolt = <2500000>; -+ regulator-boot-on; -+ vin-supply = <&vcc5v>; -+ }; - }; - - &pmx_core { -@@ -293,6 +306,14 @@ - }; - }; - }; -+ -+ adc: adc@3 { -+ compatible = "ti,ads7957"; -+ reg = <3>; -+ #io-channel-cells = <1>; -+ spi-max-frequency = <10000000>; -+ vref-supply = <&adc_ref>; -+ }; - }; - - &gpio { --- -cgit v1.1 - diff --git a/board/lego/ev3/patches/linux/0002-sound-device-tree-node.patch b/board/lego/ev3/patches/linux/0002-sound-device-tree-node.patch deleted file mode 100644 index a095222c2fb..00000000000 --- a/board/lego/ev3/patches/linux/0002-sound-device-tree-node.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 7723d70bebd749ef24fef19db52d827c7fd7f858 Mon Sep 17 00:00:00 2001 -From: David Lechner -Date: Tue, 7 Feb 2017 13:22:09 -0600 -Subject: ARM: da850-lego-ev3: Add device tree node for sound - -This adds a device tree node for sound on LEGO MINDSTORMS EV3. The EV3 -uses one of the SoC PWMs connected to an amplifier to create sound from -a speaker. - -The PWM is passed through a low-pass filter, so it is actually possible -to do PCM playback, but there is no existing driver, so just using -pwm-beeper for now, since it is also a compatible mode of operation. - -Signed-off-by: David Lechner -Signed-off-by: Sekhar Nori ---- - arch/arm/boot/dts/da850-lego-ev3.dts | 31 +++++++++++++++++++++++++++++++ - 1 file changed, 31 insertions(+) - -diff --git a/arch/arm/boot/dts/da850-lego-ev3.dts b/arch/arm/boot/dts/da850-lego-ev3.dts -index 0309537..c20580a 100644 ---- a/arch/arm/boot/dts/da850-lego-ev3.dts -+++ b/arch/arm/boot/dts/da850-lego-ev3.dts -@@ -123,6 +123,14 @@ - pinctrl-0 = <&system_power_pin>; - }; - -+ sound { -+ compatible = "pwm-beeper"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&ehrpwm0b_pins>; -+ pwms = <&ehrpwm0 1 1000000 0>; -+ amp-supply = <&>; -+ }; -+ - /* - * This is a 5V current limiting regulator that is shared by USB, - * the sensor (input) ports, the motor (output) ports and the A/DC. -@@ -152,6 +160,18 @@ - regulator-boot-on; - vin-supply = <&vcc5v>; - }; -+ -+ /* -+ * This is the amplifier for the speaker. -+ */ -+ amp: regulator3 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&_pins>; -+ compatible = "regulator-fixed"; -+ regulator-name = "amp"; -+ gpio = <&gpio 111 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ }; - }; - - &pmx_core { -@@ -208,6 +228,13 @@ - 0x4c 0x00008000 0x0000f000 - >; - }; -+ -+ amp_pins: pinmux_amp_pins { -+ pinctrl-single,bits = < -+ /* GP6[15] */ -+ 0x34 0x00000008 0x0000000f -+ >; -+ }; - }; - - &pinconf { -@@ -316,6 +343,10 @@ - }; - }; - -+&ehrpwm0 { -+ status = "okay"; -+}; -+ - &gpio { - status = "okay"; - }; --- -cgit v1.1 - diff --git a/board/lego/ev3/patches/linux/linux.hash b/board/lego/ev3/patches/linux/linux.hash new file mode 100644 index 00000000000..81824a41ee4 --- /dev/null +++ b/board/lego/ev3/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 6c5e4d3c87feadbfdb9f7d2e46f3f120b00286ba380491c5956708e0b94232c8 linux-4.19.315.tar.xz diff --git a/board/lego/ev3/patches/uboot/uboot.hash b/board/lego/ev3/patches/uboot/uboot.hash new file mode 100644 index 00000000000..c53d9ecc5ce --- /dev/null +++ b/board/lego/ev3/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 312b7eeae44581d1362c3a3f02c28d806647756c82ba8c72241c7cdbe68ba77e u-boot-2021.07.tar.bz2 diff --git a/board/lego/ev3/readme.txt b/board/lego/ev3/readme.txt index 8df91ac1111..648bca1e919 100644 --- a/board/lego/ev3/readme.txt +++ b/board/lego/ev3/readme.txt @@ -70,6 +70,13 @@ official Lego Mindstorms EV3 programming software firmware update tool to load the image. To use sdcard.img, use a disk writing tool such as Etcher or dd to write the image to the µSD card. +NOTE: The sdcard.img created by lego_ev3_defconfig won't boot if the official +LEGO firmware is installed on the EV3 (it has an old version of U-Boot that +doesn't know about device tree). You must either set the kernel configuration +option to append the device tree to the kernel or you can create a boot.scr +that chainloads a newer U-Boot or you can install a newer U-Boot in the flash +memory (just flashing u-boot.bin is enough). + Finish ====== @@ -80,3 +87,13 @@ See: - http://botbench.com/blog/2013/08/05/mindsensors-ev3-usb-console-adapter/ The serial port config to use is 115200/8-N-1. + +Bluetooth +========= + +To enable Bluetooth: + + # modprobe hci_uart + # /usr/libexec/bluetooth/bluetoothd & + # bluetoothctl + [bluetooth]# power on diff --git a/board/lemaker/bananapro/boot.cmd b/board/lemaker/bananapro/boot.cmd deleted file mode 100644 index 439f5b12c4b..00000000000 --- a/board/lemaker/bananapro/boot.cmd +++ /dev/null @@ -1,5 +0,0 @@ -setenv fdt_high ffffffff -setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait -fatload mmc 0 $kernel_addr_r zImage -fatload mmc 0 $fdt_addr_r sun7i-a20-bananapro.dtb -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/lemaker/bananapro/genimage.cfg b/board/lemaker/bananapro/genimage.cfg deleted file mode 100644 index 190a4b1ff39..00000000000 --- a/board/lemaker/bananapro/genimage.cfg +++ /dev/null @@ -1,37 +0,0 @@ -# Minimal SD card image for the Banana Pro -# Based in the Orange Pi genimage.cfg - -image boot.vfat { - vfat { - files = { - "zImage", - "sun7i-a20-bananapro.dtb", - "boot.scr" - } - } - size = 10M -} - -image sdcard.img { - hdimage { - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 512M - } -} diff --git a/board/lemaker/bananapro/linux-wifi.fragment b/board/lemaker/bananapro/linux-wifi.fragment deleted file mode 100644 index 8e4bd5cc7d4..00000000000 --- a/board/lemaker/bananapro/linux-wifi.fragment +++ /dev/null @@ -1,23 +0,0 @@ -# Networking support -CONFIG_WIRELESS=y -CONFIG_CFG80211=y -CONFIG_CFG80211_WEXT=y - -# Network device support -CONFIG_WLAN=y -CONFIG_WLAN_VENDOR_BROADCOM=y -CONFIG_BRCMFMAC=m -# CONFIG_WLAN_VENDOR_ADMTEK is not set -# CONFIG_WLAN_VENDOR_ATH is not set -# CONFIG_WLAN_VENDOR_ATMEL is not set -# CONFIG_WLAN_VENDOR_CISCO is not set -# CONFIG_WLAN_VENDOR_INTEL is not set -# CONFIG_WLAN_VENDOR_INTERSIL is not set -# CONFIG_WLAN_VENDOR_MARVELL is not set -# CONFIG_WLAN_VENDOR_MEDIATEK is not set -# CONFIG_WLAN_VENDOR_RALINK is not set -# CONFIG_WLAN_VENDOR_REALTEK is not set -# CONFIG_WLAN_VENDOR_RSI is not set -# CONFIG_WLAN_VENDOR_ST is not set -# CONFIG_WLAN_VENDOR_TI is not set -# CONFIG_WLAN_VENDOR_ZYDAS is not set diff --git a/board/lemaker/bananapro/post-build.sh b/board/lemaker/bananapro/post-build.sh deleted file mode 100755 index a335310dbca..00000000000 --- a/board/lemaker/bananapro/post-build.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -# Remove all but the brcmfmac43362 firmware files -find $TARGET_DIR/lib/firmware/brcm -type f -not -name "brcmfmac43362*" -delete - -BOARD_DIR="$(dirname $0)" -MKIMAGE=$HOST_DIR/bin/mkimage -BOOT_CMD=$BOARD_DIR/boot.cmd -BOOT_CMD_H=$BINARIES_DIR/boot.scr - -# U-Boot script -$MKIMAGE -C none -A arm -T script -d $BOOT_CMD $BOOT_CMD_H diff --git a/board/lemaker/bananapro/post-image.sh b/board/lemaker/bananapro/post-image.sh deleted file mode 100755 index 9cca1b1789e..00000000000 --- a/board/lemaker/bananapro/post-image.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" - -exit $? diff --git a/board/lemaker/bananapro/readme.txt b/board/lemaker/bananapro/readme.txt deleted file mode 100644 index 27b922e26d8..00000000000 --- a/board/lemaker/bananapro/readme.txt +++ /dev/null @@ -1,62 +0,0 @@ -Banana Pro - -Intro -===== - -This default configuration will allow you to start experimenting with the -Buildroot environment for the Banana Pro. With the current configuration -it will bring-up the board, and allow access through the serial console. - -How to build it -=============== - -Configure Buildroot: - - $ make bananapro_defconfig - -Compile everything and build the SD card image: - - $ make - -How to write the SD card -======================== - -Once the build process is finished you will have an image called "sdcard.img" -in the output/images/ directory. - -Copy the bootable "sdcard.img" onto an SD card with "dd": - - $ dd if=output/images/sdcard.img of=/dev/sdX - -Notes: - - replace 'sdX' with the actual device with your micro SD card - - you may need to be root to do that (use 'sudo') - -Insert the micro SD card in your Banana Pro and power it up. The console -is on the debug TTL UART, 115200 8N1. - -Ethernet -========== - - # udhcpc -i eth0 - -Wifi -========== - - # wpa_passphrase YOUR_SSID >> /etc/wpa_supplicant.conf - (enter the wifi password and press enter) - # wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B - # udhcpc -i wlan0 - -Note: - - replace 'YOUR_SSID' with the actual SSID from your access point - -Audio -========== - -Connect a headphone to the 3.5mm jack (TRRS). Note, that the Banana Pro -has an on-board microphone, too. - - # amixer cset name='Power Amplifier DAC Playback Switch' on - # amixer cset name='Power Amplifier Mute Switch' on - # amixer cset name='Power Amplifier Volume' 42 diff --git a/board/lemaker/bananapro/rootfs_overlay/lib/firmware/brcm/brcmfmac43362-sdio.txt b/board/lemaker/bananapro/rootfs_overlay/lib/firmware/brcm/brcmfmac43362-sdio.txt deleted file mode 100644 index 14a554fdd8c..00000000000 --- a/board/lemaker/bananapro/rootfs_overlay/lib/firmware/brcm/brcmfmac43362-sdio.txt +++ /dev/null @@ -1,56 +0,0 @@ -#AP6210_NVRAM_V1.2_03192013 -manfid=0x2d0 -prodid=0x492 -vendid=0x14e4 -devid=0x4343 -boardtype=0x0598 - -# Board Revision is P307, same nvram file can be used for P304, P305, P306 and P307 as the tssi pa params used are same -#Please force the automatic RX PER data to the respective board directory if not using P307 board, for e.g. for P305 boards force the data into the following directory /projects/BCM43362/a1_labdata/boardtests/results/sdg_rev0305 -boardrev=0x1307 -boardnum=777 -xtalfreq=26000 -boardflags=0x80201 -boardflags2=0x80 -sromrev=3 -wl0id=0x431b -macaddr=00:90:4c:07:71:12 -aa2g=1 -ag0=2 -maxp2ga0=74 -cck2gpo=0x2222 -ofdm2gpo=0x44444444 -mcs2gpo0=0x6666 -mcs2gpo1=0x6666 -pa0maxpwr=56 - -#P207 PA params -#pa0b0=5447 -#pa0b1=-658 -#pa0b2=-175 - -#Same PA params for P304,P305, P306, P307 - -pa0b0=5447 -pa0b1=-607 -pa0b2=-160 -pa0itssit=62 -pa1itssit=62 - - -cckPwrOffset=5 -ccode=0 -rssismf2g=0xa -rssismc2g=0x3 -rssisav2g=0x7 -triso2g=0 -noise_cal_enable_2g=0 -noise_cal_po_2g=0 -swctrlmap_2g=0x04040404,0x02020202,0x02020202,0x010101,0x1ff -temp_add=29767 -temp_mult=425 - -btc_flags=0x6 -btc_params0=5000 -btc_params1=1000 -btc_params6=63 diff --git a/board/librecomputer/lafrite/genimage.cfg b/board/librecomputer/lafrite/genimage.cfg new file mode 100644 index 00000000000..212f8295273 --- /dev/null +++ b/board/librecomputer/lafrite/genimage.cfg @@ -0,0 +1,10 @@ +image usb.img { + hdimage { + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + size = 512M + } +} diff --git a/board/librecomputer/lafrite/overlay/extlinux/extlinux.conf b/board/librecomputer/lafrite/overlay/extlinux/extlinux.conf new file mode 100644 index 00000000000..60aa9d6e700 --- /dev/null +++ b/board/librecomputer/lafrite/overlay/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label linux + kernel /boot/Image + devicetree /boot/meson-gxl-s805x-libretech-ac.dtb + append console=ttyAML0,115200 earlyprintk root=/dev/sda1 rootwait diff --git a/board/librecomputer/lafrite/patches/linux-headers/linux-headers.hash b/board/librecomputer/lafrite/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/librecomputer/lafrite/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/librecomputer/lafrite/patches/linux/linux.hash b/board/librecomputer/lafrite/patches/linux/linux.hash new file mode 100644 index 00000000000..899adefd079 --- /dev/null +++ b/board/librecomputer/lafrite/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 23e3e7b56407250f5411bdab95763d0bc4e3a19dfa431d951df7eacabd61a2f4 linux-6.6.22.tar.xz diff --git a/board/librecomputer/lafrite/readme.txt b/board/librecomputer/lafrite/readme.txt new file mode 100644 index 00000000000..c439c5e91dd --- /dev/null +++ b/board/librecomputer/lafrite/readme.txt @@ -0,0 +1,34 @@ +Intro +===== + +Libre Computer "La Frite" is a low cost SBC based around an Amlogic +s805x SoC (quad A53), 512MB/1GB DDR4 and a 16MB SPI NOR flash: + +https://libre.computer/products/boards/aml-s805x-ac/ + +How to build it +=============== + +Configure Buildroot: + + $ make lafrite_defconfig + +Compile everything and build the USB flash drive image: + + $ make + +How to write the USB flash drive image +====================================== + +Once the build process is finished you will have an image called "usb.img" +in the output/images/ directory. + +Copy the bootable "usb.img" onto a USB flash drive with "dd": + + $ sudo dd if=output/images/usb.img of=/dev/sdX + +How to boot +=========== + +Insert flash drive to the USB connector furthest away from the IR +receiver and power up board. The system will boot automatically. diff --git a/board/linksprite/pcduino/boot.cmd b/board/linksprite/pcduino/boot.cmd deleted file mode 100644 index 0db8363599e..00000000000 --- a/board/linksprite/pcduino/boot.cmd +++ /dev/null @@ -1,8 +0,0 @@ -setenv fdt_high ffffffff - -setenv bootargs console=ttyS0,115200 console=tty1 earlyprintk root=/dev/mmcblk0p2 rootwait panic=10 ${extra} - -fatload mmc 0 $kernel_addr_r zImage -fatload mmc 0 $fdt_addr_r sun4i-a10-pcduino.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/linksprite/pcduino/genimage.cfg b/board/linksprite/pcduino/genimage.cfg deleted file mode 100644 index 9cbc383d443..00000000000 --- a/board/linksprite/pcduino/genimage.cfg +++ /dev/null @@ -1,42 +0,0 @@ -# -# Minimal SD card image for the pcDuino -# - -image boot.vfat { - vfat { - files = { - "zImage", - "sun4i-a10-pcduino.dtb", - "boot.scr" - } - } - size = 16M -} - -# -# Note: u-boot environment is stored between u-boot and boot partitions -# - -image sdcard.img { - hdimage { - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - offset = 1M - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/linksprite/pcduino/patches/linux-headers/linux-headers.hash b/board/linksprite/pcduino/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/linksprite/pcduino/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/linksprite/pcduino/patches/linux/linux.hash b/board/linksprite/pcduino/patches/linux/linux.hash new file mode 100644 index 00000000000..aea771e7bf5 --- /dev/null +++ b/board/linksprite/pcduino/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 c89809cc777d50f1ea484a118630281a26383707a0e752c96fd834f6e765deae linux-6.12.3.tar.xz diff --git a/board/linksprite/pcduino/patches/uboot/uboot.hash b/board/linksprite/pcduino/patches/uboot/uboot.hash new file mode 100644 index 00000000000..904fa56c02a --- /dev/null +++ b/board/linksprite/pcduino/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b28daf4ac17e43156363078bf510297584137f6df50fced9b12df34f61a92fb0 u-boot-2024.10.tar.bz2 diff --git a/board/linksprite/pcduino/post-build.sh b/board/linksprite/pcduino/post-build.sh deleted file mode 100755 index e1e18776718..00000000000 --- a/board/linksprite/pcduino/post-build.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# post-build.sh for pcDuino taken from OrangePi post-build.sh -# 2013, Carlo Caione - -BOARD_DIR="$(dirname $0)" -MKIMAGE=$HOST_DIR/bin/mkimage -BOOT_CMD=$BOARD_DIR/boot.cmd -BOOT_CMD_H=$BINARIES_DIR/boot.scr - -# U-Boot script -$MKIMAGE -C none -A arm -T script -d $BOOT_CMD $BOOT_CMD_H diff --git a/board/linksprite/pcduino/post-image.sh b/board/linksprite/pcduino/post-image.sh deleted file mode 100755 index c82b189f9c8..00000000000 --- a/board/linksprite/pcduino/post-image.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" - -exit $? diff --git a/board/loongarch64-efi/genimage-efi.cfg b/board/loongarch64-efi/genimage-efi.cfg new file mode 100644 index 00000000000..24b9a8d943f --- /dev/null +++ b/board/loongarch64-efi/genimage-efi.cfg @@ -0,0 +1,30 @@ +image efi-part.vfat { + vfat { + file EFI { + image = "efi-part/EFI" + } + file vmlinux.efi { + image = "vmlinux.efi" + } + } + + size = 64M +} + +image disk.img { + hdimage { + partition-table-type = "gpt" + } + + partition boot { + image = "efi-part.vfat" + partition-type-uuid = U + offset = 32K + bootable = true + } + + partition root { + partition-type-uuid = root-loongarch64 + image = "rootfs.ext2" + } +} diff --git a/board/loongarch64-efi/grub.cfg b/board/loongarch64-efi/grub.cfg new file mode 100644 index 00000000000..c84a7f646b8 --- /dev/null +++ b/board/loongarch64-efi/grub.cfg @@ -0,0 +1,6 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /vmlinux.efi root=PARTLABEL=root rootwait console=ttyS0,115200 +} diff --git a/board/loongarch64-efi/patches/linux-headers/linux-headers.hash b/board/loongarch64-efi/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/loongarch64-efi/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/loongarch64-efi/patches/linux/linux.hash b/board/loongarch64-efi/patches/linux/linux.hash new file mode 100644 index 00000000000..381f3427a60 --- /dev/null +++ b/board/loongarch64-efi/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 a9b020721778384507010177d3929e7d4058f7f6120f05a99d56b5c5c0346a70 linux-6.12.32.tar.xz diff --git a/board/loongarch64-efi/post-image.sh b/board/loongarch64-efi/post-image.sh new file mode 100755 index 00000000000..fdb17ece700 --- /dev/null +++ b/board/loongarch64-efi/post-image.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +cp -f "${BOARD_DIR}/grub.cfg" "${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg" diff --git a/board/loongarch64-efi/readme.txt b/board/loongarch64-efi/readme.txt new file mode 100644 index 00000000000..8b92f620f98 --- /dev/null +++ b/board/loongarch64-efi/readme.txt @@ -0,0 +1,38 @@ +The loongarch64_efi_defconfig allows to build a minimal Linux system that +can boot on all loongarch64 systems providing an New World [1] EFI firmware. + +This includes almost all LoongArch Loongson-3 series workstations and servers, +see [2] for hardware and firmware information. + +Building and booting +==================== + +$ make loongarch64_efi_defconfig +$ make + +The file output/images/disk.img is a complete disk image that can be +booted, it includes the grub2 bootloader, Linux kernel and root +filesystem. + +Testing under Qemu +================== + +This image can also be tested using Qemu: + +qemu-system-loongarch64 \ + -M virt \ + -cpu la464 \ + -nographic \ + -bios \ + -drive file=output/images/disk.img,if=none,format=raw,id=hd0 \ + -device virtio-blk-pci,drive=hd0 \ + -netdev user,id=eth0 \ + -device virtio-net-pci,netdev=eth0 + +Note that needs to point to a valid loongarch64 UEFI +firmware image for qemu. +It may be provided by your distribution as a edk2-loongarch64 package, +in path such as /usr/share/edk2/loongarch64/QEMU_EFI.fd . + +[1]: https://areweloongyet.com/en/docs/old-and-new-worlds/ +[2]: https://github.com/loongson/Firmware diff --git a/board/mangopi/mq1rdw2/genimage.cfg b/board/mangopi/mq1rdw2/genimage.cfg new file mode 100644 index 00000000000..92c86775456 --- /dev/null +++ b/board/mangopi/mq1rdw2/genimage.cfg @@ -0,0 +1,16 @@ +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + size = 1016K # 1MB - 8KB + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/mangopi/mq1rdw2/patches/linux-headers/linux-headers.hash b/board/mangopi/mq1rdw2/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/mangopi/mq1rdw2/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/mangopi/mq1rdw2/patches/linux/linux.hash b/board/mangopi/mq1rdw2/patches/linux/linux.hash new file mode 100644 index 00000000000..f83883b936d --- /dev/null +++ b/board/mangopi/mq1rdw2/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz diff --git a/board/mangopi/mq1rdw2/patches/uboot/uboot.hash b/board/mangopi/mq1rdw2/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/mangopi/mq1rdw2/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/mangopi/mq1rdw2/readme.txt b/board/mangopi/mq1rdw2/readme.txt new file mode 100644 index 00000000000..fd37f63154e --- /dev/null +++ b/board/mangopi/mq1rdw2/readme.txt @@ -0,0 +1,46 @@ +MangoPi MQ1RDW2 +=============== + +MangoPi MQ1RDW2 is a tiny ARM Cortex-A7 based single board computer. +It's built around Allwinner T113-S3 dual core 1GHz CPU with integrated +128MB DDR3-1600 RAM. +Board features: +- USB-OTG Type-C socket +- USB-HOST Type-C socket +- 2x 18 pin GPIO headers +- TF card slot +- RTL8723DS WiFi module with ext. antenna connector +- 40 pin RGB FPC connector +- 6 pin CTP FPC connector +- 24 pin DVP FPC connector +- onboard mic +- onboard audio amplifier +- FEL,reset button + +How to build +============ + +$ make mangopi_mq1rdw2_defconfig +$ make + +Wifi +========== + +Edit board/mangopi/mq1rdw2/overlay/etc/wpa_supplicant.conf or +/etc/wpa_supplicant.conf once connected to the board: + +* Replace YOURSSID with your AP ssid +* Replace YOURPASSWD with your AP password + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Connect a TTL UART to the UART3 on P8 header (unpopulated), insert the microSD card and +plug in a USB-C cable to the OTG or HOST connector to boot the system. diff --git a/board/mangopi/mq1rdw2/rootfs_overlay/boot/extlinux/extlinux.conf b/board/mangopi/mq1rdw2/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..c190ff7659b --- /dev/null +++ b/board/mangopi/mq1rdw2/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label MANGOPI-MQ1RDW2 + kernel /boot/zImage + devicetree /boot/sun8i-t113s-mangopi-mq-r-t113.dtb + append console=ttyS3,115200 root=/dev/mmcblk0p1 rootwait panic=10 ${extra} diff --git a/board/mangopi/mq1rdw2/rootfs_overlay/etc/network/interfaces b/board/mangopi/mq1rdw2/rootfs_overlay/etc/network/interfaces new file mode 100644 index 00000000000..89e7d74aff7 --- /dev/null +++ b/board/mangopi/mq1rdw2/rootfs_overlay/etc/network/interfaces @@ -0,0 +1,6 @@ +auto lo +iface lo inet loopback + +auto wlan0 +iface wlan0 inet dhcp +wpa-conf /etc/wpa_supplicant.conf diff --git a/board/mangopi/mq1rdw2/rootfs_overlay/etc/wpa_supplicant.conf b/board/mangopi/mq1rdw2/rootfs_overlay/etc/wpa_supplicant.conf new file mode 100644 index 00000000000..b43292b0a7f --- /dev/null +++ b/board/mangopi/mq1rdw2/rootfs_overlay/etc/wpa_supplicant.conf @@ -0,0 +1,8 @@ +ap_scan=1 + +network={ + ssid="YOURSSID" + scan_ssid=1 + key_mgmt=WPA-PSK + psk="YOURPASSWD" +} diff --git a/board/mender/x86_64/genimage-efi.cfg b/board/mender/x86_64/genimage-efi.cfg new file mode 100644 index 00000000000..9c2723d8fb1 --- /dev/null +++ b/board/mender/x86_64/genimage-efi.cfg @@ -0,0 +1,43 @@ +image efi-part.vfat { + vfat { + file EFI { + image = "efi-part/EFI" + } + file grub-mender-grubenv { + image = "efi-part/grub-mender-grubenv" + } + file bzImage { + image = "bzImage" + } + } + + size = 16M +} + +image disk.img { + hdimage { + partition-table-type = "gpt" + } + + partition boot { + partition-type-uuid = U + offset = 32K + image = "efi-part.vfat" + bootable = true + } + + partition roota { + partition-type-uuid = 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709 + image = "rootfs.ext2" + } + + partition rootb { + partition-type-uuid = 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709 + image = "rootfs.ext2" + } + + partition data { + partition-type-uuid = L + image = "data-part.ext4" + } +} diff --git a/board/mender/x86_64/linux.config b/board/mender/x86_64/linux.config new file mode 100644 index 00000000000..f17fc18edb4 --- /dev/null +++ b/board/mender/x86_64/linux.config @@ -0,0 +1,64 @@ +CONFIG_SYSVIPC=y +CONFIG_SMP=y +CONFIG_HYPERVISOR_GUEST=y +CONFIG_PARAVIRT=y +CONFIG_EFI=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_NETFILTER=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_FILTER=y +CONFIG_CFG80211=m +CONFIG_CFG80211_WEXT=y +CONFIG_MAC80211=m +CONFIG_PCI=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_VIRTIO_BLK=y +CONFIG_BLK_DEV_SD=y +CONFIG_SCSI_VIRTIO=y +CONFIG_ATA=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_ATH9K=m +CONFIG_ATH9K_HTC=m +CONFIG_CARL9170=m +CONFIG_ATH10K=m +CONFIG_RT2X00=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT3573=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_RT55XX=y +# CONFIG_RTL_CARDS is not set +CONFIG_RTL8XXXU=m +CONFIG_INPUT_EVDEV=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_DRM=y +CONFIG_DRM_VIRTIO_GPU=y +CONFIG_FB_VESA=y +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_STORAGE=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_BALLOON=y +CONFIG_VIRTIO_INPUT=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y +CONFIG_EXT4_FS=y +CONFIG_FUSE_FS=y +CONFIG_VFAT_FS=y +CONFIG_SQUASHFS=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_UNWINDER_FRAME_POINTER=y diff --git a/board/mender/x86_64/mender_grubenv_defines b/board/mender/x86_64/mender_grubenv_defines new file mode 100644 index 00000000000..77f68fe6b26 --- /dev/null +++ b/board/mender/x86_64/mender_grubenv_defines @@ -0,0 +1,25 @@ +################################################################################ +# Mandatory +################################################################################ +# Warning: This file is an example and should be customized to fit your needs! + +# Partition index of root filesystem A +mender_rootfsa_part=2 + +# Partition index of root filesystem B +mender_rootfsb_part=3 + +# Device file corresponding to the root filesystem partitions, without index. +mender_kernel_root_base=/dev/vda + +# Name of the storage device containing root filesystem partitions in GRUB +# format. +mender_grub_storage_device=hd0 + +# Type of kernel (bzImage or zImage) +kernel_imagetype=bzImage + +# Type of initrd image. +# Note: An initrd image is not strictly necessary, and the system will boot and +# update without a initrd image. +# initrd_imagetype=initrd.img diff --git a/board/mender/x86_64/overlay/etc/fstab b/board/mender/x86_64/overlay/etc/fstab new file mode 100644 index 00000000000..45a7ba02605 --- /dev/null +++ b/board/mender/x86_64/overlay/etc/fstab @@ -0,0 +1,7 @@ +# +/dev/root / ext4 rw,noauto 0 1 +/dev/vda1 /boot vfat defaults 0 0 +/dev/vda4 /var/lib/mender ext4 rw,relatime 0 0 +proc /proc proc defaults 0 0 +devpts /dev/pts devpts defaults,gid=5,mode=620,ptmxmode=0666 0 0 +sysfs /sys sysfs defaults 0 0 diff --git a/board/mender/x86_64/overlay/etc/mender/mender.conf b/board/mender/x86_64/overlay/etc/mender/mender.conf new file mode 100644 index 00000000000..5f423fb2cb8 --- /dev/null +++ b/board/mender/x86_64/overlay/etc/mender/mender.conf @@ -0,0 +1,11 @@ +{ + "InventoryPollIntervalSeconds": 1800, + "UpdatePollIntervalSeconds": 1800, + "RetryPollIntervalSeconds": 300, + "RootfsPartA": "/dev/vda2", + "RootfsPartB": "/dev/vda3", + "ServerCertificate": "/etc/mender/server.crt", + "ServerURL": "https://docker.mender.io", + "TenantToken": "dummy", + "DeviceTypeFile": "/etc/mender/device_type" +} diff --git a/board/mender/x86_64/post-build.sh b/board/mender/x86_64/post-build.sh new file mode 100755 index 00000000000..9e909e9281d --- /dev/null +++ b/board/mender/x86_64/post-build.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash +set -e +DEVICE_TYPE="buildroot-x86_64" + +parse_args() { + local o O opts + o='a:o:d:' + O='artifact-name:,data-part-size:,device-type:' + opts="$(getopt -o "${o}" -l "${O}" -- "${@}")" + eval set -- "${opts}" + while [ ${#} -gt 0 ]; do + case "${1}" in + (-o|--data-part-size) + # Ignored to have same options as other scripts + shift 2 + ;; + (-d|--device-type) + DEVICE_TYPE="${2}"; shift 2 + ;; + (-a|--artifact-name) + # Ignored to have same options as other scripts + shift 2 + ;; + (--) + shift; break + ;; + esac + done +} + +# Create a persistent directory to mount the data partition at. +mender_fixup() { + pushd "${TARGET_DIR}" + # The common paradigm is to have the persistent data volume at /data for mender. + if [[ ! -L data ]]; then + ln -s var/lib/mender data + fi + + popd +} + +main() { + parse_args "${@}" + mender_fixup + echo "device_type=${DEVICE_TYPE}" > "${TARGET_DIR}/etc/mender/device_type" +} + +main "${@}" diff --git a/board/mender/x86_64/post-image-efi.sh b/board/mender/x86_64/post-image-efi.sh new file mode 100755 index 00000000000..a3e262f8fee --- /dev/null +++ b/board/mender/x86_64/post-image-efi.sh @@ -0,0 +1,92 @@ +#!/usr/bin/env bash +set -e +BOARD_DIR="$(realpath "$(dirname "$0")")" +DATA_PART="${BINARIES_DIR}"/data-part +DATA_PART_SIZE="32M" +DEVICE_TYPE="buildroot-x86_64" +ARTIFACT_NAME="1.0" + +# Parse arguments. +parse_args() { + local o O opts + o='a:o:d:' + O='artifact-name:,data-part-size:,device-type:' + opts="$(getopt -o "${o}" -l "${O}" -- "${@}")" + eval set -- "${opts}" + while [ ${#} -gt 0 ]; do + case "${1}" in + (-o|--data-part-size) + DATA_PART_SIZE="${2}"; shift 2 + ;; + (-d|--device-type) + DEVICE_TYPE="${2}"; shift 2 + ;; + (-a|--artifact-name) + ARTIFACT_NAME="${2}"; shift 2 + ;; + (--) + shift; break + ;; + esac + done +} + +# Create the data partition +make_data_partition() { + "${HOST_DIR}/sbin/mkfs.ext4" \ + -d "${DATA_PART}" \ + -F \ + -r 1 \ + -N 0 \ + -m 5 \ + -L "data" \ + "${BINARIES_DIR}/data-part.ext4" "${DATA_PART_SIZE}" +} + +# Generate a mender bootstrap artifact. +# See https://github.com/mendersoftware/mender/blob/3.5.3/Documentation/automatic-bootstrap-artifact.md +generate_mender_bootstrap_artifact() { + + rm -rf "${DATA_PART}" + mkdir -p "${DATA_PART}" + img_checksum=$(sha256sum "${BINARIES_DIR}"/rootfs.ext4 |awk '{print $1}') + + "${HOST_DIR}"/bin/mender-artifact \ + write bootstrap-artifact \ + --compression none \ + --artifact-name "${ARTIFACT_NAME}" \ + --device-type "${DEVICE_TYPE}" \ + --provides "rootfs-image.version:${ARTIFACT_NAME}" \ + --provides "rootfs-image.checksum:${img_checksum}" \ + --clears-provides "rootfs-image.*" \ + --output-path "${DATA_PART}"/bootstrap.mender \ + --version 3 +} + +# Create a mender image. +generate_mender_image() { + echo "Creating ${BINARIES_DIR}/${DEVICE_TYPE}-${ARTIFACT_NAME}.mender" + "${HOST_DIR}/bin/mender-artifact" \ + write rootfs-image \ + --compression none \ + -t "${DEVICE_TYPE}" \ + -n "${BR2_VERSION}" \ + -f "${BINARIES_DIR}/rootfs.ext2" \ + -o "${BINARIES_DIR}/${DEVICE_TYPE}-${ARTIFACT_NAME}.mender" +} + +generate_image() { + support/scripts/genimage.sh -c "${BOARD_DIR}/genimage-efi.cfg" +} + +# Main function. +main() { + parse_args "${@}" + generate_mender_bootstrap_artifact + make_data_partition + generate_image + generate_mender_image + exit $? +} + +main "${@}" diff --git a/board/mender/x86_64/readme.txt b/board/mender/x86_64/readme.txt new file mode 100644 index 00000000000..01a02545110 --- /dev/null +++ b/board/mender/x86_64/readme.txt @@ -0,0 +1,69 @@ +Mender UEFI PC sample config +===================== + +1. Build + + $ make mender_x86_64_efi_defconfig + + Add any additional packages required. Update the files in board/mender/x86_64 + and change /dev/vda to what is relevant for your platform: typically + /dev/mmcblk0p for eMMC and /dev/sda for USB or SATA. + + $ make + +2. Write the image + + The build process will create a all-in-one image called disk.img in + output/images. + + Write the image to a pendrive: + + $ dd if=output/images/disk.img of=/dev/sdX; sync + + Once the process is complete, insert it into the target PC and boot. + + Remember that if said PC has another boot device you might need to + select this alternative for it to boot. + + You might need to disable Secure Boot from the setup as well. + +3. Enjoy + +Emulation in qemu +======================== + +Run the emulation with: + +qemu-system-x86_64 \ + -M pc \ + -drive file=output/images/disk.img,if=virtio,format=raw \ + -net nic,model=virtio \ + -net user \ + -serial stdio \ + -bios + +Note that needs to point to a valid x86_64 UEFI +firmware image for qemu. It may be provided by your distribution as an +edk2 or OVMF package, in a path such as /usr/share/edk2/ovmf/OVMF_CODE.fd. + +Optional arguments: + - -enable-kvm to speed up qemu. This requires a loaded kvm module on the host + system. + - Add -smp N to emulate an SMP system with N CPUs. + +The login prompt will appear in the serial window. + +Tested with QEMU 4.1.1 on Fedora 31 + +Creating a mender-artifact +======================== + +The mender artifact is created in output/images/buildroot-x86_64-1.0.mender + +You may wish to change --artifact-name=1.0 to a name that best suits your +particular needs, as this option changes the mender artifact name. + +Using mender +======================== +Please read the mender documentation at: +https://docs.mender.io diff --git a/board/microchip/mpfs_icicle/README.txt b/board/microchip/mpfs_icicle/README.txt new file mode 100644 index 00000000000..de20ecc410f --- /dev/null +++ b/board/microchip/mpfs_icicle/README.txt @@ -0,0 +1,62 @@ +Microchip PolarFire SoC Icicle Kit +================================== + +This file describes how to use the pre-defined Buildroot +configuration for Microchip's PolarFire SoC Icicle Kit. + +Further information about the PolarFire SoC Icicle Kit can be found +at https://github.com/polarfire-soc/polarfire-soc-documentation + +Building +======== + +Configure Buildroot using the default board configuration: + + '$ make microchip_mpfs_icicle_defconfig' + +Customise the build as necessary: + + '$ make menuconfig' + +Start the build: + + '$ make' + +Result of the build +=================== + +Once the build has finished you will have the following files: + + output/images/ + +-- boot.scr + +-- boot.vfat + +-- Image + +-- mpfs_icicle.itb + +-- mpfs_icicle.its + +-- mpfs-icicle-kit.dtb + +-- payload.bin + +-- rootfs.ext2 + +-- rootfs.ext4 + +-- rootfs.tar + +-- sdcard.img + +-- u-boot.bin + + +Creating a bootable SD card with genimage +========================================= + +By default Buildroot builds a SD card image for you. The first partition +of this image contains a U-Boot binary, embedded in a Hart Software +Services (HSS) payload. The second partition contains a FAT filesystem +with a U-Boot env and an ITB file containing the kernel and the device +tree. The third partition contains the file system. This image can be +written directly to the eMMC or an SD card. All you need to do is dd the +image to the eMMC or your SD card, which can be done with the following +command on your development host: + + '$ sudo dd if=output/images/sdcard.img of=/dev/sdb bs=1M' + +For instructions on how to transfer the image to the eMMC/SD, please refer to +the "Programming the Linux image" section of our guide on updating +PolarFire SoC dev kits: +https://github.com/polarfire-soc/polarfire-soc-documentation/blob/master/reference-designs-fpga-and-development-kits/updating-mpfs-kit.md. diff --git a/board/microchip/mpfs_icicle/config.yaml b/board/microchip/mpfs_icicle/config.yaml new file mode 100644 index 00000000000..5fccdfd34f8 --- /dev/null +++ b/board/microchip/mpfs_icicle/config.yaml @@ -0,0 +1,28 @@ +# +# HSS Payload Generator - buildroot configuration file +# + +# First, we can optionally set a name for our image, otherwise one will be created dynamically +set-name: 'PolarFire-SoC-HSS::U-Boot' + +# +# Next, we'll define the entry point addresses for each hart, as follows: +# +hart-entry-points: {u54_1: '0x80200000', u54_2: '0x80200000', u54_3: '0x80200000', u54_4: '0x80200000'} +# +# Finally, we'll define a payloads (source binary file) that will be placed at certain regions in memory +# The payload section is defined with the keyword payloads, and then a number of individual +# payload descriptors. +# +# Each payload has a name (path to its ELF/bin file), an owner-hart, and optionally 1-3 secondary-harts. +# +# Additionally, it has a privilege mode in which it will start execution. +# * Valid privilege modes are PRV_M, PRV_S and PRV_U. +# +# +# In this case, the only payload is the u-boot s-mode binary. +# +# Case only matters for the ELF path names, not the keywords. +# +payloads: + u-boot.bin: {exec-addr: '0x80200000', owner-hart: u54_1, secondary-hart: u54_2, secondary-hart: u54_3, secondary-hart: u54_4, priv-mode: prv_s} diff --git a/board/microchip/mpfs_icicle/genimage.cfg b/board/microchip/mpfs_icicle/genimage.cfg new file mode 100644 index 00000000000..9282c9ce5f1 --- /dev/null +++ b/board/microchip/mpfs_icicle/genimage.cfg @@ -0,0 +1,34 @@ +# Image for eMMC or SDCard boot on the Microchip PolarFire SOC Icicle Board +# +image boot.vfat { + vfat { + files = { + "mpfs_icicle.itb", + } + + file boot.scr { + image = "boot.scr" + } + } + size = 60M +} + +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition uboot { + partition-type-uuid = 21686148-6449-6E6F-744E-656564454649 + image = "payload.bin" + } + + partition kernel { + bootable = "true" + image = "boot.vfat" + } + + partition root { + image = "rootfs.ext4" + } +} diff --git a/board/microchip/mpfs_icicle/linux.fragment b/board/microchip/mpfs_icicle/linux.fragment new file mode 100644 index 00000000000..0cecddb61b0 --- /dev/null +++ b/board/microchip/mpfs_icicle/linux.fragment @@ -0,0 +1 @@ +CONFIG_POLARFIRE_SOC_DMA_NONCOHERENT=y diff --git a/board/microchip/mpfs_icicle/mpfs_icicle.its b/board/microchip/mpfs_icicle/mpfs_icicle.its new file mode 100644 index 00000000000..2f89a6ee2f1 --- /dev/null +++ b/board/microchip/mpfs_icicle/mpfs_icicle.its @@ -0,0 +1,75 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Flattened Image Tree file for Icicle Kit + * + */ + +/dts-v1/; + +/ { + description = "U-Boot fitImage for the MPFS"; + address-cells = <1>; + + images { + kernel { + description = "Linux kernel"; + data = /incbin/("./Image"); + type = "kernel"; + arch = "riscv"; + os = "linux"; + compression = "none"; + load = <0x80200000>; + entry = <0x80200000>; + hash-1 { + algo = "sha256"; + }; + }; + fdt-mpfs-icicle-kit.dtb { + description = "Flattened Device Tree blob"; + data = /incbin/("./mpfs-icicle-kit.dtb"); + type = "flat_dt"; + arch = "riscv"; + compression = "none"; + load = <0x8a000000>; + hash-1 { + algo = "sha256"; + }; + }; + fdt-mpfs-icicle-kit-prod.dtb { + description = "Flattened Device Tree blob"; + data = /incbin/("./mpfs-icicle-kit-prod.dtb"); + type = "flat_dt"; + arch = "riscv"; + compression = "none"; + load = <0x8a000000>; + hash-1 { + algo = "sha256"; + }; + }; + }; + + configurations { + default = "conf-microchip,mpfs-icicle-kit-prod"; + conf-microchip,mpfs-icicle-kit { + description = "1 Linux kernel, FDT blob"; + kernel = "kernel"; + fdt = "fdt-mpfs-icicle-kit.dtb"; + }; + + conf-microchip,mpfs-icicle-kit-prod { + description = "1 Linux kernel, FDT blob"; + kernel = "kernel"; + fdt = "fdt-mpfs-icicle-kit-prod.dtb"; + }; + + conf-microchip,fdt-mpfs-icicle-kit.dtb { + description = "Base FDT blob for MPFS Icicle board"; + fdt = "fdt-mpfs-icicle-kit.dtb"; + }; + + conf-microchip,fdt-mpfs-icicle-kit-prod.dtb { + description = "Base FDT blob for MPFS Icicle Production board"; + fdt = "fdt-mpfs-icicle-kit-prod.dtb"; + }; + }; +}; \ No newline at end of file diff --git a/board/microchip/mpfs_icicle/patches/linux-headers/linux-headers.hash b/board/microchip/mpfs_icicle/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/microchip/mpfs_icicle/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/microchip/mpfs_icicle/patches/linux/linux.hash b/board/microchip/mpfs_icicle/patches/linux/linux.hash new file mode 100644 index 00000000000..2902da56b63 --- /dev/null +++ b/board/microchip/mpfs_icicle/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 37191994758d521dc7223cb5010a67ef83bd061bf70194ea522abc9ef2b17391 linux-linux4microchip+fpga-2025.10.tar.gz diff --git a/board/microchip/mpfs_icicle/patches/uboot/uboot.hash b/board/microchip/mpfs_icicle/patches/uboot/uboot.hash new file mode 100644 index 00000000000..a40f963a2e4 --- /dev/null +++ b/board/microchip/mpfs_icicle/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 591c80f7e16d6f43192deb7ab7587ae81b31ba7c7de1a668c14b9997b6c976c8 uboot-linux4microchip+fpga-2025.10.tar.gz diff --git a/board/microchip/mpfs_icicle/post-image.sh b/board/microchip/mpfs_icicle/post-image.sh new file mode 100755 index 00000000000..596bb21d78d --- /dev/null +++ b/board/microchip/mpfs_icicle/post-image.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -e + +HSS_PAYLOAD_GENERATOR="${HOST_DIR}"/bin/hss-payload-generator +MKIMAGE="${HOST_DIR}"/bin/mkimage +BOARD_DIR="$(pwd)"/"${0%/*}" + +pushd "${BINARIES_DIR}" +"${HSS_PAYLOAD_GENERATOR}" -c "${BOARD_DIR}"/config.yaml payload.bin +cp "${BOARD_DIR}"/mpfs_icicle.its "${BINARIES_DIR}"/mpfs_icicle.its +"${MKIMAGE}" -f mpfs_icicle.its mpfs_icicle.itb +popd +support/scripts/genimage.sh -c "${BOARD_DIR}"/genimage.cfg diff --git a/board/microchip/mpfs_icicle/uboot-env.txt b/board/microchip/mpfs_icicle/uboot-env.txt new file mode 100644 index 00000000000..befbfa20065 --- /dev/null +++ b/board/microchip/mpfs_icicle/uboot-env.txt @@ -0,0 +1,19 @@ +# this assumes ${scriptaddr} is already set!! + +# Try to boot a fitImage from eMMC/SD + +setenv fdt_high 0xffffffffffffffff +setenv initrd_high 0xffffffffffffffff + +fdt addr ${fdtcontroladdr} +fdt get value board_compatible / compatible 1 + +setenv fitconf conf-${board_compatible} + +load mmc 0:${distro_bootpart} ${scriptaddr} mpfs_icicle.itb +bootm start ${scriptaddr}#${fitconf} +bootm loados ${scriptaddr} +bootm ramdisk +bootm prep +run design_overlays +bootm go diff --git a/board/microchip/mpfs_icicle/uboot-fragment-rootfs.config b/board/microchip/mpfs_icicle/uboot-fragment-rootfs.config new file mode 100644 index 00000000000..47f4c35ea43 --- /dev/null +++ b/board/microchip/mpfs_icicle/uboot-fragment-rootfs.config @@ -0,0 +1,4 @@ +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="root=/dev/mmcblk0p3 rootwait uio_pdrv_genirq.of_id=generic-uio" +CONFIG_MPFS_PRIORITISE_QSPI_BOOT=n +CONFIG_OF_BOARD=y diff --git a/board/microchip/sam9x60ek_mmc/genimage.cfg b/board/microchip/sam9x60ek_mmc/genimage.cfg new file mode 100644 index 00000000000..629caf3ef7f --- /dev/null +++ b/board/microchip/sam9x60ek_mmc/genimage.cfg @@ -0,0 +1,32 @@ +# Image for SD card boot on Microchip SAM9X60-EK +# +image boot.vfat { + vfat { + files = { + "zImage", + "at91-sam9x60ek.dtb", + "boot.bin", + "u-boot.bin" + } + } + + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + offset = 1M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + size = 512M + } +} diff --git a/board/microchip/sama5d2_icp/genimage.cfg b/board/microchip/sama5d2_icp/genimage.cfg new file mode 100644 index 00000000000..eecb2ef115e --- /dev/null +++ b/board/microchip/sama5d2_icp/genimage.cfg @@ -0,0 +1,32 @@ +# Image for SD card boot on Microchip SAMA5D2 ICP (Industrial Connectivity Platform) +# +image boot.vfat { + vfat { + files = { + "zImage", + "at91-sama5d2_icp.dtb", + "boot.bin", + "u-boot.bin" + } + } + + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + offset = 1M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + size = 512M + } +} diff --git a/board/microchip/sama7g5ek/genimage.cfg b/board/microchip/sama7g5ek/genimage.cfg new file mode 100644 index 00000000000..ade29e4b5df --- /dev/null +++ b/board/microchip/sama7g5ek/genimage.cfg @@ -0,0 +1,31 @@ +# Image for SD card boot on Microchip SAMA7G5EK (sama7g5 evaluation kit) +# +image boot.vfat { + vfat { + files = { + "zImage", + "at91-sama7g5ek.dtb", + "boot.bin", + "u-boot.bin" + } + } + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + offset = 1M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + size = 512M + } +} diff --git a/board/minnowboard/fs-overlay-graphical/etc/X11/Xsession b/board/minnowboard/fs-overlay-graphical/etc/X11/Xsession deleted file mode 100755 index d8862f170cb..00000000000 --- a/board/minnowboard/fs-overlay-graphical/etc/X11/Xsession +++ /dev/null @@ -1,7 +0,0 @@ -# Start a terminal on the top left corner -xterm -geom 80x30+0+0 & - -# OpenGL demo -glmark2 & - -exec /usr/bin/openbox-session diff --git a/board/minnowboard/fs-overlay-graphical/etc/asound.conf b/board/minnowboard/fs-overlay-graphical/etc/asound.conf deleted file mode 100644 index b75b2383647..00000000000 --- a/board/minnowboard/fs-overlay-graphical/etc/asound.conf +++ /dev/null @@ -1,4 +0,0 @@ -# Customize ALSA: -# the HDMI PCM is at card=0, device=3 (i.e. hw:0,3) -defaults.pcm.card 0 -defaults.pcm.device 3 diff --git a/board/minnowboard/genimage.cfg b/board/minnowboard/genimage.cfg index 6cf78743075..b169d1d0679 100644 --- a/board/minnowboard/genimage.cfg +++ b/board/minnowboard/genimage.cfg @@ -1,9 +1,6 @@ # Create an image of the efi partition image efi-part.vfat { vfat { - file startup.nsh { - image = "efi-part/startup.nsh" - } file EFI { image = "efi-part/EFI" } @@ -11,7 +8,8 @@ image efi-part.vfat { image = "bzImage" } } - size=10M + + size = 10M } # Create the sdcard image, pulling in @@ -19,15 +17,16 @@ image efi-part.vfat { # * the efi-partition created above image sdcard.img { hdimage { + partition-table-type = "gpt" } partition boot { - partition-type = 0xEF + partition-type-uuid = U image = "efi-part.vfat" } partition rootfs { - partition-type = 0x83 + partition-type-uuid = L image = "rootfs.ext4" size = 512M } diff --git a/board/minnowboard/grub.cfg b/board/minnowboard/grub.cfg index 3d6feb7023c..1f75f4d7ca8 100644 --- a/board/minnowboard/grub.cfg +++ b/board/minnowboard/grub.cfg @@ -2,5 +2,5 @@ set default="0" set timeout="5" menuentry "Buildroot" { - linux /bzImage root=/dev/mmcblk2p2 rootwait console=tty0 console=ttyS0,115200 + linux /bzImage root=PARTLABEL=rootfs rootwait console=tty0 console=ttyS0,115200 net.ifnames=0 } diff --git a/board/minnowboard/linux.config b/board/minnowboard/linux.config index fba48a163c3..928e353c1c5 100644 --- a/board/minnowboard/linux.config +++ b/board/minnowboard/linux.config @@ -14,6 +14,7 @@ CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_INET=y +CONFIG_PCI=y CONFIG_BLK_DEV_SD=y CONFIG_CHR_DEV_SG=y CONFIG_ATA=y @@ -21,6 +22,7 @@ CONFIG_SATA_AHCI=y CONFIG_ATA_PIIX=y CONFIG_NETDEVICES=y CONFIG_R8169=y +CONFIG_IGB=y CONFIG_INPUT_EVDEV=y CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y @@ -56,3 +58,4 @@ CONFIG_MMC_SDHCI_PCI=y CONFIG_MMC_SDHCI_ACPI=y CONFIG_PWM=y CONFIG_EXT4_FS=y +CONFIG_UNWINDER_FRAME_POINTER=y diff --git a/board/minnowboard/post-image.sh b/board/minnowboard/post-image.sh deleted file mode 100755 index 428baa5e559..00000000000 --- a/board/minnowboard/post-image.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -e - -GENIMAGE_CFG="board/minnowboard/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/board/nexbox/a95x/boot.txt b/board/nexbox/a95x/boot.txt index f388ba814ab..eef1c8ca55c 100644 --- a/board/nexbox/a95x/boot.txt +++ b/board/nexbox/a95x/boot.txt @@ -1,4 +1,4 @@ -setenv bootargs console=ttyAML0,115200 earlyprintk root=/dev/mmcblk1p2 rootwait +setenv bootargs console=ttyAML0,115200 earlyprintk root=PARTUUID=feedc0de-02 rootwait fatload mmc 0:1 0x01080000 uImage diff --git a/board/nexbox/a95x/genimage.cfg b/board/nexbox/a95x/genimage.cfg index 74e2d3a6f9e..81bcc82c9b8 100644 --- a/board/nexbox/a95x/genimage.cfg +++ b/board/nexbox/a95x/genimage.cfg @@ -7,11 +7,14 @@ image boot.vfat { "boot.scr" } } + size = 32M } image sdcard.img { hdimage { + # for root=PARTUUID support + disk-signature = 0xfeedc0de } partition boot { diff --git a/board/nezha/genimage.cfg b/board/nezha/genimage.cfg new file mode 100644 index 00000000000..836666ff8e6 --- /dev/null +++ b/board/nezha/genimage.cfg @@ -0,0 +1,19 @@ +# Minimal SD card image for the Allwinner Nezha + +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = false + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + bootable = "true" + offset = 1M + } +} diff --git a/board/nezha/linux.fragment b/board/nezha/linux.fragment new file mode 100644 index 00000000000..4b101eaacb0 --- /dev/null +++ b/board/nezha/linux.fragment @@ -0,0 +1,2 @@ +CONFIG_USB_GADGET=y +CONFIG_USB_MUSB_DUAL_ROLE=y diff --git a/board/nezha/overlay/boot/extlinux/extlinux.conf b/board/nezha/overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..91b2298628b --- /dev/null +++ b/board/nezha/overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label linux + kernel /boot/Image + # use devicetree from u-boot + append console=ttyS0,115200 root=/dev/mmcblk0p1 ro rootwait diff --git a/board/nezha/patches/linux-headers/linux-headers.hash b/board/nezha/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/nezha/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/nezha/patches/linux/linux.hash b/board/nezha/patches/linux/linux.hash new file mode 100644 index 00000000000..899adefd079 --- /dev/null +++ b/board/nezha/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 23e3e7b56407250f5411bdab95763d0bc4e3a19dfa431d951df7eacabd61a2f4 linux-6.6.22.tar.xz diff --git a/board/nezha/patches/opensbi/opensbi.hash b/board/nezha/patches/opensbi/opensbi.hash new file mode 100644 index 00000000000..bc4058abe62 --- /dev/null +++ b/board/nezha/patches/opensbi/opensbi.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 319b62a4186fbce9b81a0c5f0ec9f003a10c808397a72138bc9745d9b87b1eb1 opensbi-1.4.tar.gz diff --git a/board/nezha/patches/uboot/uboot.hash b/board/nezha/patches/uboot/uboot.hash new file mode 100644 index 00000000000..7d051859386 --- /dev/null +++ b/board/nezha/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 36db7c20b179f03aa29009565c6b34380d5629fd5c57ed110244594d9930dfed uboot-2e89b706f5c956a70c989cd31665f1429e9a0b48.tar.gz diff --git a/board/nezha/readme.txt b/board/nezha/readme.txt new file mode 100644 index 00000000000..fd4c6707de8 --- /dev/null +++ b/board/nezha/readme.txt @@ -0,0 +1,24 @@ +Allwinner Nezha +=============== + +Nezha is is a low-cost RISC-V 64-bit based platform, powered by an +Allwinner D1 SoC. + +How to build +============ + +$ make nezha_defconfig +$ make + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Connect a TTL UART to the debug connector, insert the microSD card and +plug in a USB-C cable to the PWR connector to boot the system. diff --git a/board/nvidia/bf3/linux.config b/board/nvidia/bf3/linux.config new file mode 100644 index 00000000000..5dce5654810 --- /dev/null +++ b/board/nvidia/bf3/linux.config @@ -0,0 +1,163 @@ +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_TASKSTATS=y +CONFIG_MEMCG=y +CONFIG_BLK_CGROUP=y +CONFIG_CPUSETS=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_PROFILING=y +CONFIG_ARCH_VEXPRESS=y +CONFIG_COMPAT=y +CONFIG_ACPI=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_BLK_DEV_BSGLIB=y +CONFIG_BINFMT_MISC=y +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_PACKET_DIAG=y +CONFIG_UNIX=y +CONFIG_NET_KEY=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_BRIDGE=y +CONFIG_NET_SCHED=y +CONFIG_VSOCKETS=y +CONFIG_PCI=y +CONFIG_PCI_HOST_GENERIC=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_FW_CFG_SYSFS=y +CONFIG_FW_CFG_SYSFS_CMDLINE=y +CONFIG_VIRTIO_BLK=y +CONFIG_BLK_DEV_SD=y +CONFIG_CHR_DEV_SG=y +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_VIRTIO=y +CONFIG_ATA=y +CONFIG_NETDEVICES=y +CONFIG_DUMMY=y +CONFIG_MACVLAN=y +CONFIG_VIRTIO_NET=y +CONFIG_NLMON=y +CONFIG_INPUT_EVDEV=y +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_VIRTIO=y +CONFIG_TCG_TPM=y +CONFIG_TCG_TIS=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_PL031=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_INPUT=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y +CONFIG_MAILBOX=y +CONFIG_PL320_MBOX=y +CONFIG_ARM_SMMU_V3=y +CONFIG_EXT4_FS=y +CONFIG_FUSE_FS=y +CONFIG_VIRTIO_FS=y +CONFIG_OVERLAY_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_RAS=y +CONFIG_EDAC=y +CONFIG_EDAC_LEGACY_SYSFS=y +CONFIG_EDAC_BLUEFIELD=y +CONFIG_I2C=y +CONFIG_MELLANOX_PLATFORM=y +CONFIG_REGMAP_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_GPIO_MLXBF2=y +CONFIG_GPIO_MLXBF3=y +CONFIG_GPIO_MLXBF=y +CONFIG_I2C_MLXBF=y +CONFIG_I2C_MLXCPLD=y +CONFIG_I2C_MUX=y +CONFIG_I2C_MUX_MLXCPLD=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_MLXCPLD=y +CONFIG_LEDS_MLXREG=y +CONFIG_NET_SWITCHDEV=y +CONFIG_MLX5_BRIDGE=y +CONFIG_NET_CLS_ACT=y +CONFIG_NET_TC_SKB_EXT=y +CONFIG_CONFIG_NET_CLS_ACT=y +CONFIG_MLX5_CLS_ACT=y +CONFIG_DCB=y +CONFIG_MLX5_CORE_EN_DCB=y +CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE=y +CONFIG_MLX5_DPLL=y +CONFIG_MLX5_EN_ARFS=y +CONFIG_INET_ESP=y +CONFIG_INET6_ESP=y +CONFIG_XFRM_OFFLOAD=y +CONFIG_INET_ESP_OFFLOAD=y +CONFIG_INET6_ESP_OFFLOAD=y +CONFIG_MLX5_EN_IPSEC=y +CONFIG_MLX5_EN_RXNFC=y +CONFIG_TLS_DEVICE=y +CONFIG_TLS=y +CONFIG_MLX5_EN_TLS=y +CONFIG_MLX5_ESWITCH=y +CONFIG_MLX5_FPGA_IPSEC=y +CONFIG_MLX5_FPGA_TLS=y +CONFIG_MLX5_FPGA=y +CONFIG_MLX5_IPSEC=y +CONFIG_MACSEC=y +CONFIG_MLX5_MACSEC=y +CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SF_MANAGER=y +CONFIG_MLX5_SF=y +CONFIG_MLX5_SW_STEERING=y +CONFIG_NETFILTER=y +CONFIG_NETFILTER_INGRESS=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_TABLES=y +CONFIG_NF_FLOW_TABLE=y +CONFIG_NET_ACT_CT=y +CONFIG_MLX5_TC_CT=y +CONFIG_MLX5_TC_SAMPLE=y +CONFIG_MLX5_TLS=y +CONFIG_VDPA=y +CONFIG_VHOST_IOTLB=y +CONFIG_MLX5_VDPA_NET=y +CONFIG_MLX5_VDPA_STEERING_DEBUG=y +CONFIG_MLX5_VDPA=y +CONFIG_IOMMUFD=y +CONFIG_IOMMU_SUPPORT=y +CONFIG_VFIO=y +CONFIG_MLX5_VFIO_PCI=y +CONFIG_MLXBF_BOOTCTL=y +CONFIG_MLXBF_GIGE=y +CONFIG_MLXBF_PMC=y +CONFIG_MLXBF_TMFIFO=y +CONFIG_MLXFW=y +CONFIG_MLXREG_HOTPLUG=y +CONFIG_MLXREG_IO=y +CONFIG_WATCHDOG=y +CONFIG_MLX_WDT=y +CONFIG_MMC=y +CONFIG_MMC_DW=y +CONFIG_MMC_DW_BLUEFIELD=y +CONFIG_NET_VENDOR_MELLANOX=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_MLXBF3=y +CONFIG_POWER_MLXBF=y +CONFIG_SENSORS_MLXREG_FAN=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_RD_GZIP=y +CONFIG_INITRAMFS_COMPRESSION_GZIP=y diff --git a/board/nvidia/bf3/patches/linux-headers/linux-headers.hash b/board/nvidia/bf3/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/nvidia/bf3/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/nvidia/bf3/patches/linux/linux.hash b/board/nvidia/bf3/patches/linux/linux.hash new file mode 100644 index 00000000000..d2272b2110a --- /dev/null +++ b/board/nvidia/bf3/patches/linux/linux.hash @@ -0,0 +1,4 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +# After checking with pgp with using key +# B8868C80BA62A1FFFAF5FDA9632D3A06589DA6B1 +sha256 c954f60197008f1e1f32a1e77293903cf3801d2543ec4bf521f5651eb7f133ce linux-6.11.6.tar.xz diff --git a/board/nvidia/bf3/readme.txt b/board/nvidia/bf3/readme.txt new file mode 100644 index 00000000000..7e072d21e2b --- /dev/null +++ b/board/nvidia/bf3/readme.txt @@ -0,0 +1,70 @@ +***************** +BlueField 3 Board +***************** + +The BlueField 3 board is provided "as-is" without official support +from NVIDIA. + +For a detailed description of this board, please refer to the official +website: +https://www.nvidia.com/en-us/networking/products/data-processing-unit/ + + +Missing Kernel Modules +====================== + +Please note that the following kernel modules are unavailable as they +are not included in the Linux upstream repository: + - CONFIG_MLXBF_PTM (module: mlxbf-ptm) + - CONFIG_MLXBF_PKA (module: mlxbf-pka) + +For further details on these kernel modules and their usage, please +refer to the NVIDIA documentation: +https://docs.nvidia.com/networking/display/bluefielddpuosv470/installing+popular+linux+distributions+on+bluefield + + +Boot loader +=========== + +NVIDIA does not provide information for rebuilding the ARM BL1, BL2, +BL3, UEFI, or other components in the boot stages. Therefore, we +assume the BF3 board is already running the pre-built Ubuntu image +provided in the BFB installation format. + +Since there are no available details on the BF3's BFB format or the +ARM Trusted Firmware (ATF) needed to rebuild BL1, BL2, BL3, UEFI, or +GRUB, these components are assumed to remain unmodified. + + +Grub Configuration and Image Loading +==================================== + +The board's image is loaded from the BF3's GRUB, with the following +GRUB settings, assuming the console is set to `hvc0` to provide access +thru `/dev/rshimN/console` from the root CPU since the root CPU's +rshim exposes a virtio console over the PCIe bus to the BR3 board. + +To update GRUB settings, boot using the built-in BF3 Ubuntu image. + +Extract of /etc/default/grub: + + GRUB_DEFAULT=0 + GRUB_TIMEOUT_STYLE=menu + GRUB_TIMEOUT=-1 + GRUB_RECORDFAIL_TIMEOUT=5 + GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` + GRUB_CMDLINE_LINUX_DEFAULT="" + GRUB_CMDLINE_LINUX="console=hvc0 earlyprintk=hvc0 earlycon=hvc0 loglevel=7 fixrtc net.ifnames=0 biosdevname=0 iommu.passthrough=1" + + +Uploading Buildroot Images +-------------------------- + +After configuring GRUB, you can upload your Buildroot images to the +BF3’s GRUB boot folder: + + scp build_folder/images/Image BF3:/boot/vmlinuz-buildroot-xyz + +Finally, run `update-grub` on the BF3 board to apply the updated GRUB settings. + +Enjoy! diff --git a/board/nvidia/bf3/rootfs_overlay/etc/init.d/S04ifnames b/board/nvidia/bf3/rootfs_overlay/etc/init.d/S04ifnames new file mode 100755 index 00000000000..88c03fd0444 --- /dev/null +++ b/board/nvidia/bf3/rootfs_overlay/etc/init.d/S04ifnames @@ -0,0 +1,66 @@ +#!/bin/sh +# Rename the board's interfaces according to Mellanox/NVIDIA's documentation + +DESC="bf3 interface renaming" +DAEMON=ifnames + +rename_interface() { + bus_info=$1 + new_name=$2 + alt_name=$3 + + # Find the current interface name based on bus-info + iface=$(find /sys/class/net -type l -exec sh -c ' + for i; do + [ "$(basename "$(readlink -f "$i"/device)")" = "$0" ] && basename "$i" + done + ' "$bus_info" {} +) + + # Rename the interface if found + if [ -n "$iface" ]; then + ip link set "$iface" name "$new_name" + printf "%s to %s" "$iface" "$new_name" + + # Set altname if provided + if [ -n "$alt_name" ]; then + ip link property add dev "$new_name" altname "$alt_name" + printf "/%s" "$alt_name" + fi + printf "; " + else + echo "$bus_info not found" + fi +} + +case "$1" in + start) + printf "Starting %s [%s]: " "$DESC" "$DAEMON" + # Initialize success flag + rename_allok=0 + rename_interface "0000:03:00.0" "p0" "enp3s0f0np0" || rename_allok=1 + rename_interface "0000:03:00.1" "p1" "enp3s0f1np1" || rename_allok=1 + rename_interface "MLNXBF17:00" "oob_net0" "enamlnxbf17i0" || rename_allok=1 + rename_interface "virtio1" "tmfifo_net0" || rename_allok=1 + + if [ "$rename_allok" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + ;; + + stop) ;; + + restart) + # Optional: Handle restart by calling start after stop + $0 stop + $0 start + ;; + + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac + +exit 0 diff --git a/board/octavo/osd32mp1-brk/genimage.cfg b/board/octavo/osd32mp1-brk/genimage.cfg new file mode 100644 index 00000000000..40bde81e861 --- /dev/null +++ b/board/octavo/osd32mp1-brk/genimage.cfg @@ -0,0 +1,23 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition fsbl1 { + image = "tf-a-stm32mp157c-osd32mp1-brk.stm32" + } + + partition fsbl2 { + image = "tf-a-stm32mp157c-osd32mp1-brk.stm32" + } + + partition fip { + image = "fip.bin" + size = 2M + } + + partition rootfs { + image = "rootfs.ext4" + bootable = "yes" + } +} diff --git a/board/octavo/osd32mp1-brk/linux-dts/stm32mp157c-osd32mp1-brk.dts b/board/octavo/osd32mp1-brk/linux-dts/stm32mp157c-osd32mp1-brk.dts new file mode 100644 index 00000000000..d5f2793f548 --- /dev/null +++ b/board/octavo/osd32mp1-brk/linux-dts/stm32mp157c-osd32mp1-brk.dts @@ -0,0 +1,1120 @@ +/* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */ +/* + * Copyright (C) Octavo Systems LLC 2020 - All Rights Reserved + */ + +/* For more information on Device Tree configuration, please refer to + * https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration + */ + +/dts-v1/; +#include +#include "stm32mp157.dtsi" +#include "stm32mp15xc.dtsi" +#include "stm32mp15xxac-pinctrl.dtsi" +#include "stm32mp15-m4-srm.dtsi" +#include +#include +#include + +/ { + model = "Octavo OSD32MP1 BRK board"; + compatible = "st,stm32mp157c-osd32mp1-brk", "st,stm32mp157"; + + memory@c0000000 { + device_type = "memory"; + reg = <0xc0000000 0x20000000>; + }; + + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + mcuram2:mcuram2@10000000{ + compatible = "shared-dma-pool"; + reg = <0x10000000 0x40000>; + no-map; + }; + + vdev0vring0:vdev0vring0@10040000{ + compatible = "shared-dma-pool"; + reg = <0x10040000 0x1000>; + no-map; + }; + + vdev0vring1:vdev0vring1@10041000{ + compatible = "shared-dma-pool"; + reg = <0x10041000 0x1000>; + no-map; + }; + + vdev0buffer:vdev0buffer@10042000{ + compatible = "shared-dma-pool"; + reg = <0x10042000 0x4000>; + no-map; + }; + + mcuram:mcuram@30000000{ + compatible = "shared-dma-pool"; + reg = <0x30000000 0x40000>; + no-map; + }; + + retram:retram@38000000{ + compatible = "shared-dma-pool"; + reg = <0x38000000 0x10000>; + no-map; + }; + + gpu_reserved:gpu@d4000000{ + reg = <0xd4000000 0x4000000>; + no-map; + }; + }; + + led{ + compatible = "gpio-leds"; + + red1{ + label = "LED1_RED"; + gpios = <&gpioz 6 GPIO_ACTIVE_LOW>; + linux,default-trigger = "heartbeat"; + status = "okay"; + default-state = "off"; + }; + + green1{ + label = "LED1_GRN"; + gpios = <&gpioz 7 GPIO_ACTIVE_LOW>; + status = "okay"; + default-state = "on"; + }; + + red2{ + label = "LED2_RED"; + gpios = <&gpioi 8 GPIO_ACTIVE_LOW>; + status = "okay"; + default-state = "off"; + }; + + green2{ + label = "LED2_GRN"; + gpios = <&gpioi 9 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + }; + + usb_phy_tuning:usb-phy-tuning{ + st,hs-dc-level = <2>; + st,fs-rftime-tuning; + st,hs-rftime-reduction; + st,hs-current-trim = <15>; + st,hs-impedance-trim = <1>; + st,squelch-level = <3>; + st,hs-rx-offset = <2>; + st,no-lsfs-sc; + }; + + vin:vin{ + compatible = "regulator-fixed"; + regulator-name = "vin"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; + + aliases{ + serial0 = &uart4; + serial2 = &usart2; + serial5 = &uart5; + serial7 = &uart7; + serial1 = &uart8; + }; + + chosen{ + stdout-path = "serial0:115200n8"; + }; + +}; /*root*/ + +&pinctrl { + u-boot,dm-pre-reloc; + i2c1_pins_mx: i2c1-0 { + pins { + pinmux = , /* I2C1_SCL */ + ; /* I2C1_SDA */ + bias-disable; + drive-open-drain; + slew-rate = <0>; + }; + }; + + i2c1_pins_sleep_mx: i2c1-1 { + pins { + pinmux = , /* I2C1_SCL */ + ; /* I2C1_SDA */ + }; + }; + + i2c2_pins_mx: i2c2-0 { + pins { + pinmux = , /* I2C2_SCL */ + ; /* I2C2_SDA */ + bias-disable; + drive-open-drain; + slew-rate = <0>; + }; + }; + + i2c2_pins_sleep_mx: i2c2-1 { + pins { + pinmux = , /* I2C2_SCL */ + ; /* I2C2_SDA */ + }; + }; + + i2c5_pins_mx: i2c5-0 { + pins { + pinmux = , /* I2C5_SCL */ + ; /* I2C5_SDA */ + bias-disable; + drive-open-drain; + slew-rate = <0>; + }; + }; + + i2c5_pins_sleep_mx: i2c5-1 { + pins { + pinmux = , /* I2C5_SCL */ + ; /* I2C5_SDA */ + }; + }; + + spi2_pins_mx: spi2-0 { + pins1 { + pinmux = , /* SPI2_SCK */ + ; /* SPI2_MOSI */ + bias-disable; + drive-push-pull; + slew-rate = <1>; + }; + + pins2 { + pinmux = ; /* SPI2_MISO */ + bias-disable; + }; + }; + + spi2_sleep_pins_mx: spi2-sleep-0 { + pins { + pinmux = , /* SPI2_SCK */ + , /* SPI2_MISO */ + ; /* SPI2_MOSI */ + }; + }; + + spi4_pins_mx: spi4-0 { + pins1 { + pinmux = , /* SPI4_SCK */ + ; /* SPI4_MOSI */ + bias-disable; + drive-push-pull; + slew-rate = <1>; + }; + + pins2 { + pinmux = ; /* SPI4_MISO */ + bias-disable; + }; + }; + + spi4_sleep_pins_mx: spi4-sleep-0 { + pins { + pinmux = , /* SPI2_SCK */ + , /* SPI2_MISO */ + ; /* SPI2_MOSI */ + }; + }; + + usart2_pins_mx: usart2-0 { + pins1 { + pinmux = ; /* USART2_TX */ + bias-disable; + drive-push-pull; + slew-rate = <0>; + }; + pins2 { + pinmux = ; /* USART2_RX */ + bias-disable; + }; + }; + + usart2_idle_pins_mx: usart2-idle-0 { + pins1 { + pinmux = ; /* USART2_TX */ + }; + pins2 { + pinmux = ; /* USART2_RX */ + bias-disable; + }; + }; + + usart2_sleep_pins_mx: usart2-sleep-0 { + pins { + pinmux = , /* USART2_TX */ + ; /* USART2_RX */ + }; + }; + + uart5_pins_mx: uart5-0 { + pins1 { + pinmux = ; /* USART5_TX */ + bias-disable; + drive-push-pull; + slew-rate = <0>; + }; + pins2 { + pinmux = ; /* USART5_RX */ + bias-disable; + }; + }; + + uart5_idle_pins_mx: uart5-idle-0 { + pins1 { + pinmux = ; /* USART5_TX */ + }; + pins2 { + pinmux = ; /* USART5_RX */ + bias-disable; + }; + }; + + uart5_sleep_pins_mx: uart5-sleep-0 { + pins { + pinmux = , /* USART5_TX */ + ; /* USART5_RX */ + }; + }; + + uart7_pins_mx: uart7-0 { + pins1 { + pinmux = ; /* USART7_TX */ + bias-disable; + drive-push-pull; + slew-rate = <0>; + }; + pins2 { + pinmux = ; /* USART7_RX */ + bias-disable; + }; + }; + + uart7_idle_pins_mx: uart7-idle-0 { + pins1 { + pinmux = ; /* USART7_TX */ + }; + pins2 { + pinmux = ; /* USART7_RX */ + bias-disable; + }; + }; + + uart7_sleep_pins_mx: uart7-sleep-0 { + pins { + pinmux = , /* USART7_TX */ + ; /* USART7_RX */ + }; + }; + + uart8_pins_mx: uart8-0 { + pins1 { + pinmux = ; /* USART8_TX */ + bias-disable; + drive-push-pull; + slew-rate = <0>; + }; + pins2 { + pinmux = ; /* USART8_RX */ + bias-disable; + }; + }; + + uart8_idle_pins_mx: uart8-idle-0 { + pins1 { + pinmux = ; /* USART8_TX */ + }; + pins2 { + pinmux = ; /* USART8_RX */ + bias-disable; + }; + }; + + uart8_sleep_pins_mx: uart8-sleep-0 { + pins { + pinmux = , /* USART8_TX */ + ; /* USART8_RX */ + }; + }; + + m_can1_pins_mx: m-can1-0 { + pins1 { + pinmux = ; /* CAN1_TX */ + slew-rate = <0>; + drive-push-pull; + bias-disable; + }; + pins2 { + pinmux = ; /* CAN1_RX */ + bias-disable; + }; + }; + + m_can1_sleep_pins_mx: m_can1-sleep@0 { + pins { + pinmux = , /* CAN1_TX */ + ; /* CAN1_RX */ + }; + }; + + pwm1_pins_mx: pwm1-0 { + pins { + pinmux = ; /* TIM1_CH2 */ + bias-pull-down; + drive-push-pull; + slew-rate = <0>; + }; + }; + + pwm1_sleep_pins_mx: pwm1-sleep-0 { + pins { + pinmux = ; /* TIM1_CH1 */ + }; + }; + + pwm3_pins_mx: pwm3-0 { + pins { + pinmux = ; /* TIM3_CH2 */ + bias-pull-down; + drive-push-pull; + slew-rate = <0>; + }; + }; + + pwm3_sleep_pins_mx: pwm3-sleep-0 { + pins { + pinmux = ; /* TIM3_CH2 */ + }; + }; + + pwm4_pins_mx: pwm4-0 { + pins { + pinmux = ; /* TIM4_CH2 */ + bias-pull-down; + drive-push-pull; + slew-rate = <0>; + }; + }; + + pwm4_sleep_pins_mx: pwm4-sleep-0 { + pins { + pinmux = ; /* TIM4_CH2 */ + }; + }; + + pwm8_pins_mx: pwm8-0 { + pins { + pinmux = ; /* TIM8_CH2 */ + bias-pull-down; + drive-push-pull; + slew-rate = <0>; + }; + }; + + pwm8_sleep_pins_mx: pwm8-sleep-0 { + pins { + pinmux = ; /* TIM8_CH2 */ + }; + }; + + + pwm12_pins_mx: pwm12-0 { + pins { + pinmux = ; /* TIM12_CH2 */ + bias-pull-down; + drive-push-pull; + slew-rate = <0>; + }; + }; + + pwm12_sleep_pins_mx: pwm12-sleep-0 { + pins { + pinmux = ; /* TIM12_CH2 */ + }; + }; + + sdmmc1_pins_mx: sdmmc1_mx-0 { + u-boot,dm-pre-reloc; + pins1 { + u-boot,dm-pre-reloc; + pinmux = , /* SDMMC1_D0 */ + , /* SDMMC1_D1 */ + , /* SDMMC1_D2 */ + , /* SDMMC1_D3 */ + ; /* SDMMC1_CMD */ + bias-disable; + drive-push-pull; + slew-rate = <1>; + }; + pins2 { + u-boot,dm-pre-reloc; + pinmux = ; /* SDMMC1_CK */ + bias-disable; + drive-push-pull; + slew-rate = <2>; + }; + }; + + sdmmc1_opendrain_pins_mx: sdmmc1_opendrain_mx-0 { + u-boot,dm-pre-reloc; + pins1 { + u-boot,dm-pre-reloc; + pinmux = , /* SDMMC1_D0 */ + , /* SDMMC1_D1 */ + , /* SDMMC1_D2 */ + ; /* SDMMC1_D3 */ + bias-disable; + drive-push-pull; + slew-rate = <1>; + }; + pins2 { + u-boot,dm-pre-reloc; + pinmux = ; /* SDMMC1_CK */ + bias-disable; + drive-push-pull; + slew-rate = <2>; + }; + pins3 { + u-boot,dm-pre-reloc; + pinmux = ; /* SDMMC1_CMD */ + bias-disable; + drive-open-drain; + slew-rate = <1>; + }; + }; + + sdmmc1_sleep_pins_mx: sdmmc1_sleep_mx-0 { + u-boot,dm-pre-reloc; + pins { + u-boot,dm-pre-reloc; + pinmux = , /* SDMMC1_D0 */ + , /* SDMMC1_D1 */ + , /* SDMMC1_D2 */ + , /* SDMMC1_D3 */ + , /* SDMMC1_CK */ + ; /* SDMMC1_CMD */ + }; + }; + + uart4_pins_mx: uart4_mx-0 { + u-boot,dm-pre-reloc; + pins1 { + u-boot,dm-pre-reloc; + pinmux = ; /* UART4_RX */ + /* pull-up on rx to avoid floating level */ + bias-pull-up; + }; + pins2 { + u-boot,dm-pre-reloc; + pinmux = ; /* UART4_TX */ + bias-disable; + drive-push-pull; + slew-rate = <0>; + }; + }; + + uart4_sleep_pins_mx: uart4_sleep_mx-0 { + u-boot,dm-pre-reloc; + pins { + u-boot,dm-pre-reloc; + pinmux = , /* UART4_RX */ + ; /* UART4_TX */ + }; + }; +}; + +&pinctrl_z { + u-boot,dm-pre-reloc; + + i2c4_pins_z_mx: i2c4_mx-0 { + u-boot,dm-pre-reloc; + pins { + u-boot,dm-pre-reloc; + pinmux = , /* I2C4_SCL */ + ; /* I2C4_SDA */ + bias-disable; + drive-open-drain; + slew-rate = <0>; + }; + }; + + i2c4_sleep_pins_z_mx: i2c4_sleep_mx-0 { + u-boot,dm-pre-reloc; + pins { + u-boot,dm-pre-reloc; + pinmux = , /* I2C4_SCL */ + ; /* I2C4_SDA */ + }; + }; + + spi6_pins_mx: spi6-0 { + pins1 { + pinmux = , /* SPI6_SCK */ + ; /* SPI6_MOSI */ + bias-disable; + drive-push-pull; + slew-rate = <1>; + }; + + pins2 { + pinmux = ; /* SPI6_MISO */ + bias-disable; + }; + }; + + spi6_sleep_pins_mx: spi6-sleep-0 { + pins { + pinmux = , /* SPI6_SCK */ + , /* SPI6_MISO */ + ; /* SPI6_MOSI */ + }; + }; +}; + +&m4_rproc{ + memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>, + <&vdev0vring1>, <&vdev0buffer>; + mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>; + mbox-names = "vq0", "vq1", "shutdown"; + interrupt-parent = <&exti>; + interrupts = <68 1>; + wakeup-source; + status = "okay"; +}; + +&pwr_regulators { + vdd-supply = <&vdd>; + vdd_3v3_usbfs-supply = <&vdd_usb>; +}; + + +&crc1{ + status = "okay"; +}; + +&cryp1{ + u-boot,dm-pre-reloc; + status = "okay"; +}; + +&dma1{ + status = "okay"; + sram = <&dma_pool>; +}; + +&dma2{ + status = "okay"; + sram = <&dma_pool>; +}; + +&dts{ + status = "okay"; +}; + +&gpu{ + status = "okay"; + contiguous-area = <&gpu_reserved>; +}; + +&hash1{ + u-boot,dm-pre-reloc; + status = "okay"; +}; + +&hsem{ + status = "okay"; +}; + +&i2c1 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&i2c1_pins_mx>; + pinctrl-1 = <&i2c1_pins_sleep_mx>; + i2c-scl-rising-time-ns = <100>; + i2c-scl-falling-time-ns = <7>; + status = "okay"; + /delete-property/dmas; + /delete-property/dma-names; +}; + +&i2c2 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&i2c2_pins_mx>; + pinctrl-1 = <&i2c2_pins_sleep_mx>; + i2c-scl-rising-time-ns = <100>; + i2c-scl-falling-time-ns = <7>; + status = "okay"; + /delete-property/dmas; + /delete-property/dma-names; +}; + +&i2c5 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&i2c5_pins_mx>; + pinctrl-1 = <&i2c5_pins_sleep_mx>; + i2c-scl-rising-time-ns = <100>; + i2c-scl-falling-time-ns = <7>; + status = "okay"; + /delete-property/dmas; + /delete-property/dma-names; +}; + +&i2c4{ + u-boot,dm-pre-reloc; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&i2c4_pins_z_mx>; + pinctrl-1 = <&i2c4_sleep_pins_z_mx>; + status = "okay"; + + i2c-scl-rising-time-ns = <185>; + i2c-scl-falling-time-ns = <20>; + clock-frequency = <400000>; + /delete-property/ dmas; + /delete-property/ dma-names; + + pmic:stpmic@33{ + compatible = "st,stpmic1"; + reg = <0x33>; + interrupts-extended = <&exti_pwr 55 IRQ_TYPE_EDGE_FALLING>; + interrupt-controller; + #interrupt-cells = <2>; + status = "okay"; + + regulators{ + compatible = "st,stpmic1-regulators"; + buck1-supply = <&vin>; + buck2-supply = <&vin>; + buck3-supply = <&vin>; + buck4-supply = <&vin>; + ldo1-supply = <&v3v3>; + ldo2-supply = <&vin>; + ldo3-supply = <&vdd_ddr>; + ldo4-supply = <&vin>; + ldo5-supply = <&vin>; + ldo6-supply = <&v3v3>; + vref_ddr-supply = <&vin>; + boost-supply = <&vin>; + pwr_sw1-supply = <&bst_out>; + pwr_sw2-supply = <&bst_out>; + + vddcore:buck1{ + regulator-name = "vddcore"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1350000>; + regulator-always-on; + regulator-initial-mode = <0>; + regulator-over-current-protection; + }; + + vdd_ddr:buck2{ + regulator-name = "vdd_ddr"; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <1350000>; + regulator-always-on; + regulator-initial-mode = <0>; + regulator-over-current-protection; + }; + + vdd:buck3{ + regulator-name = "vdd"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + st,mask-reset; + regulator-initial-mode = <0>; + regulator-over-current-protection; + }; + + v3v3:buck4{ + regulator-name = "v3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + regulator-over-current-protection; + regulator-initial-mode = <0>; + }; + + v1v8_audio:ldo1{ + regulator-name = "v1v8_audio"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + interrupts = ; + }; + + v3v3_hdmi:ldo2{ + regulator-name = "v3v3_hdmi"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + interrupts = ; + }; + + vtt_ddr:ldo3{ + regulator-name = "vtt_ddr"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <750000>; + regulator-always-on; + regulator-over-current-protection; + }; + + vdd_usb:ldo4{ + regulator-name = "vdd_usb"; + interrupts = ; + }; + + vdda:ldo5{ + regulator-name = "vdda"; + regulator-min-microvolt = <2900000>; + regulator-max-microvolt = <2900000>; + interrupts = ; + regulator-boot-on; + }; + + v1v2_hdmi:ldo6{ + regulator-name = "v1v2_hdmi"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + interrupts = ; + }; + + vref_ddr:vref_ddr{ + regulator-name = "vref_ddr"; + regulator-always-on; + regulator-over-current-protection; + }; + + bst_out:boost{ + regulator-name = "bst_out"; + interrupts = ; + }; + + vbus_otg:pwr_sw1{ + regulator-name = "vbus_otg"; + interrupts = ; + }; + + vbus_sw:pwr_sw2{ + regulator-name = "vbus_sw"; + interrupts = ; + regulator-active-discharge = <1>; + }; + }; + + onkey{ + compatible = "st,stpmic1-onkey"; + interrupts = , ; + interrupt-names = "onkey-falling", "onkey-rising"; + power-off-time-sec = <10>; + status = "okay"; + }; + + watchdog { + compatible = "st,stpmic1-wdt"; + status = "disabled"; + }; + }; + eeprom@50 { + compatible = "atmel,24c02"; + reg = <0x50>; + pagesize = <16>; + }; +}; + +&ipcc{ + status = "okay"; +}; + +&iwdg2{ + status = "okay"; + timeout-sec = <32>; +}; + +&mdma1{ + status = "okay"; +}; + +&rcc{ + u-boot,dm-pre-reloc; + status = "okay"; +}; + +&rng1{ + status = "okay"; +}; + +&rtc{ + status = "okay"; +}; + +&sdmmc1{ + u-boot,dm-pre-reloc; + pinctrl-names = "default", "opendrain", "sleep"; + pinctrl-0 = <&sdmmc1_pins_mx>; + pinctrl-1 = <&sdmmc1_opendrain_pins_mx>; + pinctrl-2 = <&sdmmc1_sleep_pins_mx>; + status = "okay"; + + cd-gpios = <&gpiog 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + disable-wp; + st,neg-edge; + bus-width = <4>; + vmmc-supply = <&v3v3>; +}; + +&tamp{ + status = "okay"; +}; + +&uart4{ + u-boot,dm-pre-reloc; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart4_pins_mx>; + pinctrl-1 = <&uart4_sleep_pins_mx>; + status = "okay"; + + /delete-property/ dmas; + /delete-property/ dma-names; +}; + +&usbh_ehci{ + status = "okay"; + phys = <&usbphyc_port0>; +}; + +&usbh_ohci{ + status = "okay"; +}; + +&usbotg_hs{ + u-boot,dm-pre-reloc; + status = "okay"; + phys = <&usbphyc_port1 0>; + phy-names = "usb2-phy"; +}; + +&usbphyc{ + u-boot,dm-pre-reloc; + status = "okay"; +}; + +&usbphyc_port0{ + u-boot,dm-pre-reloc; + status = "okay"; + phy-supply = <&vdd_usb>; + st,phy-tuning = <&usb_phy_tuning>; +}; + +&usbphyc_port1{ + u-boot,dm-pre-reloc; + status = "okay"; + phy-supply = <&vdd_usb>; + st,phy-tuning = <&usb_phy_tuning>; +}; + +&adc { + vdd-supply = <&vdd>; + vdda-supply = <&vdda>; + vref-supply = <&vdda>; + status = "okay"; + adc1: adc@0 { + st,min-sample-time-nsecs = <5000>; + st,adc-channels = <0 1>; + status = "okay"; + }; + + adc2: adc@100 { + status = "okay"; + }; + + adc_temp: temp { + status = "okay"; + }; +}; + +&usbh_ohci{ + phys = <&usbphyc_port0>; +}; + +&cpu0{ + cpu-supply = <&vddcore>; +}; + +&cpu1{ + cpu-supply = <&vddcore>; +}; + +&sram{ + dma_pool:dma_pool@0{ + reg = <0x50000 0x10000>; + pool; + }; +}; + +&spi2 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&spi2_pins_mx>; + pinctrl-1 = <&spi2_sleep_pins_mx>; + cs-gpios = <&gpioi 0 0>; + status = "okay"; + + spidev2: spidev2@0{ + compatible = "rohm,dh2228fv"; + spi-max-frequency = <30000000>; + reg = <0>; + }; +}; + +&spi4 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&spi4_pins_mx>; + pinctrl-1 = <&spi4_sleep_pins_mx>; + cs-gpios = <&gpioe 11 0>; + status = "okay"; + + spidev4: spidev4@0{ + compatible = "rohm,dh2228fv"; + spi-max-frequency = <30000000>; + reg = <0>; + }; +}; + +&spi6 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&spi6_pins_mx>; + pinctrl-1 = <&spi6_sleep_pins_mx>; + cs-gpios = <&gpioz 3 0>; + status = "okay"; + + spidev6: spidev6@0{ + compatible = "rohm,dh2228fv"; + spi-max-frequency = <30000000>; + reg = <0>; + }; +}; + +&usart2 { + pinctrl-names = "default", "sleep", "idle"; + pinctrl-0 = <&usart2_pins_mx>; + pinctrl-1 = <&usart2_sleep_pins_mx>; + pinctrl-2 = <&usart2_idle_pins_mx>; + status = "okay"; +}; + +&uart5 { + pinctrl-names = "default", "sleep", "idle"; + pinctrl-0 = <&uart5_pins_mx>; + pinctrl-1 = <&uart5_sleep_pins_mx>; + pinctrl-2 = <&uart5_idle_pins_mx>; + status = "okay"; +}; + +&uart7 { + pinctrl-names = "default", "sleep", "idle"; + pinctrl-0 = <&uart7_pins_mx>; + pinctrl-1 = <&uart7_sleep_pins_mx>; + pinctrl-2 = <&uart7_idle_pins_mx>; + status = "okay"; +}; + +&uart8 { + pinctrl-names = "default", "sleep", "idle"; + pinctrl-0 = <&uart8_pins_mx>; + pinctrl-1 = <&uart8_sleep_pins_mx>; + pinctrl-2 = <&uart8_idle_pins_mx>; + status = "okay"; +}; + +&m_can1 { + pinctrl-names = "default"; + pinctrl-0 = <&m_can1_pins_mx>; + status = "okay"; + can-transceiver { + max-bitrate = <5000000>; + }; +}; + +&timers1 { + status = "okay"; + /* spare dmas for other usage */ + /delete-property/dmas; + /delete-property/dma-names; + pwm1: pwm { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&pwm1_pins_mx>; + pinctrl-1 = <&pwm1_sleep_pins_mx>; + status = "okay"; + }; +}; + +&timers3 { + status = "okay"; + /* spare dmas for other usage */ + /delete-property/dmas; + /delete-property/dma-names; + pwm3: pwm { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&pwm3_pins_mx>; + pinctrl-1 = <&pwm3_sleep_pins_mx>; + status = "okay"; + }; +}; + +&timers4 { + status = "okay"; + /* spare dmas for other usage */ + /delete-property/dmas; + /delete-property/dma-names; + pwm4: pwm { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&pwm4_pins_mx>; + pinctrl-1 = <&pwm4_sleep_pins_mx>; + status = "okay"; + }; +}; + +&timers8 { + status = "okay"; + /* spare dmas for other usage */ + /delete-property/dmas; + /delete-property/dma-names; + pwm8: pwm { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&pwm8_pins_mx>; + pinctrl-1 = <&pwm8_sleep_pins_mx>; + status = "okay"; + }; +}; + +&timers12 { + status = "okay"; + /* spare dmas for other usage */ + /delete-property/dmas; + /delete-property/dma-names; + pwm12: pwm { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&pwm12_pins_mx>; + pinctrl-1 = <&pwm12_sleep_pins_mx>; + status = "okay"; + }; +}; diff --git a/board/octavo/osd32mp1-brk/overlay/boot/extlinux/extlinux.conf b/board/octavo/osd32mp1-brk/overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..a1ca2e58d6c --- /dev/null +++ b/board/octavo/osd32mp1-brk/overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label osd32mp1-brk-buildroot + kernel /boot/zImage + devicetree /boot/stm32mp157c-osd32mp1-brk.dtb + append root=/dev/mmcblk0p4 rootwait diff --git a/board/octavo/osd32mp1-brk/patches/arm-trusted-firmware/0001-feat-build-add-support-for-new-binutils-versions.patch b/board/octavo/osd32mp1-brk/patches/arm-trusted-firmware/0001-feat-build-add-support-for-new-binutils-versions.patch new file mode 100644 index 00000000000..335c18553ac --- /dev/null +++ b/board/octavo/osd32mp1-brk/patches/arm-trusted-firmware/0001-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1,61 @@ +From 0f75b03c008eacb9818af3a56dc088e72a623d17 Mon Sep 17 00:00:00 2001 +From: Marco Felsch +Date: Wed, 9 Nov 2022 12:59:09 +0100 +Subject: [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 +Signed-off-by: Heiko Thiery +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +--- + Makefile | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1ddb7b844..470956b19 100644 +--- a/Makefile ++++ b/Makefile +@@ -416,6 +416,8 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + # LD = armlink + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 +@@ -442,7 +444,10 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH))) + + # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other + else +-TF_LDFLAGS += --fatal-warnings -O1 ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 + TF_LDFLAGS += --gc-sections + # ld.lld doesn't recognize the errata flags, + # therefore don't add those in that case +-- +2.30.2 + diff --git a/board/octavo/osd32mp1-brk/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/octavo/osd32mp1-brk/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..2ba1cc09721 --- /dev/null +++ b/board/octavo/osd32mp1-brk/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 83d744c155097f27682a06fdba5f7e976fde6edf61474d40a5a44e71862a3822 arm-trusted-firmware-v2.4-stm32mp-r1-git4.tar.gz diff --git a/board/octavo/osd32mp1-brk/patches/linux/0001-ata-ahci-fix-enum-constants-for-gcc-13.patch b/board/octavo/osd32mp1-brk/patches/linux/0001-ata-ahci-fix-enum-constants-for-gcc-13.patch new file mode 100644 index 00000000000..fe5402e6397 --- /dev/null +++ b/board/octavo/osd32mp1-brk/patches/linux/0001-ata-ahci-fix-enum-constants-for-gcc-13.patch @@ -0,0 +1,357 @@ +From 201719b670b0861f5846ebcda1ad3e4626ae0a33 Mon Sep 17 00:00:00 2001 +From: Arnd Bergmann +Date: Sat, 3 Dec 2022 11:54:25 +0100 +Subject: [PATCH] ata: ahci: fix enum constants for gcc-13 + +commit f07788079f515ca4a681c5f595bdad19cfbd7b1d upstream. + +gcc-13 slightly changes the type of constant expressions that are defined +in an enum, which triggers a compile time sanity check in libata: + +linux/drivers/ata/libahci.c: In function 'ahci_led_store': +linux/include/linux/compiler_types.h:357:45: error: call to '__compiletime_assert_302' declared with attribute error: BUILD_BUG_ON failed: sizeof(_s) > sizeof(long) +357 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) + +The new behavior is that sizeof() returns the same value for the +constant as it does for the enum type, which is generally more sensible +and consistent. + +The problem in libata is that it contains a single enum definition for +lots of unrelated constants, some of which are large positive (unsigned) +integers like 0xffffffff, while others like (1<<31) are interpreted as +negative integers, and this forces the enum type to become 64 bit wide +even though most constants would still fit into a signed 32-bit 'int'. + +Fix this by changing the entire enum definition to use BIT(x) in place +of (1< +Cc: linux-ide@vger.kernel.org +Cc: Damien Le Moal +Cc: stable@vger.kernel.org +Cc: Randy Dunlap +Signed-off-by: Arnd Bergmann +Tested-by: Luis Machado +Signed-off-by: Damien Le Moal +[Backport to linux-4.19.y] +Signed-off-by: Paul Barker +Signed-off-by: Greg Kroah-Hartman +Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4c3ddc06cedb62f2904e58fd95170bf206bee149 +--- + drivers/ata/ahci.h | 232 +++++++++++++++++++++++---------------------- + 1 file changed, 117 insertions(+), 115 deletions(-) + +diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h +index d1f284f0c83d..de1bc374e1b6 100644 +--- a/drivers/ata/ahci.h ++++ b/drivers/ata/ahci.h +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + /* Enclosure Management Control */ + #define EM_CTRL_MSG_TYPE 0x000f0000 +@@ -54,12 +55,12 @@ enum { + AHCI_PORT_PRIV_FBS_DMA_SZ = AHCI_CMD_SLOT_SZ + + AHCI_CMD_TBL_AR_SZ + + (AHCI_RX_FIS_SZ * 16), +- AHCI_IRQ_ON_SG = (1 << 31), +- AHCI_CMD_ATAPI = (1 << 5), +- AHCI_CMD_WRITE = (1 << 6), +- AHCI_CMD_PREFETCH = (1 << 7), +- AHCI_CMD_RESET = (1 << 8), +- AHCI_CMD_CLR_BUSY = (1 << 10), ++ AHCI_IRQ_ON_SG = BIT(31), ++ AHCI_CMD_ATAPI = BIT(5), ++ AHCI_CMD_WRITE = BIT(6), ++ AHCI_CMD_PREFETCH = BIT(7), ++ AHCI_CMD_RESET = BIT(8), ++ AHCI_CMD_CLR_BUSY = BIT(10), + + RX_FIS_PIO_SETUP = 0x20, /* offset of PIO Setup FIS data */ + RX_FIS_D2H_REG = 0x40, /* offset of D2H Register FIS data */ +@@ -77,37 +78,37 @@ enum { + HOST_CAP2 = 0x24, /* host capabilities, extended */ + + /* HOST_CTL bits */ +- HOST_RESET = (1 << 0), /* reset controller; self-clear */ +- HOST_IRQ_EN = (1 << 1), /* global IRQ enable */ +- HOST_MRSM = (1 << 2), /* MSI Revert to Single Message */ +- HOST_AHCI_EN = (1 << 31), /* AHCI enabled */ ++ HOST_RESET = BIT(0), /* reset controller; self-clear */ ++ HOST_IRQ_EN = BIT(1), /* global IRQ enable */ ++ HOST_MRSM = BIT(2), /* MSI Revert to Single Message */ ++ HOST_AHCI_EN = BIT(31), /* AHCI enabled */ + + /* HOST_CAP bits */ +- HOST_CAP_SXS = (1 << 5), /* Supports External SATA */ +- HOST_CAP_EMS = (1 << 6), /* Enclosure Management support */ +- HOST_CAP_CCC = (1 << 7), /* Command Completion Coalescing */ +- HOST_CAP_PART = (1 << 13), /* Partial state capable */ +- HOST_CAP_SSC = (1 << 14), /* Slumber state capable */ +- HOST_CAP_PIO_MULTI = (1 << 15), /* PIO multiple DRQ support */ +- HOST_CAP_FBS = (1 << 16), /* FIS-based switching support */ +- HOST_CAP_PMP = (1 << 17), /* Port Multiplier support */ +- HOST_CAP_ONLY = (1 << 18), /* Supports AHCI mode only */ +- HOST_CAP_CLO = (1 << 24), /* Command List Override support */ +- HOST_CAP_LED = (1 << 25), /* Supports activity LED */ +- HOST_CAP_ALPM = (1 << 26), /* Aggressive Link PM support */ +- HOST_CAP_SSS = (1 << 27), /* Staggered Spin-up */ +- HOST_CAP_MPS = (1 << 28), /* Mechanical presence switch */ +- HOST_CAP_SNTF = (1 << 29), /* SNotification register */ +- HOST_CAP_NCQ = (1 << 30), /* Native Command Queueing */ +- HOST_CAP_64 = (1 << 31), /* PCI DAC (64-bit DMA) support */ ++ HOST_CAP_SXS = BIT(5), /* Supports External SATA */ ++ HOST_CAP_EMS = BIT(6), /* Enclosure Management support */ ++ HOST_CAP_CCC = BIT(7), /* Command Completion Coalescing */ ++ HOST_CAP_PART = BIT(13), /* Partial state capable */ ++ HOST_CAP_SSC = BIT(14), /* Slumber state capable */ ++ HOST_CAP_PIO_MULTI = BIT(15), /* PIO multiple DRQ support */ ++ HOST_CAP_FBS = BIT(16), /* FIS-based switching support */ ++ HOST_CAP_PMP = BIT(17), /* Port Multiplier support */ ++ HOST_CAP_ONLY = BIT(18), /* Supports AHCI mode only */ ++ HOST_CAP_CLO = BIT(24), /* Command List Override support */ ++ HOST_CAP_LED = BIT(25), /* Supports activity LED */ ++ HOST_CAP_ALPM = BIT(26), /* Aggressive Link PM support */ ++ HOST_CAP_SSS = BIT(27), /* Staggered Spin-up */ ++ HOST_CAP_MPS = BIT(28), /* Mechanical presence switch */ ++ HOST_CAP_SNTF = BIT(29), /* SNotification register */ ++ HOST_CAP_NCQ = BIT(30), /* Native Command Queueing */ ++ HOST_CAP_64 = BIT(31), /* PCI DAC (64-bit DMA) support */ + + /* HOST_CAP2 bits */ +- HOST_CAP2_BOH = (1 << 0), /* BIOS/OS handoff supported */ +- HOST_CAP2_NVMHCI = (1 << 1), /* NVMHCI supported */ +- HOST_CAP2_APST = (1 << 2), /* Automatic partial to slumber */ +- HOST_CAP2_SDS = (1 << 3), /* Support device sleep */ +- HOST_CAP2_SADM = (1 << 4), /* Support aggressive DevSlp */ +- HOST_CAP2_DESO = (1 << 5), /* DevSlp from slumber only */ ++ HOST_CAP2_BOH = BIT(0), /* BIOS/OS handoff supported */ ++ HOST_CAP2_NVMHCI = BIT(1), /* NVMHCI supported */ ++ HOST_CAP2_APST = BIT(2), /* Automatic partial to slumber */ ++ HOST_CAP2_SDS = BIT(3), /* Support device sleep */ ++ HOST_CAP2_SADM = BIT(4), /* Support aggressive DevSlp */ ++ HOST_CAP2_DESO = BIT(5), /* DevSlp from slumber only */ + + /* registers for each SATA port */ + PORT_LST_ADDR = 0x00, /* command list DMA addr */ +@@ -129,24 +130,25 @@ enum { + PORT_DEVSLP = 0x44, /* device sleep */ + + /* PORT_IRQ_{STAT,MASK} bits */ +- PORT_IRQ_COLD_PRES = (1 << 31), /* cold presence detect */ +- PORT_IRQ_TF_ERR = (1 << 30), /* task file error */ +- PORT_IRQ_HBUS_ERR = (1 << 29), /* host bus fatal error */ +- PORT_IRQ_HBUS_DATA_ERR = (1 << 28), /* host bus data error */ +- PORT_IRQ_IF_ERR = (1 << 27), /* interface fatal error */ +- PORT_IRQ_IF_NONFATAL = (1 << 26), /* interface non-fatal error */ +- PORT_IRQ_OVERFLOW = (1 << 24), /* xfer exhausted available S/G */ +- PORT_IRQ_BAD_PMP = (1 << 23), /* incorrect port multiplier */ +- +- PORT_IRQ_PHYRDY = (1 << 22), /* PhyRdy changed */ +- PORT_IRQ_DEV_ILCK = (1 << 7), /* device interlock */ +- PORT_IRQ_CONNECT = (1 << 6), /* port connect change status */ +- PORT_IRQ_SG_DONE = (1 << 5), /* descriptor processed */ +- PORT_IRQ_UNK_FIS = (1 << 4), /* unknown FIS rx'd */ +- PORT_IRQ_SDB_FIS = (1 << 3), /* Set Device Bits FIS rx'd */ +- PORT_IRQ_DMAS_FIS = (1 << 2), /* DMA Setup FIS rx'd */ +- PORT_IRQ_PIOS_FIS = (1 << 1), /* PIO Setup FIS rx'd */ +- PORT_IRQ_D2H_REG_FIS = (1 << 0), /* D2H Register FIS rx'd */ ++ PORT_IRQ_COLD_PRES = BIT(31), /* cold presence detect */ ++ PORT_IRQ_TF_ERR = BIT(30), /* task file error */ ++ PORT_IRQ_HBUS_ERR = BIT(29), /* host bus fatal error */ ++ PORT_IRQ_HBUS_DATA_ERR = BIT(28), /* host bus data error */ ++ PORT_IRQ_IF_ERR = BIT(27), /* interface fatal error */ ++ PORT_IRQ_IF_NONFATAL = BIT(26), /* interface non-fatal error */ ++ PORT_IRQ_OVERFLOW = BIT(24), /* xfer exhausted available S/G */ ++ PORT_IRQ_BAD_PMP = BIT(23), /* incorrect port multiplier */ ++ ++ PORT_IRQ_PHYRDY = BIT(22), /* PhyRdy changed */ ++ PORT_IRQ_DEV_ILCK = BIT(7), /* device interlock */ ++ PORT_IRQ_DMPS = BIT(7), /* mechanical presence status */ ++ PORT_IRQ_CONNECT = BIT(6), /* port connect change status */ ++ PORT_IRQ_SG_DONE = BIT(5), /* descriptor processed */ ++ PORT_IRQ_UNK_FIS = BIT(4), /* unknown FIS rx'd */ ++ PORT_IRQ_SDB_FIS = BIT(3), /* Set Device Bits FIS rx'd */ ++ PORT_IRQ_DMAS_FIS = BIT(2), /* DMA Setup FIS rx'd */ ++ PORT_IRQ_PIOS_FIS = BIT(1), /* PIO Setup FIS rx'd */ ++ PORT_IRQ_D2H_REG_FIS = BIT(0), /* D2H Register FIS rx'd */ + + PORT_IRQ_FREEZE = PORT_IRQ_HBUS_ERR | + PORT_IRQ_IF_ERR | +@@ -162,34 +164,34 @@ enum { + PORT_IRQ_PIOS_FIS | PORT_IRQ_D2H_REG_FIS, + + /* PORT_CMD bits */ +- PORT_CMD_ASP = (1 << 27), /* Aggressive Slumber/Partial */ +- PORT_CMD_ALPE = (1 << 26), /* Aggressive Link PM enable */ +- PORT_CMD_ATAPI = (1 << 24), /* Device is ATAPI */ +- PORT_CMD_FBSCP = (1 << 22), /* FBS Capable Port */ +- PORT_CMD_ESP = (1 << 21), /* External Sata Port */ +- PORT_CMD_HPCP = (1 << 18), /* HotPlug Capable Port */ +- PORT_CMD_PMP = (1 << 17), /* PMP attached */ +- PORT_CMD_LIST_ON = (1 << 15), /* cmd list DMA engine running */ +- PORT_CMD_FIS_ON = (1 << 14), /* FIS DMA engine running */ +- PORT_CMD_FIS_RX = (1 << 4), /* Enable FIS receive DMA engine */ +- PORT_CMD_CLO = (1 << 3), /* Command list override */ +- PORT_CMD_POWER_ON = (1 << 2), /* Power up device */ +- PORT_CMD_SPIN_UP = (1 << 1), /* Spin up device */ +- PORT_CMD_START = (1 << 0), /* Enable port DMA engine */ +- +- PORT_CMD_ICC_MASK = (0xf << 28), /* i/f ICC state mask */ +- PORT_CMD_ICC_ACTIVE = (0x1 << 28), /* Put i/f in active state */ +- PORT_CMD_ICC_PARTIAL = (0x2 << 28), /* Put i/f in partial state */ +- PORT_CMD_ICC_SLUMBER = (0x6 << 28), /* Put i/f in slumber state */ ++ PORT_CMD_ASP = BIT(27), /* Aggressive Slumber/Partial */ ++ PORT_CMD_ALPE = BIT(26), /* Aggressive Link PM enable */ ++ PORT_CMD_ATAPI = BIT(24), /* Device is ATAPI */ ++ PORT_CMD_FBSCP = BIT(22), /* FBS Capable Port */ ++ PORT_CMD_ESP = BIT(21), /* External Sata Port */ ++ PORT_CMD_HPCP = BIT(18), /* HotPlug Capable Port */ ++ PORT_CMD_PMP = BIT(17), /* PMP attached */ ++ PORT_CMD_LIST_ON = BIT(15), /* cmd list DMA engine running */ ++ PORT_CMD_FIS_ON = BIT(14), /* FIS DMA engine running */ ++ PORT_CMD_FIS_RX = BIT(4), /* Enable FIS receive DMA engine */ ++ PORT_CMD_CLO = BIT(3), /* Command list override */ ++ PORT_CMD_POWER_ON = BIT(2), /* Power up device */ ++ PORT_CMD_SPIN_UP = BIT(1), /* Spin up device */ ++ PORT_CMD_START = BIT(0), /* Enable port DMA engine */ ++ ++ PORT_CMD_ICC_MASK = (0xfu << 28), /* i/f ICC state mask */ ++ PORT_CMD_ICC_ACTIVE = (0x1u << 28), /* Put i/f in active state */ ++ PORT_CMD_ICC_PARTIAL = (0x2u << 28), /* Put i/f in partial state */ ++ PORT_CMD_ICC_SLUMBER = (0x6u << 28), /* Put i/f in slumber state */ + + /* PORT_FBS bits */ + PORT_FBS_DWE_OFFSET = 16, /* FBS device with error offset */ + PORT_FBS_ADO_OFFSET = 12, /* FBS active dev optimization offset */ + PORT_FBS_DEV_OFFSET = 8, /* FBS device to issue offset */ + PORT_FBS_DEV_MASK = (0xf << PORT_FBS_DEV_OFFSET), /* FBS.DEV */ +- PORT_FBS_SDE = (1 << 2), /* FBS single device error */ +- PORT_FBS_DEC = (1 << 1), /* FBS device error clear */ +- PORT_FBS_EN = (1 << 0), /* Enable FBS */ ++ PORT_FBS_SDE = BIT(2), /* FBS single device error */ ++ PORT_FBS_DEC = BIT(1), /* FBS device error clear */ ++ PORT_FBS_EN = BIT(0), /* Enable FBS */ + + /* PORT_DEVSLP bits */ + PORT_DEVSLP_DM_OFFSET = 25, /* DITO multiplier offset */ +@@ -197,45 +199,45 @@ enum { + PORT_DEVSLP_DITO_OFFSET = 15, /* DITO offset */ + PORT_DEVSLP_MDAT_OFFSET = 10, /* Minimum assertion time */ + PORT_DEVSLP_DETO_OFFSET = 2, /* DevSlp exit timeout */ +- PORT_DEVSLP_DSP = (1 << 1), /* DevSlp present */ +- PORT_DEVSLP_ADSE = (1 << 0), /* Aggressive DevSlp enable */ ++ PORT_DEVSLP_DSP = BIT(1), /* DevSlp present */ ++ PORT_DEVSLP_ADSE = BIT(0), /* Aggressive DevSlp enable */ + + /* hpriv->flags bits */ + + #define AHCI_HFLAGS(flags) .private_data = (void *)(flags) + +- AHCI_HFLAG_NO_NCQ = (1 << 0), +- AHCI_HFLAG_IGN_IRQ_IF_ERR = (1 << 1), /* ignore IRQ_IF_ERR */ +- AHCI_HFLAG_IGN_SERR_INTERNAL = (1 << 2), /* ignore SERR_INTERNAL */ +- AHCI_HFLAG_32BIT_ONLY = (1 << 3), /* force 32bit */ +- AHCI_HFLAG_MV_PATA = (1 << 4), /* PATA port */ +- AHCI_HFLAG_NO_MSI = (1 << 5), /* no PCI MSI */ +- AHCI_HFLAG_NO_PMP = (1 << 6), /* no PMP */ +- AHCI_HFLAG_SECT255 = (1 << 8), /* max 255 sectors */ +- AHCI_HFLAG_YES_NCQ = (1 << 9), /* force NCQ cap on */ +- AHCI_HFLAG_NO_SUSPEND = (1 << 10), /* don't suspend */ +- AHCI_HFLAG_SRST_TOUT_IS_OFFLINE = (1 << 11), /* treat SRST timeout as +- link offline */ +- AHCI_HFLAG_NO_SNTF = (1 << 12), /* no sntf */ +- AHCI_HFLAG_NO_FPDMA_AA = (1 << 13), /* no FPDMA AA */ +- AHCI_HFLAG_YES_FBS = (1 << 14), /* force FBS cap on */ +- AHCI_HFLAG_DELAY_ENGINE = (1 << 15), /* do not start engine on +- port start (wait until +- error-handling stage) */ +- AHCI_HFLAG_NO_DEVSLP = (1 << 17), /* no device sleep */ +- AHCI_HFLAG_NO_FBS = (1 << 18), /* no FBS */ ++ AHCI_HFLAG_NO_NCQ = BIT(0), ++ AHCI_HFLAG_IGN_IRQ_IF_ERR = BIT(1), /* ignore IRQ_IF_ERR */ ++ AHCI_HFLAG_IGN_SERR_INTERNAL = BIT(2), /* ignore SERR_INTERNAL */ ++ AHCI_HFLAG_32BIT_ONLY = BIT(3), /* force 32bit */ ++ AHCI_HFLAG_MV_PATA = BIT(4), /* PATA port */ ++ AHCI_HFLAG_NO_MSI = BIT(5), /* no PCI MSI */ ++ AHCI_HFLAG_NO_PMP = BIT(6), /* no PMP */ ++ AHCI_HFLAG_SECT255 = BIT(8), /* max 255 sectors */ ++ AHCI_HFLAG_YES_NCQ = BIT(9), /* force NCQ cap on */ ++ AHCI_HFLAG_NO_SUSPEND = BIT(10), /* don't suspend */ ++ AHCI_HFLAG_SRST_TOUT_IS_OFFLINE = BIT(11), /* treat SRST timeout as ++ link offline */ ++ AHCI_HFLAG_NO_SNTF = BIT(12), /* no sntf */ ++ AHCI_HFLAG_NO_FPDMA_AA = BIT(13), /* no FPDMA AA */ ++ AHCI_HFLAG_YES_FBS = BIT(14), /* force FBS cap on */ ++ AHCI_HFLAG_DELAY_ENGINE = BIT(15), /* do not start engine on ++ port start (wait until ++ error-handling stage) */ ++ AHCI_HFLAG_NO_DEVSLP = BIT(17), /* no device sleep */ ++ AHCI_HFLAG_NO_FBS = BIT(18), /* no FBS */ + + #ifdef CONFIG_PCI_MSI +- AHCI_HFLAG_MULTI_MSI = (1 << 20), /* per-port MSI(-X) */ ++ AHCI_HFLAG_MULTI_MSI = BIT(20), /* per-port MSI(-X) */ + #else + /* compile out MSI infrastructure */ + AHCI_HFLAG_MULTI_MSI = 0, + #endif +- AHCI_HFLAG_WAKE_BEFORE_STOP = (1 << 22), /* wake before DMA stop */ +- AHCI_HFLAG_YES_ALPM = (1 << 23), /* force ALPM cap on */ +- AHCI_HFLAG_NO_WRITE_TO_RO = (1 << 24), /* don't write to read +- only registers */ +- AHCI_HFLAG_IS_MOBILE = (1 << 25), /* mobile chipset, use ++ AHCI_HFLAG_WAKE_BEFORE_STOP = BIT(22), /* wake before DMA stop */ ++ AHCI_HFLAG_YES_ALPM = BIT(23), /* force ALPM cap on */ ++ AHCI_HFLAG_NO_WRITE_TO_RO = BIT(24), /* don't write to read ++ only registers */ ++ AHCI_HFLAG_IS_MOBILE = BIT(25), /* mobile chipset, use + SATA_MOBILE_LPM_POLICY + as default lpm_policy */ + AHCI_HFLAG_SUSPEND_PHYS = (1 << 26), /* handle PHYs during +@@ -258,22 +260,22 @@ enum { + EM_MAX_RETRY = 5, + + /* em_ctl bits */ +- EM_CTL_RST = (1 << 9), /* Reset */ +- EM_CTL_TM = (1 << 8), /* Transmit Message */ +- EM_CTL_MR = (1 << 0), /* Message Received */ +- EM_CTL_ALHD = (1 << 26), /* Activity LED */ +- EM_CTL_XMT = (1 << 25), /* Transmit Only */ +- EM_CTL_SMB = (1 << 24), /* Single Message Buffer */ +- EM_CTL_SGPIO = (1 << 19), /* SGPIO messages supported */ +- EM_CTL_SES = (1 << 18), /* SES-2 messages supported */ +- EM_CTL_SAFTE = (1 << 17), /* SAF-TE messages supported */ +- EM_CTL_LED = (1 << 16), /* LED messages supported */ ++ EM_CTL_RST = BIT(9), /* Reset */ ++ EM_CTL_TM = BIT(8), /* Transmit Message */ ++ EM_CTL_MR = BIT(0), /* Message Received */ ++ EM_CTL_ALHD = BIT(26), /* Activity LED */ ++ EM_CTL_XMT = BIT(25), /* Transmit Only */ ++ EM_CTL_SMB = BIT(24), /* Single Message Buffer */ ++ EM_CTL_SGPIO = BIT(19), /* SGPIO messages supported */ ++ EM_CTL_SES = BIT(18), /* SES-2 messages supported */ ++ EM_CTL_SAFTE = BIT(17), /* SAF-TE messages supported */ ++ EM_CTL_LED = BIT(16), /* LED messages supported */ + + /* em message type */ +- EM_MSG_TYPE_LED = (1 << 0), /* LED */ +- EM_MSG_TYPE_SAFTE = (1 << 1), /* SAF-TE */ +- EM_MSG_TYPE_SES2 = (1 << 2), /* SES-2 */ +- EM_MSG_TYPE_SGPIO = (1 << 3), /* SGPIO */ ++ EM_MSG_TYPE_LED = BIT(0), /* LED */ ++ EM_MSG_TYPE_SAFTE = BIT(1), /* SAF-TE */ ++ EM_MSG_TYPE_SES2 = BIT(2), /* SES-2 */ ++ EM_MSG_TYPE_SGPIO = BIT(3), /* SGPIO */ + }; + + struct ahci_cmd_hdr { +-- +2.34.1 + diff --git a/board/octavo/osd32mp1-brk/patches/linux/linux.hash b/board/octavo/osd32mp1-brk/patches/linux/linux.hash new file mode 100644 index 00000000000..ec9218e3888 --- /dev/null +++ b/board/octavo/osd32mp1-brk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 c2e22c6d13e5970839231ca29cfbe3bb66ef4d4d1cd3c2b5afb61f591f89d71a linux-v5.10-stm32mp-r2.1-git4.tar.gz diff --git a/board/octavo/osd32mp1-brk/patches/uboot/0001-Add-OSD32MP1-BRK-device-tree-support.patch b/board/octavo/osd32mp1-brk/patches/uboot/0001-Add-OSD32MP1-BRK-device-tree-support.patch new file mode 100644 index 00000000000..3e4b6de2359 --- /dev/null +++ b/board/octavo/osd32mp1-brk/patches/uboot/0001-Add-OSD32MP1-BRK-device-tree-support.patch @@ -0,0 +1,1509 @@ +From 4731b1f73e0bfe3e3539f6b7c17e0f5366996a98 Mon Sep 17 00:00:00 2001 +From: "neeraj.dantu" +Date: Sun, 21 Nov 2021 23:26:05 -0600 +Subject: [PATCH 1/2] Add OSD32MP1-BRK device tree support + +Signed-off-by: Kory Maincent +--- + arch/arm/dts/Makefile | 3 +- + .../dts/stm32mp15-osd32mp1-ddr3-1x4Gb.dtsi | 119 ++ + .../dts/stm32mp157c-osd32mp1-brk-u-boot.dtsi | 219 ++++ + arch/arm/dts/stm32mp157c-osd32mp1-brk.dts | 1120 +++++++++++++++++ + 4 files changed, 1460 insertions(+), 1 deletion(-) + create mode 100644 arch/arm/dts/stm32mp15-osd32mp1-ddr3-1x4Gb.dtsi + create mode 100644 arch/arm/dts/stm32mp157c-osd32mp1-brk-u-boot.dtsi + create mode 100644 arch/arm/dts/stm32mp157c-osd32mp1-brk.dts + +diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile +index 83677c3d4f..6e67c6d18a 100644 +--- a/arch/arm/dts/Makefile ++++ b/arch/arm/dts/Makefile +@@ -959,7 +959,8 @@ dtb-$(CONFIG_STM32MP15x) += \ + stm32mp157f-ed1.dtb \ + stm32mp157f-ev1.dtb \ + stm32mp15xx-dhcom-pdk2.dtb \ +- stm32mp15xx-dhcor-avenger96.dtb ++ stm32mp15xx-dhcor-avenger96.dtb \ ++ stm32mp157c-osd32mp1-brk.dtb + + dtb-$(CONFIG_SOC_K3_AM6) += k3-am654-base-board.dtb k3-am654-r5-base-board.dtb + dtb-$(CONFIG_SOC_K3_J721E) += k3-j721e-common-proc-board.dtb \ +diff --git a/arch/arm/dts/stm32mp15-osd32mp1-ddr3-1x4Gb.dtsi b/arch/arm/dts/stm32mp15-osd32mp1-ddr3-1x4Gb.dtsi +new file mode 100644 +index 0000000000..362f3281b8 +--- /dev/null ++++ b/arch/arm/dts/stm32mp15-osd32mp1-ddr3-1x4Gb.dtsi +@@ -0,0 +1,119 @@ ++/* ++ * Copyright (C) 2015-2018, STMicroelectronics - All Rights Reserved ++ * ++ * SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause ++ * ++ */ ++ ++/* ++ * File generated by STMicroelectronics STM32CubeMX DDR Tool for MPUs ++ * DDR type: DDR3 / DDR3L ++ * DDR width: 16bits ++ * DDR density: 4Gb ++ * System frequency: 533000Khz ++ * Relaxed Timing Mode: false ++ * Address mapping type: RBC ++ * ++ * Save Date: 2020.08.20, save Time: 10:57:25 ++ */ ++ ++#define DDR_MEM_NAME "DDR3-DDR3L 16bits 533000Khz" ++#define DDR_MEM_SPEED 533000 ++#define DDR_MEM_SIZE 0x20000000 ++ ++#define DDR_MSTR 0x00041401 ++#define DDR_MRCTRL0 0x00000010 ++#define DDR_MRCTRL1 0x00000000 ++#define DDR_DERATEEN 0x00000000 ++#define DDR_DERATEINT 0x00800000 ++#define DDR_PWRCTL 0x00000000 ++#define DDR_PWRTMG 0x00400010 ++#define DDR_HWLPCTL 0x00000000 ++#define DDR_RFSHCTL0 0x00210000 ++#define DDR_RFSHCTL3 0x00000000 ++#define DDR_RFSHTMG 0x0081008B ++#define DDR_CRCPARCTL0 0x00000000 ++#define DDR_DRAMTMG0 0x121B2414 ++#define DDR_DRAMTMG1 0x000A041C ++#define DDR_DRAMTMG2 0x0608090F ++#define DDR_DRAMTMG3 0x0050400C ++#define DDR_DRAMTMG4 0x08040608 ++#define DDR_DRAMTMG5 0x06060403 ++#define DDR_DRAMTMG6 0x02020002 ++#define DDR_DRAMTMG7 0x00000202 ++#define DDR_DRAMTMG8 0x00001005 ++#define DDR_DRAMTMG14 0x000000A0 ++#define DDR_ZQCTL0 0xC2000040 ++#define DDR_DFITMG0 0x02060105 ++#define DDR_DFITMG1 0x00000202 ++#define DDR_DFILPCFG0 0x07000000 ++#define DDR_DFIUPD0 0xC0400003 ++#define DDR_DFIUPD1 0x00000000 ++#define DDR_DFIUPD2 0x00000000 ++#define DDR_DFIPHYMSTR 0x00000000 ++#define DDR_ODTCFG 0x06000600 ++#define DDR_ODTMAP 0x00000001 ++#define DDR_SCHED 0x00000C01 ++#define DDR_SCHED1 0x00000000 ++#define DDR_PERFHPR1 0x01000001 ++#define DDR_PERFLPR1 0x08000200 ++#define DDR_PERFWR1 0x08000400 ++#define DDR_DBG0 0x00000000 ++#define DDR_DBG1 0x00000000 ++#define DDR_DBGCMD 0x00000000 ++#define DDR_POISONCFG 0x00000000 ++#define DDR_PCCFG 0x00000010 ++#define DDR_PCFGR_0 0x00010000 ++#define DDR_PCFGW_0 0x00000000 ++#define DDR_PCFGQOS0_0 0x02100C03 ++#define DDR_PCFGQOS1_0 0x00800100 ++#define DDR_PCFGWQOS0_0 0x01100C03 ++#define DDR_PCFGWQOS1_0 0x01000200 ++#define DDR_PCFGR_1 0x00010000 ++#define DDR_PCFGW_1 0x00000000 ++#define DDR_PCFGQOS0_1 0x02100C03 ++#define DDR_PCFGQOS1_1 0x00800040 ++#define DDR_PCFGWQOS0_1 0x01100C03 ++#define DDR_PCFGWQOS1_1 0x01000200 ++#define DDR_ADDRMAP1 0x00070707 ++#define DDR_ADDRMAP2 0x00000000 ++#define DDR_ADDRMAP3 0x1F000000 ++#define DDR_ADDRMAP4 0x00001F1F ++#define DDR_ADDRMAP5 0x06060606 ++#define DDR_ADDRMAP6 0x0F060606 ++#define DDR_ADDRMAP9 0x00000000 ++#define DDR_ADDRMAP10 0x00000000 ++#define DDR_ADDRMAP11 0x00000000 ++#define DDR_PGCR 0x01442E02 ++#define DDR_PTR0 0x0022AA5B ++#define DDR_PTR1 0x04841104 ++#define DDR_PTR2 0x042DA068 ++#define DDR_ACIOCR 0x10400812 ++#define DDR_DXCCR 0x00000C40 ++#define DDR_DSGCR 0xF200011F ++#define DDR_DCR 0x0000000B ++#define DDR_DTPR0 0x38D488D0 ++#define DDR_DTPR1 0x098B00D8 ++#define DDR_DTPR2 0x10023600 ++#define DDR_MR0 0x00000840 ++#define DDR_MR1 0x00000000 ++#define DDR_MR2 0x00000208 ++#define DDR_MR3 0x00000000 ++#define DDR_ODTCR 0x00010000 ++#define DDR_ZQ0CR1 0x00000038 ++#define DDR_DX0GCR 0x0000CE81 ++#define DDR_DX0DLLCR 0x40000000 ++#define DDR_DX0DQTR 0xFFFFFFFF ++#define DDR_DX0DQSTR 0x3DB02000 ++#define DDR_DX1GCR 0x0000CE81 ++#define DDR_DX1DLLCR 0x40000000 ++#define DDR_DX1DQTR 0xFFFFFFFF ++#define DDR_DX1DQSTR 0x3DB02000 ++#define DDR_DX2GCR 0x0000CE80 ++#define DDR_DX2DLLCR 0x40000000 ++#define DDR_DX2DQTR 0xFFFFFFFF ++#define DDR_DX2DQSTR 0x3DB02000 ++#define DDR_DX3GCR 0x0000CE80 ++#define DDR_DX3DLLCR 0x40000000 ++#define DDR_DX3DQTR 0xFFFFFFFF ++#define DDR_DX3DQSTR 0x3DB02000 +diff --git a/arch/arm/dts/stm32mp157c-osd32mp1-brk-u-boot.dtsi b/arch/arm/dts/stm32mp157c-osd32mp1-brk-u-boot.dtsi +new file mode 100644 +index 0000000000..b7284f3028 +--- /dev/null ++++ b/arch/arm/dts/stm32mp157c-osd32mp1-brk-u-boot.dtsi +@@ -0,0 +1,219 @@ ++/* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause*/ ++/* ++ * Copyright (C) 2020, Octavo Systems LLC - All Rights Reserved ++ */ ++ ++/* For more information on Device Tree configuration, please refer to ++ * https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration ++ */ ++ ++#include ++#include "stm32mp15-osd32mp1-ddr3-1x4Gb.dtsi" ++#include "stm32mp15-u-boot.dtsi" ++#include "stm32mp15-ddr.dtsi" ++ ++ ++/ { ++ ++ aliases{ ++ i2c0 = &i2c4; ++ mmc0 = &sdmmc1; ++ usb0 = &usbotg_hs; ++ }; ++ ++ config{ ++ u-boot,boot-led = "LED2_GRN"; ++ u-boot,error-led = "LED2_RED"; ++ u-boot,mmc-env-partition = "fip"; ++ st,stm32prog-gpios = <&gpiod 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; ++ }; ++ ++#ifdef CONFIG_STM32MP15x_STM32IMAGE ++ config { ++ u-boot,mmc-env-partition = "ssbl"; ++ }; ++ ++ /* only needed for boot with TF-A, witout FIP support */ ++ firmware { ++ optee { ++ compatible = "linaro,optee-tz"; ++ method = "smc"; ++ }; ++ }; ++ ++ reserved-memory { ++ optee@de000000 { ++ reg = <0xde000000 0x02000000>; ++ no-map; ++ }; ++ }; ++#endif ++ ++}; /*root*/ ++ ++#ifndef CONFIG_TFABOOT ++ ++&clk_hse { ++ st,digbypass; ++}; ++ ++&rcc { ++ u-boot,dm-pre-reloc; ++ st,clksrc = < ++ CLK_MPU_PLL1P ++ CLK_AXI_PLL2P ++ CLK_MCU_PLL3P ++ CLK_PLL12_HSE ++ CLK_PLL3_HSE ++ CLK_PLL4_HSE ++ CLK_RTC_LSE ++ CLK_MCO1_DISABLED ++ CLK_MCO2_DISABLED ++ >; ++ st,clkdiv = < ++ 1 /*MPU*/ ++ 0 /*AXI*/ ++ 0 /*MCU*/ ++ 1 /*APB1*/ ++ 1 /*APB2*/ ++ 1 /*APB3*/ ++ 1 /*APB4*/ ++ 2 /*APB5*/ ++ 23 /*RTC*/ ++ 0 /*MCO1*/ ++ 0 /*MCO2*/ ++ >; ++ st,pkcs = < ++ CLK_CKPER_HSE ++ CLK_FMC_ACLK ++ CLK_QSPI_ACLK ++ CLK_ETH_DISABLED ++ CLK_SDMMC12_PLL4P ++ CLK_DSI_DSIPLL ++ CLK_STGEN_HSE ++ CLK_USBPHY_HSE ++ CLK_SPI2S1_PLL3Q ++ CLK_SPI2S23_PLL3Q ++ CLK_SPI45_HSI ++ CLK_SPI6_HSI ++ CLK_I2C46_HSI ++ CLK_SDMMC3_PLL4P ++ CLK_USBO_USBPHY ++ CLK_ADC_CKPER ++ CLK_CEC_LSE ++ CLK_I2C12_HSI ++ CLK_I2C35_HSI ++ CLK_UART1_HSI ++ CLK_UART24_HSI ++ CLK_UART35_HSI ++ CLK_UART6_HSI ++ CLK_UART78_HSI ++ CLK_SPDIF_PLL4P ++ CLK_FDCAN_PLL4R ++ CLK_SAI1_PLL3Q ++ CLK_SAI2_PLL3Q ++ CLK_SAI3_PLL3Q ++ CLK_SAI4_PLL3Q ++ CLK_RNG1_LSI ++ CLK_RNG2_LSI ++ CLK_LPTIM1_PCLK1 ++ CLK_LPTIM23_PCLK3 ++ CLK_LPTIM45_LSE ++ >; ++ pll2:st,pll@1 { ++ compatible = "st,stm32mp1-pll"; ++ reg = <1>; ++ cfg = < 2 65 1 0 0 PQR(1,1,1) >; ++ frac = < 0x1400 >; ++ u-boot,dm-pre-reloc; ++ }; ++ pll3:st,pll@2 { ++ compatible = "st,stm32mp1-pll"; ++ reg = <2>; ++ cfg = < 1 33 1 16 36 PQR(1,1,1) >; ++ frac = < 0x1a04 >; ++ u-boot,dm-pre-reloc; ++ }; ++ pll4:st,pll@3 { ++ compatible = "st,stm32mp1-pll"; ++ reg = <3>; ++ cfg = < 3 98 5 7 7 PQR(1,1,1) >; ++ u-boot,dm-pre-reloc; ++ }; ++}; ++ ++&i2c4{ ++ u-boot,dm-pre-reloc; ++}; ++ ++&i2c4_pins_z_mx { ++ u-boot,dm-pre-reloc; ++ pins { ++ u-boot,dm-pre-reloc; ++ }; ++}; ++ ++&sdmmc1{ ++ u-boot,dm-pre-reloc; ++}; ++ ++&sdmmc1_pins_mx { ++ u-boot,dm-spl; ++ pins1 { ++ u-boot,dm-spl; ++ }; ++ pins2 { ++ u-boot,dm-spl; ++ }; ++}; ++ ++#endif /*CONFIG_TFABOOT*/ ++ ++&cryp1{ ++ u-boot,dm-pre-reloc; ++}; ++ ++&hash1{ ++ u-boot,dm-pre-reloc; ++}; ++ ++&uart4{ ++ u-boot,dm-pre-reloc; ++}; ++ ++&usbotg_hs{ ++ u-boot,dm-pre-reloc; ++ u-boot,force-b-session-valid; ++ hnp-srp-disable; ++ dr_mode = "peripheral"; ++}; ++ ++&usbphyc{ ++ u-boot,dm-pre-reloc; ++}; ++ ++&usbphyc_port0{ ++ u-boot,dm-pre-reloc; ++}; ++ ++&usbphyc_port1{ ++ u-boot,dm-pre-reloc; ++}; ++ ++&adc{ ++ status = "okay"; ++}; ++ ++#ifndef CONFIG_STM32MP1_TRUSTED ++&i2s2{ ++ clocks = <&rcc SPI2>, <&rcc SPI2_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>; ++}; ++ ++&pmic{ ++ u-boot,dm-pre-reloc; ++}; ++ ++&sai2{ ++ clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>; ++}; ++#endif /*CONFIG_STM32MP1_TRUSTED*/ +diff --git a/arch/arm/dts/stm32mp157c-osd32mp1-brk.dts b/arch/arm/dts/stm32mp157c-osd32mp1-brk.dts +new file mode 100644 +index 0000000000..d5f2793f54 +--- /dev/null ++++ b/arch/arm/dts/stm32mp157c-osd32mp1-brk.dts +@@ -0,0 +1,1120 @@ ++/* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */ ++/* ++ * Copyright (C) Octavo Systems LLC 2020 - All Rights Reserved ++ */ ++ ++/* For more information on Device Tree configuration, please refer to ++ * https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration ++ */ ++ ++/dts-v1/; ++#include ++#include "stm32mp157.dtsi" ++#include "stm32mp15xc.dtsi" ++#include "stm32mp15xxac-pinctrl.dtsi" ++#include "stm32mp15-m4-srm.dtsi" ++#include ++#include ++#include ++ ++/ { ++ model = "Octavo OSD32MP1 BRK board"; ++ compatible = "st,stm32mp157c-osd32mp1-brk", "st,stm32mp157"; ++ ++ memory@c0000000 { ++ device_type = "memory"; ++ reg = <0xc0000000 0x20000000>; ++ }; ++ ++ reserved-memory { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ ranges; ++ ++ mcuram2:mcuram2@10000000{ ++ compatible = "shared-dma-pool"; ++ reg = <0x10000000 0x40000>; ++ no-map; ++ }; ++ ++ vdev0vring0:vdev0vring0@10040000{ ++ compatible = "shared-dma-pool"; ++ reg = <0x10040000 0x1000>; ++ no-map; ++ }; ++ ++ vdev0vring1:vdev0vring1@10041000{ ++ compatible = "shared-dma-pool"; ++ reg = <0x10041000 0x1000>; ++ no-map; ++ }; ++ ++ vdev0buffer:vdev0buffer@10042000{ ++ compatible = "shared-dma-pool"; ++ reg = <0x10042000 0x4000>; ++ no-map; ++ }; ++ ++ mcuram:mcuram@30000000{ ++ compatible = "shared-dma-pool"; ++ reg = <0x30000000 0x40000>; ++ no-map; ++ }; ++ ++ retram:retram@38000000{ ++ compatible = "shared-dma-pool"; ++ reg = <0x38000000 0x10000>; ++ no-map; ++ }; ++ ++ gpu_reserved:gpu@d4000000{ ++ reg = <0xd4000000 0x4000000>; ++ no-map; ++ }; ++ }; ++ ++ led{ ++ compatible = "gpio-leds"; ++ ++ red1{ ++ label = "LED1_RED"; ++ gpios = <&gpioz 6 GPIO_ACTIVE_LOW>; ++ linux,default-trigger = "heartbeat"; ++ status = "okay"; ++ default-state = "off"; ++ }; ++ ++ green1{ ++ label = "LED1_GRN"; ++ gpios = <&gpioz 7 GPIO_ACTIVE_LOW>; ++ status = "okay"; ++ default-state = "on"; ++ }; ++ ++ red2{ ++ label = "LED2_RED"; ++ gpios = <&gpioi 8 GPIO_ACTIVE_LOW>; ++ status = "okay"; ++ default-state = "off"; ++ }; ++ ++ green2{ ++ label = "LED2_GRN"; ++ gpios = <&gpioi 9 GPIO_ACTIVE_LOW>; ++ default-state = "off"; ++ }; ++ }; ++ ++ usb_phy_tuning:usb-phy-tuning{ ++ st,hs-dc-level = <2>; ++ st,fs-rftime-tuning; ++ st,hs-rftime-reduction; ++ st,hs-current-trim = <15>; ++ st,hs-impedance-trim = <1>; ++ st,squelch-level = <3>; ++ st,hs-rx-offset = <2>; ++ st,no-lsfs-sc; ++ }; ++ ++ vin:vin{ ++ compatible = "regulator-fixed"; ++ regulator-name = "vin"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ regulator-always-on; ++ }; ++ ++ aliases{ ++ serial0 = &uart4; ++ serial2 = &usart2; ++ serial5 = &uart5; ++ serial7 = &uart7; ++ serial1 = &uart8; ++ }; ++ ++ chosen{ ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++}; /*root*/ ++ ++&pinctrl { ++ u-boot,dm-pre-reloc; ++ i2c1_pins_mx: i2c1-0 { ++ pins { ++ pinmux = , /* I2C1_SCL */ ++ ; /* I2C1_SDA */ ++ bias-disable; ++ drive-open-drain; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ i2c1_pins_sleep_mx: i2c1-1 { ++ pins { ++ pinmux = , /* I2C1_SCL */ ++ ; /* I2C1_SDA */ ++ }; ++ }; ++ ++ i2c2_pins_mx: i2c2-0 { ++ pins { ++ pinmux = , /* I2C2_SCL */ ++ ; /* I2C2_SDA */ ++ bias-disable; ++ drive-open-drain; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ i2c2_pins_sleep_mx: i2c2-1 { ++ pins { ++ pinmux = , /* I2C2_SCL */ ++ ; /* I2C2_SDA */ ++ }; ++ }; ++ ++ i2c5_pins_mx: i2c5-0 { ++ pins { ++ pinmux = , /* I2C5_SCL */ ++ ; /* I2C5_SDA */ ++ bias-disable; ++ drive-open-drain; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ i2c5_pins_sleep_mx: i2c5-1 { ++ pins { ++ pinmux = , /* I2C5_SCL */ ++ ; /* I2C5_SDA */ ++ }; ++ }; ++ ++ spi2_pins_mx: spi2-0 { ++ pins1 { ++ pinmux = , /* SPI2_SCK */ ++ ; /* SPI2_MOSI */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <1>; ++ }; ++ ++ pins2 { ++ pinmux = ; /* SPI2_MISO */ ++ bias-disable; ++ }; ++ }; ++ ++ spi2_sleep_pins_mx: spi2-sleep-0 { ++ pins { ++ pinmux = , /* SPI2_SCK */ ++ , /* SPI2_MISO */ ++ ; /* SPI2_MOSI */ ++ }; ++ }; ++ ++ spi4_pins_mx: spi4-0 { ++ pins1 { ++ pinmux = , /* SPI4_SCK */ ++ ; /* SPI4_MOSI */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <1>; ++ }; ++ ++ pins2 { ++ pinmux = ; /* SPI4_MISO */ ++ bias-disable; ++ }; ++ }; ++ ++ spi4_sleep_pins_mx: spi4-sleep-0 { ++ pins { ++ pinmux = , /* SPI2_SCK */ ++ , /* SPI2_MISO */ ++ ; /* SPI2_MOSI */ ++ }; ++ }; ++ ++ usart2_pins_mx: usart2-0 { ++ pins1 { ++ pinmux = ; /* USART2_TX */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <0>; ++ }; ++ pins2 { ++ pinmux = ; /* USART2_RX */ ++ bias-disable; ++ }; ++ }; ++ ++ usart2_idle_pins_mx: usart2-idle-0 { ++ pins1 { ++ pinmux = ; /* USART2_TX */ ++ }; ++ pins2 { ++ pinmux = ; /* USART2_RX */ ++ bias-disable; ++ }; ++ }; ++ ++ usart2_sleep_pins_mx: usart2-sleep-0 { ++ pins { ++ pinmux = , /* USART2_TX */ ++ ; /* USART2_RX */ ++ }; ++ }; ++ ++ uart5_pins_mx: uart5-0 { ++ pins1 { ++ pinmux = ; /* USART5_TX */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <0>; ++ }; ++ pins2 { ++ pinmux = ; /* USART5_RX */ ++ bias-disable; ++ }; ++ }; ++ ++ uart5_idle_pins_mx: uart5-idle-0 { ++ pins1 { ++ pinmux = ; /* USART5_TX */ ++ }; ++ pins2 { ++ pinmux = ; /* USART5_RX */ ++ bias-disable; ++ }; ++ }; ++ ++ uart5_sleep_pins_mx: uart5-sleep-0 { ++ pins { ++ pinmux = , /* USART5_TX */ ++ ; /* USART5_RX */ ++ }; ++ }; ++ ++ uart7_pins_mx: uart7-0 { ++ pins1 { ++ pinmux = ; /* USART7_TX */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <0>; ++ }; ++ pins2 { ++ pinmux = ; /* USART7_RX */ ++ bias-disable; ++ }; ++ }; ++ ++ uart7_idle_pins_mx: uart7-idle-0 { ++ pins1 { ++ pinmux = ; /* USART7_TX */ ++ }; ++ pins2 { ++ pinmux = ; /* USART7_RX */ ++ bias-disable; ++ }; ++ }; ++ ++ uart7_sleep_pins_mx: uart7-sleep-0 { ++ pins { ++ pinmux = , /* USART7_TX */ ++ ; /* USART7_RX */ ++ }; ++ }; ++ ++ uart8_pins_mx: uart8-0 { ++ pins1 { ++ pinmux = ; /* USART8_TX */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <0>; ++ }; ++ pins2 { ++ pinmux = ; /* USART8_RX */ ++ bias-disable; ++ }; ++ }; ++ ++ uart8_idle_pins_mx: uart8-idle-0 { ++ pins1 { ++ pinmux = ; /* USART8_TX */ ++ }; ++ pins2 { ++ pinmux = ; /* USART8_RX */ ++ bias-disable; ++ }; ++ }; ++ ++ uart8_sleep_pins_mx: uart8-sleep-0 { ++ pins { ++ pinmux = , /* USART8_TX */ ++ ; /* USART8_RX */ ++ }; ++ }; ++ ++ m_can1_pins_mx: m-can1-0 { ++ pins1 { ++ pinmux = ; /* CAN1_TX */ ++ slew-rate = <0>; ++ drive-push-pull; ++ bias-disable; ++ }; ++ pins2 { ++ pinmux = ; /* CAN1_RX */ ++ bias-disable; ++ }; ++ }; ++ ++ m_can1_sleep_pins_mx: m_can1-sleep@0 { ++ pins { ++ pinmux = , /* CAN1_TX */ ++ ; /* CAN1_RX */ ++ }; ++ }; ++ ++ pwm1_pins_mx: pwm1-0 { ++ pins { ++ pinmux = ; /* TIM1_CH2 */ ++ bias-pull-down; ++ drive-push-pull; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ pwm1_sleep_pins_mx: pwm1-sleep-0 { ++ pins { ++ pinmux = ; /* TIM1_CH1 */ ++ }; ++ }; ++ ++ pwm3_pins_mx: pwm3-0 { ++ pins { ++ pinmux = ; /* TIM3_CH2 */ ++ bias-pull-down; ++ drive-push-pull; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ pwm3_sleep_pins_mx: pwm3-sleep-0 { ++ pins { ++ pinmux = ; /* TIM3_CH2 */ ++ }; ++ }; ++ ++ pwm4_pins_mx: pwm4-0 { ++ pins { ++ pinmux = ; /* TIM4_CH2 */ ++ bias-pull-down; ++ drive-push-pull; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ pwm4_sleep_pins_mx: pwm4-sleep-0 { ++ pins { ++ pinmux = ; /* TIM4_CH2 */ ++ }; ++ }; ++ ++ pwm8_pins_mx: pwm8-0 { ++ pins { ++ pinmux = ; /* TIM8_CH2 */ ++ bias-pull-down; ++ drive-push-pull; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ pwm8_sleep_pins_mx: pwm8-sleep-0 { ++ pins { ++ pinmux = ; /* TIM8_CH2 */ ++ }; ++ }; ++ ++ ++ pwm12_pins_mx: pwm12-0 { ++ pins { ++ pinmux = ; /* TIM12_CH2 */ ++ bias-pull-down; ++ drive-push-pull; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ pwm12_sleep_pins_mx: pwm12-sleep-0 { ++ pins { ++ pinmux = ; /* TIM12_CH2 */ ++ }; ++ }; ++ ++ sdmmc1_pins_mx: sdmmc1_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins1 { ++ u-boot,dm-pre-reloc; ++ pinmux = , /* SDMMC1_D0 */ ++ , /* SDMMC1_D1 */ ++ , /* SDMMC1_D2 */ ++ , /* SDMMC1_D3 */ ++ ; /* SDMMC1_CMD */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <1>; ++ }; ++ pins2 { ++ u-boot,dm-pre-reloc; ++ pinmux = ; /* SDMMC1_CK */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <2>; ++ }; ++ }; ++ ++ sdmmc1_opendrain_pins_mx: sdmmc1_opendrain_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins1 { ++ u-boot,dm-pre-reloc; ++ pinmux = , /* SDMMC1_D0 */ ++ , /* SDMMC1_D1 */ ++ , /* SDMMC1_D2 */ ++ ; /* SDMMC1_D3 */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <1>; ++ }; ++ pins2 { ++ u-boot,dm-pre-reloc; ++ pinmux = ; /* SDMMC1_CK */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <2>; ++ }; ++ pins3 { ++ u-boot,dm-pre-reloc; ++ pinmux = ; /* SDMMC1_CMD */ ++ bias-disable; ++ drive-open-drain; ++ slew-rate = <1>; ++ }; ++ }; ++ ++ sdmmc1_sleep_pins_mx: sdmmc1_sleep_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins { ++ u-boot,dm-pre-reloc; ++ pinmux = , /* SDMMC1_D0 */ ++ , /* SDMMC1_D1 */ ++ , /* SDMMC1_D2 */ ++ , /* SDMMC1_D3 */ ++ , /* SDMMC1_CK */ ++ ; /* SDMMC1_CMD */ ++ }; ++ }; ++ ++ uart4_pins_mx: uart4_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins1 { ++ u-boot,dm-pre-reloc; ++ pinmux = ; /* UART4_RX */ ++ /* pull-up on rx to avoid floating level */ ++ bias-pull-up; ++ }; ++ pins2 { ++ u-boot,dm-pre-reloc; ++ pinmux = ; /* UART4_TX */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ uart4_sleep_pins_mx: uart4_sleep_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins { ++ u-boot,dm-pre-reloc; ++ pinmux = , /* UART4_RX */ ++ ; /* UART4_TX */ ++ }; ++ }; ++}; ++ ++&pinctrl_z { ++ u-boot,dm-pre-reloc; ++ ++ i2c4_pins_z_mx: i2c4_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins { ++ u-boot,dm-pre-reloc; ++ pinmux = , /* I2C4_SCL */ ++ ; /* I2C4_SDA */ ++ bias-disable; ++ drive-open-drain; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ i2c4_sleep_pins_z_mx: i2c4_sleep_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins { ++ u-boot,dm-pre-reloc; ++ pinmux = , /* I2C4_SCL */ ++ ; /* I2C4_SDA */ ++ }; ++ }; ++ ++ spi6_pins_mx: spi6-0 { ++ pins1 { ++ pinmux = , /* SPI6_SCK */ ++ ; /* SPI6_MOSI */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <1>; ++ }; ++ ++ pins2 { ++ pinmux = ; /* SPI6_MISO */ ++ bias-disable; ++ }; ++ }; ++ ++ spi6_sleep_pins_mx: spi6-sleep-0 { ++ pins { ++ pinmux = , /* SPI6_SCK */ ++ , /* SPI6_MISO */ ++ ; /* SPI6_MOSI */ ++ }; ++ }; ++}; ++ ++&m4_rproc{ ++ memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>, ++ <&vdev0vring1>, <&vdev0buffer>; ++ mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>; ++ mbox-names = "vq0", "vq1", "shutdown"; ++ interrupt-parent = <&exti>; ++ interrupts = <68 1>; ++ wakeup-source; ++ status = "okay"; ++}; ++ ++&pwr_regulators { ++ vdd-supply = <&vdd>; ++ vdd_3v3_usbfs-supply = <&vdd_usb>; ++}; ++ ++ ++&crc1{ ++ status = "okay"; ++}; ++ ++&cryp1{ ++ u-boot,dm-pre-reloc; ++ status = "okay"; ++}; ++ ++&dma1{ ++ status = "okay"; ++ sram = <&dma_pool>; ++}; ++ ++&dma2{ ++ status = "okay"; ++ sram = <&dma_pool>; ++}; ++ ++&dts{ ++ status = "okay"; ++}; ++ ++&gpu{ ++ status = "okay"; ++ contiguous-area = <&gpu_reserved>; ++}; ++ ++&hash1{ ++ u-boot,dm-pre-reloc; ++ status = "okay"; ++}; ++ ++&hsem{ ++ status = "okay"; ++}; ++ ++&i2c1 { ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&i2c1_pins_mx>; ++ pinctrl-1 = <&i2c1_pins_sleep_mx>; ++ i2c-scl-rising-time-ns = <100>; ++ i2c-scl-falling-time-ns = <7>; ++ status = "okay"; ++ /delete-property/dmas; ++ /delete-property/dma-names; ++}; ++ ++&i2c2 { ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&i2c2_pins_mx>; ++ pinctrl-1 = <&i2c2_pins_sleep_mx>; ++ i2c-scl-rising-time-ns = <100>; ++ i2c-scl-falling-time-ns = <7>; ++ status = "okay"; ++ /delete-property/dmas; ++ /delete-property/dma-names; ++}; ++ ++&i2c5 { ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&i2c5_pins_mx>; ++ pinctrl-1 = <&i2c5_pins_sleep_mx>; ++ i2c-scl-rising-time-ns = <100>; ++ i2c-scl-falling-time-ns = <7>; ++ status = "okay"; ++ /delete-property/dmas; ++ /delete-property/dma-names; ++}; ++ ++&i2c4{ ++ u-boot,dm-pre-reloc; ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&i2c4_pins_z_mx>; ++ pinctrl-1 = <&i2c4_sleep_pins_z_mx>; ++ status = "okay"; ++ ++ i2c-scl-rising-time-ns = <185>; ++ i2c-scl-falling-time-ns = <20>; ++ clock-frequency = <400000>; ++ /delete-property/ dmas; ++ /delete-property/ dma-names; ++ ++ pmic:stpmic@33{ ++ compatible = "st,stpmic1"; ++ reg = <0x33>; ++ interrupts-extended = <&exti_pwr 55 IRQ_TYPE_EDGE_FALLING>; ++ interrupt-controller; ++ #interrupt-cells = <2>; ++ status = "okay"; ++ ++ regulators{ ++ compatible = "st,stpmic1-regulators"; ++ buck1-supply = <&vin>; ++ buck2-supply = <&vin>; ++ buck3-supply = <&vin>; ++ buck4-supply = <&vin>; ++ ldo1-supply = <&v3v3>; ++ ldo2-supply = <&vin>; ++ ldo3-supply = <&vdd_ddr>; ++ ldo4-supply = <&vin>; ++ ldo5-supply = <&vin>; ++ ldo6-supply = <&v3v3>; ++ vref_ddr-supply = <&vin>; ++ boost-supply = <&vin>; ++ pwr_sw1-supply = <&bst_out>; ++ pwr_sw2-supply = <&bst_out>; ++ ++ vddcore:buck1{ ++ regulator-name = "vddcore"; ++ regulator-min-microvolt = <1200000>; ++ regulator-max-microvolt = <1350000>; ++ regulator-always-on; ++ regulator-initial-mode = <0>; ++ regulator-over-current-protection; ++ }; ++ ++ vdd_ddr:buck2{ ++ regulator-name = "vdd_ddr"; ++ regulator-min-microvolt = <1350000>; ++ regulator-max-microvolt = <1350000>; ++ regulator-always-on; ++ regulator-initial-mode = <0>; ++ regulator-over-current-protection; ++ }; ++ ++ vdd:buck3{ ++ regulator-name = "vdd"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-always-on; ++ st,mask-reset; ++ regulator-initial-mode = <0>; ++ regulator-over-current-protection; ++ }; ++ ++ v3v3:buck4{ ++ regulator-name = "v3v3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-always-on; ++ regulator-over-current-protection; ++ regulator-initial-mode = <0>; ++ }; ++ ++ v1v8_audio:ldo1{ ++ regulator-name = "v1v8_audio"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-always-on; ++ interrupts = ; ++ }; ++ ++ v3v3_hdmi:ldo2{ ++ regulator-name = "v3v3_hdmi"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-always-on; ++ interrupts = ; ++ }; ++ ++ vtt_ddr:ldo3{ ++ regulator-name = "vtt_ddr"; ++ regulator-min-microvolt = <500000>; ++ regulator-max-microvolt = <750000>; ++ regulator-always-on; ++ regulator-over-current-protection; ++ }; ++ ++ vdd_usb:ldo4{ ++ regulator-name = "vdd_usb"; ++ interrupts = ; ++ }; ++ ++ vdda:ldo5{ ++ regulator-name = "vdda"; ++ regulator-min-microvolt = <2900000>; ++ regulator-max-microvolt = <2900000>; ++ interrupts = ; ++ regulator-boot-on; ++ }; ++ ++ v1v2_hdmi:ldo6{ ++ regulator-name = "v1v2_hdmi"; ++ regulator-min-microvolt = <1200000>; ++ regulator-max-microvolt = <1200000>; ++ regulator-always-on; ++ interrupts = ; ++ }; ++ ++ vref_ddr:vref_ddr{ ++ regulator-name = "vref_ddr"; ++ regulator-always-on; ++ regulator-over-current-protection; ++ }; ++ ++ bst_out:boost{ ++ regulator-name = "bst_out"; ++ interrupts = ; ++ }; ++ ++ vbus_otg:pwr_sw1{ ++ regulator-name = "vbus_otg"; ++ interrupts = ; ++ }; ++ ++ vbus_sw:pwr_sw2{ ++ regulator-name = "vbus_sw"; ++ interrupts = ; ++ regulator-active-discharge = <1>; ++ }; ++ }; ++ ++ onkey{ ++ compatible = "st,stpmic1-onkey"; ++ interrupts = , ; ++ interrupt-names = "onkey-falling", "onkey-rising"; ++ power-off-time-sec = <10>; ++ status = "okay"; ++ }; ++ ++ watchdog { ++ compatible = "st,stpmic1-wdt"; ++ status = "disabled"; ++ }; ++ }; ++ eeprom@50 { ++ compatible = "atmel,24c02"; ++ reg = <0x50>; ++ pagesize = <16>; ++ }; ++}; ++ ++&ipcc{ ++ status = "okay"; ++}; ++ ++&iwdg2{ ++ status = "okay"; ++ timeout-sec = <32>; ++}; ++ ++&mdma1{ ++ status = "okay"; ++}; ++ ++&rcc{ ++ u-boot,dm-pre-reloc; ++ status = "okay"; ++}; ++ ++&rng1{ ++ status = "okay"; ++}; ++ ++&rtc{ ++ status = "okay"; ++}; ++ ++&sdmmc1{ ++ u-boot,dm-pre-reloc; ++ pinctrl-names = "default", "opendrain", "sleep"; ++ pinctrl-0 = <&sdmmc1_pins_mx>; ++ pinctrl-1 = <&sdmmc1_opendrain_pins_mx>; ++ pinctrl-2 = <&sdmmc1_sleep_pins_mx>; ++ status = "okay"; ++ ++ cd-gpios = <&gpiog 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; ++ disable-wp; ++ st,neg-edge; ++ bus-width = <4>; ++ vmmc-supply = <&v3v3>; ++}; ++ ++&tamp{ ++ status = "okay"; ++}; ++ ++&uart4{ ++ u-boot,dm-pre-reloc; ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&uart4_pins_mx>; ++ pinctrl-1 = <&uart4_sleep_pins_mx>; ++ status = "okay"; ++ ++ /delete-property/ dmas; ++ /delete-property/ dma-names; ++}; ++ ++&usbh_ehci{ ++ status = "okay"; ++ phys = <&usbphyc_port0>; ++}; ++ ++&usbh_ohci{ ++ status = "okay"; ++}; ++ ++&usbotg_hs{ ++ u-boot,dm-pre-reloc; ++ status = "okay"; ++ phys = <&usbphyc_port1 0>; ++ phy-names = "usb2-phy"; ++}; ++ ++&usbphyc{ ++ u-boot,dm-pre-reloc; ++ status = "okay"; ++}; ++ ++&usbphyc_port0{ ++ u-boot,dm-pre-reloc; ++ status = "okay"; ++ phy-supply = <&vdd_usb>; ++ st,phy-tuning = <&usb_phy_tuning>; ++}; ++ ++&usbphyc_port1{ ++ u-boot,dm-pre-reloc; ++ status = "okay"; ++ phy-supply = <&vdd_usb>; ++ st,phy-tuning = <&usb_phy_tuning>; ++}; ++ ++&adc { ++ vdd-supply = <&vdd>; ++ vdda-supply = <&vdda>; ++ vref-supply = <&vdda>; ++ status = "okay"; ++ adc1: adc@0 { ++ st,min-sample-time-nsecs = <5000>; ++ st,adc-channels = <0 1>; ++ status = "okay"; ++ }; ++ ++ adc2: adc@100 { ++ status = "okay"; ++ }; ++ ++ adc_temp: temp { ++ status = "okay"; ++ }; ++}; ++ ++&usbh_ohci{ ++ phys = <&usbphyc_port0>; ++}; ++ ++&cpu0{ ++ cpu-supply = <&vddcore>; ++}; ++ ++&cpu1{ ++ cpu-supply = <&vddcore>; ++}; ++ ++&sram{ ++ dma_pool:dma_pool@0{ ++ reg = <0x50000 0x10000>; ++ pool; ++ }; ++}; ++ ++&spi2 { ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&spi2_pins_mx>; ++ pinctrl-1 = <&spi2_sleep_pins_mx>; ++ cs-gpios = <&gpioi 0 0>; ++ status = "okay"; ++ ++ spidev2: spidev2@0{ ++ compatible = "rohm,dh2228fv"; ++ spi-max-frequency = <30000000>; ++ reg = <0>; ++ }; ++}; ++ ++&spi4 { ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&spi4_pins_mx>; ++ pinctrl-1 = <&spi4_sleep_pins_mx>; ++ cs-gpios = <&gpioe 11 0>; ++ status = "okay"; ++ ++ spidev4: spidev4@0{ ++ compatible = "rohm,dh2228fv"; ++ spi-max-frequency = <30000000>; ++ reg = <0>; ++ }; ++}; ++ ++&spi6 { ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&spi6_pins_mx>; ++ pinctrl-1 = <&spi6_sleep_pins_mx>; ++ cs-gpios = <&gpioz 3 0>; ++ status = "okay"; ++ ++ spidev6: spidev6@0{ ++ compatible = "rohm,dh2228fv"; ++ spi-max-frequency = <30000000>; ++ reg = <0>; ++ }; ++}; ++ ++&usart2 { ++ pinctrl-names = "default", "sleep", "idle"; ++ pinctrl-0 = <&usart2_pins_mx>; ++ pinctrl-1 = <&usart2_sleep_pins_mx>; ++ pinctrl-2 = <&usart2_idle_pins_mx>; ++ status = "okay"; ++}; ++ ++&uart5 { ++ pinctrl-names = "default", "sleep", "idle"; ++ pinctrl-0 = <&uart5_pins_mx>; ++ pinctrl-1 = <&uart5_sleep_pins_mx>; ++ pinctrl-2 = <&uart5_idle_pins_mx>; ++ status = "okay"; ++}; ++ ++&uart7 { ++ pinctrl-names = "default", "sleep", "idle"; ++ pinctrl-0 = <&uart7_pins_mx>; ++ pinctrl-1 = <&uart7_sleep_pins_mx>; ++ pinctrl-2 = <&uart7_idle_pins_mx>; ++ status = "okay"; ++}; ++ ++&uart8 { ++ pinctrl-names = "default", "sleep", "idle"; ++ pinctrl-0 = <&uart8_pins_mx>; ++ pinctrl-1 = <&uart8_sleep_pins_mx>; ++ pinctrl-2 = <&uart8_idle_pins_mx>; ++ status = "okay"; ++}; ++ ++&m_can1 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&m_can1_pins_mx>; ++ status = "okay"; ++ can-transceiver { ++ max-bitrate = <5000000>; ++ }; ++}; ++ ++&timers1 { ++ status = "okay"; ++ /* spare dmas for other usage */ ++ /delete-property/dmas; ++ /delete-property/dma-names; ++ pwm1: pwm { ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&pwm1_pins_mx>; ++ pinctrl-1 = <&pwm1_sleep_pins_mx>; ++ status = "okay"; ++ }; ++}; ++ ++&timers3 { ++ status = "okay"; ++ /* spare dmas for other usage */ ++ /delete-property/dmas; ++ /delete-property/dma-names; ++ pwm3: pwm { ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&pwm3_pins_mx>; ++ pinctrl-1 = <&pwm3_sleep_pins_mx>; ++ status = "okay"; ++ }; ++}; ++ ++&timers4 { ++ status = "okay"; ++ /* spare dmas for other usage */ ++ /delete-property/dmas; ++ /delete-property/dma-names; ++ pwm4: pwm { ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&pwm4_pins_mx>; ++ pinctrl-1 = <&pwm4_sleep_pins_mx>; ++ status = "okay"; ++ }; ++}; ++ ++&timers8 { ++ status = "okay"; ++ /* spare dmas for other usage */ ++ /delete-property/dmas; ++ /delete-property/dma-names; ++ pwm8: pwm { ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&pwm8_pins_mx>; ++ pinctrl-1 = <&pwm8_sleep_pins_mx>; ++ status = "okay"; ++ }; ++}; ++ ++&timers12 { ++ status = "okay"; ++ /* spare dmas for other usage */ ++ /delete-property/dmas; ++ /delete-property/dma-names; ++ pwm12: pwm { ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&pwm12_pins_mx>; ++ pinctrl-1 = <&pwm12_sleep_pins_mx>; ++ status = "okay"; ++ }; ++}; +-- +2.25.1 + diff --git a/board/octavo/osd32mp1-brk/patches/uboot/0002-Add-OSD32MP1-BRK-build-config.patch b/board/octavo/osd32mp1-brk/patches/uboot/0002-Add-OSD32MP1-BRK-build-config.patch new file mode 100644 index 00000000000..ff323562e69 --- /dev/null +++ b/board/octavo/osd32mp1-brk/patches/uboot/0002-Add-OSD32MP1-BRK-build-config.patch @@ -0,0 +1,881 @@ +From cbe33390a338428d74a4549cb28e25af42d7f7d9 Mon Sep 17 00:00:00 2001 +From: "neeraj.dantu" +Date: Sun, 21 Nov 2021 23:31:02 -0600 +Subject: [PATCH 2/2] Add OSD32MP1-BRK build config + +Signed-off-by: Kory Maincent +--- + arch/arm/mach-stm32mp/Kconfig | 10 +- + board/octavo/osd32mp1-brk/Kconfig | 13 + + board/octavo/osd32mp1-brk/MAINTAINERS | 8 + + board/octavo/osd32mp1-brk/Makefile | 9 + + board/octavo/osd32mp1-brk/board.c | 631 +++++++++++++++++++++++++ + configs/osd32mp1_brk_trusted_defconfig | 141 ++++++ + 6 files changed, 811 insertions(+), 1 deletion(-) + create mode 100644 board/octavo/osd32mp1-brk/Kconfig + create mode 100644 board/octavo/osd32mp1-brk/MAINTAINERS + create mode 100644 board/octavo/osd32mp1-brk/Makefile + create mode 100644 board/octavo/osd32mp1-brk/board.c + create mode 100644 configs/osd32mp1_brk_trusted_defconfig + +diff --git a/arch/arm/mach-stm32mp/Kconfig b/arch/arm/mach-stm32mp/Kconfig +index 44bfac9000..006855acad 100644 +--- a/arch/arm/mach-stm32mp/Kconfig ++++ b/arch/arm/mach-stm32mp/Kconfig +@@ -92,6 +92,14 @@ config TARGET_DH_STM32MP1_PDK2 + help + Target the DH PDK2 development kit with STM32MP15x SoM. + ++config TARGET_OCTAVO_OSD32MP1_BRK ++ bool "Octavo OSD32MP1 BRK" ++ select STM32MP15x ++ imply BOOTCOUNT_LIMIT ++ imply CMD_BOOTCOUNT ++ help ++ Target the Octavo BRK board based on OSD32MP1 SiP. ++ + endchoice + + config SYS_TEXT_BASE +@@ -172,5 +180,5 @@ endif + source "arch/arm/mach-stm32mp/cmd_stm32prog/Kconfig" + source "board/st/stm32mp1/Kconfig" + source "board/dhelectronics/dh_stm32mp1/Kconfig" +- ++source "board/octavo/osd32mp1-brk/Kconfig" + endif +diff --git a/board/octavo/osd32mp1-brk/Kconfig b/board/octavo/osd32mp1-brk/Kconfig +new file mode 100644 +index 0000000000..907a09c170 +--- /dev/null ++++ b/board/octavo/osd32mp1-brk/Kconfig +@@ -0,0 +1,13 @@ ++if TARGET_OCTAVO_OSD32MP1_BRK ++ ++config SYS_BOARD ++ default "osd32mp1-brk" ++ ++config SYS_VENDOR ++ default "octavo" ++ ++config SYS_CONFIG_NAME ++ default "stm32mp1" ++ ++source "board/st/common/Kconfig" ++endif +diff --git a/board/octavo/osd32mp1-brk/MAINTAINERS b/board/octavo/osd32mp1-brk/MAINTAINERS +new file mode 100644 +index 0000000000..9c0addbc21 +--- /dev/null ++++ b/board/octavo/osd32mp1-brk/MAINTAINERS +@@ -0,0 +1,8 @@ ++OCTAVO osd32mp1-brk BOARD ++M: Martin Lesniak ++M: Neeraj Dantu ++S: Maintained ++F: arch/arm/dts/stm32mp157c-osd32mp1-brk* ++F: board/Octavo/osd32mp1-brk/ ++F: configs/osd32mp1_brk_trusted_defconfig ++F: include/configs/stm32mp1.h +diff --git a/board/octavo/osd32mp1-brk/Makefile b/board/octavo/osd32mp1-brk/Makefile +new file mode 100644 +index 0000000000..b368b396a4 +--- /dev/null ++++ b/board/octavo/osd32mp1-brk/Makefile +@@ -0,0 +1,9 @@ ++# SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause ++# ++# Copyright (C) 2018, STMicroelectronics - All Rights Reserved ++# ++ ++obj-y += ../../st/common/stpmic1.o board.o ++ ++obj-$(CONFIG_SYS_MTDPARTS_RUNTIME) += ../../st/common/stm32mp_mtdparts.o ++obj-$(CONFIG_SET_DFU_ALT_INFO) += ../../st/common/stm32mp_dfu.o +diff --git a/board/octavo/osd32mp1-brk/board.c b/board/octavo/osd32mp1-brk/board.c +new file mode 100644 +index 0000000000..fd97c9a390 +--- /dev/null ++++ b/board/octavo/osd32mp1-brk/board.c +@@ -0,0 +1,631 @@ ++// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause ++/* ++ * Copyright (C) 2018, STMicroelectronics - All Rights Reserved ++ */ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* SYSCFG registers */ ++#define SYSCFG_BOOTR 0x00 ++#define SYSCFG_PMCSETR 0x04 ++#define SYSCFG_IOCTRLSETR 0x18 ++#define SYSCFG_ICNR 0x1C ++#define SYSCFG_CMPCR 0x20 ++#define SYSCFG_CMPENSETR 0x24 ++#define SYSCFG_PMCCLRR 0x44 ++ ++#define SYSCFG_BOOTR_BOOT_MASK GENMASK(2, 0) ++#define SYSCFG_BOOTR_BOOTPD_SHIFT 4 ++ ++#define SYSCFG_IOCTRLSETR_HSLVEN_TRACE BIT(0) ++#define SYSCFG_IOCTRLSETR_HSLVEN_QUADSPI BIT(1) ++#define SYSCFG_IOCTRLSETR_HSLVEN_ETH BIT(2) ++#define SYSCFG_IOCTRLSETR_HSLVEN_SDMMC BIT(3) ++#define SYSCFG_IOCTRLSETR_HSLVEN_SPI BIT(4) ++ ++#define SYSCFG_CMPCR_SW_CTRL BIT(1) ++#define SYSCFG_CMPCR_READY BIT(8) ++ ++#define SYSCFG_CMPENSETR_MPU_EN BIT(0) ++ ++#define SYSCFG_PMCSETR_ETH_CLK_SEL BIT(16) ++#define SYSCFG_PMCSETR_ETH_REF_CLK_SEL BIT(17) ++ ++#define SYSCFG_PMCSETR_ETH_SELMII BIT(20) ++ ++#define SYSCFG_PMCSETR_ETH_SEL_MASK GENMASK(23, 21) ++#define SYSCFG_PMCSETR_ETH_SEL_GMII_MII 0 ++#define SYSCFG_PMCSETR_ETH_SEL_RGMII BIT(21) ++#define SYSCFG_PMCSETR_ETH_SEL_RMII BIT(23) ++ ++/* ++ * Get a global data pointer ++ */ ++DECLARE_GLOBAL_DATA_PTR; ++ ++int setup_mac_address(void) ++{ ++ struct udevice *dev; ++ ofnode eeprom; ++ unsigned char enetaddr[6]; ++ int ret; ++ ++ ret = eth_env_get_enetaddr("ethaddr", enetaddr); ++ if (ret) /* ethaddr is already set */ ++ return 0; ++ ++ eeprom = ofnode_path("/soc/i2c@5c002000/eeprom@50"); ++ if (!ofnode_valid(eeprom)) { ++ printf("Invalid hardware path to EEPROM!\n"); ++ return -ENODEV; ++ } ++ ++ ret = uclass_get_device_by_ofnode(UCLASS_I2C_EEPROM, eeprom, &dev); ++ if (ret) { ++ printf("Cannot find EEPROM!\n"); ++ return ret; ++ } ++ ++ ret = i2c_eeprom_read(dev, 0xfa, enetaddr, 0x6); ++ if (ret) { ++ printf("Error reading configuration EEPROM!\n"); ++ return ret; ++ } ++ ++ if (is_valid_ethaddr(enetaddr)) ++ eth_env_set_enetaddr("ethaddr", enetaddr); ++ ++ return 0; ++} ++ ++int checkboard(void) ++{ ++ char *mode; ++ const char *fdt_compat; ++ int fdt_compat_len; ++ ++ if (IS_ENABLED(CONFIG_STM32MP15x_STM32IMAGE)) ++ mode = "trusted - stm32image"; ++ else if (IS_ENABLED(CONFIG_TFABOOT)) ++ mode = "trusted"; ++ else ++ mode = "basic"; ++ ++ printf("Board: stm32mp1 in %s mode", mode); ++ fdt_compat = fdt_getprop(gd->fdt_blob, 0, "compatible", ++ &fdt_compat_len); ++ if (fdt_compat && fdt_compat_len) ++ printf(" (%s)", fdt_compat); ++ puts("\n"); ++ ++ return 0; ++} ++ ++static void board_key_check(void) ++{ ++ ofnode node; ++ struct gpio_desc gpio; ++ enum forced_boot_mode boot_mode = BOOT_NORMAL; ++ ++ if (!IS_ENABLED(CONFIG_FASTBOOT) && !IS_ENABLED(CONFIG_CMD_STM32PROG)) ++ return; ++ ++ node = ofnode_path("/config"); ++ if (!ofnode_valid(node)) { ++ debug("%s: no /config node?\n", __func__); ++ return; ++ } ++ if (IS_ENABLED(CONFIG_FASTBOOT)) { ++ if (gpio_request_by_name_nodev(node, "st,fastboot-gpios", 0, ++ &gpio, GPIOD_IS_IN)) { ++ debug("%s: could not find a /config/st,fastboot-gpios\n", ++ __func__); ++ } else { ++ if (dm_gpio_get_value(&gpio)) { ++ puts("Fastboot key pressed, "); ++ boot_mode = BOOT_FASTBOOT; ++ } ++ ++ dm_gpio_free(NULL, &gpio); ++ } ++ } ++ if (IS_ENABLED(CONFIG_CMD_STM32PROG)) { ++ if (gpio_request_by_name_nodev(node, "st,stm32prog-gpios", 0, ++ &gpio, GPIOD_IS_IN)) { ++ debug("%s: could not find a /config/st,stm32prog-gpios\n", ++ __func__); ++ } else { ++ if (dm_gpio_get_value(&gpio)) { ++ puts("STM32Programmer key pressed, "); ++ boot_mode = BOOT_STM32PROG; ++ } ++ dm_gpio_free(NULL, &gpio); ++ } ++ } ++ if (boot_mode != BOOT_NORMAL) { ++ puts("entering download mode...\n"); ++ clrsetbits_le32(TAMP_BOOT_CONTEXT, ++ TAMP_BOOT_FORCED_MASK, ++ boot_mode); ++ } ++} ++ ++int g_dnl_board_usb_cable_connected(void) ++{ ++ struct udevice *dwc2_udc_otg; ++ int ret; ++ ++ if (!IS_ENABLED(CONFIG_USB_GADGET_DWC2_OTG)) ++ return -ENODEV; ++ ret = uclass_get_device_by_driver(UCLASS_USB_GADGET_GENERIC, ++ DM_GET_DRIVER(dwc2_udc_otg), ++ &dwc2_udc_otg); ++ if (!ret) ++ debug("dwc2_udc_otg init failed\n"); ++ ++ return dwc2_udc_B_session_valid(dwc2_udc_otg); ++} ++ ++#ifdef CONFIG_USB_GADGET_DOWNLOAD ++#define STM32MP1_G_DNL_DFU_PRODUCT_NUM 0xdf11 ++#define STM32MP1_G_DNL_FASTBOOT_PRODUCT_NUM 0x0afb ++ ++int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name) ++{ ++ if (IS_ENABLED(CONFIG_DFU_OVER_USB) && ++ !strcmp(name, "usb_dnl_dfu")) ++ put_unaligned(STM32MP1_G_DNL_DFU_PRODUCT_NUM, &dev->idProduct); ++ else if (IS_ENABLED(CONFIG_FASTBOOT) && ++ !strcmp(name, "usb_dnl_fastboot")) ++ put_unaligned(STM32MP1_G_DNL_FASTBOOT_PRODUCT_NUM, ++ &dev->idProduct); ++ else ++ put_unaligned(CONFIG_USB_GADGET_PRODUCT_NUM, &dev->idProduct); ++ ++ return 0; ++} ++#endif /* CONFIG_USB_GADGET_DOWNLOAD */ ++ ++static int get_led(struct udevice **dev, char *led_string) ++{ ++ char *led_name; ++ int ret; ++ ++ led_name = fdtdec_get_config_string(gd->fdt_blob, led_string); ++ if (!led_name) { ++ pr_debug("%s: could not find %s config string\n", ++ __func__, led_string); ++ return -ENOENT; ++ } ++ ret = led_get_by_label(led_name, dev); ++ if (ret) { ++ debug("%s: get=%d\n", __func__, ret); ++ return ret; ++ } ++ ++ return 0; ++} ++ ++static int setup_led(enum led_state_t cmd) ++{ ++ struct udevice *dev; ++ int ret; ++ ++ if (!CONFIG_IS_ENABLED(LED)) ++ return 0; ++ ++ ret = get_led(&dev, "u-boot,boot-led"); ++ if (ret) ++ return ret; ++ ++ ret = led_set_state(dev, cmd); ++ return ret; ++} ++ ++static void __maybe_unused led_error_blink(u32 nb_blink) ++{ ++ int ret; ++ struct udevice *led; ++ u32 i; ++ ++ if (!nb_blink) ++ return; ++ ++ if (CONFIG_IS_ENABLED(LED)) { ++ ret = get_led(&led, "u-boot,error-led"); ++ if (!ret) { ++ /* make u-boot,error-led blinking */ ++ /* if U32_MAX and 125ms interval, for 17.02 years */ ++ for (i = 0; i < 2 * nb_blink; i++) { ++ led_set_state(led, LEDST_TOGGLE); ++ mdelay(125); ++ WATCHDOG_RESET(); ++ } ++ led_set_state(led, LEDST_ON); ++ } ++ } ++ ++ /* infinite: the boot process must be stopped */ ++ if (nb_blink == U32_MAX) ++ hang(); ++} ++ ++static void sysconf_init(void) ++{ ++ u8 *syscfg; ++ struct udevice *pwr_dev; ++ struct udevice *pwr_reg; ++ struct udevice *dev; ++ u32 otp = 0; ++ int ret; ++ u32 bootr, val; ++ ++ syscfg = (u8 *)syscon_get_first_range(STM32MP_SYSCON_SYSCFG); ++ ++ /* interconnect update : select master using the port 1 */ ++ /* LTDC = AXI_M9 */ ++ /* GPU = AXI_M8 */ ++ /* today information is hardcoded in U-Boot */ ++ writel(BIT(9), syscfg + SYSCFG_ICNR); ++ ++ /* disable Pull-Down for boot pin connected to VDD */ ++ bootr = readl(syscfg + SYSCFG_BOOTR); ++ bootr &= ~(SYSCFG_BOOTR_BOOT_MASK << SYSCFG_BOOTR_BOOTPD_SHIFT); ++ bootr |= (bootr & SYSCFG_BOOTR_BOOT_MASK) << SYSCFG_BOOTR_BOOTPD_SHIFT; ++ writel(bootr, syscfg + SYSCFG_BOOTR); ++ ++ /* High Speed Low Voltage Pad mode Enable for SPI, SDMMC, ETH, QSPI ++ * and TRACE. Needed above ~50MHz and conditioned by AFMUX selection. ++ * The customer will have to disable this for low frequencies ++ * or if AFMUX is selected but the function not used, typically for ++ * TRACE. Otherwise, impact on power consumption. ++ * ++ * WARNING: ++ * enabling High Speed mode while VDD>2.7V ++ * with the OTP product_below_2v5 (OTP 18, BIT 13) ++ * erroneously set to 1 can damage the IC! ++ * => U-Boot set the register only if VDD < 2.7V (in DT) ++ * but this value need to be consistent with board design ++ */ ++ ret = uclass_get_device_by_driver(UCLASS_PMIC, ++ DM_GET_DRIVER(stm32mp_pwr_pmic), ++ &pwr_dev); ++ if (!ret && IS_ENABLED(CONFIG_DM_REGULATOR)) { ++ ret = uclass_get_device_by_driver(UCLASS_MISC, ++ DM_GET_DRIVER(stm32mp_bsec), ++ &dev); ++ if (ret) { ++ pr_err("Can't find stm32mp_bsec driver\n"); ++ return; ++ } ++ ++ ret = misc_read(dev, STM32_BSEC_SHADOW(18), &otp, 4); ++ if (ret > 0) ++ otp = otp & BIT(13); ++ ++ /* get VDD = vdd-supply */ ++ ret = device_get_supply_regulator(pwr_dev, "vdd-supply", ++ &pwr_reg); ++ ++ /* check if VDD is Low Voltage */ ++ if (!ret) { ++ if (regulator_get_value(pwr_reg) < 2700000) { ++ writel(SYSCFG_IOCTRLSETR_HSLVEN_TRACE | ++ SYSCFG_IOCTRLSETR_HSLVEN_QUADSPI | ++ SYSCFG_IOCTRLSETR_HSLVEN_ETH | ++ SYSCFG_IOCTRLSETR_HSLVEN_SDMMC | ++ SYSCFG_IOCTRLSETR_HSLVEN_SPI, ++ syscfg + SYSCFG_IOCTRLSETR); ++ ++ if (!otp) ++ pr_err("product_below_2v5=0: HSLVEN protected by HW\n"); ++ } else { ++ if (otp) ++ pr_err("product_below_2v5=1: HSLVEN update is destructive, no update as VDD>2.7V\n"); ++ } ++ } else { ++ debug("VDD unknown"); ++ } ++ } ++ ++ /* activate automatic I/O compensation ++ * warning: need to ensure CSI enabled and ready in clock driver ++ */ ++ writel(SYSCFG_CMPENSETR_MPU_EN, syscfg + SYSCFG_CMPENSETR); ++ ++ /* poll until ready (1s timeout) */ ++ ret = readl_poll_timeout(syscfg + SYSCFG_CMPCR, val, ++ val & SYSCFG_CMPCR_READY, ++ 1000000); ++ if (ret) { ++ pr_err("SYSCFG: I/O compensation failed, timeout.\n"); ++ led_error_blink(10); ++ } ++ ++ clrbits_le32(syscfg + SYSCFG_CMPCR, SYSCFG_CMPCR_SW_CTRL); ++} ++ ++/* board dependent setup after realloc */ ++int board_init(void) ++{ ++ /* address of boot parameters */ ++ gd->bd->bi_boot_params = STM32_DDR_BASE + 0x100; ++ ++ if (CONFIG_IS_ENABLED(DM_GPIO_HOG)) ++ gpio_hog_probe_all(); ++ ++ board_key_check(); ++ ++ if (IS_ENABLED(CONFIG_DM_REGULATOR)) ++ regulators_enable_boot_on(_DEBUG); ++ ++ if (!IS_ENABLED(CONFIG_TFABOOT)) ++ sysconf_init(); ++ ++ if (CONFIG_IS_ENABLED(LED)) ++ led_default_state(); ++ ++ return 0; ++} ++ ++int board_late_init(void) ++{ ++ char *boot_device; ++ const void *fdt_compat; ++ int fdt_compat_len; ++ int ret; ++ u32 otp; ++ struct udevice *dev; ++ char buf[10]; ++ char dtb_name[256]; ++ int buf_len; ++ ++ if (IS_ENABLED(CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG)) { ++ fdt_compat = fdt_getprop(gd->fdt_blob, 0, "compatible", ++ &fdt_compat_len); ++ if (fdt_compat && fdt_compat_len) { ++ if (strncmp(fdt_compat, "st,", 3) != 0) { ++ env_set("board_name", fdt_compat); ++ } else { ++ env_set("board_name", fdt_compat + 3); ++ ++ buf_len = sizeof(dtb_name); ++ strncpy(dtb_name, fdt_compat + 3, buf_len); ++ buf_len -= strlen(fdt_compat + 3); ++ strncat(dtb_name, ".dtb", buf_len); ++ env_set("fdtfile", dtb_name); ++ } ++ } ++ ret = uclass_get_device_by_driver(UCLASS_MISC, ++ DM_GET_DRIVER(stm32mp_bsec), ++ &dev); ++ ++ if (!ret) ++ ret = misc_read(dev, STM32_BSEC_SHADOW(BSEC_OTP_BOARD), ++ &otp, sizeof(otp)); ++ if (ret > 0 && otp) { ++ snprintf(buf, sizeof(buf), "0x%04x", otp >> 16); ++ env_set("board_id", buf); ++ ++ snprintf(buf, sizeof(buf), "0x%04x", ++ ((otp >> 8) & 0xF) - 1 + 0xA); ++ env_set("board_rev", buf); ++ } ++ } ++ ++ /* Check the boot-source to disable bootdelay */ ++ boot_device = env_get("boot_device"); ++ if (!strcmp(boot_device, "serial") || !strcmp(boot_device, "usb")) ++ env_set("bootdelay", "0"); ++ ++ return 0; ++} ++ ++void board_quiesce_devices(void) ++{ ++ setup_led(LEDST_OFF); ++} ++ ++/* eth init function : weak called in eqos driver */ ++int board_interface_eth_init(struct udevice *dev, ++ phy_interface_t interface_type, ulong rate) ++{ ++ u8 *syscfg; ++ u32 value; ++ bool eth_clk_sel_reg = false; ++ bool eth_ref_clk_sel_reg = false; ++ ++ /* Gigabit Ethernet 125MHz clock selection. */ ++ eth_clk_sel_reg = dev_read_bool(dev, "st,eth_clk_sel"); ++ ++ /* Ethernet 50Mhz RMII clock selection */ ++ eth_ref_clk_sel_reg = ++ dev_read_bool(dev, "st,eth_ref_clk_sel"); ++ ++ syscfg = (u8 *)syscon_get_first_range(STM32MP_SYSCON_SYSCFG); ++ ++ if (!syscfg) ++ return -ENODEV; ++ ++ switch (interface_type) { ++ case PHY_INTERFACE_MODE_MII: ++ value = SYSCFG_PMCSETR_ETH_SEL_GMII_MII | ++ SYSCFG_PMCSETR_ETH_REF_CLK_SEL; ++ debug("%s: PHY_INTERFACE_MODE_MII\n", __func__); ++ break; ++ case PHY_INTERFACE_MODE_GMII: ++ if (eth_clk_sel_reg) ++ value = SYSCFG_PMCSETR_ETH_SEL_GMII_MII | ++ SYSCFG_PMCSETR_ETH_CLK_SEL; ++ else ++ value = SYSCFG_PMCSETR_ETH_SEL_GMII_MII; ++ debug("%s: PHY_INTERFACE_MODE_GMII\n", __func__); ++ break; ++ case PHY_INTERFACE_MODE_RMII: ++ if (eth_ref_clk_sel_reg) ++ value = SYSCFG_PMCSETR_ETH_SEL_RMII | ++ SYSCFG_PMCSETR_ETH_REF_CLK_SEL; ++ else ++ value = SYSCFG_PMCSETR_ETH_SEL_RMII; ++ debug("%s: PHY_INTERFACE_MODE_RMII\n", __func__); ++ break; ++ case PHY_INTERFACE_MODE_RGMII: ++ case PHY_INTERFACE_MODE_RGMII_ID: ++ case PHY_INTERFACE_MODE_RGMII_RXID: ++ case PHY_INTERFACE_MODE_RGMII_TXID: ++ if (eth_clk_sel_reg) ++ value = SYSCFG_PMCSETR_ETH_SEL_RGMII | ++ SYSCFG_PMCSETR_ETH_CLK_SEL; ++ else ++ value = SYSCFG_PMCSETR_ETH_SEL_RGMII; ++ debug("%s: PHY_INTERFACE_MODE_RGMII\n", __func__); ++ break; ++ default: ++ debug("%s: Do not manage %d interface\n", ++ __func__, interface_type); ++ /* Do not manage others interfaces */ ++ return -EINVAL; ++ } ++ ++ /* clear and set ETH configuration bits */ ++ writel(SYSCFG_PMCSETR_ETH_SEL_MASK | SYSCFG_PMCSETR_ETH_SELMII | ++ SYSCFG_PMCSETR_ETH_REF_CLK_SEL | SYSCFG_PMCSETR_ETH_CLK_SEL, ++ syscfg + SYSCFG_PMCCLRR); ++ writel(value, syscfg + SYSCFG_PMCSETR); ++ ++ return 0; ++} ++ ++enum env_location env_get_location(enum env_operation op, int prio) ++{ ++ u32 bootmode = get_bootmode(); ++ ++ if (prio) ++ return ENVL_UNKNOWN; ++ ++ switch (bootmode & TAMP_BOOT_DEVICE_MASK) { ++ case BOOT_FLASH_SD: ++ case BOOT_FLASH_EMMC: ++ if (CONFIG_IS_ENABLED(ENV_IS_IN_MMC)) ++ return ENVL_MMC; ++ else if (CONFIG_IS_ENABLED(ENV_IS_IN_EXT4)) ++ return ENVL_EXT4; ++ else ++ return ENVL_NOWHERE; ++ ++ case BOOT_FLASH_NAND: ++ case BOOT_FLASH_SPINAND: ++ if (CONFIG_IS_ENABLED(ENV_IS_IN_UBI)) ++ return ENVL_UBI; ++ else ++ return ENVL_NOWHERE; ++ ++ case BOOT_FLASH_NOR: ++ if (CONFIG_IS_ENABLED(ENV_IS_IN_SPI_FLASH)) ++ return ENVL_SPI_FLASH; ++ else ++ return ENVL_NOWHERE; ++ ++ default: ++ return ENVL_NOWHERE; ++ } ++} ++ ++const char *env_ext4_get_intf(void) ++{ ++ u32 bootmode = get_bootmode(); ++ ++ switch (bootmode & TAMP_BOOT_DEVICE_MASK) { ++ case BOOT_FLASH_SD: ++ case BOOT_FLASH_EMMC: ++ return "mmc"; ++ default: ++ return ""; ++ } ++} ++ ++const char *env_ext4_get_dev_part(void) ++{ ++ static char *const dev_part[] = {"0:auto", "1:auto", "2:auto"}; ++ u32 bootmode = get_bootmode(); ++ ++ return dev_part[(bootmode & TAMP_BOOT_INSTANCE_MASK) - 1]; ++} ++ ++int mmc_get_env_dev(void) ++{ ++ u32 bootmode; ++ ++ if (CONFIG_SYS_MMC_ENV_DEV >= 0) ++ return CONFIG_SYS_MMC_ENV_DEV; ++ ++ bootmode = get_bootmode(); ++ ++ /* use boot instance to select the correct mmc device identifier */ ++ return (bootmode & TAMP_BOOT_INSTANCE_MASK) - 1; ++} ++ ++#if defined(CONFIG_OF_BOARD_SETUP) ++int ft_board_setup(void *blob, struct bd_info *bd) ++{ ++ return 0; ++} ++#endif ++ ++static void board_copro_image_process(ulong fw_image, size_t fw_size) ++{ ++ int ret, id = 0; /* Copro id fixed to 0 as only one coproc on mp1 */ ++ ++ if (!rproc_is_initialized()) ++ if (rproc_init()) { ++ printf("Remote Processor %d initialization failed\n", ++ id); ++ return; ++ } ++ ++ ret = rproc_load(id, fw_image, fw_size); ++ printf("Load Remote Processor %d with data@addr=0x%08lx %u bytes:%s\n", ++ id, fw_image, fw_size, ret ? " Failed!" : " Success!"); ++ ++ if (!ret) ++ rproc_start(id); ++} ++ ++U_BOOT_FIT_LOADABLE_HANDLER(IH_TYPE_COPRO, board_copro_image_process); +diff --git a/configs/osd32mp1_brk_trusted_defconfig b/configs/osd32mp1_brk_trusted_defconfig +new file mode 100644 +index 0000000000..6d41af8886 +--- /dev/null ++++ b/configs/osd32mp1_brk_trusted_defconfig +@@ -0,0 +1,141 @@ ++CONFIG_ARM=y ++CONFIG_ARCH_STM32MP=y ++CONFIG_TFABOOT=y ++CONFIG_SYS_MALLOC_F_LEN=0x3000 ++CONFIG_ENV_OFFSET=0x480000 ++CONFIG_ENV_SECT_SIZE=0x40000 ++# CONFIG_TARGET_ST_STM32MP15x=y ++CONFIG_TARGET_OCTAVO_OSD32MP1_BRK=y ++CONFIG_CMD_STM32PROG=y ++CONFIG_ENV_OFFSET_REDUND=0x4C0000 ++CONFIG_DEFAULT_DEVICE_TREE="stm32mp157c-osd32mp1-brk" ++CONFIG_DISTRO_DEFAULTS=y ++CONFIG_FIT=y ++CONFIG_BOOTDELAY=1 ++CONFIG_BOOTCOMMAND="run bootcmd_stm32mp" ++CONFIG_SYS_PROMPT="OSD32MP> " ++# CONFIG_CMD_BOOTD is not set ++CONFIG_CMD_ADTIMG=y ++# CONFIG_CMD_ELF is not set ++CONFIG_CMD_EEPROM=y ++CONFIG_CMD_ERASEENV=y ++CONFIG_CMD_MEMINFO=y ++CONFIG_CMD_MEMTEST=y ++CONFIG_SYS_MEMTEST_START=0xc0000000 ++CONFIG_SYS_MEMTEST_END=0xc4000000 ++CONFIG_CMD_ADC=y ++CONFIG_CMD_CLK=y ++CONFIG_CMD_DFU=y ++CONFIG_CMD_FUSE=y ++CONFIG_CMD_GPIO=y ++CONFIG_CMD_I2C=y ++CONFIG_CMD_MMC=y ++CONFIG_CMD_REMOTEPROC=y ++CONFIG_CMD_SPI=y ++CONFIG_CMD_USB=y ++CONFIG_CMD_USB_MASS_STORAGE=y ++CONFIG_CMD_BMP=y ++CONFIG_CMD_CACHE=y ++CONFIG_CMD_TIME=y ++CONFIG_CMD_TIMER=y ++CONFIG_CMD_PMIC=y ++CONFIG_CMD_REGULATOR=y ++CONFIG_CMD_EXT4_WRITE=y ++CONFIG_CMD_MTDPARTS=y ++CONFIG_CMD_UBI=y ++CONFIG_ENV_IS_NOWHERE=y ++CONFIG_ENV_IS_IN_MMC=y ++CONFIG_ENV_IS_IN_UBI=y ++CONFIG_SYS_REDUNDAND_ENVIRONMENT=y ++CONFIG_ENV_UBI_PART="UBI" ++CONFIG_ENV_UBI_VOLUME="uboot_config" ++CONFIG_ENV_UBI_VOLUME_REDUND="uboot_config_r" ++CONFIG_SYS_RELOC_GD_ENV_ADDR=y ++CONFIG_SYS_MMC_ENV_DEV=-1 ++CONFIG_STM32_ADC=y ++CONFIG_CLK_SCMI=y ++CONFIG_SET_DFU_ALT_INFO=y ++CONFIG_USB_FUNCTION_FASTBOOT=y ++CONFIG_FASTBOOT_BUF_ADDR=0xC0000000 ++CONFIG_FASTBOOT_BUF_SIZE=0x02000000 ++CONFIG_FASTBOOT_USB_DEV=1 ++CONFIG_FASTBOOT_FLASH=y ++CONFIG_FASTBOOT_FLASH_MMC_DEV=1 ++CONFIG_GPIO_HOG=y ++CONFIG_DM_HWSPINLOCK=y ++CONFIG_HWSPINLOCK_STM32=y ++CONFIG_DM_I2C=y ++CONFIG_SYS_I2C_STM32F7=y ++CONFIG_LED=y ++CONFIG_LED_GPIO=y ++CONFIG_DM_MAILBOX=y ++CONFIG_STM32_IPCC=y ++CONFIG_STM32_FMC2_EBI=y ++CONFIG_I2C_EEPROM=y ++CONFIG_DM_MMC=y ++CONFIG_SUPPORT_EMMC_BOOT=y ++CONFIG_STM32_SDMMC2=y ++CONFIG_MTD=y ++CONFIG_DM_MTD=y ++CONFIG_SYS_MTDPARTS_RUNTIME=y ++CONFIG_MTD_RAW_NAND=y ++CONFIG_NAND_STM32_FMC2=y ++CONFIG_MTD_SPI_NAND=y ++CONFIG_DM_SPI_FLASH=y ++CONFIG_SPI_FLASH_MACRONIX=y ++CONFIG_SPI_FLASH_SPANSION=y ++CONFIG_SPI_FLASH_STMICRO=y ++CONFIG_SPI_FLASH_WINBOND=y ++# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set ++CONFIG_SPI_FLASH_MTD=y ++CONFIG_PHY_REALTEK=y ++CONFIG_DM_ETH=y ++CONFIG_DWC_ETH_QOS=y ++CONFIG_PHY=y ++CONFIG_PHY_STM32_USBPHYC=y ++CONFIG_PINCONF=y ++CONFIG_PINCTRL_STMFX=y ++CONFIG_DM_PMIC=y ++CONFIG_PMIC_STPMIC1=y ++CONFIG_DM_REGULATOR=y ++CONFIG_DM_REGULATOR_FIXED=y ++CONFIG_DM_REGULATOR_GPIO=y ++CONFIG_DM_REGULATOR_STM32_VREFBUF=y ++CONFIG_DM_REGULATOR_STPMIC1=y ++CONFIG_REMOTEPROC_STM32_COPRO=y ++CONFIG_RESET_SCMI=y ++CONFIG_DM_RNG=y ++CONFIG_RNG_STM32MP1=y ++CONFIG_DM_RTC=y ++CONFIG_RTC_STM32=y ++CONFIG_SERIAL_RX_BUFFER=y ++CONFIG_SPI=y ++CONFIG_DM_SPI=y ++CONFIG_STM32_QSPI=y ++CONFIG_STM32_SPI=y ++CONFIG_TEE=y ++CONFIG_OPTEE=y ++# CONFIG_OPTEE_TA_AVB is not set ++CONFIG_USB=y ++CONFIG_DM_USB=y ++CONFIG_DM_USB_GADGET=y ++CONFIG_USB_EHCI_HCD=y ++CONFIG_USB_EHCI_GENERIC=y ++CONFIG_USB_GADGET=y ++CONFIG_USB_GADGET_MANUFACTURER="STMicroelectronics" ++CONFIG_USB_GADGET_VENDOR_NUM=0x0483 ++CONFIG_USB_GADGET_PRODUCT_NUM=0x5720 ++CONFIG_USB_GADGET_DWC2_OTG=y ++CONFIG_DM_VIDEO=y ++CONFIG_BACKLIGHT_GPIO=y ++CONFIG_VIDEO_LCD_ORISETECH_OTM8009A=y ++CONFIG_VIDEO_LCD_RAYDIUM_RM68200=y ++CONFIG_VIDEO_STM32=y ++CONFIG_VIDEO_STM32_DSI=y ++CONFIG_VIDEO_STM32_MAX_XRES=1280 ++CONFIG_VIDEO_STM32_MAX_YRES=800 ++CONFIG_WDT=y ++CONFIG_WDT_STM32MP=y ++CONFIG_ERRNO_STR=y ++CONFIG_FDT_FIXUP_PARTITIONS=y ++CONFIG_LMB_RESERVED_REGIONS=16 +-- +2.25.1 + diff --git a/board/octavo/osd32mp1-brk/patches/uboot/uboot.hash b/board/octavo/osd32mp1-brk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..6b51c2685b1 --- /dev/null +++ b/board/octavo/osd32mp1-brk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 49a2470ecd29c29cc712861372335c9e2020e5c56392c6417faf66dc7a782261 uboot-v2020.10-stm32mp-r2.1-git4.tar.gz diff --git a/board/octavo/osd32mp1-brk/readme.txt b/board/octavo/osd32mp1-brk/readme.txt new file mode 100644 index 00000000000..8aae419f96c --- /dev/null +++ b/board/octavo/osd32mp1-brk/readme.txt @@ -0,0 +1,35 @@ +OSD32MP1-BRK + +Intro +===== + +This configuration supports the OSD32MP1-BRK platform: + + https://octavosystems.com/octavo_products/osd32mp1-brk/ + +How to build +============ + + $ make octavo_osd32mp1_brk_defconfig + $ make + +How to write the microSD card +============================= + +Once the build process is finished you will have an image called +"sdcard.img" in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an microSD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Boot the board +============== + + (1) Insert the microSD card. + + (2) Plug an USB-SERIAL cable on the RX, TX and GND pins + + (3) Plug a micro-USB cable to power-up the board. + + (4) The system will start, with the console on UART. diff --git a/board/octavo/osd32mp1-brk/tfa-dts/osd32mp1_ddr_1x4Gb.dtsi b/board/octavo/osd32mp1-brk/tfa-dts/osd32mp1_ddr_1x4Gb.dtsi new file mode 100644 index 00000000000..3cd2c3f5d17 --- /dev/null +++ b/board/octavo/osd32mp1-brk/tfa-dts/osd32mp1_ddr_1x4Gb.dtsi @@ -0,0 +1,121 @@ +/* + * Copyright (C) 2015-2018, STMicroelectronics - All Rights Reserved + * + * SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause + * + */ + +/* + * File generated by STMicroelectronics STM32CubeMX DDR Tool for MPUs + * DDR type: DDR3 / DDR3L + * DDR width: 16bits + * DDR density: 4Gb + * System frequency: 533000Khz + * Relaxed Timing Mode: false + * Address mapping type: RBC + * + * Save Date: 2020.08.27, save Time: 15:22:11 + */ + +#define DDR_MEM_NAME "DDR3-DDR3L 16bits 533000Khz" +#define DDR_MEM_SPEED 533000 +#define DDR_MEM_SIZE 0x20000000 + +#define DDR_MSTR 0x00041401 +#define DDR_MRCTRL0 0x00000010 +#define DDR_MRCTRL1 0x00000000 +#define DDR_DERATEEN 0x00000000 +#define DDR_DERATEINT 0x00800000 +#define DDR_PWRCTL 0x00000000 +#define DDR_PWRTMG 0x00400010 +#define DDR_HWLPCTL 0x00000000 +#define DDR_RFSHCTL0 0x00210000 +#define DDR_RFSHCTL3 0x00000000 +#define DDR_RFSHTMG 0x0081008B +#define DDR_CRCPARCTL0 0x00000000 +#define DDR_DRAMTMG0 0x121B2414 +#define DDR_DRAMTMG1 0x000A041C +#define DDR_DRAMTMG2 0x0608090F +#define DDR_DRAMTMG3 0x0050400C +#define DDR_DRAMTMG4 0x08040608 +#define DDR_DRAMTMG5 0x06060403 +#define DDR_DRAMTMG6 0x02020002 +#define DDR_DRAMTMG7 0x00000202 +#define DDR_DRAMTMG8 0x00001005 +#define DDR_DRAMTMG14 0x000000A0 +#define DDR_ZQCTL0 0xC2000040 +#define DDR_DFITMG0 0x02060105 +#define DDR_DFITMG1 0x00000202 +#define DDR_DFILPCFG0 0x07000000 +#define DDR_DFIUPD0 0xC0400003 +#define DDR_DFIUPD1 0x00000000 +#define DDR_DFIUPD2 0x00000000 +#define DDR_DFIPHYMSTR 0x00000000 +#define DDR_ODTCFG 0x06000600 +#define DDR_ODTMAP 0x00000001 +#define DDR_SCHED 0x00000C01 +#define DDR_SCHED1 0x00000000 +#define DDR_PERFHPR1 0x01000001 +#define DDR_PERFLPR1 0x08000200 +#define DDR_PERFWR1 0x08000400 +#define DDR_DBG0 0x00000000 +#define DDR_DBG1 0x00000000 +#define DDR_DBGCMD 0x00000000 +#define DDR_POISONCFG 0x00000000 +#define DDR_PCCFG 0x00000010 +#define DDR_PCFGR_0 0x00010000 +#define DDR_PCFGW_0 0x00000000 +#define DDR_PCFGQOS0_0 0x02100C03 +#define DDR_PCFGQOS1_0 0x00800100 +#define DDR_PCFGWQOS0_0 0x01100C03 +#define DDR_PCFGWQOS1_0 0x01000200 +#define DDR_PCFGR_1 0x00010000 +#define DDR_PCFGW_1 0x00000000 +#define DDR_PCFGQOS0_1 0x02100C03 +#define DDR_PCFGQOS1_1 0x00800040 +#define DDR_PCFGWQOS0_1 0x01100C03 +#define DDR_PCFGWQOS1_1 0x01000200 +#define DDR_ADDRMAP1 0x00070707 +#define DDR_ADDRMAP2 0x00000000 +#define DDR_ADDRMAP3 0x1F000000 +#define DDR_ADDRMAP4 0x00001F1F +#define DDR_ADDRMAP5 0x06060606 +#define DDR_ADDRMAP6 0x0F060606 +#define DDR_ADDRMAP9 0x00000000 +#define DDR_ADDRMAP10 0x00000000 +#define DDR_ADDRMAP11 0x00000000 +#define DDR_PGCR 0x01442E02 +#define DDR_PTR0 0x0022AA5B +#define DDR_PTR1 0x04841104 +#define DDR_PTR2 0x042DA068 +#define DDR_ACIOCR 0x10400812 +#define DDR_DXCCR 0x00000C40 +#define DDR_DSGCR 0xF200011F +#define DDR_DCR 0x0000000B +#define DDR_DTPR0 0x38D488D0 +#define DDR_DTPR1 0x098B00D8 +#define DDR_DTPR2 0x10023600 +#define DDR_MR0 0x00000840 +#define DDR_MR1 0x00000000 +#define DDR_MR2 0x00000208 +#define DDR_MR3 0x00000000 +#define DDR_ODTCR 0x00010000 +#define DDR_ZQ0CR1 0x00000038 +#define DDR_DX0GCR 0x0000CE81 +#define DDR_DX0DLLCR 0x40000000 +#define DDR_DX0DQTR 0x00112121 +#define DDR_DX0DQSTR 0x3D200000 +#define DDR_DX1GCR 0x0000CE81 +#define DDR_DX1DLLCR 0x40000000 +#define DDR_DX1DQTR 0x11100121 +#define DDR_DX1DQSTR 0x3D200000 +#define DDR_DX2GCR 0x0000CE80 +#define DDR_DX2DLLCR 0x40000000 +#define DDR_DX2DQTR 0xFFFFFFFF +#define DDR_DX2DQSTR 0x3DB02000 +#define DDR_DX3GCR 0x0000CE80 +#define DDR_DX3DLLCR 0x40000000 +#define DDR_DX3DQTR 0xFFFFFFFF +#define DDR_DX3DQSTR 0x3DB02000 + +#include "stm32mp15-ddr.dtsi" diff --git a/board/octavo/osd32mp1-brk/tfa-dts/stm32mp157c-osd32mp1-brk-fw-config.dts b/board/octavo/osd32mp1-brk/tfa-dts/stm32mp157c-osd32mp1-brk-fw-config.dts new file mode 100644 index 00000000000..256d0db9352 --- /dev/null +++ b/board/octavo/osd32mp1-brk/tfa-dts/stm32mp157c-osd32mp1-brk-fw-config.dts @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) +/* + * Copyright (c) 2020, STMicroelectronics - All Rights Reserved + */ + +#include "stm32mp15-ddr-512m-fw-config.dts" diff --git a/board/octavo/osd32mp1-brk/tfa-dts/stm32mp157c-osd32mp1-brk.dts b/board/octavo/osd32mp1-brk/tfa-dts/stm32mp157c-osd32mp1-brk.dts new file mode 100644 index 00000000000..4f21a21158f --- /dev/null +++ b/board/octavo/osd32mp1-brk/tfa-dts/stm32mp157c-osd32mp1-brk.dts @@ -0,0 +1,547 @@ +/* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */ +/* + * Copyright (C) STMicroelectronics 2020 - All Rights Reserved + * Author: STM32CubeMX code generation for STMicroelectronics. + */ + +/dts-v1/; +#include +#include +#include +#include + +#include "stm32mp157.dtsi" +#include "stm32mp15xc.dtsi" +#include "stm32mp15xxac-pinctrl.dtsi" +#include "osd32mp1_ddr_1x4Gb.dtsi" + +/ { + model = "Octavo OSD32MP1 BRK board"; + compatible = "st,stm32mp157c-osd32mp1-brk", "st,stm32mp157"; + + aliases { + serial0 = &uart4; + }; + + memory@c0000000 { + device_type = "memory"; + reg = <0xc0000000 0x20000000>; + }; + + vin: vin { + compatible = "regulator-fixed"; + regulator-name = "vin"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; +}; + +&bsec { + board_id: board_id@ec { + reg = <0xec 0x4>; + st,non-secure-otp; + }; +}; + +&clk_hse { + st,digbypass; +}; + +&cpu0 { + cpu-supply = <&vddcore>; +}; + +&cpu1 { + cpu-supply = <&vddcore>; +}; + +&hash1 { + status = "okay"; +}; + +&cryp1 { + status = "okay"; +}; + +&etzpc { + st,decprot = < + DECPROT(STM32MP1_ETZPC_USART1_ID, DECPROT_NS_RW, DECPROT_UNLOCK) + DECPROT(STM32MP1_ETZPC_SPI6_ID, DECPROT_NS_RW, DECPROT_UNLOCK) + DECPROT(STM32MP1_ETZPC_I2C4_ID, DECPROT_NS_RW, DECPROT_UNLOCK) + DECPROT(STM32MP1_ETZPC_I2C6_ID, DECPROT_NS_RW, DECPROT_UNLOCK) + DECPROT(STM32MP1_ETZPC_RNG1_ID, DECPROT_NS_RW, DECPROT_UNLOCK) + DECPROT(STM32MP1_ETZPC_HASH1_ID, DECPROT_NS_RW, DECPROT_UNLOCK) + DECPROT(STM32MP1_ETZPC_CRYP1_ID, DECPROT_NS_RW, DECPROT_UNLOCK) + DECPROT(STM32MP1_ETZPC_DDRCTRL_ID, DECPROT_NS_R_S_W, DECPROT_LOCK) + DECPROT(STM32MP1_ETZPC_DDRPHYC_ID, DECPROT_NS_R_S_W, DECPROT_LOCK) + DECPROT(STM32MP1_ETZPC_STGENC_ID, DECPROT_S_RW, DECPROT_LOCK) + DECPROT(STM32MP1_ETZPC_BKPSRAM_ID, DECPROT_S_RW, DECPROT_LOCK) + DECPROT(STM32MP1_ETZPC_IWDG1_ID, DECPROT_S_RW, DECPROT_LOCK) + >; +}; + + + +&i2c4 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c4_pins_z_mx>; + i2c-scl-rising-time-ns = <185>; + i2c-scl-falling-time-ns = <20>; + clock-frequency = <400000>; + status = "okay"; + secure-status = "okay"; + + pmic: stpmic@33 { + compatible = "st,stpmic1"; + reg = <0x33>; + interrupts-extended = <&exti_pwr 55 IRQ_TYPE_EDGE_FALLING>; + interrupt-controller; + #interrupt-cells = <2>; + status = "okay"; + secure-status = "okay"; + + regulators { + compatible = "st,stpmic1-regulators"; + buck1-supply = <&vin>; + buck2-supply = <&vin>; + buck3-supply = <&vin>; + buck4-supply = <&vin>; + ldo1-supply = <&v3v3>; + ldo2-supply = <&vin>; + ldo3-supply = <&vdd_ddr>; + ldo4-supply = <&vin>; + ldo5-supply = <&vin>; + ldo6-supply = <&v3v3>; + vref_ddr-supply = <&vin>; + boost-supply = <&vin>; + pwr_sw1-supply = <&bst_out>; + pwr_sw2-supply = <&bst_out>; + + vddcore: buck1 { + regulator-name = "vddcore"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1350000>; + regulator-always-on; + regulator-initial-mode = <0>; + regulator-over-current-protection; + lp-stop{ + regulator-on-in-suspend; + regulator-suspend-microvolt = <1200000>; + }; + standby-ddr-sr{ + regulator-off-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + vdd_ddr: buck2 { + regulator-name = "vdd_ddr"; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <1350000>; + regulator-always-on; + regulator-initial-mode = <0>; + regulator-over-current-protection; + lp-stop{ + regulator-suspend-microvolt = <1350000>; + regulator-on-in-suspend; + }; + standby-ddr-sr{ + regulator-suspend-microvolt = <1350000>; + regulator-on-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + vdd: buck3 { + regulator-name = "vdd"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + st,mask-reset; + regulator-initial-mode = <0>; + regulator-over-current-protection; + lp-stop{ + regulator-suspend-microvolt = <3300000>; + regulator-on-in-suspend; + }; + standby-ddr-sr{ + regulator-suspend-microvolt = <3300000>; + regulator-on-in-suspend; + }; + standby-ddr-off{ + regulator-suspend-microvolt = <3300000>; + regulator-on-in-suspend; + }; + }; + + v3v3: buck4 { + regulator-name = "v3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + regulator-over-current-protection; + regulator-initial-mode = <0>; + lp-stop{ + regulator-suspend-microvolt = <3300000>; + regulator-on-in-suspend; + }; + standby-ddr-sr{ + regulator-off-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + v1v8_ldo1: ldo1 { + regulator-name = "v1v8_audio"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + standby-ddr-sr{ + regulator-off-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + v3v3_ldo2: ldo2 { + regulator-name = "v3v3_hdmi"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + standby-ddr-sr{ + regulator-off-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + vtt_ddr: ldo3 { + regulator-name = "vtt_ddr"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <750000>; + regulator-always-on; + regulator-over-current-protection; + lp-stop{ + regulator-off-in-suspend; + }; + standby-ddr-sr{ + regulator-off-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + vdd_usb: ldo4 { + regulator-name = "vdd_usb"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + standby-ddr-sr{ + regulator-on-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + vdda: ldo5 { + regulator-name = "vdda"; + regulator-min-microvolt = <2900000>; + regulator-max-microvolt = <2900000>; + regulator-boot-on; + standby-ddr-sr{ + regulator-off-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + v1v2_ldo6: ldo6 { + regulator-name = "v1v2_ldo6"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + standby-ddr-sr{ + regulator-off-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + vref_ddr: vref_ddr { + regulator-name = "vref_ddr"; + regulator-always-on; + regulator-over-current-protection; + lp-stop{ + regulator-on-in-suspend; + }; + standby-ddr-sr{ + regulator-on-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + bst_out: boost { + regulator-name = "bst_out"; + }; + + vbus_otg: pwr_sw1 { + regulator-name = "vbus_otg"; + }; + + vbus_sw: pwr_sw2 { + regulator-name = "vbus_sw"; + regulator-active-discharge = <1>; + }; + }; + }; +}; + +&iwdg2 { + timeout-sec = <32>; + secure-timeout-sec = <5>; + status = "okay"; + secure-status = "okay"; +}; + +&nvmem_layout { + nvmem-cells = <&cfg0_otp>, + <&part_number_otp>, + <&monotonic_otp>, + <&nand_otp>, + <&uid_otp>, + <&package_otp>, + <&hw2_otp>, + <&pkh_otp>, + <&board_id>; + + nvmem-cell-names = "cfg0_otp", + "part_number_otp", + "monotonic_otp", + "nand_otp", + "uid_otp", + "package_otp", + "hw2_otp", + "pkh_otp", + "board_id"; +}; + +&pwr_regulators { + system_suspend_supported_soc_modes = < + STM32_PM_CSLEEP_RUN + STM32_PM_CSTOP_ALLOW_LP_STOP + STM32_PM_CSTOP_ALLOW_STANDBY_DDR_SR + >; + system_off_soc_mode = ; + vdd-supply = <&vdd>; + vdd_3v3_usbfs-supply = <&vdd_usb>; +}; + +&rcc { + st,hsi-cal; + st,csi-cal; + st,cal-sec = <60>; + st,clksrc = < + CLK_MPU_PLL1P + CLK_AXI_PLL2P + CLK_MCU_PLL3P + CLK_PLL12_HSE + CLK_PLL3_HSE + CLK_PLL4_HSE + CLK_RTC_LSE + CLK_MCO1_DISABLED + CLK_MCO2_DISABLED + >; + + st,clkdiv = < + 1 /*MPU*/ + 0 /*AXI*/ + 0 /*MCU*/ + 1 /*APB1*/ + 1 /*APB2*/ + 1 /*APB3*/ + 1 /*APB4*/ + 2 /*APB5*/ + 23 /*RTC*/ + 0 /*MCO1*/ + 0 /*MCO2*/ + >; + + st,pkcs = < + CLK_CKPER_HSE + CLK_FMC_ACLK + CLK_QSPI_ACLK + CLK_ETH_DISABLED + CLK_SDMMC12_PLL4P + CLK_DSI_DSIPLL + CLK_STGEN_HSE + CLK_USBPHY_HSE + CLK_SPI2S1_PLL3Q + CLK_SPI2S23_PLL3Q + CLK_SPI45_HSI + CLK_SPI6_HSI + CLK_I2C46_HSI + CLK_SDMMC3_PLL4P + CLK_USBO_USBPHY + CLK_ADC_CKPER + CLK_CEC_LSE + CLK_I2C12_HSI + CLK_I2C35_HSI + CLK_UART1_HSI + CLK_UART24_HSI + CLK_UART35_HSI + CLK_UART6_HSI + CLK_UART78_HSI + CLK_SPDIF_PLL4P + CLK_FDCAN_PLL4R + CLK_SAI1_PLL3Q + CLK_SAI2_PLL3Q + CLK_SAI3_PLL3Q + CLK_SAI4_PLL3Q + CLK_RNG1_LSI + CLK_RNG2_LSI + CLK_LPTIM1_PCLK1 + CLK_LPTIM23_PCLK3 + CLK_LPTIM45_LSE + >; + + /* VCO = 1066.0 MHz => P = 266 (AXI), Q = 533 (GPU), R = 533 (DDR) */ + pll2: st,pll@1 { + compatible = "st,stm32mp1-pll"; + reg = <1>; + cfg = <2 65 1 0 0 PQR(1,1,1)>; + frac = <0x1400>; + }; + + /* VCO = 417.8 MHz => P = 209, Q = 24, R = 11 */ + pll3: st,pll@2 { + compatible = "st,stm32mp1-pll"; + reg = <2>; + cfg = <1 33 1 16 36 PQR(1,1,1)>; + frac = <0x1a04>; + }; + + /* VCO = 594.0 MHz => P = 99, Q = 74, R = 74 */ + pll4: st,pll@3 { + compatible = "st,stm32mp1-pll"; + reg = <3>; + cfg = <3 98 5 7 7 PQR(1,1,1)>; + }; +}; + +&rng1 { + status = "okay"; + secure-status = "okay"; +}; + +&rtc { + status = "okay"; + secure-status = "okay"; +}; + +&sdmmc1 { + pinctrl-names = "default"; + pinctrl-0 = <&sdmmc1_pins_mx>; + disable-wp; + st,neg-edge; + bus-width = <4>; + vmmc-supply = <&v3v3>; + status = "okay"; +}; + +&timers15 { + secure-status = "okay"; + st,hsi-cal-input = <7>; + st,csi-cal-input = <8>; +}; +&uart4 { + pinctrl-names = "default"; + pinctrl-0 = <&uart4_pins_mx>; + status = "okay"; +}; + +&usbotg_hs { + phys = <&usbphyc_port1 0>; + phy-names = "usb2-phy"; + usb-role-switch; + status = "okay"; +}; + +&usbphyc { + status = "okay"; +}; + +&usbphyc_port0 { + phy-supply = <&vdd_usb>; +}; + +&usbphyc_port1 { + phy-supply = <&vdd_usb>; +}; + + + + +&pinctrl { + sdmmc1_pins_mx: sdmmc1-b4-0 { + pins1 { + pinmux = , /* SDMMC1_D0 */ + , /* SDMMC1_D1 */ + , /* SDMMC1_D2 */ + , /* SDMMC1_D3 */ + ; /* SDMMC1_CMD */ + slew-rate = <1>; + drive-push-pull; + bias-disable; + }; + pins2 { + pinmux = ; /* SDMMC1_CK */ + slew-rate = <2>; + drive-push-pull; + bias-disable; + }; + }; + + uart4_pins_mx: uart4-0 { + pins1 { + pinmux = ; /* UART4_TX */ + bias-disable; + drive-push-pull; + slew-rate = <0>; + }; + pins2 { + pinmux = ; /* UART4_RX */ + bias-disable; + }; + }; +}; + +&pinctrl_z { + i2c4_pins_z_mx: i2c4-0 { + pins { + pinmux = , /* I2C4_SCL */ + ; /* I2C4_SDA */ + bias-disable; + drive-open-drain; + slew-rate = <0>; + }; + }; +}; diff --git a/board/octavo/osd32mp1-red/genimage.cfg b/board/octavo/osd32mp1-red/genimage.cfg new file mode 100644 index 00000000000..bdad1914891 --- /dev/null +++ b/board/octavo/osd32mp1-red/genimage.cfg @@ -0,0 +1,23 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition fsbl1 { + image = "tf-a-stm32mp157c-osd32mp1-red.stm32" + } + + partition fsbl2 { + image = "tf-a-stm32mp157c-osd32mp1-red.stm32" + } + + partition fip { + image = "fip.bin" + size = 2M + } + + partition rootfs { + image = "rootfs.ext4" + bootable = "yes" + } +} diff --git a/board/octavo/osd32mp1-red/linux-dts/stm32mp157c-osd32mp1-red.dts b/board/octavo/osd32mp1-red/linux-dts/stm32mp157c-osd32mp1-red.dts new file mode 100644 index 00000000000..bf0e23c7615 --- /dev/null +++ b/board/octavo/osd32mp1-red/linux-dts/stm32mp157c-osd32mp1-red.dts @@ -0,0 +1,1440 @@ +/* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */ +/* + * Copyright (C) Octavo Systems 2021 - All Rights Reserved + * Author: Neeraj Dantu for Octavo Systems + */ + +/dts-v1/; + +#include +#include "stm32mp157.dtsi" +#include "stm32mp15xc.dtsi" +#include "stm32mp15xxac-pinctrl.dtsi" +#include "stm32mp15-m4-srm.dtsi" +#include +#include +#include + +/ { + model = "Octavo OSD32MP1 RED board"; + compatible = "octavo,stm32mp157c-osd32mp1-red", "st,stm32mp157"; + + memory@c0000000 { + device_type = "memory"; + reg = <0xc0000000 0x20000000>; + }; + + wifi_pwrseq: wifi-pwrseq { + compatible = "mmc-pwrseq-simple"; + reset-gpios = <&gpiog 5 GPIO_ACTIVE_LOW>; + }; + + clocks { + clk_ext_camera: clk-ext-camera { + #clock-cells = <0>; + compatible = "fixed-clock"; + clock-frequency = <24000000>; + }; + }; + + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + mcuram2:mcuram2@10000000{ + compatible = "shared-dma-pool"; + reg = <0x10000000 0x40000>; + no-map; + }; + + vdev0vring0:vdev0vring0@10040000{ + compatible = "shared-dma-pool"; + reg = <0x10040000 0x1000>; + no-map; + }; + + vdev0vring1:vdev0vring1@10041000{ + compatible = "shared-dma-pool"; + reg = <0x10041000 0x1000>; + no-map; + }; + + vdev0buffer:vdev0buffer@10042000{ + compatible = "shared-dma-pool"; + reg = <0x10042000 0x4000>; + no-map; + }; + + mcuram:mcuram@30000000{ + compatible = "shared-dma-pool"; + reg = <0x30000000 0x40000>; + no-map; + }; + + retram:retram@38000000{ + compatible = "shared-dma-pool"; + reg = <0x38000000 0x10000>; + no-map; + }; + + gpu_reserved:gpu@d4000000{ + reg = <0xd4000000 0x4000000>; + no-map; + }; + }; + + + aliases { + ethernet0 = ðernet0; + serial0 = &uart4; + serial1 = &usart3; + serial2 = &uart7; + serial3 = &usart2; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + led { + compatible = "gpio-leds"; + blue { + label = "heartbeat"; + gpios = <&gpiod 11 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "heartbeat"; + default-state = "off"; + }; + }; + + usb_phy_tuning:usb-phy-tuning{ + st,hs-dc-level = <2>; + st,fs-rftime-tuning; + st,hs-rftime-reduction; + st,hs-current-trim = <15>; + st,hs-impedance-trim = <1>; + st,squelch-level = <3>; + st,hs-rx-offset = <2>; + st,no-lsfs-sc; + }; + + vin:vin{ + compatible = "regulator-fixed"; + regulator-name = "vin"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; + + sound { + compatible = "audio-graph-card"; + label = "STM32MP15-DK"; + dais = <&i2s2_port>; + status = "okay"; + }; +}; + +&pinctrl { + u-boot,dm-pre-reloc; + dcmi_pins_mx: dcmi_mx-0 { + pins { + pinmux = , /* DCMI_HSYNC */ + , /* DCMI_PIXCLK */ + , /* DCMI_D1 */ + , /* DCMI_D7 */ + , /* DCMI_D0 */ + , /* DCMI_D2 */ + , /* DCMI_D3 */ + , /* DCMI_D4 */ + , /* DCMI_D6 */ + , /* DCMI_VSYNC */ + , /* DCMI_D8 */ + , /* DCMI_D9 */ + , /* DCMI_D11 */ + , /* DCMI_D10 */ + ; /* DCMI_D5 */ + bias-disable; + }; + }; + + dcmi_sleep_pins_mx: dcmi_sleep_mx-0 { + pins { + pinmux = , /* DCMI_HSYNC */ + , /* DCMI_PIXCLK */ + , /* DCMI_D1 */ + , /* DCMI_D7 */ + , /* DCMI_D0 */ + , /* DCMI_D2 */ + , /* DCMI_D3 */ + , /* DCMI_D4 */ + , /* DCMI_D6 */ + , /* DCMI_VSYNC */ + , /* DCMI_D8 */ + , /* DCMI_D9 */ + , /* DCMI_D11 */ + , /* DCMI_D10 */ + ; /* DCMI_D5 */ + }; + }; + + eth1_pins_mx: eth1_mx-0 { + pins1 { + pinmux = , /* ETH1_RX_CLK */ + , /* ETH1_RX_CTL */ + , /* ETH1_RXD2 */ + , /* ETH1_RXD3 */ + , /* ETH1_RXD0 */ + ; /* ETH1_RXD1 */ + bias-disable; + }; + pins2 { + pinmux = ; /* ETH1_MDIO */ + bias-disable; + drive-push-pull; + slew-rate = <0>; + }; + pins3 { + pinmux = , /* ETH1_TX_CTL */ + , /* ETH1_MDC */ + , /* ETH1_TXD2 */ + , /* ETH1_TXD3 */ + , /* ETH1_GTX_CLK */ + , /* ETH1_TXD0 */ + ; /* ETH1_TXD1 */ + bias-disable; + drive-push-pull; + slew-rate = <2>; + }; + }; + + eth1_sleep_pins_mx: eth1_sleep_mx-0 { + pins { + pinmux = , /* ETH1_RX_CLK */ + , /* ETH1_MDIO */ + , /* ETH1_RX_CTL */ + , /* ETH1_RXD2 */ + , /* ETH1_RXD3 */ + , /* ETH1_TX_CTL */ + , /* ETH1_MDC */ + , /* ETH1_TXD2 */ + , /* ETH1_RXD0 */ + , /* ETH1_RXD1 */ + , /* ETH1_TXD3 */ + , /* ETH1_GTX_CLK */ + , /* ETH1_TXD0 */ + ; /* ETH1_TXD1 */ + }; + }; + + i2c1_pins_mx: i2c1_mx-0 { + pins { + pinmux = , /* I2C1_SCL */ + ; /* I2C1_SDA */ + bias-disable; + drive-open-drain; + slew-rate = <0>; + }; + }; + + i2c1_sleep_pins_mx: i2c1_sleep_mx-0 { + pins { + pinmux = , /* I2C1_SCL */ + ; /* I2C1_SDA */ + }; + }; + + i2c2_pins_mx: i2c2_mx-0 { + pins { + pinmux = ; /* I2C2_SDA */ + bias-disable; + drive-open-drain; + slew-rate = <0>; + }; + }; + + i2c2_sleep_pins_mx: i2c2_sleep_mx-0 { + pins { + pinmux = ; /* I2C2_SDA */ + }; + }; + + i2c5_pins_mx: i2c5_mx-0 { + pins { + pinmux = , /* I2C5_SCL */ + ; /* I2C5_SDA */ + bias-disable; + drive-open-drain; + slew-rate = <0>; + }; + }; + + i2c5_sleep_pins_mx: i2c5_sleep_mx-0 { + pins { + pinmux = , /* I2C5_SCL */ + ; /* I2C5_SDA */ + }; + }; + + i2s2_pins_mx: i2s2_mx-0 { + pins { + pinmux = , /* I2S2_WS */ + , /* I2S2_CK */ + ; /* I2S2_SDO */ + bias-disable; + drive-push-pull; + slew-rate = <1>; + }; + }; + + i2s2_sleep_pins_mx: i2s2_sleep_mx-0 { + pins { + pinmux = , /* I2S2_WS */ + , /* I2S2_CK */ + ; /* I2S2_SDO */ + }; + }; + + ltdc_pins_mx: ltdc_mx-0 { + pins1 { + pinmux = , /* LTDC_B5 */ + , /* LTDC_B6 */ + , /* LTDC_R5 */ + , /* LTDC_B7 */ + , /* LTDC_B0 */ + , /* LTDC_B3 */ + , /* LTDC_G1 */ + , /* LTDC_B4 */ + , /* LTDC_G0 */ + , /* LTDC_R7 */ + , /* LTDC_DE */ + , /* LTDC_B2 */ + , /* LTDC_B1 */ + , /* LTDC_R0 */ + , /* LTDC_R1 */ + , /* LTDC_G4 */ + , /* LTDC_R2 */ + , /* LTDC_R3 */ + , /* LTDC_R4 */ + , /* LTDC_R6 */ + , /* LTDC_G2 */ + , /* LTDC_G3 */ + , /* LTDC_G5 */ + , /* LTDC_G6 */ + , /* LTDC_G7 */ + , /* LTDC_VSYNC */ + ; /* LTDC_HSYNC */ + bias-disable; + drive-push-pull; + slew-rate = <0>; + }; + pins2 { + pinmux = ; /* LTDC_CLK */ + bias-disable; + drive-push-pull; + slew-rate = <1>; + }; + }; + + ltdc_sleep_pins_mx: ltdc_sleep_mx-0 { + pins { + pinmux = , /* LTDC_B5 */ + , /* LTDC_B6 */ + , /* LTDC_R5 */ + , /* LTDC_B7 */ + , /* LTDC_B0 */ + , /* LTDC_B3 */ + , /* LTDC_G1 */ + , /* LTDC_B4 */ + , /* LTDC_G0 */ + , /* LTDC_R7 */ + , /* LTDC_DE */ + , /* LTDC_CLK */ + , /* LTDC_B2 */ + , /* LTDC_B1 */ + , /* LTDC_R0 */ + , /* LTDC_R1 */ + , /* LTDC_G4 */ + , /* LTDC_R2 */ + , /* LTDC_R3 */ + , /* LTDC_R4 */ + , /* LTDC_R6 */ + , /* LTDC_G2 */ + , /* LTDC_G3 */ + , /* LTDC_G5 */ + , /* LTDC_G6 */ + , /* LTDC_G7 */ + , /* LTDC_VSYNC */ + ; /* LTDC_HSYNC */ + }; + }; + + sdmmc1_pins_mx: sdmmc1_mx-0 { + u-boot,dm-pre-reloc; + pins1 { + u-boot,dm-pre-reloc; + pinmux = , /* SDMMC1_D0 */ + , /* SDMMC1_D1 */ + , /* SDMMC1_D2 */ + , /* SDMMC1_D3 */ + ; /* SDMMC1_CMD */ + bias-disable; + drive-push-pull; + slew-rate = <1>; + }; + pins2 { + u-boot,dm-pre-reloc; + pinmux = ; /* SDMMC1_CK */ + bias-disable; + drive-push-pull; + slew-rate = <2>; + }; + }; + + sdmmc1_opendrain_pins_mx: sdmmc1_opendrain_mx-0 { + u-boot,dm-pre-reloc; + pins1 { + u-boot,dm-pre-reloc; + pinmux = , /* SDMMC1_D0 */ + , /* SDMMC1_D1 */ + , /* SDMMC1_D2 */ + ; /* SDMMC1_D3 */ + bias-disable; + drive-push-pull; + slew-rate = <1>; + }; + pins2 { + u-boot,dm-pre-reloc; + pinmux = ; /* SDMMC1_CK */ + bias-disable; + drive-push-pull; + slew-rate = <2>; + }; + pins3 { + u-boot,dm-pre-reloc; + pinmux = ; /* SDMMC1_CMD */ + bias-disable; + drive-open-drain; + slew-rate = <1>; + }; + }; + + sdmmc1_sleep_pins_mx: sdmmc1_sleep_mx-0 { + u-boot,dm-pre-reloc; + pins { + u-boot,dm-pre-reloc; + pinmux = , /* SDMMC1_D0 */ + , /* SDMMC1_D1 */ + , /* SDMMC1_D2 */ + , /* SDMMC1_D3 */ + , /* SDMMC1_CK */ + ; /* SDMMC1_CMD */ + }; + }; + + sdmmc2_pins_mx: sdmmc2_mx-0 { + u-boot,dm-pre-reloc; + pins1 { + u-boot,dm-pre-reloc; + pinmux = , /* SDMMC2_D4 */ + , /* SDMMC2_D5 */ + , /* SDMMC2_D2 */ + , /* SDMMC2_D3 */ + , /* SDMMC2_D0 */ + , /* SDMMC2_D1 */ + , /* SDMMC2_D7 */ + , /* SDMMC2_D6 */ + ; /* SDMMC2_CMD */ + bias-pull-up; + drive-push-pull; + slew-rate = <1>; + }; + pins2 { + u-boot,dm-pre-reloc; + pinmux = ; /* SDMMC2_CK */ + bias-pull-up; + drive-push-pull; + slew-rate = <2>; + }; + }; + + sdmmc2_opendrain_pins_mx: sdmmc2_opendrain_mx-0 { + u-boot,dm-pre-reloc; + pins1 { + u-boot,dm-pre-reloc; + pinmux = , /* SDMMC2_D4 */ + , /* SDMMC2_D5 */ + , /* SDMMC2_D2 */ + , /* SDMMC2_D3 */ + , /* SDMMC2_D0 */ + , /* SDMMC2_D1 */ + , /* SDMMC2_D7 */ + ; /* SDMMC2_D6 */ + bias-pull-up; + drive-push-pull; + slew-rate = <1>; + }; + pins2 { + u-boot,dm-pre-reloc; + pinmux = ; /* SDMMC2_CK */ + bias-pull-up; + drive-push-pull; + slew-rate = <2>; + }; + pins3 { + u-boot,dm-pre-reloc; + pinmux = ; /* SDMMC2_CMD */ + bias-pull-up; + drive-open-drain; + slew-rate = <1>; + }; + }; + + sdmmc2_sleep_pins_mx: sdmmc2_sleep_mx-0 { + u-boot,dm-pre-reloc; + pins { + u-boot,dm-pre-reloc; + pinmux = , /* SDMMC2_D4 */ + , /* SDMMC2_D5 */ + , /* SDMMC2_D2 */ + , /* SDMMC2_D3 */ + , /* SDMMC2_D0 */ + , /* SDMMC2_D1 */ + , /* SDMMC2_D7 */ + , /* SDMMC2_CK */ + , /* SDMMC2_D6 */ + ; /* SDMMC2_CMD */ + }; + }; + + sdmmc3_pins_mx: sdmmc3_mx-0 { + u-boot,dm-pre-reloc; + pins1 { + u-boot,dm-pre-reloc; + pinmux = , /* SDMMC3_D3 */ + , /* SDMMC3_D0 */ + , /* SDMMC3_CMD */ + , /* SDMMC3_D1 */ + ; /* SDMMC3_D2 */ + bias-disable; + drive-push-pull; + slew-rate = <1>; + }; + pins2 { + u-boot,dm-pre-reloc; + pinmux = ; /* SDMMC3_CK */ + bias-disable; + drive-push-pull; + slew-rate = <2>; + }; + }; + + sdmmc3_opendrain_pins_mx: sdmmc3_opendrain_mx-0 { + u-boot,dm-pre-reloc; + pins1 { + u-boot,dm-pre-reloc; + pinmux = , /* SDMMC3_D3 */ + , /* SDMMC3_D0 */ + , /* SDMMC3_D1 */ + ; /* SDMMC3_D2 */ + bias-disable; + drive-push-pull; + slew-rate = <1>; + }; + pins2 { + u-boot,dm-pre-reloc; + pinmux = ; /* SDMMC3_CMD */ + bias-disable; + drive-open-drain; + slew-rate = <1>; + }; + pins3 { + u-boot,dm-pre-reloc; + pinmux = ; /* SDMMC3_CK */ + bias-disable; + drive-push-pull; + slew-rate = <2>; + }; + }; + + sdmmc3_sleep_pins_mx: sdmmc3_sleep_mx-0 { + u-boot,dm-pre-reloc; + pins { + u-boot,dm-pre-reloc; + pinmux = , /* SDMMC3_D3 */ + , /* SDMMC3_D0 */ + , /* SDMMC3_CMD */ + , /* SDMMC3_D1 */ + , /* SDMMC3_D2 */ + ; /* SDMMC3_CK */ + }; + }; + + spi5_pins_mx: spi5_mx-0 { + pins { + pinmux = , /* SPI5_SCK */ + , /* SPI5_MISO */ + ; /* SPI5_MOSI */ + bias-disable; + drive-push-pull; + slew-rate = <1>; + }; + }; + + spi5_sleep_pins_mx: spi5_sleep_mx-0 { + pins { + pinmux = , /* SPI5_SCK */ + , /* SPI5_MISO */ + ; /* SPI5_MOSI */ + }; + }; + + tim5_pwm_pins_mx: tim5_pwm_mx-0 { + pins { + pinmux = ; /* TIM5_CH2 */ + bias-disable; + drive-push-pull; + slew-rate = <0>; + }; + }; + + tim5_pwm_sleep_pins_mx: tim5_pwm_sleep_mx-0 { + pins { + pinmux = ; /* TIM5_CH2 */ + }; + }; + + uart4_pins_mx: uart4_mx-0 { + u-boot,dm-pre-reloc; + pins1 { + u-boot,dm-pre-reloc; + pinmux = ; /* UART4_RX */ + bias-disable; + }; + pins2 { + u-boot,dm-pre-reloc; + pinmux = ; /* UART4_TX */ + bias-disable; + drive-push-pull; + slew-rate = <0>; + }; + }; + + uart4_sleep_pins_mx: uart4_sleep_mx-0 { + u-boot,dm-pre-reloc; + pins { + u-boot,dm-pre-reloc; + pinmux = , /* UART4_RX */ + ; /* UART4_TX */ + }; + }; + + usart2_pins_mx: usart2_mx-0 { + pins1 { + pinmux = , /* USART2_CTS */ + ; /* USART2_RX */ + bias-disable; + }; + pins2 { + pinmux = , /* USART2_RTS */ + ; /* USART2_TX */ + bias-disable; + drive-push-pull; + slew-rate = <0>; + }; + }; + + usart2_sleep_pins_mx: usart2_sleep_mx-0 { + pins { + pinmux = , /* USART2_CTS */ + , /* USART2_RTS */ + , /* USART2_TX */ + ; /* USART2_RX */ + }; + }; + + cec_pins_mx: cec-1 { + pins { + pinmux = ; + bias-disable; + drive-open-drain; + slew-rate = <0>; + }; + }; + + cec_sleep_pins_mx: cec-sleep-1 { + pins { + pinmux = ; /* HDMI_CEC */ + }; + }; + + stusb1600_pins_mx: stusb1600-0 { + pins { + pinmux = ; + bias-pull-up; + }; + }; + + m_can1_pins_mx: m_can1_sleep_mx-0 { + pins1 { + pinmux = ; /* CAN1_TX */ + slew-rate = <0>; + drive-push-pull; + bias-disable; + }; + pins2 { + pinmux = ; /* CAN1_RX */ + bias-disable; + }; + }; + + m_can1_sleep_pins_mx: m_can1_sleep-0 { + pins { + pinmux = , /* CAN1_TX */ + ; /* CAN1_RX */ + }; + }; + +}; + +&pinctrl_z { + u-boot,dm-pre-reloc; + + i2c2_pins_z_mx: i2c2_mx-0 { + pins { + pinmux = ; /* I2C2_SCL */ + bias-disable; + drive-open-drain; + slew-rate = <0>; + }; + }; + + i2c2_sleep_pins_z_mx: i2c2_sleep_mx-0 { + pins { + pinmux = ; /* I2C2_SCL */ + }; + }; + + i2c4_pins_z_mx: i2c4_mx-0 { + u-boot,dm-pre-reloc; + pins { + u-boot,dm-pre-reloc; + pinmux = , /* I2C4_SCL */ + ; /* I2C4_SDA */ + bias-disable; + drive-open-drain; + slew-rate = <0>; + }; + }; + + i2c4_sleep_pins_z_mx: i2c4_sleep_mx-0 { + u-boot,dm-pre-reloc; + pins { + u-boot,dm-pre-reloc; + pinmux = , /* I2C4_SCL */ + ; /* I2C4_SDA */ + }; + }; +}; + +&m4_rproc{ + memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>, + <&vdev0vring1>, <&vdev0buffer>; + mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>; + mbox-names = "vq0", "vq1", "shutdown"; + interrupt-parent = <&exti>; + interrupts = <68 1>; + wakeup-source; + status = "okay"; +}; + +&dcmi{ + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&dcmi_pins_mx>; + pinctrl-1 = <&dcmi_sleep_pins_mx>; + status = "okay"; + + port { + dcmi_0: endpoint { + remote-endpoint = <&ov5640_0>; + bus-width = <8>; + hsync-active = <0>; + vsync-active = <0>; + pclk-sample = <1>; + pclk-max-frequency = <77000000>; + }; + }; +}; + +&dsi{ + status = "okay"; + + ports { + port@0 { + reg = <0>; + dsi_in: endpoint { + remote-endpoint = <<dc_ep1_out>; + }; + }; + + port@1 { + reg = <1>; + dsi_out: endpoint { + remote-endpoint = <&panel_in>; + }; + }; + }; + + panel_otm8009a: panel-otm8009a@0 { + compatible = "orisetech,otm8009a"; + reg = <0>; + reset-gpios = <&gpioe 9 GPIO_ACTIVE_LOW>; + power-supply = <&v3v3>; + status = "okay"; + + port { + panel_in: endpoint { + remote-endpoint = <&dsi_out>; + }; + }; + }; +}; + +ðernet0{ + pinctrl-names = "default", "sleep"; + pinctrl-0 = <ð1_pins_mx>; + pinctrl-1 = <ð1_sleep_pins_mx>; + status = "okay"; + + + st,eth-clk-sel; //custom + phy-mode = "rgmii-id"; + max-speed = <1000>; + phy-handle = <&phy0>; + nvmem-cells = <ðernet_mac_address>; + nvmem-cell-names = "mac-address"; + + mdio0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "snps,dwmac-mdio"; + phy0: ethernet-phy@0 { + reg = <3>; + }; + }; +}; + +&gpu{ + status = "okay"; + contiguous-area = <&gpu_reserved>; +}; + +&hash1 { + status = "okay"; +}; + +&hsem{ + status = "okay"; +}; + +&cryp1{ + u-boot,dm-pre-reloc; + status = "okay"; +}; + +&i2c1{ + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&i2c1_pins_mx>; + pinctrl-1 = <&i2c1_sleep_pins_mx>; + status = "okay"; + i2c-scl-rising-time-ns = <100>; + i2c-scl-falling-time-ns = <7>; + /delete-property/dmas; + /delete-property/dma-names; + + touchscreen@2a { + compatible = "focaltech,ft6236"; + reg = <0x2a>; + interrupts = <2 2>; + interrupt-parent = <&gpiof>; + interrupt-controller; + touchscreen-size-x = <480>; + touchscreen-size-y = <800>; + panel = <&panel_otm8009a>; + vcc-supply = <&v3v3>; + status = "okay"; + }; + touchscreen@38 { + compatible = "focaltech,ft6236"; + reg = <0x38>; + interrupts = <2 2>; + interrupt-parent = <&gpiof>; + interrupt-controller; + touchscreen-size-x = <480>; + touchscreen-size-y = <800>; + panel = <&panel_otm8009a>; + vcc-supply = <&v3v3>; + status = "okay"; + }; + + hdmi-transmitter@39 { + compatible = "sil,sii9022"; + reg = <0x39>; + reset-gpios = <&gpiog 0 GPIO_ACTIVE_LOW>; + interrupts = <1 IRQ_TYPE_EDGE_FALLING>; + interrupt-parent = <&gpiog>; + #sound-dai-cells = <0>; + status = "okay"; + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + sii9022_in: endpoint { + remote-endpoint = <<dc_ep0_out>; + }; + }; + + port@3 { + reg = <3>; + sii9022_tx_endpoint: endpoint { + remote-endpoint = <&i2s2_endpoint>; + }; + }; + }; + }; +}; + +&i2c2{ + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&i2c2_pins_mx &i2c2_pins_z_mx>; + pinctrl-1 = <&i2c2_sleep_pins_mx &i2c2_sleep_pins_z_mx>; + status = "okay"; + i2c-scl-rising-time-ns = <185>; + i2c-scl-falling-time-ns = <20>; + /delete-property/dmas; + /delete-property/dma-names; + + ov5640: camera@3c { + compatible = "ovti,ov5640"; + reg = <0x3c>; + clocks = <&clk_ext_camera>; + clock-names = "xclk"; + DOVDD-supply = <&v3v3>; + //powerdown-gpios = <&stmfx_pinctrl 18 (GPIO_ACTIVE_HIGH | GPIO_PUSH_PULL)>; + //reset-gpios = <&stmfx_pinctrl 19 (GPIO_ACTIVE_LOW | GPIO_PUSH_PULL)>; + //powerdown-gpios = <&gpioc 3 GPIO_ACTIVE_HIGH>; //custom + //reset-gpios = <&gpioa 14 GPIO_ACTIVE_LOW>; //custom + rotation = <180>; + status = "okay"; + + port { + ov5640_0: endpoint { + remote-endpoint = <&dcmi_0>; + bus-width = <8>; + data-shift = <2>; /* lines 9:2 are used */ + hsync-active = <0>; + vsync-active = <0>; + pclk-sample = <1>; + pclk-max-frequency = <77000000>; + }; + }; + }; +}; + +&i2c4{ + u-boot,dm-pre-reloc; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&i2c4_pins_z_mx>; + pinctrl-1 = <&i2c4_sleep_pins_z_mx>; + status = "okay"; + i2c-scl-rising-time-ns = <185>; + i2c-scl-falling-time-ns = <20>; + clock-frequency = <400000>; + /delete-property/ dmas; + /delete-property/ dma-names; + + typec: stusb1600@28 { + compatible = "st,stusb1600"; + reg = <0x28>; + interrupt-parent = <&gpioe>; + interrupts = <8 IRQ_TYPE_EDGE_FALLING>; + pinctrl-0 = <&stusb1600_pins_mx>; + pinctrl-names = "default"; + status = "okay"; + vdd-supply = <&vin>; + + typec_con: connector { + compatible = "usb-c-connector"; + label = "USB-C"; + power-role = "dual"; + power-opmode = "default"; + + port { + con_usbotg_hs_ep: endpoint { + remote-endpoint = <&usbotg_hs_ep>; + }; + }; + }; + }; + + pmic:stpmic@33{ + compatible = "st,stpmic1"; + reg = <0x33>; + interrupts-extended = <&exti_pwr 55 IRQ_TYPE_EDGE_FALLING>; + interrupt-controller; + #interrupt-cells = <2>; + status = "okay"; + + st,main-control-register = <0x04>; + st,vin-control-register = <0xc0>; + st,usb-control-register = <0x20>; + + regulators{ + compatible = "st,stpmic1-regulators"; + buck1-supply = <&vin>; + buck2-supply = <&vin>; + buck3-supply = <&vin>; + buck4-supply = <&vin>; + ldo1-supply = <&v3v3>; + ldo2-supply = <&vin>; + ldo3-supply = <&vdd_ddr>; + ldo4-supply = <&vin>; + ldo5-supply = <&vin>; + ldo6-supply = <&v3v3>; + vref_ddr-supply = <&vin>; + boost-supply = <&vin>; + pwr_sw1-supply = <&bst_out>; + pwr_sw2-supply = <&bst_out>; + + + vddcore:buck1{ + regulator-name = "vddcore"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1350000>; + regulator-always-on; + regulator-initial-mode = <0>; + regulator-over-current-protection; + }; + + vdd_ddr:buck2{ + regulator-name = "vdd_ddr"; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <1350000>; + regulator-always-on; + regulator-initial-mode = <0>; + regulator-over-current-protection; + }; + + vdd:buck3{ + regulator-name = "vdd"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + st,mask-reset; + regulator-initial-mode = <0>; + regulator-over-current-protection; + }; + + v3v3:buck4{ + regulator-name = "v3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + regulator-over-current-protection; + regulator-initial-mode = <0>; + }; + + v1v8_audio:ldo1{ + regulator-name = "v1v8_audio"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + interrupts = ; + }; + + v3v3_hdmi:ldo2{ + regulator-name = "v3v3_hdmi"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + interrupts = ; + }; + + vtt_ddr:ldo3{ + regulator-name = "vtt_ddr"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <750000>; + regulator-always-on; + regulator-over-current-protection; + }; + + vdd_usb:ldo4{ + regulator-name = "vdd_usb"; + interrupts = ; + }; + + v3v3_eth:ldo5{ + regulator-name = "v3v3_eth"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + interrupts = ; + regulator-boot-on; + }; + + v3v3_dsi:ldo6{ + regulator-name = "v3v3_dsi"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + interrupts = ; + }; + + vref_ddr:vref_ddr{ + regulator-name = "vref_ddr"; + regulator-always-on; + regulator-over-current-protection; + }; + + bst_out:boost{ + regulator-name = "bst_out"; + interrupts = ; + regulator-always-on; + }; + + vbus_otg:pwr_sw1{ + regulator-name = "vbus_otg"; + interrupts = ; + regulator-active-discharge; + regulator-always-on; + }; + + vbus_sw:pwr_sw2{ + regulator-name = "vbus_sw"; + interrupts = ; + regulator-active-discharge = <1>; + regulator-always-on; + }; + }; + + onkey{ + compatible = "st,stpmic1-onkey"; + interrupts = , ; + interrupt-names = "onkey-falling", "onkey-rising"; + power-off-time-sec = <10>; + status = "okay"; + }; + + watchdog { + compatible = "st,stpmic1-wdt"; + status = "disabled"; + }; + }; + eeprom@50 { + compatible = "atmel,24c02"; + reg = <0x50>; + pagesize = <16>; + }; +}; + +&i2c5{ + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&i2c5_pins_mx>; + pinctrl-1 = <&i2c5_sleep_pins_mx>; + status = "okay"; + + /delete-property/dmas; + /delete-property/dma-names; + +}; + +&spi5 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&spi5_pins_mx>; + pinctrl-1 = <&spi5_sleep_pins_mx>; + cs-gpios = <&gpiof 6 0>; + status = "okay"; + + spidev: spidev@0 { + compatible = "rohm,dh2228fv"; + spi-max-frequency = <30000000>; + reg = <0>; + }; +}; + +&i2s2{ + clocks = <&rcc SPI2>, <&rcc SPI2_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>; + clock-names = "pclk", "i2sclk", "x8k", "x11k"; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&i2s2_pins_mx>; + pinctrl-1 = <&i2s2_sleep_pins_mx>; + status = "okay"; + + i2s2_port: port { + i2s2_endpoint: endpoint { + remote-endpoint = <&sii9022_tx_endpoint>; + format = "i2s"; + mclk-fs = <256>; + }; + }; +}; + +&ipcc{ + status = "okay"; +}; + +&iwdg2{ + status = "okay"; + timeout-sec = <32>; +}; + +<dc{ + pinctrl-names = "default", "sleep"; + pinctrl-0 = <<dc_pins_mx>; + pinctrl-1 = <<dc_sleep_pins_mx>; + status = "okay"; + port { + ltdc_ep0_out: endpoint@0 { + reg = <0>; + remote-endpoint = <&sii9022_in>; + }; + + ltdc_ep1_out: endpoint@1 { + reg = <1>; + remote-endpoint = <&dsi_in>; + }; + }; +}; + +&pwr_regulators { + vdd-supply = <&vdd>; + vdd_3v3_usbfs-supply = <&vdd_usb>; +}; + +&rcc{ + u-boot,dm-pre-reloc; + status = "okay"; +}; + +&rng1{ + status = "okay"; +}; + +&rtc{ + status = "okay"; +}; + +&cec { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&cec_pins_mx>; + pinctrl-1 = <&cec_sleep_pins_mx>; + status = "okay"; +}; + +&cpu0{ + cpu-supply = <&vddcore>; +}; + +&cpu1{ + cpu-supply = <&vddcore>; +}; + +&crc1 { + status = "okay"; +}; + +&dts { + status = "okay"; +}; + +&sdmmc1{ + u-boot,dm-pre-reloc; + pinctrl-names = "default", "opendrain", "sleep"; + pinctrl-0 = <&sdmmc1_pins_mx>; + pinctrl-1 = <&sdmmc1_opendrain_pins_mx>; + pinctrl-2 = <&sdmmc1_sleep_pins_mx>; + status = "okay"; + + cd-gpios = <&gpioe 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + disable-wp; + st,neg-edge; + bus-width = <4>; + vmmc-supply = <&v3v3>; +}; + +&sdmmc2{ + u-boot,dm-pre-reloc; + pinctrl-names = "default", "opendrain", "sleep"; + pinctrl-0 = <&sdmmc2_pins_mx>; + pinctrl-1 = <&sdmmc2_opendrain_pins_mx>; + pinctrl-2 = <&sdmmc2_sleep_pins_mx>; + status = "okay"; + non-removable; + no-sd; + no-sdio; + st,neg-edge; + bus-width = <8>; + vmmc-supply = <&v3v3>; + vqmmc-supply = <&v3v3>; + mmc-ddr-3_3v; +}; + +&sdmmc3{ + pinctrl-names = "default", "opendrain", "sleep"; + pinctrl-0 = <&sdmmc3_pins_mx>; + pinctrl-1 = <&sdmmc3_opendrain_pins_mx>; + pinctrl-2 = <&sdmmc3_sleep_pins_mx>; + arm,primecell-periphid = <0x10153180>; + non-removable; + st,neg-edge; + bus-width = <4>; + vmmc-supply = <&v3v3>; + mmc-pwrseq = <&wifi_pwrseq>; + #address-cells = <1>; + #size-cells = <0>; + keep-power-in-suspend; + status = "okay"; + + brcmf: bcrmf@1 { + reg = <1>; + compatible = "brcm,bcm4329-fmac"; + }; +}; + +&tamp{ + status = "okay"; +}; + +&timers5 { + /delete-property/dmas; + /delete-property/dma-names; + status = "okay"; + pwm { + pinctrl-0 = <&tim5_pwm_pins_mx>; + pinctrl-1 = <&tim5_pwm_sleep_pins_mx>; + pinctrl-names = "default", "sleep"; + status = "okay"; + }; + timer@4 { + status = "okay"; + }; +}; + +&uart4{ + u-boot,dm-pre-reloc; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart4_pins_mx>; + pinctrl-1 = <&uart4_sleep_pins_mx>; + /delete-property/dmas; + /delete-property/dma-names; + status = "okay"; +}; + +&usart2{ + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&usart2_pins_mx>; + pinctrl-1 = <&usart2_sleep_pins_mx>; + uart-has-rtscts; + status = "okay"; + + bluetooth { + shutdown-gpios = <&gpioe 10 GPIO_ACTIVE_HIGH>; + compatible = "brcm,bcm43438-bt"; + max-speed = <3000000>; + vbat-supply = <&v3v3>; + vddio-supply = <&v3v3>; + }; +}; + +&sram { + dma_pool: dma_pool@0 { + reg = <0x50000 0x10000>; + pool; + }; +}; + +&dma1 { + sram = <&dma_pool>; +}; + +&dma2 { + sram = <&dma_pool>; +}; + +&adc { + vdd-supply = <&vdd>; + vdda-supply = <&v3v3_eth>; + vref-supply = <&v3v3_eth>; + status = "okay"; + adc1: adc@0 { + st,min-sample-time-nsecs = <5000>; + st,adc-channels = <0 1>; + status = "okay"; + }; + + adc_temp: temp { + status = "okay"; + }; +}; + + +// WARNING: Do not try to enable DAC1 and DCMI +// This devices share the same pin PA4 +/* &dac { + pinctrl-names = "default"; + status = "okay"; + dac1: dac@1 { + pinctrl-0 = <&dac_ch1_pins_a>; + status = "disabled"; + }; + dac2: dac@2 { + pinctrl-0 = <&dac_ch2_pins_a>; + status = "okay"; + }; +};*/ + +&usbh_ehci { + phys = <&usbphyc_port0>; + phy-names = "usb"; + status = "okay"; +}; + +&usbh_ohci{ + phys = <&usbphyc_port0>; + phy-names = "usb"; + status = "okay"; +}; + +&usbotg_hs { + phys = <&usbphyc_port1 0>; + phy-names = "usb2-phy"; + usb-role-switch; + status = "okay"; + + port { + usbotg_hs_ep: endpoint { + remote-endpoint = <&con_usbotg_hs_ep>; + }; + }; +}; + +&usbphyc { + status = "okay"; +}; + +&usbphyc_port0 { + phy-supply = <&vdd_usb>; + st,phy-tuning = <&usb_phy_tuning>; +}; + +&usbphyc_port1 { + phy-supply = <&vdd_usb>; + st,phy-tuning = <&usb_phy_tuning>; +}; + +&m_can1 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&m_can1_pins_mx>; + pinctrl-1 = <&m_can1_sleep_pins_mx>; + status = "okay"; +}; diff --git a/board/octavo/osd32mp1-red/overlay/boot/extlinux/extlinux.conf b/board/octavo/osd32mp1-red/overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..b3f16b2247e --- /dev/null +++ b/board/octavo/osd32mp1-red/overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label osd32mp1-red-buildroot + kernel /boot/zImage + devicetree /boot/stm32mp157c-osd32mp1-red.dtb + append root=/dev/mmcblk1p4 rootwait diff --git a/board/octavo/osd32mp1-red/patches/arm-trusted-firmware/0001-feat-build-add-support-for-new-binutils-versions.patch b/board/octavo/osd32mp1-red/patches/arm-trusted-firmware/0001-feat-build-add-support-for-new-binutils-versions.patch new file mode 100644 index 00000000000..335c18553ac --- /dev/null +++ b/board/octavo/osd32mp1-red/patches/arm-trusted-firmware/0001-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1,61 @@ +From 0f75b03c008eacb9818af3a56dc088e72a623d17 Mon Sep 17 00:00:00 2001 +From: Marco Felsch +Date: Wed, 9 Nov 2022 12:59:09 +0100 +Subject: [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 +Signed-off-by: Heiko Thiery +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +--- + Makefile | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1ddb7b844..470956b19 100644 +--- a/Makefile ++++ b/Makefile +@@ -416,6 +416,8 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + # LD = armlink + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 +@@ -442,7 +444,10 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH))) + + # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other + else +-TF_LDFLAGS += --fatal-warnings -O1 ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 + TF_LDFLAGS += --gc-sections + # ld.lld doesn't recognize the errata flags, + # therefore don't add those in that case +-- +2.30.2 + diff --git a/board/octavo/osd32mp1-red/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/octavo/osd32mp1-red/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..2ba1cc09721 --- /dev/null +++ b/board/octavo/osd32mp1-red/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 83d744c155097f27682a06fdba5f7e976fde6edf61474d40a5a44e71862a3822 arm-trusted-firmware-v2.4-stm32mp-r1-git4.tar.gz diff --git a/board/octavo/osd32mp1-red/patches/linux/0001-ata-ahci-fix-enum-constants-for-gcc-13.patch b/board/octavo/osd32mp1-red/patches/linux/0001-ata-ahci-fix-enum-constants-for-gcc-13.patch new file mode 100644 index 00000000000..fe5402e6397 --- /dev/null +++ b/board/octavo/osd32mp1-red/patches/linux/0001-ata-ahci-fix-enum-constants-for-gcc-13.patch @@ -0,0 +1,357 @@ +From 201719b670b0861f5846ebcda1ad3e4626ae0a33 Mon Sep 17 00:00:00 2001 +From: Arnd Bergmann +Date: Sat, 3 Dec 2022 11:54:25 +0100 +Subject: [PATCH] ata: ahci: fix enum constants for gcc-13 + +commit f07788079f515ca4a681c5f595bdad19cfbd7b1d upstream. + +gcc-13 slightly changes the type of constant expressions that are defined +in an enum, which triggers a compile time sanity check in libata: + +linux/drivers/ata/libahci.c: In function 'ahci_led_store': +linux/include/linux/compiler_types.h:357:45: error: call to '__compiletime_assert_302' declared with attribute error: BUILD_BUG_ON failed: sizeof(_s) > sizeof(long) +357 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) + +The new behavior is that sizeof() returns the same value for the +constant as it does for the enum type, which is generally more sensible +and consistent. + +The problem in libata is that it contains a single enum definition for +lots of unrelated constants, some of which are large positive (unsigned) +integers like 0xffffffff, while others like (1<<31) are interpreted as +negative integers, and this forces the enum type to become 64 bit wide +even though most constants would still fit into a signed 32-bit 'int'. + +Fix this by changing the entire enum definition to use BIT(x) in place +of (1< +Cc: linux-ide@vger.kernel.org +Cc: Damien Le Moal +Cc: stable@vger.kernel.org +Cc: Randy Dunlap +Signed-off-by: Arnd Bergmann +Tested-by: Luis Machado +Signed-off-by: Damien Le Moal +[Backport to linux-4.19.y] +Signed-off-by: Paul Barker +Signed-off-by: Greg Kroah-Hartman +Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4c3ddc06cedb62f2904e58fd95170bf206bee149 +--- + drivers/ata/ahci.h | 232 +++++++++++++++++++++++---------------------- + 1 file changed, 117 insertions(+), 115 deletions(-) + +diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h +index d1f284f0c83d..de1bc374e1b6 100644 +--- a/drivers/ata/ahci.h ++++ b/drivers/ata/ahci.h +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + /* Enclosure Management Control */ + #define EM_CTRL_MSG_TYPE 0x000f0000 +@@ -54,12 +55,12 @@ enum { + AHCI_PORT_PRIV_FBS_DMA_SZ = AHCI_CMD_SLOT_SZ + + AHCI_CMD_TBL_AR_SZ + + (AHCI_RX_FIS_SZ * 16), +- AHCI_IRQ_ON_SG = (1 << 31), +- AHCI_CMD_ATAPI = (1 << 5), +- AHCI_CMD_WRITE = (1 << 6), +- AHCI_CMD_PREFETCH = (1 << 7), +- AHCI_CMD_RESET = (1 << 8), +- AHCI_CMD_CLR_BUSY = (1 << 10), ++ AHCI_IRQ_ON_SG = BIT(31), ++ AHCI_CMD_ATAPI = BIT(5), ++ AHCI_CMD_WRITE = BIT(6), ++ AHCI_CMD_PREFETCH = BIT(7), ++ AHCI_CMD_RESET = BIT(8), ++ AHCI_CMD_CLR_BUSY = BIT(10), + + RX_FIS_PIO_SETUP = 0x20, /* offset of PIO Setup FIS data */ + RX_FIS_D2H_REG = 0x40, /* offset of D2H Register FIS data */ +@@ -77,37 +78,37 @@ enum { + HOST_CAP2 = 0x24, /* host capabilities, extended */ + + /* HOST_CTL bits */ +- HOST_RESET = (1 << 0), /* reset controller; self-clear */ +- HOST_IRQ_EN = (1 << 1), /* global IRQ enable */ +- HOST_MRSM = (1 << 2), /* MSI Revert to Single Message */ +- HOST_AHCI_EN = (1 << 31), /* AHCI enabled */ ++ HOST_RESET = BIT(0), /* reset controller; self-clear */ ++ HOST_IRQ_EN = BIT(1), /* global IRQ enable */ ++ HOST_MRSM = BIT(2), /* MSI Revert to Single Message */ ++ HOST_AHCI_EN = BIT(31), /* AHCI enabled */ + + /* HOST_CAP bits */ +- HOST_CAP_SXS = (1 << 5), /* Supports External SATA */ +- HOST_CAP_EMS = (1 << 6), /* Enclosure Management support */ +- HOST_CAP_CCC = (1 << 7), /* Command Completion Coalescing */ +- HOST_CAP_PART = (1 << 13), /* Partial state capable */ +- HOST_CAP_SSC = (1 << 14), /* Slumber state capable */ +- HOST_CAP_PIO_MULTI = (1 << 15), /* PIO multiple DRQ support */ +- HOST_CAP_FBS = (1 << 16), /* FIS-based switching support */ +- HOST_CAP_PMP = (1 << 17), /* Port Multiplier support */ +- HOST_CAP_ONLY = (1 << 18), /* Supports AHCI mode only */ +- HOST_CAP_CLO = (1 << 24), /* Command List Override support */ +- HOST_CAP_LED = (1 << 25), /* Supports activity LED */ +- HOST_CAP_ALPM = (1 << 26), /* Aggressive Link PM support */ +- HOST_CAP_SSS = (1 << 27), /* Staggered Spin-up */ +- HOST_CAP_MPS = (1 << 28), /* Mechanical presence switch */ +- HOST_CAP_SNTF = (1 << 29), /* SNotification register */ +- HOST_CAP_NCQ = (1 << 30), /* Native Command Queueing */ +- HOST_CAP_64 = (1 << 31), /* PCI DAC (64-bit DMA) support */ ++ HOST_CAP_SXS = BIT(5), /* Supports External SATA */ ++ HOST_CAP_EMS = BIT(6), /* Enclosure Management support */ ++ HOST_CAP_CCC = BIT(7), /* Command Completion Coalescing */ ++ HOST_CAP_PART = BIT(13), /* Partial state capable */ ++ HOST_CAP_SSC = BIT(14), /* Slumber state capable */ ++ HOST_CAP_PIO_MULTI = BIT(15), /* PIO multiple DRQ support */ ++ HOST_CAP_FBS = BIT(16), /* FIS-based switching support */ ++ HOST_CAP_PMP = BIT(17), /* Port Multiplier support */ ++ HOST_CAP_ONLY = BIT(18), /* Supports AHCI mode only */ ++ HOST_CAP_CLO = BIT(24), /* Command List Override support */ ++ HOST_CAP_LED = BIT(25), /* Supports activity LED */ ++ HOST_CAP_ALPM = BIT(26), /* Aggressive Link PM support */ ++ HOST_CAP_SSS = BIT(27), /* Staggered Spin-up */ ++ HOST_CAP_MPS = BIT(28), /* Mechanical presence switch */ ++ HOST_CAP_SNTF = BIT(29), /* SNotification register */ ++ HOST_CAP_NCQ = BIT(30), /* Native Command Queueing */ ++ HOST_CAP_64 = BIT(31), /* PCI DAC (64-bit DMA) support */ + + /* HOST_CAP2 bits */ +- HOST_CAP2_BOH = (1 << 0), /* BIOS/OS handoff supported */ +- HOST_CAP2_NVMHCI = (1 << 1), /* NVMHCI supported */ +- HOST_CAP2_APST = (1 << 2), /* Automatic partial to slumber */ +- HOST_CAP2_SDS = (1 << 3), /* Support device sleep */ +- HOST_CAP2_SADM = (1 << 4), /* Support aggressive DevSlp */ +- HOST_CAP2_DESO = (1 << 5), /* DevSlp from slumber only */ ++ HOST_CAP2_BOH = BIT(0), /* BIOS/OS handoff supported */ ++ HOST_CAP2_NVMHCI = BIT(1), /* NVMHCI supported */ ++ HOST_CAP2_APST = BIT(2), /* Automatic partial to slumber */ ++ HOST_CAP2_SDS = BIT(3), /* Support device sleep */ ++ HOST_CAP2_SADM = BIT(4), /* Support aggressive DevSlp */ ++ HOST_CAP2_DESO = BIT(5), /* DevSlp from slumber only */ + + /* registers for each SATA port */ + PORT_LST_ADDR = 0x00, /* command list DMA addr */ +@@ -129,24 +130,25 @@ enum { + PORT_DEVSLP = 0x44, /* device sleep */ + + /* PORT_IRQ_{STAT,MASK} bits */ +- PORT_IRQ_COLD_PRES = (1 << 31), /* cold presence detect */ +- PORT_IRQ_TF_ERR = (1 << 30), /* task file error */ +- PORT_IRQ_HBUS_ERR = (1 << 29), /* host bus fatal error */ +- PORT_IRQ_HBUS_DATA_ERR = (1 << 28), /* host bus data error */ +- PORT_IRQ_IF_ERR = (1 << 27), /* interface fatal error */ +- PORT_IRQ_IF_NONFATAL = (1 << 26), /* interface non-fatal error */ +- PORT_IRQ_OVERFLOW = (1 << 24), /* xfer exhausted available S/G */ +- PORT_IRQ_BAD_PMP = (1 << 23), /* incorrect port multiplier */ +- +- PORT_IRQ_PHYRDY = (1 << 22), /* PhyRdy changed */ +- PORT_IRQ_DEV_ILCK = (1 << 7), /* device interlock */ +- PORT_IRQ_CONNECT = (1 << 6), /* port connect change status */ +- PORT_IRQ_SG_DONE = (1 << 5), /* descriptor processed */ +- PORT_IRQ_UNK_FIS = (1 << 4), /* unknown FIS rx'd */ +- PORT_IRQ_SDB_FIS = (1 << 3), /* Set Device Bits FIS rx'd */ +- PORT_IRQ_DMAS_FIS = (1 << 2), /* DMA Setup FIS rx'd */ +- PORT_IRQ_PIOS_FIS = (1 << 1), /* PIO Setup FIS rx'd */ +- PORT_IRQ_D2H_REG_FIS = (1 << 0), /* D2H Register FIS rx'd */ ++ PORT_IRQ_COLD_PRES = BIT(31), /* cold presence detect */ ++ PORT_IRQ_TF_ERR = BIT(30), /* task file error */ ++ PORT_IRQ_HBUS_ERR = BIT(29), /* host bus fatal error */ ++ PORT_IRQ_HBUS_DATA_ERR = BIT(28), /* host bus data error */ ++ PORT_IRQ_IF_ERR = BIT(27), /* interface fatal error */ ++ PORT_IRQ_IF_NONFATAL = BIT(26), /* interface non-fatal error */ ++ PORT_IRQ_OVERFLOW = BIT(24), /* xfer exhausted available S/G */ ++ PORT_IRQ_BAD_PMP = BIT(23), /* incorrect port multiplier */ ++ ++ PORT_IRQ_PHYRDY = BIT(22), /* PhyRdy changed */ ++ PORT_IRQ_DEV_ILCK = BIT(7), /* device interlock */ ++ PORT_IRQ_DMPS = BIT(7), /* mechanical presence status */ ++ PORT_IRQ_CONNECT = BIT(6), /* port connect change status */ ++ PORT_IRQ_SG_DONE = BIT(5), /* descriptor processed */ ++ PORT_IRQ_UNK_FIS = BIT(4), /* unknown FIS rx'd */ ++ PORT_IRQ_SDB_FIS = BIT(3), /* Set Device Bits FIS rx'd */ ++ PORT_IRQ_DMAS_FIS = BIT(2), /* DMA Setup FIS rx'd */ ++ PORT_IRQ_PIOS_FIS = BIT(1), /* PIO Setup FIS rx'd */ ++ PORT_IRQ_D2H_REG_FIS = BIT(0), /* D2H Register FIS rx'd */ + + PORT_IRQ_FREEZE = PORT_IRQ_HBUS_ERR | + PORT_IRQ_IF_ERR | +@@ -162,34 +164,34 @@ enum { + PORT_IRQ_PIOS_FIS | PORT_IRQ_D2H_REG_FIS, + + /* PORT_CMD bits */ +- PORT_CMD_ASP = (1 << 27), /* Aggressive Slumber/Partial */ +- PORT_CMD_ALPE = (1 << 26), /* Aggressive Link PM enable */ +- PORT_CMD_ATAPI = (1 << 24), /* Device is ATAPI */ +- PORT_CMD_FBSCP = (1 << 22), /* FBS Capable Port */ +- PORT_CMD_ESP = (1 << 21), /* External Sata Port */ +- PORT_CMD_HPCP = (1 << 18), /* HotPlug Capable Port */ +- PORT_CMD_PMP = (1 << 17), /* PMP attached */ +- PORT_CMD_LIST_ON = (1 << 15), /* cmd list DMA engine running */ +- PORT_CMD_FIS_ON = (1 << 14), /* FIS DMA engine running */ +- PORT_CMD_FIS_RX = (1 << 4), /* Enable FIS receive DMA engine */ +- PORT_CMD_CLO = (1 << 3), /* Command list override */ +- PORT_CMD_POWER_ON = (1 << 2), /* Power up device */ +- PORT_CMD_SPIN_UP = (1 << 1), /* Spin up device */ +- PORT_CMD_START = (1 << 0), /* Enable port DMA engine */ +- +- PORT_CMD_ICC_MASK = (0xf << 28), /* i/f ICC state mask */ +- PORT_CMD_ICC_ACTIVE = (0x1 << 28), /* Put i/f in active state */ +- PORT_CMD_ICC_PARTIAL = (0x2 << 28), /* Put i/f in partial state */ +- PORT_CMD_ICC_SLUMBER = (0x6 << 28), /* Put i/f in slumber state */ ++ PORT_CMD_ASP = BIT(27), /* Aggressive Slumber/Partial */ ++ PORT_CMD_ALPE = BIT(26), /* Aggressive Link PM enable */ ++ PORT_CMD_ATAPI = BIT(24), /* Device is ATAPI */ ++ PORT_CMD_FBSCP = BIT(22), /* FBS Capable Port */ ++ PORT_CMD_ESP = BIT(21), /* External Sata Port */ ++ PORT_CMD_HPCP = BIT(18), /* HotPlug Capable Port */ ++ PORT_CMD_PMP = BIT(17), /* PMP attached */ ++ PORT_CMD_LIST_ON = BIT(15), /* cmd list DMA engine running */ ++ PORT_CMD_FIS_ON = BIT(14), /* FIS DMA engine running */ ++ PORT_CMD_FIS_RX = BIT(4), /* Enable FIS receive DMA engine */ ++ PORT_CMD_CLO = BIT(3), /* Command list override */ ++ PORT_CMD_POWER_ON = BIT(2), /* Power up device */ ++ PORT_CMD_SPIN_UP = BIT(1), /* Spin up device */ ++ PORT_CMD_START = BIT(0), /* Enable port DMA engine */ ++ ++ PORT_CMD_ICC_MASK = (0xfu << 28), /* i/f ICC state mask */ ++ PORT_CMD_ICC_ACTIVE = (0x1u << 28), /* Put i/f in active state */ ++ PORT_CMD_ICC_PARTIAL = (0x2u << 28), /* Put i/f in partial state */ ++ PORT_CMD_ICC_SLUMBER = (0x6u << 28), /* Put i/f in slumber state */ + + /* PORT_FBS bits */ + PORT_FBS_DWE_OFFSET = 16, /* FBS device with error offset */ + PORT_FBS_ADO_OFFSET = 12, /* FBS active dev optimization offset */ + PORT_FBS_DEV_OFFSET = 8, /* FBS device to issue offset */ + PORT_FBS_DEV_MASK = (0xf << PORT_FBS_DEV_OFFSET), /* FBS.DEV */ +- PORT_FBS_SDE = (1 << 2), /* FBS single device error */ +- PORT_FBS_DEC = (1 << 1), /* FBS device error clear */ +- PORT_FBS_EN = (1 << 0), /* Enable FBS */ ++ PORT_FBS_SDE = BIT(2), /* FBS single device error */ ++ PORT_FBS_DEC = BIT(1), /* FBS device error clear */ ++ PORT_FBS_EN = BIT(0), /* Enable FBS */ + + /* PORT_DEVSLP bits */ + PORT_DEVSLP_DM_OFFSET = 25, /* DITO multiplier offset */ +@@ -197,45 +199,45 @@ enum { + PORT_DEVSLP_DITO_OFFSET = 15, /* DITO offset */ + PORT_DEVSLP_MDAT_OFFSET = 10, /* Minimum assertion time */ + PORT_DEVSLP_DETO_OFFSET = 2, /* DevSlp exit timeout */ +- PORT_DEVSLP_DSP = (1 << 1), /* DevSlp present */ +- PORT_DEVSLP_ADSE = (1 << 0), /* Aggressive DevSlp enable */ ++ PORT_DEVSLP_DSP = BIT(1), /* DevSlp present */ ++ PORT_DEVSLP_ADSE = BIT(0), /* Aggressive DevSlp enable */ + + /* hpriv->flags bits */ + + #define AHCI_HFLAGS(flags) .private_data = (void *)(flags) + +- AHCI_HFLAG_NO_NCQ = (1 << 0), +- AHCI_HFLAG_IGN_IRQ_IF_ERR = (1 << 1), /* ignore IRQ_IF_ERR */ +- AHCI_HFLAG_IGN_SERR_INTERNAL = (1 << 2), /* ignore SERR_INTERNAL */ +- AHCI_HFLAG_32BIT_ONLY = (1 << 3), /* force 32bit */ +- AHCI_HFLAG_MV_PATA = (1 << 4), /* PATA port */ +- AHCI_HFLAG_NO_MSI = (1 << 5), /* no PCI MSI */ +- AHCI_HFLAG_NO_PMP = (1 << 6), /* no PMP */ +- AHCI_HFLAG_SECT255 = (1 << 8), /* max 255 sectors */ +- AHCI_HFLAG_YES_NCQ = (1 << 9), /* force NCQ cap on */ +- AHCI_HFLAG_NO_SUSPEND = (1 << 10), /* don't suspend */ +- AHCI_HFLAG_SRST_TOUT_IS_OFFLINE = (1 << 11), /* treat SRST timeout as +- link offline */ +- AHCI_HFLAG_NO_SNTF = (1 << 12), /* no sntf */ +- AHCI_HFLAG_NO_FPDMA_AA = (1 << 13), /* no FPDMA AA */ +- AHCI_HFLAG_YES_FBS = (1 << 14), /* force FBS cap on */ +- AHCI_HFLAG_DELAY_ENGINE = (1 << 15), /* do not start engine on +- port start (wait until +- error-handling stage) */ +- AHCI_HFLAG_NO_DEVSLP = (1 << 17), /* no device sleep */ +- AHCI_HFLAG_NO_FBS = (1 << 18), /* no FBS */ ++ AHCI_HFLAG_NO_NCQ = BIT(0), ++ AHCI_HFLAG_IGN_IRQ_IF_ERR = BIT(1), /* ignore IRQ_IF_ERR */ ++ AHCI_HFLAG_IGN_SERR_INTERNAL = BIT(2), /* ignore SERR_INTERNAL */ ++ AHCI_HFLAG_32BIT_ONLY = BIT(3), /* force 32bit */ ++ AHCI_HFLAG_MV_PATA = BIT(4), /* PATA port */ ++ AHCI_HFLAG_NO_MSI = BIT(5), /* no PCI MSI */ ++ AHCI_HFLAG_NO_PMP = BIT(6), /* no PMP */ ++ AHCI_HFLAG_SECT255 = BIT(8), /* max 255 sectors */ ++ AHCI_HFLAG_YES_NCQ = BIT(9), /* force NCQ cap on */ ++ AHCI_HFLAG_NO_SUSPEND = BIT(10), /* don't suspend */ ++ AHCI_HFLAG_SRST_TOUT_IS_OFFLINE = BIT(11), /* treat SRST timeout as ++ link offline */ ++ AHCI_HFLAG_NO_SNTF = BIT(12), /* no sntf */ ++ AHCI_HFLAG_NO_FPDMA_AA = BIT(13), /* no FPDMA AA */ ++ AHCI_HFLAG_YES_FBS = BIT(14), /* force FBS cap on */ ++ AHCI_HFLAG_DELAY_ENGINE = BIT(15), /* do not start engine on ++ port start (wait until ++ error-handling stage) */ ++ AHCI_HFLAG_NO_DEVSLP = BIT(17), /* no device sleep */ ++ AHCI_HFLAG_NO_FBS = BIT(18), /* no FBS */ + + #ifdef CONFIG_PCI_MSI +- AHCI_HFLAG_MULTI_MSI = (1 << 20), /* per-port MSI(-X) */ ++ AHCI_HFLAG_MULTI_MSI = BIT(20), /* per-port MSI(-X) */ + #else + /* compile out MSI infrastructure */ + AHCI_HFLAG_MULTI_MSI = 0, + #endif +- AHCI_HFLAG_WAKE_BEFORE_STOP = (1 << 22), /* wake before DMA stop */ +- AHCI_HFLAG_YES_ALPM = (1 << 23), /* force ALPM cap on */ +- AHCI_HFLAG_NO_WRITE_TO_RO = (1 << 24), /* don't write to read +- only registers */ +- AHCI_HFLAG_IS_MOBILE = (1 << 25), /* mobile chipset, use ++ AHCI_HFLAG_WAKE_BEFORE_STOP = BIT(22), /* wake before DMA stop */ ++ AHCI_HFLAG_YES_ALPM = BIT(23), /* force ALPM cap on */ ++ AHCI_HFLAG_NO_WRITE_TO_RO = BIT(24), /* don't write to read ++ only registers */ ++ AHCI_HFLAG_IS_MOBILE = BIT(25), /* mobile chipset, use + SATA_MOBILE_LPM_POLICY + as default lpm_policy */ + AHCI_HFLAG_SUSPEND_PHYS = (1 << 26), /* handle PHYs during +@@ -258,22 +260,22 @@ enum { + EM_MAX_RETRY = 5, + + /* em_ctl bits */ +- EM_CTL_RST = (1 << 9), /* Reset */ +- EM_CTL_TM = (1 << 8), /* Transmit Message */ +- EM_CTL_MR = (1 << 0), /* Message Received */ +- EM_CTL_ALHD = (1 << 26), /* Activity LED */ +- EM_CTL_XMT = (1 << 25), /* Transmit Only */ +- EM_CTL_SMB = (1 << 24), /* Single Message Buffer */ +- EM_CTL_SGPIO = (1 << 19), /* SGPIO messages supported */ +- EM_CTL_SES = (1 << 18), /* SES-2 messages supported */ +- EM_CTL_SAFTE = (1 << 17), /* SAF-TE messages supported */ +- EM_CTL_LED = (1 << 16), /* LED messages supported */ ++ EM_CTL_RST = BIT(9), /* Reset */ ++ EM_CTL_TM = BIT(8), /* Transmit Message */ ++ EM_CTL_MR = BIT(0), /* Message Received */ ++ EM_CTL_ALHD = BIT(26), /* Activity LED */ ++ EM_CTL_XMT = BIT(25), /* Transmit Only */ ++ EM_CTL_SMB = BIT(24), /* Single Message Buffer */ ++ EM_CTL_SGPIO = BIT(19), /* SGPIO messages supported */ ++ EM_CTL_SES = BIT(18), /* SES-2 messages supported */ ++ EM_CTL_SAFTE = BIT(17), /* SAF-TE messages supported */ ++ EM_CTL_LED = BIT(16), /* LED messages supported */ + + /* em message type */ +- EM_MSG_TYPE_LED = (1 << 0), /* LED */ +- EM_MSG_TYPE_SAFTE = (1 << 1), /* SAF-TE */ +- EM_MSG_TYPE_SES2 = (1 << 2), /* SES-2 */ +- EM_MSG_TYPE_SGPIO = (1 << 3), /* SGPIO */ ++ EM_MSG_TYPE_LED = BIT(0), /* LED */ ++ EM_MSG_TYPE_SAFTE = BIT(1), /* SAF-TE */ ++ EM_MSG_TYPE_SES2 = BIT(2), /* SES-2 */ ++ EM_MSG_TYPE_SGPIO = BIT(3), /* SGPIO */ + }; + + struct ahci_cmd_hdr { +-- +2.34.1 + diff --git a/board/octavo/osd32mp1-red/patches/linux/linux.hash b/board/octavo/osd32mp1-red/patches/linux/linux.hash new file mode 100644 index 00000000000..ec9218e3888 --- /dev/null +++ b/board/octavo/osd32mp1-red/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 c2e22c6d13e5970839231ca29cfbe3bb66ef4d4d1cd3c2b5afb61f591f89d71a linux-v5.10-stm32mp-r2.1-git4.tar.gz diff --git a/board/octavo/osd32mp1-red/patches/uboot/0001-Add-OSD32MP1-RED-Device-Tree-support.patch b/board/octavo/osd32mp1-red/patches/uboot/0001-Add-OSD32MP1-RED-Device-Tree-support.patch new file mode 100644 index 00000000000..9b075139ee9 --- /dev/null +++ b/board/octavo/osd32mp1-red/patches/uboot/0001-Add-OSD32MP1-RED-Device-Tree-support.patch @@ -0,0 +1,1848 @@ +From 69029a32acdfac1499750f657c16ab3a3cbfa8f8 Mon Sep 17 00:00:00 2001 +From: Kory Maincent +Date: Mon, 3 Oct 2022 12:17:37 +0200 +Subject: [PATCH 1/2] Add OSD32MP1-RED Device Tree support + +Signed-off-by: Kory Maincent +--- + arch/arm/dts/Makefile | 3 +- + .../dts/stm32mp15-osd32mp1-ddr3-1x4Gb.dtsi | 119 ++ + .../dts/stm32mp157c-osd32mp1-red-u-boot.dtsi | 233 +++ + arch/arm/dts/stm32mp157c-osd32mp1-red.dts | 1445 +++++++++++++++++ + 4 files changed, 1799 insertions(+), 1 deletion(-) + create mode 100644 arch/arm/dts/stm32mp15-osd32mp1-ddr3-1x4Gb.dtsi + create mode 100644 arch/arm/dts/stm32mp157c-osd32mp1-red-u-boot.dtsi + create mode 100644 arch/arm/dts/stm32mp157c-osd32mp1-red.dts + +diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile +index 83677c3d4f..00b27c8695 100644 +--- a/arch/arm/dts/Makefile ++++ b/arch/arm/dts/Makefile +@@ -959,7 +959,8 @@ dtb-$(CONFIG_STM32MP15x) += \ + stm32mp157f-ed1.dtb \ + stm32mp157f-ev1.dtb \ + stm32mp15xx-dhcom-pdk2.dtb \ +- stm32mp15xx-dhcor-avenger96.dtb ++ stm32mp15xx-dhcor-avenger96.dtb \ ++ stm32mp157c-osd32mp1-red.dtb + + dtb-$(CONFIG_SOC_K3_AM6) += k3-am654-base-board.dtb k3-am654-r5-base-board.dtb + dtb-$(CONFIG_SOC_K3_J721E) += k3-j721e-common-proc-board.dtb \ +diff --git a/arch/arm/dts/stm32mp15-osd32mp1-ddr3-1x4Gb.dtsi b/arch/arm/dts/stm32mp15-osd32mp1-ddr3-1x4Gb.dtsi +new file mode 100644 +index 0000000000..362f3281b8 +--- /dev/null ++++ b/arch/arm/dts/stm32mp15-osd32mp1-ddr3-1x4Gb.dtsi +@@ -0,0 +1,119 @@ ++/* ++ * Copyright (C) 2015-2018, STMicroelectronics - All Rights Reserved ++ * ++ * SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause ++ * ++ */ ++ ++/* ++ * File generated by STMicroelectronics STM32CubeMX DDR Tool for MPUs ++ * DDR type: DDR3 / DDR3L ++ * DDR width: 16bits ++ * DDR density: 4Gb ++ * System frequency: 533000Khz ++ * Relaxed Timing Mode: false ++ * Address mapping type: RBC ++ * ++ * Save Date: 2020.08.20, save Time: 10:57:25 ++ */ ++ ++#define DDR_MEM_NAME "DDR3-DDR3L 16bits 533000Khz" ++#define DDR_MEM_SPEED 533000 ++#define DDR_MEM_SIZE 0x20000000 ++ ++#define DDR_MSTR 0x00041401 ++#define DDR_MRCTRL0 0x00000010 ++#define DDR_MRCTRL1 0x00000000 ++#define DDR_DERATEEN 0x00000000 ++#define DDR_DERATEINT 0x00800000 ++#define DDR_PWRCTL 0x00000000 ++#define DDR_PWRTMG 0x00400010 ++#define DDR_HWLPCTL 0x00000000 ++#define DDR_RFSHCTL0 0x00210000 ++#define DDR_RFSHCTL3 0x00000000 ++#define DDR_RFSHTMG 0x0081008B ++#define DDR_CRCPARCTL0 0x00000000 ++#define DDR_DRAMTMG0 0x121B2414 ++#define DDR_DRAMTMG1 0x000A041C ++#define DDR_DRAMTMG2 0x0608090F ++#define DDR_DRAMTMG3 0x0050400C ++#define DDR_DRAMTMG4 0x08040608 ++#define DDR_DRAMTMG5 0x06060403 ++#define DDR_DRAMTMG6 0x02020002 ++#define DDR_DRAMTMG7 0x00000202 ++#define DDR_DRAMTMG8 0x00001005 ++#define DDR_DRAMTMG14 0x000000A0 ++#define DDR_ZQCTL0 0xC2000040 ++#define DDR_DFITMG0 0x02060105 ++#define DDR_DFITMG1 0x00000202 ++#define DDR_DFILPCFG0 0x07000000 ++#define DDR_DFIUPD0 0xC0400003 ++#define DDR_DFIUPD1 0x00000000 ++#define DDR_DFIUPD2 0x00000000 ++#define DDR_DFIPHYMSTR 0x00000000 ++#define DDR_ODTCFG 0x06000600 ++#define DDR_ODTMAP 0x00000001 ++#define DDR_SCHED 0x00000C01 ++#define DDR_SCHED1 0x00000000 ++#define DDR_PERFHPR1 0x01000001 ++#define DDR_PERFLPR1 0x08000200 ++#define DDR_PERFWR1 0x08000400 ++#define DDR_DBG0 0x00000000 ++#define DDR_DBG1 0x00000000 ++#define DDR_DBGCMD 0x00000000 ++#define DDR_POISONCFG 0x00000000 ++#define DDR_PCCFG 0x00000010 ++#define DDR_PCFGR_0 0x00010000 ++#define DDR_PCFGW_0 0x00000000 ++#define DDR_PCFGQOS0_0 0x02100C03 ++#define DDR_PCFGQOS1_0 0x00800100 ++#define DDR_PCFGWQOS0_0 0x01100C03 ++#define DDR_PCFGWQOS1_0 0x01000200 ++#define DDR_PCFGR_1 0x00010000 ++#define DDR_PCFGW_1 0x00000000 ++#define DDR_PCFGQOS0_1 0x02100C03 ++#define DDR_PCFGQOS1_1 0x00800040 ++#define DDR_PCFGWQOS0_1 0x01100C03 ++#define DDR_PCFGWQOS1_1 0x01000200 ++#define DDR_ADDRMAP1 0x00070707 ++#define DDR_ADDRMAP2 0x00000000 ++#define DDR_ADDRMAP3 0x1F000000 ++#define DDR_ADDRMAP4 0x00001F1F ++#define DDR_ADDRMAP5 0x06060606 ++#define DDR_ADDRMAP6 0x0F060606 ++#define DDR_ADDRMAP9 0x00000000 ++#define DDR_ADDRMAP10 0x00000000 ++#define DDR_ADDRMAP11 0x00000000 ++#define DDR_PGCR 0x01442E02 ++#define DDR_PTR0 0x0022AA5B ++#define DDR_PTR1 0x04841104 ++#define DDR_PTR2 0x042DA068 ++#define DDR_ACIOCR 0x10400812 ++#define DDR_DXCCR 0x00000C40 ++#define DDR_DSGCR 0xF200011F ++#define DDR_DCR 0x0000000B ++#define DDR_DTPR0 0x38D488D0 ++#define DDR_DTPR1 0x098B00D8 ++#define DDR_DTPR2 0x10023600 ++#define DDR_MR0 0x00000840 ++#define DDR_MR1 0x00000000 ++#define DDR_MR2 0x00000208 ++#define DDR_MR3 0x00000000 ++#define DDR_ODTCR 0x00010000 ++#define DDR_ZQ0CR1 0x00000038 ++#define DDR_DX0GCR 0x0000CE81 ++#define DDR_DX0DLLCR 0x40000000 ++#define DDR_DX0DQTR 0xFFFFFFFF ++#define DDR_DX0DQSTR 0x3DB02000 ++#define DDR_DX1GCR 0x0000CE81 ++#define DDR_DX1DLLCR 0x40000000 ++#define DDR_DX1DQTR 0xFFFFFFFF ++#define DDR_DX1DQSTR 0x3DB02000 ++#define DDR_DX2GCR 0x0000CE80 ++#define DDR_DX2DLLCR 0x40000000 ++#define DDR_DX2DQTR 0xFFFFFFFF ++#define DDR_DX2DQSTR 0x3DB02000 ++#define DDR_DX3GCR 0x0000CE80 ++#define DDR_DX3DLLCR 0x40000000 ++#define DDR_DX3DQTR 0xFFFFFFFF ++#define DDR_DX3DQSTR 0x3DB02000 +diff --git a/arch/arm/dts/stm32mp157c-osd32mp1-red-u-boot.dtsi b/arch/arm/dts/stm32mp157c-osd32mp1-red-u-boot.dtsi +new file mode 100644 +index 0000000000..6da91e0bb8 +--- /dev/null ++++ b/arch/arm/dts/stm32mp157c-osd32mp1-red-u-boot.dtsi +@@ -0,0 +1,233 @@ ++/* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause*/ ++/* ++ * Copyright (C) 2020, Octavo Systems LLC - All Rights Reserved ++ */ ++ ++/* For more information on Device Tree configuration, please refer to ++ * https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration ++ */ ++ ++#include ++#include "stm32mp15-osd32mp1-ddr3-1x4Gb.dtsi" ++#include "stm32mp15-u-boot.dtsi" ++#include "stm32mp15-ddr.dtsi" ++ ++ ++/ { ++ ++ aliases{ ++ i2c0 = &i2c4; ++ mmc0 = &sdmmc1; ++ usb0 = &usbotg_hs; ++ }; ++ ++ config{ ++ u-boot,boot-led = "heartbeat"; ++ u-boot,error-led = "error"; ++ u-boot,mmc-env-partition = "fip"; ++ }; ++ ++#ifdef CONFIG_STM32MP15x_STM32IMAGE ++ config { ++ u-boot,mmc-env-partition = "ssbl"; ++ }; ++ ++ /* only needed for boot with TF-A, witout FIP support */ ++ firmware { ++ optee { ++ compatible = "linaro,optee-tz"; ++ method = "smc"; ++ }; ++ }; ++ ++ reserved-memory { ++ optee@de000000 { ++ reg = <0xde000000 0x02000000>; ++ no-map; ++ }; ++ }; ++#endif ++ ++ led { ++ red { ++ label = "error"; ++ gpios = <&gpioa 13 GPIO_ACTIVE_LOW>; ++ default-state = "off"; ++ status = "okay"; ++ }; ++ ++ blue { ++ default-state = "on"; ++ }; ++ }; ++}; /*root*/ ++ ++#ifndef CONFIG_TFABOOT ++ ++&i2s2{ ++ clocks = <&rcc SPI2>, <&rcc SPI2_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>; ++}; ++ ++ ++ ++&sai2{ ++ clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>; ++}; ++ ++ ++&clk_hse { ++ st,digbypass; ++}; ++ ++&rcc { ++ u-boot,dm-pre-reloc; ++ st,clksrc = < ++ CLK_MPU_PLL1P ++ CLK_AXI_PLL2P ++ CLK_MCU_PLL3P ++ CLK_PLL12_HSE ++ CLK_PLL3_HSE ++ CLK_PLL4_HSE ++ CLK_RTC_LSE ++ CLK_MCO1_DISABLED ++ CLK_MCO2_DISABLED ++ >; ++ st,clkdiv = < ++ 1 /*MPU*/ ++ 0 /*AXI*/ ++ 0 /*MCU*/ ++ 1 /*APB1*/ ++ 1 /*APB2*/ ++ 1 /*APB3*/ ++ 1 /*APB4*/ ++ 2 /*APB5*/ ++ 23 /*RTC*/ ++ 0 /*MCO1*/ ++ 0 /*MCO2*/ ++ >; ++ st,pkcs = < ++ CLK_CKPER_HSE ++ CLK_ETH_PLL3Q ++ CLK_SDMMC12_PLL4P ++ CLK_DSI_DSIPLL ++ CLK_STGEN_HSE ++ CLK_USBPHY_HSE ++ CLK_SPI2S1_PLL3Q ++ CLK_SPI2S23_CKPER ++ CLK_SPI45_PCLK2 ++ CLK_SPI6_DISABLED ++ CLK_I2C46_HSI ++ CLK_SDMMC3_PLL4P ++ CLK_USBO_USBPHY ++ CLK_ADC_CKPER ++ CLK_CEC_LSE ++ CLK_I2C12_HSI ++ CLK_I2C35_HSI ++ CLK_UART1_DISABLED ++ CLK_UART24_HSI ++ CLK_UART35_HSI ++ CLK_UART6_DISABLED ++ CLK_UART78_DISABLED ++ CLK_SPDIF_DISABLED ++ CLK_SAI1_DISABLED ++ CLK_SAI2_DISABLED ++ CLK_SAI3_DISABLED ++ CLK_SAI4_DISABLED ++ CLK_RNG1_LSI ++ CLK_LPTIM1_DISABLED ++ CLK_LPTIM23_DISABLED ++ CLK_LPTIM45_DISABLED ++ >; ++ pll1:st,pll@0 { ++ cfg = < 2 80 0 1 1 PQR(1,0,0) >; ++ frac = < 0x800>; ++ u-boot,dm-pre-reloc; ++ }; ++ pll2:st,pll@1 { ++ cfg = < 2 65 1 0 0 PQR(1,1,1) >; ++ frac = < 0x1400>; ++ u-boot,dm-pre-reloc; ++ }; ++ pll3:st,pll@2 { ++ cfg = < 1 61 3 5 36 PQR(1,1,0) >; ++ frac = < 0x1000 >; ++ u-boot,dm-pre-reloc; ++ }; ++ pll4:st,pll@3 { ++ cfg = < 3 98 5 7 7 PQR(1,1,1) >; ++ u-boot,dm-pre-reloc; ++ }; ++}; ++ ++&i2c4{ ++ u-boot,dm-pre-reloc; ++}; ++ ++&i2c4_pins_z_mx { ++ u-boot,dm-pre-reloc; ++ pins { ++ u-boot,dm-pre-reloc; ++ }; ++}; ++ ++&sdmmc1{ ++ u-boot,dm-pre-reloc; ++}; ++ ++&sdmmc2{ ++ u-boot,dm-pre-reloc; ++}; ++ ++&sdmmc1_pins_mx { ++ u-boot,dm-spl; ++ pins1 { ++ u-boot,dm-spl; ++ }; ++ pins2 { ++ u-boot,dm-spl; ++ }; ++}; ++ ++&sdmmc2_pins_mx { ++ u-boot,dm-spl; ++ pins1 { ++ u-boot,dm-spl; ++ }; ++ pins2 { ++ u-boot,dm-spl; ++ }; ++}; ++ ++#endif /*CONFIG_TFABOOT*/ ++ ++&cryp1{ ++ u-boot,dm-pre-reloc; ++}; ++ ++&hash1{ ++ u-boot,dm-pre-reloc; ++}; ++ ++&uart4{ ++ u-boot,dm-pre-reloc; ++}; ++ ++&usbotg_hs{ ++ u-boot,dm-pre-reloc; ++ u-boot,force-b-session-valid; ++ hnp-srp-disable; ++ dr_mode = "peripheral"; ++}; ++ ++&usbphyc{ ++ u-boot,dm-pre-reloc; ++}; ++ ++&usbphyc_port0{ ++ u-boot,dm-pre-reloc; ++}; ++ ++&usbphyc_port1{ ++ u-boot,dm-pre-reloc; ++}; ++ +diff --git a/arch/arm/dts/stm32mp157c-osd32mp1-red.dts b/arch/arm/dts/stm32mp157c-osd32mp1-red.dts +new file mode 100644 +index 0000000000..6104aff03d +--- /dev/null ++++ b/arch/arm/dts/stm32mp157c-osd32mp1-red.dts +@@ -0,0 +1,1445 @@ ++/* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */ ++/* ++ * Copyright (C) Octavo Systems 2021 - All Rights Reserved ++ * Author: Neeraj Dantu for Octavo Systems ++ */ ++ ++/dts-v1/; ++ ++#include ++#include "stm32mp157.dtsi" ++#include "stm32mp15xc.dtsi" ++#include "stm32mp15xxac-pinctrl.dtsi" ++#include "stm32mp15-m4-srm.dtsi" ++#include ++#include ++#include ++ ++/ { ++ model = "Octavo OSD32MP1 RED board"; ++ compatible = "st,stm32mp157c-osd32mp1-red", "st,stm32mp157"; ++ ++ memory@c0000000 { ++ device_type = "memory"; ++ reg = <0xc0000000 0x20000000>; ++ }; ++ ++ wifi_pwrseq: wifi-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ reset-gpios = <&gpiog 5 GPIO_ACTIVE_LOW>; ++ }; ++ ++ clocks { ++ clk_ext_camera: clk-ext-camera { ++ #clock-cells = <0>; ++ compatible = "fixed-clock"; ++ clock-frequency = <24000000>; ++ }; ++ }; ++ ++ reserved-memory { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ ranges; ++ ++ mcuram2:mcuram2@10000000{ ++ compatible = "shared-dma-pool"; ++ reg = <0x10000000 0x40000>; ++ no-map; ++ }; ++ ++ vdev0vring0:vdev0vring0@10040000{ ++ compatible = "shared-dma-pool"; ++ reg = <0x10040000 0x1000>; ++ no-map; ++ }; ++ ++ vdev0vring1:vdev0vring1@10041000{ ++ compatible = "shared-dma-pool"; ++ reg = <0x10041000 0x1000>; ++ no-map; ++ }; ++ ++ vdev0buffer:vdev0buffer@10042000{ ++ compatible = "shared-dma-pool"; ++ reg = <0x10042000 0x4000>; ++ no-map; ++ }; ++ ++ mcuram:mcuram@30000000{ ++ compatible = "shared-dma-pool"; ++ reg = <0x30000000 0x40000>; ++ no-map; ++ }; ++ ++ retram:retram@38000000{ ++ compatible = "shared-dma-pool"; ++ reg = <0x38000000 0x10000>; ++ no-map; ++ }; ++ ++ gpu_reserved:gpu@d4000000{ ++ reg = <0xd4000000 0x4000000>; ++ no-map; ++ }; ++ }; ++ ++ ++ aliases { ++ ethernet0 = ðernet0; ++ serial0 = &uart4; ++ serial1 = &usart3; ++ serial2 = &uart7; ++ serial3 = &usart2; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ led { ++ compatible = "gpio-leds"; ++ blue { ++ label = "heartbeat"; ++ gpios = <&gpiod 11 GPIO_ACTIVE_HIGH>; ++ linux,default-trigger = "heartbeat"; ++ default-state = "off"; ++ }; ++ }; ++ ++ usb_phy_tuning:usb-phy-tuning{ ++ st,hs-dc-level = <2>; ++ st,fs-rftime-tuning; ++ st,hs-rftime-reduction; ++ st,hs-current-trim = <15>; ++ st,hs-impedance-trim = <1>; ++ st,squelch-level = <3>; ++ st,hs-rx-offset = <2>; ++ st,no-lsfs-sc; ++ }; ++ ++ vin:vin{ ++ compatible = "regulator-fixed"; ++ regulator-name = "vin"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ regulator-always-on; ++ }; ++ ++ sound { ++ compatible = "audio-graph-card"; ++ label = "STM32MP15-DK"; ++ routing = ++ "Playback" , "MCLK", ++ "Capture" , "MCLK", ++ "MICL" , "Mic Bias"; ++ dais = <&i2s2_port>; ++ status = "okay"; ++ }; ++}; ++ ++&pinctrl { ++ u-boot,dm-pre-reloc; ++ dcmi_pins_mx: dcmi_mx-0 { ++ pins { ++ pinmux = , /* DCMI_HSYNC */ ++ , /* DCMI_PIXCLK */ ++ , /* DCMI_D1 */ ++ , /* DCMI_D7 */ ++ , /* DCMI_D0 */ ++ , /* DCMI_D2 */ ++ , /* DCMI_D3 */ ++ , /* DCMI_D4 */ ++ , /* DCMI_D6 */ ++ , /* DCMI_VSYNC */ ++ , /* DCMI_D8 */ ++ , /* DCMI_D9 */ ++ , /* DCMI_D11 */ ++ , /* DCMI_D10 */ ++ ; /* DCMI_D5 */ ++ bias-disable; ++ }; ++ }; ++ ++ dcmi_sleep_pins_mx: dcmi_sleep_mx-0 { ++ pins { ++ pinmux = , /* DCMI_HSYNC */ ++ , /* DCMI_PIXCLK */ ++ , /* DCMI_D1 */ ++ , /* DCMI_D7 */ ++ , /* DCMI_D0 */ ++ , /* DCMI_D2 */ ++ , /* DCMI_D3 */ ++ , /* DCMI_D4 */ ++ , /* DCMI_D6 */ ++ , /* DCMI_VSYNC */ ++ , /* DCMI_D8 */ ++ , /* DCMI_D9 */ ++ , /* DCMI_D11 */ ++ , /* DCMI_D10 */ ++ ; /* DCMI_D5 */ ++ }; ++ }; ++ ++ eth1_pins_mx: eth1_mx-0 { ++ pins1 { ++ pinmux = , /* ETH1_RX_CLK */ ++ , /* ETH1_RX_CTL */ ++ , /* ETH1_RXD2 */ ++ , /* ETH1_RXD3 */ ++ , /* ETH1_RXD0 */ ++ ; /* ETH1_RXD1 */ ++ bias-disable; ++ }; ++ pins2 { ++ pinmux = ; /* ETH1_MDIO */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <0>; ++ }; ++ pins3 { ++ pinmux = , /* ETH1_TX_CTL */ ++ , /* ETH1_MDC */ ++ , /* ETH1_TXD2 */ ++ , /* ETH1_TXD3 */ ++ , /* ETH1_GTX_CLK */ ++ , /* ETH1_TXD0 */ ++ ; /* ETH1_TXD1 */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <2>; ++ }; ++ }; ++ ++ eth1_sleep_pins_mx: eth1_sleep_mx-0 { ++ pins { ++ pinmux = , /* ETH1_RX_CLK */ ++ , /* ETH1_MDIO */ ++ , /* ETH1_RX_CTL */ ++ , /* ETH1_RXD2 */ ++ , /* ETH1_RXD3 */ ++ , /* ETH1_TX_CTL */ ++ , /* ETH1_MDC */ ++ , /* ETH1_TXD2 */ ++ , /* ETH1_RXD0 */ ++ , /* ETH1_RXD1 */ ++ , /* ETH1_TXD3 */ ++ , /* ETH1_GTX_CLK */ ++ , /* ETH1_TXD0 */ ++ ; /* ETH1_TXD1 */ ++ }; ++ }; ++ ++ i2c1_pins_mx: i2c1_mx-0 { ++ pins { ++ pinmux = , /* I2C1_SCL */ ++ ; /* I2C1_SDA */ ++ bias-disable; ++ drive-open-drain; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ i2c1_sleep_pins_mx: i2c1_sleep_mx-0 { ++ pins { ++ pinmux = , /* I2C1_SCL */ ++ ; /* I2C1_SDA */ ++ }; ++ }; ++ ++ i2c2_pins_mx: i2c2_mx-0 { ++ pins { ++ pinmux = ; /* I2C2_SDA */ ++ bias-disable; ++ drive-open-drain; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ i2c2_sleep_pins_mx: i2c2_sleep_mx-0 { ++ pins { ++ pinmux = ; /* I2C2_SDA */ ++ }; ++ }; ++ ++ i2c5_pins_mx: i2c5_mx-0 { ++ pins { ++ pinmux = , /* I2C5_SCL */ ++ ; /* I2C5_SDA */ ++ bias-disable; ++ drive-open-drain; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ i2c5_sleep_pins_mx: i2c5_sleep_mx-0 { ++ pins { ++ pinmux = , /* I2C5_SCL */ ++ ; /* I2C5_SDA */ ++ }; ++ }; ++ ++ i2s2_pins_mx: i2s2_mx-0 { ++ pins { ++ pinmux = , /* I2S2_WS */ ++ , /* I2S2_CK */ ++ ; /* I2S2_SDO */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <1>; ++ }; ++ }; ++ ++ i2s2_sleep_pins_mx: i2s2_sleep_mx-0 { ++ pins { ++ pinmux = , /* I2S2_WS */ ++ , /* I2S2_CK */ ++ ; /* I2S2_SDO */ ++ }; ++ }; ++ ++ ltdc_pins_mx: ltdc_mx-0 { ++ pins1 { ++ pinmux = , /* LTDC_B5 */ ++ , /* LTDC_B6 */ ++ , /* LTDC_R5 */ ++ , /* LTDC_B7 */ ++ , /* LTDC_B0 */ ++ , /* LTDC_B3 */ ++ , /* LTDC_G1 */ ++ , /* LTDC_B4 */ ++ , /* LTDC_G0 */ ++ , /* LTDC_R7 */ ++ , /* LTDC_DE */ ++ , /* LTDC_B2 */ ++ , /* LTDC_B1 */ ++ , /* LTDC_R0 */ ++ , /* LTDC_R1 */ ++ , /* LTDC_G4 */ ++ , /* LTDC_R2 */ ++ , /* LTDC_R3 */ ++ , /* LTDC_R4 */ ++ , /* LTDC_R6 */ ++ , /* LTDC_G2 */ ++ , /* LTDC_G3 */ ++ , /* LTDC_G5 */ ++ , /* LTDC_G6 */ ++ , /* LTDC_G7 */ ++ , /* LTDC_VSYNC */ ++ ; /* LTDC_HSYNC */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <0>; ++ }; ++ pins2 { ++ pinmux = ; /* LTDC_CLK */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <1>; ++ }; ++ }; ++ ++ ltdc_sleep_pins_mx: ltdc_sleep_mx-0 { ++ pins { ++ pinmux = , /* LTDC_B5 */ ++ , /* LTDC_B6 */ ++ , /* LTDC_R5 */ ++ , /* LTDC_B7 */ ++ , /* LTDC_B0 */ ++ , /* LTDC_B3 */ ++ , /* LTDC_G1 */ ++ , /* LTDC_B4 */ ++ , /* LTDC_G0 */ ++ , /* LTDC_R7 */ ++ , /* LTDC_DE */ ++ , /* LTDC_CLK */ ++ , /* LTDC_B2 */ ++ , /* LTDC_B1 */ ++ , /* LTDC_R0 */ ++ , /* LTDC_R1 */ ++ , /* LTDC_G4 */ ++ , /* LTDC_R2 */ ++ , /* LTDC_R3 */ ++ , /* LTDC_R4 */ ++ , /* LTDC_R6 */ ++ , /* LTDC_G2 */ ++ , /* LTDC_G3 */ ++ , /* LTDC_G5 */ ++ , /* LTDC_G6 */ ++ , /* LTDC_G7 */ ++ , /* LTDC_VSYNC */ ++ ; /* LTDC_HSYNC */ ++ }; ++ }; ++ ++ sdmmc1_pins_mx: sdmmc1_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins1 { ++ u-boot,dm-pre-reloc; ++ pinmux = , /* SDMMC1_D0 */ ++ , /* SDMMC1_D1 */ ++ , /* SDMMC1_D2 */ ++ , /* SDMMC1_D3 */ ++ ; /* SDMMC1_CMD */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <1>; ++ }; ++ pins2 { ++ u-boot,dm-pre-reloc; ++ pinmux = ; /* SDMMC1_CK */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <2>; ++ }; ++ }; ++ ++ sdmmc1_opendrain_pins_mx: sdmmc1_opendrain_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins1 { ++ u-boot,dm-pre-reloc; ++ pinmux = , /* SDMMC1_D0 */ ++ , /* SDMMC1_D1 */ ++ , /* SDMMC1_D2 */ ++ ; /* SDMMC1_D3 */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <1>; ++ }; ++ pins2 { ++ u-boot,dm-pre-reloc; ++ pinmux = ; /* SDMMC1_CK */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <2>; ++ }; ++ pins3 { ++ u-boot,dm-pre-reloc; ++ pinmux = ; /* SDMMC1_CMD */ ++ bias-disable; ++ drive-open-drain; ++ slew-rate = <1>; ++ }; ++ }; ++ ++ sdmmc1_sleep_pins_mx: sdmmc1_sleep_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins { ++ u-boot,dm-pre-reloc; ++ pinmux = , /* SDMMC1_D0 */ ++ , /* SDMMC1_D1 */ ++ , /* SDMMC1_D2 */ ++ , /* SDMMC1_D3 */ ++ , /* SDMMC1_CK */ ++ ; /* SDMMC1_CMD */ ++ }; ++ }; ++ ++ sdmmc2_pins_mx: sdmmc2_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins1 { ++ u-boot,dm-pre-reloc; ++ pinmux = , /* SDMMC2_D4 */ ++ , /* SDMMC2_D5 */ ++ , /* SDMMC2_D2 */ ++ , /* SDMMC2_D3 */ ++ , /* SDMMC2_D0 */ ++ , /* SDMMC2_D1 */ ++ , /* SDMMC2_D7 */ ++ , /* SDMMC2_D6 */ ++ ; /* SDMMC2_CMD */ ++ bias-pull-up; ++ drive-push-pull; ++ slew-rate = <1>; ++ }; ++ pins2 { ++ u-boot,dm-pre-reloc; ++ pinmux = ; /* SDMMC2_CK */ ++ bias-pull-up; ++ drive-push-pull; ++ slew-rate = <2>; ++ }; ++ }; ++ ++ sdmmc2_opendrain_pins_mx: sdmmc2_opendrain_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins1 { ++ u-boot,dm-pre-reloc; ++ pinmux = , /* SDMMC2_D4 */ ++ , /* SDMMC2_D5 */ ++ , /* SDMMC2_D2 */ ++ , /* SDMMC2_D3 */ ++ , /* SDMMC2_D0 */ ++ , /* SDMMC2_D1 */ ++ , /* SDMMC2_D7 */ ++ ; /* SDMMC2_D6 */ ++ bias-pull-up; ++ drive-push-pull; ++ slew-rate = <1>; ++ }; ++ pins2 { ++ u-boot,dm-pre-reloc; ++ pinmux = ; /* SDMMC2_CK */ ++ bias-pull-up; ++ drive-push-pull; ++ slew-rate = <2>; ++ }; ++ pins3 { ++ u-boot,dm-pre-reloc; ++ pinmux = ; /* SDMMC2_CMD */ ++ bias-pull-up; ++ drive-open-drain; ++ slew-rate = <1>; ++ }; ++ }; ++ ++ sdmmc2_sleep_pins_mx: sdmmc2_sleep_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins { ++ u-boot,dm-pre-reloc; ++ pinmux = , /* SDMMC2_D4 */ ++ , /* SDMMC2_D5 */ ++ , /* SDMMC2_D2 */ ++ , /* SDMMC2_D3 */ ++ , /* SDMMC2_D0 */ ++ , /* SDMMC2_D1 */ ++ , /* SDMMC2_D7 */ ++ , /* SDMMC2_CK */ ++ , /* SDMMC2_D6 */ ++ ; /* SDMMC2_CMD */ ++ }; ++ }; ++ ++ sdmmc3_pins_mx: sdmmc3_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins1 { ++ u-boot,dm-pre-reloc; ++ pinmux = , /* SDMMC3_D3 */ ++ , /* SDMMC3_D0 */ ++ , /* SDMMC3_CMD */ ++ , /* SDMMC3_D1 */ ++ ; /* SDMMC3_D2 */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <1>; ++ }; ++ pins2 { ++ u-boot,dm-pre-reloc; ++ pinmux = ; /* SDMMC3_CK */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <2>; ++ }; ++ }; ++ ++ sdmmc3_opendrain_pins_mx: sdmmc3_opendrain_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins1 { ++ u-boot,dm-pre-reloc; ++ pinmux = , /* SDMMC3_D3 */ ++ , /* SDMMC3_D0 */ ++ , /* SDMMC3_D1 */ ++ ; /* SDMMC3_D2 */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <1>; ++ }; ++ pins2 { ++ u-boot,dm-pre-reloc; ++ pinmux = ; /* SDMMC3_CMD */ ++ bias-disable; ++ drive-open-drain; ++ slew-rate = <1>; ++ }; ++ pins3 { ++ u-boot,dm-pre-reloc; ++ pinmux = ; /* SDMMC3_CK */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <2>; ++ }; ++ }; ++ ++ sdmmc3_sleep_pins_mx: sdmmc3_sleep_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins { ++ u-boot,dm-pre-reloc; ++ pinmux = , /* SDMMC3_D3 */ ++ , /* SDMMC3_D0 */ ++ , /* SDMMC3_CMD */ ++ , /* SDMMC3_D1 */ ++ , /* SDMMC3_D2 */ ++ ; /* SDMMC3_CK */ ++ }; ++ }; ++ ++ spi5_pins_mx: spi5_mx-0 { ++ pins { ++ pinmux = , /* SPI5_SCK */ ++ , /* SPI5_MISO */ ++ ; /* SPI5_MOSI */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <1>; ++ }; ++ }; ++ ++ spi5_sleep_pins_mx: spi5_sleep_mx-0 { ++ pins { ++ pinmux = , /* SPI5_SCK */ ++ , /* SPI5_MISO */ ++ ; /* SPI5_MOSI */ ++ }; ++ }; ++ ++ tim5_pwm_pins_mx: tim5_pwm_mx-0 { ++ pins { ++ pinmux = ; /* TIM5_CH2 */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ tim5_pwm_sleep_pins_mx: tim5_pwm_sleep_mx-0 { ++ pins { ++ pinmux = ; /* TIM5_CH2 */ ++ }; ++ }; ++ ++ uart4_pins_mx: uart4_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins1 { ++ u-boot,dm-pre-reloc; ++ pinmux = ; /* UART4_RX */ ++ bias-disable; ++ }; ++ pins2 { ++ u-boot,dm-pre-reloc; ++ pinmux = ; /* UART4_TX */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ uart4_sleep_pins_mx: uart4_sleep_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins { ++ u-boot,dm-pre-reloc; ++ pinmux = , /* UART4_RX */ ++ ; /* UART4_TX */ ++ }; ++ }; ++ ++ usart2_pins_mx: usart2_mx-0 { ++ pins1 { ++ pinmux = , /* USART2_CTS */ ++ ; /* USART2_RX */ ++ bias-disable; ++ }; ++ pins2 { ++ pinmux = , /* USART2_RTS */ ++ ; /* USART2_TX */ ++ bias-disable; ++ drive-push-pull; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ usart2_sleep_pins_mx: usart2_sleep_mx-0 { ++ pins { ++ pinmux = , /* USART2_CTS */ ++ , /* USART2_RTS */ ++ , /* USART2_TX */ ++ ; /* USART2_RX */ ++ }; ++ }; ++ ++ cec_pins_mx: cec-1 { ++ pins { ++ pinmux = ; ++ bias-disable; ++ drive-open-drain; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ cec_sleep_pins_mx: cec-sleep-1 { ++ pins { ++ pinmux = ; /* HDMI_CEC */ ++ }; ++ }; ++ ++ stusb1600_pins_mx: stusb1600-0 { ++ pins { ++ pinmux = ; ++ bias-pull-up; ++ }; ++ }; ++ ++ m_can1_pins_mx: m_can1_sleep_mx-0 { ++ pins1 { ++ pinmux = ; /* CAN1_TX */ ++ slew-rate = <0>; ++ drive-push-pull; ++ bias-disable; ++ }; ++ pins2 { ++ pinmux = ; /* CAN1_RX */ ++ bias-disable; ++ }; ++ }; ++ ++ m_can1_sleep_pins_mx: m_can1_sleep-0 { ++ pins { ++ pinmux = , /* CAN1_TX */ ++ ; /* CAN1_RX */ ++ }; ++ }; ++ ++}; ++ ++&pinctrl_z { ++ u-boot,dm-pre-reloc; ++ ++ i2c2_pins_z_mx: i2c2_mx-0 { ++ pins { ++ pinmux = ; /* I2C2_SCL */ ++ bias-disable; ++ drive-open-drain; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ i2c2_sleep_pins_z_mx: i2c2_sleep_mx-0 { ++ pins { ++ pinmux = ; /* I2C2_SCL */ ++ }; ++ }; ++ ++ i2c4_pins_z_mx: i2c4_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins { ++ u-boot,dm-pre-reloc; ++ pinmux = , /* I2C4_SCL */ ++ ; /* I2C4_SDA */ ++ bias-disable; ++ drive-open-drain; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ i2c4_sleep_pins_z_mx: i2c4_sleep_mx-0 { ++ u-boot,dm-pre-reloc; ++ pins { ++ u-boot,dm-pre-reloc; ++ pinmux = , /* I2C4_SCL */ ++ ; /* I2C4_SDA */ ++ }; ++ }; ++}; ++ ++&m4_rproc{ ++ memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>, ++ <&vdev0vring1>, <&vdev0buffer>; ++ mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>; ++ mbox-names = "vq0", "vq1", "shutdown"; ++ interrupt-parent = <&exti>; ++ interrupts = <68 1>; ++ wakeup-source; ++ status = "okay"; ++}; ++ ++&dcmi{ ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&dcmi_pins_mx>; ++ pinctrl-1 = <&dcmi_sleep_pins_mx>; ++ status = "okay"; ++ ++ port { ++ dcmi_0: endpoint { ++ remote-endpoint = <&ov5640_0>; ++ bus-width = <8>; ++ hsync-active = <0>; ++ vsync-active = <0>; ++ pclk-sample = <1>; ++ pclk-max-frequency = <77000000>; ++ }; ++ }; ++}; ++ ++&dsi{ ++ status = "okay"; ++ ++ ports { ++ port@0 { ++ reg = <0>; ++ dsi_in: endpoint { ++ remote-endpoint = <<dc_ep1_out>; ++ }; ++ }; ++ ++ port@1 { ++ reg = <1>; ++ dsi_out: endpoint { ++ remote-endpoint = <&panel_in>; ++ }; ++ }; ++ }; ++ ++ panel_otm8009a: panel-otm8009a@0 { ++ compatible = "orisetech,otm8009a"; ++ reg = <0>; ++ reset-gpios = <&gpioe 9 GPIO_ACTIVE_LOW>; ++ power-supply = <&v3v3>; ++ status = "okay"; ++ ++ port { ++ panel_in: endpoint { ++ remote-endpoint = <&dsi_out>; ++ }; ++ }; ++ }; ++}; ++ ++ðernet0{ ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <ð1_pins_mx>; ++ pinctrl-1 = <ð1_sleep_pins_mx>; ++ status = "okay"; ++ ++ ++ st,eth-clk-sel; //custom ++ phy-mode = "rgmii-id"; ++ max-speed = <1000>; ++ phy-handle = <&phy0>; ++ nvmem-cells = <ðernet_mac_address>; ++ nvmem-cell-names = "mac-address"; ++ ++ mdio0 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ compatible = "snps,dwmac-mdio"; ++ phy0: ethernet-phy@0 { ++ reg = <3>; ++ }; ++ }; ++}; ++ ++&gpu{ ++ status = "okay"; ++ contiguous-area = <&gpu_reserved>; ++}; ++ ++&hash1 { ++ status = "okay"; ++}; ++ ++&hsem{ ++ status = "okay"; ++}; ++ ++&cryp1{ ++ u-boot,dm-pre-reloc; ++ status = "okay"; ++}; ++ ++&i2c1{ ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&i2c1_pins_mx>; ++ pinctrl-1 = <&i2c1_sleep_pins_mx>; ++ status = "okay"; ++ i2c-scl-rising-time-ns = <100>; ++ i2c-scl-falling-time-ns = <7>; ++ /delete-property/dmas; ++ /delete-property/dma-names; ++ ++ touchscreen@2a { ++ compatible = "focaltech,ft6236"; ++ reg = <0x2a>; ++ interrupts = <2 2>; ++ interrupt-parent = <&gpiof>; ++ interrupt-controller; ++ touchscreen-size-x = <480>; ++ touchscreen-size-y = <800>; ++ panel = <&panel_otm8009a>; ++ vcc-supply = <&v3v3>; ++ status = "okay"; ++ }; ++ touchscreen@38 { ++ compatible = "focaltech,ft6236"; ++ reg = <0x38>; ++ interrupts = <2 2>; ++ interrupt-parent = <&gpiof>; ++ interrupt-controller; ++ touchscreen-size-x = <480>; ++ touchscreen-size-y = <800>; ++ panel = <&panel_otm8009a>; ++ vcc-supply = <&v3v3>; ++ status = "okay"; ++ }; ++ ++ hdmi-transmitter@39 { ++ compatible = "sil,sii9022"; ++ reg = <0x39>; ++ reset-gpios = <&gpiog 0 GPIO_ACTIVE_LOW>; ++ interrupts = <1 IRQ_TYPE_EDGE_FALLING>; ++ interrupt-parent = <&gpiog>; ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <<dc_pins_mx>; ++ pinctrl-1 = <<dc_sleep_pins_mx>; ++ status = "okay"; ++ ++ ports { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ port@0 { ++ reg = <0>; ++ sii9022_in: endpoint { ++ remote-endpoint = <<dc_ep0_out>; ++ }; ++ }; ++ ++ port@1 { ++ reg = <1>; ++ sii9022_tx_endpoint: endpoint { ++ remote-endpoint = <&i2s2_endpoint>; ++ }; ++ }; ++ }; ++ }; ++}; ++ ++&i2c2{ ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&i2c2_pins_mx &i2c2_pins_z_mx>; ++ pinctrl-1 = <&i2c2_sleep_pins_mx &i2c2_sleep_pins_z_mx>; ++ status = "okay"; ++ i2c-scl-rising-time-ns = <185>; ++ i2c-scl-falling-time-ns = <20>; ++ /delete-property/dmas; ++ /delete-property/dma-names; ++ ++ ov5640: camera@3c { ++ compatible = "ovti,ov5640"; ++ reg = <0x3c>; ++ clocks = <&clk_ext_camera>; ++ clock-names = "xclk"; ++ DOVDD-supply = <&v3v3>; ++ //powerdown-gpios = <&stmfx_pinctrl 18 (GPIO_ACTIVE_HIGH | GPIO_PUSH_PULL)>; ++ //reset-gpios = <&stmfx_pinctrl 19 (GPIO_ACTIVE_LOW | GPIO_PUSH_PULL)>; ++ //powerdown-gpios = <&gpioc 3 GPIO_ACTIVE_HIGH>; //custom ++ //reset-gpios = <&gpioa 14 GPIO_ACTIVE_LOW>; //custom ++ rotation = <180>; ++ status = "okay"; ++ ++ port { ++ ov5640_0: endpoint { ++ remote-endpoint = <&dcmi_0>; ++ bus-width = <8>; ++ data-shift = <2>; /* lines 9:2 are used */ ++ hsync-active = <0>; ++ vsync-active = <0>; ++ pclk-sample = <1>; ++ pclk-max-frequency = <77000000>; ++ }; ++ }; ++ }; ++}; ++ ++&i2c4{ ++ u-boot,dm-pre-reloc; ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&i2c4_pins_z_mx>; ++ pinctrl-1 = <&i2c4_sleep_pins_z_mx>; ++ status = "okay"; ++ i2c-scl-rising-time-ns = <185>; ++ i2c-scl-falling-time-ns = <20>; ++ clock-frequency = <400000>; ++ /delete-property/ dmas; ++ /delete-property/ dma-names; ++ ++ typec: stusb1600@28 { ++ compatible = "st,stusb1600"; ++ reg = <0x28>; ++ interrupt-parent = <&gpioe>; ++ interrupts = <8 IRQ_TYPE_EDGE_FALLING>; ++ pinctrl-0 = <&stusb1600_pins_mx>; ++ pinctrl-names = "default"; ++ status = "okay"; ++ vdd-supply = <&vin>; ++ ++ typec_con: connector { ++ compatible = "usb-c-connector"; ++ label = "USB-C"; ++ power-role = "dual"; ++ power-opmode = "default"; ++ ++ port { ++ con_usbotg_hs_ep: endpoint { ++ remote-endpoint = <&usbotg_hs_ep>; ++ }; ++ }; ++ }; ++ }; ++ ++ pmic:stpmic@33{ ++ compatible = "st,stpmic1"; ++ reg = <0x33>; ++ interrupts-extended = <&exti_pwr 55 IRQ_TYPE_EDGE_FALLING>; ++ interrupt-controller; ++ #interrupt-cells = <2>; ++ status = "okay"; ++ ++ st,main-control-register = <0x04>; ++ st,vin-control-register = <0xc0>; ++ st,usb-control-register = <0x20>; ++ ++ regulators{ ++ compatible = "st,stpmic1-regulators"; ++ buck1-supply = <&vin>; ++ buck2-supply = <&vin>; ++ buck3-supply = <&vin>; ++ buck4-supply = <&vin>; ++ ldo1-supply = <&v3v3>; ++ ldo2-supply = <&vin>; ++ ldo3-supply = <&vdd_ddr>; ++ ldo4-supply = <&vin>; ++ ldo5-supply = <&vin>; ++ ldo6-supply = <&v3v3>; ++ vref_ddr-supply = <&vin>; ++ boost-supply = <&vin>; ++ pwr_sw1-supply = <&bst_out>; ++ pwr_sw2-supply = <&bst_out>; ++ ++ ++ vddcore:buck1{ ++ regulator-name = "vddcore"; ++ regulator-min-microvolt = <1200000>; ++ regulator-max-microvolt = <1350000>; ++ regulator-always-on; ++ regulator-initial-mode = <0>; ++ regulator-over-current-protection; ++ }; ++ ++ vdd_ddr:buck2{ ++ regulator-name = "vdd_ddr"; ++ regulator-min-microvolt = <1350000>; ++ regulator-max-microvolt = <1350000>; ++ regulator-always-on; ++ regulator-initial-mode = <0>; ++ regulator-over-current-protection; ++ }; ++ ++ vdd:buck3{ ++ regulator-name = "vdd"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-always-on; ++ st,mask-reset; ++ regulator-initial-mode = <0>; ++ regulator-over-current-protection; ++ }; ++ ++ v3v3:buck4{ ++ regulator-name = "v3v3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-always-on; ++ regulator-over-current-protection; ++ regulator-initial-mode = <0>; ++ }; ++ ++ v1v8_audio:ldo1{ ++ regulator-name = "v1v8_audio"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-always-on; ++ interrupts = ; ++ }; ++ ++ v3v3_hdmi:ldo2{ ++ regulator-name = "v3v3_hdmi"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-always-on; ++ interrupts = ; ++ }; ++ ++ vtt_ddr:ldo3{ ++ regulator-name = "vtt_ddr"; ++ regulator-min-microvolt = <500000>; ++ regulator-max-microvolt = <750000>; ++ regulator-always-on; ++ regulator-over-current-protection; ++ }; ++ ++ vdd_usb:ldo4{ ++ regulator-name = "vdd_usb"; ++ interrupts = ; ++ }; ++ ++ v3v3_eth:ldo5{ ++ regulator-name = "v3v3_eth"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ interrupts = ; ++ regulator-boot-on; ++ }; ++ ++ v3v3_dsi:ldo6{ ++ regulator-name = "v3v3_dsi"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-always-on; ++ interrupts = ; ++ }; ++ ++ vref_ddr:vref_ddr{ ++ regulator-name = "vref_ddr"; ++ regulator-always-on; ++ regulator-over-current-protection; ++ }; ++ ++ bst_out:boost{ ++ regulator-name = "bst_out"; ++ interrupts = ; ++ regulator-always-on; ++ }; ++ ++ vbus_otg:pwr_sw1{ ++ regulator-name = "vbus_otg"; ++ interrupts = ; ++ regulator-active-discharge; ++ regulator-always-on; ++ }; ++ ++ vbus_sw:pwr_sw2{ ++ regulator-name = "vbus_sw"; ++ interrupts = ; ++ regulator-active-discharge = <1>; ++ regulator-always-on; ++ }; ++ }; ++ ++ onkey{ ++ compatible = "st,stpmic1-onkey"; ++ interrupts = , ; ++ interrupt-names = "onkey-falling", "onkey-rising"; ++ power-off-time-sec = <10>; ++ status = "okay"; ++ }; ++ ++ watchdog { ++ compatible = "st,stpmic1-wdt"; ++ status = "disabled"; ++ }; ++ }; ++ eeprom@50 { ++ compatible = "atmel,24c02"; ++ reg = <0x50>; ++ pagesize = <16>; ++ }; ++}; ++ ++&i2c5{ ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&i2c5_pins_mx>; ++ pinctrl-1 = <&i2c5_sleep_pins_mx>; ++ status = "okay"; ++ ++ /delete-property/dmas; ++ /delete-property/dma-names; ++ ++}; ++ ++&spi5 { ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&spi5_pins_mx>; ++ pinctrl-1 = <&spi5_sleep_pins_mx>; ++ cs-gpios = <&gpiof 6 0>; ++ status = "okay"; ++ ++ spidev: spidev@0 { ++ compatible = "rohm,dh2228fv"; ++ spi-max-frequency = <30000000>; ++ reg = <0>; ++ }; ++}; ++ ++&i2s2{ ++ clocks = <&rcc SPI2>, <&rcc SPI2_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>; ++ clock-names = "pclk", "i2sclk", "x8k", "x11k"; ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&i2s2_pins_mx>; ++ pinctrl-1 = <&i2s2_sleep_pins_mx>; ++ status = "okay"; ++ ++ i2s2_port: port { ++ i2s2_endpoint: endpoint { ++ remote-endpoint = <&sii9022_tx_endpoint>; ++ format = "i2s"; ++ mclk-fs = <256>; ++ }; ++ }; ++}; ++ ++&ipcc{ ++ status = "okay"; ++}; ++ ++&iwdg2{ ++ status = "okay"; ++ timeout-sec = <32>; ++}; ++ ++<dc{ ++ status = "okay"; ++ port { ++ ltdc_ep0_out: endpoint@0 { ++ reg = <0>; ++ remote-endpoint = <&sii9022_in>; ++ }; ++ ++ ltdc_ep1_out: endpoint@1 { ++ reg = <1>; ++ remote-endpoint = <&dsi_in>; ++ }; ++ }; ++}; ++ ++&pwr_regulators { ++ vdd-supply = <&vdd>; ++ vdd_3v3_usbfs-supply = <&vdd_usb>; ++}; ++ ++&rcc{ ++ u-boot,dm-pre-reloc; ++ status = "okay"; ++}; ++ ++&rng1{ ++ status = "okay"; ++}; ++ ++&rtc{ ++ status = "okay"; ++}; ++ ++&cec { ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&cec_pins_mx>; ++ pinctrl-1 = <&cec_sleep_pins_mx>; ++ status = "okay"; ++}; ++ ++&cpu0{ ++ cpu-supply = <&vddcore>; ++}; ++ ++&cpu1{ ++ cpu-supply = <&vddcore>; ++}; ++ ++&crc1 { ++ status = "okay"; ++}; ++ ++&dts { ++ status = "okay"; ++}; ++ ++&sdmmc1{ ++ u-boot,dm-pre-reloc; ++ pinctrl-names = "default", "opendrain", "sleep"; ++ pinctrl-0 = <&sdmmc1_pins_mx>; ++ pinctrl-1 = <&sdmmc1_opendrain_pins_mx>; ++ pinctrl-2 = <&sdmmc1_sleep_pins_mx>; ++ status = "okay"; ++ ++ cd-gpios = <&gpioe 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; ++ disable-wp; ++ st,neg-edge; ++ bus-width = <4>; ++ vmmc-supply = <&v3v3>; ++}; ++ ++&sdmmc2{ ++ u-boot,dm-pre-reloc; ++ pinctrl-names = "default", "opendrain", "sleep"; ++ pinctrl-0 = <&sdmmc2_pins_mx>; ++ pinctrl-1 = <&sdmmc2_opendrain_pins_mx>; ++ pinctrl-2 = <&sdmmc2_sleep_pins_mx>; ++ status = "okay"; ++ non-removable; ++ no-sd; ++ no-sdio; ++ st,neg-edge; ++ bus-width = <8>; ++ vmmc-supply = <&v3v3>; ++ vqmmc-supply = <&v3v3>; ++ mmc-ddr-3_3v; ++}; ++ ++&sdmmc3{ ++ pinctrl-names = "default", "opendrain", "sleep"; ++ pinctrl-0 = <&sdmmc3_pins_mx>; ++ pinctrl-1 = <&sdmmc3_opendrain_pins_mx>; ++ pinctrl-2 = <&sdmmc3_sleep_pins_mx>; ++ arm,primecell-periphid = <0x10153180>; ++ non-removable; ++ st,neg-edge; ++ bus-width = <4>; ++ vmmc-supply = <&v3v3>; ++ //mmc-pwrseq = <&wifi_pwrseq>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ keep-power-in-suspend; ++ status = "disabled"; ++ //status = "okay"; ++ ++ brcmf: bcrmf@1 { ++ reg = <1>; ++ compatible = "brcm,bcm4329-fmac"; ++ }; ++}; ++ ++&tamp{ ++ status = "okay"; ++}; ++ ++&timers5 { ++ /delete-property/dmas; ++ /delete-property/dma-names; ++ status = "okay"; ++ pwm { ++ pinctrl-0 = <&tim5_pwm_pins_mx>; ++ pinctrl-1 = <&tim5_pwm_sleep_pins_mx>; ++ pinctrl-names = "default", "sleep"; ++ status = "okay"; ++ }; ++ timer@4 { ++ status = "okay"; ++ }; ++}; ++ ++&uart4{ ++ u-boot,dm-pre-reloc; ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&uart4_pins_mx>; ++ pinctrl-1 = <&uart4_sleep_pins_mx>; ++ /delete-property/dmas; ++ /delete-property/dma-names; ++ status = "okay"; ++}; ++ ++&usart2{ ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&usart2_pins_mx>; ++ pinctrl-1 = <&usart2_sleep_pins_mx>; ++ uart-has-rtscts; ++ status = "okay"; ++ ++ bluetooth { ++ shutdown-gpios = <&gpioe 10 GPIO_ACTIVE_HIGH>; ++ compatible = "brcm,bcm43438-bt"; ++ max-speed = <3000000>; ++ vbat-supply = <&v3v3>; ++ vddio-supply = <&v3v3>; ++ }; ++}; ++ ++&sram { ++ dma_pool: dma_pool@0 { ++ reg = <0x50000 0x10000>; ++ pool; ++ }; ++}; ++ ++&dma1 { ++ sram = <&dma_pool>; ++}; ++ ++&dma2 { ++ sram = <&dma_pool>; ++}; ++ ++&adc { ++ vdd-supply = <&vdd>; ++ vdda-supply = <&v3v3_eth>; ++ vref-supply = <&v3v3_eth>; ++ status = "okay"; ++ adc1: adc@0 { ++ st,min-sample-time-nsecs = <5000>; ++ st,adc-channels = <0 1>; ++ status = "okay"; ++ }; ++ ++ adc_temp: temp { ++ status = "okay"; ++ }; ++}; ++ ++ ++// WARNING: Do not try to enable DAC1 and DCMI ++// This devices share the same pin PA4 ++/* &dac { ++ pinctrl-names = "default"; ++ status = "okay"; ++ dac1: dac@1 { ++ pinctrl-0 = <&dac_ch1_pins_a>; ++ status = "disabled"; ++ }; ++ dac2: dac@2 { ++ pinctrl-0 = <&dac_ch2_pins_a>; ++ status = "okay"; ++ }; ++};*/ ++ ++&usbh_ehci { ++ phys = <&usbphyc_port0>; ++ phy-names = "usb"; ++ status = "okay"; ++}; ++ ++&usbh_ohci{ ++ phys = <&usbphyc_port0>; ++ phy-names = "usb"; ++ status = "okay"; ++}; ++ ++&usbotg_hs { ++ phys = <&usbphyc_port1 0>; ++ phy-names = "usb2-phy"; ++ usb-role-switch; ++ status = "okay"; ++ ++ port { ++ usbotg_hs_ep: endpoint { ++ remote-endpoint = <&con_usbotg_hs_ep>; ++ }; ++ }; ++}; ++ ++&usbphyc { ++ status = "okay"; ++}; ++ ++&usbphyc_port0 { ++ phy-supply = <&vdd_usb>; ++ st,phy-tuning = <&usb_phy_tuning>; ++}; ++ ++&usbphyc_port1 { ++ phy-supply = <&vdd_usb>; ++ st,phy-tuning = <&usb_phy_tuning>; ++}; ++ ++&m_can1 { ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&m_can1_pins_mx>; ++ pinctrl-1 = <&m_can1_sleep_pins_mx>; ++ status = "okay"; ++}; +-- +2.25.1 + diff --git a/board/octavo/osd32mp1-red/patches/uboot/0002-configs-stm32mp15_trusted_defconfig-disable-environm.patch b/board/octavo/osd32mp1-red/patches/uboot/0002-configs-stm32mp15_trusted_defconfig-disable-environm.patch new file mode 100644 index 00000000000..a2ec783e1bd --- /dev/null +++ b/board/octavo/osd32mp1-red/patches/uboot/0002-configs-stm32mp15_trusted_defconfig-disable-environm.patch @@ -0,0 +1,49 @@ +From 27a516e2ad464bf1de5e23e8277e0f6d6735bd21 Mon Sep 17 00:00:00 2001 +From: Kory Maincent +Date: Mon, 3 Oct 2022 12:20:40 +0200 +Subject: [PATCH 2/2] configs/stm32mp15_trusted_defconfig: disable environment + +Signed-off-by: Kory Maincent +--- + board/st/stm32mp1/stm32mp1.c | 4 ++++ + configs/stm32mp15_trusted_defconfig | 9 --------- + 2 files changed, 4 insertions(+), 9 deletions(-) + +diff --git a/board/st/stm32mp1/stm32mp1.c b/board/st/stm32mp1/stm32mp1.c +index 48591b2f1e..ba510d843c 100644 +--- a/board/st/stm32mp1/stm32mp1.c ++++ b/board/st/stm32mp1/stm32mp1.c +@@ -78,6 +78,10 @@ DECLARE_GLOBAL_DATA_PTR; + #define USB_START_LOW_THRESHOLD_UV 1230000 + #define USB_START_HIGH_THRESHOLD_UV 2150000 + ++#ifndef CONFIG_SYS_MMC_ENV_DEV ++#define CONFIG_SYS_MMC_ENV_DEV -1 ++#endif ++ + int board_early_init_f(void) + { + /* nothing to do, only used in SPL */ +diff --git a/configs/stm32mp15_trusted_defconfig b/configs/stm32mp15_trusted_defconfig +index 2161ccbefa..fd3fed8fb0 100644 +--- a/configs/stm32mp15_trusted_defconfig ++++ b/configs/stm32mp15_trusted_defconfig +@@ -45,15 +45,6 @@ CONFIG_CMD_EXT4_WRITE=y + CONFIG_CMD_MTDPARTS=y + CONFIG_CMD_UBI=y + CONFIG_ENV_IS_NOWHERE=y +-CONFIG_ENV_IS_IN_MMC=y +-CONFIG_ENV_IS_IN_SPI_FLASH=y +-CONFIG_ENV_IS_IN_UBI=y +-CONFIG_SYS_REDUNDAND_ENVIRONMENT=y +-CONFIG_ENV_UBI_PART="UBI" +-CONFIG_ENV_UBI_VOLUME="uboot_config" +-CONFIG_ENV_UBI_VOLUME_REDUND="uboot_config_r" +-CONFIG_SYS_RELOC_GD_ENV_ADDR=y +-CONFIG_SYS_MMC_ENV_DEV=-1 + CONFIG_STM32_ADC=y + CONFIG_CLK_SCMI=y + CONFIG_SET_DFU_ALT_INFO=y +-- +2.25.1 + diff --git a/board/octavo/osd32mp1-red/patches/uboot/uboot.hash b/board/octavo/osd32mp1-red/patches/uboot/uboot.hash new file mode 100644 index 00000000000..6b51c2685b1 --- /dev/null +++ b/board/octavo/osd32mp1-red/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 49a2470ecd29c29cc712861372335c9e2020e5c56392c6417faf66dc7a782261 uboot-v2020.10-stm32mp-r2.1-git4.tar.gz diff --git a/board/octavo/osd32mp1-red/readme.txt b/board/octavo/osd32mp1-red/readme.txt new file mode 100644 index 00000000000..e087e386400 --- /dev/null +++ b/board/octavo/osd32mp1-red/readme.txt @@ -0,0 +1,37 @@ +OSD32MP1-RED + +Intro +===== + +This configuration supports the OSD32MP1-RED platform: + + https://octavosystems.com/octavo_products/osd32mp1-red/ + +How to build +============ + + $ make octavo_osd32mp1_red_defconfig + $ make + +How to write the microSD card +============================= + +Once the build process is finished you will have an image called +"sdcard.img" in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an microSD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Boot the board +============== + + (1) Insert the microSD card in connector X5. + + (2) Plug an USB-SERIAL cable in the JP4 pin connector and run your serial + communication program on /dev/ttySTM0. + + (3) Plug an USB-C cable in the J2 connector or use barrel power supply to + power-up the board. + + (4) The system will start, with the console on UART. diff --git a/board/octavo/osd32mp1-red/tfa-dts/osd32mp1_ddr_1x4Gb.dtsi b/board/octavo/osd32mp1-red/tfa-dts/osd32mp1_ddr_1x4Gb.dtsi new file mode 100644 index 00000000000..3cd2c3f5d17 --- /dev/null +++ b/board/octavo/osd32mp1-red/tfa-dts/osd32mp1_ddr_1x4Gb.dtsi @@ -0,0 +1,121 @@ +/* + * Copyright (C) 2015-2018, STMicroelectronics - All Rights Reserved + * + * SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause + * + */ + +/* + * File generated by STMicroelectronics STM32CubeMX DDR Tool for MPUs + * DDR type: DDR3 / DDR3L + * DDR width: 16bits + * DDR density: 4Gb + * System frequency: 533000Khz + * Relaxed Timing Mode: false + * Address mapping type: RBC + * + * Save Date: 2020.08.27, save Time: 15:22:11 + */ + +#define DDR_MEM_NAME "DDR3-DDR3L 16bits 533000Khz" +#define DDR_MEM_SPEED 533000 +#define DDR_MEM_SIZE 0x20000000 + +#define DDR_MSTR 0x00041401 +#define DDR_MRCTRL0 0x00000010 +#define DDR_MRCTRL1 0x00000000 +#define DDR_DERATEEN 0x00000000 +#define DDR_DERATEINT 0x00800000 +#define DDR_PWRCTL 0x00000000 +#define DDR_PWRTMG 0x00400010 +#define DDR_HWLPCTL 0x00000000 +#define DDR_RFSHCTL0 0x00210000 +#define DDR_RFSHCTL3 0x00000000 +#define DDR_RFSHTMG 0x0081008B +#define DDR_CRCPARCTL0 0x00000000 +#define DDR_DRAMTMG0 0x121B2414 +#define DDR_DRAMTMG1 0x000A041C +#define DDR_DRAMTMG2 0x0608090F +#define DDR_DRAMTMG3 0x0050400C +#define DDR_DRAMTMG4 0x08040608 +#define DDR_DRAMTMG5 0x06060403 +#define DDR_DRAMTMG6 0x02020002 +#define DDR_DRAMTMG7 0x00000202 +#define DDR_DRAMTMG8 0x00001005 +#define DDR_DRAMTMG14 0x000000A0 +#define DDR_ZQCTL0 0xC2000040 +#define DDR_DFITMG0 0x02060105 +#define DDR_DFITMG1 0x00000202 +#define DDR_DFILPCFG0 0x07000000 +#define DDR_DFIUPD0 0xC0400003 +#define DDR_DFIUPD1 0x00000000 +#define DDR_DFIUPD2 0x00000000 +#define DDR_DFIPHYMSTR 0x00000000 +#define DDR_ODTCFG 0x06000600 +#define DDR_ODTMAP 0x00000001 +#define DDR_SCHED 0x00000C01 +#define DDR_SCHED1 0x00000000 +#define DDR_PERFHPR1 0x01000001 +#define DDR_PERFLPR1 0x08000200 +#define DDR_PERFWR1 0x08000400 +#define DDR_DBG0 0x00000000 +#define DDR_DBG1 0x00000000 +#define DDR_DBGCMD 0x00000000 +#define DDR_POISONCFG 0x00000000 +#define DDR_PCCFG 0x00000010 +#define DDR_PCFGR_0 0x00010000 +#define DDR_PCFGW_0 0x00000000 +#define DDR_PCFGQOS0_0 0x02100C03 +#define DDR_PCFGQOS1_0 0x00800100 +#define DDR_PCFGWQOS0_0 0x01100C03 +#define DDR_PCFGWQOS1_0 0x01000200 +#define DDR_PCFGR_1 0x00010000 +#define DDR_PCFGW_1 0x00000000 +#define DDR_PCFGQOS0_1 0x02100C03 +#define DDR_PCFGQOS1_1 0x00800040 +#define DDR_PCFGWQOS0_1 0x01100C03 +#define DDR_PCFGWQOS1_1 0x01000200 +#define DDR_ADDRMAP1 0x00070707 +#define DDR_ADDRMAP2 0x00000000 +#define DDR_ADDRMAP3 0x1F000000 +#define DDR_ADDRMAP4 0x00001F1F +#define DDR_ADDRMAP5 0x06060606 +#define DDR_ADDRMAP6 0x0F060606 +#define DDR_ADDRMAP9 0x00000000 +#define DDR_ADDRMAP10 0x00000000 +#define DDR_ADDRMAP11 0x00000000 +#define DDR_PGCR 0x01442E02 +#define DDR_PTR0 0x0022AA5B +#define DDR_PTR1 0x04841104 +#define DDR_PTR2 0x042DA068 +#define DDR_ACIOCR 0x10400812 +#define DDR_DXCCR 0x00000C40 +#define DDR_DSGCR 0xF200011F +#define DDR_DCR 0x0000000B +#define DDR_DTPR0 0x38D488D0 +#define DDR_DTPR1 0x098B00D8 +#define DDR_DTPR2 0x10023600 +#define DDR_MR0 0x00000840 +#define DDR_MR1 0x00000000 +#define DDR_MR2 0x00000208 +#define DDR_MR3 0x00000000 +#define DDR_ODTCR 0x00010000 +#define DDR_ZQ0CR1 0x00000038 +#define DDR_DX0GCR 0x0000CE81 +#define DDR_DX0DLLCR 0x40000000 +#define DDR_DX0DQTR 0x00112121 +#define DDR_DX0DQSTR 0x3D200000 +#define DDR_DX1GCR 0x0000CE81 +#define DDR_DX1DLLCR 0x40000000 +#define DDR_DX1DQTR 0x11100121 +#define DDR_DX1DQSTR 0x3D200000 +#define DDR_DX2GCR 0x0000CE80 +#define DDR_DX2DLLCR 0x40000000 +#define DDR_DX2DQTR 0xFFFFFFFF +#define DDR_DX2DQSTR 0x3DB02000 +#define DDR_DX3GCR 0x0000CE80 +#define DDR_DX3DLLCR 0x40000000 +#define DDR_DX3DQTR 0xFFFFFFFF +#define DDR_DX3DQSTR 0x3DB02000 + +#include "stm32mp15-ddr.dtsi" diff --git a/board/octavo/osd32mp1-red/tfa-dts/stm32mp157c-osd32mp1-red-fw-config.dts b/board/octavo/osd32mp1-red/tfa-dts/stm32mp157c-osd32mp1-red-fw-config.dts new file mode 100644 index 00000000000..256d0db9352 --- /dev/null +++ b/board/octavo/osd32mp1-red/tfa-dts/stm32mp157c-osd32mp1-red-fw-config.dts @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) +/* + * Copyright (c) 2020, STMicroelectronics - All Rights Reserved + */ + +#include "stm32mp15-ddr-512m-fw-config.dts" diff --git a/board/octavo/osd32mp1-red/tfa-dts/stm32mp157c-osd32mp1-red.dts b/board/octavo/osd32mp1-red/tfa-dts/stm32mp157c-osd32mp1-red.dts new file mode 100644 index 00000000000..7cf64d9d987 --- /dev/null +++ b/board/octavo/osd32mp1-red/tfa-dts/stm32mp157c-osd32mp1-red.dts @@ -0,0 +1,571 @@ +/* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */ +/* + * Copyright (C) STMicroelectronics 2020 - All Rights Reserved + * Author: STM32CubeMX code generation for STMicroelectronics. + */ + +/dts-v1/; +#include +#include +#include +#include + +#include "stm32mp157.dtsi" +#include "stm32mp15xc.dtsi" +#include "stm32mp15xxac-pinctrl.dtsi" +#include "osd32mp1_ddr_1x4Gb.dtsi" + +/ { + model = "Octavo OSD32MP1 RED board"; + compatible = "octavo,stm32mp157c-osd32mp1-red", "st,stm32mp157"; + + aliases { + serial0 = &uart4; + }; + + memory@c0000000 { + device_type = "memory"; + reg = <0xc0000000 0x20000000>; + }; + + vin: vin { + compatible = "regulator-fixed"; + regulator-name = "vin"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; +}; + +&bsec { + board_id: board_id@ec { + reg = <0xec 0x4>; + st,non-secure-otp; + }; +}; + +&clk_hse { + st,digbypass; +}; + +&cpu0 { + cpu-supply = <&vddcore>; +}; + +&cpu1 { + cpu-supply = <&vddcore>; +}; + +&hash1 { + status = "okay"; +}; + +&cryp1 { + status = "okay"; +}; + +&etzpc { + st,decprot = < + DECPROT(STM32MP1_ETZPC_DCMI_ID, DECPROT_NS_RW, DECPROT_UNLOCK) + DECPROT(STM32MP1_ETZPC_ETH_ID, DECPROT_NS_RW, DECPROT_UNLOCK) + DECPROT(STM32MP1_ETZPC_USART1_ID, DECPROT_NS_RW, DECPROT_UNLOCK) + DECPROT(STM32MP1_ETZPC_SPI6_ID, DECPROT_NS_RW, DECPROT_UNLOCK) + DECPROT(STM32MP1_ETZPC_I2C4_ID, DECPROT_NS_RW, DECPROT_UNLOCK) + DECPROT(STM32MP1_ETZPC_SPI2_ID, DECPROT_NS_RW, DECPROT_UNLOCK) + DECPROT(STM32MP1_ETZPC_I2C6_ID, DECPROT_NS_RW, DECPROT_UNLOCK) + DECPROT(STM32MP1_ETZPC_RNG1_ID, DECPROT_NS_RW, DECPROT_UNLOCK) + DECPROT(STM32MP1_ETZPC_HASH1_ID, DECPROT_NS_RW, DECPROT_UNLOCK) + DECPROT(STM32MP1_ETZPC_CRYP1_ID, DECPROT_NS_RW, DECPROT_UNLOCK) + DECPROT(STM32MP1_ETZPC_DDRCTRL_ID, DECPROT_NS_R_S_W, DECPROT_LOCK) + DECPROT(STM32MP1_ETZPC_DDRPHYC_ID, DECPROT_NS_R_S_W, DECPROT_LOCK) + DECPROT(STM32MP1_ETZPC_STGENC_ID, DECPROT_S_RW, DECPROT_LOCK) + DECPROT(STM32MP1_ETZPC_BKPSRAM_ID, DECPROT_S_RW, DECPROT_LOCK) + DECPROT(STM32MP1_ETZPC_IWDG1_ID, DECPROT_S_RW, DECPROT_LOCK) + >; +}; + + + +&i2c4 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c4_pins_z_mx>; + i2c-scl-rising-time-ns = <185>; + i2c-scl-falling-time-ns = <20>; + clock-frequency = <400000>; + status = "okay"; + secure-status = "okay"; + + pmic: stpmic@33 { + compatible = "st,stpmic1"; + reg = <0x33>; + interrupts-extended = <&exti_pwr 55 IRQ_TYPE_EDGE_FALLING>; + interrupt-controller; + #interrupt-cells = <2>; + status = "okay"; + secure-status = "okay"; + + regulators { + compatible = "st,stpmic1-regulators"; + buck1-supply = <&vin>; + buck2-supply = <&vin>; + buck3-supply = <&vin>; + buck4-supply = <&vin>; + ldo1-supply = <&v3v3>; + ldo2-supply = <&vin>; + ldo3-supply = <&vdd_ddr>; + ldo4-supply = <&vin>; + ldo5-supply = <&vin>; + ldo6-supply = <&v3v3>; + vref_ddr-supply = <&vin>; + boost-supply = <&vin>; + pwr_sw1-supply = <&bst_out>; + pwr_sw2-supply = <&bst_out>; + + vddcore: buck1 { + regulator-name = "vddcore"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1350000>; + regulator-always-on; + regulator-initial-mode = <0>; + regulator-over-current-protection; + lp-stop{ + regulator-on-in-suspend; + regulator-suspend-microvolt = <1200000>; + }; + standby-ddr-sr{ + regulator-off-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + vdd_ddr: buck2 { + regulator-name = "vdd_ddr"; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <1350000>; + regulator-always-on; + regulator-initial-mode = <0>; + regulator-over-current-protection; + lp-stop{ + regulator-suspend-microvolt = <1350000>; + regulator-on-in-suspend; + }; + standby-ddr-sr{ + regulator-suspend-microvolt = <1350000>; + regulator-on-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + vdd: buck3 { + regulator-name = "vdd"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + st,mask-reset; + regulator-initial-mode = <0>; + regulator-over-current-protection; + lp-stop{ + regulator-suspend-microvolt = <3300000>; + regulator-on-in-suspend; + }; + standby-ddr-sr{ + regulator-suspend-microvolt = <3300000>; + regulator-on-in-suspend; + }; + standby-ddr-off{ + regulator-suspend-microvolt = <3300000>; + regulator-on-in-suspend; + }; + }; + + v3v3: buck4 { + regulator-name = "v3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + regulator-over-current-protection; + regulator-initial-mode = <0>; + lp-stop{ + regulator-suspend-microvolt = <3300000>; + regulator-on-in-suspend; + }; + standby-ddr-sr{ + regulator-off-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + v1v8_ldo1: ldo1 { + regulator-name = "v1v8_audio"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + standby-ddr-sr{ + regulator-off-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + v3v3_ldo2: ldo2 { + regulator-name = "v3v3_hdmi"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + standby-ddr-sr{ + regulator-off-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + vtt_ddr: ldo3 { + regulator-name = "vtt_ddr"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <750000>; + regulator-always-on; + regulator-over-current-protection; + lp-stop{ + regulator-off-in-suspend; + }; + standby-ddr-sr{ + regulator-off-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + vdd_usb: ldo4 { + regulator-name = "vdd_usb"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + standby-ddr-sr{ + regulator-on-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + vdda: ldo5 { + regulator-name = "vdda"; + regulator-min-microvolt = <2900000>; + regulator-max-microvolt = <2900000>; + regulator-boot-on; + standby-ddr-sr{ + regulator-off-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + v1v2_ldo6: ldo6 { + regulator-name = "v1v2_ldo6"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + standby-ddr-sr{ + regulator-off-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + vref_ddr: vref_ddr { + regulator-name = "vref_ddr"; + regulator-always-on; + regulator-over-current-protection; + lp-stop{ + regulator-on-in-suspend; + }; + standby-ddr-sr{ + regulator-on-in-suspend; + }; + standby-ddr-off{ + regulator-off-in-suspend; + }; + }; + + bst_out: boost { + regulator-name = "bst_out"; + }; + + vbus_otg: pwr_sw1 { + regulator-name = "vbus_otg"; + }; + + vbus_sw: pwr_sw2 { + regulator-name = "vbus_sw"; + regulator-active-discharge = <1>; + }; + }; + }; +}; + +&iwdg2 { + timeout-sec = <32>; + secure-timeout-sec = <5>; + status = "okay"; + secure-status = "okay"; +}; + +&nvmem_layout { + nvmem-cells = <&cfg0_otp>, + <&part_number_otp>, + <&monotonic_otp>, + <&nand_otp>, + <&uid_otp>, + <&package_otp>, + <&hw2_otp>, + <&pkh_otp>, + <&board_id>; + + nvmem-cell-names = "cfg0_otp", + "part_number_otp", + "monotonic_otp", + "nand_otp", + "uid_otp", + "package_otp", + "hw2_otp", + "pkh_otp", + "board_id"; +}; + +&pwr_regulators { + system_suspend_supported_soc_modes = < + STM32_PM_CSLEEP_RUN + STM32_PM_CSTOP_ALLOW_LP_STOP + STM32_PM_CSTOP_ALLOW_STANDBY_DDR_SR + >; + system_off_soc_mode = ; + vdd-supply = <&vdd>; + vdd_3v3_usbfs-supply = <&vdd_usb>; +}; + +&rcc { + st,hsi-cal; + st,csi-cal; + st,cal-sec = <60>; + st,clksrc = < + CLK_MPU_PLL1P + CLK_AXI_PLL2P + CLK_MCU_PLL3P + CLK_PLL12_HSE + CLK_PLL3_HSE + CLK_PLL4_HSE + CLK_RTC_LSE + CLK_MCO1_DISABLED + CLK_MCO2_DISABLED + >; + + st,clkdiv = < + 1 /*MPU*/ + 0 /*AXI*/ + 0 /*MCU*/ + 1 /*APB1*/ + 1 /*APB2*/ + 1 /*APB3*/ + 1 /*APB4*/ + 2 /*APB5*/ + 23 /*RTC*/ + 0 /*MCO1*/ + 0 /*MCO2*/ + >; + + st,pkcs = < + CLK_CKPER_HSE + CLK_ETH_PLL3Q + CLK_SDMMC12_PLL4P + CLK_DSI_DSIPLL + CLK_STGEN_HSE + CLK_USBPHY_HSE + CLK_SPI2S1_PLL3Q + CLK_SPI2S23_CKPER + CLK_SPI45_PCLK2 + CLK_SPI6_DISABLED + CLK_I2C46_HSI + CLK_SDMMC3_PLL4P + CLK_USBO_USBPHY + CLK_ADC_CKPER + CLK_CEC_LSE + CLK_I2C12_HSI + CLK_I2C35_HSI + CLK_UART1_DISABLED + CLK_UART24_HSI + CLK_UART35_HSI + CLK_UART6_DISABLED + CLK_UART78_DISABLED + CLK_SPDIF_DISABLED + CLK_SAI1_DISABLED + CLK_SAI2_DISABLED + CLK_SAI3_DISABLED + CLK_SAI4_DISABLED + CLK_RNG1_LSI + CLK_LPTIM1_DISABLED + CLK_LPTIM23_DISABLED + CLK_LPTIM45_DISABLED + >; + + pll1:st,pll@0 { + cfg = < 2 80 0 1 1 PQR(1,0,0) >; + frac = < 0x800>; + }; + + pll2:st,pll@1 { + cfg = < 2 65 1 0 0 PQR(1,1,1) >; + frac = < 0x1400>; + }; + + pll3:st,pll@2 { + cfg = < 1 61 3 5 36 PQR(1,1,0) >; + frac = < 0x1000 >; + }; + + pll4: st,pll@3 { + cfg = < 3 98 5 7 7 PQR(1,1,1) >; + }; +}; + +&rng1 { + status = "okay"; + secure-status = "okay"; +}; + +&rtc { + status = "okay"; + secure-status = "okay"; +}; + +&sdmmc1 { + pinctrl-names = "default"; + pinctrl-0 = <&sdmmc1_pins_mx>; + disable-wp; + st,neg-edge; + bus-width = <4>; + vmmc-supply = <&v3v3>; + status = "okay"; +}; + +&sdmmc2{ + pinctrl-names = "default"; + pinctrl-0 = <&sdmmc2_pins_mx>; + status = "okay"; +}; + +&timers15 { + secure-status = "okay"; + st,hsi-cal-input = <7>; + st,csi-cal-input = <8>; +}; +&uart4 { + pinctrl-names = "default"; + pinctrl-0 = <&uart4_pins_mx>; + status = "okay"; +}; + +&usbotg_hs { + phys = <&usbphyc_port1 0>; + phy-names = "usb2-phy"; + usb-role-switch; + status = "okay"; +}; + +&usbphyc { + status = "okay"; +}; + +&usbphyc_port0 { + phy-supply = <&vdd_usb>; +}; + +&usbphyc_port1 { + phy-supply = <&vdd_usb>; +}; + + + + +&pinctrl { + sdmmc1_pins_mx: sdmmc1-b4-0 { + pins1 { + pinmux = , /* SDMMC1_D0 */ + , /* SDMMC1_D1 */ + , /* SDMMC1_D2 */ + , /* SDMMC1_D3 */ + ; /* SDMMC1_CMD */ + slew-rate = <1>; + drive-push-pull; + bias-disable; + }; + pins2 { + pinmux = ; /* SDMMC1_CK */ + slew-rate = <2>; + drive-push-pull; + bias-disable; + }; + }; + + sdmmc2_pins_mx: sdmmc2_mx-0 { + pins1 { + pinmux = , /* SDMMC2_D4 */ + , /* SDMMC2_D5 */ + , /* SDMMC2_D2 */ + , /* SDMMC2_D3 */ + , /* SDMMC2_D0 */ + , /* SDMMC2_D1 */ + , /* SDMMC2_D7 */ + , /* SDMMC2_D6 */ + ; /* SDMMC2_CMD */ + bias-pull-up; + drive-push-pull; + slew-rate = <1>; + }; + pins2 { + pinmux = ; /* SDMMC2_CK */ + bias-pull-up; + drive-push-pull; + slew-rate = <2>; + }; + }; + + uart4_pins_mx: uart4-0 { + pins1 { + pinmux = ; /* UART4_TX */ + bias-disable; + drive-push-pull; + slew-rate = <0>; + }; + pins2 { + pinmux = ; /* UART4_RX */ + bias-disable; + }; + }; +}; + +&pinctrl_z { + i2c4_pins_z_mx: i2c4-0 { + pins { + pinmux = , /* I2C4_SCL */ + ; /* I2C4_SDA */ + bias-disable; + drive-open-drain; + slew-rate = <0>; + }; + }; +}; diff --git a/board/olimex/a10_olinuxino/genimage.cfg b/board/olimex/a10_olinuxino/genimage.cfg new file mode 120000 index 00000000000..c21932feecc --- /dev/null +++ b/board/olimex/a10_olinuxino/genimage.cfg @@ -0,0 +1 @@ +../a20_olinuxino/genimage.cfg \ No newline at end of file diff --git a/board/olimex/a10_olinuxino/patches/linux-headers/linux-headers.hash b/board/olimex/a10_olinuxino/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/olimex/a10_olinuxino/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/olimex/a10_olinuxino/patches/linux/linux.hash b/board/olimex/a10_olinuxino/patches/linux/linux.hash new file mode 100644 index 00000000000..f83883b936d --- /dev/null +++ b/board/olimex/a10_olinuxino/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz diff --git a/board/olimex/a10_olinuxino/patches/uboot/uboot.hash b/board/olimex/a10_olinuxino/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/olimex/a10_olinuxino/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/olimex/a10_olinuxino/readme.txt b/board/olimex/a10_olinuxino/readme.txt new file mode 100644 index 00000000000..ba4bf691263 --- /dev/null +++ b/board/olimex/a10_olinuxino/readme.txt @@ -0,0 +1,57 @@ +A10-OLinuXino-LIME + +Intro +===== + +These are open hardware boards, all based on the Allwinner A10 SoC. + +for more details about the boards see the following pages: + - https://www.olimex.com/Products/OLinuXino/open-source-hardware + - https://www.olimex.com/Products/OLinuXino/A10/A10-OLinuXino-LIME/ + +The following defconfigs are available: + - olimex_a10_olinuxino_lime_defconfig + for the A10-OLinuXino-LIME board using mainline kernel + +(see http://linux-sunxi.org/Linux_Kernel for more details) + +How to build it +=============== + +Configure Buildroot: + + $ make _defconfig + +Compile everything and build the rootfs image: + + $ make + +Result of the build +------------------- + +After building, you should get a tree like this: + + output/images/ + +-- boot.scr + +-- rootfs.ext2 + +-- rootfs.ext4 -> rootfs.ext2 + +-- sdcard.img + +-- sun4i-a10-olinuxino-lime.dtb (lime, mainline) + +-- u-boot.bin + +-- u-boot-sunxi-with-spl.bin + `-- zImage + + +How to write the SD card +======================== + +The sdcard.img file is a complete bootable image ready to be written +on the boot medium. To install it, simply copy the image to a uSD +card: + + # dd if=output/images/sdcard.img of=/dev/sdX + +Where 'sdX' is the device node of the uSD. + +Eject the SD card, insert it in the A10-OLinuXino board, and power it up. + diff --git a/board/olimex/a10_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf b/board/olimex/a10_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..24a3e18b5c7 --- /dev/null +++ b/board/olimex/a10_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label A10-Olinuxino + kernel /boot/zImage + fdtdir /boot + append console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait panic=10 ${extra} diff --git a/board/olimex/a13_olinuxino/boot.cmd b/board/olimex/a13_olinuxino/boot.cmd deleted file mode 100644 index 4dd1c7b754a..00000000000 --- a/board/olimex/a13_olinuxino/boot.cmd +++ /dev/null @@ -1,7 +0,0 @@ -setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait - -mmc dev 0 -fatload mmc 0 $kernel_addr_r zImage -fatload mmc 0 $fdt_addr_r sun5i-a13-olinuxino.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/olimex/a13_olinuxino/genimage.cfg b/board/olimex/a13_olinuxino/genimage.cfg index 6f6b0b0babc..92c86775456 100644 --- a/board/olimex/a13_olinuxino/genimage.cfg +++ b/board/olimex/a13_olinuxino/genimage.cfg @@ -1,14 +1,3 @@ -image boot.vfat { - vfat { - files = { - "zImage", - "sun5i-a13-olinuxino.dtb", - "boot.scr" - } - } - size = 64M -} - image sdcard.img { hdimage { } @@ -16,17 +5,10 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { partition-type = 0x83 image = "rootfs.ext4" diff --git a/board/olimex/a13_olinuxino/patches/linux-headers/linux-headers.hash b/board/olimex/a13_olinuxino/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/olimex/a13_olinuxino/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/olimex/a13_olinuxino/patches/linux/linux.hash b/board/olimex/a13_olinuxino/patches/linux/linux.hash new file mode 100644 index 00000000000..f83883b936d --- /dev/null +++ b/board/olimex/a13_olinuxino/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz diff --git a/board/olimex/a13_olinuxino/patches/uboot/uboot.hash b/board/olimex/a13_olinuxino/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/olimex/a13_olinuxino/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/olimex/a13_olinuxino/post-build.sh b/board/olimex/a13_olinuxino/post-build.sh deleted file mode 100755 index aa2a76bddec..00000000000 --- a/board/olimex/a13_olinuxino/post-build.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -MKIMAGE=$HOST_DIR/bin/mkimage - -$MKIMAGE -A arm -O linux -T script -C none \ - -d board/olimex/a13_olinuxino/boot.cmd \ - ${BINARIES_DIR}/boot.scr diff --git a/board/olimex/a13_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf b/board/olimex/a13_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..f852b75a443 --- /dev/null +++ b/board/olimex/a13_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label A13-Olinuxino + kernel /boot/zImage + fdtdir /boot + append console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait panic=10 ${extra} diff --git a/board/olimex/a20_olinuxino/boot-mali.cmd b/board/olimex/a20_olinuxino/boot-mali.cmd deleted file mode 100644 index 9fa5d65418b..00000000000 --- a/board/olimex/a20_olinuxino/boot-mali.cmd +++ /dev/null @@ -1,5 +0,0 @@ -setenv bootm_boot_mode sec -setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait panic=10 sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_no_mali_mem_reserve sunxi_fb_mem_reserve=16 consoleblank=0 ${extra} -ext4load mmc 0 0x43000000 /boot/script.bin -ext4load mmc 0 0x48000000 /boot/zImage -bootz 0x48000000 diff --git a/board/olimex/a20_olinuxino/boot.cmd b/board/olimex/a20_olinuxino/boot.cmd deleted file mode 100644 index 44d9239a947..00000000000 --- a/board/olimex/a20_olinuxino/boot.cmd +++ /dev/null @@ -1,5 +0,0 @@ -setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait panic=10 ${extra} -ext4load mmc 0 0x49000000 /boot/${fdtfile} -ext4load mmc 0 0x46000000 /boot/zImage -env set fdt_high ffffffff -bootz 0x46000000 - 0x49000000 diff --git a/board/olimex/a20_olinuxino/genimage.cfg b/board/olimex/a20_olinuxino/genimage.cfg index fc2f7f8d766..b48e12a8312 100644 --- a/board/olimex/a20_olinuxino/genimage.cfg +++ b/board/olimex/a20_olinuxino/genimage.cfg @@ -5,8 +5,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition rootfs { diff --git a/board/olimex/a20_olinuxino/linux-disable-lima.fragment b/board/olimex/a20_olinuxino/linux-disable-lima.fragment new file mode 100644 index 00000000000..4c36f8aab30 --- /dev/null +++ b/board/olimex/a20_olinuxino/linux-disable-lima.fragment @@ -0,0 +1,2 @@ +# Disable LIMA in favour of Mali +# CONFIG_DRM_LIMA is not set diff --git a/board/olimex/a20_olinuxino/patches/linux-headers/linux-headers.hash b/board/olimex/a20_olinuxino/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/olimex/a20_olinuxino/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/olimex/a20_olinuxino/patches/linux/linux.hash b/board/olimex/a20_olinuxino/patches/linux/linux.hash new file mode 100644 index 00000000000..f83883b936d --- /dev/null +++ b/board/olimex/a20_olinuxino/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz diff --git a/board/olimex/a20_olinuxino/patches/uboot/uboot.hash b/board/olimex/a20_olinuxino/patches/uboot/uboot.hash new file mode 100644 index 00000000000..60971ee74f0 --- /dev/null +++ b/board/olimex/a20_olinuxino/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/olimex/a20_olinuxino/post-build.sh b/board/olimex/a20_olinuxino/post-build.sh deleted file mode 100755 index 7a8a4274664..00000000000 --- a/board/olimex/a20_olinuxino/post-build.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -cp $BINARIES_DIR/boot.scr $TARGET_DIR/boot/boot.scr - -if [ -e $BINARIES_DIR/script.bin ]; then - # mali requires a legacy kernel - cp $BINARIES_DIR/script.bin $TARGET_DIR/boot/script.bin -fi diff --git a/board/olimex/a20_olinuxino/readme.txt b/board/olimex/a20_olinuxino/readme.txt index 070b7a5ec7c..504483b5134 100644 --- a/board/olimex/a20_olinuxino/readme.txt +++ b/board/olimex/a20_olinuxino/readme.txt @@ -16,15 +16,9 @@ The following defconfigs are available: for the A20-OLinuXino-MICRO board using mainline kernel - olimex_a20_olinuxino_lime_defconfig for the A20-OLinuXino-LIME board using mainline kernel - - olimex_a20_olinuxino_lime_mali_defconfig - for the A20-OLinuXino-LIME board using legacy linux-sunxi kernel - olimex_a20_olinuxino_lime2_defconfig for the A20-OLinuXino-LIME2 board using mainline kernel -The legacy linux-sunxi kernels are based on the vendor code drops. -They are only useful when accelerated 3D graphics and multimedia support -is strictly necessary. - The Mainline Kernel is already a much better choice for a headless server. And also the mainline kernel works fine even for a basic Linux desktop system running on top of a simple framebuffer, which may be good enough for @@ -51,7 +45,6 @@ After building, you should get a tree like this: output/images/ +-- rootfs.ext2 +-- rootfs.ext4 -> rootfs.ext2 - +-- script.bin (lime_mali) +-- sdcard.img +-- sun7i-a20-olinuxino-lime.dtb (lime, mainline) +-- sun7i-a20-olinuxino-lime2.dtb (lime2, mainline) diff --git a/board/olimex/a20_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf b/board/olimex/a20_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..d74fcb0a753 --- /dev/null +++ b/board/olimex/a20_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label A20-Olinuxino + kernel /boot/zImage + fdtdir /boot + append console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait panic=10 ${extra} diff --git a/board/olimex/a20_olinuxino/rootfs_overlay_mali/boot/extlinux/extlinux.conf b/board/olimex/a20_olinuxino/rootfs_overlay_mali/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..358bda056bf --- /dev/null +++ b/board/olimex/a20_olinuxino/rootfs_overlay_mali/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label Olinuxino + kernel /boot/zImage + fdtdir /boot + append console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait panic=10 drm_kms_helper.drm_leak_fbdev_smem=1 drm_kms_helper.drm_fbdev_overalloc=200 ${extra} diff --git a/board/olimex/a33_olinuxino/genimage.cfg b/board/olimex/a33_olinuxino/genimage.cfg new file mode 100644 index 00000000000..b48e12a8312 --- /dev/null +++ b/board/olimex/a33_olinuxino/genimage.cfg @@ -0,0 +1,17 @@ +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + size = 1016K # 1MB - 8KB + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + size = 512M + } +} diff --git a/board/olimex/a33_olinuxino/patches/linux-headers/linux-headers.hash b/board/olimex/a33_olinuxino/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/olimex/a33_olinuxino/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/olimex/a33_olinuxino/patches/linux/linux.hash b/board/olimex/a33_olinuxino/patches/linux/linux.hash new file mode 100644 index 00000000000..f83883b936d --- /dev/null +++ b/board/olimex/a33_olinuxino/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz diff --git a/board/olimex/a33_olinuxino/patches/uboot/uboot.hash b/board/olimex/a33_olinuxino/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/olimex/a33_olinuxino/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/olimex/a33_olinuxino/readme.txt b/board/olimex/a33_olinuxino/readme.txt new file mode 100644 index 00000000000..b19060200ce --- /dev/null +++ b/board/olimex/a33_olinuxino/readme.txt @@ -0,0 +1,50 @@ +A33-OLinuXino + +Intro +===== + +This board is based on Allwinner A33 SoC. + +Home Page: https://www.olimex.com/Products/OLinuXino/A33/A33-OLinuXino/open-source-hardware +Wiki: https://wiki.amarulasolutions.com/bsp/sunxi/a33/Olimex-A33-Olinuxino.html + +How to build it +=============== + +Configure Buildroot: + + $ make olimex_a33_olinuxino_defconfig + +Build everything by running: + + $ make + +Result of the build +------------------- + +After building, you should get a tree like this: + +output/images/ +├── boot.scr +├── rootfs.ext2 +├── rootfs.ext4 -> rootfs.ext2 +├── rootfs.tar +├── sdcard.img +├── sun8i-a33-olinuxino.dtb +├── u-boot.bin +├── u-boot-sunxi-with-spl.bin +└── zImage + + +How to write the SD card +======================== + +The sdcard.img file is a complete bootable image ready to be written +on the boot medium. To install it, simply copy the image to a uSD +card: + + # dd if=output/images/sdcard.img of=/dev/sdX + +Where 'sdX' is the device node of the uSD. + +Eject the SD card, insert it in the A33-OLinuXino board, and power it up. diff --git a/board/olimex/a33_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf b/board/olimex/a33_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..f852b75a443 --- /dev/null +++ b/board/olimex/a33_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label A13-Olinuxino + kernel /boot/zImage + fdtdir /boot + append console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait panic=10 ${extra} diff --git a/board/olimex/a64-olinuxino/genimage.cfg b/board/olimex/a64-olinuxino/genimage.cfg new file mode 100644 index 00000000000..f6adbb18818 --- /dev/null +++ b/board/olimex/a64-olinuxino/genimage.cfg @@ -0,0 +1,16 @@ +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + size = 1032K # 1MB - 8KB + 16KB(GPT) + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/olimex/a64-olinuxino/patches/linux-headers/linux-headers.hash b/board/olimex/a64-olinuxino/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/olimex/a64-olinuxino/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/olimex/a64-olinuxino/patches/linux/linux.hash b/board/olimex/a64-olinuxino/patches/linux/linux.hash new file mode 100644 index 00000000000..f83883b936d --- /dev/null +++ b/board/olimex/a64-olinuxino/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz diff --git a/board/olimex/a64-olinuxino/patches/uboot/uboot.hash b/board/olimex/a64-olinuxino/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/olimex/a64-olinuxino/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/olimex/a64-olinuxino/readme.txt b/board/olimex/a64-olinuxino/readme.txt new file mode 100644 index 00000000000..342bdc77d48 --- /dev/null +++ b/board/olimex/a64-olinuxino/readme.txt @@ -0,0 +1,37 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the A64-OLinuXino. With the current configuration +it will bring-up the board, and allow access through the serial console. + +A64-OLinuXino link: +https://www.olimex.com/Products/OLinuXino/A64/ + +Wiki link: +https://openedev.amarulasolutions.com/display/ODWIKI/Olimex+A64-Olinuxino + +This configuration uses U-Boot mainline and kernel mainline. + +How to build +============ + + $ make olimex_a64_olinuxino_defconfig + $ make + +Note: you will need access to the internet to download the required +sources. + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your A64-OLinuXino and power it up. The console +is on the serial line, 115200 8N1. diff --git a/board/olimex/a64-olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf b/board/olimex/a64-olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..6a5a0886665 --- /dev/null +++ b/board/olimex/a64-olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label A64-Olinuxino + kernel /boot/zImage + fdtdir /boot + append console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait panic=10 ${extra} diff --git a/board/olimex/imx233_olinuxino/patches/linux-headers/linux-headers.hash b/board/olimex/imx233_olinuxino/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/olimex/imx233_olinuxino/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/olimex/imx233_olinuxino/patches/linux/linux.hash b/board/olimex/imx233_olinuxino/patches/linux/linux.hash new file mode 100644 index 00000000000..1dba724d0c4 --- /dev/null +++ b/board/olimex/imx233_olinuxino/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 88b69611093613ce4494527685f833af0c31b986dcbeda7086f69f18f9e0b190 linux-6.1.83.tar.xz diff --git a/board/olimex/imx233_olinuxino/patches/uboot/uboot.hash b/board/olimex/imx233_olinuxino/patches/uboot/uboot.hash new file mode 100644 index 00000000000..c1aeddf06c0 --- /dev/null +++ b/board/olimex/imx233_olinuxino/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 18a853fe39fad7ad03a90cc2d4275aeaed6da69735defac3492b80508843dd4a u-boot-2024.04.tar.bz2 diff --git a/board/olimex/stmp1_olinuxino/genimage.cfg b/board/olimex/stmp1_olinuxino/genimage.cfg new file mode 100644 index 00000000000..02800db8d49 --- /dev/null +++ b/board/olimex/stmp1_olinuxino/genimage.cfg @@ -0,0 +1,25 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition fsbl1 { + image = "u-boot-spl.stm32" + size = 256K + } + + partition fsbl2 { + image = "u-boot-spl.stm32" + size = 256K + } + + partition ssbl { + image = "u-boot.img" + size = 2M + } + + partition rootfs { + image = "rootfs.ext4" + bootable = "yes" + } +} diff --git a/board/olimex/stmp1_olinuxino/linux.config b/board/olimex/stmp1_olinuxino/linux.config new file mode 100644 index 00000000000..592c44368cd --- /dev/null +++ b/board/olimex/stmp1_olinuxino/linux.config @@ -0,0 +1,125 @@ +CONFIG_SYSVIPC=y +CONFIG_PREEMPT=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_NAMESPACES=y +CONFIG_EMBEDDED=y +CONFIG_ARCH_STM32=y +CONFIG_ARM_THUMBEE=y +CONFIG_SMP=y +CONFIG_HIGHMEM=y +CONFIG_VFP=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y +CONFIG_ARM_CRYPTO=y +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_CAN=m +CONFIG_CAN_M_CAN=m +CONFIG_CAN_M_CAN_PLATFORM=m +CONFIG_UEVENT_HELPER=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_OF_OVERLAY=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=4 +CONFIG_NETDEVICES=y +CONFIG_STMMAC_ETH=y +CONFIG_MICREL_PHY=y +CONFIG_INPUT_MOUSEDEV=m +CONFIG_INPUT_EVDEV=m +CONFIG_INPUT_MISC=y +CONFIG_INPUT_AXP20X_PEK=m +CONFIG_SERIAL_STM32=y +CONFIG_SERIAL_STM32_CONSOLE=y +CONFIG_NULL_TTY=m +CONFIG_SERIAL_DEV_BUS=m +CONFIG_HW_RANDOM=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX=y +CONFIG_I2C_STM32F7=y +CONFIG_SPI=y +CONFIG_SPI_MEM=y +CONFIG_SPI_STM32=m +CONFIG_SPI_STM32_QSPI=m +CONFIG_PINCTRL_AXP209=m +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=y +CONFIG_CPU_THERMAL=y +CONFIG_WATCHDOG=y +CONFIG_MFD_AXP20X_I2C=y +CONFIG_MFD_STM32_LPTIMER=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_AXP20X=y +CONFIG_REGULATOR_STM32_VREFBUF=y +CONFIG_REGULATOR_STM32_PWR=y +CONFIG_DRM=y +CONFIG_DRM_STM=m +CONFIG_DRM_STM_DSI=m +CONFIG_DRM_PANEL_LVDS=m +CONFIG_DRM_PANEL_SIMPLE=m +CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m +CONFIG_DRM_ITE_IT66121=m +CONFIG_DRM_ETNAVIV=m +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_PWM=m +CONFIG_BACKLIGHT_GPIO=m +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_LOGO=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_OHCI_HCD=y +CONFIG_MMC=y +CONFIG_MMC_ARMMMCI=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_STM32=y +CONFIG_DMADEVICES=y +CONFIG_STM32_DMA=y +CONFIG_STM32_DMAMUX=y +CONFIG_STM32_MDMA=y +CONFIG_UIO=m +CONFIG_UIO_PDRV_GENIRQ=m +CONFIG_UIO_DMEM_GENIRQ=m +CONFIG_HWSPINLOCK=y +CONFIG_HWSPINLOCK_STM32=y +CONFIG_CLKSRC_STM32_LP=y +CONFIG_STM32_IPCC=y +CONFIG_REMOTEPROC=y +CONFIG_STM32_RPROC=y +CONFIG_IIO=y +CONFIG_IIO_SW_TRIGGER=y +CONFIG_SD_ADC_MODULATOR=y +CONFIG_STM32_ADC_CORE=y +CONFIG_STM32_ADC=y +CONFIG_STM32_DFSDM_ADC=y +CONFIG_STM32_DAC=y +CONFIG_IIO_HRTIMER_TRIGGER=y +CONFIG_IIO_STM32_LPTIMER_TRIGGER=y +CONFIG_PWM=y +CONFIG_PWM_STM32=m +CONFIG_PWM_STM32_LP=m +CONFIG_PHY_STM32_USBPHYC=y +CONFIG_NVMEM_STM32_ROMEM=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_VFAT_FS=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_UTF8=y +CONFIG_PRINTK_TIME=y diff --git a/board/olimex/stmp1_olinuxino/patches/linux-headers/linux-headers.hash b/board/olimex/stmp1_olinuxino/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/olimex/stmp1_olinuxino/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/olimex/stmp1_olinuxino/patches/linux/linux.hash b/board/olimex/stmp1_olinuxino/patches/linux/linux.hash new file mode 100644 index 00000000000..48b74dae9ab --- /dev/null +++ b/board/olimex/stmp1_olinuxino/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 58c00229e95817918f9310f5c9adb0e3d1cfa7f28377aa7292431a110b6111a9 linux-e9b70672e21c96c02d9a731a9379baa897ea2ac7-git4.tar.gz diff --git a/board/olimex/stmp1_olinuxino/patches/uboot/uboot.hash b/board/olimex/stmp1_olinuxino/patches/uboot/uboot.hash new file mode 100644 index 00000000000..153acf38289 --- /dev/null +++ b/board/olimex/stmp1_olinuxino/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 1b99d3fd4fc778562c011de42193f9c29b3f2d0d7717ba22ac0c412446186382 uboot-23d8f769a94ae230b7a68fa812cc3c4dc0cbf1c9-git4.tar.gz diff --git a/board/olimex/stmp1_olinuxino/readme.txt b/board/olimex/stmp1_olinuxino/readme.txt new file mode 100644 index 00000000000..8c641c6c86f --- /dev/null +++ b/board/olimex/stmp1_olinuxino/readme.txt @@ -0,0 +1,53 @@ +STMP157-OLinuXino-LIME2 + +Intro +===== + +These are open hardware boards, all based on the STmicro STMP157 SoC. + +for more details about the board see the following pages: + - https://www.olimex.com/Products/OLinuXino/open-source-hardware + - https://www.olimex.com/Products/OLinuXino/STMP1/STMP157-OLinuXino-LIME2/ + +The following defconfigs are available: + - olimex_stmp157_olinuxino_lime_defconfig + +How to build it +=============== + +Configure Buildroot: + + $ make _defconfig + +Compile everything and build the rootfs image: + + $ make + +Result of the build +------------------- + +After building, you should get a tree like this: + + output/images/ + +-- rootfs.ext2 + +-- rootfs.ext4 -> rootfs.ext2 + +-- sdcard.img + +-- stm32mp1xx-olinuxino-lime.dtb + +-- u-boot-spl.stm32 + +-- u-boot.img + `-- zImage + + +How to write the SD card +======================== + +The sdcard.img file is a complete bootable image ready to be written +on the boot medium. To install it, simply copy the image to a uSD +card: + + # dd if=output/images/sdcard.img of=/dev/sdX + +Where 'sdX' is the device node of the uSD. + +Eject the SD card, insert it in the STMP1-OLinuXino board, and power it up. + diff --git a/board/olimex/stmp1_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf b/board/olimex/stmp1_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..edb601c7c91 --- /dev/null +++ b/board/olimex/stmp1_olinuxino/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label stmp1-olinuxino-buildroot + kernel /boot/zImage + devicetree /boot/stm32mp1xx-olinuxino-lime.dtb + append root=/dev/mmcblk0p4 rootwait diff --git a/board/olpc/genimage.cfg b/board/olpc/genimage.cfg new file mode 100644 index 00000000000..baafe31714b --- /dev/null +++ b/board/olpc/genimage.cfg @@ -0,0 +1,9 @@ +image sdcard.img { + hdimage { + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/olpc/linux.config b/board/olpc/linux.config new file mode 100644 index 00000000000..538f7c5949f --- /dev/null +++ b/board/olpc/linux.config @@ -0,0 +1,71 @@ +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_CFG80211=y +CONFIG_CFG80211_WEXT=y +CONFIG_MAC80211=y +CONFIG_RFKILL=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_SCSI=y +CONFIG_BLK_DEV_SD=y +CONFIG_BLK_DEV_SR=y +CONFIG_CHR_DEV_SG=y +CONFIG_MTD=y +CONFIG_MTD_BLOCK=y +CONFIG_GPIO_SYSFS=y +CONFIG_NETDEVICES=y +CONFIG_LIBERTAS=m +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1200 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=900 +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_TABLET=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_POWER_SUPPLY=y +CONFIG_BATTERY_OLPC=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_CONTROLLER=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_USB_VIDEO_CLASS=m +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_DRM=y +CONFIG_DRM_PANEL_SIMPLE=m +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FB_SIMPLE=y +CONFIG_LCD_CLASS_DEVICE=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_USB=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_STORAGE=y +CONFIG_MMC=y +CONFIG_MMC_SDHCI=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y +CONFIG_RTC_CLASS=y +CONFIG_EXT4_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_FONTS=y +CONFIG_FONT_TER16x32=y diff --git a/board/olpc/olpc.fth b/board/olpc/olpc.fth new file mode 100644 index 00000000000..b4cbecf11f6 --- /dev/null +++ b/board/olpc/olpc.fth @@ -0,0 +1,47 @@ +\ OLPC XO boot script + +: (visible) " unfreeze visible" evaluate ; +' (visible) catch drop forget (visible) + +" /aliases" find-device " last" get-property +abort" No last alias" +" /pci/sd@c" 2over substring? if " root=/dev/mmcblk0p1 " to boot-file then +" /sd/sdhci@d4280000" 2over substring? if " root=/dev/mmcblk1p1 " to boot-file then +" /pci/usb@" 2over substring? if " root=/dev/sda1 " to boot-file then +" /usb@" 2over substring? if " root=/dev/sda1 " to boot-file then +" /pci/nandflash@c" 2over substring? if " root=/dev/mtdblock0 rootfstype=jffs2 " to boot-file then +2drop + +root-device " compatible" get-property dend if 0 0 then ( compatible$ ) +" olpc,xo-1.75" 2over sindex -1 > if ( compatible$ ) + \ Version check on XO-1.75 + " mrvl,mmp2" 2over sindex -1 = if ( compatible$ ) + 2drop ( ) + cr + ." Firmware Q4E00 or newer is needed to boot a Devicetree enabled kernel." cr + cr + ." One way to update is to copy http://dev.laptop.org/~quozl/q4e00ja.rom" cr + ." to a FAT partition on a USB flash stick and run ""flash u:\q4e00ja.rom""" cr + cr + ." Aborting boot." cr + " show-sad" evaluate + abort + then +then ( compatible$ ) + +" mmp" 2swap sindex -1 > if + \ A Marvell MMP-based machine + " last:\boot\zImage" to boot-device + boot-file " console=ttyS2,115200 " $cat2 to boot-file +else + \ Assume XO-1 + " last:\boot\bzImage" to boot-device + boot-file " console=ttyS0,115200 reboot=pci " $cat2 to boot-file +then + +\ Pick a terminal that looks better on the XO screen +root-device " architecture" get-property dend if 0 0 else 1- then +" OLPC" $= if boot-file " fbcon=font:TER16x32 vt.color=0xf0 " $cat2 to boot-file then + +boot-file " console=tty0 rootwait" $cat2 to boot-file +boot diff --git a/board/olpc/post-build.sh b/board/olpc/post-build.sh new file mode 100755 index 00000000000..4d4cf970863 --- /dev/null +++ b/board/olpc/post-build.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +BOARD_DIR="$(dirname $0)" +install -m 0644 -D $BOARD_DIR/olpc.fth $TARGET_DIR/boot/olpc.fth diff --git a/board/olpc/readme.txt b/board/olpc/readme.txt new file mode 100644 index 00000000000..f1110c82cb5 --- /dev/null +++ b/board/olpc/readme.txt @@ -0,0 +1,98 @@ +OLPC XO Laptops +=============== + +This document explains how to build and run images that run on the OLPC +XO laptops. + +Supported models +---------------- + +* OLPC XO-1 + The original NS Geode based OLPC laptop, uses the x86 architecture. + Can be booted either from an internal MTD device formatted with JFFS2 + or from a FAT or EXT4 partition on a SD card or a USB flash stick. + +* OLPC XO-7.5 + The ARM-based laptop. Needs a recent enough firmware to provide a good + enough flattened device tree to the kernel. Can be from a FAT or EXT4 + partition on a internal eMMC, a SD card or a USB flash stick. + +Configure and build +=================== + + $ make olpc_xo1_defconfig # Configure for XO-1 + +or: + + $ make olpc_xo175_defconfig # Configure for XO-1.75 + +Then: + + $ make menuconfig # Customize the build configuration + $ make # Build + +Preparing the machine +===================== + +Firmware security +----------------- + +Most OLPC machines were shipped with the security system that disallows +booting unsigned software. If this is the case with your machine, in order +to run the image you've built on it you'll need to get a developer key and +deactivate the security system. + +The procedure is descriped in the OLPC wiki: +http://wiki.laptop.org/go/Activation_and_Developer_Keys + +Firmware upgrade +---------------- + +It is always preferrable to use an up to date firmware. The firmware images +are available at http://wiki.laptop.org/go/Firmware. For the XO-1.75 laptop +to boot the mainline kernel a firmware Q4E00JA or newer is needed. You can +get it at http://dev.laptop.org/~quozl/q4e00ja.rom. + +To update the firmware, place the .rom file on to your bootable media, +connect a charged battery pack and a wall adapter, and enter the Open +Firmware prompt by pressing ESC during the early boot (needs an unlocked +laptop -- see "Firmware security" above). Then use the "flash" command +to update the firmware: + + ok flash ext:\q4e00ja.rom \ Flash the "q4e00ja.rom" from the SD card + ok flash u:\q4e00ja.rom \ Flash the "q4e00ja.rom" from USB stick + +Create the bootable SD card or USB flash stick +============================================== + +When the build is finished, an image file called "sdcard.img" will be created. +It is suitable for writing directly to a SD card, USB flash stick or (on a +XO-1.75) the internal eMMC flash. + +Before writing the image, please double check that you're using the right +device (e.g. with "lsblk" command). Doing the following will DESTROY ALL DATA +that's currently on the media. + + # cat output/images/sdcard.img >/dev/ + +Flashing the JFFS2 image (XO-1 only) +==================================== + +Unlike XO-1.75, the internal NAND flash on XO-1 is accessed without a +FTL and needs a flash-friendly filesystem. A build configured for XO-1 +creates a file named "root.jffs2" that can be written to it. + +One way to write it is from the Open Firmware prompt. First, partition +and format a USB flash disk with a FAT file system and place the +"root.jffs2" file onto it. Then power on the machine, enter the +Open Firmware port by pressing the ESC key and run the following: + + ok patch noop ?open-crcs copy-nand \ Disable CRC check + ok copy-nand u:\root.jffs2 + +Booting the machine +=================== + +Once your machine is unlocked, it will automatically boot from your media +wherever it will detect it attached to the USB bus or the SD card slot, +otherwise it will proceed booting from the internal flash. diff --git a/board/olpc/xo-1.75/linux.config b/board/olpc/xo-1.75/linux.config new file mode 100644 index 00000000000..937cc38bd58 --- /dev/null +++ b/board/olpc/xo-1.75/linux.config @@ -0,0 +1,55 @@ +CONFIG_ARCH_MMP=y +CONFIG_MACH_MMP2_DT=y +CONFIG_MACH_MMP3_DT=y +CONFIG_USB_EHCI_MV_U2O=y +CONFIG_SMP=y +CONFIG_NR_CPUS=2 +CONFIG_HIGHMEM=y +CONFIG_FORCE_MAX_ZONEORDER=16 +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +CONFIG_VFP=y +CONFIG_NEON=y +CONFIG_SENSORS_LIS3_SPI=y +CONFIG_SERIO_OLPC_APSP=y +CONFIG_REGULATOR_88PG86X=m +CONFIG_MEDIA_PLATFORM_SUPPORT=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_VIDEO_MMP_CAMERA=y +CONFIG_DRM_ARMADA=y +CONFIG_DRM_CHRONTEL_CH7033=m +CONFIG_DRM_DISPLAY_CONNECTOR=m +CONFIG_DRM_SIMPLE_BRIDGE=m +CONFIG_DRM_ETNAVIV=m +CONFIG_USB_EHCI_MV=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_PXAV3=y +CONFIG_OLPC_XO175=y +CONFIG_OLPC_XO175_EC=y +CONFIG_PHY_PXA_USB=y +CONFIG_PHY_MMP3_USB=y +CONFIG_CRYPTO_LZO=m +CONFIG_LIBERTAS_SDIO=m +CONFIG_LIBERTAS_THINFIRM=m +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_SDIO=m +CONFIG_MTD_SPI_NOR=m +CONFIG_SRAM=y +CONFIG_I2C_PXA=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SPI=y +CONFIG_SPI_PXA2XX=y +CONFIG_SPI_SLAVE=y +CONFIG_SND_SOC=y +CONFIG_SND_MMP_SOC_SSPA=y +CONFIG_SND_SOC_RT5631=y +CONFIG_SND_AUDIO_GRAPH_CARD=y +CONFIG_PWRSEQ_SD8787=m +CONFIG_RTC_DRV_DS1307=y +CONFIG_DMADEVICES=y +CONFIG_MMP_TDMA=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_ZFORCE=y +CONFIG_COMMON_CLK_MMP2_AUDIO=y diff --git a/board/olpc/xo-1/linux.config b/board/olpc/xo-1/linux.config new file mode 100644 index 00000000000..12919471a24 --- /dev/null +++ b/board/olpc/xo-1/linux.config @@ -0,0 +1,80 @@ +# CONFIG_64BIT is not set +CONFIG_IOSF_MBI=y +CONFIG_MGEODE_LX=y +CONFIG_X86_MSR=y +CONFIG_HZ_100=y +CONFIG_KEXEC=y +CONFIG_CMDLINE_BOOL=y +CONFIG_ACPI=y +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_OLPC=y +CONFIG_OLPC_XO1_PM=y +CONFIG_OLPC_XO1_RTC=y +CONFIG_OLPC_XO1_SCI=y +# CONFIG_VIRTUALIZATION is not set +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_CMA=y +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_REDBOOT_PARTS=y +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=0 +CONFIG_MTD_ONENAND=y +CONFIG_MTD_ONENAND_GENERIC=y +CONFIG_MTD_RAW_NAND=y +CONFIG_MTD_NAND_CAFE=y +CONFIG_MTD_UBI=y +CONFIG_CS5535_MFGPT=y +CONFIG_CS5535_CLOCK_EVENT_SRC=y +CONFIG_MOUSE_PS2_OLPC=y +CONFIG_SERIAL_8250_NR_UARTS=1 +CONFIG_SERIAL_8250_RUNTIME_UARTS=1 +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_MANY_PORTS=y +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_8250_DETECT_IRQ=y +CONFIG_SERIAL_8250_RSA=y +CONFIG_HW_RANDOM=y +# CONFIG_HW_RANDOM_VIA is not set +CONFIG_NVRAM=y +CONFIG_SCx200_ACB=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_SINGLE=y +CONFIG_GPIO_CS5535=y +CONFIG_THERMAL=y +CONFIG_WATCHDOG=y +CONFIG_GEODE_WDT=y +CONFIG_MFD_CS5535=y +CONFIG_MFD_MAX8925=y +CONFIG_VIDEO_CAFE_CCIC=y +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_VESA=y +CONFIG_FB_GEODE=y +CONFIG_FB_GEODE_LX=y +CONFIG_BACKLIGHT_MAX8925=y +CONFIG_VGACON_SOFT_SCROLLBACK=y +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_SND_OSSEMUL=y +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_AC97_POWER_SAVE=y +CONFIG_SND_CS5535AUDIO=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_OHCI_HCD=y +CONFIG_MMC_SDHCI_PCI=y +CONFIG_STAGING=y +CONFIG_FB_OLPC_DCON=y +CONFIG_XO1_RFKILL=y +CONFIG_RESET_CONTROLLER=y +CONFIG_GENERIC_PHY=y +CONFIG_PROC_KCORE=y +CONFIG_HUGETLBFS=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_WBUF_VERIFY=y +CONFIG_JFFS2_SUMMARY=y +CONFIG_JFFS2_FS_XATTR=y +CONFIG_JFFS2_COMPRESSION_OPTIONS=y +CONFIG_UBIFS_FS=y +CONFIG_PCI=y +CONFIG_LIBERTAS_USB=m +CONFIG_LIBERTAS_MESH=y +CONFIG_LIBERTAS_THINFIRM=m +CONFIG_LIBERTAS_THINFIRM_USB=m diff --git a/board/openblocks/a6/patches/linux-headers/linux-headers.hash b/board/openblocks/a6/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/openblocks/a6/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/openblocks/a6/patches/linux/linux.hash b/board/openblocks/a6/patches/linux/linux.hash new file mode 100644 index 00000000000..aa432012b03 --- /dev/null +++ b/board/openblocks/a6/patches/linux/linux.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 0820fdb7971c6974338081c11fbf2dc869870501e7bdcac4d0ed58ba1f57b61c linux-4.14.336.tar.xz +sha256 af8067302947c01fd9eee72befa54c7e3ef8a48fecde7fd71277f2290b2bf0f7 COPYING diff --git a/board/orangepi/common/extlinux.conf b/board/orangepi/common/extlinux.conf new file mode 100644 index 00000000000..12f496b1fab --- /dev/null +++ b/board/orangepi/common/extlinux.conf @@ -0,0 +1,4 @@ +LABEL default + kernel /boot/%LINUXIMAGE% + devicetreedir /boot + append root=PARTUUID=%PARTUUID% rootwait console=${console} rootfstype=ext4 quiet panic=10 diff --git a/board/orangepi/common/genimage.cfg b/board/orangepi/common/genimage.cfg new file mode 100644 index 00000000000..c748108ca07 --- /dev/null +++ b/board/orangepi/common/genimage.cfg @@ -0,0 +1,20 @@ +image sdcard.img { + partition u-boot { + in-partition-table = false + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + size = 1000K # 1MB - 8KB(offset) - 16KB(GPT) + } + + hdimage { + partition-table-type = "gpt" + gpt-location = 1008K # 1MB - 16KB(GPT) + gpt-no-backup = true + } + + partition rootfs { + offset = 1M + image = "rootfs.ext4" + partition-uuid = %PARTUUID% + } +} diff --git a/board/orangepi/common/post-build.sh b/board/orangepi/common/post-build.sh new file mode 100755 index 00000000000..296f94b1747 --- /dev/null +++ b/board/orangepi/common/post-build.sh @@ -0,0 +1,34 @@ +#!/bin/sh + +linux_image() +{ + if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then + echo "uImage" + elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" ${BR2_CONFIG}; then + echo "Image" + elif grep -Eq "^BR2_LINUX_KERNEL_IMAGEGZ=y$" ${BR2_CONFIG}; then + echo "Image.gz" + else + echo "zImage" + fi +} + +generic_getty() +{ + if grep -Eq "^BR2_TARGET_GENERIC_GETTY=y$" ${BR2_CONFIG}; then + echo "" + else + echo "s/\s*console=\S*//" + fi +} + +PARTUUID="$($HOST_DIR/bin/uuidgen)" + +install -d "$TARGET_DIR/boot/extlinux/" + +sed -e "$(generic_getty)" \ + -e "s/%LINUXIMAGE%/$(linux_image)/g" \ + -e "s/%PARTUUID%/$PARTUUID/g" \ + "board/orangepi/common/extlinux.conf" > "$TARGET_DIR/boot/extlinux/extlinux.conf" + +sed "s/%PARTUUID%/$PARTUUID/g" "board/orangepi/common/genimage.cfg" > "$BINARIES_DIR/genimage.cfg" diff --git a/board/orangepi/orangepi-5-plus/extlinux.conf b/board/orangepi/orangepi-5-plus/extlinux.conf new file mode 100644 index 00000000000..c6421c3bf4d --- /dev/null +++ b/board/orangepi/orangepi-5-plus/extlinux.conf @@ -0,0 +1,4 @@ +label OrangePi 5 Plus Linux + kernel /boot/Image + devicetreedir /boot + append root=PARTLABEL=rootfs earlycon rootwait panic=10 diff --git a/board/orangepi/orangepi-5-plus/genimage.cfg b/board/orangepi/orangepi-5-plus/genimage.cfg new file mode 100644 index 00000000000..1f3ff3ec253 --- /dev/null +++ b/board/orangepi/orangepi-5-plus/genimage.cfg @@ -0,0 +1,23 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition uboot { + in-partition-table = "false" + image = "u-boot-rockchip.bin" + offset = 32K + } + + partition uboot-env { + partition-type-uuid = 3de21764-95bd-54bd-a5c3-4abe786f38a8 + offset = 16M + size = 64K + } + + partition rootfs { + partition-type-uuid = L + image = "rootfs.ext2" + bootable = true + } +} diff --git a/board/orangepi/orangepi-5-plus/linux.fragment b/board/orangepi/orangepi-5-plus/linux.fragment new file mode 100644 index 00000000000..d5a4a6f24f7 --- /dev/null +++ b/board/orangepi/orangepi-5-plus/linux.fragment @@ -0,0 +1,9 @@ +# net +CONFIG_R8169=y +CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=y + +# usbcam +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_USB_VIDEO_CLASS=y +CONFIG_UVC_COMMON=y diff --git a/board/orangepi/orangepi-5-plus/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/orangepi/orangepi-5-plus/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..b5898cba3f9 --- /dev/null +++ b/board/orangepi/orangepi-5-plus/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 06b35a3596b8417bf66f7bfdd7acd181bcb53fc36dc13216227b5cae154e0219 arm-trusted-firmware-v2.12-git4.tar.gz diff --git a/board/orangepi/orangepi-5-plus/patches/linux-headers/linux-headers.hash b/board/orangepi/orangepi-5-plus/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/orangepi/orangepi-5-plus/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/orangepi/orangepi-5-plus/patches/linux/linux.hash b/board/orangepi/orangepi-5-plus/patches/linux/linux.hash new file mode 100644 index 00000000000..d00eed9a49f --- /dev/null +++ b/board/orangepi/orangepi-5-plus/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 6f35f821433d8421be7167990747c7c4a0c451958fb96883446301af13d71152 linux-6.12.4.tar.xz diff --git a/board/orangepi/orangepi-5-plus/patches/uboot/uboot.hash b/board/orangepi/orangepi-5-plus/patches/uboot/uboot.hash new file mode 100644 index 00000000000..904fa56c02a --- /dev/null +++ b/board/orangepi/orangepi-5-plus/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b28daf4ac17e43156363078bf510297584137f6df50fced9b12df34f61a92fb0 u-boot-2024.10.tar.bz2 diff --git a/board/orangepi/orangepi-5-plus/post-build.sh b/board/orangepi/orangepi-5-plus/post-build.sh new file mode 100755 index 00000000000..d84a5da0b0f --- /dev/null +++ b/board/orangepi/orangepi-5-plus/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$TARGET_DIR"/boot/extlinux/extlinux.conf diff --git a/board/orangepi/orangepi-5-plus/readme.txt b/board/orangepi/orangepi-5-plus/readme.txt new file mode 100644 index 00000000000..83f84a0efe3 --- /dev/null +++ b/board/orangepi/orangepi-5-plus/readme.txt @@ -0,0 +1,46 @@ +Intro +===== + +This default configuration allows to start experimenting with the Buildroot +environment for the OrangePi 5 Plus board. Default configuration brings up +the board and allows access through the serial console. + +Orangepi 5 Plus links: +- http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-5-plus-32GB.html + +Upstream support +================ + +Linux v6.12.x provides a good starting point for experiments with this board. +All the basic features are already enabled including all the basic low-speed +I2C/SPI/PWM peripherals, ethernet networking, USB 2.0, PCIe, eMMC, Audio. +However advanced features such as graphics, display controllers, multimedia +codecs, camera and image processing units are still in work. For details and +updates check RK3588 hardware enablement status at Collabora gitlab, see: + +- https://gitlab.collabora.com/hardware-enablement/rockchip-3588/notes-for-rockchip-3588/-/blob/main/mainline-status.md + +Also keep an eye on RK3588 updates in kernel release announcements, e.g. +- https://kernelnewbies.org/Linux_6.12 + +How to Build +============ + $ make orangepi_5_plus_defconfig + $ make + +How to write the SD card +======================== + +Once the build process is finished there will be an image called +"sdcard.img" in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX status=progress + $ sudo sync + +Insert the micro SDcard into the Orangepi 5 Plus board and power it up. +The console is on the TTL Debug UART 3-pin connector which is located +near RTC connector and Type-C Power port. + +Note that baudrate for this board is 1500000 8N1. diff --git a/board/orangepi/orangepi-5-plus/u-boot.fragment b/board/orangepi/orangepi-5-plus/u-boot.fragment new file mode 100644 index 00000000000..ceba8d609a6 --- /dev/null +++ b/board/orangepi/orangepi-5-plus/u-boot.fragment @@ -0,0 +1,5 @@ +CONFIG_ENV_SIZE=0x10000 +CONFIG_PARTITION_TYPE_GUID=y +# CONFIG_ENV_IS_NOWHERE is not set +CONFIG_ENV_IS_IN_MMC=y +CONFIG_SYS_MMC_ENV_DEV=1 diff --git a/board/orangepi/orangepi-lite/linux-extras.config b/board/orangepi/orangepi-lite/linux-extras.config new file mode 100644 index 00000000000..6bb716903f5 --- /dev/null +++ b/board/orangepi/orangepi-lite/linux-extras.config @@ -0,0 +1,15 @@ +# wireless core +CONFIG_WIRELESS=y +CONFIG_CFG80211=y +CONFIG_MAC80211=y +CONFIG_CFG80211_WEXT=y + +# wireless drivers +CONFIG_WLAN=y + +# hdmi +CONFIG_DRM_SUN8I_DW_HDMI=y +CONFIG_SUN8I_DE2_CCU=y + +# analog audio +CONFIG_SND_SUN8I_CODEC_ANALOG=y diff --git a/board/orangepi/orangepi-lite/patches/linux-headers/linux-headers.hash b/board/orangepi/orangepi-lite/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/orangepi/orangepi-lite/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/orangepi/orangepi-lite/patches/linux/linux.hash b/board/orangepi/orangepi-lite/patches/linux/linux.hash new file mode 100644 index 00000000000..e8609babc9c --- /dev/null +++ b/board/orangepi/orangepi-lite/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b21d5795a3bead4f112916423222faa8a0f519e4201df343e3eb88dc9e4aaa30 linux-6.6.16.tar.xz diff --git a/board/orangepi/orangepi-lite/patches/uboot/uboot.hash b/board/orangepi/orangepi-lite/patches/uboot/uboot.hash new file mode 100644 index 00000000000..bc999536af2 --- /dev/null +++ b/board/orangepi/orangepi-lite/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b99611f1ed237bf3541bdc8434b68c96a6e05967061f992443cb30aabebef5b3 u-boot-2024.01.tar.bz2 diff --git a/board/orangepi/orangepi-lite/readme.txt b/board/orangepi/orangepi-lite/readme.txt new file mode 100644 index 00000000000..5f402bf207d --- /dev/null +++ b/board/orangepi/orangepi-lite/readme.txt @@ -0,0 +1,29 @@ +OrangePi Lite + +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the OrangePi Lite. With the current configuration +it will bring-up the board, and allow access through the serial console. + +How to build it +=============== + +Configure Buildroot: + + $ make orangepi_lite_defconfig + +Compile everything and build the SD card image: + + $ make + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX diff --git a/board/orangepi/orangepi-one/boot.cmd b/board/orangepi/orangepi-one/boot.cmd deleted file mode 100644 index ab616e6ac9e..00000000000 --- a/board/orangepi/orangepi-one/boot.cmd +++ /dev/null @@ -1,8 +0,0 @@ -setenv fdt_high ffffffff - -setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait - -fatload mmc 0 $kernel_addr_r zImage -fatload mmc 0 $fdt_addr_r sun8i-h3-orangepi-one.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/orangepi/orangepi-one/genimage.cfg b/board/orangepi/orangepi-one/genimage.cfg deleted file mode 100644 index 4640ff2b139..00000000000 --- a/board/orangepi/orangepi-one/genimage.cfg +++ /dev/null @@ -1,36 +0,0 @@ -# Minimal SD card image for the OrangePi PC -# -image boot.vfat { - vfat { - files = { - "zImage", - "sun8i-h3-orangepi-one.dtb", - "boot.scr" - } - } - size = 10M -} - -image sdcard.img { - hdimage { - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 512M - } -} diff --git a/board/orangepi/orangepi-one/patches/linux-headers/linux-headers.hash b/board/orangepi/orangepi-one/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/orangepi/orangepi-one/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/orangepi/orangepi-one/patches/linux/linux.hash b/board/orangepi/orangepi-one/patches/linux/linux.hash new file mode 100644 index 00000000000..aea771e7bf5 --- /dev/null +++ b/board/orangepi/orangepi-one/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 c89809cc777d50f1ea484a118630281a26383707a0e752c96fd834f6e765deae linux-6.12.3.tar.xz diff --git a/board/orangepi/orangepi-one/patches/uboot/uboot.hash b/board/orangepi/orangepi-one/patches/uboot/uboot.hash new file mode 100644 index 00000000000..904fa56c02a --- /dev/null +++ b/board/orangepi/orangepi-one/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b28daf4ac17e43156363078bf510297584137f6df50fced9b12df34f61a92fb0 u-boot-2024.10.tar.bz2 diff --git a/board/orangepi/orangepi-one/post-build.sh b/board/orangepi/orangepi-one/post-build.sh deleted file mode 120000 index cd7f11645b0..00000000000 --- a/board/orangepi/orangepi-one/post-build.sh +++ /dev/null @@ -1 +0,0 @@ -../post-build.sh \ No newline at end of file diff --git a/board/orangepi/orangepi-one/post-image.sh b/board/orangepi/orangepi-one/post-image.sh deleted file mode 120000 index ae6294fa385..00000000000 --- a/board/orangepi/orangepi-one/post-image.sh +++ /dev/null @@ -1 +0,0 @@ -../post-image.sh \ No newline at end of file diff --git a/board/orangepi/orangepi-pc-plus/linux-extras.config b/board/orangepi/orangepi-pc-plus/linux-extras.config new file mode 100644 index 00000000000..5e3af2b831c --- /dev/null +++ b/board/orangepi/orangepi-pc-plus/linux-extras.config @@ -0,0 +1,8 @@ +# wireless core +CONFIG_WIRELESS=y +CONFIG_CFG80211=y +CONFIG_MAC80211=y +CONFIG_CFG80211_WEXT=y + +# wireless drivers +CONFIG_WLAN=y diff --git a/board/orangepi/orangepi-pc-plus/patches/linux-headers/linux-headers.hash b/board/orangepi/orangepi-pc-plus/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/orangepi/orangepi-pc-plus/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/orangepi/orangepi-pc-plus/patches/linux/linux.hash b/board/orangepi/orangepi-pc-plus/patches/linux/linux.hash new file mode 100644 index 00000000000..aea771e7bf5 --- /dev/null +++ b/board/orangepi/orangepi-pc-plus/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 c89809cc777d50f1ea484a118630281a26383707a0e752c96fd834f6e765deae linux-6.12.3.tar.xz diff --git a/board/orangepi/orangepi-pc-plus/patches/uboot/uboot.hash b/board/orangepi/orangepi-pc-plus/patches/uboot/uboot.hash new file mode 100644 index 00000000000..904fa56c02a --- /dev/null +++ b/board/orangepi/orangepi-pc-plus/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b28daf4ac17e43156363078bf510297584137f6df50fced9b12df34f61a92fb0 u-boot-2024.10.tar.bz2 diff --git a/board/orangepi/orangepi-pc-plus/readme.txt b/board/orangepi/orangepi-pc-plus/readme.txt new file mode 100644 index 00000000000..49206949c8e --- /dev/null +++ b/board/orangepi/orangepi-pc-plus/readme.txt @@ -0,0 +1,29 @@ +OrangePi PC Plus + +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the OrangePi PC Plus. With the current configuration +it will bring-up the board, and allow access through the serial console. + +How to build it +=============== + +Configure Buildroot: + + $ make orangepi_pc_plus_defconfig + +Compile everything and build the SD card image: + + $ make + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX diff --git a/board/orangepi/orangepi-pc/boot.cmd b/board/orangepi/orangepi-pc/boot.cmd deleted file mode 100644 index 9da625c8033..00000000000 --- a/board/orangepi/orangepi-pc/boot.cmd +++ /dev/null @@ -1,8 +0,0 @@ -setenv fdt_high ffffffff - -setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait - -fatload mmc 0 $kernel_addr_r zImage -fatload mmc 0 $fdt_addr_r sun8i-h3-orangepi-pc.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/orangepi/orangepi-pc/genimage.cfg b/board/orangepi/orangepi-pc/genimage.cfg deleted file mode 100644 index 932d81cf125..00000000000 --- a/board/orangepi/orangepi-pc/genimage.cfg +++ /dev/null @@ -1,36 +0,0 @@ -# Minimal SD card image for the OrangePi PC -# -image boot.vfat { - vfat { - files = { - "zImage", - "sun8i-h3-orangepi-pc.dtb", - "boot.scr" - } - } - size = 10M -} - -image sdcard.img { - hdimage { - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 512M - } -} diff --git a/board/orangepi/orangepi-pc/linux.fragment b/board/orangepi/orangepi-pc/linux.fragment new file mode 100644 index 00000000000..b1dda162bb1 --- /dev/null +++ b/board/orangepi/orangepi-pc/linux.fragment @@ -0,0 +1,3 @@ +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +CONFIG_REGULATOR_SY8106A=y +CONFIG_SUN8I_DE2_CCU=y diff --git a/board/orangepi/orangepi-pc/patches/linux-headers/linux-headers.hash b/board/orangepi/orangepi-pc/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/orangepi/orangepi-pc/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/orangepi/orangepi-pc/patches/linux/linux.hash b/board/orangepi/orangepi-pc/patches/linux/linux.hash new file mode 100644 index 00000000000..b763fc947a9 --- /dev/null +++ b/board/orangepi/orangepi-pc/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 880ace63ca2291b8b639e9bd862cc828649d3e1e00ccfee5861473debd2e4dec linux-6.1.91.tar.xz diff --git a/board/orangepi/orangepi-pc/patches/uboot/uboot.hash b/board/orangepi/orangepi-pc/patches/uboot/uboot.hash new file mode 100644 index 00000000000..bc999536af2 --- /dev/null +++ b/board/orangepi/orangepi-pc/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b99611f1ed237bf3541bdc8434b68c96a6e05967061f992443cb30aabebef5b3 u-boot-2024.01.tar.bz2 diff --git a/board/orangepi/orangepi-pc/post-build.sh b/board/orangepi/orangepi-pc/post-build.sh deleted file mode 120000 index cd7f11645b0..00000000000 --- a/board/orangepi/orangepi-pc/post-build.sh +++ /dev/null @@ -1 +0,0 @@ -../post-build.sh \ No newline at end of file diff --git a/board/orangepi/orangepi-pc/post-image.sh b/board/orangepi/orangepi-pc/post-image.sh deleted file mode 120000 index ae6294fa385..00000000000 --- a/board/orangepi/orangepi-pc/post-image.sh +++ /dev/null @@ -1 +0,0 @@ -../post-image.sh \ No newline at end of file diff --git a/board/orangepi/orangepi-pc2/readme.txt b/board/orangepi/orangepi-pc2/readme.txt new file mode 100644 index 00000000000..6c699244ceb --- /dev/null +++ b/board/orangepi/orangepi-pc2/readme.txt @@ -0,0 +1,37 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the Orangepi PC2. With the current configuration +it will bring-up the board, and allow access through the serial console. + +Orangepi PC2 link: +http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-PC-2.html + +Sunxi Wiki link: +https://linux-sunxi.org/Xunlong_Orange_Pi_PC_2 + +This configuration uses U-Boot mainline and kernel mainline. + +How to build +============ + + $ make orangepi_pc2_defconfig + $ make + +Note: you will need access to the internet to download the required +sources. + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your Orangepi PC2 and power it up. The console +is on the serial line, 115200 8N1. diff --git a/board/orangepi/orangepi-plus/boot.cmd b/board/orangepi/orangepi-plus/boot.cmd deleted file mode 100644 index 1a378cb9187..00000000000 --- a/board/orangepi/orangepi-plus/boot.cmd +++ /dev/null @@ -1,8 +0,0 @@ -setenv fdt_high ffffffff - -setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait - -fatload mmc 0 $kernel_addr_r zImage -fatload mmc 0 $fdt_addr_r sun8i-h3-orangepi-plus.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/orangepi/orangepi-plus/genimage.cfg b/board/orangepi/orangepi-plus/genimage.cfg deleted file mode 100644 index 391678b73a0..00000000000 --- a/board/orangepi/orangepi-plus/genimage.cfg +++ /dev/null @@ -1,35 +0,0 @@ -# Minimal SD card image for the OrangePi Plus\Plus2 -# -image boot.vfat { - vfat { - files = { - "zImage", - "sun8i-h3-orangepi-plus.dtb", - "boot.scr" - } - } - size = 10M -} - -image sdcard.img { - hdimage { - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/orangepi/orangepi-plus/readme.txt b/board/orangepi/orangepi-plus/readme.txt deleted file mode 100644 index 7f871bcfab1..00000000000 --- a/board/orangepi/orangepi-plus/readme.txt +++ /dev/null @@ -1,29 +0,0 @@ -OrangePi Plus/Plus2 - -Intro -===== - -This default configuration will allow you to start experimenting with the -buildroot environment for the OrangePi Plus/Plus2. With the current configuration -it will bring-up the board, and allow access through the serial console. - -How to build it -=============== - -Configure Buildroot: - - $ make orangepi_plus_defconfig - -Compile everything and build the SD card image: - - $ make - -How to write the SD card -======================== - -Once the build process is finished you will have an image called "sdcard.img" -in the output/images/ directory. - -Copy the bootable "sdcard.img" onto an SD card with "dd": - - $ sudo dd if=output/images/sdcard.img of=/dev/sdX diff --git a/board/orangepi/orangepi-r1/boot.cmd b/board/orangepi/orangepi-r1/boot.cmd new file mode 100644 index 00000000000..50745f7e5e5 --- /dev/null +++ b/board/orangepi/orangepi-r1/boot.cmd @@ -0,0 +1,8 @@ +setenv fdt_high ffffffff + +setenv bootargs console=ttyS0,115200 earlyprintk root=PARTLABEL=rootfs rootwait + +fatload mmc 0 $kernel_addr_r zImage +fatload mmc 0 $fdt_addr_r sun8i-h2-plus-orangepi-r1.dtb + +bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/orangepi/orangepi-r1/genimage.cfg b/board/orangepi/orangepi-r1/genimage.cfg new file mode 100644 index 00000000000..78b69269b7f --- /dev/null +++ b/board/orangepi/orangepi-r1/genimage.cfg @@ -0,0 +1,43 @@ +# Minimal SD card image for the OrangePi R1 +# +image boot.vfat { + vfat { + files = { + "zImage", + "sun8i-h2-plus-orangepi-r1.dtb", + "boot.scr" + } + } + + size = 10M +} + +image sdcard.img { + hdimage { + # for root=PARTLABEL support + partition-table-type = "gpt" + # default GPT location conflicts with spl, move it after + gpt-location = 1M + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + size = 1016K # 1MB - 8KB + } + + partition boot { + partition-type-uuid = F + bootable = "true" + image = "boot.vfat" + } + + # 'rootfs' will be used as the partition label, used + # with root=PARTLABEL=rootfs kernel command line + partition rootfs { + partition-type-uuid = L + image = "rootfs.ext4" + size = 512M + } +} diff --git a/board/orangepi/orangepi-r1/linux-extras.config b/board/orangepi/orangepi-r1/linux-extras.config new file mode 100644 index 00000000000..47ba88f6705 --- /dev/null +++ b/board/orangepi/orangepi-r1/linux-extras.config @@ -0,0 +1,11 @@ +# spi nor +CONFIG_MTD=y +CONFIG_MTD_OF_PARTS=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y + +# ondemand cpufreq governor +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y + +# USB ethernet +CONFIG_USB_RTL8152=y diff --git a/board/orangepi/orangepi-r1/patches/linux-headers/linux-headers.hash b/board/orangepi/orangepi-r1/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/orangepi/orangepi-r1/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/orangepi/orangepi-r1/patches/linux/linux.hash b/board/orangepi/orangepi-r1/patches/linux/linux.hash new file mode 100644 index 00000000000..2ec07fd81bd --- /dev/null +++ b/board/orangepi/orangepi-r1/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 d6ecff966f8c95ec4cb3bb303904f757b7de6a6bcfef0d0771cb852158e61c20 linux-6.6.31.tar.xz diff --git a/board/orangepi/orangepi-r1/patches/uboot/uboot.hash b/board/orangepi/orangepi-r1/patches/uboot/uboot.hash new file mode 100644 index 00000000000..bc999536af2 --- /dev/null +++ b/board/orangepi/orangepi-r1/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b99611f1ed237bf3541bdc8434b68c96a6e05967061f992443cb30aabebef5b3 u-boot-2024.01.tar.bz2 diff --git a/board/orangepi/orangepi-r1/readme.txt b/board/orangepi/orangepi-r1/readme.txt new file mode 100644 index 00000000000..82664993666 --- /dev/null +++ b/board/orangepi/orangepi-r1/readme.txt @@ -0,0 +1,29 @@ +OrangePi R1 + +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the OrangePi R1. With the current configuration +it will bring-up the board, and allow access through the serial console. + +How to build it +=============== + +Configure Buildroot: + + $ make orangepi_r1_defconfig + +Compile everything and build the SD card image: + + $ make + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX diff --git a/board/orangepi/orangepi-zero-plus/readme.txt b/board/orangepi/orangepi-zero-plus/readme.txt new file mode 100644 index 00000000000..1e60e0f825b --- /dev/null +++ b/board/orangepi/orangepi-zero-plus/readme.txt @@ -0,0 +1,34 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the Orangepi Zero Plus. With the current configuration +it will bring-up the board, and allow access through the serial console. + +Orangepi Zero Plus link: +http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-Plus.html + +This configuration uses U-Boot mainline and kernel mainline. + +How to build +============ + + $ make orangepi_zero_plus_defconfig + $ make + +Note: you will need access to the internet to download the required +sources. + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your Orangepi Zero Plus and power it up. The console +is on the serial line, 115200 8N1. diff --git a/board/orangepi/orangepi-zero-plus2/linux-extras.config b/board/orangepi/orangepi-zero-plus2/linux-extras.config new file mode 100644 index 00000000000..52b4b4b29e1 --- /dev/null +++ b/board/orangepi/orangepi-zero-plus2/linux-extras.config @@ -0,0 +1,10 @@ +# wireless core +CONFIG_WIRELESS=y +CONFIG_CFG80211=y +CONFIG_MAC80211=y +CONFIG_CFG80211_WEXT=y + +# wireless drivers +CONFIG_WLAN=y +CONFIG_WLAN_VENDOR_BROADCOM=y +CONFIG_BRCMFMAC=m diff --git a/board/orangepi/orangepi-zero-plus2/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/orangepi/orangepi-zero-plus2/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..8b77e1f1653 --- /dev/null +++ b/board/orangepi/orangepi-zero-plus2/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 c0f23ccc71c49989e9ad238acf334473c17b7c88f79a20c829c3d443e3794a22 arm-trusted-firmware-v2.11-git4.tar.gz diff --git a/board/orangepi/orangepi-zero-plus2/patches/linux-headers/linux-headers.hash b/board/orangepi/orangepi-zero-plus2/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/orangepi/orangepi-zero-plus2/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/orangepi/orangepi-zero-plus2/patches/linux/linux.hash b/board/orangepi/orangepi-zero-plus2/patches/linux/linux.hash new file mode 100644 index 00000000000..aea771e7bf5 --- /dev/null +++ b/board/orangepi/orangepi-zero-plus2/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 c89809cc777d50f1ea484a118630281a26383707a0e752c96fd834f6e765deae linux-6.12.3.tar.xz diff --git a/board/orangepi/orangepi-zero-plus2/patches/uboot/uboot.hash b/board/orangepi/orangepi-zero-plus2/patches/uboot/uboot.hash new file mode 100644 index 00000000000..904fa56c02a --- /dev/null +++ b/board/orangepi/orangepi-zero-plus2/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b28daf4ac17e43156363078bf510297584137f6df50fced9b12df34f61a92fb0 u-boot-2024.10.tar.bz2 diff --git a/board/orangepi/orangepi-zero-plus2/readme.txt b/board/orangepi/orangepi-zero-plus2/readme.txt new file mode 100644 index 00000000000..2df6dd9b112 --- /dev/null +++ b/board/orangepi/orangepi-zero-plus2/readme.txt @@ -0,0 +1,37 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the Orangepi Zero Plus2. With the current configuration +it will bring-up the board, and allow access through the serial console. + +Orangepi Zero Plus2 link: +http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-Plus-2.html + +Wiki link: +https://openedev.amarulasolutions.com/display/ODWIKI/Orangepi+Zero+Plus2 + +This configuration uses U-Boot mainline and kernel mainline. + +How to build +============ + + $ make orangepi_zero_plus2_defconfig + $ make + +Note: you will need access to the internet to download the required +sources. + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your Orangepi Zero Plus2 and power it up. The console +is on the serial line, 115200 8N1. diff --git a/board/orangepi/orangepi-zero-plus2/rootfs_overlay/lib/firmware/brcm/brcmfmac43430-sdio.txt b/board/orangepi/orangepi-zero-plus2/rootfs_overlay/lib/firmware/brcm/brcmfmac43430-sdio.txt new file mode 100644 index 00000000000..8f0bf69063d --- /dev/null +++ b/board/orangepi/orangepi-zero-plus2/rootfs_overlay/lib/firmware/brcm/brcmfmac43430-sdio.txt @@ -0,0 +1,54 @@ +#AP6212_NVRAM_V1.0_20140603 +# 2.4 GHz, 20 MHz BW mode + +# The following parameter values are just placeholders, need to be updated. +manfid=0x2d0 +prodid=0x0726 +vendid=0x14e4 +devid=0x43e2 +boardtype=0x0726 +boardrev=0x1101 +boardnum=22 +macaddr=00:90:4c:c5:12:38 +sromrev=11 +boardflags=0x00404201 +xtalfreq=26000 +nocrc=1 +ag0=255 +aa2g=1 +ccode=ALL + +pa0itssit=0x20 +extpagain2g=0 + +#PA parameters for 2.4GHz, measured at CHIP OUTPUT +pa2ga0=-168,7161,-820 +AvVmid_c0=0x0,0xc8 +cckpwroffset0=5 + +# PPR params +maxp2ga0=90 +txpwrbckof=6 +cckbw202gpo=0x5555 +legofdmbw202gpo=0x77777777 +mcsbw202gpo=0xaaaaaaaa + +# OFDM IIR : +ofdmdigfilttype=7 +# PAPD mode: +papdmode=2 + +il0macaddr=00:90:4c:c5:12:38 +wl0id=0x431b + +#OOB parameters +hostwake=0x40 +hostrdy=0x41 +usbrdy=0x03 +usbrdydelay=100 +deadman_to=0xffffffff +# muxenab: 0x1 for UART enable, 0x10 for Host awake +muxenab=0x10 +# CLDO PWM voltage settings - 0x4 - 1.1 volt +#cldo_pwm=0x4 + diff --git a/board/orangepi/orangepi-zero/boot.cmd b/board/orangepi/orangepi-zero/boot.cmd deleted file mode 100644 index 44f0885ff4a..00000000000 --- a/board/orangepi/orangepi-zero/boot.cmd +++ /dev/null @@ -1,8 +0,0 @@ -setenv fdt_high ffffffff - -setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait - -fatload mmc 0 $kernel_addr_r zImage -fatload mmc 0 $fdt_addr_r sun8i-h2-plus-orangepi-zero.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/orangepi/orangepi-zero/genimage.cfg b/board/orangepi/orangepi-zero/genimage.cfg deleted file mode 100644 index 017435f28ef..00000000000 --- a/board/orangepi/orangepi-zero/genimage.cfg +++ /dev/null @@ -1,36 +0,0 @@ -# Minimal SD card image for the OrangePi Zero -# -image boot.vfat { - vfat { - files = { - "zImage", - "sun8i-h2-plus-orangepi-zero.dtb", - "boot.scr" - } - } - size = 10M -} - -image sdcard.img { - hdimage { - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 512M - } -} diff --git a/board/orangepi/orangepi-zero/linux-extras.config b/board/orangepi/orangepi-zero/linux-extras.config deleted file mode 100644 index fe00af5ef7c..00000000000 --- a/board/orangepi/orangepi-zero/linux-extras.config +++ /dev/null @@ -1,17 +0,0 @@ -# spidev -CONFIG_SPI_SPIDEV=y - -# spi nor -CONFIG_MTD=y -CONFIG_MTD_OF_PARTS=y -CONFIG_MTD_SPI_NOR=y -CONFIG_MTD_M25P80=y - -# wireless core -CONFIG_WIRELESS=y -CONFIG_CFG80211=y -CONFIG_MAC80211=y -CONFIG_CFG80211_WEXT=y - -# wireless drivers -CONFIG_WLAN=y diff --git a/board/orangepi/orangepi-zero/linux-extras.fragment b/board/orangepi/orangepi-zero/linux-extras.fragment new file mode 100644 index 00000000000..2db241de285 --- /dev/null +++ b/board/orangepi/orangepi-zero/linux-extras.fragment @@ -0,0 +1,20 @@ +# spidev +CONFIG_SPI_SPIDEV=y + +# spi nor +CONFIG_MTD=y +CONFIG_MTD_OF_PARTS=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y + +# wireless core +CONFIG_WIRELESS=y +CONFIG_CFG80211=y +CONFIG_MAC80211=y +CONFIG_CFG80211_WEXT=y + +# wireless drivers +CONFIG_WLAN=y + +# ondemand cpufreq governor +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y diff --git a/board/orangepi/orangepi-zero/patches/linux-headers/linux-headers.hash b/board/orangepi/orangepi-zero/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/orangepi/orangepi-zero/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/orangepi/orangepi-zero/patches/linux/0001-ARM-dts-orange-pi-zero-interrupt-triggering-xr819.patch b/board/orangepi/orangepi-zero/patches/linux/0001-ARM-dts-orange-pi-zero-interrupt-triggering-xr819.patch index 146d23d1afc..600fd0f5b38 100644 --- a/board/orangepi/orangepi-zero/patches/linux/0001-ARM-dts-orange-pi-zero-interrupt-triggering-xr819.patch +++ b/board/orangepi/orangepi-zero/patches/linux/0001-ARM-dts-orange-pi-zero-interrupt-triggering-xr819.patch @@ -1,8 +1,7 @@ -From 321faaf4b78d46a0c77782c1798856746f0619e9 Mon Sep 17 00:00:00 2001 +From 7a24ce9f5045ac6faf66a08bbb814f3a82c919b1 Mon Sep 17 00:00:00 2001 From: Sergey Matyukevich Date: Fri, 19 May 2017 23:39:48 +0300 -Subject: [PATCH 1/3] ARM: dts: orange-pi-zero: specify XR819 WiFi chip - interrupts +Subject: [PATCH] ARM: dts: orange-pi-zero: specify XR819 WiFi chip interrupts The orange-pi-zero board has Allwinner XR819 SDIO wifi chip. The board dts file provides a node enabling mmc1 controller. Together with an @@ -13,16 +12,16 @@ This commit specifies XR819 interrupt configuration for the driver. Signed-off-by: Sergey Matyukevich --- - arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 3 +++ + arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts -index b7ca916d871d..4e1a9050c6b4 100644 ---- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts -+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts -@@ -125,6 +125,9 @@ +diff --git a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts +index 2a45770f7b83..667038973bb7 100644 +--- a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts ++++ b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts +@@ -152,6 +152,9 @@ &mmc1 { */ - xr819: sdio_wifi@1 { + xr819: wifi@1 { reg = <1>; + compatible = "xradio,xr819"; + interrupt-parent = <&pio>; @@ -31,5 +30,5 @@ index b7ca916d871d..4e1a9050c6b4 100644 }; -- -2.11.0 +2.47.1 diff --git a/board/orangepi/orangepi-zero/patches/linux/0002-ARM-dts-orange-pi-zero-enable-spi-nor.patch b/board/orangepi/orangepi-zero/patches/linux/0002-ARM-dts-orange-pi-zero-enable-spi-nor.patch index fc24e7b8a73..ff350d68b4c 100644 --- a/board/orangepi/orangepi-zero/patches/linux/0002-ARM-dts-orange-pi-zero-enable-spi-nor.patch +++ b/board/orangepi/orangepi-zero/patches/linux/0002-ARM-dts-orange-pi-zero-enable-spi-nor.patch @@ -1,7 +1,7 @@ -From 068c3baff3048a3db4ef2518ff917ce749cd8169 Mon Sep 17 00:00:00 2001 +From ddc295a04269437e5c726f63239689786354d44b Mon Sep 17 00:00:00 2001 From: Sergey Matyukevich Date: Sat, 20 May 2017 11:24:26 +0300 -Subject: [PATCH 2/3] ARM: dts: orange-pi-zero: enable SPI NOR +Subject: [PATCH] ARM: dts: orange-pi-zero: enable SPI NOR Enable SPI NOR on orange-pi-zero board. @@ -9,34 +9,37 @@ For more information see: - http://linux-sunxi.org/Orange_Pi_Zero#SPI_NOR_flash Signed-off-by: Sergey Matyukevich +[Dario: make the patch to be applied with fuzz factor 0] +Signed-off-by: Dario Binacchi --- - arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) + .../boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) -diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts -index 4e1a9050c6b4..cdf19821b1f3 100644 ---- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts -+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts -@@ -161,3 +161,19 @@ - /* USB VBUS is always on */ - status = "okay"; - }; -+ -+&spi0 { +diff --git a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts +index 6b74cc923e16..4012f8712cd7 100644 +--- a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts ++++ b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts +@@ -167,14 +167,18 @@ &ohci1 { + + &spi0 { + /* Disable SPI NOR by default: it optional on Orange Pi Zero boards */ +- status = "disabled"; + status = "okay"; -+ -+ flash@0 { -+ #address-cells = <1>; -+ #size-cells = <1>; + + flash@0 { + #address-cells = <1>; + #size-cells = <1>; +- compatible = "mxicy,mx25l1606e", "jedec,spi-nor"; + compatible = "mxicy,mx25l1606e", "winbond,w25q128"; -+ reg = <0>; -+ spi-max-frequency = <40000000>; + reg = <0>; + spi-max-frequency = <40000000>; + + partition@00000000 { + reg = <0x00000000 0x200000>; /* 2Mb */ + }; -+ }; -+}; + }; + }; + -- -2.11.0 +2.43.0 diff --git a/board/orangepi/orangepi-zero/patches/linux/0003-ARM-dts-orange-pi-zero-enable-spidev.patch b/board/orangepi/orangepi-zero/patches/linux/0003-ARM-dts-orange-pi-zero-enable-spidev.patch index 553155ce12f..61dc97fd8b4 100644 --- a/board/orangepi/orangepi-zero/patches/linux/0003-ARM-dts-orange-pi-zero-enable-spidev.patch +++ b/board/orangepi/orangepi-zero/patches/linux/0003-ARM-dts-orange-pi-zero-enable-spidev.patch @@ -1,33 +1,34 @@ -From 8dd1b2a696bb7e9914abd11cc6f5c0f54c33d626 Mon Sep 17 00:00:00 2001 +From 208b13119fc0f709935fc2fc13c0295b19edbbf5 Mon Sep 17 00:00:00 2001 From: Sergey Matyukevich Date: Sat, 20 May 2017 15:36:51 +0300 -Subject: [PATCH 3/3] ARM: dts: orange-pi-zero: enable spidev +Subject: [PATCH] ARM: dts: orange-pi-zero: enable spidev On orange-pi-zero board SPI1 pins are accessible via GPIO expansion port. This patch enables spidev driver for SPI1. Signed-off-by: Sergey Matyukevich +[Dario: make the patch to be applied with fuzz factor 0] +Signed-off-by: Dario Binacchi --- - arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 11 +++++++++++ + .../dts/allwinner/sun8i-h2-plus-orangepi-zero.dts | 11 +++++++++++ 1 file changed, 11 insertions(+) -diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts -index cdf19821b1f3..7242aaecb14f 100644 ---- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts -+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts -@@ -59,6 +59,7 @@ - serial0 = &uart0; +diff --git a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts +index 4012f8712cd7..3552eb312747 100644 +--- a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts ++++ b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts +@@ -59,6 +59,7 @@ aliases { /* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */ + ethernet0 = &emac; ethernet1 = &xr819; + spi1 = &spi1; }; chosen { -@@ -177,3 +178,13 @@ - }; +@@ -182,6 +183,16 @@ partition@00000000 { }; }; -+ + +&spi1 { + status = "okay"; + @@ -37,6 +38,10 @@ index cdf19821b1f3..7242aaecb14f 100644 + spi-max-frequency = <10000000>; + }; +}; ++ + &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pa_pins>; -- -2.11.0 +2.43.0 diff --git a/board/orangepi/orangepi-zero/patches/linux/0004-ARM-dts-orange-pi-zero-enable-uart.patch b/board/orangepi/orangepi-zero/patches/linux/0004-ARM-dts-orange-pi-zero-enable-uart.patch new file mode 100644 index 00000000000..41c23209ce0 --- /dev/null +++ b/board/orangepi/orangepi-zero/patches/linux/0004-ARM-dts-orange-pi-zero-enable-uart.patch @@ -0,0 +1,35 @@ +From e8768cc1f0f1231cbd4864417de629330e21222d Mon Sep 17 00:00:00 2001 +From: Sergey Kuzminov +Date: Sun, 21 Nov 2021 00:58:32 +0300 +Subject: [PATCH] ARM: dts: orange-pi-zero: enable uart + +Enable uart1 and uart2 on orange-pi-zero board. + +Signed-off-by: Sergey Kuzminov +--- + arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts +index f19ed981da9d..03acf166ab70 100644 +--- a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts ++++ b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts +@@ -184,13 +184,13 @@ &uart0 { + &uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>; +- status = "disabled"; ++ status = "okay"; + }; + + &uart2 { + pinctrl-names = "default"; + pinctrl-0 = <&uart2_pins>; +- status = "disabled"; ++ status = "okay"; + }; + + &usb_otg { +-- +2.32.0 + diff --git a/board/orangepi/orangepi-zero/patches/linux/linux.hash b/board/orangepi/orangepi-zero/patches/linux/linux.hash new file mode 100644 index 00000000000..aea771e7bf5 --- /dev/null +++ b/board/orangepi/orangepi-zero/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 c89809cc777d50f1ea484a118630281a26383707a0e752c96fd834f6e765deae linux-6.12.3.tar.xz diff --git a/board/orangepi/orangepi-zero/patches/uboot/uboot.hash b/board/orangepi/orangepi-zero/patches/uboot/uboot.hash new file mode 100644 index 00000000000..904fa56c02a --- /dev/null +++ b/board/orangepi/orangepi-zero/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b28daf4ac17e43156363078bf510297584137f6df50fced9b12df34f61a92fb0 u-boot-2024.10.tar.bz2 diff --git a/board/orangepi/orangepi-zero/post-build.sh b/board/orangepi/orangepi-zero/post-build.sh deleted file mode 120000 index cd7f11645b0..00000000000 --- a/board/orangepi/orangepi-zero/post-build.sh +++ /dev/null @@ -1 +0,0 @@ -../post-build.sh \ No newline at end of file diff --git a/board/orangepi/orangepi-zero/post-image.sh b/board/orangepi/orangepi-zero/post-image.sh deleted file mode 120000 index ae6294fa385..00000000000 --- a/board/orangepi/orangepi-zero/post-image.sh +++ /dev/null @@ -1 +0,0 @@ -../post-image.sh \ No newline at end of file diff --git a/board/orangepi/orangepi-zero2w/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/orangepi/orangepi-zero2w/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..8b77e1f1653 --- /dev/null +++ b/board/orangepi/orangepi-zero2w/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 c0f23ccc71c49989e9ad238acf334473c17b7c88f79a20c829c3d443e3794a22 arm-trusted-firmware-v2.11-git4.tar.gz diff --git a/board/orangepi/orangepi-zero2w/patches/linux-headers/linux-headers.hash b/board/orangepi/orangepi-zero2w/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/orangepi/orangepi-zero2w/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/orangepi/orangepi-zero2w/patches/linux/linux.hash b/board/orangepi/orangepi-zero2w/patches/linux/linux.hash new file mode 100644 index 00000000000..aea771e7bf5 --- /dev/null +++ b/board/orangepi/orangepi-zero2w/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 c89809cc777d50f1ea484a118630281a26383707a0e752c96fd834f6e765deae linux-6.12.3.tar.xz diff --git a/board/orangepi/orangepi-zero2w/patches/uboot/uboot.hash b/board/orangepi/orangepi-zero2w/patches/uboot/uboot.hash new file mode 100644 index 00000000000..904fa56c02a --- /dev/null +++ b/board/orangepi/orangepi-zero2w/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b28daf4ac17e43156363078bf510297584137f6df50fced9b12df34f61a92fb0 u-boot-2024.10.tar.bz2 diff --git a/board/orangepi/orangepi-zero2w/readme.txt b/board/orangepi/orangepi-zero2w/readme.txt new file mode 100644 index 00000000000..84796579da8 --- /dev/null +++ b/board/orangepi/orangepi-zero2w/readme.txt @@ -0,0 +1,32 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the OrangePi Zero2W. Current configuration will +bring-up the board and allow access through the serial console. + +Orangepi Zero 2W links: +- http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-2W.html +- https://linux-sunxi.org/Xunlong_Orange_Pi_Zero2W + +How to build +============ + + $ make orangepi_zero2w_defconfig + $ make + +Note: you will need access to the internet to download the required sources. + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your Orangepi Zero2W and power it up. The console +is on the serial line, 115200 8N1. diff --git a/board/orangepi/orangepi-zero3/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/orangepi/orangepi-zero3/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..8b77e1f1653 --- /dev/null +++ b/board/orangepi/orangepi-zero3/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 c0f23ccc71c49989e9ad238acf334473c17b7c88f79a20c829c3d443e3794a22 arm-trusted-firmware-v2.11-git4.tar.gz diff --git a/board/orangepi/orangepi-zero3/patches/linux-headers/linux-headers.hash b/board/orangepi/orangepi-zero3/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/orangepi/orangepi-zero3/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/orangepi/orangepi-zero3/patches/linux/linux.hash b/board/orangepi/orangepi-zero3/patches/linux/linux.hash new file mode 100644 index 00000000000..80e573540ff --- /dev/null +++ b/board/orangepi/orangepi-zero3/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 d450ab215de4e1f8bb85e0f4216760fa33fd024b4526b144f4ce0d9012b29c9e linux-6.12.6.tar.xz diff --git a/board/orangepi/orangepi-zero3/patches/uboot/uboot.hash b/board/orangepi/orangepi-zero3/patches/uboot/uboot.hash new file mode 100644 index 00000000000..904fa56c02a --- /dev/null +++ b/board/orangepi/orangepi-zero3/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b28daf4ac17e43156363078bf510297584137f6df50fced9b12df34f61a92fb0 u-boot-2024.10.tar.bz2 diff --git a/board/orangepi/orangepi-zero3/readme.txt b/board/orangepi/orangepi-zero3/readme.txt new file mode 100644 index 00000000000..4872a363e7d --- /dev/null +++ b/board/orangepi/orangepi-zero3/readme.txt @@ -0,0 +1,34 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the Orangepi Zero3. With the current configuration +it will bring-up the board, and allow access through the serial console. + +Orangepi Zero3 link: +http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-3.html + +This configuration uses Orangepi's fork of U-Boot and Linux kernel. + +How to build +============ + + $ make orangepi_zero3_defconfig + $ make + +Note: you will need access to the internet to download the required +sources. + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your Orangepi Zero3 and power it up. The console +is on the serial line, 115200 8N1. diff --git a/board/orangepi/post-build.sh b/board/orangepi/post-build.sh deleted file mode 100755 index 07e04df4d56..00000000000 --- a/board/orangepi/post-build.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# post-build.sh for OrangePi taken from CubieBoard's post-build.sh -# 2013, Carlo Caione - -BOARD_DIR="$(dirname $0)" -MKIMAGE=$HOST_DIR/bin/mkimage -BOOT_CMD=$BOARD_DIR/boot.cmd -BOOT_CMD_H=$BINARIES_DIR/boot.scr - -# U-Boot script -$MKIMAGE -C none -A arm -T script -d $BOOT_CMD $BOOT_CMD_H diff --git a/board/orangepi/post-image.sh b/board/orangepi/post-image.sh deleted file mode 100755 index 359b4c9e7c5..00000000000 --- a/board/orangepi/post-image.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/board/pandaboard/genimage.cfg b/board/pandaboard/genimage.cfg deleted file mode 100644 index f30033f023c..00000000000 --- a/board/pandaboard/genimage.cfg +++ /dev/null @@ -1,26 +0,0 @@ -image boot.vfat { - vfat { - files = { - "MLO", - "u-boot.img" - } - } - size = 8M -} - -image sdcard.img { - hdimage { - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 512M - } -} diff --git a/board/pandaboard/post-image.sh b/board/pandaboard/post-image.sh deleted file mode 100755 index 9cca1b1789e..00000000000 --- a/board/pandaboard/post-image.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" - -exit $? diff --git a/board/pandaboard/readme.txt b/board/pandaboard/readme.txt deleted file mode 100644 index 1e4820b828e..00000000000 --- a/board/pandaboard/readme.txt +++ /dev/null @@ -1,46 +0,0 @@ -Pandaboard -========== - -This file documents the Buildroot support for the Pandaboard, a -low-power, low-cost single-board computer development platform based -on the Texas Instruments OMAP4 system on a chip (SoC). - -Configuring and building Buildroot ----------------------------------- - -Start from the defconfig: - - $ make pandaboard_defconfig - -You can edit build options the usual way: - - $ make menuconfig - -When you are happy with the setup, run: - - $ make - -The result of the build with the default settings should be these files: - - output/images - ├── MLO - ├── omap4-panda-a4.dtb - ├── omap4-panda.dtb - ├── omap4-panda-es.dtb - ├── rootfs.ext4 - ├── sdcard.img - ├── u-boot.img - └── zImage - -How to write the SD card ------------------------- - -Once the build process is finished you will have an image called "sdcard.img" -in the output/images/ directory. - -Copy the bootable "sdcard.img" onto an SD card with "dd": - - $ sudo dd if=output/images/sdcard.img of=/dev/sdX - -Where /dev/sdX is the device node of your SD card (may be /dev/mmcblkX -instead depending on setup). diff --git a/board/pc/genimage-bios.cfg b/board/pc/genimage-bios.cfg index c6694999155..54026f6527e 100644 --- a/board/pc/genimage-bios.cfg +++ b/board/pc/genimage-bios.cfg @@ -1,24 +1,23 @@ image disk.img { + hdimage { + } - hdimage { - } + partition boot { + in-partition-table = "no" + image = "boot.img" + offset = 0 + size = 512 + holes = {"(440; 512)"} + } - partition boot { - in-partition-table = "no" - image = "boot.img" - offset = 0 - size = 512 - } - - partition grub { - in-partition-table = "no" - image = "grub.img" - offset = 512 - } - - partition root { - partition-type = 0x83 - image = "rootfs.ext2" - } + partition grub { + in-partition-table = "no" + image = "grub.img" + offset = 512 + } + partition root { + partition-type = 0x83 + image = "rootfs.ext2" + } } diff --git a/board/pc/genimage-efi.cfg b/board/pc/genimage-efi.cfg index ec96d73dd19..c231e1b9b26 100644 --- a/board/pc/genimage-efi.cfg +++ b/board/pc/genimage-efi.cfg @@ -1,31 +1,32 @@ image efi-part.vfat { - vfat { - file startup.nsh { - image = "efi-part/startup.nsh" - } - file EFI { - image = "efi-part/EFI" - } - file bzImage { - image = "bzImage" - } - } - size = 16M -} + vfat { + file EFI { + image = "efi-part/EFI" + } -image disk.img { + file bzImage { + image = "bzImage" + } + } - hdimage { - } + size = 16352K # 16MB - 32KB +} - partition boot { - partition-type = 0xEF - image = "efi-part.vfat" - } +image disk.img { + hdimage { + partition-table-type = "gpt" + } - partition root { - partition-type = 0x83 - image = "rootfs.ext2" - } + partition boot { + image = "efi-part.vfat" + partition-type-uuid = U + offset = 32K + bootable = true + } + partition root { + partition-type-uuid = 44479540-f297-41b2-9af7-d131d5f0458a + partition-uuid = UUID_TMP + image = "rootfs.ext2" + } } diff --git a/board/pc/grub-bios.cfg b/board/pc/grub-bios.cfg new file mode 100644 index 00000000000..bd3e3f00061 --- /dev/null +++ b/board/pc/grub-bios.cfg @@ -0,0 +1,6 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /boot/bzImage root=/dev/sda1 rootwait console=tty1 +} diff --git a/board/pc/grub-efi.cfg b/board/pc/grub-efi.cfg new file mode 100644 index 00000000000..bd44666404f --- /dev/null +++ b/board/pc/grub-efi.cfg @@ -0,0 +1,6 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /bzImage root=PARTUUID=UUID_TMP rootwait console=tty1 +} diff --git a/board/pc/linux.config b/board/pc/linux.config index 0fff1170807..43b15c94be4 100644 --- a/board/pc/linux.config +++ b/board/pc/linux.config @@ -15,6 +15,7 @@ CONFIG_IP_NF_FILTER=y CONFIG_CFG80211=m CONFIG_CFG80211_WEXT=y CONFIG_MAC80211=m +CONFIG_PCI=y CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_VIRTIO_BLK=y @@ -63,7 +64,10 @@ CONFIG_DRM_I915=y CONFIG_DRM_QXL=y CONFIG_DRM_BOCHS=y CONFIG_DRM_VIRTIO_GPU=y +CONFIG_FB=y +CONFIG_FIRMWARE_EDID=y CONFIG_FB_VESA=y +CONFIG_FB_EFI=y CONFIG_SOUND=y CONFIG_SND=y CONFIG_SND_HDA_INTEL=y @@ -82,3 +86,4 @@ CONFIG_EXT4_FS=y CONFIG_FUSE_FS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_SQUASHFS=y +CONFIG_UNWINDER_FRAME_POINTER=y diff --git a/board/pc/patches/linux-headers/linux-headers.hash b/board/pc/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/pc/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/pc/patches/linux/linux.hash b/board/pc/patches/linux/linux.hash new file mode 100644 index 00000000000..bf565408ee3 --- /dev/null +++ b/board/pc/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 e82fe40871743048226987bd349ef107168b15aab90140e872ca4ed470922e25 linux-6.12.47.tar.xz diff --git a/board/pc/post-build.sh b/board/pc/post-build.sh new file mode 100755 index 00000000000..c76dee26764 --- /dev/null +++ b/board/pc/post-build.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +set -e + +BOARD_DIR=$(dirname "$0") + +# Detect boot strategy, EFI or BIOS +if [ -d "$BINARIES_DIR/efi-part/" ]; then + cp -f "$BOARD_DIR/grub-efi.cfg" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg" +else + cp -f "$BOARD_DIR/grub-bios.cfg" "$TARGET_DIR/boot/grub/grub.cfg" + + # Copy grub 1st stage to binaries, required for genimage + cp -f "$TARGET_DIR/lib/grub/i386-pc/boot.img" "$BINARIES_DIR" +fi diff --git a/board/pc/post-image-efi.sh b/board/pc/post-image-efi.sh new file mode 100755 index 00000000000..a0df70a6ab4 --- /dev/null +++ b/board/pc/post-image-efi.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +set -e + +UUID=$(dumpe2fs "$BINARIES_DIR/rootfs.ext2" 2>/dev/null | sed -n 's/^Filesystem UUID: *\(.*\)/\1/p') +sed -i "s/UUID_TMP/$UUID/g" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg" +sed "s/UUID_TMP/$UUID/g" board/pc/genimage-efi.cfg > "$BINARIES_DIR/genimage-efi.cfg" +support/scripts/genimage.sh -c "$BINARIES_DIR/genimage-efi.cfg" diff --git a/board/pc/post-image.sh b/board/pc/post-image.sh deleted file mode 100755 index c88ecb1dc24..00000000000 --- a/board/pc/post-image.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh - -# Detect boot strategy, EFI or BIOS -if [ -f ${BINARIES_DIR}/efi-part/startup.nsh ]; then - BOOT_TYPE=efi - # grub.cfg needs customization for EFI since the root partition is - # number 2, and bzImage is in the EFI partition (1) - cat >${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg <<__EOF__ -set default="0" -set timeout="5" - -menuentry "Buildroot" { - linux /bzImage root=/dev/sda2 rootwait console=tty1 -} -__EOF__ -else - BOOT_TYPE=bios - # Copy grub 1st stage to binaries, required for genimage - cp -f ${HOST_DIR}/lib/grub/i386-pc/boot.img ${BINARIES_DIR} -fi - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage-${BOOT_TYPE}.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" - -exit $? diff --git a/board/pc/readme.txt b/board/pc/readme.txt index 68ca21166f9..18b1e3dcf07 100644 --- a/board/pc/readme.txt +++ b/board/pc/readme.txt @@ -9,7 +9,7 @@ Bare PC sample config $ make pc_x86_64_bios_defconfig - Or for EFI: + For EFI-based boot strategy on a GPT-partitioned disk: $ make pc_x86_64_efi_defconfig @@ -17,14 +17,14 @@ Bare PC sample config $ make -2. Write the pendrive +2. Write the image - The build process will create a pendrive image called sdcard.img in + The build process will create a all-in-one image called disk.img in output/images. Write the image to a pendrive: - $ dd if=output/images/disk.img of=/dev/sdc; sync + $ dd if=output/images/disk.img of=/dev/sdX; sync Once it's done insert it into the target PC and boot. @@ -35,3 +35,40 @@ Bare PC sample config the setup as well. 3. Enjoy + +Emulation in qemu (BIOS) +======================== + +1. Edit grub-bios.cfg + + Since the driver will show up in the virtual machine as /dev/vda, + change board/pc/grub-bios.cfg to use root=/dev/vda1 instead of + root=/dev/sda1. Then rebuild grub2 and the image: + + make grub2-rebuild && make + +2. Run the emulation with: + +qemu-system-x86_64 \ + -M pc \ + -drive file=output/images/disk.img,if=virtio,format=raw \ + -net nic,model=virtio \ + -net user + + +Emulation in qemu (UEFI) +======================== + +Run the emulation with: + +qemu-system-x86_64 \ + -M pc \ + -bios \ + -drive file=output/images/disk.img,if=virtio,format=raw \ + -net nic,model=virtio \ + -net user + +Note that needs to point to a valid x86_64 UEFI +firmware image for qemu. It may be provided by your distribution as a +edk2 or OVMF package, in path such as +/usr/share/edk2/ovmf/OVMF_CODE.fd . diff --git a/board/pine64/pine64/boot.cmd b/board/pine64/pine64/boot.cmd new file mode 100644 index 00000000000..14f561044c4 --- /dev/null +++ b/board/pine64/pine64/boot.cmd @@ -0,0 +1,6 @@ +setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait + +fatload mmc 0 $kernel_addr_r Image +fatload mmc 0 $fdt_addr_r sun50i-a64-pine64.dtb + +booti $kernel_addr_r - $fdt_addr_r diff --git a/board/pine64/pine64/genimage.cfg b/board/pine64/pine64/genimage.cfg new file mode 100644 index 00000000000..bd026c33c6d --- /dev/null +++ b/board/pine64/pine64/genimage.cfg @@ -0,0 +1,34 @@ +image boot.vfat { + vfat { + files = { + "Image", + "sun50i-a64-pine64.dtb", + "boot.scr" + } + } + + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + offset = 1M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/pine64/pine64/readme.txt b/board/pine64/pine64/readme.txt new file mode 100644 index 00000000000..85226fdd177 --- /dev/null +++ b/board/pine64/pine64/readme.txt @@ -0,0 +1,38 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the Pine64. With the current configuration +it will bring-up the board, and allow access through the serial console. + +Pine64 link: +https://www.pine64.org/?page_id=1194 + +Wiki link: +https://openedev.amarulasolutions.com/display/ODWIKI/Pine64 + +This configuration uses U-Boot mainline and kernel mainline. + +How to build +============ + + $ make pine64_defconfig + + $ make + +Note: you will need access to the internet to download the required +sources. + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your Pine64 and power it up. The console +is on the serial line, 115200 8N1. diff --git a/board/pine64/pinecube/extlinux.conf b/board/pine64/pinecube/extlinux.conf new file mode 100644 index 00000000000..6a18d9a2cb9 --- /dev/null +++ b/board/pine64/pinecube/extlinux.conf @@ -0,0 +1,4 @@ +label buildroot + kernel /zImage + devicetree /sun8i-s3-pinecube.dtb + append console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait rw diff --git a/board/pine64/pinecube/genimage.cfg b/board/pine64/pinecube/genimage.cfg new file mode 100644 index 00000000000..398d45e2f7e --- /dev/null +++ b/board/pine64/pinecube/genimage.cfg @@ -0,0 +1,34 @@ +image boot.vfat { + vfat { + files = { + "zImage", + "sun8i-s3-pinecube.dtb", + "extlinux" + } + } + + size = 8M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + size = 504K # 512KB - 8KB + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/pine64/pinecube/post-build.sh b/board/pine64/pinecube/post-build.sh new file mode 100755 index 00000000000..8dae08a47cd --- /dev/null +++ b/board/pine64/pinecube/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$BINARIES_DIR"/extlinux/extlinux.conf diff --git a/board/pine64/pinecube/readme.txt b/board/pine64/pinecube/readme.txt new file mode 100644 index 00000000000..4cf6df21107 --- /dev/null +++ b/board/pine64/pinecube/readme.txt @@ -0,0 +1,31 @@ +Intro +===== + +This directory contains a Buildroot configuration for building a +Pine64 PineCube. + +Board homepage: https://www.pine64.org/cube/ +Board wiki: https://wiki.pine64.org/wiki/PineCube + +How to build it +=============== + + $ make pine64_pinecube_defconfig + $ make + +Note: you will need access to the internet to download the required +sources. + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your PineCube and power it up. The console +is on the serial port 2, 115200 8N1 (check Wiki for board pinout). diff --git a/board/pine64/rockpro64-ebbr/genimage.cfg b/board/pine64/rockpro64-ebbr/genimage.cfg new file mode 100644 index 00000000000..be1aadbaf83 --- /dev/null +++ b/board/pine64/rockpro64-ebbr/genimage.cfg @@ -0,0 +1,43 @@ +image efi-part.vfat { + vfat { + file EFI { + image = "efi-part/EFI" + } + + file Image { + image = "Image" + } + } + + size = 64M +} + +image disk.img { + hdimage { + partition-table-type = "gpt" + } + + partition loader1 { + image = "idbloader.img" + partition-type-uuid = 8DA63339-0007-60C0-C436-083AC8230908 + offset = 32K + } + + partition loader2 { + image = "u-boot.itb" + partition-type-uuid = 8DA63339-0007-60C0-C436-083AC8230908 + offset = 8M + } + + partition boot { + image = "efi-part.vfat" + partition-type-uuid = esp + offset = 16M + bootable = true + } + + partition root { + partition-type-uuid = root-arm64 + image = "rootfs.ext2" + } +} diff --git a/board/pine64/rockpro64-ebbr/grub.cfg b/board/pine64/rockpro64-ebbr/grub.cfg new file mode 100644 index 00000000000..d99e19c4cd5 --- /dev/null +++ b/board/pine64/rockpro64-ebbr/grub.cfg @@ -0,0 +1,6 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /Image root=PARTLABEL=root rootwait +} diff --git a/board/pine64/rockpro64-ebbr/linux.fragment b/board/pine64/rockpro64-ebbr/linux.fragment new file mode 100644 index 00000000000..cc5ceeafadc --- /dev/null +++ b/board/pine64/rockpro64-ebbr/linux.fragment @@ -0,0 +1,6 @@ +CONFIG_BLK_DEV_NVME=y +CONFIG_DWMAC_ROCKCHIP=y +CONFIG_PCIE_ROCKCHIP_HOST=y +CONFIG_PHY_ROCKCHIP_PCIE=y +CONFIG_STMMAC_ETH=y +CONFIG_STMMAC_PLATFORM=y diff --git a/board/pine64/rockpro64-ebbr/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/pine64/rockpro64-ebbr/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..0bf70b55422 --- /dev/null +++ b/board/pine64/rockpro64-ebbr/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 6fd749e53c455aec3418288630544e7552bbffab4442ddc48b20ebef9aee87ff arm-trusted-firmware-v2.14-git4.tar.gz diff --git a/board/pine64/rockpro64-ebbr/patches/linux/linux.hash b/board/pine64/rockpro64-ebbr/patches/linux/linux.hash new file mode 100644 index 00000000000..5810d3d580f --- /dev/null +++ b/board/pine64/rockpro64-ebbr/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://cdn.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 f850139ca5f79c1bf6bb8b32f92e212aadca97bdaef8a83a7cf4ac4d6a525fab linux-6.18.4.tar.xz diff --git a/board/pine64/rockpro64-ebbr/patches/optee-client/optee-client.hash b/board/pine64/rockpro64-ebbr/patches/optee-client/optee-client.hash new file mode 100644 index 00000000000..6c61615dbe6 --- /dev/null +++ b/board/pine64/rockpro64-ebbr/patches/optee-client/optee-client.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 464b3bf5bc4a61830357dbf81a0e5b89414d3bca1c2a752570cb0e40d2f1e637 optee-client-4.8.0.tar.gz diff --git a/board/pine64/rockpro64-ebbr/patches/optee-os/optee-os.hash b/board/pine64/rockpro64-ebbr/patches/optee-os/optee-os.hash new file mode 100644 index 00000000000..80b30de9ead --- /dev/null +++ b/board/pine64/rockpro64-ebbr/patches/optee-os/optee-os.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 5222cd553f5edb69ae4ec7cb99b2bfec2c47a47c0be1865b49744701918e8b4d optee-os-4.8.0.tar.gz diff --git a/board/pine64/rockpro64-ebbr/patches/uboot/uboot.hash b/board/pine64/rockpro64-ebbr/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/pine64/rockpro64-ebbr/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/pine64/rockpro64-ebbr/post-build.sh b/board/pine64/rockpro64-ebbr/post-build.sh new file mode 100755 index 00000000000..344251be124 --- /dev/null +++ b/board/pine64/rockpro64-ebbr/post-build.sh @@ -0,0 +1,6 @@ +#!/bin/sh +set -eu + +# Copy the firmware for the SPI NOR flash into the filesystem. +install -v -D -m 0644 "$BINARIES_DIR/u-boot-rockchip-spi.bin" \ + "$TARGET_DIR/lib/firmware/u-boot-rockchip-spi.bin" diff --git a/board/pine64/rockpro64-ebbr/post-image.sh b/board/pine64/rockpro64-ebbr/post-image.sh new file mode 100755 index 00000000000..5a3222fcf76 --- /dev/null +++ b/board/pine64/rockpro64-ebbr/post-image.sh @@ -0,0 +1,7 @@ +#!/bin/sh +set -eu + +BOARD_DIR=$(dirname "$0") + +# Override the default GRUB configuration file with our own. +cp -vf "${BOARD_DIR}/grub.cfg" "${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg" diff --git a/board/pine64/rockpro64-ebbr/readme.txt b/board/pine64/rockpro64-ebbr/readme.txt new file mode 100644 index 00000000000..6c2e0eec3f1 --- /dev/null +++ b/board/pine64/rockpro64-ebbr/readme.txt @@ -0,0 +1,116 @@ +Introduction +============ + +The rockpro64_ebbr_defconfig is meant to illustrate some aspects of the Arm EBBR +specification[1] and the Arm SystemReady Devicetree band[2]. +It allows building an AArch64 disk image with a U-Boot based firmware +implementing the subset of UEFI defined by EBBR, as well as a Linux OS booting +with UEFI, to run on the PINE64 ROCKPro64. [3] + +Building +======== + + $ make rockpro64_ebbr_defconfig + $ make + +Generated files under output/images: + +* disk.img: An eMMC or SD card disk image comprising TF-A, OP-TEE, the U-Boot + bootloader, the GRUB bootloader, the Linux kernel and the root filesystem. + +* u-boot-rockchip-spi.bin: A firmware image suitable for flashing in SPI NOR + comprising TF-A, OP-TEE and the U-Boot bootloader (also included in the + root filesystem). + +Running +======= + +Create a bootable SD card: + + # dd if=output/images/disk.img of= ; sync + +Connect to the UART console; the pin layout for serial console on PI-2 GPIO Bus +is as follows: + + Pin Signal + --- ------ + 6 GND + 8 Tx out of RK3399 + 10 Rx into RK3399 + +Voltage is 3V3, baudrate is 1500000. + +If necessary, connect a jumper between pins 23 and 25 to force SD card boot. [4] + +Flashing the firmware to SPI NOR +-------------------------------- + +It is possible to flash the firmware into the embedded SPI NOR, which makes the +SD card fully available to the OS and also allows to boot from USB2 or NVMe. + +The SPI image and the mtd tools are included in the root filesystem; flash the +firmware from Linux with the following command: + + # flashcp -v /lib/firmware/u-boot-rockchip-spi.bin /dev/mtd0 + +With the firmware in SPI NOR, it is possible to install or run another OS +supporting the EBBR specification. + +The image generated by the aarch64_efi_defconfig, the images from Linux +distributions such as Debian, Fedora, openSUSE or Ubuntu, and the Arm ACS +Devicetree images[5] are examples of compatible OS images. + +Firmware details +================ + +Noteworthy firmware features: + +- TF-A, OP-TEE & U-Boot +- UEFI, with EFI variables stored on disk in the ESP +- Support for ethernet, USB2 and NVMe +- RTC emulation +- U-Boot environment in SPI NOR + +Architecture diagram: + + Non-Secure : Secure + : + +---------------------+ : + EL0 | Busybox | : + +---------------------+ : +--------+ + EL1 | U-Boot, GRUB, Linux | : | OP-TEE | S-EL1 + +---------------------+ : +--------+ + .............................: + +----------------------------------+ + | ROM, U-Boot TPL, SPL, TF-A | EL3 + +----------------------------------+ + +Boot flow: + + ROM -+-> TPL + `-> SPL -> TF-A -+-> OP-TEE + `-> U-Boot -> GRUB -> Linux -> Busybox + +The ROM loads U-Boot TPL and SPL. [7][8] +U-Boot TPL does the DRAM setup, goes back to the ROM, which calls SPL. +U-Boot SPL loads the fit image with TF-A, OP-TEE, U-Boot and the Devicetree. +OP-TEE amends the Devicetree, calls back TF-A to go to normal world. +U-Boot loads GRUB with UEFI, boots Linux. + +Miscellaneous +============= + +This configuration is inspired by the rockpro64_defconfig, the other +configurations related with EBBR and the Arm SystemReady Devicetree Band +Integration and Testing Guide[6]. + +Firmware update, eMMC and battery-backed RTC are currently not supported. + +[1] https://github.com/ARM-software/ebbr +[2] https://www.arm.com/architecture/system-architectures/systemready-compliance-program/systemready-devicetree-band +[3] https://www.pine64.org/rockpro64/ +[4] https://pine64.org/documentation/ROCKPro64/Getting_started/ +[5] https://github.com/ARM-software/arm-systemready/tree/main/SystemReady-devicetree-band/prebuilt_images +[6] https://developer.arm.com/documentation/DUI1101/latest/ +[7] https://wiki.pine64.org/wiki/RK3399_boot_sequence +[8] https://opensource.rock-chips.com/wiki_Boot_option diff --git a/board/pine64/rockpro64-ebbr/u-boot.fragment b/board/pine64/rockpro64-ebbr/u-boot.fragment new file mode 100644 index 00000000000..d943343df69 --- /dev/null +++ b/board/pine64/rockpro64-ebbr/u-boot.fragment @@ -0,0 +1,19 @@ +# CONFIG_SPL_ATF_NO_PLATFORM_PARAM is not set +CONFIG_BOOTM_OPTEE=y +CONFIG_CMD_BOOTEFI_HELLO=y +CONFIG_CMD_BOOTEFI_SELFTEST=y +CONFIG_CMD_DATE=y +CONFIG_CMD_EFIDEBUG=y +CONFIG_CMD_NVEDIT_EFI=y +CONFIG_CMD_RNG=y +CONFIG_CMD_RTC=y +CONFIG_CMD_SETEXPR=y +CONFIG_DM_RTC=y +CONFIG_EFI_HTTP_BOOT=y +CONFIG_EFI_RT_VOLATILE_STORE=y +CONFIG_EFI_SET_TIME=y +CONFIG_OPTEE=y +CONFIG_OPTEE_LIB=y +CONFIG_OPTEE_TZDRAM_SIZE=0x02000000 +CONFIG_RTC_EMULATION=y +CONFIG_TEE=y diff --git a/board/pine64/rockpro64/extlinux.conf b/board/pine64/rockpro64/extlinux.conf new file mode 100644 index 00000000000..83467ef43c2 --- /dev/null +++ b/board/pine64/rockpro64/extlinux.conf @@ -0,0 +1,4 @@ +label RK3399_ROCKPRO64 linux + kernel /Image + devicetree /rk3399-rockpro64.dtb + append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk1p4 rw rootwait diff --git a/board/pine64/rockpro64/genimage.cfg b/board/pine64/rockpro64/genimage.cfg new file mode 100644 index 00000000000..94fa2f7c060 --- /dev/null +++ b/board/pine64/rockpro64/genimage.cfg @@ -0,0 +1,39 @@ +image boot.vfat { + vfat { + files = { + "Image", + "rk3399-rockpro64.dtb", + "extlinux" + } + } + + size = 64M +} + +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition loader1 { + image = "idbloader.img" + offset = 32K + } + + partition loader2 { + image = "u-boot.itb" + offset = 8M + } + + partition boot { + partition-type-uuid = F + bootable = "true" + image = "boot.vfat" + offset = 16M + } + + partition rootfs { + partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae + image = "rootfs.ext4" + } +} diff --git a/board/pine64/rockpro64/linux.fragment b/board/pine64/rockpro64/linux.fragment new file mode 100644 index 00000000000..ed7dfd3d3ea --- /dev/null +++ b/board/pine64/rockpro64/linux.fragment @@ -0,0 +1,3 @@ +CONFIG_STMMAC_ETH=y +CONFIG_STMMAC_PLATFORM=y +CONFIG_DWMAC_ROCKCHIP=y diff --git a/board/pine64/rockpro64/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/pine64/rockpro64/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..0bf70b55422 --- /dev/null +++ b/board/pine64/rockpro64/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 6fd749e53c455aec3418288630544e7552bbffab4442ddc48b20ebef9aee87ff arm-trusted-firmware-v2.14-git4.tar.gz diff --git a/board/pine64/rockpro64/patches/linux/linux.hash b/board/pine64/rockpro64/patches/linux/linux.hash new file mode 100644 index 00000000000..5810d3d580f --- /dev/null +++ b/board/pine64/rockpro64/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://cdn.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 f850139ca5f79c1bf6bb8b32f92e212aadca97bdaef8a83a7cf4ac4d6a525fab linux-6.18.4.tar.xz diff --git a/board/pine64/rockpro64/patches/uboot/uboot.hash b/board/pine64/rockpro64/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/pine64/rockpro64/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/pine64/rockpro64/post-build.sh b/board/pine64/rockpro64/post-build.sh new file mode 100755 index 00000000000..e947745488b --- /dev/null +++ b/board/pine64/rockpro64/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR=$(dirname "$0") + +install -m 0644 -D "$BOARD_DIR/extlinux.conf" "$BINARIES_DIR/extlinux/extlinux.conf" diff --git a/board/pine64/rockpro64/readme.txt b/board/pine64/rockpro64/readme.txt new file mode 100644 index 00000000000..d2a865670a8 --- /dev/null +++ b/board/pine64/rockpro64/readme.txt @@ -0,0 +1,59 @@ +PINE64 ROCKPro64 +================ +https://www.pine64.org/rockpro64/ + +Build: +====== + $ make rockpro64_defconfig + $ make + +Files created in output directory +================================= + +output/images + +├── bl31.elf +├── boot.vfat +├── extlinux +├── idbloader.img +├── Image +├── rk3399-rockpro64.dtb +├── rootfs.ext2 +├── rootfs.ext4 -> rootfs.ext2 +├── sdcard.img +├── u-boot.bin +└── u-boot.itb + +Creating bootable SD card: +========================== + +Simply invoke (as root) + +sudo dd if=output/images/sdcard.img of=/dev/sdX && sync + +Where X is your SD card device. + +Booting: +======== +RockPro64 has a 40-pin PI-2 GPIO Bus. + +Connect a jumper between pin 23 and pin 25 for SD card boot. + +Serial console: +--------------- +The pin layout for serial console on PI-2 GPIO Bus is as follows: + +pin 6: gnd +pin 8: tx +pin 10: rx + +Initially connect pin 6 and pin 8(transmit). Apply power to RockPro64, once the +power is on then connect pin 10(receive). + +Baudrate for this board is 1500000. + +Login: +------ +Enter 'root' as login user, and the prompt is ready. + +https://wiki.amarulasolutions.com/bsp/rockchip/rk3399/rockpro64.html diff --git a/board/pine64/star64/genimage.cfg b/board/pine64/star64/genimage.cfg new file mode 100644 index 00000000000..20326710c5c --- /dev/null +++ b/board/pine64/star64/genimage.cfg @@ -0,0 +1,24 @@ +# SD card image for the Pine64 Star64 board + +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition spl { + image = "u-boot-spl.bin.normal.out" + partition-type-uuid = 2E54B353-1271-4842-806F-E436D6AF6985 + offset = 2M + } + + partition uboot { + image = "u-boot.itb" + partition-type-uuid = xbootldr + offset = 4M + } + + partition rootfs { + image = "rootfs.ext4" + bootable = true + } +} diff --git a/board/pine64/star64/overlay/boot/extlinux/extlinux.conf b/board/pine64/star64/overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..4a76fc16242 --- /dev/null +++ b/board/pine64/star64/overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label star64 + kernel /boot/Image + devicetree /boot/jh7110-pine64-star64.dtb + append root=/dev/mmcblk1p3 rootwait earlycon=sbi diff --git a/board/pine64/star64/patches/linux/linux.hash b/board/pine64/star64/patches/linux/linux.hash new file mode 100644 index 00000000000..8549cf10373 --- /dev/null +++ b/board/pine64/star64/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 165ca1c37c4607b90e731996b7c1e3311285167d13deeedf08f3f1f0b9d2541a linux-6.12.57.tar.xz diff --git a/board/pine64/star64/patches/uboot/uboot.hash b/board/pine64/star64/patches/uboot/uboot.hash new file mode 100644 index 00000000000..98a5c53aaf9 --- /dev/null +++ b/board/pine64/star64/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b4f032848e56cc8f213ad59f9132c084dbbb632bc29176d024e58220e0efdf4a u-boot-2025.10.tar.bz2 diff --git a/board/pine64/star64/readme.txt b/board/pine64/star64/readme.txt new file mode 100644 index 00000000000..5e6ce251081 --- /dev/null +++ b/board/pine64/star64/readme.txt @@ -0,0 +1,32 @@ +Pine64 Star64 +============= + +The Star64 is a low-cost RISC-V 64-bit based platform, powered by a +Starfive JH7110 processor. + +https://wiki.pine64.org/wiki/STAR64 + +How to build +============ + +$ make pine64_star64_defconfig +$ make + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX conv=fdatasync + +Preparing the board +=================== + +Connect a TTL UART cable to pin 6 (GND), 8 (TX) and 10 (RX). + +Insert your SD card. + +Power-up the board using a 12V power supply. diff --git a/board/polyhex/debix-model-a/extlinux.conf.in b/board/polyhex/debix-model-a/extlinux.conf.in new file mode 100644 index 00000000000..ed6b881772f --- /dev/null +++ b/board/polyhex/debix-model-a/extlinux.conf.in @@ -0,0 +1,4 @@ +label buildroot + kernel /boot/Image + devicetree /boot/freescale/imx8mp-debix-model-a.dtb + append root=PARTUUID=%PARTUUID% rootwait rw diff --git a/board/polyhex/debix-model-a/genimage.cfg.in b/board/polyhex/debix-model-a/genimage.cfg.in new file mode 100644 index 00000000000..10c52548cdf --- /dev/null +++ b/board/polyhex/debix-model-a/genimage.cfg.in @@ -0,0 +1,17 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition imx-boot { + in-partition-table = "no" + image = "flash.bin" + offset = 32K + } + + partition rootfs { + offset = 8M + image = "rootfs.ext4" + partition-uuid = %PARTUUID% + } +} diff --git a/board/polyhex/debix-model-a/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/polyhex/debix-model-a/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..b5898cba3f9 --- /dev/null +++ b/board/polyhex/debix-model-a/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 06b35a3596b8417bf66f7bfdd7acd181bcb53fc36dc13216227b5cae154e0219 arm-trusted-firmware-v2.12-git4.tar.gz diff --git a/board/polyhex/debix-model-a/patches/linux-headers/linux-headers.hash b/board/polyhex/debix-model-a/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/polyhex/debix-model-a/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/polyhex/debix-model-a/patches/linux/linux.hash b/board/polyhex/debix-model-a/patches/linux/linux.hash new file mode 100644 index 00000000000..47eab71641b --- /dev/null +++ b/board/polyhex/debix-model-a/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 9423f4bfb4d875417e39cb0b017b5499fea47da56119f0cd28a201735d898f14 linux-6.12.14.tar.xz diff --git a/board/polyhex/debix-model-a/patches/uboot/uboot.hash b/board/polyhex/debix-model-a/patches/uboot/uboot.hash new file mode 100644 index 00000000000..50674352d71 --- /dev/null +++ b/board/polyhex/debix-model-a/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 cdef7d507c93f1bbd9f015ea9bc21fa074268481405501945abc6f854d5b686f u-boot-2025.01.tar.bz2 diff --git a/board/polyhex/debix-model-a/post-build.sh b/board/polyhex/debix-model-a/post-build.sh new file mode 100755 index 00000000000..604f387768d --- /dev/null +++ b/board/polyhex/debix-model-a/post-build.sh @@ -0,0 +1,7 @@ +#!/bin/sh +BOARD_DIR="$(dirname "$0")" +PARTUUID="$("$HOST_DIR"/bin/uuidgen)" + +install -d "$TARGET_DIR/boot/extlinux/" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/extlinux.conf.in" > "$TARGET_DIR/boot/extlinux/extlinux.conf" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/genimage.cfg.in" > "$BINARIES_DIR/genimage.cfg" diff --git a/board/polyhex/debix-model-a/readme.txt b/board/polyhex/debix-model-a/readme.txt new file mode 100644 index 00000000000..bea204520ef --- /dev/null +++ b/board/polyhex/debix-model-a/readme.txt @@ -0,0 +1,112 @@ +Polyhex Debix Model A +===================== + +DEBIX Model A is an industrial grade single board computer +powered by NXP i.MX 8M Plus applications processor + +https://www.debix.io/hardware/model-a.html +User Manual: [1] + + +How to build it +=============== + +Configure buildroot: + + $ make polyhex_debix_model_a_defconfig + +Change settings to fit your needs (optional): + + $ make menuconfig + +Compile everything and build the rootfs image: + + $ make + + +Result of the build +=================== + +After building, the output/images directory contains: + +output/images/ +├── bl31.bin +├── ddr_fw.bin -> /home/gilles/buildroot-dev/output/images/lpddr4_pmu_train_fw.bin +├── flash.bin +├── freescale +│   └── imx8mp-debix-model-a.dtb +├── genimage.cfg +├── Image +├── lpddr4_dmem_1d_v202201.bin +├── lpddr4_dmem_2d_v202201.bin +├── lpddr4_dmem_qb_v202201.bin +├── lpddr4_imem_1d_v202201.bin +├── lpddr4_imem_2d_v202201.bin +├── lpddr4_imem_qb_v202201.bin +├── lpddr4_pmu_train_1d_dmem_201904.bin +├── lpddr4_pmu_train_1d_dmem_202006.bin +├── lpddr4_pmu_train_1d_dmem.bin +├── lpddr4_pmu_train_1d_dmem_pad.bin +├── lpddr4_pmu_train_1d_fw.bin +├── lpddr4_pmu_train_1d_imem_201904.bin +├── lpddr4_pmu_train_1d_imem_202006.bin +├── lpddr4_pmu_train_1d_imem.bin +├── lpddr4_pmu_train_1d_imem_pad.bin +├── lpddr4_pmu_train_2d_dmem_201904.bin +├── lpddr4_pmu_train_2d_dmem_202006.bin +├── lpddr4_pmu_train_2d_dmem.bin +├── lpddr4_pmu_train_2d_dmem_pad.bin +├── lpddr4_pmu_train_2d_fw.bin +├── lpddr4_pmu_train_2d_imem_201904.bin +├── lpddr4_pmu_train_2d_imem_202006.bin +├── lpddr4_pmu_train_2d_imem.bin +├── lpddr4_pmu_train_2d_imem_pad.bin +├── lpddr4_pmu_train_fw.bin +├── lpddr4x_dmem_qb_v202306.bin +├── lpddr4x_dmem_qb_v202311.bin +├── lpddr4x_dmem_v202306.bin +├── lpddr4x_dmem_v202311.bin +├── lpddr4x_imem_qb_v202306.bin +├── lpddr4x_imem_qb_v202311.bin +├── lpddr4x_imem_v202306.bin +├── lpddr4x_imem_v202311.bin +├── rootfs.ext2 +├── rootfs.ext4 -> rootfs.ext2 +├── rootfs.tar +├── sdcard.img +├── u-boot.bin +└── u-boot-spl.bin + + +Flashing the SD card image +========================== + +To install the image on a SDCard simply copy sdcard.img to the storage (e.g. SD, eMMC) + + $ sudo dd if=output/images/sdcard.img of= + + +Booting the board +================= + +To boot your newly created system: +- insert the SD card in the SD slot of the board; +- if you use a Debix I/O daughter card, follow the instructions provided +in [2], section 3.1 for the hardware connection between the main board +and the I/O daughter card. Then, put a micro USB cable into the I/0 daughter card +Debug USB Port and connect using a terminal emulator at 115200 bps, 8n1; +- if you do not use a Debix I/O daughter card, connect a USB-to-TTL serial cable to +the 40-pin header (J2) on the main board, the following way: + USB-to-TTL cable GND pin to J2 pin 05 + USB-to-TTL cable TX pin to J2 pin 09 + USB-to-TTL cable RX pin to J2 pin 11 + connect using a terminal emulator at 115200 bps, 8n1; +- power on the board. + +Enjoy! + + +References +========== +[1] https://www.debix.io/Uploads/Temp/file/20250207/DEBIX%20User%20Manual-V3.5.pdf +[2] https://www.debix.io/Uploads/Temp/file/20241225/DEBIX%20IO%20Board%20User%20Manual-V1.1.pdf diff --git a/board/qemu/aarch64-ebbr/genimage.cfg b/board/qemu/aarch64-ebbr/genimage.cfg new file mode 100644 index 00000000000..1ca8332b9cd --- /dev/null +++ b/board/qemu/aarch64-ebbr/genimage.cfg @@ -0,0 +1,31 @@ +image efi-part.vfat { + vfat { + file EFI { + image = "efi-part/EFI" + } + + file Image { + image = "Image" + } + } + + size = 128M +} + +image disk.img { + hdimage { + partition-table-type = "gpt" + } + + partition boot { + image = "efi-part.vfat" + partition-type-uuid = U + offset = 32K + bootable = true + } + + partition root { + partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae + image = "rootfs.ext2" + } +} diff --git a/board/qemu/aarch64-ebbr/grub.cfg b/board/qemu/aarch64-ebbr/grub.cfg new file mode 100644 index 00000000000..d99e19c4cd5 --- /dev/null +++ b/board/qemu/aarch64-ebbr/grub.cfg @@ -0,0 +1,6 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /Image root=PARTLABEL=root rootwait +} diff --git a/board/qemu/aarch64-ebbr/post-image.sh b/board/qemu/aarch64-ebbr/post-image.sh new file mode 100755 index 00000000000..c884a8b6f66 --- /dev/null +++ b/board/qemu/aarch64-ebbr/post-image.sh @@ -0,0 +1,11 @@ +#!/bin/sh +set -eu + +BOARD_DIR=$(dirname "$0") + +# Create flash.bin TF-A FIP image from bl1.bin and fip.bin +dd if="${BINARIES_DIR}/bl1.bin" of="${BINARIES_DIR}/flash.bin" bs=1M +dd if="${BINARIES_DIR}/fip.bin" of="${BINARIES_DIR}/flash.bin" seek=64 bs=4096 conv=notrunc + +# Override the default GRUB configuration file with our own. +cp -f "${BOARD_DIR}/grub.cfg" "${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg" diff --git a/board/qemu/aarch64-ebbr/readme.txt b/board/qemu/aarch64-ebbr/readme.txt new file mode 100644 index 00000000000..15353a8f681 --- /dev/null +++ b/board/qemu/aarch64-ebbr/readme.txt @@ -0,0 +1,101 @@ +Introduction +============ + +The qemu_aarch64_ebbr_defconfig is meant to illustrate some aspects of the Arm +EBBR specification[1] and the Arm SystemReady IR[2] compliance program. +It allows building an AArch64 U-Boot based firmware implementing the subset of +UEFI defined by EBBR, as well as a Linux OS disk image booting with UEFI, to run +on Qemu. + +Building +======== + + $ make qemu_aarch64_ebbr_defconfig + $ make + +Generated files under output/images: + +* flash.bin: A firmware image comprising TF-A, OP-TEE and the U-Boot bootloader. + +* disk.img: An OS disk image comprising the GRUB bootloader, the Linux kernel + and the root filesystem. + +Running under Qemu +================== + +Run the emulation with: + + qemu-system-aarch64 \ + -M virt,secure=on,acpi=off \ + -bios output/images/flash.bin \ + -cpu cortex-a53 \ + -device virtio-blk-device,drive=hd0 \ + -device virtio-net-device,netdev=eth0 \ + -device virtio-rng-device,rng=rng0 \ + -drive file=output/images/disk.img,if=none,format=raw,id=hd0 \ + -m 2048 \ + -netdev user,id=eth0 \ + -nographic \ + -object rng-random,filename=/dev/urandom,id=rng0 \ + -rtc base=utc,clock=host \ + -smp 2 # qemu_aarch64_ebbr_defconfig + +The login prompt will appear in the terminal that started Qemu. + +Using the EBBR firmware to run another OS under Qemu +---------------------------------------------------- + +It is possible to use the generated firmware binary to install or run another OS +supporting the EBBR specification. + +To run another OS on emulation using a live or pre-installed image, use the same +Qemu command line as for the generated OS but adapt the OS image path in the +-drive stanza. +The image generated by the aarch64_efi_defconfig or the Arm ACS-IR images[3] are +examples of pre-installed OS images. + +To install another OS using an installer iso image, prepare a destination disk +image first with: + + qemu-img create -f qcow2 disk.qcow2 10G + +Then run the OS installer iso image on emulation with: + + qemu-system-aarch64 \ + -M virt,secure=on,acpi=off \ + -bios output/images/flash.bin \ + -cpu cortex-a53 \ + -device virtio-blk-device,drive=hd1 \ + -device virtio-blk-device,drive=hd0 \ + -device virtio-net-device,netdev=eth0 \ + -device virtio-rng-device,rng=rng0 \ + -drive file=,if=none,format=raw,readonly=on,id=hd0 \ + -drive file=disk.qcow2,if=none,id=hd1 \ + -m 2048 \ + -netdev user,id=eth0 \ + -nographic \ + -object rng-random,filename=/dev/urandom,id=rng0 \ + -rtc base=utc,clock=host \ + -smp 2 + +The installation medium will show up under the Linux OS installer as /dev/vda +and the destination disk as /dev/vdb. +To reboot into the installed OS, use the same Qemu command line as for the +installation, but without the two stanzas +referring to hd0. +Linux distributions such as Debian, Fedora, openSUSE or Ubuntu provide an OS +installer iso image. + +Miscellaneous +============= + +This configuration is inspired by the qemu_aarch64_virt_defconfig, the +aarch64_efi_defconfig and the Arm SystemReady IR IoT Integration, Test, and +Certification Guide[4]. + +Firmware update is currently not supported. + +[1]: https://github.com/ARM-software/ebbr +[2]: https://developer.arm.com/Architectures/Arm%20SystemReady%20IR +[3]: https://github.com/ARM-software/arm-systemready/tree/main/IR/prebuilt_images +[4]: https://developer.arm.com/documentation/DUI1101/latest/ diff --git a/board/qemu/aarch64-ebbr/u-boot.fragment b/board/qemu/aarch64-ebbr/u-boot.fragment new file mode 100644 index 00000000000..94aae9d2aae --- /dev/null +++ b/board/qemu/aarch64-ebbr/u-boot.fragment @@ -0,0 +1,34 @@ +CONFIG_BOOTM_EFI=y +CONFIG_CMD_BOOTEFI=y +CONFIG_CMD_BOOTEFI_HELLO=y +CONFIG_CMD_BOOTEFI_HELLO_COMPILE=y +CONFIG_CMD_BOOTEFI_SELFTEST=y +CONFIG_CMD_EFIDEBUG=y +CONFIG_CMD_EFI_VARIABLE_FILE_STORE=y +CONFIG_CMD_GPT=y +CONFIG_CMD_NVEDIT_EFI=y +CONFIG_CMD_RNG=y +CONFIG_CMD_RTC=y +CONFIG_DM_RTC=y +CONFIG_EFI_DEVICE_PATH_TO_TEXT=y +CONFIG_EFI_GET_TIME=y +CONFIG_EFI_HAVE_RUNTIME_RESET=y +CONFIG_EFI_LOADER=y +CONFIG_EFI_LOADER_HII=y +CONFIG_EFI_MM_COMM_TEE=y +CONFIG_EFI_PARTITION=y +CONFIG_EFI_SECURE_BOOT=y +CONFIG_EFI_SET_TIME=y +CONFIG_EFI_UNICODE_CAPITALIZATION=y +CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2=y +CONFIG_EFI_VARIABLE_FILE_STORE=y +CONFIG_FAT_WRITE=y +CONFIG_FIT=y +CONFIG_FS_FAT=y +CONFIG_OF_LIBFDT=y +CONFIG_OPTEE=y +CONFIG_PARTITION_TYPE_GUID=y +CONFIG_RNG_OPTEE=y +CONFIG_RTC_EMULATION=y +CONFIG_SCMI_FIRMWARE=y +CONFIG_TEE=y diff --git a/board/qemu/aarch64-sbsa/assemble-flash-images b/board/qemu/aarch64-sbsa/assemble-flash-images new file mode 100755 index 00000000000..abcc276b0bd --- /dev/null +++ b/board/qemu/aarch64-sbsa/assemble-flash-images @@ -0,0 +1,11 @@ +#!/bin/bash + +set -e + +BOARD_DIR="$(dirname $0)" + +cp -f ${BOARD_DIR}/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg + +# The QEMU sbsa machine expects flash devices to be 256M. +truncate -s 256M ${BINARIES_DIR}/SBSA_FLASH0.fd +truncate -s 256M ${BINARIES_DIR}/SBSA_FLASH1.fd diff --git a/board/qemu/aarch64-sbsa/genimage.cfg b/board/qemu/aarch64-sbsa/genimage.cfg new file mode 100644 index 00000000000..e7ac7f2ee1a --- /dev/null +++ b/board/qemu/aarch64-sbsa/genimage.cfg @@ -0,0 +1,31 @@ +image efi-part.vfat { + vfat { + file EFI { + image = "efi-part/EFI" + } + + file Image { + image = "Image" + } + } + + size = 64M +} + +image disk.img { + hdimage { + partition-table-type = "gpt" + } + + partition boot { + image = "efi-part.vfat" + partition-type-uuid = U + offset = 32K + bootable = true + } + + partition root { + partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae + image = "rootfs.ext2" + } +} diff --git a/board/qemu/aarch64-sbsa/grub.cfg b/board/qemu/aarch64-sbsa/grub.cfg new file mode 100644 index 00000000000..d99e19c4cd5 --- /dev/null +++ b/board/qemu/aarch64-sbsa/grub.cfg @@ -0,0 +1,6 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /Image root=PARTLABEL=root rootwait +} diff --git a/board/qemu/aarch64-sbsa/readme.txt b/board/qemu/aarch64-sbsa/readme.txt new file mode 100644 index 00000000000..acba9808a02 --- /dev/null +++ b/board/qemu/aarch64-sbsa/readme.txt @@ -0,0 +1,32 @@ +Intro +===== + +The QEMU sbsa-ref machine is primarily meant for firmware development +and testing according to ARM's SBSA and SBBR standards. + +Build +===== + + $ make qemu_aarch64_sbsa_defconfig + $ make + +Emulation +========= + +Run the emulation with: + + qemu-system-aarch64 \ + -M sbsa-ref \ + -cpu neoverse-n2 \ + -smp 4 \ + -m 1024 \ + -nographic \ + -pflash output/images/SBSA_FLASH0.fd \ + -pflash output/images/SBSA_FLASH1.fd \ + -hda output/images/disk.img # qemu_aarch64_sbsa_defconfig + +Note that if you want to run sbsa-ref emulation with QEMU provided by +your distro (i.e., not host-qemu by Buildroot) then you may need to +install the SeaBIOS package for some required drivers. On Debian: + + # apt install seabios diff --git a/board/qemu/aarch64-virt/linux-4.11.config b/board/qemu/aarch64-virt/linux-4.11.config deleted file mode 100644 index 93cb42f2ea4..00000000000 --- a/board/qemu/aarch64-virt/linux-4.11.config +++ /dev/null @@ -1,56 +0,0 @@ -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_FHANDLE=y -CONFIG_NO_HZ_IDLE=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_TASKSTATS=y -CONFIG_SCHED_AUTOGROUP=y -CONFIG_PROFILING=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_BLK_DEV_BSGLIB=y -CONFIG_ARCH_VEXPRESS=y -CONFIG_SMP=y -CONFIG_TRANSPARENT_HUGEPAGE=y -CONFIG_BINFMT_MISC=y -CONFIG_COMPAT=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_PACKET_DIAG=y -CONFIG_UNIX=y -CONFIG_NET_KEY=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_ADVANCED_ROUTER=y -CONFIG_BRIDGE=m -CONFIG_NET_SCHED=y -CONFIG_VSOCKETS=y -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -CONFIG_VIRTIO_BLK=y -CONFIG_BLK_DEV_SD=y -CONFIG_CHR_DEV_SG=y -CONFIG_SCSI_CONSTANTS=y -CONFIG_SCSI_LOGGING=y -CONFIG_SCSI_SCAN_ASYNC=y -CONFIG_SCSI_VIRTIO=y -CONFIG_ATA=y -CONFIG_NETDEVICES=y -CONFIG_DUMMY=y -CONFIG_MACVLAN=y -CONFIG_VIRTIO_NET=y -CONFIG_NLMON=y -CONFIG_VT_HW_CONSOLE_BINDING=y -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -CONFIG_VIRTIO_CONSOLE=y -CONFIG_HW_RANDOM=y -CONFIG_HW_RANDOM_VIRTIO=y -CONFIG_RTC_CLASS=y -CONFIG_VIRTIO_MMIO=y -CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y -CONFIG_MAILBOX=y -CONFIG_PL320_MBOX=y -CONFIG_EXT4_FS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/aarch64-virt/linux.config b/board/qemu/aarch64-virt/linux.config new file mode 100644 index 00000000000..971b9fcf868 --- /dev/null +++ b/board/qemu/aarch64-virt/linux.config @@ -0,0 +1,76 @@ +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_TASKSTATS=y +CONFIG_MEMCG=y +CONFIG_BLK_CGROUP=y +CONFIG_CPUSETS=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_PROFILING=y +CONFIG_ARCH_VEXPRESS=y +CONFIG_COMPAT=y +CONFIG_ACPI=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_BLK_DEV_BSGLIB=y +CONFIG_BINFMT_MISC=y +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_PACKET_DIAG=y +CONFIG_UNIX=y +CONFIG_NET_KEY=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_BRIDGE=m +CONFIG_NET_SCHED=y +CONFIG_VSOCKETS=y +CONFIG_PCI=y +CONFIG_PCI_HOST_GENERIC=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_FW_CFG_SYSFS=y +CONFIG_FW_CFG_SYSFS_CMDLINE=y +CONFIG_VIRTIO_BLK=y +CONFIG_BLK_DEV_SD=y +CONFIG_CHR_DEV_SG=y +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_VIRTIO=y +CONFIG_ATA=y +CONFIG_NETDEVICES=y +CONFIG_DUMMY=y +CONFIG_MACVLAN=y +CONFIG_VIRTIO_NET=y +CONFIG_NLMON=y +CONFIG_INPUT_EVDEV=y +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_VIRTIO=y +CONFIG_TCG_TPM=y +CONFIG_TCG_TIS=y +CONFIG_DRM=y +CONFIG_DRM_VIRTIO_GPU=y +CONFIG_FB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_PL031=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_INPUT=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y +CONFIG_MAILBOX=y +CONFIG_PL320_MBOX=y +CONFIG_ARM_SMMU_V3=y +CONFIG_EXT4_FS=y +CONFIG_FUSE_FS=y +CONFIG_VIRTIO_FS=y +CONFIG_OVERLAY_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/aarch64-virt/readme.txt b/board/qemu/aarch64-virt/readme.txt index ece8a536a73..db35a3a7a86 100644 --- a/board/qemu/aarch64-virt/readme.txt +++ b/board/qemu/aarch64-virt/readme.txt @@ -1,7 +1,5 @@ Run the emulation with: - qemu-system-aarch64 -M virt -cpu cortex-a57 -nographic -smp 1 -kernel output/images/Image -append "console=ttyAMA0" -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 + qemu-system-aarch64 -M virt -cpu cortex-a53 -nographic -smp 1 -kernel output/images/Image -append "rootwait root=/dev/vda console=ttyAMA0" -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 -drive file=output/images/rootfs.ext4,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 # qemu_aarch64_virt_defconfig The login prompt will appear in the terminal that started Qemu. - -Tested with QEMU 2.9.0 diff --git a/board/qemu/arm-ebbr/genimage.cfg b/board/qemu/arm-ebbr/genimage.cfg new file mode 100644 index 00000000000..3d4c9cff1ad --- /dev/null +++ b/board/qemu/arm-ebbr/genimage.cfg @@ -0,0 +1,31 @@ +image efi-part.vfat { + vfat { + file EFI { + image = "efi-part/EFI" + } + + file zImage { + image = "zImage" + } + } + + size = 128M +} + +image disk.img { + hdimage { + partition-table-type = "gpt" + } + + partition boot { + image = "efi-part.vfat" + partition-type-uuid = U + offset = 32K + bootable = true + } + + partition root { + partition-type-uuid = 69dad710-2ce4-4e3c-b16c-21a1d49abed3 + image = "rootfs.ext2" + } +} diff --git a/board/qemu/arm-ebbr/grub.cfg b/board/qemu/arm-ebbr/grub.cfg new file mode 100644 index 00000000000..ab3a6ec26b0 --- /dev/null +++ b/board/qemu/arm-ebbr/grub.cfg @@ -0,0 +1,6 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /zImage root=PARTLABEL=root rootwait +} diff --git a/board/qemu/arm-ebbr/linux.fragment b/board/qemu/arm-ebbr/linux.fragment new file mode 100644 index 00000000000..07554cf843d --- /dev/null +++ b/board/qemu/arm-ebbr/linux.fragment @@ -0,0 +1,2 @@ +CONFIG_TEE=y +CONFIG_OPTEE=y diff --git a/board/qemu/arm-ebbr/post-image.sh b/board/qemu/arm-ebbr/post-image.sh new file mode 100755 index 00000000000..c884a8b6f66 --- /dev/null +++ b/board/qemu/arm-ebbr/post-image.sh @@ -0,0 +1,11 @@ +#!/bin/sh +set -eu + +BOARD_DIR=$(dirname "$0") + +# Create flash.bin TF-A FIP image from bl1.bin and fip.bin +dd if="${BINARIES_DIR}/bl1.bin" of="${BINARIES_DIR}/flash.bin" bs=1M +dd if="${BINARIES_DIR}/fip.bin" of="${BINARIES_DIR}/flash.bin" seek=64 bs=4096 conv=notrunc + +# Override the default GRUB configuration file with our own. +cp -f "${BOARD_DIR}/grub.cfg" "${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg" diff --git a/board/qemu/arm-ebbr/readme.txt b/board/qemu/arm-ebbr/readme.txt new file mode 100644 index 00000000000..19e114579f2 --- /dev/null +++ b/board/qemu/arm-ebbr/readme.txt @@ -0,0 +1,70 @@ +Introduction +============ + +The qemu_arm_ebbr_defconfig is meant to illustrate some aspects of the Arm +EBBR specification[1] and the Arm SystemReady IR[2] compliance program. +It allows building a 32b ARMv7-A U-Boot based firmware implementing the subset +of UEFI defined by EBBR, as well as a Linux OS disk image booting with UEFI, to +run on Qemu. + +Building +======== + + $ make qemu_arm_ebbr_defconfig + $ make + +Generated files under output/images: + +* flash.bin: A firmware image comprising TF-A, OP-TEE and the U-Boot bootloader. + +* disk.img: An OS disk image comprising the GRUB bootloader, the Linux kernel + and the root filesystem. + +Running under Qemu +================== + +Run the emulation with: + + qemu-system-arm \ + -M virt,secure=on,acpi=off \ + -bios output/images/flash.bin \ + -cpu cortex-a15 \ + -device virtio-blk-device,drive=hd0 \ + -device virtio-net-device,netdev=eth0 \ + -device virtio-rng-device,rng=rng0 \ + -drive file=output/images/disk.img,if=none,format=raw,id=hd0 \ + -m 1024 \ + -netdev user,id=eth0 \ + -nographic \ + -object rng-random,filename=/dev/urandom,id=rng0 \ + -rtc base=utc,clock=host \ + -smp 2 # qemu_arm_ebbr_defconfig + +The login prompt will appear in the terminal that started Qemu. + +Using the EBBR firmware to run another OS under Qemu +---------------------------------------------------- + +It is possible to use the generated firmware binary to run another OS +supporting the EBBR specification. + +To run another OS on emulation using a live or pre-installed image, use the same +Qemu command line as for the generated OS but adapt the OS image path in the +-drive stanza. +The 32b Arm ACS-IR image[3] is an example of a pre-installed OS image. +Linux distributions such as Debian or openSUSE provide a pre-installed OS +image. + +Miscellaneous +============= + +This configuration is inspired by the qemu_arm_vexpress_tz_defconfig, the +qemu_aarch64_ebbr_defconfig and the Arm SystemReady IR IoT Integration, Test, +and Certification Guide[4]. + +Firmware update is currently not supported. + +[1]: https://github.com/ARM-software/ebbr +[2]: https://developer.arm.com/Architectures/Arm%20SystemReady%20IR +[3]: https://github.com/ARM-software/arm-systemready/tree/main/IR/prebuilt_images +[4]: https://developer.arm.com/documentation/DUI1101/latest/ diff --git a/board/qemu/arm-ebbr/u-boot.fragment b/board/qemu/arm-ebbr/u-boot.fragment new file mode 100644 index 00000000000..66fe910f169 --- /dev/null +++ b/board/qemu/arm-ebbr/u-boot.fragment @@ -0,0 +1,35 @@ +CONFIG_BOOTM_EFI=y +CONFIG_CMD_BOOTEFI=y +CONFIG_CMD_BOOTEFI_HELLO=y +CONFIG_CMD_BOOTEFI_HELLO_COMPILE=y +CONFIG_CMD_BOOTEFI_SELFTEST=y +CONFIG_CMD_EFIDEBUG=y +CONFIG_CMD_EFI_VARIABLE_FILE_STORE=y +CONFIG_CMD_GPT=y +CONFIG_CMD_NVEDIT_EFI=y +CONFIG_CMD_RNG=y +CONFIG_CMD_RTC=y +CONFIG_DM_RTC=y +CONFIG_EFI_DEVICE_PATH_TO_TEXT=y +CONFIG_EFI_GET_TIME=y +CONFIG_EFI_HAVE_RUNTIME_RESET=y +CONFIG_EFI_LOADER=y +CONFIG_EFI_LOADER_HII=y +CONFIG_EFI_MM_COMM_TEE=y +CONFIG_EFI_PARTITION=y +CONFIG_EFI_SECURE_BOOT=y +CONFIG_EFI_SET_TIME=y +CONFIG_EFI_UNICODE_CAPITALIZATION=y +CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2=y +CONFIG_EFI_VARIABLE_FILE_STORE=y +CONFIG_FAT_WRITE=y +CONFIG_FIT=y +CONFIG_FS_FAT=y +CONFIG_OF_LIBFDT=y +CONFIG_OPTEE=y +CONFIG_PARTITION_TYPE_GUID=y +CONFIG_RNG_OPTEE=y +CONFIG_RTC_EMULATION=y +CONFIG_SCMI_FIRMWARE=y +CONFIG_TEE=y +CONFIG_TEXT_BASE=0x60000000 diff --git a/board/qemu/arm-versatile/linux-4.13.config b/board/qemu/arm-versatile/linux-4.13.config deleted file mode 100644 index b1001d84a7d..00000000000 --- a/board/qemu/arm-versatile/linux-4.13.config +++ /dev/null @@ -1,43 +0,0 @@ -CONFIG_SYSVIPC=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_ARCH_MULTI_V7 is not set -CONFIG_ARCH_VERSATILE=y -CONFIG_PCI=y -CONFIG_PCI_VERSATILE=y -CONFIG_AEABI=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_SCSI=y -CONFIG_BLK_DEV_SD=y -CONFIG_SCSI_SYM53C8XX_2=y -CONFIG_NETDEVICES=y -CONFIG_8139CP=y -CONFIG_PHYLIB=y -CONFIG_INPUT_EVDEV=y -CONFIG_SERIO_AMBAKMI=y -CONFIG_LEGACY_PTY_COUNT=16 -CONFIG_SERIAL_8250=m -CONFIG_SERIAL_8250_EXTENDED=y -CONFIG_SERIAL_8250_MANY_PORTS=y -CONFIG_SERIAL_8250_SHARE_IRQ=y -CONFIG_SERIAL_8250_RSA=y -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=m -CONFIG_FB=y -CONFIG_FB_ARMCLCD=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_SOUND=y -CONFIG_SND=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_ARMAACI=m -CONFIG_EXT4_FS=y -CONFIG_VFAT_FS=m -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_MAGIC_SYSRQ=y diff --git a/board/qemu/arm-versatile/linux-4.4-nommu.config b/board/qemu/arm-versatile/linux-4.4-nommu.config deleted file mode 100644 index e1264dca00f..00000000000 --- a/board/qemu/arm-versatile/linux-4.4-nommu.config +++ /dev/null @@ -1,46 +0,0 @@ -# CONFIG_MMU is not set -CONFIG_ARCH_VERSATILE=y -CONFIG_SET_MEM_PARAM=y -CONFIG_DRAM_BASE=0x00000000 -CONFIG_DRAM_SIZE=0x08000000 -CONFIG_ARCH_VERSATILE_PB=y -CONFIG_MACH_VERSATILE_AB=y -# CONFIG_MACH_VERSATILE_DT is not set -CONFIG_BINFMT_FLAT=y -CONFIG_SYSVIPC=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_ARCH_MULTI_V7 is not set -CONFIG_AEABI=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_NETDEVICES=y -CONFIG_SMC91X=y -CONFIG_PHYLIB=y -CONFIG_INPUT_EVDEV=y -CONFIG_SERIO_AMBAKMI=y -CONFIG_LEGACY_PTY_COUNT=16 -CONFIG_SERIAL_8250=m -CONFIG_SERIAL_8250_EXTENDED=y -CONFIG_SERIAL_8250_MANY_PORTS=y -CONFIG_SERIAL_8250_SHARE_IRQ=y -CONFIG_SERIAL_8250_RSA=y -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=m -CONFIG_FB=y -CONFIG_FB_ARMCLCD=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_SOUND=y -CONFIG_SND=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_ARMAACI=m -CONFIG_EXT4_FS=y -CONFIG_VFAT_FS=m -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_MAGIC_SYSRQ=y diff --git a/board/qemu/arm-versatile/linux.fragment b/board/qemu/arm-versatile/linux.fragment new file mode 100644 index 00000000000..0aed5583155 --- /dev/null +++ b/board/qemu/arm-versatile/linux.fragment @@ -0,0 +1,66 @@ +# CONFIG_BLK_DEV_INITRD is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_CMA is not set +# CONFIG_CRAMFS is not set +CONFIG_CMDLINE="" +CONFIG_CRC16=y +CONFIG_CRYPTO=y +# CONFIG_DEBUG_FS is not set +# CONFIG_DEBUG_KERNEL is not set +# CONFIG_DEBUG_USER is not set +CONFIG_DEVTMPFS=y +# CONFIG_DRM is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EXT2_FS is not set +CONFIG_EXT4_FS=y +CONFIG_FB_ARMCLCD=y +# CONFIG_FONTS is not set +CONFIG_FONT_8x16=y +CONFIG_FONT_8x8=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FTRACE is not set +# CONFIG_GPIOLIB is not set +# CONFIG_HIGH_RES_TIMERS is not set +CONFIG_HWMON=y +CONFIG_HZ_PERIODIC=y +# CONFIG_I2C_VERSATILE is not set +CONFIG_INET_DIAG=y +CONFIG_INPUT_EVDEV=y +CONFIG_IPV6=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_PNP is not set +CONFIG_LOCALVERSION_AUTO=y +# CONFIG_LOGO is not set +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_MDIO_DEVICE=y +# CONFIG_MINIX_FS is not set +# CONFIG_MMC is not set +# CONFIG_MTD is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_NFSD is not set +# CONFIG_NFS_FS is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_ISO8859_1 is not set +# CONFIG_NO_HZ_IDLE is not set +# CONFIG_NVMEM is not set +# CONFIG_OABI_COMPAT is not set +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_PCI=y +CONFIG_PCI_VERSATILE=y +CONFIG_PHYLIB=y +# CONFIG_ROMFS_FS is not set +# CONFIG_RTC_CLASS is not set +CONFIG_SCSI=y +CONFIG_SCSI_SPI_ATTRS=y +CONFIG_SCSI_SYM53C8XX_2=y +CONFIG_SERIO_SERPORT=y +CONFIG_SLUB=y +# CONFIG_SPI is not set +# CONFIG_SYNC_FILE is not set +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +# CONFIG_VFP is not set +# CONFIG_XZ_DEC is not set +CONFIG_8139CP=y +CONFIG_BLK_DEV_SD=y diff --git a/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch b/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch deleted file mode 100644 index 961b6c3dd14..00000000000 --- a/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch +++ /dev/null @@ -1,30 +0,0 @@ -From b7c1666813424d329868335c8faf8886b0f85b6c Mon Sep 17 00:00:00 2001 -From: Greg Ungerer -Date: Thu, 11 Aug 2016 21:33:11 +1000 -Subject: [PATCH] arm: fix versatile platform to work in no-MMU mode - -If CONFIG_MMU is disabled then do not carry out the virtual memory address -translation for IO devices. - -With this fix in place we can run the ARM Versatile board (including its -qemu emulation) as a no-MMU Linux system. - -Signed-off-by: Greg Ungerer -Signed-off-by: Waldemar Brodkorb - -diff -Nur linux-4.4.17.orig/arch/arm/mach-versatile/include/mach/hardware.h linux-4.4.17/arch/arm/mach-versatile/include/mach/hardware.h ---- linux-4.4.17.orig/arch/arm/mach-versatile/include/mach/hardware.h 2016-08-10 11:49:43.000000000 +0200 -+++ linux-4.4.17/arch/arm/mach-versatile/include/mach/hardware.h 2016-08-25 23:19:03.691716292 +0200 -@@ -30,8 +30,12 @@ - #define VERSATILE_PCI_VIRT_BASE (void __iomem *)0xe8000000ul - #define VERSATILE_PCI_CFG_VIRT_BASE (void __iomem *)0xe9000000ul - -+#ifdef CONFIG_MMU - /* macro to get at MMIO space when running virtually */ - #define IO_ADDRESS(x) (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + 0xf0000000) -+#else -+#define IO_ADDRESS(x) (x) -+#endif - - #define __io_address(n) ((void __iomem __force *)IO_ADDRESS(n)) - diff --git a/board/qemu/arm-versatile/readme.txt b/board/qemu/arm-versatile/readme.txt index 6e899f4b5f8..757ef378e95 100644 --- a/board/qemu/arm-versatile/readme.txt +++ b/board/qemu/arm-versatile/readme.txt @@ -1,12 +1,6 @@ Run the emulation with: - qemu-system-arm -M versatilepb -kernel output/images/zImage -dtb output/images/versatile-pb.dtb -drive file=output/images/rootfs.ext2,if=scsi,format=raw -append "root=/dev/sda console=ttyAMA0,115200" -serial stdio -net nic,model=rtl8139 -net user - -Or for the noMMU emulation: - - qemu-system-arm -M versatilepb -kernel output/images/zImage -append "console=ttyAMA0,115200" -serial stdio -net user -net nic,model=smc91c111 + qemu-system-arm -M versatilepb -kernel output/images/zImage -dtb output/images/versatile-pb.dtb -drive file=output/images/rootfs.ext2,if=scsi,format=raw -append "rootwait root=/dev/sda console=ttyAMA0,115200" -serial stdio -net nic,model=rtl8139 -net user # qemu_arm_versatile_defconfig The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. - -Tested with QEMU 2.9.0 diff --git a/board/qemu/arm-vexpress-tz/linux.fragment b/board/qemu/arm-vexpress-tz/linux.fragment new file mode 100644 index 00000000000..1537d938f12 --- /dev/null +++ b/board/qemu/arm-vexpress-tz/linux.fragment @@ -0,0 +1,3 @@ +### Enable OP-TEE +CONFIG_TEE=y +CONFIG_OPTEE=y diff --git a/board/qemu/arm-vexpress-tz/post-build.sh b/board/qemu/arm-vexpress-tz/post-build.sh new file mode 100755 index 00000000000..97cc53791c1 --- /dev/null +++ b/board/qemu/arm-vexpress-tz/post-build.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +set -u +set -e + +# Create flash.bin TF-A FIP image from bl1.bin and fip.bin +cd "$BINARIES_DIR" +dd if=bl1.bin of=flash.bin bs=4096 +dd if=fip.bin of=flash.bin seek=64 bs=4096 conv=notrunc diff --git a/board/qemu/arm-vexpress-tz/readme.txt b/board/qemu/arm-vexpress-tz/readme.txt new file mode 100644 index 00000000000..920777afd46 --- /dev/null +++ b/board/qemu/arm-vexpress-tz/readme.txt @@ -0,0 +1,135 @@ +Board qemu_arm_vexpress_tz builds a QEMU ARMv7-A target system with +OP-TEE running in the TrustZone secure world and a Linux based +OS running in the non-secure world. The board configuration enables +builds of the QEMU host ARM target emulator. + + make qemu_arm_vexpress_tz_defconfig + make + +The BIOS used in the QEMU host is the ARM Trusted Firmware-A (TF-A). +In our configuration, U-Boot uses QEMU semihosting file access to load the +kernel and rootfs image files. For this reason the emulation needs to be run +from the image directory: + + cd output/images && ../host/bin/qemu-system-arm \ + -machine virt -machine secure=on -cpu cortex-a15 \ + -smp 1 -s -m 1024 -d unimp \ + -serial stdio \ + -netdev user,id=vmnic -device virtio-net-device,netdev=vmnic \ + -semihosting-config enable=on,target=native \ + -bios flash.bin # qemu_arm_vexpress_tz_defconfig + +The boot stage traces (if any) followed by the login prompt will appear +in the terminal that started QEMU. + +If you want to emulate more cores, use "-smp {1|2|3|4}" to select the +number of cores. + +Note: "-netdev user,id=vmnic -device virtio-net-device,netdev=vmnic" +brings network support that is used e.g. in OP-TEE regression tests. + + +-- Boot Details -- + +TF-A is used as QEMU BIOS. Its BL1 image boots and load its BL2 image. In turn, +this image loads the OP-TEE secure world (ARMv7-A BL32 stage) and the U-boot as +non-secure bootloader (BL33 stage). + +QEMU natively hosts and loads in RAM the QEMU ARM target device tree. OP-TEE +reads and modifies its content according to OP-TEE configuration. + +Enable TF-A traces from LOG_LEVEL (e.g. LOG_LEVEL=40) from +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES. + + +-- OP-TEE Traces -- + +Secure boot stages and/or secure runtime services may use a serial link for +their traces. + +The ARM Trusted Firmware outputs its traces on the QEMU standard (first) +serial interface. + +The OP-TEE OS uses the QEMU second serial interface. + +To get the OP-TEE OS traces, append a second -serial argument after +-serial stdio in the QEMU command line. E.g., the following enables 2 serial +consoles over telnet connections: + + cd output/images && ../host/bin/qemu-system-arm \ + -machine virt -machine secure=on -cpu cortex-a15 \ + -smp 1 -s -m 1024 -d unimp \ + -serial telnet:127.0.0.1:1235,server \ + -serial telnet:127.0.0.1:1236,server \ + -netdev user,id=vmnic -device virtio-net-device,netdev=vmnic \ + -semihosting-config enable=on,target=native \ + -bios flash.bin + +QEMU is now waiting for the telnet connection. From another shell, open a +telnet connection on the port for the U-boot and Linux consoles: + + telnet 127.0.0.1 1235 + +and again for the secure console + + telnet 127.0.0.1 1236 + + +-- Using gdb -- + +One can debug the OP-TEE secure world using GDB through the QEMU host. +To do so, simply run the qemu-system-arm emulation, then run a GDB client +and connect the QEMU internal GDB server. + +The example below assumes we run QEMU and the GDB client from the same +host computer. We use option -S of qemu-system-arm to make QEMU +waiting for the GDB continue instruction before booting the images. + +From a first shell: + cd output/images && ../host/bin/qemu-system-arm \ + -machine virt -machine secure=on -cpu cortex-a15 \ + -smp 1 -s -m 1024 -d unimp \ + -serial stdio \ + -netdev user,id=vmnic -device virtio-net-device,netdev=vmnic \ + -semihosting-config enable=on,target=native \ + -bios flash.bin \ + -S + +From a second shell: + ./output/host/bin/arm-linux-gdb + GNU gdb (GNU Toolchain for the A-profile Architecture 8.2-2018-08 (arm-rel-8.23)) 8.1.1.20180704-git + Copyright (C) 2018 Free Software Foundation, Inc. + ... + For help, type "help". + Type "apropos word" to search for commands related to "word". + (gdb) + +From this GDB console, connect to the target, load the OP-TEE core symbols, +set a breakpoint to its entry point (__text_start) and start emulation: + + (gdb) target remote 127.0.0.1:1234 + (gdb) symbol-file ./output/build/optee-os-/out/core/tee.elf + (gdb) hbreak __text_start + Hardware assisted breakpoint 1 at 0xe100000: file core/arch/arm/kernel/generic_entry_a32.S, line 246. + (gdb) cont + Continuing. + + Thread 1 hit Breakpoint 1, _start () at core/arch/arm/kernel/generic_entry_a32.S:246 + 246 bootargs_entry + (gdb) + + +Emulation has started, TF-A has loaded OP-TEE and U-boot images in memory and +has booted OP-TEE. Emulation stopped at OP-TEE core entry. + +Note: QEMU hosts a GDB service listening to TCP port 1234, as set through +qemu-system-arm command line option -S. + +Note: To build the GDB server, the following extra options have to be added to +the Buildroot configuration: + + BR2_ENABLE_DEBUG=y + BR2_PACKAGE_GDB=y + BR2_PACKAGE_HOST_GDB=y + BR2_TOOLCHAIN_BUILDROOT_CXX=y + BR2_TOOLCHAIN_BUILDROOT_GLIBC=y diff --git a/board/qemu/arm-vexpress-tz/u-boot.config b/board/qemu/arm-vexpress-tz/u-boot.config new file mode 100644 index 00000000000..48b1d06fdbb --- /dev/null +++ b/board/qemu/arm-vexpress-tz/u-boot.config @@ -0,0 +1,8 @@ +CONFIG_SYS_TEXT_BASE=0x60000000 +CONFIG_BOOTCOMMAND="smhload zImage ${kernel_addr_r} && smhload rootfs.cpio.uboot ${ramdisk_addr_r} && setenv bootargs console=ttyAMA0,115200 earlyprintk=serial,ttyAMA0,115200 && bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr}" +CONFIG_SEMIHOSTING=y +# Drop flash accesses +CONFIG_ENV_IS_IN_FLASH=n +CONFIG_MTD=n +CONFIG_MTD_NOR_FLASH=n +CONFIG_ENV_IS_NOWHERE=y diff --git a/board/qemu/arm-vexpress/readme.txt b/board/qemu/arm-vexpress/readme.txt index 57bb8141980..8d1bb72f839 100644 --- a/board/qemu/arm-vexpress/readme.txt +++ b/board/qemu/arm-vexpress/readme.txt @@ -1,11 +1,9 @@ Run the emulation with: - qemu-system-arm -M vexpress-a9 -smp 1 -m 256 -kernel output/images/zImage -dtb output/images/vexpress-v2p-ca9.dtb -drive file=output/images/rootfs.ext2,if=sd,format=raw -append "console=ttyAMA0,115200 root=/dev/mmcblk0" -serial stdio -net nic,model=lan9118 -net user + qemu-system-arm -M vexpress-a9 -smp 1 -m 256 -kernel output/images/zImage -dtb output/images/vexpress-v2p-ca9.dtb -drive file=output/images/rootfs.ext2,if=sd,format=raw -append "console=ttyAMA0,115200 rootwait root=/dev/mmcblk0" -serial stdio -net nic,model=lan9118 -net user # qemu_arm_vexpress_defconfig The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. If you want to emulate more cores change "-smp 1" to "-smp 2" for dual-core or even "smp -4" for a quad-core configuration. - -Tested with QEMU 2.9.0 diff --git a/board/qemu/hppa-b160l/readme.txt b/board/qemu/hppa-b160l/readme.txt new file mode 100644 index 00000000000..052ca9b8483 --- /dev/null +++ b/board/qemu/hppa-b160l/readme.txt @@ -0,0 +1,33 @@ +Introduction +============ + +The qemu_hppa_b160l_defconfig is meant to run Linux on a HP Visualize B160L +PA-RISC Workstation[1], emulated with Qemu. + +Building +======== + + $ make qemu_hppa_b160l_defconfig + $ make + +Generated files under output/images: + +* rootfs.ext4: the root filesystem. +* vmlinux: the Linux kernel. + +Running under Qemu +================== + +Run the emulation with: + + qemu-system-hppa \ + -machine B160L \ + -append "rootwait root=/dev/sda" \ + -hda output/images/rootfs.ext4 \ + -kernel output/images/vmlinux \ + -nographic \ + -smp 2 # qemu_hppa_b160l_defconfig + +The login prompt will appear in the terminal that started Qemu. + +[1] https://www.openpa.net/systems/hp-visualize_b132l_b160l_b180l.html diff --git a/board/qemu/loongarch64-virt-efi/genimage.cfg b/board/qemu/loongarch64-virt-efi/genimage.cfg new file mode 100644 index 00000000000..24b9a8d943f --- /dev/null +++ b/board/qemu/loongarch64-virt-efi/genimage.cfg @@ -0,0 +1,30 @@ +image efi-part.vfat { + vfat { + file EFI { + image = "efi-part/EFI" + } + file vmlinux.efi { + image = "vmlinux.efi" + } + } + + size = 64M +} + +image disk.img { + hdimage { + partition-table-type = "gpt" + } + + partition boot { + image = "efi-part.vfat" + partition-type-uuid = U + offset = 32K + bootable = true + } + + partition root { + partition-type-uuid = root-loongarch64 + image = "rootfs.ext2" + } +} diff --git a/board/qemu/loongarch64-virt-efi/grub.cfg b/board/qemu/loongarch64-virt-efi/grub.cfg new file mode 100644 index 00000000000..dc3452fe6a3 --- /dev/null +++ b/board/qemu/loongarch64-virt-efi/grub.cfg @@ -0,0 +1,6 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /vmlinux.efi root=PARTLABEL=root rootwait console=ttyS0 +} diff --git a/board/qemu/loongarch64-virt-efi/post-image.sh b/board/qemu/loongarch64-virt-efi/post-image.sh new file mode 100755 index 00000000000..fdb17ece700 --- /dev/null +++ b/board/qemu/loongarch64-virt-efi/post-image.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +cp -f "${BOARD_DIR}/grub.cfg" "${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg" diff --git a/board/qemu/loongarch64-virt-efi/readme.txt b/board/qemu/loongarch64-virt-efi/readme.txt new file mode 100644 index 00000000000..7c35ee1efe5 --- /dev/null +++ b/board/qemu/loongarch64-virt-efi/readme.txt @@ -0,0 +1,31 @@ +Intro +===== + +This is a LoongArch 64bit UEFI Linux boot demo in QEMU virt machine. + +Build +===== + + make qemu_loongarch64_virt-efi_defconfig + make + +Emulation +========= + +Run the emulation with: + + qemu-system-loongarch64 \ + -M virt \ + -smp 2 \ + -m 1024 \ + -nographic \ + -bios output/images/QEMU_EFI.fd \ + -drive file=output/images/disk.img,format=raw \ + -netdev user,id=net0 \ + -device virtio-net-pci,netdev=net0 # qemu_loongarch64_virt_efi_defconfig + +Note: for information, qemu version >= 9.0.0 is needed for this UEFI +Linux demo. The host-qemu package in Buildroot (enabled in this +defconfig) is sufficient to run this demo. In case another qemu is +used (for example, from the host OS), make sure to check the version +requirement. diff --git a/board/qemu/m68k-mcf5208/linux-4.11.config b/board/qemu/m68k-mcf5208/linux.config similarity index 100% rename from board/qemu/m68k-mcf5208/linux-4.11.config rename to board/qemu/m68k-mcf5208/linux.config diff --git a/board/qemu/m68k-mcf5208/readme.txt b/board/qemu/m68k-mcf5208/readme.txt index 014a0dc09fd..79bf7146a21 100644 --- a/board/qemu/m68k-mcf5208/readme.txt +++ b/board/qemu/m68k-mcf5208/readme.txt @@ -1,7 +1,5 @@ Run the emulation with: - qemu-system-m68k -M mcf5208evb -cpu m5208 -kernel output/images/vmlinux -nographic + qemu-system-m68k -M mcf5208evb -cpu m5208 -kernel output/images/vmlinux -nographic # qemu_m68k_mcf5208_defconfig The login prompt will appear in the terminal that started Qemu. - -Tested with QEMU 2.9.0 diff --git a/board/qemu/m68k-q800/linux-4.11.config b/board/qemu/m68k-q800/linux.config similarity index 100% rename from board/qemu/m68k-q800/linux-4.11.config rename to board/qemu/m68k-q800/linux.config diff --git a/board/qemu/m68k-q800/readme.txt b/board/qemu/m68k-q800/readme.txt index 78267a318f4..f1db57d52b7 100644 --- a/board/qemu/m68k-q800/readme.txt +++ b/board/qemu/m68k-q800/readme.txt @@ -1,8 +1,5 @@ Run the emulation with: - qemu-system-m68k -M q800 -kernel output/images/vmlinux -nographic -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/sda console=ttyS0" + qemu-system-m68k -M q800 -kernel output/images/vmlinux -nographic -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda console=ttyS0" # qemu_m68k_q800_defconfig The login prompt will appear in the terminal that started Qemu. - -Tested with QEMU 2.4.0 from https://github.com/vivier/qemu-m68k -You need following branch: q800-v2.4.0 diff --git a/board/qemu/microblazebe-mmu/linux-4.11.config b/board/qemu/microblazebe-mmu/linux.config similarity index 100% rename from board/qemu/microblazebe-mmu/linux-4.11.config rename to board/qemu/microblazebe-mmu/linux.config diff --git a/board/qemu/microblazebe-mmu/readme.txt b/board/qemu/microblazebe-mmu/readme.txt index cf0afdaff85..7bb986422c6 100644 --- a/board/qemu/microblazebe-mmu/readme.txt +++ b/board/qemu/microblazebe-mmu/readme.txt @@ -1,7 +1,5 @@ Run the emulation with: - qemu-system-microblaze -M petalogix-s3adsp1800 -kernel output/images/linux.bin -serial stdio + qemu-system-microblaze -M petalogix-s3adsp1800 -kernel output/images/linux.bin -serial stdio # qemu_microblazebe_mmu_defconfig The login prompt will appear in the terminal that started Qemu. - -Tested with QEMU 2.9.0 diff --git a/board/qemu/microblazebe-mmu/xilinx-xemaclite.patch b/board/qemu/microblazebe-mmu/xilinx-xemaclite.patch deleted file mode 100644 index 756bfaea97d..00000000000 --- a/board/qemu/microblazebe-mmu/xilinx-xemaclite.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Nur linux-3.14.orig/drivers/net/ethernet/xilinx/xilinx_emaclite.c linux-3.14/drivers/net/ethernet/xilinx/xilinx_emaclite.c ---- linux-3.14.orig/drivers/net/ethernet/xilinx/xilinx_emaclite.c 2014-03-31 05:40:15.000000000 +0200 -+++ linux-3.14/drivers/net/ethernet/xilinx/xilinx_emaclite.c 2014-04-11 22:53:42.000000000 +0200 -@@ -1249,6 +1249,7 @@ - { .compatible = "xlnx,opb-ethernetlite-1.01.b", }, - { .compatible = "xlnx,xps-ethernetlite-1.00.a", }, - { .compatible = "xlnx,xps-ethernetlite-2.00.a", }, -+ { .compatible = "xlnx,xps-ethernetlite-2.00.b", }, - { .compatible = "xlnx,xps-ethernetlite-2.01.a", }, - { .compatible = "xlnx,xps-ethernetlite-3.00.a", }, - { /* end of list */ }, diff --git a/board/qemu/microblazeel-mmu/linux-4.11.config b/board/qemu/microblazeel-mmu/linux.config similarity index 100% rename from board/qemu/microblazeel-mmu/linux-4.11.config rename to board/qemu/microblazeel-mmu/linux.config diff --git a/board/qemu/microblazeel-mmu/readme.txt b/board/qemu/microblazeel-mmu/readme.txt index 9edf101afdc..20fa0072ed1 100644 --- a/board/qemu/microblazeel-mmu/readme.txt +++ b/board/qemu/microblazeel-mmu/readme.txt @@ -1,7 +1,5 @@ Run the emulation with: - qemu-system-microblazeel -M petalogix-s3adsp1800 -kernel output/images/linux.bin -serial stdio + qemu-system-microblazeel -M petalogix-s3adsp1800 -kernel output/images/linux.bin -serial stdio # qemu_microblazeel_mmu_defconfig The login prompt will appear in the terminal that started Qemu. - -Tested with QEMU 2.9.0 diff --git a/board/qemu/microblazeel-mmu/xilinx-xemaclite.patch b/board/qemu/microblazeel-mmu/xilinx-xemaclite.patch deleted file mode 100644 index 756bfaea97d..00000000000 --- a/board/qemu/microblazeel-mmu/xilinx-xemaclite.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Nur linux-3.14.orig/drivers/net/ethernet/xilinx/xilinx_emaclite.c linux-3.14/drivers/net/ethernet/xilinx/xilinx_emaclite.c ---- linux-3.14.orig/drivers/net/ethernet/xilinx/xilinx_emaclite.c 2014-03-31 05:40:15.000000000 +0200 -+++ linux-3.14/drivers/net/ethernet/xilinx/xilinx_emaclite.c 2014-04-11 22:53:42.000000000 +0200 -@@ -1249,6 +1249,7 @@ - { .compatible = "xlnx,opb-ethernetlite-1.01.b", }, - { .compatible = "xlnx,xps-ethernetlite-1.00.a", }, - { .compatible = "xlnx,xps-ethernetlite-2.00.a", }, -+ { .compatible = "xlnx,xps-ethernetlite-2.00.b", }, - { .compatible = "xlnx,xps-ethernetlite-2.01.a", }, - { .compatible = "xlnx,xps-ethernetlite-3.00.a", }, - { /* end of list */ }, diff --git a/board/qemu/mips32r2-malta/linux-4.11.config b/board/qemu/mips32r2-malta/linux-4.11.config deleted file mode 100644 index 3a26ac830fe..00000000000 --- a/board/qemu/mips32r2-malta/linux-4.11.config +++ /dev/null @@ -1,30 +0,0 @@ -CONFIG_MIPS_MALTA=y -CONFIG_CPU_MIPS32_R2=y -CONFIG_MIPS_MT_SMP=y -CONFIG_NR_CPUS=2 -CONFIG_SYSVIPC=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_PCI=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IDE=y -CONFIG_BLK_DEV_IDECD=y -CONFIG_IDE_GENERIC=y -CONFIG_BLK_DEV_GENERIC=y -CONFIG_BLK_DEV_PIIX=y -CONFIG_NETDEVICES=y -CONFIG_PCNET32=y -CONFIG_INPUT_EVDEV=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_FB=y -CONFIG_FB_CIRRUS=y -CONFIG_USB=y -CONFIG_USB_UHCI_HCD=y -CONFIG_EXT4_FS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/mips32r2-malta/linux.config b/board/qemu/mips32r2-malta/linux.config new file mode 100644 index 00000000000..db8ad1760ec --- /dev/null +++ b/board/qemu/mips32r2-malta/linux.config @@ -0,0 +1,28 @@ +CONFIG_MIPS_MALTA=y +CONFIG_CPU_MIPS32_R2=y +CONFIG_MIPS_MT_SMP=y +CONFIG_NR_CPUS=2 +CONFIG_SYSVIPC=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_PCI=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y +CONFIG_NETDEVICES=y +CONFIG_PCNET32=y +CONFIG_INPUT_EVDEV=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_FB=y +CONFIG_FB_CIRRUS=y +CONFIG_USB=y +CONFIG_USB_UHCI_HCD=y +CONFIG_EXT4_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/mips32r2-malta/readme.txt b/board/qemu/mips32r2-malta/readme.txt index 7002ab1d86f..77518ccec9b 100644 --- a/board/qemu/mips32r2-malta/readme.txt +++ b/board/qemu/mips32r2-malta/readme.txt @@ -1,9 +1,7 @@ Run the emulation with: - qemu-system-mips -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/hda" -net nic,model=pcnet -net user + qemu-system-mips -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" -net nic,model=pcnet -net user # qemu_mips32r2_malta_defconfig The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. No keyboard support has been enabled. - -Tested with QEMU 2.9.0 diff --git a/board/qemu/mips32r2el-malta/linux-4.11.config b/board/qemu/mips32r2el-malta/linux-4.11.config deleted file mode 100644 index 79d73524747..00000000000 --- a/board/qemu/mips32r2el-malta/linux-4.11.config +++ /dev/null @@ -1,31 +0,0 @@ -CONFIG_MIPS_MALTA=y -CONFIG_CPU_LITTLE_ENDIAN=y -CONFIG_CPU_MIPS32_R2=y -CONFIG_MIPS_MT_SMP=y -CONFIG_NR_CPUS=2 -CONFIG_SYSVIPC=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_PCI=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IDE=y -CONFIG_BLK_DEV_IDECD=y -CONFIG_IDE_GENERIC=y -CONFIG_BLK_DEV_GENERIC=y -CONFIG_BLK_DEV_PIIX=y -CONFIG_NETDEVICES=y -CONFIG_PCNET32=y -CONFIG_INPUT_EVDEV=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_FB=y -CONFIG_FB_CIRRUS=y -CONFIG_USB=y -CONFIG_USB_UHCI_HCD=y -CONFIG_EXT4_FS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/mips32r2el-malta/linux.config b/board/qemu/mips32r2el-malta/linux.config new file mode 100644 index 00000000000..916e522292e --- /dev/null +++ b/board/qemu/mips32r2el-malta/linux.config @@ -0,0 +1,29 @@ +CONFIG_MIPS_MALTA=y +CONFIG_CPU_LITTLE_ENDIAN=y +CONFIG_CPU_MIPS32_R2=y +CONFIG_MIPS_MT_SMP=y +CONFIG_NR_CPUS=2 +CONFIG_SYSVIPC=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_PCI=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y +CONFIG_NETDEVICES=y +CONFIG_PCNET32=y +CONFIG_INPUT_EVDEV=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_FB=y +CONFIG_FB_CIRRUS=y +CONFIG_USB=y +CONFIG_USB_UHCI_HCD=y +CONFIG_EXT4_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/mips32r2el-malta/readme.txt b/board/qemu/mips32r2el-malta/readme.txt index bfc9c49d5a6..2a1e84a0fb8 100644 --- a/board/qemu/mips32r2el-malta/readme.txt +++ b/board/qemu/mips32r2el-malta/readme.txt @@ -1,9 +1,7 @@ Run the emulation with: - qemu-system-mipsel -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/hda" -net nic,model=pcnet -net user + qemu-system-mipsel -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" -net nic,model=pcnet -net user # qemu_mips32r2el_malta_defconfig The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. No keyboard support has been enabled. - -Tested with QEMU 2.9.0 diff --git a/board/qemu/mips32r6-malta/linux-4.11.config b/board/qemu/mips32r6-malta/linux-4.11.config deleted file mode 100644 index d559676615e..00000000000 --- a/board/qemu/mips32r6-malta/linux-4.11.config +++ /dev/null @@ -1,30 +0,0 @@ -CONFIG_MIPS_MALTA=y -CONFIG_CPU_MIPS32_R6=y -CONFIG_MIPS_MT_SMP=y -CONFIG_NR_CPUS=2 -CONFIG_SYSVIPC=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_PCI=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IDE=y -CONFIG_BLK_DEV_IDECD=y -CONFIG_IDE_GENERIC=y -CONFIG_BLK_DEV_GENERIC=y -CONFIG_BLK_DEV_PIIX=y -CONFIG_NETDEVICES=y -CONFIG_PCNET32=y -CONFIG_INPUT_EVDEV=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_FB=y -CONFIG_FB_CIRRUS=y -CONFIG_USB=y -CONFIG_USB_UHCI_HCD=y -CONFIG_EXT4_FS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/mips32r6-malta/linux.config b/board/qemu/mips32r6-malta/linux.config new file mode 100644 index 00000000000..fbfffe2065f --- /dev/null +++ b/board/qemu/mips32r6-malta/linux.config @@ -0,0 +1,28 @@ +CONFIG_MIPS_MALTA=y +CONFIG_CPU_MIPS32_R6=y +CONFIG_MIPS_MT_SMP=y +CONFIG_NR_CPUS=2 +CONFIG_SYSVIPC=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_PCI=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y +CONFIG_NETDEVICES=y +CONFIG_PCNET32=y +CONFIG_INPUT_EVDEV=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_FB=y +CONFIG_FB_CIRRUS=y +CONFIG_USB=y +CONFIG_USB_UHCI_HCD=y +CONFIG_EXT4_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/mips32r6-malta/readme.txt b/board/qemu/mips32r6-malta/readme.txt index 7d79c6602ce..ff5f1e36be1 100644 --- a/board/qemu/mips32r6-malta/readme.txt +++ b/board/qemu/mips32r6-malta/readme.txt @@ -1,7 +1,5 @@ Run the emulation with: -qemu-system-mips -M malta -cpu mips32r6-generic -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/hda" -nographic + qemu-system-mips -M malta -cpu mips32r6-generic -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" -nographic # qemu_mips32r6_malta_defconfig The login prompt will appear in the terminal that started Qemu. - -Tested with QEMU 2.9.0 diff --git a/board/qemu/mips32r6el-malta/linux-4.11.config b/board/qemu/mips32r6el-malta/linux-4.11.config deleted file mode 100644 index d559676615e..00000000000 --- a/board/qemu/mips32r6el-malta/linux-4.11.config +++ /dev/null @@ -1,30 +0,0 @@ -CONFIG_MIPS_MALTA=y -CONFIG_CPU_MIPS32_R6=y -CONFIG_MIPS_MT_SMP=y -CONFIG_NR_CPUS=2 -CONFIG_SYSVIPC=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_PCI=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IDE=y -CONFIG_BLK_DEV_IDECD=y -CONFIG_IDE_GENERIC=y -CONFIG_BLK_DEV_GENERIC=y -CONFIG_BLK_DEV_PIIX=y -CONFIG_NETDEVICES=y -CONFIG_PCNET32=y -CONFIG_INPUT_EVDEV=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_FB=y -CONFIG_FB_CIRRUS=y -CONFIG_USB=y -CONFIG_USB_UHCI_HCD=y -CONFIG_EXT4_FS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/mips32r6el-malta/linux.config b/board/qemu/mips32r6el-malta/linux.config new file mode 100644 index 00000000000..fbfffe2065f --- /dev/null +++ b/board/qemu/mips32r6el-malta/linux.config @@ -0,0 +1,28 @@ +CONFIG_MIPS_MALTA=y +CONFIG_CPU_MIPS32_R6=y +CONFIG_MIPS_MT_SMP=y +CONFIG_NR_CPUS=2 +CONFIG_SYSVIPC=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_PCI=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y +CONFIG_NETDEVICES=y +CONFIG_PCNET32=y +CONFIG_INPUT_EVDEV=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_FB=y +CONFIG_FB_CIRRUS=y +CONFIG_USB=y +CONFIG_USB_UHCI_HCD=y +CONFIG_EXT4_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/mips32r6el-malta/readme.txt b/board/qemu/mips32r6el-malta/readme.txt index 78f83505067..29a5a1e02b3 100644 --- a/board/qemu/mips32r6el-malta/readme.txt +++ b/board/qemu/mips32r6el-malta/readme.txt @@ -1,7 +1,5 @@ Run the emulation with: -qemu-system-mipsel -M malta -cpu mips32r6-generic -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/hda" -net nic,model=pcnet -net user -nographic + qemu-system-mipsel -M malta -cpu mips32r6-generic -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" -net nic,model=pcnet -net user -nographic # qemu_mips32r6el_malta_defconfig The login prompt will appear in the terminal that started Qemu. - -Tested with QEMU 2.9.0 diff --git a/board/qemu/mips64-malta/linux-4.11.config b/board/qemu/mips64-malta/linux-4.11.config deleted file mode 100644 index cd0b560634a..00000000000 --- a/board/qemu/mips64-malta/linux-4.11.config +++ /dev/null @@ -1,34 +0,0 @@ -CONFIG_MIPS_MALTA=y -CONFIG_CPU_MIPS64_R1=y -CONFIG_64BIT=y -CONFIG_MIPS_MT_SMP=y -CONFIG_NR_CPUS=2 -CONFIG_SYSVIPC=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_PCI=y -CONFIG_MIPS32_COMPAT=y -CONFIG_MIPS32_O32=y -CONFIG_MIPS32_N32=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IDE=y -CONFIG_BLK_DEV_IDECD=y -CONFIG_IDE_GENERIC=y -CONFIG_BLK_DEV_GENERIC=y -CONFIG_BLK_DEV_PIIX=y -CONFIG_NETDEVICES=y -CONFIG_PCNET32=y -CONFIG_INPUT_EVDEV=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_FB=y -CONFIG_FB_CIRRUS=y -CONFIG_USB=y -CONFIG_USB_UHCI_HCD=y -CONFIG_EXT4_FS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/mips64-malta/linux.config b/board/qemu/mips64-malta/linux.config new file mode 100644 index 00000000000..66932fb3db7 --- /dev/null +++ b/board/qemu/mips64-malta/linux.config @@ -0,0 +1,32 @@ +CONFIG_MIPS_MALTA=y +CONFIG_CPU_MIPS64_R1=y +CONFIG_64BIT=y +CONFIG_MIPS_MT_SMP=y +CONFIG_NR_CPUS=2 +CONFIG_SYSVIPC=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_PCI=y +CONFIG_MIPS32_COMPAT=y +CONFIG_MIPS32_O32=y +CONFIG_MIPS32_N32=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y +CONFIG_NETDEVICES=y +CONFIG_PCNET32=y +CONFIG_INPUT_EVDEV=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_FB=y +CONFIG_FB_CIRRUS=y +CONFIG_USB=y +CONFIG_USB_UHCI_HCD=y +CONFIG_EXT4_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/mips64-malta/readme.txt b/board/qemu/mips64-malta/readme.txt index 8a732101a8d..d148a1394a6 100644 --- a/board/qemu/mips64-malta/readme.txt +++ b/board/qemu/mips64-malta/readme.txt @@ -1,8 +1,6 @@ Run the emulation with: - qemu-system-mips64 -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/hda" + qemu-system-mips64 -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" # qemu_mips64_malta_defconfig The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. - -Tested with QEMU 2.9.0 diff --git a/board/qemu/mips64el-malta/linux-4.11.config b/board/qemu/mips64el-malta/linux-4.11.config deleted file mode 100644 index c6b46d4d7f8..00000000000 --- a/board/qemu/mips64el-malta/linux-4.11.config +++ /dev/null @@ -1,35 +0,0 @@ -CONFIG_MIPS_MALTA=y -CONFIG_CPU_LITTLE_ENDIAN=y -CONFIG_CPU_MIPS64_R1=y -CONFIG_64BIT=y -CONFIG_MIPS_MT_SMP=y -CONFIG_NR_CPUS=2 -CONFIG_SYSVIPC=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_PCI=y -CONFIG_MIPS32_COMPAT=y -CONFIG_MIPS32_O32=y -CONFIG_MIPS32_N32=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IDE=y -CONFIG_BLK_DEV_IDECD=y -CONFIG_IDE_GENERIC=y -CONFIG_BLK_DEV_GENERIC=y -CONFIG_BLK_DEV_PIIX=y -CONFIG_NETDEVICES=y -CONFIG_PCNET32=y -CONFIG_INPUT_EVDEV=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_FB=y -CONFIG_FB_CIRRUS=y -CONFIG_USB=y -CONFIG_USB_UHCI_HCD=y -CONFIG_EXT4_FS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/mips64el-malta/linux.config b/board/qemu/mips64el-malta/linux.config new file mode 100644 index 00000000000..516b05b5c6e --- /dev/null +++ b/board/qemu/mips64el-malta/linux.config @@ -0,0 +1,33 @@ +CONFIG_MIPS_MALTA=y +CONFIG_CPU_LITTLE_ENDIAN=y +CONFIG_CPU_MIPS64_R1=y +CONFIG_64BIT=y +CONFIG_MIPS_MT_SMP=y +CONFIG_NR_CPUS=2 +CONFIG_SYSVIPC=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_PCI=y +CONFIG_MIPS32_COMPAT=y +CONFIG_MIPS32_O32=y +CONFIG_MIPS32_N32=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y +CONFIG_NETDEVICES=y +CONFIG_PCNET32=y +CONFIG_INPUT_EVDEV=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_FB=y +CONFIG_FB_CIRRUS=y +CONFIG_USB=y +CONFIG_USB_UHCI_HCD=y +CONFIG_EXT4_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/mips64el-malta/readme.txt b/board/qemu/mips64el-malta/readme.txt index 25fc9ee1725..4545fcd9df4 100644 --- a/board/qemu/mips64el-malta/readme.txt +++ b/board/qemu/mips64el-malta/readme.txt @@ -1,8 +1,6 @@ Run the emulation with: - qemu-system-mips64el -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/hda" + qemu-system-mips64el -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" # qemu_mips64el_malta_defconfig The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. - -Tested with QEMU 2.5.0 diff --git a/board/qemu/mips64r6-malta/linux-4.11.config b/board/qemu/mips64r6-malta/linux-4.11.config deleted file mode 100644 index 0ebfdbdb05e..00000000000 --- a/board/qemu/mips64r6-malta/linux-4.11.config +++ /dev/null @@ -1,34 +0,0 @@ -CONFIG_MIPS_MALTA=y -CONFIG_CPU_MIPS64_R6=y -CONFIG_64BIT=y -CONFIG_MIPS_MT_SMP=y -CONFIG_NR_CPUS=2 -CONFIG_SYSVIPC=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_PCI=y -CONFIG_MIPS32_COMPAT=y -CONFIG_MIPS32_O32=y -CONFIG_MIPS32_N32=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IDE=y -CONFIG_BLK_DEV_IDECD=y -CONFIG_IDE_GENERIC=y -CONFIG_BLK_DEV_GENERIC=y -CONFIG_BLK_DEV_PIIX=y -CONFIG_NETDEVICES=y -CONFIG_PCNET32=y -CONFIG_INPUT_EVDEV=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_FB=y -CONFIG_FB_CIRRUS=y -CONFIG_USB=y -CONFIG_USB_UHCI_HCD=y -CONFIG_EXT4_FS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/mips64r6-malta/linux.config b/board/qemu/mips64r6-malta/linux.config new file mode 100644 index 00000000000..020e02f1d18 --- /dev/null +++ b/board/qemu/mips64r6-malta/linux.config @@ -0,0 +1,32 @@ +CONFIG_MIPS_MALTA=y +CONFIG_CPU_MIPS64_R6=y +CONFIG_64BIT=y +CONFIG_MIPS_MT_SMP=y +CONFIG_NR_CPUS=2 +CONFIG_SYSVIPC=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_PCI=y +CONFIG_MIPS32_COMPAT=y +CONFIG_MIPS32_O32=y +CONFIG_MIPS32_N32=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y +CONFIG_NETDEVICES=y +CONFIG_PCNET32=y +CONFIG_INPUT_EVDEV=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_FB=y +CONFIG_FB_CIRRUS=y +CONFIG_USB=y +CONFIG_USB_UHCI_HCD=y +CONFIG_EXT4_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/mips64r6-malta/readme.txt b/board/qemu/mips64r6-malta/readme.txt index 4a6c5fe7980..6712d668ccd 100644 --- a/board/qemu/mips64r6-malta/readme.txt +++ b/board/qemu/mips64r6-malta/readme.txt @@ -1,10 +1,5 @@ Run the emulation with: - qemu-system-mips64 -M malta -cpu I6400 -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/hda" -nographic + qemu-system-mips64 -M malta -cpu I6400 -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" -nographic # qemu_mips64r6_malta_defconfig The login prompt will appear in the terminal that started Qemu. - -Tested with QEMU 2.7.0 - -Might work with 2.6.0 by changing the -cpu entry to MIPS64R6-generic -since the naming was updated and the old name removed in 2.7.0 diff --git a/board/qemu/mips64r6el-malta/linux-4.11.config b/board/qemu/mips64r6el-malta/linux-4.11.config deleted file mode 100644 index 0ebfdbdb05e..00000000000 --- a/board/qemu/mips64r6el-malta/linux-4.11.config +++ /dev/null @@ -1,34 +0,0 @@ -CONFIG_MIPS_MALTA=y -CONFIG_CPU_MIPS64_R6=y -CONFIG_64BIT=y -CONFIG_MIPS_MT_SMP=y -CONFIG_NR_CPUS=2 -CONFIG_SYSVIPC=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_PCI=y -CONFIG_MIPS32_COMPAT=y -CONFIG_MIPS32_O32=y -CONFIG_MIPS32_N32=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IDE=y -CONFIG_BLK_DEV_IDECD=y -CONFIG_IDE_GENERIC=y -CONFIG_BLK_DEV_GENERIC=y -CONFIG_BLK_DEV_PIIX=y -CONFIG_NETDEVICES=y -CONFIG_PCNET32=y -CONFIG_INPUT_EVDEV=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_FB=y -CONFIG_FB_CIRRUS=y -CONFIG_USB=y -CONFIG_USB_UHCI_HCD=y -CONFIG_EXT4_FS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/mips64r6el-malta/linux.config b/board/qemu/mips64r6el-malta/linux.config new file mode 100644 index 00000000000..020e02f1d18 --- /dev/null +++ b/board/qemu/mips64r6el-malta/linux.config @@ -0,0 +1,32 @@ +CONFIG_MIPS_MALTA=y +CONFIG_CPU_MIPS64_R6=y +CONFIG_64BIT=y +CONFIG_MIPS_MT_SMP=y +CONFIG_NR_CPUS=2 +CONFIG_SYSVIPC=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_PCI=y +CONFIG_MIPS32_COMPAT=y +CONFIG_MIPS32_O32=y +CONFIG_MIPS32_N32=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y +CONFIG_NETDEVICES=y +CONFIG_PCNET32=y +CONFIG_INPUT_EVDEV=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_FB=y +CONFIG_FB_CIRRUS=y +CONFIG_USB=y +CONFIG_USB_UHCI_HCD=y +CONFIG_EXT4_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/mips64r6el-malta/readme.txt b/board/qemu/mips64r6el-malta/readme.txt index 9250cf37919..150ce752281 100644 --- a/board/qemu/mips64r6el-malta/readme.txt +++ b/board/qemu/mips64r6el-malta/readme.txt @@ -1,7 +1,5 @@ Run the emulation with: - qemu-system-mips64el -M malta -cpu I6400 -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/hda" -nographic + qemu-system-mips64el -M malta -cpu I6400 -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda" -nographic # qemu_mips64r6el_malta_defconfig The login prompt will appear in the terminal that started Qemu. - -Tested with QEMU 2.9.0 diff --git a/board/qemu/nios2-10m50/linux-4.11.fragment b/board/qemu/nios2-10m50/linux-4.11.fragment deleted file mode 100644 index 76c864f5c3c..00000000000 --- a/board/qemu/nios2-10m50/linux-4.11.fragment +++ /dev/null @@ -1,3 +0,0 @@ -# Embed the DTB in the kernel image -CONFIG_NIOS2_DTB_SOURCE_BOOL=y -CONFIG_NIOS2_DTB_SOURCE="arch/nios2/boot/dts/10m50_devboard.dts" diff --git a/board/qemu/nios2-10m50/readme.txt b/board/qemu/nios2-10m50/readme.txt deleted file mode 100644 index f7dee370f7e..00000000000 --- a/board/qemu/nios2-10m50/readme.txt +++ /dev/null @@ -1,7 +0,0 @@ -Run the emulation with: - - qemu-system-nios2 -kernel output/images/vmlinux -nographic - -The login prompt will appear in the terminal that started Qemu. - -Tested with QEMU 2.9.0. diff --git a/board/qemu/or1k/linux-4.11.config b/board/qemu/or1k/linux.config similarity index 100% rename from board/qemu/or1k/linux-4.11.config rename to board/qemu/or1k/linux.config diff --git a/board/qemu/or1k/readme.txt b/board/qemu/or1k/readme.txt index a04314e7509..ed0359a0f50 100644 --- a/board/qemu/or1k/readme.txt +++ b/board/qemu/or1k/readme.txt @@ -1,9 +1,5 @@ Run the emulation with: - qemu-system-or1k -kernel output/images/vmlinux -nographic + qemu-system-or1k -kernel output/images/vmlinux -nographic # qemu_or1k_defconfig The login prompt will appear in the terminal that started Qemu. - -Ethernet support is not working, yet. - -Tested with QEMU 2.9.0. diff --git a/board/qemu/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/qemu/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..4a0534d1ba9 --- /dev/null +++ b/board/qemu/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,4 @@ +# Locally computed: +sha256 c9f0d0bf967d690edbf34b621728a6271856f2e26ed46081a285b6d627a358c5 arm-trusted-firmware-v2.7-git4.tar.gz +sha256 7efa89e1b4e4106ee05d68e876c8efbb146364d89cfd5d26bf4647b09c08f32b arm-trusted-firmware-v2.10-git4.tar.gz +sha256 c0f23ccc71c49989e9ad238acf334473c17b7c88f79a20c829c3d443e3794a22 arm-trusted-firmware-v2.11-git4.tar.gz diff --git a/board/qemu/patches/binutils/binutils.hash b/board/qemu/patches/binutils/binutils.hash new file mode 100644 index 00000000000..6affaadf25b --- /dev/null +++ b/board/qemu/patches/binutils/binutils.hash @@ -0,0 +1,2 @@ +# locally computed +sha256 a76052c0c71d4025b117dcfc18ca7e189ac495a7645fa98c1bdaddca15cce815 xtensa_dc233c.tar.gz diff --git a/board/qemu/patches/gcc-final/gcc-final.hash b/board/qemu/patches/gcc-final/gcc-final.hash new file mode 100644 index 00000000000..84bf45ec66b --- /dev/null +++ b/board/qemu/patches/gcc-final/gcc-final.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 a76052c0c71d4025b117dcfc18ca7e189ac495a7645fa98c1bdaddca15cce815 xtensa_dc233c.tar.gz diff --git a/board/qemu/patches/gcc-initial/gcc-initial.hash b/board/qemu/patches/gcc-initial/gcc-initial.hash new file mode 100644 index 00000000000..84bf45ec66b --- /dev/null +++ b/board/qemu/patches/gcc-initial/gcc-initial.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 a76052c0c71d4025b117dcfc18ca7e189ac495a7645fa98c1bdaddca15cce815 xtensa_dc233c.tar.gz diff --git a/board/qemu/patches/linux-headers/linux-headers.hash b/board/qemu/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/qemu/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/qemu/patches/linux/linux.hash b/board/qemu/patches/linux/linux.hash new file mode 100644 index 00000000000..3c689260bb0 --- /dev/null +++ b/board/qemu/patches/linux/linux.hash @@ -0,0 +1,5 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 b726a4d15cf9ae06219b56d87820776e34d89fbc137e55fb54a9b9c3015b8f1e linux-6.18.7.tar.xz + +# sha256 locally computed +sha256 a76052c0c71d4025b117dcfc18ca7e189ac495a7645fa98c1bdaddca15cce815 xtensa_dc233c.tar.gz diff --git a/board/qemu/patches/opensbi/opensbi.hash b/board/qemu/patches/opensbi/opensbi.hash new file mode 100644 index 00000000000..d7893a1deec --- /dev/null +++ b/board/qemu/patches/opensbi/opensbi.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 d11702103f177a2914e94eec57ce5ed820296d874f6b6525c4482e55d71a3667 opensbi-1.6.tar.gz diff --git a/board/qemu/patches/uboot/uboot.hash b/board/qemu/patches/uboot/uboot.hash new file mode 100644 index 00000000000..7762ff3f8f9 --- /dev/null +++ b/board/qemu/patches/uboot/uboot.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 68e065413926778e276ec3abd28bb32fa82abaa4a6898d570c1f48fbdb08bcd0 u-boot-2022.04.tar.bz2 +sha256 b99611f1ed237bf3541bdc8434b68c96a6e05967061f992443cb30aabebef5b3 u-boot-2024.01.tar.bz2 diff --git a/board/qemu/post-image.sh b/board/qemu/post-image.sh new file mode 100755 index 00000000000..fe46d0d4af1 --- /dev/null +++ b/board/qemu/post-image.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +QEMU_BOARD_DIR="$(dirname "$0")" +DEFCONFIG_NAME="$(basename "$2")" +README_FILES="${QEMU_BOARD_DIR}/*/readme.txt" +START_QEMU_SCRIPT="${BINARIES_DIR}/start-qemu.sh" + +if [[ "${DEFCONFIG_NAME}" =~ ^"qemu_*" ]]; then + # Not a Qemu defconfig, can't test. + exit 0 +fi + +# Search for "# qemu_*_defconfig" tag in all readme.txt files. +# Qemu command line on multilines using back slash are accepted. +# shellcheck disable=SC2086 # glob over each readme file +QEMU_CMD_LINE="$(sed -r ':a; /\\$/N; s/\\\n//; s/\t/ /; ta; /# '"${DEFCONFIG_NAME}"'$/!d; s/#.*//' ${README_FILES})" + +if [ -z "${QEMU_CMD_LINE}" ]; then + # No Qemu cmd line found, can't test. + exit 0 +fi + +# Remove output/images path since the script will be in +# the same directory as the kernel and the rootfs images. +QEMU_CMD_LINE="${QEMU_CMD_LINE//output\/images\//}" + +# Remove -serial stdio if present, keep it as default args +DEFAULT_ARGS="$(sed -r -e '/-serial stdio/!d; s/.*(-serial stdio).*/\1/' <<<"${QEMU_CMD_LINE}")" +QEMU_CMD_LINE="${QEMU_CMD_LINE//-serial stdio/}" + +# Remove any string before qemu-system-* +QEMU_CMD_LINE="$(sed -r -e 's/^.*(qemu-system-)/\1/' <<<"${QEMU_CMD_LINE}")" + +# Disable graphical output and redirect serial I/Os to console +case ${DEFCONFIG_NAME} in + (qemu_sh4eb_r2d_defconfig|qemu_sh4_r2d_defconfig) + # Special case for SH4 + SERIAL_ARGS="-serial stdio -display none" + ;; + (*) + SERIAL_ARGS="-nographic" + ;; +esac + +sed -e "s|@SERIAL_ARGS@|${SERIAL_ARGS}|g" \ + -e "s|@DEFAULT_ARGS@|${DEFAULT_ARGS}|g" \ + -e "s|@QEMU_CMD_LINE@|${QEMU_CMD_LINE}|g" \ + -e "s|@HOST_DIR@|${HOST_DIR}|g" \ + <"${QEMU_BOARD_DIR}/start-qemu.sh.in" \ + >"${START_QEMU_SCRIPT}" +chmod +x "${START_QEMU_SCRIPT}" diff --git a/board/qemu/ppc-bamboo/linux.fragment b/board/qemu/ppc-bamboo/linux.fragment new file mode 100644 index 00000000000..cc272d0541f --- /dev/null +++ b/board/qemu/ppc-bamboo/linux.fragment @@ -0,0 +1,6 @@ +# Enable virtio (blk, rng and net devices) +CONFIG_VIRTIO=y +CONFIG_VIRTIO_PCI=y +CONFIG_HW_RANDOM_VIRTIO=y +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_NET=y diff --git a/board/qemu/ppc-bamboo/readme.txt b/board/qemu/ppc-bamboo/readme.txt new file mode 100644 index 00000000000..53d1970698f --- /dev/null +++ b/board/qemu/ppc-bamboo/readme.txt @@ -0,0 +1,5 @@ +Run the emulation with: + +qemu-system-ppc -nographic -M bamboo -kernel output/images/vmlinux -net nic,model=virtio-net-pci -net user # qemu_ppc_bamboo_defconfig + +The login prompt will appear in the terminal that started Qemu. diff --git a/board/qemu/ppc-e500mc/linux.fragment b/board/qemu/ppc-e500mc/linux.fragment new file mode 100644 index 00000000000..35a8dccf892 --- /dev/null +++ b/board/qemu/ppc-e500mc/linux.fragment @@ -0,0 +1,10 @@ +# Enables generic PPC e500 base arch support for QEMU. +# The e500mc is a variant of the e500 arch. +CONFIG_PPC_QEMU_E500=y + +# Enable virtio (blk, rng and net devices) +CONFIG_VIRTIO=y +CONFIG_VIRTIO_PCI=y +CONFIG_HW_RANDOM_VIRTIO=y +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_NET=y diff --git a/board/qemu/ppc-e500mc/readme.txt b/board/qemu/ppc-e500mc/readme.txt new file mode 100644 index 00000000000..76bad015d2d --- /dev/null +++ b/board/qemu/ppc-e500mc/readme.txt @@ -0,0 +1,5 @@ +Run the emulation with: + + qemu-system-ppc -M ppce500 -cpu e500mc -m 256 -kernel output/images/uImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -net nic,model=virtio-net-pci -net user -append "console=ttyS0 rootwait root=/dev/vda" -serial mon:stdio -nographic # qemu_ppc_e500mc_defconfig + +The login prompt will appear in the terminal that started Qemu. diff --git a/board/qemu/ppc-g3beige/linux-4.11.config b/board/qemu/ppc-g3beige/linux-4.11.config deleted file mode 100644 index 79945535442..00000000000 --- a/board/qemu/ppc-g3beige/linux-4.11.config +++ /dev/null @@ -1,25 +0,0 @@ -CONFIG_ALTIVEC=y -CONFIG_SYSVIPC=y -CONFIG_HIGHMEM=y -CONFIG_YENTA=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IDE=y -CONFIG_BLK_DEV_IDECD=y -CONFIG_BLK_DEV_CMD64X=y -CONFIG_BLK_DEV_IDE_PMAC=y -CONFIG_ADB=y -CONFIG_ADB_CUDA=y -CONFIG_ADB_PMU=y -CONFIG_NETDEVICES=y -CONFIG_PCNET32=y -CONFIG_8139CP=y -CONFIG_SERIAL_PMACZILOG=y -CONFIG_SERIAL_PMACZILOG_TTYS=y -CONFIG_SERIAL_PMACZILOG_CONSOLE=y -CONFIG_EXT4_FS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_BOOTX_TEXT=y diff --git a/board/qemu/ppc-g3beige/linux.config b/board/qemu/ppc-g3beige/linux.config new file mode 100644 index 00000000000..f9448842433 --- /dev/null +++ b/board/qemu/ppc-g3beige/linux.config @@ -0,0 +1,28 @@ +CONFIG_ALTIVEC=y +CONFIG_SYSVIPC=y +CONFIG_HIGHMEM=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_PCCARD=y +CONFIG_YENTA=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_BLK_DEV_SD=y +CONFIG_BLK_DEV_SR=y +CONFIG_ATA=y +CONFIG_PATA_MACIO=y +CONFIG_ADB=y +CONFIG_ADB_CUDA=y +CONFIG_ADB_PMU=y +CONFIG_NETDEVICES=y +CONFIG_PCNET32=y +CONFIG_8139CP=y +CONFIG_SERIAL_PMACZILOG=y +CONFIG_SERIAL_PMACZILOG_TTYS=y +CONFIG_SERIAL_PMACZILOG_CONSOLE=y +CONFIG_EXT4_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_BOOTX_TEXT=y diff --git a/board/qemu/ppc-g3beige/readme.txt b/board/qemu/ppc-g3beige/readme.txt index 42c97a0c144..e39579ade22 100644 --- a/board/qemu/ppc-g3beige/readme.txt +++ b/board/qemu/ppc-g3beige/readme.txt @@ -1,8 +1,6 @@ Run the emulation with: - qemu-system-ppc -M g3beige -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "console=ttyS0 root=/dev/hda" -serial stdio -net nic,model=rtl8139 -net user + qemu-system-ppc -M g3beige -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "console=ttyS0 rootwait root=/dev/sda" -serial stdio -net nic,model=rtl8139 -net user # qemu_ppc_g3beige_defconfig The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. - -Tested with QEMU 2.9.0 diff --git a/board/qemu/ppc-mac99/linux.fragment b/board/qemu/ppc-mac99/linux.fragment new file mode 100644 index 00000000000..b1975f8253f --- /dev/null +++ b/board/qemu/ppc-mac99/linux.fragment @@ -0,0 +1,3 @@ +CONFIG_SERIAL_PMACZILOG=y +CONFIG_SERIAL_PMACZILOG_TTYS=y +CONFIG_SERIAL_PMACZILOG_CONSOLE=y diff --git a/board/qemu/ppc-mac99/readme.txt b/board/qemu/ppc-mac99/readme.txt new file mode 100644 index 00000000000..fb94a7837db --- /dev/null +++ b/board/qemu/ppc-mac99/readme.txt @@ -0,0 +1,3 @@ +Run the emulation with: + + qemu-system-ppc -nographic -vga none -M mac99 -cpu g4 -m 1G -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -net nic,model=sungem -net user -append "root=/dev/sda" # qemu_ppc_mac99_defconfig diff --git a/board/qemu/ppc-mpc8544ds/linux-4.11.config b/board/qemu/ppc-mpc8544ds/linux.config similarity index 100% rename from board/qemu/ppc-mpc8544ds/linux-4.11.config rename to board/qemu/ppc-mpc8544ds/linux.config diff --git a/board/qemu/ppc-mpc8544ds/readme.txt b/board/qemu/ppc-mpc8544ds/readme.txt index 0008c84b201..d34d64c3369 100644 --- a/board/qemu/ppc-mpc8544ds/readme.txt +++ b/board/qemu/ppc-mpc8544ds/readme.txt @@ -1,7 +1,5 @@ Run the emulation with: - qemu-system-ppc -M mpc8544ds -kernel output/images/vmlinux -serial stdio -net nic,model=e1000 -net user + qemu-system-ppc -M mpc8544ds -kernel output/images/vmlinux -serial stdio -net nic,model=e1000 -net user # qemu_ppc_mpc8544ds_defconfig The login prompt will appear in the terminal that started Qemu. - -Tested with QEMU 2.9.0 diff --git a/board/qemu/ppc-virtex-ml507/linux-4.9.config b/board/qemu/ppc-virtex-ml507/linux-4.9.config deleted file mode 100644 index ed4eb792b69..00000000000 --- a/board/qemu/ppc-virtex-ml507/linux-4.9.config +++ /dev/null @@ -1,36 +0,0 @@ -CONFIG_44x=y -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_SLAB=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_MODULE_FORCE_UNLOAD=y -# CONFIG_EBONY is not set -CONFIG_XILINX_VIRTEX440_GENERIC_BOARD=y -CONFIG_MATH_EMULATION=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_SIZE=8192 -CONFIG_XILINX_SYSACE=y -CONFIG_NETDEVICES=y -CONFIG_SERIO_XILINX_XPS_PS2=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_UARTLITE=y -CONFIG_SERIAL_UARTLITE_CONSOLE=y -CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_XILINX_HWICAP=y -CONFIG_GPIOLIB=y -CONFIG_GPIO_SYSFS=y -CONFIG_GPIO_XILINX=y -CONFIG_FB=y -CONFIG_FB_XILINX=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_EXT4_FS=y -CONFIG_AUTOFS4_FS=y -CONFIG_VFAT_FS=y -CONFIG_TMPFS=y diff --git a/board/qemu/ppc-virtex-ml507/readme.txt b/board/qemu/ppc-virtex-ml507/readme.txt deleted file mode 100644 index 42aa204bd7d..00000000000 --- a/board/qemu/ppc-virtex-ml507/readme.txt +++ /dev/null @@ -1,7 +0,0 @@ -Run the emulation with: - - qemu-system-ppc -M virtex-ml507 -kernel output/images/vmlinux -m 256 -nographic -append "console=ttyS0" -dtb output/images/virtex440-ml507.dtb - -The login prompt will appear in the terminal that started Qemu. - -Tested with QEMU 2.5.0 diff --git a/board/qemu/ppc64-e5500/linux.fragment b/board/qemu/ppc64-e5500/linux.fragment new file mode 100644 index 00000000000..071a55ccf73 --- /dev/null +++ b/board/qemu/ppc64-e5500/linux.fragment @@ -0,0 +1,10 @@ +# Enables generic PPC e500 base arch support for QEMU. +# The e5500 is a variant of the e500 arch. +CONFIG_PPC_QEMU_E500=y + +# Enable virtio (blk, rng and net devices) +CONFIG_VIRTIO=y +CONFIG_VIRTIO_PCI=y +CONFIG_HW_RANDOM_VIRTIO=y +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_NET=y diff --git a/board/qemu/ppc64-e5500/readme.txt b/board/qemu/ppc64-e5500/readme.txt new file mode 100644 index 00000000000..7c8c80af445 --- /dev/null +++ b/board/qemu/ppc64-e5500/readme.txt @@ -0,0 +1,5 @@ +Run the emulation with: + + qemu-system-ppc64 -M ppce500 -cpu e5500 -m 256 -kernel output/images/uImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -net nic,model=virtio-net-pci -net user -append "console=ttyS0 rootwait root=/dev/vda" -serial mon:stdio -nographic # qemu_ppc64_e5500_defconfig + +The login prompt will appear in the terminal that started Qemu. diff --git a/board/qemu/ppc64-pseries/readme.txt b/board/qemu/ppc64-pseries/readme.txt index 7cc0c67d611..cbd3c6ca2b9 100644 --- a/board/qemu/ppc64-pseries/readme.txt +++ b/board/qemu/ppc64-pseries/readme.txt @@ -1,7 +1,5 @@ Run the emulation with: - qemu-system-ppc64 -M pseries -cpu POWER7 -m 256 -kernel output/images/vmlinux -append 'console=hvc0 root=/dev/sda' -drive file=output/images/rootfs.ext2,if=scsi,index=0,format=raw -serial stdio -display curses + qemu-system-ppc64 -M pseries -cpu POWER7 -m 256 -kernel output/images/vmlinux -append "console=hvc0 rootwait root=/dev/sda" -drive file=output/images/rootfs.ext2,if=scsi,index=0,format=raw -serial stdio -display curses # qemu_ppc64_pseries_defconfig The login prompt will appear in the terminal that started Qemu. - -Tested with QEMU 2.9.0 diff --git a/board/qemu/ppc64le-powernv8/readme.txt b/board/qemu/ppc64le-powernv8/readme.txt new file mode 100644 index 00000000000..b57c97464a8 --- /dev/null +++ b/board/qemu/ppc64le-powernv8/readme.txt @@ -0,0 +1,5 @@ +Run the emulation with: + +qemu-system-ppc64 -M powernv9 -kernel output/images/vmlinux -append "console=hvc0 rootwait root=/dev/nvme0n1" -device nvme,bus=pcie.3,addr=0x0,drive=drive0,serial=1234 -drive file=output/images/rootfs.ext2,if=none,id=drive0,format=raw,cache=none -device e1000e,netdev=net0,mac=C0:FF:EE:00:01:03,bus=pcie.1,addr=0x0 -netdev user,id=net0 -serial mon:stdio -nographic # qemu_ppc64le_powernv8_defconfig + +The login prompt will appear in the terminal window. diff --git a/board/qemu/ppc64le-pseries/readme.txt b/board/qemu/ppc64le-pseries/readme.txt index dd188c505f4..3d5577aa320 100644 --- a/board/qemu/ppc64le-pseries/readme.txt +++ b/board/qemu/ppc64le-pseries/readme.txt @@ -1,9 +1,5 @@ Run the emulation with: -qemu-system-ppc64le -M pseries -nographic \ - -kernel output/images/vmlinux \ - -initrd output/images/rootfs.ext2 +qemu-system-ppc64 -M pseries,x-vof=on -cpu POWER8 -m 256 -kernel output/images/vmlinux -append "console=hvc0 rootwait root=/dev/sda" -drive file=output/images/rootfs.ext2,if=scsi,index=0,format=raw -serial stdio -display curses # qemu_ppc64le_pseries_defconfig The login prompt will appear in the terminal window. - -Tested with QEMU 2.10.0 diff --git a/board/qemu/riscv32-virt/linux-nommu.config b/board/qemu/riscv32-virt/linux-nommu.config new file mode 100644 index 00000000000..784b12f18a1 --- /dev/null +++ b/board/qemu/riscv32-virt/linux-nommu.config @@ -0,0 +1,21 @@ +CONFIG_BLK_DEV_INITRD=y +# CONFIG_MMU is not set +CONFIG_SOC_VIRT=y +CONFIG_NONPORTABLE=y +CONFIG_ARCH_RV32I=y +CONFIG_BINFMT_FLAT=y +CONFIG_SLOB=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_BLK=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_EXT2_FS=y +CONFIG_PRINTK_TIME=y diff --git a/board/qemu/riscv32-virt/readme.txt b/board/qemu/riscv32-virt/readme.txt new file mode 100644 index 00000000000..cda8870c969 --- /dev/null +++ b/board/qemu/riscv32-virt/readme.txt @@ -0,0 +1,7 @@ +Run Linux in emulation with: + + qemu-system-riscv32 -M virt -bios output/images/fw_jump.bin -kernel output/images/Image -append "rootwait root=/dev/vda ro" -drive file=output/images/rootfs.ext2,format=raw -netdev user,id=net0 -device virtio-net-device,netdev=net0 -nographic # qemu_riscv32_virt_defconfig + + qemu-system-riscv32 -M virt -bios none -kernel output/images/Image -append "rootwait root=/dev/vda ro" -drive file=output/images/rootfs.ext2,format=raw,id=hd0,if=none -device virtio-blk-device,drive=hd0 -nographic -cpu rv32,mmu=off -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 # qemu_riscv32_nommu_virt_defconfig + +The login prompt will appear in the terminal that started Qemu. diff --git a/board/qemu/riscv64-virt-efi/assemble-flash-images b/board/qemu/riscv64-virt-efi/assemble-flash-images new file mode 100755 index 00000000000..abcaa2c93bd --- /dev/null +++ b/board/qemu/riscv64-virt-efi/assemble-flash-images @@ -0,0 +1,11 @@ +#! /bin/sh + +set -e + +BOARD_DIR="$(dirname "$0")" + +cp -f "${BOARD_DIR}"/grub.cfg "${BINARIES_DIR}"/efi-part/EFI/BOOT/grub.cfg + +# The QEMU riscv64 virt machine expects flash devices to be 32M. +truncate -s 32M "${BINARIES_DIR}"/RISCV_VIRT_CODE.fd +truncate -s 32M "${BINARIES_DIR}"/RISCV_VIRT_VARS.fd diff --git a/board/qemu/riscv64-virt-efi/genimage.cfg b/board/qemu/riscv64-virt-efi/genimage.cfg new file mode 100644 index 00000000000..46950591e0a --- /dev/null +++ b/board/qemu/riscv64-virt-efi/genimage.cfg @@ -0,0 +1,34 @@ +image efi-part.vfat { + vfat { + file EFI { + image = "efi-part/EFI" + } + + file Image { + image = "Image" + } + } + + size = 64M +} + +image disk.img { + hdimage { + partition-table-type = "gpt" + } + + partition boot { + image = "efi-part.vfat" + partition-type-uuid = U + offset = 32K + bootable = true + } + + partition root { + # For partition-type-uuid value, see: + # https://uapi-group.org/specifications/specs/discoverable_partitions_specification/ + # SD_GPT_ROOT_RISCV64 + partition-type-uuid = 72ec70a6-cf74-40e6-bd49-4bda08e8f224 + image = "rootfs.ext2" + } +} diff --git a/board/qemu/riscv64-virt-efi/grub.cfg b/board/qemu/riscv64-virt-efi/grub.cfg new file mode 100644 index 00000000000..d99e19c4cd5 --- /dev/null +++ b/board/qemu/riscv64-virt-efi/grub.cfg @@ -0,0 +1,6 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /Image root=PARTLABEL=root rootwait +} diff --git a/board/qemu/riscv64-virt-efi/readme.txt b/board/qemu/riscv64-virt-efi/readme.txt new file mode 100644 index 00000000000..10d4ed966fb --- /dev/null +++ b/board/qemu/riscv64-virt-efi/readme.txt @@ -0,0 +1,35 @@ +Intro +===== + +This is a RISC-V 64bit UEFI Linux boot demo in QEmu virt machine. + +Build +===== + + make qemu_riscv64_virt_efi_defconfig + make + +Emulation +========= + +Run the emulation with: + + qemu-system-riscv64 \ + -M virt,pflash0=pflash0,pflash1=pflash1,acpi=off \ + -smp 4 \ + -m 1024 \ + -nographic \ + -blockdev node-name=pflash0,driver=file,read-only=on,filename=output/images/RISCV_VIRT_CODE.fd \ + -blockdev node-name=pflash1,driver=file,filename=output/images/RISCV_VIRT_VARS.fd \ + \ + -drive file=output/images/disk.img,format=raw \ + \ + -netdev user,id=net0 \ + -device virtio-net-device,netdev=net0 # qemu_riscv64_virt_efi_defconfig + +Note: for information, qemu version >= 8.0.0 is needed for this UEFI +Linux demo. It introduced the two pflash memories (previous versions +had only one). The host-qemu package in Buildroot (enabled in this +defconfig) is sufficient to run this demo. In case another qemu is +used (for example, from the host OS), make sure to check the version +requirement. diff --git a/board/qemu/riscv64-virt/linux-nommu.config b/board/qemu/riscv64-virt/linux-nommu.config new file mode 100644 index 00000000000..9adf494260d --- /dev/null +++ b/board/qemu/riscv64-virt/linux-nommu.config @@ -0,0 +1,22 @@ +CONFIG_ARCH_RV64I=y +CONFIG_64BIT=y +CONFIG_BLK_DEV_INITRD=y +# CONFIG_MMU is not set +CONFIG_SOC_VIRT=y +CONFIG_NONPORTABLE=y +CONFIG_BINFMT_FLAT=y +CONFIG_SLOB=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_BLK=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_EXT2_FS=y +CONFIG_PRINTK_TIME=y diff --git a/board/qemu/riscv64-virt/readme.txt b/board/qemu/riscv64-virt/readme.txt new file mode 100644 index 00000000000..fc6bfffb5da --- /dev/null +++ b/board/qemu/riscv64-virt/readme.txt @@ -0,0 +1,7 @@ +Run Linux in emulation with: + + qemu-system-riscv64 -M virt -bios output/images/fw_jump.bin -kernel output/images/Image -append "rootwait root=/dev/vda ro" -drive file=output/images/rootfs.ext2,format=raw -netdev user,id=net0 -device virtio-net-device,netdev=net0 -nographic # qemu_riscv64_virt_defconfig + + qemu-system-riscv64 -M virt -bios none -kernel output/images/Image -append "rootwait root=/dev/vda ro" -drive file=output/images/rootfs.ext2,format=raw,id=hd0,if=none -device virtio-blk-device,drive=hd0 -nographic -cpu rv64,mmu=off -netdev user,id=net0 -device virtio-net-device,netdev=net0 # qemu_riscv64_nommu_virt_defconfig + +The login prompt will appear in the terminal that started Qemu. diff --git a/board/qemu/s390x/readme.txt b/board/qemu/s390x/readme.txt new file mode 100644 index 00000000000..63e899c7607 --- /dev/null +++ b/board/qemu/s390x/readme.txt @@ -0,0 +1,8 @@ +Run the emulation with: + + qemu-system-s390x -M s390-ccw-virtio -cpu max,zpci=on -m 4G -smp 2 \ + -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw \ + -append "rootwait root=/dev/vda net.ifnames=0 biosdevname=0" -display none -serial mon:stdio \ + -net nic,model=virtio -net user # qemu_s390x_defconfig + +The login prompt will appear in the terminal that started Qemu. diff --git a/board/qemu/sh4-r2d/linux-4.9.config b/board/qemu/sh4-r2d/linux-4.9.config deleted file mode 100644 index a3d65445490..00000000000 --- a/board/qemu/sh4-r2d/linux-4.9.config +++ /dev/null @@ -1,38 +0,0 @@ -CONFIG_SYSVIPC=y -CONFIG_MODULES=y -CONFIG_CPU_SUBTYPE_SH7751R=y -CONFIG_MEMORY_START=0x0c000000 -CONFIG_FLATMEM_MANUAL=y -CONFIG_SH_RTS7751R2D=y -CONFIG_RTS7751R2D_PLUS=y -CONFIG_HEARTBEAT=y -CONFIG_PCI=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_BLK_DEV_SD=y -CONFIG_ATA=y -CONFIG_PATA_PLATFORM=y -CONFIG_NETDEVICES=y -CONFIG_8139CP=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_SH_SCI=y -CONFIG_SERIAL_SH_SCI_CONSOLE=y -CONFIG_SPI=y -CONFIG_SPI_SH_SCI=y -CONFIG_MFD_SM501=y -CONFIG_FB=y -CONFIG_FB_SH_MOBILE_LCDC=y -CONFIG_FB_SH_MOBILE_HDMI=y -CONFIG_FB_SM501=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_LOGO=y -CONFIG_SOUND=y -CONFIG_SND_YMFPCI=y -CONFIG_SOUND_PRIME=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_R9701=y -CONFIG_EXT4_FS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/sh4-r2d/linux.config b/board/qemu/sh4-r2d/linux.config new file mode 100644 index 00000000000..dd4bf5204f3 --- /dev/null +++ b/board/qemu/sh4-r2d/linux.config @@ -0,0 +1,39 @@ +CONFIG_SYSVIPC=y +CONFIG_MODULES=y +CONFIG_CPU_SUBTYPE_SH7751R=y +CONFIG_MEMORY_START=0x0c000000 +CONFIG_FLATMEM_MANUAL=y +CONFIG_SH_RTS7751R2D=y +CONFIG_RTS7751R2D_PLUS=y +CONFIG_CMDLINE_FROM_BOOTLOADER=y +CONFIG_HEARTBEAT=y +CONFIG_PCI=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_PATA_PLATFORM=y +CONFIG_NETDEVICES=y +CONFIG_8139CP=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_SH_SCI=y +CONFIG_SERIAL_SH_SCI_CONSOLE=y +CONFIG_SPI=y +CONFIG_SPI_SH_SCI=y +CONFIG_MFD_SM501=y +CONFIG_FB=y +CONFIG_FB_SH_MOBILE_LCDC=y +CONFIG_FB_SH_MOBILE_HDMI=y +CONFIG_FB_SM501=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_LOGO=y +CONFIG_SOUND=y +CONFIG_SND_YMFPCI=y +CONFIG_SOUND_PRIME=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_R9701=y +CONFIG_EXT4_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/sh4-r2d/readme.txt b/board/qemu/sh4-r2d/readme.txt index aa0e369d897..b0799e47a87 100644 --- a/board/qemu/sh4-r2d/readme.txt +++ b/board/qemu/sh4-r2d/readme.txt @@ -1,8 +1,6 @@ Run the emulation with: - qemu-system-sh4 -M r2d -kernel output/images/zImage -drive file=output/images/rootfs.ext2,if=ide,format=raw -append "root=/dev/sda console=ttySC1,115200 noiotrap" -serial null -serial stdio -net nic,model=rtl8139 -net user + qemu-system-sh4 -M r2d -kernel output/images/zImage -drive file=output/images/rootfs.ext2,if=ide,format=raw -append "rootwait root=/dev/sda console=ttySC1,115200 noiotrap" -serial null -serial stdio -net nic,model=rtl8139 -net user # qemu_sh4_r2d_defconfig The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. - -Tested with QEMU 2.5.0 diff --git a/board/qemu/sh4eb-r2d/linux-4.9.config b/board/qemu/sh4eb-r2d/linux-4.9.config deleted file mode 100644 index 6ead626c410..00000000000 --- a/board/qemu/sh4eb-r2d/linux-4.9.config +++ /dev/null @@ -1,38 +0,0 @@ -CONFIG_SYSVIPC=y -CONFIG_MODULES=y -CONFIG_CPU_SUBTYPE_SH7751R=y -CONFIG_MEMORY_START=0x0c000000 -CONFIG_FLATMEM_MANUAL=y -CONFIG_CPU_BIG_ENDIAN=y -CONFIG_SH_RTS7751R2D=y -CONFIG_RTS7751R2D_PLUS=y -CONFIG_HEARTBEAT=y -CONFIG_PCI=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_BLK_DEV_SD=y -CONFIG_ATA=y -CONFIG_PATA_PLATFORM=y -CONFIG_NETDEVICES=y -CONFIG_8139CP=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_SH_SCI=y -CONFIG_SERIAL_SH_SCI_CONSOLE=y -CONFIG_SPI=y -CONFIG_SPI_SH_SCI=y -CONFIG_MFD_SM501=y -CONFIG_FB=y -CONFIG_FB_SH_MOBILE_LCDC=y -CONFIG_FB_SH_MOBILE_HDMI=y -CONFIG_FB_SM501=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_LOGO=y -CONFIG_SND_YMFPCI=y -CONFIG_SOUND_PRIME=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_R9701=y -CONFIG_EXT4_FS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/sh4eb-r2d/linux.config b/board/qemu/sh4eb-r2d/linux.config new file mode 100644 index 00000000000..5f94bee77df --- /dev/null +++ b/board/qemu/sh4eb-r2d/linux.config @@ -0,0 +1,39 @@ +CONFIG_SYSVIPC=y +CONFIG_MODULES=y +CONFIG_CPU_SUBTYPE_SH7751R=y +CONFIG_MEMORY_START=0x0c000000 +CONFIG_FLATMEM_MANUAL=y +CONFIG_CPU_BIG_ENDIAN=y +CONFIG_SH_RTS7751R2D=y +CONFIG_RTS7751R2D_PLUS=y +CONFIG_CMDLINE_FROM_BOOTLOADER=y +CONFIG_HEARTBEAT=y +CONFIG_PCI=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_BLK_DEV_SD=y +CONFIG_ATA=y +CONFIG_PATA_PLATFORM=y +CONFIG_NETDEVICES=y +CONFIG_8139CP=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_SH_SCI=y +CONFIG_SERIAL_SH_SCI_CONSOLE=y +CONFIG_SPI=y +CONFIG_SPI_SH_SCI=y +CONFIG_MFD_SM501=y +CONFIG_FB=y +CONFIG_FB_SH_MOBILE_LCDC=y +CONFIG_FB_SH_MOBILE_HDMI=y +CONFIG_FB_SM501=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_LOGO=y +CONFIG_SND_YMFPCI=y +CONFIG_SOUND_PRIME=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_R9701=y +CONFIG_EXT4_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/sh4eb-r2d/readme.txt b/board/qemu/sh4eb-r2d/readme.txt index 147adc6e2e9..9f3dd8b20b0 100644 --- a/board/qemu/sh4eb-r2d/readme.txt +++ b/board/qemu/sh4eb-r2d/readme.txt @@ -1,8 +1,6 @@ Run the emulation with: - qemu-system-sh4eb -M r2d -kernel output/images/zImage -drive file=output/images/rootfs.ext2,if=ide,format=raw -append "root=/dev/sda console=ttySC1,115200 noiotrap" -serial null -serial stdio -net nic,model=rtl8139 -net user + qemu-system-sh4eb -M r2d -kernel output/images/zImage -drive file=output/images/rootfs.ext2,if=ide,format=raw -append "rootwait root=/dev/sda console=ttySC1,115200 noiotrap" -serial null -serial stdio -net nic,model=rtl8139 -net user # qemu_sh4eb_r2d_defconfig The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. - -Tested with QEMU 2.5.0 diff --git a/board/qemu/sparc-ss10/linux-4.11.config b/board/qemu/sparc-ss10/linux.config similarity index 100% rename from board/qemu/sparc-ss10/linux-4.11.config rename to board/qemu/sparc-ss10/linux.config diff --git a/board/qemu/sparc-ss10/patches/linux-headers/linux-headers.hash b/board/qemu/sparc-ss10/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/qemu/sparc-ss10/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/qemu/sparc-ss10/patches/linux/linux.hash b/board/qemu/sparc-ss10/patches/linux/linux.hash new file mode 100644 index 00000000000..9d0d5466ca1 --- /dev/null +++ b/board/qemu/sparc-ss10/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# sha256 locally computed +sha256 9e723232d603ab45ebf043c34714c48f277ab195c29abcb8472f2a4c3a5a1995 linux-6.8.6.tar.xz diff --git a/board/qemu/sparc-ss10/readme.txt b/board/qemu/sparc-ss10/readme.txt index 0ce461d2ea8..d624b82d9f3 100644 --- a/board/qemu/sparc-ss10/readme.txt +++ b/board/qemu/sparc-ss10/readme.txt @@ -1,7 +1,5 @@ Run the emulation with: - qemu-system-sparc -M SS-10 -kernel output/images/zImage -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/sda console=ttyS0,115200" -serial stdio -net nic,model=lance -net user + qemu-system-sparc -M SS-10 -kernel output/images/zImage -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda console=ttyS0,115200" -serial stdio -net nic,model=lance -net user # qemu_sparc_ss10_defconfig The login prompt will appear in the terminal that started Qemu. - -Tested with QEMU 2.9.0 diff --git a/board/qemu/sparc64-sun4u/linux-4.11.config b/board/qemu/sparc64-sun4u/linux.config similarity index 100% rename from board/qemu/sparc64-sun4u/linux-4.11.config rename to board/qemu/sparc64-sun4u/linux.config diff --git a/board/qemu/sparc64-sun4u/readme.txt b/board/qemu/sparc64-sun4u/readme.txt index adfff7089e4..17d8cbdf9b3 100644 --- a/board/qemu/sparc64-sun4u/readme.txt +++ b/board/qemu/sparc64-sun4u/readme.txt @@ -1,7 +1,5 @@ Run the emulation with: - qemu-system-sparc64 -M sun4u -kernel output/images/vmlinux -append "root=/dev/sda console=ttyS0,115200" -serial stdio -drive file=output/images/rootfs.ext2,format=raw -net nic,model=e1000 -net user + qemu-system-sparc64 -M sun4u -kernel output/images/vmlinux -append "rootwait root=/dev/sda console=ttyS0,115200" -serial stdio -drive file=output/images/rootfs.ext2,format=raw -net nic,model=e1000 -net user # qemu_sparc64_sun4u_defconfig The login prompt will appear in the terminal that started Qemu. - -Tested with QEMU 2.9.0 diff --git a/board/qemu/start-qemu.sh.in b/board/qemu/start-qemu.sh.in new file mode 100644 index 00000000000..38024b449e7 --- /dev/null +++ b/board/qemu/start-qemu.sh.in @@ -0,0 +1,28 @@ +#!/bin/sh + +BINARIES_DIR="${0%/*}/" +# shellcheck disable=SC2164 +cd "${BINARIES_DIR}" + +mode_serial=false +mode_sys_qemu=false +while [ "$1" ]; do + case "$1" in + --serial-only|serial-only) mode_serial=true; shift;; + --use-system-qemu) mode_sys_qemu=true; shift;; + --) shift; break;; + *) echo "unknown option: $1" >&2; exit 1;; + esac +done + +if ${mode_serial}; then + EXTRA_ARGS='@SERIAL_ARGS@' +else + EXTRA_ARGS='@DEFAULT_ARGS@' +fi + +if ! ${mode_sys_qemu}; then + export PATH="@HOST_DIR@/bin:${PATH}" +fi + +exec @QEMU_CMD_LINE@ ${EXTRA_ARGS} "$@" diff --git a/board/qemu/x86/linux-4.11.config b/board/qemu/x86/linux-4.11.config deleted file mode 100644 index e3bd1454e65..00000000000 --- a/board/qemu/x86/linux-4.11.config +++ /dev/null @@ -1,45 +0,0 @@ -CONFIG_SYSVIPC=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_SMP=y -CONFIG_HYPERVISOR_GUEST=y -CONFIG_PARAVIRT=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_VIRTIO_BLK=y -CONFIG_BLK_DEV_SD=y -CONFIG_SCSI_VIRTIO=y -CONFIG_ATA=y -CONFIG_ATA_PIIX=y -CONFIG_NETDEVICES=y -CONFIG_VIRTIO_NET=y -CONFIG_NE2K_PCI=y -CONFIG_8139CP=y -CONFIG_INPUT_EVDEV=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_VIRTIO_CONSOLE=y -CONFIG_HW_RANDOM_VIRTIO=m -CONFIG_DRM=y -CONFIG_DRM_BOCHS=y -CONFIG_DRM_QXL=y -CONFIG_DRM_VIRTIO_GPU=y -CONFIG_SOUND=y -CONFIG_SND=y -CONFIG_SND_HDA_INTEL=y -CONFIG_SND_HDA_GENERIC=y -CONFIG_USB=y -CONFIG_USB_XHCI_HCD=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_UHCI_HCD=y -CONFIG_USB_STORAGE=y -CONFIG_VIRTIO_PCI=y -CONFIG_VIRTIO_BALLOON=y -CONFIG_VIRTIO_INPUT=y -CONFIG_VIRTIO_MMIO=y -CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y -CONFIG_EXT4_FS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/x86/linux.config b/board/qemu/x86/linux.config new file mode 100644 index 00000000000..a4da99ff43d --- /dev/null +++ b/board/qemu/x86/linux.config @@ -0,0 +1,52 @@ +CONFIG_SYSVIPC=y +CONFIG_CGROUPS=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_SMP=y +CONFIG_HYPERVISOR_GUEST=y +CONFIG_PARAVIRT=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +# CONFIG_WIRELESS is not set +CONFIG_PCI=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_VIRTIO_BLK=y +CONFIG_BLK_DEV_SD=y +CONFIG_SCSI_VIRTIO=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_NE2K_PCI=y +CONFIG_8139CP=y +# CONFIG_WLAN is not set +CONFIG_INPUT_EVDEV=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_DRM=y +CONFIG_DRM_QXL=y +CONFIG_DRM_BOCHS=y +CONFIG_DRM_VIRTIO_GPU=y +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_HDA_INTEL=y +CONFIG_SND_HDA_GENERIC=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_UHCI_HCD=y +CONFIG_USB_STORAGE=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_BALLOON=y +CONFIG_VIRTIO_INPUT=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y +CONFIG_EXT4_FS=y +CONFIG_AUTOFS4_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/x86/post-build.sh b/board/qemu/x86/post-build.sh new file mode 100755 index 00000000000..24eee7f0e53 --- /dev/null +++ b/board/qemu/x86/post-build.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +set -u +set -e + +# Add a console on tty1 +if [ -e "${TARGET_DIR}/etc/inittab" ]; then + grep -qE '^tty1::' "${TARGET_DIR}/etc/inittab" || \ + sed -i '/GENERIC_SERIAL/a\ +tty1::respawn:/sbin/getty -L tty1 0 vt100 # QEMU graphical window' "${TARGET_DIR}/etc/inittab" +fi diff --git a/board/qemu/x86/readme.txt b/board/qemu/x86/readme.txt index 17500961d39..a1f232e2e45 100644 --- a/board/qemu/x86/readme.txt +++ b/board/qemu/x86/readme.txt @@ -1,9 +1,7 @@ Run the emulation with: - qemu-system-i386 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append root=/dev/vda -net nic,model=virtio -net user + qemu-system-i386 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append "rootwait root=/dev/vda console=tty1 console=ttyS0" -serial stdio -net nic,model=virtio -net user # qemu_x86_defconfig Optionally add -smp N to emulate a SMP system with N CPUs. The login prompt will appear in the graphical window. - -Tested with QEMU 2.9.0 diff --git a/board/qemu/x86_64-efi/genimage.cfg.in b/board/qemu/x86_64-efi/genimage.cfg.in new file mode 100644 index 00000000000..0d50ed2ba4d --- /dev/null +++ b/board/qemu/x86_64-efi/genimage.cfg.in @@ -0,0 +1,32 @@ +image efi-part.vfat { + vfat { + file EFI { + image = "efi-part/EFI" + } + + file bzImage { + image = "bzImage" + } + } + + size = 16352K # 16MB - 32KB +} + +image disk.img { + hdimage { + partition-table-type = "gpt" + } + + partition boot { + image = "efi-part.vfat" + partition-type-uuid = U + offset = 32K + bootable = true + } + + partition root { + partition-type-uuid = root-x86-64 + partition-uuid = %PARTUUID% + image = "rootfs.ext2" + } +} diff --git a/board/qemu/x86_64-efi/grub.cfg.in b/board/qemu/x86_64-efi/grub.cfg.in new file mode 100644 index 00000000000..16a1b17516e --- /dev/null +++ b/board/qemu/x86_64-efi/grub.cfg.in @@ -0,0 +1,6 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /bzImage root=PARTUUID=%PARTUUID% rootwait console=tty1 console=ttyS0 +} diff --git a/board/qemu/x86_64-efi/linux.config b/board/qemu/x86_64-efi/linux.config new file mode 100644 index 00000000000..9362b7ecb51 --- /dev/null +++ b/board/qemu/x86_64-efi/linux.config @@ -0,0 +1,59 @@ +CONFIG_SYSVIPC=y +CONFIG_SMP=y +CONFIG_HYPERVISOR_GUEST=y +CONFIG_PARAVIRT=y +CONFIG_EFI=y +# CONFIG_GCC_PLUGINS is not set +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +# CONFIG_WIRELESS is not set +CONFIG_PCI=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_VIRTIO_BLK=y +CONFIG_BLK_DEV_SD=y +CONFIG_SCSI_VIRTIO=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_NE2K_PCI=y +CONFIG_8139CP=y +# CONFIG_WLAN is not set +CONFIG_INPUT_EVDEV=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_DRM=y +CONFIG_DRM_I915=y +CONFIG_DRM_QXL=y +CONFIG_DRM_VIRTIO_GPU=y +CONFIG_DRM_BOCHS=y +CONFIG_FB=y +CONFIG_FB_VESA=y +CONFIG_FB_EFI=y +CONFIG_FIRMWARE_EDID=y +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_HDA_INTEL=y +CONFIG_SND_HDA_GENERIC=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_UHCI_HCD=y +CONFIG_USB_STORAGE=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_BALLOON=y +CONFIG_VIRTIO_INPUT=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y +CONFIG_EXT4_FS=y +CONFIG_FUSE_FS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_SQUASHFS=y +CONFIG_UNWINDER_FRAME_POINTER=y diff --git a/board/qemu/x86_64-efi/post-build.sh b/board/qemu/x86_64-efi/post-build.sh new file mode 100755 index 00000000000..24eee7f0e53 --- /dev/null +++ b/board/qemu/x86_64-efi/post-build.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +set -u +set -e + +# Add a console on tty1 +if [ -e "${TARGET_DIR}/etc/inittab" ]; then + grep -qE '^tty1::' "${TARGET_DIR}/etc/inittab" || \ + sed -i '/GENERIC_SERIAL/a\ +tty1::respawn:/sbin/getty -L tty1 0 vt100 # QEMU graphical window' "${TARGET_DIR}/etc/inittab" +fi diff --git a/board/qemu/x86_64-efi/post-image.sh b/board/qemu/x86_64-efi/post-image.sh new file mode 100755 index 00000000000..119d7aca8fa --- /dev/null +++ b/board/qemu/x86_64-efi/post-image.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +PARTUUID=$(dumpe2fs "${BINARIES_DIR}/rootfs.ext2" 2>/dev/null | sed -n 's/^Filesystem UUID: *\(.*\)/\1/p') +sed "s/%PARTUUID%/$PARTUUID/g" "${BOARD_DIR}/grub.cfg.in" > "${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg" +sed "s/%PARTUUID%/$PARTUUID/g" "${BOARD_DIR}/genimage.cfg.in" > "${BINARIES_DIR}/genimage.cfg" +support/scripts/genimage.sh -c "${BINARIES_DIR}/genimage.cfg" diff --git a/board/qemu/x86_64-efi/readme.txt b/board/qemu/x86_64-efi/readme.txt new file mode 100644 index 00000000000..7f69be065f0 --- /dev/null +++ b/board/qemu/x86_64-efi/readme.txt @@ -0,0 +1,28 @@ +Intro +===== + +This is a x86_64 UEFI Linux boot demo in QEMU virt machine. + +Build +===== + + make qemu_x86_64_efi_defconfig + make + +Emulation +========= + +Run the emulation with: + + qemu-system-x86_64 \ + -M pc \ + -m 1024 \ + -serial stdio \ + -bios output/images/OVMF.fd \ + -drive file=output/images/disk.img,format=raw \ + -netdev user,id=net0 \ + -device virtio-net-pci,netdev=net0 # qemu_x86_64_efi_defconfig + +Optionally add -smp N to emulate a SMP system with N CPUs. + +The login prompt will appear in the graphical window. diff --git a/board/qemu/x86_64/linux-4.11.config b/board/qemu/x86_64/linux-4.11.config deleted file mode 100644 index e3bd1454e65..00000000000 --- a/board/qemu/x86_64/linux-4.11.config +++ /dev/null @@ -1,45 +0,0 @@ -CONFIG_SYSVIPC=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_SMP=y -CONFIG_HYPERVISOR_GUEST=y -CONFIG_PARAVIRT=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_VIRTIO_BLK=y -CONFIG_BLK_DEV_SD=y -CONFIG_SCSI_VIRTIO=y -CONFIG_ATA=y -CONFIG_ATA_PIIX=y -CONFIG_NETDEVICES=y -CONFIG_VIRTIO_NET=y -CONFIG_NE2K_PCI=y -CONFIG_8139CP=y -CONFIG_INPUT_EVDEV=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_VIRTIO_CONSOLE=y -CONFIG_HW_RANDOM_VIRTIO=m -CONFIG_DRM=y -CONFIG_DRM_BOCHS=y -CONFIG_DRM_QXL=y -CONFIG_DRM_VIRTIO_GPU=y -CONFIG_SOUND=y -CONFIG_SND=y -CONFIG_SND_HDA_INTEL=y -CONFIG_SND_HDA_GENERIC=y -CONFIG_USB=y -CONFIG_USB_XHCI_HCD=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_UHCI_HCD=y -CONFIG_USB_STORAGE=y -CONFIG_VIRTIO_PCI=y -CONFIG_VIRTIO_BALLOON=y -CONFIG_VIRTIO_INPUT=y -CONFIG_VIRTIO_MMIO=y -CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y -CONFIG_EXT4_FS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/x86_64/linux.config b/board/qemu/x86_64/linux.config new file mode 100644 index 00000000000..e1d2ce01b00 --- /dev/null +++ b/board/qemu/x86_64/linux.config @@ -0,0 +1,53 @@ +CONFIG_SYSVIPC=y +CONFIG_CGROUPS=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_SMP=y +CONFIG_HYPERVISOR_GUEST=y +CONFIG_PARAVIRT=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +# CONFIG_WIRELESS is not set +CONFIG_PCI=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_VIRTIO_BLK=y +CONFIG_BLK_DEV_SD=y +CONFIG_SCSI_VIRTIO=y +CONFIG_ATA=y +CONFIG_ATA_PIIX=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_NE2K_PCI=y +CONFIG_8139CP=y +# CONFIG_WLAN is not set +CONFIG_INPUT_EVDEV=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_DRM=y +CONFIG_DRM_QXL=y +CONFIG_DRM_BOCHS=y +CONFIG_DRM_VIRTIO_GPU=y +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_HDA_INTEL=y +CONFIG_SND_HDA_GENERIC=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_UHCI_HCD=y +CONFIG_USB_STORAGE=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_BALLOON=y +CONFIG_VIRTIO_INPUT=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y +CONFIG_EXT4_FS=y +CONFIG_AUTOFS4_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_UNWINDER_FRAME_POINTER=y diff --git a/board/qemu/x86_64/post-build.sh b/board/qemu/x86_64/post-build.sh new file mode 100755 index 00000000000..24eee7f0e53 --- /dev/null +++ b/board/qemu/x86_64/post-build.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +set -u +set -e + +# Add a console on tty1 +if [ -e "${TARGET_DIR}/etc/inittab" ]; then + grep -qE '^tty1::' "${TARGET_DIR}/etc/inittab" || \ + sed -i '/GENERIC_SERIAL/a\ +tty1::respawn:/sbin/getty -L tty1 0 vt100 # QEMU graphical window' "${TARGET_DIR}/etc/inittab" +fi diff --git a/board/qemu/x86_64/readme.txt b/board/qemu/x86_64/readme.txt index ecd7813a1ec..2b2ae3be20f 100644 --- a/board/qemu/x86_64/readme.txt +++ b/board/qemu/x86_64/readme.txt @@ -1,9 +1,7 @@ Run the emulation with: - qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append root=/dev/vda -net nic,model=virtio -net user + qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append "rootwait root=/dev/vda console=tty1 console=ttyS0" -serial stdio -net nic,model=virtio -net user # qemu_x86_64_defconfig Optionally add -smp N to emulate a SMP system with N CPUs. The login prompt will appear in the graphical window. - -Tested with QEMU 2.9.0 diff --git a/board/qemu/xtensa-lx60/linux-4.11-nommu.config b/board/qemu/xtensa-lx60/linux-4.11-nommu.config deleted file mode 100644 index 10f7ee125cd..00000000000 --- a/board/qemu/xtensa-lx60/linux-4.11-nommu.config +++ /dev/null @@ -1,38 +0,0 @@ -CONFIG_NO_HZ_IDLE=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_BLK_DEV_INITRD=y -CONFIG_XTENSA_VARIANT_CUSTOM=y -CONFIG_XTENSA_VARIANT_CUSTOM_NAME="dc233c" -# CONFIG_XTENSA_VARIANT_MMU is not set -CONFIG_XTENSA_UNALIGNED_USER=y -CONFIG_PREEMPT=y -CONFIG_KERNEL_LOAD_ADDRESS=0x00003000 -# CONFIG_PCI is not set -CONFIG_XTENSA_PLATFORM_XTFPGA=y -CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE="earlycon=uart8250,mmio32,0xfd050020,115200n8 console=ttyS0,115200n8 memmap=0x04000000@0" -CONFIG_DEFAULT_MEM_START=0x00000000 -CONFIG_BINFMT_FLAT=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -# CONFIG_IPV6 is not set -CONFIG_NETFILTER=y -CONFIG_DNS_RESOLVER=y -# CONFIG_WIRELESS is not set -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_NETDEVICES=y -CONFIG_MARVELL_PHY=y -# CONFIG_WLAN is not set -CONFIG_SERIAL_8250=y -# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set -CONFIG_SERIAL_8250_CONSOLE=y -# CONFIG_HWMON is not set -# CONFIG_VGA_CONSOLE is not set -CONFIG_TMPFS=y -CONFIG_FANOTIFY=y -CONFIG_PRINTK_TIME=y -# CONFIG_S32C1I_SELFTEST is not set diff --git a/board/qemu/xtensa-lx60/linux-nommu.config b/board/qemu/xtensa-lx60/linux-nommu.config new file mode 100644 index 00000000000..8077645eec0 --- /dev/null +++ b/board/qemu/xtensa-lx60/linux-nommu.config @@ -0,0 +1,39 @@ +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_XTENSA_VARIANT_CUSTOM=y +CONFIG_XTENSA_VARIANT_CUSTOM_NAME="dc233c" +# CONFIG_XTENSA_VARIANT_MMU is not set +CONFIG_XTENSA_UNALIGNED_USER=y +CONFIG_PREEMPT=y +CONFIG_MEMMAP_CACHEATTR=0x2cccccc7 +CONFIG_KERNEL_LOAD_ADDRESS=0x00003000 +# CONFIG_PCI is not set +CONFIG_XTENSA_PLATFORM_XTFPGA=y +CONFIG_CMDLINE_BOOL=y +CONFIG_CMDLINE="earlycon=uart8250,mmio32,0xfd050020,115200n8 console=ttyS0,115200n8 memmap=0x04000000@0" +CONFIG_DEFAULT_MEM_START=0x00000000 +CONFIG_BINFMT_FLAT=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +# CONFIG_IPV6 is not set +CONFIG_NETFILTER=y +CONFIG_DNS_RESOLVER=y +# CONFIG_WIRELESS is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_NETDEVICES=y +CONFIG_MARVELL_PHY=y +# CONFIG_WLAN is not set +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set +CONFIG_SERIAL_8250_CONSOLE=y +# CONFIG_HWMON is not set +# CONFIG_VGA_CONSOLE is not set +CONFIG_TMPFS=y +CONFIG_FANOTIFY=y +CONFIG_PRINTK_TIME=y +# CONFIG_S32C1I_SELFTEST is not set diff --git a/board/qemu/xtensa-lx60/linux-4.11.config b/board/qemu/xtensa-lx60/linux.config similarity index 100% rename from board/qemu/xtensa-lx60/linux-4.11.config rename to board/qemu/xtensa-lx60/linux.config diff --git a/board/qemu/xtensa-lx60/readme.txt b/board/qemu/xtensa-lx60/readme.txt index 9a82c53752d..6f0e2710c0c 100644 --- a/board/qemu/xtensa-lx60/readme.txt +++ b/board/qemu/xtensa-lx60/readme.txt @@ -1,7 +1,7 @@ Run the emulation with: - qemu-system-xtensa -M lx60 -cpu dc233c -monitor null -nographic -kernel output/images/Image.elf + qemu-system-xtensa -M lx60 -cpu dc233c -monitor null -nographic -kernel output/images/Image.elf # qemu_xtensa_lx60_defconfig -The login prompt will appear in the terminal that started Qemu. + qemu-system-xtensa -M lx60 -cpu dc233c -monitor null -nographic -kernel output/images/Image.elf # qemu_xtensa_lx60_nommu_defconfig -Tested with QEMU 2.9.0 +The login prompt will appear in the terminal that started Qemu. diff --git a/board/radxa/rock4se/extlinux.conf b/board/radxa/rock4se/extlinux.conf new file mode 100644 index 00000000000..eb037e0e0f4 --- /dev/null +++ b/board/radxa/rock4se/extlinux.conf @@ -0,0 +1,4 @@ +label Radxa ROCK 4SE Linux + kernel /boot/Image + devicetree /boot/rk3399-rock-4se.dtb + append root=/dev/mmcblk1p1 rw rootfstype=ext4 earlycon rootwait diff --git a/board/radxa/rock4se/genimage.cfg b/board/radxa/rock4se/genimage.cfg new file mode 100644 index 00000000000..966c869273f --- /dev/null +++ b/board/radxa/rock4se/genimage.cfg @@ -0,0 +1,22 @@ +image sdcard.img { + hdimage { + } + + partition u-boot-tpl-spl-dtb { + in-partition-table = "no" + image = "idbloader.img" + offset = 32K + } + + partition u-boot-dtb { + in-partition-table = "no" + image = "u-boot.itb" + offset = 8M + size = 30M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/radxa/rock4se/patches/linux-headers/linux-headers.hash b/board/radxa/rock4se/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/radxa/rock4se/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/radxa/rock4se/patches/linux/linux.hash b/board/radxa/rock4se/patches/linux/linux.hash new file mode 100644 index 00000000000..f83883b936d --- /dev/null +++ b/board/radxa/rock4se/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz diff --git a/board/radxa/rock4se/patches/uboot/uboot.hash b/board/radxa/rock4se/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/radxa/rock4se/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/radxa/rock4se/post-build.sh b/board/radxa/rock4se/post-build.sh new file mode 100755 index 00000000000..d84a5da0b0f --- /dev/null +++ b/board/radxa/rock4se/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$TARGET_DIR"/boot/extlinux/extlinux.conf diff --git a/board/radxa/rock4se/readme.txt b/board/radxa/rock4se/readme.txt new file mode 100644 index 00000000000..30cf621746c --- /dev/null +++ b/board/radxa/rock4se/readme.txt @@ -0,0 +1,37 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the Radxa ROCK 4SE. With the current configuration +it will bring-up the board, and allow access through the serial console. + +Radxa ROCK 4SE link: +https://radxa.com/products/rock4/4se/ + +Wiki link: +https://forum.radxa.com/c/rockpi4 + +GPIO connector pinout link: +https://wiki.radxa.com/Rockpi4/hardware/gpio + +This configuration uses mainline ATF, U-Boot and kernel. + +How to build +============ + + $ make rock4se_defconfig + $ make + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your Radxa ROCK 4SE and power it up. The console +is available on UART2 on the GPIO connector, 1500000bps 8N1. diff --git a/board/radxa/rock5b/extlinux.conf b/board/radxa/rock5b/extlinux.conf new file mode 100644 index 00000000000..c4198deaa06 --- /dev/null +++ b/board/radxa/rock5b/extlinux.conf @@ -0,0 +1,4 @@ +label Radxa Rock 5b Linux + kernel /boot/Image + devicetree /boot/rk3588-rock-5b.dtb + append root=PARTLABEL=rootfs earlycon rootwait diff --git a/board/radxa/rock5b/genimage.cfg b/board/radxa/rock5b/genimage.cfg new file mode 100644 index 00000000000..070cc03dc24 --- /dev/null +++ b/board/radxa/rock5b/genimage.cfg @@ -0,0 +1,25 @@ +# SD card image for Radxa Rock 5b + +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition uboot { + in-partition-table = "false" + image = "u-boot-rockchip.bin" + offset = 32K + } + + partition uboot-env { + partition-type-uuid = 3de21764-95bd-54bd-a5c3-4abe786f38a8 + offset = 16M + size = 64K + } + + partition rootfs { + partition-type-uuid = L + image = "rootfs.ext2" + bootable = true + } +} diff --git a/board/radxa/rock5b/linux.fragment b/board/radxa/rock5b/linux.fragment new file mode 100644 index 00000000000..90f2f291ba1 --- /dev/null +++ b/board/radxa/rock5b/linux.fragment @@ -0,0 +1,2 @@ +CONFIG_R8169=y +CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=y diff --git a/board/radxa/rock5b/patches/linux-headers/linux-headers.hash b/board/radxa/rock5b/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/radxa/rock5b/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/radxa/rock5b/patches/linux/linux.hash b/board/radxa/rock5b/patches/linux/linux.hash new file mode 100644 index 00000000000..d00eed9a49f --- /dev/null +++ b/board/radxa/rock5b/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 6f35f821433d8421be7167990747c7c4a0c451958fb96883446301af13d71152 linux-6.12.4.tar.xz diff --git a/board/radxa/rock5b/patches/uboot/uboot.hash b/board/radxa/rock5b/patches/uboot/uboot.hash new file mode 100644 index 00000000000..9acf6071ac8 --- /dev/null +++ b/board/radxa/rock5b/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally computed: +sha256 cdef7d507c93f1bbd9f015ea9bc21fa074268481405501945abc6f854d5b686f u-boot-2025.01.tar.bz2 diff --git a/board/radxa/rock5b/post-build.sh b/board/radxa/rock5b/post-build.sh new file mode 100755 index 00000000000..d84a5da0b0f --- /dev/null +++ b/board/radxa/rock5b/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$TARGET_DIR"/boot/extlinux/extlinux.conf diff --git a/board/radxa/rock5b/readme.txt b/board/radxa/rock5b/readme.txt new file mode 100644 index 00000000000..441c28db25b --- /dev/null +++ b/board/radxa/rock5b/readme.txt @@ -0,0 +1,57 @@ +RADXA ROCK 5B +============== +https://wiki.radxa.com/Rock5/hardware/5b + +Build: +====== + $ make rock5b_defconfig + $ make + +Files created in output directory +================================= + +output/images +. +├── Image +├── rk3588_bl31_v1.40.elf +├── rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.12.bin +├── rk3588-rock-5b.dtb +├── rootfs.ext2 +├── rootfs.ext4 +├── rootfs.tar +├── sdcard.img +├── u-boot.bin +└── u-boot-rockchip.bin + +Creating bootable SD card: +========================== + +Simply invoke (as root) + +sudo dd if=output/images/sdcard.img of=/dev/sdX && sync + +Where X is your SD card device. + +Booting: +======== + +Serial console: +--------------- +The Rock 5B has a 40-pin GPIO header. Its layout can be seen here: +https://wiki.radxa.com/Rock5/hardware/5b/gpio + +The Uart pins are as follows: + +pin 6: gnd +pin 8: tx +pin 10: rx + +Baudrate for this board is 1500000. + +Login: +------ +Enter 'root' as login user, and the prompt is ready. + +wiki link: +---------- +https://forum.radxa.com/c/rock5 diff --git a/board/radxa/rock5b/u-boot.fragment b/board/radxa/rock5b/u-boot.fragment new file mode 100644 index 00000000000..ceba8d609a6 --- /dev/null +++ b/board/radxa/rock5b/u-boot.fragment @@ -0,0 +1,5 @@ +CONFIG_ENV_SIZE=0x10000 +CONFIG_PARTITION_TYPE_GUID=y +# CONFIG_ENV_IS_NOWHERE is not set +CONFIG_ENV_IS_IN_MMC=y +CONFIG_SYS_MMC_ENV_DEV=1 diff --git a/package/rpi-firmware/cmdline.txt b/board/raspberrypi/cmdline.txt similarity index 100% rename from package/rpi-firmware/cmdline.txt rename to board/raspberrypi/cmdline.txt diff --git a/board/raspberrypi/cmdline_5.txt b/board/raspberrypi/cmdline_5.txt new file mode 100644 index 00000000000..ac457353e2e --- /dev/null +++ b/board/raspberrypi/cmdline_5.txt @@ -0,0 +1 @@ +root=/dev/mmcblk0p2 rootwait console=tty1 console=ttyAMA10,115200 diff --git a/board/raspberrypi/config_0w.txt b/board/raspberrypi/config_0w.txt new file mode 100644 index 00000000000..0267210e2db --- /dev/null +++ b/board/raspberrypi/config_0w.txt @@ -0,0 +1,26 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start.elf +fixup_file=fixup.dat + +kernel=zImage + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 + +# Enable UART0 for serial console on ttyAMA0 +dtoverlay=miniuart-bt diff --git a/board/raspberrypi/config_2_64bit.txt b/board/raspberrypi/config_2_64bit.txt new file mode 100644 index 00000000000..5b531b1caed --- /dev/null +++ b/board/raspberrypi/config_2_64bit.txt @@ -0,0 +1,26 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start.elf +fixup_file=fixup.dat + +kernel=Image + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 + +# enable 64bits support +arm_64bit=1 diff --git a/board/raspberrypi/config_3.txt b/board/raspberrypi/config_3.txt new file mode 100644 index 00000000000..0267210e2db --- /dev/null +++ b/board/raspberrypi/config_3.txt @@ -0,0 +1,26 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start.elf +fixup_file=fixup.dat + +kernel=zImage + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 + +# Enable UART0 for serial console on ttyAMA0 +dtoverlay=miniuart-bt diff --git a/board/raspberrypi/config_3_64bit.txt b/board/raspberrypi/config_3_64bit.txt new file mode 100644 index 00000000000..bbd8b69363b --- /dev/null +++ b/board/raspberrypi/config_3_64bit.txt @@ -0,0 +1,29 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start.elf +fixup_file=fixup.dat + +kernel=Image + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 + +# Enable UART0 for serial console on ttyAMA0 +dtoverlay=miniuart-bt + +# enable 64bits support +arm_64bit=1 diff --git a/board/raspberrypi/config_3_qt5we.txt b/board/raspberrypi/config_3_qt5we.txt new file mode 100644 index 00000000000..3d81a4e5da3 --- /dev/null +++ b/board/raspberrypi/config_3_qt5we.txt @@ -0,0 +1,26 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start.elf +fixup_file=fixup.dat + +kernel=zImage + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=200 + +# Enable UART0 for serial console on ttyAMA0 +dtoverlay=miniuart-bt diff --git a/board/raspberrypi/config_4.txt b/board/raspberrypi/config_4.txt new file mode 100644 index 00000000000..13a7238f6e7 --- /dev/null +++ b/board/raspberrypi/config_4.txt @@ -0,0 +1,26 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start4.elf +fixup_file=fixup4.dat + +kernel=zImage + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 + +# Enable UART0 for serial console on ttyAMA0 +dtoverlay=miniuart-bt diff --git a/board/raspberrypi/config_4_64bit.txt b/board/raspberrypi/config_4_64bit.txt new file mode 100644 index 00000000000..2eef6dd1a2e --- /dev/null +++ b/board/raspberrypi/config_4_64bit.txt @@ -0,0 +1,29 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start4.elf +fixup_file=fixup4.dat + +kernel=Image + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 + +# Enable UART0 for serial console on ttyAMA0 +dtoverlay=miniuart-bt + +# enable 64bits support +arm_64bit=1 diff --git a/board/raspberrypi/config_5.txt b/board/raspberrypi/config_5.txt new file mode 100644 index 00000000000..bbed19fe46d --- /dev/null +++ b/board/raspberrypi/config_5.txt @@ -0,0 +1,14 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +kernel=Image + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 diff --git a/board/raspberrypi/config_cm4io.txt b/board/raspberrypi/config_cm4io.txt new file mode 100644 index 00000000000..15751e71875 --- /dev/null +++ b/board/raspberrypi/config_cm4io.txt @@ -0,0 +1,33 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start4.elf +fixup_file=fixup4.dat + +kernel=zImage + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 + +# Enable UART0 for serial console on ttyAMA0 +dtoverlay=miniuart-bt + +# enable RTC +dtparam=i2c_vc=on +dtoverlay=i2c-rtc,pcf85063a,i2c_csi_dsi + +# enable dwc2 USB controller (USB 2.0) +dtoverlay=dwc2,dr_mode=host diff --git a/board/raspberrypi/config_cm4io_64bit.txt b/board/raspberrypi/config_cm4io_64bit.txt new file mode 100644 index 00000000000..4884bda553c --- /dev/null +++ b/board/raspberrypi/config_cm4io_64bit.txt @@ -0,0 +1,37 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start4.elf +fixup_file=fixup4.dat + +kernel=Image + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 + +# Enable UART0 for serial console on ttyAMA0 +dtoverlay=miniuart-bt + +# enable RTC +dtparam=i2c_vc=on +dtoverlay=i2c-rtc,pcf85063a,i2c_csi_dsi + +# enable dwc2 USB controller (USB 2.0) +dtoverlay=dwc2,dr_mode=host + +# enable 64bits support +arm_64bit=1 + diff --git a/board/raspberrypi/config_cm5io.txt b/board/raspberrypi/config_cm5io.txt new file mode 100644 index 00000000000..b66efef6611 --- /dev/null +++ b/board/raspberrypi/config_cm5io.txt @@ -0,0 +1,24 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +kernel=Image + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# enable RTC +dtparam=i2c_vc=on +dtoverlay=i2c-rtc,pcf85063a,i2c_csi_dsi + +# enable dwc2 USB controller (USB 2.0) +dtoverlay=dwc2,dr_mode=host + +# Enable UART0 for serial console on ttyAMA0 +dtparam=uart0_console=on diff --git a/board/raspberrypi/config_default.txt b/board/raspberrypi/config_default.txt new file mode 100644 index 00000000000..c09ecca1a99 --- /dev/null +++ b/board/raspberrypi/config_default.txt @@ -0,0 +1,23 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start.elf +fixup_file=fixup.dat + +kernel=zImage + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 diff --git a/board/raspberrypi/config_zero2w.txt b/board/raspberrypi/config_zero2w.txt new file mode 100644 index 00000000000..0267210e2db --- /dev/null +++ b/board/raspberrypi/config_zero2w.txt @@ -0,0 +1,26 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start.elf +fixup_file=fixup.dat + +kernel=zImage + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 + +# Enable UART0 for serial console on ttyAMA0 +dtoverlay=miniuart-bt diff --git a/board/raspberrypi/config_zero2w_64bit.txt b/board/raspberrypi/config_zero2w_64bit.txt new file mode 100644 index 00000000000..bbd8b69363b --- /dev/null +++ b/board/raspberrypi/config_zero2w_64bit.txt @@ -0,0 +1,29 @@ +# Please note that this is only a sample, we recommend you to change it to fit +# your needs. +# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE. +# See http://buildroot.org/manual.html#rootfs-custom +# and http://elinux.org/RPiconfig for a description of config.txt syntax + +start_file=start.elf +fixup_file=fixup.dat + +kernel=Image + +# To use an external initramfs file +#initramfs rootfs.cpio.gz + +# Disable overscan assuming the display supports displaying the full resolution +# If the text shown on the screen disappears off the edge, comment this out +disable_overscan=1 + +# How much memory in MB to assign to the GPU on Pi models having +# 256, 512 or 1024 MB total memory +gpu_mem_256=100 +gpu_mem_512=100 +gpu_mem_1024=100 + +# Enable UART0 for serial console on ttyAMA0 +dtoverlay=miniuart-bt + +# enable 64bits support +arm_64bit=1 diff --git a/board/raspberrypi/genimage-raspberrypi.cfg b/board/raspberrypi/genimage-raspberrypi.cfg deleted file mode 100644 index bd5166a0f31..00000000000 --- a/board/raspberrypi/genimage-raspberrypi.cfg +++ /dev/null @@ -1,32 +0,0 @@ -image boot.vfat { - vfat { - files = { - "bcm2708-rpi-b.dtb", - "bcm2708-rpi-b-plus.dtb", - "bcm2708-rpi-cm.dtb", - "rpi-firmware/bootcode.bin", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "zImage" - } - } - size = 32M -} - -image sdcard.img { - hdimage { - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/raspberrypi/genimage-raspberrypi0.cfg b/board/raspberrypi/genimage-raspberrypi0.cfg deleted file mode 100644 index 212c30607e1..00000000000 --- a/board/raspberrypi/genimage-raspberrypi0.cfg +++ /dev/null @@ -1,31 +0,0 @@ -image boot.vfat { - vfat { - files = { - "bcm2708-rpi-b-plus.dtb", - "bcm2708-rpi-0-w.dtb", - "rpi-firmware/bootcode.bin", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "zImage" - } - } - size = 32M -} - -image sdcard.img { - hdimage { - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/raspberrypi/genimage-raspberrypi2.cfg b/board/raspberrypi/genimage-raspberrypi2.cfg deleted file mode 100644 index a3be2a34426..00000000000 --- a/board/raspberrypi/genimage-raspberrypi2.cfg +++ /dev/null @@ -1,30 +0,0 @@ -image boot.vfat { - vfat { - files = { - "bcm2709-rpi-2-b.dtb", - "rpi-firmware/bootcode.bin", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "zImage" - } - } - size = 32M -} - -image sdcard.img { - hdimage { - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/raspberrypi/genimage-raspberrypi3-64.cfg b/board/raspberrypi/genimage-raspberrypi3-64.cfg deleted file mode 100644 index c5f86527d0a..00000000000 --- a/board/raspberrypi/genimage-raspberrypi3-64.cfg +++ /dev/null @@ -1,31 +0,0 @@ -image boot.vfat { - vfat { - files = { - "bcm2710-rpi-3-b.dtb", - "bcm2837-rpi-3-b.dtb", - "rpi-firmware/bootcode.bin", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "Image" - } - } - size = 32M -} - -image sdcard.img { - hdimage { - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/raspberrypi/genimage-raspberrypi3.cfg b/board/raspberrypi/genimage-raspberrypi3.cfg deleted file mode 100644 index 98ff7090356..00000000000 --- a/board/raspberrypi/genimage-raspberrypi3.cfg +++ /dev/null @@ -1,32 +0,0 @@ -image boot.vfat { - vfat { - files = { - "bcm2710-rpi-3-b.dtb", - "bcm2710-rpi-cm3.dtb", - "rpi-firmware/bootcode.bin", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "rpi-firmware/overlays", - "zImage" - } - } - size = 32M -} - -image sdcard.img { - hdimage { - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/raspberrypi/genimage.cfg.in b/board/raspberrypi/genimage.cfg.in new file mode 100644 index 00000000000..fd38b86a0cf --- /dev/null +++ b/board/raspberrypi/genimage.cfg.in @@ -0,0 +1,25 @@ +image boot.vfat { + vfat { + files = { +#BOOT_FILES# + } + } + + size = 32M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/raspberrypi/linux-4k-page-size.fragment b/board/raspberrypi/linux-4k-page-size.fragment new file mode 100644 index 00000000000..5df91df1aa0 --- /dev/null +++ b/board/raspberrypi/linux-4k-page-size.fragment @@ -0,0 +1 @@ +CONFIG_ARM64_4K_PAGES=y diff --git a/board/raspberrypi/patches/linux-headers/linux-headers.hash b/board/raspberrypi/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/raspberrypi/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/raspberrypi/patches/linux/linux.hash b/board/raspberrypi/patches/linux/linux.hash new file mode 100644 index 00000000000..fedfd9d4c97 --- /dev/null +++ b/board/raspberrypi/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 7c31df8061aae748a6e72417bfe743a54198fb5bdc96e229ecc605dc621d32ef linux-21b410140c47ffab5668399f6f143c7d7b935c8b.tar.gz diff --git a/board/raspberrypi/post-build.sh b/board/raspberrypi/post-build.sh index 5e5eb711007..73026e59228 100755 --- a/board/raspberrypi/post-build.sh +++ b/board/raspberrypi/post-build.sh @@ -8,4 +8,9 @@ if [ -e ${TARGET_DIR}/etc/inittab ]; then grep -qE '^tty1::' ${TARGET_DIR}/etc/inittab || \ sed -i '/GENERIC_SERIAL/a\ tty1::respawn:/sbin/getty -L tty1 0 vt100 # HDMI console' ${TARGET_DIR}/etc/inittab +# systemd doesn't use /etc/inittab, enable getty.tty1.service instead +elif [ -d ${TARGET_DIR}/etc/systemd ]; then + mkdir -p "${TARGET_DIR}/etc/systemd/system/getty.target.wants" + ln -sf /lib/systemd/system/getty@.service \ + "${TARGET_DIR}/etc/systemd/system/getty.target.wants/getty@tty1.service" fi diff --git a/board/raspberrypi/post-image.sh b/board/raspberrypi/post-image.sh index a2d6a98e79f..9b9eac972ba 100755 --- a/board/raspberrypi/post-image.sh +++ b/board/raspberrypi/post-image.sh @@ -1,56 +1,41 @@ #!/bin/bash +set -e + BOARD_DIR="$(dirname $0)" BOARD_NAME="$(basename ${BOARD_DIR})" GENIMAGE_CFG="${BOARD_DIR}/genimage-${BOARD_NAME}.cfg" GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" -for arg in "$@" -do - case "${arg}" in - --add-pi3-miniuart-bt-overlay) - if ! grep -qE '^dtoverlay=' "${BINARIES_DIR}/rpi-firmware/config.txt"; then - echo "Adding 'dtoverlay=pi3-miniuart-bt' to config.txt (fixes ttyAMA0 serial console)." - cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt" - -# fixes rpi3 ttyAMA0 serial console -dtoverlay=pi3-miniuart-bt -__EOF__ - fi - ;; - --aarch64) - # Run a 64bits kernel (armv8) - sed -e '/^kernel=/s,=.*,=Image,' -i "${BINARIES_DIR}/rpi-firmware/config.txt" - if ! grep -qE '^arm_control=0x200' "${BINARIES_DIR}/rpi-firmware/config.txt"; then - cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt" - -# enable 64bits support -arm_control=0x200 -__EOF__ - fi - - # Enable uart console - if ! grep -qE '^enable_uart=1' "${BINARIES_DIR}/rpi-firmware/config.txt"; then - cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt" - -# enable rpi3 ttyS0 serial console -enable_uart=1 -__EOF__ - fi - ;; - --gpu_mem_256=*|--gpu_mem_512=*|--gpu_mem_1024=*) - # Set GPU memory - gpu_mem="${1:2}" - sed -e "/^${gpu_mem%=*}=/s,=.*,=${gpu_mem##*=}," -i "${BINARIES_DIR}/rpi-firmware/config.txt" - ;; - esac - -done +# generate genimage from template if a board specific variant doesn't exists +if [ ! -e "${GENIMAGE_CFG}" ]; then + GENIMAGE_CFG="${BINARIES_DIR}/genimage.cfg" + FILES=() + + for i in "${BINARIES_DIR}"/*.dtb "${BINARIES_DIR}"/rpi-firmware/*; do + FILES+=( "${i#${BINARIES_DIR}/}" ) + done + + KERNEL=$(sed -n 's/^kernel=//p' "${BINARIES_DIR}/rpi-firmware/config.txt") + FILES+=( "${KERNEL}" ) + + BOOT_FILES=$(printf '\\t\\t\\t"%s",\\n' "${FILES[@]}") + sed "s|#BOOT_FILES#|${BOOT_FILES}|" "${BOARD_DIR}/genimage.cfg.in" \ + > "${GENIMAGE_CFG}" +fi + +# Pass an empty rootpath. genimage makes a full copy of the given rootpath to +# ${GENIMAGE_TMP}/root so passing TARGET_DIR would be a waste of time and disk +# space. We don't rely on genimage to build the rootfs image, just to insert a +# pre-built one in the disk image. + +trap 'rm -rf "${ROOTPATH_TMP}"' EXIT +ROOTPATH_TMP="$(mktemp -d)" rm -rf "${GENIMAGE_TMP}" -genimage \ - --rootpath "${TARGET_DIR}" \ +genimage \ + --rootpath "${ROOTPATH_TMP}" \ --tmppath "${GENIMAGE_TMP}" \ --inputpath "${BINARIES_DIR}" \ --outputpath "${BINARIES_DIR}" \ diff --git a/board/raspberrypi/readme.txt b/board/raspberrypi/readme.txt index 948269347bd..31ff424a837 100644 --- a/board/raspberrypi/readme.txt +++ b/board/raspberrypi/readme.txt @@ -6,8 +6,21 @@ Intro These instructions apply to all models of the Raspberry Pi: - the original models A and B, - the "enhanced" models A+ and B+, + - the model CM (aka Raspberry Pi Compute Module). + - the model Zero (aka Raspberry Pi Zero) + - the model Zero W (aka Raspberry Pi Zero W) + - the model Zero 2 W (aka Raspberry Pi Zero 2 W) - the model B2 (aka Raspberry Pi 2) - the model B3 (aka Raspberry Pi 3). + - the model CM3 (aka Raspberry Pi Compute Module 3). + - the model CM3+ (aka Raspberry Pi Compute Module 3+). + - the model B4 (aka Raspberry Pi 4). + - the model 400 (aka Raspberry Pi 400). + - the model CM4 (aka Raspberry Pi Compute Module 4 and IO Board). + - the model CM4s (aka Raspberry Pi Compute Module 4s). + - the model B5 (aka Raspberry Pi 5). + - the model 500 (aka Raspberry Pi 500). + - the model CM5 (aka Raspberry Pi Compute Module 5 and IO Board). How to build it =============== @@ -15,10 +28,10 @@ How to build it Configure Buildroot ------------------- -There are two RaspberryPi defconfig files in Buildroot, one for each -major variant, which you should base your work on: +There are several Raspberry Pi defconfig files in Buildroot, one for +each major variant, which you should base your work on: -For models A, B, A+ or B+: +For models A, B, A+, B+ and CM: $ make raspberrypi_defconfig @@ -26,14 +39,58 @@ For model Zero (model A+ in smaller form factor): $ make raspberrypi0_defconfig +or for model Zero W (model Zero with wireless LAN and Bluetooth): + + $ make raspberrypi0w_defconfig + +For model Zero 2 W (model B3 in smaller form factor): + + $ make raspberrypizero2w_defconfig + +or for model Zero 2 W (model B3 in smaller form factor, 64-bit): + + $ make raspberrypizero2w_64_defconfig + For model 2 B: $ make raspberrypi2_defconfig -For model 3 B: +or for model 2 B (Rev 1.2, model B3 without wireless LAN and Bluetooth, 64 bit): + + $ make raspberrypi2_64_defconfig + +For model 3 B, B+, CM3 and CM3+: $ make raspberrypi3_defconfig +or for model 3 B, B+, CM3 and CM3+ (64 bit): + + $ make raspberrypi3_64_defconfig + +For model 4 B, 400, CM4 and CM4s: + + $ make raspberrypi4_defconfig + +or for model 4 B, 400, CM4 and CM4s (64 bit): + + $ make raspberrypi4_64_defconfig + +For model CM4 (on IO Board): + + $ make raspberrypicm4io_defconfig + +or for CM4 (on IO Board - 64 bit): + + $ make raspberrypicm4io_64_defconfig + +For model 5 B and 500: + + $ make raspberrypi5_defconfig + +For model CM5 (on IO Board): + + $ make raspberrypicm5io_defconfig + Build the rootfs ---------------- @@ -52,29 +109,58 @@ Result of the build After building, you should obtain this tree: output/images/ + +-- bcm2708-rpi-b-rev1.dtb [1] +-- bcm2708-rpi-b.dtb [1] +-- bcm2708-rpi-b-plus.dtb [1] + +-- bcm2708-rpi-cm.dtb [1] + +-- bcm2708-rpi-zero.dtb [1] + +-- bcm2708-rpi-zero-w.dtb [1] +-- bcm2709-rpi-2-b.dtb [1] + +-- bcm2710-rpi-2-b.dtb [1] +-- bcm2710-rpi-3-b.dtb [1] + +-- bcm2710-rpi-3-b-plus.dtb [1] + +-- bcm2710-rpi-cm3.dtb [1] + +-- bcm2710-rpi-zero-2-w.dtb [1] + +-- bcm2711-rpi-4-b.dtb [1] + +-- bcm2711-rpi-400.dtb [1] + +-- bcm2711-rpi-cm4.dtb [1] + +-- bcm2711-rpi-cm4s.dtb [1] + +-- bcm2712-rpi-5-b.dtb [1] + +-- bcm2712d0-rpi-5-b.dtb [1] + +-- bcm2712-rpi-500.dtb [1] + +-- bcm2712-rpi-cm5-cm5io [1] + +-- bcm2712-rpi-cm5l-cm5io [1] +-- boot.vfat +-- rootfs.ext4 +-- rpi-firmware/ - | +-- bootcode.bin + | +-- bootcode.bin [2] | +-- cmdline.txt | +-- config.txt - | +-- fixup.dat - | +-- start.elf - | `-- overlays/ [2] + | +-- fixup.dat [3] + | +-- fixup4.dat [4] + | +-- start.elf [3] + | +-- start4.elf [4] + | `-- overlays/ [5] +-- sdcard.img - `-- zImage + +-- Image [1] + `-- zImage [1] [1] Not all of them will be present, depending on the RaspberryPi model you are using. -[2] Only for the Raspberry Pi 3 Model (overlay pi3-miniuart-bt is needed - to enable the RPi3 serial console otherwise occupied by the bluetooth - chip). Alternative would be to disable the serial console in cmdline.txt - and /etc/inittab. +[2] Only for the Raspberry Pi 1, 2, 3, Zero, Zero W and Zero 2 W. The Raspberry + Pi 4, 400, 5 and the Compute Module 4, 4s and 5 load the second stage + bootloader from a SPI flash EEPROM. + +[3] Only for the Raspberry Pi 1, 2, 3, Zero and Zero 2. + +[4] Only for the Raspberry Pi 4, 400, Compute Module 4 and 4s. + +[5] Only for the Raspberry Pi installing device-tree overlays. The Raspberry Pi + with Bluetooth connectivity (Zero W, Zero 2 W, 3, 4, 400, Compute Module 4 + and 4s) use the miniuart-bt overlay to enable UART0 for the serial console; + the Bluetooth uses the mini-UART instead. Alternative would be to disable + the serial console in cmdline.txt and /etc/inittab. How to write the SD card ======================== @@ -90,3 +176,61 @@ Insert the SDcard into your Raspberry Pi, and power it up. Your new system should come up now and start two consoles: one on the serial port on the P1 header, one on the HDMI output where you can login using a USB keyboard. + +How to write to CM4 eMMC memory +=============================== + +For CM4 modules without eMMC memory see above for booting from SD card, +for CM4 modules with eMMC memory proceed as following: + +- fit jumper on IO Board header J2 to disable eMMC boot +- connect IO Board micro USB port (J11 USB slave) to your host linux system +- power up CM4/IO Board (lsusb command should show a '0a5c:2711 Broadcom Corp. + BCM2711 Boot' device) +- run 'sudo ./host/bin/rpiboot', output should look like the following: + Waiting for BCM2835/6/7/2711... + Loading embedded: bootcode4.bin + Sending bootcode.bin + Successful read 4 bytes + Waiting for BCM2835/6/7/2711... + Loading embedded: bootcode4.bin + Second stage boot server + Loading embedded: start4.elf + File read: start4.elf + Second stage boot server done + +- a USB mass storage device should show up (the CM4 eMMC memory), proceed + as described above to copy sdcard.img to it +- power down CM4/IO Board +- remove jumper on IO Board header J2 to re-enable eMMC boot +- power up CM4/IO Board + +CM5 debug UART +============== + +The debug UART header is not assembled on the Compute Module 5. + + 2.23. Debug UART + + Space is provided for the user to fit a debug UART connector. This + connector provides the same functionality as Raspberry Pi 5. The + connector is a three-pin 1mm pitch JST-SH connector, Part number + BM03B-SRSS-TB. The signals are replicated on the bottom as test points. + + Appendix B: Test Points + + | Reference | X | Y | NAME | + | TP35 | 11 | 37.8 | DEBUG_UART_TX | + | TP36 | 8.5 | 37.1 | DEBUG_UART_RX | + + Debug UART + + TP35 and TP36 are a TX and RX of the debug UART. TP46 should be used as + the ground. It is very useful to have access to these pins during + programming and initial boot. + +See https://datasheets.raspberrypi.com/cm5/cm5-datasheet.pdf. + +The signals are not wired up to 100-pin headers either. And thus, it is +impossible to output early boot traces in the EEPROM firmware without +assembling a JST-SH connector (or using the test points). diff --git a/board/raspberrypi0w b/board/raspberrypi0w new file mode 120000 index 00000000000..fcdafc81edb --- /dev/null +++ b/board/raspberrypi0w @@ -0,0 +1 @@ +raspberrypi \ No newline at end of file diff --git a/board/raspberrypi2-64 b/board/raspberrypi2-64 new file mode 120000 index 00000000000..fcdafc81edb --- /dev/null +++ b/board/raspberrypi2-64 @@ -0,0 +1 @@ +raspberrypi \ No newline at end of file diff --git a/board/raspberrypi4 b/board/raspberrypi4 new file mode 120000 index 00000000000..fcdafc81edb --- /dev/null +++ b/board/raspberrypi4 @@ -0,0 +1 @@ +raspberrypi \ No newline at end of file diff --git a/board/raspberrypi4-64 b/board/raspberrypi4-64 new file mode 120000 index 00000000000..fcdafc81edb --- /dev/null +++ b/board/raspberrypi4-64 @@ -0,0 +1 @@ +raspberrypi \ No newline at end of file diff --git a/board/raspberrypi5 b/board/raspberrypi5 new file mode 120000 index 00000000000..fcdafc81edb --- /dev/null +++ b/board/raspberrypi5 @@ -0,0 +1 @@ +raspberrypi \ No newline at end of file diff --git a/board/raspberrypicm4io b/board/raspberrypicm4io new file mode 120000 index 00000000000..fcdafc81edb --- /dev/null +++ b/board/raspberrypicm4io @@ -0,0 +1 @@ +raspberrypi \ No newline at end of file diff --git a/board/raspberrypicm4io-64 b/board/raspberrypicm4io-64 new file mode 120000 index 00000000000..fcdafc81edb --- /dev/null +++ b/board/raspberrypicm4io-64 @@ -0,0 +1 @@ +raspberrypi \ No newline at end of file diff --git a/board/raspberrypicm5io b/board/raspberrypicm5io new file mode 120000 index 00000000000..fcdafc81edb --- /dev/null +++ b/board/raspberrypicm5io @@ -0,0 +1 @@ +raspberrypi \ No newline at end of file diff --git a/board/raspberrypizero2w b/board/raspberrypizero2w new file mode 120000 index 00000000000..fcdafc81edb --- /dev/null +++ b/board/raspberrypizero2w @@ -0,0 +1 @@ +raspberrypi \ No newline at end of file diff --git a/board/raspberrypizero2w-64 b/board/raspberrypizero2w-64 new file mode 120000 index 00000000000..fcdafc81edb --- /dev/null +++ b/board/raspberrypizero2w-64 @@ -0,0 +1 @@ +raspberrypi \ No newline at end of file diff --git a/board/roseapplepi/genimage.cfg b/board/roseapplepi/genimage.cfg deleted file mode 100644 index 4d40e65bba2..00000000000 --- a/board/roseapplepi/genimage.cfg +++ /dev/null @@ -1,43 +0,0 @@ -# Minimal SD card image for the Roseapple Pi -# -image boot.vfat { - vfat { - files = { - "uEnv.txt", - "uImage" - } - file kernel.dtb { - image = "actduino_bubble_gum_sdboot_linux.dtb" - } - } - size = 10M -} - -image sdcard.img { - hdimage { - } - - partition s500-bootloader { - in-partition-table = "no" - image = "s500-bootloader.bin" - offset = 0x200200 - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot-dtb.img" - offset = 0x300000 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 512M - } -} diff --git a/board/roseapplepi/patches/linux/0001-unbreak-xhci-trace.patch b/board/roseapplepi/patches/linux/0001-unbreak-xhci-trace.patch deleted file mode 100644 index 79e8c800d23..00000000000 --- a/board/roseapplepi/patches/linux/0001-unbreak-xhci-trace.patch +++ /dev/null @@ -1,31 +0,0 @@ -[PATCH] unbreak xhci-trace compilation - -When commit 84a99f6fc5d4 (xhci: add traces for debug messages in -xhci_address_device) was backported to the owl tree as part of commit -5b2ea66f15396 (usb: add owl usb driver), the specific CFLAGS needed for -xhci-trace.c were missed, causing build breakage: - - CC drivers/usb/host/xhci-trace.o -In file included from drivers/usb/host/xhci-trace.h:151:0, - from drivers/usb/host/xhci-trace.c:15: -include/trace/define_trace.h:79:43: fatal error: ./xhci-trace.h: No such file or directory - -Signed-off-by: Peter Korsgaard ---- - drivers/usb/host/Makefile | 3 +++ - 1 file changed, 3 insertions(+) - -Index: linux-59dbf6a4998e967eb9c6bdcc9b506c0d96acb26b/drivers/usb/host/Makefile -=================================================================== ---- linux-59dbf6a4998e967eb9c6bdcc9b506c0d96acb26b.orig/drivers/usb/host/Makefile -+++ linux-59dbf6a4998e967eb9c6bdcc9b506c0d96acb26b/drivers/usb/host/Makefile -@@ -4,6 +4,9 @@ - - ccflags-$(CONFIG_USB_DEBUG) := -DDEBUG - -+# tell define_trace.h where to find the xhci trace header -+CFLAGS_xhci-trace.o := -I$(src) -+ - isp1760-y := isp1760-hcd.o isp1760-if.o - - fhci-y := fhci-hcd.o fhci-hub.o fhci-q.o diff --git a/board/roseapplepi/patches/linux/0002-kernel-add-support-for-gcc-5.patch b/board/roseapplepi/patches/linux/0002-kernel-add-support-for-gcc-5.patch deleted file mode 100644 index 8d3c703e3af..00000000000 --- a/board/roseapplepi/patches/linux/0002-kernel-add-support-for-gcc-5.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 96b4fb75d15be65edc5494579e4a944534042f99 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 13 Oct 2014 15:51:05 -0700 -Subject: [PATCH] kernel: add support for gcc 5 - -We're missing include/linux/compiler-gcc5.h which is required now -because gcc branched off to v5 in trunk. - -Just copy the relevant bits out of include/linux/compiler-gcc4.h, -no new code is added as of now. - -This fixes a build error when using gcc 5. - -Signed-off-by: Sasha Levin -Cc: -Signed-off-by: Andrew Morton -Signed-off-by: Linus Torvalds -(cherry picked from commit 71458cfc782eafe4b27656e078d379a34e472adf) -Signed-off-by: Peter Korsgaard ---- - include/linux/compiler-gcc5.h | 66 +++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 66 insertions(+) - create mode 100644 include/linux/compiler-gcc5.h - -diff --git a/include/linux/compiler-gcc5.h b/include/linux/compiler-gcc5.h -new file mode 100644 -index 0000000..cdd1cc2 ---- /dev/null -+++ b/include/linux/compiler-gcc5.h -@@ -0,0 +1,66 @@ -+#ifndef __LINUX_COMPILER_H -+#error "Please don't include directly, include instead." -+#endif -+ -+#define __used __attribute__((__used__)) -+#define __must_check __attribute__((warn_unused_result)) -+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) -+ -+/* Mark functions as cold. gcc will assume any path leading to a call -+ to them will be unlikely. This means a lot of manual unlikely()s -+ are unnecessary now for any paths leading to the usual suspects -+ like BUG(), printk(), panic() etc. [but let's keep them for now for -+ older compilers] -+ -+ Early snapshots of gcc 4.3 don't support this and we can't detect this -+ in the preprocessor, but we can live with this because they're unreleased. -+ Maketime probing would be overkill here. -+ -+ gcc also has a __attribute__((__hot__)) to move hot functions into -+ a special section, but I don't see any sense in this right now in -+ the kernel context */ -+#define __cold __attribute__((__cold__)) -+ -+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) -+ -+#ifndef __CHECKER__ -+# define __compiletime_warning(message) __attribute__((warning(message))) -+# define __compiletime_error(message) __attribute__((error(message))) -+#endif /* __CHECKER__ */ -+ -+/* -+ * Mark a position in code as unreachable. This can be used to -+ * suppress control flow warnings after asm blocks that transfer -+ * control elsewhere. -+ * -+ * Early snapshots of gcc 4.5 don't support this and we can't detect -+ * this in the preprocessor, but we can live with this because they're -+ * unreleased. Really, we need to have autoconf for the kernel. -+ */ -+#define unreachable() __builtin_unreachable() -+ -+/* Mark a function definition as prohibited from being cloned. */ -+#define __noclone __attribute__((__noclone__)) -+ -+/* -+ * Tell the optimizer that something else uses this function or variable. -+ */ -+#define __visible __attribute__((externally_visible)) -+ -+/* -+ * GCC 'asm goto' miscompiles certain code sequences: -+ * -+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 -+ * -+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. -+ * Fixed in GCC 4.8.2 and later versions. -+ * -+ * (asm goto is automatically volatile - the naming reflects this.) -+ */ -+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) -+ -+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP -+#define __HAVE_BUILTIN_BSWAP32__ -+#define __HAVE_BUILTIN_BSWAP64__ -+#define __HAVE_BUILTIN_BSWAP16__ -+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ --- -2.10.2 - diff --git a/board/roseapplepi/patches/linux/0003-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch b/board/roseapplepi/patches/linux/0003-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch deleted file mode 100644 index da38f266795..00000000000 --- a/board/roseapplepi/patches/linux/0003-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 8ac9a3f6dbf00d861134bea3f2c930defed6311a Mon Sep 17 00:00:00 2001 -From: Behan Webster -Date: Wed, 24 Sep 2014 01:06:46 +0100 -Subject: [PATCH] ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h - -With compilers which follow the C99 standard (like modern versions of gcc and -clang), "extern inline" does the wrong thing (emits code for an externally -linkable version of the inline function). In this case using static inline -and removing the NULL version of return_address in return_address.c does -the right thing. - -Signed-off-by: Behan Webster -Reviewed-by: Mark Charlebois -Acked-by: Steven Rostedt -Signed-off-by: Russell King -(cherry picked from commit aeea3592a13bf12861943e44fc48f1f270941f8d) -Signed-off-by: Peter Korsgaard ---- - arch/arm/include/asm/ftrace.h | 2 +- - arch/arm/kernel/return_address.c | 5 ----- - 2 files changed, 1 insertion(+), 6 deletions(-) - -diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h -index f89515a..2bb8cac 100644 ---- a/arch/arm/include/asm/ftrace.h -+++ b/arch/arm/include/asm/ftrace.h -@@ -45,7 +45,7 @@ void *return_address(unsigned int); - - #else - --extern inline void *return_address(unsigned int level) -+static inline void *return_address(unsigned int level) - { - return NULL; - } -diff --git a/arch/arm/kernel/return_address.c b/arch/arm/kernel/return_address.c -index 2f8f523..a3b587f 100755 ---- a/arch/arm/kernel/return_address.c -+++ b/arch/arm/kernel/return_address.c -@@ -63,11 +63,6 @@ void *return_address(unsigned int level) - //#warning "TODO: return_address should use unwind tables" - //#endif - --void *return_address(unsigned int level) --{ -- return NULL; --} -- - #endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */ - - EXPORT_SYMBOL_GPL(return_address); --- -2.10.2 - diff --git a/board/roseapplepi/patches/linux/0004-Fix-compile-errors-with-gcc5.patch b/board/roseapplepi/patches/linux/0004-Fix-compile-errors-with-gcc5.patch deleted file mode 100644 index d76e2851b56..00000000000 --- a/board/roseapplepi/patches/linux/0004-Fix-compile-errors-with-gcc5.patch +++ /dev/null @@ -1,121 +0,0 @@ -From ef34609395c72a1e777ef9c3fb6ce60aa92976bb Mon Sep 17 00:00:00 2001 -From: Marco Franceschetti -Date: Sun, 13 Mar 2016 09:44:54 +0100 -Subject: [PATCH] Fix compile errors with gcc5 - -(cherry picked from commit e824d45043efd49607f66c89c921b07c1523bf9e) -Signed-off-by: Peter Korsgaard ---- - drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h | 6 +++--- - drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h | 6 +++--- - drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h | 6 +++--- - drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h | 6 +++--- - 4 files changed, 12 insertions(+), 12 deletions(-) - -diff --git a/drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h b/drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h -index fc293c4..0898cd4 100755 ---- a/drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h -+++ b/drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h -@@ -1314,18 +1314,18 @@ enum ieee80211_state { - (((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \ - (((Addr[5]) & 0xff) == 0xff)) - #else --extern __inline int is_multicast_mac_addr(const u8 *addr) -+static __inline int is_multicast_mac_addr(const u8 *addr) - { - return ((addr[0] != 0xff) && (0x01 & addr[0])); - } - --extern __inline int is_broadcast_mac_addr(const u8 *addr) -+static __inline int is_broadcast_mac_addr(const u8 *addr) - { - return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \ - (addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff)); - } - --extern __inline int is_zero_mac_addr(const u8 *addr) -+static __inline int is_zero_mac_addr(const u8 *addr) - { - return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \ - (addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00)); -diff --git a/drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h b/drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h -index 09475ef..56e0f5a 100755 ---- a/drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h -+++ b/drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h -@@ -1318,18 +1318,18 @@ enum ieee80211_state { - (((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \ - (((Addr[5]) & 0xff) == 0xff)) - #else --extern __inline int is_multicast_mac_addr(const u8 *addr) -+static __inline int is_multicast_mac_addr(const u8 *addr) - { - return ((addr[0] != 0xff) && (0x01 & addr[0])); - } - --extern __inline int is_broadcast_mac_addr(const u8 *addr) -+static __inline int is_broadcast_mac_addr(const u8 *addr) - { - return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \ - (addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff)); - } - --extern __inline int is_zero_mac_addr(const u8 *addr) -+static __inline int is_zero_mac_addr(const u8 *addr) - { - return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \ - (addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00)); -diff --git a/drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h b/drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h -index 5dfc421..95144b6 100755 ---- a/drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h -+++ b/drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h -@@ -1314,18 +1314,18 @@ enum ieee80211_state { - (((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \ - (((Addr[5]) & 0xff) == 0xff)) - #else --extern __inline int is_multicast_mac_addr(const u8 *addr) -+static __inline int is_multicast_mac_addr(const u8 *addr) - { - return ((addr[0] != 0xff) && (0x01 & addr[0])); - } - --extern __inline int is_broadcast_mac_addr(const u8 *addr) -+static __inline int is_broadcast_mac_addr(const u8 *addr) - { - return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \ - (addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff)); - } - --extern __inline int is_zero_mac_addr(const u8 *addr) -+static __inline int is_zero_mac_addr(const u8 *addr) - { - return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \ - (addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00)); -diff --git a/drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h b/drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h -index 09475ef..56e0f5a 100755 ---- a/drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h -+++ b/drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h -@@ -1318,18 +1318,18 @@ enum ieee80211_state { - (((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \ - (((Addr[5]) & 0xff) == 0xff)) - #else --extern __inline int is_multicast_mac_addr(const u8 *addr) -+static __inline int is_multicast_mac_addr(const u8 *addr) - { - return ((addr[0] != 0xff) && (0x01 & addr[0])); - } - --extern __inline int is_broadcast_mac_addr(const u8 *addr) -+static __inline int is_broadcast_mac_addr(const u8 *addr) - { - return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \ - (addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff)); - } - --extern __inline int is_zero_mac_addr(const u8 *addr) -+static __inline int is_zero_mac_addr(const u8 *addr) - { - return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \ - (addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00)); --- -2.10.2 - diff --git a/board/roseapplepi/patches/linux/0005-compiler-gcc-integrate-the-various-compiler-gcc-345-.patch b/board/roseapplepi/patches/linux/0005-compiler-gcc-integrate-the-various-compiler-gcc-345-.patch deleted file mode 100644 index 791dd930c77..00000000000 --- a/board/roseapplepi/patches/linux/0005-compiler-gcc-integrate-the-various-compiler-gcc-345-.patch +++ /dev/null @@ -1,363 +0,0 @@ -From 21be6b635320321216dde9201fa57a3aed60ee12 Mon Sep 17 00:00:00 2001 -From: Joe Perches -Date: Thu, 25 Jun 2015 15:01:02 -0700 -Subject: [PATCH] compiler-gcc: integrate the various compiler-gcc[345].h files - -As gcc major version numbers are going to advance rather rapidly in the -future, there's no real value in separate files for each compiler -version. - -Deduplicate some of the macros #defined in each file too. - -Neaten comments using normal kernel commenting style. - -Signed-off-by: Joe Perches -Cc: Andi Kleen -Cc: Michal Marek -Cc: Segher Boessenkool -Cc: Sasha Levin -Cc: Anton Blanchard -Cc: Alan Modra -Signed-off-by: Andrew Morton -Signed-off-by: Linus Torvalds -(cherry picked from commit cb984d101b30eb7478d32df56a0023e4603cba7f) -Signed-off-by: Peter Korsgaard ---- - include/linux/compiler-gcc.h | 120 ++++++++++++++++++++++++++++++++++++++++-- - include/linux/compiler-gcc3.h | 23 -------- - include/linux/compiler-gcc4.h | 88 ------------------------------- - include/linux/compiler-gcc5.h | 66 ----------------------- - 4 files changed, 116 insertions(+), 181 deletions(-) - delete mode 100644 include/linux/compiler-gcc3.h - delete mode 100644 include/linux/compiler-gcc4.h - delete mode 100644 include/linux/compiler-gcc5.h - -diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h -index 24545cd90a25..0c5d746850c2 100644 ---- a/include/linux/compiler-gcc.h -+++ b/include/linux/compiler-gcc.h -@@ -97,10 +97,122 @@ - #define __maybe_unused __attribute__((unused)) - #define __always_unused __attribute__((unused)) - --#define __gcc_header(x) #x --#define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h) --#define gcc_header(x) _gcc_header(x) --#include gcc_header(__GNUC__) -+/* gcc version specific checks */ -+ -+#if GCC_VERSION < 30200 -+# error Sorry, your compiler is too old - please upgrade it. -+#endif -+ -+#if GCC_VERSION < 30300 -+# define __used __attribute__((__unused__)) -+#else -+# define __used __attribute__((__used__)) -+#endif -+ -+#ifdef CONFIG_GCOV_KERNEL -+# if GCC_VERSION < 30400 -+# error "GCOV profiling support for gcc versions below 3.4 not included" -+# endif /* __GNUC_MINOR__ */ -+#endif /* CONFIG_GCOV_KERNEL */ -+ -+#if GCC_VERSION >= 30400 -+#define __must_check __attribute__((warn_unused_result)) -+#endif -+ -+#if GCC_VERSION >= 40000 -+ -+/* GCC 4.1.[01] miscompiles __weak */ -+#ifdef __KERNEL__ -+# if GCC_VERSION >= 40100 && GCC_VERSION <= 40101 -+# error Your version of gcc miscompiles the __weak directive -+# endif -+#endif -+ -+#define __used __attribute__((__used__)) -+#define __compiler_offsetof(a, b) \ -+ __builtin_offsetof(a, b) -+ -+#if GCC_VERSION >= 40100 && GCC_VERSION < 40600 -+# define __compiletime_object_size(obj) __builtin_object_size(obj, 0) -+#endif -+ -+#if GCC_VERSION >= 40300 -+/* Mark functions as cold. gcc will assume any path leading to a call -+ * to them will be unlikely. This means a lot of manual unlikely()s -+ * are unnecessary now for any paths leading to the usual suspects -+ * like BUG(), printk(), panic() etc. [but let's keep them for now for -+ * older compilers] -+ * -+ * Early snapshots of gcc 4.3 don't support this and we can't detect this -+ * in the preprocessor, but we can live with this because they're unreleased. -+ * Maketime probing would be overkill here. -+ * -+ * gcc also has a __attribute__((__hot__)) to move hot functions into -+ * a special section, but I don't see any sense in this right now in -+ * the kernel context -+ */ -+#define __cold __attribute__((__cold__)) -+ -+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) -+ -+#ifndef __CHECKER__ -+# define __compiletime_warning(message) __attribute__((warning(message))) -+# define __compiletime_error(message) __attribute__((error(message))) -+#endif /* __CHECKER__ */ -+#endif /* GCC_VERSION >= 40300 */ -+ -+#if GCC_VERSION >= 40500 -+/* -+ * Mark a position in code as unreachable. This can be used to -+ * suppress control flow warnings after asm blocks that transfer -+ * control elsewhere. -+ * -+ * Early snapshots of gcc 4.5 don't support this and we can't detect -+ * this in the preprocessor, but we can live with this because they're -+ * unreleased. Really, we need to have autoconf for the kernel. -+ */ -+#define unreachable() __builtin_unreachable() -+ -+/* Mark a function definition as prohibited from being cloned. */ -+#define __noclone __attribute__((__noclone__)) -+ -+#endif /* GCC_VERSION >= 40500 */ -+ -+#if GCC_VERSION >= 40600 -+/* -+ * Tell the optimizer that something else uses this function or variable. -+ */ -+#define __visible __attribute__((externally_visible)) -+#endif -+ -+/* -+ * GCC 'asm goto' miscompiles certain code sequences: -+ * -+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 -+ * -+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. -+ * -+ * (asm goto is automatically volatile - the naming reflects this.) -+ */ -+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) -+ -+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP -+#if GCC_VERSION >= 40400 -+#define __HAVE_BUILTIN_BSWAP32__ -+#define __HAVE_BUILTIN_BSWAP64__ -+#endif -+#if GCC_VERSION >= 40800 || (defined(__powerpc__) && GCC_VERSION >= 40600) -+#define __HAVE_BUILTIN_BSWAP16__ -+#endif -+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ -+ -+#if GCC_VERSION >= 50000 -+#define KASAN_ABI_VERSION 4 -+#elif GCC_VERSION >= 40902 -+#define KASAN_ABI_VERSION 3 -+#endif -+ -+#endif /* gcc version >= 40000 specific checks */ - - #if !defined(__noclone) - #define __noclone /* not needed */ -diff --git a/include/linux/compiler-gcc3.h b/include/linux/compiler-gcc3.h -deleted file mode 100644 -index 7d89febe4d79..000000000000 ---- a/include/linux/compiler-gcc3.h -+++ /dev/null -@@ -1,23 +0,0 @@ --#ifndef __LINUX_COMPILER_H --#error "Please don't include directly, include instead." --#endif -- --#if GCC_VERSION < 30200 --# error Sorry, your compiler is too old - please upgrade it. --#endif -- --#if GCC_VERSION >= 30300 --# define __used __attribute__((__used__)) --#else --# define __used __attribute__((__unused__)) --#endif -- --#if GCC_VERSION >= 30400 --#define __must_check __attribute__((warn_unused_result)) --#endif -- --#ifdef CONFIG_GCOV_KERNEL --# if GCC_VERSION < 30400 --# error "GCOV profiling support for gcc versions below 3.4 not included" --# endif /* __GNUC_MINOR__ */ --#endif /* CONFIG_GCOV_KERNEL */ -diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h -deleted file mode 100644 -index 2507fd2a1eb4..000000000000 ---- a/include/linux/compiler-gcc4.h -+++ /dev/null -@@ -1,88 +0,0 @@ --#ifndef __LINUX_COMPILER_H --#error "Please don't include directly, include instead." --#endif -- --/* GCC 4.1.[01] miscompiles __weak */ --#ifdef __KERNEL__ --# if GCC_VERSION >= 40100 && GCC_VERSION <= 40101 --# error Your version of gcc miscompiles the __weak directive --# endif --#endif -- --#define __used __attribute__((__used__)) --#define __must_check __attribute__((warn_unused_result)) --#define __compiler_offsetof(a,b) __builtin_offsetof(a,b) -- --#if GCC_VERSION >= 40100 && GCC_VERSION < 40600 --# define __compiletime_object_size(obj) __builtin_object_size(obj, 0) --#endif -- --#if GCC_VERSION >= 40300 --/* Mark functions as cold. gcc will assume any path leading to a call -- to them will be unlikely. This means a lot of manual unlikely()s -- are unnecessary now for any paths leading to the usual suspects -- like BUG(), printk(), panic() etc. [but let's keep them for now for -- older compilers] -- -- Early snapshots of gcc 4.3 don't support this and we can't detect this -- in the preprocessor, but we can live with this because they're unreleased. -- Maketime probing would be overkill here. -- -- gcc also has a __attribute__((__hot__)) to move hot functions into -- a special section, but I don't see any sense in this right now in -- the kernel context */ --#define __cold __attribute__((__cold__)) -- --#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) -- --#ifndef __CHECKER__ --# define __compiletime_warning(message) __attribute__((warning(message))) --# define __compiletime_error(message) __attribute__((error(message))) --#endif /* __CHECKER__ */ --#endif /* GCC_VERSION >= 40300 */ -- --#if GCC_VERSION >= 40500 --/* -- * Mark a position in code as unreachable. This can be used to -- * suppress control flow warnings after asm blocks that transfer -- * control elsewhere. -- * -- * Early snapshots of gcc 4.5 don't support this and we can't detect -- * this in the preprocessor, but we can live with this because they're -- * unreleased. Really, we need to have autoconf for the kernel. -- */ --#define unreachable() __builtin_unreachable() -- --/* Mark a function definition as prohibited from being cloned. */ --#define __noclone __attribute__((__noclone__)) -- --#endif /* GCC_VERSION >= 40500 */ -- --#if GCC_VERSION >= 40600 --/* -- * Tell the optimizer that something else uses this function or variable. -- */ --#define __visible __attribute__((externally_visible)) --#endif -- --/* -- * GCC 'asm goto' miscompiles certain code sequences: -- * -- * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 -- * -- * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. -- * Fixed in GCC 4.8.2 and later versions. -- * -- * (asm goto is automatically volatile - the naming reflects this.) -- */ --#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) -- --#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP --#if GCC_VERSION >= 40400 --#define __HAVE_BUILTIN_BSWAP32__ --#define __HAVE_BUILTIN_BSWAP64__ --#endif --#if GCC_VERSION >= 40800 || (defined(__powerpc__) && GCC_VERSION >= 40600) --#define __HAVE_BUILTIN_BSWAP16__ --#endif --#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ -diff --git a/include/linux/compiler-gcc5.h b/include/linux/compiler-gcc5.h -deleted file mode 100644 -index cdd1cc202d51..000000000000 ---- a/include/linux/compiler-gcc5.h -+++ /dev/null -@@ -1,66 +0,0 @@ --#ifndef __LINUX_COMPILER_H --#error "Please don't include directly, include instead." --#endif -- --#define __used __attribute__((__used__)) --#define __must_check __attribute__((warn_unused_result)) --#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) -- --/* Mark functions as cold. gcc will assume any path leading to a call -- to them will be unlikely. This means a lot of manual unlikely()s -- are unnecessary now for any paths leading to the usual suspects -- like BUG(), printk(), panic() etc. [but let's keep them for now for -- older compilers] -- -- Early snapshots of gcc 4.3 don't support this and we can't detect this -- in the preprocessor, but we can live with this because they're unreleased. -- Maketime probing would be overkill here. -- -- gcc also has a __attribute__((__hot__)) to move hot functions into -- a special section, but I don't see any sense in this right now in -- the kernel context */ --#define __cold __attribute__((__cold__)) -- --#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) -- --#ifndef __CHECKER__ --# define __compiletime_warning(message) __attribute__((warning(message))) --# define __compiletime_error(message) __attribute__((error(message))) --#endif /* __CHECKER__ */ -- --/* -- * Mark a position in code as unreachable. This can be used to -- * suppress control flow warnings after asm blocks that transfer -- * control elsewhere. -- * -- * Early snapshots of gcc 4.5 don't support this and we can't detect -- * this in the preprocessor, but we can live with this because they're -- * unreleased. Really, we need to have autoconf for the kernel. -- */ --#define unreachable() __builtin_unreachable() -- --/* Mark a function definition as prohibited from being cloned. */ --#define __noclone __attribute__((__noclone__)) -- --/* -- * Tell the optimizer that something else uses this function or variable. -- */ --#define __visible __attribute__((externally_visible)) -- --/* -- * GCC 'asm goto' miscompiles certain code sequences: -- * -- * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 -- * -- * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. -- * Fixed in GCC 4.8.2 and later versions. -- * -- * (asm goto is automatically volatile - the naming reflects this.) -- */ --#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) -- --#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP --#define __HAVE_BUILTIN_BSWAP32__ --#define __HAVE_BUILTIN_BSWAP64__ --#define __HAVE_BUILTIN_BSWAP16__ --#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ --- -2.11.0 - diff --git a/board/roseapplepi/patches/uboot/0001-compiler-.h-sync-include-linux-compiler-.h-with-Linu.patch b/board/roseapplepi/patches/uboot/0001-compiler-.h-sync-include-linux-compiler-.h-with-Linu.patch deleted file mode 100644 index ae19a490312..00000000000 --- a/board/roseapplepi/patches/uboot/0001-compiler-.h-sync-include-linux-compiler-.h-with-Linu.patch +++ /dev/null @@ -1,809 +0,0 @@ -From 9b2c282b348dfe966bbba967dc7a45ce817cce50 Mon Sep 17 00:00:00 2001 -From: Tom Rini -Date: Mon, 29 Feb 2016 11:34:15 -0500 -Subject: [PATCH] compiler*.h: sync include/linux/compiler*.h with Linux - 4.5-rc6 - -Copy these from Linux v4.5-rc6 tag. - -This is needed so that we can keep up with newer gcc versions. Note -that we don't have the uapi/ hierarchy from the kernel so continue to -use - -Signed-off-by: Tom Rini -Signed-off-by: Peter Korsgaard ---- - include/linux/compiler-gcc.h | 259 ++++++++++++++++++++++++++++++++--------- - include/linux/compiler-gcc3.h | 23 ---- - include/linux/compiler-gcc4.h | 88 -------------- - include/linux/compiler-gcc5.h | 65 ----------- - include/linux/compiler-intel.h | 5 + - include/linux/compiler.h | 178 ++++++++++++++++++++++++++-- - 6 files changed, 383 insertions(+), 235 deletions(-) - delete mode 100644 include/linux/compiler-gcc3.h - delete mode 100644 include/linux/compiler-gcc4.h - delete mode 100644 include/linux/compiler-gcc5.h - -diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h -index e057bd2a84..22ab246fee 100644 ---- a/include/linux/compiler-gcc.h -+++ b/include/linux/compiler-gcc.h -@@ -5,14 +5,28 @@ - /* - * Common definitions for all gcc versions go here. - */ --#define GCC_VERSION (__GNUC__ * 10000 \ -- + __GNUC_MINOR__ * 100 \ -- + __GNUC_PATCHLEVEL__) -- -+#define GCC_VERSION (__GNUC__ * 10000 \ -+ + __GNUC_MINOR__ * 100 \ -+ + __GNUC_PATCHLEVEL__) - - /* Optimization barrier */ -+ - /* The "volatile" is due to gcc bugs */ - #define barrier() __asm__ __volatile__("": : :"memory") -+/* -+ * This version is i.e. to prevent dead stores elimination on @ptr -+ * where gcc and llvm may behave differently when otherwise using -+ * normal barrier(): while gcc behavior gets along with a normal -+ * barrier(), llvm needs an explicit input variable to be assumed -+ * clobbered. The issue is as follows: while the inline asm might -+ * access any memory it wants, the compiler could have fit all of -+ * @ptr into memory registers instead, and since @ptr never escaped -+ * from that, it proofed that the inline asm wasn't touching any of -+ * it. This version works well with both compilers, i.e. we're telling -+ * the compiler that the inline asm absolutely may see the contents -+ * of @ptr. See also: https://llvm.org/bugs/show_bug.cgi?id=15495 -+ */ -+#define barrier_data(ptr) __asm__ __volatile__("": :"r"(ptr) :"memory") - - /* - * This macro obfuscates arithmetic on a variable address so that gcc -@@ -32,58 +46,63 @@ - * the inline assembly constraint from =g to =r, in this particular - * case either is valid. - */ --#define RELOC_HIDE(ptr, off) \ -- ({ unsigned long __ptr; \ -- __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \ -- (typeof(ptr)) (__ptr + (off)); }) -+#define RELOC_HIDE(ptr, off) \ -+({ \ -+ unsigned long __ptr; \ -+ __asm__ ("" : "=r"(__ptr) : "0"(ptr)); \ -+ (typeof(ptr)) (__ptr + (off)); \ -+}) - - /* Make the optimizer believe the variable can be manipulated arbitrarily. */ --#define OPTIMIZER_HIDE_VAR(var) __asm__ ("" : "=r" (var) : "0" (var)) -+#define OPTIMIZER_HIDE_VAR(var) \ -+ __asm__ ("" : "=r" (var) : "0" (var)) - - #ifdef __CHECKER__ --#define __must_be_array(arr) 0 -+#define __must_be_array(a) 0 - #else - /* &a[0] degrades to a pointer: a different type from an array */ --#define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0])) -+#define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0])) - #endif - - /* - * Force always-inline if the user requests it so via the .config, - * or if gcc is too old: - */ --#if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) || \ -+#if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) || \ - !defined(CONFIG_OPTIMIZE_INLINING) || (__GNUC__ < 4) --# define inline inline __attribute__((always_inline)) notrace --# define __inline__ __inline__ __attribute__((always_inline)) notrace --# define __inline __inline __attribute__((always_inline)) notrace -+#define inline inline __attribute__((always_inline)) notrace -+#define __inline__ __inline__ __attribute__((always_inline)) notrace -+#define __inline __inline __attribute__((always_inline)) notrace - #else - /* A lot of inline functions can cause havoc with function tracing */ --# define inline inline notrace --# define __inline__ __inline__ notrace --# define __inline __inline notrace -+#define inline inline notrace -+#define __inline__ __inline__ notrace -+#define __inline __inline notrace - #endif - --#define __deprecated __attribute__((deprecated)) --#ifndef __packed --#define __packed __attribute__((packed)) --#endif --#ifndef __weak --#define __weak __attribute__((weak)) --#endif -+#define __always_inline inline __attribute__((always_inline)) -+#define noinline __attribute__((noinline)) -+ -+#define __deprecated __attribute__((deprecated)) -+#define __packed __attribute__((packed)) -+#define __weak __attribute__((weak)) -+#define __alias(symbol) __attribute__((alias(#symbol))) - - /* -- * it doesn't make sense on ARM (currently the only user of __naked) to trace -- * naked functions because then mcount is called without stack and frame pointer -- * being set up and there is no chance to restore the lr register to the value -- * before mcount was called. -+ * it doesn't make sense on ARM (currently the only user of __naked) -+ * to trace naked functions because then mcount is called without -+ * stack and frame pointer being set up and there is no chance to -+ * restore the lr register to the value before mcount was called. -+ * -+ * The asm() bodies of naked functions often depend on standard calling -+ * conventions, therefore they must be noinline and noclone. - * -- * The asm() bodies of naked functions often depend on standard calling conventions, -- * therefore they must be noinline and noclone. GCC 4.[56] currently fail to enforce -- * this, so we must do so ourselves. See GCC PR44290. -+ * GCC 4.[56] currently fail to enforce this, so we must do so ourselves. -+ * See GCC PR44290. - */ --#define __naked __attribute__((naked)) noinline __noclone notrace -+#define __naked __attribute__((naked)) noinline __noclone notrace - --#define __noreturn __attribute__((noreturn)) -+#define __noreturn __attribute__((noreturn)) - - /* - * From the GCC manual: -@@ -95,34 +114,170 @@ - * would be. - * [...] - */ --#ifndef __pure --#define __pure __attribute__((pure)) -+#define __pure __attribute__((pure)) -+#define __aligned(x) __attribute__((aligned(x))) -+#define __printf(a, b) __attribute__((format(printf, a, b))) -+#define __scanf(a, b) __attribute__((format(scanf, a, b))) -+#define __attribute_const__ __attribute__((__const__)) -+#define __maybe_unused __attribute__((unused)) -+#define __always_unused __attribute__((unused)) -+ -+/* gcc version specific checks */ -+ -+#if GCC_VERSION < 30200 -+# error Sorry, your compiler is too old - please upgrade it. -+#endif -+ -+#if GCC_VERSION < 30300 -+# define __used __attribute__((__unused__)) -+#else -+# define __used __attribute__((__used__)) -+#endif -+ -+#ifdef CONFIG_GCOV_KERNEL -+# if GCC_VERSION < 30400 -+# error "GCOV profiling support for gcc versions below 3.4 not included" -+# endif /* __GNUC_MINOR__ */ -+#endif /* CONFIG_GCOV_KERNEL */ -+ -+#if GCC_VERSION >= 30400 -+#define __must_check __attribute__((warn_unused_result)) -+#endif -+ -+#if GCC_VERSION >= 40000 -+ -+/* GCC 4.1.[01] miscompiles __weak */ -+#ifdef __KERNEL__ -+# if GCC_VERSION >= 40100 && GCC_VERSION <= 40101 -+# error Your version of gcc miscompiles the __weak directive -+# endif -+#endif -+ -+#define __used __attribute__((__used__)) -+#define __compiler_offsetof(a, b) \ -+ __builtin_offsetof(a, b) -+ -+#if GCC_VERSION >= 40100 && GCC_VERSION < 40600 -+# define __compiletime_object_size(obj) __builtin_object_size(obj, 0) -+#endif -+ -+#if GCC_VERSION >= 40300 -+/* Mark functions as cold. gcc will assume any path leading to a call -+ * to them will be unlikely. This means a lot of manual unlikely()s -+ * are unnecessary now for any paths leading to the usual suspects -+ * like BUG(), printk(), panic() etc. [but let's keep them for now for -+ * older compilers] -+ * -+ * Early snapshots of gcc 4.3 don't support this and we can't detect this -+ * in the preprocessor, but we can live with this because they're unreleased. -+ * Maketime probing would be overkill here. -+ * -+ * gcc also has a __attribute__((__hot__)) to move hot functions into -+ * a special section, but I don't see any sense in this right now in -+ * the kernel context -+ */ -+#define __cold __attribute__((__cold__)) -+ -+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) -+ -+#ifndef __CHECKER__ -+# define __compiletime_warning(message) __attribute__((warning(message))) -+# define __compiletime_error(message) __attribute__((error(message))) -+#endif /* __CHECKER__ */ -+#endif /* GCC_VERSION >= 40300 */ -+ -+#if GCC_VERSION >= 40500 -+/* -+ * Mark a position in code as unreachable. This can be used to -+ * suppress control flow warnings after asm blocks that transfer -+ * control elsewhere. -+ * -+ * Early snapshots of gcc 4.5 don't support this and we can't detect -+ * this in the preprocessor, but we can live with this because they're -+ * unreleased. Really, we need to have autoconf for the kernel. -+ */ -+#define unreachable() __builtin_unreachable() -+ -+/* Mark a function definition as prohibited from being cloned. */ -+#define __noclone __attribute__((__noclone__)) -+ -+#endif /* GCC_VERSION >= 40500 */ -+ -+#if GCC_VERSION >= 40600 -+/* -+ * When used with Link Time Optimization, gcc can optimize away C functions or -+ * variables which are referenced only from assembly code. __visible tells the -+ * optimizer that something else uses this function or variable, thus preventing -+ * this. -+ */ -+#define __visible __attribute__((externally_visible)) - #endif --#ifndef __aligned --#define __aligned(x) __attribute__((aligned(x))) -+ -+ -+#if GCC_VERSION >= 40900 && !defined(__CHECKER__) -+/* -+ * __assume_aligned(n, k): Tell the optimizer that the returned -+ * pointer can be assumed to be k modulo n. The second argument is -+ * optional (default 0), so we use a variadic macro to make the -+ * shorthand. -+ * -+ * Beware: Do not apply this to functions which may return -+ * ERR_PTRs. Also, it is probably unwise to apply it to functions -+ * returning extra information in the low bits (but in that case the -+ * compiler should see some alignment anyway, when the return value is -+ * massaged by 'flags = ptr & 3; ptr &= ~3;'). -+ */ -+#define __assume_aligned(a, ...) __attribute__((__assume_aligned__(a, ## __VA_ARGS__))) - #endif --#define __printf(a, b) __attribute__((format(printf, a, b))) --#define __scanf(a, b) __attribute__((format(scanf, a, b))) --#define noinline __attribute__((noinline)) --#define __attribute_const__ __attribute__((__const__)) --#define __maybe_unused __attribute__((unused)) --#define __always_unused __attribute__((unused)) - --#define __gcc_header(x) #x --#define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h) --#define gcc_header(x) _gcc_header(x) --#include gcc_header(__GNUC__) -+/* -+ * GCC 'asm goto' miscompiles certain code sequences: -+ * -+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 -+ * -+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. -+ * -+ * (asm goto is automatically volatile - the naming reflects this.) -+ */ -+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) -+ -+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP -+#if GCC_VERSION >= 40400 -+#define __HAVE_BUILTIN_BSWAP32__ -+#define __HAVE_BUILTIN_BSWAP64__ -+#endif -+#if GCC_VERSION >= 40800 || (defined(__powerpc__) && GCC_VERSION >= 40600) -+#define __HAVE_BUILTIN_BSWAP16__ -+#endif -+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ -+ -+#if GCC_VERSION >= 50000 -+#define KASAN_ABI_VERSION 4 -+#elif GCC_VERSION >= 40902 -+#define KASAN_ABI_VERSION 3 -+#endif -+ -+#if GCC_VERSION >= 40902 -+/* -+ * Tell the compiler that address safety instrumentation (KASAN) -+ * should not be applied to that function. -+ * Conflicts with inlining: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67368 -+ */ -+#define __no_sanitize_address __attribute__((no_sanitize_address)) -+#endif -+ -+#endif /* gcc version >= 40000 specific checks */ - - #if !defined(__noclone) - #define __noclone /* not needed */ - #endif - -+#if !defined(__no_sanitize_address) -+#define __no_sanitize_address -+#endif -+ - /* - * A trick to suppress uninitialized variable warning without generating any - * code - */ - #define uninitialized_var(x) x = x -- --#ifndef __always_inline --#define __always_inline inline __attribute__((always_inline)) --#endif -diff --git a/include/linux/compiler-gcc3.h b/include/linux/compiler-gcc3.h -deleted file mode 100644 -index 7d89febe4d..0000000000 ---- a/include/linux/compiler-gcc3.h -+++ /dev/null -@@ -1,23 +0,0 @@ --#ifndef __LINUX_COMPILER_H --#error "Please don't include directly, include instead." --#endif -- --#if GCC_VERSION < 30200 --# error Sorry, your compiler is too old - please upgrade it. --#endif -- --#if GCC_VERSION >= 30300 --# define __used __attribute__((__used__)) --#else --# define __used __attribute__((__unused__)) --#endif -- --#if GCC_VERSION >= 30400 --#define __must_check __attribute__((warn_unused_result)) --#endif -- --#ifdef CONFIG_GCOV_KERNEL --# if GCC_VERSION < 30400 --# error "GCOV profiling support for gcc versions below 3.4 not included" --# endif /* __GNUC_MINOR__ */ --#endif /* CONFIG_GCOV_KERNEL */ -diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h -deleted file mode 100644 -index 2507fd2a1e..0000000000 ---- a/include/linux/compiler-gcc4.h -+++ /dev/null -@@ -1,88 +0,0 @@ --#ifndef __LINUX_COMPILER_H --#error "Please don't include directly, include instead." --#endif -- --/* GCC 4.1.[01] miscompiles __weak */ --#ifdef __KERNEL__ --# if GCC_VERSION >= 40100 && GCC_VERSION <= 40101 --# error Your version of gcc miscompiles the __weak directive --# endif --#endif -- --#define __used __attribute__((__used__)) --#define __must_check __attribute__((warn_unused_result)) --#define __compiler_offsetof(a,b) __builtin_offsetof(a,b) -- --#if GCC_VERSION >= 40100 && GCC_VERSION < 40600 --# define __compiletime_object_size(obj) __builtin_object_size(obj, 0) --#endif -- --#if GCC_VERSION >= 40300 --/* Mark functions as cold. gcc will assume any path leading to a call -- to them will be unlikely. This means a lot of manual unlikely()s -- are unnecessary now for any paths leading to the usual suspects -- like BUG(), printk(), panic() etc. [but let's keep them for now for -- older compilers] -- -- Early snapshots of gcc 4.3 don't support this and we can't detect this -- in the preprocessor, but we can live with this because they're unreleased. -- Maketime probing would be overkill here. -- -- gcc also has a __attribute__((__hot__)) to move hot functions into -- a special section, but I don't see any sense in this right now in -- the kernel context */ --#define __cold __attribute__((__cold__)) -- --#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) -- --#ifndef __CHECKER__ --# define __compiletime_warning(message) __attribute__((warning(message))) --# define __compiletime_error(message) __attribute__((error(message))) --#endif /* __CHECKER__ */ --#endif /* GCC_VERSION >= 40300 */ -- --#if GCC_VERSION >= 40500 --/* -- * Mark a position in code as unreachable. This can be used to -- * suppress control flow warnings after asm blocks that transfer -- * control elsewhere. -- * -- * Early snapshots of gcc 4.5 don't support this and we can't detect -- * this in the preprocessor, but we can live with this because they're -- * unreleased. Really, we need to have autoconf for the kernel. -- */ --#define unreachable() __builtin_unreachable() -- --/* Mark a function definition as prohibited from being cloned. */ --#define __noclone __attribute__((__noclone__)) -- --#endif /* GCC_VERSION >= 40500 */ -- --#if GCC_VERSION >= 40600 --/* -- * Tell the optimizer that something else uses this function or variable. -- */ --#define __visible __attribute__((externally_visible)) --#endif -- --/* -- * GCC 'asm goto' miscompiles certain code sequences: -- * -- * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 -- * -- * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. -- * Fixed in GCC 4.8.2 and later versions. -- * -- * (asm goto is automatically volatile - the naming reflects this.) -- */ --#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) -- --#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP --#if GCC_VERSION >= 40400 --#define __HAVE_BUILTIN_BSWAP32__ --#define __HAVE_BUILTIN_BSWAP64__ --#endif --#if GCC_VERSION >= 40800 || (defined(__powerpc__) && GCC_VERSION >= 40600) --#define __HAVE_BUILTIN_BSWAP16__ --#endif --#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ -diff --git a/include/linux/compiler-gcc5.h b/include/linux/compiler-gcc5.h -deleted file mode 100644 -index c8c5659525..0000000000 ---- a/include/linux/compiler-gcc5.h -+++ /dev/null -@@ -1,65 +0,0 @@ --#ifndef __LINUX_COMPILER_H --#error "Please don't include directly, include instead." --#endif -- --#define __used __attribute__((__used__)) --#define __must_check __attribute__((warn_unused_result)) --#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) -- --/* Mark functions as cold. gcc will assume any path leading to a call -- to them will be unlikely. This means a lot of manual unlikely()s -- are unnecessary now for any paths leading to the usual suspects -- like BUG(), printk(), panic() etc. [but let's keep them for now for -- older compilers] -- -- Early snapshots of gcc 4.3 don't support this and we can't detect this -- in the preprocessor, but we can live with this because they're unreleased. -- Maketime probing would be overkill here. -- -- gcc also has a __attribute__((__hot__)) to move hot functions into -- a special section, but I don't see any sense in this right now in -- the kernel context */ --#define __cold __attribute__((__cold__)) -- --#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) -- --#ifndef __CHECKER__ --# define __compiletime_warning(message) __attribute__((warning(message))) --# define __compiletime_error(message) __attribute__((error(message))) --#endif /* __CHECKER__ */ -- --/* -- * Mark a position in code as unreachable. This can be used to -- * suppress control flow warnings after asm blocks that transfer -- * control elsewhere. -- * -- * Early snapshots of gcc 4.5 don't support this and we can't detect -- * this in the preprocessor, but we can live with this because they're -- * unreleased. Really, we need to have autoconf for the kernel. -- */ --#define unreachable() __builtin_unreachable() -- --/* Mark a function definition as prohibited from being cloned. */ --#define __noclone __attribute__((__noclone__)) -- --/* -- * Tell the optimizer that something else uses this function or variable. -- */ --#define __visible __attribute__((externally_visible)) -- --/* -- * GCC 'asm goto' miscompiles certain code sequences: -- * -- * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 -- * -- * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. -- * -- * (asm goto is automatically volatile - the naming reflects this.) -- */ --#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) -- --#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP --#define __HAVE_BUILTIN_BSWAP32__ --#define __HAVE_BUILTIN_BSWAP64__ --#define __HAVE_BUILTIN_BSWAP16__ --#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ -diff --git a/include/linux/compiler-intel.h b/include/linux/compiler-intel.h -index ba147a1727..d4c71132d0 100644 ---- a/include/linux/compiler-intel.h -+++ b/include/linux/compiler-intel.h -@@ -13,9 +13,14 @@ - /* Intel ECC compiler doesn't support gcc specific asm stmts. - * It uses intrinsics to do the equivalent things. - */ -+#undef barrier -+#undef barrier_data - #undef RELOC_HIDE - #undef OPTIMIZER_HIDE_VAR - -+#define barrier() __memory_barrier() -+#define barrier_data(ptr) barrier() -+ - #define RELOC_HIDE(ptr, off) \ - ({ unsigned long __ptr; \ - __ptr = (unsigned long) (ptr); \ -diff --git a/include/linux/compiler.h b/include/linux/compiler.h -index d5ad7b1118..020ad16a04 100644 ---- a/include/linux/compiler.h -+++ b/include/linux/compiler.h -@@ -17,6 +17,7 @@ - # define __release(x) __context__(x,-1) - # define __cond_lock(x,c) ((c) ? ({ __acquire(x); 1; }) : 0) - # define __percpu __attribute__((noderef, address_space(3))) -+# define __pmem __attribute__((noderef, address_space(5))) - #ifdef CONFIG_SPARSE_RCU_POINTER - # define __rcu __attribute__((noderef, address_space(4))) - #else -@@ -42,6 +43,7 @@ extern void __chk_io_ptr(const volatile void __iomem *); - # define __cond_lock(x,c) (c) - # define __percpu - # define __rcu -+# define __pmem - #endif - - /* Indirect macros required for expanded argument pasting, eg. __LINE__. */ -@@ -54,7 +56,11 @@ extern void __chk_io_ptr(const volatile void __iomem *); - #include - #endif - -+#if defined(CC_USING_HOTPATCH) && !defined(__CHECKER__) -+#define notrace __attribute__((hotpatch(0,0))) -+#else - #define notrace __attribute__((no_instrument_function)) -+#endif - - /* Intel compiler defines __GNUC__. So we will overwrite implementations - * coming from above header files here -@@ -138,7 +144,7 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); - */ - #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) - #define __trace_if(cond) \ -- if (__builtin_constant_p((cond)) ? !!(cond) : \ -+ if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ - ({ \ - int ______r; \ - static struct ftrace_branch_data \ -@@ -165,6 +171,10 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); - # define barrier() __memory_barrier() - #endif - -+#ifndef barrier_data -+# define barrier_data(ptr) barrier() -+#endif -+ - /* Unreachable code */ - #ifndef unreachable - # define unreachable() do { } while (1) -@@ -186,6 +196,126 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); - # define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __LINE__) - #endif - -+#include -+ -+#define __READ_ONCE_SIZE \ -+({ \ -+ switch (size) { \ -+ case 1: *(__u8 *)res = *(volatile __u8 *)p; break; \ -+ case 2: *(__u16 *)res = *(volatile __u16 *)p; break; \ -+ case 4: *(__u32 *)res = *(volatile __u32 *)p; break; \ -+ case 8: *(__u64 *)res = *(volatile __u64 *)p; break; \ -+ default: \ -+ barrier(); \ -+ __builtin_memcpy((void *)res, (const void *)p, size); \ -+ barrier(); \ -+ } \ -+}) -+ -+static __always_inline -+void __read_once_size(const volatile void *p, void *res, int size) -+{ -+ __READ_ONCE_SIZE; -+} -+ -+#ifdef CONFIG_KASAN -+/* -+ * This function is not 'inline' because __no_sanitize_address confilcts -+ * with inlining. Attempt to inline it may cause a build failure. -+ * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67368 -+ * '__maybe_unused' allows us to avoid defined-but-not-used warnings. -+ */ -+static __no_sanitize_address __maybe_unused -+void __read_once_size_nocheck(const volatile void *p, void *res, int size) -+{ -+ __READ_ONCE_SIZE; -+} -+#else -+static __always_inline -+void __read_once_size_nocheck(const volatile void *p, void *res, int size) -+{ -+ __READ_ONCE_SIZE; -+} -+#endif -+ -+static __always_inline void __write_once_size(volatile void *p, void *res, int size) -+{ -+ switch (size) { -+ case 1: *(volatile __u8 *)p = *(__u8 *)res; break; -+ case 2: *(volatile __u16 *)p = *(__u16 *)res; break; -+ case 4: *(volatile __u32 *)p = *(__u32 *)res; break; -+ case 8: *(volatile __u64 *)p = *(__u64 *)res; break; -+ default: -+ barrier(); -+ __builtin_memcpy((void *)p, (const void *)res, size); -+ barrier(); -+ } -+} -+ -+/* -+ * Prevent the compiler from merging or refetching reads or writes. The -+ * compiler is also forbidden from reordering successive instances of -+ * READ_ONCE, WRITE_ONCE and ACCESS_ONCE (see below), but only when the -+ * compiler is aware of some particular ordering. One way to make the -+ * compiler aware of ordering is to put the two invocations of READ_ONCE, -+ * WRITE_ONCE or ACCESS_ONCE() in different C statements. -+ * -+ * In contrast to ACCESS_ONCE these two macros will also work on aggregate -+ * data types like structs or unions. If the size of the accessed data -+ * type exceeds the word size of the machine (e.g., 32 bits or 64 bits) -+ * READ_ONCE() and WRITE_ONCE() will fall back to memcpy and print a -+ * compile-time warning. -+ * -+ * Their two major use cases are: (1) Mediating communication between -+ * process-level code and irq/NMI handlers, all running on the same CPU, -+ * and (2) Ensuring that the compiler does not fold, spindle, or otherwise -+ * mutilate accesses that either do not require ordering or that interact -+ * with an explicit memory barrier or atomic instruction that provides the -+ * required ordering. -+ */ -+ -+#define __READ_ONCE(x, check) \ -+({ \ -+ union { typeof(x) __val; char __c[1]; } __u; \ -+ if (check) \ -+ __read_once_size(&(x), __u.__c, sizeof(x)); \ -+ else \ -+ __read_once_size_nocheck(&(x), __u.__c, sizeof(x)); \ -+ __u.__val; \ -+}) -+#define READ_ONCE(x) __READ_ONCE(x, 1) -+ -+/* -+ * Use READ_ONCE_NOCHECK() instead of READ_ONCE() if you need -+ * to hide memory access from KASAN. -+ */ -+#define READ_ONCE_NOCHECK(x) __READ_ONCE(x, 0) -+ -+#define WRITE_ONCE(x, val) \ -+({ \ -+ union { typeof(x) __val; char __c[1]; } __u = \ -+ { .__val = (__force typeof(x)) (val) }; \ -+ __write_once_size(&(x), __u.__c, sizeof(x)); \ -+ __u.__val; \ -+}) -+ -+/** -+ * smp_cond_acquire() - Spin wait for cond with ACQUIRE ordering -+ * @cond: boolean expression to wait for -+ * -+ * Equivalent to using smp_load_acquire() on the condition variable but employs -+ * the control dependency of the wait to reduce the barrier on many platforms. -+ * -+ * The control dependency provides a LOAD->STORE order, the additional RMB -+ * provides LOAD->LOAD order, together they provide LOAD->{LOAD,STORE} order, -+ * aka. ACQUIRE. -+ */ -+#define smp_cond_acquire(cond) do { \ -+ while (!(cond)) \ -+ cpu_relax(); \ -+ smp_rmb(); /* ctrl + rmb := acquire */ \ -+} while (0) -+ - #endif /* __KERNEL__ */ - - #endif /* __ASSEMBLY__ */ -@@ -304,6 +434,14 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); - #define __visible - #endif - -+/* -+ * Assume alignment of return value. -+ */ -+#ifndef __assume_aligned -+#define __assume_aligned(a, ...) -+#endif -+ -+ - /* Are two types/vars the same type (ignoring qualifiers)? */ - #ifndef __same_type - # define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b)) -@@ -311,7 +449,7 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); - - /* Is this type a native word size -- useful for atomic operations */ - #ifndef __native_word --# define __native_word(t) (sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long)) -+# define __native_word(t) (sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long)) - #endif - - /* Compile time object size, -1 for unknown */ -@@ -373,12 +511,38 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); - * to make the compiler aware of ordering is to put the two invocations of - * ACCESS_ONCE() in different C statements. - * -- * This macro does absolutely -nothing- to prevent the CPU from reordering, -- * merging, or refetching absolutely anything at any time. Its main intended -- * use is to mediate communication between process-level code and irq/NMI -- * handlers, all running on the same CPU. -+ * ACCESS_ONCE will only work on scalar types. For union types, ACCESS_ONCE -+ * on a union member will work as long as the size of the member matches the -+ * size of the union and the size is smaller than word size. -+ * -+ * The major use cases of ACCESS_ONCE used to be (1) Mediating communication -+ * between process-level code and irq/NMI handlers, all running on the same CPU, -+ * and (2) Ensuring that the compiler does not fold, spindle, or otherwise -+ * mutilate accesses that either do not require ordering or that interact -+ * with an explicit memory barrier or atomic instruction that provides the -+ * required ordering. -+ * -+ * If possible use READ_ONCE()/WRITE_ONCE() instead. -+ */ -+#define __ACCESS_ONCE(x) ({ \ -+ __maybe_unused typeof(x) __var = (__force typeof(x)) 0; \ -+ (volatile typeof(x) *)&(x); }) -+#define ACCESS_ONCE(x) (*__ACCESS_ONCE(x)) -+ -+/** -+ * lockless_dereference() - safely load a pointer for later dereference -+ * @p: The pointer to load -+ * -+ * Similar to rcu_dereference(), but for situations where the pointed-to -+ * object's lifetime is managed by something other than RCU. That -+ * "something other" might be reference counting or simple immortality. - */ --#define ACCESS_ONCE(x) (*(volatile typeof(x) *)&(x)) -+#define lockless_dereference(p) \ -+({ \ -+ typeof(p) _________p1 = READ_ONCE(p); \ -+ smp_read_barrier_depends(); /* Dependency order vs. p above. */ \ -+ (_________p1); \ -+}) - - /* Ignore/forbid kprobes attach on very low level functions marked by this attribute: */ - #ifdef CONFIG_KPROBES --- -2.11.0 - diff --git a/board/roseapplepi/post-image.sh b/board/roseapplepi/post-image.sh deleted file mode 100755 index e8f2df23f32..00000000000 --- a/board/roseapplepi/post-image.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -cp "${BOARD_DIR}/uEnv.txt" "${BINARIES_DIR}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" - -exit $? diff --git a/board/roseapplepi/uEnv.txt b/board/roseapplepi/uEnv.txt deleted file mode 100755 index f9646e498e8..00000000000 --- a/board/roseapplepi/uEnv.txt +++ /dev/null @@ -1,3 +0,0 @@ -# no ramdisk -ramdisk_addr_r=- -bootargs=clk_ignore_unused root=/dev/mmcblk0p2 diff --git a/board/seeed/stm32mp157c-odyssey/genimage.cfg b/board/seeed/stm32mp157c-odyssey/genimage.cfg new file mode 100644 index 00000000000..4c18a2eb040 --- /dev/null +++ b/board/seeed/stm32mp157c-odyssey/genimage.cfg @@ -0,0 +1,22 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition fsbl1 { + image = "tf-a-stm32mp157c-odyssey.stm32" + } + + partition fsbl2 { + image = "tf-a-stm32mp157c-odyssey.stm32" + } + + partition ssbl { + image = "u-boot.stm32" + } + + partition rootfs { + image = "rootfs.ext4" + bootable = "yes" + } +} diff --git a/board/seeed/stm32mp157c-odyssey/linux.config b/board/seeed/stm32mp157c-odyssey/linux.config new file mode 100644 index 00000000000..878a0c39f12 --- /dev/null +++ b/board/seeed/stm32mp157c-odyssey/linux.config @@ -0,0 +1,182 @@ +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_USELIB=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=16 +CONFIG_BLK_DEV_INITRD=y +CONFIG_ARCH_STM32=y +CONFIG_ARM_THUMBEE=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_ERRATA_430973=y +CONFIG_ARM_ERRATA_720789=y +CONFIG_ARM_ERRATA_754322=y +CONFIG_ARM_ERRATA_754327=y +CONFIG_ARM_ERRATA_764369=y +CONFIG_ARM_ERRATA_775420=y +CONFIG_ARM_ERRATA_798181=y +CONFIG_SMP=y +CONFIG_MCPM=y +CONFIG_HIGHMEM=y +CONFIG_FORCE_MAX_ZONEORDER=12 +CONFIG_SECCOMP=y +# CONFIG_ATAGS is not set +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +CONFIG_VFP=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y +CONFIG_ARM_CRYPTO=y +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_CMDLINE_PARTITION=y +CONFIG_CMA=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_CAN=y +CONFIG_CAN_M_CAN=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=128 +CONFIG_SIMPLE_PM_BUS=y +CONFIG_MTD=y +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_STM32_FMC2=y +CONFIG_MTD_SPI_NOR=y +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set +CONFIG_MTD_UBI=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_SIZE=65536 +CONFIG_SRAM=y +CONFIG_EEPROM_AT24=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_KS8851=y +CONFIG_SMSC911X=y +CONFIG_STMMAC_ETH=y +CONFIG_DWMAC_DWC_QOS_ETH=y +CONFIG_MDIO_BITBANG=y +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_EDT_FT5X06=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_STPMIC1_ONKEY=y +CONFIG_SERIAL_STM32=y +CONFIG_SERIAL_STM32_CONSOLE=y +CONFIG_SERIAL_DEV_BUS=y +CONFIG_HW_RANDOM=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX=y +CONFIG_I2C_STM32F7=y +CONFIG_SPI=y +CONFIG_SPI_STM32=y +CONFIG_SPI_STM32_QSPI=y +CONFIG_PINCTRL_SINGLE=y +CONFIG_PINCTRL_STMFX=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_RESET_SYSCON_POWEROFF=y +CONFIG_SYSCON_REBOOT_MODE=y +CONFIG_WATCHDOG=y +CONFIG_STPMIC1_WATCHDOG=y +CONFIG_MFD_STM32_LPTIMER=y +CONFIG_MFD_STPMIC1=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_STM32_VREFBUF=y +CONFIG_REGULATOR_STM32_PWR=y +CONFIG_REGULATOR_STPMIC1=y +CONFIG_DRM=y +CONFIG_DRM_STM=y +CONFIG_DRM_STM_DSI=y +CONFIG_DRM_PANEL_ORISETECH_OTM8009A=y +CONFIG_DRM_SII902X=y +CONFIG_BACKLIGHT_LCD_SUPPORT=y +# CONFIG_LCD_CLASS_DEVICE is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=y +# CONFIG_BACKLIGHT_GENERIC is not set +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_USB=y +CONFIG_USB_OTG=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=y +CONFIG_USB_DWC2=y +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_ISP1760=y +CONFIG_USB_HSIC_USB3503=y +CONFIG_USB_GPIO_VBUS=y +CONFIG_USB_ISP1301=y +CONFIG_USB_ULPI=y +CONFIG_TYPEC=y +CONFIG_TYPEC_STUSB=y +CONFIG_MMC=y +CONFIG_MMC_BLOCK_MINORS=16 +CONFIG_MMC_ARMMMCI=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_DW=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_PWM=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_STM32=y +CONFIG_DMADEVICES=y +CONFIG_STM32_DMA=y +CONFIG_STM32_DMAMUX=y +CONFIG_STM32_MDMA=y +CONFIG_HWSPINLOCK=y +CONFIG_HWSPINLOCK_STM32=y +CONFIG_STM32_IPCC=y +CONFIG_REMOTEPROC=y +CONFIG_STM32_RPROC=y +CONFIG_RPMSG_VIRTIO=y +CONFIG_RPMSG_TTY=y +CONFIG_IIO=y +CONFIG_IIO_SW_TRIGGER=y +CONFIG_SD_ADC_MODULATOR=y +CONFIG_STM32_ADC_CORE=y +CONFIG_STM32_ADC=y +CONFIG_STM32_ADC_TEMP=y +CONFIG_STM32_DFSDM_ADC=y +CONFIG_STM32_LPTIMER_CNT=y +CONFIG_STM32_DAC=y +CONFIG_IIO_HRTIMER_TRIGGER=y +CONFIG_IIO_STM32_LPTIMER_TRIGGER=y +CONFIG_PWM=y +CONFIG_PWM_STM32=y +CONFIG_PWM_STM32_LP=y +CONFIG_PHY_STM32_USBPHYC=y +CONFIG_NVMEM_STM32_ROMEM=y +CONFIG_EXT4_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_PRINTK_TIME=y diff --git a/board/seeed/stm32mp157c-odyssey/overlay/boot/extlinux/extlinux.conf b/board/seeed/stm32mp157c-odyssey/overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..b5795415eb1 --- /dev/null +++ b/board/seeed/stm32mp157c-odyssey/overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label stm32mp157c-odyssey-buildroot + kernel /boot/zImage + devicetree /boot/stm32mp157c-odyssey.dtb + append root=/dev/mmcblk0p4 rootwait diff --git a/board/seeed/stm32mp157c-odyssey/patches/linux/0001-ARM-dts-stm32-fix-stm32mp157c-odyssey-card-detect.patch b/board/seeed/stm32mp157c-odyssey/patches/linux/0001-ARM-dts-stm32-fix-stm32mp157c-odyssey-card-detect.patch new file mode 100644 index 00000000000..ab2dc5dea86 --- /dev/null +++ b/board/seeed/stm32mp157c-odyssey/patches/linux/0001-ARM-dts-stm32-fix-stm32mp157c-odyssey-card-detect.patch @@ -0,0 +1,36 @@ +From 0171b07373cc8c2815ca5fa79a7308fdefa54ca4 Mon Sep 17 00:00:00 2001 +From: Grzegorz Szymaszek +Date: Sat, 10 Apr 2021 21:35:21 +0200 +Subject: [PATCH] ARM: dts: stm32: fix stm32mp157c-odyssey card detect pin +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The microSD card detect pin is physically connected to the MPU pin PI3. +The Device Tree configuration of the card detect pin was wrong—it was +set to pin PB7 instead. If such configuration was used, the kernel would +hang on “Waiting for root device†when booting from a microSD card. + +Signed-off-by: Grzegorz Szymaszek +Signed-off-by: Alexandre Torgue +Backported from: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm/boot/dts/stm32mp157c-odyssey.dts?id=0171b07373cc8c2815ca5fa79a7308fdefa54ca4 +--- + arch/arm/boot/dts/stm32mp157c-odyssey.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/stm32mp157c-odyssey.dts b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +index a7ffec8f1516..be1dd5e9e744 100644 +--- a/arch/arm/boot/dts/stm32mp157c-odyssey.dts ++++ b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +@@ -64,7 +64,7 @@ &sdmmc1 { + pinctrl-0 = <&sdmmc1_b4_pins_a>; + pinctrl-1 = <&sdmmc1_b4_od_pins_a>; + pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; +- cd-gpios = <&gpiob 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; ++ cd-gpios = <&gpioi 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + disable-wp; + st,neg-edge; + bus-width = <4>; +-- +2.30.2 + diff --git a/board/seeed/stm32mp157c-odyssey/readme.txt b/board/seeed/stm32mp157c-odyssey/readme.txt new file mode 100644 index 00000000000..09328673933 --- /dev/null +++ b/board/seeed/stm32mp157c-odyssey/readme.txt @@ -0,0 +1,38 @@ +STM32MP157C-Odyssey + +Intro +===== + +This configuration supports the STM32MP157C-Odyssey platform: + + https://wiki.seeedstudio.com/ODYSSEY-STM32MP157C/ + +How to build +============ + + $ make stm32mp157c_odyssey_defconfig + $ make + +How to write the microSD card +============================= + +Once the build process is finished you will have an image called +"sdcard.img" in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an microSD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Boot the board +============== + + (1) Insert the microSD card in connector J21. + + (2) Connect to the UART connector J24 (located next the the DC jack + J24 and the battery connector J20) and run your serial communication + program on /dev/ttyACM0. + + (3) Plug a USB-C cable in J6 or a center-positive 12V jack into J17 + to power-up the board. + + (4) The system will start, with the console on UART. diff --git a/board/sheevaplug/patches/linux-headers/linux-headers.hash b/board/sheevaplug/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/sheevaplug/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/sheevaplug/patches/linux/linux.hash b/board/sheevaplug/patches/linux/linux.hash new file mode 100644 index 00000000000..aa432012b03 --- /dev/null +++ b/board/sheevaplug/patches/linux/linux.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 0820fdb7971c6974338081c11fbf2dc869870501e7bdcac4d0ed58ba1f57b61c linux-4.14.336.tar.xz +sha256 af8067302947c01fd9eee72befa54c7e3ef8a48fecde7fd71277f2290b2bf0f7 COPYING diff --git a/board/sheevaplug/patches/uboot/0001-Remove-redundant-YYLOC-global-declaration.patch b/board/sheevaplug/patches/uboot/0001-Remove-redundant-YYLOC-global-declaration.patch new file mode 100644 index 00000000000..c9d5d71ca14 --- /dev/null +++ b/board/sheevaplug/patches/uboot/0001-Remove-redundant-YYLOC-global-declaration.patch @@ -0,0 +1,28 @@ +From 018921ee79d3f30893614b3b2b63b588d8544f73 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Thu, 30 Jan 2020 09:37:15 +0000 +Subject: [PATCH] Remove redundant YYLOC global declaration + +Same as the upstream fix for building dtc with gcc 10. + +Signed-off-by: Peter Robinson +Signed-off-by: Peter Korsgaard +--- + scripts/dtc/dtc-lexer.l | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l +index fd825ebba6..24af549977 100644 +--- a/scripts/dtc/dtc-lexer.l ++++ b/scripts/dtc/dtc-lexer.l +@@ -38,7 +38,6 @@ LINECOMMENT "//".*\n + #include "srcpos.h" + #include "dtc-parser.tab.h" + +-YYLTYPE yylloc; + extern bool treesource_error; + + /* CAUTION: this will stop working if we ever use yyless() or yyunput() */ +-- +2.20.1 + diff --git a/board/sheevaplug/patches/uboot/uboot.hash b/board/sheevaplug/patches/uboot/uboot.hash new file mode 100644 index 00000000000..d6818bac36b --- /dev/null +++ b/board/sheevaplug/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 9f10df88bc91b35642e461217f73256bbaeeca9ae2db8db56197ba5e89e1f6d4 u-boot-2018.07.tar.bz2 diff --git a/board/sheevaplug/readme.txt b/board/sheevaplug/readme.txt new file mode 100644 index 00000000000..e0ed2684c97 --- /dev/null +++ b/board/sheevaplug/readme.txt @@ -0,0 +1,36 @@ +Sheevaplug +========== + +Once the build process is finished you will have the following files +in the output/images/ directory: + +- u-boot.kwb +- uImage.kirkwood-sheevaplug +- rootfs.jffs2 + +Copy these to a TFTP server, connect ethernet and mini-USB cable and +power up the board. Stop the board in U-Boot and update U-Boot by +executing: + +setenv serverip +setenv bootfile +bootp +nand erase 0x0 0x80000 +nand write $fileaddr 0x0 0x80000 +reset + +Once the new U-Boot boots up, stop it again and update Linux kernel +and rootfs by: + +setenv serverip +setenv bootfile +bootp +nand erase.part kernel +nand write $fileaddr kernel 0x400000 + +setenv bootfile +bootp +nand erase.part rootfs +nand write $fileaddr rootfs $filesize + +reset diff --git a/board/sifive/common/genimage_sdcard.cfg b/board/sifive/common/genimage_sdcard.cfg new file mode 100644 index 00000000000..99e3525a8cf --- /dev/null +++ b/board/sifive/common/genimage_sdcard.cfg @@ -0,0 +1,24 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition u-boot-spl { + image = "u-boot-spl.bin" + offset = 17K + partition-type-uuid = 5b193300-fc78-40cd-8002-e86c45580b47 + } + + partition u-boot { + image = "u-boot.itb" + offset = 1041K + partition-type-uuid = 2e54b353-1271-4842-806f-e436d6af6985 + } + + partition rootfs { + image = "rootfs.ext4" + offset = 4076K + partition-type-uuid = 0fc63daf-8483-4772-8e79-3d69d8477de4 + bootable = true + } +} diff --git a/board/sifive/common/genimage_spi-nor.cfg b/board/sifive/common/genimage_spi-nor.cfg new file mode 100644 index 00000000000..14b7bb1e1c9 --- /dev/null +++ b/board/sifive/common/genimage_spi-nor.cfg @@ -0,0 +1,19 @@ +image spi-nor.img { + size = 32M + + hdimage { + partition-table-type = "gpt" + } + + partition u-boot-spl { + image = "u-boot-spl.bin" + offset = 20K + partition-type-uuid = 5b193300-fc78-40cd-8002-e86c45580b47 + } + + partition u-boot { + image = "u-boot.itb" + offset = 1044K + partition-type-uuid = 2e54b353-1271-4842-806f-e436d6af6985 + } +} diff --git a/board/sifive/common/linux.config.fragment b/board/sifive/common/linux.config.fragment new file mode 100644 index 00000000000..385a961dd44 --- /dev/null +++ b/board/sifive/common/linux.config.fragment @@ -0,0 +1,10 @@ +CONFIG_HZ_100=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_SIFIVE=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_MTD=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_SPI_NOR=y +CONFIG_PWM=y +CONFIG_PWM_SIFIVE=y diff --git a/board/sifive/common/post-build.sh b/board/sifive/common/post-build.sh new file mode 100755 index 00000000000..14c80558d54 --- /dev/null +++ b/board/sifive/common/post-build.sh @@ -0,0 +1,2 @@ +#!/bin/sh +cp "$BINARIES_DIR/boot.scr" "$TARGET_DIR/boot/boot.scr" diff --git a/board/sifive/hifive-unleashed/boot.cmd b/board/sifive/hifive-unleashed/boot.cmd new file mode 100644 index 00000000000..7b5137d22c1 --- /dev/null +++ b/board/sifive/hifive-unleashed/boot.cmd @@ -0,0 +1,4 @@ +setenv bootargs earlycon=sbi root=/dev/mmcblk0p3 rootwait +load mmc 0:3 ${kernel_addr_r} boot/Image +load mmc 0:3 ${fdt_addr_r} boot/hifive-unleashed-a00.dtb +booti ${kernel_addr_r} - ${fdt_addr_r} diff --git a/board/sifive/hifive-unleashed/patches/linux-headers/linux-headers.hash b/board/sifive/hifive-unleashed/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/sifive/hifive-unleashed/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/sifive/hifive-unleashed/patches/linux/linux.hash b/board/sifive/hifive-unleashed/patches/linux/linux.hash new file mode 100644 index 00000000000..b356207dc43 --- /dev/null +++ b/board/sifive/hifive-unleashed/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 230e89b07b0ab82e74f07ecc1bee3105dca81d0ef4a97f900929c407249b6ac7 linux-6.12.20.tar.xz diff --git a/board/sifive/hifive-unleashed/patches/opensbi/opensbi.hash b/board/sifive/hifive-unleashed/patches/opensbi/opensbi.hash new file mode 100644 index 00000000000..1408f547b8c --- /dev/null +++ b/board/sifive/hifive-unleashed/patches/opensbi/opensbi.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 8fcbce598a73acc2c7f7d5607d46b9d5107d3ecbede8f68f42631dcfc25ef2b2 opensbi-1.2.tar.gz diff --git a/board/sifive/hifive-unleashed/patches/uboot/uboot.hash b/board/sifive/hifive-unleashed/patches/uboot/uboot.hash new file mode 100644 index 00000000000..50674352d71 --- /dev/null +++ b/board/sifive/hifive-unleashed/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 cdef7d507c93f1bbd9f015ea9bc21fa074268481405501945abc6f854d5b686f u-boot-2025.01.tar.bz2 diff --git a/board/sifive/hifive-unleashed/readme.txt b/board/sifive/hifive-unleashed/readme.txt new file mode 100644 index 00000000000..45cb8ece55b --- /dev/null +++ b/board/sifive/hifive-unleashed/readme.txt @@ -0,0 +1,132 @@ +SiFive HiFive Unleashed +======================= + +This file describes how to use the pre-defined Buildroot +configuration for the SiFive HiFive Unleashed board. + +Further information about the HiFive Unleashed board can be found +at https://www.sifive.com/boards/hifive-unleashed + +Building +======== + +Configure Buildroot using the default board configuration: + + $ make hifive_unleashed_defconfig + +Customise the build as necessary: + + $ make menuconfig + +Start the build: + + $ make + +Result of the build +=================== + +Once the build has finished you will have the following files: + + output/images/ + +-- boot.scr + +-- fw_dynamic.bin + +-- fw_dynamic.elf + +-- fw_jump.bin + +-- fw_jump.elf + +-- hifive-unleashed-a00.dtb + +-- Image + +-- rootfs.cpio + +-- rootfs.ext2 + +-- rootfs.ext4 + +-- rootfs.tar + +-- sdcard.img + +-- u-boot.bin + +-- u-boot.itb + +-- u-boot-spl.bin + + +Creating a bootable SD card with genimage +========================================= + +By default Buildroot builds a SD card image for you. All you need to do +is dd the image to your SD card, which can be done with the following +command on your development host: + + $ sudo dd if=output/images/sdcard.img of=/dev/sdb bs=4096 + +The above example command assumes the SD card is accessed via a USB card +reader and shows up as /dev/sdb on the host. Adjust it accordingly per +your actual setup. + +Booting the SD card on the board +================================ + +Make sure that the all DIP switches are set to the off position for +default boot mode (MSEL mode = 1011), insert the SD card and power +up the board. + +Connect the USB cable and open minicom (/dev/ttyUSB1, 115200, 8N1). + +See the 'SiFive HiFive Unleashed Getting Started Guide' for +more details (https://www.sifive.com/documentation). + +You will get a warning reported by fdisk when you examine the SD card. +This is because the genimage_sdcard.cfg file doesn't specify the SD card +size (as people will naturally have different sized cards), so the +secondary GPT header is placed after the rootfs rather than at the end +of the disk where it is expected to be. + +You will see something like this at boot time: + +[ 0.989458] mmc0: host does not support reading read-only switch, assuming write-enable +[ 0.996772] mmc0: new SDHC card on SPI +[ 1.001634] mmcblk0: mmc0:0000 SD8GB 7.28 GiB +[ 1.038079] GPT:Primary header thinks Alt. header is not at the end of the disk. +[ 1.044759] GPT:52389 != 15264767 +[ 1.048051] GPT:Alternate GPT header not at the end of the disk. +[ 1.054015] GPT:52389 != 15264767 +[ 1.057323] GPT: Use GNU Parted to correct GPT errors. +[ 1.062479] mmcblk0: p1 p2 p3 + + +Creating a bootable SPI flash with genimage +=========================================== + +Adjust Buildroot configuration by: + + $ make menuconfig + +Change "System configuration" -> "Extra arguments passed to custom scripts" +value to "-c board/sifive/common/genimage_spi-nor.cfg", save the +configuration and build. This creates a output/images/spi-nor.img that can +be programmed to the on-board SPI flash. + +Boot the board from the SD card prepared above, stop the U-Boot auto boot, +and type the following commands to program the whole SPI flash: + + => tftp 82000000 output/images/spi-nor.img + => sf probe + => sf update 82000000 0 2000000 + +Booting the SPI flash on the board +================================== + +Make sure that the all DIP switches are set to the off position for +default boot mode (MSEL mode = 0110) to boot from SPI flash. + +Testing under QEMU +================== + +The SD card image can be tested using QEMU: + +$ qemu-system-riscv64 -M sifive_u,msel=11 -smp 5 -m 8G \ + -display none -serial stdio -nic user \ + -bios output/images/u-boot-spl.bin \ + -drive file=output/images/sdcard.img,if=sd + +The SPI flash image can be tested with a slightly different command: + +$ qemu-system-riscv64 -M sifive_u,msel=6 -smp 5 -m 8G \ + -display none -serial stdio -nic user \ + -bios output/images/u-boot-spl.bin \ + -drive file=output/images/spi-nor.img,if=mtd diff --git a/board/sifive/hifive-unmatched/boot.cmd b/board/sifive/hifive-unmatched/boot.cmd new file mode 100644 index 00000000000..3f7b1d9ce37 --- /dev/null +++ b/board/sifive/hifive-unmatched/boot.cmd @@ -0,0 +1,4 @@ +setenv bootargs earlycon=sbi root=/dev/mmcblk0p3 rootwait +load mmc 0:3 ${kernel_addr_r} boot/Image +load mmc 0:3 ${fdt_addr_r} boot/hifive-unmatched-a00.dtb +booti ${kernel_addr_r} - ${fdt_addr_r} diff --git a/board/sifive/hifive-unmatched/patches/linux-headers/linux-headers.hash b/board/sifive/hifive-unmatched/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/sifive/hifive-unmatched/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/sifive/hifive-unmatched/patches/linux/linux.hash b/board/sifive/hifive-unmatched/patches/linux/linux.hash new file mode 100644 index 00000000000..b356207dc43 --- /dev/null +++ b/board/sifive/hifive-unmatched/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 230e89b07b0ab82e74f07ecc1bee3105dca81d0ef4a97f900929c407249b6ac7 linux-6.12.20.tar.xz diff --git a/board/sifive/hifive-unmatched/patches/opensbi/opensbi.hash b/board/sifive/hifive-unmatched/patches/opensbi/opensbi.hash new file mode 100644 index 00000000000..1408f547b8c --- /dev/null +++ b/board/sifive/hifive-unmatched/patches/opensbi/opensbi.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 8fcbce598a73acc2c7f7d5607d46b9d5107d3ecbede8f68f42631dcfc25ef2b2 opensbi-1.2.tar.gz diff --git a/board/sifive/hifive-unmatched/patches/uboot/uboot.hash b/board/sifive/hifive-unmatched/patches/uboot/uboot.hash new file mode 100644 index 00000000000..50674352d71 --- /dev/null +++ b/board/sifive/hifive-unmatched/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 cdef7d507c93f1bbd9f015ea9bc21fa074268481405501945abc6f854d5b686f u-boot-2025.01.tar.bz2 diff --git a/board/sifive/hifive-unmatched/readme.txt b/board/sifive/hifive-unmatched/readme.txt new file mode 100644 index 00000000000..0a4ebcd2f19 --- /dev/null +++ b/board/sifive/hifive-unmatched/readme.txt @@ -0,0 +1,100 @@ +SiFive HiFive Unmatched +======================= + +This file describes how to use the pre-defined Buildroot +configuration for the SiFive HiFive Unmatched board. + +Further information about the HiFive Unmatched board can be found +at https://www.sifive.com/boards/hifive-unmatched + +Building +======== + +Configure Buildroot using the default board configuration: + + $ make hifive_unmatched_defconfig + +Customise the build as necessary: + + $ make menuconfig + +Start the build: + + $ make + +Result of the build +=================== + +Once the build has finished you will have the following files: + + output/images/ + +-- boot.scr + +-- fw_dynamic.bin + +-- fw_dynamic.elf + +-- fw_jump.bin + +-- fw_jump.elf + +-- hifive-unmatched-a00.dtb + +-- Image + +-- rootfs.cpio + +-- rootfs.ext2 + +-- rootfs.ext4 + +-- rootfs.tar + +-- sdcard.img + +-- u-boot.bin + +-- u-boot.itb + +-- u-boot-spl.bin + + +Creating a bootable SD card with genimage +========================================= + +By default Buildroot builds a SD card image for you. All you need to do +is dd the image to your SD card, which can be done with the following +command on your development host: + + $ sudo dd if=output/images/sdcard.img of=/dev/sdb bs=4096 + +The above example command assumes the SD card is accessed via a USB card +reader and shows up as /dev/sdb on the host. Adjust it accordingly per +your actual setup. + +Booting the SD card on the board +================================ + +Make sure that the all DIP switches are set to the off position for +default boot mode (MSEL mode = 1011), insert the SD card and power +up the board. + +Connect the USB cable and open minicom (/dev/ttyUSB1, 115200, 8N1). + +See the 'SiFive HiFive Unmatched Getting Started Guide' for +more details (https://www.sifive.com/documentation). + +You will get a warning reported by fdisk when you examine the SD card. +This is because the genimage_sdcard.cfg file doesn't specify the SD card +size (as people will naturally have different sized cards), so the +secondary GPT header is placed after the rootfs rather than at the end +of the disk where it is expected to be. + +You will see something like this at boot time: + +[ 0.989458] mmc0: host does not support reading read-only switch, assuming write-enable +[ 0.996772] mmc0: new SDHC card on SPI +[ 1.001634] mmcblk0: mmc0:0000 SD8GB 7.28 GiB +[ 1.038079] GPT:Primary header thinks Alt. header is not at the end of the disk. +[ 1.044759] GPT:52389 != 15264767 +[ 1.048051] GPT:Alternate GPT header not at the end of the disk. +[ 1.054015] GPT:52389 != 15264767 +[ 1.057323] GPT: Use GNU Parted to correct GPT errors. +[ 1.062479] mmcblk0: p1 p2 p3 + + +Testing under QEMU +================== + +The SD card image can be tested using QEMU: + +$ qemu-system-riscv64 -M sifive_u,msel=11 -smp 5 -m 8G \ + -display none -serial stdio -nic user \ + -bios output/images/u-boot-spl.bin \ + -drive file=output/images/sdcard.img,if=sd diff --git a/board/sinovoip/m2-plus/boot.cmd b/board/sinovoip/m2-plus/boot.cmd deleted file mode 100644 index d22464a1c10..00000000000 --- a/board/sinovoip/m2-plus/boot.cmd +++ /dev/null @@ -1,7 +0,0 @@ -setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait - -mmc dev 0 -fatload mmc 0 $kernel_addr_r zImage -fatload mmc 0 $fdt_addr_r sun8i-h3-bananapi-m2-plus.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/sinovoip/m2-plus/genimage.cfg b/board/sinovoip/m2-plus/genimage.cfg deleted file mode 100644 index cde0669e763..00000000000 --- a/board/sinovoip/m2-plus/genimage.cfg +++ /dev/null @@ -1,33 +0,0 @@ -image boot.vfat { - vfat { - files = { - "zImage", - "sun8i-h3-bananapi-m2-plus.dtb", - "boot.scr" - } - } - size = 64M -} - -image sdcard.img { - hdimage { - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/sipeed/lichee_rv/genimage.cfg b/board/sipeed/lichee_rv/genimage.cfg new file mode 100644 index 00000000000..d5df41203df --- /dev/null +++ b/board/sipeed/lichee_rv/genimage.cfg @@ -0,0 +1,19 @@ +# Minimal SD card image for the sipeed Lichee RV + +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = false + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + bootable = "true" + offset = 1M + } +} diff --git a/board/sipeed/lichee_rv/overlay/boot/extlinux/extlinux.conf b/board/sipeed/lichee_rv/overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..91b2298628b --- /dev/null +++ b/board/sipeed/lichee_rv/overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label linux + kernel /boot/Image + # use devicetree from u-boot + append console=ttyS0,115200 root=/dev/mmcblk0p1 ro rootwait diff --git a/board/sipeed/lichee_rv/readme.txt b/board/sipeed/lichee_rv/readme.txt new file mode 100644 index 00000000000..24e81418511 --- /dev/null +++ b/board/sipeed/lichee_rv/readme.txt @@ -0,0 +1,26 @@ +Lichee RV +=============== + +Lichee RV - Nezha CM is a compute module with modular design, equipped +with Allwinner D1 chip (based on T-Head XuanTie C906 core), 512MB DDR3 RAM. +It can boot from TF card or SD-NAND, uses two sets of M.2 b key 67 pin +connectors to route all IO, making it convient for wide use and easy to replace. + +How to build +============ + +$ make sipeed_lichee_rv_defconfig +$ make + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Connect a TTL UART to the debug connector, insert the microSD card and +plug in a USB-C cable to the PWR connector to boot the system. diff --git a/board/sipeed/lichee_rv_dock/genimage.cfg b/board/sipeed/lichee_rv_dock/genimage.cfg new file mode 100644 index 00000000000..38078f0ae3f --- /dev/null +++ b/board/sipeed/lichee_rv_dock/genimage.cfg @@ -0,0 +1,19 @@ +# Minimal SD card image for the sipeed Lichee RV dock + +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = false + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + bootable = "true" + offset = 1M + } +} diff --git a/board/sipeed/lichee_rv_dock/linux.fragment b/board/sipeed/lichee_rv_dock/linux.fragment new file mode 100644 index 00000000000..10016889ab8 --- /dev/null +++ b/board/sipeed/lichee_rv_dock/linux.fragment @@ -0,0 +1,7 @@ +CONFIG_BT=y +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_SERDEV=y +CONFIG_BT_HCIUART_3WIRE=y +CONFIG_BT_HCIUART_RTL=y +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y diff --git a/board/sipeed/lichee_rv_dock/overlay/etc/network/interfaces b/board/sipeed/lichee_rv_dock/overlay/etc/network/interfaces new file mode 100644 index 00000000000..89e7d74aff7 --- /dev/null +++ b/board/sipeed/lichee_rv_dock/overlay/etc/network/interfaces @@ -0,0 +1,6 @@ +auto lo +iface lo inet loopback + +auto wlan0 +iface wlan0 inet dhcp +wpa-conf /etc/wpa_supplicant.conf diff --git a/board/sipeed/lichee_rv_dock/overlay/etc/wpa_supplicant.conf b/board/sipeed/lichee_rv_dock/overlay/etc/wpa_supplicant.conf new file mode 100644 index 00000000000..b43292b0a7f --- /dev/null +++ b/board/sipeed/lichee_rv_dock/overlay/etc/wpa_supplicant.conf @@ -0,0 +1,8 @@ +ap_scan=1 + +network={ + ssid="YOURSSID" + scan_ssid=1 + key_mgmt=WPA-PSK + psk="YOURPASSWD" +} diff --git a/board/sipeed/lichee_rv_dock/readme.txt b/board/sipeed/lichee_rv_dock/readme.txt new file mode 100644 index 00000000000..048ba64d26e --- /dev/null +++ b/board/sipeed/lichee_rv_dock/readme.txt @@ -0,0 +1,45 @@ +Lichee RV dock +=============== + +Lichee RV Dock is a RISC-V Linux development kits with high integration, small +size and affordable price designed for opensource developer. It's equipped with +HDMI interface and it supports many screen by its screen convert board. It's +also equipped with many peripherals, including a UAB-A port, 2.4G Wifi-BT module, +an analog microphone and a speaker jack interface. + +How to build +============ + +$ make sipeed_lichee_rv_dock_defconfig +$ make + +Wifi +========== + +Edit board/sipeed/lichee_rv_dock/overlay/etc/wpa_supplicant.conf or +/etc/wpa_supplicant.conf once connected to the board: + +* Replace YOURSSID with your AP ssid +* Replace YOURPASSWD with your AP password + +Bluetooth +========== + +To make the device discoverable and pairable, once connected to the board: + +* bluetoothctl power on +* bluetoothctl discoverable yes +* bluetoothctl pairable yes + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Connect a TTL UART to the debug connector, insert the microSD card and +plug in a USB-C cable to the PWR connector to boot the system. diff --git a/board/sipeed/licheepi_4a/extlinux/extlinux.conf b/board/sipeed/licheepi_4a/extlinux/extlinux.conf new file mode 100644 index 00000000000..add39541842 --- /dev/null +++ b/board/sipeed/licheepi_4a/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label linux + kernel /Image + devicetree /th1520-lichee-pi-4a.dtb + append console=ttyS0,115200 root=/dev/mmcblk0p4 rootfstype=ext4 rootwait rw earlycon clk_ignore_unused init=/sbin/init diff --git a/board/sipeed/licheepi_4a/genimage.cfg b/board/sipeed/licheepi_4a/genimage.cfg new file mode 100644 index 00000000000..54cef1db9bb --- /dev/null +++ b/board/sipeed/licheepi_4a/genimage.cfg @@ -0,0 +1,7 @@ +image boot.ext4 { + ext4 { + label = "boot" + } + + size = 64M +} diff --git a/board/sipeed/licheepi_4a/patches/linux-headers/linux-headers.hash b/board/sipeed/licheepi_4a/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/sipeed/licheepi_4a/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/sipeed/licheepi_4a/patches/linux/linux.hash b/board/sipeed/licheepi_4a/patches/linux/linux.hash new file mode 100644 index 00000000000..7835000bc96 --- /dev/null +++ b/board/sipeed/licheepi_4a/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 beb902a5f69d9e57710112203db38111dad6d30556ea8ce389284c8077fe944d linux-6.12.18.tar.xz diff --git a/board/sipeed/licheepi_4a/patches/opensbi/opensbi.hash b/board/sipeed/licheepi_4a/patches/opensbi/opensbi.hash new file mode 100644 index 00000000000..5ced5c95cc6 --- /dev/null +++ b/board/sipeed/licheepi_4a/patches/opensbi/opensbi.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 2510c0e867b4f8c28579def9a21e97fa2e8de95b8c7d66bb8b6642202bcee3b4 opensbi-61d7484c752a5e4c464d5dc18e21d9ac67fbbefa-git4.tar.gz diff --git a/board/sipeed/licheepi_4a/patches/uboot/uboot.hash b/board/sipeed/licheepi_4a/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b63a8d79d4b --- /dev/null +++ b/board/sipeed/licheepi_4a/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 6158b9c6faee41a1e790ad4ba2e1b3e18a122ecdb5749fa77c7495a2d1c56262 uboot-b5ee6e549a7b5ff382a14021a5d6a3c94017bddd-git4.tar.gz diff --git a/board/sipeed/licheepi_4a/post-image.sh b/board/sipeed/licheepi_4a/post-image.sh new file mode 100755 index 00000000000..6d188d79940 --- /dev/null +++ b/board/sipeed/licheepi_4a/post-image.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +set -e + +BOARD_DIR="$(dirname "$0")" +GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" +GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" + +trap 'rm -rf "${ROOTPATH_TMP}"' EXIT +ROOTPATH_TMP="$(mktemp -d)" +rm -rf "${GENIMAGE_TMP}" + +cp "${BINARIES_DIR}"/Image "${BINARIES_DIR}"/*.dtb "${BINARIES_DIR}"/fw_dynamic.bin "${ROOTPATH_TMP}" +cp -a "${BINARIES_DIR}"/bootbins/* "${ROOTPATH_TMP}" +cp -a "${BOARD_DIR}"/extlinux "${ROOTPATH_TMP}" + +genimage \ + --rootpath "${ROOTPATH_TMP}" \ + --tmppath "${GENIMAGE_TMP}" \ + --inputpath "${BINARIES_DIR}" \ + --outputpath "${BINARIES_DIR}" \ + --config "${GENIMAGE_CFG}" + +exit $? diff --git a/board/sipeed/licheepi_4a/readme.txt b/board/sipeed/licheepi_4a/readme.txt new file mode 100644 index 00000000000..90a03470466 --- /dev/null +++ b/board/sipeed/licheepi_4a/readme.txt @@ -0,0 +1,97 @@ +Intro +===== + +This directory contains a Buildroot configuration for building a +LicheePi 4A image. For more information, see the board wiki page [1]. + + +How to build it +=============== + + +Configure Buildroot +------------------- + + make sipeed_licheepi_4a_defconfig + + +Build the boot and rootfs +------------------------- + +Note: you will need to have access to the network, since Buildroot +will download the packages' sources. + +You may now build your rootfs with: + + make + +(This may take a while, consider getting yourself a coffee ;-) ) + + +Result of the build +------------------- + +After building, you should obtain this tree: + + output/images/ + +-- boot.ext4 + +-- rootfs.ext2 + +-- rootfs.ext4 -> rootfs.ext2 + +-- rootfs.tar + +-- u-boot.bin + +-- u-boot-with-spl.bin + +-- fw_dynamic.bin + `-- Image + + +How to flash the board +====================== + +Once the build process is finished you will have to flash the +correspoding images to the respective partitions in the eMMC. +LicheePi 4A uses fastboot to flash the images. + +The board needs to be booted in "Burning Mode". For that, check first +the boot switches (SW1, SW2) on the base board are set up on the +"eMMC" mode (this is the factory default). Then, boot the board while +pressing the "BOOT" button. See [2]. + +Note that the board can be booted by either: +- attaching the USB-C power cable, or +- pressing the "RESET" button (near the USB-C power connector) if the + power cable is already connected to the host computer. + +The board should be enumerated from the host computer. This can be +confirmed with "lsusb". The board should be listed as: + + ID 2345:7654 T-HEAD USB download gadget + +The device should also be listed by the "fastboot devices" command: + + ???????????? Android Fastboot + +The board can be flashed with the commands: + + fastboot flash ram output/images/u-boot-with-spl.bin + fastboot reboot + fastboot flash uboot output/images/u-boot-with-spl.bin + fastboot flash boot output/images/boot.ext4 + fastboot flash root output/images/rootfs.ext2 + + +Boot the board +============== + +Connect the console on the System Serial Port on pins +U0-RX, U0-TX and GND. For more details, see [3]. + +When resetting or powering up the board on the USB-C port, the U-Boot +prompt and Linux console will appear on this System Serial Port. + + +References +========== + +[1] https://wiki.sipeed.com/hardware/en/lichee/th1520/lpi4a/1_intro.html +[2] https://wiki.sipeed.com/hardware/en/lichee/th1520/lpi4a/4_burn_image.html#How-to-enter-burning-mode +[3] https://wiki.sipeed.com/hardware/en/lichee/th1520/lpi4a/6_peripheral.html#System-Serial-Port diff --git a/board/sipeed/licheepi_nano/genimage.cfg b/board/sipeed/licheepi_nano/genimage.cfg new file mode 100644 index 00000000000..5e398eeb210 --- /dev/null +++ b/board/sipeed/licheepi_nano/genimage.cfg @@ -0,0 +1,33 @@ +flash w25q128 { + pebsize = 65536 + numpebs = 256 + minimum-io-unit-size = 1 + sub-page-size = 1 + vid-header-offset = 64 +} + +image flash.bin { + flash {} + flashtype = w25q128 + + partition uboot { + image = "u-boot-sunxi-with-spl.bin" + size = 512K + } + + partition dtb { + image = "suniv-f1c100s-licheepi-nano.dtb" + size = 64K + } + + partition zimage { + image = "zImage" + size = 5M + } + + partition rootfs { + image = "rootfs.jffs2" + size = 0 + } +} + diff --git a/board/sipeed/licheepi_nano/linux.fragment b/board/sipeed/licheepi_nano/linux.fragment new file mode 100644 index 00000000000..af68f281675 --- /dev/null +++ b/board/sipeed/licheepi_nano/linux.fragment @@ -0,0 +1,11 @@ +# CONFIG_NET is not set +# CONFIG_DRM is not set +# CONFIG_CMA is not set +# CONFIG_ARCH_MULTI_V7 is not set +CONFIG_UEVENT_HELPER=y +CONFIG_MTD=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_SPI_NOR=y +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_JFFS2_FS=y diff --git a/board/sipeed/licheepi_nano/readme.txt b/board/sipeed/licheepi_nano/readme.txt new file mode 100644 index 00000000000..1f1f8ef17db --- /dev/null +++ b/board/sipeed/licheepi_nano/readme.txt @@ -0,0 +1,84 @@ +Intro +===== + +This directory contains a buildroot configuration for building a +LicheePi Nano image which can be flashed into the board. + +This frees the MMC port which can be used for an additional SD +card of for a WiFi adapter. + +How to build it +=============== + +Configure Buildroot +------------------- + + $ make sipeed_licheepi_nano_defconfig + +Build the rootfs +---------------- + +Note: you will need to have access to the network, since Buildroot +will download the packages' sources. + +You may now build your rootfs with: + + $ make + +(This may take a while, consider getting yourself a coffee ;-) ) + +Result of the build +------------------- + +After building, you should obtain this tree: + + output/images/ + +-- flash.bin + +-- rootfs.jffs2 + +-- rootfs.tar + +-- suniv-f1c100s-licheepi-nano.dtb + +-- u-boot.bin + +-- u-boot-sunxi-with-spl.bin + `-- zImage + +How to flash +============ + +Once the build process is finished you will have an image called +"flash.bin" in the output/images/ directory. It contains the +bootloader, the device tree, the kernel and the root file system. + +The device can be flashed when it is in special mode called "FEL +mode". There are multiple ways to enter this mode described here: +https://linux-sunxi.org/FEL#Entering_FEL_mode + +One way is to write one file from sunxi-tools to a SD card with: + + $ sudo dd if=./output/build/host-sunxi-tools-*/bin/fel-sdboot.sunxi of=/dev/sdX bs=1024 seek=8 + +Once the SD card is burned, insert it into your LicheePi Nano board, +and plug the USB cable. A new USB device should be visible with +lsusb: + + 1f3a:efe8 Allwinner Technology sunxi SoC OTG connector in FEL/flashing mode + +The image can be flashed with: + + $ sudo ./output/host/bin/sunxi-fel -p spiflash-write 0 output/images/flash.bin + +Once this completes, remove the SD card and power the board. Your +new system should come up now and start a console on the UART0 +serial port. + +Note +==== + +Some standard kernel features are disabled using the fragment in +order to reduce the size. They can be enabled again if other +features are disabled instead. + +For U-Boot, the upstream repository is preferred and the system +boots, but loading the image from the flash takes a long time. It +is much faster when using the branch "licheepi-nano-v2020.01" of +this fork: +https://github.com/florpor/u-boot diff --git a/board/sipeed/licheepi_nano/uboot.fragment b/board/sipeed/licheepi_nano/uboot.fragment new file mode 100644 index 00000000000..39f2bfe742d --- /dev/null +++ b/board/sipeed/licheepi_nano/uboot.fragment @@ -0,0 +1,3 @@ +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="console=tty0 console=ttyS0,115200 panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=jffs2 mtdparts=spi0.0:512k(uboot)ro,64k(dtb),5M(kernel)ro,-(rootfs)" +CONFIG_BOOTCOMMAND="sf probe 0 50000000; sf read 0x80C00000 0x80000 0x4000; sf read 0x80008000 0x90000 0x500000; bootz 0x80008000 - 0x80C00000" diff --git a/board/sipeed/licheepi_zero/boot.cmd b/board/sipeed/licheepi_zero/boot.cmd new file mode 100644 index 00000000000..383b3473ed0 --- /dev/null +++ b/board/sipeed/licheepi_zero/boot.cmd @@ -0,0 +1,4 @@ +setenv bootargs console=ttyS0,115200 panic=5 console=tty0 rootwait root=/dev/mmcblk0p2 earlyprintk rw +load mmc 0:1 0x41000000 zImage +load mmc 0:1 0x41800000 sun8i-v3s-licheepi-zero-dock.dtb +bootz 0x41000000 - 0x41800000 diff --git a/board/sipeed/licheepi_zero/genimage.cfg b/board/sipeed/licheepi_zero/genimage.cfg new file mode 100644 index 00000000000..8dcb2e708e5 --- /dev/null +++ b/board/sipeed/licheepi_zero/genimage.cfg @@ -0,0 +1,36 @@ +image boot.vfat { + vfat { + files = { + "zImage", + "sun8i-v3s-licheepi-zero-dock.dtb", + "sun8i-v3s-licheepi-zero.dtb", + "boot.scr" + } + } + + size = 8M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + size = 504K # 512KB - 8KB + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + size = 0 + } +} diff --git a/board/sipeed/licheepi_zero/patches/linux/linux.hash b/board/sipeed/licheepi_zero/patches/linux/linux.hash new file mode 100644 index 00000000000..216d9b9d39d --- /dev/null +++ b/board/sipeed/licheepi_zero/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 0fcbbbbcd456e87bbbfc8bf37af541fda62ccfcce76903503424fd101ef7bdee linux-6.12.43.tar.xz diff --git a/board/sipeed/licheepi_zero/patches/uboot/uboot.hash b/board/sipeed/licheepi_zero/patches/uboot/uboot.hash new file mode 100644 index 00000000000..440526977bd --- /dev/null +++ b/board/sipeed/licheepi_zero/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 0f933f6c5a426895bf306e93e6ac53c60870e4b54cda56d95211bec99e63bec7 u-boot-2025.07.tar.bz2 diff --git a/board/sipeed/licheepi_zero/readme.txt b/board/sipeed/licheepi_zero/readme.txt new file mode 100644 index 00000000000..2f122125b7e --- /dev/null +++ b/board/sipeed/licheepi_zero/readme.txt @@ -0,0 +1,62 @@ +Intro +===== + +This directory contains a buildroot configuration for building a +LicheePi Zero. + +How to build it +=============== + +Configure Buildroot +------------------- + + $ make sipeed_licheepi_zero_defconfig + +Build the rootfs +---------------- + +Note: you will need to have access to the network, since Buildroot +will download the packages' sources. + +You may now build your rootfs with: + + $ make + +(This may take a while, consider getting yourself a coffee ;-) ) + +Result of the build +------------------- + +After building, you should obtain this tree: + + output/images/ + +-- boot.scr + +-- boot.vfat + +-- rootfs.ext2 + +-- rootfs.ext4 -> rootfs.ext2 + +-- rootfs.tar + +-- sdcard.img + +-- sun8i-v3s-licheepi-zero-dock.dtb + +-- sun8i-v3s-licheepi-zero.dtb + +-- u-boot.bin + +-- u-boot-sunxi-with-spl.bin + `-- zImage + +How to write the SD card +======================== + +Once the build process is finished you will have an image called +"sdcard.img" in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Alternatively, you can use the Etcher graphical tool to burn the image +to the SD card safely and on any platform: + +https://etcher.io/ + +Once the SD card is burned, insert it into your LicheePi Zero board, +and power it up. Your new system should come up now and start a +console on the UART0 serial port. diff --git a/board/sipeed/maix-bit/linux-cpio.config b/board/sipeed/maix-bit/linux-cpio.config new file mode 100644 index 00000000000..de2f8fd074f --- /dev/null +++ b/board/sipeed/maix-bit/linux-cpio.config @@ -0,0 +1,2 @@ +CONFIG_SOC_CANAAN_K210_DTB_BUILTIN=y +CONFIG_SOC_CANAAN_K210_DTB_SOURCE="sipeed_maix_bit" diff --git a/board/sipeed/maix-bit/readme.txt b/board/sipeed/maix-bit/readme.txt new file mode 100644 index 00000000000..7cc53bca67c --- /dev/null +++ b/board/sipeed/maix-bit/readme.txt @@ -0,0 +1,316 @@ +Sipeed MAIX-Bit Board +===================== + +The Sipeed MAXI-Bit board is a dual-core RISC-V 64-bits board based on the +Canaan Kendryte K210 SoC. + +Prerequisite +------------ + +In order to use the kflash utility to program this board, the user must have +access to the board USB serial device file. The simplest way to do this is to +add your user to the same group as this device file. Assume the device file is +/dev/ttyUSB0, first identify the device group name. In most cases, it is +either "dialout" or "uucp". Also verify that read-write access is enabled for +the group: + +``` +$ ls -l /dev/ttyUSB0 +crw-rw---- 1 root dialout 188, 0 May 26 13:48 /dev/ttyUSB0 +``` + +Then add yourself to that group (dialout in this example): + +``` +$ sudo usermod -a -G dialout $(whoami) +``` + +To enable the above, it is sometimes necessary to logout and login again. + +Buildroot Configuration +----------------------- + +Two buildroot configuration files are provided: + +(1) Direct Linux Kernel Boot + +This is defined by the sipeed_maix_bit_defconfig configuration. This +configuration allows building a bootable kernel image with a built-in initramfs +root file system (the board SD card is not used). The built kernel image can be +flashed directly to the board ROM for direct booting. No boot loader is +required. + +(2) U-Boot SD-Card Boot + +The sipeed_maix_bit_sdcard_defconfig configuration allows building a kernel +image with the root file system on the board SD card. U-Boot is used as the +boot loader. + +Both configuration files will also compile and install the kflash and +pyserial-miniterm host utilities to program bootable image files to the board +and open a serial terminal console. + +Direct Linux Kernel Boot +------------------------- + +Using the sipeed_maix_bit_defconfig configuration, the bootable kernel binary +image is built as follows. + +``` +$ make sipeed_maix_bit_defconfig +$ make +``` + +The bootable binary image is the output/images/loader.bin file. This image file +can be written to the board boot ROM using the kflash utility. + +``` +$ output/host/bin/kflash -b 1500000 -p /dev/ttyUSB0 -t output/images/loader.bin +``` + +Once the kernel image file is fully programmed, a terminal console is open and +the board can be rebooted by pressing the reset button on the board (if it does +not reboot automatically). + +The output will be similar to the following. + +``` +[ 0.000000] Linux version 5.18.0 (foo@bar.com) (riscv64-buildroot-linux-uclibc-gcc.br_real (Buildroot 2022.02-560-g6a2b542a09-dirty) 10.3.0, GNU ld (GNU Binutils) 2.32) #2 SMP Thu Apr 21 14:30:02 JST 2022 +[ 0.000000] Machine model: SiPeed MAIX BiT +[ 0.000000] earlycon: sifive0 at MMIO 0x0000000038000000 (options '115200n8') +[ 0.000000] printk: bootconsole [sifive0] enabled +[ 0.000000] Zone ranges: +[ 0.000000] DMA32 [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] Normal empty +[ 0.000000] Movable zone start for each node +[ 0.000000] Early memory node ranges +[ 0.000000] node 0: [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] riscv: ISA extensions acdfim +[ 0.000000] riscv: ELF capabilities acdfim +[ 0.000000] percpu: max_distance=0x16000 too large for vmalloc space 0x0 +[ 0.000000] percpu: Embedded 11 pages/cpu s15264 r0 d29792 u45056 +[ 0.000000] percpu: wasting 10 pages per chunk +[ 0.000000] Built 1 zonelists, mobility grouping off. Total pages: 2020 +[ 0.000000] Kernel command line: earlycon console=ttySIF0 +[ 0.000000] Dentry cache hash table entries: 1024 (order: 1, 8192 bytes, linear) +[ 0.000000] Inode-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off +[ 0.000000] Memory: 5996K/8192K available (964K kernel code, 137K rwdata, 205K rodata, 530K init, 66K bss, 2196K reserved, 0K cma-reserved) +[ 0.000000] rcu: Hierarchical RCU implementation. +[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. +[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 +[ 0.000000] riscv-intc: 64 local interrupts mapped +[ 0.000000] plic: interrupt-controller@c000000: mapped 65 interrupts with 2 handlers for 4 contexts. +[ 0.000000] k210-clk: clock-controller: CPU running at 390 MHz +[ 0.000000] clint: timer@2000000: timer running at 7800000 Hz +[ 0.000000] clocksource: clint_clocksource: mask: 0xffffffffffffffff max_cycles: 0x3990be68b, max_idle_ns: 881590404272 ns +[ 0.000001] sched_clock: 64 bits at 7MHz, resolution 128ns, wraps every 4398046511054ns +[ 0.008188] Calibrating delay loop (skipped), value calculated using timer frequency.. 15.60 BogoMIPS (lpj=31200) +[ 0.018250] pid_max: default: 4096 minimum: 301 +[ 0.022860] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.029972] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.040244] rcu: Hierarchical SRCU implementation. +[ 0.045121] smp: Bringing up secondary CPUs ... +[ 0.050225] smp: Brought up 1 node, 2 CPUs +[ 0.054355] devtmpfs: initialized +[ 0.071168] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns +[ 0.080240] pinctrl core: initialized pinctrl subsystem +[ 0.119221] clocksource: Switched to clocksource clint_clocksource +[ 0.131498] workingset: timestamp_bits=62 max_order=11 bucket_order=0 +[ 0.176943] k210-sysctl 50440000.syscon: K210 system controller +[ 0.193558] k210-rst 50440000.syscon:reset-controller: K210 reset controller +[ 0.201526] cacheinfo: Unable to detect cache hierarchy for CPU 0 +[ 0.211611] i2c_dev: i2c /dev entries driver +[ 0.221375] k210-fpioa 502b0000.pinmux: K210 FPIOA pin controller +[ 0.233591] 38000000.serial: ttySIF0 at MMIO 0x38000000 (irq = 1, base_baud = 115200) is a SiFive UART v0 +[ 0.242529] printk: console [ttySIF0] enabled +[ 0.242529] printk: console [ttySIF0] enabled +[ 0.251165] printk: bootconsole [sifive0] disabled +[ 0.251165] printk: bootconsole [sifive0] disabled +[ 0.274348] Freeing unused kernel image (initmem) memory: 524K +[ 0.279504] This architecture does not have kernel memory protection. +[ 0.285908] Run /init as init process + __ _ + / / (_) ____ _ _ __ __ + / / | || _ \ | | | |\ \/ / + / /___| || | | || |_| | > < + /_____/|_||_| |_| \____|/_/\_\ + 64-bits RISC-V Kendryte K210 NOMMU + +/ # +``` + +To open a terminal console without re-flashing the board, the pyserial-miniterm +host tool can be used. + +``` +$ output/host/bin/pyserial-miniterm --raw --eol=LF /dev/ttyUSB0 115200 +``` + +The options "--raw" and "--eol=LF" are added here to avoid a double carriage +return each time a command is entered. + + +U-Boot SD-Card Boot +------------------- + +The build procedure is similar to the direct Linux kernel boot case. + +``` +$ make sipeed_maix_bit_sdcard_defconfig +$ make +``` + +The build process will generate two files under the output/images directory. + +* sdcard.img: The image file for the SD card filesystem. This image has 2 + partitions. The first partition is a vfat partition containing the kernel + uImage and the board device tree binary. The second partition is the root + filesystem with busybox installed. The second partition is formatted using + ext2 (rev1). + +* uboot.bin: U-Boot bootable binary to load and boot the kernel from the SD + card. + +The SD card can be prepared by writing the sdcard.img file, as follows. + +``` +$ sudo dd if=output/images/sdcard.img of=/dev/sdX bs=1M +$ sync +$ eject /dev/sdX +``` + +Where /dev/sdX is the device file name of the SD card. Once completed, the SD +card can be inserted into the board and the U-Boot binary image written to the +board boot flash using the kflash utility. + +``` +$ output/host/bin/kflash -b 1500000 -p /dev/ttyUSB0 -t output/images/u-boot.bin +``` + +The above command will program U-Boot image to the board boot ROM and open a +terminal console once the u-boot.bin file is fully programmed. Reboot into the +newly programmed environment by pressing the board reset button. + +The output will be similar to the following. + +``` +U-Boot 2022.04 (May 24 2022 - 17:08:34 +0900) + +DRAM: 8 MiB +Core: 34 devices, 17 uclasses, devicetree: separate +WDT: Not starting watchdog@50400000 +MMC: spi@53000000:slot@0: 0 +Loading Environment from SPIFlash... SF: Detected gd25lq128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB +*** Warning - bad CRC, using default environment + +In: serial@38000000 +Out: serial@38000000 +Err: serial@38000000 +Hit any key to stop autoboot: 0 +1668562 bytes read in 933 ms (1.7 MiB/s) +10468 bytes read in 11 ms (928.7 KiB/s) +## Booting kernel from Legacy Image at 80060000 ... + Image Name: Linux + Image Type: RISC-V Linux Kernel Image (uncompressed) + Data Size: 1668498 Bytes = 1.6 MiB + Load Address: 80000000 + Entry Point: 80000000 + Verifying Checksum ... OK +## Flattened Device Tree blob at 80400000 + Booting using the fdt blob at 0x80400000 + Loading Kernel Image + Loading Device Tree to 00000000803fa000, end 00000000803ff8e3 ... OK + +Starting kernel ... + +[ 0.000000] Linux version 5.18.0 (foo@bar.com) (riscv64-buildroot-linux-uclibc-gcc.br_real (Buildroot 2022.02-1056-gc356b62332) 10.3.0, GNU ld (GNU Binutils) 2.37) #1 SMP Tue May 24 06:45:04 JST 2022 +[ 0.000000] Machine model: SiPeed MAIX BiT +[ 0.000000] earlycon: sifive0 at MMIO 0x0000000038000000 (options '115200n8') +[ 0.000000] printk: bootconsole [sifive0] enabled +[ 0.000000] Zone ranges: +[ 0.000000] DMA32 [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] Normal empty +[ 0.000000] Movable zone start for each node +[ 0.000000] Early memory node ranges +[ 0.000000] node 0: [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] riscv: base ISA extensions acdfim +[ 0.000000] riscv: ELF capabilities acdfim +[ 0.000000] percpu: max_distance=0x16000 too large for vmalloc space 0x0 +[ 0.000000] percpu: Embedded 11 pages/cpu s15648 r0 d29408 u45056 +[ 0.000000] percpu: wasting 10 pages per chunk +[ 0.000000] Built 1 zonelists, mobility grouping off. Total pages: 2020 +[ 0.000000] Kernel command line: earlycon console=ttySIF0 root=/dev/mmcblk0p2 rootwait ro +[ 0.000000] Dentry cache hash table entries: 1024 (order: 1, 8192 bytes, linear) +[ 0.000000] Inode-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off +[ 0.000000] Memory: 6204K/8192K available (1134K kernel code, 150K rwdata, 239K rodata, 100K init, 68K bss, 1988K reserved, 0K cma-reserved) +[ 0.000000] rcu: Hierarchical RCU implementation. +[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. +[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 +[ 0.000000] riscv-intc: 64 local interrupts mapped +[ 0.000000] plic: interrupt-controller@c000000: mapped 65 interrupts with 2 handlers for 4 contexts. +[ 0.000000] k210-clk: clock-controller: CPU running at 390 MHz +[ 0.000000] clint: timer@2000000: timer running at 7800000 Hz +[ 0.000000] clocksource: clint_clocksource: mask: 0xffffffffffffffff max_cycles: 0x3990be68b, max_idle_ns: 881590404272 ns +[ 0.000001] sched_clock: 64 bits at 7MHz, resolution 128ns, wraps every 4398046511054ns +[ 0.008194] Calibrating delay loop (skipped), value calculated using timer frequency.. 15.60 BogoMIPS (lpj=31200) +[ 0.018257] pid_max: default: 4096 minimum: 301 +[ 0.022869] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.029982] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.040424] rcu: Hierarchical SRCU implementation. +[ 0.045397] smp: Bringing up secondary CPUs ... +[ 0.050518] smp: Brought up 1 node, 2 CPUs +[ 0.054676] devtmpfs: initialized +[ 0.072365] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns +[ 0.081396] pinctrl core: initialized pinctrl subsystem +[ 0.123762] clocksource: Switched to clocksource clint_clocksource +[ 0.136796] workingset: timestamp_bits=62 max_order=11 bucket_order=0 +[ 0.181768] k210-sysctl 50440000.syscon: K210 system controller +[ 0.198397] k210-rst 50440000.syscon:reset-controller: K210 reset controller +[ 0.207373] cacheinfo: Unable to detect cache hierarchy for CPU 0 +[ 0.218270] spi spi1.0: setup: ignoring unsupported mode bits a00 +[ 0.224786] i2c_dev: i2c /dev entries driver +[ 0.235984] k210-fpioa 502b0000.pinmux: K210 FPIOA pin controller +[ 0.249172] 38000000.serial: ttySIF0 at MMIO 0x38000000 (irq = 1, base_baud = 115200) is a SiFive UART v0 +[ 0.258078] printk: console [ttySIF0] enabled +[ 0.258078] printk: console [ttySIF0] enabled +[ 0.266707] printk: bootconsole [sifive0] disabled +[ 0.266707] printk: bootconsole [sifive0] disabled +[ 0.307910] mmc_spi spi3.0: SD/MMC host mmc0, no WP, no poweroff, cd polling +[ 0.319869] Waiting for root device /dev/mmcblk0p2... +[ 0.345016] mmc0: host does not support reading read-only switch, assuming write-enable +[ 0.352330] mmc0: new SDHC card on SPI +[ 0.359338] mmcblk0: mmc0:0000 SA16G 14.5 GiB +[ 0.367589] random: fast init done +[ 0.371533] mmcblk0: p1 p2 +[ 0.391794] random: get_random_bytes called from 0x0000000080095ae8 with crng_init=1 +[ 0.393388] VFS: Mounted root (ext2 filesystem) readonly on device 179:2. +[ 0.411377] devtmpfs: mounted +[ 0.413922] Freeing unused kernel image (initmem) memory: 96K +[ 0.419344] This architecture does not have kernel memory protection. +[ 0.425777] Run /sbin/init as init process +[ 0.718314] random: crng init done +[ 0.799903] init (1): drop_caches: 3 + __ _ + / / (_) ____ _ _ __ __ + / / | || _ \ | | | |\ \/ / + / /___| || | | || |_| | > < + /_____/|_||_| |_| \____|/_/\_\ + 64-bits RISC-V Kendryte K210 NOMMU + +/ # +``` + +Of note is that the kernel mounts the SD card as read-only by default to avoid +corruptions of the ext2 root file system when the board is powered down. This +is recommended as this board does not support clean shutdown or halt. + +Similarly to the initramfs build case, a console can be open without +re-flashing the board using the host tool pyserial-miniterm. + +``` +$ output/host/bin/pyserial-miniterm --raw --eol=LF /dev/ttyUSB0 115200 +``` diff --git a/board/sipeed/maix-dock/linux-cpio.config b/board/sipeed/maix-dock/linux-cpio.config new file mode 100644 index 00000000000..b1ca3166f85 --- /dev/null +++ b/board/sipeed/maix-dock/linux-cpio.config @@ -0,0 +1,2 @@ +CONFIG_SOC_CANAAN_K210_DTB_BUILTIN=y +CONFIG_SOC_CANAAN_K210_DTB_SOURCE="sipeed_maix_dock" diff --git a/board/sipeed/maix-dock/readme.txt b/board/sipeed/maix-dock/readme.txt new file mode 100644 index 00000000000..5971f6e50bc --- /dev/null +++ b/board/sipeed/maix-dock/readme.txt @@ -0,0 +1,321 @@ +Sipeed MAIX-Dock Board +====================== + +The Sipeed MAXI-Dock board is a dual-core RISC-V 64-bits board based on the +Canaan Kendryte K210 SoC. + +Prerequisite +------------ + +In order to use the kflash utility to program this board, the user must have +access to the board USB serial device file. The simplest way to do this is to +add your user to the same group as this device file. Assume the device file is +/dev/ttyUSB0, first identify the device group name. In most cases, it is +either "dialout" or "uucp". Also verify that read-write access is enabled for +the group: + +``` +$ ls -l /dev/ttyUSB0 +crw-rw---- 1 root dialout 188, 0 May 26 13:48 /dev/ttyUSB0 +``` + +Then add yourself to that group (dialout in this example): + +``` +$ sudo usermod -a -G dialout $(whoami) +``` + +To enable the above, it is sometimes necessary to logout and login again. + +Buildroot Configuration +----------------------- + +Two buildroot configuration files are provided: + +(1) Direct Linux Kernel Boot + +This is defined by the sipeed_maix_dock_defconfig configuration. This +configuration allows building a bootable kernel image with a built-in initramfs +root file system (the board SD card is not used). The built kernel image can be +flashed directly to the board ROM for direct booting. No boot loader is +required. + +(2) U-Boot SD-Card Boot + +The sipeed_maix_dock_sdcard_defconfig configuration allows building a kernel +image with the root file system on the board SD card. U-Boot is used as the +boot loader. + +Note: U-Boot does not natively support the Sipeed MAIX-Dock board. However, the +board and device tree differences with the Sipeed MAIX-Bit board are small +enough for U-Boot to work. + +Both configuration files will also compile the pyserial-miniterm host tool open +a serial terminal console for the board. + +Direct Linux Kernel Boot +------------------------- + +Using the sipeed_maix_dock_defconfig configuration, the bootable kernel binary +image is built as follows. + +``` +$ make sipeed_maix_dock_defconfig +$ make +``` + +Both configuration files will also compile and install the kflash and +pyserial-miniterm host utilities to program bootable image files to the board +and open a serial terminal console. + +``` +$ output/host/bin/kflash -b 1500000 -p /dev/ttyUSB0 -t output/images/loader.bin +``` + +Once the kernel image file is fully programmed, a terminal console is open and +the board can be rebooted by pressing the reset button on the board (if it does +not reboot automatically). + +The output will be similar to the following. + +``` +[ 0.000000] Linux version 5.18.0 (foo@bar.com) (riscv64-buildroot-linux-uclibc-gcc.br_real (Buildroot 2022.02-560-g6a2b542a09-dirty) 10.3.0, GNU ld (GNU Binutils) 2.32) #2 SMP Thu Apr 21 15:47:42 JST 2022 +[ 0.000000] Machine model: SiPeed MAIX Dock +[ 0.000000] earlycon: sifive0 at MMIO 0x0000000038000000 (options '115200n8') +[ 0.000000] printk: bootconsole [sifive0] enabled +[ 0.000000] Zone ranges: +[ 0.000000] DMA32 [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] Normal empty +[ 0.000000] Movable zone start for each node +[ 0.000000] Early memory node ranges +[ 0.000000] node 0: [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] riscv: ISA extensions acdfim +[ 0.000000] riscv: ELF capabilities acdfim +[ 0.000000] percpu: max_distance=0x16000 too large for vmalloc space 0x0 +[ 0.000000] percpu: Embedded 11 pages/cpu s15264 r0 d29792 u45056 +[ 0.000000] percpu: wasting 10 pages per chunk +[ 0.000000] Built 1 zonelists, mobility grouping off. Total pages: 2020 +[ 0.000000] Kernel command line: earlycon console=ttySIF0 +[ 0.000000] Dentry cache hash table entries: 1024 (order: 1, 8192 bytes, linear) +[ 0.000000] Inode-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off +[ 0.000000] Memory: 5980K/8192K available (964K kernel code, 137K rwdata, 205K rodata, 546K init, 66K bss, 2212K reserved, 0K cma-reserved) +[ 0.000000] rcu: Hierarchical RCU implementation. +[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. +[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 +[ 0.000000] riscv-intc: 64 local interrupts mapped +[ 0.000000] plic: interrupt-controller@c000000: mapped 65 interrupts with 2 handlers for 4 contexts. +[ 0.000000] k210-clk: clock-controller: CPU running at 390 MHz +[ 0.000000] clint: timer@2000000: timer running at 7800000 Hz +[ 0.000000] clocksource: clint_clocksource: mask: 0xffffffffffffffff max_cycles: 0x3990be68b, max_idle_ns: 881590404272 ns +[ 0.000001] sched_clock: 64 bits at 7MHz, resolution 128ns, wraps every 4398046511054ns +[ 0.008187] Calibrating delay loop (skipped), value calculated using timer frequency.. 15.60 BogoMIPS (lpj=31200) +[ 0.018250] pid_max: default: 4096 minimum: 301 +[ 0.022859] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.029971] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.040238] rcu: Hierarchical SRCU implementation. +[ 0.045110] smp: Bringing up secondary CPUs ... +[ 0.050215] smp: Brought up 1 node, 2 CPUs +[ 0.054345] devtmpfs: initialized +[ 0.071112] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns +[ 0.080182] pinctrl core: initialized pinctrl subsystem +[ 0.120689] clocksource: Switched to clocksource clint_clocksource +[ 0.133165] workingset: timestamp_bits=62 max_order=11 bucket_order=0 +[ 0.181750] k210-sysctl 50440000.syscon: K210 system controller +[ 0.198612] k210-rst 50440000.syscon:reset-controller: K210 reset controller +[ 0.206644] cacheinfo: Unable to detect cache hierarchy for CPU 0 +[ 0.216569] i2c_dev: i2c /dev entries driver +[ 0.225905] k210-fpioa 502b0000.pinmux: K210 FPIOA pin controller +[ 0.238866] 38000000.serial: ttySIF0 at MMIO 0x38000000 (irq = 1, base_baud = 115200) is a SiFive UART v0 +[ 0.247778] printk: console [ttySIF0] enabled +[ 0.247778] printk: console [ttySIF0] enabled +[ 0.256459] printk: bootconsole [sifive0] disabled +[ 0.256459] printk: bootconsole [sifive0] disabled +[ 0.268225] panel@0 enforce active low on chipselect handle +[ 0.285238] Freeing unused kernel image (initmem) memory: 540K +[ 0.290372] This architecture does not have kernel memory protection. +[ 0.296807] Run /init as init process + __ _ + / / (_) ____ _ _ __ __ + / / | || _ \ | | | |\ \/ / + / /___| || | | || |_| | > < + /_____/|_||_| |_| \____|/_/\_\ + 64-bits RISC-V Kendryte K210 NOMMU + +/ # +``` + +To open a terminal console without re-flashing the board, the pyserial-miniterm +host tool can be used. + +``` +$ output/host/bin/pyserial-miniterm --raw --eol=LF /dev/ttyUSB0 115200 +``` + +The options "--raw" and "--eol=LF" are added here to avoid a double carriage +return each time a command is entered. + + +U-Boot SD-Card Boot +------------------- + +The build procedure is similar to the built-in initramfs case. + +``` +$ make sipeed_maix_dock_sdcard_defconfig +$ make +``` + +The build process will generate two files under the output/images directory. + +* sdcard.img: The image file for the SD card filesystem. This image has 2 + partitions. The first partition is a vfat partition containing the kernel + uImage and the board device tree binary. The second partition is the root + filesystem with busybox installed. The second partition is formatted using + ext2 (rev1). + +* uboot.bin: U-Boot bootable binary to load and boot the kernel from the SD + card. + +The SD card can be prepared by writing the sdcard.img file, as follows. + +``` +$ sudo dd if=output/images/sdcard.img of=/dev/sdX bs=1M +$ sync +$ eject /dev/sdX +``` + +Where /dev/sdX is the device file name of the SD card. Once completed, the SD +card can be inserted into the board and the U-Boot binary image written to the +board boot flash using the kflash utility. + +``` +$ output/host/bin/kflash -b 1500000 -p /dev/ttyUSB0 -t output/images/u-boot.bin +``` + +The above command will program U-Boot image to the board boot ROM and open a +terminal console once the u-boot.bin file is fully programmed. Reboot into the +newly programmed environment by pressing the board reset button if it does not +reboot automatically. + +The output will be similar to the following. + +``` +U-Boot 2022.04 (Apr 21 2022 - 15:59:50 +0900) + +DRAM: 8 MiB +Core: 34 devices, 17 uclasses, devicetree: separate +WDT: Not starting watchdog@50400000 +MMC: spi@53000000:slot@0: 0 +Loading Environment from SPIFlash... SF: Detected w25q128fw with page size 256 Bytes, erase size 4 KiB, total 16 MiB +*** Warning - bad CRC, using default environment + +In: serial@38000000 +Out: serial@38000000 +Err: serial@38000000 +Hit any key to stop autoboot: 0 +1717730 bytes read in 957 ms (1.7 MiB/s) +10382 bytes read in 11 ms (920.9 KiB/s) +## Booting kernel from Legacy Image at 80060000 ... + Image Name: Linux + Image Type: RISC-V Linux Kernel Image (uncompressed) + Data Size: 1717666 Bytes = 1.6 MiB + Load Address: 80000000 + Entry Point: 80000000 + Verifying Checksum ... OK +## Flattened Device Tree blob at 80400000 + Booting using the fdt blob at 0x80400000 + Loading Kernel Image + Loading Device Tree to 00000000803fa000, end 00000000803ff88d ... OK + +Starting kernel ... + +[ 0.000000] Linux version 5.18.0 (foo@bar.com) (riscv64-buildroot-linux-uclibc-gcc.br_real (Buildroot 2022.02-560-g6a2b542a09-dirty) 10.3.0, GNU ld (GNU Binutils) 2.32) #1 SMP Thu Apr 21 16:00:03 JST 2022 +[ 0.000000] Machine model: SiPeed MAIX Dock +[ 0.000000] earlycon: sifive0 at MMIO 0x0000000038000000 (options '115200n8') +[ 0.000000] printk: bootconsole [sifive0] enabled +[ 0.000000] Zone ranges: +[ 0.000000] DMA32 [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] Normal empty +[ 0.000000] Movable zone start for each node +[ 0.000000] Early memory node ranges +[ 0.000000] node 0: [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] riscv: ISA extensions acdfim +[ 0.000000] riscv: ELF capabilities acdfim +[ 0.000000] percpu: max_distance=0x16000 too large for vmalloc space 0x0 +[ 0.000000] percpu: Embedded 11 pages/cpu s15392 r0 d29664 u45056 +[ 0.000000] percpu: wasting 10 pages per chunk +[ 0.000000] Built 1 zonelists, mobility grouping off. Total pages: 2020 +[ 0.000000] Kernel command line: earlycon console=ttySIF0 root=/dev/mmcblk0p2 rootwait ro +[ 0.000000] Dentry cache hash table entries: 1024 (order: 1, 8192 bytes, linear) +[ 0.000000] Inode-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off +[ 0.000000] Memory: 6156K/8192K available (1180K kernel code, 151K rwdata, 239K rodata, 102K init, 69K bss, 2036K reserved, 0K cma-reserved) +[ 0.000000] rcu: Hierarchical RCU implementation. +[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. +[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 +[ 0.000000] riscv-intc: 64 local interrupts mapped +[ 0.000000] plic: interrupt-controller@c000000: mapped 65 interrupts with 2 handlers for 4 contexts. +[ 0.000000] k210-clk: clock-controller: CPU running at 390 MHz +[ 0.000000] clint: timer@2000000: timer running at 7800000 Hz +[ 0.000000] clocksource: clint_clocksource: mask: 0xffffffffffffffff max_cycles: 0x3990be68b, max_idle_ns: 881590404272 ns +[ 0.000001] sched_clock: 64 bits at 7MHz, resolution 128ns, wraps every 4398046511054ns +[ 0.008196] Calibrating delay loop (skipped), value calculated using timer frequency.. 15.60 BogoMIPS (lpj=31200) +[ 0.018256] pid_max: default: 4096 minimum: 301 +[ 0.022876] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.029980] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.040401] rcu: Hierarchical SRCU implementation. +[ 0.045379] smp: Bringing up secondary CPUs ... +[ 0.050494] smp: Brought up 1 node, 2 CPUs +[ 0.054656] devtmpfs: initialized +[ 0.072338] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns +[ 0.081415] pinctrl core: initialized pinctrl subsystem +[ 0.123902] clocksource: Switched to clocksource clint_clocksource +[ 0.136898] workingset: timestamp_bits=62 max_order=11 bucket_order=0 +[ 0.182570] k210-sysctl 50440000.syscon: K210 system controller +[ 0.198158] k210-rst 50440000.syscon:reset-controller: K210 reset controller +[ 0.207473] cacheinfo: Unable to detect cache hierarchy for CPU 0 +[ 0.219724] i2c_dev: i2c /dev entries driver +[ 0.230080] k210-fpioa 502b0000.pinmux: K210 FPIOA pin controller +[ 0.243091] 38000000.serial: ttySIF0 at MMIO 0x38000000 (irq = 1, base_baud = 115200) is a SiFive UART v0 +[ 0.252034] printk: console [ttySIF0] enabled +[ 0.252034] printk: console [ttySIF0] enabled +[ 0.260656] printk: bootconsole [sifive0] disabled +[ 0.260656] printk: bootconsole [sifive0] disabled +[ 0.272546] panel@0 enforce active low on chipselect handle +[ 0.308098] mmc_spi spi3.0: SD/MMC host mmc0, no WP, no poweroff, cd polling +[ 0.320197] Waiting for root device /dev/mmcblk0p2... +[ 0.344667] mmc0: host does not support reading read-only switch, assuming write-enable +[ 0.352020] mmc0: new SDHC card on SPI +[ 0.358566] mmcblk0: mmc0:0000 SA16G 14.5 GiB +[ 0.366866] random: fast init done +[ 0.371439] mmcblk0: p1 p2 +[ 0.391314] random: get_random_bytes called from 0x000000008009b7d2 with crng_init=1 +[ 0.400977] VFS: Mounted root (ext2 filesystem) readonly on device 179:2. +[ 0.410966] devtmpfs: mounted +[ 0.413521] Freeing unused kernel image (initmem) memory: 96K +[ 0.418944] This architecture does not have kernel memory protection. +[ 0.425370] Run /sbin/init as init process +[ 0.633502] random: crng init done + __ _ + / / (_) ____ _ _ __ __ + / / | || _ \ | | | |\ \/ / + / /___| || | | || |_| | > < + /_____/|_||_| |_| \____|/_/\_\ + 64-bits RISC-V Kendryte K210 NOMMU + +/ # +``` + +Of note is that the kernel mounts the SD card as read-only by default to avoid +corruptions of the ext2 root file system when the board is powered down. This +is recommended as this board does not support clean shutdown or halt. + +Similarly to the initramfs build case, a console can be open without +re-flashing the board using the host tool pyserial-miniterm. + +``` +$ output/host/bin/pyserial-miniterm --raw --eol=LF /dev/ttyUSB0 115200 +``` diff --git a/board/sipeed/maix-go/linux-cpio.config b/board/sipeed/maix-go/linux-cpio.config new file mode 100644 index 00000000000..ea8c30e266b --- /dev/null +++ b/board/sipeed/maix-go/linux-cpio.config @@ -0,0 +1,2 @@ +CONFIG_SOC_CANAAN_K210_DTB_BUILTIN=y +CONFIG_SOC_CANAAN_K210_DTB_SOURCE="sipeed_maix_go" diff --git a/board/sipeed/maix-go/readme.txt b/board/sipeed/maix-go/readme.txt new file mode 100644 index 00000000000..9f930fb6ac4 --- /dev/null +++ b/board/sipeed/maix-go/readme.txt @@ -0,0 +1,320 @@ +Sipeed MAIX-Go Board +==================== + +The Sipeed MAXI-Go board is a dual-core RISC-V 64-bits board based on the +Canaan Kendryte K210 SoC. + +Prerequisite +------------ + +In order to use the kflash utility to program this board, the user must have +access to the board USB serial device file. The simplest way to do this is to +add your user to the same group as this device file. Assume the device file is +/dev/ttyUSB0, first identify the device group name. In most cases, it is +either "dialout" or "uucp". Also verify that read-write access is enabled for +the group: + +``` +$ ls -l /dev/ttyUSB0 +crw-rw---- 1 root dialout 188, 0 May 26 13:48 /dev/ttyUSB0 +``` + +Then add yourself to that group (dialout in this example): + +``` +$ sudo usermod -a -G dialout $(whoami) +``` + +To enable the above, it is sometimes necessary to logout and login again. + +Buildroot Configuration +----------------------- + +Two buildroot configuration files are provided: + +(1) Direct Linux Kernel Boot + +This is defined by the sipeed_maix_go_defconfig configuration. This +configuration allows building a bootable kernel image with a built-in initramfs +root file system (the board SD card is not used). The built kernel image can be +flashed directly to the board ROM for direct booting. No boot loader is +required. + +(2) U-Boot SD-Card Boot + +The sipeed_maix_go_sdcard_defconfig configuration allows building a kernel +image with the root file system on the board SD card. U-Boot is used as the +boot loader. + +Note: U-Boot does not natively support the Sipeed MAIX-Go board. However, the +board and device tree differences with the Sipeed MAIX-bit board are small +enough for U-Boot to work. + +Both configuration files will also compile and install the kflash and +pyserial-miniterm host utilities to program bootable image files to the board +and open a serial terminal console. + +Direct Linux Kernel Boot +------------------------- + +Using the sipeed_maix_go_defconfig configuration, the bootable kernel binary +image is built as follows. + +``` +$ make sipeed_maix_go_defconfig +$ make +``` + +The bootable binary image is the output/images/loader.bin file. This image file +can be written to the board boot flash using the kflash utility. + +``` +$ output/host/bin/kflash -b 1500000 -p /dev/ttyUSB0 -t output/images/loader.bin +``` + +Once the kernel image file is fully programmed, a terminal console is open and +the board can be rebooted by pressing the reset button on the board (if it does +not reboot automatically). + +The output will be similar to the following. + +``` +[ 0.000000] Linux version 5.17.0 (foo@bar.com) (riscv64-buildroot-linux-uclibc-gcc.br_real (Buildroot 2022.02-560-g6a2b542a09-dirty) 10.3.0, GNU ld (GNU Binutils) 2.32) #2 SMP Thu Apr 21 16:09:24 JST 2022 +[ 0.000000] Machine model: SiPeed MAIX GO +[ 0.000000] earlycon: sifive0 at MMIO 0x0000000038000000 (options '115200n8') +[ 0.000000] printk: bootconsole [sifive0] enabled +[ 0.000000] Zone ranges: +[ 0.000000] DMA32 [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] Normal empty +[ 0.000000] Movable zone start for each node +[ 0.000000] Early memory node ranges +[ 0.000000] node 0: [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] riscv: ISA extensions acdfim +[ 0.000000] riscv: ELF capabilities acdfim +[ 0.000000] percpu: max_distance=0x16000 too large for vmalloc space 0x0 +[ 0.000000] percpu: Embedded 11 pages/cpu s15264 r0 d29792 u45056 +[ 0.000000] percpu: wasting 10 pages per chunk +[ 0.000000] Built 1 zonelists, mobility grouping off. Total pages: 2020 +[ 0.000000] Kernel command line: earlycon console=ttySIF0 +[ 0.000000] Dentry cache hash table entries: 1024 (order: 1, 8192 bytes, linear) +[ 0.000000] Inode-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off +[ 0.000000] Memory: 5980K/8192K available (964K kernel code, 137K rwdata, 205K rodata, 546K init, 66K bss, 2212K reserved, 0K cma-reserved) +[ 0.000000] rcu: Hierarchical RCU implementation. +[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. +[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 +[ 0.000000] riscv-intc: 64 local interrupts mapped +[ 0.000000] plic: interrupt-controller@c000000: mapped 65 interrupts with 2 handlers for 4 contexts. +[ 0.000000] k210-clk: clock-controller: CPU running at 390 MHz +[ 0.000000] clint: timer@2000000: timer running at 7800000 Hz +[ 0.000000] clocksource: clint_clocksource: mask: 0xffffffffffffffff max_cycles: 0x3990be68b, max_idle_ns: 881590404272 ns +[ 0.000001] sched_clock: 64 bits at 7MHz, resolution 128ns, wraps every 4398046511054ns +[ 0.008193] Calibrating delay loop (skipped), value calculated using timer frequency.. 15.60 BogoMIPS (lpj=31200) +[ 0.018250] pid_max: default: 4096 minimum: 301 +[ 0.022862] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.029971] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.040239] rcu: Hierarchical SRCU implementation. +[ 0.045118] smp: Bringing up secondary CPUs ... +[ 0.050204] smp: Brought up 1 node, 2 CPUs +[ 0.054336] devtmpfs: initialized +[ 0.071519] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns +[ 0.080591] pinctrl core: initialized pinctrl subsystem +[ 0.121163] clocksource: Switched to clocksource clint_clocksource +[ 0.133221] workingset: timestamp_bits=62 max_order=11 bucket_order=0 +[ 0.180960] k210-sysctl 50440000.syscon: K210 system controller +[ 0.196811] k210-rst 50440000.syscon:reset-controller: K210 reset controller +[ 0.204879] cacheinfo: Unable to detect cache hierarchy for CPU 0 +[ 0.214087] i2c_dev: i2c /dev entries driver +[ 0.222736] k210-fpioa 502b0000.pinmux: K210 FPIOA pin controller +[ 0.236173] 38000000.serial: ttySIF0 at MMIO 0x38000000 (irq = 1, base_baud = 115200) is a SiFive UART v0 +[ 0.245104] printk: console [ttySIF0] enabled +[ 0.245104] printk: console [ttySIF0] enabled +[ 0.253726] printk: bootconsole [sifive0] disabled +[ 0.253726] printk: bootconsole [sifive0] disabled +[ 0.265588] panel@0 enforce active low on chipselect handle +[ 0.282358] Freeing unused kernel image (initmem) memory: 540K +[ 0.287492] This architecture does not have kernel memory protection. +[ 0.293926] Run /init as init process + __ _ + / / (_) ____ _ _ __ __ + / / | || _ \ | | | |\ \/ / + / /___| || | | || |_| | > < + /_____/|_||_| |_| \____|/_/\_\ + 64-bits RISC-V Kendryte K210 NOMMU + +/ # +``` + +To open a terminal console without re-flashing the board, the pyserial-miniterm +host tool can be used. + +``` +$ output/host/bin/pyserial-miniterm --raw --eol=LF /dev/ttyUSB0 115200 +``` + +The options "--raw" and "--eol=LF" are added here to avoid a double carriage +return each time a command is entered. + + +U-Boot SD-Card Boot +------------------- + +The build procedure is similar to the built-in initramfs case. + +``` +$ make sipeed_maix_go_sdcard_defconfig +$ make +``` + +The build process will generate two files under the output/images directory. + +* sdcard.img: The image file for the SD card filesystem. This image has 2 + partitions. The first partition is a vfat partition containing the kernel + uImage and the board device tree binary. The second partition is the root + filesystem with busybox installed. The second partition is formatted using + ext2 (rev1). + +* uboot.bin: U-Boot bootable binary to load and boot the kernel from the SD + card. + +The SD card can be prepared by writing the sdcard.img file, as follows. + +``` +$ sudo dd if=output/images/sdcard.img of=/dev/sdX bs=1M +$ sync +$ eject /dev/sdX +``` + +Where /dev/sdX is the device file name of the SD card. Once completed, the SD +card can be inserted into the board and the U-Boot binary image written to the +board boot flash using the kflash utility. + +``` +$ output/host/bin/kflash -b 1500000 -p /dev/ttyUSB0 -t output/images/u-boot.bin +``` + +The above command will program U-Boot image to the board boot ROM and open a +terminal console once the u-boot.bin file is fully programmed. Reboot into the +newly programmed environment by pressing the board reset button. + +The output will be similar to the following. + +``` +U-Boot 2022.04 (Apr 21 2022 - 16:28:58 +0900) + +DRAM: 8 MiB +Core: 34 devices, 17 uclasses, devicetree: separate +WDT: Not starting watchdog@50400000 +MMC: spi@53000000:slot@0: 0 +Loading Environment from SPIFlash... SF: Detected gd25lq128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB +*** Warning - bad CRC, using default environment + +In: serial@38000000 +Out: serial@38000000 +Err: serial@38000000 +Hit any key to stop autoboot: 0 +1717730 bytes read in 956 ms (1.7 MiB/s) +10502 bytes read in 11 ms (931.6 KiB/s) +## Booting kernel from Legacy Image at 80060000 ... + Image Name: Linux + Image Type: RISC-V Linux Kernel Image (uncompressed) + Data Size: 1717666 Bytes = 1.6 MiB + Load Address: 80000000 + Entry Point: 80000000 + Verifying Checksum ... OK +## Flattened Device Tree blob at 80400000 + Booting using the fdt blob at 0x80400000 + Loading Kernel Image + Loading Device Tree to 00000000803fa000, end 00000000803ff905 ... OK + +Starting kernel ... + +[ 0.000000] Linux version 5.17.0 (foo@bar.com) (riscv64-buildroot-linux-uclibc-gcc.br_real (Buildroot 2022.02-560-g6a2b542a09-dirty) 10.3.0, GNU ld (GNU Binutils) 2.32) #1 SMP Thu Apr 21 16:29:10 JST 2022 +[ 0.000000] Machine model: SiPeed MAIX GO +[ 0.000000] earlycon: sifive0 at MMIO 0x0000000038000000 (options '115200n8') +[ 0.000000] printk: bootconsole [sifive0] enabled +[ 0.000000] Zone ranges: +[ 0.000000] DMA32 [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] Normal empty +[ 0.000000] Movable zone start for each node +[ 0.000000] Early memory node ranges +[ 0.000000] node 0: [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] riscv: ISA extensions acdfim +[ 0.000000] riscv: ELF capabilities acdfim +[ 0.000000] percpu: max_distance=0x16000 too large for vmalloc space 0x0 +[ 0.000000] percpu: Embedded 11 pages/cpu s15392 r0 d29664 u45056 +[ 0.000000] percpu: wasting 10 pages per chunk +[ 0.000000] Built 1 zonelists, mobility grouping off. Total pages: 2020 +[ 0.000000] Kernel command line: earlycon console=ttySIF0 root=/dev/mmcblk0p2 rootwait ro +[ 0.000000] Dentry cache hash table entries: 1024 (order: 1, 8192 bytes, linear) +[ 0.000000] Inode-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off +[ 0.000000] Memory: 6156K/8192K available (1180K kernel code, 151K rwdata, 239K rodata, 102K init, 69K bss, 2036K reserved, 0K cma-reserved) +[ 0.000000] rcu: Hierarchical RCU implementation. +[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. +[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 +[ 0.000000] riscv-intc: 64 local interrupts mapped +[ 0.000000] plic: interrupt-controller@c000000: mapped 65 interrupts with 2 handlers for 4 contexts. +[ 0.000000] k210-clk: clock-controller: CPU running at 390 MHz +[ 0.000000] clint: timer@2000000: timer running at 7800000 Hz +[ 0.000000] clocksource: clint_clocksource: mask: 0xffffffffffffffff max_cycles: 0x3990be68b, max_idle_ns: 881590404272 ns +[ 0.000001] sched_clock: 64 bits at 7MHz, resolution 128ns, wraps every 4398046511054ns +[ 0.008201] Calibrating delay loop (skipped), value calculated using timer frequency.. 15.60 BogoMIPS (lpj=31200) +[ 0.018256] pid_max: default: 4096 minimum: 301 +[ 0.022875] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.029983] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.040405] rcu: Hierarchical SRCU implementation. +[ 0.045387] smp: Bringing up secondary CPUs ... +[ 0.050501] smp: Brought up 1 node, 2 CPUs +[ 0.054662] devtmpfs: initialized +[ 0.072840] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns +[ 0.081918] pinctrl core: initialized pinctrl subsystem +[ 0.124601] clocksource: Switched to clocksource clint_clocksource +[ 0.137869] workingset: timestamp_bits=62 max_order=11 bucket_order=0 +[ 0.183507] k210-sysctl 50440000.syscon: K210 system controller +[ 0.199987] k210-rst 50440000.syscon:reset-controller: K210 reset controller +[ 0.209219] cacheinfo: Unable to detect cache hierarchy for CPU 0 +[ 0.221062] i2c_dev: i2c /dev entries driver +[ 0.232254] k210-fpioa 502b0000.pinmux: K210 FPIOA pin controller +[ 0.245342] 38000000.serial: ttySIF0 at MMIO 0x38000000 (irq = 1, base_baud = 115200) is a SiFive UART v0 +[ 0.254281] printk: console [ttySIF0] enabled +[ 0.254281] printk: console [ttySIF0] enabled +[ 0.262908] printk: bootconsole [sifive0] disabled +[ 0.262908] printk: bootconsole [sifive0] disabled +[ 0.274939] panel@0 enforce active low on chipselect handle +[ 0.308760] mmc_spi spi3.0: SD/MMC host mmc0, no WP, no poweroff, cd polling +[ 0.321220] Waiting for root device /dev/mmcblk0p2... +[ 0.344805] mmc0: host does not support reading read-only switch, assuming write-enable +[ 0.352142] mmc0: new SDHC card on SPI +[ 0.358622] mmcblk0: mmc0:0000 SA16G 14.5 GiB +[ 0.366636] random: fast init done +[ 0.371323] mmcblk0: p1 p2 +[ 0.392887] random: get_random_bytes called from 0x000000008009b7d2 with crng_init=1 +[ 0.394338] VFS: Mounted root (ext2 filesystem) readonly on device 179:2. +[ 0.411277] devtmpfs: mounted +[ 0.413836] Freeing unused kernel image (initmem) memory: 96K +[ 0.419267] This architecture does not have kernel memory protection. +[ 0.425683] Run /sbin/init as init process +[ 0.594251] random: crng init done + __ _ + / / (_) ____ _ _ __ __ + / / | || _ \ | | | |\ \/ / + / /___| || | | || |_| | > < + /_____/|_||_| |_| \____|/_/\_\ + 64-bits RISC-V Kendryte K210 NOMMU + +/ # +``` + +Of note is that the kernel mounts the SD card as read-only by default to avoid +corruptions of the ext2 root file system when the board is powered down. This +is recommended as this board does not support clean shutdown or halt. + +Similarly to the initramfs build case, a console can be open without +re-flashing the board using the host tool pyserial-miniterm. + +``` +$ output/host/bin/pyserial-miniterm --raw --eol=LF /dev/ttyUSB0 115200 +``` diff --git a/board/sipeed/maixduino/linux-cpio.config b/board/sipeed/maixduino/linux-cpio.config new file mode 100644 index 00000000000..049a2550c5f --- /dev/null +++ b/board/sipeed/maixduino/linux-cpio.config @@ -0,0 +1,2 @@ +CONFIG_SOC_CANAAN_K210_DTB_BUILTIN=y +CONFIG_SOC_CANAAN_K210_DTB_SOURCE="sipeed_maixduino" diff --git a/board/sipeed/maixduino/readme.txt b/board/sipeed/maixduino/readme.txt new file mode 100644 index 00000000000..53a9e5c2ac6 --- /dev/null +++ b/board/sipeed/maixduino/readme.txt @@ -0,0 +1,292 @@ +Sipeed MAIXDUINO Board +====================== + +The Sipeed MAIXDUINO board is a dual-core RISC-V 64-bits board based on the +Canaan Kendryte K210 SoC. This board has the same form factor as the Arduino +UNO board. + +Prerequisite +------------ + +In order to use the kflash utility to program this board, the user must have +access to the board USB serial device file. The simplest way to do this is to +add your user to the same group as this device file. Assume the device file is +/dev/ttyUSB0, first identify the device group name. In most cases, it is +either "dialout" or "uucp". Also verify that read-write access is enabled for +the group: + +``` +$ ls -l /dev/ttyUSB0 +crw-rw---- 1 root dialout 188, 0 May 26 13:48 /dev/ttyUSB0 +``` + +Then add yourself to that group (dialout in this example): + +``` +$ sudo usermod -a -G dialout $(whoami) +``` + +To enable the above, it is sometimes necessary to logout and login again. + +Buildroot Configuration +----------------------- + +Two buildroot configurations are provided: + +(1) Direct Linux Kernel Boot + +This is defined by the sipeed_maixduino_defconfig configuration. This +configuration allows building a bootable kernel image with a built-in initramfs +root file system (the board SD card is not used). The built kernel image can be +flashed directly to the board ROM for direct booting. No boot loader is +required. + +(2) U-Boot SD-Card Boot + +The sipeed_maixduino_sdcard_defconfig configuration allows building a kernel +image with the root file system on the board SD card. U-Boot is used as the +boot loader. + +Note: U-Boot does not natively support the Sipeed MAIXDUINO board. However, the +board and device tree differences with the Sipeed MAIX-bit board are small +enough for U-Boot to work. + +Both configuration files will also compile and install the kflash and +pyserial-miniterm host utilities to program bootable image files to the board +and open a serial terminal console. + +Direct Linux Kernel Boot +------------------------ + +Using the sipeed_maixduino_defconfig configuration, the bootable kernel binary +image is built as follows. + +``` +$ make sipeed_maixduino_defconfig +$ make +``` + +The bootable binary image is the output/images/loader.bin file. This image file +can be written to the board boot flash using the kflash utility. + +``` +$ output/host/bin/kflash -b 1500000 -p /dev/ttyUSB0 -t output/images/loader.bin +``` + +Once the kernel image file is fully programmed, a terminal console is open and +the board can be rebooted by pressing the reset button on the board (if it does +not reboot automatically). + +The output will be similar to the following. + +``` +[ 0.000000] Linux version 5.18.0 (foo@bar.com) (riscv64-buildroot-linux-uclibc-gcc.br_real (Buildroot 2022.02-560-g6a2b542a09-dirty) 10.3.0, GNU ld (GNU Binutils) 2.32) #2 SMP Thu Apr 21 15:16:00 JST 2022 +[ 0.000000] Machine model: SiPeed MAIXDUINO +[ 0.000000] earlycon: sifive0 at MMIO 0x0000000038000000 (options '115200n8') +[ 0.000000] printk: bootconsole [sifive0] enabled +[ 0.000000] Zone ranges: +[ 0.000000] DMA32 [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] Normal empty +[ 0.000000] Movable zone start for each node +[ 0.000000] Early memory node ranges +[ 0.000000] node 0: [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] riscv: ISA extensions acdfim +[ 0.000000] riscv: ELF capabilities acdfim +[ 0.000000] percpu: max_distance=0x16000 too large for vmalloc space 0x0 +[ 0.000000] percpu: Embedded 11 pages/cpu s15264 r0 d29792 u45056 +[ 0.000000] percpu: wasting 10 pages per chunk +[ 0.000000] Built 1 zonelists, mobility grouping off. Total pages: 2020 +[ 0.000000] Kernel command line: earlycon console=ttySIF0 +[ 0.000000] Dentry cache hash table entries: 1024 (order: 1, 8192 bytes, linear) +[ 0.000000] Inode-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off +[ 0.000000] Memory: 6000K/8192K available (964K kernel code, 137K rwdata, 205K rodata, 530K init, 66K bss, 2192K reserved, 0K cma-reserved) +[ 0.000000] rcu: Hierarchical RCU implementation. +[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. +[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 +[ 0.000000] riscv-intc: 64 local interrupts mapped +[ 0.000000] plic: interrupt-controller@c000000: mapped 65 interrupts with 2 handlers for 4 contexts. +[ 0.000000] k210-clk: clock-controller: CPU running at 390 MHz +[ 0.000000] clint: timer@2000000: timer running at 7800000 Hz +[ 0.000000] clocksource: clint_clocksource: mask: 0xffffffffffffffff max_cycles: 0x3990be68b, max_idle_ns: 881590404272 ns +[ 0.000001] sched_clock: 64 bits at 7MHz, resolution 128ns, wraps every 4398046511054ns +[ 0.008183] Calibrating delay loop (skipped), value calculated using timer frequency.. 15.60 BogoMIPS (lpj=31200) +[ 0.018249] pid_max: default: 4096 minimum: 301 +[ 0.022860] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.029971] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.040242] rcu: Hierarchical SRCU implementation. +[ 0.045124] smp: Bringing up secondary CPUs ... +[ 0.050217] smp: Brought up 1 node, 2 CPUs +[ 0.054346] devtmpfs: initialized +[ 0.070924] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns +[ 0.079996] pinctrl core: initialized pinctrl subsystem +[ 0.119893] clocksource: Switched to clocksource clint_clocksource +[ 0.131992] workingset: timestamp_bits=62 max_order=11 bucket_order=0 +[ 0.179099] k210-sysctl 50440000.syscon: K210 system controller +[ 0.194904] k210-rst 50440000.syscon:reset-controller: K210 reset controller +[ 0.203108] cacheinfo: Unable to detect cache hierarchy for CPU 0 +[ 0.213867] i2c_dev: i2c /dev entries driver +[ 0.223397] k210-fpioa 502b0000.pinmux: K210 FPIOA pin controller +[ 0.235632] 38000000.serial: ttySIF0 at MMIO 0x38000000 (irq = 1, base_baud = 115200) is a SiFive UART v0 +[ 0.244585] printk: console [ttySIF0] enabled +[ 0.244585] printk: console [ttySIF0] enabled +[ 0.253190] printk: bootconsole [sifive0] disabled +[ 0.253190] printk: bootconsole [sifive0] disabled +[ 0.264820] panel@0 enforce active low on chipselect handle +[ 0.281482] Freeing unused kernel image (initmem) memory: 524K +[ 0.286621] This architecture does not have kernel memory protection. +[ 0.293047] Run /init as init process + __ _ + / / (_) ____ _ _ __ __ + / / | || _ \ | | | |\ \/ / + / /___| || | | || |_| | > < + /_____/|_||_| |_| \____|/_/\_\ + 64-bits RISC-V Kendryte K210 NOMMU + +/ # +``` + +To open a terminal console without re-flashing the board, the pyserial-miniterm +host tool can be used. + +``` +$ output/host/bin/pyserial-miniterm --raw --eol=LF /dev/ttyUSB0 115200 +``` + +The options "--raw" and "--eol=LF" are added here to avoid a double carriage +return each time a command is entered. + + +U-Boot SD-Card Boot +------------------- + +The build procedure is similar to the built-in initramfs case. + +``` +$ make sipeed_maixduino_sdcard_defconfig +$ make +``` + +The build process will generate two files under the output/images directory. + +* sdcard.img: The image file for the SD card filesystem. This image has 2 + partitions. The first partition is a vfat partition containing the kernel + uImage and the board device tree binary. The second partition is the root + filesystem with busybox installed. The second partition is formatted using + ext2 (rev1). + +* uboot.bin: U-Boot bootable binary to load and boot the kernel from the SD + card. + +The SD card can be prepared by writing the sdcard.img file, as follows. + +``` +$ sudo dd if=output/images/sdcard.img of=/dev/sdX bs=1M +$ sync +$ eject /dev/sdX +``` + +Where /dev/sdX is the device file name of the SD card. Once completed, the SD +card can be inserted into the board and the U-Boot binary image written to the +board boot flash using the kflash utility. + +``` +$ output/host/bin/kflash -b 1500000 -p /dev/ttyUSB0 -t output/images/u-boot.bin +``` + +The above command will program U-Boot image to the board boot ROM and open a +terminal console once the u-boot.bin file is fully programmed. Reboot into the +newly programmed environment by pressing the board reset button. + +The output will be similar to the following. + +``` +[ 0.000000] Linux version 5.18.0 (foo@bar.com) (riscv64-buildroot-linux-uclibc-gcc.br_real (Buildroot 2022.02-560-g6a2b542a09-dirty) 10.3.0, GNU ld (GNU Binutils) 2.32) #1 SMP Thu Apr 21 15:30:18 JST 2022 +[ 0.000000] Machine model: SiPeed MAIXDUINO +[ 0.000000] earlycon: sifive0 at MMIO 0x0000000038000000 (options '115200n8') +[ 0.000000] printk: bootconsole [sifive0] enabled +[ 0.000000] Zone ranges: +[ 0.000000] DMA32 [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] Normal empty +[ 0.000000] Movable zone start for each node +[ 0.000000] Early memory node ranges +[ 0.000000] node 0: [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000807fffff] +[ 0.000000] riscv: ISA extensions acdfim +[ 0.000000] riscv: ELF capabilities acdfim +[ 0.000000] percpu: max_distance=0x16000 too large for vmalloc space 0x0 +[ 0.000000] percpu: Embedded 11 pages/cpu s15392 r0 d29664 u45056 +[ 0.000000] percpu: wasting 10 pages per chunk +[ 0.000000] Built 1 zonelists, mobility grouping off. Total pages: 2020 +[ 0.000000] Kernel command line: earlycon console=ttySIF0 root=/dev/mmcblk0p2 rootwait ro +[ 0.000000] Dentry cache hash table entries: 1024 (order: 1, 8192 bytes, linear) +[ 0.000000] Inode-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off +[ 0.000000] Memory: 6156K/8192K available (1180K kernel code, 151K rwdata, 239K rodata, 102K init, 69K bss, 2036K reserved, 0K cma-reserved) +[ 0.000000] rcu: Hierarchical RCU implementation. +[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. +[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 +[ 0.000000] riscv-intc: 64 local interrupts mapped +[ 0.000000] plic: interrupt-controller@c000000: mapped 65 interrupts with 2 handlers for 4 contexts. +[ 0.000000] k210-clk: clock-controller: CPU running at 390 MHz +[ 0.000000] clint: timer@2000000: timer running at 7800000 Hz +[ 0.000000] clocksource: clint_clocksource: mask: 0xffffffffffffffff max_cycles: 0x3990be68b, max_idle_ns: 881590404272 ns +[ 0.000001] sched_clock: 64 bits at 7MHz, resolution 128ns, wraps every 4398046511054ns +[ 0.008191] Calibrating delay loop (skipped), value calculated using timer frequency.. 15.60 BogoMIPS (lpj=31200) +[ 0.018255] pid_max: default: 4096 minimum: 301 +[ 0.022876] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.029982] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear) +[ 0.040417] rcu: Hierarchical SRCU implementation. +[ 0.045397] smp: Bringing up secondary CPUs ... +[ 0.050513] smp: Brought up 1 node, 2 CPUs +[ 0.054680] devtmpfs: initialized +[ 0.072127] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns +[ 0.081205] pinctrl core: initialized pinctrl subsystem +[ 0.125074] clocksource: Switched to clocksource clint_clocksource +[ 0.138311] workingset: timestamp_bits=62 max_order=11 bucket_order=0 +[ 0.183471] k210-sysctl 50440000.syscon: K210 system controller +[ 0.199873] k210-rst 50440000.syscon:reset-controller: K210 reset controller +[ 0.208858] cacheinfo: Unable to detect cache hierarchy for CPU 0 +[ 0.221586] i2c_dev: i2c /dev entries driver +[ 0.232786] k210-fpioa 502b0000.pinmux: K210 FPIOA pin controller +[ 0.246572] 38000000.serial: ttySIF0 at MMIO 0x38000000 (irq = 1, base_baud = 115200) is a SiFive UART v0 +[ 0.255508] printk: console [ttySIF0] enabled +[ 0.255508] printk: console [ttySIF0] enabled +[ 0.264137] printk: bootconsole [sifive0] disabled +[ 0.264137] printk: bootconsole [sifive0] disabled +[ 0.275560] panel@0 enforce active low on chipselect handle +[ 0.313245] mmc_spi spi3.0: SD/MMC host mmc0, no WP, no poweroff, cd polling +[ 0.322845] Waiting for root device /dev/mmcblk0p2... +[ 0.345869] mmc0: host does not support reading read-only switch, assuming write-enable +[ 0.353221] mmc0: new SDHC card on SPI +[ 0.360233] mmcblk0: mmc0:0000 SA16G 14.5 GiB +[ 0.368350] random: fast init done +[ 0.372926] mmcblk0: p1 p2 +[ 0.391887] random: get_random_bytes called from 0x000000008009b7d2 with crng_init=1 +[ 0.400427] VFS: Mounted root (ext2 filesystem) readonly on device 179:2. +[ 0.410128] devtmpfs: mounted +[ 0.412628] Freeing unused kernel image (initmem) memory: 96K +[ 0.418137] This architecture does not have kernel memory protection. +[ 0.424530] Run /sbin/init as init process +[ 0.563384] random: crng init done + __ _ + / / (_) ____ _ _ __ __ + / / | || _ \ | | | |\ \/ / + / /___| || | | || |_| | > < + /_____/|_||_| |_| \____|/_/\_\ + 64-bits RISC-V Kendryte K210 NOMMU + +/ # +``` + +Of note is that the kernel mounts the SD card as read-only by default to avoid +corruptions of the ext2 root file system when the board is powered down. This +is recommended as this board does not support clean shutdown or halt. + +Similarly to the initramfs build case, a console can be open without +re-flashing the board using the host tool pyserial-miniterm. + +``` +$ output/host/bin/pyserial-miniterm --raw --eol=LF /dev/ttyUSB0 115200 +``` diff --git a/board/solidrun/clearfog/extlinux.conf b/board/solidrun/clearfog/extlinux.conf new file mode 100644 index 00000000000..f35974e3efa --- /dev/null +++ b/board/solidrun/clearfog/extlinux.conf @@ -0,0 +1,4 @@ +label Clearfog Linux + kernel /boot/zImage + devicetree /boot/armada-388-clearfog-base.dtb + append console=ttyS0,115200n8 root=/dev/mmcblk0p1 rootwait diff --git a/board/solidrun/clearfog/genimage.cfg b/board/solidrun/clearfog/genimage.cfg new file mode 100644 index 00000000000..35aab62a8c3 --- /dev/null +++ b/board/solidrun/clearfog/genimage.cfg @@ -0,0 +1,16 @@ +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-with-spl.kwb" + offset = 512 + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + offset = 1M + } +} diff --git a/board/solidrun/clearfog/linux.fragment b/board/solidrun/clearfog/linux.fragment new file mode 100644 index 00000000000..b7ed5b00d62 --- /dev/null +++ b/board/solidrun/clearfog/linux.fragment @@ -0,0 +1 @@ +CONFIG_SENSORS_MCP3021=y diff --git a/board/solidrun/clearfog/patches/linux-headers/linux-headers.hash b/board/solidrun/clearfog/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/solidrun/clearfog/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/solidrun/clearfog/patches/linux/linux.hash b/board/solidrun/clearfog/patches/linux/linux.hash new file mode 100644 index 00000000000..b8935a250a6 --- /dev/null +++ b/board/solidrun/clearfog/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 0ad83b1a1a780a1aad948d55aa55ee63c50c626f2d46910b9d2180028d100a5e linux-6.6.43.tar.xz diff --git a/board/solidrun/clearfog/patches/uboot/uboot.hash b/board/solidrun/clearfog/patches/uboot/uboot.hash new file mode 100644 index 00000000000..fe9b4f53dc6 --- /dev/null +++ b/board/solidrun/clearfog/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 f591da9ab90ef3d6b3d173766d0ddff90c4ed7330680897486117df390d83c8f u-boot-2024.07.tar.bz2 diff --git a/board/solidrun/clearfog/post-build.sh b/board/solidrun/clearfog/post-build.sh new file mode 100755 index 00000000000..1f5ff6a6113 --- /dev/null +++ b/board/solidrun/clearfog/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname $0)" + +install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf diff --git a/board/solidrun/clearfog/readme.txt b/board/solidrun/clearfog/readme.txt new file mode 100644 index 00000000000..60bf95329cd --- /dev/null +++ b/board/solidrun/clearfog/readme.txt @@ -0,0 +1,61 @@ +********************** +SolidRun Clearfog Base +********************** + +This file documents Buildroot's support for the Clearfog Base by Solid Run. + +Vendor's documentation: +https://wiki.solid-run.com/doku.php?id=products:a38x:documents + +Warning for eMMC variant of the MicroSoM +======================================== + +If you bought a MicroSoM version that includes an on-board eMMC flash, the +built-in microSD card slot *WILL NOT WORK*. The Internet says that you have to +upload the first bootloader via UART. This manual does not cover these steps; +only MicroSoMs without the eMMC are supported. + +Build +===== + +Start with the default Buildroot's configuration for Clearfog: + + make solidrun_clearfog_defconfig + +Build all components: + + make + +The results of the build are available in ./output/images. + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a microSD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/ conv=fdatasync + +*** WARNING! The dd command will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/solidrun/clearfog/genimage.cfg. + +Boot the Clearfog board +======================= + +Here's how to boot the board: + +- Set up the DIP switches for microSD boot. The correct values are: + 1: off, 2: off, 3: ON, 4: ON, 5: ON. In this scheme, switch #1" is closer to + the ethernet ports and #5 is closer to the microSD card, "ON" means towards + the SOM, and "off" means towards the SFP cage. +- Connect to the board's console over the microUSB port. +- Insert the SD card into the slot on the board (pins up). +- Power up the board. diff --git a/board/solidrun/clearfog_gt_8k/extlinux.conf b/board/solidrun/clearfog_gt_8k/extlinux.conf new file mode 100644 index 00000000000..aae0c0d5fb5 --- /dev/null +++ b/board/solidrun/clearfog_gt_8k/extlinux.conf @@ -0,0 +1,4 @@ +label Clearfog GT-8K Linux + kernel /boot/Image + devicetree /boot/armada-8040-clearfog-gt-8k.dtb + append console=ttyS0,115200n8 root=/dev/mmcblk1p1 rootwait diff --git a/board/solidrun/clearfog_gt_8k/genimage.cfg b/board/solidrun/clearfog_gt_8k/genimage.cfg new file mode 120000 index 00000000000..0cc2754ff6c --- /dev/null +++ b/board/solidrun/clearfog_gt_8k/genimage.cfg @@ -0,0 +1 @@ +../macchiatobin/genimage.cfg \ No newline at end of file diff --git a/board/solidrun/clearfog_gt_8k/linux-extras.config b/board/solidrun/clearfog_gt_8k/linux-extras.config new file mode 100644 index 00000000000..24f4f554255 --- /dev/null +++ b/board/solidrun/clearfog_gt_8k/linux-extras.config @@ -0,0 +1,6 @@ +CONFIG_MARVELL_PHY=y +CONFIG_SFP=y +CONFIG_IPV6=y +CONFIG_BRIDGE=y +CONFIG_NET_DSA=y +CONFIG_NET_DSA_MV88E6XXX=y diff --git a/board/solidrun/clearfog_gt_8k/post-build-mainline.sh b/board/solidrun/clearfog_gt_8k/post-build-mainline.sh new file mode 120000 index 00000000000..a8c9a52437f --- /dev/null +++ b/board/solidrun/clearfog_gt_8k/post-build-mainline.sh @@ -0,0 +1 @@ +../macchiatobin/post-build-mainline.sh \ No newline at end of file diff --git a/board/solidrun/clearfog_gt_8k/readme.txt b/board/solidrun/clearfog_gt_8k/readme.txt new file mode 100644 index 00000000000..1648ffa38dc --- /dev/null +++ b/board/solidrun/clearfog_gt_8k/readme.txt @@ -0,0 +1,61 @@ +Intro +===== + +The default configuration described below will allow you to start +experimenting with the buildroot environment for the SolidRun Clearfog GT-8K +based on the Marvell Armada 8040 SoC. + +This default configuration will bring up the board and allow shell command +line access through the serial console. + +How to build +============ + + $ make solidrun_clearfog_gt_8k_defconfig + $ make + +How to write the SD card +======================== + +Once the build process is finished you will have an image file named +"sdcard.img" in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX bs=1M conv=fsync + +How to boot the board +===================== + +The Clearfog GT-8K can be setup to load the bootloader from different sources +including eMMC, SPI flash, and SD-card. + +To select boot from SD-card the DIP switches in SW6 (at the bottom of the +board) should be configured as follows: + + SW6: 11010 + +Insert the micro SDcard in the Cleargfog GT-8K and power it up. + +Serial console +============== + +The serial console is accessible at the J27 pins header (TTL UART) with the +following pinout (pin #1 is marked with triangle on the PCB): + + pin #1: Ground + pin #2: Armada 8040 Rx + pin #3: Armada 8040 Tx + +Enable the switch (yellow) Ethernet ports +========================================= + +To enable the Clearfog GT-8K internal switch port make sure to load the +'mv88e6xxx' kernel module, and up the switch up-link port (eth2 by default): + + modprobe mv88e6xxx + ifconfig eth2 up + +Then you can configure each switch port separately. These port are named +'lan1' to 'lan4' by default. 'lan1' is closest to the USB port, while 'lan4' +is closest to the blue Ethernet port. diff --git a/board/solidrun/clearfog_gt_8k/uboot-fragment.config b/board/solidrun/clearfog_gt_8k/uboot-fragment.config new file mode 120000 index 00000000000..996c4aa6b6f --- /dev/null +++ b/board/solidrun/clearfog_gt_8k/uboot-fragment.config @@ -0,0 +1 @@ +../macchiatobin/uboot-fragment.config \ No newline at end of file diff --git a/board/solidrun/macchiatobin/extlinux.conf b/board/solidrun/macchiatobin/extlinux.conf new file mode 100644 index 00000000000..1008af1af07 --- /dev/null +++ b/board/solidrun/macchiatobin/extlinux.conf @@ -0,0 +1,4 @@ +label Macchiatobin Linux + kernel /boot/Image + devicetree /boot/armada-8040-mcbin.dtb + append console=ttyS0,115200n8 root=/dev/mmcblk1p1 rootwait diff --git a/board/solidrun/macchiatobin/genimage.cfg b/board/solidrun/macchiatobin/genimage.cfg new file mode 100644 index 00000000000..378e2082e68 --- /dev/null +++ b/board/solidrun/macchiatobin/genimage.cfg @@ -0,0 +1,16 @@ +image sdcard.img { + hdimage { + } + + partition uboot { + in-partition-table = "no" + image = "flash-image.bin" + offset = 2M + } + + partition rootfs { + partition-type = 0x83 + offset = 34M + image = "rootfs.ext4" + } +} diff --git a/board/solidrun/macchiatobin/linux-extras.config b/board/solidrun/macchiatobin/linux-extras.config new file mode 100644 index 00000000000..29fd6306266 --- /dev/null +++ b/board/solidrun/macchiatobin/linux-extras.config @@ -0,0 +1,3 @@ +CONFIG_MARVELL_PHY=y +CONFIG_MARVELL_10G_PHY=y +CONFIG_SFP=y diff --git a/board/solidrun/macchiatobin/post-build-mainline.sh b/board/solidrun/macchiatobin/post-build-mainline.sh new file mode 100755 index 00000000000..1f5ff6a6113 --- /dev/null +++ b/board/solidrun/macchiatobin/post-build-mainline.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname $0)" + +install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf diff --git a/board/solidrun/macchiatobin/post-build.sh b/board/solidrun/macchiatobin/post-build.sh new file mode 100755 index 00000000000..9c1b5b883c1 --- /dev/null +++ b/board/solidrun/macchiatobin/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname $0)" + +install -m 0644 -D ${BOARD_DIR}/uEnv-example.txt ${TARGET_DIR}/boot/uEnv-example.txt diff --git a/board/solidrun/macchiatobin/readme.txt b/board/solidrun/macchiatobin/readme.txt new file mode 100644 index 00000000000..ef5a6cba6bd --- /dev/null +++ b/board/solidrun/macchiatobin/readme.txt @@ -0,0 +1,79 @@ +Intro +===== + +This default configuration will allow you to start experimenting with +the buildroot environment for the MacchiatoBin board based on the +Marvell Armada 8040 SoC. Documentation for the board hardware and +software is available on the wiki at: http://wiki.macchiatobin.net + +This default configuration will bring up the board and allow access +through the serial console. + +How to build +============ + +Default configuration provides the following BSP versions: + - Linux v5.10.5 + - U-Boot v2020.10 + - ATF v2.4 + +To build images run the following commands: + + $ make solidrun_macchiatobin_defconfig + $ make + +How to write the SD card +======================== + +Once the build process is finished you will have an image +called "sdcard.img" in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX bs=1M conv=fsync + $ sudo sync + +How to boot the board +===================== + +The MacchiatoBin board can be setup to load the bootloader from +different sources including eMMC, SPI flash, and SD-card. + +On Rev 1.2 board to select boot from SD-card the DIP switches +SW1 and SW2 should be configured as follows: + +SW2: 01110 +SW1: 1xxxx + +The upcoming Rev 1.3 board will have a single pins header J1 instead +of the SW1/2 DIP switches. To boot from SD-card the setting of J1 +jumpers should match the DIP switches of Rev v1.2 board +from left to right: + +J1: 011101xxxx + +Insert the micro SDcard in the MacchiatoBin board and power it up. +The serial console is accessible at the micro-USB Type-B connector +marked CON9. The serial line settings are 115200 8N1. + +U-Boot environment +================== + +By default current configuration provides U-Boot that keeps environment +in SD/eMMC. However, if needed, u-boot-fragment.config can be tweaked +so that U-Boot will keep environment in SPI flash. On the first boot +SPI flash may be empty or it may contain a stale environment that +prevents proper boot. Then the following commands can be used +to boot the board: + +=> ext4load mmc 1:1 0x01700000 /boot/uEnv-example.txt +=> env import -t 0x01700000 $filesize +=> boot + +The example environment from uEnv-example.txt can be written to +SPI flash using the following commands: + +=> env default -f -a +=> ext4load mmc 1:1 0x01700000 /boot/uEnv-example.txt +=> env import -t 0x01700000 $filesize +=> saveenv diff --git a/board/solidrun/macchiatobin/uEnv-example.txt b/board/solidrun/macchiatobin/uEnv-example.txt new file mode 100644 index 00000000000..1967e2badd8 --- /dev/null +++ b/board/solidrun/macchiatobin/uEnv-example.txt @@ -0,0 +1,7 @@ +bootargs=console=ttyS0,115200 root=/dev/mmcblk1p1 rw rootwait +fdt_addr=0x1000000 +fdt_high=0xffffffffffffffff +fdt_name=boot/armada-8040-mcbin.dtb +kernel_addr=0x2000000 +image_name=boot/Image +bootcmd=mmc dev 1; ext4load mmc 1:1 $kernel_addr $image_name; ext4load mmc 1:1 $fdt_addr $fdt_name; booti $kernel_addr - $fdt_addr diff --git a/board/solidrun/macchiatobin/uboot-fragment.config b/board/solidrun/macchiatobin/uboot-fragment.config new file mode 100644 index 00000000000..717a0942477 --- /dev/null +++ b/board/solidrun/macchiatobin/uboot-fragment.config @@ -0,0 +1,2 @@ +CONFIG_ENV_IS_IN_MMC=y +# CONFIG_ENV_IS_IN_SPI_FLASH is not set diff --git a/board/solidrun/mx6cubox/boot.scr.txt b/board/solidrun/mx6cubox/boot.scr.txt deleted file mode 100644 index 7a8aa4bd547..00000000000 --- a/board/solidrun/mx6cubox/boot.scr.txt +++ /dev/null @@ -1,7 +0,0 @@ -setenv finduuid "part uuid mmc 0:1 uuid" -run finduuid -run findfdt -setenv bootargs "console=ttymxc0,115200 root=PARTUUID=${uuid} rootwait rootfstype=ext4" -load mmc 0:1 ${fdt_addr} boot/${fdtfile} -load mmc 0:1 ${loadaddr} boot/zImage -bootz ${loadaddr} - ${fdt_addr} diff --git a/board/solidrun/mx6cubox/genimage.cfg b/board/solidrun/mx6cubox/genimage.cfg deleted file mode 100644 index 490986ac867..00000000000 --- a/board/solidrun/mx6cubox/genimage.cfg +++ /dev/null @@ -1,29 +0,0 @@ -# Minimal SD card image for the MX6 Cubox/Hummingboard -# -# U-Boot SPL and u-boot.img are flashed in the first 1MB raw partition. -# A single root filesystem partition is used (Ext4 in this case). -# - -image sdcard.img { - hdimage { - } - - partition spl { - in-partition-table = "no" - image = "SPL" - offset = 1K - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot.img" - offset = 69K - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - offset = 1M - size = 512M - } -} diff --git a/board/solidrun/mx6cubox/patches/linux-headers/linux-headers.hash b/board/solidrun/mx6cubox/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/solidrun/mx6cubox/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/solidrun/mx6cubox/patches/linux/linux.hash b/board/solidrun/mx6cubox/patches/linux/linux.hash new file mode 100644 index 00000000000..8b8381e6190 --- /dev/null +++ b/board/solidrun/mx6cubox/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 639e50060e3c8f23ed017cb10cfeacc6ba88ff5583812bb76859b4cc6a128291 linux-6.6.27.tar.xz diff --git a/board/solidrun/mx6cubox/patches/uboot/uboot.hash b/board/solidrun/mx6cubox/patches/uboot/uboot.hash new file mode 100644 index 00000000000..c1aeddf06c0 --- /dev/null +++ b/board/solidrun/mx6cubox/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 18a853fe39fad7ad03a90cc2d4275aeaed6da69735defac3492b80508843dd4a u-boot-2024.04.tar.bz2 diff --git a/board/solidrun/mx6cubox/post-build.sh b/board/solidrun/mx6cubox/post-build.sh deleted file mode 100755 index 43e091c5d72..00000000000 --- a/board/solidrun/mx6cubox/post-build.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" - -$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none \ --n "boot script" -d $BOARD_DIR/boot.scr.txt $BOARD_DIR/boot.scr - -install -m 0644 -D $BOARD_DIR/boot.scr $TARGET_DIR/boot/boot.scr diff --git a/board/solidrun/mx6cubox/post-image.sh b/board/solidrun/mx6cubox/post-image.sh deleted file mode 100755 index b4ac4608ffa..00000000000 --- a/board/solidrun/mx6cubox/post-image.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/board/solidrun/mx6cubox/rootfs_overlay/boot/extlinux/extlinux.conf b/board/solidrun/mx6cubox/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..d0110663574 --- /dev/null +++ b/board/solidrun/mx6cubox/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +Label imx6qdl-cubox Buildroot + kernel ../zImage + fdtdir ../ + append root=PARTUUID=${uuid} rootwait rw console=${console},${baudrate} diff --git a/board/spike/riscv32/patches/linux-headers/linux-headers.hash b/board/spike/riscv32/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/spike/riscv32/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/spike/riscv32/patches/linux/linux.hash b/board/spike/riscv32/patches/linux/linux.hash new file mode 100644 index 00000000000..a3b67a09a47 --- /dev/null +++ b/board/spike/riscv32/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://cdn.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 fce3ee728712ed063aa8c14a8756c8ff8c7a46ba3827f61d2b04a73c7cf5dd9e linux-6.6.35.tar.xz diff --git a/board/spike/riscv32/patches/opensbi/opensbi.hash b/board/spike/riscv32/patches/opensbi/opensbi.hash new file mode 100644 index 00000000000..d7893a1deec --- /dev/null +++ b/board/spike/riscv32/patches/opensbi/opensbi.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 d11702103f177a2914e94eec57ce5ed820296d874f6b6525c4482e55d71a3667 opensbi-1.6.tar.gz diff --git a/board/spike/riscv32/readme.txt b/board/spike/riscv32/readme.txt new file mode 100644 index 00000000000..9cc49af9df3 --- /dev/null +++ b/board/spike/riscv32/readme.txt @@ -0,0 +1,30 @@ +Linux on Spike RISC-V 32-bit ISA simulator +========================================== + +This configuration provides a minimal working setup to run a Linux +kernel in the Spike RISC-V ISA simulator. + +The Spike ISA simulator can be an interresting alternative to Qemu, in +some specific cases. For example: simulating new instructions (see [1]), +simulating riscv-openocd/gdb debug sessions (see [2], [3]), or +generating an accurate per-instruction log of execution (see +riscv-isa-sim spike -l option)... + +To run Buildroot Linux in Spike, use the commands: + + make spike_riscv32_defconfig + make + ./board/spike/riscv32/start.sh + +The boot is made with the standard RISC-V OpenSBI boot loader. In +order to keep the simulation simple, the rootfs is passed as an initrd +ramfs. + +[1]. +https://github.com/riscv-software-src/riscv-isa-sim/tree/v1.1.0#simulating-a-new-instruction + +[2]. +https://github.com/riscv-software-src/riscv-isa-sim/tree/v1.1.0#debugging-with-gdb + +[3]. +https://github.com/riscv-collab/riscv-openocd diff --git a/board/spike/riscv32/start.sh b/board/spike/riscv32/start.sh new file mode 100755 index 00000000000..43d2d9dcde1 --- /dev/null +++ b/board/spike/riscv32/start.sh @@ -0,0 +1,23 @@ +#! /bin/sh + +SCRIPT_DIR="$(dirname "$0")" +BR_BASEDIR="$(readlink -e "${SCRIPT_DIR}/../../..")" + +# spike uses dtc at runtime startup, so make sure buildroot host +# directory is in the PATH +export PATH="${BR_BASEDIR}/output/host/usr/bin:$PATH" + +# Use Buildroot host spike by default, but allow the caller to +# redefine another spike binary +: "${SPIKE:=spike}" + +# Note 1: Kernel with initrd fail to boot on riscv32 when the system +# has more than 1GB of RAM. So we set exactly this amount of RAM. +# Note 2: The default spike ISA is RV64IMAFDC_zicntr_zihpm, so we need +# to force the RV32 ISA here. +exec "${SPIKE}" \ + -m1024 \ + --initrd "${BR_BASEDIR}"/output/images/rootfs.cpio \ + --isa="RV32IMAFDC_zicntr_zihpm" \ + "${@}" \ + "${BR_BASEDIR}"/output/images/fw_payload.elf diff --git a/board/spike/riscv64/patches/linux-headers/linux-headers.hash b/board/spike/riscv64/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/spike/riscv64/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/spike/riscv64/patches/linux/linux.hash b/board/spike/riscv64/patches/linux/linux.hash new file mode 100644 index 00000000000..a3b67a09a47 --- /dev/null +++ b/board/spike/riscv64/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://cdn.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 fce3ee728712ed063aa8c14a8756c8ff8c7a46ba3827f61d2b04a73c7cf5dd9e linux-6.6.35.tar.xz diff --git a/board/spike/riscv64/patches/opensbi/opensbi.hash b/board/spike/riscv64/patches/opensbi/opensbi.hash new file mode 100644 index 00000000000..d7893a1deec --- /dev/null +++ b/board/spike/riscv64/patches/opensbi/opensbi.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 d11702103f177a2914e94eec57ce5ed820296d874f6b6525c4482e55d71a3667 opensbi-1.6.tar.gz diff --git a/board/spike/riscv64/readme.txt b/board/spike/riscv64/readme.txt new file mode 100644 index 00000000000..465fb06b398 --- /dev/null +++ b/board/spike/riscv64/readme.txt @@ -0,0 +1,31 @@ +Linux on Spike RISC-V ISA simulator +=================================== + +This configuration provides a minimal working setup to run a Linux +kernel in the Spike RISC-V ISA simulator. + +The Spike ISA simulator can be an interresting alternative to Qemu, in +some specific cases. For example: simulating new instructions (see [1]), +simulating riscv-openocd/gdb debug sessions (see [2], [3]), or +generating an accurate per-instruction log of execution (see +riscv-isa-sim spike -l option)... + +To run Buildroot Linux in Spike, use the commands: + + make spike_riscv64_defconfig + make + ./board/spike/riscv64/start.sh + +The boot is made with the standard RISC-V OpenSBI boot loader. In +order to keep the simulation simple, the rootfs is passed as an initrd +ramfs. + + +[1]. +https://github.com/riscv-software-src/riscv-isa-sim/tree/v1.1.0#simulating-a-new-instruction + +[2]. +https://github.com/riscv-software-src/riscv-isa-sim/tree/v1.1.0#debugging-with-gdb + +[3]. +https://github.com/riscv-collab/riscv-openocd diff --git a/board/spike/riscv64/start.sh b/board/spike/riscv64/start.sh new file mode 100755 index 00000000000..6fbbced8069 --- /dev/null +++ b/board/spike/riscv64/start.sh @@ -0,0 +1,17 @@ +#! /bin/sh + +SCRIPT_DIR="$(dirname "$0")" +BR_BASEDIR="$(readlink -e "${SCRIPT_DIR}/../../..")" + +# spike uses dtc at runtime startup, so make sure buildroot host +# directory is in the PATH +export PATH="${BR_BASEDIR}/output/host/usr/bin:$PATH" + +# Use Buildroot host spike by default, but allow the caller to +# redefine another spike binary +: "${SPIKE:=spike}" + +exec "${SPIKE}" \ + --initrd "${BR_BASEDIR}"/output/images/rootfs.cpio \ + "${@}" \ + "${BR_BASEDIR}"/output/images/fw_payload.elf diff --git a/board/stmicroelectronics/common/stm32f4xx/busybox.fragment b/board/stmicroelectronics/common/stm32f4xx/busybox.fragment new file mode 100644 index 00000000000..d0bf2cb99db --- /dev/null +++ b/board/stmicroelectronics/common/stm32f4xx/busybox.fragment @@ -0,0 +1,21 @@ +# CONFIG_FEATURE_HWIB is not set +# CONFIG_HOSTNAME is not set +# CONFIG_DNSDOMAINNAME is not set +# CONFIG_FEATURE_HTTPD_PORT_DEFAULT is not set +# CONFIG_IFCONFIG is not set +# CONFIG_FEATURE_IFCONFIG_HW is not set +# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set +# CONFIG_IFUP is not set +# CONFIG_IFDOWN is not set +# CONFIG_IP is not set +# CONFIG_IPADDR is not set +# CONFIG_IPLINK is not set +# CONFIG_IPROUTE is not set +# CONFIG_NC is not set +# CONFIG_NETSTAT is not set +# CONFIG_PING is not set +# CONFIG_ROUTE is not set +# CONFIG_TC is not set +# CONFIG_TELNET is not set +# CONFIG_WGET is not set +# CONFIG_UDHCPC is not set diff --git a/board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh b/board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh new file mode 100755 index 00000000000..2c5b6be098a --- /dev/null +++ b/board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh @@ -0,0 +1,8 @@ +#!/bin/sh +set -eu + +# Busybox is built without network support +sed -i '/hostname/d' ${TARGET_DIR}/etc/inittab + +# Kernel is built without devpts support +sed -i '/^devpts/d' ${TARGET_DIR}/etc/fstab diff --git a/board/stmicroelectronics/common/stm32mp1xx/genimage.cfg.template b/board/stmicroelectronics/common/stm32mp1xx/genimage.cfg.template new file mode 100644 index 00000000000..c2affd98ea8 --- /dev/null +++ b/board/stmicroelectronics/common/stm32mp1xx/genimage.cfg.template @@ -0,0 +1,23 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition fsbl1 { + image = "%ATFBIN%" + } + + partition fsbl2 { + image = "%ATFBIN%" + } + + partition fip { + image = "fip.bin" + size = 2M + } + + partition rootfs { + image = "rootfs.ext4" + bootable = "yes" + } +} diff --git a/board/stmicroelectronics/common/stm32mp1xx/patches/linux-headers/linux-headers.hash b/board/stmicroelectronics/common/stm32mp1xx/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/stmicroelectronics/common/stm32mp1xx/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/stmicroelectronics/common/stm32mp1xx/patches/linux/linux.hash b/board/stmicroelectronics/common/stm32mp1xx/patches/linux/linux.hash new file mode 100644 index 00000000000..ad4ad8db13f --- /dev/null +++ b/board/stmicroelectronics/common/stm32mp1xx/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 c92591d896e79ecddbc3319136f0c2f855e832b397de7593f013ad7590a43e53 linux-6.12.80.tar.xz diff --git a/board/stmicroelectronics/common/stm32mp1xx/patches/optee-client/optee-client.hash b/board/stmicroelectronics/common/stm32mp1xx/patches/optee-client/optee-client.hash new file mode 100644 index 00000000000..5423bf93a58 --- /dev/null +++ b/board/stmicroelectronics/common/stm32mp1xx/patches/optee-client/optee-client.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 a9a91bdb433df795c87a6d15198effbd648e3671ae611f2a3f8b41229d61cce0 optee-client-4.3.0.tar.gz diff --git a/board/stmicroelectronics/common/stm32mp1xx/patches/optee-os/optee-os.hash b/board/stmicroelectronics/common/stm32mp1xx/patches/optee-os/optee-os.hash new file mode 100644 index 00000000000..2e12a5cdea7 --- /dev/null +++ b/board/stmicroelectronics/common/stm32mp1xx/patches/optee-os/optee-os.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 390b271905c828d6def9fa6a77bbaa425f3b434d733c8eb18f582ccbc6896096 optee-os-4.3.0.tar.gz diff --git a/board/stmicroelectronics/common/stm32mp1xx/patches/uboot/uboot.hash b/board/stmicroelectronics/common/stm32mp1xx/patches/uboot/uboot.hash new file mode 100644 index 00000000000..36322a6a904 --- /dev/null +++ b/board/stmicroelectronics/common/stm32mp1xx/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 ac7c04b8b7004923b00a4e5d6699c5df4d21233bac9fda690d8cfbc209fff2fd u-boot-2026.04.tar.bz2 diff --git a/board/stmicroelectronics/common/stm32mp1xx/post-image.sh b/board/stmicroelectronics/common/stm32mp1xx/post-image.sh new file mode 100755 index 00000000000..77547832abd --- /dev/null +++ b/board/stmicroelectronics/common/stm32mp1xx/post-image.sh @@ -0,0 +1,34 @@ +#!/bin/sh -eu + +# +# atf_image extracts the ATF binary image from DTB_FILE_NAME that appears in +# BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES in ${BR_CONFIG}, +# then prints the corresponding file name for the genimage +# configuration file +# +atf_image() +{ + ATF_VARIABLES="$(sed -n 's/^BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="\([^\"]*\)"$/\1/p' ${BR2_CONFIG})" + # make sure DTB_FILE_NAME is set + printf '%s\n' "${ATF_VARIABLES}" | grep -Eq 'DTB_FILE_NAME=[0-9A-Za-z_\-]*' + # extract the value + DTB_FILE_NAME="$(printf '%s\n' "${ATF_VARIABLES}" | sed 's/.*DTB_FILE_NAME=\([a-zA-Z0-9_\-]*\)\.dtb.*/\1/')" + echo "tf-a-${DTB_FILE_NAME}.stm32" +} + +main() +{ + ATFBIN="$(atf_image)" + GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)" + + sed -e "s/%ATFBIN%/${ATFBIN}/" \ + board/stmicroelectronics/common/stm32mp1xx/genimage.cfg.template > ${GENIMAGE_CFG} + + support/scripts/genimage.sh -c ${GENIMAGE_CFG} + + rm -f ${GENIMAGE_CFG} + + exit $? +} + +main $@ diff --git a/board/stmicroelectronics/stm32-post-build.sh b/board/stmicroelectronics/stm32-post-build.sh deleted file mode 100755 index e324afe59a9..00000000000 --- a/board/stmicroelectronics/stm32-post-build.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -# Kernel is built without devpts support -sed -i '/^devpts/d' ${TARGET_DIR}/etc/fstab - -# Kernel is built without network support -rm -f ${TARGET_DIR}/etc/init.d/S40network -rm -rf ${TARGET_DIR}/etc/network/ diff --git a/board/stmicroelectronics/stm32f429-disco/flash.sh b/board/stmicroelectronics/stm32f429-disco/flash.sh index b19e0a60193..3e2bf121d34 100755 --- a/board/stmicroelectronics/stm32f429-disco/flash.sh +++ b/board/stmicroelectronics/stm32f429-disco/flash.sh @@ -21,6 +21,6 @@ ${OUTPUT_DIR}/host/bin/openocd -f board/${BOARD_NAME}.cfg \ -c "flash info 0" \ -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f429i-disco.bin 0x08000000" \ -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f429-disco.dtb 0x08004000" \ - -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x08008000" \ + -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x0800C000" \ -c "reset run" \ -c "shutdown" diff --git a/board/stmicroelectronics/stm32f429-disco/linux.config b/board/stmicroelectronics/stm32f429-disco/linux.config new file mode 100644 index 00000000000..02d9c2d1e09 --- /dev/null +++ b/board/stmicroelectronics/stm32f429-disco/linux.config @@ -0,0 +1,116 @@ +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_KERNEL_XZ=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT=y +CONFIG_LOG_BUF_SHIFT=12 +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=10 +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="${BR_BINARIES_DIR}/rootfs.cpio" +# CONFIG_RD_GZIP is not set +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +# CONFIG_RD_ZSTD is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_MULTIUSER is not set +# CONFIG_SYSFS_SYSCALL is not set +# CONFIG_FHANDLE is not set +CONFIG_POSIX_TIMERS=y +CONFIG_BUG=y +# CONFIG_BASE_FULL is not set +# CONFIG_FUTEX is not set +# CONFIG_EPOLL is not set +# CONFIG_SIGNALFD is not set +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_AIO is not set +# CONFIG_IO_URING is not set +# CONFIG_ADVISE_SYSCALLS is not set +# CONFIG_MEMBARRIER is not set +# CONFIG_KALLSYMS is not set +CONFIG_KCMP=y +# CONFIG_RSEQ is not set +CONFIG_EMBEDDED=y +# CONFIG_VM_EVENT_COUNTERS is not set +# CONFIG_COMPAT_BRK is not set +CONFIG_SLOB=y +# CONFIG_SLAB_MERGE_DEFAULT is not set +# CONFIG_MMU is not set +CONFIG_ARCH_STM32=y +# CONFIG_MACH_STM32F469 is not set +# CONFIG_MACH_STM32F746 is not set +# CONFIG_MACH_STM32F769 is not set +# CONFIG_MACH_STM32H743 is not set +CONFIG_CPU_V7M_NUM_IRQ=240 +# CONFIG_ARM_DMA_MEM_BUFFERABLE is not set +CONFIG_SET_MEM_PARAM=y +CONFIG_DRAM_BASE=0x90000000 +CONFIG_DRAM_SIZE=0x00800000 +CONFIG_HZ_1000=y +# CONFIG_ATAGS is not set +CONFIG_XIP_KERNEL=y +CONFIG_XIP_PHYS_ADDR=0x0800C000 +CONFIG_XIP_DEFLATED_DATA=y +# CONFIG_SUSPEND is not set +# CONFIG_STACKPROTECTOR is not set +# CONFIG_COMPAT_32BIT_TIME is not set +# CONFIG_GCC_PLUGINS is not set +# CONFIG_BLOCK is not set +CONFIG_BINFMT_FLAT=y +CONFIG_BINFMT_SHARED_FLAT=y +# CONFIG_COREDUMP is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +# CONFIG_FW_LOADER is not set +# CONFIG_ALLOW_DEV_COREDUMP is not set +CONFIG_EEPROM_93CX6=y +# CONFIG_INPUT is not set +# CONFIG_VT is not set +# CONFIG_UNIX98_PTYS is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_LDISC_AUTOLOAD is not set +CONFIG_SERIAL_STM32=y +CONFIG_SERIAL_STM32_CONSOLE=y +# CONFIG_DEVMEM is not set +# CONFIG_HWMON is not set +CONFIG_WATCHDOG=y +CONFIG_MFD_STM32_TIMERS=y +# CONFIG_USB_SUPPORT is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_STM32=y +CONFIG_DMADEVICES=y +CONFIG_STM32_DMA=y +CONFIG_STM32_DMAMUX=y +CONFIG_STM32_MDMA=y +CONFIG_SYNC_FILE=y +# CONFIG_VIRTIO_MENU is not set +# CONFIG_VHOST_MENU is not set +# CONFIG_FILE_LOCKING is not set +# CONFIG_DNOTIFY is not set +# CONFIG_INOTIFY_USER is not set +# CONFIG_PROC_SYSCTL is not set +CONFIG_CONFIGFS_FS=y +# CONFIG_MISC_FILESYSTEMS is not set +CONFIG_NLS=y +CONFIG_PRINTK_TIME=y +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15 +CONFIG_CONSOLE_LOGLEVEL_QUIET=15 +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7 +# CONFIG_SYMBOLIC_ERRNAME is not set +CONFIG_DEBUG_INFO=y +# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set +CONFIG_DEBUG_FS=y +# CONFIG_DEBUG_MISC is not set +# CONFIG_SCHED_DEBUG is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_RUNTIME_TESTING_MENU is not set diff --git a/board/stmicroelectronics/stm32f429-disco/patches/linux-headers/linux-headers.hash b/board/stmicroelectronics/stm32f429-disco/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/stmicroelectronics/stm32f429-disco/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch b/board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch deleted file mode 100644 index d6d5c61aaea..00000000000 --- a/board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch +++ /dev/null @@ -1,32 +0,0 @@ -From ded9afa688184b3240a92c2b8f114c545a09bc3f Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 12 Mar 2016 23:14:41 +0100 -Subject: [PATCH] ARM: stm32f249-disco: don't force init= in /chosen/bootargs - -There is no reason to override the kernel's default init= value, as -this breaks userspace that assumes the kernel default of /init is -used. Since stm32 is often used with a minimal bootloader -(afboot-stm32) that doesn't provide any mechanism to override the DTB, -we need to adjust the kernel command line in the Device Tree source. - -Signed-off-by: Thomas Petazzoni ---- - arch/arm/boot/dts/stm32f429-disco.dts | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm/boot/dts/stm32f429-disco.dts b/arch/arm/boot/dts/stm32f429-disco.dts -index f0b731d..2bae81c 100644 ---- a/arch/arm/boot/dts/stm32f429-disco.dts -+++ b/arch/arm/boot/dts/stm32f429-disco.dts -@@ -53,7 +53,7 @@ - compatible = "st,stm32f429i-disco", "st,stm32f429"; - - chosen { -- bootargs = "root=/dev/ram rdinit=/linuxrc"; -+ bootargs = "root=/dev/ram"; - stdout-path = "serial0:115200n8"; - }; - --- -2.6.4 - diff --git a/board/stmicroelectronics/stm32f429-disco/patches/linux/linux.hash b/board/stmicroelectronics/stm32f429-disco/patches/linux/linux.hash new file mode 100644 index 00000000000..c34797e4f5c --- /dev/null +++ b/board/stmicroelectronics/stm32f429-disco/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 2818053c07976ba4ed5f44deb0f5dc7ae7b0975d7918c313d48d8fe7c4e598cb linux-6.1.167.tar.xz diff --git a/board/stmicroelectronics/stm32f469-disco/extlinux.conf b/board/stmicroelectronics/stm32f469-disco/extlinux.conf new file mode 100644 index 00000000000..65aa286a7a9 --- /dev/null +++ b/board/stmicroelectronics/stm32f469-disco/extlinux.conf @@ -0,0 +1,4 @@ +label stm32f469-disco-buildroot + kernel /boot/zImage + devicetree /boot/stm32f469-disco.dtb + append console=ttySTM0,115200 root=/dev/mmcblk0p1 rw rootfstype=ext2 rootwait earlyprintk consoleblank=0 ignore_loglevel diff --git a/board/stmicroelectronics/stm32f469-disco/flash.sh b/board/stmicroelectronics/stm32f469-disco/flash.sh deleted file mode 100755 index 0ec0beb2dec..00000000000 --- a/board/stmicroelectronics/stm32f469-disco/flash.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -OUTPUT_DIR=$1 - -if ! test -d "${OUTPUT_DIR}" ; then - echo "ERROR: no output directory specified." - echo "Usage: $0 OUTPUT_DIR" - exit 1 -fi - -${OUTPUT_DIR}/host/bin/openocd -f board/stm32f469discovery.cfg \ - -c "init" \ - -c "reset init" \ - -c "flash probe 0" \ - -c "flash info 0" \ - -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f469i-disco.bin 0x08000000" \ - -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f469-disco.dtb 0x08004000" \ - -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x08008000" \ - -c "reset run" \ - -c "shutdown" diff --git a/board/stmicroelectronics/stm32f469-disco/flash_sd.sh b/board/stmicroelectronics/stm32f469-disco/flash_sd.sh new file mode 100755 index 00000000000..984d2b25997 --- /dev/null +++ b/board/stmicroelectronics/stm32f469-disco/flash_sd.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +OUTPUT_DIR=$1 + +if ! test -d "${OUTPUT_DIR}" ; then + echo "ERROR: no output directory specified." + echo "Usage: $0 OUTPUT_DIR" + exit 1 +fi + +${OUTPUT_DIR}/host/bin/openocd -f board/stm32f469discovery.cfg \ + -c "init" \ + -c "reset init" \ + -c "flash probe 0" \ + -c "flash info 0" \ + -c "flash write_image erase ${OUTPUT_DIR}/images/u-boot.bin 0x08000000" \ + -c "reset run" \ + -c "shutdown" diff --git a/board/stmicroelectronics/stm32f469-disco/flash_xip.sh b/board/stmicroelectronics/stm32f469-disco/flash_xip.sh new file mode 100755 index 00000000000..da27cd327ce --- /dev/null +++ b/board/stmicroelectronics/stm32f469-disco/flash_xip.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +OUTPUT_DIR=$1 + +if ! test -d "${OUTPUT_DIR}"; then + echo "ERROR: no output directory specified." + echo "Usage: $0 OUTPUT_DIR" + exit 1 +fi + +${OUTPUT_DIR}/host/bin/openocd -f board/stm32f469discovery.cfg \ + -c "init" \ + -c "reset init" \ + -c "flash probe 0" \ + -c "flash info 0" \ + -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f469i-disco.bin 0x08000000" \ + -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f469-disco.dtb 0x08004000" \ + -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x0800C000" \ + -c "reset run" \ + -c "shutdown" diff --git a/board/stmicroelectronics/stm32f469-disco/genimage.cfg b/board/stmicroelectronics/stm32f469-disco/genimage.cfg new file mode 100644 index 00000000000..e911a94e46b --- /dev/null +++ b/board/stmicroelectronics/stm32f469-disco/genimage.cfg @@ -0,0 +1,10 @@ +image sdcard.img { + hdimage { + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + size = 32M + } +} diff --git a/board/stmicroelectronics/stm32f469-disco/linux-sd.fragment b/board/stmicroelectronics/stm32f469-disco/linux-sd.fragment new file mode 100644 index 00000000000..e5d39bf04a1 --- /dev/null +++ b/board/stmicroelectronics/stm32f469-disco/linux-sd.fragment @@ -0,0 +1,7 @@ +# CONFIG_XIP_KERNEL is not set +CONFIG_DRM=y +CONFIG_DRM_STM=y +CONFIG_DRM_STM_DSI=y +CONFIG_DRM_PANEL_ORISETECH_OTM8009A=y +CONFIG_FB=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y diff --git a/board/stmicroelectronics/stm32f469-disco/linux-xip.config b/board/stmicroelectronics/stm32f469-disco/linux-xip.config new file mode 100644 index 00000000000..01a94eb9d1b --- /dev/null +++ b/board/stmicroelectronics/stm32f469-disco/linux-xip.config @@ -0,0 +1,120 @@ +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_KERNEL_XZ=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT=y +CONFIG_LOG_BUF_SHIFT=12 +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=10 +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="${BR_BINARIES_DIR}/rootfs.cpio" +# CONFIG_RD_GZIP is not set +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +# CONFIG_RD_ZSTD is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_MULTIUSER is not set +# CONFIG_SYSFS_SYSCALL is not set +# CONFIG_FHANDLE is not set +CONFIG_POSIX_TIMERS=y +# CONFIG_BUG is not set +# CONFIG_BASE_FULL is not set +# CONFIG_FUTEX is not set +# CONFIG_EPOLL is not set +# CONFIG_SIGNALFD is not set +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_AIO is not set +# CONFIG_IO_URING is not set +# CONFIG_ADVISE_SYSCALLS is not set +# CONFIG_MEMBARRIER is not set +# CONFIG_KALLSYMS is not set +CONFIG_KCMP=y +# CONFIG_RSEQ is not set +CONFIG_EMBEDDED=y +# CONFIG_VM_EVENT_COUNTERS is not set +# CONFIG_COMPAT_BRK is not set +CONFIG_SLOB=y +# CONFIG_SLAB_MERGE_DEFAULT is not set +# CONFIG_MMU is not set +CONFIG_ARCH_STM32=y +# CONFIG_MACH_STM32F429 is not set +# CONFIG_MACH_STM32F746 is not set +# CONFIG_MACH_STM32F769 is not set +# CONFIG_MACH_STM32H743 is not set +CONFIG_CPU_V7M_NUM_IRQ=240 +# CONFIG_ARM_DMA_MEM_BUFFERABLE is not set +CONFIG_SET_MEM_PARAM=y +CONFIG_DRAM_BASE=0x00000000 +CONFIG_DRAM_SIZE=0x00800000 +CONFIG_HZ_1000=y +# CONFIG_ATAGS is not set +CONFIG_XIP_KERNEL=y +CONFIG_XIP_PHYS_ADDR=0x0800C000 +CONFIG_XIP_DEFLATED_DATA=y +# CONFIG_SUSPEND is not set +# CONFIG_STACKPROTECTOR is not set +# CONFIG_COMPAT_32BIT_TIME is not set +# CONFIG_GCC_PLUGINS is not set +# CONFIG_BLOCK is not set +CONFIG_BINFMT_FLAT=y +CONFIG_BINFMT_SHARED_FLAT=y +# CONFIG_COREDUMP is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +# CONFIG_FW_LOADER is not set +# CONFIG_ALLOW_DEV_COREDUMP is not set +CONFIG_EEPROM_93CX6=y +# CONFIG_INPUT is not set +# CONFIG_VT is not set +# CONFIG_UNIX98_PTYS is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_LDISC_AUTOLOAD is not set +CONFIG_SERIAL_STM32=y +CONFIG_SERIAL_STM32_CONSOLE=y +# CONFIG_DEVMEM is not set +# CONFIG_HWMON is not set +CONFIG_WATCHDOG=y +CONFIG_MFD_STM32_TIMERS=y +# CONFIG_USB_SUPPORT is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_STM32=y +CONFIG_DMADEVICES=y +CONFIG_STM32_DMA=y +CONFIG_STM32_DMAMUX=y +CONFIG_STM32_MDMA=y +CONFIG_SYNC_FILE=y +# CONFIG_VIRTIO_MENU is not set +# CONFIG_VHOST_MENU is not set +CONFIG_IIO=y +CONFIG_IIO_BUFFER=y +CONFIG_IIO_TRIGGERED_BUFFER=y +CONFIG_IIO_STM32_TIMER_TRIGGER=y +# CONFIG_FILE_LOCKING is not set +# CONFIG_DNOTIFY is not set +# CONFIG_INOTIFY_USER is not set +# CONFIG_PROC_SYSCTL is not set +CONFIG_CONFIGFS_FS=y +# CONFIG_MISC_FILESYSTEMS is not set +CONFIG_NLS=y +CONFIG_PRINTK_TIME=y +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15 +CONFIG_CONSOLE_LOGLEVEL_QUIET=15 +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7 +# CONFIG_SYMBOLIC_ERRNAME is not set +CONFIG_DEBUG_INFO=y +# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set +CONFIG_DEBUG_FS=y +# CONFIG_DEBUG_MISC is not set +# CONFIG_SCHED_DEBUG is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_RUNTIME_TESTING_MENU is not set diff --git a/board/stmicroelectronics/stm32f469-disco/patches/linux-headers/linux-headers.hash b/board/stmicroelectronics/stm32f469-disco/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/stmicroelectronics/stm32f469-disco/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/stmicroelectronics/stm32f469-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch b/board/stmicroelectronics/stm32f469-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch deleted file mode 100644 index 750e477dfc6..00000000000 --- a/board/stmicroelectronics/stm32f469-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch +++ /dev/null @@ -1,33 +0,0 @@ -From c8f8f33c2f0460a34c9545b01a7972a7ed2df0e9 Mon Sep 17 00:00:00 2001 -From: Christophe Priouzeau -Date: Mon, 29 May 2017 13:38:16 +0200 -Subject: [PATCH] ARM: stm32f249-disco: don't force init= in /chosen/bootargs - -There is no reason to override the kernel's default init= value, as -this breaks userspace that assumes the kernel default of /init is -used. Since stm32 is often used with a minimal bootloader -(afboot-stm32) that doesn't provide any mechanism to override the DTB, -we need to adjust the kernel command line in the Device Tree source. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Christophe Priouzeau ---- - arch/arm/boot/dts/stm32f469-disco.dts | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm/boot/dts/stm32f469-disco.dts b/arch/arm/boot/dts/stm32f469-disco.dts -index 0dd56ef..93ee1b2 100644 ---- a/arch/arm/boot/dts/stm32f469-disco.dts -+++ b/arch/arm/boot/dts/stm32f469-disco.dts -@@ -53,7 +53,7 @@ - compatible = "st,stm32f469i-disco", "st,stm32f469"; - - chosen { -- bootargs = "root=/dev/ram rdinit=/linuxrc"; -+ bootargs = "root=/dev/ram"; - stdout-path = "serial0:115200n8"; - }; - --- -2.7.4 - diff --git a/board/stmicroelectronics/stm32f469-disco/patches/linux/linux.hash b/board/stmicroelectronics/stm32f469-disco/patches/linux/linux.hash new file mode 100644 index 00000000000..7929b2b9e34 --- /dev/null +++ b/board/stmicroelectronics/stm32f469-disco/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 0bc1bdf74957e276793691865ffb71505809706d9243a42e9704aad0f128cdd4 linux-5.15.202.tar.xz diff --git a/board/stmicroelectronics/stm32f469-disco/patches/uboot/uboot.hash b/board/stmicroelectronics/stm32f469-disco/patches/uboot/uboot.hash new file mode 100644 index 00000000000..36322a6a904 --- /dev/null +++ b/board/stmicroelectronics/stm32f469-disco/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 ac7c04b8b7004923b00a4e5d6699c5df4d21233bac9fda690d8cfbc209fff2fd u-boot-2026.04.tar.bz2 diff --git a/board/stmicroelectronics/stm32f469-disco/post-build.sh b/board/stmicroelectronics/stm32f469-disco/post-build.sh new file mode 100755 index 00000000000..74c59fdb72d --- /dev/null +++ b/board/stmicroelectronics/stm32f469-disco/post-build.sh @@ -0,0 +1,6 @@ +#!/bin/sh +set -eu + +BOARD_DIR="$(dirname "$0")" + +install -m 0644 -D "${BOARD_DIR}"/extlinux.conf "${TARGET_DIR}"/boot/extlinux/extlinux.conf diff --git a/board/stmicroelectronics/stm32f469-disco/readme.txt b/board/stmicroelectronics/stm32f469-disco/readme.txt index 888bff08a1f..6d46f7c31ae 100644 --- a/board/stmicroelectronics/stm32f469-disco/readme.txt +++ b/board/stmicroelectronics/stm32f469-disco/readme.txt @@ -7,13 +7,39 @@ configuration for the STM32F469 Discovery evaluation platform. Building -------- - make stm32f469_disco_defconfig + make stm32f469_disco_sd_defconfig make Flashing -------- - ./board/stmicroelectronics/stm32f469-disco/flash.sh output/ + ./board/stmicroelectronics/stm32f469-disco/flash_sd.sh output/ -It will flash the minimal bootloader, the Device Tree Blob, and the -kernel image which includes the root filesystem as initramfs. +It will flash the U-boot bootloader. + +Creating SD card +---------------- + +Buildroot prepares an "sdcard.img" image in the output/images/ directory, +ready to be dumped on a SD card. Launch the following command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout and its content, see the +definition in board/stmicroelectronics/stm32f469-disco/genimage.cfg. + +Framebuffer +----------- +After Linux boots, /dev/fb0 will be accessible. You can control the +brightness of the display after enabling the framebuffer by running the +following commands: + + # echo 0 0 > /sys/class/graphics/fb0/pan + # echo 255 >/sys/class/backlight/40016c00.dsi.0/brightness + +The brightness ranges from 0 to 255, as you can see running the +command: + + # cat /sys/class/backlight/40016c00.dsi.0/max_brightness diff --git a/board/stmicroelectronics/stm32f469-disco/readme_xip.txt b/board/stmicroelectronics/stm32f469-disco/readme_xip.txt new file mode 100644 index 00000000000..7c20c2d015a --- /dev/null +++ b/board/stmicroelectronics/stm32f469-disco/readme_xip.txt @@ -0,0 +1,24 @@ +STM32F469 Discovery +=================== + +This tutorial describes how to use the predefined Buildroot +configuration for the STM32F469 Discovery evaluation platform. + +Internal flash memory stores simple afboot-stm32 bootloader, device tree and +in place (XIP) kernel with built-in initramfs. No external flash or SD card +is needed. + +Kernel is based on tinyconfig. + +Building +-------- + + make stm32f469_disco_xip_defconfig + make + +Flashing +-------- + + ./board/stmicroelectronics/stm32f469-disco/flash_xip.sh output/ + +It will flash binary to internal flash memory. diff --git a/board/stmicroelectronics/stm32f746-disco/extlinux.conf b/board/stmicroelectronics/stm32f746-disco/extlinux.conf new file mode 100644 index 00000000000..40fc04dd103 --- /dev/null +++ b/board/stmicroelectronics/stm32f746-disco/extlinux.conf @@ -0,0 +1,4 @@ +label stm32f746-disco-buildroot + kernel /boot/zImage + devicetree /boot/stm32f746-disco.dtb + append console=ttySTM0,115200 root=/dev/mmcblk0p1 rw rootwait consoleblank=0 ignore_loglevel diff --git a/board/stmicroelectronics/stm32f746-disco/flash_sd.sh b/board/stmicroelectronics/stm32f746-disco/flash_sd.sh new file mode 100755 index 00000000000..b4858cb9dac --- /dev/null +++ b/board/stmicroelectronics/stm32f746-disco/flash_sd.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +if [ $# -eq 0 ]; then + OUTPUT_DIR=output +else + OUTPUT_DIR=$1 +fi + +if ! test -d "${OUTPUT_DIR}" ; then + echo "ERROR: no output directory specified." + echo "Usage: $0 OUTPUT_DIR" + exit 1 +fi + +"${OUTPUT_DIR}"/host/bin/openocd -f board/stm32f746g-disco.cfg \ + -c "init" \ + -c "reset init" \ + -c "flash probe 0" \ + -c "flash info 0" \ + -c "flash write_image erase ${OUTPUT_DIR}/images/u-boot.bin 0x08000000" \ + -c "reset run" \ + -c "shutdown" diff --git a/board/stmicroelectronics/stm32f746-disco/genimage.cfg b/board/stmicroelectronics/stm32f746-disco/genimage.cfg new file mode 100644 index 00000000000..e911a94e46b --- /dev/null +++ b/board/stmicroelectronics/stm32f746-disco/genimage.cfg @@ -0,0 +1,10 @@ +image sdcard.img { + hdimage { + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + size = 32M + } +} diff --git a/board/stmicroelectronics/stm32f746-disco/linux.fragment b/board/stmicroelectronics/stm32f746-disco/linux.fragment new file mode 100644 index 00000000000..625fdced9e8 --- /dev/null +++ b/board/stmicroelectronics/stm32f746-disco/linux.fragment @@ -0,0 +1,13 @@ +# CONFIG_PREEMPT is not set +# CONFIG_MULTIUSER is not set +# CONFIG_TIMERFD is not set +CONFIG_SET_MEM_PARAM=y +CONFIG_DRAM_BASE=0xC0000000 +CONFIG_DRAM_SIZE=0x01000000 +# CONFIG_GCC_PLUGINS is not set +# CONFIG_XIP_KERNEL is not set +# CONFIG_BLK_DEV is not set +# CONFIG_COMPAT_BRK is not set +# CONFIG_PROC_SYSCTL is not set +# CONFIG_CRYPTO is not set +CONFIG_RCU_TRACE=y \ No newline at end of file diff --git a/board/stmicroelectronics/stm32f746-disco/patches/linux-headers/linux-headers.hash b/board/stmicroelectronics/stm32f746-disco/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/stmicroelectronics/stm32f746-disco/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/stmicroelectronics/stm32f746-disco/patches/linux/linux.hash b/board/stmicroelectronics/stm32f746-disco/patches/linux/linux.hash new file mode 100644 index 00000000000..7929b2b9e34 --- /dev/null +++ b/board/stmicroelectronics/stm32f746-disco/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 0bc1bdf74957e276793691865ffb71505809706d9243a42e9704aad0f128cdd4 linux-5.15.202.tar.xz diff --git a/board/stmicroelectronics/stm32f746-disco/patches/uboot/uboot.hash b/board/stmicroelectronics/stm32f746-disco/patches/uboot/uboot.hash new file mode 100644 index 00000000000..36322a6a904 --- /dev/null +++ b/board/stmicroelectronics/stm32f746-disco/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 ac7c04b8b7004923b00a4e5d6699c5df4d21233bac9fda690d8cfbc209fff2fd u-boot-2026.04.tar.bz2 diff --git a/board/stmicroelectronics/stm32f746-disco/post-build.sh b/board/stmicroelectronics/stm32f746-disco/post-build.sh new file mode 100755 index 00000000000..74c59fdb72d --- /dev/null +++ b/board/stmicroelectronics/stm32f746-disco/post-build.sh @@ -0,0 +1,6 @@ +#!/bin/sh +set -eu + +BOARD_DIR="$(dirname "$0")" + +install -m 0644 -D "${BOARD_DIR}"/extlinux.conf "${TARGET_DIR}"/boot/extlinux/extlinux.conf diff --git a/board/stmicroelectronics/stm32f746-disco/readme.txt b/board/stmicroelectronics/stm32f746-disco/readme.txt new file mode 100644 index 00000000000..4ac16da3313 --- /dev/null +++ b/board/stmicroelectronics/stm32f746-disco/readme.txt @@ -0,0 +1,31 @@ +STM32F746-DISCO +=================== + +This tutorial describes how to use the predefined Buildroot +configuration for the STM32F746-DISCO evaluation platform. + +Building +-------- + + make stm32f746_disco_sd_defconfig + make + +Flashing +-------- + + ./board/stmicroelectronics/stm32f746-disco/flash_sd.sh output/ + +It will flash the U-boot bootloader. + +Creating SD card +---------------- + +Buildroot prepares an "sdcard.img" image in the output/images/ directory, +ready to be dumped on a SD card. Launch the following command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout and its content, see the +definition in board/stmicroelectronics/stm32f746-disco/genimage.cfg. diff --git a/board/stmicroelectronics/stm32f769-disco/extlinux.conf b/board/stmicroelectronics/stm32f769-disco/extlinux.conf new file mode 100644 index 00000000000..edc1582615d --- /dev/null +++ b/board/stmicroelectronics/stm32f769-disco/extlinux.conf @@ -0,0 +1,4 @@ +label stm32f769-disco-buildroot + kernel /boot/zImage + devicetree /boot/stm32f769-disco.dtb + append console=ttySTM0,115200 root=/dev/mmcblk0p1 rw rootfstype=ext2 rootwait earlyprintk consoleblank=0 ignore_loglevel diff --git a/board/stmicroelectronics/stm32f769-disco/flash_sd.sh b/board/stmicroelectronics/stm32f769-disco/flash_sd.sh new file mode 100755 index 00000000000..0ff3ae7dbfb --- /dev/null +++ b/board/stmicroelectronics/stm32f769-disco/flash_sd.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +OUTPUT_DIR=$1 + +if ! test -d "${OUTPUT_DIR}" ; then + echo "ERROR: no output directory specified." + echo "Usage: $0 OUTPUT_DIR" + exit 1 +fi + +"${OUTPUT_DIR}"/host/bin/openocd -f board/stm32f769i-disco.cfg \ + -c "init" \ + -c "reset init" \ + -c "flash probe 0" \ + -c "flash info 0" \ + -c "flash write_image erase ${OUTPUT_DIR}/images/u-boot.bin 0x08000000" \ + -c "reset run" \ + -c "shutdown" diff --git a/board/stmicroelectronics/stm32f769-disco/genimage.cfg b/board/stmicroelectronics/stm32f769-disco/genimage.cfg new file mode 100644 index 00000000000..e911a94e46b --- /dev/null +++ b/board/stmicroelectronics/stm32f769-disco/genimage.cfg @@ -0,0 +1,10 @@ +image sdcard.img { + hdimage { + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + size = 32M + } +} diff --git a/board/stmicroelectronics/stm32f769-disco/linux-sd.fragment b/board/stmicroelectronics/stm32f769-disco/linux-sd.fragment new file mode 100644 index 00000000000..846229d0d46 --- /dev/null +++ b/board/stmicroelectronics/stm32f769-disco/linux-sd.fragment @@ -0,0 +1 @@ +# CONFIG_XIP_KERNEL is not set diff --git a/board/stmicroelectronics/stm32f769-disco/patches/linux-headers/linux-headers.hash b/board/stmicroelectronics/stm32f769-disco/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/stmicroelectronics/stm32f769-disco/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/stmicroelectronics/stm32f769-disco/patches/linux/linux.hash b/board/stmicroelectronics/stm32f769-disco/patches/linux/linux.hash new file mode 100644 index 00000000000..7929b2b9e34 --- /dev/null +++ b/board/stmicroelectronics/stm32f769-disco/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 0bc1bdf74957e276793691865ffb71505809706d9243a42e9704aad0f128cdd4 linux-5.15.202.tar.xz diff --git a/board/stmicroelectronics/stm32f769-disco/patches/uboot/uboot.hash b/board/stmicroelectronics/stm32f769-disco/patches/uboot/uboot.hash new file mode 100644 index 00000000000..36322a6a904 --- /dev/null +++ b/board/stmicroelectronics/stm32f769-disco/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 ac7c04b8b7004923b00a4e5d6699c5df4d21233bac9fda690d8cfbc209fff2fd u-boot-2026.04.tar.bz2 diff --git a/board/stmicroelectronics/stm32f769-disco/post-build.sh b/board/stmicroelectronics/stm32f769-disco/post-build.sh new file mode 100755 index 00000000000..293bf30cb3f --- /dev/null +++ b/board/stmicroelectronics/stm32f769-disco/post-build.sh @@ -0,0 +1,9 @@ +#!/bin/sh +set -eu + +BOARD_DIR="$(dirname "$0")" + +# Kernel is built without devpts support +sed -i '/^devpts/d' "${TARGET_DIR}"/etc/fstab + +install -m 0644 -D "${BOARD_DIR}"/extlinux.conf "${TARGET_DIR}"/boot/extlinux/extlinux.conf diff --git a/board/stmicroelectronics/stm32f769-disco/readme.txt b/board/stmicroelectronics/stm32f769-disco/readme.txt new file mode 100644 index 00000000000..5b8fba7099e --- /dev/null +++ b/board/stmicroelectronics/stm32f769-disco/readme.txt @@ -0,0 +1,32 @@ +STM32F769 Discovery +=================== + +This tutorial describes how to use the predefined Buildroot +configuration for the STM32F769 Discovery evaluation platform. + +Building +-------- + + make stm32f769_disco_sd_defconfig + make + +Flashing +-------- + + ./board/stmicroelectronics/stm32f769-disco/flash_sd.sh output/ + +It will flash the U-boot bootloader. + +Creating SD card +---------------- + +Buildroot prepares an "sdcard.img" image in the output/images/ directory, +ready to be dumped on a SD card. Launch the following command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout and its content, see the +definition in board/stmicroelectronics/stm32f769-disco/genimage.cfg. + diff --git a/board/stmicroelectronics/stm32h747-disco/extlinux.conf b/board/stmicroelectronics/stm32h747-disco/extlinux.conf new file mode 100644 index 00000000000..36f60e346b6 --- /dev/null +++ b/board/stmicroelectronics/stm32h747-disco/extlinux.conf @@ -0,0 +1,4 @@ +label stm32h747i-disco-buildroot + kernel /boot/zImage + devicetree /boot/stm32h747i-disco.dtb + append console=ttySTM0,115200 root=/dev/mmcblk0p1 rw rootfstype=ext2 rootwait earlyprintk consoleblank=0 ignore_loglevel diff --git a/board/stmicroelectronics/stm32h747-disco/flash_sd.sh b/board/stmicroelectronics/stm32h747-disco/flash_sd.sh new file mode 100755 index 00000000000..6f2e421aba3 --- /dev/null +++ b/board/stmicroelectronics/stm32h747-disco/flash_sd.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +OUTPUT_DIR=$1 + +if ! test -d "${OUTPUT_DIR}" ; then + echo "ERROR: no output directory specified." + echo "Usage: $0 OUTPUT_DIR" + exit 1 +fi + +"${OUTPUT_DIR}"/host/bin/openocd -f board/stm32h747i-disco.cfg \ + -c "init" \ + -c "reset init" \ + -c "flash probe 0" \ + -c "flash info 0" \ + -c "flash write_image erase ${OUTPUT_DIR}/images/u-boot.bin 0x08000000" \ + -c "reset run" \ + -c "shutdown" diff --git a/board/stmicroelectronics/stm32h747-disco/genimage.cfg b/board/stmicroelectronics/stm32h747-disco/genimage.cfg new file mode 100644 index 00000000000..e911a94e46b --- /dev/null +++ b/board/stmicroelectronics/stm32h747-disco/genimage.cfg @@ -0,0 +1,10 @@ +image sdcard.img { + hdimage { + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + size = 32M + } +} diff --git a/board/stmicroelectronics/stm32h747-disco/linux-sd.fragment b/board/stmicroelectronics/stm32h747-disco/linux-sd.fragment new file mode 100644 index 00000000000..846229d0d46 --- /dev/null +++ b/board/stmicroelectronics/stm32h747-disco/linux-sd.fragment @@ -0,0 +1 @@ +# CONFIG_XIP_KERNEL is not set diff --git a/board/stmicroelectronics/stm32h747-disco/patches/linux/linux.hash b/board/stmicroelectronics/stm32h747-disco/patches/linux/linux.hash new file mode 100644 index 00000000000..5ae723bc6f3 --- /dev/null +++ b/board/stmicroelectronics/stm32h747-disco/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 1c38214fb137bae85b82b82537b5987358621b915ab2a8e4f09e60697c19474f linux-6.18.21.tar.xz diff --git a/board/stmicroelectronics/stm32h747-disco/patches/uboot/uboot.hash b/board/stmicroelectronics/stm32h747-disco/patches/uboot/uboot.hash new file mode 100644 index 00000000000..36322a6a904 --- /dev/null +++ b/board/stmicroelectronics/stm32h747-disco/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 ac7c04b8b7004923b00a4e5d6699c5df4d21233bac9fda690d8cfbc209fff2fd u-boot-2026.04.tar.bz2 diff --git a/board/stmicroelectronics/stm32h747-disco/post-build.sh b/board/stmicroelectronics/stm32h747-disco/post-build.sh new file mode 100755 index 00000000000..293bf30cb3f --- /dev/null +++ b/board/stmicroelectronics/stm32h747-disco/post-build.sh @@ -0,0 +1,9 @@ +#!/bin/sh +set -eu + +BOARD_DIR="$(dirname "$0")" + +# Kernel is built without devpts support +sed -i '/^devpts/d' "${TARGET_DIR}"/etc/fstab + +install -m 0644 -D "${BOARD_DIR}"/extlinux.conf "${TARGET_DIR}"/boot/extlinux/extlinux.conf diff --git a/board/stmicroelectronics/stm32h747-disco/readme.txt b/board/stmicroelectronics/stm32h747-disco/readme.txt new file mode 100644 index 00000000000..5c565de2112 --- /dev/null +++ b/board/stmicroelectronics/stm32h747-disco/readme.txt @@ -0,0 +1,32 @@ +STM32H747 Discovery +=================== + +This tutorial describes how to use the predefined Buildroot +configuration for the STM32H747 Discovery evaluation platform. + +Building +-------- + + make stm32h747_disco_sd_defconfig + make + +Flashing +-------- + + ./board/stmicroelectronics/stm32h747-disco/flash_sd.sh output/ + +It will flash the U-Boot bootloader. + +Creating SD card +---------------- + +Buildroot prepares an "sdcard.img" image in the output/images/ directory, +ready to be dumped on a SD card. Launch the following command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout and its content, see the +definition in board/stmicroelectronics/stm32h747-disco/genimage.cfg. + diff --git a/board/stmicroelectronics/stm32mp135f-dk/linux.config b/board/stmicroelectronics/stm32mp135f-dk/linux.config new file mode 100644 index 00000000000..25f570846af --- /dev/null +++ b/board/stmicroelectronics/stm32mp135f-dk/linux.config @@ -0,0 +1,190 @@ +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_USELIB=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=16 +CONFIG_BLK_DEV_INITRD=y +CONFIG_ARCH_STM32=y +CONFIG_ARM_THUMBEE=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_ERRATA_430973=y +CONFIG_ARM_ERRATA_720789=y +CONFIG_ARM_ERRATA_754322=y +CONFIG_ARM_ERRATA_754327=y +CONFIG_ARM_ERRATA_764369=y +CONFIG_ARM_ERRATA_775420=y +CONFIG_ARM_ERRATA_798181=y +CONFIG_SMP=y +CONFIG_MCPM=y +CONFIG_HIGHMEM=y +CONFIG_FORCE_MAX_ZONEORDER=12 +CONFIG_SECCOMP=y +# CONFIG_ATAGS is not set +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +CONFIG_VFP=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_CMDLINE_PARTITION=y +CONFIG_CMA=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_CAN=y +CONFIG_CAN_M_CAN=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=128 +CONFIG_SIMPLE_PM_BUS=y +CONFIG_ARM_SCMI_PROTOCOL=y +CONFIG_MTD=y +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_STM32_FMC2=y +CONFIG_MTD_SPI_NOR=y +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set +CONFIG_MTD_UBI=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_SIZE=65536 +CONFIG_SRAM=y +CONFIG_EEPROM_AT24=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_KS8851=y +CONFIG_SMSC911X=y +CONFIG_STMMAC_ETH=y +CONFIG_DWMAC_DWC_QOS_ETH=y +CONFIG_MDIO_BITBANG=y +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_EDT_FT5X06=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_STPMIC1_ONKEY=y +CONFIG_SERIAL_STM32=y +CONFIG_SERIAL_STM32_CONSOLE=y +CONFIG_SERIAL_DEV_BUS=y +CONFIG_HW_RANDOM=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX=y +CONFIG_I2C_STM32F7=y +CONFIG_SPI=y +CONFIG_SPI_STM32=y +CONFIG_SPI_STM32_QSPI=y +CONFIG_PINCTRL_MCP23S08=y +CONFIG_PINCTRL_SINGLE=y +CONFIG_PINCTRL_STMFX=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_RESET_SYSCON_POWEROFF=y +CONFIG_SYSCON_REBOOT_MODE=y +CONFIG_WATCHDOG=y +CONFIG_STPMIC1_WATCHDOG=y +CONFIG_MFD_STM32_LPTIMER=y +CONFIG_MFD_STPMIC1=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_ARM_SCMI=y +CONFIG_REGULATOR_STM32_BOOSTER=y +CONFIG_REGULATOR_STM32_VREFBUF=y +CONFIG_REGULATOR_STM32_PWR=y +CONFIG_REGULATOR_STPMIC1=y +CONFIG_DRM=y +CONFIG_DRM_STM=y +CONFIG_DRM_STM_DSI=y +CONFIG_DRM_PANEL_ORISETECH_OTM8009A=y +CONFIG_DRM_SII902X=y +CONFIG_BACKLIGHT_LCD_SUPPORT=y +# CONFIG_LCD_CLASS_DEVICE is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=y +# CONFIG_BACKLIGHT_GENERIC is not set +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_USB=m +CONFIG_USB_OTG=y +CONFIG_USB_XHCI_HCD=m +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_EHCI_HCD=m +CONFIG_USB_EHCI_HCD_PLATFORM=m +CONFIG_USB_OHCI_HCD=m +CONFIG_USB_OHCI_HCD_PLATFORM=m +CONFIG_USB_DWC2=m +CONFIG_USB_CHIPIDEA=m +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_ISP1760=m +CONFIG_USB_HSIC_USB3503=m +CONFIG_USB_GPIO_VBUS=y +CONFIG_USB_ISP1301=m +CONFIG_USB_ULPI=y +CONFIG_TYPEC=y +CONFIG_TYPEC_STUSB=y +CONFIG_MMC=y +CONFIG_MMC_BLOCK_MINORS=16 +CONFIG_MMC_ARMMMCI=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_DW=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_PWM=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_STM32=y +CONFIG_DMADEVICES=y +CONFIG_STM32_DMA=y +CONFIG_STM32_DMAMUX=y +CONFIG_STM32_MDMA=y +CONFIG_COMMON_CLK_SCMI=y +CONFIG_HWSPINLOCK=y +CONFIG_HWSPINLOCK_STM32=y +CONFIG_STM32_IPCC=y +CONFIG_REMOTEPROC=y +CONFIG_STM32_RPROC=y +CONFIG_RPMSG_VIRTIO=y +CONFIG_RPMSG_TTY=y +CONFIG_IIO=y +CONFIG_IIO_SW_TRIGGER=y +CONFIG_SD_ADC_MODULATOR=y +CONFIG_STM32_ADC_CORE=y +CONFIG_STM32_ADC=y +CONFIG_STM32_ADC_TEMP=y +CONFIG_STM32_DFSDM_ADC=y +CONFIG_STM32_LPTIMER_CNT=y +CONFIG_STM32_DAC=y +CONFIG_IIO_HRTIMER_TRIGGER=y +CONFIG_IIO_STM32_LPTIMER_TRIGGER=y +CONFIG_PWM=y +CONFIG_PWM_STM32=y +CONFIG_PWM_STM32_LP=y +CONFIG_RESET_SCMI=y +CONFIG_PHY_STM32_USBPHYC=y +CONFIG_NVMEM_STM32_ROMEM=y +CONFIG_TEE=y +CONFIG_OPTEE=y +CONFIG_COUNTER=y +CONFIG_STM32_LPTIMER_CNT=y +CONFIG_STM32_TIMER_CNT=y +CONFIG_EXT4_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_PRINTK_TIME=y diff --git a/board/stmicroelectronics/stm32mp135f-dk/overlay/boot/extlinux/extlinux.conf b/board/stmicroelectronics/stm32mp135f-dk/overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..0cc49d6a560 --- /dev/null +++ b/board/stmicroelectronics/stm32mp135f-dk/overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label stm32mp135f-dk-buildroot + kernel /boot/zImage + devicetree /boot/stm32mp135f-dk.dtb + append root=/dev/mmcblk0p4 rootwait diff --git a/board/stmicroelectronics/stm32mp135f-dk/readme.txt b/board/stmicroelectronics/stm32mp135f-dk/readme.txt new file mode 100644 index 00000000000..44472840b3d --- /dev/null +++ b/board/stmicroelectronics/stm32mp135f-dk/readme.txt @@ -0,0 +1,37 @@ +STM32MP135F Discovery Kit + +Intro +===== + +This configuration supports the STM32MP135F Discovery Kit (DK) +platform: + + https://www.st.com/en/evaluation-tools/stm32mp135f-dk.html + +How to build +============ + + $ make stm32mp135f_dk_defconfig + $ make + +How to write the microSD card +============================= + +Once the build process is finished you will have an image called +"sdcard.img" in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an microSD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Boot the board +============== + + (1) Insert the microSD card in connector CN3 + + (2) Plug a micro-USB cable in connector CN10 and run your serial + communication program on /dev/ttyACM0. + + (3) Plug a USB-C cable in CN12 to power-up the board. + + (4) The system will start, with the console on UART. diff --git a/board/stmicroelectronics/stm32mp157a-dk1/linux.config b/board/stmicroelectronics/stm32mp157a-dk1/linux.config new file mode 100644 index 00000000000..95c834e4319 --- /dev/null +++ b/board/stmicroelectronics/stm32mp157a-dk1/linux.config @@ -0,0 +1,182 @@ +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_USELIB=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=16 +CONFIG_BLK_DEV_INITRD=y +CONFIG_ARCH_STM32=y +CONFIG_ARM_THUMBEE=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_ERRATA_430973=y +CONFIG_ARM_ERRATA_720789=y +CONFIG_ARM_ERRATA_754322=y +CONFIG_ARM_ERRATA_754327=y +CONFIG_ARM_ERRATA_764369=y +CONFIG_ARM_ERRATA_775420=y +CONFIG_ARM_ERRATA_798181=y +CONFIG_SMP=y +CONFIG_MCPM=y +CONFIG_HIGHMEM=y +CONFIG_FORCE_MAX_ZONEORDER=12 +CONFIG_SECCOMP=y +# CONFIG_ATAGS is not set +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +CONFIG_VFP=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y +CONFIG_ARM_CRYPTO=y +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_CMDLINE_PARTITION=y +CONFIG_CMA=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_CAN=y +CONFIG_CAN_M_CAN=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=128 +CONFIG_SIMPLE_PM_BUS=y +CONFIG_MTD=y +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_STM32_FMC2=y +CONFIG_MTD_SPI_NOR=y +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set +CONFIG_MTD_UBI=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_SIZE=65536 +CONFIG_SRAM=y +CONFIG_EEPROM_AT24=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_KS8851=y +CONFIG_SMSC911X=y +CONFIG_STMMAC_ETH=y +CONFIG_DWMAC_DWC_QOS_ETH=y +CONFIG_MDIO_BITBANG=y +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_EDT_FT5X06=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_STPMIC1_ONKEY=y +CONFIG_SERIAL_STM32=y +CONFIG_SERIAL_STM32_CONSOLE=y +CONFIG_SERIAL_DEV_BUS=y +CONFIG_HW_RANDOM=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX=y +CONFIG_I2C_STM32F7=y +CONFIG_SPI=y +CONFIG_SPI_STM32=y +CONFIG_SPI_STM32_QSPI=y +CONFIG_PINCTRL_SINGLE=y +CONFIG_PINCTRL_STMFX=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_RESET_SYSCON_POWEROFF=y +CONFIG_SYSCON_REBOOT_MODE=y +CONFIG_WATCHDOG=y +CONFIG_STPMIC1_WATCHDOG=y +CONFIG_MFD_STM32_LPTIMER=y +CONFIG_MFD_STPMIC1=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_STM32_VREFBUF=y +CONFIG_REGULATOR_STM32_PWR=y +CONFIG_REGULATOR_STPMIC1=y +CONFIG_DRM=y +CONFIG_DRM_STM=y +CONFIG_DRM_STM_DSI=y +# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set +# CONFIG_DRM_SII902X is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_LCD_CLASS_DEVICE is not set +# CONFIG_BACKLIGHT_CLASS_DEVICE is not set +# CONFIG_BACKLIGHT_GENERIC is not set +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_USB=y +CONFIG_USB_OTG=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=y +CONFIG_USB_DWC2=y +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_ISP1760=y +CONFIG_USB_HSIC_USB3503=y +CONFIG_USB_GPIO_VBUS=y +CONFIG_USB_ISP1301=y +CONFIG_USB_ULPI=y +CONFIG_TYPEC=y +CONFIG_TYPEC_STUSB=y +CONFIG_MMC=y +CONFIG_MMC_BLOCK_MINORS=16 +CONFIG_MMC_ARMMMCI=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_DW=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_PWM=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_STM32=y +CONFIG_DMADEVICES=y +CONFIG_STM32_DMA=y +CONFIG_STM32_DMAMUX=y +CONFIG_STM32_MDMA=y +CONFIG_HWSPINLOCK=y +CONFIG_HWSPINLOCK_STM32=y +CONFIG_STM32_IPCC=y +CONFIG_REMOTEPROC=y +CONFIG_STM32_RPROC=y +CONFIG_RPMSG_VIRTIO=y +CONFIG_RPMSG_TTY=y +CONFIG_IIO=y +CONFIG_IIO_SW_TRIGGER=y +CONFIG_SD_ADC_MODULATOR=y +CONFIG_STM32_ADC_CORE=y +CONFIG_STM32_ADC=y +CONFIG_STM32_ADC_TEMP=y +CONFIG_STM32_DFSDM_ADC=y +CONFIG_STM32_LPTIMER_CNT=y +CONFIG_STM32_DAC=y +CONFIG_IIO_HRTIMER_TRIGGER=y +CONFIG_IIO_STM32_LPTIMER_TRIGGER=y +CONFIG_PWM=y +CONFIG_PWM_STM32=y +CONFIG_PWM_STM32_LP=y +CONFIG_PHY_STM32_USBPHYC=y +CONFIG_NVMEM_STM32_ROMEM=y +CONFIG_EXT4_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_PRINTK_TIME=y diff --git a/board/stmicroelectronics/stm32mp157a-dk1/overlay/boot/extlinux/extlinux.conf b/board/stmicroelectronics/stm32mp157a-dk1/overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..437e80fdeb6 --- /dev/null +++ b/board/stmicroelectronics/stm32mp157a-dk1/overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label stm32mp157a-dk1-buildroot + kernel /boot/zImage + devicetree /boot/stm32mp157a-dk1.dtb + append root=/dev/mmcblk0p4 rootwait diff --git a/board/stmicroelectronics/stm32mp157a-dk1/readme.txt b/board/stmicroelectronics/stm32mp157a-dk1/readme.txt new file mode 100644 index 00000000000..060f71d5dce --- /dev/null +++ b/board/stmicroelectronics/stm32mp157a-dk1/readme.txt @@ -0,0 +1,38 @@ +STM32MP157A Discovery Kit v1 + +Intro +===== + +This configuration supports the STM32MP157 Discovery Kit 1 (DK1) +platform: + + https://www.st.com/en/evaluation-tools/stm32mp157a-dk1.html + +How to build +============ + + $ make stm32mp157a_dk1_defconfig + $ make + +How to write the microSD card +============================= + +Once the build process is finished you will have an image called +"sdcard.img" in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an microSD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Boot the board +============== + + (1) Insert the microSD card in connector CN15 + + (2) Plug a micro-USB cable in connector CN11 and run your serial + communication program on /dev/ttyACM0. + + (3) Plug a USB-C cable in CN6 to power-up the board. + + (4) The system will start, with the console on UART, but also visible + on the screen. diff --git a/board/stmicroelectronics/stm32mp157c-dk2/linux.config b/board/stmicroelectronics/stm32mp157c-dk2/linux.config new file mode 100644 index 00000000000..878a0c39f12 --- /dev/null +++ b/board/stmicroelectronics/stm32mp157c-dk2/linux.config @@ -0,0 +1,182 @@ +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_USELIB=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=16 +CONFIG_BLK_DEV_INITRD=y +CONFIG_ARCH_STM32=y +CONFIG_ARM_THUMBEE=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_ERRATA_430973=y +CONFIG_ARM_ERRATA_720789=y +CONFIG_ARM_ERRATA_754322=y +CONFIG_ARM_ERRATA_754327=y +CONFIG_ARM_ERRATA_764369=y +CONFIG_ARM_ERRATA_775420=y +CONFIG_ARM_ERRATA_798181=y +CONFIG_SMP=y +CONFIG_MCPM=y +CONFIG_HIGHMEM=y +CONFIG_FORCE_MAX_ZONEORDER=12 +CONFIG_SECCOMP=y +# CONFIG_ATAGS is not set +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +CONFIG_VFP=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y +CONFIG_ARM_CRYPTO=y +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_CMDLINE_PARTITION=y +CONFIG_CMA=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_CAN=y +CONFIG_CAN_M_CAN=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=128 +CONFIG_SIMPLE_PM_BUS=y +CONFIG_MTD=y +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_STM32_FMC2=y +CONFIG_MTD_SPI_NOR=y +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set +CONFIG_MTD_UBI=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_SIZE=65536 +CONFIG_SRAM=y +CONFIG_EEPROM_AT24=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_KS8851=y +CONFIG_SMSC911X=y +CONFIG_STMMAC_ETH=y +CONFIG_DWMAC_DWC_QOS_ETH=y +CONFIG_MDIO_BITBANG=y +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_EDT_FT5X06=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_STPMIC1_ONKEY=y +CONFIG_SERIAL_STM32=y +CONFIG_SERIAL_STM32_CONSOLE=y +CONFIG_SERIAL_DEV_BUS=y +CONFIG_HW_RANDOM=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX=y +CONFIG_I2C_STM32F7=y +CONFIG_SPI=y +CONFIG_SPI_STM32=y +CONFIG_SPI_STM32_QSPI=y +CONFIG_PINCTRL_SINGLE=y +CONFIG_PINCTRL_STMFX=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_RESET_SYSCON_POWEROFF=y +CONFIG_SYSCON_REBOOT_MODE=y +CONFIG_WATCHDOG=y +CONFIG_STPMIC1_WATCHDOG=y +CONFIG_MFD_STM32_LPTIMER=y +CONFIG_MFD_STPMIC1=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_STM32_VREFBUF=y +CONFIG_REGULATOR_STM32_PWR=y +CONFIG_REGULATOR_STPMIC1=y +CONFIG_DRM=y +CONFIG_DRM_STM=y +CONFIG_DRM_STM_DSI=y +CONFIG_DRM_PANEL_ORISETECH_OTM8009A=y +CONFIG_DRM_SII902X=y +CONFIG_BACKLIGHT_LCD_SUPPORT=y +# CONFIG_LCD_CLASS_DEVICE is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=y +# CONFIG_BACKLIGHT_GENERIC is not set +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_USB=y +CONFIG_USB_OTG=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=y +CONFIG_USB_DWC2=y +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_ISP1760=y +CONFIG_USB_HSIC_USB3503=y +CONFIG_USB_GPIO_VBUS=y +CONFIG_USB_ISP1301=y +CONFIG_USB_ULPI=y +CONFIG_TYPEC=y +CONFIG_TYPEC_STUSB=y +CONFIG_MMC=y +CONFIG_MMC_BLOCK_MINORS=16 +CONFIG_MMC_ARMMMCI=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_DW=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_PWM=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_STM32=y +CONFIG_DMADEVICES=y +CONFIG_STM32_DMA=y +CONFIG_STM32_DMAMUX=y +CONFIG_STM32_MDMA=y +CONFIG_HWSPINLOCK=y +CONFIG_HWSPINLOCK_STM32=y +CONFIG_STM32_IPCC=y +CONFIG_REMOTEPROC=y +CONFIG_STM32_RPROC=y +CONFIG_RPMSG_VIRTIO=y +CONFIG_RPMSG_TTY=y +CONFIG_IIO=y +CONFIG_IIO_SW_TRIGGER=y +CONFIG_SD_ADC_MODULATOR=y +CONFIG_STM32_ADC_CORE=y +CONFIG_STM32_ADC=y +CONFIG_STM32_ADC_TEMP=y +CONFIG_STM32_DFSDM_ADC=y +CONFIG_STM32_LPTIMER_CNT=y +CONFIG_STM32_DAC=y +CONFIG_IIO_HRTIMER_TRIGGER=y +CONFIG_IIO_STM32_LPTIMER_TRIGGER=y +CONFIG_PWM=y +CONFIG_PWM_STM32=y +CONFIG_PWM_STM32_LP=y +CONFIG_PHY_STM32_USBPHYC=y +CONFIG_NVMEM_STM32_ROMEM=y +CONFIG_EXT4_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_PRINTK_TIME=y diff --git a/board/stmicroelectronics/stm32mp157c-dk2/overlay/boot/extlinux/extlinux.conf b/board/stmicroelectronics/stm32mp157c-dk2/overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..5b7f56ee774 --- /dev/null +++ b/board/stmicroelectronics/stm32mp157c-dk2/overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label stm32mp157c-dk2-buildroot + kernel /boot/zImage + devicetree /boot/stm32mp157c-dk2.dtb + append root=/dev/mmcblk0p4 rootwait diff --git a/board/stmicroelectronics/stm32mp157c-dk2/readme.txt b/board/stmicroelectronics/stm32mp157c-dk2/readme.txt new file mode 100644 index 00000000000..8edc3e8bbb6 --- /dev/null +++ b/board/stmicroelectronics/stm32mp157c-dk2/readme.txt @@ -0,0 +1,38 @@ +STM32MP157C Discovery Kit v2 + +Intro +===== + +This configuration supports the STM32MP157C Discovery Kit 2 (DK2) +platform: + + https://www.st.com/en/evaluation-tools/stm32mp157c-dk2.html + +How to build +============ + + $ make stm32mp157c_dk2_defconfig + $ make + +How to write the microSD card +============================= + +Once the build process is finished you will have an image called +"sdcard.img" in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an microSD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Boot the board +============== + + (1) Insert the microSD card in connector CN15 + + (2) Plug a micro-USB cable in connector CN11 and run your serial + communication program on /dev/ttyACM0. + + (3) Plug a USB-C cable in CN6 to power-up the board. + + (4) The system will start, with the console on UART, but also visible + on the screen. diff --git a/board/synopsys/axs10x/fs-overlay/etc/inittab b/board/synopsys/axs10x/fs-overlay/etc/inittab deleted file mode 100644 index 43bacc65806..00000000000 --- a/board/synopsys/axs10x/fs-overlay/etc/inittab +++ /dev/null @@ -1,38 +0,0 @@ -# /etc/inittab -# -# Copyright (C) 2001 Erik Andersen -# -# Note: BusyBox init doesn't support runlevels. The runlevels field is -# completely ignored by BusyBox init. If you want runlevels, use -# sysvinit. -# -# Format for each entry: ::: -# -# id == tty to run on, or empty for /dev/console -# runlevels == ignored -# action == one of sysinit, respawn, askfirst, wait, and once -# process == program to run - -# Startup the system -null::sysinit:/bin/mount -t proc proc /proc -null::sysinit:/bin/mount -o remount,rw / -null::sysinit:/bin/mkdir -p /dev/pts -null::sysinit:/bin/mkdir -p /dev/shm -null::sysinit:/bin/mount -a -null::sysinit:/bin/hostname -F /etc/hostname -# now run any rc scripts -::sysinit:/etc/init.d/rcS - -# /sbin/getty invocation for tty0 -tty0::respawn:/sbin/getty 115200 tty0 - -# Put a getty on the serial port -console::respawn:/sbin/getty -L console 0 vt100 - -# Stuff to do for the 3-finger salute -::ctrlaltdel:/sbin/reboot - -# Stuff to do before rebooting -::shutdown:/etc/init.d/rcK -::shutdown:/sbin/swapoff -a -::shutdown:/bin/umount -a -r diff --git a/board/synopsys/axs10x/patches/u-boot/0001-axs103-Clean-up-smp_kick_all_cpus.patch b/board/synopsys/axs10x/patches/u-boot/0001-axs103-Clean-up-smp_kick_all_cpus.patch deleted file mode 100644 index 7af878d8130..00000000000 --- a/board/synopsys/axs10x/patches/u-boot/0001-axs103-Clean-up-smp_kick_all_cpus.patch +++ /dev/null @@ -1,48 +0,0 @@ -From ee5a5a51780bcb17e5240335ddfa9c98a0e6f890 Mon Sep 17 00:00:00 2001 -From: Alexey Brodkin -Date: Thu, 30 Mar 2017 19:18:30 +0300 -Subject: [PATCH] axs103: Clean-up smp_kick_all_cpus() - - * Rely on default pulse polarity value - * Don't mess with "multicore" value as it doesn't affect execution - -In essence we now do a bare minimal stuff: - 1) Select HS38x2_1 with CORE_SEL=1 bits - 2) Select "manual" core start (via CREG) with START_MODE=0 - 3) Generate cpu_start pulse with START=1 - -Signed-off-by: Alexey Brodkin -Signed-off-by: Vlad Zakharov ---- - board/synopsys/axs10x/axs10x.c | 12 +++++------- - 1 file changed, 5 insertions(+), 7 deletions(-) - -diff --git a/board/synopsys/axs10x/axs10x.c b/board/synopsys/axs10x/axs10x.c -index a5e774b2cf7b..57c790220f71 100644 ---- a/board/synopsys/axs10x/axs10x.c -+++ b/board/synopsys/axs10x/axs10x.c -@@ -61,16 +61,14 @@ void smp_kick_all_cpus(void) - { - /* CPU start CREG */ - #define AXC003_CREG_CPU_START 0xF0001400 -- - /* Bits positions in CPU start CREG */ - #define BITS_START 0 --#define BITS_POLARITY 8 -+#define BITS_START_MODE 4 - #define BITS_CORE_SEL 9 --#define BITS_MULTICORE 12 -- --#define CMD (1 << BITS_MULTICORE) | (1 << BITS_CORE_SEL) | \ -- (1 << BITS_POLARITY) | (1 << BITS_START) - -- writel(CMD, (void __iomem *)AXC003_CREG_CPU_START); -+ int cmd = readl((void __iomem *)AXC003_CREG_CPU_START); -+ cmd |= (1 << BITS_CORE_SEL) | (1 << BITS_START); -+ cmd &= ~(1 << BITS_START_MODE); -+ writel(cmd, (void __iomem *)AXC003_CREG_CPU_START); - } - #endif --- -2.7.4 - diff --git a/board/synopsys/axs10x/patches/u-boot/0002-axs103-Support-slave-core-kick-start-on-axs103-v1.1-.patch b/board/synopsys/axs10x/patches/u-boot/0002-axs103-Support-slave-core-kick-start-on-axs103-v1.1-.patch deleted file mode 100644 index 0fcc0e630f2..00000000000 --- a/board/synopsys/axs10x/patches/u-boot/0002-axs103-Support-slave-core-kick-start-on-axs103-v1.1-.patch +++ /dev/null @@ -1,72 +0,0 @@ -From a5fa3b17cb10ce020f8b7fe6a26c45d75f55b481 Mon Sep 17 00:00:00 2001 -From: Alexey Brodkin -Date: Fri, 31 Mar 2017 11:14:35 +0300 -Subject: [PATCH] axs103: Support slave core kick-start on axs103 v1.1 - firmware - -In axs103 v1.1 procedure to kick-start slave cores has changed quite a bit -compared to previous implementation. - -In particular: - * We used to have a generic START bit for all cores selected by CORE_SEL - mask. But now we don't touch CORE_SEL at all because we have a dedicated - START bit for each core: - bit 0: Core 0 (master) - bit 1: Core 1 (slave) - * Now there's no need to select "manual" mode of core start - -Additional challenge for us is how to tell which axs103 firmware we're -dealing with. For now we'll rely on ARC core version which was bumped -from 2.1c to 3.0. - -Signed-off-by: Alexey Brodkin -Signed-off-by: Vlad Zakharov ---- - board/synopsys/axs10x/axs10x.c | 23 +++++++++++++++++++++-- - 1 file changed, 21 insertions(+), 2 deletions(-) - -diff --git a/board/synopsys/axs10x/axs10x.c b/board/synopsys/axs10x/axs10x.c -index 57c790220f71..e6b69da3da7f 100644 ---- a/board/synopsys/axs10x/axs10x.c -+++ b/board/synopsys/axs10x/axs10x.c -@@ -7,6 +7,7 @@ - #include - #include - #include -+#include - #include "axs10x.h" - - DECLARE_GLOBAL_DATA_PTR; -@@ -66,9 +67,27 @@ void smp_kick_all_cpus(void) - #define BITS_START_MODE 4 - #define BITS_CORE_SEL 9 - -+/* -+ * In axs103 v1.1 START bits semantics has changed quite a bit. -+ * We used to have a generic START bit for all cores selected by CORE_SEL mask. -+ * But now we don't touch CORE_SEL at all because we have a dedicated START bit -+ * for each core: -+ * bit 0: Core 0 (master) -+ * bit 1: Core 1 (slave) -+ */ -+#define BITS_START_CORE1 1 -+ -+#define ARCVER_HS38_3_0 0x53 -+ -+ int core_family = read_aux_reg(ARC_AUX_IDENTITY) & 0xff; - int cmd = readl((void __iomem *)AXC003_CREG_CPU_START); -- cmd |= (1 << BITS_CORE_SEL) | (1 << BITS_START); -- cmd &= ~(1 << BITS_START_MODE); -+ -+ if (core_family < ARCVER_HS38_3_0) { -+ cmd |= (1 << BITS_CORE_SEL) | (1 << BITS_START); -+ cmd &= ~(1 << BITS_START_MODE); -+ } else { -+ cmd |= (1 << BITS_START_CORE1); -+ } - writel(cmd, (void __iomem *)AXC003_CREG_CPU_START); - } - #endif --- -2.7.4 - diff --git a/board/synopsys/axs10x/post-build.sh b/board/synopsys/axs10x/post-build.sh new file mode 100755 index 00000000000..f23c8a99b81 --- /dev/null +++ b/board/synopsys/axs10x/post-build.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +set -u +set -e + +# Add a console on tty0 +if [ -e ${TARGET_DIR}/etc/inittab ]; then + grep -qE '^tty0::' ${TARGET_DIR}/etc/inittab || \ + sed -i '/GENERIC_SERIAL/a\ +tty0::respawn:/sbin/getty 115200 tty0' ${TARGET_DIR}/etc/inittab +fi diff --git a/board/synopsys/axs10x/uboot-fragment.config b/board/synopsys/axs10x/uboot-fragment.config new file mode 100644 index 00000000000..92fe20f463a --- /dev/null +++ b/board/synopsys/axs10x/uboot-fragment.config @@ -0,0 +1 @@ +CONFIG_SYS_MALLOC_F_LEN=0x0500 diff --git a/board/synopsys/hsdk/genimage.cfg b/board/synopsys/hsdk/genimage.cfg new file mode 100644 index 00000000000..b5d702d553c --- /dev/null +++ b/board/synopsys/hsdk/genimage.cfg @@ -0,0 +1,29 @@ +image boot.vfat { + vfat { + files = { + "uImage" + } + + file uboot.env { + image = "uboot-env.bin" + } + } + + size = 20M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/synopsys/hsdk/linux.fragment b/board/synopsys/hsdk/linux.fragment new file mode 100644 index 00000000000..aaca08e015b --- /dev/null +++ b/board/synopsys/hsdk/linux.fragment @@ -0,0 +1,3 @@ +CONFIG_INITRAMFS_SOURCE="" +CONFIG_ARC_UBOOT_SUPPORT=y +CONFIG_USB=y diff --git a/board/synopsys/hsdk/readme.txt b/board/synopsys/hsdk/readme.txt new file mode 100644 index 00000000000..f4c65011116 --- /dev/null +++ b/board/synopsys/hsdk/readme.txt @@ -0,0 +1,33 @@ +Synopsys, Inc. +ARC HS Development Kit (HSDK) + +https://embarc.org/platforms.html + +How to build it +=============== + +Select the default configuration for the target: +$ make snps_archs38_hsdk_defconfig + +Optional: modify the configuration: +$ make menuconfig + +Build: +$ make + +Result of the build +=================== +output/images/ +├── boot.vfat +├── rootfs.ext2 +├── sdcard.img +├── u-boot +├── u-boot.bin +├── uboot-env.bin +└── uImage + +To copy the image file to the sdcard use dd: +$ dd if=output/images/sdcard.img of=/dev/XXX + +2018, Evgeniy Didin + diff --git a/board/synopsys/hsdk/uboot.env.txt b/board/synopsys/hsdk/uboot.env.txt new file mode 100644 index 00000000000..216f0c90435 --- /dev/null +++ b/board/synopsys/hsdk/uboot.env.txt @@ -0,0 +1,9 @@ +baudrate=115200 +bootargs=root=/dev/mmcblk0p2 rootwait +bootcmd=fatload mmc 0:1; bootm +bootdelay=2 +bootfile=uImage +loadaddr=0x82000000 +stderr=serial0@f0005000 +stdin=serial0@f0005000 +stdout=serial0@f0005000 diff --git a/board/synopsys/nsim/readme.txt b/board/synopsys/nsim/readme.txt new file mode 100644 index 00000000000..cc89cf87ac6 --- /dev/null +++ b/board/synopsys/nsim/readme.txt @@ -0,0 +1,43 @@ +How to build it +=============== + +Configure build for the selected nSIM target. For instance, for +ARC700 nSIM target use the following defauilt configuration: +$ make snps_arc700_nsim_defconfig + +Optionally modify the configuration: +$ make menuconfig + +Build: +$ make + +How to use it +============= + +Resulting image can be booted using ARC nSIM instruction set simulator. +Free version of nSIM is available for download: +- https://www.synopsys.com/cgi-bin/dwarcnsim/req1.cgi +It provides nsimdrv binary for Linux that can be used stand-alone +or with GDB. + +To run ARC700 image use the following command: +$ nsimdrv \ + -prop=nsim_mem-dev=uart0,kind=dwuart,base=0xf0000000,irq=24 \ + -prop=icache=32768,64,2,0 \ + -prop=dcache=32768,64,4,0 \ + -prop=nsim_isa_enable_timer_0=1 \ + -prop=nsim_isa_enable_timer_1=1 \ + -prop=nsim_isa_host_timer=1 \ + -prop=nsim_mmu=3 \ + -prop=nsim_isa_family=a700 \ + -prop=nsim_isa_atomic_option=1 \ + -prop=nsim_isa_dpfp=none \ + -prop=nsim_isa_shift_option=2 \ + -prop=nsim_isa_swap_option=1 \ + -prop=nsim_isa_bitscan_option=1 \ + -prop=nsim_isa_sat=1 \ + -prop=nsim_isa_mpy32=1 \ + -prop=isa_counters=1 \ + -prop=nsim_isa_pct_counters=8 \ + -prop=nsim_isa_pct_size=48 \ + output/images/vmlinux diff --git a/board/synopsys/vdk/linux-vdk-aarch64-defconfig b/board/synopsys/vdk/linux-vdk-aarch64-defconfig deleted file mode 100644 index 8109e169258..00000000000 --- a/board/synopsys/vdk/linux-vdk-aarch64-defconfig +++ /dev/null @@ -1,143 +0,0 @@ -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_BSD_PROCESS_ACCT=y -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=16 -CONFIG_CGROUPS=y -CONFIG_BLK_DEV_INITRD=y -CONFIG_EMBEDDED=y -CONFIG_SLAB=y -CONFIG_PROFILING=y -CONFIG_CC_STACKPROTECTOR_REGULAR=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_SMP=y -CONFIG_SCHED_MC=y -CONFIG_SCHED_SMT=y -CONFIG_NR_CPUS=8 -CONFIG_PREEMPT=y -CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 -CONFIG_TRANSPARENT_HUGEPAGE=y -CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y -CONFIG_CMDLINE="console=ttyAMA0 earlyprintk=pl011,0x1c090000 debug user_debug=31 loglevel=9 root=/dev/vda" -CONFIG_CMDLINE_FORCE=y -CONFIG_BINFMT_MISC=y -CONFIG_CPU_IDLE=y -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_GOV_USERSPACE=y -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_ARM_BIG_LITTLE_CPUFREQ=y -CONFIG_ARM_DT_BL_CPUFREQ=y -CONFIG_ARM_SPCI_CPUFREQ=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_XFRM_USER=y -CONFIG_NET_KEY=y -CONFIG_NET_KEY_MIGRATE=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_IP_PNP_BOOTP=y -CONFIG_IP_PNP_RARP=y -CONFIG_SYN_COOKIES=y -CONFIG_NETWORK_PHY_TIMESTAMPING=y -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -CONFIG_VEXPRESS_CONFIG=y -CONFIG_CONNECTOR=m -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_NBD=y -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_SIZE=65536 -CONFIG_VIRTIO_BLK=y -CONFIG_SCSI=y -CONFIG_BLK_DEV_SD=y -CONFIG_BLK_DEV_DM=y -CONFIG_NETDEVICES=y -CONFIG_STMMAC_ETH=m -CONFIG_INPUT_EVDEV=y -CONFIG_INPUT_MISC=y -CONFIG_INPUT_UINPUT=y -CONFIG_SERIO_AMBAKMI=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_VIRTIO_CONSOLE=y -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=y -CONFIG_I2C_DESIGNWARE_PLATFORM=y -CONFIG_GPIOLIB=y -CONFIG_GPIO_SYSFS=y -CONFIG_POWER_RESET_VEXPRESS=y -CONFIG_FB=y -CONFIG_FB_ARMCLCD=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_LOGO=y -CONFIG_USB_HIDDEV=y -CONFIG_USB=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_HCD_SYNOPSYS=y -CONFIG_USB_OHCI_HCD=y -CONFIG_NOP_USB_XCEIV=y -CONFIG_USB_ULPI=y -CONFIG_USB_DUMMY_HCD=m -CONFIG_USB_G_SERIAL=m -CONFIG_MMC=y -CONFIG_MMC_ARMMMCI=y -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_GPIO=y -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=y -CONFIG_LEDS_TRIGGER_ONESHOT=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y -CONFIG_LEDS_TRIGGER_BACKLIGHT=y -CONFIG_LEDS_TRIGGER_CPU=y -CONFIG_LEDS_TRIGGER_GPIO=y -CONFIG_SWITCH=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_PL031=y -CONFIG_VIRTIO_BALLOON=y -CONFIG_VIRTIO_MMIO=y -CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y -CONFIG_COMMON_CLK_VERSATILE=y -CONFIG_CLK_SP810=y -CONFIG_CLK_VEXPRESS_OSC=y -CONFIG_COMMON_CLK_SCPI=y -CONFIG_MAILBOX=y -CONFIG_ARM_SCPI_PROTOCOL=y -CONFIG_EXT4_FS=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_BTRFS_FS=m -CONFIG_QFMT_V2=y -CONFIG_AUTOFS4_FS=m -CONFIG_MSDOS_FS=m -CONFIG_VFAT_FS=m -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_HUGETLBFS=m -CONFIG_ECRYPT_FS=m -CONFIG_CRAMFS=m -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_ISO8859_1=y -CONFIG_VIRTUALIZATION=y -CONFIG_KVM=y -CONFIG_DYNAMIC_DEBUG=y -CONFIG_DEBUG_INFO=y -CONFIG_MAGIC_SYSRQ=y -CONFIG_SCHEDSTATS=y -CONFIG_TIMER_STATS=y -CONFIG_FUNCTION_TRACER=y -CONFIG_STRICT_DEVMEM=y -CONFIG_SECURITY=y -CONFIG_SECURITY_NETWORK_XFRM=y -CONFIG_LSM_MMAP_MIN_ADDR=0 - diff --git a/board/synopsys/vdk/patches/linux/0002-arc-vdk-Add-support-of-MMC-controller.patch b/board/synopsys/vdk/patches/linux/0002-arc-vdk-Add-support-of-MMC-controller.patch deleted file mode 100644 index bd5dedb1ff2..00000000000 --- a/board/synopsys/vdk/patches/linux/0002-arc-vdk-Add-support-of-MMC-controller.patch +++ /dev/null @@ -1,70 +0,0 @@ -From c9d5ba0157fcfe48c0ec3448bdaecbabb8cefbca Mon Sep 17 00:00:00 2001 -From: Alexey Brodkin -Date: Tue, 31 Jan 2017 19:02:44 +0300 -Subject: [PATCH 2/3] arc: vdk: Add support of MMC controller - -ARC VDK virtual platform emulates host MMC controller (DW Mobile Storage) -and moreover rootfs is situated on that virtual card. - -Signed-off-by: Alexey Brodkin ---- - arch/arc/boot/dts/vdk_axs10x_mb.dtsi | 18 ++++++++++++++++++ - arch/arc/configs/vdk_hs38_smp_defconfig | 5 ++++- - 2 files changed, 22 insertions(+), 1 deletion(-) - -diff --git a/arch/arc/boot/dts/vdk_axs10x_mb.dtsi b/arch/arc/boot/dts/vdk_axs10x_mb.dtsi -index 99498a4b4216..1953914b9f4f 100644 ---- a/arch/arc/boot/dts/vdk_axs10x_mb.dtsi -+++ b/arch/arc/boot/dts/vdk_axs10x_mb.dtsi -@@ -23,6 +23,12 @@ - #clock-cells = <0>; - }; - -+ mmcclk: mmcclk { -+ compatible = "fixed-clock"; -+ clock-frequency = <50000000>; -+ #clock-cells = <0>; -+ }; -+ - pguclk: pguclk { - #clock-cells = <0>; - compatible = "fixed-clock"; -@@ -94,5 +100,17 @@ - interrupts = <5>; - interrupt-names = "arc_ps2_irq"; - }; -+ -+ mmc@0x15000 { -+ compatible = "snps,dw-mshc"; -+ reg = <0x15000 0x400>; -+ num-slots = <1>; -+ fifo-depth = <1024>; -+ card-detect-delay = <200>; -+ clocks = <&apbclk>, <&mmcclk>; -+ clock-names = "biu", "ciu"; -+ interrupts = <7>; -+ bus-width = <4>; -+ }; - }; - }; -diff --git a/arch/arc/configs/vdk_hs38_smp_defconfig b/arch/arc/configs/vdk_hs38_smp_defconfig -index 00036e814dc1..85c697a7ef1c 100644 ---- a/arch/arc/configs/vdk_hs38_smp_defconfig -+++ b/arch/arc/configs/vdk_hs38_smp_defconfig -@@ -79,9 +79,12 @@ CONFIG_USB_OHCI_HCD=y - CONFIG_USB_OHCI_HCD_PLATFORM=y - CONFIG_USB_STORAGE=y - CONFIG_USB_SERIAL=y -+CONFIG_MMC=y -+CONFIG_MMC_SDHCI=y -+CONFIG_MMC_SDHCI_PLTFM=y -+CONFIG_MMC_DW=y - # CONFIG_IOMMU_SUPPORT is not set - CONFIG_EXT3_FS=y --CONFIG_EXT4_FS=y - CONFIG_MSDOS_FS=y - CONFIG_VFAT_FS=y - CONFIG_NTFS_FS=y --- -2.7.4 - diff --git a/board/synopsys/vdk/patches/linux/0003-arc-vdk-Add-support-of-UIO.patch b/board/synopsys/vdk/patches/linux/0003-arc-vdk-Add-support-of-UIO.patch deleted file mode 100644 index 2b084a93cc2..00000000000 --- a/board/synopsys/vdk/patches/linux/0003-arc-vdk-Add-support-of-UIO.patch +++ /dev/null @@ -1,48 +0,0 @@ -From caa0dca3f4913712d1883e9b3b540f0815864ed9 Mon Sep 17 00:00:00 2001 -From: Alexey Brodkin -Date: Tue, 31 Jan 2017 19:03:56 +0300 -Subject: [PATCH 3/3] arc: vdk: Add support of UIO - -ARC VDK for EVSS uses UIO for communication with Embedded Vision -Subsystem. - -Signed-off-by: Alexey Brodkin ---- - arch/arc/boot/dts/vdk_axs10x_mb.dtsi | 8 ++++++++ - arch/arc/configs/vdk_hs38_smp_defconfig | 2 ++ - 2 files changed, 10 insertions(+) - -diff --git a/arch/arc/boot/dts/vdk_axs10x_mb.dtsi b/arch/arc/boot/dts/vdk_axs10x_mb.dtsi -index 1953914b9f4f..f0df59b23e21 100644 ---- a/arch/arc/boot/dts/vdk_axs10x_mb.dtsi -+++ b/arch/arc/boot/dts/vdk_axs10x_mb.dtsi -@@ -112,5 +112,13 @@ - interrupts = <7>; - bus-width = <4>; - }; -+ -+ /* Embedded Vision subsystem UIO mappings; only relevant for EV VDK */ -+ uio_ev: uio@0xD0000000 { -+ compatible = "generic-uio"; -+ reg = <0xD0000000 0x2000 0xD1000000 0x2000 0x90000000 0x10000000 0xC0000000 0x10000000>; -+ reg-names = "ev_gsa", "ev_ctrl", "ev_shared_mem", "ev_code_mem"; -+ interrupts = <23>; -+ }; - }; - }; -diff --git a/arch/arc/configs/vdk_hs38_smp_defconfig b/arch/arc/configs/vdk_hs38_smp_defconfig -index 85c697a7ef1c..ecd7f42d50c9 100644 ---- a/arch/arc/configs/vdk_hs38_smp_defconfig -+++ b/arch/arc/configs/vdk_hs38_smp_defconfig -@@ -83,6 +83,8 @@ CONFIG_MMC=y - CONFIG_MMC_SDHCI=y - CONFIG_MMC_SDHCI_PLTFM=y - CONFIG_MMC_DW=y -+CONFIG_UIO=y -+CONFIG_UIO_PDRV_GENIRQ=y - # CONFIG_IOMMU_SUPPORT is not set - CONFIG_EXT3_FS=y - CONFIG_MSDOS_FS=y --- -2.7.4 - diff --git a/board/synopsys/vdk/readme.txt b/board/synopsys/vdk/readme.txt deleted file mode 100644 index 98046473404..00000000000 --- a/board/synopsys/vdk/readme.txt +++ /dev/null @@ -1,65 +0,0 @@ -Synopsys VDK Software Development Platform - -Intro -===== - -The Virtualizer Development Kit (VDK) Family for ARM Cortex Products -consists of a set of virtual prototypes that provide a virtualizer for -the ARM core variants. The VDK is a standalone package that runs on an -host computer. - -Buildroot will generate the kernel image and a minimal root filesystem. - -How to build it -=============== - -Configure Buildroot -------------------- - -Configuring Buildroot is pretty simple, just execute: - - $ make snps_aarch64_vdk_defconfig - -Build the rootfs and kernel ---------------------------- - -Note: you will need to have access to the network, since Buildroot will -download the packages' sources. - -You may now build your rootfs with: - - $ make - -(This may take a while) - -Result of the build -------------------- - -After building, you should obtain this tree: - - output/images/ - -- rootfs.ext2 - -- Image - -Installing your rootfs and Image -================================ - -Now copy the content of the output/images folder to the VDK' skins -folder: - - $ cp rootfs.ext2 Image /skins/Vanilla-Cortex/ARMv8 - - -Starting the VDK -================================ - -Go the VDK' installation root and execute the 'start' script: - - $ cd - $ ./start.sh - -The VP Explorer application will be executed, starting the simulation -automatically. - -For more information about Synopsys' VDK please check: -http://www.synopsys.com/Prototyping/VirtualPrototyping/Pages/default.aspx diff --git a/board/technexion/imx6ulpico/linux.fragment b/board/technexion/imx6ulpico/linux.fragment deleted file mode 100644 index 892d0cb7b99..00000000000 --- a/board/technexion/imx6ulpico/linux.fragment +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CFG80211_WEXT=y diff --git a/board/technexion/imx6ulpico/rootfs_overlay/boot/extlinux/extlinux.conf b/board/technexion/imx6ulpico/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..24ed485c3c5 --- /dev/null +++ b/board/technexion/imx6ulpico/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +Label imx6ul-pico-buildroot + kernel ../zImage + fdtdir ../ + append root=PARTUUID=${uuid} rootwait rw console=${console},${baudrate} diff --git a/board/technexion/imx7dpico/readme.txt b/board/technexion/imx7dpico/readme.txt index cda3f285eb4..53197d458d3 100644 --- a/board/technexion/imx7dpico/readme.txt +++ b/board/technexion/imx7dpico/readme.txt @@ -20,9 +20,63 @@ You will find in output/images/ the following files: - rootfs.ext4 - rootfs.tar - sdcard.img - - u-boot.imx + - u-boot-dtb.img + - SPL - zImage +Flash U-Boot and SPL +===== + +Note: This method is convenient for development purposes. +If the eMMC has already a U-Boot flashed with DFU support then +the user can go to step 2 below in order to update U-Boot. + +Put pico board in USB download mode (refer to the PICO-iMX7D Quick Start Guide +page 3) + +Connect a USB to serial adapter between the host PC and pico. + +Connect a USB cable between the OTG pico port and the host PC. + +Note: Some computers may be a bit strict with USB current draw and will +shut down their ports if the draw is too high. The solution for that is +to use an externally powered USB hub between the board and the host computer. + +Open a terminal program such as minicom. + +Copy SPL and u-boot-dtb.img to the imx_usb_loader folder. + +Load the SPL binary via USB: + +$ sudo ./imx_usb SPL + +Load the u-boot-dtb.img binary via USB: + +$ sudo ./imx_usb u-boot-dtb.img + +Then U-Boot starts and its messages appear in the console program. + +Use the default environment variables: + +=> env default -f -a +=> saveenv + +Run the DFU agent so we can flash the new images using dfu-util tool: + +=> dfu 0 mmc 0 + +Flash SPL and u-boot-dtb.img into the eMMC running the following commands on a PC: + +$ sudo dfu-util -D SPL -a spl + +$ sudo dfu-util -D u-boot-dtb.img -a u-boot + +Remove power from the pico board. + +Put pico board into normal boot mode. + +Power up the board and the new updated U-Boot should boot from eMMC. + Flash the eMMC ============== @@ -56,4 +110,15 @@ To boot your newly created system: emulator at 115200 bps, 8n1; - power on the board. +Using Wifi +========== + +# modprobe brcmfmac +# iwconfig wlan0 essid ACCESSPOINTNAME +# wpa_passphrase ACCESSPOINTNAME > /etc/wpa.conf +(enter the wifi password and press enter) +# wpa_supplicant -Dwext -iwlan0 -c /etc/wpa.conf & +# udhcpc -i wlan0 +# ping buildroot.org + Enjoy! diff --git a/board/technexion/imx7dpico/rootfs_overlay/boot/extlinux/extlinux.conf b/board/technexion/imx7dpico/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..4824aff079f --- /dev/null +++ b/board/technexion/imx7dpico/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +Label imx7d-pico-buildroot + kernel /boot/zImage + devicetree /boot/imx7d-pico-pi.dtb + append root=PARTUUID=${uuid} rootwait rw console=${console},${baudrate} \ No newline at end of file diff --git a/board/technexion/imx7dpico/rootfs_overlay/lib/firmware/brcm/brcmfmac4339-sdio.txt b/board/technexion/imx7dpico/rootfs_overlay/lib/firmware/brcm/brcmfmac4339-sdio.txt new file mode 100644 index 00000000000..1ddd9295048 --- /dev/null +++ b/board/technexion/imx7dpico/rootfs_overlay/lib/firmware/brcm/brcmfmac4339-sdio.txt @@ -0,0 +1,99 @@ +#AP6335_NVRAM_V1.5_03112014 +NVRAMRev=$Rev: 410316 $ +sromrev=11 +boardrev=0x1203 +boardtype=0x06c5 +boardflags=0x00000c01 +boardflags2=0x00002000 +boardflags3=0x101188 +macaddr=00:90:4c:c5:12:38 +ccode=0 +regrev=0 +antswitch=0 +pdgain2g=7 +pdgain5g=7 +tworangetssi2g=0 +tworangetssi5g=0 +femctrl=7 +pcieingress_war=15 +vendid=0x14e4 +devid=0x43ae +manfid=0x2d0 +nocrc=1 +otpimagesize=502 +xtalfreq=37400 +extpagain2g=2 +pdetrange2g=2 +extpagain5g=2 +pdetrange5g=2 +rxgains2gelnagaina0=0 +rxgains2gtrisoa0=7 +rxgains2gtrelnabypa0=0 +rxgains5gelnagaina0=0 +rxgains5gtrisoa0=11 +rxgains5gtrelnabypa0=0 +rxchain=1 +txchain=1 +aa2g=1 +aa5g=1 +tssipos5g=0 +tssipos2g=0 +pa2ga0=-161,6269,-723 +pa2gccka0=-116,7568,-852 +pa5ga0=0xFF61,0x163C,0xFD55,0xFF5D,0x1671,0xFD4F,0xFF5F,0x16CA,0xFD45,0xFF60,0x1676,0xFD4D +pa5gbw40a0=0xFF61,0x163C,0xFD55,0xFF5D,0x1671,0xFD4F,0xFF5F,0x16CA,0xFD45,0xFF60,0x1676,0xFD4D +pa5gbw80a0=0xFF61,0x163C,0xFD55,0xFF5D,0x1671,0xFD4F,0xFF5F,0x16CA,0xFD45,0xFF60,0x1676,0xFD4D +pdoffset40ma0=0 +pdoffset80ma0=0 +pdoffsetcckma0=0 +maxp2ga0=75 +maxp5ga0=64,64,72,72 +cckbw202gpo=0x0000 +cckbw20ul2gpo=0x0 +mcsbw202gpo=0x99445533 +mcsbw402gpo=0x99775533 +dot11agofdmhrbw202gpo=0x2233 +ofdmlrbw202gpo=0x0000 +tssifloor2g=500 +mcsbw205glpo=0x66333330 +mcsbw405glpo=0x66665530 +mcsbw805glpo=0xAA555530 +mcsbw1605glpo=0x99555530 +mcsbw205gmpo=0x99BB5530 +mcsbw405gmpo=0x99BB5530 +mcsbw805gmpo=0xEE555530 +mcsbw1605gmpo=0x99555530 +mcsbw205ghpo=0x99995530 +mcsbw405ghpo=0x99BB5530 +mcsbw805ghpo=0xEE555530 +mcsbw1605ghpo=0x99555530 +mcslr5glpo=0x0000 +mcslr5gmpo=0x0000 +mcslr5ghpo=0x0000 +sb20in40hrrpo=0x0 +sb20in80and160hr5glpo=0x0 +sb40and80hr5glpo=0x0 +sb20in80and160hr5gmpo=0x0 +sb40and80hr5gmpo=0x0 +sb20in80and160hr5ghpo=0x0 +sb40and80hr5ghpo=0x0 +sb20in40lrpo=0x0 +sb20in80and160lr5glpo=0x0 +sb40and80lr5glpo=0x0 +sb20in80and160lr5gmpo=0x0 +sb40and80lr5gmpo=0x0 +sb20in80and160lr5ghpo=0x0 +sb40and80lr5ghpo=0x0 +dot11agduphrpo=0x0 +dot11agduplrpo=0x0 +phycal_tempdelta=25 +cckdigfilttype=2 +pacalidx2g=65 +dacrate2g=160 +swctrlmap_5g=0x00000008,0x00000010,0x00000008,0x000000,0x038 +swctrlmap_2g=0x00000001,0x00000002,0x00000001,0x040002,0x0ff +swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x000 +swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x000 +rssicorrnorm_c0=3,3 +rssicorrnorm5g_c0=2,3,4,2,3,3,0,1,2,0,1,2 +muxenab=0x10 diff --git a/board/technexion/imx8mmpico/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/technexion/imx8mmpico/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..98f425a89e4 --- /dev/null +++ b/board/technexion/imx8mmpico/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 cfb927722272897f850681c78d5f129b0883a8efaba9c52d30e029086524f7ff imx-atf-lf-6.1.55-2.2.0.tar.gz diff --git a/board/technexion/imx8mmpico/patches/linux-headers/linux-headers.hash b/board/technexion/imx8mmpico/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/technexion/imx8mmpico/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/technexion/imx8mmpico/patches/linux/linux.hash b/board/technexion/imx8mmpico/patches/linux/linux.hash new file mode 100644 index 00000000000..d88a78c458f --- /dev/null +++ b/board/technexion/imx8mmpico/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 875716dc8fe6e0df55b40600877232d9a1d62f81950244e16d563621f636f16e linux-tn-imx-tn-mickledore_6.1.55-2.2.0_20240417.tar.gz diff --git a/board/technexion/imx8mmpico/patches/uboot/uboot.hash b/board/technexion/imx8mmpico/patches/uboot/uboot.hash new file mode 100644 index 00000000000..0f48f6f10b7 --- /dev/null +++ b/board/technexion/imx8mmpico/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 fbcdf336960f38a14ac4e9a383c207952f8b81cf0b5fe38b53dfe6ad0e8fa089 u-boot-tn-imx-tn-mickledore_6.1.55-2.2.0_20240417.tar.gz diff --git a/board/technexion/imx8mmpico/readme.txt b/board/technexion/imx8mmpico/readme.txt new file mode 100644 index 00000000000..56a8c9bdfee --- /dev/null +++ b/board/technexion/imx8mmpico/readme.txt @@ -0,0 +1,100 @@ +********************************* +Technexion i.MX8M Mini Pico board +********************************* + +This file documents the Buildroot support for the Technexion i.MX8M +Mini Pico board. The Pico i.MX8M Mini system-on-module [1] is present +in development kits like the Pico Pi i.MX8M Mini [2]. + +Build +===== + +First, configure Buildroot for the i.MX8M Mini Pico board: + + make imx8mmpico_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - bl31.bin + - boot.vfat + - Image + - imx8-boot-sd.bin + - imx8mm-pico-pi.dtb + - imx8mm-pico-pi-ili9881c.dtb + - imx8mm-pico-pi-sn65dsi84-hj070na.dtb + - lpddr4_pmu_train_fw.bin + - rootfs.ext2 + - rootfs.ext4 + - sdcard.img + - u-boot.imx + +Flashing sdcard.img on the eMMC +=============================== + +i.MX8M Mini Pico board does not have a SD card slot. The storage is an +eMMC. An easy way to flash the eMMC is to use the u-boot ums +command. The boards are sold pre-flashed with such a u-boot. It is +assumed here that the board has already a working u-boot on eMMC and +jumpers are set to boot on eMMC. See [3]. + +Jumper configuration for eMMC boot: +J1: jumper on pins 4 and 6. +J2: jumper on pins 2 and 4. + +In case the board was flashed with a wrong u-boot, or the eMMC is +erased, u-boot can be loaded by USB Serial Download boot mode, using +imx-usb-loader. See [3]. + +For flashing: +- Plug the micro USB cable from the Debug USB Port, to your computer +- Plug the USB Type C to your computer, this will power up the board + +In the U-Boot prompt launch: + +=> ums 0 mmc ${mmcdev} + +This will mount the eMMC content in the host PC as a mass storage device. +Note: the ${mmcdev} id may change from one uboot version to another. The +actual id can be confirmed by running commands "mmc rescan" then +"mmc list", to find the eMMC entry. Finally it's possible to enter +directly the mmc device id, for example: "ums 0 mmc 2". + +To determine the device associated to the eMMC card have a look in the +/proc/partitions file: + + cat /proc/partitions + +If your system automatically mount some device partitions, make sure +to unmount them. + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on the eMMC. Launch the following +command as root: + + dd bs=1M if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the eMMC content. Use with care! *** + +This operation can take several minutes, depending on the image +size. When tested, a 10MB/s transfer rate was observed. Note: the +blocksize "bs=1M" parameter gives better transfer performances. + +For details about the medium image layout, see the definition in +board/freescale/common/imx/genimage.cfg.template. + +Boot the i.MX8M Mini Pico board +=============================== + +To boot your newly created system: +- put a micro USB cable into the Debug USB Port and connect using a terminal + emulator at 115200 bps, 8n1; +- power on the board, with USB Type C connector. + +Enjoy! + +[1]. https://www.technexion.com/products/system-on-modules/pico/pico-compute-modules/detail/PICO-IMX8M-MINI +[2]. https://www.technexion.com/products/system-on-modules/evk/pico-pi-imx8m-mini/ +[3]. https://developer.technexion.com/docs/recover-to-factory-settings-pico-imx8m-mini diff --git a/board/technologic/ts4800/genimage.cfg b/board/technologic/ts4800/genimage.cfg deleted file mode 100644 index 2070cc5040f..00000000000 --- a/board/technologic/ts4800/genimage.cfg +++ /dev/null @@ -1,37 +0,0 @@ -image boot.vfat { - vfat { - files = { - "zImage", - "imx51-ts4800.dtb" - } - } - size = 8M -} - -image sdcard.img { - hdimage { - } - - partition mbrboot { - in-partition-table = "no" - image = "mbrboot.bin" - offset = 0 - } - - partition uboot { - partition-type = 0xda - image = "u-boot.bin" - size = 256k - } - - partition kernel { - partition-type = 0xC - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 256M - } -} diff --git a/board/technologic/ts4800/linux.fragment b/board/technologic/ts4800/linux.fragment deleted file mode 100644 index 0451c863651..00000000000 --- a/board/technologic/ts4800/linux.fragment +++ /dev/null @@ -1,3 +0,0 @@ -CONFIG_TOUCHSCREEN_TS4800=y -CONFIG_TS4800_WATCHDOG=y -CONFIG_TS4800_IRQ=y diff --git a/board/technologic/ts4800/post-image.sh b/board/technologic/ts4800/post-image.sh deleted file mode 100755 index cc8e5da3525..00000000000 --- a/board/technologic/ts4800/post-image.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2015 Savoir-faire Linux -# Post image generation script. - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP=${BUILD_DIR}/.genimage_tmp - -rm -rf ${GENIMAGE_TMP} - -${HOST_DIR}/bin/genimage \ - --config ${GENIMAGE_CFG} \ - --rootpath ${TARGET_DIR} \ - --tmppath ${GENIMAGE_TMP} \ - --inputpath $BINARIES_DIR \ - --outputpath $BINARIES_DIR - -exit $? diff --git a/board/technologic/ts4800/readme.txt b/board/technologic/ts4800/readme.txt deleted file mode 100644 index 20b50e9de2a..00000000000 --- a/board/technologic/ts4800/readme.txt +++ /dev/null @@ -1,50 +0,0 @@ -Technologic Systems TS-4800 -=========================== - -This document explains how to set up a basic Buildroot system for the -Technologic Systems TS-4800 System on Module. - -The TS-4800 is a TS-SOCKET macrocontroller board based on the Freescale -i.MX515 ARM Cortex-A8 CPU running at 800MHz. The TS-4800 features 10/100 -Ethernet, high speed USB host and device (OTG), microSD card, and 256MB -XNAND drive. More details on the board here: - http://wiki.embeddedarm.com/wiki/TS-4800 - -The TS-4800 is supported by mainline Linux as of 4.5 and by U-boot as of -v2016-07. The defconfig includes a custom 1st level bootloader located -in boot/ts4800-mbrboot. This one scans the SD card's partition table to -find partition having the 0xDA type, corresponding to U-boot. - -To build the default configuration you only have to: - - $ make ts4800_defconfig - $ make - -The ouput looks like: - output/images/ - ├── boot.vfat - ├── imx51-ts4800.dtb - ├── mbrboot.bin - ├── rootfs.ext2 - ├── rootfs.ext4 -> rootfs.ext2 - ├── rootfs.tar - ├── sdcard.img - ├── u-boot.bin - └── zImage - -The provided post-image script generates an image file containing 3 -partitions for U-boot, Linux kernel + device tree and rootfs -respectively: - $ fdisk output/images/sdcard.img - Device Boot Start End Blocks Id System - output/images/sdcard.img1 1 512 256 da Non-FS data - output/images/sdcard.img2 513 16896 8192 c W95 FAT32 (LBA) - output/images/sdcard.img3 16897 541184 262144 83 Linux - -This image can be directly written to an SD card. - - $ sudo dd if=output/images/sdcard.img of=/dev/mmcblk0 - -In order to test the image on TS-4800 board, a TS baseboard, such as -TS-8xxx the serie, is needed to provide power, console header, RJ45 -connector etc. diff --git a/board/technologic/ts4900/readme.txt b/board/technologic/ts4900/readme.txt index 679454fdeb9..121e6397495 100644 --- a/board/technologic/ts4900/readme.txt +++ b/board/technologic/ts4900/readme.txt @@ -9,7 +9,7 @@ Freescale i.MX6 Single or Quad Core ARM Cortex-A9 CPU clocked at 1GHz. The TS-4900 features Gigabit Ethernet, SATA II Port, PCI Express Bus, high speed USB host and device (OTG), and microSD card. More details on the board here: - http://wiki.embeddedarm.com/wiki/TS-4900 + https://docs.embeddedTS.com/TS-4900 The TS-4900 is not currently supported by mainline Linux, so a Technologic Systems Linux is used based on Linux 4.1. @@ -48,5 +48,5 @@ connector etc. The bootloader comes pre-flashed on the board on an SPI flash. Since updating the bootloader is risky and not trivial, it is not included in the Buildroot defconfig. Refer to -http://wiki.embeddedarm.com/wiki/TS-4900#U-Boot for details on which +https://docs.embeddedTS.com/TS-4900#U-Boot for details on which U-Boot config to use and how to flash it. diff --git a/board/technologic/ts5x00/fs-overlay/boot/syslinux/syslinux.cfg b/board/technologic/ts5500/fs-overlay/boot/syslinux/syslinux.cfg similarity index 100% rename from board/technologic/ts5x00/fs-overlay/boot/syslinux/syslinux.cfg rename to board/technologic/ts5500/fs-overlay/boot/syslinux/syslinux.cfg diff --git a/board/technologic/ts5500/linux-4.14.config b/board/technologic/ts5500/linux-4.14.config new file mode 100644 index 00000000000..eb81596e258 --- /dev/null +++ b/board/technologic/ts5500/linux-4.14.config @@ -0,0 +1,111 @@ +# CONFIG_CROSS_MEMORY_ATTACH is not set +CONFIG_PARTITION_ADVANCED=y +# CONFIG_X86_EXTENDED_PLATFORM is not set +CONFIG_MELAN=y +CONFIG_X86_GENERIC=y +CONFIG_X86_REBOOTFIXUPS=y +CONFIG_NOHIGHMEM=y +# CONFIG_COMPACTION is not set +# CONFIG_BOUNCE is not set +# CONFIG_RELOCATABLE is not set +# CONFIG_SUSPEND is not set +# CONFIG_ACPI is not set +CONFIG_CPU_IDLE=y +CONFIG_TS5500=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_DIAG is not set +# CONFIG_IPV6 is not set +# CONFIG_WIRELESS is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_BLK_DEV is not set +CONFIG_BLK_DEV_SD=y +# CONFIG_SCSI_LOWLEVEL is not set +CONFIG_ATA=y +# CONFIG_ATA_VERBOSE_ERROR is not set +# CONFIG_SATA_PMP is not set +CONFIG_ATA_GENERIC=y +CONFIG_PATA_LEGACY=y +CONFIG_NETDEVICES=y +# CONFIG_NET_CORE is not set +# CONFIG_NET_VENDOR_3COM is not set +# CONFIG_NET_VENDOR_ADAPTEC is not set +# CONFIG_NET_VENDOR_ALTEON is not set +# CONFIG_NET_VENDOR_AMD is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_ATHEROS is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_BROCADE is not set +# CONFIG_NET_VENDOR_CHELSIO is not set +# CONFIG_NET_VENDOR_CISCO is not set +CONFIG_NET_TULIP=y +CONFIG_DM9102=y +# CONFIG_NET_VENDOR_DLINK is not set +# CONFIG_NET_VENDOR_EMULEX is not set +# CONFIG_NET_VENDOR_EXAR is not set +# CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MELLANOX is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MYRI is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_NVIDIA is not set +# CONFIG_NET_VENDOR_OKI is not set +# CONFIG_NET_PACKET_ENGINE is not set +# CONFIG_NET_VENDOR_QLOGIC is not set +# CONFIG_NET_VENDOR_REALTEK is not set +# CONFIG_NET_VENDOR_RDC is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SILAN is not set +# CONFIG_NET_VENDOR_SIS is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_SUN is not set +# CONFIG_NET_VENDOR_TEHUTI is not set +# CONFIG_NET_VENDOR_TI is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_PHYLIB=y +CONFIG_DAVICOM_PHY=y +# CONFIG_WLAN is not set +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_SERIO is not set +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set +CONFIG_SERIAL_8250_CONSOLE=y +# CONFIG_HW_RANDOM is not set +CONFIG_GPIOLIB=y +CONFIG_GPIO_TS5500=y +CONFIG_SENSORS_MAX197=y +CONFIG_WATCHDOG=y +CONFIG_SC520_WDT=y +CONFIG_USB=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_SERIAL=y +CONFIG_USB_SERIAL_FTDI_SIO=y +CONFIG_USB_SERIAL_PL2303=y +# CONFIG_X86_PLATFORM_DEVICES is not set +# CONFIG_IOMMU_SUPPORT is not set +# CONFIG_DMIID is not set +CONFIG_EXT4_FS=y +# CONFIG_DNOTIFY is not set +# CONFIG_INOTIFY_USER is not set +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +# CONFIG_MISC_FILESYSTEMS is not set +# CONFIG_NETWORK_FILESYSTEMS is not set +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_850=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_15=y +CONFIG_NLS_UTF8=y +# CONFIG_VIRTUALIZATION is not set +CONFIG_XZ_DEC=y diff --git a/board/technologic/ts5500/readme.txt b/board/technologic/ts5500/readme.txt new file mode 100644 index 00000000000..1fe384faae9 --- /dev/null +++ b/board/technologic/ts5500/readme.txt @@ -0,0 +1,52 @@ +Technologic Systems TS-5x00 SBCs +================================ + +This document explains how to set up a basic Buildroot system for the +Technologic Systems TS-5x00 serie of x86-based Single Board Computers. + +TS-5x00 Single Board Computers are based on the AMD Elan520 processor. For more +information please have a look at https://docs.embeddedTS.com/Documentation_Home#AMD + +The kernel configuration works for any AMD Elan520-based SBCs, but the support +is enhanced for the TS-5500 and TS-5400 models (on-board devices registration +and additional sysfs attributes under /sys/devices/platform/). + +To build the default configuration you only have to: + + $ make ts5500_defconfig + $ make + +You will need a Compact Flash card of sufficient size and the first or only +partition configured as Linux type, with the bootable flag. + +You can transfer the system on the partition then optionally resize it with: + + # dd if=output/images/rootfs.ext4 of=/dev/sdX1 + # resize2fs /dev/sdX1 + +Or you can just extract the root filesystem to the partition with: + + # mount /dev/sdX1 /mnt + # tar -pxf output/images/rootfs.tar -C /mnt + # umount /mnt + +To install the bootloader, you will need to copy the MBR: + + # cat output/images/syslinux/mbr.bin > /dev/sdX + +Then install SYSLINUX in the mounted partition: + + # mount /dev/sdX1 /mnt + # output/host/sbin/extlinux --install /mnt/boot/syslinux + # umount /mnt + +IMPORTANT: In order for the board to boot the Compact Flash with a recent +config, the BIOS must use Logical Block Addressing (LBA). You can do it by +choosing "Ide 0: AUTOCONFIG, LBA" under "IDE DRIVE GEOMETRY" in the "Basic CMOS +Configuration" screen. Also, don't forget to set the 'active' (or 'bootable') +flag on partition 1. For details about the CMOS setup, please see: +https://docs.embeddedts.com/TS-5500#System_BIOS_Setup_Screens + +Connect a terminal program to the rs232 connector marked "COM2" +with baudrate set to 115200, insert the Compact Flash card into the socket, +power up the board, and enjoy. diff --git a/board/technologic/ts5x00/linux-3.17.config b/board/technologic/ts5x00/linux-3.17.config deleted file mode 100644 index 60cd8a0fe3b..00000000000 --- a/board/technologic/ts5x00/linux-3.17.config +++ /dev/null @@ -1,113 +0,0 @@ -CONFIG_PARTITION_ADVANCED=y -# CONFIG_X86_EXTENDED_PLATFORM is not set -CONFIG_MELAN=y -CONFIG_X86_GENERIC=y -CONFIG_X86_REBOOTFIXUPS=y -CONFIG_NOHIGHMEM=y -# CONFIG_COMPACTION is not set -# CONFIG_BOUNCE is not set -# CONFIG_CROSS_MEMORY_ATTACH is not set -# CONFIG_RELOCATABLE is not set -# CONFIG_SUSPEND is not set -# CONFIG_ACPI is not set -CONFIG_CPU_IDLE=y -CONFIG_TS5500=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -# CONFIG_INET_LRO is not set -# CONFIG_INET_DIAG is not set -# CONFIG_IPV6 is not set -# CONFIG_WIRELESS is not set -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -# CONFIG_BLK_DEV is not set -CONFIG_BLK_DEV_SD=y -# CONFIG_SCSI_LOWLEVEL is not set -CONFIG_ATA=y -# CONFIG_ATA_VERBOSE_ERROR is not set -# CONFIG_SATA_PMP is not set -CONFIG_ATA_GENERIC=y -CONFIG_PATA_LEGACY=y -CONFIG_NETDEVICES=y -# CONFIG_NET_CORE is not set -# CONFIG_NET_VENDOR_3COM is not set -# CONFIG_NET_VENDOR_ADAPTEC is not set -# CONFIG_NET_VENDOR_ALTEON is not set -# CONFIG_NET_VENDOR_AMD is not set -# CONFIG_NET_VENDOR_ARC is not set -# CONFIG_NET_VENDOR_ATHEROS is not set -# CONFIG_NET_VENDOR_BROADCOM is not set -# CONFIG_NET_VENDOR_BROCADE is not set -# CONFIG_NET_VENDOR_CHELSIO is not set -# CONFIG_NET_VENDOR_CISCO is not set -CONFIG_NET_TULIP=y -CONFIG_DM9102=y -# CONFIG_NET_VENDOR_DLINK is not set -# CONFIG_NET_VENDOR_EMULEX is not set -# CONFIG_NET_VENDOR_EXAR is not set -# CONFIG_NET_VENDOR_HP is not set -# CONFIG_NET_VENDOR_INTEL is not set -# CONFIG_NET_VENDOR_MARVELL is not set -# CONFIG_NET_VENDOR_MELLANOX is not set -# CONFIG_NET_VENDOR_MICREL is not set -# CONFIG_NET_VENDOR_MYRI is not set -# CONFIG_NET_VENDOR_NATSEMI is not set -# CONFIG_NET_VENDOR_NVIDIA is not set -# CONFIG_NET_VENDOR_OKI is not set -# CONFIG_NET_PACKET_ENGINE is not set -# CONFIG_NET_VENDOR_QLOGIC is not set -# CONFIG_NET_VENDOR_REALTEK is not set -# CONFIG_NET_VENDOR_RDC is not set -# CONFIG_NET_VENDOR_SEEQ is not set -# CONFIG_NET_VENDOR_SILAN is not set -# CONFIG_NET_VENDOR_SIS is not set -# CONFIG_NET_VENDOR_SMSC is not set -# CONFIG_NET_VENDOR_STMICRO is not set -# CONFIG_NET_VENDOR_SUN is not set -# CONFIG_NET_VENDOR_TEHUTI is not set -# CONFIG_NET_VENDOR_TI is not set -# CONFIG_NET_VENDOR_VIA is not set -# CONFIG_NET_VENDOR_WIZNET is not set -CONFIG_PHYLIB=y -CONFIG_DAVICOM_PHY=y -# CONFIG_WLAN is not set -# CONFIG_INPUT_MOUSEDEV is not set -# CONFIG_INPUT_KEYBOARD is not set -# CONFIG_INPUT_MOUSE is not set -# CONFIG_SERIO is not set -CONFIG_SERIAL_8250=y -# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set -CONFIG_SERIAL_8250_CONSOLE=y -# CONFIG_HW_RANDOM is not set -CONFIG_GPIOLIB=y -CONFIG_GPIO_TS5500=y -CONFIG_SENSORS_MAX197=y -CONFIG_WATCHDOG=y -CONFIG_SC520_WDT=y -CONFIG_USB=y -CONFIG_USB_OHCI_HCD=y -CONFIG_USB_SERIAL=y -CONFIG_USB_SERIAL_FTDI_SIO=y -CONFIG_USB_SERIAL_PL2303=y -# CONFIG_X86_PLATFORM_DEVICES is not set -# CONFIG_IOMMU_SUPPORT is not set -# CONFIG_DMIID is not set -CONFIG_EXT4_FS=y -# CONFIG_DNOTIFY is not set -# CONFIG_INOTIFY_USER is not set -CONFIG_VFAT_FS=y -CONFIG_TMPFS=y -# CONFIG_MISC_FILESYSTEMS is not set -# CONFIG_NETWORK_FILESYSTEMS is not set -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_CODEPAGE_850=y -CONFIG_NLS_ISO8859_1=y -CONFIG_NLS_ISO8859_15=y -CONFIG_NLS_UTF8=y -# CONFIG_VIRTUALIZATION is not set -CONFIG_XZ_DEC=y diff --git a/board/technologic/ts5x00/readme.txt b/board/technologic/ts5x00/readme.txt deleted file mode 100644 index 1e506829809..00000000000 --- a/board/technologic/ts5x00/readme.txt +++ /dev/null @@ -1,52 +0,0 @@ -Technologic Systems TS-5x00 SBCs -================================ - -This document explains how to set up a basic Buildroot system for the -Technologic Systems TS-5x00 serie of x86-based Single Board Computers. - -TS-5x00 Single Board Computers are based on the AMD Elan520 processor. For more -information please have a look at http://wiki.embeddedarm.com/wiki/#AMD - -The kernel configuration works for any AMD Elan520-based SBCs, but the support -is enhanced for the TS-5500 and TS-5400 models (on-board devices registration -and additional sysfs attributes under /sys/devices/platform/). - -To build the default configuration you only have to: - - $ make ts5x00_defconfig - $ make - -You will need a Compact Flash card of sufficient size and the first or only -partition configured as Linux type, with the bootable flag. - -You can transfer the system on the partition then optionally resize it with: - - # dd if=output/images/rootfs.ext4 of=/dev/sdX1 - # resize2fs /dev/sdX1 - -Or you can just extract the root filesystem to the partition with: - - # mount /dev/sdX1 /mnt - # tar -pxf output/images/rootfs.tar -C /mnt - # umount /mnt - -To install the bootloader, you will need to copy the MBR: - - # cat output/images/syslinux/mbr.bin > /dev/sdX - -Then install SYSLINUX in the mounted partition: - - # mount /dev/sdX1 /mnt - # output/host/sbin/extlinux --install /mnt/boot/syslinux - # umount /mnt - -IMPORTANT: In order for the board to boot the Compact Flash with a recent -config, the BIOS must use Logical Block Addressing (LBA). You can do it by -choosing "Ide 0: AUTOCONFIG, LBA" under "IDE DRIVE GEOMETRY" in the "Basic CMOS -Configuration" screen. Also, don't forget to set the 'active' (or 'bootable') -flag on partition 1. For details about the CMOS setup, please see: -http://wiki.embeddedarm.com/wiki/TS-5500#System_BIOS_Setup_Screens - -Connect a terminal program to the rs232 connector marked "COM2" -with baudrate set to 115200, insert the Compact Flash card into the socket, -power up the board, and enjoy. diff --git a/board/technologic/ts7680/genimage.cfg b/board/technologic/ts7680/genimage.cfg deleted file mode 100644 index b5599823dca..00000000000 --- a/board/technologic/ts7680/genimage.cfg +++ /dev/null @@ -1,14 +0,0 @@ -image sdcard.img { - hdimage { - } - - partition unused { - size = 512B - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 256M - } -} diff --git a/board/technologic/ts7680/readme.txt b/board/technologic/ts7680/readme.txt deleted file mode 100644 index 4ddd4915b5a..00000000000 --- a/board/technologic/ts7680/readme.txt +++ /dev/null @@ -1,51 +0,0 @@ -Technologic Systems TS-7680 SBC -=============================== - -This document explains how to set up a basic Buildroot system for -the Technologic Systems TS-7680 Single Board Computer. - -The TS-7680 SBC is based on the Freescale i.MX286 ARM ARM926EJ-S -running at 454MHz. The TS-7680 features are 10/100 Ethernet ports, -Wi-Fi, microSD card, eMMC, NOR Flash, USB host port, CAN ports, -relays and ADC/DAC. More details on the board here: -https://wiki.embeddedarm.com/wiki/TS-7680 - -The TS-7680 uses a 3.14.28 Linux kernel provided by -Technologic Systems. - -To build the default configuration you only have to run: - - $ make ts7680_defconfig - $ make - -The output looks like: -output/images -├── imx28-ts7680.dtb -├── rootfs.ext2 -├── rootfs.ext4 -> rootfs.ext2 -├── rootfs.tar -├── sdcard.img -└── uImage - -The provided genimage configuration generates an image file containing -two partitions. The first one is unused, but mandatory as the -TS-7680 built-in bootloader loads the Linux uImage from the /boot -directory in the second partition. The second partition contains the -rootfs with the Linux uImage into the /boot directory. - - $ fdisk output/images/sdcard.img - output/images/sdcard.img1 1 1 1 512B 0 Empty - output/images/sdcard.img2 2 524289 524288 256M 83 Linux - -This image can be directly written to an SD card. - - $ sudo dd if=output/images/sdcard.img of=/dev/mmcblk0 - -To boot with Buildroot, insert this SD card on the board, make sure -the SD jumper is present and the U-Boot jumper is not. - -The bootloader comes pre-flashed on the board on an SPI flash. Since -updating the bootloader is risky and not trivial, it is not included -in the Buildroot defconfig. Refer to -https://wiki.embeddedarm.com/wiki/TS-7680#U-Boot for details on -which U-Boot config to use and how to flash it. diff --git a/board/telit/evk-pro3/barebox.fragment b/board/telit/evk-pro3/barebox.fragment deleted file mode 100644 index 750ad19cd85..00000000000 --- a/board/telit/evk-pro3/barebox.fragment +++ /dev/null @@ -1,2 +0,0 @@ -CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_AT91SAM9X=y diff --git a/board/telit/evk-pro3/linux.fragment b/board/telit/evk-pro3/linux.fragment deleted file mode 100644 index d22fe8f4e42..00000000000 --- a/board/telit/evk-pro3/linux.fragment +++ /dev/null @@ -1,3 +0,0 @@ -CONFIG_KERNEL_LZO=y -CONFIG_GPIO_SYSFS=y -CONFIG_UBIFS_FS=y diff --git a/board/telit/evk-pro3/patches/barebox/0001-watchdog-add-keep-alive-support.patch b/board/telit/evk-pro3/patches/barebox/0001-watchdog-add-keep-alive-support.patch deleted file mode 100644 index 80bd459b562..00000000000 --- a/board/telit/evk-pro3/patches/barebox/0001-watchdog-add-keep-alive-support.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 76e2b190803484db033153fe8a97b381a567ed25 Mon Sep 17 00:00:00 2001 -From: Jean-Christophe PLAGNIOL-VILLARD -Date: Wed, 14 Nov 2012 19:16:35 +0800 -Subject: [PATCH 1/4] watchdog: add keep alive support - -this will allow to ping the watchdog via poller - -Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD -Signed-off-by: Fabio Porcedda ---- - drivers/watchdog/Kconfig | 1 + - drivers/watchdog/wd_core.c | 25 +++++++++++++++++++++++++ - include/watchdog.h | 2 ++ - 3 files changed, 28 insertions(+) - -diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig -index 63fb1a8c5..7ebff89b9 100644 ---- a/drivers/watchdog/Kconfig -+++ b/drivers/watchdog/Kconfig -@@ -4,6 +4,7 @@ config WATCHDOG_IMX_RESET_SOURCE - - menuconfig WATCHDOG - bool "Watchdog support" -+ select GENERIC_POLLER - help - Many platforms support a watchdog to keep track of a working machine. - This framework provides routines to handle these watchdogs. -diff --git a/drivers/watchdog/wd_core.c b/drivers/watchdog/wd_core.c -index 3a3f51964..52537afef 100644 ---- a/drivers/watchdog/wd_core.c -+++ b/drivers/watchdog/wd_core.c -@@ -18,6 +18,7 @@ - #include - #include - #include -+#include - - static LIST_HEAD(watchdog_list); - -@@ -31,6 +32,20 @@ static const char *watchdog_name(struct watchdog *wd) - return "unknown"; - } - -+static struct watchdog *watchdog_get_default(void); -+ -+static void watchdog_poller_func(struct poller_struct *poller) -+{ -+ struct watchdog *wd = watchdog_get_default(); -+ -+ if (wd) -+ wd->keep_alive(wd); -+} -+ -+static struct poller_struct watchdog_poller = { -+ .func = watchdog_poller_func, -+}; -+ - int watchdog_register(struct watchdog *wd) - { - if (!wd->priority) -@@ -41,6 +56,16 @@ int watchdog_register(struct watchdog *wd) - pr_debug("registering watchdog %s with priority %d\n", watchdog_name(wd), - wd->priority); - -+ -+ if (wd->keep_alive) { -+ int ret; -+ -+ ret = poller_register(&watchdog_poller); -+ if (ret) { -+ return ret; -+ } -+ } -+ - return 0; - } - EXPORT_SYMBOL(watchdog_register); -diff --git a/include/watchdog.h b/include/watchdog.h -index 3e8a487a4..a2660c2e0 100644 ---- a/include/watchdog.h -+++ b/include/watchdog.h -@@ -13,12 +13,14 @@ - #ifndef INCLUDE_WATCHDOG_H - # define INCLUDE_WATCHDOG_H - -+ - struct watchdog { - int (*set_timeout)(struct watchdog *, unsigned); - const char *name; - struct device_d *dev; - unsigned int priority; - struct list_head list; -+ void (*keep_alive)(struct watchdog *); - }; - - #ifdef CONFIG_WATCHDOG --- -2.12.0 - diff --git a/board/telit/evk-pro3/patches/barebox/0002-watchdog-add-at91sam9-watchdog-support.patch b/board/telit/evk-pro3/patches/barebox/0002-watchdog-add-at91sam9-watchdog-support.patch deleted file mode 100644 index b97c126954c..00000000000 --- a/board/telit/evk-pro3/patches/barebox/0002-watchdog-add-at91sam9-watchdog-support.patch +++ /dev/null @@ -1,237 +0,0 @@ -From 24d99ffc4b22e45721e74bfc10717cc5bacdbfc4 Mon Sep 17 00:00:00 2001 -From: Jean-Christophe PLAGNIOL-VILLARD -Date: Wed, 14 Nov 2012 19:17:47 +0800 -Subject: [PATCH 2/4] watchdog: add at91sam9 watchdog support - -with keep alive support - -Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD -Signed-off-by: Fabio Porcedda ---- - drivers/watchdog/Kconfig | 8 +++ - drivers/watchdog/Makefile | 1 + - drivers/watchdog/at91sam9_wdt.c | 131 ++++++++++++++++++++++++++++++++++++++++ - drivers/watchdog/at91sam9_wdt.h | 38 ++++++++++++ - 4 files changed, 178 insertions(+) - create mode 100644 drivers/watchdog/at91sam9_wdt.c - create mode 100644 drivers/watchdog/at91sam9_wdt.h - -diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig -index 7ebff89b9..479e737f0 100644 ---- a/drivers/watchdog/Kconfig -+++ b/drivers/watchdog/Kconfig -@@ -11,12 +11,20 @@ menuconfig WATCHDOG - - if WATCHDOG - -+config WATCHDOG_AT91SAM9X -+ tristate "AT91SAM9X / AT91CAP9 watchdog" -+ depends on ARCH_AT91 -+ help -+ Watchdog timer embedded into AT91SAM9X and AT91CAP9 chips. This will -+ reboot your system when the timeout is reached. -+ - config WATCHDOG_DAVINCI - bool "TI Davinci" - depends on ARCH_DAVINCI - help - Add support for watchdog on the TI Davinci SoC. - -+ - config WATCHDOG_DW - bool "Synopsys DesignWare watchdog" - select RESET_CONTROLLER -diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile -index 5fca4c368..245a5c84a 100644 ---- a/drivers/watchdog/Makefile -+++ b/drivers/watchdog/Makefile -@@ -1,4 +1,5 @@ - obj-$(CONFIG_WATCHDOG) += wd_core.o -+obj-$(CONFIG_WATCHDOG_AT91SAM9X) += at91sam9_wdt.o - obj-$(CONFIG_WATCHDOG_DAVINCI) += davinci_wdt.o - obj-$(CONFIG_WATCHDOG_OMAP) += omap_wdt.o - obj-$(CONFIG_WATCHDOG_MXS28) += im28wd.o -diff --git a/drivers/watchdog/at91sam9_wdt.c b/drivers/watchdog/at91sam9_wdt.c -new file mode 100644 -index 000000000..203d83aff ---- /dev/null -+++ b/drivers/watchdog/at91sam9_wdt.c -@@ -0,0 +1,131 @@ -+/* -+ * (c) 2012 Juergen Beisert -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * Note: this driver works for the i.MX28 SoC. It might work for the -+ * i.MX23 Soc as well, but is not tested yet. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "at91sam9_wdt.h" -+ -+struct at91sam9_wdt { -+ struct watchdog wdt; -+ void __iomem *base; -+}; -+ -+#define to_at91sam9_wdt(h) container_of(h, struct at91sam9_wdt, wdt) -+ -+#define wdt_read(at91wdt, field) \ -+ __raw_readl(at91wdt->base + field) -+#define wdt_write(at91wdt, field, val) \ -+ __raw_writel((val), at91wdt->base + field) -+ -+static void at91sam9_wdt_keep_alive(struct watchdog *wdt) -+{ -+ struct at91sam9_wdt *at91wdt = to_at91sam9_wdt(wdt); -+ -+ wdt_write(at91wdt, AT91_WDT_CR, AT91_WDT_KEY | AT91_WDT_WDRSTT); -+} -+ -+static int at91sam9_wdt_settimeout(struct watchdog *wdt, unsigned int timeout) -+{ -+ struct at91sam9_wdt *at91wdt = to_at91sam9_wdt(wdt); -+ unsigned int reg; -+ unsigned int mr; -+ -+ /* Check if disabled */ -+ mr = wdt_read(at91wdt, AT91_WDT_MR); -+ if (mr & AT91_WDT_WDDIS) { -+ pr_err("sorry, watchdog is disabled\n"); -+ return -EIO; -+ } -+ -+ if (!timeout) { -+ wdt_write(at91wdt, AT91_WDT_MR, AT91_WDT_WDDIS); -+ return 0; -+ } -+ -+ /* -+ * All counting occurs at SLOW_CLOCK / 128 = 256 Hz -+ * -+ * Since WDV is a 12-bit counter, the maximum period is -+ * 4096 / 256 = 16 seconds. -+ */ -+ reg = AT91_WDT_WDRSTEN /* causes watchdog reset */ -+ /* | AT91_WDT_WDRPROC causes processor reset only */ -+ | AT91_WDT_WDDBGHLT /* disabled in debug mode */ -+ | AT91_WDT_WDD /* restart at any time */ -+ | (timeout & AT91_WDT_WDV); /* timer value */ -+ wdt_write(at91wdt, AT91_WDT_MR, reg); -+ -+ return 0; -+} -+ -+static int at91sam9_wdt_probe(struct device_d *dev) -+{ -+ struct at91sam9_wdt *priv; -+ struct watchdog *wdt; -+ int ret; -+ unsigned int mr; -+ -+ priv = xzalloc(sizeof(struct at91sam9_wdt)); -+ priv->base = dev_request_mem_region(dev, 0); -+ wdt = &priv->wdt; -+ -+ wdt->set_timeout = at91sam9_wdt_settimeout; -+ wdt->keep_alive = at91sam9_wdt_keep_alive; -+ -+ /* Check if disabled */ -+ mr = wdt_read(priv, AT91_WDT_MR); -+ if (mr & AT91_WDT_WDDIS) { -+ dev_err(dev, "sorry, watchdog is disabled\n"); -+ ret = -EIO; -+ goto err; -+ } -+ -+ ret = watchdog_register(wdt); -+ if (ret != 0) -+ goto err; -+ -+ dev->priv = priv; -+ return 0; -+ -+err: -+ free(priv); -+ return ret; -+} -+ -+static void at91sam9_wdt_remove(struct device_d *dev) -+{ -+ struct at91sam9_wdt *priv= dev->priv; -+ watchdog_deregister(&priv->wdt); -+ free(priv); -+} -+ -+static struct driver_d at91sam9_wdt_driver = { -+ .name = "at91sam9_wdt", -+ .probe = at91sam9_wdt_probe, -+ .remove = at91sam9_wdt_remove, -+}; -+ -+static int at91sam9_wdt_init(void) -+{ -+ return platform_driver_register(&at91sam9_wdt_driver); -+} -+coredevice_initcall(at91sam9_wdt_init); -diff --git a/drivers/watchdog/at91sam9_wdt.h b/drivers/watchdog/at91sam9_wdt.h -new file mode 100644 -index 000000000..2b68c1a2a ---- /dev/null -+++ b/drivers/watchdog/at91sam9_wdt.h -@@ -0,0 +1,38 @@ -+/* -+ * drivers/watchdog/at91sam9_wdt.h -+ * -+ * Copyright (C) 2007 Andrew Victor -+ * Copyright (C) 2007 Atmel Corporation. -+ * -+ * Watchdog Timer (WDT) - System peripherals regsters. -+ * Based on AT91SAM9261 datasheet revision D. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ */ -+ -+#ifndef AT91_WDT_H -+#define AT91_WDT_H -+ -+#define AT91_WDT_CR 0x00 /* Watchdog Control Register */ -+#define AT91_WDT_WDRSTT (1 << 0) /* Restart */ -+#define AT91_WDT_KEY (0xa5 << 24) /* KEY Password */ -+ -+#define AT91_WDT_MR 0x04 /* Watchdog Mode Register */ -+#define AT91_WDT_WDV (0xfff << 0) /* Counter Value */ -+#define AT91_WDT_WDFIEN (1 << 12) /* Fault Interrupt Enable */ -+#define AT91_WDT_WDRSTEN (1 << 13) /* Reset Processor */ -+#define AT91_WDT_WDRPROC (1 << 14) /* Timer Restart */ -+#define AT91_WDT_WDDIS (1 << 15) /* Watchdog Disable */ -+#define AT91_WDT_WDD (0xfff << 16) /* Delta Value */ -+#define AT91_WDT_WDDBGHLT (1 << 28) /* Debug Halt */ -+#define AT91_WDT_WDIDLEHLT (1 << 29) /* Idle Halt */ -+ -+#define AT91_WDT_SR 0x08 /* Watchdog Status Register */ -+#define AT91_WDT_WDUNF (1 << 0) /* Watchdog Underflow */ -+#define AT91_WDT_WDERR (1 << 1) /* Watchdog Error */ -+ -+ -+#endif --- -2.12.0 - diff --git a/board/telit/evk-pro3/patches/barebox/0003-at91sam9260-9g20-add-wathdog-support.patch b/board/telit/evk-pro3/patches/barebox/0003-at91sam9260-9g20-add-wathdog-support.patch deleted file mode 100644 index 6f4efaba1eb..00000000000 --- a/board/telit/evk-pro3/patches/barebox/0003-at91sam9260-9g20-add-wathdog-support.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 60110b93a5cbc6ec3d92035d9daf86a30a7fd791 Mon Sep 17 00:00:00 2001 -From: Jean-Christophe PLAGNIOL-VILLARD -Date: Wed, 14 Nov 2012 19:18:22 +0800 -Subject: [PATCH 3/4] at91sam9260/9g20: add wathdog support - -Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD -Signed-off-by: Fabio Porcedda ---- - arch/arm/mach-at91/at91sam9260_devices.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c -index 67c4ea860..51852a9a8 100644 ---- a/arch/arm/mach-at91/at91sam9260_devices.c -+++ b/arch/arm/mach-at91/at91sam9260_devices.c -@@ -400,6 +400,17 @@ void at91_add_device_mci(short mmc_id, struct atmel_mci_platform_data *data) - void at91_add_device_mci(short mmc_id, struct atmel_mci_platform_data *data) {} - #endif - -+#ifdef CONFIG_WATCHDOG_AT91SAM9X -+static int at91_add_device_watchdog(void) -+{ -+ add_generic_device("at91sam9_wdt", DEVICE_ID_SINGLE, NULL, -+ AT91_WDT + AT91_BASE_SYS, 16, IORESOURCE_MEM, NULL); -+ -+ return 0; -+} -+coredevice_initcall(at91_add_device_watchdog); -+#endif -+ - static int at91_fixup_device(void) - { - at91_rtt_irq_fixup(IOMEM(AT91SAM9260_BASE_RTT)); --- -2.12.0 - diff --git a/board/telit/evk-pro3/patches/barebox/0004-at91sam9260-9g20-fix-wathdog-support.patch b/board/telit/evk-pro3/patches/barebox/0004-at91sam9260-9g20-fix-wathdog-support.patch deleted file mode 100644 index edc1ea4d5b8..00000000000 --- a/board/telit/evk-pro3/patches/barebox/0004-at91sam9260-9g20-fix-wathdog-support.patch +++ /dev/null @@ -1,26 +0,0 @@ -From d8231b1726a020733d87c2685ec1631403e050cf Mon Sep 17 00:00:00 2001 -From: Fabio Porcedda -Date: Thu, 17 Jan 2013 11:32:35 +0100 -Subject: [PATCH 4/4] at91sam9260/9g20: fix wathdog support - -Signed-off-by: Fabio Porcedda ---- - arch/arm/mach-at91/at91sam9260_devices.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c -index 51852a9a8..20c8cac9d 100644 ---- a/arch/arm/mach-at91/at91sam9260_devices.c -+++ b/arch/arm/mach-at91/at91sam9260_devices.c -@@ -404,7 +404,7 @@ void at91_add_device_mci(short mmc_id, struct atmel_mci_platform_data *data) {} - static int at91_add_device_watchdog(void) - { - add_generic_device("at91sam9_wdt", DEVICE_ID_SINGLE, NULL, -- AT91_WDT + AT91_BASE_SYS, 16, IORESOURCE_MEM, NULL); -+ AT91_BASE_WDT, 16, IORESOURCE_MEM, NULL); - - return 0; - } --- -2.12.0 - diff --git a/board/telit/evk-pro3/patches/linux/0001-kernel-add-support-for-gcc-5.patch b/board/telit/evk-pro3/patches/linux/0001-kernel-add-support-for-gcc-5.patch deleted file mode 100644 index 3aba910f8b0..00000000000 --- a/board/telit/evk-pro3/patches/linux/0001-kernel-add-support-for-gcc-5.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 71458cfc782eafe4b27656e078d379a34e472adf Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 13 Oct 2014 15:51:05 -0700 -Subject: [PATCH] kernel: add support for gcc 5 - -We're missing include/linux/compiler-gcc5.h which is required now -because gcc branched off to v5 in trunk. - -Just copy the relevant bits out of include/linux/compiler-gcc4.h, -no new code is added as of now. - -This fixes a build error when using gcc 5. - -Signed-off-by: Sasha Levin -Cc: -Signed-off-by: Andrew Morton -Signed-off-by: Linus Torvalds ---- - include/linux/compiler-gcc5.h | 66 +++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 66 insertions(+) - create mode 100644 include/linux/compiler-gcc5.h - -diff --git a/include/linux/compiler-gcc5.h b/include/linux/compiler-gcc5.h -new file mode 100644 -index 000000000000..cdd1cc202d51 ---- /dev/null -+++ b/include/linux/compiler-gcc5.h -@@ -0,0 +1,66 @@ -+#ifndef __LINUX_COMPILER_H -+#error "Please don't include directly, include instead." -+#endif -+ -+#define __used __attribute__((__used__)) -+#define __must_check __attribute__((warn_unused_result)) -+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) -+ -+/* Mark functions as cold. gcc will assume any path leading to a call -+ to them will be unlikely. This means a lot of manual unlikely()s -+ are unnecessary now for any paths leading to the usual suspects -+ like BUG(), printk(), panic() etc. [but let's keep them for now for -+ older compilers] -+ -+ Early snapshots of gcc 4.3 don't support this and we can't detect this -+ in the preprocessor, but we can live with this because they're unreleased. -+ Maketime probing would be overkill here. -+ -+ gcc also has a __attribute__((__hot__)) to move hot functions into -+ a special section, but I don't see any sense in this right now in -+ the kernel context */ -+#define __cold __attribute__((__cold__)) -+ -+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) -+ -+#ifndef __CHECKER__ -+# define __compiletime_warning(message) __attribute__((warning(message))) -+# define __compiletime_error(message) __attribute__((error(message))) -+#endif /* __CHECKER__ */ -+ -+/* -+ * Mark a position in code as unreachable. This can be used to -+ * suppress control flow warnings after asm blocks that transfer -+ * control elsewhere. -+ * -+ * Early snapshots of gcc 4.5 don't support this and we can't detect -+ * this in the preprocessor, but we can live with this because they're -+ * unreleased. Really, we need to have autoconf for the kernel. -+ */ -+#define unreachable() __builtin_unreachable() -+ -+/* Mark a function definition as prohibited from being cloned. */ -+#define __noclone __attribute__((__noclone__)) -+ -+/* -+ * Tell the optimizer that something else uses this function or variable. -+ */ -+#define __visible __attribute__((externally_visible)) -+ -+/* -+ * GCC 'asm goto' miscompiles certain code sequences: -+ * -+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 -+ * -+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. -+ * Fixed in GCC 4.8.2 and later versions. -+ * -+ * (asm goto is automatically volatile - the naming reflects this.) -+ */ -+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) -+ -+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP -+#define __HAVE_BUILTIN_BSWAP32__ -+#define __HAVE_BUILTIN_BSWAP64__ -+#define __HAVE_BUILTIN_BSWAP16__ -+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ --- -2.12.2 - diff --git a/board/telit/evk-pro3/patches/linux/0002-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch b/board/telit/evk-pro3/patches/linux/0002-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch deleted file mode 100644 index 00de10988b7..00000000000 --- a/board/telit/evk-pro3/patches/linux/0002-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch +++ /dev/null @@ -1,52 +0,0 @@ -From aeea3592a13bf12861943e44fc48f1f270941f8d Mon Sep 17 00:00:00 2001 -From: Behan Webster -Date: Wed, 24 Sep 2014 01:06:46 +0100 -Subject: [PATCH] ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h - -With compilers which follow the C99 standard (like modern versions of gcc and -clang), "extern inline" does the wrong thing (emits code for an externally -linkable version of the inline function). In this case using static inline -and removing the NULL version of return_address in return_address.c does -the right thing. - -Signed-off-by: Behan Webster -Reviewed-by: Mark Charlebois -Acked-by: Steven Rostedt -Signed-off-by: Russell King ---- - arch/arm/include/asm/ftrace.h | 2 +- - arch/arm/kernel/return_address.c | 5 ----- - 2 files changed, 1 insertion(+), 6 deletions(-) - -diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h -index 39eb16b0066f..bfe2a2f5a644 100644 ---- a/arch/arm/include/asm/ftrace.h -+++ b/arch/arm/include/asm/ftrace.h -@@ -45,7 +45,7 @@ void *return_address(unsigned int); - - #else - --extern inline void *return_address(unsigned int level) -+static inline void *return_address(unsigned int level) - { - return NULL; - } -diff --git a/arch/arm/kernel/return_address.c b/arch/arm/kernel/return_address.c -index fafedd86885d..f6aa84d5b93c 100644 ---- a/arch/arm/kernel/return_address.c -+++ b/arch/arm/kernel/return_address.c -@@ -63,11 +63,6 @@ void *return_address(unsigned int level) - #warning "TODO: return_address should use unwind tables" - #endif - --void *return_address(unsigned int level) --{ -- return NULL; --} -- - #endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */ - - EXPORT_SYMBOL_GPL(return_address); --- -2.12.2 - diff --git a/board/telit/evk-pro3/readme.txt b/board/telit/evk-pro3/readme.txt deleted file mode 100644 index ace9dd4c17a..00000000000 --- a/board/telit/evk-pro3/readme.txt +++ /dev/null @@ -1,28 +0,0 @@ -Buildroot board support for Telit EVK-PRO3 with Telit GE863-PRO3 - -Official site: - http://www.telit.com/en/products.php?p_id=3&p_ac=show&p=10 - -Build images: - make telit_evk_pro3_defconfig - make - - images built: - - output/images/barebox.bin - - output/images/zImage - - output/images/rootfs.ubi - - -Flash built images: - The first time you need to bootstrap from Telit Official Release 221.07.1007, - at the U-Boot prompt type: - U-Boot> loadb - send buildroot/output/images/barebox.bin - U-Boot> go 0x20200000 - - flash updated images using barebox through tftp: - barebox:/ erase dev/self0; cp /mnt/tftp/barebox.bin /dev/self0 - barebox:/ erase /dev/nand0.kernel.bb; cp /mnt/tftp/zImage /dev/nand0.kernel.bb - barebox:/ erase /dev/nand0.rootfs.bb; cp /mnt/tftp/rootfs.ubi /dev/nand0.rootfs.bb - barebox:/ erase dev/env0 - barebox:/ reset diff --git a/board/terasic/de10nano_cyclone5/barebox-env/boot/mmc b/board/terasic/de10nano_cyclone5/barebox-env/boot/mmc new file mode 100644 index 00000000000..6cf307b80b0 --- /dev/null +++ b/board/terasic/de10nano_cyclone5/barebox-env/boot/mmc @@ -0,0 +1,9 @@ +#!/bin/sh + +# shellcheck disable=SC2276 +global.bootm.oftree="/boot/socfpga_cyclone5_de0_nano_soc.dtb" +global.bootm.image="/boot/zImage" + +#bootargs-ip + +global.linux.bootargs.dyn.root="root=/dev/mmcblk0p3 rw rootwait" diff --git a/board/terasic/de10nano_cyclone5/barebox-env/init/automount b/board/terasic/de10nano_cyclone5/barebox-env/init/automount new file mode 100644 index 00000000000..4092ecbaec3 --- /dev/null +++ b/board/terasic/de10nano_cyclone5/barebox-env/init/automount @@ -0,0 +1,5 @@ +#!/bin/sh + +# SD card slot, first partition +mkdir -p /mnt/mmcblk0p2 +automount -d /mnt/mmcblk0p2 'mount /dev/mmc0.1 /mnt/mmcblk0p2' diff --git a/board/terasic/de10nano_cyclone5/barebox-env/nv/boot.default b/board/terasic/de10nano_cyclone5/barebox-env/nv/boot.default new file mode 100644 index 00000000000..61f529d69a3 --- /dev/null +++ b/board/terasic/de10nano_cyclone5/barebox-env/nv/boot.default @@ -0,0 +1 @@ +mmc diff --git a/board/terasic/de10nano_cyclone5/barebox-env/nv/linux.bootargs.console b/board/terasic/de10nano_cyclone5/barebox-env/nv/linux.bootargs.console new file mode 100644 index 00000000000..476b1fbe49c --- /dev/null +++ b/board/terasic/de10nano_cyclone5/barebox-env/nv/linux.bootargs.console @@ -0,0 +1 @@ +console=ttyS0,115200 diff --git a/board/terasic/de10nano_cyclone5/genimage.cfg b/board/terasic/de10nano_cyclone5/genimage.cfg new file mode 100644 index 00000000000..815e4a1bf3f --- /dev/null +++ b/board/terasic/de10nano_cyclone5/genimage.cfg @@ -0,0 +1,43 @@ +image boot.vfat { + vfat { + file zImage { + image = "zImage" + } + + file socfpga_cyclone5_de0_nano_soc.dtb { + image = "socfpga_cyclone5_de0_nano_soc.dtb" + } + + file barebox.bin { + image = "barebox-socfpga-de10_nano.img" + } + + file barebox.env { + image = "barebox-env" + } + } + + size = 8M +} + +image sdcard.img { + hdimage { + } + + partition spl { + partition-type = 0xa2 + image = "barebox-socfpga-de10_nano-xload.img" + size = 1M + } + + partition boot { + partition-type = 0xc + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + } +} diff --git a/board/terasic/de10nano_cyclone5/readme.txt b/board/terasic/de10nano_cyclone5/readme.txt new file mode 100644 index 00000000000..f9d8fc756a0 --- /dev/null +++ b/board/terasic/de10nano_cyclone5/readme.txt @@ -0,0 +1,41 @@ +Terasic DE10 Nano Development Board + +Intro +===== + +More information about this board can be found here: +https://rocketboards.org/foswiki/Documentation/DE10NanoDevelopmentBoard + +Build +===== + +First, load socrates config for buildroot + + make terasic_de10nano_cyclone5_defconfig + +Build everything + + make + +Following files will be generated in output/images + +. +├── barebox-env +├── barebox-socfpga-de10_nano.img +├── barebox-socfpga-de10_nano-xload.img +├── boot.vfat +├── rootfs.ext2 +├── rootfs.ext4 -> rootfs.ext2 +├── rootfs.tar +├── sdcard.img +├── socfpga_cyclone5_de0_nano_soc.dtb +└── zImage + +Creating bootable SD card +========================= + +Simply invoke + +dd if=output/images/sdcard.img of=/dev/sdX + +Where X is your SD card device (not partition) diff --git a/board/ti/am574x-idk/extlinux.conf b/board/ti/am574x-idk/extlinux.conf new file mode 100644 index 00000000000..4faa8f7eed3 --- /dev/null +++ b/board/ti/am574x-idk/extlinux.conf @@ -0,0 +1,4 @@ +label am5749-idk-buildroot + kernel /zImage + fdtdir / + append console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait diff --git a/board/ti/am574x-idk/genimage.cfg b/board/ti/am574x-idk/genimage.cfg new file mode 100644 index 00000000000..e7ab22f29b5 --- /dev/null +++ b/board/ti/am574x-idk/genimage.cfg @@ -0,0 +1,31 @@ +image boot.vfat { + vfat { + files = { + "MLO", + "u-boot.img", + "zImage", + "ti", + "extlinux" + } + + label = "boot" + } + + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/ti/am574x-idk/patches/linux/linux.hash b/board/ti/am574x-idk/patches/linux/linux.hash new file mode 100644 index 00000000000..020dc72386c --- /dev/null +++ b/board/ti/am574x-idk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 f4855f382c1b735c84072bdef36db5bcd5dc7b0c37e42f5104317149a0a486ef linux-6.18.18.tar.xz diff --git a/board/ti/am574x-idk/patches/uboot/uboot.hash b/board/ti/am574x-idk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..36322a6a904 --- /dev/null +++ b/board/ti/am574x-idk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 ac7c04b8b7004923b00a4e5d6699c5df4d21233bac9fda690d8cfbc209fff2fd u-boot-2026.04.tar.bz2 diff --git a/board/ti/am574x-idk/post-build.sh b/board/ti/am574x-idk/post-build.sh new file mode 100755 index 00000000000..5dcdb352eb3 --- /dev/null +++ b/board/ti/am574x-idk/post-build.sh @@ -0,0 +1,4 @@ +#!/bin/sh +BOARD_DIR="$(dirname "$0")" + +install -m 0644 -D "${BOARD_DIR}"/extlinux.conf "${BINARIES_DIR}"/extlinux/extlinux.conf diff --git a/board/ti/am574x-idk/readme.txt b/board/ti/am574x-idk/readme.txt new file mode 100644 index 00000000000..4869984cf1c --- /dev/null +++ b/board/ti/am574x-idk/readme.txt @@ -0,0 +1,28 @@ +Texas Instuments AM574x IDK Test and Development Board + +Description +=========== + +This configuration will build a basic image for the TI AM574x IDK +board: https://www.ti.com/tool/TMDSIDK574 + +How to build it +=============== + +Configure Buildroot: + + $ make am574x_idk_defconfig + +Compile everything and build the USB flash drive image: + + $ make + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX diff --git a/board/ti/am62ax-sk/genimage.cfg b/board/ti/am62ax-sk/genimage.cfg new file mode 100644 index 00000000000..70d38faa589 --- /dev/null +++ b/board/ti/am62ax-sk/genimage.cfg @@ -0,0 +1,33 @@ +image boot.vfat { + vfat { + files = { + "tiboot3.bin", + "tispl.bin", + "u-boot.img", + "k3-am62a7-sk.dtb", + "Image" + } + + file extlinux/extlinux.conf { + image = extlinux.conf + } + } + + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/ti/am62ax-sk/linux.config b/board/ti/am62ax-sk/linux.config new file mode 100644 index 00000000000..b0f9d1b7377 --- /dev/null +++ b/board/ti/am62ax-sk/linux.config @@ -0,0 +1,3 @@ +CONFIG_MFD_TPS6594=y +CONFIG_MFD_TPS6594_I2C=y +CONFIG_REGULATOR_TPS6594=y diff --git a/board/ti/am62ax-sk/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/ti/am62ax-sk/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..8b77e1f1653 --- /dev/null +++ b/board/ti/am62ax-sk/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 c0f23ccc71c49989e9ad238acf334473c17b7c88f79a20c829c3d443e3794a22 arm-trusted-firmware-v2.11-git4.tar.gz diff --git a/board/ti/am62ax-sk/patches/linux-headers/linux-headers.hash b/board/ti/am62ax-sk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/ti/am62ax-sk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/ti/am62ax-sk/patches/linux/linux.hash b/board/ti/am62ax-sk/patches/linux/linux.hash new file mode 100644 index 00000000000..53eb1438945 --- /dev/null +++ b/board/ti/am62ax-sk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 774698422ee54c5f1e704456f37c65c06b51b4e9a8b0866f34580d86fef8e226 linux-6.10.tar.xz diff --git a/board/ti/am62ax-sk/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash b/board/ti/am62ax-sk/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash new file mode 120000 index 00000000000..b89e91d3e88 --- /dev/null +++ b/board/ti/am62ax-sk/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash @@ -0,0 +1 @@ +../uboot/uboot.hash \ No newline at end of file diff --git a/board/ti/am62ax-sk/patches/uboot/uboot.hash b/board/ti/am62ax-sk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..fe9b4f53dc6 --- /dev/null +++ b/board/ti/am62ax-sk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 f591da9ab90ef3d6b3d173766d0ddff90c4ed7330680897486117df390d83c8f u-boot-2024.07.tar.bz2 diff --git a/board/ti/am62ax-sk/readme.txt b/board/ti/am62ax-sk/readme.txt new file mode 100644 index 00000000000..d7d529c180b --- /dev/null +++ b/board/ti/am62ax-sk/readme.txt @@ -0,0 +1,39 @@ +Texas Instuments SK-AM62A Test and Development Board + +Description +=========== + +This configuration will build a complete image for the TI SK-AM62A +board: https://www.ti.com/tool/SK-AM62A-LP + +How to Build +============ + +Select the default configuration for the target: + +$ make ti_am62ax_sk_defconfig + +Optional: modify the configuration: + +$ make menuconfig + +IMPORTANT: make sure to use the tiboot3 firmware that match with the TI +K3 SoC boot ROM (tiboot3-am62ax-{gp/hs-fs/hs}-evm.bin) used on the board. +Use the BR2_TARGET_TI_K3_R5_LOADER_TIBOOT3_BIN to name which tiboot3.bin +security variant we want to use. + +Build: + +$ make + +To copy the resultimg output image file to an SD card use dd: + +$ dd if=output/images/sdcard.img of=/dev/sdX bs=1M + +How to Run +========== + +Insert the SD card into the SK-AM62A board, and power it up through the +USB Type-C connector. The system should come up. You can use a +micro-USB cable to connect to the connector labeled UART to +communicate with the board. diff --git a/board/ti/am62px-sk/genimage.cfg b/board/ti/am62px-sk/genimage.cfg new file mode 100644 index 00000000000..b0a1bee8b99 --- /dev/null +++ b/board/ti/am62px-sk/genimage.cfg @@ -0,0 +1,33 @@ +image boot.vfat { + vfat { + files = { + "tiboot3.bin", + "tispl.bin", + "u-boot.img", + "k3-am62p5-sk.dtb", + "Image" + } + + file extlinux/extlinux.conf { + image = extlinux.conf + } + } + + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/ti/am62px-sk/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/ti/am62px-sk/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..8b77e1f1653 --- /dev/null +++ b/board/ti/am62px-sk/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 c0f23ccc71c49989e9ad238acf334473c17b7c88f79a20c829c3d443e3794a22 arm-trusted-firmware-v2.11-git4.tar.gz diff --git a/board/ti/am62px-sk/patches/linux-headers/linux-headers.hash b/board/ti/am62px-sk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/ti/am62px-sk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/ti/am62px-sk/patches/linux/linux.hash b/board/ti/am62px-sk/patches/linux/linux.hash new file mode 100644 index 00000000000..53eb1438945 --- /dev/null +++ b/board/ti/am62px-sk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 774698422ee54c5f1e704456f37c65c06b51b4e9a8b0866f34580d86fef8e226 linux-6.10.tar.xz diff --git a/board/ti/am62px-sk/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash b/board/ti/am62px-sk/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash new file mode 120000 index 00000000000..b89e91d3e88 --- /dev/null +++ b/board/ti/am62px-sk/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash @@ -0,0 +1 @@ +../uboot/uboot.hash \ No newline at end of file diff --git a/board/ti/am62px-sk/patches/uboot/uboot.hash b/board/ti/am62px-sk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..fe9b4f53dc6 --- /dev/null +++ b/board/ti/am62px-sk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 f591da9ab90ef3d6b3d173766d0ddff90c4ed7330680897486117df390d83c8f u-boot-2024.07.tar.bz2 diff --git a/board/ti/am62px-sk/readme.txt b/board/ti/am62px-sk/readme.txt new file mode 100644 index 00000000000..a20911c3542 --- /dev/null +++ b/board/ti/am62px-sk/readme.txt @@ -0,0 +1,39 @@ +Texas Instuments SK-AM62P5 Test and Development Board + +Description +=========== + +This configuration will build a complete image for the TI SK-AM62P +board: https://www.ti.com/tool/SK-AM62P. + +How to Build +============ + +Select the default configuration for the target: + +$ make ti_am62px_sk_defconfig + +Optional: modify the configuration: + +$ make menuconfig + +IMPORTANT: make sure to use the tiboot3 firmware that match with the TI +K3 SoC boot ROM (tiboot3-am62px-{hs-fs/hs}-evm.bin) used on the board. +Use the BR2_TARGET_TI_K3_R5_LOADER_TIBOOT3_BIN to name which tiboot3.bin +security variant we want to use. + +Build: + +$ make + +To copy the resultimg output image file to an SD card use dd: + +$ dd if=output/images/sdcard.img of=/dev/sdX bs=1M + +How to Run +========== + +Insert the SD card into the SK-AM62P board, and power it up through the +USB Type-C connector. The system should come up. You can use a +micro-USB cable to connect to the connector labeled UART to +communicate with the board. diff --git a/board/ti/am62x-sk/genimage.cfg b/board/ti/am62x-sk/genimage.cfg new file mode 100644 index 00000000000..398209f4d83 --- /dev/null +++ b/board/ti/am62x-sk/genimage.cfg @@ -0,0 +1,32 @@ +image boot.vfat { + vfat { + files = { + "tiboot3.bin", + "tispl.bin", + "u-boot.img", + "k3-am625-sk.dtb", + "Image" + } + file extlinux/extlinux.conf { + image = extlinux.conf + } + } + + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/ti/am62x-sk/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/ti/am62x-sk/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..8b77e1f1653 --- /dev/null +++ b/board/ti/am62x-sk/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 c0f23ccc71c49989e9ad238acf334473c17b7c88f79a20c829c3d443e3794a22 arm-trusted-firmware-v2.11-git4.tar.gz diff --git a/board/ti/am62x-sk/patches/linux-headers/linux-headers.hash b/board/ti/am62x-sk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/ti/am62x-sk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/ti/am62x-sk/patches/linux/linux.hash b/board/ti/am62x-sk/patches/linux/linux.hash new file mode 100644 index 00000000000..ad4ad8db13f --- /dev/null +++ b/board/ti/am62x-sk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 c92591d896e79ecddbc3319136f0c2f855e832b397de7593f013ad7590a43e53 linux-6.12.80.tar.xz diff --git a/board/ti/am62x-sk/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash b/board/ti/am62x-sk/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash new file mode 120000 index 00000000000..b89e91d3e88 --- /dev/null +++ b/board/ti/am62x-sk/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash @@ -0,0 +1 @@ +../uboot/uboot.hash \ No newline at end of file diff --git a/board/ti/am62x-sk/patches/uboot/uboot.hash b/board/ti/am62x-sk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..36322a6a904 --- /dev/null +++ b/board/ti/am62x-sk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 ac7c04b8b7004923b00a4e5d6699c5df4d21233bac9fda690d8cfbc209fff2fd u-boot-2026.04.tar.bz2 diff --git a/board/ti/am62x-sk/readme.txt b/board/ti/am62x-sk/readme.txt new file mode 100644 index 00000000000..a8d0c08dc0e --- /dev/null +++ b/board/ti/am62x-sk/readme.txt @@ -0,0 +1,50 @@ +Texas Instuments SK-AM62 Test and Development Board + +Description +=========== + +This configuration will build a complete image for the TI SK-AM62 +board: https://www.ti.com/tool/SK-AM62. + +How to Build +============ + +Select the default configuration for the target: + +$ make ti_am62x_sk_defconfig + +Optional: modify the configuration: + +$ make menuconfig + +IMPORTANT: make sure to use the tiboot3 firmware that match with the TI +K3 SoC boot ROM (tiboot3-am62x-{gp/hs-fs/hs}-*.bin) used on the board. + +HS-FS should be the default for all TI AM6x devices but earlier version +of TI starter kit EVMs for AM6x was produced with a GP device. + +See further details on e2e Forum [1] : + + "Unfortunately with this transition any existing GP device based AM62x + (and AM64x) boards will no longer boot with MMC/SD card images generated" + +For such existing GP device based AM62x boards, users have to provide the +tiboot3.bin name using BR2_TARGET_TI_K3_R5_LOADER_TIBOOT3_BIN. + +[1]: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1210443/faq-am625-generating-sitara-am62x-am62ax-am64x-gp-device-bootable-mmc-sd-card-images-using-sdk-v8-6-and-yocto + +Build: + +$ make + +To copy the resultimg output image file to an SD card use dd: + +$ dd if=output/images/sdcard.img of=/dev/sdX bs=1M + +How to Run +========== + +Insert the SD card into the SK-AM62 board, and power it up through the +USB Type-C connector. The system should come up. You can use a +micro-USB cable to connect to the connector labeled UART to +communicate with the board. diff --git a/board/ti/am64x-sk/genimage.cfg b/board/ti/am64x-sk/genimage.cfg new file mode 100644 index 00000000000..88dff8fe23d --- /dev/null +++ b/board/ti/am64x-sk/genimage.cfg @@ -0,0 +1,32 @@ +image boot.vfat { + vfat { + files = { + "tiboot3.bin", + "tispl.bin", + "u-boot.img", + "k3-am642-sk.dtb", + "Image" + } + file extlinux/extlinux.conf { + image = extlinux.conf + } + } + + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/ti/am64x-sk/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/ti/am64x-sk/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..8b77e1f1653 --- /dev/null +++ b/board/ti/am64x-sk/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 c0f23ccc71c49989e9ad238acf334473c17b7c88f79a20c829c3d443e3794a22 arm-trusted-firmware-v2.11-git4.tar.gz diff --git a/board/ti/am64x-sk/patches/linux-headers/linux-headers.hash b/board/ti/am64x-sk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/ti/am64x-sk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/ti/am64x-sk/patches/linux/linux.hash b/board/ti/am64x-sk/patches/linux/linux.hash new file mode 100644 index 00000000000..53eb1438945 --- /dev/null +++ b/board/ti/am64x-sk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 774698422ee54c5f1e704456f37c65c06b51b4e9a8b0866f34580d86fef8e226 linux-6.10.tar.xz diff --git a/board/ti/am64x-sk/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash b/board/ti/am64x-sk/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash new file mode 120000 index 00000000000..b89e91d3e88 --- /dev/null +++ b/board/ti/am64x-sk/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash @@ -0,0 +1 @@ +../uboot/uboot.hash \ No newline at end of file diff --git a/board/ti/am64x-sk/patches/uboot/uboot.hash b/board/ti/am64x-sk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..fe9b4f53dc6 --- /dev/null +++ b/board/ti/am64x-sk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 f591da9ab90ef3d6b3d173766d0ddff90c4ed7330680897486117df390d83c8f u-boot-2024.07.tar.bz2 diff --git a/board/ti/am64x-sk/readme.txt b/board/ti/am64x-sk/readme.txt new file mode 100644 index 00000000000..73215cb5913 --- /dev/null +++ b/board/ti/am64x-sk/readme.txt @@ -0,0 +1,50 @@ +Texas Instuments SK-AM64 Test and Development Board + +Description +=========== + +This configuration will build a complete image for the TI SK-AM64 +board: https://www.ti.com/tool/SK-AM64. + +How to Build +============ + +Select the default configuration for the target: + +$ make am64x_sk_defconfig + +Optional: modify the configuration: + +$ make menuconfig + +IMPORTANT: make sure to use the tiboot3 firmware that match with the TI +K3 SoC boot ROM (tiboot3-am64x-{gp/hs-fs/hs}-*.bin) used on the board. + +HS-FS should be the default for all TI AM6x devices but earlier version +of TI starter kit EVMs for AM6x was produced with a GP device. + +See further details on e2e Forum [1] : + + "Unfortunately with this transition any existing GP device based AM62x + (and AM64x) boards will no longer boot with MMC/SD card images generated" + +For such existing GP device based AM64x boards, users have to provide the +tiboot3.bin name using BR2_TARGET_TI_K3_R5_LOADER_TIBOOT3_BIN. + +[1]: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1210443/faq-am625-generating-sitara-am62x-am62ax-am64x-gp-device-bootable-mmc-sd-card-images-using-sdk-v8-6-and-yocto + +Build: + +$ make + +To copy the resultimg output image file to an SD card use dd: + +$ dd if=output/images/sdcard.img of=/dev/sdX bs=1M + +How to Run +========== + +Insert the SD card into the SK-AM62 board, and power it up through the +USB Type-C connector. The system should come up. You can use a +micro-USB cable to connect to the connector labeled DEBUG CONSOLE to +communicate with the board. diff --git a/board/ti/common/am6xx/post-build.sh b/board/ti/common/am6xx/post-build.sh new file mode 100755 index 00000000000..c32cfe25b29 --- /dev/null +++ b/board/ti/common/am6xx/post-build.sh @@ -0,0 +1,59 @@ +#!/bin/sh +set -eu + +# genimage will need to find the extlinux.conf +# in the binaries directory + +die() { + cat <&2 +Error: $@ + +Usage: ${0} -c -r [-x ] +EOF + exit 1 +} + +o='c:d:l:r:x:' +O='console:,devicetree:,label:,root:,extra-args:' +opts="$(getopt -n "${0##*/}" -o "${o}" -l "${O}" -- "${@}")" +eval set -- "${opts}" +while [ ${#} -gt 0 ]; do + case "${1}" in + (-c|--console) + CONSOLE="${2}"; shift 2 + ;; + (-d|--devicetree) + DEVICETREE="${2}"; shift 2 + ;; + (-l|--label) + LABEL="${2}"; shift 2 + ;; + (-r|--root) + ROOT="${2}"; shift 2 + ;; + (-x|--extra-args) + EXTRA_ARGS="${2}"; shift 2 + ;; + (--) + shift 1; break + ;; + esac +done + +[ -n "${CONSOLE}" ] || die "Missing \`console' argument" +[ -n "${DEVICETREE}" ] || die "Missing \`devicetree' argument" +[ -n "${LABEL}" ] || die "Missing \`label' argument" +[ -n "${ROOT}" ] || die "Missing \`root' argument" +append="console=${CONSOLE} root=${ROOT} rw rootfstype=ext4 rootwait" +if [ -n "${EXTRA_ARGS}" ]; then + append="${append} ${EXTRA_ARGS}" +fi + +mkdir -p "${BINARIES_DIR}" +cat <<-__HEADER_EOF > "${BINARIES_DIR}/extlinux.conf" + label ${LABEL} + kernel /Image + fdtdir / + devicetree /${DEVICETREE} + append ${append} + __HEADER_EOF diff --git a/board/ti/tda4vm-sk/extlinux.conf b/board/ti/tda4vm-sk/extlinux.conf new file mode 100644 index 00000000000..582d510b5d4 --- /dev/null +++ b/board/ti/tda4vm-sk/extlinux.conf @@ -0,0 +1,5 @@ +default buildroot +label buildroot + kernel /Image + devicetreedir / +append root=/dev/mmcblk1p2 rootwait rw console=ttyS2,115200n8 diff --git a/board/ti/tda4vm-sk/genimage.cfg b/board/ti/tda4vm-sk/genimage.cfg new file mode 100644 index 00000000000..b5ba2d21db5 --- /dev/null +++ b/board/ti/tda4vm-sk/genimage.cfg @@ -0,0 +1,33 @@ +image boot.vfat { + vfat { + files = { + "sysfw.itb", + "tiboot3.bin", + "tispl.bin", + "u-boot.img", + "Image", + "ti", + "extlinux", + } + + label = "boot" + } + + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/ti/tda4vm-sk/patches/linux/linux.hash b/board/ti/tda4vm-sk/patches/linux/linux.hash new file mode 100644 index 00000000000..eb4dcee9586 --- /dev/null +++ b/board/ti/tda4vm-sk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256 4f21c01f4d04c1d1b3ed794153f8900802c92497be620b07c4869530f2d28ee3 linux-6.18.16.tar.xz diff --git a/board/ti/tda4vm-sk/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash b/board/ti/tda4vm-sk/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/ti/tda4vm-sk/patches/ti-k3-r5-loader/ti-k3-r5-loader.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/ti/tda4vm-sk/patches/uboot/uboot.hash b/board/ti/tda4vm-sk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..b6a925ea4e8 --- /dev/null +++ b/board/ti/tda4vm-sk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2 diff --git a/board/ti/tda4vm-sk/post-build.sh b/board/ti/tda4vm-sk/post-build.sh new file mode 100755 index 00000000000..8dae08a47cd --- /dev/null +++ b/board/ti/tda4vm-sk/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$BINARIES_DIR"/extlinux/extlinux.conf diff --git a/board/ti/tda4vm-sk/readme.txt b/board/ti/tda4vm-sk/readme.txt new file mode 100644 index 00000000000..b3e789be805 --- /dev/null +++ b/board/ti/tda4vm-sk/readme.txt @@ -0,0 +1,36 @@ +Texas Instruments SK-TDA4VM Test and Development Board + +Description +=========== + +This configuration will build a complete image for the TI SK-TDA4VM +board: https://www.ti.com/tool/SK-TDA4VM + +How to Build +============ + +Select the default configuration for the target: + +$ make ti_tda4vm_sk_defconfig + +Optional: modify the configuration: + +$ make menuconfig + +Build: + +$ make + +To copy the resultimg output image file to an SD card use dd: + +$ dd if=output/images/sdcard.img of=/dev/sdX bs=1M + +How to Run +========== + +Insert the SD card into the SK-TDA4VM board, and power it up through the +USB Type-C connector. The system should come up. You can use a +micro-USB cable to connect to the connector labeled UART to +communicate with the board. + +User's guide : https://www.ti.com/lit/ug/spruj21e/spruj21e.pdf diff --git a/board/toradex/apalis-imx6/genimage.cfg b/board/toradex/apalis-imx6/genimage.cfg deleted file mode 100644 index fe359bd93e6..00000000000 --- a/board/toradex/apalis-imx6/genimage.cfg +++ /dev/null @@ -1,15 +0,0 @@ -# Minimal SD card image for the Toradex Apalis i.MX6 COM -# -# It does not need a boot section for a bootloader since it is booted -# from its internal flash memory (eMMC). - -image sdcard.img { - hdimage { - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext2" - size = 512M - } -} diff --git a/board/toradex/apalis-imx6/post-image.sh b/board/toradex/apalis-imx6/post-image.sh deleted file mode 100755 index 2b49f9d3d09..00000000000 --- a/board/toradex/apalis-imx6/post-image.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash - -GENIMAGE_CFG="$(dirname $0)/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -# copy the uEnv.txt to the output/images directory -cp board/toradex/apalis-imx6/uEnv.txt $BINARIES_DIR/uEnv.txt - -rm -rf "${GENIMAGE_TMP}" - -# generate rootfs.img -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" - -RET=${?} -exit ${RET} diff --git a/board/toradex/apalis-imx6/readme.txt b/board/toradex/apalis-imx6/readme.txt deleted file mode 100644 index feddad641c1..00000000000 --- a/board/toradex/apalis-imx6/readme.txt +++ /dev/null @@ -1,53 +0,0 @@ -Toradex Apalis i.MX6 Computer on Module - -Intro -===== - -The Apalis iMX6 is a small form-factor Computer on Module that comes -in both quad core and dual core versions based on Freescale i.MX6Q and -Freescale i.MX6D SoCs respectively. The Cortex A9 quad core and dual -core CPU peaks at 1 GHz for commercial temperature variant, while the -industrial temperature variant has a peak frequency of 800 MHz. - -https://www.toradex.com/computer-on-modules/apalis-arm-family/freescale-imx-6 - -It supports two carrier boards: - -Apalis Evaluation Board -https://www.toradex.com/products/carrier-boards/apalis-evaluation-board - -Ixora Carrier Board -https://www.toradex.com/products/carrier-boards/ixora-carrier-board - -How to build it -=============== - -Configure Buildroot: - - $ make toradex_apalis_imx6_defconfig - -Compile everything and build the rootfs image: - - $ make - -How to boot the image -===================== - -The board only boots from its internal flash memory eMMC, so the -bootloader image should be copied to it, following the procedures -described in Toradex website. - -http://developer.toradex.com/knowledge-base/flashing-linux-on-imx6-modules - -Buildroot prepares a "sdcard.img" in output/images/ with the kernel -image, device tree and a root filesystem, ready to be dumped on an SD -card. - - $ dd if=output/images/sdcard.img of=/dev/sdX bs=1M - -To boot from the SD card, you should change the U-Boot -environment. Since U-Boot is running from internal eMMC, you will need -to access its command line prompt and manually set the necessary -variables to boot from the external SD card. For convenience, you can -use uEnv.txt provided in output/images/ as a reference to create the -necessary U-Boot variables to boot from the SD card. diff --git a/board/toradex/apalis-imx6/uEnv.txt b/board/toradex/apalis-imx6/uEnv.txt deleted file mode 100644 index 96ab80cfb6f..00000000000 --- a/board/toradex/apalis-imx6/uEnv.txt +++ /dev/null @@ -1,6 +0,0 @@ -boot_file=zImage -fdt_file=imx6q-apalis_v1_0-ixora.dtb -sdargs=ip=off root=/dev/mmcblk1p1 rw,noatime rootfstype=ext4 rootwait -sddtbload=ext2load mmc 2:1 ${fdt_addr_r} boot/${fdt_file} -sdkernelload=ext2load mmc 2:1 ${kernel_addr_r} boot/${boot_file} -bootcmd=run setup; setenv bootargs ${defargs} ${sdargs} ${setupargs} ${vidargs}; echo Booting from SD card...; run sddtbload; run sdkernelload; bootz ${kernel_addr_r} - ${fdt_addr_r} diff --git a/board/udoo/common/boot.scr.txt b/board/udoo/common/boot.scr.txt new file mode 100644 index 00000000000..7a7d756c3c7 --- /dev/null +++ b/board/udoo/common/boot.scr.txt @@ -0,0 +1,7 @@ +setenv finduuid "part uuid mmc 1:1 uuid" +run finduuid +run findfdt +setenv bootargs "console=${console} root=PARTUUID=${uuid} rootwait rootfstype=ext4" +load mmc 1:1 ${fdt_addr} boot/${fdtfile} +load mmc 1:1 ${loadaddr} boot/zImage +bootz ${loadaddr} - ${fdt_addr} diff --git a/board/udoo/common/post-build.sh b/board/udoo/common/post-build.sh new file mode 100755 index 00000000000..d3f612f8118 --- /dev/null +++ b/board/udoo/common/post-build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +cp $BINARIES_DIR/boot.scr $TARGET_DIR/boot/boot.scr diff --git a/board/udoo/mx6qdl/genimage.cfg b/board/udoo/mx6qdl/genimage.cfg deleted file mode 100644 index 4361d540c7e..00000000000 --- a/board/udoo/mx6qdl/genimage.cfg +++ /dev/null @@ -1,48 +0,0 @@ -# Minimal microSD card image for Udoo MX6Q/DL boards -# -# We mimic the .sdcard Freescale's image format for i.MX6: -# * the microSD card must have 1 kB free space at the beginning, -# * U-Boot is dumped as is, -# * a FAT partition at offset 16 MB is containing zImage and dtbs, -# * a single root filesystem partition is required (Ext4 in this case). -# - -image boot.vfat { - vfat { - files = { - "imx6q-udoo.dtb", - "imx6dl-udoo.dtb", - "zImage" - } - } - size = 16M -} - -image sdcard.img { - hdimage { - } - - partition SPL { - in-partition-table = "no" - image = "SPL" - offset = 1K - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot.img" - offset = 69K - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - offset = 16M - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/udoo/mx6qdl/linux.fragment b/board/udoo/mx6qdl/linux.fragment deleted file mode 100644 index 1d2509982be..00000000000 --- a/board/udoo/mx6qdl/linux.fragment +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_USB is not set diff --git a/board/udoo/mx6qdl/post-image.sh b/board/udoo/mx6qdl/post-image.sh deleted file mode 100755 index b4ac4608ffa..00000000000 --- a/board/udoo/mx6qdl/post-image.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/board/udoo/mx6qdl/readme.txt b/board/udoo/mx6qdl/readme.txt index cf1a6104210..a7ca98cc8a1 100644 --- a/board/udoo/mx6qdl/readme.txt +++ b/board/udoo/mx6qdl/readme.txt @@ -14,4 +14,4 @@ directory, ready to be dumped on a micro SD card: dd if=output/images/sdcard.img of=/dev/ For details about the medium image layout, see the definition in -board/udoo/mx6qdl/genimage.cfg. +board/freescale/common/imx/genimage.cfg.template_no_boot_part_spl. diff --git a/board/udoo/mx6qdl/rootfs_overlay/boot/extlinux/extlinux.conf b/board/udoo/mx6qdl/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..cbb284f91b4 --- /dev/null +++ b/board/udoo/mx6qdl/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +Label imx6qdl-udoo buildroot + kernel ../zImage + fdtdir ../ + append root=/dev/mmcblk2p1 rootwait rw diff --git a/board/udoo/neo/boot.scr.txt b/board/udoo/neo/boot.scr.txt deleted file mode 100644 index 7a8aa4bd547..00000000000 --- a/board/udoo/neo/boot.scr.txt +++ /dev/null @@ -1,7 +0,0 @@ -setenv finduuid "part uuid mmc 0:1 uuid" -run finduuid -run findfdt -setenv bootargs "console=ttymxc0,115200 root=PARTUUID=${uuid} rootwait rootfstype=ext4" -load mmc 0:1 ${fdt_addr} boot/${fdtfile} -load mmc 0:1 ${loadaddr} boot/zImage -bootz ${loadaddr} - ${fdt_addr} diff --git a/board/udoo/neo/genimage.cfg b/board/udoo/neo/genimage.cfg deleted file mode 100644 index 46209120f0b..00000000000 --- a/board/udoo/neo/genimage.cfg +++ /dev/null @@ -1,32 +0,0 @@ -# Minimal SD card image for the MX6SX Udoo Neo board -# -# The SD card must have at least 1 MB free at the beginning. -# U-Boot and its environment are dumped as is. -# A single root filesystem partition is required (Ext4 in this case). -# -# For details about the layout, see: -# http://wiki.wandboard.org/index.php/Boot-process - -image sdcard.img { - hdimage { - } - - partition spl { - in-partition-table = "no" - image = "SPL" - offset = 1K - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot.img" - offset = 69K - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - offset = 1M - size = 512M - } -} diff --git a/board/udoo/neo/patches/linux-headers/linux-headers.hash b/board/udoo/neo/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/udoo/neo/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/udoo/neo/patches/linux/linux.hash b/board/udoo/neo/patches/linux/linux.hash new file mode 100644 index 00000000000..b8935a250a6 --- /dev/null +++ b/board/udoo/neo/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 0ad83b1a1a780a1aad948d55aa55ee63c50c626f2d46910b9d2180028d100a5e linux-6.6.43.tar.xz diff --git a/board/udoo/neo/patches/uboot/uboot.hash b/board/udoo/neo/patches/uboot/uboot.hash new file mode 100644 index 00000000000..0bfbf306ffb --- /dev/null +++ b/board/udoo/neo/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 81b4543227db228c03f8a1bf5ddbc813b0bb8f6555ce46064ef721a6fc680413 u-boot-2022.01.tar.bz2 diff --git a/board/udoo/neo/post-build.sh b/board/udoo/neo/post-build.sh deleted file mode 100755 index 43e091c5d72..00000000000 --- a/board/udoo/neo/post-build.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" - -$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none \ --n "boot script" -d $BOARD_DIR/boot.scr.txt $BOARD_DIR/boot.scr - -install -m 0644 -D $BOARD_DIR/boot.scr $TARGET_DIR/boot/boot.scr diff --git a/board/udoo/neo/post-image.sh b/board/udoo/neo/post-image.sh deleted file mode 100755 index 18e76aa40de..00000000000 --- a/board/udoo/neo/post-image.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env bash - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" - diff --git a/board/udoo/neo/readme.txt b/board/udoo/neo/readme.txt index f037ad484a0..e9f9fbac1c1 100644 --- a/board/udoo/neo/readme.txt +++ b/board/udoo/neo/readme.txt @@ -1,16 +1,68 @@ MX6X Udoo Neo board - +=================== http://www.udoo.org/udoo-neo/ +Build: +====== + To build a minimal support for these boards: $ make mx6sx_udoo_neo_defconfig $ make +Files created in the output directory: +====================================== + +output/images +. +├── boot.scr +├── imx6sx-udoo-neo-basic.dtb +├── imx6sx-udoo-neo-extended.dtb +├── imx6sx-udoo-neo-full.dtb +├── rootfs.ext2 +├── rootfs.ext4 -> rootfs.ext2 +├── rootfs.tar +├── sdcard.img +├── SPL +├── u-boot.bin +├── u-boot.img +└── zImage + +Creating bootable SD card: +========================== + Buildroot prepares a bootable "sdcard.img" image in the output/images/ directory, ready to be dumped on an SD card: dd if=output/images/sdcard.img of=/dev/ For details about the medium image layout, see the definition in -board/udoo/neo/genimage.cfg. +board/freescale/common/imx/genimage.cfg.template_no_boot_part_spl. + +Booting: +======== + +Serial console: +--------------- +The Udoo Neo features the serial console "UART1" on the pin header "P7". The +Uart pins are as follows (see board labels): + +pin 46: rx +pin 47: tx + +Baudrate for this board is 115200. + +Login: +------ +Enter 'root' as login user, and the prompt is ready. + +Documentation: +============== + +documentation link: +------------------- +https://www.udoo.org/docs-neo/Introduction/Introduction.html + +forum link: +----------- +https://www.udoo.org/forum/forums/udoo-neo.39/ diff --git a/board/uevm5432/extlinux.conf b/board/uevm5432/extlinux.conf new file mode 100644 index 00000000000..50f3cd30fbf --- /dev/null +++ b/board/uevm5432/extlinux.conf @@ -0,0 +1,4 @@ +label uevm5432-buildroot + kernel /zImage + fdt /omap5-uevm.dtb + append root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait console=ttyO2,115200 diff --git a/board/uevm5432/genimage.cfg b/board/uevm5432/genimage.cfg new file mode 100644 index 00000000000..7bb90e198b0 --- /dev/null +++ b/board/uevm5432/genimage.cfg @@ -0,0 +1,29 @@ +image boot.vfat { + vfat { + files = { + "MLO", + "u-boot.img", + "zImage", + "omap5-uevm.dtb", + "extlinux" + } + } + + size = 8M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/uevm5432/post-build.sh b/board/uevm5432/post-build.sh new file mode 100755 index 00000000000..f90f76d8b5b --- /dev/null +++ b/board/uevm5432/post-build.sh @@ -0,0 +1,6 @@ +#!/bin/sh +set -e + +BOARD_DIR="$(dirname "$0")" + +install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$BINARIES_DIR"/extlinux/extlinux.conf diff --git a/board/uevm5432/readme.txt b/board/uevm5432/readme.txt new file mode 100644 index 00000000000..4569fbd84ef --- /dev/null +++ b/board/uevm5432/readme.txt @@ -0,0 +1,40 @@ +OMAP5432 uEVM +============= + +This file documents the Buildroot support for the OMAP5432 uEVM[1], a +single-board computer development platform based on the Texas Instruments +OMAP5432 system on a chip (SoC). + +How to build +============ + + $ make uevm5432_defconfig + $ make + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sync + +Where /dev/sdX is the device node of your SD card (may be /dev/mmcblkX instead +depending on setup). + +To boot from SD card, set the SYSBOOT switches S1 of your OMAP5432 uEVM to the +following position: + + ON x x + x x + 1 2 3 4 + +Insert the micro SDcard in your OMAP5432 uEVM, and power it up with the POWER +ON push button switch S3. The console is on the micro USB Debug UART, with +serial settings 115200 8N1. Refer also to the quick start guide[2]. + +[1]: https://svtronics.com/5432 +[2]: https://www.ti.com/lit/ug/swcu131/swcu131.pdf diff --git a/board/versal/genimage.cfg b/board/versal/genimage.cfg new file mode 100644 index 00000000000..8870777f19b --- /dev/null +++ b/board/versal/genimage.cfg @@ -0,0 +1,30 @@ +image boot.vfat { + vfat { + files = { + "boot.bin", + "system.dtb", + "Image" + } + file extlinux/extlinux.conf { + image = extlinux.conf + } + } + + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/versal/post-build.sh b/board/versal/post-build.sh new file mode 120000 index 00000000000..0130ff23d2c --- /dev/null +++ b/board/versal/post-build.sh @@ -0,0 +1 @@ +../zynqmp/post-build.sh \ No newline at end of file diff --git a/board/versal/post-image.sh b/board/versal/post-image.sh new file mode 100755 index 00000000000..3242e4384af --- /dev/null +++ b/board/versal/post-image.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +# By default U-Boot loads DTB from a file named "system.dtb", so +# let's use a symlink with that name that points to the *first* +# devicetree listed in the config. + +FIRST_DT=$(sed -nr \ + -e 's|^BR2_LINUX_KERNEL_INTREE_DTS_NAME="(xilinx/)?([-_/[:alnum:]\\.]*).*"$|\2|p' \ + "${BR2_CONFIG}") + +[ -z "${FIRST_DT}" ] || ln -fs "${FIRST_DT}.dtb" "${BINARIES_DIR}/system.dtb" + +BOARD_DIR="$(dirname "$0")" + +cat <<-__HEADER_EOF > "${BINARIES_DIR}/bootgen.bif" + the_ROM_image: + { + image { + { type=bootimage, file=${BINARIES_DIR}/boot.pdi } + { type=bootloader, file=${BINARIES_DIR}/plm.elf } + { core=psm, file=${BINARIES_DIR}/psmfw.elf } + } + image { + id = 0x1c000000, name=apu_subsystem + { type=raw, load=0x00001000, file=${BINARIES_DIR}/u-boot.dtb } + { core=a72-0, exception_level=el-3, trustzone, file=${BINARIES_DIR}/bl31.elf } + { core=a72-0, exception_level=el-2, file=${BINARIES_DIR}/u-boot.elf } + } + } + __HEADER_EOF + +"${HOST_DIR}/bin/bootgen" -arch versal -image "${BINARIES_DIR}/bootgen.bif" -o "${BINARIES_DIR}/boot.bin" -w on +support/scripts/genimage.sh -c "${BOARD_DIR}/genimage.cfg" diff --git a/board/versal/readme.txt b/board/versal/readme.txt new file mode 100644 index 00000000000..80ab068495e --- /dev/null +++ b/board/versal/readme.txt @@ -0,0 +1,112 @@ +This document describes the Buildroot support for the following +Xilinx Versal boards: + +****************************************** +Supported Versal Boards: +Xilinx VCK190 board +Xilinx VEK280 board +Xilinx VPK120 board +Xilinx VPK180 board +****************************************** + +Evaluation board features can be found here with the links below. + +VCK190: +https://www.amd.com/en/products/adaptive-socs-and-fpgas/evaluation-boards/vck190.html + +VEK280: +https://www.amd.com/en/products/adaptive-socs-and-fpgas/evaluation-boards/vek280.html + +VPK120: +https://www.amd.com/en/products/adaptive-socs-and-fpgas/evaluation-boards/vpk120.html + +VPK180: +https://www.amd.com/en/products/adaptive-socs-and-fpgas/evaluation-boards/vpk180.html + + +How to build it +=============== + +Configure Buildroot: + + $ make versal_vck190_defconfig + +Compile everything and build the rootfs image: + + $ make + +Result of the build +------------------- + +After building, you should get a tree like this: + + output/images/ + +-- boot.bin + +-- boot.vfat + +-- Image + +-- rootfs.ext2 + +-- rootfs.ext4 -> rootfs.ext2 + +-- sdcard.img + +-- system.dtb -> versal-vck190-rev1.1.dtb + `-- versal-vck190-rev1.1.dtb + +How to write the SD card +======================== + +WARNING! This will destroy all the card content. Use with care! + +The sdcard.img file is a complete bootable image ready to be written +on the boot medium. To install it, simply copy the image to an SD +card: + + # dd if=output/images/sdcard.img of=/dev/sdX + +Where 'sdX' is the device node of the SD. + +Eject the SD card, insert it in the board, and power it up. + +Support for other boards: +========================= + +If you want to build a system for other boards based on the same SoC, and the +board is already supported by the upstream kernel, U-Boot, and +xilinx-prebuilt, you simply need to change the following Buildroot options: + + - Kernel Device Tree file name (BR2_LINUX_KERNEL_INTREE_DTS_NAME) + - U-Boot (BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=") + - xilinx-prebuilt (BR2_TARGET_XILINX_PREBUILT_BOARD) + +Custom versal board support: + +To generate a boot.bin image, Versal boards require a PDI (Programmable Device +Image) generated by Xilinx Vivado which contains all the hardware specific +boot information, such as clock, MIO and DDR initializations as well as any +customizations in the programmable logic. Since this PDI can only be generated +by Xilinx Vivado, Buildroot needs access to the prebuilt image. The Buildroot +xilinx-prebuilt package has support for Versal XSA files exported from Xilinx +Vivado. + +Using the option BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA, Buildroot can obtain +the prebuilt PDI from the XSA file. + +1) Start with a defconfig supported by Buildroot (e.g. VCK190) + make versal_vck190_defconfig + +2) make menuconfig + Visit the following menu and enable BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA + + Bootloaders ---> + xilinx-prebuilt ---> + [*] download a prebuilt Versal XSA + +3) Within the same menuconfig, configure location of XSA. It can be in the + local file system or downloadable from an https:// location. + + Bootloaders ---> + xilinx-prebuilt ---> + () URL of custom XSA + +4) make + +The resulting output/images will contain a boot.bin that includes the custom +PDI file extracted from the Xilinx Vivado exported XSA file. diff --git a/board/versal2/genimage.cfg b/board/versal2/genimage.cfg new file mode 120000 index 00000000000..3aa5543165e --- /dev/null +++ b/board/versal2/genimage.cfg @@ -0,0 +1 @@ +../versal/genimage.cfg \ No newline at end of file diff --git a/board/versal2/post-build.sh b/board/versal2/post-build.sh new file mode 120000 index 00000000000..0130ff23d2c --- /dev/null +++ b/board/versal2/post-build.sh @@ -0,0 +1 @@ +../zynqmp/post-build.sh \ No newline at end of file diff --git a/board/versal2/post-image.sh b/board/versal2/post-image.sh new file mode 100755 index 00000000000..af50909fb1f --- /dev/null +++ b/board/versal2/post-image.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +# By default U-Boot loads DTB from a file named "system.dtb", and +# with versal2, the Linux DTB is the same as the U-Boot DTB, so +# let's use a symlink since the DTB is the same. +ln -fs "u-boot.dtb" "${BINARIES_DIR}/system.dtb" + +BOARD_DIR="$(dirname "$0")" + +cat <<-__HEADER_EOF > "${BINARIES_DIR}/bootgen.bif" + the_ROM_image: + { + image { + { type=bootimage, file=${BINARIES_DIR}/boot.pdi } + { type=bootloader, file=${BINARIES_DIR}/plm.elf } + { core=asu, file=${BINARIES_DIR}/asufw.elf } + } + image { + id = 0x1c000000, name=apu_subsystem + { type=raw, load=0x01000000, file=${BINARIES_DIR}/u-boot.dtb } + { core=a78-0, cluster=0, exception_level=el-3, trustzone, file=${BINARIES_DIR}/bl31.elf } + { core=a78-0, cluster=0, exception_level=el-1, trustzone, load=0x1800000, file=${BINARIES_DIR}/tee-raw.bin } + { core=a78-0, cluster=0, exception_level=el-2, file=${BINARIES_DIR}/u-boot.elf } + } + } + __HEADER_EOF + +"${HOST_DIR}/bin/bootgen" -arch versal_2ve_2vm -image "${BINARIES_DIR}/bootgen.bif" -o "${BINARIES_DIR}/boot.bin" -w on +support/scripts/genimage.sh -c "${BOARD_DIR}/genimage.cfg" diff --git a/board/versal2/readme.txt b/board/versal2/readme.txt new file mode 100644 index 00000000000..4498392bcb3 --- /dev/null +++ b/board/versal2/readme.txt @@ -0,0 +1,182 @@ +This document describes the Buildroot support for the following +Xilinx Versal Gen2 boards: + +****************************************** +Supported Versal Gen2 Boards: +Xilinx VEK385 board +****************************************** + +Evaluation board features can be found here with the links below. + +VEK385: +https://www.amd.com/en/products/adaptive-socs-and-fpgas/evaluation-boards/vek385.html + +How to build it +=============== + +Configure Buildroot: + + $ make versal2_vek385_defconfig + +Compile everything and build the rootfs image: + + $ make + +Result of the build +------------------- + +After building, you should get a tree like this: + + output/images/ + +-- asufw.elf + +-- bl31.elf + +-- boot.bin + +-- bootgen.bif + +-- boot.pdi + +-- boot.vfat + +-- extlinux.conf + +-- Image + +-- plm.elf + +-- rootfs.ext2 + +-- rootfs.ext4 -> rootfs.ext2 + +-- sdcard.img + +-- system.dtb -> u-boot.dtb + +-- tee-raw.bin + +-- u-boot.dtb + `-- u-boot.elf + +How to write the SD card +======================== + +WARNING! This will destroy all the card content. Use with care! + +The sdcard.img file is a complete bootable image ready to be written +on the boot medium. To install it, simply copy the image to an SD +card: + + # dd if=output/images/sdcard.img of=/dev/sdX + +Where 'sdX' is the device node of the SD. + +Eject the SD card, insert it in the board, and power it up. + +Support for other boards: +========================= + +If you want to build a system for other boards based on the same SoC, and the +board is already supported by the upstream kernel, U-Boot, and +xilinx-prebuilt, you simply need to change the following Buildroot options: + + - U-Boot (BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=") + - xilinx-prebuilt (BR2_TARGET_XILINX_PREBUILT_BOARD) + +Custom versal2 board support: + +To generate a boot.bin image, Versal2 boards require a PDI (Programmable Device +Image) generated by Xilinx Vivado which contains all the hardware specific +boot information, such as clock, MIO and DDR initializations as well as any +customizations in the programmable logic. Since this PDI can only be generated +by Xilinx Vivado, Buildroot needs access to the prebuilt image. The Buildroot +xilinx-prebuilt package has support for Versal2 XSA files exported from Xilinx +Vivado. + +Using the option BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA, Buildroot can obtain +the prebuilt PDI from the XSA file. + +1) Start with a defconfig supported by Buildroot (e.g. VEK385) + make versal2_vek385_defconfig + +2) make menuconfig + Visit the following menu and enable BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA + + Bootloaders ---> + xilinx-prebuilt ---> + [*] download a prebuilt Versal XSA + +3) Within the same menuconfig, configure location of XSA. It can be in the + local file system or downloadable from an https:// location. + + Bootloaders ---> + xilinx-prebuilt ---> + () URL of custom XSA + +4) make + +The resulting output/images will contain a boot.bin that includes the custom +PDI file extracted from the Xilinx Vivado exported XSA file. + +How to write boot.bin to VEK385 OSPI boot flash +======================================================= + +The VEK385 cannot be configured to boot from the SD card directly because it +is connected to the 2VE3858 by a USB to SD card bridge and not connected +directly. For this reason, the boot.bin needs to be in the OSPI flash for +booting the first boot stage, and u-boot can then boot Linux and the file +system from the SD card. + +For writing the boot.bin file to the OSPI flash the first time, it is +recommended to use the board system controller with the instructions on the +wiki page below: +https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/2273738753/Versal+Evaluation+Board+-+System+Controller+-+Update+7 + +Once the first boot.bin has been flashed and the VEK385 is able to boot into +u-boot, u-boot can then be used for subsequent updates to the OSPI flash using +the instructions below. + +VEK385 U-Boot Flashing Instructions: + $ usb start + $ sf probe + $ fatload usb 0 0x40000000 boot.bin + $ sf erase 0x0 +$filesize + $ sf write 0x40000000 0x0 $filesize + +If a valid boot.bin is already in the OSPI flash, it is possible to boot the +Buildroot generated SD card image without updating the OSPI boot.bin image, so +this is an optional step when just updating Linux and the file system. + +IMPORTANT NOTES for the VEK385 +======================================================= + +1) The base-design.pdi on the https://github.com/Xilinx/soc-prebuilt-firmware +repo is designed for revB of the VEK385 and will not work properly on revA. +Users should either create their own Vivado XSA file if they have a revA +board, or make sure to get a VEK385 revB or newer board. + +2) The default u-boot bootcmd is not the distro_bootcmd that buildroot +expects. When booting for the first time, please stop the boot in u-boot +and run the following commands: + $ setenv bootcmd 'run distro_bootcmd' + $ saveenv + $ boot + +3) When using the 2025.2 release, the default u-boot env value for fdt_addr_r +is 0x21000000 which overlaps with the OS image causing the following boot +failure: + +Found /extlinux/extlinux.conf +Retrieving file: /extlinux/extlinux.conf +1: linux +Retrieving file: /Image +append: console="ttyAMA1,115200" root="/dev/sdd2" rw rootwait +Retrieving file: /system.dtb +## Flattened Device Tree blob at 21000000 + Booting using the fdt blob at 0x21000000 +ERROR: FDT image overlaps OS image (OS=20200000..21cf0000) +EXTLINUX FAILED: continuing... + +This will be fixed with 2026.1 and future releases, but for 2025.2, users +must run the following u-boot commands to change the default value. + $ setenv fdt_addr_r 0x31000000 + $ saveenv + +4) Depending on the device tree used, the USB->SD card interface may not be +probed as /dev/sdd as the probing order can vary based on the device tree +configuration. To deal with this, users will need to change the last +parameter of BR2_ROOTFS_POST_SCRIPT_ARGS to sda2, sdb2 or sdc2 depending on +which corresponds to their configuration's USB->SD card. + +For example, the default value in the versal2_vek385_defconfig: +BR2_ROOTFS_POST_SCRIPT_ARGS="ttyAMA1,115200 sdd2" + +If the USB->SD card interface probed first, this would need to be changed to: +BR2_ROOTFS_POST_SCRIPT_ARGS="ttyAMA1,115200 sda2" diff --git a/board/visionfive/genimage.cfg b/board/visionfive/genimage.cfg new file mode 100644 index 00000000000..433387c901c --- /dev/null +++ b/board/visionfive/genimage.cfg @@ -0,0 +1,21 @@ +# Minimal SD card image for the Starfive VisionFive board + +image sdcard.img { + hdimage { + } + + # u-boot is hard coded to look at 3rd partition + partition dummy1 { + size = 512 + } + + partition dummy2 { + size = 512 + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + bootable = "true" + } +} diff --git a/board/visionfive/overlay/boot/extlinux/extlinux.conf b/board/visionfive/overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..44ac6f79448 --- /dev/null +++ b/board/visionfive/overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label linux + kernel /boot/Image + devicetree /boot/jh7100-starfive-visionfive-v1.dtb + append console=ttyS0,115200 root=/dev/mmcblk0p3 diff --git a/board/visionfive/overlay/boot/uEnv.txt b/board/visionfive/overlay/boot/uEnv.txt new file mode 100644 index 00000000000..b831d2d2305 --- /dev/null +++ b/board/visionfive/overlay/boot/uEnv.txt @@ -0,0 +1,15 @@ +fdt_high=0xffffffffffffffff +initrd_high=0xffffffffffffffff + +scriptaddr=0x88100000 +script_offset_f=0x1fff000 +script_size_f=0x1000 + +kernel_addr_r=0x84000000 +kernel_comp_addr_r=0x90000000 +kernel_comp_size=0x10000000 + +fdt_addr_r=0x88000000 +ramdisk_addr_r=0x88300000 + +bootcmd=devnum=0; run mmc_boot diff --git a/board/visionfive/readme.txt b/board/visionfive/readme.txt new file mode 100644 index 00000000000..7aefa241673 --- /dev/null +++ b/board/visionfive/readme.txt @@ -0,0 +1,32 @@ +Starfive VisionFive +=================== + +The VisionFive is a low-cost RISC-V 64-bit based platform, powered by a +Starfive JH7100 processor. + +https://doc-en.rvspace.org/Doc_Center/visionfive.html + +How to build +============ + +$ make visionfive_defconfig +$ make + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Preparing the board +=================== + +Connect a TTL UART cable to pin 6 (GND), 8 (TX) and 10 (RX). + +Insert your SD card. + +Power-up the board using an USB-C cable. diff --git a/board/visionfive2/genimage.cfg b/board/visionfive2/genimage.cfg new file mode 100644 index 00000000000..8133e740c0d --- /dev/null +++ b/board/visionfive2/genimage.cfg @@ -0,0 +1,23 @@ +# Minimal SD card image for the Starfive VisionFive2 board + +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition spl { + partition-type-uuid = 2E54B353-1271-4842-806F-E436D6AF6985 + image = "u-boot-spl.bin.normal.out" + } + + partition uboot { + partition-type-uuid = BC13C2FF-59E6-4262-A352-B275FD6F7172 + image = "u-boot.itb" + } + + partition rootfs { + partition-type-uuid = 0FC63DAF-8483-4772-8E79-3D69D8477DE4 + bootable = true + image = "rootfs.ext4" + } +} diff --git a/board/visionfive2/genimage_spi-nor.cfg b/board/visionfive2/genimage_spi-nor.cfg new file mode 100644 index 00000000000..8b1d13989ac --- /dev/null +++ b/board/visionfive2/genimage_spi-nor.cfg @@ -0,0 +1,36 @@ +flash nor-16M-256 { + pebsize = 4K + minimum-io-unit-size = 256 + numpebs = 4096 +} + +image spi-nor.img { + size = 16M + + flash { + } + + flashtype = "nor-16M-256" + + partition spl { + image = "u-boot-spl.bin.normal.out" + offset = 0K + size = 512K + } + + partition uboot-env { + offset = 960K + size = 64K + } + + partition uboot { + image = "u-boot.itb" + offset = 1M + size = 4M + } + + partition reserved-data { + offset = 6M + size = 10M + } +} diff --git a/board/visionfive2/linux_defconfig b/board/visionfive2/linux_defconfig new file mode 100644 index 00000000000..06942928b54 --- /dev/null +++ b/board/visionfive2/linux_defconfig @@ -0,0 +1,570 @@ +CONFIG_COMPILE_TEST=y +# CONFIG_WERROR is not set +CONFIG_DEFAULT_HOSTNAME="StarFive" +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_USELIB=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_BPF_SYSCALL=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_CGROUPS=y +CONFIG_CGROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_CGROUP_BPF=y +CONFIG_NAMESPACES=y +CONFIG_USER_NS=y +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_EXPERT=y +CONFIG_PERF_EVENTS=y +CONFIG_SOC_STARFIVE=y +CONFIG_NONPORTABLE=y +CONFIG_SMP=y +CONFIG_RISCV_AMP=y +CONFIG_HZ_100=y +CONFIG_HIBERNATION=y +CONFIG_PM_STD_PARTITION="PARTLABEL=hibernation" +CONFIG_PM_DEBUG=y +CONFIG_PM_ADVANCED_DEBUG=y +CONFIG_PM_TEST_SUSPEND=y +CONFIG_CPU_IDLE=y +CONFIG_RISCV_SBI_CPUIDLE=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y +CONFIG_CPUFREQ_DT=y +# CONFIG_SECCOMP is not set +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_BINFMT_MISC=y +CONFIG_PAGE_REPORTING=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +CONFIG_NETFILTER=y +CONFIG_NETFILTER_NETLINK_ACCT=y +CONFIG_NETFILTER_NETLINK_QUEUE=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_TABLES=y +CONFIG_NFT_CT=y +CONFIG_NFT_COMPAT=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +CONFIG_NETFILTER_XT_MATCH_IPCOMP=y +CONFIG_NETFILTER_XT_MATCH_IPRANGE=y +CONFIG_NETFILTER_XT_MATCH_MAC=y +CONFIG_NETFILTER_XT_MATCH_MARK=y +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y +CONFIG_NETFILTER_XT_MATCH_SOCKET=y +CONFIG_NETFILTER_XT_MATCH_STATE=y +CONFIG_NETFILTER_XT_MATCH_STRING=y +CONFIG_NETFILTER_XT_MATCH_U32=y +CONFIG_NF_TABLES_IPV4=y +CONFIG_NFT_DUP_IPV4=y +CONFIG_NFT_FIB_IPV4=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_TARGET_REJECT=y +CONFIG_IP_NF_NAT=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +CONFIG_IP_NF_TARGET_NETMAP=y +CONFIG_IP_NF_TARGET_REDIRECT=y +CONFIG_NETLINK_DIAG=y +CONFIG_CAN=y +CONFIG_BT=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_AICUSB=y +CONFIG_CFG80211=y +CONFIG_MAC80211=y +CONFIG_RFKILL=y +CONFIG_NET_9P=y +CONFIG_NET_9P_VIRTIO=y +CONFIG_PCI=y +# CONFIG_PCIEASPM is not set +CONFIG_PCIE_STARFIVE_HOST=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_SIFIVE_CCACHE=y +CONFIG_MTD=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CFI=y +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_SPI_NOR=y +CONFIG_OF_CONFIGFS=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_VIRTIO_BLK=y +CONFIG_BLK_DEV_NVME=y +CONFIG_EEPROM_AT24=y +CONFIG_BLK_DEV_SD=y +CONFIG_BLK_DEV_SR=y +CONFIG_SCSI_VIRTIO=y +CONFIG_ATA=y +CONFIG_SATA_AHCI=y +CONFIG_MD=y +CONFIG_BLK_DEV_DM=m +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +# CONFIG_NET_VENDOR_ALACRITECH is not set +# CONFIG_NET_VENDOR_AMAZON is not set +# CONFIG_NET_VENDOR_AQUANTIA is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CADENCE is not set +# CONFIG_NET_VENDOR_CAVIUM is not set +# CONFIG_NET_VENDOR_CORTINA is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +# CONFIG_NET_VENDOR_GOOGLE is not set +# CONFIG_NET_VENDOR_HUAWEI is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MELLANOX is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_MICROSEMI is not set +# CONFIG_NET_VENDOR_NI is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_NETRONOME is not set +# CONFIG_NET_VENDOR_PENSANDO is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +CONFIG_R8169=y +# CONFIG_NET_VENDOR_RENESAS is not set +# CONFIG_NET_VENDOR_ROCKER is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SOLARFLARE is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set +CONFIG_STMMAC_ETH=y +CONFIG_STMMAC_SELFTESTS=y +CONFIG_DWMAC_DWC_QOS_ETH=y +CONFIG_DWMAC_STARFIVE=y +# CONFIG_NET_VENDOR_SYNOPSYS is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +# CONFIG_NET_VENDOR_XILINX is not set +CONFIG_MARVELL_PHY=y +CONFIG_MICREL_PHY=y +CONFIG_MICROCHIP_PHY=y +CONFIG_MOTORCOMM_PHY=y +CONFIG_IPMS_CAN=y +CONFIG_IWLWIFI=y +CONFIG_IWLDVM=y +CONFIG_IWLMVM=y +# CONFIG_RTL_CARDS is not set +CONFIG_USB_WIFI_ECR6600U=y +CONFIG_AIC_WLAN_SUPPORT=y +CONFIG_AIC8800_WLAN_SUPPORT=m +CONFIG_AIC_LOADFW_SUPPORT=m +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_GOODIX=y +CONFIG_TOUCHSCREEN_TINKER_FT5406=y +CONFIG_SERIO_LIBPS2=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_NR_UARTS=6 +CONFIG_SERIAL_8250_RUNTIME_UARTS=6 +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_MANY_PORTS=y +CONFIG_SERIAL_8250_DW=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_TTY_PRINTK=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_JH7110=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_DESIGNWARE_CORE=y +CONFIG_SPI=y +CONFIG_SPI_CADENCE_QUADSPI=y +CONFIG_SPI_PL022=y +CONFIG_SPI_SIFIVE=y +CONFIG_SPI_SPIDEV=y +# CONFIG_PTP_1588_CLOCK is not set +CONFIG_GPIO_SYSFS=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_RESET_SYSCON_POWEROFF=y +CONFIG_SENSORS_SFCTEMP=y +CONFIG_THERMAL=y +CONFIG_CPU_THERMAL=y +CONFIG_DEVFREQ_THERMAL=y +CONFIG_THERMAL_EMULATION=y +# CONFIG_HISI_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_SYSFS=y +CONFIG_MFD_AXP20X_I2C=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_AXP20X=y +CONFIG_REGULATOR_GPIO=y +CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=y +# CONFIG_MEDIA_CEC_SUPPORT is not set +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_USB_VIDEO_CLASS=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_VIDEO_CADENCE_CSI2RX=y +CONFIG_VIDEO_WAVE_VPU=m +CONFIG_VIN_SENSOR_OV4689=y +CONFIG_VIDEO_STF_VIN=y +CONFIG_VIDEO_IMX219=y +CONFIG_VIDEO_IMX708=y +# CONFIG_CXD2880_SPI_DRV is not set +# CONFIG_MEDIA_TUNER_E4000 is not set +# CONFIG_MEDIA_TUNER_FC0011 is not set +# CONFIG_MEDIA_TUNER_FC0012 is not set +# CONFIG_MEDIA_TUNER_FC0013 is not set +# CONFIG_MEDIA_TUNER_FC2580 is not set +# CONFIG_MEDIA_TUNER_IT913X is not set +# CONFIG_MEDIA_TUNER_M88RS6000T is not set +# CONFIG_MEDIA_TUNER_MAX2165 is not set +# CONFIG_MEDIA_TUNER_MC44S803 is not set +# CONFIG_MEDIA_TUNER_MSI001 is not set +# CONFIG_MEDIA_TUNER_MT2060 is not set +# CONFIG_MEDIA_TUNER_MT2063 is not set +# CONFIG_MEDIA_TUNER_MT20XX is not set +# CONFIG_MEDIA_TUNER_MT2131 is not set +# CONFIG_MEDIA_TUNER_MT2266 is not set +# CONFIG_MEDIA_TUNER_MXL301RF is not set +# CONFIG_MEDIA_TUNER_MXL5005S is not set +# CONFIG_MEDIA_TUNER_MXL5007T is not set +# CONFIG_MEDIA_TUNER_QM1D1B0004 is not set +# CONFIG_MEDIA_TUNER_QM1D1C0042 is not set +# CONFIG_MEDIA_TUNER_QT1010 is not set +# CONFIG_MEDIA_TUNER_R820T is not set +# CONFIG_MEDIA_TUNER_SI2157 is not set +# CONFIG_MEDIA_TUNER_SIMPLE is not set +# CONFIG_MEDIA_TUNER_TDA18212 is not set +# CONFIG_MEDIA_TUNER_TDA18218 is not set +# CONFIG_MEDIA_TUNER_TDA18250 is not set +# CONFIG_MEDIA_TUNER_TDA18271 is not set +# CONFIG_MEDIA_TUNER_TDA827X is not set +# CONFIG_MEDIA_TUNER_TDA8290 is not set +# CONFIG_MEDIA_TUNER_TDA9887 is not set +# CONFIG_MEDIA_TUNER_TEA5761 is not set +# CONFIG_MEDIA_TUNER_TEA5767 is not set +# CONFIG_MEDIA_TUNER_TUA9001 is not set +# CONFIG_MEDIA_TUNER_XC2028 is not set +# CONFIG_MEDIA_TUNER_XC4000 is not set +# CONFIG_MEDIA_TUNER_XC5000 is not set +# CONFIG_DVB_MXL5XX is not set +# CONFIG_DVB_STB0899 is not set +# CONFIG_DVB_STB6100 is not set +# CONFIG_DVB_STV090x is not set +# CONFIG_DVB_STV0910 is not set +# CONFIG_DVB_STV6110x is not set +# CONFIG_DVB_STV6111 is not set +# CONFIG_DVB_DRXK is not set +# CONFIG_DVB_MN88472 is not set +# CONFIG_DVB_MN88473 is not set +# CONFIG_DVB_SI2165 is not set +# CONFIG_DVB_TDA18271C2DD is not set +# CONFIG_DVB_CX24110 is not set +# CONFIG_DVB_CX24116 is not set +# CONFIG_DVB_CX24117 is not set +# CONFIG_DVB_CX24120 is not set +# CONFIG_DVB_CX24123 is not set +# CONFIG_DVB_DS3000 is not set +# CONFIG_DVB_MB86A16 is not set +# CONFIG_DVB_MT312 is not set +# CONFIG_DVB_S5H1420 is not set +# CONFIG_DVB_SI21XX is not set +# CONFIG_DVB_STB6000 is not set +# CONFIG_DVB_STV0288 is not set +# CONFIG_DVB_STV0299 is not set +# CONFIG_DVB_STV0900 is not set +# CONFIG_DVB_STV6110 is not set +# CONFIG_DVB_TDA10071 is not set +# CONFIG_DVB_TDA10086 is not set +# CONFIG_DVB_TDA8083 is not set +# CONFIG_DVB_TDA8261 is not set +# CONFIG_DVB_TDA826X is not set +# CONFIG_DVB_TS2020 is not set +# CONFIG_DVB_TUA6100 is not set +# CONFIG_DVB_TUNER_CX24113 is not set +# CONFIG_DVB_TUNER_ITD1000 is not set +# CONFIG_DVB_VES1X93 is not set +# CONFIG_DVB_ZL10036 is not set +# CONFIG_DVB_ZL10039 is not set +# CONFIG_DVB_CX22700 is not set +# CONFIG_DVB_CX22702 is not set +# CONFIG_DVB_CXD2820R is not set +# CONFIG_DVB_CXD2841ER is not set +# CONFIG_DVB_DIB3000MB is not set +# CONFIG_DVB_DIB3000MC is not set +# CONFIG_DVB_DIB7000M is not set +# CONFIG_DVB_DIB7000P is not set +# CONFIG_DVB_DIB9000 is not set +# CONFIG_DVB_DRXD is not set +# CONFIG_DVB_EC100 is not set +# CONFIG_DVB_L64781 is not set +# CONFIG_DVB_MT352 is not set +# CONFIG_DVB_NXT6000 is not set +# CONFIG_DVB_S5H1432 is not set +# CONFIG_DVB_SP887X is not set +# CONFIG_DVB_STV0367 is not set +# CONFIG_DVB_TDA10048 is not set +# CONFIG_DVB_TDA1004X is not set +# CONFIG_DVB_ZD1301_DEMOD is not set +# CONFIG_DVB_ZL10353 is not set +# CONFIG_DVB_CXD2880 is not set +# CONFIG_DVB_STV0297 is not set +# CONFIG_DVB_TDA10021 is not set +# CONFIG_DVB_TDA10023 is not set +# CONFIG_DVB_VES1820 is not set +# CONFIG_DVB_AU8522_DTV is not set +# CONFIG_DVB_AU8522_V4L is not set +# CONFIG_DVB_BCM3510 is not set +# CONFIG_DVB_LG2160 is not set +# CONFIG_DVB_LGDT3305 is not set +# CONFIG_DVB_LGDT330X is not set +# CONFIG_DVB_MXL692 is not set +# CONFIG_DVB_NXT200X is not set +# CONFIG_DVB_OR51132 is not set +# CONFIG_DVB_OR51211 is not set +# CONFIG_DVB_S5H1409 is not set +# CONFIG_DVB_S5H1411 is not set +# CONFIG_DVB_DIB8000 is not set +# CONFIG_DVB_MB86A20S is not set +# CONFIG_DVB_S921 is not set +# CONFIG_DVB_MN88443X is not set +# CONFIG_DVB_TC90522 is not set +# CONFIG_DVB_PLL is not set +# CONFIG_DVB_TUNER_DIB0070 is not set +# CONFIG_DVB_TUNER_DIB0090 is not set +# CONFIG_DVB_A8293 is not set +# CONFIG_DVB_AF9033 is not set +# CONFIG_DVB_ASCOT2E is not set +# CONFIG_DVB_ATBM8830 is not set +# CONFIG_DVB_HELENE is not set +# CONFIG_DVB_HORUS3A is not set +# CONFIG_DVB_ISL6405 is not set +# CONFIG_DVB_ISL6421 is not set +# CONFIG_DVB_ISL6423 is not set +# CONFIG_DVB_IX2505V is not set +# CONFIG_DVB_LGS8GL5 is not set +# CONFIG_DVB_LGS8GXX is not set +# CONFIG_DVB_LNBH25 is not set +# CONFIG_DVB_LNBH29 is not set +# CONFIG_DVB_LNBP21 is not set +# CONFIG_DVB_LNBP22 is not set +# CONFIG_DVB_M88RS2000 is not set +# CONFIG_DVB_TDA665x is not set +# CONFIG_DVB_DRX39XYJ is not set +# CONFIG_DVB_CXD2099 is not set +# CONFIG_DVB_SP2 is not set +CONFIG_DRM=y +CONFIG_DRM_PANEL_JADARD_JD9365DA_H3=y +CONFIG_DRM_PANEL_STARFIVE_JADARD=y +CONFIG_DRM_PANEL_SIMPLE=y +CONFIG_DRM_TOSHIBA_TC358762=y +CONFIG_DRM_VERISILICON=y +CONFIG_STARFIVE_INNO_HDMI=y +CONFIG_STARFIVE_DSI=y +CONFIG_DRM_IMG_ROGUE=y +CONFIG_FB=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_USB_AUDIO=y +CONFIG_SND_SOC=y +CONFIG_SND_DESIGNWARE_I2S=y +CONFIG_SND_SOC_RZ=m +CONFIG_SND_SOC_STARFIVE=y +CONFIG_SND_SOC_JH7110_PWMDAC=y +CONFIG_SND_SOC_JH7110_TDM=y +CONFIG_SND_SOC_AC108=y +CONFIG_SND_SOC_WM8960=y +CONFIG_SND_SIMPLE_CARD=y +CONFIG_UHID=y +CONFIG_USB=y +CONFIG_USB_OTG=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_RENESAS_USBHS=y +CONFIG_USB_STORAGE=y +CONFIG_USB_UAS=y +CONFIG_USB_CDNS_SUPPORT=y +CONFIG_USB_CDNS3=y +CONFIG_USB_CDNS3_GADGET=y +CONFIG_USB_CDNS3_HOST=y +CONFIG_USB_CDNS3_STARFIVE=y +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_F81232=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_METRO=m +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_SAFE=m +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +CONFIG_USB_SERIAL_XSENS_MT=m +CONFIG_USB_SERIAL_WISHBONE=m +CONFIG_USB_SERIAL_SSU100=m +CONFIG_USB_SERIAL_DEBUG=m +CONFIG_USB_GADGET=y +CONFIG_USB_RENESAS_USBHS_UDC=m +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONFIGFS_ACM=y +CONFIG_USB_CONFIGFS_OBEX=y +CONFIG_USB_CONFIGFS_NCM=y +CONFIG_USB_CONFIGFS_ECM=y +CONFIG_USB_CONFIGFS_ECM_SUBSET=y +CONFIG_USB_CONFIGFS_RNDIS=y +CONFIG_USB_CONFIGFS_EEM=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_MMC=y +CONFIG_MMC_DEBUG=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_OF_DWCMSHC=y +CONFIG_MMC_SPI=y +CONFIG_MMC_SDHI=y +CONFIG_MMC_DW=y +CONFIG_MMC_DW_STARFIVE=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_STARFIVE=y +CONFIG_RTC_DRV_GOLDFISH=y +CONFIG_DMADEVICES=y +CONFIG_AMBA_PL08X=y +CONFIG_DW_AXI_DMAC=y +CONFIG_DMATEST=y +# CONFIG_VIRTIO_MENU is not set +# CONFIG_VHOST_MENU is not set +CONFIG_GOLDFISH=y +# CONFIG_CLK_STARFIVE_JH7100_AUDIO is not set +CONFIG_CLK_STARFIVE_JH7110_AON=y +CONFIG_CLK_STARFIVE_JH7110_STG=y +CONFIG_CLK_STARFIVE_JH7110_ISP=y +CONFIG_CLK_STARFIVE_JH7110_VOUT=y +CONFIG_MAILBOX=y +CONFIG_STARFIVE_IPI_MBOX=y +CONFIG_STARFIVE_MBOX=m +CONFIG_STARFIVE_MBOX_TEST=m +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_RPMSG_CHAR=y +CONFIG_RPMSG_CTRL=y +CONFIG_RPMSG_STARFIVE=m +CONFIG_RPMSG_VIRTIO=y +CONFIG_PM_DEVFREQ=y +CONFIG_IIO=y +CONFIG_IIO_ST_ACCEL_3AXIS=y +CONFIG_PWM=y +CONFIG_PWM_OCORES=y +CONFIG_PHY_STARFIVE_JH7110_PCIE=y +CONFIG_PHY_STARFIVE_JH7110_USB=y +CONFIG_PHY_M31_DPHY_RX0=y +CONFIG_RAS=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_BTRFS_FS=m +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_AUTOFS_FS=y +CONFIG_FUSE_FS=y +CONFIG_CUSE=y +CONFIG_VIRTIO_FS=y +CONFIG_FSCACHE=y +CONFIG_FSCACHE_STATS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_UTF8=y +CONFIG_EXFAT_FS=y +CONFIG_NTFS_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_HUGETLBFS=y +CONFIG_JFFS2_FS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V4=y +CONFIG_NFS_V4_1=y +CONFIG_NFS_V4_2=y +CONFIG_ROOT_NFS=y +CONFIG_CIFS=m +# CONFIG_CIFS_STATS2 is not set +CONFIG_CIFS_UPCALL=y +CONFIG_CIFS_XATTR=y +CONFIG_CIFS_POSIX=y +# CONFIG_CIFS_DEBUG is not set +CONFIG_CIFS_DFS_UPCALL=y +CONFIG_CIFS_FSCACHE=y +CONFIG_SMB_SERVER=m +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_INIT_STACK_NONE=y +CONFIG_CRYPTO_USER=y +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_USER_API_HASH=y +CONFIG_CRYPTO_USER_API_SKCIPHER=y +CONFIG_CRYPTO_USER_API_RNG=y +CONFIG_CRYPTO_USER_API_AEAD=y +CONFIG_CRYPTO_DEV_VIRTIO=y +CONFIG_CRYPTO_DEV_JH7110=y +CONFIG_PRINTK_TIME=y +CONFIG_DEBUG_FS=y +CONFIG_SOFTLOCKUP_DETECTOR=y +CONFIG_WQ_WATCHDOG=y +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_RWSEMS=y +CONFIG_DEBUG_LIST=y +CONFIG_DEBUG_PLIST=y +CONFIG_DEBUG_SG=y +# CONFIG_RCU_TRACE is not set +CONFIG_RCU_EQS_DEBUG=y +# CONFIG_FTRACE is not set +# CONFIG_RUNTIME_TESTING_MENU is not set +CONFIG_MEMTEST=y diff --git a/board/visionfive2/overlay/boot/extlinux/extlinux.conf b/board/visionfive2/overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..fd772f3675b --- /dev/null +++ b/board/visionfive2/overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label linux + kernel /boot/Image + devicetree /boot/jh7110-starfive-visionfive-2-v1.3b.dtb + append console=ttyS0,115200 root=/dev/mmcblk1p3 diff --git a/board/visionfive2/patches/linux-headers/linux-headers.hash b/board/visionfive2/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/visionfive2/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/visionfive2/patches/linux/linux.hash b/board/visionfive2/patches/linux/linux.hash new file mode 100644 index 00000000000..1213da86b17 --- /dev/null +++ b/board/visionfive2/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 643142c1b5991560dd12f950825cc19e4497b95b82641918ecff1177f4130c1d linux-6.12.24.tar.xz diff --git a/board/visionfive2/patches/opensbi/opensbi.hash b/board/visionfive2/patches/opensbi/opensbi.hash new file mode 100644 index 00000000000..d7893a1deec --- /dev/null +++ b/board/visionfive2/patches/opensbi/opensbi.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 d11702103f177a2914e94eec57ce5ed820296d874f6b6525c4482e55d71a3667 opensbi-1.6.tar.gz diff --git a/board/visionfive2/patches/uboot/uboot.hash b/board/visionfive2/patches/uboot/uboot.hash new file mode 100644 index 00000000000..80ea21b7cb4 --- /dev/null +++ b/board/visionfive2/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 439d3bef296effd54130be6a731c5b118be7fddd7fcc663ccbc5fb18294d8718 u-boot-2025.04.tar.bz2 diff --git a/board/visionfive2/post-image.sh b/board/visionfive2/post-image.sh new file mode 100755 index 00000000000..3da106dc269 --- /dev/null +++ b/board/visionfive2/post-image.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +support/scripts/genimage.sh -c board/visionfive2/genimage.cfg +support/scripts/genimage.sh -c board/visionfive2/genimage_spi-nor.cfg diff --git a/board/visionfive2/readme.txt b/board/visionfive2/readme.txt new file mode 100644 index 00000000000..cc4fece6e92 --- /dev/null +++ b/board/visionfive2/readme.txt @@ -0,0 +1,56 @@ +Starfive VisionFive2 +==================== + +The VisionFive2 is a low-cost RISC-V 64-bit based platform, powered by a +Starfive JH7110 processor. + +https://doc-en.rvspace.org/Doc_Center/visionfive_2.html + +How to build +============ + +$ make visionfive2_defconfig +$ make + +Once the build process is finished you will have two images +in the output/images/ directory: +- sdcard.img +- spi-nor.img + +How to write the SPI NOR flash +============================= + +If you have a booting device use u-boot and tftp: + + # tftpboot 0x82000000 spi-nor.img + # sf probe + # sf update 0x82000000 0x0 {filesize} + +Otherwise, follow the recovery instruction: + +https://doc-en.rvspace.org/VisionFive2/Quick_Start_Guide/VisionFive2_SDK_QSG/recovering_bootloader%20-%20vf2.html + +How to write the SD card +======================== + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Preparing the board +=================== + +Connect a TTL UART cable to pin 6 (GND), 8 (TX) and 10 (RX). + +Use the correct mode for booting: +- SD card RGPIO_0=1, GRPIO_1=0 +- SPI NOR flash RGPIO_0=1, GRPIO_1=1 + +Note that Buildroot puts the bootloader both in SPI NOR and on the SD card, +so after flashing as instructed above, either boot mode should work. + +https://doc-en.rvspace.org/VisionFive2/Quick_Start_Guide/VisionFive2_SDK_QSG/boot_mode_settings.html + +Insert your SD card. + +Power-up the board using an USB-C cable. diff --git a/board/wandboard/boot.scr.txt b/board/wandboard/boot.scr.txt deleted file mode 100644 index 7a8aa4bd547..00000000000 --- a/board/wandboard/boot.scr.txt +++ /dev/null @@ -1,7 +0,0 @@ -setenv finduuid "part uuid mmc 0:1 uuid" -run finduuid -run findfdt -setenv bootargs "console=ttymxc0,115200 root=PARTUUID=${uuid} rootwait rootfstype=ext4" -load mmc 0:1 ${fdt_addr} boot/${fdtfile} -load mmc 0:1 ${loadaddr} boot/zImage -bootz ${loadaddr} - ${fdt_addr} diff --git a/board/wandboard/genimage.cfg b/board/wandboard/genimage.cfg deleted file mode 100644 index ad4a6a55d56..00000000000 --- a/board/wandboard/genimage.cfg +++ /dev/null @@ -1,32 +0,0 @@ -# Minimal SD card image for the Wandboard -# -# The SD card must have at least 1 MB free at the beginning. -# U-Boot and its environment are dumped as is. -# A single root filesystem partition is required (Ext4 in this case). -# -# For details about the layout, see: -# http://wiki.wandboard.org/index.php/Boot-process - -image sdcard.img { - hdimage { - } - - partition spl { - in-partition-table = "no" - image = "SPL" - offset = 1024 - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot.img" - offset = 70656 - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - offset = 1M - size = 512M - } -} diff --git a/board/wandboard/post-build.sh b/board/wandboard/post-build.sh deleted file mode 100755 index 43e091c5d72..00000000000 --- a/board/wandboard/post-build.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" - -$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none \ --n "boot script" -d $BOARD_DIR/boot.scr.txt $BOARD_DIR/boot.scr - -install -m 0644 -D $BOARD_DIR/boot.scr $TARGET_DIR/boot/boot.scr diff --git a/board/wandboard/post-image.sh b/board/wandboard/post-image.sh deleted file mode 100755 index 18e76aa40de..00000000000 --- a/board/wandboard/post-image.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env bash - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" - diff --git a/board/wandboard/rootfs_overlay/boot/extlinux/extlinux.conf b/board/wandboard/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..e3b90660c0e --- /dev/null +++ b/board/wandboard/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +Label imx6qdl-wandboard Buildroot + kernel ../zImage + fdtdir ../ + append root=PARTUUID=${uuid} rootwait rw console=${console},${baudrate} diff --git a/board/warp7/readme.txt b/board/warp7/readme.txt index 47458e9b567..39d845bd32d 100644 --- a/board/warp7/readme.txt +++ b/board/warp7/readme.txt @@ -20,7 +20,7 @@ You will find in output/images/ the following files: - rootfs.ext4 - rootfs.tar - sdcard.img - - u-boot.imx + - u-boot-dtb.imx - zImage Flash the eMMC image @@ -61,11 +61,11 @@ Connect a USB to serial adapter between the host PC and warp7 serial USB port, and also a USB cable between the OTG warp7 port and the host PC. -Copy u-boot.imx to the imx_usb_loader folder. +Copy u-boot-dtb.imx to the imx_usb_loader folder. -Load u-boot.imx via USB: +Load u-boot-dtb.imx via USB: -$ sudo ./imx_usb u-boot.imx +$ sudo ./imx_usb u-boot-dtb.imx Then U-Boot should start and its messages will appear in the console program. @@ -75,6 +75,20 @@ Use the default environment variables: => env default -f -a => saveenv + +Run the DFU command: +=> dfu 0 mmc 0 + +Transfer u-boot-dtb.imx that will be flashed into the eMMC: + +$ sudo dfu-util -D u-boot-dtb.imx -a boot + +Then on the U-Boot prompt the following message should be seen after a +successful upgrade: + +#DOWNLOAD ... OK +Ctrl+C to exit ... + => ums 0 mmc 0 sudo dd if=output/images/sdcard.img of=/dev/ @@ -93,11 +107,9 @@ To boot your newly created system: Using Wifi ========== -# modprobe brcmfmac -# iwconfig wlan0 essid ACCESSPOINTNAME # wpa_passphrase ACCESSPOINTNAME > /etc/wpa.conf (enter the wifi password and press enter) -# wpa_supplicant -Dwext -iwlan0 -c /etc/wpa.conf & +# wpa_supplicant -iwlan0 -c /etc/wpa.conf & # udhcpc -i wlan0 # ping buildroot.org diff --git a/board/xilinx/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/xilinx/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..88e212d76dd --- /dev/null +++ b/board/xilinx/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,5 @@ +# Locally calculated +sha256 ea59fbfb702857a24f96ee8e9cf04f997942db1de98f8406b7daf9dcc8f4e9ea xlnx_rebase_v2.12_2025.2.tar.gz + +# Locally calculated +sha256 b2c79635797bafcde84c6edadadde290b9d5e05deb3ea16a847210fd2ca83669 docs/license.rst diff --git a/board/xilinx/patches/linux-headers/linux-headers.hash b/board/xilinx/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/xilinx/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/xilinx/patches/linux/linux.hash b/board/xilinx/patches/linux/linux.hash new file mode 100644 index 00000000000..bedb88c7ff9 --- /dev/null +++ b/board/xilinx/patches/linux/linux.hash @@ -0,0 +1,7 @@ +# Locally calculated +sha256 002fa6c617d3d3eaf1e16219079f4e4303b84ea472b2b3c5d47f766a106a79c7 xlnx_rebase_v6.12_LTS_merge_6.12.70.tar.gz + +# Locally calculated +sha256 fb5a425bd3b3cd6071a3a9aff9909a859e7c1158d54d32e07658398cd67eb6a0 COPYING +sha256 f6b78c087c3ebdf0f3c13415070dd480a3f35d8fc76f3d02180a407c1c812f79 LICENSES/preferred/GPL-2.0 +sha256 8e378ab93586eb55135d3bc119cce787f7324f48394777d00c34fa3d0be3303f LICENSES/exceptions/Linux-syscall-note diff --git a/board/xilinx/patches/optee-os/optee-os.hash b/board/xilinx/patches/optee-os/optee-os.hash new file mode 100644 index 00000000000..69bca843145 --- /dev/null +++ b/board/xilinx/patches/optee-os/optee-os.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 3b8969a25815a0be84f34033827e5eb557e10f0f13ebabaee339461f8520ec72 xlnx_rebase_v4.5.0_2025.2.tar.gz diff --git a/board/xilinx/patches/uboot/uboot.hash b/board/xilinx/patches/uboot/uboot.hash new file mode 100644 index 00000000000..6ef11ef02c3 --- /dev/null +++ b/board/xilinx/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 8819cbebda739436d5d2fbdef578ec3c9b902f7edbe0ce4ed6f0ddf254fcf2a7 xlnx_rebase_v2025.01_2025.2.tar.gz diff --git a/board/zynq/extlinux.conf b/board/zynq/extlinux.conf new file mode 100644 index 00000000000..3c2ab4f46a3 --- /dev/null +++ b/board/zynq/extlinux.conf @@ -0,0 +1,4 @@ +label linux + kernel /uImage + devicetree /system.dtb + append console=ttyPS0,115200 root=/dev/mmcblk0p2 rw rootwait diff --git a/board/zynq/genimage.cfg b/board/zynq/genimage.cfg new file mode 100644 index 00000000000..78eb9275dd3 --- /dev/null +++ b/board/zynq/genimage.cfg @@ -0,0 +1,32 @@ +image boot.vfat { + vfat { + files = { + "boot.bin", + "u-boot.img", + "system.dtb", + "uImage" + } + + file extlinux/extlinux.conf { + image = extlinux.conf + } + } + + size = 32M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/zynq/post-build.sh b/board/zynq/post-build.sh new file mode 100755 index 00000000000..810fe998794 --- /dev/null +++ b/board/zynq/post-build.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# genimage will need to find the extlinux.conf +# in the binaries directory + +BOARD_DIR="$(dirname "$0")" + +install -m 0644 -D "${BOARD_DIR}/extlinux.conf" "${BINARIES_DIR}/extlinux.conf" diff --git a/board/zynq/post-image.sh b/board/zynq/post-image.sh new file mode 120000 index 00000000000..775184415df --- /dev/null +++ b/board/zynq/post-image.sh @@ -0,0 +1 @@ +../zynqmp/post-image.sh \ No newline at end of file diff --git a/board/zynq/readme.txt b/board/zynq/readme.txt index c5506fe9668..225af4b9dcf 100644 --- a/board/zynq/readme.txt +++ b/board/zynq/readme.txt @@ -1,7 +1,8 @@ This is the Buildroot support for Zynq boards. Zynq boards are available from Xilinx and some third party vendors, but the build procedure is very similar. -Currently, three boards are natively supported by Buildroot: +Currently, four boards are natively supported by Buildroot: + - Xilinx ZC702 board (zynq_zc702_defconfig) - Xilinx ZC706 board (zynq_zc706_defconfig) - Avnet ZedBoard (zynq_zed_defconfig) - Avnet MicroZed (zynq_microzed_defconfig) @@ -9,18 +10,19 @@ Currently, three boards are natively supported by Buildroot: Steps to create a working system for a Zynq board: 1) Configuration (do one of the following) + make zynq_zc702_defconfig (ZC702) make zynq_zc706_defconfig (ZC706) make zynq_zed_defconfig (Zedboard) make zynq_microzed_defconfig (MicroZed) 2) make 3) All needed files will be available in the output/images directory. - Create a FAT32 partition at the beginning of your SD Card and copy files: - - boot.bin - - u-boot.img - - uImage - - uramdisk.image.gz (should be renamed from rootfs.cpio.uboot) - - devicetree.dtb (should be renamed from zynq-***.dtb) - into your SD card + The sdcard.img file is a complete bootable image ready to be written + on the boot medium. To install it, simply copy the image to an SD + card: + + # dd if=output/images/sdcard.img of=/dev/sdX + + Where 'sdX' is the device node of the uSD. 4) boot your board You can alter the booting procedure by creating a file uEnv.txt @@ -31,18 +33,19 @@ kernel_image=myimage modeboot=myboot myboot=... -Note: -The DTB for MicroZed is the same as the one for the Zedboard (zynq-zed.dtb), -and this is the recommended solution, see -https://forums.xilinx.com/t5/Embedded-Linux/Microzed-default-device-tree-dts/td-p/432856. - References: + - ZC702 information including schematics, reference designs, and manuals are + available from + https://www.amd.com/en/products/adaptive-socs-and-fpgas/evaluation-boards/ek-z7-zc702-g.html + - ZC706 information including schematics, reference designs, and manuals are available from - http://www.xilinx.com/products/boards-and-kits/ek-z7-zc706-g.html. + https://www.amd.com/en/products/adaptive-socs-and-fpgas/evaluation-boards/ek-z7-zc706-g.html - Zedboard/Microzed information including schematics, reference designs, and - manuals are available from http://www.zedboard.org . + manuals are available from + https://www.avnet.com/americas/products/avnet-boards/avnet-board-families/zedboard/ + https://www.tria-technologies.com/product/microzed/ Support for other boards: @@ -52,7 +55,7 @@ the upstream kernel and U-Boot, you simply need to change the following Buildroot options: - Kernel Device Tree file name (BR2_LINUX_KERNEL_INTREE_DTS_NAME) - - U-Boot board defconfig (BR2_TARGET_UBOOT_BOARD_DEFCONFIG) + - U-Boot (BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=") Custom ps7_init_gpl.c/h support: @@ -61,7 +64,7 @@ the U-Boot source tree. Without those files, boot.bin will be built successfully but it will not be functional at all. Those files are output from the Xilinx tools, but for convenience, U-Boot includes the default ps7_init_gpl.c/h of popular boards. Those files may need to be -updated for any programmable logic customizations which impact +updated for any programmable logic or DDR customizations which impact ps7_init (clock/pin setup & mapping/AXI bridge setup/etc). See board/xilinx/zynq/ directory of U-Boot for natively supported ps7_init files. If the ps7_init files for your board are not found in U-Boot, @@ -70,17 +73,18 @@ you need to add them by yourself. 1) Start with a defconfig supported by Buildroot (e.g. Zedboard) make zynq_zed_defconfig -2) make uboot-menuconfig - Visit the following menu and enable CONFIG_ZYNQ_CUSTOM_INIT. +2) make menuconfig + Visit the following menu to enable BR2_TARGET_UBOOT_ZYNQ - ARM architecture ---> - [*] Use custom ps7_init provided by Xilinx tool + Bootloaders ---> + U-Boot ---> + [*] Boot on the Xilinx Zynq SoCs -3) Copy ps7_init_gpl.c/h generated by the Xilinx tools into - output/build/uboot-xilinx-/board/xilinx/zynq/custom_hw_platform/ +3) make menuconfig + In the same menu, configure BR2_TARGET_UBOOT_ZYNQ_PS7_INIT_FILE -4) make + Bootloaders ---> + U-Boot ---> + () Custom ps7_init_gpl file -Note: The files in step 3 will need to be re-copied after cleaning the -output directory and at this time, there is no way to save them as -part of the buildroot configuration, except as a U-Boot patch. +4) make diff --git a/board/zynqmp/genimage.cfg b/board/zynqmp/genimage.cfg new file mode 100644 index 00000000000..193aff2a2db --- /dev/null +++ b/board/zynqmp/genimage.cfg @@ -0,0 +1,32 @@ +image boot.vfat { + vfat { + files = { + "boot.bin", + "u-boot.itb", + "qspi.bin", + "system.dtb", + "Image" + } + file extlinux/extlinux.conf { + image = extlinux.conf + } + } + + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/zynqmp/kria/kd240/pm_cfg_obj.c b/board/zynqmp/kria/kd240/pm_cfg_obj.c new file mode 100644 index 00000000000..13061ddcb33 --- /dev/null +++ b/board/zynqmp/kria/kd240/pm_cfg_obj.c @@ -0,0 +1,494 @@ +/****************************************************************************** +* Copyright (c) 2017 - 2021 Xilinx, Inc. All rights reserved. +* SPDX-License-Identifier: MIT +******************************************************************************/ + +#include "xil_types.h" +#include "pm_defs.h" + +#define PM_CONFIG_MASTER_SECTION_ID 0x101U +#define PM_CONFIG_SLAVE_SECTION_ID 0x102U +#define PM_CONFIG_PREALLOC_SECTION_ID 0x103U +#define PM_CONFIG_POWER_SECTION_ID 0x104U +#define PM_CONFIG_RESET_SECTION_ID 0x105U +#define PM_CONFIG_SHUTDOWN_SECTION_ID 0x106U +#define PM_CONFIG_SET_CONFIG_SECTION_ID 0x107U +#define PM_CONFIG_GPO_SECTION_ID 0x108U + +#define PM_SLAVE_FLAG_IS_SHAREABLE 0x1U +#define PM_MASTER_USING_SLAVE_MASK 0x2U + +#define PM_CONFIG_GPO1_MIO_PIN_34_MAP (1U << 10U) +#define PM_CONFIG_GPO1_MIO_PIN_35_MAP (1U << 11U) +#define PM_CONFIG_GPO1_MIO_PIN_36_MAP (1U << 12U) +#define PM_CONFIG_GPO1_MIO_PIN_37_MAP (1U << 13U) + +#define PM_CONFIG_GPO1_BIT_2_MASK (1U << 2U) +#define PM_CONFIG_GPO1_BIT_3_MASK (1U << 3U) +#define PM_CONFIG_GPO1_BIT_4_MASK (1U << 4U) +#define PM_CONFIG_GPO1_BIT_5_MASK (1U << 5U) + +#define SUSPEND_TIMEOUT 0xFFFFFFFFU + +#define PM_CONFIG_OBJECT_TYPE_BASE 0x1U + + +#define PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK 0x00000001 +#define PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK 0x00000100 +#define PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK 0x00000200 + + + +#if defined (__ICCARM__) +#pragma language=save +#pragma language=extended +#endif +#if defined (__GNUC__) + const u32 XPm_ConfigObject[] __attribute__((used, section(".sys_cfg_data"))) = +#elif defined (__ICCARM__) +#pragma location = ".sys_cfg_data" +__root const u32 XPm_ConfigObject[] = +#endif +{ + /**********************************************************************/ + /* HEADER */ + 2, /* Number of remaining words in the header */ + 8, /* Number of sections included in config object */ + PM_CONFIG_OBJECT_TYPE_BASE, /* Type of config object as base */ + /**********************************************************************/ + /* MASTER SECTION */ + PM_CONFIG_MASTER_SECTION_ID, /* Master SectionID */ + 3U, /* No. of Masters*/ + + NODE_APU, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_0, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_1, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Wake permissions */ + + + /**********************************************************************/ + /* SLAVE SECTION */ + + + PM_CONFIG_SLAVE_SECTION_ID, /* Section ID */ + 35, /* Number of slaves */ + + NODE_OCM_BANK_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_0_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_0_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_1_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_1_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_L2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_USB_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ETH_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_UART_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_UART_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SPI_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_I2C_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DP, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GDMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ADMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_QSPI, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPIO, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_CAN_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_EXTERN, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DDR, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_IPI_APU, + 0U, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_0, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_1, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_RTC, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_PL, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + + /**********************************************************************/ + /* PREALLOC SECTION */ + + PM_CONFIG_PREALLOC_SECTION_ID, /* Preallaoc SectionID */ + 3U, /* No. of Masters*/ + + /* Prealloc for psu_cortexa53_0 */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, + 10, + NODE_DDR, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_L2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_3, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_I2C_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_QSPI, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_PL, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_APU, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_0 */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + 3, + NODE_TCM_0_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_0_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_1 */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + 3, + NODE_TCM_1_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_1_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + + /**********************************************************************/ + /* POWER SECTION */ + + PM_CONFIG_POWER_SECTION_ID, /* Power Section ID */ + 4U, /* Number of power nodes */ + + NODE_APU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_RPU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_FPD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_PLD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + + /**********************************************************************/ + /* RESET SECTION */ + + PM_CONFIG_RESET_SECTION_ID, /* Reset Section ID */ + 120U, /* Number of resets */ + + XILPM_RESET_PCIE_CFG, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_BRIDGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_CTRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRF, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GDMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SATA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APU_L2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DDR, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SOFT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_QSPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_NAND, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ADMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOU_CC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TIMESTAMP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R50, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R51, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_AMBA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_OCM, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_PGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RTC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SYSMON, 0, + XILPM_RESET_AFI_FM6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_LPD_SWDT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_FPD, PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + XILPM_RESET_RPU_DBG1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_DBG0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_VPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_7, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_8, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_9, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_10, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_11, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_12, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_13, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_14, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_15, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_16, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_17, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_18, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_19, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_20, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_21, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_22, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_23, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_24, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_25, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_26, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_27, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_28, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_29, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_30, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_31, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_LS, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PS_ONLY, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_92, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_93, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_94, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_95, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + + /**********************************************************************/ + /* SET CONFIG SECTION */ + PM_CONFIG_SET_CONFIG_SECTION_ID, /* Set Config Section ID */ + 0U, /* Permissions to load base config object */ + 0U, /* Permissions to load overlay config object */ + + /**********************************************************************/ + /* SHUTDOWN SECTION */ + + PM_CONFIG_SHUTDOWN_SECTION_ID, /* Shutdown Section ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* System Shutdown/Restart Permission */ + + /**********************************************************************/ + /* GPO SECTION */ + PM_CONFIG_GPO_SECTION_ID, /* GPO Section ID */ + 0, /* State of GPO pins */ +}; +#if defined (__ICCARM__) +#pragma language=restore +#endif diff --git a/board/zynqmp/kria/kr260/pm_cfg_obj.c b/board/zynqmp/kria/kr260/pm_cfg_obj.c new file mode 100644 index 00000000000..9692a30d370 --- /dev/null +++ b/board/zynqmp/kria/kr260/pm_cfg_obj.c @@ -0,0 +1,496 @@ +/****************************************************************************** +* Copyright (c) 2017 - 2021 Xilinx, Inc. All rights reserved. +* SPDX-License-Identifier: MIT +******************************************************************************/ + +#include "xil_types.h" +#include "pm_defs.h" + +#define PM_CONFIG_MASTER_SECTION_ID 0x101U +#define PM_CONFIG_SLAVE_SECTION_ID 0x102U +#define PM_CONFIG_PREALLOC_SECTION_ID 0x103U +#define PM_CONFIG_POWER_SECTION_ID 0x104U +#define PM_CONFIG_RESET_SECTION_ID 0x105U +#define PM_CONFIG_SHUTDOWN_SECTION_ID 0x106U +#define PM_CONFIG_SET_CONFIG_SECTION_ID 0x107U +#define PM_CONFIG_GPO_SECTION_ID 0x108U + +#define PM_SLAVE_FLAG_IS_SHAREABLE 0x1U +#define PM_MASTER_USING_SLAVE_MASK 0x2U + +#define PM_CONFIG_GPO1_MIO_PIN_34_MAP (1U << 10U) +#define PM_CONFIG_GPO1_MIO_PIN_35_MAP (1U << 11U) +#define PM_CONFIG_GPO1_MIO_PIN_36_MAP (1U << 12U) +#define PM_CONFIG_GPO1_MIO_PIN_37_MAP (1U << 13U) + +#define PM_CONFIG_GPO1_BIT_2_MASK (1U << 2U) +#define PM_CONFIG_GPO1_BIT_3_MASK (1U << 3U) +#define PM_CONFIG_GPO1_BIT_4_MASK (1U << 4U) +#define PM_CONFIG_GPO1_BIT_5_MASK (1U << 5U) + +#define SUSPEND_TIMEOUT 0xFFFFFFFFU + +#define PM_CONFIG_OBJECT_TYPE_BASE 0x1U + + +#define PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK 0x00000001 +#define PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK 0x00000100 +#define PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK 0x00000200 + + + +#if defined (__ICCARM__) +#pragma language=save +#pragma language=extended +#endif +#if defined (__GNUC__) + const u32 XPm_ConfigObject[] __attribute__((used, section(".sys_cfg_data"))) = +#elif defined (__ICCARM__) +#pragma location = ".sys_cfg_data" +__root const u32 XPm_ConfigObject[] = +#endif +{ + /**********************************************************************/ + /* HEADER */ + 2, /* Number of remaining words in the header */ + 8, /* Number of sections included in config object */ + PM_CONFIG_OBJECT_TYPE_BASE, /* Type of config object as base */ + /**********************************************************************/ + /* MASTER SECTION */ + PM_CONFIG_MASTER_SECTION_ID, /* Master SectionID */ + 3U, /* No. of Masters*/ + + NODE_APU, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_0, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_1, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Wake permissions */ + + + /**********************************************************************/ + /* SLAVE SECTION */ + + + PM_CONFIG_SLAVE_SECTION_ID, /* Section ID */ + 35, /* Number of slaves */ + + NODE_OCM_BANK_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_0_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_0_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_1_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_1_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_L2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_USB_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_USB_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ETH_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ETH_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_UART_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SPI_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_I2C_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DP, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GDMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ADMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_QSPI, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPIO, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_EXTERN, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DDR, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_IPI_APU, + 0U, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_0, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_1, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_RTC, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_PL, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + + /**********************************************************************/ + /* PREALLOC SECTION */ + + PM_CONFIG_PREALLOC_SECTION_ID, /* Preallaoc SectionID */ + 3U, /* No. of Masters*/ + +/* Prealloc for psu_cortexa53_0 */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, + 10, + NODE_DDR, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_L2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_3, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_I2C_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_QSPI, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_PL, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_APU, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_0 */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + 3, + NODE_TCM_0_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_0_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_1 */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + 3, + NODE_TCM_1_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_1_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + + /**********************************************************************/ + /* POWER SECTION */ + + PM_CONFIG_POWER_SECTION_ID, /* Power Section ID */ + 4U, /* Number of power nodes */ + + NODE_APU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_RPU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_FPD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_PLD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + + /**********************************************************************/ + /* RESET SECTION */ + + PM_CONFIG_RESET_SECTION_ID, /* Reset Section ID */ + 120U, /* Number of resets */ + + XILPM_RESET_PCIE_CFG, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_BRIDGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_CTRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRF, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GDMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SATA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APU_L2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DDR, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SOFT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_QSPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_NAND, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ADMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOU_CC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TIMESTAMP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R50, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R51, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_AMBA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_OCM, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_PGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RTC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SYSMON, 0, + XILPM_RESET_AFI_FM6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_LPD_SWDT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_FPD, PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + XILPM_RESET_RPU_DBG1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_DBG0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_VPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_7, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_8, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_9, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_10, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_11, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_12, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_13, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_14, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_15, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_16, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_17, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_18, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_19, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_20, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_21, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_22, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_23, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_24, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_25, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_26, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_27, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_28, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_29, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_30, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_31, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_LS, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PS_ONLY, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_92, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_93, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_94, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_95, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + + /**********************************************************************/ + /* SET CONFIG SECTION */ + PM_CONFIG_SET_CONFIG_SECTION_ID, /* Set Config Section ID */ + 0U, /* Permissions to load base config object */ + 0U, /* Permissions to load overlay config object */ + + /**********************************************************************/ + /* SHUTDOWN SECTION */ + + PM_CONFIG_SHUTDOWN_SECTION_ID, /* Shutdown Section ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* System Shutdown/Restart Permission */ + + /**********************************************************************/ + /* GPO SECTION */ + PM_CONFIG_GPO_SECTION_ID, /* GPO Section ID */ + PM_CONFIG_GPO1_MIO_PIN_35_MAP | + 0, /* State of GPO pins */ +}; +#if defined (__ICCARM__) +#pragma language=restore +#endif + diff --git a/board/zynqmp/kria/kv260/pm_cfg_obj.c b/board/zynqmp/kria/kv260/pm_cfg_obj.c new file mode 100644 index 00000000000..fc6c4024c63 --- /dev/null +++ b/board/zynqmp/kria/kv260/pm_cfg_obj.c @@ -0,0 +1,497 @@ +/****************************************************************************** +* Copyright (c) 2017 - 2021 Xilinx, Inc. All rights reserved. +* SPDX-License-Identifier: MIT +******************************************************************************/ + +#include "xil_types.h" +#include "pm_defs.h" + +#define PM_CONFIG_MASTER_SECTION_ID 0x101U +#define PM_CONFIG_SLAVE_SECTION_ID 0x102U +#define PM_CONFIG_PREALLOC_SECTION_ID 0x103U +#define PM_CONFIG_POWER_SECTION_ID 0x104U +#define PM_CONFIG_RESET_SECTION_ID 0x105U +#define PM_CONFIG_SHUTDOWN_SECTION_ID 0x106U +#define PM_CONFIG_SET_CONFIG_SECTION_ID 0x107U +#define PM_CONFIG_GPO_SECTION_ID 0x108U + +#define PM_SLAVE_FLAG_IS_SHAREABLE 0x1U +#define PM_MASTER_USING_SLAVE_MASK 0x2U + +#define PM_CONFIG_GPO1_MIO_PIN_34_MAP (1U << 10U) +#define PM_CONFIG_GPO1_MIO_PIN_35_MAP (1U << 11U) +#define PM_CONFIG_GPO1_MIO_PIN_36_MAP (1U << 12U) +#define PM_CONFIG_GPO1_MIO_PIN_37_MAP (1U << 13U) + +#define PM_CONFIG_GPO1_BIT_2_MASK (1U << 2U) +#define PM_CONFIG_GPO1_BIT_3_MASK (1U << 3U) +#define PM_CONFIG_GPO1_BIT_4_MASK (1U << 4U) +#define PM_CONFIG_GPO1_BIT_5_MASK (1U << 5U) + +#define SUSPEND_TIMEOUT 0xFFFFFFFFU + +#define PM_CONFIG_OBJECT_TYPE_BASE 0x1U + + +#define PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK 0x00000001 +#define PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK 0x00000100 +#define PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK 0x00000200 + + + +#if defined (__ICCARM__) +#pragma language=save +#pragma language=extended +#endif +#if defined (__GNUC__) + const u32 XPm_ConfigObject[] __attribute__((used, section(".sys_cfg_data"))) = +#elif defined (__ICCARM__) +#pragma location = ".sys_cfg_data" +__root const u32 XPm_ConfigObject[] = +#endif +{ + /**********************************************************************/ + /* HEADER */ + 2, /* Number of remaining words in the header */ + 8, /* Number of sections included in config object */ + PM_CONFIG_OBJECT_TYPE_BASE, /* Type of config object as base */ + /**********************************************************************/ + /* MASTER SECTION */ + PM_CONFIG_MASTER_SECTION_ID, /* Master SectionID */ + 3U, /* No. of Masters*/ + + NODE_APU, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_0, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_1, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Wake permissions */ + + + /**********************************************************************/ + /* SLAVE SECTION */ + + + PM_CONFIG_SLAVE_SECTION_ID, /* Section ID */ + 34, /* Number of slaves */ + + NODE_OCM_BANK_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_0_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_0_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_1_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_1_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_L2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_USB_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ETH_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_UART_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SPI_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_I2C_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SD_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DP, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GDMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ADMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_QSPI, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPIO, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_EXTERN, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DDR, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_IPI_APU, + 0U, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_0, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_1, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_RTC, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_PL, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + + /**********************************************************************/ + /* PREALLOC SECTION */ + + PM_CONFIG_PREALLOC_SECTION_ID, /* Preallaoc SectionID */ + 3U, /* No. of Masters*/ + +/* Prealloc for psu_cortexa53_0 */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, + 11, + NODE_DDR, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_L2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_3, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_I2C_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_SD_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_QSPI, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_PL, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_APU, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_0 */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + 3, + NODE_TCM_0_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_0_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_1 */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + 3, + NODE_TCM_1_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_1_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + + /**********************************************************************/ + /* POWER SECTION */ + + PM_CONFIG_POWER_SECTION_ID, /* Power Section ID */ + 4U, /* Number of power nodes */ + + NODE_APU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_RPU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_FPD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_PLD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + + /**********************************************************************/ + /* RESET SECTION */ + + PM_CONFIG_RESET_SECTION_ID, /* Reset Section ID */ + 120U, /* Number of resets */ + + XILPM_RESET_PCIE_CFG, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_BRIDGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_CTRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRF, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GDMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SATA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APU_L2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DDR, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SOFT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_QSPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_NAND, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ADMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOU_CC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TIMESTAMP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R50, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R51, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_AMBA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_OCM, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_PGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RTC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SYSMON, 0, + XILPM_RESET_AFI_FM6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_LPD_SWDT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_FPD, PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + XILPM_RESET_RPU_DBG1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_DBG0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_VPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_7, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_8, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_9, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_10, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_11, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_12, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_13, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_14, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_15, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_16, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_17, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_18, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_19, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_20, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_21, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_22, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_23, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_24, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_25, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_26, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_27, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_28, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_29, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_30, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_31, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_LS, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PS_ONLY, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_92, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_93, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_94, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_95, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + + /**********************************************************************/ + /* SET CONFIG SECTION */ + PM_CONFIG_SET_CONFIG_SECTION_ID, /* Set Config Section ID */ + 0U, /* Permissions to load base config object */ + 0U, /* Permissions to load overlay config object */ + + /**********************************************************************/ + /* SHUTDOWN SECTION */ + + PM_CONFIG_SHUTDOWN_SECTION_ID, /* Shutdown Section ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* System Shutdown/Restart Permission */ + + /**********************************************************************/ + /* GPO SECTION */ + PM_CONFIG_GPO_SECTION_ID, /* GPO Section ID */ + PM_CONFIG_GPO1_MIO_PIN_35_MAP | + 0, /* State of GPO pins */ +}; +#if defined (__ICCARM__) +#pragma language=restore +#endif + diff --git a/board/zynqmp/kria/readme.txt b/board/zynqmp/kria/readme.txt new file mode 100644 index 00000000000..8d008332bf4 --- /dev/null +++ b/board/zynqmp/kria/readme.txt @@ -0,0 +1,108 @@ +************************************************** +Xilinx Kria SOM Starter Kits - ZynqMP SoC +************************************************** + +This document describes the Buildroot support for the Kria KD240, +KR260 and KV260 starter kits by Xilinx, based on Kria SOM including the +Zynq UltraScale+ MPSoC (aka ZynqMP). It has been tested with +the KD240, KR260 and KV260 production boards. + +Evaluation board features can be found here with the links below. + +KD240: +https://www.amd.com/en/products/system-on-modules/kria/k24/kd240-drives-starter-kit.html + +KR260: +https://www.amd.com/en/products/system-on-modules/kria/k26/kr260-robotics-starter-kit.html + +KV260: +https://www.amd.com/en/products/system-on-modules/kria/k26/kv260-vision-starter-kit.html + +How to build it +=============== + +Configure Buildroot: (use the command for the specific board) + + $ make zynqmp_kria_kd240_defconfig + $ make zynqmp_kria_kr260_defconfig + $ make zynqmp_kria_kv260_defconfig + +Compile everything and build the rootfs image: + + $ make + +Result of the build +------------------- + +After building, you should get a tree like this: + + output/images/ + +-- atf-uboot.ub + +-- bl31.bin + +-- boot.bin + +-- boot.vfat + +-- Image + +-- qspi.bin + +-- rootfs.ext2 + +-- rootfs.ext4 -> rootfs.ext2 + +-- sdcard.img + +-- system.dtb -> smk-k26-revA-sck-kv-g-revB.dtb + +-- u-boot.itb + `-- smk-k26-revA-sck-kv-g-revB.dtb + +How to write the SD card +======================== + +WARNING! This will destroy all the card content. Use with care! + +The sdcard.img file is a complete bootable image ready to be written +on the boot medium. To install it, simply copy the image to an SD +card: + + # dd if=output/images/sdcard.img of=/dev/sdX + +Where 'sdX' is the device node of the SD. + +Eject the SD card, insert it in the board, and power it up. + +How to write boot.bin and u-boot.itb to QSPI boot flash +======================================================= + +The Kria SOMs are preconfigured to boot initially from QSPI. +This makes these boards different from other ZynqMP boards +in that the boot.bin and u-boot.itb files need to be flashed +into the QSPI boot flash such that U-Boot can then load all +of the remaining images from the SD card. + +In addition, the Kria Starter Kits QSPI comes pre-flashed with +a utility designed to make updating the QSPI flash memory +easier. + +Instructions for using these utilities to update the files +in QSPI flash can be found on the wiki link below. + +Please note that since the BIRT utility requires a single file +for flashing, the qspi.bin should be used as either ImageA or +ImageB. The qspi.bin is a unified binary containing both the +boot.bin and u-boot.itb files in a single binary. + +https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1641152513/Kria+SOMs+Starter+Kits#Boot-FW-Update-Process + +Additionally, it is possible to use u-boot for updating the +QSPI with new qspi.bin image with the u-boot commands below. + +KV260 Flashing Instructions: + $ sf probe + $ fatload mmc 1 0x1000000 qspi.bin + $ sf erase 0x200000 +$filesize + $ sf write 0x1000000 0x200000 $filesize + +KD240 / KR260 Flashing Instructions: + $ usb start + $ sf probe + $ fatload usb 0 0x1000000 qspi.bin + $ sf erase 0x200000 +$filesize + $ sf write 0x1000000 0x200000 $filesize + +It is possible to boot the Buildroot generated SD card image without +updating the QSPI qspi.bin image, so this is an optional step. diff --git a/board/zynqmp/post-build.sh b/board/zynqmp/post-build.sh new file mode 100755 index 00000000000..747991e3f1d --- /dev/null +++ b/board/zynqmp/post-build.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# genimage will need to find the extlinux.conf +# in the binaries directory + +CONSOLE="$2" +ROOT="$3" + +mkdir -p "${BINARIES_DIR}" +cat <<-__HEADER_EOF > "${BINARIES_DIR}/extlinux.conf" + label linux + kernel /Image + devicetree /system.dtb + append console="${CONSOLE}" root="/dev/${ROOT}" rw rootwait + __HEADER_EOF diff --git a/board/zynqmp/post-image.sh b/board/zynqmp/post-image.sh new file mode 100755 index 00000000000..f44b66342d4 --- /dev/null +++ b/board/zynqmp/post-image.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# By default U-Boot loads DTB from a file named "system.dtb", so +# let's use a symlink with that name that points to the *first* +# devicetree listed in the config. + +FIRST_DT=$(sed -nr \ + -e 's|^BR2_LINUX_KERNEL_INTREE_DTS_NAME="(xilinx/)?([-_/[:alnum:]\\.]*).*"$|\2|p' \ + "${BR2_CONFIG}") + +[ -z "${FIRST_DT}" ] || ln -fs "${FIRST_DT}.dtb" "${BINARIES_DIR}/system.dtb" + +BOARD_DIR="$(dirname "$0")" + +support/scripts/genimage.sh -c "${BOARD_DIR}/genimage.cfg" diff --git a/board/zynqmp/readme.txt b/board/zynqmp/readme.txt new file mode 100644 index 00000000000..12b81f4a076 --- /dev/null +++ b/board/zynqmp/readme.txt @@ -0,0 +1,127 @@ +*************************************************** +Xilinx ZCU102 / ZCU104 / ZCU106 boards - ZynqMP SoC +*************************************************** + +This document describes the Buildroot support for the ZCU102, ZCU104 +and ZCU106 boards by Xilinx, based on the Zynq UltraScale+ MPSoC (aka +ZynqMP). It has been tested with the ZCU102 and ZCU106 production +boards. + +Evaluation board features can be found here with the links below. + +ZCU102: +https://www.amd.com/en/products/adaptive-socs-and-fpgas/evaluation-boards/ek-u1-zcu102-g.html + +ZCU104: +https://www.amd.com/en/products/adaptive-socs-and-fpgas/evaluation-boards/zcu104.html + +ZCU106: +https://www.amd.com/en/products/adaptive-socs-and-fpgas/evaluation-boards/zcu106.html + + +How to build it +=============== + +Configure Buildroot: (use the command for the specific board) + + $ make zynqmp_zcu102_defconfig + $ make zynqmp_zcu104_defconfig + $ make zynqmp_zcu106_defconfig + +Compile everything and build the rootfs image: + + $ make + +Result of the build +------------------- + +After building, you should get a tree like this: + + output/images/ + +-- atf-uboot.ub + +-- bl31.bin + +-- boot.bin + +-- boot.vfat + +-- Image + +-- rootfs.ext2 + +-- rootfs.ext4 -> rootfs.ext2 + +-- sdcard.img + +-- system.dtb -> zynqmp-zcu106-revA.dtb + +-- u-boot.itb + `-- zynqmp-zcu106-revA.dtb + +How to write the SD card +======================== + +WARNING! This will destroy all the card content. Use with care! + +The sdcard.img file is a complete bootable image ready to be written +on the boot medium. To install it, simply copy the image to an SD +card: + + # dd if=output/images/sdcard.img of=/dev/sdX + +Where 'sdX' is the device node of the SD. + +Eject the SD card, insert it in the board, and power it up. + +Support for other boards: +========================= + +If you want to build a system for other boards based on the same SoC, and the +board is already supported by the upstream kernel and U-Boot, you simply need +to change the following Buildroot options: + + - Kernel Device Tree file name (BR2_LINUX_KERNEL_INTREE_DTS_NAME) + - U-Boot (BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=") + +Custom psu_init_gpl.c/h support: + +To generate a working boot.bin image, psu_init_gpl.c/h are required in +the U-Boot source tree. Without those files, boot.bin will be built +successfully but it will not be functional at all. Those files are +output from the Xilinx tools, but for convenience, U-Boot includes the +default psu_init_gpl.c/h of popular boards. Those files may need to be +updated for any programmable logic or DDR customizations which impact +psu_init (clock/pin setup & mapping/AXI bridge setup/etc). See +board/xilinx/zynqmp/ directory of U-Boot for natively supported psu_init +files. If the psu_init files for your board are not found in U-Boot, +you need to add them using BR2_TARGET_UBOOT_ZYNQMP_PSU_INIT_FILE. + +1) Start with a defconfig supported by Buildroot (e.g. ZCU106) + make zynqmp_zcu106_defconfig + +2) make menuconfig + Visit the following menu to configure BR2_TARGET_UBOOT_ZYNQMP_PSU_INIT_FILE + + Bootloaders ---> + U-Boot ---> + () Custom psu_init_gpl file + +3) make + +============== +Important Note +============== + +The DDR memory on the original ZCU102 and ZCU106 boards is EOL. +The Buildroot defconfigs for these boards use the new DDR memory +which is configured by the u-boot spl initialization with the +Buildroot config options below. + +New DDR Memories: +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-zcu102-rev1.0" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-zcu106-rev1.0" + +If nothing is printing upon boot, most likely it is because the +board has the original DDR memories. To fix the problem, modify +the Buildroot defconfig file to use the u-boot spl initialization +for the original DDR memory using the config below for the target +board. + +Original DDR Memories: +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-zcu102-revA" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-zcu106-revA" + +For more information on this issue: +https://support.xilinx.com/s/article/71961?language=en_US diff --git a/board/zynqmp/zcu102/pm_cfg_obj.c b/board/zynqmp/zcu102/pm_cfg_obj.c new file mode 100644 index 00000000000..04bfb16e35c --- /dev/null +++ b/board/zynqmp/zcu102/pm_cfg_obj.c @@ -0,0 +1,522 @@ +/****************************************************************************** +* Copyright (c) 2017 - 2021 Xilinx, Inc. All rights reserved. +* SPDX-License-Identifier: MIT +******************************************************************************/ + +#include "xil_types.h" +#include "pm_defs.h" + +#define PM_CONFIG_MASTER_SECTION_ID 0x101U +#define PM_CONFIG_SLAVE_SECTION_ID 0x102U +#define PM_CONFIG_PREALLOC_SECTION_ID 0x103U +#define PM_CONFIG_POWER_SECTION_ID 0x104U +#define PM_CONFIG_RESET_SECTION_ID 0x105U +#define PM_CONFIG_SHUTDOWN_SECTION_ID 0x106U +#define PM_CONFIG_SET_CONFIG_SECTION_ID 0x107U +#define PM_CONFIG_GPO_SECTION_ID 0x108U + +#define PM_SLAVE_FLAG_IS_SHAREABLE 0x1U +#define PM_MASTER_USING_SLAVE_MASK 0x2U + +#define PM_CONFIG_GPO1_MIO_PIN_34_MAP (1U << 10U) +#define PM_CONFIG_GPO1_MIO_PIN_35_MAP (1U << 11U) +#define PM_CONFIG_GPO1_MIO_PIN_36_MAP (1U << 12U) +#define PM_CONFIG_GPO1_MIO_PIN_37_MAP (1U << 13U) + +#define PM_CONFIG_GPO1_BIT_2_MASK (1U << 2U) +#define PM_CONFIG_GPO1_BIT_3_MASK (1U << 3U) +#define PM_CONFIG_GPO1_BIT_4_MASK (1U << 4U) +#define PM_CONFIG_GPO1_BIT_5_MASK (1U << 5U) + +#define SUSPEND_TIMEOUT 0xFFFFFFFFU + +#define PM_CONFIG_OBJECT_TYPE_BASE 0x1U + + +#define PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK 0x00000001 +#define PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK 0x00000100 +#define PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK 0x00000200 + + + +#if defined (__ICCARM__) +#pragma language=save +#pragma language=extended +#endif +#if defined (__GNUC__) + const u32 XPm_ConfigObject[] __attribute__((used, section(".sys_cfg_data"))) = +#elif defined (__ICCARM__) +#pragma location = ".sys_cfg_data" +__root const u32 XPm_ConfigObject[] = +#endif +{ + /**********************************************************************/ + /* HEADER */ + 2, /* Number of remaining words in the header */ + 8, /* Number of sections included in config object */ + PM_CONFIG_OBJECT_TYPE_BASE, /* Type of config object as base */ + /**********************************************************************/ + /* MASTER SECTION */ + PM_CONFIG_MASTER_SECTION_ID, /* Master SectionID */ + 3U, /* No. of Masters*/ + + NODE_APU, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_0, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_1, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Wake permissions */ + + + /**********************************************************************/ + /* SLAVE SECTION */ + + + PM_CONFIG_SLAVE_SECTION_ID, /* Section ID */ + 38, /* Number of slaves */ + + NODE_OCM_BANK_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_0_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_0_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_1_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_1_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_L2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_USB_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SATA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ETH_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_UART_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_UART_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_I2C_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_I2C_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SD_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DP, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GDMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ADMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_QSPI, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPIO, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_CAN_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_EXTERN, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DDR, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_IPI_APU, + 0U, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_0, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_1, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_PCIE, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_RTC, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_PL, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + + /**********************************************************************/ + /* PREALLOC SECTION */ + + PM_CONFIG_PREALLOC_SECTION_ID, /* Preallaoc SectionID */ + 3U, /* No. of Masters*/ + +/* Prealloc for psu_cortexa53_0 */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, + 12, + NODE_DDR, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_L2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_3, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_I2C_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_I2C_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_SD_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_QSPI, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_PL, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_APU, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_0 */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + 3, + NODE_TCM_0_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_0_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_1 */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + 3, + NODE_TCM_1_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_1_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + + /**********************************************************************/ + /* POWER SECTION */ + + PM_CONFIG_POWER_SECTION_ID, /* Power Section ID */ + 4U, /* Number of power nodes */ + + NODE_APU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_RPU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_FPD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_PLD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + + /**********************************************************************/ + /* RESET SECTION */ + + PM_CONFIG_RESET_SECTION_ID, /* Reset Section ID */ + 120U, /* Number of resets */ + + XILPM_RESET_PCIE_CFG, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_BRIDGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_CTRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRF, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GDMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SATA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APU_L2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DDR, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SOFT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_QSPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_NAND, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ADMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOU_CC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TIMESTAMP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R50, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R51, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_AMBA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_OCM, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_PGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RTC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SYSMON, 0, + XILPM_RESET_AFI_FM6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_LPD_SWDT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_FPD, PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + XILPM_RESET_RPU_DBG1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_DBG0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_VPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_7, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_8, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_9, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_10, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_11, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_12, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_13, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_14, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_15, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_16, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_17, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_18, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_19, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_20, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_21, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_22, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_23, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_24, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_25, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_26, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_27, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_28, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_29, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_30, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_31, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_LS, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PS_ONLY, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_92, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_93, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_94, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_95, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + + /**********************************************************************/ + /* SET CONFIG SECTION */ + PM_CONFIG_SET_CONFIG_SECTION_ID, /* Set Config Section ID */ + 0U, /* Permissions to load base config object */ + 0U, /* Permissions to load overlay config object */ + + /**********************************************************************/ + /* SHUTDOWN SECTION */ + + PM_CONFIG_SHUTDOWN_SECTION_ID, /* Shutdown Section ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* System Shutdown/Restart Permission */ + + /**********************************************************************/ + /* GPO SECTION */ + PM_CONFIG_GPO_SECTION_ID, /* GPO Section ID */ + PM_CONFIG_GPO1_BIT_2_MASK | + PM_CONFIG_GPO1_MIO_PIN_34_MAP | + PM_CONFIG_GPO1_MIO_PIN_35_MAP | + PM_CONFIG_GPO1_MIO_PIN_36_MAP | + PM_CONFIG_GPO1_MIO_PIN_37_MAP | + 0, /* State of GPO pins */ +}; +#if defined (__ICCARM__) +#pragma language=restore +#endif + diff --git a/board/zynqmp/zcu104/pm_cfg_obj.c b/board/zynqmp/zcu104/pm_cfg_obj.c new file mode 100644 index 00000000000..bd0b59cfc29 --- /dev/null +++ b/board/zynqmp/zcu104/pm_cfg_obj.c @@ -0,0 +1,503 @@ +/****************************************************************************** +* Copyright (c) 2017 - 2021 Xilinx, Inc. All rights reserved. +* SPDX-License-Identifier: MIT +******************************************************************************/ + +#include "xil_types.h" +#include "pm_defs.h" + +#define PM_CONFIG_MASTER_SECTION_ID 0x101U +#define PM_CONFIG_SLAVE_SECTION_ID 0x102U +#define PM_CONFIG_PREALLOC_SECTION_ID 0x103U +#define PM_CONFIG_POWER_SECTION_ID 0x104U +#define PM_CONFIG_RESET_SECTION_ID 0x105U +#define PM_CONFIG_SHUTDOWN_SECTION_ID 0x106U +#define PM_CONFIG_SET_CONFIG_SECTION_ID 0x107U +#define PM_CONFIG_GPO_SECTION_ID 0x108U + +#define PM_SLAVE_FLAG_IS_SHAREABLE 0x1U +#define PM_MASTER_USING_SLAVE_MASK 0x2U + +#define PM_CONFIG_GPO1_MIO_PIN_34_MAP (1U << 10U) +#define PM_CONFIG_GPO1_MIO_PIN_35_MAP (1U << 11U) +#define PM_CONFIG_GPO1_MIO_PIN_36_MAP (1U << 12U) +#define PM_CONFIG_GPO1_MIO_PIN_37_MAP (1U << 13U) + +#define PM_CONFIG_GPO1_BIT_2_MASK (1U << 2U) +#define PM_CONFIG_GPO1_BIT_3_MASK (1U << 3U) +#define PM_CONFIG_GPO1_BIT_4_MASK (1U << 4U) +#define PM_CONFIG_GPO1_BIT_5_MASK (1U << 5U) + +#define SUSPEND_TIMEOUT 0xFFFFFFFFU + +#define PM_CONFIG_OBJECT_TYPE_BASE 0x1U + + +#define PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK 0x00000001 +#define PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK 0x00000100 +#define PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK 0x00000200 + + + +#if defined (__ICCARM__) +#pragma language=save +#pragma language=extended +#endif +#if defined (__GNUC__) + const u32 XPm_ConfigObject[] __attribute__((used, section(".sys_cfg_data"))) = +#elif defined (__ICCARM__) +#pragma location = ".sys_cfg_data" +__root const u32 XPm_ConfigObject[] = +#endif +{ + /**********************************************************************/ + /* HEADER */ + 2, /* Number of remaining words in the header */ + 8, /* Number of sections included in config object */ + PM_CONFIG_OBJECT_TYPE_BASE, /* Type of config object as base */ + /**********************************************************************/ + /* MASTER SECTION */ + PM_CONFIG_MASTER_SECTION_ID, /* Master SectionID */ + 3U, /* No. of Masters*/ + + NODE_APU, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_0, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_1, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Wake permissions */ + + + /**********************************************************************/ + /* SLAVE SECTION */ + + + PM_CONFIG_SLAVE_SECTION_ID, /* Section ID */ + 36, /* Number of slaves */ + + NODE_OCM_BANK_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_0_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_0_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_1_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_1_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_L2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_USB_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SATA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ETH_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_UART_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_UART_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_I2C_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SD_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DP, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GDMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ADMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_QSPI, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPIO, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_CAN_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_EXTERN, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DDR, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_IPI_APU, + 0U, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_0, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_1, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_RTC, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_PL, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + + /**********************************************************************/ + /* PREALLOC SECTION */ + + PM_CONFIG_PREALLOC_SECTION_ID, /* Preallaoc SectionID */ + 3U, /* No. of Masters*/ + + /* Prealloc for psu_cortexa53_0 */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, + 11, + NODE_DDR, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_L2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_3, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_I2C_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_SD_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_QSPI, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_PL, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_APU, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_0 */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + 3, + NODE_TCM_0_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_0_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_1 */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + 3, + NODE_TCM_1_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_1_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + + /**********************************************************************/ + /* POWER SECTION */ + + PM_CONFIG_POWER_SECTION_ID, /* Power Section ID */ + 4U, /* Number of power nodes */ + + NODE_APU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_RPU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_FPD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_PLD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + + /**********************************************************************/ + /* RESET SECTION */ + + PM_CONFIG_RESET_SECTION_ID, /* Reset Section ID */ + 120U, /* Number of resets */ + + XILPM_RESET_PCIE_CFG, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_BRIDGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_CTRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRF, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GDMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SATA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APU_L2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DDR, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SOFT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_QSPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_NAND, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ADMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOU_CC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TIMESTAMP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R50, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R51, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_AMBA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_OCM, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_PGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RTC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SYSMON, 0, + XILPM_RESET_AFI_FM6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_LPD_SWDT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_FPD, PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + XILPM_RESET_RPU_DBG1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_DBG0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_VPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_7, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_8, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_9, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_10, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_11, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_12, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_13, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_14, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_15, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_16, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_17, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_18, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_19, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_20, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_21, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_22, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_23, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_24, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_25, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_26, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_27, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_28, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_29, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_30, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_31, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_LS, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PS_ONLY, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_92, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_93, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_94, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_95, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + + /**********************************************************************/ + /* SET CONFIG SECTION */ + PM_CONFIG_SET_CONFIG_SECTION_ID, /* Set Config Section ID */ + 0U, /* Permissions to load base config object */ + 0U, /* Permissions to load overlay config object */ + + /**********************************************************************/ + /* SHUTDOWN SECTION */ + + PM_CONFIG_SHUTDOWN_SECTION_ID, /* Shutdown Section ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* System Shutdown/Restart Permission */ + + /**********************************************************************/ + /* GPO SECTION */ + PM_CONFIG_GPO_SECTION_ID, /* GPO Section ID */ + 0, /* State of GPO pins */ +}; +#if defined (__ICCARM__) +#pragma language=restore +#endif diff --git a/board/zynqmp/zcu106/pm_cfg_obj.c b/board/zynqmp/zcu106/pm_cfg_obj.c new file mode 100644 index 00000000000..54a1afa902e --- /dev/null +++ b/board/zynqmp/zcu106/pm_cfg_obj.c @@ -0,0 +1,521 @@ +/****************************************************************************** +* Copyright (c) 2017 - 2021 Xilinx, Inc. All rights reserved. +* SPDX-License-Identifier: MIT +******************************************************************************/ + +#include "xil_types.h" +#include "pm_defs.h" + +#define PM_CONFIG_MASTER_SECTION_ID 0x101U +#define PM_CONFIG_SLAVE_SECTION_ID 0x102U +#define PM_CONFIG_PREALLOC_SECTION_ID 0x103U +#define PM_CONFIG_POWER_SECTION_ID 0x104U +#define PM_CONFIG_RESET_SECTION_ID 0x105U +#define PM_CONFIG_SHUTDOWN_SECTION_ID 0x106U +#define PM_CONFIG_SET_CONFIG_SECTION_ID 0x107U +#define PM_CONFIG_GPO_SECTION_ID 0x108U + +#define PM_SLAVE_FLAG_IS_SHAREABLE 0x1U +#define PM_MASTER_USING_SLAVE_MASK 0x2U + +#define PM_CONFIG_GPO1_MIO_PIN_34_MAP (1U << 10U) +#define PM_CONFIG_GPO1_MIO_PIN_35_MAP (1U << 11U) +#define PM_CONFIG_GPO1_MIO_PIN_36_MAP (1U << 12U) +#define PM_CONFIG_GPO1_MIO_PIN_37_MAP (1U << 13U) + +#define PM_CONFIG_GPO1_BIT_2_MASK (1U << 2U) +#define PM_CONFIG_GPO1_BIT_3_MASK (1U << 3U) +#define PM_CONFIG_GPO1_BIT_4_MASK (1U << 4U) +#define PM_CONFIG_GPO1_BIT_5_MASK (1U << 5U) + +#define SUSPEND_TIMEOUT 0xFFFFFFFFU + +#define PM_CONFIG_OBJECT_TYPE_BASE 0x1U + + +#define PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK 0x00000001 +#define PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK 0x00000100 +#define PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK 0x00000200 + + + +#if defined (__ICCARM__) +#pragma language=save +#pragma language=extended +#endif +#if defined (__GNUC__) + const u32 XPm_ConfigObject[] __attribute__((used, section(".sys_cfg_data"))) = +#elif defined (__ICCARM__) +#pragma location = ".sys_cfg_data" +__root const u32 XPm_ConfigObject[] = +#endif +{ + /**********************************************************************/ + /* HEADER */ + 2, /* Number of remaining words in the header */ + 8, /* Number of sections included in config object */ + PM_CONFIG_OBJECT_TYPE_BASE, /* Type of config object as base */ + /**********************************************************************/ + /* MASTER SECTION */ + PM_CONFIG_MASTER_SECTION_ID, /* Master SectionID */ + 3U, /* No. of Masters*/ + + NODE_APU, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_0, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_1, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Wake permissions */ + + + /**********************************************************************/ + /* SLAVE SECTION */ + + + PM_CONFIG_SLAVE_SECTION_ID, /* Section ID */ + 38, /* Number of slaves */ + + NODE_OCM_BANK_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_0_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_0_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_1_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_1_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_L2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_USB_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SATA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ETH_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_UART_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_UART_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_I2C_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_I2C_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SD_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DP, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GDMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ADMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_QSPI, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPIO, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_CAN_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_EXTERN, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DDR, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_IPI_APU, + 0U, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_0, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_1, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_RTC, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_VCU, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_PL, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + + /**********************************************************************/ + /* PREALLOC SECTION */ + + PM_CONFIG_PREALLOC_SECTION_ID, /* Preallaoc SectionID */ + 3U, /* No. of Masters*/ + +/* Prealloc for psu_cortexa53_0 */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, + 12, + NODE_DDR, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_L2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_3, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_I2C_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_I2C_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_SD_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_QSPI, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_PL, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_APU, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_0 */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + 3, + NODE_TCM_0_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_0_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_1 */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + 3, + NODE_TCM_1_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_1_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + + /**********************************************************************/ + /* POWER SECTION */ + + PM_CONFIG_POWER_SECTION_ID, /* Power Section ID */ + 4U, /* Number of power nodes */ + + NODE_APU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_RPU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_FPD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_PLD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + + /**********************************************************************/ + /* RESET SECTION */ + + PM_CONFIG_RESET_SECTION_ID, /* Reset Section ID */ + 120U, /* Number of resets */ + + XILPM_RESET_PCIE_CFG, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_BRIDGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_CTRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRF, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GDMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SATA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APU_L2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DDR, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SOFT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_QSPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_NAND, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ADMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOU_CC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TIMESTAMP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R50, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R51, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_AMBA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_OCM, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_PGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RTC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SYSMON, 0, + XILPM_RESET_AFI_FM6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_LPD_SWDT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_FPD, PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + XILPM_RESET_RPU_DBG1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_DBG0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_VPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_7, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_8, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_9, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_10, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_11, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_12, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_13, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_14, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_15, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_16, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_17, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_18, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_19, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_20, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_21, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_22, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_23, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_24, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_25, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_26, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_27, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_28, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_29, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_30, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_31, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_LS, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PS_ONLY, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_92, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_93, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_94, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_95, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + + /**********************************************************************/ + /* SET CONFIG SECTION */ + PM_CONFIG_SET_CONFIG_SECTION_ID, /* Set Config Section ID */ + 0U, /* Permissions to load base config object */ + 0U, /* Permissions to load overlay config object */ + + /**********************************************************************/ + /* SHUTDOWN SECTION */ + + PM_CONFIG_SHUTDOWN_SECTION_ID, /* Shutdown Section ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* System Shutdown/Restart Permission */ + + /**********************************************************************/ + /* GPO SECTION */ + PM_CONFIG_GPO_SECTION_ID, /* GPO Section ID */ + PM_CONFIG_GPO1_MIO_PIN_34_MAP | + PM_CONFIG_GPO1_MIO_PIN_35_MAP | + PM_CONFIG_GPO1_MIO_PIN_36_MAP | + PM_CONFIG_GPO1_MIO_PIN_37_MAP | + 0, /* State of GPO pins */ +}; +#if defined (__ICCARM__) +#pragma language=restore +#endif + diff --git a/boot/Config.in b/boot/Config.in index 2f46c8546e4..d73d221431f 100644 --- a/boot/Config.in +++ b/boot/Config.in @@ -1,21 +1,36 @@ +config BR2_TARGET_XILINX_FIRMWARE_ARCH_SUPPORTS + bool + default y + # All Xilinx SoCs using this package are aarch64 only + depends on BR2_aarch64 + # only CPUs with corresponding firmwares: + depends on BR2_cortex_a53 || BR2_cortex_a72 || BR2_cortex_a78 + menu "Bootloaders" source "boot/afboot-stm32/Config.in" -source "boot/at91bootstrap/Config.in" source "boot/at91bootstrap3/Config.in" -source "boot/at91dataflashboot/Config.in" source "boot/arm-trusted-firmware/Config.in" source "boot/barebox/Config.in" +source "boot/binaries-marvell/Config.in" source "boot/boot-wrapper-aarch64/Config.in" +source "boot/edk2/Config.in" source "boot/grub2/Config.in" -source "boot/gummiboot/Config.in" -source "boot/lpc32xxcdl/Config.in" +source "boot/mv-ddr-marvell/Config.in" source "boot/mxs-bootlets/Config.in" -source "boot/s500-bootloader/Config.in" +source "boot/optee-os/Config.in" +source "boot/opensbi/Config.in" +source "boot/palo/Config.in" +source "boot/shim/Config.in" source "boot/syslinux/Config.in" -source "boot/ts4800-mbrboot/Config.in" +source "boot/ti-k3-boot-firmware/Config.in" +source "boot/ti-k3-r5-loader/Config.in" source "boot/uboot/Config.in" source "boot/vexpress-firmware/Config.in" -source "boot/xloader/Config.in" + +if BR2_TARGET_XILINX_FIRMWARE_ARCH_SUPPORTS +source "boot/xilinx-embeddedsw/Config.in" +source "boot/xilinx-prebuilt/Config.in" +endif endmenu diff --git a/boot/afboot-stm32/0001-Pass-fno-builtin-to-fix-build-with-gcc-10.patch b/boot/afboot-stm32/0001-Pass-fno-builtin-to-fix-build-with-gcc-10.patch new file mode 100644 index 00000000000..aef283270e7 --- /dev/null +++ b/boot/afboot-stm32/0001-Pass-fno-builtin-to-fix-build-with-gcc-10.patch @@ -0,0 +1,46 @@ +From 9901603e18524c4c52fd1dd47bda4ab4016628fc Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 10 Sep 2020 11:37:33 +0200 +Subject: [PATCH] Pass -fno-builtin to fix build with gcc 10 + +gcc 10, if it recognizes some hand-written code that looks like +memcpy, will generate a call to memcpy(). + +For example: + + while (dst < &_end_data) { + *dst++ = *src++; + } + +gets recognized as such. However, in the context of bare-metal code, +having a call to memcpy() in the C library doesn't work. So we fix +that by disabling builtins. + +Fixes: + +/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: stm32f429i-disco.o: in function `reset': +stm32f429i-disco.c:(.text.reset+0x1a): undefined reference to `memcpy' +/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: stm32f429i-disco.c:(.text.reset+0x34): undefined reference to `memset' +make[1]: *** [Makefile:26: stm32f429i-disco] Error 1 + +Upstream: https://github.com/mcoquelin-stm32/afboot-stm32/pull/11 +Signed-off-by: Thomas Petazzoni +--- + Makefile | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile b/Makefile +index f699176..1e8557d 100644 +--- a/Makefile ++++ b/Makefile +@@ -13,6 +13,7 @@ DTB_ADDR?=0x08004000 + CFLAGS := -mthumb -mcpu=cortex-m4 + CFLAGS += -ffunction-sections -fdata-sections + CFLAGS += -Os -std=gnu99 -Wall ++CFLAGS += -fno-builtin + LINKERFLAGS := -nostartfiles --gc-sections + + obj-y += gpio.o mpu.o qspi.o start_kernel.o +-- +2.35.1 + diff --git a/boot/afboot-stm32/0001-Use-ld-instead-of-gcc-for-linking.patch b/boot/afboot-stm32/0001-Use-ld-instead-of-gcc-for-linking.patch deleted file mode 100644 index 3f359dc3162..00000000000 --- a/boot/afboot-stm32/0001-Use-ld-instead-of-gcc-for-linking.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 0d581abe6620ac69adec321b94390e009802f36a Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 13 Mar 2016 14:32:33 +0100 -Subject: [PATCH] Use ld instead of gcc for linking - -Signed-off-by: Thomas Petazzoni ---- - Makefile | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -diff --git a/Makefile b/Makefile -index ce40314..271bb4f 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,6 +1,7 @@ - CROSS_COMPILE ?= arm-none-eabi- - - CC = $(CROSS_COMPILE)gcc -+LD = $(CROSS_COMPILE)ld - OBJCOPY = $(CROSS_COMPILE)objcopy - OBJDUMP = $(CROSS_COMPILE)objdump - SIZE = $(CROSS_COMPILE)size -@@ -10,7 +11,7 @@ OPENOCD = openocd - CFLAGS := -mthumb -mcpu=cortex-m4 - CFLAGS += -ffunction-sections -fdata-sections - CFLAGS += -Os -std=gnu99 -Wall --LDFLAGS := -nostartfiles -Wl,--gc-sections -+LINKERFLAGS := -nostartfiles --gc-sections - - obj-y += gpio.o mpu.o - obj-f4 += $(obj-y) usart-f4.o -@@ -22,22 +23,22 @@ all: stm32f429i-disco stm32429i-eval stm32f469i-disco stm32746g-eval - $(CC) -c $(CFLAGS) $< -o $@ - - stm32f429i-disco: stm32f429i-disco.o $(obj-f4) -- $(CC) -T stm32f429.lds $(LDFLAGS) -o stm32f429i-disco.elf stm32f429i-disco.o $(obj-f4) -+ $(LD) -T stm32f429.lds $(LINKERFLAGS) -o stm32f429i-disco.elf stm32f429i-disco.o $(obj-f4) - $(OBJCOPY) -Obinary stm32f429i-disco.elf stm32f429i-disco.bin - $(SIZE) stm32f429i-disco.elf - - stm32429i-eval: stm32429i-eval.o $(obj-f4) -- $(CC) -T stm32f429.lds $(LDFLAGS) -o stm32429i-eval.elf stm32429i-eval.o $(obj-f4) -+ $(LD) -T stm32f429.lds $(LINKERFLAGS) -o stm32429i-eval.elf stm32429i-eval.o $(obj-f4) - $(OBJCOPY) -Obinary stm32429i-eval.elf stm32429i-eval.bin - $(SIZE) stm32429i-eval.elf - - stm32f469i-disco: stm32f469i-disco.o $(obj-f4) -- $(CC) -T stm32f429.lds $(LDFLAGS) -o stm32f469i-disco.elf stm32f469i-disco.o $(obj-f4) -+ $(LD) -T stm32f429.lds $(LINKERFLAGS) -o stm32f469i-disco.elf stm32f469i-disco.o $(obj-f4) - $(OBJCOPY) -Obinary stm32f469i-disco.elf stm32f469i-disco.bin - $(SIZE) stm32f469i-disco.elf - - stm32746g-eval: stm32746g-eval.o $(obj-f7) -- $(CC) -T stm32f429.lds $(LDFLAGS) -o stm32746g-eval.elf stm32746g-eval.o $(obj-f7) -+ $(LD) -T stm32f429.lds $(LINKERFLAGS) -o stm32746g-eval.elf stm32746g-eval.o $(obj-f7) - $(OBJCOPY) -Obinary stm32746g-eval.elf stm32746g-eval.bin - $(SIZE) stm32746g-eval.elf - --- -2.6.4 - diff --git a/boot/afboot-stm32/0002-Makefile-drop-nostartfiles.patch b/boot/afboot-stm32/0002-Makefile-drop-nostartfiles.patch new file mode 100644 index 00000000000..7e5a6430bcd --- /dev/null +++ b/boot/afboot-stm32/0002-Makefile-drop-nostartfiles.patch @@ -0,0 +1,40 @@ +From be760c062c5d05bd2223f3916afafd37120d3318 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 28 Apr 2022 22:47:09 +0200 +Subject: [PATCH] Makefile: drop -nostartfiles + +In commit 0f3e61c9dd48fd8b4248ce4672c044c2562e4de1 ("Use ld instead of +gcc for linking "), we started using ld instead of gcc for the link +step. This worked fine for a while, but recent versions of ld no +longer accept the -nostartfiles option, causing the build to break: + +Error: unable to disambiguate: -nostartfiles (did you mean --nostartfiles ?) + +In fact, -nostartfiles was passed to gcc prior to +0f3e61c9dd48fd8b4248ce4672c044c2562e4de1, but it is not a ld +option. It is only by luck that it was accepted and ignored by older +ld versions. Since this option is useless when calling ld directly, we +can simply drop it. + +Upstream: https://github.com/mcoquelin-stm32/afboot-stm32/pull/11 +Signed-off-by: Thomas Petazzoni +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1e8557d..8f42be1 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ CFLAGS := -mthumb -mcpu=cortex-m4 + CFLAGS += -ffunction-sections -fdata-sections + CFLAGS += -Os -std=gnu99 -Wall + CFLAGS += -fno-builtin +-LINKERFLAGS := -nostartfiles --gc-sections ++LINKERFLAGS := --gc-sections + + obj-y += gpio.o mpu.o qspi.o start_kernel.o + obj-f4 += $(obj-y) usart-f4.o +-- +2.35.1 + diff --git a/boot/afboot-stm32/0003-Makefile-disable-stack-protector.patch b/boot/afboot-stm32/0003-Makefile-disable-stack-protector.patch new file mode 100644 index 00000000000..27a81b45d55 --- /dev/null +++ b/boot/afboot-stm32/0003-Makefile-disable-stack-protector.patch @@ -0,0 +1,36 @@ +From d65b07d6fe438e760fdbc33a8e42650a27d5b417 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 31 Dec 2022 11:09:38 +0100 +Subject: [PATCH] Makefile: disable stack-protector + +Disable stack-protector to avoid the following build failure: + +/home/autobuild/autobuild/instance-14/output-1/host/bin/arm-buildroot-linux-gnueabi-ld -T stm32f429.lds --gc-sections -o stm32f469i-disco.elf stm32f469i-disco.o gpio.o mpu.o qspi.o start_kernel.o usart-f4.o +/home/autobuild/autobuild/instance-14/output-1/host/bin/arm-buildroot-linux-gnueabi-ld: stm32f469i-disco.o: in function `main': +stm32f469i-disco.c:(.text.startup.main+0x3b0): undefined reference to `__stack_chk_guard' +/home/autobuild/autobuild/instance-14/output-1/host/bin/arm-buildroot-linux-gnueabi-ld: stm32f469i-disco.c:(.text.startup.main+0x4c0): undefined reference to `__stack_chk_fail' +/home/autobuild/autobuild/instance-14/output-1/host/bin/arm-buildroot-linux-gnueabi-ld: stm32f469i-disco.c:(.text.startup.main+0x4ec): undefined reference to `__stack_chk_guard' + +Fixes: + - http://autobuild.buildroot.org/results/fa6ffab24c3998f21034ab24e8d2852cacde08c1 + +Signed-off-by: Fabrice Fontaine +--- + Makefile | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile b/Makefile +index 8f42be1..8da7a25 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,6 +14,7 @@ CFLAGS := -mthumb -mcpu=cortex-m4 + CFLAGS += -ffunction-sections -fdata-sections + CFLAGS += -Os -std=gnu99 -Wall + CFLAGS += -fno-builtin ++CFLAGS += -fno-stack-protector + LINKERFLAGS := --gc-sections + + obj-y += gpio.o mpu.o qspi.o start_kernel.o +-- +2.35.1 + diff --git a/boot/afboot-stm32/Config.in b/boot/afboot-stm32/Config.in index 309b9e04916..23d6eda5d47 100644 --- a/boot/afboot-stm32/Config.in +++ b/boot/afboot-stm32/Config.in @@ -1,7 +1,27 @@ -config BR2_TARGET_AFBOOT_STM32 +menuconfig BR2_TARGET_AFBOOT_STM32 bool "afboot-stm32" depends on BR2_arm help afboot-stm32 is a very small bootloader for STM32 platforms https://github.com/mcoquelin-stm32/afboot-stm32 + +if BR2_TARGET_AFBOOT_STM32 + +config BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR + hex "Kernel load address" + default "0x08008000" + help + This is the physical address in your flash memory the kernel + will be linked for and stored to. This address is dependent on + your own flash usage. + +config BR2_TARGET_AFBOOT_STM32_DTB_ADDR + hex "Device-tree load address" + default "0x08004000" + help + This is the physical address in your flash memory the + device-tree will be stored to. This address is dependent on + your own flash usage. + +endif diff --git a/boot/afboot-stm32/afboot-stm32.hash b/boot/afboot-stm32/afboot-stm32.hash index d23b74ad218..d22c96d4135 100644 --- a/boot/afboot-stm32/afboot-stm32.hash +++ b/boot/afboot-stm32/afboot-stm32.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 dbd715c8b99f7d266f74a04707a4dac76b75b31321f24dee5256a6348260530c afboot-stm32-v0.1.tar.gz +sha256 2caacd302ab3ed5b70b3b93a6aef04162abf779c758a5be547be3ab01b68ca10 afboot-stm32-3566acd582e5536fb60864281788a30f5527df2d.tar.gz diff --git a/boot/afboot-stm32/afboot-stm32.mk b/boot/afboot-stm32/afboot-stm32.mk index 042b21fa551..25ba13c8caf 100644 --- a/boot/afboot-stm32/afboot-stm32.mk +++ b/boot/afboot-stm32/afboot-stm32.mk @@ -4,15 +4,19 @@ # ################################################################################ -AFBOOT_STM32_VERSION = v0.1 +AFBOOT_STM32_VERSION = 3566acd582e5536fb60864281788a30f5527df2d AFBOOT_STM32_SITE = $(call github,mcoquelin-stm32,afboot-stm32,$(AFBOOT_STM32_VERSION)) +AFBOOT_STM32_INSTALL_IMAGES = YES +AFBOOT_STM32_INSTALL_TARGET = NO define AFBOOT_STM32_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) all + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) all \ + KERNEL_ADDR=$(BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR) \ + DTB_ADDR=$(BR2_TARGET_AFBOOT_STM32_DTB_ADDR) endef -define AFBOOT_STM32_INSTALL_TARGET_CMDS - $(INSTALL) -m 0755 $(@D)/stm32*.bin $(BINARIES_DIR) +define AFBOOT_STM32_INSTALL_IMAGES_CMDS + $(INSTALL) -m 0755 -t $(BINARIES_DIR) -D $(@D)/stm32*.bin endef $(eval $(generic-package)) diff --git a/boot/arm-trusted-firmware/Config.in b/boot/arm-trusted-firmware/Config.in index 2df82678643..70fdec5c2ae 100644 --- a/boot/arm-trusted-firmware/Config.in +++ b/boot/arm-trusted-firmware/Config.in @@ -1,6 +1,6 @@ -config BR2_TARGET_ARM_TRUSTED_FIRMWARE +menuconfig BR2_TARGET_ARM_TRUSTED_FIRMWARE bool "ARM Trusted Firmware (ATF)" - depends on BR2_aarch64 && BR2_TARGET_UBOOT + depends on (BR2_ARM_CPU_ARMV8A || BR2_ARM_CPU_ARMV7A) help Enable this option if you want to build the ATF for your ARM based embedded device. @@ -14,7 +14,27 @@ choice Select the specific ATF version you want to use config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION - bool "v1.2" + bool "v2.12" + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_12_VERSION + bool "latest lts-v2.12.x" + help + Select the latest LTS v2.12.x version available + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_10_VERSION + bool "latest lts-v2.10.x" + help + Select the latest LTS v2.10.x version available + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_8_VERSION + bool "latest lts-v2.8.x" + help + Select the latest LTS v2.8.x version available + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION + bool "Custom version" + help + This option allows to use a specific official versions config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL bool "Custom tarball" @@ -31,12 +51,21 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION endif +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE + string "ATF version" + depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION + config BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION string - default "v1.2" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION + default "v2.12" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION + default "lts-v2.12.1" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_12_VERSION + default "lts-v2.10.5" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_10_VERSION + default "lts-v2.8.20" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_8_VERSION default "custom" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION \ if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT + default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE \ + if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT @@ -51,10 +80,173 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION endif +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LICENSE_FILES + string "ATF license files" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT || \ + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL + default "docs/license.rst" + help + A space-separated list of license files related to the ATF + package. + config BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM string "ATF platform" help - Target plaform to build for. + Target platform to build for. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD + string "ATF target board" + help + Target board to build for. In many cases, this can be left + empty. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_DTS_PATH + string "Device Tree Source file paths" + help + Space-separated list of paths to device tree source files + that will be copied to fdts/ before starting the build. + + To use this device tree source file, the ATF configuration + file must refer to it. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP + bool "Build FIP image" + help + This option enables building the FIP image (Firmware Image + Package). This is typically the image format used by + platforms were ATF encapsulates the second stage bootloader + (such as U-Boot). + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 + bool "Build BL31 image" + help + This option enables building the BL31 image. This is + typically used on platforms where another bootloader (e.g + U-Boot) encapsulates ATF BL31. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT + bool "Build BL31 U-Boot image" + select BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 + help + Generates a U-Boot image named atf-uboot.ub containing + bl31.bin. This is used for example by the Xilinx version of + U-Boot SPL to load ATF on the ZynqMP SoC. + +choice + prompt "BL32" + default BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_DEFAULT + help + Select BL32 stage for the trusted firmware + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_DEFAULT + bool "Default" + help + With this option selected, ATF will not use any BL32 stage, + unless if one is explicitly chosen using the SPD (for + AArch64) or AARCH32_SP (for AArch32) variables, which can be + passed through + BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE + bool "OP-TEE OS" + depends on BR2_TARGET_OPTEE_OS + help + This option allows to embed OP-TEE OS as the BL32 part of + the ARM Trusted Firmware boot sequence. + +endchoice + +choice + prompt "BL33" + default BR2_TARGET_ARM_TRUSTED_FIRMWARE_NONE_AS_BL33 + help + Select the image to include as BL33. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_NONE_AS_BL33 + bool "None" + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_AS_BL33 + bool "Barebox" + depends on BR2_TARGET_BAREBOX + help + This option allows to embed the Barebox generic BL33 image in + the ARM Trusted Firmware. It ensures that the Barebox package + gets built before ATF, and that the appropriate BL33 + variable pointing to the generic bl33 image is passed + when building ATF. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33 + bool "U-Boot" + depends on BR2_TARGET_UBOOT + help + This option allows to embed u-boot.bin as the BL33 part of + the ARM Trusted Firmware. It ensures that the u-boot package + gets built before ATF, and that the appropriate BL33 + variable pointing to u-boot.bin is passed when building ATF. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33 + bool "EDK2" + depends on BR2_TARGET_EDK2 + help + This option allows to embed EDK2 as the BL33 part of + the ARM Trusted Firmware. It ensures that the EDK2 package + gets built before ATF, and that the appropriate BL33 + variable pointing to the EDK2 is passed when building ATF. + + Do not choose this option if you intend to build ATF and EDK2 + for the 'qemu_sbsa' platform. In this case, due to the EDK2 + build system, the dependency between ATF and EDK is reversed. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LINUX_AS_BL33 + bool "Linux kernel" + depends on BR2_LINUX_KERNEL + depends on (BR2_arm || BR2_armeb) + depends on (BR2_LINUX_KERNEL_ZIMAGE || BR2_LINUX_KERNEL_APPENDED_ZIMAGE) + help + This option allows to embed the Linux kernel as the BL33 + part of the ARM Trusted Firmware. + + Do not choose this option if you intend to use U-Boot or + another second-stage bootloader. With this option, TF-A + starts Linux directly. + +endchoice + +if BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_AS_BL33 + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_BL33_IMAGE + string "Barebox BL33 image name" + default "*-generic-bl33.img" + help + Name of the Barebox BL33 image to include in ATF, it must + have been installed to BINARIES_DIR by the Barebox package. + +endif + +if BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33 + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE + string "U-Boot BL33 image name" + default "u-boot.bin" + help + Name of the U-Boot BL33 image to include in ATF, it must + have been installed to BINARIES_DIR by the U-Boot package. + +endif + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_RCW + bool "Include NXP RCW in BL2" + depends on BR2_PACKAGE_HOST_QORIQ_RCW + help + Include the NXP RCW (Reset Control Word) in BL2. See + package/qoriq-rcw/ for more details. This is mostly useful + on NXP LayerScape platforms. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS + string "Additional ATF make targets" + help + Additional targets for the ATF build + E.G. When using the QorIQ custom ATF repository from NXP, + the target 'pbl' can be used to build the pbl binary. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES string "Additional ATF build variables" @@ -62,4 +254,50 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES Additional parameters for the ATF build E.G. 'DEBUG=1 LOG_LEVEL=20' +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUG + bool "Build in debug mode" + help + Enable this option to build ATF with DEBUG=1. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES + string "Binary boot images" + default "*.bin" + help + Names of generated image files that are installed in the + output images/ directory. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC + bool "Needs dtc" + select BR2_PACKAGE_HOST_DTC + help + Select this option if your ATF board configuration + requires the Device Tree compiler to be available. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN + bool "Needs arm-none-eabi toolchain" + depends on BR2_aarch64 + depends on BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_SUPPORTS + help + Select this option if your ATF board configuration requires + an ARM32 bare metal toolchain to be available. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP + bool "Build with SSP" + depends on BR2_TOOLCHAIN_HAS_SSP + depends on !BR2_SSP_NONE + help + Say 'y' here if you want to build ATF with SSP. + + Your board must have SSP support in ATF: it must have an + implementation for plat_get_stack_protector_canary(). + + If you say 'y', the SSP level will be the level selected + by the global SSP setting. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP_LEVEL + string + default "default" if BR2_SSP_REGULAR + default "strong" if BR2_SSP_STRONG + default "all" if BR2_SSP_ALL + endif diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.hash b/boot/arm-trusted-firmware/arm-trusted-firmware.hash deleted file mode 100644 index e048e0127a9..00000000000 --- a/boot/arm-trusted-firmware/arm-trusted-firmware.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 cbdd9b770ec1ab4933fc7f9f520daea5a364bb4dc964820fb017a0cf8c7df556 arm-trusted-firmware-v1.2.tar.gz -md5 fac2c08bd74337fec2e14a98fc9f748f arm-trusted-firmware-v1.2.tar.gz diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.mk b/boot/arm-trusted-firmware/arm-trusted-firmware.mk index 9bd3bfce6c7..b81ce0d8275 100644 --- a/boot/arm-trusted-firmware/arm-trusted-firmware.mk +++ b/boot/arm-trusted-firmware/arm-trusted-firmware.mk @@ -5,56 +5,227 @@ ################################################################################ ARM_TRUSTED_FIRMWARE_VERSION = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION)) -ARM_TRUSTED_FIRMWARE_LICENSE = BSD-3-Clause -ARM_TRUSTED_FIRMWARE_LICENSE_FILES = license.md - -ARM_TRUSTED_FIRMWARE_DEPENDENCIES += uboot -ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom) +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL),y) # Handle custom ATF tarballs as specified by the configuration ARM_TRUSTED_FIRMWARE_TARBALL = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION)) ARM_TRUSTED_FIRMWARE_SITE = $(patsubst %/,%,$(dir $(ARM_TRUSTED_FIRMWARE_TARBALL))) ARM_TRUSTED_FIRMWARE_SOURCE = $(notdir $(ARM_TRUSTED_FIRMWARE_TARBALL)) -BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE) else ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT),y) ARM_TRUSTED_FIRMWARE_SITE = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL)) ARM_TRUSTED_FIRMWARE_SITE_METHOD = git -BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE) else -ARM_TRUSTED_FIRMWARE_SITE = $(call github,ARM-software,arm-trusted-firmware,$(ARM_TRUSTED_FIRMWARE_VERSION)) +# Handle stable official ATF versions +ARM_TRUSTED_FIRMWARE_SITE = https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git +ARM_TRUSTED_FIRMWARE_SITE_METHOD = git +endif + +ARM_TRUSTED_FIRMWARE_LICENSE = BSD-3-Clause +ARM_TRUSTED_FIRMWARE_LICENSE_FILES = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_LICENSE_FILES)) + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE):$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION)$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL)$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT),y:y) +BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE) endif ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES = YES +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC),y) +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += host-dtc +endif + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN),y) +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += host-arm-gnu-toolchain +endif + ARM_TRUSTED_FIRMWARE_PLATFORM = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM)) +ARM_TRUSTED_FIRMWARE_TARGET_BOARD = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD)) + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUG),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += DEBUG=1 +ifneq ($(ARM_TRUSTED_FIRMWARE_TARGET_BOARD),) +ARM_TRUSTED_FIRMWARE_IMG_DIR = $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/$(ARM_TRUSTED_FIRMWARE_TARGET_BOARD)/debug +else +ARM_TRUSTED_FIRMWARE_IMG_DIR = $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/debug +endif +else +ifneq ($(ARM_TRUSTED_FIRMWARE_TARGET_BOARD),) +ARM_TRUSTED_FIRMWARE_IMG_DIR = $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/$(ARM_TRUSTED_FIRMWARE_TARGET_BOARD)/release +else +ARM_TRUSTED_FIRMWARE_IMG_DIR = $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/release +endif +endif + ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ + $(if $(VERBOSE),V=1) \ CROSS_COMPILE="$(TARGET_CROSS)" \ - BL33=$(BINARIES_DIR)/u-boot.bin \ + BUILD_STRING=$(ARM_TRUSTED_FIRMWARE_VERSION) \ $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES)) \ - PLAT=$(ARM_TRUSTED_FIRMWARE_PLATFORM) + PLAT=$(ARM_TRUSTED_FIRMWARE_PLATFORM) \ + TARGET_BOARD=$(ARM_TRUSTED_FIRMWARE_TARGET_BOARD) \ + HOSTCC="$(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS)" + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ + ENABLE_STACK_PROTECTOR=$(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP_LEVEL)) +else +ARM_TRUSTED_FIRMWARE_CFLAGS += -fno-stack-protector +endif + +ifeq ($(BR2_PIC_PIE),y) +ARM_TRUSTED_FIRMWARE_CFLAGS += -fno-PIE +ARM_TRUSTED_FIRMWARE_LDFLAGS += -no-pie +endif + +ARM_TRUSTED_FIRMWARE_MAKE_ENV += \ + $(TARGET_MAKE_ENV) \ + CFLAGS="$(ARM_TRUSTED_FIRMWARE_CFLAGS)" \ + LDFLAGS="$(ARM_TRUSTED_FIRMWARE_LDFLAGS)" + +ifeq ($(BR2_ARM_CPU_ARMV7A),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += ARM_ARCH_MAJOR=7 +else ifeq ($(BR2_ARM_CPU_ARMV8A),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += ARM_ARCH_MAJOR=8 +endif + +ifeq ($(BR2_arm),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += ARCH=aarch32 +else ifeq ($(BR2_aarch64),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += ARCH=aarch64 +endif + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE),y) +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += optee-os +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ + BL32=$(BINARIES_DIR)/tee-header_v2.bin \ + BL32_EXTRA1=$(BINARIES_DIR)/tee-pager_v2.bin \ + BL32_EXTRA2=$(BINARIES_DIR)/tee-pageable_v2.bin +ifeq ($(BR2_aarch64),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += SPD=opteed +endif +ifeq ($(BR2_arm),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += AARCH32_SP=optee +endif +endif # BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_AS_BL33),y) +ARM_TRUSTED_FIRMWARE_BAREBOX_BIN = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_BL33_IMAGE)) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += BL33=$(BINARIES_DIR)/$(ARM_TRUSTED_FIRMWARE_BAREBOX_BIN) +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += barebox +endif + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33),y) +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += edk2 +# Since the flash device name vary between platforms, we use the variable +# provided by the EDK2 package for this. Using this variable here is OK +# as it will expand after all dependencies are resolved, inside _BUILD_CMDS. +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ + BL33=$(BINARIES_DIR)/$(call qstrip,$(BR2_TARGET_EDK2_FD_NAME).fd) +endif + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33),y) +ARM_TRUSTED_FIRMWARE_UBOOT_BIN = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE)) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += BL33=$(BINARIES_DIR)/$(ARM_TRUSTED_FIRMWARE_UBOOT_BIN) +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += uboot +endif + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_LINUX_AS_BL33),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += BL33=$(BINARIES_DIR)/zImage +ifeq ($(ARM_TRUSTED_FIRMWARE_PLATFORM),stm32mp1) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += BL33_CFG=$(BINARIES_DIR)/$(LINUX_DTBS) +endif +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += linux +endif ifeq ($(BR2_TARGET_VEXPRESS_FIRMWARE),y) ARM_TRUSTED_FIRMWARE_MAKE_OPTS += SCP_BL2=$(BINARIES_DIR)/scp-fw.bin ARM_TRUSTED_FIRMWARE_DEPENDENCIES += vexpress-firmware endif +ifeq ($(BR2_TARGET_BINARIES_MARVELL),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += SCP_BL2=$(BINARIES_DIR)/scp-fw.bin +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += binaries-marvell +endif + +ifeq ($(BR2_TARGET_MV_DDR_MARVELL),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += MV_DDR_PATH=$(MV_DDR_MARVELL_DIR) +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += mv-ddr-marvell +endif + +ARM_TRUSTED_FIRMWARE_MAKE_TARGETS = all + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP),y) +ARM_TRUSTED_FIRMWARE_MAKE_TARGETS += fip +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += host-openssl +endif + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_RCW),y) +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += host-qoriq-rcw +ARM_TRUSTED_FIRMWARE_MAKE_TARGETS += pbl +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += RCW=$(BINARIES_DIR)/PBL.bin +endif + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31),y) +ARM_TRUSTED_FIRMWARE_MAKE_TARGETS += bl31 +# Avoid BL31 environment variable from polluting the build +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += BL31= +endif + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT),y) +define ARM_TRUSTED_FIRMWARE_BL31_UBOOT_BUILD +# Get the entry point address from the elf. + BASE_ADDR=$$($(TARGET_READELF) -h $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/bl31/bl31.elf | \ + sed -r '/^ Entry point address:\s*(.*)/!d; s//\1/') && \ + $(MKIMAGE) \ + -A $(MKIMAGE_ARCH) -O arm-trusted-firmware -C none \ + -a $${BASE_ADDR} -e $${BASE_ADDR} \ + -d $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/bl31.bin \ + $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/atf-uboot.ub +endef +define ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL + $(INSTALL) -m 0644 $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/atf-uboot.ub \ + $(BINARIES_DIR)/atf-uboot.ub +endef +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += RESET_TO_BL31=1 +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += host-uboot-tools +endif + +ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF),y) +define ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL_ELF + $(INSTALL) -D -m 0644 $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/bl31/bl31.elf \ + $(BINARIES_DIR)/bl31.elf +endef +endif + +ARM_TRUSTED_FIRMWARE_MAKE_TARGETS += \ + $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS)) + +ARM_TRUSTED_FIRMWARE_CUSTOM_DTS_PATH = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_DTS_PATH)) + define ARM_TRUSTED_FIRMWARE_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) \ - $(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \ - all fip + $(if $(ARM_TRUSTED_FIRMWARE_CUSTOM_DTS_PATH), + cp -f $(ARM_TRUSTED_FIRMWARE_CUSTOM_DTS_PATH) $(@D)/fdts/ + ) + $(ARM_TRUSTED_FIRMWARE_MAKE_ENV) $(MAKE) -C $(@D) \ + $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \ + $(ARM_TRUSTED_FIRMWARE_MAKE_TARGETS) + $(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_BUILD) endef define ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES_CMDS - cp -dpf $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/release/*.bin $(BINARIES_DIR)/ + $(foreach f,$(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES)), \ + cp -dpf $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/$(f) $(BINARIES_DIR)/ + ) + $(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL) + $(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL_ELF) endef -# Configuration ckeck +# Configuration check ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE)$(BR_BUILDING),yy) -ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom) -ifeq ($(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION))),) -$(error No tarball location specified. Please check BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION)) +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL),y) +ifeq ($(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION)),) +$(error No tarball location specified. Please check BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION) endif endif diff --git a/boot/arm-trusted-firmware/lts-v2.10.5/0001-build-plat-marvell-allow-building-with-non-git-mv-dd.patch b/boot/arm-trusted-firmware/lts-v2.10.5/0001-build-plat-marvell-allow-building-with-non-git-mv-dd.patch new file mode 100644 index 00000000000..80307beae78 --- /dev/null +++ b/boot/arm-trusted-firmware/lts-v2.10.5/0001-build-plat-marvell-allow-building-with-non-git-mv-dd.patch @@ -0,0 +1,34 @@ +From 70be9272d8d8b8e205fc60b41704d470a6798e36 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= +Date: Tue, 8 Apr 2025 13:27:53 +0200 +Subject: [PATCH] build(plat/marvell): allow building with non-git + mv-ddr-marvell +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When the mv-ddr-marvell folder is not a git tree the build fails +complaining that it "does not contain valid mv-ddr-marvell git +repository". + +Remove this check to allow building in Buildroot. + +Upstream: Not applicable. Buildroot specific. +Signed-off-by: Vincent Stehlé +--- + plat/marvell/armada/a8k/common/ble/ble.mk | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/plat/marvell/armada/a8k/common/ble/ble.mk b/plat/marvell/armada/a8k/common/ble/ble.mk +index 752ab419d2..78de01686c 100644 +--- a/plat/marvell/armada/a8k/common/ble/ble.mk ++++ b/plat/marvell/armada/a8k/common/ble/ble.mk +@@ -31,5 +31,4 @@ $(MV_DDR_LIB): FORCE + # Do not remove! Following checks are required to ensure correct TF-A builds, removing these checks leads to broken TF-A builds + $(if $(value MV_DDR_PATH),,$(error "Platform '$(PLAT)' for BLE requires MV_DDR_PATH. Please set MV_DDR_PATH to point to the right directory")) + $(if $(wildcard $(value MV_DDR_PATH)/*),,$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' directory does not exist")) +- $(if $(shell git -C $(value MV_DDR_PATH) rev-parse --show-cdup 2>&1),$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' does not contain valid mv-ddr-marvell git repository")) + @+make -C $(MV_DDR_PATH) --no-print-directory PLAT_INCLUDES="$(MV_DDR_INCLUDES)" PLATFORM=$(PLAT) ARCH=AARCH64 OBJ_DIR=$(BUILD_PLAT)/ble +-- +2.48.1 + diff --git a/boot/arm-trusted-firmware/lts-v2.10.5/arm-trusted-firmware.hash b/boot/arm-trusted-firmware/lts-v2.10.5/arm-trusted-firmware.hash new file mode 100644 index 00000000000..66573371189 --- /dev/null +++ b/boot/arm-trusted-firmware/lts-v2.10.5/arm-trusted-firmware.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 62af6f1f2e9406d761ace03025f6bf22a0670578b1d0b76092dc1db455746dad arm-trusted-firmware-lts-v2.10.5-git4.tar.gz +sha256 130d0c6e5159fa454b1e969fd281fa1d388819aefb203f65dd282544b5ab7ba9 docs/license.rst diff --git a/boot/arm-trusted-firmware/lts-v2.12.1/0001-build-plat-marvell-allow-building-with-non-git-mv-dd.patch b/boot/arm-trusted-firmware/lts-v2.12.1/0001-build-plat-marvell-allow-building-with-non-git-mv-dd.patch new file mode 100644 index 00000000000..c92852afa71 --- /dev/null +++ b/boot/arm-trusted-firmware/lts-v2.12.1/0001-build-plat-marvell-allow-building-with-non-git-mv-dd.patch @@ -0,0 +1,34 @@ +From 83487cb4f74aa25cc3a03cbfa784d7b410cc3d07 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= +Date: Tue, 8 Apr 2025 13:27:53 +0200 +Subject: [PATCH] build(plat/marvell): allow building with non-git + mv-ddr-marvell +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When the mv-ddr-marvell folder is not a git tree the build fails +complaining that it "does not contain valid mv-ddr-marvell git +repository". + +Remove this check to allow building in Buildroot. + +Upstream: Not applicable. Buildroot specific. +Signed-off-by: Vincent Stehlé +--- + plat/marvell/armada/a8k/common/ble/ble.mk | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/plat/marvell/armada/a8k/common/ble/ble.mk b/plat/marvell/armada/a8k/common/ble/ble.mk +index 5ab6123904..654f291732 100644 +--- a/plat/marvell/armada/a8k/common/ble/ble.mk ++++ b/plat/marvell/armada/a8k/common/ble/ble.mk +@@ -31,5 +31,4 @@ $(MV_DDR_LIB): FORCE + # Do not remove! Following checks are required to ensure correct TF-A builds, removing these checks leads to broken TF-A builds + $(if $(value MV_DDR_PATH),,$(error "Platform '$(PLAT)' for BLE requires MV_DDR_PATH. Please set MV_DDR_PATH to point to the right directory")) + $(if $(wildcard $(value MV_DDR_PATH)/*),,$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' directory does not exist")) +- $(if $(shell git -C $(value MV_DDR_PATH) rev-parse --show-cdup 2>&1),$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' does not contain valid mv-ddr-marvell git repository")) + $(q)+make -C $(MV_DDR_PATH) --no-print-directory PLAT_INCLUDES="$(MV_DDR_INCLUDES)" PLATFORM=$(PLAT) ARCH=AARCH64 OBJ_DIR=$(BUILD_PLAT)/ble +-- +2.48.1 + diff --git a/boot/arm-trusted-firmware/lts-v2.12.1/arm-trusted-firmware.hash b/boot/arm-trusted-firmware/lts-v2.12.1/arm-trusted-firmware.hash new file mode 100644 index 00000000000..649ae8df44b --- /dev/null +++ b/boot/arm-trusted-firmware/lts-v2.12.1/arm-trusted-firmware.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 3ab7e90d6fc3364815ad7770d7aa7af9cfd68edde43da7123f5f38f80e034c44 arm-trusted-firmware-lts-v2.12.1-git4.tar.gz +sha256 b2c79635797bafcde84c6edadadde290b9d5e05deb3ea16a847210fd2ca83669 docs/license.rst diff --git a/boot/arm-trusted-firmware/lts-v2.8.20/0001-build-tools-avoid-unnecessary-link.patch b/boot/arm-trusted-firmware/lts-v2.8.20/0001-build-tools-avoid-unnecessary-link.patch new file mode 100644 index 00000000000..9e0ea74248b --- /dev/null +++ b/boot/arm-trusted-firmware/lts-v2.8.20/0001-build-tools-avoid-unnecessary-link.patch @@ -0,0 +1,77 @@ +From aa57ce632c629fe72ff417e261e0f5bfd8db6bab Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= +Date: Tue, 4 Jul 2023 16:14:02 +0200 +Subject: [PATCH] build(tools): avoid unnecessary link +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In their respective makefiles, cert_create, encrypt_fw and fiptool +depend on the --openssl phony target as a prerequisite. This forces +those tools to be re-linked each time. + +Move the dependencies on the --openssl target from the tools to their +makefiles all targets, to avoid unnecessary linking while preserving the +OpenSSL version printing done in the --openssl targets when in debug. + +Fixes: cf2dd17ddda2 ("refactor(security): add OpenSSL 1.x compatibility") +Signed-off-by: Vincent Stehlé +Change-Id: I98a3ab30f36dffc253cecaaf3a57d2712522135d +Upstream: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/commit/?id=aa57ce632c629fe72ff417e261e0f5bfd8db6bab +--- + tools/cert_create/Makefile | 4 ++-- + tools/encrypt_fw/Makefile | 4 ++-- + tools/fiptool/Makefile | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/tools/cert_create/Makefile b/tools/cert_create/Makefile +index 042e844626..b911d19d2b 100644 +--- a/tools/cert_create/Makefile ++++ b/tools/cert_create/Makefile +@@ -85,9 +85,9 @@ HOSTCC ?= gcc + + .PHONY: all clean realclean --openssl + +-all: ${BINARY} ++all: --openssl ${BINARY} + +-${BINARY}: --openssl ${OBJECTS} Makefile ++${BINARY}: ${OBJECTS} Makefile + @echo " HOSTLD $@" + @echo 'const char build_msg[] = "Built : "__TIME__", "__DATE__; \ + const char platform_msg[] = "${PLAT_MSG}";' | \ +diff --git a/tools/encrypt_fw/Makefile b/tools/encrypt_fw/Makefile +index 2939b142be..924e5febab 100644 +--- a/tools/encrypt_fw/Makefile ++++ b/tools/encrypt_fw/Makefile +@@ -65,9 +65,9 @@ HOSTCC ?= gcc + + .PHONY: all clean realclean --openssl + +-all: ${BINARY} ++all: --openssl ${BINARY} + +-${BINARY}: --openssl ${OBJECTS} Makefile ++${BINARY}: ${OBJECTS} Makefile + @echo " HOSTLD $@" + @echo 'const char build_msg[] = "Built : "__TIME__", "__DATE__;' | \ + ${HOSTCC} -c ${HOSTCCFLAGS} -xc - -o src/build_msg.o +diff --git a/tools/fiptool/Makefile b/tools/fiptool/Makefile +index 2ebee33931..4bdebd9235 100644 +--- a/tools/fiptool/Makefile ++++ b/tools/fiptool/Makefile +@@ -68,9 +68,9 @@ DEPS := $(patsubst %.o,%.d,$(OBJECTS)) + + .PHONY: all clean distclean --openssl + +-all: ${PROJECT} ++all: --openssl ${PROJECT} + +-${PROJECT}: --openssl ${OBJECTS} Makefile ++${PROJECT}: ${OBJECTS} Makefile + @echo " HOSTLD $@" + ${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS} + @${ECHO_BLANK_LINE} +-- +2.25.1 + diff --git a/boot/arm-trusted-firmware/lts-v2.8.20/0002-build-plat-marvell-allow-building-with-non-git-mv-dd.patch b/boot/arm-trusted-firmware/lts-v2.8.20/0002-build-plat-marvell-allow-building-with-non-git-mv-dd.patch new file mode 100644 index 00000000000..09e4270f46a --- /dev/null +++ b/boot/arm-trusted-firmware/lts-v2.8.20/0002-build-plat-marvell-allow-building-with-non-git-mv-dd.patch @@ -0,0 +1,34 @@ +From 26073dca5982e86b45d6ff82176418f8624315f5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= +Date: Tue, 8 Apr 2025 13:27:53 +0200 +Subject: [PATCH] build(plat/marvell): allow building with non-git + mv-ddr-marvell +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When the mv-ddr-marvell folder is not a git tree the build fails +complaining that it "does not contain valid mv-ddr-marvell git +repository". + +Remove this check to allow building in Buildroot. + +Upstream: Not applicable. Buildroot specific. +Signed-off-by: Vincent Stehlé +--- + plat/marvell/armada/a8k/common/ble/ble.mk | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/plat/marvell/armada/a8k/common/ble/ble.mk b/plat/marvell/armada/a8k/common/ble/ble.mk +index 160e98f12a..569f5f1552 100644 +--- a/plat/marvell/armada/a8k/common/ble/ble.mk ++++ b/plat/marvell/armada/a8k/common/ble/ble.mk +@@ -31,5 +31,4 @@ $(MV_DDR_LIB): FORCE + # Do not remove! Following checks are required to ensure correct TF-A builds, removing these checks leads to broken TF-A builds + $(if $(value MV_DDR_PATH),,$(error "Platform '$(PLAT)' for BLE requires MV_DDR_PATH. Please set MV_DDR_PATH to point to the right directory")) + $(if $(wildcard $(value MV_DDR_PATH)/*),,$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' directory does not exist")) +- $(if $(shell git -C $(value MV_DDR_PATH) rev-parse --show-cdup 2>&1),$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' does not contain valid mv-ddr-marvell git repository")) + @+make -C $(MV_DDR_PATH) --no-print-directory PLAT_INCLUDES="$(MV_DDR_INCLUDES)" PLATFORM=$(PLAT) ARCH=AARCH64 OBJ_DIR=$(BUILD_PLAT)/ble +-- +2.48.1 + diff --git a/boot/arm-trusted-firmware/lts-v2.8.20/arm-trusted-firmware.hash b/boot/arm-trusted-firmware/lts-v2.8.20/arm-trusted-firmware.hash new file mode 100644 index 00000000000..6368bf7f988 --- /dev/null +++ b/boot/arm-trusted-firmware/lts-v2.8.20/arm-trusted-firmware.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 a90617cc2c1791c98d36b9e3d9a7f3f77029897e00c4279ff4ef559b769e9d7b arm-trusted-firmware-lts-v2.8.20-git4.tar.gz +sha256 130d0c6e5159fa454b1e969fd281fa1d388819aefb203f65dd282544b5ab7ba9 docs/license.rst diff --git a/boot/arm-trusted-firmware/v2.10/0001-build-plat-marvell-allow-building-with-non-git-mv-dd.patch b/boot/arm-trusted-firmware/v2.10/0001-build-plat-marvell-allow-building-with-non-git-mv-dd.patch new file mode 100644 index 00000000000..e3826c08817 --- /dev/null +++ b/boot/arm-trusted-firmware/v2.10/0001-build-plat-marvell-allow-building-with-non-git-mv-dd.patch @@ -0,0 +1,34 @@ +From ea879d9dcb7f22b9a0921613bf2f530e2787d0db Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= +Date: Tue, 8 Apr 2025 13:27:53 +0200 +Subject: [PATCH] build(plat/marvell): allow building with non-git + mv-ddr-marvell +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When the mv-ddr-marvell folder is not a git tree the build fails +complaining that it "does not contain valid mv-ddr-marvell git +repository". + +Remove this check to allow building in Buildroot. + +Upstream: Not applicable. Buildroot specific. +Signed-off-by: Vincent Stehlé +--- + plat/marvell/armada/a8k/common/ble/ble.mk | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/plat/marvell/armada/a8k/common/ble/ble.mk b/plat/marvell/armada/a8k/common/ble/ble.mk +index 752ab419d2..78de01686c 100644 +--- a/plat/marvell/armada/a8k/common/ble/ble.mk ++++ b/plat/marvell/armada/a8k/common/ble/ble.mk +@@ -31,5 +31,4 @@ $(MV_DDR_LIB): FORCE + # Do not remove! Following checks are required to ensure correct TF-A builds, removing these checks leads to broken TF-A builds + $(if $(value MV_DDR_PATH),,$(error "Platform '$(PLAT)' for BLE requires MV_DDR_PATH. Please set MV_DDR_PATH to point to the right directory")) + $(if $(wildcard $(value MV_DDR_PATH)/*),,$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' directory does not exist")) +- $(if $(shell git -C $(value MV_DDR_PATH) rev-parse --show-cdup 2>&1),$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' does not contain valid mv-ddr-marvell git repository")) + @+make -C $(MV_DDR_PATH) --no-print-directory PLAT_INCLUDES="$(MV_DDR_INCLUDES)" PLATFORM=$(PLAT) ARCH=AARCH64 OBJ_DIR=$(BUILD_PLAT)/ble +-- +2.48.1 + diff --git a/boot/arm-trusted-firmware/v2.11/0001-build-plat-marvell-allow-building-with-non-git-mv-dd.patch b/boot/arm-trusted-firmware/v2.11/0001-build-plat-marvell-allow-building-with-non-git-mv-dd.patch new file mode 100644 index 00000000000..35d1d62bf67 --- /dev/null +++ b/boot/arm-trusted-firmware/v2.11/0001-build-plat-marvell-allow-building-with-non-git-mv-dd.patch @@ -0,0 +1,34 @@ +From f0f29a693064915f5df7ab9369f93353c6c692cc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= +Date: Tue, 8 Apr 2025 13:27:53 +0200 +Subject: [PATCH] build(plat/marvell): allow building with non-git + mv-ddr-marvell +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When the mv-ddr-marvell folder is not a git tree the build fails +complaining that it "does not contain valid mv-ddr-marvell git +repository". + +Remove this check to allow building in Buildroot. + +Upstream: Not applicable. Buildroot specific. +Signed-off-by: Vincent Stehlé +--- + plat/marvell/armada/a8k/common/ble/ble.mk | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/plat/marvell/armada/a8k/common/ble/ble.mk b/plat/marvell/armada/a8k/common/ble/ble.mk +index 752ab419d2..78de01686c 100644 +--- a/plat/marvell/armada/a8k/common/ble/ble.mk ++++ b/plat/marvell/armada/a8k/common/ble/ble.mk +@@ -31,5 +31,4 @@ $(MV_DDR_LIB): FORCE + # Do not remove! Following checks are required to ensure correct TF-A builds, removing these checks leads to broken TF-A builds + $(if $(value MV_DDR_PATH),,$(error "Platform '$(PLAT)' for BLE requires MV_DDR_PATH. Please set MV_DDR_PATH to point to the right directory")) + $(if $(wildcard $(value MV_DDR_PATH)/*),,$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' directory does not exist")) +- $(if $(shell git -C $(value MV_DDR_PATH) rev-parse --show-cdup 2>&1),$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' does not contain valid mv-ddr-marvell git repository")) + @+make -C $(MV_DDR_PATH) --no-print-directory PLAT_INCLUDES="$(MV_DDR_INCLUDES)" PLATFORM=$(PLAT) ARCH=AARCH64 OBJ_DIR=$(BUILD_PLAT)/ble +-- +2.48.1 + diff --git a/boot/arm-trusted-firmware/v2.12/0001-build-plat-marvell-allow-building-with-non-git-mv-dd.patch b/boot/arm-trusted-firmware/v2.12/0001-build-plat-marvell-allow-building-with-non-git-mv-dd.patch new file mode 100644 index 00000000000..c4281681682 --- /dev/null +++ b/boot/arm-trusted-firmware/v2.12/0001-build-plat-marvell-allow-building-with-non-git-mv-dd.patch @@ -0,0 +1,34 @@ +From afa038938b5bc54703a10f9103e6b85e07fd562f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= +Date: Tue, 8 Apr 2025 13:27:53 +0200 +Subject: [PATCH] build(plat/marvell): allow building with non-git + mv-ddr-marvell +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When the mv-ddr-marvell folder is not a git tree the build fails +complaining that it "does not contain valid mv-ddr-marvell git +repository". + +Remove this check to allow building in Buildroot. + +Upstream: Not applicable. Buildroot specific. +Signed-off-by: Vincent Stehlé +--- + plat/marvell/armada/a8k/common/ble/ble.mk | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/plat/marvell/armada/a8k/common/ble/ble.mk b/plat/marvell/armada/a8k/common/ble/ble.mk +index 5ab6123904..654f291732 100644 +--- a/plat/marvell/armada/a8k/common/ble/ble.mk ++++ b/plat/marvell/armada/a8k/common/ble/ble.mk +@@ -31,5 +31,4 @@ $(MV_DDR_LIB): FORCE + # Do not remove! Following checks are required to ensure correct TF-A builds, removing these checks leads to broken TF-A builds + $(if $(value MV_DDR_PATH),,$(error "Platform '$(PLAT)' for BLE requires MV_DDR_PATH. Please set MV_DDR_PATH to point to the right directory")) + $(if $(wildcard $(value MV_DDR_PATH)/*),,$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' directory does not exist")) +- $(if $(shell git -C $(value MV_DDR_PATH) rev-parse --show-cdup 2>&1),$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' does not contain valid mv-ddr-marvell git repository")) + $(q)+make -C $(MV_DDR_PATH) --no-print-directory PLAT_INCLUDES="$(MV_DDR_INCLUDES)" PLATFORM=$(PLAT) ARCH=AARCH64 OBJ_DIR=$(BUILD_PLAT)/ble +-- +2.48.1 + diff --git a/boot/arm-trusted-firmware/v2.12/arm-trusted-firmware.hash b/boot/arm-trusted-firmware/v2.12/arm-trusted-firmware.hash new file mode 100644 index 00000000000..55ea5154819 --- /dev/null +++ b/boot/arm-trusted-firmware/v2.12/arm-trusted-firmware.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 06b35a3596b8417bf66f7bfdd7acd181bcb53fc36dc13216227b5cae154e0219 arm-trusted-firmware-v2.12-git4.tar.gz +sha256 b2c79635797bafcde84c6edadadde290b9d5e05deb3ea16a847210fd2ca83669 docs/license.rst diff --git a/boot/arm-trusted-firmware/v2.2/0001-PATCH-feat-build-add-support-for-new-binutils-versio.patch b/boot/arm-trusted-firmware/v2.2/0001-PATCH-feat-build-add-support-for-new-binutils-versio.patch new file mode 100644 index 00000000000..d4d2b068f37 --- /dev/null +++ b/boot/arm-trusted-firmware/v2.2/0001-PATCH-feat-build-add-support-for-new-binutils-versio.patch @@ -0,0 +1,59 @@ +From 5e1beb793c06352e87c46eca1144ff1fe8555103 Mon Sep 17 00:00:00 2001 +From: Heiko Thiery +Date: Mon, 10 Jul 2023 10:43:03 +0200 +Subject: [PATCH] [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 + +Signed-off-by: Heiko Thiery +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +--- + Makefile | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 721246d51..5893cf422 100644 +--- a/Makefile ++++ b/Makefile +@@ -297,11 +297,16 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 + TF_LDFLAGS += --remove --info=unused,unusedsymbols + else +-TF_LDFLAGS += --fatal-warnings -O1 ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 + TF_LDFLAGS += --gc-sections + endif + TF_LDFLAGS += $(TF_LDFLAGS_$(ARCH)) +-- +2.30.2 + diff --git a/boot/arm-trusted-firmware/v2.3/0001-feat-build-add-support-for-new-binutils-versions.patch b/boot/arm-trusted-firmware/v2.3/0001-feat-build-add-support-for-new-binutils-versions.patch new file mode 100644 index 00000000000..335c18553ac --- /dev/null +++ b/boot/arm-trusted-firmware/v2.3/0001-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1,61 @@ +From 0f75b03c008eacb9818af3a56dc088e72a623d17 Mon Sep 17 00:00:00 2001 +From: Marco Felsch +Date: Wed, 9 Nov 2022 12:59:09 +0100 +Subject: [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 +Signed-off-by: Heiko Thiery +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +--- + Makefile | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1ddb7b844..470956b19 100644 +--- a/Makefile ++++ b/Makefile +@@ -416,6 +416,8 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + # LD = armlink + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 +@@ -442,7 +444,10 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH))) + + # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other + else +-TF_LDFLAGS += --fatal-warnings -O1 ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 + TF_LDFLAGS += --gc-sections + # ld.lld doesn't recognize the errata flags, + # therefore don't add those in that case +-- +2.30.2 + diff --git a/boot/arm-trusted-firmware/v2.4/0001-feat-build-add-support-for-new-binutils-versions.patch b/boot/arm-trusted-firmware/v2.4/0001-feat-build-add-support-for-new-binutils-versions.patch new file mode 100644 index 00000000000..335c18553ac --- /dev/null +++ b/boot/arm-trusted-firmware/v2.4/0001-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1,61 @@ +From 0f75b03c008eacb9818af3a56dc088e72a623d17 Mon Sep 17 00:00:00 2001 +From: Marco Felsch +Date: Wed, 9 Nov 2022 12:59:09 +0100 +Subject: [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 +Signed-off-by: Heiko Thiery +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +--- + Makefile | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1ddb7b844..470956b19 100644 +--- a/Makefile ++++ b/Makefile +@@ -416,6 +416,8 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + # LD = armlink + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 +@@ -442,7 +444,10 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH))) + + # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other + else +-TF_LDFLAGS += --fatal-warnings -O1 ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 + TF_LDFLAGS += --gc-sections + # ld.lld doesn't recognize the errata flags, + # therefore don't add those in that case +-- +2.30.2 + diff --git a/boot/arm-trusted-firmware/v2.5/0001-feat-build-add-support-for-new-binutils-versions.patch b/boot/arm-trusted-firmware/v2.5/0001-feat-build-add-support-for-new-binutils-versions.patch new file mode 100644 index 00000000000..335c18553ac --- /dev/null +++ b/boot/arm-trusted-firmware/v2.5/0001-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1,61 @@ +From 0f75b03c008eacb9818af3a56dc088e72a623d17 Mon Sep 17 00:00:00 2001 +From: Marco Felsch +Date: Wed, 9 Nov 2022 12:59:09 +0100 +Subject: [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 +Signed-off-by: Heiko Thiery +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +--- + Makefile | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1ddb7b844..470956b19 100644 +--- a/Makefile ++++ b/Makefile +@@ -416,6 +416,8 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + # LD = armlink + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 +@@ -442,7 +444,10 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH))) + + # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other + else +-TF_LDFLAGS += --fatal-warnings -O1 ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 + TF_LDFLAGS += --gc-sections + # ld.lld doesn't recognize the errata flags, + # therefore don't add those in that case +-- +2.30.2 + diff --git a/boot/arm-trusted-firmware/v2.6/0001-feat-build-add-support-for-new-binutils-versions.patch b/boot/arm-trusted-firmware/v2.6/0001-feat-build-add-support-for-new-binutils-versions.patch new file mode 100644 index 00000000000..335c18553ac --- /dev/null +++ b/boot/arm-trusted-firmware/v2.6/0001-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1,61 @@ +From 0f75b03c008eacb9818af3a56dc088e72a623d17 Mon Sep 17 00:00:00 2001 +From: Marco Felsch +Date: Wed, 9 Nov 2022 12:59:09 +0100 +Subject: [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 +Signed-off-by: Heiko Thiery +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +--- + Makefile | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1ddb7b844..470956b19 100644 +--- a/Makefile ++++ b/Makefile +@@ -416,6 +416,8 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + # LD = armlink + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 +@@ -442,7 +444,10 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH))) + + # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other + else +-TF_LDFLAGS += --fatal-warnings -O1 ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 + TF_LDFLAGS += --gc-sections + # ld.lld doesn't recognize the errata flags, + # therefore don't add those in that case +-- +2.30.2 + diff --git a/boot/arm-trusted-firmware/v2.6/0002-build-plat-marvell-allow-building-with-non-git-mv-dd.patch b/boot/arm-trusted-firmware/v2.6/0002-build-plat-marvell-allow-building-with-non-git-mv-dd.patch new file mode 100644 index 00000000000..77c6edb446f --- /dev/null +++ b/boot/arm-trusted-firmware/v2.6/0002-build-plat-marvell-allow-building-with-non-git-mv-dd.patch @@ -0,0 +1,34 @@ +From e94c6513bad0a2cdb2a2266129c06e5a55826d74 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= +Date: Tue, 8 Apr 2025 13:27:53 +0200 +Subject: [PATCH] build(plat/marvell): allow building with non-git + mv-ddr-marvell +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When the mv-ddr-marvell folder is not a git tree the build fails +complaining that it "does not contain valid mv-ddr-marvell git +repository". + +Remove this check to allow building in Buildroot. + +Upstream: Not applicable. Buildroot specific. +Signed-off-by: Vincent Stehlé +--- + plat/marvell/armada/a8k/common/ble/ble.mk | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/plat/marvell/armada/a8k/common/ble/ble.mk b/plat/marvell/armada/a8k/common/ble/ble.mk +index 160e98f12a..569f5f1552 100644 +--- a/plat/marvell/armada/a8k/common/ble/ble.mk ++++ b/plat/marvell/armada/a8k/common/ble/ble.mk +@@ -31,5 +31,4 @@ $(MV_DDR_LIB): FORCE + # Do not remove! Following checks are required to ensure correct TF-A builds, removing these checks leads to broken TF-A builds + $(if $(value MV_DDR_PATH),,$(error "Platform '$(PLAT)' for BLE requires MV_DDR_PATH. Please set MV_DDR_PATH to point to the right directory")) + $(if $(wildcard $(value MV_DDR_PATH)/*),,$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' directory does not exist")) +- $(if $(shell git -C $(value MV_DDR_PATH) rev-parse --show-cdup 2>&1),$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' does not contain valid mv-ddr-marvell git repository")) + @+make -C $(MV_DDR_PATH) --no-print-directory PLAT_INCLUDES="$(MV_DDR_INCLUDES)" PLATFORM=$(PLAT) ARCH=AARCH64 OBJ_DIR=$(BUILD_PLAT)/ble +-- +2.48.1 + diff --git a/boot/arm-trusted-firmware/v2.7/0001-feat-build-add-support-for-new-binutils-versions.patch b/boot/arm-trusted-firmware/v2.7/0001-feat-build-add-support-for-new-binutils-versions.patch new file mode 100644 index 00000000000..335c18553ac --- /dev/null +++ b/boot/arm-trusted-firmware/v2.7/0001-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1,61 @@ +From 0f75b03c008eacb9818af3a56dc088e72a623d17 Mon Sep 17 00:00:00 2001 +From: Marco Felsch +Date: Wed, 9 Nov 2022 12:59:09 +0100 +Subject: [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 +Signed-off-by: Heiko Thiery +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +--- + Makefile | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1ddb7b844..470956b19 100644 +--- a/Makefile ++++ b/Makefile +@@ -416,6 +416,8 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + # LD = armlink + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 +@@ -442,7 +444,10 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH))) + + # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other + else +-TF_LDFLAGS += --fatal-warnings -O1 ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 + TF_LDFLAGS += --gc-sections + # ld.lld doesn't recognize the errata flags, + # therefore don't add those in that case +-- +2.30.2 + diff --git a/boot/arm-trusted-firmware/v2.7/0002-build-plat-marvell-allow-building-with-non-git-mv-dd.patch b/boot/arm-trusted-firmware/v2.7/0002-build-plat-marvell-allow-building-with-non-git-mv-dd.patch new file mode 100644 index 00000000000..725745bc9d6 --- /dev/null +++ b/boot/arm-trusted-firmware/v2.7/0002-build-plat-marvell-allow-building-with-non-git-mv-dd.patch @@ -0,0 +1,34 @@ +From bbb06a551951a96b738f1aac70f8c2fc44b39e50 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= +Date: Tue, 8 Apr 2025 13:27:53 +0200 +Subject: [PATCH] build(plat/marvell): allow building with non-git + mv-ddr-marvell +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When the mv-ddr-marvell folder is not a git tree the build fails +complaining that it "does not contain valid mv-ddr-marvell git +repository". + +Remove this check to allow building in Buildroot. + +Upstream: Not applicable. Buildroot specific. +Signed-off-by: Vincent Stehlé +--- + plat/marvell/armada/a8k/common/ble/ble.mk | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/plat/marvell/armada/a8k/common/ble/ble.mk b/plat/marvell/armada/a8k/common/ble/ble.mk +index 160e98f12a..569f5f1552 100644 +--- a/plat/marvell/armada/a8k/common/ble/ble.mk ++++ b/plat/marvell/armada/a8k/common/ble/ble.mk +@@ -31,5 +31,4 @@ $(MV_DDR_LIB): FORCE + # Do not remove! Following checks are required to ensure correct TF-A builds, removing these checks leads to broken TF-A builds + $(if $(value MV_DDR_PATH),,$(error "Platform '$(PLAT)' for BLE requires MV_DDR_PATH. Please set MV_DDR_PATH to point to the right directory")) + $(if $(wildcard $(value MV_DDR_PATH)/*),,$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' directory does not exist")) +- $(if $(shell git -C $(value MV_DDR_PATH) rev-parse --show-cdup 2>&1),$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' does not contain valid mv-ddr-marvell git repository")) + @+make -C $(MV_DDR_PATH) --no-print-directory PLAT_INCLUDES="$(MV_DDR_INCLUDES)" PLATFORM=$(PLAT) ARCH=AARCH64 OBJ_DIR=$(BUILD_PLAT)/ble +-- +2.48.1 + diff --git a/boot/arm-trusted-firmware/v2.8/0001-feat-build-add-support-for-new-binutils-versions.patch b/boot/arm-trusted-firmware/v2.8/0001-feat-build-add-support-for-new-binutils-versions.patch new file mode 100644 index 00000000000..335c18553ac --- /dev/null +++ b/boot/arm-trusted-firmware/v2.8/0001-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1,61 @@ +From 0f75b03c008eacb9818af3a56dc088e72a623d17 Mon Sep 17 00:00:00 2001 +From: Marco Felsch +Date: Wed, 9 Nov 2022 12:59:09 +0100 +Subject: [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 +Signed-off-by: Heiko Thiery +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +--- + Makefile | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1ddb7b844..470956b19 100644 +--- a/Makefile ++++ b/Makefile +@@ -416,6 +416,8 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + # LD = armlink + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 +@@ -442,7 +444,10 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH))) + + # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other + else +-TF_LDFLAGS += --fatal-warnings -O1 ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 + TF_LDFLAGS += --gc-sections + # ld.lld doesn't recognize the errata flags, + # therefore don't add those in that case +-- +2.30.2 + diff --git a/boot/arm-trusted-firmware/v2.8/0002-build-tools-avoid-unnecessary-link.patch b/boot/arm-trusted-firmware/v2.8/0002-build-tools-avoid-unnecessary-link.patch new file mode 100644 index 00000000000..9e0ea74248b --- /dev/null +++ b/boot/arm-trusted-firmware/v2.8/0002-build-tools-avoid-unnecessary-link.patch @@ -0,0 +1,77 @@ +From aa57ce632c629fe72ff417e261e0f5bfd8db6bab Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= +Date: Tue, 4 Jul 2023 16:14:02 +0200 +Subject: [PATCH] build(tools): avoid unnecessary link +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In their respective makefiles, cert_create, encrypt_fw and fiptool +depend on the --openssl phony target as a prerequisite. This forces +those tools to be re-linked each time. + +Move the dependencies on the --openssl target from the tools to their +makefiles all targets, to avoid unnecessary linking while preserving the +OpenSSL version printing done in the --openssl targets when in debug. + +Fixes: cf2dd17ddda2 ("refactor(security): add OpenSSL 1.x compatibility") +Signed-off-by: Vincent Stehlé +Change-Id: I98a3ab30f36dffc253cecaaf3a57d2712522135d +Upstream: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/commit/?id=aa57ce632c629fe72ff417e261e0f5bfd8db6bab +--- + tools/cert_create/Makefile | 4 ++-- + tools/encrypt_fw/Makefile | 4 ++-- + tools/fiptool/Makefile | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/tools/cert_create/Makefile b/tools/cert_create/Makefile +index 042e844626..b911d19d2b 100644 +--- a/tools/cert_create/Makefile ++++ b/tools/cert_create/Makefile +@@ -85,9 +85,9 @@ HOSTCC ?= gcc + + .PHONY: all clean realclean --openssl + +-all: ${BINARY} ++all: --openssl ${BINARY} + +-${BINARY}: --openssl ${OBJECTS} Makefile ++${BINARY}: ${OBJECTS} Makefile + @echo " HOSTLD $@" + @echo 'const char build_msg[] = "Built : "__TIME__", "__DATE__; \ + const char platform_msg[] = "${PLAT_MSG}";' | \ +diff --git a/tools/encrypt_fw/Makefile b/tools/encrypt_fw/Makefile +index 2939b142be..924e5febab 100644 +--- a/tools/encrypt_fw/Makefile ++++ b/tools/encrypt_fw/Makefile +@@ -65,9 +65,9 @@ HOSTCC ?= gcc + + .PHONY: all clean realclean --openssl + +-all: ${BINARY} ++all: --openssl ${BINARY} + +-${BINARY}: --openssl ${OBJECTS} Makefile ++${BINARY}: ${OBJECTS} Makefile + @echo " HOSTLD $@" + @echo 'const char build_msg[] = "Built : "__TIME__", "__DATE__;' | \ + ${HOSTCC} -c ${HOSTCCFLAGS} -xc - -o src/build_msg.o +diff --git a/tools/fiptool/Makefile b/tools/fiptool/Makefile +index 2ebee33931..4bdebd9235 100644 +--- a/tools/fiptool/Makefile ++++ b/tools/fiptool/Makefile +@@ -68,9 +68,9 @@ DEPS := $(patsubst %.o,%.d,$(OBJECTS)) + + .PHONY: all clean distclean --openssl + +-all: ${PROJECT} ++all: --openssl ${PROJECT} + +-${PROJECT}: --openssl ${OBJECTS} Makefile ++${PROJECT}: ${OBJECTS} Makefile + @echo " HOSTLD $@" + ${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS} + @${ECHO_BLANK_LINE} +-- +2.25.1 + diff --git a/boot/arm-trusted-firmware/v2.8/0003-build-plat-marvell-allow-building-with-non-git-mv-dd.patch b/boot/arm-trusted-firmware/v2.8/0003-build-plat-marvell-allow-building-with-non-git-mv-dd.patch new file mode 100644 index 00000000000..3d59640ec44 --- /dev/null +++ b/boot/arm-trusted-firmware/v2.8/0003-build-plat-marvell-allow-building-with-non-git-mv-dd.patch @@ -0,0 +1,34 @@ +From e349eb61b8b5f058ad9d54fc063b66ca26cf5a5b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= +Date: Tue, 8 Apr 2025 13:27:53 +0200 +Subject: [PATCH] build(plat/marvell): allow building with non-git + mv-ddr-marvell +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When the mv-ddr-marvell folder is not a git tree the build fails +complaining that it "does not contain valid mv-ddr-marvell git +repository". + +Remove this check to allow building in Buildroot. + +Upstream: Not applicable. Buildroot specific. +Signed-off-by: Vincent Stehlé +--- + plat/marvell/armada/a8k/common/ble/ble.mk | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/plat/marvell/armada/a8k/common/ble/ble.mk b/plat/marvell/armada/a8k/common/ble/ble.mk +index 160e98f12a..569f5f1552 100644 +--- a/plat/marvell/armada/a8k/common/ble/ble.mk ++++ b/plat/marvell/armada/a8k/common/ble/ble.mk +@@ -31,5 +31,4 @@ $(MV_DDR_LIB): FORCE + # Do not remove! Following checks are required to ensure correct TF-A builds, removing these checks leads to broken TF-A builds + $(if $(value MV_DDR_PATH),,$(error "Platform '$(PLAT)' for BLE requires MV_DDR_PATH. Please set MV_DDR_PATH to point to the right directory")) + $(if $(wildcard $(value MV_DDR_PATH)/*),,$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' directory does not exist")) +- $(if $(shell git -C $(value MV_DDR_PATH) rev-parse --show-cdup 2>&1),$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' does not contain valid mv-ddr-marvell git repository")) + @+make -C $(MV_DDR_PATH) --no-print-directory PLAT_INCLUDES="$(MV_DDR_INCLUDES)" PLATFORM=$(PLAT) ARCH=AARCH64 OBJ_DIR=$(BUILD_PLAT)/ble +-- +2.48.1 + diff --git a/boot/arm-trusted-firmware/v2.9/0001-build-tools-avoid-unnecessary-link.patch b/boot/arm-trusted-firmware/v2.9/0001-build-tools-avoid-unnecessary-link.patch new file mode 100644 index 00000000000..9e0ea74248b --- /dev/null +++ b/boot/arm-trusted-firmware/v2.9/0001-build-tools-avoid-unnecessary-link.patch @@ -0,0 +1,77 @@ +From aa57ce632c629fe72ff417e261e0f5bfd8db6bab Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= +Date: Tue, 4 Jul 2023 16:14:02 +0200 +Subject: [PATCH] build(tools): avoid unnecessary link +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In their respective makefiles, cert_create, encrypt_fw and fiptool +depend on the --openssl phony target as a prerequisite. This forces +those tools to be re-linked each time. + +Move the dependencies on the --openssl target from the tools to their +makefiles all targets, to avoid unnecessary linking while preserving the +OpenSSL version printing done in the --openssl targets when in debug. + +Fixes: cf2dd17ddda2 ("refactor(security): add OpenSSL 1.x compatibility") +Signed-off-by: Vincent Stehlé +Change-Id: I98a3ab30f36dffc253cecaaf3a57d2712522135d +Upstream: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/commit/?id=aa57ce632c629fe72ff417e261e0f5bfd8db6bab +--- + tools/cert_create/Makefile | 4 ++-- + tools/encrypt_fw/Makefile | 4 ++-- + tools/fiptool/Makefile | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/tools/cert_create/Makefile b/tools/cert_create/Makefile +index 042e844626..b911d19d2b 100644 +--- a/tools/cert_create/Makefile ++++ b/tools/cert_create/Makefile +@@ -85,9 +85,9 @@ HOSTCC ?= gcc + + .PHONY: all clean realclean --openssl + +-all: ${BINARY} ++all: --openssl ${BINARY} + +-${BINARY}: --openssl ${OBJECTS} Makefile ++${BINARY}: ${OBJECTS} Makefile + @echo " HOSTLD $@" + @echo 'const char build_msg[] = "Built : "__TIME__", "__DATE__; \ + const char platform_msg[] = "${PLAT_MSG}";' | \ +diff --git a/tools/encrypt_fw/Makefile b/tools/encrypt_fw/Makefile +index 2939b142be..924e5febab 100644 +--- a/tools/encrypt_fw/Makefile ++++ b/tools/encrypt_fw/Makefile +@@ -65,9 +65,9 @@ HOSTCC ?= gcc + + .PHONY: all clean realclean --openssl + +-all: ${BINARY} ++all: --openssl ${BINARY} + +-${BINARY}: --openssl ${OBJECTS} Makefile ++${BINARY}: ${OBJECTS} Makefile + @echo " HOSTLD $@" + @echo 'const char build_msg[] = "Built : "__TIME__", "__DATE__;' | \ + ${HOSTCC} -c ${HOSTCCFLAGS} -xc - -o src/build_msg.o +diff --git a/tools/fiptool/Makefile b/tools/fiptool/Makefile +index 2ebee33931..4bdebd9235 100644 +--- a/tools/fiptool/Makefile ++++ b/tools/fiptool/Makefile +@@ -68,9 +68,9 @@ DEPS := $(patsubst %.o,%.d,$(OBJECTS)) + + .PHONY: all clean distclean --openssl + +-all: ${PROJECT} ++all: --openssl ${PROJECT} + +-${PROJECT}: --openssl ${OBJECTS} Makefile ++${PROJECT}: ${OBJECTS} Makefile + @echo " HOSTLD $@" + ${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS} + @${ECHO_BLANK_LINE} +-- +2.25.1 + diff --git a/boot/arm-trusted-firmware/v2.9/0002-build-plat-marvell-allow-building-with-non-git-mv-dd.patch b/boot/arm-trusted-firmware/v2.9/0002-build-plat-marvell-allow-building-with-non-git-mv-dd.patch new file mode 100644 index 00000000000..4813464559a --- /dev/null +++ b/boot/arm-trusted-firmware/v2.9/0002-build-plat-marvell-allow-building-with-non-git-mv-dd.patch @@ -0,0 +1,34 @@ +From 51d35780d42b53c5215019c9d6ffe28ce768e886 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= +Date: Tue, 8 Apr 2025 13:27:53 +0200 +Subject: [PATCH] build(plat/marvell): allow building with non-git + mv-ddr-marvell +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When the mv-ddr-marvell folder is not a git tree the build fails +complaining that it "does not contain valid mv-ddr-marvell git +repository". + +Remove this check to allow building in Buildroot. + +Upstream: Not applicable. Buildroot specific. +Signed-off-by: Vincent Stehlé +--- + plat/marvell/armada/a8k/common/ble/ble.mk | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/plat/marvell/armada/a8k/common/ble/ble.mk b/plat/marvell/armada/a8k/common/ble/ble.mk +index 752ab419d2..78de01686c 100644 +--- a/plat/marvell/armada/a8k/common/ble/ble.mk ++++ b/plat/marvell/armada/a8k/common/ble/ble.mk +@@ -31,5 +31,4 @@ $(MV_DDR_LIB): FORCE + # Do not remove! Following checks are required to ensure correct TF-A builds, removing these checks leads to broken TF-A builds + $(if $(value MV_DDR_PATH),,$(error "Platform '$(PLAT)' for BLE requires MV_DDR_PATH. Please set MV_DDR_PATH to point to the right directory")) + $(if $(wildcard $(value MV_DDR_PATH)/*),,$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' directory does not exist")) +- $(if $(shell git -C $(value MV_DDR_PATH) rev-parse --show-cdup 2>&1),$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' does not contain valid mv-ddr-marvell git repository")) + @+make -C $(MV_DDR_PATH) --no-print-directory PLAT_INCLUDES="$(MV_DDR_INCLUDES)" PLATFORM=$(PLAT) ARCH=AARCH64 OBJ_DIR=$(BUILD_PLAT)/ble +-- +2.48.1 + diff --git a/boot/at91bootstrap/Config.in b/boot/at91bootstrap/Config.in deleted file mode 100644 index 57fdeda946a..00000000000 --- a/boot/at91bootstrap/Config.in +++ /dev/null @@ -1,47 +0,0 @@ -config BR2_TARGET_AT91BOOTSTRAP - depends on BR2_arm926t - bool "AT91 Bootstrap" - help - AT91Bootstrap is a first level bootloader for the Atmel AT91 - devices. It integrates algorithms for: - - Device initialization such as clock configuration, PIO settings... - - Peripheral drivers such as PIO, PMC or SDRAMC... - - Physical media algorithm such as DataFlash, NandFlash, NOR Flash... - -if BR2_TARGET_AT91BOOTSTRAP - -config BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR - string "custom patch dir" - help - If your board requires custom patches, add the path to the - directory containing the patches here. The patches must be - named at91bootstrap--.patch. - - Most users may leave this empty - -config BR2_TARGET_AT91BOOTSTRAP_BOARD - string "Bootstrap board" - default "" - help - This is used to do a make _config - -choice - prompt "Boot Memory" - default BR2_TARGET_AT91BOOTSTRAP_DATAFLASH - help - Select Chip for which AT91 bootstrap should be built - -config BR2_TARGET_AT91BOOTSTRAP_DATAFLASH - bool "Data Flash" - -config BR2_TARGET_AT91BOOTSTRAP_NANDFLASH - bool "NAND Flash" - -endchoice - -config BR2_TARGET_AT91BOOTSTRAP_MEMORY - string - default "dataflash" if BR2_TARGET_AT91BOOTSTRAP_DATAFLASH - default "nandflash" if BR2_TARGET_AT91BOOTSTRAP_NANDFLASH - -endif diff --git a/boot/at91bootstrap/at91bootstrap-1.16-eabi-fix.patch b/boot/at91bootstrap/at91bootstrap-1.16-eabi-fix.patch deleted file mode 100644 index eab3c20928e..00000000000 --- a/boot/at91bootstrap/at91bootstrap-1.16-eabi-fix.patch +++ /dev/null @@ -1,334 +0,0 @@ -When using an EABI toolchain, the default compilation generates -references to __aeabi_unwind_cpp_pr0(). This symbol is defined in -libgcc, but we don't want to use it for a bootloader. - -Therefore, this patch passes some additional CFLAGS to disable the -generation of such references by avoiding unwind tables, exceptions, -etc. - -Signed-off-by: Thomas Petazzoni ---- - board/at91cap9adk/dataflash/Makefile | 2 +- - board/at91cap9adk/norflash/Makefile | 2 +- - board/at91cap9stk/nandflash/Makefile | 2 +- - board/at91sam9260ek/dataflash/Makefile | 2 +- - board/at91sam9260ek/nandflash/Makefile | 2 +- - board/at91sam9261ek/dataflash/Makefile | 2 +- - board/at91sam9261ek/nandflash/Makefile | 2 +- - board/at91sam9263ek/dataflash/Makefile | 2 +- - board/at91sam9263ek/nandflash/Makefile | 2 +- - board/at91sam9g10ek/dataflash/Makefile | 2 +- - board/at91sam9g10ek/nandflash/Makefile | 2 +- - board/at91sam9g20ek/dataflash/Makefile | 2 +- - board/at91sam9g20ek/nandflash/Makefile | 2 +- - board/at91sam9g45ekes/nandflash/Makefile | 2 +- - board/at91sam9m10ekes/dataflash/Makefile | 2 +- - board/at91sam9m10ekes/nandflash/Makefile | 2 +- - board/at91sam9m10g45ek/dataflash/Makefile | 2 +- - board/at91sam9m10g45ek/nandflash/Makefile | 2 +- - board/at91sam9rlek/dataflash/Makefile | 2 +- - board/at91sam9rlek/nandflash/Makefile | 2 +- - board/at91sam9xeek/dataflash/Makefile | 2 +- - board/at91sam9xeek/nandflash/Makefile | 2 +- - lib/Makefile | 2 +- - 23 files changed, 23 insertions(+), 23 deletions(-) - -Index: Bootstrap-v1.16/board/at91cap9adk/dataflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91cap9adk/dataflash/Makefile -+++ Bootstrap-v1.16/board/at91cap9adk/dataflash/Makefile -@@ -34,7 +34,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91cap9adk/norflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91cap9adk/norflash/Makefile -+++ Bootstrap-v1.16/board/at91cap9adk/norflash/Makefile -@@ -34,7 +34,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91cap9stk/nandflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91cap9stk/nandflash/Makefile -+++ Bootstrap-v1.16/board/at91cap9stk/nandflash/Makefile -@@ -37,7 +37,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - -Index: Bootstrap-v1.16/board/at91sam9260ek/dataflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91sam9260ek/dataflash/Makefile -+++ Bootstrap-v1.16/board/at91sam9260ek/dataflash/Makefile -@@ -37,7 +37,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91sam9260ek/nandflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91sam9260ek/nandflash/Makefile -+++ Bootstrap-v1.16/board/at91sam9260ek/nandflash/Makefile -@@ -37,7 +37,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91sam9261ek/dataflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91sam9261ek/dataflash/Makefile -+++ Bootstrap-v1.16/board/at91sam9261ek/dataflash/Makefile -@@ -37,7 +37,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91sam9261ek/nandflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91sam9261ek/nandflash/Makefile -+++ Bootstrap-v1.16/board/at91sam9261ek/nandflash/Makefile -@@ -37,7 +37,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91sam9263ek/dataflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91sam9263ek/dataflash/Makefile -+++ Bootstrap-v1.16/board/at91sam9263ek/dataflash/Makefile -@@ -34,7 +34,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91sam9263ek/nandflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91sam9263ek/nandflash/Makefile -+++ Bootstrap-v1.16/board/at91sam9263ek/nandflash/Makefile -@@ -33,7 +33,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm9 -O0 -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm9 -O0 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91sam9g10ek/dataflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91sam9g10ek/dataflash/Makefile -+++ Bootstrap-v1.16/board/at91sam9g10ek/dataflash/Makefile -@@ -37,7 +37,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91sam9g10ek/nandflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91sam9g10ek/nandflash/Makefile -+++ Bootstrap-v1.16/board/at91sam9g10ek/nandflash/Makefile -@@ -37,7 +37,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91sam9g20ek/dataflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91sam9g20ek/dataflash/Makefile -+++ Bootstrap-v1.16/board/at91sam9g20ek/dataflash/Makefile -@@ -37,7 +37,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91sam9g20ek/nandflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91sam9g20ek/nandflash/Makefile -+++ Bootstrap-v1.16/board/at91sam9g20ek/nandflash/Makefile -@@ -37,7 +37,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91sam9g45ekes/nandflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91sam9g45ekes/nandflash/Makefile -+++ Bootstrap-v1.16/board/at91sam9g45ekes/nandflash/Makefile -@@ -37,7 +37,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91sam9m10ekes/dataflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91sam9m10ekes/dataflash/Makefile -+++ Bootstrap-v1.16/board/at91sam9m10ekes/dataflash/Makefile -@@ -37,7 +37,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91sam9m10ekes/nandflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91sam9m10ekes/nandflash/Makefile -+++ Bootstrap-v1.16/board/at91sam9m10ekes/nandflash/Makefile -@@ -37,7 +37,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91sam9m10g45ek/dataflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91sam9m10g45ek/dataflash/Makefile -+++ Bootstrap-v1.16/board/at91sam9m10g45ek/dataflash/Makefile -@@ -37,7 +37,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91sam9m10g45ek/nandflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91sam9m10g45ek/nandflash/Makefile -+++ Bootstrap-v1.16/board/at91sam9m10g45ek/nandflash/Makefile -@@ -37,7 +37,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91sam9rlek/dataflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91sam9rlek/dataflash/Makefile -+++ Bootstrap-v1.16/board/at91sam9rlek/dataflash/Makefile -@@ -37,7 +37,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91sam9rlek/nandflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91sam9rlek/nandflash/Makefile -+++ Bootstrap-v1.16/board/at91sam9rlek/nandflash/Makefile -@@ -37,7 +37,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91sam9xeek/dataflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91sam9xeek/dataflash/Makefile -+++ Bootstrap-v1.16/board/at91sam9xeek/dataflash/Makefile -@@ -38,7 +38,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/board/at91sam9xeek/nandflash/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/board/at91sam9xeek/nandflash/Makefile -+++ Bootstrap-v1.16/board/at91sam9xeek/nandflash/Makefile -@@ -38,7 +38,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. -Index: Bootstrap-v1.16/lib/Makefile -=================================================================== ---- Bootstrap-v1.16.orig/lib/Makefile -+++ Bootstrap-v1.16/lib/Makefile -@@ -37,7 +37,7 @@ - SIZE=$(CROSS_COMPILE)size - OBJCOPY=$(CROSS_COMPILE)objcopy - OBJDUMP=$(CROSS_COMPILE)objdump --CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables - ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) - - # Linker flags. diff --git a/boot/at91bootstrap/at91bootstrap-1.16-gcc-4.6.x-ldscript-fix.patch b/boot/at91bootstrap/at91bootstrap-1.16-gcc-4.6.x-ldscript-fix.patch deleted file mode 100644 index e4ed04e865e..00000000000 --- a/boot/at91bootstrap/at91bootstrap-1.16-gcc-4.6.x-ldscript-fix.patch +++ /dev/null @@ -1,29 +0,0 @@ -From b783d1f9bf985c0981e755bd2c13e091e9d6837f Mon Sep 17 00:00:00 2001 -From: Gregory Hermant -Date: Tue, 6 Nov 2012 09:38:50 +0100 -Subject: [PATCH] at91bootstrap: fix overlap linker issue - -The linker script of the at91bootstrap package has to be modified when -built from gcc-4.6.x version. Indeed a section named text.startup is -created and has to be added into the text section. - -Signed-off-by: Gregory Hermant ---- - elf32-littlearm.lds | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/elf32-littlearm.lds b/elf32-littlearm.lds -index a33952f..4f3ba25 100644 ---- a/elf32-littlearm.lds -+++ b/elf32-littlearm.lds -@@ -7,6 +7,7 @@ SECTIONS - .text : { - _stext = .; - *(.text) -+ *(.text*) - *(.rodata) /* read-only data (constants) */ - *(.rodata*) - . = ALIGN(4); --- -1.7.9.5 - diff --git a/boot/at91bootstrap/at91bootstrap-1.16-u-boot-relocation-fix.patch b/boot/at91bootstrap/at91bootstrap-1.16-u-boot-relocation-fix.patch deleted file mode 100644 index 0c9b9114cb5..00000000000 --- a/boot/at91bootstrap/at91bootstrap-1.16-u-boot-relocation-fix.patch +++ /dev/null @@ -1,284 +0,0 @@ -From d4e4a1aad559e35d84b445d1379be94ad036984e Mon Sep 17 00:00:00 2001 -From: Alexandre Belloni -Date: Thu, 25 Oct 2012 22:57:14 +0200 -Subject: [PATCH] u-boot relocation fix - -Every AT91SAM plaforms were broken between 2010.12 and 2011.03 because -of the relocation changes. - -We have to get JUMP_ADDR consistant with what is used by u-boot -(CONFIG_SYS_TEXT_BASE). - -I didn't know what to do with at91sam9m10g45ek as it doesn't seems to be -converted yet. But anyway, that means that it is either not working or -doesn't care so changing it here shouldn't harm. - -We also have to increase the IMG_SIZE as u-boot as grown larger than the -default value. As requested on the u-boot ML, we assume that it could -be up to 495kB big. - -It means that now, you have to flash your kernel at 0x00084000 instead -of 0x00042000. And so you also have to load it from that adress from -u-boot. - -Then, remember that you could decrease IMG_SIZE to boot faster. - -Signed-off-by: Alexandre Belloni ---- - board/at91sam9260ek/dataflash/at91sam9260ek.h | 4 ++-- - board/at91sam9260ek/nandflash/at91sam9260ek.h | 2 +- - board/at91sam9261ek/dataflash/at91sam9261ek.h | 4 ++-- - board/at91sam9261ek/nandflash/at91sam9261ek.h | 2 +- - board/at91sam9263ek/dataflash/at91sam9263ek.h | 4 ++-- - board/at91sam9263ek/nandflash/at91sam9263ek.h | 2 +- - board/at91sam9g10ek/dataflash/at91sam9g10ek.h | 4 ++-- - board/at91sam9g10ek/nandflash/at91sam9g10ek.h | 2 +- - board/at91sam9g20ek/dataflash/at91sam9g20ek.h | 4 ++-- - board/at91sam9g20ek/nandflash/at91sam9g20ek.h | 2 +- - board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h | 2 +- - .../at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h | 2 +- - board/at91sam9rlek/dataflash/at91sam9rlek.h | 4 ++-- - board/at91sam9rlek/nandflash/at91sam9rlek.h | 2 +- - board/at91sam9xeek/dataflash/at91sam9xeek.h | 4 ++-- - board/at91sam9xeek/nandflash/at91sam9xeek.h | 2 +- - 16 files changed, 23 insertions(+), 23 deletions(-) - -diff --git a/board/at91sam9260ek/dataflash/at91sam9260ek.h b/board/at91sam9260ek/dataflash/at91sam9260ek.h -index 1834246..91081a1 100644 ---- a/board/at91sam9260ek/dataflash/at91sam9260ek.h -+++ b/board/at91sam9260ek/dataflash/at91sam9260ek.h -@@ -74,10 +74,10 @@ - #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS1_DATAFLASH /* Boot on SPI NCS0 */ - - #define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ --#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ -+#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */ - - #define MACH_TYPE 0x44B /* AT91SAM9260-EK */ --#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ - - /* ******************************************************************* */ - /* Application Settings */ -diff --git a/board/at91sam9260ek/nandflash/at91sam9260ek.h b/board/at91sam9260ek/nandflash/at91sam9260ek.h -index 2cac601..f8fdff2 100644 ---- a/board/at91sam9260ek/nandflash/at91sam9260ek.h -+++ b/board/at91sam9260ek/nandflash/at91sam9260ek.h -@@ -92,7 +92,7 @@ - #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ - - #define MACH_TYPE 0x44B /* AT91SAM9260-EK */ --#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ - - /* ******************************************************************* */ - /* Application Settings */ -diff --git a/board/at91sam9261ek/dataflash/at91sam9261ek.h b/board/at91sam9261ek/dataflash/at91sam9261ek.h -index 8ce30e9..276ba3d 100644 ---- a/board/at91sam9261ek/dataflash/at91sam9261ek.h -+++ b/board/at91sam9261ek/dataflash/at91sam9261ek.h -@@ -97,10 +97,10 @@ - #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */ - - #define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ --#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ -+#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */ - - #define MACH_TYPE 0x350 /* AT91SAM9261-EK */ --#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ - - /* ******************************************************************* */ - /* Application Settings */ -diff --git a/board/at91sam9261ek/nandflash/at91sam9261ek.h b/board/at91sam9261ek/nandflash/at91sam9261ek.h -index badc3ac..e628c97 100644 ---- a/board/at91sam9261ek/nandflash/at91sam9261ek.h -+++ b/board/at91sam9261ek/nandflash/at91sam9261ek.h -@@ -114,7 +114,7 @@ - #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ - - #define MACH_TYPE 0x350 /* AT91SAM9261-EK */ --#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ - - /* ******************************************************************* */ - /* Application Settings */ -diff --git a/board/at91sam9263ek/dataflash/at91sam9263ek.h b/board/at91sam9263ek/dataflash/at91sam9263ek.h -index 5c9da4b..870f9e2 100644 ---- a/board/at91sam9263ek/dataflash/at91sam9263ek.h -+++ b/board/at91sam9263ek/dataflash/at91sam9263ek.h -@@ -96,10 +96,10 @@ - #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */ - - #define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ --#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ -+#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */ - - #define MACH_TYPE 0x4B2 /* AT91SAM9263-EK */ --#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ - - /* ******************************************************************* */ - /* Application Settings */ -diff --git a/board/at91sam9263ek/nandflash/at91sam9263ek.h b/board/at91sam9263ek/nandflash/at91sam9263ek.h -index 505afc7..8ab4f46 100644 ---- a/board/at91sam9263ek/nandflash/at91sam9263ek.h -+++ b/board/at91sam9263ek/nandflash/at91sam9263ek.h -@@ -108,7 +108,7 @@ - #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ - - #define MACH_TYPE 1202 /* AT91SAM9263-EK */ --#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ - - /* ******************************************************************* */ - /* Application Settings */ -diff --git a/board/at91sam9g10ek/dataflash/at91sam9g10ek.h b/board/at91sam9g10ek/dataflash/at91sam9g10ek.h -index b2faf44..f4f556b 100644 ---- a/board/at91sam9g10ek/dataflash/at91sam9g10ek.h -+++ b/board/at91sam9g10ek/dataflash/at91sam9g10ek.h -@@ -98,10 +98,10 @@ - #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */ - - #define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ --#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ -+#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */ - - #define MACH_TYPE 0x350 /* AT91SAM9261-EK */ --#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ - - /* ******************************************************************* */ - /* Application Settings */ -diff --git a/board/at91sam9g10ek/nandflash/at91sam9g10ek.h b/board/at91sam9g10ek/nandflash/at91sam9g10ek.h -index 66c40a3..6c3ecda 100644 ---- a/board/at91sam9g10ek/nandflash/at91sam9g10ek.h -+++ b/board/at91sam9g10ek/nandflash/at91sam9g10ek.h -@@ -115,7 +115,7 @@ - #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ - - #define MACH_TYPE 0x350 /* AT91SAM9G10-EK */ --#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ - - /* ******************************************************************* */ - /* Application Settings */ -diff --git a/board/at91sam9g20ek/dataflash/at91sam9g20ek.h b/board/at91sam9g20ek/dataflash/at91sam9g20ek.h -index eea0439..7fc70d6 100644 ---- a/board/at91sam9g20ek/dataflash/at91sam9g20ek.h -+++ b/board/at91sam9g20ek/dataflash/at91sam9g20ek.h -@@ -75,10 +75,10 @@ - #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS1_DATAFLASH /* Boot on SPI NCS1 */ - - #define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ --#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ -+#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */ - - #define MACH_TYPE 0x658 /* AT91SAM9G20-EK */ --#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ - - /* ******************************************************************* */ - /* Application Settings */ -diff --git a/board/at91sam9g20ek/nandflash/at91sam9g20ek.h b/board/at91sam9g20ek/nandflash/at91sam9g20ek.h -index 31bd499..e797e4d 100644 ---- a/board/at91sam9g20ek/nandflash/at91sam9g20ek.h -+++ b/board/at91sam9g20ek/nandflash/at91sam9g20ek.h -@@ -93,7 +93,7 @@ - #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ - - #define MACH_TYPE 0x658 /* AT91SAM9G20-EK */ --#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ - - /* ******************************************************************* */ - /* Application Settings */ -diff --git a/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h b/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h -index a60fd41..5587a00 100644 ---- a/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h -+++ b/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h -@@ -89,7 +89,7 @@ - #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */ - - #define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ --#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ -+#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */ - - #define MACH_TYPE 0x9CD /* AT91SAM9M10-EKES */ - #define JUMP_ADDR 0x73F00000 /* Final Jump Address */ -diff --git a/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h b/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h -index 5c726b5..9090097 100644 ---- a/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h -+++ b/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h -@@ -85,7 +85,7 @@ - #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */ - - #define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ --#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ -+#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */ - - #define MACH_TYPE 0x726 /* AT91SAM9M10G45-EK */ - #define JUMP_ADDR 0x73F00000 /* Final Jump Address */ -diff --git a/board/at91sam9rlek/dataflash/at91sam9rlek.h b/board/at91sam9rlek/dataflash/at91sam9rlek.h -index 05c42dc..150f17e 100644 ---- a/board/at91sam9rlek/dataflash/at91sam9rlek.h -+++ b/board/at91sam9rlek/dataflash/at91sam9rlek.h -@@ -89,10 +89,10 @@ - #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */ - - #define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ --#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ -+#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */ - - #define MACH_TYPE 1326 /* AT91SAM9RL-EK */ --#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ - - /* ******************************************************************* */ - /* Application Settings */ -diff --git a/board/at91sam9rlek/nandflash/at91sam9rlek.h b/board/at91sam9rlek/nandflash/at91sam9rlek.h -index 656b4ba..594db8f 100644 ---- a/board/at91sam9rlek/nandflash/at91sam9rlek.h -+++ b/board/at91sam9rlek/nandflash/at91sam9rlek.h -@@ -112,7 +112,7 @@ - #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ - - #define MACH_TYPE 1326 /* AT91SAM9RL-EK */ --#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ - - /* ******************************************************************* */ - /* Application Settings */ -diff --git a/board/at91sam9xeek/dataflash/at91sam9xeek.h b/board/at91sam9xeek/dataflash/at91sam9xeek.h -index 27d1822..08e515d 100644 ---- a/board/at91sam9xeek/dataflash/at91sam9xeek.h -+++ b/board/at91sam9xeek/dataflash/at91sam9xeek.h -@@ -74,10 +74,10 @@ - #define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS1_DATAFLASH /* Boot on SPI NCS1 */ - - #define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */ --#define IMG_SIZE 0x33900 /* Image Size in DataFlash */ -+#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */ - - #define MACH_TYPE 0x44B /* AT91SAM9XE-EK same id as AT91SAM9260-EK*/ --#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ - - /* ******************************************************************* */ - /* Application Settings */ -diff --git a/board/at91sam9xeek/nandflash/at91sam9xeek.h b/board/at91sam9xeek/nandflash/at91sam9xeek.h -index 5dbc63e..9fac7cb 100644 ---- a/board/at91sam9xeek/nandflash/at91sam9xeek.h -+++ b/board/at91sam9xeek/nandflash/at91sam9xeek.h -@@ -94,7 +94,7 @@ - #define IMG_SIZE 0x40000 /* Image Size in NandFlash */ - - #define MACH_TYPE 0x44B /* AT91SAM9XE-EK same id as AT91SAM9260-EK*/ --#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */ - - /* ******************************************************************* */ - /* Application Settings */ --- -1.7.9.5 - diff --git a/boot/at91bootstrap/at91bootstrap.hash b/boot/at91bootstrap/at91bootstrap.hash deleted file mode 100644 index b1f963b8256..00000000000 --- a/boot/at91bootstrap/at91bootstrap.hash +++ /dev/null @@ -1,2 +0,0 @@ -# locally computed -sha256 d66192a274247f4baa39fa932eadf903d7add55641d89d30402f967c4f2282a5 AT91Bootstrap1.16.zip diff --git a/boot/at91bootstrap/at91bootstrap.mk b/boot/at91bootstrap/at91bootstrap.mk deleted file mode 100644 index f6550588d36..00000000000 --- a/boot/at91bootstrap/at91bootstrap.mk +++ /dev/null @@ -1,47 +0,0 @@ -################################################################################ -# -# at91bootstrap -# -################################################################################ - -AT91BOOTSTRAP_VERSION = 1.16 -AT91BOOTSTRAP_SITE = ftp://www.at91.com/pub/at91bootstrap -AT91BOOTSTRAP_SOURCE = AT91Bootstrap$(AT91BOOTSTRAP_VERSION).zip - -AT91BOOTSTRAP_BOARD = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_BOARD)) -AT91BOOTSTRAP_MEMORY = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_MEMORY)) -AT91BOOTSTRAP_MAKE_SUBDIR = board/$(AT91BOOTSTRAP_BOARD)/$(AT91BOOTSTRAP_MEMORY) -AT91BOOTSTRAP_BINARY = $(AT91BOOTSTRAP_MAKE_SUBDIR)/$(AT91BOOTSTRAP_MEMORY)_$(AT91BOOTSTRAP_BOARD).bin - -AT91BOOTSTRAP_INSTALL_IMAGES = YES -AT91BOOTSTRAP_INSTALL_TARGET = NO - -define AT91BOOTSTRAP_EXTRACT_CMDS - $(UNZIP) -d $(BUILD_DIR) $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE) - mv $(BUILD_DIR)/Bootstrap-v$(AT91BOOTSTRAP_VERSION)/* $(@D) - rmdir $(BUILD_DIR)/Bootstrap-v$(AT91BOOTSTRAP_VERSION) -endef - -ifneq ($(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR)),) -define AT91BOOTSTRAP_APPLY_CUSTOM_PATCHES - $(APPLY_PATCHES) $(@D) $(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR) \*.patch -endef - -AT91BOOTSTRAP_POST_PATCH_HOOKS += AT91BOOTSTRAP_APPLY_CUSTOM_PATCHES -endif - -define AT91BOOTSTRAP_BUILD_CMDS - $(MAKE1) CROSS_COMPILE=$(TARGET_CROSS) -C $(@D)/$(AT91BOOTSTRAP_MAKE_SUBDIR) -endef - -define AT91BOOTSTRAP_INSTALL_IMAGES_CMDS - cp $(@D)/$(AT91BOOTSTRAP_BINARY) $(BINARIES_DIR) -endef - -$(eval $(generic-package)) - -ifeq ($(BR2_TARGET_AT91BOOTSTRAP)$(BR_BUILDING),yy) -ifeq ($(AT91BOOTSTRAP_BOARD),) -$(error No AT91Bootstrap board name set. Check your BR2_TARGET_AT91BOOTSTRAP_BOARD setting) -endif -endif diff --git a/boot/at91bootstrap3/Config.in b/boot/at91bootstrap3/Config.in index 237deb929c2..83d3a02121f 100644 --- a/boot/at91bootstrap3/Config.in +++ b/boot/at91bootstrap3/Config.in @@ -1,31 +1,51 @@ -config BR2_TARGET_AT91BOOTSTRAP3 - depends on BR2_arm926t || BR2_cortex_a5 - bool "AT91 Bootstrap 3" +menuconfig BR2_TARGET_AT91BOOTSTRAP3 + bool "AT91 Bootstrap 3+" + depends on BR2_arm926t || BR2_cortex_a5 || BR2_cortex_a7 help AT91Bootstrap is a first level bootloader for the Atmel AT91 devices. It integrates algorithms for: - - Device initialization such as clock configuration, PIO settings... + - Device initialization such as clock configuration, PIO + settings... - Peripheral drivers such as PIO, PMC or SDRAMC... - - Physical media algorithm such as DataFlash, NandFlash, NOR Flash... + - Physical media algorithm such as DataFlash, NandFlash, NOR + Flash... + + https://www.at91.com/linux4sam/bin/view/Linux4SAM/AT91Bootstrap if BR2_TARGET_AT91BOOTSTRAP3 choice - prompt "AT91 Bootstrap 3 version" + prompt "AT91 Bootstrap 3+ version" config BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION - bool "3.8.6" + bool "4.0.0" + +config BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION_3X + bool "3.10.3" config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT bool "Custom Git repository" help - This option allows Buildroot to get the AT91 Bootstrap 3 source - code from a Git repository. + This option allows Buildroot to get the AT91 Bootstrap 3 + source code from a Git repository. + +config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_SVN + bool "Custom SVN repository" + help + This option allows Buildroot to get the AT91 Bootstrap 3 + source code from a Subversion repository + +config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL + bool "Custom tarball" endchoice -if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT +config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION + string "URL of custom AT91Bootstrap tarball" + depends on BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL + +if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT || BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_SVN config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL string "URL of custom repository" @@ -33,16 +53,28 @@ config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION string "Custom repository version" help - Revision to use in the typical format used by Git + Revision to use in the typical format used by Git or SVN E.G. a sha id, a tag, branch, .. endif config BR2_TARGET_AT91BOOTSTRAP3_VERSION string - default "v3.8.6" if BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION + default "v4.0.0" if BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION + default "v3.10.3" if BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION_3X default BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION \ - if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT + if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT || BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_SVN + default "custom" if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL + +config BR2_TARGET_AT91BOOTSTRAP3_LICENSE_FILES + string "AT91Bootstrap3 license files" if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT || \ + BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_SVN || \ + BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL + default "" if BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION_3X + default "LICENSES/MIT.txt" + help + A space-separated list of license files related to the + AT91Bootstrap3 package. config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_PATCH_DIR string "custom patch dir" @@ -84,4 +116,12 @@ config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE help Path to the at91bootstrap3 configuration file +config BR2_TARGET_AT91BOOTSTRAP3_NEEDS_PYTHON3 + bool "needs host-python3" + help + Enable this option if the at91bootstrap build process needs + Python 3.x to be available on the host. This is needed in + some at91bootstrap configurations to use NAND/PMECC Python + scripts. + endif # BR2_TARGET_AT91BOOTSTRAP3 diff --git a/boot/at91bootstrap3/at91bootstrap3.hash b/boot/at91bootstrap3/at91bootstrap3.hash index e904a46e509..e611f163c97 100644 --- a/boot/at91bootstrap3/at91bootstrap3.hash +++ b/boot/at91bootstrap3/at91bootstrap3.hash @@ -1,2 +1,4 @@ # Locally calculated -sha256 a2e9ec6f42ee3b5a805fe215257b63070b6c498d57c568c46fcb18fd1b38ea7e at91bootstrap3-v3.8.6.tar.gz +sha256 b6ae5bcaacc5a949f400182e036ae053049638444a3ba8b1dd154ec5f7898d8e at91bootstrap3-v3.10.3.tar.gz +sha256 08c5b95df28be7f2e0439fb2b77fe27524f97c499850641e4540c07ea0b2c25d at91bootstrap3-v4.0.0.tar.gz +sha256 5a3809b1c2ba13b7242572322951311c584419f1f8516f665d6c06f0668d78de LICENSES/MIT.txt diff --git a/boot/at91bootstrap3/at91bootstrap3.mk b/boot/at91bootstrap3/at91bootstrap3.mk index 685be5bbd7f..2ed34f3de4d 100644 --- a/boot/at91bootstrap3/at91bootstrap3.mk +++ b/boot/at91bootstrap3/at91bootstrap3.mk @@ -6,20 +6,41 @@ AT91BOOTSTRAP3_VERSION = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_VERSION)) -ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT),y) +ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL),y) +AT91BOOTSTRAP3_TARBALL = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION)) +AT91BOOTSTRAP3_SITE = $(patsubst %/,%,$(dir $(AT91BOOTSTRAP3_TARBALL))) +AT91BOOTSTRAP3_SOURCE = $(notdir $(AT91BOOTSTRAP3_TARBALL)) +BR_NO_CHECK_HASH_FOR += $(AT91BOOTSTRAP3_SOURCE) +else ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT),y) AT91BOOTSTRAP3_SITE = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL)) AT91BOOTSTRAP3_SITE_METHOD = git BR_NO_CHECK_HASH_FOR += $(AT91BOOTSTRAP3_SOURCE) +else ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_SVN),y) +AT91BOOTSTRAP3_SITE = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL)) +AT91BOOTSTRAP3_SITE_METHOD = svn +BR_NO_CHECK_HASH_FOR += $(AT91BOOTSTRAP3_SOURCE) else AT91BOOTSTRAP3_SITE = $(call github,linux4sam,at91bootstrap,$(AT91BOOTSTRAP3_VERSION)) endif +ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION),y) +AT91BOOTSTRAP3_LICENSE = MIT +else ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION_3X),y) AT91BOOTSTRAP3_LICENSE = Atmel License -AT91BOOTSTRAP3_LICENSE_FILES = main.c +endif + +AT91BOOTSTRAP3_LICENSE_FILES = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_LICENSE_FILES)) + +AT91BOOTSTRAP3_CPE_ID_VENDOR = linux4sam +AT91BOOTSTRAP3_CPE_ID_PRODUCT = at91bootstrap AT91BOOTSTRAP3_INSTALL_IMAGES = YES AT91BOOTSTRAP3_INSTALL_TARGET = NO +ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_NEEDS_PYTHON3),y) +AT91BOOTSTRAP3_DEPENDENCIES += host-python3 +endif + AT91BOOTSTRAP3_CUSTOM_PATCH_DIR = \ $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_PATCH_DIR)) @@ -38,7 +59,7 @@ define AT91BOOTSTRAP3_BUILD_CMDS endef define AT91BOOTSTRAP3_INSTALL_IMAGES_CMDS - cp $(@D)/binaries/*.bin $(BINARIES_DIR) + cp $(wildcard $(@D)/build/binaries/*.bin $(@D)/binaries/*.bin) $(BINARIES_DIR) endef ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG),y) @@ -78,6 +99,12 @@ $(error No custom at91bootstrap3 repository version specified. Check your BR2_TA endif endif +ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL),y) +ifeq ($(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION)),) +$(error No custom AT91Bootstrap3 tarball specified. Check your BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION setting) +endif # qstrip BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION +endif # BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL + endif # BR_BUILDING $(eval $(kconfig-package)) diff --git a/boot/at91bootstrap3/v3.10.3/0001-include-types.h-conditionally-define-bool-false-and-.patch b/boot/at91bootstrap3/v3.10.3/0001-include-types.h-conditionally-define-bool-false-and-.patch new file mode 100644 index 00000000000..352c1c0a43b --- /dev/null +++ b/boot/at91bootstrap3/v3.10.3/0001-include-types.h-conditionally-define-bool-false-and-.patch @@ -0,0 +1,47 @@ +From 908c65678867565a934ea5a967bfe7e204d1ccaf Mon Sep 17 00:00:00 2001 +From: Edgar Bonet +Date: Wed, 25 Jun 2025 11:13:43 +0200 +Subject: [PATCH] include/types.h: conditionally define bool, false and true +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +include/types.h typedefs ‘bool’ and macro-defines ‘false’ and ‘true’. +However, since C23, these are predefine keywords. As C23 is the default +C dialect for GCC 15, building with this compiler fails with: + + include/types.h:23:23: error: ‘bool’ cannot be defined via ‘typedef’ + 23 | typedef unsigned char bool; + | ^~~~ + include/types.h:23:23: note: ‘bool’ is a keyword with ‘-std=c23’ onwards + +Fix this build failure by only defining ‘bool’, ‘false’ and ‘true’ on C +dialects older than C23. + +Upstream: https://github.com/linux4sam/at91bootstrap/pull/188 +[Edgar: backport to v3.10.3] + +Signed-off-by: Edgar Bonet +--- + include/types.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/include/types.h b/include/types.h +index 1246a4df..2c1a41cf 100644 +--- a/include/types.h ++++ b/include/types.h +@@ -42,8 +42,11 @@ typedef signed long long s64; + typedef unsigned long size_t; + typedef signed long ssize_t; + ++/* bool, false and true are predefined since C23. */ ++#if __STDC_VERSION__ < 202311L + typedef unsigned char bool; + #define false 0U + #define true 1U ++#endif + + #endif /* TYPES_H_ */ +-- +2.43.0 + diff --git a/boot/at91bootstrap3/v4.0.0/0001-include-types.h-conditionally-define-bool-false-and-.patch b/boot/at91bootstrap3/v4.0.0/0001-include-types.h-conditionally-define-bool-false-and-.patch new file mode 100644 index 00000000000..772a8086907 --- /dev/null +++ b/boot/at91bootstrap3/v4.0.0/0001-include-types.h-conditionally-define-bool-false-and-.patch @@ -0,0 +1,46 @@ +From 4aab60e634d588dffbd3154fd0cfce78272b750a Mon Sep 17 00:00:00 2001 +From: Edgar Bonet +Date: Wed, 25 Jun 2025 11:13:43 +0200 +Subject: [PATCH] include/types.h: conditionally define bool, false and true +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +include/types.h typedefs ‘bool’ and macro-defines ‘false’ and ‘true’. +However, since C23, these are predefine keywords. As C23 is the default +C dialect for GCC 15, building with this compiler fails with: + + include/types.h:23:23: error: ‘bool’ cannot be defined via ‘typedef’ + 23 | typedef unsigned char bool; + | ^~~~ + include/types.h:23:23: note: ‘bool’ is a keyword with ‘-std=c23’ onwards + +Fix this build failure by only defining ‘bool’, ‘false’ and ‘true’ on C +dialects older than C23. + +Upstream: https://github.com/linux4sam/at91bootstrap/pull/188 + +Signed-off-by: Edgar Bonet +--- + include/types.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/include/types.h b/include/types.h +index 950b1a46..0ad9ae61 100644 +--- a/include/types.h ++++ b/include/types.h +@@ -20,8 +20,11 @@ typedef signed long long s64; + typedef unsigned long size_t; + typedef signed long ssize_t; + ++/* bool, false and true are predefined since C23. */ ++#if __STDC_VERSION__ < 202311L + typedef unsigned char bool; + #define false 0U + #define true 1U ++#endif + + #endif /* TYPES_H_ */ +-- +2.43.0 + diff --git a/boot/at91dataflashboot/Config.in b/boot/at91dataflashboot/Config.in deleted file mode 100644 index 80b57a4ad04..00000000000 --- a/boot/at91dataflashboot/Config.in +++ /dev/null @@ -1,3 +0,0 @@ -config BR2_TARGET_AT91DATAFLASHBOOT - depends on BR2_arm926t - bool "AT91 DataFlashBoot" diff --git a/boot/at91dataflashboot/at91dataflashboot-1.05-do-not-install.patch b/boot/at91dataflashboot/at91dataflashboot-1.05-do-not-install.patch deleted file mode 100644 index 41d97ad20e8..00000000000 --- a/boot/at91dataflashboot/at91dataflashboot-1.05-do-not-install.patch +++ /dev/null @@ -1,22 +0,0 @@ -Disable the automatic installation of at91dataflashboot since it tries -to install things to /tftpboot, which is not possible when not -building as root. - -Signed-off-by: Thomas Petazzoni ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: at91dataflashboot-1.05/Makefile -=================================================================== ---- at91dataflashboot-1.05.orig/Makefile -+++ at91dataflashboot-1.05/Makefile -@@ -40,7 +40,7 @@ - - I=config.h com.h dataflash.h embedded_services.h main.h stdio.h include/AT91RM9200.h include/lib_AT91RM9200.h - --all: clean $(BINNAME) $(LSSNAME) install -+all: clean $(BINNAME) $(LSSNAME) - $(SIZE) $(OUTNAME) - - # C objects here diff --git a/boot/at91dataflashboot/at91dataflashboot-1.05-eabi-fixes.patch b/boot/at91dataflashboot/at91dataflashboot-1.05-eabi-fixes.patch deleted file mode 100644 index e38905f7cbb..00000000000 --- a/boot/at91dataflashboot/at91dataflashboot-1.05-eabi-fixes.patch +++ /dev/null @@ -1,43 +0,0 @@ -Get at91dataflashboot to build with EABI toolchains, by providing the -__aeabi_uidiv and __aeabi_uidivmod symbols. The code is based on -U-Boot's code. - -Signed-off-by: Thomas Petazzoni ---- - _udivsi3.S | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -Index: DataflashBoot-1.05/_udivsi3.S -=================================================================== ---- DataflashBoot-1.05.orig/_udivsi3.S -+++ DataflashBoot-1.05/_udivsi3.S -@@ -12,8 +12,11 @@ - .text - .globl __udivsi3 - .type __udivsi3 ,function -+ .globl __aeabi_uidiv -+ .type __aeabi_uidiv ,function - .align 0 - __udivsi3 : -+ __aeabi_uidiv: - cmp divisor, #0 - beq Ldiv0 - mov curbit, #1 -@@ -68,6 +71,17 @@ - mov r0, #0 @ about as wrong as it could be - ldmia sp!, {pc} - .size __udivsi3 , . - __udivsi3 -+ -+.globl __aeabi_uidivmod -+__aeabi_uidivmod: -+ -+ stmfd sp!, {r0, r1, ip, lr} -+ bl __aeabi_uidiv -+ ldmfd sp!, {r1, r2, ip, lr} -+ mul r3, r0, r2 -+ sub r1, r1, r3 -+ mov pc, lr -+ - /* # 235 "libgcc1.S" */ - /* # 320 "libgcc1.S" */ - /* # 421 "libgcc1.S" */ diff --git a/boot/at91dataflashboot/at91dataflashboot.hash b/boot/at91dataflashboot/at91dataflashboot.hash deleted file mode 100644 index 57df4e53898..00000000000 --- a/boot/at91dataflashboot/at91dataflashboot.hash +++ /dev/null @@ -1,2 +0,0 @@ -# locally computed -sha256 2cfeb6a9236e1a743c8010f05e504dbc92169ef42d9a6cf7948954a577bfc386 DataflashBoot-1.05.tar.bz2 diff --git a/boot/at91dataflashboot/at91dataflashboot.mk b/boot/at91dataflashboot/at91dataflashboot.mk deleted file mode 100644 index 0ad8b6fc447..00000000000 --- a/boot/at91dataflashboot/at91dataflashboot.mk +++ /dev/null @@ -1,22 +0,0 @@ -################################################################################ -# -# at91dataflashboot -# -################################################################################ - -AT91DATAFLASHBOOT_VERSION = 1.05 -AT91DATAFLASHBOOT_SOURCE = DataflashBoot-$(AT91DATAFLASHBOOT_VERSION).tar.bz2 -AT91DATAFLASHBOOT_SITE = ftp://www.at91.com/pub/buildroot - -AT91DATAFLASHBOOT_INSTALL_TARGET = NO -AT91DATAFLASHBOOT_INSTALL_IMAGES = YES - -define AT91DATAFLASHBOOT_BUILD_CMDS - make -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) -endef - -define AT91DATAFLASHBOOT_INSTALL_IMAGES_CMDS - cp $(@D)/DataflashBoot-$(AT91DATAFLASHBOOT_VERSION).bin $(BINARIES_DIR) -endef - -$(eval $(generic-package)) diff --git a/boot/barebox/Config.in b/boot/barebox/Config.in index 85956d6552d..6ee97ffe02a 100644 --- a/boot/barebox/Config.in +++ b/boot/barebox/Config.in @@ -1,4 +1,4 @@ -config BR2_TARGET_BAREBOX +menuconfig BR2_TARGET_BAREBOX bool "Barebox" help The Barebox bootloader, formerly known as U-Boot v2. @@ -12,7 +12,7 @@ choice Select the specific Barebox version you want to use config BR2_TARGET_BAREBOX_LATEST_VERSION - bool "2017.02.0" + bool "2022.12.0" config BR2_TARGET_BAREBOX_CUSTOM_VERSION bool "Custom version" @@ -40,11 +40,19 @@ endif config BR2_TARGET_BAREBOX_VERSION string - default "2017.02.0" if BR2_TARGET_BAREBOX_LATEST_VERSION + default "2022.12.0" if BR2_TARGET_BAREBOX_LATEST_VERSION default BR2_TARGET_BAREBOX_CUSTOM_VERSION_VALUE if BR2_TARGET_BAREBOX_CUSTOM_VERSION default "custom" if BR2_TARGET_BAREBOX_CUSTOM_TARBALL default BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION if BR2_TARGET_BAREBOX_CUSTOM_GIT +config BR2_TARGET_BAREBOX_LICENSE_FILES + string "Barebox license files" if BR2_TARGET_BAREBOX_CUSTOM_TARBALL || \ + BR2_TARGET_BAREBOX_CUSTOM_GIT + default "COPYING" + help + A space-separated list of license files related to the Barebox + package. + config BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR string "custom patch dir" help @@ -54,6 +62,18 @@ config BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR Most users may leave this empty +config BR2_TARGET_BAREBOX_NEEDS_OPENSSL + bool "Barebox needs OpenSSL" + help + Select this option if your Barebox board configuration + requires OpenSSL to be available on the host. + +config BR2_TARGET_BAREBOX_NEEDS_LIBUSB + bool "Barebox needs LibUSB" + help + Select this option if your Barebox board configuration + requires libUSB to be available on the host. + if BR2_TARGET_BAREBOX_CUSTOM_GIT config BR2_TARGET_BAREBOX_CUSTOM_GIT_REPO_URL @@ -64,7 +84,7 @@ config BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION endif -source boot/barebox/barebox/Config.in +source "boot/barebox/barebox/Config.in" menuconfig BR2_TARGET_BAREBOX_AUX bool "Build barebox with an auxiliary config" @@ -78,7 +98,7 @@ menuconfig BR2_TARGET_BAREBOX_AUX if BR2_TARGET_BAREBOX_AUX -source boot/barebox/barebox-aux/Config.in +source "boot/barebox/barebox-aux/Config.in" endif diff --git a/boot/barebox/barebox-aux/Config.in b/boot/barebox/barebox-aux/Config.in index d39d24f763e..4b0201ea675 100644 --- a/boot/barebox/barebox-aux/Config.in +++ b/boot/barebox/barebox-aux/Config.in @@ -36,8 +36,13 @@ config BR2_TARGET_BAREBOX_AUX_IMAGE_FILE the images directory. If left empty, defaults to: - - barebox.bin for barebox versions older than 2012.10. - - barebox-flash-image for later versions. + - all images as listed in barebox-flash-images (>= v2015.12.0) + - the image pointed at by barebox-flash-image (>= v2012.10.0) + - barebox.bin for even older barebox versions + + In any case, this only influences the artifacts collected by + Buildroot. They will still need to be referenced from image + packages or flashed separately onto the hardware. config BR2_TARGET_BAREBOX_AUX_CUSTOM_ENV bool "Generate an environment image" diff --git a/boot/barebox/barebox.hash b/boot/barebox/barebox.hash index 57505970629..161fc43d43d 100644 --- a/boot/barebox/barebox.hash +++ b/boot/barebox/barebox.hash @@ -1,5 +1,8 @@ -# http://www.barebox.org/download/barebox-2017.02.0.tar.bz2.md5 -md5 4651f5fa5e794a9739dd71eece0fe702 barebox-2017.02.0.tar.bz2 +# From https://www.barebox.org/download/barebox-2022.12.0.tar.bz2.md5 +md5 e4bf25cbf1e0b0c9a67ee56214617b9c barebox-2022.12.0.tar.bz2 # Locally calculated -sha256 d65d864fe598d61ed9c6712e32d50742e6996aae02acaae5955c3b22166344cb barebox-2017.02.0.tar.bz2 +sha256 9f570d4ae089560bd6c17b2b7d21cdb6557ecb00612c77ecee72ac47575a6b74 barebox-2022.12.0.tar.bz2 + +# License files, locally computed +sha256 ab1122aa9f9073ad1ec824edcd970b16a6a7881a34a18fd56c080debb2dca5d4 COPYING diff --git a/boot/barebox/barebox.mk b/boot/barebox/barebox.mk index b811e322b50..cbd6f9313c8 100644 --- a/boot/barebox/barebox.mk +++ b/boot/barebox/barebox.mk @@ -17,7 +17,7 @@ define inner-barebox-package $(1)_VERSION = $$(call qstrip,$$(BR2_TARGET_BAREBOX_VERSION)) -ifeq ($$($(1)_VERSION),custom) +ifeq ($$(BR2_TARGET_BAREBOX_CUSTOM_TARBALL),y) # Handle custom Barebox tarballs as specified by the configuration $(1)_TARBALL = $$(call qstrip,$$(BR2_TARGET_BAREBOX_CUSTOM_TARBALL_LOCATION)) $(1)_SITE = $$(patsubst %/,%,$$(dir $$($(1)_TARBALL))) @@ -25,15 +25,29 @@ $(1)_SOURCE = $$(notdir $$($(1)_TARBALL)) else ifeq ($$(BR2_TARGET_BAREBOX_CUSTOM_GIT),y) $(1)_SITE = $$(call qstrip,$$(BR2_TARGET_BAREBOX_CUSTOM_GIT_REPO_URL)) $(1)_SITE_METHOD = git +# Override the default value of _SOURCE to 'barebox-*' so that it is not +# downloaded a second time for barebox-aux; also allows avoiding the hash +# check: +$(1)_SOURCE = barebox-$$($(1)_VERSION)$$(BR_FMT_VERSION_git).tar.gz else # Handle stable official Barebox versions $(1)_SOURCE = barebox-$$($(1)_VERSION).tar.bz2 -$(1)_SITE = http://www.barebox.org/download +$(1)_SITE = https://www.barebox.org/download endif +$(1)_DL_SUBDIR = barebox + $(1)_DEPENDENCIES = host-lzop $(1)_LICENSE = GPL-2.0 with exceptions -$(1)_LICENSE_FILES = COPYING +$(1)_LICENSE_FILES = $$(call qstrip,$$(BR2_TARGET_BAREBOX_LICENSE_FILES)) + +ifeq ($(BR2_TARGET_BAREBOX_NEEDS_OPENSSL),y) +BAREBOX_DEPENDENCIES += host-openssl host-pkgconf +endif + +ifeq ($(BR2_TARGET_BAREBOX_NEEDS_LIBUSB),y) +BAREBOX_DEPENDENCIES += host-libusb host-pkgconf +endif $(1)_CUSTOM_EMBEDDED_ENV_PATH = $$(call qstrip,$$(BR2_TARGET_$(1)_CUSTOM_EMBEDDED_ENV_PATH)) @@ -51,20 +65,33 @@ ifneq ($$(BR2_TARGET_$(1)_BAREBOXENV),y) $(1)_INSTALL_TARGET = NO endif -ifeq ($$(KERNEL_ARCH),i386) +ifeq ($$(NORMALIZED_ARCH),i386) $(1)_ARCH = x86 -else ifeq ($$(KERNEL_ARCH),x86_64) +else ifeq ($$(NORMALIZED_ARCH),x86_64) $(1)_ARCH = x86 -else ifeq ($$(KERNEL_ARCH),powerpc) +else ifeq ($$(NORMALIZED_ARCH),powerpc) $(1)_ARCH = ppc -else ifeq ($$(KERNEL_ARCH),arm64) +else ifeq ($$(NORMALIZED_ARCH),arm64) $(1)_ARCH = arm else -$(1)_ARCH = $$(KERNEL_ARCH) +$(1)_ARCH = $$(NORMALIZED_ARCH) endif $(1)_MAKE_FLAGS = ARCH=$$($(1)_ARCH) CROSS_COMPILE="$$(TARGET_CROSS)" $(1)_MAKE_ENV = $$(TARGET_MAKE_ENV) +$(1)_MAKE_ENV += \ + PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ + PKG_CONFIG_SYSROOT_DIR="/" \ + PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \ + PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \ + PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/pkgconfig" + +ifeq ($$(BR2_REPRODUCIBLE),y) +$(1)_MAKE_ENV += \ + KBUILD_BUILD_USER=buildroot \ + KBUILD_BUILD_HOST=buildroot \ + KBUILD_BUILD_TIMESTAMP="$$(shell LC_ALL=C TZ='UTC' date -d @$(SOURCE_DATE_EPOCH))" +endif ifeq ($$(BR2_TARGET_$(1)_USE_DEFCONFIG),y) $(1)_KCONFIG_DEFCONFIG = $$(call qstrip,$$(BR2_TARGET_$(1)_BOARD_DEFCONFIG))_defconfig @@ -76,12 +103,9 @@ $(1)_KCONFIG_FRAGMENT_FILES = $$(call qstrip,$$(BR2_TARGET_$(1)_CONFIG_FRAGMENT_ $(1)_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig $(1)_KCONFIG_OPTS = $$($(1)_MAKE_FLAGS) -ifeq ($$(BR2_TARGET_$(1)_BAREBOXENV),y) -define $(1)_BUILD_BAREBOXENV_CMDS - $$(TARGET_CC) $$(TARGET_CFLAGS) $$(TARGET_LDFLAGS) -o $$(@D)/bareboxenv \ - $$(@D)/scripts/bareboxenv.c -endef -endif +$(1)_KCONFIG_DEPENDENCIES = \ + $(BR2_BISON_HOST_DEPENDENCY) \ + $(BR2_FLEX_HOST_DEPENDENCY) ifeq ($$(BR2_TARGET_$(1)_CUSTOM_ENV),y) $(1)_ENV_NAME = $$(notdir $$(call qstrip,\ @@ -97,15 +121,26 @@ endef endif ifneq ($$($(1)_CUSTOM_EMBEDDED_ENV_PATH),) -define $(1)_KCONFIG_FIXUP_CMDS - $$(call KCONFIG_ENABLE_OPT,CONFIG_DEFAULT_ENVIRONMENT,$$(@D)/.config) - $$(call KCONFIG_SET_OPT,CONFIG_DEFAULT_ENVIRONMENT_PATH,"$$($(1)_CUSTOM_EMBEDDED_ENV_PATH)",$$(@D)/.config) +define $(1)_KCONFIG_FIXUP_CUSTOM_EMBEDDED_ENV_PATH + $$(call KCONFIG_ENABLE_OPT,CONFIG_DEFAULT_ENVIRONMENT) + $$(call KCONFIG_SET_OPT,CONFIG_DEFAULT_ENVIRONMENT_PATH,"$$($(1)_CUSTOM_EMBEDDED_ENV_PATH)") endef endif +define $(1)_KCONFIG_FIXUP_BAREBOXENV + $$(if $$(BR2_TARGET_$(1)_BAREBOXENV),\ + $$(call KCONFIG_ENABLE_OPT,CONFIG_BAREBOXENV_TARGET),\ + $$(call KCONFIG_DISABLE_OPT,CONFIG_BAREBOXENV_TARGET)) +endef + +define $(1)_KCONFIG_FIXUP_CMDS + $$($(1)_KCONFIG_FIXUP_CUSTOM_EMBEDDED_ENV_PATH) + $$($(1)_KCONFIG_FIXUP_BAREBOXENV) +endef + define $(1)_BUILD_CMDS $$($(1)_BUILD_BAREBOXENV_CMDS) - $$(TARGET_MAKE_ENV) $$(MAKE) $$($(1)_MAKE_FLAGS) -C $$(@D) + $$($(1)_MAKE_ENV) $$(MAKE) $$($(1)_MAKE_FLAGS) -C $$(@D) $$($(1)_BUILD_CUSTOM_ENV) endef @@ -114,6 +149,8 @@ $(1)_IMAGE_FILES = $$(call qstrip,$$(BR2_TARGET_$(1)_IMAGE_FILE)) define $(1)_INSTALL_IMAGES_CMDS if test -n "$$($(1)_IMAGE_FILES)"; then \ cp -L $$(foreach image,$$($(1)_IMAGE_FILES),$$(@D)/$$(image)) $$(BINARIES_DIR) ; \ + elif test -e $$(@D)/barebox-flash-images ; then \ + cp -L $$(foreach image,$$(shell cat $$(@D)/barebox-flash-images),$$(@D)/$$(image)) $$(BINARIES_DIR) ; \ elif test -h $$(@D)/barebox-flash-image ; then \ cp -L $$(@D)/barebox-flash-image $$(BINARIES_DIR)/barebox.bin ; \ else \ @@ -122,9 +159,14 @@ define $(1)_INSTALL_IMAGES_CMDS $$($(1)_INSTALL_CUSTOM_ENV) endef +# Starting with barebox v2020.09.0, the kconfig used calls the +# cross-compiler to check its capabilities. So we need the +# toolchain before we can call the configurators. +$(1)_KCONFIG_DEPENDENCIES += toolchain + ifeq ($$(BR2_TARGET_$(1)_BAREBOXENV),y) define $(1)_INSTALL_TARGET_CMDS - cp $$(@D)/bareboxenv $$(TARGET_DIR)/usr/bin + cp $$(@D)/scripts/bareboxenv-target $$(TARGET_DIR)/usr/bin/bareboxenv endef endif diff --git a/boot/barebox/barebox/Config.in b/boot/barebox/barebox/Config.in index 0be26adf93f..2fd70a84aec 100644 --- a/boot/barebox/barebox/Config.in +++ b/boot/barebox/barebox/Config.in @@ -17,7 +17,6 @@ config BR2_TARGET_BAREBOX_BOARD_DEFCONFIG Name of the board for which Barebox should be built, without the _defconfig suffix. - config BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE string "Configuration file path" depends on BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG @@ -37,8 +36,13 @@ config BR2_TARGET_BAREBOX_IMAGE_FILE the images directory. If left empty, defaults to: - - barebox.bin for barebox versions older than 2012.10. - - barebox-flash-image for later versions. + - all images as listed in barebox-flash-images (>= v2015.12.0) + - the image pointed at by barebox-flash-image (>= v2012.10.0) + - barebox.bin for even older barebox versions + + In any case, this only influences the artifacts collected by + Buildroot. They will still need to be referenced from image + packages or flashed separately onto the hardware. config BR2_TARGET_BAREBOX_BAREBOXENV bool "bareboxenv tool in target" diff --git a/boot/barebox/barebox/barebox.mk b/boot/barebox/barebox/barebox.mk index 39afb0fccb0..6a5a80de34e 100644 --- a/boot/barebox/barebox/barebox.mk +++ b/boot/barebox/barebox/barebox.mk @@ -4,10 +4,5 @@ # ################################################################################ -define BAREBOX_HELP_CMDS - @echo ' barebox-menuconfig - Run barebox menuconfig' - @echo ' barebox-savedefconfig - Run barebox savedefconfig' -endef - # Instantiate the barebox package $(eval $(barebox-package)) diff --git a/boot/binaries-marvell/Config.in b/boot/binaries-marvell/Config.in new file mode 100644 index 00000000000..80fbecb270e --- /dev/null +++ b/boot/binaries-marvell/Config.in @@ -0,0 +1,12 @@ +config BR2_TARGET_BINARIES_MARVELL + bool "binaries-marvell" + depends on BR2_aarch64 + help + Some systems, including Marvell Armada SoC, have a separate + System Control Processor (SCP) for power management, clocks, + reset and system control. ATF Boot Loader stage 2 (BL2) loads + optional SCP_BL2 image into a platform-specific region + of secure memory. This package downloads and installs such + firmware, which is needed to build ATF. + + https://github.com/MarvellEmbeddedProcessors/binaries-marvell/ diff --git a/boot/binaries-marvell/binaries-marvell.hash b/boot/binaries-marvell/binaries-marvell.hash new file mode 100644 index 00000000000..654fb94ec02 --- /dev/null +++ b/boot/binaries-marvell/binaries-marvell.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 d818c95bcd4d5c026238d6e554151184ed7fea15bce1f861f9068b97b4cd320a binaries-marvell-c5d3ef2b63ba66d8717ecbe679fd2e639cde88ee.tar.gz +sha256 e6d08ef60068ee72c68835001a24eb832dcba27cac0dde0f179dfb428be050ca README.md diff --git a/boot/binaries-marvell/binaries-marvell.mk b/boot/binaries-marvell/binaries-marvell.mk new file mode 100644 index 00000000000..1a27fa9873c --- /dev/null +++ b/boot/binaries-marvell/binaries-marvell.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# binaries-marvell +# +################################################################################ + +# This is version binaries-marvell-armada-18.12 +BINARIES_MARVELL_VERSION = c5d3ef2b63ba66d8717ecbe679fd2e639cde88ee +BINARIES_MARVELL_SITE = $(call github,MarvellEmbeddedProcessors,binaries-marvell,$(BINARIES_MARVELL_VERSION)) + +BINARIES_MARVELL_LICENSE = GPL-2.0 with freertos-exception-2.0 +BINARIES_MARVELL_LICENSE_FILES = README.md + +BINARIES_MARVELL_INSTALL_IMAGES = YES + +define BINARIES_MARVELL_INSTALL_IMAGES_CMDS + $(INSTALL) -D -m 0644 $(@D)/mrvl_scp_bl2.img $(BINARIES_DIR)/scp-fw.bin +endef + +$(eval $(generic-package)) diff --git a/boot/boot-wrapper-aarch64/Config.in b/boot/boot-wrapper-aarch64/Config.in index efb70dcdf59..7271336166d 100644 --- a/boot/boot-wrapper-aarch64/Config.in +++ b/boot/boot-wrapper-aarch64/Config.in @@ -2,7 +2,7 @@ comment "boot-wrapper-aarch64 needs a Linux kernel to be built" depends on BR2_aarch64 depends on !BR2_LINUX_KERNEL -config BR2_TARGET_BOOT_WRAPPER_AARCH64 +menuconfig BR2_TARGET_BOOT_WRAPPER_AARCH64 bool "boot-wrapper-aarch64" depends on BR2_aarch64 depends on BR2_LINUX_KERNEL @@ -11,7 +11,7 @@ config BR2_TARGET_BOOT_WRAPPER_AARCH64 possible to start an Aarch64 kernel inside the available software simulators for the Aarch64 architecture. - git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git + https://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git if BR2_TARGET_BOOT_WRAPPER_AARCH64 @@ -38,4 +38,9 @@ config BR2_TARGET_BOOT_WRAPPER_AARCH64_PSCI Boot secondary SMP cores using PSCI firmware calls. If disabled, the spin-table method is used instead. +config BR2_TARGET_BOOT_WRAPPER_AARCH64_GICV3 + bool "Enable GICv3 instead of GICv2" + help + Boot using GICv3 instead of GICv2. + endif diff --git a/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.hash b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.hash new file mode 100644 index 00000000000..d818161002b --- /dev/null +++ b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.hash @@ -0,0 +1,5 @@ +# Locally computed: +sha256 c9fcac5e28e1501bcffb3b36d56487cbefcf7cb708e00f48fe6360ef82fb3847 boot-wrapper-aarch64-b621b157b42f1fe398520cf499db88aa654c78e2-git4.tar.gz + +# Hash for license files: +sha256 bdaa479b497358151fc1166dc75a613e68321320b945e92ea07a4b6dc9a63271 LICENSE.txt diff --git a/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk index 601cfab314a..75be23f2433 100644 --- a/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk +++ b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk @@ -4,9 +4,10 @@ # ################################################################################ -BOOT_WRAPPER_AARCH64_VERSION = 4266507a84f8c06452109d38e0350d4759740694 -BOOT_WRAPPER_AARCH64_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git -BOOT_WRAPPER_AARCH64_LICENSE = BSD3c +BOOT_WRAPPER_AARCH64_VERSION = b621b157b42f1fe398520cf499db88aa654c78e2 +BOOT_WRAPPER_AARCH64_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git +BOOT_WRAPPER_AARCH64_SITE_METHOD = git +BOOT_WRAPPER_AARCH64_LICENSE = BSD-3-Clause BOOT_WRAPPER_AARCH64_LICENSE_FILES = LICENSE.txt BOOT_WRAPPER_AARCH64_DEPENDENCIES = linux BOOT_WRAPPER_AARCH64_INSTALL_IMAGES = YES @@ -15,19 +16,11 @@ BOOT_WRAPPER_AARCH64_INSTALL_IMAGES = YES # Makefile. BOOT_WRAPPER_AARCH64_AUTORECONF = YES -BOOT_WRAPPER_AARCH64_DTB = /arch/arm64/boot/dts/$(basename $(call qstrip,$(BR2_TARGET_BOOT_WRAPPER_AARCH64_DTS))).dtb - -# Fixup the path to the DTB in configure.ac. In the future, this -# should hopefully be made more configurable by the -# boot-wrapper-aarch64 developers. -define BOOT_WRAPPER_AARCH64_FIX_DTB_NAME - $(SED) 's%^KERN_DTB=.*%KERN_DTB=$(BOOT_WRAPPER_AARCH64_DTB)%' $(@D)/configure.ac -endef - -BOOT_WRAPPER_AARCH64_PRE_PATCH_HOOKS += BOOT_WRAPPER_AARCH64_FIX_DTB_NAME +BOOT_WRAPPER_AARCH64_DTB = $(LINUX_DIR)/arch/arm64/boot/dts/$(basename $(call qstrip,$(BR2_TARGET_BOOT_WRAPPER_AARCH64_DTS))).dtb BOOT_WRAPPER_AARCH64_CONF_OPTS = \ --with-kernel-dir=$(LINUX_DIR) \ + --with-dtb=$(BOOT_WRAPPER_AARCH64_DTB) \ --with-cmdline=$(BR2_TARGET_BOOT_WRAPPER_AARCH64_BOOTARGS) ifeq ($(BR2_TARGET_BOOT_WRAPPER_AARCH64_PSCI),y) @@ -36,6 +29,10 @@ else BOOT_WRAPPER_AARCH64_CONF_OPTS += --disable-psci endif +ifeq ($(BR2_TARGET_BOOT_WRAPPER_AARCH64_GICV3),y) +BOOT_WRAPPER_AARCH64_CONF_OPTS += --enable-gicv3 +endif + # We need to convince the configure script that the Linux kernel tree # exists, as well as the DTB and the kernel Image. Even though those # are available on the build machine, the configure script uses diff --git a/boot/edk2/0001-BaseTools-Source-C-VfrCompile-Fix-parallel-make-fail.patch b/boot/edk2/0001-BaseTools-Source-C-VfrCompile-Fix-parallel-make-fail.patch new file mode 100644 index 00000000000..020d3d7467c --- /dev/null +++ b/boot/edk2/0001-BaseTools-Source-C-VfrCompile-Fix-parallel-make-fail.patch @@ -0,0 +1,48 @@ +From 3d3af4812d29c5527e5a701d2cb7aff671fdc182 Mon Sep 17 00:00:00 2001 +From: Michael D Kinney +Date: Tue, 24 Feb 2026 21:50:20 -0800 +Subject: [PATCH] BaseTools/Source/C/VfrCompile: Fix parallel make failures + +Update makefile rules to run antlr and dlg to completion +before compiling any of the generated cpp files. + +Without this change, parallel make may start compiling some +of the cpp files before both antlr and dlg have finished +which produces syntax errors from compilation with partially +generated files. + +Also use &: so the targets are treated as a group and the +rule is only executed once for the entire group. Without +this change, parallel make may run the rule actions more +than once and modify the output while it is being used by +another rule. + +Upstream: https://github.com/tianocore/edk2/commit/9fc0aca51e83afda703963ea177feeb78a125cbc +Signed-off-by: Michael D Kinney +Signed-off-by: Julien Olivain +--- + BaseTools/Source/C/VfrCompile/GNUmakefile | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/BaseTools/Source/C/VfrCompile/GNUmakefile b/BaseTools/Source/C/VfrCompile/GNUmakefile +index b469bd3f30..4f10b1d933 100644 +--- a/BaseTools/Source/C/VfrCompile/GNUmakefile ++++ b/BaseTools/Source/C/VfrCompile/GNUmakefile +@@ -54,10 +54,11 @@ VfrCompiler.o: ../Include/Common/BuildVersion.h + + include $(MAKEROOT)/Makefiles/footer.makefile + +-VfrSyntax.cpp EfiVfrParser.cpp EfiVfrParser.h VfrParser.dlg VfrTokens.h: Pccts/antlr/antlr VfrSyntax.g +- Pccts/antlr/antlr -CC -e3 -ck 3 -k 2 -fl VfrParser.dlg -ft VfrTokens.h -o . VfrSyntax.g ++ANTLR_GEN = VfrSyntax.cpp EfiVfrParser.cpp EfiVfrParser.h VfrParser.dlg VfrTokens.h ++DLG_GEN = VfrLexer.cpp VfrLexer.h + +-VfrLexer.cpp VfrLexer.h: Pccts/dlg/dlg VfrParser.dlg ++$(ANTLR_GEN) $(DLG_GEN) &: Pccts/antlr/antlr Pccts/dlg/dlg VfrSyntax.g ++ Pccts/antlr/antlr -CC -e3 -ck 3 -k 2 -fl VfrParser.dlg -ft VfrTokens.h -o . VfrSyntax.g + Pccts/dlg/dlg -C2 -i -CC -cl VfrLexer -o . VfrParser.dlg + + Pccts/antlr/antlr: +-- +2.53.0 + diff --git a/boot/edk2/Config.in b/boot/edk2/Config.in new file mode 100644 index 00000000000..2620c790766 --- /dev/null +++ b/boot/edk2/Config.in @@ -0,0 +1,152 @@ +config BR2_TARGET_EDK2_ARCH_SUPPORTS + bool + default y if BR2_aarch64 + default y if BR2_i386 + default y if BR2_loongarch64 + default y if BR2_RISCV_64 + default y if BR2_x86_64 + +config BR2_TARGET_EDK2 + bool "EDK2" + depends on BR2_TARGET_EDK2_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 + select BR2_PACKAGE_EDK2_PLATFORMS + help + EDK II is a modern, feature-rich, cross-platform firmware + development environment for the UEFI and PI specifications. + + https://github.com/tianocore/tianocore.github.io/wiki/EDK-II + +if BR2_TARGET_EDK2 + +choice + prompt "Platform" + default BR2_TARGET_EDK2_PLATFORM_OVMF_LOONGARCH64 if \ + BR2_loongarch64 + default BR2_TARGET_EDK2_PLATFORM_OVMF_RISCV if BR2_RISCV_64 + default BR2_TARGET_EDK2_PLATFORM_OVMF_X64 if BR2_x86_64 + default BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU if BR2_aarch64 + +config BR2_TARGET_EDK2_PLATFORM_OVMF_LOONGARCH64 + bool "LoongArch64" + depends on BR2_loongarch64 + help + Platform configuration for LoongArch QEMU targeting the + Virt machine. This platform will only boot from flash + address 0x1c000000. It should therefore be used as the first + bootloader. + +config BR2_TARGET_EDK2_PLATFORM_OVMF_RISCV + bool "RISC-V" + depends on BR2_RISCV_64 + help + Platform configuration for RISC-V QEMU targeting the Virt + machine. This platform will only boot from flash address + 0x0. It should therefore be used as the first bootloader. + +config BR2_TARGET_EDK2_PLATFORM_OVMF_X64 + bool "x86-64" + depends on BR2_x86_64 + help + Platform configuration for a generic x86-64 target. + This platform will boot from flash address 0x0. + It should therefore be used as the first bootloader. + +config BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU + bool "ARM Virt Qemu (flash)" + depends on BR2_aarch64 + help + Platform configuration for QEMU targeting the Virt machine. + This platform will only boot from flash address 0x0. + It should therefore be used as the first bootloader. + +config BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU_KERNEL + bool "ARM Virt Qemu (kernel)" + depends on BR2_aarch64 + help + Platform configuration for QEMU targeting the Virt machine. + This platform can boot from either flash address 0x0 or via + the Linux boot protocol. It can therefore be loaded by a + previous bootloader like ARM Trusted Firmware or OP-TEE. + +config BR2_TARGET_EDK2_PLATFORM_ARM_SGI575 + bool "ARM SGI-575" + depends on BR2_aarch64 + help + Platform configuration for ARM SGI-575 on ARM's + Fixed Virtual Platform (FVP). + +config BR2_TARGET_EDK2_PLATFORM_ARM_VEXPRESS_FVP_AARCH64 + bool "ARM VExpress FVP Aarch64" + depends on BR2_aarch64 + help + Platform configuration for ARM Versatile Express targeting + the Aarch64 Fixed Virtual Platform (FVP). + +config BR2_TARGET_EDK2_PLATFORM_SOLIDRUN_ARMADA80X0MCBIN + bool "SolidRun MacchiatoBin" + depends on BR2_aarch64 + depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE + select BR2_PACKAGE_EDK2_NON_OSI + select BR2_PACKAGE_HOST_DTC + select BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP + help + Platform configuration for the SolidRun MacchiatoBin. + +config BR2_TARGET_EDK2_PLATFORM_QEMU_SBSA + bool "QEMU SBSA" + depends on BR2_aarch64 + depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE + depends on !BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33 + help + Platform configuration for QEMU targeting the SBSA reference + machine. + +comment "QEMU SBSA depends on ATF not using EDK2 as BL33" + depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33 + +endchoice + +config BR2_TARGET_EDK2_OVMF_DEBUG_ON_SERIAL + bool "OVMF Debug on Serial" + depends on BR2_ENABLE_DEBUG + depends on BR2_TARGET_EDK2_PLATFORM_OVMF_X64 + help + When EDK2 OVMF is built with debug, messages are printed to + IO port 0x402. Those messages are not shown in the normal + Qemu emulated serial port. Enabling this option will print + debug messages on the emulated serial port, potentially + mixing messages with UEFI serial console output. + + See OVMF README: + https://github.com/tianocore/edk2/blob/master/OvmfPkg/README + +config BR2_TARGET_EDK2_EXTRA_BUILD_OPTS + string "Extra build options" + help + EDK2 build may include extra options. Those are usually in + the form of "-D SOMEFLAG_ENABLE" and might be specific for a + processor architecture or a platform. For example: "-D + NETWORK_HTTP_BOOT_ENABLE", "-D NETWORK_TLS_ENABLE", ... + + Those options are generally documented in their respective + packages. See for example: + https://github.com/tianocore/edk2/blob/master/OvmfPkg/README + + This configuration is an arbitrary string that will be + passed to the build command. + +config BR2_TARGET_EDK2_FD_NAME + string + default "OVMF" if BR2_TARGET_EDK2_PLATFORM_OVMF_X64 + default "QEMU_EFI" if BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU + default "QEMU_EFI" if BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU_KERNEL + default "QEMU_EFI" if BR2_TARGET_EDK2_PLATFORM_OVMF_LOONGARCH64 + default "BL33_AP_UEFI" if BR2_TARGET_EDK2_PLATFORM_ARM_SGI575 + default "FVP_AARCH64_EFI" if BR2_TARGET_EDK2_PLATFORM_ARM_VEXPRESS_FVP_AARCH64 + default "ARMADA_EFI" if BR2_TARGET_EDK2_PLATFORM_SOLIDRUN_ARMADA80X0MCBIN + +endif + +comment "EDK2 needs a toolchain w/ gcc >= 5" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/boot/edk2/edk2.hash b/boot/edk2/edk2.hash new file mode 100644 index 00000000000..ab9bbcf7efb --- /dev/null +++ b/boot/edk2/edk2.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 a44b47f2d233213cdb848206bda8d475b264ed1a2cf097ae9cd82581e4aa2090 edk2-edk2-stable202602-git4.tar.gz +sha256 50ce20c9cfdb0e19ee34fe0a51fc0afe961f743697b068359ab2f862b494df80 License.txt diff --git a/boot/edk2/edk2.mk b/boot/edk2/edk2.mk new file mode 100644 index 00000000000..11d9b90e7f5 --- /dev/null +++ b/boot/edk2/edk2.mk @@ -0,0 +1,168 @@ +################################################################################ +# +# edk2 +# +################################################################################ + +EDK2_VERSION = edk2-stable202602 +EDK2_SITE = https://github.com/tianocore/edk2 +EDK2_SITE_METHOD = git +EDK2_LICENSE = BSD-2-Clause-Patent +EDK2_LICENSE_FILES = License.txt +EDK2_CPE_ID_VENDOR = tianocore +EDK2_DEPENDENCIES = edk2-platforms host-python3 host-acpica host-util-linux +EDK2_INSTALL_TARGET = NO +EDK2_INSTALL_IMAGES = YES + +ifeq ($(BR2_ENABLE_DEBUG),y) +EDK2_BUILD_TYPE = DEBUG +ifeq ($(BR2_TARGET_EDK2_OVMF_DEBUG_ON_SERIAL),y) +# DEBUG_ON_SERIAL_PORT is only tested to be set, so don't disable it, as +# it would still be set. +EDK2_BUILD_OPTS += -DDEBUG_ON_SERIAL_PORT +endif +else +EDK2_BUILD_TYPE = RELEASE +# DEBUG_ON_SERIAL_PORT is only valid in debug builds, so useless to set +# it (enabled or disabled) on a release build. +endif + +# Build system notes. +# +# The EDK2 build system is rather unique, so here are a few useful notes. +# +# First, builds rely heavily on Git submodules to fetch various dependencies +# into specific directory structures. It might be possible to work around this +# and rely on Buildroot's infrastructure, but using Git submodules greatly +# simplifies this already complicated build system. +# +# Second, the build system is spread across various commands and stages. +# Therefore, all build variables needs to be exported to be available +# accordingly. The first stage will build $(@D)/BaseTools which contains +# various tools and scripts for the host. +# +# Third, where applicable, the dependency direction between EDK2 and +# ARM Trusted Firmware (ATF) will go in different direction for different +# platforms. Most commonly, ATF will depend on EDK2 via the BL33 payload. +# But for some platforms (e.g. QEMU SBSA) EDK2 will package the ATF +# images within its own build system. In such cases, intermediary +# "EDK2 packages" will be built in $(EDK2_BUILD_PACKAGES) in order for +# EDK2 to be able to use them in subsequent build stages. +# +# For more information about the build setup: +# https://edk2-docs.gitbook.io/edk-ii-build-specification/4_edk_ii_build_process_overview + +EDK2_GIT_SUBMODULES = YES +EDK2_BUILD_PACKAGES = $(@D)/Build/Buildroot +EDK2_PACKAGES_PATHS = $(@D) $(EDK2_BUILD_PACKAGES) $(STAGING_DIR)/usr/share/edk2-platforms + +ifeq ($(BR2_TARGET_EDK2_PLATFORM_OVMF_X64),y) +EDK2_ARCH = X64 +EDK2_DEPENDENCIES += host-nasm +EDK2_PACKAGE_NAME = OvmfPkg +EDK2_PLATFORM_NAME = OvmfPkgX64 +EDK2_BUILD_DIR = OvmfX64 + +else ifeq ($(BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU),y) +EDK2_ARCH = AARCH64 +EDK2_PACKAGE_NAME = ArmVirtPkg +EDK2_PLATFORM_NAME = ArmVirtQemu +EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)-AArch64 + +else ifeq ($(BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU_KERNEL),y) +EDK2_ARCH = AARCH64 +EDK2_PACKAGE_NAME = ArmVirtPkg +EDK2_PLATFORM_NAME = ArmVirtQemuKernel +EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)-AArch64 + +else ifeq ($(BR2_TARGET_EDK2_PLATFORM_ARM_SGI575),y) +EDK2_ARCH = AARCH64 +EDK2_PACKAGE_NAME = Platform/ARM/SgiPkg/Sgi575 +EDK2_PLATFORM_NAME = Sgi575 +EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME) + +else ifeq ($(BR2_TARGET_EDK2_PLATFORM_ARM_VEXPRESS_FVP_AARCH64),y) +EDK2_ARCH = AARCH64 +EDK2_PACKAGE_NAME = Platform/ARM/VExpressPkg +EDK2_PLATFORM_NAME = ArmVExpress-FVP-AArch64 +EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME) + +else ifeq ($(BR2_TARGET_EDK2_PLATFORM_SOLIDRUN_ARMADA80X0MCBIN),y) +EDK2_ARCH = AARCH64 +EDK2_DEPENDENCIES += host-dtc edk2-non-osi +EDK2_PACKAGE_NAME = Platform/SolidRun/Armada80x0McBin +EDK2_PLATFORM_NAME = Armada80x0McBin +EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)-$(EDK2_ARCH) +EDK2_BUILD_ENV += DTC_PREFIX=$(HOST_DIR)/bin/ +EDK2_BUILD_OPTS += -D INCLUDE_TFTP_COMMAND +EDK2_PACKAGES_PATHS += $(STAGING_DIR)/usr/share/edk2-non-osi + +else ifeq ($(BR2_TARGET_EDK2_PLATFORM_QEMU_SBSA),y) +EDK2_ARCH = AARCH64 +EDK2_DEPENDENCIES += arm-trusted-firmware +EDK2_PACKAGE_NAME = Platform/Qemu/SbsaQemu +EDK2_PLATFORM_NAME = SbsaQemu +EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME) +EDK2_PRE_BUILD_HOOKS += EDK2_PRE_BUILD_QEMU_SBSA + +define EDK2_PRE_BUILD_QEMU_SBSA + mkdir -p $(EDK2_BUILD_PACKAGES)/Platform/Qemu/Sbsa + ln -srf $(BINARIES_DIR)/{bl1.bin,fip.bin} $(EDK2_BUILD_PACKAGES)/Platform/Qemu/Sbsa/ +endef + +else ifeq ($(BR2_TARGET_EDK2_PLATFORM_OVMF_RISCV),y) +EDK2_ARCH = RISCV64 +EDK2_PACKAGE_NAME = OvmfPkg/RiscVVirt +EDK2_PLATFORM_NAME = RiscVVirtQemu +EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME) + +else ifeq ($(BR2_TARGET_EDK2_PLATFORM_OVMF_LOONGARCH64),y) +EDK2_ARCH = LOONGARCH64 +EDK2_PACKAGE_NAME = OvmfPkg/LoongArchVirt +EDK2_PLATFORM_NAME = LoongArchVirtQemu +EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME) + +endif + +EDK2_BASETOOLS_OPTS = \ + EXTRA_LDFLAGS="$(HOST_LDFLAGS)" \ + EXTRA_OPTFLAGS="$(HOST_CPPFLAGS)" + +EDK2_PACKAGES_PATH = $(subst $(space),:,$(strip $(EDK2_PACKAGES_PATHS))) + +# EDK2 "build" script internally uses and calls "make", which controls +# its own flags. It is mainly tested while not being a sub-make. In +# order to stay in that configuration, we avoid leaking top-level +# Buildroot make flags into EDK2 build by clearing the MAKEFLAGS +# environment variable. +EDK2_BUILD_ENV += \ + MAKEFLAGS= \ + WORKSPACE=$(@D) \ + PACKAGES_PATH=$(EDK2_PACKAGES_PATH) \ + PYTHON_COMMAND=$(HOST_DIR)/bin/python3 \ + IASL_PREFIX=$(HOST_DIR)/bin/ \ + NASM_PREFIX=$(HOST_DIR)/bin/ \ + GCC5_$(EDK2_ARCH)_PREFIX=$(TARGET_CROSS) + +EDK2_BUILD_OPTS += \ + -t GCC5 \ + -n $(BR2_JLEVEL) \ + -a $(EDK2_ARCH) \ + -b $(EDK2_BUILD_TYPE) \ + -p $(EDK2_PACKAGE_NAME)/$(EDK2_PLATFORM_NAME).dsc \ + $(call qstrip,$(BR2_TARGET_EDK2_EXTRA_BUILD_OPTS)) + +define EDK2_BUILD_CMDS + mkdir -p $(EDK2_BUILD_PACKAGES) + export $(EDK2_BUILD_ENV) && \ + unset ARCH && \ + source $(@D)/edksetup.sh && \ + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/BaseTools $(EDK2_BASETOOLS_OPTS) && \ + build $(EDK2_BUILD_OPTS) all +endef + +define EDK2_INSTALL_IMAGES_CMDS + cp -f $(@D)/Build/$(EDK2_BUILD_DIR)/$(EDK2_BUILD_TYPE)_GCC5/FV/*.fd $(BINARIES_DIR) +endef + +$(eval $(generic-package)) diff --git a/boot/grub2/0001-Add-missing-grub-core-extra_deps.lst-file-in-release.patch b/boot/grub2/0001-Add-missing-grub-core-extra_deps.lst-file-in-release.patch new file mode 100644 index 00000000000..2a7c206b2db --- /dev/null +++ b/boot/grub2/0001-Add-missing-grub-core-extra_deps.lst-file-in-release.patch @@ -0,0 +1,37 @@ +From 4d4dae6a52b1749642261a15f5dcc1e3d4150b36 Mon Sep 17 00:00:00 2001 +From: Julien Olivain +Date: Fri, 22 Dec 2023 19:02:53 +0100 +Subject: [PATCH] Add missing grub-core/extra_deps.lst file in release tarball + +A file is missing in the grub-2.12 release tarballs (both .gz and .xz). +See [1]. The issue was reported in [2] and fixed upstream in [3]. + +This patch adds the missing file, on top of the release tarball. This +patch won't apply on upstream git, since the file is present in the +source repository. Since the issue is fixed upstream in [3], it is +expected upcoming releases tarballs will include the file. + +The file content was fetched from the upstream git repo: +https://git.savannah.gnu.org/gitweb/?p=grub.git;a=blob_plain;f=grub-core/extra_deps.lst;hb=refs/tags/grub-2.12 + +[1] https://ftp.gnu.org/gnu/grub/grub-2.12.tar.xz +[2] https://lists.gnu.org/archive/html/grub-devel/2023-12/msg00054.html +[3] https://git.savannah.gnu.org/gitweb/?p=grub.git;a=commit;h=b835601c7639ed1890f2d3db91900a8506011a8e + +Signed-off-by: Julien Olivain +Upstream: Fixed by: https://git.savannah.gnu.org/gitweb/?p=grub.git;a=commit;h=b835601c7639ed1890f2d3db91900a8506011a8e +--- + grub-core/extra_deps.lst | 1 + + 1 file changed, 1 insertion(+) + create mode 100644 grub-core/extra_deps.lst + +diff --git a/grub-core/extra_deps.lst b/grub-core/extra_deps.lst +new file mode 100644 +index 0000000..f44ad6a +--- /dev/null ++++ b/grub-core/extra_deps.lst +@@ -0,0 +1 @@ ++depends bli part_gpt +-- +2.43.0 + diff --git a/boot/grub2/0002-misc-Implement-grub_strlcpy.patch b/boot/grub2/0002-misc-Implement-grub_strlcpy.patch new file mode 100644 index 00000000000..f512df44400 --- /dev/null +++ b/boot/grub2/0002-misc-Implement-grub_strlcpy.patch @@ -0,0 +1,70 @@ +From 67241595d3dae392589ee74b65cd40ea090d1837 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Sat, 15 Jun 2024 02:33:08 +0100 +Subject: [PATCH] misc: Implement grub_strlcpy() + +grub_strlcpy() acts the same way as strlcpy() does on most *NIX, +returning the length of src and ensuring dest is always NUL +terminated except when size is 0. + +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: ea703528a8581a2ea7e0bad424a70fdf0aec7d8f +Signed-off-by: Thomas Petazzoni +--- + include/grub/misc.h | 39 +++++++++++++++++++++++++++++++++++++++ + 1 file changed, 39 insertions(+) + +diff --git a/include/grub/misc.h b/include/grub/misc.h +index 1b35a167f..103175480 100644 +--- a/include/grub/misc.h ++++ b/include/grub/misc.h +@@ -64,6 +64,45 @@ grub_stpcpy (char *dest, const char *src) + return d - 1; + } + ++static inline grub_size_t ++grub_strlcpy (char *dest, const char *src, grub_size_t size) ++{ ++ char *d = dest; ++ grub_size_t res = 0; ++ /* ++ * We do not subtract one from size here to avoid dealing with underflowing ++ * the value, which is why to_copy is always checked to be greater than one ++ * throughout this function. ++ */ ++ grub_size_t to_copy = size; ++ ++ /* Copy size - 1 bytes to dest. */ ++ if (to_copy > 1) ++ while ((*d++ = *src++) != '\0' && ++res && --to_copy > 1) ++ ; ++ ++ /* ++ * NUL terminate if size != 0. The previous step may have copied a NUL byte ++ * if it reached the end of the string, but we know dest[size - 1] must always ++ * be a NUL byte. ++ */ ++ if (size != 0) ++ dest[size - 1] = '\0'; ++ ++ /* If there is still space in dest, but are here, we reached the end of src. */ ++ if (to_copy > 1) ++ return res; ++ ++ /* ++ * If we haven't reached the end of the string, iterate through to determine ++ * the strings total length. ++ */ ++ while (*src++ != '\0' && ++res) ++ ; ++ ++ return res; ++} ++ + /* XXX: If grub_memmove is too slow, we must implement grub_memcpy. */ + static inline void * + grub_memcpy (void *dest, const void *src, grub_size_t n) +-- +2.50.1 + diff --git a/boot/grub2/0003-fs-ufs-Fix-a-heap-OOB-write.patch b/boot/grub2/0003-fs-ufs-Fix-a-heap-OOB-write.patch new file mode 100644 index 00000000000..0d822cba249 --- /dev/null +++ b/boot/grub2/0003-fs-ufs-Fix-a-heap-OOB-write.patch @@ -0,0 +1,36 @@ +From ab0f52dadcda56782b3e82be0b15fa6eb0e9cee1 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Sun, 12 May 2024 02:03:33 +0100 +Subject: [PATCH] fs/ufs: Fix a heap OOB write + +grub_strcpy() was used to copy a symlink name from the filesystem +image to a heap allocated buffer. This led to a OOB write to adjacent +heap allocations. Fix by using grub_strlcpy(). + +Fixes: CVE-2024-45781 + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: c1a291b01f4f1dcd6a22b61f1c81a45a966d16ba +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/ufs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/grub-core/fs/ufs.c b/grub-core/fs/ufs.c +index a354c92d9..01235101b 100644 +--- a/grub-core/fs/ufs.c ++++ b/grub-core/fs/ufs.c +@@ -463,7 +463,7 @@ grub_ufs_lookup_symlink (struct grub_ufs_data *data, int ino) + /* Check against zero is paylindromic, no need to swap. */ + if (data->inode.nblocks == 0 + && INODE_SIZE (data) <= sizeof (data->inode.symlink)) +- grub_strcpy (symlink, (char *) data->inode.symlink); ++ grub_strlcpy (symlink, (char *) data->inode.symlink, sz); + else + { + if (grub_ufs_read_file (data, 0, 0, 0, sz, symlink) < 0) +-- +2.50.1 + diff --git a/boot/grub2/0004-fs-hfs-Fix-stack-OOB-write-with-grub_strcpy.patch b/boot/grub2/0004-fs-hfs-Fix-stack-OOB-write-with-grub_strcpy.patch new file mode 100644 index 00000000000..3cffc80530f --- /dev/null +++ b/boot/grub2/0004-fs-hfs-Fix-stack-OOB-write-with-grub_strcpy.patch @@ -0,0 +1,36 @@ +From 157e6e2a3da139dc2e08cf41b49115965cdaa1d3 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Sun, 12 May 2024 02:48:33 +0100 +Subject: [PATCH] fs/hfs: Fix stack OOB write with grub_strcpy() + +Replaced with grub_strlcpy(). + +CVE: CVE-2024-45782 +CVE: CVE-2024-56737 +Fixes: https://savannah.gnu.org/bugs/?66599 + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: 417547c10410b714e43f08f74137c24015f8f4c3 +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/hfs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/grub-core/fs/hfs.c b/grub-core/fs/hfs.c +index 91dc0e69c..920112b03 100644 +--- a/grub-core/fs/hfs.c ++++ b/grub-core/fs/hfs.c +@@ -379,7 +379,7 @@ grub_hfs_mount (grub_disk_t disk) + volume name. */ + key.parent_dir = grub_cpu_to_be32_compile_time (1); + key.strlen = data->sblock.volname[0]; +- grub_strcpy ((char *) key.str, (char *) (data->sblock.volname + 1)); ++ grub_strlcpy ((char *) key.str, (char *) (data->sblock.volname + 1), sizeof (key.str)); + + if (grub_hfs_find_node (data, (char *) &key, data->cat_root, + 0, (char *) &dir, sizeof (dir)) == 0) +-- +2.50.1 + diff --git a/boot/grub2/0005-fs-tar-Initialize-name-in-grub_cpio_find_file.patch b/boot/grub2/0005-fs-tar-Initialize-name-in-grub_cpio_find_file.patch new file mode 100644 index 00000000000..444c02c44f1 --- /dev/null +++ b/boot/grub2/0005-fs-tar-Initialize-name-in-grub_cpio_find_file.patch @@ -0,0 +1,45 @@ +From 2233c409ada20d1ab4a6a00a50cdde35e5a36589 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Sun, 12 May 2024 02:47:54 +0100 +Subject: [PATCH] fs/tar: Initialize name in grub_cpio_find_file() + +It was possible to iterate through grub_cpio_find_file() without +allocating name and not setting mode to GRUB_ARCHELP_ATTR_END, which +would cause the uninitialized value for name to be used as an argument +for canonicalize() in grub_archelp_dir(). + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: 2c8ac08c99466c0697f704242363fc687f492a0d +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/tar.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/grub-core/fs/tar.c b/grub-core/fs/tar.c +index c551ed6b5..646bce5eb 100644 +--- a/grub-core/fs/tar.c ++++ b/grub-core/fs/tar.c +@@ -78,6 +78,7 @@ grub_cpio_find_file (struct grub_archelp_data *data, char **name, + int reread = 0, have_longname = 0, have_longlink = 0; + + data->hofs = data->next_hofs; ++ *name = NULL; + + for (reread = 0; reread < 3; reread++) + { +@@ -202,6 +203,10 @@ grub_cpio_find_file (struct grub_archelp_data *data, char **name, + } + return GRUB_ERR_NONE; + } ++ ++ if (*name == NULL) ++ return grub_error (GRUB_ERR_BAD_FS, "invalid tar archive"); ++ + return GRUB_ERR_NONE; + } + +-- +2.50.1 + diff --git a/boot/grub2/0006-fs-tar-Integer-overflow-leads-to-heap-OOB-write.patch b/boot/grub2/0006-fs-tar-Integer-overflow-leads-to-heap-OOB-write.patch new file mode 100644 index 00000000000..9d89bcd48f5 --- /dev/null +++ b/boot/grub2/0006-fs-tar-Integer-overflow-leads-to-heap-OOB-write.patch @@ -0,0 +1,94 @@ +From 472e180b6aac8cb4f25affa687e68f9be4e3df79 Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Fri, 22 Nov 2024 06:27:58 +0000 +Subject: [PATCH] fs/tar: Integer overflow leads to heap OOB write + +Both namesize and linksize are derived from hd.size, a 12-digit octal +number parsed by read_number(). Later direct arithmetic calculation like +"namesize + 1" and "linksize + 1" may exceed the maximum value of +grub_size_t leading to heap OOB write. This patch fixes the issue by +using grub_add() and checking for an overflow. + +CVE: CVE-2024-45780 + +Reported-by: Nils Langius +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper +Reviewed-by: Alec Brown +Upstream: 0087bc6902182fe5cedce2d034c75a79cf6dd4f3 +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/tar.c | 23 ++++++++++++++++++----- + 1 file changed, 18 insertions(+), 5 deletions(-) + +diff --git a/grub-core/fs/tar.c b/grub-core/fs/tar.c +index 646bce5eb..386c09022 100644 +--- a/grub-core/fs/tar.c ++++ b/grub-core/fs/tar.c +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -76,6 +77,7 @@ grub_cpio_find_file (struct grub_archelp_data *data, char **name, + { + struct head hd; + int reread = 0, have_longname = 0, have_longlink = 0; ++ grub_size_t sz; + + data->hofs = data->next_hofs; + *name = NULL; +@@ -98,7 +100,11 @@ grub_cpio_find_file (struct grub_archelp_data *data, char **name, + { + grub_err_t err; + grub_size_t namesize = read_number (hd.size, sizeof (hd.size)); +- *name = grub_malloc (namesize + 1); ++ ++ if (grub_add (namesize, 1, &sz)) ++ return grub_error (GRUB_ERR_BAD_FS, N_("name size overflow")); ++ ++ *name = grub_malloc (sz); + if (*name == NULL) + return grub_errno; + err = grub_disk_read (data->disk, 0, +@@ -118,15 +124,19 @@ grub_cpio_find_file (struct grub_archelp_data *data, char **name, + { + grub_err_t err; + grub_size_t linksize = read_number (hd.size, sizeof (hd.size)); +- if (data->linkname_alloc < linksize + 1) ++ ++ if (grub_add (linksize, 1, &sz)) ++ return grub_error (GRUB_ERR_BAD_FS, N_("link size overflow")); ++ ++ if (data->linkname_alloc < sz) + { + char *n; +- n = grub_calloc (2, linksize + 1); ++ n = grub_calloc (2, sz); + if (!n) + return grub_errno; + grub_free (data->linkname); + data->linkname = n; +- data->linkname_alloc = 2 * (linksize + 1); ++ data->linkname_alloc = 2 * (sz); + } + + err = grub_disk_read (data->disk, 0, +@@ -149,7 +159,10 @@ grub_cpio_find_file (struct grub_archelp_data *data, char **name, + while (extra_size < sizeof (hd.prefix) + && hd.prefix[extra_size]) + extra_size++; +- *name = grub_malloc (sizeof (hd.name) + extra_size + 2); ++ ++ if (grub_add (sizeof (hd.name) + 2, extra_size, &sz)) ++ return grub_error (GRUB_ERR_BAD_FS, N_("long name size overflow")); ++ *name = grub_malloc (sz); + if (*name == NULL) + return grub_errno; + if (hd.prefix[0]) +-- +2.50.1 + diff --git a/boot/grub2/0007-fs-f2fs-Set-a-grub_errno-if-mount-fails.patch b/boot/grub2/0007-fs-f2fs-Set-a-grub_errno-if-mount-fails.patch new file mode 100644 index 00000000000..320240b2663 --- /dev/null +++ b/boot/grub2/0007-fs-f2fs-Set-a-grub_errno-if-mount-fails.patch @@ -0,0 +1,36 @@ +From 95f391673c0a08c2410454536614ef543cac6629 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Sun, 12 May 2024 06:15:03 +0100 +Subject: [PATCH] fs/f2fs: Set a grub_errno if mount fails + +It was previously possible for grub_errno to not be set when +grub_f2fs_mount() failed if nat_bitmap_ptr() returned NULL. + +This issue is solved by ensuring a grub_errno is set in the fail case. + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: 563436258cde64da6b974880abff1bf0959f4da3 +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/f2fs.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/grub-core/fs/f2fs.c b/grub-core/fs/f2fs.c +index 855e24618..db8a65f8d 100644 +--- a/grub-core/fs/f2fs.c ++++ b/grub-core/fs/f2fs.c +@@ -872,6 +872,9 @@ grub_f2fs_mount (grub_disk_t disk) + return data; + + fail: ++ if (grub_errno == GRUB_ERR_NONE) ++ grub_error (GRUB_ERR_BAD_FS, "not a F2FS filesystem"); ++ + grub_free (data); + + return NULL; +-- +2.50.1 + diff --git a/boot/grub2/0008-fs-hfsplus-Set-a-grub_errno-if-mount-fails.patch b/boot/grub2/0008-fs-hfsplus-Set-a-grub_errno-if-mount-fails.patch new file mode 100644 index 00000000000..3493ab8af30 --- /dev/null +++ b/boot/grub2/0008-fs-hfsplus-Set-a-grub_errno-if-mount-fails.patch @@ -0,0 +1,40 @@ +From 947e9e98d35edd7b359498b5f31338dc228f5081 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Sun, 12 May 2024 06:22:51 +0100 +Subject: [PATCH] fs/hfsplus: Set a grub_errno if mount fails + +It was possible for mount to fail but not set grub_errno. This led to +a possible double decrement of the module reference count if the NULL +page was mapped. + +Fixing in general as a similar bug was fixed in commit 61b13c187 +(fs/hfsplus: Set grub_errno to prevent NULL pointer access) and there +are likely more variants around. + +Fixes: CVE-2024-45783 + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: f7c070a2e28dfab7137db0739fb8db1dc02d8898 +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/hfsplus.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/grub-core/fs/hfsplus.c b/grub-core/fs/hfsplus.c +index 295822f69..de71fd486 100644 +--- a/grub-core/fs/hfsplus.c ++++ b/grub-core/fs/hfsplus.c +@@ -405,7 +405,7 @@ grub_hfsplus_mount (grub_disk_t disk) + + fail: + +- if (grub_errno == GRUB_ERR_OUT_OF_RANGE) ++ if (grub_errno == GRUB_ERR_OUT_OF_RANGE || grub_errno == GRUB_ERR_NONE) + grub_error (GRUB_ERR_BAD_FS, "not a HFS+ filesystem"); + + grub_free (data); +-- +2.50.1 + diff --git a/boot/grub2/0009-fs-iso9660-Set-a-grub_errno-if-mount-fails.patch b/boot/grub2/0009-fs-iso9660-Set-a-grub_errno-if-mount-fails.patch new file mode 100644 index 00000000000..d9c38b62ba9 --- /dev/null +++ b/boot/grub2/0009-fs-iso9660-Set-a-grub_errno-if-mount-fails.patch @@ -0,0 +1,38 @@ +From a0e37c98e6f330110e4009f8e5ba73ca0c2eaff5 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Sun, 12 May 2024 06:37:08 +0100 +Subject: [PATCH] fs/iso9660: Set a grub_errno if mount fails + +It was possible for a grub_errno to not be set if mount of an ISO 9660 +filesystem failed when set_rockridge() returned 0. + +This isn't known to be exploitable as the other filesystems due to +filesystem helper checking the requested file type. Though fixing +as a precaution. + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: 965db5970811d18069b34f28f5f31ddadde90a97 +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/iso9660.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/grub-core/fs/iso9660.c b/grub-core/fs/iso9660.c +index 8c348b59a..8d480e602 100644 +--- a/grub-core/fs/iso9660.c ++++ b/grub-core/fs/iso9660.c +@@ -551,6 +551,9 @@ grub_iso9660_mount (grub_disk_t disk) + return data; + + fail: ++ if (grub_errno == GRUB_ERR_NONE) ++ grub_error (GRUB_ERR_BAD_FS, "not a ISO9660 filesystem"); ++ + grub_free (data); + return 0; + } +-- +2.50.1 + diff --git a/boot/grub2/0010-fs-iso9660-Fix-invalid-free.patch b/boot/grub2/0010-fs-iso9660-Fix-invalid-free.patch new file mode 100644 index 00000000000..6bd1665234f --- /dev/null +++ b/boot/grub2/0010-fs-iso9660-Fix-invalid-free.patch @@ -0,0 +1,55 @@ +From 3acd964eafdd32e8ab7d7c04b18171052a859d3a Mon Sep 17 00:00:00 2001 +From: Michael Chang +Date: Fri, 31 May 2024 15:14:42 +0800 +Subject: [PATCH] fs/iso9660: Fix invalid free + +The ctx->filename can point to either a string literal or a dynamically +allocated string. The ctx->filename_alloc field is used to indicate the +type of allocation. + +An issue has been identified where ctx->filename is reassigned to +a string literal in susp_iterate_dir() but ctx->filename_alloc is not +correctly handled. This oversight causes a memory leak and an invalid +free operation later. + +The fix involves checking ctx->filename_alloc, freeing the allocated +string if necessary and clearing ctx->filename_alloc for string literals. + +Reported-by: Daniel Axtens +Signed-off-by: Michael Chang +Reviewed-by: Daniel Kiper +Upstream: 1443833a9535a5873f7de3798cf4d8389f366611 +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/iso9660.c | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/grub-core/fs/iso9660.c b/grub-core/fs/iso9660.c +index 8d480e602..8e3c95c4f 100644 +--- a/grub-core/fs/iso9660.c ++++ b/grub-core/fs/iso9660.c +@@ -628,9 +628,19 @@ susp_iterate_dir (struct grub_iso9660_susp_entry *entry, + filename type is stored. */ + /* FIXME: Fix this slightly improper cast. */ + if (entry->data[0] & GRUB_ISO9660_RR_DOT) +- ctx->filename = (char *) "."; ++ { ++ if (ctx->filename_alloc) ++ grub_free (ctx->filename); ++ ctx->filename_alloc = 0; ++ ctx->filename = (char *) "."; ++ } + else if (entry->data[0] & GRUB_ISO9660_RR_DOTDOT) +- ctx->filename = (char *) ".."; ++ { ++ if (ctx->filename_alloc) ++ grub_free (ctx->filename); ++ ctx->filename_alloc = 0; ++ ctx->filename = (char *) ".."; ++ } + else if (entry->len >= 5) + { + grub_size_t off = 0, csize = 1; +-- +2.50.1 + diff --git a/boot/grub2/0011-fs-jfs-Fix-OOB-read-in-jfs_getent.patch b/boot/grub2/0011-fs-jfs-Fix-OOB-read-in-jfs_getent.patch new file mode 100644 index 00000000000..96e34b0e9f2 --- /dev/null +++ b/boot/grub2/0011-fs-jfs-Fix-OOB-read-in-jfs_getent.patch @@ -0,0 +1,68 @@ +From b01accc4d132a252f02bf57c31f5fff8ce98a339 Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Fri, 22 Nov 2024 06:27:59 +0000 +Subject: [PATCH] fs/jfs: Fix OOB read in jfs_getent() + +The JFS fuzzing revealed an OOB read in grub_jfs_getent(). The crash +was caused by an invalid leaf nodes count, diro->dirpage->header.count, +which was larger than the maximum number of leaf nodes allowed in an +inode. This fix is to ensure that the leaf nodes count is validated in +grub_jfs_opendir() before calling grub_jfs_getent(). + +On the occasion replace existing raw numbers with newly defined constant. + +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper +Reviewed-by: Alec Brown +Upstream: 66175696f3a385b14bdf1ebcda7755834bd2d5fb +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/jfs.c | 17 +++++++++++++++-- + 1 file changed, 15 insertions(+), 2 deletions(-) + +diff --git a/grub-core/fs/jfs.c b/grub-core/fs/jfs.c +index 6f7c43904..32dec7fb7 100644 +--- a/grub-core/fs/jfs.c ++++ b/grub-core/fs/jfs.c +@@ -41,6 +41,12 @@ GRUB_MOD_LICENSE ("GPLv3+"); + + #define GRUB_JFS_TREE_LEAF 2 + ++/* ++ * Define max entries stored in-line in an inode. ++ * https://jfs.sourceforge.net/project/pub/jfslayout.pdf ++ */ ++#define GRUB_JFS_INODE_INLINE_ENTRIES 8 ++ + struct grub_jfs_sblock + { + /* The magic for JFS. It should contain the string "JFS1". */ +@@ -203,9 +209,9 @@ struct grub_jfs_inode + grub_uint8_t freecnt; + grub_uint8_t freelist; + grub_uint32_t idotdot; +- grub_uint8_t sorted[8]; ++ grub_uint8_t sorted[GRUB_JFS_INODE_INLINE_ENTRIES]; + } header; +- struct grub_jfs_leaf_dirent dirents[8]; ++ struct grub_jfs_leaf_dirent dirents[GRUB_JFS_INODE_INLINE_ENTRIES]; + } GRUB_PACKED dir; + /* Fast symlink. */ + struct +@@ -453,6 +459,13 @@ grub_jfs_opendir (struct grub_jfs_data *data, struct grub_jfs_inode *inode) + /* Check if the entire tree is contained within the inode. */ + if (inode->file.tree.flags & GRUB_JFS_TREE_LEAF) + { ++ if (inode->dir.header.count > GRUB_JFS_INODE_INLINE_ENTRIES) ++ { ++ grub_free (diro); ++ grub_error (GRUB_ERR_BAD_FS, N_("invalid JFS inode")); ++ return 0; ++ } ++ + diro->leaf = inode->dir.dirents; + diro->next_leaf = (struct grub_jfs_leaf_next_dirent *) de; + diro->sorted = inode->dir.header.sorted; +-- +2.50.1 + diff --git a/boot/grub2/0012-fs-jfs-Fix-OOB-read-caused-by-invalid-dir-slot-index.patch b/boot/grub2/0012-fs-jfs-Fix-OOB-read-caused-by-invalid-dir-slot-index.patch new file mode 100644 index 00000000000..6257a4b887e --- /dev/null +++ b/boot/grub2/0012-fs-jfs-Fix-OOB-read-caused-by-invalid-dir-slot-index.patch @@ -0,0 +1,69 @@ +From b35b73b9d779e88fb4e6f53fb10a5bfebf3475aa Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Fri, 22 Nov 2024 06:28:00 +0000 +Subject: [PATCH] fs/jfs: Fix OOB read caused by invalid dir slot index + +While fuzz testing JFS with ASAN enabled an OOB read was detected in +grub_jfs_opendir(). The issue occurred due to an invalid directory slot +index in the first entry of the sorted directory slot array in the inode +directory header. The fix ensures the slot index is validated before +accessing it. Given that an internal or a leaf node in a directory B+ +tree is a 4 KiB in size and each directory slot is always 32 bytes, the +max number of slots in a node is 128. The validation ensures that the +slot index doesn't exceed this limit. + +[1] https://jfs.sourceforge.net/project/pub/jfslayout.pdf + + JFS will allocate 4K of disk space for an internal node of the B+ tree. + An internal node looks the same as a leaf node. + - page 10 + + Fixed number of Directory Slots depending on the size of the node. These are + the slots to be used for storing the directory slot array and the directory + entries or router entries. A directory slot is always 32 bytes. + ... + A Directory Slot Array which is a sorted array of indices to the directory + slots that are currently in use. + ... + An internal or a leaf node in the directory B+ tree is a 4K page. + - page 25 + +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper +Reviewed-by: Alec Brown +Upstream: ab09fd0531f3523ac0ef833404526c98c08248f7 +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/jfs.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/grub-core/fs/jfs.c b/grub-core/fs/jfs.c +index 32dec7fb7..88fb884df 100644 +--- a/grub-core/fs/jfs.c ++++ b/grub-core/fs/jfs.c +@@ -46,6 +46,7 @@ GRUB_MOD_LICENSE ("GPLv3+"); + * https://jfs.sourceforge.net/project/pub/jfslayout.pdf + */ + #define GRUB_JFS_INODE_INLINE_ENTRIES 8 ++#define GRUB_JFS_DIR_MAX_SLOTS 128 + + struct grub_jfs_sblock + { +@@ -481,6 +482,14 @@ grub_jfs_opendir (struct grub_jfs_data *data, struct grub_jfs_inode *inode) + return 0; + } + ++ if (inode->dir.header.sorted[0] >= GRUB_JFS_DIR_MAX_SLOTS) ++ { ++ grub_error (GRUB_ERR_BAD_FS, N_("invalid directory slot index")); ++ grub_free (diro->dirpage); ++ grub_free (diro); ++ return 0; ++ } ++ + blk = grub_le_to_cpu32 (de[inode->dir.header.sorted[0]].ex.blk2); + blk <<= (grub_le_to_cpu16 (data->sblock.log2_blksz) - GRUB_DISK_SECTOR_BITS); + +-- +2.50.1 + diff --git a/boot/grub2/0013-fs-jfs-Use-full-40-bits-offset-and-address-for-a-dat.patch b/boot/grub2/0013-fs-jfs-Use-full-40-bits-offset-and-address-for-a-dat.patch new file mode 100644 index 00000000000..cd5d69cf74b --- /dev/null +++ b/boot/grub2/0013-fs-jfs-Use-full-40-bits-offset-and-address-for-a-dat.patch @@ -0,0 +1,133 @@ +From 978c4c79935a375cb16d94e8114d96fee013c288 Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Mon, 16 Dec 2024 20:22:39 +0000 +Subject: [PATCH] fs/jfs: Use full 40 bits offset and address for a data extent + +An extent's logical offset and address are represented as a 40-bit value +split into two parts: the most significant 8 bits and the least +significant 32 bits. Currently the JFS code uses only the least +significant 32 bits value for offsets and addresses assuming the data +size will never exceed the 32-bit range. This approach ignores the most +significant 8 bits potentially leading to incorrect offsets and +addresses for larger values. The patch fixes it by incorporating the +most significant 8 bits into the calculation to get the full 40-bits +value for offsets and addresses. + +https://jfs.sourceforge.net/project/pub/jfslayout.pdf + + "off1,off2 is a 40-bit field, containing the logical offset of the first + block in the extent. + ... + addr1,addr2 is a 40-bit field, containing the address of the extent." + +Signed-off-by: Lidong Chen +Reviewed-by: Alec Brown +Reviewed-by: Ross Philipson +Reviewed-by: Daniel Kiper +Upstream: bd999310fe67f35a66de3bfa2836da91589d04ef +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/jfs.c | 41 +++++++++++++++++++++++++++++------------ + 1 file changed, 29 insertions(+), 12 deletions(-) + +diff --git a/grub-core/fs/jfs.c b/grub-core/fs/jfs.c +index 88fb884df..2bde48d45 100644 +--- a/grub-core/fs/jfs.c ++++ b/grub-core/fs/jfs.c +@@ -265,6 +265,20 @@ static grub_dl_t my_mod; + + static grub_err_t grub_jfs_lookup_symlink (struct grub_jfs_data *data, grub_uint32_t ino); + ++/* ++ * An extent's offset, physical and logical, is represented as a 40-bit value. ++ * This 40-bit value is split into two parts: ++ * - offset1: the most signficant 8 bits of the offset, ++ * - offset2: the least significant 32 bits of the offset. ++ * ++ * This function calculates and returns the 64-bit offset of an extent. ++ */ ++static grub_uint64_t ++get_ext_offset (grub_uint8_t offset1, grub_uint32_t offset2) ++{ ++ return (((grub_uint64_t) offset1 << 32) | grub_le_to_cpu32 (offset2)); ++} ++ + static grub_int64_t + getblk (struct grub_jfs_treehead *treehead, + struct grub_jfs_tree_extent *extents, +@@ -274,22 +288,25 @@ getblk (struct grub_jfs_treehead *treehead, + { + int found = -1; + int i; ++ grub_uint64_t ext_offset, ext_blk; + + for (i = 0; i < grub_le_to_cpu16 (treehead->count) - 2 && + i < max_extents; i++) + { ++ ext_offset = get_ext_offset (extents[i].offset1, extents[i].offset2); ++ ext_blk = get_ext_offset (extents[i].extent.blk1, extents[i].extent.blk2); ++ + if (treehead->flags & GRUB_JFS_TREE_LEAF) + { + /* Read the leafnode. */ +- if (grub_le_to_cpu32 (extents[i].offset2) <= blk ++ if (ext_offset <= blk + && ((grub_le_to_cpu16 (extents[i].extent.length)) + + (extents[i].extent.length2 << 16) +- + grub_le_to_cpu32 (extents[i].offset2)) > blk) +- return (blk - grub_le_to_cpu32 (extents[i].offset2) +- + grub_le_to_cpu32 (extents[i].extent.blk2)); ++ + ext_offset) > blk) ++ return (blk - ext_offset + ext_blk); + } + else +- if (blk >= grub_le_to_cpu32 (extents[i].offset2)) ++ if (blk >= ext_offset) + found = i; + } + +@@ -307,10 +324,9 @@ getblk (struct grub_jfs_treehead *treehead, + return -1; + + if (!grub_disk_read (data->disk, +- ((grub_disk_addr_t) grub_le_to_cpu32 (extents[found].extent.blk2)) +- << (grub_le_to_cpu16 (data->sblock.log2_blksz) +- - GRUB_DISK_SECTOR_BITS), 0, +- sizeof (*tree), (char *) tree)) ++ (grub_disk_addr_t) ext_blk ++ << (grub_le_to_cpu16 (data->sblock.log2_blksz) - GRUB_DISK_SECTOR_BITS), ++ 0, sizeof (*tree), (char *) tree)) + { + if (grub_memcmp (&tree->treehead, treehead, sizeof (struct grub_jfs_treehead)) || + grub_memcmp (&tree->extents, extents, 254 * sizeof (struct grub_jfs_tree_extent))) +@@ -361,7 +377,7 @@ grub_jfs_read_inode (struct grub_jfs_data *data, grub_uint32_t ino, + sizeof (iag_inodes), &iag_inodes)) + return grub_errno; + +- inoblk = grub_le_to_cpu32 (iag_inodes[inoext].blk2); ++ inoblk = get_ext_offset (iag_inodes[inoext].blk1, iag_inodes[inoext].blk2); + inoblk <<= (grub_le_to_cpu16 (data->sblock.log2_blksz) + - GRUB_DISK_SECTOR_BITS); + inoblk += inonum; +@@ -490,7 +506,8 @@ grub_jfs_opendir (struct grub_jfs_data *data, struct grub_jfs_inode *inode) + return 0; + } + +- blk = grub_le_to_cpu32 (de[inode->dir.header.sorted[0]].ex.blk2); ++ blk = get_ext_offset (de[inode->dir.header.sorted[0]].ex.blk1, ++ de[inode->dir.header.sorted[0]].ex.blk2); + blk <<= (grub_le_to_cpu16 (data->sblock.log2_blksz) - GRUB_DISK_SECTOR_BITS); + + /* Read in the nodes until we are on the leaf node level. */ +@@ -508,7 +525,7 @@ grub_jfs_opendir (struct grub_jfs_data *data, struct grub_jfs_inode *inode) + + de = (struct grub_jfs_internal_dirent *) diro->dirpage->dirent; + index = diro->dirpage->sorted[diro->dirpage->header.sindex * 32]; +- blk = (grub_le_to_cpu32 (de[index].ex.blk2) ++ blk = (get_ext_offset (de[index].ex.blk1, de[index].ex.blk2) + << (grub_le_to_cpu16 (data->sblock.log2_blksz) + - GRUB_DISK_SECTOR_BITS)); + } while (!(diro->dirpage->header.flags & GRUB_JFS_TREE_LEAF)); +-- +2.50.1 + diff --git a/boot/grub2/0014-fs-jfs-Inconsistent-signed-unsigned-types-usage-in-r.patch b/boot/grub2/0014-fs-jfs-Inconsistent-signed-unsigned-types-usage-in-r.patch new file mode 100644 index 00000000000..f08e797b37a --- /dev/null +++ b/boot/grub2/0014-fs-jfs-Inconsistent-signed-unsigned-types-usage-in-r.patch @@ -0,0 +1,90 @@ +From 32f319d100c3b8f9b04e6a175f599c7411a54555 Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Mon, 16 Dec 2024 20:22:40 +0000 +Subject: [PATCH] fs/jfs: Inconsistent signed/unsigned types usage in return + values + +The getblk() returns a value of type grub_int64_t which is assigned to +iagblk and inoblk, both of type grub_uint64_t, in grub_jfs_read_inode() +via grub_jfs_blkno(). This patch fixes the type mismatch in the +functions. Additionally, the getblk() will return 0 instead of -1 on +failure cases. This change is safe because grub_errno is always set in +getblk() to indicate errors and it is later checked in the callers. + +Signed-off-by: Lidong Chen +Reviewed-by: Alec Brown +Reviewed-by: Ross Philipson +Reviewed-by: Daniel Kiper +Upstream: edd995a26ec98654d907a9436a296c2d82bc4b28 +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/jfs.c | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +diff --git a/grub-core/fs/jfs.c b/grub-core/fs/jfs.c +index 2bde48d45..70a2f4947 100644 +--- a/grub-core/fs/jfs.c ++++ b/grub-core/fs/jfs.c +@@ -279,7 +279,7 @@ get_ext_offset (grub_uint8_t offset1, grub_uint32_t offset2) + return (((grub_uint64_t) offset1 << 32) | grub_le_to_cpu32 (offset2)); + } + +-static grub_int64_t ++static grub_uint64_t + getblk (struct grub_jfs_treehead *treehead, + struct grub_jfs_tree_extent *extents, + int max_extents, +@@ -290,6 +290,8 @@ getblk (struct grub_jfs_treehead *treehead, + int i; + grub_uint64_t ext_offset, ext_blk; + ++ grub_errno = GRUB_ERR_NONE; ++ + for (i = 0; i < grub_le_to_cpu16 (treehead->count) - 2 && + i < max_extents; i++) + { +@@ -312,7 +314,7 @@ getblk (struct grub_jfs_treehead *treehead, + + if (found != -1) + { +- grub_int64_t ret = -1; ++ grub_uint64_t ret = 0; + struct + { + struct grub_jfs_treehead treehead; +@@ -321,7 +323,7 @@ getblk (struct grub_jfs_treehead *treehead, + + tree = grub_zalloc (sizeof (*tree)); + if (!tree) +- return -1; ++ return 0; + + if (!grub_disk_read (data->disk, + (grub_disk_addr_t) ext_blk +@@ -334,19 +336,20 @@ getblk (struct grub_jfs_treehead *treehead, + else + { + grub_error (GRUB_ERR_BAD_FS, "jfs: infinite recursion detected"); +- ret = -1; ++ ret = 0; + } + } + grub_free (tree); + return ret; + } + +- return -1; ++ grub_error (GRUB_ERR_READ_ERROR, "jfs: block %" PRIuGRUB_UINT64_T " not found", blk); ++ return 0; + } + + /* Get the block number for the block BLK in the node INODE in the + mounted filesystem DATA. */ +-static grub_int64_t ++static grub_uint64_t + grub_jfs_blkno (struct grub_jfs_data *data, struct grub_jfs_inode *inode, + grub_uint64_t blk) + { +-- +2.50.1 + diff --git a/boot/grub2/0015-fs-ext2-Fix-out-of-bounds-read-for-inline-extents.patch b/boot/grub2/0015-fs-ext2-Fix-out-of-bounds-read-for-inline-extents.patch new file mode 100644 index 00000000000..c04fb8eae03 --- /dev/null +++ b/boot/grub2/0015-fs-ext2-Fix-out-of-bounds-read-for-inline-extents.patch @@ -0,0 +1,51 @@ +From 7da8e2e23db5f1ddb9c4dc992c69349149163c4c Mon Sep 17 00:00:00 2001 +From: Michael Chang +Date: Fri, 31 May 2024 15:14:23 +0800 +Subject: [PATCH] fs/ext2: Fix out-of-bounds read for inline extents + +When inline extents are used, i.e. the extent tree depth equals zero, +a maximum of four entries can fit into the inode's data block. If the +extent header states a number of entries greater than four the current +ext2 implementation causes an out-of-bounds read. Fix this issue by +capping the number of extents to four when reading inline extents. + +Reported-by: Daniel Axtens +Signed-off-by: Michael Chang +Reviewed-by: Daniel Kiper +Upstream: 7e2f750f0a795c4d64ec7dc7591edac8da2e978c +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/ext2.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/grub-core/fs/ext2.c b/grub-core/fs/ext2.c +index e1cc5e62a..3f9f6b208 100644 +--- a/grub-core/fs/ext2.c ++++ b/grub-core/fs/ext2.c +@@ -495,6 +495,8 @@ grub_ext2_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock) + struct grub_ext4_extent *ext; + int i; + grub_disk_addr_t ret; ++ grub_uint16_t nent; ++ const grub_uint16_t max_inline_ext = sizeof (inode->blocks) / sizeof (*ext) - 1; /* Minus 1 extent header. */ + + if (grub_ext4_find_leaf (data, (struct grub_ext4_extent_header *) inode->blocks.dir_blocks, + fileblock, &leaf) != GRUB_ERR_NONE) +@@ -508,7 +510,13 @@ grub_ext2_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock) + return 0; + + ext = (struct grub_ext4_extent *) (leaf + 1); +- for (i = 0; i < grub_le_to_cpu16 (leaf->entries); i++) ++ ++ nent = grub_le_to_cpu16 (leaf->entries); ++ ++ if (leaf->depth == 0) ++ nent = grub_min (nent, max_inline_ext); ++ ++ for (i = 0; i < nent; i++) + { + if (fileblock < grub_le_to_cpu32 (ext[i].block)) + break; +-- +2.50.1 + diff --git a/boot/grub2/0016-fs-xfs-Fix-out-of-bounds-read.patch b/boot/grub2/0016-fs-xfs-Fix-out-of-bounds-read.patch new file mode 100644 index 00000000000..c42627b7cd4 --- /dev/null +++ b/boot/grub2/0016-fs-xfs-Fix-out-of-bounds-read.patch @@ -0,0 +1,48 @@ +From 854503d76e7dbc25f999d6be3e2ef4e8067f4152 Mon Sep 17 00:00:00 2001 +From: Michael Chang +Date: Fri, 31 May 2024 15:14:57 +0800 +Subject: [PATCH] fs/xfs: Fix out-of-bounds read + +The number of records in the root key array read from disk was not being +validated against the size of the root node. This could lead to an +out-of-bounds read. + +This patch adds a check to ensure that the number of records in the root +key array does not exceed the expected size of a root node read from +disk. If this check detects an out-of-bounds condition the operation is +aborted to prevent random errors due to metadata corruption. + +Reported-by: Daniel Axtens +Signed-off-by: Michael Chang +Reviewed-by: Daniel Kiper +Upstream: 6ccc77b59d16578b10eaf8a4fe85c20b229f0d8a +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/xfs.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/grub-core/fs/xfs.c b/grub-core/fs/xfs.c +index bc2224dbb..d2d533531 100644 +--- a/grub-core/fs/xfs.c ++++ b/grub-core/fs/xfs.c +@@ -595,6 +595,17 @@ grub_xfs_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock) + do + { + grub_uint64_t i; ++ grub_addr_t keys_end, data_end; ++ ++ if (grub_mul (sizeof (grub_uint64_t), nrec, &keys_end) || ++ grub_add ((grub_addr_t) keys, keys_end, &keys_end) || ++ grub_add ((grub_addr_t) node->data, node->data->data_size, &data_end) || ++ keys_end > data_end) ++ { ++ grub_error (GRUB_ERR_BAD_FS, "invalid number of XFS root keys"); ++ grub_free (leaf); ++ return 0; ++ } + + for (i = 0; i < nrec; i++) + { +-- +2.50.1 + diff --git a/boot/grub2/0017-fs-xfs-Ensuring-failing-to-mount-sets-a-grub_errno.patch b/boot/grub2/0017-fs-xfs-Ensuring-failing-to-mount-sets-a-grub_errno.patch new file mode 100644 index 00000000000..98d1be15443 --- /dev/null +++ b/boot/grub2/0017-fs-xfs-Ensuring-failing-to-mount-sets-a-grub_errno.patch @@ -0,0 +1,47 @@ +From 9a5c23756f2e2d4ee8438bf449881c8f854e59ab Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Sun, 12 May 2024 06:03:58 +0100 +Subject: [PATCH] fs/xfs: Ensuring failing to mount sets a grub_errno + +It was previously possible for grub_xfs_mount() to return NULL without +setting grub_errno if the XFS version was invalid. This resulted in it +being possible for grub_dl_unref() to be called twice allowing the XFS +module to be unloaded while there were still references to it. + +Fixing this problem in general by ensuring a grub_errno is set if the +fail label is reached. + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: d1d6b7ea58aa5a80a4c4d0666b49460056c8ef0a +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/xfs.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/grub-core/fs/xfs.c b/grub-core/fs/xfs.c +index d2d533531..56738a135 100644 +--- a/grub-core/fs/xfs.c ++++ b/grub-core/fs/xfs.c +@@ -327,6 +327,8 @@ static int grub_xfs_sb_valid(struct grub_xfs_data *data) + } + return 1; + } ++ ++ grub_error (GRUB_ERR_BAD_FS, "unsupported XFS filesystem version"); + return 0; + } + +@@ -1058,7 +1060,7 @@ grub_xfs_mount (grub_disk_t disk) + return data; + fail: + +- if (grub_errno == GRUB_ERR_OUT_OF_RANGE) ++ if (grub_errno == GRUB_ERR_OUT_OF_RANGE || grub_errno == GRUB_ERR_NONE) + grub_error (GRUB_ERR_BAD_FS, "not an XFS filesystem"); + + grub_free (data); +-- +2.50.1 + diff --git a/boot/grub2/0018-kern-file-Ensure-file-data-is-set.patch b/boot/grub2/0018-kern-file-Ensure-file-data-is-set.patch new file mode 100644 index 00000000000..1b84ef304b7 --- /dev/null +++ b/boot/grub2/0018-kern-file-Ensure-file-data-is-set.patch @@ -0,0 +1,37 @@ +From 816fb20ed0a80032e2eaf4c4ccaf989bf20908be Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Sun, 12 May 2024 03:01:40 +0100 +Subject: [PATCH] kern/file: Ensure file->data is set + +This is to avoid a generic issue were some filesystems would not set +data and also not set a grub_errno. This meant it was possible for many +filesystems to grub_dl_unref() themselves multiple times resulting in +it being possible to unload the filesystems while there were still +references to them, e.g., via a loopback. + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: a7910687294b29288ac649e71b47493c93294f17 +Signed-off-by: Thomas Petazzoni +--- + grub-core/kern/file.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/grub-core/kern/file.c b/grub-core/kern/file.c +index 750177248..e990507fc 100644 +--- a/grub-core/kern/file.c ++++ b/grub-core/kern/file.c +@@ -114,6 +114,9 @@ grub_file_open (const char *name, enum grub_file_type type) + if ((file->fs->fs_open) (file, file_name) != GRUB_ERR_NONE) + goto fail; + ++ if (file->data == NULL) ++ goto fail; ++ + file->name = grub_strdup (name); + grub_errno = GRUB_ERR_NONE; + +-- +2.50.1 + diff --git a/boot/grub2/0019-kern-file-Implement-filesystem-reference-counting.patch b/boot/grub2/0019-kern-file-Implement-filesystem-reference-counting.patch new file mode 100644 index 00000000000..71c53efd445 --- /dev/null +++ b/boot/grub2/0019-kern-file-Implement-filesystem-reference-counting.patch @@ -0,0 +1,449 @@ +From a27c4b6da2f4a014e5d096e75790e860bcdb2472 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Sun, 12 May 2024 10:15:03 +0100 +Subject: [PATCH] kern/file: Implement filesystem reference counting + +The grub_file_open() and grub_file_close() should be the only places +that allow a reference to a filesystem to stay open. So, add grub_dl_t +to grub_fs_t and set this in the GRUB_MOD_INIT() for each filesystem to +avoid issues when filesystems forget to do it themselves or do not track +their own references, e.g. squash4. + +The fs_label(), fs_uuid(), fs_mtime() and fs_read() should all ref and +unref in the same function but it is essentially redundant in GRUB +single threaded model. + +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper + +Conflicts: + grub-core/fs/erofs.c + +Upstream: 16f196874fbe360a1b3c66064ec15adadf94c57b +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/affs.c | 1 + + grub-core/fs/bfs.c | 1 + + grub-core/fs/btrfs.c | 1 + + grub-core/fs/cbfs.c | 1 + + grub-core/fs/cpio.c | 1 + + grub-core/fs/cpio_be.c | 1 + + grub-core/fs/ext2.c | 1 + + grub-core/fs/f2fs.c | 1 + + grub-core/fs/fat.c | 1 + + grub-core/fs/hfs.c | 1 + + grub-core/fs/hfsplus.c | 1 + + grub-core/fs/iso9660.c | 1 + + grub-core/fs/jfs.c | 1 + + grub-core/fs/minix.c | 1 + + grub-core/fs/newc.c | 1 + + grub-core/fs/nilfs2.c | 1 + + grub-core/fs/ntfs.c | 1 + + grub-core/fs/odc.c | 1 + + grub-core/fs/proc.c | 1 + + grub-core/fs/reiserfs.c | 1 + + grub-core/fs/romfs.c | 1 + + grub-core/fs/sfs.c | 1 + + grub-core/fs/squash4.c | 1 + + grub-core/fs/tar.c | 1 + + grub-core/fs/udf.c | 1 + + grub-core/fs/ufs.c | 1 + + grub-core/fs/xfs.c | 1 + + grub-core/fs/zfs/zfs.c | 1 + + grub-core/kern/file.c | 7 +++++++ + include/grub/fs.h | 4 ++++ + 30 files changed, 39 insertions(+) + +diff --git a/grub-core/fs/affs.c b/grub-core/fs/affs.c +index ed606b3f1..9b0afb954 100644 +--- a/grub-core/fs/affs.c ++++ b/grub-core/fs/affs.c +@@ -703,6 +703,7 @@ static struct grub_fs grub_affs_fs = + + GRUB_MOD_INIT(affs) + { ++ grub_affs_fs.mod = mod; + grub_fs_register (&grub_affs_fs); + my_mod = mod; + } +diff --git a/grub-core/fs/bfs.c b/grub-core/fs/bfs.c +index 07cb3e3ac..f37b16895 100644 +--- a/grub-core/fs/bfs.c ++++ b/grub-core/fs/bfs.c +@@ -1106,6 +1106,7 @@ GRUB_MOD_INIT (bfs) + { + COMPILE_TIME_ASSERT (1 << LOG_EXTENT_SIZE == + sizeof (struct grub_bfs_extent)); ++ grub_bfs_fs.mod = mod; + grub_fs_register (&grub_bfs_fs); + } + +diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c +index ba0c58352..aae81482b 100644 +--- a/grub-core/fs/btrfs.c ++++ b/grub-core/fs/btrfs.c +@@ -2413,6 +2413,7 @@ static struct grub_fs grub_btrfs_fs = { + + GRUB_MOD_INIT (btrfs) + { ++ grub_btrfs_fs.mod = mod; + grub_fs_register (&grub_btrfs_fs); + } + +diff --git a/grub-core/fs/cbfs.c b/grub-core/fs/cbfs.c +index 8ab7106af..2332745fe 100644 +--- a/grub-core/fs/cbfs.c ++++ b/grub-core/fs/cbfs.c +@@ -390,6 +390,7 @@ GRUB_MOD_INIT (cbfs) + #if (defined (__i386__) || defined (__x86_64__)) && !defined (GRUB_UTIL) && !defined (GRUB_MACHINE_EMU) && !defined (GRUB_MACHINE_XEN) + init_cbfsdisk (); + #endif ++ grub_cbfs_fs.mod = mod; + grub_fs_register (&grub_cbfs_fs); + } + +diff --git a/grub-core/fs/cpio.c b/grub-core/fs/cpio.c +index dab5f9898..1799f7ff5 100644 +--- a/grub-core/fs/cpio.c ++++ b/grub-core/fs/cpio.c +@@ -52,6 +52,7 @@ read_number (const grub_uint16_t *arr, grub_size_t size) + + GRUB_MOD_INIT (cpio) + { ++ grub_cpio_fs.mod = mod; + grub_fs_register (&grub_cpio_fs); + } + +diff --git a/grub-core/fs/cpio_be.c b/grub-core/fs/cpio_be.c +index 846548892..7bed1b848 100644 +--- a/grub-core/fs/cpio_be.c ++++ b/grub-core/fs/cpio_be.c +@@ -52,6 +52,7 @@ read_number (const grub_uint16_t *arr, grub_size_t size) + + GRUB_MOD_INIT (cpio_be) + { ++ grub_cpio_fs.mod = mod; + grub_fs_register (&grub_cpio_fs); + } + +diff --git a/grub-core/fs/ext2.c b/grub-core/fs/ext2.c +index 3f9f6b208..c3058f7e7 100644 +--- a/grub-core/fs/ext2.c ++++ b/grub-core/fs/ext2.c +@@ -1131,6 +1131,7 @@ static struct grub_fs grub_ext2_fs = + + GRUB_MOD_INIT(ext2) + { ++ grub_ext2_fs.mod = mod; + grub_fs_register (&grub_ext2_fs); + my_mod = mod; + } +diff --git a/grub-core/fs/f2fs.c b/grub-core/fs/f2fs.c +index db8a65f8d..f6d6beaa5 100644 +--- a/grub-core/fs/f2fs.c ++++ b/grub-core/fs/f2fs.c +@@ -1353,6 +1353,7 @@ static struct grub_fs grub_f2fs_fs = { + + GRUB_MOD_INIT (f2fs) + { ++ grub_f2fs_fs.mod = mod; + grub_fs_register (&grub_f2fs_fs); + my_mod = mod; + } +diff --git a/grub-core/fs/fat.c b/grub-core/fs/fat.c +index c5efed724..6e62b915d 100644 +--- a/grub-core/fs/fat.c ++++ b/grub-core/fs/fat.c +@@ -1312,6 +1312,7 @@ GRUB_MOD_INIT(fat) + #endif + { + COMPILE_TIME_ASSERT (sizeof (struct grub_fat_dir_entry) == 32); ++ grub_fat_fs.mod = mod; + grub_fs_register (&grub_fat_fs); + my_mod = mod; + } +diff --git a/grub-core/fs/hfs.c b/grub-core/fs/hfs.c +index 920112b03..ce7581dd5 100644 +--- a/grub-core/fs/hfs.c ++++ b/grub-core/fs/hfs.c +@@ -1434,6 +1434,7 @@ static struct grub_fs grub_hfs_fs = + + GRUB_MOD_INIT(hfs) + { ++ grub_hfs_fs.mod = mod; + if (!grub_is_lockdown ()) + grub_fs_register (&grub_hfs_fs); + my_mod = mod; +diff --git a/grub-core/fs/hfsplus.c b/grub-core/fs/hfsplus.c +index de71fd486..3f203abcc 100644 +--- a/grub-core/fs/hfsplus.c ++++ b/grub-core/fs/hfsplus.c +@@ -1176,6 +1176,7 @@ static struct grub_fs grub_hfsplus_fs = + + GRUB_MOD_INIT(hfsplus) + { ++ grub_hfsplus_fs.mod = mod; + grub_fs_register (&grub_hfsplus_fs); + my_mod = mod; + } +diff --git a/grub-core/fs/iso9660.c b/grub-core/fs/iso9660.c +index 8e3c95c4f..c73cb9ce0 100644 +--- a/grub-core/fs/iso9660.c ++++ b/grub-core/fs/iso9660.c +@@ -1260,6 +1260,7 @@ static struct grub_fs grub_iso9660_fs = + + GRUB_MOD_INIT(iso9660) + { ++ grub_iso9660_fs.mod = mod; + grub_fs_register (&grub_iso9660_fs); + my_mod = mod; + } +diff --git a/grub-core/fs/jfs.c b/grub-core/fs/jfs.c +index 70a2f4947..b0283ac00 100644 +--- a/grub-core/fs/jfs.c ++++ b/grub-core/fs/jfs.c +@@ -1005,6 +1005,7 @@ static struct grub_fs grub_jfs_fs = + + GRUB_MOD_INIT(jfs) + { ++ grub_jfs_fs.mod = mod; + grub_fs_register (&grub_jfs_fs); + my_mod = mod; + } +diff --git a/grub-core/fs/minix.c b/grub-core/fs/minix.c +index 5354951d1..b7679c3e2 100644 +--- a/grub-core/fs/minix.c ++++ b/grub-core/fs/minix.c +@@ -734,6 +734,7 @@ GRUB_MOD_INIT(minix) + #endif + #endif + { ++ grub_minix_fs.mod = mod; + grub_fs_register (&grub_minix_fs); + my_mod = mod; + } +diff --git a/grub-core/fs/newc.c b/grub-core/fs/newc.c +index 4fb8b2e3d..43b7f8b64 100644 +--- a/grub-core/fs/newc.c ++++ b/grub-core/fs/newc.c +@@ -64,6 +64,7 @@ read_number (const char *str, grub_size_t size) + + GRUB_MOD_INIT (newc) + { ++ grub_cpio_fs.mod = mod; + grub_fs_register (&grub_cpio_fs); + } + +diff --git a/grub-core/fs/nilfs2.c b/grub-core/fs/nilfs2.c +index fc7374ead..4e1e71738 100644 +--- a/grub-core/fs/nilfs2.c ++++ b/grub-core/fs/nilfs2.c +@@ -1231,6 +1231,7 @@ GRUB_MOD_INIT (nilfs2) + grub_nilfs2_dat_entry)); + COMPILE_TIME_ASSERT (1 << LOG_INODE_SIZE + == sizeof (struct grub_nilfs2_inode)); ++ grub_nilfs2_fs.mod = mod; + grub_fs_register (&grub_nilfs2_fs); + my_mod = mod; + } +diff --git a/grub-core/fs/ntfs.c b/grub-core/fs/ntfs.c +index de435aa14..560917dc2 100644 +--- a/grub-core/fs/ntfs.c ++++ b/grub-core/fs/ntfs.c +@@ -1320,6 +1320,7 @@ static struct grub_fs grub_ntfs_fs = + + GRUB_MOD_INIT (ntfs) + { ++ grub_ntfs_fs.mod = mod; + grub_fs_register (&grub_ntfs_fs); + my_mod = mod; + } +diff --git a/grub-core/fs/odc.c b/grub-core/fs/odc.c +index 790000622..8e4e8aeac 100644 +--- a/grub-core/fs/odc.c ++++ b/grub-core/fs/odc.c +@@ -52,6 +52,7 @@ read_number (const char *str, grub_size_t size) + + GRUB_MOD_INIT (odc) + { ++ grub_cpio_fs.mod = mod; + grub_fs_register (&grub_cpio_fs); + } + +diff --git a/grub-core/fs/proc.c b/grub-core/fs/proc.c +index 5f516502d..bcde43349 100644 +--- a/grub-core/fs/proc.c ++++ b/grub-core/fs/proc.c +@@ -192,6 +192,7 @@ static struct grub_fs grub_procfs_fs = + + GRUB_MOD_INIT (procfs) + { ++ grub_procfs_fs.mod = mod; + grub_disk_dev_register (&grub_procfs_dev); + grub_fs_register (&grub_procfs_fs); + } +diff --git a/grub-core/fs/reiserfs.c b/grub-core/fs/reiserfs.c +index 36b26ac98..c3850e013 100644 +--- a/grub-core/fs/reiserfs.c ++++ b/grub-core/fs/reiserfs.c +@@ -1417,6 +1417,7 @@ static struct grub_fs grub_reiserfs_fs = + + GRUB_MOD_INIT(reiserfs) + { ++ grub_reiserfs_fs.mod = mod; + grub_fs_register (&grub_reiserfs_fs); + my_mod = mod; + } +diff --git a/grub-core/fs/romfs.c b/grub-core/fs/romfs.c +index 1f7dcfca1..56b0b2b2f 100644 +--- a/grub-core/fs/romfs.c ++++ b/grub-core/fs/romfs.c +@@ -475,6 +475,7 @@ static struct grub_fs grub_romfs_fs = + + GRUB_MOD_INIT(romfs) + { ++ grub_romfs_fs.mod = mod; + grub_fs_register (&grub_romfs_fs); + } + +diff --git a/grub-core/fs/sfs.c b/grub-core/fs/sfs.c +index 983e88008..f0d7cac43 100644 +--- a/grub-core/fs/sfs.c ++++ b/grub-core/fs/sfs.c +@@ -779,6 +779,7 @@ static struct grub_fs grub_sfs_fs = + + GRUB_MOD_INIT(sfs) + { ++ grub_sfs_fs.mod = mod; + grub_fs_register (&grub_sfs_fs); + my_mod = mod; + } +diff --git a/grub-core/fs/squash4.c b/grub-core/fs/squash4.c +index a30e6ebe1..6e9d63874 100644 +--- a/grub-core/fs/squash4.c ++++ b/grub-core/fs/squash4.c +@@ -1044,6 +1044,7 @@ static struct grub_fs grub_squash_fs = + + GRUB_MOD_INIT(squash4) + { ++ grub_squash_fs.mod = mod; + grub_fs_register (&grub_squash_fs); + } + +diff --git a/grub-core/fs/tar.c b/grub-core/fs/tar.c +index 386c09022..fd2ec1f74 100644 +--- a/grub-core/fs/tar.c ++++ b/grub-core/fs/tar.c +@@ -354,6 +354,7 @@ static struct grub_fs grub_cpio_fs = { + + GRUB_MOD_INIT (tar) + { ++ grub_cpio_fs.mod = mod; + grub_fs_register (&grub_cpio_fs); + } + +diff --git a/grub-core/fs/udf.c b/grub-core/fs/udf.c +index b836e6107..8765c633c 100644 +--- a/grub-core/fs/udf.c ++++ b/grub-core/fs/udf.c +@@ -1455,6 +1455,7 @@ static struct grub_fs grub_udf_fs = { + + GRUB_MOD_INIT (udf) + { ++ grub_udf_fs.mod = mod; + grub_fs_register (&grub_udf_fs); + my_mod = mod; + } +diff --git a/grub-core/fs/ufs.c b/grub-core/fs/ufs.c +index 01235101b..e82d9356d 100644 +--- a/grub-core/fs/ufs.c ++++ b/grub-core/fs/ufs.c +@@ -899,6 +899,7 @@ GRUB_MOD_INIT(ufs1) + #endif + #endif + { ++ grub_ufs_fs.mod = mod; + grub_fs_register (&grub_ufs_fs); + my_mod = mod; + } +diff --git a/grub-core/fs/xfs.c b/grub-core/fs/xfs.c +index 56738a135..74feeb86a 100644 +--- a/grub-core/fs/xfs.c ++++ b/grub-core/fs/xfs.c +@@ -1294,6 +1294,7 @@ static struct grub_fs grub_xfs_fs = + + GRUB_MOD_INIT(xfs) + { ++ grub_xfs_fs.mod = mod; + grub_fs_register (&grub_xfs_fs); + my_mod = mod; + } +diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c +index b5453e006..a497b1869 100644 +--- a/grub-core/fs/zfs/zfs.c ++++ b/grub-core/fs/zfs/zfs.c +@@ -4424,6 +4424,7 @@ static struct grub_fs grub_zfs_fs = { + GRUB_MOD_INIT (zfs) + { + COMPILE_TIME_ASSERT (sizeof (zap_leaf_chunk_t) == ZAP_LEAF_CHUNKSIZE); ++ grub_zfs_fs.mod = mod; + grub_fs_register (&grub_zfs_fs); + #ifndef GRUB_UTIL + my_mod = mod; +diff --git a/grub-core/kern/file.c b/grub-core/kern/file.c +index e990507fc..6e7efe89a 100644 +--- a/grub-core/kern/file.c ++++ b/grub-core/kern/file.c +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + void (*EXPORT_VAR (grub_grubnet_fini)) (void); + +@@ -117,6 +118,9 @@ grub_file_open (const char *name, enum grub_file_type type) + if (file->data == NULL) + goto fail; + ++ if (file->fs->mod) ++ grub_dl_ref (file->fs->mod); ++ + file->name = grub_strdup (name); + grub_errno = GRUB_ERR_NONE; + +@@ -197,6 +201,9 @@ grub_file_read (grub_file_t file, void *buf, grub_size_t len) + grub_err_t + grub_file_close (grub_file_t file) + { ++ if (file->fs->mod) ++ grub_dl_unref (file->fs->mod); ++ + if (file->fs->fs_close) + (file->fs->fs_close) (file); + +diff --git a/include/grub/fs.h b/include/grub/fs.h +index 026bc3bb8..df4c93b16 100644 +--- a/include/grub/fs.h ++++ b/include/grub/fs.h +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + + #include + /* For embedding types. */ +@@ -57,6 +58,9 @@ struct grub_fs + /* My name. */ + const char *name; + ++ /* My module */ ++ grub_dl_t mod; ++ + /* Call HOOK with each file under DIR. */ + grub_err_t (*fs_dir) (grub_device_t device, const char *path, + grub_fs_dir_hook_t hook, void *hook_data); +-- +2.50.1 + diff --git a/boot/grub2/0020-disk-loopback-Reference-tracking-for-the-loopback.patch b/boot/grub2/0020-disk-loopback-Reference-tracking-for-the-loopback.patch new file mode 100644 index 00000000000..5295251e154 --- /dev/null +++ b/boot/grub2/0020-disk-loopback-Reference-tracking-for-the-loopback.patch @@ -0,0 +1,108 @@ +From a81ef3044791e7ee02bd349b5ec0adcbf6947555 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Sun, 12 May 2024 03:26:19 +0100 +Subject: [PATCH] disk/loopback: Reference tracking for the loopback + +It was possible to delete a loopback while there were still references +to it. This led to an exploitable use-after-free. + +Fixed by implementing a reference counting in the grub_loopback struct. + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: 67f70f70a36b6e87a65f928fe1e840a12eafb7ae +Signed-off-by: Thomas Petazzoni +--- + grub-core/disk/loopback.c | 18 ++++++++++++++++++ + include/grub/err.h | 3 ++- + 2 files changed, 20 insertions(+), 1 deletion(-) + +diff --git a/grub-core/disk/loopback.c b/grub-core/disk/loopback.c +index 4635dcfde..2bea4e922 100644 +--- a/grub-core/disk/loopback.c ++++ b/grub-core/disk/loopback.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -33,6 +34,7 @@ struct grub_loopback + grub_file_t file; + struct grub_loopback *next; + unsigned long id; ++ grub_uint64_t refcnt; + }; + + static struct grub_loopback *loopback_list; +@@ -64,6 +66,8 @@ delete_loopback (const char *name) + if (! dev) + return grub_error (GRUB_ERR_BAD_DEVICE, "device not found"); + ++ if (dev->refcnt > 0) ++ return grub_error (GRUB_ERR_STILL_REFERENCED, "device still referenced"); + /* Remove the device from the list. */ + *prev = dev->next; + +@@ -120,6 +124,7 @@ grub_cmd_loopback (grub_extcmd_context_t ctxt, int argc, char **args) + + newdev->file = file; + newdev->id = last_id++; ++ newdev->refcnt = 0; + + /* Add the new entry to the list. */ + newdev->next = loopback_list; +@@ -161,6 +166,9 @@ grub_loopback_open (const char *name, grub_disk_t disk) + if (! dev) + return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "can't open device"); + ++ if (grub_add (dev->refcnt, 1, &dev->refcnt)) ++ grub_fatal ("Reference count overflow"); ++ + /* Use the filesize for the disk size, round up to a complete sector. */ + if (dev->file->size != GRUB_FILE_SIZE_UNKNOWN) + disk->total_sectors = ((dev->file->size + GRUB_DISK_SECTOR_SIZE - 1) +@@ -178,6 +186,15 @@ grub_loopback_open (const char *name, grub_disk_t disk) + return 0; + } + ++static void ++grub_loopback_close (grub_disk_t disk) ++{ ++ struct grub_loopback *dev = disk->data; ++ ++ if (grub_sub (dev->refcnt, 1, &dev->refcnt)) ++ grub_fatal ("Reference count underflow"); ++} ++ + static grub_err_t + grub_loopback_read (grub_disk_t disk, grub_disk_addr_t sector, + grub_size_t size, char *buf) +@@ -220,6 +237,7 @@ static struct grub_disk_dev grub_loopback_dev = + .id = GRUB_DISK_DEVICE_LOOPBACK_ID, + .disk_iterate = grub_loopback_iterate, + .disk_open = grub_loopback_open, ++ .disk_close = grub_loopback_close, + .disk_read = grub_loopback_read, + .disk_write = grub_loopback_write, + .next = 0 +diff --git a/include/grub/err.h b/include/grub/err.h +index 1c07034cd..b0e54e0a0 100644 +--- a/include/grub/err.h ++++ b/include/grub/err.h +@@ -73,7 +73,8 @@ typedef enum + GRUB_ERR_NET_NO_DOMAIN, + GRUB_ERR_EOF, + GRUB_ERR_BAD_SIGNATURE, +- GRUB_ERR_BAD_FIRMWARE ++ GRUB_ERR_BAD_FIRMWARE, ++ GRUB_ERR_STILL_REFERENCED + } + grub_err_t; + +-- +2.50.1 + diff --git a/boot/grub2/0021-kern-disk-Limit-recursion-depth.patch b/boot/grub2/0021-kern-disk-Limit-recursion-depth.patch new file mode 100644 index 00000000000..8d2390ac551 --- /dev/null +++ b/boot/grub2/0021-kern-disk-Limit-recursion-depth.patch @@ -0,0 +1,125 @@ +From 195331a7a64c2a4ba754e2527ca8973012db68c9 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Sun, 12 May 2024 04:09:24 +0100 +Subject: [PATCH] kern/disk: Limit recursion depth + +The grub_disk_read() may trigger other disk reads, e.g. via loopbacks. +This may lead to very deep recursion which can corrupt the heap. So, fix +the issue by limiting reads depth. + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: 18212f0648b6de7d71d4c8f41eb4d8b78b3a299b +Signed-off-by: Thomas Petazzoni +--- + grub-core/kern/disk.c | 27 ++++++++++++++++++++------- + include/grub/err.h | 3 ++- + 2 files changed, 22 insertions(+), 8 deletions(-) + +diff --git a/grub-core/kern/disk.c b/grub-core/kern/disk.c +index 1eda58fe9..82e04fd00 100644 +--- a/grub-core/kern/disk.c ++++ b/grub-core/kern/disk.c +@@ -28,6 +28,10 @@ + + #define GRUB_CACHE_TIMEOUT 2 + ++/* Disk reads may trigger other disk reads. So, limit recursion depth. */ ++#define MAX_READ_RECURSION_DEPTH 16 ++static unsigned int read_recursion_depth = 0; ++ + /* The last time the disk was used. */ + static grub_uint64_t grub_last_time = 0; + +@@ -417,6 +421,8 @@ grub_err_t + grub_disk_read (grub_disk_t disk, grub_disk_addr_t sector, + grub_off_t offset, grub_size_t size, void *buf) + { ++ grub_err_t err = GRUB_ERR_NONE; ++ + /* First of all, check if the region is within the disk. */ + if (grub_disk_adjust_range (disk, §or, &offset, size) != GRUB_ERR_NONE) + { +@@ -427,12 +433,17 @@ grub_disk_read (grub_disk_t disk, grub_disk_addr_t sector, + return grub_errno; + } + ++ if (++read_recursion_depth >= MAX_READ_RECURSION_DEPTH) ++ { ++ grub_error (GRUB_ERR_RECURSION_DEPTH, "grub_disk_read(): Maximum recursion depth exceeded"); ++ goto error; ++ } ++ + /* First read until first cache boundary. */ + if (offset || (sector & (GRUB_DISK_CACHE_SIZE - 1))) + { + grub_disk_addr_t start_sector; + grub_size_t pos; +- grub_err_t err; + grub_size_t len; + + start_sector = sector & ~((grub_disk_addr_t) GRUB_DISK_CACHE_SIZE - 1); +@@ -444,7 +455,7 @@ grub_disk_read (grub_disk_t disk, grub_disk_addr_t sector, + err = grub_disk_read_small (disk, start_sector, + offset + pos, len, buf); + if (err) +- return err; ++ goto error; + buf = (char *) buf + len; + size -= len; + offset += len; +@@ -457,7 +468,6 @@ grub_disk_read (grub_disk_t disk, grub_disk_addr_t sector, + { + char *data = NULL; + grub_disk_addr_t agglomerate; +- grub_err_t err; + + /* agglomerate read until we find a first cached entry. */ + for (agglomerate = 0; agglomerate +@@ -493,7 +503,7 @@ grub_disk_read (grub_disk_t disk, grub_disk_addr_t sector, + - disk->log_sector_size), + buf); + if (err) +- return err; ++ goto error; + + for (i = 0; i < agglomerate; i ++) + grub_disk_cache_store (disk->dev->id, disk->id, +@@ -527,13 +537,16 @@ grub_disk_read (grub_disk_t disk, grub_disk_addr_t sector, + /* And now read the last part. */ + if (size) + { +- grub_err_t err; + err = grub_disk_read_small (disk, sector, 0, size, buf); + if (err) +- return err; ++ goto error; + } + +- return grub_errno; ++ err = grub_errno; ++ ++ error: ++ read_recursion_depth--; ++ return err; + } + + grub_uint64_t +diff --git a/include/grub/err.h b/include/grub/err.h +index b0e54e0a0..202fa8a7a 100644 +--- a/include/grub/err.h ++++ b/include/grub/err.h +@@ -74,7 +74,8 @@ typedef enum + GRUB_ERR_EOF, + GRUB_ERR_BAD_SIGNATURE, + GRUB_ERR_BAD_FIRMWARE, +- GRUB_ERR_STILL_REFERENCED ++ GRUB_ERR_STILL_REFERENCED, ++ GRUB_ERR_RECURSION_DEPTH + } + grub_err_t; + +-- +2.50.1 + diff --git a/boot/grub2/0022-kern-partition-Limit-recursion-in-part_iterate.patch b/boot/grub2/0022-kern-partition-Limit-recursion-in-part_iterate.patch new file mode 100644 index 00000000000..03183abf2f2 --- /dev/null +++ b/boot/grub2/0022-kern-partition-Limit-recursion-in-part_iterate.patch @@ -0,0 +1,49 @@ +From 3f1c5f55e7ef7b872c3ae59c0c41f1e07508a943 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Sat, 16 Nov 2024 21:24:19 +0000 +Subject: [PATCH] kern/partition: Limit recursion in part_iterate() + +The part_iterate() is used by grub_partition_iterate() as a callback in +the partition iterate functions. However, part_iterate() may also call +the partition iterate functions which may lead to recursion. Fix potential +issue by limiting the recursion depth. + +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: 8a7103fddfd6664f41081f3bb88eebbf2871da2a +Signed-off-by: Thomas Petazzoni +--- + grub-core/kern/partition.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/grub-core/kern/partition.c b/grub-core/kern/partition.c +index edad9f9e4..704512a20 100644 +--- a/grub-core/kern/partition.c ++++ b/grub-core/kern/partition.c +@@ -28,6 +28,9 @@ + + grub_partition_map_t grub_partition_map_list; + ++#define MAX_RECURSION_DEPTH 32 ++static unsigned int recursion_depth = 0; ++ + /* + * Checks that disk->partition contains part. This function assumes that the + * start of part is relative to the start of disk->partition. Returns 1 if +@@ -208,7 +211,12 @@ part_iterate (grub_disk_t dsk, const grub_partition_t partition, void *data) + FOR_PARTITION_MAPS(partmap) + { + grub_err_t err; +- err = partmap->iterate (dsk, part_iterate, ctx); ++ recursion_depth++; ++ if (recursion_depth <= MAX_RECURSION_DEPTH) ++ err = partmap->iterate (dsk, part_iterate, ctx); ++ else ++ err = grub_error (GRUB_ERR_RECURSION_DEPTH, "maximum recursion depth exceeded"); ++ recursion_depth--; + if (err) + grub_errno = GRUB_ERR_NONE; + if (ctx->ret) +-- +2.50.1 + diff --git a/boot/grub2/0023-script-execute-Limit-the-recursion-depth.patch b/boot/grub2/0023-script-execute-Limit-the-recursion-depth.patch new file mode 100644 index 00000000000..f0e922c27a0 --- /dev/null +++ b/boot/grub2/0023-script-execute-Limit-the-recursion-depth.patch @@ -0,0 +1,60 @@ +From 2a094a7116c56519a42a13c96e77bdeda6069076 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Thu, 18 Apr 2024 19:04:13 +0100 +Subject: [PATCH] script/execute: Limit the recursion depth + +If unbounded recursion is allowed it becomes possible to collide the +stack with the heap. As UEFI firmware often lacks guard pages this +becomes an exploitable issue as it is possible in some cases to do +a controlled overwrite of a section of this heap region with +arbitrary data. + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: d8a937ccae5c6d86dc4375698afca5cefdcd01e1 +Signed-off-by: Thomas Petazzoni +--- + grub-core/script/execute.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c +index 14ff09094..e1450f45d 100644 +--- a/grub-core/script/execute.c ++++ b/grub-core/script/execute.c +@@ -33,10 +33,18 @@ + is sizeof (int) * 3, and one extra for a possible -ve sign. */ + #define ERRNO_DIGITS_MAX (sizeof (int) * 3 + 1) + ++/* ++ * A limit on recursion, to avoid colliding with the heap. UEFI defines a baseline ++ * stack size of 128 KiB. So, assuming at most 1-2 KiB per iteration this should ++ * keep us safe. ++ */ ++#define MAX_RECURSION_DEPTH 64 ++ + static unsigned long is_continue; + static unsigned long active_loops; + static unsigned long active_breaks; + static unsigned long function_return; ++static unsigned long recursion_depth; + + #define GRUB_SCRIPT_SCOPE_MALLOCED 1 + #define GRUB_SCRIPT_SCOPE_ARGS_MALLOCED 2 +@@ -816,7 +824,13 @@ grub_script_execute_cmd (struct grub_script_cmd *cmd) + if (cmd == 0) + return 0; + ++ recursion_depth++; ++ ++ if (recursion_depth >= MAX_RECURSION_DEPTH) ++ return grub_error (GRUB_ERR_RECURSION_DEPTH, N_("maximum recursion depth exceeded")); ++ + ret = cmd->exec (cmd); ++ recursion_depth--; + + grub_snprintf (errnobuf, sizeof (errnobuf), "%d", ret); + grub_env_set ("?", errnobuf); +-- +2.50.1 + diff --git a/boot/grub2/0024-net-Unregister-net_default_ip-and-net_default_mac-va.patch b/boot/grub2/0024-net-Unregister-net_default_ip-and-net_default_mac-va.patch new file mode 100644 index 00000000000..881493e5676 --- /dev/null +++ b/boot/grub2/0024-net-Unregister-net_default_ip-and-net_default_mac-va.patch @@ -0,0 +1,34 @@ +From b9a8d2cb984f0a5fd92fe7275dfa280466dd82ce Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Thu, 28 Nov 2024 04:05:04 +0000 +Subject: [PATCH] net: Unregister net_default_ip and net_default_mac variables + hooks on unload + +The net module is a dependency of normal. So, it shouldn't be possible +to unload the net. Though unregister variables hooks as a precaution. +It also gets in line with unregistering the other net module hooks. + +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: a1dd8e59da26f1a9608381d3a1a6c0f465282b1d +Signed-off-by: Thomas Petazzoni +--- + grub-core/net/net.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/grub-core/net/net.c b/grub-core/net/net.c +index 8cad4fb6d..f69c67b64 100644 +--- a/grub-core/net/net.c ++++ b/grub-core/net/net.c +@@ -2072,6 +2072,8 @@ GRUB_MOD_FINI(net) + { + grub_register_variable_hook ("net_default_server", 0, 0); + grub_register_variable_hook ("pxe_default_server", 0, 0); ++ grub_register_variable_hook ("net_default_ip", 0, 0); ++ grub_register_variable_hook ("net_default_mac", 0, 0); + + grub_bootp_fini (); + grub_dns_fini (); +-- +2.50.1 + diff --git a/boot/grub2/0025-net-Remove-variables-hooks-when-interface-is-unregis.patch b/boot/grub2/0025-net-Remove-variables-hooks-when-interface-is-unregis.patch new file mode 100644 index 00000000000..3c6bd1fc836 --- /dev/null +++ b/boot/grub2/0025-net-Remove-variables-hooks-when-interface-is-unregis.patch @@ -0,0 +1,93 @@ +From 883c8721591c1f7a186e2f3cdc8a4f140bd81ce9 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Fri, 1 Nov 2024 23:49:48 +0000 +Subject: [PATCH] net: Remove variables hooks when interface is unregisted + +The grub_net_network_level_interface_unregister(), previously +implemented in a header, did not remove the variables hooks that +were registered in grub_net_network_level_interface_register(). +Fix this by implementing the same logic used to register the +variables and move the function into the grub-core/net/net.c. + +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper + +Conflicts: + grub-core/net/net.c + +Upstream: aa8b4d7facef7b75a2703274b1b9d4e0e734c401 +Signed-off-by: Thomas Petazzoni +--- + grub-core/net/net.c | 33 +++++++++++++++++++++++++++++++++ + include/grub/net.h | 11 +---------- + 2 files changed, 34 insertions(+), 10 deletions(-) + +diff --git a/grub-core/net/net.c b/grub-core/net/net.c +index f69c67b64..8dbb0eada 100644 +--- a/grub-core/net/net.c ++++ b/grub-core/net/net.c +@@ -1094,6 +1094,39 @@ grub_cmd_delroute (struct grub_command *cmd __attribute__ ((unused)), + return GRUB_ERR_NONE; + } + ++void ++grub_net_network_level_interface_unregister (struct grub_net_network_level_interface *inter) ++{ ++ char *name; ++ ++ { ++ char buf[GRUB_NET_MAX_STR_HWADDR_LEN]; ++ ++ grub_net_hwaddr_to_str (&inter->hwaddress, buf); ++ name = grub_xasprintf ("net_%s_mac", inter->name); ++ if (name != NULL) ++ grub_register_variable_hook (name, NULL, NULL); ++ grub_free (name); ++ } ++ ++ { ++ char buf[GRUB_NET_MAX_STR_ADDR_LEN]; ++ ++ grub_net_addr_to_str (&inter->address, buf); ++ name = grub_xasprintf ("net_%s_ip", inter->name); ++ if (name != NULL) ++ grub_register_variable_hook (name, NULL, NULL); ++ grub_free (name); ++ } ++ ++ inter->card->num_ifaces--; ++ *inter->prev = inter->next; ++ if (inter->next) ++ inter->next->prev = inter->prev; ++ inter->next = 0; ++ inter->prev = 0; ++} ++ + grub_err_t + grub_net_add_route (const char *name, + grub_net_network_level_netaddress_t target, +diff --git a/include/grub/net.h b/include/grub/net.h +index 844e501c1..228d04963 100644 +--- a/include/grub/net.h ++++ b/include/grub/net.h +@@ -540,16 +540,7 @@ void grub_bootp_fini (void); + void grub_dns_init (void); + void grub_dns_fini (void); + +-static inline void +-grub_net_network_level_interface_unregister (struct grub_net_network_level_interface *inter) +-{ +- inter->card->num_ifaces--; +- *inter->prev = inter->next; +- if (inter->next) +- inter->next->prev = inter->prev; +- inter->next = 0; +- inter->prev = 0; +-} ++void grub_net_network_level_interface_unregister (struct grub_net_network_level_interface *inter); + + void + grub_net_tcp_retransmit (void); +-- +2.50.1 + diff --git a/boot/grub2/0026-net-Fix-OOB-write-in-grub_net_search_config_file.patch b/boot/grub2/0026-net-Fix-OOB-write-in-grub_net_search_config_file.patch new file mode 100644 index 00000000000..b047b150bc3 --- /dev/null +++ b/boot/grub2/0026-net-Fix-OOB-write-in-grub_net_search_config_file.patch @@ -0,0 +1,89 @@ +From 7ad4117be44d8cf0443bbc58d49e592a33aaac89 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Fri, 15 Nov 2024 13:12:09 +0000 +Subject: [PATCH] net: Fix OOB write in grub_net_search_config_file() + +The function included a call to grub_strcpy() which copied data from an +environment variable to a buffer allocated in grub_cmd_normal(). The +grub_cmd_normal() didn't consider the length of the environment variable. +So, the copy operation could exceed the allocation and lead to an OOB +write. Fix the issue by replacing grub_strcpy() with grub_strlcpy() and +pass the underlying buffers size to the grub_net_search_config_file(). + +Fixes: CVE-2025-0624 + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper + +Conflicts: + grub-core/normal/main.c + +Upstream: 5eef88152833062a3f7e017535372d64ac8ef7e1 +Signed-off-by: Thomas Petazzoni +--- + grub-core/net/net.c | 7 ++++--- + grub-core/normal/main.c | 2 +- + include/grub/net.h | 2 +- + 3 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/grub-core/net/net.c b/grub-core/net/net.c +index 8dbb0eada..2bd490279 100644 +--- a/grub-core/net/net.c ++++ b/grub-core/net/net.c +@@ -1942,14 +1942,15 @@ grub_config_search_through (char *config, char *suffix, + } + + grub_err_t +-grub_net_search_config_file (char *config) ++grub_net_search_config_file (char *config, grub_size_t config_buf_len) + { +- grub_size_t config_len; ++ grub_size_t config_len, suffix_len; + char *suffix; + + config_len = grub_strlen (config); + config[config_len] = '-'; + suffix = config + config_len + 1; ++ suffix_len = config_buf_len - (config_len + 1); + + struct grub_net_network_level_interface *inf; + FOR_NET_NETWORK_LEVEL_INTERFACES (inf) +@@ -1975,7 +1976,7 @@ grub_net_search_config_file (char *config) + + if (client_uuid) + { +- grub_strcpy (suffix, client_uuid); ++ grub_strlcpy (suffix, client_uuid, suffix_len); + if (grub_config_search_through (config, suffix, 1, 0) == 0) + return GRUB_ERR_NONE; + } +diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c +index bd4431000..3b48cd333 100644 +--- a/grub-core/normal/main.c ++++ b/grub-core/normal/main.c +@@ -344,7 +344,7 @@ grub_cmd_normal (struct grub_command *cmd __attribute__ ((unused)), + + if (grub_strncmp (prefix + 1, "tftp", sizeof ("tftp") - 1) == 0 && + !disable_net_search) +- grub_net_search_config_file (config); ++ grub_net_search_config_file (config, config_len); + + grub_enter_normal_mode (config); + grub_free (config); +diff --git a/include/grub/net.h b/include/grub/net.h +index 228d04963..58a4f83fc 100644 +--- a/include/grub/net.h ++++ b/include/grub/net.h +@@ -570,7 +570,7 @@ void + grub_net_remove_dns_server (const struct grub_net_network_level_address *s); + + grub_err_t +-grub_net_search_config_file (char *config); ++grub_net_search_config_file (char *config, grub_size_t config_buf_len); + + extern char *grub_net_default_server; + +-- +2.50.1 + diff --git a/boot/grub2/0027-net-tftp-Fix-stack-buffer-overflow-in-tftp_open.patch b/boot/grub2/0027-net-tftp-Fix-stack-buffer-overflow-in-tftp_open.patch new file mode 100644 index 00000000000..76b18ace8f6 --- /dev/null +++ b/boot/grub2/0027-net-tftp-Fix-stack-buffer-overflow-in-tftp_open.patch @@ -0,0 +1,120 @@ +From 8284fca0f096d01f566eadfdc790232df9f2934e Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Thu, 18 Apr 2024 17:32:34 +0100 +Subject: [PATCH] net/tftp: Fix stack buffer overflow in tftp_open() + +An overly long filename can be passed to tftp_open() which would cause +grub_normalize_filename() to write out of bounds. + +Fixed by adding an extra argument to grub_normalize_filename() for the +space available, making it act closer to a strlcpy(). As several fixed +strings are strcpy()'d after into the same buffer, their total length is +checked to see if they exceed the remaining space in the buffer. If so, +return an error. + +On the occasion simplify code a bit by removing unneeded rrqlen zeroing. + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: 0707accab1b9be5d3645d4700dde3f99209f9367 +Signed-off-by: Thomas Petazzoni +--- + grub-core/net/tftp.c | 38 ++++++++++++++++++++++++-------------- + 1 file changed, 24 insertions(+), 14 deletions(-) + +diff --git a/grub-core/net/tftp.c b/grub-core/net/tftp.c +index 409b1d09b..336b78691 100644 +--- a/grub-core/net/tftp.c ++++ b/grub-core/net/tftp.c +@@ -266,17 +266,19 @@ tftp_receive (grub_net_udp_socket_t sock __attribute__ ((unused)), + * forward slashes to a single forward slash. + */ + static void +-grub_normalize_filename (char *normalized, const char *filename) ++grub_normalize_filename (char *normalized, const char *filename, int c) + { + char *dest = normalized; + const char *src = filename; + +- while (*src != '\0') ++ while (*src != '\0' && c > 0) + { + if (src[0] == '/' && src[1] == '/') + src++; +- else ++ else { ++ c--; + *dest++ = *src++; ++ } + } + *dest = '\0'; + } +@@ -287,7 +289,7 @@ tftp_open (struct grub_file *file, const char *filename) + struct tftphdr *tftph; + char *rrq; + int i; +- int rrqlen; ++ int rrqlen, rrqsize; + int hdrlen; + grub_uint8_t open_data[1500]; + struct grub_net_buff nb; +@@ -315,37 +317,45 @@ tftp_open (struct grub_file *file, const char *filename) + + tftph = (struct tftphdr *) nb.data; + +- rrq = (char *) tftph->u.rrq; +- rrqlen = 0; +- + tftph->opcode = grub_cpu_to_be16_compile_time (TFTP_RRQ); + ++ rrq = (char *) tftph->u.rrq; ++ rrqsize = sizeof (tftph->u.rrq); ++ + /* + * Copy and normalize the filename to work-around issues on some TFTP + * servers when file names are being matched for remapping. + */ +- grub_normalize_filename (rrq, filename); +- rrqlen += grub_strlen (rrq) + 1; ++ grub_normalize_filename (rrq, filename, rrqsize); ++ ++ rrqlen = grub_strlen (rrq) + 1; + rrq += grub_strlen (rrq) + 1; + +- grub_strcpy (rrq, "octet"); ++ /* Verify there is enough space for the remaining components. */ + rrqlen += grub_strlen ("octet") + 1; ++ rrqlen += grub_strlen ("blksize") + 1; ++ rrqlen += grub_strlen ("1024") + 1; ++ rrqlen += grub_strlen ("tsize") + 1; ++ rrqlen += grub_strlen ("0") + 1; ++ ++ if (rrqlen >= rrqsize) { ++ grub_free (data); ++ return grub_error (GRUB_ERR_BAD_FILENAME, N_("filename too long")); ++ } ++ ++ grub_strcpy (rrq, "octet"); + rrq += grub_strlen ("octet") + 1; + + grub_strcpy (rrq, "blksize"); +- rrqlen += grub_strlen ("blksize") + 1; + rrq += grub_strlen ("blksize") + 1; + + grub_strcpy (rrq, "1024"); +- rrqlen += grub_strlen ("1024") + 1; + rrq += grub_strlen ("1024") + 1; + + grub_strcpy (rrq, "tsize"); +- rrqlen += grub_strlen ("tsize") + 1; + rrq += grub_strlen ("tsize") + 1; + + grub_strcpy (rrq, "0"); +- rrqlen += grub_strlen ("0") + 1; + rrq += grub_strlen ("0") + 1; + hdrlen = sizeof (tftph->opcode) + rrqlen; + +-- +2.50.1 + diff --git a/boot/grub2/0028-video-readers-jpeg-Do-not-permit-duplicate-SOF0-mark.patch b/boot/grub2/0028-video-readers-jpeg-Do-not-permit-duplicate-SOF0-mark.patch new file mode 100644 index 00000000000..6ea951225a4 --- /dev/null +++ b/boot/grub2/0028-video-readers-jpeg-Do-not-permit-duplicate-SOF0-mark.patch @@ -0,0 +1,38 @@ +From 8368710fbce5c040227fca8bf10828ad1632f84f Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Fri, 8 Mar 2024 22:47:20 +1100 +Subject: [PATCH] video/readers/jpeg: Do not permit duplicate SOF0 markers in + JPEG + +Otherwise a subsequent header could change the height and width +allowing future OOB writes. + +Fixes: CVE-2024-45774 + +Reported-by: Nils Langius +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Upstream: 2c34af908ebf4856051ed29e46d88abd2b20387f +Signed-off-by: Thomas Petazzoni +--- + grub-core/video/readers/jpeg.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c +index ae634fd41..631a89356 100644 +--- a/grub-core/video/readers/jpeg.c ++++ b/grub-core/video/readers/jpeg.c +@@ -339,6 +339,10 @@ grub_jpeg_decode_sof (struct grub_jpeg_data *data) + if (grub_errno != GRUB_ERR_NONE) + return grub_errno; + ++ if (data->image_height != 0 || data->image_width != 0) ++ return grub_error (GRUB_ERR_BAD_FILE_TYPE, ++ "jpeg: cannot have duplicate SOF0 markers"); ++ + if (grub_jpeg_get_byte (data) != 8) + return grub_error (GRUB_ERR_BAD_FILE_TYPE, + "jpeg: only 8-bit precision is supported"); +-- +2.50.1 + diff --git a/boot/grub2/0029-kern-dl-Fix-for-an-integer-overflow-in-grub_dl_ref.patch b/boot/grub2/0029-kern-dl-Fix-for-an-integer-overflow-in-grub_dl_ref.patch new file mode 100644 index 00000000000..cea0dede419 --- /dev/null +++ b/boot/grub2/0029-kern-dl-Fix-for-an-integer-overflow-in-grub_dl_ref.patch @@ -0,0 +1,143 @@ +From 4d70ddc5255b6d3f752da4120f593d7007222ca2 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Thu, 18 Apr 2024 15:59:26 +0100 +Subject: [PATCH] kern/dl: Fix for an integer overflow in grub_dl_ref() + +It was possible to overflow the value of mod->ref_count, a signed +integer, by repeatedly invoking insmod on an already loaded module. +This led to a use-after-free. As once ref_count was overflowed it became +possible to unload the module while there was still references to it. + +This resolves the issue by using grub_add() to check if the ref_count +will overflow and then stops further increments. Further changes were +also made to grub_dl_unref() to check for the underflow condition and +the reference count was changed to an unsigned 64-bit integer. + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: 500e5fdd82ca40412b0b73f5e5dda38e4a3af96d +Signed-off-by: Thomas Petazzoni +--- + grub-core/commands/minicmd.c | 2 +- + grub-core/kern/dl.c | 17 ++++++++++++----- + include/grub/dl.h | 8 ++++---- + util/misc.c | 4 ++-- + 4 files changed, 19 insertions(+), 12 deletions(-) + +diff --git a/grub-core/commands/minicmd.c b/grub-core/commands/minicmd.c +index fa498931e..286290866 100644 +--- a/grub-core/commands/minicmd.c ++++ b/grub-core/commands/minicmd.c +@@ -167,7 +167,7 @@ grub_mini_cmd_lsmod (struct grub_command *cmd __attribute__ ((unused)), + { + grub_dl_dep_t dep; + +- grub_printf ("%s\t%d\t\t", mod->name, mod->ref_count); ++ grub_printf ("%s\t%" PRIuGRUB_UINT64_T "\t\t", mod->name, mod->ref_count); + for (dep = mod->dep; dep; dep = dep->next) + { + if (dep != mod->dep) +diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c +index 0bf40caa6..1a38742e6 100644 +--- a/grub-core/kern/dl.c ++++ b/grub-core/kern/dl.c +@@ -32,6 +32,7 @@ + #include + #include + #include ++#include + + /* Platforms where modules are in a readonly area of memory. */ + #if defined(GRUB_MACHINE_QEMU) +@@ -532,7 +533,7 @@ grub_dl_resolve_dependencies (grub_dl_t mod, Elf_Ehdr *e) + return GRUB_ERR_NONE; + } + +-int ++grub_uint64_t + grub_dl_ref (grub_dl_t mod) + { + grub_dl_dep_t dep; +@@ -543,10 +544,13 @@ grub_dl_ref (grub_dl_t mod) + for (dep = mod->dep; dep; dep = dep->next) + grub_dl_ref (dep->mod); + +- return ++mod->ref_count; ++ if (grub_add (mod->ref_count, 1, &mod->ref_count)) ++ grub_fatal ("Module reference count overflow"); ++ ++ return mod->ref_count; + } + +-int ++grub_uint64_t + grub_dl_unref (grub_dl_t mod) + { + grub_dl_dep_t dep; +@@ -557,10 +561,13 @@ grub_dl_unref (grub_dl_t mod) + for (dep = mod->dep; dep; dep = dep->next) + grub_dl_unref (dep->mod); + +- return --mod->ref_count; ++ if (grub_sub (mod->ref_count, 1, &mod->ref_count)) ++ grub_fatal ("Module reference count underflow"); ++ ++ return mod->ref_count; + } + +-int ++grub_uint64_t + grub_dl_ref_count (grub_dl_t mod) + { + if (mod == NULL) +diff --git a/include/grub/dl.h b/include/grub/dl.h +index cd1f46c8b..f0a94e273 100644 +--- a/include/grub/dl.h ++++ b/include/grub/dl.h +@@ -174,7 +174,7 @@ typedef struct grub_dl_dep *grub_dl_dep_t; + struct grub_dl + { + char *name; +- int ref_count; ++ grub_uint64_t ref_count; + int persistent; + grub_dl_dep_t dep; + grub_dl_segment_t segment; +@@ -203,9 +203,9 @@ grub_dl_t EXPORT_FUNC(grub_dl_load) (const char *name); + grub_dl_t grub_dl_load_core (void *addr, grub_size_t size); + grub_dl_t EXPORT_FUNC(grub_dl_load_core_noinit) (void *addr, grub_size_t size); + int EXPORT_FUNC(grub_dl_unload) (grub_dl_t mod); +-extern int EXPORT_FUNC(grub_dl_ref) (grub_dl_t mod); +-extern int EXPORT_FUNC(grub_dl_unref) (grub_dl_t mod); +-extern int EXPORT_FUNC(grub_dl_ref_count) (grub_dl_t mod); ++extern grub_uint64_t EXPORT_FUNC(grub_dl_ref) (grub_dl_t mod); ++extern grub_uint64_t EXPORT_FUNC(grub_dl_unref) (grub_dl_t mod); ++extern grub_uint64_t EXPORT_FUNC(grub_dl_ref_count) (grub_dl_t mod); + + extern grub_dl_t EXPORT_VAR(grub_dl_head); + +diff --git a/util/misc.c b/util/misc.c +index d545212d9..0f928e5b4 100644 +--- a/util/misc.c ++++ b/util/misc.c +@@ -190,14 +190,14 @@ grub_xputs_real (const char *str) + + void (*grub_xputs) (const char *str) = grub_xputs_real; + +-int ++grub_uint64_t + grub_dl_ref (grub_dl_t mod) + { + (void) mod; + return 0; + } + +-int ++grub_uint64_t + grub_dl_unref (grub_dl_t mod) + { + (void) mod; +-- +2.50.1 + diff --git a/boot/grub2/0030-kern-dl-Check-for-the-SHF_INFO_LINK-flag-in-grub_dl_.patch b/boot/grub2/0030-kern-dl-Check-for-the-SHF_INFO_LINK-flag-in-grub_dl_.patch new file mode 100644 index 00000000000..9ca04547d47 --- /dev/null +++ b/boot/grub2/0030-kern-dl-Check-for-the-SHF_INFO_LINK-flag-in-grub_dl_.patch @@ -0,0 +1,46 @@ +From 91c2e44d3d29d11b339bec954142521148924ed1 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Thu, 7 Nov 2024 06:00:36 +0000 +Subject: [PATCH] kern/dl: Check for the SHF_INFO_LINK flag in + grub_dl_relocate_symbols() + +The grub_dl_relocate_symbols() iterates through the sections in +an ELF looking for relocation sections. According to the spec [1] +the SHF_INFO_LINK flag should be set if the sh_info field is meant +to be a section index. + +[1] https://refspecs.linuxbase.org/elf/gabi4+/ch4.sheader.html + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper + +Conflicts: + grub-core/kern/dl.c + +Conflicts: + grub-core/kern/dl.c + +Upstream: 98ad84328dcabfa603dcf5bd217570aa6b4bdd99 +Signed-off-by: Thomas Petazzoni +--- + grub-core/kern/dl.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c +index 1a38742e6..958de3bf1 100644 +--- a/grub-core/kern/dl.c ++++ b/grub-core/kern/dl.c +@@ -599,6 +599,9 @@ grub_dl_relocate_symbols (grub_dl_t mod, void *ehdr) + grub_dl_segment_t seg; + grub_err_t err; + ++ if (!(s->sh_flags & SHF_INFO_LINK)) ++ continue; ++ + /* Find the target segment. */ + for (seg = mod->segment; seg; seg = seg->next) + if (seg->section == s->sh_info) +-- +2.50.1 + diff --git a/boot/grub2/0031-commands-extcmd-Missing-check-for-failed-allocation.patch b/boot/grub2/0031-commands-extcmd-Missing-check-for-failed-allocation.patch new file mode 100644 index 00000000000..8a1cdd867dc --- /dev/null +++ b/boot/grub2/0031-commands-extcmd-Missing-check-for-failed-allocation.patch @@ -0,0 +1,39 @@ +From 239a16a303228574f61a82c6fbb041688dff65d0 Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Fri, 22 Nov 2024 06:27:55 +0000 +Subject: [PATCH] commands/extcmd: Missing check for failed allocation + +The grub_extcmd_dispatcher() calls grub_arg_list_alloc() to allocate +a grub_arg_list struct but it does not verify the allocation was successful. +In case of failed allocation the NULL state pointer can be accessed in +parse_option() through grub_arg_parse() which may lead to a security issue. + +Fixes: CVE-2024-45775 + +Reported-by: Nils Langius +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper +Reviewed-by: Alec Brown +Upstream: 05be856a8c3aae41f5df90cab7796ab7ee34b872 +Signed-off-by: Thomas Petazzoni +--- + grub-core/commands/extcmd.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/grub-core/commands/extcmd.c b/grub-core/commands/extcmd.c +index 90a5ca24a..c236be13a 100644 +--- a/grub-core/commands/extcmd.c ++++ b/grub-core/commands/extcmd.c +@@ -49,6 +49,9 @@ grub_extcmd_dispatcher (struct grub_command *cmd, int argc, char **args, + } + + state = grub_arg_list_alloc (ext, argc, args); ++ if (state == NULL) ++ return grub_errno; ++ + if (grub_arg_parse (ext, argc, args, state, &new_args, &new_argc)) + { + context.state = state; +-- +2.50.1 + diff --git a/boot/grub2/0032-commands-ls-Fix-NULL-dereference.patch b/boot/grub2/0032-commands-ls-Fix-NULL-dereference.patch new file mode 100644 index 00000000000..48b03e74f45 --- /dev/null +++ b/boot/grub2/0032-commands-ls-Fix-NULL-dereference.patch @@ -0,0 +1,37 @@ +From 322d82364cc0db30b1ae4fc0adfdf7a43adc91ef Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Sun, 12 May 2024 11:08:23 +0100 +Subject: [PATCH] commands/ls: Fix NULL dereference + +The grub_strrchr() may return NULL when the dirname do not contain "/". +This can happen on broken filesystems. + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: 0bf56bce47489c059e50e61a3db7f682d8c44b56 +Signed-off-by: Thomas Petazzoni +--- + grub-core/commands/ls.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/grub-core/commands/ls.c b/grub-core/commands/ls.c +index 6a1c7f5d3..f660946a2 100644 +--- a/grub-core/commands/ls.c ++++ b/grub-core/commands/ls.c +@@ -241,7 +241,11 @@ grub_ls_list_files (char *dirname, int longlist, int all, int human) + + grub_file_close (file); + +- p = grub_strrchr (dirname, '/') + 1; ++ p = grub_strrchr (dirname, '/'); ++ if (p == NULL) ++ goto fail; ++ ++p; ++ + ctx.dirname = grub_strndup (dirname, p - dirname); + if (ctx.dirname == NULL) + goto fail; +-- +2.50.1 + diff --git a/boot/grub2/0033-commands-pgp-Unregister-the-check_signatures-hooks-o.patch b/boot/grub2/0033-commands-pgp-Unregister-the-check_signatures-hooks-o.patch new file mode 100644 index 00000000000..6bfc0dd7c3a --- /dev/null +++ b/boot/grub2/0033-commands-pgp-Unregister-the-check_signatures-hooks-o.patch @@ -0,0 +1,36 @@ +From c05c4d591ef5f21fefd95fc928fe123a12f2bfb0 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Fri, 1 Nov 2024 19:24:29 +0000 +Subject: [PATCH] commands/pgp: Unregister the "check_signatures" hooks on + module unload + +If the hooks are not removed they can be called after the module has +been unloaded leading to an use-after-free. + +Fixes: CVE-2025-0622 + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: 2123c5bca7e21fbeb0263df4597ddd7054700726 +Signed-off-by: Thomas Petazzoni +--- + grub-core/commands/pgp.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/grub-core/commands/pgp.c b/grub-core/commands/pgp.c +index c6766f044..5fadc33c4 100644 +--- a/grub-core/commands/pgp.c ++++ b/grub-core/commands/pgp.c +@@ -1010,6 +1010,8 @@ GRUB_MOD_INIT(pgp) + + GRUB_MOD_FINI(pgp) + { ++ grub_register_variable_hook ("check_signatures", NULL, NULL); ++ grub_env_unset ("check_signatures"); + grub_verifier_unregister (&grub_pubkey_verifier); + grub_unregister_extcmd (cmd); + grub_unregister_extcmd (cmd_trust); +-- +2.50.1 + diff --git a/boot/grub2/0034-normal-Remove-variables-hooks-on-module-unload.patch b/boot/grub2/0034-normal-Remove-variables-hooks-on-module-unload.patch new file mode 100644 index 00000000000..a2028ad6c05 --- /dev/null +++ b/boot/grub2/0034-normal-Remove-variables-hooks-on-module-unload.patch @@ -0,0 +1,42 @@ +From 6290cc499f0fcaa82b3764cf1d9beb2ff27d82a1 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Fri, 1 Nov 2024 23:46:55 +0000 +Subject: [PATCH] normal: Remove variables hooks on module unload + +The normal module does not entirely cleanup after itself in +its GRUB_MOD_FINI() leaving a few variables hooks in place. +It is not possible to unload normal module now but fix the +issues for completeness. + +On the occasion replace 0s with NULLs for "pager" variable +hooks unregister. + +Fixes: CVE-2025-0622 + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: 9c16197734ada8d0838407eebe081117799bfe67 +Signed-off-by: Thomas Petazzoni +--- + grub-core/normal/main.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c +index 3b48cd333..5d848c864 100644 +--- a/grub-core/normal/main.c ++++ b/grub-core/normal/main.c +@@ -582,7 +582,9 @@ GRUB_MOD_FINI(normal) + grub_xputs = grub_xputs_saved; + + grub_set_history (0); +- grub_register_variable_hook ("pager", 0, 0); ++ grub_register_variable_hook ("pager", NULL, NULL); ++ grub_register_variable_hook ("color_normal", NULL, NULL); ++ grub_register_variable_hook ("color_highlight", NULL, NULL); + grub_fs_autoload_hook = 0; + grub_unregister_command (cmd_clear); + } +-- +2.50.1 + diff --git a/boot/grub2/0035-gettext-Remove-variables-hooks-on-module-unload.patch b/boot/grub2/0035-gettext-Remove-variables-hooks-on-module-unload.patch new file mode 100644 index 00000000000..caf9764131f --- /dev/null +++ b/boot/grub2/0035-gettext-Remove-variables-hooks-on-module-unload.patch @@ -0,0 +1,39 @@ +From 69e0cb299c479e01e1c13a032172d29293db8e69 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Fri, 1 Nov 2024 23:52:06 +0000 +Subject: [PATCH] gettext: Remove variables hooks on module unload + +The gettext module does not entirely cleanup after itself in +its GRUB_MOD_FINI() leaving a few variables hooks in place. +It is not possible to unload gettext module because normal +module depends on it. Though fix the issues for completeness. + +Fixes: CVE-2025-0622 + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: 7580addfc8c94cedb0cdfd7a1fd65b539215e637 +Signed-off-by: Thomas Petazzoni +--- + grub-core/gettext/gettext.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/grub-core/gettext/gettext.c b/grub-core/gettext/gettext.c +index 7a1c14e4f..e4f4f8ee6 100644 +--- a/grub-core/gettext/gettext.c ++++ b/grub-core/gettext/gettext.c +@@ -535,6 +535,10 @@ GRUB_MOD_INIT (gettext) + + GRUB_MOD_FINI (gettext) + { ++ grub_register_variable_hook ("locale_dir", NULL, NULL); ++ grub_register_variable_hook ("secondary_locale_dir", NULL, NULL); ++ grub_register_variable_hook ("lang", NULL, NULL); ++ + grub_gettext_delete_list (&main_context); + grub_gettext_delete_list (&secondary_context); + +-- +2.50.1 + diff --git a/boot/grub2/0036-gettext-Integer-overflow-leads-to-heap-OOB-write-or-.patch b/boot/grub2/0036-gettext-Integer-overflow-leads-to-heap-OOB-write-or-.patch new file mode 100644 index 00000000000..84d2fd9bc84 --- /dev/null +++ b/boot/grub2/0036-gettext-Integer-overflow-leads-to-heap-OOB-write-or-.patch @@ -0,0 +1,40 @@ +From 31b3e24947c6dbb65ea2eca30ddd168dc47513ce Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Fri, 22 Nov 2024 06:27:56 +0000 +Subject: [PATCH] gettext: Integer overflow leads to heap OOB write or read + +Calculation of ctx->grub_gettext_msg_list size in grub_mofile_open() may +overflow leading to subsequent OOB write or read. This patch fixes the +issue by replacing grub_zalloc() and explicit multiplication with +grub_calloc() which does the same thing in safe manner. + +Fixes: CVE-2024-45776 + +Reported-by: Nils Langius +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper +Reviewed-by: Alec Brown +Upstream: 09bd6eb58b0f71ec273916070fa1e2de16897a91 +Signed-off-by: Thomas Petazzoni +--- + grub-core/gettext/gettext.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/grub-core/gettext/gettext.c b/grub-core/gettext/gettext.c +index e4f4f8ee6..63bb1ab73 100644 +--- a/grub-core/gettext/gettext.c ++++ b/grub-core/gettext/gettext.c +@@ -323,8 +323,8 @@ grub_mofile_open (struct grub_gettext_context *ctx, + for (ctx->grub_gettext_max_log = 0; ctx->grub_gettext_max >> ctx->grub_gettext_max_log; + ctx->grub_gettext_max_log++); + +- ctx->grub_gettext_msg_list = grub_zalloc (ctx->grub_gettext_max +- * sizeof (ctx->grub_gettext_msg_list[0])); ++ ctx->grub_gettext_msg_list = grub_calloc (ctx->grub_gettext_max, ++ sizeof (ctx->grub_gettext_msg_list[0])); + if (!ctx->grub_gettext_msg_list) + { + grub_file_close (fd); +-- +2.50.1 + diff --git a/boot/grub2/0037-gettext-Integer-overflow-leads-to-heap-OOB-write.patch b/boot/grub2/0037-gettext-Integer-overflow-leads-to-heap-OOB-write.patch new file mode 100644 index 00000000000..b9638caabbb --- /dev/null +++ b/boot/grub2/0037-gettext-Integer-overflow-leads-to-heap-OOB-write.patch @@ -0,0 +1,58 @@ +From dfe673e457e9eb5c7c0c68d8385ba176476de7d7 Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Fri, 22 Nov 2024 06:27:57 +0000 +Subject: [PATCH] gettext: Integer overflow leads to heap OOB write + +The size calculation of the translation buffer in +grub_gettext_getstr_from_position() may overflow +to 0 leading to heap OOB write. This patch fixes +the issue by using grub_add() and checking for +an overflow. + +CVE: CVE-2024-45777 + +Reported-by: Nils Langius +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper +Reviewed-by: Alec Brown +Upstream: b970a5ed967816bbca8225994cd0ee2557bad515 +Signed-off-by: Thomas Petazzoni +--- + grub-core/gettext/gettext.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/grub-core/gettext/gettext.c b/grub-core/gettext/gettext.c +index 63bb1ab73..9ffc73428 100644 +--- a/grub-core/gettext/gettext.c ++++ b/grub-core/gettext/gettext.c +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -99,6 +100,7 @@ grub_gettext_getstr_from_position (struct grub_gettext_context *ctx, + char *translation; + struct string_descriptor desc; + grub_err_t err; ++ grub_size_t alloc_sz; + + internal_position = (off + position * sizeof (desc)); + +@@ -109,7 +111,10 @@ grub_gettext_getstr_from_position (struct grub_gettext_context *ctx, + length = grub_cpu_to_le32 (desc.length); + offset = grub_cpu_to_le32 (desc.offset); + +- translation = grub_malloc (length + 1); ++ if (grub_add (length, 1, &alloc_sz)) ++ return NULL; ++ ++ translation = grub_malloc (alloc_sz); + if (!translation) + return NULL; + +-- +2.50.1 + diff --git a/boot/grub2/0038-commands-read-Fix-an-integer-overflow-when-supplying.patch b/boot/grub2/0038-commands-read-Fix-an-integer-overflow-when-supplying.patch new file mode 100644 index 00000000000..c3e1d8b5bf2 --- /dev/null +++ b/boot/grub2/0038-commands-read-Fix-an-integer-overflow-when-supplying.patch @@ -0,0 +1,74 @@ +From 762eda67c7b0e83011040d5dbcc2ddc9a03b90cd Mon Sep 17 00:00:00 2001 +From: Jonathan Bar Or +Date: Thu, 23 Jan 2025 19:17:05 +0100 +Subject: [PATCH] commands/read: Fix an integer overflow when supplying more + than 2^31 characters + +The grub_getline() function currently has a signed integer variable "i" +that can be overflown when user supplies more than 2^31 characters. +It results in a memory corruption of the allocated line buffer as well +as supplying large negative values to grub_realloc(). + +Fixes: CVE-2025-0690 + +Reported-by: Jonathan Bar Or +Signed-off-by: Jonathan Bar Or +Reviewed-by: Daniel Kiper +Upstream: dad8f502974ed9ad0a70ae6820d17b4b142558fc +Signed-off-by: Thomas Petazzoni +--- + grub-core/commands/read.c | 19 +++++++++++++++---- + 1 file changed, 15 insertions(+), 4 deletions(-) + +diff --git a/grub-core/commands/read.c b/grub-core/commands/read.c +index 597c90706..8d72e45c9 100644 +--- a/grub-core/commands/read.c ++++ b/grub-core/commands/read.c +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -37,13 +38,14 @@ static const struct grub_arg_option options[] = + static char * + grub_getline (int silent) + { +- int i; ++ grub_size_t i; + char *line; + char *tmp; + int c; ++ grub_size_t alloc_size; + + i = 0; +- line = grub_malloc (1 + i + sizeof('\0')); ++ line = grub_malloc (1 + sizeof('\0')); + if (! line) + return NULL; + +@@ -59,8 +61,17 @@ grub_getline (int silent) + line[i] = (char) c; + if (!silent) + grub_printf ("%c", c); +- i++; +- tmp = grub_realloc (line, 1 + i + sizeof('\0')); ++ if (grub_add (i, 1, &i)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected")); ++ return NULL; ++ } ++ if (grub_add (i, 1 + sizeof('\0'), &alloc_size)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected")); ++ return NULL; ++ } ++ tmp = grub_realloc (line, alloc_size); + if (! tmp) + { + grub_free (line); +-- +2.50.1 + diff --git a/boot/grub2/0039-commands-test-Stack-overflow-due-to-unlimited-recurs.patch b/boot/grub2/0039-commands-test-Stack-overflow-due-to-unlimited-recurs.patch new file mode 100644 index 00000000000..73675cc3d9b --- /dev/null +++ b/boot/grub2/0039-commands-test-Stack-overflow-due-to-unlimited-recurs.patch @@ -0,0 +1,88 @@ +From 926fe49003b6b46d595d5900893c8ca79710bbd2 Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Mon, 16 Dec 2024 20:22:41 +0000 +Subject: [PATCH] commands/test: Stack overflow due to unlimited recursion + depth + +The test_parse() evaluates test expression recursively. Due to lack of +recursion depth check a specially crafted expression may cause a stack +overflow. The recursion is only triggered by the parentheses usage and +it can be unlimited. However, sensible expressions are unlikely to +contain more than a few parentheses. So, this patch limits the recursion +depth to 100, which should be sufficient. + +Reported-by: Nils Langius +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper +Upstream: c68b7d23628a19da67ebe2e06f84165ee04961af +Signed-off-by: Thomas Petazzoni +--- + grub-core/commands/test.c | 21 ++++++++++++++++++--- + 1 file changed, 18 insertions(+), 3 deletions(-) + +diff --git a/grub-core/commands/test.c b/grub-core/commands/test.c +index 62d3fb398..b585c3d70 100644 +--- a/grub-core/commands/test.c ++++ b/grub-core/commands/test.c +@@ -29,6 +29,9 @@ + + GRUB_MOD_LICENSE ("GPLv3+"); + ++/* Set a limit on recursion to avoid stack overflow. */ ++#define MAX_TEST_RECURSION_DEPTH 100 ++ + /* A simple implementation for signed numbers. */ + static int + grub_strtosl (char *arg, const char ** const end, int base) +@@ -150,7 +153,7 @@ get_fileinfo (char *path, struct test_parse_ctx *ctx) + + /* Parse a test expression starting from *argn. */ + static int +-test_parse (char **args, int *argn, int argc) ++test_parse (char **args, int *argn, int argc, int *depth) + { + struct test_parse_ctx ctx = { + .and = 1, +@@ -387,13 +390,24 @@ test_parse (char **args, int *argn, int argc) + if (grub_strcmp (args[*argn], ")") == 0) + { + (*argn)++; ++ if (*depth > 0) ++ (*depth)--; ++ + return ctx.or || ctx.and; + } + /* Recursively invoke if parenthesis. */ + if (grub_strcmp (args[*argn], "(") == 0) + { + (*argn)++; +- update_val (test_parse (args, argn, argc), &ctx); ++ ++ if (++(*depth) > MAX_TEST_RECURSION_DEPTH) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("max recursion depth exceeded")); ++ depth--; ++ return ctx.or || ctx.and; ++ } ++ ++ update_val (test_parse (args, argn, argc, depth), &ctx); + continue; + } + +@@ -428,11 +442,12 @@ grub_cmd_test (grub_command_t cmd __attribute__ ((unused)), + int argc, char **args) + { + int argn = 0; ++ int depth = 0; + + if (argc >= 1 && grub_strcmp (args[argc - 1], "]") == 0) + argc--; + +- return test_parse (args, &argn, argc) ? GRUB_ERR_NONE ++ return test_parse (args, &argn, argc, &depth) ? GRUB_ERR_NONE + : grub_error (GRUB_ERR_TEST_FAILURE, N_("false")); + } + +-- +2.50.1 + diff --git a/boot/grub2/0040-commands-minicmd-Block-the-dump-command-in-lockdown-.patch b/boot/grub2/0040-commands-minicmd-Block-the-dump-command-in-lockdown-.patch new file mode 100644 index 00000000000..23e02cfa1a8 --- /dev/null +++ b/boot/grub2/0040-commands-minicmd-Block-the-dump-command-in-lockdown-.patch @@ -0,0 +1,38 @@ +From 2864e6ca7ac492d5215c369a6a52a57c6e602f55 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Thu, 18 Apr 2024 20:29:39 +0100 +Subject: [PATCH] commands/minicmd: Block the dump command in lockdown mode + +The dump enables a user to read memory which should not be possible +in lockdown mode. + +Fixes: CVE-2025-1118 + +Reported-by: B Horn +Reported-by: Jonathan Bar Or +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: 34824806ac6302f91e8cabaa41308eaced25725f +Signed-off-by: Thomas Petazzoni +--- + grub-core/commands/minicmd.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/grub-core/commands/minicmd.c b/grub-core/commands/minicmd.c +index 286290866..8c5ee3e60 100644 +--- a/grub-core/commands/minicmd.c ++++ b/grub-core/commands/minicmd.c +@@ -203,8 +203,8 @@ GRUB_MOD_INIT(minicmd) + grub_register_command ("help", grub_mini_cmd_help, + 0, N_("Show this message.")); + cmd_dump = +- grub_register_command ("dump", grub_mini_cmd_dump, +- N_("ADDR [SIZE]"), N_("Show memory contents.")); ++ grub_register_command_lockdown ("dump", grub_mini_cmd_dump, ++ N_("ADDR [SIZE]"), N_("Show memory contents.")); + cmd_rmmod = + grub_register_command ("rmmod", grub_mini_cmd_rmmod, + N_("MODULE"), N_("Remove a module.")); +-- +2.50.1 + diff --git a/boot/grub2/0041-commands-memrw-Disable-memory-reading-in-lockdown-mo.patch b/boot/grub2/0041-commands-memrw-Disable-memory-reading-in-lockdown-mo.patch new file mode 100644 index 00000000000..968a42f4f96 --- /dev/null +++ b/boot/grub2/0041-commands-memrw-Disable-memory-reading-in-lockdown-mo.patch @@ -0,0 +1,55 @@ +From 51c3e37bb23b3ce1919f3ff582cb31fc32a10b4b Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Thu, 18 Apr 2024 20:37:10 +0100 +Subject: [PATCH] commands/memrw: Disable memory reading in lockdown mode + +With the rest of module being blocked in lockdown mode it does not make +a lot of sense to leave memory reading enabled. This also goes in par +with disabling the dump command. + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: 340e4d058f584534f4b90b7dbea2b64a9f8c418c +Signed-off-by: Thomas Petazzoni +--- + grub-core/commands/memrw.c | 21 ++++++++++++--------- + 1 file changed, 12 insertions(+), 9 deletions(-) + +diff --git a/grub-core/commands/memrw.c b/grub-core/commands/memrw.c +index d401a6db0..3542683d1 100644 +--- a/grub-core/commands/memrw.c ++++ b/grub-core/commands/memrw.c +@@ -122,17 +122,20 @@ grub_cmd_write (grub_command_t cmd, int argc, char **argv) + GRUB_MOD_INIT(memrw) + { + cmd_read_byte = +- grub_register_extcmd ("read_byte", grub_cmd_read, 0, +- N_("ADDR"), N_("Read 8-bit value from ADDR."), +- options); ++ grub_register_extcmd_lockdown ("read_byte", grub_cmd_read, 0, ++ N_("ADDR"), ++ N_("Read 8-bit value from ADDR."), ++ options); + cmd_read_word = +- grub_register_extcmd ("read_word", grub_cmd_read, 0, +- N_("ADDR"), N_("Read 16-bit value from ADDR."), +- options); ++ grub_register_extcmd_lockdown ("read_word", grub_cmd_read, 0, ++ N_("ADDR"), ++ N_("Read 16-bit value from ADDR."), ++ options); + cmd_read_dword = +- grub_register_extcmd ("read_dword", grub_cmd_read, 0, +- N_("ADDR"), N_("Read 32-bit value from ADDR."), +- options); ++ grub_register_extcmd_lockdown ("read_dword", grub_cmd_read, 0, ++ N_("ADDR"), ++ N_("Read 32-bit value from ADDR."), ++ options); + cmd_write_byte = + grub_register_command_lockdown ("write_byte", grub_cmd_write, + N_("ADDR VALUE [MASK]"), +-- +2.50.1 + diff --git a/boot/grub2/0042-commands-hexdump-Disable-memory-reading-in-lockdown-.patch b/boot/grub2/0042-commands-hexdump-Disable-memory-reading-in-lockdown-.patch new file mode 100644 index 00000000000..fcced2b3b85 --- /dev/null +++ b/boot/grub2/0042-commands-hexdump-Disable-memory-reading-in-lockdown-.patch @@ -0,0 +1,42 @@ +From d5028a608b21c6fa6ff02e4d84a96ab28034d170 Mon Sep 17 00:00:00 2001 +From: B Horn +Date: Fri, 19 Apr 2024 22:31:45 +0100 +Subject: [PATCH] commands/hexdump: Disable memory reading in lockdown mode + +Reported-by: B Horn +Signed-off-by: B Horn +Reviewed-by: Daniel Kiper +Upstream: 5f31164aed51f498957cdd6ed733ec71a8592c99 +Signed-off-by: Thomas Petazzoni +--- + grub-core/commands/hexdump.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/grub-core/commands/hexdump.c b/grub-core/commands/hexdump.c +index eaa12465b..d6f61d98a 100644 +--- a/grub-core/commands/hexdump.c ++++ b/grub-core/commands/hexdump.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -51,7 +52,11 @@ grub_cmd_hexdump (grub_extcmd_context_t ctxt, int argc, char **args) + length = (state[1].set) ? grub_strtoul (state[1].arg, 0, 0) : 256; + + if (!grub_strcmp (args[0], "(mem)")) +- hexdump (skip, (char *) (grub_addr_t) skip, length); ++ { ++ if (grub_is_lockdown() == GRUB_LOCKDOWN_ENABLED) ++ return grub_error (GRUB_ERR_ACCESS_DENIED, N_("memory reading is disabled in lockdown mode")); ++ hexdump (skip, (char *) (grub_addr_t) skip, length); ++ } + else if ((args[0][0] == '(') && (args[0][namelen - 1] == ')')) + { + grub_disk_t disk; +-- +2.50.1 + diff --git a/boot/grub2/0043-fs-bfs-Disable-under-lockdown.patch b/boot/grub2/0043-fs-bfs-Disable-under-lockdown.patch new file mode 100644 index 00000000000..75982544969 --- /dev/null +++ b/boot/grub2/0043-fs-bfs-Disable-under-lockdown.patch @@ -0,0 +1,57 @@ +From 71487b0cf0f7c3fa45f450ed1f3ea4cedd8002a1 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Sat, 23 Mar 2024 15:59:43 +1100 +Subject: [PATCH] fs/bfs: Disable under lockdown + +The BFS is not fuzz-clean. Don't allow it to be loaded under lockdown. +This will also disable the AFS. + +CVE: CVE-2024-45778 +CVE: CVE-2024-45779 + +Reported-by: Nils Langius +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Upstream: 26db6605036bd9e5b16d9068a8cc75be63b8b630 +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/bfs.c | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +diff --git a/grub-core/fs/bfs.c b/grub-core/fs/bfs.c +index f37b16895..c92fd7916 100644 +--- a/grub-core/fs/bfs.c ++++ b/grub-core/fs/bfs.c +@@ -30,6 +30,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -1106,8 +1107,11 @@ GRUB_MOD_INIT (bfs) + { + COMPILE_TIME_ASSERT (1 << LOG_EXTENT_SIZE == + sizeof (struct grub_bfs_extent)); +- grub_bfs_fs.mod = mod; +- grub_fs_register (&grub_bfs_fs); ++ if (!grub_is_lockdown ()) ++ { ++ grub_bfs_fs.mod = mod; ++ grub_fs_register (&grub_bfs_fs); ++ } + } + + #ifdef MODE_AFS +@@ -1116,5 +1120,6 @@ GRUB_MOD_FINI (afs) + GRUB_MOD_FINI (bfs) + #endif + { +- grub_fs_unregister (&grub_bfs_fs); ++ if (!grub_is_lockdown ()) ++ grub_fs_unregister (&grub_bfs_fs); + } +-- +2.50.1 + diff --git a/boot/grub2/0044-fs-Disable-many-filesystems-under-lockdown.patch b/boot/grub2/0044-fs-Disable-many-filesystems-under-lockdown.patch new file mode 100644 index 00000000000..778903533de --- /dev/null +++ b/boot/grub2/0044-fs-Disable-many-filesystems-under-lockdown.patch @@ -0,0 +1,396 @@ +From f0846530aef66583064a6707430437912dda5fa9 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Sat, 23 Mar 2024 16:20:45 +1100 +Subject: [PATCH] fs: Disable many filesystems under lockdown + +The idea is to permit the following: btrfs, cpio, exfat, ext, f2fs, fat, +hfsplus, iso9660, squash4, tar, xfs and zfs. + +The JFS, ReiserFS, romfs, UDF and UFS security vulnerabilities were +reported by Jonathan Bar Or . + +CVE: CVE-2025-0677 +CVE: CVE-2025-0684 +CVE: CVE-2025-0685 +CVE: CVE-2025-0686 +CVE: CVE-2025-0689 + +Suggested-by: Daniel Axtens +Signed-off-by: Daniel Axtens +Reviewed-by: Daniel Kiper +Upstream: c4bc55da28543d2522a939ba4ee0acde45f2fa74 +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/affs.c | 11 ++++++++--- + grub-core/fs/cbfs.c | 11 ++++++++--- + grub-core/fs/jfs.c | 11 ++++++++--- + grub-core/fs/minix.c | 11 ++++++++--- + grub-core/fs/nilfs2.c | 11 ++++++++--- + grub-core/fs/ntfs.c | 11 ++++++++--- + grub-core/fs/reiserfs.c | 11 ++++++++--- + grub-core/fs/romfs.c | 11 ++++++++--- + grub-core/fs/sfs.c | 11 ++++++++--- + grub-core/fs/udf.c | 11 ++++++++--- + grub-core/fs/ufs.c | 11 ++++++++--- + 11 files changed, 88 insertions(+), 33 deletions(-) + +diff --git a/grub-core/fs/affs.c b/grub-core/fs/affs.c +index 9b0afb954..520a001c7 100644 +--- a/grub-core/fs/affs.c ++++ b/grub-core/fs/affs.c +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -703,12 +704,16 @@ static struct grub_fs grub_affs_fs = + + GRUB_MOD_INIT(affs) + { +- grub_affs_fs.mod = mod; +- grub_fs_register (&grub_affs_fs); ++ if (!grub_is_lockdown ()) ++ { ++ grub_affs_fs.mod = mod; ++ grub_fs_register (&grub_affs_fs); ++ } + my_mod = mod; + } + + GRUB_MOD_FINI(affs) + { +- grub_fs_unregister (&grub_affs_fs); ++ if (!grub_is_lockdown ()) ++ grub_fs_unregister (&grub_affs_fs); + } +diff --git a/grub-core/fs/cbfs.c b/grub-core/fs/cbfs.c +index 2332745fe..b62c8777c 100644 +--- a/grub-core/fs/cbfs.c ++++ b/grub-core/fs/cbfs.c +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -390,13 +391,17 @@ GRUB_MOD_INIT (cbfs) + #if (defined (__i386__) || defined (__x86_64__)) && !defined (GRUB_UTIL) && !defined (GRUB_MACHINE_EMU) && !defined (GRUB_MACHINE_XEN) + init_cbfsdisk (); + #endif +- grub_cbfs_fs.mod = mod; +- grub_fs_register (&grub_cbfs_fs); ++ if (!grub_is_lockdown ()) ++ { ++ grub_cbfs_fs.mod = mod; ++ grub_fs_register (&grub_cbfs_fs); ++ } + } + + GRUB_MOD_FINI (cbfs) + { +- grub_fs_unregister (&grub_cbfs_fs); ++ if (!grub_is_lockdown ()) ++ grub_fs_unregister (&grub_cbfs_fs); + #if (defined (__i386__) || defined (__x86_64__)) && !defined (GRUB_UTIL) && !defined (GRUB_MACHINE_EMU) && !defined (GRUB_MACHINE_XEN) + fini_cbfsdisk (); + #endif +diff --git a/grub-core/fs/jfs.c b/grub-core/fs/jfs.c +index b0283ac00..ab175c7f1 100644 +--- a/grub-core/fs/jfs.c ++++ b/grub-core/fs/jfs.c +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -1005,12 +1006,16 @@ static struct grub_fs grub_jfs_fs = + + GRUB_MOD_INIT(jfs) + { +- grub_jfs_fs.mod = mod; +- grub_fs_register (&grub_jfs_fs); ++ if (!grub_is_lockdown ()) ++ { ++ grub_jfs_fs.mod = mod; ++ grub_fs_register (&grub_jfs_fs); ++ } + my_mod = mod; + } + + GRUB_MOD_FINI(jfs) + { +- grub_fs_unregister (&grub_jfs_fs); ++ if (!grub_is_lockdown ()) ++ grub_fs_unregister (&grub_jfs_fs); + } +diff --git a/grub-core/fs/minix.c b/grub-core/fs/minix.c +index b7679c3e2..4440fcca8 100644 +--- a/grub-core/fs/minix.c ++++ b/grub-core/fs/minix.c +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -734,8 +735,11 @@ GRUB_MOD_INIT(minix) + #endif + #endif + { +- grub_minix_fs.mod = mod; +- grub_fs_register (&grub_minix_fs); ++ if (!grub_is_lockdown ()) ++ { ++ grub_minix_fs.mod = mod; ++ grub_fs_register (&grub_minix_fs); ++ } + my_mod = mod; + } + +@@ -757,5 +761,6 @@ GRUB_MOD_FINI(minix) + #endif + #endif + { +- grub_fs_unregister (&grub_minix_fs); ++ if (!grub_is_lockdown ()) ++ grub_fs_unregister (&grub_minix_fs); + } +diff --git a/grub-core/fs/nilfs2.c b/grub-core/fs/nilfs2.c +index 4e1e71738..26e6077ff 100644 +--- a/grub-core/fs/nilfs2.c ++++ b/grub-core/fs/nilfs2.c +@@ -34,6 +34,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -1231,12 +1232,16 @@ GRUB_MOD_INIT (nilfs2) + grub_nilfs2_dat_entry)); + COMPILE_TIME_ASSERT (1 << LOG_INODE_SIZE + == sizeof (struct grub_nilfs2_inode)); +- grub_nilfs2_fs.mod = mod; +- grub_fs_register (&grub_nilfs2_fs); ++ if (!grub_is_lockdown ()) ++ { ++ grub_nilfs2_fs.mod = mod; ++ grub_fs_register (&grub_nilfs2_fs); ++ } + my_mod = mod; + } + + GRUB_MOD_FINI (nilfs2) + { +- grub_fs_unregister (&grub_nilfs2_fs); ++ if (!grub_is_lockdown ()) ++ grub_fs_unregister (&grub_nilfs2_fs); + } +diff --git a/grub-core/fs/ntfs.c b/grub-core/fs/ntfs.c +index 560917dc2..bce81947c 100644 +--- a/grub-core/fs/ntfs.c ++++ b/grub-core/fs/ntfs.c +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -1320,12 +1321,16 @@ static struct grub_fs grub_ntfs_fs = + + GRUB_MOD_INIT (ntfs) + { +- grub_ntfs_fs.mod = mod; +- grub_fs_register (&grub_ntfs_fs); ++ if (!grub_is_lockdown ()) ++ { ++ grub_ntfs_fs.mod = mod; ++ grub_fs_register (&grub_ntfs_fs); ++ } + my_mod = mod; + } + + GRUB_MOD_FINI (ntfs) + { +- grub_fs_unregister (&grub_ntfs_fs); ++ if (!grub_is_lockdown ()) ++ grub_fs_unregister (&grub_ntfs_fs); + } +diff --git a/grub-core/fs/reiserfs.c b/grub-core/fs/reiserfs.c +index c3850e013..5d3c85950 100644 +--- a/grub-core/fs/reiserfs.c ++++ b/grub-core/fs/reiserfs.c +@@ -39,6 +39,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -1417,12 +1418,16 @@ static struct grub_fs grub_reiserfs_fs = + + GRUB_MOD_INIT(reiserfs) + { +- grub_reiserfs_fs.mod = mod; +- grub_fs_register (&grub_reiserfs_fs); ++ if (!grub_is_lockdown ()) ++ { ++ grub_reiserfs_fs.mod = mod; ++ grub_fs_register (&grub_reiserfs_fs); ++ } + my_mod = mod; + } + + GRUB_MOD_FINI(reiserfs) + { +- grub_fs_unregister (&grub_reiserfs_fs); ++ if (!grub_is_lockdown ()) ++ grub_fs_unregister (&grub_reiserfs_fs); + } +diff --git a/grub-core/fs/romfs.c b/grub-core/fs/romfs.c +index 56b0b2b2f..eafab03b2 100644 +--- a/grub-core/fs/romfs.c ++++ b/grub-core/fs/romfs.c +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -475,11 +476,15 @@ static struct grub_fs grub_romfs_fs = + + GRUB_MOD_INIT(romfs) + { +- grub_romfs_fs.mod = mod; +- grub_fs_register (&grub_romfs_fs); ++ if (!grub_is_lockdown ()) ++ { ++ grub_romfs_fs.mod = mod; ++ grub_fs_register (&grub_romfs_fs); ++ } + } + + GRUB_MOD_FINI(romfs) + { +- grub_fs_unregister (&grub_romfs_fs); ++ if (!grub_is_lockdown ()) ++ grub_fs_unregister (&grub_romfs_fs); + } +diff --git a/grub-core/fs/sfs.c b/grub-core/fs/sfs.c +index f0d7cac43..88705b3a2 100644 +--- a/grub-core/fs/sfs.c ++++ b/grub-core/fs/sfs.c +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + #include + + GRUB_MOD_LICENSE ("GPLv3+"); +@@ -779,12 +780,16 @@ static struct grub_fs grub_sfs_fs = + + GRUB_MOD_INIT(sfs) + { +- grub_sfs_fs.mod = mod; +- grub_fs_register (&grub_sfs_fs); ++ if (!grub_is_lockdown ()) ++ { ++ grub_sfs_fs.mod = mod; ++ grub_fs_register (&grub_sfs_fs); ++ } + my_mod = mod; + } + + GRUB_MOD_FINI(sfs) + { +- grub_fs_unregister (&grub_sfs_fs); ++ if (!grub_is_lockdown ()) ++ grub_fs_unregister (&grub_sfs_fs); + } +diff --git a/grub-core/fs/udf.c b/grub-core/fs/udf.c +index 8765c633c..3d5ee5af5 100644 +--- a/grub-core/fs/udf.c ++++ b/grub-core/fs/udf.c +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -1455,12 +1456,16 @@ static struct grub_fs grub_udf_fs = { + + GRUB_MOD_INIT (udf) + { +- grub_udf_fs.mod = mod; +- grub_fs_register (&grub_udf_fs); ++ if (!grub_is_lockdown ()) ++ { ++ grub_udf_fs.mod = mod; ++ grub_fs_register (&grub_udf_fs); ++ } + my_mod = mod; + } + + GRUB_MOD_FINI (udf) + { +- grub_fs_unregister (&grub_udf_fs); ++ if (!grub_is_lockdown ()) ++ grub_fs_unregister (&grub_udf_fs); + } +diff --git a/grub-core/fs/ufs.c b/grub-core/fs/ufs.c +index e82d9356d..8b5adbd48 100644 +--- a/grub-core/fs/ufs.c ++++ b/grub-core/fs/ufs.c +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -899,8 +900,11 @@ GRUB_MOD_INIT(ufs1) + #endif + #endif + { +- grub_ufs_fs.mod = mod; +- grub_fs_register (&grub_ufs_fs); ++ if (!grub_is_lockdown ()) ++ { ++ grub_ufs_fs.mod = mod; ++ grub_fs_register (&grub_ufs_fs); ++ } + my_mod = mod; + } + +@@ -914,6 +918,7 @@ GRUB_MOD_FINI(ufs1) + #endif + #endif + { +- grub_fs_unregister (&grub_ufs_fs); ++ if (!grub_is_lockdown ()) ++ grub_fs_unregister (&grub_ufs_fs); + } + +-- +2.50.1 + diff --git a/boot/grub2/0045-disk-Use-safe-math-macros-to-prevent-overflows.patch b/boot/grub2/0045-disk-Use-safe-math-macros-to-prevent-overflows.patch new file mode 100644 index 00000000000..3ddd168ad5e --- /dev/null +++ b/boot/grub2/0045-disk-Use-safe-math-macros-to-prevent-overflows.patch @@ -0,0 +1,551 @@ +From b6bdea00ea1a3d6b0b7551133279cbc7ff23bdf6 Mon Sep 17 00:00:00 2001 +From: Alec Brown +Date: Wed, 22 Jan 2025 02:55:09 +0000 +Subject: [PATCH] disk: Use safe math macros to prevent overflows + +Replace direct arithmetic operations with macros from include/grub/safemath.h +to prevent potential overflow issues when calculating the memory sizes. + +Signed-off-by: Alec Brown +Reviewed-by: Daniel Kiper + +Conflicts: + grub-core/disk/cryptodisk.c + +Upstream: c407724dad6c3e2fc1571e57adbda71cc03f82aa +Signed-off-by: Thomas Petazzoni +--- + grub-core/disk/cryptodisk.c | 36 ++++++++++++++----- + grub-core/disk/diskfilter.c | 9 +++-- + grub-core/disk/ieee1275/obdisk.c | 43 +++++++++++++++++++---- + grub-core/disk/ieee1275/ofdisk.c | 59 +++++++++++++++++++++++++++----- + grub-core/disk/ldm.c | 36 ++++++++++++++++--- + grub-core/disk/luks2.c | 7 +++- + grub-core/disk/memdisk.c | 7 +++- + grub-core/disk/plainmount.c | 9 +++-- + 8 files changed, 172 insertions(+), 34 deletions(-) + +diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c +index 2246af51b..6f7445665 100644 +--- a/grub-core/disk/cryptodisk.c ++++ b/grub-core/disk/cryptodisk.c +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + #ifdef GRUB_UTIL + #include +@@ -1473,7 +1474,7 @@ static char * + luks_script_get (grub_size_t *sz) + { + grub_cryptodisk_t i; +- grub_size_t size = 0; ++ grub_size_t size = 0, mul; + char *ptr, *ret; + + *sz = 0; +@@ -1482,10 +1483,6 @@ luks_script_get (grub_size_t *sz) + if (grub_strcmp (i->modname, "luks") == 0 || + grub_strcmp (i->modname, "luks2") == 0) + { +- size += grub_strlen (i->modname); +- size += sizeof ("_mount"); +- size += grub_strlen (i->uuid); +- size += grub_strlen (i->cipher->cipher->name); + /* + * Add space in the line for (in order) spaces, cipher mode, cipher IV + * mode, sector offset, sector size and the trailing newline. This is +@@ -1493,14 +1490,35 @@ luks_script_get (grub_size_t *sz) + * in an earlier version of this code that are unaccounted for. It is + * left in the calculations in case it is needed. At worst, its short- + * lived wasted space. ++ * ++ * 60 = 5 + 5 + 8 + 20 + 6 + 1 + 15 + */ +- size += 5 + 5 + 8 + 20 + 6 + 1 + 15; ++ if (grub_add (size, grub_strlen (i->modname), &size) || ++ grub_add (size, sizeof ("_mount") + 60, &size) || ++ grub_add (size, grub_strlen (i->uuid), &size) || ++ grub_add (size, grub_strlen (i->cipher->cipher->name), &size) || ++ grub_mul (i->keysize, 2, &mul) || ++ grub_add (size, mul, &size)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, "overflow detected while obtaining size of luks script"); ++ return 0; ++ } + if (i->essiv_hash) +- size += grub_strlen (i->essiv_hash->name); +- size += i->keysize * 2; ++ { ++ if (grub_add (size, grub_strlen (i->essiv_hash->name), &size)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, "overflow detected while obtaining size of luks script"); ++ return 0; ++ } ++ } + } ++ if (grub_add (size, 1, &size)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, "overflow detected while obtaining size of luks script"); ++ return 0; ++ } + +- ret = grub_malloc (size + 1); ++ ret = grub_malloc (size); + if (!ret) + return 0; + +diff --git a/grub-core/disk/diskfilter.c b/grub-core/disk/diskfilter.c +index 21e239511..de5a564d4 100644 +--- a/grub-core/disk/diskfilter.c ++++ b/grub-core/disk/diskfilter.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + #ifdef GRUB_UTIL + #include + #include +@@ -1039,7 +1040,7 @@ grub_diskfilter_make_raid (grub_size_t uuidlen, char *uuid, int nmemb, + { + struct grub_diskfilter_vg *array; + int i; +- grub_size_t j; ++ grub_size_t j, sz; + grub_uint64_t totsize; + struct grub_diskfilter_pv *pv; + grub_err_t err; +@@ -1140,7 +1141,11 @@ grub_diskfilter_make_raid (grub_size_t uuidlen, char *uuid, int nmemb, + } + array->lvs->vg = array; + +- array->lvs->idname = grub_malloc (sizeof ("mduuid/") + 2 * uuidlen); ++ if (grub_mul (uuidlen, 2, &sz) || ++ grub_add (sz, sizeof ("mduuid/"), &sz)) ++ goto fail; ++ ++ array->lvs->idname = grub_malloc (sz); + if (!array->lvs->idname) + goto fail; + +diff --git a/grub-core/disk/ieee1275/obdisk.c b/grub-core/disk/ieee1275/obdisk.c +index cd923b90f..9d4c42665 100644 +--- a/grub-core/disk/ieee1275/obdisk.c ++++ b/grub-core/disk/ieee1275/obdisk.c +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -128,9 +129,17 @@ count_commas (const char *src) + static char * + decode_grub_devname (const char *name) + { +- char *devpath = grub_malloc (grub_strlen (name) + 1); ++ char *devpath; + char *p, c; ++ grub_size_t sz; + ++ if (grub_add (grub_strlen (name), 1, &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow detected while obtaining size of device name")); ++ return NULL; ++ } ++ ++ devpath = grub_malloc (sz); + if (devpath == NULL) + return NULL; + +@@ -156,12 +165,20 @@ static char * + encode_grub_devname (const char *path) + { + char *encoding, *optr; ++ grub_size_t sz; + + if (path == NULL) + return NULL; + +- encoding = grub_malloc (sizeof (IEEE1275_DEV) + count_commas (path) + +- grub_strlen (path) + 1); ++ if (grub_add (sizeof (IEEE1275_DEV) + 1, count_commas (path), &sz) || ++ grub_add (sz, grub_strlen (path), &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow detected while obtaining encoding size")); ++ grub_print_error (); ++ return NULL; ++ } ++ ++ encoding = grub_malloc (sz); + + if (encoding == NULL) + { +@@ -396,6 +413,14 @@ canonicalise_disk (const char *devname) + + real_unit_str_len = grub_strlen (op->name) + sizeof (IEEE1275_DISK_ALIAS) + + grub_strlen (real_unit_address); ++ if (grub_add (grub_strlen (op->name), sizeof (IEEE1275_DISK_ALIAS), &real_unit_str_len) || ++ grub_add (real_unit_str_len, grub_strlen (real_unit_address), &real_unit_str_len)) ++ { ++ grub_free (parent); ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow detected while obtaining size of canonical name")); ++ grub_print_error (); ++ return NULL; ++ } + + real_canon = grub_malloc (real_unit_str_len); + +@@ -413,6 +438,7 @@ canonicalise_disk (const char *devname) + static struct disk_dev * + add_canon_disk (const char *cname) + { ++ grub_size_t sz; + struct disk_dev *dev; + + dev = grub_zalloc (sizeof (struct disk_dev)); +@@ -428,13 +454,18 @@ add_canon_disk (const char *cname) + * arguments and allows a client program to open + * the entire (raw) disk. Any disk label is ignored. + */ +- dev->raw_name = grub_malloc (grub_strlen (cname) + sizeof (":nolabel")); ++ if (grub_add (grub_strlen (cname), sizeof (":nolabel"), &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, "overflow detected while appending :nolabel to end of canonical name"); ++ goto failed; ++ } ++ ++ dev->raw_name = grub_malloc (sz); + + if (dev->raw_name == NULL) + goto failed; + +- grub_snprintf (dev->raw_name, grub_strlen (cname) + sizeof (":nolabel"), +- "%s:nolabel", cname); ++ grub_snprintf (dev->raw_name, sz, "%s:nolabel", cname); + } + + /* +diff --git a/grub-core/disk/ieee1275/ofdisk.c b/grub-core/disk/ieee1275/ofdisk.c +index c6cba0c8a..4c5b89cbc 100644 +--- a/grub-core/disk/ieee1275/ofdisk.c ++++ b/grub-core/disk/ieee1275/ofdisk.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + static char *last_devpath; + static grub_ieee1275_ihandle_t last_ihandle; +@@ -80,6 +81,7 @@ ofdisk_hash_add_real (char *devpath) + struct ofdisk_hash_ent **head = &ofdisk_hash[ofdisk_hash_fn(devpath)]; + const char *iptr; + char *optr; ++ grub_size_t sz; + + p = grub_zalloc (sizeof (*p)); + if (!p) +@@ -87,8 +89,14 @@ ofdisk_hash_add_real (char *devpath) + + p->devpath = devpath; + +- p->grub_devpath = grub_malloc (sizeof ("ieee1275/") +- + 2 * grub_strlen (p->devpath)); ++ if (grub_mul (grub_strlen (p->devpath), 2, &sz) || ++ grub_add (sz, sizeof ("ieee1275/"), &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow detected while obtaining size of device path")); ++ return NULL; ++ } ++ ++ p->grub_devpath = grub_malloc (sz); + + if (!p->grub_devpath) + { +@@ -98,7 +106,13 @@ ofdisk_hash_add_real (char *devpath) + + if (! grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_NO_PARTITION_0)) + { +- p->open_path = grub_malloc (grub_strlen (p->devpath) + 3); ++ if (grub_add (grub_strlen (p->devpath), 3, &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow detected while obtaining size of an open path")); ++ return NULL; ++ } ++ ++ p->open_path = grub_malloc (sz); + if (!p->open_path) + { + grub_free (p->grub_devpath); +@@ -224,6 +238,7 @@ dev_iterate (const struct grub_ieee1275_devalias *alias) + args; + char *buf, *bufptr; + unsigned i; ++ grub_size_t sz; + + if (grub_ieee1275_open (alias->path, &ihandle)) + return; +@@ -243,7 +258,14 @@ dev_iterate (const struct grub_ieee1275_devalias *alias) + return; + } + +- buf = grub_malloc (grub_strlen (alias->path) + 32); ++ if (grub_add (grub_strlen (alias->path), 32, &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, "overflow detected while creating buffer for vscsi"); ++ grub_ieee1275_close (ihandle); ++ return; ++ } ++ ++ buf = grub_malloc (sz); + if (!buf) + return; + bufptr = grub_stpcpy (buf, alias->path); +@@ -287,9 +309,15 @@ dev_iterate (const struct grub_ieee1275_devalias *alias) + grub_uint64_t *table; + grub_uint16_t table_size; + grub_ieee1275_ihandle_t ihandle; ++ grub_size_t sz; + +- buf = grub_malloc (grub_strlen (alias->path) + +- sizeof ("/disk@7766554433221100")); ++ if (grub_add (grub_strlen (alias->path), sizeof ("/disk@7766554433221100"), &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, "overflow detected while creating buffer for sas_ioa"); ++ return; ++ } ++ ++ buf = grub_malloc (sz); + if (!buf) + return; + bufptr = grub_stpcpy (buf, alias->path); +@@ -427,9 +455,17 @@ grub_ofdisk_iterate (grub_disk_dev_iterate_hook_t hook, void *hook_data, + static char * + compute_dev_path (const char *name) + { +- char *devpath = grub_malloc (grub_strlen (name) + 3); ++ char *devpath; + char *p, c; ++ grub_size_t sz; + ++ if (grub_add (grub_strlen (name), 3, &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow detected while obtaining size of device path")); ++ return NULL; ++ } ++ ++ devpath = grub_malloc (sz); + if (!devpath) + return NULL; + +@@ -625,6 +661,7 @@ insert_bootpath (void) + char *bootpath; + grub_ssize_t bootpath_size; + char *type; ++ grub_size_t sz; + + if (grub_ieee1275_get_property_length (grub_ieee1275_chosen, "bootpath", + &bootpath_size) +@@ -635,7 +672,13 @@ insert_bootpath (void) + return; + } + +- bootpath = (char *) grub_malloc ((grub_size_t) bootpath_size + 64); ++ if (grub_add (bootpath_size, 64, &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow detected while obtaining bootpath size")); ++ return; ++ } ++ ++ bootpath = (char *) grub_malloc (sz); + if (! bootpath) + { + grub_print_error (); +diff --git a/grub-core/disk/ldm.c b/grub-core/disk/ldm.c +index 34bfe6bd1..4101b15d8 100644 +--- a/grub-core/disk/ldm.c ++++ b/grub-core/disk/ldm.c +@@ -220,6 +220,7 @@ make_vg (grub_disk_t disk, + struct grub_ldm_vblk vblk[GRUB_DISK_SECTOR_SIZE + / sizeof (struct grub_ldm_vblk)]; + unsigned i; ++ grub_size_t sz; + err = grub_disk_read (disk, cursec, 0, + sizeof(vblk), &vblk); + if (err) +@@ -251,7 +252,13 @@ make_vg (grub_disk_t disk, + grub_free (pv); + goto fail2; + } +- pv->internal_id = grub_malloc (ptr[0] + 2); ++ if (grub_add (ptr[0], 2, &sz)) ++ { ++ grub_free (pv); ++ goto fail2; ++ } ++ ++ pv->internal_id = grub_malloc (sz); + if (!pv->internal_id) + { + grub_free (pv); +@@ -276,7 +283,15 @@ make_vg (grub_disk_t disk, + goto fail2; + } + pv->id.uuidlen = *ptr; +- pv->id.uuid = grub_malloc (pv->id.uuidlen + 1); ++ ++ if (grub_add (pv->id.uuidlen, 1, &sz)) ++ { ++ grub_free (pv->internal_id); ++ grub_free (pv); ++ goto fail2; ++ } ++ ++ pv->id.uuid = grub_malloc (sz); + grub_memcpy (pv->id.uuid, ptr + 1, pv->id.uuidlen); + pv->id.uuid[pv->id.uuidlen] = 0; + +@@ -343,7 +358,13 @@ make_vg (grub_disk_t disk, + grub_free (lv); + goto fail2; + } +- lv->internal_id = grub_malloc ((grub_size_t) ptr[0] + 2); ++ if (grub_add (ptr[0], 2, &sz)) ++ { ++ grub_free (lv->segments); ++ grub_free (lv); ++ goto fail2; ++ } ++ lv->internal_id = grub_malloc (sz); + if (!lv->internal_id) + { + grub_free (lv); +@@ -455,6 +476,7 @@ make_vg (grub_disk_t disk, + struct grub_ldm_vblk vblk[GRUB_DISK_SECTOR_SIZE + / sizeof (struct grub_ldm_vblk)]; + unsigned i; ++ grub_size_t sz; + err = grub_disk_read (disk, cursec, 0, + sizeof(vblk), &vblk); + if (err) +@@ -490,7 +512,12 @@ make_vg (grub_disk_t disk, + grub_free (comp); + goto fail2; + } +- comp->internal_id = grub_malloc ((grub_size_t) ptr[0] + 2); ++ if (grub_add (ptr[0], 2, &sz)) ++ { ++ grub_free (comp); ++ goto fail2; ++ } ++ comp->internal_id = grub_malloc (sz); + if (!comp->internal_id) + { + grub_free (comp); +@@ -640,7 +667,6 @@ make_vg (grub_disk_t disk, + if (lv->segments->node_alloc == lv->segments->node_count) + { + void *t; +- grub_size_t sz; + + if (grub_mul (lv->segments->node_alloc, 2, &lv->segments->node_alloc) || + grub_mul (lv->segments->node_alloc, sizeof (*lv->segments->nodes), &sz)) +diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c +index d5106402f..8036d76ff 100644 +--- a/grub-core/disk/luks2.c ++++ b/grub-core/disk/luks2.c +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -569,6 +570,7 @@ luks2_recover_key (grub_disk_t source, + gcry_err_code_t gcry_ret; + grub_json_t *json = NULL, keyslots; + grub_err_t ret; ++ grub_size_t sz; + + if (cargs->key_data == NULL || cargs->key_len == 0) + return grub_error (GRUB_ERR_BAD_ARGUMENT, "no key data"); +@@ -577,7 +579,10 @@ luks2_recover_key (grub_disk_t source, + if (ret) + return ret; + +- json_header = grub_zalloc (grub_be_to_cpu64 (header.hdr_size) - sizeof (header)); ++ if (grub_sub (grub_be_to_cpu64 (header.hdr_size), sizeof (header), &sz)) ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, "underflow detected while calculating json header size"); ++ ++ json_header = grub_zalloc (sz); + if (!json_header) + return GRUB_ERR_OUT_OF_MEMORY; + +diff --git a/grub-core/disk/memdisk.c b/grub-core/disk/memdisk.c +index 613779cf3..36de3bfab 100644 +--- a/grub-core/disk/memdisk.c ++++ b/grub-core/disk/memdisk.c +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -96,7 +97,11 @@ GRUB_MOD_INIT(memdisk) + + grub_dprintf ("memdisk", "Found memdisk image at %p\n", memdisk_orig_addr); + +- memdisk_size = header->size - sizeof (struct grub_module_header); ++ if (grub_sub (header->size, sizeof (struct grub_module_header), &memdisk_size)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, "underflow detected while obtaining memdisk size"); ++ return; ++ } + memdisk_addr = grub_malloc (memdisk_size); + + grub_dprintf ("memdisk", "Copying memdisk image to dynamic memory\n"); +diff --git a/grub-core/disk/plainmount.c b/grub-core/disk/plainmount.c +index 47e64805f..21ec4072c 100644 +--- a/grub-core/disk/plainmount.c ++++ b/grub-core/disk/plainmount.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -126,7 +127,7 @@ plainmount_configure_password (grub_cryptodisk_t dev, const char *hash, + grub_uint8_t *derived_hash, *dh; + char *p; + unsigned int round, i, len, size; +- grub_size_t alloc_size; ++ grub_size_t alloc_size, sz; + grub_err_t err = GRUB_ERR_NONE; + + /* Support none (plain) hash */ +@@ -145,7 +146,11 @@ plainmount_configure_password (grub_cryptodisk_t dev, const char *hash, + * Allocate buffer for the password and for an added prefix character + * for each hash round ('alloc_size' may not be a multiple of 'len'). + */ +- p = grub_zalloc (alloc_size + (alloc_size / len) + 1); ++ if (grub_add (alloc_size, (alloc_size / len), &sz) || ++ grub_add (sz, 1, &sz)) ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow detected while allocating size of password buffer")); ++ ++ p = grub_zalloc (sz); + derived_hash = grub_zalloc (GRUB_CRYPTODISK_MAX_KEYLEN * 2); + if (p == NULL || derived_hash == NULL) + { +-- +2.50.1 + diff --git a/boot/grub2/0046-disk-Prevent-overflows-when-allocating-memory-for-ar.patch b/boot/grub2/0046-disk-Prevent-overflows-when-allocating-memory-for-ar.patch new file mode 100644 index 00000000000..1c1cb0ee3a8 --- /dev/null +++ b/boot/grub2/0046-disk-Prevent-overflows-when-allocating-memory-for-ar.patch @@ -0,0 +1,47 @@ +From d9f900247eb886176aace7888be941348a9c8fc8 Mon Sep 17 00:00:00 2001 +From: Alec Brown +Date: Wed, 22 Jan 2025 02:55:10 +0000 +Subject: [PATCH] disk: Prevent overflows when allocating memory for arrays + +Use grub_calloc() when allocating memory for arrays to ensure proper +overflow checks are in place. + +Signed-off-by: Alec Brown +Reviewed-by: Daniel Kiper + +Conflicts: + grub-core/disk/cryptodisk.c + +Upstream: d8151f98331ee4d15fcca59edffa59246d8fc15f +Signed-off-by: Thomas Petazzoni +--- + grub-core/disk/lvm.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c +index 794248540..a395b200d 100644 +--- a/grub-core/disk/lvm.c ++++ b/grub-core/disk/lvm.c +@@ -671,8 +671,7 @@ grub_lvm_detect (grub_disk_t disk, + goto lvs_segment_fail; + } + +- seg->nodes = grub_zalloc (sizeof (seg->nodes[0]) +- * seg->node_count); ++ seg->nodes = grub_calloc (seg->node_count, sizeof (seg->nodes[0])); + + p = grub_strstr (p, "mirrors = ["); + if (p == NULL) +@@ -760,8 +759,7 @@ grub_lvm_detect (grub_disk_t disk, + } + } + +- seg->nodes = grub_zalloc (sizeof (seg->nodes[0]) +- * seg->node_count); ++ seg->nodes = grub_calloc (seg->node_count, sizeof (seg->nodes[0])); + + p = grub_strstr (p, "raids = ["); + if (p == NULL) +-- +2.50.1 + diff --git a/boot/grub2/0047-disk-Check-if-returned-pointer-for-allocated-memory-.patch b/boot/grub2/0047-disk-Check-if-returned-pointer-for-allocated-memory-.patch new file mode 100644 index 00000000000..f00d37d9774 --- /dev/null +++ b/boot/grub2/0047-disk-Check-if-returned-pointer-for-allocated-memory-.patch @@ -0,0 +1,157 @@ +From 04621aac0412b99323fda050074d4e77c00bc8e8 Mon Sep 17 00:00:00 2001 +From: Alec Brown +Date: Wed, 22 Jan 2025 02:55:11 +0000 +Subject: [PATCH] disk: Check if returned pointer for allocated memory is NULL + +When using grub_malloc(), grub_zalloc() or grub_calloc(), these functions can +fail if we are out of memory. After allocating memory we should check if these +functions returned NULL and handle this error if they did. + +On the occasion make a NULL check in ATA code more obvious. + +Signed-off-by: Alec Brown +Reviewed-by: Daniel Kiper +Upstream: 33bd6b5ac5c77b346769ab5284262f94e695e464 +Signed-off-by: Thomas Petazzoni +--- + grub-core/disk/ata.c | 4 ++-- + grub-core/disk/ieee1275/obdisk.c | 6 ++++++ + grub-core/disk/ldm.c | 6 ++++++ + grub-core/disk/lvm.c | 14 ++++++++++++++ + grub-core/disk/memdisk.c | 2 ++ + 5 files changed, 30 insertions(+), 2 deletions(-) + +diff --git a/grub-core/disk/ata.c b/grub-core/disk/ata.c +index 7b6ac7bfc..a2433e29e 100644 +--- a/grub-core/disk/ata.c ++++ b/grub-core/disk/ata.c +@@ -112,10 +112,10 @@ grub_ata_identify (struct grub_ata *dev) + return grub_atapi_identify (dev); + + info64 = grub_malloc (GRUB_DISK_SECTOR_SIZE); ++ if (info64 == NULL) ++ return grub_errno; + info32 = (grub_uint32_t *) info64; + info16 = (grub_uint16_t *) info64; +- if (! info16) +- return grub_errno; + + grub_memset (&parms, 0, sizeof (parms)); + parms.buffer = info16; +diff --git a/grub-core/disk/ieee1275/obdisk.c b/grub-core/disk/ieee1275/obdisk.c +index 9d4c42665..fcc39e0a2 100644 +--- a/grub-core/disk/ieee1275/obdisk.c ++++ b/grub-core/disk/ieee1275/obdisk.c +@@ -423,6 +423,12 @@ canonicalise_disk (const char *devname) + } + + real_canon = grub_malloc (real_unit_str_len); ++ if (real_canon == NULL) ++ { ++ grub_free (parent); ++ grub_print_error (); ++ return NULL; ++ } + + grub_snprintf (real_canon, real_unit_str_len, "%s/disk@%s", + op->name, real_unit_address); +diff --git a/grub-core/disk/ldm.c b/grub-core/disk/ldm.c +index 4101b15d8..048e29cd0 100644 +--- a/grub-core/disk/ldm.c ++++ b/grub-core/disk/ldm.c +@@ -292,6 +292,12 @@ make_vg (grub_disk_t disk, + } + + pv->id.uuid = grub_malloc (sz); ++ if (pv->id.uuid == NULL) ++ { ++ grub_free (pv->internal_id); ++ grub_free (pv); ++ goto fail2; ++ } + grub_memcpy (pv->id.uuid, ptr + 1, pv->id.uuidlen); + pv->id.uuid[pv->id.uuidlen] = 0; + +diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c +index a395b200d..b2dff76d1 100644 +--- a/grub-core/disk/lvm.c ++++ b/grub-core/disk/lvm.c +@@ -370,6 +370,8 @@ grub_lvm_detect (grub_disk_t disk, + break; + + pv = grub_zalloc (sizeof (*pv)); ++ if (pv == NULL) ++ goto fail4; + q = p; + while (*q != ' ' && q < mda_end) + q++; +@@ -379,6 +381,8 @@ grub_lvm_detect (grub_disk_t disk, + + s = q - p; + pv->name = grub_malloc (s + 1); ++ if (pv->name == NULL) ++ goto pvs_fail_noname; + grub_memcpy (pv->name, p, s); + pv->name[s] = '\0'; + +@@ -451,6 +455,8 @@ grub_lvm_detect (grub_disk_t disk, + break; + + lv = grub_zalloc (sizeof (*lv)); ++ if (lv == NULL) ++ goto fail4; + + q = p; + while (*q != ' ' && q < mda_end) +@@ -545,6 +551,8 @@ grub_lvm_detect (grub_disk_t disk, + goto lvs_fail; + } + lv->segments = grub_calloc (lv->segment_count, sizeof (*seg)); ++ if (lv->segments == NULL) ++ goto lvs_fail; + seg = lv->segments; + + for (i = 0; i < lv->segment_count; i++) +@@ -612,6 +620,8 @@ grub_lvm_detect (grub_disk_t disk, + + seg->nodes = grub_calloc (seg->node_count, + sizeof (*stripe)); ++ if (seg->nodes == NULL) ++ goto lvs_segment_fail; + stripe = seg->nodes; + + p = grub_strstr (p, "stripes = ["); +@@ -672,6 +682,8 @@ grub_lvm_detect (grub_disk_t disk, + } + + seg->nodes = grub_calloc (seg->node_count, sizeof (seg->nodes[0])); ++ if (seg->nodes == NULL) ++ goto lvs_segment_fail; + + p = grub_strstr (p, "mirrors = ["); + if (p == NULL) +@@ -760,6 +772,8 @@ grub_lvm_detect (grub_disk_t disk, + } + + seg->nodes = grub_calloc (seg->node_count, sizeof (seg->nodes[0])); ++ if (seg->nodes == NULL) ++ goto lvs_segment_fail; + + p = grub_strstr (p, "raids = ["); + if (p == NULL) +diff --git a/grub-core/disk/memdisk.c b/grub-core/disk/memdisk.c +index 36de3bfab..2d7afaea3 100644 +--- a/grub-core/disk/memdisk.c ++++ b/grub-core/disk/memdisk.c +@@ -103,6 +103,8 @@ GRUB_MOD_INIT(memdisk) + return; + } + memdisk_addr = grub_malloc (memdisk_size); ++ if (memdisk_addr == NULL) ++ return; + + grub_dprintf ("memdisk", "Copying memdisk image to dynamic memory\n"); + grub_memmove (memdisk_addr, memdisk_orig_addr, memdisk_size); +-- +2.50.1 + diff --git a/boot/grub2/0048-disk-ieee1275-ofdisk-Call-grub_ieee1275_close-when-g.patch b/boot/grub2/0048-disk-ieee1275-ofdisk-Call-grub_ieee1275_close-when-g.patch new file mode 100644 index 00000000000..fd0ddda6745 --- /dev/null +++ b/boot/grub2/0048-disk-ieee1275-ofdisk-Call-grub_ieee1275_close-when-g.patch @@ -0,0 +1,36 @@ +From 2dcfad49316cc757138a8c69f6b44ee1a240aa3d Mon Sep 17 00:00:00 2001 +From: Alec Brown +Date: Wed, 22 Jan 2025 02:55:12 +0000 +Subject: [PATCH] disk/ieee1275/ofdisk: Call grub_ieee1275_close() when + grub_malloc() fails + +In the dev_iterate() function a handle is opened but isn't closed when +grub_malloc() returns NULL. We should fix this by closing it on error. + +Signed-off-by: Alec Brown +Reviewed-by: Daniel Kiper +Upstream: fbaddcca541805c333f0fc792b82772594e73753 +Signed-off-by: Thomas Petazzoni +--- + grub-core/disk/ieee1275/ofdisk.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/grub-core/disk/ieee1275/ofdisk.c b/grub-core/disk/ieee1275/ofdisk.c +index 4c5b89cbc..dbc0f1aba 100644 +--- a/grub-core/disk/ieee1275/ofdisk.c ++++ b/grub-core/disk/ieee1275/ofdisk.c +@@ -267,7 +267,10 @@ dev_iterate (const struct grub_ieee1275_devalias *alias) + + buf = grub_malloc (sz); + if (!buf) +- return; ++ { ++ grub_ieee1275_close (ihandle); ++ return; ++ } + bufptr = grub_stpcpy (buf, alias->path); + + for (i = 0; i < args.nentries; i++) +-- +2.50.1 + diff --git a/boot/grub2/0049-fs-Use-safe-math-macros-to-prevent-overflows.patch b/boot/grub2/0049-fs-Use-safe-math-macros-to-prevent-overflows.patch new file mode 100644 index 00000000000..4ad7463a13e --- /dev/null +++ b/boot/grub2/0049-fs-Use-safe-math-macros-to-prevent-overflows.patch @@ -0,0 +1,362 @@ +From 005280a4b3ba41ab0b4fea5e1d2a874646e6e12d Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Tue, 21 Jan 2025 19:02:36 +0000 +Subject: [PATCH] fs: Use safe math macros to prevent overflows + +Replace direct arithmetic operations with macros from include/grub/safemath.h +to prevent potential overflow issues when calculating the memory sizes. + +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper + +Conflicts: + grub-core/fs/erofs.c + +Upstream: 6608163b08a7a8be4b0ab2a5cd4593bba07fe2b7 +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/archelp.c | 9 ++++++++- + grub-core/fs/btrfs.c | 34 ++++++++++++++++++++++++++++------ + grub-core/fs/cpio_common.c | 16 ++++++++++++++-- + grub-core/fs/f2fs.c | 17 +++++++++++++++-- + grub-core/fs/ntfscomp.c | 9 ++++++++- + grub-core/fs/squash4.c | 12 +++++++++--- + grub-core/fs/xfs.c | 17 +++++++++++++++-- + 7 files changed, 97 insertions(+), 17 deletions(-) + +diff --git a/grub-core/fs/archelp.c b/grub-core/fs/archelp.c +index c1dcc6285..0816b28de 100644 +--- a/grub-core/fs/archelp.c ++++ b/grub-core/fs/archelp.c +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -68,6 +69,7 @@ handle_symlink (struct grub_archelp_data *data, + char *rest; + char *linktarget; + grub_size_t linktarget_len; ++ grub_size_t sz; + + *restart = 0; + +@@ -98,7 +100,12 @@ handle_symlink (struct grub_archelp_data *data, + if (linktarget[0] == '\0') + return GRUB_ERR_NONE; + linktarget_len = grub_strlen (linktarget); +- target = grub_malloc (linktarget_len + grub_strlen (*name) + 2); ++ ++ if (grub_add (linktarget_len, grub_strlen (*name), &sz) || ++ grub_add (sz, 2, &sz)) ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("link target length overflow")); ++ ++ target = grub_malloc (sz); + if (!target) + return grub_errno; + +diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c +index aae81482b..0625b1166 100644 +--- a/grub-core/fs/btrfs.c ++++ b/grub-core/fs/btrfs.c +@@ -1801,6 +1801,7 @@ find_path (struct grub_btrfs_data *data, + char *path_alloc = NULL; + char *origpath = NULL; + unsigned symlinks_max = 32; ++ grub_size_t sz; + + err = get_root (data, key, tree, type); + if (err) +@@ -1891,9 +1892,15 @@ find_path (struct grub_btrfs_data *data, + struct grub_btrfs_dir_item *cdirel; + if (elemsize > allocated) + { +- allocated = 2 * elemsize; ++ if (grub_mul (2, elemsize, &allocated) || ++ grub_add (allocated, 1, &sz)) ++ { ++ grub_free (path_alloc); ++ grub_free (origpath); ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("directory item size overflow")); ++ } + grub_free (direl); +- direl = grub_malloc (allocated + 1); ++ direl = grub_malloc (sz); + if (!direl) + { + grub_free (path_alloc); +@@ -1955,8 +1962,16 @@ find_path (struct grub_btrfs_data *data, + grub_free (origpath); + return err; + } +- tmp = grub_malloc (grub_le_to_cpu64 (inode.size) +- + grub_strlen (path) + 1); ++ ++ if (grub_add (grub_le_to_cpu64 (inode.size), grub_strlen (path), &sz) || ++ grub_add (sz, 1, &sz)) ++ { ++ grub_free (direl); ++ grub_free (path_alloc); ++ grub_free (origpath); ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("buffer size overflow")); ++ } ++ tmp = grub_malloc (sz); + if (!tmp) + { + grub_free (direl); +@@ -2078,6 +2093,7 @@ grub_btrfs_dir (grub_device_t device, const char *path, + grub_uint64_t tree; + grub_uint8_t type; + grub_size_t est_size = 0; ++ grub_size_t sz; + + if (!data) + return grub_errno; +@@ -2119,9 +2135,15 @@ grub_btrfs_dir (grub_device_t device, const char *path, + } + if (elemsize > allocated) + { +- allocated = 2 * elemsize; ++ if (grub_mul (2, elemsize, &allocated) || ++ grub_add (allocated, 1, &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("directory element size overflow")); ++ r = -grub_errno; ++ break; ++ } + grub_free (direl); +- direl = grub_malloc (allocated + 1); ++ direl = grub_malloc (sz); + if (!direl) + { + r = -grub_errno; +diff --git a/grub-core/fs/cpio_common.c b/grub-core/fs/cpio_common.c +index 5d41b6fdb..6ba58b354 100644 +--- a/grub-core/fs/cpio_common.c ++++ b/grub-core/fs/cpio_common.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -48,6 +49,7 @@ grub_cpio_find_file (struct grub_archelp_data *data, char **name, + struct head hd; + grub_size_t namesize; + grub_uint32_t modeval; ++ grub_size_t sz; + + data->hofs = data->next_hofs; + +@@ -76,7 +78,10 @@ grub_cpio_find_file (struct grub_archelp_data *data, char **name, + + *mode = modeval; + +- *name = grub_malloc (namesize + 1); ++ if (grub_add (namesize, 1, &sz)) ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("file name size overflow")); ++ ++ *name = grub_malloc (sz); + if (*name == NULL) + return grub_errno; + +@@ -110,10 +115,17 @@ grub_cpio_get_link_target (struct grub_archelp_data *data) + { + char *ret; + grub_err_t err; ++ grub_size_t sz; + + if (data->size == 0) + return grub_strdup (""); +- ret = grub_malloc (data->size + 1); ++ ++ if (grub_add (data->size, 1, &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("target data size overflow")); ++ return NULL; ++ } ++ ret = grub_malloc (sz); + if (!ret) + return NULL; + +diff --git a/grub-core/fs/f2fs.c b/grub-core/fs/f2fs.c +index f6d6beaa5..72b4aa1e6 100644 +--- a/grub-core/fs/f2fs.c ++++ b/grub-core/fs/f2fs.c +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -958,6 +959,7 @@ grub_f2fs_read_symlink (grub_fshelp_node_t node) + char *symlink; + struct grub_fshelp_node *diro = node; + grub_uint64_t filesize; ++ grub_size_t sz; + + if (!diro->inode_read) + { +@@ -968,7 +970,12 @@ grub_f2fs_read_symlink (grub_fshelp_node_t node) + + filesize = grub_f2fs_file_size(&diro->inode.i); + +- symlink = grub_malloc (filesize + 1); ++ if (grub_add (filesize, 1, &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("symlink size overflow")); ++ return 0; ++ } ++ symlink = grub_malloc (sz); + if (!symlink) + return 0; + +@@ -997,6 +1004,7 @@ grub_f2fs_check_dentries (struct grub_f2fs_dir_iter_ctx *ctx) + enum FILE_TYPE ftype; + int name_len; + int ret; ++ int sz; + + if (grub_f2fs_test_bit_le (i, ctx->bitmap) == 0) + { +@@ -1010,7 +1018,12 @@ grub_f2fs_check_dentries (struct grub_f2fs_dir_iter_ctx *ctx) + if (name_len >= F2FS_NAME_LEN) + return 0; + +- filename = grub_malloc (name_len + 1); ++ if (grub_add (name_len, 1, &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("directory entry name length overflow")); ++ return 0; ++ } ++ filename = grub_malloc (sz); + if (!filename) + return 0; + +diff --git a/grub-core/fs/ntfscomp.c b/grub-core/fs/ntfscomp.c +index a009f2c2d..f168a318e 100644 +--- a/grub-core/fs/ntfscomp.c ++++ b/grub-core/fs/ntfscomp.c +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -310,6 +311,7 @@ ntfscomp (grub_uint8_t *dest, grub_disk_addr_t ofs, + { + grub_err_t ret; + grub_disk_addr_t vcn; ++ int log_sz; + + if (ctx->attr->sbuf) + { +@@ -349,7 +351,12 @@ ntfscomp (grub_uint8_t *dest, grub_disk_addr_t ofs, + } + + ctx->comp.comp_head = ctx->comp.comp_tail = 0; +- ctx->comp.cbuf = grub_malloc (1 << (ctx->comp.log_spc + GRUB_NTFS_BLK_SHR)); ++ if (grub_add (ctx->comp.log_spc, GRUB_NTFS_BLK_SHR, &log_sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("compression buffer size overflow")); ++ return 0; ++ } ++ ctx->comp.cbuf = grub_malloc (1 << log_sz); + if (!ctx->comp.cbuf) + return 0; + +diff --git a/grub-core/fs/squash4.c b/grub-core/fs/squash4.c +index 6e9d63874..f91ff3bfa 100644 +--- a/grub-core/fs/squash4.c ++++ b/grub-core/fs/squash4.c +@@ -460,11 +460,11 @@ grub_squash_read_symlink (grub_fshelp_node_t node) + { + char *ret; + grub_err_t err; +- grub_size_t sz; ++ grub_uint32_t sz; + + if (grub_add (grub_le_to_cpu32 (node->ino.symlink.namelen), 1, &sz)) + { +- grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected")); ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("symlink name length overflow")); + return NULL; + } + +@@ -580,6 +580,7 @@ grub_squash_iterate_dir (grub_fshelp_node_t dir, + struct grub_squash_dirent di; + struct grub_squash_inode ino; + grub_size_t sz; ++ grub_uint16_t nlen; + + err = read_chunk (dir->data, &di, sizeof (di), + grub_le_to_cpu64 (dir->data->sb.diroffset) +@@ -595,7 +596,12 @@ grub_squash_iterate_dir (grub_fshelp_node_t dir, + if (err) + return 0; + +- buf = grub_malloc (grub_le_to_cpu16 (di.namelen) + 2); ++ if (grub_add (grub_le_to_cpu16 (di.namelen), 2, &nlen)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("name length overflow")); ++ return 0; ++ } ++ buf = grub_malloc (nlen); + if (!buf) + return 0; + err = read_chunk (dir->data, buf, +diff --git a/grub-core/fs/xfs.c b/grub-core/fs/xfs.c +index 74feeb86a..70c9f449b 100644 +--- a/grub-core/fs/xfs.c ++++ b/grub-core/fs/xfs.c +@@ -718,6 +718,7 @@ static char * + grub_xfs_read_symlink (grub_fshelp_node_t node) + { + grub_ssize_t size = grub_be_to_cpu64 (node->inode.size); ++ grub_size_t sz; + + if (size < 0) + { +@@ -739,7 +740,12 @@ grub_xfs_read_symlink (grub_fshelp_node_t node) + if (node->data->hascrc) + off = 56; + +- symlink = grub_malloc (size + 1); ++ if (grub_add (size, 1, &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("symlink size overflow")); ++ return 0; ++ } ++ symlink = grub_malloc (sz); + if (!symlink) + return 0; + +@@ -789,8 +795,15 @@ static int iterate_dir_call_hook (grub_uint64_t ino, const char *filename, + { + struct grub_fshelp_node *fdiro; + grub_err_t err; ++ grub_size_t sz; + +- fdiro = grub_malloc (grub_xfs_fshelp_size(ctx->diro->data) + 1); ++ if (grub_add (grub_xfs_fshelp_size(ctx->diro->data), 1, &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("directory data size overflow")); ++ grub_print_error (); ++ return 0; ++ } ++ fdiro = grub_malloc (sz); + if (!fdiro) + { + grub_print_error (); +-- +2.50.1 + diff --git a/boot/grub2/0050-fs-Prevent-overflows-when-allocating-memory-for-arra.patch b/boot/grub2/0050-fs-Prevent-overflows-when-allocating-memory-for-arra.patch new file mode 100644 index 00000000000..ce84e677c35 --- /dev/null +++ b/boot/grub2/0050-fs-Prevent-overflows-when-allocating-memory-for-arra.patch @@ -0,0 +1,87 @@ +From 593d7b8659bef80b1f6ae3b793332d8eca8b8131 Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Tue, 21 Jan 2025 19:02:37 +0000 +Subject: [PATCH] fs: Prevent overflows when allocating memory for arrays + +Use grub_calloc() when allocating memory for arrays to ensure proper +overflow checks are in place. + +The HFS+ and squash4 security vulnerabilities were reported by +Jonathan Bar Or . + +CVE: CVE-2025-0678 +CVE: CVE-2025-1125 + +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper +Upstream: 84bc0a9a68835952ae69165c11709811dae7634e +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/btrfs.c | 4 ++-- + grub-core/fs/hfspluscomp.c | 9 +++++++-- + grub-core/fs/squash4.c | 8 ++++---- + 3 files changed, 13 insertions(+), 8 deletions(-) + +diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c +index 0625b1166..9c1e925c9 100644 +--- a/grub-core/fs/btrfs.c ++++ b/grub-core/fs/btrfs.c +@@ -1276,8 +1276,8 @@ grub_btrfs_mount (grub_device_t dev) + } + + data->n_devices_allocated = 16; +- data->devices_attached = grub_malloc (sizeof (data->devices_attached[0]) +- * data->n_devices_allocated); ++ data->devices_attached = grub_calloc (data->n_devices_allocated, ++ sizeof (data->devices_attached[0])); + if (!data->devices_attached) + { + grub_free (data); +diff --git a/grub-core/fs/hfspluscomp.c b/grub-core/fs/hfspluscomp.c +index 48ae438d8..a80954ee6 100644 +--- a/grub-core/fs/hfspluscomp.c ++++ b/grub-core/fs/hfspluscomp.c +@@ -244,14 +244,19 @@ hfsplus_open_compressed_real (struct grub_hfsplus_file *node) + return 0; + } + node->compress_index_size = grub_le_to_cpu32 (index_size); +- node->compress_index = grub_malloc (node->compress_index_size +- * sizeof (node->compress_index[0])); ++ node->compress_index = grub_calloc (node->compress_index_size, ++ sizeof (node->compress_index[0])); + if (!node->compress_index) + { + node->compressed = 0; + grub_free (attr_node); + return grub_errno; + } ++ ++ /* ++ * The node->compress_index_size * sizeof (node->compress_index[0]) is safe here ++ * due to relevant checks done in grub_calloc() above. ++ */ + if (grub_hfsplus_read_file (node, 0, 0, + 0x104 + sizeof (index_size), + node->compress_index_size +diff --git a/grub-core/fs/squash4.c b/grub-core/fs/squash4.c +index f91ff3bfa..cf2bca822 100644 +--- a/grub-core/fs/squash4.c ++++ b/grub-core/fs/squash4.c +@@ -822,10 +822,10 @@ direct_read (struct grub_squash_data *data, + break; + } + total_blocks = ((total_size + data->blksz - 1) >> data->log2_blksz); +- ino->block_sizes = grub_malloc (total_blocks +- * sizeof (ino->block_sizes[0])); +- ino->cumulated_block_sizes = grub_malloc (total_blocks +- * sizeof (ino->cumulated_block_sizes[0])); ++ ino->block_sizes = grub_calloc (total_blocks, ++ sizeof (ino->block_sizes[0])); ++ ino->cumulated_block_sizes = grub_calloc (total_blocks, ++ sizeof (ino->cumulated_block_sizes[0])); + if (!ino->block_sizes || !ino->cumulated_block_sizes) + { + grub_free (ino->block_sizes); +-- +2.50.1 + diff --git a/boot/grub2/0051-fs-Prevent-overflows-when-assigning-returned-values-.patch b/boot/grub2/0051-fs-Prevent-overflows-when-assigning-returned-values-.patch new file mode 100644 index 00000000000..f1438a28fee --- /dev/null +++ b/boot/grub2/0051-fs-Prevent-overflows-when-assigning-returned-values-.patch @@ -0,0 +1,110 @@ +From 639711967a296edb0704c3d2c31691076d46f565 Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Tue, 21 Jan 2025 19:02:38 +0000 +Subject: [PATCH] fs: Prevent overflows when assigning returned values from + read_number() + +The direct assignment of the unsigned long long value returned by +read_number() can potentially lead to an overflow on a 32-bit systems. +The fix replaces the direct assignments with calls to grub_cast() +which detects the overflows and safely assigns the values if no +overflow is detected. + +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper +Upstream: cde9f7f338f8f5771777f0e7dfc423ddf952ad31 +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/cpio_common.c | 18 ++++++++++++++---- + grub-core/fs/tar.c | 23 ++++++++++++++++------- + 2 files changed, 30 insertions(+), 11 deletions(-) + +diff --git a/grub-core/fs/cpio_common.c b/grub-core/fs/cpio_common.c +index 6ba58b354..45ac119a8 100644 +--- a/grub-core/fs/cpio_common.c ++++ b/grub-core/fs/cpio_common.c +@@ -62,11 +62,21 @@ grub_cpio_find_file (struct grub_archelp_data *data, char **name, + #endif + ) + return grub_error (GRUB_ERR_BAD_FS, "invalid cpio archive"); +- data->size = read_number (hd.filesize, ARRAY_SIZE (hd.filesize)); ++ ++ if (grub_cast (read_number (hd.filesize, ARRAY_SIZE (hd.filesize)), &data->size)) ++ return grub_error (GRUB_ERR_BAD_FS, N_("data size overflow")); ++ + if (mtime) +- *mtime = read_number (hd.mtime, ARRAY_SIZE (hd.mtime)); +- modeval = read_number (hd.mode, ARRAY_SIZE (hd.mode)); +- namesize = read_number (hd.namesize, ARRAY_SIZE (hd.namesize)); ++ { ++ if (grub_cast (read_number (hd.mtime, ARRAY_SIZE (hd.mtime)), mtime)) ++ return grub_error (GRUB_ERR_BAD_FS, N_("mtime overflow")); ++ } ++ ++ if (grub_cast (read_number (hd.mode, ARRAY_SIZE (hd.mode)), &modeval)) ++ return grub_error (GRUB_ERR_BAD_FS, N_("mode overflow")); ++ ++ if (grub_cast (read_number (hd.namesize, ARRAY_SIZE (hd.namesize)), &namesize)) ++ return grub_error (GRUB_ERR_BAD_FS, N_("namesize overflow")); + + /* Don't allow negative numbers. */ + if (namesize >= 0x80000000) +diff --git a/grub-core/fs/tar.c b/grub-core/fs/tar.c +index fd2ec1f74..1eaa5349f 100644 +--- a/grub-core/fs/tar.c ++++ b/grub-core/fs/tar.c +@@ -99,9 +99,10 @@ grub_cpio_find_file (struct grub_archelp_data *data, char **name, + if (hd.typeflag == 'L') + { + grub_err_t err; +- grub_size_t namesize = read_number (hd.size, sizeof (hd.size)); ++ grub_size_t namesize; + +- if (grub_add (namesize, 1, &sz)) ++ if (grub_cast (read_number (hd.size, sizeof (hd.size)), &namesize) || ++ grub_add (namesize, 1, &sz)) + return grub_error (GRUB_ERR_BAD_FS, N_("name size overflow")); + + *name = grub_malloc (sz); +@@ -123,9 +124,10 @@ grub_cpio_find_file (struct grub_archelp_data *data, char **name, + if (hd.typeflag == 'K') + { + grub_err_t err; +- grub_size_t linksize = read_number (hd.size, sizeof (hd.size)); ++ grub_size_t linksize; + +- if (grub_add (linksize, 1, &sz)) ++ if (grub_cast (read_number (hd.size, sizeof (hd.size)), &linksize) || ++ grub_add (linksize, 1, &sz)) + return grub_error (GRUB_ERR_BAD_FS, N_("link size overflow")); + + if (data->linkname_alloc < sz) +@@ -174,15 +176,22 @@ grub_cpio_find_file (struct grub_archelp_data *data, char **name, + (*name)[extra_size + sizeof (hd.name)] = 0; + } + +- data->size = read_number (hd.size, sizeof (hd.size)); ++ if (grub_cast (read_number (hd.size, sizeof (hd.size)), &data->size)) ++ return grub_error (GRUB_ERR_BAD_FS, N_("data size overflow")); ++ + data->dofs = data->hofs + GRUB_DISK_SECTOR_SIZE; + data->next_hofs = data->dofs + ((data->size + GRUB_DISK_SECTOR_SIZE - 1) & + ~(GRUB_DISK_SECTOR_SIZE - 1)); + if (mtime) +- *mtime = read_number (hd.mtime, sizeof (hd.mtime)); ++ { ++ if (grub_cast (read_number (hd.mtime, sizeof (hd.mtime)), mtime)) ++ return grub_error (GRUB_ERR_BAD_FS, N_("mtime overflow")); ++ } + if (mode) + { +- *mode = read_number (hd.mode, sizeof (hd.mode)); ++ if (grub_cast (read_number (hd.mode, sizeof (hd.mode)), mode)) ++ return grub_error (GRUB_ERR_BAD_FS, N_("mode overflow")); ++ + switch (hd.typeflag) + { + /* Hardlink. */ +-- +2.50.1 + diff --git a/boot/grub2/0052-fs-zfs-Use-safe-math-macros-to-prevent-overflows.patch b/boot/grub2/0052-fs-zfs-Use-safe-math-macros-to-prevent-overflows.patch new file mode 100644 index 00000000000..bbf93dd0b4a --- /dev/null +++ b/boot/grub2/0052-fs-zfs-Use-safe-math-macros-to-prevent-overflows.patch @@ -0,0 +1,143 @@ +From bd4fcbdbd9835716213debce07f08c81311ce9a6 Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Wed, 22 Jan 2025 07:17:02 +0000 +Subject: [PATCH] fs/zfs: Use safe math macros to prevent overflows + +Replace direct arithmetic operations with macros from include/grub/safemath.h +to prevent potential overflow issues when calculating the memory sizes. + +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper +Upstream: 88e491a0f744c6b19b6d4caa300a576ba56db7c9 +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/zfs/zfs.c | 50 +++++++++++++++++++++++++++++++++++++----- + 1 file changed, 44 insertions(+), 6 deletions(-) + +diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c +index a497b1869..2f303d655 100644 +--- a/grub-core/fs/zfs/zfs.c ++++ b/grub-core/fs/zfs/zfs.c +@@ -2387,6 +2387,7 @@ fzap_iterate (dnode_end_t * zap_dnode, zap_phys_t * zap, + zap_dnode->endian) << DNODE_SHIFT); + grub_err_t err; + grub_zfs_endian_t endian; ++ grub_size_t sz; + + if (zap_verify (zap, zap_dnode->endian)) + return 0; +@@ -2448,8 +2449,14 @@ fzap_iterate (dnode_end_t * zap_dnode, zap_phys_t * zap, + if (le->le_type != ZAP_CHUNK_ENTRY) + continue; + +- buf = grub_malloc (grub_zfs_to_cpu16 (le->le_name_length, endian) +- * name_elem_length + 1); ++ if (grub_mul (grub_zfs_to_cpu16 (le->le_name_length, endian), name_elem_length, &sz) || ++ grub_add (sz, 1, &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("buffer size overflow")); ++ grub_free (l); ++ return grub_errno; ++ } ++ buf = grub_malloc (sz); + if (zap_leaf_array_get (l, endian, blksft, + grub_zfs_to_cpu16 (le->le_name_chunk, + endian), +@@ -2872,6 +2879,7 @@ dnode_get_path (struct subvolume *subvol, const char *path_in, dnode_end_t *dn, + && ((grub_zfs_to_cpu64(((znode_phys_t *) DN_BONUS (&dnode_path->dn.dn))->zp_mode, dnode_path->dn.endian) >> 12) & 0xf) == 0xa) + { + char *sym_value; ++ grub_size_t sz; + grub_size_t sym_sz; + int free_symval = 0; + char *oldpath = path, *oldpathbuf = path_buf; +@@ -2923,7 +2931,18 @@ dnode_get_path (struct subvolume *subvol, const char *path_in, dnode_end_t *dn, + break; + free_symval = 1; + } +- path = path_buf = grub_malloc (sym_sz + grub_strlen (oldpath) + 1); ++ ++ if (grub_add (sym_sz, grub_strlen (oldpath), &sz) || ++ grub_add (sz, 1, &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("path buffer size overflow")); ++ grub_free (oldpathbuf); ++ if (free_symval) ++ grub_free (sym_value); ++ err = grub_errno; ++ break; ++ } ++ path = path_buf = grub_malloc (sz); + if (!path_buf) + { + grub_free (oldpathbuf); +@@ -2960,6 +2979,7 @@ dnode_get_path (struct subvolume *subvol, const char *path_in, dnode_end_t *dn, + { + void *sahdrp; + int hdrsize; ++ grub_size_t sz; + + if (dnode_path->dn.dn.dn_bonuslen != 0) + { +@@ -2993,7 +3013,15 @@ dnode_get_path (struct subvolume *subvol, const char *path_in, dnode_end_t *dn, + + SA_SIZE_OFFSET), + dnode_path->dn.endian); + char *oldpath = path, *oldpathbuf = path_buf; +- path = path_buf = grub_malloc (sym_sz + grub_strlen (oldpath) + 1); ++ if (grub_add (sym_sz, grub_strlen (oldpath), &sz) || ++ grub_add (sz, 1, &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("path buffer size overflow")); ++ grub_free (oldpathbuf); ++ err = grub_errno; ++ break; ++ } ++ path = path_buf = grub_malloc (sz); + if (!path_buf) + { + grub_free (oldpathbuf); +@@ -3568,6 +3596,7 @@ grub_zfs_nvlist_lookup_nvlist_array (const char *nvlist, const char *name, + unsigned i; + grub_size_t nelm; + int elemsize = 0; ++ int sz; + + found = nvlist_find_value (nvlist, name, DATA_TYPE_NVLIST_ARRAY, &nvpair, + &size, &nelm); +@@ -3602,7 +3631,12 @@ grub_zfs_nvlist_lookup_nvlist_array (const char *nvlist, const char *name, + return 0; + } + +- ret = grub_zalloc (elemsize + sizeof (grub_uint32_t)); ++ if (grub_add (elemsize, sizeof (grub_uint32_t), &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("elemsize overflow")); ++ return 0; ++ } ++ ret = grub_zalloc (sz); + if (!ret) + return 0; + grub_memcpy (ret, nvlist, sizeof (grub_uint32_t)); +@@ -4193,6 +4227,7 @@ iterate_zap_snap (const char *name, grub_uint64_t val, + struct grub_dirhook_info info; + char *name2; + int ret; ++ grub_size_t sz; + + dnode_end_t mdn; + +@@ -4213,7 +4248,10 @@ iterate_zap_snap (const char *name, grub_uint64_t val, + return 0; + } + +- name2 = grub_malloc (grub_strlen (name) + 2); ++ if (grub_add (grub_strlen (name), 2, &sz)) ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("name length overflow")); ++ ++ name2 = grub_malloc (sz); + name2[0] = '@'; + grub_memcpy (name2 + 1, name, grub_strlen (name) + 1); + ret = ctx->hook (name2, &info, ctx->hook_data); +-- +2.50.1 + diff --git a/boot/grub2/0053-fs-zfs-Prevent-overflows-when-allocating-memory-for-.patch b/boot/grub2/0053-fs-zfs-Prevent-overflows-when-allocating-memory-for-.patch new file mode 100644 index 00000000000..7cf5524195d --- /dev/null +++ b/boot/grub2/0053-fs-zfs-Prevent-overflows-when-allocating-memory-for-.patch @@ -0,0 +1,45 @@ +From b39a42a7de6639c32829a5f4aff603190c69d689 Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Wed, 22 Jan 2025 07:17:03 +0000 +Subject: [PATCH] fs/zfs: Prevent overflows when allocating memory for arrays + +Use grub_calloc() when allocating memory for arrays to ensure proper +overflow checks are in place. + +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper +Upstream: 7f38e32c7ebeaebb79e2c71e3c7d5ea367d3a39c +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/zfs/zfs.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c +index 2f303d655..9ab7bf319 100644 +--- a/grub-core/fs/zfs/zfs.c ++++ b/grub-core/fs/zfs/zfs.c +@@ -723,8 +723,8 @@ fill_vdev_info_real (struct grub_zfs_data *data, + { + fill->n_children = nelm; + +- fill->children = grub_zalloc (fill->n_children +- * sizeof (fill->children[0])); ++ fill->children = grub_calloc (fill->n_children, ++ sizeof (fill->children[0])); + } + + for (i = 0; i < nelm; i++) +@@ -3712,8 +3712,8 @@ zfs_mount (grub_device_t dev) + #endif + + data->n_devices_allocated = 16; +- data->devices_attached = grub_malloc (sizeof (data->devices_attached[0]) +- * data->n_devices_allocated); ++ data->devices_attached = grub_calloc (data->n_devices_allocated, ++ sizeof (data->devices_attached[0])); + data->n_devices_attached = 0; + err = scan_disk (dev, data, 1, &inserted); + if (err) +-- +2.50.1 + diff --git a/boot/grub2/0054-fs-zfs-Check-if-returned-pointer-for-allocated-memor.patch b/boot/grub2/0054-fs-zfs-Check-if-returned-pointer-for-allocated-memor.patch new file mode 100644 index 00000000000..1c208a7540b --- /dev/null +++ b/boot/grub2/0054-fs-zfs-Check-if-returned-pointer-for-allocated-memor.patch @@ -0,0 +1,93 @@ +From 177ae1f6b05fbe5a8c8e83d468c189ff339d608f Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Wed, 22 Jan 2025 07:17:01 +0000 +Subject: [PATCH] fs/zfs: Check if returned pointer for allocated memory is + NULL + +When using grub_malloc() or grub_zalloc(), these functions can fail if +we are out of memory. After allocating memory we should check if these +functions returned NULL and handle this error if they did. + +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper +Upstream: 13065f69dae0eeb60813809026de5bd021051892 +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/zfs/zfs.c | 26 ++++++++++++++++++++++++++ + 1 file changed, 26 insertions(+) + +diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c +index 9ab7bf319..6e6d1c921 100644 +--- a/grub-core/fs/zfs/zfs.c ++++ b/grub-core/fs/zfs/zfs.c +@@ -614,6 +614,8 @@ zfs_fetch_nvlist (struct grub_zfs_device_desc *diskdesc, char **nvlist) + return grub_error (GRUB_ERR_BUG, "member drive unknown"); + + *nvlist = grub_malloc (VDEV_PHYS_SIZE); ++ if (!*nvlist) ++ return grub_errno; + + /* Read in the vdev name-value pair list (112K). */ + err = grub_disk_read (diskdesc->dev->disk, diskdesc->vdev_phys_sector, 0, +@@ -725,6 +727,11 @@ fill_vdev_info_real (struct grub_zfs_data *data, + + fill->children = grub_calloc (fill->n_children, + sizeof (fill->children[0])); ++ if (!fill->children) ++ { ++ grub_free (type); ++ return grub_errno; ++ } + } + + for (i = 0; i < nelm; i++) +@@ -2457,6 +2464,11 @@ fzap_iterate (dnode_end_t * zap_dnode, zap_phys_t * zap, + return grub_errno; + } + buf = grub_malloc (sz); ++ if (!buf) ++ { ++ grub_free (l); ++ return grub_errno; ++ } + if (zap_leaf_array_get (l, endian, blksft, + grub_zfs_to_cpu16 (le->le_name_chunk, + endian), +@@ -2472,6 +2484,12 @@ fzap_iterate (dnode_end_t * zap_dnode, zap_phys_t * zap, + val_length = ((int) le->le_value_length + * (int) le->le_int_size); + val = grub_malloc (grub_zfs_to_cpu16 (val_length, endian)); ++ if (!val) ++ { ++ grub_free (l); ++ grub_free (buf); ++ return grub_errno; ++ } + if (zap_leaf_array_get (l, endian, blksft, + grub_zfs_to_cpu16 (le->le_value_chunk, + endian), +@@ -3714,6 +3732,11 @@ zfs_mount (grub_device_t dev) + data->n_devices_allocated = 16; + data->devices_attached = grub_calloc (data->n_devices_allocated, + sizeof (data->devices_attached[0])); ++ if (!data->devices_attached) ++ { ++ grub_free (data); ++ return NULL; ++ } + data->n_devices_attached = 0; + err = scan_disk (dev, data, 1, &inserted); + if (err) +@@ -4252,6 +4275,9 @@ iterate_zap_snap (const char *name, grub_uint64_t val, + return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("name length overflow")); + + name2 = grub_malloc (sz); ++ if (!name2) ++ return grub_errno; ++ + name2[0] = '@'; + grub_memcpy (name2 + 1, name, grub_strlen (name) + 1); + ret = ctx->hook (name2, &info, ctx->hook_data); +-- +2.50.1 + diff --git a/boot/grub2/0055-fs-zfs-Add-missing-NULL-check-after-grub_strdup-call.patch b/boot/grub2/0055-fs-zfs-Add-missing-NULL-check-after-grub_strdup-call.patch new file mode 100644 index 00000000000..0fcb427b749 --- /dev/null +++ b/boot/grub2/0055-fs-zfs-Add-missing-NULL-check-after-grub_strdup-call.patch @@ -0,0 +1,29 @@ +From f60272b284e98ecd4ee38ec06aab6587cf525616 Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Wed, 22 Jan 2025 07:17:04 +0000 +Subject: [PATCH] fs/zfs: Add missing NULL check after grub_strdup() call + +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper +Upstream: dd6a4c8d10e02ca5056681e75795041a343636e4 +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/zfs/zfs.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c +index 6e6d1c921..5ff647ffb 100644 +--- a/grub-core/fs/zfs/zfs.c ++++ b/grub-core/fs/zfs/zfs.c +@@ -3309,6 +3309,8 @@ dnode_get_fullpath (const char *fullpath, struct subvolume *subvol, + filename = 0; + snapname = 0; + fsname = grub_strdup (fullpath); ++ if (!fsname) ++ return grub_errno; + } + else + { +-- +2.50.1 + diff --git a/boot/grub2/0056-net-Use-safe-math-macros-to-prevent-overflows.patch b/boot/grub2/0056-net-Use-safe-math-macros-to-prevent-overflows.patch new file mode 100644 index 00000000000..111bfdf58a4 --- /dev/null +++ b/boot/grub2/0056-net-Use-safe-math-macros-to-prevent-overflows.patch @@ -0,0 +1,250 @@ +From 6cb15ce33f7c7153ef986f3fe710e22062d37ba7 Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Wed, 22 Jan 2025 18:04:42 +0000 +Subject: [PATCH] net: Use safe math macros to prevent overflows + +Replace direct arithmetic operations with macros from include/grub/safemath.h +to prevent potential overflow issues when calculating the memory sizes. + +Signed-off-by: Lidong Chen +Signed-off-by: Alec Brown +Reviewed-by: Daniel Kiper + +Conflicts: + grub-core/net/bootp.c + grub-core/net/net.c + +Upstream: 4beeff8a31c4fb4071d2225533cfa316b5a58391 +Signed-off-by: Thomas Petazzoni +--- + grub-core/net/bootp.c | 16 ++++++++-- + grub-core/net/dns.c | 9 +++++- + grub-core/net/drivers/ieee1275/ofnet.c | 20 ++++++++++-- + grub-core/net/net.c | 43 +++++++++++++++++++++----- + 4 files changed, 75 insertions(+), 13 deletions(-) + +diff --git a/grub-core/net/bootp.c b/grub-core/net/bootp.c +index abe45ef7b..2f45a3cc2 100644 +--- a/grub-core/net/bootp.c ++++ b/grub-core/net/bootp.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + struct grub_dhcp_discover_options + { +@@ -686,6 +687,7 @@ grub_cmd_dhcpopt (struct grub_command *cmd __attribute__ ((unused)), + unsigned num; + const grub_uint8_t *ptr; + grub_uint8_t taglength; ++ grub_uint8_t len; + + if (argc < 4) + return grub_error (GRUB_ERR_BAD_ARGUMENT, +@@ -727,7 +729,12 @@ grub_cmd_dhcpopt (struct grub_command *cmd __attribute__ ((unused)), + if (grub_strcmp (args[3], "string") == 0) + { + grub_err_t err = GRUB_ERR_NONE; +- char *val = grub_malloc (taglength + 1); ++ char *val; ++ ++ if (grub_add (taglength, 1, &len)) ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("tag length overflow")); ++ ++ val = grub_malloc (len); + if (!val) + return grub_errno; + grub_memcpy (val, ptr, taglength); +@@ -760,7 +767,12 @@ grub_cmd_dhcpopt (struct grub_command *cmd __attribute__ ((unused)), + if (grub_strcmp (args[3], "hex") == 0) + { + grub_err_t err = GRUB_ERR_NONE; +- char *val = grub_malloc (2 * taglength + 1); ++ char *val; ++ ++ if (grub_mul (taglength, 2, &len) || grub_add (len, 1, &len)) ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("tag length overflow")); ++ ++ val = grub_malloc (len); + int i; + if (!val) + return grub_errno; +diff --git a/grub-core/net/dns.c b/grub-core/net/dns.c +index fcc09aa65..39b0c46cf 100644 +--- a/grub-core/net/dns.c ++++ b/grub-core/net/dns.c +@@ -224,10 +224,17 @@ get_name (const grub_uint8_t *name_at, const grub_uint8_t *head, + { + int length; + char *ret; ++ int len; + + if (!check_name_real (name_at, head, tail, NULL, &length, NULL)) + return NULL; +- ret = grub_malloc (length + 1); ++ ++ if (grub_add (length, 1, &len)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("name length overflow")); ++ return NULL; ++ } ++ ret = grub_malloc (len); + if (!ret) + return NULL; + if (!check_name_real (name_at, head, tail, NULL, NULL, ret)) +diff --git a/grub-core/net/drivers/ieee1275/ofnet.c b/grub-core/net/drivers/ieee1275/ofnet.c +index 78f03df8e..c35b107ad 100644 +--- a/grub-core/net/drivers/ieee1275/ofnet.c ++++ b/grub-core/net/drivers/ieee1275/ofnet.c +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -391,6 +392,7 @@ search_net_devices (struct grub_ieee1275_devalias *alias) + grub_uint8_t *pprop; + char *shortname; + char need_suffix = 1; ++ grub_size_t sz; + + if (grub_strcmp (alias->type, "network") != 0) + return 0; +@@ -448,9 +450,23 @@ search_net_devices (struct grub_ieee1275_devalias *alias) + } + + if (need_suffix) +- ofdata->path = grub_malloc (grub_strlen (alias->path) + sizeof (SUFFIX)); ++ { ++ if (grub_add (grub_strlen (alias->path), sizeof (SUFFIX), &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow detected while obatining size of ofdata path")); ++ grub_print_error (); ++ return 0; ++ } ++ } + else +- ofdata->path = grub_malloc (grub_strlen (alias->path) + 1); ++ { ++ if (grub_add (grub_strlen (alias->path), 1, &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow detected while obatining size of ofdata path")); ++ grub_print_error (); ++ return 0; ++ } ++ } + if (!ofdata->path) + { + grub_print_error (); +diff --git a/grub-core/net/net.c b/grub-core/net/net.c +index 2bd490279..27df4669a 100644 +--- a/grub-core/net/net.c ++++ b/grub-core/net/net.c +@@ -32,6 +32,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -206,6 +207,7 @@ grub_net_ipv6_get_slaac (struct grub_net_card *card, + { + struct grub_net_slaac_mac_list *slaac; + char *ptr; ++ grub_size_t sz; + + for (slaac = card->slaac_list; slaac; slaac = slaac->next) + if (grub_net_hwaddr_cmp (&slaac->address, hwaddr) == 0) +@@ -215,9 +217,16 @@ grub_net_ipv6_get_slaac (struct grub_net_card *card, + if (!slaac) + return NULL; + +- slaac->name = grub_malloc (grub_strlen (card->name) +- + GRUB_NET_MAX_STR_HWADDR_LEN +- + sizeof (":slaac")); ++ if (grub_add (grub_strlen (card->name), ++ (GRUB_NET_MAX_STR_HWADDR_LEN + sizeof (":slaac")), &sz)) ++ { ++ grub_free (slaac); ++ grub_error (GRUB_ERR_OUT_OF_RANGE, ++ "overflow detected while obtaining size of slaac name"); ++ return NULL; ++ } ++ ++ slaac->name = grub_malloc (sz); + ptr = grub_stpcpy (slaac->name, card->name); + if (grub_net_hwaddr_cmp (&card->default_address, hwaddr) != 0) + { +@@ -288,6 +297,7 @@ grub_net_ipv6_get_link_local (struct grub_net_card *card, + char *name; + char *ptr; + grub_net_network_level_address_t addr; ++ grub_size_t sz; + + addr.type = GRUB_NET_NETWORK_LEVEL_PROTOCOL_IPV6; + addr.ipv6[0] = grub_cpu_to_be64_compile_time (0xfe80ULL << 48); +@@ -302,9 +312,14 @@ grub_net_ipv6_get_link_local (struct grub_net_card *card, + return inf; + } + +- name = grub_malloc (grub_strlen (card->name) +- + GRUB_NET_MAX_STR_HWADDR_LEN +- + sizeof (":link")); ++ if (grub_add (grub_strlen (card->name), ++ (GRUB_NET_MAX_STR_HWADDR_LEN + sizeof (":link")), &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, ++ "overflow detected while obtaining size of link name"); ++ return NULL; ++ } ++ name = grub_malloc (sz); + if (!name) + return NULL; + +@@ -1435,9 +1450,15 @@ grub_net_open_real (const char *name) + if (grub_strchr (port_start + 1, ':')) + { + int iplen = grub_strlen (server); ++ grub_size_t sz; + + /* Bracket bare IPv6 addr. */ +- host = grub_malloc (iplen + 3); ++ if (grub_add (iplen, 3, &sz)) ++ { ++ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow detected while obtaining length of host")); ++ return NULL; ++ } ++ host = grub_malloc (sz); + if (!host) + return NULL; + +@@ -1692,6 +1713,7 @@ grub_env_set_net_property (const char *intername, const char *suffix, + { + char *varname, *varvalue; + char *ptr; ++ grub_size_t sz; + + varname = grub_xasprintf ("net_%s_%s", intername, suffix); + if (!varname) +@@ -1699,7 +1721,12 @@ grub_env_set_net_property (const char *intername, const char *suffix, + for (ptr = varname; *ptr; ptr++) + if (*ptr == ':') + *ptr = '_'; +- varvalue = grub_malloc (len + 1); ++ if (grub_add (len, 1, &sz)) ++ { ++ grub_free (varname); ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, "overflow detected while obtaining the size of an env variable"); ++ } ++ varvalue = grub_malloc (sz); + if (!varvalue) + { + grub_free (varname); +-- +2.50.1 + diff --git a/boot/grub2/0057-net-Prevent-overflows-when-allocating-memory-for-arr.patch b/boot/grub2/0057-net-Prevent-overflows-when-allocating-memory-for-arr.patch new file mode 100644 index 00000000000..b4a50f6a4ff --- /dev/null +++ b/boot/grub2/0057-net-Prevent-overflows-when-allocating-memory-for-arr.patch @@ -0,0 +1,50 @@ +From 5d483e4c7c5a20a17a413f0cc51decfbb5828a5a Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Wed, 22 Jan 2025 18:04:43 +0000 +Subject: [PATCH] net: Prevent overflows when allocating memory for arrays + +Use grub_calloc() when allocating memory for arrays to ensure proper +overflow checks are in place. + +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper +Upstream: dee2c14fd66bc497cdc74c69fde8c9b84637c8eb +Signed-off-by: Thomas Petazzoni +--- + grub-core/net/dns.c | 4 ++-- + grub-core/net/net.c | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/grub-core/net/dns.c b/grub-core/net/dns.c +index 39b0c46cf..f20cd6f83 100644 +--- a/grub-core/net/dns.c ++++ b/grub-core/net/dns.c +@@ -470,8 +470,8 @@ grub_net_dns_lookup (const char *name, + && grub_get_time_ms () < dns_cache[h].limit_time) + { + grub_dprintf ("dns", "retrieved from cache\n"); +- *addresses = grub_malloc (dns_cache[h].naddresses +- * sizeof ((*addresses)[0])); ++ *addresses = grub_calloc (dns_cache[h].naddresses, ++ sizeof ((*addresses)[0])); + if (!*addresses) + return grub_errno; + *naddresses = dns_cache[h].naddresses; +diff --git a/grub-core/net/net.c b/grub-core/net/net.c +index 27df4669a..ea88ae8a8 100644 +--- a/grub-core/net/net.c ++++ b/grub-core/net/net.c +@@ -88,8 +88,8 @@ grub_net_link_layer_add_address (struct grub_net_card *card, + /* Add sender to cache table. */ + if (card->link_layer_table == NULL) + { +- card->link_layer_table = grub_zalloc (LINK_LAYER_CACHE_SIZE +- * sizeof (card->link_layer_table[0])); ++ card->link_layer_table = grub_calloc (LINK_LAYER_CACHE_SIZE, ++ sizeof (card->link_layer_table[0])); + if (card->link_layer_table == NULL) + return; + } +-- +2.50.1 + diff --git a/boot/grub2/0058-net-Check-if-returned-pointer-for-allocated-memory-i.patch b/boot/grub2/0058-net-Check-if-returned-pointer-for-allocated-memory-i.patch new file mode 100644 index 00000000000..4ed78b82bf3 --- /dev/null +++ b/boot/grub2/0058-net-Check-if-returned-pointer-for-allocated-memory-i.patch @@ -0,0 +1,36 @@ +From cc4c75dd3bf99f08fc2ef796b613c9413cf46399 Mon Sep 17 00:00:00 2001 +From: Alec Brown +Date: Wed, 22 Jan 2025 18:04:44 +0000 +Subject: [PATCH] net: Check if returned pointer for allocated memory is NULL + +When using grub_malloc(), the function can fail if we are out of memory. +After allocating memory we should check if this function returned NULL +and handle this error if it did. + +Signed-off-by: Alec Brown +Reviewed-by: Daniel Kiper +Upstream: 1c06ec900591d1fab6fbacf80dc010541d0a5ec8 +Signed-off-by: Thomas Petazzoni +--- + grub-core/net/net.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/grub-core/net/net.c b/grub-core/net/net.c +index ea88ae8a8..6774f4ad0 100644 +--- a/grub-core/net/net.c ++++ b/grub-core/net/net.c +@@ -227,6 +227,11 @@ grub_net_ipv6_get_slaac (struct grub_net_card *card, + } + + slaac->name = grub_malloc (sz); ++ if (slaac->name == NULL) ++ { ++ grub_free (slaac); ++ return NULL; ++ } + ptr = grub_stpcpy (slaac->name, card->name); + if (grub_net_hwaddr_cmp (&card->default_address, hwaddr) != 0) + { +-- +2.50.1 + diff --git a/boot/grub2/0059-fs-sfs-Check-if-allocated-memory-is-NULL.patch b/boot/grub2/0059-fs-sfs-Check-if-allocated-memory-is-NULL.patch new file mode 100644 index 00000000000..baf4efbac6e --- /dev/null +++ b/boot/grub2/0059-fs-sfs-Check-if-allocated-memory-is-NULL.patch @@ -0,0 +1,37 @@ +From afacc73c48934b66e18d9d12fef2ae6b44f105ea Mon Sep 17 00:00:00 2001 +From: Alec Brown +Date: Tue, 28 Jan 2025 05:15:50 +0000 +Subject: [PATCH] fs/sfs: Check if allocated memory is NULL + +When using grub_zalloc(), if we are out of memory, this function can fail. +After allocating memory, we should check if grub_zalloc() returns NULL. +If so, we should handle this error. + +Fixes: CID 473856 + +Signed-off-by: Alec Brown +Reviewed-by: Ross Philipson +Reviewed-by: Daniel Kiper +Upstream: e3c578a56f9294e286b6028ca7c1def997a17b15 +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/sfs.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/grub-core/fs/sfs.c b/grub-core/fs/sfs.c +index 88705b3a2..bad4ae8d1 100644 +--- a/grub-core/fs/sfs.c ++++ b/grub-core/fs/sfs.c +@@ -429,6 +429,9 @@ grub_sfs_mount (grub_disk_t disk) + - 24 /* offsetof (struct grub_sfs_objc, objects) */ + - 25); /* offsetof (struct grub_sfs_obj, filename) */ + data->label = grub_zalloc (max_len + 1); ++ if (data->label == NULL) ++ goto fail; ++ + grub_strncpy (data->label, (char *) rootobjc->objects[0].filename, max_len); + + grub_free (rootobjc_data); +-- +2.50.1 + diff --git a/boot/grub2/0060-script-execute-Fix-potential-underflow-and-NULL-dere.patch b/boot/grub2/0060-script-execute-Fix-potential-underflow-and-NULL-dere.patch new file mode 100644 index 00000000000..f84ee5de1f0 --- /dev/null +++ b/boot/grub2/0060-script-execute-Fix-potential-underflow-and-NULL-dere.patch @@ -0,0 +1,37 @@ +From 6cb70802581222ba80a37c3e2fd4b8357a859dad Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Wed, 29 Jan 2025 06:48:37 +0000 +Subject: [PATCH] script/execute: Fix potential underflow and NULL dereference + +The result is initialized to 0 in grub_script_arglist_to_argv(). +If the for loop condition is not met both result.args and result.argc +remain 0 causing result.argc - 1 to underflow and/or result.args NULL +dereference. Fix the issues by adding relevant checks. + +Fixes: CID 473880 + +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper +Upstream: d13b6e8ebd10b4eb16698a002aa40258cf6e6f0e +Signed-off-by: Thomas Petazzoni +--- + grub-core/script/execute.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c +index e1450f45d..a86e0051f 100644 +--- a/grub-core/script/execute.c ++++ b/grub-core/script/execute.c +@@ -760,6 +760,9 @@ cleanup: + } + } + ++ if (result.args == NULL || result.argc == 0) ++ goto fail; ++ + if (! result.args[result.argc - 1]) + result.argc--; + +-- +2.50.1 + diff --git a/boot/grub2/0061-osdep-unix-getroot-Fix-potential-underflow.patch b/boot/grub2/0061-osdep-unix-getroot-Fix-potential-underflow.patch new file mode 100644 index 00000000000..6a5588c34ec --- /dev/null +++ b/boot/grub2/0061-osdep-unix-getroot-Fix-potential-underflow.patch @@ -0,0 +1,40 @@ +From 050f09a5e16a935be4a4770f59f2a7ff977fc088 Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Wed, 29 Jan 2025 06:48:38 +0000 +Subject: [PATCH] osdep/unix/getroot: Fix potential underflow + +The entry_len is initialized in grub_find_root_devices_from_mountinfo() +to 0 before the while loop iterates through /proc/self/mountinfo. If the +file is empty or contains only invalid entries entry_len remains +0 causing entry_len - 1 in the subsequent for loop initialization +to underflow. To prevent this add a check to ensure entry_len > 0 before +entering the for loop. + +Fixes: CID 473877 + +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper +Reviewed-by: Ross Philipson +Upstream: 66733f7c7dae889861ea3ef3ec0710811486019e +Signed-off-by: Thomas Petazzoni +--- + grub-core/osdep/linux/getroot.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/grub-core/osdep/linux/getroot.c b/grub-core/osdep/linux/getroot.c +index 7dd775d2a..527d4f0c5 100644 +--- a/grub-core/osdep/linux/getroot.c ++++ b/grub-core/osdep/linux/getroot.c +@@ -484,6 +484,9 @@ again: + } + } + ++ if (!entry_len) ++ goto out; ++ + /* Now scan visible mounts for the ones we're interested in. */ + for (i = entry_len - 1; i >= 0; i--) + { +-- +2.50.1 + diff --git a/boot/grub2/0062-misc-Ensure-consistent-overflow-error-messages.patch b/boot/grub2/0062-misc-Ensure-consistent-overflow-error-messages.patch new file mode 100644 index 00000000000..2add69d9430 --- /dev/null +++ b/boot/grub2/0062-misc-Ensure-consistent-overflow-error-messages.patch @@ -0,0 +1,60 @@ +From 3a844f1139dd6fdcc90278239c8f6ea43aad9f2e Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Tue, 21 Jan 2025 19:02:39 +0000 +Subject: [PATCH] misc: Ensure consistent overflow error messages + +Update the overflow error messages to make them consistent +across the GRUB code. + +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper +Upstream: f8795cde217e21539c2f236bcbb1a4bf521086b3 +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/ntfs.c | 2 +- + grub-core/fs/ntfscomp.c | 2 +- + grub-core/video/readers/png.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/grub-core/fs/ntfs.c b/grub-core/fs/ntfs.c +index bce81947c..b4c70a71d 100644 +--- a/grub-core/fs/ntfs.c ++++ b/grub-core/fs/ntfs.c +@@ -364,7 +364,7 @@ retry: + goto retry; + } + } +- return grub_error (GRUB_ERR_BAD_FS, "run list overflown"); ++ return grub_error (GRUB_ERR_BAD_FS, "run list overflow"); + } + ctx->curr_vcn = ctx->next_vcn; + ctx->next_vcn += read_run_data (run, c1, 0); /* length of current VCN */ +diff --git a/grub-core/fs/ntfscomp.c b/grub-core/fs/ntfscomp.c +index f168a318e..b68bf5e40 100644 +--- a/grub-core/fs/ntfscomp.c ++++ b/grub-core/fs/ntfscomp.c +@@ -30,7 +30,7 @@ static grub_err_t + decomp_nextvcn (struct grub_ntfs_comp *cc) + { + if (cc->comp_head >= cc->comp_tail) +- return grub_error (GRUB_ERR_BAD_FS, "compression block overflown"); ++ return grub_error (GRUB_ERR_BAD_FS, "compression block overflow"); + if (grub_disk_read + (cc->disk, + (cc->comp_table[cc->comp_head].next_lcn - +diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c +index 3163e97bf..aa7524b7d 100644 +--- a/grub-core/video/readers/png.c ++++ b/grub-core/video/readers/png.c +@@ -626,7 +626,7 @@ static grub_err_t + grub_png_output_byte (struct grub_png_data *data, grub_uint8_t n) + { + if (--data->raw_bytes < 0) +- return grub_error (GRUB_ERR_BAD_FILE_TYPE, "image size overflown"); ++ return grub_error (GRUB_ERR_BAD_FILE_TYPE, "image size overflow"); + + if (data->cur_column == 0) + { +-- +2.50.1 + diff --git a/boot/grub2/0063-bus-usb-ehci-Define-GRUB_EHCI_TOGGLE-as-grub_uint32_.patch b/boot/grub2/0063-bus-usb-ehci-Define-GRUB_EHCI_TOGGLE-as-grub_uint32_.patch new file mode 100644 index 00000000000..18d5e880875 --- /dev/null +++ b/boot/grub2/0063-bus-usb-ehci-Define-GRUB_EHCI_TOGGLE-as-grub_uint32_.patch @@ -0,0 +1,35 @@ +From 12dae049169b978aaa1e162f40954910ad90f2df Mon Sep 17 00:00:00 2001 +From: Alec Brown +Date: Tue, 4 Feb 2025 15:11:10 +0000 +Subject: [PATCH] bus/usb/ehci: Define GRUB_EHCI_TOGGLE as grub_uint32_t + +The Coverity indicates that GRUB_EHCI_TOGGLE is an int that contains +a negative value and we are using it for the variable token which is +grub_uint32_t. To remedy this we can cast the definition to grub_uint32_t. + +Fixes: CID 473851 + +Signed-off-by: Alec Brown +Reviewed-by: Daniel Kiper +Upstream: 9907d9c2723304b42cf6da74f1cc6c4601391956 +Signed-off-by: Thomas Petazzoni +--- + grub-core/bus/usb/ehci.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/grub-core/bus/usb/ehci.c b/grub-core/bus/usb/ehci.c +index 9abebc6bd..2db07c7c0 100644 +--- a/grub-core/bus/usb/ehci.c ++++ b/grub-core/bus/usb/ehci.c +@@ -218,7 +218,7 @@ enum + + #define GRUB_EHCI_TERMINATE (1<<0) + +-#define GRUB_EHCI_TOGGLE (1<<31) ++#define GRUB_EHCI_TOGGLE ((grub_uint32_t) 1<<31) + + enum + { +-- +2.50.1 + diff --git a/boot/grub2/0064-normal-menu-Use-safe-math-to-avoid-an-integer-overfl.patch b/boot/grub2/0064-normal-menu-Use-safe-math-to-avoid-an-integer-overfl.patch new file mode 100644 index 00000000000..8dffc38fa4c --- /dev/null +++ b/boot/grub2/0064-normal-menu-Use-safe-math-to-avoid-an-integer-overfl.patch @@ -0,0 +1,46 @@ +From 6fa61b113427cb9db600a4a2a2f38ce09595f15f Mon Sep 17 00:00:00 2001 +From: Alec Brown +Date: Tue, 4 Feb 2025 15:11:11 +0000 +Subject: [PATCH] normal/menu: Use safe math to avoid an integer overflow + +The Coverity indicates that the variable current_entry might overflow. +To prevent this use safe math when adding GRUB_MENU_PAGE_SIZE to current_entry. + +On the occasion fix limiting condition which was broken. + +Fixes: CID 473853 + +Signed-off-by: Alec Brown +Reviewed-by: Daniel Kiper +Upstream: 5b36a5210e21bee2624f8acc36aefd8f10266adb +Signed-off-by: Thomas Petazzoni +--- + grub-core/normal/menu.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/grub-core/normal/menu.c b/grub-core/normal/menu.c +index 6a90e091f..7ac6abf93 100644 +--- a/grub-core/normal/menu.c ++++ b/grub-core/normal/menu.c +@@ -32,6 +32,7 @@ + #include + #include + #include ++#include + + /* Time to delay after displaying an error message about a default/fallback + entry failing to boot. */ +@@ -751,9 +752,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot, int *notify_boot) + + case GRUB_TERM_CTRL | 'c': + case GRUB_TERM_KEY_NPAGE: +- if (current_entry + GRUB_MENU_PAGE_SIZE < menu->size) +- current_entry += GRUB_MENU_PAGE_SIZE; +- else ++ if (grub_add (current_entry, GRUB_MENU_PAGE_SIZE, ¤t_entry) || current_entry >= menu->size) + current_entry = menu->size - 1; + menu_set_chosen_entry (current_entry); + break; +-- +2.50.1 + diff --git a/boot/grub2/0065-kern-partition-Add-sanity-check-after-grub_strtoul-c.patch b/boot/grub2/0065-kern-partition-Add-sanity-check-after-grub_strtoul-c.patch new file mode 100644 index 00000000000..3f35ba50196 --- /dev/null +++ b/boot/grub2/0065-kern-partition-Add-sanity-check-after-grub_strtoul-c.patch @@ -0,0 +1,51 @@ +From d5385ae4e4d0c443e188e43c2b0703b68aaf55a3 Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Thu, 6 Feb 2025 18:16:56 +0000 +Subject: [PATCH] kern/partition: Add sanity check after grub_strtoul() call + +The current code incorrectly assumes that both the input and the values +returned by grub_strtoul() are always valid which can lead to potential +errors. This fix ensures proper validation to prevent any unintended issues. + +Fixes: CID 473843 + +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper +Upstream: 8e6e87e7923ca2ae880021cb42a35cc9bb4c8fe2 +Signed-off-by: Thomas Petazzoni +--- + grub-core/kern/partition.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/grub-core/kern/partition.c b/grub-core/kern/partition.c +index 704512a20..c6a578cf4 100644 +--- a/grub-core/kern/partition.c ++++ b/grub-core/kern/partition.c +@@ -125,14 +125,22 @@ grub_partition_probe (struct grub_disk *disk, const char *str) + for (ptr = str; *ptr;) + { + grub_partition_map_t partmap; +- int num; ++ unsigned long num; + const char *partname, *partname_end; + + partname = ptr; + while (*ptr && grub_isalpha (*ptr)) + ptr++; + partname_end = ptr; +- num = grub_strtoul (ptr, &ptr, 0) - 1; ++ ++ num = grub_strtoul (ptr, &ptr, 0); ++ if (*ptr != '\0' || num == 0 || num > GRUB_INT_MAX) ++ { ++ grub_error (GRUB_ERR_BAD_NUMBER, N_("invalid partition number")); ++ return 0; ++ } ++ ++ num -= 1; + + curpart = 0; + /* Use the first partition map type found. */ +-- +2.50.1 + diff --git a/boot/grub2/0066-kern-misc-Add-sanity-check-after-grub_strtoul-call.patch b/boot/grub2/0066-kern-misc-Add-sanity-check-after-grub_strtoul-call.patch new file mode 100644 index 00000000000..7e9e377154b --- /dev/null +++ b/boot/grub2/0066-kern-misc-Add-sanity-check-after-grub_strtoul-call.patch @@ -0,0 +1,62 @@ +From 009d1b7189c6eba0b8d284c94a9ef7dc9db351d1 Mon Sep 17 00:00:00 2001 +From: Lidong Chen +Date: Thu, 6 Feb 2025 18:16:57 +0000 +Subject: [PATCH] kern/misc: Add sanity check after grub_strtoul() call + +When the format string, fmt0, includes a positional argument +grub_strtoul() or grub_strtoull() is called to extract the argument +position. However, the returned argument position isn't fully validated. +If the format is something like "%0$x" then these functions return +0 which leads to an underflow in the calculation of the args index, curn. +The fix is to add a check to ensure the extracted argument position is +greater than 0 before computing curn. Additionally, replace one +grub_strtoull() with grub_strtoul() and change curn type to make code +more correct. + +Fixes: CID 473841 + +Signed-off-by: Lidong Chen +Reviewed-by: Daniel Kiper +Upstream: a8d6b06331a75d75b46f3dd6cc6fcd40dcf604b7 +Signed-off-by: Thomas Petazzoni +--- + grub-core/kern/misc.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c +index 7cee5d75c..2b7922393 100644 +--- a/grub-core/kern/misc.c ++++ b/grub-core/kern/misc.c +@@ -830,7 +830,7 @@ parse_printf_arg_fmt (const char *fmt0, struct printf_args *args, + while ((c = *fmt++) != 0) + { + int longfmt = 0; +- grub_size_t curn; ++ unsigned long curn; + const char *p; + + if (c != '%') +@@ -848,7 +848,10 @@ parse_printf_arg_fmt (const char *fmt0, struct printf_args *args, + + if (*fmt == '$') + { +- curn = grub_strtoull (p, 0, 10) - 1; ++ curn = grub_strtoul (p, 0, 10); ++ if (curn == 0) ++ continue; ++ curn--; + fmt++; + } + +@@ -1034,6 +1037,8 @@ grub_vsnprintf_real (char *str, grub_size_t max_len, const char *fmt0, + + if (*fmt == '$') + { ++ if (format1 == 0) ++ continue; + curn = format1 - 1; + fmt++; + format1 = 0; +-- +2.50.1 + diff --git a/boot/grub2/0067-loader-i386-linux-Cast-left-shift-to-grub_uint32_t.patch b/boot/grub2/0067-loader-i386-linux-Cast-left-shift-to-grub_uint32_t.patch new file mode 100644 index 00000000000..7cdef992beb --- /dev/null +++ b/boot/grub2/0067-loader-i386-linux-Cast-left-shift-to-grub_uint32_t.patch @@ -0,0 +1,35 @@ +From 3668d0c12b0604d08cf290529797c348a59483ea Mon Sep 17 00:00:00 2001 +From: Alec Brown +Date: Fri, 7 Feb 2025 01:47:57 +0000 +Subject: [PATCH] loader/i386/linux: Cast left shift to grub_uint32_t + +The Coverity complains that we might overflow into a negative value when +setting linux_params.kernel_alignment to (1 << align). We can remedy +this by casting it to grub_uint32_t. + +Fixes: CID 473876 + +Signed-off-by: Alec Brown +Reviewed-by: Daniel Kiper +Upstream: 490a6ab71cebd96fae7a1ceb9067484f5ccbec2a +Signed-off-by: Thomas Petazzoni +--- + grub-core/loader/i386/linux.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/grub-core/loader/i386/linux.c b/grub-core/loader/i386/linux.c +index 977757f2c..b051600c8 100644 +--- a/grub-core/loader/i386/linux.c ++++ b/grub-core/loader/i386/linux.c +@@ -806,7 +806,7 @@ grub_cmd_linux (grub_command_t cmd __attribute__ ((unused)), + } + + linux_params.code32_start = prot_mode_target + lh.code32_start - GRUB_LINUX_BZIMAGE_ADDR; +- linux_params.kernel_alignment = (1 << align); ++ linux_params.kernel_alignment = ((grub_uint32_t) 1 << align); + linux_params.ps_mouse = linux_params.padding11 = 0; + linux_params.type_of_loader = GRUB_LINUX_BOOT_LOADER_TYPE; + +-- +2.50.1 + diff --git a/boot/grub2/0068-loader-i386-bsd-Use-safe-math-to-avoid-underflow.patch b/boot/grub2/0068-loader-i386-bsd-Use-safe-math-to-avoid-underflow.patch new file mode 100644 index 00000000000..e9a7acc0845 --- /dev/null +++ b/boot/grub2/0068-loader-i386-bsd-Use-safe-math-to-avoid-underflow.patch @@ -0,0 +1,61 @@ +From 02a0365799f5ca3d70c4e28b5d11ade56c4c1652 Mon Sep 17 00:00:00 2001 +From: Alec Brown +Date: Wed, 5 Feb 2025 22:04:08 +0000 +Subject: [PATCH] loader/i386/bsd: Use safe math to avoid underflow + +The operation kern_end - kern_start may underflow when we input it into +grub_relocator_alloc_chunk_addr() call. To avoid this we can use safe +math for this subtraction. + +Fixes: CID 73845 + +Signed-off-by: Alec Brown +Reviewed-by: Daniel Kiper +Upstream: 4dc6166571645780c459dde2cdc1b001a5ec844c +Signed-off-by: Thomas Petazzoni +--- + grub-core/loader/i386/bsd.c | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +diff --git a/grub-core/loader/i386/bsd.c b/grub-core/loader/i386/bsd.c +index 1f9128f6f..578433402 100644 +--- a/grub-core/loader/i386/bsd.c ++++ b/grub-core/loader/i386/bsd.c +@@ -1340,6 +1340,7 @@ static grub_err_t + grub_bsd_load_elf (grub_elf_t elf, const char *filename) + { + grub_err_t err; ++ grub_size_t sz; + + kern_end = 0; + kern_start = ~0; +@@ -1370,8 +1371,11 @@ grub_bsd_load_elf (grub_elf_t elf, const char *filename) + + if (grub_errno) + return grub_errno; +- err = grub_relocator_alloc_chunk_addr (relocator, &ch, +- kern_start, kern_end - kern_start); ++ ++ if (grub_sub (kern_end, kern_start, &sz)) ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, "underflow detected while determining size of kernel for relocator"); ++ ++ err = grub_relocator_alloc_chunk_addr (relocator, &ch, kern_start, sz); + if (err) + return err; + +@@ -1431,8 +1435,10 @@ grub_bsd_load_elf (grub_elf_t elf, const char *filename) + { + grub_relocator_chunk_t ch; + +- err = grub_relocator_alloc_chunk_addr (relocator, &ch, kern_start, +- kern_end - kern_start); ++ if (grub_sub (kern_end, kern_start, &sz)) ++ return grub_error (GRUB_ERR_OUT_OF_RANGE, "underflow detected while determining size of kernel for relocator"); ++ ++ err = grub_relocator_alloc_chunk_addr (relocator, &ch, kern_start, sz); + if (err) + return err; + kern_chunk_src = get_virtual_current_address (ch); +-- +2.50.1 + diff --git a/boot/grub2/0069-fs-ext2-Rework-out-of-bounds-read-for-inline-and-ext.patch b/boot/grub2/0069-fs-ext2-Rework-out-of-bounds-read-for-inline-and-ext.patch new file mode 100644 index 00000000000..f39210c0c69 --- /dev/null +++ b/boot/grub2/0069-fs-ext2-Rework-out-of-bounds-read-for-inline-and-ext.patch @@ -0,0 +1,69 @@ +From 156ee67f3e76aee99d6e40e5e029f56d681cb80a Mon Sep 17 00:00:00 2001 +From: Michael Chang +Date: Fri, 21 Feb 2025 09:06:12 +0800 +Subject: [PATCH] fs/ext2: Rework out-of-bounds read for inline and external + extents + +Previously, the number of extent entries was not properly capped based +on the actual available space. This could lead to insufficient reads for +external extents, since the computation was based solely on the inline +extent layout. + +In this patch, when processing the extent header, we determine whether +the header is stored inline (i.e., at inode->blocks.dir_blocks) or in an +external extent block. We then clamp the number of entries accordingly +(using max_inline_ext for inline extents and max_external_ext for +external extent blocks). + +This change ensures that only the valid number of extent entries is +processed, preventing out-of-bound reads and potential filesystem +corruption. + +Fixes: 7e2f750f0a (fs/ext2: Fix out-of-bounds read for inline extents) + +Signed-off-by: Michael Chang +Upstream: 348cd416a3574348f4255bf2b04ec95938990997 +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/ext2.c | 17 +++++++++++++++-- + 1 file changed, 15 insertions(+), 2 deletions(-) + +diff --git a/grub-core/fs/ext2.c b/grub-core/fs/ext2.c +index c3058f7e7..a38c86c4f 100644 +--- a/grub-core/fs/ext2.c ++++ b/grub-core/fs/ext2.c +@@ -496,7 +496,10 @@ grub_ext2_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock) + int i; + grub_disk_addr_t ret; + grub_uint16_t nent; ++ /* maximum number of extent entries in the inode's inline extent area */ + const grub_uint16_t max_inline_ext = sizeof (inode->blocks) / sizeof (*ext) - 1; /* Minus 1 extent header. */ ++ /* maximum number of extent entries in the external extent block */ ++ const grub_uint16_t max_external_ext = EXT2_BLOCK_SIZE(data) / sizeof (*ext) - 1; /* Minus 1 extent header. */ + + if (grub_ext4_find_leaf (data, (struct grub_ext4_extent_header *) inode->blocks.dir_blocks, + fileblock, &leaf) != GRUB_ERR_NONE) +@@ -513,8 +516,18 @@ grub_ext2_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock) + + nent = grub_le_to_cpu16 (leaf->entries); + +- if (leaf->depth == 0) +- nent = grub_min (nent, max_inline_ext); ++ /* ++ * Determine the effective number of extent entries (nent) to process: ++ * If the extent header (leaf) is stored inline in the inode's block ++ * area (i.e. at inode->blocks.dir_blocks), then only max_inline_ext ++ * entries can fit. ++ * Otherwise, if the header was read from an external extent block, use ++ * the larger limit, max_external_ext, based on the full block size. ++ */ ++ if (leaf == (struct grub_ext4_extent_header *) inode->blocks.dir_blocks) ++ nent = grub_min (nent, max_inline_ext); ++ else ++ nent = grub_min (nent, max_external_ext); + + for (i = 0; i < nent; i++) + { +-- +2.50.1 + diff --git a/boot/grub2/0070-fs-xfs-Fix-grub_xfs_iterate_dir-return-value-in-case.patch b/boot/grub2/0070-fs-xfs-Fix-grub_xfs_iterate_dir-return-value-in-case.patch new file mode 100644 index 00000000000..3a5769e6cc9 --- /dev/null +++ b/boot/grub2/0070-fs-xfs-Fix-grub_xfs_iterate_dir-return-value-in-case.patch @@ -0,0 +1,53 @@ +From f5234334c2c5958a55c2bdfbcaf63b6814d31d5f Mon Sep 17 00:00:00 2001 +From: Egor Ignatov +Date: Thu, 23 Jan 2025 20:44:14 +0300 +Subject: [PATCH] fs/xfs: Fix grub_xfs_iterate_dir return value in case of + failure + +Commit ef7850c757 introduced multiple boundary checks in grub_xfs_iterate_dir() +but handled the error incorrectly returning error code instead of 0. + +Also change the error message so that it doesn't match the message +in grub_xfs_read_inode(). + +Fixes: ef7850c757 (fs/xfs: Fix issues found while fuzzing the XFS filesystem) + +Signed-off-by: Egor Ignatov +Upstream: f209887381a56dea79152ab26ffb485718e3218e +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/xfs.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/grub-core/fs/xfs.c b/grub-core/fs/xfs.c +index 70c9f449b..e0daeb45f 100644 +--- a/grub-core/fs/xfs.c ++++ b/grub-core/fs/xfs.c +@@ -870,7 +870,11 @@ grub_xfs_iterate_dir (grub_fshelp_node_t dir, + grub_uint8_t c; + + if ((inopos + (smallino ? 4 : 8)) > (grub_uint8_t *) dir + grub_xfs_fshelp_size (dir->data)) +- return grub_error (GRUB_ERR_BAD_FS, "not a correct XFS inode"); ++ { ++ grub_error (GRUB_ERR_BAD_FS, "invalid XFS inode"); ++ return 0; ++ } ++ + + /* inopos might be unaligned. */ + if (smallino) +@@ -979,7 +983,10 @@ grub_xfs_iterate_dir (grub_fshelp_node_t dir, + + filename = (char *)(direntry + 1); + if (filename + direntry->len + 1 > (char *) end) +- return grub_error (GRUB_ERR_BAD_FS, "invalid XFS directory entry"); ++ { ++ grub_error (GRUB_ERR_BAD_FS, "invalid XFS directory entry"); ++ return 0; ++ } + + /* The byte after the filename is for the filetype, padding, or + tag, which is not used by GRUB. So it can be overwritten. */ +-- +2.50.1 + diff --git a/boot/grub2/0071-fs-xfs-Propagate-incorrect-inode-error-from-grub_xfs.patch b/boot/grub2/0071-fs-xfs-Propagate-incorrect-inode-error-from-grub_xfs.patch new file mode 100644 index 00000000000..05e31957c57 --- /dev/null +++ b/boot/grub2/0071-fs-xfs-Propagate-incorrect-inode-error-from-grub_xfs.patch @@ -0,0 +1,77 @@ +From 6becb747027c4f9cdb10f23d6eb24fcc238e8b68 Mon Sep 17 00:00:00 2001 +From: Egor Ignatov +Date: Thu, 23 Jan 2025 20:44:15 +0300 +Subject: [PATCH] fs/xfs: Propagate incorrect inode error from + grub_xfs_read_inode + +The incorrect inode error from grub_xfs_read_inode did not propagate because +grub_print_error() resetted grub_errno, and grub_xfs_iterate_dir() did not +handle it at all. + +Signed-off-by: Egor Ignatov +Upstream: https://www.mail-archive.com/grub-devel@gnu.org/msg40098.html +[Not accepted upstream, but in Debian] +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/xfs.c | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/grub-core/fs/xfs.c b/grub-core/fs/xfs.c +index e0daeb45f..28a342996 100644 +--- a/grub-core/fs/xfs.c ++++ b/grub-core/fs/xfs.c +@@ -806,7 +806,6 @@ static int iterate_dir_call_hook (grub_uint64_t ino, const char *filename, + fdiro = grub_malloc (sz); + if (!fdiro) + { +- grub_print_error (); + return 0; + } + +@@ -818,7 +817,6 @@ static int iterate_dir_call_hook (grub_uint64_t ino, const char *filename, + err = grub_xfs_read_inode (ctx->diro->data, ino, &fdiro->inode); + if (err) + { +- grub_print_error (); + grub_free (fdiro); + return 0; + } +@@ -858,9 +856,13 @@ grub_xfs_iterate_dir (grub_fshelp_node_t dir, + /* Synthesize the direntries for `.' and `..'. */ + if (iterate_dir_call_hook (diro->ino, ".", &ctx)) + return 1; ++ else if (grub_errno) ++ return 0; + + if (iterate_dir_call_hook (parent, "..", &ctx)) + return 1; ++ else if (grub_errno) ++ return 0; + + for (i = 0; i < head->count && + (grub_uint8_t *) de < ((grub_uint8_t *) dir + grub_xfs_fshelp_size (dir->data)); i++) +@@ -901,6 +903,9 @@ grub_xfs_iterate_dir (grub_fshelp_node_t dir, + } + de->name[de->len] = c; + ++ if (grub_errno) ++ return 0; ++ + de = grub_xfs_inline_next_de(dir->data, head, de); + } + break; +@@ -998,6 +1003,11 @@ grub_xfs_iterate_dir (grub_fshelp_node_t dir, + grub_free (dirblock); + return 1; + } ++ else if (grub_errno) ++ { ++ grub_free (dirblock); ++ return 0; ++ } + + /* + * The expected number of directory entries is only tracked for the +-- +2.50.1 + diff --git a/boot/grub2/0072-fs-xfs-Handle-root-inode-read-failure-in-grub_xfs_mo.patch b/boot/grub2/0072-fs-xfs-Handle-root-inode-read-failure-in-grub_xfs_mo.patch new file mode 100644 index 00000000000..2d5887dfca9 --- /dev/null +++ b/boot/grub2/0072-fs-xfs-Handle-root-inode-read-failure-in-grub_xfs_mo.patch @@ -0,0 +1,29 @@ +From 462f1d1a64e57310d10dcd325b36587a1a367d0a Mon Sep 17 00:00:00 2001 +From: Egor Ignatov +Date: Thu, 23 Jan 2025 20:44:13 +0300 +Subject: [PATCH] fs/xfs: Handle root inode read failure in grub_xfs_mount + +Signed-off-by: Egor Ignatov +Upstream: https://www.mail-archive.com/grub-devel@gnu.org/msg40099.html +[Not accepted upstream, but in Debian] +Signed-off-by: Thomas Petazzoni +--- + grub-core/fs/xfs.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/grub-core/fs/xfs.c b/grub-core/fs/xfs.c +index 28a342996..59bdee5f9 100644 +--- a/grub-core/fs/xfs.c ++++ b/grub-core/fs/xfs.c +@@ -1086,6 +1086,8 @@ grub_xfs_mount (grub_disk_t disk) + grub_cpu_to_be64(data->sblock.rootino)); + + grub_xfs_read_inode (data, data->diropen.ino, &data->diropen.inode); ++ if (grub_errno) ++ goto fail; + + return data; + fail: +-- +2.50.1 + diff --git a/boot/grub2/0073-net-drivers-ieee1275-ofnet-Add-missing-grub_malloc.patch b/boot/grub2/0073-net-drivers-ieee1275-ofnet-Add-missing-grub_malloc.patch new file mode 100644 index 00000000000..97bad8c6358 --- /dev/null +++ b/boot/grub2/0073-net-drivers-ieee1275-ofnet-Add-missing-grub_malloc.patch @@ -0,0 +1,36 @@ +From 516af0a5bd172123d4c7ff281d65b1f4b0035258 Mon Sep 17 00:00:00 2001 +From: Nicolas Frayer +Date: Wed, 19 Mar 2025 17:39:41 +0100 +Subject: [PATCH] net/drivers/ieee1275/ofnet: Add missing grub_malloc() + +The grub_malloc() has been inadvertently removed from the code after it +has been modified to use safe math functions. + +Fixes: 4beeff8a (net: Use safe math macros to prevent overflows) + +Signed-off-by: Nicolas Frayer +Tested-by: Marta Lewandowska +Reviewed-by: Daniel Kiper +Upstream: 3b25e494d47e7a728e7ce6264b10f2aa1063f9c7 +Signed-off-by: Thomas Petazzoni +--- + grub-core/net/drivers/ieee1275/ofnet.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/grub-core/net/drivers/ieee1275/ofnet.c b/grub-core/net/drivers/ieee1275/ofnet.c +index c35b107ad..3004b970e 100644 +--- a/grub-core/net/drivers/ieee1275/ofnet.c ++++ b/grub-core/net/drivers/ieee1275/ofnet.c +@@ -467,6 +467,9 @@ search_net_devices (struct grub_ieee1275_devalias *alias) + return 0; + } + } ++ ++ ofdata->path = grub_malloc (sz); ++ + if (!ofdata->path) + { + grub_print_error (); +-- +2.50.1 + diff --git a/boot/grub2/0074-Constant-time-grub_crypto_memcmp.patch b/boot/grub2/0074-Constant-time-grub_crypto_memcmp.patch new file mode 100644 index 00000000000..e7d89e02e70 --- /dev/null +++ b/boot/grub2/0074-Constant-time-grub_crypto_memcmp.patch @@ -0,0 +1,64 @@ +From 4bbd6ae38efc7c0ae9ffd343157b7f3f37bd729c Mon Sep 17 00:00:00 2001 +From: Gary Lin +Date: Fri, 25 Jul 2025 13:50:23 +0800 +Subject: [PATCH] Constant-time grub_crypto_memcmp() + +Use the constant-time algorithm to compare the given memory blocks. +The code is extracted from the upstream commit: +0739d24cd1648531d0708d1079ff6bbfa6140268 + +Fix: bsc#1234959 + +CVE: CVE-2024-56738 +Signed-off-by: Gary Lin +Upstream: not submitted upstream, as upstream has switched to gcrypt +Taken-from: https://build.opensuse.org/projects/SUSE:SLE-15-SP5:Update/packages/grub2.39923/files/grub2-constant-time-grub_crypto_memcmp.patch?expand=0 +Fixes: https://www.cve.org/CVERecord?id=CVE-2024-56738 +Signed-off-by: Thomas Petazzoni +--- + grub-core/lib/crypto.c | 23 ++++++++++++++++------- + 1 file changed, 16 insertions(+), 7 deletions(-) + +diff --git a/grub-core/lib/crypto.c b/grub-core/lib/crypto.c +index 396f76410..19db7870a 100644 +--- a/grub-core/lib/crypto.c ++++ b/grub-core/lib/crypto.c +@@ -433,19 +433,28 @@ grub_crypto_gcry_error (gcry_err_code_t in) + return GRUB_ACCESS_DENIED; + } + ++/* ++ * Compare byte arrays of length LEN, return 1 if it's not same, ++ * 0, otherwise. ++ */ + int +-grub_crypto_memcmp (const void *a, const void *b, grub_size_t n) ++grub_crypto_memcmp (const void *b1, const void *b2, grub_size_t len) + { +- register grub_size_t counter = 0; +- const grub_uint8_t *pa, *pb; ++ const grub_uint8_t *a = b1; ++ const grub_uint8_t *b = b2; ++ int ab, ba; ++ grub_size_t i; + +- for (pa = a, pb = b; n; pa++, pb++, n--) ++ /* Constant-time compare. */ ++ for (i = 0, ab = 0, ba = 0; i < len; i++) + { +- if (*pa != *pb) +- counter++; ++ /* If a[i] != b[i], either ab or ba will be negative. */ ++ ab |= a[i] - b[i]; ++ ba |= b[i] - a[i]; + } + +- return !!counter; ++ /* 'ab | ba' is negative when buffers are not equal, extract sign bit. */ ++ return ((unsigned int)(ab | ba) >> (sizeof(unsigned int) * 8 - 1)) & 1; + } + + #ifndef GRUB_UTIL +-- +2.50.1 + diff --git a/boot/grub2/Config.in b/boot/grub2/Config.in index 9a61b3b6336..8cd56cad00a 100644 --- a/boot/grub2/Config.in +++ b/boot/grub2/Config.in @@ -2,11 +2,23 @@ config BR2_TARGET_GRUB2_ARCH_SUPPORTS bool default y if BR2_i386 default y if BR2_x86_64 + default y if BR2_arm + default y if BR2_aarch64 + default y if BR2_RISCV_64 + default y if BR2_loongarch64 + depends on BR2_USE_MMU -config BR2_TARGET_GRUB2 +menuconfig BR2_TARGET_GRUB2 bool "grub2" depends on BR2_TARGET_GRUB2_ARCH_SUPPORTS depends on BR2_USE_WCHAR + select BR2_TARGET_GRUB2_I386_PC if \ + !BR2_TARGET_GRUB2_HAS_PTF && \ + (BR2_i386 || BR2_x86_64) + select BR2_TARGET_GRUB2_ARM_UBOOT if \ + !BR2_TARGET_GRUB2_HAS_PTF && \ + BR2_arm + select BR2_TARGET_GRUB2_ARM64_EFI if BR2_aarch64 help GNU GRUB is a Multiboot boot loader. It was derived from GRUB, the GRand Unified Bootloader, which was originally @@ -17,6 +29,10 @@ config BR2_TARGET_GRUB2 Amongst others, GRUB2 offers EFI support, which GRUB Legacy doesn't provide. + The file boot/grub2/grub.cfg is used by default as the Grub + configuration file. It can be overridden using a rootfs + overlay or post-build script. + For additional notes on using Grub 2 with Buildroot, see boot/grub2/readme.txt @@ -24,32 +40,91 @@ config BR2_TARGET_GRUB2 if BR2_TARGET_GRUB2 -choice - prompt "Platform" +config BR2_TARGET_GRUB2_HAS_LEGACY_BOOT + bool + +config BR2_TARGET_GRUB2_HAS_EFI_BOOT + bool + +config BR2_TARGET_GRUB2_HAS_PTF + bool config BR2_TARGET_GRUB2_I386_PC bool "i386-pc" + depends on BR2_i386 || BR2_x86_64 + select BR2_TARGET_GRUB2_HAS_LEGACY_BOOT help - Select this option if the platform you're targetting is a + Select this option if the platform you're targeting is a x86 or x86-64 legacy BIOS based platform. config BR2_TARGET_GRUB2_I386_EFI bool "i386-efi" + depends on BR2_i386 || BR2_x86_64 + select BR2_TARGET_GRUB2_HAS_PTF + select BR2_TARGET_GRUB2_HAS_EFI_BOOT help - Select this option if the platform you're targetting has a + Select this option if the platform you're targeting has a 32 bits EFI BIOS. Note that some x86-64 platforms use a 32 bits EFI BIOS, and this option should be used in this case. config BR2_TARGET_GRUB2_X86_64_EFI bool "x86-64-efi" - depends on BR2_ARCH_IS_64 + depends on BR2_x86_64 + select BR2_TARGET_GRUB2_HAS_PTF + select BR2_TARGET_GRUB2_HAS_EFI_BOOT help - Select this option if the platform you're targetting has a + Select this option if the platform you're targeting has a 64 bits EFI BIOS. -endchoice +config BR2_TARGET_GRUB2_ARM_UBOOT + bool "arm-uboot" + depends on BR2_arm + select BR2_TARGET_GRUB2_HAS_LEGACY_BOOT + help + Select this option if the platform you're targeting is an + ARM u-boot platform, and you want to boot Grub 2 as an u-boot + compatible image. + +config BR2_TARGET_GRUB2_ARM_EFI + bool "arm-efi" + depends on BR2_arm + select BR2_TARGET_GRUB2_HAS_PTF + select BR2_TARGET_GRUB2_HAS_EFI_BOOT + help + Select this option if the platform you're targeting is an + ARM platform and you want to boot Grub 2 as an EFI + application. + +config BR2_TARGET_GRUB2_ARM64_EFI + bool "arm64-efi" + depends on BR2_aarch64 + select BR2_TARGET_GRUB2_HAS_EFI_BOOT + help + Select this option if the platform you're targeting is an + Aarch64 platform and you want to boot Grub 2 as an EFI + application. + +config BR2_TARGET_GRUB2_RISCV64_EFI + bool "riscv64-efi" + depends on BR2_RISCV_64 + select BR2_TARGET_GRUB2_HAS_EFI_BOOT + help + Select this option if the platform you're targeting is a + 64bit RISC-V platform and you want to boot Grub 2 as an EFI + application. + +config BR2_TARGET_GRUB2_LOONGARCH64_EFI + bool "loongarch64-efi" + depends on BR2_loongarch64 + select BR2_TARGET_GRUB2_HAS_EFI_BOOT + help + Select this option if the platform you're targeting is a + 64bit LoongArch platform and you want to boot Grub 2 as an EFI + application. + +if BR2_TARGET_GRUB2_HAS_LEGACY_BOOT -if BR2_TARGET_GRUB2_I386_PC +comment "Options for the x86 legacy BIOS or ARM U-Boot support" config BR2_TARGET_GRUB2_BOOT_PARTITION string "boot partition" @@ -60,22 +135,52 @@ config BR2_TARGET_GRUB2_BOOT_PARTITION first disk if using a legacy partition table, or 'hd0,gpt1' if using GPT partition table. -endif # BR2_TARGET_GRUB2_I386_PC - -config BR2_TARGET_GRUB2_BUILTIN_MODULES +config BR2_TARGET_GRUB2_BUILTIN_MODULES_PC string "builtin modules" + default BR2_TARGET_GRUB2_BUILTIN_MODULES if BR2_TARGET_GRUB2_BUILTIN_MODULES != "" # legacy default "boot linux ext2 fat squash4 part_msdos part_gpt normal biosdisk" if BR2_TARGET_GRUB2_I386_PC - default "boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop" \ - if BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI + default "linux ext2 fat part_msdos normal" if BR2_TARGET_GRUB2_ARM_UBOOT -config BR2_TARGET_GRUB2_BUILTIN_CONFIG +config BR2_TARGET_GRUB2_BUILTIN_CONFIG_PC string "builtin config" + default BR2_TARGET_GRUB2_BUILTIN_CONFIG if BR2_TARGET_GRUB2_BUILTIN_CONFIG != "" # legacy help Path to a Grub 2 configuration file that will be embedded into the Grub image itself. This allows to set the root device and other configuration parameters, but however menu entries cannot be described in this embedded configuration. +endif # BR2_TARGET_GRUB2_HAS_LEGACY_BOOT + +if BR2_TARGET_GRUB2_HAS_EFI_BOOT + +comment "Options for the EFI BIOS or ARM EFI support" + +config BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI + string "builtin modules" + default BR2_TARGET_GRUB2_BUILTIN_MODULES if BR2_TARGET_GRUB2_BUILTIN_MODULES != "" # legacy + default "boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop" + +config BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI + string "builtin config" + default BR2_TARGET_GRUB2_BUILTIN_CONFIG if BR2_TARGET_GRUB2_BUILTIN_CONFIG != "" # legacy + help + Path to a Grub 2 configuration file that will be embedded + into the Grub image itself. This allows to set the root + device and other configuration parameters, but however menu + entries cannot be described in this embedded configuration. + +endif # BR2_TARGET_GRUB2_HAS_EFI_BOOT + +config BR2_TARGET_GRUB2_INSTALL_TOOLS + bool "install tools" + help + Install support tools to interact with GNU GRUB Multiboot + boot loader. + + This will also install the Grub 2 loadable modules to the + target. + endif # BR2_TARGET_GRUB2 comment "grub2 needs a toolchain w/ wchar" diff --git a/boot/grub2/grub2.hash b/boot/grub2/grub2.hash index 7f0679fe3a1..65a8ec8e4f5 100644 --- a/boot/grub2/grub2.hash +++ b/boot/grub2/grub2.hash @@ -1,2 +1,5 @@ +# Locally calculated after checking signature +# https://ftp.gnu.org/gnu/grub/grub-2.12.tar.xz.sig +sha256 f3c97391f7c4eaa677a78e090c7e97e6dc47b16f655f04683ebd37bef7fe0faa grub-2.12.tar.xz # Locally computed: -sha256 810b3798d316394f94096ec2797909dbf23c858e48f7b3830826b8daa06b7b0f grub-2.02.tar.xz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/boot/grub2/grub2.mk b/boot/grub2/grub2.mk index 492cddf1a51..fdf274d9aa6 100644 --- a/boot/grub2/grub2.mk +++ b/boot/grub2/grub2.mk @@ -4,67 +4,157 @@ # ################################################################################ -GRUB2_VERSION = 2.02 -GRUB2_SITE = http://ftp.gnu.org/gnu/grub +GRUB2_VERSION = 2.12 +GRUB2_SITE = $(BR2_GNU_MIRROR)/grub GRUB2_SOURCE = grub-$(GRUB2_VERSION).tar.xz GRUB2_LICENSE = GPL-3.0+ GRUB2_LICENSE_FILES = COPYING -GRUB2_DEPENDENCIES = host-bison host-flex +GRUB2_DEPENDENCIES = host-bison host-flex host-gawk host-grub2 \ + $(BR2_PYTHON3_HOST_DEPENDENCY) +HOST_GRUB2_DEPENDENCIES = host-bison host-flex host-gawk \ + $(BR2_PYTHON3_HOST_DEPENDENCY) +GRUB2_INSTALL_IMAGES = YES -GRUB2_BUILTIN_MODULES = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES)) -GRUB2_BUILTIN_CONFIG = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_CONFIG)) -GRUB2_BOOT_PARTITION = $(call qstrip,$(BR2_TARGET_GRUB2_BOOT_PARTITION)) +# 0004-fs-hfs-Fix-stack-OOB-write-with-grub_strcpy.patch (yes, two +# CVEs are fixed by this patch) +GRUB2_IGNORE_CVES += CVE-2024-45782 +GRUB2_IGNORE_CVES += CVE-2024-56737 + +# 0006-fs-tar-Integer-overflow-leads-to-heap-OOB-write.patch +GRUB2_IGNORE_CVES += CVE-2024-45780 + +# 0037-gettext-Integer-overflow-leads-to-heap-OOB-write.patch +GRUB2_IGNORE_CVES += CVE-2024-45777 + +# 0043-fs-bfs-Disable-under-lockdown.patch (yes, two CVEs are fixed by +# this patch) +GRUB2_IGNORE_CVES += CVE-2024-45778 +GRUB2_IGNORE_CVES += CVE-2024-45779 + +# 0044-fs-Disable-many-filesystems-under-lockdown.patch (yes, four +# CVEs are fixed by this patch) +GRUB2_IGNORE_CVES += CVE-2025-0684 +GRUB2_IGNORE_CVES += CVE-2025-0685 +GRUB2_IGNORE_CVES += CVE-2025-0686 +GRUB2_IGNORE_CVES += CVE-2025-0689 + +# 0050-fs-Prevent-overflows-when-allocating-memory-for-arra.patch +# (yes, two CVEs are fixed by this patch) +GRUB2_IGNORE_CVES += CVE-2025-0678 +GRUB2_IGNORE_CVES += CVE-2025-1125 -ifeq ($(BR2_TARGET_GRUB2_I386_PC),y) -GRUB2_IMAGE = $(BINARIES_DIR)/grub.img -GRUB2_CFG = $(TARGET_DIR)/boot/grub/grub.cfg -GRUB2_PREFIX = ($(GRUB2_BOOT_PARTITION))/boot/grub -GRUB2_TUPLE = i386-pc -GRUB2_TARGET = i386 -GRUB2_PLATFORM = pc -else ifeq ($(BR2_TARGET_GRUB2_I386_EFI),y) -GRUB2_IMAGE = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootia32.efi -GRUB2_CFG = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg -GRUB2_PREFIX = /EFI/BOOT -GRUB2_TUPLE = i386-efi -GRUB2_TARGET = i386 -GRUB2_PLATFORM = efi -else ifeq ($(BR2_TARGET_GRUB2_X86_64_EFI),y) -GRUB2_IMAGE = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootx64.efi -GRUB2_CFG = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg -GRUB2_PREFIX = /EFI/BOOT -GRUB2_TUPLE = x86_64-efi -GRUB2_TARGET = x86_64 -GRUB2_PLATFORM = efi +# 0074-Constant-time-grub_crypto_memcmp.patch +GRUB2_IGNORE_CVES += CVE-2024-56738 + +ifeq ($(BR2_TARGET_GRUB2_INSTALL_TOOLS),y) +GRUB2_INSTALL_TARGET = YES +else +GRUB2_INSTALL_TARGET = NO endif +GRUB2_CPE_ID_VENDOR = gnu + +GRUB2_BUILTIN_MODULES_PC = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES_PC)) +GRUB2_BUILTIN_MODULES_EFI = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI)) +GRUB2_BUILTIN_CONFIG_PC = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_CONFIG_PC)) +GRUB2_BUILTIN_CONFIG_EFI = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI)) +GRUB2_BOOT_PARTITION = $(call qstrip,$(BR2_TARGET_GRUB2_BOOT_PARTITION)) + +GRUB2_IMAGE_i386-pc = $(BINARIES_DIR)/grub.img +GRUB2_CFG_i386-pc = $(TARGET_DIR)/boot/grub/grub.cfg +GRUB2_PREFIX_i386-pc = ($(GRUB2_BOOT_PARTITION))/boot/grub +GRUB2_TARGET_i386-pc = i386 +GRUB2_PLATFORM_i386-pc = pc +GRUB2_BUILTIN_CONFIG_i386-pc = $(GRUB2_BUILTIN_CONFIG_PC) +GRUB2_BUILTIN_MODULES_i386-pc = $(GRUB2_BUILTIN_MODULES_PC) +GRUB2_TUPLES-$(BR2_TARGET_GRUB2_I386_PC) += i386-pc + +GRUB2_IMAGE_i386-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootia32.efi +GRUB2_CFG_i386-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg +GRUB2_PREFIX_i386-efi = /EFI/BOOT +GRUB2_TARGET_i386-efi = i386 +GRUB2_PLATFORM_i386-efi = efi +GRUB2_BUILTIN_CONFIG_i386-efi = $(GRUB2_BUILTIN_CONFIG_EFI) +GRUB2_BUILTIN_MODULES_i386-efi = $(GRUB2_BUILTIN_MODULES_EFI) +GRUB2_TUPLES-$(BR2_TARGET_GRUB2_I386_EFI) += i386-efi + +GRUB2_IMAGE_x86_64-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootx64.efi +GRUB2_CFG_x86_64-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg +GRUB2_PREFIX_x86_64-efi = /EFI/BOOT +GRUB2_TARGET_x86_64-efi = x86_64 +GRUB2_PLATFORM_x86_64-efi = efi +GRUB2_BUILTIN_CONFIG_x86_64-efi = $(GRUB2_BUILTIN_CONFIG_EFI) +GRUB2_BUILTIN_MODULES_x86_64-efi = $(GRUB2_BUILTIN_MODULES_EFI) +GRUB2_TUPLES-$(BR2_TARGET_GRUB2_X86_64_EFI) += x86_64-efi + +GRUB2_IMAGE_arm-uboot = $(BINARIES_DIR)/boot-part/grub/grub.img +GRUB2_CFG_arm-uboot = $(BINARIES_DIR)/boot-part/grub/grub.cfg +GRUB2_PREFIX_arm-uboot = ($(GRUB2_BOOT_PARTITION))/boot/grub +GRUB2_TARGET_arm-uboot = arm +GRUB2_PLATFORM_arm-uboot = uboot +GRUB2_BUILTIN_CONFIG_arm-uboot = $(GRUB2_BUILTIN_CONFIG_PC) +GRUB2_BUILTIN_MODULES_arm-uboot = $(GRUB2_BUILTIN_MODULES_PC) +GRUB2_TUPLES-$(BR2_TARGET_GRUB2_ARM_UBOOT) += arm-uboot + +GRUB2_IMAGE_arm-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootarm.efi +GRUB2_CFG_arm-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg +GRUB2_PREFIX_arm-efi = /EFI/BOOT +GRUB2_TARGET_arm-efi = arm +GRUB2_PLATFORM_arm-efi = efi +GRUB2_BUILTIN_CONFIG_arm-efi = $(GRUB2_BUILTIN_CONFIG_EFI) +GRUB2_BUILTIN_MODULES_arm-efi = $(GRUB2_BUILTIN_MODULES_EFI) +GRUB2_TUPLES-$(BR2_TARGET_GRUB2_ARM_EFI) += arm-efi + +GRUB2_IMAGE_arm64-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootaa64.efi +GRUB2_CFG_arm64-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg +GRUB2_PREFIX_arm64-efi = /EFI/BOOT +GRUB2_TARGET_arm64-efi = aarch64 +GRUB2_PLATFORM_arm64-efi = efi +GRUB2_BUILTIN_CONFIG_arm64-efi = $(GRUB2_BUILTIN_CONFIG_EFI) +GRUB2_BUILTIN_MODULES_arm64-efi = $(GRUB2_BUILTIN_MODULES_EFI) +GRUB2_TUPLES-$(BR2_TARGET_GRUB2_ARM64_EFI) += arm64-efi + +GRUB2_IMAGE_riscv64-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootriscv64.efi +GRUB2_CFG_riscv64-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg +GRUB2_PREFIX_riscv64-efi = /EFI/BOOT +GRUB2_TARGET_riscv64-efi = riscv64 +GRUB2_PLATFORM_riscv64-efi = efi +GRUB2_BUILTIN_CONFIG_riscv64-efi = $(GRUB2_BUILTIN_CONFIG_EFI) +GRUB2_BUILTIN_MODULES_riscv64-efi = $(GRUB2_BUILTIN_MODULES_EFI) +GRUB2_TUPLES-$(BR2_TARGET_GRUB2_RISCV64_EFI) += riscv64-efi + +GRUB2_IMAGE_loongarch64-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootloongarch64.efi +GRUB2_CFG_loongarch64-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg +GRUB2_PREFIX_loongarch64-efi = /EFI/BOOT +GRUB2_TARGET_loongarch64-efi = loongarch64 +GRUB2_PLATFORM_loongarch64-efi = efi +GRUB2_BUILTIN_CONFIG_loongarch64-efi = $(GRUB2_BUILTIN_CONFIG_EFI) +GRUB2_BUILTIN_MODULES_loongarch64-efi = $(GRUB2_BUILTIN_MODULES_EFI) +GRUB2_TUPLES-$(BR2_TARGET_GRUB2_LOONGARCH64_EFI) += loongarch64-efi # Grub2 is kind of special: it considers CC, LD and so on to be the -# tools to build the native tools (i.e to be executed on the build -# machine), and uses TARGET_CC, TARGET_CFLAGS, TARGET_CPPFLAGS, -# TARGET_LDFLAGS to build the bootloader itself. However, to add to -# the confusion, it also uses NM, OBJCOPY and STRIP to build the -# bootloader itself; none of these are used to build the native -# tools. +# tools to build the host programs and uses TARGET_CC, TARGET_CFLAGS, +# TARGET_CPPFLAGS, TARGET_LDFLAGS to build the bootloader itself. # # NOTE: TARGET_STRIP is overridden by !BR2_STRIP_strip, so always # use the cross compile variant to ensure grub2 builds +HOST_GRUB2_CONF_ENV = \ + CPP="$(HOSTCC) -E" + GRUB2_CONF_ENV = \ - $(HOST_CONFIGURE_OPTS) \ - CPP="$(HOSTCC) -E" \ + CPP="$(TARGET_CC) -E" \ TARGET_CC="$(TARGET_CC)" \ - TARGET_CFLAGS="$(TARGET_CFLAGS) -fno-stack-protector" \ - TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \ - TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \ - NM="$(TARGET_NM)" \ - OBJCOPY="$(TARGET_OBJCOPY)" \ - STRIP="$(TARGET_CROSS)strip" - -GRUB2_CONF_OPTS = \ - --target=$(GRUB2_TARGET) \ - --with-platform=$(GRUB2_PLATFORM) \ - --prefix=/ \ - --exec-prefix=/ \ + CFLAGS="$(TARGET_CFLAGS) -Os" \ + TARGET_CFLAGS="$(TARGET_CFLAGS) -Os" \ + CPPFLAGS="$(TARGET_CPPFLAGS) -Os -fno-stack-protector" \ + TARGET_CPPFLAGS="$(TARGET_CPPFLAGS) -Os -fno-stack-protector" \ + TARGET_LDFLAGS="$(TARGET_LDFLAGS) -Os" \ + TARGET_NM="$(TARGET_NM)" \ + TARGET_OBJCOPY="$(TARGET_OBJCOPY)" \ + TARGET_STRIP="$(TARGET_CROSS)strip" + +HOST_GRUB2_CONF_OPTS = \ + --with-platform=none \ --disable-grub-mkfont \ --enable-efiemu=no \ ac_cv_lib_lzma_lzma_code=no \ @@ -72,41 +162,65 @@ GRUB2_CONF_OPTS = \ --enable-libzfs=no \ --disable-werror -# We don't want all the native tools and Grub2 modules to be installed -# in the target. So we in fact install everything into the host -# directory, and the image generation process (below) will use the -# grub-mkimage tool and Grub2 modules from the host directory. - -GRUB2_INSTALL_TARGET_OPTS = DESTDIR=$(HOST_DIR) install +define GRUB2_CONFIGURE_CMDS + $(foreach tuple, $(GRUB2_TUPLES-y), \ + @$(call MESSAGE,Configuring $(tuple)) + mkdir -p $(@D)/build-$(tuple) + cd $(@D)/build-$(tuple) && \ + $(TARGET_CONFIGURE_OPTS) \ + $(TARGET_CONFIGURE_ARGS) \ + $(GRUB2_CONF_ENV) \ + ../configure \ + --target=$(GRUB2_TARGET_$(tuple)) \ + --with-platform=$(GRUB2_PLATFORM_$(tuple)) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --prefix=/ \ + --exec-prefix=/ \ + --disable-grub-mkfont \ + --enable-efiemu=no \ + ac_cv_lib_lzma_lzma_code=no \ + --enable-device-mapper=no \ + --enable-libzfs=no \ + --disable-werror + ) +endef -ifeq ($(BR2_TARGET_GRUB2_I386_PC),y) -define GRUB2_IMAGE_INSTALL_ELTORITO - cat $(HOST_DIR)/lib/grub/$(GRUB2_TUPLE)/cdboot.img $(GRUB2_IMAGE) > \ - $(BINARIES_DIR)/grub-eltorito.img +define GRUB2_BUILD_CMDS + $(foreach tuple, $(GRUB2_TUPLES-y), \ + @$(call MESSAGE,Building $(tuple)) + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/build-$(tuple) + ) endef -endif -define GRUB2_IMAGE_INSTALLATION - mkdir -p $(dir $(GRUB2_IMAGE)) - $(HOST_DIR)/bin/grub-mkimage \ - -d $(HOST_DIR)/lib/grub/$(GRUB2_TUPLE) \ - -O $(GRUB2_TUPLE) \ - -o $(GRUB2_IMAGE) \ - -p "$(GRUB2_PREFIX)" \ - $(if $(GRUB2_BUILTIN_CONFIG),-c $(GRUB2_BUILTIN_CONFIG)) \ - $(GRUB2_BUILTIN_MODULES) - mkdir -p $(dir $(GRUB2_CFG)) - $(INSTALL) -D -m 0644 boot/grub2/grub.cfg $(GRUB2_CFG) - $(GRUB2_IMAGE_INSTALL_ELTORITO) +define GRUB2_INSTALL_IMAGES_CMDS + $(foreach tuple, $(GRUB2_TUPLES-y), \ + @$(call MESSAGE,Installing $(tuple) to images directory) + mkdir -p $(dir $(GRUB2_IMAGE_$(tuple))) + $(HOST_DIR)/bin/grub-mkimage \ + -d $(@D)/build-$(tuple)/grub-core/ \ + -O $(tuple) \ + -o $(GRUB2_IMAGE_$(tuple)) \ + -p "$(GRUB2_PREFIX_$(tuple))" \ + $(if $(GRUB2_BUILTIN_CONFIG_$(tuple)), \ + -c $(GRUB2_BUILTIN_CONFIG_$(tuple))) \ + $(GRUB2_BUILTIN_MODULES_$(tuple)) + $(INSTALL) -D -m 0644 boot/grub2/grub.cfg $(GRUB2_CFG_$(tuple)) + $(if $(findstring $(GRUB2_PLATFORM_$(tuple)), pc), \ + cat $(@D)/build-$(tuple)/grub-core/cdboot.img $(GRUB2_IMAGE_$(tuple)) > \ + $(BINARIES_DIR)/grub-eltorito.img + ) \ + ) endef -GRUB2_POST_INSTALL_TARGET_HOOKS += GRUB2_IMAGE_INSTALLATION -ifeq ($(GRUB2_PLATFORM),efi) -define GRUB2_EFI_STARTUP_NSH - echo $(notdir $(GRUB2_IMAGE)) > \ - $(BINARIES_DIR)/efi-part/startup.nsh +ifeq ($(BR2_TARGET_GRUB2_INSTALL_TOOLS),y) +define GRUB2_INSTALL_TARGET_CMDS + $(foreach tuple, $(GRUB2_TUPLES-y), \ + @$(call MESSAGE,Installing $(tuple) to target directory) + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/build-$(tuple) DESTDIR=$(TARGET_DIR) install + ) endef -GRUB2_POST_INSTALL_TARGET_HOOKS += GRUB2_EFI_STARTUP_NSH endif -$(eval $(autotools-package)) +$(eval $(generic-package)) +$(eval $(host-autotools-package)) diff --git a/boot/grub2/readme.txt b/boot/grub2/readme.txt index f6fd4566fe6..3b7df3a47d1 100644 --- a/boot/grub2/readme.txt +++ b/boot/grub2/readme.txt @@ -10,20 +10,20 @@ Notes on using Grub2 for BIOS-based platforms is enough free space *before* the first partition to store Grub2. Leaving 1 MB of free space is safe. 3. Setup loop device and loop partitions - sudo losetup -f disk.img - sudo partx -a /dev/loop0 + loop_dev=$(sudo losetup -f --show disk.img) + sudo partx -a "$loop_dev" 4. Prepare the root partition - sudo mkfs.ext3 -L root /dev/loop0p1 - sudo mount /dev/loop0p1 /mnt + sudo mkfs.ext3 -L root "${loop_dev}p1" + sudo mount "${loop_dev}p1" /mnt sudo tar -C /mnt -xf output/images/rootfs.tar sudo umount /mnt 5. Install Grub2 sudo ./output/host/sbin/grub-bios-setup \ -b ./output/host/lib/grub/i386-pc/boot.img \ - -c ./output/images/grub.img -d . /dev/loop0 + -c ./output/images/grub.img -d . "$loop_dev" 6. Cleanup loop device - sudo partx -d /dev/loop0 - sudo losetup -d /dev/loop0 + sudo partx -d "$loop_dev" + sudo losetup -d "$loop_dev" 7. Your disk.img is ready! Using genimage @@ -51,10 +51,10 @@ grub-bios-setup does but it works anyway. To test your BIOS image in Qemu ------------------------------- -qemu-system-{i386,x86-64} -hda disk.img +qemu-system-{i386,x86_64} -hda disk.img -Notes on using Grub2 for EFI-based platforms -============================================ +Notes on using Grub2 for x86/x86_64 EFI-based platforms +======================================================= 1. Create a disk image dd if=/dev/zero of=disk.img bs=1M count=32 @@ -65,34 +65,128 @@ Notes on using Grub2 for EFI-based platforms - Create a second partition, type 8300, for the root filesystem. 3. Setup loop device and loop partitions - sudo losetup -f disk.img - sudo partx -a /dev/loop0 + loop_dev=$(sudo losetup -f --show disk.img) + sudo partx -a "$loop_dev" 4. Prepare the boot partition - sudo mkfs.vfat -n boot /dev/loop0p1 - sudo mount /dev/loop0p1 /mnt + sudo mkfs.vfat -n boot "${loop_dev}p1" + sudo mount "${loop_dev}p1" /mnt sudo cp -a output/images/efi-part/* /mnt/ sudo cp output/images/bzImage /mnt/ sudo umount /mnt 5. Prepare the root partition - sudo mkfs.ext3 -L root /dev/loop0p2 - sudo mount /dev/loop0p2 /mnt + sudo mkfs.ext3 -L root "${loop_dev}p2" + sudo mount "${loop_dev}p2" /mnt sudo tar -C /mnt -xf output/images/rootfs.tar sudo umount /mnt 6 Cleanup loop device - sudo partx -d /dev/loop0 - sudo losetup -d /dev/loop0 + sudo partx -d "$loop_dev" + sudo losetup -d "$loop_dev" 7. Your disk.img is ready! -To test your EFI image in Qemu ------------------------------- - -1. Download the EFI BIOS for Qemu - Version IA32 or X64 depending on the chosen Grub2 - platform (i386-efi vs. x86-64-efi) - http://sourceforge.net/projects/edk2/files/OVMF/ -2. Extract, and rename OVMF.fd to bios.bin and - CirrusLogic5446.rom to vgabios-cirrus.bin. -3. qemu-system-{i386,x86-64} -L ovmf-dir/ -hda disk.img -4. Make sure to pass pci=nocrs to the kernel command line, - to workaround a bug in the EFI BIOS regarding the - EFI framebuffer. +To test your i386/x86-64 EFI image in Qemu +------------------------------------------ + +1. Download/install the EFI BIOS for Qemu + You can get it using the edk2 package in Buildroot (installed + in BINARIES_DIR), grab prebuilt images from the unofficial nightly + builds [0], or use one provided by your distribution as OVMF. + + [0] https://github.com/retrage/edk2-nightly + +2. qemu-system-{i386,x86_64} -bios -hda disk.img + +Notes on using Grub2 for ARM u-boot-based platforms +=================================================== + +The following steps show how to use the Grub2 arm-uboot platform +support in the simplest way possible and with a single +buildroot-generated filesystem. + + 1. Load qemu_arm_vexpress_defconfig + + 2. Enable u-boot with the vexpress_ca9x4 board name and with + u-boot.elf image format. + + 3. Enable grub2 for the arm-uboot platform. + + 4. Enable "Install kernel image to /boot in target" in the kernel + menu to populate a /boot directory with zImage in it. + + 5. The upstream u-boot vexpress_ca9x4 doesn't have CONFIG_API enabled + by default, which is required. + + Before building, patch u-boot (for example, make u-boot-extract to + edit the source before building) file + include/configs/vexpress_common.h to define: + + #define CONFIG_API + #define CONFIG_SYS_MMC_MAX_DEVICE 1 + + 6. Create a custom grub2 config file with the following contents and + set its path in BR2_TARGET_GRUB2_CFG: + + set default="0" + set timeout="5" + + menuentry "Buildroot" { + set root='(hd0)' + linux /boot/zImage root=/dev/mmcblk0 console=ttyAMA0 + devicetree /boot/vexpress-v2p-ca9.dtb + } + + 7. Create a custom builtin config file with the following contents + and set its path in BR2_TARGET_GRUB2_BUILTIN_CONFIG: + + set root=(hd0) + set prefix=/boot/grub + + 8. Create a custom post-build script which copies files from + ${BINARIES_DIR}/boot-part to $(TARGET_DIR)/boot (set its path in + BR2_ROOTFS_POST_BUILD_SCRIPT): + + #!/bin/sh + cp -r ${BINARIES_DIR}/boot-part/* ${TARGET_DIR}/boot/ + + 9. make + +10. Run qemu with: + + qemu-system-arm -M vexpress-a9 -kernel output/images/u-boot -m 1024 \ + -nographic -sd output/images/rootfs.ext2 + +11. In u-boot, stop at the prompt and run grub2 with: + + => ext2load mmc 0:0 ${loadaddr} /boot/grub/grub.img + => bootm + +12. This should bring the grub2 menu, upon which selecting the "Buildroot" + entry should boot Linux. + + +Notes on using Grub2 for Aarch64 EFI-based platforms +==================================================== + +The following steps show how to use the Grub2 arm64-efi platform, +using qemu and EFI firmware built for qemu. + + 1. Load aarch64_efi_defconfig + + 2. make + + 3. Download the EFI firmware for qemu aarch64 + + You can get it using the edk2 package in Buildroot (installed + in BINARIES_DIR), grab prebuilt images from the unofficial nightly + builds [1], or use one provided by your distribution as OVMF-aarch64 + or AAVMF. + + [1] https://github.com/retrage/edk2-nightly + + 4. Run qemu with: + + qemu-system-aarch64 -M virt -cpu cortex-a57 -m 512 -nographic \ + -bios /QEMU_EFI.fd -hda output/images/disk.img \ + -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 + + 5. This should bring the grub2 menu, upon which selecting the + "Buildroot" entry should boot Linux. diff --git a/boot/gummiboot/Config.in b/boot/gummiboot/Config.in deleted file mode 100644 index 11dbc4f6b72..00000000000 --- a/boot/gummiboot/Config.in +++ /dev/null @@ -1,23 +0,0 @@ -config BR2_TARGET_GUMMIBOOT - bool "gummiboot" - depends on BR2_i386 || BR2_x86_64 - select BR2_PACKAGE_GNU_EFI - select BR2_PACKAGE_UTIL_LINUX - select BR2_PACKAGE_UTIL_LINUX_LIBBLKID - help - gummiboot is a simple UEFI boot manager which executes - configured EFI images. The default entry is selected by a - configured pattern (glob) or an on-screen menu. - - gummiboot operates on the EFI System Partition (ESP) - only. Configuration file fragments, kernels, initrds, other - EFI images need to reside on the ESP. Linux kernels need to - be built with CONFIG_EFI_STUB to be able to be directly - executed as an EFI image. - - See the Grub2 help text for details on preparing an EFI - capable disk image using Gummiboot: the instructions are - exactly the same, except that the Gummiboot configuration - files will be located in /loader/ inside the EFI partition. - - http://freedesktop.org/wiki/Software/gummiboot/ diff --git a/boot/gummiboot/buildroot.conf b/boot/gummiboot/buildroot.conf deleted file mode 100644 index 8a6f02e56af..00000000000 --- a/boot/gummiboot/buildroot.conf +++ /dev/null @@ -1,4 +0,0 @@ -title Buildroot -version 1 -linux /bzImage -options console=ttyS0 root=/dev/sda2 diff --git a/boot/gummiboot/gummiboot.mk b/boot/gummiboot/gummiboot.mk deleted file mode 100644 index 85a5daaeab6..00000000000 --- a/boot/gummiboot/gummiboot.mk +++ /dev/null @@ -1,43 +0,0 @@ -################################################################################ -# -# gummiboot -# -################################################################################ - -GUMMIBOOT_SITE = http://cgit.freedesktop.org/gummiboot -GUMMIBOOT_SITE_METHOD = git -GUMMIBOOT_VERSION = 43 -GUMMIBOOT_LICENSE = LGPL-2.1+ -GUMMIBOOT_LICENSE_FILES = LICENSE - -# The git archive does not have the autoconf/automake stuff generated. -GUMMIBOOT_AUTORECONF = YES -GUMMIBOOT_DEPENDENCIES = gnu-efi host-pkgconf util-linux -GUMMIBOOT_INSTALL_TARGET = NO -GUMMIBOOT_INSTALL_IMAGES = YES - -ifeq ($(BR2_i386),y) -GUMMIBOOT_IMGARCH = ia32 -else ifeq ($(BR2_x86_64),y) -GUMMIBOOT_IMGARCH = x64 -endif - -GUMMIBOOT_CONF_OPTS = \ - --host=$(BR2_ARCH) \ - --with-efi-libdir=$(STAGING_DIR)/usr/lib \ - --with-efi-ldsdir=$(STAGING_DIR)/usr/lib \ - --with-efi-includedir=$(STAGING_DIR)/usr/include \ - --disable-manpages - -define GUMMIBOOT_INSTALL_IMAGES_CMDS - $(INSTALL) -D -m 0644 $(@D)/gummiboot$(GUMMIBOOT_IMGARCH).efi \ - $(BINARIES_DIR)/efi-part/EFI/BOOT/boot$(GUMMIBOOT_IMGARCH).efi - echo "boot$(GUMMIBOOT_IMGARCH).efi" > \ - $(BINARIES_DIR)/efi-part/startup.nsh - $(INSTALL) -D -m 0644 boot/gummiboot/loader.conf \ - $(BINARIES_DIR)/efi-part/loader/loader.conf - $(INSTALL) -D -m 0644 boot/gummiboot/buildroot.conf \ - $(BINARIES_DIR)/efi-part/loader/entries/buildroot.conf -endef - -$(eval $(autotools-package)) diff --git a/boot/lpc32xxcdl/Config.in b/boot/lpc32xxcdl/Config.in deleted file mode 100644 index ce7589c35c9..00000000000 --- a/boot/lpc32xxcdl/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_TARGET_LPC32XXCDL - depends on BR2_arm926t - bool "LPC32XX CDL (kickstart and S1L)" - -if BR2_TARGET_LPC32XXCDL - -config BR2_TARGET_LPC32XXCDL_BOARDNAME - string "LPC32xx board name" - -endif #BR2_TARGET_LPC32XXCDL diff --git a/boot/lpc32xxcdl/lpc32xxcdl-2.11-compiler_name.patch b/boot/lpc32xxcdl/lpc32xxcdl-2.11-compiler_name.patch deleted file mode 100644 index 6aecbdeba62..00000000000 --- a/boot/lpc32xxcdl/lpc32xxcdl-2.11-compiler_name.patch +++ /dev/null @@ -1,52 +0,0 @@ -Use CROSS_COMPILE as compiler name and stop using libc - -Signed-off-by: Alexandre Belloni ---- - makerule/lpc32xx/make.lpc32xx.gnu | 22 +++++++++++----------- - 1 files changed, 11 insertions(+), 11 deletions(-) - -diff --git a/makerule/lpc32xx/make.lpc32xx.gnu b/makerule/lpc32xx/make.lpc32xx.gnu -index 1014c28..3277d99 100644 ---- a/makerule/lpc32xx/make.lpc32xx.gnu -+++ b/makerule/lpc32xx/make.lpc32xx.gnu -@@ -27,19 +27,19 @@ CFLAGS += -mno-sched-prolog -fno-hosted -mno-thumb-interwork -ffunction-sectio - CFLAGS += -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) - AFLAGS = -mcpu=arm926ej-s - AFLAGS += -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) --CC = arm-none-eabi-gcc --AS = arm-none-eabi-as --AR = arm-none-eabi-ar -r --LD = arm-none-eabi-gcc --NM = arm-none-eabi-nm --OBJDUMP = arm-none-eabi-objdump --OBJCOPY = arm-none-eabi-objcopy --READELF = arm-none-eabi-readelf -+CC = $(CROSS_COMPILE)gcc -+AS = $(CROSS_COMPILE)as -+AR = $(CROSS_COMPILE)ar -r -+LD = $(CROSS_COMPILE)gcc -+NM = $(CROSS_COMPILE)nm -+OBJDUMP = $(CROSS_COMPILE)objdump -+OBJCOPY = $(CROSS_COMPILE)objcopy -+READELF = $(CROSS_COMPILE)readelf - LDFLAGS += -Wl,--gc-sections - - LK = -static - LK += -Wl,--start-group $(TARGET_CSP_LIB) $(TARGET_BSP_LIB) $(TARGET_GEN_LIB) --LK += -lgcc -lc -lg -lm -lstdc++ -lsupc++ -+LK += -nostdlib -lgcc #-lc -lg -lm -lstdc++ -lsupc++ - LK += -Wl,--end-group - MAP = -Xlinker -Map -Xlinker - LDESC = -Xlinker -T -@@ -47,6 +47,6 @@ ENTRY = -e - BIN = -bin - EXT = .elf - LEXT = --ELFTOREC =arm-none-eabi-objcopy -O srec --strip-all --verbose --ELFTOBIN =arm-none-eabi-objcopy -I elf32-littlearm -O binary --strip-all --verbose -+ELFTOREC = $(OBJCOPY) -O srec --strip-all --verbose -+ELFTOBIN = $(OBJCOPY) -I elf32-littlearm -O binary --strip-all --verbose - REC =.srec --- -1.7.7.3 - diff --git a/boot/lpc32xxcdl/lpc32xxcdl-2.11-delete_redundant_files.patch b/boot/lpc32xxcdl/lpc32xxcdl-2.11-delete_redundant_files.patch deleted file mode 100644 index 39966f01e9f..00000000000 --- a/boot/lpc32xxcdl/lpc32xxcdl-2.11-delete_redundant_files.patch +++ /dev/null @@ -1,969 +0,0 @@ -Remove duplicated files to stop the linker from complaining about duplicate -symbols - -Signed-off-by: Alexandre Belloni ---- ---- a/csps/lpc32xx/bsps/fdi3250/startup/examples/s1l/sysapi_timer.c 2011-10-05 19:10:37.000000000 +0200 -+++ /dev/null 2012-01-01 16:39:47.918907000 +0100 -@@ -1,212 +0,0 @@ --/*********************************************************************** -- * $Id:: sysapi_timer.c 3394 2010-05-06 17:56:27Z usb10132 $ -- * -- * Project: Time support functions -- * -- * Description: -- * Implements the following functions required for the S1L API -- * time_init -- * time_reset -- * time_start -- * time_stop -- * time_get -- * time_get_rate -- * -- *********************************************************************** -- * Software that is described herein is for illustrative purposes only -- * which provides customers with programming information regarding the -- * products. This software is supplied "AS IS" without any warranties. -- * NXP Semiconductors assumes no responsibility or liability for the -- * use of the software, conveys no license or title under any patent, -- * copyright, or mask work right to the product. NXP Semiconductors -- * reserves the right to make changes in the software without -- * notification. NXP Semiconductors also make no representation or -- * warranty that such application will be suitable for the specified -- * use without further testing or modification. -- **********************************************************************/ -- --#include "s1l_sys_inf.h" --#include "lpc32xx_intc_driver.h" --#include "lpc32xx_timer_driver.h" -- --static UNS_64 base_rate; --static INT_32 tdev = 0; -- --/*********************************************************************** -- * -- * Function: time_init -- * -- * Purpose: Initializes time system -- * -- * Processing: Initializes the system timer. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: 0 if the init failed, otherwise non-zero -- * -- * Notes: None -- * -- **********************************************************************/ --INT_32 time_init(void) --{ -- TMR_PSCALE_SETUP_T pscale; -- -- /* Open timer driver */ -- if (tdev == 0) -- { -- tdev = timer_open((void *) TIMER_CNTR0, 0); -- if (tdev != 0) -- { -- /* Use a prescale count to 100000 */ -- pscale.ps_tick_val = 100000; -- pscale.ps_us_val = 0; /* Not needed when ps_tick_val != 0 */ -- timer_ioctl(tdev, TMR_SETUP_PSCALE, (INT_32) &pscale); -- -- /* Get timer clock rate */ -- base_rate = (UNS_64) timer_ioctl(tdev, TMR_GET_STATUS, -- TMR_GET_CLOCK); -- } -- } -- -- return tdev; --} -- --/*********************************************************************** -- * -- * Function: time_reset -- * -- * Purpose: Resets system timer -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: Nothing -- * -- * Notes: None -- * -- **********************************************************************/ --void time_reset(void) --{ -- if (tdev != 0) -- { -- timer_ioctl(tdev, TMR_RESET, 1); -- } --} -- --/*********************************************************************** -- * -- * Function: time_start -- * -- * Purpose: Starts system timer -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: Nothing -- * -- * Notes: None -- * -- **********************************************************************/ --void time_start(void) --{ -- if (tdev != 0) -- { -- timer_ioctl(tdev, TMR_ENABLE, 1); -- } --} -- --/*********************************************************************** -- * -- * Function: time_stop -- * -- * Purpose: Stops system timer -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: Nothing -- * -- * Notes: None -- * -- **********************************************************************/ --void time_stop(void) --{ -- if (tdev != 0) -- { -- timer_ioctl(tdev, TMR_ENABLE, 0); -- } --} -- --/*********************************************************************** -- * -- * Function: time_get -- * -- * Purpose: Returns current system time value -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: The number of ticks of the timer counter -- * -- * Notes: None -- * -- **********************************************************************/ --UNS_64 time_get(void) --{ -- TMR_COUNTS_T tcounts; -- UNS_64 ticks = 0; -- -- if (tdev != 0) -- { -- timer_ioctl(tdev, TMR_GET_COUNTS, (INT_32) &tcounts); -- -- /* Compute number of timer ticks */ -- ticks = (UNS_64) tcounts.count_val * 100000; -- ticks = ticks + (UNS_64) tcounts.ps_count_val; -- } -- -- return ticks; --} -- --/*********************************************************************** -- * -- * Function: time_get_rate -- * -- * Purpose: -- * Returns base tick rate (ticks per second) of the time counter -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: The timer tick rate (in ticks per second) -- * -- * Notes: None -- * -- **********************************************************************/ --UNS_64 time_get_rate(void) --{ -- return base_rate; --} -- ---- a/csps/lpc32xx/bsps/fdi3250/startup/examples/s1l/sys_mmu_cmd_group.c 2011-10-05 19:10:37.000000000 +0200 -+++ /dev/null 2012-01-01 16:39:47.918907000 +0100 -@@ -1,746 +0,0 @@ --/*********************************************************************** -- * $Id:: sys_mmu_cmd_group.c 3430 2010-05-07 17:39:08Z usb10132 $ -- * -- * Project: Command processor for peek, poke, dump, and fill -- * -- * Description: -- * Processes commands from the command prompt -- * -- *********************************************************************** -- * Software that is described herein is for illustrative purposes only -- * which provides customers with programming information regarding the -- * products. This software is supplied "AS IS" without any warranties. -- * NXP Semiconductors assumes no responsibility or liability for the -- * use of the software, conveys no license or title under any patent, -- * copyright, or mask work right to the product. NXP Semiconductors -- * reserves the right to make changes in the software without -- * notification. NXP Semiconductors also make no representation or -- * warranty that such application will be suitable for the specified -- * use without further testing or modification. -- **********************************************************************/ -- --#include "lpc_arm922t_cp15_driver.h" --#include "lpc_string.h" --#include "startup.h" --#include "s1l_cmds.h" --#include "s1l_sys_inf.h" -- --/* dcache command */ --BOOL_32 cmd_dcache(void); --static UNS_32 cmd_dcache_plist[] = --{ -- (PARSE_TYPE_STR), /* The "dcache" command */ -- (PARSE_TYPE_DEC | PARSE_TYPE_END) --}; --static CMD_ROUTE_T core_dcache_cmd = --{ -- (UNS_8 *) "dcache", -- cmd_dcache, -- (UNS_8 *) "Enables, disables, or flushes data cache", -- (UNS_8 *) "dcache [0(disable), 1(enable), 2(flush)]", -- cmd_dcache_plist, -- NULL --}; -- --/* icache command */ --BOOL_32 cmd_icache(void); --static UNS_32 cmd_icache_plist[] = --{ -- (PARSE_TYPE_STR), /* The "icache" command */ -- (PARSE_TYPE_DEC | PARSE_TYPE_END) --}; --static CMD_ROUTE_T core_icache_cmd = --{ -- (UNS_8 *) "icache", -- cmd_icache, -- (UNS_8 *) "Enables or disables instruction cache", -- (UNS_8 *) "icache [0(disable), 1(enable)]", -- cmd_icache_plist, -- NULL --}; -- --/* inval command */ --BOOL_32 cmd_inval(void); --static UNS_32 cmd_inval_plist[] = --{ -- (PARSE_TYPE_STR | PARSE_TYPE_END) /* The "inval" command */ --}; --static CMD_ROUTE_T core_inval_cmd = --{ -- (UNS_8 *) "inval", -- cmd_inval, -- (UNS_8 *) "Flushes data cache and invalidates instruction cache", -- (UNS_8 *) "inval", -- cmd_inval_plist, -- NULL --}; -- --/* mmuenab command */ --BOOL_32 cmd_mmuenab(void); --static UNS_32 cmd_mmuenab_plist[] = --{ -- (PARSE_TYPE_STR), /* The "mmuenab" command */ -- (PARSE_TYPE_DEC | PARSE_TYPE_END) --}; --static CMD_ROUTE_T core_mmuenab_cmd = --{ -- (UNS_8 *) "mmuenab", -- cmd_mmuenab, -- (UNS_8 *) "Enables or disables the MMU", -- (UNS_8 *) "mmuenab [0(disable), 1(enable)]", -- cmd_mmuenab_plist, -- NULL --}; -- --/* map command */ --BOOL_32 cmd_map(void); --static UNS_32 cmd_map_plist[] = --{ -- (PARSE_TYPE_STR), /* The "map" command */ -- (PARSE_TYPE_HEX), -- (PARSE_TYPE_HEX), -- (PARSE_TYPE_DEC), -- (PARSE_TYPE_DEC | PARSE_TYPE_END), --}; --static CMD_ROUTE_T core_map_cmd = --{ -- (UNS_8 *) "map", -- cmd_map, -- (UNS_8 *) "Maps a range of physical address sections to virtual addresses", -- (UNS_8 *) "map [virt hex addr][phy hex addr][sections][0(uncached), 1(cached), 2(unmap)]", -- cmd_map_plist, -- NULL --}; -- --/* mmuinfo command */ --static BOOL_32 cmd_mmuinfo(void); --static UNS_32 cmd_mmuinfo_plist[] = --{ -- (PARSE_TYPE_STR | PARSE_TYPE_END) /* The "mmuinfo" command */ --}; --static CMD_ROUTE_T core_mmuinfo_cmd = --{ -- (UNS_8 *) "mmuinfo", -- cmd_mmuinfo, -- (UNS_8 *) "Dumps page table and MMU info", -- (UNS_8 *) "mmuinfo", -- cmd_mmuinfo_plist, -- NULL --}; -- --/* MMU group */ --static GROUP_LIST_T mmu_group = --{ -- (UNS_8 *) "mmu", /* mmu group */ -- (UNS_8 *) "MMU command group", -- NULL, -- NULL --}; -- --static UNS_8 enabled_msg [] =" enabled"; --static UNS_8 disabled_msg [] =" disabled"; --static UNS_8 dcache_msg[] = "Data cache"; --static UNS_8 icache_msg[] = "Instruction cache"; --static UNS_8 pagetab_msg[] = "Page table at address: "; --static UNS_8 slist_msg[] = "Type Virt Phy fl Size"; --static UNS_8 mmu_msg [] ="MMU"; --static UNS_8 cpage_msg[] = "Coarse page:"; --static UNS_8 fpage_msg[] = "Fine page :"; --static UNS_8 sect_msg[] = "Section :"; --static UNS_8 mbytes_msg[] = "M"; --static UNS_8 map1_err_msg[] = -- "Error : section addresses must be aligned on a 32-bit boundary"; --static UNS_8 map2_err_msg[] = -- "Error : Number of sections exceeds address range of device"; --static UNS_8 phya_msg[] = "Virtual address "; --static UNS_8 mapped_msg[] = " mapped to physical address "; --static UNS_8 unmapped_msg[] = " unmapped from physical address "; --static UNS_8 cached_msg[] = " (cached)"; --static UNS_8 inval_msg[] = " invalidated"; --static UNS_8 caches_msg [] ="Caches"; --static UNS_8 flushed_msg[] = " flushed"; -- --/*********************************************************************** -- * -- * Function: show_section -- * -- * Purpose: Display section information -- * -- * Processing: -- * See function. -- * -- * Parameters: -- * mmu_reg : MMU settings for this section -- * virt_addr : Starting virtual address for this section -- * segs : Number of 1M segments for this section -- * -- * Outputs: None -- * -- * Returns: Nothing -- * -- * Notes: None -- * -- **********************************************************************/ --static void show_section(UNS_32 mmu_reg, -- UNS_32 virt_addr, -- UNS_32 segs) --{ -- UNS_8 straddr [16]; -- UNS_32 mmu_phy; -- -- if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) != -- ARM922T_L1D_TYPE_FAULT) -- { -- if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) == -- ARM922T_L1D_TYPE_CPAGE) -- { -- term_dat_out(cpage_msg); -- } -- else if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) == -- ARM922T_L1D_TYPE_FPAGE) -- { -- term_dat_out(fpage_msg); -- } -- else -- { -- term_dat_out(sect_msg); -- } -- -- /* Compute virtual address */ -- str_makehex(straddr, virt_addr, 8); -- term_dat_out(straddr); -- term_dat_out((UNS_8 *) " "); -- -- /* Compute mapped physical address */ -- if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) == -- ARM922T_L1D_TYPE_SECTION) -- { -- mmu_phy = mmu_reg & 0xFFF00000; -- } -- else -- { -- /* Don't compute addresses for non-sections */ -- mmu_phy = 0; -- } -- str_makehex(straddr, mmu_phy, 8); -- term_dat_out(straddr); -- term_dat_out((UNS_8 *) " "); -- -- /* MMU flags */ -- if ((mmu_reg & ARM922T_L1D_BUFFERABLE) != 0) -- { -- term_dat_out((UNS_8 *) "b"); -- } -- else -- { -- term_dat_out((UNS_8 *) " "); -- } -- if ((mmu_reg & ARM922T_L1D_CACHEABLE) != 0) -- { -- term_dat_out((UNS_8 *) "c"); -- } -- else -- { -- term_dat_out((UNS_8 *) " "); -- } -- term_dat_out((UNS_8 *) " "); -- -- /* Displays used megabytes */ -- str_makedec(straddr, segs); -- term_dat_out(straddr); -- term_dat_out_crlf(mbytes_msg); -- } --} -- --/*********************************************************************** -- * -- * Function: mmu_dumpinfo -- * -- * Purpose: Display MMU info -- * -- * Processing: -- * Display the MMU information, including enable status, cache -- * status, and page table. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: TRUE if the command was processed, otherwise FALSE -- * -- * Notes: None -- * -- **********************************************************************/ --static BOOL_32 mmu_dumpinfo(void) --{ -- UNS_32 segsz, last_mmu_reg, mmu_vrt, mmu_reg, mmu_vrtsav = 0, *pt; -- UNS_32 mlast_mmu_reg, mmmu_reg; -- int idx; -- UNS_8 hexaddr [16]; -- -- term_dat_out(mmu_msg); -- if (cp15_mmu_enabled() == FALSE) -- { -- term_dat_out_crlf(disabled_msg); -- } -- else -- { -- term_dat_out_crlf(enabled_msg); -- -- /* Get MMU control register word */ -- mmu_reg = cp15_get_mmu_control_reg(); -- -- /* Instruction cache status */ -- term_dat_out(icache_msg); -- if ((mmu_reg & ARM922T_MMU_CONTROL_I) == 0) -- { -- term_dat_out_crlf(disabled_msg); -- } -- else -- { -- term_dat_out_crlf(enabled_msg); -- } -- -- /* Data cache status */ -- term_dat_out(dcache_msg); -- if ((mmu_reg & ARM922T_MMU_CONTROL_C) == 0) -- { -- term_dat_out_crlf(disabled_msg); -- } -- else -- { -- term_dat_out_crlf(enabled_msg); -- } -- -- term_dat_out(pagetab_msg); -- mmu_reg = (UNS_32) cp15_get_ttb(); -- str_makehex(hexaddr, mmu_reg, 8); -- term_dat_out_crlf(hexaddr); -- term_dat_out_crlf(slist_msg); -- -- /* Process MMU table - assume that the physical and -- virtual locations of table are the same */ -- pt = (UNS_32 *) mmu_reg; -- mmu_vrt = 0x0; -- segsz = 0xFFFFFFFF; -- last_mmu_reg = mlast_mmu_reg = 0xFFFFFFFF; -- for (idx = 0; idx < 4096; idx++) -- { -- mmu_reg = *pt; -- mmmu_reg = (mmu_reg & (ARM922T_L1D_TYPE_PG_SN_MASK | -- ARM922T_L1D_BUFFERABLE | ARM922T_L1D_CACHEABLE)); -- segsz = segsz + 1; -- -- if ((last_mmu_reg != 0xFFFFFFFF) && -- (mlast_mmu_reg != mmmu_reg)) -- { -- show_section(last_mmu_reg, mmu_vrtsav, segsz); -- segsz = 0; -- } -- -- if (mlast_mmu_reg != mmmu_reg) -- { -- mmu_vrtsav = mmu_vrt; -- last_mmu_reg = mmu_reg; -- mlast_mmu_reg = mmmu_reg; -- } -- -- pt++; -- mmu_vrt += 0x00100000; -- } -- } -- -- return TRUE; --} -- --/*********************************************************************** -- * -- * Function: mmu_dumpmap -- * -- * Purpose: Map a virtual address range to a physical range -- * -- * Processing: -- * From the input addresses and number of sections, generate the -- * appropriate entries in the page table. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: TRUE if the command was processed, otherwise FALSE -- * -- * Notes: None -- * -- **********************************************************************/ --static BOOL_32 mmu_dumpmap(UNS_32 vrt, -- UNS_32 phy, -- UNS_32 sections, -- UNS_32 cache) --{ -- BOOL_32 processed = FALSE; -- UNS_32 mmu_phy, mmu_vrt, tmp1 = 0, tmp2, *pt; -- UNS_8 hexaddr [16]; -- -- /* Verify address boundaries are sectional */ -- mmu_vrt = vrt & ~ARM922T_L2D_SN_BASE_MASK; -- mmu_phy = phy & ~ARM922T_L2D_SN_BASE_MASK; -- if ((mmu_vrt != 0) || (mmu_phy != 0)) -- { -- term_dat_out_crlf(map1_err_msg); -- } -- else -- { -- /* Verify that address range and section count will not -- exceed address range of device */ -- tmp1 = vrt >> 20; -- tmp1 = (tmp1 + sections) - 1; -- tmp2 = phy >> 20; -- tmp2 = (tmp2 + sections) - 1; -- if ((tmp1 < 4096) && (tmp2 < 4096)) -- { -- /* Good address range and good section count */ -- processed = TRUE; -- } -- else -- { -- term_dat_out_crlf(map2_err_msg); -- } -- } -- -- /* Generate static part of MMU word */ -- if (cache == 0) -- { -- /* Section mapped with cache disabled */ -- tmp1 = ARM922T_L1D_TYPE_SECTION; -- } -- else if (cache == 1) -- { -- /* Section mapped with cache enabled */ -- tmp1 = (ARM922T_L1D_BUFFERABLE | ARM922T_L1D_CACHEABLE | -- ARM922T_L1D_TYPE_SECTION); -- } -- else if (cache == 2) -- { -- /* Section unmapped */ -- tmp1 = ARM922T_L1D_TYPE_FAULT; -- } -- tmp1 |= ARM922T_L1D_AP_ALL; -- -- /* Offset into page table for virtual address */ -- tmp2 = (vrt >> 20); -- pt = cp15_get_ttb() + tmp2; -- -- /* Loop until all sections are complete */ -- while ((sections > 0) && (processed == TRUE)) -- { -- /* Add in physical address */ -- tmp2 = tmp1 | (phy & ARM922T_L2D_SN_BASE_MASK); -- -- /* Save new section descriptor for virtual address */ -- *pt = tmp2; -- -- /* Output message shown the map */ -- term_dat_out(phya_msg); -- str_makehex(hexaddr, phy, 8); -- term_dat_out(hexaddr); -- if (cache == 2) -- { -- term_dat_out(unmapped_msg); -- } -- else -- { -- term_dat_out(mapped_msg); -- } -- str_makehex(hexaddr, vrt, 8); -- term_dat_out(hexaddr); -- if (cache == 1) -- { -- term_dat_out(cached_msg); -- } -- term_dat_out_crlf((UNS_8 *) ""); -- -- /* Next section and page table entry*/ -- phy += 0x00100000; -- vrt += 0x00100000; -- pt++; -- sections--; -- } -- -- return processed; --} -- --/*********************************************************************** -- * -- * Function: cmd_mmuinfo -- * -- * Purpose: Display MMU information -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: TRUE if the command was processed, otherwise FALSE -- * -- * Notes: None -- * -- **********************************************************************/ --static BOOL_32 cmd_mmuinfo(void) --{ -- mmu_dumpinfo(); -- -- return TRUE; --} -- --/*********************************************************************** -- * -- * Function: cmd_map -- * -- * Purpose: Map a physical address region to a virtual region -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: TRUE if the command was processed, otherwise FALSE -- * -- * Notes: None -- * -- **********************************************************************/ --BOOL_32 cmd_map(void) --{ -- UNS_32 phy, virt, sects, ce = 0; -- -- /* Get arguments */ -- virt = cmd_get_field_val(1); -- phy = cmd_get_field_val(2); -- sects = cmd_get_field_val(3); -- ce = cmd_get_field_val(4); -- -- if (ce <= 2) -- { -- mmu_dumpmap(virt, phy, sects, ce); -- } -- -- return TRUE; --} -- --/*********************************************************************** -- * -- * Function: cmd_inval -- * -- * Purpose: MMU cache flush and invalidate -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: TRUE if the command was processed, otherwise FALSE -- * -- * Notes: None -- * -- **********************************************************************/ --BOOL_32 cmd_inval(void) --{ -- dcache_flush(); -- icache_inval(); -- term_dat_out(caches_msg); -- term_dat_out(inval_msg); -- -- return TRUE; --} -- --/*********************************************************************** -- * -- * Function: cmd_dcache -- * -- * Purpose: MMU data cache enable and disable -- * -- * Processing: -- * If the value passed in the parser is 1, enable the data cache, -- * otherwise disable the data cache. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: TRUE if the command was processed, otherwise FALSE -- * -- * Notes: None -- * -- **********************************************************************/ --BOOL_32 cmd_dcache(void) --{ -- UNS_32 cenable; -- UNS_8 *ppar; -- -- /* Get argument */ -- cenable = cmd_get_field_val(1); -- -- switch (cenable) -- { -- case 0: -- dcache_flush(); -- cp15_set_dcache(0); -- ppar = disabled_msg; -- break; -- -- case 1: -- cp15_invalidate_cache(); -- cp15_set_dcache(1); -- ppar = enabled_msg; -- break; -- -- case 2: -- default: -- dcache_flush(); -- ppar = flushed_msg; -- break; -- } -- -- term_dat_out(dcache_msg); -- term_dat_out_crlf(ppar); -- -- return TRUE; --} -- --/*********************************************************************** -- * -- * Function: cmd_icache -- * -- * Purpose: MMU instruction cache enable and disable -- * -- * Processing: -- * If the value passed in the parser is 1, enable the instruction -- * cache, otherwise disable the instruction cache. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: TRUE if the command was processed, otherwise FALSE -- * -- * Notes: None -- * -- **********************************************************************/ --BOOL_32 cmd_icache(void) --{ -- UNS_32 cenable; -- UNS_8 *ppar; -- -- /* Get argument */ -- cenable = cmd_get_field_val(1); -- -- if (cenable == 1) -- { -- dcache_flush(); -- cp15_invalidate_cache(); -- cp15_set_icache(1); -- ppar = enabled_msg; -- } -- else -- { -- cp15_set_icache(0); -- ppar = disabled_msg; -- } -- -- term_dat_out(icache_msg); -- term_dat_out_crlf(ppar); -- -- return TRUE; --} -- -- --/*********************************************************************** -- * -- * Function: cmd_mmuenab -- * -- * Purpose: Enable or disable MMU -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: TRUE if the command was processed, otherwise FALSE -- * -- * Notes: None -- * -- **********************************************************************/ --BOOL_32 cmd_mmuenab(void) --{ -- UNS_8 *ppar; -- UNS_32 cenable; -- -- term_dat_out_crlf((UNS_8 *) "Warning: Changing MMU status on " -- " cached and buffered code can cause system crashes."); -- -- /* Get argument */ -- cenable = cmd_get_field_val(1); -- -- if (cenable == 1) -- { -- if ((cp15_get_mmu_control_reg() & ARM922T_MMU_CONTROL_C) != 0) -- { -- cp15_invalidate_cache(); -- } -- -- cp15_set_mmu(1); -- ppar = enabled_msg; -- } -- else -- { -- cp15_dcache_flush(); -- cp15_write_buffer_flush(); -- cp15_invalidate_cache(); -- cp15_set_mmu(0); -- ppar = disabled_msg; -- } -- -- term_dat_out(mmu_msg); -- term_dat_out_crlf(ppar); -- -- return TRUE; --} -- --/*********************************************************************** -- * -- * Function: mmu_cmd_group_init -- * -- * Purpose: Initialize MMU command group -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: Nothin -- * -- * Notes: None -- * -- **********************************************************************/ --void mmu_cmd_group_init(void) --{ -- /* Add MMU group */ -- cmd_add_group(&mmu_group); -- -- /* Add commands to the MMU group */ -- cmd_add_new_command(&mmu_group, &core_dcache_cmd); -- cmd_add_new_command(&mmu_group, &core_icache_cmd); -- cmd_add_new_command(&mmu_group, &core_inval_cmd); -- cmd_add_new_command(&mmu_group, &core_mmuenab_cmd); -- cmd_add_new_command(&mmu_group, &core_map_cmd); -- cmd_add_new_command(&mmu_group, &core_mmuinfo_cmd); --} diff --git a/boot/lpc32xxcdl/lpc32xxcdl-2.11-libnosys_gnu.patch b/boot/lpc32xxcdl/lpc32xxcdl-2.11-libnosys_gnu.patch deleted file mode 100644 index cfd77bead6f..00000000000 --- a/boot/lpc32xxcdl/lpc32xxcdl-2.11-libnosys_gnu.patch +++ /dev/null @@ -1,188 +0,0 @@ -Fix compilation and eabi issues - -Since we are not linking with libc anymore, we need to define our own memset, -strlen and memcpy. Also, as we are using a *libc compiler, we need to "handle" -exceptions (mostly division by 0) by defining raise() and -__aeabi_unwind_cpp_pr0. - -Signed-off-by: Alexandre Belloni ---- - csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c | 41 +++++++++++++++++++++++ - csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c | 41 +++++++++++++++++++++++ - csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c | 41 +++++++++++++++++++++++ - 3 files changed, 123 insertions(+), 0 deletions(-) - -diff --git a/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c b/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c -index 385b0ab..f1f0a0a 100644 ---- a/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c -+++ b/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - - /* errno definition */ - #undef errno -@@ -125,4 +126,44 @@ int _write(int file, char *ptr, int len){ - return 0; - } - -+void * memset(void * s,int c,size_t count) -+{ -+ char *xs = (char *) s; -+ -+ while (count--) -+ *xs++ = c; -+ -+ return s; -+} -+ -+ -+size_t strlen(const char * s) -+{ -+ const char *sc; -+ -+ for (sc = s; *sc != '\0'; ++sc) -+ /* nothing */; -+ return sc - s; -+} -+ -+void * memcpy(void * dest,const void *src,size_t count) -+{ -+ char *tmp = (char *) dest, *s = (char *) src; -+ -+ while (count--) -+ *tmp++ = *s++; -+ -+ return dest; -+} -+ -+ -+/* Dummy functions to avoid linker complaints */ -+void __aeabi_unwind_cpp_pr0(void) -+{ -+}; -+ -+void raise(void) -+{ -+}; -+ - #endif /*__GNUC__*/ -diff --git a/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c b/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c -index 385b0ab..f1f0a0a 100644 ---- a/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c -+++ b/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - - /* errno definition */ - #undef errno -@@ -125,4 +126,44 @@ int _write(int file, char *ptr, int len){ - return 0; - } - -+void * memset(void * s,int c,size_t count) -+{ -+ char *xs = (char *) s; -+ -+ while (count--) -+ *xs++ = c; -+ -+ return s; -+} -+ -+ -+size_t strlen(const char * s) -+{ -+ const char *sc; -+ -+ for (sc = s; *sc != '\0'; ++sc) -+ /* nothing */; -+ return sc - s; -+} -+ -+void * memcpy(void * dest,const void *src,size_t count) -+{ -+ char *tmp = (char *) dest, *s = (char *) src; -+ -+ while (count--) -+ *tmp++ = *s++; -+ -+ return dest; -+} -+ -+ -+/* Dummy functions to avoid linker complaints */ -+void __aeabi_unwind_cpp_pr0(void) -+{ -+}; -+ -+void raise(void) -+{ -+}; -+ - #endif /*__GNUC__*/ -diff --git a/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c b/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c -index cfdb674..6b50c60 100644 ---- a/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c -+++ b/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - - /* errno definition */ - #undef errno -@@ -125,4 +126,44 @@ int _write(int file, char *ptr, int len){ - return 0; - } - -+void * memset(void * s,int c,size_t count) -+{ -+ char *xs = (char *) s; -+ -+ while (count--) -+ *xs++ = c; -+ -+ return s; -+} -+ -+ -+size_t strlen(const char * s) -+{ -+ const char *sc; -+ -+ for (sc = s; *sc != '\0'; ++sc) -+ /* nothing */; -+ return sc - s; -+} -+ -+void * memcpy(void * dest,const void *src,size_t count) -+{ -+ char *tmp = (char *) dest, *s = (char *) src; -+ -+ while (count--) -+ *tmp++ = *s++; -+ -+ return dest; -+} -+ -+ -+/* Dummy functions to avoid linker complaints */ -+void __aeabi_unwind_cpp_pr0(void) -+{ -+}; -+ -+void raise(void) -+{ -+}; -+ - #endif /*__GNUC__*/ --- -1.7.7.3 - diff --git a/boot/lpc32xxcdl/lpc32xxcdl-2.11-slashes.patch b/boot/lpc32xxcdl/lpc32xxcdl-2.11-slashes.patch deleted file mode 100644 index 94c184780e9..00000000000 --- a/boot/lpc32xxcdl/lpc32xxcdl-2.11-slashes.patch +++ /dev/null @@ -1,521 +0,0 @@ -Use slashes instead of backslashes - -Signed-off-by: Alexandre Belloni ---- - .../bsps/common/examples/buildfiles/makefile | 10 +++--- - .../startup/examples/burners/makefile.burner | 16 +++++----- - csps/lpc32xx/bsps/ea3250/source/makefile | 10 +++--- - csps/lpc32xx/bsps/fdi3250/source/makefile | 12 ++++---- - csps/lpc32xx/bsps/phy3250/examples/makefile | 2 +- - csps/lpc32xx/bsps/phy3250/source/makefile | 2 +- - .../examples/Burners/nor/kickstart/makefile | 2 +- - .../startup/examples/Burners/nor/norerase/makefile | 2 +- - .../startup/examples/Burners/nor/s1lapp/makefile | 2 +- - .../examples/Burners/spi/kickstart/makefile | 2 +- - csps/lpc32xx/source/makefile | 10 +++--- - lpc/source/makefile | 10 +++--- - makefile | 2 +- - makerule/common/make.rules.environment | 30 ++++++++++---------- - makerule/lpc32xx/make.lpc32xx.gnu | 2 +- - makerule/lpc32xx/make.lpc32xx.iar | 12 ++++---- - makerule/lpc32xx/make.lpc32xx.keil | 6 ++-- - makerule/lpc32xx/make.lpc32xx.rvw | 2 +- - 18 files changed, 67 insertions(+), 67 deletions(-) - -diff --git a/csps/lpc32xx/bsps/common/examples/buildfiles/makefile b/csps/lpc32xx/bsps/common/examples/buildfiles/makefile -index cf4977c..1da2201 100644 ---- a/csps/lpc32xx/bsps/common/examples/buildfiles/makefile -+++ b/csps/lpc32xx/bsps/common/examples/buildfiles/makefile -@@ -25,16 +25,16 @@ - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) -+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) - - ######################################################################## - # - # Pick up the assembler and C source files in the directory - # - ######################################################################## --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes --AFLAGS +=-I..\Include --CFLAGS +=-I..\Include -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes -+AFLAGS +=-I../Include -+CFLAGS +=-I../Include - - ######################################################################## - # -@@ -42,6 +42,6 @@ CFLAGS +=-I..\Include - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build - - -diff --git a/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner b/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner -index fca3947..18bd703 100644 ---- a/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner -+++ b/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner -@@ -22,9 +22,9 @@ - # - ######################################################################## - --COMMON_BASE := $(NXPMCU_SOFTWARE)\csps\$(CSP)\bsps\common --include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) --include $(COMMON_BASE)\startup\examples\buildfiles\make.env -+COMMON_BASE := $(NXPMCU_SOFTWARE)/csps/$(CSP)/bsps/common -+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) -+include $(COMMON_BASE)/startup/examples/buildfiles/make.env - - ######################################################################## - # ARM Realview -@@ -38,7 +38,7 @@ AFLAGS += --predefine "USE_ALL_STACKS SETL {TRUE}" - #AFLAGS += --predefine "RW_RELOC SETL {TRUE}" - - # This runs from IRAM --LDSCRIPT =$(COMMON_BASE)\startup\examples\buildfiles\ldscript_iram_rvw.ld -+LDSCRIPT =$(COMMON_BASE)/startup/examples/buildfiles/ldscript_iram_rvw.ld - LDFLAGS = --remove - MAP = --map --info=totals,sizes,unused --symbols --list - endif -@@ -55,7 +55,7 @@ AFLAGS += --predefine "USE_ALL_STACKS SETL {TRUE}" - #AFLAGS += --predefine "RW_RELOC SETL {TRUE}" - - # This runs from IRAM --LDSCRIPT =$(COMMON_BASE)\startup\examples\buildfiles\ldscript_iram_rvw.ld -+LDSCRIPT =$(COMMON_BASE)/startup/examples/buildfiles/ldscript_iram_rvw.ld - LDFLAGS = --remove - MAP = --map --info=totals,sizes,unused --symbols --list - endif -@@ -72,7 +72,7 @@ AFLAGS += --defsym USE_ALL_STACKS=1 - #AFLAGS += --defsym RW_RELOC=1 - - # This runs from IRAM --LDSCRIPT =$(COMMON_BASE)\startup\examples\buildfiles\ldscript_iram_gnu.ld -+LDSCRIPT =$(COMMON_BASE)/startup/examples/buildfiles/ldscript_iram_gnu.ld - - endif - -@@ -108,7 +108,7 @@ endif - # Pick up the assembler and C source files in the directory - # - ######################################################################## --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes - - ######################################################################## - # -@@ -157,6 +157,6 @@ endif - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build - - .PHONY: debug bin -diff --git a/csps/lpc32xx/bsps/ea3250/source/makefile b/csps/lpc32xx/bsps/ea3250/source/makefile -index 7cada25..2899b20 100644 ---- a/csps/lpc32xx/bsps/ea3250/source/makefile -+++ b/csps/lpc32xx/bsps/ea3250/source/makefile -@@ -22,16 +22,16 @@ - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) -+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) - - ######################################################################## - # - # Pick up the assembler and C source files in the directory - # - ######################################################################## --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes --AFLAGS +=-I..\Include --CFLAGS +=-I..\Include -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes -+AFLAGS +=-I../Include -+CFLAGS +=-I../Include - - ######################################################################## - # -@@ -64,7 +64,7 @@ realclean: lib_realclean - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build - - .PHONY: all lib_clean lib_realclean - -diff --git a/csps/lpc32xx/bsps/fdi3250/source/makefile b/csps/lpc32xx/bsps/fdi3250/source/makefile -index 4e153bb..11e4b63 100644 ---- a/csps/lpc32xx/bsps/fdi3250/source/makefile -+++ b/csps/lpc32xx/bsps/fdi3250/source/makefile -@@ -22,16 +22,16 @@ - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) -+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) - - ######################################################################## - # - # Pick up the assembler and C source files in the directory - # - ######################################################################## --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes --AFLAGS +=-I..\Include --CFLAGS +=-I..\Include -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes -+AFLAGS +=-I../Include -+CFLAGS +=-I../Include - - ######################################################################## - # -@@ -53,7 +53,7 @@ lib_clean: - # delete all targets this Makefile can make and all built libraries - # linked in - lib_realclean: -- -@$(RM) $(BSP_LIB_DIR)\*.a -+ -@$(RM) $(BSP_LIB_DIR)/*.a - -@$(RMDIR) $(BSP_LIB_DIR) - - clean: lib_clean -@@ -65,7 +65,7 @@ realclean: lib_realclean - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build - - .PHONY: all lib_clean lib_realclean - -diff --git a/csps/lpc32xx/bsps/phy3250/examples/makefile b/csps/lpc32xx/bsps/phy3250/examples/makefile -index b939252..e7feaa6 100644 ---- a/csps/lpc32xx/bsps/phy3250/examples/makefile -+++ b/csps/lpc32xx/bsps/phy3250/examples/makefile -@@ -25,7 +25,7 @@ - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) -+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) - - SUBDIRS = adc dram_self_refresh hstimer hsuart i2c kscan lcd_colorbars - SUBDIRS += lcd_tsc mi2c mstimer pwm pwm_simple rtc sdcard sdcard_dma -diff --git a/csps/lpc32xx/bsps/phy3250/source/makefile b/csps/lpc32xx/bsps/phy3250/source/makefile -index 7c48e7d..750b776 100644 ---- a/csps/lpc32xx/bsps/phy3250/source/makefile -+++ b/csps/lpc32xx/bsps/phy3250/source/makefile -@@ -32,7 +32,7 @@ include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) - # Pick up the assembler and C source files in the directory - # - ######################################################################## --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes - AFLAGS +=-I../Include - CFLAGS +=-I../Include - -diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile -index 01e2b38..526d6cc 100644 ---- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile -+++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile -@@ -78,7 +78,7 @@ endif - - ######################################################################## - # --# Compiler\linker specific stuff -+# Compiler/linker specific stuff - # - ######################################################################## - -diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile -index ce329f5..e81b8db 100644 ---- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile -+++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile -@@ -77,7 +77,7 @@ endif - - ######################################################################## - # --# Compiler\linker specific stuff -+# Compiler/linker specific stuff - # - ######################################################################## - -diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile -index 4426fc7..196faec 100644 ---- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile -+++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile -@@ -77,7 +77,7 @@ endif - - ######################################################################## - # --# Compiler\linker specific stuff -+# Compiler/linker specific stuff - # - ######################################################################## - -diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile -index dc73b64..39fc304 100644 ---- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile -+++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile -@@ -78,7 +78,7 @@ endif - - ######################################################################## - # --# Compiler\linker specific stuff -+# Compiler/linker specific stuff - # - ######################################################################## - -diff --git a/csps/lpc32xx/source/makefile b/csps/lpc32xx/source/makefile -index 8e05456..16bd944 100644 ---- a/csps/lpc32xx/source/makefile -+++ b/csps/lpc32xx/source/makefile -@@ -25,16 +25,16 @@ - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) -+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) - - ######################################################################## - # - # Pick up the assembler and C source files in the directory - # - ######################################################################## --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes --AFLAGS +=-I..\Include --CFLAGS +=-I..\Include -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes -+AFLAGS +=-I../Include -+CFLAGS +=-I../Include - - - ######################################################################## -@@ -68,7 +68,7 @@ realclean: lib_realclean - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build - - .PHONY: all lib_clean lib_realclean - -diff --git a/lpc/source/makefile b/lpc/source/makefile -index 2860db9..ae7d612 100644 ---- a/lpc/source/makefile -+++ b/lpc/source/makefile -@@ -25,16 +25,16 @@ - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) -+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) - - ######################################################################## - # - # Pick up the assembler and C source files in the directory - # - ######################################################################## --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes --AFLAGS +=-I..\Include --CFLAGS +=-I..\Include -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes -+AFLAGS +=-I../Include -+CFLAGS +=-I../Include - - ######################################################################## - # -@@ -67,7 +67,7 @@ realclean: lib_realclean - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build - - .PHONY: all lib_clean lib_realclean - -diff --git a/makefile b/makefile -index 8645fcc..86fa6bc 100644 ---- a/makefile -+++ b/makefile -@@ -34,7 +34,7 @@ TARGETS_CLN =gen_clean csp_clean bsp_clean - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) -+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) - - ######################################################################## - # -diff --git a/makerule/common/make.rules.environment b/makerule/common/make.rules.environment -index d5737fe..4e6df48 100644 ---- a/makerule/common/make.rules.environment -+++ b/makerule/common/make.rules.environment -@@ -52,7 +52,7 @@ ASTYLE =astyle --options=$(BUILD_ROOT)/tools/astyle.cfg - # - ######################################################################## - --CSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\lib -+CSP_LIB_DIR =$(BUILD_ROOT)/csps/$(CSP)/lib - - ######################################################################## - # -@@ -60,7 +60,7 @@ CSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\lib - # - ######################################################################## - --BSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\bsps\$(BSP)\lib -+BSP_LIB_DIR =$(BUILD_ROOT)/csps/$(CSP)/bsps/$(BSP)/lib - - ######################################################################## - # -@@ -68,7 +68,7 @@ BSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\bsps\$(BSP)\lib - # - ######################################################################## - --GEN_LIB_DIR =$(BUILD_ROOT)\$(GEN)\lib -+GEN_LIB_DIR =$(BUILD_ROOT)/$(GEN)/lib - - ######################################################################## - # -@@ -76,9 +76,9 @@ GEN_LIB_DIR =$(BUILD_ROOT)\$(GEN)\lib - # - ######################################################################## - --CSP_DIR =$(BUILD_ROOT)\csps\$(CSP) --CSP_SRC_DIR =$(CSP_DIR)\source --CSP_INC_DIR =$(CSP_DIR)\include -+CSP_DIR =$(BUILD_ROOT)/csps/$(CSP) -+CSP_SRC_DIR =$(CSP_DIR)/source -+CSP_INC_DIR =$(CSP_DIR)/include - - ######################################################################## - # -@@ -86,9 +86,9 @@ CSP_INC_DIR =$(CSP_DIR)\include - # - ######################################################################## - --BSP_DIR =$(BUILD_ROOT)\csps\$(CSP)\bsps\$(BSP) --BSP_SRC_DIR =$(BSP_DIR)\source --BSP_INC_DIR =$(BSP_DIR)\include -+BSP_DIR =$(BUILD_ROOT)/csps/$(CSP)/bsps/$(BSP) -+BSP_SRC_DIR =$(BSP_DIR)/source -+BSP_INC_DIR =$(BSP_DIR)/include - - ######################################################################## - # -@@ -96,9 +96,9 @@ BSP_INC_DIR =$(BSP_DIR)\include - # - ######################################################################## - --GEN_DIR =$(BUILD_ROOT)\$(GEN) --GEN_SRC_DIR =$(GEN_DIR)\source --GEN_INC_DIR =$(GEN_DIR)\include -+GEN_DIR =$(BUILD_ROOT)/$(GEN) -+GEN_SRC_DIR =$(GEN_DIR)/source -+GEN_INC_DIR =$(GEN_DIR)/include - - ######################################################################## - # -@@ -151,6 +151,6 @@ endif - # - ######################################################################## - --TARGET_CSP_LIB =$(CSP_LIB_DIR)\$(CSP_ARCHIVE) --TARGET_BSP_LIB =$(BSP_LIB_DIR)\$(BSP_ARCHIVE) --TARGET_GEN_LIB =$(GEN_LIB_DIR)\$(GEN_ARCHIVE) -+TARGET_CSP_LIB =$(CSP_LIB_DIR)/$(CSP_ARCHIVE) -+TARGET_BSP_LIB =$(BSP_LIB_DIR)/$(BSP_ARCHIVE) -+TARGET_GEN_LIB =$(GEN_LIB_DIR)/$(GEN_ARCHIVE) -diff --git a/makerule/lpc32xx/make.lpc32xx.gnu b/makerule/lpc32xx/make.lpc32xx.gnu -index 3277d99..d80b98d 100644 ---- a/makerule/lpc32xx/make.lpc32xx.gnu -+++ b/makerule/lpc32xx/make.lpc32xx.gnu -@@ -19,7 +19,7 @@ - # use without further testing or modification. - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment - - CPU = arm926ej-s - CFLAGS = -mcpu=arm926ej-s -Wall -Os -diff --git a/makerule/lpc32xx/make.lpc32xx.iar b/makerule/lpc32xx/make.lpc32xx.iar -index 238ebbf..27d163f 100644 ---- a/makerule/lpc32xx/make.lpc32xx.iar -+++ b/makerule/lpc32xx/make.lpc32xx.iar -@@ -19,12 +19,12 @@ - # use without further testing or modification. - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment - --IARBASE = $(IAR_ROOT)\ARM --IARTOOLS = $(IARBASE)\bin --IAR_LIB = $(IARBASE)\lib --IAR_INC = $(IARBASE)\inc -+IARBASE = $(IAR_ROOT)/ARM -+IARTOOLS = $(IARBASE)/bin -+IAR_LIB = $(IARBASE)/lib -+IAR_INC = $(IARBASE)/inc - CC = iccarm - CCP = iccarm - AS = iasmarm -@@ -36,7 +36,7 @@ CFLAGS += -I"$(IAR_INC)" - AFLAGS = --cpu 5TEJ - LDFLAGS = - LK = "$(TARGET_GEN_LIB)" "$(TARGET_CSP_LIB)" "$(TARGET_BSP_LIB)" --;LK += "$(IAR_LIB)\dl4tpannl8f.r79" -+;LK += "$(IAR_LIB)/dl4tpannl8f.r79" - MAP = --map - LDESC = --config - ENTRY = --entry -diff --git a/makerule/lpc32xx/make.lpc32xx.keil b/makerule/lpc32xx/make.lpc32xx.keil -index dd27583..7334d3f 100644 ---- a/makerule/lpc32xx/make.lpc32xx.keil -+++ b/makerule/lpc32xx/make.lpc32xx.keil -@@ -19,7 +19,7 @@ - # use without further testing or modification. - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment - - CC =armcc - CCP =armcc -@@ -27,11 +27,11 @@ AS =armasm - LD =armlink - AR =armar -r -s - CFLAGS =--arm -O3 -g --device DARMP3 -D__MICROLIB --CFLAGS +=-I$(KEIL_RVCT)\inc -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) -+CFLAGS +=-I$(KEIL_RVCT)/inc -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) - AFLAGS =--arm --device=DARMP3 - AFLAGS +=-I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) - LDFLAGS =--noremove --LK =--device DARMP3 --libpath $(KEIL_RVCT)\lib --scan $(TARGET_CSP_LIB) -+LK =--device DARMP3 --libpath $(KEIL_RVCT)/lib --scan $(TARGET_CSP_LIB) - LK +=--scan $(TARGET_BSP_LIB) - LK +=--scan $(TARGET_GEN_LIB) - MAP =--map --list -diff --git a/makerule/lpc32xx/make.lpc32xx.rvw b/makerule/lpc32xx/make.lpc32xx.rvw -index 59961dd..2419976 100644 ---- a/makerule/lpc32xx/make.lpc32xx.rvw -+++ b/makerule/lpc32xx/make.lpc32xx.rvw -@@ -19,7 +19,7 @@ - # use without further testing or modification. - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment - - CC =armcc - CCP =armcpp --- -1.7.7.3 - diff --git a/boot/lpc32xxcdl/lpc32xxcdl.mk b/boot/lpc32xxcdl/lpc32xxcdl.mk deleted file mode 100644 index 04c1c7f060e..00000000000 --- a/boot/lpc32xxcdl/lpc32xxcdl.mk +++ /dev/null @@ -1,70 +0,0 @@ -################################################################################ -# -# lpc32xxcdl -# -################################################################################ - -LPC32XXCDL_VERSION = lpc32xx_cdl_v2.11 -LPC32XXCDL_SITE = http://git.lpcware.com/lpc3xxx_cdl.git -LPC32XXCDL_SITE_METHOD = git - -LPC32XXCDL_INSTALL_TARGET = NO -LPC32XXCDL_INSTALL_IMAGES = YES - -ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"ea3250") -LPC32XXCDL_KICKSTART = kickstart/nand -LPC32XXCDL_KICKSTART_BURNER = nand/kickstart -LPC32XXCDL_S1L = s1l -LPC32XXCDL_S1L_BURNER = nand/s1lapp -endif - -ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"phy3250") -LPC32XXCDL_KICKSTART = kickstart/kickstart_nand -LPC32XXCDL_KICKSTART_BURNER = nand/kickstart -LPC32XXCDL_S1L = s1l/s1l_nand_boot -LPC32XXCDL_S1L_BURNER = nand/s1lapp -endif - -ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"fdi3250") -LPC32XXCDL_KICKSTART = kickstart/nand -LPC32XXCDL_KICKSTART_BURNER = nand/kickstart_jtag -LPC32XXCDL_S1L = s1l -LPC32XXCDL_S1L_BURNER = nand/s1lapp_jtag -endif - -LPC32XXCDL_BUILD_FLAGS = \ - CROSS_COMPILE=$(TARGET_CROSS) \ - NXPMCU_WINBASE=$(@D) \ - NXPMCU_SOFTWARE=$(@D) \ - BSP=$(BR2_TARGET_LPC32XXCDL_BOARDNAME) \ - CSP=lpc32xx TOOL=gnu GEN=lpc - -LPC32XXCDL_BOARD_STARTUP_DIR = \ - csps/lpc32xx/bsps/$(BR2_TARGET_LPC32XXCDL_BOARDNAME)/startup/examples/ - -# Source files are with dos newlines, which our patch infrastructure doesn't -# handle. Work around it by converting the affected files to unix newlines -# before patching -define LPC32XXCDL_DOS2UNIX_FOR_PATCH - sed -n 's|^[+-]\{3\} [^/]\+\([^ \t]*\)\(.*\)|$(@D)\1|p' \ - boot/lpc32xxcdl/*.patch| sort -u | xargs $(SED) 's/\x0D$$//' -endef - -LPC32XXCDL_POST_EXTRACT_HOOKS += LPC32XXCDL_DOS2UNIX_FOR_PATCH - -define LPC32XXCDL_BUILD_CMDS - $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D) - $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_KICKSTART_BURNER) - $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_KICKSTART) - $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_S1L_BURNER) - $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_S1L) -endef - -define LPC32XXCDL_INSTALL_IMAGES_CMDS - cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_KICKSTART_BURNER)/*gnu.bin $(BINARIES_DIR) - cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_KICKSTART)/*gnu.bin $(BINARIES_DIR) - cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_S1L_BURNER)/*gnu.bin $(BINARIES_DIR) - cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_S1L)/*gnu.bin $(BINARIES_DIR) -endef - -$(eval $(generic-package)) diff --git a/boot/mv-ddr-marvell/0001-Allow-access-to-low-addresses-with-gcc-12.patch b/boot/mv-ddr-marvell/0001-Allow-access-to-low-addresses-with-gcc-12.patch new file mode 100644 index 00000000000..5a623f28f95 --- /dev/null +++ b/boot/mv-ddr-marvell/0001-Allow-access-to-low-addresses-with-gcc-12.patch @@ -0,0 +1,49 @@ +From 4796a1eacc6a5ccb623e7d2e46a5196f8335e496 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Fri, 11 Aug 2023 11:19:49 +0300 +Subject: [PATCH] Allow access to low addresses with gcc 12 + +gcc 12 added a warning that triggers on access to low addresses. Add a +compile option that allows access to lower addresses. + +Add the 'cc_option' macro to avoid the compile option when the compiler +does not support it. + +This fixes build with TF-A. TF-A added a similar fix in commit +dea23e245fb89. + +See some more details in +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523 + +Upstream: https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell/pull/42 +Signed-off-by: Baruch Siach +--- + Makefile | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/Makefile b/Makefile +index 3f0dd89a7381..045284c30cbc 100644 +--- a/Makefile ++++ b/Makefile +@@ -108,6 +108,10 @@ MV_DDR_VER_CSRC = mv_ddr_build_message.c + # create mv_ddr build message and version string source file + $(shell $(MV_DDR_ROOT)/scripts/localversion.sh $(MV_DDR_ROOT) $(MV_DDR_VER_CSRC) 2> /dev/null) + ++define cc_option ++ $(shell if $(CC) $(1) -c -x c /dev/null -o /dev/null >/dev/null 2>&1; then echo $(1); fi ) ++endef ++ + # ****************** + # U-BOOT SPL SUPPORT + # ****************** +@@ -331,6 +335,7 @@ OBJ_DIR ?= $(MV_DDR_ROOT) + CFLAGS = -DMV_DDR_ATF -DCONFIG_DDR4 + CFLAGS += -Wall -Werror -Os -ffreestanding -mlittle-endian -g -gdwarf-2 -nostdinc + CFLAGS += -march=armv8-a -fpie ++CFLAGS += $(call cc_option, --param=min-pagesize=0) + + # PLATFORM is set in ble/ble.mk + ifneq ($(findstring a80x0,$(PLATFORM)),) +-- +2.40.1 + diff --git a/boot/mv-ddr-marvell/0002-Makefile-disable-stack-protection.patch b/boot/mv-ddr-marvell/0002-Makefile-disable-stack-protection.patch new file mode 100644 index 00000000000..626279eb471 --- /dev/null +++ b/boot/mv-ddr-marvell/0002-Makefile-disable-stack-protection.patch @@ -0,0 +1,33 @@ +From 53e34e3bff26fcbb7cc14178fa9fc80e7a73d556 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 11 Oct 2022 16:34:44 +0300 +Subject: [PATCH] Makefile: disable stack protection + +The Buildroot toolchain might enable stack protection by default. That +breaks linking because ATF does not provide the required __stack_chk +routines. + +The mv-ddr-marvell Makefile provides no way to add custom CFLAGS. Patch +Makefile to disable stack protection. + +Upstream: not applicable; Buildroot specific +Signed-off-by: Baruch Siach +--- + Makefile | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile b/Makefile +index 045284c30cbc..9641354bcf86 100644 +--- a/Makefile ++++ b/Makefile +@@ -336,6 +336,7 @@ CFLAGS = -DMV_DDR_ATF -DCONFIG_DDR4 + CFLAGS += -Wall -Werror -Os -ffreestanding -mlittle-endian -g -gdwarf-2 -nostdinc + CFLAGS += -march=armv8-a -fpie + CFLAGS += $(call cc_option, --param=min-pagesize=0) ++CFLAGS += -fno-stack-protector + + # PLATFORM is set in ble/ble.mk + ifneq ($(findstring a80x0,$(PLATFORM)),) +-- +2.40.1 + diff --git a/boot/mv-ddr-marvell/Config.in b/boot/mv-ddr-marvell/Config.in new file mode 100644 index 00000000000..4ee8c95b2c6 --- /dev/null +++ b/boot/mv-ddr-marvell/Config.in @@ -0,0 +1,10 @@ +config BR2_TARGET_MV_DDR_MARVELL + bool "mv-ddr-marvell" + depends on BR2_aarch64 + help + Marvell keeps algorithms for DDR training in a separate + repository. This code is not built separately, it is needed + as a dependency to build ATF firmware for Marvell Armada 7040 + and 8040 SoCs. + + https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell/ diff --git a/boot/mv-ddr-marvell/mv-ddr-marvell.hash b/boot/mv-ddr-marvell/mv-ddr-marvell.hash new file mode 100644 index 00000000000..75e87d833df --- /dev/null +++ b/boot/mv-ddr-marvell/mv-ddr-marvell.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 16f02232e21a15979b3d9971e28f7e59562484a5c1f99c2b28c248a3b76a63fa mv-ddr-marvell-d5acc10c287e40cc2feeb28710b92e45c93c702c.tar.gz +sha256 907a03943ca940790e97620aca8d46b5b04c653dcf2ab6c66a25238b60cf5635 ddr3_init.c diff --git a/boot/mv-ddr-marvell/mv-ddr-marvell.mk b/boot/mv-ddr-marvell/mv-ddr-marvell.mk new file mode 100644 index 00000000000..e05192fe9b8 --- /dev/null +++ b/boot/mv-ddr-marvell/mv-ddr-marvell.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# mv-ddr-marvell +# +################################################################################ + +# This is the latest commit on mv-ddr-devel as of 20220529 +MV_DDR_MARVELL_VERSION = d5acc10c287e40cc2feeb28710b92e45c93c702c +MV_DDR_MARVELL_SITE = $(call github,MarvellEmbeddedProcessors,mv-ddr-marvell,$(MV_DDR_MARVELL_VERSION)) +MV_DDR_MARVELL_LICENSE = GPL-2.0+ or LGPL-2.1 with freertos-exception-2.0, BSD-3-Clause, Marvell Commercial +MV_DDR_MARVELL_LICENSE_FILES = ddr3_init.c + +$(eval $(generic-package)) diff --git a/boot/mxs-bootlets/Config.in b/boot/mxs-bootlets/Config.in index 4bb07a06f51..00819c5ad6f 100644 --- a/boot/mxs-bootlets/Config.in +++ b/boot/mxs-bootlets/Config.in @@ -1,6 +1,8 @@ -config BR2_TARGET_MXS_BOOTLETS +menuconfig BR2_TARGET_MXS_BOOTLETS bool "mxs-bootlets" depends on BR2_arm + depends on BR2_TARGET_BAREBOX || BR2_LINUX_KERNEL || \ + BR2_TARGET_UBOOT help Stage1 bootloaders for Freescale iMX23/iMX28 SoCs @@ -24,8 +26,8 @@ config BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT endchoice config BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL_URL - depends on BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL string "URL of custom bootlets tarball" + depends on BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL if BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT @@ -43,16 +45,16 @@ choice Select which bootstream to generate config BR2_TARGET_MXS_BOOTLETS_BAREBOX - depends on BR2_TARGET_BAREBOX bool "Barebox Bootloader" + depends on BR2_TARGET_BAREBOX config BR2_TARGET_MXS_BOOTLETS_LINUX - depends on BR2_LINUX_KERNEL bool "Linux Kernel" + depends on BR2_LINUX_KERNEL config BR2_TARGET_MXS_BOOTLETS_UBOOT - depends on BR2_TARGET_UBOOT bool "U-boot bootloader" + depends on BR2_TARGET_UBOOT endchoice diff --git a/boot/opensbi/Config.in b/boot/opensbi/Config.in new file mode 100644 index 00000000000..986e380b48d --- /dev/null +++ b/boot/opensbi/Config.in @@ -0,0 +1,136 @@ +menuconfig BR2_TARGET_OPENSBI + bool "opensbi" + depends on BR2_riscv + help + OpenSBI aims to provide an open-source and extensible + implementation of the RISC-V SBI specification for a platform + specific firmware (M-mode) and a general purpose OS, + hypervisor or bootloader (S-mode or HS-mode). OpenSBI + implementation can be easily extended by RISC-V platform or + System-on-Chip vendors to fit a particular hadware + configuration. + + https://github.com/riscv-software-src/opensbi + +if BR2_TARGET_OPENSBI +choice + prompt "OpenSBI Version" + help + Select the specific OpenSBI version you want to use + +config BR2_TARGET_OPENSBI_LATEST_VERSION + bool "1.7" + +config BR2_TARGET_OPENSBI_CUSTOM_VERSION + bool "Custom version" + help + This option allows to use a specific official versions + +config BR2_TARGET_OPENSBI_CUSTOM_TARBALL + bool "Custom tarball" + +config BR2_TARGET_OPENSBI_CUSTOM_GIT + bool "Custom Git repository" + +endchoice + +config BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE + string "OpenSBI version" + depends on BR2_TARGET_OPENSBI_CUSTOM_VERSION + +config BR2_TARGET_OPENSBI_CUSTOM_TARBALL_LOCATION + string "URL of custom OpenSBI tarball" + depends on BR2_TARGET_OPENSBI_CUSTOM_TARBALL + +if BR2_TARGET_OPENSBI_CUSTOM_GIT + +config BR2_TARGET_OPENSBI_CUSTOM_REPO_URL + string "URL of custom repository" + +config BR2_TARGET_OPENSBI_CUSTOM_REPO_VERSION + string "Custom repository version" + help + Revision to use in the typical format used by Git. E.G. a + sha id, a tag, branch, .. + +endif + +config BR2_TARGET_OPENSBI_VERSION + string + default "1.7" if BR2_TARGET_OPENSBI_LATEST_VERSION + default BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE \ + if BR2_TARGET_OPENSBI_CUSTOM_VERSION + default "custom" if BR2_TARGET_OPENSBI_CUSTOM_TARBALL + default BR2_TARGET_OPENSBI_CUSTOM_REPO_VERSION \ + if BR2_TARGET_OPENSBI_CUSTOM_GIT + +config BR2_TARGET_OPENSBI_LICENSE_FILES + string "OpenSBI license files" if BR2_TARGET_OPENSBI_CUSTOM_GIT || \ + BR2_TARGET_OPENSBI_CUSTOM_TARBALL + default "COPYING.BSD" + help + A space-separated list of license files related to the OpenSBI + package. + +config BR2_TARGET_OPENSBI_PLAT + string "OpenSBI Platform" + default "" + help + Specifies the OpenSBI platform to build. If no platform is + specified only the OpenSBI platform independent static + library libsbi.a is built. If a platform is specified then + the platform specific static library libplatsbi.a and firmware + examples are built. + +config BR2_TARGET_OPENSBI_INSTALL_DYNAMIC_IMG + bool "Install fw_dynamic image" + default y if BR2_TARGET_OPENSBI_PLAT != "" + help + This installs the fw_dynamic image. + +config BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG + bool "Install fw_jump image" + default y if BR2_TARGET_OPENSBI_PLAT != "" + help + This installs the fw_jump image. + +config BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG + bool "Install fw_payload image" + help + This option enables the installation of the fw_paylaod + image. + +config BR2_TARGET_OPENSBI_LINUX_PAYLOAD + bool "Include Linux as OpenSBI Payload" + depends on BR2_TARGET_OPENSBI_PLAT != "" + depends on BR2_LINUX_KERNEL + depends on BR2_LINUX_KERNEL_IMAGE + select BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG + help + Build OpenSBI with the Linux kernel as a Payload. + +config BR2_TARGET_OPENSBI_UBOOT_PAYLOAD + bool "Include U-Boot as OpenSBI Payload" + depends on BR2_TARGET_OPENSBI_PLAT != "" + depends on BR2_TARGET_UBOOT + select BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG + help + Build OpenSBI with the U-Boot as a Payload. + +config BR2_TARGET_OPENSBI_FW_FDT_PATH + bool "Include U-Boot DTB in OpenSBI Payload" + depends on BR2_TARGET_OPENSBI_UBOOT_PAYLOAD + select BR2_TARGET_UBOOT_FORMAT_DTB + help + Build OpenSBI with FW_FDT_PATH set to + $(BINARIES_DIR)/u-boot.dtb. Note that CONFIG_OF_SEPARATE + must be set in the U-Boot configuration for this file to be + produced. + +config BR2_TARGET_OPENSBI_ADDITIONAL_VARIABLES + string "Additional build variables" + help + Additional parameters for the build, which will be passed on + the make command line. E.g: BUILD_INFO=1. + +endif diff --git a/boot/opensbi/opensbi.hash b/boot/opensbi/opensbi.hash new file mode 100644 index 00000000000..c82d2de236e --- /dev/null +++ b/boot/opensbi/opensbi.hash @@ -0,0 +1,3 @@ +# locally computed +sha256 2cf856a4e5e2e052948ddb54ba48232b1f698b7f52e0374fc7d17d51e8c8f7ce opensbi-1.7.tar.gz +sha256 82d13fb1bf6bb162629deeea9eb9c117e74548d3b707e478967691fe79a68e21 COPYING.BSD diff --git a/boot/opensbi/opensbi.mk b/boot/opensbi/opensbi.mk new file mode 100644 index 00000000000..f9f550176f9 --- /dev/null +++ b/boot/opensbi/opensbi.mk @@ -0,0 +1,90 @@ +################################################################################ +# +# opensbi +# +################################################################################ + +OPENSBI_VERSION = $(call qstrip,$(BR2_TARGET_OPENSBI_VERSION)) + +ifeq ($(BR2_TARGET_OPENSBI_CUSTOM_TARBALL),y) +# Handle custom OpenSBI tarballs as specified by the configuration +OPENSBI_TARBALL = $(call qstrip,$(BR2_TARGET_OPENSBI_CUSTOM_TARBALL_LOCATION)) +OPENSBI_SITE = $(patsubst %/,%,$(dir $(OPENSBI_TARBALL))) +OPENSBI_SOURCE = $(notdir $(OPENSBI_TARBALL)) +else ifeq ($(BR2_TARGET_OPENSBI_CUSTOM_GIT),y) +OPENSBI_SITE = $(call qstrip,$(BR2_TARGET_OPENSBI_CUSTOM_REPO_URL)) +OPENSBI_SITE_METHOD = git +else +# Handle official OpenSBI versions +OPENSBI_SITE = $(call github,riscv-software-src,opensbi,v$(OPENSBI_VERSION)) +endif + +OPENSBI_LICENSE = BSD-2-Clause +OPENSBI_LICENSE_FILES = $(call qstrip,$(BR2_TARGET_OPENSBI_LICENSE_FILES)) +OPENSBI_INSTALL_TARGET = NO +OPENSBI_INSTALL_STAGING = YES + +ifeq ($(BR2_TARGET_OPENSBI)$(BR2_TARGET_OPENSBI_LATEST_VERSION),y) +BR_NO_CHECK_HASH_FOR += $(OPENSBI_SOURCE) +endif + +OPENSBI_MAKE_ENV = \ + CROSS_COMPILE=$(TARGET_CROSS) \ + $(call qstrip,$(BR2_TARGET_OPENSBI_ADDITIONAL_VARIABLES)) + +OPENSBI_PLAT = $(call qstrip,$(BR2_TARGET_OPENSBI_PLAT)) +ifneq ($(OPENSBI_PLAT),) +OPENSBI_MAKE_ENV += PLATFORM=$(OPENSBI_PLAT) +endif + +ifeq ($(BR2_TARGET_OPENSBI_LINUX_PAYLOAD),y) +OPENSBI_DEPENDENCIES += linux +OPENSBI_MAKE_ENV += FW_PAYLOAD_PATH="$(BINARIES_DIR)/Image" +endif + +ifeq ($(BR2_TARGET_OPENSBI_UBOOT_PAYLOAD),y) +OPENSBI_DEPENDENCIES += uboot +OPENSBI_MAKE_ENV += FW_PAYLOAD_PATH="$(BINARIES_DIR)/u-boot.bin" +ifeq ($(BR2_TARGET_OPENSBI_FW_FDT_PATH),y) +OPENSBI_MAKE_ENV += FW_FDT_PATH="$(BINARIES_DIR)/u-boot.dtb" +endif +endif + +define OPENSBI_BUILD_CMDS + $(TARGET_MAKE_ENV) $(OPENSBI_MAKE_ENV) $(MAKE) -C $(@D) +endef + +ifeq ($(BR2_TARGET_OPENSBI_INSTALL_DYNAMIC_IMG),y) +OPENSBI_INSTALL_IMAGES = YES +OPENSBI_FW_IMAGES += dynamic +endif + +ifeq ($(BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG),y) +OPENSBI_INSTALL_IMAGES = YES +OPENSBI_FW_IMAGES += jump +endif + +ifeq ($(BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG),y) +OPENSBI_INSTALL_IMAGES = YES +OPENSBI_FW_IMAGES += payload +endif + +ifneq ($(OPENSBI_PLAT),) +define OPENSBI_INSTALL_IMAGES_CMDS + $(foreach f,$(OPENSBI_FW_IMAGES),\ + $(INSTALL) -m 0644 -D $(@D)/build/platform/$(OPENSBI_PLAT)/firmware/fw_$(f).bin \ + $(BINARIES_DIR)/fw_$(f).bin + $(INSTALL) -m 0644 -D $(@D)/build/platform/$(OPENSBI_PLAT)/firmware/fw_$(f).elf \ + $(BINARIES_DIR)/fw_$(f).elf + ) +endef +endif + +# libsbi.a is not a library meant to be linked in user-space code, but +# with bare metal code, which is why we don't install it in +# $(STAGING_DIR)/usr/lib +define OPENSBI_INSTALL_STAGING_CMDS + $(INSTALL) -m 0644 -D $(@D)/build/lib/libsbi.a $(STAGING_DIR)/usr/share/opensbi/libsbi.a +endef + +$(eval $(generic-package)) diff --git a/boot/optee-os/3.13.0/0001-core-zlib-fix-build-warning-when-_LFS64_LARGEFILE-is.patch b/boot/optee-os/3.13.0/0001-core-zlib-fix-build-warning-when-_LFS64_LARGEFILE-is.patch new file mode 100644 index 00000000000..0ff61dc524d --- /dev/null +++ b/boot/optee-os/3.13.0/0001-core-zlib-fix-build-warning-when-_LFS64_LARGEFILE-is.patch @@ -0,0 +1,56 @@ +From 82becbadd5918ed7ad3c2b651ce479084b5feb2a Mon Sep 17 00:00:00 2001 +From: Etienne Carriere +Date: Mon, 10 May 2021 15:58:41 +0200 +Subject: core: zlib: fix build warning when _LFS64_LARGEFILE is not defined + +In zlib, _LFS64_LARGEFILE is expected to be a boolean directive, either +1 (true) or 0 (false). Depending on toolchain version and directives +build may produces warnings (as shown below with gcc 9.3) when the macro +is not defined hence this change to default it to value 0 (false). + +core/lib/zlib/zutil.h:196:39: warning: "_LFS64_LARGEFILE" is not defined, evaluates to 0 [-Wundef] + 196 | (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0) + | ^~~~~~~~~~~~~~~~ +In file included from core/lib/zlib/adler32.c:9: +core/lib/zlib/zutil.h:196:39: warning: "_LFS64_LARGEFILE" is not defined, evaluates to 0 [-Wundef] + 196 | (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0) + | ^~~~~~~~~~~~~~~~ + CC out/core/lib/zlib/zutil.o +In file included from core/lib/zlib/inftrees.c:7: +core/lib/zlib/zutil.h:196:39: warning: "_LFS64_LARGEFILE" is not defined, evaluates to 0 [-Wundef] + 196 | (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0) + | ^~~~~~~~~~~~~~~~ +In file included from core/lib/zlib/inflate.c:84: +core/lib/zlib/zutil.h:196:39: warning: "_LFS64_LARGEFILE" is not defined, evaluates to 0 [-Wundef] + 196 | (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0) + | ^~~~~~~~~~~~~~~~ +In file included from core/lib/zlib/zutil.c:9: +core/lib/zlib/zutil.h:196:39: warning: "_LFS64_LARGEFILE" is not defined, evaluates to 0 [-Wundef] + 196 | (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0) + | ^~~~~~~~~~~~~~~~ + +Signed-off-by: Etienne Carriere +Reviewed-by: Jens Wiklander +--- + core/lib/zlib/zconf.h | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/core/lib/zlib/zconf.h b/core/lib/zlib/zconf.h +index 0bca18be..a7d13741 100644 +--- a/core/lib/zlib/zconf.h ++++ b/core/lib/zlib/zconf.h +@@ -487,6 +487,11 @@ typedef uLong FAR uLongf; + # endif + #endif + ++/* Other places expect _LFS64_LARGEFILE to be defined with a valid value */ ++#ifndef _LFS64_LARGEFILE ++#define _LFS64_LARGEFILE 0 ++#endif ++ + #if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0 + # define Z_LFS64 + #endif +-- +2.17.1 + diff --git a/boot/optee-os/Config.in b/boot/optee-os/Config.in new file mode 100644 index 00000000000..af08375b9ac --- /dev/null +++ b/boot/optee-os/Config.in @@ -0,0 +1,183 @@ +menuconfig BR2_TARGET_OPTEE_OS + bool "optee_os" + depends on BR2_ARM_CPU_ARMV8A || BR2_ARM_CPU_ARMV7A || BR2_RISCV_64 + help + OP-TEE OS provides the secure world boot image and the trust + application development kit of the OP-TEE project. OP-TEE OS + also provides generic trusted application one can embedded + into its system. + + http://github.com/OP-TEE/optee_os + +if BR2_TARGET_OPTEE_OS + +choice + prompt "OP-TEE OS version" + default BR2_TARGET_OPTEE_OS_LATEST if BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS + help + Select the version of OP-TEE OS you want to use + +config BR2_TARGET_OPTEE_OS_LATEST + bool "4.9.0" + depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS + select BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY + help + Use the latest release tag from the OP-TEE OS official Git + repository. + +config BR2_TARGET_OPTEE_OS_CUSTOM_VERSION + bool "Custom version" + help + This option allows to use a specific official version + +config BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL + bool "Custom tarball" + help + This option allows to specify a URL pointing to an OP-TEE OS + source tarball. This URL can use any protocol recognized by + Buildroot, like http://, ftp://, file:// or scp://. + + When pointing to a local tarball using file://, you may want + to use a make variable like $(TOPDIR) to reference the root of + the Buildroot tree. + +config BR2_TARGET_OPTEE_OS_CUSTOM_GIT + bool "Custom Git repository" + help + Use a custom version fetched from a Git repository. + +endchoice + +config BR2_TARGET_OPTEE_OS_CUSTOM_VERSION_VALUE + string "OP-TEE version" + depends on BR2_TARGET_OPTEE_OS_CUSTOM_VERSION + +if BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL + +config BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL_LOCATION + string "URL of custom OP-TEE OS tarball" + +endif + +if BR2_TARGET_OPTEE_OS_CUSTOM_GIT + +config BR2_TARGET_OPTEE_OS_CUSTOM_REPO_URL + string "URL of custom repository" + depends on BR2_TARGET_OPTEE_OS_CUSTOM_GIT + help + Specific location of the reference source tree Git + repository. + +config BR2_TARGET_OPTEE_OS_CUSTOM_REPO_VERSION + string "Custom repository version" + depends on BR2_TARGET_OPTEE_OS_CUSTOM_GIT + help + Revision to use in the typical format used by Git, i.e a + SHA1 or a tag. + +endif + +config BR2_TARGET_OPTEE_OS_VERSION + string + default "4.9.0" if BR2_TARGET_OPTEE_OS_LATEST + default BR2_TARGET_OPTEE_OS_CUSTOM_VERSION_VALUE \ + if BR2_TARGET_OPTEE_OS_CUSTOM_VERSION + default "custom" if BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL + default BR2_TARGET_OPTEE_OS_CUSTOM_REPO_VERSION \ + if BR2_TARGET_OPTEE_OS_CUSTOM_GIT + +config BR2_TARGET_OPTEE_OS_LICENSE_FILES + string "OP-TEE OS license files" if BR2_TARGET_OPTEE_OS_CUSTOM_GIT || \ + BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL + default "LICENSE" + help + A space-separated list of license files related to the + OPTEE-OS package. + +config BR2_TARGET_OPTEE_OS_NEEDS_DTC + bool "OP-TEE OS needs dtc" + select BR2_PACKAGE_HOST_DTC + help + Select this option if your OP-TEE OS platform configuration + requires the Device Tree compiler to be available. + +config BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY + bool "OP-TEE OS needs host-python-cryptography" + depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS + help + OP-TEE OS version below 3.16 used python-pycryptodomex + package in python scripts. Newer version uses + python-cryptography. Select this option if optee-os needs + python-cryptography to be built. + +config BR2_TARGET_OPTEE_OS_NEEDS_CMAKE + bool "OP-TEE OS needs cmake" + help + Select this option if your OP-TEE OS platform configuration + requires the cmake build system to be available. + +config BR2_TARGET_OPTEE_OS_CORE + bool "Build core" + default y + help + This option will build and install the OP-TEE core + boot images. + +config BR2_TARGET_OPTEE_OS_SDK + bool "Build TA devkit" + default y + help + This option will build and install the OP-TEE development + kit for building OP-TEE trusted application images. It is + installed in the staging directory /lib/optee. + +config BR2_TARGET_OPTEE_OS_SERVICES + bool "Build service TAs and libs" + default y + select BR2_TARGET_OPTEE_OS_CORE + help + This option installs the service trusted applications and + trusted shared libraries built from OP-TEE OS source tree. + These are installed in target /lib/optee_armtz directory + as other trusted applications. At runtime OP-TEE OS can + load these from this non-secure filesystem/directory into + the secure world for execution. + +config BR2_TARGET_OPTEE_OS_PLATFORM + string "Target platform (mandatory)" + help + Value for the mandated PLATFORM build directive provided to + OP-TEE OS. + +config BR2_TARGET_OPTEE_OS_PLATFORM_FLAVOR + string "Target platform flavor (optional)" + help + Value for the optional PLATFORM_FLAVOR build directive + provided to OP-TEE OS. + +config BR2_TARGET_OPTEE_OS_CUSTOM_DTS_PATH + string "Device Tree Source file paths" + help + Space-separated list of paths to device tree source files + that will be copied to core/arch/arm/dts/ before starting + the build. + + To use this device tree source file, the OP-TEE OS + configuration must refer to it with the + CFG_EMBED_DTB_SOURCE_FILE option and no platform flavor + needs to be specified. + +config BR2_TARGET_OPTEE_OS_ADDITIONAL_VARIABLES + string "Additional build variables" + help + Additional parameters for the OP-TEE OS build + E.g. 'CFG_TEE_CORE_LOG_LEVEL=3 CFG_UNWIND=y' + +config BR2_TARGET_OPTEE_OS_CORE_IMAGES + string "Binary boot images" + default "tee.bin tee-raw.bin tee-*_v2.bin" + help + Names of generated image files that are installed in the + output images/ directory. + +endif # BR2_TARGET_OPTEE_OS diff --git a/boot/optee-os/optee-os.hash b/boot/optee-os/optee-os.hash new file mode 100644 index 00000000000..3db5c85cf17 --- /dev/null +++ b/boot/optee-os/optee-os.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 9400e16c45bfa45f15585b2c933b86c449e7de05def0ecaaa62a4f38973a3a45 optee-os-4.9.0.tar.gz +sha256 1247ee90858f4037b6cac63cbffddfed435d0d73c631b37d78c1e6e6ab3e5d1a LICENSE diff --git a/boot/optee-os/optee-os.mk b/boot/optee-os/optee-os.mk new file mode 100644 index 00000000000..16395974079 --- /dev/null +++ b/boot/optee-os/optee-os.mk @@ -0,0 +1,176 @@ +################################################################################ +# +# optee-os +# +################################################################################ + +OPTEE_OS_VERSION = $(call qstrip,$(BR2_TARGET_OPTEE_OS_VERSION)) +OPTEE_OS_LICENSE = BSD-2-Clause +OPTEE_OS_LICENSE_FILES = $(call qstrip,$(BR2_TARGET_OPTEE_OS_LICENSE_FILES)) + +OPTEE_OS_CPE_ID_PREFIX = cpe:2.3:o +OPTEE_OS_CPE_ID_VENDOR = linaro +OPTEE_OS_CPE_ID_PRODUCT = op-tee + +OPTEE_OS_INSTALL_STAGING = YES +OPTEE_OS_INSTALL_IMAGES = YES + +ifeq ($(BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL),y) +OPTEE_OS_TARBALL = $(call qstrip,$(BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL_LOCATION)) +OPTEE_OS_SITE = $(patsubst %/,%,$(dir $(OPTEE_OS_TARBALL))) +OPTEE_OS_SOURCE = $(notdir $(OPTEE_OS_TARBALL)) +else ifeq ($(BR2_TARGET_OPTEE_OS_CUSTOM_GIT),y) +OPTEE_OS_SITE = $(call qstrip,$(BR2_TARGET_OPTEE_OS_CUSTOM_REPO_URL)) +OPTEE_OS_SITE_METHOD = git +else +OPTEE_OS_SITE = $(call github,OP-TEE,optee_os,$(OPTEE_OS_VERSION)) +endif + +ifeq ($(BR2_TARGET_OPTEE_OS):$(BR2_TARGET_OPTEE_OS_LATEST),y:) +BR_NO_CHECK_HASH_FOR += $(OPTEE_OS_SOURCE) +endif + +OPTEE_OS_DEPENDENCIES = host-openssl host-python3 host-python-pyelftools + +ifeq ($(BR2_TARGET_OPTEE_OS_NEEDS_CMAKE),y) +OPTEE_OS_DEPENDENCIES += $(BR2_CMAKE_HOST_DEPENDENCY) +endif + +ifeq ($(BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY),y) +OPTEE_OS_DEPENDENCIES += host-python-cryptography +else +OPTEE_OS_DEPENDENCIES += host-python-pycryptodomex +endif + +ifeq ($(BR2_TARGET_OPTEE_OS_NEEDS_DTC),y) +OPTEE_OS_DEPENDENCIES += host-dtc +endif + +# On 64bit targets, OP-TEE OS can be built in 32bit mode, or +# can be built in 64bit mode and support 32bit and 64bit +# trusted applications. Since buildroot currently references +# a single cross compiler, build exclusively in 32bit +# or 64bit mode. +OPTEE_OS_MAKE_OPTS = \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + CROSS_COMPILE_core="$(TARGET_CROSS)" \ + CROSS_COMPILE_ta_arm64="$(TARGET_CROSS)" \ + CROSS_COMPILE_ta_arm32="$(TARGET_CROSS)" \ + CROSS_COMPILE_ta_rv64="$(TARGET_CROSS)" \ + PYTHON3="$(HOST_DIR)/bin/python3" + +ifeq ($(BR2_riscv),y) +OPTEE_OS_MAKE_OPTS += \ + ARCH=riscv \ + CFG_RV64_core=y \ + CFG_USER_TA_TARGETS=ta_rv64 +else +ifeq ($(BR2_aarch64),y) +OPTEE_OS_MAKE_OPTS += \ + ARCH=arm \ + CFG_ARM64_core=y \ + CFG_USER_TA_TARGETS=ta_arm64 +else +OPTEE_OS_MAKE_OPTS += \ + ARCH=arm \ + CFG_ARM32_core=y +endif +endif + +# Get mandatory PLATFORM and optional PLATFORM_FLAVOR and additional +# variables +OPTEE_OS_MAKE_OPTS += PLATFORM=$(call qstrip,$(BR2_TARGET_OPTEE_OS_PLATFORM)) +ifneq ($(call qstrip,$(BR2_TARGET_OPTEE_OS_PLATFORM_FLAVOR)),) +OPTEE_OS_MAKE_OPTS += PLATFORM_FLAVOR=$(call qstrip,$(BR2_TARGET_OPTEE_OS_PLATFORM_FLAVOR)) +endif +OPTEE_OS_MAKE_OPTS += $(call qstrip,$(BR2_TARGET_OPTEE_OS_ADDITIONAL_VARIABLES)) + +# Requests OP-TEE OS to build from subdirectory out/ of its sourcetree +# root path otherwise the output directory path depends on the target +# platform name. +OPTEE_OS_BUILDDIR_OUT = out +ifeq ($(BR2_riscv),y) +OPTEE_OS_LOCAL_SDK = $(OPTEE_OS_BUILDDIR_OUT)/export-ta_rv64 +OPTEE_OS_SDK = $(STAGING_DIR)/lib/optee/export-ta_rv64 +endif +ifeq ($(BR2_aarch64),y) +OPTEE_OS_LOCAL_SDK = $(OPTEE_OS_BUILDDIR_OUT)/export-ta_arm64 +OPTEE_OS_SDK = $(STAGING_DIR)/lib/optee/export-ta_arm64 +endif +ifeq ($(BR2_arm),y) +OPTEE_OS_LOCAL_SDK = $(OPTEE_OS_BUILDDIR_OUT)/export-ta_arm32 +OPTEE_OS_SDK = $(STAGING_DIR)/lib/optee/export-ta_arm32 +endif + +OPTEE_OS_IMAGE_FILES = $(call qstrip,$(BR2_TARGET_OPTEE_OS_CORE_IMAGES)) + +OPTEE_OS_CUSTOM_DTS_PATH = $(call qstrip,$(BR2_TARGET_OPTEE_OS_CUSTOM_DTS_PATH)) + +ifeq ($(BR2_TARGET_OPTEE_OS_CORE),y) +define OPTEE_OS_BUILD_CORE + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) O=$(OPTEE_OS_BUILDDIR_OUT) \ + $(TARGET_CONFIGURE_OPTS) $(OPTEE_OS_MAKE_OPTS) all +endef +define OPTEE_OS_INSTALL_IMAGES_CORE + mkdir -p $(BINARIES_DIR) + $(foreach f,$(OPTEE_OS_IMAGE_FILES), \ + cp -dpf $(wildcard $(@D)/$(OPTEE_OS_BUILDDIR_OUT)/core/$(f)) $(BINARIES_DIR)/ + ) +endef +endif # BR2_TARGET_OPTEE_OS_CORE + +ifeq ($(BR2_TARGET_OPTEE_OS_SERVICES),y) +define OPTEE_OS_INSTALL_TARGET_CMDS + $(if $(wildcard $(@D)/$(OPTEE_OS_BUILDDIR_OUT)/ta/*/*.ta), + $(INSTALL) -D -m 444 -t $(TARGET_DIR)/lib/optee_armtz \ + $(@D)/$(OPTEE_OS_BUILDDIR_OUT)/ta/*/*.ta) + $(if $(wildcard $(@D)/$(OPTEE_OS_LOCAL_SDK)/lib/*.ta), + $(INSTALL) -D -m 444 -t $(TARGET_DIR)/lib/optee_armtz \ + $(@D)/$(OPTEE_OS_LOCAL_SDK)/lib/*.ta) +endef +endif # BR2_TARGET_OPTEE_OS_SERVICES + +ifeq ($(BR2_TARGET_OPTEE_OS_SDK),y) +define OPTEE_OS_BUILD_SDK + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) O=$(OPTEE_OS_BUILDDIR_OUT) \ + $(TARGET_CONFIGURE_OPTS) $(OPTEE_OS_MAKE_OPTS) ta_dev_kit +endef +define OPTEE_OS_INSTALL_STAGING_CMDS + mkdir -p $(OPTEE_OS_SDK) + cp -ardpf $(@D)/$(OPTEE_OS_LOCAL_SDK)/* $(OPTEE_OS_SDK) +endef +endif # BR2_TARGET_OPTEE_OS_SDK + +define OPTEE_OS_BUILD_CMDS + $(if $(OPTEE_OS_CUSTOM_DTS_PATH), + cp -f $(OPTEE_OS_CUSTOM_DTS_PATH) $(@D)/core/arch/arm/dts/ + ) + $(OPTEE_OS_BUILD_CORE) + $(OPTEE_OS_BUILD_SDK) +endef + +define OPTEE_OS_INSTALL_IMAGES_CMDS + $(OPTEE_OS_INSTALL_IMAGES_CORE) + $(OPTEE_OS_INSTALL_IMAGES_SERVICES) +endef + +ifeq ($(BR2_TARGET_OPTEE_OS)$(BR_BUILDING),yy) +ifeq ($(call qstrip,$(BR2_TARGET_OPTEE_OS_PLATFORM)),) +$(error No OP-TEE OS platform set. Check your BR2_TARGET_OPTEE_OS_PLATFORM setting) +endif + +ifeq ($(BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL),y) +ifeq ($(call qstrip,$(BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL_LOCATION)),) +$(error No tarball location specified. Please check BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL_LOCATION) +endif +endif + +ifeq ($(BR2_TARGET_OPTEE_OS_CUSTOM_GIT),y) +ifeq ($(call qstrip,$(BR2_TARGET_OPTEE_OS_CUSTOM_REPO_URL)),) +$(error No repository specified. Please check BR2_TARGET_OPTEE_OS_CUSTOM_REPO_URL) +endif +endif + +endif # BR2_TARGET_OPTEE_OS && BR2_BUILDING + +$(eval $(generic-package)) diff --git a/boot/palo/Config.in b/boot/palo/Config.in new file mode 100644 index 00000000000..34e2d5bf005 --- /dev/null +++ b/boot/palo/Config.in @@ -0,0 +1,13 @@ +config BR2_TARGET_PALO + bool "palo" + depends on BR2_hppa + help + Palo is a PA-RISC/Linux boot loader. + + It comprises iplboot, a bootloader loaded by the HP firmware, + and palo, a boot media management tool. + + Palo allows to update disk images with a bootloader to make + them bootable, or to create network bootable images. + + https://parisc.docs.kernel.org diff --git a/boot/palo/palo.hash b/boot/palo/palo.hash new file mode 100644 index 00000000000..2a7e2ef89a1 --- /dev/null +++ b/boot/palo/palo.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 73db9f60d439c4ae9d31b049671283e01d95ae364fc78b4db37eed5523218d6c palo-2.28.tar.gz +sha256 fa5fc1d1eec39532ea517518eeefd7b6e3c14341a55e5880a0e2a49eee47a5b7 COPYING diff --git a/boot/palo/palo.mk b/boot/palo/palo.mk new file mode 100644 index 00000000000..dadb0cde927 --- /dev/null +++ b/boot/palo/palo.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# palo +# +################################################################################ + +PALO_VERSION = 2.28 +PALO_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/deller/palo.git/snapshot +PALO_LICENSE = GPL-2.0 +PALO_LICENSE_FILES = COPYING +PALO_INSTALL_IMAGES = YES + +define PALO_BUILD_CMDS + # Dummy README to remove the dependency on lynx. + touch $(@D)/README + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ + CROSS_COMPILE=$(TARGET_CROSS) all makeipl +endef + +define PALO_INSTALL_IMAGES_CMDS + $(INSTALL) -D -m 0644 $(@D)/iplboot $(BINARIES_DIR)/iplboot + $(INSTALL) -D -m 0755 $(@D)/palo/palo $(HOST_DIR)/bin/palo +endef + +$(eval $(generic-package)) diff --git a/boot/s500-bootloader/Config.in b/boot/s500-bootloader/Config.in deleted file mode 100644 index 7bb689f305b..00000000000 --- a/boot/s500-bootloader/Config.in +++ /dev/null @@ -1,17 +0,0 @@ -config BR2_TARGET_S500_BOOTLOADER - bool "s500-bootloader" - depends on BR2_arm - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - select BR2_HOSTARCH_NEEDS_IA32_LIBS - help - 1st level bootloader for Actions Semiconductor S500 SoC. - - https://github.com/xapp-le/owl - -config BR2_TARGET_S500_BOOTLOADER_BOARD - string "board to configure for" - depends on BR2_TARGET_S500_BOOTLOADER - help - Specify the board to configure the bootloader for. - This should be the name of a directory under s500/boards - containing a suitable bootloader.ini file. diff --git a/boot/s500-bootloader/s500-bootloader.hash b/boot/s500-bootloader/s500-bootloader.hash deleted file mode 100644 index d538f23b2a6..00000000000 --- a/boot/s500-bootloader/s500-bootloader.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally calculated -sha256 b183024ac69f51ea7befd28d03b2ec35a7280e270405600fb4f37aa91d9c9571 s500-bootloader-a8d7fa1d9a7f353ec4613febf30f4ca99a10a106.tar.gz diff --git a/boot/s500-bootloader/s500-bootloader.mk b/boot/s500-bootloader/s500-bootloader.mk deleted file mode 100644 index bc87b091c75..00000000000 --- a/boot/s500-bootloader/s500-bootloader.mk +++ /dev/null @@ -1,34 +0,0 @@ -################################################################################ -# -# s500-bootloader -# -################################################################################ - -S500_BOOTLOADER_VERSION = a8d7fa1d9a7f353ec4613febf30f4ca99a10a106 -S500_BOOTLOADER_SITE = $(call github,xapp-le,owl,$(S500_BOOTLOADER_VERSION)) -S500_BOOTLOADER_LICENSE = PROPRIETARY -S500_BOOTLOADER_INSTALL_TARGET = NO -S500_BOOTLOADER_INSTALL_IMAGES = YES - -S500_BOOTLOADER_BOARD = $(call qstrip,$(BR2_TARGET_S500_BOOTLOADER_BOARD)) - -define S500_BOOTLOADER_BUILD_CMDS - cd $(@D) && ./tools/utils/bootloader_pack \ - s500/bootloader/bootloader.bin \ - s500/boards/$(S500_BOOTLOADER_BOARD)/bootloader.ini \ - s500-bootloader.bin -endef - -define S500_BOOTLOADER_INSTALL_IMAGES_CMDS - $(INSTALL) -m 0644 -D $(@D)/s500-bootloader.bin \ - $(BINARIES_DIR)/s500-bootloader.bin -endef - -$(eval $(generic-package)) - -ifeq ($(BR2_TARGET_S500_BOOTLOADER)$(BR_BUILDING),yy) -# we NEED a board name -ifeq ($(S500_BOOTLOADER_BOARD),) -$(error No s500-bootloader board specified. Check your BR2_TARGET_S500_BOOTLOADER settings) -endif -endif diff --git a/boot/shim/0001-Fix-build-with-binutils-2.46.patch b/boot/shim/0001-Fix-build-with-binutils-2.46.patch new file mode 100644 index 00000000000..05ab7b2c834 --- /dev/null +++ b/boot/shim/0001-Fix-build-with-binutils-2.46.patch @@ -0,0 +1,51 @@ +From c4665d282072df2ed8ab6ae1d5fa0de41e5db02f Mon Sep 17 00:00:00 2001 +From: Luca Boccassi +Date: Tue, 6 Jan 2026 11:48:13 +0100 +Subject: [PATCH] Fix build with binutils 2.46 + +With the new binutils which is in development and in Fedora Rawhide: + +objcopy -D -j .text -j .sdata -j .data -j .data.ident \ + -j .dynamic -j .rodata -j .rel* \ + -j .rela* -j .dyn -j .reloc -j .eh_frame \ + -j .vendor_cert -j .sbat -j .sbatlevel \ + --file-alignment 0x1000 \ + --target efi-app-x86_64 fbx64.so fbx64.efi +objcopy: fbx64.so: file format not recognized + +It seems it was an intentional compat break, according to the upstream +commit: + +https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=5e83077d552ed6f81dbc092eb3ccf827a43de42c + +* Internal changes to plugin support, and stricter target checking may result + in some errors being exposed in user options passed to the various binutils. + For example objcopy --target=TARGET now will only work if the input file is + for TARGET whereas prior versions of objcopy accepted other target input + files and produced a TARGET output. If you do in fact want the old + behaviour the correct usage is objcopy --output-target=TARGET. + +Switch from --taget to --output-target as suggested. + +Signed-off-by: Luca Boccassi + +Upstream: https://github.com/rhboot/shim/commit/c4665d282072df2ed8ab6ae1d5fa0de41e5db02f + +Signed-off-by: Bernd Kuhls +--- + Make.defaults | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Make.defaults b/Make.defaults +index c5fa32bec..9b40b7f4a 100644 +--- a/Make.defaults ++++ b/Make.defaults +@@ -155,7 +155,7 @@ endif + + LIB_GCC = $(shell $(CC) $(ARCH_CFLAGS) -print-libgcc-file-name) + EFI_LIBS = -lefi -lgnuefi --start-group Cryptlib/libcryptlib.a Cryptlib/OpenSSL/libopenssl.a --end-group $(LIB_GCC) +-FORMAT ?= --target efi-app-$(ARCH) ++FORMAT ?= --output-target efi-app-$(ARCH) + LOCAL_EFI_PATH = gnu-efi/$(ARCH_GNUEFI)/gnuefi + LIBDIR = gnu-efi/$(ARCH_GNUEFI)/lib + diff --git a/boot/shim/Config.in b/boot/shim/Config.in new file mode 100644 index 00000000000..462ef12d626 --- /dev/null +++ b/boot/shim/Config.in @@ -0,0 +1,25 @@ +config BR2_PACKAGE_SHIM_ARCH_SUPPORTS + bool + default y if BR2_aarch64 + default y if BR2_arm + default y if BR2_i386 + default y if BR2_x86_64 + # it includes gnu-efi + depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS + +config BR2_TARGET_SHIM + bool "shim" + depends on BR2_PACKAGE_SHIM_ARCH_SUPPORTS + help + Boot loader to chain-load signed boot loaders under Secure + Boot. + + This package provides a minimalist boot loader which allows + verifying signatures of other UEFI binaries against either + the Secure Boot DB/DBX or against a built-in signature + database. Its purpose is to allow a small, + infrequently-changing binary to be signed by the UEFI CA, + while allowing an OS distributor to revision their main + bootloader independently of the CA. + + https://github.com/rhboot/shim diff --git a/boot/shim/shim.hash b/boot/shim/shim.hash new file mode 100644 index 00000000000..f36abd655d0 --- /dev/null +++ b/boot/shim/shim.hash @@ -0,0 +1,3 @@ +# locally computed hash +sha256 46319cd228d8f2c06c744241c0f342412329a7c630436fce7f82cf6936b1d603 shim-16.1.tar.bz2 +sha256 15edf527919ddcb2f514ab9d16ad07ef219e4bb490e0b79560be510f0c159cc2 COPYRIGHT diff --git a/boot/shim/shim.mk b/boot/shim/shim.mk new file mode 100644 index 00000000000..1bd3fac1034 --- /dev/null +++ b/boot/shim/shim.mk @@ -0,0 +1,38 @@ +################################################################################ +# +# shim +# +################################################################################ + +SHIM_VERSION = 16.1 +SHIM_SITE = https://github.com/rhboot/shim/releases/download/$(SHIM_VERSION) +SHIM_SOURCE = shim-$(SHIM_VERSION).tar.bz2 +SHIM_LICENSE = BSD-2-Clause +SHIM_LICENSE_FILES = COPYRIGHT +SHIM_CPE_ID_VENDOR = redhat +SHIM_INSTALL_TARGET = NO +SHIM_INSTALL_IMAGES = YES + +SHIM_CFLAGS = $(TARGET_CFLAGS) +SHIM_MAKE_OPTS = \ + ARCH="$(GNU_EFI_PLATFORM)" \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + DASHJ="-j$(PARALLEL_JOBS)" \ + OPTIMIZATIONS="$(SHIM_CFLAGS)" + +# shim has some assembly function that is not present in Thumb mode: +# Error: selected processor does not support `mrc p15,0,r2,c9,c13,0' in Thumb mode +# so, we deactivate Thumb mode +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +SHIM_CFLAGS += -marm +endif + +define SHIM_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(SHIM_MAKE_OPTS) +endef + +define SHIM_INSTALL_IMAGES_CMDS + $(INSTALL) -m 0755 -t $(BINARIES_DIR) $(@D)/*.efi +endef + +$(eval $(generic-package)) diff --git a/boot/syslinux/0011-extlinux-Use-the-host-toolchain-to-build.patch b/boot/syslinux/0011-extlinux-Use-the-host-toolchain-to-build.patch new file mode 100644 index 00000000000..62675cf6cc4 --- /dev/null +++ b/boot/syslinux/0011-extlinux-Use-the-host-toolchain-to-build.patch @@ -0,0 +1,53 @@ +From 4df2e7c0ae84bfbdba0ed285c0664aa089b38b7e Mon Sep 17 00:00:00 2001 +From: Carlos Santos +Date: Sat, 30 Sep 2017 19:49:55 -0300 +Subject: [PATCH] extlinux: Use the host toolchain to build. + +It is meant to run on the host machine, hence must be built using the +host toolchain. + +Signed-off-by: Carlos Santos +--- + extlinux/Makefile | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/extlinux/Makefile b/extlinux/Makefile +index 02d1db51..5c4baa5a 100644 +--- a/extlinux/Makefile ++++ b/extlinux/Makefile +@@ -18,9 +18,9 @@ include $(MAKEDIR)/syslinux.mk + + OPTFLAGS = -g -Os + INCLUDES = -I$(SRC) -I$(objdir) -I$(SRC)/../libinstaller +-CFLAGS = $(GCCWARN) -Wno-sign-compare -D_FILE_OFFSET_BITS=64 \ ++CFLAGS = $(CFLAGS_FOR_BUILD) $(GCCWARN) -Wno-sign-compare -D_FILE_OFFSET_BITS=64 \ + $(OPTFLAGS) $(INCLUDES) +-LDFLAGS = ++LDFLAGS = $(LDFLAGS_FOR_BUILD) + + SRCS = main.c \ + mountinfo.c \ +@@ -52,16 +52,16 @@ spotless: clean + installer: extlinux + + extlinux: $(OBJS) +- $(CC) $(LDFLAGS) -o $@ $^ ++ $(CC_FOR_BUILD) $(LDFLAGS) -o $@ $^ + + strip: + $(STRIP) extlinux + + %.o: %.c +- $(CC) $(UMAKEDEPS) $(CFLAGS) -c -o $@ $< ++ $(CC_FOR_BUILD) $(UMAKEDEPS) $(CFLAGS) -c -o $@ $< + %.i: %.c +- $(CC) $(UMAKEDEPS) $(CFLAGS) -E -o $@ $< ++ $(CC_FOR_BUILD) $(UMAKEDEPS) $(CFLAGS) -E -o $@ $< + %.s: %.c +- $(CC) $(UMAKEDEPS) $(CFLAGS) -S -o $@ $< ++ $(CC_FOR_BUILD) $(UMAKEDEPS) $(CFLAGS) -S -o $@ $< + + -include .*.d +-- +2.13.5 + diff --git a/boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch b/boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch new file mode 100644 index 00000000000..beba5cc2450 --- /dev/null +++ b/boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch @@ -0,0 +1,34 @@ +From 1a74985b2a404639b08882c57f3147229605dfd5 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Tue, 19 Apr 2016 06:50:31 -0400 +Subject: [PATCH] extlinux: pull in sys/sysmacros.h for major/minor/makedev + +These functions are defined in sys/sysmacros.h, so add the include to +main.c. This is already handled correctly in mountinfo.c. Otherwise +we get build failures like: + +main.o: In function 'find_device_sysfs': +extlinux/main.c:1131: undefined reference to 'minor' + +Signed-off-by: Mike Frysinger +Signed-off-by: Gene Cumm +Signed-off-by: Alexander Sverdlin +--- + extlinux/main.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/extlinux/main.c b/extlinux/main.c +index a7ebd49..ebff7ea 100644 +--- a/extlinux/main.c ++++ b/extlinux/main.c +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.10.5.GIT + diff --git a/boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch b/boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch new file mode 100644 index 00000000000..17a6d37cef6 --- /dev/null +++ b/boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch @@ -0,0 +1,45 @@ +From 44a1b42e561b9a257209300e2860b901b100cc17 Mon Sep 17 00:00:00 2001 +From: Carlos Santos +Date: Tue, 26 Feb 2019 08:07:22 -0300 +Subject: [PATCH] Fix build with gnu-efi version 3.0.9 + +Adapt a patch already applied upstream to prevent multiple definitions +of 'memset' and 'memcpy'. + +Signed-off-by: Carlos Santos +(adapted from commit 363d61c4f112b972649b19d67e96b9321f738f00) +--- + mk/lib.mk | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/mk/lib.mk b/mk/lib.mk +index ceb95bd0..c9b6eaf3 100644 +--- a/mk/lib.mk ++++ b/mk/lib.mk +@@ -186,9 +186,9 @@ MINLIBOBJS = \ + # $(LIBVESA_OBJS) + + CORELIBOBJS = \ +- memcpy.o memset.o memcmp.o printf.o strncmp.o vfprintf.o \ ++ memcmp.o printf.o strncmp.o vfprintf.o \ + strlen.o vsnprintf.o snprintf.o stpcpy.o strcmp.o strdup.o \ +- strcpy.o strncpy.o setjmp.o fopen.o fread.o fread2.o puts.o \ ++ strcpy.o strncpy.o fopen.o fread.o fread2.o puts.o \ + strtoul.o strntoumax.o strcasecmp.o \ + sprintf.o strlcat.o strchr.o strlcpy.o strncasecmp.o ctypes.o \ + fputs.o fwrite2.o fwrite.o fgetc.o fclose.o lmalloc.o \ +@@ -203,6 +203,11 @@ CORELIBOBJS = \ + $(LIBENTRY_OBJS) \ + $(LIBMODULE_OBJS) + ++ifndef EFI_BUILD ++# For EFI, these are part of gnu-efi ++CORELIBOBJS += setjmp.o memcpy.o memset.o ++endif ++ + LDFLAGS = -m elf_$(ARCH) --hash-style=gnu -T $(com32)/lib/$(ARCH)/elf.ld + + .SUFFIXES: .c .o .a .so .lo .i .S .s .ls .ss .lss +-- +2.14.5 + diff --git a/boot/syslinux/0014-Fix-build-with-binutils-note-gnu-property-section.patch b/boot/syslinux/0014-Fix-build-with-binutils-note-gnu-property-section.patch new file mode 100644 index 00000000000..fedd8156919 --- /dev/null +++ b/boot/syslinux/0014-Fix-build-with-binutils-note-gnu-property-section.patch @@ -0,0 +1,47 @@ +From beb526ca925983c7da229043790ecd552d910650 Mon Sep 17 00:00:00 2001 +From: Christian Stewart +Date: Thu, 4 Apr 2019 23:24:31 -0700 +Subject: [PATCH] Fix build with binutils note gnu property section + +This fixes the following build error with newer binutils: + + objcopy -O binary mbr.elf mbr.bin + perl /build/syslinux/src/syslinux/mbr/checksize.pl mbr.bin + mbr.bin: too big (452 > 440) + +Corresponding bug reports: + + - https://bugs.archlinux.org/task/60405 + - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=906414 + +Strips the .note.gnu.property in the linker scripts for the MBRs. + +Signed-off-by: Christian Stewart +--- + mbr/i386/mbr.ld | 1 + + mbr/x86_64/mbr.ld | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/mbr/i386/mbr.ld b/mbr/i386/mbr.ld +index d14ba802..53683461 100644 +--- a/mbr/i386/mbr.ld ++++ b/mbr/i386/mbr.ld +@@ -70,4 +70,5 @@ SECTIONS + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + /DISCARD/ : { *(.note.GNU-stack) } ++ /DISCARD/ : { *(.note.gnu.property) } + } +diff --git a/mbr/x86_64/mbr.ld b/mbr/x86_64/mbr.ld +index ae27d49a..b8c0d895 100644 +--- a/mbr/x86_64/mbr.ld ++++ b/mbr/x86_64/mbr.ld +@@ -69,4 +69,5 @@ SECTIONS + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + /DISCARD/ : { *(.note.GNU-stack) } ++ /DISCARD/ : { *(.note.gnu.property) } + } +-- +2.21.0 + diff --git a/boot/syslinux/0015-efi-main.c-include-efisetjmp.h.patch b/boot/syslinux/0015-efi-main.c-include-efisetjmp.h.patch new file mode 100644 index 00000000000..15adfc49f33 --- /dev/null +++ b/boot/syslinux/0015-efi-main.c-include-efisetjmp.h.patch @@ -0,0 +1,62 @@ +From 26979f738518404b1d3dc9ecdcf4fa5811412c49 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 24 Mar 2020 10:21:27 +0100 +Subject: [PATCH] efi/main.c: include +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Building syslinux against gnu-efi 3.0.10 currently fails with: + +syslinux/efi/main.c:33:8: error: unknown type name ‘jmp_buf’ + 33 | static jmp_buf load_error_buf; + | ^~~~~~~ +syslinux/efi/main.c: In function ‘local_boot’: +syslinux/efi/main.c:189:5: warning: implicit declaration of function ‘longjmp’ [-Wimplicit-function-declaration] + 189 | longjmp(&load_error_buf, 1); + | ^~~~~~~ +syslinux/efi/main.c: In function ‘build_gdt’: +syslinux/efi/main.c:907:75: warning: taking address of packed member of ‘struct dt_desc’ may result in an unaligned pointer value [-Waddress-of-packed-member] + 907 | status = emalloc(gdt.limit, __SIZEOF_POINTER__ , (EFI_PHYSICAL_ADDRESS *)&gdt.base); + | ^~~~~~~~~ +syslinux/efi/main.c: In function ‘efi_main’: +syslinux/efi/main.c:1390:7: warning: implicit declaration of function ‘setjmp’ [-Wimplicit-function-declaration] + 1390 | if (!setjmp(&load_error_buf)) + | ^~~~~~ +make[3]: *** [syslinux/mk/efi.mk:63: main.o] Error 1 + +This is due to gnu-efi commit 486ba3c3bdd147b7d98159b9e650be60bce0f027 +("Do not include efisetjmp.h on efi.h"), in which they state: + + Do not include efisetjmp.h on efi.h + + People than really want to use efisetjmp implementation can include + the header on their own. + + Signed-off-by: leo + +So we act as specified, and include from efi/main.c. + +Signed-off-by: Thomas Petazzoni +[Dario: make the patch to be applied with fuzz factor 0] +Signed-off-by: Dario Binacchi +Upstream: https://www.syslinux.org/archives/2020-March/026621.html +--- + efi/main.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/efi/main.c b/efi/main.c +index 71d31a5c1f13..7dc7bca7aeba 100644 +--- a/efi/main.c ++++ b/efi/main.c +@@ -12,6 +12,7 @@ + #include + + #include "efi.h" ++#include + #include "fio.h" + #include "version.h" + +-- +2.43.0 + diff --git a/boot/syslinux/0016-Workaround-multiple-definition-of-symbol-errors.patch b/boot/syslinux/0016-Workaround-multiple-definition-of-symbol-errors.patch new file mode 100644 index 00000000000..ea91de5cb38 --- /dev/null +++ b/boot/syslinux/0016-Workaround-multiple-definition-of-symbol-errors.patch @@ -0,0 +1,126 @@ +From 16f293d67eace501c98494976030f4319778ebf5 Mon Sep 17 00:00:00 2001 +From: Merlin Mathesius +Date: Wed, 13 May 2020 08:02:27 -0500 +Subject: [PATCH] Workaround multiple definition of symbol errors + +[From https://src.fedoraproject.org/rpms/syslinux/raw/rawhide/f/0005-Workaround-multiple-definition-of-symbol-errors.patch + plus adding '-z muldefs' for gpxe] +Signed-off-by: Peter Seiderer +--- + com32/cmenu/Makefile | 2 +- + com32/elflink/ldlinux/Makefile | 2 +- + com32/gpllib/Makefile | 2 +- + com32/hdt/Makefile | 2 +- + core/Makefile | 2 +- + dos/Makefile | 2 +- + efi/Makefile | 2 +- + gpxe/src/arch/i386/Makefile | 2 +- + 8 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/com32/cmenu/Makefile b/com32/cmenu/Makefile +index 6bb52316..66cdd649 100644 +--- a/com32/cmenu/Makefile ++++ b/com32/cmenu/Makefile +@@ -49,7 +49,7 @@ makeoutputdirs: + @mkdir -p $(OBJ)/libmenu + + libmenu/libmenu.elf: $(LIBMENU) +- $(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) \ ++ $(LD) -shared $(LDFLAGS) -z muldefs -soname $(patsubst %.elf,%.c32,$(@F)) \ + -o $@ $^ + + tidy dist: +diff --git a/com32/elflink/ldlinux/Makefile b/com32/elflink/ldlinux/Makefile +index d948da43..67434a1f 100644 +--- a/com32/elflink/ldlinux/Makefile ++++ b/com32/elflink/ldlinux/Makefile +@@ -33,7 +33,7 @@ endif + all: $(BTARGET) ldlinux_lnx.a + + ldlinux.elf : $(OBJS) +- $(LD) $(LDFLAGS) -soname $(SONAME) -o $@ $^ $(LIBS) ++ $(LD) $(LDFLAGS) -z muldefs -soname $(SONAME) -o $@ $^ $(LIBS) + + LNXCFLAGS += -D__export='__attribute__((visibility("default")))' + LNXLIBOBJS = get_key.lo +diff --git a/com32/gpllib/Makefile b/com32/gpllib/Makefile +index e3e30d76..17520a1e 100644 +--- a/com32/gpllib/Makefile ++++ b/com32/gpllib/Makefile +@@ -24,7 +24,7 @@ makeoutputdirs: + $(addprefix $(OBJ),$(sort $(dir $(LIBOBJS)))),$(b)) + + libgpl.elf : $(LIBOBJS) +- $(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^ ++ $(LD) -shared $(LDFLAGS) -z muldefs -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^ + + tidy dist clean: + find . \( -name \*.o -o -name .\*.d -o -name \*.tmp \) -print0 | \ +diff --git a/com32/hdt/Makefile b/com32/hdt/Makefile +index 80f2d0a0..8509cd96 100644 +--- a/com32/hdt/Makefile ++++ b/com32/hdt/Makefile +@@ -52,7 +52,7 @@ QEMU ?= qemu-kvm + all: $(MODULES) $(TESTFILES) + + hdt.elf : $(OBJS) $(LIBS) $(C_LIBS) +- $(LD) $(LDFLAGS) -o $@ $^ ++ $(LD) $(LDFLAGS) -z muldefs -o $@ $^ + + memtest: + -[ ! -f $(FLOPPY_DIR)/$(MEMTEST) ] && $(WGET) $(MEMTEST_URL) -O $(FLOPPY_DIR)/$(MEMTEST) +diff --git a/core/Makefile b/core/Makefile +index ad0acb5a..3bee4dc9 100644 +--- a/core/Makefile ++++ b/core/Makefile +@@ -164,7 +164,7 @@ AUXLIBS = libisolinux.a libisolinux-debug.a libldlinux.a \ + LDSCRIPT = $(SRC)/$(ARCH)/syslinux.ld + + %.elf: %.o $(LIBDEP) $(LDSCRIPT) $(AUXLIBS) +- $(LD) $(LDFLAGS) -Bsymbolic $(LD_PIE) -E --hash-style=gnu -T $(LDSCRIPT) -M -o $@ $< \ ++ $(LD) $(LDFLAGS) -z muldefs -Bsymbolic $(LD_PIE) -E --hash-style=gnu -T $(LDSCRIPT) -M -o $@ $< \ + --start-group $(LIBS) $(subst $(*F).elf,lib$(*F).a,$@) --end-group \ + > $(@:.elf=.map) + $(OBJDUMP) -h $@ > $(@:.elf=.sec) +diff --git a/dos/Makefile b/dos/Makefile +index b9c337d5..2af87346 100644 +--- a/dos/Makefile ++++ b/dos/Makefile +@@ -19,7 +19,7 @@ include $(MAKEDIR)/embedded.mk + CFLAGS += -D__MSDOS__ -mregparm=3 -DREGPARM=3 + # CFLAGS += -DDEBUG + +-LDFLAGS = -T $(SRC)/dosexe.ld ++LDFLAGS = -T $(SRC)/dosexe.ld -z muldefs + OPTFLAGS = -g + INCLUDES = -include code16.h -nostdinc -iwithprefix include \ + -I$(SRC) -I$(SRC)/.. -I$(SRC)/../libfat \ +diff --git a/efi/Makefile b/efi/Makefile +index d24d16db..7c714ebf 100644 +--- a/efi/Makefile ++++ b/efi/Makefile +@@ -70,7 +70,7 @@ $(OBJS): subdirs + BTARGET = syslinux.efi + + syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS) +- $(LD) $(LDFLAGS) --strip-debug -o $@ $^ -lgnuefi -lefi ++ $(LD) $(LDFLAGS) -z muldefs --strip-debug -o $@ $^ -lgnuefi -lefi + + # We need to rename the .hash section because the EFI firmware + # linker really doesn't like it. +diff --git a/gpxe/src/arch/i386/Makefile b/gpxe/src/arch/i386/Makefile +index dd8da802..be1d00ff 100644 +--- a/gpxe/src/arch/i386/Makefile ++++ b/gpxe/src/arch/i386/Makefile +@@ -55,7 +55,7 @@ ASFLAGS += --32 + ifeq ($(HOST_OS),FreeBSD) + LDFLAGS += -m elf_i386_fbsd + else +-LDFLAGS += -m elf_i386 ++LDFLAGS += -z muldefs -m elf_i386 + endif + + # EFI requires -fshort-wchar, and nothing else currently uses wchar_t +-- +2.30.1 + diff --git a/boot/syslinux/0017-Replace-builtin-strlen-that-appears-to-get-optimized.patch b/boot/syslinux/0017-Replace-builtin-strlen-that-appears-to-get-optimized.patch new file mode 100644 index 00000000000..69a7e87d85f --- /dev/null +++ b/boot/syslinux/0017-Replace-builtin-strlen-that-appears-to-get-optimized.patch @@ -0,0 +1,42 @@ +From 698a6ce88524b727d265b204d648e78d8acb485c Mon Sep 17 00:00:00 2001 +From: Merlin Mathesius +Date: Wed, 13 May 2020 11:58:37 -0500 +Subject: [PATCH] Replace builtin strlen that appears to get optimized away + +[From https://src.fedoraproject.org/rpms/syslinux/raw/rawhide/f/0006-Replace-builtin-strlen-that-appears-to-get-optimized.patch] +Signed-off-by: Peter Seiderer +--- + dos/string.h | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/dos/string.h b/dos/string.h +index f648de2d..407d0233 100644 +--- a/dos/string.h ++++ b/dos/string.h +@@ -5,12 +5,22 @@ + #ifndef _STRING_H + #define _STRING_H + ++#include ++ + /* Standard routines */ + #define memcpy(a,b,c) __builtin_memcpy(a,b,c) + #define memmove(a,b,c) __builtin_memmove(a,b,c) + #define memset(a,b,c) __builtin_memset(a,b,c) + #define strcpy(a,b) __builtin_strcpy(a,b) +-#define strlen(a) __builtin_strlen(a) ++#define strlen(a) inline_strlen(a) ++ ++/* replacement for builtin strlen that appears to get optimized away */ ++static inline size_t inline_strlen(const char *str) ++{ ++ size_t l; ++ for (l = 0; *str++; l++); ++ return l; ++} + + /* This only returns true or false */ + static inline int memcmp(const void *__m1, const void *__m2, unsigned int __n) +-- +2.30.1 + diff --git a/boot/syslinux/0018-single-load-segment.patch b/boot/syslinux/0018-single-load-segment.patch new file mode 100644 index 00000000000..11d73c31a4e --- /dev/null +++ b/boot/syslinux/0018-single-load-segment.patch @@ -0,0 +1,313 @@ +From: Lukas Schwaighofer +Date: Sat, 18 Aug 2018 16:56:35 +0200 +Subject: Force the linker to put all sections into a single PT_LOAD segment + +This is required when using binutils >= 2.31 which writes two PT_LOAD segments +by default. This is not supported by the wrapper.c script used to convert the +shared object into an elf binary. + +Forwarded: https://www.syslinux.org/archives/2018-August/026167.html +[yann.morin.1998@free.fr: + - grab from the Debian package + - https://salsa.debian.org/images-team/syslinux/-/blob/fa1349f1f8e5f5d6307e589f02c0a679031d1c7f/debian/patches/0017-single-load-segment.patch +] +Signed-off-by: Yann E. MORIN +Upstream: reported https://www.syslinux.org/archives/2018-August/026167.html +Upstream: acknowledged https://wiki.syslinux.org/wiki/index.php?title=Building +--- + efi/i386/syslinux.ld | 37 +++++++++++++++++++++---------------- + efi/x86_64/syslinux.ld | 37 +++++++++++++++++++++---------------- + 2 files changed, 42 insertions(+), 32 deletions(-) + +diff --git a/efi/i386/syslinux.ld b/efi/i386/syslinux.ld +index bab3fc7..19c1647 100644 +--- a/efi/i386/syslinux.ld ++++ b/efi/i386/syslinux.ld +@@ -19,6 +19,11 @@ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") + OUTPUT_ARCH(i386) + ENTRY(_start) + ++PHDRS ++{ ++ all PT_LOAD ; ++} ++ + SECTIONS + { + . = 0; +@@ -31,7 +36,7 @@ SECTIONS + *(.text) + *(.text.*) + __text_end = .; +- } ++ } :all + + . = ALIGN(16); + +@@ -40,7 +45,7 @@ SECTIONS + *(.rodata) + *(.rodata.*) + __rodata_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -49,14 +54,14 @@ SECTIONS + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + __ctors_end = .; +- } ++ } :all + + .dtors : { + __dtors_start = .; + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + __dtors_end = .; +- } ++ } :all + + . = ALIGN(4096); + .rel : { +@@ -64,7 +69,7 @@ SECTIONS + *(.rel.data) + *(.rel.data.*) + *(.rel.ctors) +- } ++ } :all + + . = ALIGN(4); + +@@ -72,14 +77,14 @@ SECTIONS + __gnu_hash_start = .; + *(.gnu.hash) + __gnu_hash_end = .; +- } ++ } :all + + + .dynsym : { + __dynsym_start = .; + *(.dynsym) + __dynsym_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -87,7 +92,7 @@ SECTIONS + __dynstr_start = .; + *(.dynstr) + __dynstr_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -104,7 +109,7 @@ SECTIONS + KEEP (*(.got.plt)) + KEEP (*(.got)) + __got_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -112,7 +117,7 @@ SECTIONS + __dynamic_start = .; + *(.dynamic) + __dynamic_end = .; +- } ++ } :all + + . = ALIGN(16); + +@@ -122,19 +127,19 @@ SECTIONS + *(.data.*) + *(.lowmem) + __data_end = .; +- } ++ } :all + + .reloc : { + *(.reloc) +- } ++ } :all + + .symtab : { + *(.symtab) +- } ++ } :all + + .strtab : { + *(.strtab) +- } ++ } :all + + .bss (NOLOAD) : { + /* the EFI loader doesn't seem to like a .bss section, +@@ -148,7 +153,7 @@ SECTIONS + __bss_end = .; + *(.sbss) + *(.scommon) +- } ++ } :all + __bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start); + __bss_dwords = (__bss_len + 3) >> 2; + +@@ -161,7 +166,7 @@ SECTIONS + *(.hugebss) + *(.hugebss.*) + __hugebss_end = .; +- } ++ } :all + + _end = .; + +diff --git a/efi/x86_64/syslinux.ld b/efi/x86_64/syslinux.ld +index 450641c..a2c124f 100644 +--- a/efi/x86_64/syslinux.ld ++++ b/efi/x86_64/syslinux.ld +@@ -19,6 +19,11 @@ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") + OUTPUT_ARCH(i386:x86-64) + ENTRY(_start) + ++PHDRS ++{ ++ all PT_LOAD ; ++} ++ + SECTIONS + { + . = 0; +@@ -31,7 +36,7 @@ SECTIONS + *(.text) + *(.text.*) + __text_end = .; +- } ++ } :all + + . = ALIGN(16); + +@@ -40,7 +45,7 @@ SECTIONS + *(.rodata) + *(.rodata.*) + __rodata_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -49,14 +54,14 @@ SECTIONS + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + __ctors_end = .; +- } ++ } :all + + .dtors : { + __dtors_start = .; + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + __dtors_end = .; +- } ++ } :all + + . = ALIGN(4096); + .rel : { +@@ -64,7 +69,7 @@ SECTIONS + *(.rel.data) + *(.rel.data.*) + *(.rel.ctors) +- } ++ } :all + + . = ALIGN(4); + +@@ -72,14 +77,14 @@ SECTIONS + __gnu_hash_start = .; + *(.gnu.hash) + __gnu_hash_end = .; +- } ++ } :all + + + .dynsym : { + __dynsym_start = .; + *(.dynsym) + __dynsym_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -87,7 +92,7 @@ SECTIONS + __dynstr_start = .; + *(.dynstr) + __dynstr_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -104,7 +109,7 @@ SECTIONS + KEEP (*(.got.plt)) + KEEP (*(.got)) + __got_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -112,7 +117,7 @@ SECTIONS + __dynamic_start = .; + *(.dynamic) + __dynamic_end = .; +- } ++ } :all + + . = ALIGN(16); + +@@ -122,19 +127,19 @@ SECTIONS + *(.data.*) + *(.lowmem) + __data_end = .; +- } ++ } :all + + .reloc : { + *(.reloc) +- } ++ } :all + + .symtab : { + *(.symtab) +- } ++ } :all + + .strtab : { + *(.strtab) +- } ++ } :all + + .bss (NOLOAD) : { + /* the EFI loader doesn't seem to like a .bss section, +@@ -148,7 +153,7 @@ SECTIONS + __bss_end = .; + *(.sbss) + *(.scommon) +- } ++ } :all + __bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start); + __bss_dwords = (__bss_len + 3) >> 2; + +@@ -161,7 +166,7 @@ SECTIONS + *(.hugebss) + *(.hugebss.*) + __hugebss_end = .; +- } ++ } :all + + _end = .; + diff --git a/boot/syslinux/0019-stddef.h-add-wchar_t-type-definition.patch b/boot/syslinux/0019-stddef.h-add-wchar_t-type-definition.patch new file mode 100644 index 00000000000..65d9463a6f6 --- /dev/null +++ b/boot/syslinux/0019-stddef.h-add-wchar_t-type-definition.patch @@ -0,0 +1,59 @@ +From 063dac55c45d0264671c3463e824ab659e5cbb87 Mon Sep 17 00:00:00 2001 +From: Julien Olivain +Date: Tue, 27 Feb 2024 21:09:15 +0100 +Subject: [PATCH] stddef.h: add wchar_t type definition + +Syslinux fail to build with gnu-efi >= 3.0.16 with error: + + In file included from /host/i686-buildroot-linux-gnu/sysroot/usr/include/efi/efi.h:44, + from /build/syslinux-6.03/efi/efi.h:23, + from /build/syslinux-6.03/efi/adv.h:4, + from /build/syslinux-6.03/efi/adv.c:29: + /host/i686-buildroot-linux-gnu/sysroot/usr/include/efi/ia32/efibind.h:90:9: error: unknown type name 'wchar_t' + typedef wchar_t CHAR16; + ^~~~~~~ + +This is because gnu-efi started to use the "wchar_t" type from the +toolchain's header, in commit [1]. Before this commit, +gnu-efi was defining the type as "short". + +Syslinux is including its own minimal stddef.h file, which masks the +one provided by the toolchain. See [2]. This file does not have a type +definition for "wchar_t". + +Finally, the POSIX header is supposed to provide this +"wchar_t" type definition. See [3]. + +This commit fixes the issue by adding the "wchar_t" type definition in +the com32/include/stddef.h header. Since Syslinux has "-fshort-wchar" +in its CFLAGS (see [4]), "wchar_t" is simply defined as "short". This +also follow the previous gnu-efi < 3.0.16 behavior. + +This issue was seen in Buildroot Linux, in [5]. + +[1] https://sourceforge.net/p/gnu-efi/code/ci/189200d0b0f6fff473d302880d9569f45d4d8c4d +[2] https://repo.or.cz/syslinux.git/blob/refs/tags/syslinux-6.03:/com32/include/stddef.h +[3] https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stddef.h.html +[4] https://repo.or.cz/syslinux.git/blob/refs/tags/syslinux-6.03:/mk/efi.mk#l27 +[5] https://lists.buildroot.org/pipermail/buildroot/2024-February/685971.html + +Upstream: Proposed: https://www.syslinux.org/archives/2024-February/026903.html +Signed-off-by: Julien Olivain +--- + com32/include/stddef.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/com32/include/stddef.h b/com32/include/stddef.h +index f52d62f3..437b11f2 100644 +--- a/com32/include/stddef.h ++++ b/com32/include/stddef.h +@@ -29,4 +29,6 @@ + */ + #define container_of(p, c, m) ((c *)((char *)(p) - offsetof(c,m))) + ++typedef short wchar_t; ++ + #endif /* _STDDEF_H */ +-- +2.44.0 + diff --git a/boot/syslinux/0020-pull-in-stdio-h-for-gcc14.patch b/boot/syslinux/0020-pull-in-stdio-h-for-gcc14.patch new file mode 100644 index 00000000000..09a0074b314 --- /dev/null +++ b/boot/syslinux/0020-pull-in-stdio-h-for-gcc14.patch @@ -0,0 +1,34 @@ +From dfa2705100a893bc017d23406daa9a383fbc3c95 Mon Sep 17 00:00:00 2001 +From: Lance Fredrickson +Date: Wed, 5 Jun 2024 14:31:38 -0600 +Subject: [PATCH] com32/lib/syslinux/debug.c: add missing stdio.h include. + +Fix building syslinux with GCC 14.x + +Add missing stdio.h include. Without it results in the following error under GCC 14.x + +../../../com32/lib/syslinux/debug.c: In function ‘syslinux_debug’: +../../../com32/lib/syslinux/debug.c:91:5: error: implicit declaration of function ‘printf’ [-Wimplicit-function-declaration] + 91 | printf("Dynamic debug unavailable\n"); + +Upstream: dead (last release in 2014) +Signed-off-by: Lance Fredrickson +--- + com32/lib/syslinux/debug.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/com32/lib/syslinux/debug.c b/com32/lib/syslinux/debug.c +index d9ab863f..e8f53d57 100644 +--- a/com32/lib/syslinux/debug.c ++++ b/com32/lib/syslinux/debug.c +@@ -1,6 +1,7 @@ + #include + #include + #include ++#include + + #ifdef DYNAMIC_DEBUG + +-- +2.39.2 + diff --git a/boot/syslinux/0021-load_linux-correct-a-type.patch b/boot/syslinux/0021-load_linux-correct-a-type.patch new file mode 100644 index 00000000000..ff4e5a2d29e --- /dev/null +++ b/boot/syslinux/0021-load_linux-correct-a-type.patch @@ -0,0 +1,34 @@ +From 7f1b68d561dfe615d5cd73d2f4561ac032832802 Mon Sep 17 00:00:00 2001 +From: Scot Doyle +Date: Sat, 7 Feb 2015 13:52:05 -0500 +Subject: [PATCH] load_linux: correct a type + +Correct base's type to match its initialization from prot_mode_base and +passage to syslinux_memmap_find(). Tested with extlinux. + +Signed-off-by: Scot Doyle +Signed-off-by: Gene Cumm +Upstream: https://github.com/geneC/syslinux/commit/83aad4f69065509ba5b1c080edccfed316a4cff0 +Signed-off-by: Thomas Petazzoni +--- + com32/lib/syslinux/load_linux.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/com32/lib/syslinux/load_linux.c b/com32/lib/syslinux/load_linux.c +index 06ae2a97..ac737293 100644 +--- a/com32/lib/syslinux/load_linux.c ++++ b/com32/lib/syslinux/load_linux.c +@@ -155,8 +155,8 @@ int bios_boot_linux(void *kernel_buf, size_t kernel_size, + char *cmdline) + { + struct linux_header hdr, *whdr; +- size_t real_mode_size, prot_mode_size, base; +- addr_t real_mode_base, prot_mode_base, prot_mode_max; ++ size_t real_mode_size, prot_mode_size; ++ addr_t real_mode_base, prot_mode_base, prot_mode_max, base; + addr_t irf_size; + size_t cmdline_size, cmdline_offset; + struct setup_data *sdp; +-- +2.47.1 + diff --git a/boot/syslinux/0022-com32-modules-pxechn.c-use-proper-type-in-struct-dat.patch b/boot/syslinux/0022-com32-modules-pxechn.c-use-proper-type-in-struct-dat.patch new file mode 100644 index 00000000000..65ad65eff60 --- /dev/null +++ b/boot/syslinux/0022-com32-modules-pxechn.c-use-proper-type-in-struct-dat.patch @@ -0,0 +1,46 @@ +From b9514337ecfc0efaa04a926713188d87a88bb59e Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 18 Jan 2025 16:03:34 +0100 +Subject: [PATCH] com32/modules/pxechn.c: use proper type in struct data_area +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Use a size_t for the size field, so that we meet the expectations of +the loadfile() function. + +Fixes a build issue with GCC >= 14: + +com32/modules/pxechn.c:985:38: error: passing argument 3 of ‘loadfile’ from incompatible pointer type [-Wincompatible-pointer-types] + 985 | if (loadfile(pxe.fn, &file.data, &file.size)) { + | ^~~~~~~~~~ + | | + | addr_t * {aka unsigned int *} + +In file included from com32/modules/pxechn.c:33: +com32/include/syslinux/loadfile.h:11:37: note: expected ‘size_t *’ {aka ‘long unsigned int *’} but argument is of type ‘addr_t *’ {aka ‘unsigned int *’} + 11 | int loadfile(const char *, void **, size_t *); + | ^~~~~~~~ + +Upstream: N/A, dead +Signed-off-by: Thomas Petazzoni +--- + com32/modules/pxechn.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/com32/modules/pxechn.c b/com32/modules/pxechn.c +index e4e21e88..15f008a3 100644 +--- a/com32/modules/pxechn.c ++++ b/com32/modules/pxechn.c +@@ -130,7 +130,7 @@ struct pxelinux_opt { + struct data_area { + void *data; + addr_t base; +- addr_t size; ++ size_t size; + }; + + /* From chain.c */ +-- +2.47.1 + diff --git a/boot/syslinux/0023-com32-chain-chain.h-use-proper-type-in-struct-data_a.patch b/boot/syslinux/0023-com32-chain-chain.h-use-proper-type-in-struct-data_a.patch new file mode 100644 index 00000000000..d4b62eb2341 --- /dev/null +++ b/boot/syslinux/0023-com32-chain-chain.h-use-proper-type-in-struct-data_a.patch @@ -0,0 +1,42 @@ +From 57dddf8d6d1c48aa78b9cdfb2b474aa89c3ae7c7 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 18 Jan 2025 16:11:36 +0100 +Subject: [PATCH] com32/chain/chain.h: use proper type in struct data_area +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes build issue with GCC >= 14: + +com32/chain/chain.c:517:44: error: passing argument 3 of ‘loadfile’ from incompatible pointer type [-Wincompatible-pointer-types] + 517 | if (loadfile(opt.file, &fdat.data, &fdat.size)) { + | ^~~~~~~~~~ + | | + | addr_t * {aka unsigned int *} +In file included from com32/chain/chain.c:32: +com32/include/syslinux/loadfile.h:11:37: note: expected ‘size_t *’ {aka ‘long unsigned int *’} but argument is of type ‘addr_t *’ {aka ‘unsigned int *’} + 11 | int loadfile(const char *, void **, size_t *); + | ^~~~~~~~ + +Upstream: N/A, dead +Signed-off-by: Thomas Petazzoni +--- + com32/chain/chain.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/com32/chain/chain.h b/com32/chain/chain.h +index fb5914b1..dcf43844 100644 +--- a/com32/chain/chain.h ++++ b/com32/chain/chain.h +@@ -21,7 +21,7 @@ + struct data_area { + void *data; + addr_t base; +- addr_t size; ++ size_t size; + }; + + #endif +-- +2.47.1 + diff --git a/boot/syslinux/0024-efi-main.c-fix-incorrect-type-of-load_error_buf.patch b/boot/syslinux/0024-efi-main.c-fix-incorrect-type-of-load_error_buf.patch new file mode 100644 index 00000000000..9f61745a613 --- /dev/null +++ b/boot/syslinux/0024-efi-main.c-fix-incorrect-type-of-load_error_buf.patch @@ -0,0 +1,48 @@ +From cbc8a8e25c3548771de5294f5a1eaef6bfe9b5da Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 18 Jan 2025 17:03:16 +0100 +Subject: [PATCH] efi/main.c: fix incorrect type of load_error_buf +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +load_error_buf is used as argument of setjmp()/longjmp(), so it should +be a "jmp_buf", not a "jmp_buf *". According to the setjmp/longjmp man +page: + + int setjmp(jmp_buf env); + int sigsetjmp(sigjmp_buf env, int savesigs); + +Fixes build issue with GCC >= 14: + +efi/main.c:1329:21: error: passing argument 1 of ‘setjmp’ from incompatible pointer type [-Wincompatible-pointer-types] + 1329 | if (!setjmp(load_error_buf)) + | ^~~~~~~~~~~~~~ + | | + | struct (*)[1] +x86_64-buildroot-linux-gnu/sysroot/usr/include/efi/efisetjmp.h:7:29: note: expected ‘struct *’ but argument is of type ‘struct (*)[1]’ + 7 | extern UINTN setjmp(jmp_buf env) __attribute__((returns_twice)); + | ~~~~~~~~^~~ + +Upstream: N/A dead +Signed-off-by: Thomas Petazzoni +--- + efi/main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/efi/main.c b/efi/main.c +index 7dc7bca7..045dae56 100644 +--- a/efi/main.c ++++ b/efi/main.c +@@ -30,7 +30,7 @@ uint32_t timer_irq; + __export uint8_t KbdMap[256]; + char aux_seg[256]; + +-static jmp_buf *load_error_buf; ++static jmp_buf load_error_buf; + + static inline EFI_STATUS + efi_close_protocol(EFI_HANDLE handle, EFI_GUID *guid, EFI_HANDLE agent, +-- +2.47.1 + diff --git a/boot/syslinux/Config.in b/boot/syslinux/Config.in index da035498de6..66baf921d3c 100644 --- a/boot/syslinux/Config.in +++ b/boot/syslinux/Config.in @@ -1,9 +1,10 @@ -config BR2_TARGET_SYSLINUX +menuconfig BR2_TARGET_SYSLINUX bool "syslinux" depends on BR2_i386 || BR2_x86_64 # Make sure at least one of the flavors is installed select BR2_TARGET_SYSLINUX_ISOLINUX \ if !BR2_TARGET_SYSLINUX_PXELINUX && \ + !BR2_TARGET_SYSLINUX_LPXELINUX && \ !BR2_TARGET_SYSLINUX_MBR && \ !BR2_TARGET_SYSLINUX_EFI select BR2_PACKAGE_UTIL_LINUX @@ -27,15 +28,25 @@ config BR2_TARGET_SYSLINUX_ISOLINUX optical media (CDROM, DVD.) config BR2_TARGET_SYSLINUX_PXELINUX - bool "install pxelinux" + bool "install pxelinux (TFTP-only)" select BR2_TARGET_SYSLINUX_LEGACY_BIOS help Install the legacy-BIOS 'pxelinux' image, to boot off - the network using PXE. + the network using PXE and TFTP. + +config BR2_TARGET_SYSLINUX_LPXELINUX + bool "install lpxelinux (TFTP, HTTP, FTP)" + select BR2_TARGET_SYSLINUX_LEGACY_BIOS + help + Install the legacy-BIOS 'lpxelinux' image, to boot off + the network using PXE, and TFTP, HTTP, or FTP. + + Note: a TFTP server is still required to serve the + lpxelinux boot image; HTTP or FTP can only be used + by lpxelinux to retrieve the kernel (and initrd...) config BR2_TARGET_SYSLINUX_MBR bool "install mbr" - depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19615 select BR2_TARGET_SYSLINUX_LEGACY_BIOS help Install the legacy-BIOS 'mbr' image, to boot off a @@ -44,11 +55,11 @@ config BR2_TARGET_SYSLINUX_MBR config BR2_TARGET_SYSLINUX_EFI bool "install efi" + depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS select BR2_PACKAGE_GNU_EFI help Install the 'efi' image, to boot from an EFI environment. - if BR2_TARGET_SYSLINUX_LEGACY_BIOS config BR2_TARGET_SYSLINUX_C32 diff --git a/boot/syslinux/syslinux.hash b/boot/syslinux/syslinux.hash index 5303f4df0b7..9bec3a20e76 100644 --- a/boot/syslinux/syslinux.hash +++ b/boot/syslinux/syslinux.hash @@ -1,2 +1,4 @@ # From https://www.kernel.org/pub/linux/utils/boot/syslinux/sha256sums.asc -sha256 26d3986d2bea109d5dc0e4f8c4822a459276cf021125e8c9f23c3cca5d8c850e syslinux-6.03.tar.xz +sha256 26d3986d2bea109d5dc0e4f8c4822a459276cf021125e8c9f23c3cca5d8c850e syslinux-6.03.tar.xz +# Locally computed +sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING diff --git a/boot/syslinux/syslinux.mk b/boot/syslinux/syslinux.mk index 13496414dd1..f938634c356 100644 --- a/boot/syslinux/syslinux.mk +++ b/boot/syslinux/syslinux.mk @@ -14,7 +14,12 @@ SYSLINUX_LICENSE_FILES = COPYING SYSLINUX_INSTALL_IMAGES = YES # host-util-linux needed to provide libuuid when building host tools -SYSLINUX_DEPENDENCIES = host-nasm host-upx util-linux host-util-linux +SYSLINUX_DEPENDENCIES = \ + host-nasm \ + host-python3 \ + host-upx \ + host-util-linux \ + util-linux ifeq ($(BR2_TARGET_SYSLINUX_LEGACY_BIOS),y) SYSLINUX_TARGET += bios @@ -51,15 +56,32 @@ SYSLINUX_POST_PATCH_HOOKS += SYSLINUX_CLEANUP # syslinux build system has no convenient way to pass CFLAGS, # and the internal zlib should take precedence so -I shouldn't # be used. +# gcc-15 defaults to -std=gnu23 which introduces build failures. +# We force "-std=gnu17" for gcc version supporting it. Earlier gcc +# versions will work, since they are using the older standard. +# Install in a temporary location that eases final install into +# images/ (see corresponding command, below). +# Repeat the target, otherwise syslinux will try to build everything +# Repeat LD (and CC) as it happens that some binaries are linked at +# install-time. define SYSLINUX_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE1) \ - CC="$(TARGET_CC)" \ + ASCIIDOC_OK=-1 \ + A2X_XML_OK=-1 \ + CC="$(TARGET_CC) $(if $(BR2_TOOLCHAIN_GCC_AT_LEAST_8),-std=gnu17)" \ LD="$(TARGET_LD)" \ + OBJCOPY="$(TARGET_OBJCOPY)" \ + AS="$(TARGET_AS)" \ NASM="$(HOST_DIR)/bin/nasm" \ CC_FOR_BUILD="$(HOSTCC)" \ CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \ LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)" \ - $(SYSLINUX_EFI_ARGS) -C $(@D) $(SYSLINUX_TARGET) + PYTHON=$(HOST_DIR)/bin/python3 \ + $(SYSLINUX_EFI_ARGS) -C $(@D) $(SYSLINUX_TARGET) + $(TARGET_MAKE_ENV) $(MAKE1) $(SYSLINUX_EFI_ARGS) INSTALLROOT=$(@D)/br-root.temp \ + CC="$(TARGET_CC)" \ + LD="$(TARGET_LD)" \ + -C $(@D) $(SYSLINUX_TARGET) install endef # While the actual bootloader is compiled for the target, several @@ -67,6 +89,8 @@ endef # Repeat the target, otherwise syslinux will try to build everything # Repeat LD (and CC) as it happens that some binaries are linked at # install-time. +# Don't use the temporarily-installed br-root.temp: HOST_DIR may be setup +# differently (merged usr, merged bin...) define SYSLINUX_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE1) $(SYSLINUX_EFI_ARGS) INSTALLROOT=$(HOST_DIR) \ CC="$(TARGET_CC)" \ @@ -84,20 +108,21 @@ SYSLINUX_POST_INSTALL_TARGET_HOOKS += SYSLINUX_POST_INSTALL_CLEANUP SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_ISOLINUX) += bios/core/isolinux.bin SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_PXELINUX) += bios/core/pxelinux.bin +SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_LPXELINUX) += bios/core/lpxelinux.bin SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_MBR) += bios/mbr/mbr.bin SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_EFI) += $(SYSLINUX_EFI_BITS)/efi/syslinux.efi SYSLINUX_C32 = $(call qstrip,$(BR2_TARGET_SYSLINUX_C32)) -# We install the c32 modules from the host-installed tree, where they -# are all neatly installed in a single location, while they are +# We install the c32 modules from the temporarily installed tree, where +# they are all neatly installed in a single location, while they are # scattered around everywhere in the build tree. define SYSLINUX_INSTALL_IMAGES_CMDS for i in $(SYSLINUX_IMAGES-y); do \ $(INSTALL) -D -m 0755 $(@D)/$$i $(BINARIES_DIR)/syslinux/$${i##*/}; \ done for i in $(SYSLINUX_C32); do \ - $(INSTALL) -D -m 0755 $(HOST_DIR)/share/syslinux/$${i} \ + $(INSTALL) -D -m 0755 $(@D)/br-root.temp/usr/share/syslinux/$${i} \ $(BINARIES_DIR)/syslinux/$${i}; \ done endef diff --git a/boot/ti-k3-boot-firmware/Config.in b/boot/ti-k3-boot-firmware/Config.in new file mode 100644 index 00000000000..d80bb4bdb38 --- /dev/null +++ b/boot/ti-k3-boot-firmware/Config.in @@ -0,0 +1,7 @@ +config BR2_TARGET_TI_K3_BOOT_FIRMWARE + bool "ti-k3-boot-firmware" + depends on BR2_aarch64 + help + This package downloads and installs the TI-specific ti-sysfw + and ti-dm firmware needed to boot TI K3 platforms (which + include AM62x, AM64x, AM65x and more). diff --git a/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.hash b/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.hash new file mode 100644 index 00000000000..d94590e7054 --- /dev/null +++ b/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 ab20ffbe7bba7e94be246b3417d33a914b3f07c16c47ef5a7f7602349a666a61 LICENSE.ti +sha256 eda8af01e1c142e3ebe766877585ac4f37e4f1dc4ad5fe29ad15c120c18ccece ti-k3-boot-firmware-11.01.12.tar.gz diff --git a/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.mk b/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.mk new file mode 100644 index 00000000000..7689071a4c2 --- /dev/null +++ b/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# ti-k3-boot-firmware +# +################################################################################ + +TI_K3_BOOT_FIRMWARE_VERSION = 11.01.12 +TI_K3_BOOT_FIRMWARE_SITE = $(call github,TexasInstruments,ti-linux-firmware,$(TI_K3_BOOT_FIRMWARE_VERSION)) +TI_K3_BOOT_FIRMWARE_INSTALL_IMAGES = YES +TI_K3_BOOT_FIRMWARE_LICENSE = TI Proprietary +TI_K3_BOOT_FIRMWARE_LICENSE_FILES = LICENSE.ti + +define TI_K3_BOOT_FIRMWARE_INSTALL_IMAGES_CMDS + cp -dpfr $(@D)/ti-sysfw $(BINARIES_DIR)/ + cp -dpfr $(@D)/ti-dm $(BINARIES_DIR)/ +endef + +$(eval $(generic-package)) diff --git a/boot/ti-k3-r5-loader/Config.in b/boot/ti-k3-r5-loader/Config.in new file mode 100644 index 00000000000..7eb471e6d50 --- /dev/null +++ b/boot/ti-k3-r5-loader/Config.in @@ -0,0 +1,154 @@ +menuconfig BR2_TARGET_TI_K3_R5_LOADER + bool "ti-k3-r5-loader" + depends on BR2_aarch64 + depends on BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_SUPPORTS + select BR2_TARGET_TI_K3_BOOT_FIRMWARE # binman + help + Separate U-Boot SPL build for R5 core on TI's K3 processors. + Usually used to build tiboot3.bin with k3-image-gen. + +if BR2_TARGET_TI_K3_R5_LOADER + +choice + prompt "U-Boot Version" + help + Select the specific U-Boot version you want to use to build + the initial SPL running on the R5 core. Note that for most + use cases you will want to use the exact same version/source + here as it is used to build the main U-Boot package. + +config BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION + bool "2024.10" + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION + bool "Custom version" + help + This option allows to use a specific official versions + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL + bool "Custom tarball" + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT + bool "Custom Git repository" + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG + bool "Custom Mercurial repository" + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN + bool "Custom Subversion repository" + +endchoice + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE + string "U-Boot version" + depends on BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL_LOCATION + string "URL of custom U-Boot tarball" + depends on BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL + +if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL + string "URL of custom repository" + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_VERSION + string "Custom repository version" + help + Revision to use in the typical format used by + Git/Mercurial/Subversion E.G. a sha id, a tag, branch, .. + +endif + +config BR2_TARGET_TI_K3_R5_LOADER_VERSION + string + default "2024.10" if BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION + default BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE \ + if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION + default "custom" if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL + default BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_VERSION \ + if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT || \ + BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG || \ + BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN +choice + prompt "U-Boot Configuration" + default BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG + +config BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG + bool "Using an in-tree board defconfig file" + +config BR2_TARGET_TI_K3_R5_LOADER_USE_CUSTOM_CONFIG + bool "Using a custom board (def)config file" + +endchoice + +config BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG + string "Board defconfig" + depends on BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG + help + Name of the board for which TI K3 R5 Loader should be + built, without the _defconfig suffix. + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_CONFIG_FILE + string "Configuration file path" + depends on BR2_TARGET_TI_K3_R5_LOADER_USE_CUSTOM_CONFIG + help + Path to the TI K3 R5 Loader configuration file. + +config BR2_TARGET_TI_K3_R5_LOADER_CONFIG_FRAGMENT_FILES + string "Additional configuration fragment files" + help + A space-separated list of configuration fragment files, + that will be merged to the tiboot3.bin configuration file. + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_DTS_PATH + string "Device Tree Source file paths" + help + Space-separated list of paths to device tree source files + that will be copied to arch/arm/dts/ before starting the + build. + + To use this device tree source file, the U-Boot configuration + file must refer to it. + +config BR2_TARGET_TI_K3_R5_LOADER_TIBOOT3_BIN + string "tiboot3.bin binary name" + default "tiboot3.bin" + help + Name of the TI K3 tiboot3.bin binary to use. + + The tiboot3 binary name must match with the TI K3 SoC boot + ROM: + + - General Purpose devices (gp) + - High Security - Field Securable devices (hs-fs) + - High Security - Security Enforcing devices (hs) + + Or if the tiboot3 binary generated use a custom name. + + If unsure, use the default tiboot3.bin (symlink) generated by + binman. + +config BR2_TARGET_TI_K3_R5_LOADER_SYSFW_ITB + string "sysfw.itb binary name" + default "sysfw.itb" + help + Name of the TI K3 sysfw.itb binary to use (if any required). + + sysfw*.itb are only generated for Split binary based Boot + Flow (eg: am65, j721e). This option is not used on other + TI K3 devices. + + The sysfw binary name must match with the TI K3 SoC boot + ROM: + + - General Purpose devices (gp) + - High Security - Field Securable devices (hs-fs) + - High Security - Security Enforcing devices (hs) + + Or if the sysfw binary generated use a custom name. + + If unsure, use the default sysfw.itb (symlink) generated by + binman. + +endif diff --git a/boot/ti-k3-r5-loader/ti-k3-r5-loader.hash b/boot/ti-k3-r5-loader/ti-k3-r5-loader.hash new file mode 100644 index 00000000000..af025a583e4 --- /dev/null +++ b/boot/ti-k3-r5-loader/ti-k3-r5-loader.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 b28daf4ac17e43156363078bf510297584137f6df50fced9b12df34f61a92fb0 u-boot-2024.10.tar.bz2 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Licenses/gpl-2.0.txt diff --git a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk new file mode 100644 index 00000000000..178db5c0f35 --- /dev/null +++ b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk @@ -0,0 +1,126 @@ +################################################################################ +# +# ti-k3-r5-loader +# +################################################################################ + +TI_K3_R5_LOADER_VERSION = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_VERSION)) +TI_K3_R5_LOADER_DL_SUBDIR = uboot + +ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL),y) +# Handle custom U-Boot tarballs as specified by the configuration +TI_K3_R5_LOADER_TARBALL = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL_LOCATION)) +TI_K3_R5_LOADER_SITE = $(patsubst %/,%,$(dir $(TI_K3_R5_LOADER_TARBALL))) +TI_K3_R5_LOADER_SOURCE = $(notdir $(TI_K3_R5_LOADER_TARBALL)) +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT),y) +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL)) +TI_K3_R5_LOADER_SITE_METHOD = git +TI_K3_R5_LOADER_SOURCE = u-boot-$(TI_K3_R5_LOADER_VERSION).tar.gz +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG),y) +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL)) +TI_K3_R5_LOADER_SITE_METHOD = hg +TI_K3_R5_LOADER_SOURCE = u-boot-$(TI_K3_R5_LOADER_VERSION).tar.gz +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN),y) +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL)) +TI_K3_R5_LOADER_SITE_METHOD = svn +TI_K3_R5_LOADER_SOURCE = u-boot-$(TI_K3_R5_LOADER_VERSION).tar.gz +else +# Handle stable official U-Boot versions +TI_K3_R5_LOADER_SITE = https://ftp.denx.de/pub/u-boot +TI_K3_R5_LOADER_SOURCE = u-boot-$(TI_K3_R5_LOADER_VERSION).tar.bz2 +endif + +ifeq ($(BR2_TARGET_TI_K3_R5_LOADER)$(BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION),y) +BR_NO_CHECK_HASH_FOR += $(TI_K3_R5_LOADER_SOURCE) +endif + +TI_K3_R5_LOADER_LICENSE = GPL-2.0+ +TI_K3_R5_LOADER_LICENSE_FILES = Licenses/gpl-2.0.txt +TI_K3_R5_LOADER_CPE_ID_VENDOR = denx +TI_K3_R5_LOADER_CPE_ID_PRODUCT = u-boot +TI_K3_R5_LOADER_INSTALL_IMAGES = YES +# https://source.denx.de/u-boot/u-boot/-/blob/v2024.04/tools/binman/binman.rst?plain=1#L377 +# https://source.denx.de/u-boot/u-boot/-/blob/v2024.04/tools/buildman/requirements.txt +# Make sure that all binman requirements are built before ti-k3-r5-loader. +TI_K3_R5_LOADER_DEPENDENCIES = \ + host-pkgconf \ + $(BR2_MAKE_HOST_DEPENDENCY) \ + host-arm-gnu-toolchain \ + host-gnutls \ + host-openssl \ + host-python3 \ + host-python-jsonschema \ + host-python-pyelftools \ + host-python-pylibfdt \ + host-python-pyyaml \ + host-python-setuptools \ + host-python-yamllint \ + ti-k3-boot-firmware + +TI_K3_R5_LOADER_MAKE = $(BR2_MAKE) +TI_K3_R5_LOADER_MAKE_ENV = $(TARGET_MAKE_ENV) +TI_K3_R5_LOADER_KCONFIG_DEPENDENCIES = \ + host-arm-gnu-toolchain \ + $(BR2_MAKE_HOST_DEPENDENCY) \ + $(BR2_BISON_HOST_DEPENDENCY) \ + $(BR2_FLEX_HOST_DEPENDENCY) + +ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG),y) +TI_K3_R5_LOADER_KCONFIG_DEFCONFIG = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG))_defconfig +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_USE_CUSTOM_CONFIG),y) +TI_K3_R5_LOADER_KCONFIG_FILE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_CONFIG_FILE)) +endif # BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG +TI_K3_R5_LOADER_MAKE_OPTS = \ + CROSS_COMPILE=$(HOST_DIR)/bin/arm-none-eabi- \ + ARCH=arm \ + HOSTCC="$(HOSTCC) $(subst -I/,-isystem /,$(subst -I /,-isystem /,$(HOST_CFLAGS)))" \ + HOSTLDFLAGS="$(HOST_LDFLAGS)" \ + BINMAN_INDIRS=$(BINARIES_DIR) + +TI_K3_R5_LOADER_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CONFIG_FRAGMENT_FILES)) +TI_K3_R5_LOADER_TIBOOT3_BIN = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_TIBOOT3_BIN)) + +define TI_K3_R5_LOADER_INSTALL_TIBOOT3_BIN + cp $(@D)/$(TI_K3_R5_LOADER_TIBOOT3_BIN) $(BINARIES_DIR)/tiboot3.bin +endef + +TI_K3_R5_LOADER_SYSFW_ITB = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_SYSFW_ITB)) + +# sysfw*.itb are only generated for Split binary based Boot Flow (eg: am65, j721e). +# So, if sysfw.itb symlink exist we must copy it or the custom sysfw.itb. +define TI_K3_R5_LOADER_INSTALL_SWSFW_ITB + if test -e $(@D)/sysfw.itb ; then \ + cp $(@D)/$(TI_K3_R5_LOADER_SYSFW_ITB) $(BINARIES_DIR)/sysfw.itb ; \ + fi +endef + +TI_K3_R5_LOADER_CUSTOM_DTS_PATH = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_DTS_PATH)) + +define TI_K3_R5_LOADER_BUILD_CMDS + $(if $(TI_K3_R5_LOADER_CUSTOM_DTS_PATH), + cp -f $(TI_K3_R5_LOADER_CUSTOM_DTS_PATH) $(@D)/arch/arm/dts/ + ) + $(TARGET_CONFIGURE_OPTS) $(TI_K3_R5_LOADER_MAKE) -C $(@D) $(TI_K3_R5_LOADER_MAKE_OPTS) +endef + +define TI_K3_R5_LOADER_INSTALL_IMAGES_CMDS + cp $(@D)/spl/u-boot-spl.bin $(BINARIES_DIR)/r5-u-boot-spl.bin + $(TI_K3_R5_LOADER_INSTALL_TIBOOT3_BIN) + $(TI_K3_R5_LOADER_INSTALL_SWSFW_ITB) +endef + +# Checks to give errors that the user can understand +# Must be before we call to kconfig-package +ifeq ($(BR2_TARGET_TI_K3_R5_LOADER)$(BR_BUILDING),yy) + +ifeq ($(TI_K3_R5_LOADER_TIBOOT3_BIN),) +$(error No custom tiboot3 name specified, check your BR2_TARGET_TI_K3_R5_LOADER_TIBOOT3_BIN setting) +endif + +ifeq ($(TI_K3_R5_LOADER_SYSFW_ITB),) +$(error No custom sysfw name specified, check your BR2_TARGET_TI_K3_R5_LOADER_SYSFW_ITB setting) +endif + +endif # BR_BUILDING + +$(eval $(kconfig-package)) diff --git a/boot/ts4800-mbrboot/Config.in b/boot/ts4800-mbrboot/Config.in deleted file mode 100644 index 7ed0b21382f..00000000000 --- a/boot/ts4800-mbrboot/Config.in +++ /dev/null @@ -1,7 +0,0 @@ -config BR2_TARGET_TS4800_MBRBOOT - bool "ts4800-mbrboot" - depends on BR2_ARM_CPU_ARMV7A - help - First level bootloader for TS4800 board - - https://github.com/embeddedarm/ts4800-mbrboot diff --git a/boot/ts4800-mbrboot/ts4800-mbrboot.hash b/boot/ts4800-mbrboot/ts4800-mbrboot.hash deleted file mode 100644 index 04e7072810f..00000000000 --- a/boot/ts4800-mbrboot/ts4800-mbrboot.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally calculated -sha256 617c70dcf50b7ad35ed3f40666ff2a9a654a5440b522ad73662abdf9f843cee9 ts4800-mbrboot-cf8f7072ed5a4a4e48fcb9841b2e31e519ec5dca.tar.gz diff --git a/boot/ts4800-mbrboot/ts4800-mbrboot.mk b/boot/ts4800-mbrboot/ts4800-mbrboot.mk deleted file mode 100644 index 3dde6c6ab3c..00000000000 --- a/boot/ts4800-mbrboot/ts4800-mbrboot.mk +++ /dev/null @@ -1,21 +0,0 @@ -################################################################################ -# -# ts4800-mbrboot -# -################################################################################ - -TS4800_MBRBOOT_VERSION = cf8f7072ed5a4a4e48fcb9841b2e31e519ec5dca -TS4800_MBRBOOT_SITE = $(call github,embeddedarm,ts4800-mbrboot,$(TS4800_MBRBOOT_VERSION)) -TS4800_MBRBOOT_LICENSE = BSD-2-Clause -TS4800_MBRBOOT_LICENSE_FILES = LICENSE -TS4800_MBRBOOT_INSTALL_IMAGES = YES - -define TS4800_MBRBOOT_BUILD_CMDS - $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) -endef - -define TS4800_MBRBOOT_INSTALL_IMAGES_CMDS - $(INSTALL) -D -m 0644 $(@D)/mbrboot.bin $(BINARIES_DIR)/mbrboot.bin -endef - -$(eval $(generic-package)) diff --git a/boot/uboot/2015.07/0001-Revert-arch-Make-board-selection-choices-optional.patch b/boot/uboot/2015.07/0001-Revert-arch-Make-board-selection-choices-optional.patch deleted file mode 100644 index 8b814f2d69c..00000000000 --- a/boot/uboot/2015.07/0001-Revert-arch-Make-board-selection-choices-optional.patch +++ /dev/null @@ -1,742 +0,0 @@ -From ee11fed43e2bd029f71af1e72ab9bb5652f5fc54 Mon Sep 17 00:00:00 2001 -From: Alexey Brodkin -Date: Wed, 29 Jul 2015 20:32:59 +0300 -Subject: [PATCH] Revert "arch: Make board selection choices optional" - -This reverts commit a26cd04920dc069fd6e91abb785426cf6c29f45f. - -Reverted commit caused an issue with "make oldconfig" - default prompt -for target selection was set as No that lead to missing platform -selection by automated scripts like that: ------------------->8------------------ -"yes "" | make oldconfig" on defconfig ------------------->8------------------ - -And that lead to build failure: ------------------->8------------------ -$ make -scripts/kconfig/conf --silentoldconfig Kconfig - CHK include/config.h - UPD include/config.h - GEN include/autoconf.mk -In file included from ./include/common.h:18:0: -include/config.h:5:22: fatal error: configs/.h: No such file or directory - #include - ^ -compilation terminated. -scripts/Makefile.autoconf:72: recipe for target 'include/autoconf.mk' failed -make[1]: *** [include/autoconf.mk] Error 1 ------------------->8------------------ - -Signed-off-by: Alexey Brodkin ---- - arch/arc/Kconfig | 1 - - arch/arm/Kconfig | 1 - - arch/arm/cpu/armv7/exynos/Kconfig | 1 - - arch/arm/cpu/armv7/mx5/Kconfig | 1 - - arch/arm/cpu/armv7/mx6/Kconfig | 1 - - arch/arm/cpu/armv7/omap3/Kconfig | 1 - - arch/arm/cpu/armv7/omap4/Kconfig | 1 - - arch/arm/cpu/armv7/omap5/Kconfig | 1 - - arch/arm/cpu/armv7/rmobile/Kconfig | 1 - - arch/arm/cpu/armv7/s5pc1xx/Kconfig | 1 - - arch/arm/mach-at91/Kconfig | 1 - - arch/arm/mach-bcm283x/Kconfig | 1 - - arch/arm/mach-davinci/Kconfig | 1 - - arch/arm/mach-integrator/Kconfig | 2 -- - arch/arm/mach-keystone/Kconfig | 1 - - arch/arm/mach-kirkwood/Kconfig | 1 - - arch/arm/mach-nomadik/Kconfig | 1 - - arch/arm/mach-orion5x/Kconfig | 1 - - arch/arm/mach-socfpga/Kconfig | 1 - - arch/arm/mach-tegra/Kconfig | 1 - - arch/arm/mach-tegra/tegra114/Kconfig | 1 - - arch/arm/mach-tegra/tegra124/Kconfig | 1 - - arch/arm/mach-tegra/tegra20/Kconfig | 1 - - arch/arm/mach-tegra/tegra30/Kconfig | 1 - - arch/arm/mach-zynq/Kconfig | 1 - - arch/avr32/Kconfig | 1 - - arch/blackfin/Kconfig | 1 - - arch/m68k/Kconfig | 1 - - arch/microblaze/Kconfig | 1 - - arch/mips/Kconfig | 1 - - arch/nds32/Kconfig | 1 - - arch/nios2/Kconfig | 1 - - arch/openrisc/Kconfig | 1 - - arch/powerpc/Kconfig | 1 - - arch/powerpc/cpu/mpc512x/Kconfig | 1 - - arch/powerpc/cpu/mpc5xx/Kconfig | 1 - - arch/powerpc/cpu/mpc5xxx/Kconfig | 1 - - arch/powerpc/cpu/mpc8260/Kconfig | 1 - - arch/powerpc/cpu/mpc83xx/Kconfig | 1 - - arch/powerpc/cpu/mpc85xx/Kconfig | 1 - - arch/powerpc/cpu/mpc86xx/Kconfig | 1 - - arch/powerpc/cpu/mpc8xx/Kconfig | 1 - - arch/powerpc/cpu/ppc4xx/Kconfig | 1 - - arch/sh/Kconfig | 1 - - arch/sparc/Kconfig | 1 - - board/amcc/canyonlands/Kconfig | 1 - - board/coreboot/Kconfig | 1 - - board/dbau1x00/Kconfig | 1 - - board/google/Kconfig | 1 - - board/intel/Kconfig | 1 - - board/micronas/vct/Kconfig | 1 - - board/seco/Kconfig | 2 -- - board/sunxi/Kconfig | 1 - - 53 files changed, 55 deletions(-) - -diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig -index 925e312..640cda8 100644 ---- a/arch/arc/Kconfig -+++ b/arch/arc/Kconfig -@@ -129,7 +129,6 @@ config ARC_CACHE_LINE_SHIFT - - choice - prompt "Target select" -- optional - - config TARGET_TB100 - bool "Support tb100" -diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 9908b43..8eeb46c 100644 ---- a/arch/arm/Kconfig -+++ b/arch/arm/Kconfig -@@ -64,7 +64,6 @@ config SEMIHOSTING - - choice - prompt "Target select" -- optional - - config ARCH_AT91 - bool "Atmel AT91" -diff --git a/arch/arm/cpu/armv7/exynos/Kconfig b/arch/arm/cpu/armv7/exynos/Kconfig -index 4a7d82f..f2fe748 100644 ---- a/arch/arm/cpu/armv7/exynos/Kconfig -+++ b/arch/arm/cpu/armv7/exynos/Kconfig -@@ -2,7 +2,6 @@ if ARCH_EXYNOS - - choice - prompt "EXYNOS board select" -- optional - - config TARGET_SMDKV310 - select SUPPORT_SPL -diff --git a/arch/arm/cpu/armv7/mx5/Kconfig b/arch/arm/cpu/armv7/mx5/Kconfig -index 9f250c6..2d6c0ce 100644 ---- a/arch/arm/cpu/armv7/mx5/Kconfig -+++ b/arch/arm/cpu/armv7/mx5/Kconfig -@@ -12,7 +12,6 @@ config MX53 - - choice - prompt "MX5 board select" -- optional - - config TARGET_USBARMORY - bool "Support USB armory" -diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig -index 10908c4..662596f 100644 ---- a/arch/arm/cpu/armv7/mx6/Kconfig -+++ b/arch/arm/cpu/armv7/mx6/Kconfig -@@ -27,7 +27,6 @@ config MX6SX - - choice - prompt "MX6 board select" -- optional - - config TARGET_SECOMX6 - bool "Support secomx6 boards" -diff --git a/arch/arm/cpu/armv7/omap3/Kconfig b/arch/arm/cpu/armv7/omap3/Kconfig -index b32a6b0..cc82c50 100644 ---- a/arch/arm/cpu/armv7/omap3/Kconfig -+++ b/arch/arm/cpu/armv7/omap3/Kconfig -@@ -2,7 +2,6 @@ if OMAP34XX - - choice - prompt "OMAP3 board select" -- optional - - config TARGET_AM3517_EVM - bool "AM3517 EVM" -diff --git a/arch/arm/cpu/armv7/omap4/Kconfig b/arch/arm/cpu/armv7/omap4/Kconfig -index df27ea1..eccf897 100644 ---- a/arch/arm/cpu/armv7/omap4/Kconfig -+++ b/arch/arm/cpu/armv7/omap4/Kconfig -@@ -2,7 +2,6 @@ if OMAP44XX - - choice - prompt "OMAP4 board select" -- optional - - config TARGET_DUOVERO - bool "OMAP4430 Gumstix Duovero" -diff --git a/arch/arm/cpu/armv7/omap5/Kconfig b/arch/arm/cpu/armv7/omap5/Kconfig -index 20c3bd9..aca862d 100644 ---- a/arch/arm/cpu/armv7/omap5/Kconfig -+++ b/arch/arm/cpu/armv7/omap5/Kconfig -@@ -2,7 +2,6 @@ if OMAP54XX - - choice - prompt "OMAP5 board select" -- optional - - config TARGET_CM_T54 - bool "CompuLab CM-T54" -diff --git a/arch/arm/cpu/armv7/rmobile/Kconfig b/arch/arm/cpu/armv7/rmobile/Kconfig -index ef56286..638b63d 100644 ---- a/arch/arm/cpu/armv7/rmobile/Kconfig -+++ b/arch/arm/cpu/armv7/rmobile/Kconfig -@@ -2,7 +2,6 @@ if RMOBILE - - choice - prompt "Renesus ARM SoCs board select" -- optional - - config TARGET_ARMADILLO_800EVA - bool "armadillo 800 eva board" -diff --git a/arch/arm/cpu/armv7/s5pc1xx/Kconfig b/arch/arm/cpu/armv7/s5pc1xx/Kconfig -index 792ef59..65cc9eb 100644 ---- a/arch/arm/cpu/armv7/s5pc1xx/Kconfig -+++ b/arch/arm/cpu/armv7/s5pc1xx/Kconfig -@@ -2,7 +2,6 @@ if ARCH_S5PC1XX - - choice - prompt "S5PC1XX board select" -- optional - - config TARGET_S5P_GONI - bool "S5P Goni board" -diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig -index bbf4228..5dc2cb2 100644 ---- a/arch/arm/mach-at91/Kconfig -+++ b/arch/arm/mach-at91/Kconfig -@@ -2,7 +2,6 @@ if ARCH_AT91 - - choice - prompt "Atmel AT91 board select" -- optional - - config TARGET_AT91RM9200EK - bool "Atmel AT91RM9200 evaluation kit" -diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig -index 2315a13..d40f505 100644 ---- a/arch/arm/mach-bcm283x/Kconfig -+++ b/arch/arm/mach-bcm283x/Kconfig -@@ -3,7 +3,6 @@ menu "Broadcom BCM283X family" - - choice - prompt "Broadcom BCM283X board select" -- optional - - config TARGET_RPI - bool "Raspberry Pi" -diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach-davinci/Kconfig -index e6cb390..3ef55d3 100644 ---- a/arch/arm/mach-davinci/Kconfig -+++ b/arch/arm/mach-davinci/Kconfig -@@ -2,7 +2,6 @@ if ARCH_DAVINCI - - choice - prompt "DaVinci board select" -- optional - - config TARGET_ENBW_CMC - bool "EnBW CMC board" -diff --git a/arch/arm/mach-integrator/Kconfig b/arch/arm/mach-integrator/Kconfig -index c54d69d..8ffc544 100644 ---- a/arch/arm/mach-integrator/Kconfig -+++ b/arch/arm/mach-integrator/Kconfig -@@ -3,7 +3,6 @@ menu "Integrator Options" - - choice - prompt "Integrator platform select" -- optional - - config ARCH_INTEGRATOR_AP - bool "Support Integrator/AP platform" -@@ -19,7 +18,6 @@ config ARCH_CINTEGRATOR - - choice - prompt "Integrator core module select" -- optional - - config CM720T - bool "Core Module for ARM720T" -diff --git a/arch/arm/mach-keystone/Kconfig b/arch/arm/mach-keystone/Kconfig -index 67f1a33..134ae87 100644 ---- a/arch/arm/mach-keystone/Kconfig -+++ b/arch/arm/mach-keystone/Kconfig -@@ -2,7 +2,6 @@ if ARCH_KEYSTONE - - choice - prompt "TI Keystone board select" -- optional - - config TARGET_K2HK_EVM - bool "TI Keystone 2 Kepler/Hawking EVM" -diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig -index 1261885..45c6687 100644 ---- a/arch/arm/mach-kirkwood/Kconfig -+++ b/arch/arm/mach-kirkwood/Kconfig -@@ -2,7 +2,6 @@ if KIRKWOOD - - choice - prompt "Marvell Kirkwood board select" -- optional - - config TARGET_OPENRD - bool "Marvell OpenRD Board" -diff --git a/arch/arm/mach-nomadik/Kconfig b/arch/arm/mach-nomadik/Kconfig -index ba72a41..265f336 100644 ---- a/arch/arm/mach-nomadik/Kconfig -+++ b/arch/arm/mach-nomadik/Kconfig -@@ -2,7 +2,6 @@ if ARCH_NOMADIK - - choice - prompt "Nomadik board select" -- optional - - config NOMADIK_NHK8815 - bool "ST 8815 Nomadik Hardware Kit" -diff --git a/arch/arm/mach-orion5x/Kconfig b/arch/arm/mach-orion5x/Kconfig -index 7644b8d..291c511 100644 ---- a/arch/arm/mach-orion5x/Kconfig -+++ b/arch/arm/mach-orion5x/Kconfig -@@ -2,7 +2,6 @@ if ORION5X - - choice - prompt "Marvell Orion board select" -- optional - - config TARGET_EDMINIV2 - bool "LaCie Ethernet Disk mini V2" -diff --git a/arch/arm/mach-socfpga/Kconfig b/arch/arm/mach-socfpga/Kconfig -index e46c348..204efca 100644 ---- a/arch/arm/mach-socfpga/Kconfig -+++ b/arch/arm/mach-socfpga/Kconfig -@@ -2,7 +2,6 @@ if ARCH_SOCFPGA - - choice - prompt "Altera SOCFPGA board select" -- optional - - config TARGET_SOCFPGA_ARRIA5 - bool "Altera SOCFPGA Arria V" -diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig -index 54bd648..ef77c84 100644 ---- a/arch/arm/mach-tegra/Kconfig -+++ b/arch/arm/mach-tegra/Kconfig -@@ -2,7 +2,6 @@ if TEGRA - - choice - prompt "Tegra SoC select" -- optional - - config TEGRA20 - bool "Tegra20 family" -diff --git a/arch/arm/mach-tegra/tegra114/Kconfig b/arch/arm/mach-tegra/tegra114/Kconfig -index 1047b92..31012bc 100644 ---- a/arch/arm/mach-tegra/tegra114/Kconfig -+++ b/arch/arm/mach-tegra/tegra114/Kconfig -@@ -2,7 +2,6 @@ if TEGRA114 - - choice - prompt "Tegra114 board select" -- optional - - config TARGET_DALMORE - bool "NVIDIA Tegra114 Dalmore evaluation board" -diff --git a/arch/arm/mach-tegra/tegra124/Kconfig b/arch/arm/mach-tegra/tegra124/Kconfig -index f3324ff..86c1301 100644 ---- a/arch/arm/mach-tegra/tegra124/Kconfig -+++ b/arch/arm/mach-tegra/tegra124/Kconfig -@@ -2,7 +2,6 @@ if TEGRA124 - - choice - prompt "Tegra124 board select" -- optional - - config TARGET_JETSON_TK1 - bool "NVIDIA Tegra124 Jetson TK1 board" -diff --git a/arch/arm/mach-tegra/tegra20/Kconfig b/arch/arm/mach-tegra/tegra20/Kconfig -index 1bb8dff..7f09f81 100644 ---- a/arch/arm/mach-tegra/tegra20/Kconfig -+++ b/arch/arm/mach-tegra/tegra20/Kconfig -@@ -2,7 +2,6 @@ if TEGRA20 - - choice - prompt "Tegra20 board select" -- optional - - config TARGET_HARMONY - bool "NVIDIA Tegra20 Harmony evaluation board" -diff --git a/arch/arm/mach-tegra/tegra30/Kconfig b/arch/arm/mach-tegra/tegra30/Kconfig -index e78331e..3abdc7b 100644 ---- a/arch/arm/mach-tegra/tegra30/Kconfig -+++ b/arch/arm/mach-tegra/tegra30/Kconfig -@@ -2,7 +2,6 @@ if TEGRA30 - - choice - prompt "Tegra30 board select" -- optional - - config TARGET_APALIS_T30 - bool "Toradex Apalis T30 board" -diff --git a/arch/arm/mach-zynq/Kconfig b/arch/arm/mach-zynq/Kconfig -index 1de5b07..6b0e295 100644 ---- a/arch/arm/mach-zynq/Kconfig -+++ b/arch/arm/mach-zynq/Kconfig -@@ -10,7 +10,6 @@ config ZYNQ_CUSTOM_INIT - - choice - prompt "Xilinx Zynq board select" -- optional - - config TARGET_ZYNQ_ZED - bool "Zynq ZedBoard" -diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig -index eb33774..801b9cc 100644 ---- a/arch/avr32/Kconfig -+++ b/arch/avr32/Kconfig -@@ -6,7 +6,6 @@ config SYS_ARCH - - choice - prompt "Target select" -- optional - - config TARGET_ATNGW100 - bool "Support atngw100" -diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig -index 0a2fb4d..31913fe 100644 ---- a/arch/blackfin/Kconfig -+++ b/arch/blackfin/Kconfig -@@ -6,7 +6,6 @@ config SYS_ARCH - - choice - prompt "Target select" -- optional - - config TARGET_BCT_BRETTL2 - bool "Support bct-brettl2" -diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig -index 26509b7..69cb0f7 100644 ---- a/arch/m68k/Kconfig -+++ b/arch/m68k/Kconfig -@@ -114,7 +114,6 @@ config M548x - - choice - prompt "Target select" -- optional - - config TARGET_M52277EVB - bool "Support M52277EVB" -diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig -index 077b2a7..6f419f0 100644 ---- a/arch/microblaze/Kconfig -+++ b/arch/microblaze/Kconfig -@@ -6,7 +6,6 @@ config SYS_ARCH - - choice - prompt "Target select" -- optional - - config TARGET_MICROBLAZE_GENERIC - bool "Support microblaze-generic" -diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig -index 7f7e258..87b94ac 100644 ---- a/arch/mips/Kconfig -+++ b/arch/mips/Kconfig -@@ -10,7 +10,6 @@ config SYS_CPU - - choice - prompt "Target select" -- optional - - config TARGET_QEMU_MIPS - bool "Support qemu-mips" -diff --git a/arch/nds32/Kconfig b/arch/nds32/Kconfig -index 98b0282..81b0a01 100644 ---- a/arch/nds32/Kconfig -+++ b/arch/nds32/Kconfig -@@ -6,7 +6,6 @@ config SYS_ARCH - - choice - prompt "Target select" -- optional - - config TARGET_ADP_AG101 - bool "Support adp-ag101" -diff --git a/arch/nios2/Kconfig b/arch/nios2/Kconfig -index 8ae7f6e..b3be7b5 100644 ---- a/arch/nios2/Kconfig -+++ b/arch/nios2/Kconfig -@@ -6,7 +6,6 @@ config SYS_ARCH - - choice - prompt "Target select" -- optional - - config TARGET_NIOS2_GENERIC - bool "Support nios2-generic" -diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig -index 11014d1..4d62b4c 100644 ---- a/arch/openrisc/Kconfig -+++ b/arch/openrisc/Kconfig -@@ -6,7 +6,6 @@ config SYS_ARCH - - choice - prompt "Target select" -- optional - - config TARGET_OPENRISC_GENERIC - bool "Support openrisc-generic" -diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig -index 3b3f446..8e5a3e2 100644 ---- a/arch/powerpc/Kconfig -+++ b/arch/powerpc/Kconfig -@@ -6,7 +6,6 @@ config SYS_ARCH - - choice - prompt "CPU select" -- optional - - config MPC512X - bool "MPC512X" -diff --git a/arch/powerpc/cpu/mpc512x/Kconfig b/arch/powerpc/cpu/mpc512x/Kconfig -index 53450ae..a0f0ede 100644 ---- a/arch/powerpc/cpu/mpc512x/Kconfig -+++ b/arch/powerpc/cpu/mpc512x/Kconfig -@@ -6,7 +6,6 @@ config SYS_CPU - - choice - prompt "Target select" -- optional - - config TARGET_PDM360NG - bool "Support pdm360ng" -diff --git a/arch/powerpc/cpu/mpc5xx/Kconfig b/arch/powerpc/cpu/mpc5xx/Kconfig -index 5275447..aad4a7c 100644 ---- a/arch/powerpc/cpu/mpc5xx/Kconfig -+++ b/arch/powerpc/cpu/mpc5xx/Kconfig -@@ -6,7 +6,6 @@ config SYS_CPU - - choice - prompt "Target select" -- optional - - config TARGET_CMI_MPC5XX - bool "Support cmi_mpc5xx" -diff --git a/arch/powerpc/cpu/mpc5xxx/Kconfig b/arch/powerpc/cpu/mpc5xxx/Kconfig -index 5d49228..eec9d7d 100644 ---- a/arch/powerpc/cpu/mpc5xxx/Kconfig -+++ b/arch/powerpc/cpu/mpc5xxx/Kconfig -@@ -6,7 +6,6 @@ config SYS_CPU - - choice - prompt "Target select" -- optional - - config TARGET_A3M071 - bool "Support a3m071" -diff --git a/arch/powerpc/cpu/mpc8260/Kconfig b/arch/powerpc/cpu/mpc8260/Kconfig -index e93732d..55941c8 100644 ---- a/arch/powerpc/cpu/mpc8260/Kconfig -+++ b/arch/powerpc/cpu/mpc8260/Kconfig -@@ -6,7 +6,6 @@ config SYS_CPU - - choice - prompt "Target select" -- optional - - config TARGET_KM82XX - bool "Support km82xx" -diff --git a/arch/powerpc/cpu/mpc83xx/Kconfig b/arch/powerpc/cpu/mpc83xx/Kconfig -index 3fb901f..88a3bd6 100644 ---- a/arch/powerpc/cpu/mpc83xx/Kconfig -+++ b/arch/powerpc/cpu/mpc83xx/Kconfig -@@ -6,7 +6,6 @@ config SYS_CPU - - choice - prompt "Target select" -- optional - - config TARGET_MPC8308_P1M - bool "Support mpc8308_p1m" -diff --git a/arch/powerpc/cpu/mpc85xx/Kconfig b/arch/powerpc/cpu/mpc85xx/Kconfig -index 3e8d0b1..aff5fdb 100644 ---- a/arch/powerpc/cpu/mpc85xx/Kconfig -+++ b/arch/powerpc/cpu/mpc85xx/Kconfig -@@ -6,7 +6,6 @@ config SYS_CPU - - choice - prompt "Target select" -- optional - - config TARGET_SBC8548 - bool "Support sbc8548" -diff --git a/arch/powerpc/cpu/mpc86xx/Kconfig b/arch/powerpc/cpu/mpc86xx/Kconfig -index fe1859d..14e8b1a 100644 ---- a/arch/powerpc/cpu/mpc86xx/Kconfig -+++ b/arch/powerpc/cpu/mpc86xx/Kconfig -@@ -6,7 +6,6 @@ config SYS_CPU - - choice - prompt "Target select" -- optional - - config TARGET_SBC8641D - bool "Support sbc8641d" -diff --git a/arch/powerpc/cpu/mpc8xx/Kconfig b/arch/powerpc/cpu/mpc8xx/Kconfig -index 79cee35..e8bcbe9 100644 ---- a/arch/powerpc/cpu/mpc8xx/Kconfig -+++ b/arch/powerpc/cpu/mpc8xx/Kconfig -@@ -6,7 +6,6 @@ config SYS_CPU - - choice - prompt "Target select" -- optional - - config TARGET_TQM823L - bool "Support TQM823L" -diff --git a/arch/powerpc/cpu/ppc4xx/Kconfig b/arch/powerpc/cpu/ppc4xx/Kconfig -index 10b86e0..4d5954a 100644 ---- a/arch/powerpc/cpu/ppc4xx/Kconfig -+++ b/arch/powerpc/cpu/ppc4xx/Kconfig -@@ -6,7 +6,6 @@ config SYS_CPU - - choice - prompt "Target select" -- optional - - config TARGET_CSB272 - bool "Support csb272" -diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig -index 6ac22af..ff8f5b5 100644 ---- a/arch/sh/Kconfig -+++ b/arch/sh/Kconfig -@@ -29,7 +29,6 @@ config SH_32BIT - - choice - prompt "Target select" -- optional - - config TARGET_RSK7203 - bool "RSK+ 7203" -diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig -index 04dc08f..2df09b2 100644 ---- a/arch/sparc/Kconfig -+++ b/arch/sparc/Kconfig -@@ -14,7 +14,6 @@ config LEON3 - - choice - prompt "Board select" -- optional - - config TARGET_GRSIM_LEON2 - bool "GRSIM simulating a LEON2 board" -diff --git a/board/amcc/canyonlands/Kconfig b/board/amcc/canyonlands/Kconfig -index a655dbc..ef66ad4 100644 ---- a/board/amcc/canyonlands/Kconfig -+++ b/board/amcc/canyonlands/Kconfig -@@ -11,7 +11,6 @@ config SYS_CONFIG_NAME - - choice BOARD_TYPE - prompt "Select which board to build for" -- optional - - config CANYONLANDS - bool "Glacier" -diff --git a/board/coreboot/Kconfig b/board/coreboot/Kconfig -index ede6065..dc9b70f 100644 ---- a/board/coreboot/Kconfig -+++ b/board/coreboot/Kconfig -@@ -8,7 +8,6 @@ if VENDOR_COREBOOT - - choice - prompt "Mainboard model" -- optional - - config TARGET_COREBOOT - bool "coreboot" -diff --git a/board/dbau1x00/Kconfig b/board/dbau1x00/Kconfig -index b813adb..1286e45 100644 ---- a/board/dbau1x00/Kconfig -+++ b/board/dbau1x00/Kconfig -@@ -13,7 +13,6 @@ menu "dbau1x00 board options" - - choice - prompt "Select au1x00 SoC type" -- optional - - config DBAU1100 - bool "Select AU1100" -diff --git a/board/google/Kconfig b/board/google/Kconfig -index e9559c9..302f68e 100644 ---- a/board/google/Kconfig -+++ b/board/google/Kconfig -@@ -8,7 +8,6 @@ if VENDOR_GOOGLE - - choice - prompt "Mainboard model" -- optional - - config TARGET_CHROMEBOOK_LINK - bool "Chromebook link" -diff --git a/board/intel/Kconfig b/board/intel/Kconfig -index 3d9ecf0..7fe21b9 100644 ---- a/board/intel/Kconfig -+++ b/board/intel/Kconfig -@@ -8,7 +8,6 @@ if VENDOR_INTEL - - choice - prompt "Mainboard model" -- optional - - config TARGET_CROWNBAY - bool "Crown Bay" -diff --git a/board/micronas/vct/Kconfig b/board/micronas/vct/Kconfig -index c518079..288a1ae 100644 ---- a/board/micronas/vct/Kconfig -+++ b/board/micronas/vct/Kconfig -@@ -13,7 +13,6 @@ menu "vct board options" - - choice - prompt "Board variant" -- optional - - config VCT_PLATINUM - bool "Enable VCT_PLATINUM" -diff --git a/board/seco/Kconfig b/board/seco/Kconfig -index af16697..dcb1ac8 100644 ---- a/board/seco/Kconfig -+++ b/board/seco/Kconfig -@@ -2,7 +2,6 @@ if TARGET_SECOMX6 - - choice - prompt "SECO i.MX6 Board variant" -- optional - - config SECOMX6_Q7 - bool "Q7" -@@ -17,7 +16,6 @@ endchoice - - choice - prompt "SECO i.MX6 SoC variant" -- optional - - config SECOMX6Q - bool "i.MX6Q" -diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig -index 2a1cd3c..808de26 100644 ---- a/board/sunxi/Kconfig -+++ b/board/sunxi/Kconfig -@@ -18,7 +18,6 @@ config SUNXI_GEN_SUN6I - - choice - prompt "Sunxi SoC Variant" -- optional - - config MACH_SUN4I - bool "sun4i (Allwinner A10)" --- -2.4.3 - diff --git a/boot/uboot/2016.07/0001-arc-Use-mcpu-XXX-instead-of-obsolete-marcXXX.patch b/boot/uboot/2016.07/0001-arc-Use-mcpu-XXX-instead-of-obsolete-marcXXX.patch deleted file mode 100644 index eded9a31285..00000000000 --- a/boot/uboot/2016.07/0001-arc-Use-mcpu-XXX-instead-of-obsolete-marcXXX.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 7c8d81605302e7d7fdd3e7d8eb69302bddc64a2c Mon Sep 17 00:00:00 2001 -From: Alexey Brodkin -Date: Fri, 16 Sep 2016 12:12:26 +0300 -Subject: [PATCH] arc: Use -mcpu=XXX instead of obsolete -marcXXX - -With newer ARC tools old way of CPU specification gets obsolete, -so we're switching to newer and more common way of setting "-mcpu". - -Signed-off-by: Alexey Brodkin ---- - arch/arc/config.mk | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/arch/arc/config.mk b/arch/arc/config.mk -index 7c974f0..13676bd 100644 ---- a/arch/arc/config.mk -+++ b/arch/arc/config.mk -@@ -31,15 +31,15 @@ CONFIG_MMU = 1 - endif - - ifdef CONFIG_CPU_ARC750D --PLATFORM_CPPFLAGS += -marc700 -+PLATFORM_CPPFLAGS += -mcpu=arc700 - endif - - ifdef CONFIG_CPU_ARC770D --PLATFORM_CPPFLAGS += -marc700 -mlock -mswape -+PLATFORM_CPPFLAGS += -mcpu=arc700 -mlock -mswape - endif - - ifdef CONFIG_CPU_ARCEM6 --PLATFORM_CPPFLAGS += -marcem -+PLATFORM_CPPFLAGS += -mcpu=arcem - endif - - ifdef CONFIG_CPU_ARCHS34 --- -2.7.4 - diff --git a/boot/uboot/2016.09.01/0001-arc-Use-mcpu-XXX-instead-of-obsolete-marcXXX.patch b/boot/uboot/2016.09.01/0001-arc-Use-mcpu-XXX-instead-of-obsolete-marcXXX.patch deleted file mode 100644 index eded9a31285..00000000000 --- a/boot/uboot/2016.09.01/0001-arc-Use-mcpu-XXX-instead-of-obsolete-marcXXX.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 7c8d81605302e7d7fdd3e7d8eb69302bddc64a2c Mon Sep 17 00:00:00 2001 -From: Alexey Brodkin -Date: Fri, 16 Sep 2016 12:12:26 +0300 -Subject: [PATCH] arc: Use -mcpu=XXX instead of obsolete -marcXXX - -With newer ARC tools old way of CPU specification gets obsolete, -so we're switching to newer and more common way of setting "-mcpu". - -Signed-off-by: Alexey Brodkin ---- - arch/arc/config.mk | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/arch/arc/config.mk b/arch/arc/config.mk -index 7c974f0..13676bd 100644 ---- a/arch/arc/config.mk -+++ b/arch/arc/config.mk -@@ -31,15 +31,15 @@ CONFIG_MMU = 1 - endif - - ifdef CONFIG_CPU_ARC750D --PLATFORM_CPPFLAGS += -marc700 -+PLATFORM_CPPFLAGS += -mcpu=arc700 - endif - - ifdef CONFIG_CPU_ARC770D --PLATFORM_CPPFLAGS += -marc700 -mlock -mswape -+PLATFORM_CPPFLAGS += -mcpu=arc700 -mlock -mswape - endif - - ifdef CONFIG_CPU_ARCEM6 --PLATFORM_CPPFLAGS += -marcem -+PLATFORM_CPPFLAGS += -mcpu=arcem - endif - - ifdef CONFIG_CPU_ARCHS34 --- -2.7.4 - diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in index 8215912339b..2d2c3f9d415 100644 --- a/boot/uboot/Config.in +++ b/boot/uboot/Config.in @@ -1,24 +1,27 @@ -config BR2_TARGET_UBOOT +menuconfig BR2_TARGET_UBOOT bool "U-Boot" help Build "Das U-Boot" Boot Monitor + https://docs.u-boot.org/en/latest/ + if BR2_TARGET_UBOOT choice prompt "Build system" + default BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG if BR2_TARGET_UBOOT_LATEST_VERSION default BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY -config BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY - bool "Legacy" - help - Select this option if you use an old U-Boot (older than 2015.04), - so that we use the old build system. - config BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG bool "Kconfig" help - Select this option if you use a recent U-Boot version (2015.04 or - newer), so that we use the Kconfig build system. + Select this option if you use a recent U-Boot version (2015.04 + or newer), so that we use the Kconfig build system. + +config BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY + bool "Legacy" + help + Select this option if you use an old U-Boot (older than + 2015.04), so that we use the old build system. endchoice @@ -27,9 +30,9 @@ config BR2_TARGET_UBOOT_BOARDNAME string "U-Boot board name" help One of U-Boot supported boards to be built. - This will be suffixed with _config to meet U-Boot standard naming. - See boards.cfg in U-Boot source code for the list of available - configurations. + This will be suffixed with _config to meet U-Boot standard + naming. See boards.cfg in U-Boot source code for the list of + available configurations. endif choice @@ -38,7 +41,7 @@ choice Select the specific U-Boot version you want to use config BR2_TARGET_UBOOT_LATEST_VERSION - bool "2017.09" + bool "2026.04" config BR2_TARGET_UBOOT_CUSTOM_VERSION bool "Custom version" @@ -71,28 +74,32 @@ if BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG || BR2_TARGET_UBOOT config BR2_TARGET_UBOOT_CUSTOM_REPO_URL string "URL of custom repository" - default BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL \ - if BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL != "" # legacy config BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION string "Custom repository version" - default BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION \ - if BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION != "" # legacy help - Revision to use in the typical format used by Git/Mercurial/Subversion - E.G. a sha id, a tag, branch, .. + Revision to use in the typical format used by + Git/Mercurial/Subversion E.G. a sha id, a tag, branch, .. endif config BR2_TARGET_UBOOT_VERSION string - default "2017.09" if BR2_TARGET_UBOOT_LATEST_VERSION + default "2026.04" if BR2_TARGET_UBOOT_LATEST_VERSION default BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE \ if BR2_TARGET_UBOOT_CUSTOM_VERSION default "custom" if BR2_TARGET_UBOOT_CUSTOM_TARBALL default BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION \ if BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG || BR2_TARGET_UBOOT_CUSTOM_SVN +config BR2_TARGET_UBOOT_LICENSE_FILES + string "U-boot license files" if BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG || \ + BR2_TARGET_UBOOT_CUSTOM_SVN || BR2_TARGET_UBOOT_CUSTOM_TARBALL + default "Licenses/gpl-2.0.txt" + help + A space-separated list of license files related to U-Boot + package. + config BR2_TARGET_UBOOT_PATCH string "Custom U-Boot patches" default BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR if BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR != "" # legacy @@ -137,6 +144,42 @@ config BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES that will be merged to the main U-Boot configuration file. endif +# Hidden boolean that allows to select BR2_TARGET_UBOOT_NEEDS_XXD when +# needed. +config BR2_TARGET_UBOOT_DEFAULT_ENV_FILE_ENABLED + bool + default y if BR2_TARGET_UBOOT_DEFAULT_ENV_FILE != "" + select BR2_TARGET_UBOOT_NEEDS_XXD + +config BR2_TARGET_UBOOT_DEFAULT_ENV_FILE + string "Text file with default environment" + depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG + help + Text file containing the variables to be used as the default + environment in U-Boot. + + If empty, let U-Boot generate the default environment from the + source code and other U-Boot configuration values, which is + the default behaviour. + + If set to the path to a file, instructs U-Boot to define the + entire U-Boot default environment from the provided file, + disabling all the default behaviour. + + From the U-Boot documentation: + + The format is the same as accepted by the mkenvimage tool, + with lines containing key=value pairs. Blank lines and + lines beginning with '#' are ignored. + + Based on the USE_DEFAULT_ENV_FILE and DEFAULT_ENV_FILE U-Boot + configuration variables. + + For more info see: + https://docs.u-boot.org/en/latest/usage/environment.html#external-environment-file + + Requires U-Boot >= v2018.05. + config BR2_TARGET_UBOOT_NEEDS_DTC bool "U-Boot needs dtc" select BR2_PACKAGE_HOST_DTC @@ -144,12 +187,29 @@ config BR2_TARGET_UBOOT_NEEDS_DTC Select this option if your U-Boot board configuration requires the Device Tree compiler to be available. +config BR2_TARGET_UBOOT_NEEDS_PYTHON3 + bool "U-Boot needs host python 3.x" + help + Select this option if U-Boot needs a host Python 3.x + interpreter. This is the case for some U-Boot + configurations, after U-Boot 2020.01. + config BR2_TARGET_UBOOT_NEEDS_PYLIBFDT bool "U-Boot needs pylibfdt" + select BR2_TARGET_UBOOT_NEEDS_PYTHON3 help Select this option if your U-Boot board configuration requires the Python libfdt library to be available. +config BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS + bool "U-Boot needs pyelftools" + select BR2_TARGET_UBOOT_NEEDS_PYTHON3 + help + Select this option if your U-Boot board configuration + requires the Python pyelftools library to be available. + This is used by some rockchip SOCs for elf parsing. + For example: rk3399 soc boards. + config BR2_TARGET_UBOOT_NEEDS_OPENSSL bool "U-Boot needs OpenSSL" help @@ -158,6 +218,158 @@ config BR2_TARGET_UBOOT_NEEDS_OPENSSL typically the case when the board configuration has CONFIG_FIT_SIGNATURE enabled. +config BR2_TARGET_UBOOT_NEEDS_LZOP + bool "U-Boot needs lzop" + help + Select this option if your U-Boot board configuration + requires lzop to be available on the host. This is typically + the case when the board configuration has CONFIG_SPL_LZO + enabled. + +config BR2_TARGET_UBOOT_NEEDS_GNUTLS + bool "U-Boot needs gnutls" + help + Select this option if your U-Boot board configuration + requires gnutls to be available on the host. This is + typically the case when the board configuration has + CONFIG_TOOLS_MKEFICAPSULE enabled. + +config BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX + bool "U-Boot needs util-linux" + help + Select this option if your U-Boot board configuration + requires util-linux (-luuid) to be available on the host. + This is typically the case when the board configuration + has CONFIG_TOOLS_MKEFICAPSULE enabled. + +config BR2_TARGET_UBOOT_NEEDS_XXD + bool "U-Boot needs xxd" + help + Select this option if your U-Boot board configuration + requires xxd to be available on the host. This is + typically the case when the board configuration has + CONFIG_USE_DEFAULT_ENV_FILE enabled. + +config BR2_TARGET_UBOOT_NEEDS_ATF_BL31 + bool "U-Boot needs ATF BL31" + depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE + depends on !BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33 + select BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 + help + Some specific platforms (such as Allwinner A64/H5) + encapsulate the BL31 part of ATF inside U-Boot. This option + makes sure ATF gets built prior to U-Boot, and that the BL31 + variable pointing to ATF's BL31 binary, is passed during the + Buildroot build. + +choice + prompt "U-Boot ATF BL31 format" + default BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN + depends on BR2_TARGET_UBOOT_NEEDS_ATF_BL31 + +config BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN + bool "bl31.bin" + +config BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF + bool "bl31.elf" + +endchoice + +config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE + bool "U-Boot needs OPTEE TEE" + depends on BR2_TARGET_OPTEE_OS_CORE + help + Some platforms (such as Rockchip) encapsulate the TEE inside + U-Boot. This option makes sure optee-os gets built prior to + U-Boot, and that the TEE variable pointing to OPTEE's + core file, is passed during the Buildroot build. + +choice + prompt "U-Boot OPTEE TEE format" + default BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_ELF + depends on BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE + help + Select the TEE format. + You may select the TEE in ELF format only for OP-TEE + versions before 3.8.0. + Since this version, the TEE in binary format must be used as + it contains important meta-data. + + https://optee.readthedocs.io/en/4.9.0/architecture/porting_guidelines.html#binaries + +config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_ELF + bool "tee.elf" + help + The main OP-TEE ELF file. All other OP-TEE binaries are + created with this as input. + + ELF format may be used only for OP-TEE versions before + 3.8.0. + +config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_BIN + bool "tee.bin" + help + The original OP-TEE binary with a header (v1) and combined + init, paged, and unpaged parts. + + Binary format must be used for OP-TEE versions since 3.8.0. + +config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_RAW_BIN + bool "tee-raw.bin" + help + Raw binary suitable to copy into physical memory where OP-TEE + be can executed from. + + OP-TEE since 3.21 suggests to use tee-raw.bin instead of (the + still identical) tee-pager_v2.bin. + + Texas Instrument’s K3 family of SoCs embed tee-raw.bin in + U-Boot (using Binman tool) to support their boot flow. + +endchoice + +config BR2_TARGET_UBOOT_NEEDS_OPENSBI + bool "U-Boot needs OpenSBI" + depends on BR2_TARGET_OPENSBI + help + Some RISC-V platforms (such as SiFive HiFive Unleashed) + encapsulate the OpenSBI firmware image inside U-Boot. + This option makes sure OpenSBI gets built prior to U-Boot, + and that the OpenSBI variable pointing to OpenSBI binary, + is passed during the Buildroot build. + +config BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE + bool "U-Boot needs firmware-imx" + depends on BR2_PACKAGE_FIRMWARE_IMX + depends on BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW || \ + BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW_IMX9 || \ + BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW + help + Some i.MX8 platforms (such as i.MX8 M, i.MX 8M Mini, i.MX 8M + Nano) encapsulate NXP specific firmware (DDR, HDMI) inside + U-Boot. + This option makes sure that the i.MX firmwares are copied into + the U-Boot source directory. + +config BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN + bool "U-Boot needs rockchip-rkbin" + depends on BR2_PACKAGE_ROCKCHIP_RKBIN + help + For some Rockchip SoCs U-Boot needs binary blobs from + Rockchip. + This option makes sure that the needed binary blobs are copied + into the U-Boot source directory. + +config BR2_TARGET_UBOOT_USE_BINMAN + bool "U-Boot use binman" + select BR2_TARGET_UBOOT_NEEDS_PYTHON3 + select BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS + select BR2_TARGET_UBOOT_NEEDS_PYLIBFDT + help + Use binman tool for generation and signing of boot images. + + https://docs.u-boot.org/en/v2026.04/develop/package/binman.html + menu "U-Boot binary format" config BR2_TARGET_UBOOT_FORMAT_AIS @@ -171,71 +383,72 @@ config BR2_TARGET_UBOOT_FORMAT_BIN bool "u-boot.bin" default y +config BR2_TARGET_UBOOT_FORMAT_DTB + bool "u-boot.dtb" + config BR2_TARGET_UBOOT_FORMAT_DTB_BIN bool "u-boot-dtb.bin" -config BR2_TARGET_UBOOT_FORMAT_DTB_IMG - bool "u-boot-dtb.img" +config BR2_TARGET_UBOOT_FORMAT_NAND_BIN + bool "u-boot-nand.bin" + +config BR2_TARGET_UBOOT_FORMAT_ELF + bool "u-boot" + help + Install the u-boot image, which is directly the ELF binary + for the main U-Boot, potentially with debugging symbols. + +config BR2_TARGET_UBOOT_FORMAT_REMAKE_ELF + bool "u-boot.elf" + help + Install the u-boot.elf image, which is produced when + CONFIG_REMAKE_ELF=y. It is an ELF image (u-boot.elf) + produced from the raw U-Boot binary (u-boot.bin), which may + already have been statically relocated and may already have + a device-tree appended to it. config BR2_TARGET_UBOOT_FORMAT_IMG bool "u-boot.img" +config BR2_TARGET_UBOOT_FORMAT_DTB_IMG + bool "u-boot-dtb.img" + config BR2_TARGET_UBOOT_FORMAT_IMX bool "u-boot.imx" -config BR2_TARGET_UBOOT_FORMAT_NAND_BIN - bool "u-boot-nand.bin" +config BR2_TARGET_UBOOT_FORMAT_DTB_IMX + bool "u-boot-dtb.imx" + +config BR2_TARGET_UBOOT_FORMAT_ITB + bool "u-boot.itb" config BR2_TARGET_UBOOT_FORMAT_KWB - depends on BR2_arm bool "u-boot.kwb (Marvell)" - -config BR2_TARGET_UBOOT_FORMAT_LDR - depends on BR2_bfin - bool "u-boot.ldr" - -config BR2_TARGET_UBOOT_FORMAT_ELF - bool "u-boot.elf" - -config BR2_TARGET_UBOOT_FORMAT_SB - depends on BR2_arm - bool "u-boot.sb (Freescale i.MX28)" - -config BR2_TARGET_UBOOT_FORMAT_SD depends on BR2_arm - bool "u-boot.sd (Freescale i.MX28)" - help - This is Freescale i.MX28 SB format, with a header for booting - from an SD card. - - U-boot includes an mxsboot tool to generate this format, - starting from 2011.12. - - See doc/README.mxs (or doc/README.mx28_common before 2013.07) config BR2_TARGET_UBOOT_FORMAT_NAND - depends on BR2_arm bool "u-boot.nand (Freescale i.MX28)" + depends on BR2_arm help - This is Freescale i.MX28 BootStream format (.sb), with a header - for booting from a NAND flash. + This is Freescale i.MX28 BootStream format (.sb), with a + header for booting from a NAND flash. - U-boot includes an mxsboot tool to generate this format, + U-Boot includes an mxsboot tool to generate this format, starting from 2011.12. - There are two possibilities when preparing an image writable to - NAND flash: - 1) The NAND was not written at all yet or the BCB (Boot Control - Blocks) is broken. In this case, the NAND image 'u-boot.nand' - needs to written. + There are two possibilities when preparing an image writable + to NAND flash: + 1) The NAND was not written at all yet or the BCB (Boot + Control Blocks) is broken. In this case, the NAND image + 'u-boot.nand' needs to written. 2) The NAND flash was already written with a good BCB. This applies after 'u-boot.nand' was correctly written. There is no - need to write the BCB again. In this case, the bootloader can be - upgraded by writing 'u-boot.sb'. + need to write the BCB again. In this case, the bootloader can + be upgraded by writing 'u-boot.sb'. To satisfy both cases, the 'u-boot.nand' image obtained from - mxsboot as well as the U-Boot make target 'u-boot.sb' are copied - to the binaries directory. + mxsboot as well as the U-Boot make target 'u-boot.sb' are + copied to the binaries directory. See doc/README.mxs (or doc/README.mx28_common before 2013.07) @@ -270,6 +483,52 @@ config BR2_TARGET_UBOOT_FORMAT_NAND_ERASE_SIZE endif +config BR2_TARGET_UBOOT_FORMAT_SB + bool "u-boot.sb (Freescale i.MX28)" + depends on BR2_arm + +config BR2_TARGET_UBOOT_FORMAT_SD + bool "u-boot.sd (Freescale i.MX28)" + depends on BR2_arm + help + This is Freescale i.MX28 SB format, with a header for booting + from an SD card. + + U-Boot includes an mxsboot tool to generate this format, + starting from 2011.12. + + See doc/README.mxs (or doc/README.mx28_common before 2013.07) + +config BR2_TARGET_UBOOT_FORMAT_QSPI_BIN + bool "qspi.bin" + depends on BR2_TARGET_UBOOT_ZYNQMP + help + When booting from qspi flash, u-boot can generate a single + file for flashing by combining the spl/boot.bin and + u-boot.itb files into a unified binary. + +config BR2_TARGET_UBOOT_FORMAT_ADSP_LDR + bool "u-boot.ldr" + depends on BR2_arm || BR2_aarch64 + help + Boot stream format for Analog Devices, Inc. ADSP-SCxxx + processors including 32-bit SC589, SC592, and SC594, as + well as 64-bit SC596 and SC598 + +config BR2_TARGET_UBOOT_FORMAT_STM32 + bool "u-boot.stm32" + depends on BR2_arm + +if BR2_TARGET_UBOOT_FORMAT_STM32 +config BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY + bool "Legacy build (u-boot.stm32 target)" + help + Select this option if you use U-Boot with version older than + 2022.01), so that we use the old build target. Otherwise, + binman application is called to create the stm32 binary + format. +endif + config BR2_TARGET_UBOOT_FORMAT_CUSTOM bool "Custom (specify below)" help @@ -283,7 +542,8 @@ config BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME depends on BR2_TARGET_UBOOT_FORMAT_CUSTOM help In case the U-Boot binary for the target platform is not among - the default names, one or more custom names can be listed here. + the default names, one or more custom names can be listed + here. Use space to separate multiple names. Example: u-boot_magic.bin @@ -291,10 +551,10 @@ config BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME endmenu config BR2_TARGET_UBOOT_OMAP_IFT + bool "produce a .ift signed image (OMAP)" depends on BR2_TARGET_UBOOT_FORMAT_BIN depends on BR2_arm || BR2_armeb select BR2_PACKAGE_HOST_OMAP_U_BOOT_UTILS - bool "produce a .ift signed image (OMAP)" help Use gpsign to produce an image of u-boot.bin signed with a Configuration Header for booting on OMAP processors. @@ -324,7 +584,6 @@ endif config BR2_TARGET_UBOOT_SPL bool "Install U-Boot SPL binary image" - depends on !BR2_TARGET_XLOADER help Install the U-Boot SPL binary image to the images directory. @@ -334,106 +593,209 @@ config BR2_TARGET_UBOOT_SPL into DDR. config BR2_TARGET_UBOOT_SPL_NAME - string "U-Boot SPL binary image name" + string "U-Boot SPL/TPL binary image name(s)" default "spl/u-boot-spl.bin" depends on BR2_TARGET_UBOOT_SPL help - A space-separated list of SPL binaries, generated during - u-boot build. For most platform it is spl/u-boot-spl.bin but - not always. It is MLO on OMAP and SPL on i.MX6 for example. + A space-separated list of SPL/TPL binaries, generated during + u-boot build. For most platform SPL name is spl/u-boot-spl.bin + and TPL name is tpl/u-boot-tpl.bin but not always. SPL name is + MLO on OMAP and SPL on i.MX6 for example. -config BR2_TARGET_UBOOT_ZYNQ_IMAGE - bool "Generate image for Xilinx Zynq" - depends on BR2_arm - depends on BR2_TARGET_UBOOT_SPL - depends on BR2_TARGET_UBOOT_FORMAT_DTB_IMG +config BR2_TARGET_UBOOT_INITIAL_ENV + bool "Install u-boot-initial-env" help - Generate the BOOT.BIN file from U-Boot's SPL. The image - boots the Xilinx Zynq chip without any FPGA bitstream. - A bitstream can be loaded by the U-Boot. The SPL searchs - for u-boot-dtb.img file so this U-Boot format is required - to be set. + Install the U-Boot u-boot-initial-env on the target. -config BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC - bool "CRC image for Altera SoC FPGA (mkpimage)" - depends on BR2_arm - depends on BR2_TARGET_UBOOT_SPL || BR2_TARGET_UBOOT_FORMAT_DTB_BIN + This file is typically required by libubootenv. + +config BR2_TARGET_UBOOT_ZYNQMP + bool "Boot on the Xilinx ZynqMP SoCs" + depends on BR2_TARGET_XILINX_FIRMWARE_ARCH_SUPPORTS + depends on BR2_cortex_a53 help - Pass the U-Boot image through the mkpimage tool to enable - booting on the Altera SoC FPGA based platforms. + Enable options specific to the Xilinx ZynqMP family of SoCs. - On some platforms, it's the SPL that needs to be passed - through mkpimage. On some other platforms there is no SPL - because the internal SRAM is big enough to store the full - U-Boot. In this case, it's directly the full U-Boot image - that is passed through mkpimage. +if BR2_TARGET_UBOOT_ZYNQMP - If BR2_TARGET_UBOOT_SPL is enabled then - BR2_TARGET_UBOOT_SPL_NAME is converted by mkpimage using - header version 0. +choice + prompt "PMUFW origin" + default BR2_TARGET_UBOOT_ZYNQMP_PMUFW_CUSTOM + depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG + help + Choose between the following options: + 1) Build from source via xilinx-embeddedsw + 2) Official prebuilt via xilinx-prebuilt + 3) Prebuilt from custom location - Otherwise the full u-boot-dtb.bin is converted using - mkpimage header version 1. + U-Boot build process will generate a boot.bin (to be loaded + by the ZynqMP boot ROM) containing both the U-Boot SPL and + the PMU firmware in the Xilinx-specific boot format. - In either case the resulting file will be given a .crc - extension. +config BR2_TARGET_UBOOT_ZYNQMP_PMUFW_EMBEDDEDSW + bool "Build from source via xilinx-embeddedsw" + depends on BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW + help + Use xilinx-embeddedsw boot package for building + zynqmp pmufw.elf from + https://github.com/Xilinx/embeddedsw repo. -menuconfig BR2_TARGET_UBOOT_ENVIMAGE - bool "Environment image" +comment "To build from source, xilinx-embeddedsw needs to be enabled with zynqmp_pmufw option." + depends on !BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW + +config BR2_TARGET_UBOOT_ZYNQMP_PMUFW_PREBUILT + bool "Prebuilt via xilinx-prebuilt" + depends on BR2_TARGET_XILINX_PREBUILT_ZYNQMP || BR2_TARGET_XILINX_PREBUILT_KRIA help - Generate a valid binary environment image from a text file - describing the key=value pairs of the environment. + Use xilinx-prebuilt boot package for downloading prebuilt + zynqmp pmufw.elf from + https://github.com/Xilinx/soc-prebuilt-firmware repo. + +comment "To use official prebuilt, xilinx-prebuilt needs to be enabled with zynqmp or kria option." + depends on !BR2_TARGET_XILINX_PREBUILT_KRIA + depends on !BR2_TARGET_XILINX_PREBUILT_ZYNQMP - The environment image will be called uboot-env.bin. +config BR2_TARGET_UBOOT_ZYNQMP_PMUFW_CUSTOM + bool "Prebuilt from custom location" + help + Location of a PMU firmware binary defined by: + BR2_TARGET_UBOOT_ZYNQMP_PMUFW -if BR2_TARGET_UBOOT_ENVIMAGE +endchoice # PMUFW origin -config BR2_TARGET_UBOOT_ENVIMAGE_SOURCE - string "Source files for environment" +config BR2_TARGET_UBOOT_ZYNQMP_PMUFW + string "Custom PMU firmware location" + depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG + depends on BR2_TARGET_UBOOT_ZYNQMP_PMUFW_CUSTOM help - Text files describing the environment. Files should have - lines of the form var=value, one per line. Blank lines and - lines starting with a # are ignored. + Location of a PMU firmware binary. + + If not empty, instructs the U-Boot build process to generate + a boot.bin (to be loaded by the ZynqMP boot ROM) containing + both the U-Boot SPL and the PMU firmware in the + Xilinx-specific boot format. + + The value can be an absolute or relative path, and will be + used directly from where it is located, or an URI + (e.g. http://...), and it will be downloaded and used from + the download directory. + + The PMU firmware binary can be either in ELF or BIN format. - Multiple source files are concatenated in the order listed. + If empty, the generated boot.bin will not contain a PMU + firmware. -config BR2_TARGET_UBOOT_ENVIMAGE_SIZE - string "Size of environment" + This feature requires U-Boot >= 2018.07. + +config BR2_TARGET_UBOOT_ZYNQMP_PM_CFG + string "PMU configuration location" + depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG help - Size of envronment, can be prefixed with 0x for hexadecimal - values. + Location of a PMU configuration file. + + If not empty, Buildroot will convert the PMU configuration + file into a loadable blob and pass it to U-Boot. The blob gets + embedded into the U-Boot SPL and is used to configure the PMU + during board initialization. + + Unlike the PMU firmware, the PMU configuration file is unique + to each board configuration. A PMU configuration file can be + generated by building your Xilinx SDK BSP. It can be found in + the BSP source, for example at + ./psu_cortexa53_0/libsrc/xilpm_v2_4/src/pm_cfg_obj.c + + Leave this option empty if your PMU firmware has a hard-coded + configuration object or you are loading it by any other means. -config BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT - bool "Environment has two copies" + This feature requires U-Boot >= v2019.10. + +config BR2_TARGET_UBOOT_ZYNQMP_PSU_INIT_FILE + string "Custom psu_init_gpl file" + depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG help - Some platforms define in their U-Boot configuration that the - U-Boot environment should be duplicated in two locations (for - extra safety). Check your U-Boot configuration for the - CONFIG_ENV_ADDR_REDUND and CONFIG_ENV_SIZE_REDUND settings to - see if this is the case for your platform. + On ZynqMP the bootloader is responsible for some basic + initializations, such as enabling peripherals and + configuring pinmuxes. The psu_init_gpl.c file (and, + optionally, psu_init_gpl.h) contains the code for such + initializations. + + Although U-Boot contains psu_init_gpl.c files for some + boards, each of them describes only one specific + configuration. Users of a different board, or needing a + different configuration, can generate custom files using the + Xilinx development tools. + + Set this variable to the path to your psu_init_gpl.c file + (e.g. "board/myboard/psu_init_gpl.c"). psu_init_gpl.h, if + needed, should be in the same directory. U-Boot will build + and link the user-provided file instead of the built-in one. - If it is the case, then you should enable this option to - ensure that the U-Boot environment image generated by - Buildroot is compatible with the "redundant environment" - mechanism of U-Boot. + Leave empty to use the files provided by U-Boot. -endif # BR2_TARGET_UBOOT_ENVIMAGE + This feature requires commit + 6da4f67ad09cd8b311d77b2b04e557b7ef65b56c from upstream + U-Boot, available from versions after 2018.07. -config BR2_TARGET_UBOOT_BOOT_SCRIPT - bool "Generate a U-Boot boot script" +endif + +config BR2_TARGET_UBOOT_ZYNQ + bool "Boot on the Xilinx Zynq SoCs" + depends on BR2_arm + depends on BR2_cortex_a9 help - Generate a U-Boot boot script, given a file listing U-Boot - commands to be executed at boot time. The generated boot - script will be called 'boot.scr'. + Enable options specific to the Xilinx Zynq family of SoCs. + +config BR2_TARGET_UBOOT_ZYNQ_PS7_INIT_FILE + string "Custom ps7_init_gpl file" + depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG + depends on BR2_TARGET_UBOOT_ZYNQ + help + On Zynq the bootloader is responsible for some basic + initializations, such as enabling peripherals and + configuring pinmuxes. The ps7_init_gpl.c file (and, + optionally, ps7_init_gpl.h) contains the code for such + initializations. + + Although U-Boot contains ps7_init_gpl.c files for some + boards, each of them describes only one specific + configuration. Users of a different board, or needing a + different configuration, can generate custom files using + the Xilinx Vivado development tools. -if BR2_TARGET_UBOOT_BOOT_SCRIPT + Set this variable to the path to your ps7_init_gpl.c file + (e.g. "board/myboard/ps7_init_gpl.c"). ps7_init_gpl.h, if + needed, should be in the same directory. U-Boot will build + and link the user-provided file instead of the built-in. -config BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE - string "U-Boot boot script source" + Leave empty to use the files provided by U-Boot. + + This feature requires commit + 6da4f67ad09cd8b311d77b2b04e557b7ef65b56c from upstream + U-Boot, available from versions after 2018.07. + +config BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC + bool "CRC image for Altera SoC FPGA (mkpimage)" + depends on BR2_arm + depends on BR2_TARGET_UBOOT_SPL || BR2_TARGET_UBOOT_FORMAT_DTB_BIN help - Source file to generate the U-Boot boot script. + Pass the U-Boot image through the mkpimage tool to enable + booting on the Altera SoC FPGA based platforms. -endif + On some platforms, it's the SPL that needs to be passed + through mkpimage. On some other platforms there is no SPL + because the internal SRAM is big enough to store the full + U-Boot. In this case, it's directly the full U-Boot image + that is passed through mkpimage. + + If BR2_TARGET_UBOOT_SPL is enabled then + BR2_TARGET_UBOOT_SPL_NAME is converted by mkpimage using + header version 0. + + Otherwise the full u-boot-dtb.bin is converted using + mkpimage header version 1. + + In either case the resulting file will be given a .crc + extension. if BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG @@ -449,4 +811,10 @@ config BR2_TARGET_UBOOT_CUSTOM_DTS_PATH endif +config BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS + string "Custom make options" + help + List of custom make options passed at build time. Can be + used for example to pass a DEVICE_TREE= value. + endif # BR2_TARGET_UBOOT diff --git a/boot/uboot/uboot.hash b/boot/uboot/uboot.hash index 82efc79d566..69164982560 100644 --- a/boot/uboot/uboot.hash +++ b/boot/uboot/uboot.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 b2d15f2cf5f72e706025cde73d67247c6da8cd35f7e10891eefe7d9095089744 u-boot-2017.09.tar.bz2 +sha256 ac7c04b8b7004923b00a4e5d6699c5df4d21233bac9fda690d8cfbc209fff2fd u-boot-2026.04.tar.bz2 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Licenses/gpl-2.0.txt diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk index fdacf168561..5b3f46ac74a 100644 --- a/boot/uboot/uboot.mk +++ b/boot/uboot/uboot.mk @@ -8,11 +8,17 @@ UBOOT_VERSION = $(call qstrip,$(BR2_TARGET_UBOOT_VERSION)) UBOOT_BOARD_NAME = $(call qstrip,$(BR2_TARGET_UBOOT_BOARDNAME)) UBOOT_LICENSE = GPL-2.0+ -UBOOT_LICENSE_FILES = Licenses/gpl-2.0.txt +UBOOT_LICENSE_FILES = $(call qstrip,$(BR2_TARGET_UBOOT_LICENSE_FILES)) +UBOOT_CPE_ID_VENDOR = denx +UBOOT_CPE_ID_PRODUCT = u-boot UBOOT_INSTALL_IMAGES = YES -ifeq ($(UBOOT_VERSION),custom) +# u-boot 2020.01+ needs make 4.0+ +UBOOT_DEPENDENCIES = host-pkgconf $(BR2_MAKE_HOST_DEPENDENCY) +UBOOT_MAKE = $(BR2_MAKE) + +ifeq ($(BR2_TARGET_UBOOT_CUSTOM_TARBALL),y) # Handle custom U-Boot tarballs as specified by the configuration UBOOT_TARBALL = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION)) UBOOT_SITE = $(patsubst %/,%,$(dir $(UBOOT_TARBALL))) @@ -28,7 +34,7 @@ UBOOT_SITE = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_REPO_URL)) UBOOT_SITE_METHOD = svn else # Handle stable official U-Boot versions -UBOOT_SITE = ftp://ftp.denx.de/pub/u-boot +UBOOT_SITE = https://ftp.denx.de/pub/u-boot UBOOT_SOURCE = u-boot-$(UBOOT_VERSION).tar.bz2 endif @@ -40,14 +46,22 @@ ifeq ($(BR2_TARGET_UBOOT_FORMAT_BIN),y) UBOOT_BINS += u-boot.bin endif +ifeq ($(BR2_TARGET_UBOOT_FORMAT_DTB),y) +UBOOT_BINS += u-boot.dtb +endif + ifeq ($(BR2_TARGET_UBOOT_FORMAT_ELF),y) UBOOT_BINS += u-boot -# To make elf usable for debuging on ARC use special target +# To make elf usable for debugging on ARC use special target ifeq ($(BR2_arc),y) UBOOT_MAKE_TARGET += mdbtrick endif endif +ifeq ($(BR2_TARGET_UBOOT_FORMAT_REMAKE_ELF),y) +UBOOT_BINS += u-boot.elf +endif + # Call 'make all' unconditionally UBOOT_MAKE_TARGET += all @@ -61,10 +75,6 @@ UBOOT_BINS += u-boot.ais UBOOT_MAKE_TARGET += u-boot.ais endif -ifeq ($(BR2_TARGET_UBOOT_FORMAT_LDR),y) -UBOOT_BINS += u-boot.ldr -endif - ifeq ($(BR2_TARGET_UBOOT_FORMAT_NAND_BIN),y) UBOOT_BINS += u-boot-nand.bin endif @@ -74,6 +84,11 @@ UBOOT_BINS += u-boot-dtb.img UBOOT_MAKE_TARGET += u-boot-dtb.img endif +ifeq ($(BR2_TARGET_UBOOT_FORMAT_DTB_IMX),y) +UBOOT_BINS += u-boot-dtb.imx +UBOOT_MAKE_TARGET += u-boot-dtb.imx +endif + ifeq ($(BR2_TARGET_UBOOT_FORMAT_DTB_BIN),y) UBOOT_BINS += u-boot-dtb.bin UBOOT_MAKE_TARGET += u-boot-dtb.bin @@ -84,6 +99,17 @@ UBOOT_BINS += u-boot.img UBOOT_MAKE_TARGET += u-boot.img endif +ifeq ($(BR2_TARGET_UBOOT_FORMAT_ITB),y) +UBOOT_BINS += u-boot.itb +ifneq ($(BR2_TARGET_UBOOT_USE_BINMAN),y) +UBOOT_MAKE_TARGET += u-boot.itb +endif +endif + +ifeq ($(BR2_TARGET_UBOOT_FORMAT_QSPI_BIN),y) +UBOOT_BINS += qspi.bin +endif + ifeq ($(BR2_TARGET_UBOOT_FORMAT_IMX),y) UBOOT_BINS += u-boot.imx UBOOT_MAKE_TARGET += u-boot.imx @@ -109,6 +135,21 @@ UBOOT_MAKE_TARGET += u-boot.sb UBOOT_DEPENDENCIES += host-elftosb host-openssl endif +ifeq ($(BR2_TARGET_UBOOT_FORMAT_STM32),y) +UBOOT_BINS += u-boot.stm32 +ifeq ($(BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY),y) +UBOOT_MAKE_TARGET += u-boot.stm32 +endif +endif + +ifeq ($(BR2_TARGET_UBOOT_INITIAL_ENV),y) +UBOOT_MAKE_TARGET += u-boot-initial-env +define UBOOT_INSTALL_UBOOT_INITIAL_ENV + $(INSTALL) -D -m 0644 $(@D)/u-boot-initial-env $(TARGET_DIR)/etc/u-boot-initial-env +endef +UBOOT_POST_INSTALL_TARGET_HOOKS += UBOOT_INSTALL_UBOOT_INITIAL_ENV +endif + ifeq ($(BR2_TARGET_UBOOT_FORMAT_CUSTOM),y) UBOOT_BINS += $(call qstrip,$(BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME)) endif @@ -120,36 +161,158 @@ endif # The kernel calls AArch64 'arm64', but U-Boot calls it just 'arm', so # we have to special case it. Similar for i386/x86_64 -> x86 -ifeq ($(KERNEL_ARCH),arm64) +ifeq ($(NORMALIZED_ARCH),arm64) UBOOT_ARCH = arm -else ifneq ($(filter $(KERNEL_ARCH),i386 x86_64),) +else ifneq ($(filter $(NORMALIZED_ARCH),i386 x86_64),) UBOOT_ARCH = x86 else -UBOOT_ARCH = $(KERNEL_ARCH) +UBOOT_ARCH = $(NORMALIZED_ARCH) endif UBOOT_MAKE_OPTS += \ CROSS_COMPILE="$(TARGET_CROSS)" \ ARCH=$(UBOOT_ARCH) \ - HOSTCC="$(HOSTCC) $(HOST_CFLAGS)" \ - HOSTLDFLAGS="$(HOST_LDFLAGS)" + HOSTCC="$(HOSTCC) $(subst -I/,-isystem /,$(subst -I /,-isystem /,$(HOST_CFLAGS)))" \ + HOSTLDFLAGS="$(HOST_LDFLAGS)" \ + $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS)) + +# Disable FDPIC if enabled by default in toolchain +ifeq ($(BR2_BINFMT_FDPIC),y) +UBOOT_MAKE_OPTS += KCFLAGS=-mno-fdpic +endif + +ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31),y) +UBOOT_DEPENDENCIES += arm-trusted-firmware +ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF),y) +UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/bl31.elf +define UBOOT_COPY_ATF_FIRMWARE + cp $(BINARIES_DIR)/bl31.elf $(@D)/ +endef +UBOOT_PRE_BUILD_HOOKS += UBOOT_COPY_ATF_FIRMWARE +else +UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/bl31.bin +define UBOOT_COPY_ATF_FIRMWARE + cp $(BINARIES_DIR)/bl31.bin $(@D)/ +endef +UBOOT_PRE_BUILD_HOOKS += UBOOT_COPY_ATF_FIRMWARE +endif +endif + +ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE),y) +UBOOT_DEPENDENCIES += optee-os +ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_ELF),y) +UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/tee.elf +else ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_BIN),y) +UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/tee.bin +else ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_RAW_BIN),y) +UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/tee-raw.bin +endif +endif + +# TI K3 devices needs at least ti-sysfw (System Firmware) provided +# by ti-k3-boot-firmware when built with u-boot's binman tool. +# Some TI K3 devices using a split firmware boot flow (AM62, +# j721e) also need the Device Manager (DM) firmware. +ifeq ($(BR2_TARGET_TI_K3_BOOT_FIRMWARE),y) +UBOOT_DEPENDENCIES += ti-k3-boot-firmware +endif + +ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPENSBI),y) +UBOOT_DEPENDENCIES += opensbi +UBOOT_MAKE_OPTS += OPENSBI=$(BINARIES_DIR)/fw_dynamic.bin +endif + +# Mainline U-Boot versions can create the i.MX specific boot images +# and need some NXP firmware blobs. +ifeq ($(BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE),y) +UBOOT_DEPENDENCIES += firmware-imx +UBOOT_IMX_FW_FILES = \ + $(if $(BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW),signed_hdmi_imx8m.bin) \ + $(if $(BR2_PACKAGE_FIRMWARE_IMX_LPDDR4),lpddr4*.bin) \ + $(if $(BR2_PACKAGE_FIRMWARE_IMX_DDR4),ddr4*.bin) \ + $(if $(BR2_PACKAGE_FIRMWARE_IMX_DDR3),ddr3*.bin) + +define UBOOT_COPY_IMX_FW_FILES + $(foreach fw,$(UBOOT_IMX_FW_FILES),\ + cp $(BINARIES_DIR)/$(fw) $(@D)/ + ) +endef +UBOOT_PRE_BUILD_HOOKS += UBOOT_COPY_IMX_FW_FILES +endif + +ifeq ($(BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN),y) +UBOOT_DEPENDENCIES += rockchip-rkbin +define UBOOT_INSTALL_UBOOT_ROCKCHIP_BIN + $(INSTALL) -D -m 0644 $(@D)/u-boot-rockchip.bin $(BINARIES_DIR)/u-boot-rockchip.bin +endef +UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_INSTALL_UBOOT_ROCKCHIP_BIN +ifneq ($(ROCKCHIP_RKBIN_BL31_FILENAME),) +UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/$(notdir $(ROCKCHIP_RKBIN_BL31_FILENAME)) +endif +ifneq ($(ROCKCHIP_RKBIN_TPL_FILENAME),) +UBOOT_MAKE_OPTS += ROCKCHIP_TPL=$(BINARIES_DIR)/$(notdir $(ROCKCHIP_RKBIN_TPL_FILENAME)) +endif +ifneq ($(ROCKCHIP_RKBIN_TEE_FILENAME),) +UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/$(notdir $(ROCKCHIP_RKBIN_TEE_FILENAME)) +endif +endif + +ifeq ($(BR2_TARGET_UBOOT_FORMAT_ADSP_LDR),y) +UBOOT_BINS += u-boot.ldr +UBOOT_DEPENDENCIES += host-adsp-ldr +endif ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y) UBOOT_DEPENDENCIES += host-dtc +UBOOT_MAKE_OPTS += DTC=$(HOST_DIR)/bin/dtc +endif + +ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYTHON3),y) +UBOOT_DEPENDENCIES += host-python3 host-python-setuptools endif ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYLIBFDT),y) -UBOOT_DEPENDENCIES += host-python host-swig +UBOOT_DEPENDENCIES += host-python-pylibfdt +endif + +ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS),y) +UBOOT_DEPENDENCIES += host-python-pyelftools endif ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPENSSL),y) UBOOT_DEPENDENCIES += host-openssl endif +ifeq ($(BR2_TARGET_UBOOT_NEEDS_LZOP),y) +UBOOT_DEPENDENCIES += host-lzop +endif + +ifeq ($(BR2_TARGET_UBOOT_NEEDS_GNUTLS),y) +UBOOT_DEPENDENCIES += host-gnutls +endif + +ifeq ($(BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX),y) +UBOOT_DEPENDENCIES += host-util-linux +endif + +ifeq ($(BR2_TARGET_UBOOT_NEEDS_XXD),y) +UBOOT_DEPENDENCIES += host-vim +endif + +ifeq ($(BR2_TARGET_UBOOT_USE_BINMAN),y) +# https://source.denx.de/u-boot/u-boot/-/blob/v2024.04/tools/binman/binman.rst?plain=1#L377 +# https://source.denx.de/u-boot/u-boot/-/blob/v2024.04/tools/buildman/requirements.txt +UBOOT_DEPENDENCIES += \ + host-python-jsonschema \ + host-python-pyyaml \ + host-python-yamllint +UBOOT_MAKE_OPTS += BINMAN_INDIRS=$(BINARIES_DIR) +endif + # prior to u-boot 2013.10 the license info was in COPYING. Copy it so # legal-info finds it define UBOOT_COPY_OLD_LICENSE_FILE - if [ -f $(@D)/COPYING ]; then \ + if [ -f $(@D)/COPYING ] && [ ! -f $(@D)/Licenses/gpl-2.0.txt ]; then \ $(INSTALL) -m 0644 -D $(@D)/COPYING $(@D)/Licenses/gpl-2.0.txt; \ fi endef @@ -157,6 +320,13 @@ endef UBOOT_POST_EXTRACT_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE UBOOT_POST_RSYNC_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE +# Older versions break on gcc 10+ because of redefined symbols +define UBOOT_DROP_YYLLOC + $(Q)grep -Z -l -r -E '^YYLTYPE yylloc;$$' $(@D) \ + |xargs -0 -r $(SED) '/^YYLTYPE yylloc;$$/d' +endef +UBOOT_POST_PATCH_HOOKS += UBOOT_DROP_YYLLOC + ifneq ($(ARCH_XTENSA_OVERLAY_FILE),) define UBOOT_XTENSA_OVERLAY_EXTRACT $(call arch-xtensa-overlay-extract,$(@D),u-boot) @@ -183,10 +353,42 @@ define UBOOT_APPLY_LOCAL_PATCHES endef UBOOT_POST_PATCH_HOOKS += UBOOT_APPLY_LOCAL_PATCHES +# Fixup inclusion of libfdt headers, which can fail in older u-boot versions +# when libfdt-devel is installed system-wide. +# The core change is equivalent to upstream commit +# e0d20dc1521e74b82dbd69be53a048847798a90a (first in v2018.03). However, the fixup +# is complicated by the fact that the underlying u-boot code changed multiple +# times in history: +# - The directory scripts/dtc/libfdt only exists since upstream commit +# c0e032e0090d6541549b19cc47e06ccd1f302893 (first in v2017.11). For earlier +# versions, create a dummy scripts/dtc/libfdt directory with symlinks for the +# fdt-related files. This allows to use the same -I option for both +# cases. +# - The variable 'srctree' used to be called 'SRCTREE' before upstream commit +# 01286329b27b27eaeda045b469d41b1d9fce545a (first in v2014.04). +# - The original location for libfdt, 'lib/libfdt/', used to be simply +# 'libfdt' before upstream commit 0de71d507157c4bd4fddcd3a419140d2b986eed2 +# (first in v2010.06). Make the 'lib' part optional in the substitution to +# handle this. +define UBOOT_FIXUP_LIBFDT_INCLUDE + $(Q)if [ ! -d $(@D)/scripts/dtc/libfdt ]; then \ + mkdir -p $(@D)/scripts/dtc/libfdt; \ + cd $(@D)/scripts/dtc/libfdt; \ + ln -s ../../../include/fdt.h .; \ + ln -s ../../../include/libfdt*.h .; \ + ln -s ../../../lib/libfdt/libfdt_internal.h .; \ + fi + $(Q)$(SED) \ + 's%-I\ *\$$(srctree)/lib/libfdt%-I$$(srctree)/scripts/dtc/libfdt%; \ + s%-I\ *\$$(SRCTREE)\(/lib\)\?/libfdt%-I$$(SRCTREE)/scripts/dtc/libfdt%' \ + $(@D)/tools/Makefile +endef +UBOOT_POST_PATCH_HOOKS += UBOOT_FIXUP_LIBFDT_INCLUDE + ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY),y) define UBOOT_CONFIGURE_CMDS - $(TARGET_CONFIGURE_OPTS) \ - $(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \ + $(TARGET_CONFIGURE_OPTS) \ + $(UBOOT_MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \ $(UBOOT_BOARD_NAME)_config endef else ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG),y) @@ -198,13 +400,28 @@ endif # BR2_TARGET_UBOOT_USE_DEFCONFIG UBOOT_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES)) UBOOT_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig -UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS) -define UBOOT_HELP_CMDS - @echo ' uboot-menuconfig - Run U-Boot menuconfig' - @echo ' uboot-savedefconfig - Run U-Boot savedefconfig' - @echo ' uboot-update-defconfig - Save the U-Boot configuration to the path specified' - @echo ' by BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE' + +# UBOOT_MAKE_OPTS overrides HOSTCC / HOSTLDFLAGS to allow the build to +# find our host-openssl. However, this triggers a bug in the kconfig +# build script that causes it to build with /usr/include/ncurses.h +# (which is typically wchar) but link with +# $(HOST_DIR)/lib/libncurses.so (which is not). We don't actually +# need any host-package for kconfig, so remove the HOSTCC/HOSTLDFLAGS +# override again. In addition, host-ccache is not ready at kconfig +# time, so use HOSTCC_NOCCACHE. +UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTLDFLAGS="" + +ifeq ($(BR2_TARGET_UBOOT_DEFAULT_ENV_FILE_ENABLED),y) +UBOOT_DEFAULT_ENV_FILE = $(call qstrip,$(BR2_TARGET_UBOOT_DEFAULT_ENV_FILE)) +define UBOOT_KCONFIG_DEFAULT_ENV_FILE + # Pre-2025.10 + $(call KCONFIG_SET_OPT,CONFIG_USE_DEFAULT_ENV_FILE,y) + $(call KCONFIG_SET_OPT,CONFIG_DEFAULT_ENV_FILE,"$(shell readlink -f $(UBOOT_DEFAULT_ENV_FILE))") + # 2025.10 and later + $(call KCONFIG_SET_OPT,CONFIG_ENV_USE_DEFAULT_ENV_TEXT_FILE,y) + $(call KCONFIG_SET_OPT,CONFIG_ENV_DEFAULT_ENV_TEXT_FILE,"$(shell readlink -f $(UBOOT_DEFAULT_ENV_FILE))") endef +endif endif # BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY UBOOT_CUSTOM_DTS_PATH = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_DTS_PATH)) @@ -213,16 +430,21 @@ define UBOOT_BUILD_CMDS $(if $(UBOOT_CUSTOM_DTS_PATH), cp -f $(UBOOT_CUSTOM_DTS_PATH) $(@D)/arch/$(UBOOT_ARCH)/dts/ ) - $(TARGET_CONFIGURE_OPTS) \ - $(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \ + $(TARGET_CONFIGURE_OPTS) \ + PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ + PKG_CONFIG_SYSROOT_DIR="/" \ + PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \ + PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \ + PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/pkgconfig" \ + $(UBOOT_MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \ $(UBOOT_MAKE_TARGET) $(if $(BR2_TARGET_UBOOT_FORMAT_SD), $(@D)/tools/mxsboot sd $(@D)/u-boot.sb $(@D)/u-boot.sd) $(if $(BR2_TARGET_UBOOT_FORMAT_NAND), $(@D)/tools/mxsboot \ - -w $(BR2_TARGET_UBOOT_FORMAT_NAND_PAGE_SIZE) \ - -o $(BR2_TARGET_UBOOT_FORMAT_NAND_OOB_SIZE) \ - -e $(BR2_TARGET_UBOOT_FORMAT_NAND_ERASE_SIZE) \ + -w $(BR2_TARGET_UBOOT_FORMAT_NAND_PAGE_SIZE) \ + -o $(BR2_TARGET_UBOOT_FORMAT_NAND_OOB_SIZE) \ + -e $(BR2_TARGET_UBOOT_FORMAT_NAND_ERASE_SIZE) \ nand $(@D)/u-boot.sb $(@D)/u-boot.nand) endef @@ -242,18 +464,82 @@ define UBOOT_INSTALL_IMAGES_CMDS cp -dpf $(@D)/$(f) $(BINARIES_DIR)/ ) ) - $(if $(BR2_TARGET_UBOOT_ENVIMAGE), - cat $(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)) | \ - $(HOST_DIR)/bin/mkenvimage -s $(BR2_TARGET_UBOOT_ENVIMAGE_SIZE) \ - $(if $(BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT),-r) \ - $(if $(filter BIG,$(BR2_ENDIAN)),-b) \ - -o $(BINARIES_DIR)/uboot-env.bin -) - $(if $(BR2_TARGET_UBOOT_BOOT_SCRIPT), - $(HOST_DIR)/bin/mkimage -C none -A $(MKIMAGE_ARCH) -T script \ - -d $(call qstrip,$(BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE)) \ - $(BINARIES_DIR)/boot.scr) endef +ifeq ($(BR2_TARGET_UBOOT_ZYNQMP),y) + +ifeq ($(BR2_TARGET_UBOOT_ZYNQMP_PMUFW_EMBEDDEDSW),y) +UBOOT_DEPENDENCIES += xilinx-embeddedsw +UBOOT_ZYNQMP_PMUFW_PATH = $(BINARIES_DIR)/pmufw.elf +else ifeq ($(BR2_TARGET_UBOOT_ZYNQMP_PMUFW_PREBUILT),y) +UBOOT_DEPENDENCIES += xilinx-prebuilt +UBOOT_ZYNQMP_PMUFW_PATH = $(BINARIES_DIR)/pmufw.elf +else +UBOOT_ZYNQMP_PMUFW = $(call qstrip,$(BR2_TARGET_UBOOT_ZYNQMP_PMUFW)) + +ifneq ($(findstring ://,$(UBOOT_ZYNQMP_PMUFW)),) +UBOOT_EXTRA_DOWNLOADS += $(UBOOT_ZYNQMP_PMUFW) +BR_NO_CHECK_HASH_FOR += $(notdir $(UBOOT_ZYNQMP_PMUFW)) +UBOOT_ZYNQMP_PMUFW_PATH = $(UBOOT_DL_DIR)/$(notdir $(UBOOT_ZYNQMP_PMUFW)) +else ifneq ($(UBOOT_ZYNQMP_PMUFW),) +UBOOT_ZYNQMP_PMUFW_PATH = $(shell readlink -f $(UBOOT_ZYNQMP_PMUFW)) +endif #ifneq ($(findstring ://,$(UBOOT_ZYNQMP_PMUFW)),) + +endif #BR2_TARGET_UBOOT_ZYNQMP_PMUFW_PREBUILT + +ifeq ($(suffix $(UBOOT_ZYNQMP_PMUFW_PATH)),.elf) +UBOOT_ZYNQMP_PMUFW_PATH_FINAL = $(basename $(UBOOT_ZYNQMP_PMUFW_PATH)).bin +# objcopy is arch-agnostic so we can use $(TARGET_OBJCOPY) in lack of a +# microblaze objcopy +define UBOOT_ZYNQMP_PMUFW_CONVERT + $(TARGET_OBJCOPY) -O binary -I elf32-little $(UBOOT_ZYNQMP_PMUFW_PATH) $(UBOOT_ZYNQMP_PMUFW_PATH_FINAL) +endef +UBOOT_PRE_BUILD_HOOKS += UBOOT_ZYNQMP_PMUFW_CONVERT +else +UBOOT_ZYNQMP_PMUFW_PATH_FINAL = $(UBOOT_ZYNQMP_PMUFW_PATH) +endif +define UBOOT_ZYNQMP_KCONFIG_PMUFW + $(call KCONFIG_SET_OPT,CONFIG_PMUFW_INIT_FILE,"$(UBOOT_ZYNQMP_PMUFW_PATH_FINAL)") +endef + +UBOOT_ZYNQMP_PM_CFG = $(call qstrip,$(BR2_TARGET_UBOOT_ZYNQMP_PM_CFG)) +ifneq ($(UBOOT_ZYNQMP_PM_CFG),) +UBOOT_ZYNQMP_PM_CFG_BIN = $(UBOOT_DIR)/pm_cfg_obj.bin +define UBOOT_ZYNQMP_KCONFIG_PM_CFG + $(call KCONFIG_SET_OPT,CONFIG_ZYNQMP_SPL_PM_CFG_OBJ_FILE,"$(UBOOT_ZYNQMP_PM_CFG_BIN)", \ + $(@D)/.config) +endef + +define UBOOT_ZYNQMP_PM_CFG_CONVERT + $(UBOOT_DIR)/tools/zynqmp_pm_cfg_obj_convert.py \ + "$(UBOOT_ZYNQMP_PM_CFG)" \ + "$(UBOOT_ZYNQMP_PM_CFG_BIN)" +endef +UBOOT_PRE_BUILD_HOOKS += UBOOT_ZYNQMP_PM_CFG_CONVERT +endif + +UBOOT_ZYNQMP_PSU_INIT = $(call qstrip,$(BR2_TARGET_UBOOT_ZYNQMP_PSU_INIT_FILE)) +UBOOT_ZYNQMP_PSU_INIT_PATH = $(shell readlink -f $(UBOOT_ZYNQMP_PSU_INIT)) + +ifneq ($(UBOOT_ZYNQMP_PSU_INIT),) +define UBOOT_ZYNQMP_KCONFIG_PSU_INIT + $(call KCONFIG_SET_OPT,CONFIG_XILINX_PS_INIT_FILE,"$(UBOOT_ZYNQMP_PSU_INIT_PATH)") +endef +endif + +endif # BR2_TARGET_UBOOT_ZYNQMP + +ifeq ($(BR2_TARGET_UBOOT_ZYNQ),y) +UBOOT_ZYNQ_PS7_INIT = $(call qstrip,$(BR2_TARGET_UBOOT_ZYNQ_PS7_INIT_FILE)) +UBOOT_ZYNQ_PS7_INIT_PATH = $(shell readlink -f $(UBOOT_ZYNQ_PS7_INIT)) + +ifneq ($(UBOOT_ZYNQ_PS7_INIT),) +define UBOOT_ZYNQ_KCONFIG_PS7_INIT + $(call KCONFIG_SET_OPT,CONFIG_XILINX_PS_INIT_FILE,"$(UBOOT_ZYNQ_PS7_INIT_PATH)") +endef +endif +endif # BR2_TARGET_UBOOT_ZYNQ + define UBOOT_INSTALL_OMAP_IFT_IMAGE cp -dpf $(@D)/$(UBOOT_BIN_IFT) $(BINARIES_DIR)/ endef @@ -272,17 +558,6 @@ UBOOT_POST_BUILD_HOOKS += UBOOT_BUILD_OMAP_IFT UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_INSTALL_OMAP_IFT_IMAGE endif -ifeq ($(BR2_TARGET_UBOOT_ZYNQ_IMAGE),y) -define UBOOT_GENERATE_ZYNQ_IMAGE - $(HOST_DIR)/bin/python2 \ - $(HOST_DIR)/bin/zynq-boot-bin.py \ - -u $(@D)/$(firstword $(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME))) \ - -o $(BINARIES_DIR)/BOOT.BIN -endef -UBOOT_DEPENDENCIES += host-zynq-boot-bin -UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_GENERATE_ZYNQ_IMAGE -endif - ifeq ($(BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC),y) ifeq ($(BR2_TARGET_UBOOT_SPL),y) UBOOT_CRC_ALTERA_SOCFPGA_INPUT_IMAGES = $(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME)) @@ -303,26 +578,13 @@ UBOOT_DEPENDENCIES += host-mkpimage UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_CRC_ALTERA_SOCFPGA_IMAGE endif -ifeq ($(BR2_TARGET_UBOOT_ENVIMAGE),y) -ifeq ($(BR_BUILDING),y) -ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)),) -$(error Please define a source file for Uboot environment (BR2_TARGET_UBOOT_ENVIMAGE_SOURCE setting)) -endif -ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SIZE)),) -$(error Please provide Uboot environment size (BR2_TARGET_UBOOT_ENVIMAGE_SIZE setting)) -endif -endif -UBOOT_DEPENDENCIES += host-uboot-tools -endif - -ifeq ($(BR2_TARGET_UBOOT_BOOT_SCRIPT),y) -ifeq ($(BR_BUILDING),y) -ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE)),) -$(error Please define a source file for Uboot boot script (BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE setting)) -endif -endif -UBOOT_DEPENDENCIES += host-uboot-tools -endif +define UBOOT_KCONFIG_FIXUP_CMDS + $(UBOOT_ZYNQMP_KCONFIG_PMUFW) + $(UBOOT_ZYNQMP_KCONFIG_PM_CFG) + $(UBOOT_ZYNQMP_KCONFIG_PSU_INIT) + $(UBOOT_ZYNQ_KCONFIG_PS7_INIT) + $(UBOOT_KCONFIG_DEFAULT_ENV_FILE) +endef ifeq ($(BR2_TARGET_UBOOT)$(BR_BUILDING),yy) @@ -373,14 +635,26 @@ ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_REPO_URL)),) $(error No custom U-Boot repository URL specified. Check your BR2_TARGET_UBOOT_CUSTOM_REPO_URL setting) endif # qstrip BR2_TARGET_UBOOT_CUSTOM_CUSTOM_REPO_URL ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION)),) -$(error No custom U-Boot repository URL specified. Check your BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION setting) +$(error No custom U-Boot repository version specified. Check your BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION setting) endif # qstrip BR2_TARGET_UBOOT_CUSTOM_CUSTOM_REPO_VERSION endif # BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG endif # BR2_TARGET_UBOOT && BR_BUILDING ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY),y) +UBOOT_DEPENDENCIES += \ + $(BR2_BISON_HOST_DEPENDENCY) \ + $(BR2_FLEX_HOST_DEPENDENCY) $(eval $(generic-package)) else ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG),y) +UBOOT_MAKE_ENV = $(TARGET_MAKE_ENV) +# Starting with 2021.10, the kconfig in uboot calls the cross-compiler +# to check its capabilities. So we need the toolchain before we can +# call the configurators. +UBOOT_KCONFIG_DEPENDENCIES += \ + toolchain \ + $(BR2_MAKE_HOST_DEPENDENCY) \ + $(BR2_BISON_HOST_DEPENDENCY) \ + $(BR2_FLEX_HOST_DEPENDENCY) $(eval $(kconfig-package)) endif # BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY diff --git a/boot/vexpress-firmware/Config.in b/boot/vexpress-firmware/Config.in index 8479df3d572..265fb4be1d6 100644 --- a/boot/vexpress-firmware/Config.in +++ b/boot/vexpress-firmware/Config.in @@ -4,3 +4,5 @@ config BR2_TARGET_VEXPRESS_FIRMWARE help Versatile Express firmware from ARM, with Linaro mods last change. + + https://git.linaro.org/arm/vexpress-firmware.git diff --git a/boot/vexpress-firmware/vexpress-firmware.hash b/boot/vexpress-firmware/vexpress-firmware.hash index 40f64c7528c..26d1ccc6e58 100644 --- a/boot/vexpress-firmware/vexpress-firmware.hash +++ b/boot/vexpress-firmware/vexpress-firmware.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 def599c86ab3606f7f67c0190e9b237fbc0cf934a951ffb1c5fb0c47d8a8f3d2 vexpress-firmware-901f81977c3b367a2e0bf3d6444be302822d97a3.tar.gz +sha256 ba3253d422a53e97cff99548956b911eb971c8b28cd767118d563a3c2cd1da39 vexpress-firmware-901f81977c3b367a2e0bf3d6444be302822d97a3-git4.tar.gz diff --git a/boot/xilinx-embeddedsw/Config.in b/boot/xilinx-embeddedsw/Config.in new file mode 100644 index 00000000000..674238fd0a5 --- /dev/null +++ b/boot/xilinx-embeddedsw/Config.in @@ -0,0 +1,94 @@ +comment "xilinx-embeddedsw needs a bare metal toolchain for tuple microblazeel-buildroot-elf" + depends on BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH != "microblazeel-buildroot-elf" + depends on BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH != "microblazeel-buildroot-elf riscv32-buildroot-elf" + depends on BR2_TOOLCHAIN_BARE_METAL_BUILDROOT + +menuconfig BR2_TARGET_XILINX_EMBEDDEDSW + bool "xilinx-embeddedsw" + depends on BR2_TOOLCHAIN_BARE_METAL_BUILDROOT + help + Build boot firmware applications from source for Xilinx + boards. Users can mix and match applications to be built + by xilinx-embeddedsw and applications to be copied by + xilinx-prebuilt. If a xilinx-embeddedsw application is + selected, it will be built and installed from the Xilinx + embeddedsw repo, and it will not be copied from the + xilinx-prebuilt repo. + + Applications can be found on the Xilinx embeddedsw repo: + https://github.com/Xilinx/embeddedsw/tree/master/lib/sw_apps + +if BR2_TARGET_XILINX_EMBEDDEDSW + +config BR2_TARGET_XILINX_EMBEDDEDSW_VERSION + string "xilinx-embeddedsw version" + default "xilinx_v2025.2" + help + Release version of Xilinx/embeddedsw. + Must be xilinx_v2023.1 or newer. + +config BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL2_ASUFW + bool "versal2 asufw" + depends on BR2_cortex_a78 + help + Build versal2 asufw application from Xilinx/embeddedsw + repo. + + https://github.com/Xilinx/embeddedsw/tree/master/lib/sw_apps/asufw + Version must be xilinx_v2025.2 or newer. + +config BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL2_PLM + bool "versal2 plm" + depends on BR2_cortex_a78 + help + Build versal2 plm application from Xilinx/embeddedsw repo. + If selected, the xilinx-prebuilt package will not install + the plm.elf since it will come from the xilinx-embeddedsw + package. + + https://github.com/Xilinx/embeddedsw/tree/master/lib/sw_apps/versal_plm + Version must be xilinx_v2025.2 or newer. + +config BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM + bool "versal plm" + depends on BR2_cortex_a72 + help + Build versal plm application from Xilinx/embeddedsw repo. + If selected, the xilinx-prebuilt package will not install + the plm.elf since it will come from the xilinx-embeddedsw + package. + + https://github.com/Xilinx/embeddedsw/tree/master/lib/sw_apps/versal_plm + +config BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW + bool "versal psmfw" + depends on BR2_cortex_a72 + help + Build versal psmfw application from Xilinx/embeddedsw repo. + If selected, the xilinx-prebuilt package will not install + the psmfw.elf since it will come from the xilinx-embeddedsw + package. + + https://github.com/Xilinx/embeddedsw/tree/master/lib/sw_apps/versal_psmfw + +config BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW + bool "zynqmp pmufw" + depends on BR2_cortex_a53 + help + Build zynqmp pmufw application from Xilinx/embeddedsw repo. + If selected, the xilinx-prebuilt package will not install + the pmufw.elf since it will come from the xilinx-embeddedsw + package. + + https://github.com/Xilinx/embeddedsw/tree/master/lib/sw_apps/zynqmp_pmufw + +config BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_USER_CFLAGS + string "xilinx-embeddedsw optional zynqmp_pmufw user cflags" + depends on BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW + help + Add optional cflags when building xilinx zynqmp_pmufw. + + Example cflag options can be found here: + https://github.com/Xilinx/embeddedsw/blob/master/lib/sw_apps/zynqmp_pmufw/src/xpfw_config.h + +endif # BR2_TARGET_XILINX_EMBEDDEDSW diff --git a/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk b/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk new file mode 100644 index 00000000000..5fb442ee2ad --- /dev/null +++ b/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk @@ -0,0 +1,127 @@ +################################################################################ +# +# xilinx-embeddedsw +# +################################################################################ + +XILINX_EMBEDDEDSW_VERSION = $(call qstrip,$(BR2_TARGET_XILINX_EMBEDDEDSW_VERSION)) +XILINX_EMBEDDEDSW_SITE = $(call github,Xilinx,embeddedsw,$(XILINX_EMBEDDEDSW_VERSION)) +XILINX_EMBEDDEDSW_LICENSE = MIT +XILINX_EMBEDDEDSW_LICENSE_FILES = license.txt +XILINX_EMBEDDEDSW_INSTALL_TARGET = NO +XILINX_EMBEDDEDSW_INSTALL_IMAGES = YES +XILINX_EMBEDDEDSW_DEPENDENCIES = toolchain-bare-metal-buildroot + +XILINX_EMBEDDEDSW_MICROBLAZE_CC = $(call qstrip, \ + $(if $(wildcard $(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc), \ + $(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc, \ + $(HOST_DIR)/bin/microblazeel-buildroot-elf-gcc)) +XILINX_EMBEDDEDSW_MICROBLAZE_AR = $(XILINX_EMBEDDEDSW_MICROBLAZE_CC)-ar + +ifeq ($(basename $(notdir $(XILINX_EMBEDDEDSW_MICROBLAZE_CC))),microblazeel-xilinx-elf-gcc) +$(warning microblazeel-xilinx-elf in BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH is not supported anymore!) +$(error Replace microblazeel-xilinx-elf with microblazeel-buildroot-elf in BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH) +endif + +# ZYNQMP_PMUFW application allows users to add cflags +XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_USER_CFLAGS = \ + $(call qstrip,$(BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_USER_CFLAGS)) +XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_CFLAGS = \ + "-Os -flto -ffat-lto-objects $(XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_USER_CFLAGS)" + +XILINX_EMBEDDEDSW_CFLAGS = "-Os -flto -ffat-lto-objects" +XILINX_EMBEDDEDSW_ASUFW_CFLAGS = "-O2 -ffat-lto-objects -fno-lto" + +ifeq ($(BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL2_ASUFW),y) +define XILINX_EMBEDDEDSW_BUILD_VERSAL2_ASUFW + $(MAKE) -C $(@D)/lib/sw_apps/asufw/src \ + COMPILER=$(HOST_DIR)/bin/riscv32-buildroot-elf-gcc \ + ARCHIVER=$(HOST_DIR)/bin/riscv32-buildroot-elf-gcc-ar \ + CC=$(HOST_DIR)/bin/riscv32-buildroot-elf-gcc \ + CFLAGS=$(XILINX_EMBEDDEDSW_ASUFW_CFLAGS) +endef + +define XILINX_EMBEDDEDSW_INSTALL_VERSAL2_ASUFW + $(INSTALL) -D -m 0755 $(@D)/lib/sw_apps/asufw/src/asufw.elf \ + $(BINARIES_DIR)/asufw.elf +endef +endif # BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL2_ASUFW + +ifeq ($(BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL2_PLM),y) +define XILINX_EMBEDDEDSW_BUILD_VERSAL2_PLM + $(MAKE) -C $(@D)/lib/sw_apps/versal_plm/src/versal_2ve_2vm \ + COMPILER=$(XILINX_EMBEDDEDSW_MICROBLAZE_CC) \ + ARCHIVER=$(XILINX_EMBEDDEDSW_MICROBLAZE_AR) \ + CC=$(XILINX_EMBEDDEDSW_MICROBLAZE_CC) \ + CFLAGS=$(XILINX_EMBEDDEDSW_CFLAGS) +endef + +define XILINX_EMBEDDEDSW_INSTALL_VERSAL2_PLM + $(INSTALL) -D -m 0755 \ + $(@D)/lib/sw_apps/versal_plm/src/versal_2ve_2vm/plm.elf \ + $(BINARIES_DIR)/plm.elf +endef +endif # BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL2_PLM + +ifeq ($(BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM),y) +define XILINX_EMBEDDEDSW_BUILD_VERSAL_PLM + $(MAKE) -C $(@D)/lib/sw_apps/versal_plm/src/versal \ + COMPILER=$(XILINX_EMBEDDEDSW_MICROBLAZE_CC) \ + ARCHIVER=$(XILINX_EMBEDDEDSW_MICROBLAZE_AR) \ + CC=$(XILINX_EMBEDDEDSW_MICROBLAZE_CC) \ + CFLAGS=$(XILINX_EMBEDDEDSW_CFLAGS) +endef + +define XILINX_EMBEDDEDSW_INSTALL_VERSAL_PLM + $(INSTALL) -D -m 0755 $(@D)/lib/sw_apps/versal_plm/src/versal/plm.elf \ + $(BINARIES_DIR)/plm.elf +endef +endif # BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM + +ifeq ($(BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW),y) +define XILINX_EMBEDDEDSW_BUILD_VERSAL_PSMFW + $(MAKE) -C $(@D)/lib/sw_apps/versal_psmfw/src/versal \ + COMPILER=$(XILINX_EMBEDDEDSW_MICROBLAZE_CC) \ + ARCHIVER=$(XILINX_EMBEDDEDSW_MICROBLAZE_AR) \ + CC=$(XILINX_EMBEDDEDSW_MICROBLAZE_CC) \ + CFLAGS=$(XILINX_EMBEDDEDSW_CFLAGS) +endef + +define XILINX_EMBEDDEDSW_INSTALL_VERSAL_PSMFW + $(INSTALL) -D -m 0755 $(@D)/lib/sw_apps/versal_psmfw/src/versal/psmfw.elf \ + $(BINARIES_DIR)/psmfw.elf +endef +endif # BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW + +ifeq ($(BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW),y) +define XILINX_EMBEDDEDSW_BUILD_ZYNQMP_PMUFW + $(MAKE) -C $(@D)/lib/sw_apps/zynqmp_pmufw/src \ + COMPILER=$(XILINX_EMBEDDEDSW_MICROBLAZE_CC) \ + ARCHIVER=$(XILINX_EMBEDDEDSW_MICROBLAZE_AR) \ + CC=$(XILINX_EMBEDDEDSW_MICROBLAZE_CC) \ + CFLAGS=$(XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_CFLAGS) +endef + +define XILINX_EMBEDDEDSW_INSTALL_ZYNQMP_PMUFW + $(INSTALL) -D -m 0755 $(@D)/lib/sw_apps/zynqmp_pmufw/src/executable.elf \ + $(BINARIES_DIR)/pmufw.elf +endef +endif # BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW + +define XILINX_EMBEDDEDSW_BUILD_CMDS + $(XILINX_EMBEDDEDSW_BUILD_VERSAL2_ASUFW) + $(XILINX_EMBEDDEDSW_BUILD_VERSAL2_PLM) + $(XILINX_EMBEDDEDSW_BUILD_VERSAL_PLM) + $(XILINX_EMBEDDEDSW_BUILD_VERSAL_PSMFW) + $(XILINX_EMBEDDEDSW_BUILD_ZYNQMP_PMUFW) +endef + +define XILINX_EMBEDDEDSW_INSTALL_IMAGES_CMDS + $(XILINX_EMBEDDEDSW_INSTALL_VERSAL2_ASUFW) + $(XILINX_EMBEDDEDSW_INSTALL_VERSAL2_PLM) + $(XILINX_EMBEDDEDSW_INSTALL_VERSAL_PLM) + $(XILINX_EMBEDDEDSW_INSTALL_VERSAL_PSMFW) + $(XILINX_EMBEDDEDSW_INSTALL_ZYNQMP_PMUFW) +endef + +$(eval $(generic-package)) diff --git a/boot/xilinx-embeddedsw/xilinx_v2025.2/xilinx-embeddedsw.hash b/boot/xilinx-embeddedsw/xilinx_v2025.2/xilinx-embeddedsw.hash new file mode 100644 index 00000000000..77b4c2467c6 --- /dev/null +++ b/boot/xilinx-embeddedsw/xilinx_v2025.2/xilinx-embeddedsw.hash @@ -0,0 +1,5 @@ +# Locally calculated +sha256 fb9a705a2974fa4d8d79142baea204d388389b9b37d6f26194b7b759f8978457 xilinx-embeddedsw-xilinx_v2025.2.tar.gz + +# Locally calculated +sha256 5ed583a37f9592d4bef73061f14f85c2ca70b8b7a12ffe1ef8ea808fbb764425 license.txt diff --git a/boot/xilinx-prebuilt/Config.in b/boot/xilinx-prebuilt/Config.in new file mode 100644 index 00000000000..7926b6cb9e1 --- /dev/null +++ b/boot/xilinx-prebuilt/Config.in @@ -0,0 +1,106 @@ +menuconfig BR2_TARGET_XILINX_PREBUILT + bool "xilinx-prebuilt" + help + Pre-built firmware files for Xilinx boards. + + The pre-built firmware applications will only be installed + if they are not being built by the xilinx-embeddedsw + package. + + Users can mix and match applications to build with + xilinx-embeddedsw and applications to simply install with + xilinx-prebuilt. + + https://github.com/Xilinx/soc-prebuilt-firmware + +if BR2_TARGET_XILINX_PREBUILT + +config BR2_TARGET_XILINX_PREBUILT_VERSION + string "prebuilt version" + default "xilinx_v2025.2" + help + Release version of Xilinx firmware. + Must be xilinx_v2023.1 or newer. + +choice + bool "family variant" + default BR2_TARGET_XILINX_PREBUILT_VERSAL if BR2_PACKAGE_VERSAL_FIRMWARE # legacy + default BR2_TARGET_XILINX_PREBUILT_VERSAL if BR2_cortex_a72 + default BR2_TARGET_XILINX_PREBUILT_VERSAL2 if BR2_cortex_a78 + default BR2_TARGET_XILINX_PREBUILT_ZYNQMP + +config BR2_TARGET_XILINX_PREBUILT_ZYNQMP + bool "zynqmp" + depends on BR2_cortex_a53 + +config BR2_TARGET_XILINX_PREBUILT_KRIA + bool "kria" + depends on BR2_cortex_a53 + +config BR2_TARGET_XILINX_PREBUILT_VERSAL + bool "versal" + depends on BR2_cortex_a72 + +config BR2_TARGET_XILINX_PREBUILT_VERSAL2 + bool "versal2" + depends on BR2_cortex_a78 + help + Version must be xilinx_v2025.2 or newer. + +endchoice + +config BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA + bool "download a prebuilt Versal XSA" + depends on BR2_TARGET_XILINX_PREBUILT_VERSAL || BR2_TARGET_XILINX_PREBUILT_VERSAL2 + help + The Xilinx Support Archive (XSA) provides custom Xilinx + firmware files generated by the AMD Vivado Design Suite. + This option applies to either versal or versal2. + + https://docs.amd.com/r/en-US/ug1400-vitis-embedded/Creating-a-Hardware-Design-XSA-File + +if BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA + +config BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA_LOCATION + string "URL of custom XSA" + help + This option allows to specify a URL pointing to an XSA source + file. This URL can use any protocol recognized by Buildroot, + like http://, ftp://, file:// or scp://. + + When pointing to a local XSA using file:// or simply the + local path, you may want to use a make variable like + $(TOPDIR) to reference the root of the Buildroot tree. + + This option applies to either versal or versal2. + +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA + +config BR2_TARGET_XILINX_PREBUILT_VERSAL_PLD_PDI + bool "install versal pld.pdi" + depends on BR2_TARGET_XILINX_PREBUILT_VERSAL || BR2_TARGET_XILINX_PREBUILT_VERSAL2 + help + When using the Versal Segmented Configuration, there is a + pld.pdi file containing the FPGA bitstream which can be + loaded at run-time. By enabling this option, the pld.pdi + will be installed to the target /lib/firmware/xilinx dir. + This option applies to either versal or versal2. + +config BR2_TARGET_XILINX_PREBUILT_FAMILY + string + default "zynqmp" if BR2_TARGET_XILINX_PREBUILT_ZYNQMP + default "kria" if BR2_TARGET_XILINX_PREBUILT_KRIA + default "versal" if BR2_TARGET_XILINX_PREBUILT_VERSAL + default "versal_2ve_2vm" if BR2_TARGET_XILINX_PREBUILT_VERSAL2 + +config BR2_TARGET_XILINX_PREBUILT_BOARD + string "board name" + default "zcu102" if BR2_TARGET_XILINX_PREBUILT_ZYNQMP + default "kr260" if BR2_TARGET_XILINX_PREBUILT_KRIA + default "vck190" if BR2_TARGET_XILINX_PREBUILT_VERSAL + default "vek385" if BR2_TARGET_XILINX_PREBUILT_VERSAL2 + help + Name of Xilinx target board. + Used for installing the appropriate firmware. + +endif # BR2_TARGET_XILINX_PREBUILT diff --git a/boot/xilinx-prebuilt/xilinx-prebuilt.mk b/boot/xilinx-prebuilt/xilinx-prebuilt.mk new file mode 100644 index 00000000000..74334449242 --- /dev/null +++ b/boot/xilinx-prebuilt/xilinx-prebuilt.mk @@ -0,0 +1,143 @@ +################################################################################ +# +# xilinx-prebuilt +# +################################################################################ + +XILINX_PREBUILT_VERSION = $(call qstrip,$(BR2_TARGET_XILINX_PREBUILT_VERSION)) + +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA),y) +XILINX_PREBUILT_FILE = $(call qstrip,$(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA_LOCATION)) +XILINX_PREBUILT_SITE = $(patsubst %/,%,$(dir $(XILINX_PREBUILT_FILE))) +XILINX_PREBUILT_SOURCE = $(notdir $(XILINX_PREBUILT_FILE)) +ifeq ($(findstring ://,$(XILINX_PREBUILT_FILE)),) +XILINX_PREBUILT_SITE_METHOD = file +endif +define XILINX_PREBUILT_EXTRACT_CMDS + $(UNZIP) $(XILINX_PREBUILT_DL_DIR)/$(XILINX_PREBUILT_SOURCE) -d $(@D) +endef +else # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA +XILINX_PREBUILT_SITE = $(call github,Xilinx,soc-prebuilt-firmware,$(XILINX_PREBUILT_VERSION)) +XILINX_PREBUILT_LICENSE = MIT +XILINX_PREBUILT_LICENSE_FILES = LICENSE +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA + +XILINX_PREBUILT_INSTALL_IMAGES = YES + +XILINX_PREBUILT_FAMILY = $(call qstrip,$(BR2_TARGET_XILINX_PREBUILT_FAMILY)) +XILINX_PREBUILT_BOARD = $(call qstrip,$(BR2_TARGET_XILINX_PREBUILT_BOARD)) + +XILINX_PREBUILT_BOARD_DIR = $(@D)/$(XILINX_PREBUILT_BOARD)-$(XILINX_PREBUILT_FAMILY) + +# Common Files for All Versal Families +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL)$(BR2_TARGET_XILINX_PREBUILT_VERSAL2),y) +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA),y) +# Supports either plm.elf or plmfw.elf filenames +XILINX_PREBUILT_PLM = $(@D)/pdi_files/gen_files/plm*.elf +# We need the *.pdi glob, because the file has different names for the +# different boards, and it has to be named boot.pdi when installed. +# If Segmented Configuration is used, there will be two pdi files and we need +# the file that has "_boot.pdi" in the filename. +define XILINX_PREBUILT_INSTALL_VERSAL_XSA_BOOT_PDI + $(INSTALL) -D -m 0644 \ + $(if $(wildcard $(@D)/*_boot.pdi), \ + $(@D)/*_boot.pdi, \ + $(@D)/*.pdi \ + ) \ + $(BINARIES_DIR)/boot.pdi +endef + +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL_PLD_PDI),y) +# Install pld.pdi in target file system for run-time loading when using +# Versal Segmented Configuration. +define XILINX_PREBUILT_INSTALL_VERSAL_XSA_PLD_PDI + $(if $(wildcard $(@D)/*_pld.pdi), + mkdir -p $(TARGET_DIR)/lib/firmware/xilinx && \ + $(INSTALL) -D -m 0644 $(@D)/*_pld.pdi \ + $(TARGET_DIR)/lib/firmware/xilinx + ) +endef +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_PLD_PDI +else # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA +# Supports either plm.elf or plmfw.elf filenames +XILINX_PREBUILT_PLM = $(XILINX_PREBUILT_BOARD_DIR)/plm*.elf +# We need the *.pdi glob, because the file has different names for the +# different boards, and it has to be named boot.pdi when installed. +# If Segmented Configuration is used, there will be two pdi files and we need +# the file that has "_boot.pdi" in the filename. +define XILINX_PREBUILT_INSTALL_VERSAL_BOOT_PDI + $(INSTALL) -D -m 0644 \ + $(if $(wildcard $(XILINX_PREBUILT_BOARD_DIR)/*_boot.pdi), \ + $(XILINX_PREBUILT_BOARD_DIR)/*_boot.pdi, \ + $(XILINX_PREBUILT_BOARD_DIR)/*.pdi \ + ) \ + $(BINARIES_DIR)/boot.pdi +endef + +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL_PLD_PDI),y) +# Install pld.pdi in target file system for run-time loading when using +# Versal Segmented Configuration. +define XILINX_PREBUILT_INSTALL_VERSAL_PLD_PDI + $(if $(wildcard $(XILINX_PREBUILT_BOARD_DIR)/*_pld.pdi), + mkdir -p $(TARGET_DIR)/lib/firmware/xilinx && \ + $(INSTALL) -D -m 0644 $(XILINX_PREBUILT_BOARD_DIR)/*_pld.pdi \ + $(TARGET_DIR)/lib/firmware/xilinx + ) +endef +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_PLD_PDI +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA + +ifneq ($(BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM),y) +ifneq ($(BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL2_PLM),y) +define XILINX_PREBUILT_INSTALL_VERSAL_PLM + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PLM) \ + $(BINARIES_DIR)/plm.elf +endef +endif # !BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL2_PLM +endif # !BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL | BR2_TARGET_XILINX_PREBUILT_VERSAL2 + +# Files specific to Versal Gen1 +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL),y) +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA),y) +# Unlike the psmfw.elf file for Xilinx development boards, +# AMD Vivado Design Suite currently generates a file named psm_fw.elf. +# Future versions of AMD Vivado will generate a file named psmfw.elf, +# so to support current and future AMD Vivado versions, the filename +# psm*fw.elf is used. +XILINX_PREBUILT_PSMFW = $(@D)/pdi_files/static_files/psm*fw.elf +else # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA +XILINX_PREBUILT_PSMFW = $(XILINX_PREBUILT_BOARD_DIR)/psmfw.elf +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA + +ifneq ($(BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW),y) +define XILINX_PREBUILT_INSTALL_VERSAL_PSMFW + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PSMFW) \ + $(BINARIES_DIR)/psmfw.elf +endef +endif # !BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL + +ifeq ($(BR2_TARGET_XILINX_PREBUILT_KRIA)$(BR2_TARGET_XILINX_PREBUILT_ZYNQMP),y) +ifneq ($(BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW),y) +define XILINX_PREBUILT_INSTALL_ZYNQMP_PMUFW + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/pmufw.elf \ + $(BINARIES_DIR)/pmufw.elf +endef +endif # !BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW +endif # BR2_TARGET_XILINX_PREBUILT_KRIA | BR2_TARGET_XILINX_PREBUILT_ZYNQMP + +define XILINX_PREBUILT_INSTALL_IMAGES_CMDS + $(XILINX_PREBUILT_INSTALL_VERSAL_PLM) + $(XILINX_PREBUILT_INSTALL_VERSAL_PSMFW) + $(XILINX_PREBUILT_INSTALL_VERSAL_BOOT_PDI) + $(XILINX_PREBUILT_INSTALL_VERSAL_XSA_BOOT_PDI) + $(XILINX_PREBUILT_INSTALL_ZYNQMP_PMUFW) +endef + +define XILINX_PREBUILT_INSTALL_TARGET_CMDS + $(XILINX_PREBUILT_INSTALL_VERSAL_PLD_PDI) + $(XILINX_PREBUILT_INSTALL_VERSAL_XSA_PLD_PDI) +endef + +$(eval $(generic-package)) diff --git a/boot/xilinx-prebuilt/xilinx_v2025.2/xilinx-prebuilt.hash b/boot/xilinx-prebuilt/xilinx_v2025.2/xilinx-prebuilt.hash new file mode 100644 index 00000000000..9828b6595ed --- /dev/null +++ b/boot/xilinx-prebuilt/xilinx_v2025.2/xilinx-prebuilt.hash @@ -0,0 +1,5 @@ +# Locally calculated +sha256 d292a52ac167631860b5e9a8d8356946289da164ddde4c5393977dc1652dcadb xilinx-prebuilt-xilinx_v2025.2.tar.gz + +# Locally calculated +sha256 e7ed8599c0cbf9e28d07883f94ee6ff694f6a702daa56c75b2cf4b30105baecc LICENSE diff --git a/boot/xloader/Config.in b/boot/xloader/Config.in deleted file mode 100644 index c411be478b2..00000000000 --- a/boot/xloader/Config.in +++ /dev/null @@ -1,15 +0,0 @@ -config BR2_TARGET_XLOADER - bool "X-loader" - depends on BR2_cortex_a8 || BR2_cortex_a9 - help - The x-loader bootloader. It is mainly used on OMAP-based - platforms. - -if BR2_TARGET_XLOADER -config BR2_TARGET_XLOADER_BOARDNAME - string "x-loader board name" - help - One of x-loader supported boards to be built. - This will be suffixed with _config to meet x-loader - standard naming. -endif diff --git a/boot/xloader/xloader.mk b/boot/xloader/xloader.mk deleted file mode 100644 index 7e0b2866813..00000000000 --- a/boot/xloader/xloader.mk +++ /dev/null @@ -1,32 +0,0 @@ -################################################################################ -# -# x-loader -# -################################################################################ - -XLOADER_VERSION = 6f3a26101303051e0f91b6213735b68ce804e94e -XLOADER_SITE = git://gitorious.org/x-loader/x-loader.git -XLOADER_BOARD_NAME = $(call qstrip,$(BR2_TARGET_XLOADER_BOARDNAME)) - -XLOADER_LICENSE = GPL-2.0+ -XLOADER_LICENSE_FILES = README - -XLOADER_INSTALL_IMAGES = YES - -define XLOADER_BUILD_CMDS - $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) $(XLOADER_BOARD_NAME)_config - $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) all - $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) ift -endef - -define XLOADER_INSTALL_IMAGES_CMDS - $(INSTALL) -D -m 0755 $(@D)/MLO $(BINARIES_DIR)/ -endef - -$(eval $(generic-package)) - -ifeq ($(BR2_TARGET_XLOADER)$(BR_BUILDING),yy) -ifeq ($(XLOADER_BOARD_NAME),) -$(error NO x-loader board name set. Check your BR2_BOOT_XLOADER_BOARDNAME setting) -endif -endif diff --git a/configs/aarch64_efi_defconfig b/configs/aarch64_efi_defconfig new file mode 100644 index 00000000000..390f3fc6ac7 --- /dev/null +++ b/configs/aarch64_efi_defconfig @@ -0,0 +1,23 @@ +BR2_aarch64=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/aarch64-efi/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/aarch64-efi/post-image.sh support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/aarch64-efi/genimage-efi.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.14" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="200M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_GRUB2=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/acmesystems_acqua_a5_256mb_defconfig b/configs/acmesystems_acqua_a5_256mb_defconfig new file mode 100644 index 00000000000..f2ab66631f0 --- /dev/null +++ b/configs/acmesystems_acqua_a5_256mb_defconfig @@ -0,0 +1,30 @@ +BR2_arm=y +BR2_cortex_a5=y +BR2_ARM_ENABLE_VFP=y +BR2_ARM_INSTRUCTIONS_THUMB2=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/acmesystems/acqua-a5/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/acmesystems/acqua-a5/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.8" +BR2_LINUX_KERNEL_DEFCONFIG="sama5" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_CUSTOM_DTS_DIR="board/acmesystems/acqua-a5/dts" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" +BR2_TARGET_AT91BOOTSTRAP3_LICENSE_FILES="" +BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="acqua-256m" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/acmesystems_acqua_a5_512mb_defconfig b/configs/acmesystems_acqua_a5_512mb_defconfig new file mode 100644 index 00000000000..172eaef39f1 --- /dev/null +++ b/configs/acmesystems_acqua_a5_512mb_defconfig @@ -0,0 +1,30 @@ +BR2_arm=y +BR2_cortex_a5=y +BR2_ARM_ENABLE_VFP=y +BR2_ARM_INSTRUCTIONS_THUMB2=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/acmesystems/acqua-a5/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/acmesystems/acqua-a5/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.8" +BR2_LINUX_KERNEL_DEFCONFIG="sama5" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_CUSTOM_DTS_DIR="board/acmesystems/acqua-a5/dts" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" +BR2_TARGET_AT91BOOTSTRAP3_LICENSE_FILES="" +BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="acqua-512m" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/acmesystems_aria_g25_128mb_defconfig b/configs/acmesystems_aria_g25_128mb_defconfig index 0ec210f33e8..0aff8f92e0d 100644 --- a/configs/acmesystems_aria_g25_128mb_defconfig +++ b/configs/acmesystems_aria_g25_128mb_defconfig @@ -1,36 +1,26 @@ -# Architecture BR2_arm=y - -# Kernel headers -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_7=y - -# System configuration +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_GLOBAL_PATCH_DIR="board/acmesystems/aria-g25/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_ISSUE="Welcome to Aria-G25 Buildroot" BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/acmesystems/aria-g25/post-image.sh" - -# Kernel configuration +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/acmesystems/aria-g25/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.7.4" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.315" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-ariag25" - -# Root filesystem +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_LABEL="rootfs" - -# AT91bootstrap bootloader BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.6" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="aria-128m" - -# Tools to build sdcard.img BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/acmesystems_aria_g25_256mb_defconfig b/configs/acmesystems_aria_g25_256mb_defconfig index a480287cef3..e75ca9cf346 100644 --- a/configs/acmesystems_aria_g25_256mb_defconfig +++ b/configs/acmesystems_aria_g25_256mb_defconfig @@ -1,36 +1,26 @@ -# Architecture BR2_arm=y - -# Kernel headers -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_7=y - -# System configuration +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_GLOBAL_PATCH_DIR="board/acmesystems/aria-g25/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_ISSUE="Welcome to Aria-G25 Buildroot" BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/acmesystems/aria-g25/post-image.sh" - -# Kernel configuration +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/acmesystems/aria-g25/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.7.4" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.315" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-ariag25" - -# Root filesystem +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_LABEL="rootfs" - -# AT91bootstrap bootloader BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.6" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="aria-256m" - -# Tools to build sdcard.img BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/acmesystems_arietta_g25_128mb_defconfig b/configs/acmesystems_arietta_g25_128mb_defconfig index a68ac57ff7d..788818c118a 100644 --- a/configs/acmesystems_arietta_g25_128mb_defconfig +++ b/configs/acmesystems_arietta_g25_128mb_defconfig @@ -1,36 +1,26 @@ -# Architecture BR2_arm=y - -# Kernel headers -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_7=y - -# System configuration +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_GLOBAL_PATCH_DIR="board/acmesystems/arietta-g25/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_ISSUE="Welcome to Arietta-G25 Buildroot" BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/acmesystems/arietta-g25/post-image.sh" - -# Kernel configuration +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/acmesystems/arietta-g25/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.7.4" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.315" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-ariettag25" - -# Root filesystem +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_LABEL="rootfs" - -# AT91bootstrap bootloader BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.6" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="arietta-128m" - -# Tools to build sdcard.img BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/acmesystems_arietta_g25_256mb_defconfig b/configs/acmesystems_arietta_g25_256mb_defconfig index ce9ebacb8d4..c483ae4c573 100644 --- a/configs/acmesystems_arietta_g25_256mb_defconfig +++ b/configs/acmesystems_arietta_g25_256mb_defconfig @@ -1,36 +1,26 @@ -# Architecture BR2_arm=y - -# Kernel headers -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_7=y - -# System configuration +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_GLOBAL_PATCH_DIR="board/acmesystems/arietta-g25/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_ISSUE="Welcome to Arietta-G25 Buildroot" BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/acmesystems/arietta-g25/post-image.sh" - -# Kernel configuration +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/acmesystems/arietta-g25/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.7.4" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.315" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-ariettag25" - -# Root filesystem +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_LABEL="rootfs" - -# AT91bootstrap bootloader BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.6" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="arietta-256m" - -# Tools to build sdcard.img BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/am574x_idk_defconfig b/configs/am574x_idk_defconfig new file mode 100644 index 00000000000..3ec8829ff75 --- /dev/null +++ b/configs/am574x_idk_defconfig @@ -0,0 +1,37 @@ +BR2_arm=y +BR2_cortex_a15=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/ti/am574x-idk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/ti/am574x-idk/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ti/am574x-idk/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.18" +BR2_LINUX_KERNEL_DEFCONFIG="multi_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/omap/am574x-idk" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am57xx_evm" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="MLO" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/amarula_vyasa_rk3288_defconfig b/configs/amarula_vyasa_rk3288_defconfig new file mode 100644 index 00000000000..cf99702d0c9 --- /dev/null +++ b/configs/amarula_vyasa_rk3288_defconfig @@ -0,0 +1,39 @@ +BR2_arm=y +BR2_cortex_a17=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/amarula/vyasa/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="vyasa-rk3288" +BR2_TARGET_GENERIC_ISSUE="Welcome to VYASA RK3288!" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/amarula/vyasa/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/amarula/vyasa/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.8" +BR2_LINUX_KERNEL_DEFCONFIG="multi_v7" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/amarula/vyasa/linux_gmac.fragment" +BR2_LINUX_KERNEL_UIMAGE=y +BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x02000000" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3288-vyasa" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="512M" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="vyasa-rk3288" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl-dtb.bin tpl/u-boot-tpl.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/andes_ae350_45_defconfig b/configs/andes_ae350_45_defconfig new file mode 100644 index 00000000000..80b780b6e09 --- /dev/null +++ b/configs/andes_ae350_45_defconfig @@ -0,0 +1,43 @@ +BR2_riscv=y +BR2_RISCV_ISA_RVC=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/andes/ae350/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_ROOTFS_OVERLAY="board/andes/ae350/rootfs_overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/andes/ae350/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/andes/ae350/genimage_sdcard.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,andestech,linux,v6.0.y-andes)/linux-v6.0.y-andes.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="ae350_ax45mp" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="andes/ae350_ax45mp" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.6" +BR2_TARGET_OPENSBI_PLAT="generic" +# BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="ae350_rv64_spl_xip" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/andes/ae350/uboot.config.fragment" +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_OPENSBI=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_ANDES_SPI_BURN=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/arcturus_ucls1012a_defconfig b/configs/arcturus_ucls1012a_defconfig new file mode 100644 index 00000000000..72f308c86d3 --- /dev/null +++ b/configs/arcturus_ucls1012a_defconfig @@ -0,0 +1,23 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +BR2_TARGET_GENERIC_HOSTNAME="ucls1012a" +BR2_TARGET_GENERIC_ISSUE="Welcome to uCLS1012A-SOM" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/arcturus/aarch64-ucls1012a/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/arcturus/aarch64-ucls1012a/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,ArcturusNetworks,uCLS1012A-kernel,v.22.06)/linux-v.22.06.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="ucls1012a" +BR2_LINUX_KERNEL_IMAGEGZ=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="arcturus/arc-ucls1012a" +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_GZIP=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,ArcturusNetworks,uCLS1012A-uboot,v.22.06)/uboot-v.22.06.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="UCLS1012A_QSPI128" +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/arcturus_ucp1020_defconfig b/configs/arcturus_ucp1020_defconfig index cc1297ce1f1..8e489f7f192 100644 --- a/configs/arcturus_ucp1020_defconfig +++ b/configs/arcturus_ucp1020_defconfig @@ -1,31 +1,19 @@ -# Architecture BR2_powerpc=y BR2_powerpc_8548=y - -# Linux headers same as kernel, a 4.1 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y - -# System settings +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y BR2_TARGET_GENERIC_HOSTNAME="UCP1020" BR2_TARGET_GENERIC_ISSUE="Welcome to Arcturus uCP1020 System on Module" BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_SYSTEM_DHCP="eth0" - -# Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.1.27" -BR2_LINUX_KERNEL_PATCH="board/arcturus/ppc-ucp1020/patches/linux" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/arcturus/ppc-ucp1020/configs/linux-4.1.x.config" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,ArcturusNetworks,uCP1020-kernel,v20190618)/linux-v20190618.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="ucp1020" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="ucp1020" - -# Filesystem BR2_TARGET_ROOTFS_JFFS2=y - -# U-boot BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="UCP1020" -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.07" +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,ArcturusNetworks,uCP1020-uboot,v20190618)/uboot-v20190618.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="UCP1020" diff --git a/configs/arm_foundationv8_defconfig b/configs/arm_foundationv8_defconfig index d31f69d3ac2..61e2f359ce3 100644 --- a/configs/arm_foundationv8_defconfig +++ b/configs/arm_foundationv8_defconfig @@ -1,16 +1,22 @@ BR2_aarch64=y -# Linux headers same as kernel, a 4.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_15=y +BR2_GLOBAL_PATCH_DIR="board/arm/foundation-v8/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" +BR2_SYSTEM_DHCP="eth0" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.3" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(LINUX_DIR)/arch/arm64/configs/defconfig" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.15.7" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="arm/foundation-v8" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="arm/foundation-v8-gicv3-psci" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3=y BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_SIZE="128M" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_BOOT_WRAPPER_AARCH64=y -BR2_TARGET_BOOT_WRAPPER_AARCH64_DTS="arm/foundation-v8" +BR2_TARGET_BOOT_WRAPPER_AARCH64_DTS="arm/foundation-v8-gicv3-psci" BR2_TARGET_BOOT_WRAPPER_AARCH64_BOOTARGS="root=/dev/vda consolelog=9 console=ttyAMA0 rw" +BR2_TARGET_BOOT_WRAPPER_AARCH64_PSCI=y +BR2_TARGET_BOOT_WRAPPER_AARCH64_GICV3=y diff --git a/configs/arm_fvp_ebbr_defconfig b/configs/arm_fvp_ebbr_defconfig new file mode 100644 index 00000000000..665f59c130c --- /dev/null +++ b/configs/arm_fvp_ebbr_defconfig @@ -0,0 +1,50 @@ +BR2_aarch64=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/arm/fvp-ebbr/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/arm/fvp-ebbr/post-image.sh support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/arm/fvp-ebbr/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3=y +BR2_PACKAGE_OPTEE_CLIENT=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="200M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.14.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="fvp" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_DTS_PATH="board/arm/fvp-ebbr/fvp-ebbr.dts" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="ARM_TSP_RAM_LOCATION=tdram FVP_DT_PREFIX=fvp-ebbr" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot efi_gop efifwsetup efinet efitextmode ext2 fat halt help linux lsefi lsefimmap lsefisystab minicmd normal part_gpt part_msdos reboot squash4" +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_CUSTOM_VERSION=y +BR2_TARGET_OPTEE_OS_CUSTOM_VERSION_VALUE="4.8.0" +BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y +BR2_TARGET_OPTEE_OS_PLATFORM="vexpress-fvp" +BR2_TARGET_OPTEE_OS_ADDITIONAL_VARIABLES="CFG_ARM_GICV3=y CFG_TEE_CORE_LOG_LEVEL=2 CFG_TEE_TA_LOG_LEVEL=2" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="vexpress_fvp" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/arm/fvp-ebbr/u-boot.fragment" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/arm_juno_defconfig b/configs/arm_juno_defconfig deleted file mode 100644 index 811524ffba4..00000000000 --- a/configs/arm_juno_defconfig +++ /dev/null @@ -1,21 +0,0 @@ -BR2_aarch64=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6=y -BR2_TARGET_GENERIC_HOSTNAME="juno-buildroot" -BR2_TARGET_GENERIC_ISSUE="Welcome to SNPS Juno by Buildroot" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.6" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/arm/juno/linux-juno-defconfig" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="arm/juno arm/juno-r1 arm/juno-r2" -BR2_TARGET_ARM_TRUSTED_FIRMWARE=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v1.2" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="juno" -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="vexpress_aemv8a_juno" -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.03" -BR2_TARGET_VEXPRESS_FIRMWARE=y diff --git a/configs/armadeus_apf27_defconfig b/configs/armadeus_apf27_defconfig index 6f78b74d3af..1bb7c446ed5 100644 --- a/configs/armadeus_apf27_defconfig +++ b/configs/armadeus_apf27_defconfig @@ -1,31 +1,24 @@ -# Architecture BR2_arm=y -BR2_arm926t=y - -# Linux headers same as kernel, a 4.12 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_GLOBAL_PATCH_DIR="board/armadeus/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_HOSTNAME="apf27" BR2_TARGET_GENERIC_ISSUE="Welcome to Armadeus development platform !" BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" - -# Filesystem -BR2_TARGET_ROOTFS_UBIFS=y -BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=2047 -BR2_TARGET_ROOTFS_UBI=y - -# Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.12.4" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.215" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/armadeus/apf27/linux-4.12.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/armadeus/apf27/linux-5.10.config" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0xA0008000" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx27-apf27dev" - -# U-boot +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_UBI=y +BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=2047 BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="apf27" +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.09" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="apf27" diff --git a/configs/armadeus_apf28_defconfig b/configs/armadeus_apf28_defconfig index 31fb52897b1..4db1c558cca 100644 --- a/configs/armadeus_apf28_defconfig +++ b/configs/armadeus_apf28_defconfig @@ -1,29 +1,20 @@ -# Architecture BR2_arm=y -BR2_arm926t=y - -# Linux headers same as kernel, a 4.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_GLOBAL_PATCH_DIR="board/armadeus/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_HOSTNAME="apf28" BR2_TARGET_GENERIC_ISSUE="Welcome to Armadeus development platform !" BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" - -# Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.30" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/armadeus/apf28/linux-4.4.config" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.215" +BR2_LINUX_KERNEL_DEFCONFIG="mxs" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x40008000" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx28-apf28dev" - -# Filesystem -BR2_TARGET_ROOTFS_UBIFS=y -BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000 -BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=4227 +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_UBI=y BR2_TARGET_ROOTFS_UBI_SUBSIZE=0 +BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000 +BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=4227 diff --git a/configs/armadeus_apf51_defconfig b/configs/armadeus_apf51_defconfig index e8346267139..0d9d4f2bc60 100644 --- a/configs/armadeus_apf51_defconfig +++ b/configs/armadeus_apf51_defconfig @@ -1,27 +1,20 @@ -# Architecture BR2_arm=y BR2_cortex_a8=y - -# Linux headers same as kernel, a 3.12 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_GLOBAL_PATCH_DIR="board/armadeus/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_HOSTNAME="apf51" BR2_TARGET_GENERIC_ISSUE="Welcome to Armadeus development platform !" BR2_TARGET_GENERIC_GETTY_PORT="ttymxc2" - -# Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.30" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.215" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/armadeus/apf51/linux-4.4.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/armadeus/apf51/linux-5.10.config" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x90008000" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx51-apf51dev" - -# Filesystem -BR2_TARGET_ROOTFS_UBIFS=y -BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=135301 +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_UBI=y +BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=135301 diff --git a/configs/aspeed_ast2500evb_defconfig b/configs/aspeed_ast2500evb_defconfig new file mode 100644 index 00000000000..2ea5ed774e8 --- /dev/null +++ b/configs/aspeed_ast2500evb_defconfig @@ -0,0 +1,34 @@ +BR2_arm=y +BR2_arm1176jzf_s=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/aspeed/ast2500-evb/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="ast2500-evb" +BR2_TARGET_GENERIC_ISSUE="Aspeed AST2500 EVB" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/aspeed/common/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.16.7" +BR2_LINUX_KERNEL_DEFCONFIG="aspeed_g5" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/aspeed/ast2500-evb/linux.fragment" +BR2_LINUX_KERNEL_XZ=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="aspeed/aspeed-ast2500-evb" +BR2_PACKAGE_MTD=y +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_XZ=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="evb-ast2500" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/aspeed/ast2500-evb/uboot.fragment" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=ast2500-evb" +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/aspeed_ast2600evb_defconfig b/configs/aspeed_ast2600evb_defconfig new file mode 100644 index 00000000000..056c6aedc1a --- /dev/null +++ b/configs/aspeed_ast2600evb_defconfig @@ -0,0 +1,31 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/aspeed/ast2600-evb/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="ast2600-evb" +BR2_TARGET_GENERIC_ISSUE="Aspeed AST2600 EVB" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/aspeed/common/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.16.7" +BR2_LINUX_KERNEL_DEFCONFIG="aspeed_g5" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="aspeed/aspeed-ast2600-evb" +BR2_PACKAGE_MTD=y +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_XZ=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/openbmc/u-boot.git" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="66672e5af36fe294df56f8e7942069e3909f3790" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="evb-ast2600" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=ast2600a1-evb" +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/asus_tinker-s_rk3288_defconfig b/configs/asus_tinker-s_rk3288_defconfig new file mode 100644 index 00000000000..1027a653799 --- /dev/null +++ b/configs/asus_tinker-s_rk3288_defconfig @@ -0,0 +1,34 @@ +BR2_arm=y +BR2_cortex_a17=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_TARGET_GENERIC_HOSTNAME="tinker-rk3288-s" +BR2_TARGET_GENERIC_ISSUE="Welcome to TINKER S RK3288!" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/asus/tinker-s/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/asus/tinker/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.79" +BR2_LINUX_KERNEL_DEFCONFIG="multi_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rk3288-tinker-s" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="512M" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="tinker-s-rk3288" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl-dtb.bin tpl/u-boot-tpl.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/asus_tinker_rk3288_defconfig b/configs/asus_tinker_rk3288_defconfig new file mode 100644 index 00000000000..8326405536b --- /dev/null +++ b/configs/asus_tinker_rk3288_defconfig @@ -0,0 +1,37 @@ +BR2_arm=y +BR2_cortex_a17=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/asus/tinker/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="tinker-rk3288" +BR2_TARGET_GENERIC_ISSUE="Welcome to TINKER RK3288!" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/asus/tinker/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/asus/tinker/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.8" +BR2_LINUX_KERNEL_DEFCONFIG="multi_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3288-tinker" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="512M" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="tinker-rk3288" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl-dtb.bin tpl/u-boot-tpl.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/at91sam9260eknf_defconfig b/configs/at91sam9260eknf_defconfig deleted file mode 100644 index d91fcb0549d..00000000000 --- a/configs/at91sam9260eknf_defconfig +++ /dev/null @@ -1,33 +0,0 @@ -# Architecture -BR2_arm=y -BR2_arm926t=y - -# Linux headers same as kernel, a 4.8 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6" -BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9260ek" - -# Filesystem -BR2_TARGET_ROOTFS_UBIFS=y -BR2_TARGET_ROOTFS_UBI=y - -# Bootloaders -BR2_TARGET_AT91BOOTSTRAP3=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7" -BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9260eknf_uboot" -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9260ek_nandflash" - -# Host packages -BR2_PACKAGE_HOST_SAM_BA=y diff --git a/configs/at91sam9g20dfc_defconfig b/configs/at91sam9g20dfc_defconfig deleted file mode 100644 index 15a8d879b7a..00000000000 --- a/configs/at91sam9g20dfc_defconfig +++ /dev/null @@ -1,32 +0,0 @@ -# Architecture -BR2_arm=y -BR2_arm926t=y - -# Linux headers same as kernel, a 4.8 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6" -BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9g20ek" - -# Filesystem -BR2_TARGET_ROOTFS_TAR=y - -# Bootloaders -BR2_TARGET_AT91BOOTSTRAP3=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7" -BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9g20eknf_uboot" -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9g20ek_nandflash" - -# Host packages -BR2_PACKAGE_HOST_SAM_BA=y diff --git a/configs/at91sam9g45m10ek_defconfig b/configs/at91sam9g45m10ek_defconfig deleted file mode 100644 index 2bf7179980c..00000000000 --- a/configs/at91sam9g45m10ek_defconfig +++ /dev/null @@ -1,34 +0,0 @@ -# Architecture -BR2_arm=y -BR2_arm926t=y - -# Linux headers same as kernel, a 4.8 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6" -BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9m10g45ek" - -# Filesystem -BR2_TARGET_ROOTFS_UBIFS=y -BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=2047 -BR2_TARGET_ROOTFS_UBI=y - -# Bootloaders -BR2_TARGET_AT91BOOTSTRAP3=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7" -BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9m10g45eknf_uboot" -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9m10g45ek_nandflash" - -# Host packages -BR2_PACKAGE_HOST_SAM_BA=y diff --git a/configs/at91sam9rlek_defconfig b/configs/at91sam9rlek_defconfig deleted file mode 100644 index bc1be16421a..00000000000 --- a/configs/at91sam9rlek_defconfig +++ /dev/null @@ -1,34 +0,0 @@ -# Architecture -BR2_arm=y -BR2_arm926t=y - -# Linux headers same as kernel, a 4.8 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6" -BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9rlek" - -# Filesystem -BR2_TARGET_ROOTFS_UBIFS=y -BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=2047 -BR2_TARGET_ROOTFS_UBI=y - -# Bootloaders -BR2_TARGET_AT91BOOTSTRAP3=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7" -BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9rleknf_uboot" -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9rlek_nandflash" - -# Host packages -BR2_PACKAGE_HOST_SAM_BA=y diff --git a/configs/at91sam9x5ek_defconfig b/configs/at91sam9x5ek_defconfig index a5362303453..775fcceae37 100644 --- a/configs/at91sam9x5ek_defconfig +++ b/configs/at91sam9x5ek_defconfig @@ -1,28 +1,27 @@ BR2_arm=y -BR2_arm926t=y -# Linux headers same as kernel, a 4.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_GLOBAL_PATCH_DIR="board/atmel/at91sam9x5ek/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.1)/linux-linux4sam_6.1.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9g15ek at91sam9g25ek at91sam9g35ek at91sam9x25ek at91sam9x35ek" -BR2_TARGET_ROOTFS_UBIFS=y -BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000 +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_UBI=y BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048 +BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000 BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9x5eknf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.1" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9x5ek_nandflash" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_SAM_BA=y diff --git a/configs/at91sam9x5ek_dev_defconfig b/configs/at91sam9x5ek_dev_defconfig index 3af4ba74e80..0f292167361 100644 --- a/configs/at91sam9x5ek_dev_defconfig +++ b/configs/at91sam9x5ek_dev_defconfig @@ -1,30 +1,16 @@ -# Architecture BR2_arm=y -BR2_arm926t=y - -# Toolchain -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y -# Needed for some packages -BR2_TOOLCHAIN_BUILDROOT_WCHAR=y -# Needed for gdb -BR2_PTHREAD_DEBUG=y -# Needed for some packages +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y BR2_TOOLCHAIN_BUILDROOT_CXX=y - -# System Configuration -# Needed for usb-utils +BR2_GLOBAL_PATCH_DIR="board/atmel/at91sam9x5ek/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y - -# Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.1)/linux-linux4sam_6.1.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9g15ek at91sam9g25ek at91sam9g35ek at91sam9x25ek at91sam9x35ek" - -# Packages +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y BR2_PACKAGE_ALSA_UTILS=y BR2_PACKAGE_ALSA_UTILS_ALSACONF=y @@ -47,7 +33,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y BR2_PACKAGE_MMC_UTILS=y BR2_PACKAGE_MTD=y BR2_PACKAGE_WILC1000_FIRMWARE=y -BR2_PACKAGE_DEVMEM2=y +BR2_PACKAGE_WILC3000_FIRMWARE=y BR2_PACKAGE_EVTEST=y BR2_PACKAGE_I2C_TOOLS=y BR2_PACKAGE_SETSERIAL=y @@ -57,10 +43,9 @@ BR2_PACKAGE_LIBDRM=y BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y BR2_PACKAGE_DTC=y BR2_PACKAGE_DTC_PROGRAMS=y -BR2_PACKAGE_BLUEZ_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS=y BR2_PACKAGE_BRIDGE_UTILS=y BR2_PACKAGE_CAN_UTILS=y -BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_IPERF=y BR2_PACKAGE_IPROUTE2=y @@ -75,26 +60,19 @@ BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_BASH=y BR2_PACKAGE_HTOP=y BR2_PACKAGE_VIM=y - -# Filesystem -BR2_TARGET_ROOTFS_UBIFS=y -BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000 BR2_TARGET_ROOTFS_UBI=y BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048 - -# Bootloaders +BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000 BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9x5eknf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.1" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9x5ek_nandflash" BR2_TARGET_UBOOT_NEEDS_DTC=y - -# Host packages BR2_PACKAGE_HOST_SAM_BA=y diff --git a/configs/at91sam9x5ek_mmc_defconfig b/configs/at91sam9x5ek_mmc_defconfig index 5ccbdb9861f..a6fd7e05fcb 100644 --- a/configs/at91sam9x5ek_mmc_defconfig +++ b/configs/at91sam9x5ek_mmc_defconfig @@ -1,45 +1,34 @@ -# Architecture BR2_arm=y -BR2_arm926t=y - -# Toolchain -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y - -# Creation of the SD card image -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/atmel/at91sam9x5ek_mmc/post-image.sh" - -# Kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_GLOBAL_PATCH_DIR="board/atmel/at91sam9x5ek/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/at91sam9x5ek_mmc/genimage.cfg" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.1)/linux-linux4sam_6.1.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9g15ek at91sam9g25ek at91sam9g35ek at91sam9x25ek at91sam9x35ek" - -# Filesystem +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y - -# Bootloaders BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9x5eksd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.1" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9x5ek_mmc" BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_ENVIMAGE=y -BR2_TARGET_UBOOT_ENVIMAGE_SOURCE="board/atmel/at91sam9x5ek_mmc/uboot-env.txt" -BR2_TARGET_UBOOT_ENVIMAGE_SIZE="0x4000" - -# Host packages -# Needed to generate the SD card image BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE="board/atmel/at91sam9x5ek_mmc/uboot-env.txt" +BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SIZE="0x4000" diff --git a/configs/at91sam9x5ek_mmc_dev_defconfig b/configs/at91sam9x5ek_mmc_dev_defconfig index e84bae3b02f..344c6c2eae4 100644 --- a/configs/at91sam9x5ek_mmc_dev_defconfig +++ b/configs/at91sam9x5ek_mmc_dev_defconfig @@ -1,32 +1,18 @@ -# Architecture BR2_arm=y -BR2_arm926t=y - -# Toolchain -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y -# Needed for some packages -BR2_TOOLCHAIN_BUILDROOT_WCHAR=y -# Needed for gdb -BR2_PTHREAD_DEBUG=y -# Needed for some packages +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y BR2_TOOLCHAIN_BUILDROOT_CXX=y - -# System Configuration -# Needed for usb-utils +BR2_GLOBAL_PATCH_DIR="board/atmel/at91sam9x5ek/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y -# Creation of the SD card image -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/atmel/at91sam9x5ek_mmc/post-image.sh" - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/at91sam9x5ek_mmc/genimage.cfg" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.1)/linux-linux4sam_6.1.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9g15ek at91sam9g25ek at91sam9g35ek at91sam9x25ek at91sam9x35ek" - -# Packages +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y BR2_PACKAGE_ALSA_UTILS=y BR2_PACKAGE_ALSA_UTILS_ALSACONF=y @@ -49,7 +35,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y BR2_PACKAGE_MMC_UTILS=y BR2_PACKAGE_MTD=y BR2_PACKAGE_WILC1000_FIRMWARE=y -BR2_PACKAGE_DEVMEM2=y +BR2_PACKAGE_WILC3000_FIRMWARE=y BR2_PACKAGE_EVTEST=y BR2_PACKAGE_I2C_TOOLS=y BR2_PACKAGE_SETSERIAL=y @@ -59,10 +45,9 @@ BR2_PACKAGE_LIBDRM=y BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y BR2_PACKAGE_DTC=y BR2_PACKAGE_DTC_PROGRAMS=y -BR2_PACKAGE_BLUEZ_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS=y BR2_PACKAGE_BRIDGE_UTILS=y BR2_PACKAGE_CAN_UTILS=y -BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_IPERF=y BR2_PACKAGE_IPROUTE2=y @@ -77,31 +62,25 @@ BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_BASH=y BR2_PACKAGE_HTOP=y BR2_PACKAGE_VIM=y - -# Filesystem BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" - -# Bootloaders BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.3" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9x5eksd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.1" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9x5ek_mmc" BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_ENVIMAGE=y -BR2_TARGET_UBOOT_ENVIMAGE_SOURCE="board/atmel/at91sam9x5ek_mmc/uboot-env.txt" -BR2_TARGET_UBOOT_ENVIMAGE_SIZE="0x4000" - -# Host packages -# Needed to generate the SD card image BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE="board/atmel/at91sam9x5ek_mmc/uboot-env.txt" +BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SIZE="0x4000" diff --git a/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig b/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig index 0dddaf55d58..85ff29771a8 100644 --- a/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig +++ b/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig @@ -3,19 +3,18 @@ BR2_cortex_a5=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y -BR2_TOOLCHAIN_BUILDROOT_WCHAR=y -BR2_PTHREAD_DEBUG=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/atmel/sama5d27_som1_ek_mmc/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d27_som1_ek_mmc/genimage.cfg" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d27_som1_ek at91-sama5d27_som1_ek_pda4 at91-sama5d27_som1_ek_pda7 at91-sama5d27_som1_ek_pda7b" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d27_som1_ek" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y BR2_PACKAGE_ALSA_UTILS=y BR2_PACKAGE_ALSA_UTILS_ALSACONF=y @@ -38,9 +37,10 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y BR2_PACKAGE_MMC_UTILS=y BR2_PACKAGE_MTD=y BR2_PACKAGE_WILC1000_FIRMWARE=y -BR2_PACKAGE_DEVMEM2=y +BR2_PACKAGE_WILC3000_FIRMWARE=y BR2_PACKAGE_EVTEST=y BR2_PACKAGE_I2C_TOOLS=y +BR2_PACKAGE_RNG_TOOLS=y BR2_PACKAGE_SETSERIAL=y BR2_PACKAGE_SPI_TOOLS=y BR2_PACKAGE_USBUTILS=y @@ -48,10 +48,9 @@ BR2_PACKAGE_LIBDRM=y BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y BR2_PACKAGE_DTC=y BR2_PACKAGE_DTC_PROGRAMS=y -BR2_PACKAGE_BLUEZ_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS=y BR2_PACKAGE_BRIDGE_UTILS=y BR2_PACKAGE_CAN_UTILS=y -BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_IPERF=y BR2_PACKAGE_IPROUTE2=y @@ -68,16 +67,15 @@ BR2_PACKAGE_HTOP=y BR2_PACKAGE_VIM=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_AT91BOOTSTRAP3=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d27_som1_eksd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam-2020.04)/u-boot-at91-linux4sam-2020.04.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d27_som1_ek_mmc" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/configs/atmel_sama5d2_xplained_mmc_defconfig b/configs/atmel_sama5d2_xplained_mmc_defconfig index 9b65a56d94f..5b638126062 100644 --- a/configs/atmel_sama5d2_xplained_mmc_defconfig +++ b/configs/atmel_sama5d2_xplained_mmc_defconfig @@ -3,27 +3,26 @@ BR2_cortex_a5=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/atmel/sama5d2_xplained_mmc/post-image.sh" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d2_xplained_mmc/genimage.cfg" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d2_xplained at91-sama5d2_xplained_pda4 at91-sama5d2_xplained_pda7 at91-sama5d2_xplained_pda7b" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d2_xplained" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d2_xplainedsd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam_6.2)/u-boot-at91-linux4sam_6.2.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d2_xplained_mmc" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/configs/atmel_sama5d2_xplained_mmc_dev_defconfig b/configs/atmel_sama5d2_xplained_mmc_dev_defconfig index 8745bf4535c..8ae53ee71f6 100644 --- a/configs/atmel_sama5d2_xplained_mmc_dev_defconfig +++ b/configs/atmel_sama5d2_xplained_mmc_dev_defconfig @@ -1,35 +1,20 @@ -# Architecture BR2_arm=y BR2_cortex_a5=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y - -# Toolchain -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y -# Needed for some packages -BR2_TOOLCHAIN_BUILDROOT_WCHAR=y -# Needed for gdb -BR2_PTHREAD_DEBUG=y -# Needed for some packages +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_TOOLCHAIN_BUILDROOT_CXX=y - -# System Configuration -# Needed for usb-utils BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y -# Creation of the SD card image -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/atmel/sama5d2_xplained_mmc/post-image.sh" - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d2_xplained_mmc/genimage.cfg" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d2_xplained at91-sama5d2_xplained_pda4 at91-sama5d2_xplained_pda7 at91-sama5d2_xplained_pda7b" - -# Packages +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d2_xplained" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y BR2_PACKAGE_ALSA_UTILS=y BR2_PACKAGE_ALSA_UTILS_ALSACONF=y @@ -52,7 +37,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y BR2_PACKAGE_MMC_UTILS=y BR2_PACKAGE_MTD=y BR2_PACKAGE_WILC1000_FIRMWARE=y -BR2_PACKAGE_DEVMEM2=y +BR2_PACKAGE_WILC3000_FIRMWARE=y BR2_PACKAGE_EVTEST=y BR2_PACKAGE_I2C_TOOLS=y BR2_PACKAGE_SETSERIAL=y @@ -62,10 +47,9 @@ BR2_PACKAGE_LIBDRM=y BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y BR2_PACKAGE_DTC=y BR2_PACKAGE_DTC_PROGRAMS=y -BR2_PACKAGE_BLUEZ_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS=y BR2_PACKAGE_BRIDGE_UTILS=y BR2_PACKAGE_CAN_UTILS=y -BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_IPERF=y BR2_PACKAGE_IPROUTE2=y @@ -80,27 +64,19 @@ BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_BASH=y BR2_PACKAGE_HTOP=y BR2_PACKAGE_VIM=y - -# Filesystem BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y - -# Bootloaders +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_AT91BOOTSTRAP3=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d2_xplainedsd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam_6.2)/u-boot-at91-linux4sam_6.2.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d2_xplained_mmc" BR2_TARGET_UBOOT_NEEDS_DTC=y - -# Host packages -# Needed to generate the SD card image BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/atmel_sama5d3_xplained_defconfig b/configs/atmel_sama5d3_xplained_defconfig index b65c389acc6..969bbaaaab9 100644 --- a/configs/atmel_sama5d3_xplained_defconfig +++ b/configs/atmel_sama5d3_xplained_defconfig @@ -2,28 +2,25 @@ BR2_arm=y BR2_cortex_a5=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained at91-sama5d3_xplained_pda4 at91-sama5d3_xplained_pda7 at91-sama5d3_xplained_pda7b" -BR2_TARGET_ROOTFS_UBIFS=y -BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000 +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_UBI=y BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048 +BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000 BR2_TARGET_AT91BOOTSTRAP3=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainednf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam_6.2)/u-boot-at91-linux4sam_6.2.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3_xplained_nandflash" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_SAM_BA=y diff --git a/configs/atmel_sama5d3_xplained_dev_defconfig b/configs/atmel_sama5d3_xplained_dev_defconfig index f403e2308da..2cbbcdb816b 100644 --- a/configs/atmel_sama5d3_xplained_dev_defconfig +++ b/configs/atmel_sama5d3_xplained_dev_defconfig @@ -1,32 +1,17 @@ -# Architecture BR2_arm=y BR2_cortex_a5=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y - -# Toolchain -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y -# Needed for some packages -BR2_TOOLCHAIN_BUILDROOT_WCHAR=y -# Needed for gdb -BR2_PTHREAD_DEBUG=y -# Needed for some packages +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_TOOLCHAIN_BUILDROOT_CXX=y - -# System Configuration -# Needed for usb-utils BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y - -# Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained at91-sama5d3_xplained_pda4 at91-sama5d3_xplained_pda7 at91-sama5d3_xplained_pda7b" - -# Packages +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y BR2_PACKAGE_ALSA_UTILS=y BR2_PACKAGE_ALSA_UTILS_ALSACONF=y @@ -49,7 +34,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y BR2_PACKAGE_MMC_UTILS=y BR2_PACKAGE_MTD=y BR2_PACKAGE_WILC1000_FIRMWARE=y -BR2_PACKAGE_DEVMEM2=y +BR2_PACKAGE_WILC3000_FIRMWARE=y BR2_PACKAGE_EVTEST=y BR2_PACKAGE_I2C_TOOLS=y BR2_PACKAGE_SETSERIAL=y @@ -59,10 +44,9 @@ BR2_PACKAGE_LIBDRM=y BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y BR2_PACKAGE_DTC=y BR2_PACKAGE_DTC_PROGRAMS=y -BR2_PACKAGE_BLUEZ_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS=y BR2_PACKAGE_BRIDGE_UTILS=y BR2_PACKAGE_CAN_UTILS=y -BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_IPERF=y BR2_PACKAGE_IPROUTE2=y @@ -77,26 +61,17 @@ BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_BASH=y BR2_PACKAGE_HTOP=y BR2_PACKAGE_VIM=y - -# Filesystem -BR2_TARGET_ROOTFS_UBIFS=y -BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000 BR2_TARGET_ROOTFS_UBI=y BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048 - -# Bootloaders +BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000 BR2_TARGET_AT91BOOTSTRAP3=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainednf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam_6.2)/u-boot-at91-linux4sam_6.2.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3_xplained_nandflash" BR2_TARGET_UBOOT_NEEDS_DTC=y - -# Host packages BR2_PACKAGE_HOST_SAM_BA=y diff --git a/configs/atmel_sama5d3_xplained_mmc_defconfig b/configs/atmel_sama5d3_xplained_mmc_defconfig index 798c655e5e3..1b7d2698871 100644 --- a/configs/atmel_sama5d3_xplained_mmc_defconfig +++ b/configs/atmel_sama5d3_xplained_mmc_defconfig @@ -2,27 +2,26 @@ BR2_arm=y BR2_cortex_a5=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/atmel/sama5d3_xplained_mmc/post-image.sh" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d3_xplained_mmc/genimage.cfg" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained at91-sama5d3_xplained_pda4 at91-sama5d3_xplained_pda7 at91-sama5d3_xplained_pda7b" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainedsd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam_6.2)/u-boot-at91-linux4sam_6.2.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3_xplained_mmc" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/configs/atmel_sama5d3_xplained_mmc_dev_defconfig b/configs/atmel_sama5d3_xplained_mmc_dev_defconfig index eca866494a1..bcf49340dbe 100644 --- a/configs/atmel_sama5d3_xplained_mmc_dev_defconfig +++ b/configs/atmel_sama5d3_xplained_mmc_dev_defconfig @@ -1,34 +1,19 @@ -# Architecture BR2_arm=y BR2_cortex_a5=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y - -# Toolchain -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y -# Needed for some packages -BR2_TOOLCHAIN_BUILDROOT_WCHAR=y -# Needed for gdb -BR2_PTHREAD_DEBUG=y -# Needed for some packages +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_TOOLCHAIN_BUILDROOT_CXX=y - -# System Configuration -# Needed for usb-utils BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y -# Creation of the SD card image -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/atmel/sama5d3_xplained_mmc/post-image.sh" - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d3_xplained_mmc/genimage.cfg" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained at91-sama5d3_xplained_pda4 at91-sama5d3_xplained_pda7 at91-sama5d3_xplained_pda7b" - -# Packages +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y BR2_PACKAGE_ALSA_UTILS=y BR2_PACKAGE_ALSA_UTILS_ALSACONF=y @@ -51,7 +36,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y BR2_PACKAGE_MMC_UTILS=y BR2_PACKAGE_MTD=y BR2_PACKAGE_WILC1000_FIRMWARE=y -BR2_PACKAGE_DEVMEM2=y +BR2_PACKAGE_WILC3000_FIRMWARE=y BR2_PACKAGE_EVTEST=y BR2_PACKAGE_I2C_TOOLS=y BR2_PACKAGE_SETSERIAL=y @@ -61,10 +46,9 @@ BR2_PACKAGE_LIBDRM=y BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y BR2_PACKAGE_DTC=y BR2_PACKAGE_DTC_PROGRAMS=y -BR2_PACKAGE_BLUEZ_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS=y BR2_PACKAGE_BRIDGE_UTILS=y BR2_PACKAGE_CAN_UTILS=y -BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_IPERF=y BR2_PACKAGE_IPROUTE2=y @@ -79,27 +63,19 @@ BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_BASH=y BR2_PACKAGE_HTOP=y BR2_PACKAGE_VIM=y - -# Filesystem BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y - -# Bootloaders +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_AT91BOOTSTRAP3=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainedsd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam_6.2)/u-boot-at91-linux4sam_6.2.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3_xplained_mmc" BR2_TARGET_UBOOT_NEEDS_DTC=y - -# Host packages -# Needed to generate the SD card image BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/atmel_sama5d3xek_defconfig b/configs/atmel_sama5d3xek_defconfig deleted file mode 100644 index c57076c9f99..00000000000 --- a/configs/atmel_sama5d3xek_defconfig +++ /dev/null @@ -1,40 +0,0 @@ -# Architecture -BR2_arm=y -BR2_cortex_a5=y -BR2_ARM_ENABLE_VFP=y -BR2_ARM_INSTRUCTIONS_THUMB2=y - -# Toolchain -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.5" -BR2_LINUX_KERNEL_DEFCONFIG="sama5" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sama5d31ek sama5d33ek sama5d34ek sama5d35ek sama5d36ek" - -# Filesystem -BR2_TARGET_ROOTFS_UBIFS=y -BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000 -BR2_TARGET_ROOTFS_UBI=y -BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048 - -# Bootloaders -BR2_TARGET_AT91BOOTSTRAP3=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7" -BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3xeknf_uboot" -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.5" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3xek_nandflash" -BR2_TARGET_UBOOT_SPL=y - -# Host packages -BR2_PACKAGE_HOST_SAM_BA=y diff --git a/configs/atmel_sama5d4_xplained_defconfig b/configs/atmel_sama5d4_xplained_defconfig index feedf1f5a61..d04d84734fc 100644 --- a/configs/atmel_sama5d4_xplained_defconfig +++ b/configs/atmel_sama5d4_xplained_defconfig @@ -3,31 +3,28 @@ BR2_cortex_a5=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained at91-sama5d4_xplained_hdmi at91-sama5d4_xplained_pda4 at91-sama5d4_xplained_pda7 at91-sama5d4_xplained_pda7b" -BR2_TARGET_ROOTFS_UBIFS=y -BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x3e000 -BR2_TARGET_ROOTFS_UBIFS_MINIOSIZE=0x1000 -BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=2082 +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_UBI=y BR2_TARGET_ROOTFS_UBI_PEBSIZE=0x40000 BR2_TARGET_ROOTFS_UBI_SUBSIZE=0 +BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x3e000 +BR2_TARGET_ROOTFS_UBIFS_MINIOSIZE=0x1000 +BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=2082 BR2_TARGET_AT91BOOTSTRAP3=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainednf_uboot_secure" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam_6.2)/u-boot-at91-linux4sam_6.2.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d4_xplained_nandflash" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_SAM_BA=y diff --git a/configs/atmel_sama5d4_xplained_dev_defconfig b/configs/atmel_sama5d4_xplained_dev_defconfig index 7ebfde173c0..2aa3d8e5350 100644 --- a/configs/atmel_sama5d4_xplained_dev_defconfig +++ b/configs/atmel_sama5d4_xplained_dev_defconfig @@ -1,33 +1,18 @@ -# Architecture BR2_arm=y BR2_cortex_a5=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y - -# Toolchain -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y -# Needed for some packages -BR2_TOOLCHAIN_BUILDROOT_WCHAR=y -# Needed for gdb -BR2_PTHREAD_DEBUG=y -# Needed for some packages +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_TOOLCHAIN_BUILDROOT_CXX=y - -# System Configuration -# Needed for usb-utils BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y - -# Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained at91-sama5d4_xplained_hdmi at91-sama5d4_xplained_pda4 at91-sama5d4_xplained_pda7 at91-sama5d4_xplained_pda7b" - -# Packages +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y BR2_PACKAGE_ALSA_UTILS=y BR2_PACKAGE_ALSA_UTILS_ALSACONF=y @@ -50,7 +35,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y BR2_PACKAGE_MMC_UTILS=y BR2_PACKAGE_MTD=y BR2_PACKAGE_WILC1000_FIRMWARE=y -BR2_PACKAGE_DEVMEM2=y +BR2_PACKAGE_WILC3000_FIRMWARE=y BR2_PACKAGE_EVTEST=y BR2_PACKAGE_I2C_TOOLS=y BR2_PACKAGE_SETSERIAL=y @@ -60,10 +45,9 @@ BR2_PACKAGE_LIBDRM=y BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y BR2_PACKAGE_DTC=y BR2_PACKAGE_DTC_PROGRAMS=y -BR2_PACKAGE_BLUEZ_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS=y BR2_PACKAGE_BRIDGE_UTILS=y BR2_PACKAGE_CAN_UTILS=y -BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_IPERF=y BR2_PACKAGE_IPROUTE2=y @@ -78,29 +62,20 @@ BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_BASH=y BR2_PACKAGE_HTOP=y BR2_PACKAGE_VIM=y - -# Filesystem -BR2_TARGET_ROOTFS_UBIFS=y -BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x3e000 -BR2_TARGET_ROOTFS_UBIFS_MINIOSIZE=0x1000 -BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=2082 BR2_TARGET_ROOTFS_UBI=y BR2_TARGET_ROOTFS_UBI_PEBSIZE=0x40000 BR2_TARGET_ROOTFS_UBI_SUBSIZE=0 - -# Bootloaders +BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x3e000 +BR2_TARGET_ROOTFS_UBIFS_MINIOSIZE=0x1000 +BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=2082 BR2_TARGET_AT91BOOTSTRAP3=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainednf_uboot_secure" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam_6.2)/u-boot-at91-linux4sam_6.2.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d4_xplained_nandflash" BR2_TARGET_UBOOT_NEEDS_DTC=y - -# Host packages BR2_PACKAGE_HOST_SAM_BA=y diff --git a/configs/atmel_sama5d4_xplained_mmc_defconfig b/configs/atmel_sama5d4_xplained_mmc_defconfig index 073489f8430..ff010732059 100644 --- a/configs/atmel_sama5d4_xplained_mmc_defconfig +++ b/configs/atmel_sama5d4_xplained_mmc_defconfig @@ -3,27 +3,26 @@ BR2_cortex_a5=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/atmel/sama5d4_xplained_mmc/post-image.sh" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d4_xplained_mmc/genimage.cfg" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained at91-sama5d4_xplained_hdmi at91-sama5d4_xplained_pda4 at91-sama5d4_xplained_pda7 at91-sama5d4_xplained_pda7b" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainedsd_uboot_secure" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam_6.2)/u-boot-at91-linux4sam_6.2.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d4_xplained_mmc" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/configs/atmel_sama5d4_xplained_mmc_dev_defconfig b/configs/atmel_sama5d4_xplained_mmc_dev_defconfig index 69893c34833..9226ca560b5 100644 --- a/configs/atmel_sama5d4_xplained_mmc_dev_defconfig +++ b/configs/atmel_sama5d4_xplained_mmc_dev_defconfig @@ -1,35 +1,20 @@ -# Architecture BR2_arm=y BR2_cortex_a5=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y - -# Toolchain -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y -# Needed for some packages -BR2_TOOLCHAIN_BUILDROOT_WCHAR=y -# Needed for gdb -BR2_PTHREAD_DEBUG=y -# Needed for some packages +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_TOOLCHAIN_BUILDROOT_CXX=y - -# System Configuration -# Needed for usb-utils BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y -# Creation of the SD card image -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/atmel/sama5d4_xplained_mmc/post-image.sh" - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d4_xplained_mmc/genimage.cfg" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained at91-sama5d4_xplained_hdmi at91-sama5d4_xplained_pda4 at91-sama5d4_xplained_pda7 at91-sama5d4_xplained_pda7b" - -# Packages +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y BR2_PACKAGE_ALSA_UTILS=y BR2_PACKAGE_ALSA_UTILS_ALSACONF=y @@ -52,7 +37,7 @@ BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y BR2_PACKAGE_MMC_UTILS=y BR2_PACKAGE_MTD=y BR2_PACKAGE_WILC1000_FIRMWARE=y -BR2_PACKAGE_DEVMEM2=y +BR2_PACKAGE_WILC3000_FIRMWARE=y BR2_PACKAGE_EVTEST=y BR2_PACKAGE_I2C_TOOLS=y BR2_PACKAGE_SETSERIAL=y @@ -62,10 +47,9 @@ BR2_PACKAGE_LIBDRM=y BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y BR2_PACKAGE_DTC=y BR2_PACKAGE_DTC_PROGRAMS=y -BR2_PACKAGE_BLUEZ_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS=y BR2_PACKAGE_BRIDGE_UTILS=y BR2_PACKAGE_CAN_UTILS=y -BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_IPERF=y BR2_PACKAGE_IPROUTE2=y @@ -80,27 +64,19 @@ BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_BASH=y BR2_PACKAGE_HTOP=y BR2_PACKAGE_VIM=y - -# Filesystem BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y - -# Bootloaders +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_AT91BOOTSTRAP3=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap3-v4.0.1.tar.gz" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainedsd_uboot_secure" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam_6.2)/u-boot-at91-linux4sam_6.2.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d4_xplained_mmc" BR2_TARGET_UBOOT_NEEDS_DTC=y - -# Host packages -# Needed to generate the SD card image BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/avenger96_defconfig b/configs/avenger96_defconfig new file mode 100644 index 00000000000..bfec6a58706 --- /dev/null +++ b/configs/avenger96_defconfig @@ -0,0 +1,40 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_ROOTFS_OVERLAY="board/arrow/avenger96/overlay/" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/stmicroelectronics/common/stm32mp1xx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.22" +BR2_LINUX_KERNEL_DEFCONFIG="multi_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="st/stm32mp157a-dhcor-avenger96" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="lts-v2.8.16" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="stm32mp1" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-nodtb.bin" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157a-dhcor-avenger96.dtb BL33_CFG=$(BINARIES_DIR)/u-boot.dtb" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin *.stm32" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_DTB=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp15xx-dhcor-avenger96" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/avnet_rzboard_v2l_defconfig b/configs/avnet_rzboard_v2l_defconfig new file mode 100644 index 00000000000..285aef39bcf --- /dev/null +++ b/configs/avnet_rzboard_v2l_defconfig @@ -0,0 +1,20 @@ +BR2_aarch64=y +BR2_cortex_a55=y +BR2_KERNEL_HEADERS_5_10=y +BR2_TARGET_GENERIC_HOSTNAME="rzboard_v2l" +BR2_TARGET_GENERIC_ISSUE="Welcome to the AVNET RZBoard V2L" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/avnet/rzboard_v2l/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/Avnet/renesas-linux-cip.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="c197622df526c82ae9e3674e06b4092dac33eafa" +BR2_LINUX_KERNEL_DEFCONFIG="rzboard" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="renesas/rzboard" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="64M" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/bananapi_m2_berry_defconfig b/configs/bananapi_m2_berry_defconfig new file mode 100644 index 00000000000..35909fbb99d --- /dev/null +++ b/configs/bananapi_m2_berry_defconfig @@ -0,0 +1,33 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/bananapi/bananapi-m2-berry/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_ISSUE="Welcome to Bananapi M2 Berry" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/bananapi/bananapi-m2-berry/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/bananapi/bananapi-m2-berry/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.8" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun8i-v40-bananapi-m2-berry" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="bananapi_m2_berry" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/bananapi_m2_plus_defconfig b/configs/bananapi_m2_plus_defconfig deleted file mode 100644 index ebaea2deaba..00000000000 --- a/configs/bananapi_m2_plus_defconfig +++ /dev/null @@ -1,28 +0,0 @@ -BR2_arm=y -BR2_cortex_a7=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y -BR2_TARGET_GENERIC_ISSUE="Welcome to Bananapi M2 Plus" -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/sinovoip/m2-plus/genimage.cfg" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.3" -BR2_LINUX_KERNEL_DEFCONFIG="sunxi" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-bananapi-m2-plus" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="Sinovoip_BPI_M2_Plus" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" -BR2_TARGET_UBOOT_BOOT_SCRIPT=y -BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/sinovoip/m2-plus/boot.cmd" -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/bananapi_m2_ultra_defconfig b/configs/bananapi_m2_ultra_defconfig new file mode 100644 index 00000000000..190481837e1 --- /dev/null +++ b/configs/bananapi_m2_ultra_defconfig @@ -0,0 +1,33 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/bananapi/bananapi-m2-ultra/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_ISSUE="Welcome to Bananapi M2 Ultra" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/bananapi/bananapi-m2-ultra/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/bananapi/bananapi-m2-ultra/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.8" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun8i-r40-bananapi-m2-ultra" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="bananapi_m2_berry" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/bananapi_m2_zero_defconfig b/configs/bananapi_m2_zero_defconfig new file mode 100644 index 00000000000..9e395783e07 --- /dev/null +++ b/configs/bananapi_m2_zero_defconfig @@ -0,0 +1,31 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_8=y +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Bananapi M2 Zero" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/bananapi/bananapi-m2-zero/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.8.4" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun8i-h2-plus-bananapi-m2-zero" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="bananapi_m2_zero" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.04" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/bananapi/bananapi-m2-zero/boot.cmd" diff --git a/configs/bananapro_defconfig b/configs/bananapro_defconfig deleted file mode 100644 index e5ac820bfa3..00000000000 --- a/configs/bananapro_defconfig +++ /dev/null @@ -1,73 +0,0 @@ -# Architecture -BR2_arm=y -BR2_cortex_a7=y -BR2_ARM_EABIHF=y -BR2_ARM_FPU_NEON_VFPV4=y - -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y - -# Toolchain -BR2_TOOLCHAIN_BUILDROOT_WCHAR=y - -# System configuration -BR2_TARGET_GENERIC_HOSTNAME="bananapro" -BR2_TARGET_GENERIC_ISSUE="Welcome to Banana Pro!" -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" -BR2_ROOTFS_OVERLAY="board/lemaker/bananapro/rootfs_overlay" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/lemaker/bananapro/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/lemaker/bananapro/post-image.sh" - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.4" -BR2_LINUX_KERNEL_USE_DEFCONFIG=y -BR2_LINUX_KERNEL_DEFCONFIG="sunxi" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/lemaker/bananapro/linux-wifi.fragment" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun7i-a20-bananapro" -BR2_LINUX_KERNEL_INSTALL_TARGET=y - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Bootloaders -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="Bananapro" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y -BR2_TARGET_UBOOT_FORMAT_BIN=y -BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" - -# Wifi firmware for brcm43362 -BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y - -# Audio -BR2_PACKAGE_ALSA_UTILS=y -# BR2_PACKAGE_ALSA_UTILS_ALSAMIXER is not set -BR2_PACKAGE_ALSA_UTILS_AMIXER=y -BR2_PACKAGE_ALSA_UTILS_APLAY=y - -# For automatic firmware loading -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y - -# Wireless packages -BR2_PACKAGE_IW=y -BR2_PACKAGE_WPA_SUPPLICANT=y -BR2_PACKAGE_WPA_SUPPLICANT_CLI=y -BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y - -# Host tools -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/beagleboardx15_defconfig b/configs/beagleboardx15_defconfig deleted file mode 100644 index 393b29eef0a..00000000000 --- a/configs/beagleboardx15_defconfig +++ /dev/null @@ -1,28 +0,0 @@ -BR2_arm=y -BR2_cortex_a15=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/beagleboardx15/post-image.sh" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9" -BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="am57xx-beagle-x15 am57xx-beagle-x15-revb1" -BR2_LINUX_KERNEL_INSTALL_TARGET=y -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.11" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am57xx_evm" -BR2_TARGET_UBOOT_NEEDS_DTC=y -# BR2_TARGET_UBOOT_FORMAT_BIN is not set -BR2_TARGET_UBOOT_FORMAT_IMG=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="spl/u-boot-spl.bin" -BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="MLO" -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/beaglebone_defconfig b/configs/beaglebone_defconfig index 611b694137e..57dab7abaf8 100644 --- a/configs/beaglebone_defconfig +++ b/configs/beaglebone_defconfig @@ -1,30 +1,42 @@ BR2_arm=y BR2_cortex_a8=y -BR2_GLOBAL_PATCH_DIR="board/beaglebone/patches" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyO0" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/beaglebone/post-image.sh" +BR2_ARM_FPU_VFPV3=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/beagleboard/beaglebone/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/beagleboard/beaglebone/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beagleboard/beaglebone/genimage.cfg" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.ti.com/processor-sdk/processor-sdk-linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="f9f6f0db2d5e4f9d2ff46eb31a5a05276a92ed7d" +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.21" BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-evm am335x-bone am335x-boneblack am335x-bonegreen am335x-evmsk" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/omap/am335x-evm ti/omap/am335x-bone ti/omap/am335x-boneblack ti/omap/am335x-bonegreen ti/omap/am335x-evmsk ti/omap/am335x-boneblue ti/omap/am335x-boneblack-wireless ti/omap/am335x-bonegreen-wireless ti/omap/am335x-bonegreen-eco" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_AM33X_CM3=y +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_KMOD_TOOLS=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.04" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am335x_evm" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y # BR2_TARGET_UBOOT_FORMAT_BIN is not set BR2_TARGET_UBOOT_FORMAT_IMG=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="spl/u-boot-spl.bin" BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="MLO" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_KMOD_XZ=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/beaglebone_qt5_defconfig b/configs/beaglebone_qt5_defconfig index fb61bf54df1..5d06af3990e 100644 --- a/configs/beaglebone_qt5_defconfig +++ b/configs/beaglebone_qt5_defconfig @@ -1,42 +1,42 @@ BR2_arm=y BR2_cortex_a8=y -BR2_GLOBAL_PATCH_DIR="board/beaglebone/patches" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y -BR2_TOOLCHAIN_BUILDROOT_GLIBC=y -BR2_GCC_VERSION_5_X=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_GLOBAL_PATCH_DIR="board/beagleboard/beaglebone-qt5/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyO0" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/beaglebone/post-image.sh" +BR2_ROOTFS_OVERLAY="board/beagleboard/beaglebone/rootfs_overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/beagleboard/beaglebone/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beagleboard/beaglebone/genimage.cfg" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.ti.com/processor-sdk/processor-sdk-linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="52c4aa7cdb93d61f8008f380135beaf7b8fa6593" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,beagleboard,linux,4.19.94-ti-r72)/linux-4.19.94-ti-r72.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/beaglebone/linux-4.1-sgx.fragment" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/beagleboard/beaglebone/linux-sgx.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-evm am335x-bone am335x-boneblack am335x-evmsk" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-evm am335x-bone am335x-boneblack am335x-bonegreen am335x-evmsk am335x-boneblue am335x-boneblack-wireless am335x-bonegreen-wireless" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_FBV=y BR2_PACKAGE_QT5=y BR2_PACKAGE_QT5BASE_EXAMPLES=y BR2_PACKAGE_QT5BASE_EGLFS=y +BR2_PACKAGE_QT5BASE_DEFAULT_QPA="eglfs" BR2_PACKAGE_QT5QUICKCONTROLS=y BR2_PACKAGE_TI_SGX_DEMOS=y -BR2_PACKAGE_TI_SGX_KM=y BR2_PACKAGE_TI_SGX_UM=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_SIZE="124M" +BR2_TARGET_ROOTFS_EXT2_SIZE="250M" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am335x_evm" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y # BR2_TARGET_UBOOT_FORMAT_BIN is not set BR2_TARGET_UBOOT_FORMAT_IMG=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="spl/u-boot-spl.bin" BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="MLO" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/configs/beagleboneai64_defconfig b/configs/beagleboneai64_defconfig new file mode 100644 index 00000000000..b41ea09f3e4 --- /dev/null +++ b/configs/beagleboneai64_defconfig @@ -0,0 +1,50 @@ +BR2_aarch64=y +BR2_cortex_a72=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/beagleboard/beagleboneai64/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/beagleboard/beagleboneai64/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beagleboard/beagleboneai64/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.16" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-j721e-beagleboneai64" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_12_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="k3" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="generic" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_PLATFORM="k3-j721e" +BR2_TARGET_TI_K3_R5_LOADER=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="j721e_beagleboneai64_r5" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="j721e_beagleboneai64_a72" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE=y +BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_RAW_BIN=y +BR2_TARGET_UBOOT_USE_BINMAN=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="tispl.bin_unsigned" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/beagleboneai_defconfig b/configs/beagleboneai_defconfig new file mode 100644 index 00000000000..ccabb8c6ba4 --- /dev/null +++ b/configs/beagleboneai_defconfig @@ -0,0 +1,35 @@ +BR2_arm=y +BR2_cortex_a15=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/beagleboard/beagleboneai/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/beagleboard/beagleboneai/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beagleboard/beagleboneai/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.50" +BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/omap/am5729-beagleboneai" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am57xx_evm" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="MLO" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/beagleplay_defconfig b/configs/beagleplay_defconfig new file mode 100644 index 00000000000..90212bda447 --- /dev/null +++ b/configs/beagleplay_defconfig @@ -0,0 +1,57 @@ +BR2_aarch64=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/beagleboard/beagleplay/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/beagleboard/beagleplay/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS="-c board/beagleboard/beagleplay/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.16" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am625-beagleplay" +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y +BR2_PACKAGE_WILC1000_FIRMWARE=y +BR2_PACKAGE_WILC3000_FIRMWARE=y +BR2_PACKAGE_WILINK_BT_FIRMWARE=y +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_12_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="k3" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="lite" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_PLATFORM="k3-am62x" +BR2_TARGET_TI_K3_R5_LOADER=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="am62x_beagleplay_r5" +BR2_TARGET_TI_K3_R5_LOADER_TIBOOT3_BIN="tiboot3-am62x-gp-evm.bin" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am62x_beagleplay_a53" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE=y +BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_RAW_BIN=y +BR2_TARGET_UBOOT_USE_BINMAN=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.img_unsigned" +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="tispl.bin_unsigned" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/beaglev_fire_defconfig b/configs/beaglev_fire_defconfig new file mode 100644 index 00000000000..a5cda23242f --- /dev/null +++ b/configs/beaglev_fire_defconfig @@ -0,0 +1,34 @@ +BR2_riscv=y +BR2_RISCV_ISA_RVC=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/beagleboard/beaglev_fire/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_OVERLAY="board/beagleboard/beaglev_fire/rootfs-overlay/" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/beagleboard/beaglev_fire/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip+fpga-2025.10)/linux-linux4microchip+fpga-2025.10.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="mpfs" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="microchip/mpfs-beaglev-fire" +BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y +BR2_PACKAGE_MTD=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,u-boot-mchp,linux4microchip+fpga-2025.10)/uboot-linux4microchip+fpga-2025.10.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="beaglev_fire" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/beagleboard/beaglev_fire/uboot-fragment.config" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/beagleboard/beaglev_fire/boot.cmd" diff --git a/configs/beagley_ai_defconfig b/configs/beagley_ai_defconfig new file mode 100644 index 00000000000..d0a3bf58c45 --- /dev/null +++ b/configs/beagley_ai_defconfig @@ -0,0 +1,50 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV4=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/beagleboard/beagley-ai/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/beagleboard/beagley-ai/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beagleboard/beagley-ai/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.16" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am67a-beagley-ai" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_12_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="k3" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="lite" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_PLATFORM="k3-am62x" +BR2_TARGET_TI_K3_R5_LOADER=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="am67a_beagley_ai_r5" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am67a_beagley_ai_a53" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE=y +BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_RAW_BIN=y +BR2_TARGET_UBOOT_USE_BINMAN=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="tispl.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/broadcom_northstar_defconfig b/configs/broadcom_northstar_defconfig new file mode 100644 index 00000000000..bbd368ac798 --- /dev/null +++ b/configs/broadcom_northstar_defconfig @@ -0,0 +1,17 @@ +BR2_arm=y +BR2_cortex_a9=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/broadcom/northstar/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.9" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/broadcom/northstar/linux.config" +BR2_LINUX_KERNEL_APPENDED_ZIMAGE=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm4708-smartrg-sr400ac broadcom/bcm47094-luxul-xwr-3150-v1" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ROOTFS_UBI=y +BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048 +BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000 +BR2_PACKAGE_HOST_FIRMWARE_UTILS=y +BR2_PACKAGE_HOST_LZMA_ALONE=y diff --git a/configs/canaan_kd233_defconfig b/configs/canaan_kd233_defconfig new file mode 100644 index 00000000000..47d0b55e902 --- /dev/null +++ b/configs/canaan_kd233_defconfig @@ -0,0 +1,22 @@ +BR2_riscv=y +BR2_riscv_custom=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y +# BR2_RISCV_USE_MMU is not set +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y +BR2_INIT_TINYINIT=y +# BR2_TARGET_ENABLE_ROOT_LOGIN is not set +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19" +BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/canaan/kd233/linux-cpio.config" +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="loader.bin" +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.config" +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_TARGET_ROOTFS_INITRAMFS=y +BR2_PACKAGE_HOST_PYTHON_KFLASH=y diff --git a/configs/chromebook_elm_defconfig b/configs/chromebook_elm_defconfig new file mode 100644 index 00000000000..a43b620e1b4 --- /dev/null +++ b/configs/chromebook_elm_defconfig @@ -0,0 +1,22 @@ +BR2_aarch64=y +BR2_cortex_a72_a53=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_GLOBAL_PATCH_DIR="board/chromebook/elm/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/chromebook/elm/sign.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/chromebook/mksd.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/chromebook/elm/linux.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="mediatek/mt8173-elm" +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8797=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_PACKAGE_HOST_PARTED=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y +BR2_PACKAGE_HOST_VBOOT_UTILS=y diff --git a/configs/chromebook_snow_defconfig b/configs/chromebook_snow_defconfig deleted file mode 100644 index 70cd42bb756..00000000000 --- a/configs/chromebook_snow_defconfig +++ /dev/null @@ -1,23 +0,0 @@ -BR2_arm=y -BR2_cortex_a15=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6=y -BR2_TARGET_GENERIC_GETTY_PORT="tty1" -BR2_TARGET_GENERIC_GETTY_TERM="linux" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/chromebook/snow/sign.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/chromebook/snow/mksd.sh" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.6.3" -BR2_LINUX_KERNEL_PATCH="board/chromebook/snow/linux-4.6-dts-tpm.patch" -BR2_LINUX_KERNEL_DEFCONFIG="exynos" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/chromebook/snow/linux-4.6.fragment" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="exynos5250-snow" -BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8797=y -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_PACKAGE_HOST_PARTED=y -BR2_PACKAGE_HOST_UBOOT_TOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y -BR2_PACKAGE_HOST_VBOOT_UTILS=y diff --git a/configs/ci20_defconfig b/configs/ci20_defconfig index 6de6394f8c3..bb4863cb1dd 100644 --- a/configs/ci20_defconfig +++ b/configs/ci20_defconfig @@ -1,28 +1,28 @@ -# architecture BR2_mipsel=y BR2_mips_xburst=y # BR2_MIPS_SOFT_FLOAT is not set - -# Linux headers same as kernel, a 3.18 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y - -# system +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS4" - -# kernel +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ci20/genimage.cfg" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/MIPS/CI20_linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="7dff33297116643485ca37141d804eddd793e834" +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.81" BR2_LINUX_KERNEL_DEFCONFIG="ci20" - -# u-boot +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY=y -BR2_TARGET_UBOOT_BOARDNAME="ci20_mmc" -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/MIPS/CI20_u-boot" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="dd3c1b95dac7d10b2ca5806f65e5c1050d7dd0fa" +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="ci20_mmc" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.bin" +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE="board/ci20/uboot-env.txt" +BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SIZE="32768" diff --git a/configs/ci40_defconfig b/configs/ci40_defconfig deleted file mode 100644 index 2ea3afe47df..00000000000 --- a/configs/ci40_defconfig +++ /dev/null @@ -1,48 +0,0 @@ -# architecture -BR2_mipsel=y -BR2_mips_32r2=y - -# linux header same as custom kernel ie 4.4.x -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y - -# kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,CreatorDev,linux,openwrt-4.4.14)/linux-openwrt-4.4.14.tar.gz" -BR2_LINUX_KERNEL_DEFCONFIG="pistachio" -BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y -# vmlinux.gz.itb image includes img/pistachio_marduk device tree -BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="vmlinux.gz.itb" - -# bootloader flash support -BR2_PACKAGE_MTD=y - -# wireless firmware -BR2_PACKAGE_UCCP420WLAN=y - -# wireless package -BR2_PACKAGE_WIRELESS_TOOLS=y -BR2_PACKAGE_WPA_SUPPLICANT=y -BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y - -# bootloader -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="pistachio_marduk" -BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,CreatorDev,u-boot,v1.0.5)/u-boot-CreatorDev-v1.0.5.tar.gz" -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-pistachio_marduk-2015.10-v1.0.5.img" - -# fitimage / image generation -BR2_PACKAGE_HOST_UBOOT_TOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y -BR2_ROOTFS_POST_BUILD_SCRIPT="board/ci40/post-build.sh" - -# image generation -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ci40/genimage.cfg" diff --git a/configs/coolpi_4b_defconfig b/configs/coolpi_4b_defconfig new file mode 100644 index 00000000000..c9b5a867589 --- /dev/null +++ b/configs/coolpi_4b_defconfig @@ -0,0 +1,41 @@ +BR2_aarch64=y +BR2_cortex_a76_a55=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_14=y +BR2_GLOBAL_PATCH_DIR="board/coolpi/coolpi-4b/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="coolpi" +BR2_TARGET_GENERIC_ISSUE="Welcome to the CoolPi 4B" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/coolpi/coolpi-4b/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.14.10" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3588s-coolpi-4b" +BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y +BR2_PACKAGE_LINUX_FIRMWARE_ARM_MALI_CSF=y +BR2_PACKAGE_ROCKCHIP_RKBIN=y +BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME="bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.18.bin" +BR2_PACKAGE_ROCKCHIP_RKBIN_BL31_FILENAME="bin/rk35/rk3588_bl31_v1.48.elf" +BR2_PACKAGE_LIBDRM=y +BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y +BR2_PACKAGE_OPENSSH=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="512M" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="coolpi-4b-rk3588s" +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/csky_gx6605s_defconfig b/configs/csky_gx6605s_defconfig deleted file mode 100644 index 5f39c536ac9..00000000000 --- a/configs/csky_gx6605s_defconfig +++ /dev/null @@ -1,17 +0,0 @@ -BR2_csky=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/c-sky/tools/raw/master/csky-linux-tools-x86_64-glibc-linux-4.9.2-20170227.tar.gz" -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="csky-linux" -BR2_TOOLCHAIN_EXTERNAL_GCC_4_5=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y -BR2_TOOLCHAIN_EXTERNAL_CXX=y -BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/c-sky/linux-4.9.y/archive/314c498ddc8c43a66ca96ff3af7da98e10fa1cc6.tar.gz" -BR2_LINUX_KERNEL_DEFCONFIG="gx66xx" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="gx6605s" -BR2_TARGET_ROOTFS_EXT2=y diff --git a/configs/cubieboard1_defconfig b/configs/cubieboard1_defconfig new file mode 100644 index 00000000000..47d882c04ff --- /dev/null +++ b/configs/cubieboard1_defconfig @@ -0,0 +1,31 @@ +BR2_arm=y +BR2_cortex_a8=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/cubietech/cubieboard1/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_OVERLAY="board/cubietech/cubieboard1/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/cubietech/cubieboard1/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.19.6" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun4i-a10-cubieboard" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="Cubieboard" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/cubieboard2_defconfig b/configs/cubieboard2_defconfig index a0d23990ac1..0de3edb93ed 100644 --- a/configs/cubieboard2_defconfig +++ b/configs/cubieboard2_defconfig @@ -1,30 +1,32 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 4.6 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6=y -BR2_TARGET_GENERIC_HOSTNAME="Cubieboard2" -BR2_TARGET_GENERIC_ISSUE="Welcome to Cubieboard2!" -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/cubietech/cubieboard2/post-image.sh" +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/cubietech/cubieboard2/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_OVERLAY="board/cubietech/cubieboard2/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/cubietech/cubieboard2/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.6" -BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.19.6" +BR2_LINUX_KERNEL_DEFCONFIG="multi_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun7i-a20-cubieboard2" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun7i-a20-cubieboard2" +BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="Cubieboard2" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" -BR2_TARGET_UBOOT_BOOT_SCRIPT=y -BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/cubietech/cubieboard2/boot.cmd" -BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/engicam_imx6qdl_icore_defconfig b/configs/engicam_imx6qdl_icore_defconfig deleted file mode 100644 index 6090360871f..00000000000 --- a/configs/engicam_imx6qdl_icore_defconfig +++ /dev/null @@ -1,43 +0,0 @@ -BR2_arm=y -BR2_cortex_a9=y -BR2_ARM_ENABLE_NEON=y -BR2_ARM_ENABLE_VFP=y -BR2_ARM_FPU_VFPV3=y - -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y - -# System -BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3" - -# Bootloader -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx6qdl_icore_mmc" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y -BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y -BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="SPL" - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-icore imx6q-icore imx6q-icore-ofcap10 imx6q-icore-ofcap12" - -# Filesystem -BR2_TARGET_GENERIC_ISSUE="Welcome to Engicam i.CoreM6 Quad/Dual/DualLite/Solo" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/engicam/icorem6/genimage.cfg" diff --git a/configs/engicam_imx6qdl_icore_qt5_defconfig b/configs/engicam_imx6qdl_icore_qt5_defconfig deleted file mode 100644 index 2da0a65c836..00000000000 --- a/configs/engicam_imx6qdl_icore_qt5_defconfig +++ /dev/null @@ -1,81 +0,0 @@ -BR2_arm=y -BR2_cortex_a9=y -BR2_ARM_ENABLE_NEON=y -BR2_ARM_ENABLE_VFP=y -BR2_ARM_FPU_VFPV3=y - -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y - -# System -BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3" - -# Bootloader -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx6qdl_icore_mmc" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y -BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y -BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="SPL" - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-icore imx6q-icore imx6q-icore-ofcap10 imx6q-icore-ofcap12" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/engicam/icorem6/linux_qt5.fragment" - -# Filesystem -BR2_TARGET_GENERIC_ISSUE="Welcome to Engicam i.CoreM6 Quad/Dual/DualLite/Solo" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_SIZE="120M" -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/engicam/icorem6/genimage.cfg" -BR2_ROOTFS_OVERLAY="board/engicam/icorem6/rootfs_overlay" - -# qt5 dependencies -BR2_TOOLCHAIN_BUILDROOT_WCHAR=y -BR2_TOOLCHAIN_BUILDROOT_CXX=y - -# qt5 -BR2_PACKAGE_QT5=y -BR2_PACKAGE_QT5BASE_LICENSE_APPROVED=y -BR2_PACKAGE_QT5BASE_OPENGL_LIB=y -BR2_PACKAGE_QT5BASE_LINUXFB=y -BR2_PACKAGE_QT5BASE_FONTCONFIG=y -BR2_PACKAGE_QT5BASE_GIF=y -BR2_PACKAGE_QT5BASE_JPEG=y - -# mesa3d -BR2_PACKAGE_MESA3D=y -BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV=y -BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y -BR2_PACKAGE_MESA3D_OPENGL_ES=y - -# qt5 demo packages -BR2_PACKAGE_GLMARK2=y -BR2_PACKAGE_MESA3D_DEMOS=y -BR2_PACKAGE_KMSCUBE=y -BR2_PACKAGE_QT5CINEX=y -BR2_PACKAGE_QT5CINEX_HD=y - -# fonts -BR2_PACKAGE_BITSTREAM_VERA=y -BR2_PACKAGE_CANTARELL=y -BR2_PACKAGE_DEJAVU=y -BR2_PACKAGE_FONT_AWESOME=y -BR2_PACKAGE_GHOSTSCRIPT_FONTS=y -BR2_PACKAGE_INCONSOLATA=y -BR2_PACKAGE_LIBERATION=y diff --git a/configs/engicam_imx6qdl_icore_rqs_defconfig b/configs/engicam_imx6qdl_icore_rqs_defconfig deleted file mode 100644 index 4cea880b5f0..00000000000 --- a/configs/engicam_imx6qdl_icore_rqs_defconfig +++ /dev/null @@ -1,43 +0,0 @@ -BR2_arm=y -BR2_cortex_a9=y -BR2_ARM_ENABLE_NEON=y -BR2_ARM_ENABLE_VFP=y -BR2_ARM_FPU_VFPV3=y - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# System -BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3" - -# Bootloader -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07-rc1" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx6qdl_icore_rqs_mmc" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y -BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y -BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="SPL" - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.5" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-icore-rqs imx6q-icore-rqs" - -# Filesystem -BR2_TARGET_GENERIC_ISSUE="Welcome to Engicam i.CoreM6 Quad/Dual/DualLite/Solo RQS Starter Kit" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/engicam/icorem6_rqs/genimage.cfg" diff --git a/configs/engicam_imx6ul_geam_defconfig b/configs/engicam_imx6ul_geam_defconfig deleted file mode 100644 index aac8432ef2c..00000000000 --- a/configs/engicam_imx6ul_geam_defconfig +++ /dev/null @@ -1,43 +0,0 @@ -BR2_arm=y -BR2_cortex_a9=y -BR2_ARM_ENABLE_NEON=y -BR2_ARM_ENABLE_VFP=y -BR2_ARM_FPU_VFPV3=y - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# System -BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" - -# Bootloader -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07-rc1" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx6ul_geam_mmc" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y -BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y -BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="SPL" - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.5" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x80008000" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6ul-geam-kit" - -# Filesystem -BR2_TARGET_GENERIC_ISSUE="Welcome to Engicam GEAM6UL Starter Kit" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/engicam/geam6ul/genimage.cfg" diff --git a/configs/engicam_imx6ul_isiot_defconfig b/configs/engicam_imx6ul_isiot_defconfig deleted file mode 100644 index 78a5cae3e1c..00000000000 --- a/configs/engicam_imx6ul_isiot_defconfig +++ /dev/null @@ -1,43 +0,0 @@ -BR2_arm=y -BR2_cortex_a9=y -BR2_ARM_ENABLE_NEON=y -BR2_ARM_ENABLE_VFP=y -BR2_ARM_FPU_VFPV3=y - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# System -BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" - -# Bootloader -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07-rc1" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx6ul_isiot_mmc" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y -BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y -BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="SPL" - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.5" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x80008000" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6ul-isiot-emmc" - -# Filesystem -BR2_TARGET_GENERIC_ISSUE="Welcome to Engicam Is.IoT eMMC Starter Kit" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/engicam/isiot/genimage.cfg" diff --git a/configs/engicam_px30_core_defconfig b/configs/engicam_px30_core_defconfig new file mode 100644 index 00000000000..be5c56e19f0 --- /dev/null +++ b/configs/engicam_px30_core_defconfig @@ -0,0 +1,45 @@ +BR2_aarch64=y +BR2_cortex_a35=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_GLOBAL_PATCH_DIR="board/engicam/px30core/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/engicam/px30core/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS="-c board/engicam/px30core/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.22" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/px30-engicam-px30-core-ctouch2-of10" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="150M" +BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O 64bit" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="lts-v2.12.1" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="px30" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="px30-core-ctouch2-of10-px30" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y +BR2_TARGET_UBOOT_USE_BINMAN=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="idbloader.img" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/firefly_rk3288_defconfig b/configs/firefly_rk3288_defconfig deleted file mode 100644 index 017a7ee6d74..00000000000 --- a/configs/firefly_rk3288_defconfig +++ /dev/null @@ -1,32 +0,0 @@ -BR2_arm=y -BR2_cortex_a17=y -BR2_ARM_FPU_NEON_VFPV4=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y -BR2_TARGET_GENERIC_HOSTNAME="firefly-rk3288" -BR2_TARGET_GENERIC_ISSUE="Welcome to FIREFLY RK3288!" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/firefly/firefly-rk3288/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/firefly/firefly-rk3288/post-image.sh" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/mmind/linux-rockchip.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="ccb89e9b5657b4911c16d08e1581121222ee12c4" -BR2_LINUX_KERNEL_DEFCONFIG="rk3288_veyron" -BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x02000000" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="rk3288-firefly" -BR2_LINUX_KERNEL_INSTALL_TARGET=y -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.01" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="firefly-rk3288" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y -BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl-dtb.bin" -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/firefly_rk3288_demo_defconfig b/configs/firefly_rk3288_demo_defconfig deleted file mode 100644 index d394ede30ed..00000000000 --- a/configs/firefly_rk3288_demo_defconfig +++ /dev/null @@ -1,40 +0,0 @@ -BR2_arm=y -BR2_cortex_a17=y -BR2_ARM_FPU_NEON_VFPV4=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y -BR2_TOOLCHAIN_BUILDROOT_GLIBC=y -BR2_TOOLCHAIN_BUILDROOT_CXX=y -BR2_TARGET_GENERIC_HOSTNAME="firefly-rk3288" -BR2_TARGET_GENERIC_ISSUE="Welcome to FIREFLY RK3288!" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/firefly/firefly-rk3288/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/firefly/firefly-rk3288/post-image.sh" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/mmind/linux-rockchip.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="ccb89e9b5657b4911c16d08e1581121222ee12c4" -BR2_LINUX_KERNEL_DEFCONFIG="rk3288_veyron" -BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x02000000" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="rk3288-firefly" -BR2_LINUX_KERNEL_INSTALL_TARGET=y -BR2_PACKAGE_QT5=y -BR2_PACKAGE_QT5BASE_EXAMPLES=y -BR2_PACKAGE_QT5BASE_GUI=y -BR2_PACKAGE_QT5BASE_EGLFS=y -BR2_PACKAGE_MALI_T76X=y -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_SIZE="250M" -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.01" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="firefly-rk3288" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y -BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl-dtb.bin" -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/freescale_imx28evk_defconfig b/configs/freescale_imx28evk_defconfig deleted file mode 100644 index b2242e701ac..00000000000 --- a/configs/freescale_imx28evk_defconfig +++ /dev/null @@ -1,34 +0,0 @@ -# architecture -BR2_arm=y -BR2_arm926t=y - -# Linux headers same as kernel, a 4.8 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y - -# system -BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" - -# kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.8" -BR2_LINUX_KERNEL_DEFCONFIG="mxs" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx28-evk" - -# bootloader -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="mx28evk" -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" -BR2_TARGET_UBOOT_FORMAT_SD=y - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT4=y - -# To generate SD Image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/mxs/post-image.sh" diff --git a/configs/freescale_imx31_3stack_defconfig b/configs/freescale_imx31_3stack_defconfig deleted file mode 100644 index 0476fc1b592..00000000000 --- a/configs/freescale_imx31_3stack_defconfig +++ /dev/null @@ -1,20 +0,0 @@ -# architecture -BR2_arm=y -BR2_arm1136jf_s=y -BR2_ARM_EABIHF=y - -# Linux headers same as kernel, a 4.1 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y - -# system -BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" - -# kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.freescale.com/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.1.15_2.0.0_ga" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/freescale/imx31_3stack/linux.fragment" -BR2_TARGET_ROOTFS_CPIO_GZIP=y -BR2_TARGET_ROOTFS_INITRAMFS=y diff --git a/configs/freescale_imx6dlsabreauto_defconfig b/configs/freescale_imx6dlsabreauto_defconfig index c946988f251..ad2f41d704c 100644 --- a/configs/freescale_imx6dlsabreauto_defconfig +++ b/configs/freescale_imx6dlsabreauto_defconfig @@ -1,42 +1,29 @@ -# architecture BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y - -# patches +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y BR2_GLOBAL_PATCH_DIR="board/freescale/imx6sabre/patches" - -# Linux headers same as kernel, a 4.1 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y - -# system +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3" - -# kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.freescale.com/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.1.15_2.0.0_ga" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.12.3-1.0.0)/linux-imx-lf-6.12.3-1.0.0.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-sabreauto" - -# filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6dl-sabreauto" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y - -# required tools to create the microSD image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6dlsabreauto" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.12.3-1.0.0)/uboot-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMX=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://git.freescale.com/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_4.1.15_2.0.0_ga" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/freescale_imx6dlsabresd_defconfig b/configs/freescale_imx6dlsabresd_defconfig index 18cef00dd60..c4064f34ca5 100644 --- a/configs/freescale_imx6dlsabresd_defconfig +++ b/configs/freescale_imx6dlsabresd_defconfig @@ -1,41 +1,28 @@ -# architecture BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y - -# patches +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y BR2_GLOBAL_PATCH_DIR="board/freescale/imx6sabre/patches" - -# Linux headers same as kernel, a 4.1 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y - -# system +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" - -# kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.freescale.com/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.1.15_2.0.0_ga" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.12.3-1.0.0)/linux-imx-lf-6.12.3-1.0.0.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-sabresd" - -# filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6dl-sabresd" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y - -# required tools to create the microSD image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6dlsabresd" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.12.3-1.0.0)/uboot-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMX=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://git.freescale.com/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_4.1.15_2.0.0_ga" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/freescale_imx6qsabreauto_defconfig b/configs/freescale_imx6qsabreauto_defconfig index 9e8e0076519..ce51ad30b30 100644 --- a/configs/freescale_imx6qsabreauto_defconfig +++ b/configs/freescale_imx6qsabreauto_defconfig @@ -1,42 +1,29 @@ -# architecture BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y - -# patches +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y BR2_GLOBAL_PATCH_DIR="board/freescale/imx6sabre/patches" - -# Linux headers same as kernel, a 4.1 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y - -# system +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3" - -# kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.freescale.com/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.1.15_2.0.0_ga" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.12.3-1.0.0)/linux-imx-lf-6.12.3-1.0.0.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-sabreauto" - -# filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6q-sabreauto" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y - -# required tools to create the microSD image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6qsabreauto" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.12.3-1.0.0)/uboot-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMX=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://git.freescale.com/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_4.1.15_2.0.0_ga" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/freescale_imx6qsabresd_defconfig b/configs/freescale_imx6qsabresd_defconfig index 824e12888dd..ef308e70537 100644 --- a/configs/freescale_imx6qsabresd_defconfig +++ b/configs/freescale_imx6qsabresd_defconfig @@ -1,42 +1,29 @@ -# architecture BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y - -# patches +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y BR2_GLOBAL_PATCH_DIR="board/freescale/imx6sabre/patches" - -# Linux headers same as kernel, a 4.1 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y - -# system +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" - -# kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.freescale.com/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.1.15_2.0.0_ga" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.12.3-1.0.0)/linux-imx-lf-6.12.3-1.0.0.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-sabresd" - -# filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6q-sabresd" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y - -# required tools to create the microSD image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6qsabresd" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.12.3-1.0.0)/uboot-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMX=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://git.freescale.com/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_4.1.15_2.0.0_ga" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/freescale_imx6sololiteevk_defconfig b/configs/freescale_imx6sololiteevk_defconfig deleted file mode 100644 index 0e81b2bd686..00000000000 --- a/configs/freescale_imx6sololiteevk_defconfig +++ /dev/null @@ -1,38 +0,0 @@ -# architecture -BR2_arm=y -BR2_cortex_a9=y -BR2_ARM_ENABLE_NEON=y -BR2_ARM_ENABLE_VFP=y -BR2_ARM_FPU_VFPV3=y - -# Linux headers same as kernel, a 4.1 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y - -# system -BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" - -# kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.freescale.com/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.1.15_2.0.0_ga" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6sl-evk" - -# filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" -BR2_TARGET_ROOTFS_EXT2=y - -# required tools to create the microSD image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# bootloader -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="mx6slevk" -BR2_TARGET_UBOOT_FORMAT_IMX=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://git.freescale.com/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_4.1.15_2.0.0_ga" diff --git a/configs/freescale_imx6sxsabresd_defconfig b/configs/freescale_imx6sxsabresd_defconfig index 4a40c263403..8f3d8e94050 100644 --- a/configs/freescale_imx6sxsabresd_defconfig +++ b/configs/freescale_imx6sxsabresd_defconfig @@ -1,41 +1,28 @@ -# architecture BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y - -# patches +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y BR2_GLOBAL_PATCH_DIR="board/freescale/imx6sabre/patches" - -# Linux headers same as kernel, a 4.1 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y - -# system +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" - -# kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.freescale.com/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.1.15_2.0.0_ga" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.12.3-1.0.0)/linux-imx-lf-6.12.3-1.0.0.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6sx-sdb" - -# filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6sx-sdb" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y - -# required tools to create the microSD image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6sxsabresd" -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://git.freescale.com/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_4.1.15_2.0.0_ga" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.12.3-1.0.0)/uboot-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMX=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/freescale_imx6ulevk_defconfig b/configs/freescale_imx6ulevk_defconfig deleted file mode 100644 index 3c5a9099a0d..00000000000 --- a/configs/freescale_imx6ulevk_defconfig +++ /dev/null @@ -1,36 +0,0 @@ -# architecture -BR2_arm=y -BR2_cortex_a7=y - -# Linux headers same as kernel, a 4.1 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y - -# system -BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" - -# kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.freescale.com/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.1.15_2.0.0_ga" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6ul-14x14-evk" - -# bootloader -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="mx6ul_14x14_evk" -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://git.freescale.com/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_4.1.15_2.0.0_ga" -BR2_TARGET_UBOOT_FORMAT_IMX=y - -# required tools to create the microSD image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# filesystem / image -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y diff --git a/configs/freescale_imx6ullevk_defconfig b/configs/freescale_imx6ullevk_defconfig new file mode 100644 index 00000000000..99bbff605b6 --- /dev/null +++ b/configs/freescale_imx6ullevk_defconfig @@ -0,0 +1,32 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx6ullevk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.12.49-2.2.0)/linux-imx-lf-6.12.49-2.2.0.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/freescale/imx6ullevk/linux_sdma.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6ull-14x14-evk" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="mx6ull_14x14_evk" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.12.49-2.2.0)/uboot-imx-lf-6.12.49-2.2.0.tar.gz" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_FORMAT_IMX=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/freescale_imx7dsabresd_defconfig b/configs/freescale_imx7dsabresd_defconfig index 97d3cde16ea..0487984a970 100644 --- a/configs/freescale_imx7dsabresd_defconfig +++ b/configs/freescale_imx7dsabresd_defconfig @@ -1,36 +1,26 @@ -# architecture BR2_arm=y BR2_cortex_a7=y - -# Linux headers same as kernel, a 4.1 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y - -# system +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx7dsdb/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.freescale.com/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.1.15_2.0.0_ga" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.12.3-1.0.0)/linux-imx-lf-6.12.3-1.0.0.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7d-sdb" - -# filesystem +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx7d-sdb" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y - -# bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx7dsabresd" -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://git.freescale.com/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_4.1.15_2.0.0_ga" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.12.3-1.0.0)/uboot-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMX=y - -# required tools to create the microSD image BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" diff --git a/configs/freescale_imx8dxlevk_defconfig b/configs/freescale_imx8dxlevk_defconfig new file mode 100644 index 00000000000..5ec0860a525 --- /dev/null +++ b/configs/freescale_imx8dxlevk_defconfig @@ -0,0 +1,42 @@ +BR2_aarch64=y +BR2_cortex_a35=y +BR2_ARM_FPU_VFPV3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx8dxlevk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyLP0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/fsl-imx8dxl-evk.dtb" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.12.3-1.0.0)/linux-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8dxl-evk" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_PACKAGE_IMX_SC_FIRMWARE=y +BR2_PACKAGE_IMX_SECO=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-6.12.3-1.0.0)/imx-atf-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8dxl" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.12.3-1.0.0)/uboot-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8dxl_evk" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/freescale_imx8mmevk_defconfig b/configs/freescale_imx8mmevk_defconfig new file mode 100644 index 00000000000..f37c9ca935e --- /dev/null +++ b/configs/freescale_imx8mmevk_defconfig @@ -0,0 +1,43 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx8mmevk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mm-evk.dtb" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.12.3-1.0.0)/linux-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mm-evk freescale/imx8mm-evk-revb-qca-wifi" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-6.12.3-1.0.0)/imx-atf-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mm" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.12.3-1.0.0)/uboot-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mm_evk" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/freescale_imx8mnevk_defconfig b/configs/freescale_imx8mnevk_defconfig new file mode 100644 index 00000000000..057f2eff878 --- /dev/null +++ b/configs/freescale_imx8mnevk_defconfig @@ -0,0 +1,43 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx8mnevk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mn-ddr4-evk.dtb" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.12.3-1.0.0)/linux-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mn-ddr4-evk" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_PACKAGE_FIRMWARE_IMX_DDR4=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-6.12.3-1.0.0)/imx-atf-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mn" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.12.3-1.0.0)/uboot-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mn_ddr4_evk" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/freescale_imx8mpevk_defconfig b/configs/freescale_imx8mpevk_defconfig new file mode 100644 index 00000000000..9a5759ca040 --- /dev/null +++ b/configs/freescale_imx8mpevk_defconfig @@ -0,0 +1,45 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx8mpevk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mp-evk.dtb" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.12.3-1.0.0)/linux-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mp-evk" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-6.12.3-1.0.0)/imx-atf-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mp" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.12.3-1.0.0)/uboot-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mp_evk" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/freescale/imx8mpevk/uboot-fragment.config" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/freescale_imx8mqevk_defconfig b/configs/freescale_imx8mqevk_defconfig new file mode 100644 index 00000000000..7a7d8f7e868 --- /dev/null +++ b/configs/freescale_imx8mqevk_defconfig @@ -0,0 +1,43 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx8mqevk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mq-evk.dtb" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.12.3-1.0.0)/linux-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mq-evk" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-6.12.3-1.0.0)/imx-atf-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mq" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.12.3-1.0.0)/uboot-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mq_evk" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/freescale_imx8qmmek_defconfig b/configs/freescale_imx8qmmek_defconfig new file mode 100644 index 00000000000..6740d3915f2 --- /dev/null +++ b/configs/freescale_imx8qmmek_defconfig @@ -0,0 +1,40 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx8qmmek/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/fsl-imx8qm-mek.dtb" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.12.3-1.0.0)/linux-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8qm-mek" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_PACKAGE_IMX_SC_FIRMWARE=y +BR2_PACKAGE_IMX_SECO=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-6.12.3-1.0.0)/imx-atf-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8qm" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.12.3-1.0.0)/uboot-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8qm_mek" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/freescale_imx8qxpmek_defconfig b/configs/freescale_imx8qxpmek_defconfig new file mode 100644 index 00000000000..ef5bef7dc65 --- /dev/null +++ b/configs/freescale_imx8qxpmek_defconfig @@ -0,0 +1,42 @@ +BR2_aarch64=y +BR2_cortex_a35=y +BR2_ARM_FPU_VFPV3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx8qxpmek/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyLP0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/fsl-imx8qxp-mek.dtb" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.12.3-1.0.0)/linux-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8qxp-mek" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_PACKAGE_IMX_SC_FIRMWARE=y +BR2_PACKAGE_IMX_SECO=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-6.12.3-1.0.0)/imx-atf-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8qx" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.12.3-1.0.0)/uboot-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8qxp_mek" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/freescale_imx91evk_defconfig b/configs/freescale_imx91evk_defconfig new file mode 100644 index 00000000000..479ff6a2e00 --- /dev/null +++ b/configs/freescale_imx91evk_defconfig @@ -0,0 +1,41 @@ +BR2_aarch64=y +BR2_cortex_a55=y +BR2_ARM_FPU_VFPV4D16=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx91evk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyLP0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx9-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.12.3-1.0.0)/linux-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx91-11x11-evk" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91=y +BR2_PACKAGE_FIRMWARE_ELE_IMX=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-6.12.3-1.0.0)/imx-atf-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx91" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.12.3-1.0.0)/uboot-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx91_11x11_evk" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/freescale_imx91frdm_defconfig b/configs/freescale_imx91frdm_defconfig new file mode 100644 index 00000000000..8a233afb50d --- /dev/null +++ b/configs/freescale_imx91frdm_defconfig @@ -0,0 +1,43 @@ +BR2_aarch64=y +BR2_cortex_a55=y +BR2_ARM_FPU_VFPV4D16=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx91frdm/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyLP0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx9-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,jolivain,linux-imx,lf-6.6.36-2.1.0-imx91frdm)/linux-imx-lf-6.6.36-2.1.0-imx91frdm.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx91-11x11-frdm" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91=y +BR2_PACKAGE_FIRMWARE_ELE_IMX=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-6.6.36-2.1.0)/imx-atf-lf-6.6.36-2.1.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx91" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,jolivain,uboot-imx,lf-6.6.36-2.1.0-imx91frdm)/uboot-imx-lf-6.6.36-2.1.0-imx91frdm.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx91_11x11_frdm" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/freescale_imx93evk_defconfig b/configs/freescale_imx93evk_defconfig new file mode 100644 index 00000000000..0a398593423 --- /dev/null +++ b/configs/freescale_imx93evk_defconfig @@ -0,0 +1,48 @@ +BR2_aarch64=y +BR2_cortex_a55=y +BR2_ARM_FPU_VFPV4D16=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx93evk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyLP0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx9-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.12.3-1.0.0)/linux-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx93-11x11-evk" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93=y +BR2_PACKAGE_FIRMWARE_ELE_IMX=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-6.12.3-1.0.0)/imx-atf-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx93" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL=y +BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-optee-os,lf-6.12.3-1.0.0)/imx-optee-os-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y +BR2_TARGET_OPTEE_OS_PLATFORM="imx" +BR2_TARGET_OPTEE_OS_PLATFORM_FLAVOR="mx93evk" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.12.3-1.0.0)/uboot-imx-lf-6.12.3-1.0.0.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx93_11x11_evk" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/freescale_imx93frdm_defconfig b/configs/freescale_imx93frdm_defconfig new file mode 100644 index 00000000000..8e16762d8fa --- /dev/null +++ b/configs/freescale_imx93frdm_defconfig @@ -0,0 +1,41 @@ +BR2_aarch64=y +BR2_cortex_a55=y +BR2_ARM_FPU_VFPV4D16=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx93frdm/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyLP0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx9-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,jolivain,linux-imx,lf-6.6.36-2.1.0-imx93frdm)/linux-imx-lf-6.6.36-2.1.0-imx93frdm.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx93-11x11-frdm" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93=y +BR2_PACKAGE_FIRMWARE_ELE_IMX=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-6.6.36-2.1.0)/imx-atf-lf-6.6.36-2.1.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx93" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,jolivain,uboot-imx,lf-6.6.36-2.1.0-imx93frdm)/uboot-imx-lf-6.6.36-2.1.0-imx93frdm.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx93_11x11_frdm" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/freescale_mpc8315erdb_defconfig b/configs/freescale_mpc8315erdb_defconfig deleted file mode 100644 index de7e561352e..00000000000 --- a/configs/freescale_mpc8315erdb_defconfig +++ /dev/null @@ -1,28 +0,0 @@ -# Architecture -BR2_powerpc=y -BR2_powerpc_e300c3=y - -# Filesystem -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_ROOTFS_JFFS2=y -BR2_TARGET_ROOTFS_JFFS2_CUSTOM=y -BR2_TARGET_ROOTFS_JFFS2_CUSTOM_PAGESIZE=0x200 -BR2_TARGET_ROOTFS_JFFS2_CUSTOM_EBSIZE=0x4000 -BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER=y - -# Linux headers same as kernel, a 4.5 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_5=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.5.3" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/freescale/mpc8315erdb/linux-4.5.config" -BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="mpc8315erdb" - -# Serial port config -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" diff --git a/configs/freescale_p1010rdb_pa_defconfig b/configs/freescale_p1010rdb_pa_defconfig deleted file mode 100644 index 3497275c8a5..00000000000 --- a/configs/freescale_p1010rdb_pa_defconfig +++ /dev/null @@ -1,27 +0,0 @@ -# Architecture -BR2_powerpc=y -BR2_powerpc_8548=y - -# Filesystem -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_ROOTFS_JFFS2=y -BR2_TARGET_ROOTFS_JFFS2_CUSTOM=y -BR2_TARGET_ROOTFS_JFFS2_CUSTOM_PAGESIZE=0x20 -BR2_TARGET_ROOTFS_JFFS2_CUSTOM_EBSIZE=0x20000 - -# Linux headers same as kernel, a 4.1 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.1.4" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/freescale/p1010rdb/linux-4.1.config" -BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="p1010rdb-pa" - -# Serial port config -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" diff --git a/configs/freescale_p1025twr_defconfig b/configs/freescale_p1025twr_defconfig new file mode 100644 index 00000000000..568f2060b1c --- /dev/null +++ b/configs/freescale_p1025twr_defconfig @@ -0,0 +1,15 @@ +BR2_powerpc=y +BR2_powerpc_8548=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.27" +BR2_LINUX_KERNEL_DEFCONFIG="mpc85xx_smp" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="fsl/p1025twr" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_GZIP=y +BR2_TARGET_ROOTFS_CPIO_UIMAGE=y +# BR2_TARGET_ROOTFS_TAR is not set diff --git a/configs/freescale_t1040d4rdb_defconfig b/configs/freescale_t1040d4rdb_defconfig new file mode 100644 index 00000000000..851e0119839 --- /dev/null +++ b/configs/freescale_t1040d4rdb_defconfig @@ -0,0 +1,15 @@ +BR2_powerpc64=y +BR2_powerpc_e5500=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.27" +BR2_LINUX_KERNEL_DEFCONFIG="corenet64_smp" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="fsl/t1040d4rdb" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_GZIP=y +BR2_TARGET_ROOTFS_CPIO_UIMAGE=y +# BR2_TARGET_ROOTFS_TAR is not set diff --git a/configs/freescale_t2080_qds_rdb_defconfig b/configs/freescale_t2080_qds_rdb_defconfig new file mode 100644 index 00000000000..a598473562f --- /dev/null +++ b/configs/freescale_t2080_qds_rdb_defconfig @@ -0,0 +1,15 @@ +BR2_powerpc64=y +BR2_powerpc_e6500=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.27" +BR2_LINUX_KERNEL_DEFCONFIG="corenet64_smp" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="fsl/t2080qds fsl/t2080rdb" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_GZIP=y +BR2_TARGET_ROOTFS_CPIO_UIMAGE=y +# BR2_TARGET_ROOTFS_TAR is not set diff --git a/configs/friendlyarm_nanopi_neo_defconfig b/configs/friendlyarm_nanopi_neo_defconfig new file mode 100644 index 00000000000..07be41cbf13 --- /dev/null +++ b/configs/friendlyarm_nanopi_neo_defconfig @@ -0,0 +1,34 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_VFPV4=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/friendlyarm/nanopi-neo/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="nanopi-neo" +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the NanoPi NEO" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/friendlyarm/nanopi-neo/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/friendlyarm/nanopi-neo/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.18" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun8i-h3-nanopi-neo" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nanopi_neo" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/friendlyarm_nanopi_r2s_defconfig b/configs/friendlyarm_nanopi_r2s_defconfig new file mode 100644 index 00000000000..62502377078 --- /dev/null +++ b/configs/friendlyarm_nanopi_r2s_defconfig @@ -0,0 +1,47 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV4=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/friendlyarm/nanopi-r2s/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="rk3328-nanopi-r2s" +BR2_TARGET_GENERIC_ISSUE="Welcome to Nanopi R2S RK3328" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/friendlyarm/nanopi-r2s/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/friendlyarm/nanopi-r2s/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.18" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3328-nanopi-r2s" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.12" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="rk3328" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nanopi-r2s-rk3328" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="idbloader.img" +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/friendlyarm_nanopi_r3s_defconfig b/configs/friendlyarm_nanopi_r3s_defconfig new file mode 100644 index 00000000000..971a0ae851e --- /dev/null +++ b/configs/friendlyarm_nanopi_r3s_defconfig @@ -0,0 +1,47 @@ +BR2_aarch64=y +BR2_cortex_a55=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/friendlyarm/nanopi-r3s/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="nanopi r3s" +BR2_TARGET_GENERIC_ISSUE="Welcome to the nanopi r3s board" +BR2_ROOTFS_OVERLAY="board/friendlyarm/nanopi-r3s/rootfs_overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/friendlyarm/nanopi-r3s/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.8" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/friendlyarm/nanopi-r3s/kernel.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3566-nanopi-r3s" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y +BR2_PACKAGE_ROCKCHIP_RKBIN=y +BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME="bin/rk35/rk3566_ddr_1056MHz_v1.23.bin" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="32M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_12_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="rk3568" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="bl31/bl31.elf" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nanopi-r3s-rk3566" +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y +BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN=y +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/galileo_defconfig b/configs/galileo_defconfig deleted file mode 100644 index 72ab0ff0616..00000000000 --- a/configs/galileo_defconfig +++ /dev/null @@ -1,25 +0,0 @@ -BR2_x86_x1000=y -# Needed for TARGET_GRUB2 -BR2_TOOLCHAIN_BUILDROOT_WCHAR=y -# Linux headers same as kernel, a 3.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14=y -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS1" -BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y -BR2_ROOTFS_OVERLAY="board/intel/galileo/rootfs_overlay" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/intel/galileo/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/intel/galileo/post-image.sh" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/mdr78/Linux-x1000.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="8b3c9d8ce1656a26b1097d9091d53bfb39fef640" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/intel/galileo/linux-3.14.config" -BR2_LINUX_KERNEL_INSTALL_TARGET=y -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_GRUB2=y -BR2_TARGET_GRUB2_I386_EFI=y -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/gdb_bfin_bf512_defconfig b/configs/gdb_bfin_bf512_defconfig deleted file mode 100644 index 37ee72887e3..00000000000 --- a/configs/gdb_bfin_bf512_defconfig +++ /dev/null @@ -1,34 +0,0 @@ -# Architecture -BR2_bfin=y -BR2_bf512=y - -# Filesystem -BR2_TARGET_ROOTFS_INITRAMFS=y -# BR2_TARGET_ROOTFS_TAR is not set - -BR2_ROOTFS_POST_BUILD_SCRIPT="board/gdb/post-build.sh" - -# Linux headers same as kernel, a 4.6 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.6.3" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/gdb/bfin-bf512/linux-4.6.config" -BR2_LINUX_KERNEL_VMLINUX=y - -# Serial port config -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyBF0" - -# use minimal busybox with hush -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" - -# compile gdb sim -BR2_PACKAGE_HOST_GDB=y -# BR2_PACKAGE_HOST_GDB_TUI is not set -# BR2_PACKAGE_HOST_GDB_PYTHON is not set -BR2_PACKAGE_HOST_GDB_SIM=y - diff --git a/configs/globalscale_espressobin_defconfig b/configs/globalscale_espressobin_defconfig new file mode 100644 index 00000000000..5b4f6dcf552 --- /dev/null +++ b/configs/globalscale_espressobin_defconfig @@ -0,0 +1,20 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Marvell ESPRESSObin" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/globalscale/espressobin/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.34" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/globalscale/espressobin/linux-extras.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="marvell/armada-3720-espressobin marvell/armada-3720-espressobin-emmc marvell/armada-3720-espressobin-v7 marvell/armada-3720-espressobin-v7-emmc marvell/armada-3720-espressobin-ultra" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ROOTFS_TAR_GZIP=y +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/grinn_chiliboard_defconfig b/configs/grinn_chiliboard_defconfig index cfd22b82213..e91c29607df 100644 --- a/configs/grinn_chiliboard_defconfig +++ b/configs/grinn_chiliboard_defconfig @@ -1,23 +1,27 @@ BR2_arm=y BR2_cortex_a8=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyO0" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/grinn/chiliboard/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_SYSTEM_DHCP="eth0" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/grinn/chiliboard/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/grinn/chiliboard/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.6" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.6" BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-chiliboard" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/omap/am335x-chiliboard" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="http://git.denx.de/u-boot.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="aac477eca88dd81b18b48573ababee5112d571f3" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="chiliboard" +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="spl/u-boot-spl.bin" diff --git a/configs/grinn_liteboard_defconfig b/configs/grinn_liteboard_defconfig index 70ec2964929..480a5a8c238 100644 --- a/configs/grinn_liteboard_defconfig +++ b/configs/grinn_liteboard_defconfig @@ -1,22 +1,27 @@ BR2_arm=y BR2_cortex_a7=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_10=y -BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/grinn/liteboard/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_SYSTEM_DHCP="eth0" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/grinn/liteboard/post-image.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/grinn/liteboard/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.10" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.6" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6ul-liteboard" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6ul-liteboard" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="liteboard" +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" diff --git a/configs/hifive_unleashed_defconfig b/configs/hifive_unleashed_defconfig new file mode 100644 index 00000000000..e83af773f79 --- /dev/null +++ b/configs/hifive_unleashed_defconfig @@ -0,0 +1,47 @@ +BR2_riscv=y +BR2_riscv_custom=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/sifive/hifive-unleashed/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttySIF0" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/sifive/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/sifive/common/genimage_sdcard.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.20" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/sifive/common/linux.config.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="sifive/hifive-unleashed-a00" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.2" +BR2_TARGET_OPENSBI_PLAT="generic" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sifive_unleashed" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_OPENSBI=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/sifive/hifive-unleashed/boot.cmd" diff --git a/configs/hifive_unmatched_defconfig b/configs/hifive_unmatched_defconfig new file mode 100644 index 00000000000..0b63ce15fff --- /dev/null +++ b/configs/hifive_unmatched_defconfig @@ -0,0 +1,47 @@ +BR2_riscv=y +BR2_riscv_custom=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/sifive/hifive-unmatched/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttySIF0" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/sifive/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/sifive/common/genimage_sdcard.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.20" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/sifive/common/linux.config.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="sifive/hifive-unmatched-a00" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.2" +BR2_TARGET_OPENSBI_PLAT="generic" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sifive_unmatched" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_OPENSBI=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/sifive/hifive-unmatched/boot.cmd" diff --git a/configs/hp_9000_defconfig b/configs/hp_9000_defconfig new file mode 100644 index 00000000000..29ad684d74f --- /dev/null +++ b/configs/hp_9000_defconfig @@ -0,0 +1,20 @@ +BR2_hppa=y +BR2_parisc11=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_16=y +BR2_GLOBAL_PATCH_DIR="board/hp/9000/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT=" board/hp/9000/post-image.sh support/scripts/genimage.sh $(BINARIES_DIR)/palo.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.16.5" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_GZIP=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_PALO=y +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/icnova-a20-adb4006_defconfig b/configs/icnova-a20-adb4006_defconfig new file mode 100644 index 00000000000..01f4abe2158 --- /dev/null +++ b/configs/icnova-a20-adb4006_defconfig @@ -0,0 +1,41 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_GLOBAL_PATCH_DIR="board/in-circuit/icnova-a20-adb4006/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="ICnova A20 ADB4006" +BR2_TARGET_GENERIC_ISSUE="Welcome to ICnova A20 ADB4006!" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/in-circuit/icnova-a20-adb4006/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.56" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/in-circuit/icnova-a20-adb4006/linux.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun7i-a20-icnova-a20-adb4006" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="128M" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="icnova-a20-adb4006" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/in-circuit/icnova-a20-adb4006/boot.cmd" diff --git a/configs/imx23evk_defconfig b/configs/imx23evk_defconfig index fe0744036d7..330d5c45021 100644 --- a/configs/imx23evk_defconfig +++ b/configs/imx23evk_defconfig @@ -1,34 +1,20 @@ -# architecture BR2_arm=y -BR2_arm926t=y - -# Linux headers same as kernel, a 4.8 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y - -# system +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" - -# kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/mxs/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.21" BR2_LINUX_KERNEL_DEFCONFIG="mxs" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx23-evk" - -# bootloader +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/mxs/imx23-evk" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx23evk" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" BR2_TARGET_UBOOT_FORMAT_SD=y - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT4=y - -# To generate SD card image BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/mxs/post-image.sh" diff --git a/configs/imx28evk_defconfig b/configs/imx28evk_defconfig new file mode 100644 index 00000000000..d34f4134402 --- /dev/null +++ b/configs/imx28evk_defconfig @@ -0,0 +1,22 @@ +BR2_arm=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx28evk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/mxs/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.26" +BR2_LINUX_KERNEL_DEFCONFIG="mxs" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/mxs/imx28-evk" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="mx28evk" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.04" +BR2_TARGET_UBOOT_FORMAT_SD=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/imx6-sabreauto_defconfig b/configs/imx6-sabreauto_defconfig index f81964c5e0a..0683a01ff68 100644 --- a/configs/imx6-sabreauto_defconfig +++ b/configs/imx6-sabreauto_defconfig @@ -3,36 +3,27 @@ BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y - -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3" - -# required tools to create the SD card image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# Filesystem BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.47" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6q-sabreauto nxp/imx/imx6dl-sabreauto nxp/imx/imx6qp-sabreauto" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y - -# Bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6sabreauto" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_LZOP=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.3" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-sabreauto imx6dl-sabreauto imx6qp-sabreauto" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/imx6-sabresd_defconfig b/configs/imx6-sabresd_defconfig index 18dfe279450..bb281e16b81 100644 --- a/configs/imx6-sabresd_defconfig +++ b/configs/imx6-sabresd_defconfig @@ -3,36 +3,26 @@ BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y - -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" - -# required tools to create the SD card image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# Filesystem BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.47" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6q-sabresd nxp/imx/imx6dl-sabresd nxp/imx/imx6qp-sabresd" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y - -# Bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6sabresd" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.3" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-sabresd imx6dl-sabresd imx6qp-sabresd" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/imx6-sabresd_qt5_defconfig b/configs/imx6-sabresd_qt5_defconfig index e20266e736b..d3151819fb5 100644 --- a/configs/imx6-sabresd_qt5_defconfig +++ b/configs/imx6-sabresd_qt5_defconfig @@ -3,54 +3,28 @@ BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y - -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y - -# Additional features needed for packages -BR2_TOOLCHAIN_BUILDROOT_WCHAR=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y BR2_TOOLCHAIN_BUILDROOT_CXX=y - -# System +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" - -# required tools to create the SD card image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# Filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_SIZE="320M" BR2_ROOTFS_OVERLAY="board/freescale/imx6-sabresd/rootfs_overlay" - -# Bootloader -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="mx6sabresd" -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" -BR2_TARGET_UBOOT_FORMAT_IMG=y -BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="SPL" - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.47" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-sabresd imx6dl-sabresd imx6qp-sabresd" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/freescale/imx6-sabresd/linux_qt5.fragment" - -# GL driver -BR2_PACKAGE_MESA3D=y -BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV=y -BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y -BR2_PACKAGE_MESA3D_OPENGL_ES=y - -# Fonts +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6q-sabresd nxp/imx/imx6dl-sabresd nxp/imx/imx6qp-sabresd" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_GSTREAMER1=y +BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC=y +BR2_PACKAGE_GST1_PLUGINS_GOOD=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y +BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2_PROBE=y +BR2_PACKAGE_GST1_PLUGINS_BAD=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y +BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_KMS=y BR2_PACKAGE_BITSTREAM_VERA=y BR2_PACKAGE_CANTARELL=y BR2_PACKAGE_DEJAVU=y @@ -58,40 +32,38 @@ BR2_PACKAGE_FONT_AWESOME=y BR2_PACKAGE_GHOSTSCRIPT_FONTS=y BR2_PACKAGE_INCONSOLATA=y BR2_PACKAGE_LIBERATION=y - -# GL demos BR2_PACKAGE_GLMARK2=y BR2_PACKAGE_KMSCUBE=y -BR2_PACKAGE_LIBV4L=y BR2_PACKAGE_MESA3D_DEMOS=y - -# Qt5 +BR2_PACKAGE_QT5CINEX=y +BR2_PACKAGE_QT5CINEX_HD=y +BR2_PACKAGE_MESA3D=y +BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV=y +BR2_PACKAGE_MESA3D_OPENGL_EGL=y +BR2_PACKAGE_MESA3D_OPENGL_ES=y BR2_PACKAGE_QT5=y -BR2_PACKAGE_QT5BASE_LICENSE_APPROVED=y BR2_PACKAGE_QT5BASE_OPENGL_LIB=y BR2_PACKAGE_QT5BASE_LINUXFB=y BR2_PACKAGE_QT5BASE_FONTCONFIG=y BR2_PACKAGE_QT5BASE_GIF=y BR2_PACKAGE_QT5BASE_JPEG=y -BR2_PACKAGE_QT5CINEX=y -BR2_PACKAGE_QT5CINEX_HD=y - -# NXP firmware package BR2_PACKAGE_FREESCALE_IMX=y BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q=y BR2_PACKAGE_FIRMWARE_IMX=y - -# libdrm tests BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y - -# gstreamer-1.0 -BR2_PACKAGE_GSTREAMER1=y -BR2_PACKAGE_GST1_PLUGINS_GOOD=y -BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y -BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2_PROBE=y -BR2_PACKAGE_GST1_PLUGINS_BAD=y -BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y -BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_KMS=y - -# For automatic kernel module loading -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_PACKAGE_LIBV4L=y +BR2_PACKAGE_LIBV4L_UTILS=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="320M" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="mx6sabresd" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="SPL" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/imx6slevk_defconfig b/configs/imx6slevk_defconfig new file mode 100644 index 00000000000..f64b5fa41b7 --- /dev/null +++ b/configs/imx6slevk_defconfig @@ -0,0 +1,25 @@ +BR2_arm=y +BR2_cortex_a9=y +BR2_ARM_ENABLE_NEON=y +BR2_ARM_ENABLE_VFP=y +BR2_ARM_FPU_VFPV3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.51" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6sl-evk" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="mx6slevk" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_IMX=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/imx6sx-sdb_defconfig b/configs/imx6sx-sdb_defconfig new file mode 100644 index 00000000000..5dc3f87171c --- /dev/null +++ b/configs/imx6sx-sdb_defconfig @@ -0,0 +1,25 @@ +BR2_arm=y +BR2_cortex_a9=y +BR2_ARM_ENABLE_NEON=y +BR2_ARM_ENABLE_VFP=y +BR2_ARM_FPU_VFPV3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.46" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6sx-sdb nxp/imx/imx6sx-sdb-reva" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="mx6sxsabresd" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_IMX=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/imx6ulevk_defconfig b/configs/imx6ulevk_defconfig new file mode 100644 index 00000000000..e20d452b66b --- /dev/null +++ b/configs/imx6ulevk_defconfig @@ -0,0 +1,27 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.48" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6ul-14x14-evk" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="mx6ul_14x14_evk" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="SPL" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/imx6ullevk_defconfig b/configs/imx6ullevk_defconfig new file mode 100644 index 00000000000..5d802e6614e --- /dev/null +++ b/configs/imx6ullevk_defconfig @@ -0,0 +1,32 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx6ull-evk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.8" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6ull-14x14-evk" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="mx6ull_14x14_evk" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/imx6ulpico_defconfig b/configs/imx6ulpico_defconfig index 96ac038d2fd..b8d713c4de9 100644 --- a/configs/imx6ulpico_defconfig +++ b/configs/imx6ulpico_defconfig @@ -1,51 +1,35 @@ -# architecture BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y - -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y - -# system +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc5" - -# rootfs overlay BR2_ROOTFS_OVERLAY="board/technexion/imx6ulpico/rootfs_overlay" - -# kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.48" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/technexion/imx6ulpico/linux.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6ul-pico-hobbit" - -# wifi firmware for brcm4339 +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6ul-pico-pi nxp/imx/imx6ul-pico-hobbit nxp/imx/imx6ul-pico-dwarf" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA9377=y BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y - -# For automatic firmware loading -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y - -# wireless packages BR2_PACKAGE_WIRELESS_TOOLS=y BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y - -# bootloader +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="pico-imx6ul" +BR2_TARGET_UBOOT_BOARDNAME="pico-pi-imx6ul" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.11" -BR2_TARGET_UBOOT_FORMAT_IMX=y - -# required tools to create the eMMC image +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="SPL" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y - -# filesystem / image -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y diff --git a/configs/imx6ulz_bsh_smm_m2_defconfig b/configs/imx6ulz_bsh_smm_m2_defconfig new file mode 100644 index 00000000000..a3d0259a36d --- /dev/null +++ b/configs/imx6ulz_bsh_smm_m2_defconfig @@ -0,0 +1,45 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/bsh/imx6ulz-bsh-smm-m2/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/bsh/imx6ulz-bsh-smm-m2/post-build.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.80" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/bsh/imx6ulz-bsh-smm-m2/linux.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6ulz-bsh-smm-m2" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_PACKAGE_BLUEZ_TOOLS=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y +BR2_PACKAGE_IW=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ROOTFS_UBIFS=y +BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000 +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx6ulz_smm_m2" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-with-spl.imx" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_E2FSPROGS=y +BR2_PACKAGE_HOST_ENVIRONMENT_SETUP=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UUU=y diff --git a/configs/imx7d-sdb_defconfig b/configs/imx7d-sdb_defconfig new file mode 100644 index 00000000000..6520a41cf97 --- /dev/null +++ b/configs/imx7d-sdb_defconfig @@ -0,0 +1,29 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_GLOBAL_PATCH_DIR="board/imx7d-sdb/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" +BR2_ROOTFS_OVERLAY="board/freescale/imx7dsdb/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.58" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx7d-sdb" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="mx7dsabresd" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.10" +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/imx7dpico_defconfig b/configs/imx7dpico_defconfig index b72d56bc94b..3fbdb898a1f 100644 --- a/configs/imx7dpico_defconfig +++ b/configs/imx7dpico_defconfig @@ -1,35 +1,32 @@ -# architecture BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y - -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y - -# system +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc4" - -# kernel +BR2_ROOTFS_OVERLAY="board/technexion/imx7dpico/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.48" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7d-pico" - -# bootloader +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx7d-pico-pi" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="pico-imx7d" +BR2_TARGET_UBOOT_BOARDNAME="pico-pi-imx7d" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07" -BR2_TARGET_UBOOT_FORMAT_IMX=y - -# required tools to create the eMMC image -BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="SPL" BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# filesystem / image -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y diff --git a/configs/imx8mm-evk_defconfig b/configs/imx8mm-evk_defconfig new file mode 100644 index 00000000000..00fe2fa7611 --- /dev/null +++ b/configs/imx8mm-evk_defconfig @@ -0,0 +1,48 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx8mm-evk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/freescale/imx8mm-evk/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mm-evk" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_PACKAGE_FIRMWARE_IMX_LPDDR4=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.12" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mm" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mm_evk" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="flash.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/imx8mmpico_defconfig b/configs/imx8mmpico_defconfig new file mode 100644 index 00000000000..d1836db61a9 --- /dev/null +++ b/configs/imx8mmpico_defconfig @@ -0,0 +1,41 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_GLOBAL_PATCH_DIR="board/technexion/imx8mmpico/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mm-pico-pi.dtb" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,TechNexion,linux-tn-imx,tn-mickledore_6.1.55-2.2.0_20240417)/linux-tn-imx-tn-mickledore_6.1.55-2.2.0_20240417.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="tn_imx8" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mm-pico-pi freescale/imx8mm-pico-pi-ili9881c" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-6.1.55-2.2.0)/imx-atf-lf-6.1.55-2.2.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mm" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,TechNexion,u-boot-tn-imx,tn-mickledore_6.1.55-2.2.0_20240417)/u-boot-tn-imx-tn-mickledore_6.1.55-2.2.0_20240417.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="pico-imx8mm" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/imx8mn-ddr4-evk_defconfig b/configs/imx8mn-ddr4-evk_defconfig new file mode 100644 index 00000000000..66c95315f01 --- /dev/null +++ b/configs/imx8mn-ddr4-evk_defconfig @@ -0,0 +1,48 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx8mn-evk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/freescale/imx8mn-evk/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mn-ddr4-evk" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_PACKAGE_FIRMWARE_IMX_DDR4=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.12" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mn" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mn_ddr4_evk" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="flash.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/imx8mn_bsh_smm_s2_defconfig b/configs/imx8mn_bsh_smm_s2_defconfig new file mode 100644 index 00000000000..223acec01d8 --- /dev/null +++ b/configs/imx8mn_bsh_smm_s2_defconfig @@ -0,0 +1,43 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/bsh/common/imx8mn-bsh-smm-s2/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/bsh/imx8mn-bsh-smm-s2/post-build.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.80" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/bsh/common/imx8mn-bsh-smm-s2/linux.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mn-bsh-smm-s2" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_PACKAGE_FIRMWARE_IMX_DDR3=y +BR2_TARGET_ROOTFS_UBIFS=y +BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000 +BR2_TARGET_ROOTFS_UBIFS_RT_NONE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_10_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mn" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="IMX_BOOT_UART_BASE=0x30a60000" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUG=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mn_bsh_smm_s2" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="flash.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_UUU=y diff --git a/configs/imx8mn_bsh_smm_s2_pro_defconfig b/configs/imx8mn_bsh_smm_s2_pro_defconfig new file mode 100644 index 00000000000..cccbe2e3705 --- /dev/null +++ b/configs/imx8mn_bsh_smm_s2_pro_defconfig @@ -0,0 +1,45 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/bsh/common/imx8mn-bsh-smm-s2/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/bsh/imx8mn-bsh-smm-s2-pro/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/bsh/imx8mn-bsh-smm-s2-pro/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.80" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/bsh/common/imx8mn-bsh-smm-s2/linux.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mn-bsh-smm-s2pro" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_PACKAGE_FIRMWARE_IMX_DDR3=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_10_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mn" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="IMX_BOOT_UART_BASE=0x30a60000" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mn_bsh_smm_s2pro" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="flash.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UUU=y diff --git a/configs/imx8mp-evk_defconfig b/configs/imx8mp-evk_defconfig new file mode 100644 index 00000000000..2cb7ecbbde8 --- /dev/null +++ b/configs/imx8mp-evk_defconfig @@ -0,0 +1,47 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx8mp-evk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/freescale/imx8mp-evk/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mp-evk" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.12" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mp" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mp_evk" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="flash.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/imx8mqevk_defconfig b/configs/imx8mqevk_defconfig new file mode 100644 index 00000000000..bac68f40a6d --- /dev/null +++ b/configs/imx8mqevk_defconfig @@ -0,0 +1,41 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mq-evk.dtb" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.48" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mq-evk" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-6.6.23-2.0.0)/imx-atf-lf-6.6.23-2.0.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mq" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.6.23-2.0.0)/uboot-imx-lf-6.6.23-2.0.0.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mq_evk" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/imx93-evk_defconfig b/configs/imx93-evk_defconfig new file mode 100644 index 00000000000..f3af2b51830 --- /dev/null +++ b/configs/imx93-evk_defconfig @@ -0,0 +1,50 @@ +BR2_aarch64=y +BR2_cortex_a55=y +BR2_ARM_FPU_VFPV4D16=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx93-evk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyLP0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/freescale/imx93-evk/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.16" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx93-11x11-evk" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93=y +BR2_PACKAGE_FIRMWARE_ELE_IMX=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_PACKAGE_FIRMWARE_IMX_LPDDR4=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.12" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx93" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx93_11x11_evk" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="flash.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/imxrt1050-evk_defconfig b/configs/imxrt1050-evk_defconfig new file mode 100644 index 00000000000..813be65e524 --- /dev/null +++ b/configs/imxrt1050-evk_defconfig @@ -0,0 +1,33 @@ +BR2_arm=y +BR2_cortex_m7=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_STABLE=y +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imxrt1050evk/patches" +BR2_ROOTFS_OVERLAY="board/freescale/imxrt1050evk/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/freescale/imxrt1050evk/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.18" +BR2_LINUX_KERNEL_DEFCONFIG="imxrt" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imxrt1050-evk" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="16M" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imxrt1050-evk" +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="SPL" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/iot-gate-imx8_ebbr_defconfig b/configs/iot-gate-imx8_ebbr_defconfig new file mode 100644 index 00000000000..460494302a7 --- /dev/null +++ b/configs/iot-gate-imx8_ebbr_defconfig @@ -0,0 +1,62 @@ +BR2_aarch64=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/compulab/iot-gate-imx8-ebbr/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/compulab/iot-gate-imx8-ebbr/post-image.sh support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/compulab/iot-gate-imx8-ebbr/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.16.8" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_PACKAGE_OPTEE_CLIENT=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="128M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.13" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mm" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS="bl2" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BL32_BASE=0x7e000000 IMX_BOOT_UART_BASE=0x30880000 NEED_BL2=yes BL2_CFLAGS=-DIMX_FIP_MMAP" +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot efi_gop efifwsetup efinet efitextmode ext2 fat help linux lsefi lsefimmap lsefisystab normal part_gpt part_msdos reboot squash4" +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_CUSTOM_VERSION=y +BR2_TARGET_OPTEE_OS_CUSTOM_VERSION_VALUE="4.7.0" +BR2_TARGET_OPTEE_OS_NEEDS_DTC=y +BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y +BR2_TARGET_OPTEE_OS_PLATFORM="imx" +BR2_TARGET_OPTEE_OS_PLATFORM_FLAVOR="mx8mm_cl_iot_gate" +BR2_TARGET_OPTEE_OS_ADDITIONAL_VARIABLES="CFG_TEE_CORE_LOG_LEVEL=2 CFG_TEE_TA_LOG_LEVEL=2 CFG_EXTERNAL_DTB_OVERLAY=y CFG_DT=y CFG_DT_ADDR=0x52000000" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mm-cl-iot-gate-optee" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/compulab/iot-gate-imx8-ebbr/u-boot.fragment" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE=y +BR2_TARGET_UBOOT_USE_BINMAN=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="cmd_binman=:" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/khadas_vim3_defconfig b/configs/khadas_vim3_defconfig new file mode 100644 index 00000000000..32e39fc64b5 --- /dev/null +++ b/configs/khadas_vim3_defconfig @@ -0,0 +1,32 @@ +BR2_aarch64=y +BR2_cortex_a73_a53=y +BR2_ARM_FPU_VFPV4=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/khadas/vim3/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/khadas/vim3/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/khadas/vim3/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.15" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="amlogic/meson-g12b-a311d-khadas-vim3" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="khadas-vim3" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/kontron_bl_imx8mm_defconfig b/configs/kontron_bl_imx8mm_defconfig new file mode 100644 index 00000000000..ba3c58693bc --- /dev/null +++ b/configs/kontron_bl_imx8mm_defconfig @@ -0,0 +1,43 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc2" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/kontron/bl-imx8mm/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mm-kontron-n801x-s" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.6" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mm" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="IMX_BOOT_UART_BASE=0x30880000" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="kontron-sl-mx8mm" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="flash.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/kontron_smarc_sal28_defconfig b/configs/kontron_smarc_sal28_defconfig new file mode 100644 index 00000000000..b1e175b7b2d --- /dev/null +++ b/configs/kontron_smarc_sal28_defconfig @@ -0,0 +1,40 @@ +BR2_aarch64=y +BR2_cortex_a72=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/kontron/smarc-sal28/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_ROOTFS_OVERLAY="board/kontron/smarc-sal28/rootfs_overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/kontron/smarc-sal28/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1028a-kontron-sl28 freescale/fsl-ls1028a-kontron-sl28-var2 freescale/fsl-ls1028a-kontron-sl28-var3-ads2 freescale/fsl-ls1028a-kontron-sl28-var4 freescale/fsl-ls1028a-kontron-kbox-a-230-ls" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_RCW_SMARC_SAL28=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="160M" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="kontron_sl28" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.rom" +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/lafrite_defconfig b/configs/lafrite_defconfig new file mode 100644 index 00000000000..5f70706fa03 --- /dev/null +++ b/configs/lafrite_defconfig @@ -0,0 +1,22 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_GLOBAL_PATCH_DIR="board/librecomputer/lafrite/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_OVERLAY="board/librecomputer/lafrite/overlay/" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/librecomputer/lafrite/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.22" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="amlogic/meson-gxl-s805x-libretech-ac" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/lego_ev3_defconfig b/configs/lego_ev3_defconfig index dea84d90d09..8de65aae026 100644 --- a/configs/lego_ev3_defconfig +++ b/configs/lego_ev3_defconfig @@ -1,45 +1,35 @@ -# architecture BR2_arm=y -BR2_arm926t=y - -# Build options +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y BR2_GLOBAL_PATCH_DIR="board/lego/ev3/patches" - -# system -BR2_TARGET_GENERIC_GETTY=y +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS1" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/lego/ev3/post-image.sh" -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.315" BR2_LINUX_KERNEL_DEFCONFIG="davinci_all" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/lego/ev3/linux.fragment" +BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0xc0008000" -BR2_LINUX_KERNEL_APPENDED_UIMAGE=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="da850-lego-ev3" - -# Target packages BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/lego/ev3/busybox.fragment" - -# filesystem +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_TI_CC2560=y +BR2_PACKAGE_BRICKD=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_SQUASHFS=y BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y # BR2_TARGET_ROOTFS_TAR is not set - -# U-Boot BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="legoev3" - -# host BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/linksprite_pcduino_defconfig b/configs/linksprite_pcduino_defconfig index e736e48068d..a9fe21991f1 100644 --- a/configs/linksprite_pcduino_defconfig +++ b/configs/linksprite_pcduino_defconfig @@ -1,62 +1,42 @@ -# Architecture BR2_arm=y BR2_cortex_a8=y - -# System settings +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/linksprite/pcduino/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_HOSTNAME="pcduino" BR2_TARGET_GENERIC_ISSUE="pcDuino buildroot is ready" - -# Serial port config -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" - -# SD image scripts -BR2_ROOTFS_POST_BUILD_SCRIPT="board/linksprite/pcduino/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/linksprite/pcduino/post-image.sh" - -# For kernel modules autoloading BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.3" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun4i-a10-pcduino" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/linksprite/pcduino/linux-extras.config" - -# Filesystem +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun4i-a10-pcduino" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WIRELESS_TOOLS_LIB=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y - -# U-Boot BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.03" -BR2_TARGET_UBOOT_USE_DEFCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="Linksprite_pcDuino" BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_FORMAT_BIN=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" - -# Host packages -BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS=y - -# Target packages: wireless support for pcduino-lite-wifi -BR2_PACKAGE_IW=y -BR2_PACKAGE_WIRELESS_TOOLS=y -BR2_PACKAGE_WIRELESS_TOOLS_LIB=y -BR2_PACKAGE_WPA_SUPPLICANT=y -BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y -BR2_PACKAGE_WPA_SUPPLICANT_CLI=y -BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y diff --git a/configs/loongarch64_efi_defconfig b/configs/loongarch64_efi_defconfig new file mode 100644 index 00000000000..c98699330d3 --- /dev/null +++ b/configs/loongarch64_efi_defconfig @@ -0,0 +1,22 @@ +BR2_loongarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/loongarch64-efi/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/loongarch64-efi/post-image.sh support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/loongarch64-efi/genimage-efi.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.32" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="200M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_LOONGARCH64_EFI=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/ls1028ardb_defconfig b/configs/ls1028ardb_defconfig new file mode 100644 index 00000000000..d39c4529632 --- /dev/null +++ b/configs/ls1028ardb_defconfig @@ -0,0 +1,45 @@ +BR2_aarch64=y +BR2_cortex_a72=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/freescale/ls1028ardb/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="ls1028a" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_SYSTEM_DHCP="eno0" +BR2_ROOTFS_OVERLAY="board/freescale/ls1028ardb/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/freescale/ls1028ardb/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,linux,lf-6.12.34-2.1.0)/linux-lf-6.12.34-2.1.0.tar.gz" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/lsdk.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1028a-rdb" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="200M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,atf,lf-6.12.34-2.1.0)/atf-lf-6.12.34-2.1.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1028ardb" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_RCW=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT_MODE=sd" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_sd.pbl" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,u-boot,lf-6.12.34-2.1.0)/u-boot-lf-6.12.34-2.1.0.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="ls1028ardb_tfa" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_QORIQ_RCW=y +BR2_PACKAGE_HOST_QORIQ_RCW_INTREE="ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.bin" diff --git a/configs/ls1043a-rdb_defconfig b/configs/ls1043a-rdb_defconfig new file mode 100644 index 00000000000..94b8a914164 --- /dev/null +++ b/configs/ls1043a-rdb_defconfig @@ -0,0 +1,47 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_GLOBAL_PATCH_DIR="board/freescale/ls1043a-rdb/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="ls1043ardb" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_OVERLAY="board/freescale/ls1043a-rdb/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/freescale/ls1043a-rdb/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,linux,lf-6.12.34-2.1.0)/linux-lf-6.12.34-2.1.0.tar.gz" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/lsdk.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1043a-rdb freescale/fsl-ls1043a-rdb-sdk" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_QORIQ_FM_UCODE=y +BR2_PACKAGE_QORIQ_FM_UCODE_PLATFORM="ls1043" +BR2_PACKAGE_FMC=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="200M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,atf,lf-6.12.34-2.1.0)/atf-lf-6.12.34-2.1.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1043ardb" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_RCW=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT_MODE=sd" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_sd.pbl" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,u-boot,lf-6.12.34-2.1.0)/u-boot-lf-6.12.34-2.1.0.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="ls1043ardb_tfa" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_QORIQ_RCW=y +BR2_PACKAGE_HOST_QORIQ_RCW_INTREE="ls1043ardb/RR_FQPP_1455/rcw_1600_sdboot.bin" diff --git a/configs/ls1046a-frwy_defconfig b/configs/ls1046a-frwy_defconfig new file mode 100644 index 00000000000..838d132d55a --- /dev/null +++ b/configs/ls1046a-frwy_defconfig @@ -0,0 +1,47 @@ +BR2_aarch64=y +BR2_cortex_a72=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_GLOBAL_PATCH_DIR="board/freescale/ls1046a-frwy/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="ls1046afrwy" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_OVERLAY="board/freescale/ls1046a-frwy/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/freescale/ls1046a-frwy/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,linux,lf-6.12.34-2.1.0)/linux-lf-6.12.34-2.1.0.tar.gz" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/lsdk.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1046a-frwy freescale/fsl-ls1046a-frwy-sdk" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_QORIQ_FM_UCODE=y +BR2_PACKAGE_FMC=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="200M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,atf,lf-6.12.34-2.1.0)/atf-lf-6.12.34-2.1.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1046afrwy" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_RCW=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT_MODE=sd" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_sd.pbl" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,u-boot,lf-6.12.34-2.1.0)/u-boot-lf-6.12.34-2.1.0.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="ls1046afrwy_tfa" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_QORIQ_RCW=y +BR2_PACKAGE_HOST_QORIQ_RCW_INTREE="ls1046afrwy/NN_NNQNNPNP_3040_0506/rcw_1600_sdboot.bin" diff --git a/configs/ls1046a-rdb_defconfig b/configs/ls1046a-rdb_defconfig new file mode 100644 index 00000000000..f9be2d42b22 --- /dev/null +++ b/configs/ls1046a-rdb_defconfig @@ -0,0 +1,47 @@ +BR2_aarch64=y +BR2_cortex_a72=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_GLOBAL_PATCH_DIR="board/freescale/ls1046a-rdb/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="ls1046ardb" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_OVERLAY="board/freescale/ls1046a-rdb/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/freescale/ls1046a-rdb/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,linux,lf-6.12.34-2.1.0)/linux-lf-6.12.34-2.1.0.tar.gz" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/lsdk.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1046a-rdb freescale/fsl-ls1046a-rdb-sdk" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_QORIQ_FM_UCODE=y +BR2_PACKAGE_FMC=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="200M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,atf,lf-6.12.34-2.1.0)/atf-lf-6.12.34-2.1.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1046ardb" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_RCW=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT_MODE=sd" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_sd.pbl" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,u-boot,lf-6.12.34-2.1.0)/u-boot-lf-6.12.34-2.1.0.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="ls1046ardb_tfa" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_QORIQ_RCW=y +BR2_PACKAGE_HOST_QORIQ_RCW_INTREE="ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_sdboot.rcw" diff --git a/configs/mangopi_mq1rdw2_defconfig b/configs/mangopi_mq1rdw2_defconfig new file mode 100644 index 00000000000..469a45b967e --- /dev/null +++ b/configs/mangopi_mq1rdw2_defconfig @@ -0,0 +1,44 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/mangopi/mq1rdw2/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="mangopi-mq1rdw2" +BR2_TARGET_GENERIC_ISSUE="Welcome to MangoPI MQ1RDW2" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS3" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_OVERLAY="board/mangopi/mq1rdw2/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/mangopi/mq1rdw2/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.8" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun8i-t113s-mangopi-mq-r-t113" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_RTL8723DS=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="mangopi_mq_r" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/mender_x86_64_efi_defconfig b/configs/mender_x86_64_efi_defconfig new file mode 100644 index 00000000000..219f02839c5 --- /dev/null +++ b/configs/mender_x86_64_efi_defconfig @@ -0,0 +1,54 @@ +BR2_x86_64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_INIT_SYSV=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_ROOTFS_OVERLAY="board/mender/x86_64/overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/mender/x86_64/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/mender/x86_64/post-image-efi.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="--data-part-size=32M --device-type=buildroot-x86_64 --artifact-name=1.0" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.28" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/mender/x86_64/linux.config" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3168=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2A=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2B=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265D=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8000C=y +BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8265=y +BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y +BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y +BR2_PACKAGE_ACPID=y +BR2_PACKAGE_CONNMAN=y +BR2_PACKAGE_CONNMAN_WIFI=y +BR2_PACKAGE_CONNMAN_CLIENT=y +BR2_PACKAGE_MENDER=y +BR2_PACKAGE_MENDER_GRUBENV=y +BR2_PACKAGE_MENDER_GRUBENV_DEFINES="board/mender/x86_64/mender_grubenv_defines" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="128M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_X86_64_EFI=y +BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop loadenv hashsum echo halt gcry_sha256 test regexp sleep" +BR2_TARGET_GRUB2_INSTALL_TOOLS=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MENDER_ARTIFACT=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/microchip_mpfs_icicle_defconfig b/configs/microchip_mpfs_icicle_defconfig new file mode 100644 index 00000000000..1d8937c3d11 --- /dev/null +++ b/configs/microchip_mpfs_icicle_defconfig @@ -0,0 +1,31 @@ +BR2_riscv=y +BR2_RISCV_ISA_RVC=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/microchip/mpfs_icicle/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="mpfs_icicle" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/microchip/mpfs_icicle/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip+fpga-2025.10)/linux-linux4microchip+fpga-2025.10.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="mpfs" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/microchip/mpfs_icicle/linux.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="microchip/mpfs-icicle-kit microchip/mpfs-icicle-kit-prod" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,u-boot-mchp,linux4microchip+fpga-2025.10)/uboot-linux4microchip+fpga-2025.10.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="microchip_mpfs_icicle" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/microchip/mpfs_icicle/uboot-fragment-rootfs.config" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/microchip/mpfs_icicle/uboot-env.txt" diff --git a/configs/microchip_sam9x60ek_mmc_defconfig b/configs/microchip_sam9x60ek_mmc_defconfig new file mode 100644 index 00000000000..7a1a699d2e4 --- /dev/null +++ b/configs/microchip_sam9x60ek_mmc_defconfig @@ -0,0 +1,27 @@ +BR2_arm=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_TARGET_GENERIC_HOSTNAME="sam9x60ek" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/microchip/sam9x60ek_mmc/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sam9x60ek" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap-v4.0.1.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sam9x60eksd_uboot" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam-2020.04)/u-boot-at91-linux4sam-2020.04.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sam9x60ek_mmc" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/microchip_sam9x60ek_mmc_dev_defconfig b/configs/microchip_sam9x60ek_mmc_dev_defconfig new file mode 100644 index 00000000000..4c842f2bb04 --- /dev/null +++ b/configs/microchip_sam9x60ek_mmc_dev_defconfig @@ -0,0 +1,80 @@ +BR2_arm=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TARGET_GENERIC_HOSTNAME="sam9x60ek" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/microchip/sam9x60ek_mmc/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sam9x60ek" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_ALSA_UTILS=y +BR2_PACKAGE_ALSA_UTILS_ALSACONF=y +BR2_PACKAGE_ALSA_UTILS_APLAY=y +BR2_PACKAGE_FFMPEG=y +BR2_PACKAGE_FFMPEG_GPL=y +BR2_PACKAGE_FFMPEG_SWSCALE=y +BR2_PACKAGE_MPG123=y +BR2_PACKAGE_BZIP2=y +BR2_PACKAGE_GZIP=y +BR2_PACKAGE_UNZIP=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_ZIP=y +BR2_PACKAGE_GDB=y +BR2_PACKAGE_LMBENCH=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y +BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y +BR2_PACKAGE_MMC_UTILS=y +BR2_PACKAGE_MTD=y +BR2_PACKAGE_WILC1000_FIRMWARE=y +BR2_PACKAGE_WILC3000_FIRMWARE=y +BR2_PACKAGE_EVTEST=y +BR2_PACKAGE_I2C_TOOLS=y +BR2_PACKAGE_SETSERIAL=y +BR2_PACKAGE_SPI_TOOLS=y +BR2_PACKAGE_USBUTILS=y +BR2_PACKAGE_LIBSYSFS=y +BR2_PACKAGE_LIBDRM=y +BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y +BR2_PACKAGE_DTC=y +BR2_PACKAGE_DTC_PROGRAMS=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BRIDGE_UTILS=y +BR2_PACKAGE_CAN_UTILS=y +BR2_PACKAGE_ETHTOOL=y +BR2_PACKAGE_IPERF=y +BR2_PACKAGE_IPROUTE2=y +BR2_PACKAGE_IPTABLES=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_LRZSZ=y +BR2_PACKAGE_MII_DIAG=y +BR2_PACKAGE_OPENSSH=y +BR2_PACKAGE_WGET=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_BASH=y +BR2_PACKAGE_HTOP=y +BR2_PACKAGE_VIM=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap-v4.0.1.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sam9x60eksd_uboot" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam-2020.04)/u-boot-at91-linux4sam-2020.04.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sam9x60ek_mmc" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/microchip_sama5d27_wlsom1_ek_mmc_defconfig b/configs/microchip_sama5d27_wlsom1_ek_mmc_defconfig new file mode 100644 index 00000000000..024e8a1465d --- /dev/null +++ b/configs/microchip_sama5d27_wlsom1_ek_mmc_defconfig @@ -0,0 +1,30 @@ +BR2_arm=y +BR2_cortex_a5=y +BR2_ARM_ENABLE_NEON=y +BR2_ARM_ENABLE_VFP=y +BR2_ARM_INSTRUCTIONS_THUMB2=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d27_wlsom1_ek_mmc/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="sama5" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d27_wlsom1_ek" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap-v4.0.1.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d27_wlsom1_eksd_uboot" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam_6.2)/u-boot-at91-linux4sam_6.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d27_wlsom1_ek_mmc" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig b/configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig new file mode 100644 index 00000000000..5f6eba482c1 --- /dev/null +++ b/configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig @@ -0,0 +1,83 @@ +BR2_arm=y +BR2_cortex_a5=y +BR2_ARM_ENABLE_NEON=y +BR2_ARM_ENABLE_VFP=y +BR2_ARM_INSTRUCTIONS_THUMB2=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d27_wlsom1_ek_mmc/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="sama5" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d27_wlsom1_ek" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_ALSA_UTILS=y +BR2_PACKAGE_ALSA_UTILS_ALSACONF=y +BR2_PACKAGE_ALSA_UTILS_APLAY=y +BR2_PACKAGE_FFMPEG=y +BR2_PACKAGE_FFMPEG_GPL=y +BR2_PACKAGE_FFMPEG_SWSCALE=y +BR2_PACKAGE_MPG123=y +BR2_PACKAGE_BZIP2=y +BR2_PACKAGE_GZIP=y +BR2_PACKAGE_UNZIP=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_ZIP=y +BR2_PACKAGE_GDB=y +BR2_PACKAGE_LMBENCH=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y +BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y +BR2_PACKAGE_MMC_UTILS=y +BR2_PACKAGE_MTD=y +BR2_PACKAGE_WILC1000_FIRMWARE=y +BR2_PACKAGE_WILC3000_FIRMWARE=y +BR2_PACKAGE_EVTEST=y +BR2_PACKAGE_I2C_TOOLS=y +BR2_PACKAGE_SETSERIAL=y +BR2_PACKAGE_SPI_TOOLS=y +BR2_PACKAGE_USBUTILS=y +BR2_PACKAGE_LIBSYSFS=y +BR2_PACKAGE_LIBDRM=y +BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y +BR2_PACKAGE_DTC=y +BR2_PACKAGE_DTC_PROGRAMS=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BRIDGE_UTILS=y +BR2_PACKAGE_CAN_UTILS=y +BR2_PACKAGE_ETHTOOL=y +BR2_PACKAGE_IPERF=y +BR2_PACKAGE_IPROUTE2=y +BR2_PACKAGE_IPTABLES=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_LRZSZ=y +BR2_PACKAGE_MII_DIAG=y +BR2_PACKAGE_OPENSSH=y +BR2_PACKAGE_WGET=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_BASH=y +BR2_PACKAGE_HTOP=y +BR2_PACKAGE_VIM=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap-v4.0.1.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d27_wlsom1_eksd_uboot" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam_6.2)/u-boot-at91-linux4sam_6.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d27_wlsom1_ek_mmc" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/microchip_sama5d2_icp_mmc_defconfig b/configs/microchip_sama5d2_icp_mmc_defconfig new file mode 100644 index 00000000000..27ea4970f18 --- /dev/null +++ b/configs/microchip_sama5d2_icp_mmc_defconfig @@ -0,0 +1,31 @@ +BR2_arm=y +BR2_cortex_a5=y +BR2_ARM_ENABLE_NEON=y +BR2_ARM_ENABLE_VFP=y +BR2_ARM_INSTRUCTIONS_THUMB2=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/microchip/sama5d2_icp/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="sama5" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d2_icp" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap-v4.0.1.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d2_icpsd_uboot" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam-2020.10)/u-boot-at91-linux4sam-2020.10.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d2_icp_mmc" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/microchip_sama5d2_icp_mmc_dev_defconfig b/configs/microchip_sama5d2_icp_mmc_dev_defconfig new file mode 100644 index 00000000000..64df7b4d130 --- /dev/null +++ b/configs/microchip_sama5d2_icp_mmc_dev_defconfig @@ -0,0 +1,72 @@ +BR2_arm=y +BR2_cortex_a5=y +BR2_ARM_ENABLE_NEON=y +BR2_ARM_ENABLE_VFP=y +BR2_ARM_INSTRUCTIONS_THUMB2=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/microchip/sama5d2_icp/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux4microchip-2021.10)/linux-linux4microchip-2021.10.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="sama5" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d2_icp" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_LINUX_TOOLS_IIO=y +BR2_PACKAGE_BZIP2=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_ZIP=y +BR2_PACKAGE_GDB=y +BR2_PACKAGE_LMBENCH=y +BR2_PACKAGE_STRACE=y +BR2_PACKAGE_TREE=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y +BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y +BR2_PACKAGE_MMC_UTILS=y +BR2_PACKAGE_MTD=y +BR2_PACKAGE_WILC1000_FIRMWARE=y +BR2_PACKAGE_WILC3000_FIRMWARE=y +BR2_PACKAGE_EVTEST=y +BR2_PACKAGE_SETSERIAL=y +BR2_PACKAGE_SPI_TOOLS=y +BR2_PACKAGE_USBUTILS=y +BR2_PACKAGE_LIBSYSFS=y +BR2_PACKAGE_LIBDRM=y +BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y +BR2_PACKAGE_DTC=y +BR2_PACKAGE_DTC_PROGRAMS=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BRIDGE_UTILS=y +BR2_PACKAGE_CAN_UTILS=y +BR2_PACKAGE_ETHTOOL=y +BR2_PACKAGE_IPERF=y +BR2_PACKAGE_IPROUTE2=y +BR2_PACKAGE_IPTABLES=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_LRZSZ=y +BR2_PACKAGE_MII_DIAG=y +BR2_PACKAGE_OPENSSH=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_HTOP=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap-v4.0.1.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d2_icpsd_uboot" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam-2020.10)/u-boot-at91-linux4sam-2020.10.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d2_icp_mmc" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/microchip_sama7g5ek_mmc_defconfig b/configs/microchip_sama7g5ek_mmc_defconfig new file mode 100644 index 00000000000..7ab81d1dd00 --- /dev/null +++ b/configs/microchip_sama7g5ek_mmc_defconfig @@ -0,0 +1,29 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/microchip/sama7g5ek/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.21" +BR2_LINUX_KERNEL_DEFCONFIG="sama7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama7g5ek" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap-v4.0.1.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama7g5eksd_uboot" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam-2021.04)/u-boot-at91-linux4sam-2021.04.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama7g5ek_mmc1" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/microchip_sama7g5ek_mmc_dev_defconfig b/configs/microchip_sama7g5ek_mmc_dev_defconfig new file mode 100644 index 00000000000..2fca9873a60 --- /dev/null +++ b/configs/microchip_sama7g5ek_mmc_dev_defconfig @@ -0,0 +1,72 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/microchip/sama7g5ek/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.21" +BR2_LINUX_KERNEL_DEFCONFIG="sama7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama7g5ek" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_LINUX_TOOLS_IIO=y +BR2_PACKAGE_BZIP2=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_ZIP=y +BR2_PACKAGE_GDB=y +BR2_PACKAGE_LMBENCH=y +BR2_PACKAGE_STRACE=y +BR2_PACKAGE_TREE=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y +BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y +BR2_PACKAGE_MMC_UTILS=y +BR2_PACKAGE_MTD=y +BR2_PACKAGE_WILC1000_FIRMWARE=y +BR2_PACKAGE_WILC3000_FIRMWARE=y +BR2_PACKAGE_EVTEST=y +BR2_PACKAGE_RNG_TOOLS=y +# BR2_PACKAGE_RNG_TOOLS_JITTERENTROPY_LIBRARY is not set +BR2_PACKAGE_SETSERIAL=y +BR2_PACKAGE_SPI_TOOLS=y +BR2_PACKAGE_USBUTILS=y +BR2_PACKAGE_LIBSYSFS=y +BR2_PACKAGE_LIBDRM=y +BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y +BR2_PACKAGE_DTC=y +BR2_PACKAGE_DTC_PROGRAMS=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BRIDGE_UTILS=y +BR2_PACKAGE_CAN_UTILS=y +BR2_PACKAGE_ETHTOOL=y +BR2_PACKAGE_IPERF=y +BR2_PACKAGE_IPROUTE2=y +BR2_PACKAGE_IPTABLES=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_LRZSZ=y +BR2_PACKAGE_MII_DIAG=y +BR2_PACKAGE_OPENSSH=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_HTOP=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.1)/at91bootstrap-v4.0.1.tar.gz" +BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama7g5eksd_uboot" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam-2021.04)/u-boot-at91-linux4sam-2021.04.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama7g5ek_mmc1" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/minnowboard_max-graphical_defconfig b/configs/minnowboard_max-graphical_defconfig deleted file mode 100644 index 2c11fb378cf..00000000000 --- a/configs/minnowboard_max-graphical_defconfig +++ /dev/null @@ -1,74 +0,0 @@ -# Architecture -BR2_x86_64=y -BR2_x86_atom=y - -# Toolchain -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12=y -BR2_TOOLCHAIN_BUILDROOT_LOCALE=y -BR2_TOOLCHAIN_BUILDROOT_CXX=y -# needed for TARGET_GRUB2 -BR2_TOOLCHAIN_BUILDROOT_WCHAR=y - -# System configuration -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y -BR2_ROOTFS_OVERLAY="board/minnowboard/fs-overlay-graphical" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/minnowboard/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/minnowboard/post-image.sh" - -# Host packages -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# Linux -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.12.2" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/minnowboard/linux.config" - -# Bootloader -BR2_TARGET_GRUB2=y -BR2_TARGET_GRUB2_X86_64_EFI=y - -# ALSA -BR2_PACKAGE_ALSA_UTILS=y -BR2_PACKAGE_ALSA_UTILS_APLAY=y - -# OpenGL -BR2_PACKAGE_GLMARK2=y -BR2_PACKAGE_MESA3D_DEMOS=y -BR2_PACKAGE_MESA3D=y -BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y -BR2_PACKAGE_MESA3D_DRI_DRIVER_I965=y - -# Framebuffer (just for testing purposes) -BR2_PACKAGE_FB_TEST_APP=y - -# X -BR2_PACKAGE_XORG7=y -BR2_PACKAGE_XSERVER_XORG_SERVER=y -BR2_PACKAGE_XAPP_XRANDR=y -BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV=y -BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD=y -BR2_PACKAGE_XDRIVER_XF86_INPUT_MOUSE=y -BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL=y -BR2_PACKAGE_NODM=y -BR2_PACKAGE_XTERM=y -BR2_PACKAGE_OPENBOX=y - -# Firmware -BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y - -# Libraries -BR2_PACKAGE_IMLIB2=y -BR2_PACKAGE_IMLIB2_JPEG=y -BR2_PACKAGE_IMLIB2_PNG=y -BR2_PACKAGE_STARTUP_NOTIFICATION=y - -# Filesystem image -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_SIZE="120M" -# BR2_TARGET_ROOTFS_TAR is not set diff --git a/configs/minnowboard_max_defconfig b/configs/minnowboard_max_defconfig index db6e5957797..f370edbaa14 100644 --- a/configs/minnowboard_max_defconfig +++ b/configs/minnowboard_max_defconfig @@ -1,37 +1,22 @@ -# Architecture BR2_x86_64=y -BR2_x86_atom=y - -# Misc +BR2_x86_silvermont=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_POST_BUILD_SCRIPT="board/minnowboard/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/minnowboard/post-image.sh" - -# Linux headers same as kernel, a 4.12 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12=y -# Needed for grub2 -BR2_TOOLCHAIN_BUILDROOT_WCHAR=y - -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# Needed for ethernet -BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y - -# Linux kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/minnowboard/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.12.2" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.11" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/minnowboard/linux.config" - -# Bootloader -BR2_TARGET_GRUB2=y -BR2_TARGET_GRUB2_X86_64_EFI=y - -# Filesystem image +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_X86_64_EFI=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/mx25pdk_defconfig b/configs/mx25pdk_defconfig deleted file mode 100644 index 271be446d5c..00000000000 --- a/configs/mx25pdk_defconfig +++ /dev/null @@ -1,34 +0,0 @@ -# Architecture -BR2_arm=y -BR2_arm926t=y - -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y - -# System -BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" - -# required tools to create the SD card image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# Filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y - -# Bootloader -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="mx25pdk" -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" -BR2_TARGET_UBOOT_FORMAT_IMX=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.3" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v4_v5" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx25-pdk" diff --git a/configs/mx51evk_defconfig b/configs/mx51evk_defconfig index 479eac316e9..e8c3af149bf 100644 --- a/configs/mx51evk_defconfig +++ b/configs/mx51evk_defconfig @@ -1,34 +1,24 @@ -# Architecture BR2_arm=y BR2_cortex_a8=y - -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx51evk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" - -# required tools to create the SD card image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# Filesystem BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.218" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx51-babbage" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y - -# Bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx51evk" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.01" BR2_TARGET_UBOOT_FORMAT_IMX=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.13" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx51-babbage" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/mx53loco_defconfig b/configs/mx53loco_defconfig index 0f94aa765ba..004a0f1c191 100644 --- a/configs/mx53loco_defconfig +++ b/configs/mx53loco_defconfig @@ -1,34 +1,23 @@ -# Architecture BR2_arm=y BR2_cortex_a8=y - -# Linux headers same as kernel, a 4.12 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" - -# required tools to create the SD card image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# Filesystem BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.20" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx53-qsb imx53-qsrb" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y - -# Bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx53loco" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.01" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMX=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.12.12" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx53-qsb imx53-qsrb" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/mx6cubox_defconfig b/configs/mx6cubox_defconfig index 5a4e9341bff..f2359a4b0c0 100644 --- a/configs/mx6cubox_defconfig +++ b/configs/mx6cubox_defconfig @@ -3,28 +3,32 @@ BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_GLOBAL_PATCH_DIR="board/solidrun/mx6cubox/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/solidrun/mx6cubox/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/solidrun/mx6cubox/post-image.sh" +BR2_ROOTFS_OVERLAY="board/solidrun/mx6cubox/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.27" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6dl-cubox-i nxp/imx/imx6dl-cubox-i-emmc-som-v15 nxp/imx/imx6dl-cubox-i-som-v15 nxp/imx/imx6dl-hummingboard nxp/imx/imx6dl-hummingboard-emmc-som-v15 nxp/imx/imx6dl-hummingboard-som-v15 nxp/imx/imx6q-cubox-i nxp/imx/imx6q-cubox-i-emmc-som-v15 nxp/imx/imx6q-cubox-i-som-v15 nxp/imx/imx6q-hummingboard nxp/imx/imx6q-hummingboard-emmc-som-v15 nxp/imx/imx6q-hummingboard-som-v15" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="mx6cuboxi" +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="mx6cuboxi" +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.3" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-cubox-i imx6dl-cubox-i imx6q-hummingboard imx6dl-hummingboard" -BR2_LINUX_KERNEL_INSTALL_TARGET=y -# required tools to create the SD card image BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/mx6sx_udoo_neo_defconfig b/configs/mx6sx_udoo_neo_defconfig index e2e36b907b3..0c8c4d228c4 100644 --- a/configs/mx6sx_udoo_neo_defconfig +++ b/configs/mx6sx_udoo_neo_defconfig @@ -3,28 +3,32 @@ BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y -BR2_ROOTFS_POST_BUILD_SCRIPT="board/udoo/neo/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/udoo/neo/post-image.sh" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_GLOBAL_PATCH_DIR="board/udoo/neo/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/udoo/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.43" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6sx-udoo-neo-basic nxp/imx/imx6sx-udoo-neo-full nxp/imx/imx6sx-udoo-neo-extended" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="udoo_neo" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.3" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6sx-udoo-neo-basic imx6sx-udoo-neo-full imx6sx-udoo-neo-extended" -BR2_LINUX_KERNEL_INSTALL_TARGET=y -# required tools to create the SD card image BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/udoo/common/boot.scr.txt" diff --git a/configs/mx6udoo_defconfig b/configs/mx6udoo_defconfig index bf2a596686c..d139d8e3e20 100644 --- a/configs/mx6udoo_defconfig +++ b/configs/mx6udoo_defconfig @@ -3,27 +3,29 @@ BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y -# Linux headers same as kernel, a 4.8 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_10=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/udoo/mx6qdl/post-image.sh" +BR2_ROOTFS_OVERLAY="board/udoo/mx6qdl/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.10.6" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6q-udoo nxp/imx/imx6dl-udoo" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="udoo" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.11" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/udoo/mx6qdl/linux.fragment" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-udoo imx6dl-udoo" -# required tools to create the SD card image BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/nanopi_m1_defconfig b/configs/nanopi_m1_defconfig deleted file mode 100644 index 323015ee68f..00000000000 --- a/configs/nanopi_m1_defconfig +++ /dev/null @@ -1,44 +0,0 @@ -# Architecture -BR2_arm=y -BR2_cortex_a7=y -BR2_ARM_FPU_VFPV4=y - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# System configuration -BR2_TARGET_GENERIC_HOSTNAME="nanopi-m1" -BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the NanoPi M1" - -# Bootloaders -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nanopi_m1" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.5" -BR2_LINUX_KERNEL_DEFCONFIG="sunxi" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-nanopi-m1" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_UBOOT_BOOT_SCRIPT=y -BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/friendlyarm/nanopi-m1/boot.cmd" -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/friendlyarm/nanopi-m1/genimage.cfg" -# BR2_TARGET_ROOTFS_TAR is not set - -# Additional tools -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/nanopi_m1_plus_defconfig b/configs/nanopi_m1_plus_defconfig deleted file mode 100644 index da707fd5fad..00000000000 --- a/configs/nanopi_m1_plus_defconfig +++ /dev/null @@ -1,45 +0,0 @@ -# Architecture -BR2_arm=y -BR2_cortex_a7=y -BR2_ARM_FPU_VFPV4=y - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# System configuration -BR2_TARGET_GENERIC_HOSTNAME="nanopi-m1-plus" -BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the NanoPi M1 Plus" - -# Bootloaders -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nanopi_m1_plus" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.5" -BR2_GLOBAL_PATCH_DIR="board/friendlyarm/nanopi-m1-plus/patches/" -BR2_LINUX_KERNEL_DEFCONFIG="sunxi" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-nanopi-m1-plus" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_UBOOT_BOOT_SCRIPT=y -BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/friendlyarm/nanopi-m1-plus/boot.cmd" -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/friendlyarm/nanopi-m1-plus/genimage.cfg" -# BR2_TARGET_ROOTFS_TAR is not set - -# Additional tools -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/nanopi_neo_defconfig b/configs/nanopi_neo_defconfig deleted file mode 100644 index aa464917b56..00000000000 --- a/configs/nanopi_neo_defconfig +++ /dev/null @@ -1,40 +0,0 @@ -BR2_arm=y -BR2_cortex_a7=y -BR2_ARM_FPU_VFPV4=y - -BR2_TARGET_GENERIC_HOSTNAME="nanopi-neo" -BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the NanoPi NEO" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/friendlyarm/nanopi-neo/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/friendlyarm/nanopi-neo/post-image.sh" - -# Linux headers same as kernel, a 4.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_10=y - -# Use a -rc kernel to get the DTS -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.10.1" -BR2_LINUX_KERNEL_DEFCONFIG="sunxi" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-nanopi-neo" - -# Use an -rc tag because the defconfig is very recent -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.01" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nanopi_neo" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" - -# Build an sdcard image -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_SIZE="32M" -BR2_TARGET_ROOTFS_EXT2_INODES=8192 -# BR2_TARGET_ROOTFS_TAR is not set -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/nexbox_a95x_defconfig b/configs/nexbox_a95x_defconfig index 5fc009940fe..2c7ddd98b6e 100644 --- a/configs/nexbox_a95x_defconfig +++ b/configs/nexbox_a95x_defconfig @@ -1,16 +1,16 @@ BR2_aarch64=y -BR2_cortex_a53=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_POST_BUILD_SCRIPT="board/nexbox/a95x/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/nexbox/a95x/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.4" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.12" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="amlogic/meson-gxbb-nexbox-a95x amlogic/meson-gxl-s905x-nexbox-a95x" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set diff --git a/configs/nezha_defconfig b/configs/nezha_defconfig new file mode 100644 index 00000000000..c234b3e2433 --- /dev/null +++ b/configs/nezha_defconfig @@ -0,0 +1,38 @@ +BR2_riscv=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_GLOBAL_PATCH_DIR="board/nezha/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_OVERLAY="board/nezha/overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/nezha/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.22" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/nezha/linux.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun20i-d1-nezha" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.4" +BR2_TARGET_OPENSBI_PLAT="generic" +# BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,smaeul,u-boot,2e89b706f5c956a70c989cd31665f1429e9a0b48)/uboot-2e89b706f5c956a70c989cd31665f1429e9a0b48.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nezha" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_OPENSBI=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/nitrogen6sx_defconfig b/configs/nitrogen6sx_defconfig index fc568fbbd2b..368cd027f41 100644 --- a/configs/nitrogen6sx_defconfig +++ b/configs/nitrogen6sx_defconfig @@ -1,39 +1,32 @@ -# architecture BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y - -# system -BR2_TARGET_GENERIC_GETTY=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" BR2_ROOTFS_POST_BUILD_SCRIPT="board/boundarydevices/common/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/boundarydevices/common/post-image.sh" -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_UBOOT_TOOLS=y - -# filesystem -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y - -# Linux headers same as kernel, a 4.1 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y - -# bootloader -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="nitrogen6sx" -BR2_TARGET_UBOOT_FORMAT_IMX=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -# Last version of branch boundary-v2017.03 -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot-imx6/archive/4280a700.tar.gz" - -# kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -# Last version of branch boundary-imx_4.1.15_2.0.0_ga -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/archive/8b305512.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/4470b050.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="boundary" -BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6sx-nitrogen6sx imx6sx-nitrogen6sx-m4" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/ea37a18c.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen6sx" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_IMX=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/boundarydevices/common/boot.cmd" diff --git a/configs/nitrogen6x_defconfig b/configs/nitrogen6x_defconfig index 43ff7088a70..f99392a82b5 100644 --- a/configs/nitrogen6x_defconfig +++ b/configs/nitrogen6x_defconfig @@ -1,39 +1,32 @@ -# architecture BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y - -# system -BR2_TARGET_GENERIC_GETTY=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" BR2_ROOTFS_POST_BUILD_SCRIPT="board/boundarydevices/common/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/boundarydevices/common/post-image.sh" -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_UBOOT_TOOLS=y - -# filesystem -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y - -# Linux headers same as kernel, a 4.1 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y - -# bootloader -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="nitrogen6q" -BR2_TARGET_UBOOT_FORMAT_IMX=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -# Last version of branch boundary-v2017.03 -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot-imx6/archive/4280a700.tar.gz" - -# kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -# Last version of branch boundary-imx_4.1.15_2.0.0_ga -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/archive/8b305512.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/4470b050.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="boundary" -BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-nit6xlite imx6dl-nitrogen6_vm imx6dl-nitrogen6x imx6q-nitrogen6x imx6dl-nitrogen6_som2 imx6q-nitrogen6_som2 imx6qp-nitrogen6_som2 imx6q-nitrogen6_max imx6qp-nitrogen6_max imx6q-sabrelite" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/ea37a18c.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen6q" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_IMX=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/boundarydevices/common/boot.cmd" diff --git a/configs/nitrogen7_defconfig b/configs/nitrogen7_defconfig index da5938b09c4..2c558f73115 100644 --- a/configs/nitrogen7_defconfig +++ b/configs/nitrogen7_defconfig @@ -1,38 +1,31 @@ -# architecture BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y - -# system -BR2_TARGET_GENERIC_GETTY=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" BR2_ROOTFS_POST_BUILD_SCRIPT="board/boundarydevices/common/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/boundarydevices/common/post-image.sh" -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_UBOOT_TOOLS=y - -# filesystem -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y - -# Linux headers same as kernel, a 4.1 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y - -# bootloader -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="nitrogen7" -BR2_TARGET_UBOOT_FORMAT_IMX=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -# Last version of branch boundary-v2017.03 -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot-imx6/archive/4280a700.tar.gz" - -# kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -# Last version of branch boundary-imx_4.1.15_2.0.0_ga -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/archive/8b305512.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/4470b050.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="boundary" -BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7d-nitrogen7 imx7d-nitrogen7-m4" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/ea37a18c.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen7" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_IMX=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/boundarydevices/common/boot.cmd" diff --git a/configs/nitrogen8m_defconfig b/configs/nitrogen8m_defconfig new file mode 100644 index 00000000000..92d50051baa --- /dev/null +++ b/configs/nitrogen8m_defconfig @@ -0,0 +1,42 @@ +BR2_aarch64=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/boundarydevices/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/boundarydevices/common/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mq-nitrogen8m.dtb" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/4470b050.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="boundary" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mq-nitrogen8m freescale/imx8mq-nitrogen8m-m4 freescale/imx8mq-nitrogen8m_som freescale/imx8mq-nitrogen8m_som-m4" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/7e3484cc.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mq" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/ea37a18c.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen8m" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/nitrogen8mm_defconfig b/configs/nitrogen8mm_defconfig new file mode 100644 index 00000000000..91cdcd7a961 --- /dev/null +++ b/configs/nitrogen8mm_defconfig @@ -0,0 +1,42 @@ +BR2_aarch64=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/boundarydevices/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/boundarydevices/common/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mm-nitrogen8mm.dtb" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/4470b050.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="boundary" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mm-nitrogen8mm freescale/imx8mm-nitrogen8mm-m4 freescale/imx8mm-nitrogen8mm_rev2 freescale/imx8mm-nitrogen8mm_rev2-m4 freescale/imx8mm-nitrogen8mm_som freescale/imx8mm-nitrogen8mm_som-m4" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/7e3484cc.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mm" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/ea37a18c.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen8mm_2g" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/nitrogen8mn_defconfig b/configs/nitrogen8mn_defconfig new file mode 100644 index 00000000000..746c9faf29b --- /dev/null +++ b/configs/nitrogen8mn_defconfig @@ -0,0 +1,42 @@ +BR2_aarch64=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/boundarydevices/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/boundarydevices/common/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mn-nitrogen8_nano.dtb" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/4470b050.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="boundary" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mn-nitrogen8_nano freescale/imx8mn-nitrogen8mn freescale/imx8mn-nitrogen8mn_som" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/7e3484cc.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mn" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/ea37a18c.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen8_nano_8mn1gr0" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/nitrogen8mp_defconfig b/configs/nitrogen8mp_defconfig new file mode 100644 index 00000000000..867ce7c4eb5 --- /dev/null +++ b/configs/nitrogen8mp_defconfig @@ -0,0 +1,42 @@ +BR2_aarch64=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/boundarydevices/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/boundarydevices/common/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mp-nitrogen8mp.dtb" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/4470b050.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="boundary" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mp-nitrogen_smarc freescale/imx8mp-nitrogen8mp freescale/imx8mp-nitrogen8mp-m4 freescale/imx8mp-nitrogen8mp-enc freescale/imx8mp-nitrogen8mp-enc-tc358743" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/7e3484cc.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mp" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/ea37a18c.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen8mp_2gr0" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/nvidia_bf3_defconfig b/configs/nvidia_bf3_defconfig new file mode 100644 index 00000000000..42bcb1299d2 --- /dev/null +++ b/configs/nvidia_bf3_defconfig @@ -0,0 +1,16 @@ +BR2_aarch64=y +BR2_cortex_a78=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_11=y +BR2_GLOBAL_PATCH_DIR="board/nvidia/bf3/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_OVERLAY="board/nvidia/bf3/rootfs_overlay" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.11.6" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/nvidia/bf3/linux.config" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_LIBMNL=y +BR2_PACKAGE_IPROUTE2=y +BR2_TARGET_ROOTFS_INITRAMFS=y +# BR2_TARGET_ROOTFS_TAR is not set diff --git a/configs/octavo_osd32mp1_brk_defconfig b/configs/octavo_osd32mp1_brk_defconfig new file mode 100644 index 00000000000..2a6d7947222 --- /dev/null +++ b/configs/octavo_osd32mp1_brk_defconfig @@ -0,0 +1,47 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/octavo/osd32mp1-brk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_OVERLAY="board/octavo/osd32mp1-brk/overlay/" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/octavo/osd32mp1-brk/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/STMicroelectronics/linux.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="v5.10-stm32mp-r2.1" +BR2_LINUX_KERNEL_DEFCONFIG="multi_v7" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm/configs/fragment-01-multiv7_cleanup.config $(LINUX_DIR)/arch/arm/configs/fragment-02-multiv7_addons.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32mp157c-osd32mp1-brk" +BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/octavo/osd32mp1-brk/linux-dts/*" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/STMicroelectronics/arm-trusted-firmware.git" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v2.4-stm32mp-r1" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="stm32mp1" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_DTS_PATH="board/octavo/osd32mp1-brk/tfa-dts/*" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-nodtb.bin" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157c-osd32mp1-brk.dtb STM32MP_USB_PROGRAMMER=1 BL33_CFG=$(BINARIES_DIR)/u-boot.dtb" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="*.stm32 fip.bin" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/STMicroelectronics/u-boot.git" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="v2020.10-stm32mp-r2.1" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="osd32mp1_brk_trusted" +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin u-boot.dtb" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157c-osd32mp1-brk" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/octavo_osd32mp1_red_defconfig b/configs/octavo_osd32mp1_red_defconfig new file mode 100644 index 00000000000..3646e2d04fb --- /dev/null +++ b/configs/octavo_osd32mp1_red_defconfig @@ -0,0 +1,47 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/octavo/osd32mp1-red/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_OVERLAY="board/octavo/osd32mp1-red/overlay/" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/octavo/osd32mp1-red/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/STMicroelectronics/linux.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="v5.10-stm32mp-r2.1" +BR2_LINUX_KERNEL_DEFCONFIG="multi_v7" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm/configs/fragment-01-multiv7_cleanup.config $(LINUX_DIR)/arch/arm/configs/fragment-02-multiv7_addons.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32mp157c-osd32mp1-red" +BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/octavo/osd32mp1-red/linux-dts/*" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/STMicroelectronics/arm-trusted-firmware.git" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v2.4-stm32mp-r1" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="stm32mp1" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_DTS_PATH="board/octavo/osd32mp1-red/tfa-dts/*" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-nodtb.bin" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157c-osd32mp1-red.dtb STM32MP_USB_PROGRAMMER=1 BL33_CFG=$(BINARIES_DIR)/u-boot.dtb" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="*.stm32 fip.bin" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/STMicroelectronics/u-boot.git" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="v2020.10-stm32mp-r2.1" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin u-boot.dtb" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157c-osd32mp1-red" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/odroidc2_defconfig b/configs/odroidc2_defconfig index f52f29adebd..acb6a03bf0e 100644 --- a/configs/odroidc2_defconfig +++ b/configs/odroidc2_defconfig @@ -1,37 +1,28 @@ -# Architecture BR2_aarch64=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_7=y BR2_TARGET_GENERIC_HOSTNAME="odroidc2" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyAML0" +BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y +BR2_ROOTFS_OVERLAY="board/hardkernel/odroidc2/rootfs_overlay" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/hardkernel/odroidc2/post-image.sh" -BR2_PACKAGE_ODROID_SCRIPTS=y -BR2_GCC_VERSION_4_9_X=y - -# Kernel -BR2_KERNEL_HEADERS_VERSION=y -BR2_DEFAULT_KERNEL_VERSION="3.14.79" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14=y BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/hardkernel/linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="f966ebfc0e8dc88c7931b4640b8a1b4bc2e13faa" -BR2_LINUX_KERNEL_DEFCONFIG="odroidc2" +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.7" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_BUILD_DEFAULT_DTS=y -BR2_LINUX_KERNEL_USE_INTREE_DTS=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="meson64_odroidc2" -BR2_LINUX_KERNEL_IMAGE=y - -# U-Boot +BR2_LINUX_KERNEL_INTREE_DTS_NAME="amlogic/meson-gxbb-odroidc2" +BR2_PACKAGE_ODROIDC2_FIRMWARE=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/hardkernel/u-boot.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="cff3edb675933ea2e2ecd659eab127a42f3777df" -BR2_TARGET_UBOOT_BOARDNAME="odroidc2" - -# Required tools to create the SD image +BR2_TARGET_UBOOT_BOARDNAME="odroid-c2" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.07" +BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MESON_TOOLS=y BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/hardkernel/odroidc2/boot.cmd" diff --git a/configs/olimex_a10_olinuxino_lime_defconfig b/configs/olimex_a10_olinuxino_lime_defconfig new file mode 100644 index 00000000000..625491d69bd --- /dev/null +++ b/configs/olimex_a10_olinuxino_lime_defconfig @@ -0,0 +1,33 @@ +BR2_arm=y +BR2_cortex_a8=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/olimex/a10_olinuxino/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="a10-olinuxino" +BR2_TARGET_GENERIC_ISSUE="Welcome to OLinuXino!" +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_ROOTFS_OVERLAY="board/olimex/a10_olinuxino/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a10_olinuxino/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.8" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun4i-a10-olinuxino-lime" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A10-OLinuXino-Lime" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/olimex_a13_olinuxino_defconfig b/configs/olimex_a13_olinuxino_defconfig index df2a7223680..9ec20779ceb 100644 --- a/configs/olimex_a13_olinuxino_defconfig +++ b/configs/olimex_a13_olinuxino_defconfig @@ -1,46 +1,34 @@ -# Architecture BR2_arm=y BR2_cortex_a8=y - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# System configuration +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/olimex/a13_olinuxino/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_HOSTNAME="a13-olinuxino" BR2_TARGET_GENERIC_ISSUE="Welcome to OLinuXino!" -BR2_TARGET_GENERIC_GETTY=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" - -# Bootloaders -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.05" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A13-OLinuXino" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_FORMAT_BIN=y -BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" - -# Kernel +BR2_ROOTFS_OVERLAY="board/olimex/a13_olinuxino/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a13_olinuxino/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.5" -BR2_LINUX_KERNEL_USE_DEFCONFIG=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.8" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun5i-a13-olinuxino" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun5i-a13-olinuxino" BR2_LINUX_KERNEL_INSTALL_TARGET=y - -# Filesystem BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -BR2_ROOTFS_POST_BUILD_SCRIPT="board/olimex/a13_olinuxino/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a13_olinuxino/genimage.cfg" - -# Additional tools +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A13-OLinuXino" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/olimex_a20_olinuxino_lime2_defconfig b/configs/olimex_a20_olinuxino_lime2_defconfig index 611c0827422..4e8686615bc 100644 --- a/configs/olimex_a20_olinuxino_lime2_defconfig +++ b/configs/olimex_a20_olinuxino_lime2_defconfig @@ -1,35 +1,40 @@ BR2_arm=y BR2_cortex_a7=y -BR2_ARM_EABIHF=y -# Linux headers same as kernel, a 4.1 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/olimex/a20_olinuxino/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_HOSTNAME="a20-olinuxino" BR2_TARGET_GENERIC_ISSUE="Welcome to OLinuXino!" BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/olimex/a20_olinuxino/post-build.sh" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_OVERLAY="board/olimex/a20_olinuxino/rootfs_overlay_mali" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a20_olinuxino/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.1.4" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.8" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/olimex/a20_olinuxino/linux-disable-lima.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun7i-a20-olinuxino-lime2" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun7i-a20-olinuxino-lime2" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_PACKAGE_SUNXI_TOOLS=y -BR2_PACKAGE_SUNXI_BOARDS=y -BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE="a20/a20-olinuxino_lime.fex" +BR2_PACKAGE_SUNXI_MALI_UTGARD=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime2" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" -BR2_TARGET_UBOOT_BOOT_SCRIPT=y -BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/olimex/a20_olinuxino/boot.cmd" BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/olimex_a20_olinuxino_lime_defconfig b/configs/olimex_a20_olinuxino_lime_defconfig index 8a939b5cc54..7edbdcf3694 100644 --- a/configs/olimex_a20_olinuxino_lime_defconfig +++ b/configs/olimex_a20_olinuxino_lime_defconfig @@ -1,48 +1,40 @@ -# Architecture BR2_arm=y BR2_cortex_a7=y -BR2_ARM_EABIHF=y - -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y - -# System configuration +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/olimex/a20_olinuxino/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_HOSTNAME="a20-olinuxino" BR2_TARGET_GENERIC_ISSUE="Welcome to OLinuXino!" -BR2_TARGET_GENERIC_GETTY=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/olimex/a20_olinuxino/post-build.sh" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_OVERLAY="board/olimex/a20_olinuxino/rootfs_overlay_mali" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a20_olinuxino/genimage.cfg" - -# Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.49" -BR2_LINUX_KERNEL_USE_DEFCONFIG=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.8" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/olimex/a20_olinuxino/linux-disable-lima.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun7i-a20-olinuxino-lime" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun7i-a20-olinuxino-lime" BR2_LINUX_KERNEL_INSTALL_TARGET=y - -# Filesystem +BR2_PACKAGE_SUNXI_TOOLS=y +BR2_PACKAGE_SUNXI_MALI_UTGARD=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set - -# Bootloaders BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y -BR2_TARGET_UBOOT_FORMAT_BIN=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" -BR2_TARGET_UBOOT_BOOT_SCRIPT=y -BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/olimex/a20_olinuxino/boot.cmd" - -# Additional tools BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/olimex_a20_olinuxino_lime_mali_defconfig b/configs/olimex_a20_olinuxino_lime_mali_defconfig deleted file mode 100644 index b8699c3c235..00000000000 --- a/configs/olimex_a20_olinuxino_lime_mali_defconfig +++ /dev/null @@ -1,55 +0,0 @@ -# Architecture -BR2_arm=y -BR2_cortex_a7=y -BR2_ARM_EABIHF=y - -# Linux headers same as kernel, a 3.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_4=y - -# System configuration -BR2_TARGET_GENERIC_HOSTNAME="a20-olinuxino" -BR2_TARGET_GENERIC_ISSUE="Welcome to OLinuXino!" -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/olimex/a20_olinuxino/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a20_olinuxino/genimage.cfg" - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/dan-and/linux-sunxi.git" -# based on Linux version 3.4.113 -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="fc385cc6dfa350382ecc94a520a716b57e654410" -BR2_LINUX_KERNEL_USE_DEFCONFIG=y -BR2_LINUX_KERNEL_DEFCONFIG="sun7i" -BR2_LINUX_KERNEL_INSTALL_TARGET=y - -# sunxi packages -BR2_PACKAGE_SUNXI_TOOLS=y -BR2_PACKAGE_SUNXI_BOARDS=y -BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE="a20/a20-olinuxino_lime.fex" -BR2_PACKAGE_SUNXI_MALI=y -BR2_PACKAGE_SUNXI_MALI_DBG=y - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Bootloaders -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y -BR2_TARGET_UBOOT_FORMAT_BIN=y -BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" -BR2_TARGET_UBOOT_BOOT_SCRIPT=y -BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/olimex/a20_olinuxino/boot-mali.cmd" - -# Additional tools -BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/olimex_a20_olinuxino_micro_defconfig b/configs/olimex_a20_olinuxino_micro_defconfig index a2aff0ca334..cf1c23ef35d 100644 --- a/configs/olimex_a20_olinuxino_micro_defconfig +++ b/configs/olimex_a20_olinuxino_micro_defconfig @@ -1,45 +1,35 @@ -# Architecture BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y - -# Linux headers same as kernel, a 4.12 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12=y - -# System configuration +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/olimex/a20_olinuxino/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_HOSTNAME="a20-olinuxino" BR2_TARGET_GENERIC_ISSUE="Welcome to OLinuXino!" BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_SYSTEM_DHCP="eth0" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/olimex/a20_olinuxino/post-build.sh" +BR2_ROOTFS_OVERLAY="board/olimex/a20_olinuxino/rootfs_overlay" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a20_olinuxino/genimage.cfg" - -# Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.8" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun7i-a20-olinuxino-micro" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun7i-a20-olinuxino-micro" BR2_LINUX_KERNEL_INSTALL_TARGET=y - -# Filesystem BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set - -# Bootloaders BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino_MICRO" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" -BR2_TARGET_UBOOT_BOOT_SCRIPT=y -BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/olimex/a20_olinuxino/boot.cmd" - -# Additional tools BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/olimex_a33_olinuxino_defconfig b/configs/olimex_a33_olinuxino_defconfig new file mode 100644 index 00000000000..3606d49a41e --- /dev/null +++ b/configs/olimex_a33_olinuxino_defconfig @@ -0,0 +1,34 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/olimex/a33_olinuxino/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="A33-olinuxino" +BR2_TARGET_GENERIC_ISSUE="Welcome to A33 OLinuXino!" +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_ROOTFS_OVERLAY="board/olimex/a33_olinuxino/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a33_olinuxino/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.8" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun8i-a33-olinuxino" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A33-OLinuXino" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/olimex_a64_olinuxino_defconfig b/configs/olimex_a64_olinuxino_defconfig new file mode 100644 index 00000000000..6173fc8c202 --- /dev/null +++ b/configs/olimex_a64_olinuxino_defconfig @@ -0,0 +1,39 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/olimex/a64-olinuxino/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_ISSUE="Welcome to Olimex A64-OLinuXino" +BR2_ROOTFS_OVERLAY="board/olimex/a64-olinuxino/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a64-olinuxino/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.8" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-a64-olinuxino" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.14.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_a64" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="a64-olinuxino" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="SCP=/dev/null" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/olimex_imx233_olinuxino_defconfig b/configs/olimex_imx233_olinuxino_defconfig index 8ee89ffabde..7f3a0392007 100644 --- a/configs/olimex_imx233_olinuxino_defconfig +++ b/configs/olimex_imx233_olinuxino_defconfig @@ -1,28 +1,20 @@ -# Architecture BR2_arm=y -BR2_arm926t=y - -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y - -# System -BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" - -# For automatic firmware loading +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_GLOBAL_PATCH_DIR="board/olimex/imx233_olinuxino/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y - -# Kernel +BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/mxs/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.49" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.83" BR2_LINUX_KERNEL_DEFCONFIG="mxs" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/olimex/imx233_olinuxino/linux-wifi.fragment" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx23-olinuxino" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x42000000" - -# Firmware for WiFi +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx23-olinuxino" BR2_PACKAGE_LINUX_FIRMWARE=y BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010=y BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y @@ -30,23 +22,15 @@ BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y BR2_PACKAGE_ZD1211_FIRMWARE=y - -# Filesystem BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT4=y +BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set - -# U-Boot BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.04" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="mx23_olinuxino" BR2_TARGET_UBOOT_FORMAT_SD=y - -# To generate SD Image BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/mxs/post-image.sh" - diff --git a/configs/olimex_stmp157_olinuxino_lime_defconfig b/configs/olimex_stmp157_olinuxino_lime_defconfig new file mode 100644 index 00000000000..29381ec2067 --- /dev/null +++ b/configs/olimex_stmp157_olinuxino_lime_defconfig @@ -0,0 +1,40 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/olimex/stmp1_olinuxino/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="stmp1-olinuxino" +BR2_TARGET_GENERIC_ISSUE="Welcome to OLinuXino!" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_OVERLAY="board/olimex/stmp1_olinuxino/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/stmp1_olinuxino/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/OLIMEX/linux-olimex.git" +# branch release-20231222-v5.10.180 +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="e9b70672e21c96c02d9a731a9379baa897ea2ac7" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/olimex/stmp1_olinuxino/linux.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32mp1xx-olinuxino-lime" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/OLIMEX/u-boot-olinuxino.git" +# branch release-20250305, based on 2021.04 +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="23d8f769a94ae230b7a68fa812cc3c4dc0cbf1c9" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="STM32-OLinuXino-LIME" +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_FORMAT_STM32=y +BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.stm32" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/olpc_xo175_defconfig b/configs/olpc_xo175_defconfig new file mode 100644 index 00000000000..f4ef283e00f --- /dev/null +++ b/configs/olpc_xo175_defconfig @@ -0,0 +1,29 @@ +BR2_arm=y +BR2_pj4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_13=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/olpc/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olpc/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.13.6" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/olpc/xo-1.75/linux.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/olpc/linux.config" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8=y +BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V9=y +BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8688=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8787=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8797=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8887=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8897=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_LABEL="XO175" +BR2_TARGET_ROOTFS_EXT2_SIZE="32M" +BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O dir_index,^huge_file,^64bit,^extent" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/olpc_xo1_defconfig b/configs/olpc_xo1_defconfig new file mode 100644 index 00000000000..41226d892c0 --- /dev/null +++ b/configs/olpc_xo1_defconfig @@ -0,0 +1,27 @@ +BR2_x86_geode=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_7=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/olpc/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olpc/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.7.1" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/olpc/xo-1/linux.config" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/olpc/linux.config" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_USB8388_V9=y +BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_USB8388_OLPC=y +BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_USB_THINFIRM=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_LABEL="XO1" +BR2_TARGET_ROOTFS_EXT2_SIZE="32M" +BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O dir_index,^huge_file,^64bit,^extent" +BR2_TARGET_ROOTFS_JFFS2=y +BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K=y +BR2_TARGET_ROOTFS_JFFS2_PAD=y +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/openblocks_a6_defconfig b/configs/openblocks_a6_defconfig index 4889fb38314..e0ce4aa3fba 100644 --- a/configs/openblocks_a6_defconfig +++ b/configs/openblocks_a6_defconfig @@ -1,24 +1,17 @@ -# Architecture BR2_arm=y -BR2_arm926t=y - -# system +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +BR2_GLOBAL_PATCH_DIR="board/openblocks/a6/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_HOSTNAME="openblocks-a6" BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_SYSTEM_DHCP="eth0" - -# filesystem -BR2_TARGET_ROOTFS_JFFS2=y -BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_16K=y - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.5" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.336" +BR2_LINUX_KERNEL_LICENSE_FILES="COPYING" BR2_LINUX_KERNEL_DEFCONFIG="mvebu_v5" BR2_LINUX_KERNEL_APPENDED_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" BR2_LINUX_KERNEL_INTREE_DTS_NAME="kirkwood-openblocks_a6" +BR2_TARGET_ROOTFS_JFFS2=y +BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_16K=y diff --git a/configs/orangepi_5_plus_defconfig b/configs/orangepi_5_plus_defconfig new file mode 100644 index 00000000000..53a633f639d --- /dev/null +++ b/configs/orangepi_5_plus_defconfig @@ -0,0 +1,55 @@ +BR2_aarch64=y +BR2_cortex_a76_a55=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-5-plus/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="orangepi5plus" +BR2_TARGET_GENERIC_ISSUE="Welcome to the OrangePi 5 Plus board" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS2" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/orangepi-5-plus/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/orangepi/orangepi-5-plus/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.4" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-5-plus/linux.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3588-orangepi-5-plus" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y +BR2_PACKAGE_LINUX_FIRMWARE_ARM_MALI_CSF=y +BR2_PACKAGE_ROCKCHIP_RKBIN=y +BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME="bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.18.bin" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="512M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.12" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="rk3588" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="bl31/bl31.elf" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi-5-plus-rk3588" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-5-plus/u-boot.fragment" +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y +BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_DTC=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/orangepi_lite_defconfig b/configs/orangepi_lite_defconfig new file mode 100644 index 00000000000..f1c63f9b1d1 --- /dev/null +++ b/configs/orangepi_lite_defconfig @@ -0,0 +1,38 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-lite/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Lite" +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Lite" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.16" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-lite/linux-extras.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun8i-h3-orangepi-lite" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_RTL8189FS=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_lite" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/orangepi_one_defconfig b/configs/orangepi_one_defconfig index bc3216389ca..aef7eb6c770 100644 --- a/configs/orangepi_one_defconfig +++ b/configs/orangepi_one_defconfig @@ -1,29 +1,35 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_VFPV4=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-one/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_HOSTNAME="OrangePi_One" BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi One" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/orangepi-one/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/orangepi/orangepi-one/post-image.sh" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.3" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-orangepi-one" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun8i-h3-orangepi-one" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.03" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_one" BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" -BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/orangepi_pc2_defconfig b/configs/orangepi_pc2_defconfig new file mode 100644 index 00000000000..180c744baed --- /dev/null +++ b/configs/orangepi_pc2_defconfig @@ -0,0 +1,38 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_TARGET_GENERIC_ISSUE="Welcome to Orangepi PC2" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.45" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h5-orangepi-pc2" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="128M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.9" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_a64" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_pc2" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="SCP=/dev/null" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/orangepi_pc_defconfig b/configs/orangepi_pc_defconfig index 9c6ce1bfd85..2b3099db7fc 100644 --- a/configs/orangepi_pc_defconfig +++ b/configs/orangepi_pc_defconfig @@ -1,29 +1,34 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_VFPV4=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-pc/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_HOSTNAME="OrangePi_PC" BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi PC" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/orangepi-pc/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/orangepi/orangepi-pc/post-image.sh" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.91" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-pc/linux.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-orangepi-pc" +BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_pc" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" -BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/orangepi_pc_plus_defconfig b/configs/orangepi_pc_plus_defconfig new file mode 100644 index 00000000000..878c7294def --- /dev/null +++ b/configs/orangepi_pc_plus_defconfig @@ -0,0 +1,45 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-pc-plus/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="OrangePi_PC_Plus" +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi PC Plus" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.3" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-pc-plus/linux-extras.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun8i-h3-orangepi-pc-plus" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y +BR2_PACKAGE_RTL8189FS=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WIRELESS_TOOLS_LIB=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_pc_plus" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/orangepi_plus_defconfig b/configs/orangepi_plus_defconfig deleted file mode 100644 index cf725ef2864..00000000000 --- a/configs/orangepi_plus_defconfig +++ /dev/null @@ -1,42 +0,0 @@ -# Architecture -BR2_arm=y -BR2_cortex_a7=y -BR2_ARM_FPU_VFPV4=y - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# System configuration -BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Plus" -BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Plus" - -# Bootloaders -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.05" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_plus" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.5" -BR2_LINUX_KERNEL_DEFCONFIG="sunxi" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-orangepi-plus" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_UBOOT_BOOT_SCRIPT=y -BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/orangepi/orangepi-plus/boot.cmd" -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/orangepi/orangepi-plus/genimage.cfg" - -# Additional tools -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/orangepi_r1_defconfig b/configs/orangepi_r1_defconfig new file mode 100644 index 00000000000..baf9788568f --- /dev/null +++ b/configs/orangepi_r1_defconfig @@ -0,0 +1,39 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-r1/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="OrangePi_R1" +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi R1" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/orangepi/orangepi-r1/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.31" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-r1/linux-extras.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun8i-h2-plus-orangepi-r1" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_MTD=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_r1" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/orangepi/orangepi-r1/boot.cmd" diff --git a/configs/orangepi_zero2w_defconfig b/configs/orangepi_zero2w_defconfig new file mode 100644 index 00000000000..c2030b05c20 --- /dev/null +++ b/configs/orangepi_zero2w_defconfig @@ -0,0 +1,42 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero2w/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_ISSUE="Welcome to Orangepi Zero2W" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.3" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h618-orangepi-zero2w" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.11" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_h616" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero2w" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="SCP=/dev/null" +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/orangepi_zero3_defconfig b/configs/orangepi_zero3_defconfig new file mode 100644 index 00000000000..c6aa9c991a6 --- /dev/null +++ b/configs/orangepi_zero3_defconfig @@ -0,0 +1,43 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero3/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_ISSUE="Welcome to Orangepi Zero3" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.6" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h618-orangepi-zero3" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="130M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.11" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_h616" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero3" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="SCP=/dev/null" +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/orangepi_zero_defconfig b/configs/orangepi_zero_defconfig index c96d9720eea..6372564e726 100644 --- a/configs/orangepi_zero_defconfig +++ b/configs/orangepi_zero_defconfig @@ -1,45 +1,46 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero/patches" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Zero" BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Zero" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/orangepi-zero/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/orangepi/orangepi-zero/post-image.sh" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.3" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-zero/linux-extras.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h2-plus-orangepi-zero" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-zero/linux-extras.config" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun8i-h2-plus-orangepi-zero" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_MTD=y +BR2_PACKAGE_ARMBIAN_FIRMWARE=y +BR2_PACKAGE_ARMBIAN_FIRMWARE_XR819=y +BR2_PACKAGE_XR819_XRADIO=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WIRELESS_TOOLS_LIB=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero" BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" -BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS=y - -# wireless driver -BR2_PACKAGE_XR819_XRADIO=y - -# wireless support -BR2_PACKAGE_IW=y -BR2_PACKAGE_WIRELESS_TOOLS=y -BR2_PACKAGE_WIRELESS_TOOLS_LIB=y -BR2_PACKAGE_WPA_SUPPLICANT=y -BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y -BR2_PACKAGE_WPA_SUPPLICANT_CLI=y - -# spi flash support -BR2_PACKAGE_MTD=y diff --git a/configs/orangepi_zero_plus2_defconfig b/configs/orangepi_zero_plus2_defconfig new file mode 100644 index 00000000000..2b7ad2064d9 --- /dev/null +++ b/configs/orangepi_zero_plus2_defconfig @@ -0,0 +1,49 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero-plus2/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_ISSUE="Welcome to Orangepi Zero Plus2" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_ROOTFS_OVERLAY="board/orangepi/orangepi-zero-plus2/rootfs_overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.3" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-zero-plus2/linux-extras.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h5-orangepi-zero-plus2" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WIRELESS_TOOLS_LIB=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.11" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_a64" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero_plus2" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="SCP=/dev/null" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/orangepi_zero_plus_defconfig b/configs/orangepi_zero_plus_defconfig new file mode 100644 index 00000000000..48c8e993f02 --- /dev/null +++ b/configs/orangepi_zero_plus_defconfig @@ -0,0 +1,38 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_TARGET_GENERIC_ISSUE="Welcome to Orangepi Zero Plus" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.53" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h5-orangepi-zero-plus" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.9" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_a64" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.07.02" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero_plus" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="SCP=/dev/null" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/pandaboard_defconfig b/configs/pandaboard_defconfig deleted file mode 100644 index 9b7c962de2a..00000000000 --- a/configs/pandaboard_defconfig +++ /dev/null @@ -1,30 +0,0 @@ -BR2_arm=y -BR2_cortex_a9=y -BR2_ARM_ENABLE_NEON=y -BR2_ARM_ENABLE_VFP=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_5=y -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyO2" -BR2_SYSTEM_DHCP="eth0" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pandaboard/post-image.sh" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.5" -BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="omap4-panda-es omap4-panda omap4-panda-a4" -BR2_LINUX_KERNEL_INSTALL_TARGET=y -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.05" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="omap4_panda" -BR2_TARGET_UBOOT_FORMAT_IMG=y -BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="MLO" -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/pc_x86_64_bios_defconfig b/configs/pc_x86_64_bios_defconfig index 7e852f36505..3b3e4cc5610 100644 --- a/configs/pc_x86_64_bios_defconfig +++ b/configs/pc_x86_64_bios_defconfig @@ -1,38 +1,20 @@ -# Architecture BR2_x86_64=y - -# Toolchain, required for eudev (to autoload drivers) -BR2_TOOLCHAIN_BUILDROOT_WCHAR=y - -# System -BR2_TARGET_GENERIC_GETTY_PORT="tty1" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/pc/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y - -# Required tools to create bootable media -BR2_PACKAGE_HOST_GENIMAGE=y - -# Bootloader -BR2_TARGET_GRUB2=y - -# Filesystem / image -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_SIZE="120M" -# BR2_TARGET_ROOTFS_TAR is not set -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image.sh" - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_TARGET_GENERIC_GETTY_PORT="tty1" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pc/genimage-bios.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.5" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.47" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/pc/linux.config" BR2_LINUX_KERNEL_INSTALL_TARGET=y - -# Firmware +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_LINUX_FIRMWARE=y BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y @@ -47,16 +29,19 @@ BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8000C=y BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8265=y BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y -BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y - -# Packages -# -# Use connman so that networking setup is simpler, via connmanctl tool -# acpid is for seamless power button support +BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y BR2_PACKAGE_ACPID=y BR2_PACKAGE_CONNMAN=y -BR2_PACKAGE_CONNMAN_CLIENT=y BR2_PACKAGE_CONNMAN_WIFI=y +BR2_PACKAGE_CONNMAN_CLIENT=y +BR2_PACKAGE_WIRELESS_REGDB=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_INSTALL_TOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/pc_x86_64_efi_defconfig b/configs/pc_x86_64_efi_defconfig index f558c3e8cb7..a126eb8338b 100644 --- a/configs/pc_x86_64_efi_defconfig +++ b/configs/pc_x86_64_efi_defconfig @@ -1,41 +1,19 @@ -# Architecture BR2_x86_64=y - -# Toolchain, required for eudev (to autoload drivers) -BR2_TOOLCHAIN_BUILDROOT_WCHAR=y - -# System -BR2_TARGET_GENERIC_GETTY_PORT="tty1" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/pc/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y - -# Required tools to create bootable media -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# Bootloader -BR2_TARGET_GRUB2=y -BR2_TARGET_GRUB2_X86_64_EFI=y - -# Filesystem / image -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_SIZE="120M" -# BR2_TARGET_ROOTFS_TAR is not set -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image.sh" - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_TARGET_GENERIC_GETTY_PORT="tty1" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image-efi.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.5" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.47" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/pc/linux.config" BR2_LINUX_KERNEL_INSTALL_TARGET=y - -# Firmware +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_LINUX_FIRMWARE=y BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y @@ -50,16 +28,21 @@ BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8000C=y BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8265=y BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y -BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y - -# Packages -# -# Use connman so that networking setup is simpler, via connmanctl tool -# acpid is for seamless power button support +BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y BR2_PACKAGE_ACPID=y BR2_PACKAGE_CONNMAN=y -BR2_PACKAGE_CONNMAN_CLIENT=y BR2_PACKAGE_CONNMAN_WIFI=y +BR2_PACKAGE_CONNMAN_CLIENT=y +BR2_PACKAGE_WIRELESS_REGDB=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_X86_64_EFI=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/pine64_defconfig b/configs/pine64_defconfig new file mode 100644 index 00000000000..8975f3b1a21 --- /dev/null +++ b/configs/pine64_defconfig @@ -0,0 +1,38 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_TARGET_GENERIC_ISSUE="Welcome to PINE64" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pine64/pine64/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.48" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-a64-pine64" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="lts-v2.10.5" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_a64" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="pine64_plus" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="SCP=/dev/null" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/pine64/pine64/boot.cmd" diff --git a/configs/pine64_pinecube_defconfig b/configs/pine64_pinecube_defconfig new file mode 100644 index 00000000000..3f88ca08222 --- /dev/null +++ b/configs/pine64_pinecube_defconfig @@ -0,0 +1,32 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_TARGET_GENERIC_HOSTNAME="pinecube" +BR2_TARGET_GENERIC_ISSUE="Welcome to Pine64 Pinecube" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/pine64/pinecube/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pine64/pinecube/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.60" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-s3-pinecube" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="pinecube" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/pine64_star64_defconfig b/configs/pine64_star64_defconfig new file mode 100644 index 00000000000..a0356447d51 --- /dev/null +++ b/configs/pine64_star64_defconfig @@ -0,0 +1,35 @@ +BR2_riscv=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_GLOBAL_PATCH_DIR="board/pine64/star64/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_OVERLAY="board/pine64/star64/overlay/" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pine64/star64/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.57" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="starfive/jh7110-pine64-star64" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="100M" +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_PLAT="generic" +# BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="starfive_visionfive2" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_OPENSBI=y +BR2_TARGET_UBOOT_USE_BINMAN=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_ITB=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.bin.normal.out" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/polyhex_debix_model_a_defconfig b/configs/polyhex_debix_model_a_defconfig new file mode 100644 index 00000000000..6f8ec494107 --- /dev/null +++ b/configs/polyhex_debix_model_a_defconfig @@ -0,0 +1,46 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/polyhex/debix-model-a/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/polyhex/debix-model-a/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.14" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mp-debix-model-a" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="128M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.12" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mp" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mp_debix_model_a" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="flash.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/qemu_aarch64_ebbr_defconfig b/configs/qemu_aarch64_ebbr_defconfig new file mode 100644 index 00000000000..15c68d2035a --- /dev/null +++ b/configs/qemu_aarch64_ebbr_defconfig @@ -0,0 +1,40 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh board/qemu/aarch64-ebbr/post-image.sh support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG) -c board/qemu/aarch64-ebbr/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3=y +BR2_PACKAGE_OPTEE_CLIENT=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="200M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.10" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="qemu" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_GRUB2=y +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_NEEDS_DTC=y +BR2_TARGET_OPTEE_OS_PLATFORM="vexpress-qemu_armv8a" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="qemu_arm64" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/qemu/aarch64-ebbr/u-boot.fragment" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_aarch64_sbsa_defconfig b/configs/qemu_aarch64_sbsa_defconfig new file mode 100644 index 00000000000..57bc899e032 --- /dev/null +++ b/configs/qemu_aarch64_sbsa_defconfig @@ -0,0 +1,32 @@ +BR2_aarch64=y +BR2_neoverse_n2=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh board/qemu/aarch64-sbsa/assemble-flash-images support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG) -c board/qemu/aarch64-sbsa/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="128M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.12" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="qemu_sbsa" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_EDK2=y +BR2_TARGET_EDK2_PLATFORM_QEMU_SBSA=y +BR2_TARGET_GRUB2=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_aarch64_virt_defconfig b/configs/qemu_aarch64_virt_defconfig index 1ef4405ac4e..19c8b86ae61 100644 --- a/configs/qemu_aarch64_virt_defconfig +++ b/configs/qemu_aarch64_virt_defconfig @@ -1,20 +1,18 @@ -# Architecture BR2_aarch64=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_SYSTEM_DHCP="eth0" -BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" - -# Filesystem -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_ROOTFS_INITRAMFS=y - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_arm_ebbr_defconfig b/configs/qemu_arm_ebbr_defconfig new file mode 100644 index 00000000000..1ccfa142ee7 --- /dev/null +++ b/configs/qemu_arm_ebbr_defconfig @@ -0,0 +1,44 @@ +BR2_arm=y +BR2_cortex_a15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh board/qemu/arm-ebbr/post-image.sh support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG) -c board/qemu/arm-ebbr/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/arm-ebbr/linux.fragment" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3=y +BR2_PACKAGE_OPTEE_CLIENT=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="200M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.10" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="qemu" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BL32_RAM_LOCATION=tdram" +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_ARM_EFI=y +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_NEEDS_DTC=y +BR2_TARGET_OPTEE_OS_PLATFORM="vexpress-qemu_virt" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="qemu_arm" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/qemu/arm-ebbr/u-boot.fragment" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_arm_versatile_defconfig b/configs/qemu_arm_versatile_defconfig index 0423dc06c5a..7677e5fd055 100644 --- a/configs/qemu_arm_versatile_defconfig +++ b/configs/qemu_arm_versatile_defconfig @@ -1,23 +1,19 @@ -# Architecture BR2_arm=y -BR2_arm926t=y - -# System -BR2_SYSTEM_DHCP="eth0" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y - -# Kernel +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.3" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/arm-versatile/linux-4.13.config" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" +BR2_LINUX_KERNEL_DEFCONFIG="versatile" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/arm-versatile/linux.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="versatile-pb" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="arm/versatile-pb" +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_arm_versatile_nommu_defconfig b/configs/qemu_arm_versatile_nommu_defconfig deleted file mode 100644 index 9c48172e40c..00000000000 --- a/configs/qemu_arm_versatile_nommu_defconfig +++ /dev/null @@ -1,32 +0,0 @@ -# Architecture -BR2_arm=y -BR2_arm926t=y - -# Toolchain -BR2_PACKAGE_HOST_ELF2FLT=y -# BR2_USE_MMU is not set - -# Patches -BR2_GLOBAL_PATCH_DIR="board/qemu/arm-versatile/patches" - -# Busybox with hush -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" - -# System -BR2_SYSTEM_DHCP="eth0" -BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" - -# Filesystem -# BR2_TARGET_ROOTFS_EXT2 is not set -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_ROOTFS_INITRAMFS=y - -# Linux headers same as kernel, a 4.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.70" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/arm-versatile/linux-4.4-nommu.config" diff --git a/configs/qemu_arm_vexpress_defconfig b/configs/qemu_arm_vexpress_defconfig index faba6a6c253..6dc116c1e74 100644 --- a/configs/qemu_arm_vexpress_defconfig +++ b/configs/qemu_arm_vexpress_defconfig @@ -1,25 +1,22 @@ -# Architecture BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y -BR2_ARM_FPU_VFPV3D16=y - -# System -BR2_SYSTEM_DHCP="eth0" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_DEFCONFIG="vexpress" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="arm/vexpress-v2p-ca9" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_SIZE="64M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_arm_vexpress_tz_defconfig b/configs/qemu_arm_vexpress_tz_defconfig new file mode 100644 index 00000000000..300185838c2 --- /dev/null +++ b/configs/qemu_arm_vexpress_tz_defconfig @@ -0,0 +1,42 @@ +BR2_arm=y +BR2_cortex_a15=y +BR2_ARM_FPU_VFPV3D16=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/arm-vexpress-tz/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" +BR2_LINUX_KERNEL_DEFCONFIG="vexpress" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/arm-vexpress-tz/linux.fragment" +BR2_PACKAGE_OPENSSL=y +BR2_PACKAGE_OPTEE_EXAMPLES=y +BR2_PACKAGE_OPTEE_TEST=y +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_GZIP=y +BR2_TARGET_ROOTFS_CPIO_UIMAGE=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.7" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="qemu" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BL32_RAM_LOCATION=tdram" +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_NEEDS_DTC=y +BR2_TARGET_OPTEE_OS_PLATFORM="vexpress-qemu_virt" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="qemu_arm" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/qemu/arm-vexpress-tz/u-boot.config" +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_hppa_b160l_defconfig b/configs/qemu_hppa_b160l_defconfig new file mode 100644 index 00000000000..7e3e561e3f0 --- /dev/null +++ b/configs/qemu_hppa_b160l_defconfig @@ -0,0 +1,18 @@ +BR2_hppa=y +BR2_parisc11=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_loongarch64_virt_efi_defconfig b/configs/qemu_loongarch64_virt_efi_defconfig new file mode 100644 index 00000000000..0c1d0468924 --- /dev/null +++ b/configs/qemu_loongarch64_virt_efi_defconfig @@ -0,0 +1,27 @@ +BR2_loongarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/loongarch64-virt-efi/post-image.sh board/qemu/post-image.sh support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG) -c board/qemu/loongarch64-virt-efi/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_PACKAGE_ZSTD=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_SIZE="200M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_EDK2=y +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_LOONGARCH64_EFI=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_KMOD_ZSTD=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_m68k_mcf5208_defconfig b/configs/qemu_m68k_mcf5208_defconfig index ccbdcfa3b70..ac3df225792 100644 --- a/configs/qemu_m68k_mcf5208_defconfig +++ b/configs/qemu_m68k_mcf5208_defconfig @@ -1,28 +1,18 @@ -# Architecture BR2_m68k=y BR2_m68k_cf5208=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_SYSTEM_DHCP="eth0" - -# Filesystem -BR2_TARGET_ROOTFS_INITRAMFS=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/m68k-mcf5208/linux-4.11.config" -BR2_LINUX_KERNEL_VMLINUX=y - -# Serial port config -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" - -# use minimal busybox with hush and networking tools -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/m68k-mcf5208/linux.config" +BR2_TARGET_ROOTFS_INITRAMFS=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_m68k_q800_defconfig b/configs/qemu_m68k_q800_defconfig index 6dc50a7c056..87b96299212 100644 --- a/configs/qemu_m68k_q800_defconfig +++ b/configs/qemu_m68k_q800_defconfig @@ -1,25 +1,17 @@ -# Architecture BR2_m68k=y -BR2_m68k_68040=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_SYSTEM_DHCP="eth0" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/m68k-q800/linux-4.11.config" -BR2_LINUX_KERNEL_VMLINUX=y - -# Serial port config -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/m68k-q800/linux.config" +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_microblazebe_mmu_defconfig b/configs/qemu_microblazebe_mmu_defconfig index ae736ff1011..cc6871e212e 100644 --- a/configs/qemu_microblazebe_mmu_defconfig +++ b/configs/qemu_microblazebe_mmu_defconfig @@ -1,23 +1,18 @@ -# Architecture -BR2_microblaze=y BR2_microblazebe=y - -# System -BR2_SYSTEM_DHCP="eth0" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="ttyUL0" - -# Filesystem -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_ROOTFS_INITRAMFS=y - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/microblazebe-mmu/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/microblazebe-mmu/linux.config" BR2_LINUX_KERNEL_LINUX_BIN=y -BR2_LINUX_KERNEL_PATCH="board/qemu/microblazebe-mmu/xilinx-xemaclite.patch" +BR2_TARGET_ROOTFS_INITRAMFS=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_microblazeel_mmu_defconfig b/configs/qemu_microblazeel_mmu_defconfig index 3dedecf710d..8945a775d04 100644 --- a/configs/qemu_microblazeel_mmu_defconfig +++ b/configs/qemu_microblazeel_mmu_defconfig @@ -1,23 +1,18 @@ -# Architecture -BR2_microblaze=y BR2_microblazeel=y - -# System -BR2_SYSTEM_DHCP="eth0" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="ttyUL0" - -# Filesystem -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_ROOTFS_INITRAMFS=y - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/microblazeel-mmu/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/microblazeel-mmu/linux.config" BR2_LINUX_KERNEL_LINUX_BIN=y -BR2_LINUX_KERNEL_PATCH="board/qemu/microblazeel-mmu/xilinx-xemaclite.patch" +BR2_TARGET_ROOTFS_INITRAMFS=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_mips32r2_malta_defconfig b/configs/qemu_mips32r2_malta_defconfig index db408b0e72e..832d9f2242b 100644 --- a/configs/qemu_mips32r2_malta_defconfig +++ b/configs/qemu_mips32r2_malta_defconfig @@ -1,25 +1,19 @@ -# Architecture BR2_mips=y BR2_mips_32r2=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_SYSTEM_DHCP="eth0" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r2-malta/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r2-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y - -# Serial port config -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_mips32r2el_malta_defconfig b/configs/qemu_mips32r2el_malta_defconfig index ccec419add8..b714a7fc6c8 100644 --- a/configs/qemu_mips32r2el_malta_defconfig +++ b/configs/qemu_mips32r2el_malta_defconfig @@ -1,25 +1,19 @@ -# Architecture BR2_mipsel=y BR2_mips_32r2=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_SYSTEM_DHCP="eth0" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r2el-malta/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r2el-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y - -# Serial port config -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_mips32r6_malta_defconfig b/configs/qemu_mips32r6_malta_defconfig index 3aee84c53a3..9cebeeaf45a 100644 --- a/configs/qemu_mips32r6_malta_defconfig +++ b/configs/qemu_mips32r6_malta_defconfig @@ -1,29 +1,19 @@ -# Architecture BR2_mips=y BR2_mips_32r6=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_SYSTEM_DHCP="eth0" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r6-malta/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r6-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y - -# Compiler -# linux >= 4.4 uses -mcompact-branches which is only available since gcc-6 -BR2_GCC_VERSION_6_X=y - -# Serial port config -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_mips32r6el_malta_defconfig b/configs/qemu_mips32r6el_malta_defconfig index aa43dce945e..d54ab1f15e5 100644 --- a/configs/qemu_mips32r6el_malta_defconfig +++ b/configs/qemu_mips32r6el_malta_defconfig @@ -1,29 +1,19 @@ -# Architecture BR2_mipsel=y BR2_mips_32r6=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_SYSTEM_DHCP="eth0" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r6el-malta/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r6el-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y - -# Compiler -# linux >= 4.4 uses -mcompact-branches which is only available since GCC 6.x -BR2_GCC_VERSION_6_X=y - -# Serial port config -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_mips64_malta_defconfig b/configs/qemu_mips64_malta_defconfig index 52e42992a6c..62dba0e369a 100644 --- a/configs/qemu_mips64_malta_defconfig +++ b/configs/qemu_mips64_malta_defconfig @@ -1,25 +1,18 @@ -# Architecture BR2_mips64=y BR2_MIPS_NABI64=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_SYSTEM_DHCP="eth0" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64-malta/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y - -# Serial port config -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y diff --git a/configs/qemu_mips64el_malta_defconfig b/configs/qemu_mips64el_malta_defconfig index 2b35c1a0163..0714a8e70c3 100644 --- a/configs/qemu_mips64el_malta_defconfig +++ b/configs/qemu_mips64el_malta_defconfig @@ -1,25 +1,18 @@ -# Architecture BR2_mips64el=y BR2_MIPS_NABI64=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_SYSTEM_DHCP="eth0" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64el-malta/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64el-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y - -# Serial port config -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y diff --git a/configs/qemu_mips64r6_malta_defconfig b/configs/qemu_mips64r6_malta_defconfig index 06c0133f9f4..c7eac226ea3 100644 --- a/configs/qemu_mips64r6_malta_defconfig +++ b/configs/qemu_mips64r6_malta_defconfig @@ -1,30 +1,19 @@ -# Architecture BR2_mips64=y BR2_mips_64r6=y BR2_MIPS_NABI64=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_SYSTEM_DHCP="eth0" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64r6-malta/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64r6-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y - -# Compiler -# linux >= 4.4 uses -mcompact-branches which is only available since gcc-6 -BR2_GCC_VERSION_6_X=y - -# Serial port config -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y diff --git a/configs/qemu_mips64r6el_malta_defconfig b/configs/qemu_mips64r6el_malta_defconfig index e80e7284866..606bb61a399 100644 --- a/configs/qemu_mips64r6el_malta_defconfig +++ b/configs/qemu_mips64r6el_malta_defconfig @@ -1,30 +1,19 @@ -# Architecture BR2_mips64el=y BR2_mips_64r6=y BR2_MIPS_NABI64=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_SYSTEM_DHCP="eth0" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64r6el-malta/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64r6el-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y - -# Compiler -# linux >= 4.4 uses -mcompact-branches which is only available since gcc-6 -BR2_GCC_VERSION_6_X=y - -# Serial port config -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y diff --git a/configs/qemu_nios2_10m50_defconfig b/configs/qemu_nios2_10m50_defconfig deleted file mode 100644 index a9eaf0800a3..00000000000 --- a/configs/qemu_nios2_10m50_defconfig +++ /dev/null @@ -1,10 +0,0 @@ -BR2_nios2=y -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" -BR2_LINUX_KERNEL_DEFCONFIG="10m50" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/nios2-10m50/linux-4.11.fragment" -BR2_TARGET_ROOTFS_INITRAMFS=y - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y diff --git a/configs/qemu_or1k_defconfig b/configs/qemu_or1k_defconfig index 0eb1916a41f..19abf1efb7c 100644 --- a/configs/qemu_or1k_defconfig +++ b/configs/qemu_or1k_defconfig @@ -1,16 +1,16 @@ -# Architecture BR2_or1k=y - -# Filesystem -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_ROOTFS_INITRAMFS=y - -# Linux headers same as kernel, a 4,11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/or1k/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/or1k/linux.config" +BR2_TARGET_ROOTFS_INITRAMFS=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_ppc64_e5500_defconfig b/configs/qemu_ppc64_e5500_defconfig new file mode 100644 index 00000000000..3d37656bf53 --- /dev/null +++ b/configs/qemu_ppc64_e5500_defconfig @@ -0,0 +1,19 @@ +BR2_powerpc64=y +BR2_powerpc_e5500=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" +BR2_LINUX_KERNEL_DEFCONFIG="corenet64_smp" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/ppc64-e5500/linux.fragment" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_ppc64_pseries_defconfig b/configs/qemu_ppc64_pseries_defconfig index 84076314d96..a46cedbb1f7 100644 --- a/configs/qemu_ppc64_pseries_defconfig +++ b/configs/qemu_ppc64_pseries_defconfig @@ -1,21 +1,20 @@ -# Architecture BR2_powerpc64=y BR2_powerpc_power7=y - -# System -BR2_SYSTEM_DHCP="eth0" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="hvc0" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y - -# Kernel +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.1" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_DEFCONFIG="pseries" BR2_LINUX_KERNEL_VMLINUX=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_ppc64le_powernv8_defconfig b/configs/qemu_ppc64le_powernv8_defconfig new file mode 100644 index 00000000000..5f1d7b78d9f --- /dev/null +++ b/configs/qemu_ppc64le_powernv8_defconfig @@ -0,0 +1,18 @@ +BR2_powerpc64le=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="hvc0" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" +BR2_LINUX_KERNEL_DEFCONFIG="powernv" +BR2_LINUX_KERNEL_VMLINUX=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_ppc64le_pseries_defconfig b/configs/qemu_ppc64le_pseries_defconfig index 62e729d3026..4596d436826 100644 --- a/configs/qemu_ppc64le_pseries_defconfig +++ b/configs/qemu_ppc64le_pseries_defconfig @@ -1,21 +1,19 @@ -# Architecture BR2_powerpc64le=y -BR2_powerpc_power8=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="hvc0" BR2_SYSTEM_DHCP="eth0" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.1" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_DEFCONFIG="pseries_le" BR2_LINUX_KERNEL_VMLINUX=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_ppc_bamboo_defconfig b/configs/qemu_ppc_bamboo_defconfig new file mode 100644 index 00000000000..6e12047f852 --- /dev/null +++ b/configs/qemu_ppc_bamboo_defconfig @@ -0,0 +1,21 @@ +BR2_powerpc=y +BR2_powerpc_440fp=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" +BR2_LINUX_KERNEL_DEFCONFIG="44x/bamboo" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/ppc-bamboo/linux.fragment" +BR2_LINUX_KERNEL_VMLINUX=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_TARGET_ROOTFS_INITRAMFS=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/qemu_ppc_e500mc_defconfig b/configs/qemu_ppc_e500mc_defconfig new file mode 100644 index 00000000000..6ac6e1c135d --- /dev/null +++ b/configs/qemu_ppc_e500mc_defconfig @@ -0,0 +1,20 @@ +BR2_powerpc=y +BR2_powerpc_e500mc=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" +BR2_LINUX_KERNEL_DEFCONFIG="corenet32_smp" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/ppc-e500mc/linux.fragment" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_ppc_g3beige_defconfig b/configs/qemu_ppc_g3beige_defconfig index 9482aaa8746..a8e9c379bad 100644 --- a/configs/qemu_ppc_g3beige_defconfig +++ b/configs/qemu_ppc_g3beige_defconfig @@ -1,25 +1,20 @@ -# Architecture BR2_powerpc=y BR2_powerpc_750=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_SYSTEM_DHCP="eth0" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/ppc-g3beige/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/ppc-g3beige/linux.config" BR2_LINUX_KERNEL_VMLINUX=y - -# Serial port config -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_ppc_mac99_defconfig b/configs/qemu_ppc_mac99_defconfig new file mode 100644 index 00000000000..55d201bdb9b --- /dev/null +++ b/configs/qemu_ppc_mac99_defconfig @@ -0,0 +1,22 @@ +BR2_powerpc=y +BR2_powerpc_7400=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" +BR2_LINUX_KERNEL_DEFCONFIG="pmac32" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/ppc-mac99/linux.fragment" +BR2_LINUX_KERNEL_VMLINUX=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_ppc_mpc8544ds_defconfig b/configs/qemu_ppc_mpc8544ds_defconfig index d2d92b66525..3e5a9a84fe5 100644 --- a/configs/qemu_ppc_mpc8544ds_defconfig +++ b/configs/qemu_ppc_mpc8544ds_defconfig @@ -1,25 +1,21 @@ -# Architecture BR2_powerpc=y BR2_powerpc_8548=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_SYSTEM_DHCP="eth0" - -# Filesystem -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_ROOTFS_INITRAMFS=y - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/ppc-mpc8544ds/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/ppc-mpc8544ds/linux.config" BR2_LINUX_KERNEL_VMLINUX=y - -# Serial port config -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_TARGET_ROOTFS_INITRAMFS=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/qemu_ppc_virtex_ml507_defconfig b/configs/qemu_ppc_virtex_ml507_defconfig deleted file mode 100644 index 84cb329872d..00000000000 --- a/configs/qemu_ppc_virtex_ml507_defconfig +++ /dev/null @@ -1,23 +0,0 @@ -# Architecture -BR2_powerpc=y -BR2_powerpc_440=y - -# Filesystem -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_ROOTFS_INITRAMFS=y - -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y - -# Use soft float -BR2_SOFT_FLOAT=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.6" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/ppc-virtex-ml507/linux-4.9.config" -BR2_LINUX_KERNEL_VMLINUX=y -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="virtex440-ml507" diff --git a/configs/qemu_riscv32_nommu_virt_defconfig b/configs/qemu_riscv32_nommu_virt_defconfig new file mode 100644 index 00000000000..0f9ac77e41c --- /dev/null +++ b/configs/qemu_riscv32_nommu_virt_defconfig @@ -0,0 +1,17 @@ +BR2_riscv=y +BR2_RISCV_32=y +# BR2_RISCV_USE_MMU is not set +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/riscv32-virt/linux-nommu.config" +BR2_TARGET_ROOTFS_EXT2=y +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_riscv32_virt_defconfig b/configs/qemu_riscv32_virt_defconfig new file mode 100644 index 00000000000..a57c94910c0 --- /dev/null +++ b/configs/qemu_riscv32_virt_defconfig @@ -0,0 +1,19 @@ +BR2_riscv=y +BR2_RISCV_32=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" +BR2_LINUX_KERNEL_DEFCONFIG="rv32" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.6" +BR2_TARGET_OPENSBI_PLAT="generic" +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_riscv64_nommu_virt_defconfig b/configs/qemu_riscv64_nommu_virt_defconfig new file mode 100644 index 00000000000..58d89eae5f6 --- /dev/null +++ b/configs/qemu_riscv64_nommu_virt_defconfig @@ -0,0 +1,16 @@ +BR2_riscv=y +# BR2_RISCV_USE_MMU is not set +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/riscv64-virt/linux-nommu.config" +BR2_TARGET_ROOTFS_EXT2=y +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_riscv64_virt_defconfig b/configs/qemu_riscv64_virt_defconfig new file mode 100644 index 00000000000..0d91971d1c5 --- /dev/null +++ b/configs/qemu_riscv64_virt_defconfig @@ -0,0 +1,18 @@ +BR2_riscv=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.6" +BR2_TARGET_OPENSBI_PLAT="generic" +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_riscv64_virt_efi_defconfig b/configs/qemu_riscv64_virt_efi_defconfig new file mode 100644 index 00000000000..4e698fcd5eb --- /dev/null +++ b/configs/qemu_riscv64_virt_efi_defconfig @@ -0,0 +1,21 @@ +BR2_riscv=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh board/qemu/riscv64-virt-efi/assemble-flash-images support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG) -c board/qemu/riscv64-virt-efi/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_EDK2=y +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_RISCV64_EFI=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_s390x_defconfig b/configs/qemu_s390x_defconfig new file mode 100644 index 00000000000..5efc048c893 --- /dev/null +++ b/configs/qemu_s390x_defconfig @@ -0,0 +1,18 @@ +BR2_s390x=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_sh4_r2d_defconfig b/configs/qemu_sh4_r2d_defconfig index becce23ee19..2311f7e06cf 100644 --- a/configs/qemu_sh4_r2d_defconfig +++ b/configs/qemu_sh4_r2d_defconfig @@ -1,22 +1,18 @@ -# Architecture BR2_sh=y -BR2_sh4=y - -# System -BR2_SYSTEM_DHCP="eth0" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="ttySC1" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y - -# Linux kernel +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.6" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sh4-r2d/linux-4.9.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sh4-r2d/linux.config" BR2_LINUX_KERNEL_ZIMAGE=y +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_sh4eb_r2d_defconfig b/configs/qemu_sh4eb_r2d_defconfig index 61d9ac9dde3..083c25ddb8d 100644 --- a/configs/qemu_sh4eb_r2d_defconfig +++ b/configs/qemu_sh4eb_r2d_defconfig @@ -1,21 +1,18 @@ -# Architecture BR2_sh=y BR2_sh4eb=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="ttySC1" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y - -# Linux kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.6" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sh4eb-r2d/linux-4.9.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sh4eb-r2d/linux.config" BR2_LINUX_KERNEL_ZIMAGE=y +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_sparc64_sun4u_defconfig b/configs/qemu_sparc64_sun4u_defconfig index 072fba79bc1..2a6d28aa42f 100644 --- a/configs/qemu_sparc64_sun4u_defconfig +++ b/configs/qemu_sparc64_sun4u_defconfig @@ -1,20 +1,16 @@ -# Architecture BR2_sparc64=y -BR2_sparc_v9=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_SYSTEM_DHCP="eth0" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Linux kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sparc64-sun4u/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sparc64-sun4u/linux.config" +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_sparc_ss10_defconfig b/configs/qemu_sparc_ss10_defconfig index 8c6b563a858..fb039e55236 100644 --- a/configs/qemu_sparc_ss10_defconfig +++ b/configs/qemu_sparc_ss10_defconfig @@ -1,20 +1,16 @@ -# Architecture BR2_sparc=y -BR2_sparc_v8=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_SYSTEM_DHCP="eth0" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Linux kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sparc-ss10/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sparc-ss10/linux.config" +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_x86_64_defconfig b/configs/qemu_x86_64_defconfig index aa17ace5b0f..ccaac0d0b92 100644 --- a/configs/qemu_x86_64_defconfig +++ b/configs/qemu_x86_64_defconfig @@ -1,20 +1,18 @@ -# Architecture BR2_x86_64=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_SYSTEM_DHCP="eth0" -BR2_TARGET_GENERIC_GETTY_PORT="tty1" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86_64/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux.config" +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_x86_64_efi_defconfig b/configs/qemu_x86_64_efi_defconfig new file mode 100644 index 00000000000..1fb36823543 --- /dev/null +++ b/configs/qemu_x86_64_efi_defconfig @@ -0,0 +1,25 @@ +BR2_x86_64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86_64-efi/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh board/qemu/x86_64-efi/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64-efi/linux.config" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_EDK2=y +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_X86_64_EFI=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_x86_defconfig b/configs/qemu_x86_defconfig index c023a8ee197..21e3d7657e9 100644 --- a/configs/qemu_x86_defconfig +++ b/configs/qemu_x86_defconfig @@ -1,21 +1,17 @@ -# Architecture -BR2_i386=y BR2_x86_pentiumpro=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_SYSTEM_DHCP="eth0" -BR2_TARGET_GENERIC_GETTY_PORT="tty1" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86/linux.config" +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_xtensa_lx60_defconfig b/configs/qemu_xtensa_lx60_defconfig index d8614ef244b..d2d6c92faff 100644 --- a/configs/qemu_xtensa_lx60_defconfig +++ b/configs/qemu_xtensa_lx60_defconfig @@ -1,25 +1,23 @@ -# Architecture BR2_xtensa=y BR2_XTENSA_CUSTOM=y BR2_XTENSA_OVERLAY_FILE="https://github.com/jcmvbkbc/xtensa-toolchain-build/raw/95291b7c39e6f790d0b2f062c945a630290f2c81/overlays/xtensa_dc233c.tar.gz" - -# System -BR2_SYSTEM_DHCP="eth0" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" - -# Filesystem -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_ROOTFS_INITRAMFS=y - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/xtensa-lx60/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/xtensa-lx60/linux.config" BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y -BR2_LINUX_KERNEL_IMAGE_NAME="Image.elf" BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image" +BR2_LINUX_KERNEL_IMAGE_NAME="Image.elf" +BR2_TARGET_ROOTFS_INITRAMFS=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/qemu_xtensa_lx60_nommu_defconfig b/configs/qemu_xtensa_lx60_nommu_defconfig index 174ebd3d5f9..89b73ee1e65 100644 --- a/configs/qemu_xtensa_lx60_nommu_defconfig +++ b/configs/qemu_xtensa_lx60_nommu_defconfig @@ -1,29 +1,24 @@ -# Architecture BR2_xtensa=y BR2_XTENSA_CUSTOM=y BR2_XTENSA_OVERLAY_FILE="https://github.com/jcmvbkbc/xtensa-toolchain-build/raw/95291b7c39e6f790d0b2f062c945a630290f2c81/overlays/xtensa_dc233c.tar.gz" - -# Toolchain -BR2_PACKAGE_HOST_ELF2FLT=y -# BR2_USE_MMU is not set - -# System -BR2_SYSTEM_DHCP="eth0" +# BR2_XTENSA_USE_MMU is not set +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" - -# Filesystem -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_ROOTFS_INITRAMFS=y - -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y - -# Kernel +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/xtensa-lx60/linux-4.11-nommu.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/xtensa-lx60/linux-nommu.config" BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y -BR2_LINUX_KERNEL_IMAGE_NAME="Image.elf" BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image" +BR2_LINUX_KERNEL_IMAGE_NAME="Image.elf" +BR2_TARGET_ROOTFS_INITRAMFS=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/raspberrypi0_defconfig b/configs/raspberrypi0_defconfig index 63538c27f4f..9c000dc39d3 100644 --- a/configs/raspberrypi0_defconfig +++ b/configs/raspberrypi0_defconfig @@ -1,34 +1,32 @@ BR2_arm=y BR2_arm1176jzf_s=y -BR2_ARM_EABIHF=y - -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y - -BR2_TOOLCHAIN_BUILDROOT_CXX=y - +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi0/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi0/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="7dc3bd00d62130ef7f09759a8c0ec9d65f58c987" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,21b410140c47ffab5668399f6f143c7d7b935c8b)/linux-21b410140c47ffab5668399f6f143c7d7b935c8b.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" - -# Build the DTBs for A/B from the kernel sources: the zero is the same -# as the A+ model, just in a different form-factor BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-b-plus bcm2708-rpi-0-w" - +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2708-rpi-zero" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_XZ=y BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi0/config_default.txt" # BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set - -# Required tools to create the SD image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# Filesystem / image +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_KMOD_TOOLS=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set -BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi0/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi0/post-image.sh" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_KMOD_XZ=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/raspberrypi0w_defconfig b/configs/raspberrypi0w_defconfig new file mode 100644 index 00000000000..a2392faf0be --- /dev/null +++ b/configs/raspberrypi0w_defconfig @@ -0,0 +1,31 @@ +BR2_arm=y +BR2_arm1176jzf_s=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi0w/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi0w/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,21b410140c47ffab5668399f6f143c7d7b935c8b)/linux-21b410140c47ffab5668399f6f143c7d7b935c8b.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2708-rpi-zero-w" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi0w/config_0w.txt" +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_KMOD_XZ=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/raspberrypi2_64_defconfig b/configs/raspberrypi2_64_defconfig new file mode 100644 index 00000000000..f8cadcb7311 --- /dev/null +++ b/configs/raspberrypi2_64_defconfig @@ -0,0 +1,34 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV4=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi2-64/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi2-64/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,21b410140c47ffab5668399f6f143c7d7b935c8b)/linux-21b410140c47ffab5668399f6f143c7d7b935c8b.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-2-b" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi2-64/config_2_64bit.txt" +# BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_KMOD_XZ=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/raspberrypi2_defconfig b/configs/raspberrypi2_defconfig index aca0ae0db80..5e3af7864b9 100644 --- a/configs/raspberrypi2_defconfig +++ b/configs/raspberrypi2_defconfig @@ -1,36 +1,35 @@ BR2_arm=y BR2_cortex_a7=y -BR2_ARM_EABIHF=y BR2_ARM_FPU_NEON_VFPV4=y - -BR2_TOOLCHAIN_BUILDROOT_CXX=y - +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_SYSTEM_DHCP="eth0" - -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y - +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi2/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi2/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="7dc3bd00d62130ef7f09759a8c0ec9d65f58c987" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,21b410140c47ffab5668399f6f143c7d7b935c8b)/linux-21b410140c47ffab5668399f6f143c7d7b935c8b.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" - -# Build the DTB from the kernel sources BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2709-rpi-2-b" - +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2709-rpi-2-b broadcom/bcm2710-rpi-2-b" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_XZ=y BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi/config_default.txt" # BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set - -# Required tools to create the SD image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# Filesystem / image +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_KMOD_TOOLS=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set -BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi2/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi2/post-image.sh" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_KMOD_XZ=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/raspberrypi3_64_defconfig b/configs/raspberrypi3_64_defconfig index ac763c7b413..31568129ac7 100644 --- a/configs/raspberrypi3_64_defconfig +++ b/configs/raspberrypi3_64_defconfig @@ -1,37 +1,33 @@ BR2_aarch64=y -BR2_cortex_a53=y BR2_ARM_FPU_VFPV4=y - -BR2_TOOLCHAIN_BUILDROOT_CXX=y - +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_SYSTEM_DHCP="eth0" - -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y - +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3-64/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3-64/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="7dc3bd00d62130ef7f09759a8c0ec9d65f58c987" -BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi3" - -# Build the DTB from the kernel sources +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,21b410140c47ffab5668399f6f143c7d7b935c8b)/linux-21b410140c47ffab5668399f6f143c7d7b935c8b.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-3-b broadcom/bcm2837-rpi-3-b" - +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-3-b broadcom/bcm2710-rpi-3-b-plus broadcom/bcm2710-rpi-cm3" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_XZ=y BR2_PACKAGE_RPI_FIRMWARE=y -# BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set - -# Required tools to create the SD image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# Filesystem / image +BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi3-64/config_3_64bit.txt" +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_KMOD_TOOLS=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set -BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3-64/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3-64/post-image.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="--aarch64" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_KMOD_XZ=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/raspberrypi3_defconfig b/configs/raspberrypi3_defconfig index 43f04517bb8..4cc73708e8e 100644 --- a/configs/raspberrypi3_defconfig +++ b/configs/raspberrypi3_defconfig @@ -1,35 +1,34 @@ BR2_arm=y BR2_cortex_a53=y BR2_ARM_FPU_NEON_VFPV4=y - -BR2_TOOLCHAIN_BUILDROOT_CXX=y - +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_SYSTEM_DHCP="eth0" - -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y - +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="7dc3bd00d62130ef7f09759a8c0ec9d65f58c987" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,21b410140c47ffab5668399f6f143c7d7b935c8b)/linux-21b410140c47ffab5668399f6f143c7d7b935c8b.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" - -# Build the DTB from the kernel sources BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-3-b bcm2710-rpi-cm3" - +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-3-b broadcom/bcm2710-rpi-3-b-plus broadcom/bcm2710-rpi-cm3" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_XZ=y BR2_PACKAGE_RPI_FIRMWARE=y - -# Required tools to create the SD image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# Filesystem / image +BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi3/config_3.txt" +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_KMOD_TOOLS=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set -BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3/post-image.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="--add-pi3-miniuart-bt-overlay" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_KMOD_XZ=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/raspberrypi3_qt5we_defconfig b/configs/raspberrypi3_qt5we_defconfig deleted file mode 100644 index eefaf5d55ef..00000000000 --- a/configs/raspberrypi3_qt5we_defconfig +++ /dev/null @@ -1,50 +0,0 @@ -BR2_arm=y -BR2_cortex_a53=y -BR2_ARM_FPU_NEON_VFPV4=y - -BR2_TOOLCHAIN_BUILDROOT_GLIBC=y -BR2_TOOLCHAIN_BUILDROOT_CXX=y - -BR2_SYSTEM_DHCP="eth0" - -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y - -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="7dc3bd00d62130ef7f09759a8c0ec9d65f58c987" -BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" - -# Build the DTB from the kernel sources -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-3-b bcm2710-rpi-cm3" - -# Build Qt5 WebEngine -BR2_PACKAGE_LIBERATION=y -BR2_PACKAGE_QT5=y -BR2_PACKAGE_QT5BASE_EXAMPLES=y -BR2_PACKAGE_QT5BASE_GIF=y -BR2_PACKAGE_QT5BASE_JPEG=y -BR2_PACKAGE_QT5BASE_PNG=y -BR2_PACKAGE_QT5WEBENGINE=y -BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS=y -BR2_PACKAGE_RPI_FIRMWARE=y -BR2_PACKAGE_RPI_USERLAND=y -BR2_PACKAGE_CA_CERTIFICATES=y -BR2_PACKAGE_NTP=y - -# Required tools to create the SD image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# Filesystem / image -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_SIZE="360M" -# BR2_TARGET_ROOTFS_TAR is not set -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y -BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3/post-image.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="--add-pi3-miniuart-bt-overlay --gpu_mem_1024=200" diff --git a/configs/raspberrypi4_64_defconfig b/configs/raspberrypi4_64_defconfig new file mode 100644 index 00000000000..ce79952ff75 --- /dev/null +++ b/configs/raspberrypi4_64_defconfig @@ -0,0 +1,33 @@ +BR2_aarch64=y +BR2_cortex_a72=y +BR2_ARM_FPU_VFPV4=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4-64/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4-64/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,21b410140c47ffab5668399f6f143c7d7b935c8b)/linux-21b410140c47ffab5668399f6f143c7d7b935c8b.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-4-b broadcom/bcm2711-rpi-400 broadcom/bcm2711-rpi-cm4 broadcom/bcm2711-rpi-cm4s" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi4-64/config_4_64bit.txt" +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_KMOD_XZ=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/raspberrypi4_defconfig b/configs/raspberrypi4_defconfig new file mode 100644 index 00000000000..a6df6fd9235 --- /dev/null +++ b/configs/raspberrypi4_defconfig @@ -0,0 +1,33 @@ +BR2_arm=y +BR2_cortex_a72=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,21b410140c47ffab5668399f6f143c7d7b935c8b)/linux-21b410140c47ffab5668399f6f143c7d7b935c8b.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-4-b broadcom/bcm2711-rpi-400 broadcom/bcm2711-rpi-cm4 broadcom/bcm2711-rpi-cm4s" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi4/config_4.txt" +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_KMOD_XZ=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/raspberrypi5_defconfig b/configs/raspberrypi5_defconfig new file mode 100644 index 00000000000..63432f45d57 --- /dev/null +++ b/configs/raspberrypi5_defconfig @@ -0,0 +1,34 @@ +BR2_aarch64=y +BR2_cortex_a76=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi5/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi5/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,21b410140c47ffab5668399f6f143c7d7b935c8b)/linux-21b410140c47ffab5668399f6f143c7d7b935c8b.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="bcm2712" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/raspberrypi/linux-4k-page-size.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2712-rpi-5-b broadcom/bcm2712d0-rpi-5-b broadcom/bcm2712-rpi-500" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi5/config_5.txt" +BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE="board/raspberrypi5/cmdline_5.txt" +# BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_KMOD_XZ=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/raspberrypi_defconfig b/configs/raspberrypi_defconfig index b2f9c3f4bb6..fd8508661c5 100644 --- a/configs/raspberrypi_defconfig +++ b/configs/raspberrypi_defconfig @@ -1,35 +1,33 @@ BR2_arm=y BR2_arm1176jzf_s=y -BR2_ARM_EABIHF=y - +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_SYSTEM_DHCP="eth0" - -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y - -BR2_TOOLCHAIN_BUILDROOT_CXX=y - +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="7dc3bd00d62130ef7f09759a8c0ec9d65f58c987" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,21b410140c47ffab5668399f6f143c7d7b935c8b)/linux-21b410140c47ffab5668399f6f143c7d7b935c8b.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" - -# Build the DTBs for A/B, A+/B+ and compute module from the kernel sources BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-b bcm2708-rpi-b-plus bcm2708-rpi-cm" - +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2708-rpi-b-rev1 broadcom/bcm2708-rpi-b broadcom/bcm2708-rpi-b-plus broadcom/bcm2708-rpi-cm" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_XZ=y BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi/config_default.txt" # BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set - -# Required tools to create the SD image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y - -# Filesystem / image +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_KMOD_TOOLS=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set -BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi/post-image.sh" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_KMOD_XZ=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/raspberrypicm4io_64_defconfig b/configs/raspberrypicm4io_64_defconfig new file mode 100644 index 00000000000..53f5193db4c --- /dev/null +++ b/configs/raspberrypicm4io_64_defconfig @@ -0,0 +1,34 @@ +BR2_aarch64=y +BR2_cortex_a72=y +BR2_ARM_FPU_VFPV4=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypicm4io-64/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypicm4io-64/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,21b410140c47ffab5668399f6f143c7d7b935c8b)/linux-21b410140c47ffab5668399f6f143c7d7b935c8b.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-cm4" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypicm4io-64/config_cm4io_64bit.txt" +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_KMOD_XZ=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_RASPBERRYPI_USBBOOT=y diff --git a/configs/raspberrypicm4io_defconfig b/configs/raspberrypicm4io_defconfig new file mode 100644 index 00000000000..01e02fd300d --- /dev/null +++ b/configs/raspberrypicm4io_defconfig @@ -0,0 +1,34 @@ +BR2_arm=y +BR2_cortex_a72=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypicm4io/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypicm4io/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,21b410140c47ffab5668399f6f143c7d7b935c8b)/linux-21b410140c47ffab5668399f6f143c7d7b935c8b.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-cm4" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypicm4io-64/config_cm4io.txt" +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_KMOD_XZ=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_RASPBERRYPI_USBBOOT=y diff --git a/configs/raspberrypicm5io_defconfig b/configs/raspberrypicm5io_defconfig new file mode 100644 index 00000000000..706f759832b --- /dev/null +++ b/configs/raspberrypicm5io_defconfig @@ -0,0 +1,35 @@ +BR2_aarch64=y +BR2_cortex_a76=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypicm5io/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypicm5io/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,21b410140c47ffab5668399f6f143c7d7b935c8b)/linux-21b410140c47ffab5668399f6f143c7d7b935c8b.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="bcm2712" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/raspberrypi/linux-4k-page-size.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2712-rpi-cm5-cm5io broadcom/bcm2712-rpi-cm5l-cm5io" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypicm5io/config_cm5io.txt" +BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE="board/raspberrypicm5io/cmdline.txt" +BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS=y +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_KMOD_XZ=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_RASPBERRYPI_USBBOOT=y diff --git a/configs/raspberrypizero2w_64_defconfig b/configs/raspberrypizero2w_64_defconfig new file mode 100644 index 00000000000..e926f6f23df --- /dev/null +++ b/configs/raspberrypizero2w_64_defconfig @@ -0,0 +1,32 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV4=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypizero2w-64/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypizero2w-64/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,21b410140c47ffab5668399f6f143c7d7b935c8b)/linux-21b410140c47ffab5668399f6f143c7d7b935c8b.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-zero-2-w" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypizero2w-64/config_zero2w_64bit.txt" +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_KMOD_XZ=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/raspberrypizero2w_defconfig b/configs/raspberrypizero2w_defconfig new file mode 100644 index 00000000000..eb23324e114 --- /dev/null +++ b/configs/raspberrypizero2w_defconfig @@ -0,0 +1,33 @@ +BR2_arm=y +BR2_cortex_a53=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypizero2w/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypizero2w/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,21b410140c47ffab5668399f6f143c7d7b935c8b)/linux-21b410140c47ffab5668399f6f143c7d7b935c8b.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-zero-2-w" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y +BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypizero2w/config_zero2w.txt" +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_KMOD_XZ=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/riotboard_defconfig b/configs/riotboard_defconfig deleted file mode 100644 index c2281058f50..00000000000 --- a/configs/riotboard_defconfig +++ /dev/null @@ -1,36 +0,0 @@ -# architecture -BR2_arm=y -BR2_cortex_a9=y -BR2_ARM_ENABLE_NEON=y -BR2_ARM_ENABLE_VFP=y -BR2_ARM_FPU_VFPV3=y - -# system -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" - -# rootfs -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_2r1=y -BR2_ROOTFS_OVERLAY="board/embest/riotboard/rootfs_overlay" - -# bootloader -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2015.10" -BR2_TARGET_UBOOT_BOARDNAME="riotboard" -BR2_TARGET_UBOOT_FORMAT_IMX=y - -# Linux headers same as kernel, a 4.2 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_2=y - -# kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.2.6" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-riotboard" -BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/roc_pc_rk3399_defconfig b/configs/roc_pc_rk3399_defconfig new file mode 100644 index 00000000000..c5c6771bdfc --- /dev/null +++ b/configs/roc_pc_rk3399_defconfig @@ -0,0 +1,48 @@ +BR2_aarch64=y +BR2_cortex_a72_a53=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18=y +BR2_GLOBAL_PATCH_DIR="board/firefly/roc-rk3399-pc/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="roc-rk3399-pc" +BR2_TARGET_GENERIC_ISSUE="Welcome to ROC-RK3399-PC!" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/firefly/roc-rk3399-pc/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/firefly/roc-rk3399-pc/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.18" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-roc-pc" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="130M" +BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O 64bit" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v2.14" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="rk3399" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="roc-pc-rk3399" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="idbloader.img" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/rock4se_defconfig b/configs/rock4se_defconfig new file mode 100644 index 00000000000..c4e13f6a397 --- /dev/null +++ b/configs/rock4se_defconfig @@ -0,0 +1,45 @@ +BR2_aarch64=y +BR2_cortex_a72_a53=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/radxa/rock4se/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="rock-4se" +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for Radxa ROCK 4SE" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/radxa/rock4se/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/radxa/rock4se/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.8" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-rock-4se" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="250M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_12_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="rk3399" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rock-4se-rk3399" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="idbloader.img" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/rock5b_defconfig b/configs/rock5b_defconfig new file mode 100644 index 00000000000..bef12adaa40 --- /dev/null +++ b/configs/rock5b_defconfig @@ -0,0 +1,54 @@ +BR2_aarch64=y +BR2_cortex_a76_a55=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/radxa/rock5b/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="rock5b" +BR2_TARGET_GENERIC_ISSUE="Welcome to the rock5b board" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/radxa/rock5b/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/radxa/rock5b/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.4" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/radxa/rock5b/linux.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3588-rock-5b" +BR2_LINUX_KERNEL_INTREE_DTSO_NAMES="rockchip/rk3588-rock-5b-pcie-srns rockchip/rk3588-rock-5b-pcie-ep" +BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y +BR2_PACKAGE_ROCKCHIP_RKBIN=y +BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME="bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.18.bin" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.12" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="rk3588" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="bl31/bl31.elf" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="250M" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rock5b-rk3588" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/radxa/rock5b/u-boot.fragment" +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_DTC=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/rockpro64_defconfig b/configs/rockpro64_defconfig new file mode 100644 index 00000000000..c31365ca6ba --- /dev/null +++ b/configs/rockpro64_defconfig @@ -0,0 +1,52 @@ +BR2_aarch64=y +BR2_cortex_a72_a53=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/pine64/rockpro64/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="rockpro64" +BR2_TARGET_GENERIC_ISSUE="Welcome to ROCKPRO64" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/pine64/rockpro64/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pine64/rockpro64/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.4" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/pine64/rockpro64/linux.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-rockpro64" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="128M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.14" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="rk3399" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rockpro64-rk3399" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="idbloader.img" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/rockpro64_ebbr_defconfig b/configs/rockpro64_ebbr_defconfig new file mode 100644 index 00000000000..0a8fc46e58d --- /dev/null +++ b/configs/rockpro64_ebbr_defconfig @@ -0,0 +1,64 @@ +BR2_aarch64=y +BR2_cortex_a72_a53=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/pine64/rockpro64-ebbr/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/pine64/rockpro64-ebbr/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pine64/rockpro64-ebbr/post-image.sh support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pine64/rockpro64-ebbr/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.4" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/pine64/rockpro64-ebbr/linux.fragment" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3=y +BR2_PACKAGE_MTD=y +BR2_PACKAGE_OPTEE_CLIENT=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="128M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.14" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="rk3399" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN=y +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop lsefisystab lsefimmap lsefi efifwsetup efitextmode efinet" +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_CUSTOM_VERSION=y +BR2_TARGET_OPTEE_OS_CUSTOM_VERSION_VALUE="4.8.0" +BR2_TARGET_OPTEE_OS_NEEDS_DTC=y +BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y +BR2_TARGET_OPTEE_OS_PLATFORM="rockchip-rk3399" +BR2_TARGET_OPTEE_OS_ADDITIONAL_VARIABLES="CFG_TEE_CORE_LOG_LEVEL=2 CFG_DT=y CFG_DTB_MAX_SIZE=0x100000" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rockpro64-rk3399" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/pine64/rockpro64-ebbr/u-boot.fragment" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y +BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE=y +BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_BIN=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb u-boot-rockchip-spi.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="idbloader.img" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/roseapplepi_defconfig b/configs/roseapplepi_defconfig deleted file mode 100644 index 6627ff47116..00000000000 --- a/configs/roseapplepi_defconfig +++ /dev/null @@ -1,40 +0,0 @@ -BR2_arm=y -BR2_cortex_a9=y -BR2_ARM_ENABLE_NEON=y -BR2_ARM_ENABLE_VFP=y - -BR2_GLOBAL_PATCH_DIR="board/roseapplepi/patches" -# Linux headers same as kernel, a 3.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/roseapplepi/post-image.sh" - -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/xapp-le/kernel.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="59dbf6a4998e967eb9c6bdcc9b506c0d96acb26b" -BR2_LINUX_KERNEL_DEFCONFIG="actduino_bubble_gum_linux" -BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="actduino_bubble_gum_sdboot_linux" - -# Filesystem / image -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Bootloaders -BR2_TARGET_S500_BOOTLOADER=y -BR2_TARGET_S500_BOOTLOADER_BOARD="linux/bubble_gum_sd" -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/xapp-le/u-boot.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="a035d2673a90143a1a74557503b2e137b1447ae6" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="actduino_bubble_gum_v10" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y - -# Required tools to create the SD image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/s6lx9_microboard_defconfig b/configs/s6lx9_microboard_defconfig index f77c80ba879..b2d1d49d79f 100644 --- a/configs/s6lx9_microboard_defconfig +++ b/configs/s6lx9_microboard_defconfig @@ -1,14 +1,11 @@ -BR2_microblaze=y BR2_microblazeel=y -# Linux headers same as kernel, a 4.4 series BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y BR2_TARGET_GENERIC_GETTY_PORT="ttyUL0" -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_ROOTFS_INITRAMFS=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/avnet/s6lx9_microboard/lx9_mmu_defconfig" -BR2_LINUX_KERNEL_USE_CUSTOM_DTS=y BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/avnet/s6lx9_microboard/lx9_mmu.dts" +BR2_TARGET_ROOTFS_INITRAMFS=y +# BR2_TARGET_ROOTFS_TAR is not set diff --git a/configs/sheevaplug_defconfig b/configs/sheevaplug_defconfig index 9d6244424e7..a6a324213c5 100644 --- a/configs/sheevaplug_defconfig +++ b/configs/sheevaplug_defconfig @@ -1,33 +1,22 @@ -# Architecture BR2_arm=y -BR2_arm926t=y - -# system -BR2_TARGET_GENERIC_GETTY=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +BR2_GLOBAL_PATCH_DIR="board/sheevaplug/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_SYSTEM_DHCP="eth0" - -# filesystem -BR2_TARGET_ROOTFS_JFFS2=y -BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K=y - -# Linux headers same as kernel, a 4.6 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6=y - -# bootloader -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sheevaplug" -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.05" -BR2_TARGET_UBOOT_FORMAT_KWB=y -# BR2_TARGET_UBOOT_NETWORK is not set - -# Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.6" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.336" +BR2_LINUX_KERNEL_LICENSE_FILES="COPYING" BR2_LINUX_KERNEL_DEFCONFIG="mvebu_v5" BR2_LINUX_KERNEL_APPENDED_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" BR2_LINUX_KERNEL_INTREE_DTS_NAME="kirkwood-sheevaplug" +BR2_TARGET_ROOTFS_JFFS2=y +BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sheevaplug" +BR2_TARGET_UBOOT_FORMAT_KWB=y diff --git a/configs/sipeed_lichee_rv_defconfig b/configs/sipeed_lichee_rv_defconfig new file mode 100644 index 00000000000..750d2d6e3b0 --- /dev/null +++ b/configs/sipeed_lichee_rv_defconfig @@ -0,0 +1,33 @@ +BR2_riscv=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_ROOTFS_OVERLAY="board/sipeed/lichee_rv/overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/sipeed/lichee_rv/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,smaeul,linux,ca67838d84af4c9f85d06311c9e98e1adf46308f)/linux-ca67838d84af4c9f85d06311c9e98e1adf46308f.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="nezha" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun20i-d1-lichee-rv" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.2" +BR2_TARGET_OPENSBI_PLAT="generic" +# BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,smaeul,u-boot,528ae9bc6c55edd3ffe642734b4132a8246ea777)/uboot-528ae9bc6c55edd3ffe642734b4132a8246ea777.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="lichee_rv_dock" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_OPENSBI=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/sipeed_lichee_rv_dock_defconfig b/configs/sipeed_lichee_rv_dock_defconfig new file mode 100644 index 00000000000..8c8dd2771b0 --- /dev/null +++ b/configs/sipeed_lichee_rv_dock_defconfig @@ -0,0 +1,41 @@ +BR2_riscv=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_ROOTFS_OVERLAY="board/sipeed/lichee_rv/overlay board/sipeed/lichee_rv_dock/overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/sipeed/lichee_rv_dock/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,smaeul,linux,ca67838d84af4c9f85d06311c9e98e1adf46308f)/linux-ca67838d84af4c9f85d06311c9e98e1adf46308f.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="nezha" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/sipeed/lichee_rv_dock/linux.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun20i-d1-lichee-rv-dock" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_PACKAGE_RTL8723DS=y +BR2_PACKAGE_RTL8723DS_BT=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.2" +BR2_TARGET_OPENSBI_PLAT="generic" +# BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,smaeul,u-boot,528ae9bc6c55edd3ffe642734b4132a8246ea777)/uboot-528ae9bc6c55edd3ffe642734b4132a8246ea777.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="lichee_rv_dock" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_OPENSBI=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/sipeed_licheepi_4a_defconfig b/configs/sipeed_licheepi_4a_defconfig new file mode 100644 index 00000000000..c7867ed05d7 --- /dev/null +++ b/configs/sipeed_licheepi_4a_defconfig @@ -0,0 +1,42 @@ +BR2_riscv=y +BR2_RISCV_ISA_RVC=y +BR2_RISCV_ISA_RVV=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/sipeed/licheepi_4a/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="licheepi4a" +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the LicheePi 4A" +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/sipeed/licheepi_4a/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.18" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="thead/th1520-lichee-pi-4a" +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_RTW88=y +BR2_PACKAGE_SIPEED_LPI4ABIN=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_WIRELESS_REGDB=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_GIT=y +BR2_TARGET_OPENSBI_CUSTOM_REPO_URL="https://github.com/revyos/thead-opensbi.git" +BR2_TARGET_OPENSBI_CUSTOM_REPO_VERSION="61d7484c752a5e4c464d5dc18e21d9ac67fbbefa" +BR2_TARGET_OPENSBI_PLAT="generic" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="light_lpi4a" +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/revyos/thead-u-boot.git" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="b5ee6e549a7b5ff382a14021a5d6a3c94017bddd" +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-with-spl.bin" +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/sipeed_licheepi_nano_defconfig b/configs/sipeed_licheepi_nano_defconfig new file mode 100644 index 00000000000..8b0da5724e0 --- /dev/null +++ b/configs/sipeed_licheepi_nano_defconfig @@ -0,0 +1,35 @@ +BR2_arm=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_5=y +BR2_TARGET_GENERIC_HOSTNAME="licheepi-nano" +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the LicheePi Nano" +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/sipeed/licheepi_nano/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.5.9" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/sipeed/licheepi_nano/linux.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/suniv-f1c100s-licheepi-nano" +BR2_TARGET_ROOTFS_JFFS2=y +BR2_TARGET_ROOTFS_JFFS2_FLASH_64=y +BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER=y +BR2_TARGET_ROOTFS_JFFS2_PAD=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="licheepi_nano" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/sipeed/licheepi_nano/uboot.fragment" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_E2FSPROGS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_SUNXI_TOOLS=y diff --git a/configs/sipeed_licheepi_zero_defconfig b/configs/sipeed_licheepi_zero_defconfig new file mode 100644 index 00000000000..0c60a5c7635 --- /dev/null +++ b/configs/sipeed_licheepi_zero_defconfig @@ -0,0 +1,43 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_VFPV4=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/sipeed/licheepi_zero/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_HOSTNAME="licheepi-zero" +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the LicheePi Zero" +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/sipeed/licheepi_zero/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.43" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun8i-v3s-licheepi-zero allwinner/sun8i-v3s-licheepi-zero-dock" +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="LicheePi_Zero" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/sipeed/licheepi_zero/boot.cmd" diff --git a/configs/sipeed_maix_bit_defconfig b/configs/sipeed_maix_bit_defconfig new file mode 100644 index 00000000000..c3fc9192c6d --- /dev/null +++ b/configs/sipeed_maix_bit_defconfig @@ -0,0 +1,22 @@ +BR2_riscv=y +BR2_riscv_custom=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y +# BR2_RISCV_USE_MMU is not set +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y +BR2_INIT_TINYINIT=y +# BR2_TARGET_ENABLE_ROOT_LOGIN is not set +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19" +BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/sipeed/maix-bit/linux-cpio.config" +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="loader.bin" +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.config" +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_TARGET_ROOTFS_INITRAMFS=y +BR2_PACKAGE_HOST_PYTHON_KFLASH=y diff --git a/configs/sipeed_maix_bit_sdcard_defconfig b/configs/sipeed_maix_bit_sdcard_defconfig new file mode 100644 index 00000000000..4ae824a26bb --- /dev/null +++ b/configs/sipeed_maix_bit_sdcard_defconfig @@ -0,0 +1,39 @@ +BR2_riscv=y +BR2_riscv_custom=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y +# BR2_RISCV_USE_MMU is not set +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y +BR2_GLOBAL_PATCH_DIR="board/canaan/k210-soc/patches" +BR2_INIT_TINYINIT=y +# BR2_TARGET_ENABLE_ROOT_LOGIN is not set +BR2_ROOTFS_POST_BUILD_SCRIPT="board/canaan/k210-soc/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/canaan/k210-soc/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19" +BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210_sdcard" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/linux-sdcard.config" +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="loader.bin" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/sipeed_maix_bit" +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_SIZE="64M" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sipeed_maix_bitm" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/uboot.config" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_PYTHON_KFLASH=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/sipeed_maix_dock_defconfig b/configs/sipeed_maix_dock_defconfig new file mode 100644 index 00000000000..73372056a34 --- /dev/null +++ b/configs/sipeed_maix_dock_defconfig @@ -0,0 +1,22 @@ +BR2_riscv=y +BR2_riscv_custom=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y +# BR2_RISCV_USE_MMU is not set +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y +BR2_INIT_TINYINIT=y +# BR2_TARGET_ENABLE_ROOT_LOGIN is not set +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19" +BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/sipeed/maix-dock/linux-cpio.config" +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="loader.bin" +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.config" +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_TARGET_ROOTFS_INITRAMFS=y +BR2_PACKAGE_HOST_PYTHON_KFLASH=y diff --git a/configs/sipeed_maix_dock_sdcard_defconfig b/configs/sipeed_maix_dock_sdcard_defconfig new file mode 100644 index 00000000000..66317d968cf --- /dev/null +++ b/configs/sipeed_maix_dock_sdcard_defconfig @@ -0,0 +1,39 @@ +BR2_riscv=y +BR2_riscv_custom=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y +# BR2_RISCV_USE_MMU is not set +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y +BR2_GLOBAL_PATCH_DIR="board/canaan/k210-soc/patches" +BR2_INIT_TINYINIT=y +# BR2_TARGET_ENABLE_ROOT_LOGIN is not set +BR2_ROOTFS_POST_BUILD_SCRIPT="board/canaan/k210-soc/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/canaan/k210-soc/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19" +BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210_sdcard" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/linux-sdcard.config" +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="loader.bin" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/sipeed_maix_dock" +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_SIZE="64M" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sipeed_maix_bitm" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/uboot.config" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_PYTHON_KFLASH=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/sipeed_maix_go_defconfig b/configs/sipeed_maix_go_defconfig new file mode 100644 index 00000000000..bb64dccdf4c --- /dev/null +++ b/configs/sipeed_maix_go_defconfig @@ -0,0 +1,22 @@ +BR2_riscv=y +BR2_riscv_custom=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y +# BR2_RISCV_USE_MMU is not set +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y +BR2_INIT_TINYINIT=y +# BR2_TARGET_ENABLE_ROOT_LOGIN is not set +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19" +BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/sipeed/maix-go/linux-cpio.config" +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="loader.bin" +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.config" +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_TARGET_ROOTFS_INITRAMFS=y +BR2_PACKAGE_HOST_PYTHON_KFLASH=y diff --git a/configs/sipeed_maix_go_sdcard_defconfig b/configs/sipeed_maix_go_sdcard_defconfig new file mode 100644 index 00000000000..a3076c3e125 --- /dev/null +++ b/configs/sipeed_maix_go_sdcard_defconfig @@ -0,0 +1,39 @@ +BR2_riscv=y +BR2_riscv_custom=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y +# BR2_RISCV_USE_MMU is not set +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y +BR2_GLOBAL_PATCH_DIR="board/canaan/k210-soc/patches" +BR2_INIT_TINYINIT=y +# BR2_TARGET_ENABLE_ROOT_LOGIN is not set +BR2_ROOTFS_POST_BUILD_SCRIPT="board/canaan/k210-soc/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/canaan/k210-soc/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19" +BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210_sdcard" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/linux-sdcard.config" +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="loader.bin" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/sipeed_maix_go" +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_SIZE="64M" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sipeed_maix_bitm" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/uboot.config" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_PYTHON_KFLASH=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/sipeed_maixduino_defconfig b/configs/sipeed_maixduino_defconfig new file mode 100644 index 00000000000..27bf958c764 --- /dev/null +++ b/configs/sipeed_maixduino_defconfig @@ -0,0 +1,22 @@ +BR2_riscv=y +BR2_riscv_custom=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y +# BR2_RISCV_USE_MMU is not set +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y +BR2_INIT_TINYINIT=y +# BR2_TARGET_ENABLE_ROOT_LOGIN is not set +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19" +BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/sipeed/maixduino/linux-cpio.config" +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="loader.bin" +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.config" +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_TARGET_ROOTFS_INITRAMFS=y +BR2_PACKAGE_HOST_PYTHON_KFLASH=y diff --git a/configs/sipeed_maixduino_sdcard_defconfig b/configs/sipeed_maixduino_sdcard_defconfig new file mode 100644 index 00000000000..1b6db4f8a4c --- /dev/null +++ b/configs/sipeed_maixduino_sdcard_defconfig @@ -0,0 +1,39 @@ +BR2_riscv=y +BR2_riscv_custom=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y +# BR2_RISCV_USE_MMU is not set +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y +BR2_GLOBAL_PATCH_DIR="board/canaan/k210-soc/patches" +BR2_INIT_TINYINIT=y +# BR2_TARGET_ENABLE_ROOT_LOGIN is not set +BR2_ROOTFS_POST_BUILD_SCRIPT="board/canaan/k210-soc/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/canaan/k210-soc/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19" +BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210_sdcard" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/linux-sdcard.config" +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="loader.bin" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/sipeed_maixduino" +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_SIZE="64M" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sipeed_maix_bitm" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/uboot.config" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_PYTHON_KFLASH=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/snps_aarch64_vdk_defconfig b/configs/snps_aarch64_vdk_defconfig deleted file mode 100644 index b55dce1ad60..00000000000 --- a/configs/snps_aarch64_vdk_defconfig +++ /dev/null @@ -1,12 +0,0 @@ -BR2_aarch64=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6=y -BR2_TARGET_GENERIC_HOSTNAME="vdk-buildroot" -BR2_TARGET_GENERIC_ISSUE="Welcome to SNPS VDK by Buildroot" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.6" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/synopsys/vdk/linux-vdk-aarch64-defconfig" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -# BR2_TARGET_ROOTFS_TAR is not set diff --git a/configs/snps_arc700_axs101_defconfig b/configs/snps_arc700_axs101_defconfig index dc1810ce2b1..3aa332cd2e4 100644 --- a/configs/snps_arc700_axs101_defconfig +++ b/configs/snps_arc700_axs101_defconfig @@ -1,26 +1,20 @@ -# Architecture BR2_arcle=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y BR2_TARGET_GENERIC_HOSTNAME="axs101" BR2_TARGET_GENERIC_ISSUE="Welcome to the ARC Software Development Platform" -BR2_TARGET_ROOTFS_INITRAMFS=y BR2_SYSTEM_DHCP="eth0" -BR2_ROOTFS_OVERLAY="board/synopsys/axs10x/fs-overlay" - -# Linux headers same as kernel, a 4.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_10=y - -# Kernel +BR2_ROOTFS_POST_BUILD_SCRIPT="board/synopsys/axs10x/post-build.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.10.9" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16" BR2_LINUX_KERNEL_DEFCONFIG="axs101" - -# Bootloader +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_INITRAMFS=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="axs101" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/synopsys/axs10x/uboot-fragment.config" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y diff --git a/configs/snps_arc700_nsim_defconfig b/configs/snps_arc700_nsim_defconfig new file mode 100644 index 00000000000..dba329fce6b --- /dev/null +++ b/configs/snps_arc700_nsim_defconfig @@ -0,0 +1,9 @@ +BR2_arcle=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_0=y +BR2_TARGET_GENERIC_HOSTNAME="arc700" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.0.8" +BR2_LINUX_KERNEL_DEFCONFIG="nsim_700" +BR2_LINUX_KERNEL_VMLINUX=y +BR2_TARGET_ROOTFS_INITRAMFS=y diff --git a/configs/snps_archs38_axs103_defconfig b/configs/snps_archs38_axs103_defconfig index 9021f99ee77..714a5c7729c 100644 --- a/configs/snps_archs38_axs103_defconfig +++ b/configs/snps_archs38_axs103_defconfig @@ -1,28 +1,21 @@ -# Architecture BR2_arcle=y BR2_archs38=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y BR2_TARGET_GENERIC_HOSTNAME="axs103" BR2_TARGET_GENERIC_ISSUE="Welcome to the ARC Software Development Platform" -BR2_TARGET_ROOTFS_INITRAMFS=y BR2_SYSTEM_DHCP="eth0" -BR2_ROOTFS_OVERLAY="board/synopsys/axs10x/fs-overlay" - -# Linux headers same as kernel, a 4.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_10=y - -# Kernel +BR2_ROOTFS_POST_BUILD_SCRIPT="board/synopsys/axs10x/post-build.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.10.9" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16" BR2_LINUX_KERNEL_DEFCONFIG="axs103_smp" - -# Bootloader +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_INITRAMFS=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.01" -BR2_TARGET_UBOOT_PATCH="board/synopsys/axs10x/patches/u-boot" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="axs103" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/synopsys/axs10x/uboot-fragment.config" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y diff --git a/configs/snps_archs38_haps_defconfig b/configs/snps_archs38_haps_defconfig index 4f03560ebc6..4989a1ff1b1 100644 --- a/configs/snps_archs38_haps_defconfig +++ b/configs/snps_archs38_haps_defconfig @@ -1,18 +1,11 @@ -# Architecture BR2_arcle=y BR2_archs38=y - -# System +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y BR2_TARGET_GENERIC_HOSTNAME="zebu_hs" BR2_TARGET_GENERIC_ISSUE="Welcome to the HAPS Development Platform" -BR2_TARGET_ROOTFS_INITRAMFS=y - -# Linux headers same as kernel, a 4.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_10=y - -# Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.10.9" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16" BR2_LINUX_KERNEL_DEFCONFIG="haps_hs_smp" BR2_LINUX_KERNEL_VMLINUX=y +BR2_TARGET_ROOTFS_INITRAMFS=y diff --git a/configs/snps_archs38_hsdk_defconfig b/configs/snps_archs38_hsdk_defconfig new file mode 100644 index 00000000000..f8710e03dfb --- /dev/null +++ b/configs/snps_archs38_hsdk_defconfig @@ -0,0 +1,33 @@ +BR2_arcle=y +BR2_archs38_full=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y +BR2_PACKAGE_GLIBC_UTILS=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TARGET_OPTIMIZATION="-mfpu=fpud_all" +BR2_TARGET_GENERIC_HOSTNAME="hsdk" +BR2_TARGET_GENERIC_ISSUE="Welcome to the HSDK Platform" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/synopsys/hsdk/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16" +BR2_LINUX_KERNEL_DEFCONFIG="hsdk" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/synopsys/hsdk/linux.fragment" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="hsdk" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_ELF=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE="board/synopsys/hsdk/uboot.env.txt" +BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SIZE="0x4000" diff --git a/configs/snps_archs38_vdk_defconfig b/configs/snps_archs38_vdk_defconfig deleted file mode 100644 index 2cca0b8920b..00000000000 --- a/configs/snps_archs38_vdk_defconfig +++ /dev/null @@ -1,20 +0,0 @@ -# Architecture -BR2_arcle=y -BR2_archs38=y - -# System -BR2_TARGET_GENERIC_HOSTNAME="archs38_vdk" -BR2_TARGET_GENERIC_ISSUE="Welcome to the HS38 VDK Software Development Platform" -BR2_ROOTFS_OVERLAY="board/synopsys/axs10x/fs-overlay" -BR2_TARGET_ROOTFS_EXT2=y - -# Linux headers same as kernel, a 4.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_10=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.10.8" -BR2_LINUX_KERNEL_PATCH="board/synopsys/vdk/patches/linux" -BR2_LINUX_KERNEL_DEFCONFIG="vdk_hs38_smp" -BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/socrates_cyclone5_defconfig b/configs/socrates_cyclone5_defconfig deleted file mode 100644 index 45355c1b851..00000000000 --- a/configs/socrates_cyclone5_defconfig +++ /dev/null @@ -1,33 +0,0 @@ -BR2_arm=y -BR2_cortex_a9=y -BR2_ARM_ENABLE_NEON=y -BR2_ARM_ENABLE_VFP=y -BR2_ARM_FPU_NEON=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/altera/socrates_cyclone5/genimage.cfg" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/altera-opensource/linux-socfpga.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_socfpga-4.1.33-ltsi_17.07.02_pr" -BR2_LINUX_KERNEL_DEFCONFIG="socfpga" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="socfpga_cyclone5_socrates" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/altera-opensource/u-boot-socfpga.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="v2017.07" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="socfpga_socrates" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_FORMAT_IMG=y -BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC=y -BR2_TARGET_UBOOT_ENVIMAGE=y -BR2_TARGET_UBOOT_ENVIMAGE_SOURCE="board/altera/socrates_cyclone5/boot-env.txt" -BR2_TARGET_UBOOT_ENVIMAGE_SIZE="8192" -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/solidrun_clearfog_defconfig b/configs/solidrun_clearfog_defconfig new file mode 100644 index 00000000000..32fbb930bfd --- /dev/null +++ b/configs/solidrun_clearfog_defconfig @@ -0,0 +1,33 @@ +BR2_arm=y +BR2_cortex_a9=y +BR2_ARM_ENABLE_NEON=y +BR2_ARM_ENABLE_VFP=y +BR2_ARM_FPU_NEON=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_GLOBAL_PATCH_DIR="board/solidrun/clearfog/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/solidrun/clearfog/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/solidrun/clearfog/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.43" +BR2_LINUX_KERNEL_DEFCONFIG="mvebu_v7" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/solidrun/clearfog/linux.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="marvell/armada-388-clearfog-base" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="clearfog" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-with-spl.kwb" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/solidrun_clearfog_gt_8k_defconfig b/configs/solidrun_clearfog_gt_8k_defconfig new file mode 100644 index 00000000000..4187f68c2b3 --- /dev/null +++ b/configs/solidrun_clearfog_gt_8k_defconfig @@ -0,0 +1,37 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_TARGET_GENERIC_HOSTNAME="clearfog-gt-8k" +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for SolidRun Clearfog GT-8K" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/solidrun/clearfog_gt_8k/post-build-mainline.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/solidrun/clearfog_gt_8k/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.5" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/solidrun/clearfog_gt_8k/linux-extras.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="marvell/armada-8040-clearfog-gt-8k" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.4" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="a80x0_mcbin" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS="mrvl_flash" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="USE_COHERENT_MEM=0" +BR2_TARGET_BINARIES_MARVELL=y +BR2_TARGET_MV_DDR_MARVELL=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="clearfog_gt_8k" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/solidrun/clearfog_gt_8k/uboot-fragment.config" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/solidrun_macchiatobin_defconfig b/configs/solidrun_macchiatobin_defconfig new file mode 100644 index 00000000000..ed511bda999 --- /dev/null +++ b/configs/solidrun_macchiatobin_defconfig @@ -0,0 +1,36 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_TARGET_GENERIC_HOSTNAME="mcbin" +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for Marvell MacchiatoBin" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/solidrun/macchiatobin/post-build-mainline.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/solidrun/macchiatobin/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.5" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/solidrun/macchiatobin/linux-extras.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="marvell/armada-8040-mcbin" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.4" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="a80x0_mcbin" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS="mrvl_flash" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="USE_COHERENT_MEM=0" +BR2_TARGET_BINARIES_MARVELL=y +BR2_TARGET_MV_DDR_MARVELL=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="mvebu_mcbin-88f8040" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/solidrun/macchiatobin/uboot-fragment.config" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/spike_riscv32_defconfig b/configs/spike_riscv32_defconfig new file mode 100644 index 00000000000..a73f335f341 --- /dev/null +++ b/configs/spike_riscv32_defconfig @@ -0,0 +1,17 @@ +BR2_riscv=y +BR2_RISCV_32=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_GLOBAL_PATCH_DIR="board/spike/riscv32/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.35" +BR2_LINUX_KERNEL_DEFCONFIG="rv32" +BR2_TARGET_ROOTFS_CPIO=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.6" +BR2_TARGET_OPENSBI_PLAT="generic" +BR2_TARGET_OPENSBI_LINUX_PAYLOAD=y +BR2_PACKAGE_HOST_RISCV_ISA_SIM=y diff --git a/configs/spike_riscv64_defconfig b/configs/spike_riscv64_defconfig new file mode 100644 index 00000000000..7b698737e2e --- /dev/null +++ b/configs/spike_riscv64_defconfig @@ -0,0 +1,16 @@ +BR2_riscv=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_GLOBAL_PATCH_DIR="board/spike/riscv64/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.35" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_TARGET_ROOTFS_CPIO=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.6" +BR2_TARGET_OPENSBI_PLAT="generic" +BR2_TARGET_OPENSBI_LINUX_PAYLOAD=y +BR2_PACKAGE_HOST_RISCV_ISA_SIM=y diff --git a/configs/stm32f429_disco_defconfig b/configs/stm32f429_disco_defconfig deleted file mode 100644 index 5237e9adb5e..00000000000 --- a/configs/stm32f429_disco_defconfig +++ /dev/null @@ -1,18 +0,0 @@ -BR2_arm=y -BR2_cortex_m4=y -BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f429-disco/patches" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y -BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/stm32-post-build.sh" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11" -BR2_LINUX_KERNEL_DEFCONFIG="stm32" -BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y -BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="xipImage" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32f429-disco" -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" -BR2_TARGET_ROOTFS_INITRAMFS=y -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_AFBOOT_STM32=y -BR2_PACKAGE_HOST_OPENOCD=y diff --git a/configs/stm32f429_disco_xip_defconfig b/configs/stm32f429_disco_xip_defconfig new file mode 100644 index 00000000000..489303b93e0 --- /dev/null +++ b/configs/stm32f429_disco_xip_defconfig @@ -0,0 +1,24 @@ +BR2_arm=y +BR2_cortex_m4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +# BR2_UCLIBC_INSTALL_UTILS is not set +BR2_ENABLE_LTO=y +BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f429-disco/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.167" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/stm32f429-disco/linux.config" +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="xipImage" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32f429-disco" +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/stmicroelectronics/common/stm32f4xx/busybox.fragment" +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_TARGET_ROOTFS_INITRAMFS=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_AFBOOT_STM32=y +BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR=0x0800C000 +BR2_PACKAGE_HOST_OPENOCD=y diff --git a/configs/stm32f469_disco_defconfig b/configs/stm32f469_disco_defconfig deleted file mode 100644 index 8b77d8c1a20..00000000000 --- a/configs/stm32f469_disco_defconfig +++ /dev/null @@ -1,19 +0,0 @@ -BR2_arm=y -BR2_cortex_m4=y -BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f469-disco/patches" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y -BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/stm32-post-build.sh" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11" -BR2_LINUX_KERNEL_DEFCONFIG="stm32" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm/configs/dram_0x00000000.config" -BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y -BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="xipImage" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32f469-disco" -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" -BR2_TARGET_ROOTFS_INITRAMFS=y -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_AFBOOT_STM32=y -BR2_PACKAGE_HOST_OPENOCD=y diff --git a/configs/stm32f469_disco_sd_defconfig b/configs/stm32f469_disco_sd_defconfig new file mode 100644 index 00000000000..c58523217e2 --- /dev/null +++ b/configs/stm32f469_disco_sd_defconfig @@ -0,0 +1,31 @@ +BR2_arm=y +BR2_cortex_m4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f469-disco/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh board/stmicroelectronics/stm32f469-disco/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/stmicroelectronics/stm32f469-disco/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.202" +BR2_LINUX_KERNEL_DEFCONFIG="stm32" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm/configs/dram_0x00000000.config board/stmicroelectronics/stm32f469-disco/linux-sd.fragment" +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="zImage" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32f469-disco" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/stmicroelectronics/common/stm32f4xx/busybox.fragment" +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_SIZE="32M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32f469-discovery" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_OPENOCD=y diff --git a/configs/stm32f469_disco_xip_defconfig b/configs/stm32f469_disco_xip_defconfig new file mode 100644 index 00000000000..9124177193f --- /dev/null +++ b/configs/stm32f469_disco_xip_defconfig @@ -0,0 +1,24 @@ +BR2_arm=y +BR2_cortex_m4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +# BR2_UCLIBC_INSTALL_UTILS is not set +BR2_ENABLE_LTO=y +BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f469-disco/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.202" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/stm32f469-disco/linux-xip.config" +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="xipImage" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32f469-disco" +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/stmicroelectronics/common/stm32f4xx/busybox.fragment" +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_TARGET_ROOTFS_INITRAMFS=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_AFBOOT_STM32=y +BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR=0x0800C000 +BR2_PACKAGE_HOST_OPENOCD=y diff --git a/configs/stm32f746_disco_sd_defconfig b/configs/stm32f746_disco_sd_defconfig new file mode 100644 index 00000000000..820a7e83e3f --- /dev/null +++ b/configs/stm32f746_disco_sd_defconfig @@ -0,0 +1,31 @@ +BR2_arm=y +BR2_cortex_m7=y +BR2_BINFMT_FDPIC=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f746-disco/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_INIT_TINYINIT=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/stm32f746-disco/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/stmicroelectronics/stm32f746-disco/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.202" +BR2_LINUX_KERNEL_DEFCONFIG="stm32" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/stmicroelectronics/stm32f746-disco/linux.fragment" +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="zImage" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32f746-disco" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_SIZE="32M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32f746-disco" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_OPENOCD=y diff --git a/configs/stm32f769_disco_sd_defconfig b/configs/stm32f769_disco_sd_defconfig new file mode 100644 index 00000000000..065d5b59bf6 --- /dev/null +++ b/configs/stm32f769_disco_sd_defconfig @@ -0,0 +1,30 @@ +BR2_arm=y +BR2_cortex_m7=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f769-disco/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/stm32f769-disco/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/stmicroelectronics/stm32f769-disco/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.202" +BR2_LINUX_KERNEL_DEFCONFIG="stm32" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm/configs/dram_0xc0000000.config board/stmicroelectronics/stm32f769-disco/linux-sd.fragment" +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="zImage" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32f769-disco" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_SIZE="32M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32f769-disco" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_OPENOCD=y diff --git a/configs/stm32h747_disco_sd_defconfig b/configs/stm32h747_disco_sd_defconfig new file mode 100644 index 00000000000..0a95020e009 --- /dev/null +++ b/configs/stm32h747_disco_sd_defconfig @@ -0,0 +1,32 @@ +BR2_arm=y +BR2_cortex_m7=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32h747-disco/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/stm32h747-disco/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/stmicroelectronics/stm32h747-disco/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.21" +BR2_LINUX_KERNEL_DEFCONFIG="stm32" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm/configs/dram_0xd0000000.config board/stmicroelectronics/stm32h747-disco/linux-sd.fragment" +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="zImage" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="st/stm32h747i-disco" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_PACKAGE_EVTEST=y +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_SIZE="32M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32h747-disco" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_OPENOCD=y diff --git a/configs/stm32mp135f_dk_defconfig b/configs/stm32mp135f_dk_defconfig new file mode 100644 index 00000000000..7aa3f8c752e --- /dev/null +++ b/configs/stm32mp135f_dk_defconfig @@ -0,0 +1,54 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/common/stm32mp1xx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_ROOTFS_OVERLAY="board/stmicroelectronics/stm32mp135f-dk/overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/stmicroelectronics/common/stm32mp1xx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.80" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/stm32mp135f-dk/linux.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="st/stm32mp135f-dk" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_OPTEE_CLIENT=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_10_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="stm32mp1" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-nodtb.bin" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 DTB_FILE_NAME=stm32mp135f-dk.dtb BL33_CFG=$(BINARIES_DIR)/u-boot.dtb" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin *.stm32" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_CUSTOM_VERSION=y +BR2_TARGET_OPTEE_OS_CUSTOM_VERSION_VALUE="4.3.0" +BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y +BR2_TARGET_OPTEE_OS_PLATFORM="stm32mp1" +BR2_TARGET_OPTEE_OS_PLATFORM_FLAVOR="135F_DK" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp13" +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin u-boot.dtb" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=st/stm32mp135f-dk" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/stm32mp157a_dk1_defconfig b/configs/stm32mp157a_dk1_defconfig new file mode 100644 index 00000000000..a11f0e65e2d --- /dev/null +++ b/configs/stm32mp157a_dk1_defconfig @@ -0,0 +1,45 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/common/stm32mp1xx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_OVERLAY="board/stmicroelectronics/stm32mp157a-dk1/overlay/" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/stmicroelectronics/common/stm32mp1xx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.80" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/stm32mp157a-dk1/linux.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="st/stm32mp157a-dk1" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_10_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="stm32mp1" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-nodtb.bin" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157a-dk1.dtb E=0 BL33_CFG=$(BINARIES_DIR)/u-boot.dtb" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin *.stm32" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_DTB=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=st/stm32mp157a-dk1" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/stm32mp157c_dk2_defconfig b/configs/stm32mp157c_dk2_defconfig new file mode 100644 index 00000000000..beb7d81d30b --- /dev/null +++ b/configs/stm32mp157c_dk2_defconfig @@ -0,0 +1,45 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/common/stm32mp1xx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_OVERLAY="board/stmicroelectronics/stm32mp157c-dk2/overlay/" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/stmicroelectronics/common/stm32mp1xx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.80" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/stm32mp157c-dk2/linux.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="st/stm32mp157c-dk2" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_10_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="stm32mp1" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-nodtb.bin" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157c-dk2.dtb E=0 BL33_CFG=$(BINARIES_DIR)/u-boot.dtb" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin *.stm32" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_DTB=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=st/stm32mp157c-dk2" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/stm32mp157c_odyssey_defconfig b/configs/stm32mp157c_odyssey_defconfig new file mode 100644 index 00000000000..5cab460ab70 --- /dev/null +++ b/configs/stm32mp157c_odyssey_defconfig @@ -0,0 +1,37 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_GLOBAL_PATCH_DIR="board/seeed/stm32mp157c-odyssey/patches" +BR2_ROOTFS_OVERLAY="board/seeed/stm32mp157c-odyssey/overlay/" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/seeed/stm32mp157c-odyssey/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.1" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/seeed/stm32mp157c-odyssey/linux.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32mp157c-odyssey" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="stm32mp1" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157c-odyssey.dtb E=0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="*.stm32" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_STM32=y +BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY=y +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157c-odyssey" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/telit_evk_pro3_defconfig b/configs/telit_evk_pro3_defconfig deleted file mode 100644 index 12ce4702938..00000000000 --- a/configs/telit_evk_pro3_defconfig +++ /dev/null @@ -1,32 +0,0 @@ -# Architecture -BR2_arm=y -BR2_arm926t=y - -# Patches -BR2_GLOBAL_PATCH_DIR="board/telit/evk-pro3/patches" - -# Linux headers same as kernel, a 3.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_9=y - -# Watchdog is armed by the first stage bootloader -BR2_PACKAGE_BUSYBOX_WATCHDOG=y - -# Filesystem -BR2_TARGET_ROOTFS_UBIFS=y -BR2_TARGET_ROOTFS_UBI=y - -# Bootloader -BR2_TARGET_BAREBOX=y -BR2_TARGET_BAREBOX_CUSTOM_VERSION=y -BR2_TARGET_BAREBOX_CUSTOM_VERSION_VALUE="2017.01.0" -BR2_TARGET_BAREBOX_BOARD_DEFCONFIG="telit_evk_pro3" -BR2_TARGET_BAREBOX_CONFIG_FRAGMENT_FILES="board/telit/evk-pro3/barebox.fragment" - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.9.11" -BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/telit/evk-pro3/linux.fragment" -BR2_LINUX_KERNEL_APPENDED_ZIMAGE=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="evk-pro3" diff --git a/configs/terasic_de10nano_cyclone5_defconfig b/configs/terasic_de10nano_cyclone5_defconfig new file mode 100644 index 00000000000..8fb7cf664a6 --- /dev/null +++ b/configs/terasic_de10nano_cyclone5_defconfig @@ -0,0 +1,31 @@ +BR2_arm=y +BR2_cortex_a9=y +BR2_ARM_ENABLE_NEON=y +BR2_ARM_ENABLE_VFP=y +BR2_ARM_FPU_NEON=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_11=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/terasic/de10nano_cyclone5/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/altera-opensource/linux-socfpga.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_socfpga-5.11_21.06.01_pr" +BR2_LINUX_KERNEL_DEFCONFIG="socfpga" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="socfpga_cyclone5_de0_nano_soc" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_BAREBOX=y +BR2_TARGET_BAREBOX_CUSTOM_VERSION=y +BR2_TARGET_BAREBOX_CUSTOM_VERSION_VALUE="2021.07.0" +BR2_TARGET_BAREBOX_BOARD_DEFCONFIG="socfpga" +BR2_TARGET_BAREBOX_IMAGE_FILE="images/barebox-socfpga-de10_nano.img" +BR2_TARGET_BAREBOX_CUSTOM_ENV=y +BR2_TARGET_BAREBOX_CUSTOM_ENV_PATH="board/terasic/de10nano_cyclone5/barebox-env" +BR2_TARGET_BAREBOX_AUX=y +BR2_TARGET_BAREBOX_AUX_BOARD_DEFCONFIG="socfpga-xload-2" +BR2_TARGET_BAREBOX_AUX_IMAGE_FILE="images/barebox-socfpga-de10_nano-xload.img" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/ti_am62ax_sk_defconfig b/configs/ti_am62ax_sk_defconfig new file mode 100644 index 00000000000..0b3ebe6242a --- /dev/null +++ b/configs/ti_am62ax_sk_defconfig @@ -0,0 +1,47 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_10=y +BR2_GLOBAL_PATCH_DIR="board/ti/am62ax-sk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/ti/common/am6xx/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_BUILD_SCRIPT_ARGS="-c ttyS2,115200n8 -d k3-am62a7-sk.dtb -l am62ax-sk-buildroot -r /dev/mmcblk1p2 -x earlycon=ns16550a,mmio32,0x02800000" +BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS="-c board/ti/am62ax-sk/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.10" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/ti/am62ax-sk/linux.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am62a7-sk" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.11" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="k3" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="lite" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_PLATFORM="k3-am62x" +BR2_TARGET_TI_K3_R5_LOADER=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="am62ax_evm_r5" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am62ax_evm_a53" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_USE_BINMAN=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="tispl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="TEE=$(BINARIES_DIR)/tee-pager_v2.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/ti_am62px_sk_defconfig b/configs/ti_am62px_sk_defconfig new file mode 100644 index 00000000000..e53b41ed5eb --- /dev/null +++ b/configs/ti_am62px_sk_defconfig @@ -0,0 +1,46 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_10=y +BR2_GLOBAL_PATCH_DIR="board/ti/am62px-sk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/ti/common/am6xx/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_BUILD_SCRIPT_ARGS="-c ttyS2,115200n8 -d k3-am62p5-sk.dtb -l am62px-sk-buildroot -r /dev/mmcblk1p2 -x earlycon=ns16550a,mmio32,0x02800000" +BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS="-c board/ti/am62px-sk/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.10" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am62p5-sk" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.11" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="k3" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="lite" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_PLATFORM="k3-am62x" +BR2_TARGET_TI_K3_R5_LOADER=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="am62px_evm_r5" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am62px_evm_a53" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_USE_BINMAN=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="tispl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="TEE=$(BINARIES_DIR)/tee-pager_v2.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/ti_am62x_sk_defconfig b/configs/ti_am62x_sk_defconfig new file mode 100644 index 00000000000..ac73a2da5c6 --- /dev/null +++ b/configs/ti_am62x_sk_defconfig @@ -0,0 +1,48 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/ti/am62x-sk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/ti/common/am6xx/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_BUILD_SCRIPT_ARGS="-c ttyS2,115200n8 -d k3-am625-sk.dtb -l am62x-sk-buildroot -r /dev/mmcblk1p2 -x earlycon=ns16550a,mmio32,0x02800000" +BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS="-c board/ti/am62x-sk/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.80" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am625-sk" +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_12_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="k3" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="lite" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_PLATFORM="k3-am62x" +BR2_TARGET_TI_K3_R5_LOADER=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE="2026.04" +BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="am62x_evm_r5" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am62x_evm_a53" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_USE_BINMAN=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="tispl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="TEE=$(BINARIES_DIR)/tee-pager_v2.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/ti_am64x_sk_defconfig b/configs/ti_am64x_sk_defconfig new file mode 100644 index 00000000000..a9ec5e3d536 --- /dev/null +++ b/configs/ti_am64x_sk_defconfig @@ -0,0 +1,48 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_10=y +BR2_GLOBAL_PATCH_DIR="board/ti/am64x-sk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/ti/common/am6xx/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_BUILD_SCRIPT_ARGS="-c ttyS2,115200n8 -d k3-am642-sk.dtb -l am64x-sk-buildroot -r /dev/mmcblk1p2 -x earlycon=ns16550a,mmio32,0x02800000" +BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS="-c board/ti/am64x-sk/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.10" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am642-sk" +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.11" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="k3" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="lite" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_PLATFORM="k3-am64x" +BR2_TARGET_TI_K3_R5_LOADER=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="am64x_evm_r5" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am64x_evm_a53" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_USE_BINMAN=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="tispl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="TEE=$(BINARIES_DIR)/tee-pager_v2.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/ti_tda4vm_sk_defconfig b/configs/ti_tda4vm_sk_defconfig new file mode 100644 index 00000000000..be2529fb37f --- /dev/null +++ b/configs/ti_tda4vm_sk_defconfig @@ -0,0 +1,50 @@ +BR2_aarch64=y +BR2_cortex_a72=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/ti/tda4vm-sk/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/ti/tda4vm-sk/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ti/tda4vm-sk/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.16" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-j721e-sk" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_12_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="k3" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="generic" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_PLATFORM="k3-j721e" +BR2_TARGET_TI_K3_R5_LOADER=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="j721e_sk_r5" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="j721e_sk_a72" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE=y +BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_RAW_BIN=y +BR2_TARGET_UBOOT_USE_BINMAN=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="tispl.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/toradex_apalis_imx6_defconfig b/configs/toradex_apalis_imx6_defconfig deleted file mode 100644 index 607faaeb8ff..00000000000 --- a/configs/toradex_apalis_imx6_defconfig +++ /dev/null @@ -1,25 +0,0 @@ -BR2_arm=y -BR2_cortex_a9=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y -BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/toradex/apalis-imx6/post-image.sh" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.toradex.com/linux-toradex.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="3f68dc7c600c0354f5df7f06b931661319addafb" -BR2_LINUX_KERNEL_DEFCONFIG="apalis_imx6" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-apalis-eval imx6q-apalis-ixora imx6q-apalis_v1_0-eval imx6q-apalis_v1_0-ixora" -BR2_LINUX_KERNEL_INSTALL_TARGET=y -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://git.toradex.com/u-boot-toradex.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="f0e414972b5b225e33ebe75574562266116746f9" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="apalis_imx6" -BR2_TARGET_UBOOT_FORMAT_IMG=y -BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="SPL" -BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/ts4800_defconfig b/configs/ts4800_defconfig deleted file mode 100644 index 0999ebcad0d..00000000000 --- a/configs/ts4800_defconfig +++ /dev/null @@ -1,22 +0,0 @@ -BR2_arm=y -BR2_cortex_a8=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/technologic/ts4800/post-image.sh" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.6.3" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/technologic/ts4800/linux.fragment" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx51-ts4800" -BR2_PACKAGE_BUSYBOX_WATCHDOG=y -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_TS4800_MBRBOOT=y -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="ts4800" -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.07" -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/ts4900_defconfig b/configs/ts4900_defconfig index 082234fcad7..e7950cea4b1 100644 --- a/configs/ts4900_defconfig +++ b/configs/ts4900_defconfig @@ -3,6 +3,8 @@ BR2_cortex_a9=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/technologic/ts4900/post-image.sh" BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.12" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000" diff --git a/configs/ts5500_defconfig b/configs/ts5500_defconfig new file mode 100644 index 00000000000..62d80839b70 --- /dev/null +++ b/configs/ts5500_defconfig @@ -0,0 +1,13 @@ +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS1" +BR2_ROOTFS_OVERLAY="board/technologic/ts5500/fs-overlay" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/technologic/ts5500/linux-4.14.config" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_SYSLINUX=y +BR2_TARGET_SYSLINUX_MBR=y diff --git a/configs/ts5x00_defconfig b/configs/ts5x00_defconfig deleted file mode 100644 index 531088661c9..00000000000 --- a/configs/ts5x00_defconfig +++ /dev/null @@ -1,26 +0,0 @@ -# architecture -BR2_i386=y -BR2_x86_i586=y - -# Linux headers same as kernel, a 3.17 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_17=y - -# system -BR2_TARGET_GENERIC_GETTY_PORT="ttyS1" -BR2_ROOTFS_OVERLAY="board/technologic/ts5x00/fs-overlay" - -# kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.17.8" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/technologic/ts5x00/linux-3.17.config" -BR2_LINUX_KERNEL_INSTALL_TARGET=y - -# rootfs -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y - -# bootloader -BR2_TARGET_SYSLINUX=y -BR2_TARGET_SYSLINUX_MBR=y diff --git a/configs/ts7680_defconfig b/configs/ts7680_defconfig deleted file mode 100644 index 09629a73645..00000000000 --- a/configs/ts7680_defconfig +++ /dev/null @@ -1,17 +0,0 @@ -BR2_arm=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/technologic/ts7680/genimage.cfg" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/embeddedarm/linux-3.14.28-imx28.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="ff01621df09b97d9fd546d1b49f4013060142892" -BR2_LINUX_KERNEL_DEFCONFIG="ts76xx" -BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x40008000" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx28-ts7680" -BR2_LINUX_KERNEL_INSTALL_TARGET=y -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/uevm5432_defconfig b/configs/uevm5432_defconfig new file mode 100644 index 00000000000..b03a63d4748 --- /dev/null +++ b/configs/uevm5432_defconfig @@ -0,0 +1,32 @@ +BR2_arm=y +BR2_cortex_a15=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_8=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS2" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/uevm5432/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/uevm5432/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.8.10" +BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/omap/omap5-uevm" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="omap5_uevm" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="MLO" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/versal2_vek385_defconfig b/configs/versal2_vek385_defconfig new file mode 100644 index 00000000000..3096cd9b7a7 --- /dev/null +++ b/configs/versal2_vek385_defconfig @@ -0,0 +1,55 @@ +BR2_aarch64=y +BR2_cortex_a78=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf riscv32-buildroot-elf" +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_MULTILIB=y +BR2_GLOBAL_PATCH_DIR="board/xilinx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/versal2/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/versal2/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="ttyAMA1,115200 sdd2" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.12_LTS_merge_6.12.70)/xlnx_rebase_v6.12_LTS_merge_6.12.70.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_XILINX_FPGAUTIL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.12_2025.2)/xlnx_rebase_v2.12_2025.2.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="versal2" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="VERSAL2_CONSOLE=cadence1" +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL=y +BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,optee_os,xlnx_rebase_v4.5.0_2025.2)/xlnx_rebase_v4.5.0_2025.2.tar.gz" +BR2_TARGET_OPTEE_OS_NEEDS_DTC=y +BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y +BR2_TARGET_OPTEE_OS_PLATFORM="versal2" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2025.01_2025.2)/xlnx_rebase_v2025.01_2025.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="amd_versal2_virt" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y +BR2_TARGET_UBOOT_FORMAT_DTB=y +BR2_TARGET_UBOOT_FORMAT_REMAKE_ELF=y +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=versal2-vek385-revB" +BR2_TARGET_XILINX_EMBEDDEDSW=y +BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL2_ASUFW=y +BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL2_PLM=y +BR2_TARGET_XILINX_PREBUILT=y +BR2_PACKAGE_HOST_BOOTGEN=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/versal_vck190_defconfig b/configs/versal_vck190_defconfig new file mode 100644 index 00000000000..d05217775c8 --- /dev/null +++ b/configs/versal_vck190_defconfig @@ -0,0 +1,49 @@ +BR2_aarch64=y +BR2_cortex_a72=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf" +BR2_GLOBAL_PATCH_DIR="board/xilinx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/versal/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/versal/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="ttyAMA0,115200 mmcblk0p2" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.12_LTS_merge_6.12.70)/xlnx_rebase_v6.12_LTS_merge_6.12.70.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/versal-vck190-rev1.1" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_XILINX_FPGAUTIL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.12_2025.2)/xlnx_rebase_v2.12_2025.2.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="versal" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2025.01_2025.2)/xlnx_rebase_v2025.01_2025.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_versal_virt" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y +BR2_TARGET_UBOOT_FORMAT_DTB=y +BR2_TARGET_UBOOT_FORMAT_REMAKE_ELF=y +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=versal-vck190-rev1.1" +BR2_TARGET_XILINX_EMBEDDEDSW=y +BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM=y +BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW=y +BR2_TARGET_XILINX_PREBUILT=y +BR2_PACKAGE_HOST_BOOTGEN=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/versal_vek280_defconfig b/configs/versal_vek280_defconfig new file mode 100644 index 00000000000..9db372f0ba6 --- /dev/null +++ b/configs/versal_vek280_defconfig @@ -0,0 +1,50 @@ +BR2_aarch64=y +BR2_cortex_a72=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf" +BR2_GLOBAL_PATCH_DIR="board/xilinx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/versal/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/versal/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="ttyAMA0,115200 mmcblk0p2" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.12_LTS_merge_6.12.70)/xlnx_rebase_v6.12_LTS_merge_6.12.70.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/versal-vek280-revB" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_XILINX_FPGAUTIL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.12_2025.2)/xlnx_rebase_v2.12_2025.2.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="versal" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2025.01_2025.2)/xlnx_rebase_v2025.01_2025.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_versal_virt" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y +BR2_TARGET_UBOOT_FORMAT_DTB=y +BR2_TARGET_UBOOT_FORMAT_REMAKE_ELF=y +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=versal-vek280-revB" +BR2_TARGET_XILINX_EMBEDDEDSW=y +BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM=y +BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW=y +BR2_TARGET_XILINX_PREBUILT=y +BR2_TARGET_XILINX_PREBUILT_BOARD="vek280" +BR2_PACKAGE_HOST_BOOTGEN=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/versal_vpk120_defconfig b/configs/versal_vpk120_defconfig new file mode 100644 index 00000000000..1af9baaf3a5 --- /dev/null +++ b/configs/versal_vpk120_defconfig @@ -0,0 +1,50 @@ +BR2_aarch64=y +BR2_cortex_a72=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf" +BR2_GLOBAL_PATCH_DIR="board/xilinx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/versal/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/versal/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="ttyAMA0,115200 mmcblk0p2" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.12_LTS_merge_6.12.70)/xlnx_rebase_v6.12_LTS_merge_6.12.70.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/versal-vpk120-revB" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_XILINX_FPGAUTIL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.12_2025.2)/xlnx_rebase_v2.12_2025.2.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="versal" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2025.01_2025.2)/xlnx_rebase_v2025.01_2025.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_versal_virt" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y +BR2_TARGET_UBOOT_FORMAT_DTB=y +BR2_TARGET_UBOOT_FORMAT_REMAKE_ELF=y +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=versal-vpk120-revB" +BR2_TARGET_XILINX_EMBEDDEDSW=y +BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM=y +BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW=y +BR2_TARGET_XILINX_PREBUILT=y +BR2_TARGET_XILINX_PREBUILT_BOARD="vpk120" +BR2_PACKAGE_HOST_BOOTGEN=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/versal_vpk180_defconfig b/configs/versal_vpk180_defconfig new file mode 100644 index 00000000000..ef6a078eadb --- /dev/null +++ b/configs/versal_vpk180_defconfig @@ -0,0 +1,50 @@ +BR2_aarch64=y +BR2_cortex_a72=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf" +BR2_GLOBAL_PATCH_DIR="board/xilinx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/versal/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/versal/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="ttyAMA0,115200 mmcblk0p2" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.12_LTS_merge_6.12.70)/xlnx_rebase_v6.12_LTS_merge_6.12.70.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/versal-vpk180-revA" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_XILINX_FPGAUTIL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.12_2025.2)/xlnx_rebase_v2.12_2025.2.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="versal" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2025.01_2025.2)/xlnx_rebase_v2025.01_2025.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_versal_virt" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y +BR2_TARGET_UBOOT_FORMAT_DTB=y +BR2_TARGET_UBOOT_FORMAT_REMAKE_ELF=y +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=versal-vpk180-revA" +BR2_TARGET_XILINX_EMBEDDEDSW=y +BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM=y +BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW=y +BR2_TARGET_XILINX_PREBUILT=y +BR2_TARGET_XILINX_PREBUILT_BOARD="vpk180" +BR2_PACKAGE_HOST_BOOTGEN=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/visionfive2_defconfig b/configs/visionfive2_defconfig new file mode 100644 index 00000000000..8223e6faa17 --- /dev/null +++ b/configs/visionfive2_defconfig @@ -0,0 +1,41 @@ +BR2_riscv=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_GLOBAL_PATCH_DIR="board/visionfive2/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_OVERLAY="board/visionfive2/overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/visionfive2/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.24" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/visionfive2/linux_defconfig" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="starfive/jh7110-starfive-visionfive-2-v1.3b" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.6" +BR2_TARGET_OPENSBI_PLAT="generic" +# BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG is not set +BR2_TARGET_OPENSBI_ADDITIONAL_VARIABLES="FW_TEXT_START=0x40000000 FW_OPTIONS=0" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="starfive_visionfive2" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_OPENSBI=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.bin.normal.out" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/visionfive_defconfig b/configs/visionfive_defconfig new file mode 100644 index 00000000000..0d9325078a2 --- /dev/null +++ b/configs/visionfive_defconfig @@ -0,0 +1,18 @@ +BR2_riscv=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_0=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_OVERLAY="board/visionfive/overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/visionfive/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,starfive-tech,linux,cfcb617265422c0af0ae5bc9688dceba2d10b27a)/linux-cfcb617265422c0af0ae5bc9688dceba2d10b27a.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="visionfive" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="starfive/jh7100-starfive-visionfive-v1" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/wandboard_defconfig b/configs/wandboard_defconfig index e6ba1d4e149..1bd00c57803 100644 --- a/configs/wandboard_defconfig +++ b/configs/wandboard_defconfig @@ -3,28 +3,29 @@ BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/wandboard/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/wandboard/post-image.sh" +BR2_ROOTFS_OVERLAY="board/wandboard/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.47" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6q-wandboard nxp/imx/imx6dl-wandboard nxp/imx/imx6q-wandboard-revb1 nxp/imx/imx6dl-wandboard-revb1 nxp/imx/imx6q-wandboard-revd1 nxp/imx/imx6dl-wandboard-revd1 nxp/imx/imx6qp-wandboard-revd1" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="wandboard" +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="wandboard" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.3" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-wandboard imx6dl-wandboard imx6q-wandboard-revb1 imx6dl-wandboard-revb1" -BR2_LINUX_KERNEL_INSTALL_TARGET=y -# required tools to create the SD card image BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/warp7_defconfig b/configs/warp7_defconfig index 7de4bb5bdb3..5fec15d4bad 100644 --- a/configs/warp7_defconfig +++ b/configs/warp7_defconfig @@ -1,50 +1,32 @@ -# architecture BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y - -# Linux headers same as kernel, a 4.12 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12=y - -# system +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" - -# rootfs overlay BR2_ROOTFS_OVERLAY="board/warp7/rootfs_overlay" - -# Kernel +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.12.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.24" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7s-warp" - -# U-Boot -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="warp7" -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07" -BR2_TARGET_UBOOT_FORMAT_IMX=y - -# wifi firmware for brcm43430 +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx7s-warp" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_LINUX_FIRMWARE=y BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y - -# For automatic firmware loading -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y - -# wireless packages BR2_PACKAGE_WIRELESS_TOOLS=y BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y - -# Filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y - -# required tools to create the eMMC image +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="warp7" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.04" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/warpboard_defconfig b/configs/warpboard_defconfig deleted file mode 100644 index 1655381aa63..00000000000 --- a/configs/warpboard_defconfig +++ /dev/null @@ -1,58 +0,0 @@ -# architecture -BR2_arm=y -BR2_cortex_a9=y -BR2_ARM_ENABLE_NEON=y -BR2_ARM_ENABLE_VFP=y -BR2_ARM_FPU_VFPV3=y - -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y - -# system -BR2_TARGET_GENERIC_HOSTNAME="warpboard" -BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" - -# rootfs overlay -BR2_ROOTFS_OVERLAY="board/freescale/warpboard/rootfs_overlay" - -# kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9" -BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/freescale/warpboard/linux.fragment" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6sl-warp" - -# wifi firmware for brcm4330 -BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y - -# For automatic firmware loading -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y - -# wireless packages -BR2_PACKAGE_WIRELESS_TOOLS=y -BR2_PACKAGE_WPA_SUPPLICANT=y -BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y - -# uboot -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="warp" -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.11" -BR2_TARGET_UBOOT_FORMAT_IMX=y - -# host utility -BR2_PACKAGE_HOST_DFU_UTIL=y -BR2_PACKAGE_HOST_IMX_USB_LOADER=y - -# Filesystem -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y - -# required tools to create the eMMC image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/zynq_microzed_defconfig b/configs/zynq_microzed_defconfig index f6e1599930f..cc1f001d379 100644 --- a/configs/zynq_microzed_defconfig +++ b/configs/zynq_microzed_defconfig @@ -2,28 +2,37 @@ BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyPS0" +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/xilinx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynq/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynq/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/Xilinx/linux-xlnx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="xilinx-v2016.2" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.12_LTS_merge_6.12.70)/xlnx_rebase_v6.12_LTS_merge_6.12.70.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynq" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="zynq-zed" -BR2_TARGET_ROOTFS_CPIO=y -BR2_TARGET_ROOTFS_CPIO_GZIP=y -BR2_TARGET_ROOTFS_CPIO_UIMAGE=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynq-microzed" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_XILINX_FPGAUTIL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/Xilinx/u-boot-xlnx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="xilinx-v2017.1" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="zynq_microzed" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2025.01_2025.2)/xlnx_rebase_v2025.01_2025.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynq_virt" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynq-microzed" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/zynq_zc702_defconfig b/configs/zynq_zc702_defconfig new file mode 100644 index 00000000000..c6022ca670d --- /dev/null +++ b/configs/zynq_zc702_defconfig @@ -0,0 +1,38 @@ +BR2_arm=y +BR2_cortex_a9=y +BR2_ARM_ENABLE_NEON=y +BR2_ARM_ENABLE_VFP=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/xilinx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynq/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynq/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.12_LTS_merge_6.12.70)/xlnx_rebase_v6.12_LTS_merge_6.12.70.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynq" +BR2_LINUX_KERNEL_UIMAGE=y +BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynq-zc702" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_XILINX_FPGAUTIL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2025.01_2025.2)/xlnx_rebase_v2025.01_2025.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynq_virt" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynq-zc702" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/zynq_zc706_defconfig b/configs/zynq_zc706_defconfig index 86dea63e835..94b7880c76d 100644 --- a/configs/zynq_zc706_defconfig +++ b/configs/zynq_zc706_defconfig @@ -2,28 +2,37 @@ BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyPS0" +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/xilinx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynq/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynq/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/Xilinx/linux-xlnx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="xilinx-v2016.2" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.12_LTS_merge_6.12.70)/xlnx_rebase_v6.12_LTS_merge_6.12.70.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynq" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="zynq-zc706" -BR2_TARGET_ROOTFS_CPIO=y -BR2_TARGET_ROOTFS_CPIO_GZIP=y -BR2_TARGET_ROOTFS_CPIO_UIMAGE=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynq-zc706" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_XILINX_FPGAUTIL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/Xilinx/u-boot-xlnx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="xilinx-v2017.1" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="zynq_zc706" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2025.01_2025.2)/xlnx_rebase_v2025.01_2025.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynq_virt" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynq-zc706" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/zynq_zed_defconfig b/configs/zynq_zed_defconfig index 5be8ecf534a..0cf1b259aaf 100644 --- a/configs/zynq_zed_defconfig +++ b/configs/zynq_zed_defconfig @@ -2,28 +2,37 @@ BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyPS0" +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y +BR2_GLOBAL_PATCH_DIR="board/xilinx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynq/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynq/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/Xilinx/linux-xlnx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="xilinx-v2016.2" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.12_LTS_merge_6.12.70)/xlnx_rebase_v6.12_LTS_merge_6.12.70.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynq" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="zynq-zed" -BR2_TARGET_ROOTFS_CPIO=y -BR2_TARGET_ROOTFS_CPIO_GZIP=y -BR2_TARGET_ROOTFS_CPIO_UIMAGE=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynq-zed" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_XILINX_FPGAUTIL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/Xilinx/u-boot-xlnx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="xilinx-v2017.1" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="zynq_zed" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2025.01_2025.2)/xlnx_rebase_v2025.01_2025.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynq_virt" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynq-zed" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/zynq_zybo_defconfig b/configs/zynq_zybo_defconfig deleted file mode 100644 index ee6fa060b66..00000000000 --- a/configs/zynq_zybo_defconfig +++ /dev/null @@ -1,30 +0,0 @@ -BR2_arm=y -BR2_cortex_a9=y -BR2_ARM_ENABLE_NEON=y -BR2_ARM_ENABLE_VFP=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyPS0" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/digilent/zybo/post-image.sh" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.6.4" -BR2_LINUX_KERNEL_DEFCONFIG="multi_v7" -BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="zynq-zybo" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.05" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="zynq_zybo" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y -BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y -BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_ZYNQ_IMAGE=y -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/zynqmp_kria_kd240_defconfig b/configs/zynqmp_kria_kd240_defconfig new file mode 100644 index 00000000000..7f2449cf950 --- /dev/null +++ b/configs/zynqmp_kria_kd240_defconfig @@ -0,0 +1,53 @@ +BR2_aarch64=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf" +BR2_GLOBAL_PATCH_DIR="board/xilinx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynqmp/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="ttyPS1,115200 sda2" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.12_LTS_merge_6.12.70)/xlnx_rebase_v6.12_LTS_merge_6.12.70.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-smk-k24-revA-sck-kd-g-revA" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_XILINX_FPGAUTIL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.12_2025.2)/xlnx_rebase_v2.12_2025.2.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="zynqmp" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="ZYNQMP_CONSOLE=cadence1" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2025.01_2025.2)/xlnx_rebase_v2025.01_2025.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynqmp_kria" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_USE_BINMAN=y +BR2_TARGET_UBOOT_FORMAT_ITB=y +BR2_TARGET_UBOOT_FORMAT_QSPI_BIN=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" +BR2_TARGET_UBOOT_ZYNQMP=y +BR2_TARGET_UBOOT_ZYNQMP_PMUFW_EMBEDDEDSW=y +BR2_TARGET_UBOOT_ZYNQMP_PM_CFG="board/zynqmp/kria/kd240/pm_cfg_obj.c" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-smk-k24-revA" +BR2_TARGET_XILINX_EMBEDDEDSW=y +BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW=y +BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_USER_CFLAGS="-DK24_SOM" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/zynqmp_kria_kr260_defconfig b/configs/zynqmp_kria_kr260_defconfig new file mode 100644 index 00000000000..2372d3b0f91 --- /dev/null +++ b/configs/zynqmp_kria_kr260_defconfig @@ -0,0 +1,53 @@ +BR2_aarch64=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf" +BR2_GLOBAL_PATCH_DIR="board/xilinx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynqmp/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="ttyPS1,115200 sda2" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.12_LTS_merge_6.12.70)/xlnx_rebase_v6.12_LTS_merge_6.12.70.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-smk-k26-revA-sck-kr-g-revB" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_XILINX_FPGAUTIL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.12_2025.2)/xlnx_rebase_v2.12_2025.2.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="zynqmp" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="ZYNQMP_CONSOLE=cadence1" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2025.01_2025.2)/xlnx_rebase_v2025.01_2025.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynqmp_kria" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_USE_BINMAN=y +BR2_TARGET_UBOOT_FORMAT_ITB=y +BR2_TARGET_UBOOT_FORMAT_QSPI_BIN=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" +BR2_TARGET_UBOOT_ZYNQMP=y +BR2_TARGET_UBOOT_ZYNQMP_PMUFW_EMBEDDEDSW=y +BR2_TARGET_UBOOT_ZYNQMP_PM_CFG="board/zynqmp/kria/kr260/pm_cfg_obj.c" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-smk-k26-revA" +BR2_TARGET_XILINX_EMBEDDEDSW=y +BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW=y +BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_USER_CFLAGS="-DK26_SOM" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/zynqmp_kria_kv260_defconfig b/configs/zynqmp_kria_kv260_defconfig new file mode 100644 index 00000000000..aa5724e9425 --- /dev/null +++ b/configs/zynqmp_kria_kv260_defconfig @@ -0,0 +1,53 @@ +BR2_aarch64=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf" +BR2_GLOBAL_PATCH_DIR="board/xilinx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynqmp/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="ttyPS1,115200 mmcblk1p2" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.12_LTS_merge_6.12.70)/xlnx_rebase_v6.12_LTS_merge_6.12.70.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-smk-k26-revA-sck-kv-g-revB" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_XILINX_FPGAUTIL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.12_2025.2)/xlnx_rebase_v2.12_2025.2.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="zynqmp" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="ZYNQMP_CONSOLE=cadence1" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2025.01_2025.2)/xlnx_rebase_v2025.01_2025.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynqmp_kria" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_USE_BINMAN=y +BR2_TARGET_UBOOT_FORMAT_ITB=y +BR2_TARGET_UBOOT_FORMAT_QSPI_BIN=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" +BR2_TARGET_UBOOT_ZYNQMP=y +BR2_TARGET_UBOOT_ZYNQMP_PMUFW_EMBEDDEDSW=y +BR2_TARGET_UBOOT_ZYNQMP_PM_CFG="board/zynqmp/kria/kv260/pm_cfg_obj.c" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-smk-k26-revA" +BR2_TARGET_XILINX_EMBEDDEDSW=y +BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW=y +BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_USER_CFLAGS="-DK26_SOM" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/zynqmp_zcu102_defconfig b/configs/zynqmp_zcu102_defconfig new file mode 100644 index 00000000000..f501846c238 --- /dev/null +++ b/configs/zynqmp_zcu102_defconfig @@ -0,0 +1,51 @@ +BR2_aarch64=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf" +BR2_GLOBAL_PATCH_DIR="board/xilinx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynqmp/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="ttyPS0,115200 mmcblk0p2" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.12_LTS_merge_6.12.70)/xlnx_rebase_v6.12_LTS_merge_6.12.70.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-zcu102-rev1.0" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_XILINX_FPGAUTIL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.12_2025.2)/xlnx_rebase_v2.12_2025.2.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="zynqmp" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2025.01_2025.2)/xlnx_rebase_v2025.01_2025.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynqmp_virt" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_USE_BINMAN=y +BR2_TARGET_UBOOT_FORMAT_ITB=y +BR2_TARGET_UBOOT_FORMAT_QSPI_BIN=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" +BR2_TARGET_UBOOT_ZYNQMP=y +BR2_TARGET_UBOOT_ZYNQMP_PMUFW_EMBEDDEDSW=y +BR2_TARGET_UBOOT_ZYNQMP_PM_CFG="board/zynqmp/zcu102/pm_cfg_obj.c" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-zcu102-rev1.0" +BR2_TARGET_XILINX_EMBEDDEDSW=y +BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/zynqmp_zcu104_defconfig b/configs/zynqmp_zcu104_defconfig new file mode 100644 index 00000000000..9ae20938294 --- /dev/null +++ b/configs/zynqmp_zcu104_defconfig @@ -0,0 +1,51 @@ +BR2_aarch64=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf" +BR2_GLOBAL_PATCH_DIR="board/xilinx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynqmp/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="ttyPS0,115200 mmcblk0p2" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.12_LTS_merge_6.12.70)/xlnx_rebase_v6.12_LTS_merge_6.12.70.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-zcu104-revC" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_XILINX_FPGAUTIL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.12_2025.2)/xlnx_rebase_v2.12_2025.2.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="zynqmp" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2025.01_2025.2)/xlnx_rebase_v2025.01_2025.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynqmp_virt" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_USE_BINMAN=y +BR2_TARGET_UBOOT_FORMAT_ITB=y +BR2_TARGET_UBOOT_FORMAT_QSPI_BIN=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" +BR2_TARGET_UBOOT_ZYNQMP=y +BR2_TARGET_UBOOT_ZYNQMP_PMUFW_EMBEDDEDSW=y +BR2_TARGET_UBOOT_ZYNQMP_PM_CFG="board/zynqmp/zcu104/pm_cfg_obj.c" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-zcu104-revC" +BR2_TARGET_XILINX_EMBEDDEDSW=y +BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/zynqmp_zcu106_defconfig b/configs/zynqmp_zcu106_defconfig new file mode 100644 index 00000000000..c72a33a1826 --- /dev/null +++ b/configs/zynqmp_zcu106_defconfig @@ -0,0 +1,51 @@ +BR2_aarch64=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y +BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf" +BR2_GLOBAL_PATCH_DIR="board/xilinx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynqmp/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="ttyPS0,115200 mmcblk0p2" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.12_LTS_merge_6.12.70)/xlnx_rebase_v6.12_LTS_merge_6.12.70.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-zcu106-revA" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_XILINX_FPGAUTIL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.12_2025.2)/xlnx_rebase_v2.12_2025.2.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="zynqmp" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2025.01_2025.2)/xlnx_rebase_v2025.01_2025.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynqmp_virt" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_USE_BINMAN=y +BR2_TARGET_UBOOT_FORMAT_ITB=y +BR2_TARGET_UBOOT_FORMAT_QSPI_BIN=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" +BR2_TARGET_UBOOT_ZYNQMP=y +BR2_TARGET_UBOOT_ZYNQMP_PMUFW_EMBEDDEDSW=y +BR2_TARGET_UBOOT_ZYNQMP_PM_CFG="board/zynqmp/zcu106/pm_cfg_obj.c" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-zcu106-rev1.0" +BR2_TARGET_XILINX_EMBEDDEDSW=y +BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/docs/conf/asciidoc-text.conf b/docs/conf/asciidoc-text.conf index 470bdecfc24..bb614b9d852 100644 --- a/docs/conf/asciidoc-text.conf +++ b/docs/conf/asciidoc-text.conf @@ -1,5 +1,5 @@ # Refer to following asciidoc documentation: -# http://www.methods.co.nz/asciidoc/userguide.html +# https://asciidoc-py.github.io/userguide.html # In particular sections "Macros" and "Attribute References" # # For hyperlinks, show 'link text [URL]' (if link text provided) or 'URL' diff --git a/docs/manual/adding-board-support.adoc b/docs/manual/adding-board-support.adoc new file mode 100644 index 00000000000..0f7d5346039 --- /dev/null +++ b/docs/manual/adding-board-support.adoc @@ -0,0 +1,73 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[adding-board-support]] +== Adding support for a particular board + +Buildroot contains basic configurations for several publicly available +hardware boards, so that users of such a board can easily build a system +that is known to work. You are welcome to add support for other boards +to Buildroot too. + +To do so, you need to create a normal Buildroot configuration that +builds a basic system for the hardware: (internal) toolchain, kernel, +bootloader, filesystem and a simple BusyBox-only userspace. No specific +package should be selected: the configuration should be as minimal as +possible, and should only build a working basic BusyBox system for the +target platform. You can of course use more complicated configurations +for your internal projects, but the Buildroot project will only +integrate basic board configurations. This is because package +selections are highly application-specific. + +Once you have a known working configuration, run +make +savedefconfig+. This will generate a minimal +defconfig+ file at the +root of the Buildroot source tree. Move this file into the +configs/+ +directory, and rename it +_defconfig+. + +Always use fixed versions or commit hashes for the different +components, not the "latest" version. For example, set ++BR2_LINUX_KERNEL_CUSTOM_VERSION=y+ and ++BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE+ to the kernel version you tested +with. If you are using the buildroot toolchain +BR2_TOOLCHAIN_BUILDROOT+ +(which is the default), additionally ensure that the same kernel headers +are used (+BR2_KERNEL_HEADERS_AS_KERNEL+, which is also the default) and +set the custom kernel headers series to match your kernel version +(+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_*+). + +It is recommended to use as much as possible upstream versions of the +Linux kernel and bootloaders, and to use as much as possible default +kernel and bootloader configurations. If they are incorrect for your +board, or no default exists, we encourage you to send fixes to the +corresponding upstream projects. + +However, in the mean time, you may want to store kernel or bootloader +configuration or patches specific to your target platform. To do so, +create a directory +board/+ and a subdirectory ++board//+. You can then store your patches +and configurations in these directories, and reference them from the main +Buildroot configuration. Refer to xref:customize[] for more details. + +Before submitting patches for new boards it is recommended to test it by +building it using latest gitlab-CI docker container. To do this use ++utils/docker-run+ script and inside it issue these commands: + +---- + $ make _defconfig + $ make +---- + +By default, Buildroot developers use the official image hosted on the +https://gitlab.com/buildroot.org/buildroot/container_registry/2395076[gitlab.com +registry] and it should be convenient for most usage. If you still want +to build your own docker image, you can base it off the official image +as the +FROM+ directive of your own _Dockerfile_: + +---- +FROM registry.gitlab.com/buildroot.org/buildroot/base:YYYYMMDD.HHMM +RUN ... +COPY ... +---- + +The current version _YYYYMMDD.HHMM_ can be found in the +.gitlab-ci.yml+ +file at the top of the Buildroot source tree; all past versions are +listed in the aforementioned registry as well. diff --git a/docs/manual/adding-board-support.txt b/docs/manual/adding-board-support.txt deleted file mode 100644 index f6d74ae1f4c..00000000000 --- a/docs/manual/adding-board-support.txt +++ /dev/null @@ -1,38 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[adding-board-support]] -== Adding support for a particular board - -Buildroot contains basic configurations for several publicly available -hardware boards, so that users of such a board can easily build a system -that is known to work. You are welcome to add support for other boards -to Buildroot too. - -To do so, you need to create a normal Buildroot configuration that -builds a basic system for the hardware: toolchain, kernel, bootloader, -filesystem and a simple BusyBox-only userspace. No specific package -should be selected: the configuration should be as minimal as -possible, and should only build a working basic BusyBox system for the -target platform. You can of course use more complicated configurations -for your internal projects, but the Buildroot project will only -integrate basic board configurations. This is because package -selections are highly application-specific. - -Once you have a known working configuration, run +make -savedefconfig+. This will generate a minimal +defconfig+ file at the -root of the Buildroot source tree. Move this file into the +configs/+ -directory, and rename it +_defconfig+. - -It is recommended to use as much as possible upstream versions of the -Linux kernel and bootloaders, and to use as much as possible default -kernel and bootloader configurations. If they are incorrect for your -board, or no default exists, we encourage you to send fixes to the -corresponding upstream projects. - -However, in the mean time, you may want to store kernel or bootloader -configuration or patches specific to your target platform. To do so, -create a directory +board/+ and a subdirectory -+board//+. You can then store your patches -and configurations in these directories, and reference them from the main -Buildroot configuration. Refer to xref:customize[] for more details. diff --git a/docs/manual/adding-packages-asciidoc.adoc b/docs/manual/adding-packages-asciidoc.adoc new file mode 100644 index 00000000000..c34b9ffc2a6 --- /dev/null +++ b/docs/manual/adding-packages-asciidoc.adoc @@ -0,0 +1,143 @@ +// -*- mode:doc; -*- +// vim: syntax=asciidoc + +=== Infrastructure for asciidoc documents + +[[asciidoc-documents-tutorial]] + +The Buildroot manual, which you are currently reading, is entirely written +using the http://asciidoc.org/[AsciiDoc] mark-up syntax. The manual is then +rendered to many formats: + +* html +* split-html +* pdf +* epub +* text + +Although Buildroot only contains one document written in AsciiDoc, there +is, as for packages, an infrastructure for rendering documents using the +AsciiDoc syntax. + +Also as for packages, the AsciiDoc infrastructure is available from a +xref:outside-br-custom[br2-external tree]. This allows documentation for +a br2-external tree to match the Buildroot documentation, as it will be +rendered to the same formats and use the same layout and theme. + +==== +asciidoc-document+ tutorial + +Whereas package infrastructures are suffixed with +-package+, the document +infrastructures are suffixed with +-document+. So, the AsciiDoc infrastructure +is named +asciidoc-document+. + +Here is an example to render a simple AsciiDoc document. + +---- +01: ################################################################################ +02: # +03: # foo-document +04: # +05: ################################################################################ +06: +07: FOO_SOURCES = $(sort $(wildcard $(FOO_DOCDIR)/*)) +08: $(eval $(call asciidoc-document)) +---- + +On line 7, the Makefile declares what the sources of the document are. +Currently, it is expected that the document's sources are only local; +Buildroot will not attempt to download anything to render a document. +Thus, you must indicate where the sources are. Usually, the string +above is sufficient for a document with no sub-directory structure. + +On line 8, we call the +asciidoc-document+ function, which generates all +the Makefile code necessary to render the document. + +==== +asciidoc-document+ reference + +The list of variables that can be set in a +.mk+ file to give metadata +information is (assuming the document name is +foo+) : + +* +FOO_SOURCES+, mandatory, defines the source files for the document. + +* +FOO_RESOURCES+, optional, may contain a space-separated list of paths + to one or more directories containing so-called resources (like CSS or + images). By default, empty. + +* +FOO_DEPENDENCIES+, optional, the list of packages (most probably, + host-packages) that must be built before building this document. + +* +FOO_TOC_DEPTH+, +FOO_TOC_DEPTH_+, optionals, the depth of the + table of content for this document, which can be overridden for the + specified format ++ (see the list of rendered formats, above, + but in uppercase, and with dash replaced by underscore; see example, + below). By default: +1+. + +There are also additional hooks (see xref:hooks[] for general information +on hooks), that a document may set to define extra actions to be done at +various steps: + +* +FOO_POST_RSYNC_HOOKS+ to run additional commands after the sources + have been copied by Buildroot. This can for example be used to + generate part of the manual with information extracted from the + tree. As an example, Buildroot uses this hook to generate the tables + in the appendices. + +* +FOO_CHECK_DEPENDENCIES_HOOKS+ to run additional tests on required + components to generate the document. In AsciiDoc, it is possible to + call filters, that is, programs that will parse an AsciiDoc block and + render it appropriately (e.g. http://ditaa.sourceforge.net/[ditaa] or + https://pythonhosted.org/aafigure/[aafigure]). + +* +FOO_CHECK_DEPENDENCIES__HOOKS+, to run additional tests for + the specified format ++ (see the list of rendered formats, above). + +Buildroot sets the following variable that can be used in the definitions +above: + +* +$(FOO_DOCDIR)+, similar to +$(FOO_PKGDIR)+, contains the path to the + directory containing +foo.mk+. It can be used to refer to the document + sources, and can be used in the hooks, especially the post-rsync hook + if parts of the documentation needs to be generated. + +* +$(@D)+, as for traditional packages, contains the path to the directory + where the document will be copied and built. + +Here is a complete example that uses all variables and all hooks: + +---- +01: ################################################################################ +02: # +03: # foo-document +04: # +05: ################################################################################ +06: +07: FOO_SOURCES = $(sort $(wildcard $(FOO_DOCDIR)/*)) +08: FOO_RESOURCES = $(sort $(wildcard $(FOO_DOCDIR)/resources)) +09: +10: FOO_TOC_DEPTH = 2 +11: FOO_TOC_DEPTH_HTML = 1 +12: FOO_TOC_DEPTH_SPLIT_HTML = 3 +13: +14: define FOO_GEN_EXTRA_DOC +15: /path/to/generate-script --outdir=$(@D) +16: endef +17: FOO_POST_RSYNC_HOOKS += FOO_GEN_EXTRA_DOC +18: +19: define FOO_CHECK_MY_PROG +20: if ! which my-prog >/dev/null 2>&1; then \ +21: echo "You need my-prog to generate the foo document"; \ +22: exit 1; \ +23: fi +24: endef +25: FOO_CHECK_DEPENDENCIES_HOOKS += FOO_CHECK_MY_PROG +26: +27: define FOO_CHECK_MY_OTHER_PROG +28: if ! which my-other-prog >/dev/null 2>&1; then \ +29: echo "You need my-other-prog to generate the foo document as PDF"; \ +30: exit 1; \ +31: fi +32: endef +33: FOO_CHECK_DEPENDENCIES_PDF_HOOKS += FOO_CHECK_MY_OTHER_PROG +34: +35: $(eval $(call asciidoc-document)) +---- diff --git a/docs/manual/adding-packages-asciidoc.txt b/docs/manual/adding-packages-asciidoc.txt deleted file mode 100644 index d870c510884..00000000000 --- a/docs/manual/adding-packages-asciidoc.txt +++ /dev/null @@ -1,124 +0,0 @@ -// -*- mode:doc; -*- -// vim: syntax=asciidoc - -=== Infrastructure for asciidoc documents - -[[asciidoc-documents-tutorial]] - -The Buildroot manual, which you are currently reading, is entirely written -using the http://asciidoc.org/[AsciiDoc] mark-up syntax. The manual is then -rendered to many formats: - -* html -* split-html -* pdf -* epub -* text - -Although Buildroot only contains one document written in AsciiDoc, there -is, as for packages, an infrastructure for rendering documents using the -AsciiDoc syntax. - -Also as for packages, the AsciiDoc infrastructure is available from a -xref:outside-br-custom[br2-external tree]. This allows documentation for -a br2-external tree to match the Buildroot documentation, as it will be -rendered to the same formats and use the same layout and theme. - -==== +asciidoc-document+ tutorial - -Whereas package infrastructures are suffixed with +-package+, the document -infrastructures are suffixed with +-document+. So, the AsciiDoc infrastructure -is named +asciidoc-document+. - -Here is an example to render a simple AsciiDoc document. - ----- -01: ################################################################################ -02: # -03: # foo-document -04: # -05: ################################################################################ -06: -07: FOO_SOURCES = $(sort $(wildcard $(pkgdir)/*)) -08: $(eval $(call asciidoc-document)) ----- - -On line 7, the Makefile declares what the sources of the document are. -Currently, it is expected that the document's sources are only local; -Buildroot will not attempt to download anything to render a document. -Thus, you must indicate where the sources are. Usually, the string -above is sufficient for a document with no sub-directory structure. - -On line 8, we call the +asciidoc-document+ function, which generates all -the Makefile code necessary to render the document. - -==== +asciidoc-document+ reference - -The list of variables that can be set in a +.mk+ file to give metadata -information is (assuming the document name is +foo+) : - -* +FOO_SOURCES+, mandatory, defines the source files for the document. - -* +FOO_RESOURCES+, optional, may contain a space-separated list of paths - to one or more directories containing so-called resources (like CSS or - images). By default, empty. - -* +FOO_DEPENDENCIES+, optional, the list of packages (most probably, - host-packages) that must be built before building this document. - If a hook of your document needs to access the _Kconfig_ structure, - you may add +prepare-kconfig+ to the list of dependencies. - -There are also additional hooks (see xref:hooks[] for general information -on hooks), that a document may set to define extra actions to be done at -various steps: - -* +FOO_POST_RSYNC_HOOKS+ to run additional commands after the sources - have been copied by Buildroot. This can for example be used to - generate part of the manual with information extracted from the - tree. As an example, Buildroot uses this hook to generate the tables - in the appendices. - -* +FOO_CHECK_DEPENDENCIES_HOOKS+ to run additional tests on required - components to generate the document. In AsciiDoc, it is possible to - call filters, that is, programs that will parse an AsciiDoc block and - render it appropriately (e.g. http://ditaa.sourceforge.net/[ditaa] or - https://pythonhosted.org/aafigure/[aafigure]). - -* +FOO_CHECK_DEPENDENCIES__HOOKS+, to run additional tests for - the specified format ++ (see the list of rendered formats, above). - -Here is a complete example that uses all variables and all hooks: - ----- -01: ################################################################################ -02: # -03: # foo-document -04: # -05: ################################################################################ -06: -07: FOO_SOURCES = $(sort $(wildcard $(pkgdir)/*)) -08: FOO_RESOURCES = $(sort $(wildcard $(pkgdir)/ressources)) -09: -10: define FOO_GEN_EXTRA_DOC -11: /path/to/generate-script --outdir=$(@D) -12: endef -13: FOO_POST_RSYNC_HOOKS += FOO_GEN_EXTRA_DOC -14: -15: define FOO_CHECK_MY_PROG -16: if ! which my-prog >/dev/null 2>&1; then \ -17: echo "You need my-prog to generate the foo document"; \ -18: exit 1; \ -19: fi -20: endef -21: FOO_CHECK_DEPENDENCIES_HOOKS += FOO_CHECK_MY_PROG -22: -23: define FOO_CHECK_MY_OTHER_PROG -24: if ! which my-other-prog >/dev/null 2>&1; then \ -25: echo "You need my-other-prog to generate the foo document as PDF"; \ -26: exit 1; \ -27: fi -28: endef -29: FOO_CHECK_DEPENDENCIES_PDF_HOOKS += FOO_CHECK_MY_OTHER_PROG -30: -31: $(eval $(call asciidoc-document)) ----- diff --git a/docs/manual/adding-packages-autotools.adoc b/docs/manual/adding-packages-autotools.adoc new file mode 100644 index 00000000000..a45d1652b59 --- /dev/null +++ b/docs/manual/adding-packages-autotools.adoc @@ -0,0 +1,165 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for autotools-based packages + +[[autotools-package-tutorial]] + +==== +autotools-package+ tutorial + +First, let's see how to write a +.mk+ file for an autotools-based +package, with an example : + +---- +01: ################################################################################ +02: # +03: # libfoo +04: # +05: ################################################################################ +06: +07: LIBFOO_VERSION = 1.0 +08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +09: LIBFOO_SITE = http://www.foosoftware.org/download +10: LIBFOO_INSTALL_STAGING = YES +11: LIBFOO_INSTALL_TARGET = NO +12: LIBFOO_CONF_OPTS = --disable-shared +13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf +14: +15: $(eval $(autotools-package)) +---- + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball recommended) +and the location of the tarball on the Web. Buildroot will automatically +download the tarball from this location. + +On line 10, we tell Buildroot to install the package to the staging +directory. The staging directory, located in +output/staging/+ +is the directory where all the packages are installed, including their +development files, etc. By default, packages are not installed to the +staging directory, since usually, only libraries need to be installed in +the staging directory: their development files are needed to compile +other libraries or applications depending on them. Also by default, when +staging installation is enabled, packages are installed in this location +using the +make install+ command. + +On line 11, we tell Buildroot to not install the package to the +target directory. This directory contains what will become the root +filesystem running on the target. For purely static libraries, it is +not necessary to install them in the target directory because they will +not be used at runtime. By default, target installation is enabled; setting +this variable to NO is almost never needed. Also by default, packages are +installed in this location using the +make install+ command. + +On line 12, we tell Buildroot to pass a custom configure option, that +will be passed to the +./configure+ script before configuring +and building the package. + +On line 13, we declare our dependencies, so that they are built +before the build process of our package starts. + +Finally, on line line 15, we invoke the +autotools-package+ +macro that generates all the Makefile rules that actually allows the +package to be built. + +[[autotools-package-reference]] + +==== +autotools-package+ reference + +The main macro of the autotools package infrastructure is ++autotools-package+. It is similar to the +generic-package+ macro. The ability to +have target and host packages is also available, with the ++host-autotools-package+ macro. + +Just like the generic infrastructure, the autotools infrastructure +works by defining a number of variables before calling the ++autotools-package+ macro. + +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the autotools infrastructure. + +A few additional variables, specific to the autotools infrastructure, +can also be defined. Many of them are only useful in very specific +cases, typical packages will therefore only use a few of them. + +* +LIBFOO_SUBDIR+ may contain the name of a subdirectory + inside the package that contains the configure script. This is useful, + if for example, the main configure script is not at the root of the + tree extracted by the tarball. If +HOST_LIBFOO_SUBDIR+ is + not specified, it defaults to +LIBFOO_SUBDIR+. + +* +LIBFOO_CONF_ENV+, to specify additional environment + variables to pass to the configure script. By default, empty. + +* +LIBFOO_CONF_OPTS+, to specify additional configure + options to pass to the configure script. By default, empty. + +* +LIBFOO_MAKE+, to specify an alternate +make+ + command. This is typically useful when parallel make is enabled in + the configuration (using +BR2_JLEVEL+) but that this + feature should be disabled for the given package, for one reason or + another. By default, set to +$(MAKE)+. If parallel building + is not supported by the package, then it should be set to + +LIBFOO_MAKE=$(MAKE1)+. + +* +LIBFOO_MAKE_ENV+, to specify additional environment + variables to pass to make in the build step. These are passed before + the +make+ command. By default, empty. + +* +LIBFOO_MAKE_OPTS+, to specify additional variables to + pass to make in the build step. These are passed after the + +make+ command. By default, empty. + +* +LIBFOO_AUTORECONF+, tells whether the package should + be autoreconfigured or not (i.e. if the configure script and + Makefile.in files should be re-generated by re-running autoconf, + automake, libtool, etc.). Valid values are +YES+ and + +NO+. By default, the value is +NO+ + +* +LIBFOO_AUTORECONF_ENV+, to specify additional environment + variables to pass to the 'autoreconf' program if + +LIBFOO_AUTORECONF=YES+. These are passed in the environment of + the 'autoreconf' command. By default, empty. + +* +LIBFOO_AUTORECONF_OPTS+ to specify additional options + passed to the 'autoreconf' program if + +LIBFOO_AUTORECONF=YES+. By default, empty. + +* +LIBFOO_AUTOPOINT+, tells whether the package should be + autopointed or not (i.e. if the package needs I18N infrastructure + copied in.) Only valid when +LIBFOO_AUTORECONF=YES+. Valid + values are +YES+ and +NO+. The default is +NO+. + +* +LIBFOO_LIBTOOL_PATCH+ tells whether the Buildroot + patch to fix libtool cross-compilation issues should be applied or + not. Valid values are +YES+ and +NO+. By + default, the value is +YES+ + +* +LIBFOO_INSTALL_STAGING_OPTS+ contains the make options + used to install the package to the staging directory. By default, the + value is +DESTDIR=$(STAGING_DIR) install+, which is + correct for most autotools packages. It is still possible to override + it. + +* +LIBFOO_INSTALL_TARGET_OPTS+ contains the make options + used to install the package to the target directory. By default, the + value is +DESTDIR=$(TARGET_DIR) install+. The default + value is correct for most autotools packages, but it is still possible + to override it if needed. + +With the autotools infrastructure, all the steps required to build +and install the packages are already defined, and they generally work +well for most autotools-based packages. However, when required, it is +still possible to customize what is done in any particular step: + +* By adding a post-operation hook (after extract, patch, configure, + build or install). See xref:hooks[] for details. + +* By overriding one of the steps. For example, even if the autotools + infrastructure is used, if the package +.mk+ file defines its + own +LIBFOO_CONFIGURE_CMDS+ variable, it will be used + instead of the default autotools one. However, using this method + should be restricted to very specific cases. Do not use it in the + general case. diff --git a/docs/manual/adding-packages-autotools.txt b/docs/manual/adding-packages-autotools.txt deleted file mode 100644 index a041d91eb62..00000000000 --- a/docs/manual/adding-packages-autotools.txt +++ /dev/null @@ -1,175 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for autotools-based packages - -[[autotools-package-tutorial]] - -==== +autotools-package+ tutorial - -First, let's see how to write a +.mk+ file for an autotools-based -package, with an example : - ------------------------- -01: ################################################################################ -02: # -03: # libfoo -04: # -05: ################################################################################ -06: -07: LIBFOO_VERSION = 1.0 -08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz -09: LIBFOO_SITE = http://www.foosoftware.org/download -10: LIBFOO_INSTALL_STAGING = YES -11: LIBFOO_INSTALL_TARGET = NO -12: LIBFOO_CONF_OPTS = --disable-shared -13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf -14: -15: $(eval $(autotools-package)) ------------------------- - -On line 7, we declare the version of the package. - -On line 8 and 9, we declare the name of the tarball (xz-ed tarball recommended) -and the location of the tarball on the Web. Buildroot will automatically -download the tarball from this location. - -On line 10, we tell Buildroot to install the package to the staging -directory. The staging directory, located in +output/staging/+ -is the directory where all the packages are installed, including their -development files, etc. By default, packages are not installed to the -staging directory, since usually, only libraries need to be installed in -the staging directory: their development files are needed to compile -other libraries or applications depending on them. Also by default, when -staging installation is enabled, packages are installed in this location -using the +make install+ command. - -On line 11, we tell Buildroot to not install the package to the -target directory. This directory contains what will become the root -filesystem running on the target. For purely static libraries, it is -not necessary to install them in the target directory because they will -not be used at runtime. By default, target installation is enabled; setting -this variable to NO is almost never needed. Also by default, packages are -installed in this location using the +make install+ command. - -On line 12, we tell Buildroot to pass a custom configure option, that -will be passed to the +./configure+ script before configuring -and building the package. - -On line 13, we declare our dependencies, so that they are built -before the build process of our package starts. - -Finally, on line line 15, we invoke the +autotools-package+ -macro that generates all the Makefile rules that actually allows the -package to be built. - -[[autotools-package-reference]] - -==== +autotools-package+ reference - -The main macro of the autotools package infrastructure is -+autotools-package+. It is similar to the +generic-package+ macro. The ability to -have target and host packages is also available, with the -+host-autotools-package+ macro. - -Just like the generic infrastructure, the autotools infrastructure -works by defining a number of variables before calling the -+autotools-package+ macro. - -First, all the package metadata information variables that exist in the -generic infrastructure also exist in the autotools infrastructure: -+LIBFOO_VERSION+, +LIBFOO_SOURCE+, -+LIBFOO_PATCH+, +LIBFOO_SITE+, -+LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, -+LIBFOO_INSTALL_STAGING+, +LIBFOO_INSTALL_TARGET+. - -A few additional variables, specific to the autotools infrastructure, -can also be defined. Many of them are only useful in very specific -cases, typical packages will therefore only use a few of them. - -* +LIBFOO_SUBDIR+ may contain the name of a subdirectory - inside the package that contains the configure script. This is useful, - if for example, the main configure script is not at the root of the - tree extracted by the tarball. If +HOST_LIBFOO_SUBDIR+ is - not specified, it defaults to +LIBFOO_SUBDIR+. - -* +LIBFOO_CONF_ENV+, to specify additional environment - variables to pass to the configure script. By default, empty. - -* +LIBFOO_CONF_OPTS+, to specify additional configure - options to pass to the configure script. By default, empty. - -* +LIBFOO_MAKE+, to specify an alternate +make+ - command. This is typically useful when parallel make is enabled in - the configuration (using +BR2_JLEVEL+) but that this - feature should be disabled for the given package, for one reason or - another. By default, set to +$(MAKE)+. If parallel building - is not supported by the package, then it should be set to - +LIBFOO_MAKE=$(MAKE1)+. - -* +LIBFOO_MAKE_ENV+, to specify additional environment - variables to pass to make in the build step. These are passed before - the +make+ command. By default, empty. - -* +LIBFOO_MAKE_OPTS+, to specify additional variables to - pass to make in the build step. These are passed after the - +make+ command. By default, empty. - -* +LIBFOO_AUTORECONF+, tells whether the package should - be autoreconfigured or not (i.e. if the configure script and - Makefile.in files should be re-generated by re-running autoconf, - automake, libtool, etc.). Valid values are +YES+ and - +NO+. By default, the value is +NO+ - -* +LIBFOO_AUTORECONF_ENV+, to specify additional environment - variables to pass to the 'autoreconf' program if - +LIBFOO_AUTORECONF=YES+. These are passed in the environment of - the 'autoreconf' command. By default, empty. - -* +LIBFOO_AUTORECONF_OPTS+ to specify additional options - passed to the 'autoreconf' program if - +LIBFOO_AUTORECONF=YES+. By default, empty. - -* +LIBFOO_GETTEXTIZE+, tells whether the package should be - gettextized or not (i.e. if the package uses a different gettext - version than Buildroot provides, and it is needed to run - 'gettextize'.) Only valid when +LIBFOO_AUTORECONF=YES+. Valid - values are +YES+ and +NO+. The default is +NO+. - -* +LIBFOO_GETTEXTIZE_OPTS+, to specify additional options passed to - the 'gettextize' program, if +LIBFOO_GETTEXTIZE=YES+. You may - use that if, for example, the +.po+ files are not located in the - standard place (i.e. in +po/+ at the root of the package.) By - default, '-f'. - -* +LIBFOO_LIBTOOL_PATCH+ tells whether the Buildroot - patch to fix libtool cross-compilation issues should be applied or - not. Valid values are +YES+ and +NO+. By - default, the value is +YES+ - -* +LIBFOO_INSTALL_STAGING_OPTS+ contains the make options - used to install the package to the staging directory. By default, the - value is +DESTDIR=$(STAGING_DIR) install+, which is - correct for most autotools packages. It is still possible to override - it. - -* +LIBFOO_INSTALL_TARGET_OPTS+ contains the make options - used to install the package to the target directory. By default, the - value is +DESTDIR=$(TARGET_DIR) install+. The default - value is correct for most autotools packages, but it is still possible - to override it if needed. - -With the autotools infrastructure, all the steps required to build -and install the packages are already defined, and they generally work -well for most autotools-based packages. However, when required, it is -still possible to customize what is done in any particular step: - -* By adding a post-operation hook (after extract, patch, configure, - build or install). See xref:hooks[] for details. - -* By overriding one of the steps. For example, even if the autotools - infrastructure is used, if the package +.mk+ file defines its - own +LIBFOO_CONFIGURE_CMDS+ variable, it will be used - instead of the default autotools one. However, using this method - should be restricted to very specific cases. Do not use it in the - general case. diff --git a/docs/manual/adding-packages-cargo.adoc b/docs/manual/adding-packages-cargo.adoc new file mode 100644 index 00000000000..4df758537b4 --- /dev/null +++ b/docs/manual/adding-packages-cargo.adoc @@ -0,0 +1,101 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for Cargo-based packages + +Cargo is the package manager for the Rust programming language. It allows the +user to build programs or libraries written in Rust, but it also downloads and +manages their dependencies, to ensure repeatable builds. Cargo packages are +called "crates". + +[[cargo-package-tutorial]] + +==== +cargo-package+ tutorial + +The +Config.in+ file of Cargo-based package 'foo' should contain: + +---- +01: config BR2_PACKAGE_FOO +02: bool "foo" +03: depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS +04: select BR2_PACKAGE_HOST_RUSTC +05: help +06: This is a comment that explains what foo is. +07: +08: http://foosoftware.org/foo/ +---- + +And the +.mk+ file for this package should contain: + +---- +01: ################################################################################ +02: # +03: # foo +04: # +05: ################################################################################ +06: +07: FOO_VERSION = 1.0 +08: FOO_SOURCE = foo-$(FOO_VERSION).tar.gz +09: FOO_SITE = http://www.foosoftware.org/download +10: FOO_LICENSE = GPL-3.0+ +11: FOO_LICENSE_FILES = COPYING +12: +13: $(eval $(cargo-package)) +---- + +The Makefile starts with the definition of the standard variables for +package declaration (lines 7 to 11). + +As seen in line 13, it is based on the +cargo-package+ +infrastructure. Cargo will be invoked automatically by this +infrastructure to build and install the package. + +It is still possible to define custom build commands or install +commands (i.e. with FOO_BUILD_CMDS and FOO_INSTALL_TARGET_CMDS). +Those will then replace the commands from the cargo infrastructure. + +==== +cargo-package+ reference + +The main macros for the Cargo package infrastructure are ++cargo-package+ for target packages and +host-cargo-package+ for host +packages. + +Just like the generic infrastructure, the Cargo infrastructure works +by defining a number of variables before calling the +cargo-package+ +or +host-cargo-package+ macros. + +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the Cargo infrastructure. + +A few additional variables, specific to the Cargo infrastructure, can +also be defined. Many of them are only useful in very specific cases, +typical packages will therefore only use a few of them. + +* +FOO_SUBDIR+ may contain the name of a subdirectory inside the package + that contains the Cargo.toml file. This is useful, if for example, it + is not at the root of the tree extracted by the tarball. If + +HOST_FOO_SUBDIR+ is not specified, it defaults to +FOO_SUBDIR+. + +* +FOO_CARGO_ENV+ can be used to pass additional variables in the + environment of +cargo+ invocations. It used at both build and + installation time + +* +FOO_CARGO_BUILD_OPTS+ can be used to pass additional options to + +cargo+ at build time. + +* +FOO_CARGO_INSTALL_OPTS+ can be used to pass additional options to + +cargo+ at install time. + +A crate can depend on other libraries from crates.io or git +repositories, listed in its +Cargo.toml+ file. Buildroot automatically +takes care of downloading such dependencies as part of the download +step of packages that use the +cargo-package+ infrastructure. Such +dependencies are then kept together with the package source code in +the tarball cached in Buildroot's +DL_DIR+, and therefore the hash of +the package's tarball doesn't only cover the source of the package +itself, but also covers the sources of the dependencies. Thus, a change +injected into one of the dependencies will also be discovered by the +hash check. In addition, this mechanism allows the build to be +performed completely offline since cargo will not do any downloads +during the build. This mechanism is called vendoring the dependencies. diff --git a/docs/manual/adding-packages-cmake.adoc b/docs/manual/adding-packages-cmake.adoc new file mode 100644 index 00000000000..845f54ad4b4 --- /dev/null +++ b/docs/manual/adding-packages-cmake.adoc @@ -0,0 +1,163 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for CMake-based packages + +[[cmake-package-tutorial]] + +==== +cmake-package+ tutorial + +First, let's see how to write a +.mk+ file for a CMake-based package, +with an example : + +---- +01: ################################################################################ +02: # +03: # libfoo +04: # +05: ################################################################################ +06: +07: LIBFOO_VERSION = 1.0 +08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +09: LIBFOO_SITE = http://www.foosoftware.org/download +10: LIBFOO_INSTALL_STAGING = YES +11: LIBFOO_INSTALL_TARGET = NO +12: LIBFOO_CONF_OPTS = -DBUILD_DEMOS=ON +13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf +14: +15: $(eval $(cmake-package)) +---- + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball recommended) +and the location of the tarball on the Web. Buildroot will automatically +download the tarball from this location. + +On line 10, we tell Buildroot to install the package to the staging +directory. The staging directory, located in +output/staging/+ +is the directory where all the packages are installed, including their +development files, etc. By default, packages are not installed to the +staging directory, since usually, only libraries need to be installed in +the staging directory: their development files are needed to compile +other libraries or applications depending on them. Also by default, when +staging installation is enabled, packages are installed in this location +using the +make install+ command. + +On line 11, we tell Buildroot to not install the package to the +target directory. This directory contains what will become the root +filesystem running on the target. For purely static libraries, it is +not necessary to install them in the target directory because they will +not be used at runtime. By default, target installation is enabled; setting +this variable to NO is almost never needed. Also by default, packages are +installed in this location using the +make install+ command. + +On line 12, we tell Buildroot to pass custom options to CMake when it is +configuring the package. + +On line 13, we declare our dependencies, so that they are built +before the build process of our package starts. + +Finally, on line line 15, we invoke the +cmake-package+ +macro that generates all the Makefile rules that actually allows the +package to be built. + +[[cmake-package-reference]] + +==== +cmake-package+ reference + +The main macro of the CMake package infrastructure is ++cmake-package+. It is similar to the +generic-package+ macro. The ability to +have target and host packages is also available, with the ++host-cmake-package+ macro. + +Just like the generic infrastructure, the CMake infrastructure works +by defining a number of variables before calling the +cmake-package+ +macro. + +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the CMake infrastructure. + +A few additional variables, specific to the CMake infrastructure, can +also be defined. Many of them are only useful in very specific cases, +typical packages will therefore only use a few of them. + +* +LIBFOO_SUBDIR+ may contain the name of a subdirectory inside the + package that contains the main CMakeLists.txt file. This is useful, + if for example, the main CMakeLists.txt file is not at the root of + the tree extracted by the tarball. If +HOST_LIBFOO_SUBDIR+ is not + specified, it defaults to +LIBFOO_SUBDIR+. + +* +LIBFOO_CMAKE_BACKEND+ specifies the cmake backend to use, one of + `make` (to use the GNU Makefiles generator, the default) or `ninja` + (to use the Ninja generator). + +* +LIBFOO_CONF_ENV+, to specify additional environment variables to + pass to CMake. By default, empty. + +* +LIBFOO_CONF_OPTS+, to specify additional configure options to pass + to CMake. By default, empty. A number of common CMake options are + set by the +cmake-package+ infrastructure; so it is normally not + necessary to set them in the package's +*.mk+ file unless you want + to override them: + +** +CMAKE_BUILD_TYPE+ is driven by +BR2_ENABLE_RUNTIME_DEBUG+; +** +CMAKE_INSTALL_PREFIX+; +** +BUILD_SHARED_LIBS+ is driven by +BR2_STATIC_LIBS+; +** +BUILD_DOC+, +BUILD_DOCS+ are disabled; +** +BUILD_EXAMPLE+, +BUILD_EXAMPLES+ are disabled; +** +BUILD_TEST+, +BUILD_TESTS+, +BUILD_TESTING+ are disabled. + +* +LIBFOO_BUILD_ENV+ and +LIBFOO_BUILD_OPTS+ to specify additional + environment variables, or command line options, to pass to the backend + at build time. + +* +LIBFOO_SUPPORTS_IN_SOURCE_BUILD = NO+ should be set when the package + cannot be built inside the source tree but needs a separate build + directory. + +* +LIBFOO_MAKE+, to specify an alternate +make+ command. This is + typically useful when parallel make is enabled in the configuration + (using +BR2_JLEVEL+) but that this feature should be disabled for + the given package, for one reason or another. By default, set to + +$(MAKE)+. If parallel building is not supported by the package, + then it should be set to +LIBFOO_MAKE=$(MAKE1)+. + +* +LIBFOO_MAKE_ENV+, to specify additional environment variables to + pass to make in the build step. These are passed before the +make+ + command. By default, empty. + +* +LIBFOO_MAKE_OPTS+, to specify additional variables to pass to make + in the build step. These are passed after the +make+ command. By + default, empty. + +* +LIBFOO_INSTALL_OPTS+ contains the make options used to + install the package to the host directory. By default, the value + is +install+, which is correct for most CMake packages. It is still + possible to override it. + +* +LIBFOO_INSTALL_STAGING_OPTS+ contains the make options used to + install the package to the staging directory. By default, the value + is +DESTDIR=$(STAGING_DIR) install/fast+, which is correct for most + CMake packages. It is still possible to override it. + +* +LIBFOO_INSTALL_TARGET_OPTS+ contains the make options used to + install the package to the target directory. By default, the value + is +DESTDIR=$(TARGET_DIR) install/fast+. The default value is correct + for most CMake packages, but it is still possible to override it if + needed. + +With the CMake infrastructure, all the steps required to build and +install the packages are already defined, and they generally work well +for most CMake-based packages. However, when required, it is still +possible to customize what is done in any particular step: + +* By adding a post-operation hook (after extract, patch, configure, + build or install). See xref:hooks[] for details. + +* By overriding one of the steps. For example, even if the CMake + infrastructure is used, if the package +.mk+ file defines its own + +LIBFOO_CONFIGURE_CMDS+ variable, it will be used instead of the + default CMake one. However, using this method should be restricted + to very specific cases. Do not use it in the general case. diff --git a/docs/manual/adding-packages-cmake.txt b/docs/manual/adding-packages-cmake.txt deleted file mode 100644 index 6ccf3902f8c..00000000000 --- a/docs/manual/adding-packages-cmake.txt +++ /dev/null @@ -1,152 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for CMake-based packages - -[[cmake-package-tutorial]] - -==== +cmake-package+ tutorial - -First, let's see how to write a +.mk+ file for a CMake-based package, -with an example : - ------------------------- -01: ################################################################################ -02: # -03: # libfoo -04: # -05: ################################################################################ -06: -07: LIBFOO_VERSION = 1.0 -08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz -09: LIBFOO_SITE = http://www.foosoftware.org/download -10: LIBFOO_INSTALL_STAGING = YES -11: LIBFOO_INSTALL_TARGET = NO -12: LIBFOO_CONF_OPTS = -DBUILD_DEMOS=ON -13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf -14: -15: $(eval $(cmake-package)) ------------------------- - -On line 7, we declare the version of the package. - -On line 8 and 9, we declare the name of the tarball (xz-ed tarball recommended) -and the location of the tarball on the Web. Buildroot will automatically -download the tarball from this location. - -On line 10, we tell Buildroot to install the package to the staging -directory. The staging directory, located in +output/staging/+ -is the directory where all the packages are installed, including their -development files, etc. By default, packages are not installed to the -staging directory, since usually, only libraries need to be installed in -the staging directory: their development files are needed to compile -other libraries or applications depending on them. Also by default, when -staging installation is enabled, packages are installed in this location -using the +make install+ command. - -On line 11, we tell Buildroot to not install the package to the -target directory. This directory contains what will become the root -filesystem running on the target. For purely static libraries, it is -not necessary to install them in the target directory because they will -not be used at runtime. By default, target installation is enabled; setting -this variable to NO is almost never needed. Also by default, packages are -installed in this location using the +make install+ command. - -On line 12, we tell Buildroot to pass custom options to CMake when it is -configuring the package. - -On line 13, we declare our dependencies, so that they are built -before the build process of our package starts. - -Finally, on line line 15, we invoke the +cmake-package+ -macro that generates all the Makefile rules that actually allows the -package to be built. - -[[cmake-package-reference]] - -==== +cmake-package+ reference - -The main macro of the CMake package infrastructure is -+cmake-package+. It is similar to the +generic-package+ macro. The ability to -have target and host packages is also available, with the -+host-cmake-package+ macro. - -Just like the generic infrastructure, the CMake infrastructure works -by defining a number of variables before calling the +cmake-package+ -macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the CMake infrastructure: -+LIBFOO_VERSION+, +LIBFOO_SOURCE+, +LIBFOO_PATCH+, +LIBFOO_SITE+, -+LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, +LIBFOO_INSTALL_STAGING+, -+LIBFOO_INSTALL_TARGET+. - -A few additional variables, specific to the CMake infrastructure, can -also be defined. Many of them are only useful in very specific cases, -typical packages will therefore only use a few of them. - -* +LIBFOO_SUBDIR+ may contain the name of a subdirectory inside the - package that contains the main CMakeLists.txt file. This is useful, - if for example, the main CMakeLists.txt file is not at the root of - the tree extracted by the tarball. If +HOST_LIBFOO_SUBDIR+ is not - specified, it defaults to +LIBFOO_SUBDIR+. - -* +LIBFOO_CONF_ENV+, to specify additional environment variables to - pass to CMake. By default, empty. - -* +LIBFOO_CONF_OPTS+, to specify additional configure options to pass - to CMake. By default, empty. A number of common CMake options are - set by the +cmake-package+ infrastructure; so it is normally not - necessary to set them in the package's +*.mk+ file unless you want - to override them: - -** +CMAKE_BUILD_TYPE+ is driven by +BR2_ENABLE_DEBUG+; -** +CMAKE_INSTALL_PREFIX+; -** +BUILD_SHARED_LIBS+ is driven by +BR2_STATIC_LIBS+; -** +BUILD_DOC+, +BUILD_DOCS+ are disabled; -** +BUILD_EXAMPLE+, +BUILD_EXAMPLES+ are disabled; -** +BUILD_TEST+, +BUILD_TESTS+, +BUILD_TESTING+ are disabled. - -* +LIBFOO_SUPPORTS_IN_SOURCE_BUILD = NO+ should be set when the package - cannot be built inside the source tree but needs a separate build - directory. - -* +LIBFOO_MAKE+, to specify an alternate +make+ command. This is - typically useful when parallel make is enabled in the configuration - (using +BR2_JLEVEL+) but that this feature should be disabled for - the given package, for one reason or another. By default, set to - +$(MAKE)+. If parallel building is not supported by the package, - then it should be set to +LIBFOO_MAKE=$(MAKE1)+. - -* +LIBFOO_MAKE_ENV+, to specify additional environment variables to - pass to make in the build step. These are passed before the +make+ - command. By default, empty. - -* +LIBFOO_MAKE_OPTS+, to specify additional variables to pass to make - in the build step. These are passed after the +make+ command. By - default, empty. - -* +LIBFOO_INSTALL_STAGING_OPTS+ contains the make options used to - install the package to the staging directory. By default, the value - is +DESTDIR=$(STAGING_DIR) install+, which is correct for most - CMake packages. It is still possible to override it. - -* +LIBFOO_INSTALL_TARGET_OPTS+ contains the make options used to - install the package to the target directory. By default, the value - is +DESTDIR=$(TARGET_DIR) install+. The default value is correct - for most CMake packages, but it is still possible to override it if - needed. - -With the CMake infrastructure, all the steps required to build and -install the packages are already defined, and they generally work well -for most CMake-based packages. However, when required, it is still -possible to customize what is done in any particular step: - -* By adding a post-operation hook (after extract, patch, configure, - build or install). See xref:hooks[] for details. - -* By overriding one of the steps. For example, even if the CMake - infrastructure is used, if the package +.mk+ file defines its own - +LIBFOO_CONFIGURE_CMDS+ variable, it will be used instead of the - default CMake one. However, using this method should be restricted - to very specific cases. Do not use it in the general case. diff --git a/docs/manual/adding-packages-conclusion.txt b/docs/manual/adding-packages-conclusion.adoc similarity index 100% rename from docs/manual/adding-packages-conclusion.txt rename to docs/manual/adding-packages-conclusion.adoc diff --git a/docs/manual/adding-packages-directory.adoc b/docs/manual/adding-packages-directory.adoc new file mode 100644 index 00000000000..15de559debc --- /dev/null +++ b/docs/manual/adding-packages-directory.adoc @@ -0,0 +1,695 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Package directory + +First of all, create a directory under the +package+ directory for +your software, for example +libfoo+. + +Some packages have been grouped by topic in a sub-directory: ++x11r7+, +qt5+ and +gstreamer+. If your package fits in +one of these categories, then create your package directory in these. +New subdirectories are discouraged, however. + +=== Config files + +For the package to be displayed in the configuration tool, you need to +create a Config file in your package directory. There are two types: ++Config.in+ and +Config.in.host+. + +==== +Config.in+ file + +For packages used on the target, create a file named +Config.in+. This +file will contain the option descriptions related to our +libfoo+ software +that will be used and displayed in the configuration tool. It should basically +contain: + +---- +config BR2_PACKAGE_LIBFOO + bool "libfoo" + help + This is a comment that explains what libfoo is. The help text + should be wrapped. + + http://foosoftware.org/libfoo/ +---- + +The +bool+ line, +help+ line and other metadata information about the +configuration option must be indented with one tab. The help text +itself should be indented with one tab and two spaces, lines should +be wrapped to fit 72 columns, where tab counts for 8, so 62 characters +in the text itself. The help text must mention the upstream URL of the +project after an empty line. + +As a convention specific to Buildroot, the ordering of the attributes +is as follows: + +. The type of option: +bool+, +string+... with the prompt +. If needed, the +default+ value(s) +. Any dependencies on the target in +depends on+ form +. Any dependencies on the toolchain in +depends on+ form +. Any dependencies on other packages in +depends on+ form +. Any dependency of the +select+ form +. The help keyword and help text. + +You can add other sub-options into a +if BR2_PACKAGE_LIBFOO...endif+ +statement to configure particular things in your software. You can look at +examples in other packages. The syntax of the +Config.in+ file is the same +as the one for the kernel Kconfig file. The documentation for this syntax is +available at http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt[] + +Finally you have to add your new +libfoo/Config.in+ to ++package/Config.in+ (or in a category subdirectory if you decided to +put your package in one of the existing categories). The files +included there are 'sorted alphabetically' per category and are 'NOT' +supposed to contain anything but the 'bare' name of the package. + +---- +source "package/libfoo/Config.in" +---- + + +==== +Config.in.host+ file + +Some packages also need to be built for the host system. There are two +options here: + +* The host package is only required to satisfy build-time + dependencies of one or more target packages. In this case, add + +host-foo+ to the target package's +BAR_DEPENDENCIES+ variable. No + +Config.in.host+ file should be created. + +* The host package should be explicitly selectable by the user from + the configuration menu. In this case, create a +Config.in.host+ file + for that host package: ++ +---- +config BR2_PACKAGE_HOST_FOO + bool "host foo" + help + This is a comment that explains what foo for the host is. + + http://foosoftware.org/foo/ +---- ++ +The same coding style and options as for the +Config.in+ file are valid. ++ +Finally you have to add your new +libfoo/Config.in.host+ to ++package/Config.in.host+. The files included there are 'sorted alphabetically' +and are 'NOT' supposed to contain anything but the 'bare' name of the package. ++ +---- +source "package/foo/Config.in.host" +---- ++ +The host package will then be available from the +Host utilities+ menu. + +[[depends-on-vs-select]] +==== Choosing +depends on+ or +select+ + +The +Config.in+ file of your package must also ensure that +dependencies are enabled. Typically, Buildroot uses the following +rules: + +* Use a +select+ type of dependency for dependencies on + libraries. These dependencies are generally not obvious and it + therefore make sense to have the kconfig system ensure that the + dependencies are selected. For example, the _libgtk2_ package uses + +select BR2_PACKAGE_LIBGLIB2+ to make sure this library is also + enabled. + The +select+ keyword expresses the dependency with a backward + semantic. + +* Use a +depends on+ type of dependency when the user really needs to + be aware of the dependency. Typically, Buildroot uses this type of + dependency for dependencies on target architecture, MMU support and + toolchain options (see xref:dependencies-target-toolchain-options[]), + or for dependencies on "big" things, such as the X.org system. + The +depends on+ keyword expresses the dependency with a forward + semantic. + +.Note +The current problem with the _kconfig_ language is that these two +dependency semantics are not internally linked. Therefore, it may be +possible to select a package, whom one of its dependencies/requirement +is not met. + +An example illustrates both the usage of +select+ and +depends on+. + +---- +config BR2_PACKAGE_RRDTOOL + bool "rrdtool" + depends on BR2_USE_WCHAR + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_LIBART + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_ZLIB + help + RRDtool is the OpenSource industry standard, high performance + data logging and graphing system for time series data. + + http://oss.oetiker.ch/rrdtool/ + +comment "rrdtool needs a toolchain w/ wchar" + depends on !BR2_USE_WCHAR +---- + + +Note that these two dependency types are only transitive with the +dependencies of the same kind. + +This means, in the following example: + +---- +config BR2_PACKAGE_A + bool "Package A" + +config BR2_PACKAGE_B + bool "Package B" + depends on BR2_PACKAGE_A + +config BR2_PACKAGE_C + bool "Package C" + depends on BR2_PACKAGE_B + +config BR2_PACKAGE_D + bool "Package D" + select BR2_PACKAGE_B + +config BR2_PACKAGE_E + bool "Package E" + select BR2_PACKAGE_D +---- + +* Selecting +Package C+ will be visible if +Package B+ has been + selected, which in turn is only visible if +Package A+ has been + selected. + +* Selecting +Package E+ will select +Package D+, which will select + +Package B+, it will not check for the dependencies of +Package B+, + so it will not select +Package A+. + +* Since +Package B+ is selected but +Package A+ is not, this violates + the dependency of +Package B+ on +Package A+. Therefore, in such a + situation, the transitive dependency has to be added explicitly: + +---- +config BR2_PACKAGE_D + bool "Package D" + depends on BR2_PACKAGE_A + select BR2_PACKAGE_B + +config BR2_PACKAGE_E + bool "Package E" + depends on BR2_PACKAGE_A + select BR2_PACKAGE_D +---- + +Overall, for package library dependencies, +select+ should be +preferred. + +Note that such dependencies will ensure that the dependency option +is also enabled, but not necessarily built before your package. To do +so, the dependency also needs to be expressed in the +.mk+ file of the +package. + +Further formatting details: see xref:writing-rules-config-in[the +coding style]. + +[[dependencies-target-toolchain-options]] +==== Dependencies on target and toolchain options + +Many packages depend on certain options of the toolchain: the choice of +C library, C++ support, thread support, RPC support, wchar support, +or dynamic library support. Some packages can only be built on certain +target architectures, or if an MMU is available in the processor. + +These dependencies have to be expressed with the appropriate 'depends +on' statements in the Config.in file. Additionally, for dependencies on +toolchain options, a +comment+ should be displayed when the option is +not enabled, so that the user knows why the package is not available. +Dependencies on target architecture or MMU support should not be +made visible in a comment: since it is unlikely that the user can +freely choose another target, it makes little sense to show these +dependencies explicitly. + +The +comment+ should only be visible if the +config+ option itself would +be visible when the toolchain option dependencies are met. This means +that all other dependencies of the package (including dependencies on +target architecture and MMU support) have to be repeated on the ++comment+ definition. To keep it clear, the +depends on+ statement for +these non-toolchain option should be kept separate from the +depends on+ +statement for the toolchain options. +If there is a dependency on a config option in that same file (typically +the main package) it is preferable to have a global +if ... endif+ +construct rather than repeating the +depends on+ statement on the +comment and other config options. + +The general format of a dependency +comment+ for package foo is: + +---- +foo needs a toolchain w/ featA, featB, featC +---- + +for example: + +---- +mpd needs a toolchain w/ C++, threads, wchar +---- + +or + +---- +crda needs a toolchain w/ threads +---- + +Note that this text is kept brief on purpose, so that it will fit on a +80-character terminal. + +The rest of this section enumerates the different target and toolchain +options, the corresponding config symbols to depend on, and the text to +use in the comment. + +* Target architecture +** Dependency symbol: +BR2_powerpc+, +BR2_mips+, ... (see +arch/Config.in+) +** Comment string: no comment to be added + +* MMU support +** Dependency symbol: +BR2_USE_MMU+ +** Comment string: no comment to be added + +* Gcc +__sync_*+ built-ins used for atomic operations. They are + available in variants operating on 1 byte, 2 bytes, 4 bytes and 8 + bytes. Since different architectures support atomic operations on + different sizes, one dependency symbol is available for each size: +** Dependency symbol: +BR2_TOOLCHAIN_HAS_SYNC_1+ for 1 byte, + +BR2_TOOLCHAIN_HAS_SYNC_2+ for 2 bytes, + +BR2_TOOLCHAIN_HAS_SYNC_4+ for 4 bytes, +BR2_TOOLCHAIN_HAS_SYNC_8+ + for 8 bytes. +** Comment string: no comment to be added + +* Gcc +__atomic_*+ built-ins used for atomic operations. +** Dependency symbol: +BR2_TOOLCHAIN_HAS_ATOMIC+. +** Comment string: no comment to be added + +* Kernel headers +** Dependency symbol: +BR2_TOOLCHAIN_HEADERS_AT_LEAST_X_Y+, (replace + +X_Y+ with the proper version, see +toolchain/Config.in+) +** Comment string: +headers >= X.Y+ and/or `headers <= X.Y` (replace + +X.Y+ with the proper version) + +* GCC version +** Dependency symbol: +BR2_TOOLCHAIN_GCC_AT_LEAST_X_Y+, (replace + +X_Y+ with the proper version, see +toolchain/Config.in+) +** Comment string: +gcc >= X.Y+ and/or `gcc <= X.Y` (replace + +X.Y+ with the proper version) + +* Host GCC version +** Dependency symbol: +BR2_HOST_GCC_AT_LEAST_X_Y+, (replace + +X_Y+ with the proper version, see +Config.in+) +** Comment string: no comment to be added +** Note that it is usually not the package itself that has a minimum + host GCC version, but rather a host-package on which it depends. + +* C library +** Dependency symbol: +BR2_TOOLCHAIN_USES_GLIBC+, + +BR2_TOOLCHAIN_USES_MUSL+, +BR2_TOOLCHAIN_USES_UCLIBC+ +** Comment string: for the C library, a slightly different comment text + is used: +foo needs a glibc toolchain+, or `foo needs a glibc + toolchain w/ C++` + +* C++ support +** Dependency symbol: +BR2_INSTALL_LIBSTDCPP+ +** Comment string: `C++` + +* D support +** Dependency symbol: +BR2_TOOLCHAIN_HAS_DLANG+ +** Comment string: `Dlang` + +* Fortran support +** Dependency symbol: +BR2_TOOLCHAIN_HAS_FORTRAN+ +** Comment string: `fortran` + +* thread support +** Dependency symbol: +BR2_TOOLCHAIN_HAS_THREADS+ +** Comment string: +threads+ (unless +BR2_TOOLCHAIN_HAS_THREADS_NPTL+ + is also needed, in which case, specifying only +NPTL+ is sufficient) + +* NPTL thread support +** Dependency symbol: +BR2_TOOLCHAIN_HAS_THREADS_NPTL+ +** Comment string: +NPTL+ + +* RPC support +** Dependency symbol: +BR2_TOOLCHAIN_HAS_NATIVE_RPC+ +** Comment string: +RPC+ + +* wchar support +** Dependency symbol: +BR2_USE_WCHAR+ +** Comment string: +wchar+ + +* dynamic library +** Dependency symbol: +!BR2_STATIC_LIBS+ +** Comment string: +dynamic library+ + +==== Dependencies on a Linux kernel built by buildroot + +Some packages need a Linux kernel to be built by buildroot. These are +typically kernel modules or firmware. A comment should be added in the +Config.in file to express this dependency, similar to dependencies on +toolchain options. The general format is: + +---- +foo needs a Linux kernel to be built +---- + +If there is a dependency on both toolchain options and the Linux +kernel, use this format: + +---- +foo needs a toolchain w/ featA, featB, featC and a Linux kernel to be built +---- + +==== Dependencies on udev /dev management + +If a package needs udev /dev management, it should depend on symbol ++BR2_PACKAGE_HAS_UDEV+, and the following comment should be added: + +---- +foo needs udev /dev management +---- + +If there is a dependency on both toolchain options and udev /dev +management, use this format: + +---- +foo needs udev /dev management and a toolchain w/ featA, featB, featC +---- + +==== Dependencies on features provided by virtual packages + +Some features can be provided by more than one package, such as the +openGL libraries. + +See xref:virtual-package-tutorial[] for more on the virtual packages. + +=== The +.mk+ file + +[[adding-packages-mk]] + +Finally, here's the hardest part. Create a file named +libfoo.mk+. It +describes how the package should be downloaded, configured, built, +installed, etc. + +Depending on the package type, the +.mk+ file must be written in a +different way, using different infrastructures: + +* *Makefiles for generic packages* (not using autotools or CMake): + These are based on an infrastructure similar to the one used for + autotools-based packages, but require a little more work from the + developer. They specify what should be done for the configuration, + compilation and installation of the package. This + infrastructure must be used for all packages that do not use the + autotools as their build system. In the future, other specialized + infrastructures might be written for other build systems. We cover + them through in a xref:generic-package-tutorial[tutorial] and a + xref:generic-package-reference[reference]. + +* *Makefiles for autotools-based software* (autoconf, automake, etc.): + We provide a dedicated infrastructure for such packages, since + autotools is a very common build system. This infrastructure 'must' + be used for new packages that rely on the autotools as their build + system. We cover them through a xref:autotools-package-tutorial[tutorial] + and xref:autotools-package-reference[reference]. + +* *Makefiles for cmake-based software*: We provide a dedicated + infrastructure for such packages, as CMake is a more and more + commonly used build system and has a standardized behaviour. This + infrastructure 'must' be used for new packages that rely on + CMake. We cover them through a xref:cmake-package-tutorial[tutorial] + and xref:cmake-package-reference[reference]. + +* *Makefiles for Python modules*: We have a dedicated infrastructure + for Python modules that use the +flit+, +hatch+, +pep517+, +poetry+ + +setuptools+, +setuptools-rust+ or +maturin+ mechanisms. We cover + them through a xref:python-package-tutorial[tutorial] and a + xref:python-package-reference[reference]. + +* *Makefiles for Lua modules*: We have a dedicated infrastructure for + Lua modules available through the LuaRocks web site. We cover them + through a xref:luarocks-package-tutorial[tutorial] and a + xref:luarocks-package-reference[reference]. + +Further formatting details: see xref:writing-rules-mk[the writing +rules]. + +[[adding-packages-hash]] +=== The +.hash+ file + +When possible, you must add a third file, named +libfoo.hash+, that +contains the hashes of the downloaded files for the +libfoo+ +package. The only reason for not adding a +.hash+ file is when hash +checking is not possible due to how the package is downloaded. + +When a package has a version selection choice, then the hash file may be +stored in a subdirectory named after the version, e.g. ++package/libfoo/1.2.3/libfoo.hash+. This is especially important if the +different versions have different licensing terms, but they are stored +in the same file. Otherwise, the hash file should stay in the package's +directory. + +The hashes stored in that file are used to validate the integrity of the +downloaded files and of the license files. + +The format of this file is one line for each file for which to check the +hash, each line with the following three fields separated by two spaces: + +* the type of hash, one of: +** +md5+, +sha1+, +sha224+, +sha256+, +sha384+, +sha512+ +* the hash of the file: +** for +md5+, 32 hexadecimal characters +** for +sha1+, 40 hexadecimal characters +** for +sha224+, 56 hexadecimal characters +** for +sha256+, 64 hexadecimal characters +** for +sha384+, 96 hexadecimal characters +** for +sha512+, 128 hexadecimal characters +* the name of the file: +** for a source archive: the basename of the file, without any directory + component, +** for a license file: the path as it appears in +FOO_LICENSE_FILES+. + +Lines starting with a +#+ sign are considered comments, and ignored. Empty +lines are ignored. + +There can be more than one hash for a single file, each on its own line. In +this case, all hashes must match. + +.Note +Ideally, the hashes stored in this file should match the hashes published by +upstream, e.g. on their website, in the e-mail announcement... If upstream +provides more than one type of hash (e.g. +sha1+ and +sha512+), then it is +best to add all those hashes in the +.hash+ file. If upstream does not +provide any hash, or only provides an +md5+ hash, then compute at least one +strong hash yourself (preferably +sha256+, but not +md5+), and mention +this in a comment line above the hashes. + +.Note +The hashes for license files are used to detect a license change when a +package version is bumped. The hashes are checked during the make legal-info +target run. For a package with multiple versions (like Qt5), +create the hash file in a subdirectory ++ of that package +(see also xref:patch-apply-order[]). + +The example below defines a +sha1+ and a +sha256+ published by upstream for +the main +libfoo-1.2.3.tar.bz2+ tarball, an +md5+ from upstream and a +locally-computed +sha256+ hashes for a binary blob, a +sha256+ for a +downloaded patch, and an archive with no hash: + +---- +# Hashes from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.{sha1,sha256}: +sha1 486fb55c3efa71148fe07895fd713ea3a5ae343a libfoo-1.2.3.tar.bz2 +sha256 efc8103cc3bcb06bda6a781532d12701eb081ad83e8f90004b39ab81b65d4369 libfoo-1.2.3.tar.bz2 + +# md5 from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.md5, sha256 locally computed: +md5 2d608f3c318c6b7557d551a5a09314f03452f1a1 libfoo-data.bin +sha256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b libfoo-data.bin + +# Locally computed: +sha256 ff52101fb90bbfc3fe9475e425688c660f46216d7e751c4bbdb1dc85cdccacb9 libfoo-fix-blabla.patch + +# Hash for license files: +sha256 a45a845012742796534f7e91fe623262ccfb99460a2bd04015bd28d66fba95b8 COPYING +sha256 01b1f9f2c8ee648a7a596a1abe8aa4ed7899b1c9e5551bda06da6e422b04aa55 doc/COPYING.LGPL +---- + +If the +.hash+ file is present, and it contains one or more hashes for a +downloaded file, the hash(es) computed by Buildroot (after download) must +match the hash(es) stored in the +.hash+ file. If one or more hashes do +not match, Buildroot considers this an error, deletes the downloaded file, +and aborts. + +If the +.hash+ file is present, but it does not contain a hash for a +downloaded file, Buildroot considers this an error and aborts. However, +the downloaded file is left in the download directory since this +typically indicates that the +.hash+ file is wrong but the downloaded +file is probably OK. + +Hashes are currently checked for files fetched from http/ftp servers, +Git or subversion repositories, files copied using scp and local files. +Hashes are not checked for other version control systems (such as CVS, +mercurial) because Buildroot currently does not generate reproducible +tarballs when source code is fetched from such version control +systems. + +Additionally, for packages for which it is possible to specify a custom +version (e.g. a custom version string, a remote tarball URL, or a VCS +repository location and changeset), Buildroot can't carry hashes for +those. It is however possible to xref:customize-hashes[provide a list of +extra hashes] that can cover such cases. + +Hashes should only be added in +.hash+ files for files that are +guaranteed to be stable. For example, patches auto-generated by Github +are not guaranteed to be stable, and therefore their hashes can change +over time. Such patches should not be downloaded, and instead be added +locally to the package folder. + +If the +.hash+ file is missing, then no check is done at all. + +[[adding-packages-start-script]] +=== The +SNNfoo+ start script + +Packages that provide a system daemon usually need to be started somehow +at boot. Buildroot comes with support for several init systems, some +are considered tier one (see xref:init-system[]), while others are also +available but do not have the same level of integration. Ideally, all +packages providing a system daemon should provide a start script for +BusyBox/SysV init and a systemd unit file. + +For consistency, the start script must follow the style and composition +as shown in the reference: +package/busybox/S01syslogd+. An annotated +example of this style is shown below. There is no specific coding style +for systemd unit files, but if a package comes with its own unit file, +that is preferred over a buildroot specific one, if it is compatible +with buildroot. + +The name of the start script is composed of the +SNN+ and the daemon +name. The +NN+ is the start order number which needs to be carefully +chosen. For example, a program that requires networking to be up should +not start before +S40network+. The scripts are started in alphabetical +order, so +S01syslogd+ starts before +S01watchdogd+, and +S02sysctl+ +starts thereafter. + +[source,sh] +---- +include::S01syslogd[] +---- + +Scripts should use long form options where possible for clarity. + +==== Start script configuration + +Both start scripts and unit files can source command line arguments +from +/etc/default/foo+, where +foo+ is the daemon name as set in the ++DAEMON+ variable. In general, if such a file does not exist it should +not block the start of the daemon, unless there is some site specific +command line argument the daemon requires to start. For start scripts ++FOO_ARGS="-s -o -m -e -args"+ can be defined to a default value in +the script, and the user can override this from +/etc/default/foo+. + +==== Handling the PID file + +A PID file is needed to keep track of what the main process of a +service is. How to handle it depends on whether the service creates +its own PID file, and if it deletes it on shutdown. + +* If your service doesn't create its own PID file, invoke the daemon + in foreground mode, and use +start-stop-daemon --make-pidfile + --background+ to let +start-stop-daemon+ create the PID file. See + +S01syslogd+ for example: ++ +[source,sh] +---- +start-stop-daemon --start --background --make-pidfile \ + --pidfile "$PIDFILE" --exec "/sbin/$DAEMON" \ + -- -n $SYSLOGD_ARGS +---- + +* If your service creates its own PID file, pass the +--pidfile+ + option to both +start-stop-daemon+ *and the daemon itself* (or set + it appropriately in a configuration file, depending on what the + daemon supports) so they agree on where the PID file is. See + +S45NetworkManager+ for example: ++ +[source,sh] +---- +start-stop-daemon --start --pidfile "$PIDFILE" \ + --exec "/usr/sbin/$DAEMON" \ + -- --pid-file="$PIDFILE" $NETWORKMANAGER_ARGS +---- + +* If your service removes its PID file on shutdown, use a loop testing + that the PID file has disappeared on stop, see +S45NetworkManager+ + for example: ++ +[source,sh] +---- +while [ -f "$PIDFILE" ]; do + sleep 0.1 +done +---- + +* If your service doesn't remove its PID file on shutdown, use a loop + with +start-stop-daemon+ checking if the service is still running, + and delete the PID file after the process is gone. See +S01syslogd+ + for example: ++ +[source,sh] +---- +while start-stop-daemon --stop --test --quiet --pidfile "$PIDFILE" \ + --exec "/sbin/$DAEMON"; do + sleep 0.1 +done +rm -f "$PIDFILE" +---- ++ +Note the +--test+ flag, which tells +start-stop-daemon+ to not +actually stop the service, but test if it would be possible to, which +fails if the service is not running. + +==== Stopping the service + +The stop function should check that the daemon process is actually +gone before returning, otherwise restart might fail because the new +instance is started before the old one has actually stopped. How to do +that depends on how the PID file for the service is handled (see +above). It is recommended to always append +--exec "/sbin/$DAEMON"+ to +all +start-stop-daemon+ commands to ensure signals are sent to a PID +that matches +$DAEMON+. + +==== Reloading service configuration + +Programs that support reloading their configuration in some fashion +(e.g. +SIGHUP+) should provide a +reload()+ function similar to ++stop()+. The +start-stop-daemon+ command supports +--stop --signal +HUP+ for this. When sending signals this way, whether SIGHUP or +others, make sure to use the symbolic names and not signal +numbers. Signal numbers can vary between CPU architectures, and names +are also easier to read. + +==== Return codes + +The action functions of the start script should return a success (or +failure) code, usually the return code of the relevant +start-stop-daemon action. The last one of those should be the return +code of the start script as a whole, to allow automatically checking +for success, e.g. when calling the start script from other +scripts. Note that without an explicit +return+ the return code of the +last command in a script or function becomes its return code, so an +explicit return is not always necessary. + +==== Logging + +When a service forks to the background, or +start-stop-daemon +--background+ does that, stdout and stderr are generally closed, and +anything log messages the service may write there get lost. If +possible, configure your service to log to syslog (preferably), or a +dedicated log file. diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.txt deleted file mode 100644 index 809cc973896..00000000000 --- a/docs/manual/adding-packages-directory.txt +++ /dev/null @@ -1,546 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Package directory - -First of all, create a directory under the +package+ directory for -your software, for example +libfoo+. - -Some packages have been grouped by topic in a sub-directory: -+x11r7+, +qt5+ and +gstreamer+. If your package fits in -one of these categories, then create your package directory in these. -New subdirectories are discouraged, however. - -=== Config files - -For the package to be displayed in the configuration tool, you need to -create a Config file in your package directory. There are two types: -+Config.in+ and +Config.in.host+. - -==== +Config.in+ file - -For packages used on the target, create a file named +Config.in+. This -file will contain the option descriptions related to our +libfoo+ software -that will be used and displayed in the configuration tool. It should basically -contain: - ---------------------------- -config BR2_PACKAGE_LIBFOO - bool "libfoo" - help - This is a comment that explains what libfoo is. The help text - should be wrapped. - - http://foosoftware.org/libfoo/ ---------------------------- - -The +bool+ line, +help+ line and other metadata information about the -configuration option must be indented with one tab. The help text -itself should be indented with one tab and two spaces, lines should -be wrapped to fit 72 columns, where tab counts for 8, so 62 characters -in the text itself. The help text must mention the upstream URL of the -project after an empty line. - -As a convention specific to Buildroot, the ordering of the attributes -is as follows: - -1. The type of option: +bool+, +string+... with the prompt -2. If needed, the +default+ value(s) -3. Any dependency of the +depends on+ form -4. Any dependency of the +select+ form -5. The help keyword and help text. - -You can add other sub-options into a +if BR2_PACKAGE_LIBFOO...endif+ -statement to configure particular things in your software. You can look at -examples in other packages. The syntax of the +Config.in+ file is the same -as the one for the kernel Kconfig file. The documentation for this syntax is -available at http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt[] - -Finally you have to add your new +libfoo/Config.in+ to -+package/Config.in+ (or in a category subdirectory if you decided to -put your package in one of the existing categories). The files -included there are 'sorted alphabetically' per category and are 'NOT' -supposed to contain anything but the 'bare' name of the package. - --------------------------- -source "package/libfoo/Config.in" --------------------------- - - -==== +Config.in.host+ file - -Some packages also need to be built for the host system. There are two -options here: - -* The host package is only required to satisfy build-time - dependencies of one or more target packages. In this case, add - +host-foo+ to the target package's +BAR_DEPENDENCIES+ variable. No - +Config.in.host+ file should be created. - -* The host package should be explicitly selectable by the user from - the configuration menu. In this case, create a +Config.in.host+ file - for that host package: -+ ---------------------------- -config BR2_PACKAGE_HOST_FOO - bool "host foo" - help - This is a comment that explains what foo for the host is. - - http://foosoftware.org/foo/ ---------------------------- -+ -The same coding style and options as for the +Config.in+ file are valid. -+ -Finally you have to add your new +libfoo/Config.in.host+ to -+package/Config.in.host+. The files included there are 'sorted alphabetically' -and are 'NOT' supposed to contain anything but the 'bare' name of the package. -+ --------------------------- -source "package/foo/Config.in.host" --------------------------- -+ -The host package will then be available from the +Host utilities+ menu. - -[[depends-on-vs-select]] -==== Choosing +depends on+ or +select+ - -The +Config.in+ file of your package must also ensure that -dependencies are enabled. Typically, Buildroot uses the following -rules: - -* Use a +select+ type of dependency for dependencies on - libraries. These dependencies are generally not obvious and it - therefore make sense to have the kconfig system ensure that the - dependencies are selected. For example, the _libgtk2_ package uses - +select BR2_PACKAGE_LIBGLIB2+ to make sure this library is also - enabled. - The +select+ keyword expresses the dependency with a backward - semantic. - -* Use a +depends on+ type of dependency when the user really needs to - be aware of the dependency. Typically, Buildroot uses this type of - dependency for dependencies on target architecture, MMU support and - toolchain options (see xref:dependencies-target-toolchain-options[]), - or for dependencies on "big" things, such as the X.org system. - The +depends on+ keyword expresses the dependency with a forward - semantic. - -.Note -The current problem with the _kconfig_ language is that these two -dependency semantics are not internally linked. Therefore, it may be -possible to select a package, whom one of its dependencies/requirement -is not met. - -An example illustrates both the usage of +select+ and +depends on+. - --------------------------- -config BR2_PACKAGE_RRDTOOL - bool "rrdtool" - depends on BR2_USE_WCHAR - select BR2_PACKAGE_FREETYPE - select BR2_PACKAGE_LIBART - select BR2_PACKAGE_LIBPNG - select BR2_PACKAGE_ZLIB - help - RRDtool is the OpenSource industry standard, high performance - data logging and graphing system for time series data. - - http://oss.oetiker.ch/rrdtool/ - -comment "rrdtool needs a toolchain w/ wchar" - depends on !BR2_USE_WCHAR --------------------------- - - -Note that these two dependency types are only transitive with the -dependencies of the same kind. - -This means, in the following example: - --------------------------- -config BR2_PACKAGE_A - bool "Package A" - -config BR2_PACKAGE_B - bool "Package B" - depends on BR2_PACKAGE_A - -config BR2_PACKAGE_C - bool "Package C" - depends on BR2_PACKAGE_B - -config BR2_PACKAGE_D - bool "Package D" - select BR2_PACKAGE_B - -config BR2_PACKAGE_E - bool "Package E" - select BR2_PACKAGE_D --------------------------- - -* Selecting +Package C+ will be visible if +Package B+ has been - selected, which in turn is only visible if +Package A+ has been - selected. - -* Selecting +Package E+ will select +Package D+, which will select - +Package B+, it will not check for the dependencies of +Package B+, - so it will not select +Package A+. - -* Since +Package B+ is selected but +Package A+ is not, this violates - the dependency of +Package B+ on +Package A+. Therefore, in such a - situation, the transitive dependency has to be added explicitly: - --------------------------- -config BR2_PACKAGE_D - bool "Package D" - select BR2_PACKAGE_B - depends on BR2_PACKAGE_A - -config BR2_PACKAGE_E - bool "Package E" - select BR2_PACKAGE_D - depends on BR2_PACKAGE_A --------------------------- - -Overall, for package library dependencies, +select+ should be -preferred. - -Note that such dependencies will ensure that the dependency option -is also enabled, but not necessarily built before your package. To do -so, the dependency also needs to be expressed in the +.mk+ file of the -package. - -Further formatting details: see xref:writing-rules-config-in[the -coding style]. - -[[dependencies-target-toolchain-options]] -==== Dependencies on target and toolchain options - -Many packages depend on certain options of the toolchain: the choice of -C library, C++ support, thread support, RPC support, wchar support, -or dynamic library support. Some packages can only be built on certain -target architectures, or if an MMU is available in the processor. - -These dependencies have to be expressed with the appropriate 'depends -on' statements in the Config.in file. Additionally, for dependencies on -toolchain options, a +comment+ should be displayed when the option is -not enabled, so that the user knows why the package is not available. -Dependencies on target architecture or MMU support should not be -made visible in a comment: since it is unlikely that the user can -freely choose another target, it makes little sense to show these -dependencies explicitly. - -The +comment+ should only be visible if the +config+ option itself would -be visible when the toolchain option dependencies are met. This means -that all other dependencies of the package (including dependencies on -target architecture and MMU support) have to be repeated on the -+comment+ definition. To keep it clear, the +depends on+ statement for -these non-toolchain option should be kept separate from the +depends on+ -statement for the toolchain options. -If there is a dependency on a config option in that same file (typically -the main package) it is preferable to have a global +if ... endif+ -construct rather than repeating the +depends on+ statement on the -comment and other config options. - -The general format of a dependency +comment+ for package foo is: - --------------------------- -foo needs a toolchain w/ featA, featB, featC --------------------------- - -for example: - --------------------------- -mpd needs a toolchain w/ C++, threads, wchar --------------------------- - -or - --------------------------- -crda needs a toolchain w/ threads --------------------------- - -Note that this text is kept brief on purpose, so that it will fit on a -80-character terminal. - -The rest of this section enumerates the different target and toolchain -options, the corresponding config symbols to depend on, and the text to -use in the comment. - -* Target architecture -** Dependency symbol: +BR2_powerpc+, +BR2_mips+, ... (see +arch/Config.in+) -** Comment string: no comment to be added - -* MMU support -** Dependency symbol: +BR2_USE_MMU+ -** Comment string: no comment to be added - -* Gcc +__sync_*+ built-ins used for atomic operations. They are - available in variants operating on 1 byte, 2 bytes, 4 bytes and 8 - bytes. Since different architectures support atomic operations on - different sizes, one dependency symbol is available for each size: -** Dependency symbol: +BR2_TOOLCHAIN_HAS_SYNC_1+ for 1 byte, - +BR2_TOOLCHAIN_HAS_SYNC_2+ for 2 bytes, - +BR2_TOOLCHAIN_HAS_SYNC_4+ for 4 bytes, +BR2_TOOLCHAIN_HAS_SYNC_8+ - for 8 bytes. -** Comment string: no comment to be added - -* Gcc +__atomic_*+ built-ins used for atomic operations. -** Dependency symbol: +BR2_TOOLCHAIN_HAS_ATOMIC+. -** Comment string: no comment to be added - -* Kernel headers -** Dependency symbol: +BR2_TOOLCHAIN_HEADERS_AT_LEAST_X_Y+, (replace - +X_Y+ with the proper version, see +toolchain/toolchain-common.in+) -** Comment string: +headers >= X.Y+ and/or `headers <= X.Y` (replace - +X.Y+ with the proper version) - -* GCC version -** Dependency symbol: +BR2_TOOLCHAIN_GCC_AT_LEAST_X_Y+, (replace - +X_Y+ with the proper version, see +toolchain/toolchain-common.in+) -** Comment string: +gcc >= X.Y+ and/or `gcc <= X.Y` (replace - +X.Y+ with the proper version) - -* Host GCC version -** Dependency symbol: +BR2_HOST_GCC_AT_LEAST_X_Y+, (replace - +X_Y+ with the proper version, see +Config.in+) -** Comment string: no comment to be added -** Note that it is usually not the package itself that has a minimum - host GCC version, but rather a host-package on which it depends. - -* C library -** Dependency symbol: +BR2_TOOLCHAIN_USES_GLIBC+, - +BR2_TOOLCHAIN_USES_MUSL+, +BR2_TOOLCHAIN_USES_UCLIBC+ -** Comment string: for the C library, a slightly different comment text - is used: +foo needs a glibc toolchain+, or `foo needs a glibc - toolchain w/ C++` - -* C++ support -** Dependency symbol: +BR2_INSTALL_LIBSTDCPP+ -** Comment string: `C++` - -* Fortran support -** Dependency symbol: +BR2_TOOLCHAIN_HAS_FORTRAN+ -** Comment string: `fortran` - -* thread support -** Dependency symbol: +BR2_TOOLCHAIN_HAS_THREADS+ -** Comment string: +threads+ (unless +BR2_TOOLCHAIN_HAS_THREADS_NPTL+ - is also needed, in which case, specifying only +NPTL+ is sufficient) - -* NPTL thread support -** Dependency symbol: +BR2_TOOLCHAIN_HAS_THREADS_NPTL+ -** Comment string: +NPTL+ - -* RPC support -** Dependency symbol: +BR2_TOOLCHAIN_HAS_NATIVE_RPC+ -** Comment string: +RPC+ - -* wchar support -** Dependency symbol: +BR2_USE_WCHAR+ -** Comment string: +wchar+ - -* dynamic library -** Dependency symbol: +!BR2_STATIC_LIBS+ -** Comment string: +dynamic library+ - -==== Dependencies on a Linux kernel built by buildroot - -Some packages need a Linux kernel to be built by buildroot. These are -typically kernel modules or firmware. A comment should be added in the -Config.in file to express this dependency, similar to dependencies on -toolchain options. The general format is: - --------------------------- -foo needs a Linux kernel to be built --------------------------- - -If there is a dependency on both toolchain options and the Linux -kernel, use this format: - --------------------------- -foo needs a toolchain w/ featA, featB, featC and a Linux kernel to be built --------------------------- - -==== Dependencies on udev /dev management - -If a package needs udev /dev management, it should depend on symbol -+BR2_PACKAGE_HAS_UDEV+, and the following comment should be added: - --------------------------- -foo needs udev /dev management --------------------------- - -If there is a dependency on both toolchain options and udev /dev -management, use this format: - --------------------------- -foo needs udev /dev management and a toolchain w/ featA, featB, featC --------------------------- - -==== Dependencies on features provided by virtual packages - -Some features can be provided by more than one package, such as the -openGL libraries. - -See xref:virtual-package-tutorial[] for more on the virtual packages. - -=== The +.mk+ file - -[[adding-packages-mk]] - -Finally, here's the hardest part. Create a file named +libfoo.mk+. It -describes how the package should be downloaded, configured, built, -installed, etc. - -Depending on the package type, the +.mk+ file must be written in a -different way, using different infrastructures: - -* *Makefiles for generic packages* (not using autotools or CMake): - These are based on an infrastructure similar to the one used for - autotools-based packages, but require a little more work from the - developer. They specify what should be done for the configuration, - compilation and installation of the package. This - infrastructure must be used for all packages that do not use the - autotools as their build system. In the future, other specialized - infrastructures might be written for other build systems. We cover - them through in a xref:generic-package-tutorial[tutorial] and a - xref:generic-package-reference[reference]. - -* *Makefiles for autotools-based software* (autoconf, automake, etc.): - We provide a dedicated infrastructure for such packages, since - autotools is a very common build system. This infrastructure 'must' - be used for new packages that rely on the autotools as their build - system. We cover them through a xref:autotools-package-tutorial[tutorial] - and xref:autotools-package-reference[reference]. - -* *Makefiles for cmake-based software*: We provide a dedicated - infrastructure for such packages, as CMake is a more and more - commonly used build system and has a standardized behaviour. This - infrastructure 'must' be used for new packages that rely on - CMake. We cover them through a xref:cmake-package-tutorial[tutorial] - and xref:cmake-package-reference[reference]. - -* *Makefiles for Python modules*: We have a dedicated infrastructure - for Python modules that use either the +distutils+ or the - +setuptools+ mechanism. We cover them through a - xref:python-package-tutorial[tutorial] and a - xref:python-package-reference[reference]. - -* *Makefiles for Lua modules*: We have a dedicated infrastructure for - Lua modules available through the LuaRocks web site. We cover them - through a xref:luarocks-package-tutorial[tutorial] and a - xref:luarocks-package-reference[reference]. - -Further formatting details: see xref:writing-rules-mk[the writing -rules]. - -[[adding-packages-hash]] -=== The +.hash+ file - -When possible, you must add a third file, named +libfoo.hash+, that -contains the hashes of the downloaded files for the +libfoo+ -package. The only reason for not adding a +.hash+ file is when hash -checking is not possible due to how the package is downloaded. - -The hashes stored in that file are used to validate the integrity of the -downloaded files and of the license files. - -The format of this file is one line for each file for which to check the -hash, each line being space-separated, with these three fields: - -* the type of hash, one of: -** +md5+, +sha1+, +sha224+, +sha256+, +sha384+, +sha512+, +none+ -* the hash of the file: -** for +none+, one or more non-space chars, usually just the string +xxx+ -** for +md5+, 32 hexadecimal characters -** for +sha1+, 40 hexadecimal characters -** for +sha224+, 56 hexadecimal characters -** for +sha256+, 64 hexadecimal characters -** for +sha384+, 96 hexadecimal characters -** for +sha512+, 128 hexadecimal characters -* the name of the file: -** for a source archive: the basename of the file, without any directory - component, -** for a license file: the path as it appears in +FOO_LICENSE_FILES+. - -Lines starting with a +#+ sign are considered comments, and ignored. Empty -lines are ignored. - -There can be more than one hash for a single file, each on its own line. In -this case, all hashes must match. - -.Note -Ideally, the hashes stored in this file should match the hashes published by -upstream, e.g. on their website, in the e-mail announcement... If upstream -provides more than one type of hash (e.g. +sha1+ and +sha512+), then it is -best to add all those hashes in the +.hash+ file. If upstream does not -provide any hash, or only provides an +md5+ hash, then compute at least one -strong hash yourself (preferably +sha256+, but not +md5+), and mention -this in a comment line above the hashes. - -.Note -The hashes for license files are used to detect a license change when a -package version is bumped. For a package with multiple versions (like Qt5), -create the hash file in a subdirectory ++ of that package -(see also xref:patch-apply-order[]). - -.Note -The number of spaces does not matter, so one can use spaces (or tabs) to -properly align the different fields. - -The +none+ hash type is reserved to those archives downloaded from a -repository, like a 'git clone', a 'subversion checkout'... - -The example below defines a +sha1+ and a +sha256+ published by upstream for -the main +libfoo-1.2.3.tar.bz2+ tarball, an +md5+ from upstream and a -locally-computed +sha256+ hashes for a binary blob, a +sha256+ for a -downloaded patch, and an archive with no hash: - ----- -# Hashes from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.{sha1,sha256}: -sha1 486fb55c3efa71148fe07895fd713ea3a5ae343a libfoo-1.2.3.tar.bz2 -sha256 efc8103cc3bcb06bda6a781532d12701eb081ad83e8f90004b39ab81b65d4369 libfoo-1.2.3.tar.bz2 - -# md5 from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.md5, sha256 locally computed: -md5 2d608f3c318c6b7557d551a5a09314f03452f1a1 libfoo-data.bin -sha256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b libfoo-data.bin - -# Locally computed: -sha256 ff52101fb90bbfc3fe9475e425688c660f46216d7e751c4bbdb1dc85cdccacb9 libfoo-fix-blabla.patch - -# No hash for 1234: -none xxx libfoo-1234.tar.gz - -# Hash for license files: -sha256 a45a845012742796534f7e91fe623262ccfb99460a2bd04015bd28d66fba95b8 COPYING -sha256 01b1f9f2c8ee648a7a596a1abe8aa4ed7899b1c9e5551bda06da6e422b04aa55 doc/COPYING.LGPL ----- - -If the +.hash+ file is present, and it contains one or more hashes for a -downloaded file, the hash(es) computed by Buildroot (after download) must -match the hash(es) stored in the +.hash+ file. If one or more hashes do -not match, Buildroot considers this an error, deletes the downloaded file, -and aborts. - -If the +.hash+ file is present, but it does not contain a hash for a -downloaded file, Buildroot considers this an error and aborts. However, -the downloaded file is left in the download directory since this -typically indicates that the +.hash+ file is wrong but the downloaded -file is probably OK. - -Hashes are currently checked for files fetched from http/ftp servers, -Git repositories, files copied using scp and local files. Hashes are -not checked for other version control systems (such as Subversion, -CVS, etc.) because Buildroot currently does not generate reproducible -tarballs when source code is fetched from such version control -systems. - -Hashes should only be added in +.hash+ files for files that are -guaranteed to be stable. For example, patches auto-generated by Github -are not guaranteed to be stable, and therefore their hashes can change -over time. Such patches should not be downloaded, and instead be added -locally to the package folder. - -If the +.hash+ file is missing, then no check is done at all. diff --git a/docs/manual/adding-packages-generic.adoc b/docs/manual/adding-packages-generic.adoc new file mode 100644 index 00000000000..e7547460fd5 --- /dev/null +++ b/docs/manual/adding-packages-generic.adoc @@ -0,0 +1,687 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for packages with specific build systems + +By 'packages with specific build systems' we mean all the packages +whose build system is not one of the standard ones, such as +'autotools' or 'CMake'. This typically includes packages whose build +system is based on hand-written Makefiles or shell scripts. + +[[generic-package-tutorial]] + +==== +generic-package+ tutorial + +---- +01: ################################################################################ +02: # +03: # libfoo +04: # +05: ################################################################################ +06: +07: LIBFOO_VERSION = 1.0 +08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +09: LIBFOO_SITE = http://www.foosoftware.org/download +10: LIBFOO_LICENSE = GPL-3.0+ +11: LIBFOO_LICENSE_FILES = COPYING +12: LIBFOO_INSTALL_STAGING = YES +13: LIBFOO_CONFIG_SCRIPTS = libfoo-config +14: LIBFOO_DEPENDENCIES = host-libaaa libbbb +15: +16: define LIBFOO_BUILD_CMDS +17: $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all +18: endef +19: +20: define LIBFOO_INSTALL_STAGING_CMDS +21: $(INSTALL) -D -m 0755 $(@D)/libfoo.a $(STAGING_DIR)/usr/lib/libfoo.a +22: $(INSTALL) -D -m 0644 $(@D)/foo.h $(STAGING_DIR)/usr/include/foo.h +23: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(STAGING_DIR)/usr/lib +24: endef +25: +26: define LIBFOO_INSTALL_TARGET_CMDS +27: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(TARGET_DIR)/usr/lib +28: $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/foo.d +29: endef +30: +31: define LIBFOO_USERS +32: foo -1 libfoo -1 * - - - LibFoo daemon +33: endef +34: +35: define LIBFOO_DEVICES +36: /dev/foo c 666 0 0 42 0 - - - +37: endef +38: +39: define LIBFOO_PERMISSIONS +40: /bin/foo f 4755 foo libfoo - - - - - +41: endef +42: +43: $(eval $(generic-package)) +---- + +The Makefile begins on line 7 to 11 with metadata information: the +version of the package (+LIBFOO_VERSION+), the name of the +tarball containing the package (+LIBFOO_SOURCE+) (xz-ed tarball recommended) +the Internet location at which the tarball can be downloaded from +(+LIBFOO_SITE+), the license (+LIBFOO_LICENSE+) and file with the +license text (+LIBFOO_LICENSE_FILES+). All variables must start with +the same prefix, +LIBFOO_+ in this case. This prefix is always the +uppercased version of the package name (see below to understand where +the package name is defined). + +On line 12, we specify that this package wants to install something to +the staging space. This is often needed for libraries, since they must +install header files and other development files in the staging space. +This will ensure that the commands listed in the ++LIBFOO_INSTALL_STAGING_CMDS+ variable will be executed. + +On line 13, we specify that there is some fixing to be done to some +of the 'libfoo-config' files that were installed during ++LIBFOO_INSTALL_STAGING_CMDS+ phase. +These *-config files are executable shell script files that are +located in '$(STAGING_DIR)/usr/bin' directory and are executed +by other 3rd party packages to find out the location and the linking +flags of this particular package. + +The problem is that all these *-config files by default give wrong, +host system linking flags that are unsuitable for cross-compiling. + +For example: '-I/usr/include' instead of '-I$(STAGING_DIR)/usr/include' +or: '-L/usr/lib' instead of '-L$(STAGING_DIR)/usr/lib' + +So some sed magic is done to these scripts to make them give correct +flags. +The argument to be given to +LIBFOO_CONFIG_SCRIPTS+ is the file name(s) +of the shell script(s) needing fixing. All these names are relative to +'$(STAGING_DIR)/usr/bin' and if needed multiple names can be given. + +In addition, the scripts listed in +LIBFOO_CONFIG_SCRIPTS+ are removed +from +$(TARGET_DIR)/usr/bin+, since they are not needed on the target. + +.Config script: 'divine' package +================================ +Package divine installs shell script '$(STAGING_DIR)/usr/bin/divine-config'. + +So its fixup would be: + +---- +DIVINE_CONFIG_SCRIPTS = divine-config +---- +================================ + +.Config script: 'imagemagick' package: +================================ +Package imagemagick installs the following scripts: +'$(STAGING_DIR)/usr/bin/{Magick,Magick++,MagickCore,MagickWand,Wand}-config' + +So it's fixup would be: + +---- +IMAGEMAGICK_CONFIG_SCRIPTS = \ + Magick-config Magick++-config \ + MagickCore-config MagickWand-config Wand-config +---- +================================ + +On line 14, we specify the list of dependencies this package relies +on. These dependencies are listed in terms of lower-case package names, +which can be packages for the target (without the +host-+ +prefix) or packages for the host (with the +host-+) prefix). +Buildroot will ensure that all these packages are built and installed +'before' the current package starts its configuration. + +The rest of the Makefile, lines 16..29, defines what should be done +at the different steps of the package configuration, compilation and +installation. ++LIBFOO_BUILD_CMDS+ tells what steps should be performed to +build the package. +LIBFOO_INSTALL_STAGING_CMDS+ tells what +steps should be performed to install the package in the staging space. ++LIBFOO_INSTALL_TARGET_CMDS+ tells what steps should be +performed to install the package in the target space. + +All these steps rely on the +$(@D)+ variable, which +contains the directory where the source code of the package has been +extracted. + +On lines 31..33, we define a user that is used by this package (e.g. +to run a daemon as non-root) (+LIBFOO_USERS+). + +On line 35..37, we define a device-node file used by this package +(+LIBFOO_DEVICES+). + +On line 39..41, we define the permissions to set to specific files +installed by this package (+LIBFOO_PERMISSIONS+). + +Finally, on line 43, we call the +generic-package+ function, which +generates, according to the variables defined previously, all the +Makefile code necessary to make your package working. + +[[generic-package-reference]] + +==== +generic-package+ reference + +There are two variants of the generic target. The +generic-package+ macro is +used for packages to be cross-compiled for the target. The ++host-generic-package+ macro is used for host packages, natively compiled +for the host. It is possible to call both of them in a single +.mk+ +file: once to create the rules to generate a target +package and once to create the rules to generate a host package: + +---- +$(eval $(generic-package)) +$(eval $(host-generic-package)) +---- + +This might be useful if the compilation of the target package requires +some tools to be installed on the host. If the package name is ++libfoo+, then the name of the package for the target is also ++libfoo+, while the name of the package for the host is ++host-libfoo+. These names should be used in the DEPENDENCIES +variables of other packages, if they depend on +libfoo+ or ++host-libfoo+. + +The call to the +generic-package+ and/or +host-generic-package+ macro +*must* be at the end of the +.mk+ file, after all variable definitions. +The call to +host-generic-package+ *must* be after the call to ++generic-package+, if any. + +For the target package, the +generic-package+ uses the variables defined by +the .mk file and prefixed by the uppercased package name: ++LIBFOO_*+. +host-generic-package+ uses the +HOST_LIBFOO_*+ variables. For +'some' variables, if the +HOST_LIBFOO_+ prefixed variable doesn't +exist, the package infrastructure uses the corresponding variable +prefixed by +LIBFOO_+. This is done for variables that are likely to +have the same value for both the target and host packages. See below +for details. + +The list of variables that can be set in a +.mk+ file to give metadata +information is (assuming the package name is +libfoo+) : + +* +LIBFOO_VERSION+, mandatory, must contain the version of the + package. Note that if +HOST_LIBFOO_VERSION+ doesn't exist, it is + assumed to be the same as +LIBFOO_VERSION+. It can also be a + revision number or a tag for packages that are fetched directly + from their version control system. Examples: + ** a version for a release tarball: +LIBFOO_VERSION = 0.1.2+ + ** a sha1 for a git tree: +LIBFOO_VERSION = cb9d6aa9429e838f0e54faa3d455bcbab5eef057+ + ** a tag for a git tree +LIBFOO_VERSION = v0.1.2+ ++ +.Note: +Using a branch name as +FOO_VERSION+ is not supported, because it does +not and can not work as people would expect it should: ++ + 1. due to local caching, Buildroot will not re-fetch the repository, + so people who expect to be able to follow the remote repository + would be quite surprised and disappointed; + 2. because two builds can never be perfectly simultaneous, and because + the remote repository may get new commits on the branch anytime, + two users, using the same Buildroot tree and building the same + configuration, may get different source, thus rendering the build + non reproducible, and people would be quite surprised and + disappointed. + +* +LIBFOO_SOURCE+ may contain the name of the tarball of the package, + which Buildroot will use to download the tarball from + +LIBFOO_SITE+. If +HOST_LIBFOO_SOURCE+ is not specified, it defaults + to +LIBFOO_SOURCE+. If none are specified, then the value is assumed + to be +libfoo-$(LIBFOO_VERSION).tar.gz+. + + Example: +LIBFOO_SOURCE = foobar-$(LIBFOO_VERSION).tar.bz2+ + +* +LIBFOO_PATCH+ may contain a space-separated list of patch file + names, that Buildroot will download and apply to the package source + code. If an entry contains +://+, then Buildroot will assume it is a + full URL and download the patch from this location. Otherwise, + Buildroot will assume that the patch should be downloaded from + +LIBFOO_SITE+. If +HOST_LIBFOO_PATCH+ is not specified, it defaults + to +LIBFOO_PATCH+. Note that patches that are included in Buildroot + itself use a different mechanism: all files of the form + +*.patch+ present in the package directory inside + Buildroot will be applied to the package after extraction (see + xref:patch-policy[patching a package]). Finally, patches listed in + the +LIBFOO_PATCH+ variable are applied _before_ the patches stored + in the Buildroot package directory. + +* +LIBFOO_SITE+ provides the location of the package, which can be a + URL or a local filesystem path. HTTP, FTP and SCP are supported URL + types for retrieving package tarballs. In these cases don't include a + trailing slash: it will be added by Buildroot between the directory + and the filename as appropriate. Git, Subversion, Mercurial, + and Bazaar are supported URL types for retrieving packages directly + from source code management systems. There is a helper function to make + it easier to download source tarballs from GitHub (refer to + xref:github-download-url[] for details). A filesystem path may be used + to specify either a tarball or a directory containing the package + source code. See +LIBFOO_SITE_METHOD+ below for more details on how + retrieval works. + + Note that SCP URLs should be of the form + +scp://[user@]host:filepath+, and that filepath is relative to the + user's home directory, so you may want to prepend the path with a + slash for absolute paths: + +scp://[user@]host:/absolutepath+. The same goes for SFTP URLs. + + If +HOST_LIBFOO_SITE+ is not specified, it defaults to + +LIBFOO_SITE+. + Examples: + + +LIBFOO_SITE=http://www.libfoosoftware.org/libfoo+ + + +LIBFOO_SITE=http://svn.xiph.org/trunk/Tremor+ + + +LIBFOO_SITE=/opt/software/libfoo.tar.gz+ + + +LIBFOO_SITE=$(TOPDIR)/../src/libfoo+ + +* +LIBFOO_DL_OPTS+ is a space-separated list of additional options to + pass to the downloader. Useful for retrieving documents with + server-side checking for user logins and passwords, or to use a proxy. + All download methods valid for +LIBFOO_SITE_METHOD+ are supported; + valid options depend on the download method (consult the man page + for the respective download utilities). For git, +FOO_DL_OPTS+ will + only be passed to `git fetch` and no other git command (esp. not to + `git lfs fetch` or `git submodule update`). + +* +LIBFOO_EXTRA_DOWNLOADS+ is a space-separated list of additional + files that Buildroot should download. If an entry contains +://+ + then Buildroot will assume it is a complete URL and will download + the file using this URL. Otherwise, Buildroot will assume the file + to be downloaded is located at +LIBFOO_SITE+. Buildroot will not do + anything with those additional files, except download them: it will + be up to the package recipe to use them from +$(LIBFOO_DL_DIR)+. + +* +LIBFOO_SITE_METHOD+ determines the method used to fetch or copy the + package source code. In many cases, Buildroot guesses the method + from the contents of +LIBFOO_SITE+ and setting +LIBFOO_SITE_METHOD+ + is unnecessary. When +HOST_LIBFOO_SITE_METHOD+ is not specified, it + defaults to the value of +LIBFOO_SITE_METHOD+. + + The possible values of +LIBFOO_SITE_METHOD+ are: + ** +wget+ for normal FTP/HTTP downloads of tarballs. Used by + default when +LIBFOO_SITE+ begins with +http://+, +https://+ or + +ftp://+. + ** +scp+ for downloads of tarballs over SSH with scp. Used by + default when +LIBFOO_SITE+ begins with +scp://+. + ** +sftp+ for downloads of tarballs over SSH with sftp. Used by + default when +LIBFOO_SITE+ begins with +sftp://+. + ** +svn+ for retrieving source code from a Subversion repository. + Used by default when +LIBFOO_SITE+ begins with +svn://+. When a + +http://+ Subversion repository URL is specified in + +LIBFOO_SITE+, one 'must' specify +LIBFOO_SITE_METHOD=svn+. + Buildroot performs a checkout which is preserved as a tarball in + the download cache; subsequent builds use the tarball instead of + performing another checkout. + ** +cvs+ for retrieving source code from a CVS repository. + Used by default when +LIBFOO_SITE+ begins with +cvs://+. + The downloaded source code is cached as with the +svn+ method. + Anonymous pserver mode is assumed otherwise explicitly defined + on +LIBFOO_SITE+. Both + +LIBFOO_SITE=cvs://libfoo.net:/cvsroot/libfoo+ and + +LIBFOO_SITE=cvs://:ext:libfoo.net:/cvsroot/libfoo+ + are accepted, on the former anonymous pserver access mode is + assumed. + +LIBFOO_SITE+ 'must' contain the source URL as well as the remote + repository directory. The module is the package name. + +LIBFOO_VERSION+ is 'mandatory' and 'must' be a tag, a branch, or + a date (e.g. "2014-10-20", "2014-10-20 13:45", "2014-10-20 + 13:45+01" see "man cvs" for further details). + ** +git+ for retrieving source code from a Git repository. Used by + default when +LIBFOO_SITE+ begins with +git://+. The downloaded + source code is cached as with the +svn+ method. + ** +hg+ for retrieving source code from a Mercurial repository. One + 'must' specify +LIBFOO_SITE_METHOD=hg+ when +LIBFOO_SITE+ + contains a Mercurial repository URL. The downloaded source code + is cached as with the +svn+ method. + ** +bzr+ for retrieving source code from a Bazaar repository. Used + by default when +LIBFOO_SITE+ begins with +bzr://+. The + downloaded source code is cached as with the +svn+ method. + ** +file+ for a local tarball. One should use this when + +LIBFOO_SITE+ specifies a package tarball as a local filename. + Useful for software that isn't available publicly or in version + control. + ** +local+ for a local source code directory. One should use this + when +LIBFOO_SITE+ specifies a local directory path containing + the package source code. Buildroot copies the contents of the + source directory into the package's build directory. Note that + for +local+ packages, no patches are applied. If you need to + still patch the source code, use +LIBFOO_POST_RSYNC_HOOKS+, see + xref:hooks-rsync[]. + ** +smb+ for retrieving source code from a SMB share. Used by + default when +LIBFOO_SITE+ begins with +smb://+. It uses +curl+ + as download backend. Syntax expected: + +LIBFOO_SITE=smb:////+. This method might + require to define -u option in +LIBFOO_DL_OPTS+. For more + information, please refer to the + https://curl.se/docs/tutorial.html[curl documentation]. + +* +LIBFOO_GIT_SUBMODULES+ can be set to +YES+ to create an archive + with the git submodules in the repository. This is only available + for packages downloaded with git (i.e. when + +LIBFOO_SITE_METHOD=git+). Note that we try not to use such git + submodules when they contain bundled libraries, in which case we + prefer to use those libraries from their own package. + +* +LIBFOO_GIT_LFS+ should be set to +YES+ if the Git repository uses + Git LFS to store large files out of band. This is only available for + packages downloaded with git (i.e. when +LIBFOO_SITE_METHOD=git+). + +* +LIBFOO_SVN_EXTERNALS+ can be set to +YES+ to create an archive with + the svn external references. This is only available for packages + downloaded with subversion. + +* +LIBFOO_STRIP_COMPONENTS+ is the number of leading components + (directories) that tar must strip from file names on extraction. + The tarball for most packages has one leading component named + "-", thus Buildroot passes + --strip-components=1 to tar to remove it. + For non-standard packages that don't have this component, or + that have more than one leading component to strip, set this + variable with the value to be passed to tar. Default: 1. + +* +LIBFOO_EXCLUDES+ is a space-separated list of patterns to exclude + when extracting the archive. Each item from that list is passed as + a tar's +--exclude+ option. By default, empty. + +* +LIBFOO_DEPENDENCIES+ lists the dependencies (in terms of package + name) that are required for the current target package to + compile. These dependencies are guaranteed to be compiled and + installed before the configuration of the current package starts. + However, modifications to configuration of these dependencies will + not force a rebuild of the current package. In a similar way, + +HOST_LIBFOO_DEPENDENCIES+ lists the dependencies for the current + host package. + +* +LIBFOO_EXTRACT_DEPENDENCIES+ lists the dependencies (in terms of + package name) that are required for the current target package to be + extracted. These dependencies are guaranteed to be compiled and + installed before the extract step of the current package + starts. This is only used internally by the package infrastructure, + and should typically not be used directly by packages. + +* +LIBFOO_PATCH_DEPENDENCIES+ lists the dependencies (in terms of + package name) that are required for the current package to be + patched. These dependencies are guaranteed to be extracted and + patched (but not necessarily built) before the current package is + patched. In a similar way, +HOST_LIBFOO_PATCH_DEPENDENCIES+ lists + the dependencies for the current host package. + This is seldom used; usually, +LIBFOO_DEPENDENCIES+ is what you + really want to use. + +* +LIBFOO_PROVIDES+ lists all the virtual packages +libfoo+ is an + implementation of. See xref:virtual-package-tutorial[]. + +* +LIBFOO_INSTALL_STAGING+ can be set to +YES+ or +NO+ (default). If + set to +YES+, then the commands in the +LIBFOO_INSTALL_STAGING_CMDS+ + variables are executed to install the package into the staging + directory. + +* +LIBFOO_INSTALL_TARGET+ can be set to +YES+ (default) or +NO+. If + set to +YES+, then the commands in the +LIBFOO_INSTALL_TARGET_CMDS+ + variables are executed to install the package into the target + directory. + +* +LIBFOO_INSTALL_IMAGES+ can be set to +YES+ or +NO+ (default). If + set to +YES+, then the commands in the +LIBFOO_INSTALL_IMAGES_CMDS+ + variable are executed to install the package into the images + directory. + +* +LIBFOO_CONFIG_SCRIPTS+ lists the names of the files in + '$(STAGING_DIR)/usr/bin' that need some special fixing to make them + cross-compiling friendly. Multiple file names separated by space can + be given and all are relative to '$(STAGING_DIR)/usr/bin'. The files + listed in +LIBFOO_CONFIG_SCRIPTS+ are also removed from + +$(TARGET_DIR)/usr/bin+ since they are not needed on the target. + +* +LIBFOO_DEVICES+ lists the device files to be created by Buildroot + when using the static device table. The syntax to use is the + makedevs one. You can find some documentation for this syntax in the + xref:makedev-syntax[]. This variable is optional. + +* +LIBFOO_PERMISSIONS+ lists the changes of permissions to be done at + the end of the build process. The syntax is once again the makedevs one. + You can find some documentation for this syntax in the xref:makedev-syntax[]. + This variable is optional. + +* +LIBFOO_USERS+ lists the users to create for this package, if it installs + a program you want to run as a specific user (e.g. as a daemon, or as a + cron-job). The syntax is similar in spirit to the makedevs one, and is + described in the xref:makeuser-syntax[]. This variable is optional. + +* +LIBFOO_LICENSE+ defines the license (or licenses) under which the package + is released. + This name will appear in the manifest file produced by +make legal-info+. + If the license appears in https://spdx.org/licenses/[the SPDX License List], + use the SPDX short identifier to make the manifest file uniform. + Otherwise, describe the license in a precise and concise way, avoiding + ambiguous names such as +BSD+ which actually name a family of licenses. + This variable is optional. If it is not defined, +unknown+ will appear in + the +license+ field of the manifest file for this package. + + The expected format for this variable must comply with the following rules: + ** If different parts of the package are released under different + licenses, then +comma+ separate licenses (e.g. +`LIBFOO_LICENSE = + GPL-2.0+, LGPL-2.1+`+). If there is clear distinction between which + component is licensed under what license, then annotate the license + with that component, between parenthesis (e.g. +`LIBFOO_LICENSE = + GPL-2.0+ (programs), LGPL-2.1+ (libraries)`+). + ** If some licenses are conditioned on a sub-option being enabled, append + the conditional licenses with a comma (e.g.: `FOO_LICENSE += , GPL-2.0+ + (programs)`); the infrastructure will internally remove the space before + the comma. + ** If the package is dual licensed, then separate licenses with the + +or+ keyword (e.g. +`LIBFOO_LICENSE = AFL-2.1 or GPL-2.0+`+). + +* +LIBFOO_LICENSE_FILES+ is a space-separated list of files in the package + tarball that contain the license(s) under which the package is released. + +make legal-info+ copies all of these files in the +legal-info+ directory. + See xref:legal-info[] for more information. + This variable is optional. If it is not defined, a warning will be produced + to let you know, and +not saved+ will appear in the +license files+ field + of the manifest file for this package. + +* +LIBFOO_ACTUAL_SOURCE_TARBALL+ only applies to packages whose + +LIBFOO_SITE+ / +LIBFOO_SOURCE+ pair points to an archive that does + not actually contain source code, but binary code. This a very + uncommon case, only known to apply to external toolchains which come + already compiled, although theoretically it might apply to other + packages. In such cases a separate tarball is usually available with + the actual source code. Set +LIBFOO_ACTUAL_SOURCE_TARBALL+ to the + name of the actual source code archive and Buildroot will download + it and use it when you run +make legal-info+ to collect + legally-relevant material. Note this file will not be downloaded + during regular builds nor by +make source+. + +* +LIBFOO_ACTUAL_SOURCE_SITE+ provides the location of the actual + source tarball. The default value is +LIBFOO_SITE+, so you don't + need to set this variable if the binary and source archives are + hosted on the same directory. If +LIBFOO_ACTUAL_SOURCE_TARBALL+ is + not set, it doesn't make sense to define + +LIBFOO_ACTUAL_SOURCE_SITE+. + +* +LIBFOO_REDISTRIBUTE+ can be set to +YES+ (default) or +NO+ to indicate if + the package source code is allowed to be redistributed. Set it to +NO+ for + non-opensource packages: Buildroot will not save the source code for this + package when collecting the +legal-info+. + +* +LIBFOO_FLAT_STACKSIZE+ defines the stack size of an application built into + the FLAT binary format. The application stack size on the NOMMU architecture + processors can't be enlarged at run time. The default stack size for the + FLAT binary format is only 4k bytes. If the application consumes more stack, + append the required number here. + +* +LIBFOO_BIN_ARCH_EXCLUDE+ is a space-separated list of paths (relative + to the target directory) to ignore when checking that the package + installs correctly cross-compiled binaries. You seldom need to set this + variable, unless the package installs binary blobs outside the default + locations, `/lib/firmware`, `/usr/lib/firmware`, `/lib/modules`, + `/usr/lib/modules`, and `/usr/share`, which are automatically excluded. + +* +LIBFOO_IGNORE_CVES+ is a space-separated list of CVEs that tells + Buildroot CVE tracking tools which CVEs should be ignored for this + package. This is typically used when the CVE is fixed by a patch in + the package (see xref:additional-patch-documentation[]), or when the CVE for + some reason does not affect the Buildroot package. A Makefile comment must + always precede the addition of a CVE to this variable. Example: ++ +---- +# 0001-fix-cve-2020-12345.patch +LIBFOO_IGNORE_CVES += CVE-2020-12345 +# only when built with libbaz, which Buildroot doesn't support +LIBFOO_IGNORE_CVES += CVE-2020-54321 +---- + +* [[cpe-id]] +LIBFOO_CPE_ID_*+ variables is a set of variables that allows the + package to define its https://nvd.nist.gov/products/cpe[CPE + identifier]. The available variables are: ++ +-- +** +LIBFOO_CPE_ID_VALID+, if set to +YES+, specifies that the default + values for each of the following variables is appropriate, and + generates a valid CPE ID. + +** +LIBFOO_CPE_ID_PREFIX+, specifies the prefix of the CPE identifier, + i.e the first three fields. When not defined, the default value is + +cpe:2.3:a+. + +** +LIBFOO_CPE_ID_VENDOR+, specifies the vendor part of the CPE + identifier. When not defined, the default value is + +_project+. + +** +LIBFOO_CPE_ID_PRODUCT+, specifies the product part of the CPE + identifier. When not defined, the default value is ++. + +** +LIBFOO_CPE_ID_VERSION+, specifies the version part of the CPE + identifier. When not defined the default value is + +$(LIBFOO_VERSION)+. + +** +LIBFOO_CPE_ID_UPDATE+ specifies the _update_ part of the CPE + identifier. When not defined the default value is +*+. +-- ++ +If any of those variables is defined, then the generic package +infrastructure assumes the package provides valid CPE information. In +this case, the generic package infrastructure will define ++LIBFOO_CPE_ID+. ++ +For a host package, if its +LIBFOO_CPE_ID_*+ variables are not +defined, it inherits the value of those variables from the +corresponding target package. + +The recommended way to define these variables is to use the following +syntax: + +---- +LIBFOO_VERSION = 2.32 +---- + +Now, the variables that define what should be performed at the +different steps of the build process. + +* +LIBFOO_EXTRACT_CMDS+ lists the actions to be performed to extract + the package. This is generally not needed as tarballs are + automatically handled by Buildroot. However, if the package uses a + non-standard archive format, such as a ZIP or RAR file, or has a + tarball with a non-standard organization, this variable allows to + override the package infrastructure default behavior. + +* +LIBFOO_CONFIGURE_CMDS+ lists the actions to be performed to + configure the package before its compilation. + +* +LIBFOO_BUILD_CMDS+ lists the actions to be performed to + compile the package. + +* +HOST_LIBFOO_INSTALL_CMDS+ lists the actions to be performed + to install the package, when the package is a host package. The + package must install its files to the directory given by + +$(HOST_DIR)+. All files, including development files such as + headers should be installed, since other packages might be compiled + on top of this package. + +* +LIBFOO_INSTALL_TARGET_CMDS+ lists the actions to be + performed to install the package to the target directory, when the + package is a target package. The package must install its files to + the directory given by +$(TARGET_DIR)+. Only the files required for + 'execution' of the package have to be + installed. Header files, static libraries and documentation will be + removed again when the target filesystem is finalized. + +* +LIBFOO_INSTALL_STAGING_CMDS+ lists the actions to be + performed to install the package to the staging directory, when the + package is a target package. The package must install its files to + the directory given by +$(STAGING_DIR)+. All development files + should be installed, since they might be needed to compile other + packages. + +* +LIBFOO_INSTALL_IMAGES_CMDS+ lists the actions to be performed to + install the package to the images directory, when the package is a + target package. The package must install its files to the directory + given by +$(BINARIES_DIR)+. Only files that are binary images (aka + images) that do not belong in the +TARGET_DIR+ but are necessary + for booting the board should be placed here. For example, a package + should utilize this step if it has binaries which would be similar + to the kernel image, bootloader or root filesystem images. + +* +LIBFOO_INSTALL_INIT_SYSV+, +LIBFOO_INSTALL_INIT_OPENRC+ and + +LIBFOO_INSTALL_INIT_SYSTEMD+ list the actions to install init + scripts either for the systemV-like init systems (busybox, + sysvinit, etc.), openrc or for the systemd units. These commands + will be run only when the relevant init system is installed (i.e. + if systemd is selected as the init system in the configuration, + only +LIBFOO_INSTALL_INIT_SYSTEMD+ will be run). The only exception + is when openrc is chosen as init system and +LIBFOO_INSTALL_INIT_OPENRC+ + has not been set, in such situation +LIBFOO_INSTALL_INIT_SYSV+ will + be called, since openrc supports sysv init scripts. + When systemd is used as the init system, buildroot will automatically enable + all services using the +systemctl preset-all+ command in the final phase of + image building. You can add preset files to prevent a particular unit from + being automatically enabled by buildroot. + +* +LIBFOO_HELP_CMDS+ lists the actions to print the package help, which + is included to the main +make help+ output. These commands can print + anything in any format. + This is seldom used, as packages rarely have custom rules. *Do not use + this variable*, unless you really know that you need to print help. + +* +LIBFOO_LINUX_CONFIG_FIXUPS+ lists the Linux kernel configuration + options that are needed to build and use this package, and without + which the package is fundamentally broken. This shall be a set of + calls to one of the kconfig tweaking option: `KCONFIG_ENABLE_OPT`, + `KCONFIG_DISABLE_OPT`, or `KCONFIG_SET_OPT`. + This is seldom used, as package usually have no strict requirements on + the kernel options. + +* +LIBFOO_BUSYBOX_CONFIG_FIXUPS+ lists the Busybox configuration + options that are needed to use this package especially in some scripts, + or at contrario the useless options. This shall be a set of + calls to one of the kconfig tweaking option: `KCONFIG_ENABLE_OPT`, + `KCONFIG_DISABLE_OPT`, or `KCONFIG_SET_OPT`. + +The preferred way to define these variables is: + +---- +define LIBFOO_CONFIGURE_CMDS + action 1 + action 2 + action 3 +endef +---- + +In the action definitions, you can use the following variables: + +* +$(LIBFOO_PKGDIR)+ contains the path to the directory containing the + +libfoo.mk+ and +Config.in+ files. This variable is useful when it is + necessary to install a file bundled in Buildroot, like a runtime + configuration file, a splashscreen image... + +* +$(@D)+, which contains the directory in which the package source + code has been uncompressed. + +* +$(LIBFOO_DL_DIR)+ contains the path to the directory where all the downloads + made by Buildroot for +libfoo+ are stored in. + +* +$(TARGET_CC)+, +$(TARGET_LD)+, etc. to get the target + cross-compilation utilities + +* +$(TARGET_CROSS)+ to get the cross-compilation toolchain prefix + +* Of course the +$(HOST_DIR)+, +$(STAGING_DIR)+ and +$(TARGET_DIR)+ + variables to install the packages properly. Those variables point to + the global _host_, _staging_ and _target_ directories, unless + _per-package directory_ support is used, in which case they point to + the current package _host_, _staging_ and _target_ directories. In + both cases, it doesn't make any difference from the package point of + view: it should simply use +HOST_DIR+, +STAGING_DIR+ and + +TARGET_DIR+. See xref:top-level-parallel-build[] for more details + about _per-package directory_ support. + +Finally, you can also use hooks. See xref:hooks[] for more information. diff --git a/docs/manual/adding-packages-generic.txt b/docs/manual/adding-packages-generic.txt deleted file mode 100644 index 63ea51bf898..00000000000 --- a/docs/manual/adding-packages-generic.txt +++ /dev/null @@ -1,554 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for packages with specific build systems - -By 'packages with specific build systems' we mean all the packages -whose build system is not one of the standard ones, such as -'autotools' or 'CMake'. This typically includes packages whose build -system is based on hand-written Makefiles or shell scripts. - -[[generic-package-tutorial]] - -==== +generic-package+ tutorial - ------------------------------- -01: ################################################################################ -02: # -03: # libfoo -04: # -05: ################################################################################ -06: -07: LIBFOO_VERSION = 1.0 -08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz -09: LIBFOO_SITE = http://www.foosoftware.org/download -10: LIBFOO_LICENSE = GPL-3.0+ -11: LIBFOO_LICENSE_FILES = COPYING -12: LIBFOO_INSTALL_STAGING = YES -13: LIBFOO_CONFIG_SCRIPTS = libfoo-config -14: LIBFOO_DEPENDENCIES = host-libaaa libbbb -15: -16: define LIBFOO_BUILD_CMDS -17: $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all -18: endef -19: -20: define LIBFOO_INSTALL_STAGING_CMDS -21: $(INSTALL) -D -m 0755 $(@D)/libfoo.a $(STAGING_DIR)/usr/lib/libfoo.a -22: $(INSTALL) -D -m 0644 $(@D)/foo.h $(STAGING_DIR)/usr/include/foo.h -23: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(STAGING_DIR)/usr/lib -24: endef -25: -26: define LIBFOO_INSTALL_TARGET_CMDS -27: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(TARGET_DIR)/usr/lib -28: $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/foo.d -29: endef -30: -31: define LIBFOO_USERS -32: foo -1 libfoo -1 * - - - LibFoo daemon -33: endef -34: -35: define LIBFOO_DEVICES -36: /dev/foo c 666 0 0 42 0 - - - -37: endef -38: -39: define LIBFOO_PERMISSIONS -40: /bin/foo f 4755 foo libfoo - - - - - -41: endef -42: -43: $(eval $(generic-package)) --------------------------------- - -The Makefile begins on line 7 to 11 with metadata information: the -version of the package (+LIBFOO_VERSION+), the name of the -tarball containing the package (+LIBFOO_SOURCE+) (xz-ed tarball recommended) -the Internet location at which the tarball can be downloaded from -(+LIBFOO_SITE+), the license (+LIBFOO_LICENSE+) and file with the -license text (+LIBFOO_LICENSE_FILES+). All variables must start with -the same prefix, +LIBFOO_+ in this case. This prefix is always the -uppercased version of the package name (see below to understand where -the package name is defined). - -On line 12, we specify that this package wants to install something to -the staging space. This is often needed for libraries, since they must -install header files and other development files in the staging space. -This will ensure that the commands listed in the -+LIBFOO_INSTALL_STAGING_CMDS+ variable will be executed. - -On line 13, we specify that there is some fixing to be done to some -of the 'libfoo-config' files that were installed during -+LIBFOO_INSTALL_STAGING_CMDS+ phase. -These *-config files are executable shell script files that are -located in '$(STAGING_DIR)/usr/bin' directory and are executed -by other 3rd party packages to find out the location and the linking -flags of this particular package. - -The problem is that all these *-config files by default give wrong, -host system linking flags that are unsuitable for cross-compiling. - -For example: '-I/usr/include' instead of '-I$(STAGING_DIR)/usr/include' -or: '-L/usr/lib' instead of '-L$(STAGING_DIR)/usr/lib' - -So some sed magic is done to these scripts to make them give correct -flags. -The argument to be given to +LIBFOO_CONFIG_SCRIPTS+ is the file name(s) -of the shell script(s) needing fixing. All these names are relative to -'$(STAGING_DIR)/usr/bin' and if needed multiple names can be given. - -In addition, the scripts listed in +LIBFOO_CONFIG_SCRIPTS+ are removed -from +$(TARGET_DIR)/usr/bin+, since they are not needed on the target. - -.Config script: 'divine' package -================================ -Package divine installs shell script '$(STAGING_DIR)/usr/bin/divine-config'. - -So its fixup would be: - --------------------------------- -DIVINE_CONFIG_SCRIPTS = divine-config --------------------------------- -================================ - -.Config script: 'imagemagick' package: -================================ -Package imagemagick installs the following scripts: -'$(STAGING_DIR)/usr/bin/{Magick,Magick++,MagickCore,MagickWand,Wand}-config' - -So it's fixup would be: - --------------------------------- -IMAGEMAGICK_CONFIG_SCRIPTS = \ - Magick-config Magick++-config \ - MagickCore-config MagickWand-config Wand-config --------------------------------- -================================ - -On line 14, we specify the list of dependencies this package relies -on. These dependencies are listed in terms of lower-case package names, -which can be packages for the target (without the +host-+ -prefix) or packages for the host (with the +host-+) prefix). -Buildroot will ensure that all these packages are built and installed -'before' the current package starts its configuration. - -The rest of the Makefile, lines 16..29, defines what should be done -at the different steps of the package configuration, compilation and -installation. -+LIBFOO_BUILD_CMDS+ tells what steps should be performed to -build the package. +LIBFOO_INSTALL_STAGING_CMDS+ tells what -steps should be performed to install the package in the staging space. -+LIBFOO_INSTALL_TARGET_CMDS+ tells what steps should be -performed to install the package in the target space. - -All these steps rely on the +$(@D)+ variable, which -contains the directory where the source code of the package has been -extracted. - -On lines 31..43, we define a user that is used by this package (e.g. -to run a daemon as non-root) (+LIBFOO_USERS+). - -On line 35..37, we define a device-node file used by this package -(+LIBFOO_DEVICES+). - -On line 39..41, we define the permissions to set to specific files -installed by this package (+LIBFOO_PERMISSIONS+). - -Finally, on line 43, we call the +generic-package+ function, which -generates, according to the variables defined previously, all the -Makefile code necessary to make your package working. - -[[generic-package-reference]] - -==== +generic-package+ reference - -There are two variants of the generic target. The +generic-package+ macro is -used for packages to be cross-compiled for the target. The -+host-generic-package+ macro is used for host packages, natively compiled -for the host. It is possible to call both of them in a single +.mk+ -file: once to create the rules to generate a target -package and once to create the rules to generate a host package: - ----------------------- -$(eval $(generic-package)) -$(eval $(host-generic-package)) ----------------------- - -This might be useful if the compilation of the target package requires -some tools to be installed on the host. If the package name is -+libfoo+, then the name of the package for the target is also -+libfoo+, while the name of the package for the host is -+host-libfoo+. These names should be used in the DEPENDENCIES -variables of other packages, if they depend on +libfoo+ or -+host-libfoo+. - -The call to the +generic-package+ and/or +host-generic-package+ macro *must* be -at the end of the +.mk+ file, after all variable definitions. - -For the target package, the +generic-package+ uses the variables defined by -the .mk file and prefixed by the uppercased package name: -+LIBFOO_*+. +host-generic-package+ uses the +HOST_LIBFOO_*+ variables. For -'some' variables, if the +HOST_LIBFOO_+ prefixed variable doesn't -exist, the package infrastructure uses the corresponding variable -prefixed by +LIBFOO_+. This is done for variables that are likely to -have the same value for both the target and host packages. See below -for details. - -The list of variables that can be set in a +.mk+ file to give metadata -information is (assuming the package name is +libfoo+) : - -* +LIBFOO_VERSION+, mandatory, must contain the version of the - package. Note that if +HOST_LIBFOO_VERSION+ doesn't exist, it is - assumed to be the same as +LIBFOO_VERSION+. It can also be a - revision number, branch or tag for packages that are fetched - directly from their revision control system. + - Examples: + - +LIBFOO_VERSION = 0.1.2+ + - +LIBFOO_VERSION = cb9d6aa9429e838f0e54faa3d455bcbab5eef057+ + - +LIBFOO_VERSION = stable+ - -* +LIBFOO_SOURCE+ may contain the name of the tarball of the package, - which Buildroot will use to download the tarball from - +LIBFOO_SITE+. If +HOST_LIBFOO_SOURCE+ is not specified, it defaults - to +LIBFOO_SOURCE+. If none are specified, then the value is assumed - to be +libfoo-$(LIBFOO_VERSION).tar.gz+. + - Example: +LIBFOO_SOURCE = foobar-$(LIBFOO_VERSION).tar.bz2+ - -* +LIBFOO_PATCH+ may contain a space-separated list of patch file - names, that Buildroot will download and apply to the package source - code. If an entry contains +://+, then Buildroot will assume it is a - full URL and download the patch from this location. Otherwise, - Buildroot will assume that the patch should be downloaded from - +LIBFOO_SITE+. If +HOST_LIBFOO_PATCH+ is not specified, it defaults - to +LIBFOO_PATCH+. Note that patches that are included in Buildroot - itself use a different mechanism: all files of the form - +*.patch+ present in the package directory inside - Buildroot will be applied to the package after extraction (see - xref:patch-policy[patching a package]). Finally, patches listed in - the +LIBFOO_PATCH+ variable are applied _before_ the patches stored - in the Buildroot package directory. - -* +LIBFOO_SITE+ provides the location of the package, which can be a - URL or a local filesystem path. HTTP, FTP and SCP are supported URL - types for retrieving package tarballs. In these cases don't include a - trailing slash: it will be added by Buildroot between the directory - and the filename as appropriate. Git, Subversion, Mercurial, - and Bazaar are supported URL types for retrieving packages directly - from source code management systems. There is a helper function to make - it easier to download source tarballs from GitHub (refer to - xref:github-download-url[] for details). A filesystem path may be used - to specify either a tarball or a directory containing the package - source code. See +LIBFOO_SITE_METHOD+ below for more details on how - retrieval works. + - Note that SCP URLs should be of the form - +scp://[user@]host:filepath+, and that filepath is relative to the - user's home directory, so you may want to prepend the path with a - slash for absolute paths: - +scp://[user@]host:/absolutepath+. + - If +HOST_LIBFOO_SITE+ is not specified, it defaults to - +LIBFOO_SITE+. - Examples: + - +LIBFOO_SITE=http://www.libfoosoftware.org/libfoo+ + - +LIBFOO_SITE=http://svn.xiph.org/trunk/Tremor+ + - +LIBFOO_SITE=/opt/software/libfoo.tar.gz+ + - +LIBFOO_SITE=$(TOPDIR)/../src/libfoo+ - -* +LIBFOO_DL_OPTS+ is a space-separated list of additional options to - pass to the downloader. Useful for retrieving documents with - server-side checking for user logins and passwords, or to use a proxy. - All download methods valid for +LIBFOO_SITE_METHOD+ are supported; - valid options depend on the download method (consult the man page - for the respective download utilities). - -* +LIBFOO_EXTRA_DOWNLOADS+ is a space-separated list of additional - files that Buildroot should download. If an entry contains +://+ - then Buildroot will assume it is a complete URL and will download - the file using this URL. Otherwise, Buildroot will assume the file - to be downloaded is located at +LIBFOO_SITE+. Buildroot will not do - anything with those additional files, except download them: it will - be up to the package recipe to use them from +$(DL_DIR)+. - -* +LIBFOO_SITE_METHOD+ determines the method used to fetch or copy the - package source code. In many cases, Buildroot guesses the method - from the contents of +LIBFOO_SITE+ and setting +LIBFOO_SITE_METHOD+ - is unnecessary. When +HOST_LIBFOO_SITE_METHOD+ is not specified, it - defaults to the value of +LIBFOO_SITE_METHOD+. + - The possible values of +LIBFOO_SITE_METHOD+ are: - ** +wget+ for normal FTP/HTTP downloads of tarballs. Used by - default when +LIBFOO_SITE+ begins with +http://+, +https://+ or - +ftp://+. - ** +scp+ for downloads of tarballs over SSH with scp. Used by - default when +LIBFOO_SITE+ begins with +scp://+. - ** +svn+ for retrieving source code from a Subversion repository. - Used by default when +LIBFOO_SITE+ begins with +svn://+. When a - +http://+ Subversion repository URL is specified in - +LIBFOO_SITE+, one 'must' specify +LIBFOO_SITE_METHOD=svn+. - Buildroot performs a checkout which is preserved as a tarball in - the download cache; subsequent builds use the tarball instead of - performing another checkout. - ** +cvs+ for retrieving source code from a CVS repository. - Used by default when +LIBFOO_SITE+ begins with +cvs://+. - The downloaded source code is cached as with the +svn+ method. - Anonymous pserver mode is assumed otherwise explicitly defined - on +LIBFOO_SITE+. Both - +LIBFOO_SITE=cvs://libfoo.net:/cvsroot/libfoo+ and - +LIBFOO_SITE=cvs://:ext:libfoo.net:/cvsroot/libfoo+ - are accepted, on the former anonymous pserver access mode is - assumed. - +LIBFOO_SITE+ 'must' contain the source URL as well as the remote - repository directory. The module is the package name. - +LIBFOO_VERSION+ is 'mandatory' and 'must' be a tag, a branch, or - a date (e.g. "2014-10-20", "2014-10-20 13:45", "2014-10-20 - 13:45+01" see "man cvs" for further details). - ** +git+ for retrieving source code from a Git repository. Used by - default when +LIBFOO_SITE+ begins with +git://+. The downloaded - source code is cached as with the +svn+ - method. - ** +hg+ for retrieving source code from a Mercurial repository. One - 'must' specify +LIBFOO_SITE_METHOD=hg+ when +LIBFOO_SITE+ - contains a Mercurial repository URL. The downloaded source code - is cached as with the +svn+ method. - ** +bzr+ for retrieving source code from a Bazaar repository. Used - by default when +LIBFOO_SITE+ begins with +bzr://+. The - downloaded source code is cached as with the +svn+ method. - ** +file+ for a local tarball. One should use this when - +LIBFOO_SITE+ specifies a package tarball as a local filename. - Useful for software that isn't available publicly or in version - control. - ** +local+ for a local source code directory. One should use this - when +LIBFOO_SITE+ specifies a local directory path containing - the package source code. Buildroot copies the contents of the - source directory into the package's build directory. Note that - for +local+ packages, no patches are applied. If you need to - still patch the source code, use +LIBFOO_POST_RSYNC_HOOKS+, see - xref:hooks-rsync[]. - -* +LIBFOO_GIT_SUBMODULES+ can be set to +YES+ to create an archive - with the git submodules in the repository. This is only available - for packages downloaded with git (i.e. when - +LIBFOO_SITE_METHOD=git+). Note that we try not to use such git - submodules when they contain bundled libraries, in which case we - prefer to use those libraries from their own package. - -* +LIBFOO_STRIP_COMPONENTS+ is the number of leading components - (directories) that tar must strip from file names on extraction. - The tarball for most packages has one leading component named - "-", thus Buildroot passes - --strip-components=1 to tar to remove it. - For non-standard packages that don't have this component, or - that have more than one leading component to strip, set this - variable with the value to be passed to tar. Default: 1. - -* +LIBFOO_EXCLUDES+ is a space-separated list of patterns to exclude - when extracting the archive. Each item from that list is passed as - a tar's +--exclude+ option. By default, empty. - -* +LIBFOO_DEPENDENCIES+ lists the dependencies (in terms of package - name) that are required for the current target package to - compile. These dependencies are guaranteed to be compiled and - installed before the configuration of the current package starts. In - a similar way, +HOST_LIBFOO_DEPENDENCIES+ lists the dependencies for - the current host package. - -* +LIBFOO_PATCH_DEPENDENCIES+ lists the dependencies (in terms of - package name) that are required for the current package to be - patched. These dependencies are guaranteed to be extracted and - patched before the current package is patched. In a similar way, - +HOST_LIBFOO_PATCH_DEPENDENCIES+ lists the dependencies for the - current host package. - This is seldom used; usually, +LIBFOO_DEPENDENCIES+ is what you - really want to use. - -* +LIBFOO_PROVIDES+ lists all the virtual packages +libfoo+ is an - implementation of. See xref:virtual-package-tutorial[]. - -* +LIBFOO_INSTALL_STAGING+ can be set to +YES+ or +NO+ (default). If - set to +YES+, then the commands in the +LIBFOO_INSTALL_STAGING_CMDS+ - variables are executed to install the package into the staging - directory. - -* +LIBFOO_INSTALL_TARGET+ can be set to +YES+ (default) or +NO+. If - set to +YES+, then the commands in the +LIBFOO_INSTALL_TARGET_CMDS+ - variables are executed to install the package into the target - directory. - -* +LIBFOO_INSTALL_IMAGES+ can be set to +YES+ or +NO+ (default). If - set to +YES+, then the commands in the +LIBFOO_INSTALL_IMAGES_CMDS+ - variable are executed to install the package into the images - directory. - -* +LIBFOO_CONFIG_SCRIPTS+ lists the names of the files in - '$(STAGING_DIR)/usr/bin' that need some special fixing to make them - cross-compiling friendly. Multiple file names separated by space can - be given and all are relative to '$(STAGING_DIR)/usr/bin'. The files - listed in +LIBFOO_CONFIG_SCRIPTS+ are also removed from - +$(TARGET_DIR)/usr/bin+ since they are not needed on the target. - -* +LIBFOO_DEVICES+ lists the device files to be created by Buildroot - when using the static device table. The syntax to use is the - makedevs one. You can find some documentation for this syntax in the - xref:makedev-syntax[]. This variable is optional. - -* +LIBFOO_PERMISSIONS+ lists the changes of permissions to be done at - the end of the build process. The syntax is once again the makedevs one. - You can find some documentation for this syntax in the xref:makedev-syntax[]. - This variable is optional. - -* +LIBFOO_USERS+ lists the users to create for this package, if it installs - a program you want to run as a specific user (e.g. as a daemon, or as a - cron-job). The syntax is similar in spirit to the makedevs one, and is - described in the xref:makeuser-syntax[]. This variable is optional. - -* +LIBFOO_LICENSE+ defines the license (or licenses) under which the package - is released. - This name will appear in the manifest file produced by +make legal-info+. - If the license appears in https://spdx.org/licenses/[the SPDX License List], - use the SPDX short identifier to make the manifest file uniform. - Otherwise, describe the license in a precise and concise way, avoiding - ambiguous names such as +BSD+ which actually name a family of licenses. - This variable is optional. If it is not defined, +unknown+ will appear in - the +license+ field of the manifest file for this package. + - The expected format for this variable must comply with the following rules: - ** If different parts of the package are released under different - licenses, then +comma+ separate licenses (e.g. +`LIBFOO_LICENSE = - GPL-2.0+, LGPL-2.1+`+). If there is clear distinction between which - component is licensed under what license, then annotate the license - with that component, between parenthesis (e.g. +`LIBFOO_LICENSE = - GPL-2.0+ (programs), LGPL-2.1+ (libraries)`+). - ** If the package is dual licensed, then separate licenses with the - +or+ keyword (e.g. +`LIBFOO_LICENSE = AFL-2.1 or GPL-2.0+`+). - -* +LIBFOO_LICENSE_FILES+ is a space-separated list of files in the package - tarball that contain the license(s) under which the package is released. - +make legal-info+ copies all of these files in the +legal-info+ directory. - See xref:legal-info[] for more information. - This variable is optional. If it is not defined, a warning will be produced - to let you know, and +not saved+ will appear in the +license files+ field - of the manifest file for this package. - -* +LIBFOO_ACTUAL_SOURCE_TARBALL+ only applies to packages whose - +LIBFOO_SITE+ / +LIBTOO_SOURCE+ pair points to an archive that does - not actually contain source code, but binary code. This a very - uncommon case, only known to apply to external toolchains which come - already compiled, although theoretically it might apply to other - packages. In such cases a separate tarball is usually available with - the actual source code. Set +LIBFOO_ACTUAL_SOURCE_TARBALL+ to the - name of the actual source code archive and Buildroot will download - it and use it when you run +make legal-info+ to collect - legally-relevant material. Note this file will not be downloaded - during regular builds nor by +make source+. - -* +LIBFOO_ACTUAL_SOURCE_SITE+ provides the location of the actual - source tarball. The default value is +LIBFOO_SITE+, so you don't - need to set this variable if the binary and source archives are - hosted on the same directory. If +LIBFOO_ACTUAL_SOURCE_TARBALL+ is - not set, it doesn't make sense to define - +LIBFOO_ACTUAL_SOURCE_SITE+. - -* +LIBFOO_REDISTRIBUTE+ can be set to +YES+ (default) or +NO+ to indicate if - the package source code is allowed to be redistributed. Set it to +NO+ for - non-opensource packages: Buildroot will not save the source code for this - package when collecting the +legal-info+. - -* +LIBFOO_FLAT_STACKSIZE+ defines the stack size of an application built into - the FLAT binary format. The application stack size on the NOMMU architecture - processors can't be enlarged at run time. The default stack size for the - FLAT binary format is only 4k bytes. If the application consumes more stack, - append the required number here. - -The recommended way to define these variables is to use the following -syntax: - ----------------------- -LIBFOO_VERSION = 2.32 ----------------------- - -Now, the variables that define what should be performed at the -different steps of the build process. - -* +LIBFOO_EXTRACT_CMDS+ lists the actions to be performed to extract - the package. This is generally not needed as tarballs are - automatically handled by Buildroot. However, if the package uses a - non-standard archive format, such as a ZIP or RAR file, or has a - tarball with a non-standard organization, this variable allows to - override the package infrastructure default behavior. - -* +LIBFOO_CONFIGURE_CMDS+ lists the actions to be performed to - configure the package before its compilation. - -* +LIBFOO_BUILD_CMDS+ lists the actions to be performed to - compile the package. - -* +HOST_LIBFOO_INSTALL_CMDS+ lists the actions to be performed - to install the package, when the package is a host package. The - package must install its files to the directory given by - +$(HOST_DIR)+. All files, including development files such as - headers should be installed, since other packages might be compiled - on top of this package. - -* +LIBFOO_INSTALL_TARGET_CMDS+ lists the actions to be - performed to install the package to the target directory, when the - package is a target package. The package must install its files to - the directory given by +$(TARGET_DIR)+. Only the files required for - 'execution' of the package have to be - installed. Header files, static libraries and documentation will be - removed again when the target filesystem is finalized. - -* +LIBFOO_INSTALL_STAGING_CMDS+ lists the actions to be - performed to install the package to the staging directory, when the - package is a target package. The package must install its files to - the directory given by +$(STAGING_DIR)+. All development files - should be installed, since they might be needed to compile other - packages. - -* +LIBFOO_INSTALL_IMAGES_CMDS+ lists the actions to be performed to - install the package to the images directory, when the package is a - target package. The package must install its files to the directory - given by +$(BINARIES_DIR)+. Only files that are binary images (aka - images) that do not belong in the +TARGET_DIR+ but are necessary - for booting the board should be placed here. For example, a package - should utilize this step if it has binaries which would be similar - to the kernel image, bootloader or root filesystem images. - -* +LIBFOO_INSTALL_INIT_SYSV+ and +LIBFOO_INSTALL_INIT_SYSTEMD+ list the - actions to install init scripts either for the systemV-like init systems - (busybox, sysvinit, etc.) or for the systemd units. These commands - will be run only when the relevant init system is installed (i.e. if - systemd is selected as the init system in the configuration, only - +LIBFOO_INSTALL_INIT_SYSTEMD+ will be run). - -* +LIBFOO_HELP_CMDS+ lists the actions to print the package help, which - is included to the main +make help+ output. These commands can print - anything in any format. - This is seldom used, as packages rarely have custom rules. *Do not use - this variable*, unless you really know that you need to print help. - -The preferred way to define these variables is: - ----------------------- -define LIBFOO_CONFIGURE_CMDS - action 1 - action 2 - action 3 -endef ----------------------- - -In the action definitions, you can use the following variables: - -* +$(LIBFOO_PKGDIR)+ contains the path to the directory containing the - +libfoo.mk+ and +Config.in+ files. This variable is useful when it is - necessary to install a file bundled in Buildroot, like a runtime - configuration file, a splashscreen image... - -* +$(@D)+, which contains the directory in which the package source - code has been uncompressed. - -* +$(DL_DIR)+ contains the path to the directory where all the downloads made - by Buildroot are stored. - -* +$(TARGET_CC)+, +$(TARGET_LD)+, etc. to get the target - cross-compilation utilities - -* +$(TARGET_CROSS)+ to get the cross-compilation toolchain prefix - -* Of course the +$(HOST_DIR)+, +$(STAGING_DIR)+ and +$(TARGET_DIR)+ - variables to install the packages properly. - -Finally, you can also use hooks. See xref:hooks[] for more information. diff --git a/docs/manual/adding-packages-gettext.adoc b/docs/manual/adding-packages-gettext.adoc new file mode 100644 index 00000000000..739bed25d5e --- /dev/null +++ b/docs/manual/adding-packages-gettext.adoc @@ -0,0 +1,62 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Gettext integration and interaction with packages + +Many packages that support internationalization use the gettext +library. Dependencies for this library are fairly complicated and +therefore, deserve some explanation. + +The 'glibc' C library integrates a full-blown implementation of +'gettext', supporting translation. Native Language Support is +therefore built-in in 'glibc'. + +On the other hand, the 'uClibc' and 'musl' C libraries only provide a +stub implementation of the gettext functionality, which allows to +compile libraries and programs using gettext functions, but without +providing the translation capabilities of a full-blown gettext +implementation. With such C libraries, if real Native Language Support +is necessary, it can be provided by the +libintl+ library of the ++gettext+ package. + +Due to this, and in order to make sure that Native Language Support is +properly handled, packages in Buildroot that can use NLS support +should: + +. Ensure NLS support is enabled when +BR2_SYSTEM_ENABLE_NLS=y+. This + is done automatically for 'autotools' packages and therefore should + only be done for packages using other package infrastructures. + +. Add +$(TARGET_NLS_DEPENDENCIES)+ to the package + +_DEPENDENCIES+ variable. This addition should be done + unconditionally: the value of this variable is automatically + adjusted by the core infrastructure to contain the relevant list of + packages. If NLS support is disabled, this variable is empty. If + NLS support is enabled, this variable contains +host-gettext+ so + that tools needed to compile translation files are available on the + host. In addition, if 'uClibc' or 'musl' are used, this variable + also contains +gettext+ in order to get the full-blown 'gettext' + implementation. + +. If needed, add +$(TARGET_NLS_LIBS)+ to the linker flags, so that + the package gets linked with +libintl+. This is generally not + needed with 'autotools' packages as they usually detect + automatically that they should link with +libintl+. However, + packages using other build systems, or problematic autotools-based + packages may need this. +$(TARGET_NLS_LIBS)+ should be added + unconditionally to the linker flags, as the core automatically + makes it empty or defined to +-lintl+ depending on the + configuration. + +No changes should be made to the +Config.in+ file to support NLS. + +Finally, certain packages need some gettext utilities on the target, +such as the +gettext+ program itself, which allows to retrieve +translated strings, from the command line. In such a case, the package +should: + +* use +select BR2_PACKAGE_GETTEXT+ in their +Config.in+ file, + indicating in a comment above that it's a runtime dependency only. + +* not add any +gettext+ dependency in the +DEPENDENCIES+ variable of + their +.mk+ file. diff --git a/docs/manual/adding-packages-gettext.txt b/docs/manual/adding-packages-gettext.txt deleted file mode 100644 index e9c6968e79c..00000000000 --- a/docs/manual/adding-packages-gettext.txt +++ /dev/null @@ -1,62 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Gettext integration and interaction with packages - -Many packages that support internationalization use the gettext -library. Dependencies for this library are fairly complicated and -therefore, deserve some explanation. - -The 'glibc' C library integrates a full-blown implementation of -'gettext', supporting translation. Native Language Support is -therefore built-in in 'glibc'. - -On the other hand, the 'uClibc' and 'musl' C libraries only provide a -stub implementation of the gettext functionality, which allows to -compile libraries and programs using gettext functions, but without -providing the translation capabilities of a full-blown gettext -implementation. With such C libraries, if real Native Language Support -is necessary, it can be provided by the +libintl+ library of the -+gettext+ package. - -Due to this, and in order to make sure that Native Language Support is -properly handled, packages in Buildroot that can use NLS support -should: - -1. Ensure NLS support is enabled when +BR2_SYSTEM_ENABLE_NLS=y+. This - is done automatically for 'autotools' packages and therefore should - only be done for packages using other package infrastructures. - -1. Add +$(TARGET_NLS_DEPENDENCIES)+ to the package - +_DEPENDENCIES+ variable. This addition should be done - unconditionally: the value of this variable is automatically - adjusted by the core infrastructure to contain the relevant list of - packages. If NLS support is disabled, this variable is empty. If - NLS support is enabled, this variable contains +host-gettext+ so - that tools needed to compile translation files are available on the - host. In addition, if 'uClibc' or 'musl' are used, this variable - also contains +gettext+ in order to get the full-blown 'gettext' - implementation. - -1. If needed, add +$(TARGET_NLS_LIBS)+ to the linker flags, so that - the package gets linked with +libintl+. This is generally not - needed with 'autotools' packages as they usually detect - automatically that they should link with +libintl+. However, - packages using other build systems, or problematic autotools-based - packages may need this. +$(TARGET_NLS_LIBS)+ should be added - unconditionally to the linker flags, as the core automatically - makes it empty or defined to +-lintl+ depending on the - configuration. - -No changes should be made to the +Config.in+ file to support NLS. - -Finally, certain packages need some gettext utilities on the target, -such as the +gettext+ program itself, which allows to retrieve -translated strings, from the command line. In such a case, the package -should: - -* use +select BR2_PACKAGE_GETTEXT+ in their +Config.in+ file, - indicating in a comment above that it's a runtime dependency only. - -* not add any +gettext+ dependency in the +DEPENDENCIES+ variable of - their +.mk+ file. diff --git a/docs/manual/adding-packages-golang.adoc b/docs/manual/adding-packages-golang.adoc new file mode 100644 index 00000000000..21b6a122a97 --- /dev/null +++ b/docs/manual/adding-packages-golang.adoc @@ -0,0 +1,135 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for Go packages + +This infrastructure applies to Go packages that use the standard +build system and use bundled dependencies. + +[[golang-package-tutorial]] + +==== +golang-package+ tutorial + +First, let's see how to write a +.mk+ file for a go package, +with an example : + +---- +01: ################################################################################ +02: # +03: # foo +04: # +05: ################################################################################ +06: +07: FOO_VERSION = 1.0 +08: FOO_SITE = $(call github,bar,foo,$(FOO_VERSION)) +09: FOO_LICENSE = BSD-3-Clause +10: FOO_LICENSE_FILES = LICENSE +11: +12: $(eval $(golang-package)) +---- + +On line 7, we declare the version of the package. + +On line 8, we declare the upstream location of the package, here +fetched from Github, since a large number of Go packages are hosted on +Github. + +On line 9 and 10, we give licensing details about the package. + +Finally, on line 12, we invoke the +golang-package+ macro that +generates all the Makefile rules that actually allow the package to be +built. + +[[golang-package-reference]] + +==== +golang-package+ reference + +In their +Config.in+ file, packages using the +golang-package+ +infrastructure should depend on +BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS+ +because Buildroot will automatically add a dependency on +host-go+ +to such packages. +If you need CGO support in your package, you must add a dependency on ++BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS+; for host packages, +add a dependency on +BR2_PACKAGE_HOST_GO_HOST_CGO_LINKING_SUPPORTS+. + +The main macro of the Go package infrastructure is ++golang-package+. It is similar to the +generic-package+ macro. The +ability to build host packages is also available, with the ++host-golang-package+ macro. +Host packages built by +host-golang-package+ macro should depend on ++BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS+. + +Just like the generic infrastructure, the Go infrastructure works +by defining a number of variables before calling the +golang-package+ +macro. + +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the Go infrastructure. + +Note that it is not necessary to add +host-go+ in the ++FOO_DEPENDENCIES+ variable of a package, since this basic dependency +is automatically added as needed by the Go package infrastructure. + +A few additional variables, specific to the Go infrastructure, can +optionally be defined, depending on the package's needs. Many of them +are only useful in very specific cases, typical packages will +therefore only use a few of them, or none. + +* The package must specify its Go module name in the +FOO_GOMOD+ + variable. If not specified, it defaults to + +URL-domain/1st-part-of-URL/2nd-part-of-URL+, e.g +FOO_GOMOD+ will + take the value +github.com/bar/foo+ for a package that specifies + +FOO_SITE = $(call github,bar,foo,$(FOO_VERSION))+. The Go package + infrastructure will automatically generate a minimal +go.mod+ file + in the package source tree if it doesn't exist. + +* +FOO_LDFLAGS+, +FOO_EXTLDFLAGS+, and +FOO_TAGS+ can be used to pass + respectively the go +LDFLAGS+ (via the `-ldflags` command line flag), + the external linker flags +EXTLDFLAGS+ (via the `-extldflags` + command line flag), or the +TAGS+ to the +go+ build command. + +* +FOO_BUILD_TARGETS+ can be used to pass the list of targets that + should be built. If +FOO_BUILD_TARGETS+ is not specified, it + defaults to +.+. We then have two cases: + +** +FOO_BUILD_TARGETS+ is +.+. In this case, we assume only one binary + will be built and installed, and by default we name it after the + package name; if that is not appropriate, the name of the binary can + be overridden using +FOO_BIN_NAME+. + +** +FOO_BUILD_TARGETS+ is not +.+. In this case, it is interpreted as a + space-separated list, and we iterate over the targets to build and + install a binary named after the non-directory component of the + target. For example if +FOO_BUILD_TARGETS = cmd/docker cmd/dockerd+, + the binaries built and installed are +docker+ and +dockerd+. If + +FOO_BUILD_TARGETS+ contains only one target, then it is possible to + override the built and installed binary by setting +FOO_BIN_NAME+, + as above; if +FOO_BUILD_TARGETS+ contains two or more targets, then + it is not possible to override the names of the installed binaries + (use a post-install hook for that). + +With the Go infrastructure, all the steps required to build and +install the packages are already defined, and they generally work well +for most Go-based packages. However, when required, it is still +possible to customize what is done in any particular step: + +* By adding a post-operation hook (after extract, patch, configure, + build or install). See xref:hooks[] for details. + +* By overriding one of the steps. For example, even if the Go + infrastructure is used, if the package +.mk+ file defines its own + +FOO_BUILD_CMDS+ variable, it will be used instead of the default Go + one. However, using this method should be restricted to very + specific cases. Do not use it in the general case. + +A Go package can depend on other Go modules, listed in its +go.mod+ +file. Buildroot automatically takes care of downloading such +dependencies as part of the download step of packages that use the ++golang-package+ infrastructure. Such dependencies are then kept +together with the package source code in the tarball cached in +Buildroot's +DL_DIR+, and therefore the hash of the package's tarball +includes such dependencies. + +This mechanism ensures that any change in the dependencies will be +detected, and allows the build to be performed completely offline. diff --git a/docs/manual/adding-packages-hooks.adoc b/docs/manual/adding-packages-hooks.adoc new file mode 100644 index 00000000000..7aa7aa232dd --- /dev/null +++ b/docs/manual/adding-packages-hooks.adoc @@ -0,0 +1,89 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[hooks]] +=== Hooks available in the various build steps + +The generic infrastructure (and as a result also the derived autotools +and cmake infrastructures) allow packages to specify hooks. +These define further actions to perform after existing steps. +Most hooks aren't really useful for generic packages, since the +.mk+ +file already has full control over the actions performed in each step +of the package construction. + +The following hook points are available: + +* +LIBFOO_PRE_DOWNLOAD_HOOKS+ +* +LIBFOO_POST_DOWNLOAD_HOOKS+ + +* +LIBFOO_PRE_EXTRACT_HOOKS+ +* +LIBFOO_POST_EXTRACT_HOOKS+ + +* +LIBFOO_PRE_RSYNC_HOOKS+ +* +LIBFOO_POST_RSYNC_HOOKS+ + +* +LIBFOO_PRE_PATCH_HOOKS+ +* +LIBFOO_POST_PATCH_HOOKS+ + +* +LIBFOO_PRE_CONFIGURE_HOOKS+ +* +LIBFOO_POST_CONFIGURE_HOOKS+ + +* +LIBFOO_PRE_BUILD_HOOKS+ +* +LIBFOO_POST_BUILD_HOOKS+ + +* +LIBFOO_PRE_INSTALL_HOOKS+ (for host packages only) +* +LIBFOO_POST_INSTALL_HOOKS+ (for host packages only) + +* +LIBFOO_PRE_INSTALL_STAGING_HOOKS+ (for target packages only) +* +LIBFOO_POST_INSTALL_STAGING_HOOKS+ (for target packages only) + +* +LIBFOO_PRE_INSTALL_TARGET_HOOKS+ (for target packages only) +* +LIBFOO_POST_INSTALL_TARGET_HOOKS+ (for target packages only) + +* +LIBFOO_PRE_INSTALL_IMAGES_HOOKS+ +* +LIBFOO_POST_INSTALL_IMAGES_HOOKS+ + +* +LIBFOO_PRE_LEGAL_INFO_HOOKS+ +* +LIBFOO_POST_LEGAL_INFO_HOOKS+ + +* +LIBFOO_TARGET_FINALIZE_HOOKS+ + +These variables are 'lists' of variable names containing actions to be +performed at this hook point. This allows several hooks to be +registered at a given hook point. Here is an example: + +---- +define LIBFOO_POST_PATCH_FIXUP + action1 + action2 +endef + +LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP +---- + +[[hooks-rsync]] +==== Using the +POST_RSYNC+ hook +The +POST_RSYNC+ hook is run only for packages that use a local source, +either through the +local+ site method or the +OVERRIDE_SRCDIR+ +mechanism. In this case, package sources are copied using +rsync+ from +the local location into the buildroot build directory. The +rsync+ +command does not copy all files from the source directory, though. +Files belonging to a version control system, like the directories ++.git+, +.hg+, etc. are not copied. For most packages this is +sufficient, but a given package can perform additional actions using +the +POST_RSYNC+ hook. + +In principle, the hook can contain any command you want. One specific +use case, though, is the intentional copying of the version control +directory using +rsync+. The +rsync+ command you use in the hook can, among +others, use the following variables: + +* +$(SRCDIR)+: the path to the overridden source directory +* +$(@D)+: the path to the build directory + +==== Target-finalize hook + +Packages may also register hooks in +LIBFOO_TARGET_FINALIZE_HOOKS+. +These hooks are run after all packages are built, but before the +filesystem images are generated. They are seldom used, and your +package probably do not need them. diff --git a/docs/manual/adding-packages-hooks.txt b/docs/manual/adding-packages-hooks.txt deleted file mode 100644 index 0ce79f8907f..00000000000 --- a/docs/manual/adding-packages-hooks.txt +++ /dev/null @@ -1,87 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[hooks]] -=== Hooks available in the various build steps - -The generic infrastructure (and as a result also the derived autotools -and cmake infrastructures) allow packages to specify hooks. -These define further actions to perform after existing steps. -Most hooks aren't really useful for generic packages, since the +.mk+ -file already has full control over the actions performed in each step -of the package construction. - -The following hook points are available: - -* +LIBFOO_PRE_DOWNLOAD_HOOKS+ -* +LIBFOO_POST_DOWNLOAD_HOOKS+ - -* +LIBFOO_PRE_EXTRACT_HOOKS+ -* +LIBFOO_POST_EXTRACT_HOOKS+ - -* +LIBFOO_PRE_RSYNC_HOOKS+ -* +LIBFOO_POST_RSYNC_HOOKS+ - -* +LIBFOO_PRE_PATCH_HOOKS+ -* +LIBFOO_POST_PATCH_HOOKS+ - -* +LIBFOO_PRE_CONFIGURE_HOOKS+ -* +LIBFOO_POST_CONFIGURE_HOOKS+ - -* +LIBFOO_PRE_BUILD_HOOKS+ -* +LIBFOO_POST_BUILD_HOOKS+ - -* +LIBFOO_PRE_INSTALL_HOOKS+ (for host packages only) -* +LIBFOO_POST_INSTALL_HOOKS+ (for host packages only) - -* +LIBFOO_PRE_INSTALL_STAGING_HOOKS+ (for target packages only) -* +LIBFOO_POST_INSTALL_STAGING_HOOKS+ (for target packages only) - -* +LIBFOO_PRE_INSTALL_TARGET_HOOKS+ (for target packages only) -* +LIBFOO_POST_INSTALL_TARGET_HOOKS+ (for target packages only) - -* +LIBFOO_PRE_INSTALL_IMAGES_HOOKS+ -* +LIBFOO_POST_INSTALL_IMAGES_HOOKS+ - -* +LIBFOO_PRE_LEGAL_INFO_HOOKS+ -* +LIBFOO_POST_LEGAL_INFO_HOOKS+ - -These variables are 'lists' of variable names containing actions to be -performed at this hook point. This allows several hooks to be -registered at a given hook point. Here is an example: - ----------------------- -define LIBFOO_POST_PATCH_FIXUP - action1 - action2 -endef - -LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP ----------------------- - -[[hooks-rsync]] -==== Using the +POST_RSYNC+ hook -The +POST_RSYNC+ hook is run only for packages that use a local source, -either through the +local+ site method or the +OVERRIDE_SRCDIR+ -mechanism. In this case, package sources are copied using +rsync+ from -the local location into the buildroot build directory. The +rsync+ -command does not copy all files from the source directory, though. -Files belonging to a version control system, like the directories -+.git+, +.hg+, etc. are not copied. For most packages this is -sufficient, but a given package can perform additional actions using -the +POST_RSYNC+ hook. - -In principle, the hook can contain any command you want. One specific -use case, though, is the intentional copying of the version control -directory using +rsync+. The +rsync+ command you use in the hook can, among -others, use the following variables: - -* +$(SRCDIR)+: the path to the overridden source directory -* +$(@D)+: the path to the build directory - -==== Target-finalize hook - -Packages may also register hooks in +LIBFOO_TARGET_FINALIZE_HOOKS+. -These hooks are run after all packages are built, but before the -filesystem images are generated. They are seldom used, and your -package probably do not need them. diff --git a/docs/manual/adding-packages-kconfig.adoc b/docs/manual/adding-packages-kconfig.adoc new file mode 100644 index 00000000000..ee52cbd7370 --- /dev/null +++ b/docs/manual/adding-packages-kconfig.adoc @@ -0,0 +1,102 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for packages using kconfig for configuration files + +A popular way for a software package to handle user-specified +configuration is +kconfig+. Among others, it is used by the Linux +kernel, Busybox, and Buildroot itself. The presence of a .config file +and a +menuconfig+ target are two well-known symptoms of kconfig being +used. + +Buildroot features an infrastructure for packages that use kconfig for +their configuration. This infrastructure provides the necessary logic to +expose the package's +menuconfig+ target as +foo-menuconfig+ in +Buildroot, and to handle the copying back and forth of the configuration +file in a correct way. + +The main macro of the kconfig package infrastructure is ++kconfig-package+. It is similar to the +generic-package+ macro. + +Just like the generic infrastructure, the kconfig infrastructure works +by defining a number of variables before calling the +kconfig-package+ +macro. + +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the kconfig infrastructure. + +In order to use the +kconfig-package+ infrastructure for a Buildroot +package, the minimally required lines in the +.mk+ file, in addition to +the variables required by the +generic-package+ infrastructure, are: + +---- +FOO_KCONFIG_FILE = reference-to-source-configuration-file + +$(eval $(kconfig-package)) +---- + +This snippet creates the following make targets: + +* +foo-menuconfig+, which calls the package's +menuconfig+ target + +* +foo-update-config+, which copies the configuration back to the + source configuration file. It is not possible to use this target + when fragment files are set. + +* +foo-update-defconfig+, which copies the configuration back to the + source configuration file. The configuration file will only list the + options that differ from the default values. It is not possible to + use this target when fragment files are set. + +* +foo-diff-config+, which outputs the differences between the current + configuration and the one defined in the Buildroot configuration for + this kconfig package. The output is useful to identify the + configuration changes that may have to be propagated to + configuration fragments for example. + +and ensures that the source configuration file is copied to the build +directory at the right moment. + +There are two options to specify a configuration file to use, either ++FOO_KCONFIG_FILE+ (as in the example, above) or +FOO_KCONFIG_DEFCONFIG+. +It is mandatory to provide either, but not both: + +* +FOO_KCONFIG_FILE+ specifies the path to a defconfig or full-config file + to be used to configure the package. + +* +FOO_KCONFIG_DEFCONFIG+ specifies the defconfig 'make' rule to call to + configure the package. + +In addition to these minimally required lines, several optional variables can +be set to suit the needs of the package under consideration: + +* +FOO_KCONFIG_EDITORS+: a space-separated list of kconfig editors to + support, for example 'menuconfig xconfig'. By default, 'menuconfig'. + +* +FOO_KCONFIG_FRAGMENT_FILES+: a space-separated list of configuration + fragment files that are merged to the main configuration file. + Fragment files are typically used when there is a desire to stay in sync + with an upstream (def)config file, with some minor modifications. + +* +FOO_KCONFIG_OPTS+: extra options to pass when calling the kconfig + editors. This may need to include '$(FOO_MAKE_OPTS)', for example. By + default, empty. + +* +FOO_KCONFIG_FIXUP_CMDS+: a list of shell commands needed to fixup the + configuration file after copying it or running a kconfig editor. Such + commands may be needed to ensure a configuration consistent with other + configuration of Buildroot, for example. By default, empty. + +* +FOO_KCONFIG_DOTCONFIG+: path (with filename) of the +.config+ file, + relative to the package source tree. The default, +.config+, should + be well suited for all packages that use the standard kconfig + infrastructure as inherited from the Linux kernel; some packages use + a derivative of kconfig that use a different location. + +* +FOO_KCONFIG_DEPENDENCIES+: the list of packages (most probably, host + packages) that need to be built before this package's kconfig is + interpreted. Seldom used. By default, empty. + +* +FOO_KCONFIG_SUPPORTS_DEFCONFIG+: whether the package's kconfig system + supports using defconfig files; few packages do not. By default, 'YES'. diff --git a/docs/manual/adding-packages-kconfig.txt b/docs/manual/adding-packages-kconfig.txt deleted file mode 100644 index d4d8630a79b..00000000000 --- a/docs/manual/adding-packages-kconfig.txt +++ /dev/null @@ -1,83 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for packages using kconfig for configuration files - -A popular way for a software package to handle user-specified -configuration is +kconfig+. Among others, it is used by the Linux -kernel, Busybox, and Buildroot itself. The presence of a .config file -and a +menuconfig+ target are two well-known symptoms of kconfig being -used. - -Buildroot features an infrastructure for packages that use kconfig for -their configuration. This infrastructure provides the necessary logic to -expose the package's +menuconfig+ target as +foo-menuconfig+ in -Buildroot, and to handle the copying back and forth of the configuration -file in a correct way. - -The +kconfig-package+ infrastructure is based on the +generic-package+ -infrastructure. All variables supported by +generic-package+ are -available in +kconfig-package+ as well. See -xref:generic-package-reference[] for more details. - -In order to use the +kconfig-package+ infrastructure for a Buildroot -package, the minimally required lines in the +.mk+ file, in addition to -the variables required by the +generic-package+ infrastructure, are: - ------------------------------- -FOO_KCONFIG_FILE = reference-to-source-configuration-file - -$(eval $(kconfig-package)) ------------------------------- - -This snippet creates the following make targets: - -* +foo-menuconfig+, which calls the package's +menuconfig+ target - -* +foo-update-config+, which copies the configuration back to the - source configuration file. It is not possible to use this target - when fragment files are set. - -* +foo-update-defconfig+, which copies the configuration back to the - source configuration file. The configuration file will only list the - options that differ from the default values. It is not possible to - use this target when fragment files are set. - -and ensures that the source configuration file is copied to the build -directory at the right moment. - -There are two options to specify a configuration file to use, either -+FOO_KCONFIG_FILE+ (as in the example, above) or +FOO_KCONFIG_DEFCONFIG+. -It is mandatory to provide either, but not both: - -* +FOO_KCONFIG_FILE+ specifies the path to a defconfig or full-config file - to be used to configure the package. - -* +FOO_KCONFIG_DEFCONFIG+ specifies the defconfig 'make' rule to call to - configure the package. - -In addition to these minimally required lines, several optional variables can -be set to suit the needs of the package under consideration: - -* +FOO_KCONFIG_EDITORS+: a space-separated list of kconfig editors to - support, for example 'menuconfig xconfig'. By default, 'menuconfig'. - -* +FOO_KCONFIG_FRAGMENT_FILES+: a space-separated list of configuration - fragment files that are merged to the main configuration file. - Fragment files are typically used when there is a desire to stay in sync - with an upstream (def)config file, with some minor modifications. - -* +FOO_KCONFIG_OPTS+: extra options to pass when calling the kconfig - editors. This may need to include '$(FOO_MAKE_OPTS)', for example. By - default, empty. - -* +FOO_KCONFIG_FIXUP_CMDS+: a list of shell commands needed to fixup the - configuration file after copying it or running a kconfig editor. Such - commands may be needed to ensure a configuration consistent with other - configuration of Buildroot, for example. By default, empty. - -* +FOO_KCONFIG_DOTCONFIG+: path (with filename) of the +.config+ file, - relative to the package source tree. The default, +.config+, should - be well suited for all packages that use the standard kconfig - infrastructure as inherited from the Linux kernel; some packages use - a derivative of kconfig that use a different location. diff --git a/docs/manual/adding-packages-kernel-module.adoc b/docs/manual/adding-packages-kernel-module.adoc new file mode 100644 index 00000000000..1d4251333d7 --- /dev/null +++ b/docs/manual/adding-packages-kernel-module.adoc @@ -0,0 +1,143 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for packages building kernel modules + +Buildroot offers a helper infrastructure to make it easy to write packages that +build and install Linux kernel modules. Some packages only contain a kernel +module, other packages contain programs and libraries in addition to kernel +modules. Buildroot's helper infrastructure supports either case. + +[[kernel-module-tutorial]] +==== +kernel-module+ tutorial + +Let's start with an example on how to prepare a simple package that only +builds a kernel module, and no other component: + +---- +01: ################################################################################ +02: # +03: # foo +04: # +05: ################################################################################ +06: +07: FOO_VERSION = 1.2.3 +08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz +09: FOO_SITE = http://www.foosoftware.org/download +10: FOO_LICENSE = GPL-2.0 +11: FOO_LICENSE_FILES = COPYING +12: +13: $(eval $(kernel-module)) +14: $(eval $(generic-package)) +---- + +Lines 7-11 define the usual meta-data to specify the version, archive name, +remote URI where to find the package source, licensing information. + +On line 13, we invoke the +kernel-module+ helper infrastructure, that +generates all the appropriate Makefile rules and variables to build +that kernel module. + +Finally, on line 14, we invoke the +xref:generic-package-tutorial[+generic-package+ infrastructure]. + +The dependency on +linux+ is automatically added, so it is not needed to +specify it in +FOO_DEPENDENCIES+. + +What you may have noticed is that, unlike other package infrastructures, +we explicitly invoke a second infrastructure. This allows a package to +build a kernel module, but also, if needed, use any one of other package +infrastructures to build normal userland components (libraries, +executables...). Using the +kernel-module+ infrastructure on its own is +not sufficient; another package infrastructure *must* be used. + +Let's look at a more complex example: + +---- +01: ################################################################################ +02: # +03: # foo +04: # +05: ################################################################################ +06: +07: FOO_VERSION = 1.2.3 +08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz +09: FOO_SITE = http://www.foosoftware.org/download +10: FOO_LICENSE = GPL-2.0 +11: FOO_LICENSE_FILES = COPYING +12: +13: FOO_MODULE_SUBDIRS = driver/base +14: FOO_MODULE_MAKE_OPTS = KVERSION=$(LINUX_VERSION_PROBED) +15: +16: ifeq ($(BR2_PACKAGE_LIBBAR),y) +17: FOO_DEPENDENCIES += libbar +18: FOO_CONF_OPTS += --enable-bar +19: FOO_MODULE_SUBDIRS += driver/bar +20: else +21: FOO_CONF_OPTS += --disable-bar +22: endif +23: +24: $(eval $(kernel-module)) +26: $(eval $(autotools-package)) +---- + +Here, we see that we have an autotools-based package, that also builds +the kernel module located in sub-directory +driver/base+ and, if libbar +is enabled, the kernel module located in sub-directory +driver/bar+, and +defines the variable +KVERSION+ to be passed to the Linux buildsystem +when building the module(s). + + +[[kernel-module-reference]] +==== +kernel-module+ reference + +The main macro for the kernel module infrastructure is +kernel-module+. +Unlike other package infrastructures, it is not stand-alone, and requires +any of the other +*-package+ macros be called after it. + +The +kernel-module+ macro defines post-build and post-target-install +hooks to build the kernel modules. If the package's +.mk+ needs access +to the built kernel modules, it should do so in a post-build hook, +*registered after* the call to +kernel-module+. Similarly, if the +package's +.mk+ needs access to the kernel module after it has been +installed, it should do so in a post-install hook, *registered after* +the call to +kernel-module+. Here's an example: + +---- +$(eval $(kernel-module)) + +define FOO_DO_STUFF_WITH_KERNEL_MODULE + # Do something with it... +endef +FOO_POST_BUILD_HOOKS += FOO_DO_STUFF_WITH_KERNEL_MODULE + +$(eval $(generic-package)) +---- + +Finally, unlike the other package infrastructures, there is no ++host-kernel-module+ variant to build a host kernel module. + +The following additional variables can optionally be defined to further +configure the build of the kernel module: + +* +FOO_MODULE_SUBDIRS+ may be set to one or more sub-directories (relative + to the package source top-directory) where the kernel module sources are. + If empty or not set, the sources for the kernel module(s) are considered + to be located at the top of the package source tree. + +* +FOO_MODULE_MAKE_OPTS+ may be set to contain extra variable definitions + to pass to the Linux buildsystem. + +[[kernel-variables]] +You may also reference (but you may *not* set!) those variables: + + * +LINUX_DIR+ contains the path to where the Linux kernel has been + extracted and built. + + * +LINUX_VERSION+ contains the version string as configured by the user. + + * +LINUX_VERSION_PROBED+ contains the real version string of the kernel, + retrieved with running `make -C $(LINUX_DIR) kernelrelease` + + * +KERNEL_ARCH+ contains the name of the current architecture, like `arm`, + `mips`... diff --git a/docs/manual/adding-packages-kernel-module.txt b/docs/manual/adding-packages-kernel-module.txt deleted file mode 100644 index b609ecc90a1..00000000000 --- a/docs/manual/adding-packages-kernel-module.txt +++ /dev/null @@ -1,143 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for packages building kernel modules - -Buildroot offers a helper infrastructure to make it easy to write packages that -build and install Linux kernel modules. Some packages only contain a kernel -module, other packages contain programs and libraries in addition to kernel -modules. Buildroot's helper infrastructure supports either case. - -[[kernel-module-tutorial]] -==== +kernel-module+ tutorial - -Let's start with an example on how to prepare a simple package that only -builds a kernel module, and no other component: - ----- -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: FOO_VERSION = 1.2.3 -08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz -09: FOO_SITE = http://www.foosoftware.org/download -10: FOO_LICENSE = GPL-2.0 -11: FOO_LICENSE_FILES = COPYING -12: -13: $(eval $(kernel-module)) -14: $(eval $(generic-package)) ----- - -Lines 7-11 define the usual meta-data to specify the version, archive name, -remote URI where to find the package source, licensing information. - -On line 13, we invoke the +kernel-module+ helper infrastructure, that -generates all the appropriate Makefile rules and variables to build -that kernel module. - -Finally, on line 14, we invoke the -xref:generic-package-tutorial[+generic-package+ infrastructure]. - -The dependency on +linux+ is automatically added, so it is not needed to -specify it in +FOO_DEPENDENCIES+. - -What you may have noticed is that, unlike other package infrastructures, -we explicitly invoke a second infrastructure. This allows a package to -build a kernel module, but also, if needed, use any one of other package -infrastructures to build normal userland components (libraries, -executables...). Using the +kernel-module+ infrastructure on its own is -not sufficient; another package infrastructure *must* be used. - -Let's look at a more complex example: - ----- -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: FOO_VERSION = 1.2.3 -08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz -09: FOO_SITE = http://www.foosoftware.org/download -10: FOO_LICENSE = GPL-2.0 -11: FOO_LICENSE_FILES = COPYING -12: -13: FOO_MODULE_SUBDIRS = driver/base -14: FOO_MODULE_MAKE_OPTS = KVERSION=$(LINUX_VERSION_PROBED) -15: -16: ifeq ($(BR2_PACKAGE_LIBBAR),y) -17: FOO_DEPENDENCIES = libbar -18: FOO_CONF_OPTS = --enable-bar -19: FOO_MODULE_SUBDIRS += driver/bar -20: else -21: FOO_CONF_OPTS = --disable-bar -22: endif -23: -24: $(eval $(kernel-module)) -26: $(eval $(autotools-package)) ----- - -Here, we see that we have an autotools-based package, that also builds -the kernel module located in sub-directory +driver/base+ and, if libbar -is enabled, the kernel module located in sub-directory +driver/bar+, and -defines the variable +KVERSION+ to be passed to the Linux buildsystem -when building the module(s). - - -[[kernel-module-reference]] -==== +kernel-module+ reference - -The main macro for the kernel module infrastructure is +kernel-module+. -Unlike other package infrastructures, it is not stand-alone, and requires -any of the other +*-package+ macros be called after it. - -The +kernel-module+ macro defines post-build and post-target-install -hooks to build the kernel modules. If the package's +.mk+ needs access -to the built kernel modules, it should do so in a post-build hook, -*registered after* the call to +kernel-module+. Similarly, if the -package's +.mk+ needs access to the kernel module after it has been -installed, it should do so in a post-install hook, *registered after* -the call to +kernel-module+. Here's an example: - ----- -$(eval $(kernel-module)) - -define FOO_DO_STUFF_WITH_KERNEL_MODULE - # Do something with it... -endef -FOO_POST_BUILD_HOOKS += FOO_DO_STUFF_WITH_KERNEL_MODULE - -$(eval $(generic-package)) ----- - -Finally, unlike the other package infrastructures, there is no -+host-kernel-module+ variant to build a host kernel module. - -The following additional variables can optionally be defined to further -configure the build of the kernel module: - -* +FOO_MODULE_SUBDIRS+ may be set to one or more sub-directories (relative - to the package source top-directory) where the kernel module sources are. - If empty or not set, the sources for the kernel module(s) are considered - to be located at the top of the package source tree. - -* +FOO_MODULE_MAKE_OPTS+ may be set to contain extra variable definitions - to pass to the Linux buildsystem. - -[[kernel-variables]] -You may also reference (but you may *not* set!) those variables: - - * +LINUX_DIR+ contains the path to where the Linux kernel has been - extracted and built. - - * +LINUX_VERSION+ contains the version string as configured by the user. - - * +LINUX_VERSION_PROBED+ contains the real version string of the kernel, - retrieved with running `make -C $(LINUX_DIR) kernelrelease` - - * +KERNEL_ARCH+ contains the name of the current architecture, like `arm`, - `mips`... diff --git a/docs/manual/adding-packages-linux-kernel-spec-infra.adoc b/docs/manual/adding-packages-linux-kernel-spec-infra.adoc new file mode 100644 index 00000000000..22ffc5496fd --- /dev/null +++ b/docs/manual/adding-packages-linux-kernel-spec-infra.adoc @@ -0,0 +1,151 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[linux-kernel-specific-infra]] +=== Infrastructure specific to the Linux kernel package + +The Linux kernel package can use some specific infrastructures based on package +hooks for building Linux kernel tools or/and building Linux kernel extensions. + +[[linux-kernel-tools]] +==== linux-kernel-tools + +Buildroot offers a helper infrastructure to build some userspace tools +for the target available within the Linux kernel sources. Since their +source code is part of the kernel source code, a special package, ++linux-tools+, exists and re-uses the sources of the Linux kernel that +runs on the target. + +Let's look at an example of a Linux tool. For a new Linux tool named ++foo+, create a new menu entry in the existing ++package/linux-tools/Config.in+. This file will contain the option +descriptions related to each kernel tool that will be used and +displayed in the configuration tool. It would basically look like: + +---- +01: config BR2_PACKAGE_LINUX_TOOLS_FOO +02: bool "foo" +03: select BR2_PACKAGE_LINUX_TOOLS +04: help +05: This is a comment that explains what foo kernel tool is. +06: +07: http://foosoftware.org/foo/ +---- + +The name of the option starts with the prefix +BR2_PACKAGE_LINUX_TOOLS_+, +followed by the uppercase name of the tool (like is done for packages). + +.Note +Unlike other packages, the +linux-tools+ package options appear in the ++linux+ kernel menu, under the `Linux Kernel Tools` sub-menu, not under +the `Target packages` main menu. + +Then for each linux tool, add a new +.mk.in+ file named ++package/linux-tools/linux-tool-foo.mk.in+. It would basically look like: + +---- +01: ################################################################################ +02: # +03: # foo +04: # +05: ################################################################################ +06: +07: LINUX_TOOLS += foo +08: +09: FOO_DEPENDENCIES = libbbb +10: +11: define FOO_BUILD_CMDS +12: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools foo +13: endef +14: +15: define FOO_INSTALL_STAGING_CMDS +16: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ +17: DESTDIR=$(STAGING_DIR) \ +18: foo_install +19: endef +20: +21: define FOO_INSTALL_TARGET_CMDS +22: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ +23: DESTDIR=$(TARGET_DIR) \ +24: foo_install +25: endef +---- + +On line 7, we register the Linux tool +foo+ to the list of available +Linux tools. + +On line 9, we specify the list of dependencies this tool relies on. These +dependencies are added to the Linux package dependencies list only when the ++foo+ tool is selected. + +The rest of the Makefile, lines 11-25 defines what should be done at the +different steps of the Linux tool build process like for a +xref:generic-package-tutorial[+generic package+]. They will actually be +used only when the +foo+ tool is selected. The only supported commands are ++_BUILD_CMDS+, +_INSTALL_STAGING_CMDS+ and +_INSTALL_TARGET_CMDS+. + +.Note +One *must not* call +$(eval $(generic-package))+ or any other +package infrastructure! Linux tools are not packages by themselves, +they are part of the +linux-tools+ package. + +[[linux-kernel-ext]] +==== linux-kernel-extensions + +Some packages provide new features that require the Linux kernel tree +to be modified. This can be in the form of patches to be applied on +the kernel tree, or in the form of new files to be added to the +tree. The Buildroot's Linux kernel extensions infrastructure provides +a simple solution to automatically do this, just after the kernel +sources are extracted and before the kernel patches are +applied. Examples of extensions packaged using this mechanism are the +real-time extensions Xenomai and RTAI. + +Let's look at an example on how to add a new Linux extension +foo+. + +First, create the package +foo+ that provides the extension: this +package is a standard package; see the previous chapters on how to +create such a package. This package is in charge of downloading the +sources archive, checking the hash, defining the licence information +and building user space tools if any. + +Then create the 'Linux extension' proper: create a new menu entry in +the existing +linux/Config.ext.in+. This file contains the option +descriptions related to each kernel extension that will be used and +displayed in the configuration tool. It would basically look like: + +---- +01: config BR2_LINUX_KERNEL_EXT_FOO +02: bool "foo" +03: help +04: This is a comment that explains what foo kernel extension is. +05: +06: http://foosoftware.org/foo/ +---- + +Then for each linux extension, add a new +.mk+ file named ++linux/linux-ext-foo.mk+. It should basically contain: + +---- +01: ################################################################################ +02: # +03: # foo +04: # +05: ################################################################################ +06: +07: LINUX_EXTENSIONS += foo +08: +09: define FOO_PREPARE_KERNEL +10: $(FOO_DIR)/prepare-kernel-tree.sh --linux-dir=$(@D) +11: endef +---- + +On line 7, we add the Linux extension +foo+ to the list of available +Linux extensions. + +On line 9-11, we define what should be done by the extension to modify +the Linux kernel tree; this is specific to the linux extension and can +use the variables defined by the +foo+ package, like: +$(FOO_DIR)+ or ++$(FOO_VERSION)+... as well as all the Linux variables, like: ++$(LINUX_VERSION)+ or +$(LINUX_VERSION_PROBED)+, +$(KERNEL_ARCH)+... +See the xref:kernel-variables[definition of those kernel variables]. diff --git a/docs/manual/adding-packages-linux-kernel-spec-infra.txt b/docs/manual/adding-packages-linux-kernel-spec-infra.txt deleted file mode 100644 index b948e208da8..00000000000 --- a/docs/manual/adding-packages-linux-kernel-spec-infra.txt +++ /dev/null @@ -1,152 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[linux-kernel-specific-infra]] -=== Infrastructure specific to the Linux kernel package - -The Linux kernel package can use some specific infrastructures based on package -hooks for building Linux kernel tools or/and building Linux kernel extensions. - -[[linux-kernel-tools]] -==== linux-kernel-tools - -Buildroot offers a helper infrastructure to build some userspace tools -for the target available within the Linux kernel sources. Since their -source code is part of the kernel source code, a special package, -+linux-tools+, exists and re-uses the sources of the Linux kernel that -runs on the target. - -Let's look at an example of a Linux tool. For a new Linux tool named -+foo+, create a new menu entry in the existing -+package/linux-tools/Config.in+. This file will contain the option -descriptions related to each kernel tool that will be used and -displayed in the configuration tool. It would basically look like: - ------------------------------- -01: config BR2_PACKAGE_LINUX_TOOLS_FOO -02: bool "foo" -03: select BR2_PACKAGE_LINUX_TOOLS -04: help -05: This is a comment that explains what foo kernel tool is. -06: -07: http://foosoftware.org/foo/ ------------------------------- - -The name of the option starts with the prefix +BR2_PACKAGE_LINUX_TOOLS_+, -followed by the uppercase name of the tool (like is done for packages). - -.Note -Unlike other packages, the +linux-tools+ package options appear in the -+linux+ kernel menu, under the `Linux Kernel Tools` sub-menu, not under -the `Target packages` main menu. - -Then for each linux tool, add a new +.mk.in+ file named -+package/linux-tools/linux-tool-foo.mk.in+. It would basically look like: - ------------------------------- -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: LINUX_TOOLS += foo -08: -09: FOO_DEPENDENCIES = libbbb -10: -11: define FOO_BUILD_CMDS -12: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools foo -13: endef -14: -15: define FOO_INSTALL_STAGING_CMDS -16: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ -17: DESTDIR=$(STAGING_DIR) \ -18: foo_install -19: endef -20: -21: define FOO_INSTALL_TARGET_CMDS -22: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ -23: DESTDIR=$(TARGET_DIR) \ -24: foo_install -25: endef --------------------------------- - -On line 7, we register the Linux tool +foo+ to the list of available -Linux tools. - -On line 9, we specify the list of dependencies this tool relies on. These -dependencies are added to the Linux package dependencies list only when the -+foo+ tool is selected. - -The rest of the Makefile, lines 11-25 defines what should be done at the -different steps of the Linux tool build process like for a -xref:generic-package-tutorial[+generic package+]. They will actually be -used only when the +foo+ tool is selected. The only supported commands are -+_BUILD_CMDS+, +_INSTALL_STAGING_CMDS+ and +_INSTALL_TARGET_CMDS+. - -.Note -One *must not* call +$(eval $(generic-package))+ or any other -package infrastructure! Linux tools are not packages by themselves, -they are part of the +linux-tools+ package. - -[[linux-kernel-ext]] -==== linux-kernel-extensions - -Some packages provide new features that require the Linux kernel tree -to be modified. This can be in the form of patches to be applied on -the kernel tree, or in the form of new files to be added to the -tree. The Buildroot's Linux kernel extensions infrastructure provides -a simple solution to automatically do this, just after the kernel -sources are extracted and before the kernel patches are -applied. Examples of extensions packaged using this mechanism are the -real-time extensions Xenomai and RTAI, as well as the set of -out-of-tree LCD screens drivers +fbtft+. - -Let's look at an example on how to add a new Linux extension +foo+. - -First, create the package +foo+ that provides the extension: this -package is a standard package; see the previous chapters on how to -create such a package. This package is in charge of downloading the -sources archive, checking the hash, defining the licence informations -and building user space tools if any. - -Then create the 'Linux extension' proper: create a new menu entry in -the existing +linux/Config.ext.in+. This file contains the option -descriptions related to each kernel extension that will be used and -displayed in the configuration tool. It would basically look like: - ------------------------------- -01: config BR2_LINUX_KERNEL_EXT_FOO -02: bool "foo" -03: help -04: This is a comment that explains what foo kernel extension is. -05: -06: http://foosoftware.org/foo/ ------------------------------- - -Then for each linux extension, add a new +.mk+ file named -+linux/linux-ext-foo.mk+. It should basically contain: - ------------------------------- -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: LINUX_EXTENSIONS += foo -08: -09: define FOO_PREPARE_KERNEL -10: $(FOO_DIR)/prepare-kernel-tree.sh --linux-dir=$(@D) -11: endef --------------------------------- - -On line 7, we add the Linux extension +foo+ to the list of available -Linux extensions. - -On line 9-11, we define what should be done by the extension to modify -the Linux kernel tree; this is specific to the linux extension and can -use the variables defined by the +foo+ package, like: +$(FOO_DIR)+ or -+$(FOO_VERSION)+... as well as all the Linux variables, like: -+$(LINUX_VERSION)+ or +$(LINUX_VERSION_PROBED)+, +$(KERNEL_ARCH)+... -See the xref:kernel-variables[definition of those kernel variables]. diff --git a/docs/manual/adding-packages-luarocks.adoc b/docs/manual/adding-packages-luarocks.adoc new file mode 100644 index 00000000000..e9d47175686 --- /dev/null +++ b/docs/manual/adding-packages-luarocks.adoc @@ -0,0 +1,109 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for LuaRocks-based packages + +[[luarocks-package-tutorial]] + +==== +luarocks-package+ tutorial + +First, let's see how to write a +.mk+ file for a LuaRocks-based package, +with an example : + +---- +01: ################################################################################ +02: # +03: # lua-foo +04: # +05: ################################################################################ +06: +07: LUA_FOO_VERSION = 1.0.2-1 +08: LUA_FOO_NAME_UPSTREAM = foo +09: LUA_FOO_DEPENDENCIES = bar +10: +11: LUA_FOO_BUILD_OPTS += BAR_INCDIR=$(STAGING_DIR)/usr/include +12: LUA_FOO_BUILD_OPTS += BAR_LIBDIR=$(STAGING_DIR)/usr/lib +13: LUA_FOO_LICENSE = luaFoo license +14: LUA_FOO_LICENSE_FILES = $(LUA_FOO_SUBDIR)/COPYING +15: +16: $(eval $(luarocks-package)) +---- + +On line 7, we declare the version of the package (the same as in the rockspec, +which is the concatenation of the upstream version and the rockspec revision, +separated by a hyphen '-'). + +On line 8, we declare that the package is called "foo" on LuaRocks. In +Buildroot, we give Lua-related packages a name that starts with "lua", so the +Buildroot name is different from the upstream name. +LUA_FOO_NAME_UPSTREAM+ +makes the link between the two names. + +On line 9, we declare our dependencies against native libraries, so that they +are built before the build process of our package starts. + +On lines 11-12, we tell Buildroot to pass custom options to LuaRocks when it is +building the package. + +On lines 13-14, we specify the licensing terms for the package. + +Finally, on line 16, we invoke the +luarocks-package+ +macro that generates all the Makefile rules that actually allows the +package to be built. + +Most of these details can be retrieved from the +rock+ and +rockspec+. +So, this file and the Config.in file can be generated by running the +command +luarocks buildroot foo lua-foo+ in the Buildroot +directory. This command runs a specific Buildroot addon of +luarocks+ +that will automatically generate a Buildroot package. The result must +still be manually inspected and possibly modified. + +* The +package/Config.in+ file has to be updated manually to include the + generated Config.in files. + +[[luarocks-package-reference]] + +==== +luarocks-package+ reference + +LuaRocks is a deployment and management system for Lua modules, and supports +various +build.type+: +builtin+, +make+ and +cmake+. In the context of +Buildroot, the +luarocks-package+ infrastructure only supports the +builtin+ +mode. LuaRocks packages that use the +make+ or +cmake+ build mechanisms +should instead be packaged using the +generic-package+ and +cmake-package+ +infrastructures in Buildroot, respectively. + +The main macro of the LuaRocks package infrastructure is +luarocks-package+: +like +generic-package+ it works by defining a number of variables providing +metadata information about the package, and then calling the +luarocks-package+ +macro. + +Just like the generic infrastructure, the LuaRocks infrastructure works +by defining a number of variables before calling the +luarocks-package+ +macro. + +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the LuaRocks infrastructure. + +Two of them are populated by the LuaRocks infrastructure (for the ++download+ step). If your package is not hosted on the LuaRocks mirror ++$(BR2_LUAROCKS_MIRROR)+, you can override them: + +* +LUA_FOO_SITE+, which defaults to +$(BR2_LUAROCKS_MIRROR)+ + +* +LUA_FOO_SOURCE+, which defaults to + +$(lowercase LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).src.rock+ + +A few additional variables, specific to the LuaRocks infrastructure, are +also defined. They can be overridden in specific cases. + +* +LUA_FOO_NAME_UPSTREAM+, which defaults to +lua-foo+, i.e. the Buildroot + package name + +* +LUA_FOO_ROCKSPEC+, which defaults to + +$(lowercase LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).rockspec+ + +* +LUA_FOO_SUBDIR+, which defaults to + +$(LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION_WITHOUT_ROCKSPEC_REVISION)+ + +* +LUA_FOO_BUILD_OPTS+ contains additional build options for the + +luarocks build+ call. diff --git a/docs/manual/adding-packages-luarocks.txt b/docs/manual/adding-packages-luarocks.txt deleted file mode 100644 index ec3d4e7ccdc..00000000000 --- a/docs/manual/adding-packages-luarocks.txt +++ /dev/null @@ -1,101 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for LuaRocks-based packages - -[[luarocks-package-tutorial]] - -==== +luarocks-package+ tutorial - -First, let's see how to write a +.mk+ file for a LuaRocks-based package, -with an example : - ------------------------- -01: ################################################################################ -02: # -03: # lua-foo -04: # -05: ################################################################################ -06: -07: LUA_FOO_VERSION = 1.0.2-1 -08: LUA_FOO_NAME_UPSTREAM = foo -09: LUA_FOO_DEPENDENCIES = bar -10: -11: LUA_FOO_BUILD_OPTS += BAR_INCDIR=$(STAGING_DIR)/usr/include -12: LUA_FOO_BUILD_OPTS += BAR_LIBDIR=$(STAGING_DIR)/usr/lib -13: LUA_FOO_LICENSE = luaFoo license -14: LUA_FOO_LICENSE_FILES = $(LUA_FOO_SUBDIR)/COPYING -15: -16: $(eval $(luarocks-package)) ------------------------- - -On line 7, we declare the version of the package (the same as in the rockspec, -which is the concatenation of the upstream version and the rockspec revision, -separated by a hyphen '-'). - -On line 8, we declare that the package is called "foo" on LuaRocks. In -Buildroot, we give Lua-related packages a name that starts with "lua", so the -Buildroot name is different from the upstream name. +LUA_FOO_NAME_UPSTREAM+ -makes the link between the two names. - -On line 9, we declare our dependencies against native libraries, so that they -are built before the build process of our package starts. - -On lines 11-12, we tell Buildroot to pass custom options to LuaRocks when it is -building the package. - -On lines 13-14, we specify the licensing terms for the package. - -Finally, on line 16, we invoke the +luarocks-package+ -macro that generates all the Makefile rules that actually allows the -package to be built. - -[[luarocks-package-reference]] - -==== +luarocks-package+ reference - -LuaRocks is a deployment and management system for Lua modules, and supports -various +build.type+: +builtin+, +make+ and +cmake+. In the context of -Buildroot, the +luarocks-package+ infrastructure only supports the +builtin+ -mode. LuaRocks packages that use the +make+ or +cmake+ build mechanisms -should instead be packaged using the +generic-package+ and +cmake-package+ -infrastructures in Buildroot, respectively. - -The main macro of the LuaRocks package infrastructure is +luarocks-package+: -like +generic-package+ it works by defining a number of variables providing -metadata information about the package, and then calling +luarocks-package+. It -is worth mentioning that building LuaRocks packages for the host is not -supported, so the macro +host-luarocks-package+ is not implemented. - -Just like the generic infrastructure, the LuaRocks infrastructure works -by defining a number of variables before calling the +luarocks-package+ -macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the LuaRocks infrastructure: -+LUA_FOO_VERSION+, +LUA_FOO_SOURCE+, +LUA_FOO_SITE+, -+LUA_FOO_DEPENDENCIES+, +LUA_FOO_LICENSE+, +LUA_FOO_LICENSE_FILES+. - -Two of them are populated by the LuaRocks infrastructure (for the -+download+ step). If your package is not hosted on the LuaRocks mirror -+$(BR2_LUAROCKS_MIRROR)+, you can override them: - -* +LUA_FOO_SITE+, which defaults to +$(BR2_LUAROCKS_MIRROR)+ - -* +LUA_FOO_SOURCE+, which defaults to - +$(lowercase LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).src.rock+ - -A few additional variables, specific to the LuaRocks infrastructure, are -also defined. They can be overridden in specific cases. - -* +LUA_FOO_NAME_UPSTREAM+, which defaults to +lua-foo+, i.e. the Buildroot - package name - -* +LUA_FOO_ROCKSPEC+, which defaults to - +$(lowercase LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).rockspec+ - -* +LUA_FOO_SUBDIR+, which defaults to - +$(LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION_WITHOUT_ROCKSPEC_REVISION)+ - -* +LUA_FOO_BUILD_OPTS+ contains additional build options for the - +luarocks build+ call. diff --git a/docs/manual/adding-packages-meson.adoc b/docs/manual/adding-packages-meson.adoc new file mode 100644 index 00000000000..01891e03cc1 --- /dev/null +++ b/docs/manual/adding-packages-meson.adoc @@ -0,0 +1,132 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for Meson-based packages + +[[meson-package-tutorial]] + +==== +meson-package+ tutorial + +http://mesonbuild.com[Meson] is an open source build system meant to be both +extremely fast, and, even more importantly, as user friendly as possible. It +uses https://ninja-build.org[Ninja] as a companion tool to perform the actual +build operations. + +Let's see how to write a +.mk+ file for a Meson-based package, with an example: + +---- +01: ################################################################################ +02: # +03: # foo +04: # +05: ################################################################################ +06: +07: FOO_VERSION = 1.0 +08: FOO_SOURCE = foo-$(FOO_VERSION).tar.gz +09: FOO_SITE = http://www.foosoftware.org/download +10: FOO_LICENSE = GPL-3.0+ +11: FOO_LICENSE_FILES = COPYING +12: FOO_INSTALL_STAGING = YES +13: +14: FOO_DEPENDENCIES = host-pkgconf bar +15: +16: ifeq ($(BR2_PACKAGE_BAZ),y) +17: FOO_CONF_OPTS += -Dbaz=true +18: FOO_DEPENDENCIES += baz +19: else +20: FOO_CONF_OPTS += -Dbaz=false +21: endif +22: +23: $(eval $(meson-package)) +---- + +The Makefile starts with the definition of the standard variables for package +declaration (lines 7 to 11). + +On line line 23, we invoke the +meson-package+ macro that generates all the +Makefile rules that actually allows the package to be built. + +In the example, +host-pkgconf+ and +bar+ are declared as dependencies in ++FOO_DEPENDENCIES+ at line 14 because the Meson build file of +foo+ uses +`pkg-config` to determine the compilation flags and libraries of package +bar+. + +Note that it is not necessary to add +host-meson+ in the +FOO_DEPENDENCIES+ +variable of a package, since this basic dependency is automatically added as +needed by the Meson package infrastructure. + +If the "baz" package is selected, then support for the "baz" feature in "foo" is +activated by adding +-Dbaz=true+ to +FOO_CONF_OPTS+ at line 17, as specified in +the +meson_options.txt+ file in "foo" source tree. The "baz" package is also +added to +FOO_DEPENDENCIES+. Note that the support for +baz+ is explicitly +disabled at line 20, if the package is not selected. + +To sum it up, to add a new meson-based package, the Makefile example can be +copied verbatim then edited to replace all occurrences of +FOO+ with the +uppercase name of the new package and update the values of the standard +variables. + +[[meson-package-reference]] + +==== +meson-package+ reference + +The main macro of the Meson package infrastructure is +meson-package+. It is +similar to the +generic-package+ macro. The ability to have target and host +packages is also available, with the +host-meson-package+ macro. + +Just like the generic infrastructure, the Meson infrastructure works by defining +a number of variables before calling the +meson-package+ macro. + +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the Meson infrastructure. + +A few additional variables, specific to the Meson infrastructure, can also be +defined. Many of them are only useful in very specific cases, typical packages +will therefore only use a few of them. + +* +FOO_SUBDIR+ may contain the name of a subdirectory inside the + package that contains the main meson.build file. This is useful, + if for example, the main meson.build file is not at the root of + the tree extracted by the tarball. If +HOST_FOO_SUBDIR+ is not + specified, it defaults to +FOO_SUBDIR+. + +* +FOO_CONF_ENV+, to specify additional environment variables to pass to + +meson+ for the configuration step. By default, empty. + +* +FOO_CONF_OPTS+, to specify additional options to pass to +meson+ for the + configuration step. By default, empty. + +* +FOO_CFLAGS+, to specify compiler arguments added to the package specific + +cross-compile.conf+ file +c_args+ property. By default, the value of + +TARGET_CFLAGS+. + +* +FOO_CXXFLAGS+, to specify compiler arguments added to the package specific + +cross-compile.conf+ file +cpp_args+ property. By default, the value of + +TARGET_CXXFLAGS+. + +* +FOO_LDFLAGS+, to specify compiler arguments added to the package specific + +cross-compile.conf+ file +c_link_args+ and +cpp_link_args+ properties. By + default, the value of +TARGET_LDFLAGS+. + +* +FOO_MESON_EXTRA_BINARIES+, to specify a space-separated list of programs + to add to the `[binaries]` section of the meson `cross-compilation.conf` + configuration file. The format is `program-name='/path/to/program'`, with + no space around the +=+ sign, and with the path of the program between + single quotes. By default, empty. Note that Buildroot already sets the + correct values for +c+, +cpp+, +ar+, +strip+, and +pkgconfig+. + +* +FOO_MESON_EXTRA_PROPERTIES+, to specify a space-separated list of + properties to add to the `[properties]` section of the meson + `cross-compilation.conf` configuration file. The format is + `property-name=` with no space around the +=+ sign, and with + single quotes around string values. By default, empty. Note that + Buildroot already sets values for +needs_exe_wrapper+, +c_args+, + +c_link_args+, +cpp_args+, +cpp_link_args+, +sys_root+, and + +pkg_config_libdir+. + +* +FOO_NINJA_ENV+, to specify additional environment variables to pass to + +ninja+, meson companion tool in charge of the build operations. By default, + empty. + +* +FOO_NINJA_OPTS+, to specify a space-separated list of targets to build. By + default, empty, to build the default target(s). diff --git a/docs/manual/adding-packages-perl.adoc b/docs/manual/adding-packages-perl.adoc new file mode 100644 index 00000000000..405931770c2 --- /dev/null +++ b/docs/manual/adding-packages-perl.adoc @@ -0,0 +1,126 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for Perl/CPAN packages + +[[perl-package-tutorial]] + +==== +perl-package+ tutorial + +First, let's see how to write a +.mk+ file for a Perl/CPAN package, +with an example : + +---- +01: ################################################################################ +02: # +03: # perl-foo-bar +04: # +05: ################################################################################ +06: +07: PERL_FOO_BAR_VERSION = 0.02 +08: PERL_FOO_BAR_SOURCE = Foo-Bar-$(PERL_FOO_BAR_VERSION).tar.gz +09: PERL_FOO_BAR_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MO/MONGER +10: PERL_FOO_BAR_DEPENDENCIES = perl-strictures +11: PERL_FOO_BAR_LICENSE = Artistic or GPL-1.0+ +12: PERL_FOO_BAR_LICENSE_FILES = LICENSE +13: PERL_FOO_BAR_DISTNAME = Foo-Bar +14: +15: $(eval $(perl-package)) +---- + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball and the location +of the tarball on a CPAN server. Buildroot will automatically download +the tarball from this location. + +On line 10, we declare our dependencies, so that they are built +before the build process of our package starts. + +On line 11 and 12, we give licensing details about the package (its +license on line 11, and the file containing the license text on line +12). + +On line 13, the name of the distribution as needed by the script ++utils/scancpan+ (in order to regenerate/upgrade these package files). + +Finally, on line 15, we invoke the +perl-package+ macro that +generates all the Makefile rules that actually allow the package to be +built. + +Most of these data can be retrieved from https://metacpan.org/. +So, this file and the Config.in can be generated by running +the script +utils/scancpan Foo-Bar+ in the Buildroot directory +(or in a br2-external tree). +This script creates a Config.in file and foo-bar.mk file for the +requested package, and also recursively for all dependencies specified by +CPAN. You should still manually edit the result. In particular, the +following things should be checked. + +* If the perl module links with a shared library that is provided by + another (non-perl) package, this dependency is not added automatically. + It has to be added manually to +PERL_FOO_BAR_DEPENDENCIES+. +* The +package/Config.in+ file has to be updated manually to include the + generated Config.in files. As a hint, the +scancpan+ script prints out + the required +source "..."+ statements, sorted alphabetically. + +[[perl-package-reference]] + +==== +perl-package+ reference + +As a policy, packages that provide Perl/CPAN modules should all be +named +perl-+ in Buildroot. + +This infrastructure handles various Perl build systems : ++ExtUtils-MakeMaker+ (EUMM), +Module-Build+ (MB) and +Module-Build-Tiny+. ++Build.PL+ is preferred by default when a package provides a +Makefile.PL+ +and a +Build.PL+. + +The main macro of the Perl/CPAN package infrastructure is ++perl-package+. It is similar to the +generic-package+ macro. The ability to +have target and host packages is also available, with the ++host-perl-package+ macro. + +Just like the generic infrastructure, the Perl/CPAN infrastructure +works by defining a number of variables before calling the ++perl-package+ macro. + +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the Perl/CPAN infrastructure. + +Note that setting +PERL_FOO_INSTALL_STAGING+ to +YES+ has no effect +unless a +PERL_FOO_INSTALL_STAGING_CMDS+ variable is defined. The perl +infrastructure doesn't define these commands since Perl modules generally +don't need to be installed to the +staging+ directory. + +A few additional variables, specific to the Perl/CPAN infrastructure, +can also be defined. Many of them are only useful in very specific +cases, typical packages will therefore only use a few of them. + +* +PERL_FOO_PREFER_INSTALLER+/+HOST_PERL_FOO_PREFER_INSTALLER+, + specifies the preferred installation method. Possible values are + +EUMM+ (for +Makefile.PL+ based installation using + +ExtUtils-MakeMaker+) and +MB+ (for +Build.PL+ based installation + using +Module-Build+). This variable is only used when the package + provides both installation methods. + +* +PERL_FOO_CONF_ENV+/+HOST_PERL_FOO_CONF_ENV+, to specify additional + environment variables to pass to the +perl Makefile.PL+ or +perl Build.PL+. + By default, empty. + +* +PERL_FOO_CONF_OPTS+/+HOST_PERL_FOO_CONF_OPTS+, to specify additional + configure options to pass to the +perl Makefile.PL+ or +perl Build.PL+. + By default, empty. + +* +PERL_FOO_BUILD_OPTS+/+HOST_PERL_FOO_BUILD_OPTS+, to specify additional + options to pass to +make pure_all+ or +perl Build build+ in the build step. + By default, empty. + +* +PERL_FOO_INSTALL_TARGET_OPTS+, to specify additional options to + pass to +make pure_install+ or +perl Build install+ in the install step. + By default, empty. + +* +HOST_PERL_FOO_INSTALL_OPTS+, to specify additional options to + pass to +make pure_install+ or +perl Build install+ in the install step. + By default, empty. diff --git a/docs/manual/adding-packages-perl.txt b/docs/manual/adding-packages-perl.txt deleted file mode 100644 index 08ef559209d..00000000000 --- a/docs/manual/adding-packages-perl.txt +++ /dev/null @@ -1,125 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for Perl/CPAN packages - -[[perl-package-tutorial]] - -==== +perl-package+ tutorial - -First, let's see how to write a +.mk+ file for a Perl/CPAN package, -with an example : - ------------------------- -01: ################################################################################ -02: # -03: # perl-foo-bar -04: # -05: ################################################################################ -06: -07: PERL_FOO_BAR_VERSION = 0.02 -08: PERL_FOO_BAR_SOURCE = Foo-Bar-$(PERL_FOO_BAR_VERSION).tar.gz -09: PERL_FOO_BAR_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MO/MONGER -10: PERL_FOO_BAR_DEPENDENCIES = perl-strictures -11: PERL_FOO_BAR_LICENSE = Artistic or GPL-1.0+ -12: PERL_FOO_BAR_LICENSE_FILES = LICENSE -13: -14: $(eval $(perl-package)) ------------------------- - -On line 7, we declare the version of the package. - -On line 8 and 9, we declare the name of the tarball and the location -of the tarball on a CPAN server. Buildroot will automatically download -the tarball from this location. - -On line 10, we declare our dependencies, so that they are built -before the build process of our package starts. - -On line 11 and 12, we give licensing details about the package (its -license on line 11, and the file containing the license text on line -12). - -Finally, on line 14, we invoke the +perl-package+ macro that -generates all the Makefile rules that actually allow the package to be -built. - -Most of these data can be retrieved from https://metacpan.org/. -So, this file and the Config.in can be generated by running -the script +supports/scripts/scancpan Foo-Bar+ in the Buildroot directory -(or in a br2-external tree). -This script creates a Config.in file and foo-bar.mk file for the -requested package, and also recursively for all dependencies specified by -CPAN. You should still manually edit the result. In particular, the -following things should be checked. - -* If the perl module links with a shared library that is provided by - another (non-perl) package, this dependency is not added automatically. - It has to be added manually to +PERL_FOO_BAR_DEPENDENCIES+. -* The +package/Config.in+ file has to be updated manually to include the - generated Config.in files. As a hint, the +scancpan+ script prints out - the required +source "..."+ statements, sorted alphabetically. - -[[perl-package-reference]] - -==== +perl-package+ reference - -As a policy, packages that provide Perl/CPAN modules should all be -named +perl-+ in Buildroot. - -This infrastructure handles various Perl build systems : -+ExtUtils-MakeMaker+ (EUMM), +Module-Build+ (MB) and +Module-Build-Tiny+. -+Build.PL+ is preferred by default when a package provides a +Makefile.PL+ -and a +Build.PL+. - -The main macro of the Perl/CPAN package infrastructure is -+perl-package+. It is similar to the +generic-package+ macro. The ability to -have target and host packages is also available, with the -+host-perl-package+ macro. - -Just like the generic infrastructure, the Perl/CPAN infrastructure -works by defining a number of variables before calling the -+perl-package+ macro. - -First, all the package metadata information variables that exist in the -generic infrastructure also exist in the Perl/CPAN infrastructure: -+PERL_FOO_VERSION+, +PERL_FOO_SOURCE+, -+PERL_FOO_PATCH+, +PERL_FOO_SITE+, -+PERL_FOO_SUBDIR+, +PERL_FOO_DEPENDENCIES+, -+PERL_FOO_INSTALL_TARGET+. - -Note that setting +PERL_FOO_INSTALL_STAGING+ to +YES+ has no effect -unless a +PERL_FOO_INSTALL_STAGING_CMDS+ variable is defined. The perl -infrastructure doesn't define these commands since Perl modules generally -don't need to be installed to the +staging+ directory. - -A few additional variables, specific to the Perl/CPAN infrastructure, -can also be defined. Many of them are only useful in very specific -cases, typical packages will therefore only use a few of them. - -* +PERL_FOO_PREFER_INSTALLER+/+HOST_PERL_FOO_PREFER_INSTALLER+, - specifies the preferred installation method. Possible values are - +EUMM+ (for +Makefile.PL+ based installation using - +ExtUtils-MakeMaker+) and +MB+ (for +Build.PL+ based installation - using +Module-Build+). This variable is only used when the package - provides both installation methods. - -* +PERL_FOO_CONF_ENV+/+HOST_PERL_FOO_CONF_ENV+, to specify additional - environment variables to pass to the +perl Makefile.PL+ or +perl Build.PL+. - By default, empty. - -* +PERL_FOO_CONF_OPTS+/+HOST_PERL_FOO_CONF_OPTS+, to specify additional - configure options to pass to the +perl Makefile.PL+ or +perl Build.PL+. - By default, empty. - -* +PERL_FOO_BUILD_OPTS+/+HOST_PERL_FOO_BUILD_OPTS+, to specify additional - options to pass to +make pure_all+ or +perl Build build+ in the build step. - By default, empty. - -* +PERL_FOO_INSTALL_TARGET_OPTS+, to specify additional options to - pass to +make pure_install+ or +perl Build install+ in the install step. - By default, empty. - -* +HOST_PERL_FOO_INSTALL_OPTS+, to specify additional options to - pass to +make pure_install+ or +perl Build install+ in the install step. - By default, empty. diff --git a/docs/manual/adding-packages-python.adoc b/docs/manual/adding-packages-python.adoc new file mode 100644 index 00000000000..d6bae299a0b --- /dev/null +++ b/docs/manual/adding-packages-python.adoc @@ -0,0 +1,243 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for Python packages + +This infrastructure applies to Python packages that use the standard +Python setuptools, pep517, flit or maturin mechanisms as their build +system, generally recognizable by the usage of a +setup.py+ script or ++pyproject.toml+ file. + +[[python-package-tutorial]] + +==== +python-package+ tutorial + +First, let's see how to write a +.mk+ file for a Python package, +with an example : + +---- +01: ################################################################################ +02: # +03: # python-foo +04: # +05: ################################################################################ +06: +07: PYTHON_FOO_VERSION = 1.0 +08: PYTHON_FOO_SOURCE = python-foo-$(PYTHON_FOO_VERSION).tar.xz +09: PYTHON_FOO_SITE = http://www.foosoftware.org/download +10: PYTHON_FOO_LICENSE = BSD-3-Clause +11: PYTHON_FOO_LICENSE_FILES = LICENSE +12: PYTHON_FOO_ENV = SOME_VAR=1 +13: PYTHON_FOO_DEPENDENCIES = libmad +14: PYTHON_FOO_SETUP_TYPE = setuptools +15: +16: $(eval $(python-package)) +---- + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball +recommended) and the location of the tarball on the Web. Buildroot +will automatically download the tarball from this location. + +On line 10 and 11, we give licensing details about the package (its +license on line 10, and the file containing the license text on line +11). + +On line 12, we tell Buildroot to pass custom options to the Python ++setup.py+ script when it is configuring the package. + +On line 13, we declare our dependencies, so that they are built +before the build process of our package starts. + +On line 14, we declare the specific Python build system being used. In +this case the +setuptools+ Python build system is used. The seven +supported ones are +flit+, +hatch+, +pep517+, +poetry+, +setuptools+, ++setuptools-rust+ and +maturin+. + +Finally, on line 16, we invoke the +python-package+ macro that +generates all the Makefile rules that actually allow the package to be +built. + +[[python-package-reference]] + +==== +python-package+ reference + +As a policy, packages that merely provide Python modules should all be +named +python-+ in Buildroot. Other packages that use the +Python build system, but are not Python modules, can freely choose +their name (existing examples in Buildroot are +scons+ and ++supervisor+). + +The main macro of the Python package infrastructure is ++python-package+. It is similar to the +generic-package+ macro. It is +also possible to create Python host packages with the ++host-python-package+ macro. + +Just like the generic infrastructure, the Python infrastructure works +by defining a number of variables before calling the +python-package+ +or +host-python-package+ macros. + +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the Python infrastructure. + +Note that: + + * It is not necessary to add +python+ or +host-python+ in the + +PYTHON_FOO_DEPENDENCIES+ variable of a package, since these basic + dependencies are automatically added as needed by the Python + package infrastructure. + + * Similarly, it is not needed to add +host-python-setuptools+ to + +PYTHON_FOO_DEPENDENCIES+ for setuptools-based packages, since it's + automatically added by the Python infrastructure as needed. + +One variable specific to the Python infrastructure is mandatory: + +* +PYTHON_FOO_SETUP_TYPE+, to define which Python build system is used + by the package. The seven supported values are +flit+, +hatch+, + +pep517+, +poetry+, +setuptools+, +setuptools-rust+ and +maturin+. + If you don't know which one is used in your package, look at the + +setup.py+ or +pyproject.toml+ file in your package source code, + and see whether it imports things from the +flit+ module or the + +setuptools+ module. If the package is using a +pyproject.toml+ + file without any build-system requires and with a local in-tree + backend-path one should use +pep517+. + +A few additional variables, specific to the Python infrastructure, can +optionally be defined, depending on the package's needs. Many of them +are only useful in very specific cases, typical packages will +therefore only use a few of them, or none. + +* +PYTHON_FOO_SUBDIR+ may contain the name of a subdirectory inside the + package that contains the main +setup.py+ or +pyproject.toml+ file. + This is useful, if for example, the main +setup.py+ or +pyproject.toml+ + file is not at the root of the tree extracted by the tarball. If + +HOST_PYTHON_FOO_SUBDIR+ is not specified, it defaults to + +PYTHON_FOO_SUBDIR+. + +* +PYTHON_FOO_ENV+, to specify additional environment variables to + pass to the Python +setup.py+ script (for setuptools packages) or + the +support/scripts/pyinstaller.py+ script (for flit/pep517 + packages) for both the build and install steps. Note that the + infrastructure is automatically passing several standard variables, + defined in +PKG_PYTHON_SETUPTOOLS_ENV+ (for setuptools target + packages), +HOST_PKG_PYTHON_SETUPTOOLS_ENV+ (for setuptools host + packages), +PKG_PYTHON_PEP517_ENV+ (for flit/pep517 target packages) + and +HOST_PKG_PYTHON_PEP517_ENV+ (for flit/pep517 host packages). + +* +PYTHON_FOO_BUILD_OPTS+, to specify additional options to pass to + the Python +python -m build+ call. To pass additional options to the + build backend use the +--config-setting=+ (+-C+) flag of the +build+ + module. + +* +PYTHON_FOO_INSTALL_TARGET_OPTS+, +PYTHON_FOO_INSTALL_STAGING_OPTS+, + +HOST_PYTHON_FOO_INSTALL_OPTS+ to specify additional options to pass + to the Python +setup.py+ script (for setuptools packages) or + +support/scripts/pyinstaller.py+ (for flit/pep517 packages) during + the target installation step, the staging installation step or the + host installation, respectively. + +With the Python infrastructure, all the steps required to build and +install the packages are already defined, and they generally work well +for most Python-based packages. However, when required, it is still +possible to customize what is done in any particular step: + +* By adding a post-operation hook (after extract, patch, configure, + build or install). See xref:hooks[] for details. + +* By overriding one of the steps. For example, even if the Python + infrastructure is used, if the package +.mk+ file defines its own + +PYTHON_FOO_BUILD_CMDS+ variable, it will be used instead of the + default Python one. However, using this method should be restricted + to very specific cases. Do not use it in the general case. + +[[scanpypi]] + +==== Generating a +python-package+ from a PyPI repository + +If the Python package for which you would like to create a Buildroot +package is available on PyPI, you may want to use the +scanpypi+ tool +located in +utils/+ to automate the process. + +You can find the list of existing PyPI packages +https://pypi.python.org[here]. + ++scanpypi+ requires Python's +setuptools+ package to be installed on +your host. + +When at the root of your buildroot directory just do : + +---- +utils/scanpypi foo bar -o package +---- + +This will generate packages +python-foo+ and +python-bar+ in the package +folder if they exist on https://pypi.python.org. + +Find the +external python modules+ menu and insert your package inside. +Keep in mind that the items inside a menu should be in alphabetical order. + +Please keep in mind that you'll most likely have to manually check the +package for any mistakes as there are things that cannot be guessed by +the generator (e.g. dependencies on any of the python core modules +such as BR2_PACKAGE_PYTHON_ZLIB). Also, please take note that the +license and license files are guessed and must be checked. You also +need to manually add the package to the +package/Config.in+ file. + +If your Buildroot package is not in the official Buildroot tree but in +a br2-external tree, use the -o flag as follows: + +---- +utils/scanpypi foo bar -o other_package_dir +---- + +This will generate packages +python-foo+ and +python-bar+ in the ++other_package_directory+ instead of +package+. + +Option +-h+ will list the available options: + +---- +utils/scanpypi -h +---- + +[[python-package-cffi-backend]] + +==== +python-package+ CFFI backend + +C Foreign Function Interface for Python (CFFI) provides a convenient +and reliable way to call compiled C code from Python using interface +declarations written in C. Python packages relying on this backend can +be identified by the appearance of a +cffi+ dependency in the ++install_requires+ field of their +setup.py+ file. + +Such a package should: + + * add +python-cffi+ as a runtime dependency in order to install the +compiled C library wrapper on the target. This is achieved by adding ++select BR2_PACKAGE_PYTHON_CFFI+ to the package +Config.in+. + +---- +config BR2_PACKAGE_PYTHON_FOO + bool "python-foo" + select BR2_PACKAGE_PYTHON_CFFI # runtime +---- + + * add +host-python-cffi+ as a build-time dependency in order to +cross-compile the C wrapper. This is achieved by adding ++host-python-cffi+ to the +PYTHON_FOO_DEPENDENCIES+ variable. + +---- +################################################################################ +# +# python-foo +# +################################################################################ + +... + +PYTHON_FOO_DEPENDENCIES = host-python-cffi + +$(eval $(python-package)) +---- diff --git a/docs/manual/adding-packages-python.txt b/docs/manual/adding-packages-python.txt deleted file mode 100644 index 5eb6ba51b11..00000000000 --- a/docs/manual/adding-packages-python.txt +++ /dev/null @@ -1,251 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for Python packages - -This infrastructure applies to Python packages that use the standard -Python setuptools mechanism as their build system, generally -recognizable by the usage of a +setup.py+ script. - -[[python-package-tutorial]] - -==== +python-package+ tutorial - -First, let's see how to write a +.mk+ file for a Python package, -with an example : - ------------------------- -01: ################################################################################ -02: # -03: # python-foo -04: # -05: ################################################################################ -06: -07: PYTHON_FOO_VERSION = 1.0 -08: PYTHON_FOO_SOURCE = python-foo-$(PYTHON_FOO_VERSION).tar.xz -09: PYTHON_FOO_SITE = http://www.foosoftware.org/download -10: PYTHON_FOO_LICENSE = BSD-3-Clause -11: PYTHON_FOO_LICENSE_FILES = LICENSE -12: PYTHON_FOO_ENV = SOME_VAR=1 -13: PYTHON_FOO_DEPENDENCIES = libmad -14: PYTHON_FOO_SETUP_TYPE = distutils -15: -16: $(eval $(python-package)) ------------------------- - -On line 7, we declare the version of the package. - -On line 8 and 9, we declare the name of the tarball (xz-ed tarball -recommended) and the location of the tarball on the Web. Buildroot -will automatically download the tarball from this location. - -On line 10 and 11, we give licensing details about the package (its -license on line 10, and the file containing the license text on line -11). - -On line 12, we tell Buildroot to pass custom options to the Python -+setup.py+ script when it is configuring the package. - -On line 13, we declare our dependencies, so that they are built -before the build process of our package starts. - -On line 14, we declare the specific Python build system being used. In -this case the +distutils+ Python build system is used. The two -supported ones are +distutils+ and +setuptools+. - -Finally, on line 16, we invoke the +python-package+ macro that -generates all the Makefile rules that actually allow the package to be -built. - -[[python-package-reference]] - -==== +python-package+ reference - -As a policy, packages that merely provide Python modules should all be -named +python-+ in Buildroot. Other packages that use the -Python build system, but are not Python modules, can freely choose -their name (existing examples in Buildroot are +scons+ and -+supervisor+). - -In their +Config.in+ file, they should depend on +BR2_PACKAGE_PYTHON+ -so that when Buildroot will enable Python 3 usage for modules, we will -be able to enable Python modules progressively on Python 3. - -The main macro of the Python package infrastructure is -+python-package+. It is similar to the +generic-package+ macro. It is -also possible to create Python host packages with the -+host-python-package+ macro. - -Just like the generic infrastructure, the Python infrastructure works -by defining a number of variables before calling the +python-package+ -or +host-python-package+ macros. - -All the package metadata information variables that exist in the -xref:generic-package-reference[generic package infrastructure] also -exist in the Python infrastructure: +PYTHON_FOO_VERSION+, -+PYTHON_FOO_SOURCE+, +PYTHON_FOO_PATCH+, +PYTHON_FOO_SITE+, -+PYTHON_FOO_SUBDIR+, +PYTHON_FOO_DEPENDENCIES+, +PYTHON_FOO_LICENSE+, -+PYTHON_FOO_LICENSE_FILES+, +PYTHON_FOO_INSTALL_STAGING+, etc. - -Note that: - - * It is not necessary to add +python+ or +host-python+ in the - +PYTHON_FOO_DEPENDENCIES+ variable of a package, since these basic - dependencies are automatically added as needed by the Python - package infrastructure. - - * Similarly, it is not needed to add +host-setuptools+ and/or - +host-distutilscross+ dependencies to +PYTHON_FOO_DEPENDENCIES+ for - setuptools-based packages, since these are automatically added by - the Python infrastructure as needed. - -One variable specific to the Python infrastructure is mandatory: - -* +PYTHON_FOO_SETUP_TYPE+, to define which Python build system is used - by the package. The two supported values are +distutils+ and - +setuptools+. If you don't know which one is used in your package, - look at the +setup.py+ file in your package source code, and see - whether it imports things from the +distutils+ module or the - +setuptools+ module. - -A few additional variables, specific to the Python infrastructure, can -optionally be defined, depending on the package's needs. Many of them -are only useful in very specific cases, typical packages will -therefore only use a few of them, or none. - -* +PYTHON_FOO_ENV+, to specify additional environment variables to - pass to the Python +setup.py+ script (for both the build and install - steps). Note that the infrastructure is automatically passing - several standard variables, defined in +PKG_PYTHON_DISTUTILS_ENV+ - (for distutils target packages), +HOST_PKG_PYTHON_DISTUTILS_ENV+ - (for distutils host packages), +PKG_PYTHON_SETUPTOOLS_ENV+ (for - setuptools target packages) and +HOST_PKG_PYTHON_SETUPTOOLS_ENV+ - (for setuptools host packages). - -* +PYTHON_FOO_BUILD_OPTS+, to specify additional options to pass to the - Python +setup.py+ script during the build step. For target distutils - packages, the +PKG_PYTHON_DISTUTILS_BUILD_OPTS+ options are already - passed automatically by the infrastructure. - -* +PYTHON_FOO_INSTALL_TARGET_OPTS+, +PYTHON_FOO_INSTALL_STAGING_OPTS+, - +HOST_PYTHON_FOO_INSTALL_OPTS+ to specify additional options to pass - to the Python +setup.py+ script during the target installation step, - the staging installation step or the host installation, - respectively. Note that the infrastructure is automatically passing - some options, defined in +PKG_PYTHON_DISTUTILS_INSTALL_TARGET_OPTS+ - or +PKG_PYTHON_DISTUTILS_INSTALL_STAGING_OPTS+ (for target distutils - packages), +HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS+ (for host - distutils packages), +PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS+ or - +PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_OPTS+ (for target setuptools - packages) and +HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS+ (for host - setuptools packages). - -* +HOST_PYTHON_FOO_NEEDS_HOST_PYTHON+, to define the host python - interpreter. The usage of this variable is limited to host - packages. The two supported value are +python2+ and +python3+. It - will ensure the right host python package is available and will - invoke it for the build. If some build steps are overloaded, the - right python interpreter must be explicitly called in the commands. - -With the Python infrastructure, all the steps required to build and -install the packages are already defined, and they generally work well -for most Python-based packages. However, when required, it is still -possible to customize what is done in any particular step: - -* By adding a post-operation hook (after extract, patch, configure, - build or install). See xref:hooks[] for details. - -* By overriding one of the steps. For example, even if the Python - infrastructure is used, if the package +.mk+ file defines its own - +PYTHON_FOO_BUILD_CMDS+ variable, it will be used instead of the - default Python one. However, using this method should be restricted - to very specific cases. Do not use it in the general case. - -[[scanpypi]] - -==== Generating a +python-package+ from a PyPI repository - -If the Python package for which you would like to create a Buildroot -package is available on PyPI, you may want to use the +scanpypi+ tool -located in +utils/+ to automate the process. - -You can find the list of existing PyPI packages -https://pypi.python.org[here]. - -+scanpypi+ requires Python's +setuptools+ package to be installed on -your host. - -When at the root of your buildroot directory just do : - ------------------------ -utils/scanpypi foo bar -o package ------------------------ - -This will generate packages +python-foo+ and +python-bar+ in the package -folder if they exist on https://pypi.python.org. - -Find the +external python modules+ menu and insert your package inside. -Keep in mind that the items inside a menu should be in alphabetical order. - -Please keep in mind that you'll most likely have to manually check the -package for any mistakes as there are things that cannot be guessed by -the generator (e.g. dependencies on any of the python core modules -such as BR2_PACKAGE_PYTHON_ZLIB). Also, please take note that the -license and license files are guessed and must be checked. You also -need to manually add the package to the +package/Config.in+ file. - -If your Buildroot package is not in the official Buildroot tree but in -a br2-external tree, use the -o flag as follows: - ------------------------ -utils/scanpypi foo bar -o other_package_dir ------------------------ - -This will generate packages +python-foo+ and +python-bar+ in the -+other_package_directory+ instead of +package+. - -Option +-h+ will list the available options: - ------------------------ -utils/scanpypi -h ------------------------ - -[[python-package-cffi-backend]] - -==== +python-package+ CFFI backend - -C Foreign Function Interface for Python (CFFI) provides a convenient -and reliable way to call compiled C code from Python using interface -declarations written in C. Python packages relying on this backend can -be identified by the appearance of a +cffi+ dependency in the -+install_requires+ field of their +setup.py+ file. - -Such a package should: - - * add +python-cffi+ as a runtime dependency in order to install the -compiled C library wrapper on the target. This is achieved by adding -+select BR2_PACKAGE_PYTHON_CFFI+ to the package +Config.in+. - ------------------------- -config BR2_PACKAGE_PYTHON_FOO - bool "python-foo" - select BR2_PACKAGE_PYTHON_CFFI # runtime ------------------------- - - * add +host-python-cffi+ as a build-time dependency in order to -cross-compile the C wrapper. This is achieved by adding -+host-python-cffi+ to the +PYTHON_FOO_DEPENDENCIES+ variable. - ------------------------- -################################################################################ -# -# python-foo -# -################################################################################ - -... - -PYTHON_FOO_DEPENDENCIES = host-python-cffi - -$(eval $(python-package)) ------------------------- diff --git a/docs/manual/adding-packages-qmake.adoc b/docs/manual/adding-packages-qmake.adoc new file mode 100644 index 00000000000..e09da166b90 --- /dev/null +++ b/docs/manual/adding-packages-qmake.adoc @@ -0,0 +1,83 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for QMake-based packages + +[[qmake-package-tutorial]] + +==== +qmake-package+ tutorial + +First, let's see how to write a +.mk+ file for a QMake-based package, with +an example : + +---- +01: ################################################################################ +02: # +03: # libfoo +04: # +05: ################################################################################ +06: +07: LIBFOO_VERSION = 1.0 +08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +09: LIBFOO_SITE = http://www.foosoftware.org/download +10: LIBFOO_CONF_OPTS = QT_CONFIG+=bar QT_CONFIG-=baz +11: LIBFOO_DEPENDENCIES = bar +12: +13: $(eval $(qmake-package)) +---- + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball +recommended) and the location of the tarball on the Web. Buildroot +will automatically download the tarball from this location. + +On line 10, we tell Buildroot what options to enable for libfoo. + +On line 11, we tell Buildroot the dependencies of libfoo. + +Finally, on line line 13, we invoke the +qmake-package+ +macro that generates all the Makefile rules that actually allows the +package to be built. + +[[qmake-package-reference]] + +==== +qmake-package+ reference + +The main macro of the QMake package infrastructure is +qmake-package+. +It is similar to the +generic-package+ macro. + +Just like the generic infrastructure, the QMake infrastructure works +by defining a number of variables before calling the +qmake-package+ +macro. + +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the QMake infrastructure. + +A few additional variables, specific to the QMake infrastructure, can +also be defined. + +* +LIBFOO_CONF_ENV+, to specify additional environment variables to + pass to the +qmake+ script for the configuration step. By default, empty. + +* +LIBFOO_CONF_OPTS+, to specify additional options to pass to the + +qmake+ script for the configuration step. By default, empty. + +* +LIBFOO_MAKE_ENV+, to specify additional environment variables to the + +make+ command during the build and install steps. By default, empty. + +* +LIBFOO_MAKE_OPTS+, to specify additional targets to pass to the + +make+ command during the build step. By default, empty. + +* +LIBFOO_INSTALL_STAGING_OPTS+, to specify additional targets to pass + to the +make+ command during the staging installation step. By default, + +install+. + +* +LIBFOO_INSTALL_TARGET_OPTS+, to specify additional targets to pass + to the +make+ command during the target installation step. By default, + +install+. + +* +LIBFOO_SYNC_QT_HEADERS+, to run syncqt.pl before qmake. Some packages + need this to have a properly populated include directory before + running the build. diff --git a/docs/manual/adding-packages-rebar.adoc b/docs/manual/adding-packages-rebar.adoc new file mode 100644 index 00000000000..d2ed67c4741 --- /dev/null +++ b/docs/manual/adding-packages-rebar.adoc @@ -0,0 +1,104 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for rebar-based packages + +[[rebar-package-tutorial]] + +==== +rebar-package+ tutorial + +First, let's see how to write a +.mk+ file for a rebar-based package, +with an example : + +---- +01: ################################################################################ +02: # +03: # erlang-foobar +04: # +05: ################################################################################ +06: +07: ERLANG_FOOBAR_VERSION = 1.0 +08: ERLANG_FOOBAR_SOURCE = erlang-foobar-$(ERLANG_FOOBAR_VERSION).tar.xz +09: ERLANG_FOOBAR_SITE = http://www.foosoftware.org/download +10: ERLANG_FOOBAR_DEPENDENCIES = host-libaaa libbbb +11: +12: $(eval $(rebar-package)) +---- + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball +recommended) and the location of the tarball on the Web. Buildroot +will automatically download the tarball from this location. + +On line 10, we declare our dependencies, so that they are built +before the build process of our package starts. + +Finally, on line 12, we invoke the +rebar-package+ macro that +generates all the Makefile rules that actually allows the package to +be built. + +[[rebar-package-reference]] + +==== +rebar-package+ reference + +The main macro of the +rebar+ package infrastructure is ++rebar-package+. It is similar to the +generic-package+ macro. The +ability to have host packages is also available, with the ++host-rebar-package+ macro. + +Just like the generic infrastructure, the +rebar+ infrastructure works +by defining a number of variables before calling the +rebar-package+ +macro. + +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the +rebar+ infrastructure. + +A few additional variables, specific to the +rebar+ infrastructure, +can also be defined. Many of them are only useful in very specific +cases, typical packages will therefore only use a few of them. + +* +ERLANG_FOOBAR_USE_AUTOCONF+, to specify that the package uses + _autoconf_ at the configuration step. When a package sets this + variable to +YES+, the +autotools+ infrastructure is used. ++ +.Note +You can also use some of the variables from the +autotools+ + infrastructure: +ERLANG_FOOBAR_CONF_ENV+, +ERLANG_FOOBAR_CONF_OPTS+, + +ERLANG_FOOBAR_AUTORECONF+, +ERLANG_FOOBAR_AUTORECONF_ENV+ and + +ERLANG_FOOBAR_AUTORECONF_OPTS+. + +* +ERLANG_FOOBAR_USE_BUNDLED_REBAR+, to specify that the package has + a bundled version of _rebar_ *and* that it shall be used. Valid + values are +YES+ or +NO+ (the default). ++ +.Note +If the package bundles a _rebar_ utility, but can use the generic + one that Buildroot provides, just say +NO+ (i.e., do not specify + this variable). Only set if it is mandatory to use the _rebar_ + utility bundled in this package. + +* +ERLANG_FOOBAR_REBAR_ENV+, to specify additional environment + variables to pass to the _rebar_ utility. + +* +ERLANG_FOOBAR_KEEP_DEPENDENCIES+, to keep the dependencies + described in the rebar.config file. Valid values are +YES+ or +NO+ + (the default). Unless this variable is set to +YES+, the _rebar_ + infrastructure removes such dependencies in a post-patch hook to + ensure rebar does not download nor compile them. + +With the rebar infrastructure, all the steps required to build +and install the packages are already defined, and they generally work +well for most rebar-based packages. However, when required, it is +still possible to customize what is done in any particular step: + +* By adding a post-operation hook (after extract, patch, configure, + build or install). See xref:hooks[] for details. + +* By overriding one of the steps. For example, even if the rebar + infrastructure is used, if the package +.mk+ file defines its + own +ERLANG_FOOBAR_BUILD_CMDS+ variable, it will be used instead + of the default rebar one. However, using this method should be + restricted to very specific cases. Do not use it in the general + case. diff --git a/docs/manual/adding-packages-rebar.txt b/docs/manual/adding-packages-rebar.txt deleted file mode 100644 index be9ede01133..00000000000 --- a/docs/manual/adding-packages-rebar.txt +++ /dev/null @@ -1,102 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for rebar-based packages - -[[rebar-package-tutorial]] - -==== +rebar-package+ tutorial - -First, let's see how to write a +.mk+ file for a rebar-based package, -with an example : - ------------------------------- -01: ################################################################################ -02: # -03: # erlang-foobar -04: # -05: ################################################################################ -06: -07: ERLANG_FOOBAR_VERSION = 1.0 -08: ERLANG_FOOBAR_SOURCE = erlang-foobar-$(ERLANG_FOOBAR_VERSION).tar.xz -09: ERLANG_FOOBAR_SITE = http://www.foosoftware.org/download -10: ERLANG_FOOBAR_DEPENDENCIES = host-libaaa libbbb -11: -12: $(eval $(rebar-package)) --------------------------------- - -On line 7, we declare the version of the package. - -On line 8 and 9, we declare the name of the tarball (xz-ed tarball -recommended) and the location of the tarball on the Web. Buildroot -will automatically download the tarball from this location. - -On line 10, we declare our dependencies, so that they are built -before the build process of our package starts. - -Finally, on line 12, we invoke the +rebar-package+ macro that -generates all the Makefile rules that actually allows the package to -be built. - -[[rebar-package-reference]] - -==== +rebar-package+ reference - -The main macro of the +rebar+ package infrastructure is -+rebar-package+. It is similar to the +generic-package+ macro. The -ability to have host packages is also available, with the -+host-rebar-package+ macro. - -Just like the generic infrastructure, the +rebar+ infrastructure works -by defining a number of variables before calling the +rebar-package+ -macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the +rebar+ infrastructure: -+ERLANG_FOOBAR_VERSION+, +ERLANG_FOOBAR_SOURCE+, -+ERLANG_FOOBAR_PATCH+, +ERLANG_FOOBAR_SITE+, -+ERLANG_FOOBAR_SUBDIR+, +ERLANG_FOOBAR_DEPENDENCIES+, -+ERLANG_FOOBAR_INSTALL_STAGING+, +ERLANG_FOOBAR_INSTALL_TARGET+, -+ERLANG_FOOBAR_LICENSE+ and +ERLANG_FOOBAR_LICENSE_FILES+. - -A few additional variables, specific to the +rebar+ infrastructure, -can also be defined. Many of them are only useful in very specific -cases, typical packages will therefore only use a few of them. - -* +ERLANG_FOOBAR_USE_AUTOCONF+, to specify that the package uses - _autoconf_ at the configuration step. When a package sets this - variable to +YES+, the +autotools+ infrastructure is used. -+ -.Note -You can also use some of the variables from the +autotools+ - infrastructure: +ERLANG_FOOBAR_CONF_ENV+, +ERLANG_FOOBAR_CONF_OPTS+, - +ERLANG_FOOBAR_AUTORECONF+, +ERLANG_FOOBAR_AUTORECONF_ENV+ and - +ERLANG_FOOBAR_AUTORECONF_OPTS+. - -* +ERLANG_FOOBAR_USE_BUNDLED_REBAR+, to specify that the package has - a bundled version of _rebar_ *and* that it shall be used. Valid - values are +YES+ or +NO+ (the default). -+ -.Note -If the package bundles a _rebar_ utility, but can use the generic - one that Buildroot provides, just say +NO+ (i.e., do not specify - this variable). Only set if it is mandatory to use the _rebar_ - utility bundled in this package. - -* +ERLANG_FOOBAR_REBAR_ENV+, to specify additional environment - variables to pass to the _rebar_ utility. - -With the rebar infrastructure, all the steps required to build -and install the packages are already defined, and they generally work -well for most rebar-based packages. However, when required, it is -still possible to customize what is done in any particular step: - -* By adding a post-operation hook (after extract, patch, configure, - build or install). See xref:hooks[] for details. - -* By overriding one of the steps. For example, even if the rebar - infrastructure is used, if the package +.mk+ file defines its - own +ERLANG_FOOBAR_BUILD_CMDS+ variable, it will be used instead - of the default rebar one. However, using this method should be - restricted to very specific cases. Do not use it in the general - case. diff --git a/docs/manual/adding-packages-tips.adoc b/docs/manual/adding-packages-tips.adoc new file mode 100644 index 00000000000..57ca11ab5de --- /dev/null +++ b/docs/manual/adding-packages-tips.adoc @@ -0,0 +1,330 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Tips and tricks + +[[package-name-variable-relation]] +==== Package name, config entry name and makefile variable relationship + +In Buildroot, there is some relationship between: + +* the _package name_, which is the package directory name (and the + name of the +*.mk+ file); + +* the config entry name that is declared in the +Config.in+ file; + +* the makefile variable prefix. + +It is mandatory to maintain consistency between these elements, +using the following rules: + +* the package directory and the +*.mk+ name are the _package name_ + itself (e.g.: +package/foo-bar_boo/foo-bar_boo.mk+); + +* the _make_ target name is the _package name_ itself (e.g.: + +foo-bar_boo+); + +* the config entry is the upper case _package name_ with `.` and `-` + characters substituted with `_`, prefixed with +BR2_PACKAGE_+ (e.g.: + +BR2_PACKAGE_FOO_BAR_BOO+); + +* the +*.mk+ file variable prefix is the upper case _package name_ + with `.` and `-` characters substituted with `_` (e.g.: + +FOO_BAR_BOO_VERSION+). + +[[check-package]] +==== How to check the coding style + +Buildroot provides a script in +utils/check-package+ that checks new or +changed files for coding style. It is not a complete language validator, +but it catches many common mistakes. It is meant to run in the actual +files you created or modified, before creating the patch for submission. + +This script can be used for packages, filesystem makefiles, Config.in +files, etc. It does not check the files defining the package +infrastructures and some other files containing similar common code. + +To use it, run the +check-package+ script, by telling which files you +created or changed: + +---- +$ ./utils/check-package package/new-package/* +---- + +If you have the +utils+ directory in your path you can also run: + +---- +$ cd package/new-package/ +$ check-package * +---- + +The tool can also be used for packages in a br2-external: + +---- +$ check-package -b /path/to/br2-ext-tree/package/my-package/* +---- + +The +check-package+ script requires you install +shellcheck+ and the +Python PyPi packages +flake8+ and +python-magic+. The Buildroot code +base is currently tested against version 0.7.1 of ShellCheck. If you +use a different version of ShellCheck, you may see additional, +unfixed, warnings. + +If you have Docker or Podman you can run +check-package+ without +installing dependencies: + +---- +$ ./utils/docker-run ./utils/check-package +---- + +[[testing-package]] +==== How to test your package + +Once you have added your new package, it is important that you test it +under various conditions: does it build for all architectures? Does it +build with the different C libraries? Does it need threads, NPTL? And +so on... + +Buildroot runs https://autobuild.buildroot.org/[autobuilders] which +continuously test random configurations. However, these only build the +`master` branch of the git tree, and your new fancy package is not yet +there. + +Buildroot provides a script in +utils/test-pkg+ that uses the same base +configurations as used by the autobuilders so you can test your package +in the same conditions. + +First, create a config snippet that contains all the necessary options +needed to enable your package, but without any architecture or toolchain +option. For example, let's create a config snippet that just enables ++libcurl+, without any TLS backend: + +---- +$ cat libcurl.config +BR2_PACKAGE_LIBCURL=y +---- + +If your package needs more configuration options, you can add them to the +config snippet. For example, here's how you would test +libcurl+ with ++openssl+ as a TLS backend and the +curl+ program: + +---- +$ cat libcurl.config +BR2_PACKAGE_LIBCURL=y +BR2_PACKAGE_LIBCURL_CURL=y +BR2_PACKAGE_OPENSSL=y +---- + +Then run the +test-pkg+ script, by telling it what config snippet to use +and what package to test: + +---- +$ ./utils/test-pkg -c libcurl.config -p libcurl +---- + +By default, +test-pkg+ will build your package against a subset of the +toolchains used by the autobuilders, which has been selected by the +Buildroot developers as being the most useful and representative +subset. If you want to test all toolchains, pass the +-a+ option. Note +that in any case, internal toolchains are excluded as they take too +long to build. + +The output lists all toolchains that are tested and the corresponding +result (excerpt, results are fake): + +---- +$ ./utils/test-pkg -c libcurl.config -p libcurl + armv5-ctng-linux-gnueabi [ 1/11]: OK + armv7-ctng-linux-gnueabihf [ 2/11]: OK + br-aarch64-glibc [ 3/11]: SKIPPED + br-arcle-hs38 [ 4/11]: SKIPPED + br-arm-basic [ 5/11]: FAILED + br-arm-cortex-a9-glibc [ 6/11]: OK + br-arm-cortex-a9-musl [ 7/11]: FAILED + br-arm-cortex-m4-full [ 8/11]: OK + br-arm-full [ 9/11]: OK + br-arm-full-nothread [10/11]: FAILED + br-arm-full-static [11/11]: OK +11 builds, 2 skipped, 2 build failed, 1 legal-info failed +---- + +The results mean: + +* `OK`: the build was successful. +* `SKIPPED`: one or more configuration options listed in the config + snippet were not present in the final configuration. This is due to + options having dependencies not satisfied by the toolchain, such as + for example a package that +depends on BR2_USE_MMU+ with a noMMU + toolchain. The missing options are reported in +missing.config+ in + the output build directory (+~/br-test-pkg/TOOLCHAIN_NAME/+ by + default). +* `FAILED`: the build failed. Inspect the +logfile+ file in the output + build directory to see what went wrong: +** the actual build failed, +** the legal-info failed, +** one of the preliminary steps (downloading the config file, applying + the configuration, running `dirclean` for the package) failed. + +When there are failures, you can just re-run the script with the same +options (after you fixed your package); the script will attempt to +re-build the package specified with +-p+ for all toolchains, without +the need to re-build all the dependencies of that package. + +The +test-pkg+ script accepts a few options, for which you can get some +help by running: + +---- +$ ./utils/test-pkg -h +---- + +[[github-download-url]] +==== How to add a package from GitHub + +Packages on GitHub often don't have a download area with release tarballs. +However, it is possible to download tarballs directly from the repository +on GitHub. As GitHub is known to have changed download mechanisms in the +past, the 'github' helper function should be used as shown below. + +---- +# Use a tag or a full commit ID +FOO_VERSION = 1.0 +FOO_SITE = $(call github,,,v$(FOO_VERSION)) +---- + +.Notes +- The FOO_VERSION can either be a tag or a commit ID. +- The tarball name generated by github matches the default one from + Buildroot (e.g.: +foo-f6fb6654af62045239caed5950bc6c7971965e60.tar.gz+), + so it is not necessary to specify it in the +.mk+ file. +- When using a commit ID as version, you should use the full 40 hex characters. +- When the tag contains a prefix such as +v+ in +v1.0+, then the + +VERSION+ variable should contain just +1.0+, and the +v+ should be + added directly in the +SITE+ variable, as illustrated above. This + ensures that the +VERSION+ variable value can be used to match + against http://www.release-monitoring.org/[release-monitoring.org] + results. + +If the package you wish to add does have a release section on GitHub, the +maintainer may have uploaded a release tarball, or the release may just point +to the automatically generated tarball from the git tag. If there is a +release tarball uploaded by the maintainer, we prefer to use that since it +may be slightly different (e.g. it contains a configure script so we don't +need to do AUTORECONF). + +You can see on the release page if it's an uploaded tarball or a git tag: + +image::github_hash_mongrel2.png[] + +- If it looks like the image above then it was uploaded by the + maintainer and you should use that link (in that example: + 'mongrel2-v1.9.2.tar.bz2') to specify +FOO_SITE+, and not use the + 'github' helper. + +- On the other hand, if there's is *only* the "Source code" link, then + it's an automatically generated tarball and you should use the + 'github' helper function. + +[[gitlab-download-url]] +==== How to add a package from Gitlab + +In a similar way to the +github+ macro described in +xref:github-download-url[], Buildroot also provides the +gitlab+ macro +to download from Gitlab repositories. It can be used to download +auto-generated tarballs produced by Gitlab, either for specific tags +or commits: + +---- +# Use a tag or a full commit ID +FOO_VERSION = 1.0 +FOO_SITE = $(call gitlab,,,v$(FOO_VERSION)) +---- + +By default, it will use a +.tar.gz+ tarball, but Gitlab also provides ++.tar.bz2+ tarballs, so by adding a +_SOURCE+ variable, this ++.tar.bz2+ tarball can be used: + +---- +# Use a tag or a full commit ID +FOO_VERSION = 1.0 +FOO_SITE = $(call gitlab,,,v$(FOO_VERSION)) +FOO_SOURCE = foo-$(FOO_VERSION).tar.bz2 +---- + +If there is a specific tarball uploaded by the upstream developers in ++https://gitlab.com//releases/+, do not use this macro, but +rather use directly the link to the tarball. + +[[accessing-private-repos]] +==== Accessing a private repository for a package + +If you want to create a package in a br2-external tree and its source +is in a private repository (e.g. on gitlab, github, bitbucket, ...), +you have to write it in a way that it is buildable both by developers +and in CI. This poses a challenge, because you need to authenticate in +order to access it. + +There are several ways you can approach this. The following two are the +most practical ones. + +===== Using SSH and +insteadOf+ + +Configure your private packages to use SSH. + +---- +FOO_SITE = git@githosting.com://.git +---- + +Developers already have an ssh key installed so they can access it +this way. The only limitation is that if they build in docker, they +have to make sure the ssh key is accessible from within the container. +Either mount the SSH directory into the container by passing the +options +-v ~/.ssh:/.ssh+, or load the private key into +ssh-agent and pass +--mount type=bind,source=$SSH_AUTH_SOCK,target=/ssh-agent +--env SSH_AUTH_SOCK=/ssh-agent+ + +CI builders typically will not have an SSH key that allows +access to other repositories. For those, you'll need to generate an +access token. Then you configure git to replace the SSH access with HTTPS +access. As a preparation step in CI, run the following command. + +---- +git config --global url."https://:x-oauth-basic@githosting.com//".insteadOf "git@githosting.com://" +---- + +The way to use a token for basic authentication differs between different +git hosting providers, and sometimes between different types of tokens. +Consult your provider's documentation to find out how to access git over +HTTPS with a token. + +===== Use HTTPS and +.netrc+ + +If, for any reason, developers don't have an SSH key already, then it may +be simpler to use HTTPS authentication. For this, every developer will +have to generate a token that has (read) access to all relevant repositories. +Some git hosting providers have a command-line utility that can generate +such a token, otherwise you'll need to generate it in the web interface. The +token has a limited lifetime so you'll need to regularly refresh it. + +To make sure the token is used in the Buildroot build, add it to +~/.netrc+ + +---- +machine githosting.com + login + password +---- + +The ++ and ++ to use are again different for different +git hosting providers. + +In CI, generate the +.netrc+ file as a preparation step. + +Configure your private packages to use HTTPS. + +---- +FOO_SITE = https://githosting.com//.git +---- + +Both wget (https) and git will use +.netrc+ to get login information. This +approach is potentially somewhat less secure because +.netrc+ cannot be +password-protected. The advantage is that users and CI use the exact same +way of providing credentials. diff --git a/docs/manual/adding-packages-tips.txt b/docs/manual/adding-packages-tips.txt deleted file mode 100644 index 824f07547d2..00000000000 --- a/docs/manual/adding-packages-tips.txt +++ /dev/null @@ -1,172 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Tips and tricks - -[[package-name-variable-relation]] -==== Package name, config entry name and makefile variable relationship - -In Buildroot, there is some relationship between: - -* the _package name_, which is the package directory name (and the - name of the +*.mk+ file); - -* the config entry name that is declared in the +Config.in+ file; - -* the makefile variable prefix. - -It is mandatory to maintain consistency between these elements, -using the following rules: - -* the package directory and the +*.mk+ name are the _package name_ - itself (e.g.: +package/foo-bar_boo/foo-bar_boo.mk+); - -* the _make_ target name is the _package name_ itself (e.g.: - +foo-bar_boo+); - -* the config entry is the upper case _package name_ with `.` and `-` - characters substituted with `_`, prefixed with +BR2_PACKAGE_+ (e.g.: - +BR2_PACKAGE_FOO_BAR_BOO+); - -* the +*.mk+ file variable prefix is the upper case _package name_ - with `.` and `-` characters substituted with `_` (e.g.: - +FOO_BAR_BOO_VERSION+). - -[[testing-package]] -==== How to test your package - -Once you have added your new package, it is important that you test it -under various conditions: does it build for all architectures? Does it -build with the different C libraries? Does it need threads, NPTL? And -so on... - -Buildroot runs http://autobuild.buildroot.org/[autobuilders] which -continuously test random configurations. However, these only build the -`master` branch of the git tree, and your new fancy package is not yet -there. - -Buildroot provides a script in +utils/test-pkg+ that uses the same base -configurations as used by the autobuilders so you can test your package -in the same conditions. - -First, create a config snippet that contains all the necessary options -needed to enable your package, but without any architecture or toolchain -option. For example, let's create a config snippet that just enables -+libcurl+, without any TLS backend: - ----- -$ cat libcurl.config -BR2_PACKAGE_LIBCURL=y ----- - -If your package needs more configuration options, you can add them to the -config snippet. For example, here's how you would test +libcurl+ with -+openssl+ as a TLS backend and the +curl+ program: - ----- -$ cat libcurl.config -BR2_PACKAGE_LIBCURL=y -BR2_PACKAGE_CURL=y -BR2_PACKAGE_OPENSSL=y ----- - -Then run the +test-pkg+ script, by telling it what config snippet to use -and what package to test: - ----- -$ ./utils/test-pkg -c libcurl.config -p libcurl ----- - -This will try to build your package against all the toolchains used -by the autobuilders (except for the internal toolchains, because it takes -too long to do so). The output lists all toolchains and the corresponding -result (excerpt, results are fake): - ----- -$ ./utils/test-pkg -c libcurl.config -p libcurl - armv5-ctng-linux-gnueabi [ 1/11]: OK - armv7-ctng-linux-gnueabihf [ 2/11]: OK - br-aarch64-glibc [ 3/11]: SKIPPED - br-arcle-hs38 [ 4/11]: SKIPPED - br-arm-basic [ 5/11]: FAILED - br-arm-cortex-a9-glibc [ 6/11]: OK - br-arm-cortex-a9-musl [ 7/11]: FAILED - br-arm-cortex-m4-full [ 8/11]: OK - br-arm-full [ 9/11]: OK - br-arm-full-nothread [10/11]: FAILED - br-arm-full-static [11/11]: OK -11 builds, 2 skipped, 2 build failed, 1 legal-info failed ----- - -The results mean: - -* `OK`: the build was successful. -* `SKIPPED`: one or more configuration options listed in the config - snippet were not present in the final configuration. This is due to - options having dependencies not satisfied by the toolchain, such as - for example a package that +depends on BR2_USE_MMU+ with a noMMU - toolchain. The missing options are reported in +missing.config+ in - the output build directory (+~/br-test-pkg/TOOLCHAIN_NAME/+ by - default). -* `FAILED`: the build failed. Inspect the +logfile+ file in the output - build directory to see what went wrong: -** the actual build failed, -** the legal-info failed, -** one of the preliminary steps (downloading the config file, applying - the configuration, running `dirclean` for the package) failed. - -When there are failures, you can just re-run the script with the same -options (after you fixed your package); the script will attempt to -re-build the package specified with +-p+ for all toolchains, without -the need to re-build all the dependencies of that package. - -The +test-pkg+ script accepts a few options, for which you can get some -help by running: - ----- -$ ./utils/test-pkg -h ----- - -[[github-download-url]] -==== How to add a package from GitHub - -Packages on GitHub often don't have a download area with release tarballs. -However, it is possible to download tarballs directly from the repository -on GitHub. As GitHub is known to have changed download mechanisms in the -past, the 'github' helper function should be used as shown below. - ------------------------- -# Use a tag or a full commit ID -FOO_VERSION = v1.0 -FOO_SITE = $(call github,,[,]) ------------------------- - -.Notes -- The FOO_VERSION can either be a tag or a commit ID. -- The tarball name generated by github matches the default one from - Buildroot (e.g.: +foo-f6fb6654af62045239caed5950bc6c7971965e60.tar.gz+), - so it is not necessary to specify it in the +.mk+ file. -- When using a commit ID as version, you should use the full 40 hex characters. -- The +version+ parameter is optional and should only be specified if anything - other than FOO_VERSION needs to be used, e.g. when this function is used to - specify a custom Linux or U-Boot tarball. - -If the package you wish to add does have a release section on GitHub, the -maintainer may have uploaded a release tarball, or the release may just point -to the automatically generated tarball from the git tag. If there is a -release tarball uploaded by the maintainer, we prefer to use that since it -may be slightly different (e.g. it contains a configure script so we don't -need to do AUTORECONF). - -You can see on the release page if it's an uploaded tarball or a git tag: - -image::github_hash_mongrel2.png[] - -- If it looks like the image above then it was uploaded by the - maintainer and you should use that link (in that example: - 'mongrel2-v1.9.2.tar.bz2') to specify +FOO_SITE+, and not use the - 'github' helper. - -- On the other hand, if there's is *only* the "Source code" link, then - it's an automatically generated tarball and you should use the - 'github' helper function. diff --git a/docs/manual/adding-packages-virtual.adoc b/docs/manual/adding-packages-virtual.adoc new file mode 100644 index 00000000000..297e189186d --- /dev/null +++ b/docs/manual/adding-packages-virtual.adoc @@ -0,0 +1,144 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for virtual packages + +[[virtual-package-tutorial]] + +In Buildroot, a virtual package is a package whose functionalities are +provided by one or more packages, referred to as 'providers'. The virtual +package management is an extensible mechanism allowing the user to choose +the provider used in the rootfs. + +For example, 'OpenGL ES' is an API for 2D and 3D graphics on embedded systems. +The implementation of this API is different for the 'Allwinner Tech Sunxi' and +the 'Texas Instruments OMAP35xx' platforms. So +libgles+ will be a virtual +package and +sunxi-mali-utgard+ and +ti-gfx+ will be the providers. + +==== +virtual-package+ tutorial + +In the following example, we will explain how to add a new virtual package +('something-virtual') and a provider for it ('some-provider'). + +First, let's create the virtual package. + +==== Virtual package's +Config.in+ file + +The +Config.in+ file of virtual package 'something-virtual' should contain: + +---- +01: config BR2_PACKAGE_HAS_SOMETHING_VIRTUAL +02: bool +03: +04: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL +05: depends on BR2_PACKAGE_HAS_SOMETHING_VIRTUAL +06: string +---- + +In this file, we declare two options, +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL+ and ++BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+, whose values will be used by the +providers. + +==== Virtual package's +.mk+ file + +The +.mk+ for the virtual package should just evaluate the +virtual-package+ macro: + +---- +01: ################################################################################ +02: # +03: # something-virtual +04: # +05: ################################################################################ +06: +07: $(eval $(virtual-package)) +---- + +The ability to have target and host packages is also available, with the ++host-virtual-package+ macro. + +==== Provider's +Config.in+ file + +When adding a package as a provider, only the +Config.in+ file requires some +modifications. + +The +Config.in+ file of the package 'some-provider', which provides the +functionalities of 'something-virtual', should contain: + +---- +01: config BR2_PACKAGE_SOME_PROVIDER +02: bool "some-provider" +03: select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL +04: help +05: This is a comment that explains what some-provider is. +06: +07: http://foosoftware.org/some-provider/ +08: +09: if BR2_PACKAGE_SOME_PROVIDER +10: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL +11: default "some-provider" +12: endif +---- + +On line 3, we select +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL+, and on line 11, we +set the value of +BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+ to the name of the +provider, but only if it is selected. + +==== Provider's +.mk+ file + +The +.mk+ file should also declare an additional variable ++SOME_PROVIDER_PROVIDES+ to contain the names of all the virtual +packages it is an implementation of: + +---- +01: SOME_PROVIDER_PROVIDES = something-virtual +---- + +Of course, do not forget to add the proper build and runtime dependencies for +this package! + +==== Notes on depending on a virtual package + +When adding a package that requires a certain +FEATURE+ provided by a virtual +package, you have to use +depends on BR2_PACKAGE_HAS_FEATURE+, like so: + +---- +config BR2_PACKAGE_HAS_FEATURE + bool + +config BR2_PACKAGE_FOO + bool "foo" + depends on BR2_PACKAGE_HAS_FEATURE +---- + +==== Notes on depending on a specific provider + +If your package really requires a specific provider, then you'll have to +make your package +depends on+ this provider; you can _not_ +select+ a +provider. + +Let's take an example with two providers for a +FEATURE+: + +---- +config BR2_PACKAGE_HAS_FEATURE + bool + +config BR2_PACKAGE_FOO + bool "foo" + select BR2_PACKAGE_HAS_FEATURE + +config BR2_PACKAGE_BAR + bool "bar" + select BR2_PACKAGE_HAS_FEATURE +---- + +And you are adding a package that needs +FEATURE+ as provided by +foo+, +but not as provided by +bar+. + +If you were to use +select BR2_PACKAGE_FOO+, then the user would still +be able to select +BR2_PACKAGE_BAR+ in the menuconfig. This would create +a configuration inconsistency, whereby two providers of the same +FEATURE+ +would be enabled at once, one explicitly set by the user, the other +implicitly by your +select+. + +Instead, you have to use +depends on BR2_PACKAGE_FOO+, which avoids any +implicit configuration inconsistency. diff --git a/docs/manual/adding-packages-virtual.txt b/docs/manual/adding-packages-virtual.txt deleted file mode 100644 index 6326bb5455f..00000000000 --- a/docs/manual/adding-packages-virtual.txt +++ /dev/null @@ -1,144 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for virtual packages - -[[virtual-package-tutorial]] - -In Buildroot, a virtual package is a package whose functionalities are -provided by one or more packages, referred to as 'providers'. The virtual -package management is an extensible mechanism allowing the user to choose -the provider used in the rootfs. - -For example, 'OpenGL ES' is an API for 2D and 3D graphics on embedded systems. -The implementation of this API is different for the 'Allwinner Tech Sunxi' and -the 'Texas Instruments OMAP35xx' platforms. So +libgles+ will be a virtual -package and +sunxi-mali+ and +ti-gfx+ will be the providers. - -==== +virtual-package+ tutorial - -In the following example, we will explain how to add a new virtual package -('something-virtual') and a provider for it ('some-provider'). - -First, let's create the virtual package. - -==== Virtual package's +Config.in+ file - -The +Config.in+ file of virtual package 'something-virtual' should contain: - ---------------------------- -01: config BR2_PACKAGE_HAS_SOMETHING_VIRTUAL -02: bool -03: -04: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL -05: depends on BR2_PACKAGE_HAS_SOMETHING_VIRTUAL -06: string ---------------------------- - -In this file, we declare two options, +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL+ and -+BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+, whose values will be used by the -providers. - -==== Virtual package's +.mk+ file - -The +.mk+ for the virtual package should just evaluate the +virtual-package+ macro: - ---------------------------- -01: ################################################################################ -02: # -03: # something-virtual -04: # -05: ################################################################################ -06: -07: $(eval $(virtual-package)) ---------------------------- - -The ability to have target and host packages is also available, with the -+host-virtual-package+ macro. - -==== Provider's +Config.in+ file - -When adding a package as a provider, only the +Config.in+ file requires some -modifications. - -The +Config.in+ file of the package 'some-provider', which provides the -functionalities of 'something-virtual', should contain: - ---------------------------- -01: config BR2_PACKAGE_SOME_PROVIDER -02: bool "some-provider" -03: select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL -04: help -05: This is a comment that explains what some-provider is. -06: -07: http://foosoftware.org/some-provider/ -08: -09: if BR2_PACKAGE_SOME_PROVIDER -10: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL -11: default "some-provider" -12: endif ---------------------------- - -On line 3, we select +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL+, and on line 11, we -set the value of +BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+ to the name of the -provider, but only if it is selected. - -==== Provider's +.mk+ file - -The +.mk+ file should also declare an additional variable -+SOME_PROVIDER_PROVIDES+ to contain the names of all the virtual -packages it is an implementation of: - ---------------------------- -01: SOME_PROVIDER_PROVIDES = something-virtual ---------------------------- - -Of course, do not forget to add the proper build and runtime dependencies for -this package! - -==== Notes on depending on a virtual package - -When adding a package that requires a certain +FEATURE+ provided by a virtual -package, you have to use +depends on BR2_PACKAGE_HAS_FEATURE+, like so: - ---------------------------- -config BR2_PACKAGE_HAS_FEATURE - bool - -config BR2_PACKAGE_FOO - bool "foo" - depends on BR2_PACKAGE_HAS_FEATURE ---------------------------- - -==== Notes on depending on a specific provider - -If your package really requires a specific provider, then you'll have to -make your package +depends on+ this provider; you can _not_ +select+ a -provider. - -Let's take an example with two providers for a +FEATURE+: - ---------------------------- -config BR2_PACKAGE_HAS_FEATURE - bool - -config BR2_PACKAGE_FOO - bool "foo" - select BR2_PACKAGE_HAS_FEATURE - -config BR2_PACKAGE_BAR - bool "bar" - select BR2_PACKAGE_HAS_FEATURE ---------------------------- - -And you are adding a package that needs +FEATURE+ as provided by +foo+, -but not as provided by +bar+. - -If you were to use +select BR2_PACKAGE_FOO+, then the user would still -be able to select +BR2_PACKAGE_BAR+ in the menuconfig. This would create -a configuration inconsistency, whereby two providers of the same +FEATURE+ -would be enabled at once, one explicitly set by the user, the other -implicitly by your +select+. - -Instead, you have to use +depends on BR2_PACKAGE_FOO+, which avoids any -implicit configuration inconsistency. diff --git a/docs/manual/adding-packages-waf.adoc b/docs/manual/adding-packages-waf.adoc new file mode 100644 index 00000000000..59029172145 --- /dev/null +++ b/docs/manual/adding-packages-waf.adoc @@ -0,0 +1,89 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for Waf-based packages + +[[waf-package-tutorial]] + +==== +waf-package+ tutorial + +First, let's see how to write a +.mk+ file for a Waf-based package, with +an example : + +---- +01: ################################################################################ +02: # +03: # libfoo +04: # +05: ################################################################################ +06: +07: LIBFOO_VERSION = 1.0 +08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +09: LIBFOO_SITE = http://www.foosoftware.org/download +10: LIBFOO_CONF_OPTS = --enable-bar --disable-baz +11: LIBFOO_DEPENDENCIES = bar +12: +13: $(eval $(waf-package)) +---- + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball +recommended) and the location of the tarball on the Web. Buildroot +will automatically download the tarball from this location. + +On line 10, we tell Buildroot what options to enable for libfoo. + +On line 11, we tell Buildroot the dependencies of libfoo. + +Finally, on line line 13, we invoke the +waf-package+ +macro that generates all the Makefile rules that actually allows the +package to be built. + +[[waf-package-reference]] + +==== +waf-package+ reference + +The main macro of the Waf package infrastructure is +waf-package+. +It is similar to the +generic-package+ macro. + +Just like the generic infrastructure, the Waf infrastructure works +by defining a number of variables before calling the +waf-package+ +macro. + +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the Waf infrastructure. + +A few additional variables, specific to the Waf infrastructure, can +also be defined. + +* +LIBFOO_SUBDIR+ may contain the name of a subdirectory inside the + package that contains the main wscript file. This is useful, + if for example, the main wscript file is not at the root of + the tree extracted by the tarball. If +HOST_LIBFOO_SUBDIR+ is not + specified, it defaults to +LIBFOO_SUBDIR+. + +* +LIBFOO_NEEDS_EXTERNAL_WAF+ can be set to +YES+ or +NO+ to tell + Buildroot to use the bundled +waf+ executable. If set to +NO+, the + default, then Buildroot will use the waf executable provided in the + package source tree; if set to +YES+, then Buildroot will download, + install waf as a host tool and use it to build the package. + +* +LIBFOO_WAF_OPTS+, to specify additional options to pass to the + +waf+ script at every step of the package build process: configure, + build and installation. By default, empty. + +* +LIBFOO_CONF_OPTS+, to specify additional options to pass to the + +waf+ script for the configuration step. By default, empty. + +* +LIBFOO_BUILD_OPTS+, to specify additional options to pass to the + +waf+ script during the build step. By default, empty. + +* +LIBFOO_INSTALL_STAGING_OPTS+, to specify additional options to pass + to the +waf+ script during the staging installation step. By default, + empty. + +* +LIBFOO_INSTALL_TARGET_OPTS+, to specify additional options to pass + to the +waf+ script during the target installation step. By default, + empty. diff --git a/docs/manual/adding-packages-waf.txt b/docs/manual/adding-packages-waf.txt deleted file mode 100644 index 43b557c0705..00000000000 --- a/docs/manual/adding-packages-waf.txt +++ /dev/null @@ -1,85 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for Waf-based packages - -[[waf-package-tutorial]] - -==== +waf-package+ tutorial - -First, let's see how to write a +.mk+ file for a Waf-based package, with -an example : - ------------------------- -01: ################################################################################ -02: # -03: # libfoo -04: # -05: ################################################################################ -06: -07: LIBFOO_VERSION = 1.0 -08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz -09: LIBFOO_SITE = http://www.foosoftware.org/download -10: LIBFOO_CONF_OPTS = --enable-bar --disable-baz -11: LIBFOO_DEPENDENCIES = bar -12: -13: $(eval $(waf-package)) ------------------------- - -On line 7, we declare the version of the package. - -On line 8 and 9, we declare the name of the tarball (xz-ed tarball -recommended) and the location of the tarball on the Web. Buildroot -will automatically download the tarball from this location. - -On line 10, we tell Buildroot what options to enable for libfoo. - -On line 11, we tell Buildroot the depednencies of libfoo. - -Finally, on line line 13, we invoke the +waf-package+ -macro that generates all the Makefile rules that actually allows the -package to be built. - -[[waf-package-reference]] - -==== +waf-package+ reference - -The main macro of the Waf package infrastructure is +waf-package+. -It is similar to the +generic-package+ macro. - -Just like the generic infrastructure, the Waf infrastructure works -by defining a number of variables before calling the +waf-package+ -macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the Waf infrastructure: -+LIBFOO_VERSION+, +LIBFOO_SOURCE+, +LIBFOO_PATCH+, +LIBFOO_SITE+, -+LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, +LIBFOO_INSTALL_STAGING+, -+LIBFOO_INSTALL_TARGET+. - -An additional variable, specific to the Waf infrastructure, can -also be defined. - -* +LIBFOO_NEEDS_EXTERNAL_WAF+ can be set to +YES+ or +NO+ to tell - Buildroot to use the bundled +waf+ executable. If set to +NO+, the - default, then Buildroot will use the waf executable provided in the - package source tree; if set to +YES+, then Buidlroot will download, - install waf as a host tool and use it to build the package. - -* +LIBFOO_WAF_OPTS+, to specify additional options to pass to the - +waf+ script at every step of the package build process: configure, - build and installation. By default, empty. - -* +LIBFOO_CONF_OPTS+, to specify additional options to pass to the - +waf+ script for the configuration step. By default, empty. - -* +LIBFOO_BUILD_OPTS+, to specify additional options to pass to the - +waf+ script during the build step. By default, empty. - -* +LIBFOO_INSTALL_STAGING_OPTS+, to specify additional options to pass - to the +waf+ script during the staging installation step. By default, - empty. - -* +LIBFOO_INSTALL_TARGET_OPTS+, to specify additional options to pass - to the +waf+ script during the target installation step. By default, - empty. diff --git a/docs/manual/adding-packages.adoc b/docs/manual/adding-packages.adoc new file mode 100644 index 00000000000..10acae0b1af --- /dev/null +++ b/docs/manual/adding-packages.adoc @@ -0,0 +1,58 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[adding-packages]] +== Adding new packages to Buildroot + +This section covers how new packages (userspace libraries or +applications) can be integrated into Buildroot. It also shows how +existing packages are integrated, which is needed for fixing issues or +tuning their configuration. + +When you add a new package, be sure to test it in various conditions +(see xref:testing-package[]) and also check it for coding style (see +xref:check-package[]). + +include::adding-packages-directory.adoc[] + +include::adding-packages-generic.adoc[] + +include::adding-packages-autotools.adoc[] + +include::adding-packages-cmake.adoc[] + +include::adding-packages-python.adoc[] + +include::adding-packages-luarocks.adoc[] + +include::adding-packages-perl.adoc[] + +include::adding-packages-virtual.adoc[] + +include::adding-packages-kconfig.adoc[] + +include::adding-packages-rebar.adoc[] + +include::adding-packages-waf.adoc[] + +include::adding-packages-meson.adoc[] + +include::adding-packages-cargo.adoc[] + +include::adding-packages-golang.adoc[] + +include::adding-packages-qmake.adoc[] + +include::adding-packages-kernel-module.adoc[] + +include::adding-packages-asciidoc.adoc[] + +include::adding-packages-linux-kernel-spec-infra.adoc[] + +include::adding-packages-hooks.adoc[] + +include::adding-packages-gettext.adoc[] + +include::adding-packages-tips.adoc[] + +include::adding-packages-conclusion.adoc[] diff --git a/docs/manual/adding-packages.txt b/docs/manual/adding-packages.txt deleted file mode 100644 index d577ff030ee..00000000000 --- a/docs/manual/adding-packages.txt +++ /dev/null @@ -1,49 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[adding-packages]] -== Adding new packages to Buildroot - -This section covers how new packages (userspace libraries or -applications) can be integrated into Buildroot. It also shows how -existing packages are integrated, which is needed for fixing issues or -tuning their configuration. - -When you add a new package, be sure to test it in various conditions; -see xref:testing-package[] - -include::adding-packages-directory.txt[] - -include::adding-packages-generic.txt[] - -include::adding-packages-autotools.txt[] - -include::adding-packages-cmake.txt[] - -include::adding-packages-python.txt[] - -include::adding-packages-luarocks.txt[] - -include::adding-packages-perl.txt[] - -include::adding-packages-virtual.txt[] - -include::adding-packages-kconfig.txt[] - -include::adding-packages-rebar.txt[] - -include::adding-packages-waf.txt[] - -include::adding-packages-kernel-module.txt[] - -include::adding-packages-asciidoc.txt[] - -include::adding-packages-linux-kernel-spec-infra.txt[] - -include::adding-packages-hooks.txt[] - -include::adding-packages-gettext.txt[] - -include::adding-packages-tips.txt[] - -include::adding-packages-conclusion.txt[] diff --git a/docs/manual/advanced.adoc b/docs/manual/advanced.adoc new file mode 100644 index 00000000000..7f650e66892 --- /dev/null +++ b/docs/manual/advanced.adoc @@ -0,0 +1,16 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Advanced usage + +include::using-buildroot-toolchain.adoc[] + +include::using-buildroot-debugger.adoc[] + +include::ccache-support.adoc[] + +include::download-location.adoc[] + +include::package-make-target.adoc[] + +include::using-buildroot-development.adoc[] diff --git a/docs/manual/advanced.txt b/docs/manual/advanced.txt deleted file mode 100644 index b7bfc4923de..00000000000 --- a/docs/manual/advanced.txt +++ /dev/null @@ -1,16 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Advanced usage - -include::using-buildroot-toolchain.txt[] - -include::using-buildroot-debugger.txt[] - -include::ccache-support.txt[] - -include::download-location.txt[] - -include::package-make-target.txt[] - -include::using-buildroot-development.txt[] diff --git a/docs/manual/appendix.adoc b/docs/manual/appendix.adoc new file mode 100644 index 00000000000..4eece71672c --- /dev/null +++ b/docs/manual/appendix.adoc @@ -0,0 +1,6 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +include::makedev-syntax.adoc[] +include::makeusers-syntax.adoc[] +include::migrating.adoc[] diff --git a/docs/manual/appendix.txt b/docs/manual/appendix.txt deleted file mode 100644 index 86afa4bdaa6..00000000000 --- a/docs/manual/appendix.txt +++ /dev/null @@ -1,6 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -include::makedev-syntax.txt[] -include::makeusers-syntax.txt[] -include::migrating.txt[] diff --git a/docs/manual/beyond-buildroot.adoc b/docs/manual/beyond-buildroot.adoc new file mode 100644 index 00000000000..871b591a02c --- /dev/null +++ b/docs/manual/beyond-buildroot.adoc @@ -0,0 +1,66 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== Beyond Buildroot + +=== Boot the generated images + +==== NFS boot + +To achieve NFS-boot, enable _tar root filesystem_ in the _Filesystem +images_ menu. + +After a complete build, just run the following commands to setup the +NFS-root directory: + +---- +sudo tar -xavf /path/to/output_dir/rootfs.tar -C /path/to/nfs_root_dir +---- + +Remember to add this path to +/etc/exports+. + +Then, you can execute a NFS-boot from your target. + +==== Live CD + +To build a live CD image, enable the _iso image_ option in the +_Filesystem images_ menu. Note that this option is only available on +the x86 and x86-64 architectures, and if you are building your kernel +with Buildroot. + +You can build a live CD image with either IsoLinux, Grub or Grub 2 as +a bootloader, but only Isolinux supports making this image usable both +as a live CD and live USB (through the _Build hybrid image_ option). + +You can test your live CD image using QEMU: + +---- +qemu-system-i386 -cdrom output/images/rootfs.iso9660 +---- + +Or use it as a hard-drive image if it is a hybrid ISO: + +---- +qemu-system-i386 -hda output/images/rootfs.iso9660 +---- + +It can be easily flashed to a USB drive with +dd+: + +---- +dd if=output/images/rootfs.iso9660 of=/dev/sdb +---- + +=== Chroot + +If you want to chroot in a generated image, then there are few thing +you should be aware of: + +* you should setup the new root from the _tar root filesystem_ image; + +* either the selected target architecture is compatible with your host + machine, or you should use some +qemu-*+ binary and correctly set it + within the +binfmt+ properties to be able to run the binaries built + for the target on your host machine; + +* Buildroot does not currently provide +host-qemu+ and +binfmt+ + correctly built and set for that kind of use. diff --git a/docs/manual/beyond-buildroot.txt b/docs/manual/beyond-buildroot.txt deleted file mode 100644 index eefea1fecf7..00000000000 --- a/docs/manual/beyond-buildroot.txt +++ /dev/null @@ -1,66 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -== Beyond Buildroot - -=== Boot the generated images - -==== NFS boot - -To achieve NFS-boot, enable _tar root filesystem_ in the _Filesystem -images_ menu. - -After a complete build, just run the following commands to setup the -NFS-root directory: - -------------------- -sudo tar -xavf /path/to/output_dir/rootfs.tar -C /path/to/nfs_root_dir -------------------- - -Remember to add this path to +/etc/exports+. - -Then, you can execute a NFS-boot from your target. - -==== Live CD - -To build a live CD image, enable the _iso image_ option in the -_Filesystem images_ menu. Note that this option is only available on -the x86 and x86-64 architectures, and if you are building your kernel -with Buildroot. - -You can build a live CD image with either IsoLinux, Grub or Grub 2 as -a bootloader, but only Isolinux supports making this image usable both -as a live CD and live USB (through the _Build hybrid image_ option). - -You can test your live CD image using QEMU: - -------------------- -qemu-system-i386 -cdrom output/images/rootfs.iso9660 -------------------- - -Or use it as a hard-drive image if it is a hybrid ISO: - -------------------- -qemu-system-i386 -hda output/images/rootfs.iso9660 -------------------- - -It can be easily flashed to a USB drive with +dd+: - -------------------- -dd if=output/images/rootfs.iso9660 of=/dev/sdb -------------------- - -=== Chroot - -If you want to chroot in a generated image, then there are few thing -you should be aware of: - -* you should setup the new root from the _tar root filesystem_ image; - -* either the selected target architecture is compatible with your host - machine, or you should use some +qemu-*+ binary and correctly set it - within the +binfmt+ properties to be able to run the binaries built - for the target on your host machine; - -* Buildroot does not currently provide +host-qemu+ and +binfmt+ - correctly built and set for that kind of use. diff --git a/docs/manual/ccache-support.adoc b/docs/manual/ccache-support.adoc new file mode 100644 index 00000000000..86cb4a150dc --- /dev/null +++ b/docs/manual/ccache-support.adoc @@ -0,0 +1,69 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[ccache]] +==== Using +ccache+ in Buildroot + +http://ccache.samba.org[ccache] is a compiler cache. It stores the +object files resulting from each compilation process, and is able to +skip future compilation of the same source file (with same compiler +and same arguments) by using the pre-existing object files. When doing +almost identical builds from scratch a number of times, it can nicely +speed up the build process. + ++ccache+ support is integrated in Buildroot. You just have to enable ++Enable compiler cache+ in +Build options+. This will automatically +build +ccache+ and use it for every host and target compilation. + +The cache is located in the directory defined by the +BR2_CCACHE_DIR+ +configuration option, which defaults to ++$HOME/.buildroot-ccache+. This default location is outside of +Buildroot output directory so that it can be shared by separate +Buildroot builds. If you want to get rid of the cache, simply remove +this directory. + +You can get statistics on the cache (its size, number of hits, +misses, etc.) by running +make ccache-stats+. + +The make target +ccache-options+ and the +CCACHE_OPTIONS+ variable +provide more generic access to the ccache. For example + +---- +# set cache limit size +make CCACHE_OPTIONS="--max-size=5G" ccache-options + +# zero statistics counters +make CCACHE_OPTIONS="--zero-stats" ccache-options +---- + ++ccache+ makes a hash of the source files and of the compiler options. +If a compiler option is different, the cached object file will not be +used. Many compiler options, however, contain an absolute path to the +staging directory. Because of this, building in a different output +directory would lead to many cache misses. + +To avoid this issue, buildroot has the +Use relative paths+ option +(+BR2_CCACHE_USE_BASEDIR+). This will rewrite all absolute paths that +point inside the output directory into relative paths. Thus, changing +the output directory no longer leads to cache misses. + +A disadvantage of the relative paths is that they also end up to be +relative paths in the object file. Therefore, for example, the debugger +will no longer find the file, unless you cd to the output directory +first. + +See https://ccache.samba.org/manual.html#_compiling_in_different_directories[the +ccache manual's section on "Compiling in different directories"] for +more details about this rewriting of absolute paths. + +When +ccache+ is enabled in Buildroot using the +BR2_CCACHE=y+ option: + +* +ccache+ is used during the Buildroot build itself + +* +ccache+ is not used when building outside of Buildroot, for example + when directly calling the cross-compiler or using the SDK + +One can override this behavior using the +BR2_USE_CCACHE+ environment +variable: when set to +1+, usage of ccache is enabled (default during +the Buildroot build), when unset or set to a value different from +1+, +usage of ccache is disabled. diff --git a/docs/manual/ccache-support.txt b/docs/manual/ccache-support.txt deleted file mode 100644 index f6746ad7d83..00000000000 --- a/docs/manual/ccache-support.txt +++ /dev/null @@ -1,55 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[ccache]] -==== Using +ccache+ in Buildroot - -http://ccache.samba.org[ccache] is a compiler cache. It stores the -object files resulting from each compilation process, and is able to -skip future compilation of the same source file (with same compiler -and same arguments) by using the pre-existing object files. When doing -almost identical builds from scratch a number of times, it can nicely -speed up the build process. - -+ccache+ support is integrated in Buildroot. You just have to enable -+Enable compiler cache+ in +Build options+. This will automatically -build +ccache+ and use it for every host and target compilation. - -The cache is located in +$HOME/.buildroot-ccache+. It is stored -outside of Buildroot output directory so that it can be shared by -separate Buildroot builds. If you want to get rid of the cache, simply -remove this directory. - -You can get statistics on the cache (its size, number of hits, -misses, etc.) by running +make ccache-stats+. - -The make target +ccache-options+ and the +CCACHE_OPTIONS+ variable -provide more generic access to the ccache. For example - ------------------ -# set cache limit size -make CCACHE_OPTIONS="--max-size=5G" ccache-options - -# zero statistics counters -make CCACHE_OPTIONS="--zero-stats" ccache-options ------------------ - -+ccache+ makes a hash of the source files and of the compiler options. -If a compiler option is different, the cached object file will not be -used. Many compiler options, however, contain an absolute path to the -staging directory. Because of this, building in a different output -directory would lead to many cache misses. - -To avoid this issue, buildroot has the +Use relative paths+ option -(+BR2_CCACHE_USE_BASEDIR+). This will rewrite all absolute paths that -point inside the output directory into relative paths. Thus, changing -the output directory no longer leads to cache misses. - -A disadvantage of the relative paths is that they also end up to be -relative paths in the object file. Therefore, for example, the debugger -will no longer find the file, unless you cd to the output directory -first. - -See https://ccache.samba.org/manual.html#_compiling_in_different_directories[the -ccache manual's section on "Compiling in different directories"] for -more details about this rewriting of absolute paths. diff --git a/docs/manual/common-usage.adoc b/docs/manual/common-usage.adoc new file mode 100644 index 00000000000..7437a7c3c03 --- /dev/null +++ b/docs/manual/common-usage.adoc @@ -0,0 +1,448 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== General Buildroot usage + +include::make-tips.adoc[] + +include::rebuilding-packages.adoc[] + +=== Offline builds + +If you intend to do an offline build and just want to download +all sources that you previously selected in the configurator +('menuconfig', 'nconfig', 'xconfig' or 'gconfig'), then issue: + +---- + $ make source +---- + +You can now disconnect or copy the content of your +dl+ +directory to the build-host. + +=== Building out-of-tree + +As default, everything built by Buildroot is stored in the directory ++output+ in the Buildroot tree. + +Buildroot also supports building out of tree with a syntax similar to +the Linux kernel. To use it, add +O=+ to the make command +line: + +---- + $ make O=/tmp/build menuconfig +---- + +Or: + +---- + $ cd /tmp/build; make O=$PWD -C path/to/buildroot menuconfig +---- + +All the output files will be located under +/tmp/build+. If the +O+ +path does not exist, Buildroot will create it. + +*Note:* the +O+ path can be either an absolute or a relative path, but if it's +passed as a relative path, it is important to note that it is interpreted +relative to the main Buildroot source directory, *not* the current working +directory. + +When using out-of-tree builds, the Buildroot +.config+ and temporary +files are also stored in the output directory. This means that you can +safely run multiple builds in parallel using the same source tree as +long as they use unique output directories. + +For ease of use, Buildroot generates a Makefile wrapper in the output +directory - so after the first run, you no longer need to pass +O=<...>+ +and +-C <...>+, simply run (in the output directory): + +---- + $ make +---- + +[[env-vars]] + +=== Environment variables + +Buildroot also honors some environment variables, when they are passed +to +make+ or set in the environment: + +* +HOSTCXX+, the host C++ compiler to use +* +HOSTCC+, the host C compiler to use +* +UCLIBC_CONFIG_FILE=+, path to + the uClibc configuration file, used to compile uClibc, if an + internal toolchain is being built. + + + Note that the uClibc configuration file can also be set from the + configuration interface, so through the Buildroot +.config+ file; this + is the recommended way of setting it. + + +* +BUSYBOX_CONFIG_FILE=+, path to + the BusyBox configuration file. + + + Note that the BusyBox configuration file can also be set from the + configuration interface, so through the Buildroot +.config+ file; this + is the recommended way of setting it. + + +* +BR2_CCACHE_DIR+ to override the directory where + Buildroot stores the cached files when using ccache. + + +* +BR2_DL_DIR+ to override the directory in which + Buildroot stores/retrieves downloaded files. + + + Note that the Buildroot download directory can also be set from the + configuration interface, so through the Buildroot +.config+ file. See + xref:download-location[] for more details on how you can set the download + directory. +* +BR2_GRAPH_ALT+, if set and non-empty, to use an alternate color-scheme in + build-time graphs +* +BR2_GRAPH_OUT+ to set the filetype of generated graphs, either +pdf+ (the + default), or +png+. +* +BR2_GRAPH_DEPS_OPTS+ to pass extra options to the dependency graph; see + xref:graph-depends[] for the accepted options +* +BR2_GRAPH_DOT_OPTS+ is passed verbatim as options to the +dot+ utility to + draw the dependency graph. +* +BR2_GRAPH_SIZE_OPTS+ to pass extra options to the size graph; see + xref:graph-size[] for the acepted options + +An example that uses config files located in the toplevel directory and +in your $HOME: + +---- + $ make UCLIBC_CONFIG_FILE=uClibc.config BUSYBOX_CONFIG_FILE=$HOME/bb.config +---- + +If you want to use a compiler other than the default +gcc+ +or +g+++ for building helper-binaries on your host, then do + +---- + $ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD +---- + +=== Dealing efficiently with filesystem images + +Filesystem images can get pretty big, depending on the filesystem you choose, +the number of packages, whether you provisioned free space... Yet, some +locations in the filesystems images may just be _empty_ (e.g. a long run of +'zeroes'); such a file is called a _sparse_ file. + +Most tools can handle sparse files efficiently, and will only store or write +those parts of a sparse file that are not empty. + +For example: + +* +tar+ accepts the +-S+ option to tell it to only store non-zero blocks + of sparse files: +** +tar cf archive.tar -S [files...]+ will efficiently store sparse files + in a tarball +** +tar xf archive.tar -S+ will efficiently store sparse files extracted + from a tarball + +* +cp+ accepts the +--sparse=WHEN+ option (+WHEN+ is one of +auto+, + +never+ or +always+): +** +cp --sparse=always source.file dest.file+ will make +dest.file+ a + sparse file if +source.file+ has long runs of zeroes + +Other tools may have similar options. Please consult their respective man +pages. + +You can use sparse files if you need to store the filesystem images (e.g. +to transfer from one machine to another), or if you need to send them (e.g. +to the Q&A team). + +Note however that flashing a filesystem image to a device while using the +sparse mode of +dd+ may result in a broken filesystem (e.g. the block bitmap +of an ext2 filesystem may be corrupted; or, if you have sparse files in +your filesystem, those parts may not be all-zeroes when read back). You +should only use sparse files when handling files on the build machine, not +when transferring them to an actual device that will be used on the target. + +=== Details about packages + +[[package-details]] + +Buildroot can produce a JSON blurb that describes the set of enabled +packages in the current configuration, together with their +dependencies, licenses and other metadata. This JSON blurb is produced +by using the +show-info+ make target: + +---- +make show-info +---- + +Buildroot can also produce details about packages as HTML and JSON +output using the +pkg-stats+ make target. Amongst other things, these +details include whether known CVEs (security vulnerabilities) affect +the packages in your current configuration. It also shows if there is +a newer upstream version for those packages. + +---- +make pkg-stats +---- + +=== Generating CycloneDX SBOM + +Based on the output of +show-info+ Buildroot can generate a SBOM in +the CycloneDX format. While it doesn't offer any additional +information, CycloneDX is a format specification that can be consumed +by other projects. + +---- +make show-info | utils/generate-cyclonedx +---- + +For more information check the help of the +generate-cyclonedx+ script, the +script call can be tailored to your project. + +---- +utils/generate-cyclonedx --help +---- + +Similarly to +pkg-stats+, CycloneDX SBOM's can be enriched with vulnerability +analysis from the NVD database. + +---- +make show | utils/generate-cyclonedx > sbom.cdx.json +cat sbom.cdx.json | support/scripts/cve-check --nvd-path dl/buildroot-nvd/ +---- + +For more information about CycloneDX see https://cyclonedx.org/[]. + +=== Graphing the dependencies between packages + +[[graph-depends]] + +One of Buildroot's jobs is to know the dependencies between packages, +and make sure they are built in the right order. These dependencies +can sometimes be quite complicated, and for a given system, it is +often not easy to understand why such or such package was brought into +the build by Buildroot. + +In order to help understanding the dependencies, and therefore better +understand what is the role of the different components in your +embedded Linux system, Buildroot is capable of generating dependency +graphs. + +To generate a dependency graph of the full system you have compiled, +simply run: + +---- +make graph-depends +---- + +You will find the generated graph in ++output/graphs/graph-depends.pdf+. + +If your system is quite large, the dependency graph may be too complex +and difficult to read. It is therefore possible to generate the +dependency graph just for a given package: + +---- +make -graph-depends +---- + +You will find the generated graph in ++output/graph/-graph-depends.pdf+. + +Note that the dependency graphs are generated using the +dot+ tool +from the _Graphviz_ project, which you must have installed on your +system to use this feature. In most distributions, it is available as +the +graphviz+ package. + +By default, the dependency graphs are generated in the PDF +format. However, by passing the +BR2_GRAPH_OUT+ environment variable, you +can switch to other output formats, such as PNG, PostScript or +SVG. All formats supported by the +-T+ option of the +dot+ tool are +supported. + +---- +BR2_GRAPH_OUT=svg make graph-depends +---- + +The +graph-depends+ behaviour can be controlled by setting options in the ++BR2_GRAPH_DEPS_OPTS+ environment variable. The accepted options are: + +* +--depth N+, +-d N+, to limit the dependency depth to +N+ levels. The + default, +0+, means no limit. + +* +--stop-on PKG+, +-s PKG+, to stop the graph on the package +PKG+. + +PKG+ can be an actual package name, a glob, the keyword 'virtual' + (to stop on virtual packages), or the keyword 'host' (to stop on + host packages). The package is still present on the graph, but its + dependencies are not. + +* +--exclude PKG+, +-x PKG+, like +--stop-on+, but also omits +PKG+ from + the graph. + +* +--transitive+, +--no-transitive+, to draw (or not) the transitive + dependencies. The default is to not draw transitive dependencies. + +* +--colors R,T,H+, the comma-separated list of colors to draw the + root package (+R+), the target packages (+T+) and the host packages + (+H+). Defaults to: +lightblue,grey,gainsboro+ + +---- +BR2_GRAPH_DEPS_OPTS='-d 3 --no-transitive --colors=red,green,blue' make graph-depends +---- + +=== Graphing the build duration + +[[graph-duration]] + +When the build of a system takes a long time, it is sometimes useful +to be able to understand which packages are the longest to build, to +see if anything can be done to speed up the build. In order to help +such build time analysis, Buildroot collects the build time of each +step of each package, and allows to generate graphs from this data. + +To generate the build time graph after a build, run: + +---- +make graph-build +---- + +This will generate a set of files in +output/graphs+ : + +* +build.hist-build.pdf+, a histogram of the build time for each + package, ordered in the build order. + +* +build.hist-duration.pdf+, a histogram of the build time for each + package, ordered by duration (longest first) + +* +build.hist-name.pdf+, a histogram of the build time for each + package, order by package name. + +* +build.pie-packages.pdf+, a pie chart of the build time per package + +* +build.pie-steps.pdf+, a pie chart of the global time spent in each + step of the packages build process. + +This +graph-build+ target requires the Python Matplotlib and Numpy +libraries to be installed (+python-matplotlib+ and +python-numpy+ on +most distributions), and also the +argparse+ module if you're using a +Python version older than 2.7 (+python-argparse+ on most +distributions). + +By default, the output format for the graph is PDF, but a different +format can be selected using the +BR2_GRAPH_OUT+ environment variable. The +only other format supported is PNG: + +---- +BR2_GRAPH_OUT=png make graph-build +---- + +[[graph-size]] +=== Graphing the filesystem size contribution of packages + +When your target system grows, it is sometimes useful to understand +how much each Buildroot package is contributing to the overall root +filesystem size. To help with such an analysis, Buildroot collects +data about files installed by each package and using this data, +generates a graph and CSV files detailing the size contribution of +the different packages. + +To generate these data after a build, run: + +---- +make graph-size +---- + +This will generate: + +* +output/graphs/graph-size.pdf+, a pie chart of the contribution of + each package to the overall root filesystem size + +* +output/graphs/package-size-stats.csv+, a CSV file giving the size + contribution of each package to the overall root filesystem size + +* +output/graphs/file-size-stats.csv+, a CSV file giving the size + contribution of each installed file to the package it belongs, and + to the overall filesystem size. + +This +graph-size+ target requires the Python Matplotlib library to be +installed (+python-matplotlib+ on most distributions), and also the ++argparse+ module if you're using a Python version older than 2.7 +(+python-argparse+ on most distributions). + +Just like for the duration graph, a +BR2_GRAPH_OUT+ environment variable +is supported to adjust the output file format. See xref:graph-depends[] +for details about this environment variable. + +Additionally, one may set the environment variable +BR2_GRAPH_SIZE_OPTS+ +to further control the generated graph. Accepted options are: + +* `--size-limit X`, `-l X`, will group all packages which individual + contribution is below `X` percent, to a single entry labelled _Others_ + in the graph. By default, `X=0.01`, which means packages each + contributing less than 1% are grouped under _Others_. Accepted values + are in the range `[0.0..1.0]`. + +* `--iec`, `--binary`, `--si`, `--decimal`, to use IEC (binary, powers + of 1024) or SI (decimal, powers of 1000; the default) prefixes. + +* `--biggest-first`, to sort packages in decreasing size order, rather + than in increasing size order. + +.Note +The collected filesystem size data is only meaningful after a complete +clean rebuild. Be sure to run +make clean all+ before using +make +graph-size+. + +To compare the root filesystem size of two different Buildroot compilations, +for example after adjusting the configuration or when switching to another +Buildroot release, use the +size-stats-compare+ script. It takes two ++file-size-stats.csv+ files (produced by +make graph-size+) as input. +Refer to the help text of this script for more details: + +---- +utils/size-stats-compare -h +---- + +[[top-level-parallel-build]] +=== Top-level parallel build + +.Note +This section deals with a very experimental feature, which is known to +break even in some non-unusual situations. Use at your own risk. + +Buildroot has always been capable of using parallel build on a per +package basis: each package is built by Buildroot using +make -jN+ (or +the equivalent invocation for non-make-based build systems). The level +of parallelism is by default number of CPUs + 1, but it can be +adjusted using the +BR2_JLEVEL+ configuration option. + +Until 2020.02, Buildroot was however building packages in a serial +fashion: each package was built one after the other, without +parallelization of the build between packages. As of 2020.02, +Buildroot has experimental support for *top-level parallel build*, +which allows some signicant build time savings by building packages +that have no dependency relationship in parallel. This feature is +however marked as experimental and is known not to work in some cases. + +In order to use top-level parallel build, one must: + +. Enable the option +BR2_PER_PACKAGE_DIRECTORIES+ in the Buildroot +configuration + +. Use +make -jN+ when starting the Buildroot build + +Internally, the +BR2_PER_PACKAGE_DIRECTORIES+ will enable a mechanism +called *per-package directories*, which will have the following +effects: + +* Instead of a global _target_ directory and a global _host_ directory + common to all packages, per-package _target_ and _host_ directories + will be used, in +$(O)/per-package//target/+ and + +$(O)/per-package//host/+ respectively. Those folders will be + populated from the corresponding folders of the package dependencies + at the beginning of ++ build. The compiler and all other tools + will therefore only be able to see and access files installed by + dependencies explicitly listed by ++. + +* At the end of the build, the global _target_ and _host_ directories + will be populated, located in +$(O)/target+ and +$(O)/host+ + respectively. This means that during the build, those folders will + be empty and it's only at the very end of the build that they will + be populated. + +include::advanced.adoc[] diff --git a/docs/manual/common-usage.txt b/docs/manual/common-usage.txt deleted file mode 100644 index a22da201885..00000000000 --- a/docs/manual/common-usage.txt +++ /dev/null @@ -1,334 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -== General Buildroot usage - -include::make-tips.txt[] - -include::rebuilding-packages.txt[] - -=== Offline builds - -If you intend to do an offline build and just want to download -all sources that you previously selected in the configurator -('menuconfig', 'nconfig', 'xconfig' or 'gconfig'), then issue: - --------------------- - $ make source --------------------- - -You can now disconnect or copy the content of your +dl+ -directory to the build-host. - -=== Building out-of-tree - -As default, everything built by Buildroot is stored in the directory -+output+ in the Buildroot tree. - -Buildroot also supports building out of tree with a syntax similar to -the Linux kernel. To use it, add +O=+ to the make command -line: - --------------------- - $ make O=/tmp/build --------------------- - -Or: - --------------------- - $ cd /tmp/build; make O=$PWD -C path/to/buildroot --------------------- - -All the output files will be located under +/tmp/build+. If the +O+ -path does not exist, Buildroot will create it. - -*Note:* the +O+ path can be either an absolute or a relative path, but if it's -passed as a relative path, it is important to note that it is interpreted -relative to the main Buildroot source directory, *not* the current working -directory. - -When using out-of-tree builds, the Buildroot +.config+ and temporary -files are also stored in the output directory. This means that you can -safely run multiple builds in parallel using the same source tree as -long as they use unique output directories. - -For ease of use, Buildroot generates a Makefile wrapper in the output -directory - so after the first run, you no longer need to pass +O=<...>+ -and +-C <...>+, simply run (in the output directory): - --------------------- - $ make --------------------- - -[[env-vars]] - -=== Environment variables - -Buildroot also honors some environment variables, when they are passed -to +make+ or set in the environment: - -* +HOSTCXX+, the host C++ compiler to use -* +HOSTCC+, the host C compiler to use -* +UCLIBC_CONFIG_FILE=+, path to - the uClibc configuration file, used to compile uClibc, if an - internal toolchain is being built. - + - Note that the uClibc configuration file can also be set from the - configuration interface, so through the Buildroot +.config+ file; this - is the recommended way of setting it. - + -* +BUSYBOX_CONFIG_FILE=+, path to - the BusyBox configuration file. - + - Note that the BusyBox configuration file can also be set from the - configuration interface, so through the Buildroot +.config+ file; this - is the recommended way of setting it. - + -* +BR2_CCACHE_DIR+ to override the directory where - Buildroot stores the cached files when using ccache. - + -* +BR2_DL_DIR+ to override the directory in which - Buildroot stores/retrieves downloaded files - + - Note that the Buildroot download directory can also be set from the - configuration interface, so through the Buildroot +.config+ file. See - xref:download-location[] for more details on how you can set the download - directory. -* +BR2_GRAPH_ALT+, if set and non-empty, to use an alternate color-scheme in - build-time graphs -* +BR2_GRAPH_OUT+ to set the filetype of generated graphs, either +pdf+ (the - default), or +png+. -* +BR2_GRAPH_DEPS_OPTS+ to pass extra options to the dependency graph; see - xref:graph-depends[] for the accepted options -* +BR2_GRAPH_DOT_OPTS+ is passed verbatim as options to the +dot+ utility to - draw the dependency graph. - -An example that uses config files located in the toplevel directory and -in your $HOME: - --------------------- - $ make UCLIBC_CONFIG_FILE=uClibc.config BUSYBOX_CONFIG_FILE=$HOME/bb.config --------------------- - -If you want to use a compiler other than the default +gcc+ -or +g+++ for building helper-binaries on your host, then do - --------------------- - $ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD --------------------- - -=== Dealing efficiently with filesystem images - -Filesystem images can get pretty big, depending on the filesystem you choose, -the number of packages, whether you provisioned free space... Yet, some -locations in the filesystems images may just be _empty_ (e.g. a long run of -'zeroes'); such a file is called a _sparse_ file. - -Most tools can handle sparse files efficiently, and will only store or write -those parts of a sparse file that are not empty. - -For example: - -* +tar+ accepts the +-S+ option to tell it to only store non-zero blocks - of sparse files: -** +tar cf archive.tar -S [files...]+ will efficiently store sparse files - in a tarball -** +tar xf archive.tar -S+ will efficiently store sparse files extracted - from a tarball - -* +cp+ accepts the +--sparse=WHEN+ option (+WHEN+ is one of +auto+, - +never+ or +always+): -** +cp --sparse=always source.file dest.file+ will make +dest.file+ a - sparse file if +source.file+ has long runs of zeroes - -Other tools may have similar options. Please consult their respective man -pages. - -You can use sparse files if you need to store the filesystem images (e.g. -to transfer from one machine to another), or if you need to send them (e.g. -to the Q&A team). - -Note however that flashing a filesystem image to a device while using the -sparse mode of +dd+ may result in a broken filesystem (e.g. the block bitmap -of an ext2 filesystem may be corrupted; or, if you have sparse files in -your filesystem, those parts may not be all-zeroes when read back). You -should only use sparse files when handling files on the build machine, not -when transferring them to an actual device that will be used on the target. - -=== Graphing the dependencies between packages - -[[graph-depends]] - -One of Buildroot's jobs is to know the dependencies between packages, -and make sure they are built in the right order. These dependencies -can sometimes be quite complicated, and for a given system, it is -often not easy to understand why such or such package was brought into -the build by Buildroot. - -In order to help understanding the dependencies, and therefore better -understand what is the role of the different components in your -embedded Linux system, Buildroot is capable of generating dependency -graphs. - -To generate a dependency graph of the full system you have compiled, -simply run: - ------------------------- -make graph-depends ------------------------- - -You will find the generated graph in -+output/graphs/graph-depends.pdf+. - -If your system is quite large, the dependency graph may be too complex -and difficult to read. It is therefore possible to generate the -dependency graph just for a given package: - ------------------------- -make -graph-depends ------------------------- - -You will find the generated graph in -+output/graph/-graph-depends.pdf+. - -Note that the dependency graphs are generated using the +dot+ tool -from the _Graphviz_ project, which you must have installed on your -system to use this feature. In most distributions, it is available as -the +graphviz+ package. - -By default, the dependency graphs are generated in the PDF -format. However, by passing the +BR2_GRAPH_OUT+ environment variable, you -can switch to other output formats, such as PNG, PostScript or -SVG. All formats supported by the +-T+ option of the +dot+ tool are -supported. - --------------------------------- -BR2_GRAPH_OUT=svg make graph-depends --------------------------------- - -The +graph-depends+ behaviour can be controlled by setting options in the -+BR2_GRAPH_DEPS_OPTS+ environment variable. The accepted options are: - -* +--depth N+, +-d N+, to limit the dependency depth to +N+ levels. The - default, +0+, means no limit. - -* +--stop-on PKG+, +-s PKG+, to stop the graph on the package +PKG+. - +PKG+ can be an actual package name, a glob, the keyword 'virtual' - (to stop on virtual packages), or the keyword 'host' (to stop on - host packages). The package is still present on the graph, but its - dependencies are not. - -* +--exclude PKG+, +-x PKG+, like +--stop-on+, but also omits +PKG+ from - the graph. - -* +--transitive+, +--no-transitive+, to draw (or not) the transitive - dependencies. The default is to not draw transitive dependencies. - -* +--colours R,T,H+, the comma-separated list of colours to draw the - root package (+R+), the target packages (+T+) and the host packages - (+H+). Defaults to: +lightblue,grey,gainsboro+ - --------------------------------- -BR2_GRAPH_DEPS_OPTS='-d 3 --no-transitive --colours=red,green,blue' make graph-depends --------------------------------- - -=== Graphing the build duration - -[[graph-duration]] - -When the build of a system takes a long time, it is sometimes useful -to be able to understand which packages are the longest to build, to -see if anything can be done to speed up the build. In order to help -such build time analysis, Buildroot collects the build time of each -step of each package, and allows to generate graphs from this data. - -To generate the build time graph after a build, run: - ----------------- -make graph-build ----------------- - -This will generate a set of files in +output/graphs+ : - -* +build.hist-build.pdf+, a histogram of the build time for each - package, ordered in the build order. - -* +build.hist-duration.pdf+, a histogram of the build time for each - package, ordered by duration (longest first) - -* +build.hist-name.pdf+, a histogram of the build time for each - package, order by package name. - -* +build.pie-packages.pdf+, a pie chart of the build time per package - -* +build.pie-steps.pdf+, a pie chart of the global time spent in each - step of the packages build process. - -This +graph-build+ target requires the Python Matplotlib and Numpy -libraries to be installed (+python-matplotlib+ and +python-numpy+ on -most distributions), and also the +argparse+ module if you're using a -Python version older than 2.7 (+python-argparse+ on most -distributions). - -By default, the output format for the graph is PDF, but a different -format can be selected using the +BR2_GRAPH_OUT+ environment variable. The -only other format supported is PNG: - ----------------- -BR2_GRAPH_OUT=png make graph-build ----------------- - -=== Graphing the filesystem size contribution of packages - -When your target system grows, it is sometimes useful to understand -how much each Buildroot package is contributing to the overall root -filesystem size. To help with such an analysis, Buildroot collects -data about files installed by each package and using this data, -generates a graph and CSV files detailing the size contribution of -the different packages. - -To generate these data after a build, run: - ----------------- -make graph-size ----------------- - -This will generate: - -* +output/graphs/graph-size.pdf+, a pie chart of the contribution of - each package to the overall root filesystem size - -* +output/graphs/package-size-stats.csv+, a CSV file giving the size - contribution of each package to the overall root filesystem size - -* +output/graphs/file-size-stats.csv+, a CSV file giving the size - contribution of each installed file to the package it belongs, and - to the overall filesystem size. - -This +graph-size+ target requires the Python Matplotlib library to be -installed (+python-matplotlib+ on most distributions), and also the -+argparse+ module if you're using a Python version older than 2.7 -(+python-argparse+ on most distributions). - -Just like for the duration graph, a +BR2_GRAPH_OUT+ environment is -supported to adjust the output file format. See xref:graph-depends[] -for details about this environment variable. - -.Note -The collected filesystem size data is only meaningful after a complete -clean rebuild. Be sure to run +make clean all+ before using +make -graph-size+. - -To compare the root filesystem size of two different Buildroot compilations, -for example after adjusting the configuration or when switching to another -Buildroot release, use the +size-stats-compare+ script. It takes two -+file-size-stats.csv+ files (produced by +make graph-size+) as input. -Refer to the help text of this script for more details: - ----------------- -utils/size-stats-compare -h ----------------- - -include::eclipse-integration.txt[] - -include::advanced.txt[] diff --git a/docs/manual/configure-other-components.txt b/docs/manual/configure-other-components.adoc similarity index 100% rename from docs/manual/configure-other-components.txt rename to docs/manual/configure-other-components.adoc diff --git a/docs/manual/configure.adoc b/docs/manual/configure.adoc new file mode 100644 index 00000000000..e0358aa0f9e --- /dev/null +++ b/docs/manual/configure.adoc @@ -0,0 +1,431 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[configure]] +== Buildroot configuration + +All the configuration options in +make *config+ have a help text +providing details about the option. + +The +make *config+ commands also offer a search tool. Read the help +message in the different frontend menus to know how to use it: + +* in _menuconfig_, the search tool is called by pressing +/+; +* in _xconfig_, the search tool is called by pressing +Ctrl+ + +f+. + +The result of the search shows the help message of the matching items. +In _menuconfig_, numbers in the left column provide a shortcut to the +corresponding entry. Just type this number to directly jump to the +entry, or to the containing menu in case the entry is not selectable due +to a missing dependency. + +Although the menu structure and the help text of the entries should be +sufficiently self-explanatory, a number of topics require additional +explanation that cannot easily be covered in the help text and are +therefore covered in the following sections. + +=== Cross-compilation toolchain + +A compilation toolchain is the set of tools that allows you to compile +code for your system. It consists of a compiler (in our case, +gcc+), +binary utils like assembler and linker (in our case, +binutils+) and a +C standard library (for example +http://www.gnu.org/software/libc/libc.html[GNU Libc], +http://www.uclibc-ng.org/[uClibc-ng]). + +The system installed on your development station certainly already has +a compilation toolchain that you can use to compile an application +that runs on your system. If you're using a PC, your compilation +toolchain runs on an x86 processor and generates code for an x86 +processor. Under most Linux systems, the compilation toolchain uses +the GNU libc (glibc) as the C standard library. This compilation +toolchain is called the "host compilation toolchain". The machine on +which it is running, and on which you're working, is called the "host +system" footnote:[This terminology differs from what is used by GNU +configure, where the host is the machine on which the application will +run (which is usually the same as target)]. + +The compilation toolchain is provided by your distribution, and +Buildroot has nothing to do with it (other than using it to build a +cross-compilation toolchain and other tools that are run on the +development host). + +As said above, the compilation toolchain that comes with your system +runs on and generates code for the processor in your host system. As +your embedded system has a different processor, you need a +cross-compilation toolchain - a compilation toolchain that runs on +your _host system_ but generates code for your _target system_ (and +target processor). For example, if your host system uses x86 and your +target system uses ARM, the regular compilation toolchain on your host +runs on x86 and generates code for x86, while the cross-compilation +toolchain runs on x86 and generates code for ARM. + +Buildroot provides two solutions for the cross-compilation toolchain: + + * The *internal toolchain backend*, called +Buildroot toolchain+ in + the configuration interface. + + * The *external toolchain backend*, called +External toolchain+ in + the configuration interface. + +The choice between these two solutions is done using the +Toolchain +Type+ option in the +Toolchain+ menu. Once one solution has been +chosen, a number of configuration options appear, they are detailed in +the following sections. + +[[internal-toolchain-backend]] +==== Internal toolchain backend + +The _internal toolchain backend_ is the backend where Buildroot builds +by itself a cross-compilation toolchain, before building the userspace +applications and libraries for your target embedded system. + +This backend supports several C libraries: +http://www.uclibc-ng.org[uClibc-ng], +http://www.gnu.org/software/libc/libc.html[glibc] and +http://www.musl-libc.org[musl]. + +Once you have selected this backend, a number of options appear. The +most important ones allow to: + + * Change the version of the Linux kernel headers used to build the + toolchain. This item deserves a few explanations. In the process of + building a cross-compilation toolchain, the C library is being + built. This library provides the interface between userspace + applications and the Linux kernel. In order to know how to "talk" + to the Linux kernel, the C library needs to have access to the + _Linux kernel headers_ (i.e. the +.h+ files from the kernel), which + define the interface between userspace and the kernel (system + calls, data structures, etc.). Since this interface is backward + compatible, the version of the Linux kernel headers used to build + your toolchain do not need to match _exactly_ the version of the + Linux kernel you intend to run on your embedded system. They only + need to have a version equal or older to the version of the Linux + kernel you intend to run. If you use kernel headers that are more + recent than the Linux kernel you run on your embedded system, then + the C library might be using interfaces that are not provided by + your Linux kernel. + + * Change the version of the GCC compiler, binutils and the C library. + + * Select a number of toolchain options (uClibc only): whether the + toolchain should have RPC support (used mainly for NFS), + wide-char support, locale support (for internationalization), + C++ support or thread support. Depending on which options you choose, + the number of userspace applications and libraries visible in + Buildroot menus will change: many applications and libraries require + certain toolchain options to be enabled. Most packages show a comment + when a certain toolchain option is required to be able to enable + those packages. If needed, you can further refine the uClibc + configuration by running +make uclibc-menuconfig+. Note however that + all packages in Buildroot are tested against the default uClibc + configuration bundled in Buildroot: if you deviate from this + configuration by removing features from uClibc, some packages may no + longer build. + +It is worth noting that whenever one of those options is modified, +then the entire toolchain and system must be rebuilt. See +xref:full-rebuild[]. + +Advantages of this backend: + +* Well integrated with Buildroot +* Fast, only builds what's necessary + +Drawbacks of this backend: + +* Rebuilding the toolchain is needed when doing +make clean+, which + takes time. If you're trying to reduce your build time, consider + using the _External toolchain backend_. + +[[external-toolchain-backend]] +==== External toolchain backend + +The _external toolchain backend_ allows to use existing pre-built +cross-compilation toolchains. Buildroot knows about a number of +well-known cross-compilation toolchains (from +http://www.linaro.org[Linaro] for ARM, +http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/[Sourcery +CodeBench] for ARM, x86-64, PowerPC, and MIPS, and is capable of +downloading them automatically, or it can be pointed to a custom +toolchain, either available for download or installed locally. + +Then, you have three solutions to use an external toolchain: + +* Use a predefined external toolchain profile, and let Buildroot + download, extract and install the toolchain. Buildroot already knows + about a few CodeSourcery and Linaro toolchains. Just select the + toolchain profile in +Toolchain+ from the available ones. This is + definitely the easiest solution. + +* Use a predefined external toolchain profile, but instead of having + Buildroot download and extract the toolchain, you can tell Buildroot + where your toolchain is already installed on your system. Just + select the toolchain profile in +Toolchain+ through the available + ones, unselect +Download toolchain automatically+, and fill the + +Toolchain path+ text entry with the path to your cross-compiling + toolchain. + +* Use a completely custom external toolchain. This is particularly + useful for toolchains generated using crosstool-NG or with Buildroot + itself. To do this, select the +Custom toolchain+ solution in the + +Toolchain+ list. You need to fill the +Toolchain path+, +Toolchain + prefix+ and +External toolchain C library+ options. Then, you have + to tell Buildroot what your external toolchain supports. If your + external toolchain uses the 'glibc' library, you only have to tell + whether your toolchain supports C\++ or not and whether it has + built-in RPC support. If your external toolchain uses the 'uClibc' + library, then you have to tell Buildroot if it supports RPC, + wide-char, locale, program invocation, threads and C++. + At the beginning of the execution, Buildroot will tell you if + the selected options do not match the toolchain configuration. + +Our external toolchain support has been tested with toolchains from +CodeSourcery and Linaro, toolchains generated by +http://crosstool-ng.org[crosstool-NG], and toolchains generated by +Buildroot itself. In general, all toolchains that support the +'sysroot' feature should work. If not, do not hesitate to contact the +developers. + +We do not support toolchains or SDK generated by OpenEmbedded or +Yocto, because these toolchains are not pure toolchains (i.e. just the +compiler, binutils, the C and C++ libraries). Instead these toolchains +come with a very large set of pre-compiled libraries and +programs. Therefore, Buildroot cannot import the 'sysroot' of the +toolchain, as it would contain hundreds of megabytes of pre-compiled +libraries that are normally built by Buildroot. + +We also do not support using the distribution toolchain (i.e. the +gcc/binutils/C library installed by your distribution) as the +toolchain to build software for the target. This is because your +distribution toolchain is not a "pure" toolchain (i.e. only with the +C/C++ library), so we cannot import it properly into the Buildroot +build environment. So even if you are building a system for a x86 or +x86_64 target, you have to generate a cross-compilation toolchain with +Buildroot or crosstool-NG. + +If you want to generate a custom toolchain for your project, that can +be used as an external toolchain in Buildroot, our recommendation is +to build it either with Buildroot itself (see +xref:build-toolchain-with-buildroot[]) or with +http://crosstool-ng.org[crosstool-NG]. + +Advantages of this backend: + +* Allows to use well-known and well-tested cross-compilation + toolchains. + +* Avoids the build time of the cross-compilation toolchain, which is + often very significant in the overall build time of an embedded + Linux system. + +Drawbacks of this backend: + +* If your pre-built external toolchain has a bug, may be hard to get a + fix from the toolchain vendor, unless you build your external + toolchain by yourself using Buildroot or Crosstool-NG. + +[[build-toolchain-with-buildroot]] +==== Build an external toolchain with Buildroot + +The Buildroot internal toolchain option can be used to create an +external toolchain. Here are a series of steps to build an internal +toolchain and package it up for reuse by Buildroot itself (or other +projects). + +Create a new Buildroot configuration, with the following details: + +* Select the appropriate *Target options* for your target CPU + architecture + +* In the *Toolchain* menu, keep the default of *Buildroot toolchain* + for *Toolchain type*, and configure your toolchain as desired + +* In the *System configuration* menu, select *None* as the *Init + system* and *none* as */bin/sh* + +* In the *Target packages* menu, disable *BusyBox* + +* In the *Filesystem images* menu, disable *tar the root filesystem* + +Then, we can trigger the build, and also ask Buildroot to generate a +SDK. This will conveniently generate for us a tarball which contains +our toolchain: + +---- +make sdk +---- + +This produces the SDK tarball in +$(O)/images+, with a name similar to ++arm-buildroot-linux-uclibcgnueabi_sdk-buildroot.tar.gz+. Save this +tarball, as it is now the toolchain that you can re-use as an external +toolchain in other Buildroot projects. + +In those other Buildroot projects, in the *Toolchain* menu: + +* Set *Toolchain type* to *External toolchain* + +* Set *Toolchain* to *Custom toolchain* + +* Set *Toolchain origin* to *Toolchain to be downloaded and installed* + +* Set *Toolchain URL* to +file:///path/to/your/sdk/tarball.tar.gz+ + +===== External toolchain wrapper + +When using an external toolchain, Buildroot generates a wrapper program, +that transparently passes the appropriate options (according to the +configuration) to the external toolchain programs. In case you need to +debug this wrapper to check exactly what arguments are passed, you can +set the environment variable +BR2_DEBUG_WRAPPER+ to either one of: + +* +0+, empty or not set: no debug + +* +1+: trace all arguments on a single line + +* +2+: trace one argument per line + +=== /dev management + +On a Linux system, the +/dev+ directory contains special files, called +_device files_, that allow userspace applications to access the +hardware devices managed by the Linux kernel. Without these _device +files_, your userspace applications would not be able to use the +hardware devices, even if they are properly recognized by the Linux +kernel. + +Under +System configuration+, +/dev management+, Buildroot offers four +different solutions to handle the +/dev+ directory : + + * The first solution is *Static using device table*. This is the old + classical way of handling device files in Linux. With this method, + the device files are persistently stored in the root filesystem + (i.e. they persist across reboots), and there is nothing that will + automatically create and remove those device files when hardware + devices are added or removed from the system. Buildroot therefore + creates a standard set of device files using a _device table_, the + default one being stored in +system/device_table_dev.txt+ in the + Buildroot source code. This file is processed when Buildroot + generates the final root filesystem image, and the _device files_ + are therefore not visible in the +output/target+ directory. The + +BR2_ROOTFS_STATIC_DEVICE_TABLE+ option allows to change the + default device table used by Buildroot, or to add an additional + device table, so that additional _device files_ are created by + Buildroot during the build. So, if you use this method, and a + _device file_ is missing in your system, you can for example create + a +board///device_table_dev.txt+ file + that contains the description of your additional _device files_, + and then you can set +BR2_ROOTFS_STATIC_DEVICE_TABLE+ to + +system/device_table_dev.txt + board///device_table_dev.txt+. For more + details about the format of the device table file, see + xref:makedev-syntax[]. + + * The second solution is *Dynamic using devtmpfs only*. _devtmpfs_ is + a virtual filesystem inside the Linux kernel that has been + introduced in kernel 2.6.32 (if you use an older kernel, it is not + possible to use this option). When mounted in +/dev+, this virtual + filesystem will automatically make _device files_ appear and + disappear as hardware devices are added and removed from the + system. This filesystem is not persistent across reboots: it is + filled dynamically by the kernel. Using _devtmpfs_ requires the + following kernel configuration options to be enabled: + +CONFIG_DEVTMPFS+ and +CONFIG_DEVTMPFS_MOUNT+. When Buildroot is in + charge of building the Linux kernel for your embedded device, it + makes sure that those two options are enabled. However, if you + build your Linux kernel outside of Buildroot, then it is your + responsibility to enable those two options (if you fail to do so, + your Buildroot system will not boot). + + * The third solution is *Dynamic using devtmpfs + mdev*. This method + also relies on the _devtmpfs_ virtual filesystem detailed above (so + the requirement to have +CONFIG_DEVTMPFS+ and + +CONFIG_DEVTMPFS_MOUNT+ enabled in the kernel configuration still + apply), but adds the +mdev+ userspace utility on top of it. +mdev+ + is a program part of BusyBox that the kernel will call every time a + device is added or removed. Thanks to the +/etc/mdev.conf+ + configuration file, +mdev+ can be configured to for example, set + specific permissions or ownership on a device file, call a script + or application whenever a device appears or disappear, + etc. Basically, it allows _userspace_ to react on device addition + and removal events. +mdev+ can for example be used to automatically + load kernel modules when devices appear on the system. +mdev+ is + also important if you have devices that require a firmware, as it + will be responsible for pushing the firmware contents to the + kernel. +mdev+ is a lightweight implementation (with fewer + features) of +udev+. For more details about +mdev+ and the syntax + of its configuration file, see + http://git.busybox.net/busybox/tree/docs/mdev.txt. + + * The fourth solution is *Dynamic using devtmpfs + eudev*. This + method also relies on the _devtmpfs_ virtual filesystem detailed + above, but adds the +eudev+ userspace daemon on top of it. +eudev+ + is a daemon that runs in the background, and gets called by the + kernel when a device gets added or removed from the system. It is a + more heavyweight solution than +mdev+, but provides higher + flexibility. +eudev+ is a standalone version of +udev+, the + original userspace daemon used in most desktop Linux distributions, + which is now part of Systemd. For more details, see + http://en.wikipedia.org/wiki/Udev. + +The Buildroot developers recommendation is to start with the *Dynamic +using devtmpfs only* solution, until you have the need for userspace +to be notified when devices are added/removed, or if firmwares are +needed, in which case *Dynamic using devtmpfs + mdev* is usually a +good solution. + +Note that if +systemd+ is chosen as init system, /dev management will +be performed by the +udev+ program provided by +systemd+. + +[[init-system]] +=== init system + +The _init_ program is the first userspace program started by the +kernel (it carries the PID number 1), and is responsible for starting +the userspace services and programs (for example: web server, +graphical applications, other network servers, etc.). + +Buildroot allows to use three different types of init systems, which +can be chosen from +System configuration+, +Init system+: + + * The first solution is *BusyBox*. Amongst many programs, BusyBox has + an implementation of a basic +init+ program, which is sufficient + for most embedded systems. Enabling the +BR2_INIT_BUSYBOX+ will + ensure BusyBox will build and install its +init+ program. This is + the default solution in Buildroot. The BusyBox +init+ program will + read the +/etc/inittab+ file at boot to know what to do. The syntax + of this file can be found in + http://git.busybox.net/busybox/tree/examples/inittab (note that + BusyBox +inittab+ syntax is special: do not use a random +inittab+ + documentation from the Internet to learn about BusyBox + +inittab+). The default +inittab+ in Buildroot is stored in + +package/busybox/inittab+. Apart from mounting a few important + filesystems, the main job the default inittab does is to start the + +/etc/init.d/rcS+ shell script, and start a +getty+ program (which + provides a login prompt). + + * The second solution is *systemV*. This solution uses the old + traditional _sysvinit_ program, packed in Buildroot in + +package/sysvinit+. This was the solution used in most desktop + Linux distributions, until they switched to more recent + alternatives such as Upstart or Systemd. +sysvinit+ also works with + an +inittab+ file (which has a slightly different syntax than the + one from BusyBox). The default +inittab+ installed with this init + solution is located in +package/sysvinit/inittab+. + + * The third solution is *systemd*. +systemd+ is the new generation + init system for Linux. It does far more than traditional _init_ + programs: aggressive parallelization capabilities, uses socket and + D-Bus activation for starting services, offers on-demand starting + of daemons, keeps track of processes using Linux control groups, + supports snapshotting and restoring of the system state, + etc. +systemd+ will be useful on relatively complex embedded + systems, for example the ones requiring D-Bus and services + communicating between each other. It is worth noting that +systemd+ + brings a fairly big number of large dependencies: +dbus+, +udev+ + and more. For more details about +systemd+, see + http://www.freedesktop.org/wiki/Software/systemd. + +The solution recommended by Buildroot developers is to use the +*BusyBox init* as it is sufficient for most embedded +systems. *systemd* can be used for more complex situations. diff --git a/docs/manual/configure.txt b/docs/manual/configure.txt deleted file mode 100644 index 008813c9b4d..00000000000 --- a/docs/manual/configure.txt +++ /dev/null @@ -1,384 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[configure]] -== Buildroot configuration - -All the configuration options in +make *config+ have a help text -providing details about the option. - -The +make *config+ commands also offer a search tool. Read the help -message in the different frontend menus to know how to use it: - -* in _menuconfig_, the search tool is called by pressing +/+; -* in _xconfig_, the search tool is called by pressing +Ctrl+ + +f+. - -The result of the search shows the help message of the matching items. -In _menuconfig_, numbers in the left column provide a shortcut to the -corresponding entry. Just type this number to directly jump to the -entry, or to the containing menu in case the entry is not selectable due -to a missing dependency. - -Although the menu structure and the help text of the entries should be -sufficiently self-explanatory, a number of topics require additional -explanation that cannot easily be covered in the help text and are -therefore covered in the following sections. - -=== Cross-compilation toolchain - -A compilation toolchain is the set of tools that allows you to compile -code for your system. It consists of a compiler (in our case, +gcc+), -binary utils like assembler and linker (in our case, +binutils+) and a -C standard library (for example -http://www.gnu.org/software/libc/libc.html[GNU Libc], -http://www.uclibc-ng.org/[uClibc-ng]). - -The system installed on your development station certainly already has -a compilation toolchain that you can use to compile an application -that runs on your system. If you're using a PC, your compilation -toolchain runs on an x86 processor and generates code for an x86 -processor. Under most Linux systems, the compilation toolchain uses -the GNU libc (glibc) as the C standard library. This compilation -toolchain is called the "host compilation toolchain". The machine on -which it is running, and on which you're working, is called the "host -system" footnote:[This terminology differs from what is used by GNU -configure, where the host is the machine on which the application will -run (which is usually the same as target)]. - -The compilation toolchain is provided by your distribution, and -Buildroot has nothing to do with it (other than using it to build a -cross-compilation toolchain and other tools that are run on the -development host). - -As said above, the compilation toolchain that comes with your system -runs on and generates code for the processor in your host system. As -your embedded system has a different processor, you need a -cross-compilation toolchain - a compilation toolchain that runs on -your _host system_ but generates code for your _target system_ (and -target processor). For example, if your host system uses x86 and your -target system uses ARM, the regular compilation toolchain on your host -runs on x86 and generates code for x86, while the cross-compilation -toolchain runs on x86 and generates code for ARM. - -Buildroot provides two solutions for the cross-compilation toolchain: - - * The *internal toolchain backend*, called +Buildroot toolchain+ in - the configuration interface. - - * The *external toolchain backend*, called +External toolchain+ in - the configuration interface. - -The choice between these two solutions is done using the +Toolchain -Type+ option in the +Toolchain+ menu. Once one solution has been -chosen, a number of configuration options appear, they are detailed in -the following sections. - -[[internal-toolchain-backend]] -==== Internal toolchain backend - -The _internal toolchain backend_ is the backend where Buildroot builds -by itself a cross-compilation toolchain, before building the userspace -applications and libraries for your target embedded system. - -This backend supports several C libraries: -http://www.uclibc-ng.org[uClibc-ng], -http://www.gnu.org/software/libc/libc.html[glibc] and -http://www.musl-libc.org[musl]. - -Once you have selected this backend, a number of options appear. The -most important ones allow to: - - * Change the version of the Linux kernel headers used to build the - toolchain. This item deserves a few explanations. In the process of - building a cross-compilation toolchain, the C library is being - built. This library provides the interface between userspace - applications and the Linux kernel. In order to know how to "talk" - to the Linux kernel, the C library needs to have access to the - _Linux kernel headers_ (i.e. the +.h+ files from the kernel), which - define the interface between userspace and the kernel (system - calls, data structures, etc.). Since this interface is backward - compatible, the version of the Linux kernel headers used to build - your toolchain do not need to match _exactly_ the version of the - Linux kernel you intend to run on your embedded system. They only - need to have a version equal or older to the version of the Linux - kernel you intend to run. If you use kernel headers that are more - recent than the Linux kernel you run on your embedded system, then - the C library might be using interfaces that are not provided by - your Linux kernel. - - * Change the version of the GCC compiler, binutils and the C library. - - * Select a number of toolchain options (uClibc only): whether the - toolchain should have RPC support (used mainly for NFS), - wide-char support, locale support (for internationalization), - C++ support or thread support. Depending on which options you choose, - the number of userspace applications and libraries visible in - Buildroot menus will change: many applications and libraries require - certain toolchain options to be enabled. Most packages show a comment - when a certain toolchain option is required to be able to enable - those packages. If needed, you can further refine the uClibc - configuration by running +make uclibc-menuconfig+. Note however that - all packages in Buildroot are tested against the default uClibc - configuration bundled in Buildroot: if you deviate from this - configuration by removing features from uClibc, some packages may no - longer build. - -It is worth noting that whenever one of those options is modified, -then the entire toolchain and system must be rebuilt. See -xref:full-rebuild[]. - -Advantages of this backend: - -* Well integrated with Buildroot -* Fast, only builds what's necessary - -Drawbacks of this backend: - -* Rebuilding the toolchain is needed when doing +make clean+, which - takes time. If you're trying to reduce your build time, consider - using the _External toolchain backend_. - -[[external-toolchain-backend]] -==== External toolchain backend - -The _external toolchain backend_ allows to use existing pre-built -cross-compilation toolchains. Buildroot knows about a number of -well-known cross-compilation toolchains (from -http://www.linaro.org[Linaro] for ARM, -http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/[Sourcery -CodeBench] for ARM, x86-64, PowerPC, and MIPS, and is capable of -downloading them automatically, or it can be pointed to a custom -toolchain, either available for download or installed locally. - -Then, you have three solutions to use an external toolchain: - -* Use a predefined external toolchain profile, and let Buildroot - download, extract and install the toolchain. Buildroot already knows - about a few CodeSourcery and Linaro toolchains. Just select the - toolchain profile in +Toolchain+ from the available ones. This is - definitely the easiest solution. - -* Use a predefined external toolchain profile, but instead of having - Buildroot download and extract the toolchain, you can tell Buildroot - where your toolchain is already installed on your system. Just - select the toolchain profile in +Toolchain+ through the available - ones, unselect +Download toolchain automatically+, and fill the - +Toolchain path+ text entry with the path to your cross-compiling - toolchain. - -* Use a completely custom external toolchain. This is particularly - useful for toolchains generated using crosstool-NG or with Buildroot - itself. To do this, select the +Custom toolchain+ solution in the - +Toolchain+ list. You need to fill the +Toolchain path+, +Toolchain - prefix+ and +External toolchain C library+ options. Then, you have - to tell Buildroot what your external toolchain supports. If your - external toolchain uses the 'glibc' library, you only have to tell - whether your toolchain supports C\++ or not and whether it has - built-in RPC support. If your external toolchain uses the 'uClibc' - library, then you have to tell Buildroot if it supports RPC, - wide-char, locale, program invocation, threads and C++. - At the beginning of the execution, Buildroot will tell you if - the selected options do not match the toolchain configuration. - -Our external toolchain support has been tested with toolchains from -CodeSourcery and Linaro, toolchains generated by -http://crosstool-ng.org[crosstool-NG], and toolchains generated by -Buildroot itself. In general, all toolchains that support the -'sysroot' feature should work. If not, do not hesitate to contact the -developers. - -We do not support toolchains or SDK generated by OpenEmbedded or -Yocto, because these toolchains are not pure toolchains (i.e. just the -compiler, binutils, the C and C++ libraries). Instead these toolchains -come with a very large set of pre-compiled libraries and -programs. Therefore, Buildroot cannot import the 'sysroot' of the -toolchain, as it would contain hundreds of megabytes of pre-compiled -libraries that are normally built by Buildroot. - -We also do not support using the distribution toolchain (i.e. the -gcc/binutils/C library installed by your distribution) as the -toolchain to build software for the target. This is because your -distribution toolchain is not a "pure" toolchain (i.e. only with the -C/C++ library), so we cannot import it properly into the Buildroot -build environment. So even if you are building a system for a x86 or -x86_64 target, you have to generate a cross-compilation toolchain with -Buildroot or crosstool-NG. - -If you want to generate a custom toolchain for your project, that can -be used as an external toolchain in Buildroot, our recommendation is -definitely to build it with http://crosstool-ng.org[crosstool-NG]. We -recommend to build the toolchain separately from Buildroot, and then -_import_ it in Buildroot using the external toolchain backend. - -Advantages of this backend: - -* Allows to use well-known and well-tested cross-compilation - toolchains. - -* Avoids the build time of the cross-compilation toolchain, which is - often very significant in the overall build time of an embedded - Linux system. - -Drawbacks of this backend: - -* If your pre-built external toolchain has a bug, may be hard to get a - fix from the toolchain vendor, unless you build your external - toolchain by yourself using Crosstool-NG. - -===== External toolchain wrapper - -When using an external toolchain, Buildroot generates a wrapper program, -that transparently passes the appropriate options (according to the -configuration) to the external toolchain programs. In case you need to -debug this wrapper to check exactly what arguments are passed, you can -set the environment variable +BR2_DEBUG_WRAPPER+ to either one of: - -* +0+, empty or not set: no debug - -* +1+: trace all arguments on a single line - -* +2+: trace one argument per line - -=== /dev management - -On a Linux system, the +/dev+ directory contains special files, called -_device files_, that allow userspace applications to access the -hardware devices managed by the Linux kernel. Without these _device -files_, your userspace applications would not be able to use the -hardware devices, even if they are properly recognized by the Linux -kernel. - -Under +System configuration+, +/dev management+, Buildroot offers four -different solutions to handle the +/dev+ directory : - - * The first solution is *Static using device table*. This is the old - classical way of handling device files in Linux. With this method, - the device files are persistently stored in the root filesystem - (i.e. they persist across reboots), and there is nothing that will - automatically create and remove those device files when hardware - devices are added or removed from the system. Buildroot therefore - creates a standard set of device files using a _device table_, the - default one being stored in +system/device_table_dev.txt+ in the - Buildroot source code. This file is processed when Buildroot - generates the final root filesystem image, and the _device files_ - are therefore not visible in the +output/target+ directory. The - +BR2_ROOTFS_STATIC_DEVICE_TABLE+ option allows to change the - default device table used by Buildroot, or to add an additional - device table, so that additional _device files_ are created by - Buildroot during the build. So, if you use this method, and a - _device file_ is missing in your system, you can for example create - a +board///device_table_dev.txt+ file - that contains the description of your additional _device files_, - and then you can set +BR2_ROOTFS_STATIC_DEVICE_TABLE+ to - +system/device_table_dev.txt - board///device_table_dev.txt+. For more - details about the format of the device table file, see - xref:makedev-syntax[]. - - * The second solution is *Dynamic using devtmpfs only*. _devtmpfs_ is - a virtual filesystem inside the Linux kernel that has been - introduced in kernel 2.6.32 (if you use an older kernel, it is not - possible to use this option). When mounted in +/dev+, this virtual - filesystem will automatically make _device files_ appear and - disappear as hardware devices are added and removed from the - system. This filesystem is not persistent across reboots: it is - filled dynamically by the kernel. Using _devtmpfs_ requires the - following kernel configuration options to be enabled: - +CONFIG_DEVTMPFS+ and +CONFIG_DEVTMPFS_MOUNT+. When Buildroot is in - charge of building the Linux kernel for your embedded device, it - makes sure that those two options are enabled. However, if you - build your Linux kernel outside of Buildroot, then it is your - responsibility to enable those two options (if you fail to do so, - your Buildroot system will not boot). - - * The third solution is *Dynamic using devtmpfs + mdev*. This method - also relies on the _devtmpfs_ virtual filesystem detailed above (so - the requirement to have +CONFIG_DEVTMPFS+ and - +CONFIG_DEVTMPFS_MOUNT+ enabled in the kernel configuration still - apply), but adds the +mdev+ userspace utility on top of it. +mdev+ - is a program part of BusyBox that the kernel will call every time a - device is added or removed. Thanks to the +/etc/mdev.conf+ - configuration file, +mdev+ can be configured to for example, set - specific permissions or ownership on a device file, call a script - or application whenever a device appears or disappear, - etc. Basically, it allows _userspace_ to react on device addition - and removal events. +mdev+ can for example be used to automatically - load kernel modules when devices appear on the system. +mdev+ is - also important if you have devices that require a firmware, as it - will be responsible for pushing the firmware contents to the - kernel. +mdev+ is a lightweight implementation (with fewer - features) of +udev+. For more details about +mdev+ and the syntax - of its configuration file, see - http://git.busybox.net/busybox/tree/docs/mdev.txt. - - * The fourth solution is *Dynamic using devtmpfs + eudev*. This - method also relies on the _devtmpfs_ virtual filesystem detailed - above, but adds the +eudev+ userspace daemon on top of it. +eudev+ - is a daemon that runs in the background, and gets called by the - kernel when a device gets added or removed from the system. It is a - more heavyweight solution than +mdev+, but provides higher - flexibility. +eudev+ is a standalone version of +udev+, the - original userspace daemon used in most desktop Linux distributions, - which is now part of Systemd. For more details, see - http://en.wikipedia.org/wiki/Udev. - -The Buildroot developers recommendation is to start with the *Dynamic -using devtmpfs only* solution, until you have the need for userspace -to be notified when devices are added/removed, or if firmwares are -needed, in which case *Dynamic using devtmpfs + mdev* is usually a -good solution. - -Note that if +systemd+ is chosen as init system, /dev management will -be performed by the +udev+ program provided by +systemd+. - -=== init system - -The _init_ program is the first userspace program started by the -kernel (it carries the PID number 1), and is responsible for starting -the userspace services and programs (for example: web server, -graphical applications, other network servers, etc.). - -Buildroot allows to use three different types of init systems, which -can be chosen from +System configuration+, +Init system+: - - * The first solution is *BusyBox*. Amongst many programs, BusyBox has - an implementation of a basic +init+ program, which is sufficient - for most embedded systems. Enabling the +BR2_INIT_BUSYBOX+ will - ensure BusyBox will build and install its +init+ program. This is - the default solution in Buildroot. The BusyBox +init+ program will - read the +/etc/inittab+ file at boot to know what to do. The syntax - of this file can be found in - http://git.busybox.net/busybox/tree/examples/inittab (note that - BusyBox +inittab+ syntax is special: do not use a random +inittab+ - documentation from the Internet to learn about BusyBox - +inittab+). The default +inittab+ in Buildroot is stored in - +system/skeleton/etc/inittab+. Apart from mounting a few important - filesystems, the main job the default inittab does is to start the - +/etc/init.d/rcS+ shell script, and start a +getty+ program (which - provides a login prompt). - - * The second solution is *systemV*. This solution uses the old - traditional _sysvinit_ program, packed in Buildroot in - +package/sysvinit+. This was the solution used in most desktop - Linux distributions, until they switched to more recent - alternatives such as Upstart or Systemd. +sysvinit+ also works with - an +inittab+ file (which has a slightly different syntax than the - one from BusyBox). The default +inittab+ installed with this init - solution is located in +package/sysvinit/inittab+. - - * The third solution is *systemd*. +systemd+ is the new generation - init system for Linux. It does far more than traditional _init_ - programs: aggressive parallelization capabilities, uses socket and - D-Bus activation for starting services, offers on-demand starting - of daemons, keeps track of processes using Linux control groups, - supports snapshotting and restoring of the system state, - etc. +systemd+ will be useful on relatively complex embedded - systems, for example the ones requiring D-Bus and services - communicating between each other. It is worth noting that +systemd+ - brings a fairly big number of large dependencies: +dbus+, +udev+ - and more. For more details about +systemd+, see - http://www.freedesktop.org/wiki/Software/systemd. - -The solution recommended by Buildroot developers is to use the -*BusyBox init* as it is sufficient for most embedded -systems. *systemd* can be used for more complex situations. diff --git a/docs/manual/contribute.adoc b/docs/manual/contribute.adoc new file mode 100644 index 00000000000..f22164991f6 --- /dev/null +++ b/docs/manual/contribute.adoc @@ -0,0 +1,756 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== Contributing to Buildroot + +There are many ways in which you can contribute to Buildroot: analyzing +and fixing bugs, analyzing and fixing package build failures detected by +the autobuilders, testing and reviewing patches sent by other +developers, working on the items in our TODO list and sending your own +improvements to Buildroot or its manual. The following sections give a +little more detail on each of these items. + +If you are interested in contributing to Buildroot, the first thing you +should do is to subscribe to the Buildroot mailing list. This list is +the main way of interacting with other Buildroot developers and to send +contributions to. If you aren't subscribed yet, then refer to +xref:community-resources[] for the subscription link. + +If you are going to touch the code, it is highly recommended to use a +git repository of Buildroot, rather than starting from an extracted +source code tarball. Git is the easiest way to develop from and directly +send your patches to the mailing list. Refer to xref:getting-buildroot[] +for more information on obtaining a Buildroot git tree. + +=== Reproducing, analyzing and fixing bugs + +A first way of contributing is to have a look at the open bug reports in +the https://gitlab.com/buildroot.org/buildroot/-/issues[Buildroot bug +tracker]. As we strive to keep the bug count as small as possible, all +help in reproducing, analyzing and fixing reported bugs is more than +welcome. Don't hesitate to add a comment to bug reports reporting your +findings, even if you don't yet see the full picture. + +=== Analyzing and fixing autobuild failures + +The Buildroot autobuilders are a set of build machines that continuously +run Buildroot builds based on random configurations. This is done for +all architectures supported by Buildroot, with various toolchains, and +with a random selection of packages. With the large commit activity on +Buildroot, these autobuilders are a great help in detecting problems +very early after commit. + +All build results are available at https://autobuild.buildroot.org[], +statistics are at https://autobuild.buildroot.org/stats.php[]. Every day, +an overview of all failed packages is sent to the mailing list. + +Detecting problems is great, but obviously these problems have to be +fixed as well. Your contribution is very welcome here! There are +basically two things that can be done: + +- Analyzing the problems. The daily summary mails do not contain details + about the actual failures: in order to see what's going on you have to + open the build log and check the last output. Having someone doing + this for all packages in the mail is very useful for other developers, + as they can make a quick initial analysis based on this output alone. + +- Fixing a problem. When fixing autobuild failures, you should follow + these steps: + . Check if you can reproduce the problem by building with the same + configuration. You can do this manually, or use the + https://gitlab.com/buildroot.org/buildroot-test/-/blob/master/utils/br-reproduce-build[br-reproduce-build] + script that will automatically clone a Buildroot git repository, + checkout the correct revision, download and set the right + configuration, and start the build. + . Analyze the problem and create a fix. + . Verify that the problem is really fixed by starting from a clean + Buildroot tree and only applying your fix. + . Send the fix to the Buildroot mailing list (see + xref:submitting-patches[]). In case you created a patch against the + package sources, you should also send the patch upstream so that the + problem will be fixed in a later release, and the patch in Buildroot + can be removed. + In the commit message of a patch fixing an autobuild failure, add a + reference to the build result directory, as follows: +---- +Fixes: https://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069 +---- + +=== Reviewing and testing patches + +With the amount of patches sent to the mailing list each day, the +maintainer has a very hard job to judge which patches are ready to apply +and which ones aren't. Contributors can greatly help here by reviewing +and testing these patches. + +In the review process, do not hesitate to respond to patch submissions +for remarks, suggestions or anything that will help everyone to +understand the patches and make them better. Please use internet +style replies in plain text emails when responding to patch +submissions. + +To indicate approval of a patch, there are three formal tags that keep +track of this approval. To add your tag to a patch, reply to it with the +approval tag below the original author's Signed-off-by line. These tags +will be picked up automatically by patchwork (see +xref:apply-patches-patchwork[]) and will be part of the commit log when +the patch is accepted. + +Tested-by:: Indicates that the patch has been tested successfully. + You are encouraged to specify what kind of testing you performed + (compile-test on architecture X and Y, runtime test on target A, + ...). This additional information helps other testers and the + maintainer. + +Reviewed-by:: Indicates that you code-reviewed the patch and did your + best in spotting problems, but you are not sufficiently familiar with + the area touched to provide an Acked-by tag. This means that there + may be remaining problems in the patch that would be spotted by + someone with more experience in that area. Should such problems be + detected, your Reviewed-by tag remains appropriate and you cannot + be blamed. + +Acked-by:: Indicates that you code-reviewed the patch and you are + familiar enough with the area touched to feel that the patch can be + committed as-is (no additional changes required). In case it later + turns out that something is wrong with the patch, your Acked-by could + be considered inappropriate. The difference between Acked-by and + Reviewed-by is thus mainly that you are prepared to take the blame on + Acked patches, but not on Reviewed ones. + +If you reviewed a patch and have comments on it, you should simply reply +to the patch stating these comments, without providing a Reviewed-by or +Acked-by tag. These tags should only be provided if you judge the patch +to be good as it is. + +It is important to note that neither Reviewed-by nor Acked-by imply +that testing has been performed. To indicate that you both reviewed and +tested the patch, provide two separate tags (Reviewed/Acked-by and +Tested-by). + +Note also that _any developer_ can provide Tested/Reviewed/Acked-by +tags, without exception, and we encourage everyone to do this. Buildroot +does not have a defined group of _core_ developers, it just so happens +that some developers are more active than others. The maintainer will +value tags according to the track record of their submitter. Tags +provided by a regular contributor will naturally be trusted more than +tags provided by a newcomer. As you provide tags more regularly, your +'trustworthiness' (in the eyes of the maintainer) will go up, but _any_ +tag provided is valuable. + +Buildroot's Patchwork website can be used to pull in patches for testing +purposes. Please see xref:apply-patches-patchwork[] for more +information on using Buildroot's Patchwork website to apply patches. + +[[apply-patches-patchwork]] +==== Applying Patches from Patchwork + +The main use of Buildroot's Patchwork website for a developer is for +pulling in patches into their local git repository for testing +purposes. + +When browsing patches in the patchwork management interface, an +mbox+ +link is provided at the top of the page. Copy this link address and +run the following commands: + +---- +$ git checkout -b +$ wget -O - | git am +---- + +Another option for applying patches is to create a bundle. A bundle is +a set of patches that you can group together using the patchwork +interface. Once the bundle is created and the bundle is made public, +you can copy the +mbox+ link for the bundle and apply the bundle +using the above commands. + + +=== Work on items from the TODO list + +If you want to contribute to Buildroot but don't know where to start, +and you don't like any of the above topics, you can always work on items +from the http://elinux.org/Buildroot#Todo_list[Buildroot TODO list]. +Don't hesitate to discuss an item first on the mailing list or on IRC. +Do edit the wiki to indicate when you start working on an item, so we +avoid duplicate efforts. + +[[submitting-patches]] +=== Submitting patches + +[NOTE] +_Please, do not attach patches to bugs, send them to the mailing list +instead_. + +If you made some changes to Buildroot and you would like to contribute +them to the Buildroot project, proceed as follows. + +==== The formatting of a patch + +We expect patches to be formatted in a specific way. This is necessary +to make it easy to review patches, to be able to apply them easily to +the git repository, to make it easy to find back in the history how +and why things have changed, and to make it possible to use +git +bisect+ to locate the origin of a problem. + +First of all, it is essential that the patch has a good commit +message. The commit message should start with a separate line with a +brief summary of the change, prefixed by the area touched by the +patch. A few examples of good commit titles: + +* +package/linuxptp: bump version to 2.0+ + +* +configs/imx23evk: bump Linux version to 4.19+ + +* +package/pkg-generic: postpone evaluation of dependency conditions+ + +* +boot/uboot: needs host-{flex,bison}+ + +* +support/testing: add python-ubjson tests+ + +The description that follows the prefix should start with a lower case +letter (i.e "bump", "needs", "postpone", "add" in the above examples). + +Second, the body of the commit message should describe _why_ this +change is needed, and if necessary also give details about _how_ it +was done. When writing the commit message, think of how the reviewers +will read it, but also think about how you will read it when you look +at this change again a few years down the line. + +Third, the patch itself should do only one change, but do it +completely. Two unrelated or weakly related changes should usually be +done in two separate patches. This usually means that a patch affects +only a single package. If several changes are related, it is often +still possible to split them up in small patches and apply them in a +specific order. Small patches make it easier to review, and often +make it easier to understand afterwards why a change was done. +However, each patch must be complete. It is not allowed that the +build is broken when only the first but not the second patch is +applied. This is necessary to be able to use +git bisect+ afterwards. + +Of course, while you're doing your development, you're probably going +back and forth between packages, and certainly not committing things +immediately in a way that is clean enough for submission. So most +developers rewrite the history of commits to produce a clean set of +commits that is appropriate for submission. To do this, you need to +use _interactive rebasing_. You can learn about it +https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History[in the Pro +Git book]. Sometimes, it is even easier to discard you history with ++git reset --soft origin/master+ and select individual changes with ++git add -i+ or +git add -p+. + +Finally, the patch should be signed off. This is done by adding ++Signed-off-by: Your Real Name + at the end of the +commit message. +git commit -s+ does that for you, if configured +properly. The +Signed-off-by+ tag means that you publish the patch +under the Buildroot license (i.e. GPL-2.0+, except for package patches, +which have the upstream license), and that you are allowed to do so. +See http://developercertificate.org/[the Developer Certificate of +Origin] for details. + +To give credits to who sponsored the creation of a patch or the process of +upstreaming it, you may use +https://datatracker.ietf.org/doc/html/rfc5233[email subaddressing] for +your git identity (i.e. what is used as commit author and email +From:+ +field, as well as your Signed-off-by tag); add suffix to the local part, +separated from it by a plus `+` sign. E.g.: + +* for a company which sponsored the submitted work, use the company name + as the detail (suffix) part: ++ +`Your-Name Your-Surname ` + +* for an individual who sponsored the submitted work, use + their name and surname: ++ +`Your-Name Your-Surname ` + +Alternatively, especially if your email server does not support +subaddressing, you can include the sponsor in your author name in +parentheses, e.g. "Your Name (Sponsor Name)". + +When adding new packages, you should submit every package in a +separate patch. This patch should have the update to ++package/Config.in+, the package +Config.in+ file, the +.mk+ file, the ++.hash+ file, any init script, and all package patches. If the package +has many sub-options, these are sometimes better added as separate +follow-up patches. The summary line should be something like ++: new package+. The body of the commit message can be +empty for simple packages, or it can contain the description of the +package (like the Config.in help text). If anything special has to be +done to build the package, this should also be explained explicitly in +the commit message body. + +When you bump a package to a new version, you should also submit a +separate patch for each package. Don't forget to update the +.hash+ +file, or add it if it doesn't exist yet. Also don't forget to check if +the +_LICENSE+ and +_LICENSE_FILES+ are still valid. The summary line +should be something like +: bump to version +. If the new version only contains security updates compared +to the existing one, the summary should be +: security +bump to version + and the commit message body should show +the CVE numbers that are fixed. If some package patches can be removed +in the new version, it should be explained explicitly why they can be +removed, preferably with the upstream commit ID. Also any other +required changes should be explained explicitly, like configure +options that no longer exist or are no longer needed. + +If you are interested in getting notified of build failures and of +further changes in the packages you added or modified, please add +yourself to the DEVELOPERS file. This should be done in the same patch +creating or modifying the package. See xref:DEVELOPERS[the DEVELOPERS file] +for more information. + +Buildroot provides a handy tool to check for common coding style +mistakes on files you created or modified, called +check-package+ (see +xref:check-package[] for more information). + +==== Preparing a patch series + +Starting from the changes committed in your local git view, _rebase_ +your development branch on top of the upstream tree before generating +a patch set. To do so, run: + +---- +$ git fetch --all --tags +$ git rebase origin/master +---- + +Now check the coding style for the changes you committed: + +---- +$ utils/docker-run make check-package +---- + +This command (unlike calling +utils/check-package+ directly) will also warn +about any stale entries in the +.checkpackageignore+ file that your patches +might have resolved. If this is the case, make sure to remove those lines +from +.checkpackageignore+ as well. + +Now, you are ready to generate then submit your patch set. To generate it, run: + +---- +$ git format-patch -M -n -s -o outgoing origin/master +---- + +This will generate patch files in the +outgoing+ subdirectory, +automatically adding the +Signed-off-by+ line. + +Once patch files are generated, you can review/edit the commit message +before submitting them, using your favorite text editor. + +Buildroot provides a handy tool to know to whom your patches should be +sent, called +get-developers+ (see xref:DEVELOPERS[] for more +information). This tool reads your patches and outputs the appropriate ++git send-email+ command to use: + +---- +$ ./utils/get-developers outgoing/* +---- + +Use the output of +get-developers+ to send your patches: + +---- +$ git send-email --to buildroot@buildroot.org --cc bob --cc alice outgoing/* +---- + +Alternatively, +get-developers -e+ can be used directly with the ++--cc-cmd+ argument to +git send-email+ to automatically CC the +affected developers: + +---- +$ git send-email --to buildroot@buildroot.org \ + --cc-cmd './utils/get-developers -e' origin/master +---- + ++git+ can be configured to automatically do this out of the box with: + +---- +$ git config sendemail.to buildroot@buildroot.org +$ git config sendemail.ccCmd "$(pwd)/utils/get-developers -e" +---- + +And then just do: + +---- +$ git send-email origin/master +---- + +Note that +git+ should be configured to use your mail account. +To configure +git+, see +man git-send-email+ or https://git-send-email.io/. + +If you do not use +git send-email+, make sure posted *patches are not +line-wrapped*, otherwise they cannot easily be applied. In such a case, +fix your e-mail client, or better yet, learn to use +git send-email+. + +https://sr.ht also has a light-weight UI for +https://man.sr.ht/git.sr.ht/#sending-patches-upstream[preparing patchseries] +and can also send out the patches for you. There are a few drawbacks to +this, as you cannot edit your patches' status in Patchwork and you +currently can't edit your display name with which the match emails are +sent out but it is an option if you cannot get git send-email to work +with your mail provider (i.e. O365); it shall not be considered the +official way of sending patches, but just a fallback. + +==== Cover letter + +If you want to present the whole patch set in a separate mail, add ++--cover-letter+ to the +git format-patch+ command (see +man +git-format-patch+ for further information). This will generate a +template for an introduction e-mail to your patch series. + +A 'cover letter' may be useful to introduce the changes you propose +in the following cases: + +* large number of commits in the series; + +* deep impact of the changes in the rest of the project; + +* RFC footnote:[RFC: (Request for comments) change proposal]; + +* whenever you feel it will help presenting your work, your choices, + the review process, etc. + +==== Patches for maintenance branches + +When fixing bugs on a maintenance branch, bugs should be fixed on the +master branch first. The commit log for such a patch may then contain a +post-commit note specifying what branches are affected: + +---- +package/foo: fix stuff + +Signed-off-by: Your Real Name +--- +Backport to: 2020.02.x, 2020.05.x +(2020.08.x not affected as the version was bumped) +---- + +Those changes will then be backported by a maintainer to the affected +branches. + +However, some bugs may apply only to a specific release, for example +because it is using an older version of a package. In that case, patches +should be based off the maintenance branch, and the patch subject prefix +must include the maintenance branch name (for example "[PATCH 2020.02.x]"). +This can be done with the +git format-patch+ flag +--subject-prefix+: + +---- +$ git format-patch --subject-prefix "PATCH 2020.02.x" \ + -M -s -o outgoing origin/2020.02.x +---- + +Then send the patches with +git send-email+, as described above. + +==== Patch revision changelog + +When improvements are requested, the new revision of each commit +should include a changelog of the modifications between each +submission. Note that when your patch series is introduced by a cover +letter, an overall changelog may be added to the cover letter in +addition to the changelog in the individual commits. +The best thing to rework a patch series is by interactive rebasing: ++git rebase -i origin/master+. Consult the git manual for more +information. + +When added to the individual commits, this changelog is added when +editing the commit message. Below the +Signed-off-by+ section, add ++---+ and your changelog. + +Although the changelog will be visible for the reviewers in the mail +thread, as well as in +https://patchwork.ozlabs.org/project/buildroot/list/[patchwork], +git+ +will automatically ignores lines below +---+ when the patch will be +merged. This is the intended behavior: the changelog is not meant to +be preserved forever in the +git+ history of the project. + +Hereafter the recommended layout: + +---- +Patch title: short explanation, max 72 chars + +A paragraph that explains the problem, and how it manifests itself. If +the problem is complex, it is OK to add more paragraphs. All paragraphs +should be wrapped at 72 characters. + +A paragraph that explains the root cause of the problem. Again, more +than one paragraph is OK. + +Finally, one or more paragraphs that explain how the problem is solved. +Don't hesitate to explain complex solutions in detail. + +Signed-off-by: John DOE + +--- +Changes v2 -> v3: + - foo bar (suggested by Jane) + - bar buz + +Changes v1 -> v2: + - alpha bravo (suggested by John) + - charly delta +---- + +Any patch revision should include the version number. The version number +is simply composed of the letter +v+ followed by an +integer+ greater or +equal to two (i.e. "PATCH v2", "PATCH v3" ...). + +This can be easily handled with +git format-patch+ by using the option ++--subject-prefix+: + +---- +$ git format-patch --subject-prefix "PATCH v4" \ + -M -s -o outgoing origin/master +---- + +Since git version 1.8.1, you can also use +-v + (where is the +version number): + +---- +$ git format-patch -v4 -M -s -o outgoing origin/master +---- + +When you provide a new version of a patch, please mark the old one as +superseded in +https://patchwork.ozlabs.org/project/buildroot/list/[patchwork]. You +need to create an account on +https://patchwork.ozlabs.org/project/buildroot/list/[patchwork] to be +able to modify the status of your patches. Note that you can only change +the status of patches you submitted yourself, which means the email +address you register in +https://patchwork.ozlabs.org/project/buildroot/list/[patchwork] should +match the one you use for sending patches to the mailing list. + +You can also add the +--in-reply-to=+ option when +submitting a patch to the mailing list. The id of the mail to reply to +can be found under the "Message Id" tag on +https://patchwork.ozlabs.org/project/buildroot/list/[patchwork]. The +advantage of *in-reply-to* is that patchwork will automatically mark +the previous version of the patch as superseded. + +[[reporting-bugs]] +=== Reporting issues/bugs or getting help + +Before reporting any issue, please check in +xref:community-resources[the mailing list archive] whether someone has +already reported and/or fixed a similar problem. + +However you choose to report bugs or get help, either by +opening a bug in the xref:community-resources[bug tracker] or by +xref:community-resources[sending a mail to the mailing list], there are +a number of details to provide in order to help people reproduce and +find a solution to the issue. + +Try to think as if you were trying to help someone else; in +that case, what would you need? + +Here is a short list of details to provide in such case: + +* host machine (OS/release) +* version of Buildroot +* target for which the build fails +* package(s) for which the build fails +* the command that fails and its output +* any information you think that may be relevant + +Additionally, you should add the +.config+ file (or if you know how, a ++defconfig+; see xref:customize-store-buildroot-config[]). + +If some of these details are too large, do not hesitate to use a +pastebin service. Note that not all available pastebin services will +preserve Unix-style line terminators when downloading raw pastes. +Following pastebin services are known to work correctly: + +- https://gist.github.com/ +- https://paste.sr.ht/ + +=== Using the runtime tests framework + +Buildroot includes a run-time testing framework built upon Python +scripting and QEMU runtime execution. The goals of the framework are +the following: + +* build a well defined Buildroot configuration +* optionally, verify some properties of the build output +* optionally, boot the build results under Qemu, and verify that a + given feature is working as expected + +The entry point to use the runtime tests framework is the ++support/testing/run-tests+ tool, which has a series of options +documented in the tool's help '-h' description. Some common options +include setting the download folder, the output folder, keeping build +output, and for multiple test cases, you can set the JLEVEL for each. + +Here is an example walk through of running a test case. + +* For a first step, let us see what all the test case options are. The test +cases can be listed by executing +support/testing/run-tests -l+. These tests +can all be run individually during test development from the console. Both +one at a time and selectively as a group of a subset of tests. + +---- +$ support/testing/run-tests -l +List of tests +test_run (tests.utils.test_check_package.TestCheckPackage) +test_run (tests.toolchain.test_external.TestExternalToolchainBuildrootMusl) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainBuildrootuClibc) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainCCache) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainCtngMusl) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainLinaroArm) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainSourceryArmv4) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainSourceryArmv5) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainSourceryArmv7) ... ok +[snip] +test_run (tests.init.test_systemd.TestInitSystemSystemdRoFull) ... ok +test_run (tests.init.test_systemd.TestInitSystemSystemdRoIfupdown) ... ok +test_run (tests.init.test_systemd.TestInitSystemSystemdRoNetworkd) ... ok +test_run (tests.init.test_systemd.TestInitSystemSystemdRwFull) ... ok +test_run (tests.init.test_systemd.TestInitSystemSystemdRwIfupdown) ... ok +test_run (tests.init.test_systemd.TestInitSystemSystemdRwNetworkd) ... ok +test_run (tests.init.test_busybox.TestInitSystemBusyboxRo) ... ok +test_run (tests.init.test_busybox.TestInitSystemBusyboxRoNet) ... ok +test_run (tests.init.test_busybox.TestInitSystemBusyboxRw) ... ok +test_run (tests.init.test_busybox.TestInitSystemBusyboxRwNet) ... ok + +Ran 157 tests in 0.021s + +OK +---- + +* Then, to run one test case: + +---- +$ support/testing/run-tests -d dl -o output_folder -k tests.init.test_busybox.TestInitSystemBusyboxRw +15:03:26 TestInitSystemBusyboxRw Starting +15:03:28 TestInitSystemBusyboxRw Building +15:08:18 TestInitSystemBusyboxRw Building done +15:08:27 TestInitSystemBusyboxRw Cleaning up +. +Ran 1 test in 301.140s + +OK +---- + +The standard output indicates if the test is successful or not. By +default, the output folder for the test is deleted automatically +unless the option +-k+ is passed to *keep* the output directory. + +==== Creating a test case + +Within the Buildroot repository, the testing framework is organized at the +top level in +support/testing/+ by folders of +conf+, +infra+ and +tests+. +All the test cases live under the +tests+ folder and are organized in various +folders representing the category of test. + +The best way to get familiar with how to create a test case is to look +at a few of the basic file system +support/testing/tests/fs/+ and init ++support/testing/tests/init/+ test scripts. Those tests give good +examples of a basic tests that include both checking the build +results, and doing runtime tests. There are other more advanced cases +that use things like nested +br2-external+ folders to provide +skeletons and additional packages. + +Creating a basic test case involves: + +* Defining a test class that inherits from +infra.basetest.BRTest+ + +* Defining the +config+ member of the test class, to the Buildroot + configuration to build for this test case. It can optionally rely on + configuration snippets provided by the runtime test infrastructure: + +infra.basetest.BASIC_TOOLCHAIN_CONFIG+ to get a basic + architecture/toolchain configuration, and + +infra.basetest.MINIMAL_CONFIG+ to not build any filesystem. The + advantage of using +infra.basetest.BASIC_TOOLCHAIN_CONFIG+ is that a + matching Linux kernel image is provided, which allows to boot the + resulting image in Qemu without having to build a Linux kernel image + as part of the test case, therefore significant decreasing the build + time required for the test case. + +* Implementing a +def test_run(self):+ function to implement the + actual tests to run after the build has completed. They may be tests + that verify the build output, by running command on the host using + the +run_cmd_on_host()+ helper function. Or they may boot the + generated system in Qemu using the +Emulator+ object available as + +self.emulator+ in the test case. For example +self.emulator.boot()+ + allows to boot the system in Qemu, +self.emulator.login()+ allows to + login, +self.emulator.run()+ allows to run shell commands inside + Qemu. + +After creating the test script, add yourself to the +DEVELOPERS+ file to +be the maintainer of that test case. + +==== Debugging a test case + +When a test case runs, the +output_folder+ will contain the following: + +---- +$ ls output_folder/ +TestInitSystemBusyboxRw/ +TestInitSystemBusyboxRw-build.log +TestInitSystemBusyboxRw-run.log +---- + ++TestInitSystemBusyboxRw/+ is the Buildroot output directory, and it +is preserved only if the +-k+ option is passed. + ++TestInitSystemBusyboxRw-build.log+ is the log of the Buildroot build. + ++TestInitSystemBusyboxRw-run.log+ is the log of the Qemu boot and +test. This file will only exist if the build was successful and the +test case involves booting under Qemu. + +If you want to manually run Qemu to do manual tests of the build +result, the first few lines of +TestInitSystemBusyboxRw-run.log+ +contain the Qemu command line to use. + +You can also make modifications to the current sources inside the ++output_folder+ (e.g. for debug purposes) and rerun the standard +Buildroot make targets (in order to regenerate the complete image with +the new modifications) and then rerun the test. + +==== Runtime tests and Gitlab CI + +All runtime tests are regularly executed by Buildroot Gitlab CI +infrastructure, see .gitlab.yml and +https://gitlab.com/buildroot.org/buildroot/-/jobs. + +You can also use Gitlab CI to test your new test cases, or verify that +existing tests continue to work after making changes in Buildroot. + +In order to achieve this, you need to create a fork of the Buildroot +project on Gitlab, and be able to push branches to your Buildroot fork +on Gitlab. + +The name of the branch that you push will determine if a Gitlab CI +pipeline will be triggered or not, and for which test cases. + +In the examples below, the component of the branch name is an +arbitrary string you choose. + +* To trigger all run-test test case jobs, push a branch that ends with + +-runtime-tests+: + +---- + $ git push gitlab HEAD:-runtime-tests +---- + +* To trigger one or several test case jobs, push a branch that ends + with the complete test case name + (+tests.init.test_busybox.TestInitSystemBusyboxRo+) or with the name + of a category of tests (+tests.init.test_busybox+): + +---- + $ git push gitlab HEAD:- +---- + +Example to run one test: + +---- + $ git push gitlab HEAD:foo-tests.init.test_busybox.TestInitSystemBusyboxRo +---- + +Examples to run several tests part of the same group: + +---- + $ git push gitlab HEAD:foo-tests.init.test_busybox + $ git push gitlab HEAD:foo-tests.init +---- diff --git a/docs/manual/contribute.txt b/docs/manual/contribute.txt deleted file mode 100644 index a58945f395e..00000000000 --- a/docs/manual/contribute.txt +++ /dev/null @@ -1,448 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -== Contributing to Buildroot - -There are many ways in which you can contribute to Buildroot: analyzing -and fixing bugs, analyzing and fixing package build failures detected by -the autobuilders, testing and reviewing patches sent by other -developers, working on the items in our TODO list and sending your own -improvements to Buildroot or its manual. The following sections give a -little more detail on each of these items. - -If you are interested in contributing to Buildroot, the first thing you -should do is to subscribe to the Buildroot mailing list. This list is -the main way of interacting with other Buildroot developers and to send -contributions to. If you aren't subscribed yet, then refer to -xref:community-resources[] for the subscription link. - -If you are going to touch the code, it is highly recommended to use a -git repository of Buildroot, rather than starting from an extracted -source code tarball. Git is the easiest way to develop from and directly -send your patches to the mailing list. Refer to xref:getting-buildroot[] -for more information on obtaining a Buildroot git tree. - -=== Reproducing, analyzing and fixing bugs - -A first way of contributing is to have a look at the open bug reports in -the https://bugs.buildroot.org/buglist.cgi?product=buildroot[Buildroot bug -tracker]. As we strive to keep the bug count as small as possible, all -help in reproducing, analyzing and fixing reported bugs is more than -welcome. Don't hesitate to add a comment to bug reports reporting your -findings, even if you don't yet see the full picture. - -=== Analyzing and fixing autobuild failures - -The Buildroot autobuilders are a set of build machines that continuously -run Buildroot builds based on random configurations. This is done for -all architectures supported by Buildroot, with various toolchains, and -with a random selection of packages. With the large commit activity on -Buildroot, these autobuilders are a great help in detecting problems -very early after commit. - -All build results are available at http://autobuild.buildroot.org[], -statistics are at http://autobuild.buildroot.org/stats.php[]. Every day, -an overview of all failed packages is sent to the mailing list. - -Detecting problems is great, but obviously these problems have to be -fixed as well. Your contribution is very welcome here! There are -basically two things that can be done: - -- Analyzing the problems. The daily summary mails do not contain details - about the actual failures: in order to see what's going on you have to - open the build log and check the last output. Having someone doing - this for all packages in the mail is very useful for other developers, - as they can make a quick initial analysis based on this output alone. - -- Fixing a problem. When fixing autobuild failures, you should follow - these steps: - . Check if you can reproduce the problem by building with the same - configuration. You can do this manually, or use the - http://git.buildroot.org/buildroot-test/tree/utils/br-reproduce-build[br-reproduce-build] - script that will automatically clone a Buildroot git repository, - checkout the correct revision, download and set the right - configuration, and start the build. - . Analyze the problem and create a fix. - . Verify that the problem is really fixed by starting from a clean - Buildroot tree and only applying your fix. - . Send the fix to the Buildroot mailing list (see - xref:submitting-patches[]). In case you created a patch against the - package sources, you should also send the patch upstream so that the - problem will be fixed in a later release, and the patch in Buildroot - can be removed. - In the commit message of a patch fixing an autobuild failure, add a - reference to the build result directory, as follows: ---------------------- -Fixes http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069 ---------------------- - -=== Reviewing and testing patches - -With the amount of patches sent to the mailing list each day, the -maintainer has a very hard job to judge which patches are ready to apply -and which ones aren't. Contributors can greatly help here by reviewing -and testing these patches. - -In the review process, do not hesitate to respond to patch submissions -for remarks, suggestions or anything that will help everyone to -understand the patches and make them better. Please use internet -style replies in plain text emails when responding to patch -submissions. - -To indicate approval of a patch, there are three formal tags that keep -track of this approval. To add your tag to a patch, reply to it with the -approval tag below the original author's Signed-off-by line. These tags -will be picked up automatically by patchwork (see -xref:apply-patches-patchwork[]) and will be part of the commit log when -the patch is accepted. - -Tested-by:: Indicates that the patch has been tested successfully. - You are encouraged to specify what kind of testing you performed - (compile-test on architecture X and Y, runtime test on target A, - ...). This additional information helps other testers and the - maintainer. - -Reviewed-by:: Indicates that you code-reviewed the patch and did your - best in spotting problems, but you are not sufficiently familiar with - the area touched to provide an Acked-by tag. This means that there - may be remaining problems in the patch that would be spotted by - someone with more experience in that area. Should such problems be - detected, your Reviewed-by tag remains appropriate and you cannot - be blamed. - -Acked-by:: Indicates that you code-reviewed the patch and you are - familiar enough with the area touched to feel that the patch can be - committed as-is (no additional changes required). In case it later - turns out that something is wrong with the patch, your Acked-by could - be considered inappropriate. The difference between Acked-by and - Reviewed-by is thus mainly that you are prepared to take the blame on - Acked patches, but not on Reviewed ones. - -If you reviewed a patch and have comments on it, you should simply reply -to the patch stating these comments, without providing a Reviewed-by or -Acked-by tag. These tags should only be provided if you judge the patch -to be good as it is. - -It is important to note that neither Reviewed-by nor Acked-by imply -that testing has been performed. To indicate that you both reviewed and -tested the patch, provide two separate tags (Reviewed/Acked-by and -Tested-by). - -Note also that _any developer_ can provide Tested/Reviewed/Acked-by -tags, without exception, and we encourage everyone to do this. Buildroot -does not have a defined group of _core_ developers, it just so happens -that some developers are more active than others. The maintainer will -value tags according to the track record of their submitter. Tags -provided by a regular contributor will naturally be trusted more than -tags provided by a newcomer. As you provide tags more regularly, your -'trustworthiness' (in the eyes of the maintainer) will go up, but _any_ -tag provided is valuable. - -Buildroot's Patchwork website can be used to pull in patches for testing -purposes. Please see xref:apply-patches-patchwork[] for more -information on using Buildroot's Patchwork website to apply patches. - -[[apply-patches-patchwork]] -==== Applying Patches from Patchwork - -The main use of Buildroot's Patchwork website for a developer is for -pulling in patches into their local git repository for testing -purposes. - -When browsing patches in the patchwork management interface, an +mbox+ -link is provided at the top of the page. Copy this link address and -run the following commands: - ---------------------- -$ git checkout -b -$ wget -O - | git am ---------------------- - -Another option for applying patches is to create a bundle. A bundle is -a set of patches that you can group together using the patchwork -interface. Once the bundle is created and the bundle is made public, -you can copy the +mbox+ link for the bundle and apply the bundle -using the above commands. - - -=== Work on items from the TODO list - -If you want to contribute to Buildroot but don't know where to start, -and you don't like any of the above topics, you can always work on items -from the http://elinux.org/Buildroot#Todo_list[Buildroot TODO list]. -Don't hesitate to discuss an item first on the mailing list or on IRC. -Do edit the wiki to indicate when you start working on an item, so we -avoid duplicate efforts. - -[[submitting-patches]] -=== Submitting patches - -[NOTE] -_Please, do not attach patches to bugs, send them to the mailing list -instead_. - -If you made some changes to Buildroot and you would like to contribute -them to the Buildroot project, proceed as follows. - -==== The formatting of a patch - -We expect patches to be formatted in a specific way. This is necessary -to make it easy to review patches, to be able to apply them easily to -the git repository, to make it easy to find back in the history how -and why things have changed, and to make it possible to use +git -bisect+ to locate the origin of a problem. - -First of all, it is essential that the patch has a good commit -message. The commit message should start with a separate line with a -brief summary of the change, starting with the name of the affected -package. The body of the commit message should describe _why_ this -change is needed, and if necessary also give details about _how_ it -was done. When writing the commit message, think of how the reviewers -will read it, but also think about how you will read it when you look -at this change again a few years down the line. - -Second, the patch itself should do only one change, but do it -completely. Two unrelated or weakly related changes should usually be -done in two separate patches. This usually means that a patch affects -only a single package. If several changes are related, it is often -still possible to split them up in small patches and apply them in a -specific order. Small patches make it easier to review, and often -make it easier to understand afterwards why a change was done. -However, each patch must be complete. It is not allowed that the -build is broken when only the first but not the second patch is -applied. This is necessary to be able to use +git bisect+ afterwards. - -Of course, while you're doing your development, you're probably going -back and forth between packages, and certainly not committing things -immediately in a way that is clean enough for submission. So most -developers rewrite the history of commits to produce a clean set of -commits that is appropriate for submission. To do this, you need to -use _interactive rebasing_. You can learn about it -https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History[in the Pro -Git book]. Sometimes, it is even easier to discard you history with -+git reset --soft origin/master+ and select individual changes with -+git add -i+ or +git add -p+. - -Finally, the patch should be signed off. This is done by adding -+Signed-off-by: Your Real Name + at the end of the -commit message. +git commit -s+ does that for you, if configured -properly. The +Signed-off-by+ tag means that you publish the patch -under the Buildroot license (i.e. GPL-2.0+, except for package patches, -which have the upstream license), and that you are allowed to do so. -See http://developercertificate.org/[the Developer Certificate of -Origin] for details. - -When adding new packages, you should submit every package in a -separate patch. This patch should have the update to -+package/Config.in+, the package +Config.in+ file, the +.mk+ file, the -+.hash+ file, any init script, and all package patches. If the package -has many sub-options, these are sometimes better added as separate -follow-up patches. The summary line should be something like -+: new package+. The body of the commit message can be -empty for simple packages, or it can contain the description of the -package (like the Config.in help text). If anything special has to be -done to build the package, this should also be explained explicitly in -the commit message body. - -When you bump a package to a new version, you should also submit a -separate patch for each package. Don't forget to update the +.hash+ -file, or add it if it doesn't exist yet. Also don't forget to check if -the +_LICENSE+ and +_LICENSE_FILES+ are still valid. The summary line -should be something like +: bump to version +. If the new version only contains security updates compared -to the existing one, the summary should be +: security -bump to version + and the commit message body should show -the CVE numbers that are fixed. If some package patches can be removed -in the new version, it should be explained explicitly why they can be -removed, preferably with the upstream commit ID. Also any other -required changes should be explained explicitly, like configure -options that no longer exist or are no longer needed. - -If you are interested in getting notified of build failures and of -further changes in the packages you added or modified, please add -yourself to the DEVELOPERS file. This should be done in a separate -patch of the series. See xref:DEVELOPERS[the DEVELOPERS file] for more -information. - -==== Preparing a patch series - -Starting from the changes committed in your local git view, _rebase_ -your development branch on top of the upstream tree before generating -a patch set. To do so, run: - ---------------------- -$ git fetch --all --tags -$ git rebase origin/master ---------------------- - -Now, you are ready to generate then submit your patch set. - -To generate it, run: - ---------------------- -$ git format-patch -M -n -s -o outgoing origin/master ---------------------- - -This will generate patch files in the +outgoing+ subdirectory, -automatically adding the +Signed-off-by+ line. - -Once patch files are generated, you can review/edit the commit message -before submitting them, using your favorite text editor. - -Buildroot provides a handy tool to know to whom your patches should be -sent, called +get-developers+ (see xref:DEVELOPERS[] for more -information). This tool reads your patches and outputs the appropriate -+git send-email+ command to use: - ---------------------- -$ ./utils/get-developers outgoing/* ---------------------- - -Use the output of +get-developers+ to send your patches: - ---------------------- -$ git send-email --to buildroot@buildroot.org --cc bob --cc alice outgoing/* ---------------------- - -Note that +git+ should be configured to use your mail account. -To configure +git+, see +man git-send-email+ or google it. - -If you do not use +git send-email+, make sure posted *patches are not -line-wrapped*, otherwise they cannot easily be applied. In such a case, -fix your e-mail client, or better yet, learn to use +git send-email+. - -==== Cover letter - -If you want to present the whole patch set in a separate mail, add -+--cover-letter+ to the +git format-patch+ command (see +man -git-format-patch+ for further information). This will generate a -template for an introduction e-mail to your patch series. - -A 'cover letter' may be useful to introduce the changes you propose -in the following cases: - -* large number of commits in the series; - -* deep impact of the changes in the rest of the project; - -* RFC footnote:[RFC: (Request for comments) change proposal]; - -* whenever you feel it will help presenting your work, your choices, - the review process, etc. - -==== Patch revision changelog - -When improvements are requested, the new revision of each commit -should include a changelog of the modifications between each -submission. Note that when your patch series is introduced by a cover -letter, an overall changelog may be added to the cover letter in -addition to the changelog in the individual commits. -The best thing to rework a patch series is by interactive rebasing: -+git rebase -i origin/master+. Consult the git manual for more -information. - -When added to the individual commits, this changelog is added when -editing the commit message. Below the +Signed-off-by+ section, add -+---+ and your changelog. - -Although the changelog will be visible for the reviewers in the mail -thread, as well as in http://patchwork.buildroot.org[patchwork], +git+ -will automatically ignores lines below +---+ when the patch will be -merged. This is the intended behavior: the changelog is not meant to -be preserved forever in the +git+ history of the project. - -Hereafter the recommended layout: - ---------------- -Patch title: short explanation, max 72 chars - -A paragraph that explains the problem, and how it manifests itself. If -the problem is complex, it is OK to add more paragraphs. All paragraphs -should be wrapped at 72 characters. - -A paragraph that explains the root cause of the problem. Again, more -than on paragraph is OK. - -Finally, one or more paragraphs that explain how the problem is solved. -Don't hesitate to explain complex solutions in detail. - -Signed-off-by: John DOE - ---- -Changes v2 -> v3: - - foo bar (suggested by Jane) - - bar buz - -Changes v1 -> v2: - - alpha bravo (suggested by John) - - charly delta ---------------- - -Any patch revision should include the version number. The version number -is simply composed of the letter +v+ followed by an +integer+ greater or -equal to two (i.e. "PATCH v2", "PATCH v3" ...). - -This can be easily handled with +git format-patch+ by using the option -+--subject-prefix+: - ---------------------- -$ git format-patch --subject-prefix "PATCH v4" \ - -M -s -o outgoing origin/master ---------------------- - -Since git version 1.8.1, you can also use +-v + (where is the -version number): - ---------------------- -$ git format-patch -v4 -M -s -o outgoing origin/master ---------------------- - -When you provide a new version of a patch, please mark the old one as -superseded in http://patchwork.buildroot.org[patchwork]. You need to -create an account on http://patchwork.buildroot.org[patchwork] to be -able to modify the status of your patches. Note that you can only change -the status of patches you submitted yourself, which means the email -address you register in http://patchwork.buildroot.org[patchwork] should -match the one you use for sending patches to the mailing list. - -You can also add the +--in-reply-to + option when -submitting a patch to the mailing list. The id of the mail to reply to -can be found under the "Message Id" tag on -http://patchwork.buildroot.org[patchwork]. The advantage of -*in-reply-to* is that patchwork will automatically mark the previous -version of the patch as superseded. - -[[reporting-bugs]] -=== Reporting issues/bugs or getting help - -Before reporting any issue, please check in -xref:community-resources[the mailing list archive] whether someone has -already reported and/or fixed a similar problem. - -However you choose to report bugs or get help, either by -opening a bug in the xref:community-resources[bug tracker] or by -xref:community-resources[sending a mail to the mailing list], there are -a number of details to provide in order to help people reproduce and -find a solution to the issue. - -Try to think as if you were trying to help someone else; in -that case, what would you need? - -Here is a short list of details to provide in such case: - -* host machine (OS/release) -* version of Buildroot -* target for which the build fails -* package(s) for which the build fails -* the command that fails and its output -* any information you think that may be relevant - -Additionally, you should add the +.config+ file (or if you know how, a -+defconfig+; see xref:customize-store-buildroot-config[]). - -If some of these details are too large, do not hesitate to use a -pastebin service. Note that not all available pastebin services will -preserve Unix-style line terminators when downloading raw pastes. -Following pastebin services are known to work correctly: -- https://gist.github.com/ -- http://code.bulix.org/ diff --git a/docs/manual/customize-configuration.adoc b/docs/manual/customize-configuration.adoc new file mode 100644 index 00000000000..fa8f454674d --- /dev/null +++ b/docs/manual/customize-configuration.adoc @@ -0,0 +1,64 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[customize-store-buildroot-config]] +=== Storing the Buildroot configuration + +The Buildroot configuration can be stored using the command + +make savedefconfig+. + +This strips the Buildroot configuration down by removing configuration +options that are at their default value. The result is stored in a file +called +defconfig+. If you want to save it in another place, change the ++BR2_DEFCONFIG+ option in the Buildroot configuration itself, or call +make with +make savedefconfig BR2_DEFCONFIG=+. + +The recommended place to store this defconfig is ++configs/_defconfig+. If you follow this recommendation, the +configuration will be listed in +make list-defconfigs+ and can be set +again by running +make _defconfig+. + +Alternatively, you can copy the file to any other place and rebuild with ++make defconfig BR2_DEFCONFIG=+. + +[[customize-store-package-config]] +=== Storing the configuration of other components + +The configuration files for BusyBox, the Linux kernel, Barebox, U-Boot +and uClibc should be stored as well if changed. For each of these +components, a Buildroot configuration option exists to point to an input +configuration file, e.g. +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+. To store +their configuration, set these configuration options to a path where you +want to save the configuration files, and then use the helper targets +described below to actually store the configuration. + +As explained in xref:customize-dir-structure[], the recommended path to +store these configuration files is ++board///foo.config+. + +Make sure that you create a configuration file 'before' changing +the +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+ etc. options. Otherwise, +Buildroot will try to access this config file, which doesn't exist +yet, and will fail. You can create the configuration file by running ++make linux-menuconfig+ etc. + +Buildroot provides a few helper targets to make the saving of +configuration files easier. + +* +make linux-update-defconfig+ saves the linux configuration to the + path specified by +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+. It + simplifies the config file by removing default values. However, + this only works with kernels starting from 2.6.33. For earlier + kernels, use +make linux-update-config+. +* +make busybox-update-config+ saves the busybox configuration to the + path specified by +BR2_PACKAGE_BUSYBOX_CONFIG+. +* +make uclibc-update-config+ saves the uClibc configuration to the + path specified by +BR2_UCLIBC_CONFIG+. +* +make barebox-update-defconfig+ saves the barebox configuration to the + path specified by +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+. +* +make uboot-update-defconfig+ saves the U-Boot configuration to the + path specified by +BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE+. +* For at91bootstrap3, no helper exists so you have to copy the config + file manually to +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+. + + diff --git a/docs/manual/customize-configuration.txt b/docs/manual/customize-configuration.txt deleted file mode 100644 index ae6cebe6c44..00000000000 --- a/docs/manual/customize-configuration.txt +++ /dev/null @@ -1,64 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[customize-store-buildroot-config]] -=== Storing the Buildroot configuration - -The Buildroot configuration can be stored using the command - +make savedefconfig+. - -This strips the Buildroot configuration down by removing configuration -options that are at their default value. The result is stored in a file -called +defconfig+. If you want to save it in another place, change the -+BR2_DEFCONFIG+ option in the Buildroot configuration itself, or call -make with +make savedefconfig BR2_DEFCONFIG=+. - -The recommended place to store this defconfig is -+configs/_defconfig+. If you follow this recommendation, the -configuration will be listed in +make help+ and can be set again by -running +make _defconfig+. - -Alternatively, you can copy the file to any other place and rebuild with -+make defconfig BR2_DEFCONFIG=+. - -[[customize-store-package-config]] -=== Storing the configuration of other components - -The configuration files for BusyBox, the Linux kernel, Barebox, U-Boot -and uClibc should be stored as well if changed. For each of these -components, a Buildroot configuration option exists to point to an input -configuration file, e.g. +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+. To store -their configuration, set these configuration options to a path where you -want to save the configuration files, and then use the helper targets -described below to actually store the configuration. - -As explained in xref:customize-dir-structure[], the recommended path to -store these configuration files is -+board///foo.config+. - -Make sure that you create a configuration file 'before' changing -the +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+ etc. options. Otherwise, -Buildroot will try to access this config file, which doesn't exist -yet, and will fail. You can create the configuration file by running -+make linux-menuconfig+ etc. - -Buildroot provides a few helper targets to make the saving of -configuration files easier. - -* +make linux-update-defconfig+ saves the linux configuration to the - path specified by +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+. It - simplifies the config file by removing default values. However, - this only works with kernels starting from 2.6.33. For earlier - kernels, use +make linux-update-config+. -* +make busybox-update-config+ saves the busybox configuration to the - path specified by +BR2_PACKAGE_BUSYBOX_CONFIG+. -* +make uclibc-update-config+ saves the uClibc configuration to the - path specified by +BR2_UCLIBC_CONFIG+. -* +make barebox-update-defconfig+ saves the barebox configuration to the - path specified by +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+. -* +make uboot-update-defconfig+ saves the U-Boot configuration to the - path specified by +BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE+. -* For at91bootstrap3, no helper exists so you have to copy the config - file manually to +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+. - - diff --git a/docs/manual/customize-device-permission-tables.txt b/docs/manual/customize-device-permission-tables.adoc similarity index 100% rename from docs/manual/customize-device-permission-tables.txt rename to docs/manual/customize-device-permission-tables.adoc diff --git a/docs/manual/customize-directory-structure.adoc b/docs/manual/customize-directory-structure.adoc new file mode 100644 index 00000000000..b4b5d50e1a3 --- /dev/null +++ b/docs/manual/customize-directory-structure.adoc @@ -0,0 +1,153 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[customize-dir-structure]] +=== Recommended directory structure + +When customizing Buildroot for your project, you will be creating one or +more project-specific files that need to be stored somewhere. While most +of these files could be placed in _any_ location as their path is to be +specified in the Buildroot configuration, the Buildroot developers +recommend a specific directory structure which is described in this +section. + +Orthogonal to this directory structure, you can choose _where_ you place +this structure itself: either inside the Buildroot tree, or outside of +it using a br2-external tree. Both options are valid, the choice is up +to you. + +---- ++-- board/ +| +-- / +| +-- / +| +-- linux.config +| +-- busybox.config +| +-- +| +-- post_build.sh +| +-- post_image.sh +| +-- rootfs_overlay/ +| | +-- etc/ +| | +-- +| +-- patches/ +| +-- foo/ +| | +-- +| +-- libbar/ +| +-- +| ++-- configs/ +| +-- _defconfig +| ++-- package/ +| +-- / +| +-- Config.in (if not using a br2-external tree) +| +-- .mk (if not using a br2-external tree) +| +-- package1/ +| | +-- Config.in +| | +-- package1.mk +| +-- package2/ +| +-- Config.in +| +-- package2.mk +| ++-- Config.in (if using a br2-external tree) ++-- Makefile (if using a custom top makefile) ++-- external.mk (if using a br2-external tree) ++-- external.desc (if using a br2-external tree) +---- + +Details on the files shown above are given further in this chapter. + +Note: if you choose to place this structure outside of the Buildroot +tree but in a br2-external tree, the and possibly +components may be superfluous and can be left out. + +==== Implementing layered customizations + +It is quite common for a user to have several related projects that partly +need the same customizations. Instead of duplicating these +customizations for each project, it is recommended to use a layered +customization approach, as explained in this section. + +Almost all of the customization methods available in Buildroot, like +post-build scripts and root filesystem overlays, accept a +space-separated list of items. The specified items are always treated in +order, from left to right. By creating more than one such item, one for +the common customizations and another one for the really +project-specific customizations, you can avoid unnecessary duplication. +Each layer is typically embodied by a separate directory inside ++board//+. Depending on your projects, you could even introduce +more than two layers. + +An example directory structure for where a user has two customization +layers 'common' and 'fooboard' is: + +---- ++-- board/ + +-- / + +-- common/ + | +-- post_build.sh + | +-- rootfs_overlay/ + | | +-- ... + | +-- patches/ + | +-- ... + | + +-- fooboard/ + +-- linux.config + +-- busybox.config + +-- + +-- post_build.sh + +-- rootfs_overlay/ + | +-- ... + +-- patches/ + +-- ... +---- + +For example, if the user has the +BR2_GLOBAL_PATCH_DIR+ configuration +option set as: + +---- +BR2_GLOBAL_PATCH_DIR="board//common/patches board//fooboard/patches" +---- + +then first the patches from the 'common' layer would be applied, +followed by the patches from the 'fooboard' layer. + +==== Custom top Makefile + +You normally launch Buildroot from the buildroot source directory, pointing ++BR2_EXTERNAL+ and +O+ to the right places for the build you want to make. +You can simplify this by adding a Makefile to your br2-external that sets +these variables and calls into buildroot. + +You can add additional, custom rules to this Makefile for various tasks you +need to perform, e.g. integrate multiple configurations into a single image, +upload to a release server or to a test device, include multiple +br2-external configurations, etc. + +A basic Makefile looks like this. It assumes the buildroot source is available +(e.g. as a git submodule) in the +buildroot+ subdirectory. It makes sure that +the download directory is shared between different builds, and it organizes +the output directories in a structure under +outputs/+. + +---- +# SPDX-License-Identifier: GPL-2.0 + +# Avoid surprises by disabling default rules +MAKEFLAGS += --no-builtin-rules +.SUFFIXES: + +THIS_EXTERNAL_PATH := $(abspath $(dir $(lastword $(MAKEFILE_LIST)))) + +# Put downloads in this directory instead of in the Buildroot directory +ifeq ($(BR2_DL_DIR),) +BR2_DL_DIR = $(THIS_EXTERNAL_PATH)/dl +endif + +OUTPUT_BASEDIR = $(THIS_EXTERNAL_PATH)/output +OUTPUT_DIR = $(OUTPUT_BASEDIR)/$(patsubst %_defconfig,%,$@) + +MAKE_BUILDROOT = $(MAKE) -C $(THIS_EXTERNAL_PATH)/buildroot BR2_EXTERNAL=$(THIS_EXTERNAL_PATH) + +%: $(THIS_EXTERNAL_PATH)/configs/% + $(MAKE_BUILDROOT) O=$(OUTPUT_DIR) $@ + sed -i /^BR2_DL_DIR=.*/s%%BR2_DL_DIR=$(BR2_DL_DIR)% $(OUTPUT_DIR)/.config +---- diff --git a/docs/manual/customize-directory-structure.txt b/docs/manual/customize-directory-structure.txt deleted file mode 100644 index b177319f982..00000000000 --- a/docs/manual/customize-directory-structure.txt +++ /dev/null @@ -1,110 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[customize-dir-structure]] -=== Recommended directory structure - -When customizing Buildroot for your project, you will be creating one or -more project-specific files that need to be stored somewhere. While most -of these files could be placed in _any_ location as their path is to be -specified in the Buildroot configuration, the Buildroot developers -recommend a specific directory structure which is described in this -section. - -Orthogonal to this directory structure, you can choose _where_ you place -this structure itself: either inside the Buildroot tree, or outside of -it using a br2-external tree. Both options are valid, the choice is up -to you. - ------ -+-- board/ -| +-- / -| +-- / -| +-- linux.config -| +-- busybox.config -| +-- -| +-- post_build.sh -| +-- post_image.sh -| +-- rootfs_overlay/ -| | +-- etc/ -| | +-- -| +-- patches/ -| +-- foo/ -| | +-- -| +-- libbar/ -| +-- -| -+-- configs/ -| +-- _defconfig -| -+-- package/ -| +-- / -| +-- Config.in (if not using a br2-external tree) -| +-- .mk (if not using a br2-external tree) -| +-- package1/ -| | +-- Config.in -| | +-- package1.mk -| +-- package2/ -| +-- Config.in -| +-- package2.mk -| -+-- Config.in (if using a br2-external tree) -+-- external.mk (if using a br2-external tree) ------- - -Details on the files shown above are given further in this chapter. - -Note: if you choose to place this structure outside of the Buildroot -tree but in a br2-external tree, the and possibly -components may be superfluous and can be left out. - -==== Implementing layered customizations - -It is quite common for a user to have several related projects that partly -need the same customizations. Instead of duplicating these -customizations for each project, it is recommended to use a layered -customization approach, as explained in this section. - -Almost all of the customization methods available in Buildroot, like -post-build scripts and root filesystem overlays, accept a -space-separated list of items. The specified items are always treated in -order, from left to right. By creating more than one such item, one for -the common customizations and another one for the really -project-specific customizations, you can avoid unnecessary duplication. -Each layer is typically embodied by a separate directory inside -+board//+. Depending on your projects, you could even introduce -more than two layers. - -An example directory structure for where a user has two customization -layers 'common' and 'fooboard' is: - ------ -+-- board/ - +-- / - +-- common/ - | +-- post_build.sh - | +-- rootfs_overlay/ - | | +-- ... - | +-- patches/ - | +-- ... - | - +-- fooboard/ - +-- linux.config - +-- busybox.config - +-- - +-- post_build.sh - +-- rootfs_overlay/ - | +-- ... - +-- patches/ - +-- ... ------ - -For example, if the user has the +BR2_GLOBAL_PATCH_DIR+ configuration -option set as: - ------ -BR2_GLOBAL_PATCH_DIR="board//common/patches board//fooboard/patches" ------ - -then first the patches from the 'common' layer would be applied, -followed by the patches from the 'fooboard' layer. diff --git a/docs/manual/customize-outside-br.adoc b/docs/manual/customize-outside-br.adoc new file mode 100644 index 00000000000..8a76f3a9987 --- /dev/null +++ b/docs/manual/customize-outside-br.adoc @@ -0,0 +1,447 @@ +// -*- mode:doc -*- ; +// vim: set syntax=asciidoc: + +[[outside-br-custom]] +=== Keeping customizations outside of Buildroot + +As already briefly mentioned in xref:customize-dir-structure[], you can +place project-specific customizations in two locations: + + * directly within the Buildroot tree, typically maintaining them using + branches in a version control system so that upgrading to a newer + Buildroot release is easy. + + * outside of the Buildroot tree, using the _br2-external_ mechanism. + This mechanism allows to keep package recipes, board support and + configuration files outside of the Buildroot tree, while still + having them nicely integrated in the build logic. We call this + location a _br2-external tree_. This section explains how to use + the br2-external mechanism and what to provide in a br2-external + tree. + +One can tell Buildroot to use one or more br2-external trees by setting +the +BR2_EXTERNAL+ make variable set to the path(s) of the br2-external +tree(s) to use. It can be passed to any Buildroot +make+ invocation. It +is automatically saved in the hidden +.br2-external.mk+ file in the output +directory. Thanks to this, there is no need to pass +BR2_EXTERNAL+ at +every +make+ invocation. It can however be changed at any time by +passing a new value, and can be removed by passing an empty value. + +.Note +The path to a br2-external tree can be either absolute or relative. +If it is passed as a relative path, it is important to note that it is +interpreted relative to the main Buildroot source directory, *not* to +the Buildroot output directory. + +.Note: +If using an br2-external tree from before Buildroot 2016.11, you need to +convert it before you can use it with Buildroot 2016.11 onward. See +xref:br2-external-converting[] for help on doing so. + +Some examples: + +---- +buildroot/ $ make BR2_EXTERNAL=/path/to/foo menuconfig +---- + +From now on, definitions from the +/path/to/foo+ br2-external tree +will be used: + +---- +buildroot/ $ make +buildroot/ $ make legal-info +---- + +We can switch to another br2-external tree at any time: + +---- +buildroot/ $ make BR2_EXTERNAL=/where/we/have/bar xconfig +---- + +We can also use multiple br2-external trees, by specifying a space-separated +list of paths to use: + +---- +buildroot/ $ make BR2_EXTERNAL="/path/to/foo /where/we/have/bar" menuconfig +---- + +Or disable the usage of any br2-external tree: + +---- +buildroot/ $ make BR2_EXTERNAL= xconfig +---- + +==== Layout of a br2-external tree + +A br2-external tree must contain at least those three files, described +in the following chapters: + + * +external.desc+ + * +external.mk+ + * +Config.in+ + +Apart from those mandatory files, there may be additional and optional +content that may be present in a br2-external tree, like the +configs/+ +or +provides/+ directories. They are described in the following chapters +as well. + +A complete example br2-external tree layout is also described later. + +===== The +external.desc+ file + +That file describes the br2-external tree: the _name_ and _description_ +for that br2-external tree. + +The format for this file is line based, with each line starting by a +keyword, followed by a colon and one or more spaces, followed by the +value assigned to that keyword. There are two keywords currently +recognised: + + * +name+, mandatory, defines the name for that br2-external tree. That + name must only use ASCII characters in the set +[A-Za-z0-9_]+; any + other character is forbidden. Buildroot sets the variable + +BR2_EXTERNAL_$(NAME)_PATH+ to the absolute path of the br2-external + tree, so that you can use it to refer to your br2-external tree. This + variable is available both in Kconfig, so you can use it to source your + Kconfig files (see below) and in the Makefile, so that you can use it + to include other Makefiles (see below) or refer to other files (like + data files) from your br2-external tree. ++ +.Note: +Since it is possible to use multiple br2-external trees at once, this + name is used by Buildroot to generate variables for each of those trees. + That name is used to identify your br2-external tree, so try to come up + with a name that really describes your br2-external tree, in order for + it to be relatively unique, so that it does not clash with another name + from another br2-external tree, especially if you are planning on + somehow sharing your br2-external tree with third parties or using + br2-external trees from third parties. + + * +desc+, optional, provides a short description for that br2-external + tree. It shall fit on a single line, is mostly free-form (see below), + and is used when displaying information about a br2-external tree (e.g. + above the list of defconfig files, or as the prompt in the menuconfig); + as such, it should relatively brief (40 chars is probably a good upper + limit). The description is available in the +BR2_EXTERNAL_$(NAME)_DESC+ + variable. + +Examples of names and the corresponding +BR2_EXTERNAL_$(NAME)_PATH+ +variables: + + * +FOO+ -> +BR2_EXTERNAL_FOO_PATH+ + * +BAR_42+ -> +BR2_EXTERNAL_BAR_42_PATH+ + +In the following examples, it is assumed the name to be set to +BAR_42+. + +.Note: +Both +BR2_EXTERNAL_$(NAME)_PATH+ and `BR2_EXTERNAL_$(NAME)_DESC` are + available in the Kconfig files and the Makefiles. They are also + exported in the environment so are available in post-build, post-image + and in-fakeroot scripts. + +===== The +Config.in+ and +external.mk+ files + +Those files (which may each be empty) can be used to define package +recipes (i.e. +foo/Config.in+ and +foo/foo.mk+ like for packages bundled +in Buildroot itself) or other custom configuration options or make logic. + +Buildroot automatically includes the +Config.in+ from each br2-external +tree to make it appear in the top-level configuration menu, and includes +the +external.mk+ from each br2-external tree with the rest of the +makefile logic. + +The main usage of this is to store package recipes. The recommended way +to do this is to write a +Config.in+ file that looks like: + +---- +source "$BR2_EXTERNAL_BAR_42_PATH/package/package1/Config.in" +source "$BR2_EXTERNAL_BAR_42_PATH/package/package2/Config.in" +---- + +Then, have an +external.mk+ file that looks like: + +---- +include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) +---- + +And then in +$(BR2_EXTERNAL_BAR_42_PATH)/package/package1+ and ++$(BR2_EXTERNAL_BAR_42_PATH)/package/package2+ create normal +Buildroot package recipes, as explained in xref:adding-packages[]. +If you prefer, you can also group the packages in subdirectories +called and adapt the above paths accordingly. + +You can also define custom configuration options in +Config.in+ and +custom make logic in +external.mk+. + +===== The +configs/+ directory + +One can store Buildroot defconfigs in the +configs+ subdirectory of +the br2-external tree. Buildroot will automatically show them in the +output of +make list-defconfigs+ and allow them to be loaded with the +normal +make _defconfig+ command. They will be visible in the +'make list-defconfigs' output, below an +External configs+ label that +contains the name of the br2-external tree they are defined in. + +.Note: +If a defconfig file is present in more than one br2-external tree, then +the one from the last br2-external tree is used. It is thus possible +to override a defconfig bundled in Buildroot or another br2-external +tree. + +===== The +provides/+ directory + +For some packages, Buildroot provides a choice between two (or more) +implementations of API-compatible such packages. For example, there is +a choice to choose either libjpeg or jpeg-turbo; there is one between +openssl or libressl; there is one to select one of the known, +pre-configured toolchains... + +It is possible for a br2-external to extend those choices, by providing +a set of files that define those alternatives: + +* +provides/toolchains.in+ defines the pre-configured toolchains, which + will then be listed in the toolchain selection; +* +provides/jpeg.in+ defines the alternative libjpeg implementations; +* +provides/openssl.in+ defines the alternative openssl implementations; +* +provides/skeleton.in+ defines the alternative skeleton implementations; +* +provides/init.in+ defines the alternative init system implementations, this + can be used to select a default skeleton for your init. + +===== Free-form content + +One can store all the board-specific configuration files there, such +as the kernel configuration, the root filesystem overlay, or any other +configuration file for which Buildroot allows to set the location (by +using the +BR2_EXTERNAL_$(NAME)_PATH+ variable). For example, you +could set the paths to a global patch directory, to a rootfs overlay +and to the kernel configuration file as follows (e.g. by running +`make menuconfig` and filling in these options): + +---- +BR2_GLOBAL_PATCH_DIR=$(BR2_EXTERNAL_BAR_42_PATH)/patches/ +BR2_ROOTFS_OVERLAY=$(BR2_EXTERNAL_BAR_42_PATH)/board//overlay/ +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE=$(BR2_EXTERNAL_BAR_42_PATH)/board//kernel.config +---- + +===== Additional Linux kernel extensions + +Additional Linux kernel extensions (see xref:linux-kernel-ext[]) can +be added by storing them in the `linux/` directory at the root of a +br2-external tree. + +===== Example layout + +Here is an example layout using all features of br2-external (the sample +content is shown for the file above it, when it is relevant to explain +the br2-external tree; this is all entirely made up just for the sake of +illustration, of course): + +---- +/path/to/br2-ext-tree/ + |- external.desc + | |name: BAR_42 + | |desc: Example br2-external tree + | `---- + | + |- Config.in + | |source "$BR2_EXTERNAL_BAR_42_PATH/toolchain/toolchain-external-mine/Config.in.options" + | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-1/Config.in" + | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-2/Config.in" + | |source "$BR2_EXTERNAL_BAR_42_PATH/package/my-jpeg/Config.in" + | | + | |config BAR_42_FLASH_ADDR + | | hex "my-board flash address" + | | default 0x10AD + | `---- + | + |- external.mk + | |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) + | |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/toolchain/*/*.mk)) + | | + | |flash-my-board: + | | $(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/flash-image \ + | | --image $(BINARIES_DIR)/image.bin \ + | | --address $(BAR_42_FLASH_ADDR) + | `---- + | + |- package/pkg-1/Config.in + | |config BR2_PACKAGE_PKG_1 + | | bool "pkg-1" + | | help + | | Some help about pkg-1 + | `---- + |- package/pkg-1/pkg-1.hash + |- package/pkg-1/pkg-1.mk + | |PKG_1_VERSION = 1.2.3 + | |PKG_1_SITE = /some/where/to/get/pkg-1 + | |PKG_1_LICENSE = blabla + | | + | |define PKG_1_INSTALL_INIT_SYSV + | | $(INSTALL) -D -m 0755 $(PKG_1_PKGDIR)/S99my-daemon \ + | | $(TARGET_DIR)/etc/init.d/S99my-daemon + | |endef + | | + | |$(eval $(autotools-package)) + | `---- + |- package/pkg-1/S99my-daemon + | + |- package/pkg-2/Config.in + |- package/pkg-2/pkg-2.hash + |- package/pkg-2/pkg-2.mk + | + |- provides/jpeg.in + | |config BR2_PACKAGE_MY_JPEG + | | bool "my-jpeg" + | `---- + |- package/my-jpeg/Config.in + | |config BR2_PACKAGE_PROVIDES_JPEG + | | default "my-jpeg" if BR2_PACKAGE_MY_JPEG + | `---- + |- package/my-jpeg/my-jpeg.mk + | |# This is a normal package .mk file + | |MY_JPEG_VERSION = 1.2.3 + | |MY_JPEG_SITE = https://example.net/some/place + | |MY_JPEG_PROVIDES = jpeg + | |$(eval $(autotools-package)) + | `---- + | + |- provides/init.in + | |config BR2_INIT_MINE + | | bool "my custom init" + | | select BR2_PACKAGE_MY_INIT + | | select BR2_PACKAGE_SKELETON_INIT_MINE if BR2_ROOTFS_SKELETON_DEFAULT + | `---- + | + |- provides/skeleton.in + | |config BR2_ROOTFS_SKELETON_MINE + | | bool "my custom skeleton" + | | select BR2_PACKAGE_SKELETON_MINE + | `---- + |- package/skeleton-mine/Config.in + | |config BR2_PACKAGE_SKELETON_MINE + | | bool + | | select BR2_PACKAGE_HAS_SKELETON + | | + | |config BR2_PACKAGE_PROVIDES_SKELETON + | | default "skeleton-mine" if BR2_PACKAGE_SKELETON_MINE + | `---- + |- package/skeleton-mine/skeleton-mine.mk + | |SKELETON_MINE_ADD_TOOLCHAIN_DEPENDENCY = NO + | |SKELETON_MINE_ADD_SKELETON_DEPENDENCY = NO + | |SKELETON_MINE_PROVIDES = skeleton + | |SKELETON_MINE_INSTALL_STAGING = YES + | |$(eval $(generic-package)) + | `---- + | + |- provides/toolchains.in + | |config BR2_TOOLCHAIN_EXTERNAL_MINE + | | bool "my custom toolchain" + | | depends on BR2_some_arch + | | select BR2_INSTALL_LIBSTDCPP + | `---- + |- toolchain/toolchain-external-mine/Config.in.options + | |if BR2_TOOLCHAIN_EXTERNAL_MINE + | |config BR2_TOOLCHAIN_EXTERNAL_PREFIX + | | default "arch-mine-linux-gnu" + | |config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + | | default "toolchain-external-mine" + | |endif + | `---- + |- toolchain/toolchain-external-mine/toolchain-external-mine.mk + | |TOOLCHAIN_EXTERNAL_MINE_SITE = https://example.net/some/place + | |TOOLCHAIN_EXTERNAL_MINE_SOURCE = my-toolchain.tar.gz + | |$(eval $(toolchain-external-package)) + | `---- + | + |- linux/Config.ext.in + | |config BR2_LINUX_KERNEL_EXT_EXAMPLE_DRIVER + | | bool "example-external-driver" + | | help + | | Example external driver + | |--- + |- linux/linux-ext-example-driver.mk + | + |- configs/my-board_defconfig + | |BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BAR_42_PATH)/patches/" + | |BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/overlay/" + | |BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/post-image.sh" + | |BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/kernel.config" + | `---- + | + |- patches/linux/0001-some-change.patch + |- patches/linux/0002-some-other-change.patch + |- patches/busybox/0001-fix-something.patch + | + |- board/my-board/kernel.config + |- board/my-board/overlay/var/www/index.html + |- board/my-board/overlay/var/www/my.css + |- board/my-board/flash-image + `- board/my-board/post-image.sh + |#!/bin/sh + |generate-my-binary-image \ + | --root ${BINARIES_DIR}/rootfs.tar \ + | --kernel ${BINARIES_DIR}/zImage \ + | --dtb ${BINARIES_DIR}/my-board.dtb \ + | --output ${BINARIES_DIR}/image.bin + `---- +---- + +The br2-external tree will then be visible in the menuconfig (with +the layout expanded): + +---- +External options ---> + *** Example br2-external tree (in /path/to/br2-ext-tree/) + [ ] pkg-1 + [ ] pkg-2 + (0x10AD) my-board flash address +---- + +If you are using more than one br2-external tree, it would look like +(with the layout expanded and the second one with name +FOO_27+ but no ++desc:+ field in +external.desc+): + +---- +External options ---> + Example br2-external tree ---> + *** Example br2-external tree (in /path/to/br2-ext-tree) + [ ] pkg-1 + [ ] pkg-2 + (0x10AD) my-board flash address + FOO_27 ---> + *** FOO_27 (in /path/to/another-br2-ext) + [ ] foo + [ ] bar +---- + +Additionally, the jpeg provider will be visible in the jpeg choice: + +---- +Target packages ---> + Libraries ---> + Graphics ---> + [*] jpeg support + jpeg variant () ---> + ( ) jpeg + ( ) jpeg-turbo + *** jpeg from: Example br2-external tree *** + (X) my-jpeg + *** jpeg from: FOO_27 *** + ( ) another-jpeg +---- + +And similarly for the toolchains: + +---- +Toolchain ---> + Toolchain () ---> + ( ) Custom toolchain + *** Toolchains from: Example br2-external tree *** + (X) my custom toolchain +---- + +.Note +The toolchain options in +toolchain/toolchain-external-mine/Config.in.options+ +will not appear in the `Toolchain` menu. They must be explicitly included +from within the br2-external's top-level +Config.in+ and will thus appear +in the `External options` menu. diff --git a/docs/manual/customize-outside-br.txt b/docs/manual/customize-outside-br.txt deleted file mode 100644 index ea0e12033e9..00000000000 --- a/docs/manual/customize-outside-br.txt +++ /dev/null @@ -1,313 +0,0 @@ -// -*- mode:doc -*- ; -// vim: set syntax=asciidoc: - -[[outside-br-custom]] -=== Keeping customizations outside of Buildroot - -As already briefly mentioned in xref:customize-dir-structure[], you can -place project-specific customizations in two locations: - - * directly within the Buildroot tree, typically maintaining them using - branches in a version control system so that upgrading to a newer - Buildroot release is easy. - - * outside of the Buildroot tree, using the _br2-external_ mechanism. - This mechanism allows to keep package recipes, board support and - configuration files outside of the Buildroot tree, while still - having them nicely integrated in the build logic. We call this - location a _br2-external tree_. This section explains how to use - the br2-external mechanism and what to provide in a br2-external - tree. - -One can tell Buildroot to use one or more br2-external trees by setting -the +BR2_EXTERNAL+ make variable set to the path(s) of the br2-external -tree(s) to use. It can be passed to any Buildroot +make+ invocation. It -is automatically saved in the hidden +.br-external.mk+ file in the output -directory. Thanks to this, there is no need to pass +BR2_EXTERNAL+ at -every +make+ invocation. It can however be changed at any time by -passing a new value, and can be removed by passing an empty value. - -.Note -The path to a br2-external tree can be either absolute or relative. -If it is passed as a relative path, it is important to note that it is -interpreted relative to the main Buildroot source directory, *not* to -the Buildroot output directory. - -.Note: -If using an br2-external tree from before Buildroot 2016.11, you need to -convert it before you can use it with Buildroot 2016.11 onward. See -xref:br2-external-converting[] for help on doing so. - -Some examples: - ------ -buildroot/ $ make BR2_EXTERNAL=/path/to/foo menuconfig ------ - -From now on, definitions from the +/path/to/foo+ br2-external tree -will be used: - ------ -buildroot/ $ make -buildroot/ $ make legal-info ------ - -We can switch to another br2-external tree at any time: - ------ -buildroot/ $ make BR2_EXTERNAL=/where/we/have/bar xconfig ------ - -We can also use multiple br2-external trees: - ----- -buildroot/ $ make BR2_EXTERNAL=/path/to/foo:/where/we/have/bar menuconfig ----- - -Or disable the usage of any br2-external tree: - ------ -buildroot/ $ make BR2_EXTERNAL= xconfig ------ - -==== Layout of a br2-external tree - -A br2-external tree must contain at least those three files, described -in the following chapters: - - * +external.desc+ - * +external.mk+ - * +Config.in+ - -Apart from those mandatory files, there may be additional and optional -content that may be present in a br2-external tree, like the +configs/+ -directory. They are described in the following chapters as well. - -A complete example br2-external tree layout is also described later. - -===== The +external.desc+ file - -That file describes the br2-external tree: the _name_ and _description_ -for that br2-external tree. - -The format for this file is line based, with each line starting by a -keyword, followed by a colon and one or more spaces, followed by the -value assigned to that keyword. There are two keywords currently -recognised: - - * +name+, mandatory, defines the name for that br2-external tree. That - name must only use ASCII characters in the set +[A-Za-z0-9_]+; any - other character is forbidden. Buildroot sets the variable - +BR2_EXTERNAL_$(NAME)_PATH+ to the absolute path of the br2-external - tree, so that you can use it to refer to your br2-external tree. This - variable is available both in Kconfig, so you can use it to source your - Kconfig files (see below) and in the Makefile, so that you can use it - to include other Makefiles (see below) or refer to other files (like - data files) from your br2-external tree. -+ -.Note: -Since it is possible to use multiple br2-external trees at once, this - name is used by Buildroot to generate variables for each of those trees. - That name is used to identify your br2-external tree, so try to come up - with a name that really describes your br2-external tree, in order for - it to be relatively unique, so that it does not clash with another name - from another br2-external tree, especially if you are planning on - somehow sharing your br2-external tree with third parties or using - br2-external trees from third parties. - - * +desc+, optional, provides a short description for that br2-external - tree. It shall fit on a single line, is mostly free-form (see below), - and is used when displaying information about a br2-external tree (e.g. - above the list of defconfig files, or as the prompt in the menuconfig); - as such, it should relatively brief (40 chars is probably a good upper - limit). The description is available in the +BR2_EXTERNAL_$(NAME)_DESC+ - variable. - -Examples of names and the corresponding +BR2_EXTERNAL_$(NAME)_PATH+ -variables: - - * +FOO+ -> +BR2_EXTERNAL_FOO_PATH+ - * +BAR_42+ -> +BR2_EXTERNAL_BAR_42_PATH+ - -In the following examples, it is assumed the name to be set to +BAR_42+. - -.Note: -Both +BR2_EXTERNAL_$(NAME)_PATH+ and `BR2_EXTERNAL_$(NAME)_DESC` are - available in the Kconfig files and the Makefiles. They are also - exported in the environment so are available in post-build, post-image - and in-fakeroot scripts. - -===== The +Config.in+ and +external.mk+ files - -Those files (which may each be empty) can be used to define package -recipes (i.e. +foo/Config.in+ and +foo/foo.mk+ like for packages bundled -in Buildroot itself) or other custom configuration options or make logic. - -Buildroot automatically includes the +Config.in+ from each br2-external -tree to make it appear in the top-level configuration menu, and includes -the +external.mk+ from each br2-external tree with the rest of the -makefile logic. - -The main usage of this is to store package recipes. The recommended way -to do this is to write a +Config.in+ file that looks like: - ------- -source "$BR2_EXTERNAL_BAR_42_PATH/package/package1/Config.in" -source "$BR2_EXTERNAL_BAR_42_PATH/package/package2/Config.in" ------- - -Then, have an +external.mk+ file that looks like: - ------- -include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) ------- - -And then in +$(BR2_EXTERNAL_BAR_42_PATH)/package/package1+ and -+$(BR2_EXTERNAL_BAR_42_PATH)/package/package2+ create normal -Buildroot package recipes, as explained in xref:adding-packages[]. -If you prefer, you can also group the packages in subdirectories -called and adapt the above paths accordingly. - -You can also define custom configuration options in +Config.in+ and -custom make logic in +external.mk+. - -===== The +configs/+ directory - -One can store Buildroot defconfigs in the +configs+ subdirectory of -the br2-external tree. Buildroot will automatically show them in the -output of +make list-defconfigs+ and allow them to be loaded with the -normal +make _defconfig+ command. They will be visible in the -'make list-defconfigs' output, below an +External configs+ label that -contains the name of the br2-external tree they are defined in. - -.Note: -If a defconfig file is present in more than one br2-external tree, then -the one from the last br2-external tree is used. It is thus possible -to override a defconfig bundled in Buildroot or another br2-external -tree. - -===== Free-form content - -One can store all the board-specific configuration files there, such -as the kernel configuration, the root filesystem overlay, or any other -configuration file for which Buildroot allows to set the location (by -using the +BR2_EXTERNAL_$(NAME)_PATH+ variable). For example, you -could set the paths to a global patch directory, to a rootfs overlay -and to the kernel configuration file as follows (e.g. by running -`make menuconfig` and filling in these options): - ----- -BR2_GLOBAL_PATCH_DIR=$(BR2_EXTERNAL_BAR_42_PATH)/patches/ -BR2_ROOTFS_OVERLAY=$(BR2_EXTERNAL_BAR_42_PATH)/board//overlay/ -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE=$(BR2_EXTERNAL_BAR_42_FOO)/board//kernel.config ----- - -===== Example layout - -Here is an example layout using all features of br2-external (the sample -content is shown for the file above it, when it is relevant to explain -the br2-external tree; this is all entirely made up just for the sake of -illustration, of course): - ----- -/path/to/br2-ext-tree/ - |- external.desc - | |name: BAR_42 - | |desc: Example br2-external tree - | `---- - | - |- Config.in - | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-1/Config.in" - | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-2/Config.in" - | | - | |config BAR_42_FLASH_ADDR - | | hex "my-board flash address" - | | default 0x10AD - | `---- - | - |- external.mk - | |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) - | | - | |flash-my-board: - | | $(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/flash-image \ - | | --image $(BINARIES_DIR)/image.bin \ - | | --address $(BAR_42_FLASH_ADDR) - | `---- - | - |- package/pkg-1/Config.in - | |config BR2_PACKAGE_PKG_1 - | | bool "pkg-1" - | | help - | | Some help about pkg-1 - | `---- - |- package/pkg-1/pkg-1.hash - |- package/pkg-1/pkg-1.mk - | |PKG_1_VERSION = 1.2.3 - | |PKG_1_SITE = /some/where/to/get/pkg-1 - | |PKG_1_LICENSE = blabla - | | - | |define PKG_1_INSTALL_INIT_SYSV - | | $(INSTALL) -D -m 0755 $(PKG_1_PKGDIR)/S99my-daemon \ - | | $(TARGET_DIR)/etc/init.d/S99my-daemon - | |endef - | | - | |$(eval $(autotools-package)) - | `---- - |- package/pkg-1/S99my-daemon - | - |- package/pkg-2/Config.in - |- package/pkg-2/pkg-2.hash - |- package/pkg-2/pkg-2.mk - | - |- configs/my-board_defconfig - | |BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BAR_42_PATH)/patches/" - | |BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/overlay/" - | |BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/post-image.sh" - | |BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_BAR_42_FOO)/board/my-board/kernel.config" - | `---- - | - |- patches/linux/0001-some-change.patch - |- patches/linux/0002-some-other-change.patch - |- patches/busybox/0001-fix-something.patch - | - |- board/my-board/kernel.config - |- board/my-board/overlay/var/www/index.html - |- board/my-board/overlay/var/www/my.css - |- board/my-board/flash-image - `- board/my-board/post-image.sh - |#!/bin/sh - |generate-my-binary-image \ - | --root ${BINARIES_DIR}/rootfs.tar \ - | --kernel ${BINARIES_DIR}/zImage \ - | --dtb ${BINARIES_DIR}/my-board.dtb \ - | --output ${BINARIES_DIR}/image.bin - `---- ----- - -The br2-external tree will then be visible in the menuconfig (with -the layout expanded): - ----- -External options ---> - *** Example br2-external tree (in /path/to/br2-ext-tree/) - [ ] pkg-1 - [ ] pkg-2 - (0x10AD) my-board flash address ----- - -If you are using more than one br2-external tree, it would look like -(with the layout expanded and the second one with name +FOO_27+ but no -+desc:+ field in +external.desc+): - ----- -External options ---> - Example br2-external tree ---> - *** Example br2-external tree (in /path/to/br2-ext-tree) - [ ] pkg-1 - [ ] pkg-2 - (0x10AD) my-board flash address - FOO_27 ---> - *** FOO_27 (in /path/to/another-br2-ext) - [ ] foo - [ ] bar ----- diff --git a/docs/manual/customize-packages.adoc b/docs/manual/customize-packages.adoc new file mode 100644 index 00000000000..af2fd13debd --- /dev/null +++ b/docs/manual/customize-packages.adoc @@ -0,0 +1,56 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[customize-packages]] +=== Adding project-specific packages + +In general, any new package should be added directly in the +package+ +directory and submitted to the Buildroot upstream project. How to add +packages to Buildroot in general is explained in full detail in +xref:adding-packages[] and will not be repeated here. However, your +project may need some proprietary packages that cannot be upstreamed. +This section will explain how you can keep such project-specific +packages in a project-specific directory. + +As shown in xref:customize-dir-structure[], the recommended location for +project-specific packages is +package//+. If you are using the +br2-external tree feature (see xref:outside-br-custom[]) the recommended +location is to put them in a sub-directory named +package/+ in your +br2-external tree. + +However, Buildroot will not be aware of the packages in this location, +unless we perform some additional steps. As explained in +xref:adding-packages[], a package in Buildroot basically consists of two +files: a +.mk+ file (describing how to build the package) and a ++Config.in+ file (describing the configuration options for this +package). + +Buildroot will automatically include the +.mk+ files in first-level +subdirectories of the +package+ directory (using the pattern ++package/\*/*.mk+). If we want Buildroot to include +.mk+ files from +deeper subdirectories (like +package//package1/+) then we +simply have to add a +.mk+ file in a first-level subdirectory that +includes these additional +.mk+ files. Therefore, create a file ++package//.mk+ with following contents (assuming you +have only one extra directory level below +package//+): + +---- +include $(sort $(wildcard package//*/*.mk)) +---- + +For the +Config.in+ files, create a file +package//Config.in+ +that includes the +Config.in+ files of all your packages. An exhaustive +list has to be provided since wildcards are not supported in the source command of kconfig. +For example: + +---- +source "package//package1/Config.in" +source "package//package2/Config.in" +---- + +Include this new file +package//Config.in+ from ++package/Config.in+, preferably in a company-specific menu to make +merges with future Buildroot versions easier. + +If using a br2-external tree, refer to xref:outside-br-custom[] for how +to fill in those files. diff --git a/docs/manual/customize-packages.txt b/docs/manual/customize-packages.txt deleted file mode 100644 index b57280ea10d..00000000000 --- a/docs/manual/customize-packages.txt +++ /dev/null @@ -1,56 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[customize-packages]] -=== Adding project-specific packages - -In general, any new package should be added directly in the +package+ -directory and submitted to the Buildroot upstream project. How to add -packages to Buildroot in general is explained in full detail in -xref:adding-packages[] and will not be repeated here. However, your -project may need some proprietary packages that cannot be upstreamed. -This section will explain how you can keep such project-specific -packages in a project-specific directory. - -As shown in xref:customize-dir-structure[], the recommended location for -project-specific packages is +package//+. If you are using the -br2-external tree feature (see xref:outside-br-custom[]) the recommended -location is to put them in a sub-directory named +package/+ in your -br2-external tree. - -However, Buildroot will not be aware of the packages in this location, -unless we perform some additional steps. As explained in -xref:adding-packages[], a package in Buildroot basically consists of two -files: a +.mk+ file (describing how to build the package) and a -+Config.in+ file (describing the configuration options for this -package). - -Buildroot will automatically include the +.mk+ files in first-level -subdirectories of the +package+ directory (using the pattern -+package/\*/*.mk+). If we want Buildroot to include +.mk+ files from -deeper subdirectories (like +package//package1/+) then we -simply have to add a +.mk+ file in a first-level subdirectory that -includes these additional +.mk+ files. Therefore, create a file -+package//.mk+ with following contents (assuming you -have only one extra directory level below +package//+): - ------ -include $(sort $(wildcard package//*/*.mk)) ------ - -For the +Config.in+ files, create a file +package//Config.in+ -that includes the +Config.in+ files of all your packages. An exhaustive -list has to be provided since wildcards are not supported in the source command of kconfig. -For example: - ------ -source "package//package1/Config.in" -source "package//package2/Config.in" ------ - -Include this new file +package//Config.in+ from -+package/Config.in+, preferably in a company-specific menu to make -merges with future Buildroot versions easier. - -If using a br2-external tree, refer to xref:outside-br-custom[] for how -to fill in those files. diff --git a/docs/manual/customize-patches.adoc b/docs/manual/customize-patches.adoc new file mode 100644 index 00000000000..f33bbcdde7b --- /dev/null +++ b/docs/manual/customize-patches.adoc @@ -0,0 +1,83 @@ +// -*- mode:doc -*- ; +// vim: set syntax=asciidoc: + +=== Adding project-specific patches and hashes + +[[customize-patches]] +==== Providing extra patches + +It is sometimes useful to apply 'extra' patches to packages - on top of +those provided in Buildroot. This might be used to support custom +features in a project, for example, or when working on a new +architecture. + +The +BR2_GLOBAL_PATCH_DIR+ configuration option can be used to specify +a space separated list of one or more directories containing package +patches. + +For a specific version ++ of a specific package +++, patches are applied from +BR2_GLOBAL_PATCH_DIR+ as +follows: + +. For every directory - ++ - that exists in + +BR2_GLOBAL_PATCH_DIR+, a ++ will be determined as + follows: ++ +* +///+ if the + directory exists. ++ +* Otherwise, +/+ if the directory + exists. + +. Patches will then be applied from a ++ as + follows: ++ +* If a +series+ file exists in the package directory, then patches are + applied according to the +series+ file; ++ +* Otherwise, patch files matching +*.patch+ are applied in + alphabetical order. So, to ensure they are applied in the right + order, it is highly recommended to name the patch files like this: + +-.patch+, where ++ refers to the + 'apply order'. + +For information about how patches are applied for a package, see +xref:patch-apply-order[] + +The +BR2_GLOBAL_PATCH_DIR+ option is the preferred method for +specifying a custom patch directory for packages. It can be used to +specify a patch directory for any package in buildroot. It should also +be used in place of the custom patch directory options that are +available for packages such as U-Boot and Barebox. By doing this, it +will allow a user to manage their patches from one top-level +directory. + +The exception to +BR2_GLOBAL_PATCH_DIR+ being the preferred method for +specifying custom patches is +BR2_LINUX_KERNEL_PATCH+. ++BR2_LINUX_KERNEL_PATCH+ should be used to specify kernel patches that +are available at a URL. *Note:* +BR2_LINUX_KERNEL_PATCH+ specifies kernel +patches that are applied after patches available in +BR2_GLOBAL_PATCH_DIR+, +as it is done from a post-patch hook of the Linux package. + + +[[customize-hashes]] +==== Providing extra hashes + +Buildroot bundles a xref:adding-packages-hash[list of hashes] against +which it checks the integrity of the downloaded archives, or of those +it generates locally from VCS checkouts. However, it can only do so +for the known versions; for packages where it is possible to specify +a custom version (e.g. a custom version string, a remote tarball URL, +or a VCS repository location and changeset), Buildroot can't carry +hashes for those. + +For users concerned with the integrity of such downloads, it is possible +to provide a list of hashes that Buildroot can use to check arbitrary +downloaded files. Those extra hashes are looked up similarly to the +extra patches (above); for each directory in +BR2_GLOBAL_PATCH_DIR+, +the first file to exist is used to check a package download: + +* +///.hash+ +* +//.hash+ + +The +utils/add-custom-hashes+ script can be used to generate these files. diff --git a/docs/manual/customize-patches.txt b/docs/manual/customize-patches.txt deleted file mode 100644 index fa63541110a..00000000000 --- a/docs/manual/customize-patches.txt +++ /dev/null @@ -1,59 +0,0 @@ -// -*- mode:doc -*- ; -// vim: set syntax=asciidoc: - -[[customize-patches]] -=== Adding project-specific patches - -It is sometimes useful to apply 'extra' patches to packages - on top of -those provided in Buildroot. This might be used to support custom -features in a project, for example, or when working on a new -architecture. - -The +BR2_GLOBAL_PATCH_DIR+ configuration option can be used to specify -a space separated list of one or more directories containing package -patches. - -For a specific version ++ of a specific package -++, patches are applied from +BR2_GLOBAL_PATCH_DIR+ as -follows: - -. For every directory - ++ - that exists in - +BR2_GLOBAL_PATCH_DIR+, a ++ will be determined as - follows: -+ -* +///+ if the - directory exists. -+ -* Otherwise, +/+ if the directory - exists. - -. Patches will then be applied from a ++ as - follows: -+ -* If a +series+ file exists in the package directory, then patches are - applied according to the +series+ file; -+ -* Otherwise, patch files matching +*.patch+ are applied in - alphabetical order. So, to ensure they are applied in the right - order, it is highly recommended to name the patch files like this: - +-.patch+, where ++ refers to the - 'apply order'. - -For information about how patches are applied for a package, see -xref:patch-apply-order[] - -The +BR2_GLOBAL_PATCH_DIR+ option is the preferred method for -specifying a custom patch directory for packages. It can be used to -specify a patch directory for any package in buildroot. It should also -be used in place of the custom patch directory options that are -available for packages such as U-Boot and Barebox. By doing this, it -will allow a user to manage their patches from one top-level -directory. - -The exception to +BR2_GLOBAL_PATCH_DIR+ being the preferred method for -specifying custom patches is +BR2_LINUX_KERNEL_PATCH+. -+BR2_LINUX_KERNEL_PATCH+ should be used to specify kernel patches that -are available at an URL. *Note:* +BR2_LINUX_KERNEL_PATCH+ specifies kernel -patches that are applied after patches available in +BR2_GLOBAL_PATCH_DIR+, -as it is done from a post-patch hook of the Linux package. - diff --git a/docs/manual/customize-post-image.adoc b/docs/manual/customize-post-image.adoc new file mode 100644 index 00000000000..849e941de37 --- /dev/null +++ b/docs/manual/customize-post-image.adoc @@ -0,0 +1,43 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Customization _after_ the images have been created + +While post-build scripts (xref:rootfs-custom[]) are run _before_ +building the filesystem image, kernel and bootloader, *post-image +scripts* can be used to perform some specific actions _after_ all images +have been created. + +Post-image scripts can for example be used to automatically extract your +root filesystem tarball in a location exported by your NFS server, or +to create a special firmware image that bundles your root filesystem and +kernel image, or any other custom action required for your project. + +To enable this feature, specify a space-separated list of post-image +scripts in config option +BR2_ROOTFS_POST_IMAGE_SCRIPT+ (in the +System +configuration+ menu). If you specify a relative path, it will be +relative to the root of the Buildroot tree. + +Just like post-build scripts, post-image scripts are run with the main +Buildroot tree as current working directory. The path to the +images+ +output directory is passed as the first argument to each script. If the +config option +BR2_ROOTFS_POST_SCRIPT_ARGS+ is not empty, these +arguments will be passed to the script too. All the scripts will be +passed the exact same set of arguments, it is not possible to pass +different sets of arguments to each script. + +Note that the arguments from +BR2_ROOTFS_POST_SCRIPT_ARGS+ will also be +passed to post-build and post-fakeroot scripts. If you want to use +arguments that are only used for the post-image scripts you can use ++BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS+. + +Again just like for the post-build scripts, the scripts have access to +the environment variables +BR2_CONFIG+, +HOST_DIR+, +STAGING_DIR+, ++TARGET_DIR+, +BUILD_DIR+, +BINARIES_DIR+, +CONFIG_DIR+, +BASE_DIR+, +and +PARALLEL_JOBS+. + +The post-image scripts will be executed as the user that executes +Buildroot, which should normally _not_ be the root user. Therefore, any +action requiring root permissions in one of these scripts will require +special handling (usage of fakeroot or sudo), which is left to the +script developer. diff --git a/docs/manual/customize-post-image.txt b/docs/manual/customize-post-image.txt deleted file mode 100644 index 90ea2b9328c..00000000000 --- a/docs/manual/customize-post-image.txt +++ /dev/null @@ -1,37 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Customization _after_ the images have been created - -While post-build scripts (xref:rootfs-custom[]) are run _before_ -building the filesystem image, kernel and bootloader, *post-image -scripts* can be used to perform some specific actions _after_ all images -have been created. - -Post-image scripts can for example be used to automatically extract your -root filesystem tarball in a location exported by your NFS server, or -to create a special firmware image that bundles your root filesystem and -kernel image, or any other custom action required for your project. - -To enable this feature, specify a space-separated list of post-image -scripts in config option +BR2_ROOTFS_POST_IMAGE_SCRIPT+ (in the +System -configuration+ menu). If you specify a relative path, it will be -relative to the root of the Buildroot tree. - -Just like post-build scripts, post-image scripts are run with the main -Buildroot tree as current working directory. The path to the +images+ -output directory is passed as the first argument to each script. If the -config option +BR2_ROOTFS_POST_SCRIPT_ARGS+ is not empty, these -arguments will be passed to the script too. All the scripts will be -passed the exact same set of arguments, it is not possible to pass -different sets of arguments to each script. - -Again just like for the post-build scripts, the scripts have access to -the environment variables +BR2_CONFIG+, +HOST_DIR+, +STAGING_DIR+, -+TARGET_DIR+, +BUILD_DIR+, +BINARIES_DIR+ and +BASE_DIR+. - -The post-image scripts will be executed as the user that executes -Buildroot, which should normally _not_ be the root user. Therefore, any -action requiring root permissions in one of these scripts will require -special handling (usage of fakeroot or sudo), which is left to the -script developer. diff --git a/docs/manual/customize-quick-guide.adoc b/docs/manual/customize-quick-guide.adoc new file mode 100644 index 00000000000..315027c5901 --- /dev/null +++ b/docs/manual/customize-quick-guide.adoc @@ -0,0 +1,66 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Quick guide to storing your project-specific customizations + +Earlier in this chapter, the different methods for making +project-specific customizations have been described. This section will +now summarize all this by providing step-by-step instructions to storing your +project-specific customizations. Clearly, the steps that are not relevant to +your project can be skipped. + +. +make menuconfig+ to configure toolchain, packages and kernel. +. +make linux-menuconfig+ to update the kernel config, similar for + other configuration like busybox, uclibc, ... +. +mkdir -p board//+ +. Set the following options to +board///.config+ + (as far as they are relevant): + * +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+ + * +BR2_PACKAGE_BUSYBOX_CONFIG+ + * +BR2_UCLIBC_CONFIG+ + * +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+ + * +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+ + * +BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE+ +. Write the configuration files: + * +make linux-update-defconfig+ + * +make busybox-update-config+ + * +make uclibc-update-config+ + * +cp /build/at91bootstrap3-*/.config + board///at91bootstrap3.config+ + * +make barebox-update-defconfig+ + * +make uboot-update-defconfig+ +. Create +board///rootfs-overlay/+ and fill it + with additional files you need on your rootfs, e.g. + +board///rootfs-overlay/etc/inittab+. + Set +BR2_ROOTFS_OVERLAY+ + to +board///rootfs-overlay+. +. Create a post-build script + +board///post_build.sh+. Set + +BR2_ROOTFS_POST_BUILD_SCRIPT+ to + +board///post_build.sh+ +. If additional setuid permissions have to be set or device nodes have + to be created, create +board///device_table.txt+ + and add that path to +BR2_ROOTFS_DEVICE_TABLE+. +. If additional user accounts have to be created, create + +board///users_table.txt+ and add that path + to +BR2_ROOTFS_USERS_TABLES+. +. To add custom patches to certain packages, set +BR2_GLOBAL_PATCH_DIR+ + to +board///patches/+ and add your patches + for each package in a subdirectory named after the package. Each + patch should be called +--.patch+. +. Specifically for the Linux kernel, there also exists the option + +BR2_LINUX_KERNEL_PATCH+ with as main advantage that it can also + download patches from a URL. If you do not need this, + +BR2_GLOBAL_PATCH_DIR+ is preferred. U-Boot, Barebox, at91bootstrap + and at91bootstrap3 also have separate options, but these do not + provide any advantage over +BR2_GLOBAL_PATCH_DIR+ and will likely be + removed in the future. +. If you need to add project-specific packages, create + +package//+ and place your packages in that + directory. Create an overall +.mk+ file that + includes the +.mk+ files of all your packages. Create an overall + +Config.in+ file that sources the +Config.in+ files of all your + packages. Include this +Config.in+ file from Buildroot's + +package/Config.in+ file. +. +make savedefconfig+ to save the buildroot configuration. +. +cp defconfig configs/_defconfig+ diff --git a/docs/manual/customize-quick-guide.txt b/docs/manual/customize-quick-guide.txt deleted file mode 100644 index 627ecbacb1e..00000000000 --- a/docs/manual/customize-quick-guide.txt +++ /dev/null @@ -1,66 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Quick guide to storing your project-specific customizations - -Earlier in this chapter, the different methods for making -project-specific customizations have been described. This section will -now summarize all this by providing step-by-step instructions to storing your -project-specific customizations. Clearly, the steps that are not relevant to -your project can be skipped. - -1. +make menuconfig+ to configure toolchain, packages and kernel. -1. +make linux-menuconfig+ to update the kernel config, similar for - other configuration like busybox, uclibc, ... -1. +mkdir -p board//+ -1. Set the following options to +board///.config+ - (as far as they are relevant): - * +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+ - * +BR2_PACKAGE_BUSYBOX_CONFIG+ - * +BR2_UCLIBC_CONFIG+ - * +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+ - * +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+ - * +BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE+ -1. Write the configuration files: - * +make linux-update-defconfig+ - * +make busybox-update-config+ - * +make uclibc-update-config+ - * +cp /build/at91bootstrap3-*/.config - board///at91bootstrap3.config+ - * +make barebox-update-defconfig+ - * +make uboot-update-defconfig+ -1. Create +board///rootfs-overlay/+ and fill it - with additional files you need on your rootfs, e.g. - +board///rootfs-overlay/etc/inittab+. - Set +BR2_ROOTFS_OVERLAY+ - to +board///rootfs-overlay+. -1. Create a post-build script - +board///post_build.sh+. Set - +BR2_ROOTFS_POST_BUILD_SCRIPT+ to - +board///post_build.sh+ -1. If additional setuid permissions have to be set or device nodes have - to be created, create +board///device_table.txt+ - and add that path to +BR2_ROOTFS_DEVICE_TABLE+. -1. If additional user accounts have to be created, create - +board///users_table.txt+ and add that path - to +BR2_ROOTFS_USERS_TABLES+. -1. To add custom patches to certain packages, set +BR2_GLOBAL_PATCH_DIR+ - to +board///patches/+ and add your patches - for each package in a subdirectory named after the package. Each - patch should be called +--.patch+. -1. Specifically for the Linux kernel, there also exists the option - +BR2_LINUX_KERNEL_PATCH+ with as main advantage that it can also - download patches from a URL. If you do not need this, - +BR2_GLOBAL_PATCH_DIR+ is preferred. U-Boot, Barebox, at91bootstrap - and at91bootstrap3 also have separate options, but these do not - provide any advantage over +BR2_GLOBAL_PATCH_DIR+ and will likely be - removed in the future. -1. If you need to add project-specific packages, create - +package//+ and place your packages in that - directory. Create an overall +.mk+ file that - includes the +.mk+ files of all your packages. Create an overall - +Config.in+ file that sources the +Config.in+ files of all your - packages. Include this +Config.in+ file from Buildroot's - +package/Config.in+ file. -1. +make savedefconfig+ to save the buildroot configuration. -1. +cp defconfig configs/_defconfig+ diff --git a/docs/manual/customize-rootfs.adoc b/docs/manual/customize-rootfs.adoc new file mode 100644 index 00000000000..4d03d046172 --- /dev/null +++ b/docs/manual/customize-rootfs.adoc @@ -0,0 +1,168 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[rootfs-custom]] +=== Customizing the generated target filesystem + +Besides changing the configuration through +make *config+, +there are a few other ways to customize the resulting target filesystem. + +The two recommended methods, which can co-exist, are root filesystem +overlay(s) and post build script(s). + +Root filesystem overlays (+BR2_ROOTFS_OVERLAY+):: ++ +A filesystem overlay is a tree of files that is copied directly + over the target filesystem after it has been built. To enable this + feature, set config option +BR2_ROOTFS_OVERLAY+ (in the +System + configuration+ menu) to the root of the overlay. You can even specify + multiple overlays, space-separated. If you specify a relative path, + it will be relative to the root of the Buildroot tree. Hidden + directories of version control systems, like +.git+, +.svn+, +.hg+, + etc., files called +.empty+ and files ending in +~+ are excluded from + the copy. ++ +When +BR2_ROOTFS_MERGED_USR+ is enabled, then the overlay must not + contain the '/bin', '/lib' or '/sbin' directories, as Buildroot will + create them as symbolic links to the relevant folders in '/usr'. In + such a situation, should the overlay have any programs or libraries, + they should be placed in '/usr/bin', '/usr/sbin' and '/usr/lib'. ++ +Additionally, when +BR2_ROOTFS_MERGED_BIN+ is enabled, then the overlay + must not contain the '/usr/sbin' directory, as Buildroot will create + it as a symbolic link to '/usr/bin'. In such a situation, should the + overlay have any programs, they should be placed in '/usr/bin'. ++ +As shown in xref:customize-dir-structure[], the recommended path for + this overlay is +board///rootfs-overlay+. + +Post-build scripts (+BR2_ROOTFS_POST_BUILD_SCRIPT+):: ++ +Post-build scripts are shell scripts called 'after' Buildroot builds + all the selected software, but 'before' the rootfs images are + assembled. To enable this feature, specify a space-separated list of + post-build scripts in config option +BR2_ROOTFS_POST_BUILD_SCRIPT+ (in + the +System configuration+ menu). If you specify a relative path, it + will be relative to the root of the Buildroot tree. ++ +Using post-build scripts, you can remove or modify any file in your + target filesystem. You should, however, use this feature with care. + Whenever you find that a certain package generates wrong or unneeded + files, you should fix that package rather than work around it with some + post-build cleanup scripts. ++ +As shown in xref:customize-dir-structure[], the recommended path for + this script is +board///post_build.sh+. ++ +The post-build scripts are run with the main Buildroot tree as current + working directory. The path to the target filesystem is passed as the + first argument to each script. If the config option + +BR2_ROOTFS_POST_SCRIPT_ARGS+ is not empty, these arguments will be + passed to the script too. All the scripts will be passed the exact + same set of arguments, it is not possible to pass different sets of + arguments to each script. + + Note that the arguments from +BR2_ROOTFS_POST_SCRIPT_ARGS+ will also be + passed to post-image and post-fakeroot scripts. If you want to use + arguments that are only used for the post-build scripts you can use + +BR2_ROOTFS_POST_BUILD_SCRIPT_ARGS+. + ++ +In addition, you may also use these environment variables: + + - +BR2_CONFIG+: the path to the Buildroot .config file + - +CONFIG_DIR+: the directory containing the .config file, and + therefore the top-level Buildroot Makefile to use (which is + correct for both in-tree and out-of-tree builds) + - +HOST_DIR+, +STAGING_DIR+, +TARGET_DIR+: see + xref:generic-package-reference[] + - +BUILD_DIR+: the directory where packages are extracted and built + - +BINARIES_DIR+: the place where all binary files (aka images) are + stored + - +BASE_DIR+: the base output directory + - +PARALLEL_JOBS+: the number of jobs to use when running parallel processes. + +Below three more methods of customizing the target filesystem are +described, but they are not recommended. + +Direct modification of the target filesystem:: ++ +For temporary modifications, you can modify the target filesystem + directly and rebuild the image. The target filesystem is available + under +output/target/+. After making your changes, run +make+ to + rebuild the target filesystem image. ++ +This method allows you to do anything to the target filesystem, but if + you need to clean your Buildroot tree using +make clean+, these + changes will be lost. Such cleaning is necessary in several cases, + refer to xref:full-rebuild[] for details. This solution is therefore + only useful for quick tests: _changes do not survive the +make clean+ + command_. Once you have validated your changes, you should make sure + that they will persist after a +make clean+, using a root filesystem + overlay or a post-build script. + +Custom target skeleton (+BR2_ROOTFS_SKELETON_CUSTOM+):: ++ +The root filesystem image is created from a target skeleton, on top of + which all packages install their files. The skeleton is copied to the + target directory +output/target+ before any package is built and + installed. The default target skeleton provides the standard Unix + filesystem layout and some basic init scripts and configuration files. ++ +If the default skeleton (available under +system/skeleton+) does not + match your needs, you would typically use a root filesystem overlay or + post-build script to adapt it. However, if the default skeleton is + entirely different than what you need, using a custom skeleton may be + more suitable. ++ +To enable this feature, enable config option + +BR2_ROOTFS_SKELETON_CUSTOM+ and set +BR2_ROOTFS_SKELETON_CUSTOM_PATH+ + to the path of your custom skeleton. Both options are available in the + +System configuration+ menu. If you specify a relative path, it will + be relative to the root of the Buildroot tree. ++ +Custom skeletons don't need to contain the '/bin', '/lib' or '/sbin' + directories, since they are created automatically during the build. + When +BR2_ROOTFS_MERGED_USR+ is enabled, then the custom skeleton must + not contain the '/bin', '/lib' or '/sbin' directories, as Buildroot + will create them as symbolic links to the relevant folders in '/usr'. + In such a situation, should the skeleton have any programs or + libraries, they should be placed in '/usr/bin', '/usr/sbin' and + '/usr/lib'. ++ +This method is not recommended because it duplicates the entire + skeleton, which prevents taking advantage of the fixes or improvements + brought to the default skeleton in later Buildroot releases. + +Post-fakeroot scripts (+BR2_ROOTFS_POST_FAKEROOT_SCRIPT+):: ++ +When aggregating the final images, some parts of the process requires + root rights: creating device nodes in `/dev`, setting permissions or + ownership to files and directories... To avoid requiring actual root + rights, Buildroot uses +fakeroot+ to simulate root rights. This is not + a complete substitute for actually being root, but is enough for what + Buildroot needs. ++ +Post-fakeroot scripts are shell scripts that are called at the 'end' of + the fakeroot phase, 'right before' the filesystem image generator is + called. As such, they are called in the fakeroot context. ++ +Post-fakeroot scripts can be useful in case you need to tweak the + filesystem to do modifications that are usually only available to the + root user. ++ +.Note: +It is recommended to use the existing mechanisms to set file permissions + or create entries in `/dev` (see xref:customize-device-permission[]) or + to create users (see xref:customize-users[]) ++ +.Note: +The difference between post-build scripts (above) and fakeroot scripts, + is that post-build scripts are not called in the fakeroot context. ++ +.Note: +Using `fakeroot` is not an absolute substitute for actually being root. + `fakeroot` only ever fakes the file access rights and types (regular, + block-or-char device...) and uid/gid; these are emulated in-memory. + +include::customize-device-permission-tables.adoc[] diff --git a/docs/manual/customize-rootfs.txt b/docs/manual/customize-rootfs.txt deleted file mode 100644 index 44fc4606703..00000000000 --- a/docs/manual/customize-rootfs.txt +++ /dev/null @@ -1,138 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[rootfs-custom]] -=== Customizing the generated target filesystem - -Besides changing the configuration through +make *config+, -there are a few other ways to customize the resulting target filesystem. - -The two recommended methods, which can co-exist, are root filesystem -overlay(s) and post build script(s). - -Root filesystem overlays (+BR2_ROOTFS_OVERLAY+):: -+ -A filesystem overlay is a tree of files that is copied directly - over the target filesystem after it has been built. To enable this - feature, set config option +BR2_ROOTFS_OVERLAY+ (in the +System - configuration+ menu) to the root of the overlay. You can even specify - multiple overlays, space-separated. If you specify a relative path, - it will be relative to the root of the Buildroot tree. Hidden - directories of version control systems, like +.git+, +.svn+, +.hg+, - etc., files called +.empty+ and files ending in +~+ are excluded from - the copy. -+ -As shown in xref:customize-dir-structure[], the recommended path for - this overlay is +board///rootfs-overlay+. - -Post-build scripts (+BR2_ROOTFS_POST_BUILD_SCRIPT+):: -+ -Post-build scripts are shell scripts called 'after' Buildroot builds - all the selected software, but 'before' the rootfs images are - assembled. To enable this feature, specify a space-separated list of - post-build scripts in config option +BR2_ROOTFS_POST_BUILD_SCRIPT+ (in - the +System configuration+ menu). If you specify a relative path, it - will be relative to the root of the Buildroot tree. -+ -Using post-build scripts, you can remove or modify any file in your - target filesystem. You should, however, use this feature with care. - Whenever you find that a certain package generates wrong or unneeded - files, you should fix that package rather than work around it with some - post-build cleanup scripts. -+ -As shown in xref:customize-dir-structure[], the recommended path for - this script is +board///post_build.sh+. -+ -The post-build scripts are run with the main Buildroot tree as current - working directory. The path to the target filesystem is passed as the - first argument to each script. If the config option - +BR2_ROOTFS_POST_SCRIPT_ARGS+ is not empty, these arguments will be - passed to the script too. All the scripts will be passed the exact - same set of arguments, it is not possible to pass different sets of - arguments to each script. -+ -In addition, you may also use these environment variables: - - - +BR2_CONFIG+: the path to the Buildroot .config file - - +HOST_DIR+, +STAGING_DIR+, +TARGET_DIR+: see - xref:generic-package-reference[] - - +BUILD_DIR+: the directory where packages are extracted and built - - +BINARIES_DIR+: the place where all binary files (aka images) are - stored - - +BASE_DIR+: the base output directory - -Below three more methods of customizing the target filesystem are -described, but they are not recommended. - -Direct modification of the target filesystem:: -+ -For temporary modifications, you can modify the target filesystem - directly and rebuild the image. The target filesystem is available - under +output/target/+. After making your changes, run +make+ to - rebuild the target filesystem image. -+ -This method allows you to do anything to the target filesystem, but if - you need to clean your Buildroot tree using +make clean+, these - changes will be lost. Such cleaning is necessary in several cases, - refer to xref:full-rebuild[] for details. This solution is therefore - only useful for quick tests: _changes do not survive the +make clean+ - command_. Once you have validated your changes, you should make sure - that they will persist after a +make clean+, using a root filesystem - overlay or a post-build script. - -Custom target skeleton (+BR2_ROOTFS_SKELETON_CUSTOM+):: -+ -The root filesystem image is created from a target skeleton, on top of - which all packages install their files. The skeleton is copied to the - target directory +output/target+ before any package is built and - installed. The default target skeleton provides the standard Unix - filesystem layout and some basic init scripts and configuration files. -+ -If the default skeleton (available under +system/skeleton+) does not - match your needs, you would typically use a root filesystem overlay or - post-build script to adapt it. However, if the default skeleton is - entirely different than what you need, using a custom skeleton may be - more suitable. -+ -To enable this feature, enable config option - +BR2_ROOTFS_SKELETON_CUSTOM+ and set +BR2_ROOTFS_SKELETON_CUSTOM_PATH+ - to the path of your custom skeleton. Both options are available in the - +System configuration+ menu. If you specify a relative path, it will - be relative to the root of the Buildroot tree. -+ -This method is not recommended because it duplicates the entire - skeleton, which prevents taking advantage of the fixes or improvements - brought to the default skeleton in later Buildroot releases. - -Post-fakeroot scripts (+BR2_ROOTFS_POST_FAKEROOT_SCRIPT+):: -+ -When aggregating the final images, some parts of the process requires - root rights: creating device nodes in `/dev`, setting permissions or - ownership to files and directories... To avoid requiring actual root - rights, Buildroot uses +fakeroot+ to simulate root rights. This is not - a complete substitute for actually being root, but is enough for what - Buildroot needs. -+ -Post-fakeroot scripts are shell scripts that are called at the 'end' of - the fakeroot phase, 'right before' the filesystem image generator is - called. As such, they are called in the fakeroot context. -+ -Post-fakeroot scripts can be useful in case you need to tweak the - filesystem to do modifications that are usually only available to the - root user. -+ -.Note: -It is recommended to use the existing mechanisms to set file permissions - or create entries in `/dev` (see xref:customize-device-permission[]) or - to create users (see xref:customize-users[]) -+ -.Note: -The difference between post-build scripts (above) and fakeroot scripts, - is that post-build scripts are not called in the fakeroot context. -+ -.Note; -Using `fakeroot` is not an absolute substitute for actually being root. - `fakeroot` only ever fakes the file access rights and types (regular, - block-or-char device...) and uid/gid; these are emulated in-memory. - -include::customize-device-permission-tables.txt[] diff --git a/docs/manual/customize-users-tables.txt b/docs/manual/customize-users-tables.adoc similarity index 100% rename from docs/manual/customize-users-tables.txt rename to docs/manual/customize-users-tables.adoc diff --git a/docs/manual/customize.adoc b/docs/manual/customize.adoc new file mode 100644 index 00000000000..23fad7ba114 --- /dev/null +++ b/docs/manual/customize.adoc @@ -0,0 +1,60 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[customize]] +== Project-specific customization + +Typical actions you may need to perform for a given project are: + +* configuring Buildroot (including build options and toolchain, + bootloader, kernel, package and filesystem image type selection) +* configuring other components, like the Linux kernel and BusyBox +* customizing the generated target filesystem + ** adding or overwriting files on the target filesystem (using + +BR2_ROOTFS_OVERLAY+) + ** modifying or deleting files on the target filesystem (using + +BR2_ROOTFS_POST_BUILD_SCRIPT+) + ** running arbitrary commands prior to generating the filesystem image + (using +BR2_ROOTFS_POST_BUILD_SCRIPT+) + ** setting file permissions and ownership (using + +BR2_ROOTFS_DEVICE_TABLE+) + ** adding custom devices nodes (using + +BR2_ROOTFS_STATIC_DEVICE_TABLE+) +* adding custom user accounts (using +BR2_ROOTFS_USERS_TABLES+) +* running arbitrary commands after generating the filesystem image + (using +BR2_ROOTFS_POST_IMAGE_SCRIPT+) +* adding project-specific patches to some packages (using + +BR2_GLOBAL_PATCH_DIR+) +* adding project-specific packages + +An important note regarding such 'project-specific' customizations: +please carefully consider which changes are indeed project-specific and +which changes are also useful to developers outside your project. The +Buildroot community highly recommends and encourages the upstreaming of +improvements, packages and board support to the official Buildroot +project. Of course, it is sometimes not possible or desirable to +upstream because the changes are highly specific or proprietary. + +This chapter describes how to make such project-specific customizations +in Buildroot and how to store them in a way that you can build the same +image in a reproducible way, even after running 'make clean'. By +following the recommended strategy, you can even use the same Buildroot +tree to build multiple distinct projects! + +include::customize-directory-structure.adoc[] + +include::customize-outside-br.adoc[] + +include::customize-configuration.adoc[] + +include::customize-rootfs.adoc[] + +include::customize-users-tables.adoc[] + +include::customize-post-image.adoc[] + +include::customize-patches.adoc[] + +include::customize-packages.adoc[] + +include::customize-quick-guide.adoc[] diff --git a/docs/manual/customize.txt b/docs/manual/customize.txt deleted file mode 100644 index 484413e4d8b..00000000000 --- a/docs/manual/customize.txt +++ /dev/null @@ -1,60 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[customize]] -== Project-specific customization - -Typical actions you may need to perform for a given project are: - -* configuring Buildroot (including build options and toolchain, - bootloader, kernel, package and filesystem image type selection) -* configuring other components, like the Linux kernel and BusyBox -* customizing the generated target filesystem - ** adding or overwriting files on the target filesystem (using - +BR2_ROOTFS_OVERLAY+) - ** modifying or deleting files on the target filesystem (using - +BR2_ROOTFS_POST_BUILD_SCRIPT+) - ** running arbitrary commands prior to generating the filesystem image - (using +BR2_ROOTFS_POST_BUILD_SCRIPT+) - ** setting file permissions and ownership (using - +BR2_ROOTFS_DEVICE_TABLE+) - ** adding custom devices nodes (using - +BR2_ROOTFS_STATIC_DEVICE_TABLE+) -* adding custom user accounts (using +BR2_ROOTFS_USERS_TABLES+) -* running arbitrary commands after generating the filesystem image - (using +BR2_ROOTFS_POST_IMAGE_SCRIPT+) -* adding project-specific patches to some packages (using - +BR2_GLOBAL_PATCH_DIR+) -* adding project-specific packages - -An important note regarding such 'project-specific' customizations: -please carefully consider which changes are indeed project-specific and -which changes are also useful to developers outside your project. The -Buildroot community highly recommends and encourages the upstreaming of -improvements, packages and board support to the official Buildroot -project. Of course, it is sometimes not possible or desirable to -upstream because the changes are highly specific or proprietary. - -This chapter describes how to make such project-specific customizations -in Buildroot and how to store them in a way that you can build the same -image in a reproducible way, even after running 'make clean'. By -following the recommended strategy, you can even use the same Buildroot -tree to build multiple distinct projects! - -include::customize-directory-structure.txt[] - -include::customize-outside-br.txt[] - -include::customize-configuration.txt[] - -include::customize-rootfs.txt[] - -include::customize-users-tables.txt[] - -include::customize-post-image.txt[] - -include::customize-patches.txt[] - -include::customize-packages.txt[] - -include::customize-quick-guide.txt[] diff --git a/docs/manual/debugging-buildroot.adoc b/docs/manual/debugging-buildroot.adoc new file mode 100644 index 00000000000..b9068ead527 --- /dev/null +++ b/docs/manual/debugging-buildroot.adoc @@ -0,0 +1,44 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[debugging-buildroot]] + +== Debugging Buildroot + +It is possible to instrument the steps +Buildroot+ does when building +packages. Define the variable +BR2_INSTRUMENTATION_SCRIPTS+ to contain +the path of one or more scripts (or other executables), in a +space-separated list, you want called before and after each step. The +scripts are called in sequence, with three parameters: + + - +start+ or +end+ to denote the start (resp. the end) of a step; + - the name of the step about to be started, or which just ended; + - the name of the package. + +For example : + +---- +make BR2_INSTRUMENTATION_SCRIPTS="/path/to/my/script1 /path/to/my/script2" +---- + +The list of steps is: + + - +extract+ + - +patch+ + - +configure+ + - +build+ + - +install-host+, when a host-package is installed in +$(HOST_DIR)+ + - +install-target+, when a target-package is installed in +$(TARGET_DIR)+ + - +install-staging+, when a target-package is installed in +$(STAGING_DIR)+ + - +install-image+, when a target-package installs files in +$(BINARIES_DIR)+ + +The script has access to the following variables: + + - +BR2_CONFIG+: the path to the Buildroot .config file + - +HOST_DIR+, +STAGING_DIR+, +TARGET_DIR+: see + xref:generic-package-reference[] + - +BUILD_DIR+: the directory where packages are extracted and built + - +BINARIES_DIR+: the place where all binary files (aka images) are + stored + - +BASE_DIR+: the base output directory + - +PARALLEL_JOBS+: the number of jobs to use when running parallel processes. diff --git a/docs/manual/debugging-buildroot.txt b/docs/manual/debugging-buildroot.txt deleted file mode 100644 index f575fc48ee9..00000000000 --- a/docs/manual/debugging-buildroot.txt +++ /dev/null @@ -1,43 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[debugging-buildroot]] - -== Debugging Buildroot - -It is possible to instrument the steps +Buildroot+ does when building -packages. Define the variable +BR2_INSTRUMENTATION_SCRIPTS+ to contain -the path of one or more scripts (or other executables), in a -space-separated list, you want called before and after each step. The -scripts are called in sequence, with three parameters: - - - +start+ or +end+ to denote the start (resp. the end) of a step; - - the name of the step about to be started, or which just ended; - - the name of the package. - -For example : - ----- -make BR2_INSTRUMENTATION_SCRIPTS="/path/to/my/script1 /path/to/my/script2" ----- - -The list of steps is: - - - +extract+ - - +patch+ - - +configure+ - - +build+ - - +install-host+, when a host-package is installed in +$(HOST_DIR)+ - - +install-target+, when a target-package is installed in +$(TARGET_DIR)+ - - +install-staging+, when a target-package is installed in +$(STAGING_DIR)+ - - +install-image+, when a target-package installs files in +$(BINARIES_DIR)+ - -The script has access to the following variables: - - - +BR2_CONFIG+: the path to the Buildroot .config file - - +HOST_DIR+, +STAGING_DIR+, +TARGET_DIR+: see - xref:generic-package-reference[] - - +BUILD_DIR+: the directory where packages are extracted and built - - +BINARIES_DIR+: the place where all binary files (aka images) are - stored - - +BASE_DIR+: the base output directory diff --git a/docs/manual/developers.adoc b/docs/manual/developers.adoc new file mode 100644 index 00000000000..29846b5650d --- /dev/null +++ b/docs/manual/developers.adoc @@ -0,0 +1,50 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[DEVELOPERS]] +== DEVELOPERS file and get-developers + +The main Buildroot directory contains a file named +DEVELOPERS+ that +lists the developers involved with various areas of Buildroot. Thanks +to this file, the +get-developers+ tool allows to: + +- Calculate the list of developers to whom patches should be sent, by + parsing the patches and matching the modified files with the + relevant developers. See xref:submitting-patches[] for details. + +- Find which developers are taking care of a given architecture or + package, so that they can be notified when a build failure occurs on + this architecture or package. This is done in interaction with + Buildroot's autobuild infrastructure. + +We ask developers adding new packages, new boards, or generally new +functionality in Buildroot, to register themselves in the +DEVELOPERS+ +file. As an example, we expect a developer contributing a new package +to include in his patch the appropriate modification to the ++DEVELOPERS+ file. + +The +DEVELOPERS+ file format is documented in detail inside the file +itself. + +The +get-developers+ tool, located in +utils/+ allows to use +the +DEVELOPERS+ file for various tasks: + +- When passing one or several patches as command line argument, + +get-developers+ will return the appropriate +git send-email+ + command. If the +-e+ option is passed, only the email addresses are + printed in a format suitable for +git send-email --cc-cmd+. + +- When using the +-a + command line option, +get-developers+ will + return the list of developers in charge of the given architecture. + +- When using the +-p + command line option, +get-developers+ + will return the list of developers in charge of the given package. + +- When using the +-c+ command line option, +get-developers+ will look + at all files under version control in the Buildroot repository, and + list the ones that are not handled by any developer. The purpose of + this option is to help completing the +DEVELOPERS+ file. + +- When using the +-v+ command line option, it validates the integrity + of the DEVELOPERS file and will note WARNINGS for items that don't + match. diff --git a/docs/manual/developers.txt b/docs/manual/developers.txt deleted file mode 100644 index 4e2cd71638e..00000000000 --- a/docs/manual/developers.txt +++ /dev/null @@ -1,46 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[DEVELOPERS]] -== DEVELOPERS file and get-developers - -The main Buildroot directory contains a file named +DEVELOPERS+ that -lists the developers involved with various areas of Buildroot. Thanks -to this file, the +get-developer+ tool allows to: - -- Calculate the list of developers to whom patches should be sent, by - parsing the patches and matching the modified files with the - relevant developers. See xref:submitting-patches[] for details. - -- Find which developers are taking care of a given architecture or - package, so that they can be notified when a build failure occurs on - this architecture or package. This is done in interaction with - Buildroot's autobuild infrastructure. - -We ask developers adding new packages, new boards, or generally new -functionality in Buildroot, to register themselves in the +DEVELOPERS+ -file. As an example, we expect a developer contributing a new package -to include in his patch the appropriate modification to the -+DEVELOPERS+ file. - -The +DEVELOPERS+ file format is documented in detail inside the file -itself. - -The +get-developer+ tool, located in +utils/+ allows to use -the +DEVELOPERS+ file for various tasks: - -- When passing one or several patches as command line argument, - +get-developer+ will return the appropriate +git send-email+ - command. - -- When using the +-a + command line option, +get-developer+ will - return the list of developers in charge of the given architecture. - -- When using the +-p + command line option, +get-developer+ - will return the list of developers in charge of the given package. - -- When using the +-c+ command line option, +get-developer+ will look - at all files under version control in the Buildroot repository, and - list the ones that are not handled by any developer. The purpose of - this option is to help completing the +DEVELOPERS+ file. - diff --git a/docs/manual/download-infra.txt b/docs/manual/download-infra.adoc similarity index 100% rename from docs/manual/download-infra.txt rename to docs/manual/download-infra.adoc diff --git a/docs/manual/download-location.adoc b/docs/manual/download-location.adoc new file mode 100644 index 00000000000..b2c527ad050 --- /dev/null +++ b/docs/manual/download-location.adoc @@ -0,0 +1,27 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[download-location]] + +==== Location of downloaded packages + +The various tarballs that are downloaded by Buildroot are all stored +in +BR2_DL_DIR+, which by default is the +dl+ directory. If you want +to keep a complete version of Buildroot which is known to be working +with the associated tarballs, you can make a copy of this directory. +This will allow you to regenerate the toolchain and the target +filesystem with exactly the same versions. + +If you maintain several Buildroot trees, it might be better to have a +shared download location. This can be achieved by pointing the ++BR2_DL_DIR+ environment variable to a directory. If this is +set, then the value of +BR2_DL_DIR+ in the Buildroot configuration is +overridden. The following line should be added to +<~/.bashrc>+. + +---- + export BR2_DL_DIR= +---- + +The download location can also be set in the +.config+ file, with the ++BR2_DL_DIR+ option. Unlike most options in the .config file, this value +is overridden by the +BR2_DL_DIR+ environment variable. diff --git a/docs/manual/download-location.txt b/docs/manual/download-location.txt deleted file mode 100644 index d485df94f59..00000000000 --- a/docs/manual/download-location.txt +++ /dev/null @@ -1,27 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[download-location]] - -==== Location of downloaded packages - -The various tarballs that are downloaded by Buildroot are all stored -in +BR2_DL_DIR+, which by default is the +dl+ directory. If you want -to keep a complete version of Buildroot which is known to be working -with the associated tarballs, you can make a copy of this directory. -This will allow you to regenerate the toolchain and the target -filesystem with exactly the same versions. - -If you maintain several Buildroot trees, it might be better to have a -shared download location. This can be achieved by pointing the -+BR2_DL_DIR+ environment variable to a directory. If this is -set, then the value of +BR2_DL_DIR+ in the Buildroot configuration is -overridden. The following line should be added to +<~/.bashrc>+. - ------------------ - export BR2_DL_DIR= ------------------ - -The download location can also be set in the +.config+ file, with the -+BR2_DL_DIR+ option. Unlike most options in the .config file, this value -is overridden by the +BR2_DL_DIR+ environment variable. diff --git a/docs/manual/eclipse-integration.txt b/docs/manual/eclipse-integration.txt deleted file mode 100644 index 1f726d82405..00000000000 --- a/docs/manual/eclipse-integration.txt +++ /dev/null @@ -1,30 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Integration with Eclipse - -While a part of the embedded Linux developers like classical text -editors like Vim or Emacs, and command-line based interfaces, a number -of other embedded Linux developers like richer graphical interfaces to -do their development work. Eclipse being one of the most popular -Integrated Development Environment, Buildroot integrates with Eclipse -in order to ease the development work of Eclipse users. - -Our integration with Eclipse simplifies the compilation, remote -execution and remote debugging of applications and libraries that are -built on top of a Buildroot system. It does not integrate the -Buildroot configuration and build processes themselves with -Eclipse. Therefore, the typical usage model of our Eclipse integration -would be: - -* Configure your Buildroot system with +make menuconfig+, +make - xconfig+ or any other configuration interface provided with - Buildroot. -* Build your Buildroot system by running +make+. -* Start Eclipse to develop, execute and debug your own custom - applications and libraries, that will rely on the libraries built - and installed by Buildroot. - -The Buildroot Eclipse integration installation process and usage is -described in detail at -https://github.com/mbats/eclipse-buildroot-bundle/wiki. diff --git a/docs/manual/faq-troubleshooting.adoc b/docs/manual/faq-troubleshooting.adoc new file mode 100644 index 00000000000..2122a6892ff --- /dev/null +++ b/docs/manual/faq-troubleshooting.adoc @@ -0,0 +1,273 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== Frequently Asked Questions & Troubleshooting + +[[faq-boot-hang-after-starting]] +=== The boot hangs after 'Starting network...' + +If the boot process seems to hang after the following messages +(messages not necessarily exactly similar, depending on the list of +packages selected): + +---- +Freeing init memory: 3972K +Initializing random number generator... done. +Starting network... +Starting dropbear sshd: generating rsa key... generating dsa key... OK +---- + +then it means that your system is running, but didn't start a shell on +the serial console. In order to have the system start a shell on your +serial console, you have to go into the Buildroot configuration, in ++System configuration+, modify +Run a getty (login prompt) after boot+ +and set the appropriate port and baud rate in the +getty options+ +submenu. This will automatically tune the +/etc/inittab+ file of the +generated system so that a shell starts on the correct serial port. + +[[faq-no-compiler-on-target]] +=== Why is there no compiler on the target? + +It has been decided that support for the _native compiler on the +target_ would be stopped from the Buildroot-2012.11 release because: + +* this feature was neither maintained nor tested, and often broken; +* this feature was only available for Buildroot toolchains; +* Buildroot mostly targets _small_ or _very small_ target hardware + with limited resource onboard (CPU, ram, mass-storage), for which + compiling on the target does not make much sense; +* Buildroot aims at easing the cross-compilation, making native + compilation on the target unnecessary. + +If you need a compiler on your target anyway, then Buildroot is not +suitable for your purpose. In such case, you need a _real +distribution_ and you should opt for something like: + +* http://www.openembedded.org[openembedded] +* https://www.yoctoproject.org[yocto] +* https://www.debian.org/ports/[Debian] +* https://fedoraproject.org/wiki/Architectures[Fedora] +* http://en.opensuse.org/Portal:ARM[openSUSE ARM] +* http://archlinuxarm.org[Arch Linux ARM] +* ... + +[[faq-no-dev-files-on-target]] +=== Why are there no development files on the target? + +Since there is no compiler available on the target (see +xref:faq-no-compiler-on-target[]), it does not make sense to waste +space with headers or static libraries. + +Therefore, those files are always removed from the target since the +Buildroot-2012.11 release. + +[[faq-no-doc-on-target]] +=== Why is there no documentation on the target? + +Because Buildroot mostly targets _small_ or _very small_ target +hardware with limited resource onboard (CPU, ram, mass-storage), it +does not make sense to waste space with the documentation data. + +If you need documentation data on your target anyway, then Buildroot +is not suitable for your purpose, and you should look for a _real +distribution_ (see: xref:faq-no-compiler-on-target[]). + +[[faq-why-not-visible-package]] +=== Why are some packages not visible in the Buildroot config menu? + +If a package exists in the Buildroot tree and does not appear in the +config menu, this most likely means that some of the package's +dependencies are not met. + +To know more about the dependencies of a package, search for the +package symbol in the config menu (see xref:make-tips[]). + +Then, you may have to recursively enable several options (which +correspond to the unmet dependencies) to finally be able to select +the package. + +If the package is not visible due to some unmet toolchain options, +then you should certainly run a full rebuild (see xref:make-tips[] for +more explanations). + +[[faq-why-not-use-target-as-chroot]] +=== Why not use the target directory as a chroot directory? + +There are plenty of reasons to *not* use the target directory a chroot +one, among these: + +* file ownerships, modes and permissions are not correctly set in the + target directory; +* device nodes are not created in the target directory. + +For these reasons, commands run through chroot, using the target +directory as the new root, will most likely fail. + +If you want to run the target filesystem inside a chroot, or as an NFS +root, then use the tarball image generated in +images/+ and extract it +as root. + +[[faq-no-binary-packages]] +=== Why doesn't Buildroot generate binary packages (.deb, .ipkg...)? + +One feature that is often discussed on the Buildroot list is the +general topic of "package management". To summarize, the idea +would be to add some tracking of which Buildroot package installs +what files, with the goals of: + + * being able to remove files installed by a package when this package + gets unselected from the menuconfig; + + * being able to generate binary packages (ipk or other format) that + can be installed on the target without re-generating a new root + filesystem image. + +In general, most people think it is easy to do: just track which package +installed what and remove it when the package is unselected. However, it +is much more complicated than that: + + * It is not only about the +target/+ directory, but also the sysroot in + +host//sysroot+ and the +host/+ directory itself. All files + installed in those directories by various packages must be tracked. + + * When a package is unselected from the configuration, it is not + sufficient to remove just the files it installed. One must also + remove all its reverse dependencies (i.e. packages relying on it) + and rebuild all those packages. For example, package A depends + optionally on the OpenSSL library. Both are selected, and Buildroot + is built. Package A is built with crypto support using OpenSSL. + Later on, OpenSSL gets unselected from the configuration, but + package A remains (since OpenSSL is an optional dependency, this + is possible.) If only OpenSSL files are removed, then the files + installed by package A are broken: they use a library that is no + longer present on the target. Although this is technically doable, + it adds a lot of complexity to Buildroot, which goes against the + simplicity we try to stick to. + + * In addition to the previous problem, there is the case where the + optional dependency is not even known to Buildroot. For example, + package A in version 1.0 never used OpenSSL, but in version 2.0 it + automatically uses OpenSSL if available. If the Buildroot .mk file + hasn't been updated to take this into account, then package A will + not be part of the reverse dependencies of OpenSSL and will not be + removed and rebuilt when OpenSSL is removed. For sure, the .mk file + of package A should be fixed to mention this optional dependency, + but in the mean time, you can have non-reproducible behaviors. + + * The request is to also allow changes in the menuconfig to be + applied on the output directory without having to rebuild + everything from scratch. However, this is very difficult to achieve + in a reliable way: what happens when the suboptions of a package + are changed (we would have to detect this, and rebuild the package + from scratch and potentially all its reverse dependencies), what + happens if toolchain options are changed, etc. At the moment, what + Buildroot does is clear and simple so its behaviour is very + reliable and it is easy to support users. If configuration changes + done in menuconfig are applied after the next make, then it has to + work correctly and properly in all situations, and not have some + bizarre corner cases. The risk is to get bug reports like "I have + enabled package A, B and C, then ran make, then disabled package + C and enabled package D and ran make, then re-enabled package C + and enabled package E and then there is a build failure". Or worse + "I did some configuration, then built, then did some changes, + built, some more changes, built, some more changes, built, and now + it fails, but I don't remember all the changes I did and in which + order". This will be impossible to support. + +For all these reasons, the conclusion is that adding tracking of +installed files to remove them when the package is unselected, or to +generate a repository of binary packages, is something that is very +hard to achieve reliably and will add a lot of complexity. + +On this matter, the Buildroot developers make this position statement: + + * Buildroot strives to make it easy to generate a root filesystem (hence + the name, by the way.) That is what we want to make Buildroot good at: + building root filesystems. + + * Buildroot is not meant to be a distribution (or rather, a distribution + generator.) It is the opinion of most Buildroot developers that this + is not a goal we should pursue. We believe that there are other tools + better suited to generate a distro than Buildroot is. For example, + http://openembedded.org/[Open Embedded], or https://openwrt.org/[openWRT], + are such tools. + + * We prefer to push Buildroot in a direction that makes it easy (or even + easier) to generate complete root filesystems. This is what makes + Buildroot stands out in the crowd (among other things, of course!) + + * We believe that for most embedded Linux systems, binary packages are + not necessary, and potentially harmful. When binary packages are + used, it means that the system can be partially upgraded, which + creates an enormous number of possible combinations of package + versions that should be tested before doing the upgrade on the + embedded device. On the other hand, by doing complete system + upgrades by upgrading the entire root filesystem image at once, + the image deployed to the embedded system is guaranteed to really + be the one that has been tested and validated. + +[[faq-speeding-up-build]] +=== How to speed-up the build process? + +Since Buildroot often involves doing full rebuilds of the entire +system that can be quite long, we provide below a number of tips to +help reduce the build time: + + * Use a pre-built external toolchain instead of the default Buildroot + internal toolchain. By using a pre-built Linaro toolchain (on ARM) + or a Sourcery CodeBench toolchain (for ARM, x86, x86-64, MIPS, + etc.), you will save the build time of the toolchain at each + complete rebuild, approximately 15 to 20 minutes. Note that + temporarily using an external toolchain does not prevent you to + switch back to an internal toolchain (that may provide a higher + level of customization) once the rest of your system is working; + + * Use the +ccache+ compiler cache (see: xref:ccache[]); + + * Learn about rebuilding only the few packages you actually care + about (see xref:rebuild-pkg[]), but beware that sometimes full + rebuilds are anyway necessary (see xref:full-rebuild[]); + + * Make sure you are not using a virtual machine for the Linux system + used to run Buildroot. Most of the virtual machine technologies are + known to cause a significant performance impact on I/O, which is + really important for building source code; + + * Make sure that you're using only local files: do not attempt to do + a build over NFS, which significantly slows down the build. Having + the Buildroot download folder available locally also helps a bit. + + * Buy new hardware. SSDs and lots of RAM are key to speeding up the + builds. + + * Experiment with top-level parallel build, see + xref:top-level-parallel-build[]. + +[[faq-2038]] +=== How does Buildroot support Y2038? + +There are multiple situations to consider: + + * On 64-bit architectures, there is no problem, as +time_t+ has + always been 64-bit. + + * On 32-bit architectures, the situation depends on the C library: + + ** With _uclibc-ng_, there is support for 64-bit +time_t+ on 32-bit + architectures since version 1.0.46, so systems using _uclibc-ng_ + on 32-bit platforms will be Y2038 compatible when + UCLIBC_USE_TIME64 is y. This is the default since 1.0.49. + + ** With _musl_, 64-bit +time_t+ has always been used on 32-bit + architectures, so systems using _musl_ on 32-bit platforms are + Y2038 compatible. + + ** With _glibc_, 64-bit +time_t+ on 32-bit architectures is enabled + by the Buildroot option +BR2_TIME_BITS_64+. With this option + enabled, systems using _glibc_ on 32-bit platforms are Y2038 + compatible. + +Note that the above only comments about the capabilities of the C +library. Individual user-space libraries or applications, even when +built in a Y2038-compatible setup, can exhibit incorrect behavior if +they do not make correct use of the time APIs and types. diff --git a/docs/manual/faq-troubleshooting.txt b/docs/manual/faq-troubleshooting.txt deleted file mode 100644 index b144c9e7f0a..00000000000 --- a/docs/manual/faq-troubleshooting.txt +++ /dev/null @@ -1,241 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -== Frequently Asked Questions & Troubleshooting - -[[faq-boot-hang-after-starting]] -=== The boot hangs after 'Starting network...' - -If the boot process seems to hang after the following messages -(messages not necessarily exactly similar, depending on the list of -packages selected): - ------------------------- -Freeing init memory: 3972K -Initializing random number generator... done. -Starting network... -Starting dropbear sshd: generating rsa key... generating dsa key... OK ------------------------- - -then it means that your system is running, but didn't start a shell on -the serial console. In order to have the system start a shell on your -serial console, you have to go into the Buildroot configuration, in -+System configuration+, modify +Run a getty (login prompt) after boot+ -and set the appropriate port and baud rate in the +getty options+ -submenu. This will automatically tune the +/etc/inittab+ file of the -generated system so that a shell starts on the correct serial port. - -[[faq-no-compiler-on-target]] -=== Why is there no compiler on the target? - -It has been decided that support for the _native compiler on the -target_ would be stopped from the Buildroot-2012.11 release because: - -* this feature was neither maintained nor tested, and often broken; -* this feature was only available for Buildroot toolchains; -* Buildroot mostly targets _small_ or _very small_ target hardware - with limited resource onboard (CPU, ram, mass-storage), for which - compiling on the target does not make much sense; -* Buildroot aims at easing the cross-compilation, making native - compilation on the target unnecessary. - -If you need a compiler on your target anyway, then Buildroot is not -suitable for your purpose. In such case, you need a _real -distribution_ and you should opt for something like: - -* http://www.openembedded.org[openembedded] -* https://www.yoctoproject.org[yocto] -* http://www.emdebian.org[emdebian] -* https://fedoraproject.org/wiki/Architectures[Fedora] -* http://en.opensuse.org/Portal:ARM[openSUSE ARM] -* http://archlinuxarm.org[Arch Linux ARM] -* ... - -[[faq-no-dev-files-on-target]] -=== Why are there no development files on the target? - -Since there is no compiler available on the target (see -xref:faq-no-compiler-on-target[]), it does not make sense to waste -space with headers or static libraries. - -Therefore, those files are always removed from the target since the -Buildroot-2012.11 release. - -[[faq-no-doc-on-target]] -=== Why is there no documentation on the target? - -Because Buildroot mostly targets _small_ or _very small_ target -hardware with limited resource onboard (CPU, ram, mass-storage), it -does not make sense to waste space with the documentation data. - -If you need documentation data on your target anyway, then Buildroot -is not suitable for your purpose, and you should look for a _real -distribution_ (see: xref:faq-no-compiler-on-target[]). - -[[faq-why-not-visible-package]] -=== Why are some packages not visible in the Buildroot config menu? - -If a package exists in the Buildroot tree and does not appear in the -config menu, this most likely means that some of the package's -dependencies are not met. - -To know more about the dependencies of a package, search for the -package symbol in the config menu (see xref:make-tips[]). - -Then, you may have to recursively enable several options (which -correspond to the unmet dependencies) to finally be able to select -the package. - -If the package is not visible due to some unmet toolchain options, -then you should certainly run a full rebuild (see xref:make-tips[] for -more explanations). - -[[faq-why-not-use-target-as-chroot]] -=== Why not use the target directory as a chroot directory? - -There are plenty of reasons to *not* use the target directory a chroot -one, among these: - -* file ownerships, modes and permissions are not correctly set in the - target directory; -* device nodes are not created in the target directory. - -For these reasons, commands run through chroot, using the target -directory as the new root, will most likely fail. - -If you want to run the target filesystem inside a chroot, or as an NFS -root, then use the tarball image generated in +images/+ and extract it -as root. - -[[faq-no-binary-packages]] -=== Why doesn't Buildroot generate binary packages (.deb, .ipkg...)? - -One feature that is often discussed on the Buildroot list is the -general topic of "package management". To summarize, the idea -would be to add some tracking of which Buildroot package installs -what files, with the goals of: - - * being able to remove files installed by a package when this package - gets unselected from the menuconfig; - - * being able to generate binary packages (ipk or other format) that - can be installed on the target without re-generating a new root - filesystem image. - -In general, most people think it is easy to do: just track which package -installed what and remove it when the package is unselected. However, it -is much more complicated than that: - - * It is not only about the +target/+ directory, but also the sysroot in - +host//sysroot+ and the +host/+ directory itself. All files - installed in those directories by various packages must be tracked. - - * When a package is unselected from the configuration, it is not - sufficient to remove just the files it installed. One must also - remove all its reverse dependencies (i.e. packages relying on it) - and rebuild all those packages. For example, package A depends - optionally on the OpenSSL library. Both are selected, and Buildroot - is built. Package A is built with crypto support using OpenSSL. - Later on, OpenSSL gets unselected from the configuration, but - package A remains (since OpenSSL is an optional dependency, this - is possible.) If only OpenSSL files are removed, then the files - installed by package A are broken: they use a library that is no - longer present on the target. Although this is technically doable, - it adds a lot of complexity to Buildroot, which goes against the - simplicity we try to stick to. - - * In addition to the previous problem, there is the case where the - optional dependency is not even known to Buildroot. For example, - package A in version 1.0 never used OpenSSL, but in version 2.0 it - automatically uses OpenSSL if available. If the Buildroot .mk file - hasn't been updated to take this into account, then package A will - not be part of the reverse dependencies of OpenSSL and will not be - removed and rebuilt when OpenSSL is removed. For sure, the .mk file - of package A should be fixed to mention this optional dependency, - but in the mean time, you can have non-reproducible behaviors. - - * The request is to also allow changes in the menuconfig to be - applied on the output directory without having to rebuild - everything from scratch. However, this is very difficult to achieve - in a reliable way: what happens when the suboptions of a package - are changed (we would have to detect this, and rebuild the package - from scratch and potentially all its reverse dependencies), what - happens if toolchain options are changed, etc. At the moment, what - Buildroot does is clear and simple so its behaviour is very - reliable and it is easy to support users. If configuration changes - done in menuconfig are applied after the next make, then it has to - work correctly and properly in all situations, and not have some - bizarre corner cases. The risk is to get bug reports like "I have - enabled package A, B and C, then ran make, then disabled package - C and enabled package D and ran make, then re-enabled package C - and enabled package E and then there is a build failure". Or worse - "I did some configuration, then built, then did some changes, - built, some more changes, built, some more changes, built, and now - it fails, but I don't remember all the changes I did and in which - order". This will be impossible to support. - -For all these reasons, the conclusion is that adding tracking of -installed files to remove them when the package is unselected, or to -generate a repository of binary packages, is something that is very -hard to achieve reliably and will add a lot of complexity. - -On this matter, the Buildroot developers make this position statement: - - * Buildroot strives to make it easy to generate a root filesystem (hence - the name, by the way.) That is what we want to make Buildroot good at: - building root filesystems. - - * Buildroot is not meant to be a distribution (or rather, a distribution - generator.) It is the opinion of most Buildroot developers that this - is not a goal we should pursue. We believe that there are other tools - better suited to generate a distro than Buildroot is. For example, - http://openembedded.org/[Open Embedded], or https://openwrt.org/[openWRT], - are such tools. - - * We prefer to push Buildroot in a direction that makes it easy (or even - easier) to generate complete root filesystems. This is what makes - Buildroot stands out in the crowd (among other things, of course!) - - * We believe that for most embedded Linux systems, binary packages are - not necessary, and potentially harmful. When binary packages are - used, it means that the system can be partially upgraded, which - creates an enormous number of possible combinations of package - versions that should be tested before doing the upgrade on the - embedded device. On the other hand, by doing complete system - upgrades by upgrading the entire root filesystem image at once, - the image deployed to the embedded system is guaranteed to really - be the one that has been tested and validated. - -[[faq-speeding-up-build]] -=== How to speed-up the build process? - -Since Buildroot often involves doing full rebuilds of the entire -system that can be quite long, we provide below a number of tips to -help reduce the build time: - - * Use a pre-built external toolchain instead of the default Buildroot - internal toolchain. By using a pre-built Linaro toolchain (on ARM) - or a Sourcery CodeBench toolchain (for ARM, x86, x86-64, MIPS, - etc.), you will save the build time of the toolchain at each - complete rebuild, approximately 15 to 20 minutes. Note that - temporarily using an external toolchain does not prevent you to - switch back to an internal toolchain (that may provide a higher - level of customization) once the rest of your system is working; - - * Use the +ccache+ compiler cache (see: xref:ccache[]); - - * Learn about rebuilding only the few packages you actually care - about (see xref:rebuild-pkg[]), but beware that sometimes full - rebuilds are anyway necessary (see xref:full-rebuild[]); - - * Make sure you are not using a virtual machine for the Linux system - used to run Buildroot. Most of the virtual machine technologies are - known to cause a significant performance impact on I/O, which is - really important for building source code; - - * Make sure that you're using only local files: do not attempt to do - a build over NFS, which significantly slows down the build. Having - the Buildroot download folder available locally also helps a bit. - - * Buy new hardware. SSDs and lots of RAM are key to speeding up the - builds. diff --git a/docs/manual/getting.adoc b/docs/manual/getting.adoc new file mode 100644 index 00000000000..b3a451f67d4 --- /dev/null +++ b/docs/manual/getting.adoc @@ -0,0 +1,36 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[getting-buildroot]] +== Getting Buildroot + +Buildroot releases are made every 3 months, in February, May, August and +November. Release numbers are in the format YYYY.MM, so for example +2013.02, 2014.08. + +Release tarballs are available at https://buildroot.org/downloads/[]. + +For your convenience, a https://www.vagrantup.com/[Vagrantfile] is +available in `support/misc/Vagrantfile` in the Buildroot source tree +to quickly set up a virtual machine with the needed dependencies to +get started. + +If you want to setup an isolated buildroot environment on Linux or Mac +Os X, paste this line onto your terminal: + +---- +curl -O https://buildroot.org/downloads/Vagrantfile; vagrant up +---- + +If you are on Windows, paste this into your powershell: + +---- +(new-object System.Net.WebClient).DownloadFile( +"https://buildroot.org/downloads/Vagrantfile","Vagrantfile"); +vagrant up +---- + +If you want to follow development, you can use the daily snapshots or +make a clone of the Git repository. Refer to the +https://buildroot.org/download.html[Download page] of the Buildroot website +for more details. diff --git a/docs/manual/getting.txt b/docs/manual/getting.txt deleted file mode 100644 index 549938a223d..00000000000 --- a/docs/manual/getting.txt +++ /dev/null @@ -1,36 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[getting-buildroot]] -== Getting Buildroot - -Buildroot releases are made every 3 months, in February, May, August and -November. Release numbers are in the format YYYY.MM, so for example -2013.02, 2014.08. - -Release tarballs are available at http://buildroot.org/downloads/[]. - -For your convenience, a https://www.vagrantup.com/[Vagrantfile] is -available in `support/misc/Vagrantfile` in the Buildroot source tree -to quickly set up a virtual machine with the needed dependencies to -get started. - -If you want to setup an isolated buildroot environment on Linux or Mac -Os X, paste this line onto your terminal: - --------------------- -curl -O https://buildroot.org/downloads/Vagrantfile; vagrant up --------------------- - -If you are on Windows, paste this into your powershell: - --------------------- -(new-object System.Net.WebClient).DownloadFile( -"https://buildroot.org/downloads/Vagrantfile","Vagrantfile"); -vagrant up --------------------- - -If you want to follow development, you can use the daily snapshots or -make a clone of the Git repository. Refer to the -http://buildroot.org/download[Download page] of the Buildroot website -for more details. diff --git a/docs/manual/how-buildroot-works.txt b/docs/manual/how-buildroot-works.adoc similarity index 100% rename from docs/manual/how-buildroot-works.txt rename to docs/manual/how-buildroot-works.adoc diff --git a/docs/manual/integration-configurable-packages.adoc b/docs/manual/integration-configurable-packages.adoc new file mode 100644 index 00000000000..5091cec9611 --- /dev/null +++ b/docs/manual/integration-configurable-packages.adoc @@ -0,0 +1,20 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[configurable-packages]] +=== Configurable packages + +Some foundational packages like Busybox and uClibc can be configured +with or without certain features. When writing Buildroot code that +uses such packages, contributors may assume that the options enabled +in the Buildroot-provided configurations are enabled. For example, ++package/busybox/busybox.config+ sets ++CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y+, so init scripts +meant for use with Busybox init may use +start-stop-daemon+ with long +form options. + +People who use custom configurations that disable such default options +are responsible for making sure that any relevant scripts/packages +still work, and if not, adapting them accordingly. To follow the +Busybox example above, disabling long form options will require +replacing init scripts that use them (in an overlay). diff --git a/docs/manual/integration-selinux-support.adoc b/docs/manual/integration-selinux-support.adoc new file mode 100644 index 00000000000..1f6bcf47ebd --- /dev/null +++ b/docs/manual/integration-selinux-support.adoc @@ -0,0 +1,74 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[selinux]] +=== Using SELinux in Buildroot + +https://selinuxproject.org[SELinux] is a Linux kernel security module +enforcing access control policies. In addition to the traditional file +permissions and access control lists, +SELinux+ allows to write rules +for users or processes to access specific functions of resources +(files, sockets...). + +_SELinux_ has three modes of operation: + +* _Disabled_: the policy is not applied +* _Permissive_: the policy is applied, and non-authorized actions are + simply logged. This mode is often used for troubleshooting SELinux + issues. +* _Enforcing_: the policy is applied, and non-authorized actions are + denied + +In Buildroot the mode of operation is controlled by the ++BR2_PACKAGE_REFPOLICY_POLICY_STATE_*+ configuration options. The +Linux kernel also has various configuration options that affect how ++SELinux+ is enabled (see +security/selinux/Kconfig+ in the Linux +kernel sources). + +By default in Buildroot the +SELinux+ policy is provided by the +upstream https://github.com/SELinuxProject/refpolicy[refpolicy] +project, enabled with +BR2_PACKAGE_REFPOLICY+. + +[[enabling-selinux]] +==== Enabling SELinux support + +To have proper support for +SELinux+ in a Buildroot generated system, +the following configuration options must be enabled: + +* +BR2_PACKAGE_LIBSELINUX+ +* +BR2_PACKAGE_REFPOLICY+ + +In addition, your filesystem image format must support extended +attributes. + +[[selinux-policy-tweaking]] +==== SELinux policy tweaking + +The +SELinux refpolicy+ contains modules that can be enabled or +disabled when being built. Each module provide a number of +SELinux+ +rules. In Buildroot the non-base modules are disabled by default and +several ways to enable such modules are provided: + +- Packages can enable a list of +SELinux+ modules within the +refpolicy+ using + the +_SELINUX_MODULES+ variable. +- Packages can provide additional +SELinux+ modules by putting them (.fc, .if + and .te files) in +package//selinux/+. +- Extra +SELinux+ modules can be added in directories pointed by the + +BR2_REFPOLICY_EXTRA_MODULES_DIRS+ configuration option. +- Additional modules in the +refpolicy+ can be enabled if listed in the + +BR2_REFPOLICY_EXTRA_MODULES_DEPENDENCIES+ configuration option. + +Buildroot also allows to completely override the +refpolicy+. This +allows to provide a full custom policy designed specifically for a +given system. When going this way, all of the above mechanisms are +disabled: no extra +SElinux+ module is added to the policy, and all +the available modules within the custom policy are enabled and built +into the final binary policy. The custom policy must be a fork of the +official https://github.com/SELinuxProject/refpolicy[refpolicy]. + +In order to fully override the +refpolicy+ the following configuration +variables have to be set: + +- +BR2_PACKAGE_REFPOLICY_CUSTOM_GIT+ +- +BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_URL+ +- +BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_VERSION+ diff --git a/docs/manual/integration-systemd.adoc b/docs/manual/integration-systemd.adoc new file mode 100644 index 00000000000..44248b43ff8 --- /dev/null +++ b/docs/manual/integration-systemd.adoc @@ -0,0 +1,27 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[integration-systemd]] +=== Systemd + +This chapter describes the decisions taken in Buildroot's integration of +systemd, and how various use cases can be implemented. + +==== DBus daemon + +Systemd requires a DBus daemon. There are two options for it: traditional dbus +(+BR2_PACKAGE_DBUS+) and bus1 dbus-broker (+BR2_PACKAGE_DBUS_BROKER+). At +least one of them must be chosen. If both are included in the configuration, +dbus-broker will be used as system bus, but the traditional dbus-daemon is +still installed as well and can be used as session bus. Also its tools (e.g. ++dbus-send+) can be used (systemd itself has +busctl+ as an alternative). In +addition, the traditional dbus package is the only one that provides +libdbus+, +which is used by many packages as dbus integration library. + +Both in the dbus and in the dbus-broker case, the daemon runs as user +dbus+. +The DBus configuration files are also identical for both. + +To make sure that only one of the two daemons is started as system bus, the +systemd activation files of the dbus package (+dbus.socket+ and the ++dbus.service+ symlink in +multi-user.target.wants+) are removed when +dbus-broker is selected. diff --git a/docs/manual/integration.adoc b/docs/manual/integration.adoc new file mode 100644 index 00000000000..53305edc74e --- /dev/null +++ b/docs/manual/integration.adoc @@ -0,0 +1,16 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[integration]] +== Integration topics + +This chapter discusses how various things are integrated at system +level. Buildroot is highly configurable, almost everything discussed +here can be changed or overridden by xref:rootfs-custom[rootfs overlay +or custom skeleton] configuration. + +include::integration-configurable-packages.adoc[] + +include::integration-systemd.adoc[] + +include::integration-selinux-support.adoc[] diff --git a/docs/manual/introduction.txt b/docs/manual/introduction.adoc similarity index 100% rename from docs/manual/introduction.txt rename to docs/manual/introduction.adoc diff --git a/docs/manual/known-issues.adoc b/docs/manual/known-issues.adoc new file mode 100644 index 00000000000..743b794e878 --- /dev/null +++ b/docs/manual/known-issues.adoc @@ -0,0 +1,15 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== Known issues + +* It is not possible to pass extra linker options via +BR2_TARGET_LDFLAGS+ + if such options contain a +$+ sign. For example, the following is known + to break: +BR2_TARGET_LDFLAGS="-Wl,-rpath=\'$ORIGIN/../lib'"+ + +* The +libffi+ package is not supported on the SuperH 2 and ARMv7-M + architectures. + +* The +prboom+ package triggers a compiler failure with the SuperH 4 + compiler from Sourcery CodeBench, version 2012.09. + diff --git a/docs/manual/known-issues.txt b/docs/manual/known-issues.txt deleted file mode 100644 index ae29a48b385..00000000000 --- a/docs/manual/known-issues.txt +++ /dev/null @@ -1,15 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -== Known issues - -* It is not possible to pass extra linker options via +BR2_TARGET_LDFLAGS+ - if such options contain a +$+ sign. For example, the following is known - to break: +BR2_TARGET_LDFLAGS="-Wl,-rpath=\'$ORIGIN/../lib'"+ - -* The +libffi+ package is not supported on the SuperH 2 and ARC - architectures. - -* The +prboom+ package triggers a compiler failure with the SuperH 4 - compiler from Sourcery CodeBench, version 2012.09. - diff --git a/docs/manual/legal-notice.adoc b/docs/manual/legal-notice.adoc new file mode 100644 index 00000000000..495c5ffe9c4 --- /dev/null +++ b/docs/manual/legal-notice.adoc @@ -0,0 +1,122 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[legal-info]] + +== Legal notice and licensing + +=== Complying with open source licenses + +All of the end products of Buildroot (toolchain, root filesystem, kernel, +bootloaders) contain open source software, released under various licenses. + +Using open source software gives you the freedom to build rich embedded +systems, choosing from a wide range of packages, but also imposes some +obligations that you must know and honour. +Some licenses require you to publish the license text in the documentation of +your product. Others require you to redistribute the source code of the +software to those that receive your product. + +The exact requirements of each license are documented in each package, and +it is your responsibility (or that of your legal office) to comply with those +requirements. +To make this easier for you, Buildroot can collect for you some material you +will probably need. To produce this material, after you have configured +Buildroot with +make menuconfig+, +make xconfig+ or +make gconfig+, run: + +---- +make legal-info +---- + +Buildroot will collect legally-relevant material in your output directory, +under the +legal-info/+ subdirectory. +There you will find: + +* A +README+ file, that summarizes the produced material and contains warnings + about material that Buildroot could not produce. +* +buildroot.config+: this is the Buildroot configuration file that is usually + produced with +make menuconfig+, and which is necessary to reproduce the + build. +* The source code for all packages; this is saved in the +sources/+ and + +host-sources/+ subdirectories for target and host packages respectively. + The source code for packages that set +_REDISTRIBUTE = NO+ will not be + saved. + Patches that were applied are also saved, along with a file named +series+ + that lists the patches in the order they were applied. Patches are under the + same license as the files that they modify. + Note: Buildroot applies additional patches to Libtool scripts of + autotools-based packages. These patches can be found under + +support/libtool+ in the Buildroot source and, due to technical + limitations, are not saved with the package sources. You may need to + collect them manually. +* A manifest file (one for host and one for target packages) listing the + configured packages, their version, license and related information. + Some of this information might not be defined in Buildroot; such items are + marked as "unknown". +* The license texts of all packages, in the +licenses/+ and +host-licenses/+ + subdirectories for target and host packages respectively. + If the license file(s) are not defined in Buildroot, the file is not produced + and a warning in the +README+ indicates this. + +Please note that the aim of the +legal-info+ feature of Buildroot is to +produce all the material that is somehow relevant for legal compliance with the +package licenses. Buildroot does not try to produce the exact material that +you must somehow make public. Certainly, more material is produced than is +needed for a strict legal compliance. For example, it produces the source code +for packages released under BSD-like licenses, that you are not required to +redistribute in source form. + +Moreover, due to technical limitations, Buildroot does not produce some +material that you will or may need, such as the toolchain source code for +some of the external toolchains and the Buildroot source code itself. +When you run +make legal-info+, Buildroot produces warnings in the +README+ +file to inform you of relevant material that could not be saved. + +Finally, keep in mind that the output of +make legal-info+ is based on +declarative statements in each of the packages recipes. The Buildroot +developers try to do their best to keep those declarative statements as +accurate as possible, to the best of their knowledge. However, it is very +well possible that those declarative statements are not all fully accurate +nor exhaustive. You (or your legal department) _have_ to check the output +of +make legal-info+ before using it as your own compliance delivery. See +the _NO WARRANTY_ clauses (clauses 11 and 12) in the +COPYING+ file at the +root of the Buildroot distribution. + +[[legal-info-buildroot]] +=== Complying with the Buildroot license + +Buildroot itself is an open source software, released under the +http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU General +Public License, version 2] or (at your option) any later version, with +the exception of the package patches detailed below. +However, being a build system, it is not normally part of the end product: +if you develop the root filesystem, kernel, bootloader or toolchain for a +device, the code of Buildroot is only present on the development machine, not +in the device storage. + +Nevertheless, the general view of the Buildroot developers is that you should +release the Buildroot source code along with the source code of other packages +when releasing a product that contains GPL-licensed software. +This is because the +http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU GPL] +defines the "'complete source code'" for an executable work as "'all the +source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and installation +of the executable'". +Buildroot is part of the 'scripts used to control compilation and +installation of the executable', and as such it is considered part of the +material that must be redistributed. + +Keep in mind that this is only the Buildroot developers' opinion, and you +should consult your legal department or lawyer in case of any doubt. + +==== Patches to packages + +Buildroot also bundles patch files, which are applied to the sources +of the various packages. Those patches are not covered by the license +of Buildroot. Instead, they are covered by the license of the software +to which the patches are applied. When said software is available +under multiple licenses, the Buildroot patches are only provided under +the publicly accessible licenses. + +See xref:patch-policy[] for the technical details. diff --git a/docs/manual/legal-notice.txt b/docs/manual/legal-notice.txt deleted file mode 100644 index 69753282ec3..00000000000 --- a/docs/manual/legal-notice.txt +++ /dev/null @@ -1,123 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[legal-info]] - -== Legal notice and licensing - -=== Complying with open source licenses - -All of the end products of Buildroot (toolchain, root filesystem, kernel, -bootloaders) contain open source software, released under various licenses. - -Using open source software gives you the freedom to build rich embedded -systems, choosing from a wide range of packages, but also imposes some -obligations that you must know and honour. -Some licenses require you to publish the license text in the documentation of -your product. Others require you to redistribute the source code of the -software to those that receive your product. - -The exact requirements of each license are documented in each package, and -it is your responsibility (or that of your legal office) to comply with those -requirements. -To make this easier for you, Buildroot can collect for you some material you -will probably need. To produce this material, after you have configured -Buildroot with +make menuconfig+, +make xconfig+ or +make gconfig+, run: - --------------------- -make legal-info --------------------- - -Buildroot will collect legally-relevant material in your output directory, -under the +legal-info/+ subdirectory. -There you will find: - -* A +README+ file, that summarizes the produced material and contains warnings - about material that Buildroot could not produce. -* +buildroot.config+: this is the Buildroot configuration file that is usually - produced with +make menuconfig+, and which is necessary to reproduce the - build. -* The source code for all packages; this is saved in the +sources/+ and - +host-sources/+ subdirectories for target and host packages respectively. - The source code for packages that set +_REDISTRIBUTE = NO+ will not be - saved. - Patches that were applied are also saved, along with a file named +series+ - that lists the patches in the order they were applied. Patches are under the - same license as the files that they modify. - Note: Buildroot applies additional patches to Libtool scripts of - autotools-based packages. These patches can be found under - +support/libtool+ in the Buildroot source and, due to technical - limitations, are not saved with the package sources. You may need to - collect them manually. -* A manifest file (one for host and one for target packages) listing the - configured packages, their version, license and related information. - Some of this information might not be defined in Buildroot; such items are - marked as "unknown". -* The license texts of all packages, in the +licenses/+ and +host-licenses/+ - subdirectories for target and host packages respectively. - If the license file(s) are not defined in Buildroot, the file is not produced - and a warning in the +README+ indicates this. - -Please note that the aim of the +legal-info+ feature of Buildroot is to -produce all the material that is somehow relevant for legal compliance with the -package licenses. Buildroot does not try to produce the exact material that -you must somehow make public. Certainly, more material is produced than is -needed for a strict legal compliance. For example, it produces the source code -for packages released under BSD-like licenses, that you are not required to -redistribute in source form. - -Moreover, due to technical limitations, Buildroot does not produce some -material that you will or may need, such as the toolchain source code and the -Buildroot source code itself (including patches to packages for which source -distribution is required). -When you run +make legal-info+, Buildroot produces warnings in the +README+ -file to inform you of relevant material that could not be saved. - -Finally, keep in mind that the output of +make legal-info+ is based on -declarative statements in each of the packages recipes. The Buildroot -developers try to do their best to keep those declarative statements as -accurate as possible, to the best of their knowledge. However, it is very -well possible that those declarative statements are not all fully accurate -nor exhaustive. You (or your legal department) _have_ to check the output -of +make legal-info+ before using it as your own compliance delivery. See -the _NO WARRANTY_ clauses (clauses 11 and 12) in the +COPYING+ file at the -root of the Buildroot distribution. - -[[legal-info-buildroot]] -=== Complying with the Buildroot license - -Buildroot itself is an open source software, released under the -http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU General -Public License, version 2] or (at your option) any later version, with -the exception of the package patches detailed below. -However, being a build system, it is not normally part of the end product: -if you develop the root filesystem, kernel, bootloader or toolchain for a -device, the code of Buildroot is only present on the development machine, not -in the device storage. - -Nevertheless, the general view of the Buildroot developers is that you should -release the Buildroot source code along with the source code of other packages -when releasing a product that contains GPL-licensed software. -This is because the -http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU GPL] -defines the "'complete source code'" for an executable work as "'all the -source code for all modules it contains, plus any associated interface -definition files, plus the scripts used to control compilation and installation -of the executable'". -Buildroot is part of the 'scripts used to control compilation and -installation of the executable', and as such it is considered part of the -material that must be redistributed. - -Keep in mind that this is only the Buildroot developers' opinion, and you -should consult your legal department or lawyer in case of any doubt. - -==== Patches to packages - -Buildroot also bundles patch files, which are applied to the sources -of the various packages. Those patches are not covered by the license -of Buildroot. Instead, they are covered by the license of the software -to which the patches are applied. When said software is available -under multiple licenses, the Buildroot patches are only provided under -the publicly accessible licenses. - -See xref:patch-policy[] for the technical details. diff --git a/docs/manual/make-tips.adoc b/docs/manual/make-tips.adoc new file mode 100644 index 00000000000..4ccb460525e --- /dev/null +++ b/docs/manual/make-tips.adoc @@ -0,0 +1,134 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[make-tips]] +=== 'make' tips + +This is a collection of tips that help you make the most of Buildroot. + +.Display all commands executed by make: + +---- + $ make V=1 +---- + +.Display the list of boards with a defconfig: + +---- + $ make list-defconfigs +---- + +.Display all available targets: + +---- + $ make help +---- + +Not all targets are always available, +some settings in the +.config+ file may hide some targets: + +* +busybox-menuconfig+ only works when +busybox+ is enabled; +* +linux-menuconfig+ and +linux-savedefconfig+ only work when + +linux+ is enabled; +* +uclibc-menuconfig+ is only available when the uClibc C library is + selected in the internal toolchain backend; +* +barebox-menuconfig+ and +barebox-savedefconfig+ only work when the + +barebox+ bootloader is enabled. +* +uboot-menuconfig+ and +uboot-savedefconfig+ only work when the + +U-Boot+ bootloader is enabled and the +uboot+ build system is set + to +Kconfig+. + +.Cleaning: + +Explicit cleaning is required when any of the architecture or toolchain +configuration options are changed. + +To delete all build products (including build directories, host, staging +and target trees, the images and the toolchain): + +---- + $ make clean +---- + +.Generating the manual: + +The present manual sources are located in the 'docs/manual' directory. +To generate the manual: + +---- + $ make manual-clean + $ make manual +---- + +The manual outputs will be generated in 'output/docs/manual'. + +.Notes +- A few tools are required to build the documentation (see: + xref:requirement-optional[]). + +.Resetting Buildroot for a new target: + +To delete all build products as well as the configuration: + +---- + $ make distclean +---- + +.Notes +If +ccache+ is enabled, running +make clean+ or +distclean+ does +not empty the compiler cache used by Buildroot. To delete it, refer +to xref:ccache[]. + +.Dumping the internal make variables: + +One can dump the variables known to make, along with their values: + +---- + $ make -s printvars VARS='VARIABLE1 VARIABLE2' + VARIABLE1=value_of_variable + VARIABLE2=value_of_variable +---- + +It is possible to tweak the output using some variables: + +- +VARS+ will limit the listing to variables which names match the + specified make-patterns - this must be set else nothing is printed +- +QUOTED_VARS+, if set to +YES+, will single-quote the value +- +RAW_VARS+, if set to +YES+, will print the unexpanded value + +For example: + +---- + $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES + BUSYBOX_DEPENDENCIES=skeleton toolchain + BUSYBOX_FINAL_ALL_DEPENDENCIES=skeleton toolchain + BUSYBOX_FINAL_DEPENDENCIES=skeleton toolchain + BUSYBOX_FINAL_PATCH_DEPENDENCIES= + BUSYBOX_RDEPENDENCIES=ncurses util-linux +---- + +---- + $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES QUOTED_VARS=YES + BUSYBOX_DEPENDENCIES='skeleton toolchain' + BUSYBOX_FINAL_ALL_DEPENDENCIES='skeleton toolchain' + BUSYBOX_FINAL_DEPENDENCIES='skeleton toolchain' + BUSYBOX_FINAL_PATCH_DEPENDENCIES='' + BUSYBOX_RDEPENDENCIES='ncurses util-linux' +---- + +---- + $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES RAW_VARS=YES + BUSYBOX_DEPENDENCIES=skeleton toolchain + BUSYBOX_FINAL_ALL_DEPENDENCIES=$(sort $(BUSYBOX_FINAL_DEPENDENCIES) $(BUSYBOX_FINAL_PATCH_DEPENDENCIES)) + BUSYBOX_FINAL_DEPENDENCIES=$(sort $(BUSYBOX_DEPENDENCIES)) + BUSYBOX_FINAL_PATCH_DEPENDENCIES=$(sort $(BUSYBOX_PATCH_DEPENDENCIES)) + BUSYBOX_RDEPENDENCIES=ncurses util-linux +---- + +The output of quoted variables can be reused in shell scripts, for example: + +---- + $ eval $(make -s printvars VARS=BUSYBOX_DEPENDENCIES QUOTED_VARS=YES) + $ echo $BUSYBOX_DEPENDENCIES + skeleton toolchain +---- diff --git a/docs/manual/make-tips.txt b/docs/manual/make-tips.txt deleted file mode 100644 index ea1d825bef5..00000000000 --- a/docs/manual/make-tips.txt +++ /dev/null @@ -1,133 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[make-tips]] -=== 'make' tips - -This is a collection of tips that help you make the most of Buildroot. - -.Display all commands executed by make: - --------------------- - $ make V=1 --------------------- - -.Display the list of boards with a defconfig: - --------------------- - $ make list-defconfigs --------------------- - -.Display all available targets: - --------------------- - $ make help --------------------- - -Not all targets are always available, -some settings in the +.config+ file may hide some targets: - -* +busybox-menuconfig+ only works when +busybox+ is enabled; -* +linux-menuconfig+ and +linux-savedefconfig+ only work when - +linux+ is enabled; -* +uclibc-menuconfig+ is only available when the uClibc C library is - selected in the internal toolchain backend; -* +barebox-menuconfig+ and +barebox-savedefconfig+ only work when the - +barebox+ bootloader is enabled. -* +uboot-menuconfig+ and +uboot-savedefconfig+ only work when the - +U-Boot+ bootloader is enabled. - -.Cleaning: - -Explicit cleaning is required when any of the architecture or toolchain -configuration options are changed. - -To delete all build products (including build directories, host, staging -and target trees, the images and the toolchain): - --------------------- - $ make clean --------------------- - -.Generating the manual: - -The present manual sources are located in the 'docs/manual' directory. -To generate the manual: - ---------------------------------- - $ make manual-clean - $ make manual ---------------------------------- - -The manual outputs will be generated in 'output/docs/manual'. - -.Notes -- A few tools are required to build the documentation (see: - xref:requirement-optional[]). - -.Resetting Buildroot for a new target: - -To delete all build products as well as the configuration: - --------------------- - $ make distclean --------------------- - -.Notes -If +ccache+ is enabled, running +make clean+ or +distclean+ does -not empty the compiler cache used by Buildroot. To delete it, refer -to xref:ccache[]. - -.Dumping the internal make variables: - -One can dump all the variables known to make, along with their values: - ----- - $ make -s printvars - VARIABLE=value_of_variable - ... ----- - -It is possible to tweak the output using some variables: - -- +VARS+ will limit the listing to variables which names match the - specified make-pattern -- +QUOTED_VARS+, if set to +YES+, will single-quote the value -- +RAW_VARS+, if set to +YES+, will print the unexpanded value - -For example: - ----- - $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES - BUSYBOX_DEPENDENCIES=skeleton toolchain - BUSYBOX_FINAL_ALL_DEPENDENCIES=skeleton toolchain - BUSYBOX_FINAL_DEPENDENCIES=skeleton toolchain - BUSYBOX_FINAL_PATCH_DEPENDENCIES= - BUSYBOX_RDEPENDENCIES=ncurses util-linux ----- - ----- - $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES QUOTED_VARS=YES - BUSYBOX_DEPENDENCIES='skeleton toolchain' - BUSYBOX_FINAL_ALL_DEPENDENCIES='skeleton toolchain' - BUSYBOX_FINAL_DEPENDENCIES='skeleton toolchain' - BUSYBOX_FINAL_PATCH_DEPENDENCIES='' - BUSYBOX_RDEPENDENCIES='ncurses util-linux' ----- - ----- - $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES RAW_VARS=YES - BUSYBOX_DEPENDENCIES=skeleton toolchain - BUSYBOX_FINAL_ALL_DEPENDENCIES=$(sort $(BUSYBOX_FINAL_DEPENDENCIES) $(BUSYBOX_FINAL_PATCH_DEPENDENCIES)) - BUSYBOX_FINAL_DEPENDENCIES=$(sort $(BUSYBOX_DEPENDENCIES)) - BUSYBOX_FINAL_PATCH_DEPENDENCIES=$(sort $(BUSYBOX_PATCH_DEPENDENCIES)) - BUSYBOX_RDEPENDENCIES=ncurses util-linux ----- - -The output of quoted variables can be reused in shell scripts, for example: - ----- - $ eval $(make -s printvars VARS=BUSYBOX_DEPENDENCIES QUOTED_VARS=YES) - $ echo $BUSYBOX_DEPENDENCIES - skeleton toolchain ----- diff --git a/docs/manual/makedev-syntax.adoc b/docs/manual/makedev-syntax.adoc new file mode 100644 index 00000000000..e63c9233eb2 --- /dev/null +++ b/docs/manual/makedev-syntax.adoc @@ -0,0 +1,108 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[makedev-syntax]] +== Makedev syntax documentation + +The makedev syntax is used in several places in Buildroot to +define changes to be made for permissions, or which device files to +create and how to create them, in order to avoid calls to mknod. + +This syntax is derived from the makedev utility, and more complete +documentation can be found in the +package/makedevs/README+ file. + +It takes the form of a space separated list of fields, one file per +line; the fields are: + +|=========================================================== +|name |type |mode |uid |gid |major |minor |start |inc |count +|=========================================================== + +There are a few non-trivial blocks: + +- +name+ is the path to the file you want to create/modify +- +type+ is the type of the file, being one of: + * `f`: a regular file, which must already exist + * `F`: a regular file, which is ignored and not created if missing + * `d`: a directory, which is created, as well as its parents, if missing + * `r`: a directory recursively, which must already exist + * `c`: a character device file, which parent directory must exist + * `b`: a block device file, which parent directory must exist + * `p`: a named pipe, which parent directory must exist +- +mode+ are the usual permissions settings (only numerical values + are allowed); + for type `d`, the mode of existing parents is not changed, but the mode + of created parents is set; + for types `f`, `F`, and `r`, +mode+ can also be set to +-1+ to not + change the mode (and only change uid and gid) +- +uid+ and +gid+ are the UID and GID to set on this file; can be + either numerical values or actual names +- +major+ and +minor+ are here for device files, set to +-+ for other + files +- +start+, +inc+ and +count+ are for when you want to create a batch + of files, and can be reduced to a loop, beginning at +start+, + incrementing its counter by +inc+ until it reaches +count+ + +Let's say you want to change the ownership and permissions of a given +file; using this syntax, you will need to write: + +---- +/usr/bin/foo f 755 0 0 - - - - - +/usr/bin/bar f 755 root root - - - - - +/data/buz f 644 buz-user buz-group - - - - - +/data/baz f -1 baz-user baz-group - - - - - +---- + +Alternatively, if you want to change owner of a directory recursively, +you can write (to set UID to `foo` and GID to `bar` for the directory +`/usr/share/myapp` and all files and directories below it): + +---- +/usr/share/myapp r -1 foo bar - - - - - +---- + +On the other hand, if you want to create the device file +/dev/hda+ +and the corresponding 15 files for the partitions, you will need for ++/dev/hda+: + +---- +/dev/hda b 640 root root 3 0 0 0 - +---- + +and then for device files corresponding to the partitions of ++/dev/hda+, +/dev/hdaX+, +X+ ranging from 1 to 15: + +---- +/dev/hda b 640 root root 3 1 1 1 15 +---- + +Extended attributes are supported if ++BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES+ is enabled. +This is done by adding a line starting with +|xattr+ after +the line describing the file. Right now, only capability +is supported as extended attribute. + +|===================== +| \|xattr | capability +|===================== + +- +|xattr+ is a "flag" that indicate an extended attribute +- +capability+ is a capability to add to the previous file + +If you want to add the capability cap_sys_admin to the binary foo, +you will write : + +---- +/usr/bin/foo f 755 root root - - - - - +|xattr cap_sys_admin+eip +---- + +You can add several capabilities to a file by using several +|xattr+ lines. +If you want to add the capability cap_sys_admin and cap_net_admin to the +binary foo, you will write : + +---- +/usr/bin/foo f 755 root root - - - - - +|xattr cap_sys_admin+eip +|xattr cap_net_admin+eip +---- diff --git a/docs/manual/makedev-syntax.txt b/docs/manual/makedev-syntax.txt deleted file mode 100644 index d6efb31d421..00000000000 --- a/docs/manual/makedev-syntax.txt +++ /dev/null @@ -1,103 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[makedev-syntax]] -== Makedev syntax documentation - -The makedev syntax is used in several places in Buildroot to -define changes to be made for permissions, or which device files to -create and how to create them, in order to avoid calls to mknod. - -This syntax is derived from the makedev utility, and more complete -documentation can be found in the +package/makedevs/README+ file. - -It takes the form of a space separated list of fields, one file per -line; the fields are: - -|=========================================================== -|name |type |mode |uid |gid |major |minor |start |inc |count -|=========================================================== - -There are a few non-trivial blocks: - -- +name+ is the path to the file you want to create/modify -- +type+ is the type of the file, being one of: - * f: a regular file - * d: a directory - * r: a directory recursively - * c: a character device file - * b: a block device file - * p: a named pipe -- +mode+ are the usual permissions settings (only numerical values - are allowed) -- +uid+ and +gid+ are the UID and GID to set on this file; can be - either numerical values or actual names -- +major+ and +minor+ are here for device files, set to +-+ for other - files -- +start+, +inc+ and +count+ are for when you want to create a batch - of files, and can be reduced to a loop, beginning at +start+, - incrementing its counter by +inc+ until it reaches +count+ - -Let's say you want to change the permissions of a given file; using -this syntax, you will need to write: - ----- -/usr/bin/foo f 755 0 0 - - - - - -/usr/bin/bar f 755 root root - - - - - -/data/buz f 644 buz-user buz-group - - - - - ----- - -Alternatively, if you want to change owner/permission of a directory -recursively, you can write (to set UID to foo, GID to bar and access -rights to rwxr-x--- for the directory /usr/share/myapp and all files -and directories below it): - ----- -/usr/share/myapp r 750 foo bar - - - - - ----- - -On the other hand, if you want to create the device file +/dev/hda+ -and the corresponding 15 files for the partitions, you will need for -+/dev/hda+: - ----- -/dev/hda b 640 root root 3 0 0 0 - ----- - -and then for device files corresponding to the partitions of -+/dev/hda+, +/dev/hdaX+, +X+ ranging from 1 to 15: - ----- -/dev/hda b 640 root root 3 1 1 1 15 ----- - -Extended attributes are supported if -+BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES+ is enabled. -This is done by adding a line starting with +|xattr+ after -the line describing the file. Right now, only capability -is supported as extended attribute. - -|===================== -| \|xattr | capability -|===================== - -- +|xattr+ is a "flag" that indicate an extended attribute -- +capability+ is a capability to add to the previous file - -If you want to add the capability cap_sys_admin to the binary foo, -you will write : - ----- -/usr/bin/foo f 755 root root - - - - - -|xattr cap_sys_admin+eip ----- - -You can add several capabilities to a file by using several +|xattr+ lines. -If you want to add the capability cap_sys_admin and cap_net_admin to the -binary foo, you will write : - ----- -/usr/bin/foo f 755 root root - - - - - -|xattr cap_sys_admin+eip -|xattr cap_net_admin+eip ----- diff --git a/docs/manual/makeusers-syntax.adoc b/docs/manual/makeusers-syntax.adoc new file mode 100644 index 00000000000..0a955970b3a --- /dev/null +++ b/docs/manual/makeusers-syntax.adoc @@ -0,0 +1,105 @@ +// -*- mode:doc -*- ; +// vim: set syntax=asciidoc: + +[[makeuser-syntax]] +== Makeusers syntax documentation + +The syntax to create users is inspired by the makedev syntax, above, but +is specific to Buildroot. + +The syntax for adding a user is a space-separated list of fields, one +user per line; the fields are: + +|================================================================= +|username |uid |group |gid |password |home |shell |groups |comment +|================================================================= + +Where: + +- +username+ is the desired user name (aka login name) for the user. + It can not be +root+, and must be unique. If set to +-+, then just a + group will be created. +- +uid+ is the desired UID for the user. It must be unique, and not + +0+. If set to +-1+ or +-2+, then a unique UID will be computed by + Buildroot, with +-1+ denoting a system UID from [100...999] and +-2+ + denoting a user UID from [1000...1999]. +- +group+ is the desired name for the user's main group. It can not + be +root+. If the group does not exist, it will be created. +- +gid+ is the desired GID for the user's main group. It must be unique, + and not +0+. If set to +-1+ or +-2+, and the group does not already + exist, then a unique GID will be computed by Buildroot, with +-1+ + denoting a system GID from [100...999] and +-2+ denoting a user GID + from [1000...1999]. +- +password+ is the crypt(3)-encoded password. If prefixed with +!+, + then login is disabled. If prefixed with +=+, then it is interpreted + as clear-text, and will be crypt-encoded (using MD5). If prefixed with + +!=+, then the password will be crypt-encoded (using MD5) and login + will be disabled. If set to +*+, then login is not allowed. If set to + +-+, then no password value will be set. +- +home+ is the desired home directory for the user. If set to '-', no + home directory will be created, and the user's home will be +/+. + Explicitly setting +home+ to +/+ is not allowed. +- +shell+ is the desired shell for the user. If set to +-+, then + +/bin/false+ is set as the user's shell. +- +groups+ is the comma-separated list of additional groups the user + should be part of. If set to +-+, then the user will be a member of + no additional group. Missing groups will be created with an arbitrary + +gid+. +- +comment+ (aka https://en.wikipedia.org/wiki/Gecos_field[GECOS] + field) is an almost-free-form text. + +There are a few restrictions on the content of each field: + +* except for +comment+, all fields are mandatory. +* except for +comment+, fields may not contain spaces. +* no field may contain a colon (+:+). + +If +home+ is not +-+, then the home directory, and all files below, +will belong to the user and its main group. + +Examples: + +---- +foo -1 bar -1 !=blabla /home/foo /bin/sh alpha,bravo Foo user +---- + +This will create this user: + +- +username+ (aka login name) is: +foo+ +- +uid+ is computed by Buildroot +- main +group+ is: +bar+ +- main group +gid+ is computed by Buildroot +- clear-text +password+ is: +blabla+, will be crypt(3)-encoded, and login is disabled. +- +home+ is: +/home/foo+ +- +shell+ is: +/bin/sh+ +- +foo+ is also a member of +groups+: +alpha+ and +bravo+ +- +comment+ is: +Foo user+ + +---- +test 8000 wheel -1 = - /bin/sh - Test user +---- + +This will create this user: + +- +username+ (aka login name) is: +test+ +- +uid+ is : +8000+ +- main +group+ is: +wheel+ +- main group +gid+ is computed by Buildroot, and will use the value defined in the rootfs skeleton +- +password+ is empty (aka no password). +- +home+ is +/+ but will not belong to +test+ +- +shell+ is: +/bin/sh+ +- +test+ is not a member of any additional +groups+ +- +comment+ is: +Test user+ + + +=== Caveat with automatic UIDs and GIDs + +When updating buildroot or when packages are added or removed to/from +the configuration, it is possible that the automatic UIDs and GIDs are +changed. This can be a problem if persistent files were created with +that user or group: after upgrade, they will suddenly have a different +owner. + +Therefore, it is advisable to perpetuate the automatic IDs. This can be +done by adding a users table with the generated IDs. It is only needed +to do this for UIDs that actually create persistent files, e.g. database. diff --git a/docs/manual/makeusers-syntax.txt b/docs/manual/makeusers-syntax.txt deleted file mode 100644 index 467e5962304..00000000000 --- a/docs/manual/makeusers-syntax.txt +++ /dev/null @@ -1,89 +0,0 @@ -// -*- mode:doc -*- ; -// vim: set syntax=asciidoc: - -[[makeuser-syntax]] -== Makeusers syntax documentation - -The syntax to create users is inspired by the makedev syntax, above, but -is specific to Buildroot. - -The syntax for adding a user is a space-separated list of fields, one -user per line; the fields are: - -|================================================================= -|username |uid |group |gid |password |home |shell |groups |comment -|================================================================= - -Where: - -- +username+ is the desired user name (aka login name) for the user. - It can not be +root+, and must be unique. If set to +-+, then just a - group will be created. -- +uid+ is the desired UID for the user. It must be unique, and not - +0+. If set to +-1+, then a unique UID will be computed by Buildroot - in the range [1000...1999] -- +group+ is the desired name for the user's main group. It can not - be +root+. If the group does not exist, it will be created. -- +gid+ is the desired GID for the user's main group. It must be unique, - and not +0+. If set to +-1+, and the group does not already exist, then - a unique GID will be computed by Buildroot in the range [1000..1999] -- +password+ is the crypt(3)-encoded password. If prefixed with +!+, - then login is disabled. If prefixed with +=+, then it is interpreted - as clear-text, and will be crypt-encoded (using MD5). If prefixed with - +!=+, then the password will be crypt-encoded (using MD5) and login - will be disabled. If set to +*+, then login is not allowed. If set to - +-+, then no password value will be set. -- +home+ is the desired home directory for the user. If set to '-', no - home directory will be created, and the user's home will be +/+. - Explicitly setting +home+ to +/+ is not allowed. -- +shell+ is the desired shell for the user. If set to +-+, then - +/bin/false+ is set as the user's shell. -- +groups+ is the comma-separated list of additional groups the user - should be part of. If set to +-+, then the user will be a member of - no additional group. Missing groups will be created with an arbitrary - +gid+. -- +comment+ (aka https://en.wikipedia.org/wiki/Gecos_field[GECOS] - field) is an almost-free-form text. - -There are a few restrictions on the content of each field: - -* except for +comment+, all fields are mandatory. -* except for +comment+, fields may not contain spaces. -* no field may contain a colon (+:+). - -If +home+ is not +-+, then the home directory, and all files below, -will belong to the user and its main group. - -Examples: - ----- -foo -1 bar -1 !=blabla /home/foo /bin/sh alpha,bravo Foo user ----- - -This will create this user: - -- +username+ (aka login name) is: +foo+ -- +uid+ is computed by Buildroot -- main +group+ is: +bar+ -- main group +gid+ is computed by Buildroot -- clear-text +password+ is: +blabla+, will be crypt(3)-encoded, and login is disabled. -- +home+ is: +/home/foo+ -- +shell+ is: +/bin/sh+ -- +foo+ is also a member of +groups+: +alpha+ and +bravo+ -- +comment+ is: +Foo user+ - ----- -test 8000 wheel -1 = - /bin/sh - Test user ----- - -This will create this user: - -- +username+ (aka login name) is: +test+ -- +uid+ is : +8000+ -- main +group+ is: +wheel+ -- main group +gid+ is computed by Buildroot, and will use the value defined in the rootfs skeleton -- +password+ is empty (aka no password). -- +home+ is +/+ but will not belong to +test+ -- +shell+ is: +/bin/sh+ -- +test+ is not a member of any additional +groups+ -- +comment+ is: +Test user+ diff --git a/docs/manual/manual.adoc b/docs/manual/manual.adoc new file mode 100644 index 00000000000..06827361366 --- /dev/null +++ b/docs/manual/manual.adoc @@ -0,0 +1,75 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + += The Buildroot user manual +:toc: + +Buildroot {sys:echo $BR2_VERSION} manual generated on {localdate} +{localtime} from git revision {sys:git rev-parse --short HEAD} + +The Buildroot manual is written by the Buildroot developers. +It is licensed under the GNU General Public License, version 2. Refer to the +https://gitlab.com/buildroot.org/buildroot/-/blob/master/COPYING[COPYING] +file in the Buildroot sources for the full text of this license. + +Copyright (C) The Buildroot developers + +image::logo.png[] + += Getting started + +include::introduction.adoc[] + +include::prerequisite.adoc[] + +include::getting.adoc[] + +include::quickstart.adoc[] + +include::resources.adoc[] + += User guide + +include::configure.adoc[] + +include::configure-other-components.adoc[] + +include::common-usage.adoc[] + +include::customize.adoc[] + +include::integration.adoc[] + +include::faq-troubleshooting.adoc[] + +include::known-issues.adoc[] + +include::legal-notice.adoc[] + +include::beyond-buildroot.adoc[] + += Developer guide + +include::how-buildroot-works.adoc[] + +include::writing-rules.adoc[] + +include::adding-board-support.adoc[] + +include::adding-packages.adoc[] + +include::patch-policy.adoc[] + +include::download-infra.adoc[] + +include::debugging-buildroot.adoc[] + +include::contribute.adoc[] + +include::developers.adoc[] + +include::release-engineering.adoc[] + += Appendix + +include::appendix.adoc[] diff --git a/docs/manual/manual.mk b/docs/manual/manual.mk index 1d03b213dbb..ca5a14f8385 100644 --- a/docs/manual/manual.mk +++ b/docs/manual/manual.mk @@ -4,7 +4,12 @@ # ################################################################################ -MANUAL_SOURCES = $(sort $(wildcard docs/manual/*.txt) $(wildcard docs/images/*)) +MANUAL_SOURCES = $(sort $(wildcard docs/manual/*.adoc) $(wildcard docs/images/*)) MANUAL_RESOURCES = $(TOPDIR)/docs/images +define MANUAL_INIT_SCRIPT_REF + cp package/busybox/S01syslogd $(@D)/S01syslogd +endef +MANUAL_POST_RSYNC_HOOKS += MANUAL_INIT_SCRIPT_REF + $(eval $(call asciidoc-document)) diff --git a/docs/manual/manual.txt b/docs/manual/manual.txt deleted file mode 100644 index 490ed031e95..00000000000 --- a/docs/manual/manual.txt +++ /dev/null @@ -1,71 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -= The Buildroot user manual -:toc: - -Buildroot {sys:echo $\{BR2_VERSION%%-git*\}} manual generated on {localdate} -{localtime} from git revision {sys:git rev-parse --short HEAD} - -The Buildroot manual is written by the Buildroot developers. -It is licensed under the GNU General Public License, version 2. Refer to the -http://git.buildroot.org/buildroot/tree/COPYING[COPYING] file in the Buildroot -sources for the full text of this license. - -Copyright (C) 2004-2017 The Buildroot developers - -image::logo.png[] - -= Getting started - -include::introduction.txt[] - -include::prerequisite.txt[] - -include::getting.txt[] - -include::quickstart.txt[] - -include::resources.txt[] - -= User guide - -include::configure.txt[] - -include::configure-other-components.txt[] - -include::common-usage.txt[] - -include::customize.txt[] - -include::faq-troubleshooting.txt[] - -include::known-issues.txt[] - -include::legal-notice.txt[] - -include::beyond-buildroot.txt[] - -= Developer guide - -include::how-buildroot-works.txt[] - -include::writing-rules.txt[] - -include::adding-board-support.txt[] - -include::adding-packages.txt[] - -include::patch-policy.txt[] - -include::download-infra.txt[] - -include::debugging-buildroot.txt[] - -include::contribute.txt[] - -include::developers.txt[] - -= Appendix - -include::appendix.txt[] diff --git a/docs/manual/migrating.adoc b/docs/manual/migrating.adoc new file mode 100644 index 00000000000..d8d86d89456 --- /dev/null +++ b/docs/manual/migrating.adoc @@ -0,0 +1,249 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[migrating-from-ol-versions]] +== Migrating from older Buildroot versions + +Some versions have introduced backward incompatibilities. This section +explains those incompatibilities, and for each explains what to do to +complete the migration. + +[[migrating-approach]] +=== General approach + +To migrate from an older Buildroot version, take the following steps. + +. For all your configurations, do a build in the old Buildroot + environment. Run +make graph-size+. Save + +graphs/file-size-stats.csv+ in a different location. Run +make + clean+ to remove the rest. +. Review the specific migration notes below and make the required + adaptations to external packages and custom build scripts. +. Update Buildroot. +. Run +make menuconfig+ starting from the existing +.config+. +. If anything is enabled in the Legacy menu, check its help text, + unselect it, and save the configuration. +. For more details, review the git commit messages for the packages that + you need. Change into the +packages+ directory and run + +git log .. -- +. +. Build in the new Buildroot environment. +. Fix build issues in external packages (usually due to updated + dependencies). +. Run +make graph-size+. +. Compare the new +file-size-stats.csv+ with the original one, to + check if no required files have disappeared and if no new big unneeded + files have appeared. +. For configuration (and other) files in a custom overlay that overwrite + files created by Buildroot, check if there are changes in the + Buildroot-generated file that need to be propagated to your custom + file. + +[[br2-external-converting]] +=== Migrating to 2016.11 + +Before Buildroot 2016.11, it was possible to use only one br2-external +tree at once. With Buildroot 2016.11 came the possibility to use more +than one simultaneously (for details, see xref:outside-br-custom[]). + +This however means that older br2-external trees are not usable as-is. +A minor change has to be made: adding a name to your br2-external tree. + +This can be done very easily in just a few steps: + + * First, create a new file named +external.desc+, at the root of your + br2-external tree, with a single line defining the name of your + br2-external tree: ++ +---- +$ echo 'name: NAME_OF_YOUR_TREE' >external.desc +---- ++ +.Note +Be careful when choosing a name: It has to be unique and be made +with only ASCII characters from the set +[A-Za-z0-9_]+. + + * Then, change every occurrence of +BR2_EXTERNAL+ in your br2-external + tree with the new variable: ++ +---- +$ find . -type f | xargs sed -i 's/BR2_EXTERNAL/BR2_EXTERNAL_NAME_OF_YOUR_TREE_PATH/g' +---- + +Now, your br2-external tree can be used with Buildroot 2016.11 onward. + +.Note: +This change makes your br2-external tree incompatible with Buildroot +before 2016.11. + +[[migrating-host-usr]] +=== Migrating to 2017.08 + +Before Buildroot 2017.08, host packages were installed in +$(HOST_DIR)/usr+ +(with e.g. the autotools' +--prefix=$(HOST_DIR)/usr+). With Buildroot +2017.08, they are now installed directly in +$(HOST_DIR)+. + +Whenever a package installs an executable that is linked with a library +in +$(HOST_DIR)/lib+, it must have an RPATH pointing to that directory. + +An RPATH pointing to +$(HOST_DIR)/usr/lib+ is no longer accepted. + +[[migrating-svn-externals]] +=== Migrating to 2023.11 + +Before Buildroot 2023.11, the subversion download backend unconditionally +retrieved the external references (objects with an `svn:externals` +property). Starting with 2023.11, externals are no longer retrieved by +default; if you need them, set +LIBFOO_SVN_EXTERNALS+ to +YES+. This +change implies that: + +* the generated archive content may change, and thus the hashes may need + to be updated appropriately; +* the archive version suffix has been updated to +-br3+, so the hash + files must be updated appropriately. + +Before Buildroot 2023.11, it was possible (but undocumented and unused) +to apply architecture-specific patches, by prefixing the patch filename +with the architecture, e.g. `0001-some-changes.patch.arm` and such a +patch would only be applied for that architecture. With Buildroot 2023.11, +this is no longer supported, and such patches are no longer applied at +all. + +If you still need per-architecture patches, then you may provide a +xref:hooks[pre-patch hook] that copies the patches applicable to the +configured architecture, e.g.: + +---- +define LIBFOO_ARCH_PATCHES + $(foreach p,$(wildcard $(LIBFOO_PKGDIR)/*.patch.$(ARCH)), \ + cp -f $(p) $(patsubst %.$(ARCH),%,$(p)) + ) +endef +LIBFOO_PRE_PATCH_HOOKS += LIBFOO_ARCH_PATCHES +---- + +Note that no package in Buildroot has architecture-specific patches, and +that such patches will most probably not be accepted. + +[[migrating-git-attributes]] +=== Migrating to 2024.05 + +The download backends have been extended in various ways. + +* All locally generated tarballs are even more reproducible. Before + 2024.05, it was possible that the access mode of files in the archives + were not consistent when the download directory has specific ACLs (e.g. + with the +default+ ACL set). This impacts the archives generated for + git and subversion repositories, as well as those for vendored cargo + and go packages. +* The git download backend now properly expands the `export-subst` + https://git-scm.com/docs/gitattributes[git attribute] when generating + archives. +* A newer +tar+ version, _1.35_, is required to generate the archives. + For compatibility reasons, +tar+ 1.35 changes the way it stores some + fields (`devmajor` and `devminor`), which has an impact in the metadata + stored in the archives (but the content of files is not affected). + +To accommodate those changes, the archive suffix has been updated or +added: + +* for git: +-git4+ +* for subversion: +-svn5+ +* for cargo (rust) packages: +-cargo2+ +* for go packages: +-go2+ + +Note that, if two such prefixes would apply to a generated archive, like +for a cargo package downloaded from git, both suffixes need to be added, +first the one for the download mechanism, then the one for the vendoring, +e.g.: +libfoo-1.2.3-git4-cargo2.tar.gz+. + +Because of this, the hash file of any custom packages or custom versions +for kernel and bootloaders must be updated. The following sed scripts can +automate the rename in the hash file (assuming such files are kept under +git): + +---- +# For git and svn packages, which originally had -br2 resp. -br3 suffix +sed -r -i -e 's/-br2/-git4/; s/-br3/-svn5/' $( + git grep -l -E -- '-br2|-br3' -- '*.hash' +) + +# For go packages, which originally had no suffix +sed -r -i -e 's/(\.tar\.gz)$/-go2\1/' $( + git grep -l -E '\$\(eval \$\((host-)?golang-package\)\)' -- '*.mk' \ + |sed -r -e 's/\.mk$/.hash/' \ + |sort -u +) + +# For cargo packages, which originally had no suffix +sed -r -i -e 's/(\.tar\.gz)$/-cargo2\1/' $( + git grep -l -E '\$\(eval \$\((host-)?cargo-package\)\)' -- '*.mk' \ + |sed -r -e 's/\.mk$/.hash/' \ + |sort -u +) +---- + +Note that the hash _will_ have changed, so that needs to be updated +(manually) as well. + +[[migrating-mender]] +=== Migrating to 2025.02 + +Mender now requires a special bootstrap artifact to be placed in ++/var/lib/mender+. This replaces the +artifact_info+ file. Just like a +normal artifact, the bootstrap artifact is generated with +host-mender-artifact. See +board/mender/x86_64/post-image-efi.sh+ for an +example of how to generate the bootstrap.mender file. See +https://docs.mender.io/release-information/release-notes-changelog/mender-client#mender-3-5-0-1[the +release notes], under features, for more information. + +[[migrating-resolv.conf]] +=== Migrating to 2025.05 + +In 2025.05, for SYS-V-like systems (busybox, sysvinit, openrc), the +`/etc/resolv.conf` symlink was changed to point to `/run/resolv.conf`, +rather than the legacy location in `/tmp`. Users of a custom `fstab` +will need to ensure that `/run` is writable before resolv.conf is +created (usually by a DHCP client), either with an entry for `/run`, +or with a startup script. + +Note that systems using systemd are not impacted: systemd always ensures +that `/run` is writable. Systems further using systemd-resolved already +had a `/etc/resolv.conf` that pointed into `/run` anyway. + +Due to the update of Rust to a version greater than 1.84.0 making the +Cargo.lock file mandatory and the change from +.cargo/config+ to ++.cargo/config.toml+, tarballs generated by Cargo-fetched packages +have changed. Therefore the suffix of such tarballs has been changed +from +-cargo2+ to +-cargo4+. + +[[migrating-systemd]] +=== Migrating to 2025.08 + +In 2025.08, starting with systemd version 257, systemd-networkd requires kernel +5.4 or later. If you are still using a kernel older than 5.4, please update +your kernel or use an alternative network manager. + +[[migrating-golang-packages]] +=== Migrating to 2025.11 +In 2025.11, the +FOO_INSTALL_BINS+ variable for golang packages is no longer +supported; the list of binaries to install is automatically derived from +the +FOO_BUILD_TARGETS+ variable. + +[[migrating-js-libs]] +=== Migration to 2026.02 + +Starting 2025.08, JavaScript libraries that were just copied to `/var/www` on +the target filesystem are not part of the Buildroot packages. +If you want to provide such libraries either: + +- Use a CDN to target the library version of your choice. +- Serve it by adding the package to your external and installing the content to + the destination of your choice +- Serve it by adding the library to your overlay. +- Install the libraries from your project with NPM and bundle with a JavaScript + bundler. + +In 2026.02, the network-manager package stopped selecting the gnutls package as +a cryptography backend automatically. Manually enable the gnutls or libnss +package if you require features that depend on a cryptography backend, such as +certificate-based authentication. diff --git a/docs/manual/migrating.txt b/docs/manual/migrating.txt deleted file mode 100644 index 92e487c71ec..00000000000 --- a/docs/manual/migrating.txt +++ /dev/null @@ -1,58 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[migrating-from-ol-versions]] -== Migrating from older Buildroot versions - -Some versions have introduced backward incompatibilities. This section -explains those incompatibilities, and for each explains what to do to -complete the migration. - -[[br2-external-converting]] -=== Migrating to 2016.11 - -Before Buildroot 2016.11, it was possible to use only one br2-external -tree at once. With Buildroot 2016.11 came the possibility to use more -than one simultaneously (for details, see xref:outside-br-custom[]). - -This however means that older br2-external trees are not usable as-is. -A minor change has to be made: adding a name to your br2-external tree. - -This can be done very easily in just a few steps: - - * First, create a new file named +external.desc+, at the root of your - br2-external tree, with a single line defining the name of your - br2-external tree: -+ ----- -$ echo 'name: NAME_OF_YOUR_TREE' >external.desc ----- -+ -.Note -Be careful when choosing a name: It has to be unique and be made -with only ASCII characters from the set +[A-Za-z0-9_]+. - - * Then, change every occurence of +BR2_EXTERNAL+ in your br2-external - tree with the new variable: -+ ----- -$ find . -type f | xargs sed -i 's/BR2_EXTERNAL/BR2_EXTERNAL_NAME_OF_YOUR_TREE_PATH/g' ----- - -Now, your br2-external tree can be used with Buildroot 2016.11 onward. - -.Note: -This change makes your br2-external tree incompatible with Buildroot -before 2016.11. - -[[migrating-host-usr]] -=== Migrating to 2017.08 - -Before Buildroot 2017.08, host packages were installed in +$(HOST_DIR)/usr+ -(with e.g. the autotools' +--prefix=$(HOST_DIR)/usr+). With Buildroot -2017.08, they are now installed directly in +$(HOST_DIR)+. - -Whenever a package installs an executable that is linked with a library -in +$(HOST_DIR)/lib+, it must have an RPATH pointing to that directory. - -An RPATH pointing to +$(HOST_DIR)/usr/lib+ is no longer accepted. diff --git a/docs/manual/package-make-target.adoc b/docs/manual/package-make-target.adoc new file mode 100644 index 00000000000..7a7ba7f7a03 --- /dev/null +++ b/docs/manual/package-make-target.adoc @@ -0,0 +1,100 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[pkg-build-steps]] + +==== Package-specific _make_ targets + +Running +make + builds and installs that particular package +and its dependencies. + +For packages relying on the Buildroot infrastructure, there are +numerous special make targets that can be called independently like +this: + +---- +make - +---- + +The package build targets are (in the order they are executed): + +[width="90%",cols="^1,4",options="header"] +|=================================================== +| command/target | Description + +| +source+ | Fetch the source (download the tarball, clone +the source repository, etc) + +| +depends+ | Build and install all dependencies required to +build the package + +| +extract+ | Put the source in the package build directory +(extract the tarball, copy the source, etc) + +| +patch+ | Apply the patches, if any + +| +configure+ | Run the configure commands, if any + +| +build+ | Run the compilation commands + +| +install-staging+ | +*target package:* Run the installation of the package in the +staging directory, if necessary + +| +install-target+ | +*target package:* Run the installation of the package in the +target directory, if necessary + +| +install+ | +*target package:* Run the 2 previous installation commands + +*host package:* Run the installation of the package in the host +directory + +|=================================================== + +Additionally, there are some other useful make targets: + +[width="90%",cols="^1,4",options="header"] +|=================================================== +| command/target | Description + +| +show-depends+ | Displays the first-order dependencies required to build the +package + +| +show-recursive-depends+ | Recursively displays the dependencies + required to build the package + +| +show-rdepends+ | Displays the first-order reverse dependencies of + the package (i.e packages that directly depend on it) + +| +show-recursive-rdepends+ | Recursively displays the reverse + dependencies of the package (i.e the packages that depend on it, + directly or indirectly) + +| +graph-depends+ | Generate a dependency graph of the package, in the +context of the current Buildroot configuration. See +xref:graph-depends[this section] for more details about dependency +graphs. + +| +graph-rdepends+ | Generate a graph of this package reverse + dependencies (i.e the packages that depend on it, directly or + indirectly) + +| +graph-both-depends+ | Generate a graph of this package in both + directions (i.e the packages that depend on it and on which it + depends, directly or indirectly) + +| +dirclean+ | Remove the whole package build directory + +| +reinstall+ | Re-run the install commands + +| +rebuild+ | Re-run the compilation commands - this only makes +sense when using the +OVERRIDE_SRCDIR+ feature or when you modified a file +directly in the build directory + +| +reconfigure+ | Re-run the configure commands, then rebuild - this only +makes sense when using the +OVERRIDE_SRCDIR+ feature or when you modified a +file directly in the build directory + +|=================================================== diff --git a/docs/manual/package-make-target.txt b/docs/manual/package-make-target.txt deleted file mode 100644 index c91106e8e93..00000000000 --- a/docs/manual/package-make-target.txt +++ /dev/null @@ -1,82 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[pkg-build-steps]] - -==== Package-specific _make_ targets - -Running +make + builds and installs that particular package -and its dependencies. - -For packages relying on the Buildroot infrastructure, there are -numerous special make targets that can be called independently like -this: - ------------- -make - ------------- - -The package build targets are (in the order they are executed): - -[width="90%",cols="^1,4",options="header"] -|=================================================== -| command/target | Description - -| +source+ | Fetch the source (download the tarball, clone -the source repository, etc) - -| +depends+ | Build and install all dependencies required to -build the package - -| +extract+ | Put the source in the package build directory -(extract the tarball, copy the source, etc) - -| +patch+ | Apply the patches, if any - -| +configure+ | Run the configure commands, if any - -| +build+ | Run the compilation commands - -| +install-staging+ | -*target package:* Run the installation of the package in the -staging directory, if necessary - -| +install-target+ | -*target package:* Run the installation of the package in the -target directory, if necessary - -| +install+ | -*target package:* Run the 2 previous installation commands - -*host package:* Run the installation of the package in the host -directory - -|=================================================== - -Additionally, there are some other useful make targets: - -[width="90%",cols="^1,4",options="header"] -|=================================================== -| command/target | Description - -| +show-depends+ | Displays the dependencies required to build the -package - -| +graph-depends+ | Generate a dependency graph of the package, in the -context of the current Buildroot configuration. See -xref:graph-depends[this section] for more details about dependency -graphs. - -| +dirclean+ | Remove the whole package build directory - -| +reinstall+ | Re-run the install commands - -| +rebuild+ | Re-run the compilation commands - this only makes -sense when using the +OVERRIDE_SRCDIR+ feature or when you modified a file -directly in the build directory - -| +reconfigure+ | Re-run the configure commands, then rebuild - this only -makes sense when using the +OVERRIDE_SRCDIR+ feature or when you modified a -file directly in the build directory - -|=================================================== diff --git a/docs/manual/patch-policy.adoc b/docs/manual/patch-policy.adoc new file mode 100644 index 00000000000..02051f2f0ee --- /dev/null +++ b/docs/manual/patch-policy.adoc @@ -0,0 +1,191 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[patch-policy]] + +== Patching a package + +While integrating a new package or updating an existing one, it may be +necessary to patch the source of the software to get it cross-built within +Buildroot. + +Buildroot offers an infrastructure to automatically handle this during +the builds. It supports three ways of applying patch sets: downloaded patches, +patches supplied within buildroot and patches located in a user-defined +global patch directory. + +=== Providing patches + +==== Downloaded + +If it is necessary to apply a patch that is available for download, then add it +to the +_PATCH+ variable. If an entry contains +://+, +then Buildroot will assume it is a full URL and download the patch +from this location. Otherwise, Buildroot will assume that the patch should be +downloaded from +_SITE+. It can be a single patch, +or a tarball containing a patch series. + +Like for all downloads, a hash should be added to the +.hash+ +file. + +This method is typically used for packages from Debian. + +==== Within Buildroot + +Most patches are provided within Buildroot, in the package +directory; these typically aim to fix cross-compilation, libc support, +or other such issues. + +These patch files should be named +-.patch+. + +.Notes +- The patch files coming with Buildroot should not contain any package version + reference in their filename. +- The field ++ in the patch file name refers to the 'apply order', + and shall start at 1; It is preferred to pad the number with zeros up to 4 + digits, like 'git-format-patch' does. E.g.: +0001-foobar-the-buz.patch+ +- The patch email subject prefix shall not be numbered. Patches shall + be generated with the +git format-patch -N+ command, since this + numbering is automatically added for series. For example, the patch + subject line should look like +Subject: [PATCH] foobar the buz+ rather + than +Subject: [PATCH n/m] foobar the buz+. +- Previously, it was mandatory for patches to be prefixed with the name of + the package, like +--.patch+, but that is + no longer the case. Existing packages will be fixed as time passes. 'Do + not prefix patches with the package name.' +- Previously, a +series+ file, as used by +quilt+, could also be added in + the package directory. In that case, the +series+ file defines the patch + application order. This is deprecated, and will be removed in the future. + 'Do not use a series file.' + + +==== Global patch directory + +The +BR2_GLOBAL_PATCH_DIR+ configuration file option can be +used to specify a space separated list of one or more directories +containing global package patches. See xref:customize-patches[] for +details. + +[[patch-apply-order]] +=== How patches are applied + +. Run the +_PRE_PATCH_HOOKS+ commands if defined; + +. Cleanup the build directory, removing any existing +*.rej+ files; + +. If +_PATCH+ is defined, then patches from these + tarballs are applied; + +. If there are some +*.patch+ files in the package's Buildroot + directory or in a package subdirectory named ++, + then: ++ +* If a +series+ file exists in the package directory, then patches are + applied according to the +series+ file; ++ +* Otherwise, patch files matching +*.patch+ are applied in alphabetical + order. + So, to ensure they are applied in the right order, it is highly + recommended to name the patch files like this: + +-.patch+, where ++ refers to the + 'apply order'. + +. If +BR2_GLOBAL_PATCH_DIR+ is defined, the directories will be + enumerated in the order they are specified. The patches are applied + as described in the previous step. + +. Run the +_POST_PATCH_HOOKS+ commands if defined. + +If something goes wrong in the steps _3_ or _4_, then the build fails. + +=== Format and licensing of the package patches + +Patches are released under the same license as the software they apply +to (see xref:legal-info-buildroot[]). + +A message explaining what the patch does, and why it is needed, should +be added in the header commentary of the patch. + +You should add a +Signed-off-by+ statement in the header of the each +patch to help with keeping track of the changes and to certify that the +patch is released under the same license as the software that is modified. + +If the software is under version control, it is recommended to use the +upstream SCM software to generate the patch set. + +Otherwise, concatenate the header with the output of the ++diff -purN package-version.orig/ package-version/+ command. + +If you update an existing patch (e.g. when bumping the package version), +make sure the existing From header and Signed-off-by tags are not +removed, but do update the rest of the patch comment when appropriate. + +At the end, the patch should look like: + +---- +configure.ac: add C++ support test + +Signed-off-by: John Doe + +--- configure.ac.orig ++++ configure.ac +@@ -40,2 +40,12 @@ + +AC_PROG_MAKE_SET ++ ++AC_CACHE_CHECK([whether the C++ compiler works], ++ [rw_cv_prog_cxx_works], ++ [AC_LANG_PUSH([C++]) ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], ++ [rw_cv_prog_cxx_works=yes], ++ [rw_cv_prog_cxx_works=no]) ++ AC_LANG_POP([C++])]) ++ ++AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"]) +---- + +[[additional-patch-documentation]] +=== Additional patch documentation + +Ideally, all patches should document an upstream patch or patch submission, when +applicable, via the +Upstream+ trailer. + +When backporting an upstream patch that has been accepted into mainline, it is +preferred that the URL to the commit is referenced: + +---- +Upstream: +---- + +If a new issue is identified in Buildroot and upstream is generally affected by +the issue (it's not a Buildroot specific issue), users should submit the patch +upstream and provide a link to that submission when possible: + +---- +Upstream: +---- + +Patches that have been submitted but were denied upstream should note that and +include comments about why the patch is being used despite the upstream status. + +Note: in any of the above scenarios, it is also sensible to add a few words +about any changes to the patch that may have been necessary. + +If a patch does not apply upstream then this should be noted with a comment: + +---- +Upstream: N/A +---- + +Adding this documentation helps streamline the patch review process during +package version updates. + +If the patch addresses one or multiple vulnerabilities, list each identifier on +a separate line with a +CVE+ trailer. + +---- +CVE: +---- + +If multiple patches address the same vulnerability, reference the vulnerability +in every patch. diff --git a/docs/manual/patch-policy.txt b/docs/manual/patch-policy.txt deleted file mode 100644 index e704a0d3f3d..00000000000 --- a/docs/manual/patch-policy.txt +++ /dev/null @@ -1,162 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[patch-policy]] - -== Patching a package - -While integrating a new package or updating an existing one, it may be -necessary to patch the source of the software to get it cross-built within -Buildroot. - -Buildroot offers an infrastructure to automatically handle this during -the builds. It supports three ways of applying patch sets: downloaded patches, -patches supplied within buildroot and patches located in a user-defined -global patch directory. - -=== Providing patches - -==== Downloaded - -If it is necessary to apply a patch that is available for download, then add it -to the +_PATCH+ variable. If an entry contains +://+, -then Buildroot will assume it is a full URL and download the patch -from this location. Otherwise, Buildroot will assume that the patch should be -downloaded from +_SITE+. It can be a single patch, -or a tarball containing a patch series. - -Like for all downloads, a hash should be added to the +.hash+ -file. - -This method is typically used for packages from Debian. - -==== Within Buildroot - -Most patches are provided within Buildroot, in the package -directory; these typically aim to fix cross-compilation, libc support, -or other such issues. - -These patch files should be named +-.patch+. - -.Notes -- The patch files coming with Buildroot should not contain any package version - reference in their filename. -- The field ++ in the patch file name refers to the 'apply order', - and shall start at 1; It is preferred to pad the number with zeros up to 4 - digits, like 'git-format-patch' does. E.g.: +0001-foobar-the-buz.patch+ -- Previously, it was mandatory for patches to be prefixed with the name of - the package, like +--.patch+, but that is - no longer the case. Existing packages will be fixed as time passes. 'Do - not prefix patches with the package name.' -- Previously, a +series+ file, as used by +quilt+, could also be added in - the package directory. In that case, the +series+ file defines the patch - application order. This is deprecated, and will be removed in the future. - 'Do not use a series file.' - - -==== Global patch directory - -The +BR2_GLOBAL_PATCH_DIR+ configuration file option can be -used to specify a space separated list of one or more directories -containing global package patches. See xref:customize-patches[] for -details. - -[[patch-apply-order]] -=== How patches are applied - -. Run the +_PRE_PATCH_HOOKS+ commands if defined; - -. Cleanup the build directory, removing any existing +*.rej+ files; - -. If +_PATCH+ is defined, then patches from these - tarballs are applied; - -. If there are some +*.patch+ files in the package's Buildroot - directory or in a package subdirectory named ++, - then: -+ -* If a +series+ file exists in the package directory, then patches are - applied according to the +series+ file; -+ -* Otherwise, patch files matching +*.patch+ are applied in alphabetical - order. - So, to ensure they are applied in the right order, it is highly - recommended to name the patch files like this: - +-.patch+, where ++ refers to the - 'apply order'. - -. If +BR2_GLOBAL_PATCH_DIR+ is defined, the directories will be - enumerated in the order they are specified. The patches are applied - as described in the previous step. - -. Run the +_POST_PATCH_HOOKS+ commands if defined. - -If something goes wrong in the steps _3_ or _4_, then the build fails. - -=== Format and licensing of the package patches - -Patches are released under the same license as the software they apply -to (see xref:legal-info-buildroot[]). - -A message explaining what the patch does, and why it is needed, should -be added in the header commentary of the patch. - -You should add a +Signed-off-by+ statement in the header of the each -patch to help with keeping track of the changes and to certify that the -patch is released under the same license as the software that is modified. - -If the software is under version control, it is recommended to use the -upstream SCM software to generate the patch set. - -Otherwise, concatenate the header with the output of the -+diff -purN package-version.orig/ package-version/+ command. - -If you update an existing patch (e.g. when bumping the package version), -make sure the existing From header and Signed-off-by tags are not -removed, but do update the rest of the patch comment when appropriate. - -At the end, the patch should look like: - ---------------- -configure.ac: add C++ support test - -Signed-off-by: John Doe - ---- configure.ac.orig -+++ configure.ac -@@ -40,2 +40,12 @@ - -AC_PROG_MAKE_SET -+ -+AC_CACHE_CHECK([whether the C++ compiler works], -+ [rw_cv_prog_cxx_works], -+ [AC_LANG_PUSH([C++]) -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], -+ [rw_cv_prog_cxx_works=yes], -+ [rw_cv_prog_cxx_works=no]) -+ AC_LANG_POP([C++])]) -+ -+AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"]) ---------------- - -=== Integrating patches found on the Web - -When integrating a patch of which you are not the author, you have to -add a few things in the header of the patch itself. - -Depending on whether the patch has been obtained from the project -repository itself, or from somewhere on the web, add one of the -following tags: - ---------------- -Backported from: ---------------- - -or - ---------------- -Fetch from: ---------------- - -It is also sensible to add a few words about any changes to the patch -that may have been necessary. diff --git a/docs/manual/prerequisite.adoc b/docs/manual/prerequisite.adoc new file mode 100644 index 00000000000..1bfcff1a4a1 --- /dev/null +++ b/docs/manual/prerequisite.adoc @@ -0,0 +1,103 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[requirement]] +== System requirements + +Buildroot is designed to run on Linux systems. + +While Buildroot itself will build most host packages it needs for the +compilation, certain standard Linux utilities are expected to be +already installed on the host system. Below you will find an overview of +the mandatory and optional packages (note that package names may vary +between distributions). + +[[requirement-mandatory]] + +=== Mandatory packages + +* Build tools: + +** +which+ +** +sed+ +** +make+ (version 3.81 or any later) +** +binutils+ +** +build-essential+ (only for Debian based systems) +** +diffutils+ +** +gcc+ (version 4.8 or any later) +** `g++` (version 4.8 or any later) +** +bash+ +** +patch+ +** +gzip+ +** +bzip2+ +** +perl+ (version 5.8.7 or any later) +** +tar+ +** +cpio+ +** +unzip+ +** +rsync+ +** +file+ (must be in +/usr/bin/file+) +** +bc+ +** +findutils+ +** +awk+ + +* Source fetching tools: +** +wget+ + +[[requirement-optional]] + +=== Optional packages + +* Recommended dependencies: ++ +Some features or utilities in Buildroot, like the legal-info, or the +graph generation tools, have additional dependencies. Although they +are not mandatory for a simple build, they are still highly recommended: ++ +** +python+ (version 2.7 or any later) + +* Configuration interface dependencies: ++ +For these libraries, you need to install both runtime and development +data, which in many distributions are packaged separately. The +development packages typically have a _-dev_ or _-devel_ suffix. ++ +** +ncurses5+ to use the 'menuconfig' interface +** +qt5+ to use the 'xconfig' interface +** +glib2+, +gtk2+ and +glade2+ to use the 'gconfig' interface + +* Source fetching tools: ++ +In the official tree, most of the package sources are retrieved using ++wget+ from _ftp_, _http_ or _https_ locations. A few packages are only +available through a version control system. Moreover, Buildroot is +capable of downloading sources via other tools, like +git+ or +scp+ +(refer to xref:download-infra[] for more details). If you enable +packages using any of these methods, you will need to install the +corresponding tool on the host system: ++ +** +bazaar+ +** +curl+ +** +cvs+ +** +git+ +** +mercurial+ +** +scp+ +** +sftp+ +** +subversion+ + +* Java-related packages, if the Java Classpath needs to be built for + the target system: +** The +javac+ compiler +** The +jar+ tool + +* Documentation generation tools: +** +asciidoc+, version 8.6.3 or higher +** +w3m+ +** +python+ with the +argparse+ module (automatically present in 2.7+ and 3.2+) +** +dblatex+ (required for the pdf manual only) + +* Graph generation tools: +** +graphviz+ to use 'graph-depends' and '-graph-depends' +** +python-matplotlib+ to use 'graph-build' + +* Package statistics tools ('pkg-stats'): +** +python-aiohttp+ diff --git a/docs/manual/prerequisite.txt b/docs/manual/prerequisite.txt deleted file mode 100644 index 110fab41fda..00000000000 --- a/docs/manual/prerequisite.txt +++ /dev/null @@ -1,89 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[requirement]] -== System requirements - -Buildroot is designed to run on Linux systems. - -While Buildroot itself will build most host packages it needs for the -compilation, certain standard Linux utilities are expected to be -already installed on the host system. Below you will find an overview of -the mandatory and optional packages (note that package names may vary -between distributions). - -[[requirement-mandatory]] - -=== Mandatory packages - -* Build tools: - -** +which+ -** +sed+ -** +make+ (version 3.81 or any later) -** +binutils+ -** +build-essential+ (only for Debian based systems) -** +gcc+ (version 2.95 or any later) -** `g++` (version 2.95 or any later) -** +bash+ -** +patch+ -** +gzip+ -** +bzip2+ -** +perl+ (version 5.8.7 or any later) -** +tar+ -** +cpio+ -** +python+ (version 2.6 or any later) -** +unzip+ -** +rsync+ -** +file+ (must be in +/usr/bin/file+) -** +bc+ - -* Source fetching tools: -** +wget+ - -[[requirement-optional]] - -=== Optional packages - -* Configuration interface dependencies: -+ -For these libraries, you need to install both runtime and development -data, which in many distributions are packaged separately. The -development packages typically have a _-dev_ or _-devel_ suffix. -+ -** +ncurses5+ to use the 'menuconfig' interface -** +qt4+ to use the 'xconfig' interface -** +glib2+, +gtk2+ and +glade2+ to use the 'gconfig' interface - -* Source fetching tools: -+ -In the official tree, most of the package sources are retrieved using -+wget+ from _ftp_, _http_ or _https_ locations. A few packages are only -available through a version control system. Moreover, Buildroot is -capable of downloading sources via other tools, like +rsync+ or +scp+ -(refer to xref:download-infra[] for more details). If you enable -packages using any of these methods, you will need to install the -corresponding tool on the host system: -+ -** +bazaar+ -** +cvs+ -** +git+ -** +mercurial+ -** +rsync+ -** +scp+ -** +subversion+ - -* Java-related packages, if the Java Classpath needs to be built for - the target system: -** The +javac+ compiler -** The +jar+ tool - -* Documentation generation tools: -** +asciidoc+, version 8.6.3 or higher -** +w3m+ -** +python+ with the +argparse+ module (automatically present in 2.7+ and 3.2+) -** +dblatex+ (required for the pdf manual only) - -* Graph generation tools: -** +graphviz+ to use 'graph-depends' and '-graph-depends' -** +python-matplotlib+ to use 'graph-build' diff --git a/docs/manual/quickstart.adoc b/docs/manual/quickstart.adoc new file mode 100644 index 00000000000..605031037f9 --- /dev/null +++ b/docs/manual/quickstart.adoc @@ -0,0 +1,125 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== Buildroot quick start + +*Important*: you can and should *build everything as a normal user*. There +is no need to be root to configure and use Buildroot. By running all +commands as a regular user, you protect your system against packages +behaving badly during compilation and installation. + +The first step when using Buildroot is to create a configuration. +Buildroot has a nice configuration tool similar to the one you can +find in the http://www.kernel.org/[Linux kernel] or in +http://www.busybox.net/[BusyBox]. + +From the buildroot directory, run + +---- + $ make menuconfig +---- + +for the original curses-based configurator, or + +---- + $ make nconfig +---- + +for the new curses-based configurator, or + +---- + $ make xconfig +---- + +for the Qt-based configurator, or + +---- + $ make gconfig +---- + +for the GTK-based configurator. + +All of these "make" commands will need to build a configuration +utility (including the interface), so you may need to install +"development" packages for relevant libraries used by the +configuration utilities. Refer to xref:requirement[] for more details, +specifically the xref:requirement-optional[optional requirements] +to get the dependencies of your favorite interface. + +For each menu entry in the configuration tool, you can find associated +help that describes the purpose of the entry. Refer to xref:configure[] +for details on some specific configuration aspects. + +Once everything is configured, the configuration tool generates a ++.config+ file that contains the entire configuration. This file will be +read by the top-level Makefile. + +To start the build process, simply run: + +---- + $ make +---- + +By default, Buildroot does not support top-level parallel build, so +running +make -jN+ is not necessary. There is however experimental +support for top-level parallel build, see +xref:top-level-parallel-build[]. + +The `make` command will generally perform the following steps: + +* download source files (as required); +* configure, build and install the cross-compilation toolchain, or + simply import an external toolchain; +* configure, build and install selected target packages; +* build a kernel image, if selected; +* build a bootloader image, if selected; +* create a root filesystem in selected formats. + +Buildroot output is stored in a single directory, +output/+. +This directory contains several subdirectories: + +* +images/+ where all the images (kernel image, bootloader and root + filesystem images) are stored. These are the files you need to put + on your target system. + +* +build/+ where all the components are built (this includes tools + needed by Buildroot on the host and packages compiled for the + target). This directory contains one subdirectory for each of these + components. + +* +host/+ contains both the tools built for the host, and the sysroot + of the target toolchain. The former is an installation of tools + compiled for the host that are needed for the proper execution of + Buildroot, including the cross-compilation toolchain. The latter + is a hierarchy similar to a root filesystem hierarchy. It contains + the headers and libraries of all user-space packages that provide + and install libraries used by other packages. However, this + directory is 'not' intended to be the root filesystem for the target: + it contains a lot of development files, unstripped binaries and + libraries that make it far too big for an embedded system. These + development files are used to compile libraries and applications for + the target that depend on other libraries. + +* +staging/+ is a symlink to the target toolchain sysroot inside + +host/+, which exists for backwards compatibility. + +* +target/+ which contains 'almost' the complete root filesystem for + the target: everything needed is present except the device files in + +/dev/+ (Buildroot can't create them because Buildroot doesn't run + as root and doesn't want to run as root). Also, it doesn't have the correct + permissions (e.g. setuid for the busybox binary). Therefore, this directory + *should not be used on your target*. Instead, you should use one of + the images built in the +images/+ directory. If you need an + extracted image of the root filesystem for booting over NFS, then + use the tarball image generated in +images/+ and extract it as + root. Compared to +staging/+, +target/+ contains only the files and + libraries needed to run the selected target applications: the + development files (headers, etc.) are not present, the binaries are + stripped. + +These commands, +make menuconfig|nconfig|gconfig|xconfig+ and +make+, are the +basic ones that allow to easily and quickly generate images fitting +your needs, with all the features and applications you enabled. + +More details about the "make" command usage are given in +xref:make-tips[]. diff --git a/docs/manual/quickstart.txt b/docs/manual/quickstart.txt deleted file mode 100644 index 74158ae2499..00000000000 --- a/docs/manual/quickstart.txt +++ /dev/null @@ -1,123 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -== Buildroot quick start - -*Important*: you can and should *build everything as a normal user*. There -is no need to be root to configure and use Buildroot. By running all -commands as a regular user, you protect your system against packages -behaving badly during compilation and installation. - -The first step when using Buildroot is to create a configuration. -Buildroot has a nice configuration tool similar to the one you can -find in the http://www.kernel.org/[Linux kernel] or in -http://www.busybox.net/[BusyBox]. - -From the buildroot directory, run - --------------------- - $ make menuconfig --------------------- - -for the original curses-based configurator, or - --------------------- - $ make nconfig --------------------- - -for the new curses-based configurator, or - --------------------- - $ make xconfig --------------------- - -for the Qt-based configurator, or - --------------------- - $ make gconfig --------------------- - -for the GTK-based configurator. - -All of these "make" commands will need to build a configuration -utility (including the interface), so you may need to install -"development" packages for relevant libraries used by the -configuration utilities. Refer to xref:requirement[] for more details, -specifically the xref:requirement-optional[optional requirements] -to get the dependencies of your favorite interface. - -For each menu entry in the configuration tool, you can find associated -help that describes the purpose of the entry. Refer to xref:configure[] -for details on some specific configuration aspects. - -Once everything is configured, the configuration tool generates a -+.config+ file that contains the entire configuration. This file will be -read by the top-level Makefile. - -To start the build process, simply run: - --------------------- - $ make --------------------- - -You *should never* use +make -jN+ with Buildroot: top-level parallel -make is currently not supported. Instead, use the +BR2_JLEVEL+ option -to tell Buildroot to run the compilation of each individual package -with +make -jN+. - -The `make` command will generally perform the following steps: - -* download source files (as required); -* configure, build and install the cross-compilation toolchain, or - simply import an external toolchain; -* configure, build and install selected target packages; -* build a kernel image, if selected; -* build a bootloader image, if selected; -* create a root filesystem in selected formats. - -Buildroot output is stored in a single directory, +output/+. -This directory contains several subdirectories: - -* +images/+ where all the images (kernel image, bootloader and root - filesystem images) are stored. These are the files you need to put - on your target system. - -* +build/+ where all the components are built (this includes tools - needed by Buildroot on the host and packages compiled for the - target). This directory contains one subdirectory for each of these - components. - -* +staging/+ which contains a hierarchy similar to a root filesystem - hierarchy. This directory contains the headers and libraries of the - cross-compilation toolchain and all the userspace packages selected - for the target. However, this directory is 'not' intended to be - the root filesystem for the target: it contains a lot of development - files, unstripped binaries and libraries that make it far too big - for an embedded system. These development files are used to compile - libraries and applications for the target that depend on other - libraries. - -* +target/+ which contains 'almost' the complete root filesystem for - the target: everything needed is present except the device files in - +/dev/+ (Buildroot can't create them because Buildroot doesn't run - as root and doesn't want to run as root). Also, it doesn't have the correct - permissions (e.g. setuid for the busybox binary). Therefore, this directory - *should not be used on your target*. Instead, you should use one of - the images built in the +images/+ directory. If you need an - extracted image of the root filesystem for booting over NFS, then - use the tarball image generated in +images/+ and extract it as - root. Compared to +staging/+, +target/+ contains only the files and - libraries needed to run the selected target applications: the - development files (headers, etc.) are not present, the binaries are - stripped. - -* +host/+ contains the installation of tools compiled for the host - that are needed for the proper execution of Buildroot, including the - cross-compilation toolchain. - -These commands, +make menuconfig|nconfig|gconfig|xconfig+ and +make+, are the -basic ones that allow to easily and quickly generate images fitting -your needs, with all the features and applications you enabled. - -More details about the "make" command usage are given in -xref:make-tips[]. diff --git a/docs/manual/rebuilding-packages.adoc b/docs/manual/rebuilding-packages.adoc new file mode 100644 index 00000000000..0658a93b303 --- /dev/null +++ b/docs/manual/rebuilding-packages.adoc @@ -0,0 +1,136 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[full-rebuild]] +=== Understanding when a full rebuild is necessary + +Buildroot does not attempt to detect what parts of the system should +be rebuilt when the system configuration is changed through +make +menuconfig+, +make xconfig+ or one of the other configuration +tools. In some cases, Buildroot should rebuild the entire system, in +some cases, only a specific subset of packages. But detecting this in +a completely reliable manner is very difficult, and therefore the +Buildroot developers have decided to simply not attempt to do this. + +Instead, it is the responsibility of the user to know when a full +rebuild is necessary. As a hint, here are a few rules of thumb that +can help you understand how to work with Buildroot: + + * When the target architecture configuration is changed, a complete + rebuild is needed. Changing the architecture variant, the binary + format or the floating point strategy for example has an impact on + the entire system. + + * When the toolchain configuration is changed, a complete rebuild + generally is needed. Changing the toolchain configuration often + involves changing the compiler version, the type of C library or + its configuration, or some other fundamental configuration item, + and these changes have an impact on the entire system. + + * When an additional package is added to the configuration, a full + rebuild is not necessarily needed. Buildroot will detect that this + package has never been built, and will build it. However, if this + package is a library that can optionally be used by packages that + have already been built, Buildroot will not automatically rebuild + those. Either you know which packages should be rebuilt, and you + can rebuild them manually, or you should do a full rebuild. For + example, let's suppose you have built a system with the +ctorrent+ + package, but without +openssl+. Your system works, but you realize + you would like to have SSL support in +ctorrent+, so you enable the + +openssl+ package in Buildroot configuration and restart the + build. Buildroot will detect that +openssl+ should be built and + will be build it, but it will not detect that +ctorrent+ should be + rebuilt to benefit from +openssl+ to add OpenSSL support. You will + either have to do a full rebuild, or rebuild +ctorrent+ itself. + + * When a package is removed from the configuration, Buildroot does + not do anything special. It does not remove the files installed by + this package from the target root filesystem or from the toolchain + _sysroot_. A full rebuild is needed to get rid of this + package. However, generally you don't necessarily need this package + to be removed right now: you can wait for the next lunch break to + restart the build from scratch. + + * When the sub-options of a package are changed, the package is not + automatically rebuilt. After making such changes, rebuilding only + this package is often sufficient, unless enabling the package + sub-option adds some features to the package that are useful for + another package which has already been built. Again, Buildroot does + not track when a package should be rebuilt: once a package has been + built, it is never rebuilt unless explicitly told to do so. + + * When a change to the root filesystem skeleton is made, a full + rebuild is needed. However, when changes to the root filesystem + overlay, a post-build script or a post-image script are made, + there is no need for a full rebuild: a simple +make+ invocation + will take the changes into account. + + * When a package listed in +FOO_DEPENDENCIES+ is rebuilt or removed, + the package +foo+ is not automatically rebuilt. For example, if a + package +bar+ is listed in +FOO_DEPENDENCIES+ with +FOO_DEPENDENCIES + = bar+ and the configuration of the +bar+ package is changed, the + configuration change would not result in a rebuild of package +foo+ + automatically. In this scenario, you may need to either rebuild any + packages in your build which reference +bar+ in their +DEPENDENCIES+, + or perform a full rebuild to ensure any +bar+ dependent packages are + up to date. + +Generally speaking, when you're facing a build error and you're unsure +of the potential consequences of the configuration changes you've +made, do a full rebuild. If you get the same build error, then you are +sure that the error is not related to partial rebuilds of packages, +and if this error occurs with packages from the official Buildroot, do +not hesitate to report the problem! As your experience with Buildroot +progresses, you will progressively learn when a full rebuild is really +necessary, and you will save more and more time. + +For reference, a full rebuild is achieved by running: + +---- +$ make clean all +---- + +[[rebuild-pkg]] +=== Understanding how to rebuild packages + +One of the most common questions asked by Buildroot users is how to +rebuild a given package or how to remove a package without rebuilding +everything from scratch. + +Removing a package is unsupported by Buildroot without +rebuilding from scratch. This is because Buildroot doesn't keep track +of which package installs what files in the +output/staging+ and ++output/target+ directories, or which package would be compiled differently +depending on the availability of another package. + +The easiest way to rebuild a single package from scratch is to remove +its build directory in +output/build+. Buildroot will then re-extract, +re-configure, re-compile and re-install this package from scratch. You +can ask buildroot to do this with the +make -dirclean+ command. + +On the other hand, if you only want to restart the build process of a +package from its compilation step, you can run +make -rebuild+. It +will restart the compilation and installation of the package, but not from +scratch: it basically re-executes +make+ and +make install+ inside the package, +so it will only rebuild files that changed. + +If you want to restart the build process of a package from its configuration +step, you can run +make -reconfigure+. It will restart the +configuration, compilation and installation of the package. + +While +-rebuild+ implies +-reinstall+ and ++-reconfigure+ implies +-rebuild+, these targets as well +as ++ only act on the said package, and do not trigger re-creating +the root filesystem image. If re-creating the root filesystem in necessary, +one should in addition run +make+ or +make all+. + +Internally, Buildroot creates so-called _stamp files_ to keep track of +which build steps have been completed for each package. They are +stored in the package build directory, ++output/build/-/+ and are named ++.stamp_+. The commands detailed above simply manipulate +these stamp files to force Buildroot to restart a specific set of +steps of a package build process. + +Further details about package special make targets are explained in +xref:pkg-build-steps[]. diff --git a/docs/manual/rebuilding-packages.txt b/docs/manual/rebuilding-packages.txt deleted file mode 100644 index 6faa67adcb5..00000000000 --- a/docs/manual/rebuilding-packages.txt +++ /dev/null @@ -1,122 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[full-rebuild]] -=== Understanding when a full rebuild is necessary - -Buildroot does not attempt to detect what parts of the system should -be rebuilt when the system configuration is changed through +make -menuconfig+, +make xconfig+ or one of the other configuration -tools. In some cases, Buildroot should rebuild the entire system, in -some cases, only a specific subset of packages. But detecting this in -a completely reliable manner is very difficult, and therefore the -Buildroot developers have decided to simply not attempt to do this. - -Instead, it is the responsibility of the user to know when a full -rebuild is necessary. As a hint, here are a few rules of thumb that -can help you understand how to work with Buildroot: - - * When the target architecture configuration is changed, a complete - rebuild is needed. Changing the architecture variant, the binary - format or the floating point strategy for example has an impact on - the entire system. - - * When the toolchain configuration is changed, a complete rebuild - generally is needed. Changing the toolchain configuration often - involves changing the compiler version, the type of C library or - its configuration, or some other fundamental configuration item, - and these changes have an impact on the entire system. - - * When an additional package is added to the configuration, a full - rebuild is not necessarily needed. Buildroot will detect that this - package has never been built, and will build it. However, if this - package is a library that can optionally be used by packages that - have already been built, Buildroot will not automatically rebuild - those. Either you know which packages should be rebuilt, and you - can rebuild them manually, or you should do a full rebuild. For - example, let's suppose you have built a system with the +ctorrent+ - package, but without +openssl+. Your system works, but you realize - you would like to have SSL support in +ctorrent+, so you enable the - +openssl+ package in Buildroot configuration and restart the - build. Buildroot will detect that +openssl+ should be built and - will be build it, but it will not detect that +ctorrent+ should be - rebuilt to benefit from +openssl+ to add OpenSSL support. You will - either have to do a full rebuild, or rebuild +ctorrent+ itself. - - * When a package is removed from the configuration, Buildroot does - not do anything special. It does not remove the files installed by - this package from the target root filesystem or from the toolchain - _sysroot_. A full rebuild is needed to get rid of this - package. However, generally you don't necessarily need this package - to be removed right now: you can wait for the next lunch break to - restart the build from scratch. - - * When the sub-options of a package are changed, the package is not - automatically rebuilt. After making such changes, rebuilding only - this package is often sufficient, unless enabling the package - sub-option adds some features to the package that are useful for - another package which has already been built. Again, Buildroot does - not track when a package should be rebuilt: once a package has been - built, it is never rebuilt unless explicitly told to do so. - - * When a change to the root filesystem skeleton is made, a full - rebuild is needed. However, when changes to the root filesystem - overlay, a post-build script or a post-image script are made, - there is no need for a full rebuild: a simple +make+ invocation - will take the changes into account. - -Generally speaking, when you're facing a build error and you're unsure -of the potential consequences of the configuration changes you've -made, do a full rebuild. If you get the same build error, then you are -sure that the error is not related to partial rebuilds of packages, -and if this error occurs with packages from the official Buildroot, do -not hesitate to report the problem! As your experience with Buildroot -progresses, you will progressively learn when a full rebuild is really -necessary, and you will save more and more time. - -For reference, a full rebuild is achieved by running: - ---------------- -$ make clean all ---------------- - -[[rebuild-pkg]] -=== Understanding how to rebuild packages - -One of the most common questions asked by Buildroot users is how to -rebuild a given package or how to remove a package without rebuilding -everything from scratch. - -Removing a package is unsupported by Buildroot without -rebuilding from scratch. This is because Buildroot doesn't keep track -of which package installs what files in the +output/staging+ and -+output/target+ directories, or which package would be compiled differently -depending on the availability of another package. - -The easiest way to rebuild a single package from scratch is to remove -its build directory in +output/build+. Buildroot will then re-extract, -re-configure, re-compile and re-install this package from scratch. You -can ask buildroot to do this with the +make -dirclean+ command. - -On the other hand, if you only want to restart the build process of a -package from its compilation step, you can run +make --rebuild+, followed by +make+ or +make +. It will -restart the compilation and installation of the package, but not from -scratch: it basically re-executes +make+ and +make install+ -inside the package, so it will only rebuild files that changed. - -If you want to restart the build process of a package from its -configuration step, you can run +make -reconfigure+, followed -by +make+ or +make +. It will restart the configuration, -compilation and installation of the package. - -Internally, Buildroot creates so-called _stamp files_ to keep track of -which build steps have been completed for each package. They are -stored in the package build directory, -+output/build/-/+ and are named -+.stamp_+. The commands detailed above simply manipulate -these stamp files to force Buildroot to restart a specific set of -steps of a package build process. - -Further details about package special make targets are explained in -xref:pkg-build-steps[]. diff --git a/docs/manual/release-engineering.adoc b/docs/manual/release-engineering.adoc new file mode 100644 index 00000000000..0cf38183f90 --- /dev/null +++ b/docs/manual/release-engineering.adoc @@ -0,0 +1,34 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[RELENG]] +== Release Engineering +=== Releases + +The Buildroot project makes quarterly releases with monthly bugfix +releases. The first release of each year is a long term support +release, LTS. + + - Quarterly releases: 2020.02, 2020.05, 2020.08, and 2020.11 + - Bugfix releases: 2020.02.1, 2020.02.2, ... + - LTS releases: 2020.02, 2021.02, ... + +Releases are supported until the first bugfix release of the next +release, e.g., 2020.05.x is EOL when 2020.08.1 is released. + +LTS releases are supported until the first bugfix release of the next +LTS, e.g., 2020.02.x is supported until 2021.02.1 is released. + +=== Development + +Each release cycle consist of two months of development on the +master+ +branch and one month stabilization before the release is made. During +this phase no new features are added to +master+, only bugfixes. + +The stabilization phase starts with tagging +-rc1+, and every week until +the release, another release candidate is tagged. + +To handle new features and version bumps during the stabilization phase, +a +next+ branch may be created for these features. Once the current +release has been made, the +next+ branch is merged into +master+ and +the development cycle for the next release continues there. diff --git a/docs/manual/resources.adoc b/docs/manual/resources.adoc new file mode 100644 index 00000000000..a1b8b366e14 --- /dev/null +++ b/docs/manual/resources.adoc @@ -0,0 +1,71 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[community-resources]] +== Community resources + +Like any open source project, Buildroot has different ways to share +information in its community and outside. + +Each of those ways may interest you if you are looking for some help, +want to understand Buildroot or contribute to the project. + +Mailing List:: ++ +Buildroot has a mailing list for discussion and development. It is the +main method of interaction for Buildroot users and developers. ++ +Only subscribers to the Buildroot mailing list are allowed to post to +this list. You can subscribe via the +https://lists.buildroot.org/mailman/listinfo/buildroot[mailing list info +page]. ++ +Mails that are sent to the mailing list are also available in the +mailing list archives, available through +https://lists.buildroot.org/pipermail/buildroot[Mailman] or at +https://lore.kernel.org/buildroot/[lore.kernel.org]. + +IRC:: ++ +The Buildroot IRC channel irc://irc.oftc.net/#buildroot[#buildroot] is +hosted on https://www.oftc.net/WebChat/[OFTC]. It is a useful place to +ask quick questions or discuss on certain topics. ++ +When asking for help on IRC, share relevant logs or pieces of code +using a code sharing website, such as https://paste.ack.tf/. ++ +Note that for certain questions, posting to the mailing list may be +better as it will reach more people, both developers and users. + +Bug tracker:: ++ +Bugs in Buildroot can be reported via the mailing list or alternatively +via the https://gitlab.com/buildroot.org/buildroot/-/issues[Buildroot +bugtracker]. Please refer to xref:reporting-bugs[] before creating a bug +report. + +Wiki:: ++ +http://elinux.org/Buildroot[The Buildroot wiki page] is hosted on +the http://elinux.org[eLinux] wiki. It contains some useful links, an +overview of past and upcoming events, and a TODO list. + +Patchwork:: ++ +Patchwork is a web-based patch tracking system designed to facilitate +the contribution and management of contributions to an open-source +project. Patches that have been sent to a mailing list are \'caught' by +the system, and appear on a web page. Any comments posted that +reference the patch are appended to the patch page too. For more +information on Patchwork see +http://jk.ozlabs.org/projects/patchwork/[]. ++ +Buildroot's Patchwork website is mainly for use by Buildroot's +maintainer to ensure patches aren't missed. It is also used by Buildroot +patch reviewers (see also xref:apply-patches-patchwork[]). +However, since the website exposes patches and their corresponding +review comments in a clean and concise web interface, it can be useful +for all Buildroot developers. ++ +The Buildroot patch management interface is available at +https://patchwork.ozlabs.org/project/buildroot/list/[]. diff --git a/docs/manual/resources.txt b/docs/manual/resources.txt deleted file mode 100644 index 69bfff8f2b8..00000000000 --- a/docs/manual/resources.txt +++ /dev/null @@ -1,73 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[community-resources]] -== Community resources - -Like any open source project, Buildroot has different ways to share -information in its community and outside. - -Each of those ways may interest you if you are looking for some help, -want to understand Buildroot or contribute to the project. - -Mailing List:: -+ -Buildroot has a mailing list for discussion and development. It is the -main method of interaction for Buildroot users and developers. -+ -Only subscribers to the Buildroot mailing list are allowed to post to -this list. You can subscribe via the -http://lists.buildroot.org/mailman/listinfo/buildroot[mailing list info -page]. -+ -Mails that are sent to the mailing list are also available in the -http://lists.buildroot.org/pipermail/buildroot[mailing list archives] and -via http://gmane.org[Gmane], at -http://dir.gmane.org/gmane.comp.lib.uclibc.buildroot[+gmane.comp.lib.uclibc.buildroot+]. -Please search the mailing list archives before asking questions, since -there is a good chance someone else has asked the same question before. - -IRC:: -+ -The Buildroot IRC channel irc://freenode.net/#buildroot[#buildroot] is -hosted on http://webchat.freenode.net[Freenode]. It is a useful place to -ask quick questions or discuss on certain topics. -+ -When asking for help on IRC, share relevant logs or pieces of code -using a code sharing website, such as http://code.bulix.org. -+ -Note that for certain questions, posting to the mailing list may be -better as it will reach more people, both developers and users. - -Bug tracker:: -+ -Bugs in Buildroot can be reported via the mailing list or alternatively -via the https://bugs.buildroot.org/buglist.cgi?product=buildroot[Buildroot -bugtracker]. Please refer to xref:reporting-bugs[] before creating a bug -report. - -Wiki:: -+ -http://elinux.org/Buildroot[The Buildroot wiki page] is hosted on -the http://elinux.org[eLinux] wiki. It contains some useful links, an -overview of past and upcoming events, and a TODO list. - -Patchwork:: -+ -Patchwork is a web-based patch tracking system designed to facilitate -the contribution and management of contributions to an open-source -project. Patches that have been sent to a mailing list are \'caught' by -the system, and appear on a web page. Any comments posted that -reference the patch are appended to the patch page too. For more -information on Patchwork see -http://jk.ozlabs.org/projects/patchwork/[]. -+ -Buildroot's Patchwork website is mainly for use by Buildroot's -maintainer to ensure patches aren't missed. It is also used by Buildroot -patch reviewers (see also xref:apply-patches-patchwork[]). -However, since the website exposes patches and their corresponding -review comments in a clean and concise web interface, it can be useful -for all Buildroot developers. -+ -The Buildroot patch management interface is available at -http://patchwork.buildroot.org[]. diff --git a/docs/manual/using-buildroot-debugger.adoc b/docs/manual/using-buildroot-debugger.adoc new file mode 100644 index 00000000000..c208e86bbdc --- /dev/null +++ b/docs/manual/using-buildroot-debugger.adoc @@ -0,0 +1,53 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +==== Using +gdb+ in Buildroot + +Buildroot allows to do cross-debugging, where the debugger runs on the +build machine and communicates with +gdbserver+ on the target to +control the execution of the program. + +To achieve this: + +* If you are using an _internal toolchain_ (built by Buildroot), you + must enable +BR2_PACKAGE_HOST_GDB+, +BR2_PACKAGE_GDB+ and + +BR2_PACKAGE_GDB_SERVER+. This ensures that both the cross gdb and + gdbserver get built, and that gdbserver gets installed to your target. + +* If you are using an _external toolchain_, you should enable + +BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY+, which will copy the + gdbserver included with the external toolchain to the target. If your + external toolchain does not have a cross gdb or gdbserver, it is also + possible to let Buildroot build them, by enabling the same options as + for the _internal toolchain backend_. + +Now, to start debugging a program called +foo+, you should run on the +target: + +---- +gdbserver :2345 foo +---- + +This will cause +gdbserver+ to listen on TCP port 2345 for a connection +from the cross gdb. + +Then, on the host, you should start the cross gdb using the following +command line: + +---- +/output/host/bin/-gdb -ix /output/staging/usr/share/buildroot/gdbinit foo +---- + +Of course, +foo+ must be available in the current directory, built +with debugging symbols. Typically you start this command from the +directory where +foo+ is built (and not from +output/target/+ as the +binaries in that directory are stripped). + +The +/output/staging/usr/share/buildroot/gdbinit+ file will tell the +cross gdb where to find the libraries of the target. + +Finally, to connect to the target from the cross gdb: + +---- +(gdb) target remote :2345 +---- diff --git a/docs/manual/using-buildroot-debugger.txt b/docs/manual/using-buildroot-debugger.txt deleted file mode 100644 index d5293beb538..00000000000 --- a/docs/manual/using-buildroot-debugger.txt +++ /dev/null @@ -1,53 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -==== Using +gdb+ in Buildroot - -Buildroot allows to do cross-debugging, where the debugger runs on the -build machine and communicates with +gdbserver+ on the target to -control the execution of the program. - -To achieve this: - -* If you are using an _internal toolchain_ (built by Buildroot), you - must enable +BR2_PACKAGE_HOST_GDB+, +BR2_PACKAGE_GDB+ and - +BR2_PACKAGE_GDB_SERVER+. This ensures that both the cross gdb and - gdbserver get built, and that gdbserver gets installed to your target. - -* If you are using an _external toolchain_, you should enable - +BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY+, which will copy the - gdbserver included with the external toolchain to the target. If your - external toolchain does not have a cross gdb or gdbserver, it is also - possible to let Buildroot build them, by enabling the same options as - for the _internal toolchain backend_. - -Now, to start debugging a program called +foo+, you should run on the -target: - ----------------------------- -gdbserver :2345 foo ----------------------------- - -This will cause +gdbserver+ to listen on TCP port 2345 for a connection -from the cross gdb. - -Then, on the host, you should start the cross gdb using the following -command line: - ----------------------------- -/output/host/bin/-gdb -x /output/staging/usr/share/buildroot/gdbinit foo ----------------------------- - -Of course, +foo+ must be available in the current directory, built -with debugging symbols. Typically you start this command from the -directory where +foo+ is built (and not from +output/target/+ as the -binaries in that directory are stripped). - -The +/output/staging/usr/share/buildroot/gdbinit+ file will tell the -cross gdb where to find the libraries of the target. - -Finally, to connect to the target from the cross gdb: - ----------------------------- -(gdb) target remote :2345 ----------------------------- diff --git a/docs/manual/using-buildroot-development.adoc b/docs/manual/using-buildroot-development.adoc new file mode 100644 index 00000000000..72628e0a6f9 --- /dev/null +++ b/docs/manual/using-buildroot-development.adoc @@ -0,0 +1,121 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +==== Using Buildroot during development + +The normal operation of Buildroot is to download a tarball, extract +it, configure, compile and install the software component found inside +this tarball. The source code is extracted in ++output/build/-+, which is a temporary directory: +whenever +make clean+ is used, this directory is entirely removed, and +re-created at the next +make+ invocation. Even when a Git or +Subversion repository is used as the input for the package source +code, Buildroot creates a tarball out of it, and then behaves as it +normally does with tarballs. + +This behavior is well-suited when Buildroot is used mainly as an +integration tool, to build and integrate all the components of an +embedded Linux system. However, if one uses Buildroot during the +development of certain components of the system, this behavior is not +very convenient: one would instead like to make a small change to the +source code of one package, and be able to quickly rebuild the system +with Buildroot. + +Making changes directly in +output/build/-+ is not +an appropriate solution, because this directory is removed on +make +clean+. + +Therefore, Buildroot provides a specific mechanism for this use case: +the +_OVERRIDE_SRCDIR+ mechanism. Buildroot reads an _override_ +file, which allows the user to tell Buildroot the location of the +source for certain packages. + +The default location of the override file is +$(CONFIG_DIR)/local.mk+, +as defined by the +BR2_PACKAGE_OVERRIDE_FILE+ configuration option. ++$(CONFIG_DIR)+ is the location of the Buildroot +.config+ file, so ++local.mk+ by default lives side-by-side with the +.config+ file, +which means: + +* In the top-level Buildroot source directory for in-tree builds + (i.e., when +O=+ is not used) +* In the out-of-tree directory for out-of-tree builds (i.e., when + +O=+ is used) + +If a different location than these defaults is required, it can be +specified through the +BR2_PACKAGE_OVERRIDE_FILE+ configuration +option. + +In this _override_ file, Buildroot expects to find lines of the form: + +---- +_OVERRIDE_SRCDIR = /path/to/pkg1/sources +_OVERRIDE_SRCDIR = /path/to/pkg2/sources +---- + +For example: + +---- +LINUX_OVERRIDE_SRCDIR = /home/bob/linux/ +BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/ +---- + +When Buildroot finds that for a given package, an ++_OVERRIDE_SRCDIR+ has been defined, it will no longer attempt to +download, extract and patch the package. Instead, it will directly use +the source code available in the specified directory and +make clean+ +will not touch this directory. This allows to point Buildroot to your +own directories, that can be managed by Git, Subversion, or any other +version control system. To achieve this, Buildroot will use _rsync_ to +copy the source code of the component from the specified ++_OVERRIDE_SRCDIR+ to +output/build/-custom/+. + +This mechanism is best used in conjunction with the +make +-rebuild+ and +make -reconfigure+ targets. A +make +-rebuild all+ sequence will _rsync_ the source code from ++_OVERRIDE_SRCDIR+ to +output/build/-custom+ (thanks to +_rsync_, only the modified files are copied), and restart the build +process of just this package. + +In the example of the +linux+ package above, the developer can then +make a source code change in +/home/bob/linux+ and then run: + +---- +make linux-rebuild all +---- + +and in a matter of seconds gets the updated Linux kernel image in ++output/images+. Similarly, a change can be made to the BusyBox source +code in +/home/bob/busybox+, and after: + +---- +make busybox-rebuild all +---- + +the root filesystem image in +output/images+ contains the updated +BusyBox. + +Source trees for big projects often contain hundreds or thousands of +files which are not needed for building, but will slow down the process +of copying the sources with _rsync_. Optionally, it is possible define ++_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS+ to skip syncing certain files +from the source tree. For example, when working on the +webkitgtk+ +package, the following will exclude the tests and in-tree builds from +a local WebKit source tree: + +---- +WEBKITGTK_OVERRIDE_SRCDIR = /home/bob/WebKit +WEBKITGTK_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = \ + --exclude JSTests --exclude ManualTests --exclude PerformanceTests \ + --exclude WebDriverTests --exclude WebKitBuild --exclude WebKitLibraries \ + --exclude WebKit.xcworkspace --exclude Websites --exclude Examples +---- + +By default, Buildroot skips syncing of VCS artifacts (e.g., the *.git* and +*.svn* directories). Some packages prefer to have these VCS directories +available during build, for example for automatically determining a precise +commit reference for version information. To undo this built-in filtering at a +cost of a slower speed, add these directories back: + +---- +LINUX_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = --include .git +---- diff --git a/docs/manual/using-buildroot-development.txt b/docs/manual/using-buildroot-development.txt deleted file mode 100644 index 1071de51327..00000000000 --- a/docs/manual/using-buildroot-development.txt +++ /dev/null @@ -1,83 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -==== Using Buildroot during development - -The normal operation of Buildroot is to download a tarball, extract -it, configure, compile and install the software component found inside -this tarball. The source code is extracted in -+output/build/-+, which is a temporary directory: -whenever +make clean+ is used, this directory is entirely removed, and -re-created at the next +make+ invocation. Even when a Git or -Subversion repository is used as the input for the package source -code, Buildroot creates a tarball out of it, and then behaves as it -normally does with tarballs. - -This behavior is well-suited when Buildroot is used mainly as an -integration tool, to build and integrate all the components of an -embedded Linux system. However, if one uses Buildroot during the -development of certain components of the system, this behavior is not -very convenient: one would instead like to make a small change to the -source code of one package, and be able to quickly rebuild the system -with Buildroot. - -Making changes directly in +output/build/-+ is not -an appropriate solution, because this directory is removed on +make -clean+. - -Therefore, Buildroot provides a specific mechanism for this use case: -the +_OVERRIDE_SRCDIR+ mechanism. Buildroot reads an _override_ -file, which allows the user to tell Buildroot the location of the -source for certain packages. By default this _override_ file is named -+local.mk+ and located in the top directory of the Buildroot source -tree, but a different location can be specified through the -+BR2_PACKAGE_OVERRIDE_FILE+ configuration option. - -In this _override_ file, Buildroot expects to find lines of the form: - ------------------- -_OVERRIDE_SRCDIR = /path/to/pkg1/sources -_OVERRIDE_SRCDIR = /path/to/pkg2/sources ------------------- - -For example: - ------------------- -LINUX_OVERRIDE_SRCDIR = /home/bob/linux/ -BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/ ------------------- - -When Buildroot finds that for a given package, an -+_OVERRIDE_SRCDIR+ has been defined, it will no longer attempt to -download, extract and patch the package. Instead, it will directly use -the source code available in the specified directory and +make clean+ -will not touch this directory. This allows to point Buildroot to your -own directories, that can be managed by Git, Subversion, or any other -version control system. To achieve this, Buildroot will use _rsync_ to -copy the source code of the component from the specified -+_OVERRIDE_SRCDIR+ to +output/build/-custom/+. - -This mechanism is best used in conjunction with the +make --rebuild+ and +make -reconfigure+ targets. A +make --rebuild all+ sequence will _rsync_ the source code from -+_OVERRIDE_SRCDIR+ to +output/build/-custom+ (thanks to -_rsync_, only the modified files are copied), and restart the build -process of just this package. - -In the example of the +linux+ package above, the developer can then -make a source code change in +/home/bob/linux+ and then run: - ------------------------ -make linux-rebuild all ------------------------ - -and in a matter of seconds gets the updated Linux kernel image in -+output/images+. Similarly, a change can be made to the BusyBox source -code in +/home/bob/busybox+, and after: - ------------------------ -make busybox-rebuild all ------------------------ - -the root filesystem image in +output/images+ contains the updated -BusyBox. diff --git a/docs/manual/using-buildroot-toolchain.adoc b/docs/manual/using-buildroot-toolchain.adoc new file mode 100644 index 00000000000..fd9dda753bc --- /dev/null +++ b/docs/manual/using-buildroot-toolchain.adoc @@ -0,0 +1,48 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +==== Using the generated toolchain outside Buildroot + +You may want to compile, for your target, your own programs or other +software that are not packaged in Buildroot. In order to do this you +can use the toolchain that was generated by Buildroot. + +The toolchain generated by Buildroot is located by default in ++output/host/+. The simplest way to use it is to add ++output/host/bin/+ to your PATH environment variable and then to +use +ARCH-linux-gcc+, +ARCH-linux-objdump+, +ARCH-linux-ld+, etc. + +Alternatively, Buildroot can also export the toolchain and the development +files of all selected packages, as an SDK, by running the command ++make sdk+. This generates a tarball of the content of the host directory ++output/host/+, named +_sdk-buildroot.tar.gz+ (which can be +overridden by setting the environment variable +BR2_SDK_PREFIX+) and +located in the output directory +output/images/+. + +This tarball can then be distributed to application developers, when +they want to develop their applications that are not (yet) packaged as +a Buildroot package. + +Upon extracting the SDK tarball, the user must run the script ++relocate-sdk.sh+ (located at the top directory of the SDK), to make +sure all paths are updated with the new location. + +Alternatively, if you just want to prepare the SDK without generating +the tarball (e.g. because you will just be moving the +host+ directory, +or will be generating the tarball on your own), Buildroot also allows +you to just prepare the SDK with +make prepare-sdk+ without actually +generating a tarball. + +For your convenience, by selecting the option ++BR2_PACKAGE_HOST_ENVIRONMENT_SETUP+, you can get a ++environment-setup+ script installed in +output/host/+ and therefore +in your SDK. This script can be sourced with ++. your/sdk/path/environment-setup+ to export a number of environment +variables that will help cross-compile your projects using the +Buildroot SDK: the +PATH+ will contain the SDK binaries, standard +_autotools_ variables will be defined with the appropriate values, and ++CONFIGURE_FLAGS+ will contain basic +./configure+ options to +cross-compile _autotools_ projects. It also provides some useful +commands. Note however that once this script is sourced, the +environment is setup only for cross-compilation, and no longer for +native compilation. diff --git a/docs/manual/using-buildroot-toolchain.txt b/docs/manual/using-buildroot-toolchain.txt deleted file mode 100644 index 6a906456494..00000000000 --- a/docs/manual/using-buildroot-toolchain.txt +++ /dev/null @@ -1,22 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -==== Using the generated toolchain outside Buildroot - -You may want to compile, for your target, your own programs or other -software that are not packaged in Buildroot. In order to do this you -can use the toolchain that was generated by Buildroot. - -The toolchain generated by Buildroot is located by default in -+output/host/+. The simplest way to use it is to add -+output/host/bin/+ to your PATH environment variable and then to -use +ARCH-linux-gcc+, +ARCH-linux-objdump+, +ARCH-linux-ld+, etc. - -It is possible to relocate the toolchain - but then +--sysroot+ must -be passed every time the compiler is called to tell where the -libraries and header files are. - -It is also possible to generate the Buildroot toolchain in a directory -other than +output/host+ by using the +Build options -> Host dir+ -option. This could be useful if the toolchain must be shared with -other users. diff --git a/docs/manual/writing-rules.adoc b/docs/manual/writing-rules.adoc new file mode 100644 index 00000000000..03e4f2c61cf --- /dev/null +++ b/docs/manual/writing-rules.adoc @@ -0,0 +1,231 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== Coding style + +Overall, these coding style rules are here to help you to add new files in +Buildroot or refactor existing ones. + +If you slightly modify some existing file, the important thing is +to keep the consistency of the whole file, so you can: + +* either follow the potentially deprecated coding style used in this +file, + +* or entirely rework it in order to make it comply with these rules. + +[[writing-rules-config-in]] + +=== +Config.in+ file + ++Config.in+ files contain entries for almost anything configurable in +Buildroot. + +An entry has the following pattern: + +---- +config BR2_PACKAGE_LIBFOO + bool "libfoo" + depends on BR2_PACKAGE_LIBBAZ + select BR2_PACKAGE_LIBBAR + help + This is a comment that explains what libfoo is. The help text + should be wrapped. + + http://foosoftware.org/libfoo/ +---- + +* The +bool+, +depends on+, +select+ and +help+ lines are indented + with one tab. + +* The help text itself should be indented with one tab and two + spaces. + +* The help text should be wrapped to fit 72 columns, where tab counts + for 8, so 62 characters in the text itself. + +The +Config.in+ files are the input for the configuration tool +used in Buildroot, which is the regular _Kconfig_. For further +details about the _Kconfig_ language, refer to +http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt[]. + +[[writing-rules-mk]] + +=== The +.mk+ file + +* Header: The file starts with a header. It contains the module name, +preferably in lowercase, enclosed between separators made of 80 hashes. A +blank line is mandatory after the header: ++ +---- +################################################################################ +# +# libfoo +# +################################################################################ +---- ++ +* Assignment: use +=+ preceded and followed by one space: ++ +---- +LIBFOO_VERSION = 1.0 +LIBFOO_CONF_OPTS += --without-python-support +---- ++ +Do not align the +=+ signs. + +* Indentation: use tab only: ++ +---- +define LIBFOO_REMOVE_DOC + $(RM) -r $(TARGET_DIR)/usr/share/libfoo/doc \ + $(TARGET_DIR)/usr/share/man/man3/libfoo* +endef +---- ++ +Note that commands inside a +define+ block should always start with a tab, +so _make_ recognizes them as commands. + +* Optional dependency: + +** Prefer multi-line syntax. ++ +YES: ++ +---- +ifeq ($(BR2_PACKAGE_PYTHON3),y) +LIBFOO_CONF_OPTS += --with-python-support +LIBFOO_DEPENDENCIES += python3 +else +LIBFOO_CONF_OPTS += --without-python-support +endif +---- ++ +NO: ++ +---- +LIBFOO_CONF_OPTS += --with$(if $(BR2_PACKAGE_PYTHON3),,out)-python-support +LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON3),python3,) +---- + +** Keep configure options and dependencies close together. + +* Optional hooks: keep hook definition and assignment together in one + if block. ++ +YES: ++ +---- +ifneq ($(BR2_LIBFOO_INSTALL_DATA),y) +define LIBFOO_REMOVE_DATA + $(RM) -r $(TARGET_DIR)/usr/share/libfoo/data +endef +LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA +endif +---- ++ +NO: ++ +---- +define LIBFOO_REMOVE_DATA + $(RM) -r $(TARGET_DIR)/usr/share/libfoo/data +endef + +ifneq ($(BR2_LIBFOO_INSTALL_DATA),y) +LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA +endif +---- + +[[writing-genimage-cfg]] + +=== The +genimage.cfg+ file + ++genimage.cfg+ files contain the output image layout that genimage utility +uses to create final .img file. + +An example follows: + +---- +image efi-part.vfat { + vfat { + file EFI { + image = "efi-part/EFI" + } + + file Image { + image = "Image" + } + } + + size = 32M +} + +image sdimage.img { + hdimage { + } + + partition u-boot { + image = "efi-part.vfat" + offset = 8K + } + + partition root { + image = "rootfs.ext2" + size = 512M + } +} +---- + +* Every +section+(i.e. hdimage, vfat etc.), +partition+ must be indented + with one tab. + +* Every +file+ or other +subnode+ must be indented with two tabs. + +* Every node(+section+, +partition+, +file+, +subnode+) must have an open + curly bracket on the same line of the node's name, while the closing one + must be on a newline and after it a newline must be added except for the + last one node. Same goes for its option, for example option +size+ +=+. + +* Every +option+(i.e. +image+, +offset+, +size+) must have the +=+ + assignment one space from it and one space from the value specified. + +* Filename must at least begin with genimage prefix and have the .cfg + extension to be easy to recognize. + +* Allowed notations for +offset+ and +size+ options are: +G+, +M+, +K+ + (not +k+). If it's not possible to express a precise byte count + with notations above then use hexadecimal +0x+ prefix or, as last + chance, the byte count. In comments instead use +GB+, +MB+, +KB+ + (not +kb+) in place of +G+, +M+, +K+. + +* For GPT partitions, the +partition-type-uuid+ value must be +U+ for + the EFI System Partition (expanded to + +c12a7328-f81f-11d2-ba4b-00a0c93ec93b+ by _genimage_), +F+ for a FAT + partition (expanded to +ebd0a0a2-b9e5-4433-87c0-68b6b72699c7+ by + _genimage_) or +L+ for the root filesystem or other filesystems + (expanded to +0fc63daf-8483-4772-8e79-3d69d8477de4+ by + _genimage_). Even though +L+ is the default value of _genimage_, we + prefer to have it explicitly specified in our +genimage.cfg+ + files. Finally, these shortcuts should be used without double + quotes, e.g +partition-type-uuid = U+. If an explicit GUID is + specified, lower-case letters should be used. + +The +genimage.cfg+ files are the input for the genimage tool used in +Buildroot to generate the final image file(i.e. sdcard.img). For further +details about the _genimage_ language, refer to +https://github.com/pengutronix/genimage/blob/master/README.rst[]. + + +=== The documentation + +The documentation uses the +https://asciidoc-py.github.io/[asciidoc] format. + +For further details about the asciidoc syntax, refer to +https://asciidoc-py.github.io/userguide.html[]. + +=== Support scripts + +Some scripts in the +support/+ and +utils/+ directories are written in +Python and should follow the +https://www.python.org/dev/peps/pep-0008/[PEP8 Style Guide for Python Code]. diff --git a/docs/manual/writing-rules.txt b/docs/manual/writing-rules.txt deleted file mode 100644 index ca432722877..00000000000 --- a/docs/manual/writing-rules.txt +++ /dev/null @@ -1,151 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -== Coding style - -Overall, these coding style rules are here to help you to add new files in -Buildroot or refactor existing ones. - -If you slightly modify some existing file, the important thing is -to keep the consistency of the whole file, so you can: - -* either follow the potentially deprecated coding style used in this -file, - -* or entirely rework it in order to make it comply with these rules. - -[[writing-rules-config-in]] - -=== +Config.in+ file - -+Config.in+ files contain entries for almost anything configurable in -Buildroot. - -An entry has the following pattern: - ---------------------- -config BR2_PACKAGE_LIBFOO - bool "libfoo" - depends on BR2_PACKAGE_LIBBAZ - select BR2_PACKAGE_LIBBAR - help - This is a comment that explains what libfoo is. The help text - should be wrapped. - - http://foosoftware.org/libfoo/ ---------------------- - -* The +bool+, +depends on+, +select+ and +help+ lines are indented - with one tab. - -* The help text itself should be indented with one tab and two - spaces. - -* The help text should be wrapped to fit 72 columns, where tab counts - for 8, so 62 characters in the text itself. - -The +Config.in+ files are the input for the configuration tool -used in Buildroot, which is the regular _Kconfig_. For further -details about the _Kconfig_ language, refer to -http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt[]. - -[[writing-rules-mk]] - -=== The +.mk+ file - -* Header: The file starts with a header. It contains the module name, -preferably in lowercase, enclosed between separators made of 80 hashes. A -blank line is mandatory after the header: -+ ---------------------- -################################################################################ -# -# libfoo -# -################################################################################ ---------------------- -+ -* Assignment: use +=+ preceded and followed by one space: -+ ---------------------- -LIBFOO_VERSION = 1.0 -LIBFOO_CONF_OPTS += --without-python-support ---------------------- -+ -Do not align the +=+ signs. - -* Indentation: use tab only: -+ ---------------------- -define LIBFOO_REMOVE_DOC - $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/doc \ - $(TARGET_DIR)/usr/share/man/man3/libfoo* -endef ---------------------- -+ -Note that commands inside a +define+ block should always start with a tab, -so _make_ recognizes them as commands. - -* Optional dependency: - -** Prefer multi-line syntax. -+ -YES: -+ ---------------------- -ifeq ($(BR2_PACKAGE_PYTHON),y) -LIBFOO_CONF_OPTS += --with-python-support -LIBFOO_DEPENDENCIES += python -else -LIBFOO_CONF_OPTS += --without-python-support -endif ---------------------- -+ -NO: -+ ---------------------- -LIBFOO_CONF_OPTS += --with$(if $(BR2_PACKAGE_PYTHON),,out)-python-support -LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,) ---------------------- - -** Keep configure options and dependencies close together. - -* Optional hooks: keep hook definition and assignment together in one - if block. -+ -YES: -+ ---------------------- -ifneq ($(BR2_LIBFOO_INSTALL_DATA),y) -define LIBFOO_REMOVE_DATA - $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/data -endef -LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA -endif ---------------------- -+ -NO: -+ ---------------------- -define LIBFOO_REMOVE_DATA - $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/data -endef - -ifneq ($(BR2_LIBFOO_INSTALL_DATA),y) -LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA -endif ---------------------- - -=== The documentation - -The documentation uses the -http://www.methods.co.nz/asciidoc/[asciidoc] format. - -For further details about the http://www.methods.co.nz/asciidoc/[asciidoc] -syntax, refer to http://www.methods.co.nz/asciidoc/userguide.html[]. - -=== Support scripts - -Some scripts in the +support/+ and +utils/+ directories are written in -Python and should follow the -https://www.python.org/dev/peps/pep-0008/[PEP8 Style Guide for Python Code]. diff --git a/docs/website/association.html b/docs/website/association.html new file mode 100644 index 00000000000..0c2306f3480 --- /dev/null +++ b/docs/website/association.html @@ -0,0 +1,122 @@ + + +
+
+
+
+
Association
+
+ +

The Buildroot open-source project is supported by a + non-profit organization called the Buildroot + Association. The goal of this non-profit + organization is to engage actions to promote, help + develop and democratise the Buildroot project.

+ +

This non-profit organization is registered as a legal + entity in France, more precisely as an association loi + 1901.

+ +

This organization can receive funding from members, + donors and sponsors. This funding is then used to pay for:

+ +
    +
  • the meeting rooms used during the Buildroot + Developers Meeting twice per year;
  • +
  • travel expenses for contributors + willing to attend the Buildroot Developers + Meeting, and not covered by their employer to do + so;
  • +
  • renting servers and services used to host the + Buildroot infrastructure.
  • +
+ +

The bylaws of the association are available + in French + (official) and + in English + (unofficial translation). The association was declared on + March 14, 2016 to the Préfecture de Haute-Garonne + (France) and is registered under the n°W313024278. See this + official receipt + from the French authorities.

+ +

Our accounting is fully public, including the bank + account summaries, + see accounting. Numerous + other administrative documents related to the association + are available on + its Gitlab + repository

+
+
+ +
+
Becoming a member
+
+ +

To become a member, an individual or a company simply has + to pay its yearly membership. For an individual, the minimum + membership fee per year is 10 EUR. For a company, the + minimum membership fee per year is 150 EUR. Individuals and + companies are free to give more than the minimum + required.

+ +

The membership is valid for the current civil year, i.e + any membership fee paid in 2019 is valid through December 31, + 2019.

+ +

Once the membership fee is received, it will be listed in + the + association accounting + files, which serve as the official list of + members. Therefore, members accept that their name and the + amount of their membership fee is made public.

+ +

There are two possibilities to pay the membership + fee:

+ +
    + +
  • A direct wire-transfer to the association bank + account. Since the bank account is located in France, this + is completely free of charge for any person or company + located in the European Union. The IBAN number of the + association bank account is FR53 2004 1010 1615 0958 + 0P03 772.
  • + +
  • A Paypal payment to the association Paypal account, + whose address + is buildroot-association@buildroot.org.
  • + +
+ +
+
+ +
+
Sponsoring the project
+
+ +

Companies willing to help the Buildroot project can do so + by making a donation to the Buildroot + Association. In exchange for these donations, companies + will be listed on our Sponsors + page and will be thanked in our release announcements.

+ +

As the Buildroot Association is a legal entity + registered in France, it is able to deliver a bill and/or + receipt.

+ +

Please + contact buildroot-association@buildroot.org + if you are a company interested in making a donation.

+ +
+
+ +
+
+
+ + diff --git a/docs/website/contribute.html b/docs/website/contribute.html index 721729be3de..c05bdda62d0 100644 --- a/docs/website/contribute.html +++ b/docs/website/contribute.html @@ -7,29 +7,29 @@
Contribute
-

Buildroot is an open source project and you are very welcome to contribute to - it.
- There are many different ways to contribute:

+

Buildroot is an open source project and we warmly welcome your + contributions.
+ There are different ways you can get involved:

For more details on these topics, check out the - + Contributing to buildroot chapter in the Buildroot manual. Thanks for your help!

If you need any support yourself, have a look at @@ -37,6 +37,30 @@

+
+
Sponsor
+
+

Besides technical contributions, you can also support the project + financially.
+ There are various ways make a financial contribution:

+ +
    +
  • Sponsor the Buildroot Association. + The association helps Buildroot with infrastructure (servers, domain + name, ...) and organising meetings. It relies on money from sponsors + to organise those.
  • +
  • Practical help: providing a meeting room for developer meetings, + providing autobuilder instances, etc.
  • +
  • Buildroot LTS Sponsoring, + a specific effort to finance the maintenance of the Long Term Support + branch of Buildroot.
  • +
+ +

All of these sponsors are thanked by listing them on the sponsors page.

+
+
+ diff --git a/docs/website/copyright.txt b/docs/website/copyright.txt index 0939b748d23..4d19bbf828d 100644 --- a/docs/website/copyright.txt +++ b/docs/website/copyright.txt @@ -1,7 +1,7 @@ The code and graphics on this website (and it's mirror sites, if any) are -Copyright (c) 1999-2005 by Erik Andersen, 2006-2014 The Buildroot -developers. All rights reserved. +Copyright (C) The Buildroot developers . All +rights reserved. Documents on this Web site including their graphical elements, design, and layout are protected by trade dress and other laws and MAY BE COPIED OR @@ -18,7 +18,7 @@ GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THIS WEBSITE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR LOSS OF HAIR, LOSS OF LIFE, LOSS OF MEMORY, LOSS OF YOUR CARKEYS, MISPLACEMENT OF YOUR PAYCHECK, OR COMMANDER DATA BEING RENDERED UNABLE TO ASSIST THE -STARFLEET OFFICERS ABORD THE STARSHIP ENTERPRISE TO RECALIBRATE THE MAIN +STARFLEET OFFICERS ABOARD THE STARSHIP ENTERPRISE TO RECALIBRATE THE MAIN DEFLECTOR ARRAY, LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE WEBSITE TO OPERATE WITH YOUR WEBBROWSER), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. diff --git a/docs/website/css/lts.css b/docs/website/css/lts.css new file mode 100644 index 00000000000..c1e9b198a8c --- /dev/null +++ b/docs/website/css/lts.css @@ -0,0 +1,410 @@ +@font-face { + font-family: "Compagnon Light"; + src: url("/fonts/compagnon-light.woff") format("woff"); + font-weight: 300; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: "Terminal Grotesque"; + src: url("/fonts/terminal-grotesque.woff") format("woff"); + font-weight: normal; + font-style: normal; + font-display: swap; +} + +:root { + --br-blue: #2b7de0; + --br-grid: #dceeff; + --br-yellow: #dcb045; + --font-pixel: "Terminal Grotesque", sans-serif; + --font-serif: "Compagnon Light", serif; + --br-grid-size: 40px; +} + +@keyframes slideDownFade { + 0% { + opacity: 0; + transform: translateY(-30px); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} + +@keyframes growBar { + from { transform: scaleX(0); opacity: 0.5; } + to { transform: scaleX(1); opacity: 1; } +} + +/** + * Header with the grid pattern background used by the Buildroot LTS + * graphical chart + */ +.br-lts-header { + margin-top: 50px; + position: relative; + width: 100%; + min-height: 400px; + background-color: #ffffff; + overflow: hidden; + border-bottom: 4px solid var(--br-blue); + display: flex; + justify-content: center; + padding: 40px 20px; +} + +.br-lts-header-bg { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-image: + linear-gradient(var(--br-grid) 2px, transparent 2px), + linear-gradient(90deg, var(--br-grid) 2px, transparent 2px); + background-size: 120px 120px; + z-index: 1; + pointer-events: none; +} + +.br-lts-header-content { + position: relative; + z-index: 10; + max-width: 1200px; + display: flex; + flex-direction: column; +} + +.br-lts-header-title { + color: var(--br-blue); + font-family: var(--font-pixel); + font-size: 8rem; + display: inline-block; + background: white; + padding: 10px; + margin: 10px; + border: 2px solid var(--br-blue); + box-shadow: 6px 6px 0 var(--br-blue); + + transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); + opacity: 0; + animation: slideDownFade 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; +} + +.br-lts-header-title:nth-of-type(2) { + font-size: 6rem; + line-height: 6rem; + animation-delay: 0.2s; +} + +.br-lts-header-title:hover { + background-color: var(--br-blue); + color: #ffffff; + box-shadow: 8px 8px 0 var(--br-grid); + transform: translateY(-2px) translateX(-2px); +} + +/** + *
wrapper. + */ +.br-lts-main { + max-width: 1200px; + margin: 40px auto; + padding: 0 20px; +} + +/** + * Custom dotted separator using the BR-LTS theme. + */ +.br-lts-separator { + width: 100%; + max-width: 900px; + height: 10px; + border-bottom: 2px dotted var(--br-blue); + margin: 10px 0; +} + +/** + * Intersection subtitle
with grid background + */ +.br-lts-section-header { + position: relative; + width: 40%; + height: calc(var(--br-grid-size) * 3); + background-color: #fff; + display: flex; + align-items: center; + padding-left: var(--br-grid-size); + margin: var(--br-grid-size) 0; + border: 2px solid var(--br-grid); + + text-decoration: none; + scroll-margin-top: 20px; /* Offset for jump to anchor */ +} + +@media screen and (max-width: 768px) { + .br-lts-section-header { + width: 100%; + } +} + +.br-lts-section-header:hover { + border: 2px solid var(--br-blue); + box-shadow: 6px 6px 0 var(--br-blue); + transition: border-color 0.3s ease, box-shadow 0.3s ease; +} + +.br-lts-section-header .br-lts-bg-grid { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-image: + linear-gradient(var(--br-grid) 2px, transparent 2px), + linear-gradient(90deg, var(--br-grid) 2px, transparent 2px); + background-size: var(--br-grid-size) var(--br-grid-size); + background-position: -1px -1px; + z-index: 1; + pointer-events: none; +} + +.br-lts-section-header .br-lts-title-box { + position: relative; + z-index: 10; + background-color: #fff; + border: 2px solid var(--br-blue); + color: var(--br-blue); + font-family: var(--font-pixel); + font-weight: 400; + font-style: normal; + font-size: 24px; + line-height: 1; + padding: 10px 15px; +} + +.br-lts-section-header .br-lts-decoration-dot { + position: absolute; + z-index: 10; + width: 10px; + height: 10px; + background-color: var(--br-yellow); + border-radius: 50%; + bottom: 0; + left: 0; + transform: translate(-50%, 50%); +} + +/** + * Numbered titled list. + * The number is spanning on the left. + * The content is on this right. + */ +.br-lts-item-row { + display: flex; + gap: 25px; + max-width: 900px; + position: relative; +} + +.br-lts-item-number { + font-family: var(--font-pixel); + color: var(--br-yellow); + font-size: 160px; + line-height: 0.8; + flex-shrink: 0; + user-select: none; + margin-top: 20px; + text-align: center; + width: 60px; +} + +.br-lts-item-content { + display: flex; + flex-direction: column; + gap: 15px; + padding-top: 5px; +} + +.br-lts-item-title { + font-family: var(--font-serif); + font-style: italic; + font-weight: 300; + font-size: 42px; + line-height: 1.1; + color: var(--br-blue); + letter-spacing: 1px; +} + +.br-lts-item-text { + font-family: var(--font-mono); + font-size: 16px; + line-height: 1.4; + color: #333; + max-width: 750px; +} + +/** + * 'timeline' grid to represent how tasks are expanding across time. + */ +.br-lts-chart { + display: grid; + grid-template-columns: 120px repeat(12, 1fr); + gap: 0; + width: 100%; + max-width: 1000px; + background-color: #fff; + border: 2px solid var(--br-blue); + box-shadow: 6px 6px 0 var(--br-blue); + position: relative; + overflow-x: auto; +} + +.br-lts-chart::before { + content: ""; + position: absolute; + top: 45px; + left: 120px; + right: 0; + bottom: 0; + background-size: calc(100% / 12) 100%; + z-index: 0; + pointer-events: none; +} + +.br-lts-chart-head { + grid-column: 1 / -1; + display: grid; + grid-template-columns: 120px repeat(12, 1fr); + border-bottom: 2px solid var(--br-blue); + background-color: color-mix(in srgb, var(--br-blue) 6%, white); + font-weight: bold; + position: relative; + z-index: 2; +} + +.br-lts-chart-head-label { + text-align: center; + padding: 10px; + border-left: 2px solid var(--br-grid); + font-family: var(--font-pixel); + font-size: 20px; + color: var(--br-blue); +} + +.br-lts-span-year { grid-column: span 4; } +.br-lts-span-day { grid-column: span 2; } +.br-lts-head-spacer { grid-column: span 1; border-right: 2px solid var(--br-blue); } + +.br-lts-chart-row { + grid-column: 1 / -1; + display: grid; + grid-template-columns: 120px repeat(12, 1fr); + align-items: center; + height: 50px; + border-bottom: 1px dashed #ddd; + position: relative; + z-index: 1; + transition: background-color 0.2s ease; +} + +.br-lts-chart-row:last-child { border-bottom: none; } + +.br-lts-chart-row--tall { + height: 100px; +} + +.br-lts-chart-row--faded { + color: #999; + font-style: italic; +} + +.br-lts-chart-row:hover { + background-color: color-mix(in srgb, var(--br-blue) 8%, transparent); + z-index: 2; +} + +.br-lts-chart-label { + padding: 0 15px; + font-weight: bold; + color: #555; + border-right: 2px solid var(--br-blue); + height: 100%; + display: flex; + align-items: center; + background-color: #fff; + font-size: 14px; + transition: color 0.2s ease, background-color 0.2s ease; +} + +.br-lts-chart-row:hover .br-lts-chart-label { + background-color: transparent; + color: var(--br-blue); +} + +.br-lts-bar { + height: 24px; + border-radius: 4px; + display: flex; + align-items: center; + padding-left: 10px; + font-size: 12px; + color: white; + font-weight: bold; + box-shadow: 2px 2px 0 rgba(0,0,0,0.1); + white-space: nowrap; + overflow: hidden; + position: relative; + background-color: var(--br-blue); + grid-column-end: span 1; + cursor: default; + + transform-origin: left center; + animation: growBar 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; + opacity: 0; + + transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275), + box-shadow 0.2s ease, + filter 0.2s ease; +} + +.br-lts-chart-row:nth-child(2) .br-lts-bar { animation-delay: 100ms; } +.br-lts-chart-row:nth-child(3) .br-lts-bar { animation-delay: 200ms; } +.br-lts-chart-row:nth-child(4) .br-lts-bar { animation-delay: 300ms; } +.br-lts-chart-row:nth-child(5) .br-lts-bar { animation-delay: 400ms; } +.br-lts-chart-row:nth-child(6) .br-lts-bar { animation-delay: 500ms; } +.br-lts-chart-row:nth-child(7) .br-lts-bar { animation-delay: 600ms; } +.br-lts-chart-row:nth-child(8) .br-lts-bar { animation-delay: 700ms; } +.br-lts-chart-row:nth-child(9) .br-lts-bar { animation-delay: 800ms; } +.br-lts-chart-row:nth-child(10) .br-lts-bar { animation-delay: 900ms; } +.br-lts-chart-row:nth-child(11) .br-lts-bar { animation-delay: 1000ms; } + +.br-lts-bar:hover { + transform: scale(1.05) translateY(-2px); + box-shadow: 4px 6px 12px rgba(0,0,0,0.2); + z-index: 10; + filter: brightness(1.1); +} + +.br-lts-bar--long { + background-color: var(--br-yellow); + color: color-mix(in srgb, var(--br-yellow), black 45%); + grid-column-end: span 12; + border: 2px solid color-mix(in srgb, var(--br-yellow), white 20%); +} + +.br-lts-bar--span-2 { grid-column-end: span 2; } +.br-lts-bar--span-6 { grid-column-end: span 6; } + +.br-lts-col-start-2 { grid-column-start: 2; } +.br-lts-col-start-3 { grid-column-start: 3; } +.br-lts-col-start-4 { grid-column-start: 4; } +.br-lts-col-start-5 { grid-column-start: 5; } +.br-lts-col-start-6 { grid-column-start: 6; } +.br-lts-col-start-7 { grid-column-start: 7; } +.br-lts-col-start-8 { grid-column-start: 8; } +.br-lts-col-start-9 { grid-column-start: 9; } +.br-lts-col-start-10 { grid-column-start: 10; } diff --git a/docs/website/css/main.css b/docs/website/css/main.css index 5255531b308..81bcd2c4b6f 100644 --- a/docs/website/css/main.css +++ b/docs/website/css/main.css @@ -168,6 +168,12 @@ i { text-justify: inter-word; } +.panel-lts-sponsor { + min-height: 200px; + text-align: justify; + text-justify: inter-word; +} + @media (min-width: 768px) and (max-width: 991px) { .navbar-collapse.collapse { display: none !important; diff --git a/docs/website/css/sponsors.css b/docs/website/css/sponsors.css new file mode 100644 index 00000000000..889737eabda --- /dev/null +++ b/docs/website/css/sponsors.css @@ -0,0 +1,40 @@ +.sponsors-container { + display: flex; + flex-wrap: wrap; + gap: 15px; + align-items: stretch; +} + +.sponsor-entry { + flex: 0 0 calc(33.333% - 10px); + display: flex; + flex-direction: column; + min-width: 250px; +} + +.sponsor-entry .panel { + flex: 1; + display: flex; + flex-direction: column; +} + +.sponsor-entry .panel-body { + flex: 1; + display: flex; + flex-direction: column; +} + +.sponsor-title { + display: flex; + align-items: center; + justify-content: center; + min-height: 150px; +} + +.sponsor-title img { + max-height: 120px; +} + +.sponsor-body { + flex: 1; +} diff --git a/docs/website/docs.html b/docs/website/docs.html index 9cee36da28c..ee3eb3d0659 100644 --- a/docs/website/docs.html +++ b/docs/website/docs.html @@ -26,7 +26,7 @@

HTML
Stable | - Nightly + Nightly

@@ -45,7 +45,7 @@

HTML

PDF
Stable | - Nightly + Nightly

@@ -64,7 +64,7 @@

PDF

ASCII
Stable | - Nightly + Nightly

@@ -78,8 +78,8 @@

ASCII
Training
-

Free Electrons offers a - complete 3-days +

Bootlin (formerly Free Electrons) + offers a complete 3-days training course on Buildroot. They also make the training materials freely available:

@@ -89,7 +89,7 @@

ASCII
Slides preview
- buildroot slides + buildroot slides

@@ -100,12 +100,23 @@

ASCII
Training materials

+ +
+
Public online training course
+
+ Regular online training courses, available to individual + registration, are proposed by Bootlin, with Thomas + Petazzoni as + trainer. See next + dates and registration details. +
+
diff --git a/docs/website/download.html b/docs/website/download.html index 81b0c95abc0..7e1462bbb30 100644 --- a/docs/website/download.html +++ b/docs/website/download.html @@ -7,206 +7,136 @@
Download
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SeriesEnd of LifeLatest releaseLatest release dateDownloads +
Candidate2026.05.xSeptember 2026 + 2026.05-rc1
+ + Changelog + +
2026-05-12 + + + .tar.gz +
+ [PGP sig] +
+ + + .tar.xz +
+ [PGP sig] +
Stable2026.02.xJune 2026 + 2026.02.1
+ + Changelog + +
2026-04-21 + + + .tar.gz +
+ [PGP sig] +
+ + + .tar.xz +
+ [PGP sig] +
Long-term support2025.02.xMarch 2028 + 2025.02.13
+ + Changelog + +
2026-04-21 + + + .tar.gz +
+ [PGP sig] +
+ + + .tar.xz +
+ [PGP sig] +
-

Latest long term support release: 2017.02.6

- -
-
-
-
-
- -
-
- -
-
-
-

buildroot-2017.02.6.tar.gz

-

PGP signature

-
-
-
-
-
- -
-
- -
-
-
- -

buildroot-2017.02.6.tar.bz2

-

PGP signature

-
-
- -

Latest stable release: 2017.08

- -
-
-
-
-
- -
-
- -
-
-
-

buildroot-2017.08.tar.gz

-

PGP signature

-
-
-
-
-
- -
-
- -
-
-
- -

buildroot-2017.08.tar.bz2

-

PGP signature

-
-
- This and earlier releases (and their PGP signatures) can always be downloaded from - http://buildroot.net/downloads/. + https://buildroot.org/downloads/.
-
Source code
+
Git repository
-
-
-
-
Repository
-
-

The buildroot repository can be browsed online through cgit at - http://git.buildroot.net/buildroot. - To grab a copy of the repository use

- - -
- - - - -

- -

- Or if you're behind a firewall blocking git: -

- -
- - - - -

- -

- - Please use the native git protocol if at all possible, as it's a lot - more efficient than HTTP. - -

- - If you are not already familiar with using Git, we recommend you visit the Git website. - -

+

The buildroot repository can be browsed online at + https://gitlab.com/buildroot.org/buildroot/.

- Once you've checked out a copy of the source tree, you can update your source - tree at any time so it is in sync with the latest and greatest by entering your - buildroot directory and running the command: +

To grab a copy of the repository use

-
-git pull
-
+
+ + + + +

- Because you've only been granted anonymous access to the tree, you won't be - able to push your changes to the repo. Changes can instead be submitted for - inclusion by posting them to the buildroot mailing list. -
-
-
+

If you are not already familiar with using Git, we recommend + you visit the Git + website.

-
-
-
Tarballs
-
- You can also obtain daily snapshots of the latest Buildroot source tree if you - want to follow development, but cannot or do not wish to use Git. +

Once you've checked out a copy of the source tree, you can + update your source tree at any time so it is in sync with the + latest and greatest by entering your buildroot directory and + running the command:

- +

Because you've only been granted anonymous access to the + tree, you won't be able to push your changes to the + repo. Changes can instead be submitted for inclusion by + posting them to the buildroot mailing list.

-

- Older versions can be downloaded from the release archive. -

-
-
-
-
diff --git a/docs/website/favicon.png b/docs/website/favicon.png new file mode 100644 index 00000000000..3bfe1ba76ea Binary files /dev/null and b/docs/website/favicon.png differ diff --git a/docs/website/fonts/compagnon-light.woff b/docs/website/fonts/compagnon-light.woff new file mode 100644 index 00000000000..b0c6e876497 Binary files /dev/null and b/docs/website/fonts/compagnon-light.woff differ diff --git a/docs/website/fonts/terminal-grotesque.woff b/docs/website/fonts/terminal-grotesque.woff new file mode 100644 index 00000000000..d721311c12d Binary files /dev/null and b/docs/website/fonts/terminal-grotesque.woff differ diff --git a/docs/website/footer.html b/docs/website/footer.html index 279c8b1b5c7..82901b7ee60 100644 --- a/docs/website/footer.html +++ b/docs/website/footer.html @@ -1,6 +1,7 @@ - - - + + + + diff --git a/docs/website/header.html b/docs/website/header.html index ef6724f288c..8d610bb4422 100644 --- a/docs/website/header.html +++ b/docs/website/header.html @@ -6,16 +6,16 @@ - + Buildroot - Making Embedded Linux Easy - + @@ -41,8 +41,12 @@ Support
  • Contribute
  • +
  • + LTS
  • Sponsors
  • +
  • + Association
  • Download
  • diff --git a/docs/website/images/amarula-solutions-logo.png b/docs/website/images/amarula-solutions-logo.png new file mode 100644 index 00000000000..3fe4aeef816 Binary files /dev/null and b/docs/website/images/amarula-solutions-logo.png differ diff --git a/docs/website/images/armadeus-systems-logo.png b/docs/website/images/armadeus-systems-logo.png new file mode 100644 index 00000000000..9b6080fb134 Binary files /dev/null and b/docs/website/images/armadeus-systems-logo.png differ diff --git a/docs/website/images/benetti-engineering-logo.png b/docs/website/images/benetti-engineering-logo.png new file mode 100644 index 00000000000..0328caf9628 Binary files /dev/null and b/docs/website/images/benetti-engineering-logo.png differ diff --git a/docs/website/images/bootlin-logo.png b/docs/website/images/bootlin-logo.png new file mode 100644 index 00000000000..4f918750ec4 Binary files /dev/null and b/docs/website/images/bootlin-logo.png differ diff --git a/docs/website/images/calian-logo.png b/docs/website/images/calian-logo.png new file mode 100644 index 00000000000..762e0b13dc0 Binary files /dev/null and b/docs/website/images/calian-logo.png differ diff --git a/docs/website/images/evs-logo.png b/docs/website/images/evs-logo.png new file mode 100644 index 00000000000..bcaabe8cb5b Binary files /dev/null and b/docs/website/images/evs-logo.png differ diff --git a/docs/website/images/ipcomm-logo.png b/docs/website/images/ipcomm-logo.png new file mode 100644 index 00000000000..376f4160ef6 Binary files /dev/null and b/docs/website/images/ipcomm-logo.png differ diff --git a/docs/website/images/logilin-logo.png b/docs/website/images/logilin-logo.png new file mode 100644 index 00000000000..8e8396cf059 Binary files /dev/null and b/docs/website/images/logilin-logo.png differ diff --git a/docs/website/images/mind-logo.png b/docs/website/images/mind-logo.png index ecc3fa09e6a..5570d8f45e3 100644 Binary files a/docs/website/images/mind-logo.png and b/docs/website/images/mind-logo.png differ diff --git a/docs/website/images/openhomefoundation-logo.png b/docs/website/images/openhomefoundation-logo.png new file mode 100644 index 00000000000..1b359f2cec5 Binary files /dev/null and b/docs/website/images/openhomefoundation-logo.png differ diff --git a/docs/website/images/owi-smile-logo.png b/docs/website/images/owi-smile-logo.png deleted file mode 100644 index 9744ca15311..00000000000 Binary files a/docs/website/images/owi-smile-logo.png and /dev/null differ diff --git a/docs/website/images/rockwell-collins-logo.png b/docs/website/images/rockwell-collins-logo.png new file mode 100644 index 00000000000..b5956a82a75 Binary files /dev/null and b/docs/website/images/rockwell-collins-logo.png differ diff --git a/docs/website/images/scaleway-logo.png b/docs/website/images/scaleway-logo.png new file mode 100644 index 00000000000..16859145480 Binary files /dev/null and b/docs/website/images/scaleway-logo.png differ diff --git a/docs/website/images/sense-logo.png b/docs/website/images/sense-logo.png new file mode 100644 index 00000000000..d324111638f Binary files /dev/null and b/docs/website/images/sense-logo.png differ diff --git a/docs/website/images/smc-gateway-logo.png b/docs/website/images/smc-gateway-logo.png new file mode 100644 index 00000000000..b530f5ec0bd Binary files /dev/null and b/docs/website/images/smc-gateway-logo.png differ diff --git a/docs/website/images/smile-logo.png b/docs/website/images/smile-logo.png new file mode 100644 index 00000000000..046c999a251 Binary files /dev/null and b/docs/website/images/smile-logo.png differ diff --git a/docs/website/images/tap2open-logo.png b/docs/website/images/tap2open-logo.png new file mode 100644 index 00000000000..136019b6215 Binary files /dev/null and b/docs/website/images/tap2open-logo.png differ diff --git a/docs/website/images/tkos-logo.png b/docs/website/images/tkos-logo.png new file mode 100644 index 00000000000..6fe58826e10 Binary files /dev/null and b/docs/website/images/tkos-logo.png differ diff --git a/docs/website/images/zillabit-logo.png b/docs/website/images/zillabit-logo.png new file mode 100644 index 00000000000..6a2ac31f51e Binary files /dev/null and b/docs/website/images/zillabit-logo.png differ diff --git a/docs/website/index.html b/docs/website/index.html index f0d0175bb73..027fd485e02 100644 --- a/docs/website/index.html +++ b/docs/website/index.html @@ -78,7 +78,7 @@

    Is very easy

    -

    Supports hundreds of packages

    +

    Supports several thousand packages

    X.org stack, Gtk3, Qt 5, GStreamer, Webkit, Kodi, a large number of network-related and system-related utilities are supported.

    @@ -133,14 +133,14 @@

    Buildroot is an open source project: many developers contribute to it daily.
    @@ -148,4 +148,15 @@

    Buildroot is an open source project: many developers contribute to it daily.

    +
    +
    +
    +

    Security

    +

    To report a security vulnerability, please send an email to + security@buildroot.org.

    +
    +
    +
    +
    + diff --git a/docs/website/js/buildroot.js b/docs/website/js/buildroot.js index a30da633e97..b2975fb6093 100644 --- a/docs/website/js/buildroot.js +++ b/docs/website/js/buildroot.js @@ -1,52 +1,64 @@ -function load_activity(feedurl, divid) { - var yqlURL = "https://query.yahooapis.com/v1/public/yql"; - var yqlQS = "?q=select%20entry%20from%20xml%20where%20url%20%3D%20'"; - var yqlOPTS = "'%20limit%2010&format=json&callback="; - var container = document.getElementById(divid); - var url = yqlURL + yqlQS + encodeURIComponent(feedurl) + yqlOPTS; - - $.getJSON(url, function(data){ - var result = data.query.results; - var loaded = 0; - var nb_display = 8; - if (result==null) return; - for (var i = 0; i < result.feed.length; i++) { - var entry = result.feed[i].entry; - if (entry.title.indexOf("git commit") != -1) - continue; - loaded += 1; - if (loaded > nb_display) - break; - var div = document.createElement("p"); - var link = document.createElement("a"); - var d = new Date(entry.published); - var data = '[' + d.toLocaleDateString() + '] ' + entry.title - var text = document.createTextNode(data); - link.appendChild(text); - link.title = entry.title; - link.href = entry.link.href; - div.appendChild(link); - container.appendChild(div); - } - var empty = nb_display - loaded; - for (var i = 0; i < empty; i++) { - container.appendChild(document.createElement("p")); +function display_activity(result, activity) { + let loaded = 0; + let nb_display = 8; + let container; + if (result==null) return; + for (let i = 0; i < result.feed.entry.length; i++) { + let entry = result.feed.entry[i]; + if (activity==="commit" && entry.title.toString().indexOf("git commit") !== -1) { + container = document.getElementById("commit-activity"); + } else if (activity==="mailing-list" && entry.title.toString().indexOf("git commit") === -1) { + container = document.getElementById("mailing-list-activity"); + } else { + continue; } + loaded += 1 + if (loaded > nb_display) + break; + let div = document.createElement("p"); + let link = document.createElement("a"); + let d = new Date(entry.updated); + let data = '[' + d.toLocaleDateString() + '] ' + entry.title; + data = data.replace("Re: ",""); + data = data.replace("[Buildroot] ",""); + let text = document.createTextNode(data); + link.appendChild(text); + link.title = entry.title; + link.href = entry.link._href; + div.appendChild(link); + container.appendChild(div); + } + for (let i = 0; i < (nb_display - loaded); i++) { + container.appendChild(document.createElement("p")); + } +} + +function load_activity(feedurl) { + $.ajax({ + url: feedurl + }) + .done(function(data){ + let x2js = new X2JS(); + let result = x2js.xml_str2json(data.documentElement.outerHTML); + display_activity(result, "commit"); + display_activity(result, "mailing-list"); }); } + + function google_analytics() { - var _gaq = _gaq || []; + let _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-21761074-1']); _gaq.push(['_setDomainName', 'none']); _gaq.push(['_setAllowLinker', true]); _gaq.push(['_trackPageview']); - var ga = document.createElement('script'); + let ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; + ga.src = ('https:' === document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + let s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); } @@ -55,11 +67,11 @@ function showTooltip(elem, msg) { elem.setAttribute('aria-label', msg); } -var clipboard = new Clipboard('.btn'); +let clipboard = new Clipboard('.btn'); $(function () { $('[data-toggle="tooltip"]').tooltip() -}) +}); clipboard.on('success', function(e) { e.clearSelection(); @@ -68,8 +80,8 @@ clipboard.on('success', function(e) { $(function() { $('a[href*=\\#]:not([href=\\#])').click(function() { - if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) { - var target = $(this.hash); + if (location.pathname.replace(/^\//,'') === this.pathname.replace(/^\//,'') && location.hostname === this.hostname) { + let target = $(this.hash); target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); if (target.length) { $('html,body').animate({ @@ -82,13 +94,12 @@ $(function() { }); jQuery(document).ready(function($) { - var url = window.location.href; + let url = window.location.href; // Get the basename of the URL - url = url.split(/[\\/]/).pop() + url = url.split(/[\\/]/).pop(); $('.nav a[href="/' + url + '"]').parent().addClass('active'); - load_activity("http://buildroot-busybox.2317881.n4.nabble.com/Buildroot-busybox-ft2.xml", "mailing-list-activity"); - load_activity("http://git.buildroot.org/buildroot/atom/?h=master", "commit-activity"); + load_activity("/new.atom"); - $('#slides').html('') + $('#slides').html('') }); diff --git a/docs/website/lts.html b/docs/website/lts.html new file mode 100644 index 00000000000..3bfd2a4374d --- /dev/null +++ b/docs/website/lts.html @@ -0,0 +1,354 @@ + + + + +
    +
    + +
    +
    + Buildroot LTS +
    +
    + 3-year long-term support with security fixes +
    +
    +
    + +
    +
    +
    +
    LTS Objectives
    +
    +
    + +
    +
    1
    +
    +

    + 3-year LTS support +

    +

    + Starting with version 2025.02, the LTS support has been extended to + 3 years, replacing the previous 1-year cycle. +

    +
    +
    + +
    + +
    +
    2
    +
    +

    + Vulnerability tracking & reporting +

    +

    + Tracking of the vulnerabilities affecting Buildroot + is available at + security.buildroot.org. +
    + LTS stewards ensure this data remains up-to-date by actively + maintaining Buildroot packages metadata. +

    +
    +
    + +
    + +
    +
    3
    +
    +

    + Sponsored LTS stewards +

    +

    + To ensure a consistent release cadence and maintenance + workflow, paid LTS stewards are assigned to the weekly LTS + maintenance tasks. +

    +
    +
    + +
    + +
    +
    4
    +
    +

    + Dedicated backports +

    +

    + Vulnerability fixes applied to the master branch will be + prioritized for backporting to the LTS & stable branches. +

    +
    +
    + + +
    +
    +
    Releases
    +
    +
    + +

    + The Buildroot LTS sponsorship initiative has evolved from a more + comprehensive understanding of the needs of our user base. +
    + To address these requirements, the release model evolves into the following. +
    + The LTS releases are now extended for a 3-year period. An LTS release + is started every 2 years. + In between, stable releases are made every 3 months. +

    + +
    + +
    +
    +
    +
    2025
    +
    2026
    +
    2027
    +
    + +
    +
    2025.02
    +
    3 Years Support (LTS)
    +
    + +
    +
    2025.05
    +
    3 mo
    +
    + +
    +
    2025.08
    +
    3 mo
    +
    + +
    +
    2025.11
    +
    3 mo
    +
    + +
    +
    2026.02
    +
    3 mo
    +
    + +
    +
    2026.05
    +
    3 mo
    +
    + +
    +
    2026.08
    +
    3 mo
    +
    + +
    +
    2026.11
    +
    3 mo
    +
    + +
    +
    2027.02
    +
    3 Years Support (LTS)
    +
    + +
    +
    ...
    +
    +
    + +
    +
    + +

    + More details about the LTS workflow at buildroot.org/buildroot-lts-tools. +

    + +
    +
    +
    How we work
    +
    +
    + +

    + Each week, the LTS stewards define the set of commits to + analyze based on the previous week's commits to the master branch. The + commits are then annotated to define a list of candidates for the LTS + branches. +

    + On Thursday, the candidates are cherry-picked to a staging branch to be + reviewed by the other maintainers. On Thursday evening the branch is + synced with upstream and contributors are notified. Feedback from + users, sponsors and autobuilders are then collected and vulnerability + analyses updated. +

    +
    + +
    +
    +
    +
    Monday
    +
    Tuesday
    +
    Wednesday
    +
    Thursday
    +
    Friday
    +
    ...
    +
    + +
    +
    Freeze weekly commit set from master
    +
    +
    + +
    +
    Apply branch specific patches
    +
    +
    + +
    +
    Analysis & commit annotation
    +
    +
    + +
    +
    Cherry picking to staging branch
    +
    +
    + +
    +
    Sync with upstream branch
    +
    +
    + +
    +
    Update vulns
    +
    +
    +
    + +
    +
    +
    Sponsorship benefits
    +
    +
    + +
    +
    1
    +
    +

    + Long-term sustainability +

    +

    + Sponsors ensure the long-term sustainability of the Buildroot + LTS effort with dedicated stewards assigned to tasks such as + backporting, security monitoring and LTS releases. +

    +
    +
    + +
    + +
    +
    2
    +
    +

    + Recognition of your sponsorship +

    +

    + Sponsors can be publicly acknowledged on the Buildroot website. + Sponsors may provide a logo linking to a webpage of their + choice. +

    +
    +
    + +
    + +
    +
    3
    +
    +

    + Direct interaction with LTS stewards +

    +

    + Sponsors may submit queries and requests regarding + Buildroot LTS and security updates. +

    +
    +
    + +
    + +
    +
    4
    +
    +

    + Assignment of priorities for package tracking +

    +

    + Buildroot integrates more than 2000 open source packages, + many of which do not offer long-term stable releases or + security updates. +
    +
    + Sponsors may submit a priority list indicating:
    + - Packages of interest
    + - Architectures of interest
    +

    +
    +
    + +
    + +
    +
    5
    +
    +

    + Testing of your packages +

    +

    + To make sure the packages of interest to the sponsors don't + include regressions between releases. + Sponsors may submit a list of packages to be tested + before an LTS & stable release. +

    +
    +
    + +
    + +
    +
    6
    +
    +

    + Personalized security reports +

    +

    + Sponsors receive personalized security reports for their + Buildroot packages in the form of + security.buildroot.org + with comparison with the upstream branches. +

    +
    +
    + + +

    + Interested ? Contact us at + buildroot-lts@buildroot.org + to learn more about the different sponsorship tiers and get all the + details about the sponsorship. +

    +
    + + diff --git a/docs/website/news.html b/docs/website/news.html index 41a7577ad3b..fb2ecd527b1 100644 --- a/docs/website/news.html +++ b/docs/website/news.html @@ -9,6 +9,6310 @@

    News

      +
    • +
      +
      +
      +

      2026.05-rc1 released

      +

      12 May 2026

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2026.05-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2026.02.1 released

      +

      21 April 2026

      +
      +
      +

      The 2026.02.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2026.02 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2026.02.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.02.13 released

      +

      21 April 2026

      +
      +
      +

      The 2025.02.13 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.02.12 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.02.13 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.11.3 released

      +

      17 March 2026

      +
      +
      +

      The 2025.11.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.11.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.11.3 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.02.12 released

      +

      17 March 2026

      +
      +
      +

      The 2025.02.12 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.02.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.02.12 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2026.02 released

      +

      4 March 2026

      +
      +
      +

      The stable 2026.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2026.02 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2026.02-rc3 released

      +

      2 March 2026

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2026.02-rc3 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2026.02-rc2 released

      +

      24 February 2026

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2026.02-rc2 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.11.2 released

      +

      20 February 2026

      +
      +
      +

      The 2025.11.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.11.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.02.11 released

      +

      20 February 2026

      +
      +
      +

      The 2025.02.11 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.02.9 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.02.11 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2026.02-rc1 released

      +

      17 February 2026

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2026.02-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      Marcus Hoffmann joins the maintainer team

      +

      5 February 2026

      +
      +
      +

      We are happy to announce that Marcus Hoffmann has joined + the team of Buildroot maintainers. For details, see the + announcement.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.11.1 released

      +

      20 January 2026

      +
      +
      +

      The 2025.11.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.11.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.02.10 released

      +

      20 January 2026

      +
      +
      +

      The 2025.02.10 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.02.9 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.02.10 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.11 released

      +

      11 December 2025

      +
      +
      +

      The stable 2025.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.11 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.02.9 released

      +

      11 December 2025

      +
      +
      +

      The 2025.02.9 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.02.8 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.02.9 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.08.3 released

      +

      11 December 2025

      +
      +
      +

      The 2025.08.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.08.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.08.3 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.11-rc2 released

      +

      30 November 2025

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2025.11-rc2 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.08.2 released

      +

      20 November 2025

      +
      +
      +

      The 2025.08.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.08.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.08.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.02.8 released

      +

      20 November 2025

      +
      +
      +

      The 2025.02.8 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.02.7 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.02.8 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.11-rc1 released

      +

      20 November 2025

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2025.11-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.02.7 released

      +

      11 October 2025

      +
      +
      +

      The 2025.02.7 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.02.6 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.02.7 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.05.3 released

      +

      11 October 2025

      +
      +
      +

      The 2025.05.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.05.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.05.3 release. + This is the last release of the 2025.05 stable series.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.08.1 released

      +

      11 October 2025

      +
      +
      +

      The 2025.08.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.08 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.08.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.05.2 released

      +

      9 September 2025

      +
      +
      +

      The 2025.05.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.05.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.05.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.02.6 released

      +

      9 September 2025

      +
      +
      +

      The 2025.02.6 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.02.5 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.02.6 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.08 released

      +

      9 September 2025

      +
      +
      +

      The stable 2025.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.08 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.08-rc3 released

      +

      28 August 2025

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2025.08-rc3 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.08-rc2 released

      +

      21 August 2025

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2025.08-rc2 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.05.1 released

      +

      11 August 2025

      +
      +
      +

      The 2025.05.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.05 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.05.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.02.5 released

      +

      11 August 2025

      +
      +
      +

      The 2025.02.5 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.02.4 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.02.5 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.08-rc1 released

      +

      11 August 2025

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2025.08-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.02.4 released

      +

      23 June 2025

      +
      +
      +

      The 2025.02.4 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.03 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.02.4 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.05 released

      +

      9 June 2025

      +
      +
      +

      The stable 2025.05 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.05 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.05-rc2 released

      +

      28 May 2025

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2025.05-rc2 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.05-rc1 released

      +

      19 May 2025

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2025.05-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.02.3 released

      +

      19 May 2025

      +
      +
      +

      The 2025.02.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.02 release. It + replaces the 2025.02.2 release which was made the day before but + which was unfortunately broken. See the + CHANGES + file for more details, read the announcement for + 2025.02.2 + and + 2025.02.3 + and go to the downloads page to pick up the + 2025.02.3 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.02.01 released

      +

      22 April 2025

      +
      +
      +

      The 2025.02.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2025.02 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.02.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.02.13 released, 2024.02.x series EOL

      +

      22 April 2025

      +
      +
      +

      The 2024.02.13 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.02.12 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.02.13 release.

      + +

      Notice that the 2024.02.x series is now end of life. Please migrate to + the 2025.02.x series instead.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.11.4 released, 2024.11.x series EOL

      +

      22 April 2025

      +
      +
      +

      The 2024.11.4 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.11.3 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.11.4 release.

      + +

      Notice that the 2024.11.x series is now end of life. Please migrate to + the 2025.02.x series instead.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.02.12 released

      +

      24 March 2025

      +
      +
      +

      The 2024.02.12 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.02.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.02.12 release.

      + +

      Notice that the 2024.02.x series will soon be end of life. Please migrate to + the 2025.02.x series instead.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.11.3 released

      +

      24 March 2025

      +
      +
      +

      The 2024.11.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.11.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.11.3 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.02 released

      +

      17 March 2025

      +
      +
      +

      The stable 2025.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2025.02 release.

      + +

      Notice that this is a long term support release which will be + supported with security and other important fixes until (at least) March 2026.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.02-rc2 released

      +

      13 March 2025

      +
      +
      +

      Another 2 weeks, another release candidate with more cleanups and build fixes. See the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2025.02-rc2 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2025.02-rc1 released

      +

      28 February 2025

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2025.02-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.11.2 released

      +

      21 February 2025

      +
      +
      +

      The 2024.11.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.11.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.11.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.02.11 released

      +

      21 Febrary 2025

      +
      +
      +

      The 2024.02.11 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.02.10 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.02.11 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.11.1 released

      +

      9 January 2025

      +
      +
      +

      The 2024.11.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.11.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.02.10 released

      +

      9 January 2025

      +
      +
      +

      The 2024.02.10 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.02.9 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.02.10 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.02.9 released

      +

      8 December 2024

      +
      +
      +

      The 2024.02.9 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.02.8 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.02.9 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.08.3 released, 2024.08.x series EOL

      +

      8 December 2024

      +
      +
      +

      The 2024.08.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.08.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.08.3 release.

      + +

      Notice that the 2024.08.x series is now end of life. Please migrate to + the 2024.11.x series instead.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.11 released

      +

      8 December 2024

      +
      +
      +

      The stable 2024.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement. + and go to the downloads page to pick up the + 2024.11 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.11-rc3 released

      +

      5 December 2024

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2024.11-rc3 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.11-rc2 released

      +

      23 November 2024

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2024.11-rc2 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.02.8 released

      +

      14 November 2024

      +
      +
      +

      The 2024.02.8 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.02.7 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.02.8 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.08.2 released

      +

      14 November 2024

      +
      +
      +

      The 2024.08.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.08.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.08.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.11-rc1 released

      +

      13 November 2024

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2024.11-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      Buildroot Developers Meeting 2025

      +

      2 October 2024

      +
      +
      + The Buildroot community is organizing a 3-day Buildroot + Developers Meeting on Feb 3-5, 2025, in Brussels (Belgium) + right after the FOSDEM + conference. Buildroot developers and contributors are invited + to join to meet together, review and merge pending patches, + learn how to contribute, discuss on-going topics and work on + specific ideas or + issues. See the + dedicated event page for more details and registration. +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.02.7 released

      +

      21 October 2024

      +
      +
      +

      The 2024.02.7 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.02.6 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.02.7 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.08.1 released

      +

      20 October 2024

      +
      +
      +

      The 2024.08.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.08 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.08.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.02.6 released

      +

      9 September 2024

      +
      +
      +

      The 2024.02.6 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.02.5 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.02.6 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.05.3 released, 2024.05.x series EOL

      +

      9 September 2024

      +
      +
      +

      The 2024.05.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.05.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.05.3 release.

      + +

      Notice that the 2024.05.x series is now end of life. Please migrate to + the 2024.08.x series instead.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.08 released

      +

      6 September 2024

      +
      +
      +

      The stable 2024.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.08 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.08-rc3 released

      +

      1 September 2024

      +
      +
      +

      2024.08-rc3 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2024.08-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.08-rc2 released

      +

      22 August 2024

      +
      +
      +

      Another 2 weeks, another release candidate with more cleanups and build fixes. See the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2024.08-rc2 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.02.5 released

      +

      14 August 2024

      +
      +
      +

      The 2024.02.5 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.02.4 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.02.5 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.05.2 released

      +

      14 August 2024

      +
      +
      +

      The 2024.05.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.05.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.05.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.08-rc1 released

      +

      8 August 2024

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2024.08-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.02.4 released

      +

      13 July 2024

      +
      +
      +

      The 2024.02.4 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.02.3 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.02.4 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.05.1 released

      +

      13 July 2024

      +
      +
      +

      The 2024.05.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.05 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.05.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      LTS Sponsoring announced

      +
      +
      +

      We are excited to share that we have launched the Buildroot Long + Term Support (LTS) Sponsoring Project!

      +

      This initiative comes from a place where we understand the critical + need for extended support which is beyond volunteering. That's why + we are calling all Buildroot users and enthusiasts to come together + and join this initiative that's shaping the future of Buildroot.

      +

      +

      Find more information on the + Buildroot LTS Sponsoring + page.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.05 released

      +

      12 June 2024

      +
      +
      +

      The stable 2024.05 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.05 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.02.3 released

      +

      10 June 2024

      +
      +
      +

      The 2024.02.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.02.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.02.3 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.05-rc2 released

      +

      4 June 2024

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2024.05-rc2 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.05-rc1 released

      +

      30 May 2024

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2024.05-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.02.2 released

      +

      7 May 2024

      +
      +
      +

      The 2024.02.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.02.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.02.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.02.11 released

      +

      27 March 2024

      +
      +
      +

      The 2023.02.11 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02.10 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.11 release.

      + +

      Notice that the 2023.02.x series is now end of life. Please migrate to + the 2024.02.x series instead.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.11.3 released, 2023.11.x series EOL

      +

      26 March 2024

      +
      +
      +

      The 2023.11.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.11.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.11.3 release.

      + +

      Notice that the 2023.11.x series is now end of life. Please migrate to + the 2024.02.x series instead.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.02.1 released

      +

      26 March 2024

      +
      +
      +

      The 2024.02.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2024.02 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.02.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.02 released

      +

      5 March 2024

      +
      +
      +

      The stable 2024.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2024.02 release.

      + +

      Notice that this is a long term support release which will be + supported with security and other important fixes until March 2025.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.02-rc2 released

      +

      1 March 2024

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2024.02-rc2 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.02.10 released

      +

      1 March 2024

      +
      +
      +

      The 2023.02.10 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02.9 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.10 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.11.2 released

      +

      1 March 2024

      +
      +
      +

      The 2023.11.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.11.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.11.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2024.02-rc1 released

      +

      25 February 2024

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2024.02-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.02.9 released

      +

      15 January 2024

      +
      +
      +

      The 2023.02.9 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02.8 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.9 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.11.1 released

      +

      15 January 2024

      +
      +
      +

      The 2023.11.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.11.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      Talos security vulnerabilities

      +

      6 December 2023

      +
      +
      +

      Talos has recently published + TALOS-2023-1844 + and + TALOS-2023-1845 + advisories, describing vulnerabilities in the download hash + verification logic of Buildroot. These issues are fixed in the + 2023.02.8, 2023.08.4 and 2023.11 releases. For more details, + see the + announcement.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.02.8 released

      +

      4 December 2023

      +
      +
      +

      The 2023.02.8 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02.7 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.8 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.08.4 released, 2023.08.x series EOL

      +

      4 December 2023

      +
      +
      +

      The 2023.08.4 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.08.3 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.08.4 release.

      + +

      Notice that the 2023.08.x series is now end of life. Please migrate to + the 2023.11 series instead.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.11 released

      +

      4 December 2023

      +
      +
      +

      The stable 2023.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.11 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.11-rc2 released

      +

      29 November 2023

      +
      +
      +

      2023.11-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2023.11-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.02.7 released

      +

      14 November 2023

      +
      +
      +

      The 2023.02.7 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02.6 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.7 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.08.3 released

      +

      14 November 2023

      +
      +
      +

      The 2023.08.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.08.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.08.3 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.11-rc1 released

      +

      14 November 2023

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2023.11-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.02.6 released

      +

      16 October 2023

      +
      +
      +

      The 2023.02.6 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02.5 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.6 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.08.2 released

      +

      15 October 2023

      +
      +
      +

      The 2023.08.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.08.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.08.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.08.1 released

      +

      27 September 2023

      +
      +
      +

      The 2023.08.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.08 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.08.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.02.5 released

      +

      27 September 2023

      +
      +
      +

      The 2023.02.5 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02.4 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.5 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.05.3 released, 2023.05.x series EOL

      +

      26 September 2023

      +
      +
      +

      The 2023.05.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.05.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.05.3 release.

      + +

      Notice that the 2023.05.x series is now end of life. Please migrate to + the 2023.08 series instead.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.08 released

      +

      6 September 2023

      +
      +
      +

      The stable 2023.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.08 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.02.4 released

      +

      31 August 2023

      +
      +
      +

      The 2023.02.4 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02.3 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.4 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.05.2 released

      +

      31 August 2023

      +
      +
      +

      The 2023.05.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.05.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.05.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.08-rc3 released

      +

      29 August 2023

      +
      +
      +

      2023.08-rc3 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2023.08-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.08-rc2 released

      +

      20 August 2023

      +
      +
      +

      2023.08-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2023.08-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.08-rc1 released

      +

      5 August 2023

      +
      +
      +

      We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for more details.

      +

      Go to the downloads page to pick up the + 2023.08-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.02.3 released

      +

      17 July 2023

      +
      +
      +

      The 2023.02.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.3 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.05.1 released

      +

      17 July 2023

      +
      +
      +

      The 2023.05.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.05 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.05.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.02.2 released

      +

      16 June 2023

      +
      +
      +

      The 2023.02.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.05 released

      +

      7 June 2023

      +
      +
      +

      The stable 2023.05 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.05 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.05-rc3 released

      +

      4 June 2023

      +
      +
      +

      2023.05-rc3 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2023.05-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.05-rc2 released

      +

      28 May 2023

      +
      +
      +

      2023.05-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2023.05-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.05-rc1 released

      +

      15 May 2023

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2023.05-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.02.1 released

      +

      10 May 2023

      +
      +
      +

      The 2023.02.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.02.12 released, 2022.02.x series EOL

      +

      4 May 2023

      +
      +
      +

      The 2022.02.12 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.02.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.02.12 release.

      + +

      Notice that the 2022.02.x series is now end of life. Please migrate to + the 2023.02 series instead which will be supported until April 2024.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.02.11 released

      +

      19 March 2023

      +
      +
      +

      The 2022.02.11 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.02.10 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.02.11 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.11.3 released, 2022.11.x series EOL

      +

      18 March 2023

      +
      +
      +

      The 2022.11.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.11.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.11.3 release.

      + +

      Notice that the 2022.11.x series is now end of life. Please migrate to + the 2023.02 series instead which will be supported until April 2024.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.02 released

      +

      12 March 2023

      +
      +
      +

      The stable 2023.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02 release.

      + +

      Notice that this is a long term support release which will be + supported with security and other important fixes until March 2024.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.02-rc3 released

      +

      8 March 2023

      +
      +
      +

      2023.02-rc3 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2023.02-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.02.10 released

      +

      18 January 2023

      +
      +
      +

      The 2022.02.10 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.02.9 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.02.10 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.11.2 released

      +

      1 March 2023

      +
      +
      +

      The 2022.11.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.11.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.11.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.02-rc2 released

      +

      27 February 2023

      +
      +
      +

      2023.02-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2023.02-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2023.02-rc1 released

      +

      20 February 2023

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2023.02-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.02.9 released

      +

      18 January 2023

      +
      +
      +

      The 2022.02.9 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.02.8 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.02.9 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.11.1 released

      +

      18 January 2023

      +
      +
      +

      The 2022.11.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.11.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.02.8 released

      +

      10 December 2022

      +
      +
      +

      The 2022.02.8 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.02.7 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.02.8 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.08.3 released

      +

      10 December 2022

      +
      +
      +

      The 2022.08.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.08.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.08.3 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.11 released

      +

      5 December 2022

      +
      +
      +

      The stable 2022.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.11 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.11-rc3 released

      +

      24 November 2022

      +
      +
      +

      2022.11-rc3 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2022.11-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.02.7 released

      +

      17 November 2022

      +
      +
      +

      The 2022.02.7 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.02.6 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.02.7 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.08.2 released

      +

      16 November 2022

      +
      +
      +

      The 2022.08.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.08.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.08.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.11-rc2 released

      +

      16 November 2022

      +
      +
      +

      2022.11-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2022.11-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.11-rc1 released

      +

      3 November 2022

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2022.11-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.08.1 released

      +

      3 October 2022

      +
      +
      +

      The 2022.08.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.08 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.08.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.02.6 released

      +

      2 October 2022

      +
      +
      +

      The 2022.02.6 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.02.5 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.02.6 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.05.3 released

      +

      2 October 2022

      +
      +
      +

      The 2022.05.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.05.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.05.3 release.

      + +

      Notice that the 2022.05.x series is now end of life. Please migrate to + the 2022.08 series instead which will be supported until December 2022.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.08 released

      +

      10 September 2022

      +
      +
      +

      The stable 2022.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.08 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.08-rc2 released

      +

      1 September 2022

      +
      +
      +

      2022.08-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2022.08-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.02.5 released

      +

      31 August 2022

      +
      +
      +

      The 2022.02.5 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.02.4 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.02.5 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.05.2 released

      +

      31 August 2022

      +
      +
      +

      The 2022.05.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.05.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.05.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.08-rc1 released

      +

      12 August 2022

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2022.08-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.02.4 released

      +

      28 July 2022

      +
      +
      +

      The 2022.02.4 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.02.3 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.02.4 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.05.1 released

      +

      24 July 2022

      +
      +
      +

      The 2022.05.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.05 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.05.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.02.3 released

      +

      19 June 2022

      +
      +
      +

      The 2022.02.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.02.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.02.3 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.05 released

      +

      6 June 2022

      +
      +
      +

      The stable 2022.05 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.05 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.05-rc2 released

      +

      30 May 2022

      +
      +
      +

      2022.05-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2022.05-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.02.2 released

      +

      29 May 2022

      +
      +
      +

      The 2022.02.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.02.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.02.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.05-rc1 released

      +

      18 May 2022

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2022.05-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.02.1 released

      +

      11 April 2022

      +
      +
      +

      The 2022.02.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.02 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.02.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.02.12 released, 2021.02.x series EOL

      +

      6 April 2022

      +
      +
      +

      The 2021.02.12 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.12 release.

      + +

      Notice that the 2021.02.x series is now end of life. Please migrate to + the 2022.02 series instead which will be supported until April 2023.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.02.11 released

      +

      25 March 2022

      +
      +
      +

      The 2021.02.11 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.10 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.11 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.11.3 released, 2021.11.x series EOL

      +

      24 March 2022

      +
      +
      +

      The 2021.11.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.11.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.11.3 release.

      + +

      Notice that the 2021.11.x series is now end of life. Please migrate to + the 2022.02 series instead which will be supported until April 2023.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.02 released

      +

      8 March 2022

      +
      +
      +

      The stable 2022.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.02 release.

      + +

      Notice that this is a long term support release which will be + supported with security and other important fixes until March 2023.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.02-rc3 released

      +

      28 February 2022

      +
      +
      +

      2022.02-rc3 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2022.02-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.02.10 released

      +

      28 February 2022

      +
      +
      +

      The 2021.02.10 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.9 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.10 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.11.2 released

      +

      28 February 2022

      +
      +
      +

      The 2021.11.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.11.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.11.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.02-rc2 released

      +

      20 February 2022

      +
      +
      +

      2022.02-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2022.02-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2022.02-rc1 released

      +

      13 February 2022

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2022.02-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.02.9 released

      +

      29 January 2022

      +
      +
      +

      The 2021.02.9 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.8 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.9 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.11.1 released

      +

      29 January 2022

      +
      +
      +

      The 2021.11.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.11.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.02.8 released

      +

      14 December 2021

      +
      +
      +

      The 2021.02.8 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.7 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.8 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.08.3 released, 2021.08.x series EOL

      +

      13 December 2021

      +
      +
      +

      The 2021.08.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.08.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.08.3 release.

      + +

      Notice that the 2021.08.x series is now end of life. Please migrate to + the 2021.11 series instead which will be supported until April 2022.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.11 released

      +

      5 December 2021

      +
      +
      +

      The stable 2021.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.11 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.11-rc3 released

      +

      30 November 2021

      +
      +
      +

      2021.11-rc3 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2021.11-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.11-rc2 released

      +

      19 November 2021

      +
      +
      +

      2021.11-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2021.11-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.02.7 released

      +

      10 November 2021

      +
      +
      +

      The 2021.02.7 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.6 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.7 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.08.2 released

      +

      10 November 2021

      +
      +
      +

      The 2021.08.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.08.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.08.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.11-rc1 released

      +

      8 November 2021

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2021.11-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.02.6 released

      +

      12 October 2021

      +
      +
      +

      The 2021.02.6 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.5 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.6 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.05.3 released, 2021.05.x series EOL

      +

      12 October 2021

      +
      +
      +

      The 2021.05.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.05.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.05.3 release.

      + +

      Notice that the 2021.05.x series is now end of life. Please migrate to + the 2021.08 series instead which will be supported until December 2021.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.08.1 released

      +

      11 October 2021

      +
      +
      +

      The 2021.08.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.08 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.08.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.02.5 released

      +

      16 September 2021

      +
      +
      +

      The 2021.02.5 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.4 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.5 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.05.2 released

      +

      15 September 2021

      +
      +
      +

      The 2021.05.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.05.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.05.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.08 released

      +

      4 September 2021

      +
      +
      +

      The stable 2021.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.08 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.08-rc3 released

      +

      31 August 2021

      +
      +
      +

      2021.08-rc3 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2021.08-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.08-rc2 released

      +

      18 August 2021

      +
      +
      +

      2021.08-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2021.08-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.02.4 released

      +

      11 August 2021

      +
      +
      +

      The 2021.02.4 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.3 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.4 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.05.1 released

      +

      10 August 2021

      +
      +
      +

      The 2021.05.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.05 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.05.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.08-rc1 released

      +

      3 August 2021

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2021.08-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.02.3 released

      +

      12 June 2021

      +
      +
      +

      The 2021.02.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.3 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.05 released

      +

      6 June 2021

      +
      +
      +

      The stable 2021.05 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.05 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.05-rc3 released

      +

      31 May 2021

      +
      +
      +

      2021.05-rc3 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2021.05-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.05-rc2 released

      +

      22 May 2021

      +
      +
      +

      2021.05-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2021.05-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.02.2 released

      +

      12 May 2021

      +
      +
      +

      The 2021.02.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.05-rc1 released

      +

      12 May 2021

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2021.05-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.02.1 released

      +

      7 April 2021

      +
      +
      +

      The 2021.02.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2021.02 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.02.12 released, 2020.02.x series EOL

      +

      5 April 2021

      +
      +
      +

      The 2020.02.12 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.02.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.02.12 release.

      + +

      Notice that the 2020.02.x series is now end of life. Please migrate to + the 2021.02 series instead which will be supported until March 2022.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.11.4 released, 2020.11.x series EOL

      +

      5 April 2021

      +
      +
      +

      The 2020.11.4 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.11.3 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.11.4 release.

      + +

      Notice that the 2020.11.x series is now end of life. Please migrate to + the 2021.02 series instead which will be supported until March 2022.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.02 released

      +

      6 March 2021

      +
      +
      +

      The stable 2021.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2021.02 release.

      + +

      Notice that this is a long term support release which will be + supported with security and other important fixes until March 2022.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.02-rc3 released

      +

      27 February 2021

      +
      +
      +

      2021.02-rc3 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2021.02-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.02.11 released

      +

      17 February 2021

      +
      +
      +

      The 2020.02.11 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.02.10 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.02.11 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.11.3 released

      +

      17 February 2021

      +
      +
      +

      The 2020.11.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.11.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.11.3 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.02-rc2 released

      +

      17 February 2021

      +
      +
      +

      2021.02-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2021.02-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2021.02-rc1 released

      +

      9 February 2021

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2021.02-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.02.10 released

      +

      31 January 2021

      +
      +
      +

      The 2020.02.10 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.02.9 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.02.10 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.11.2 released

      +

      31 January 2021

      +
      +
      +

      The 2020.11.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.11.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.11.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.02.9 released

      +

      27 December 2020

      +
      +
      +

      The 2020.02.9 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.02.8 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.02.9 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.08.3 released, 2020.08.x series EOL

      +

      27 December 2020

      +
      +
      +

      The 2020.08.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.08.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.08.3 release.

      + +

      Notice that the 2020.08.x series is now end of life. Please migrate to + the 2020.11 series instead which will be supported until March 2021.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.11.1 released

      +

      27 December 2020

      +
      +
      +

      The 2020.11.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.11.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.11 released

      +

      2 December 2020

      +
      +
      +

      The stable 2020.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.11 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.11-rc3 released

      +

      28 November 2020

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2020.11-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.02.8 released

      +

      17 November 2020

      +
      +
      +

      The 2020.02.8 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.02.7 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.02.8 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.08.2 released

      +

      16 November 2020

      +
      +
      +

      The 2020.08.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.08.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.08.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.11-rc2 released

      +

      14 November 2020

      +
      +
      +

      2020.11-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2020.11-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.11-rc1 released

      +

      4 November 2020

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2020.11-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.02.7 released

      +

      12 October 2020

      +
      +
      +

      The 2020.02.7 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.02.6 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.02.7 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.05.3 released

      +

      12 October 2020

      +
      +
      +

      The 2020.05.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.05.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.05.3 release.

      + +

      Notice that the 2020.05.x series is now end of life. Please migrate to + the 2020.08 series instead which will be supported until December 2020.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.08.1 released

      +

      12 October 2020

      +
      +
      +

      The 2020.08.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.08 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.08.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.02.6 released

      +

      5 September 2020

      +
      +
      +

      The 2020.02.6 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.02.5 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.02.6 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.08 released

      +

      1 September 2020

      +
      +
      +

      The stable 2020.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.08 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.02.5 released

      +

      29 august 2020

      +
      +
      +

      The 2020.02.5 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.02.4 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.02.5 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.05.2 released

      +

      29 August 2020

      +
      +
      +

      The 2020.05.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.05.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.05.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.08-rc3 released

      +

      28 August 2020

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2020.08-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.08-rc2 released

      +

      24 August 2020

      +
      +
      +

      2020.08-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2020.08-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.08-rc1 released

      +

      6 August 2020

      +
      +
      +

      The 2020.08-rc1 release candidate is out. It is the first + release candidate for 2020.08, which we aim at releasing end + of August 2020. It contains a number of new packages, new + defconfigs, toolchain improvements, package updates and + more. See + the CHANGES. Go + to the downloads page to pick up the + 2020.08-rc1 + release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.02.4 released

      +

      26 July 2020

      +
      +
      +

      The 2020.02.4 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.02.3 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.02.4 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.05.1 released

      +

      25 July 2020

      +
      +
      +

      The 2020.05.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.05 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.05.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.02.3 released

      +

      3 June 2020

      +
      +
      +

      The 2020.02.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.02.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.02.3 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.05 released

      +

      1 June 2020

      +
      +
      +

      The stable 2020.05 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.05 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.05-rc3 released

      +

      29 May 2020

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2020.05-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.05-rc2 released

      +

      22 May 2020

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2020.05-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.02.2 released

      +

      12 May 2020

      +
      +
      +

      The 2020.02.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.02.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.02.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.05-rc1 released

      +

      10 April 2020

      +
      +
      +

      We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

      + +

      Go to the downloads page to pick up the + 2020.05-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.02.1 released

      +

      10 April 2020

      +
      +
      +

      The 2020.02.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2020.02 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.02.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.11.3 released, 2019.11.x series EOL

      +

      10 April 2020

      +
      +
      +

      The 2019.11.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.11.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.11.3 release.

      + +

      Notice that the 2019.11.x series is now end of life. Please migrate to + the 2020.02 series instead which will be supported until April 2021.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.02.11 released, 2019.02.x series EOL

      +

      9 April 2020

      +
      +
      +

      The 2019.02.11 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.02.10 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.02.11 release.

      + +

      Notice that the 2019.02.x series is now end of life. Please migrate to + the 2020.02 series instead which will be supported until April 2021.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.02.10 released

      +

      16 march 2020

      +
      +
      +

      The 2019.02.10 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.02.9 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.02.10 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.11.2 released

      +

      16 March 2020

      +
      +
      +

      The 2019.11.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.11.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.11.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.02 released

      +

      8 March 2020

      +
      +
      +

      The stable 2020.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2020.02 release.

      + +

      Notice that this is a long term support release which will be + supported with security and other important fixes until March 2021.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.02-rc3 released

      +

      2 March 2020

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2020.02-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.02-rc2 released

      +

      26 February 2020

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2020.02-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2020.02-rc1 released

      +

      18 February 2020

      +
      +
      +

      We have a new release candidate! Lots of changes all over the + tree, see the + CHANGES + file for details. +

      + +

      Head to the downloads page to pick up the + 2020.02-rc1 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.02.9 released

      +

      12 January 2020

      +
      +
      +

      The 2019.02.9 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.02.8 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.02.9 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.11.1 released

      +

      12 January 2020

      +
      +
      +

      The 2019.11.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.11.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.02.8 released

      +

      7 December 2019

      +
      +
      +

      The 2019.02.8 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.02.7 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.02.8 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.08.3 released

      +

      7 December 2019

      +
      +
      +

      The 2019.08.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.08.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.08.3 release.

      + +

      Notice that the 2019.08.x series is now end of life. Please migrate to + the 2019.02 or 2019.11 series instead.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.11 released

      +

      1 December 2019

      +
      +
      +

      The stable 2019.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.11 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.11-rc3 released

      +

      24 November 2019

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2019.11-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.11-rc2 released

      +

      16 November 2019

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2019.11-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.02.7 released

      +

      10 November 2019

      +
      +
      +

      The 2019.02.7 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.02.6 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.02.7 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.08.2 released

      +

      9 November 2019

      +
      +
      +

      The 2019.08.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.08.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.08.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.11-rc1 released

      +

      5 November 2019

      +
      +
      +

      We have a new release candidate! Lots of changes all over the + tree, see the + CHANGES + file for details. +

      + +

      Head to the downloads page to pick up the + 2019.11-rc1 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.02.6 released

      +

      4 October 2019

      +
      +
      +

      The 2019.02.6 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.02.5 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.02.6 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.05.3 released

      +

      4 October 2019

      +
      +
      +

      The 2019.05.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.05.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.05.3 release.

      + +

      Notice that the 2019.05.x series is now end of life. Please migrate to + the 2019.02 or 2019.08 series instead.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.08.1 released

      +

      4 October 2019

      +
      +
      +

      The 2019.08.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.08 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.08.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.05.2 released

      +

      3 September 2019

      +
      +
      +

      The 2019.05.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.05.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.05.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.02.5 released

      +

      2 September 2019

      +
      +
      +

      The 2019.02.5 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.02.4 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.02.5 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.08 released

      +

      1 September 2019

      +
      +
      +

      The stable 2019.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.08 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.08-rc3 released

      +

      28 August 2019

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2019.08-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.08-rc2 released

      +

      20 August 2019

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2019.08-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.08-rc1 released

      +

      9 August 2019

      +
      +
      +

      We have a new release candidate! Lots of changes all over the + tree, see the + CHANGES + file for details. +

      + +

      Head to the downloads page to pick up the + 2019.08-rc1 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.02.4 released

      +

      7 June 2019

      +
      +
      +

      The 2019.02.4 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.02.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.02.4 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.05.1 released

      +

      7 July 2019

      +
      +
      +

      The 2019.05.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.05 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.05.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.02.3 released

      +

      7 June 2019

      +
      +
      +

      The 2019.02.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.02.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.02.3 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.05 released

      +

      2 June 2019

      +
      +
      +

      The stable 2019.05 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.05 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.05-rc3 released

      +

      25 May 2019

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2019.05-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.05-rc2 released

      +

      15 May 2019

      +
      +
      +

      Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2019.05-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.05-rc1 released

      +

      8 May 2019

      +
      +
      +

      We have a new release candidate! Lots of changes all over the + tree, see the + CHANGES + file for details, and read the + announcement. +

      + +

      Head to the downloads page to pick up the + 2019.05-rc1 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.02.2 released

      +

      29 April 2019

      +
      +
      +

      The 2019.02.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.02.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.02.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.02.1 released

      +

      29 March 2019

      +
      +
      +

      The 2019.02.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2019.02 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.02.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02.12 released, 2018.02.x series EOL

      +

      29 March 2019

      +
      +
      +

      The 2018.02.12 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.02.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.02.12 release.

      + +

      Notice that the 2018.02.x series is now end of life. Please migrate to + the 2019.02 series instead which will be supported until March 2020.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.11.4 released

      +

      28 March 2019

      +
      +
      +

      The 2018.11.4 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.11.3 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.11.4 release.

      + +

      Notice that the 2018.11.x series is now end of life. Please migrate to + the 2019.02 series instead which will be supported until March 2020.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.02 released

      +

      4 March 2019

      +
      +
      +

      The stable 2019.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2019.02 release.

      + +

      Notice that this is a long term support release which will be + supported with security and other important fixes until March 2020.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.02-rc3 released

      +

      1 March 2019

      +
      +
      +

      Another week, another release candidate with more cleanups + and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2019.02-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.11.3 released

      +

      23 February 2019

      +
      +
      +

      The 2018.11.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.11.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.11.3 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02.11 released

      +

      23 February 2019

      +
      +
      +

      The 2018.02.11 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.02.10 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.02.11 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.02-rc2 released

      +

      23 February 2019

      +
      +
      +

      Another week, another release candidate with more cleanups + and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2019.02-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.02-rc1 released

      +

      13 February 2019

      +
      +
      +

      We have a new release candidate! Lots of changes all over the + tree, see the + CHANGES + file for details and read the + announcement. +

      + +

      Head to the downloads page to pick up the + 2019.02-rc1 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02.10 released

      +

      31 January 2019

      +
      +
      +

      The 2018.02.10 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.02.9 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.02.10 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.11.2 released

      +

      30 January 2019

      +
      +
      +

      The 2018.11.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.11.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.11.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02.9 released

      +

      20 December 2018

      +
      +
      +

      The 2018.02.9 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.02.8 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.02.9 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.08.4 released, 2018.08 series EOL

      +

      20 December 2018

      +
      +
      +

      The 2018.08.4 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.08.3 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.08.4 release.

      +

      Notice that the 2018.08 series is now end of life, please + consider migrating to 2018.11 instead.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.11.1 released

      +

      19 December 2018

      +
      +
      +

      The 2018.11.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.11.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.11 released

      +

      1 December 2018

      +
      +
      +

      The stable 2018.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.11 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.11-rc3 released

      +

      30 November 2018

      +
      +
      +

      Another week, another release candidate with more cleanups + and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2018.11-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02.8 released

      +

      26 November 2018

      +
      +
      +

      The 2018.02.8 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.02.7 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.02.8 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.08.3 released

      +

      26 November 2018

      +
      +
      +

      The 2018.08.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.08.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.08.3 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.11-rc2 released

      +

      21 November 2018

      +
      +
      +

      Another week, another release candidate with more cleanups + and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2018.11-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.11-rc1 released

      +

      9 November 2018

      +
      +
      +

      We have a new release candidate! Lots of changes all over the + tree, see the + CHANGES + file for details and/or read + the announcement. +

      + +

      Head to the downloads page to pick up the + 2018.11-rc1 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02.7 released

      +

      25 October 2018

      +
      +
      +

      The 2018.02.7 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.02.6 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.02.7 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.08.2 released

      +

      25 October 2018

      +
      +
      +

      The 2018.08.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.08.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.08.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.08.1 released

      +

      7 October 2018

      +
      +
      +

      The 2018.08.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.08 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.08.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02.6 released

      +

      7 October 2018

      +
      +
      +

      The 2018.02.6 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.02.5 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.02.6 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.05.3 released

      +

      6 October 2018

      +
      +
      +

      The 2018.05.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.05.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.05.3 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.08 released

      +

      6 September 2018

      +
      +
      +

      The stable 2018.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.08 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.08-rc3 released

      +

      31 August 2018

      +
      +
      +

      Another week, another release candidate with more cleanups + and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2018.08-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02.5 released

      +

      29 August 2018

      +
      +
      +

      The 2018.02.5 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.02.4 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.02.5 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.05.2 released

      +

      28 August 2018

      +
      +
      +

      The 2018.05.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.05.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.05.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.08-rc2 released

      +

      20 August 2018

      +
      +
      +

      Another week, another release candidate with more cleanups + and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2018.08-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.08-rc1 released

      +

      5 August 2018

      +
      +
      +

      We have a new release candidate! Lots of changes all over the + tree, see the + CHANGES + file for details and/or read + the announcement. +

      + +

      Head to the downloads page to pick up the + 2018.08-rc1 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02.4 released

      +

      21 July 2018

      +
      +
      +

      The 2018.02.4 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.02.3 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.02.4 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.05.1 released

      +

      20 July 2018

      +
      +
      +

      The 2018.05.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.05 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.05.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02.3 released

      +

      18 June 2018

      +
      +
      +

      The 2018.02.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.02.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.02.3 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.05 released

      +

      1 June 2018

      +
      +
      +

      The stable 2018.05 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.05 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.05-rc3 released

      +

      28 May 2018

      +
      +
      +

      Release candidate 3 is out with more cleanups and security + / build fixes. See + the CHANGES + file for details.

      +

      Head to the downloads page to + pick up + the 2018.05-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.05-rc2 released

      +

      22 May 2018

      +
      +
      +

      Another week, another release candidate with more cleanups + and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2018.05-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.05-rc1 released

      +

      9 May 2018

      +
      +
      +

      We have a new release candidate! Lots of changes all over the + tree, see the + CHANGES + file for details and read the + announcement. +

      + +

      Head to the downloads page to pick up the + 2018.05-rc1 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02.2 released

      +

      4 May 2018

      +
      +
      +

      The 2018.02.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.02.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.02.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2017.02.11 released

      +

      11 April 2018

      +
      +
      +

      The 2017.02.11 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.02.10 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.02.11 release.

      +

      Notice that the 2017.02 series is now end of life, so please consider + updating to 2018.02 instead.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02.1 released

      +

      10 April 2018

      +
      +
      +

      The 2018.02.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2018.02 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.02.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02 released

      +

      4 March 2018

      +
      +
      +

      The stable 2018.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2018.02 release.

      + +

      Notice that this is a long term support release which will be + supported with security and other important fixes until February 2019.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02-rc3 released

      +

      27 February 2018

      +
      +
      +

      Release candidate 3 is out with more cleanups and security + / build fixes. See + the CHANGES + file for details.

      +

      Head to the downloads page to + pick up + the 2018.02-rc3 + release candidate, and report any problems found to + the mailing list + or bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02-rc2 released

      +

      15 February 2018

      +
      +
      +

      Another week, another release candidate with more cleanups + and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2018.02-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02-rc1 released

      +

      5 February 2018

      +
      +
      +

      We have a new release candidate! Lots of changes all over the + tree, see the + CHANGES + file for details and read the + announcement. +

      + +

      Head to the downloads page to pick up the + 2018.02-rc1 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2017.02.10 released

      +

      31 January 2018

      +
      +
      +

      The 2017.02.10 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.02.9 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.02.10 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2017.11.2 released

      +

      21 January 2018

      +
      +
      +

      The 2017.11.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.11.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.11.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2017.02.9 released

      +

      1 January 2018

      +
      +
      +

      The 2017.02.9 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.02.8 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.02.9 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2017.11.1 released

      +

      31 December 2017

      +
      +
      +

      The 2017.11.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.11.1 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2017.11 released

      +

      30 November 2017

      +
      +
      +

      The stable 2017.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.11 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2017.08.2 released

      +

      29 November 2017

      +
      +
      +

      The 2017.08.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.08.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.08.2 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2017.02.8 released

      +

      27 November 2017

      +
      +
      +

      The 2017.02.8 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.02.7 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.02.8 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2017.11-rc2 released

      +

      13 November 2017

      +
      +
      +

      Another week, another release candidate with more cleanups + and build fixes. See the + CHANGES + file for details.

      + +

      Head to the downloads page to pick up the + 2017.11-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2017.11-rc1 released

      +

      6 November 2017

      +
      +
      +

      We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for details. +

      + +

      Head to the downloads page to pick up the + 2017.11-rc1 + release candidate, and report any problems found to the + mailing list or + bug tracker.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2017.02.7 released

      +

      28 October 2017

      +
      +
      +

      The 2017.02.7 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.02.6 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.02.7 release.

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2017.08.1 released

      +

      23 October 2017

      +
      +
      +

      The 2017.08.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2017.08 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2017.08.1 release.

      +
      +
      +
    • +
    • @@ -19,7 +6323,7 @@

      2017.02.6 released

      The 2017.02.6 bugfix release is out, fixing a number of important / security related issues discovered since the 2017.02.5 release. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -38,7 +6342,7 @@

      2017.08 released

      The stable 2017.08 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details and go to the downloads page to pick up the 2017.08 release.

      @@ -57,7 +6361,7 @@

      2017.08-rc3 released

      Another release candidate, on the road to the final 2017.08 release. A number of fixes and cleanups in various packages and defconfigs. See - the CHANGES + the CHANGES file for details.

      @@ -66,7 +6370,7 @@

      2017.08-rc3 released

      release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

    • @@ -82,7 +6386,7 @@

      2017.08-rc2 released

      Another release candidate, on the road to the final 2017.08 release. A number of fixes and cleanups in various packages and defconfigs. See - the CHANGES + the CHANGES file for details.

      @@ -91,7 +6395,7 @@

      2017.08-rc2 released

      release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -106,7 +6410,7 @@

      2017.08-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details.

      @@ -115,7 +6419,7 @@

      2017.08-rc1 released

      release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -130,7 +6434,7 @@

      2017.05.2 released

      The 2017.05.2 bugfix release is out, fixing a number of important / security related issues discovered since the 2017.05.1 release. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -149,7 +6453,7 @@

      2017.02.5 released

      The 2017.02.5 bugfix release is out, fixing a number of important / security related issues discovered since the 2017.02.4 release. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -168,7 +6472,7 @@

      2017.05.1 released

      The 2017.05.1 bugfix release is out, fixing a number of important / security related issues discovered since the 2017.05 release. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -187,7 +6491,7 @@

      2017.02.4 released

      The 2017.02.4 bugfix release is out, fixing a number of important / security related issues discovered since the 2017.02.3 release. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -206,7 +6510,7 @@

      2017.02.3 released

      The 2017.02.3 bugfix release is out, fixing a number of important / security related issues discovered since the 2017.02.2 release. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -225,7 +6529,7 @@

      2017.05 released

      The stable 2017.05 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -244,14 +6548,14 @@

      2017.05-rc3 released

      Release candidate 3 is out with more cleanups and security / build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2017.05-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -266,14 +6570,14 @@

      2017.05-rc2 released

      Another week, another release candidate with more cleanups and build fixes. See the - CHANGES + CHANGES file for details.

      Head to the downloads page to pick up the 2017.05-rc2 release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -288,7 +6592,7 @@

      2017.05-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details.

      @@ -297,7 +6601,7 @@

      2017.05-rc1 released

      release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -312,7 +6616,7 @@

      2017.02.2 released

      The 2017.02.2 bugfix release is out, fixing a number of important / security related issues discovered since the 2017.02.1 release. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -331,7 +6635,7 @@

      2017.02.1 released

      The 2017.02.1 bugfix release is out, fixing a number of important / security related issues discovered since the 2017.02 release. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -350,7 +6654,7 @@

      2016.11.3 released

      The 2016.11.3 bugfix release is out, fixing a number of important / security related issues discovered since the 2016.11.2 release. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -371,7 +6675,7 @@

      2017.02 released

      The stable 2017.02 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -393,14 +6697,14 @@

      2017.02-rc3 released

      Release candidate 3 is out with more cleanups and security / build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2017.02-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -414,7 +6718,7 @@

      2017.02-rc2 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details.

      @@ -422,7 +6726,7 @@

      2017.02-rc2 released

      2017.02-rc2 release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -437,7 +6741,7 @@

      2017.02-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details, read the announcement.

      @@ -447,7 +6751,7 @@

      2017.02-rc1 released

      release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -462,7 +6766,7 @@

      2016.11.2 released

      The 2016.11.2 bugfix release is out, fixing a number of important / security related issues discovered since the 2016.11.1 release. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -481,7 +6785,7 @@

      2016.11.1 released

      The 2016.11.1 bugfix release is out, fixing a number of important / security related issues discovered since the 2016.11 release. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -500,7 +6804,7 @@

      2016.11 released

      The stable 2016.11 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -519,14 +6823,14 @@

      2016.11-rc3 released

      Release candidate 3 is out with more cleanups and security / build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2016.11-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -541,7 +6845,7 @@

      2016.11-rc2 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details.

      @@ -550,7 +6854,7 @@

      2016.11-rc2 released

      release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -565,7 +6869,7 @@

      2016.11-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details, read the announcement.

      @@ -575,7 +6879,7 @@

      2016.11-rc1 released

      release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -592,7 +6896,7 @@

      2016.08.1 released

      potential entire root filesystem removal issue with the external toolchain handling discovered since the 2016.08 release. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -611,7 +6915,7 @@

      2016.08 released

      The stable 2016.08 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -630,14 +6934,14 @@

      2016.08-rc3 released

      Release candidate 3 is out with more cleanups and security / build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2016.08-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -652,14 +6956,14 @@

      2016.08-rc2 released

      Another week, another release candidate with more cleanups and build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2016.08-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -674,7 +6978,7 @@

      2016.08-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details and read the announcement

      @@ -684,7 +6988,7 @@

      2016.08-rc1 released

      release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -699,7 +7003,7 @@

      2016.05 released

      The stable 2016.05 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -718,14 +7022,14 @@

      2016.05-rc3 released

      Release candidate 3 is out with more cleanups and security / build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2016.05-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -740,14 +7044,14 @@

      2016.05-rc2 released

      Another week, another release candidate with more cleanups and build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2016.05-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -762,7 +7066,7 @@

      2016.05-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details and read the announcement.

      @@ -772,7 +7076,7 @@

      2016.05-rc1 released

      release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -787,7 +7091,7 @@

      2016.02 released

      The stable 2016.02 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -806,14 +7110,14 @@

      2016.02-rc3 released

      Release candidate 3 is out with more cleanups and security / build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2016.02-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -828,14 +7132,14 @@

      2016.02-rc2 released

      Another week, another release candidate with more cleanups and build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2016.02-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -850,7 +7154,7 @@

      2016.02-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details and read the announcement.

      @@ -860,7 +7164,7 @@

      2016.02-rc1 released

      release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -876,7 +7180,7 @@

      2015.11.1 released

      The 2015.11.1 bugfix release is out - Thanks to everyone contributing. This release fixes critical issues discovered since the 2015.11 release. See the - CHANGES + CHANGES file for more details, and go to the downloads page to pick up the 2015.11.1 release.

      @@ -894,7 +7198,7 @@

      2015.11 released

      The stable 2015.11 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -913,14 +7217,14 @@

      2015.11-rc3 released

      Release candidate 3 is out with more cleanups and security / build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2015.11-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -935,14 +7239,14 @@

      2015.11-rc2 released

      Another week, another release candidate with more cleanups and build fixes. See the - CHANGES + CHANGES file for details.

      Head to the downloads page to pick up the 2015.11-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -957,7 +7261,7 @@

      2015.11-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details. See also the announcement e-mail.

      @@ -967,7 +7271,7 @@

      2015.11-rc1 released

      release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -983,7 +7287,7 @@

      2015.08.1 released

      The 2015.08.1 bugfix release is out - Thanks to everyone contributing. This release fixes critical issues discovered since the 2015.08 release. See the - CHANGES + CHANGES file for more details, and go to the downloads page to pick up the 2015.08.1 release.

      @@ -1001,7 +7305,7 @@

      2015.08 released

      The stable 2015.08 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -1020,7 +7324,7 @@

      2015.08-rc2 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details, and the release announcement.

      @@ -1029,7 +7333,7 @@

      2015.08-rc2 released

      2015.08-rc2 release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -1043,7 +7347,7 @@

      2015.08-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details, read the announcement.

      @@ -1051,7 +7355,7 @@

      2015.08-rc1 released

      2015.08-rc1 release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -1066,7 +7370,7 @@

      2015.05 released

      The stable 2015.05 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -1085,14 +7389,14 @@

      2015.05-rc3 released

      Release candidate 3 is out with more cleanups and security / build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2015.05-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -1107,14 +7411,14 @@

      2015.05-rc2 released

      Another week, another release candidate with more cleanups and build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2015.05-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -1128,7 +7432,7 @@

      2015.05-rc1 released

      We have a new release candidate! Lots of changes all over the - tree, see the CHANGES + tree, see the CHANGES file for details, and read the announcement.

      @@ -1136,7 +7440,7 @@

      2015.05-rc1 released

      2015.05-rc1 release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -1151,7 +7455,7 @@

      2015.02 released

      The stable 2015.02 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -1171,14 +7475,14 @@

      2015.02-rc3 released

      Release candidate 3 is out with more cleanups and security / build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2015.02-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -1193,14 +7497,14 @@

      2015.02-rc2 released

      Another week, another release candidate with more cleanups and build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2015.02-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -1215,7 +7519,7 @@

      2015.02-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details, and read the announcement.

      @@ -1224,7 +7528,7 @@

      2015.02-rc1 released

      release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -1239,7 +7543,7 @@

      2014.11 released

      The stable 2014.11 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, and go to the downloads page to pick up the 2014.11 release.

      @@ -1257,7 +7561,7 @@

      2014.11-rc3 released

      Release candidate 3 is out with more cleanups and build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to @@ -1265,7 +7569,7 @@

      2014.11-rc3 released

      2014.11-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -1280,14 +7584,14 @@

      2014.11-rc2 released

      Another week, another release candidate with more cleanups and build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2014.11-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -1327,7 +7631,7 @@

      2014.11-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see the CHANGES + href="https://gitlab.com/buildroot.org/buildroot/-/blob/2014.11-rc1/CHANGES">CHANGES file for details, and read the announcement.

      @@ -1335,7 +7639,7 @@

      2014.11-rc1 released

      2014.11-rc1 release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -1350,7 +7654,7 @@

      2014.08 released

      The stable 2014.08 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -1369,14 +7673,14 @@

      2014.08-rc3 released

      Release candidate 3 is out with more cleanups and build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2014.08-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -1391,14 +7695,14 @@

      2014.08-rc2 released

      Another week, another release candidate with more cleanups and build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2014.08-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -1413,7 +7717,7 @@

      2014.08-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see the CHANGES + href="https://gitlab.com/buildroot.org/buildroot/-/blob/2014.08-rc1/CHANGES">CHANGES file for details, and read the announcement.

      @@ -1421,7 +7725,7 @@

      2014.08-rc1 released

      2014.08-rc1 release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -1436,7 +7740,7 @@

      2014.05 released

      The stable 2014.05 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -1455,14 +7759,14 @@

      2014.05-rc3 released

      Release candidate 3 is out with more cleanups and build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2014.05-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -1477,7 +7781,7 @@

      2014.05-rc2 released

      Another week, another release candidate with more cleanups and build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to @@ -1485,7 +7789,7 @@

      2014.05-rc2 released

      2014.05-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -1500,7 +7804,7 @@

      2014.05-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see the CHANGES + href="https://gitlab.com/buildroot.org/buildroot/-/blob/2014.05-rc1/CHANGES">CHANGES file for details, and read the announcement.

      @@ -1508,7 +7812,7 @@

      2014.05-rc1 released

      2014.05-rc1 release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -1523,7 +7827,7 @@

      27 February 2014

      The stable 2014.02 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, and go to the downloads page to pick up the 2014.02 release.

      @@ -1541,14 +7845,14 @@

      25 February 2014

      Release candidate 3 is out with more cleanups and build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2014.02-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -1563,14 +7867,14 @@

      20 February 2014

      Another week, another release candidate with more cleanups and build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2014.02-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -1585,7 +7889,7 @@

      2014.02-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see the CHANGES + href="https://gitlab.com/buildroot.org/buildroot/-/blob/2014.02-rc1/CHANGES">CHANGES file for details, and read the announcement.

      @@ -1593,7 +7897,7 @@

      2014.02-rc1 released

      2014.02-rc1 release candidate, and report any problems found to the mailing list or - bug tracker.

      + bug tracker.

      @@ -1655,7 +7959,7 @@

      2013.11 released

      The stable 2013.11 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the 2013.11 release.

      @@ -1689,14 +7993,14 @@

      2013.11-rc3 released

      Another week, another release candidate with more fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2013.11-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -1711,14 +8015,14 @@

      2013.11-rc2 released

      Another week, another release candidate with more cleanups and build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2013.11-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -1767,7 +8071,7 @@

      2013.11-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see the CHANGES + href="https://gitlab.com/buildroot.org/buildroot/-/blob/2013.11_rc1/CHANGES">CHANGES file for details, and read the announcement.

      @@ -1775,7 +8079,7 @@

      2013.11-rc1 released

      2013.11-rc1 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -1811,7 +8115,7 @@

      2013.08.1 released

      The 2013.08.1 bugfix release is out - Thanks to everyone contributing. This release fixes critical issues discovered since the 2013.08 release. See the - CHANGES + CHANGES file for more details, and go to the downloads page to pick up the 2013.08.1 release.

      @@ -1854,7 +8158,7 @@

      2013.08 released

      The stable 2013.08 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the 2013.08 release.

      @@ -1872,14 +8176,14 @@

      2013.08-rc3 released

      Another week, another release candidate with more cleanups and build fixes. See the CHANGES + href="https://gitlab.com/buildroot.org/buildroot/-/blob/2013.08_rc3/CHANGES">CHANGES file for details.

      Head to the downloads page to pick up the 2013.08-rc3 release candidate, and report any problems found to the mailing list or bug tracker.

      + href="https://gitlab.com/buildroot.org/buildroot/-/issues">bug tracker.

      @@ -1894,14 +8198,14 @@

      2013.08-rc2 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2013.08-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -1916,14 +8220,14 @@

      2013.08-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2013.08-rc1 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -1938,7 +8242,7 @@

      2013.05 released

      The stable 2013.05 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -1957,14 +8261,14 @@

      2013.05-rc3 released

      Another week, another release candidate with more cleanups and build fixes. See the CHANGES + href="https://gitlab.com/buildroot.org/buildroot/-/blob/2013.05_rc3/CHANGES">CHANGES file for details.

      Head to the downloads page to pick up the 2013.05-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -1979,14 +8283,14 @@

      2013.05-rc2 released

      Another week, another release candidate with more cleanups and build fixes. See the CHANGES + href="https://gitlab.com/buildroot.org/buildroot/-/blob/2013.05_rc2/CHANGES">CHANGES file for details.

      Head to the downloads page to pick up the 2013.05-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2001,7 +8305,7 @@

      2013.05-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see the CHANGES + href="https://gitlab.com/buildroot.org/buildroot/-/blob/2013.05_rc1/CHANGES">CHANGES file for details, and read the announcement.

      @@ -2009,7 +8313,7 @@

      2013.05-rc1 released

      2013.05-rc1 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2024,7 +8328,7 @@

      2013.02 released

      The stable 2013.02 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details and go to the downloads page to pick up the 2013.02 release.

      @@ -2042,14 +8346,14 @@

      2013.02-rc3 released

      Another week, another release candidate with more cleanups and build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2013.02-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2064,14 +8368,14 @@

      2013.02-rc2 released

      Another week, another release candidate with more cleanups and build fixes. See the CHANGES + href="https://gitlab.com/buildroot.org/buildroot/-/blob/2013.02_rc2/CHANGES">CHANGES file for details.

      Head to the downloads page to pick up the 2013.02-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2086,7 +8390,7 @@

      2013.02-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see the CHANGES + href="https://gitlab.com/buildroot.org/buildroot/-/blob/2013.02_rc1/CHANGES">CHANGES file for details, and read the announcement.

      @@ -2094,7 +8398,7 @@

      2013.02-rc1 released

      2013.02-rc1 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2158,7 +8462,7 @@

      2012.11.1 released

      contributing. This release fixes critical issues discovered since the 2012.11 release, most importantly with non-largefile builds on recent Ubuntu versions. See the - CHANGES + CHANGES file for more details, and go to the downloads page to pick up the 2012.11.1 release.

      @@ -2176,7 +8480,7 @@

      2012.11 released

      The stable 2012.11 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details and go to the downloads page to pick up the 2012.11 release.

      @@ -2193,14 +8497,14 @@

      2012.11-rc2 released

      RC2 is out with more bugfixes - See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2012.11-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2215,7 +8519,7 @@

      2012.11-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see the CHANGES + href="https://gitlab.com/buildroot.org/buildroot/-/blob/2012.11_rc1/CHANGES">CHANGES file for details, and read the announcement.

      @@ -2223,7 +8527,7 @@

      2012.11-rc1 released

      2012.11-rc1 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2264,7 +8568,7 @@

      2012.08 released

      The stable 2012.08 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details and go to the downloads page to pick up the 2012.08 release.

      @@ -2280,15 +8584,15 @@

      2012.08-rc3 released

      We have a new release candidate! Various fixes, and - addition of licensing informations on many - packages. See CHANGES + addition of licensing information on many + packages. See CHANGES file for details

      Head to the downloads page to pick up the 2012.08-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2302,15 +8606,15 @@

      2012.08-rc2 released

      We have a new release candidate! Various fixes, and addition - of licensing informations on many - packages. See CHANGES + of licensing information on many + packages. See CHANGES file for details

      Head to the downloads page to pick up the 2012.08-rc2 release candidate, and report any problems found to the mailing list or bug tracker.

      + href="https://gitlab.com/buildroot.org/buildroot/-/issues">bug tracker.

      @@ -2325,14 +8629,14 @@

      2012.08-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details

      Head to the downloads page to pick up the 2012.08-rc1 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2372,7 +8676,7 @@

      2012.05 released

      The stable 2012.05 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -2390,14 +8694,14 @@

      2012.05-rc3 released

      RC3 is out with more bugfixes - See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2012.05-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2412,14 +8716,14 @@

      2012.05-rc2 released

      Another week, another release candidate with more cleanups and build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2012.05-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2434,7 +8738,7 @@

      2012.05-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details, and read the announcement.

      @@ -2442,7 +8746,7 @@

      2012.05-rc1 released

      2012.05-rc1 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2460,7 +8764,7 @@

      Autobuilder Results Online

      integration testing, is now online at autobuild.buildroot.org. The code behind it can be found - in git.

      + in git.

      Thanks to Thomas Petazzoni for running the web interface, and to The GCC Compile @@ -2481,7 +8785,7 @@

      2012.02 released

      The stable 2012.02 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -2499,14 +8803,14 @@

      2012.02-rc3 released

      RC3 is out with more bugfixes - See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2012.02-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2521,14 +8825,14 @@

      2012.02-rc2 released

      Another week, another release candidate with more cleanups and build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2012.02-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2543,7 +8847,7 @@

      2012.02-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details, and read the announcement.

      @@ -2551,7 +8855,7 @@

      2012.02-rc1 released

      2012.02-rc1 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2585,7 +8889,7 @@

      2011.11 released

      The stable 2011.11 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -2603,14 +8907,14 @@

      2011.11-rc3 released

      RC3 is out with more bugfixes - See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2011.11-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2625,14 +8929,14 @@

      2011.11-rc2 released

      Another week, another release candidate with a bunch of cleanups and build fixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2011.11-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2647,7 +8951,7 @@

      2011.11-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details, and read the announcement @@ -2655,7 +8959,7 @@

      2011.11-rc1 released

      2011.11-rc1 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2670,7 +8974,7 @@

      2011.08 released

      The stable 2011.08 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, and go to the downloads page to pick up the 2011.08 release.

      @@ -2686,7 +8990,7 @@

      2011.08-rc2 released

      RC2 is out with more bugfixes. See - the CHANGES + the CHANGES file for details, and read the announcement. @@ -2694,7 +8998,7 @@

      2011.08-rc2 released

      2011.08-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2709,7 +9013,7 @@

      2011.08-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details, and read the announcement. @@ -2717,7 +9021,7 @@

      2011.08-rc1 released

      2011.08-rc1 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2732,7 +9036,7 @@

      2011.05 released

      The stable 2011.05 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, and go to the downloads page to pick up the 2011.05 release.

      @@ -2748,14 +9052,14 @@

      2011.05-rc2 released

      RC2 is out with more bugfixes. See - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2011.05-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2770,7 +9074,7 @@

      2011.05-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details, and read the announcement. @@ -2778,7 +9082,7 @@

      2011.05-rc1 released

      2011.05-rc1 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2793,7 +9097,7 @@

      2011.02 released

      The stable 2011.02 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -2811,14 +9115,14 @@

      2011.02-rc2 released

      RC2 is out with more cleanups and bugfixes, see - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2011.02-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2833,7 +9137,7 @@

      2011.02-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details, and read the announcement. @@ -2841,7 +9145,7 @@

      2011.02-rc1 released

      2011.02-rc1 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2856,7 +9160,7 @@

      2010.11 released

      The stable 2010.11 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -2874,14 +9178,14 @@

      2010.11-rc2 released

      RC2 is out with more cleanups and bugfixes, see - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2010.11-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2896,7 +9200,7 @@

      2010.11-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details, and read the announcement. @@ -2904,7 +9208,7 @@

      2010.11-rc1 released

      2010.11-rc1 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -2942,7 +9246,7 @@

      2010.08 released

      The stable 2010.08 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -2960,14 +9264,14 @@

      2010.08-rc2 released

      RC2 is out with more cleanups and bugfixes, see - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2010.08-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      This is very much expected to be the final release candidate, so give it a good test and expect a final 2010.08 release @@ -2986,14 +9290,14 @@

      2010.08-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2010.08-rc1 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -3008,7 +9312,7 @@

      2010.05 released

      The stable 2010.05 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, read the announcement and go to the downloads page to pick up the @@ -3026,14 +9330,14 @@

      2010.05-rc3 released

      RC3 is out with more cleanups and bugfixes, see - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2010.05-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -3053,7 +9357,7 @@

      2010.05-rc2 released

      2010.05-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -3068,14 +9372,14 @@

      2010.05-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2010.05-rc1 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -3107,7 +9411,7 @@

      2010.02 released

      The stable 2010.02 release is out - Thanks to everyone contributing and testing the release candidates. See the - CHANGES + CHANGES file for more details, and go to the downloads page to pick up the 2010.02 @@ -3125,14 +9429,14 @@

      2010.02-rc2 released

      RC2 is out with more cleanups and bugfixes, see - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2010.02-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -3147,14 +9451,14 @@

      2010.02-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2010.02-rc1 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -3170,7 +9474,7 @@

      2009.11 released

      The stable 2009.11 release is out - Thanks to everyone contributing and testing the release candidates. See the announcement - or CHANGES + or CHANGES for more details, and go to the downloads page to pick up the 2009.11 release.

      @@ -3187,14 +9491,14 @@

      2009.11-rc2 released

      RC2 is out with more cleanups and bugfixes, see - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2009.11-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -3209,14 +9513,14 @@

      2009.11-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2009.11-rc1 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -3259,7 +9563,7 @@

      2009.08 released

      The stable 2009.08 release is out - Thanks to everyone contributing and testing the release candidates. See the announcement - or CHANGES + or CHANGES for more details, and go to the downloads page to pick up the 2009.08 release.

      @@ -3277,7 +9581,7 @@

      2009.08-rc3 released

      A number of bugfixes have been added to the tree since RC2 (especially thanks to Thomas Petazzoni) - See - the CHANGES + the CHANGES file for details. This is very much expected to be the final release candidate, so give it a good test and expect a final 2009.08 release next weekend unless critical issues are @@ -3288,7 +9592,7 @@

      2009.08-rc3 released

      2009.08-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -3302,14 +9606,14 @@

      2009.08-rc2 released

      RC2 is out with more cleanups and bugfixes, see - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2009.08-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -3324,14 +9628,14 @@

      2009.08-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see - the CHANGES + the CHANGES file for details.

      Head to the downloads page to pick up the 2009.08-rc1 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -3347,7 +9651,7 @@

      2009.05 released

      The stable 2009.05 release is out - Thanks to everyone contributing and testing the release candidates. See the announcement - or CHANGES + or CHANGES for more details, and go to the downloads page to pick up the 2009.05 release.

      @@ -3364,7 +9668,7 @@

      2009.05-rc3 released

      We had a number of fixes post-RC2, so RC3 is out - (see CHANGES + (see CHANGES for details). Now is the moment to test and verify that everything is working for your favorite config - Expect a final 2009.05 very soon.

      @@ -3373,7 +9677,7 @@

      2009.05-rc3 released

      2009.05-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -3387,7 +9691,7 @@

      2009.05-rc2 released

      RC2 is out with more cleanups and bug fixes - (see CHANGES). + (see CHANGES). Unless big issues are found, expect this to be the last release candidate before the release - So give it a good test.

      @@ -3396,7 +9700,7 @@

      2009.05-rc2 released

      2009.05-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -3431,14 +9735,14 @@

      2009.05-rc1 released

      We have a new release candidate! Lots of changes all over the tree, see the CHANGES + href="https://gitlab.com/buildroot.org/buildroot/-/blob/2009.05_rc1/CHANGES">CHANGES file for details.

      Head to the downloads page to pick up the 2009.05-rc1 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -3518,7 +9822,7 @@

      2009.02-rc4 released

      2009.02-rc4 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -3540,7 +9844,7 @@

      2009.02-rc3 released

      2009.02-rc3 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -3560,7 +9864,7 @@

      2009.02-rc2 released

      2009.02-rc2 release candidate, and report any problems found to the mailing list - or bug tracker.

      + or bug tracker.

      @@ -3583,7 +9887,7 @@

      Release candidate and new maintainer

      2009.02-rc1 release candidate, and report any problems found to the mailing list - or bug tracker. The + or bug tracker. The plan is to release 2009.02 in time for FOSDEM.

      @@ -3625,7 +9929,7 @@

      Buildroot webpage added

      If you find a bug in buildroot, or wish to submit a patch to fix a problem or add a shiny new feature, please use - the Bug and Patch + the Bug and Patch Tracking System to post the details, to make certain your work is not lost

      @@ -3638,4 +9942,3 @@

      Buildroot webpage added

      - diff --git a/docs/website/sponsors.html b/docs/website/sponsors.html index e0f1aab20ef..8353b149e6f 100644 --- a/docs/website/sponsors.html +++ b/docs/website/sponsors.html @@ -1,52 +1,173 @@ + +
      -
      -
      Current sponsors
      +
      +
      LTS sponsors
      +
      +

      The maintenance of the Long Term Support branch of Buildroot is + possible thanks to the sponsors of the + Buildroot LTS Sponsorship + Program.

      +
      +
      +

      Gold Sponsors

      + +
      + + + +
      +
      +
      +

      Silver Sponsors

      +
      + +
      +
      -
      +
      +

      Bronze Sponsors

      +
      + -
      -
      + +
      +
      + +
      +
      Current sponsors
      +
      + +
      +