南郵Linux-第3章_第1頁(yè)
南郵Linux-第3章_第2頁(yè)
南郵Linux-第3章_第3頁(yè)
南郵Linux-第3章_第4頁(yè)
南郵Linux-第3章_第5頁(yè)
已閱讀5頁(yè),還剩56頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第第3章章 Linux系統(tǒng)的定制系統(tǒng)的定制內(nèi)容提要內(nèi)容提要磁盤管理引導(dǎo)加載程序 grubLinux內(nèi)核定制(自學(xué))Linux應(yīng)用環(huán)境的初始化3.1.1磁盤管理磁盤管理基本概念盤片盤面磁頭磁道柱面扇區(qū)磁盤物理結(jié)構(gòu)磁盤物理結(jié)構(gòu)磁盤物理結(jié)構(gòu)磁盤物理結(jié)構(gòu)柱面從外到里從0開(kāi)始編號(hào)。磁頭和扇區(qū)也是從0開(kāi)始編號(hào)。整個(gè)磁盤上的扇區(qū)線性排序。不同磁道上扇區(qū)雖然半徑不同,但容量相同。3.1.2磁盤分區(qū)磁盤分區(qū)1、主引導(dǎo)記錄2、分區(qū)命名3、linux系統(tǒng)中的分區(qū)4、fdisk命令1、MBR硬盤的第一扇區(qū)稱為主引導(dǎo)記錄(MBR, MASTER BOOT RECORD),0磁頭0柱面0扇區(qū)。MBR 的長(zhǎng)度為512字節(jié)。

2、第一部分占了446個(gè)字節(jié),存放引導(dǎo)程序,如grub.第二部分共有64個(gè)字節(jié),記錄硬盤的分區(qū)信息,每個(gè)分區(qū)占16個(gè)字節(jié)。這16個(gè)字節(jié)記錄了該分區(qū)的起始扇區(qū)、分區(qū)大小和狀態(tài)信息.第三部分,最后兩個(gè)字節(jié)的值是0 x55aa.1 1、MBRMBR的格式的格式MBR分成三個(gè)區(qū):bootloader 程序(例如:grub)分區(qū)表 MBR標(biāo)識(shí) (即 0 x55, 0 xaa)MBR標(biāo)識(shí)標(biāo)識(shí) (2 bytes)分區(qū)表分區(qū)表(64 bytes)引導(dǎo)加載片段引導(dǎo)加載片段(446 bytes) 512bytes磁盤分區(qū)磁盤分區(qū) 磁盤最多4個(gè)分區(qū)。為了滿足實(shí)際需要,將其中一個(gè)作為擴(kuò)展分區(qū),擴(kuò)展分區(qū)再進(jìn)一步分成若干個(gè)邏

3、輯分區(qū)。 每個(gè)磁盤或者4個(gè)主分區(qū),或者3個(gè)主分區(qū)加一個(gè)擴(kuò)展分區(qū)。每個(gè)分區(qū)的第一個(gè)扇區(qū)作為引導(dǎo)扇區(qū)。 每個(gè)分區(qū)可以通過(guò)格式化建立某種類型的文件系統(tǒng),不同分區(qū)的文件系統(tǒng)可以不同。2 2、分區(qū)命名規(guī)則、分區(qū)命名規(guī)則 hd代表IDE硬盤。 sd代表SCSI,USB硬盤。同類型設(shè)備從字符a開(kāi)始編號(hào),a代表第一個(gè)硬盤,b代表第二個(gè)硬盤,依次類推。主分區(qū)和擴(kuò)展分區(qū)的編號(hào)從1到4。擴(kuò)展分區(qū)中的邏輯分區(qū)從編號(hào)5開(kāi)始。 2 2、分區(qū)命名規(guī)則、分區(qū)命名規(guī)則例如:第一個(gè)IDE硬盤的四個(gè)分區(qū)分別是hda1, hda2, hda3, hda4.hda中的第一個(gè)邏輯分區(qū)是hda5.3 3、linuxlinux系統(tǒng)中的分區(qū)系

