env,init,tasks
This commit is contained in:
parent
c92a114205
commit
d216a45b73
5 changed files with 80 additions and 93 deletions
48
build.sh
48
build.sh
|
@ -28,12 +28,18 @@ function sign {
|
|||
local file
|
||||
local files
|
||||
readarray -t files <<< "$(find "${1}" -type f | sort)"
|
||||
echo
|
||||
echo "${1}"
|
||||
for file in "${files[@]}" ; do
|
||||
sign "${file}"
|
||||
sign "${file}" "${1}"
|
||||
done
|
||||
fi
|
||||
if [ -f "${1}" ] ; then
|
||||
echo "${1}"
|
||||
if [ "${2}" ] ; then
|
||||
echo "$(realpath --relative-to "${2}" "${1}")"
|
||||
else
|
||||
echo "${1}"
|
||||
fi
|
||||
gpg \
|
||||
--quiet \
|
||||
--default-key "${PGP_PUB}!" \
|
||||
|
@ -67,9 +73,12 @@ BIOS_DIRECTORY="${ROOT}/bios"
|
|||
BIOS_FILE="${BIOS_DIRECTORY}/core.img"
|
||||
BIOS_SETUP="${BIOS_DIRECTORY}/setup.sh"
|
||||
COMPRESSION='xz'
|
||||
GRUB_ROOT="${ROOT}/boot/grub"
|
||||
BOOT_ROOT="${ROOT}/boot"
|
||||
GRUB_ROOT="${BOOT_ROOT}/grub"
|
||||
GRUB_CFG="${GRUB_ROOT}/grub.cfg"
|
||||
GRUBENV="${GRUB_ROOT}/grubenv"
|
||||
GRUB_ENV="${ROOT}/grub.env"
|
||||
GRUB_HEAD='# GRUB Environment Block'
|
||||
GRUB_PUB="${GRUB_ROOT}/grub.pgp"
|
||||
|
||||
# wipe ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
|
||||
|
@ -147,7 +156,6 @@ fi
|
|||
mkdir "${BIOS_DIRECTORY}"
|
||||
|
||||
cp '/usr/lib/grub/i386-pc/boot.img' "${BIOS_DIRECTORY}"
|
||||
sign "${BIOS_DIRECTORY}/boot.img"
|
||||
|
||||
grub-mkimage \
|
||||
--compress "${COMPRESSION}" \
|
||||
|
@ -156,7 +164,6 @@ grub-mkimage \
|
|||
--output "${BIOS_FILE}" \
|
||||
--pubkey "${MEMDISK_PUB}" \
|
||||
"${MODULES[@]}" "${MODULES_BIOS[@]}"
|
||||
sign "${BIOS_FILE}"
|
||||
|
||||
echo -n '#! /usr/bin/env bash
|
||||
FILE="$(realpath "${BASH_SOURCE[0]}")"
|
||||
|
@ -166,7 +173,6 @@ DIRECTORY="$(dirname "${FILE}")"
|
|||
--directory "${DIRECTORY}" \
|
||||
"${1}"
|
||||
' >> "${BIOS_SETUP}"
|
||||
sign "${BIOS_SETUP}"
|
||||
|
||||
# grub ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
|
||||
|
||||
|
@ -179,16 +185,25 @@ cp "${DIRECTORY}/grub.cfg.sh" "${GRUB_CFG}"
|
|||
|
||||
# grub / env ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
|
||||
|
||||
grubenv="# GRUB Environment Block
|
||||
function write_env {
|
||||
local file="${1}"
|
||||
local kv="${2}"
|
||||
local text="${GRUB_HEAD}
|
||||
${kv}"
|
||||
while [ ${#text} -lt 1024 ] ; do
|
||||
text="${text}#"
|
||||
done
|
||||
echo -n "${text}" > "${file}"
|
||||
}
|
||||
|
||||
write_env "${GRUBENV}" "\
|
||||
live_name=${PROJECT}
|
||||
data_uuid=${DATA}
|
||||
"
|
||||
grublen=${#grubenv}
|
||||
while [ $grublen -lt 1024 ] ; do
|
||||
grubenv="${grubenv}#"
|
||||
grublen=${#grubenv}
|
||||
done
|
||||
echo -n "${grubenv}" > "${GRUB_ENV}"
|
||||
|
||||
write_env "${GRUB_ENV}" "\
|
||||
grub_sleep=999
|
||||
"
|
||||
|
||||
# grub / fonts ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
|
||||
|
||||
|
@ -238,15 +253,18 @@ cd "${DIRECTORY}"
|
|||
|
||||
# sign ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
|
||||
|
||||
sign "${BIOS_DIRECTORY}"
|
||||
sign "${UEFI_DIRECTORY}"
|
||||
sign "${ROOT}/${PROJECT}/live"
|
||||
sign "${GRUB_ROOT}"
|
||||
sign "${UEFI_DIRECTORY}"
|
||||
|
||||
# display ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
|
||||
|
||||
echo
|
||||
du --human-readable --summarize \
|
||||
"${UEFI_ROOT}" \
|
||||
"${BIOS_DIRECTORY}" \
|
||||
"${UEFI_ROOT}" \
|
||||
"${BOOT_ROOT}" \
|
||||
"${ROOT}"
|
||||
echo
|
||||
echo "ESP: ${ESP}"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue