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 ...
随机推荐
- Jetpack Compose学习(8)——State及remeber
原文地址: Jetpack Compose学习(8)--State状态及remeber关键字 - Stars-One的杂货小窝 之前我们使用TextField,使用到了两个关键字remember和mu ...
- mysql like 命中索引
反向索引案例:CREATE TABLE my_tab(x VARCHAR2(20)); INSERT INTO my_tab VALUES('abcde'); COMMIT; CREATE INDEX ...
- 轻盈潇洒卓然不群,敏捷编辑器Sublime text 4中文配置Python3开发运行代码环境(Win11+M1 mac)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_210 20世纪初,几乎所有的飞机都是并列双翼结构,此时,美国著名飞行大亨霍华德·休斯认为自己的飞机不够快,助手委婉地提醒他,如果速 ...
- Vue3.0工程创建 && setup、ref、reactive函数 && Vue3.0响应式实现原理
1 # 一.创建Vue3.0工程 2 # 1.使用vue-cli创建 3 # 官方文档: https://cli.vuejs.org/zh/guide/creating-a-project.html# ...
- Vue 搭建脚手架 && 脚手架的文件结构 && 关于不同版本的Vue
1 # 一.Vue 环境搭建 2 # 1.VsCode 编码插件:Vuter 3 # 2.Vue 脚手架安装 4 # 1).安装:npm install -g @vue/cli or yarn glo ...
- inotify 目录文件变更实时监控
# inotify 软件 # 安装:通过epel,安装在客户端 # 功能:实时监控目录下文件的更变 # 监控事件:创建.删除.修改.移动... # 安装位置:客户端 # 安装命令: sudo apt- ...
- Charles自动保存响应数据
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! 操作环境 win10 nexus5x c ...
- Postman中的断言
Postman设置断言 一.断言的定义 1.什么是断言? 一般一个完整的接口测试,包括:请求->获取响应正文->断言,请求和获取响应正文很常见.断言一般是对请求的响应结果做操作,判断预期结 ...
- 【MySQL】从入门到精通5-一对多-外键
上期:[MySQL]从入门到掌握4-主键与Unique 第一章:创建角色表 啥是一对多啊? 一个账号可以有多个角色,但是一个角色只能属于一个账号. 举个例子,我们之前创建的是玩家的账号数据库. 但是一 ...
- HTTP 优缺点
HTTP 最凸出的优点是「简单.灵活和易于扩展.应用广泛和跨平台」. 1. 简单HTTP 基本的报文格式就是 header + body ,头部信息也是 key-value 简单文本的形式,易于理解, ...