#!/bin/sh
sudo losetup /dev/loop0 original.img
mkdir -p img_temp/boot/
mkdir -p img_temp/root/
sudo kpartx -av /dev/loop0
boot="/dev/mapper/loop0p1"
root="/dev/mapper/loop0p2"
sudo mount $boot img_temp/boot/
sudo mount $root img_temp/root/
sudo dd if=/dev/zero of=raspberrypi.img bs=1M count=2048
sudo parted raspberrypi.img --script -- mklabel msdos
sudo parted raspberrypi.img --script -- mkpart primary fat32 204800s 729087s
sudo parted raspberrypi.img --script -- mkpart primary ext4 729088s -1
loopdevice=`sudo losetup -f --show raspberrypi.img`
device=`sudo kpartx -va $loopdevice | sed -E 's/.*(loop[1-9])p.*/\1/g' | head -1`
echo "yansci 5miao"
sleep 5
device="/dev/mapper/${device}"
partBoot="${device}p1"
partRoot="${device}p2"
echo $partBoot
ls /dev/mapper/
sudo mkfs.vfat $partBoot -n boot
sudo mkfs.ext4 $partRoot
sudo mount -t vfat $partBoot /media
sudo cp -rfp img_temp/boot/* /media/
sync
sudo umount /media
sudo mount -t ext4 $partRoot /media/
cd /media
sudo dump -h 0 -0uaf - $root | sudo restore -rf -
cd -
sudo umount /media
#存储位置相差8个偏移,必须加上
dd if=/dev/loop0 of=$loopdevice skip=8 seek=8 count=204790
sudo kpartx -d $loopdevice
sudo losetup -d $loopdevice
sudo umount img_temp/boot
sudo umount img_temp/root
sudo rm -rf img_temp
sudo kpartx -d /dev/loop0
sudo losetup -d /dev/loop0
sudo losetup /dev/loop0 original.img
mkdir -p img_temp/boot/
mkdir -p img_temp/root/
sudo kpartx -av /dev/loop0
boot="/dev/mapper/loop0p1"
root="/dev/mapper/loop0p2"
sudo mount $boot img_temp/boot/
sudo mount $root img_temp/root/
sudo dd if=/dev/zero of=raspberrypi.img bs=1M count=2048
sudo parted raspberrypi.img --script -- mklabel msdos
sudo parted raspberrypi.img --script -- mkpart primary fat32 204800s 729087s
sudo parted raspberrypi.img --script -- mkpart primary ext4 729088s -1
loopdevice=`sudo losetup -f --show raspberrypi.img`
device=`sudo kpartx -va $loopdevice | sed -E 's/.*(loop[1-9])p.*/\1/g' | head -1`
echo "yansci 5miao"
sleep 5
device="/dev/mapper/${device}"
partBoot="${device}p1"
partRoot="${device}p2"
echo $partBoot
ls /dev/mapper/
sudo mkfs.vfat $partBoot -n boot
sudo mkfs.ext4 $partRoot
sudo mount -t vfat $partBoot /media
sudo cp -rfp img_temp/boot/* /media/
sync
sudo umount /media
sudo mount -t ext4 $partRoot /media/
cd /media
sudo dump -h 0 -0uaf - $root | sudo restore -rf -
cd -
sudo umount /media
#存储位置相差8个偏移,必须加上
dd if=/dev/loop0 of=$loopdevice skip=8 seek=8 count=204790
sudo kpartx -d $loopdevice
sudo losetup -d $loopdevice
sudo umount img_temp/boot
sudo umount img_temp/root
sudo rm -rf img_temp
sudo kpartx -d /dev/loop0
sudo losetup -d /dev/loop0