Linux kernel 0.01 for QEMU
Summary
In 2008 Abdel Benamrouche adapted the very first Linux kernel 0.01 so that it could be compiled with GCC 4.x and booted in emulators such as QEMU and Bochs. Bash 3.2, Coreutils 6.9, Vim 7.1 and other tools were also to run on it. Benamrouche provided a floppy and hard disk image for QEMU for download.
Ideas
- With adjustments, historical code can be made to run again with modern tools.
- Emulators replace the original hardware that has long since disappeared.
- Even Linux 0.01 could run a shell and basic tools.
Insights
- The first Linux kernel is small enough to read and understand completely.
- Emulation is a tool of software archaeology.
Facts
- Linus Torvalds published Linux 0.01 on 17 September 1991 and compiled it with GCC 1.40.
- Linux 0.01 only ran on 386 machines and could only be booted from a Minix system.
- The adapted kernel was not tested on real hardware.
References
Critique
- The report does not say how much of the original code had to be changed for the adaptation.
Recommendations
- Use Linux 0.01 in an emulator to learn the basic concepts of an operating system kernel.
- For experiments with old code, use QEMU or Bochs rather than real hardware.
Links to the original source and the Web Archive open in a new tab.