Message ID | 20230710212151.574040-2-robertoxmed@gmail.com |
---|---|
State | Changes Requested |
Headers | show |
Series | configs/roc_rk3399_pc: Bring back and update the | expand |
Hello Roberto, all, ... > Signed-off-by: Roberto Medina <robertoxmed@gmail.com> > Tested-by: Kilian Zinnecker <kilian.zinnecker@mail.de> ... Reviewed-by: Kilian Zinnecker <kilian.zinnecker@mail.de> Tested-by: Kilian Zinnecker <kilian.zinnecker@mail.de> Tested v2, but again build test only (I don't have that board). I also had a look at it and it looks good to me. Best regards, Kilian
Hi Kilian, all, On 7/14/23 20:08, Kilian Zinnecker wrote: > Reviewed-by: Kilian Zinnecker <kilian.zinnecker@mail.de> Tested-by: > Kilian Zinnecker <kilian.zinnecker@mail.de> Tested v2, but again build > test only (I don't have that board). I also had a look at it and it > looks good to me. Any suggestion on how to get this merged to upstream? Or any further changes required? Thank you in advance. Roberto
On Mon, Jul 24, 2023 at 7:02 AM Roberto Medina <robertoxmed@gmail.com> wrote: > > Hi Kilian, all, > > On 7/14/23 20:08, Kilian Zinnecker wrote: > > Reviewed-by: Kilian Zinnecker <kilian.zinnecker@mail.de> Tested-by: > > Kilian Zinnecker <kilian.zinnecker@mail.de> Tested v2, but again build > > test only (I don't have that board). I also had a look at it and it > > looks good to me. > > > Any suggestion on how to get this merged to upstream? Or any further > changes required? This particular model is actually a Libre Computer product. Firefly no longer sells this although they are still the ODM. But this is nit and doesn't really affect us. We will start maintaining this board directly in buildroot in the next month or so. > > Thank you in advance. > > Roberto > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
Hello Roberto, Thanks, this looks mostly good, but I have a few comments/questions. On Mon, 10 Jul 2023 23:21:47 +0200 Roberto Medina <robertoxmed@gmail.com> wrote: > * Uses a more recent version of TF-A which solves the building issue for > this board. > * Bump on U-Boot version that was used for this configuration. > * Some minor fixes in the post-build.sh script using `shellcheck`. > > Signed-off-by: Roberto Medina <robertoxmed@gmail.com> > Tested-by: Kilian Zinnecker <kilian.zinnecker@mail.de> > --- > board/firefly/roc-rk3399-pc/extlinux.conf | 4 +++ > board/firefly/roc-rk3399-pc/genimage.cfg | 22 +++++++++++++ > board/firefly/roc-rk3399-pc/post-build.sh | 5 +++ > board/firefly/roc-rk3399-pc/readme.txt | 40 +++++++++++++++++++++++ > configs/roc_pc_rk3399_defconfig | 38 +++++++++++++++++++++ > 5 files changed, 109 insertions(+) Could you add an entry in the DEVELOPERS file referencing you as the developer/maintainer for configs/roc_pc_rk3399_defconfig and board/firefly/roc-rk3399-pc/ ? > diff --git a/configs/roc_pc_rk3399_defconfig b/configs/roc_pc_rk3399_defconfig > new file mode 100644 > index 0000000000..91574f1d61 > --- /dev/null > +++ b/configs/roc_pc_rk3399_defconfig > @@ -0,0 +1,38 @@ > +BR2_aarch64=y > +BR2_cortex_a72_a53=y > +BR2_BINUTILS_VERSION_2_40_X=y Why are you forcing binutils 2.40 here? Any reason? This is why I didn't apply, because I don't understand if there's a solid reason for you to do that. > +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 You need to set a fixed version of the Linux kernel. > +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="240M" Why this custom size rather than leaving the default? > +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.9.0" Could you use v2.9 instead? It's pointing to the same commit, but it will make sure that our patch boot/arm-trusted-firmware/v2.9/0001-build-tools-avoid-unnecessary-link.patch gets applied. > +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 You need to set a fixed version of U-Boot. > +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="roc-pc-rk3399" > +BR2_TARGET_UBOOT_NEEDS_DTC=y > +BR2_TARGET_UBOOT_NEEDS_PYTHON3=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 Not sure here why BR2_PACKAGE_HOST_UBOOT_TOOLS=y is needed? Could you rework your patch to address those small aspects and send an updated version? Thanks a lot! Thomas Petazzoni
Hi Thomas,
Thank you for your reviews. I submitted a v3 for review but I will
answer the following here as well.
On 8/8/23 23:06, Thomas Petazzoni wrote:
> Why this custom size rather than leaving the default?
If I leave this value as default I will get the following error:
Copying files into the device: __populate_fs: Could not alocate block in
ext2 filesystem while writing file "stm_core.ko".
The error message then suggests to increase the filesystem size.
Best,
Roberto
On Fri, 11 Aug 2023 18:28:43 +0200 Roberto Medina <robertoxmed@gmail.com> wrote: > Thank you for your reviews. I submitted a v3 for review but I will > answer the following here as well. > > On 8/8/23 23:06, Thomas Petazzoni wrote: > > Why this custom size rather than leaving the default? > > If I leave this value as default I will get the following error: > > Copying files into the device: __populate_fs: Could not alocate block in > ext2 filesystem while writing file "stm_core.ko". This indeed means that what's on the rootfs exceeds the default ext2/ext4 filesystem image size, so increasing it is fine. Thanks, Thomas
diff --git a/board/firefly/roc-rk3399-pc/extlinux.conf b/board/firefly/roc-rk3399-pc/extlinux.conf new file mode 100644 index 0000000000..50a358fadc --- /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 0000000000..966c869273 --- /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/post-build.sh b/board/firefly/roc-rk3399-pc/post-build.sh new file mode 100755 index 0000000000..d84a5da0b0 --- /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 0000000000..8a6f1cdee6 --- /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/configs/roc_pc_rk3399_defconfig b/configs/roc_pc_rk3399_defconfig new file mode 100644 index 0000000000..91574f1d61 --- /dev/null +++ b/configs/roc_pc_rk3399_defconfig @@ -0,0 +1,38 @@ +BR2_aarch64=y +BR2_cortex_a72_a53=y +BR2_BINUTILS_VERSION_2_40_X=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_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="240M" +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.9.0" +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_BOARD_DEFCONFIG="roc-pc-rk3399" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=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