All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2] board/orangepi/orangepi-zero:extlinux, refactoring
@ 2022-01-18 21:58 Sergey Kuzminov
  2022-01-18 22:34 ` Giulio Benetti
  0 siblings, 1 reply; 4+ messages in thread
From: Sergey Kuzminov @ 2022-01-18 21:58 UTC (permalink / raw)
  To: buildroot; +Cc: Sergey Kuzminov

Changes:
- common scenarios for multiple boards to create the SD image: board/orangepi/common;
- extlinux.conf instead of boot.scr;
- exclude FAT partition;
- defconfig refactoring;
- kernel: bump to version 5.16.1;
- u-boot: bump to version 2022.01;
- added BR2_ARM_FPU_NEON_VFPV4;
- added fast_commit for ext4.

Patch required to work:
https://patchwork.ozlabs.org/project/buildroot/patch/20220118063531.2039729-1-giulio.benetti@benettiengineering.com/

Signed-off-by: Sergey Kuzminov <kuzminov.sergey81@gmail.com>
---
 board/orangepi/common/extlinux.conf       |  5 ++
 board/orangepi/common/genimage.cfg        | 20 +++++++
 board/orangepi/common/post-build.sh       | 34 +++++++++++
 board/orangepi/common/uboot-extras.config |  3 +
 board/orangepi/orangepi-zero/boot.cmd     |  9 ---
 board/orangepi/orangepi-zero/genimage.cfg | 36 ------------
 configs/orangepi_zero_defconfig           | 69 ++++++++++++++---------
 7 files changed, 104 insertions(+), 72 deletions(-)
 create mode 100644 board/orangepi/common/extlinux.conf
 create mode 100644 board/orangepi/common/genimage.cfg
 create mode 100755 board/orangepi/common/post-build.sh
 create mode 100644 board/orangepi/common/uboot-extras.config
 delete mode 100644 board/orangepi/orangepi-zero/boot.cmd
 delete mode 100644 board/orangepi/orangepi-zero/genimage.cfg

diff --git a/board/orangepi/common/extlinux.conf b/board/orangepi/common/extlinux.conf
new file mode 100644
index 0000000000..015f29270e
--- /dev/null
+++ b/board/orangepi/common/extlinux.conf
@@ -0,0 +1,5 @@
+LABEL default
+  kernel /boot/%LINUXIMAGE%
+  devicetreedir /boot
+  append root=PARTUUID=%PARTUUID% rootwait console=${console}
+# append root=PARTUUID=%PARTUUID% rootwait console=${console} rootfstype=ext4 quiet panic=10
diff --git a/board/orangepi/common/genimage.cfg b/board/orangepi/common/genimage.cfg
new file mode 100644
index 0000000000..8b80ffb138
--- /dev/null
+++ b/board/orangepi/common/genimage.cfg
@@ -0,0 +1,20 @@
+image sdcard.img {
+	hdimage {
+		partition-table-type = gpt
+		gpt-no-backup = true
+		gpt-location = 1008K # 1MB - 16KB
+	}
+
+	partition u-boot {
+		in-partition-table = false
+		image = "u-boot-sunxi-with-spl.bin"
+		offset = 8K
+		size = 1000K # 1MB - 8KB - 16KB
+	}
+
+	partition rootfs {
+		offset = 1M
+		image = "rootfs.ext4"
+		partition-uuid = %PARTUUID%
+	}
+}
diff --git a/board/orangepi/common/post-build.sh b/board/orangepi/common/post-build.sh
new file mode 100755
index 0000000000..296f94b174
--- /dev/null
+++ b/board/orangepi/common/post-build.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+linux_image()
+{
+	if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then
+		echo "uImage"
+	elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" ${BR2_CONFIG}; then
+		echo "Image"
+	elif grep -Eq "^BR2_LINUX_KERNEL_IMAGEGZ=y$" ${BR2_CONFIG}; then
+		echo "Image.gz"
+	else
+		echo "zImage"
+	fi
+}
+
+generic_getty()
+{
+	if grep -Eq "^BR2_TARGET_GENERIC_GETTY=y$" ${BR2_CONFIG}; then
+		echo ""
+	else
+		echo "s/\s*console=\S*//"
+	fi
+}
+
+PARTUUID="$($HOST_DIR/bin/uuidgen)"
+
+install -d "$TARGET_DIR/boot/extlinux/"
+
+sed -e "$(generic_getty)" \
+	-e "s/%LINUXIMAGE%/$(linux_image)/g" \
+	-e "s/%PARTUUID%/$PARTUUID/g" \
+	"board/orangepi/common/extlinux.conf" > "$TARGET_DIR/boot/extlinux/extlinux.conf"
+
+sed "s/%PARTUUID%/$PARTUUID/g" "board/orangepi/common/genimage.cfg" > "$BINARIES_DIR/genimage.cfg"
diff --git a/board/orangepi/common/uboot-extras.config b/board/orangepi/common/uboot-extras.config
new file mode 100644
index 0000000000..5aa97523d9
--- /dev/null
+++ b/board/orangepi/common/uboot-extras.config
@@ -0,0 +1,3 @@
+CONFIG_BOOTDELAY=0
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="setenv preboot;"
diff --git a/board/orangepi/orangepi-zero/boot.cmd b/board/orangepi/orangepi-zero/boot.cmd
deleted file mode 100644
index d094a64fe5..0000000000
--- a/board/orangepi/orangepi-zero/boot.cmd
+++ /dev/null
@@ -1,9 +0,0 @@
-setenv fdt_high ffffffff
-
-part uuid mmc 0:2 uuid
-setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} rootwait
-
-fatload mmc 0 $kernel_addr_r zImage
-fatload mmc 0 $fdt_addr_r sun8i-h2-plus-orangepi-zero.dtb
-
-bootz $kernel_addr_r - $fdt_addr_r
diff --git a/board/orangepi/orangepi-zero/genimage.cfg b/board/orangepi/orangepi-zero/genimage.cfg
deleted file mode 100644
index 32f5454ae6..0000000000
--- a/board/orangepi/orangepi-zero/genimage.cfg
+++ /dev/null
@@ -1,36 +0,0 @@
-# Minimal SD card image for the OrangePi Zero
-#
-image boot.vfat {
-	vfat {
-		files = {
-			"zImage",
-			"sun8i-h2-plus-orangepi-zero.dtb",
-			"boot.scr"
-		}
-	}
-	size = 10M
-}
-
-image sdcard.img {
-	hdimage {
-	}
-
-	partition u-boot {
-		in-partition-table = "no"
-		image = "u-boot-sunxi-with-spl.bin"
-		offset = 8K
-		size = 1016K # 1MB - 8KB
-	}
-
-	partition boot {
-		partition-type = 0xC
-		bootable = "true"
-		image = "boot.vfat"
-	}
-
-	partition rootfs {
-		partition-type = 0x83
-		image = "rootfs.ext4"
-		size = 512M
-	}
-}
diff --git a/configs/orangepi_zero_defconfig b/configs/orangepi_zero_defconfig
index 1c107b10e6..d1cae2b4f3 100644
--- a/configs/orangepi_zero_defconfig
+++ b/configs/orangepi_zero_defconfig
@@ -1,49 +1,64 @@
+# Architecture
 BR2_arm=y
 BR2_cortex_a7=y
-BR2_ARM_FPU_VFPV4=y
+BR2_ARM_EABIHF=y
+BR2_ARM_FPU_NEON_VFPV4=y
+#BR2_ARM_INSTRUCTIONS_THUMB2=y
+
+# System
+BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Zero"
+BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Zero"
 BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero/patches"
 BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12=y
-BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Zero"
-BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Zero"
 BR2_SYSTEM_DHCP="eth0"
-BR2_LINUX_KERNEL=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.12.2"
-BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
-BR2_LINUX_KERNEL_DTS_SUPPORT=y
-BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h2-plus-orangepi-zero"
-BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-zero/linux-extras.config"
-BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
-BR2_TARGET_ROOTFS_EXT2=y
-BR2_TARGET_ROOTFS_EXT2_4=y
-# BR2_TARGET_ROOTFS_TAR is not set
+
+# Bootloader
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.04"
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_PYTHON3=y
 BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
 BR2_TARGET_UBOOT_SPL=y
 BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
-BR2_PACKAGE_HOST_UBOOT_TOOLS=y
-BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y
-BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/orangepi/orangepi-zero/boot.cmd"
-BR2_PACKAGE_HOST_DOSFSTOOLS=y
-BR2_PACKAGE_HOST_GENIMAGE=y
-BR2_PACKAGE_HOST_MTOOLS=y
-BR2_PACKAGE_HOST_UBOOT_TOOLS=y
+BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/orangepi/common/uboot-extras.config"
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h2-plus-orangepi-zero"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-zero/linux-extras.config"
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16.1"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y
+
+# Filesystem
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="63M"
+BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O ^64bit,fast_commit"
+BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y
+BR2_TARGET_ROOTFS_TAR=n
+
+# Image
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh"
 BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
-BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/orangepi/orangepi-zero/genimage.cfg"
+BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg"
+
+# Required tools to create the SD image
+BR2_PACKAGE_HOST_GENIMAGE=y
 
-# wireless driver and firmware
+# Wireless driver and firmware
 BR2_PACKAGE_XR819_XRADIO=y
 BR2_PACKAGE_ARMBIAN_FIRMWARE=y
 BR2_PACKAGE_ARMBIAN_FIRMWARE_XR819=y
 
-# wireless support
+# Wireless support
 BR2_PACKAGE_IW=y
 BR2_PACKAGE_WIRELESS_TOOLS=y
 BR2_PACKAGE_WIRELESS_TOOLS_LIB=y
@@ -51,5 +66,5 @@ BR2_PACKAGE_WPA_SUPPLICANT=y
 BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
 BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
 
-# spi flash support
+# Spi flash support
 BR2_PACKAGE_MTD=y
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Buildroot] [PATCH v2] board/orangepi/orangepi-zero:extlinux, refactoring
  2022-01-18 21:58 [Buildroot] [PATCH v2] board/orangepi/orangepi-zero:extlinux, refactoring Sergey Kuzminov
@ 2022-01-18 22:34 ` Giulio Benetti
  2022-01-19  7:50   ` Kuzminov Sergey
  0 siblings, 1 reply; 4+ messages in thread
From: Giulio Benetti @ 2022-01-18 22:34 UTC (permalink / raw)
  To: Sergey Kuzminov; +Cc: buildroot

Hi Sergey,

patch subject doesn’t say what you’re doing.
How about:
orangepi/orangepi-zero: bump Linux and U-Boot versions

And in commit log below try to keep it more consistent. Like every change form sounds the same:
- create common scenario…
- use extlinux.conf instead of boot.scr
Etc.

> Il giorno 18 gen 2022, alle ore 22:59, Sergey Kuzminov <kuzminov.sergey81@gmail.com> ha scritto:
> 
> Changes:
> - common scenario for multiple boards to create the SD image: board/orangepi/common;
> - extlinux.conf instead of boot.scr;
> - exclude FAT partition;
> - defconfig refactoring;
> - kernel: bump to version 5.16.1;
> - u-boot: bump to version 2022.01;
> - added BR2_ARM_FPU_NEON_VFPV4;
> - added fast_commit for ext4.
> 
> Patch required to work:
> https://patchwork.ozlabs.org/project/buildroot/patch/20220118063531.2039729-1-giulio.benetti@benettiengineering.com/
> 
> Signed-off-by: Sergey Kuzminov <kuzminov.sergey81@gmail.com>
—-
Here you need to add:
V1->V2:
* changed this
* changed that
So in V3 you also need to add:
V2->V3:
* changed those
* etc.
> ---
> board/orangepi/common/extlinux.conf       |  5 ++
> board/orangepi/common/genimage.cfg        | 20 +++++++
> board/orangepi/common/post-build.sh       | 34 +++++++++++
> board/orangepi/common/uboot-extras.config |  3 +
> board/orangepi/orangepi-zero/boot.cmd     |  9 ---
> board/orangepi/orangepi-zero/genimage.cfg | 36 ------------
> configs/orangepi_zero_defconfig           | 69 ++++++++++++++---------
> 7 files changed, 104 insertions(+), 72 deletions(-)
> create mode 100644 board/orangepi/common/extlinux.conf
> create mode 100644 board/orangepi/common/genimage.cfg
> create mode 100755 board/orangepi/common/post-build.sh
> create mode 100644 board/orangepi/common/uboot-extras.config
> delete mode 100644 board/orangepi/orangepi-zero/boot.cmd
> delete mode 100644 board/orangepi/orangepi-zero/genimage.cfg
> 
> diff --git a/board/orangepi/common/extlinux.conf b/board/orangepi/common/extlinux.conf
> new file mode 100644
> index 0000000000..015f29270e
> --- /dev/null
> +++ b/board/orangepi/common/extlinux.conf
> @@ -0,0 +1,5 @@
> +LABEL default
> +  kernel /boot/%LINUXIMAGE%
> +  devicetreedir /boot
> +  append root=PARTUUID=%PARTUUID% rootwait console=${console}
> +# append root=PARTUUID=%PARTUUID% rootwait console=${console} rootfstype=ext4 quiet panic=10
> diff --git a/board/orangepi/common/genimage.cfg b/board/orangepi/common/genimage.cfg
> new file mode 100644
> index 0000000000..8b80ffb138
> --- /dev/null
> +++ b/board/orangepi/common/genimage.cfg
> @@ -0,0 +1,20 @@
> +image sdcard.img {
> +    hdimage {
> +        partition-table-type = gpt
> +        gpt-no-backup = true
> +        gpt-location = 1008K # 1MB - 16KB
> +    }
> +
> +    partition u-boot {
> +        in-partition-table = false
> +        image = "u-boot-sunxi-with-spl.bin"
> +        offset = 8K
> +        size = 1000K # 1MB - 8KB - 16KB
> +    }
> +
> +    partition rootfs {
> +        offset = 1M
> +        image = "rootfs.ext4"
> +        partition-uuid = %PARTUUID%
> +    }
> +}
> diff --git a/board/orangepi/common/post-build.sh b/board/orangepi/common/post-build.sh
> new file mode 100755
> index 0000000000..296f94b174
> --- /dev/null
> +++ b/board/orangepi/common/post-build.sh
> @@ -0,0 +1,34 @@
> +#!/bin/sh
> +
> +linux_image()
> +{
> +    if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then
> +        echo "uImage"
> +    elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" ${BR2_CONFIG}; then
> +        echo "Image"
> +    elif grep -Eq "^BR2_LINUX_KERNEL_IMAGEGZ=y$" ${BR2_CONFIG}; then
> +        echo "Image.gz"
> +    else
> +        echo "zImage"
> +    fi
> +}
> +
> +generic_getty()
> +{
> +    if grep -Eq "^BR2_TARGET_GENERIC_GETTY=y$" ${BR2_CONFIG}; then
> +        echo ""
> +    else
> +        echo "s/\s*console=\S*//"
> +    fi
> +}
> +
> +PARTUUID="$($HOST_DIR/bin/uuidgen)"
> +
> +install -d "$TARGET_DIR/boot/extlinux/"
> +
> +sed -e "$(generic_getty)" \
> +    -e "s/%LINUXIMAGE%/$(linux_image)/g" \
> +    -e "s/%PARTUUID%/$PARTUUID/g" \
> +    "board/orangepi/common/extlinux.conf" > "$TARGET_DIR/boot/extlinux/extlinux.conf"
> +
> +sed "s/%PARTUUID%/$PARTUUID/g" "board/orangepi/common/genimage.cfg" > "$BINARIES_DIR/genimage.cfg"
> diff --git a/board/orangepi/common/uboot-extras.config b/board/orangepi/common/uboot-extras.config
> new file mode 100644
> index 0000000000..5aa97523d9
> --- /dev/null
> +++ b/board/orangepi/common/uboot-extras.config
> @@ -0,0 +1,3 @@
> +CONFIG_BOOTDELAY=0
> +CONFIG_USE_PREBOOT=y
> +CONFIG_PREBOOT="setenv preboot;"
> diff --git a/board/orangepi/orangepi-zero/boot.cmd b/board/orangepi/orangepi-zero/boot.cmd
> deleted file mode 100644
> index d094a64fe5..0000000000
> --- a/board/orangepi/orangepi-zero/boot.cmd
> +++ /dev/null
> @@ -1,9 +0,0 @@
> -setenv fdt_high ffffffff
> -
> -part uuid mmc 0:2 uuid
> -setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} rootwait
> -
> -fatload mmc 0 $kernel_addr_r zImage
> -fatload mmc 0 $fdt_addr_r sun8i-h2-plus-orangepi-zero.dtb
> -
> -bootz $kernel_addr_r - $fdt_addr_r
> diff --git a/board/orangepi/orangepi-zero/genimage.cfg b/board/orangepi/orangepi-zero/genimage.cfg
> deleted file mode 100644
> index 32f5454ae6..0000000000
> --- a/board/orangepi/orangepi-zero/genimage.cfg
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -# Minimal SD card image for the OrangePi Zero
> -#
> -image boot.vfat {
> -    vfat {
> -        files = {
> -            "zImage",
> -            "sun8i-h2-plus-orangepi-zero.dtb",
> -            "boot.scr"
> -        }
> -    }
> -    size = 10M
> -}
> -
> -image sdcard.img {
> -    hdimage {
> -    }
> -
> -    partition u-boot {
> -        in-partition-table = "no"
> -        image = "u-boot-sunxi-with-spl.bin"
> -        offset = 8K
> -        size = 1016K # 1MB - 8KB
> -    }
> -
> -    partition boot {
> -        partition-type = 0xC
> -        bootable = "true"
> -        image = "boot.vfat"
> -    }
> -
> -    partition rootfs {
> -        partition-type = 0x83
> -        image = "rootfs.ext4"
> -        size = 512M
> -    }
> -}
> diff --git a/configs/orangepi_zero_defconfig b/configs/orangepi_zero_defconfig
> index 1c107b10e6..d1cae2b4f3 100644
> --- a/configs/orangepi_zero_defconfig
> +++ b/configs/orangepi_zero_defconfig
> @@ -1,49 +1,64 @@
> +# Architecture
> BR2_arm=y
> BR2_cortex_a7=y
> -BR2_ARM_FPU_VFPV4=y
> +BR2_ARM_EABIHF=y
> +BR2_ARM_FPU_NEON_VFPV4=y
> +#BR2_ARM_INSTRUCTIONS_THUMB2=y

Is there a specific reason for specifying here not thumb2? So ARM?

> +
> +# System
> +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Zero"
> +BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Zero"
> BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero/patches"
> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
> -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12=y
> -BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Zero"
> -BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Zero"
> BR2_SYSTEM_DHCP="eth0"
> -BR2_LINUX_KERNEL=y
> -BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.12.2"
> -BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
> -BR2_LINUX_KERNEL_DTS_SUPPORT=y
> -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h2-plus-orangepi-zero"
> -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-zero/linux-extras.config"
> -BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
> -BR2_TARGET_ROOTFS_EXT2=y
> -BR2_TARGET_ROOTFS_EXT2_4=y
> -# BR2_TARGET_ROOTFS_TAR is not set
> +
> +# Bootloader
> BR2_TARGET_UBOOT=y
> BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
> BR2_TARGET_UBOOT_CUSTOM_VERSION=y
> -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.04"
> +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01"
> BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero"
> BR2_TARGET_UBOOT_NEEDS_DTC=y
> BR2_TARGET_UBOOT_NEEDS_PYTHON3=y
> BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
> BR2_TARGET_UBOOT_SPL=y
> BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
> -BR2_PACKAGE_HOST_UBOOT_TOOLS=y
> -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y
> -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/orangepi/orangepi-zero/boot.cmd"
> -BR2_PACKAGE_HOST_DOSFSTOOLS=y
> -BR2_PACKAGE_HOST_GENIMAGE=y
> -BR2_PACKAGE_HOST_MTOOLS=y
> -BR2_PACKAGE_HOST_UBOOT_TOOLS=y
> +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/orangepi/common/uboot-extras.config"

Here ^^^ I tend to use .fragment extension instead of .config

> +
> +# Kernel
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h2-plus-orangepi-zero"
> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-zero/linux-extras.config"

Ditto ^^^

> +BR2_LINUX_KERNEL_INSTALL_TARGET=y
> +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16.1"
> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y
> +
> +# Filesystem
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> +BR2_TARGET_ROOTFS_EXT2_SIZE="63M"
> +BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O ^64bit,fast_commit"
> +BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y
> +BR2_TARGET_ROOTFS_TAR=n

Here you should keep the form # BR2_TARGET_ROOTFS_TAR not set
Instead of assigning =n

Best regards
—-
Giulio Benetti
Benetti Engineering sas

> +
> +# Image
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh"
> BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
> -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/orangepi/orangepi-zero/genimage.cfg"
> +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg"
> +
> +# Required tools to create the SD image
> +BR2_PACKAGE_HOST_GENIMAGE=y
> 
> -# wireless driver and firmware
> +# Wireless driver and firmware
> BR2_PACKAGE_XR819_XRADIO=y
> BR2_PACKAGE_ARMBIAN_FIRMWARE=y
> BR2_PACKAGE_ARMBIAN_FIRMWARE_XR819=y
> 
> -# wireless support
> +# Wireless support
> BR2_PACKAGE_IW=y
> BR2_PACKAGE_WIRELESS_TOOLS=y
> BR2_PACKAGE_WIRELESS_TOOLS_LIB=y
> @@ -51,5 +66,5 @@ BR2_PACKAGE_WPA_SUPPLICANT=y
> BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
> BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
> 
> -# spi flash support
> +# Spi flash support
> BR2_PACKAGE_MTD=y
> -- 
> 2.34.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Buildroot] [PATCH v2] board/orangepi/orangepi-zero:extlinux, refactoring
  2022-01-18 22:34 ` Giulio Benetti
