步驟概略:
(1)劃分一塊磁盤,用來裝系統
(2)給硬盤劃分至少兩個分區,一個為boot引導分區,一個為/根分區
(3)為分區創建文件系統,并掛載到兩個不同目錄
(4)在掛載boot的分區創建grub引導目錄
(5)復制內核vmlinux與initrd文件到boot目錄下,然后根據文件編寫grub下的引導配置文件
(6)創建根文件系統
(7)移植bash等命令到根目錄下
(8)啟動測試
(一)劃分磁盤
制作Linux系統,就需要有硬盤來裝載它。所以我們就需要劃分一塊硬盤來裝制作的Linux文件系統。這個硬盤不需要太大,這里我就劃分一個20G的硬盤來裝載它吧!先用lsblk來看看這個分區
(二)劃分分區
既然是一個mini系統,那這里就給它劃分兩個分區吧!一個boot用來引導內核啟動,一個為真正的根分區
創建分區用fdisk這個命令、
(三)創建文件系統
分區創建完成,但是想要它可以裝文件就要為它創建文件系統。那就把它創建為ext4的文件系統吧!
mkfs ?-t ?ext4 ?/dev/sdb1
mkfs ?-t ?ext4 ?/dev/sdb2
完成這兩步后,分區已經創建完成。就可以把它們掛載到指定目錄下了
(四)創建grub引導目錄
Linux的啟動需要加載內核,而內核的加載就需要grub里的配置文件來定義
grub-install ?–root-directory=/mnt/ ?/dev/sdb(這條命令就是用來生成grub引導文件的,它會根據CentOS6的內核文件來生成grub。然后把生成的文件指定到目標磁盤上)
(五)復制內核與initrd到boot目錄下
復制完成后就可以來編寫grub下的引導配置文件了,它會根據配置文件來逐步引導各個程序的啟動。如下圖:1、所表示這個系統的默認的啟動內核,0就是我們所制作的這個內核。2、表示如果在三秒內未指定為哪個內核,則系統就會啟動默認內核。3、表示內核的名字。4、指明啟動時的硬盤為哪一塊硬盤。5、kernel 指明內核文件放置的相對位置,root 指明根目錄的位置,selinux 表示把selinux這個安全策略關閉,init 表示我們要用的shell環境,這里我們用的是bash。
注意:編寫時需要注意要把根目錄的分區名更改為sda,因為當硬盤去引導系統時系統里只有一塊硬盤,它會被自動識別為/dev/sda
(六)創建根文件系統
啟動分區準備好后就需要準備根分區了。這個分區的作用就是整個系統的真正的分區,整個系統的配置文件、數據都會放置在這個分區內。所以我們就需要在這個分區內創建目錄來分別存放各個數據文件。而有些系統所必須的文件目錄我們就可以在這里創建完畢。 創建目錄的命令如下: cd /mnt/sysroot mkdir -pv {proc,dev,lib,bin,sbin,home,root,etc/rc.d,usr/{lib,bin,sbin},var/{log,run,lock},tmp,mnt,sys}
(七)移植命令到根下
系統創建完成后還需要復制一些基本的命令到根下,如bash、ls、cat、cd、hostname、vim等以這些命令來完成某些操作,實現基本的shell環境。所以我們需要編寫一個腳本完成這些命令的配置文件的復制以及所依賴的庫文件的復制。
下面這個腳本就可以幫我們完成這個任務
這些命令復制完成后。到這里一個mini的Linux系統已經基本創建完成了。為了看它是否能啟動我們可以先切根看看能否切進這個系統里去
chroot ?/mnt/sysroot ?(如果切入成功,則說明系統已經基本創建完成)
?。ò耍﹩訙y試 最后,我們就需要把硬盤卸載下來。然后用虛擬機用這塊硬盤來重新啟動,啟動成功后執行復制的幾個簡單的命令證明制作成功。
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/98134