思路
先装载一块硬盘,按照上面两个实验的部分结果,创建各个目录
在/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.178linux.com/75528