@ 2022-01-19  7:50   ` Kuzminov Sergey
  2022-01-19  9:44     ` Giulio Benetti
  0 siblings, 1 reply; 4+ messages in thread
From: Kuzminov Sergey @ 2022-01-19  7:50 UTC (permalink / raw)
  To: Giulio Benetti; +Cc: buildroot

Hi, Giulio.
Thanks for the comments, I'll try to do everything right in the evening.
I would like to consult about BR2_ARM_INSTRUCTIONS_THUMB2.

I tested the build for Orange Zero (Allwinner H2+) using the built-in 
test in the 7-zip archiver and did not notice any performance 
differences between VFPV4, NEON_VFPV4, THUMB2. Most likely, another 
performance testing program is needed to unlock the potential of NEON.

But I was more interested in BR2_ARM_INSTRUCTIONS_THUMB2. As it turned 
out, in my build, all executable files have decreased in size. For 
example busybox 566Kb (THUMB2) vs. 766Kb (VFPV4/NEON_VFPV4). But I do 
not know if there are any disadvantages of THUMB 2. Therefore, I added 
BR2_ARM_INSTRUCTIONS_THUMB 2 to the configuration, but commented so that 
people could see that this mode is possible for this processor and would 
make a choice whether to use it.

Today I found a good article revealing the essence of what is happening: 
https://kmittal82.wordpress.com/2012/02/17/armthumbthumb-2/
What should I do? Leave as is, remove or enable BR2_ARM_INSTRUCTIONS_THUMB2.

