mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
extensions: don't export, declare -g
This commit is contained in:
@@ -3,5 +3,5 @@
|
||||
|
||||
function add_host_dependencies__add_arm64_c_plus_plus_compiler() {
|
||||
display_alert "Adding arm64 c++ compiler to host dependencies" "g++" "debug"
|
||||
export EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} g++-aarch64-linux-gnu g++" # @TODO: convert to array later
|
||||
declare -g EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} g++-aarch64-linux-gnu g++" # @TODO: convert to array later
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
function add_host_dependencies__cleanup_space_final_image_zerofree() {
|
||||
export EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} zerofree"
|
||||
declare -g EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} zerofree"
|
||||
}
|
||||
|
||||
function post_customize_image__998_cleanup_apt_stuff() {
|
||||
|
||||
@@ -2,25 +2,25 @@
|
||||
# This runs *after* user_config. Don't change anything not coming from other variables or meant to be configured by the user.
|
||||
function extension_prepare_config__prepare_flash_kernel() {
|
||||
# Configuration defaults, or lack thereof.
|
||||
export FK__TOOL_PACKAGE="${FK__TOOL_PACKAGE:-flash-kernel}"
|
||||
export FK__PUBLISHED_KERNEL_VERSION="${FK__PUBLISHED_KERNEL_VERSION:-undefined-flash-kernel-version}"
|
||||
export FK__EXTRA_PACKAGES="${FK__EXTRA_PACKAGES:-undefined-flash-kernel-kernel-package}"
|
||||
export FK__KERNEL_PACKAGES="${FK__KERNEL_PACKAGES:-}"
|
||||
export FK__MACHINE_MODEL="${FK__MACHINE_MODEL:-Undefined Flash-Kernel Machine}"
|
||||
declare -g FK__TOOL_PACKAGE="${FK__TOOL_PACKAGE:-flash-kernel}"
|
||||
declare -g FK__PUBLISHED_KERNEL_VERSION="${FK__PUBLISHED_KERNEL_VERSION:-undefined-flash-kernel-version}"
|
||||
declare -g FK__EXTRA_PACKAGES="${FK__EXTRA_PACKAGES:-undefined-flash-kernel-kernel-package}"
|
||||
declare -g FK__KERNEL_PACKAGES="${FK__KERNEL_PACKAGES:-}"
|
||||
declare -g FK__MACHINE_MODEL="${FK__MACHINE_MODEL:-Undefined Flash-Kernel Machine}"
|
||||
|
||||
# Override certain variables. A case of "this extension knows better and modifies user configurable stuff".
|
||||
export BOOTCONFIG="none" # To try and convince lib/ to not build or install u-boot.
|
||||
declare -g BOOTCONFIG="none" # To try and convince lib/ to not build or install u-boot.
|
||||
unset BOOTSOURCE # To try and convince lib/ to not build or install u-boot.
|
||||
export UEFISIZE=256 # in MiB. Not really UEFI, but partition layout is the same.
|
||||
export BOOTSIZE=0 # No separate /boot, flash-kernel will "flash" the kernel+initrd to the firmware part.
|
||||
export UEFI_MOUNT_POINT="/boot/firmware" # mount uefi partition at /boot/firmware
|
||||
export CLOUD_INIT_CONFIG_LOCATION="/boot/firmware" # use /boot/firmware for cloud-init as well
|
||||
export IMAGE_INSTALLED_KERNEL_VERSION="${FK__PUBLISHED_KERNEL_VERSION}" # For the VERSION
|
||||
export EXTRA_BSP_NAME="${EXTRA_BSP_NAME}-fk${FK__PUBLISHED_KERNEL_VERSION}" # Unique bsp name.
|
||||
declare -g UEFISIZE=256 # in MiB. Not really UEFI, but partition layout is the same.
|
||||
declare -g BOOTSIZE=0 # No separate /boot, flash-kernel will "flash" the kernel+initrd to the firmware part.
|
||||
declare -g UEFI_MOUNT_POINT="/boot/firmware" # mount uefi partition at /boot/firmware
|
||||
declare -g CLOUD_INIT_CONFIG_LOCATION="/boot/firmware" # use /boot/firmware for cloud-init as well
|
||||
declare -g IMAGE_INSTALLED_KERNEL_VERSION="${FK__PUBLISHED_KERNEL_VERSION}" # For the VERSION
|
||||
declare -g EXTRA_BSP_NAME="${EXTRA_BSP_NAME}-fk${FK__PUBLISHED_KERNEL_VERSION}" # Unique bsp name.
|
||||
}
|
||||
|
||||
function post_install_kernel_debs__install_kernel_and_flash_packages() {
|
||||
export INSTALL_ARMBIAN_FIRMWARE="no" # Disable Armbian-firmware install, which would happen after this method.
|
||||
declare -g INSTALL_ARMBIAN_FIRMWARE="no" # Disable Armbian-firmware install, which would happen after this method.
|
||||
|
||||
if [[ "${FK__EXTRA_PACKAGES}" != "" ]]; then
|
||||
display_alert "Installing flash-kernel extra packages" "${FK__EXTRA_PACKAGES}"
|
||||
@@ -80,7 +80,7 @@ function pre_update_initramfs__setup_flash_kernel() {
|
||||
chroot_custom "$chroot_target" chmod -v -x "/etc/kernel/postinst.d/initramfs-tools"
|
||||
chroot_custom "$chroot_target" chmod -v -x "/etc/initramfs/post-update.d/flash-kernel"
|
||||
|
||||
export FIRMWARE_DIR="${MOUNT}"/boot/firmware
|
||||
declare -g FIRMWARE_DIR="${MOUNT}"/boot/firmware
|
||||
call_extension_method "pre_initramfs_flash_kernel" <<- 'PRE_INITRAMFS_FLASH_KERNEL'
|
||||
*prepare to update-initramfs before flashing kernel via flash_kernel*
|
||||
A good spot to write firmware config to ${FIRMWARE_DIR} (/boot/firmware) before flash-kernel actually runs.
|
||||
|
||||
@@ -17,23 +17,23 @@ function extension_metadata_ready__docs_sample_extension() {
|
||||
|
||||
### Common stuff
|
||||
function read_common_data() {
|
||||
export HOOK_POINT_CALLS_COUNT=$(wc -l < "${EXTENSION_MANAGER_TMP_DIR}/hook_point_calls.txt")
|
||||
export HOOK_POINT_CALLS_UNIQUE_COUNT=$(sort < "${EXTENSION_MANAGER_TMP_DIR}/hook_point_calls.txt" | uniq | wc -l)
|
||||
export HOOK_POINTS_WITH_MULTIPLE_CALLS=""
|
||||
declare -g HOOK_POINT_CALLS_COUNT=$(wc -l < "${EXTENSION_MANAGER_TMP_DIR}/hook_point_calls.txt")
|
||||
declare -g HOOK_POINT_CALLS_UNIQUE_COUNT=$(sort < "${EXTENSION_MANAGER_TMP_DIR}/hook_point_calls.txt" | uniq | wc -l)
|
||||
declare -g HOOK_POINTS_WITH_MULTIPLE_CALLS=""
|
||||
|
||||
# Read the hook_points (main, official names) from the hook point ordering file.
|
||||
export ALL_HOOK_POINT_CALLS=$(xargs echo -n < "${EXTENSION_MANAGER_TMP_DIR}/hook_point_calls.txt")
|
||||
declare -g ALL_HOOK_POINT_CALLS=$(xargs echo -n < "${EXTENSION_MANAGER_TMP_DIR}/hook_point_calls.txt")
|
||||
}
|
||||
|
||||
function loop_over_hook_points_and_call() {
|
||||
local callback="$1"
|
||||
HOOK_POINT_COUNTER=0
|
||||
for one_hook_point in ${ALL_HOOK_POINT_CALLS}; do
|
||||
export HOOK_POINT_COUNTER=$((HOOK_POINT_COUNTER + 1))
|
||||
export HOOK_POINT="${one_hook_point}"
|
||||
export MARKDOWN_HEAD="$(head -1 "${EXTENSION_MANAGER_TMP_DIR}/${one_hook_point}.orig.md")"
|
||||
export MARKDOWN_BODY="$(tail -n +2 "${EXTENSION_MANAGER_TMP_DIR}/${one_hook_point}.orig.md")"
|
||||
export COMPATIBILITY_NAMES="$(xargs echo -n < "${EXTENSION_MANAGER_TMP_DIR}/${one_hook_point}.compat")"
|
||||
declare -g HOOK_POINT_COUNTER=$((HOOK_POINT_COUNTER + 1))
|
||||
declare -g HOOK_POINT="${one_hook_point}"
|
||||
declare -g MARKDOWN_HEAD="$(head -1 "${EXTENSION_MANAGER_TMP_DIR}/${one_hook_point}.orig.md")"
|
||||
declare -g MARKDOWN_BODY="$(tail -n +2 "${EXTENSION_MANAGER_TMP_DIR}/${one_hook_point}.orig.md")"
|
||||
declare -g COMPATIBILITY_NAMES="$(xargs echo -n < "${EXTENSION_MANAGER_TMP_DIR}/${one_hook_point}.compat")"
|
||||
${callback}
|
||||
done
|
||||
}
|
||||
|
||||
@@ -3,21 +3,21 @@
|
||||
function extension_prepare_config__prepare_grub-riscv64() {
|
||||
display_alert "Prepare config" "${EXTENSION}" "info"
|
||||
# Extension configuration defaults.
|
||||
export DISTRO_GENERIC_KERNEL=${DISTRO_GENERIC_KERNEL:-no} # if yes, does not build our own kernel, instead, uses generic one from distro
|
||||
export UEFI_GRUB_TERMINAL="${UEFI_GRUB_TERMINAL:-serial console}" # 'serial' forces grub menu on serial console. empty to not include
|
||||
export UEFI_GRUB_DISABLE_OS_PROBER="${UEFI_GRUB_DISABLE_OS_PROBER:-}" # 'true' will disable os-probing, useful for SD cards.
|
||||
export UEFI_GRUB_DISTRO_NAME="${UEFI_GRUB_DISTRO_NAME:-Armbian}" # Will be used on grub menu display
|
||||
export UEFI_GRUB_TIMEOUT=${UEFI_GRUB_TIMEOUT:-0} # Small timeout by default
|
||||
export GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT:-""}" # Cmdline by default
|
||||
declare -g DISTRO_GENERIC_KERNEL=${DISTRO_GENERIC_KERNEL:-no} # if yes, does not build our own kernel, instead, uses generic one from distro
|
||||
declare -g UEFI_GRUB_TERMINAL="${UEFI_GRUB_TERMINAL:-serial console}" # 'serial' forces grub menu on serial console. empty to not include
|
||||
declare -g UEFI_GRUB_DISABLE_OS_PROBER="${UEFI_GRUB_DISABLE_OS_PROBER:-}" # 'true' will disable os-probing, useful for SD cards.
|
||||
declare -g UEFI_GRUB_DISTRO_NAME="${UEFI_GRUB_DISTRO_NAME:-Armbian}" # Will be used on grub menu display
|
||||
declare -g UEFI_GRUB_TIMEOUT=${UEFI_GRUB_TIMEOUT:-0} # Small timeout by default
|
||||
declare -g GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT:-""}" # Cmdline by default
|
||||
# User config overrides.
|
||||
export BOOTCONFIG="none" # To try and convince lib/ to not build or install u-boot.
|
||||
declare -g BOOTCONFIG="none" # To try and convince lib/ to not build or install u-boot.
|
||||
unset BOOTSOURCE # To try and convince lib/ to not build or install u-boot.
|
||||
export IMAGE_PARTITION_TABLE="gpt" # GPT partition table is essential for many UEFI-like implementations, eg Apple+Intel stuff.
|
||||
export UEFISIZE=256 # in MiB - grub EFI is tiny - but some EFI BIOSes ignore small too small EFI partitions
|
||||
export BOOTSIZE=0 # No separate /boot when using UEFI.
|
||||
export CLOUD_INIT_CONFIG_LOCATION="${CLOUD_INIT_CONFIG_LOCATION:-/boot/efi}" # use /boot/efi for cloud-init as default when using Grub.
|
||||
export EXTRA_BSP_NAME="${EXTRA_BSP_NAME}-grub" # Unique bsp name.
|
||||
export UEFI_GRUB_TARGET="riscv64-efi" # Default for x86_64
|
||||
declare -g IMAGE_PARTITION_TABLE="gpt" # GPT partition table is essential for many UEFI-like implementations, eg Apple+Intel stuff.
|
||||
declare -g UEFISIZE=256 # in MiB - grub EFI is tiny - but some EFI BIOSes ignore small too small EFI partitions
|
||||
declare -g BOOTSIZE=0 # No separate /boot when using UEFI.
|
||||
declare -g CLOUD_INIT_CONFIG_LOCATION="${CLOUD_INIT_CONFIG_LOCATION:-/boot/efi}" # use /boot/efi for cloud-init as default when using Grub.
|
||||
declare -g EXTRA_BSP_NAME="${EXTRA_BSP_NAME}-grub" # Unique bsp name.
|
||||
declare -g UEFI_GRUB_TARGET="riscv64-efi" # Default for x86_64
|
||||
|
||||
if [[ "${DISTRIBUTION}" != "Ubuntu" && "${BUILDING_IMAGE}" == "yes" ]]; then
|
||||
exit_with_error "${DISTRIBUTION} is not supported yet"
|
||||
|
||||
@@ -3,25 +3,25 @@
|
||||
function extension_prepare_config__prepare_grub-sbc-media() {
|
||||
display_alert "Prepare config" "${EXTENSION}" "info"
|
||||
# Extension configuration defaults.
|
||||
export DISTRO_GENERIC_KERNEL=${DISTRO_GENERIC_KERNEL:-no} # if yes, does not build our own kernel, instead, uses generic one from distro
|
||||
export UEFI_GRUB_DISABLE_OS_PROBER="${UEFI_GRUB_DISABLE_OS_PROBER:-}" # 'true' will disable os-probing, useful for SD cards.
|
||||
export UEFI_GRUB_DISTRO_NAME="${UEFI_GRUB_DISTRO_NAME:-Armbian}" # Will be used on grub menu display
|
||||
export UEFI_GRUB_TIMEOUT=${UEFI_GRUB_TIMEOUT:-3} # Small timeout by default
|
||||
export UEFI_GRUB_RECORDFAIL_TIMEOUT=${UEFI_GRUB_RECORDFAIL_TIMEOUT:-3}
|
||||
export GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT:-}" # Cmdline by default
|
||||
export UEFI_ENABLE_BIOS_AMD64="${UEFI_ENABLE_BIOS_AMD64:-no}" # Enable BIOS too if target is amd64
|
||||
declare -g DISTRO_GENERIC_KERNEL=${DISTRO_GENERIC_KERNEL:-no} # if yes, does not build our own kernel, instead, uses generic one from distro
|
||||
declare -g UEFI_GRUB_DISABLE_OS_PROBER="${UEFI_GRUB_DISABLE_OS_PROBER:-}" # 'true' will disable os-probing, useful for SD cards.
|
||||
declare -g UEFI_GRUB_DISTRO_NAME="${UEFI_GRUB_DISTRO_NAME:-Armbian}" # Will be used on grub menu display
|
||||
declare -g UEFI_GRUB_TIMEOUT=${UEFI_GRUB_TIMEOUT:-3} # Small timeout by default
|
||||
declare -g UEFI_GRUB_RECORDFAIL_TIMEOUT=${UEFI_GRUB_RECORDFAIL_TIMEOUT:-3}
|
||||
declare -g GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT:-}" # Cmdline by default
|
||||
declare -g UEFI_ENABLE_BIOS_AMD64="${UEFI_ENABLE_BIOS_AMD64:-no}" # Enable BIOS too if target is amd64
|
||||
# User config overrides.
|
||||
export IMAGE_PARTITION_TABLE="gpt" # GPT partition table is essential for many UEFI-like implementations, eg Apple+Intel stuff.
|
||||
export UEFISIZE=256 # in MiB - grub EFI is tiny - but some EFI BIOSes ignore small too small EFI partitions
|
||||
export BOOTSIZE=0 # No separate /boot when using UEFI.
|
||||
export CLOUD_INIT_CONFIG_LOCATION="${CLOUD_INIT_CONFIG_LOCATION:-/boot/efi}" # use /boot/efi for cloud-init as default when using Grub.
|
||||
export EXTRA_BSP_NAME="${EXTRA_BSP_NAME}-grub" # Unique bsp name.
|
||||
export UEFI_GRUB_TARGET_BIOS="" # Target for BIOS GRUB install, set to i386-pc when UEFI_ENABLE_BIOS_AMD64=yes and target is amd64
|
||||
declare -g IMAGE_PARTITION_TABLE="gpt" # GPT partition table is essential for many UEFI-like implementations, eg Apple+Intel stuff.
|
||||
declare -g UEFISIZE=256 # in MiB - grub EFI is tiny - but some EFI BIOSes ignore small too small EFI partitions
|
||||
declare -g BOOTSIZE=0 # No separate /boot when using UEFI.
|
||||
declare -g CLOUD_INIT_CONFIG_LOCATION="${CLOUD_INIT_CONFIG_LOCATION:-/boot/efi}" # use /boot/efi for cloud-init as default when using Grub.
|
||||
declare -g EXTRA_BSP_NAME="${EXTRA_BSP_NAME}-grub" # Unique bsp name.
|
||||
declare -g UEFI_GRUB_TARGET_BIOS="" # Target for BIOS GRUB install, set to i386-pc when UEFI_ENABLE_BIOS_AMD64=yes and target is amd64
|
||||
local uefi_packages="efibootmgr efivar" # Use growroot, add some efi-related packages
|
||||
uefi_packages="os-prober grub-efi-${ARCH}-bin ${uefi_packages}" # This works for Ubuntu and Debian, by sheer luck; common for EFI and BIOS
|
||||
|
||||
[[ "${ARCH}" == "arm64" ]] && export uefi_packages="${uefi_packages} grub-efi-${ARCH}"
|
||||
[[ "${ARCH}" == "arm64" ]] && export UEFI_GRUB_TARGET="arm64-efi" # Default for arm64-efi
|
||||
[[ "${ARCH}" == "arm64" ]] && declare -g uefi_packages="${uefi_packages} grub-efi-${ARCH}"
|
||||
[[ "${ARCH}" == "arm64" ]] && declare -g UEFI_GRUB_TARGET="arm64-efi" # Default for arm64-efi
|
||||
|
||||
DISTRO_KERNEL_PACKAGES=""
|
||||
DISTRO_FIRMWARE_PACKAGES=""
|
||||
|
||||
@@ -2,25 +2,25 @@
|
||||
# This runs *after* user_config. Don't change anything not coming from other variables or meant to be configured by the u ser.
|
||||
function extension_prepare_config__prepare_grub_standard() {
|
||||
# Extension configuration defaults.
|
||||
export DISTRO_GENERIC_KERNEL=${DISTRO_GENERIC_KERNEL:-no} # if yes, does not build our own kernel, instead, uses generic one from distro
|
||||
export UEFI_GRUB_TERMINAL="${UEFI_GRUB_TERMINAL:-serial console}" # 'serial' forces grub menu on serial console. empty to not include
|
||||
export UEFI_GRUB_DISABLE_OS_PROBER="${UEFI_GRUB_DISABLE_OS_PROBER:-}" # 'true' will disable os-probing, useful for SD cards.
|
||||
export UEFI_GRUB_DISTRO_NAME="${UEFI_GRUB_DISTRO_NAME:-Armbian}" # Will be used on grub menu display
|
||||
export UEFI_GRUB_TIMEOUT=${UEFI_GRUB_TIMEOUT:-0} # Small timeout by default
|
||||
export GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT:-}" # Cmdline by default
|
||||
export UEFI_ENABLE_BIOS_AMD64="${UEFI_ENABLE_BIOS_AMD64:-yes}" # Enable BIOS too if target is amd64
|
||||
export UEFI_EXPORT_KERNEL_INITRD="${UEFI_EXPORT_KERNEL_INITRD:-no}" # Export kernel and initrd for direct kernel boot "kexec"
|
||||
declare -g DISTRO_GENERIC_KERNEL=${DISTRO_GENERIC_KERNEL:-no} # if yes, does not build our own kernel, instead, uses generic one from distro
|
||||
declare -g UEFI_GRUB_TERMINAL="${UEFI_GRUB_TERMINAL:-serial console}" # 'serial' forces grub menu on serial console. empty to not include
|
||||
declare -g UEFI_GRUB_DISABLE_OS_PROBER="${UEFI_GRUB_DISABLE_OS_PROBER:-}" # 'true' will disable os-probing, useful for SD cards.
|
||||
declare -g UEFI_GRUB_DISTRO_NAME="${UEFI_GRUB_DISTRO_NAME:-Armbian}" # Will be used on grub menu display
|
||||
declare -g UEFI_GRUB_TIMEOUT=${UEFI_GRUB_TIMEOUT:-0} # Small timeout by default
|
||||
declare -g GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT:-}" # Cmdline by default
|
||||
declare -g UEFI_ENABLE_BIOS_AMD64="${UEFI_ENABLE_BIOS_AMD64:-yes}" # Enable BIOS too if target is amd64
|
||||
declare -g UEFI_EXPORT_KERNEL_INITRD="${UEFI_EXPORT_KERNEL_INITRD:-no}" # export kernel and initrd for direct kernel boot "kexec"
|
||||
|
||||
if [[ "${UEFI_GRUB}" != "skip" ]]; then
|
||||
# User config overrides for GRUB.
|
||||
export BOOTCONFIG="none" # To try and convince lib/ to not build or install u-boot.
|
||||
declare -g BOOTCONFIG="none" # To try and convince lib/ to not build or install u-boot.
|
||||
unset BOOTSOURCE # To try and convince lib/ to not build or install u-boot.
|
||||
export IMAGE_PARTITION_TABLE="gpt" # GPT partition table is essential for many UEFI-like implementations, eg Apple+Intel stuff.
|
||||
export UEFISIZE=256 # in MiB - grub EFI is tiny - but some EFI BIOSes ignore small too small EFI partitions
|
||||
export BOOTSIZE=0 # No separate /boot when using UEFI.
|
||||
export CLOUD_INIT_CONFIG_LOCATION="${CLOUD_INIT_CONFIG_LOCATION:-/boot/efi}" # use /boot/efi for cloud-init as default when using Grub.
|
||||
export EXTRA_BSP_NAME="${EXTRA_BSP_NAME}-grub" # Unique bsp name.
|
||||
export UEFI_GRUB_TARGET_BIOS="" # Target for BIOS GRUB install, set to i386-pc when UEFI_ENABLE_BIOS_AMD64=yes and target is amd64
|
||||
declare -g IMAGE_PARTITION_TABLE="gpt" # GPT partition table is essential for many UEFI-like implementations, eg Apple+Intel stuff.
|
||||
declare -g UEFISIZE=256 # in MiB - grub EFI is tiny - but some EFI BIOSes ignore small too small EFI partitions
|
||||
declare -g BOOTSIZE=0 # No separate /boot when using UEFI.
|
||||
declare -g CLOUD_INIT_CONFIG_LOCATION="${CLOUD_INIT_CONFIG_LOCATION:-/boot/efi}" # use /boot/efi for cloud-init as default when using Grub.
|
||||
declare -g EXTRA_BSP_NAME="${EXTRA_BSP_NAME}-grub" # Unique bsp name.
|
||||
declare -g UEFI_GRUB_TARGET_BIOS="" # Target for BIOS GRUB install, set to i386-pc when UEFI_ENABLE_BIOS_AMD64=yes and target is amd64
|
||||
local uefi_packages="" # Use growroot, add some efi-related packages
|
||||
|
||||
uefi_packages="efibootmgr efivar cloud-initramfs-growroot" # Use growroot, add some efi-related packages
|
||||
@@ -28,18 +28,18 @@ function extension_prepare_config__prepare_grub_standard() {
|
||||
|
||||
# BIOS-compatibility for amd64
|
||||
if [[ "${ARCH}" == "amd64" ]]; then
|
||||
export UEFI_GRUB_TARGET="x86_64-efi" # Default for x86_64
|
||||
declare -g UEFI_GRUB_TARGET="x86_64-efi" # Default for x86_64
|
||||
if [[ "${UEFI_ENABLE_BIOS_AMD64}" == "yes" ]]; then
|
||||
export uefi_packages="${uefi_packages} grub-pc-bin grub-pc"
|
||||
export UEFI_GRUB_TARGET_BIOS="i386-pc"
|
||||
export BIOSSIZE=4 # 4 MiB BIOS partition
|
||||
declare -g uefi_packages="${uefi_packages} grub-pc-bin grub-pc"
|
||||
declare -g UEFI_GRUB_TARGET_BIOS="i386-pc"
|
||||
declare -g BIOSSIZE=4 # 4 MiB BIOS partition
|
||||
else
|
||||
export uefi_packages="${uefi_packages} grub-efi-${ARCH}"
|
||||
declare -g uefi_packages="${uefi_packages} grub-efi-${ARCH}"
|
||||
fi
|
||||
fi
|
||||
|
||||
[[ "${ARCH}" == "arm64" ]] && export uefi_packages="${uefi_packages} grub-efi-${ARCH}"
|
||||
[[ "${ARCH}" == "arm64" ]] && export UEFI_GRUB_TARGET="arm64-efi" # Default for arm64-efi
|
||||
[[ "${ARCH}" == "arm64" ]] && declare -g uefi_packages="${uefi_packages} grub-efi-${ARCH}"
|
||||
[[ "${ARCH}" == "arm64" ]] && declare -g UEFI_GRUB_TARGET="arm64-efi" # Default for arm64-efi
|
||||
fi
|
||||
|
||||
if [[ "${DISTRIBUTION}" == "Ubuntu" ]]; then
|
||||
@@ -53,16 +53,16 @@ function extension_prepare_config__prepare_grub_standard() {
|
||||
# Debian's prebuilt kernels dont support hvc0, hack.
|
||||
if [[ "${SERIALCON}" == "hvc0" ]]; then
|
||||
display_alert "Debian's kernels don't support hvc0, changing to ttyS0" "${DISTRIBUTION}" "wrn"
|
||||
export SERIALCON="ttyS0"
|
||||
declare -g SERIALCON="ttyS0"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "${DISTRO_GENERIC_KERNEL}" == "yes" ]]; then
|
||||
export IMAGE_INSTALLED_KERNEL_VERSION="${DISTRO_KERNEL_VER}"
|
||||
declare -g IMAGE_INSTALLED_KERNEL_VERSION="${DISTRO_KERNEL_VER}"
|
||||
unset KERNELSOURCE # This should make Armbian skip most stuff. At least, I hacked it to.
|
||||
export INSTALL_ARMBIAN_FIRMWARE=no # Should skip build and install of Armbian-firmware.
|
||||
declare -g INSTALL_ARMBIAN_FIRMWARE=no # Should skip build and install of Armbian-firmware.
|
||||
else
|
||||
export KERNELDIR="linux-uefi-${LINUXFAMILY}" # Avoid sharing a source tree with others, until we know it's safe.
|
||||
declare -g KERNELDIR="linux-uefi-${LINUXFAMILY}" # Avoid sharing a source tree with others, until we know it's safe.
|
||||
# Don't install anything. Armbian handles everything.
|
||||
DISTRO_KERNEL_PACKAGES=""
|
||||
DISTRO_FIRMWARE_PACKAGES=""
|
||||
|
||||
@@ -2,15 +2,15 @@ enable_extension "image-output-qcow2"
|
||||
|
||||
#### *run before installing host dependencies*
|
||||
function add_host_dependencies__ovf_host_deps() {
|
||||
export EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} qemu-utils"
|
||||
declare -g EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} qemu-utils"
|
||||
}
|
||||
|
||||
#### *allow extensions to prepare their own config, after user config is done*
|
||||
function extension_prepare_config__prepare_ovf_config() {
|
||||
export OVF_VM_CPUS="${OVF_VM_CPUS:-4}" # Number of CPUs
|
||||
export OVF_VM_RAM_GB="${OVF_VM_RAM_GB:-4}" # RAM in Gigabytes
|
||||
export OVF_KEEP_QCOW2="${OVF_KEEP_QCOW2:-no}" # keep the qcow2 image after conversion to OVF
|
||||
export OVF_KEEP_IMG="${OVF_KEEP_IMG:-no}" # keep the .img image after conversion to OVF
|
||||
declare -g OVF_VM_CPUS="${OVF_VM_CPUS:-4}" # Number of CPUs
|
||||
declare -g OVF_VM_RAM_GB="${OVF_VM_RAM_GB:-4}" # RAM in Gigabytes
|
||||
declare -g OVF_KEEP_QCOW2="${OVF_KEEP_QCOW2:-no}" # keep the qcow2 image after conversion to OVF
|
||||
declare -g OVF_KEEP_IMG="${OVF_KEEP_IMG:-no}" # keep the .img image after conversion to OVF
|
||||
}
|
||||
|
||||
#### *custom post build hook*
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
function add_host_dependencies__qcow2_host_deps() {
|
||||
[[ "${SKIP_QCOW2}" == "yes" ]] && return 0
|
||||
export EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} qemu-utils"
|
||||
declare -g EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} qemu-utils"
|
||||
}
|
||||
|
||||
function post_build_image__900_convert_to_qcow2_img() {
|
||||
[[ "${SKIP_QCOW2}" == "yes" ]] && return 0
|
||||
[[ -z $version ]] && exit_with_error "version is not set"
|
||||
display_alert "Converting image to qcow2" "${EXTENSION}" "info"
|
||||
export QCOW2_IMAGE_FILE="${DESTIMG}/${version}.img.qcow2"
|
||||
declare -g QCOW2_IMAGE_FILE="${DESTIMG}/${version}.img.qcow2"
|
||||
run_host_command_logged qemu-img convert -f raw -O qcow2 "${DESTIMG}/${version}.img" "${QCOW2_IMAGE_FILE}"
|
||||
run_host_command_logged qemu-img info "${QCOW2_IMAGE_FILE}"
|
||||
if [[ "${QCOW2_RESIZE_AMOUNT}" != "" ]]; then
|
||||
|
||||
@@ -2,15 +2,15 @@ enable_extension "image-output-qcow2"
|
||||
|
||||
#### *allow extensions to prepare their own config, after user config is done*
|
||||
function extension_prepare_config__prepare_utm_config() {
|
||||
export UTM_VM_CPUS="${UTM_VM_CPUS:-4}" # Number of CPUs
|
||||
export UTM_VM_RAM_GB="${UTM_VM_RAM_GB:-16}" # RAM in Gigabytes
|
||||
export UTM_KEEP_QCOW2="${UTM_KEEP_QCOW2:-no}" # keep the qcow2 image after conversion to UTM
|
||||
export UTM_KEEP_IMG="${UTM_KEEP_IMG:-no}" # keep the .img image after conversion to UTM
|
||||
declare -g UTM_VM_CPUS="${UTM_VM_CPUS:-4}" # Number of CPUs
|
||||
declare -g UTM_VM_RAM_GB="${UTM_VM_RAM_GB:-16}" # RAM in Gigabytes
|
||||
declare -g UTM_KEEP_QCOW2="${UTM_KEEP_QCOW2:-no}" # keep the qcow2 image after conversion to UTM
|
||||
declare -g UTM_KEEP_IMG="${UTM_KEEP_IMG:-no}" # keep the .img image after conversion to UTM
|
||||
}
|
||||
|
||||
function user_config__metadata_cloud_config() {
|
||||
display_alert "Preparing UTM config" "${EXTENSION}" "info"
|
||||
export SERIALCON="ttyS0" # UTM's serial at ttyS0, for x86 @TODO: arm64? ttyAML0?
|
||||
declare -g SERIALCON="ttyS0" # UTM's serial at ttyS0, for x86 @TODO: arm64? ttyAML0?
|
||||
display_alert "Prepared UTM config" "${EXTENSION}: SERIALCON: '${SERIALCON}'" "debug"
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ function extension_finish_config__build_nvidia_kernel_module() {
|
||||
display_alert "Kernel version has no working headers package" "skipping nVidia for kernel v${KERNEL_MAJOR_MINOR}" "warn"
|
||||
return 0
|
||||
fi
|
||||
export INSTALL_HEADERS="yes"
|
||||
declare -g INSTALL_HEADERS="yes"
|
||||
declare -g NVIDIA_DRIVER_VERSION="${NVIDIA_DRIVER_VERSION:-"510"}" # @TODO: this might vary per-release and Debian/Ubuntu
|
||||
display_alert "Forcing INSTALL_HEADERS=yes; using nVidia driver version ${NVIDIA_DRIVER_VERSION}" "${EXTENSION}" "debug"
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ function extension_finish_config__build_zfs_kernel_module() {
|
||||
display_alert "Kernel version has no working headers package" "skipping ZFS for kernel v${KERNEL_MAJOR_MINOR}" "warn"
|
||||
return 0
|
||||
fi
|
||||
export INSTALL_HEADERS="yes"
|
||||
declare -g INSTALL_HEADERS="yes"
|
||||
display_alert "Forcing INSTALL_HEADERS=yes; for use with ZFS" "${EXTENSION}" "debug"
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user