自制Linux系統

自制Linux系統

1.首選準備一臺Linux虛擬機并添加一塊新硬盤

[TU]T5__6KRAT[6RAR6S2RR.png

2.分區并創建文件系統,創建兩個必要的分區根分區和boot分區

fdisk /dev/sdb  分區
mke2fs -t ext4 /dev/sdb1    創建boot文件系統
mke2fs -t ext4 /dev/sdb2    創建根分區

WZQD[H`A4772AKE45QJO)CX.png

Z`7%]@N)]DQ}Z8AMCMLHNQG.png

3.掛載boot分區

VEHV30QA@%0%)6KXYIG}N0X.png

4.在boot分區上安裝grub

S(G~@0W3)O4V8RL2QH)6{~5.png

]0DZW5Q6C0S{7{PLEBYY`_X.png

5.恢復內核和initramfs文件

G8RB@}$H_PH4UJ]Y]NI1~YP.png

6.在grub目錄下手動定義grub.conf配置文件

P%RHQRS~T]M85A3G8S{U)SS.png

7.創建根目錄下的一級目錄

)R~%LRXUU{JL3TEV$AK9IAQ.png

P}`KRWIF5BGUXVZ8S)FM(KM.png

8.復制bash程序相關庫文件以及其他命令程序(ls,pwd,cat,df,free…),腳本如下

[root@CentOS6 ~]# cat copycmd.sh 
#!/bin/bash



 
ch_root="/mnt/sysroot"
[ ! -d $ch_root ] && mkdir $ch_root
 
bincopy() {
    if which $1 &>/dev/null; then

        local cmd_path=`which --skip-alias $1`
        local bin_dir=`dirname $cmd_path`
        [ -d ${ch_root}${bin_dir} ] || mkdir -p ${ch_root}${bin_dir}
        [ -f ${ch_root}${cmd_path} ] || cp $cmd_path ${ch_root}${bin_dir}
        return 0
    else
        echo "Command not found."
        return 1
    fi
}
 
libcopy() {
    local lib_list=$(ldd `which --skip-alias $1` | grep -Eo '/[^[:space:]]+')
    for loop in $lib_list;do
        local lib_dir=`dirname $loop`
        [ -d ${ch_root}${lib_dir} ] || mkdir -p  ${ch_root}${lib_dir}
        [ -f ${ch_root}${loop} ] || cp $loop ${ch_root}${lib_dir}
    done
}
 
 
read -p "Please input a command: " command
 
while [ "$command" != "quit" ];do
    if bincopy $command ;then
        libcopy $command
    fi
    read -p "Please input a command or quit: " command
done
[root@CentOS6 ~]#

9.定義/mnt/sysroot/etc/fstab文件

Y~}ZKXMNITY)J64KZ60YT]B.png

至此,我們的Linux系統就已經制作完成了,接下來創建一個虛擬機測試是否能啟動


1.新建一個虛擬機,將磁盤指向我們自建的Linux系統磁盤

_]Y8[@6{YR%Y5VLS%B_KVAS.png

YP{MRX4O@O[O15I_2]FT}1R.png

2.啟動

[{0(V}MJ)}HGW1M~8)0[L)T.png

V[}V3@`$CPU5VK90NT3@FTS.png

原創文章,作者:zhai796898,如若轉載,請注明出處:http://www.www58058.com/46776

(0)
zhai796898zhai796898
上一篇 2016-09-16 01:10
下一篇 2016-09-16 09:21

相關推薦

  • 馬哥教育網絡21期+第十三周練習博客

        馬哥教育網絡21期+第十三周練習博客 1、建立samba共享,共享目錄為/data,要求:(描述完整的過程) 1)共享名為shared,工作組為magedu; 在服務器上安裝samba ]# yum install samba 創建共享目錄/data 啟動samba的nmb和smb…

    Linux干貨 2016-10-31
  • linux用戶組和權限管理

    用戶組和權限管理  概念 用戶分為三類: 1、超級用戶:root uid=0,簡單來說uid為0的用戶就是超級用戶。 2、虛擬用戶:存在linux中,滿足文件或者程序運行的需要,而創建的。不能登錄,不能使用。uid=1-499,1-999(centos7) 3、普通用戶:管理員root創建的用戶。uid=500+,1000+(centos7) 用戶…

    Linux干貨 2017-07-29
  • 馬哥linux運維第一天感受

    101個人的大家庭

    Linux干貨 2018-03-26
  • 用戶管理簡述

    組內用戶管理匯總 基于組來管理用戶 相關命令:gpasswd groupmems 添加用戶 gpasswd -a wangcai group :向group里添加用戶 wangcai gpasswd -M wangcai,xiaoqiang group :向group里批量添加xiaoqiang wangcai ,不過這個方式會覆蓋之前的組員 groupme…

    2017-02-23
  • 2016-10-17作業

    1 生產環境發現一臺服務器系統時間產生偏差,造成服務異常,請幫忙校正。 date命令查看系統時間,clock或者hwclock命令查看硬件時間, 將系統時間同步到硬件時間的方法hwclock -s   2 生產有一個數據同步腳本需要執行很長時間,怎樣做到無人值守,在管理工具退出的情況下,腳本依然能正常運行。在生產環境的中創建SCREEN會話,會話的…

    Linux干貨 2016-10-18
  • Linux-運維之半自動化安裝系統

    CentOS系統安裝             系統啟動流程: bootloader–>kernel(initramfs)–>rootfs–>/sbin/init 安裝程序啟動過程:         &nbs…

    2017-07-24

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-20 12:39

    從圖可以看出作者很用心,贊一個

欧美性久久久久