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

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

KernelNewbies:
  • InitDetails

Back to Kernel001WalkThrough

The init directory of Linux 0.01 contains one file, main.c, which implements the init process. This initialises the system clock from CMOS, starts the tty device, the system traps, the scheduler, the file system, and the hard disk interrupt handler. Then it enables interrupts and switches to user mode. Finally it calls the function init() and goes into a scheduler loop.

The init() function calls setup(), which examines the hard disk partition tables. Then it forks a child to run update(8) [rtfm]. Then it forks another child which creates a new session and uses execve() to open a login shell with HOME set to /usr/root.

InitTask

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