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
 | 
