3e7604601a
Split mkinitfs.sh into two files, so the functions (now in mkinitfs_functions.sh) can be sourced in a test. Such a test will be added in the next commit. Move $BINARIES_EXTRA into the get_binaries_extra() function, so its $(find...) does not get executed when sourcing the functions file. Move $BINARIES into get_binaries() too for consistency.
41 lines
1,000 B
Bash
41 lines
1,000 B
Bash
#!/bin/sh
|
|
|
|
outfile=""
|
|
outfile_extra=""
|
|
# shellcheck disable=SC1091
|
|
. /usr/share/postmarketos-mkinitfs/mkinitfs_functions.sh
|
|
|
|
# initialize
|
|
source_deviceinfo
|
|
parse_commandline "$1" "$2" "$3"
|
|
check_hook_files
|
|
|
|
echo "==> initramfs: creating $outfile"
|
|
tmpdir=$(mktemp -d /tmp/mkinitfs.XXXXXX)
|
|
|
|
# set up initfs in temp folder
|
|
create_folders
|
|
copy_files "$(get_modules)" "$tmpdir"
|
|
copy_files "$(get_binaries)" "$tmpdir"
|
|
copy_files "/etc/deviceinfo" "$tmpdir"
|
|
copy_files "/etc/postmarketos-mkinitfs/hooks/*.sh" "$tmpdir"
|
|
cp /usr/share/postmarketos-splashes/*.ppm.gz "$tmpdir"
|
|
create_device_nodes
|
|
ln -s "/bin/busybox" "$tmpdir/bin/sh"
|
|
install -Dm755 "/usr/share/postmarketos-mkinitfs/init.sh.in" \
|
|
"$tmpdir/init"
|
|
install -Dm755 "/usr/share/postmarketos-mkinitfs/init_functions.sh" \
|
|
"$tmpdir/init_functions.sh"
|
|
|
|
# finish up
|
|
replace_init_variables
|
|
create_cpio_image "$tmpdir" "$outfile"
|
|
append_or_copy_dtb
|
|
create_uboot_files
|
|
create_bootimg
|
|
|
|
rm -rf "$tmpdir"
|
|
|
|
generate_initramfs_extra "$outfile_extra"
|
|
|
|
exit 0
|