手把手系列(三)教你自制簡單Linux系統

CentOS啟動相關最重要的幾個文件有:內核vmlinuz文件、虛擬文件系統initramfs文件、grub文件以

及init啟動程序,圍繞這幾個文件,我們來制作一個能夠簡單啟動的自制Linux系統

實驗思路:

CentOS6的啟動流程如下

1.加載BIOS的硬件信息,進行POST加電自檢

2.讀取第一個啟動設備MBR的引導加載程序(grub)的啟動信息

3.加載核心操作系統的核心信息,核心開始解壓縮,并嘗試驅動所有的硬件設備

4.核心執行init程序,并獲取默認的運行信息

5.init程序執行/etc/rc.d/rc.sysinit文件

6.啟動核心的外掛模塊

7.init執行運行的各個批處理文件(scripts)

8.init執行/etc/rc.d/rc.local

9.執行/bin/login程序,等待用戶登錄

10.登錄之后開始以Shell控制主機

其中與啟動相關最重要的幾個文件有:內核vmlinuz文件、虛擬文件系統initramfs文件、grub文件以

及init啟動程序,接下來就圍繞這幾個重要文件,來制作一個能夠簡單啟動的自制Linux系統

 

準備環境:

CentOS6虛擬服務器1臺,準備一個硬盤或者U盤,本實驗我們以一塊20G的虛擬硬盤為例制作一個簡單的

Linux系統

u=1560722224,2576059153&fm=27&gp=0

 

具體步驟:

第一步:針對新增加的20G硬盤創建兩個分區dev/sdb1,dev/sdb2

fdisk /dev/sdb

fdisk

第二步:創建文件系統,將/dev/sdb1,/dev/sdb2兩個分區文件系統設置為ext4格式

mkfs.ext4 ?/dev/sdb1

mkfs.ext4 ?/dev/sdb2

做文件系統

第三步:掛載/boot目錄

mkdir /mnt/boot ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?此處掛載子目錄必須為boot

mount /dev/sdb1 /mnt/boot

掛載boot

第四步:安裝gurb

grub-install –root-director=/mnt /dev/sdb

hexdump -C /dev/sdb -n 512 -v ? ? ? ? ? ? ? ? 查看一階段是否創建成功,446字節已生成

ls /mnt/boot ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?查看二階段是否創建成功,grub目錄已生成

查看

第五步:拷貝內核vmlinuz文件及虛擬文件系統initramfs文件

cp /boot/vmlinuz-VERSION /mnt/boot/vmlinuz

cp /boot/initramfs-VERSION.img /mnt/boot/initramfs.img

內核文件

第六步:設置grub.conf文件

vim /grub.conf

default=0

timeout=5

title linux

kernel /vmlinuz-VERSION??root=/dev/sda2 init=/bin/bash

initrd /initramfs.img

vim

第七步:掛載根目錄

mkdir /mnt/rootfs

mount /dev/sdb2 /mnt/rootfs

掛載根目錄

第八步:復制相關命令和庫文件

如:ifconfig,insmod,ping,mount,ls cat,df,lsblk,blkid等

 

第九步:準備根目錄下必要目錄

mkdir /mnt/rootfs/{dev,etc,proco,sys,usr,var,lib,mnt.home,root,tmp,lib64} -v

sync;sync;sync; 確保寫入硬盤

必要目錄

第十步:安裝必要的模塊,如網絡模塊等

網絡模塊

第十一步:關機此服務器,并將20G硬盤安裝到一臺無硬盤啟動的虛擬機服務器上

C4]~MJXP350W{7KIN`G88G0

我們看到系統已經可以正常啟動了,一臺可以快速、簡單完成啟動的Linux系統就制作完成了

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/98532

(3)
wangxczwangxcz
上一篇 2018-05-14 18:27
下一篇 2018-05-14 20:33

相關推薦

  • cp 常用選項

    cp 選項:

    Linux筆記 2018-04-01
  • .

    .

    Linux筆記 2018-05-17
  • linux

    輸入、輸出重定向? >若文件不存在,則創建,并將正確的輸出填充,若文件已存在,則覆蓋原內容 >> 若文件不存在,則創建,并將正確的輸出內容填充,若文件已存在,則追加內容 2> 若文件不存在,則創建,并將錯誤的輸出填充,若文件已存在,則覆蓋原內容2>> 若文件不存在,則創建,并將錯誤的輸出內容填充,若文件已存在,則追加內容 …

    Linux筆記 2018-05-26
  • linux中cat、more、less命令區別詳解

    眾所周知linux中命令cat、more、less均可用來查看文件內容,主要區別有:
    cat是一次性顯示整個文件的內容,還可以將多個文件連接起來顯示,它常與重定向符號配合使用,適用于文件內容少的情況;
    more和less一般用于顯示文件內容超過一屏的內容,并且提供翻頁的功能。more比cat強大,提供分頁顯示的功能,less比more更強大,提供翻頁,跳轉,查找等命令。而且more和less都支持:用空格顯示下一頁,按鍵b顯示上一頁。下面詳細介紹這3個命令。

    2018-04-15
欧美性久久久久