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