自制一个简易linux

虚拟机添加一块新的硬盘(大小自定义)

在磁盘上创建一个基本分区作为/boot分区(大小200M足够)

再创建一个基本分区作为基本根分区(这里我指定给了5G大小)

然后给分区创建文件系统(注;swap分区要使用mkswap命令

blob.png

blob.png

]# mkdir /mnt/boot 创建挂载点(因为grub只识别/boot目录,所以要创建boot目录)

blob.png

]# mount /dev/sd1 /mnt/boot/ (将刚才创建的第一个分区挂载至/mnt/boot/目录下)

blob.png

]# grub-install –root-directory=/mnt /dev/sde (安装grub并且指明grub根在/mnt/下的boot,boot不指明,它会自己去找)

blob.png

可看到/mnt/boot/生成了grub,grub下生成了stage1,1.5,2等文件

自制一个简易linuxblob.png

]# cp /boot/vmlinuz-2.6.32-642.el6.x86_64 /mnt/boot/ 恢复内核文件

]# cp /boot/initramfs-2.6.32-642.el6.x86_64.img /mnt/boot/ 恢复initramfs文件

自制一个简易linuxblob.png

]# vim /mnt/boot/grub/grub.conf 编写grub配置文件,写入以下信息

defaullt=0 设定默认启动菜单项

timeout=5 菜单等待选择时间

title CentOS(minix.minix) 菜单名(以下为菜单项需要使用缩进)

root (hd0,0) 指明root为(hd0,0)

kernel /vmlinuz-2.6.32-642.el6.x86_64(指明内核文件) ro root=/dev/sda3 指明根文件系统(就是我们刚才分区出来的那块,因为要把这块硬盘放到另外一个系统上,所以刚才分区的/dev/sde3会在新系统上自动识别sda3)selinux=0 (关闭selinux) init=/bin/bash(指定系统的init为/bin/bash)

initrd /initramfs-2.6.32-642.el6.x86_64.img

blob.png

为根创建一级目录

[root@localhost ~]# mkdir /mnt/sysroot 创建根分区挂载点

[root@localhost ~]# mount /dev/sdb2 /mnt/sysroot/ 将根分区挂载

[root@localhost ~]# mkdir -pv /mnt/sysroot/{etc,lib,lib64,bin,sbin,tmp,var,usr,sys,proc,opt,home,root,boot,dev,mnt,media} 创建目录

blob.png编辑自动挂载配置文件

vim /mnt/sysroot/etc/fstab

/dev/sda1 /boot ext4 defaults 1 1

/dev/sda2  /    ext4 defaults 1 2

blob.png

复制bash和相关库文件

cp /bin/bash /mnt/sysroot/bin/

复制相关命令及相关库文件

如:ls,cat,vim,reboot,hostname等

blob.png

]# sync 同步磁盘数据

新建虚拟机使用现有磁盘

blob.png

blob.png

开机可运行



原创文章,作者:M20-1马星,如若转载,请注明出处:http://www.178linux.com/46164

(0)
M20-1马星M20-1马星
上一篇 2016-09-21 01:52
下一篇 2016-09-21 08:11

相关推荐

  • Shell中的循环语句

    在编程语言中,循环语句是最基本的语法之一,在Shell(这里是Bash)中也不例外。把相关内容整理一下吧。 这里包括for/while/until循环,以及变量自增的语法实例。 Shell(以Bash为例)中的循环语句一般有for、while、until这几种,偶尔还有写错语法的时候,这里结合实例来自己总结一下。也为今后使用提供一个快捷的资料获取渠道。 一、…

    Linux干货 2016-08-22
  • 日常练习加部分步骤注释

                                                      …

    2017-07-30
  • 开班第一天

    我的一篇小日记

    Linux干货 2018-03-26
  • 文本处理工具

    cat:查看文本文件  tac:竖行相反  rav:行内相反 -n:显示时加行号(空行也加行号) -b:            (空行不加) more:分页查看文件 -d:显示翻页及退出提示 less:一页一页查看文件或STDIN输出 head:前 -n#:前#行内容 tail:…

    Linux干货 2016-08-08
  • 第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp /etc/skel /home/tuser1 [root@localhost ~]# chmod -R&nb…

    Linux干货 2017-01-18
  • 文件属性、文件管理命令及glob 博客作业—-21期网络班第二周

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。    cp  mv  rm      命令格式:      cp [options] … SOURCE DEST    …

    Linux干货 2016-07-16