diff mbox

[U-Boot] ti_armv7_common: env: Add NFS loading support to default enviroment

Message ID 1457710696-23681-1-git-send-email-afd@ti.com
State Superseded
Headers show

Commit Message

Andrew Davis March 11, 2016, 3:38 p.m. UTC
NFS loading is similar to net loading except initial files are loaded
over NFS instead of TFTP, this removes the need for multiple different
protocol servers running on the host and allows the use of a single
network file system containing boot related files in their usual
in-filesystem directory. Add defaults for this boot style here.

Signed-off-by: Andrew F. Davis <afd@ti.com>
---
 include/configs/ti_armv7_keystone2.h | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Tom Rini March 11, 2016, 5:08 p.m. UTC | #1
On Fri, Mar 11, 2016 at 09:38:16AM -0600, Andrew F. Davis wrote:

> NFS loading is similar to net loading except initial files are loaded
> over NFS instead of TFTP, this removes the need for multiple different
> protocol servers running on the host and allows the use of a single
> network file system containing boot related files in their usual
> in-filesystem directory. Add defaults for this boot style here.
> 
> Signed-off-by: Andrew F. Davis <afd@ti.com>

Reviewed-by: Tom Rini <trini@konsulko.com>
Andrew Davis March 11, 2016, 8:29 p.m. UTC | #2
On 03/11/2016 09:38 AM, Andrew F. Davis wrote:
> NFS loading is similar to net loading except initial files are loaded
> over NFS instead of TFTP, this removes the need for multiple different
> protocol servers running on the host and allows the use of a single
> network file system containing boot related files in their usual
> in-filesystem directory. Add defaults for this boot style here.
> 
> Signed-off-by: Andrew F. Davis <afd@ti.com>
> ---
>  include/configs/ti_armv7_keystone2.h | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
> index a7206f4..1c6997a 100644
> --- a/include/configs/ti_armv7_keystone2.h
> +++ b/include/configs/ti_armv7_keystone2.h
> @@ -213,6 +213,7 @@
>  #define CONFIG_CMD_SF
>  #define CONFIG_CMD_EEPROM
>  #define CONFIG_CMD_USB
> +#define CONFIG_CMD_NFS
>  

The above addition may cause redefinition build warnings, it might need
to be removed.

>  /* U-Boot general configuration */
>  #define CONFIG_MISC_INIT_R
> @@ -237,16 +238,21 @@
>  	"run_mon=mon_install ${addr_mon}\0"				\
>  	"run_kern=bootz ${loadaddr} - ${fdtaddr}\0"			\
>  	"init_net=run args_all args_net\0"				\
> +	"init_nfs=setenv autoload no; dhcp; run args_all args_net\0"	\
>  	"init_ubi=run args_all args_ubi; "				\
>  		"ubi part ubifs; ubifsmount ubi:boot;"			\
>  		"ubifsload ${addr_secdb_key} securedb.key.bin;\0"       \
>  	"get_fdt_net=dhcp ${fdtaddr} ${tftp_root}/${name_fdt}\0"	\
> +	"get_fdt_nfs=nfs ${fdtaddr} ${nfs_root}/boot/${name_fdt}\0"	\
>  	"get_fdt_ubi=ubifsload ${fdtaddr} ${name_fdt}\0"		\
>  	"get_kern_net=dhcp ${loadaddr} ${tftp_root}/${name_kern}\0"	\
> +	"get_kern_nfs=nfs ${loadaddr} ${nfs_root}/boot/${name_kern}\0"	\
>  	"get_kern_ubi=ubifsload ${loadaddr} ${name_kern}\0"		\
>  	"get_mon_net=dhcp ${addr_mon} ${tftp_root}/${name_mon}\0"	\
> +	"get_mon_nfs=nfs ${addr_mon} ${nfs_root}/boot/${name_mon}\0"	\
>  	"get_mon_ubi=ubifsload ${addr_mon} ${name_mon}\0"		\
>  	"get_uboot_net=dhcp ${loadaddr} ${tftp_root}/${name_uboot}\0"	\
> +	"get_uboot_nfs=nfs ${loadaddr} ${nfs_root}/boot/${name_uboot}\0" \
>  	"burn_uboot_spi=sf probe; sf erase 0 0x80000; "		\
>  		"sf write ${loadaddr} 0 ${filesize}\0"		\
>  	"burn_uboot_nand=nand erase 0 0x100000; "			\
> @@ -261,6 +267,7 @@
>  	"get_mon_ramfs=dhcp ${addr_mon} ${tftp_root}/${name_mon}\0"	\
>  	"get_fs_ramfs=dhcp ${rdaddr} ${tftp_root}/${name_fs}\0"	\
>  	"get_ubi_net=dhcp ${addr_ubi} ${tftp_root}/${name_ubi}\0"	\
> +	"get_ubi_nfs=nfs ${addr_ubi} ${nfs_root}/boot/${name_ubi}\0"	\
>  	"burn_ubi=nand erase.part ubifs; "				\
>  		"nand write ${addr_ubi} ubifs ${filesize}\0"		\
>  	"init_ramfs=run args_all args_ramfs get_fs_ramfs\0"		\
>
Nishanth Menon March 11, 2016, 8:56 p.m. UTC | #3
On 03/11/2016 02:29 PM, Andrew F. Davis wrote:
> On 03/11/2016 09:38 AM, Andrew F. Davis wrote:
>> NFS loading is similar to net loading except initial files are loaded
>> over NFS instead of TFTP, this removes the need for multiple different
>> protocol servers running on the host and allows the use of a single
>> network file system containing boot related files in their usual
>> in-filesystem directory. Add defaults for this boot style here.
>>
>> Signed-off-by: Andrew F. Davis <afd@ti.com>
>> ---
>>  include/configs/ti_armv7_keystone2.h | 7 +++++++
>>  1 file changed, 7 insertions(+)
>>
>> diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
>> index a7206f4..1c6997a 100644
>> --- a/include/configs/ti_armv7_keystone2.h
>> +++ b/include/configs/ti_armv7_keystone2.h
>> @@ -213,6 +213,7 @@
>>  #define CONFIG_CMD_SF
>>  #define CONFIG_CMD_EEPROM
>>  #define CONFIG_CMD_USB
>> +#define CONFIG_CMD_NFS

