#!/bin/bash if [ ${DIB_DEBUG_TRACE:-1} -gt 0 ]; then set -x fi set -eu set -o pipefail _LIB="/tmp/ramdisk-build" source $_LIB/common-defaults source $_LIB/img-defaults source $_LIB/ramdisk-defaults source $_LIB/common-functions source $_LIB/img-functions source $_LIB/ramdisk-functions KERNEL_VERSION=${DIB_KERNEL_VERSION:-$(find_kernel_version)} MODULE_DIR=$MODULE_ROOT/lib/modules/$KERNEL_VERSION if [ -f /dib-signed-kernel-version ] ; then . /dib-signed-kernel-version fi if [ -n "${DIB_SIGNED_KERNEL_VERSION:-}" ]; then # Though kernel name is suffixed with efi.signed, modules directory is # without that suffix MOD_KERNEL_NAME=`echo "$DIB_SIGNED_KERNEL_VERSION" |sed "s/\.efi\.signed//g"` MODULE_DIR=$MODULE_ROOT/lib/modules/$MOD_KERNEL_NAME fi FIRMWARE_DIR=$MODULE_ROOT/lib/firmware LIB_UDEV=$LIB_UDEV_ROOT/lib/udev INIT="$_LIB/scripts/init" FUNCTIONS_D="$_LIB/scripts/d" BUSYBOX=${BUSYBOX:-$(which busybox)} # NOTE(bnemec): IMAGE_ELEMENT is normally set in disk-image-create, but we're # not using that to build the image here. IMAGE_ELEMENT= mk_build_dir mkdir -p $TMP_BUILD_DIR/mnt export TMP_HOOKS_PATH=/tmp export TMP_MOUNT_PATH=$TMP_BUILD_DIR/mnt echo "building ramdisk in $TMP_MOUNT_PATH" create_ramdisk_base populate_lib populate_busybox populate_init populate_udev SCRIPT_HOME=/tmp/in_target.d/bin TMP_HOOKS_PATH=/tmp/in_target.d run_d ramdisk-install finalise_image save_image /tmp/ramdisk # In the past save_image did this for us. If EXIT handler is not # reset ramdisk image builds fail. trap EXIT cp /boot/vmlinu[zx]-${KERNEL_VERSION} /tmp/kernel if [ -n "${DIB_SIGNED_KERNEL_VERSION:-}" ]; then cp /boot/vmlinu[zx]-${DIB_SIGNED_KERNEL_VERSION} /tmp/kernel fi chmod o+r /tmp/kernel if [ -f /dib-signed-kernel-version ] ; then echo "Removing /dib-signed-kernel-version" rm -f /dib-signed-kernel-version fi