diff --git a/config/sources/sun50iw1.conf b/config/sources/sun50iw1.conf index 061b1b7ac..3ff30438d 100644 --- a/config/sources/sun50iw1.conf +++ b/config/sources/sun50iw1.conf @@ -63,7 +63,7 @@ uboot_custom_postprocess() fi } -family_tweaks() +family_tweaks_s() { if [[ $BRANCH == default ]]; then # Wi-Fi: mask 2nd interface, disabled powermanagement diff --git a/config/sources/sun8i.conf b/config/sources/sun8i.conf index 4c0a3b066..be317c07d 100644 --- a/config/sources/sun8i.conf +++ b/config/sources/sun8i.conf @@ -28,7 +28,7 @@ esac [[ -z $CPUMIN ]] && CPUMIN=480000 [[ -z $CPUMAX ]] && CPUMAX=1010000 -family_tweaks() +family_tweaks_s() { # enable serial gadget on OTG port since the board doesn't have Ethernet case ${BOARD} in diff --git a/config/sources/sunxi64_common.inc b/config/sources/sunxi64_common.inc index 717225b97..aec65353c 100644 --- a/config/sources/sunxi64_common.inc +++ b/config/sources/sunxi64_common.inc @@ -56,6 +56,14 @@ case $BRANCH in ;; esac +family_tweaks() +{ + # execute specific tweaks function if present + [[ $(type -t family_tweaks_s) == function ]] && family_tweaks_s + + [[ $BRANCH != default ]] && cp $SRC/packages/blobs/splash/armbian-u-boot-24.bmp $SDCARD/boot/boot.bmp +} + write_uboot_platform() { # default diff --git a/config/sources/sunxi_common.inc b/config/sources/sunxi_common.inc index d64d628bf..f3634b8ef 100644 --- a/config/sources/sunxi_common.inc +++ b/config/sources/sunxi_common.inc @@ -40,6 +40,14 @@ case $BRANCH in ;; esac +family_tweaks() +{ + # execute specific tweaks function if present + [[ $(type -t family_tweaks_s) == function ]] && family_tweaks_s + + cp $SRC/packages/blobs/splash/armbian-u-boot-24.bmp $SDCARD/boot/boot.bmp +} + write_uboot_platform() { dd if=/dev/zero of=$2 bs=1k count=1023 seek=1 status=noxfer > /dev/null 2>&1 diff --git a/lib/build-all.sh b/lib/build-all.sh index 106e29395..56330e9df 100644 --- a/lib/build-all.sh +++ b/lib/build-all.sh @@ -205,7 +205,7 @@ n=0 for line in "${buildlist[@]}"; do unset LINUXFAMILY LINUXCONFIG KERNELDIR KERNELSOURCE KERNELBRANCH BOOTDIR BOOTSOURCE BOOTBRANCH ARCH UBOOT_USE_GCC KERNEL_USE_GCC \ CPUMIN CPUMAX UBOOT_VER KERNEL_VER GOVERNOR BOOTSIZE BOOTFS_TYPE UBOOT_TOOLCHAIN KERNEL_TOOLCHAIN PACKAGE_LIST_EXCLUDE KERNEL_IMAGE_TYPE \ - write_uboot_platform family_tweaks family_tweaks_bsp setup_write_uboot_platform uboot_custom_postprocess atf_custom_postprocess \ + write_uboot_platform family_tweaks family_tweaks_bsp setup_write_uboot_platform uboot_custom_postprocess atf_custom_postprocess family_tweaks_s \ BOOTSCRIPT UBOOT_TARGET_MAP LOCALVERSION UBOOT_COMPILER KERNEL_COMPILER BOOTCONFIG BOOTCONFIG_VAR_NAME BOOTCONFIG_DEFAULT BOOTCONFIG_NEXT BOOTCONFIG_DEV \ MODULES MODULES_NEXT MODULES_DEV INITRD_ARCH HAS_UUID_SUPPORT BOOTENV_FILE BOOTDELAY MODULES_BLACKLIST MODULES_BLACKLIST_NEXT \ MODULES_BLACKLIST_DEV MOUNT SDCARD BOOTPATCHDIR KERNELPATCHDIR buildtext RELEASE IMAGE_TYPE OVERLAY_PREFIX ASOUND_STATE \ diff --git a/packages/blobs/splash/armbian-u-boot-24.bmp b/packages/blobs/splash/armbian-u-boot-24.bmp new file mode 100644 index 000000000..ab5677b8e Binary files /dev/null and b/packages/blobs/splash/armbian-u-boot-24.bmp differ diff --git a/patch/u-boot/u-boot-sunxi/sunxi-boot-splash.patch b/patch/u-boot/u-boot-sunxi/sunxi-boot-splash.patch index 54a298997..868cac93d 100644 --- a/patch/u-boot/u-boot-sunxi/sunxi-boot-splash.patch +++ b/patch/u-boot/u-boot-sunxi/sunxi-boot-splash.patch @@ -1,40 +1,62 @@ +diff --git a/cmd/Kconfig b/cmd/Kconfig +index d6d130edfa..92795119ea 100644 +--- a/cmd/Kconfig ++++ b/cmd/Kconfig +@@ -1029,6 +1029,7 @@ menu "Misc commands" + config CMD_BMP + bool "Enable 'bmp' command" + depends on LCD || DM_VIDEO || VIDEO ++ default y + help + This provides a way to obtain information about a BMP-format iamge + and to display it. BMP (which presumably stands for BitMaP) is a diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h -index 3a360ca4..0423c08 +index 9ed6b9892c..75d5176edf 100644 --- a/include/config_distro_bootcmd.h +++ b/include/config_distro_bootcmd.h -@@ -327,6 +327,9 @@ +@@ -323,6 +323,15 @@ BOOTENV_SHARED_UBIFS \ BOOTENV_SHARED_EFI \ "boot_prefixes=/ /boot/\0" \ + "splashpos=m,m\0" \ + "splashimage=66000000\0" \ -+ "loadsplash=if load mmc 0 ${splashimage} /boot/boot.bmp || load mmc 0 ${splashimage} boot.bmp; then bmp d ${splashimage}; fi\0" \ ++ "loadsplash= " \ ++ "for prefix in ${boot_prefixes}; do " \ ++ "if test -e mmc 0 ${prefix}boot.bmp; then " \ ++ "load mmc 0 ${splashimage} ${prefix}boot.bmp; " \ ++ "bmp d ${splashimage}; " \ ++ "fi; " \ ++ "done\0" \ "boot_scripts=boot.scr.uimg boot.scr\0" \ "boot_script_dhcp=boot.scr.uimg\0" \ BOOTENV_BOOT_TARGETS \ -@@ -390,7 +393,7 @@ - "done\0" - - #ifndef CONFIG_BOOTCOMMAND --#define CONFIG_BOOTCOMMAND "run distro_bootcmd" -+#define CONFIG_BOOTCOMMAND "run loadsplash; run distro_bootcmd" - #endif - - #endif /* _CONFIG_CMD_DISTRO_BOOTCMD_H */ diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h -index 2d6b815..33a7b86 +index 02d7be0849..cbdea20d08 100644 --- a/include/configs/sunxi-common.h +++ b/include/configs/sunxi-common.h -@@ -10,6 +10,12 @@ - * SPDX-License-Identifier: GPL-2.0+ - */ +@@ -284,6 +284,16 @@ extern int soft_i2c_gpio_scl; -+#ifdef CONFIG_VIDEO + #endif /* CONFIG_VIDEO */ + ++#if defined CONFIG_VIDEO || defined CONFIG_DM_VIDEO ++#define CONFIG_VIDEO_LOGO +#define CONFIG_SPLASH_SCREEN +#define CONFIG_SPLASH_SCREEN_ALIGN -+#define CONFIG_CMD_BMP ++#define CONFIG_BMP_16BPP ++#define CONFIG_BMP_24BPP ++#define CONFIG_BMP_32BPP +#define CONFIG_VIDEO_BMP_RLE8 +#endif - #ifndef _SUNXI_COMMON_CONFIG_H - #define _SUNXI_COMMON_CONFIG_H ++ + /* Ethernet support */ + #ifdef CONFIG_SUNXI_EMAC + #define CONFIG_PHY_ADDR 1 +@@ -444,7 +454,7 @@ extern int soft_i2c_gpio_scl; + #ifdef CONFIG_USB_KEYBOARD + #define CONSOLE_STDIN_SETTINGS \ +- "preboot=usb start\0" \ ++ "preboot=run loadsplash; usb start\0" \ + "stdin=serial,usbkbd\0" + #else + #define CONSOLE_STDIN_SETTINGS \