This should not be here.
In file included from include/configs/k2g_evm.h:36:0,
                 from include/config.h:5,
                 from include/common.h:18,
                 from include/ubi_uboot.h:17,
                 from drivers/mtd/ubi/attach.c:85:
include/configs/ti_armv7_keystone2.h:216:0: warning: "CONFIG_CMD_NFS"
redefined
 #define CONFIG_CMD_NFS

Instead, it should be defined in the k2*_evm_defconfig files if the
default was 'n'... but..
cmd/Kconfig defines CMD_NFS as y.

So, all we have to do is drop the CONFIG_CMD_NFS from the header.

We can already see that when folks wanted to disable NFS
$ git grep CMD_NFS configs/|grep "is not set"
enable:
$ git grep CMD_NFS configs/|grep -v "is not set"

it might actually be nicer.. for the actual env variables to
eventually get into include/config_distro_bootcmd.h perhaps? I dont
know about that atm..
diff mbox

Patch

diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
index a7206f4..1c6997a 100644
--- a/include/configs/ti_armv7_keystone2.h
+++ b/include/configs/ti_armv7_keystone2.h
@@ -213,6 +213,7 @@ 
 #define CONFIG_CMD_SF
 #define CONFIG_CMD_EEPROM
 #define CONFIG_CMD_USB
+#define CONFIG_CMD_NFS
 
 /* U-Boot general configuration */
 #define CONFIG_MISC_INIT_R
@@ -237,16 +238,21 @@ 
 	"run_mon=mon_install ${addr_mon}\0"				\
 	"run_kern=bootz ${loadaddr} - ${fdtaddr}\0"			\
 	"init_net=run args_all args_net\0"				\
+	"init_nfs=setenv autoload no; dhcp; run args_all args_net\0"	\
 	"init_ubi=run args_all args_ubi; "				\
 		"ubi part ubifs; ubifsmount ubi:boot;"			\
 		"ubifsload ${addr_secdb_key} securedb.key.bin;\0"       \
 	"get_fdt_net=dhcp ${fdtaddr} ${tftp_root}/${name_fdt}\0"	\
+	"get_fdt_nfs=nfs ${fdtaddr} ${nfs_root}/boot/${name_fdt}\0"	\
 	"get_fdt_ubi=ubifsload ${fdtaddr} ${name_fdt}\0"		\
 	"get_kern_net=dhcp ${loadaddr} ${tftp_root}/${name_kern}\0"	\
+	"get_kern_nfs=nfs ${loadaddr} ${nfs_root}/boot/${name_kern}\0"	\
 	"get_kern_ubi=ubifsload ${loadaddr} ${name_kern}\0"		\
 	"get_mon_net=dhcp ${addr_mon} ${tftp_root}/${name_mon}\0"	\
+	"get_mon_nfs=nfs ${addr_mon} ${nfs_root}/boot/${name_mon}\0"	\
 	"get_mon_ubi=ubifsload ${addr_mon} ${name_mon}\0"		\
 	"get_uboot_net=dhcp ${loadaddr} ${tftp_root}/${name_uboot}\0"	\
+	"get_uboot_nfs=nfs ${loadaddr} ${nfs_root}/boot/${name_uboot}\0" \
 	"burn_uboot_spi=sf probe; sf erase 0 0x80000; "		\
 		"sf write ${loadaddr} 0 ${filesize}\0"		\
 	"burn_uboot_nand=nand erase 0 0x100000; "			\
@@ -261,6 +267,7 @@ 
 	"get_mon_ramfs=dhcp ${addr_mon} ${tftp_root}/${name_mon}\0"	\
 	"get_fs_ramfs=dhcp ${rdaddr} ${tftp_root}/${name_fs}\0"	\
 	"get_ubi_net=dhcp ${addr_ubi} ${tftp_root}/${name_ubi}\0"	\
+	"get_ubi_nfs=nfs ${addr_ubi} ${nfs_root}/boot/${name_ubi}\0"	\
 	"burn_ubi=nand erase.part ubifs; "				\
 		"nand write ${addr_ubi} ubifs ${filesize}\0"		\
 	"init_ramfs=run args_all args_ramfs get_fs_ramfs\0"		\