制作簡(jiǎn)易Linux系統(tǒng)

先系統(tǒng)中有一塊空閑磁盤,將其劃分為兩個(gè)分區(qū)/dev/sdb1和/dev/sdb2垦细,/dev/sdb1做/boot分區(qū),/dev/sdb2做/分區(qū)
1 . 新分區(qū)格式化文件系統(tǒng)

mkfs.ext4 /dev/sdb1
mkfs.ext4 /dev/sdb2

2 . mkdir /app/boot -p 創(chuàng)建/dev/sdb1分區(qū)的掛載點(diǎn)
3 . mount /dev/sdb1 /app/boot 將sdb1分區(qū)掛載到/app/boot上
4 . grub-install --root-directory=/app /dev/sdb 安裝sdb磁盤的grub到/app/boot下,即為/sdb1磁盤分區(qū)上
5 . ls /app/boot grub文件已生成
6 . hexdump -c -n 512 /dev/sdb 查看/dev/sdb的512字節(jié)
7 . cd /app/boot
8 . cp /boot/vmlinuz-2.6.32-696.el6.x86_64 /boot/initramfs-2.6.32-696.el6.x86_64.img /app/boot 拷貝本系統(tǒng)的vmlinuz內(nèi)核文件和initramfs虛擬磁盤文件到sdb1分區(qū)的/app/boot文件中
9 . vim /app/boot/grub/grub.conf

default=0
timeout=5
title danran
root (hd0,0)
kernel /vmlinuz-2.6.32-696.el6.x86_64 root=UUID=57dcc7f1-6df9-4748-b5c7-9c75a4d45f32  selinux=0 init=/bin/bash   \\/dev/sdb2的UUID,且為新系統(tǒng)的/分區(qū),系統(tǒng)啟動(dòng)不啟動(dòng)/sbin/init進(jìn)程悠就,而是啟動(dòng)/bin/bash為第一啟動(dòng)進(jìn)程        
initrd /initramfs-2.6.32-696.el6.x86_64.img

10 . mkdir /app/rootfs
11 . mount /dev/sdb2 /app/rootfs 掛載sdb磁盤的根分區(qū)/dev/sdb2到/app/rootfs
12 . cd /app/rootfs
13 . mkdir (root,bin,sbin,lib,lib64,var,usr,dev,etc,proc,sys,home) -pv
14 . vim /app/cmdcp.sh 編輯命令拷貝腳本

vim cmdcp.sh 
    
    #!bin/bash
    #ch_root="/app/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 -f $cmd_path ${ch_root}${bin_dir}
            return 0
        else
            echo "Command not found"
        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 ${cn_root}${lib_dir} ] || mkdir -p ${ch_root}${lib_dir}
            [ -f ${ch_root}${loop} ] || cp $loop ${ch_root}${lib_dir}
        done
    }

    read -p "Please input copy path: " path
    ch_root=$path
    
    read -p "Please input a command or quit: " command
    
    while [ "$command" != "quit" ];do
        if bincopy $command;then
            libcopy $command
        fi
    
    read -p "Please input a command or quit: " command
    done

15 . bash /app/cmdcp.sh 拷貝以下命令到/app/rootfs/bin

Please input copy path: /app/rootfs/bin
Please input a command or quit: ls
Please input a command or quit: ifconfig
Please input a command or quit: cpp
Please input a command or quit: cp
Please input a command or quit: mv
Please input a command or quit: cat
Please input a command or quit: vi
Please input a command or quit: tree
Please input a command or quit: reboot
Please input a command or quit: bash
Please input a command or quit: ping
Please input a command or quit: lsblk
Please input a command or quit: ip
Please input a command or quit: insmod
Please input a command or quit: lsmod
Please input a command or quit: rmmod
Please input a command or quit: quit                        
  • 拷貝網(wǎng)卡驅(qū)動(dòng)模塊

16 . ethtool -i eth0 查看eth0網(wǎng)卡的設(shè)備信息
17 . locate e1000.ko 查看e1000.ko驅(qū)動(dòng)模塊的路徑信息
18 . cp /lib/modules/2.6.32-696.el6.x86_64/kernel/drivers/net/e1000/e1000.ko /app/rootfs/lib 拷貝e1000.ko網(wǎng)卡模塊到/app/rootfs/lib文件
19 . 關(guān)閉系統(tǒng),拔出/dev/sdb磁盤充易,然后插入沒有安裝系統(tǒng)的新主機(jī)上啟動(dòng)即可
20 . 新主機(jī)掛載磁盤
21 . vim /sbin/init(開機(jī)自動(dòng)運(yùn)行)

#!/bin/bash
....

流程圖如下

圖1
圖1

圖2
圖2

圖3
圖3

圖4
圖4

拷貝網(wǎng)卡設(shè)備驅(qū)動(dòng)模塊

圖5
圖5

新主機(jī)掛載磁盤啟動(dòng)后界面

圖6
圖6
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末梗脾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子盹靴,更是在濱河造成了極大的恐慌炸茧,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,126評(píng)論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件稿静,死亡現(xiàn)場(chǎng)離奇詭異梭冠,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)自赔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門妈嘹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來柳琢,“玉大人绍妨,你說我怎么就攤上這事润脸。” “怎么了他去?”我有些...
    開封第一講書人閱讀 169,941評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵毙驯,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我灾测,道長(zhǎng)爆价,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,294評(píng)論 1 300
  • 正文 為了忘掉前任媳搪,我火速辦了婚禮铭段,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘秦爆。我一直安慰自己序愚,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,295評(píng)論 6 398
  • 文/花漫 我一把揭開白布等限。 她就那樣靜靜地躺著爸吮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪望门。 梳的紋絲不亂的頭發(fā)上形娇,一...
    開封第一講書人閱讀 52,874評(píng)論 1 314
  • 那天,我揣著相機(jī)與錄音筹误,去河邊找鬼桐早。 笑死,一個(gè)胖子當(dāng)著我的面吹牛厨剪,可吹牛的內(nèi)容都是我干的勘畔。 我是一名探鬼主播,決...
    沈念sama閱讀 41,285評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼丽惶,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼炫七!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起钾唬,我...
    開封第一講書人閱讀 40,249評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤万哪,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后抡秆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奕巍,經(jīng)...
    沈念sama閱讀 46,760評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,840評(píng)論 3 343
  • 正文 我和宋清朗相戀三年儒士,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了的止。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,973評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡着撩,死狀恐怖诅福,靈堂內(nèi)的尸體忽然破棺而出匾委,到底是詐尸還是另有隱情,我是刑警寧澤氓润,帶...
    沈念sama閱讀 36,631評(píng)論 5 351
  • 正文 年R本政府宣布赂乐,位于F島的核電站,受9級(jí)特大地震影響咖气,放射性物質(zhì)發(fā)生泄漏挨措。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,315評(píng)論 3 336
  • 文/蒙蒙 一崩溪、第九天 我趴在偏房一處隱蔽的房頂上張望浅役。 院中可真熱鬧,春花似錦伶唯、人聲如沸担租。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)奋救。三九已至,卻和暖如春反惕,著一層夾襖步出監(jiān)牢的瞬間尝艘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評(píng)論 1 275
  • 我被黑心中介騙來泰國(guó)打工姿染, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留背亥,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,431評(píng)論 3 379
  • 正文 我出身青樓悬赏,卻偏偏與公主長(zhǎng)得像狡汉,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子闽颇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,982評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容