The ARM64 bcmrpi3_defconfig has been deleted since 6.12.20[1]. It was
introduced since 4.9.11[2]. It appears to be the 64-bit version of the
ARM bcm2709_defconfig used by Raspberry Pi 2 and Raspberry Pi 3.
The .github/workflows/kernel-build.yml was introduced in 5.15.81[3], and
it shows the ARM64 bcm2711_defconfig is used to build the kernel8.img of
the Raspberry Pi 4 (released in June 2019). The ARM64 bcmrpi3_defconfig
appears to be not used officially, even it was still maintained accross
the different bumps.
The raspberrypi-firmware[5] repository has introduced the kernel8.img
image with 4.19.69[6], and the Raspberry Pi 4 was released a little bit
earlier since 4.19.50 with the ARM64 kernel8.img[7] image (and the ARM
kernel7l.img[8]) (released in September 2019). That kernel8.img appears
to boot the Raspberry Pi 4 (using the ARM64 bcm2711_defconfig).
Raspberry Pi OS 64-bit boots the image kernel8.img on Raspberry 3. The
64-bit version was released in February 2022. It is not certain it takes
the kernel images from the raspberrypi-firmware repository. However, the
firmware boots the exact same image kernel8.img on a Raspberry Pi 3 and
on a Raspberry Pi 4.
Raspberry Pi OS 64-bit on Raspberry Pi 3:
MESS:00:00:01.423488:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:01.428389:0: brfs: File read: 1361 bytes
MESS:00:00:01.493416:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:01.498339:0: gpioman: gpioman_get_pin_num: pin LEDS_PWR_OK not defined
MESS:00:00:02.009915:0: gpioman: gpioman_get_pin_num: pin DISPLAY_DSI_PORT not defined
MESS:00:00:02.016952:0: gpioman: gpioman_get_pin_num: pin DISPLAY_DSI_PORT not defined
MESS:00:00:02.024731:0: gpioman: gpioman_get_pin_num: pin LEDS_PWR_OK not defined
MESS:00:00:02.031018:0: *** Restart logging
MESS:00:00:02.034892:0: brfs: File read: 1361 bytes
MESS:00:00:02.067531:0: gpioman: gpioman_get_pin_num: pin EMMC_ENABLE not defined
MESS:00:00:02.083340:0: HDMI0: hdmi_pixel_encoding: 162000000
MESS:00:00:03.164055:0: brfs: File read: /mfs/sd/initramfs8
MESS:00:00:03.167936:0: Loaded 'initramfs8' to 0x0 size 0x110451e
MESS:00:00:03.193834:0: initramfs loaded to 0x2defb000 (size 0x110451e)
MESS:00:00:03.208482:0: dtb_file 'bcm2710-rpi-3-b.dtb'
MESS:00:00:03.211926:0: brfs: File read: 17843486 bytes
MESS:00:00:03.221150:0: brfs: File read: /mfs/sd/bcm2710-rpi-3-b.dtb
MESS:00:00:03.225810:0: Loaded 'bcm2710-rpi-3-b.dtb' to 0x100 size 0x8783
MESS:00:00:03.247884:0: brfs: File read: 34691 bytes
MESS:00:00:03.264054:0: brfs: File read: /mfs/sd/overlays/overlay_map.dtb
MESS:00:00:03.296063:0: brfs: File read: 5423 bytes
MESS:00:00:03.302800:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:03.306807:0: dtparam: audio=on
MESS:00:00:03.317529:0: brfs: File read: 1361 bytes
MESS:00:00:03.341294:0: brfs: File read: /mfs/sd/overlays/vc4-kms-v3d.dtbo
MESS:00:00:03.392937:0: Loaded overlay 'vc4-kms-v3d'
MESS:00:00:03.500706:0: brfs: File read: 2760 bytes
MESS:00:00:03.504586:0: brfs: File read: /mfs/sd/cmdline.txt
MESS:00:00:03.509305:0: Read command line from file 'cmdline.txt':
MESS:00:00:03.515172:0: 'console=serial0,115200 console=tty1 root=PARTUUID=28fec58e-02 rootfstype=ext4 fsck.repair=yes rootwait cfg80211.ieee80211_regdom=GB'
MESS:00:00:03.658110:0: brfs: File read: 132 bytes
MESS:00:00:04.203939:0: brfs: File read: /mfs/sd/kernel8.img
MESS:00:00:04.207882:0: Loaded 'kernel8.img' to 0x200000 size 0x8dab16
MESS:00:00:05.880351:0: Device tree loaded to 0x2def2300 (size 0x8c7c)
MESS:00:00:05.886331:0: uart: Set PL011 baud rate to 103448.300000 Hz
MESS:00:00:05.892855:0: uart: Baud rate change done...
MESS:00:00:05.896271:0: uart: Baud rate
Raspberry Pi OS 64-bit on Raspberry Pi 4:
MESS:00:00:04.721959:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:04.725196:0: brfs: File read: 1361 bytes
MESS:00:00:04.750539:0: HDMI0:EDID error reading EDID block 0 attempt 0
MESS:00:00:04.755048:0: HDMI0:EDID giving up on reading EDID block 0
MESS:00:00:04.771935:0: HDMI1:EDID error reading EDID block 0 attempt 0
MESS:00:00:04.776437:0: HDMI1:EDID giving up on reading EDID block 0
MESS:00:00:04.783084:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:05.589127:0: gpioman: gpioman_get_pin_num: pin DISPLAY_DSI_PORT not defined
MESS:00:00:05.594675:0: gpioman: gpioman_get_pin_num: pin DISPLAY_DSI_PORT not defined
MESS:00:00:05.603705:0: *** Restart logging
MESS:00:00:05.605484:0: brfs: File read: 1361 bytes
MESS:00:00:05.615585:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 0
MESS:00:00:05.620610:0: hdmi: HDMI0:EDID giving up on reading EDID block 0
MESS:00:00:05.631233:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 0
MESS:00:00:05.636263:0: hdmi: HDMI0:EDID giving up on reading EDID block 0
MESS:00:00:05.641861:0: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
MESS:00:00:05.655652:0: hdmi: HDMI1:EDID error reading EDID block 0 attempt 0
MESS:00:00:05.660683:0: hdmi: HDMI1:EDID giving up on reading EDID block 0
MESS:00:00:05.671304:0: hdmi: HDMI1:EDID error reading EDID block 0 attempt 0
MESS:00:00:05.676328:0: hdmi: HDMI1:EDID giving up on reading EDID block 0
MESS:00:00:05.681926:0: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
MESS:00:00:05.690690:0: HDMI0: hdmi_pixel_encoding: 300000000
MESS:00:00:05.696162:0: HDMI1: hdmi_pixel_encoding: 300000000
MESS:00:00:07.208184:0: brfs: File read: /mfs/sd/initramfs8
MESS:00:00:07.210644:0: Loaded 'initramfs8' to 0x0 size 0x110451e
MESS:00:00:07.230307:0: initramfs loaded to 0x2defb000 (size 0x110451e)
MESS:00:00:07.243252:0: dtb_file 'bcm2711-rpi-4-b.dtb'
MESS:00:00:07.245284:0: brfs: File read: 17843486 bytes
MESS:00:00:07.256366:0: brfs: File read: /mfs/sd/bcm2711-rpi-4-b.dtb
MESS:00:00:07.259609:0: Loaded 'bcm2711-rpi-4-b.dtb' to 0x100 size 0xdb30
MESS:00:00:07.279767:0: brfs: File read: 56112 bytes
MESS:00:00:07.296967:0: brfs: File read: /mfs/sd/overlays/overlay_map.dtb
MESS:00:00:07.324428:0: brfs: File read: 5423 bytes
MESS:00:00:07.328614:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:07.331591:0: dtparam: audio=on
MESS:00:00:07.340485:0: brfs: File read: 1361 bytes
MESS:00:00:07.363861:0: brfs: File read: /mfs/sd/overlays/vc4-kms-v3d-pi4.dtbo
MESS:00:00:07.431733:0: Loaded overlay 'vc4-kms-v3d-pi4'
MESS:00:00:07.603996:0: brfs: File read: 3913 bytes
MESS:00:00:07.606532:0: brfs: File read: /mfs/sd/cmdline.txt
MESS:00:00:07.611170:0: Read command line from file 'cmdline.txt':
MESS:00:00:07.617044:0: 'console=serial0,115200 console=tty1 root=PARTUUID=28fec58e-02 rootfstype=ext4 fsck.repair=yes rootwait cfg80211.ieee80211_regdom=GB'
MESS:00:00:07.756492:0: brfs: File read: 132 bytes
MESS:00:00:08.544420:0: brfs: File read: /mfs/sd/kernel8.img
MESS:00:00:08.546973:0: Loaded 'kernel8.img' to 0x200000 size 0x8dab16
MESS:00:00:09.864045:0: Device tree loaded to 0x2deed000 (size 0xdfb8)
MESS:00:00:09.869518:0: uart: Set PL011 baud rate to 103448.300000 Hz
MESS:00:00:09.876542:0: uart: Baud rate change done...
Considering all of this, the now disappeared ARM64 bcmrpi3_defconfig may
have never been used to release official 64-bit kernels, and the ARM64
bcm2711_defconfig is used by Raspberry Pi 3 and Raspberry Pi 4.
Thus, it is safe to reuse the ARM64 bcm2711_defconfig for the both
raspberrypi3_64_defconfig and raspberrypizero2w_64_defconfig.
This updates the defconfig for the two BCM2710/BCM2837 64-bit hardwares
(i.e. Raspberry Pi 3 and Raspberry Pi Zero 2 W) to reuse the downstream
ARM64 bcm2711_deconfig (i.e. the one used by Raspberry Pi 4).
Hardware ARM 32-bit ARM 64-bit
-------------------------------------------------------------
Raspberry Pi 1/Zero/ZeroW bcmrpi_defconfig N/A
Raspberry Pi 2 bcm2709_defconfig N/A
Raspberry Pi 3/3+/Zero2W bcm2709_defconfig bcm2711_defconfig
Raspberry Pi 4/400/CM4-IO bcm2711_defconfig bcm2711_defconfig
Raspberry Pi 5 N/A bcm2712_defconfig
[1]: 7713244d3b
[2]: 3682d62794
[3]: 200e40ee35
[4]: https://www.raspberrypi.com/documentation/computers/config_txt.html#kernel
[5]: d21cd6bbab
[6]: 935eb6f9a3
[7]: cdb78ce891
[8]: e879019c19
Signed-off-by: Gaël PORTAY <gael.portay+rtone@gmail.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
During the hackathon in Vienna, it was decided [0] to stop requiring
annotated defconfig files, and that they should all be regenerated.
This commit does just that.
This is a mechanical change, achieved by running (the defcfg script is
repriducedc at the end of the commit log):
$ for cfg in configs/*_defconfig; do
./defcfg "${cfg##*/}" || break
done
Out of our 302 defconfig files, only 247 needed regenerating, which
means that about 1 in 5 was already not providing the requested
annotations.
To be noted: three defconfig files had duplicate definitions, which this
commit resolves:
nitrogen6sx_defconfig
nitrogen7_defconfig
olimex_a33_olinuxino_defconfig
warning: override: reassigning to symbol BR2_PACKAGE_HOST_UBOOT_TOOLS
[0] https://elinux.org/Buildroot:DeveloperDaysELCE2024#Rules_for_defconfigs
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Edgar Bonet <bonet@grenoble.cnrs.fr>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
====
Below is the script to reproduce the commmit. What it does is regenerate
the configuration first, then applies a patch to update kernel headers
to 3.11, and then recalls the defconfig again, and finally verifies that
the 3.11 headers are not selected (and ignores whether the latest are
selected or not): we want to catch whether defconfig that were using
3.10, currently the latest we support, would stioll get those headers
after we regeerate those.
--->8------>8------>8------>8------>8---
#!/bin/sh
cfg="${1}"
git checkout -- package/linux-headers/Config.in.host toolchain/Config.in
make "${cfg}"
make savedefconfig
patch -p1 <<_EOF_
diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host
index 2ae4077ffe..e669f89267 100644
--- a/package/linux-headers/Config.in.host
+++ b/package/linux-headers/Config.in.host
@@ -129,8 +129,12 @@ choice
If your kernel headers are more recent than the latest version
in the choice, then select the latest version.
+config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_11
+ bool "6.11.x or later"
+ select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_11
+
config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_10
- bool "6.10.x or later"
+ bool "6.10.x"
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_10
config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_9
diff --git a/toolchain/Config.in b/toolchain/Config.in
index 6e91ab756c..c2522aca7f 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -656,6 +656,10 @@ config BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_9
config BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_10
bool
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_9
+
+config BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_11
+ bool
+ select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_10
select BR2_TOOLCHAIN_HEADERS_LATEST
# This should be selected by the latest version, above, to indicate that
@@ -669,6 +673,7 @@ config BR2_TOOLCHAIN_HEADERS_LATEST
# stops affecting a value on the first matching default.
config BR2_TOOLCHAIN_HEADERS_AT_LEAST
string
+ default "6.11" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_11
default "6.10" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_10
default "6.9" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_9
default "6.8" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_8
_EOF_
make "${cfg}"
git checkout -- package/linux-headers/Config.in.host toolchain/Config.in
diff="$(
diff -I '_6_11\|BR2_TOOLCHAIN_HEADERS_LATEST=y' -du \
<( tail -n +5 .config.old ) \
<( tail -n +5 .config )
)"
if [ "${diff}" ]; then
printf 'Not idempotent for "%s"\n' "${cfg}" >&2
exit 1
fi
---8<------8<------8<------8<------8<---
====
To verify that no other changes are made to the defconfigs that are
risky when the defaults change, we ran the following simple script
(where buildroot-prev is a checkout just before this commit). It shows
that there are many settings removed because they are default, but none
of them run the same risk that the default is going to be changed in the
future.
for i in configs/*_defconfig; do
diff="$(diffconfig ../buildroot-next/$i $i)"
if [ -n "$diff" ]; then
echo "==> $i"
echo "$diff"
echo
fi
done
--->8------>8------>8------>8------>8---
==> configs/aarch64_efi_defconfig
-BR2_TARGET_GRUB2_ARM64_EFI y
==> configs/acmesystems_aria_g25_128mb_defconfig
-BR2_arm926t y
==> configs/acmesystems_aria_g25_256mb_defconfig
-BR2_arm926t y
==> configs/acmesystems_arietta_g25_128mb_defconfig
-BR2_arm926t y
==> configs/acmesystems_arietta_g25_256mb_defconfig
-BR2_arm926t y
==> configs/amarula_vyasa_rk3288_defconfig
-BR2_PACKAGE_HOST_UBOOT_TOOLS y
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/armadeus_apf27_defconfig
-BR2_TARGET_ROOTFS_UBIFS y
-BR2_arm926t y
==> configs/armadeus_apf28_defconfig
-BR2_TARGET_ROOTFS_UBIFS y
-BR2_arm926t y
==> configs/armadeus_apf51_defconfig
-BR2_TARGET_ROOTFS_UBIFS y
==> configs/aspeed_ast2600evb_defconfig
-BR2_ARM_FPU_VFPV4D16 y
==> configs/asus_tinker-s_rk3288_defconfig
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/at91sam9260eknf_defconfig
-BR2_TARGET_ROOTFS_UBIFS y
-BR2_arm926t y
==> configs/at91sam9g20dfc_defconfig
-BR2_TARGET_ROOTFS_TAR y
-BR2_TARGET_ROOTFS_UBIFS y
-BR2_TARGET_ROOTFS_UBIFS_LEBSIZE 0x1f800
-BR2_TARGET_ROOTFS_UBIFS_MINIOSIZE 0x800
-BR2_TARGET_ROOTFS_UBI_PEBSIZE 0x20000
-BR2_TARGET_ROOTFS_UBI_SUBSIZE 512
-BR2_arm926t y
==> configs/at91sam9g45m10ek_defconfig
-BR2_TARGET_ROOTFS_UBIFS y
-BR2_arm926t y
==> configs/at91sam9rlek_defconfig
-BR2_TARGET_ROOTFS_UBIFS y
-BR2_arm926t y
==> configs/at91sam9x5ek_defconfig
-BR2_TARGET_ROOTFS_UBIFS y
-BR2_arm926t y
==> configs/at91sam9x5ek_dev_defconfig
-BR2_TARGET_ROOTFS_UBIFS y
-BR2_arm926t y
==> configs/at91sam9x5ek_mmc_defconfig
-BR2_arm926t y
==> configs/at91sam9x5ek_mmc_dev_defconfig
-BR2_arm926t y
==> configs/atmel_sama5d3_xplained_defconfig
-BR2_TARGET_ROOTFS_UBIFS y
==> configs/atmel_sama5d3_xplained_dev_defconfig
-BR2_TARGET_ROOTFS_UBIFS y
==> configs/atmel_sama5d3xek_defconfig
-BR2_TARGET_ROOTFS_UBIFS y
==> configs/atmel_sama5d4_xplained_defconfig
-BR2_TARGET_ROOTFS_UBIFS y
==> configs/atmel_sama5d4_xplained_dev_defconfig
-BR2_TARGET_ROOTFS_UBIFS y
==> configs/bananapi_m2_ultra_defconfig
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/bananapro_defconfig
-BR2_ARM_EABIHF y
-BR2_LINUX_KERNEL_USE_DEFCONFIG y
-BR2_TARGET_GENERIC_GETTY y
-BR2_TARGET_UBOOT_FORMAT_BIN y
==> configs/beaglebone_qt5_defconfig
-BR2_PACKAGE_TI_SGX_KM y
-BR2_TOOLCHAIN_BUILDROOT_GLIBC y
==> configs/beagleboneai64_defconfig
-BR2_TARGET_TI_K3_BOOT_FIRMWARE y
-BR2_TARGET_UBOOT_NEEDS_PYLIBFDT y
==> configs/beelink_gs1_defconfig
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/canaan_kd233_defconfig
-BR2_BINFMT_FLAT y
-BR2_RISCV_64 y
-BR2_RISCV_ABI_LP64D y
==> configs/ci20_defconfig
-BR2_KERNEL_HEADERS_AS_KERNEL y
-BR2_PACKAGE_HOST_UBOOT_TOOLS y
-BR2_TARGET_UBOOT_SPL_NAME "spl/u-boot-spl.bin"
==> configs/cubieboard2_defconfig
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/freescale_imx28evk_defconfig
-BR2_arm926t y
==> configs/friendlyarm_nanopi_r2s_defconfig
-BR2_cortex_a53 y
==> configs/globalscale_espressobin_defconfig
-BR2_cortex_a53 y
==> configs/hifive_unleashed_defconfig
-BR2_LINUX_KERNEL_IMAGE y
-BR2_RISCV_64 y
-BR2_RISCV_ABI_LP64D y
-BR2_TARGET_GENERIC_GETTY y
==> configs/imx23evk_defconfig
-BR2_arm926t y
==> configs/imxrt1050-evk_defconfig
-BR2_LINUX_KERNEL_ZIMAGE y
==> configs/khadas_vim3_defconfig
-BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP_DEVICE "khadas-vim3"
==> configs/kontron_bl_imx8mm_defconfig
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 y
-BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN y
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
-BR2_cortex_a53 y
==> configs/kontron_pitx_imx8m_defconfig
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 y
-BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN y
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/kontron_smarc_sal28_defconfig
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/lafrite_defconfig
-BR2_cortex_a53 y
==> configs/lego_ev3_defconfig
-BR2_TARGET_GENERIC_GETTY y
-BR2_arm926t y
==> configs/linksprite_pcduino_defconfig
-BR2_PACKAGE_WPA_SUPPLICANT_NL80211 y
-BR2_TARGET_GENERIC_GETTY y
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/ls1046a-frwy_defconfig
-BR2_PACKAGE_QORIQ_FM_UCODE_PLATFORM "ls1046"
==> configs/mx6cubox_defconfig
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/nexbox_a95x_defconfig
-BR2_cortex_a53 y
==> configs/nitrogen6sx_defconfig
-BR2_TARGET_GENERIC_GETTY y
==> configs/nitrogen6x_defconfig
-BR2_TARGET_GENERIC_GETTY y
==> configs/nitrogen7_defconfig
-BR2_TARGET_GENERIC_GETTY y
==> configs/nitrogen8m_defconfig
-BR2_TARGET_GENERIC_GETTY y
-BR2_cortex_a53 y
==> configs/nitrogen8mm_defconfig
-BR2_TARGET_GENERIC_GETTY y
-BR2_cortex_a53 y
==> configs/nitrogen8mn_defconfig
-BR2_TARGET_GENERIC_GETTY y
-BR2_cortex_a53 y
==> configs/nitrogen8mp_defconfig
-BR2_TARGET_GENERIC_GETTY y
-BR2_cortex_a53 y
==> configs/odroidc2_defconfig
-BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY y
==> configs/olimex_a10_olinuxino_lime_defconfig
-BR2_LINUX_KERNEL_USE_DEFCONFIG y
-BR2_TARGET_GENERIC_GETTY y
-BR2_TARGET_UBOOT_FORMAT_BIN y
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/olimex_a13_olinuxino_defconfig
-BR2_LINUX_KERNEL_USE_DEFCONFIG y
-BR2_TARGET_GENERIC_GETTY y
-BR2_TARGET_UBOOT_FORMAT_BIN y
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/olimex_a20_olinuxino_lime2_defconfig
-BR2_ARM_EABIHF y
-BR2_LINUX_KERNEL_USE_DEFCONFIG y
-BR2_PACKAGE_SUNXI_MALI_UTGARD_DRIVER y
-BR2_TARGET_GENERIC_GETTY y
-BR2_TARGET_UBOOT_FORMAT_BIN y
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
-BR2_TOOLCHAIN_BUILDROOT_GLIBC y
==> configs/olimex_a20_olinuxino_lime_defconfig
-BR2_ARM_EABIHF y
-BR2_LINUX_KERNEL_USE_DEFCONFIG y
-BR2_PACKAGE_SUNXI_MALI_UTGARD_DRIVER y
-BR2_TARGET_GENERIC_GETTY y
-BR2_TARGET_UBOOT_FORMAT_BIN y
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
-BR2_TOOLCHAIN_BUILDROOT_GLIBC y
==> configs/olimex_a20_olinuxino_micro_defconfig
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/olimex_a33_olinuxino_defconfig
-BR2_LINUX_KERNEL_USE_DEFCONFIG y
-BR2_TARGET_GENERIC_GETTY y
-BR2_TARGET_UBOOT_FORMAT_BIN y
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/olimex_a64_olinuxino_defconfig
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 y
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
-BR2_cortex_a53 y
==> configs/olimex_imx233_olinuxino_defconfig
-BR2_arm926t y
==> configs/openblocks_a6_defconfig
-BR2_arm926t y
==> configs/orangepi_lite2_defconfig
-BR2_PACKAGE_WPA_SUPPLICANT_NL80211 y
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 y
-BR2_cortex_a53 y
==> configs/orangepi_one_defconfig
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/orangepi_one_plus_defconfig
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 y
-BR2_cortex_a53 y
==> configs/orangepi_pc_defconfig
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/orangepi_pc_plus_defconfig
-BR2_PACKAGE_WPA_SUPPLICANT_NL80211 y
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/orangepi_r1_defconfig
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/orangepi_zero2w_defconfig
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 y
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
-BR2_cortex_a53 y
==> configs/orangepi_zero3_defconfig
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 y
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
-BR2_cortex_a53 y
==> configs/orangepi_zero_defconfig
-BR2_PACKAGE_WPA_SUPPLICANT_NL80211 y
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/orangepi_zero_plus2_defconfig
-BR2_PACKAGE_WPA_SUPPLICANT_NL80211 y
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 y
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
-BR2_cortex_a53 y
==> configs/orangepi_zero_plus_defconfig
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 y
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
-BR2_cortex_a53 y
==> configs/pine64_defconfig
-BR2_cortex_a53 y
==> configs/pine64_sopine_defconfig
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 y
-BR2_cortex_a53 y
==> configs/qemu_aarch64_sbsa_defconfig
-BR2_TARGET_GRUB2_ARM64_EFI y
==> configs/qemu_aarch64_virt_defconfig
-BR2_cortex_a53 y
==> configs/qemu_arm_versatile_defconfig
-BR2_arm926t y
==> configs/qemu_arm_vexpress_defconfig
-BR2_ARM_FPU_VFPV3D16 y
==> configs/qemu_arm_vexpress_tz_defconfig
-BR2_PACKAGE_LIBOPENSSL y
==> configs/qemu_m68k_mcf5208_defconfig
-BR2_LINUX_KERNEL_VMLINUX y
-BR2_TARGET_GENERIC_GETTY y
==> configs/qemu_m68k_q800_defconfig
-BR2_LINUX_KERNEL_VMLINUX y
-BR2_TARGET_GENERIC_GETTY y
-BR2_m68k_68040 y
==> configs/qemu_microblazebe_mmu_defconfig
-BR2_microblaze y
==> configs/qemu_microblazeel_mmu_defconfig
-BR2_microblaze y
==> configs/qemu_mips32r2_malta_defconfig
-BR2_TARGET_GENERIC_GETTY y
==> configs/qemu_mips32r2el_malta_defconfig
-BR2_TARGET_GENERIC_GETTY y
==> configs/qemu_mips32r6_malta_defconfig
-BR2_TARGET_GENERIC_GETTY y
==> configs/qemu_mips32r6el_malta_defconfig
-BR2_TARGET_GENERIC_GETTY y
==> configs/qemu_mips64_malta_defconfig
-BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE y
-BR2_TARGET_GENERIC_GETTY y
==> configs/qemu_mips64el_malta_defconfig
-BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE y
-BR2_TARGET_GENERIC_GETTY y
==> configs/qemu_mips64r6_malta_defconfig
-BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE y
-BR2_TARGET_GENERIC_GETTY y
==> configs/qemu_mips64r6el_malta_defconfig
-BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE y
-BR2_TARGET_GENERIC_GETTY y
==> configs/qemu_ppc64le_powernv8_defconfig
-BR2_powerpc_power8 y
==> configs/qemu_ppc64le_pseries_defconfig
-BR2_powerpc_power8 y
==> configs/qemu_ppc_bamboo_defconfig
-BR2_TARGET_GENERIC_GETTY y
==> configs/qemu_ppc_g3beige_defconfig
-BR2_TARGET_GENERIC_GETTY y
==> configs/qemu_ppc_mpc8544ds_defconfig
-BR2_TARGET_GENERIC_GETTY y
==> configs/qemu_riscv32_nommu_virt_defconfig
-BR2_LINUX_KERNEL_IMAGE y
-BR2_TARGET_GENERIC_GETTY y
==> configs/qemu_riscv32_virt_defconfig
-BR2_LINUX_KERNEL_IMAGE y
-BR2_TARGET_GENERIC_GETTY y
==> configs/qemu_riscv64_nommu_virt_defconfig
-BR2_LINUX_KERNEL_IMAGE y
-BR2_RISCV_64 y
-BR2_TARGET_GENERIC_GETTY y
==> configs/qemu_riscv64_virt_defconfig
-BR2_LINUX_KERNEL_IMAGE y
-BR2_RISCV_64 y
-BR2_TARGET_GENERIC_GETTY y
==> configs/qemu_sh4_r2d_defconfig
-BR2_sh4 y
==> configs/qemu_sparc64_sun4u_defconfig
-BR2_sparc_v9 y
==> configs/qemu_sparc_ss10_defconfig
-BR2_sparc_v8 y
==> configs/qemu_x86_defconfig
-BR2_i386 y
==> configs/raspberrypi0_defconfig
-BR2_ARM_EABIHF y
==> configs/raspberrypi0w_defconfig
-BR2_ARM_EABIHF y
==> configs/raspberrypi2_defconfig
-BR2_ARM_EABIHF y
==> configs/raspberrypi3_64_defconfig
-BR2_cortex_a53 y
==> configs/raspberrypi3_qt5we_defconfig
-BR2_PACKAGE_KMOD y
-BR2_PACKAGE_QT5BASE_JPEG y
-BR2_PACKAGE_QT5BASE_PNG y
-BR2_TOOLCHAIN_BUILDROOT_GLIBC y
==> configs/raspberrypi_defconfig
-BR2_ARM_EABIHF y
==> configs/riotboard_defconfig
-BR2_TARGET_GENERIC_GETTY y
==> configs/rock64_defconfig
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/rock_pi_n8_defconfig
-BR2_LINUX_KERNEL_USE_DEFCONFIG y
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/rockpro64_defconfig
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 y
-BR2_TARGET_UBOOT_NEEDS_PYTHON3 y
==> configs/s6lx9_microboard_defconfig
-BR2_microblaze y
==> configs/sheevaplug_defconfig
-BR2_TARGET_GENERIC_GETTY y
-BR2_TARGET_UBOOT_NETWORK n
-BR2_arm926t y
==> configs/sipeed_maix_bit_defconfig
-BR2_BINFMT_FLAT y
-BR2_RISCV_64 y
-BR2_RISCV_ABI_LP64D y
==> configs/sipeed_maix_bit_sdcard_defconfig
-BR2_BINFMT_FLAT y
-BR2_RISCV_64 y
-BR2_RISCV_ABI_LP64D y
-BR2_TARGET_UBOOT_FORMAT_BIN y
==> configs/sipeed_maix_dock_defconfig
-BR2_BINFMT_FLAT y
-BR2_RISCV_64 y
-BR2_RISCV_ABI_LP64D y
==> configs/sipeed_maix_dock_sdcard_defconfig
-BR2_BINFMT_FLAT y
-BR2_RISCV_64 y
-BR2_RISCV_ABI_LP64D y
-BR2_TARGET_UBOOT_FORMAT_BIN y
==> configs/sipeed_maix_go_defconfig
-BR2_BINFMT_FLAT y
-BR2_RISCV_64 y
-BR2_RISCV_ABI_LP64D y
==> configs/sipeed_maix_go_sdcard_defconfig
-BR2_BINFMT_FLAT y
-BR2_RISCV_64 y
-BR2_RISCV_ABI_LP64D y
-BR2_TARGET_UBOOT_FORMAT_BIN y
==> configs/sipeed_maixduino_defconfig
-BR2_BINFMT_FLAT y
-BR2_RISCV_64 y
-BR2_RISCV_ABI_LP64D y
==> configs/sipeed_maixduino_sdcard_defconfig
-BR2_BINFMT_FLAT y
-BR2_RISCV_64 y
-BR2_RISCV_ABI_LP64D y
-BR2_TARGET_UBOOT_FORMAT_BIN y
==> configs/snps_archs38_hsdk_defconfig
-BR2_TOOLCHAIN_BUILDROOT_GLIBC y
==> configs/solidrun_clearfog_gt_8k_defconfig
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP n
==> configs/solidrun_macchiatobin_defconfig
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP n
-BR2_TARGET_ROOTFS_TAR y
-BR2_TARGET_UBOOT_USE_DEFCONFIG y
==> configs/spike_riscv64_defconfig
-BR2_RISCV_64 y
==> configs/ts5500_defconfig
-BR2_i386 y
-BR2_x86_i586 y
==> configs/versal_vck190_defconfig
-BR2_TARGET_XILINX_PREBUILT_VERSION "xilinx_v2024.1"
==> configs/versal_vpk180_defconfig
-BR2_TARGET_XILINX_PREBUILT_VERSION "xilinx_v2024.1"
==> configs/zynqmp_kria_kd240_defconfig
-BR2_TARGET_XILINX_PREBUILT_VERSION "xilinx_v2024.1"
==> configs/zynqmp_kria_kr260_defconfig
-BR2_TARGET_XILINX_PREBUILT_VERSION "xilinx_v2024.1"
==> configs/zynqmp_kria_kv260_defconfig
-BR2_TARGET_XILINX_PREBUILT_VERSION "xilinx_v2024.1"
==> configs/zynqmp_zcu102_defconfig
-BR2_TARGET_XILINX_PREBUILT_VERSION "xilinx_v2024.1"
==> configs/zynqmp_zcu104_defconfig
-BR2_TARGET_XILINX_PREBUILT_VERSION "xilinx_v2024.1"
==> configs/zynqmp_zcu106_defconfig
-BR2_TARGET_XILINX_PREBUILT_VERSION "xilinx_v2024.1"
---8<------8<------8<------8<------8<---
This moves some configs in the defconfigs and removes some comments so
the defconfig files look similar.
Signed-off-by: Gaël PORTAY <gael.portay@rtone.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
There are two kind of device-tree blobs up to the Rasperry Pi 3[1][2]:
- the downstream dtbs are named after the die name (i.e. BCM27xx)
- the upstream dtbs are name after the package name (i.e. BCM283x)
Every defconfigs install exclusively the downstream device-tree blob, at
the exception of the raspberrypi3_64_defconfig that installs both since
the begining.
This removes the upstream device-tree blob for the beauty of
consistency.
Note: It is possible to load the upstream device-tree using the
upstream_kernel property[3].
Raspberry Pi, Compute Module, Raspberry Pi Zero and Raspberry Pi Zero W
use bcm2835 for upstream and bcm2708 for downstream.
Raspberry Pi 2 uses bcm2836 for upstream and bcm2709 for downstream.
Raspberry Pi 2 rev 1.2, Raspberry Pi 3, Compute Module 3/3+ and
Raspberry Zero 2 W use bcm2837 for upstream and bcm2709 for downstream.
Raspberry Pi 4/400 and Compute Module 4/4s uses bcm2711 and Raspberry Pi
5 uses bcm2712.
[1]: https://github.com/raspberrypi/linux/issues/3237
[2]: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#flagship-series
[3]: https://www.raspberrypi.com/documentation/computers/legacy_config_txt.html#upstream_kernel
Signed-off-by: Gaël PORTAY <gael.portay@rtone.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This installs the device-tree blob for the Compute Module 3.
Note: The 32-bit raspberrypi3_defconfig installs this Device Tree
since a726c7dff8
(configs/raspberrypi3_defconfig: add raspberry pi 3 compute module
support).
Signed-off-by: Gaël PORTAY <gael.portay@rtone.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Linux 6.1 has been marked LTS for a long time now. Time to bump
Linux for RaspberryPi's to the latest 6.1.61 Since April 2022
the RaspberryPi defconfigs have compressed kernel module enabled
by default. (see [1] and [2]).
To load compressed kernel modules kmod and xz packages are needed
because busybox doesn't support it.
For testing I used RaspberryPi 2, 3(32+64bit) and 4(32+64bit), all with mdev enabled.
[1] c45b4223a4
[2] https://github.com/raspberrypi/linux/issues/4966
Signed-off-by: Bram Oosterhuis <dev@bybram.com>
Reviewed-by: Marcus Hoffmann <marcus.hoffmann@othermo.de>
Tested-by: Marcus Hoffmann <marcus.hoffmann@othermo.de>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Try to be less smart (focused on the one target/one use-case),
instead reduce the rpi-firmware package to a selectable list
of (verbatim) installed firmware files.
- change rpi-firmware config handling from rpi-variant/rpi-flavour
choices to bootcode.bin, pi-default/-extended/-cut-down and
pi4-/default/-extended/-cut-down selection
- add BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE option to select installable
config.txt file
- remove config.txt modify code/handling from raspberry post-image.sh
script
- add different customized config.txt files to the raspberry board
section
- change dtoverlay krnbt from 'dtoverlay=miniuart-bt,krnbt=on' to extra line
with explanation comment
- change raspberry defconfigs to select appropiate rpi-firmware
and config.txt files
- change genimage-raspberrypi4.cfg/genimage-raspberrypi4-64.cfg to
use start4.elf and fixup4.dat
- update board/raspberrypi/readme.txt (add optional files fixup4.dat,
start4.elf and zImage)
With this changes a better support for custom use-cases should
be possible, specially multi-target SD cards as suggested by
Stefan Agner ([1]).
[1] http://lists.busybox.net/pipermail/buildroot/2021-February/303318.html
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[yann.morin.1998@free.fr: fix case of no config.txt provided]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Commit 8c3f281626 (configs/rpi: fix defconfigs after upstream rebased)
attempted to point the raspberrypi defconfigs to an existing commit in
the linux rpi repository.
However, in doing so, only a partial replacement was done: the version
string in the tarball filename was not replaced (missing 'g' to the sed
expression).
Fix that now.
Reported-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Branches in the Rappberry Pi linux repository are often rebased, which
means that commits that are not reachable from a reference (tag,branch)
will eventually get garbage-collected.
This is probably what hapenned with the commit we are curently
referencing in our defconfig files.
Swith to using the current HEAD of the rpi-5.10.y brnch, in lieue of the
previous one.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT is now forcefully selected by
BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS when the kernel is in
charge of building DTBs (BR2_LINUX_KERNEL_DTS_SUPPORT=y). So enabling
BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT is no longer needed in the 64-bit
defconfigs for Raspberry Pi 3 and 4.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Now based on 4.19.97 (from 4.19.75).
Go back to sha1 version scheme instead of official tag (after
only two tag versions) to get an up-to-date kernel version
(as the offical last tag is for 4.19.94).
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The pi3-minuart-bt Device Tree overlay has been renamed to
miniuart-bt, as it is useful/usable for other platforms than the
RPi3. So we use this DT overlay and rename the
--add-pi3-miniuart-bt-overlay option to --add-miniuart-bt-overlay
accordingly.
Signed-off-by: Arthur Courtel <arthur.courtel@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Use the pi3-miniuart-bt device tree overlay (as the 32bit raspberrypi3
defconfig) instead of the enable_uart option.
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Enables the usage of the standard Raspberry Pi overlays (as already
possible for all 32bit defconfigs and as expected by most Raspberry Pi
defconfig users), follow up patch will use the overlay feature to
enable the ttyS0 serial console in the same way as done for the
raspberrypi3_defconfig case (instead using an alternative approach).
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
It's the latest original version. The defconfig and
package/rpi-firmware changes are done in a single patch, as they are
going together.
Signed-off-by: Gergely Imreh <imrehg@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Now based on 4.19.23 (from 4.14.98) and bump linux header
version accordingly and needs host openssl.
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Now based on 4.14.29 (from 4.9.79)
Signed-off-by: Martin Bark <martin@barkynet.com>
[Thomas: adjusted on top of Yann E. Morin changes to use a tarball
instead of a git clone.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The linux git trees on github can be huge, and takes a long time to
download, which is not very nice nor convenient for newcomers.
Switch them to using a wget, with the github macro.
A nice side effect of this conversion, is that we no longer need to wait
for the git clone to finish to notice that the ref is gone; doing a wget
will instantly fail in that case.
Mechanical patch, obtained by running (hang-on tight):
$ sed -r -i -e 's/BR2_LINUX_KERNEL_CUSTOM_GIT/BR2_LINUX_KERNEL_CUSTOM_TARBALL/; /BR2_LINUX_KERNEL_CUSTOM_REPO_URL/N; s:BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https\://github.com/([^/]+)/(.+)"\nBR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="(.+)":BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,\1,\2,\3)/linux-\3.tar.gz":; s/(call github.*)\.git/\1/;' $(grep -l 'BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com' configs/*)
olimex_a20_olinuxino_lime_mali had a comment in between, so it was
manually fixed thereafter; that comment was also moved.
Except for socrates_cyclone5 which did not work previously (missing tag
in git tree?), all the affected defconfigs still download their sources.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This change deprecates the ext2/3/4 rootfs size in blocks symbol in
favor of one that mimic the fs-size argument behavior of mkfs (i.e.
size in a human readable format accepting k, m, g or t suffix or their
upper-case variants).
This change also updates the defconfigs that used to set
BR2_TARGET_ROOTFS_EXT2_BLOCKS symbol.
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This configuration builds a 64bit image for RaspberryPi 3.
The size of the ext4 filesystem has to be extended to fit the large amount
(~60MB) of kernel modules enabled in the defconfig.
[Peter: drop gcc version selection / glibc, explain ext4 size requirement]
Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Tested-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>