国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

教你如何從 FireWire 設備引導 Linux (2)
2006-08-23   賽迪網(wǎng)

安裝

現(xiàn)在我們有了外置設備,將開始在其中安裝 Linux。

現(xiàn)在安裝 Linux 的最容易的方法(當然是我的觀點)是連接所有硬件(在這里,包含插入 PCMCIA FireWire 卡、將 FireWire 線纜連到 PCMCIA 卡和驅動器上、打開驅動器的電源開關);然后使用您選擇的發(fā)行版的安裝 CD 來引導計算機。

我選擇的發(fā)行版是 Gentoo(請參閱參考資料獲得相關鏈接),所以我使用最新的“Universal” x86 Live CD (2004.1)。其他發(fā)行版所需的步驟應該會比這里講述的步驟多或者少。

一旦已經使用安裝 CD 引導,如果幸運的話,它應該已經識別了您的驅動器。驅動器應該顯示為 /dev/sdX 下的磁盤,其中 X 是從“a”開始的小寫字母。在我的系統(tǒng)中,外置驅動器被檢測為 /dev/sda,但是如果您有其他 SCSI 磁盤(模擬的 SCSI 磁盤),這將發(fā)生變化;在那種情況下,它可能是 /dev/sdb 或其他字母。如果驅動器沒有被自動檢測,可能需要進一步的步驟 —— 例如,您可能必須通過引導選項來啟用 FireWire 或 PCMCIA,或者可能必須手工加載一些內核模塊或類似的其他項(請參閱參考資料獲得故障排除指南的鏈接)。

一旦驅動器已經被識別,就考慮安裝的其余部分而言,它應該確實像內置硬盤驅動器一樣運轉;所以您應該可以根據(jù)需要對其進行分區(qū)和像平常一樣安裝 Linux。

不過,提醒一句:當決定安裝引導加載程序(通常是 GRUB 或 LILO)的位置時一定要小心 —— 我建議不要將其安裝在 Master Boot Record (MBR)(通常默認就是這樣)中。而是應該安裝在外置驅動器的根分區(qū)(或引導分區(qū),如果使用單獨的引導加載程序)中。

現(xiàn)在我們已經在設備中安裝了 Linux,接著要引導 Linux。從這里可以開始有一些技巧。

引導

在討論引導新的驅動器之前,需要了解一些引導加載程序理論。

引導加載程序通常安裝在計算機第一個硬盤的 MBR 中。調用引導加載程序時(BIOS 自動執(zhí)行 MBR 中的代碼),它通常顯示可以引導的 OS 的菜單。選擇一個給定 OS 引導。

關于此場景應該注意兩點:

- OS 選擇菜單(通常)從磁盤加載。

- 要引導相關 OS,引導加載程序需要從磁盤讀取相關內核。

由于以上操作在加載 OS 之前發(fā)生,它意味著所有磁盤讀取都必須通過 BIOS 調用的方式發(fā)生。這會涉及嚴重的問題:即為了直接引導磁盤,您的 BIOS 必須支持通過 FireWire 或 USB 連接的磁盤。這通常可以看作從這些類型的磁盤引導的一個 BIOS 選項。實際上 FireWire BIOS 支持當前很少見,但 USB 支持正在變得相當普遍。因此,如果您在相對較新的計算機中使用 USB,應該可以直接在 Linux 中引導驅動器。

在外置驅動器的 MBR 中安裝了 GRUB 之后,當通過 USB 連接時,我可以直接引導該驅動器。當引導連接的磁盤時很簡單地進入了 BIOS 設置程序。外置磁盤將顯示為普通的硬盤驅動器:移動該磁盤使它在引導順序中位于內置驅動器之前。

我也可以在內置驅動器的 MBR 中安裝引導加載程序,并使用它引導 USB 驅動器(這時它在 GRUB 中顯示為 hd1 in GRUB)。如果您使用 FireWire,有可能 BIOS 不能直接引導驅動器,將需要一些其他操作。

