NEWS: Now the summer is here, I'm about to start serious work again
on the Navigator. Anyone interested in helping to develop a generalized
source-browsing tool who'd like to get involved is welcome to send me
email to bjw@gnu.ai.mit.edu.
Welcome to the Linux Source Navigator. Originally developed as
part of an Independant Study in the Linux Kernel, the Navigator is a
CGI interface to browse the entire Linux kernel source. You're best
off viewing the Navigator with a browser that understands <TABLE>
tags to see the directories correctly; Netscape works great.
The Navigator formats the raw source tree on-the-fly, using
italics, bolds, colors and hyperlinks to present the source in a much
more managable format. Although I've added support in my code for
selecting which version of the kernel and which architecture to
browse, currently I just have available a 1.3.25 kernel with no architecture
support. Have fun exploring!
I've had a lot of feedback on how to improve the browser (thanks to
all those who've sent me their comments and advice!) and here are some
of the improvements that I'm working on incorporating (suggestions
in italics are a nice idea, but will take lower priority for one
reason or another) I'd welcome any other suggestions or comments;
feel free to mail them to me!
- The ability to grep through the source
- Indices of function and variable definitions
- The ability to find references to functions and variables
- static functions and variables will not be linked to from
outside of their files
- Multiple versions of the kernel - the current version and the
latest release version, for example - (Done! The support is now in place, but I haven't generated any more architecture/version combinations...)
- The ability to select a particular architecture to browse.
Since certain functions are defined in all architecture specific code,
links to those functions will be unpredictable and, more often than
not, will take you to the alpha architecture definitions (this is
a consequence of the indexing techniques I used) (Implemened,
but my indicies need regenerating)
- Add a "status-line" to the top of each file, allowing you to
return to the previous file, and telling you the current file.
- Turn any references to the 'include/asm' directory to the
directory appropriate for the current architecture
- Make sure their are pointers to definitions for typedefs,
structs and #defines (Fixed for new indices)
- 11/25/95 - Fixed highliting in strings
- 11/26/95 - Went a long way towards implementing support for
multiple architectures and kernel version
- 12/3/95 - Fixed some bugs with <, > and &
- 12/95 - 1/96 - Fixed many more bugs, and including support in the
browser for version and architecture selection (encoded in the URL).
Now that that's finally done, I still need to perfect my indexing scripts
which were having some problems.
- Q: Can I get a copy of the Navigator to run locally?
-
NOTE: I removed these instructions because the Navigator is
undergoing major changes to allow support for multiple kernel
versions & architectures; they wouldn't work anyway. I'll post
something to comp.os.linux.announce when a package is ready.
Well, my thanks for the day go to the folks who created gimp,
the hottest Linux graphics tool around. I just spend the best part
of the afternoon in a semi-maniacal obsessed state, created the new
graphics for this Web page (the last was looking rather shabby).
Kudos, guys! Just in case anyone was wondering, the images I used
were from an old map of New York. I'd post the URL if I hadn't
just exited Netscape... *sigh*
Ben Walter /
<bjw@gnu.ai.mit.edu>