19.01.2022 1:34, Giulio Benetti:
> Hi Sergey,
>
> patch subject doesn’t say what you’re doing.
> How about:
> orangepi/orangepi-zero: bump Linux and U-Boot versions
>
> And in commit log below try to keep it more consistent. Like every change form sounds the same:
> - create common scenario…
> - use extlinux.conf instead of boot.scr
> Etc.
>
>> Il giorno 18 gen 2022, alle ore 22:59, Sergey Kuzminov <kuzminov.sergey81@gmail.com> ha scritto:
>>
>> Changes:
>> - common scenario for multiple boards to create the SD image: board/orangepi/common;
>> - extlinux.conf instead of boot.scr;
>> - exclude FAT partition;
>> - defconfig refactoring;
>> - kernel: bump to version 5.16.1;
>> - u-boot: bump to version 2022.01;
>> - added BR2_ARM_FPU_NEON_VFPV4;
>> - added fast_commit for ext4.
>>
>> Patch required to work:
>> https://patchwork.ozlabs.org/project/buildroot/patch/20220118063531.2039729-1-giulio.benetti@benettiengineering.com/
>>
>> Signed-off-by: Sergey Kuzminov <kuzminov.sergey81@gmail.com>
> —-
> Here you need to add:
> V1->V2:
> * changed this
> * changed that
> So in V3 you also need to add:
> V2->V3:
> * changed those
> * etc.
>> ---
>> board/orangepi/common/extlinux.conf       |  5 ++
>> board/orangepi/common/genimage.cfg        | 20 +++++++
>> board/orangepi/common/post-build.sh       | 34 +++++++++++
>> board/orangepi/common/uboot-extras.config |  3 +
>> board/orangepi/orangepi-zero/boot.cmd     |  9 ---
>> board/orangepi/orangepi-zero/genimage.cfg | 36 ------------
>> configs/orangepi_zero_defconfig           | 69 ++++++++++++++---------
>> 7 files changed, 104 insertions(+), 72 deletions(-)
>> create mode 100644 board/orangepi/common/extlinux.conf
>> create mode 100644 board/orangepi/common/genimage.cfg
>> create mode 100755 board/orangepi/common/post-build.sh
>> create mode 100644 board/orangepi/common/uboot-extras.config
>> delete mode 100644 board/orangepi/orangepi-zero/boot.cmd
>> delete mode 100644 board/orangepi/orangepi-zero/genimage.cfg
>>
>> diff --git a/board/orangepi/common/extlinux.conf b/board/orangepi/common/extlinux.conf
>> new file mode 100644
>> index 0000000000..015f29270e
>> --- /dev/null
>> +++ b/board/orangepi/common/extlinux.conf
>> @@ -0,0 +1,5 @@
>> +LABEL default
>> +  kernel /boot/%LINUXIMAGE%
>> +  devicetreedir /boot
>> +  append root=PARTUUID=%PARTUUID% rootwait console=${console}
>> +# append root=PARTUUID=%PARTUUID% rootwait console=${console} rootfstype=ext4 quiet panic=10
>> diff --git a/board/orangepi/common/genimage.cfg b/board/orangepi/common/genimage.cfg
>> new file mode 100644
>> index 0000000000..8b80ffb138
>> --- /dev/null
>> +++ b/board/orangepi/common/genimage.cfg
>> @@ -0,0 +1,20 @@
>> +image sdcard.img {
>> +    hdimage {
>> +        partition-table-type = gpt
>> +        gpt-no-backup = true
>> +        gpt-location = 1008K # 1MB - 16KB
>> +    }
>> +
>> +    partition u-boot {
>> +        in-partition-table = false
>> +        image = "u-boot-sunxi-with-spl.bin"
>> +        offset = 8K
>> +        size = 1000K # 1MB - 8KB - 16KB
>> +    }
>> +
>> +    partition rootfs {
>> +        offset = 1M
>> +        image = "rootfs.ext4"
>> +        partition-uuid = %PARTUUID%
>> +    }
>> +}
>> diff --git a/board/orangepi/common/post-build.sh b/board/orangepi/common/post-build.sh
>> new file mode 100755
>> index 0000000000..296f94b174
>> --- /dev/null
>> +++ b/board/orangepi/common/post-build.sh
>> @@ -0,0 +1,34 @@
>> +#!/bin/sh
>> +
>> +linux_image()
>> +{
>> +    if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then
>> +        echo "uImage"
>> +    elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" ${BR2_CONFIG}; then
>> +        echo "Image"
>> +    elif grep -Eq "^BR2_LINUX_KERNEL_IMAGEGZ=y$" ${BR2_CONFIG}; then
>> +        echo "Image.gz"
>> +    else
>> +        echo "zImage"
>> +    fi
>> +}
>> +
>> +generic_getty()
>> +{
>> +    if grep -Eq "^BR2_TARGET_GENERIC_GETTY=y$" ${BR2_CONFIG}; then
>> +        echo ""
>> +    else
>> +        echo "s/\s*console=\S*//"
>> +    fi
>> +}
>> +
>> +PARTUUID="$($HOST_DIR/bin/uuidgen)"
>> +
>> +install -d "$TARGET_DIR/boot/extlinux/"
>> +
>> +sed -e "$(generic_getty)" \
>> +    -e "s/%LINUXIMAGE%/$(linux_image)/g" \
>> +    -e "s/%PARTUUID%/$PARTUUID/g" \
>> +    "board/orangepi/common/extlinux.conf" > "$TARGET_DIR/boot/extlinux/extlinux.conf"
>> +
>> +sed "s/%PARTUUID%/$PARTUUID/g" "board/orangepi/common/genimage.cfg" > "$BINARIES_DIR/genimage.cfg"
>> diff --git a/board/orangepi/common/uboot-extras.config b/board/orangepi/common/uboot-extras.config
>> new file mode 100644
>> index 0000000000..5aa97523d9
>> --- /dev/null
>> +++ b/board/orangepi/common/uboot-extras.config
>> @@ -0,0 +1,3 @@
>> +CONFIG_BOOTDELAY=0
>> +CONFIG_USE_PREBOOT=y
>> +CONFIG_PREBOOT="setenv preboot;"
>> diff --git a/board/orangepi/orangepi-zero/boot.cmd b/board/orangepi/orangepi-zero/boot.cmd
>> deleted file mode 100644
>> index d094a64fe5..0000000000
>> --- a/board/orangepi/orangepi-zero/boot.cmd
>> +++ /dev/null
>> @@ -1,9 +0,0 @@
>> -setenv fdt_high ffffffff
>> -
>> -part uuid mmc 0:2 uuid
>> -setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} rootwait
>> -
>> -fatload mmc 0 $kernel_addr_r zImage
>> -fatload mmc 0 $fdt_addr_r sun8i-h2-plus-orangepi-zero.dtb
>> -
>> -bootz $kernel_addr_r - $fdt_addr_r
>> diff --git a/board/orangepi/orangepi-zero/genimage.cfg b/board/orangepi/orangepi-zero/genimage.cfg
>> deleted file mode 100644
>> index 32f5454ae6..0000000000
>> --- a/board/orangepi/orangepi-zero/genimage.cfg
>> +++ /dev/null
>> @@ -1,36 +0,0 @@
>> -# Minimal SD card image for the OrangePi Zero
>> -#
>> -image boot.vfat {
>> -    vfat {
>> -        files = {
>> -            "zImage",
>> -            "sun8i-h2-plus-orangepi-zero.dtb",
>> -            "boot.scr"
>> -        }
>> -    }
>> -    size = 10M
>> -}
>> -
>> -image sdcard.img {
>> -    hdimage {
>> -    }
>> -
>> -    partition u-boot {
>> -        in-partition-table = "no"
>> -        image = "u-boot-sunxi-with-spl.bin"
>> -        offset = 8K
>> -        size = 1016K # 1MB - 8KB
>> -    }
>> -
>> -    partition boot {
>> -        partition-type = 0xC
>> -        bootable = "true"
>> -        image = "boot.vfat"
>> -    }
>> -
>> -    partition rootfs {
>> -        partition-type = 0x83
>> -        image = "rootfs.ext4"
>> -        size = 512M
>> -    }
>> -}
>> diff --git a/configs/orangepi_zero_defconfig b/configs/orangepi_zero_defconfig
>> index 1c107b10e6..d1cae2b4f3 100644
>> --- a/configs/orangepi_zero_defconfig
>> +++ b/configs/orangepi_zero_defconfig
>> @@ -1,49 +1,64 @@
>> +# Architecture
>> BR2_arm=y
>> BR2_cortex_a7=y
>> -BR2_ARM_FPU_VFPV4=y
>> +BR2_ARM_EABIHF=y
>> +BR2_ARM_FPU_NEON_VFPV4=y
>> +#BR2_ARM_INSTRUCTIONS_THUMB2=y
> Is there a specific reason for specifying here not thumb2? So ARM?
>
>> +
>> +# System
>> +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Zero"
>> +BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Zero"
>> BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero/patches"
>> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
>> -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12=y
>> -BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Zero"
>> -BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Zero"
>> BR2_SYSTEM_DHCP="eth0"
>> -BR2_LINUX_KERNEL=y
>> -BR2_LINUX_KERNEL_CUSTOM_VERSION=y
>> -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.12.2"
>> -BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
>> -BR2_LINUX_KERNEL_DTS_SUPPORT=y
>> -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h2-plus-orangepi-zero"
>> -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-zero/linux-extras.config"
>> -BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
>> -BR2_TARGET_ROOTFS_EXT2=y
>> -BR2_TARGET_ROOTFS_EXT2_4=y
>> -# BR2_TARGET_ROOTFS_TAR is not set
>> +
>> +# Bootloader
>> BR2_TARGET_UBOOT=y
>> BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
>> BR2_TARGET_UBOOT_CUSTOM_VERSION=y
>> -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.04"
>> +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01"
>> BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero"
>> BR2_TARGET_UBOOT_NEEDS_DTC=y
>> BR2_TARGET_UBOOT_NEEDS_PYTHON3=y
>> BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
>> BR2_TARGET_UBOOT_SPL=y
>> BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
>> -BR2_PACKAGE_HOST_UBOOT_TOOLS=y
>> -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y
>> -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/orangepi/orangepi-zero/boot.cmd"
>> -BR2_PACKAGE_HOST_DOSFSTOOLS=y
>> -BR2_PACKAGE_HOST_GENIMAGE=y
>> -BR2_PACKAGE_HOST_MTOOLS=y
>> -BR2_PACKAGE_HOST_UBOOT_TOOLS=y
>> +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/orangepi/common/uboot-extras.config"
> Here ^^^ I tend to use .fragment extension instead of .config
>
>> +
>> +# Kernel
>> +BR2_LINUX_KERNEL=y
>> +BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
>> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
>> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h2-plus-orangepi-zero"
>> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-zero/linux-extras.config"
> Ditto ^^^
>
>> +BR2_LINUX_KERNEL_INSTALL_TARGET=y
>> +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
>> +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
>> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16.1"
>> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y
>> +
>> +# Filesystem
>> +BR2_TARGET_ROOTFS_EXT2=y
>> +BR2_TARGET_ROOTFS_EXT2_4=y
>> +BR2_TARGET_ROOTFS_EXT2_SIZE="63M"
>> +BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O ^64bit,fast_commit"
>> +BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y
>> +BR2_TARGET_ROOTFS_TAR=n
> Here you should keep the form # BR2_TARGET_ROOTFS_TAR not set
> Instead of assigning =n
>
> Best regards
> —-
> Giulio Benetti
> Benetti Engineering sas
>
>> +
>> +# Image
>> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh"
>> BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
>> -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/orangepi/orangepi-zero/genimage.cfg"
>> +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg"
>> +
>> +# Required tools to create the SD image
>> +BR2_PACKAGE_HOST_GENIMAGE=y
>>
>> -# wireless driver and firmware
>> +# Wireless driver and firmware
>> BR2_PACKAGE_XR819_XRADIO=y
>> BR2_PACKAGE_ARMBIAN_FIRMWARE=y
>> BR2_PACKAGE_ARMBIAN_FIRMWARE_XR819=y
>>
>> -# wireless support
>> +# Wireless support
>> BR2_PACKAGE_IW=y
>> BR2_PACKAGE_WIRELESS_TOOLS=y
>> BR2_PACKAGE_WIRELESS_TOOLS_LIB=y
>> @@ -51,5 +66,5 @@ BR2_PACKAGE_WPA_SUPPLICANT=y
>> BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
>> BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
>>
>> -# spi flash support
>> +# Spi flash support
>> BR2_PACKAGE_MTD=y
>> -- 
>> 2.34.1
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot@buildroot.org
>> https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Buildroot] [PATCH v2] board/orangepi/orangepi-zero:extlinux, refactoring
  2022-01-19  7:50   ` Kuzminov Sergey
@ 2022-01-19  9:44     ` Giulio Benetti
  0 siblings, 0 replies; 4+ messages in thread
