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