歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 打造個人專屬的微型Linux--具體實現篇

打造個人專屬的微型Linux--具體實現篇

日期:2017/2/28 15:46:29   编辑:Linux教程

這期間在制作過程中個人也遇到了些許問題,所以斷斷續續的才把此篇寫完。
問題是在initrd階段識別不到磁盤設備,掛載不了rootfs,谷歌了查了很多資料都沒得到解決。剛開始用的是CentOS6.2的內核,6.2更新了initrd,裡面的init腳本和以前有很大的不同,於是我換到5.8的內核,還是不行,又切換到5.4的內核,問題依然存在。火大,又自己去官網下載了2.6.18的內核源代碼,基於安裝的centos5.4的config重新編譯了一次(編譯太耗時間),問題依舊存在。。。那時候真的是特別無語。最後還是找馬哥交流了下,在這裡還要多謝馬哥的指導,找到了問題的關鍵所在。

總結在上一篇的linux啟動原理(見 http://www.linuxidc.com/Linux/2012-07/64753.htm ),我們知道要啟動一個linux所必須的有的東西有以下幾個
1.bootloader:系統引導程序GRUB
2.kernel:系統內核
3.initrd:引導內核的ramdisk
4.init:系統第一個進程
5.用戶接口bash
5.init,bash等程序所依賴的庫文件和腳本

為了避免各位看官看的迷糊,首先先說下大概的一個流程
整個實驗的流程:安裝bootloader--復制kernel到硬盤--提供initrd--配置GRUB--提供init,bash,等必須的軟件和庫文件

由以上流程羅列出以下所需要的一些配置文件,程序等元素

配置文件 /etc/inittab /boot/grub/grub.conf
腳本 /etc/rc.d/rc.sysinit
必須的程序
kernel
/sbin/init
/bin/bash
庫文件:用ldd查看具體需要哪些庫文件

知道了以上所需要的東西,接下來,就可以開始動手在一塊硬盤中一步步的打造一個微型的linux了
具體思路是在一個安裝好的linux宿主機中添加一塊新硬盤,在這塊硬盤上安裝一個微型的linux,再用另外一台虛擬機加載那塊硬盤啟動微型linux

OK,just do it !

ps:以下都在虛擬機中實現


step1:
首先添加一塊硬盤




step2:
啟動宿主linux系統,對新添加的硬盤進行分區。這裡分一個boot分區,一個根分區和一個swap分區

可以看到,boot分區用了100MB,根分區我只使用了512MB。從中可以看出這是一個極其精簡的linux。SWAP分區用了128MB,所以下面我將只會使用64MB的內存來啟動這個linux。

Copyright © Linux教程網 All Rights Reserved