#!/bin/sh
# autoburn eMMC hacking
# 说明:
# 看一下富林的自动烧录的执行脚本原理。
#
# 2017-8-9 深圳 龙华樟坑村 曾剑锋
# 创建sd卡挂载目录
if [ ! -e /sd ];then
echo "create sd dir"
mkdir /sd
fi
# 创建eMMC挂载目录
if [ ! -e /mmc ];then
echo "create mmc dir"
mkdir /mmc
fi
# 卸载可能被挂载的分区
umount /media/*
# 对mmcblk1进行分区
echo "Star make partition"
#make partition
dd if=/dev/zero of=/dev/mmcblk1 count=10240 bs=10240
fdisk /dev/mmcblk1 <<EOF
o
n
p
1
+50M
n
p
2
t
1
e
a
1
w
EOF
sync
sleep 2
# 格式化分区
mkfs.vfat -F 16 /dev/mmcblk1p1
mkfs.ext2 /dev/mmcblk1p2 <<EOF
y
EOF
# 挂载boot分区,拷贝分区内容,卸载分区
mount /dev/mmcblk0p1 /sd
mount /dev/mmcblk1p1 /mmc
cp /sd/* /mmc/
cp /mmc/uEnv_emmc.txt /mmc/uEnv.txt -arf
umount /sd
umount /mmc
sync
sync
# 挂载rootfs分区,拷贝分区内容,卸载分区
mount /dev/mmcblk1p2 /mmc
mount /dev/mmcblk0p2 /sd
#tar -xvf /rootfs.tar -C /mmc
cp /sd/* /mmc/ -arf
if [ -e /mmc/autoburn.sh ];then
rm /mmc/autoburn.sh
fi
cp /mmc/usr/share/lighttpd/json.use /mmc/usr/share/lighttpd/json.txt -rf
rm /mmc/etc/pointercal -rf
sync
umount /mmc
umount /sd
sync
echo "burn the new system over..."