File: 99-build-ramdisk

package info (click to toggle)
python-diskimage-builder 3.37.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,572 kB
  • sloc: sh: 7,380; python: 6,444; makefile: 37
file content (69 lines) | stat: -rwxr-xr-x 1,875 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/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:-$(type -p 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