幸運地是,因為 Linux 的靈活性,如果您不能直接引導(使用 PCMCIA FireWire 卡,我的情況肯定是這樣!),會有相當簡單的解決方案。可以從支持的設備(如軟盤驅動器、CD、USB key 或主驅動器上的微小分區(qū))執(zhí)行初始引導步驟,然后使用外置驅動器進行其他操作。

構建引導映像

可以使用兩種方法引導:

? 一階段引導

內核引導、安裝根文件系統(tǒng),并通過調用初始化腳本(通常是 /sbin/init)繼續(xù)進行初始化。

? 兩階段(initrd)引導

內核引導、安裝初始 ram 磁盤(initrd),執(zhí)行進一步的可定制初始化,然后安裝根文件系統(tǒng)并繼續(xù)進行初始化(通常也是通過調用 /sbin/init)

這兩種方法都有自己的優(yōu)點和缺點。

一階段引導

為了使用一階段引導,我們需要構建內核,其具有安裝內置根文件系統(tǒng)所需的所有驅動器(其他任何驅動器都可以在正常初始化過程中,在能夠從根分區(qū)加載的模塊中構建)。

如果我們要從非常小的設備引導(如軟盤),最好的方法是構建的內核僅具有足夠使我們可以安裝根外置文件系統(tǒng)的內置驅動器 —— 然后將其他所有項構建為模塊。例如,我內置了 SCSI 支持、PCMCIA 支持、IEE1394、SBP 和類似支持,但是其他所有項(包括顯卡支持、網(wǎng)絡設備支持等等)都作為模塊構建,這些模塊存儲在根分區(qū)(在外置驅動器上)中,而不是軟盤上。

使用簡單(一階段)引導過程,我們應該能夠構建具有所需支持的內核,將其放在軟盤驅動器中,在軟盤中安裝引導加載程序(我使用 GRUB,但還有其他選擇,如 LILO),然后使用與此內核(對于 GRUB)相似的內核引導:

root (fd0)

kernel (fd0)/boot/bzImage root=/dev/sda1

這種方法基本上可以工作,但有兩個問題:

1. 因為 SBP 支持使用 SCSI 仿真,為了檢測磁盤和允許安裝 /dev/sda1,需要“重新掃描”仿真的 SCSI 總線。這種掃描使用一組簡單的命令執(zhí)行。不過,遺憾的是,使用一階段引導,我們不能運行任何命令,直到內核已經完成引導,而內核直到安裝了根文件系統(tǒng)才能完成引導 —— 典型的自相矛盾困境。令人感到高興的是,對于導致 SCSI 總線在啟動時被掃描的 2.4 內核有可用的修補程序(有關更多詳細信息,請參閱參考資料)。通過應用此修補程序,我可以使外置驅動器在引導過程中由內核自動檢測,而不需要任何重新掃描命令。這使我們進入了下一個問題。

2. 內核中有定時窗口,這意味著內核經常在其能夠被正確的監(jiān)測和初始化之前嘗試安裝根設備。對于此問題,也有可用的修補程序(請參閱參考資料獲得相關鏈接),它只是使內核在啟動時等待很短的時間,并使其在安裝根文件系統(tǒng)失敗時重試(為外置驅動器提供時間識別)。

通過應用這兩個修補程序,我可以成功地在可引導軟盤上構建內核,其將引導,然后使用外置 FireWire 驅動器作為根。

這種方法的主要問題是需要我們給內核源碼打補丁 —— 這最多是一件痛苦之事(當發(fā)行新的內核版本時),嚴重時會是個大問題(如果沒有維護補丁程序與內核發(fā)生的其他更改保持一致的話)

您可能已經想到如果我們的 BIOS 支持 USB 或 FireWire 且我們直接引導,我們就可以避免這兩個問題。不幸的是,情況并不是這樣:雖然此方法在引導過程中使用 BIOS 調用來訪問磁盤,一旦內核開始初始化,將不再使用 BIOS,而是使用內核驅動器訪問磁盤 —— 這樣就會遇到相同的問題。

