Git Product home page Git Product logo

linux-0.11's Introduction

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
(gdb) target remote :1234
(gdb) b main
(gdb) c

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

linux-0.11's People

Contributors

lzufalcon avatar sevengram avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.