您的位置:首頁技術文章
文章詳情頁

Sco-Unix的核心引導過程

瀏覽:94日期:2024-07-03 10:00:03

Unix既可以從硬盤又可以從軟盤上引導。兩者都是由BIOS裝載硬盤或軟盤的引導扇區,由引導扇區來裝載執行核心引導程序??Boot程序。本文簡要介紹Boot程序的引導過程。

Boot的內部命令

Boot共有“?”、“systty”、“mem”、“dir”、“link”共五個內部命令。Sco Unix 5.0以上還有“debug”、“version”兩個命令。

1)?:在命令行上輸入“?”,來顯示Boot目前可以裝載Unix核心的設備,例:

fd:軟盤,hd:硬盤。fd(61):對應于能引導的第一個軟盤,hd(40):對應于能引導的第一個硬盤。如果是sco-Unix 5.0以上的版本,還可以從Ramdisk.net 上啟動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:表明某一設備上沒有特定的文件系統,或所查找的目錄實為一文件。

標簽: Unix系統
国产综合久久一区二区三区