* [Buildroot] [PATCH v2] configs/aarch64_efi: bump Linux to 6.10.12
@ 2024-10-02 11:22 Vincent Stehlé
2024-10-02 19:10 ` Julien Olivain
2024-10-22 19:04 ` Julien Olivain
0 siblings, 2 replies; 3+ messages in thread
From: Vincent Stehlé @ 2024-10-02 11:22 UTC (permalink / raw)
To: buildroot; +Cc: Julien Olivain, Vincent Stehlé
While at it:
- Turn on hashes verification and add a hash for the Linux kernel.
- Linux kernel needs host-python3; add it.
- Convert to `make savedefconfig' format.
- Fix shellcheck warnings in our post-image script and update
.checkpackageignore.
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Erico Nunes <nunes.erico@gmail.com>
Cc: Dick Olsson <hi@senzilla.io>
Cc: Julien Olivain <ju.o@free.fr>
---
Changes v1 -> v2:
- Convert to `make savedefconfig' format (suggested by Julien)
- Add host-python3 for Linux kernel (suggested by Julien)
.checkpackageignore | 2 --
| 1 +
board/aarch64-efi/patches/linux/linux.hash | 2 ++
board/aarch64-efi/post-image.sh | 4 +--
configs/aarch64_efi_defconfig | 35 ++++++-------------
5 files changed, 16 insertions(+), 28 deletions(-)
create mode 120000 board/aarch64-efi/patches/linux-headers/linux-headers.hash
create mode 100644 board/aarch64-efi/patches/linux/linux.hash
diff --git a/.checkpackageignore b/.checkpackageignore
index 0cc742bf09..fed8a5c2b6 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -1,4 +1,3 @@
-board/aarch64-efi/post-image.sh Shellcheck
board/amarula/vyasa/post-build.sh Shellcheck
board/andes/ae350/patches/uboot/0001-mmc-ftsdc010_mci-Support-DTS-of-ftsdc010-driver-for-.patch lib_patch.Upstream
board/andes/ae350/patches/uboot/0002-spl-Align-device-tree-blob-address-at-8-byte-boundar.patch lib_patch.Upstream
@@ -106,7 +105,6 @@ boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch lib_patch.Upstream
boot/syslinux/0014-Fix-build-with-binutils-note-gnu-property-section.patch lib_patch.Upstream
boot/syslinux/0016-Workaround-multiple-definition-of-symbol-errors.patch lib_patch.Upstream
boot/syslinux/0017-Replace-builtin-strlen-that-appears-to-get-optimized.patch lib_patch.Upstream
-configs/aarch64_efi_defconfig lib_defconfig.ForceCheckHash
configs/am574x_idk_defconfig lib_defconfig.ForceCheckHash
configs/andes_ae350_45_defconfig lib_defconfig.ForceCheckHash
configs/arcturus_ucls1012a_defconfig lib_defconfig.ForceCheckHash
--git a/board/aarch64-efi/patches/linux-headers/linux-headers.hash b/board/aarch64-efi/patches/linux-headers/linux-headers.hash
new file mode 120000
index 0000000000..5808d92afe
--- /dev/null
+++ b/board/aarch64-efi/patches/linux-headers/linux-headers.hash
@@ -0,0 +1 @@
+../linux/linux.hash
\ No newline at end of file
diff --git a/board/aarch64-efi/patches/linux/linux.hash b/board/aarch64-efi/patches/linux/linux.hash
new file mode 100644
index 0000000000..20941a269b
--- /dev/null
+++ b/board/aarch64-efi/patches/linux/linux.hash
@@ -0,0 +1,2 @@
+# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
+sha256 524858852f5869a9ef17de8b1e6e7faf05bcb2c462bc96b3c24dbf82ede373cf linux-6.10.12.tar.xz
diff --git a/board/aarch64-efi/post-image.sh b/board/aarch64-efi/post-image.sh
index f0214dc866..1aef15ef6f 100755
--- a/board/aarch64-efi/post-image.sh
+++ b/board/aarch64-efi/post-image.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-BOARD_DIR="$(dirname $0)"
+BOARD_DIR=$(dirname "$0")
-cp -f ${BOARD_DIR}/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
+cp -f "${BOARD_DIR}/grub.cfg" "${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg"
diff --git a/configs/aarch64_efi_defconfig b/configs/aarch64_efi_defconfig
index 443113e47b..9f284ff74b 100644
--- a/configs/aarch64_efi_defconfig
+++ b/configs/aarch64_efi_defconfig
@@ -1,34 +1,21 @@
-# Architecture
BR2_aarch64=y
-
-# System
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_10=y
+BR2_GLOBAL_PATCH_DIR="board/aarch64-efi/patches"
+BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
-
-## Required tools to create bootable media
-BR2_PACKAGE_HOST_GENIMAGE=y
-
-# Bootloader
-BR2_TARGET_GRUB2=y
-BR2_TARGET_GRUB2_ARM64_EFI=y
-
-# Filesystem / image
-BR2_TARGET_ROOTFS_EXT2=y
-BR2_TARGET_ROOTFS_EXT2_4=y
-BR2_TARGET_ROOTFS_EXT2_SIZE="200M"
-# BR2_TARGET_ROOTFS_TAR is not set
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/aarch64-efi/post-image.sh support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/aarch64-efi/genimage-efi.cfg"
-
-# Linux headers same as kernel, a 5.15 series
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y
-
-# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.4"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.10.12"
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
-
-# Host tools for genimage
+BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3=y
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="200M"
+# BR2_TARGET_ROOTFS_TAR is not set
+BR2_TARGET_GRUB2=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
--
2.45.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH v2] configs/aarch64_efi: bump Linux to 6.10.12
2024-10-02 11:22 [Buildroot] [PATCH v2] configs/aarch64_efi: bump Linux to 6.10.12 Vincent Stehlé
@ 2024-10-02 19:10 ` Julien Olivain
2024-10-22 19:04 ` Julien Olivain
1 sibling, 0 replies; 3+ messages in thread
From: Julien Olivain @ 2024-10-02 19:10 UTC (permalink / raw)
To: Vincent Stehlé; +Cc: buildroot
Hi Vincent, All,
Thank you for the update!
On 02/10/2024 13:22, Vincent Stehlé wrote:
> While at it:
> - Turn on hashes verification and add a hash for the Linux kernel.
> - Linux kernel needs host-python3; add it.
> - Convert to `make savedefconfig' format.
> - Fix shellcheck warnings in our post-image script and update
> .checkpackageignore.
>
Reviewed-by: Julien Olivain <ju.o@free.fr>
> Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
> Cc: Erico Nunes <nunes.erico@gmail.com>
> Cc: Dick Olsson <hi@senzilla.io>
> Cc: Julien Olivain <ju.o@free.fr>
> ---
>
>
> Changes v1 -> v2:
> - Convert to `make savedefconfig' format (suggested by Julien)
> - Add host-python3 for Linux kernel (suggested by Julien)
>
>
> .checkpackageignore | 2 --
> .../patches/linux-headers/linux-headers.hash | 1 +
> board/aarch64-efi/patches/linux/linux.hash | 2 ++
> board/aarch64-efi/post-image.sh | 4 +--
> configs/aarch64_efi_defconfig | 35 ++++++-------------
> 5 files changed, 16 insertions(+), 28 deletions(-)
> create mode 120000
> board/aarch64-efi/patches/linux-headers/linux-headers.hash
> create mode 100644 board/aarch64-efi/patches/linux/linux.hash
>
> diff --git a/.checkpackageignore b/.checkpackageignore
> index 0cc742bf09..fed8a5c2b6 100644
> --- a/.checkpackageignore
> +++ b/.checkpackageignore
> @@ -1,4 +1,3 @@
> -board/aarch64-efi/post-image.sh Shellcheck
> board/amarula/vyasa/post-build.sh Shellcheck
>
> board/andes/ae350/patches/uboot/0001-mmc-ftsdc010_mci-Support-DTS-of-ftsdc010-driver-for-.patch
> lib_patch.Upstream
>
> board/andes/ae350/patches/uboot/0002-spl-Align-device-tree-blob-address-at-8-byte-boundar.patch
> lib_patch.Upstream
> @@ -106,7 +105,6 @@
> boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch
> lib_patch.Upstream
>
> boot/syslinux/0014-Fix-build-with-binutils-note-gnu-property-section.patch
> lib_patch.Upstream
>
> boot/syslinux/0016-Workaround-multiple-definition-of-symbol-errors.patch
> lib_patch.Upstream
>
> boot/syslinux/0017-Replace-builtin-strlen-that-appears-to-get-optimized.patch
> lib_patch.Upstream
> -configs/aarch64_efi_defconfig lib_defconfig.ForceCheckHash
> configs/am574x_idk_defconfig lib_defconfig.ForceCheckHash
> configs/andes_ae350_45_defconfig lib_defconfig.ForceCheckHash
> configs/arcturus_ucls1012a_defconfig lib_defconfig.ForceCheckHash
> diff --git a/board/aarch64-efi/patches/linux-headers/linux-headers.hash
> b/board/aarch64-efi/patches/linux-headers/linux-headers.hash
> new file mode 120000
> index 0000000000..5808d92afe
> --- /dev/null
> +++ b/board/aarch64-efi/patches/linux-headers/linux-headers.hash
> @@ -0,0 +1 @@
> +../linux/linux.hash
> \ No newline at end of file
> diff --git a/board/aarch64-efi/patches/linux/linux.hash
> b/board/aarch64-efi/patches/linux/linux.hash
> new file mode 100644
> index 0000000000..20941a269b
> --- /dev/null
> +++ b/board/aarch64-efi/patches/linux/linux.hash
> @@ -0,0 +1,2 @@
> +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
> +sha256
> 524858852f5869a9ef17de8b1e6e7faf05bcb2c462bc96b3c24dbf82ede373cf
> linux-6.10.12.tar.xz
> diff --git a/board/aarch64-efi/post-image.sh
> b/board/aarch64-efi/post-image.sh
> index f0214dc866..1aef15ef6f 100755
> --- a/board/aarch64-efi/post-image.sh
> +++ b/board/aarch64-efi/post-image.sh
> @@ -1,5 +1,5 @@
> #!/bin/sh
>
> -BOARD_DIR="$(dirname $0)"
> +BOARD_DIR=$(dirname "$0")
>
> -cp -f ${BOARD_DIR}/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
> +cp -f "${BOARD_DIR}/grub.cfg"
> "${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg"
> diff --git a/configs/aarch64_efi_defconfig
> b/configs/aarch64_efi_defconfig
> index 443113e47b..9f284ff74b 100644
> --- a/configs/aarch64_efi_defconfig
> +++ b/configs/aarch64_efi_defconfig
> @@ -1,34 +1,21 @@
> -# Architecture
> BR2_aarch64=y
> -
> -# System
> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_10=y
> +BR2_GLOBAL_PATCH_DIR="board/aarch64-efi/patches"
> +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> -
> -## Required tools to create bootable media
> -BR2_PACKAGE_HOST_GENIMAGE=y
> -
> -# Bootloader
> -BR2_TARGET_GRUB2=y
> -BR2_TARGET_GRUB2_ARM64_EFI=y
> -
> -# Filesystem / image
> -BR2_TARGET_ROOTFS_EXT2=y
> -BR2_TARGET_ROOTFS_EXT2_4=y
> -BR2_TARGET_ROOTFS_EXT2_SIZE="200M"
> -# BR2_TARGET_ROOTFS_TAR is not set
> BR2_ROOTFS_POST_IMAGE_SCRIPT="board/aarch64-efi/post-image.sh
> support/scripts/genimage.sh"
> BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/aarch64-efi/genimage-efi.cfg"
> -
> -# Linux headers same as kernel, a 5.15 series
> -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y
> -
> -# Kernel
> BR2_LINUX_KERNEL=y
> BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.4"
> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.10.12"
> BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
> BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
> -
> -# Host tools for genimage
> +BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3=y
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> +BR2_TARGET_ROOTFS_EXT2_SIZE="200M"
> +# BR2_TARGET_ROOTFS_TAR is not set
> +BR2_TARGET_GRUB2=y
> BR2_PACKAGE_HOST_DOSFSTOOLS=y
> +BR2_PACKAGE_HOST_GENIMAGE=y
> BR2_PACKAGE_HOST_MTOOLS=y
> --
> 2.45.2
Best regards,
Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH v2] configs/aarch64_efi: bump Linux to 6.10.12
2024-10-02 11:22 [Buildroot] [PATCH v2] configs/aarch64_efi: bump Linux to 6.10.12 Vincent Stehlé
2024-10-02 19:10 ` Julien Olivain
@ 2024-10-22 19:04 ` Julien Olivain
1 sibling, 0 replies; 3+ messages in thread
From: Julien Olivain @ 2024-10-22 19:04 UTC (permalink / raw)
To: Vincent Stehlé; +Cc: buildroot
Hi Vincent, All,
On 02/10/2024 13:22, Vincent Stehlé wrote:
> While at it:
> - Turn on hashes verification and add a hash for the Linux kernel.
> - Linux kernel needs host-python3; add it.
> - Convert to `make savedefconfig' format.
> - Fix shellcheck warnings in our post-image script and update
> .checkpackageignore.
>
> Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
> Cc: Erico Nunes <nunes.erico@gmail.com>
> Cc: Dick Olsson <hi@senzilla.io>
> Cc: Julien Olivain <ju.o@free.fr>
Thanks for the patch!
I am happy to tell you that I applied this patch to master, as my
first Buildroot maintenance contribution!
Best regards,
Julien.
> ---
>
>
> Changes v1 -> v2:
> - Convert to `make savedefconfig' format (suggested by Julien)
> - Add host-python3 for Linux kernel (suggested by Julien)
>
>
> .checkpackageignore | 2 --
> .../patches/linux-headers/linux-headers.hash | 1 +
> board/aarch64-efi/patches/linux/linux.hash | 2 ++
> board/aarch64-efi/post-image.sh | 4 +--
> configs/aarch64_efi_defconfig | 35 ++++++-------------
> 5 files changed, 16 insertions(+), 28 deletions(-)
> create mode 120000
> board/aarch64-efi/patches/linux-headers/linux-headers.hash
> create mode 100644 board/aarch64-efi/patches/linux/linux.hash
>
> diff --git a/.checkpackageignore b/.checkpackageignore
> index 0cc742bf09..fed8a5c2b6 100644
> --- a/.checkpackageignore
> +++ b/.checkpackageignore
> @@ -1,4 +1,3 @@
> -board/aarch64-efi/post-image.sh Shellcheck
> board/amarula/vyasa/post-build.sh Shellcheck
>
> board/andes/ae350/patches/uboot/0001-mmc-ftsdc010_mci-Support-DTS-of-ftsdc010-driver-for-.patch
> lib_patch.Upstream
>
> board/andes/ae350/patches/uboot/0002-spl-Align-device-tree-blob-address-at-8-byte-boundar.patch
> lib_patch.Upstream
> @@ -106,7 +105,6 @@
> boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch
> lib_patch.Upstream
>
> boot/syslinux/0014-Fix-build-with-binutils-note-gnu-property-section.patch
> lib_patch.Upstream
>
> boot/syslinux/0016-Workaround-multiple-definition-of-symbol-errors.patch
> lib_patch.Upstream
>
> boot/syslinux/0017-Replace-builtin-strlen-that-appears-to-get-optimized.patch
> lib_patch.Upstream
> -configs/aarch64_efi_defconfig lib_defconfig.ForceCheckHash
> configs/am574x_idk_defconfig lib_defconfig.ForceCheckHash
> configs/andes_ae350_45_defconfig lib_defconfig.ForceCheckHash
> configs/arcturus_ucls1012a_defconfig lib_defconfig.ForceCheckHash
> diff --git a/board/aarch64-efi/patches/linux-headers/linux-headers.hash
> b/board/aarch64-efi/patches/linux-headers/linux-headers.hash
> new file mode 120000
> index 0000000000..5808d92afe
> --- /dev/null
> +++ b/board/aarch64-efi/patches/linux-headers/linux-headers.hash
> @@ -0,0 +1 @@
> +../linux/linux.hash
> \ No newline at end of file
> diff --git a/board/aarch64-efi/patches/linux/linux.hash
> b/board/aarch64-efi/patches/linux/linux.hash
> new file mode 100644
> index 0000000000..20941a269b
> --- /dev/null
> +++ b/board/aarch64-efi/patches/linux/linux.hash
> @@ -0,0 +1,2 @@
> +# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
> +sha256
> 524858852f5869a9ef17de8b1e6e7faf05bcb2c462bc96b3c24dbf82ede373cf
> linux-6.10.12.tar.xz
> diff --git a/board/aarch64-efi/post-image.sh
> b/board/aarch64-efi/post-image.sh
> index f0214dc866..1aef15ef6f 100755
> --- a/board/aarch64-efi/post-image.sh
> +++ b/board/aarch64-efi/post-image.sh
> @@ -1,5 +1,5 @@
> #!/bin/sh
>
> -BOARD_DIR="$(dirname $0)"
> +BOARD_DIR=$(dirname "$0")
>
> -cp -f ${BOARD_DIR}/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
> +cp -f "${BOARD_DIR}/grub.cfg"
> "${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg"
> diff --git a/configs/aarch64_efi_defconfig
> b/configs/aarch64_efi_defconfig
> index 443113e47b..9f284ff74b 100644
> --- a/configs/aarch64_efi_defconfig
> +++ b/configs/aarch64_efi_defconfig
> @@ -1,34 +1,21 @@
> -# Architecture
> BR2_aarch64=y
> -
> -# System
> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_10=y
> +BR2_GLOBAL_PATCH_DIR="board/aarch64-efi/patches"
> +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> -
> -## Required tools to create bootable media
> -BR2_PACKAGE_HOST_GENIMAGE=y
> -
> -# Bootloader
> -BR2_TARGET_GRUB2=y
> -BR2_TARGET_GRUB2_ARM64_EFI=y
> -
> -# Filesystem / image
> -BR2_TARGET_ROOTFS_EXT2=y
> -BR2_TARGET_ROOTFS_EXT2_4=y
> -BR2_TARGET_ROOTFS_EXT2_SIZE="200M"
> -# BR2_TARGET_ROOTFS_TAR is not set
> BR2_ROOTFS_POST_IMAGE_SCRIPT="board/aarch64-efi/post-image.sh
> support/scripts/genimage.sh"
> BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/aarch64-efi/genimage-efi.cfg"
> -
> -# Linux headers same as kernel, a 5.15 series
> -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y
> -
> -# Kernel
> BR2_LINUX_KERNEL=y
> BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.4"
> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.10.12"
> BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
> BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
> -
> -# Host tools for genimage
> +BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3=y
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> +BR2_TARGET_ROOTFS_EXT2_SIZE="200M"
> +# BR2_TARGET_ROOTFS_TAR is not set
> +BR2_TARGET_GRUB2=y
> BR2_PACKAGE_HOST_DOSFSTOOLS=y
> +BR2_PACKAGE_HOST_GENIMAGE=y
> BR2_PACKAGE_HOST_MTOOLS=y
> --
> 2.45.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-10-22 19:05 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-02 11:22 [Buildroot] [PATCH v2] configs/aarch64_efi: bump Linux to 6.10.12 Vincent Stehlé
2024-10-02 19:10 ` Julien Olivain
2024-10-22 19:04 ` Julien Olivain
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.