自制Linux

1. 分区出来两个区

fdisk /dev/sdb

   wKiom1fbrmjxSb2pAAA-dY1iNzo653.png

2. 创建文件系统

  [root@localhost ~]# mkfs.ext4 /dev/sdb1
 [root@localhost ~]# mkfs.ext4 /dev/sdb2

3.创建根目录挂载点

   wKioL1fbrpGzlIscAAAJbS1N_rc904.png

4. 挂载根目录

   wKiom1fbrrbCWVbDAAArM-4I7pk749.png

5. 在根目录创建文件

   wKiom1fbruOApCK7AAAWvKpEcyk264.png

6. 挂载boot引导目录

   wKioL1fbrw-gqB3MAAAwehc0YB8645.png

7. 生成引导文件

   wKiom1fbrz7TwDf8AAAPCo0NYIE006.png

8. 编辑grub.conf

   wKioL1fbr1_gUgPtAABDF6lg9P4602.png

9. 拷贝引导文件

   wKioL1fbr4mTaEiEAAAi67guSYw324.png

10.编辑fstab文件

   wKiom1fbr7rRvUjDAAAmcWJIwqA642.png

11.copy命令脚本

   wKioL1fbr9OB_dRUAACnVu3zlfE128.png

#!/bin/bash    
    ch_root="/mnt/sysroot"
    [ ! -d $ch_root ] && mkdir $ch_root
     
    bincopy() {
        if which $1 &>/dev/null; then
            local cmd_path=`which --skip-alias $1`
            local bin_dir=`dirname $cmd_path`
            [ -d ${ch_root}${bin_dir} ] || mkdir -p ${ch_root}${bin_dir}
            [ -f ${ch_root}${cmd_path} ] || cp $cmd_path ${ch_root}${bin_dir}
            return 0
        else
            echo "Command not found."
            return 1
        fi
    }
     
    libcopy() {
        local lib_list=$(ldd `which --skip-alias $1` | grep -Eo '/[^[:space:]]+')
        for loop in $lib_list;do
            local lib_dir=`dirname $loop`
            [ -d ${ch_root}${lib_dir} ] || mkdir -p  ${ch_root}${lib_dir}
            [ -f ${ch_root}${loop} ] || cp $loop ${ch_root}${lib_dir}
        done
    }
     
    read -p "Please input a command: " command
     
    while [ "$command" != "quit" ];do
        if bincopy $command ;then
            libcopy $command
        fi
        read -p "Please input a command or quit: " command
    done
    [root@localhos

12.重启,把/dev/sdb硬盘 挂载在新电脑中即可。

原创文章,作者:闹钟哥,如若转载,请注明出处:http://www.178linux.com/46966

(0)
闹钟哥闹钟哥
上一篇 2016-09-16 16:13
下一篇 2016-09-16 19:14

相关推荐

  • 磁盘配额实现

    磁盘配额实现 磁盘配额要求必须是独立的分区 创建一个新的分区 #同步分区表 [root@localhost ~]# partx -a /dev/sda [root@localhost ~]# mkfs.ext4 /dev/sda6 -L /home [root@localhost ~]# blkid /dev/sda6: LABEL=”/home…

    Linux干货 2017-12-09
  • 用“逐步排除”的方法定位Java服务线上“系统性”故障

    一、摘要 由 于硬件问题、系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降、部分(或所有)接口超 时或卡死等。其中部分故障隐藏颇深,对运维和开发造成长期困扰。笔者根据自己的学习和实践,总结出一套行之有效的“逐步排除”的方法,来快速定位Java 服务线上“系统性”故障。 二、导言 Java 语言是广…

    2015-02-28
  • 启动和内核管理

    启动和内核管理 :      CentOS 5和6的启动流程     服务管理     Grub管理     自制Linux     启动排错 &nb…

    Linux干货 2016-09-19
  • 正则

    Edit 正则 概述: 正则表达式,Regular Expression,缩写regex、regexp、RE 正则表达式是文本处理极为重要的技术,用它可以对字符串按照某种规则进行检索、替换 1970年,Unix之父ken Thompson将正则表达式引入到Unix中文本编辑器ed和grep命令中,由此正则表达式普及开来 1980年后,perl语言对Henry…

    Linux干货 2017-11-06
  • LINUX-echo命令

    echo命令:回显         语法:echo [-neE][字符串]     说明:echo会将输入的字符串送往标准输出。输出的字符串间         以空白字符隔开,并在最后加上换行号。   &nbs…

    Linux干货 2017-05-22
  • Linux文件系统总结(7.4课上作业)

    一、什么是文件系统         文件系统是对一个存储设备上的数据和元数据进行组织的机制。它使用文件和树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使用的数据块的概念,用户使用文件系统来保存数据而不必关心数据实际保存在硬盘(or光盘)的地址为多少数据块上,只需要记住这个文件的…

    Linux干货 2016-07-10