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