自制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
下一篇 2016-09-16

相关推荐

  • sed与vim相关练习

    sed 练习 以行为单位的新增/删除功能 1将 /etc/passwd 的内容列出并且打印行号,同时,请将第 2~5 行删除! 2在第二行后(亦即是加在第三行)加上“the is xing line?”字样! 3在第二行前(亦即是加在第而行)加上“the is xing line?”字样! 4在第二行后面加入两行字,例如“the is xing line &…

    Linux干货 2016-08-10
  • Homework Week-7 RAID及bash编程

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; fdisk /dev/sda n …

    Linux干货 2016-09-26
  • MYSQL数据库基础教程

    一、数据库介绍 1.数据库管理系统的产生背景 (1)数据时代的到来要求对数据进行有效和安全的管理 涉及的数据量大 数据不随程序的结束而消失 数据被多个应用程序共享 大数据时代的到来 (2)传统文件系统管理上的缺陷要求改变数据管理方式 编写应用程序不方便 数据冗余不可避免 应用程序依赖性 不支持对文件的并发访问 数据间联系弱 难以按用户视图表示数据 无安全控制…

    Linux干货 2017-10-05
  • 重定向和管道

    重定向和管道 今天一起来学习一下重定向的一些相关命令及用法: 我们都知道程序=指令+数据 ,那么我们的数据的输入(Input)和输出(Output)是如何实现的呢?!跟小编君一起来看一下吧: 本博文小编君分成了四部分:1.重定向的讲解 2.管道符的讲解 3.涉及到的一些其他命令 4.练习题 一:重定向 重定向的本质是改变文件的默认位置,即换个地方存储数据。 …

    2017-08-04
  • python高阶函数与装饰器

    ##**高阶函数**– 函数是python中的一等公民– 函数也是对象,可调用对象– 函数可以作为普通变量、参数、返回值等等– 数学概念y = g(f(x))– 高阶函数满足以下至少一个条件:1.接收一个或多个函数作为参数 2.输出一个函数 ##**举例(计数器)**def counter(base…

    Linux干货 2017-10-23
  • rpm程序包管理器

    linux程序包管理器: 协作用户管理应用程序:安装、升级、查询、校验、卸载等 软件程序包生成过程:     源代码——》目标二进制格式–》组织成为一个或有限几个包文件     源代码:程序员写好的纯文本文档格式的代码     …

    Linux干货 2016-08-19