doc/note/boot.txt				 -*- text -*-

[BTRON/386 memo 3]

TITLE:	֡ȥᥫ˥
AUTHOR: ƣ δ
DATE:	1 January 1994 (Last modify)
VER:	1.1



1. ֡Ȥγ

  ֡ȤϡĤʳʬƼ¹Ԥޤ


0) IPL

  IPL ϡޥ ROM ˸ƤץǤ
  IPL ǤϡΩ夲ǥХƬ֥åˤ륳ɤɤ߼ꡢ
錄ޤ

1) first boot

  ޤΩ夲ǥХƬ֥å(֡ȥ֥å)äƤ֡
Ȥޥ IPL ˤäɤ߹ޤ/¹Ԥޤ
  first boot ϡ󥽡Ω夲åϤꤵ줿ѡ
ƥ󤫤 second boot ɤ߹߼¹ԤޤΤȤ second boot 
Υ̵ 64K bytes ȸʤޤ
  first boot ϡ8086 ⡼ɤưFD ʤɤϡBIOS 𤷤ƹ
ޤ
  ʤfirst boot ϡas86 (Linux ˤ륢֥)ǤƤޤ 


2) second boot

  second boot ϡޥ(CPU)Υ⡼ɤ32 ӥåȤѹͥ
ɤ롣ͥϡͥ뼫ȤȺɬפʥޥ͡㤬ѥåˤʤ
 second boot ľäƤޤ
  second boot ϡե륷ƥΰΤäƤޤä˻
ʤ¤ե륷ƥϸ˹Ԥޤ
  ͥ˽ϤȤˡͥưĶ롣Ūˤϡ
ۥĶΥåȥåסCPU⡼ɤѹGDT/IDT νʤɤ
Ԥޤ(Ĥޤꥫͥ椬Ϥäˤϡ32ӥåȥ⡼ɤĲۥ
ǽĤ CPU ưƤޤ)

  second boot ϡC ˤäƵҤƤޤ(ϥ֥餬ä
)

  second boot ¹Ԥ줿ȤΥ󥽡Υå򼡤˼ޤ
  (`;'θǤ)
 
	Loading second boot...done	; first boot Ϥޤ
	Second BOOT for BTRON/386
	Version 1.0.0			; СֹϰۤʤäƤ
					; 礬ޤ
	Waiting 10 second.		; 10ôԤޤΤȤ˲
					; 򲡤å⡼ɤ
	Loading kernel...done		; ޤ 
					; ϥͥ椬Ϥޤ


  second boot å⡼ɤǤϡΥޥɤѤǤޤ

  ls [parttion] [path]		pathǻꤷ¿ȤΥ󥯤ɽޤ
  boot [partition] [path]	pathǻꤷͥɤޤ
  reset				CPUꥻåȤޤ

  partition ϡΤ褦˻ꤷޤ

	FD:0		ɥ饤 A  FD
	SCSI0:0		SCSI ID 0 Υѡƥ 0

  path ϡΤ褦˻ꤷޤ

	/foo/bar	¿ foo  ¿ bar
	


2. ֡ȥ֥åι¤


  ѡƥƬˤ֡ȥ֥åϡι¤򤷤Ƥޤ

  1) firstboot (1024 bytes)	0 ֥å - 1 ֥å
  2) second boot (64 K bytes)	2 ֥å - 129 ֥å
  3) kernel (MAX 1M bytes)	130 - 2177 ֥å

  !!  !!
  ߤ BTRON/386 Υ֡Ȥ1 512 ХȤˤбƤޤ
⤷֡Ȥľˤޤǥ󥰤Ǥʤäˤϡ
եåԥΥեޥåȤ1512ХȤȤʤäƤ뤫ǧƤߤ




3. եȥ֡ȽλΥޥå


եȥ֡Ȥɥ֡ȤɤΥޥåפϼΤ褦
ˤʤäƤޤ

	  Addr			
	0x00000000	BIOSѤΰ		4K
	0x00001000 --+	ɥ֡ȥΰ	60K
	    |        |	0x00001000 16bit code.
	    |	     |  0x00002000 32bit code.
            |        |
	0x0000FFFF --+
	0x00010000	GDTơ֥			2K
	    |
	0x00011FFF
	0x00012000	IDTơ֥			2K
	    |
	0x00013FFF



4. ɥ֡ȽλΥޥå


ɥ֡ȤͥɤΥޥåפϡΤ褦ˤʤ
Ƥޤ

(1)ۥɥ쥹

	0x00000000
	     |
	     |
	0x7FFFFFFF

	0x80000000 --+	ɥ֡ȥΰλĳ
	     |	     |	ڡơ֥˻Ѥ롣
	     |       |  (0x80000000 - 0x800003FFF ϡɥ֡Ȥ
	     |       |	롣
	0x8000FFFF --+
	0x80010000 	GDT ơ֥				2K
	     |
	0x80011FFF
	0x80012000	IDTơ֥			2K
	     |
	0x80013FFF
	0x80020000 --+	ͥ뤬Ѥΰ		1G (Max)
	     |       |	˥ͥΥ᡼
	     |       |  ɤ롣
	0xBFFFFFFF --+


(2)ʪɥ쥹

	0x00000000 --+	ɥ֡ȥΰλĳ
	     |	     |	ڡơ֥˻Ѥ롣
	     |       |  (0x80000000 - 0x800003FFF ϡɥ֡Ȥ
	     |       |	롣
	0x0000FFFF --+
	0x00010000 	GDT ơ֥				2K
	     |
	0x00011FFF
	0x00012000	IDTơ֥			2K
	     |
	0x00013FFF
	0x00020000 --+	ͥ뤬Ѥΰ		1G (Max)
	     |       |	˥ͥΥ᡼
	     |       |  ɤ롣
	0x3FFFFFFF --+

