自制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

相关推荐

  • 十三.Linux博客-2016年8月18日while、for特殊用法、selet循环与菜单、函数

    格式说明: 操作 概念 命令 说明及举例 十三.while、for特殊用法、selet循环与菜单、函数 while特殊用法 while循环的特殊用法(遍历文件的每一行): while read line; do 循环体 done < /PATH/FROM/SOMEFILE 依次读取/PATH/FROM/…

    Linux干货 2016-08-24
  • 源码编译安装dropbear

    tar -jxf dropbear-2013.58.tar.bz2 cd dropbear-2013.58 ./configure make PROGRAMS=”dropbear dbclient dropbearkey dropbearconvert scp” make PROGRAMS=”dropbear dbclie…

    Linux干货 2017-10-21
  • 源码编译安装http

    为什么需要编译安装软件?   1、软件在编译期间需要配置:比如需要指定安装路径,定制模块等功能;   2、软件需要统一安装路径:在编译安装时可以方便指定这些路径;   3、需要最新的版本:对于某些软件来说可能需要最新的版本。 编译前的准备工作:     1、安装开发工具:make、gcc等…

    Linux干货 2016-08-24
  • grep,find

    显示当前系统上root、fedora、user用户的默认shell: 2.找出/etc/rc.d/init.d/functions文中单词后跟一组小括号的行 3.使用echo命令输出一个绝对路径,使用grep取出其基名: 4.找出ifconfig命令结果中的1-255之间的数字 5.写一个模式,匹配合理的ip地址 6.写一个模式,匹配出邮箱地址 7.查找/v…

    Linux干货 2016-11-27
  • nfs的简单配置及引用

    nfs: Network File System RPC:Remote Procedure Call NFS: sun公司研发, 协议;     NFSv1,没有走出实验室     NFSv2(不安全), NF…

    Linux干货 2016-10-19
  • LVM2:创建、使用、扩展、缩减、快照五步骤

    LVM2这是个关键的概念,还是从操作中比较容易理解 1、创建一个至少有两个PV组成的大小为40G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录 注意点:在vmware中添加两块硬盘,但是并不能马上可以查看,需要扫描一下磁盘,磁盘未/dev/sdc,/dev/sdd 然后创建LVM的基…

    Linux干货 2016-09-05