兩階段引導

到了內核版本 2.0.X,向 Linux 內核添加了一項引人注意的能力 —— 使用“initial RAM disk”(或 initrd)提供兩階段引導過程。

簡而言之,內核像平常一樣引導;但不安裝“真實的”根文件系統(tǒng),而是在 RAM 中創(chuàng)建微型根文件系統(tǒng)并安裝該系統(tǒng)。在安裝真實的根、切換為使用真實的根并銷毀 initial RAM disk 之前,任何步驟都可以在此初始環(huán)境中執(zhí)行。

這在各種環(huán)境中都有用,但是為了便于說明,我們將僅使用我們的迷你環(huán)境重新掃描 SCSI 總線,等待外置磁盤被識別,然后切換為使用該磁盤作為真實的根繼續(xù)引導。

為了使用這種方法,我們需要創(chuàng)建兩項,內核和 initrd 映像。

內核就是具有內置 initrd 支持的普通內核。initrd 映像是包含我們的迷你根文件系統(tǒng)的回送文件系統(tǒng)映像(此映像可以使用 gzip 進行壓縮以減少其大小)。

有關創(chuàng)建或定制自己的 initrd 映像的詳細信息,可以查看參考資料部分。

在 initrd 映像中,有一個名為 linuxrc 的文件。當加載 initrd 時會執(zhí)行此文件,所以確保其具有執(zhí)行權限!我們?yōu)榱诉M行說明,所以 linuxrc 非常簡單:

清單1. initrd linuxrc

#!/bin/sh REAL_ROOT=/dev/sda1 # mount the /proc filesystem 
mount -t proc none /proc  #for scsi-emulation # modprobe sd_mod  #for pcmcia 
# modprobe pcmcia_core  #for FireWire # modprobe ieee1394 # modprobe ohci1394 
# modprobe raw1394 # modprobe sbp2  #for USB # modprobe usbcore # modprobe 
ohci-hcd # modprobe uhci-hcd# modprobe usb-storage  # loop rescanning the 
scsi bus + rerunning devfsd retries=5 i=1 until [ -e $REAL_ROOT ] do   if 
[ $i -gt $retries ]   then      echo "Unable to mount real root ($REAL_ROOT) 
- Giving up!"      /bin/ash      exit   fi    echo "Real root ($REAL_ROOT) not 
found, retrying ($i)"   sleep 1   echo "scsi addsingle-device 0 0 0" > /proc/scsi
/scsi   echo "scsi add-single-device 1 0 0"> /proc/scsi/scsi   echo "scsi add-
single-device 2 0"> /proc/scsi/scsi   /bin/devfsd /dev -np   i=$((i+1))
 done  #umount /proc asit will be remounted by the normal init process umount 
/proc #now we simply exit, and the normal boot process should continue 
exit 0

我們做的所有操作都是加載適當?shù)哪K來支持外置驅動器:它們應該根據(jù)需要被解注。(我在內核中構建了所有必需的支持,因此不需要任何模塊。)然后我們進行循環(huán),重新掃描 SCSI 總線(通過將命令回送到 /proc pseudo-filesystem 中的特殊文件,并調用 devfsd),直到出現(xiàn)根設備(我的例子中為 /dev/sda1)。在我的例子中,討論的仿真 FireWire SCSI 總線是 1 0 0,不過也可以嘗試其他的,而不會有任何負面影響 —— 如果您知道要使用的總線,可以裁剪腳本。同樣,如果您有其他 SCSI 設備(或仿真 SCSI 設備),驅動器可能會有不同的字母(例如,/dev/sdb1)。如果不使用外置驅動器的第一個分區(qū),則需要使用不同的編號(例如,/dev/sda2)。

現(xiàn)在所需要做的就是將相關文件復制到 initrd 映像中(可以使用 mount -o loop 命令安裝未壓縮的映像)。特別地,需要確保具有 linuxrc 文件、在其中使用的所有命令和那些命令依靠的所有庫。然后,(未裝載的)映像可以進行壓縮。

