自制简易linux系统

一、环境准备

1.笔记本电脑
2.vmware12软件
3.CentOS 6虚拟机
4.大于5G空间的物理磁盘分区

二、分区并挂载文件系统

1.添加磁盘

在vmware中选中CentOS 6系统并右击鼠标选择设置,添加-->硬盘-->SCSI(推荐)-->创建新虚拟磁盘-->大小改为5G-->完成

磁盘添加.PNG

2.分区并创建文件系统并挂载

fdisk /dev/sdb
分两个必要的分区/dev/sdb1对应/boot /dev/sdb2对应根/ mkfs.ext4 /dev/sdb1
mkfs.ext4 /dev/sdb2
mkdir /mnt/boot
mkdir /mnt/sysroot
mount /dev/sdb1 /mnt/boot
mount /dev/sdb2 /mnt/sysroot

image创建磁盘.PNG

三、内核及grub创建

3.恢复内核和initramfs文件

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

4.grub安装与建立grub.conf文件

1)安装grub
grub-install --root-directory=/mnt /dev/sdb2)建立grub.conf文件
vim /mnt/boot/grub.conf添加如下内容:default=0timeout=3splashimage=(hd0,0)/grub/splash.xpm.gz

title wanglinux
kernel /vmlinuz-2.6.32-642.el6.x86_64     root=/dev/sda2 selinux=0 init=/bin/bash
initrd /initramfs-2.6.32-642.el6.x86_64.img

grub.PNG

image5.与grub中图片更换

yum install ImageMagick,图片转换工具
convert -resize 640x480!  -colors 14 1.jpg 1.xpm 重新设置图片大小
gzip win.xpm对图片进行压缩
vim /mnt/boot/grub/grub.conf修改grub.conf中的splash.xpm.gz为新的图片splash.xpm.gz

四、创建一级子目录和复制文件

1.创建一级子目录

cd /mnt/sysroot
mkdir–pv/mnt/sysroot/{etc,lib,lib64,bin,sbin,tmp,var,usr,sys,proc,opt,home,root,boot,dev,mnt,media}
其中proc目录如果忘记创建会出现/dev/sdb2即根目录已经挂载的报错

2.复制bash和相关库文件

使用之前写的库文件拷贝脚本进行复制,简单复制了bash,ls,df,pwd等命令

3.尝试切跟

chroot /mnt/sysroot

image目录.PNG

4.如果创建子目录时缺少proc子目录启动时会出现下图所示错误

自制linux遇到的错误.PNG

五、创建新虚拟机并验证自制系统

  1. 创建一个虚拟机先不要安装系统

2.删除新建虚拟机的磁盘文件 

3.把CentOS 6中的添加的5G的磁盘文件CentOS_6-1.vmdk拷贝过来 

4.把拷过来的磁盘文件作为新虚拟机的启动磁盘文件 imageimage

自制简易linux系统

自制简易linux系统

原创文章,作者:提着酱油瓶打醋,如若转载,请注明出处:http://www.178linux.com/47910

赞 (0)
提着酱油瓶打醋提着酱油瓶打醋
上一篇 2016-09-19 20:35
下一篇 2016-09-20 09:09

相关推荐

  • 架构师第一天之:Nginx

    nginx: 诞生背景: prefork机制不能支持过大的并发请求, C10K问题的解决 官方站点: http://nginx.org 二次开发版: tengine,openresty 特性: 模块化设计,较好的拓展性 高可靠性:master/worker架构 支持热部署:不停机更新配置文件,更换日至文件,更新服务器版本 低内存消耗:10000个keep-a…

    Linux干货 2016-10-29
  • bash特性之基础

    bash shell 命令历史history 环境变量: HISTSIZE :命令历史记录的条数 HISTFILE :~/.bash_history HISTFILESIZE: 显示环境变量:echo    环境变量的修改:export  history history [-c] [-d&…

    Linux干货 2016-11-22
  • ldirectord 结合ipvsadm 配置nat,dr模型

    ldirectord 结合ipvsadm 配置nat,dr模型  一、nat模型 1、 drector # wget ftp://172.16.0.1/pub/Sources/7.x86_64/crmsh/ldirectord-3.9.6-0rc1.1.1.x86_64.rpm # yum -y install nginx (同时用于做为sorry…

    Linux干货 2014-01-03
  • N25第三周博客作业

    第三周博客作业: 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。                  …

    Linux干货 2016-12-12
  • Linux find命令使用详则

    find命令 find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录欲文件。并且将查找到的子目录和文件全部进行显示。 语法 find(选项)(参数) 选项 -amin<分钟>:查找在指定时间曾被存取过的文件或者目录,单位以分钟计算; -ane…

    2017-08-03
  • RAID解说

    RAID(RedundantArrays of Inexpensive Disks,RAID),又叫独立的磁盘阵列。有“价格便宜具有冗余能力的磁盘阵列”之意。原理是利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术…

    2017-03-14

评论列表(2条)

  • 马哥教育
    马哥教育 2016-09-20 11:34

    文章创建一级子目录中,proc目录已经创建过了,为什么因为缺少了proc目录报错呢?

    • 提着酱油瓶打醋
      提着酱油瓶打醋 2016-09-20 11:54

      @马哥教育:我上边是创建了proc目录,不会出现错误。这个地方只是把如果不创建proc的情况下出现的错误说明了一下。