[PATCH 2/5] defaultenv/boot: add getopt option support to select boot mode

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Thu Feb 9 09:46:43 EST 2012


On 11:00 Sun 15 Jan     , Jean-Christophe PLAGNIOL-VILLARD wrote:
> boot: boot [-m <mode>] [-k <kernel_option>] [-r <rootfs_option>] [-i <ip_mode>]
> 
> options
>  - kernel        nand, nor, nfs, tftp, disk
>  - rootfs        nand, nor, net, disk
>  - ip            dhcp, none, empty
> 
> mode option
>    mode       kernel      rootfs
>    nand       nand        nand
>    nor        nor         nor
>    nfs        nfs         net
>    tftp       fttp        net
>    disk       disk        disk
> 
> default mode are used from the /env/config
> 
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
can we have patch 1 and 2 applied

Best Regards,
J.
> ---
>  defaultenv/bin/_boot_help |   18 ++++++++++++++++++
>  defaultenv/bin/boot       |   26 +++++++++++++++++++++-----
>  2 files changed, 39 insertions(+), 5 deletions(-)
>  create mode 100644 defaultenv/bin/_boot_help
> 
> diff --git a/defaultenv/bin/_boot_help b/defaultenv/bin/_boot_help
> new file mode 100644
> index 0000000..e7f7f16
> --- /dev/null
> +++ b/defaultenv/bin/_boot_help
> @@ -0,0 +1,18 @@
> +#!/bin/sh
> +
> +echo "boot: boot [-m <mode>] [-k <kernel_option>] [-r <rootfs_option>] [-i <ip_mode>]"
> +echo ""
> +echo "options"
> +echo " - kernel        nand, nor, nfs, tftp, disk"
> +echo " - rootfs        nand, nor, net, disk"
> +echo " - ip            dhcp, none, empty"
> +echo ""
> +echo "mode option"
> +echo "   mode       kernel      rootfs"
> +echo "   nand       nand        nand"
> +echo "   nor        nor         nor"
> +echo "   nfs        nfs         net"
> +echo "   tftp       fttp        net"
> +echo "   disk       disk        disk"
> +echo ""
> +echo "default mode are used from the /env/config"
> diff --git a/defaultenv/bin/boot b/defaultenv/bin/boot
> index 1120757..d37eca8 100644
> --- a/defaultenv/bin/boot
> +++ b/defaultenv/bin/boot
> @@ -6,19 +6,35 @@ if [ x$kernel_loc = xnet ]; then
>  	kernel_loc=tftp
>  fi
>  
> -if [ x$1 = xnand ]; then
> +while getopt "hk:r:i:m:" Option
> +do
> +if [ ${Option} = k ]; then
> +	kernel_loc=${OPTARG}
> +elif [ ${Option} = r ]; then
> +	rootfs_loc=${OPTARG}
> +elif [ ${Option} = i ]; then
> +	ip=${OPTARG}
> +elif [ ${Option} = m ]; then
> +	mode=${OPTARG}
> +else
> +	. /env/bin/_boot_help
> +	exit 0
> +fi
> +done
> +
> +if [ x$mode = xnand ]; then
>  	rootfs_loc=nand
>  	kernel_loc=nand
> -elif [ x$1 = xnor ]; then
> +elif [ x$mode = xnor ]; then
>  	rootfs_loc=nor
>  	kernel_loc=nor
> -elif [ x$1 = xnfs ]; then
> +elif [ x$mode = xnfs ]; then
>  	rootfs_loc=net
>  	kernel_loc=nfs
> -elif [ x$1 = xtftp ]; then
> +elif [ x$mode = xtftp ]; then
>  	rootfs_loc=net
>  	kernel_loc=tftp
> -elif [ x$1 = xdisk ]; then
> +elif [ x$mode = xdisk ]; then
>  	rootfs_loc=disk
>  	kernel_loc=disk
>  fi
> -- 
> 1.7.7



More information about the barebox mailing list