接著把內核(bzImage)和 initrd 映像(initrd.gz)復制到(bootable, ext3)軟盤中。

最后一步是在軟盤中安裝引導加載程序,并使用下列選項引導內核:kernel bzImage root=/dev/sda1 initrd=initrd.gz。

現(xiàn)在應該可以使用軟盤進行引導:它將從軟盤加載內核,將 initrd 映像加載到 RAM 中,等待識別根設備,然后像平常一樣從那里繼續(xù)引導。從此以后,可以移除軟盤。

如果軟盤不適合(例如,如果計算機沒有軟盤驅動器),則可以使用能夠通過 BIOS 引導的任何設備。就個人而言,為了寫作本文,我使用小的 32Mb USB 盤。或者,如果您不介意改變內置硬盤驅動器的話,為了更便于引導,可以在其中創(chuàng)建小的分區(qū)。

熱詞搜索:

上一篇:教你如何從 FireWire 設備引導 Linux (1)
下一篇:WINXP下如何解決重裝IE

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
亚洲国产成人自拍| 亚洲国产精品精华液ab| 99re这里都是精品| av电影在线观看不卡| 不卡视频在线观看| 99视频一区二区| 不卡av在线网| 欧美午夜寂寞影院| 91麻豆精品国产| 精品国产电影一区二区| 久久精品免视看| 国产精品视频一区二区三区不卡| 久久久国产综合精品女国产盗摄| 中文幕一区二区三区久久蜜桃| 国产精品乱码妇女bbbb| 伊人一区二区三区| 亚洲不卡av一区二区三区| 免费成人在线影院| 国产乱理伦片在线观看夜一区| 日本成人超碰在线观看| 久久99精品久久久久久国产越南| 国产在线不卡一卡二卡三卡四卡| 国产成人精品1024| 欧美影视一区二区三区| 日韩午夜电影av| 国产精品久久久久一区二区三区| 亚洲男帅同性gay1069| 青青草原综合久久大伊人精品优势 | 精品乱人伦一区二区三区| 国产亚洲成av人在线观看导航| 国产精品久久久久精k8| 午夜久久久久久| 国产夫妻精品视频| 日本韩国精品在线| 久久天天做天天爱综合色| 亚洲男女一区二区三区| 麻豆精品一二三| 91蜜桃免费观看视频| 日韩一区二区在线观看视频播放| 国产三级三级三级精品8ⅰ区| 一区二区三区.www| 国产精品18久久久久久久久久久久 | 国产午夜精品福利| 亚洲国产视频一区二区| 国产成人在线免费观看| 欧美卡1卡2卡| 中文字幕中文乱码欧美一区二区| 五月天一区二区| 91麻豆123| 久久久99久久| 日本伊人色综合网| 色香蕉成人二区免费| 久久精品免视看| 蜜臀av性久久久久蜜臀av麻豆| 色婷婷av一区二区三区gif| 精品国产91洋老外米糕| 日韩成人午夜精品| 欧美伊人精品成人久久综合97| 国产精品久久久久久久久动漫| 精品在线播放午夜| 7777女厕盗摄久久久| 亚洲国产精品一区二区久久| 99久久精品99国产精品| 国产亚洲美州欧州综合国| 日韩高清欧美激情| 7777精品久久久大香线蕉| 一区二区三区国产精华| 一本色道a无线码一区v| 成人免费小视频| 99re这里只有精品首页| 国产精品毛片a∨一区二区三区| 黄色日韩网站视频| 久久综合九色综合97_久久久| 日本伊人色综合网| 欧美一区二区三区男人的天堂| 五月天欧美精品| 91精品国产综合久久久久久漫画| 亚洲成人精品在线观看| 欧美乱妇23p| 奇米色一区二区| 精品久久人人做人人爰| 久久99精品视频| 国产亚洲精品aa| 成人av影院在线| 亚洲一区二区三区三| 一本色道久久综合亚洲aⅴ蜜桃 | 精品亚洲欧美一区| 日韩精品一区二区三区四区 | 亚洲一本大道在线| 7777精品伊人久久久大香线蕉 | 亚洲高清视频的网址| 欧美日韩国产大片| 黑人精品欧美一区二区蜜桃 | 欧美成人激情免费网| 国产真实乱子伦精品视频| 国产亚洲欧洲997久久综合 | 国产日产亚洲精品系列| 东方aⅴ免费观看久久av| 亚洲欧美偷拍卡通变态| 51精品秘密在线观看| 激情五月激情综合网| 一区二区中文视频| 欧美一区二区精品| 粉嫩一区二区三区性色av| 亚洲在线观看免费视频| 精品日韩欧美一区二区| 99这里只有久久精品视频| 午夜日韩在线观看| 久久女同精品一区二区| 色婷婷综合视频在线观看| 日韩高清在线不卡| 中文子幕无线码一区tr| 欧美日韩国产成人在线免费| 国产精品资源站在线| 亚洲成av人影院| 日本一区二区三区高清不卡| 在线精品视频一区二区三四| 国内精品视频一区二区三区八戒| 亚洲免费在线视频| 久久久久高清精品| 欧美日韩另类一区| 成+人+亚洲+综合天堂| 精品亚洲成a人在线观看| 一区二区三区在线视频播放| 国产网站一区二区三区| 正在播放亚洲一区| 色综合网色综合| 国产精品一区二区在线观看网站 | 国产精品系列在线| 欧美一区午夜精品| 91国偷自产一区二区三区观看 | 亚洲狠狠爱一区二区三区| 国产色产综合色产在线视频| 欧美军同video69gay| 色婷婷精品久久二区二区蜜臀av| 激情六月婷婷久久| 婷婷六月综合网| 亚洲一区欧美一区| 日韩久久一区二区| 中文字幕精品一区二区三区精品 | 国产精品福利一区| 国产性做久久久久久| 欧美大片免费久久精品三p| 欧美在线色视频| 在线视频国内一区二区| 91论坛在线播放| 成人高清在线视频| 国产91精品一区二区| 韩国女主播成人在线观看| 久久国产精品99久久人人澡| 日韩二区在线观看| 亚洲永久免费av| 亚洲成人动漫av| 日韩电影在线观看网站| 日韩电影在线一区二区三区| 视频在线观看国产精品| 日本欧美一区二区| 丝袜脚交一区二区| 久久99精品国产| 国产一区二区在线电影| 国产福利精品一区二区| 国产成a人亚洲| av亚洲精华国产精华| 色婷婷综合久久久中文一区二区| 欧美日韩一区小说| 欧美久久久一区| 日韩欧美亚洲国产另类| 久久久无码精品亚洲日韩按摩| 国产欧美日韩综合| 亚洲欧美色综合| 日韩高清一区二区| 狠狠色综合播放一区二区| 国产成人av在线影院| 99久久国产综合精品女不卡| 91福利国产成人精品照片| 制服丝袜激情欧洲亚洲| 精品成人佐山爱一区二区| 中文字幕不卡在线| 亚洲国产精品久久久久婷婷884| 日韩成人伦理电影在线观看| 国产精品一区免费在线观看| 色综合视频在线观看| 欧美一级理论片| 中文字幕在线一区免费| 亚洲国产日产av| 国产一区二区三区四区五区美女| 成人综合婷婷国产精品久久| 欧美三区免费完整视频在线观看| 欧美精品丝袜中出| 久久久久高清精品| 亚洲大型综合色站| 国产jizzjizz一区二区| 欧美色男人天堂| 中文无字幕一区二区三区| 亚洲一区二区三区视频在线播放| 激情另类小说区图片区视频区| 在线一区二区观看| 国产欧美一区二区三区在线看蜜臀| 亚洲综合网站在线观看| 国产乱子伦视频一区二区三区 |