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