4、統(tǒng)中的分區(qū)Linux 系統(tǒng)安裝要分成至少三個(gè)目錄,可以放在任意一個(gè)主分區(qū)或者擴(kuò)展分區(qū)中。1、boot目錄:存放引導(dǎo)程序和內(nèi)核映像。2、根文件系統(tǒng)(/):存放各種工具和應(yīng)用軟件。3、交換分區(qū)(swap):做虛擬內(nèi)存用。實(shí)例分析實(shí)例分析命令含義n創(chuàng)建一個(gè)分區(qū)d刪除一個(gè)分區(qū)q退出但不保存w保存退出p顯示分區(qū)信息m顯示幫助信息t改變分區(qū)的類型號(hào)碼3.1.3 3.1.3 分區(qū)格式化分區(qū)格式化1、mkfs命令進(jìn)行格式化2、linux內(nèi)核支持的文件系統(tǒng)3、交換分區(qū)的格式化mkfs命令命令選項(xiàng)含義-t選擇文件系統(tǒng)類型-c檢查設(shè)備中是否有壞塊-v詳細(xì)顯示模式-N說(shuō)明i-節(jié)點(diǎn)的數(shù)量,適用于ext2 -m為超級(jí)用戶

5、預(yù)留的塊數(shù),默認(rèn)5%。用于ext2-L說(shuō)明文件系統(tǒng)的卷標(biāo),適用于ext2mkfs命令命令(1) 在 /dev/hda5 上建一個(gè)msdos文件系統(tǒng),檢查是否有壞塊,并將過(guò)程詳細(xì)列出來(lái) :$ mkfs -v -t msdos -c /dev/hda5(2) 將第1個(gè)SCSI設(shè)備擴(kuò)展分區(qū)中的第2個(gè)邏輯分區(qū)格式化為ext3類型的文件系統(tǒng)$ mkfs -t ext3 /dev/sda6 (3) 將第2個(gè)IDE磁盤的第1個(gè)邏輯分區(qū)格式化為 ext2類型文件系統(tǒng),定義1000個(gè)i-節(jié)點(diǎn),不預(yù)留空間給超級(jí)用戶,卷標(biāo)為myfiles.$ mkfs -t ext2 -m 0 -N 1000 -L myfiles

6、 /dev/hdb5 2 linux2 linux內(nèi)核支持的文件系統(tǒng)內(nèi)核支持的文件系統(tǒng)文件系統(tǒng)類型特點(diǎn)ext2/ext3Linux系統(tǒng)下的文件系統(tǒng)iso9660/cdfs標(biāo)準(zhǔn)CDROM文件系統(tǒng)vfat微軟操作系統(tǒng)使用的文件系統(tǒng)格式sysvSystem V 文件系統(tǒng)nfsSun公司推出的網(wǎng)絡(luò)文件系統(tǒng)NTFS微軟Windows NT的文件系統(tǒng)3 3 交換分區(qū)的格式化交換分區(qū)的格式化交換分區(qū)是Linux系統(tǒng)用于緩存物理內(nèi)存暫時(shí)不用的內(nèi)容。實(shí)例分析$ mkswap /dev/sda6 # 創(chuàng)建分區(qū)sda6為swap交換分區(qū)$ swapon /dev/sda6 # 加載分區(qū)sda6至交換分區(qū)$ swap

7、off /dev/sda6 # 關(guān)閉交換分區(qū)sda6 3.1.4 ext23.1.4 ext2文件系統(tǒng)文件系統(tǒng)ext2是Linux系統(tǒng)默認(rèn)的的文件系統(tǒng),支持Unix文件系統(tǒng)的特征。例如,目錄、設(shè)備文件和鏈接文件等。從文件系統(tǒng)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的角度,可將ext2分為超級(jí)快、i-節(jié)點(diǎn)表和數(shù)據(jù)區(qū)三個(gè)部分。超級(jí)塊超級(jí)塊超級(jí)塊包含整個(gè)文件系統(tǒng)的布局信息和參數(shù)設(shè)置。例如,邏輯塊大小、i-節(jié)點(diǎn)表的區(qū)域、文件系統(tǒng)類型和卷標(biāo)等??墒褂胐umpe2fs工具來(lái)查看文件系統(tǒng)的超級(jí)塊信息。例如:$ dumpe2fs -h /dev/sda2 # 查看分區(qū)/dev/sda2中文件系統(tǒng)的超級(jí)快信息i-節(jié)點(diǎn)表節(jié)點(diǎn)表i-節(jié)點(diǎn)表包含

