1#!/usr/bin/env bash 2# 3# Copyright (C) 2015 OpenWrt.org 4# 5# This is free software, licensed under the GNU General Public License v2. 6# See /LICENSE for more information. 7# 8 9set -x 10[ $# -eq 6 ] || { 11 echo "SYNTAX: $0 <file> <u-boot.sb image> <bootfs image> <rootfs image> <bootfs size> <rootfs size>" 12 exit 1 13} 14 15OUTPUT="$1" 16UBOOT="$2" 17BOOTFS="$3" 18ROOTFS="$4" 19BOOTFSSIZE="$5" 20ROOTFSSIZE="$6" 21 22head=4 23sect=63 24 25# Set the u-boot storage to 2M 26set `ptgen -o $OUTPUT -h $head -s $sect -l 1024 -t 53 -p 2M -t c -p ${BOOTFSSIZE}M -t 83 -p ${ROOTFSSIZE}M` 27 28UBOOTOFFSET="$(($1 / 512))" 29UBOOTSIZE="$(($2 / 512))" 30BOOTOFFSET="$(($3 / 512))" 31BOOTSIZE="$(($4 / 512))" 32ROOTFSOFFSET="$(($5 / 512))" 33ROOTFSSIZE="$(($6 / 512))" 34 35dd bs=512 if="$BOOTFS" of="$OUTPUT" seek="$BOOTOFFSET" conv=notrunc 36dd bs=512 if="$ROOTFS" of="$OUTPUT" seek="$ROOTFSOFFSET" conv=notrunc 37sdimage -d "$OUTPUT" -f "$UBOOT" 38