# Command line option parsing generator file for imagetag
# Supplied-To: gengetopt
#
# Copyright 2010 Daniel Dickinson <openwrt@cshore.neomailbox.net>
#
# This file is subject to the terms and conditions of the GNU General Public
# License.  See the file "COPYING" in the main directory of this archive
# for more details.
#

package "imagetag"
version "2.0.0"
purpose "Generate image with CFE imagetag for Broadcom 63xx routers."
description "Copyright (C) 2008 Axel Gembe
Copyright (C) 2009-2010 Daniel Dickinson
Licensed unter the terms of the Gnu General Public License.

Given a root filesystem, a linux kernel, and an optional CFE, generates an image with an imagetag for a Broadcom 63xx-based router.  Additional parameters to be specified depend on the specfic brand and model of router."
args "--file-name=imagetag_cmdline"

option "kernel" i "File with LZMA compressed kernel to include in the image." string typestr="filename"  required
option "rootfs" f "File with RootFS to include in the image." string typestr="filename" required
option "output" o "Name of output file." string typestr="filename" required
option "cfe" - "File with CFE to include in the image." string typestr="filename" optional
option "boardid" b "Board ID to set in the image (must match what router expects, e.g. \"96345GW2\")." string required
option "chipid" c "Chip ID to set in the image (must match the actual hardware, e.g. \"6345\")." string required
option "flash-start" s "Flash start address." string typestr="address" optional default="0xBFC00000"
option "image-offset" n "Offset from start address for the first byte after the CFE (in memory)." string typestr="offset" default="0x10000" optional
option "tag-version" v "Version number for imagetag format." string default="6" optional
option "signature" a "Magic string (signature), for boards that need it." string default="Broadcom Corporatio" optional
option "signature2" m "Second magic string (signature2)." string default="ver. 2.0" optional
option "block-size" k "Flash erase block size." string optional default="0x10000"
option "load-addr" l "Kernel load address." string typestr="address" required
option "entry" e "Address where the kernel entry point will be for booting." string typestr="address" required
option "layoutver" y "Flash layout version (version 2.2x of the Broadcom code requires this)." string optional
option "info1" 1 "String for first vendor information section." string optional
option "altinfo" - "String for vendor information section (alternate/pirelli)." string optional
option "info2" 2 "String for second vendor information section." string optional
option "root-first" - "Put the rootfs before the kernel (only for stock images, e.g. captured from the router's flash memory)." flag off
option "rsa-signature" r "String for RSA Signature section." string optional
option "second-image-flag" - "Dual Image Flag (2=not-specified)." values="0", "1", "2" default="2" typestr="flag-value" optional
option "inactive" - "Inactive Flag (2=not-specified)." values="0", "1", "2" default="2" typestr="flag-value" optional
option "reserved2" - "String for second reserved section." string optional
option "kernel-file-has-header" - "Indicates that the kernel file includes the kernel header with correct load address and entry point, so no changes are needed" flag off
option "pad" p "Pad the image to this size if smaller (in MiB)" int typestr="size (in MiB)" optional
option "align-rootfs" - "Align the rootfs start to erase block size" flag off
