您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何制作比較簡單的Linux系統,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
1. 新建一個虛擬機(名稱:linux,類型:Linux,版本:Ubuntu(64bit))
除了虛擬硬盤大小設置2G,其它選項默認.
2. 在一個已經安裝好ubuntu的虛擬機添加上述的虛擬硬盤.
先在安裝好的ubuntu上選擇設置->儲存->控制器:SATA->添加虛擬硬盤.
找到步驟1建立的虛擬硬盤.
3.啟動已安裝好的ubuntu.給虛擬硬盤分區.
如圖/dev/sdb就是步驟1的虛擬硬盤.
分區命令:sudo fdisk /dev/sdb
只分了一個主分區:
4.給虛擬硬盤安裝grub引導.
a.把/dev/sdb1格式化ext4文件系統.如圖:
b.掛載/dev/sdb1到/mnt.
命令:sudo mount -t ext4 /dev/sdb1 /mnt/
c.安裝grub.
5.添加grub.cfg
最簡單的方法是拷貝ubuntu虛擬機上的/boot/grub/grub.cfg到/mnt/boot/grub/,然后修改.
a.修改所有的uuid,用如圖的uuid(sdb1)替換原來的uuid(每個分區有唯一的uuid).
b.如圖修改147,165,182行.
6.拷貝vmlinux和ramdisk.
7.自己寫一個init程序,測試內核能否啟動
編譯命令:gcc -static main.c -o init,然后拷貝init到/mnt.
8.在/mnt下創建proc,sys,dev三個文件夾,/mnt內容如下:
9.啟動linux虛擬機,如圖,說明內核和init都成功運行.
10.拷貝sh和ls命令程序和動態庫. (可以拷貝更多命令)
注意:ubuntu系統的bash無法在這里當作init進程,sh實際是dash
a.先在/mnt下創建bin,lib/x86_64-linux-gnu,lib64文件夾.
b.sudo cp /bin/sh /bin/ls ./bin/
c.查看sh,ls需要哪些動態庫,如下:
d.拷貝步驟c的動態庫到lib/x86_64-linux-gnu和lib64.
11.啟動linux虛擬機,啟動前修改grub.cfg的init=/bin/sh,或者啟動時修改.結果如下:
關于如何制作比較簡單的Linux系統就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。