Skip to content

Latest commit

 

History

History
41 lines (31 loc) · 1.49 KB

README.md

File metadata and controls

41 lines (31 loc) · 1.49 KB

Linux old kernel

The old Linux kernel source ver 0.11/0.12-0.96
A practical tour to the Linux Kernel
oldlinux.org readme
oldlinux.org ftp
comment code version

Doc

Make image
Qemu+GDB

Pre-requirement

  • a linux distribution: fedora, centos, debian, ubuntu and mint
  • some tools: gcc gdb qemu vi
  • a linux-0.11 hardware image file 'hdc-0.11.img' which also can be download from http://oldlinux.org/Linux.old/bochs, and put it in the root directory.
  • If want to install bochs, please refer my rep 'pintos'.

Build

    $ make

    $ tar xjf hdc-0.11.img.tar.bz2   <<< get root-image filesystem
    $ make help
    $ make start    <<< boot it on qemu
    $ make debug    <<< debug it via qemu & gdb, you'd start gdb to connect it.

    $ gdb tools/system
    (gdb) target remote :1234
    (gdb) b main
    (gdb) br *0x7c00    <<< CS=0x7C00, this is BIOS load the MBR's address, here bios hand over the control to linux-kernel.
                        <<< So 0x7C00 is the code of bootsec.S
                        <<< check the value of 0x7DFE and 0x7DFF is 0x55 0xAA or not
    (gdb) x/16b 0x7DF0

    (gdb) c