導航:首頁 > 編程系統 > linuxmini

linuxmini

發布時間:2024-11-22 13:01:47

『壹』 如何製作最簡minilinux

自己定製linux系統這個是需要非常了解和理解linux內核和其他系統代碼方面知識才能完成的(以下是知識准備):Linux的啟動過程原理
initramfs的本質,如何編譯內核,製作OpenStack鏡像的根本原理
initramfs, 內核,鏡像之間的關系
chroot的根本原理,以及網上將linux安裝在arm的安卓手機的基本原理
簡要說下系統定製的基本流程(步驟):
創建工作目錄
使用busybox生成根文件系統中的bin等目錄
創建服務啟動腳本與inittab文件與fstab文件
創建根文件系統的init腳本(initrc使用linuxrc,而initramfs使用init腳本,所以先刪除busybox為initrc生成的默認的linuxrc文件,rm-rf$LINUX/linuxrc),init文件可以是任何ELF格式的可執行性文件,例如如果是一個編譯過的C程序也是可以的,記得安裝編譯c文件要用到的庫:sudoyum install -y glibc-static libstdc++-static。
使用chroot在未make內核之前就可以先測試initramfs
構建initramfs,先配置支持Generalsetup -> Initial RAM filesystem and RAM disk (initramfs/initrd)support (默認就是支持的),再將linux內核的CONFIG_INITRAMFS_SOURCE(Generalsetup -> initramfs sourcefile(s))指向這個目錄,然後執行make命令內核就會自動構建生成initramfs了(是一個壓縮過的cpio檔案文件),並且將它鏈接到內核鏡像中。
調試驗證。可以使用物理機驗證,也可以採用qemu虛機驗證。如果使用物理機來驗證的話,本來可以直接使用makeinstall命令自動安裝,但最好不要這么做,因為它會自動執行updategrub命令來破壞你的grub文件,可以手工做:
initramfs是一個最小化的根文件系統,它的根本目的是為了為切換到新的根文件系統做准備。initrd方式使用pivot_root命令切換到新的根文件系統,然後卸載ramdis,但是initramfs方式由於它是本身就是rootfs(rootfs是ramfs的一個實例)位於內存中,所以它既不能pivot_root,也不能umount,是常駐內存的。
對模塊的支持,到目前為止,我們在構建initramfs時還沒有涉及內核模塊的支持,所用到的硬體驅動程序都是直接編譯到內核中。現在我們就看看如何使initramfs支持內核模塊。
總結:
整個過程是,initrc或者initramfs都是一個運行在內存的小根文件系統,它有一個叫init的腳本,做完一些准備工作之後,如載入硬體的驅動,然後會切換到鏡像所在的新根文件系統上。

閱讀全文

與linuxmini相關的資料

熱點內容
cad怎麼把pdf轉成一個文件 瀏覽:826
word輕松工具箱 瀏覽:850
能查葯品真假的app 瀏覽:197
c提取文件內容 瀏覽:989
百度網盤隱藏文件沒了 瀏覽:369
戴爾電腦官方網站網址是多少 瀏覽:230
infinitytask教程 瀏覽:759
股票用的網站有哪些 瀏覽:649
手機如何建立文件夾粘貼文字 瀏覽:90
怎樣知道win10永久激活碼 瀏覽:592
蘋果手機怎麼搜索網路列印機 瀏覽:602
學做菜用哪個app最容易看懂 瀏覽:452
jdg文件如何才能列印出來 瀏覽:364
netftp上傳文件名中文 瀏覽:217
登錄密碼忘了怎麼辦 瀏覽:883
微軟系統微信怎麼升級嗎 瀏覽:311
ps文件色彩只有黑白怎麼調回彩色 瀏覽:251
iphone4s打開不了wifi 瀏覽:931
北大青鳥手報如何編程 瀏覽:671
傳奇3路徑文件在哪 瀏覽:330

友情鏈接