8、了文件系統(tǒng)中所有的i-節(jié)點(diǎn),i-節(jié)點(diǎn)用于存放文件的管理信息。例如,文件類型、權(quán)限、大小、數(shù)據(jù)在數(shù)據(jù)區(qū)的分布信息等但i-節(jié)點(diǎn)中不包含文件名,文件名及其對(duì)應(yīng)的i-節(jié)點(diǎn)號(hào)以目錄項(xiàng)的形式保存在目錄文件中。數(shù)據(jù)區(qū)數(shù)據(jù)區(qū)數(shù)據(jù)區(qū)存放文件的內(nèi)容,其基本單位為邏輯塊。一個(gè)文件包含若干個(gè)邏輯塊,這些邏輯塊以編號(hào)的形式存放于文件所對(duì)應(yīng)的i-節(jié)點(diǎn)中,在讀寫文件時(shí),根據(jù)讀寫指針的位置,可計(jì)算出當(dāng)前數(shù)據(jù)所在的邏輯塊。ext2文件系統(tǒng)的結(jié)構(gòu)文件系統(tǒng)的結(jié)構(gòu)ext2文件系統(tǒng)文件系統(tǒng) 圖3-3是ext2文件系統(tǒng)的實(shí)例,圖中,文件demo.c在i-節(jié)點(diǎn)表中的編號(hào)為102609,該i-節(jié)點(diǎn)中存放了demo.c文件的屬性,其中,塊號(hào)為

9、208的數(shù)據(jù)塊中存放了該文件的內(nèi)容。使用ls -il命令顯示demo.c相關(guān)信息。$ ls -il demo.c102609 -rw-r-r- 1 shangs student 150 Jul 20 2011 demo.c3.1.5 文件系統(tǒng)的掛載文件系統(tǒng)的掛載文件系統(tǒng)在使用前,必須將文件系統(tǒng)掛載至某個(gè)目錄。 Linux專門建立了目錄/mnt,用于掛載文件系統(tǒng)。 例如,可將光盤掛載至目錄/mnt/cdrom,在成功掛載后,用戶可在/mnt/cdrom目錄下訪問(wèn)光盤。掛載和卸載文件系統(tǒng)的工具分別為mount和umount。 選項(xiàng)含義-t指定文件系統(tǒng)類型-w安裝有讀/寫權(quán)限的文件系統(tǒng)-r安裝只讀文

10、件系統(tǒng)-a安裝/etc/fstab中定義的文件系統(tǒng)mount命令命令顯示當(dāng)前文件系統(tǒng)的掛載狀況$ mount/dev/sda2 on / type ext3 (rw)none on /proc type proc (rw)/dev/sda1 on /boot type ext2 (rw)none on /dev/pts type devpts (rw,gid=5,mode=620)mount命令命令將usb 掛載至目錄/mnt/usb $ mount /dev/sdb1 /mnt/usb 在掛載usb設(shè)備時(shí),應(yīng)先通過(guò)命令fdisk l查 看當(dāng)前USB設(shè)備對(duì)應(yīng)的設(shè)備名。 將第1個(gè)SCSI磁盤擴(kuò)展

11、分區(qū)第2個(gè)邏輯分區(qū)(第6個(gè)分區(qū))掛載至/mnt目錄 $ mount /dev/sda6 /mntmount命令命令將光盤掛載至目錄/mnt/cdrom$ mount -t iso9660 /dev/cdrom /mnt/cdrom/$ mount /dev/cdrom /mnt/cdrom在不指定文件系統(tǒng)類型的情況下,系統(tǒng)將自動(dòng)匹配內(nèi)核所支持的文件系統(tǒng)類型,若找到匹配的文件類型,則成功掛載,否則,失敗。mount命令命令直接掛載一個(gè)windows分區(qū),中文的文件名和目錄名會(huì)出現(xiàn)亂碼,為了避免這種情況,可指定字符集。掛載fat32 的分區(qū) :$ mount -t vfat o iocharset

12、=cp936 /dev/hda6 /mnt/d # cp936代表簡(jiǎn)體中文umount命令命令umount命令語(yǔ)法umount 功能斷開(kāi)設(shè)備與掛載點(diǎn)目錄的鏈接umount命令命令實(shí)例分析$ umount /dev/cdrom # 卸載光盤$ umount /mnt/cdrom # 卸載光盤,若/mnt/cdrom為光盤的掛載點(diǎn)$ umount /dev/usb /卸載usb盤 注意:在卸載某文件系統(tǒng)前,如果有用戶正在使用該文件系統(tǒng),則必須等所有用戶結(jié)束了對(duì)該文件系統(tǒng)的訪問(wèn)后,該文件系統(tǒng)才能被成功卸載。3.2 引導(dǎo)加載程序引導(dǎo)加載程序 grub引導(dǎo)加載引導(dǎo)加載(boot loader)引導(dǎo)加載程

