我們都知道linux系統(tǒng)具有無(wú)比強(qiáng)大的功能,但是有時(shí)候功能強(qiáng)大并不一定是我們想要的,有些情況下我們想要的恰恰就是一個(gè)簡(jiǎn)潔、消耗資源少、能運(yùn)行一些基本的功能和基本指令的系統(tǒng),這時(shí)候就需要我們手動(dòng)來(lái)制作一個(gè)精簡(jiǎn)的linux系統(tǒng)。
如下圖所示:我們有一臺(tái)待安裝的主機(jī)(主機(jī)B)和一臺(tái)功能完備的主機(jī)(主機(jī)A),首先把待安裝主機(jī)的硬盤拆下來(lái)放到主機(jī)A上,然后在主機(jī)A把內(nèi)核、驅(qū)動(dòng)、進(jìn)程、庫(kù)文件等一些系統(tǒng)必備的東西放到空的硬盤上做成系統(tǒng)硬盤,最后把做好的硬盤放到主機(jī)B上直接啟動(dòng)就行了。
![](/d/20211018/8b7a305c640d299f01749fc92608dded.gif)
下面我們?cè)谔摂M機(jī)上來(lái)模擬這個(gè)實(shí)驗(yàn):
1、在宿主機(jī)上創(chuàng)建一個(gè)空的硬盤
![](/d/20211018/ca6ecdb24238ef42271dda03f57e3094.gif)
2、打開主機(jī)A進(jìn)行硬盤分區(qū)
(1)利用fdisk /dev/adb對(duì)空的硬盤進(jìn)行分區(qū),分區(qū)大小分別為主分區(qū)一(作為引導(dǎo)分區(qū))100M、主分區(qū)二(作為根分區(qū))1G(根分區(qū)不能太?。┖椭鞣謪^(qū)三(作為虛擬分區(qū))500M
![](/d/20211018/d73dd2678bc50fad77cb7b9a89a52310.gif)
(2)對(duì)分區(qū)做標(biāo)識(shí)
![](/d/20211018/7402f9a34591d2207951bf0d8e693c6a.gif)
(3)分別對(duì)第一第二分區(qū)做格式化
![](/d/20211018/41c6ed2de4b1d8cdeb9a2f7166ce1aad.gif)
(4)新建兩個(gè)掛載點(diǎn),把新硬盤的前兩個(gè)分區(qū)分別掛載到兩個(gè)掛載點(diǎn)上
![](/d/20211018/92b17074e5726312c338c35442076708.gif)
3、為新硬盤創(chuàng)建grub引導(dǎo)程序引導(dǎo)的第一、第二階段建
(1)創(chuàng)建grub引導(dǎo)程序引導(dǎo)的第二階段,如下所示,參數(shù)DIR既是指/mnt /dev/adb
![](/d/20211018/93e4dddb3df86ae7f0bde8a31bf0cd3f.gif)
如下圖所示在boot目錄下生成了grub菜單,進(jìn)入grub目錄查看,除了grub.conf的配置文件沒(méi)有外其他說(shuō)明文件和描述文件都有,這里需要說(shuō)明的是配置文件需要我們手動(dòng)創(chuàng)建。
![](/d/20211018/d3b7af6eb44496f4865c601505e2d4c6.gif)
(2)創(chuàng)建grub引導(dǎo)第一階段
首先輸入grub,然后開始創(chuàng)建
![](/d/20211018/bb80355341c1362aacda30abd5233b1a.gif)
4、拷貝內(nèi)核
![](/d/20211018/ef72242296b75ce7a676feb20d5bf5e7.gif)
5、拷貝驅(qū)動(dòng)
(1)在家目錄下創(chuàng)建一個(gè)臨時(shí)工作空間,在該目錄下把主機(jī)A的驅(qū)動(dòng)解壓縮到該目錄
![](/d/20211018/4f32ac76ccd33678eacf9e419a5d60b8.gif)
在temp目錄下有些比較重要的目錄或文件,比如bin(放置庫(kù)文件)、init(init程序調(diào)用的相關(guān)信息)。下面我們來(lái)查看一下init文件,如圖所示,我們要根據(jù)實(shí)際情況做相應(yīng)的調(diào)整。
![](/d/20211018/c7c2eb8c4d7564fad8649f5c79807145.gif)
(2)把temp目錄下的文件重新打包成一個(gè)文件,并輸送到新硬盤的引導(dǎo)分區(qū)下
![](/d/20211018/658e526efd8d560688251e5a0d39d30e.gif)
6、切換到/mnt/boot/grub目錄,創(chuàng)建grub.conf文件,文件內(nèi)容如下
![](/d/20211018/42ca9ab746c2a7f949e7bc796e8bb966.gif)
7、在新硬盤的根分區(qū)下建設(shè)文件系統(tǒng)(下面建設(shè)的是必要的目錄,可根據(jù)實(shí)際情況設(shè)置哦)
![](/d/20211018/7019a109c80def14c9da8902ee1d9834.gif)
![](/d/20211018/050014ab04a8f8b56220b724ad207d41.gif)
8、拷貝可執(zhí)行程序和其所依賴的庫(kù)文件
(1)這里我們先拷貝init的可執(zhí)行程序和所依賴的庫(kù)
首先查看可執(zhí)行文件的具體位置,再進(jìn)行拷貝
![](/d/20211018/941cc470e62e8b8d21d36abba2c0a6ca.gif)
然后進(jìn)行查看庫(kù)文件并拷貝
![](/d/20211018/32bb195626b19e3b55095724e444bd34.gif)
如上圖所示,凡是帶有/lib目錄的都要拷貝
![](/d/20211018/5d72c10682344ecb472acdeaebe3c1e2.gif)
(2)根據(jù)上邊的方法再分別把bash、ls、cat進(jìn)行拷貝
上一頁(yè)12 下一頁(yè) 閱讀全文