自定义linux系统

假如生活欺骗了你,不要悲伤不要心急,相信吧,快乐的日子终将来临!–海子

自制linux mini系统
借助linux系统创建mini版系统文件
制作步骤
a.载体,u盘或者硬盘
 vm创建虚拟硬盘后,免重启硬盘识别命令:
这里创建的盘大小为20G 
# echo “- – -” > /sys/class/scsi_host/host2/scan  
lsblk
没有显示的话,只好reboot重启 ლ(⌒▽⌒ლ)。
b. 为mini硬盘创建分区 ;这里暂分两个;引导区200m,另一个区用掉剩余1800M ,建分区可用parted 或 fdisk命令
#这里假若mini盘识别为sdb
fdisk /dev/sdb  ;创建分区 n ;主分区p,扩展分区e;分区编号(1-4);节点起始;分区大小 +….M
注:记得 w 保存!!!
c.创建分区文件系统,一般centos6用ext4格式,7用xfs格式。
命令mkfs.ext4 /dev/sdb1或 mkfs.xfs /dev/sdb1两个分区都一并把文件系统创建好。blkid命令,查看UUID号是否生成。
d.部署mini盘的引导分区,并挂载分区
# mkdir -pv /mnt/{boot,rootfs}
# mount /dev/sdb1 /mnt/boot/
# mount /dev/sdb2 /mnt/rootfs/
# df    查看一下
e.生成内核引导文件–grub
# grub-install –root-directory=/mnt/ /dev/sdb
f.为mini 系统boot目录创建内核与镜像文件
拷贝当前系统的/boot里内核与内核镜像,到mini系统的/boot目录
cp /boot/vmliuz-###.el#.x86_64  /boot/initramfs-###.el#.x86_64.img  /mnt/boot/
g.编写引导配置文件 grub.conf
vim /mnt/boot/grub/grub.conf
1. default=0
  #等待时间
2. timeout=3
3. title nice job linux
   # 内核指定; root指定 ;第一启动程序指定
4. kernel /vmlinuz root=/dev/sda2  init=/bin/bash  selinux=0
   # 内核镜像指定
5. initrd /initramfs.img
h.创建根下子目录
        cd /mnt/rootfs
        mkdir -pv {proc,dev,lib,bin,sbin,home,root,etc/rc.d,usr/{lib,bin,sbin},var/{log,run,lock},tmp,mnt,sys}
i.定制需要用到的程序
         由于上述指定了/bin/bash 为第一启动程序,所以bash程序必须拷贝过来。
          cp /bin/bash /mnt/bin/bash
          网卡如需使用也拷贝一下:
          cp /lib/modules/`内核`/kernel/drivers/net/ethernet/ethernet.ko /mnt/rootfs/lib/
           这里再制作一个起到“选择并复制”作用的这么一个脚本。方便其他程序包的复制。
           代码如下:
           #蛇棒
while true ;do
read -p “please input order(eg:[ls|quit]):” ord
root=”/mnt/sysroot”
copycmd (){
seat=`which $ord`
dir=`dirname $seat`
        if [ $? -eq 0 ];then
                echo “$seat”
                [ ! -d “$root$dir” ] && mkdir -pv “$root$dir”
                cp -f “$seat” “$root$seat”
        else
        echo “Input error” ; continue
        fi
}
copylib (){
        ldd $(which $ord) |grep -oE “/.* ” |while read line ;do
               local libdir=$root$(dirname $line)
               if [ -e “$root$line” ];then
                       continue
               elif  [ -d “$libdir” ];then
                      cp -v “$line” “$libdir”
               else
                      mkdir -pv “$libdir”
                      cp -v “$line” “$libdir”
               fi
               done
}
case $ord in
q|quit)
       echo  “Copy finished” ;exit 1
;;
*)
         copycmd;copylib
esac
done
j.关机,复制虚拟硬盘文件到指定文件夹,创建一个虚拟机,并装载这个虚拟硬盘,启动。。。
                                                                                                                                     ——      end

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/93213

(3)
康歌康歌
上一篇 2018-03-26 20:58
下一篇 2018-03-26 20:59

相关推荐

  • RAID 及 LVM

    本节主要介绍软RAID的实现和LVM的创建等等

    Linux笔记 2018-04-25
  • linux运维学习的常用命令总结以及需要注意的地方(2)

    少壮不努力,老大徒伤悲,努力加油!
    5.设置时区,日期,时间的相应命令以及用法
    6 如何获得帮助,这个能力决定了你的技术能力!
    7.简单的挂载光盘,安装应用程序的方法,以screen为例(包含了screen防止大文件备份失败的技巧)
    8.反向单引号,双引号,以及单引号对于命令和变量的识别
    9.bc计算器,date命令,history命令,passwd修改密码,$pwd变量,父/子目录,basename,dirname
    10.windows和linux互传文件的方法,普通用户非图形界面下挂载光盘

    2018-04-02
  • sudo相关配置详解及aide高级入侵检测环境

    sudo su – xiao -c ‘echo $USER’ 切换xiao用户执行指令显示用户名xiao 通用的配置文件:/etc/sudoers 实际运用的配置文件:/etc/sudoers.d/ 里面文件权限应设为440;根据需要可以一个用户设置一个配置文件便于管理 visudo 默认打开的是/etc/sudoers文…

    Linux笔记 2018-06-03
  • grep与vim工具基本命令详解

    本文记录了些我在学习grep与vim时记录的一些笔记,希望可以帮到大家

    2018-04-06
  • 文件系统挂载

    一、mount、umount、mount -o remount、findmnt、lsof、fuser
    二、挂载设置ACL权限、模拟U盘功能、losetup
    三、UUID故障处理、分区迁移与恢复、永久挂载光盘分区、挂载USB、永久挂载文件夹
    四、SWAP、挂载光盘、制作ISO镜像、制作Centos6Everthing
    五、df、du、dd备份/恢复/修复硬盘

    2018-05-26