linux6.5下 简单配置 MINI 系统实现详解(1)
来源:互联网 发布:淘宝店铺配色方案 编辑:程序博客网 时间:2024/05/22 00:22
一、linux系统启动流程介绍
我们来了解下linux系统的启动流程:
首先linux要通过POST自检过程(BIOS)-->如果想要做多块启动盘的话,还需要在bios中选择启动磁盘-->引导MBR(bootloader引导程序)-->加载initrd文件-->执行进程init-->显示欢迎界面;
需要注意:
在linux的启动流程中,加载内核文件时还需要借助别外两个文件:
1)initrd,CentOS5上是用内存模拟的磁盘设备;
2)initramfs,CentOS6上是用内存模拟的文件系统;
在启程的流程中,init主要通过调用/etc/inittab这个配置文件,然后再去执行/etc/rc.d/rc.sysinit的系统初始化脚本.
二、制作的详细步骤
在宿主机上添加块新磁盘,并将其命名:1111111111.vmdk,这是宿主机上的第二块磁盘(/dev/sdb),而等到时候挂载到目标主机的时候,因为那里只有这宿主机上(/dev/sdb)的这一块磁盘,所以在目标主机上应该是/dev/sda这个名字,这是必须要清楚的。弄清楚之后在来做其它操作,第一个分区500M,用来装引导程序;第二个分区15G,用来装根文件系统。格式化完成后要将其挂载,将/dev/sdb1挂载到/mnt/boot下,将、dev/sda2挂载到/mnt/sysroot下.
下面配置步骤详解:
1).给目标机磁盘分区:
2).将分区格式化:
3).创建挂载目录并将其挂载至/mnt/sysroot、/mnt/boot目录下:
4). 安装grub至目标磁盘(注意:boot在哪里就在哪里安装grub.):
5). 复制内核和initrd文件:
6). 创建目标主机的根文件系统:
7).接着去移植bash、ls等命令至目标主机的根文件系统:
7.1)执行脚本:
8).使用tree /mnt/sysroot 命令,查看库文件等文件是否存在:
I.执行bincp.sh脚本给目标机可执行命令:ls,cat,vi,cp,mv,mkdir,touch.
II.给bash创建个软连接:
II.在新建虚拟机时候需要注意的地方:
III.自己定义的系统名字,与等待时间:
IV.内核恐慌,没有找到init,在上面I中已经说明了,那里指的错误就是这个吆.
V.告诉系统找/bin/bash:
VI.在目标机上显示如下信息就可以了:
[root@xiaomazi ~]# vim /mnt/sysroot/sbin/init
2).在grub.conf文件中指定init脚本:
3).创建模块modules目录,之后将e1000.ko复制进目标主机的磁盘上,并复制命令之目标机:
4).在启动目标机后就会显示如下信息:
5).查看下网卡信息:
6).测试配置好IP后,是否能ping通:
7).测试能否创建文件:
我们来了解下linux系统的启动流程:
首先linux要通过POST自检过程(BIOS)-->如果想要做多块启动盘的话,还需要在bios中选择启动磁盘-->引导MBR(bootloader引导程序)-->加载initrd文件-->执行进程init-->显示欢迎界面;
需要注意:
在linux的启动流程中,加载内核文件时还需要借助别外两个文件:
1)initrd,CentOS5上是用内存模拟的磁盘设备;
2)initramfs,CentOS6上是用内存模拟的文件系统;
在启程的流程中,init主要通过调用/etc/inittab这个配置文件,然后再去执行/etc/rc.d/rc.sysinit的系统初始化脚本.
二、制作的详细步骤
在宿主机上添加块新磁盘,并将其命名:1111111111.vmdk,这是宿主机上的第二块磁盘(/dev/sdb),而等到时候挂载到目标主机的时候,因为那里只有这宿主机上(/dev/sdb)的这一块磁盘,所以在目标主机上应该是/dev/sda这个名字,这是必须要清楚的。弄清楚之后在来做其它操作,第一个分区500M,用来装引导程序;第二个分区15G,用来装根文件系统。格式化完成后要将其挂载,将/dev/sdb1挂载到/mnt/boot下,将、dev/sda2挂载到/mnt/sysroot下.
下面配置步骤详解:
1).给目标机磁盘分区:
2).将分区格式化:
点击(此处)折叠或打开
- [root@xiaomazi ~]# mke2fs -t ext4 /dev/sdb1
- [root@xiaomazi ~]# mke2fs -t ext4 /dev/sdb2
4). 安装grub至目标磁盘(注意:boot在哪里就在哪里安装grub.):
5). 复制内核和initrd文件:
6). 创建目标主机的根文件系统:
7).接着去移植bash、ls等命令至目标主机的根文件系统:
点击(此处)折叠或打开
- [root@xiaomazi sysroot]# vim bincp.sh
- #!/bin/bash
- #
- target=/mnt/sysroot
- clearCmd() {
- ifwhich $cmd &> /dev/null; then
- cmdPath=`which--skip-alias$cmd`
- else
- echo"No such command"
- return5
- fi
- }
- cmdCopy() {
- cmdDir=`dirname$1`
- [ -d ${target}${cmdDir} ] || mkdir-p ${target}${cmdDir}
- [ -f ${target}${1} ] || cp$1 ${target}${cmdDir}
- }
- libCopy() {
- forlib in`ldd $1 | grep-o "/[^[:space:]]\{1,\}"`; do
- libDir=`dirname$lib`
- [ -d ${target}${libDir} ] ||mkdir-p ${target}${libDir}
- [ -f ${target}${lib} ] ||cp$lib ${target}${libDir}
- done
- }
- whiletrue; do
- read-p "Enter a command: "cmd
- if[ "$cmd"== 'quit'] ;then
- echo"quit"
- exit0
- fi
- clearCmd $cmd
- [$? -eq5 ] && continue
- cmdCopy $cmdPath
- libCopy $cmdPath
- done
点击(此处)折叠或打开
- [root@xiaomazi ~]# chmod +x bincp.sh 给执行权限
- [root@xiaomazi ~]# sh -n bincp.sh 测试语法错误
- [root@xiaomazi ~]# sh bincp.sh
- Enter a command: bash给目标机一个bash命令
- Enter a command: quit
- quit
- [root@xiaomazi ~]#
I.执行bincp.sh脚本给目标机可执行命令:ls,cat,vi,cp,mv,mkdir,touch.
II.给bash创建个软连接:
II.在新建虚拟机时候需要注意的地方:
III.自己定义的系统名字,与等待时间:
IV.内核恐慌,没有找到init,在上面I中已经说明了,那里指的错误就是这个吆.
V.告诉系统找/bin/bash:
VI.在目标机上显示如下信息就可以了:
[root@xiaomazi ~]# vim /mnt/sysroot/sbin/init
2).在grub.conf文件中指定init脚本:
3).创建模块modules目录,之后将e1000.ko复制进目标主机的磁盘上,并复制命令之目标机:
4).在启动目标机后就会显示如下信息:
5).查看下网卡信息:
6).测试配置好IP后,是否能ping通:
7).测试能否创建文件:
OK!!!
0 0
- linux6.5下 简单配置 MINI 系统实现详解(1)
- redhat Linux6下配置本地yum源
- Mini 2440 时钟配置 (FCLK,HCLK,PCLK详解)
- linux6.5下安装zooKeeper集群
- linux6.5下安装kafka集群
- Linux6.5下redis-3.2.9安装
- REDHAT linux6中配置SAMBA 实现linux与windows共享文件(菜鸟的总结)
- jvm linux6系统 桥接方式设置网络配置
- Linux下 Mini-shell的实现(C/C++)
- redhat Linux6下搭建简单的VPN服务器
- DbVisualizer Pro 9.5与linux6.5系统中的informix12.1数据库连接步骤及注意事项
- Linux6配置网络
- 在centos6.5系统下配置LAMP详解教程
- linux6当中批量部署系统
- Windows系统下Java环境变量配置详解
- Windows系统下Java环境变量配置详解
- Linux6配置multipaths多路径
- red hat linux6 yum 配置
- Mongodb数据库命令端常用操作
- HDU1276 士兵队列训练问题
- Hibernate基础
- sql判断时间范围
- python 字典排序
- linux6.5下 简单配置 MINI 系统实现详解(1)
- 10年后再看Robust Real-Time Face Detection(二) 之特征讨论
- 【leetcode】 Text Justification
- 关于map和hashmap
- Spring框架概述
- API-基本数据类型与字符串的互换
- 线程池ThreadPoolExecutor参数设置
- uva 562 Dividing coins
- 安全书籍等推荐