package/rpi-firmware: rework boot/config file handling
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>
This commit is contained in:
parent
e11c3cbe26
commit
689b9ac439
29
board/raspberrypi/config_0w.txt
Normal file
29
board/raspberrypi/config_0w.txt
Normal file
@ -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=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
|
||||
|
||||
# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
|
||||
dtoverlay=miniuart-bt
|
||||
|
||||
# enable autoprobing of Bluetooth driver without need of hciattach/btattach
|
||||
dtoverlay=krnbt=on
|
29
board/raspberrypi/config_3.txt
Normal file
29
board/raspberrypi/config_3.txt
Normal file
@ -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=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
|
||||
|
||||
# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
|
||||
dtoverlay=miniuart-bt
|
||||
|
||||
# enable autoprobing of Bluetooth driver without need of hciattach/btattach
|
||||
dtoverlay=krnbt=on
|
32
board/raspberrypi/config_3_64bit.txt
Normal file
32
board/raspberrypi/config_3_64bit.txt
Normal file
@ -0,0 +1,32 @@
|
||||
# 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
|
||||
|
||||
# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
|
||||
dtoverlay=miniuart-bt
|
||||
|
||||
# enable autoprobing of Bluetooth driver without need of hciattach/btattach
|
||||
dtoverlay=krnbt=on
|
||||
|
||||
# enable 64bits support
|
||||
arm_64bit=1
|
26
board/raspberrypi/config_3_qt5we.txt
Normal file
26
board/raspberrypi/config_3_qt5we.txt
Normal file
@ -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
|
||||
|
||||
# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
|
||||
dtoverlay=miniuart-bt
|
29
board/raspberrypi/config_4.txt
Normal file
29
board/raspberrypi/config_4.txt
Normal file
@ -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=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
|
||||
|
||||
# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
|
||||
dtoverlay=miniuart-bt
|
||||
|
||||
# enable autoprobing of Bluetooth driver without need of hciattach/btattach
|
||||
dtoverlay=krnbt=on
|
36
board/raspberrypi/config_4_64bit.txt
Normal file
36
board/raspberrypi/config_4_64bit.txt
Normal file
@ -0,0 +1,36 @@
|
||||
# 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
|
||||
|
||||
# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
|
||||
dtoverlay=miniuart-bt
|
||||
|
||||
# enable autoprobing of Bluetooth driver without need of hciattach/btattach
|
||||
dtoverlay=krnbt=on
|
||||
|
||||
dtoverlay=vc4-kms-v3d-pi4
|
||||
dtoverlay=imx219
|
||||
#dtoverlay=ov5647
|
||||
|
||||
# enable 64bits support
|
||||
arm_64bit=1
|
26
board/raspberrypi/config_cm4io.txt
Normal file
26
board/raspberrypi/config_cm4io.txt
Normal file
@ -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
|
||||
|
||||
# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
|
||||
dtoverlay=miniuart-bt
|
30
board/raspberrypi/config_cm4io_64bit.txt
Normal file
30
board/raspberrypi/config_cm4io_64bit.txt
Normal file
@ -0,0 +1,30 @@
|
||||
# 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
|
||||
|
||||
# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
|
||||
dtoverlay=miniuart-bt
|
||||
|
||||
# enable 64bits support
|
||||
arm_64bit=1
|
||||
|
@ -1,11 +1,9 @@
|
||||
# Please note that this is only a sample, we recommend you to change it to fit
|
||||
# your needs.
|
||||
# You should override this file using a post-build script.
|
||||
# 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
|
||||
|
||||
# We always use the same names, the real used variant is selected by
|
||||
# BR2_PACKAGE_RPI_FIRMWARE_{DEFAULT,X,CD} choice
|
||||
start_file=start.elf
|
||||
fixup_file=fixup.dat
|
||||
|
@ -4,8 +4,8 @@ image boot.vfat {
|
||||
"bcm2711-rpi-4-b.dtb",
|
||||
"rpi-firmware/cmdline.txt",
|
||||
"rpi-firmware/config.txt",
|
||||
"rpi-firmware/fixup.dat",
|
||||
"rpi-firmware/start.elf",
|
||||
"rpi-firmware/fixup4.dat",
|
||||
"rpi-firmware/start4.elf",
|
||||
"rpi-firmware/overlays",
|
||||
"Image"
|
||||
}
|
||||
|
@ -4,8 +4,8 @@ image boot.vfat {
|
||||
"bcm2711-rpi-4-b.dtb",
|
||||
"rpi-firmware/cmdline.txt",
|
||||
"rpi-firmware/config.txt",
|
||||
"rpi-firmware/fixup.dat",
|
||||
"rpi-firmware/start.elf",
|
||||
"rpi-firmware/fixup4.dat",
|
||||
"rpi-firmware/start4.elf",
|
||||
"rpi-firmware/overlays",
|
||||
"zImage"
|
||||
}
|
||||
|
@ -4,8 +4,8 @@ image boot.vfat {
|
||||
"bcm2711-rpi-cm4.dtb",
|
||||
"rpi-firmware/cmdline.txt",
|
||||
"rpi-firmware/config.txt",
|
||||
"rpi-firmware/fixup.dat",
|
||||
"rpi-firmware/start.elf",
|
||||
"rpi-firmware/fixup4.dat",
|
||||
"rpi-firmware/start4.elf",
|
||||
"rpi-firmware/overlays",
|
||||
"Image"
|
||||
}
|
||||
|
@ -4,8 +4,8 @@ image boot.vfat {
|
||||
"bcm2711-rpi-cm4.dtb",
|
||||
"rpi-firmware/cmdline.txt",
|
||||
"rpi-firmware/config.txt",
|
||||
"rpi-firmware/fixup.dat",
|
||||
"rpi-firmware/start.elf",
|
||||
"rpi-firmware/fixup4.dat",
|
||||
"rpi-firmware/start4.elf",
|
||||
"rpi-firmware/overlays",
|
||||
"zImage"
|
||||
}
|
||||
|
@ -7,39 +7,6 @@ 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-miniuart-bt-overlay)
|
||||
if ! grep -qE '^dtoverlay=' "${BINARIES_DIR}/rpi-firmware/config.txt"; then
|
||||
echo "Adding 'dtoverlay=miniuart-bt' to config.txt (fixes ttyAMA0 serial console)."
|
||||
cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
|
||||
|
||||
# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
|
||||
dtoverlay=miniuart-bt,krnbt=on
|
||||
__EOF__
|
||||
fi
|
||||
;;
|
||||
--aarch64)
|
||||
# Run a 64bits kernel (armv8)
|
||||
sed -e '/^kernel=/s,=.*,=Image,' -i "${BINARIES_DIR}/rpi-firmware/config.txt"
|
||||
if ! grep -qE '^arm_64bit=1' "${BINARIES_DIR}/rpi-firmware/config.txt"; then
|
||||
cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
|
||||
|
||||
# enable 64bits support
|
||||
arm_64bit=1
|
||||
__EOF__
|
||||
fi
|
||||
;;
|
||||
--gpu_mem_256=*|--gpu_mem_512=*|--gpu_mem_1024=*)
|
||||
# Set GPU memory
|
||||
gpu_mem="${arg:2}"
|
||||
sed -e "/^${gpu_mem%=*}=/s,=.*,=${gpu_mem##*=}," -i "${BINARIES_DIR}/rpi-firmware/config.txt"
|
||||
;;
|
||||
esac
|
||||
|
||||
done
|
||||
|
||||
# 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
|
||||
|
@ -87,11 +87,14 @@ After building, you should obtain this tree:
|
||||
| +-- bootcode.bin
|
||||
| +-- cmdline.txt
|
||||
| +-- config.txt
|
||||
| +-- fixup.dat
|
||||
| +-- start.elf
|
||||
| +-- fixup.dat [1]
|
||||
| +-- fixup4.dat [1]
|
||||
| +-- start.elf [1]
|
||||
| +-- start4.elf [1]
|
||||
| `-- overlays/ [2]
|
||||
+-- sdcard.img
|
||||
`-- zImage
|
||||
+-- Image [1]
|
||||
`-- zImage [1]
|
||||
|
||||
[1] Not all of them will be present, depending on the RaspberryPi
|
||||
model you are using.
|
||||
|
@ -20,6 +20,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-zero"
|
||||
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=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
|
||||
|
@ -16,6 +16,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-zero-w"
|
||||
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=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"
|
||||
|
||||
# Required tools to create the SD image
|
||||
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||
@ -29,4 +32,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi0w/post-build.sh"
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi0w/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay"
|
||||
|
@ -22,6 +22,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2709-rpi-2-b"
|
||||
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=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
|
||||
|
@ -21,6 +21,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-3-b broadcom/bcm2710-rpi-
|
||||
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=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/raspberrypi3-64/config_3_64bit.txt"
|
||||
|
||||
# Required tools to create the SD image
|
||||
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||
@ -34,4 +37,3 @@ 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 --add-miniuart-bt-overlay"
|
||||
|
@ -21,6 +21,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-3-b bcm2710-rpi-3-b-plus bcm2710-r
|
||||
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=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/raspberrypi3/config_3.txt"
|
||||
|
||||
# Required tools to create the SD image
|
||||
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||
@ -34,4 +37,3 @@ 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-miniuart-bt-overlay"
|
||||
|
@ -31,6 +31,9 @@ BR2_PACKAGE_QT5BASE_PNG=y
|
||||
BR2_PACKAGE_QT5WEBENGINE=y
|
||||
BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS=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/raspberrypi3/config_3_qt5we.txt"
|
||||
BR2_PACKAGE_RPI_USERLAND=y
|
||||
BR2_PACKAGE_CA_CERTIFICATES=y
|
||||
BR2_PACKAGE_NTP=y
|
||||
@ -48,4 +51,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="400M"
|
||||
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-miniuart-bt-overlay --gpu_mem_1024=200"
|
||||
|
@ -22,6 +22,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=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"
|
||||
|
||||
# Required tools to create the SD image
|
||||
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||
@ -35,4 +36,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4-64/post-build.sh"
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4-64/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay --aarch64"
|
||||
|
@ -22,6 +22,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
|
||||
|
||||
BR2_PACKAGE_RPI_FIRMWARE=y
|
||||
BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
|
||||
BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi4/config_4.txt"
|
||||
|
||||
# Required tools to create the SD image
|
||||
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||
@ -35,4 +36,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4/post-build.sh"
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay"
|
||||
|
@ -21,6 +21,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-b bcm2708-rpi-b-plus bcm2708-rpi-c
|
||||
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=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
|
||||
|
@ -22,6 +22,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=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"
|
||||
|
||||
# Required tools to create the SD image
|
||||
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||
@ -38,4 +39,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypicm4io-64/post-build.sh"
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypicm4io-64/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay --aarch64"
|
||||
|
@ -22,6 +22,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=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"
|
||||
|
||||
# Required tools to create the SD image
|
||||
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||
@ -38,4 +39,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypicm4io/post-build.sh"
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypicm4io/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay"
|
||||
|
@ -11,63 +11,53 @@ config BR2_PACKAGE_RPI_FIRMWARE
|
||||
|
||||
if BR2_PACKAGE_RPI_FIRMWARE
|
||||
|
||||
choice
|
||||
bool "rpi variant"
|
||||
config BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN
|
||||
bool "rpi 0/1/2/3 bootcode.bin"
|
||||
help
|
||||
The Raspberry Pi 4 introduced a slightly different naming
|
||||
convention and set of boot files. This option controls which
|
||||
format to use.
|
||||
The bootcode.bin for versions Zero/1/2/3 (not needed on rpi4,
|
||||
because it has been replaced by boot code in the onboard
|
||||
EEPROM).
|
||||
|
||||
config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI
|
||||
bool "rpi 0/1/2/3"
|
||||
bool "rpi 0/1/2/3 (default)"
|
||||
help
|
||||
The default set of files, for versions pre-4
|
||||
The default set of files for versions Zero/1/2/3.
|
||||
|
||||
config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_X
|
||||
bool "rpi 0/1/2/3 (extended)"
|
||||
help
|
||||
The extended set of files for versions Zero/1/2/3 (additional
|
||||
GPU features, eg. more audio/video codecs).
|
||||
|
||||
config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_CD
|
||||
bool "rpi 0/1/2/3 (cut-down)"
|
||||
help
|
||||
The cut-down set of files for versions Zero/1/2/3 (only
|
||||
features required to boot a Linux kernel).
|
||||
|
||||
config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4
|
||||
bool "rpi 4"
|
||||
bool "rpi 4 (default)"
|
||||
help
|
||||
The Raspberry Pi 4 files
|
||||
endchoice
|
||||
The default set of files for versions 4 (standard GPU
|
||||
features).
|
||||
|
||||
choice
|
||||
bool "Firmware to boot"
|
||||
default BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
|
||||
config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_X
|
||||
bool "rpi 4 (extended)"
|
||||
help
|
||||
There are three different firmware files:
|
||||
- the default firmware, that enables standard GPU
|
||||
features;
|
||||
- the extended firmware, that enables additional GPU
|
||||
features (eg. more audio/video codecs);
|
||||
- the cut-down firmware, for emergency situations, with
|
||||
only features required to boot a Linux kernel.
|
||||
The extended set of files for versions 4 (additional GPU
|
||||
features, eg. more audio/video codecs).
|
||||
|
||||
config BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
|
||||
bool "default"
|
||||
config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_CD
|
||||
bool "rpi 4 (cut-down)"
|
||||
help
|
||||
The default firmware, that enables standard GPU features.
|
||||
The cut-down set of files for versions 4 (only features
|
||||
required to boot a Linux kernel).
|
||||
|
||||
config BR2_PACKAGE_RPI_FIRMWARE_X
|
||||
bool "extended ('x', more codecs)"
|
||||
config BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE
|
||||
string "Path to a file stored as boot/config.txt"
|
||||
help
|
||||
The extended firmware, that enables additional GPU features
|
||||
(eg. more audio/video codecs).
|
||||
|
||||
config BR2_PACKAGE_RPI_FIRMWARE_CD
|
||||
bool "cut-down ('cd', emergency)"
|
||||
help
|
||||
The cut-down firmware, for emergency situations, with only
|
||||
features required to boot a Linux kernel.
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_PACKAGE_RPI_FIRMWARE_BOOT
|
||||
string
|
||||
default "" if BR2_PACKAGE_RPI_FIRMWARE_DEFAULT && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI
|
||||
default "4" if BR2_PACKAGE_RPI_FIRMWARE_DEFAULT && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4
|
||||
default "_x" if BR2_PACKAGE_RPI_FIRMWARE_X && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI
|
||||
default "4x" if BR2_PACKAGE_RPI_FIRMWARE_X && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4
|
||||
default "_cd" if BR2_PACKAGE_RPI_FIRMWARE_CD && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI
|
||||
default "4cd" if BR2_PACKAGE_RPI_FIRMWARE_CD && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4
|
||||
Path to a file stored as config.txt in the boot partiton
|
||||
of the generated SD card image.
|
||||
|
||||
config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS
|
||||
bool "Install Device Tree Blobs (DTBs)"
|
||||
|
@ -10,6 +10,29 @@ RPI_FIRMWARE_LICENSE = BSD-3-Clause
|
||||
RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom
|
||||
RPI_FIRMWARE_INSTALL_IMAGES = YES
|
||||
|
||||
RPI_FIRMWARE_FILES = \
|
||||
$(if $(BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN), bootcode.bin) \
|
||||
$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI), start.elf fixup.dat) \
|
||||
$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_X), startx.elf fixupx.dat) \
|
||||
$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_CD), start_cd.elf fixup_cd.dat) \
|
||||
$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4), start4.elf fixup4.dat) \
|
||||
$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_X), start4x.elf fixup4x.dat) \
|
||||
$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_CD), start4cd.elf fixup4cd.dat)
|
||||
|
||||
define RPI_FIRMWARE_INSTALL_BIN
|
||||
$(foreach f,$(RPI_FIRMWARE_FILES), \
|
||||
$(INSTALL) -D -m 0644 $(@D)/boot/$(f) $(BINARIES_DIR)/rpi-firmware/$(f)
|
||||
)
|
||||
endef
|
||||
|
||||
RPI_FIRMWARE_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE))
|
||||
ifneq ($(PACKAGE_RPI_FIRMWARE_CONFIG_FILE),)
|
||||
define RPI_FIRMWARE_INSTALL_CONFIG
|
||||
$(INSTALL) -D -m 0644 $(PACKAGE_RPI_FIRMWARE_CONFIG_FILE) \
|
||||
$(BINARIES_DIR)/rpi-firmware/config.txt
|
||||
endef
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS),y)
|
||||
define RPI_FIRMWARE_INSTALL_DTB
|
||||
$(foreach dtb,$(wildcard $(@D)/boot/*.dtb), \
|
||||
@ -41,19 +64,10 @@ define RPI_FIRMWARE_INSTALL_TARGET_CMDS
|
||||
endef
|
||||
endif # INSTALL_VCDBG
|
||||
|
||||
ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI),y)
|
||||
# bootcode.bin is not used on rpi4, because it has been replaced by boot code in the onboard EEPROM
|
||||
define RPI_FIRMWARE_INSTALL_BOOTCODE_BIN
|
||||
$(INSTALL) -D -m 0644 $(@D)/boot/bootcode.bin $(BINARIES_DIR)/rpi-firmware/bootcode.bin
|
||||
endef
|
||||
endif
|
||||
|
||||
define RPI_FIRMWARE_INSTALL_IMAGES_CMDS
|
||||
$(INSTALL) -D -m 0644 package/rpi-firmware/config.txt $(BINARIES_DIR)/rpi-firmware/config.txt
|
||||
$(INSTALL) -D -m 0644 package/rpi-firmware/cmdline.txt $(BINARIES_DIR)/rpi-firmware/cmdline.txt
|
||||
$(INSTALL) -D -m 0644 $(@D)/boot/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf $(BINARIES_DIR)/rpi-firmware/start.elf
|
||||
$(INSTALL) -D -m 0644 $(@D)/boot/fixup$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).dat $(BINARIES_DIR)/rpi-firmware/fixup.dat
|
||||
$(RPI_FIRMWARE_INSTALL_BOOTCODE_BIN)
|
||||
$(RPI_FIRMWARE_INSTALL_BIN)
|
||||
$(RPI_FIRMWARE_INSTALL_CONFIG)
|
||||
$(RPI_FIRMWARE_INSTALL_DTB)
|
||||
$(RPI_FIRMWARE_INSTALL_DTB_OVERLAYS)
|
||||
endef
|
||||
|
Loading…
Reference in New Issue
Block a user