Or LL2XPM, if you prefer (but I don't, really, since all-caps names are somewhat hard on the eyes). It doesn't matter a lot; they both sound the same. ll2xpm is a silly little program I wrote to examine the logos for various architectures that come with the Linux kernel.
Latest Changes: I have fixed the weird problem with Tux's stomach being colored that delightful shade of lemon. It turns out that the RGB values the system uses for the 256 color palette has blue negated; hence, a blue of 0xff should actually be "no blue at all," not "lots of blue." So version 1.1.0 is out with a one-line fix. If you're using ll2xpm for doing anything but glancing at what the logo's rough shape is, you probably want it. Since it is such a trivial fix, I'm not bothering to keep version 1.0.0 around; if you want it for some bizarre reason, remove the correction on line 55 to the blue tint.
This program is basically the complement to the Linux Logo plugin for the GIMP. Where that program converts images to the format the kernel likes, this converts the kernel's format to XPM format. Much like ColdSpot, I'm probably doing this in as backwards a way as possible, but it more or less goes.
Usage is fairly simple. Each time you (re)build ll2xpm, you tell
it the name of the header to pull logo information from, by defining the
compile-time constant LINUXLOGO. For example,
gcc -DLINUXLOGO=\"/usr/src/linux/include/asm-i386/linux_logo.h\"
ll2xpm.c -o asm-i386-logo
Then, you run it, with the name of the XPM file you want it to create. For
example,
./asm-i386-logo asm-i386-logo.xpm
Yes, this is of fairly limited use, but it was actually simpler to write my own than to look for a tool that claimed to understand the kernel's format.
ll2xpm is written in straight C and should build on any Linux with the framebuffer logo source. To look at the XPM, you'll probably need some sort of graphics program, unless you're really good at visualizing that kind of thing in your head. It would work on any UNIX with a C compiler, but the Linux logo header files include some linux-specific headers, and since one presumably has Linux anyway (where else would the logo headers come from), this shouldn't be too much of an impediment, I hope.
Note that for reasons I do not fully understand (I'm thinking bug here, but I'm not totally sure), if you want to look at the logo in /usr/include/linux/linux_logo.h, you'll need to add the following two lines to the top (please, oh, please, do this on a copy of the header, and don't run the risk of mucking up a kernel compile):
#include <linux/init.h>
#include <linux/version.h>
You can download ll2xpm as a 2K C file: ll2xpm.c, but you really should look at the license first (which sadly is about 10 times as large). ll2xpm is under the GNU GPL, and by downloading ll2xpm or looking at the source, you agree to respect that license. (This means, among other things, that you understand the distinct lack of warranty; if this program causes your computer to melt down, overwrite all the files on the hard drive, spew the power supply out the back, or catch fire, it isn't my problem. I've never seen it do any of these things, but there's a first time for everything.)
If you run into problems or you have suggestions, pop me some email; my email address is bstern at this domain (leave off the "www." for savings).
Enjoy!
Other Free Software from www.bstern.org:
coldspot: a semi-automatic locker for X
WMeyes: yet another useless dock app
wmwork: a Solaris build patch for time management
libuname: an interpose library that lies
[Insert the obligatory picture of Tux here.]