26 lines
618 B
Bash
Executable File
26 lines
618 B
Bash
Executable File
#!/bin/bash
|
|
img_name=$1
|
|
copy_tmp_dir=$2
|
|
size=$3
|
|
CURPWD=$(pwd)
|
|
|
|
# 1. Generate raw fat32 image
|
|
dd if=/dev/zero of=$img_name bs=1M count=$size
|
|
mkfs.vfat $img_name
|
|
file_list="`ls $copy_tmp_dir | grep -v "\bEOF\b"`"
|
|
mkdir $CURPWD/bin/mnt
|
|
sudo mount -o loop $img_name bin/mnt
|
|
if [ -z "$file_list" ]; then
|
|
echo -e "\e[1;33mRecovery partition is empty.\e[0m"
|
|
pushd $copy_tmp_dir
|
|
sudo cp EOF $CURPWD/bin/mnt
|
|
popd
|
|
else
|
|
echo -e "\e[1;33mRecovery partition will copy the following files:\e[0m\n$file_list"
|
|
pushd $copy_tmp_dir
|
|
sudo cp -r $file_list $CURPWD/bin/mnt
|
|
sudo cp EOF $CURPWD/bin/mnt
|
|
popd
|
|
fi
|
|
sudo umount bin/mnt
|