commit | author | age
|
a07526
|
1 |
#!/bin/bash |
H |
2 |
# align_to_flash_block_size.sh |
|
3 |
# param1: path-to-file |
|
4 |
# param2: flash block size |
|
5 |
|
|
6 |
input=$1 |
|
7 |
out=$2 |
|
8 |
block_size=$3 |
|
9 |
|
|
10 |
function gen_file() { |
|
11 |
filename=$1 |
|
12 |
output_file=$2 |
|
13 |
|
|
14 |
# get file align size |
|
15 |
filesize=`stat -c "%s" $filename` |
|
16 |
filesize=`echo "scale=0; (($filesize + 1023) / 1024 + $block_size - 1) / $block_size * $block_size" | bc` |
|
17 |
|
|
18 |
# gen file |
|
19 |
`dd if=/dev/zero of=$output_file bs=1K count=$filesize > /dev/null 2>&1` |
|
20 |
`dd if=$filename of=$output_file bs=1K count=$filesize conv=notrunc > /dev/null 2>&1` |
|
21 |
echo $filename": aligned_to_flash_block_size "$block_size"KB: success!" |
|
22 |
} |
|
23 |
|
|
24 |
if [[ $block_size != 128 && $block_size != 256 ]]; then |
|
25 |
echo "$block_size not support!" |
|
26 |
echo "support:" |
|
27 |
echo " 128(KB)" |
|
28 |
echo " 256(KB)" |
|
29 |
exit |
|
30 |
fi |
|
31 |
|
|
32 |
if [ ! -f "$input" ]; then |
|
33 |
echo "$input not exist!" |
|
34 |
exit |
|
35 |
fi |
|
36 |
|
|
37 |
if [ -f "$out" ]; then |
|
38 |
rm $out |
|
39 |
exit |
|
40 |
fi |
|
41 |
|
|
42 |
gen_file $input $out |