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