bk99.de entertain the web since 1997

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.

Read the original article

Search the Web Archive