KernelNewbies
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Kernel Hacking

  • Frontpage

  • Kernel Hacking

  • Kernel Documentation

  • Kernel Glossary

  • FAQ

  • Found a bug?

  • Kernel Changelog

  • Upstream Merge Guide

Projects

  • KernelJanitors

  • KernelMentors

  • KernelProjects

Community

  • Why a community?

  • Regional Kernelnewbies

  • Personal Pages

  • Upcoming Events

References

  • Mailing Lists

  • Related Sites

  • Programming Links

Wiki

  • Recent Changes

  • Site Editors

  • Side Bar

  • Tips for Editors

  • Hosted by WikiWall

Navigation

  • RecentChanges
  • FindPage
  • HelpContents
Revision 3 as of 2004-12-19 16:52:22
KernelNewbies:
  • Kernel001WalkThrough

Kernel 0.0.1 Walkthrough.

Downloading Kernel 0.01 and exploding the archive, you're faced with a directory "linux" containing, in subdirectories, some 5900 lines of (more or less) ANSI C, around 2500 lines of C headers (#include files) and around 1450 lines of i386 assembler.

The linux 0.01 kernel source is at http://www.kernel.org/pub/linux/kernel/Historic/

The code directories are as follows. Click on the Details column for more information.

Name

Purpose

Details

||||boot||Kernel bootstrap code||BootDetails||

fs

File system

FsDetails

include

Header files

HeaderDetails

||||init||init process-the first process executed by a UNIX system||InitTask||

kernel

System calls

KernelDetails

lib

Library code

LibDetails

||||mm||Memory management||MmDetails||

tools

Program that splices three images together into a kernel image that can be booted from PC BIOS startup

ToolsDetails

The header files are not the standard header files, because when you're working on a kernel you don't have the luxury of the usual C functions--you have to write your own versions.

The kernel directory contains most of the system functions, but some of them (like sys_fcntl()) are in the file system directory.

The kernel bootup goes through three steps.

  • BootStrapFromPcBios

  • ThirtyTwoBitInitialization

  • InitTask

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01