137 lines
6.0 KiB
Bash
137 lines
6.0 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
#
|
||
|
# SPDX-License-Identifier: GPL-2.0
|
||
|
#
|
||
|
# Copyright (c) 2013-2023 Igor Pecovnik, igor@armbian.com
|
||
|
#
|
||
|
# This file is a part of the Armbian Build Framework
|
||
|
# https://github.com/armbian/build/
|
||
|
|
||
|
#--------------------------------------------------------------------------------------------------------------------------------
|
||
|
# Create kernel boot logo from packages/blobs/splash/logo.png and packages/blobs/splash/spinner.gif (animated)
|
||
|
# and place to the file /lib/firmware/bootsplash
|
||
|
#--------------------------------------------------------------------------------------------------------------------------------
|
||
|
function boot_logo() {
|
||
|
# this requires `imagemagick`
|
||
|
|
||
|
display_alert "Building kernel splash logo" "$RELEASE" "info"
|
||
|
|
||
|
declare LOGO LOGO_WIDTH LOGO_HEIGHT THROBBER THROBBER_HEIGHT THROBBER_WIDTH
|
||
|
LOGO=${SRC}/packages/blobs/splash/logo.png
|
||
|
LOGO_WIDTH=$(identify $LOGO | cut -d " " -f 3 | cut -d x -f 1)
|
||
|
LOGO_HEIGHT=$(identify $LOGO | cut -d " " -f 3 | cut -d x -f 2)
|
||
|
THROBBER=${SRC}/packages/blobs/splash/spinner.gif
|
||
|
THROBBER_WIDTH=$(identify $THROBBER | head -1 | cut -d " " -f 3 | cut -d x -f 1)
|
||
|
THROBBER_HEIGHT=$(identify $THROBBER | head -1 | cut -d " " -f 3 | cut -d x -f 2)
|
||
|
run_host_command_logged convert -alpha remove -background "'#000000'" "$LOGO" "${SDCARD}"/tmp/logo.rgb
|
||
|
run_host_command_logged convert -alpha remove -background "'#000000'" "$THROBBER" "${SDCARD}"/tmp/throbber%02d.rgb
|
||
|
|
||
|
raw_command="[...shortened...] bootsplash-packer" \
|
||
|
run_host_x86_binary_logged "${SRC}/packages/blobs/splash/bootsplash-packer" \
|
||
|
--bg_red 0x00 \
|
||
|
--bg_green 0x00 \
|
||
|
--bg_blue 0x00 \
|
||
|
--frame_ms 48 \
|
||
|
--picture \
|
||
|
--pic_width $LOGO_WIDTH \
|
||
|
--pic_height $LOGO_HEIGHT \
|
||
|
--pic_position 0 \
|
||
|
--blob "${SDCARD}"/tmp/logo.rgb \
|
||
|
--picture \
|
||
|
--pic_width $THROBBER_WIDTH \
|
||
|
--pic_height $THROBBER_HEIGHT \
|
||
|
--pic_position 0x05 \
|
||
|
--pic_position_offset 200 \
|
||
|
--pic_anim_type 1 \
|
||
|
--pic_anim_loop 0 \
|
||
|
--blob "${SDCARD}"/tmp/throbber00.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber01.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber02.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber03.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber04.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber05.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber06.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber07.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber08.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber09.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber10.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber11.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber12.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber13.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber14.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber15.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber16.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber17.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber18.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber19.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber20.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber21.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber22.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber23.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber24.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber25.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber26.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber27.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber28.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber29.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber30.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber31.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber32.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber33.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber34.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber35.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber36.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber37.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber38.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber39.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber40.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber41.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber42.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber43.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber44.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber45.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber46.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber47.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber48.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber49.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber50.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber51.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber52.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber53.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber54.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber55.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber56.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber57.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber58.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber59.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber60.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber61.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber62.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber63.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber64.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber65.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber66.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber67.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber68.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber69.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber70.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber71.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber72.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber73.rgb \
|
||
|
--blob "${SDCARD}"/tmp/throbber74.rgb \
|
||
|
"${SDCARD}"/lib/firmware/bootsplash.armbian \
|
||
|
"| { grep --line-buffered -v -e 'File header' -e 'Picture header' -e 'Blob header' -e 'length:' -e 'type:' -e 'picture_id:' -e 'bg_' -e 'num_' -e '^$' || true; }"
|
||
|
|
||
|
if [[ $BOOT_LOGO == yes || $BOOT_LOGO == desktop && $BUILD_DESKTOP == yes ]]; then
|
||
|
[[ -f "${SDCARD}"/boot/armbianEnv.txt ]] && grep -q '^bootlogo' "${SDCARD}"/boot/armbianEnv.txt &&
|
||
|
sed -i 's/^bootlogo.*/bootlogo=true/' "${SDCARD}"/boot/armbianEnv.txt || echo 'bootlogo=true' >> "${SDCARD}"/boot/armbianEnv.txt
|
||
|
[[ -f "${SDCARD}"/boot/boot.ini ]] && sed -i 's/^setenv bootlogo.*/setenv bootlogo "true"/' "${SDCARD}"/boot/boot.ini
|
||
|
|
||
|
# enable additional services. @TODO: rpardini: really wonder where do these come from?
|
||
|
chroot_sdcard "systemctl --no-reload enable bootsplash-ask-password-console.path || true"
|
||
|
chroot_sdcard "systemctl --no-reload enable bootsplash-hide-when-booted.service || true"
|
||
|
chroot_sdcard "systemctl --no-reload enable bootsplash-show-on-shutdown.service || true"
|
||
|
fi
|
||
|
return 0
|
||
|
}
|