如何制作linux系统硬盘,教你制作Linux操作系统的Boot/Root盘
boot/root盤由兩部分組成,即核心和根文件系統(tǒng)。要把這兩部分都放到一個(gè)1.44MB的軟盤上去,通常要對內(nèi)核和根文件系統(tǒng)進(jìn)行壓縮,壓縮核心的最好方法是進(jìn)行重新編譯內(nèi)核,將一些不必要的支持去掉,如對網(wǎng)絡(luò)和其它周邊設(shè)備的支持,重要的一點(diǎn)是記住內(nèi)核必須支持RAMDISK及ext2,否則系統(tǒng)不能正常引導(dǎo)。關(guān)于內(nèi)核的編譯本文不再闡述,下面重點(diǎn)介紹如何生成根文件系統(tǒng)的壓縮包。對于根文件系統(tǒng)的壓縮包括兩方面的問題,第一是只保留必要的根文件系統(tǒng)組件,第二是將根文件系統(tǒng)做成一個(gè)壓縮包,類似于內(nèi)核工作的原理。
1 根文件系統(tǒng)概述
一個(gè)根文件系統(tǒng)必須包括支持完整Linux系統(tǒng)的全部東西,它至少應(yīng)包括以下幾項(xiàng):
·基本文件系統(tǒng)結(jié)構(gòu);
·至少含有以下目錄:/dev、 /proc、 /bin、 /etc、 /lib、 /usr、 /tmp;
·最基本的應(yīng)用程序,如sh、 ls、 cp、 mv等;
·最低限度的配置文件,如rc、 inittab、 fstab等;
·設(shè)備:/dev/hd*、 /dev/tty*、 /dev/fd0;
·基本程序運(yùn)行所需的庫函數(shù)。
以上所需文件一般情況下會(huì)超過1.44M,因此我們通常的做法是先準(zhǔn)備好內(nèi)容后再壓縮到軟盤中,當(dāng)用軟盤啟動(dòng)時(shí),再把文件解壓到內(nèi)存中,形成一個(gè)虛擬盤(RAMDISK),通過RAMDISK控制系統(tǒng)啟動(dòng)。
為了能創(chuàng)建以上的根文件系統(tǒng),你必須有一個(gè)空閑的能夠放下大約4MB文件的RAMDISK。系統(tǒng)缺省情況下已替我們建好了一個(gè)大小為4096KB的RAMDISK,其設(shè)備名一般為/dev/ram0,我們就使用它來保存我們預(yù)先準(zhǔn)備好的根文件系統(tǒng)。
2 創(chuàng)建根文件系統(tǒng)
Linux內(nèi)核識(shí)別兩種可以直接拷貝到RAMDISK的文件系統(tǒng),它們是minix 和ext2,ext2性能更好。mke2fs缺省情況下在1.44M的軟盤上產(chǎn)生360個(gè)信息節(jié)點(diǎn),使用壓縮格式的根文件系統(tǒng)需要更多的信息節(jié)點(diǎn),所以使用如下命令創(chuàng)建文件系統(tǒng)可以創(chuàng)建2000個(gè)信息節(jié)點(diǎn),而且一般不會(huì)用完。
mke2fs -m 0 -i 2000 /dev/ram0
mke2fs將會(huì)自動(dòng)判斷設(shè)備容量的大小并相應(yīng)地配置自身,-m 0參數(shù)防止它給root保留空間,這樣會(huì)騰出更多的有用空間。接著把虛擬盤掛在節(jié)點(diǎn)/mnt上:
mount -t ext2 /dev/ram0 /mnt/floppy
接著是創(chuàng)建目錄。根文件系統(tǒng)最少應(yīng)該有如下8個(gè)目錄:
/dev — 設(shè)備;
/proc — proc 文件系統(tǒng)所需目錄;
/etc — 系統(tǒng)配置文件;
/sbin — 重要的系統(tǒng)程序;
/bin — 基本應(yīng)用程序;
/lib — 共享函數(shù)庫;
/mnt — 裝載其他磁盤節(jié)點(diǎn);
/usr — 附加應(yīng)用程序。
執(zhí)行如下命令創(chuàng)建這些目錄:
#cd /mnt/floppy #mkdir dev proc etc sbin bin lib mnt usr
接下來的工作就是確定各個(gè)目錄下的內(nèi)容了:
·/dev:/dev中含有系統(tǒng)不可缺少的設(shè)備文件。可以把現(xiàn)有系統(tǒng)中/dev的文件拷貝過來,然后刪除不必要的文件。命令cp -dpR /dev /mnt會(huì)拷貝/dev整個(gè)目錄但不拷貝文件內(nèi)容,dp開關(guān)保證鏈接文件仍然不變,不會(huì)拷貝鏈接所指原文件,而且屬性不變。如果你沒有SCSI設(shè)備,刪除所有的以sd開頭的文件。如果你不想使用串口設(shè)備,刪除所有以cua開頭的文件。不過記住一定要保留console、kmem、mem、null、ram、tty1等文件。
·/etc:這個(gè)目錄中含有一些必不可少的系統(tǒng)配置文件。這下面的文件比較多,那么到底哪些文件是必需的,哪些可有可無呢?由于這下面的文件一般是一些文本文件,都不是很大,干脆全部保留算了。
我的啟動(dòng)盤中含有不到15個(gè)配置文件,大致可分為3部分:
·rc.d/* — 系統(tǒng)啟動(dòng)腳本;
·fstab — 列出要登錄的文件系統(tǒng);
·inittab — 包含啟動(dòng)過程參數(shù)。
而且這些文件都是最簡單的。rc應(yīng)該包括:
#!/bin/sh /bin/mount -av /bin/hostname yjy fstab應(yīng)包括: /dev/ram0 / ext2 defaults /dev/fd0 / ext2 defaults /proc /proc proc defaults inittab包括: id:2:initdefault: si::sysinit:/etc/rc 1:2345:respawn:/sbin/getty 9600 tty1 2:23:respawn:/sbin/getty 9600 tty2
總結(jié)
以上是生活随笔為你收集整理的如何制作linux系统硬盘,教你制作Linux操作系统的Boot/Root盘的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 清晰版 构建最高可用oracle数据库系
- 下一篇: linux 杀死t状态进程,Linux下