From: Giulio Benetti @ 2022-01-19  9:44 UTC (permalink / raw)
  To: Kuzminov Sergey; +Cc: Romain Naour, buildroot

Hi Sergey,

adding Romain in Cc for Thumb2

On 19/01/22 08:50, Kuzminov Sergey wrote:
> Hi, Giulio.
> Thanks for the comments, I'll try to do everything right in the evening.
> I would like to consult about BR2_ARM_INSTRUCTIONS_THUMB2.
> 
> I tested the build for Orange Zero (Allwinner H2+) using the built-in
> test in the 7-zip archiver and did not notice any performance
> differences between VFPV4, NEON_VFPV4, THUMB2. Most likely, another
> performance testing program is needed to unlock the potential of NEON.

Yes, the mix of VFPV4 and NEON is rare, maybe you can appreciate it with 
libnss or other packages that use such optimization. Otherwise NEON 
doesn't get used. But anyway, if it's enabled, we have the chance for it 
to be used. It's there, so better use it :-)

> But I was more interested in BR2_ARM_INSTRUCTIONS_THUMB2. As it turned
> out, in my build, all executable files have decreased in size. For
> example busybox 566Kb (THUMB2) vs. 766Kb (VFPV4/NEON_VFPV4). But I do
> not know if there are any disadvantages of THUMB 2. 

