成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關(guān)注微信公眾號(hào)

從USB移動(dòng)硬盤上引導(dǎo)Portable Linux詳解2
2007-07-28   網(wǎng)絡(luò)

中間提到一個(gè)有用的工具:BusyBox,如果有整個(gè)定制過(guò)程中出現(xiàn)麻煩,反復(fù)地修正和重啟是個(gè)麻煩事,而把Bash整到啟動(dòng)過(guò)程中,依賴的各種庫(kù)文件很是占用空間,先在虛擬系統(tǒng)內(nèi)下載一個(gè)BusyBox編譯安裝絕對(duì)有益于后面定制過(guò)程中的手工調(diào)試。

  當(dāng)然,對(duì)于最終結(jié)果來(lái)說(shuō),BusyBox不是必須的。

  到這里,虛擬機(jī)里己經(jīng)安裝了一個(gè)新的內(nèi)核,如果你愿意,不妨用它在虛擬機(jī)里引導(dǎo)一下,看看它是否工作良好。

  第七才開(kāi)始進(jìn)入正題,動(dòng)手對(duì)付這個(gè)新內(nèi)核的initrd鏡像,讓它能正確地聯(lián)接在主機(jī)上從USB盤上啟動(dòng)起來(lái),而不是在虛擬機(jī)里啟動(dòng)。先把/boot/initrd-2.6.21.img 復(fù)制到你的工作目錄下來(lái),并把它更名成.gz文件,解開(kāi)到一個(gè)定制的目錄中,這里我是這么做的:

  #cd

  3cp /boot/initrd-2.6.21.1.img hd.gz

  #mkdir newinitrd

  #gunzip hd.gz

  #cd newinitrd

  #cpio -i ——make-directories < ……/hd

  這個(gè)時(shí)候,newinitrd目錄下就是整個(gè)initrd文件內(nèi)被打包壓縮了的文件。

  這里扯一下:發(fā)行版內(nèi)的mkinitrd工具,來(lái)自于mkinitrd軟件包,你可以用mkinitrd ——version查一下,編譯核心的最后一步make install這個(gè)過(guò)程的最后一步就是mkinitrd,這是一個(gè)shell腳本,有耐心和興趣的可以仔細(xì)讀一下,在我用的5.0.32版本的mkinitrd工具中,linux的開(kāi)發(fā)者也己經(jīng)試圖加入了生成從usb盤引導(dǎo)linux的功能,只可惜,似乎生成的initrd并不能正常從USB移動(dòng)硬盤上引導(dǎo),最后還是得我們自己定制。

  第八:把需要用的內(nèi)核模塊從/lib/modules/當(dāng)前版本/kernel/drivers……等目錄中復(fù)制到當(dāng)前initrd解開(kāi)后的目錄的lib目錄下。在這之前,先看看里面有什么,不同的情況下,還是有一些差別的。

  接著上面的shell環(huán)境:

  #cd lib

  #ls -l

  -rw-r——r—— 1 root root 69348 07-24 05:13 BusLogic.ko

  -rw-r——r—— 1 root root 144796 07-24 05:13 ext3.ko

  -rw-r——r—— 1 root root 75736 07-24 05:13 jbd.ko

  -rw-r——r—— 1 root root 24564 07-24 05:13 ub.ko

  -rw-r——r—— 1 root root 148040 07-24 05:13 usbcore.ko

  -rw-r——r—— 1 root root 102960 07-24 05:13 usb-storage.ko

  哦?己經(jīng)幫我把usb等模塊都復(fù)制上去了,還帶了一個(gè)BusLogic的SCSI驅(qū)動(dòng)。仔細(xì)比較這些ko文件,有不少還是被strip過(guò)的,比/lib/modules下的縮水小了很多。但是……

  少了總線驅(qū)動(dòng),它以為我把usb總線控制器編譯到內(nèi)核中了?沒(méi)辦法,這里只好老老實(shí)實(shí)地先把總線驅(qū)動(dòng)文件先復(fù)制過(guò)來(lái)。

  接著上面的shell環(huán)境:

  #cp /lib/modules/2.6.21.1/kernel/drivers/usb/host/ehci-hcd.ko .

  #cp /lib/modules/2.6.21.1/kernel/drivers/usb/host/uhci-hcd.ko .

  它們可以去掉內(nèi)部的一些符號(hào)以縮小體積:

  #strip ehci-hcd.ko

  #strip uhci-hcd.ko

  還少了必須的scsi disk 支持模塊:

  #cp /lib/modules/2.6.21.1/kernel/drivers/scsi/sd_mod.ko .

  這個(gè)不就必strip了,似乎strip它的話,會(huì)加載不上。

  除此之外,我們還得準(zhǔn)備一個(gè)sleep,取代linux引導(dǎo)時(shí)用的nash中的sleep內(nèi)部命令,那個(gè)不能有效地進(jìn)行延時(shí),于是到再到bin目錄下:

  這里還是得保留在我們的newinitrd目錄下:

  #cd ……/bin

  #cp /bin/sleep .

  除此之外,還得也準(zhǔn)備好sleep所依賴的庫(kù)文件:

  #ldd ./sleep

  linux-gate.so.1 => (0xffffe000)

  libc.so.6 => /lib/libc.so.6 (0x00c44000)

  /lib/ld-linux.so.2 (0x003b7000)

  它需要lib目錄下要有l(wèi)ibc.so.6和ld-linux.so.2,找到它們,復(fù)制到lib目錄下

  #cd ……/lib

  #cp /lib/ld-linux.so.2 .

  #cp /lib/libc.so.6 .

  到這里,必須的文件就準(zhǔn)備好了。

熱詞搜索:

上一篇:從USB移動(dòng)硬盤上引導(dǎo)Portable Linux詳解1
下一篇:從USB移動(dòng)硬盤上引導(dǎo)Portable Linux詳解3

分享到: 收藏
主站蜘蛛池模板: 追龙演员表全部名单| 巫山历险记| 误杀2演员表| 神宫奈绪| 吻胸摸全身视频| 烽火硝烟里的青春演员表| 男同视频在线| 子宫在肚子的哪个位置| 抖色| 卢昱晓电视剧| bb88| 视频www| 乡村女老师| 104房间| 罗中立的《父亲》详案| 美女mm免费视频| 抖音网页版登录入口| xiuren秀人网最新地址| 林海雪原演员表| 老男孩之猛龙过江 电影| 现代古诗冰心| 胡安·安东尼奥·萨马兰奇| 好心人| 草逼啊啊啊| 辘轳女人和井全26集| 街头霸王 1994 尚格·云顿| 赵琦| cctv5+体育赛事直播时间| 二胡独奏我的祖国| 红海行动2在线观看| 欧美动作片| 诗经中使用叠词的诗句| 金太狼的幸福生活演员表_| 花煞| 超级小熊布迷全集免费观看| 里番在线看| 小狗克罗历险记| 布袋头| 免费观看污视频网站| 理发师的情人电影| 一元二次方程实际问题|