思路
先裝載一塊硬盤,按照上面兩個實驗的部分結果,創建各個目錄
在/boot 里面添加內核 ,添加initramfs.img文件添加grub組件 ,創建grub.conf
然后復制bash ,ls ,cp 等,命令和響應的庫文件,并在啟動的時候指定第一個進程為/bin/bash
順便加載一個網卡驅動,復制ping命令和ifconfig命令,測試能否ping通
步驟
(1)添加一個硬盤20G,分區 格式化 掛載
echo ‘- – -‘ > /sys/class/scsi_host/host2/scan
分兩個區,一個/boot 一個/root 大小分別為 100M 和 10G
格式化為ext4
在/mnt下面創建兩個目錄,一個叫/mnt/boot 另外一個叫 /mnt/root
將兩個分區掛載
(2)分別復制內核文件和initramfs.img文件到/mnt/boot目錄下面安裝grub文件 ,配置grub.conf
配置的時候需要注意的是寫root路徑的時候不要寫
成了當前磁盤在本機上的分區標號,應該寫成/dev/sda,因為啟動的時候只有一塊硬盤
grub-install –root-directory=/mnt/ /dev/sdb
(3)創建需要的目錄(FHS),拷貝必要的文件至/mnt/root下面
mkdir /mnt/root/{bin,sbin,root,boot,lib,lib64,home,etc,dev,mnt,var,usr,proc,sys,tmp}
利用腳本來復制各種需要的命令和庫文件 ls cp mount vim insmod mkdir ping ifconfig
umount ip reboot mv rm bash tree kill cat df
復制所需要的網卡驅動,
dmesg | grep eth 找到網卡驅動的名字
locate 網卡驅動的名字 找到網卡驅動的路徑
cp /path/to/file /mnt/root/lib/
(4)確定第一個進程
在grub.conf配置文件中內核參數那一欄確定第一啟動的進程為/bin/bash
(5)切換硬盤,進行測試,配置IP,測試ping命令
操作流程
(1)添加硬盤,分區,格式化,掛載
要求/boot為 +100M /root為 +1G

(2)分別復制內核文件和initramfs.img文件到/mnt/boot目錄下面安裝grub文件 ,配置grub.conf
cp /boot/initramfs.img /mnt/boot
cp /boot/vmlinuz /mnt/boot
cd /boot
grub-install –root-directory=/mnt/ dev/sdb(本次測試的為/dev/sdb)
vim /mnt/boot/grub/grub.conf
編寫配置文件:
defaults=0
timeout=3
title yang linux
kernel /vmlinuz ro root=/dev/sda2 init=/bin/bash
initrd /initrdramfs.img
查看里面的目錄結構

(3)創建需要的目錄(FHS),拷貝必要的文件至/mnt/root下面
由于這里復制的條目很多,編寫一個腳本來完成相應的功能
#!/bin/bash
#
#Author:Double.f
#Date:2017-5-9
cpcmd()
{
path_root=/mnt/root/
DIR=$(echo $1 | egrep -o '^/.*/')
[ -z $DIR ] || mkdir -p ${path_root}${DIR} &> /dev/null
[ -z $1 ] && echo "$1 is existed" || cp $1 ${path_root}$1
}
read -p "please input a command: " CMD
if which $CMD &> /dev/null;then
until [ $CMD == 'quit' ];do
path_command=`which $CMD | grep -oE '/[[:alnum:]].*/?[[:alnum:]]'`
REV=`ldd $path_command | egrep -o '/.*/?.*[[:space:]]'`
cpcmd $path_command
for I in `echo $REV`;do
cpcmd $I
done
read -p "please input command or quit :" CMD
done
else
echo "Command not found"
exit 1 fi
復制網卡驅動模塊
cd /lib/mop /lib/modules/2.6.32-642.el6.x86_64/kernel/drivers/net/e1000/e1000.ko /mnt/root/lib
(4)進入調試
進入之后首先裝載網卡驅動模塊
insmod /lib/eth1000.ko
然后給網卡配一個ip 172.16.0.5,將虛擬機的網絡調為橋接,用ping命令來測試
原創文章,作者:Double f,如若轉載,請注明出處:http://www.www58058.com/75528