当前位置:首页 > 技术分析 > 正文内容

dd制作img镜像,调整镜像大小,制作根文件系统

ruisui883个月前 (02-03)技术分析19

dd操作

1、dd制作

dd if=/dev/zero of=test.img bs=1M count=10

2、格式化

mkfs.ext4 test.img

3、挂载

sudo mount test.img tempmount/

4、文件操作,需要管理员权限

cp、mv、rm等操作

5、卸载

sudo umount tempmount

6、检查修复

e2fsck -p -f test.img (e2fsck用来检查ext2/ext3/ext4文件系统,适用于未挂载的文件系统)

7、缩减镜像大小

resize2fs -M test.img

8、扩展镜像大小

dd if=/dev/zero of=test.img bs=1M count=0 seek=20 (想要扩到多大在seek这里指定,最终img大小是bs*seek,此例为20M)

虽然镜像变大了,但是文件系统还是原来的大小。

9、检查并扩展文件系统

e2fsck -f test.img

resize2fs test.img

此时文件系统会扩展到整个镜像大小。


在电脑端用chroot方式更新根文件系统

1、挂载根文件系统镜像

sudo mount rootfs1.img tempdir/

2、挂载镜像后准备chroot挂载点

./ch-mount.sh -m tempdir/

ch-mount.sh内容如下:

#!/bin/bash



function mnt(){

	echo "MOUNTING"

	sudo mount -t proc /proc ${2}/proc

	sudo mount -t sysfs /sys ${2}/sys

	sudo mount -o bind /dev ${2}/dev

	sudo mount -o bind /dev/pts ${2}/dev/pts

}



function umnt(){

	echo "UNMOUNTING"

	sudo umount  ${2}/proc

	sudo umount  ${2}/sys

	sudo umount  ${2}/dev/pts

	sudo umount  ${2}/dev

	

}



if [ "$1" == "-m" ] && [ -n "$2" ];

then

	mnt $1 $2

elif [ "$1" == "-u" ] && [ -n "$2" ];

then

    umnt $1 $2

else

    echo ""

    echo "Either 1'st, 2'nd or both parameters were missing"  

    echo ""

    echo "1'st parameter can be one of these: -m(mount) OR -u(umount)"

    echo "2'nd parameter is the full path of rootfs directory(with trailing ‘/’)"

    echo ""

    echo "For example: ch-mount -m /media/sdcard/"

    echo ""

    echo 1st parameter : ${1}

    echo 2nd parameter : ${2}

fi

3、运行chroot

sudo chroot tempdir/

4、使用apt更新和安装软件

apt update
apt install bash-completion
apt install openssh-client openssh-server
。。。。。。

4、exit退出

5、卸载挂载点

./ch-mount.sh -u tempdir/

6、卸载根文件系统镜像

sudo umount tempdir

7、调整大小

e2fsck -f rootfs1.img

resize2fs -M rootfs1.img


我是在别人弄好的根文件系统上操作的,可能原始根文件需要:

sudo apt-get install qemu-user-static

cp -b /etc/resolv.conf temp/etc/resolv.conf //这个不确定

cp /usr/bin/qemu-aarch64-static temp/usr/bin/

这个还需进一步学习研究,temp是根文件系统目录。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/1444.html

标签: img 大小
分享给朋友:

“dd制作img镜像,调整镜像大小,制作根文件系统” 的相关文章

带你五步学会Vue SSR

作者:liuxuan 前端名狮转发链接:https://mp.weixin.qq.com/s/6K6GUHcLwLG4mzfaYtVMBQ前言SSR大家肯定都不陌生,通过服务端渲染,可以优化SEO抓取,提升首页加载速度等,我在学习SSR的时候,看过很多文章,有些对我有很大的启发作用,有些就只是照搬官...

GitLab-创建分支

描述分支是独立的生产线,是开发过程的一部分。分支的创建涉及以下步骤。创建一个分支步骤1-登录您的GitLab帐户,然后转到“ 项目”部分下的项目。步骤2-要创建分支,请单击“ 存储库”部分下的“ 分支”选项,然后单击“ 新建分支”按钮。步骤3-在“ 新建分支”屏幕中,输入分支的名称,然后单击“ 创建...

Gitlab+Jenkins通过钩子实现自动部署web项目,图文详细教程

扩展参考:Jenkins+Gitlab通过脚本自动部署回滚web项目至集群 一:基础环境介绍及准备1):Gitlab服务器:ubuntu 192.168.152.131 ---参考搭建:Linux安装gitlab,docker安装gitlab教程2):Jenkins服务器:ubunu 192.168...

别让“跑焦”毁所有!仅需这一项设置,即可显著改善镜头对焦精度

我常常会收到一些摄影爱好者的私信,也一直在努力的帮助大家解决更多摄影中常见问题。在我收到的所有问题中。有一个问题是最麻烦的,那就是“为什么我的图像看起来模糊?”。这个问题几乎每个人都遇到过,究其原因可以说是多种多样相对复杂。起初我一直认为是对焦问题所导致,也就有了我之前所写的“后按对焦”以及“对焦模...

vue3使用vue-router路由(路由懒加载、路由传参)

vue-router 是 vue的一个插件库1. 专门用来实现一个SPA单页面应用2 .基于vue的项目基本都会用到此库SPA的理解1) 单页Web应用(single page web application,SPA)2) 整个应用只有一个完整的页面3) 点击页面中的链接不会刷新页面, 本身也不会向...

从 Vue2.0 到 React17——React 开发入门

作者:佚名来源:前端大全前言找工作时发现有一些公司是以React作为技术栈的,而且薪资待遇都不错,为了增加生存的筹码,所以还是得去学一下React,增加一项求生技能。因为我用Vue2.0开发项目已经四年了,故用Vue2.0开发项目的思路来学习React。前端项目是由一个个页面组成的,对于Vue来说,...