嵌入式爱好者

嵌入式爱好者 门户 知识库 查看内容

使用NFS备份及烧录整个文件系统方法

2023-3-31 18:50| 发布者: Espoir| 查看: 347| 评论: 0

类目:  >  知识库     文档编号: 974

1.使用dd命令将文件系统生产压缩包

dd bs=512 count=15269888 if=/dev/mmcblk1p2 | gzip -9 > rootfs.img.gz

2.在虚拟机上搭建NFS服务

1、ubuntu 下搭建nfs 服务器方法如下:

软件下载安装

forlinx@ubuntu:~# sudo apt-get install nfs-kernel-server nfs-common portmap

创建nfs 目录并解压文件系统(以rootfs.tar.bz2 文件系统为例,当前目录为根目录)

forlinx@ubuntu:~# cd /
forlinx@ubuntu:/# sudo mkdir nfs_rootfs

修改配置文件

forlinx@ubuntu:/# sudo vim /etc/exports

在文件中添加以下配置:

/nfs_rootfs *(rw,sync,no_root_squash,no_subtree_check)

重启配置文件和服务

forlinx@ubuntu:/# sudo exportfs -rv
forlinx@ubuntu:/# sudo /etc/init.d/rpcbind restart
forlinx@ubuntu:/# sudo /etc/init.d/nfs-kernel-server restart

2、在开发板上验证nfs 服务器,执行完以下命令将nfs服务器挂载到开发板的/mnt目录(这一步可以不进行验证)

root@imx6ulevk:~# mount -t nfs4 -o vers=4 192.168.0.20:/nfs_rootfs 
/mnt

挂载成功后,查看/mnt目录,会看到刚才解压的文件系统

root@imx6ulevk:~# ls /mnt/

注:192.168.0.20 为NFS 服务器主机ubuntu的IP,ubuntu的网络需设置为桥接模式,并跟开发板在同一网段

3、 在nfs目录下解压一个正常的文件系统

forlinx@ubuntu:/# sudo tar -xvf rootfs.tar.bz2 -C /nfs_rootfs/

然后将dd生成的压缩包放置于nfs路径下

cp rootfs.img.gz /nfs_rootfs/

3.通过网络挂载文件系统

开机按空格进入uboot操作界面,设置环境变量

=> setenv ethaddr 00:E0:0C:BC:E5:60 //设置MAC地址
=> setenv ipaddr 192.168.0.221 //设置开发板IP
=> setenv serverip 192.168.0.20 //设置TFTP服务器IP
=> setenv mmcargs setenv bootargs console=ttymxc0,115200 cma=320M root=/dev/nfs rw ip=192.168.0.221:192.168.0.20:192.168.0.1:255.255.255.0::eth0:off nfsroot=192.168.0.20:/nfs_rootfs,v3,tcp    //设置NFS文件系统
=> boot

4.系统恢复

启动文件系统后,在文件系统/路径下有rootfs.img.gz文件,将其重新写入emmc分区即可

gzip -c -d rootfs.img.gz | dd of=/dev/mmcblk1p2



已解决

未解决

只是看看

最新评论

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2025-6-18 01:05

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部