diff --git a/bsp/board/rpi/configs/users.tbl b/bsp/board/rpi/configs/users.tbl new file mode 100644 index 00000000..b58db296 --- /dev/null +++ b/bsp/board/rpi/configs/users.tbl @@ -0,0 +1 @@ +rpi 1000 rpi 1000 =rpi /home/rpi /bin/sh - Raspberry Pi User diff --git a/bsp/board/rpi/main.mk b/bsp/board/rpi/main.mk index 0f84dadf..322b9fd9 100644 --- a/bsp/board/rpi/main.mk +++ b/bsp/board/rpi/main.mk @@ -8,5 +8,5 @@ all: msg buildroot include ../../bsp/include/rules.mk include ../../bsp/include/buildroot.mk -#include ../../bsp/include/toolchain.mk +include ../../bsp/include/toolchain.mk include ../../bsp/include/dtb.mk diff --git a/bsp/board/rpi/ovl/usr/bin/ro b/bsp/board/rpi/ovl/usr/bin/ro new file mode 100755 index 00000000..32872238 --- /dev/null +++ b/bsp/board/rpi/ovl/usr/bin/ro @@ -0,0 +1,3 @@ +#! /bin/sh + +mount / -o ro,remount diff --git a/bsp/board/rpi/ovl/usr/bin/rw b/bsp/board/rpi/ovl/usr/bin/rw new file mode 100755 index 00000000..bb7e6619 --- /dev/null +++ b/bsp/board/rpi/ovl/usr/bin/rw @@ -0,0 +1,3 @@ +#! /bin/sh + +mount / -o rw,remount diff --git a/bsp/include/toolchain.mk b/bsp/include/toolchain.mk index 9e51d94e..b55a626e 100644 --- a/bsp/include/toolchain.mk +++ b/bsp/include/toolchain.mk @@ -3,24 +3,24 @@ BR2_EXTERNAL ?= $(BR_PROJECT)/../../bsp/buildroot_external/ -BR_ENV = BR2_EXTERNAL=$(BR2_EXTERNAL) O=$(BR_STAGING)/buildroot/ WORKSPACE_DIR=$(BR_STAGING) -BR_ENV += BUILDS_ROOT=$(BR_LOCAL_BUILDS_ROOT) BOARD=$(BR_BOARD) PROJECT=$(BR_PROJECT) -BR_ENV += BR2_DEFCONFIG_FROM_ENV=1 -BR_ENV += LD_LIBRARY_PATH=$(BR_STAGING)/cross/opt/ext-toolchain/lib/ +BR_TC_ENV = BR2_EXTERNAL=$(BR2_EXTERNAL) O=$(BR_STAGING)/buildroot/ WORKSPACE_DIR=$(BR_STAGING) +BR_TC_ENV += BUILDS_ROOT=$(BR_LOCAL_BUILDS_ROOT) BOARD=$(BR_BOARD) PROJECT=$(BR_PROJECT) +BR_TC_ENV += BR2_DEFCONFIG=$(BR_PROJECT)/configs/toolchain_defconfig BR2_DEFCONFIG_FROM_ENV=1 +BR_TC_ENV += LD_LIBRARY_PATH=$(BR_STAGING)/cross/opt/ext-toolchain/lib/ toolchain.menuconfig: toolchain.config - $(MAKE) $(BR_ENV) BR2_DEFCONFIG=$(BR_PROJECT)/configs/toolchain_defconfig -C $(BR_PROJECT)/../../bsp/buildroot/ menuconfig + $(MAKE) $(BR_TC_ENV) -C $(BR_PROJECT)/../../bsp/buildroot/ menuconfig @echo "Saving defconfig (Waiting) ...." - $(MAKE) $(BR_ENV) BR2_DEFCONFIG=$(BR_PROJECT)/configs/toolchain_defconfig -C $(BR_PROJECT)/../../bsp/buildroot/ savedefconfig + $(MAKE) $(BR_TC_ENV) -C $(BR_PROJECT)/../../bsp/buildroot/ savedefconfig @echo "Saving defconfig done." toolchain.config: $(BR_PROJECT)/configs/toolchain_defconfig @mkdir -p $(BR_STAGING)/buildroot/ @cp $(BR_PROJECT)/configs/toolchain_defconfig $(BR_STAGING)/buildroot/.config - $(MAKE) $(BR_ENV) BR2_DEFCONFIG=$(BR_PROJECT)/configs/toolchain_defconfig -C $(BR_PROJECT)/../../bsp/buildroot/ defconfig + $(MAKE) $(BR_TC_ENV) -C $(BR_PROJECT)/../../bsp/buildroot/ defconfig toolchain: toolchain.config - $(MAKE) $(BR_ENV) BR2_DEFCONFIG=$(BR_PROJECT)/configs/toolchain_defconfig -C $(BR_PROJECT)/../../bsp/buildroot/ $(BR_TARGET) + $(MAKE) $(BR_TC_ENV) -C $(BR_PROJECT)/../../bsp/buildroot/ $(BR_TARGET) toolchain.archive: $(BR_PROJECT)/../../bsp/scripts/toolchain_build.sh $(BR_STAGING)/cross $(BR_LOCAL_BUILDS_ROOT)/delivery/ diff --git a/bsp/scripts/toolchain_build.sh b/bsp/scripts/toolchain_build.sh index 43eac584..bf7866c2 100755 --- a/bsp/scripts/toolchain_build.sh +++ b/bsp/scripts/toolchain_build.sh @@ -17,7 +17,8 @@ BASE=`$cross_compiler_path/bin/*-*-gcc --version | head -n 1 | cut -d ' ' -f 1 | GCC_VERSION=`$cross_compiler_path/bin/*-*-gcc --version | head -n 1 | cut -d ' ' -f 4` VERSION=`$cross_compiler_path/bin/*-*-gcc --version | head -n 1 | cut -d ' ' -f 3 | cut -d '-' -f 1` -LIBC=unknown +# uclibc is the default toolchain +LIBC=uclibc cat configs/toolchain_defconfig | grep BR2_TOOLCHAIN_BUILDROOT_GLIBC if test $? -eq 0; then LIBC=glibc; fi cat configs/toolchain_defconfig | grep BR2_TOOLCHAIN_BUILDROOT_UCLIBC diff --git a/projects/rpi_minimal/configs/buildroot_defconfig b/projects/rpi_minimal/configs/buildroot_defconfig index 6b7bb164..560df8de 100644 --- a/projects/rpi_minimal/configs/buildroot_defconfig +++ b/projects/rpi_minimal/configs/buildroot_defconfig @@ -5,12 +5,19 @@ BR2_HOST_DIR="$(WORKSPACE_DIR)/cross" BR2_PRIMARY_SITE="http://cdn.nadal-fr.com/buildroot" BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://serveur.nadal-fr.com/toolchains/toochain_arm-buildroot-linux-gnueabihf-gcc-7.4.0-glibc-2019.02.6.tgz" +BR2_TOOLCHAIN_EXTERNAL_URL="http://cdn.nadal-fr.com/buildroot/toolchain-external-custom/toochain_arm-buildroot-linux-gnueabihf-gcc-7.4.0-uclibc-2019.02.6.tgz" BR2_TOOLCHAIN_EXTERNAL_GCC_7=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_LOCALE=y +BR2_TOOLCHAIN_EXTERNAL_HAS_SSP=y BR2_TOOLCHAIN_EXTERNAL_CXX=y +BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY=y +BR2_TARGET_GENERIC_HOSTNAME="R-Pi" +BR2_TARGET_GENERIC_ISSUE="Welcome on board!" +BR2_TARGET_GENERIC_ROOT_PASSWD="root" BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_USERS_TABLES="$(BOARD)/configs/users.tbl" +BR2_ROOTFS_OVERLAY="$(BOARD)/ovl" BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi/post-image.sh" BR2_LINUX_KERNEL=y @@ -21,12 +28,14 @@ BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL)/patches/linux/rpi" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-b bcm2708-rpi-b-plus bcm2708-rpi-cm" +BR2_PACKAGE_GDB=y BR2_PACKAGE_RPI_FIRMWARE=y # BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set +BR2_PACKAGE_LINUX_SYSCALL_SUPPORT=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="65M" -# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ROOTFS_TAR_GZIP=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/projects/rpi_minimal/configs/toolchain_defconfig b/projects/rpi_minimal/configs/toolchain_defconfig index 7d12e117..1c30f782 100644 --- a/projects/rpi_minimal/configs/toolchain_defconfig +++ b/projects/rpi_minimal/configs/toolchain_defconfig @@ -3,11 +3,14 @@ BR2_arm1176jzf_s=y BR2_DL_DIR="$(BUILDS_ROOT)/dl" BR2_HOST_DIR="$(WORKSPACE_DIR)/cross" BR2_PRIMARY_SITE="http://cdn.nadal-fr.com/buildroot" -BR2_TOOLCHAIN_BUILDROOT_GLIBC=y BR2_KERNEL_HEADERS_4_14=y +BR2_TOOLCHAIN_BUILDROOT_LOCALE=y +BR2_PTHREAD_DEBUG=y +BR2_TOOLCHAIN_BUILDROOT_USE_SSP=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_PACKAGE_HOST_GDB=y BR2_INIT_NONE=y BR2_SYSTEM_BIN_SH_NONE=y # BR2_PACKAGE_BUSYBOX is not set +BR2_PACKAGE_GDB=y # BR2_TARGET_ROOTFS_TAR is not set