自制mini的Linux系統

如何打造一個小的Linux系統。這個可以當做一個很簡單的啟動盤,并使它能夠成功啟動且能有簡單的shell環境。

 步驟概略:

      (1)劃分一塊磁盤,用來裝系統

(2)給硬盤劃分至少兩個分區,一個為boot引導分區,一個為/根分區

(3)為分區創建文件系統,并掛載到兩個不同目錄

(4)在掛載boot的分區創建grub引導目錄

(5)復制內核vmlinux與initrd文件到boot目錄下,然后根據文件編寫grub下的引導配置文件

(6)創建根文件系統

(7)移植bash等命令到根目錄下

(8)啟動測試

(一)劃分磁盤

制作Linux系統,就需要有硬盤來裝載它。所以我們就需要劃分一塊硬盤來裝制作的Linux文件系統。這個硬盤不需要太大,這里我就劃分一個20G的硬盤來裝載它吧!先用lsblk來看看這個分區

自制mini的Linux系統

(二)劃分分區

既然是一個mini系統,那這里就給它劃分兩個分區吧!一個boot用來引導內核啟動,一個為真正的根分區

創建分區用fdisk這個命令、

自制mini的Linux系統

(三)創建文件系統

分區創建完成,但是想要它可以裝文件就要為它創建文件系統。那就把它創建為ext4的文件系統吧!

mkfs ?-t ?ext4 ?/dev/sdb1

mkfs ?-t ?ext4 ?/dev/sdb2

完成這兩步后,分區已經創建完成。就可以把它們掛載到指定目錄下了

自制mini的Linux系統

(四)創建grub引導目錄

Linux的啟動需要加載內核,而內核的加載就需要grub里的配置文件來定義

grub-install ?–root-directory=/mnt/ ?/dev/sdb(這條命令就是用來生成grub引導文件的,它會根據CentOS6的內核文件來生成grub。然后把生成的文件指定到目標磁盤上)

自制mini的Linux系統

(五)復制內核與initrd到boot目錄下

自制mini的Linux系統

復制完成后就可以來編寫grub下的引導配置文件了,它會根據配置文件來逐步引導各個程序的啟動。如下圖:1、所表示這個系統的默認的啟動內核,0就是我們所制作的這個內核。2、表示如果在三秒內未指定為哪個內核,則系統就會啟動默認內核。3、表示內核的名字。4、指明啟動時的硬盤為哪一塊硬盤。5、kernel 指明內核文件放置的相對位置,root 指明根目錄的位置,selinux 表示把selinux這個安全策略關閉,init 表示我們要用的shell環境,這里我們用的是bash。

注意:編寫時需要注意要把根目錄的分區名更改為sda,因為當硬盤去引導系統時系統里只有一塊硬盤,它會被自動識別為/dev/sda

自制mini的Linux系統

(六)創建根文件系統

      啟動分區準備好后就需要準備根分區了。這個分區的作用就是整個系統的真正的分區,整個系統的配置文件、數據都會放置在這個分區內。所以我們就需要在這個分區內創建目錄來分別存放各個數據文件。而有些系統所必須的文件目錄我們就可以在這里創建完畢。
      創建目錄的命令如下:
        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}

(七)移植命令到根下

系統創建完成后還需要復制一些基本的命令到根下,如bash、ls、cat、cd、hostname、vim等以這些命令來完成某些操作,實現基本的shell環境。所以我們需要編寫一個腳本完成這些命令的配置文件的復制以及所依賴的庫文件的復制。

下面這個腳本就可以幫我們完成這個任務

自制mini的Linux系統

這些命令復制完成后。到這里一個mini的Linux系統已經基本創建完成了。為了看它是否能啟動我們可以先切根看看能否切進這個系統里去

chroot ?/mnt/sysroot ?(如果切入成功,則說明系統已經基本創建完成)

   ?。ò耍﹩訙y試
        最后,我們就需要把硬盤卸載下來。然后用虛擬機用這塊硬盤來重新啟動,啟動成功后執行復制的幾個簡單的命令證明制作成功。

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

(1)
李登峰李登峰
上一篇 2018-05-11
下一篇 2018-05-11

相關推薦

  • 進程和計劃任務

    進程(Process)是計算機中的程序關于某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,是操作系統結構的基礎。 進程的狀態:運行態running,就緒態ready,睡眠態(可中斷,不可中斷),停止態,僵死態。 進程管理工具 ps命令 ps aux #顯示詳細的當前運行的所有進程 ps axo pid, cmd,%cpu,tty,%mem k…

    Linux筆記 2018-05-05
  • 向CA申請證書

    ?實驗向CA申請證書 步驟: 建立Root CA 1)生成私鑰 2)自簽名證書 2.用戶或服務器 1)生成私鑰 2)生成證書申請文件 3)將申請文件發給CA 3.CA頒發證書 4.證書發送給客戶端 5.應用軟件使用證書 如:centos7當服務器,centos6客戶端 ,即centos6向centos7申請證書 第一:建立根CA 生成私鑰的文件放在哪,文件名…

    2018-05-19
  • 文本處理工具、用戶及權限管理

    ##### 命令tr “`選項:-c 取字符補集-d 刪除字符-s 把連續重復的字符以單獨一個字符表示-t 將第一個字符集對應字符轉化為第二字符集對應的字符例:[root@centos6 ~]#tr ‘a-f’ ‘A-Z’abcdefghABCDEFghtr 與tr -t 的區別[root@cent…

    2018-04-08
  • linux與xshell入門

    難的不行,做標記

    2018-07-29
  • 第一周作業

    1、描述計算機的組成及其功能。 計算機由運算器,控制器,存儲器,輸入設備和輸出設備五大部分組成。 (1)運算器的功能是用于完成算術運算、邏輯運算。負責計算機執行的所有數學與邏輯功能。 (2)控制器的功能是主要負責對程序所執行的指令進行分析,并協調計算機各部件進行工作計算機的所有 其他部件。 (3)存儲器的功能是用于儲存信息的設備,通常是將信息數字化后再利用電…

    Linux筆記 2018-05-11
  • Elastic Stack(ELK)介紹及相關示例實驗

    Elastic Stack是一套支持數據采集、存儲、分析、展現的全流程數據分析工具,舊時稱作ELK(Elasticsearch,Logstash,Kibana的縮寫,)。Elastic Stack由一系列的工具集組成,Logstash & Beats:數據采集工具,logstash適合大批量數據的采集,其結構較重,消耗資源較大,適合集群化部署。

    2018-07-31
欧美性久久久久