《LINUX入門:自制mini的Linux系統(tǒng)》要點(diǎn):
本文介紹了LINUX入門:自制mini的Linux系統(tǒng),希望對您有用。如果有疑問,可以聯(lián)系我們。
如何打造一個(gè)小的Linux系統(tǒng).這個(gè)可以當(dāng)做一個(gè)很簡單的啟動盤,并使它能夠成功啟動且能有簡單的shell環(huán)境.
步驟概略:
(1)劃分一塊磁盤,用來裝系統(tǒng)
(2)給硬盤劃分至少兩個(gè)分區(qū),一個(gè)為boot引導(dǎo)分區(qū),一個(gè)為/根分區(qū)
(3)為分區(qū)創(chuàng)建文件系統(tǒng),并掛載到兩個(gè)不同目錄
(4)在掛載boot的分區(qū)創(chuàng)建grub引導(dǎo)目錄
(5)復(fù)制內(nèi)核vmlinux與initrd文件到boot目錄下,然后根據(jù)文件編寫grub下的引導(dǎo)配置文件
(6)創(chuàng)建根文件系統(tǒng)
(7)移植bash等命令到根目錄下
(8)啟動測試
(一)劃分磁盤
制作Linux系統(tǒng),就必要有硬盤來裝載它.所以我們就必要?jiǎng)澐忠粔K硬盤來裝制作的Linux文件系統(tǒng).這個(gè)硬盤不必要太大,這里我就劃分一個(gè)20G的硬盤來裝載它吧!先用lsblk來看看這個(gè)分區(qū)
(二)劃分分區(qū)
既然是一個(gè)mini系統(tǒng),那這里就給它劃分兩個(gè)分區(qū)吧!一個(gè)boot用來引導(dǎo)內(nèi)核啟動,一個(gè)為真正的根分區(qū)
創(chuàng)建分區(qū)用fdisk這個(gè)命令、
(三)創(chuàng)建文件系統(tǒng)
分區(qū)創(chuàng)建完成,但是想要它可以裝文件就要為它創(chuàng)建文件系統(tǒng).那就把它創(chuàng)建為ext4的文件系統(tǒng)吧!
mkfs ?-t ?ext4 ?/dev/sdb1
mkfs ?-t ?ext4 ?/dev/sdb2
? 完成這兩步后,分區(qū)已經(jīng)創(chuàng)建完成.就可以把它們掛載到指定目錄下了
(四)創(chuàng)建grub引導(dǎo)目錄
Linux的啟動必要加載內(nèi)核,而內(nèi)核的加載就必要grub里的配置文件來定義
grub-install ?--root-directory=/mnt/ ?/dev/sdb(這條命令就是用來生成grub引導(dǎo)文件的,它會根據(jù)CentOS6的內(nèi)核文件來生成grub.然后把生成的文件指定到目標(biāo)磁盤上)
(五)復(fù)制內(nèi)核與initrd到boot目錄下
復(fù)制完成后就可以來編寫grub下的引導(dǎo)配置文件了,它會根據(jù)配置文件來逐步引導(dǎo)各個(gè)程序的啟動.如下圖:1、所表示這個(gè)系統(tǒng)的默認(rèn)的啟動內(nèi)核,0就是我們所制作的這個(gè)內(nèi)核.2、表示如果在三秒內(nèi)未指定為哪個(gè)內(nèi)核,則系統(tǒng)就會啟動默認(rèn)內(nèi)核.3、表示內(nèi)核的名字.4、指明啟動時(shí)的硬盤為哪一塊硬盤.5、kernel 指明內(nèi)核文件放置的相對位置,root 指明根目錄的位置,selinux 表示把selinux這個(gè)平安策略關(guān)閉,init 表示我們要用的shell環(huán)境,這里我們用的是bash.
注意:編寫時(shí)必要注意要把根目錄的分區(qū)名更改為sda,因?yàn)楫?dāng)硬盤去引導(dǎo)系統(tǒng)時(shí)系統(tǒng)里只有一塊硬盤,它會被自動識別為/dev/sda
(六)創(chuàng)建根文件系統(tǒng)
啟動分區(qū)準(zhǔn)備好后就需要準(zhǔn)備根分區(qū)了.這個(gè)分區(qū)的作用就是整個(gè)系統(tǒng)的真正的分區(qū),整個(gè)系統(tǒng)的配置文件、數(shù)據(jù)都會放置在這個(gè)分區(qū)內(nèi).所以我們就需要在這個(gè)分區(qū)內(nèi)創(chuàng)建目錄來分別存放各個(gè)數(shù)據(jù)文件.而有些系統(tǒng)所必需的文件目錄我們就可以在這里創(chuàng)建完畢.
創(chuàng)建目錄的命令如下:
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}
(七)移植命令到根下
系統(tǒng)創(chuàng)建完成后還必要復(fù)制一些基本的命令到根下,如bash、ls、cat、cd、hostname、vim等以這些命令來完成某些操作,實(shí)現(xiàn)基本的shell環(huán)境.所以我們必要編寫一個(gè)腳本完成這些命令的配置文件的復(fù)制以及所依賴的庫文件的復(fù)制.
下面這個(gè)腳本就可以幫我們完成這個(gè)任務(wù)
這些命令復(fù)制完成后.到這里一個(gè)mini的Linux系統(tǒng)已經(jīng)基本創(chuàng)建完成了.為了看它是否能啟動我們可以先切根看看能否切進(jìn)這個(gè)系統(tǒng)里去
chroot ?/mnt/sysroot ?(如果切入成功,則說明系統(tǒng)已經(jīng)基本創(chuàng)建完成)
(八)啟動測試
最后,我們就必要把硬盤卸載下來.然后用虛擬機(jī)用這塊硬盤來重新啟動,啟動成功后執(zhí)行復(fù)制的幾個(gè)簡單命令.到這里整個(gè)Linux系統(tǒng)已經(jīng)制作完成.
本文永久更新鏈接地址:
歡迎參與《LINUX入門:自制mini的Linux系統(tǒng)》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/7025.html