最小化Linux系統u盤啟動盤的製作

來源:互聯網
上載者:User


最近剛好一直在做linux核心的裁剪,今天嘗試著做了一個u盤啟動盤,沒有用原來系統的檔案系統,而是直接利用initrd.img裡面的檔案系統最後獲得一個bash而無需登陸和掛載硬碟什麼的,相當於整個系統運行在記憶體裡面,感覺還是蠻好玩的。

前期準備——u盤一個,最小化的Linux核心和initrd.img我的核心是3.2.18版本的。核心的大小是2.9M,img的大小是4.1M

1、修改img裡面的內容

  • 解壓img zcat /boot/initrd3-2.18.img | cpio -i
  • 把/bin/bash拷貝到bin/
  • 修改init全部刪掉後改成#/bin/bash     /bin/bash
  • 壓縮成img find . | cpio -cov > /boot/inirtd.img

2、把u盤設為啟動盤 /dev/sdb1

    然後把要啟動的那個分區加上boot標記,最後要記得把分區表的資訊寫進去,在編輯的時候敲入w

3、把隨身碟mount到/mnt

mount -t msdos /dev/sdb2 /mnt

4、製作檔案系統

  • 在u盤中建立一個/boot/grub目錄
  • 把/boot/grub目錄下面的stage1和stage2拷貝到/boot目錄下面
  • 把核心和img都拷貝到/boot目錄下面
5、在u盤上安裝grub
  • 運行grub
  • 輸入root (hd1,0)
  • 輸入 setup(hd1)(當然這裡的hd1和具體的系統內容是有關係的,我是在CentOS6.2下面)
  • 安裝成功後u盤啟動盤就做好了
6、u盤啟動
  • 選擇從u盤啟動
  • 設好root目錄 root (hd0,0)
  • 載入核心  kernel /boot/vmlinuz
  • 載入initrd       initrd  /boot/initrd.img
  • 啟動 boot
  • 然後就可以進入linux的bash裡面了
這個最小啟動系統還是蠻好玩的,用於拯救我們的windows系統估計也是可以的,所以linux的世界真的很神奇,最終系統只有不超過20M的東西,所謂技術宅改變世界大概就是這個道理吧。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.