#!/usr/bin/env bash # # Copyright (C) 2015 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # set -x [ $# -eq 6 ] || { echo "SYNTAX: $0 " exit 1 } OUTPUT="$1" BOOTFS="$2" ROOTFS="$3" BOOTFSSIZE="$4" ROOTFSSIZE="$5" UBOOT="$6" head=4 sect=63 # Set the u-boot storage to 2M set `ptgen -o $OUTPUT -h $head -s $sect -l 1024 -t 53 -p 2M -t c -p ${BOOTFSSIZE}M -t 83 -p ${ROOTFSSIZE}M` UBOOTOFFSET="$(($1 / 512))" UBOOTSIZE="$(($2 / 512))" BOOTOFFSET="$(($3 / 512))" BOOTSIZE="$(($4 / 512))" ROOTFSOFFSET="$(($5 / 512))" ROOTFSSIZE="$(($6 / 512))" dd bs=512 if="$UBOOT" of="$OUTPUT" seek="$UBOOTOFFSET" conv=notrunc dd bs=512 if="$BOOTFS" of="$OUTPUT" seek="$BOOTOFFSET" conv=notrunc dd bs=512 if="$ROOTFS" of="$OUTPUT" seek="$ROOTFSOFFSET" conv=notrunc