if [[ $EUID -ne 0 ]]; then
echo "must be executed with root or sudo" 1>&2
if [[ ! -e $ROOTFS_FILE ]]; then
echo "file[$ROOTFS_FILE] not found."
tar -xzvf $ROOTFS_FILE -C $SOURCE_FILE
FILE_SIZE=$(du -sml ubuntu/ | awk '{print $1}')
FILE_SIZE=$((FILE_SIZE + 200))
echo "-------ubuntu $FILE_SIZE M--------"
if [ -e $TARGET_FILE ];then
echo "-------remove file $TARGET_FILE !--------"
dd of=$TARGET_FILE bs=1M seek=$FILE_SIZE count=0 2>&1 || fatal "Failed to dd image!"
mke2fs -t ext4 $TARGET_FILE
echo "---------remove dir emp_ext2!------------"
echo "-------make dir tmp_ext2 for mount !-----"
mount $TARGET_FILE /tmp_ext2
cp -rp $SOURCE_FILE/* /tmp_ext2
tune2fs -c 0 -i 0 $TARGET_FILE
echo "-------build compilete,remove tmp dir!-----"