手把手系列(三)教你自制簡單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
下一篇 2018-05-14

相關推薦

  • 基礎命令(二)

    date -s “2018-4-3”

    2018-04-03
  • 簡述osi七層模型和TCP/IP五層模型

        OSI七層模型各層定義 物理層:提供為建立、維護和拆除物理鏈路所需要的機械的、電氣的、功能的和規程的特性;有關的物理鏈路上傳輸非結構的位流以及故障檢測指示。 數據鏈路層:在網絡層實體間提供數據發送和接收的功能和過程;提供數據鏈路的流控。 網絡層:控制分組傳送系統的操作、路由選擇、擁護控制、網絡互連等功能,它的作用是將具體的物理傳送…

    2018-06-15
  • awk

    awk介紹awk里表示字符串要用雙引號引起來awk:Aho, Weinberger, Kernighan,報告生成器,格式化文本輸出有多種版本:New awk(nawk),GNU awk( gawk)gawk:模式掃描和處理語言基本用法:awk [options] ‘program’ var=value file… 選項,程序(語言),變量賦值awk [op…

    Linux筆記 2018-05-20
  • 第一周總結

    ?##### 存儲網絡: “` DAS—–直接連接存儲(Direct attached storage) NAS—–網絡連接存儲(Network attached storage) SAN—–存儲區域網絡(storage area network) “` &#82…

    Linux筆記 2018-04-01
  • 參加馬哥教育面授班

    很興奮,今天是開班的第6天了,課程的具體安排為,1、3、5上課,2、4、6實操課。課堂上目前是王老師授課,講的都是滿滿的干貨,很詳細。讓我再次確信參加這次培訓不會有錯。 面授班與在網絡學習,我覺得學習效果差別還是蠻大的。參加面授班能很好的約束我的行為,不會出現學著學著就打開游戲或看電影了,學習效率很高,哈哈。初次見到馬哥教育的各個老師發現都很平易近人,學習上…

    Linux筆記 2018-07-21
  • OSI七層模型和TCP/IP四層模型簡介

    OSI七層模型和TCP/IP四層模型簡介

    Linux筆記 2018-04-20
欧美性久久久久