13、序 引導(dǎo)加載程序引導(dǎo)并加載Linux內(nèi)核至內(nèi)存的適當(dāng)位置,將控制權(quán)交給內(nèi)核,并向內(nèi)核傳送必要的參數(shù).至此,引導(dǎo)加載程序的任務(wù)完成。grubgrub(Grand Unified Bootloader) 是一個(gè)基于GNU項(xiàng)目的自由軟件,可用于引導(dǎo)多種操作系統(tǒng)。例如,Linux 、freebsd和windows等。它提供基于命令行的操作接口,用戶可通過(guò)命令與grub進(jìn)行交互。同時(shí),grub也提供了啟動(dòng)配置文件,用戶可根據(jù)需要對(duì)配置文件進(jìn)行修改,grub在啟動(dòng)時(shí),將根據(jù)配置文件的要求,完成對(duì)操作系統(tǒng)的加載。1. grub組成組成grub通常用作基于x86結(jié)構(gòu)計(jì)算機(jī)的引導(dǎo)加載程序,可直接從fat、ext

14、2和ReiserFS等文件系統(tǒng)中讀取Linux內(nèi)核。grub采用了模塊化設(shè)計(jì),在實(shí)現(xiàn)時(shí),出于x86體系結(jié)構(gòu)的考慮,將grub分為stage1、stage1.5和stage2三個(gè)部分。 (1) stage1stage1的大小為512字節(jié),位于啟動(dòng)扇區(qū)。 當(dāng)stage1.5被配置時(shí),stage1將加載stage1,5。如果沒(méi)有配置stage1.5,stage1則加載stage2。(2) stage1.5 由于stage1只有不到512字節(jié),因此,無(wú)法識(shí)別文件系統(tǒng)。stage1.5被設(shè)計(jì)為針對(duì)不同文件系統(tǒng)的模塊。例如,e2fs_stage1_5, fat_stage1_5等。stage1.5的任務(wù)就

15、是從文件系統(tǒng)中加載stage2。若stage1.5被配置,stage1首先將stage1.5的第一個(gè)扇區(qū)(start.S)讀入內(nèi)存,依靠start.s的扇區(qū)列表將stage1.5全部讀入內(nèi)存;然后stage1.5從文件系統(tǒng)中將stage2加載進(jìn)內(nèi)存。(3) stage2stage2是grub的主體,所有功能都實(shí)現(xiàn)在stage2中。如果沒(méi)有配置stage1.5,stage1會(huì)將stage2的第一個(gè)扇區(qū)(start.S)讀入內(nèi)存,然后依靠扇區(qū)列表將stage2全部讀入內(nèi)存。 2.GRUB2.GRUB中磁盤分區(qū)的命名中磁盤分區(qū)的命名磁盤分區(qū)在grub中的命名方式與Linux系統(tǒng)不同。grub不區(qū)分S

16、CSI和IDE設(shè)備,都命名為hd。磁盤和磁盤分區(qū)的編號(hào)從0開(kāi)始,這一點(diǎn)與Linux系統(tǒng)不同。例如,(hd0)表示第1個(gè)磁盤,(hd1,0)表示第2個(gè)磁盤的第1個(gè)分區(qū)。 3 安裝安裝grub在磁盤上可同時(shí)裝有多個(gè)操作系統(tǒng)。不同的安裝次序會(huì)影響系統(tǒng)的正常啟動(dòng)。 例如,先安裝Linux后,若需在其他分區(qū)安裝windows系統(tǒng),在安裝完windows系統(tǒng)后,會(huì)發(fā)現(xiàn)Linux系統(tǒng)無(wú)法正常啟動(dòng)。 其原因是Windows修改了原先由Linux系統(tǒng)安裝的grub MBR,windows的主引導(dǎo)記錄不具有引導(dǎo)多操作系統(tǒng)的能力,因此,必須進(jìn)行恢復(fù)。 安裝安裝grub假設(shè)stage1和stage2已存放在硬盤第二個(gè)

17、分區(qū)的、/grub目錄中。root test root # grubgrub root (hd0,1) # 掛載第一個(gè)硬盤的第二個(gè)分區(qū)grub setup (hd0) # 安裝grub的MBRgrub quit 3.2.3 grub交互命令交互命令命令含義default設(shè)置自動(dòng)啟動(dòng)時(shí)的默認(rèn)啟動(dòng)項(xiàng)timeout設(shè)置超時(shí)記數(shù),在設(shè)定時(shí)間內(nèi)無(wú)鍵盤操作,則自動(dòng)default項(xiàng)title設(shè)定啟動(dòng)項(xiàng)標(biāo)題splashimage指定在grub引導(dǎo)時(shí)所使用的屏幕圖像的位置root (hdx,y)掛載第x+1個(gè)硬盤的第y+1個(gè)分區(qū)的文件系統(tǒng)rootnoverify做root命令同樣的事情,只是不掛裝分區(qū)kerne

