Extension Hooks¶
- This file is autogenerated by the armbian/build repository.
Hooks¶
- Hooks are listed in the order they are called.
post_family_config
¶
give the config a chance to override the family/arch defaults
This hook is called after the family configuration (sources/families/xxx.conf
) is sourced. Since the family can
override values from the user configuration and the board configuration, it is often used to in turn override those.
Also known as (for backwards compatibility only):
config_tweaks_post_family_config
user_config
¶
Invoke function with user override
Allows for overriding configuration values set anywhere else. It is called after sourcing the lib.config
file if it
exists, but before assembling any package lists.
extension_prepare_config
¶
allow extensions to prepare their own config, after user config is done
Implementors should preserve variable values pre-set, but can default values an/or validate them. This runs after user_config. Don’t change anything not coming from other variables or meant to be configured by the user.
post_aggregate_packages
¶
For final user override, using a function, after all aggregations are done
Called after aggregating all package lists, before the end of compilation.sh
. Packages will still be installed after
this is called, so it is the last chance to confirm or change any packages.
Also known as (for backwards compatibility only):
user_config_post_aggregate_packages
post_determine_cthreads
¶
give config a chance modify CTHREADS programatically. A build server may work better with hyperthreads-1 for example.
Called early, before any compilation work starts.
Also known as (for backwards compatibility only):
config_post_determine_cthreads
add_host_dependencies
¶
run before installing host dependencies
you can add packages to install, space separated, to ${EXTRA_BUILD_DEPS} here.
fetch_sources_tools
¶
fetch host-side sources needed for tools and build
Run early to fetch_from_repo or otherwise obtain sources for needed tools.
build_host_tools
¶
build needed tools for the build, host-side
After sources are fetched, build host-side tools needed for the build.
pre_install_distribution_specific
¶
give config a chance to act before install_distribution_specific
Called after create_rootfs_cache
(prepare basic rootfs: unpack cache or create from scratch) but
before install_distribution_specific
(install distribution and board specific applications).
Also known as (for backwards compatibility only):
config_pre_install_distribution_specific
pre_install_kernel_debs
¶
called before installing the Armbian-built kernel deb packages
It is not too late to unset KERNELSOURCE
here and avoid kernel install.
post_install_kernel_debs
¶
allow config to do more with the installed kernel/headers
Called after packages, u-boot, kernel and headers installed in the chroot, but before the BSP is installed.
If KERNELSOURCE
is (still?) unset after this, Armbian-built firmware will not be installed.
post_family_tweaks
¶
customize the tweaks made by $LINUXFAMILY-specific family_tweaks
It is run after packages are installed in the rootfs, but before enabling additional services. It allows implementors
access to the rootfs (${SDCARD}
) in its pristine state after packages are installed.
pre_customize_image
¶
run before customize-image.sh
This hook is called before customize-image.sh
is executed and before the overlay is mounted. It thus can be used
for the same purposes as customize-image.sh
without the overlay.
Also known as (for backwards compatibility only):
image_tweaks_pre_customize
post_customize_image
¶
post customize-image.sh hook
Run after the customize-image.sh script is run, and the overlay is unmounted.
Also known as (for backwards compatibility only):
image_tweaks_post_customize
post_post_debootstrap_tweaks
¶
run after removing diversions and qemu with chroot unmounted
Last chance to touch the ${SDCARD}
filesystem before it is copied to the final media. It is too late to run any
chrooted commands, since the supporting filesystems are already unmounted.
Also known as (for backwards compatibility only):
config_post_debootstrap_tweaks
pre_prepare_partitions
¶
allow custom options for mkfs
Good time to change stuff like mkfs opts, types etc.
Also known as (for backwards compatibility only):
prepare_partitions_custom
prepare_image_size
¶
allow dynamically determining the size based on the $rootfs_size
Called after ${rootfs_size}
is known, but before ${FIXED_IMAGE_SIZE}
is taken into account. A good spot to
determine FIXED_IMAGE_SIZE
based on rootfs_size
. UEFISIZE can be set to 0 for no UEFI partition, or to a size in MiB
to include one. Last chance to set USE_HOOK_FOR_PARTITION
=yes and then implement create_partition_table hook_point.
Also known as (for backwards compatibility only):
config_prepare_image_size
post_create_partitions
¶
called after all partitions are created, but not yet formatted
format_partitions
¶
if you created your own partitions, this would be a good time to format them
The loop device is mounted, so ${LOOP}p1 is it’s first partition etc.
pre_update_initramfs
¶
allow config to hack into the initramfs create process
Called after rsync has synced both /root
and /root
on the target, but before calling update_initramfs
.
Also known as (for backwards compatibility only):
config_pre_update_initramfs
pre_umount_final_image
¶
allow config to hack into the image before the unmount
Called before unmounting both /root
and /boot
.
Also known as (for backwards compatibility only):
config_pre_umount_final_image
post_umount_final_image
¶
allow config to hack into the image after the unmount
Called after unmounting both /root
and /boot
.
Also known as (for backwards compatibility only):
config_post_umount_final_image
post_build_image
¶
custom post build hook
Called after the final .img file is built, before it is (possibly) written to an SD writer.
- NOTE: this hook used to take an argument ($1) for the final image produced.
- Now it is passed as an environment variable
${FINAL_IMAGE_FILE}
It is the last possible chance to modify$CARD_DEVICE
.
run_after_build
¶
hook for function to run after build, i.e. to change owner of
$SRC
Really one of the last hooks ever called. The build has ended. Congratulations.
- NOTE: this will run only if there were no errors during build process.
extension_metadata_ready
¶
meta-Meta time!
Implement this hook to work with/on the meta-data made available by the extension manager. Interesting stuff to process:
"${EXTENSION_MANAGER_TMP_DIR}/hook_point_calls.txt"
contains a list of all hook points called, in order.- For each hook_point in the list, more files will have metadata about that hook point.
-
${EXTENSION_MANAGER_TMP_DIR}/hook_point.orig.md
contains the hook documentation at the call site (inline docs), hopefully in Markdown format. -${EXTENSION_MANAGER_TMP_DIR}/hook_point.compat
contains the compatibility names for the hooks. -${EXTENSION_MANAGER_TMP_DIR}/hook_point.exports
contains exported environment variables. -${EXTENSION_MANAGER_TMP_DIR}/hook_point.vars
contains all environment variables. ${defined_hook_point_functions}
is a map of all the defined hook point functions and their extension information.${hook_point_function_trace_sources}
is a map of all the hook point functions that were really called during the build and their BASH_SOURCE information.${hook_point_function_trace_lines}
is the same, but BASH_LINENO info. After this hook is done, the${EXTENSION_MANAGER_TMP_DIR}
will be removed.