THUMB2 yes, reduces size and it costs very few in term of 
performances(like 2% less), check here:
https://pagefault.blog/2017/05/03/why-and-how-to-enable-arm-thumb-2-instruction-set-in-yocto/

They also state that every piece of the system should then be compiled 
with THUMB2, including Linux.

About disadvantages, I only read sometimes that it can create some 
problem depending on toolchain. But here I leave the question to more 
experienced people than me. Maybe Romain can clarify this.

> Therefore, I added
> BR2_ARM_INSTRUCTIONS_THUMB 2 to the configuration, but commented so that
> people could see that this mode is possible for this processor and would
> make a choice whether to use it.

Yes, but this is not how we want defconfigs. The option is available 
issuing:
# make menuconfig
so one can anyway enable it and give a try. So please remove that 
commented line.

> Today I found a good article revealing the essence of what is happening:
> https://kmittal82.wordpress.com/2012/02/17/armthumbthumb-2/

Yes, this article is good too.

> What should I do? Leave as is, remove or enable BR2_ARM_INSTRUCTIONS_THUMB2.

It can't stay there commented for sure, so if commented you need to 
remove it. Otherwise, like every Microchip cortex-A5 board does, you can 
enable it by default. But for consistency with all the other Allwinner 
SoCs maybe it's better to keep it disabled. Otherwise we should give a 
try to every Allwinner board(many) with THUMB2. It can be done, but I 
would think about it later. I mean, Allwinner with ARM instructions is 
well tested, so I would go for that.

