[Buildroot] [PATCH 2/2] configs: add raspberrypi3 64bits defconfig
Arnout Vandecappelle
arnout at mind.be
Fri Apr 14 22:22:12 UTC 2017
On 14-04-17 23:45, Gaël PORTAY wrote:
[snip]
> diff --git a/board/raspberrypi/post-image.sh b/board/raspberrypi/post-image.sh
> index b2bb07067..e4127c9ea 100755
> --- a/board/raspberrypi/post-image.sh
> +++ b/board/raspberrypi/post-image.sh
> @@ -16,6 +16,29 @@ 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
> +
> + # Use 64bits conffile
> + GENIMAGE_CFG="${BOARD_DIR}/genimage-${BOARD_NAME}-64.cfg"
Isn't it better to just make a new raspberrypi3-64 symlink?
> + ;;
> esac
>
> rm -rf "${GENIMAGE_TMP}"
> diff --git a/configs/raspberrypi3_64_defconfig b/configs/raspberrypi3_64_defconfig
> new file mode 100644
> index 000000000..ddc6842f9
> --- /dev/null
> +++ b/configs/raspberrypi3_64_defconfig
> @@ -0,0 +1,37 @@
> +BR2_aarch64=y
I think an explicit BR2_cortex_a53=y should be added. It's the default because
it's the first one in the list, but I don't think it's good to rely on that.
BTW, does anyone know why the 32-bit version has cortex_a7?
> +
> +BR2_GCC_VERSION_6_X=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="935c7ce84c982a26f567a03a58a1537424569938"
> +BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi3"
> +
> +# Build the DTB from the kernel sources
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-3-b broadcom/bcm2837-rpi-3-b"
> +
> +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_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> +BR2_TARGET_ROOTFS_EXT2_BLOCKS=126976
I'd prefer a little bit more slack, I used 120000 in the defconfigs I just
updated. And if that is not enough (or very tight), just jump directly to 250000.
Regards,
Arnout
> +# 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="--aarch64"
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
More information about the buildroot
mailing list