aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2014-11-22 08:59:20 +0000
committerTimo Teräs <timo.teras@iki.fi>2014-11-22 08:59:46 +0000
commit9cfd4b125daacff3e09c527e020432e3660ce1f8 (patch)
tree4f3fc6f702606c7fa2e35add924dc64db16611ba
parentc3752969e308ec6d7f9eab043d79cb6d31dcfc62 (diff)
downloadalpine_aports-9cfd4b125daacff3e09c527e020432e3660ce1f8.tar.bz2
alpine_aports-9cfd4b125daacff3e09c527e020432e3660ce1f8.tar.xz
alpine_aports-9cfd4b125daacff3e09c527e020432e3660ce1f8.zip
main/busybox: fixes and minor new features to fbsplash
-rw-r--r--main/busybox/1000-fbsplash-use-virtual-y-size-in-mmap-size-calculation.patch32
-rw-r--r--main/busybox/1001-fbsplash-support-console-switching.patch186
-rw-r--r--main/busybox/1002-fbsplash-support-image-and-bar-alignment-and-positio.patch184
-rw-r--r--main/busybox/APKBUILD15
4 files changed, 416 insertions, 1 deletions
diff --git a/main/busybox/1000-fbsplash-use-virtual-y-size-in-mmap-size-calculation.patch b/main/busybox/1000-fbsplash-use-virtual-y-size-in-mmap-size-calculation.patch
new file mode 100644
index 0000000000..ddfeb7f967
--- /dev/null
+++ b/main/busybox/1000-fbsplash-use-virtual-y-size-in-mmap-size-calculation.patch
@@ -0,0 +1,32 @@
1From 7f70f194ae135bd1e856c2dc811b8fa4a56296ea Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
3Date: Thu, 20 Sep 2012 09:41:56 +0300
4Subject: [PATCH] fbsplash: use virtual y size in mmap size calculations
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9The virtual y can be larger - and we can be even writing there since
10we are taking into account the y offset. Avoids possible crash.
11
12Signed-off-by: Timo Teräs <timo.teras@iki.fi>
13---
14 miscutils/fbsplash.c | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-)
16
17diff --git a/miscutils/fbsplash.c b/miscutils/fbsplash.c
18index 7b695b2..58e491d 100644
19--- a/miscutils/fbsplash.c
20+++ b/miscutils/fbsplash.c
21@@ -150,7 +150,7 @@ static void fb_open(const char *strfb_device)
22
23 // map the device in memory
24 G.addr = mmap(NULL,
25- G.scr_var.yres * G.scr_fix.line_length,
26+ G.scr_var.yres_virtual * G.scr_fix.line_length,
27 PROT_WRITE, MAP_SHARED, fbfd, 0);
28 if (G.addr == MAP_FAILED)
29 bb_perror_msg_and_die("mmap");
30--
312.1.3
32
diff --git a/main/busybox/1001-fbsplash-support-console-switching.patch b/main/busybox/1001-fbsplash-support-console-switching.patch
new file mode 100644
index 0000000000..2c88e2d78f
--- /dev/null
+++ b/main/busybox/1001-fbsplash-support-console-switching.patch
@@ -0,0 +1,186 @@
1From 78e0c5d3ec8354b94e5d7bd978222651dbb2c8c0 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
3Date: Mon, 24 Sep 2012 07:58:29 +0300
4Subject: [PATCH] fbsplash: support console switching
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Signed-off-by: Timo Teräs <timo.teras@iki.fi>
10---
11 miscutils/fbsplash.c | 83 +++++++++++++++++++++++++++++++++++++++++++++++-----
12 1 file changed, 76 insertions(+), 7 deletions(-)
13
14diff --git a/miscutils/fbsplash.c b/miscutils/fbsplash.c
15index 58e491d..8599f78 100644
16--- a/miscutils/fbsplash.c
17+++ b/miscutils/fbsplash.c
18@@ -22,7 +22,7 @@
19 */
20
21 //usage:#define fbsplash_trivial_usage
22-//usage: "-s IMGFILE [-c] [-d DEV] [-i INIFILE] [-f CMD]"
23+//usage: "-s IMGFILE [-c] [-d DEV] [-i INIFILE] [-f CMD] [-T tty]"
24 //usage:#define fbsplash_full_usage "\n\n"
25 //usage: " -s Image"
26 //usage: "\n -c Hide cursor"
27@@ -32,10 +32,16 @@
28 //usage: "\n BAR_R,BAR_G,BAR_B"
29 //usage: "\n -f Control pipe (else exit after drawing image)"
30 //usage: "\n commands: 'NN' (% for progress bar) or 'exit'"
31+//usage: "\n -T Switch to TTY to hide all console messages"
32
33 #include "libbb.h"
34 #include <linux/fb.h>
35
36+#include <sys/vt.h>
37+#include <sys/ioctl.h>
38+#include <linux/tiocl.h>
39+#include <linux/kd.h>
40+
41 /* If you want logging messages on /tmp/fbsplash.log... */
42 #define DEBUG 0
43
44@@ -47,6 +53,8 @@ struct globals {
45 unsigned char *addr; // pointer to framebuffer memory
46 unsigned ns[7]; // n-parameters
47 const char *image_filename;
48+ int silent_tty, fd_tty_s;
49+ bool do_not_draw;
50 struct fb_var_screeninfo scr_var;
51 struct fb_fix_screeninfo scr_fix;
52 unsigned bytes_per_pixel;
53@@ -455,6 +463,11 @@ static void init(const char *cfg_filename)
54 config_close(parser);
55 }
56
57+static void sighandler(int sig)
58+{
59+ ioctl(G.fd_tty_s, VT_RELDISP, sig == SIGUSR1 ? 1 : 2);
60+ G.do_not_draw = (sig != SIGUSR2);
61+}
62
63 int fbsplash_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
64 int fbsplash_main(int argc UNUSED_PARAM, char **argv)
65@@ -464,6 +477,9 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv)
66 char *num_buf;
67 unsigned num;
68 bool bCursorOff;
69+ int fd_tty0, active_vt;
70+ struct vt_stat vtstat;
71+ struct vt_mode vt;
72
73 INIT_G();
74
75@@ -471,8 +487,10 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv)
76 fb_device = "/dev/fb0";
77 cfg_filename = NULL;
78 fifo_filename = NULL;
79- bCursorOff = 1 & getopt32(argv, "cs:d:i:f:",
80- &G.image_filename, &fb_device, &cfg_filename, &fifo_filename);
81+ opt_complementary = "T+"; // numeric params
82+ bCursorOff = 1 & getopt32(argv, "cs:d:i:f:T:",
83+ &G.image_filename, &fb_device, &cfg_filename, &fifo_filename,
84+ &G.silent_tty);
85
86 // parse configuration file
87 if (cfg_filename)
88@@ -482,11 +500,43 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv)
89 if (!G.image_filename)
90 bb_show_usage();
91
92+ fd_tty0 = get_console_fd_or_die();
93+ if (G.silent_tty) {
94+ char buf[16];
95+
96+ /* Initialize TTY */
97+ bb_signals((1LL << SIGUSR1) | (1LL << SIGUSR2), sighandler);
98+ snprintf(buf, sizeof(buf), "/dev/tty%d", G.silent_tty);
99+ G.fd_tty_s = xopen(buf, O_RDWR | O_NOCTTY);
100+
101+ /* Activate TTY */
102+ xioctl(fd_tty0, VT_GETSTATE, &vtstat);
103+ active_vt = vtstat.v_active;
104+ console_make_active(fd_tty0, G.silent_tty);
105+
106+ /* Get notifications on console changes */
107+ vt.mode = VT_PROCESS;
108+ vt.waitv = 0;
109+ vt.relsig = SIGUSR1;
110+ vt.acqsig = SIGUSR2;
111+ ioctl(G.fd_tty_s, VT_SETMODE, &vt);
112+
113+ /* Redirect all kernel messages to tty1 so that they don't get
114+ * printed over our silent splash image. And clear it. */
115+ buf[0] = TIOCL_SETKMSGREDIRECT;
116+ buf[1] = 1;
117+ ioctl(G.fd_tty_s, TIOCLINUX, buf);
118+ full_write(G.fd_tty_s, "\e[H\e[2J" "\e[?17;0c", 7+8);
119+ ioctl(G.fd_tty_s, KDSETMODE, KD_GRAPHICS);
120+ } else {
121+ G.fd_tty_s = STDOUT_FILENO;
122+ }
123+
124 fb_open(fb_device);
125
126 if (fifo_filename && bCursorOff) {
127 // hide cursor (BEFORE any fb ops)
128- full_write(STDOUT_FILENO, "\033[?25l", 6);
129+ full_write(G.fd_tty_s, "\033[?25l", 6);
130 }
131
132 fb_drawimage();
133@@ -494,6 +544,7 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv)
134 if (!fifo_filename)
135 return EXIT_SUCCESS;
136
137+ sig_block(SIGUSR1);
138 fp = xfopen_stdin(fifo_filename);
139 if (fp != stdin) {
140 // For named pipes, we want to support this:
141@@ -509,8 +560,9 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv)
142 // and become an additional writer :)
143 open(fifo_filename, O_WRONLY); // errors are ignored
144 }
145-
146 fb_drawprogressbar(0);
147+ sig_unblock(SIGUSR1);
148+
149 // Block on read, waiting for some input.
150 // Use of <stdio.h> style I/O allows to correctly
151 // handle a case when we have many buffered lines
152@@ -525,12 +577,29 @@ int fbsplash_main(int argc UNUSED_PARAM, char **argv)
153 #if DEBUG
154 DEBUG_MESSAGE(itoa(num));
155 #endif
156- fb_drawprogressbar(num);
157+ sig_block(SIGUSR1);
158+ if (!G.do_not_draw)
159+ fb_drawprogressbar(num);
160+ sig_unblock(SIGUSR1);
161 }
162 free(num_buf);
163 }
164
165- if (bCursorOff) // restore cursor
166+ if (G.silent_tty) {
167+ usleep(100*1000);
168+
169+ ioctl(G.fd_tty_s, VT_RELDISP, 1);
170+ ioctl(G.fd_tty_s, KDSETMODE, KD_TEXT);
171+ vt.mode = VT_AUTO;
172+ vt.waitv = 0;
173+ ioctl(G.fd_tty_s, VT_SETMODE, &vt);
174+ close(G.fd_tty_s);
175+
176+ xioctl(fd_tty0, VT_GETSTATE, &vtstat);
177+ if (vtstat.v_active == G.silent_tty)
178+ console_make_active(fd_tty0, active_vt);
179+ ioctl(fd_tty0, VT_DISALLOCATE, (void *)(ptrdiff_t)G.silent_tty);
180+ } else if (bCursorOff) // restore cursor
181 full_write(STDOUT_FILENO, "\033[?25h", 6);
182
183 return EXIT_SUCCESS;
184--
1852.1.3
186
diff --git a/main/busybox/1002-fbsplash-support-image-and-bar-alignment-and-positio.patch b/main/busybox/1002-fbsplash-support-image-and-bar-alignment-and-positio.patch
new file mode 100644
index 0000000000..2ed0fa050d
--- /dev/null
+++ b/main/busybox/1002-fbsplash-support-image-and-bar-alignment-and-positio.patch
@@ -0,0 +1,184 @@
1From 99d9c9a46b47190f1d2f061ba11c767b4089cf0a Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
3Date: Fri, 21 Nov 2014 16:06:34 +0200
4Subject: [PATCH] fbsplash: support image and bar alignment and positioning
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Signed-off-by: Timo Teräs <timo.teras@iki.fi>
10---
11 miscutils/fbsplash.c | 91 +++++++++++++++++++++++++++++++++++++++++++---------
12 1 file changed, 76 insertions(+), 15 deletions(-)
13
14diff --git a/miscutils/fbsplash.c b/miscutils/fbsplash.c
15index 8599f78..660fddd 100644
16--- a/miscutils/fbsplash.c
17+++ b/miscutils/fbsplash.c
18@@ -28,6 +28,7 @@
19 //usage: "\n -c Hide cursor"
20 //usage: "\n -d Framebuffer device (default /dev/fb0)"
21 //usage: "\n -i Config file (var=value):"
22+//usage: "\n IMAGE_ALIGN"
23 //usage: "\n BAR_LEFT,BAR_TOP,BAR_WIDTH,BAR_HEIGHT"
24 //usage: "\n BAR_R,BAR_G,BAR_B"
25 //usage: "\n -f Control pipe (else exit after drawing image)"
26@@ -45,13 +46,38 @@
27 /* If you want logging messages on /tmp/fbsplash.log... */
28 #define DEBUG 0
29
30+enum {
31+ image_align,
32+
33+ image_posx,
34+ image_posy,
35+ bar_width,
36+ bar_height,
37+ bar_posx,
38+ bar_posy,
39+ bar_colr,
40+ bar_colg,
41+ bar_colb,
42+
43+ debug
44+};
45+
46+#define nimage_align ns[image_align]
47+#define nbar_width ns[bar_width]
48+#define nbar_height ns[bar_height]
49+#define nbar_posx ns[bar_posx]
50+#define nbar_posy ns[bar_posy]
51+#define nbar_colr ns[bar_colr]
52+#define nbar_colg ns[bar_colg]
53+#define nbar_colb ns[bar_colb]
54+
55 struct globals {
56 #if DEBUG
57 bool bdebug_messages; // enable/disable logging
58 FILE *logfile_fd; // log file
59 #endif
60 unsigned char *addr; // pointer to framebuffer memory
61- unsigned ns[7]; // n-parameters
62+ unsigned ns[debug+1]; // n-parameters
63 const char *image_filename;
64 int silent_tty, fd_tty_s;
65 bool do_not_draw;
66@@ -68,14 +94,6 @@ struct globals {
67 SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); \
68 } while (0)
69
70-#define nbar_width ns[0] // progress bar width
71-#define nbar_height ns[1] // progress bar height
72-#define nbar_posx ns[2] // progress bar horizontal position
73-#define nbar_posy ns[3] // progress bar vertical position
74-#define nbar_colr ns[4] // progress bar color red component
75-#define nbar_colg ns[5] // progress bar color green component
76-#define nbar_colb ns[6] // progress bar color blue component
77-
78 #if DEBUG
79 #define DEBUG_MESSAGE(strMessage, args...) \
80 if (G.bdebug_messages) { \
81@@ -356,7 +374,7 @@ static void fb_drawimage(void)
82 FILE *theme_file;
83 char *read_ptr;
84 unsigned char *pixline;
85- unsigned i, j, width, height, line_size;
86+ int i, j, width, height, line_size, xoffs, yoffs, xstart;
87
88 if (LONE_DASH(G.image_filename)) {
89 theme_file = stdin;
90@@ -404,18 +422,46 @@ static void fb_drawimage(void)
91 line_size = width*3;
92 pixline = xmalloc(line_size);
93
94+#if 0
95 if (width > G.scr_var.xres)
96 width = G.scr_var.xres;
97 if (height > G.scr_var.yres)
98 height = G.scr_var.yres;
99- for (j = 0; j < height; j++) {
100+#endif
101+
102+ xoffs = yoffs = 0;
103+ switch (G.nimage_align % 3) {
104+ case 1: xoffs = (G.scr_var.xres - width) / 2; break;
105+ case 2: xoffs = G.scr_var.xres - width; break;
106+ }
107+ xstart = 0;
108+ if (xoffs < 0) {
109+ xstart = -xoffs;
110+ width -= xstart;
111+ xoffs = 0;
112+ }
113+ xoffs *= G.bytes_per_pixel;
114+ if (width > G.scr_var.xres)
115+ width = G.scr_var.xres;
116+
117+ switch (G.nimage_align / 3) {
118+ case 1: yoffs = (G.scr_var.yres - height) / 2; break;
119+ case 2: yoffs = G.scr_var.yres - height; break;
120+ }
121+
122+ for (j = 0; j < height && yoffs < G.scr_var.yres; j++, yoffs++) {
123 unsigned char *pixel;
124 unsigned char *src;
125
126 if (fread(pixline, 1, line_size, theme_file) != line_size)
127 bb_error_msg_and_die("bad PPM file '%s'", G.image_filename);
128+
129+ if (yoffs < 0)
130+ continue;
131+
132 pixel = pixline;
133- src = G.addr + j * G.scr_fix.line_length;
134+ src = G.addr + yoffs * G.scr_fix.line_length + xoffs;
135+
136 for (i = 0; i < width; i++) {
137 unsigned thispix = fb_pixel_value(pixel[0], pixel[1], pixel[2]);
138 fb_write_pixel(src, thispix);
139@@ -434,9 +480,17 @@ static void fb_drawimage(void)
140 */
141 static void init(const char *cfg_filename)
142 {
143+ static const char align_names[] ALIGN1 =
144+ "LT\0" "CT\0" "RT\0"
145+ "LM\0" "CM\0" "RM\0"
146+ "LB\0" "CB\0" "RB\0";
147 static const char param_names[] ALIGN1 =
148+ "IMAGE_ALIGN\0"
149+
150+ "IMAGE_X\0" "IMAGE_Y\0"
151 "BAR_WIDTH\0" "BAR_HEIGHT\0"
152 "BAR_LEFT\0" "BAR_TOP\0"
153+
154 "BAR_R\0" "BAR_G\0" "BAR_B\0"
155 #if DEBUG
156 "DEBUG\0"
157@@ -446,14 +500,21 @@ static void init(const char *cfg_filename)
158 parser_t *parser = config_open2(cfg_filename, xfopen_stdin);
159 while (config_read(parser, token, 2, 2, "#=",
160 (PARSE_NORMAL | PARSE_MIN_DIE) & ~(PARSE_TRIM | PARSE_COLLAPSE))) {
161- unsigned val = xatoi_positive(token[1]);
162+ unsigned val;
163 int i = index_in_strings(param_names, token[0]);
164+
165 if (i < 0)
166 bb_error_msg_and_die("syntax error: %s", token[0]);
167- if (i >= 0 && i < 7)
168+
169+ if (i <= image_align)
170+ val = index_in_strings(align_names, token[1]);
171+ else
172+ val = xatoi_positive(token[1]);
173+
174+ if (i < debug)
175 G.ns[i] = val;
176 #if DEBUG
177- if (i == 7) {
178+ if (i == debug) {
179 G.bdebug_messages = val;
180 if (G.bdebug_messages)
181 G.logfile_fd = xfopen_for_write("/tmp/fbsplash.log");
182--
1832.1.3
184
diff --git a/main/busybox/APKBUILD b/main/busybox/APKBUILD
index d84c263cf3..dd21d7af61 100644
--- a/main/busybox/APKBUILD
+++ b/main/busybox/APKBUILD
@@ -1,7 +1,7 @@
1# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 1# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
2pkgname=busybox 2pkgname=busybox
3pkgver=1.22.1 3pkgver=1.22.1
4pkgrel=13 4pkgrel=14
5pkgdesc="Size optimized toolbox of many common UNIX utilities" 5pkgdesc="Size optimized toolbox of many common UNIX utilities"
6url=http://busybox.net 6url=http://busybox.net
7arch="all" 7arch="all"
@@ -37,6 +37,10 @@ source="http://busybox.net/downloads/$pkgname-$pkgver.tar.bz2
37 fix-top.patch 37 fix-top.patch
38 0001-diff-add-support-for-no-dereference.patch 38 0001-diff-add-support-for-no-dereference.patch
39 39
40 1000-fbsplash-use-virtual-y-size-in-mmap-size-calculation.patch
41 1001-fbsplash-support-console-switching.patch
42 1002-fbsplash-support-image-and-bar-alignment-and-positio.patch
43
40 busyboxconfig 44 busyboxconfig
41 glibc.patch" 45 glibc.patch"
42 46
@@ -136,6 +140,9 @@ d372d376820957fd5f2aee158af9867e 0001-sendmail-make-f-optional-document-its-def
1367cadebb1071d648b947cfbcca9839721 0001-top-fix-and-merge-code-to-parse-proc-meminfo.patch 1407cadebb1071d648b947cfbcca9839721 0001-top-fix-and-merge-code-to-parse-proc-meminfo.patch
137f2821edec523aadb36c3973d14386c1c fix-top.patch 141f2821edec523aadb36c3973d14386c1c fix-top.patch
13869fa40bee9abec058427bf67fde1b61e 0001-diff-add-support-for-no-dereference.patch 14269fa40bee9abec058427bf67fde1b61e 0001-diff-add-support-for-no-dereference.patch
143699ce5aa1095ba4419cd595cec8a8f75 1000-fbsplash-use-virtual-y-size-in-mmap-size-calculation.patch
144b56d306ccba574da78dff060b7330806 1001-fbsplash-support-console-switching.patch
1454fe5f9e973674c7db3d07f295c363a7c 1002-fbsplash-support-image-and-bar-alignment-and-positio.patch
1392fe6e74affe7d4e5e112035cead59432 busyboxconfig 1462fe6e74affe7d4e5e112035cead59432 busyboxconfig
140befaac2c59c380e36a452b3f1c1d4a3a glibc.patch" 147befaac2c59c380e36a452b3f1c1d4a3a glibc.patch"
141sha256sums="ae0b029d0a9e4dd71a077a790840e496dd838998e4571b87b60fed7462b6678b busybox-1.22.1.tar.bz2 148sha256sums="ae0b029d0a9e4dd71a077a790840e496dd838998e4571b87b60fed7462b6678b busybox-1.22.1.tar.bz2
@@ -159,6 +166,9 @@ ac2cd5fed91bfaec22ed1f2766396d0feb29b9b96f20b2c12d5d8ac8769afae9 0001-linedit-d
15979c6e19853a4ceecfec65311e5f8e66033243b8250829c06420d27d8240f1775 0001-top-fix-and-merge-code-to-parse-proc-meminfo.patch 16679c6e19853a4ceecfec65311e5f8e66033243b8250829c06420d27d8240f1775 0001-top-fix-and-merge-code-to-parse-proc-meminfo.patch
160d4673907d58ce80e78a3bfe3c2414b15e7a2b072cfea0c87c2ae9f709744b9ec fix-top.patch 167d4673907d58ce80e78a3bfe3c2414b15e7a2b072cfea0c87c2ae9f709744b9ec fix-top.patch
16170180473e3939402e460b25de8273a5ce7f62b130a9efe31f33d847b2406ac92 0001-diff-add-support-for-no-dereference.patch 16870180473e3939402e460b25de8273a5ce7f62b130a9efe31f33d847b2406ac92 0001-diff-add-support-for-no-dereference.patch
169043963183cad556bdae5d5608180f0cb76cf7eede175cd97aa002a787780500f 1000-fbsplash-use-virtual-y-size-in-mmap-size-calculation.patch
170b8b0b16ed67b0159256193b1d2108b8ef9aa8a334ab81e463bb970c71257da9a 1001-fbsplash-support-console-switching.patch
171e1f3fad8e21dfd72cfcae7ab3ba31d7938e964e0f9ec08b2da0b14d462435424 1002-fbsplash-support-image-and-bar-alignment-and-positio.patch
1629bfb197fb57f9b3ac5b7a8800dfda6e5f7bee10db5e892d58176fa3733fe5229 busyboxconfig 1729bfb197fb57f9b3ac5b7a8800dfda6e5f7bee10db5e892d58176fa3733fe5229 busyboxconfig
163c604ef791c31d35a8c5ee4558d21428a46f37a6d762c4a7e29864f4037fc44a0 glibc.patch" 173c604ef791c31d35a8c5ee4558d21428a46f37a6d762c4a7e29864f4037fc44a0 glibc.patch"
164sha512sums="3e99fe373d638f714c3a61e1b02493d85ca532f472df038f7557db518ded38347072882ed568852941be7aac46fc34007257b4287375335ff5a09b60b295ce80 busybox-1.22.1.tar.bz2 174sha512sums="3e99fe373d638f714c3a61e1b02493d85ca532f472df038f7557db518ded38347072882ed568852941be7aac46fc34007257b4287375335ff5a09b60b295ce80 busybox-1.22.1.tar.bz2
@@ -182,5 +192,8 @@ d466676cd2779ff33f288bb073aa2baa4f3606cf8b96ec514e624a7acb46442a2839ef18c47e19cc
182fa5f7f43bf8030f4bfcdf09d85e2e314014d5a083a24de95ac2e78c15e0dfebc14e410088e7f8eaeb8cdf24dea64e3b665b99afb8f96259e9908eebce81745bc 0001-top-fix-and-merge-code-to-parse-proc-meminfo.patch 192fa5f7f43bf8030f4bfcdf09d85e2e314014d5a083a24de95ac2e78c15e0dfebc14e410088e7f8eaeb8cdf24dea64e3b665b99afb8f96259e9908eebce81745bc 0001-top-fix-and-merge-code-to-parse-proc-meminfo.patch
1832dea81509f73621e60d95db1b04186056add15fb24d1f9f7b32bb50aee99733d3cf45404c33b7ca6993cff23d76f31c0bcf38c04ac741dcdd2baaf3bc2afd707 fix-top.patch 1932dea81509f73621e60d95db1b04186056add15fb24d1f9f7b32bb50aee99733d3cf45404c33b7ca6993cff23d76f31c0bcf38c04ac741dcdd2baaf3bc2afd707 fix-top.patch
184a35b66cd28b79ccc14b47315ac94677fdf8c14d8a6e8956707e71fb50d453dfc5b4b822832cd1faecfe9bf79e687f9b25a1357e0a88db530044c5f8514701c98 0001-diff-add-support-for-no-dereference.patch 194a35b66cd28b79ccc14b47315ac94677fdf8c14d8a6e8956707e71fb50d453dfc5b4b822832cd1faecfe9bf79e687f9b25a1357e0a88db530044c5f8514701c98 0001-diff-add-support-for-no-dereference.patch
1952a8e9360e1cedd26bdb70d8cc036ef0abc7588bf2eee147c1c7436d7a40763f8e31d346b980145a36649130a2f811d299e4f46f7e1b60a8165a60ae9e79727d5 1000-fbsplash-use-virtual-y-size-in-mmap-size-calculation.patch
196a181dd54e8e11cf1199edb1b1fcd4b7402bbf142593b6014f32c6815bb7093b56899ad0fcc9f73c382f56203ac5274fb3d51fa070feb541436f23c31680f1a69 1001-fbsplash-support-console-switching.patch
197c33073416f7da2805a20f3f456f869217171c8fbfdef85f4ae481307aeb1e1b5717084bbbc619010fa5500c3f3f49b6468d5c122024fcc49d637c82427a3f553 1002-fbsplash-support-image-and-bar-alignment-and-positio.patch
18535ab915e729e73c4909793f58530edcfc10f10d750df0d41913892137f799f773a7bb476e29ed742c86d0f279603f85ed9bf5c660714571bc5f5179ea852aade busyboxconfig 19835ab915e729e73c4909793f58530edcfc10f10d750df0d41913892137f799f773a7bb476e29ed742c86d0f279603f85ed9bf5c660714571bc5f5179ea852aade busyboxconfig
1861d2739379dab1deb3eae7cffd4845300eb7d30f7343b4a1209b21a5680860d55080ad45fdefe098b249ce3040c01951fa7f0a79cd447b2d7b260eb000099d9dc glibc.patch" 1991d2739379dab1deb3eae7cffd4845300eb7d30f7343b4a1209b21a5680860d55080ad45fdefe098b249ce3040c01951fa7f0a79cd447b2d7b260eb000099d9dc glibc.patch"