Linux 下模拟制作块设备并挂载
Linux 下模拟制作块设备并挂载
作者:Grey
原文地址:
环境
CentOS-7
下载地址:下载 CentOS-7
Linux 的安装可以参考:Linux 安装,快照,克隆
操作步骤
第一步,通过以下命令生成100m
的空img
文件,其中dd
命令可以用于硬盘的互相拷贝。
dd if=/dev/zero of=mydisk.img bs=1048576 count=100
第二步,使用losetup
将磁盘镜像文件虚拟成块设备
losetup /dev/loop0 mydisk.img
第三步,通过mke2fs
命令用于建立ext2
文件系统。
mke2fs /dev/loop0
第四步,挂载
mkdir /mnt/myos
mount -t ext2 /dev/loop0 /mnt/myos
查看/dev/loop0
信息,它就是一个块设备
[root@linux /]# ll /dev/loop0
brw-rw----. 1 root disk 7, 0 Sep 14 01:15 /dev/loop0
继续完善/mnt/myos
目录,首先,拷贝bash
到myos
的bin
目录中,执行下述三条命令
mkdir /mnt/myos/bin
cd /mnt/myos
cp /bin/bash ./bin
查看bash需要的依赖
ldd /mnt/myos/bin/bash
显示如下信息
linux-vdso.so.1 => (0x00007ffd88ba5000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007fb19c6ca000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fb19c4c6000)
libc.so.6 => /lib64/libc.so.6 (0x00007fb19c0f8000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb19c8f4000)
模拟bash
的依赖结构,我们建立好对应的依赖存放目录
mkdir /mnt/myos/lib64
将系统中bash的所有依赖拷贝到这个目录
cp /lib64/{libtinfo.so.5,libdl.so.2,libc.so.6,ld-linux-x86-64.so.2} /mnt/myos/lib64/
启动myos
下的bash
cd /mnt/myos
chroot ./
注:chroot 命令把根目录换成指定的目的目录。
使用echo
和重定向测试bash
[root@linux myos]# chroot ./
bash-4.2# echo "d" > /abc.txt
退出bash
,并在/mnt/myos
目录下,
[root@linux myos]# cat /mnt/myos/abc.txt
d
更多
Linux 下模拟制作块设备并挂载的更多相关文章
- Linux下方便的块设备查看工具lsblk
之前在Linux下看有什么块设备,通常都用fdisk什么的或者直接ls /dev/ 去看很不方便. 这个工具属于util-linux-ng包,在RHEL 6.1上是安装好的啦,直接用就好. ubunt ...
- linux平台模拟生成CAN设备
前言 使用socketCan的过程中有时候没有can接口设备,但是需要测试一下can接口程序是否有问题, 此时需要系统模拟生成can设备,本文介绍linux平台模拟生成CAN设备的方法. 实现步骤 1 ...
- Linux下模拟多线程的并发并发shell脚本
分享一个在Linux下模拟多线程的并发脚本,使用这个脚本可以同时批量在定义数量的服务器上执行相关命令,比起普通for/while循环只能顺序一条一条执行的效率高非常多,在管理大批服务器时非常的实用. ...
- linux下补丁制作及打补丁实例【转】
转自:http://www.latelee.org/using-gnu-linux/diff-and-patch-on-linux.html 搞ARM有一段时日了,期间看了不少开发板的手册,手册的内容 ...
- 用 Linux blkid 命令查找块设备详情
今天我们将会向你展示如何使用 lsblk 和 blkid 工具来查找关于块设备的信息,我们使用的是一台安装了 CentOS 7.0 的机器. lsblk lsblk 是一个 Linux 工具,它会显示 ...
- Linux下磁盘分区,格式化以及挂载
测试环境:VMware Workstation / centos7 1.磁盘分区 (1)易于管理和使用: 比如说我们把磁盘分了sda1.sda2.sda3.sda4盘,我们假设sda1盘为系统盘,其他 ...
- linux驱动开发之块设备学习笔记
我的博客主要用来存放我的学习笔记,如有侵权,请与我练习,我会立刻删除.学习参考:http://www.cnblogs.com/yuanfang/archive/2010/12/24/1916231.h ...
- Linux平台下:块设备、裸设备、ASMlib、Udev相关关系
对磁盘设备(裸分区)的访问方式分为两种:1.字符方式访问(裸设备):2.块方式访问 Solaris平台 : 在Solaris平台下,系统同时提供对磁盘设备的字符.块方式访问.每个磁盘有两个设备文件名: ...
- linux下自动加载设备驱动程序模块
假设你的设备驱动程序为:yourdrivername.ko 1 cp yourdrivername.ko /lib/modules/"version"/kernel/driver ...
随机推荐
- mysql 存储过程和触发器
存储过程 -- 声明结束符 -- 创建存储过程 DELIMITER $ -- 声明存储过程的结束符 CREATE PROCEDURE pro_test() --存储过程名称(参数列表) BEGIN - ...
- ERROR: null value in column "name" of relation "res_company" violates not-null constraint
1 # 创建res.company公司信息的时候,发现它执行了两次create()方法,并且第二次调用create,传了一个[{}]做为参数 2 # 原因是,你创建res.company的时候并没有指 ...
- 【原创】Magisk Root隐藏模块 Shamiko安装
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! Root隐藏模块 Shamiko安装 操 ...
- SP104 Highways (矩阵树,高斯消元)
矩阵树定理裸题 //#include <iostream> #include <cstdio> #include <cstring> #include <al ...
- Spring源码 19 IOC getBean
参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...
- LeetCode 593. 有效的正方形(向量做法)
题目 题目链接:593. 有效的正方形 题意:给出二维平面上四个点的坐标,判断这四个点是否能构成一个正方形,四个点的输入顺序不做任何保证. 思路 通过向量运算可以很轻松地解决这道题.任取一点向其他三点 ...
- redis淘汰策略和过期策略
淘汰策略 https://blog.csdn.net/qq_55961709/article/details/124568269 LRU算法和LFU算法的区别: LRU:最近最少使用,淘汰时间长没有使 ...
- VS2019 Community社区版登录提示:我们无法刷新此账户的凭证 解决方法
最正确的方式: 1.点击 帮助-->发送反馈-->报告问题 2.点击 检查新的许可证 ,即可登陆成功 3.如果提示:无法下载或者下载失败. 4.那么就需要在左边 账户选项 中将 嵌入式We ...
- R语言-tidyr和dplyr
一.安装和加载 1.安装并加载tidyr和dplyr包 install.packages("tidyr") library(tidyr) install.packages(&quo ...
- 微信小程序-云函数、云存储
云函数是运行在服务器端的 创建一个目录cloud project.config.json配置云函数目录 cloud目录有个云朵.代表云函数 初始化成功了 新建一个云函数 cloud目录右击 新建一个N ...