mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-07-11 14:02:52 +02:00
cc1642096e
This results in much cleaner copyright and license declarations. SPDX headers are legally recognised and make auditing easier. Also, remove descriptions of each script, from each script. Libreboot documentation at docs/maintain/ describes them. Signed-off-by: Leah Rowe <leah@libreboot.org>
72 lines
2.5 KiB
Bash
Executable File
72 lines
2.5 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
# SPDX-FileCopyrightText: 2014,2015,2020,2021,2023 Leah Rowe <info@minifree.org>
|
|
|
|
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
|
set -u -e
|
|
|
|
. "include/err.sh"
|
|
|
|
grubcfgsdir="config/grub"
|
|
|
|
. "${grubcfgsdir}/modules.list"
|
|
|
|
main()
|
|
{
|
|
printf "Creating GRUB payloads and configuration files\n"
|
|
|
|
handle_dependencies
|
|
|
|
for keylayoutfile in "${grubcfgsdir}/keymap/"*.gkb; do
|
|
[ -f "${keylayoutfile}" ] || continue
|
|
keymap="${keylayoutfile##${grubcfgsdir}/keymap/}"
|
|
keymap="${keymap%.gkb}"
|
|
printf "keymap %s\n" "${keymap}" > \
|
|
"elf/grub/keymap_${keymap}.cfg" || \
|
|
err "make_keymapcfgs: cannot create elf/grub/keymap_${keymap}.cfg"
|
|
done
|
|
|
|
grub/grub-mkstandalone \
|
|
--grub-mkimage="grub/grub-mkimage" \
|
|
-O i386-coreboot \
|
|
-o "elf/grub/grub.elf" \
|
|
-d grub/grub-core/ \
|
|
--fonts= --themes= --locales= \
|
|
--modules="${grub_modules}" \
|
|
--install-modules="${grub_install_modules}" \
|
|
"/boot/grub/layouts/colemak.gkb=${grubcfgsdir}/keymap/colemak.gkb" \
|
|
"/boot/grub/layouts/deqwertz.gkb=${grubcfgsdir}/keymap/deqwertz.gkb" \
|
|
"/boot/grub/layouts/esqwerty.gkb=${grubcfgsdir}/keymap/esqwerty.gkb" \
|
|
"/boot/grub/layouts/frazerty.gkb=${grubcfgsdir}/keymap/frazerty.gkb" \
|
|
"/boot/grub/layouts/frdvbepo.gkb=${grubcfgsdir}/keymap/frdvbepo.gkb" \
|
|
"/boot/grub/layouts/itqwerty.gkb=${grubcfgsdir}/keymap/itqwerty.gkb" \
|
|
"/boot/grub/layouts/svenska.gkb=${grubcfgsdir}/keymap/svenska.gkb" \
|
|
"/boot/grub/layouts/trqwerty.gkb=${grubcfgsdir}/keymap/trqwerty.gkb" \
|
|
"/boot/grub/layouts/ukdvorak.gkb=${grubcfgsdir}/keymap/ukdvorak.gkb" \
|
|
"/boot/grub/layouts/ukqwerty.gkb=${grubcfgsdir}/keymap/ukqwerty.gkb" \
|
|
"/boot/grub/layouts/usdvorak.gkb=${grubcfgsdir}/keymap/usdvorak.gkb" \
|
|
"/boot/grub/layouts/usqwerty.gkb=${grubcfgsdir}/keymap/usqwerty.gkb" \
|
|
"/boot/grub/grub.cfg=${grubcfgsdir}/config/grub_memdisk.cfg" \
|
|
"/boot/grub/grub_default.cfg=${grubcfgsdir}/config/grub.cfg" \
|
|
err "build_grub_elf: cannot build grub payload (grub-mkstandalone)"
|
|
|
|
printf "\nDone! Check elf/grub/\n\n"
|
|
}
|
|
|
|
handle_dependencies()
|
|
{
|
|
[ -d "grub/" ] || \
|
|
./update project repo grub || \
|
|
err "handle_dependencies: cannot fetch grub"
|
|
[ -f "grub/grub-mkstandalone" ] || \
|
|
./build grub utils || \
|
|
err "handle_dependencies: cannot build grub utils"
|
|
[ -d "elf/grub" ] || \
|
|
mkdir -p elf/grub || \
|
|
err "handle_dependencies: cannot mkdir elf/grub"
|
|
rm -f elf/grub/* || \
|
|
err "handle_dependencies: cannot rm inside: elf/grub/"
|
|
}
|
|
|
|
main $@
|