自制一個簡易linux

虛擬機添加一塊新的硬盤(大小自定義)

在磁盤上創建一個基本分區作為/boot分區(大小200M足夠)

再創建一個基本分區作為基本根分區(這里我指定給了5G大?。?/strong>

然后給分區創建文件系統(注;swap分區要使用mkswap命令

blob.png

blob.png

]# mkdir /mnt/boot 創建掛載點(因為grub只識別/boot目錄,所以要創建boot目錄)

blob.png

]# mount /dev/sd1 /mnt/boot/ (將剛才創建的第一個分區掛載至/mnt/boot/目錄下)

blob.png

]# grub-install –root-directory=/mnt /dev/sde (安裝grub并且指明grub根在/mnt/下的boot,boot不指明,它會自己去找)

blob.png

可看到/mnt/boot/生成了grub,grub下生成了stage1,1.5,2等文件

自制一個簡易linuxblob.png

]# cp /boot/vmlinuz-2.6.32-642.el6.x86_64 /mnt/boot/ 恢復內核文件

]# cp /boot/initramfs-2.6.32-642.el6.x86_64.img /mnt/boot/ 恢復initramfs文件

自制一個簡易linuxblob.png

]# vim /mnt/boot/grub/grub.conf 編寫grub配置文件,寫入以下信息

defaullt=0 設定默認啟動菜單項

timeout=5 菜單等待選擇時間

title CentOS(minix.minix) 菜單名(以下為菜單項需要使用縮進)

root (hd0,0) 指明root為(hd0,0)

kernel /vmlinuz-2.6.32-642.el6.x86_64(指明內核文件) ro root=/dev/sda3 指明根文件系統(就是我們剛才分區出來的那塊,因為要把這塊硬盤放到另外一個系統上,所以剛才分區的/dev/sde3會在新系統上自動識別sda3)selinux=0 (關閉selinux) init=/bin/bash(指定系統的init為/bin/bash)

initrd /initramfs-2.6.32-642.el6.x86_64.img

blob.png

為根創建一級目錄

[root@localhost ~]# mkdir /mnt/sysroot 創建根分區掛載點

[root@localhost ~]# mount /dev/sdb2 /mnt/sysroot/ 將根分區掛載

[root@localhost ~]# mkdir -pv /mnt/sysroot/{etc,lib,lib64,bin,sbin,tmp,var,usr,sys,proc,opt,home,root,boot,dev,mnt,media} 創建目錄

blob.png編輯自動掛載配置文件

vim /mnt/sysroot/etc/fstab

/dev/sda1 /boot ext4 defaults 1 1

/dev/sda2  /    ext4 defaults 1 2

blob.png

復制bash和相關庫文件

cp /bin/bash /mnt/sysroot/bin/

復制相關命令及相關庫文件

如:ls,cat,vim,reboot,hostname等

blob.png

]# sync 同步磁盤數據

新建虛擬機使用現有磁盤

blob.png

blob.png

開機可運行



原創文章,作者:M20-1馬星,如若轉載,請注明出處:http://www.www58058.com/46164

(0)
M20-1馬星M20-1馬星
上一篇 2016-09-21
下一篇 2016-09-21

相關推薦

  • 第九周作業

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash declare -i sum_login=0 declare -i sum_nologin=0 while read line;do shell=$(echo $l…

    Linux干貨 2017-03-05
  • 1、安裝配置介紹

    http://note.youdao.com/yws/public/redirect/share?id=b90faa657ee452edb27ab1a13fc7b0bc&type=false

    Linux干貨 2016-08-08
  • 文本處理工具sed、vim

    文本處理工具sed、vim 一、sed的使用 1、sed的概念 sed簡單地說sed是一種行處理工具。 sed 是一種流性的行編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(pattern space ),接著用sed 命令處理緩沖區中的內容,處理完成后,把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末…

    Linux干貨 2016-08-11
  • iptables學習筆記   Netfilter:是Linux操作系統核心層內部的一個數據包處理模塊。   Hook point:數據包在Netfilter中的掛載點。(PRE_ROUTIN   ,INPUT,OUTPUT,FORWARD,POST_ROUTING)   iptables 規則組成:四張表+五條鏈(Ho…

    Linux干貨 2016-12-05
  • 每日一練–8.2 用戶管理,權限管理

    (1)顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間出現至少一位數字的文件或目錄。     ll /var/l*[[:digit:]]*[[:lower:]] (2)顯示以/etc目錄下以任意一位數字開頭,且以非數字結尾的文件或目錄      ll /etc/[[:digit:]]*[^[:dig…

    Linux干貨 2016-08-05
  • Linux Cluster之Keepalived + Nginx的實現

      一、實驗環境 http server1與http server2組成web集群,由nginx服務器實現負載均衡代理,使用keepalived保證nginx服務的高可用。通過虛擬IP192.168.154.177對外提供web服務。 實驗目的: 1)當Nginx server1上的nginx服務異常時,由nginx server2提供反帶服務。 …

    2016-11-02
欧美性久久久久