PS: please, next time answer in-line, don't top post :-) Thank you

Best regards
-- 
Giulio Benetti
Benetti Engineering sas

> 19.01.2022 1:34, Giulio Benetti:
>> Hi Sergey,
>>
>> patch subject doesn’t say what you’re doing.
>> How about:
>> orangepi/orangepi-zero: bump Linux and U-Boot versions
>>
>> And in commit log below try to keep it more consistent. Like every change form sounds the same:
>> - create common scenario…
>> - use extlinux.conf instead of boot.scr
>> Etc.
>>
>>> Il giorno 18 gen 2022, alle ore 22:59, Sergey Kuzminov <kuzminov.sergey81@gmail.com> ha scritto:
>>>
>>> Changes:
>>> - common scenario for multiple boards to create the SD image: board/orangepi/common;
>>> - extlinux.conf instead of boot.scr;
>>> - exclude FAT partition;
>>> - defconfig refactoring;
>>> - kernel: bump to version 5.16.1;
>>> - u-boot: bump to version 2022.01;
>>> - added BR2_ARM_FPU_NEON_VFPV4;
>>> - added fast_commit for ext4.
>>>
>>> Patch required to work:
>>> https://patchwork.ozlabs.org/project/buildroot/patch/20220118063531.2039729-1-giulio.benetti@benettiengineering.com/
>>>
>>> Signed-off-by: Sergey Kuzminov <kuzminov.sergey81@gmail.com>
>> —-
>> Here you need to add:
>> V1->V2:
>> * changed this
>> * changed that
>> So in V3 you also need to add:
>> V2->V3:
>> * changed those
>> * etc.
>>> ---
>>> board/orangepi/common/extlinux.conf       |  5 ++
>>> board/orangepi/common/genimage.cfg        | 20 +++++++
>>> board/orangepi/common/post-build.sh       | 34 +++++++++++
>>> board/orangepi/common/uboot-extras.config |  3 +
>>> board/orangepi/orangepi-zero/boot.cmd     |  9 ---
>>> board/orangepi/orangepi-zero/genimage.cfg | 36 ------------
>>> configs/orangepi_zero_defconfig           | 69 ++++++++++++++---------
>>> 7 files changed, 104 insertions(+), 72 deletions(-)
>>> create mode 100644 board/orangepi/common/extlinux.conf
>>> create mode 100644 board/orangepi/common/genimage.cfg
>>> create mode 100755 board/orangepi/common/post-build.sh
>>> create mode 100644 board/orangepi/common/uboot-extras.config
>>> delete mode 100644 board/orangepi/orangepi-zero/boot.cmd
>>> delete mode 100644 board/orangepi/orangepi-zero/genimage.cfg
>>>
>>> diff --git a/board/orangepi/common/extlinux.conf b/board/orangepi/common/extlinux.conf
>>> new file mode 100644
>>> index 0000000000..015f29270e
>>> --- /dev/null
>>> +++ b/board/orangepi/common/extlinux.conf
>>> @@ -0,0 +1,5 @@
>>> +LABEL default
>>> +  kernel /boot/%LINUXIMAGE%
>>> +  devicetreedir /boot
>>> +  append root=PARTUUID=%PARTUUID% rootwait console=${console}
>>> +# append root=PARTUUID=%PARTUUID% rootwait console=${console} rootfstype=ext4 quiet panic=10
>>> diff --git a/board/orangepi/common/genimage.cfg b/board/orangepi/common/genimage.cfg
>>> new file mode 100644
>>> index 0000000000..8b80ffb138
>>> --- /dev/null
>>> +++ b/board/orangepi/common/genimage.cfg
>>> @@ -0,0 +1,20 @@
>>> +image sdcard.img {
>>> +    hdimage {
>>> +        partition-table-type = gpt
>>> +        gpt-no-backup = true
>>> +        gpt-location = 1008K # 1MB - 16KB
>>> +    }
>>> +
>>> +    partition u-boot {
>>> +        in-partition-table = false
>>> +        image = "u-boot-sunxi-with-spl.bin"
>>> +        offset = 8K
>>> +        size = 1000K # 1MB - 8KB - 16KB
>>> +    }
>>> +
>>> +    partition rootfs {
>>> +        offset = 1M
>>> +        image = "rootfs.ext4"
>>> +        partition-uuid = %PARTUUID%
>>> +    }
>>> +}
>>> diff --git a/board/orangepi/common/post-build.sh b/board/orangepi/common/post-build.sh
>>> new file mode 100755
>>> index 0000000000..296f94b174
>>> --- /dev/null
>>> +++ b/board/orangepi/common/post-build.sh
>>> @@ -0,0 +1,34 @@
>>> +#!/bin/sh
>>> +
>>> +linux_image()
>>> +{
>>> +    if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then
>>> +        echo "uImage"
>>> +    elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" ${BR2_CONFIG}; then
>>> +        echo "Image"
>>> +    elif grep -Eq "^BR2_LINUX_KERNEL_IMAGEGZ=y$" ${BR2_CONFIG}; then
>>> +        echo "Image.gz"
>>> +    else
>>> +        echo "zImage"
>>> +    fi
>>> +}
>>> +
>>> +generic_getty()
>>> +{
>>> +    if grep -Eq "^BR2_TARGET_GENERIC_GETTY=y$" ${BR2_CONFIG}; then
>>> +        echo ""
>>> +    else
>>> +        echo "s/\s*console=\S*//"
>>> +    fi
>>> +}
>>> +
>>> +PARTUUID="$($HOST_DIR/bin/uuidgen)"
>>> +
>>> +install -d "$TARGET_DIR/boot/extlinux/"
>>> +
>>> +sed -e "$(generic_getty)" \
>>> +    -e "s/%LINUXIMAGE%/$(linux_image)/g" \
>>> +    -e "s/%PARTUUID%/$PARTUUID/g" \
>>> +    "board/orangepi/common/extlinux.conf" > "$TARGET_DIR/boot/extlinux/extlinux.conf"
>>> +
>>> +sed "s/%PARTUUID%/$PARTUUID/g" "board/orangepi/common/genimage.cfg" > "$BINARIES_DIR/genimage.cfg"
>>> diff --git a/board/orangepi/common/uboot-extras.config b/board/orangepi/common/uboot-extras.config
>>> new file mode 100644
>>> index 0000000000..5aa97523d9
>>> --- /dev/null
>>> +++ b/board/orangepi/common/uboot-extras.config
>>> @@ -0,0 +1,3 @@
>>> +CONFIG_BOOTDELAY=0
>>> +CONFIG_USE_PREBOOT=y
>>> +CONFIG_PREBOOT="setenv preboot;"
>>> diff --git a/board/orangepi/orangepi-zero/boot.cmd b/board/orangepi/orangepi-zero/boot.cmd
>>> deleted file mode 100644
>>> index d094a64fe5..0000000000
>>> --- a/board/orangepi/orangepi-zero/boot.cmd
>>> +++ /dev/null
>>> @@ -1,9 +0,0 @@
>>> -setenv fdt_high ffffffff
>>> -
>>> -part uuid mmc 0:2 uuid
>>> -setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} rootwait
>>> -
>>> -fatload mmc 0 $kernel_addr_r zImage
>>> -fatload mmc 0 $fdt_addr_r sun8i-h2-plus-orangepi-zero.dtb
>>> -
>>> -bootz $kernel_addr_r - $fdt_addr_r
>>> diff --git a/board/orangepi/orangepi-zero/genimage.cfg b/board/orangepi/orangepi-zero/genimage.cfg
>>> deleted file mode 100644
>>> index 32f5454ae6..0000000000
>>> --- a/board/orangepi/orangepi-zero/genimage.cfg
>>> +++ /dev/null
>>> @@ -1,36 +0,0 @@
>>> -# Minimal SD card image for the OrangePi Zero
>>> -#
>>> -image boot.vfat {
>>> -    vfat {
>>> -        files = {
>>> -            "zImage",
>>> -            "sun8i-h2-plus-orangepi-zero.dtb",
>>> -            "boot.scr"
>>> -        }
>>> -    }
>>> -    size = 10M
>>> -}
>>> -
>>> -image sdcard.img {
>>> -    hdimage {
>>> -    }
>>> -
>>> -    partition u-boot {
>>> -        in-partition-table = "no"
>>> -        image = "u-boot-sunxi-with-spl.bin"
>>> -        offset = 8K
>>> -        size = 1016K # 1MB - 8KB
>>> -    }
>>> -
>>> -    partition boot {
>>> -        partition-type = 0xC
>>> -        bootable = "true"
>>> -        image = "boot.vfat"
>>> -    }
>>> -
>>> -    partition rootfs {
>>> -        partition-type = 0x83
>>> -        image = "rootfs.ext4"
>>> -        size = 512M
>>> -    }
>>> -}
>>> diff --git a/configs/orangepi_zero_defconfig b/configs/orangepi_zero_defconfig
>>> index 1c107b10e6..d1cae2b4f3 100644
>>> --- a/configs/orangepi_zero_defconfig
>>> +++ b/configs/orangepi_zero_defconfig
>>> @@ -1,49 +1,64 @@
>>> +# Architecture
>>> BR2_arm=y
>>> BR2_cortex_a7=y
>>> -BR2_ARM_FPU_VFPV4=y
>>> +BR2_ARM_EABIHF=y
>>> +BR2_ARM_FPU_NEON_VFPV4=y
>>> +#BR2_ARM_INSTRUCTIONS_THUMB2=y
>> Is there a specific reason for specifying here not thumb2? So ARM?
>>
>>> +
>>> +# System
>>> +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Zero"
>>> +BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Zero"
>>> BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero/patches"
>>> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
>>> -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12=y
>>> -BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Zero"
>>> -BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Zero"
>>> BR2_SYSTEM_DHCP="eth0"
>>> -BR2_LINUX_KERNEL=y
>>> -BR2_LINUX_KERNEL_CUSTOM_VERSION=y
>>> -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.12.2"
>>> -BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
>>> -BR2_LINUX_KERNEL_DTS_SUPPORT=y
>>> -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h2-plus-orangepi-zero"
>>> -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-zero/linux-extras.config"
>>> -BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
>>> -BR2_TARGET_ROOTFS_EXT2=y
>>> -BR2_TARGET_ROOTFS_EXT2_4=y
>>> -# BR2_TARGET_ROOTFS_TAR is not set
>>> +
>>> +# Bootloader
>>> BR2_TARGET_UBOOT=y
>>> BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
>>> BR2_TARGET_UBOOT_CUSTOM_VERSION=y
>>> -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.04"
>>> +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01"
>>> BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero"
>>> BR2_TARGET_UBOOT_NEEDS_DTC=y
>>> BR2_TARGET_UBOOT_NEEDS_PYTHON3=y
>>> BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
>>> BR2_TARGET_UBOOT_SPL=y
>>> BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
>>> -BR2_PACKAGE_HOST_UBOOT_TOOLS=y
>>> -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y
>>> -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/orangepi/orangepi-zero/boot.cmd"
>>> -BR2_PACKAGE_HOST_DOSFSTOOLS=y
>>> -BR2_PACKAGE_HOST_GENIMAGE=y
>>> -BR2_PACKAGE_HOST_MTOOLS=y
>>> -BR2_PACKAGE_HOST_UBOOT_TOOLS=y
>>> +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/orangepi/common/uboot-extras.config"
>> Here ^^^ I tend to use .fragment extension instead of .config
>>
>>> +
>>> +# Kernel
>>> +BR2_LINUX_KERNEL=y
>>> +BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
>>> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
>>> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h2-plus-orangepi-zero"
>>> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-zero/linux-extras.config"
>> Ditto ^^^
>>
>>> +BR2_LINUX_KERNEL_INSTALL_TARGET=y
>>> +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
>>> +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
>>> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16.1"
>>> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y
>>> +
>>> +# Filesystem
>>> +BR2_TARGET_ROOTFS_EXT2=y
>>> +BR2_TARGET_ROOTFS_EXT2_4=y
>>> +BR2_TARGET_ROOTFS_EXT2_SIZE="63M"
>>> +BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O ^64bit,fast_commit"
>>> +BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y
>>> +BR2_TARGET_ROOTFS_TAR=n
>> Here you should keep the form # BR2_TARGET_ROOTFS_TAR not set
>> Instead of assigning =n
>>
>> Best regards
>> —-
>> Giulio Benetti
>> Benetti Engineering sas
>>
>>> +
>>> +# Image
>>> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh"
>>> BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
>>> -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/orangepi/orangepi-zero/genimage.cfg"
>>> +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg"
>>> +
>>> +# Required tools to create the SD image
>>> +BR2_PACKAGE_HOST_GENIMAGE=y
>>>
>>> -# wireless driver and firmware
>>> +# Wireless driver and firmware
>>> BR2_PACKAGE_XR819_XRADIO=y
>>> BR2_PACKAGE_ARMBIAN_FIRMWARE=y
>>> BR2_PACKAGE_ARMBIAN_FIRMWARE_XR819=y
>>>
>>> -# wireless support
>>> +# Wireless support
>>> BR2_PACKAGE_IW=y
>>> BR2_PACKAGE_WIRELESS_TOOLS=y
>>> BR2_PACKAGE_WIRELESS_TOOLS_LIB=y
>>> @@ -51,5 +66,5 @@ BR2_PACKAGE_WPA_SUPPLICANT=y
>>> BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
>>> BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
>>>
>>> -# spi flash support
>>> +# Spi flash support
>>> BR2_PACKAGE_MTD=y
>>> -- 
>>> 2.34.1
>>>
>>> _______________________________________________
>>> buildroot mailing list
>>> buildroot@buildroot.org
>>> https://lists.buildroot.org/mailman/listinfo/buildroot
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
> 

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-01-19  9:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-18 21:58 [Buildroot] [PATCH v2] board/orangepi/orangepi-zero:extlinux, refactoring Sergey Kuzminov
2022-01-18 22:34 ` Giulio Benetti
2022-01-19  7:50   ` Kuzminov Sergey
2022-01-19  9:44     ` Giulio Benetti

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.