Skip to content
forked from beride/linux0.11-1

Linux内核0.11完全注释V3.0配套源代码

Notifications You must be signed in to change notification settings

sulit/linux0.11

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linux-0.11

The old Linux kernel source ver 0.11 which has been tested under modern Linux, Mac OSX.

Build on Linux

Linux Setup

  • A linux distribution: debian, ubuntu and mint are recommended

  • Some tools: gcc gdb qemu cscope ctags cflow graphviz

    $ apt-get install vim cscope exuberant-ctags build-essential qemu

Optional (bochs emulator instead of qemu)

$ sudo apt-get install bochs vgabios bochsbios bochs-doc bochs-x libltdl7 bochs-sdl bochs-term
$ sudo apt-get install graphviz cflow

$ echo bochs > tools/vm.cfg       // switch to use bochs
$ echo qemu > tools/vm.cfg        // switch back to use qemu

hack linux-0.11

$ make help		// get help
$ make  		// compile
$ make start-hd	// boot it on qemu with hard disk image
$ make debug-hd	// debug it via qemu & gdb, you'd start gdb to connect it.

$ gdb images/kernel.sym -tui
(gdb) target remote :1234
(gdb) b main
(gdb) c

                    // to debug the bootsect or setup part, please load the symbol files
$ gdb boot/bootsect.sym
$ gdb boot/setup.sym

Optional

$ echo "add-auto-load-safe-path $PWD/.gdbinit" > ~/.gdbinit  // let gdb auto load the commands in .gdbinit

Build on Mac OS X

Mac OS X Setup

  • Install xcode from "App Store"

  • Install Mac package manage tool: MacPorts from http://www.macports.org/install.php

    • Check your OS X version from "About This Mac", for example, Lion

    • Go to the "Mac OS X Package (.pkg) Installer" part and download the corresponding version

    • Self update MacPorts

      $ xcode-select -switch /Applications/Xcode.app/Contents/Developer $ sudo port -v selfupdate

  • Install cross compiler gcc and binutils

    $ sudo port install qemu

  • Install qemu

    $ sudo port install i386-elf-binutils i386-elf-gcc

  • Install graphviz and cflow

    $ sudo port install GraphViz $ sudo port install cflow

  • Install gdb. 'Cause port doesn't provide i386-elf-gdb, use the pre-compiled tools/mac/gdb.xz or download its source and compile it.

    $ cd tools/mac/ ; tar Jxf gdb.xz

Optional

$ sudo port install cscope
$ sudo port install ctags

$ wget ftp://ftp.gnu.org/gnu/gdb/gdb-7.4.tar.bz2
$ tar -xzvf gdb-7.4.tar.bz2
$ cd gdb-7.4
$ ./configure --target=i386-elf
$ make

hack linux-0.11

same as section 1.2

About

Linux内核0.11完全注释V3.0配套源代码

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 79.2%
  • Assembly 12.8%
  • Makefile 8.0%