歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> SCO Unix >> SCO Unix的核心引導過程

SCO Unix的核心引導過程

日期:2017/2/28 11:29:09   编辑:SCO Unix


  Unix既可以從硬盤又可以從軟盤上引導。兩者都是由BIOS裝載硬盤或軟盤的引導扇區,由引導扇區來裝載執行核心引導程序??Boot程序。本文簡要介紹Boot程序的引導過程。
  Boot的內部命令
  Boot共有“?”、“systty”、“mem”、“dir”、“link”共五個內部命令。Sco Unix 5.0以上還有“debug”、“version”兩個命令。
  1)?:在命令行上輸入“?”,來顯示Boot目前可以裝載Unix核心的設備,例:
  2)systty=0或1:
  在系統引導時,由hdboot1來確認主顯示適配器和com1的有效性。在缺省方式下,控制台位於主適配器上,如果主適配器出現故障不可用,則系統自動把com1口作為主控制台。通過systty參數來修改位置,systty=0:控制台位於主適配器上,systty=1:控制台位於com1口上。缺省的通訊參數為:9600波特率,8位,1停止位,無校驗。
  3)mem=[range] [/flag]:
  一般來說,Boot能夠檢測到所有的系統內存,可以用“mem=/p”來顯示內存情況。如果Boot檢測內存有誤,或出於特殊需要,可以用此參數來調整系統可用內存。這是Unix系統的一大特點。
  range:為內存范圍
  格式為:
  起始內存?終了內存
  終了內存?起始內存/d
  起始內存+內存大小
  內存的單位用k(千字節)和m(兆字節)表示。 例:
  1m?8m, 或8m?1m/d, 或1024k?8m:表示系統可用8m內存。另:
  1m?5m,6m?8m:表示系統8m內存中,5m?6m內存不能使用。
  flag標志,有以下幾種形式:
  /d: 高地址向低地址掃描。
  /n:標明該段內存為非DMA方式存取,所有16M以外的內存,系統自動標為非DMA方式。
  /r:專用內存段。如果該段內存為Rom Shadowing,則該段內存確定為專用段,防止被Boot和Unix核心所覆蓋。除了Shadow Rom外,其它可以獨立運行的程序正文段也可以放在專用段內。
  /l: Unix核心正文須放在16m內存以下。
  /p: 顯示Boot初始檢測到的內存情況,或經過mem參數調整後,再次驗證到的內存情況。
  需要說明的是,以上參數調整必須是1M以外的內存。如果內存中存在內存孔穴,孔穴以外的內存Boot不能檢測到。在許多機器上,Unix不能很好地處理Rom Shadowing問題,必須在機器的設置中禁止掉。有時候,我們可能發現有些機型的機器存在Rom Shadowing,Unix仍能正常工作,是因為Boot引導時自動地把機器的Rom Shadowing禁止掉了。
  4)dir: 查看當前Boot設備上的文件系統的目錄情況。
  5)link: Unix核心引導時裝入有關設備的驅動程序(稱為BTLD程序)。
  格式1:在Boot命令提示符下,鍵入“link”後回車,系統提示:
  what packages do you need linked into the system,
  or q to quit?:
  在“:”後,可以輸入BTLD名稱,多個BTLD之間用空格隔開,再根據系統提示,插入相應的BTLD盤。
  格式2:在Boot命令提示符下,鍵入:link=“BTLD名1 BTLD名2 …”
  BTLD名之間用空格隔開,並且括在引號內。
  Boot的外部可執行程序
  Boot的外部可執行程序是指能夠脫離Unix核心代碼,能獨立運行的程序。一般來說,這些程序是用匯編編寫的機器碼,比如:dos,bootos等。
  在Boot提示符下,輸入dos或bootos dos就可以使系統轉到dos操作系統下。除了DOS外,可啟動的系統有:各種版本的DOS系統(dos_12、dos_16、dos_32、dos_ext)、Windows、Novell、NT、OS2、OS2_hpfs、picx、xenix、ccpm及Unix等。其格式為:
  bootos sysname
  (其中:sysname 為上述系統名稱)
  Unix啟動的缺省配置
  如果在Boot的命令行提示符“:”下,直接回車,Boot認為是要啟動缺省的系統核心,初始化缺省的系統環境。這些缺省的信息放置在./etc/default/boot文件中。其常用的參數如下:
  AUTOBOOT=Yes 或NO 如果AUTOBOOT=Yes,Boot在出現提示符“:”後,沒有任何輸入,在TIMEOUT所定義的時間後,自動裝載由DEFBOOTSTR所定義的Unix核心。缺省時,AUTOBOOT=No。
  TIMEOUT=秒數 系統在出現提示符後沒有人為干預,系統應等待多少秒後,系統作為回車輸入。缺省時,TIMEOUT=60。
  DEFBOOTSTR=standalone參數表 Standalone為可獨立運行的程序。定義系統缺省引導的核心名稱。
  RONLYROOT=Yes 或No RONLYROOT=Yes,根文件系統安裝為只讀狀態。缺省為No。
  SYSTTY=0 或 1 若為0,控制台位於主顯示適配器上。若為1,則在COM1上。缺省在主顯示適配器上。
  SERIAL=參數1,參數2,… 定義主控台的通訊參數。例:SERIAL=9600,8,1,N 端口通訊波特率為9600,字節寬度為8位,停止位為1位,非校驗。
  另外,與INIT共用的參數有:
  MAPKEY、PANICBOOT、MULTUSER、SLEEPTIME、SPAWN_INTERVAL、 SPAWN_LIMIT、 INHIBIT、DEFAULT_LEVEL等。
  核心的自我調整
  Unix核心引導時,Boot可以向核心傳遞參數。具體用法為:
  Sco Unix System V/386
  Boot
  : unix kernel.name=value
  可用參數有:
  kernel.root=device
  根文件系統缺省在hd(40)設備上,通過此項可以定位到其它設備上。
  kernel.swap=device
  定義初始交換區,缺省在hd(40)上。
  kernel.swplo=s
  定義頁面調度塊在交換區的位置,缺省的首塊位置始於交換區的0塊。
  kernel.nswap=n
  定義頁面調度塊的大小。此時,頁面調度塊的實際位置為s至s+n-1。
  kernel.auto
  使核心能夠自動啟動,不要人工干預。
  kernel.ronly
  使根文件系統為只讀狀態。
  kernel.hd=xnamex
  定義主硬盤的設備驅動程序。
  引導過程顯示說明
  正確地引導Boot後,系統會提示:
  Sco Unix System V/386
  Boot
  :
  說明系統目前在交互式程序Boot的控制下,“:”為其命令行提示符。在該提示符下,就可以輸入內部命令、Unix或其它可以獨立運行的程序(standalone)。
--------------------------------------------------------------------------------
  Sco-Unix錯誤信息注釋
  IO ERR:找不到活動分區。
  CLY OVF:操作系統位於硬盤的1024柱面之外,主引導程序不能夠裝載分區引導塊。
  BAD TBL:在分區表上標有兩個以上的活動分區。
  NO OS:沒有活動分區或活動分區引導塊不能裝載運行。
  hdboot0引導程序錯誤信息?
  cannot open:找不到/boot。
  Bad param:/boot 參數出錯。
  stage 1 boot failure:/boot找不到或文件出錯,需用系統盤啟動機器。
  hdboot1引導程序錯誤信息?
  bad magic number:鍵入的程序不能運行。
  can’t open :文件找不到。
  COFF files not supported as standalone programs:該程序不能獨立運行,需內核支持。
  Command line too long - aborting:boot命令行長度為256字節。
  not a directory:表明某一設備上沒有特定的文件系統,或所查找的目錄實為一文件。
Copyright © Linux教程網 All Rights Reserved