linux系统宿主定制之初窥门径

一、DIY linux系统(虚拟机环境)

平台:

1
2
[[email protected] /]# uname -a
Linux www.essun.com 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

第一步、本机(宿主机)采用最小化安装己安装了Centos6.5,添加一块硬盘/dev/sdb20G

linux系统宿主定制之初窥门径

第二步、将此硬盘分成出两个区,一个作为/boot分区,一个作为/分区。

linux系统宿主定制之初窥门径

第三步、将以上的两个分区格式化成ext4文件系统,并挂载到/mnt/boot,/mnt/sysroot下

linux系统宿主定制之初窥门径

第四步、给此硬盘上的第一个分区安装GRUB,man grub-install

linux系统宿主定制之初窥门径

1
2
#安装到指定的磁盘中
[[email protected] ~]# grub-install --root-directory=/mnt /dev/sdb

linux系统宿主定制之初窥门径

第五步、拷贝kernel、initramfs到/mnt/boot下

linux系统宿主定制之初窥门径

第七步、手写grub.conf文件

linux系统宿主定制之初窥门径

linux系统宿主定制之初窥门径

上图中init=/sbin/init是指初始化所执行的脚本。

第八步、在/mnt/sysroot下创建根(/)目录

linux系统宿主定制之初窥门径

第九步、移植bash及相关命令到/mnt/sysroot各对应目录下(刚学shell,代码臃肿,望各位看官海涵)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
##############################################
# Author: jinguangping - [email protected]
# Last modified: 2014-02-28 18:55
# Filename: movelib.sh
# Description: 完成目录与库文件的复制
##############################################
#!/bin/bash
if_opt () {
directory=`dirname $1`
    filename=`basename $1`
    if [ -d $des_dir$directory ];then
        cp -R $directory/$filename $des_dir$directory/
    else
        mkdir -p $des_dir$directory
        cp -R $directory/$filename $des_dir$directory/
    fi
}
move_opt(){
for in `ldd $comm_dir | grep -o "/[^[:space:]]\{1,\}*"`;do
    if_opt $i
done
}
des_dir="/mnt/sysroot"
while true;do
read -p "Enter a command:" CMD
[ $CMD == 'quit' ] &&echo "input quit" && exit 4
comm_dir=`which --skip-alias  $CMD`
#echo $comm_dir
if_opt $comm_dir
move_opt $comm_dir
done

至少要复制如下命令:bash,ls.cat,ps,vi,modinfo,insmod,cd,ifconfig,ip,route,lsmod,cp,ping

第十步、拷贝网卡驱动

linux系统宿主定制之初窥门径

linux系统宿主定制之初窥门径

linux系统宿主定制之初窥门径

开机启动网卡(vim /mnt/sysroot/sbin/init)(使用简单的init脚本)

1
2
3
4
5
6
7
8
9
10
#!/bin/bash
echo -e "welcome to \033[35mJinGuangPing Style Linux\033[0m"
mount -n -t proc        /proc   proc
mount -n -t sysfs       /sys    sysfs
insmod /lib/modules/2.9.32-99/kernel/drivers/net/e1000/e1000.ko
ifconfig lo 127.0.0.0/8
ifconfig eth0 172.16.251.44/16
ifconfig eth0:0 192.168.1.33/24
route add -net 0.0.0.0 gw 192.168.1.253
/bin/bash

这样就可以连通网络了

第十一步、新建立虚拟机,在选择磁盘时选择

linux系统宿主定制之初窥门径

linux系统宿主定制之初窥门径

这里选择之前的硬盘(/dev/sdb)所在的位置,这样就可以开机启动了

linux系统宿主定制之初窥门径

linux系统宿主定制之初窥门径

linux系统宿主定制之初窥门径

=====================================完==================================================










本文转自 jinlinger 51CTO博客,原文链接:http://blog.51cto.com/essun/1367007,如需转载请自行联系原作者