当前位置: 首页 > Linux

生成树莓派最小系统镜像

时间:2023-04-07 01:04:20 Linux

开发/测试环境树莓派:RaspberryPi3bTF内存卡:SanDiskUltra16GBClass10A1操作系统:2018-06-27-raspbian-stretch-lite程序:使用apt-get安装的最新版本(2018年7月15日)脚本raspberrypi-backup.sh用于为RaspberryPi生成最小系统映像。该脚本可以将TF存储卡上的数据备份到通过USB连接的存储设备上。图像的大小取决于TF存储卡的已用空间。该脚本接受一个必需的参数:存储图像的目录。脚本每次执行都会在目录下生成一个img文件,文件名为backup_currentdateandtime.img。#!/bin/bashset-e#startif[-z$1];然后回显“未设置备份目录,需要。”exit1fiBACK_UP_DIR=$1echo#installecho"Installingpackage..."apt-getinstalldosfstoolsdumppartedkpartx-yecho"Finish."echo#createimageecho"Creatingimage..."ROOT=`df-P|复制代码grep/开发/根|awk'{print$3}'`MMCBLK0P1=`df-P|grep/dev/mmcblk0p1|awk'{print$2}'`ALL=`echo$ROOT$MMCBLK0P1|awk'{printint(($1+$2)*1.2)}'`TIME=`date"+%Y%m%d%H%M%S"`FILE=$BACK_UP_DIR/backup_$TIME.imgddif=/dev/zeroof=$FILEbs=1Kcount=$ALLecho"Finish."echo#partecho"Partingimage..."P1_START=`fdisk-l/dev/mmcblk0|grep/dev/mmcblk0p1|awk'{print$2}'`P1_END=`fdisk-l/dev/mmcblk0|grep/dev/mmcblk0p1|awk'{print$3}'`P2_START=`fdisk-l/dev/mmcblk0|grep/dev/mmcblk0p2|awk'{print$2}'`parted$FILE--script--mklabelmsdosparted$FILE--script--mkpartprimaryfat32${P1_START}s${P1_END}sparted$FILE--script--mkpartprimaryext4${P2_START}s-1部分ed$FILE--script--quitecho"Finish."echo#mountecho"Mounting..."LOOP_DEVICE=`losetup-f--show$FILE`kpartx-va$LOOP_DEVICEPART_BOOT="/dev/dm-0"PART_ROOT="/dev/dm-1"echo"完成。"echo#formatecho"正在格式化..."mkfs.vfat$PART_BOOTmkfs.ext4$PART_ROOTecho"完成。"echo#backupprepareMOUNT_POINT=/media/backup_$TIME/if[!-d"$MOUNT_POINT"];thenmkdir$MOUNT_POINTfi#backup/dev/bootecho"正在备份磁盘/dev/boot..."mount-tvfat$PART_BOOT$MOUNT_POINTcp-rfp/boot/*$MOUNT_POINTumount$MOUNT_POINTecho"完成."echo#backup/dev/rootecho"正在备份磁盘/dev/root..."mount-text4$PART_ROOT$MOUNT_POINTcd$MOUNT_POINTdump-h0-0uaf-/|sudorestore-rf-cdumount$MOUNT_POINTecho"Finish."echo#unmountecho"Unmounting..."kpartx-vd$LOOP_DEVICElosetup-d$LOOP_DEVICErm-fr$MOUNT_POINTecho"Finish."echo#endecho"备份镜像$FILE成功created."echo参考资料制作树莓派最小镜像-img裁剪瘦身

最新推荐
猜你喜欢