一、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).将分区格式化:

点击(此处)折叠或打开

[root@xiaomazi ~]# mke2fs -t ext4 /dev/sdb1

[root@xiaomazi ~]# mke2fs -t ext4 /dev/sdb2

3).创建挂载目录并将其挂载至/mnt/sysroot、/mnt/boot目录下:

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

7.1)执行脚本:

点击(此处)折叠或打开

[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 ~]#

8).使用tree /mnt/sysroot 命令,查看库文件等文件是否存在:

I.执行bincp.sh脚本给目标机可执行命令:ls,cat,vi,cp,mv,mkdir,touch.

II.给bash创建个软连接:

9). 为目标机的grub提供配置文件:

I.注意这样写会有报错的,请看:

II.在新建虚拟机时候需要注意的地方:

III.自己定义的系统名字,与等待时间:

IV.内核恐慌,没有找到init,在上面I中已经说明了,那里指的错误就是这个吆.

V.告诉系统找/bin/bash:

VI.在目标机上显示如下信息就可以了:

2.编写init脚本:

1).如何去写一个init脚本呢?

注意:init 一般都在/sbin目录下面:

我们知道init要通过调用etc/inittab配置文件,然后再去执行/etc/rc.d/rc.sysinit的系统初始化脚本的,

现在就通过init脚本来完成它也是可以的.

[root@xiaomazi ~]# vim /mnt/sysroot/sbin/init

2).在grub.conf文件中指定init脚本:

3).创建模块modules目录,之后将e1000.ko复制进目标主机的磁盘上,并复制命令之目标机:

4).在启动目标机后就会显示如下信息:

5).查看下网卡信息:

6).测试配置好IP后,是否能ping通:

7).测试能否创建文件:

Welcome to the xiaomazi blog!!

linux系统6.5详解,linux6.5下 简单配置 MINI 系统实现详解(1)相关推荐

  1. magic3是鸿蒙系统吗,如果荣耀Magic3搭载屏下镜头和鸿蒙系统,你会做第一批吗?...

    华为荣耀 在目前的手机市场中,荣耀手机的人气还是蛮高的,从高端旗舰市场到中低端市场,我们都能够看到荣耀手机的踪影,这已经可以代表荣耀手机的优势了. 要知道华为荣耀这两年的发展速度非常快,产品的布局速度 ...

  2. linux检测不到数位板,Linux_Ubuntu 8.10下安装配置友基数位板,Ubuntu默认已经带了Wacom的驱动 - phpStudy...

    Ubuntu 8.10下安装配置友基数位板 Ubuntu默认已经带了Wacom的驱动,但不是每个人都用得起大厂的产品.如果你与我一样囊中带涩地用着并喜爱着友基这个广州石牌出品的土品牌,请看此文. St ...

  3. linux下简单配置zlib软件

    一.什么是zlib? zlib是提供数据压缩用的函式库,由Jean-loup Gailly与Mark Adler所开发,初版0.9版在1995年5月1日发表.zlib使用DEFLATE算法,最初是为l ...

  4. magic3鸿蒙系统,如果荣耀Magic3搭载了屏下镜头和鸿蒙系统,你会做第一批吗?

    原标题:如果荣耀Magic3搭载了屏下镜头和鸿蒙系统,你会做第一批吗? 华为荣耀 在目前的手机市场中,荣耀手机的人气还是蛮高的,从高端旗舰市场到中低端市场,我们都能够看到荣耀手机的踪影,这已经可以代表 ...

  5. linux下geany配置python_Linux系统下搭建基于Geany+Python开发环境

    Linux系统下搭建基于Geany+Python开发环境 一.升级python mkdir /usr/local/python3 # tar xvf Python-3.6.1.tar.xz  # 解压 ...

  6. thinkphp htmls.php,ThinkPHP静态缓存简单配置和使用方法详解

    本文实例讲述了ThinkPHP静态缓存简单配置和使用方法.分享给大家供大家参考,具体如下: 根据ThinkPHP官方手册:ThinkPHP内置了静态缓存类,通过静态缓存规则定义来实现了可配置的静态缓存 ...

  7. 杰奇linux伪静态,杰奇cms教程,lnmp环境下伪静态配置

    通常来说我以前也没试过nginx下配置杰奇的伪静态,主要是感觉挺麻烦,但是其实在linux下nginx的性能特别给力,所以感觉还是需要研究一下.最近帮一个买家安装程序的时候,顺便就进行配置,出了些问题 ...

  8. linux 6.7 nfs安装yum,centos6.7下安装配置NFS

    分为Server配置和Client配置,基本过程如下: Server端配置 安装软件 #yum –y install nfs-utils nfs-utils-lib 设置开机启动 #chkconfig ...

  9. linux集群中mpi的并行计算环境简单配置,linux集群中MPI的并行计算环境简单配置(转)...

    一.集群和Linux上的集群解决方案 集群计算机是指用一组联网的PC或工作站来搭建成的,提供比单个PC(节点)计算性能高得多的计算机.说其是计算机,其实是针对所提供出来的服务而言的,或者说是逻辑上来说 ...

最新文章

  1. Python实现微信消息防撤回
  2. .NET CORE下最快比较两个文件内容是否相同的方法
  3. 一些常用且实用的原生 JavaScript函数[转]
  4. 编译wxWidgets
  5. fpga驱动oled iic显示代码_Arduino提高篇02—OLED屏汉字显示
  6. [C#]结构体和字节数组的相互转化
  7. pycharm关闭/开启代码补全/代码提示
  8. 关于 美国大片 与 客户演示PPT
  9. 用Redis给Java做优惠卷过期
  10. 欧洲杯赛场“中国元素”引观众热议;万达两家酒店在延安红街开业窑洞房最具特色 | 美通社头条...
  11. 压缩卷时可压缩空间远小于实际剩余空间解决方法
  12. 群晖nas不能修改php.ini,群晖nas 修改nginx配置的问题
  13. R求aitchison distance和ilr、clr、alr
  14. J2EE 框架结构及核心技术基础面面观
  15. DockerK8s---通过kubeadm快速部署K8s
  16. java窗口样式_美化窗口样式 java窗口界面美化包
  17. P2P流媒体技术方案
  18. linux进入紧急修复模式,将CentOS 7/8、RHEL 7/8引导到紧急模式/恢复模式的方法
  19. 如何处理网站被植入恶意的一些代码导致的被机房拦截提示
  20. 计算机桌面应用程序打不开怎么办,电脑软件全部打不开怎么办

热门文章

  1. python实现秒杀商品的微信自动提醒功能(附代码)
  2. 一文搞清楚 Spark 数据本地化级别
  3. jquery异步调用post的一些注意事项
  4. C#中关于updatePanel与freeTextBox不兼容的问题 当页面刷子新后,ftb不能输入内容的解决办法
  5. [深度学习-实践]GAN入门例子-利用Tensorflow Keras与数据集CIFAR10生成新图片
  6. springboot发送邮件_SpringBoot发送邮件如何实现,SpringBoot发送邮件详解(附代码)...
  7. eq linux_《Linux设备驱动程序》(十二)——时间操作(一)
  8. leetcode —— 面试题 04.03. 特定深度节点链表
  9. 去哪儿-15-keep-alive
  10. [解决方案]ln:无法创建符号链接‘ /usr/bin/python‘:权限不够