[PATCH 1/3] defaultenv/boot: add support for oftree boot option support
Sascha Hauer
s.hauer at pengutronix.de
Tue Apr 10 03:55:10 EDT 2012
On Sun, Apr 08, 2012 at 11:27:20AM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> you can now specify in the same way as it's done for the kernel where is
> stored the oftree.
Applied, thanks
Sascha
>
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> ---
> defaultenv/bin/_boot_help | 3 ++-
> defaultenv/bin/boot | 17 ++++++++++++++++-
> defaultenv/config | 2 ++
> 3 files changed, 20 insertions(+), 2 deletions(-)
>
> diff --git a/defaultenv/bin/_boot_help b/defaultenv/bin/_boot_help
> index 7c96444..a07e4e0 100644
> --- a/defaultenv/bin/_boot_help
> +++ b/defaultenv/bin/_boot_help
> @@ -1,9 +1,10 @@
> #!/bin/sh
>
> -echo "boot: boot [-m <mode>] [-k <kernel_option>] [-r <rootfs_option>] [-i <ip_mode>]"
> +echo "boot: boot [-m <mode>] [-k <kernel_option>] [-r <rootfs_option>] [-i <ip_mode>] [-o <oftree_option]"
> echo ""
> echo "options"
> echo " - kernel nand, nor, nfs, tftp, disk"
> +echo " - oftree nand, nor, nfs, tftp, disk or empty"
> echo " - rootfs nand, nor, net, disk"
> echo " - ip dhcp, dhcp-barebox none, empty"
> echo ""
> diff --git a/defaultenv/bin/boot b/defaultenv/bin/boot
> index ba04373..5186aee 100644
> --- a/defaultenv/bin/boot
> +++ b/defaultenv/bin/boot
> @@ -6,12 +6,14 @@ if [ x$kernel_loc = xnet ]; then
> kernel_loc=tftp
> fi
>
> -while getopt "hk:r:i:m:" Option
> +while getopt "hk:r:i:m:o:" Option
> do
> if [ ${Option} = k ]; then
> kernel_loc=${OPTARG}
> elif [ ${Option} = r ]; then
> rootfs_loc=${OPTARG}
> +elif [ ${Option} = o ]; then
> + oftree_loc=${OPTARG}
> elif [ ${Option} = i ]; then
> ip=${OPTARG}
> elif [ ${Option} = m ]; then
> @@ -114,6 +116,19 @@ else
> exit 1
> fi
>
> +if [ x$oftree_loc = xnfs -o x$oftree_loc = xtftp ]; then
> + odev=/oftree
> + $oftree_loc $oftreeimage $odev || exit 1
> +elif [ x$oftree_loc = xnor ]; then
> + odev="/dev/nor0.oftree"
> +elif [ x$oftree_loc = xnand ]; then
> + odev="/dev/nand0.oftree.bb"
> +elif [ x$oftree_loc = xdisk ]; then
> + odev="/dev/$oftree_part"
> +fi
> +
> +[ x$odev = x ] || bootm_opt="$bootm_opt -o $odev"
> +
> echo "booting kernel from $kdev"
>
> bootm $bootm_opt $kdev
> diff --git a/defaultenv/config b/defaultenv/config
> index 63fc059..39a9c99 100644
> --- a/defaultenv/config
> +++ b/defaultenv/config
> @@ -21,6 +21,8 @@ dhcp_vendor_id=barebox
> kernel_loc=tftp
> # can be either 'net', 'nand', 'nor', 'disk' or 'initrd'
> rootfs_loc=net
> +# can be either 'tftp', 'nfs', 'nand', 'nor', 'disk' or none
> +oftree_loc=tftp
>
> # for flash based rootfs: 'jffs2' or 'ubifs'
> # in case of disk any regular filesystem like 'ext2', 'ext3', 'reiserfs'
> --
> 1.7.9.1
>
>
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list