Search code examples
linuxlinux-kernelcross-referencelxr

linux 0.01 kernel cross reference


i am searching for a linux cross reference for the first linux kernel 0.01,

many websites provide a LXR (Linux Cross Reference) for existing kernels starting from 2.x but not including old ones.


Solution

  • There is no cross-reference readily available for this version, because it is too old. If you want one, you will have to create it yourself. (Which should not be difficult; this version of the kernel is barely 10k lines of code. This is small enough that a cross-reference is hardly even necessary.)

    Keep in mind that Linux 0.01 was a very early release. It represents the original "pre-alpha" version of the kernel that Linus Torvalds made available on his university's FTP server in 1991. At that point in time, the kernel had one developer (Linus himself) and no users.

    Moreover, Linux 0.01 isn't even a very good resource for learning about the Linux kernel. It predates much of the modern organization of the kernel, and as such is significantly different from modern kernels. In particular:

    • Kconfig is not present. Linux 0.01 had no configuration options at all, and was built using hand-written Makefiles.

    • There is no arch directory yet. Linux 0.01 would only build and run on x86 systems.

    • There is no drivers directory either. The system only supported a few built-in system devices, such as the hard disk and keyboard, and those were essentially hard-coded into the kernel directory.

    • There is no support for SMP systems, nor any form of locking or kernel preemption. Multiprocessor x86 systems were extremely rare when Linux 0.01 was released, so Linus didn't have one to test on.

    • Many commonly used macros and structures in the modern Linux kernel, such as struct list, are not yet present. There wasn't a need for them yet.

    Trying to use this extremely early version of Linux for learning purposes is not a good introduction to Linux kernel programming. If you want to learn, you should really work with a current version.