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

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
/* 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" \

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

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" \

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..
participants (3)
-
Andrew F. Davis
-
Nishanth Menon
-
Tom Rini