18、l指定內(nèi)核文件及啟動(dòng)參數(shù),以此來(lái)加載內(nèi)核intrid加載映像文件makeactive設(shè)置根分區(qū)為活動(dòng)分區(qū)chainloader以鏈?zhǔn)椒绞郊虞d指定分區(qū)的引導(dǎo)程序,+1表示第一個(gè)扇區(qū)啟動(dòng)配置文件/boot/grub/grub.confdefault=0timeout=5splashimage=(hd0,1)/grub/splash.xpm.gzhiddenmenutitle Fedora (2.6.25-14.fc9.i686) # 第2個(gè)主分區(qū) root (hd0,1) # sda5為根文件系統(tǒng) kernel /vmlinuz-2.6.25_i686 ro root=/dev/sda5 init

19、rd /initrd-2.6.25-i686.imgtitle DOS # 第1個(gè)主分區(qū) rootnoverify (hd0,0) chainloader +1# reboot重新啟重新啟動(dòng)系統(tǒng),并選擇動(dòng)系統(tǒng),并選擇新內(nèi)核進(jìn)行引導(dǎo)。新內(nèi)核進(jìn)行引導(dǎo)。使用新內(nèi)核啟動(dòng)Linux系統(tǒng)啟動(dòng)流程grub的啟動(dòng)過(guò)程的啟動(dòng)過(guò)程Linux內(nèi)核定制(自學(xué))內(nèi)核定制(自學(xué))定制定制Linux內(nèi)核的過(guò)程內(nèi)核的過(guò)程1, 從從上下載上下載Linux-2.6.10.tar.gz2. 解壓縮解壓縮linux-2.6.10.tar.gz$ tar zxvf linux-2.6.10.ta

20、r.gz3. 配置配置Linux內(nèi)核,根據(jù)需要,選擇所需模塊內(nèi)核,根據(jù)需要,選擇所需模塊$ make menuconfig # 配置配置Linux內(nèi)核內(nèi)核4. 編譯內(nèi)核映像編譯內(nèi)核映像$ make bzImage 5. 編譯模塊編譯模塊$ make modules6. 安裝內(nèi)核模塊安裝內(nèi)核模塊$ make modules_install7. 安裝內(nèi)核安裝內(nèi)核$ make install配置配置Linux內(nèi)核內(nèi)核3.4 Linux應(yīng)用環(huán)境的初始化應(yīng)用環(huán)境的初始化3.4.1 應(yīng)用環(huán)境初始化應(yīng)用環(huán)境初始化 Linux內(nèi)核在完成初始化后,創(chuàng)建init進(jìn)程,其進(jìn)程號(hào)為1,它建立整個(gè)應(yīng)用環(huán)境的起點(diǎn)。 in

21、it進(jìn)程通過(guò)讀取配置文件/etc/inittab,決定以何種方式啟動(dòng)Linux系統(tǒng)。 inittab是一個(gè)不可執(zhí)行的文本文件,它有若干行指令所組成。1. inittab 的語(yǔ)法結(jié)構(gòu)的語(yǔ)法結(jié)構(gòu)語(yǔ)法label:runlevels:action:process語(yǔ)義(1) label label用來(lái)標(biāo)識(shí)輸入的值。一些系統(tǒng)只支持2個(gè)字符的標(biāo)簽。(2) runlevels 定義了進(jìn)行何種處理,系統(tǒng)共定義了7種運(yùn)行級(jí)別,每種運(yùn)行級(jí)別對(duì)應(yīng)一組命令集合。(3) action 描述了所要采取的動(dòng)作。(4) process 定義了具體的執(zhí)行程序。/etc/inittab腳本文件腳本文件 1) id:3:initdefault:# System initialization.2) si:sysinit:/etc/rc.d/rc.sysinit3) l0:0:wait:/etc/rc.d/rc 04) l1:1:wait:/etc/rc.d/rc 15) l2:2:wait:/etc/rc.d/rc 26) l3:3:wait:/etc/rc.d/rc 37) l4:4:wait:/etc/rc.d/rc 48) l5:5:wait:/etc/rc.d/rc 59) l6:6:wait:/etc/rc.d/rc

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論