打造精簡版Linux-mini

Linux系統的核心就是它的內核,所有的Linux系統採用的內核都是相同的,唯一不同的就是除了內核以外的服務以及應用的軟件不同而已。那麼可以根據Linux的這一特點,我們可以根據自己的需求打造屬於自己的mini版的Linux了。

那麼我們打造的miniLinux系統包括內核、驅動、initinittab、常用指令、庫文件以及我們所需要的服務或者軟件功能。我們把miniLinux所需要的東西全部存儲在一個硬盤,找到一臺功能完備的“宿主機”把存儲有miniLinux的硬盤連接上,啓動我們的“宿主機”應該就可以進入我們自己打造的精簡版Linux了,可能在啓動的過程中,我們會遇到各種各樣的問題,那我們就要通過自己對系統內部的瞭解與認識對精簡版Linux進行調試與修改,最後能夠使精簡版的Linux啓動並且能夠擁有我們所需求的功能與服務。

1、宿主機添加一塊硬盤:

2、啓動宿主機,對於我們要打造的Linux將存儲在新添加的硬盤內,那麼作爲一個系統硬盤,它就需要有引導分區、根分區以及swap分區這些系統硬盤所需要的基本分區。引導分區一般設置100M就足夠了,根分區也就是所謂的主分區,這個分區需要足夠大的空間,不然系統識別不出來,那我們就把根分區設置1G的空間,對於我們所打造的mini版的Linuxswap分區需要500M就足夠了。因爲我們分出來的分區都是一樣的,所以對於不同分區,我們就要添加標籤,將引導分區添加boot*標籤,在swap分區的id標記爲82,這些打過標籤的分區就會被系統識別爲不同的分區並實現不同的功能。最後保存(w)分區表就把新添加硬的分區分好了。

3、分別將引導分區(sda1)和根分區(sda2)的文件系統格式改爲ext3

4、新硬盤建立掛載點並將對應的分區掛在掛載點上,掛載之後這些分區將是我們新添加硬盤對應的系統引導區和根分區。

5、接下來我們就需要對系統啓動流程中的grub菜單進行部署,先在新的硬盤上執行grub-install命令,將grub菜單安裝在/mnt/boot/grub/

6、通過查詢可知,在grub的安裝目錄下,沒有grub的菜單項,那麼就需要我們通過手工來創建它。

7、解壓並查看原有系統加載的驅動都有哪些?

Init文件需要重新打包並壓縮,文件輸出到新硬盤的/mnt/boot/目錄下並命名爲initrd

我們可以看到boot目錄下內核以及驅動程序都存在了,我們應該需要編寫grub菜單文件了。

8、現在我們已經把啓動流程中的前兩步已經做好了,需要進行init進程了,我們先在新的硬盤的建立一些將要用到的目錄。

同時我們還需要將那些可執行文件的目錄以及庫文件都拷貝到我們的新硬盤裏。

把一些常用的工具加入到我們的精簡版Linux中,通過從宿主機拷貝相關目錄和庫文件到新的硬盤上。

通過查看宿主機的inittab文件,我們將部分內容行追加到新硬盤的inittab文件中並查看inittab文件。

新硬盤的初始化文件rc.sysinit的編寫。

附加可執行權限:chmod a+x rc.sysinit

同步操作:sync

做到現在,我們的精簡版的Linux已經有個雛形了,那麼我們現在就把硬盤放在計算機上啓動並作調試。

這就是我們剛纔打造的精簡版的Linux的啓動界面

這是啓動完畢進入的畫面,由於我們只導入了lscatbash三個功能,如果我們還有其他需求的話,完全可以把相關工具和所需庫文件拷貝到系統硬盤中,我們打造的精簡版系統能夠正常啓動,說明我們得到了初步成功,對於更好地多功能的導入,我們需要自己編寫一個能夠自動拷貝相關文件和所需庫文件的shell腳本來實現繁瑣的拷貝功能,同樣我們還可以對grub菜單列表進行美化。現在我們的系統還不能夠運行init的命令,因爲我們還沒創建有關init運行級別的文件到系統內。

9、重新啓動我們的宿主機,繼續對我們打造的精簡版的Linux的系統硬盤進行優化與功能的完善。

因爲沒有rc.d的運行級別文件,那麼我們就自己創建一些常用的命令腳本文件就歐了。


我們已經添加了關機與重啓的腳本程序,那麼我們現在在裝有新系統硬盤的機器上啓動精簡版Linux,測試我們的關機重啓腳本是否能夠成功運行。

我們還想查看hostname以及部分網絡功能,那我們需要這些功能的文件以及所需要的庫文件。


我們還需要network文件,將network文件拷貝到新硬盤新建的sysconfig目錄下。

在我們打造的系統中添加網絡模塊和驅動,通過查看網絡模塊pcnet32得知,該網絡模塊依賴mii.ko模塊,那麼我們就把這些模塊在開機啓動時初始化,並在初始化配置文件中設置。


對初始化配置文件中涉及的新文件拷貝到新的硬盤內。

我們執行過這些操作後,就可以再次啓動我們的新系統硬盤,測試我們新添加的功能是否可用。

現在我們可以對我們打造的精簡版的Linux進行美化,主要是對grub菜單列表加個背景圖片,因爲grub菜單對背景圖的色位和大小有要求,那麼我們用工具就對圖片進行修改,Red Hat Enterprise Linux提供的有個gimp工具軟件,我們需要在宿主機上安裝gimp軟件包,爲了解決軟件包的依賴關係,我們需要對yum配置文件進行修改,本次採用本地yum安裝gimp

gimp必須在桌面模式下啓動,在配置啓動過程中無需過多的配置,點擊下一步就可以了。

我們找到一張圖片在gimp中打開,把圖片分辨率調爲640x480ImageScale Image調節圖片大小。

ImageModeIndexed修改圖片的色位。

最後圖片保存成xpm格式。

複製圖片到引導分區grub目錄下,在grub的配置文件添加圖片路徑及名稱。

哈哈,看到這個畫面後,我們對grub菜單列表背景的添加成功了。如果還有其他功能的需要,我們可以通過編寫拷貝的腳本文件將軟件包內容以及運行所需要的庫文件複製到打造精簡版Linux的系統硬盤中就OK了。

附加拷貝腳本程序:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章