[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [LKDP] Documenting Bootup process !
From: |
Abhishek Nayani |
Subject: |
Re: [LKDP] Documenting Bootup process ! |
Date: |
Wed, 6 Nov 2002 11:33:07 +0530 |
User-agent: |
Mutt/1.4i |
Hi,
On Wed, 06 Nov 2002, Udaya kumar.R wrote:
> hi ,
> I m the guy, who came forward to document the bootup and network parts.
>
> And Abhi, u had said there is a TOC available for Bootup which i could not
> find in the cvs repo. Please get me that.
>
> And as u had mentioned i will go about with bootup leaving the networking
> to others.
>
> bye.
> uday.
This rough TOC was prepared by stephen. He is currently busy right
now and may join u later...
#############################################################
Bootstrapping and Initialization of the Linux Kernel
+ Preface - arch dependent description of bootstrapping linux kernel and
processor initialization to start_kernel() in stable branch
o Acknowledgements - #kn and #lkdp of course
+ i386
o Assumptions - trace through loader prepended to kernel image;
assume user dd's image to floppy drive
o Processor State after Power On or Reset - describe register
state, process of copying first sector from boot device
into memory, and jumping to it
o Relocation and Initial Setup - summarize memory layout of
boot block and setup code as it's loaded and relocated;
describe layout and noteworthy syntax of boot/bootsect.S
* move boot block
* setup stack
* get number of sectors/track
* print "Loading" message
* load setup sectors
* detect root device and load system
* jump into setup code
o More Setup, Memory Probing, Protection Setup - summarize the
memory detection schemes, tedious procedures for video,
APM, A20, moving system and kernel parameters to final
location, and preparation for protection; describe layout
and noteworthy syntax of boot/setup.S and boot/video.S;
(this section will probably be further subdivided for
topics such as video and A20)
* loader sanity checks
* memory detection schemes
- e820h
- e801h
- 88h
* keyboard and video setup (I suppose this could be
a section all itself; I'm not thoroughly familiar
with it, so i'll omit it's outline for now)
* "Get hd[01] data..." (I need to trace this more carefully)
* check for PS/2 device
* APM stuff (again, I'm a little hazy here as well)
* prepare for switch to protected mode
* move system to it's final place
* enable A20
* setup a temporary idt and gdt
* reset any coprocessors
* mask interrupts
* switch to protected mode and jump into 32-bit code
o 32-bit Startup and Paging Initization - summarize the code
necessary for paging init; describe layout and noteworthy
syntax of kernel/head.S
* setup paging options and enable paging
* setup idt to ignore interrupts
* move boot parameters
* cpu detection
* setup gdt and ldt
* reload segments and jump to arch independent startup;
cover SMP case as well
o Bibliography
* IA-32 Intel Architecture Software Developer's Manual Volume 1:
Basic Architecture -
http://developer.intel.com/design/pentium4/manuals/245470.htm
* IA-32 Intel Architecture Software Developer's Manual Volume 2:
Instruction Set Reference -
http://developer.intel.com/design/pentium4/manuals/245471.htm
* IA-32 Intel Architecture Software Developer's Manual Volume 3:
System Programming Guide -
http://developer.intel.com/design/pentium4/manuals/245472.htm
* A20 - http://www.win.tue.nl/~aeb/linux/kbd/A20.html
* Ralf Brown's Interrupt List - http://www.ctyme.com/rbrown.htm
* ACPI - http://www.acpi.info/spec.htm
* BIOS Boot Specification
http://www.phoenix.com/PlatSS/PDFs/specs-bbs101.pdf
+ sparc
+ sparc64
#############################################################
Bye,
Abhi.
--------------------------------------------------------------------------
"I can only show you the door, you have to walk through it..." - Morpheus
--------------------------------------------------------------------------
Home Page: http://www.abhi.tk
-----BEGIN GEEK CODE BLOCK------------------------------------------------
GCS d+ s:- a-- C+++ UL P+ L+++ E- W++ N+ o K- w--- O-- M- V- PS PE Y PGP
t+ 5 X+ R- tv+ b+++ DI+ D G e++ h! !r y-
------END GEEK CODE BLOCK-------------------------------------------------