《树莓派入门(六)--树莓派镜像备份》

目标:将已配置好的树莓派系统备份成镜像文件,方便生产和还原使用(建议32g以下的sd卡使用)。
这里使用Win32DiskImager将系统镜像整个读出来,再用PiShrink工具裁剪。

读取树莓派镜像

这里只演示,后面遇到名字自行替换,大致步骤如下:

  1. 找个地方,比如桌面,新建txt文档后缀修改为yourname.img
  2. 使用读卡器将带有树莓派系统的sd卡插入电脑
  3. Win32DiskImager选择,刚才新建的img文件
  4. 点击read,然后坐等(如果sd卡较大估计有的折腾)
    在这里插入图片描述
    这个方法读取全部sd卡的空间,我树莓派使用的SD卡是16G的,读出来整个镜像就16G左右,其中一部分是空白的没有使用的空间。

对读取的镜像进行裁剪

使用脚本进行剪裁。

  1. 获取脚本:
  wget --no-check-certificate https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh

这边直接使用wget 获取脚本可能出现问题:
查了一下,因为一般文件路径类型是http。如果有遇到是https就会下载出错。可以使用下面的语句进行下载 ,加上你们的网址在后面

wget --no-check-certificate "Cookie:gpw_e24=http%3A%2F%2Fwww.oracle.com%2F" https://...
wget --no-cookie --no-check-certificate --header "Cookie:gpw_e24=http%3A%2F%2Fwww.oracle.com%2F" https://
wget --no-check-certificate https://
wget --no-cookie --no-check-certificate https://

也可以直接去github 上下载 https://github.com/Drewsif/PiShrink
上面还有详细的裁剪教程
在这里插入图片描述
2. 增加执行权限:

  chmod +x pishrink.sh
  1. 使用root权限执行:
 sudo bash pishrink.sh read_again.img

重要的事情说3遍
如果使用虚拟机,1、一定不能将img文件放在共享目录下去裁剪
2、 ubuntu 的系统一定是要英文的 否则裁剪失败

最终生成的镜像不足4G,且使用此脚本生成的镜像,在启动时将其调整为SD卡的最大存储空间大小,可以说非常给力了。

在这里插入图片描述

二、~/.config/autostart下通过桌面启动应用

  1. 进入用户目录下的.config目录,里面如果没有autostart目录的话就新建一个

    cd ~/.config/autostart
    
  2. autostart目录下新建auto_start_test.desktop文件,编辑内容如下:

    [Desktop Entry]
    Type="Application"
    Exec="/home/pi/Desktop/KeDeCJ6EXE/KeDeCJ6 &"
    

    两种写法,有时候上面那个可以,有时候下面可以,但是下面成功率高,上面有可能搞错了

    [Desktop Entry]
    Type=Application
    Name=KeDeCJ6
    Exec=/home/pi/Desktop/KeDeCJ6EXE/KeDeCJ6 &
    
  3. 重启树莓派进行测试。这种方法一般是用于桌面应用的自启动,Qt就是属于这种桌面应用, 但听说这种启动不是每次都有效,我这边断电后有1-2次启动失败了。

三、是在/etc/init.d/中添加服务项。

  1. 执行ls /etc/init.d 可以看到该目录下有很多服务程序文件
  2. 在这里添加自己的服务文件,就可以对其进行配置从而实现自启动,在该目录下新建文件
    auto_start_test,
    cd /etc/init.d
    sudo vim auto_start_test
    
  3. 编辑内容:
    #!/bin/bash
    ### BEGIN INIT INFO
    # Provides: Auto_Start_Test
    # Required-Start: $remote_fs
    # Required-Stop: $remote_fs
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: Auto Start Test 
    # Descrption: This service is used to test auto start service
    ### END INIT INFO
    
    case "$1" in
        start)
            echo "Stat"
            /home/pi/Desktop/KeDeCJ6EXE/KeDeCJ6 &
            ;;
        stop)
            echo "Stop"
            killall KeDeCJ6 
            exit 1
            ;;
        *)
            echo "Usage:service Auto_Start_Test start|stop"
            exit 1
            ;;
    esac
    exit 0
    

这是一个bash脚本,指定了用start和stop命令进行服务的启动和停止,“BEGIN INIT INFO”那段注释是LSB标准说明,写不写都行,不写的话后面会有个警告。保存文件 ,执行下面指令 。

sudo chmod 777 auto_start_test//开放权限
sudo update-rc.d auto_start_test//将该服务添加到自启动项
//手动启动服务来测试
sudo service auto_start_teststart//启动服务
sudo service auto_start_teststop//停止服务

重启树莓派查看效果,可以看到无法自行启动,查看服务是存在这个服务的,但是就是没有效果。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200325090312880.png

四、利用树莓派自带的拷贝工具

这个方法我觉得是量产的比较好的方式;简单、容易操作、右比较完整、拷贝的还不是全部的内容,只拷贝有数据的地方:
树莓派系统自带sd card 拷贝工具
在这里插入图片描述
打开后,copy from device:默认当前系统正在用的sd卡
copy to device: 用读卡器将新的sd卡放插到树莓派上
然后点击start就可以去等待了
在这里插入图片描述

五、总结

树莓派备份用指令比较麻烦,拷贝来拷贝去的,用自带的工具,只要备份一张卡,要拷贝的时候,在树莓派上插上卡,插上读卡器,就能操作。省时

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值