aboutsummaryrefslogtreecommitdiffstats
path: root/main/mkinitfs/0001-init-support-individual-splash-image-per-fbdev.patch
blob: ce9bcd5f698e4a32b96d3d0e02ce343970f5797f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
From f7f60d610e921146415db59b501a78bde8f6bf1f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
Date: Wed, 17 Feb 2016 13:45:50 +0200
Subject: [PATCH] init: support individual splash image per fbdev

---
 initramfs-init.in | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/initramfs-init.in b/initramfs-init.in
index e18652a..10bc3ea 100755
--- a/initramfs-init.in
+++ b/initramfs-init.in
@@ -472,22 +472,28 @@ if [ -f "$sysroot/etc/.default_boot_services" -o ! -f "$ovl" ]; then
 fi
 
 if [ "$KOPT_splash" != "no" ]; then
+	echo "IMAGE_ALIGN=CM" > /tmp/fbsplash.cfg
+	local fbdev img
+	for fbdev in /dev/fb[0-9]; do
+		[ -e "$fbdev" ] || break
+		local num="${fbdev#/dev/fb}"
+		for img in /media/*/fbsplash$num.ppm; do
+			local config="${img%.*}.cfg"
+			[ -e "$config" ] || config=/tmp/fbsplash.cfg
+			fbsplash -s "$img" -d "$fbdev" -i "$config"
+			break
+		done
+	done
 	for fbsplash in /media/*/fbsplash.ppm; do
-		if [ -e "$fbsplash" ]; then
-			break;
-		fi
+		[ -e "$fbsplash" ] && break
 	done
 fi
 
 if [ -n "$fbsplash" ] && [ -e "$fbsplash" ]; then
-	local config
 	ebegin "Starting bootsplash"
 	mkfifo $sysroot/$splashfile
-	config="${fbsplash%.*}.cfg"
-	if ! [ -e "$config" ]; then
-		config=/tmp/fbsplash.cfg
-		echo "IMAGE_ALIGN=CM" > $config
-	fi
+	local config="${fbsplash%.*}.cfg"
+	[ -e "$config" ] || config=/tmp/fbsplash.cfg
 	setsid fbsplash -T 16 -s "$fbsplash" -i $config -f $sysroot/$splashfile &
 	eend 0
 else
-- 
2.7.1