[RFC] Cosmetic Patch to Boot Logo Take Two

From: Gerard Sharp (gsharp@ihug.co.nz)
Date: Wed Jun 21 2000 - 07:22:48 EST


Hello again

I've modified my original patch to move the text down a line, to the
right of the
boot penguin(s).

Although I am somewhat concerned about the behaviour of fbcon_putcs()
when the string
exceeds the available width of the screen. I suspect it wraps, which
will lead to the
version text getting "clobbered" by the penguin(s). However, even with
two boot penguins
(88 pixels each) and 22 characters of text, that's only about 350pixels
in width.
If anyone has any comments / concerns about this, I would love feedback
on it.

Secondly is the question of how best to allocate space for the two
message strings.
The first (welcometext) can be made const, and requires 22 'char's of
memory;
The second (welcomestring), requires 22 'short's, is written to, so
isn't able to be const'ed.
Is my current solution acceptable for this much memory usage acceptable;
or would it be
better to use kmalloc, and allocate a little space at runtime ?
Again, I would appreciate feedback on this.

Gerard Sharp
Dual Processor... Twice The Boot Penguins...

=== begin logo2.patch ===
diff -dur linux-2.4.0-test1-ac19/drivers/video/fbcon.c
linux_2/drivers/video/fbcon.c
--- linux-2.4.0-test1-ac19/drivers/video/fbcon.c Wed May 3 20:47:56
2000
+++ linux_2/drivers/video/fbcon.c Wed Jun 21 23:52:28 2000
@@ -31,6 +31,8 @@
  *
  * Random hacking by Martin Mares <mj@ucw.cz>
  *
+ * Alteration marked G.S. contributed by Gerard Sharp
(gsharp@ihug.co.nz)
+ * Essentially a line of text beside the Boot Logo stating kernel
version. :)
  *
  * The low level operations for the various display memory
organizations are
  * now in separate source files.
@@ -1447,6 +1449,18 @@
     if (p->dispsw->clear_margins && vt_cons[unit]->vc_mode == KD_TEXT)
         p->dispsw->clear_margins(conp, p, 0);
     if (logo_shown == -2) {
+ /* G.S.: Display a line beside the Boot Logo to state what
+ * version of the kernel we are booting.
+ * No idea what happens if this is longer than the screen is
wide.
+ */
+ const char welcometext[] = "Linux " UTS_RELEASE;
+ unsigned short welcomestring[ sizeof(welcometext) ];
+ int i;
+ for(i = 0; i < sizeof(welcometext); i++)
+ welcomestring[i] = 0x0700 | welcometext[i];
+ fbcon_putcs(conp, welcomestring, sizeof(welcometext), 0,
+ (smp_num_cpus * (LOGO_W + 8)) / fontwidth(p) );
+
         logo_shown = fg_console;
         fbcon_show_logo(); /* This is protected above by initmem_freed */
         update_region(fg_console,

=== end logo2.patch ===

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Jun 23 2000 - 21:00:21 EST