Message ID | 1479070792-8740-1-git-send-email-yann.morin.1998@free.fr |
---|---|
State | Accepted |
Delegated to: | Tom Rini |
Headers | show |
On Sun, Nov 13, 2016 at 2:59 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote: > Currently, CMD_PXE is forcibly enabled in config_distro_defaults.h, so > that general purpose distributions can rely on it being defined. This > header is included, under conditions or not, by various archs or > famillies of archs / SoCs. > > However, it is very possible that boards based on those SoCs will not > have a physical ethernet connector at all, even if the have a MAC; for > example, the Nanopi Neo AIR (sunxi H3) does not. It is also possible > that network booting is absolutely not necessary for a device. > > However, it is not possible to disable the PXE command, as it is > forcibly enabled and is non-configurable. > > But it turns out we already have a config option to build a distro-ready > image, in the name of DISTRO_DEFAULTS. > > Move CMD_PXE out of the hard-coded config_distro_defaults.h into a > Kconfig option, that gets selected by DISTRO_DEFAULTS when it is set. > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: Joe Hershberger <joe.hershberger@ni.com> I like this, but do you not also need to run moveconfig.py on this patch? Thanks, -Joe
Joe, All, On 2016-11-14 21:15 -0600, Joe Hershberger spake thusly: > On Sun, Nov 13, 2016 at 2:59 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote: > > Currently, CMD_PXE is forcibly enabled in config_distro_defaults.h, so > > that general purpose distributions can rely on it being defined. This > > header is included, under conditions or not, by various archs or > > famillies of archs / SoCs. > > > > However, it is very possible that boards based on those SoCs will not > > have a physical ethernet connector at all, even if the have a MAC; for > > example, the Nanopi Neo AIR (sunxi H3) does not. It is also possible > > that network booting is absolutely not necessary for a device. > > > > However, it is not possible to disable the PXE command, as it is > > forcibly enabled and is non-configurable. > > > > But it turns out we already have a config option to build a distro-ready > > image, in the name of DISTRO_DEFAULTS. > > > > Move CMD_PXE out of the hard-coded config_distro_defaults.h into a > > Kconfig option, that gets selected by DISTRO_DEFAULTS when it is set. > > > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > > Cc: Joe Hershberger <joe.hershberger@ni.com> > > I like this, but do you not also need to run moveconfig.py on this patch? Ack. I was not aware of this tool. I will run it and if it does change any defconfig, I'll repost. If nothing is changed, I'll just reply to this thread. OK? Should the defconfig update be a separate patch, or should it be squashed into this one? Thanks for the feedback! :-) Regards, Yann E. MORIN.
On Sun, Nov 13, 2016 at 8:59 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote: > Currently, CMD_PXE is forcibly enabled in config_distro_defaults.h, so > that general purpose distributions can rely on it being defined. This > header is included, under conditions or not, by various archs or > famillies of archs / SoCs. > > However, it is very possible that boards based on those SoCs will not > have a physical ethernet connector at all, even if the have a MAC; for > example, the Nanopi Neo AIR (sunxi H3) does not. It is also possible > that network booting is absolutely not necessary for a device. > > However, it is not possible to disable the PXE command, as it is > forcibly enabled and is non-configurable. > > But it turns out we already have a config option to build a distro-ready > image, in the name of DISTRO_DEFAULTS. > > Move CMD_PXE out of the hard-coded config_distro_defaults.h into a > Kconfig option, that gets selected by DISTRO_DEFAULTS when it is set. So this changes the default expectation on all boards that currently use distro defaults? > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: Joe Hershberger <joe.hershberger@ni.com> > --- > Kconfig | 1 + > cmd/Kconfig | 5 +++++ > include/config_distro_defaults.h | 2 -- > 3 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/Kconfig b/Kconfig > index 1263d0b..5421cd3 100644 > --- a/Kconfig > +++ b/Kconfig > @@ -60,6 +60,7 @@ config DISTRO_DEFAULTS > select CMD_BOOTZ if ARM && !ARM64 > select CMD_BOOTI if ARM64 > select CMD_DHCP > + select CMD_PXE > select CMD_EXT2 > select CMD_EXT4 > select CMD_FAT > diff --git a/cmd/Kconfig b/cmd/Kconfig > index e339d86..95f5ce6 100644 > --- a/cmd/Kconfig > +++ b/cmd/Kconfig > @@ -496,6 +496,11 @@ config CMD_DHCP > help > Boot image via network using DHCP/TFTP protocol > > +config CMD_PXE > + bool "pxe" > + help > + Boot image via network using PXE protocol > + > config CMD_NFS > bool "nfs" > default y > diff --git a/include/config_distro_defaults.h b/include/config_distro_defaults.h > index b5efab5..01cd6d9 100644 > --- a/include/config_distro_defaults.h > +++ b/include/config_distro_defaults.h > @@ -20,8 +20,6 @@ > #define CONFIG_BOOTP_PXE > #define CONFIG_BOOTP_SUBNETMASK > > -#define CONFIG_CMD_PXE > - > #define CONFIG_CMDLINE_EDITING > #define CONFIG_AUTO_COMPLETE > #define CONFIG_SYS_LONGHELP > -- > 2.7.4 > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot
Peter, All, On 2016-11-16 14:04 +0000, Peter Robinson spake thusly: > On Sun, Nov 13, 2016 at 8:59 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote: > > Currently, CMD_PXE is forcibly enabled in config_distro_defaults.h, so > > that general purpose distributions can rely on it being defined. This > > header is included, under conditions or not, by various archs or > > famillies of archs / SoCs. > > > > However, it is very possible that boards based on those SoCs will not > > have a physical ethernet connector at all, even if the have a MAC; for > > example, the Nanopi Neo AIR (sunxi H3) does not. It is also possible > > that network booting is absolutely not necessary for a device. > > > > However, it is not possible to disable the PXE command, as it is > > forcibly enabled and is non-configurable. > > > > But it turns out we already have a config option to build a distro-ready > > image, in the name of DISTRO_DEFAULTS. > > > > Move CMD_PXE out of the hard-coded config_distro_defaults.h into a > > Kconfig option, that gets selected by DISTRO_DEFAULTS when it is set. > > So this changes the default expectation on all boards that currently > use distro defaults? Well, I'm not totally aware of all the implications of such a change, but my analysis is: - CONFIG_CMD_PXE was in include/config_distro_defaults.h, which to my poor little brain means "we want that as a distro default"; - CONFIG_CMD_PXE is now enabled by CONFIG_DISTRO_DEFAULTS, which means the same (and the help text confirms that). So, it looks to me that the expected behaviour does not change. In theory! ;-) Now, I may well have missed something, in which case I always accept being enlighten; just point me to the pieces I missed (totally possible, I'm new in U-Boot land!). I'm running buildman on all configs right now, on current master (but it takes a lot of time...). Once this is done, I'll re-run it on my change. From what I understand, buildman should point me to boards which are affected by the change, right? When we have that list, we can assess whether it is acceptable or not. Thanks! :-) Regards, Yann E. MORIN. > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > > Cc: Joe Hershberger <joe.hershberger@ni.com> > > --- > > Kconfig | 1 + > > cmd/Kconfig | 5 +++++ > > include/config_distro_defaults.h | 2 -- > > 3 files changed, 6 insertions(+), 2 deletions(-) > > > > diff --git a/Kconfig b/Kconfig > > index 1263d0b..5421cd3 100644 > > --- a/Kconfig > > +++ b/Kconfig > > @@ -60,6 +60,7 @@ config DISTRO_DEFAULTS > > select CMD_BOOTZ if ARM && !ARM64 > > select CMD_BOOTI if ARM64 > > select CMD_DHCP > > + select CMD_PXE > > select CMD_EXT2 > > select CMD_EXT4 > > select CMD_FAT > > diff --git a/cmd/Kconfig b/cmd/Kconfig > > index e339d86..95f5ce6 100644 > > --- a/cmd/Kconfig > > +++ b/cmd/Kconfig > > @@ -496,6 +496,11 @@ config CMD_DHCP > > help > > Boot image via network using DHCP/TFTP protocol > > > > +config CMD_PXE > > + bool "pxe" > > + help > > + Boot image via network using PXE protocol > > + > > config CMD_NFS > > bool "nfs" > > default y > > diff --git a/include/config_distro_defaults.h b/include/config_distro_defaults.h > > index b5efab5..01cd6d9 100644 > > --- a/include/config_distro_defaults.h > > +++ b/include/config_distro_defaults.h > > @@ -20,8 +20,6 @@ > > #define CONFIG_BOOTP_PXE > > #define CONFIG_BOOTP_SUBNETMASK > > > > -#define CONFIG_CMD_PXE > > - > > #define CONFIG_CMDLINE_EDITING > > #define CONFIG_AUTO_COMPLETE > > #define CONFIG_SYS_LONGHELP > > -- > > 2.7.4 > > > > _______________________________________________ > > U-Boot mailing list > > U-Boot@lists.denx.de > > http://lists.denx.de/mailman/listinfo/u-boot
On Thu, Nov 17, 2016 at 11:04 AM, Yann E. MORIN <yann.morin.1998@free.fr> wrote: > Peter, All, > > On 2016-11-16 14:04 +0000, Peter Robinson spake thusly: >> On Sun, Nov 13, 2016 at 8:59 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote: >> > Currently, CMD_PXE is forcibly enabled in config_distro_defaults.h, so >> > that general purpose distributions can rely on it being defined. This >> > header is included, under conditions or not, by various archs or >> > famillies of archs / SoCs. >> > >> > However, it is very possible that boards based on those SoCs will not >> > have a physical ethernet connector at all, even if the have a MAC; for >> > example, the Nanopi Neo AIR (sunxi H3) does not. It is also possible >> > that network booting is absolutely not necessary for a device. >> > >> > However, it is not possible to disable the PXE command, as it is >> > forcibly enabled and is non-configurable. >> > >> > But it turns out we already have a config option to build a distro-ready >> > image, in the name of DISTRO_DEFAULTS. >> > >> > Move CMD_PXE out of the hard-coded config_distro_defaults.h into a >> > Kconfig option, that gets selected by DISTRO_DEFAULTS when it is set. >> >> So this changes the default expectation on all boards that currently >> use distro defaults? > > Well, I'm not totally aware of all the implications of such a change, > but my analysis is: > > - CONFIG_CMD_PXE was in include/config_distro_defaults.h, which to my > poor little brain means "we want that as a distro default"; > > - CONFIG_CMD_PXE is now enabled by CONFIG_DISTRO_DEFAULTS, which means > the same (and the help text confirms that). > > So, it looks to me that the expected behaviour does not change. In > theory! ;-) > > Now, I may well have missed something, in which case I always accept > being enlighten; just point me to the pieces I missed (totally possible, > I'm new in U-Boot land!). > > I'm running buildman on all configs right now, on current master (but it > takes a lot of time...). Once this is done, I'll re-run it on my change. > From what I understand, buildman should point me to boards which are > affected by the change, right? When we have that list, we can assess > whether it is acceptable or not. The --show-config option on buildman will tell you about boards that have changes configs. > Thanks! :-) > > Regards, > Yann E. MORIN. > >> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> >> > Cc: Joe Hershberger <joe.hershberger@ni.com> >> > --- >> > Kconfig | 1 + >> > cmd/Kconfig | 5 +++++ >> > include/config_distro_defaults.h | 2 -- >> > 3 files changed, 6 insertions(+), 2 deletions(-) >> > >> > diff --git a/Kconfig b/Kconfig >> > index 1263d0b..5421cd3 100644 >> > --- a/Kconfig >> > +++ b/Kconfig >> > @@ -60,6 +60,7 @@ config DISTRO_DEFAULTS >> > select CMD_BOOTZ if ARM && !ARM64 >> > select CMD_BOOTI if ARM64 >> > select CMD_DHCP >> > + select CMD_PXE >> > select CMD_EXT2 >> > select CMD_EXT4 >> > select CMD_FAT >> > diff --git a/cmd/Kconfig b/cmd/Kconfig >> > index e339d86..95f5ce6 100644 >> > --- a/cmd/Kconfig >> > +++ b/cmd/Kconfig >> > @@ -496,6 +496,11 @@ config CMD_DHCP >> > help >> > Boot image via network using DHCP/TFTP protocol >> > >> > +config CMD_PXE >> > + bool "pxe" >> > + help >> > + Boot image via network using PXE protocol >> > + >> > config CMD_NFS >> > bool "nfs" >> > default y >> > diff --git a/include/config_distro_defaults.h b/include/config_distro_defaults.h >> > index b5efab5..01cd6d9 100644 >> > --- a/include/config_distro_defaults.h >> > +++ b/include/config_distro_defaults.h >> > @@ -20,8 +20,6 @@ >> > #define CONFIG_BOOTP_PXE >> > #define CONFIG_BOOTP_SUBNETMASK >> > >> > -#define CONFIG_CMD_PXE >> > - >> > #define CONFIG_CMDLINE_EDITING >> > #define CONFIG_AUTO_COMPLETE >> > #define CONFIG_SYS_LONGHELP >> > -- >> > 2.7.4 >> > >> > _______________________________________________ >> > U-Boot mailing list >> > U-Boot@lists.denx.de >> > http://lists.denx.de/mailman/listinfo/u-boot > > -- > .-----------------.--------------------.------------------.--------------------. > | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | > | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | > | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | > | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | > '------------------------------^-------^------------------^--------------------' > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot
On Tue, Nov 15, 2016 at 11:01 AM, Yann E. MORIN <yann.morin.1998@free.fr> wrote: > Joe, All, > > On 2016-11-14 21:15 -0600, Joe Hershberger spake thusly: >> On Sun, Nov 13, 2016 at 2:59 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote: >> > Currently, CMD_PXE is forcibly enabled in config_distro_defaults.h, so >> > that general purpose distributions can rely on it being defined. This >> > header is included, under conditions or not, by various archs or >> > famillies of archs / SoCs. >> > >> > However, it is very possible that boards based on those SoCs will not >> > have a physical ethernet connector at all, even if the have a MAC; for >> > example, the Nanopi Neo AIR (sunxi H3) does not. It is also possible >> > that network booting is absolutely not necessary for a device. >> > >> > However, it is not possible to disable the PXE command, as it is >> > forcibly enabled and is non-configurable. >> > >> > But it turns out we already have a config option to build a distro-ready >> > image, in the name of DISTRO_DEFAULTS. >> > >> > Move CMD_PXE out of the hard-coded config_distro_defaults.h into a >> > Kconfig option, that gets selected by DISTRO_DEFAULTS when it is set. >> > >> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> >> > Cc: Joe Hershberger <joe.hershberger@ni.com> >> >> I like this, but do you not also need to run moveconfig.py on this patch? > > Ack. I was not aware of this tool. I will run it and if it does change > any defconfig, I'll repost. If nothing is changed, I'll just reply to > this thread. OK? Sure. > Should the defconfig update be a separate patch, or should it be > squashed into this one? I think most that I have seen it is squashed (though I prefer to create a real patch first to run it against and squash later - I know others prefer to run it against a working directory). > Thanks for the feedback! :-) > > Regards, > Yann E. MORIN. > > -- > .-----------------.--------------------.------------------.--------------------. > | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | > | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | > | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | > | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | > '------------------------------^-------^------------------^--------------------'
On Tue, Nov 29, 2016 at 11:42:34AM -0600, Joe Hershberger wrote: > On Tue, Nov 15, 2016 at 11:01 AM, Yann E. MORIN <yann.morin.1998@free.fr> wrote: > > Joe, All, > > > > On 2016-11-14 21:15 -0600, Joe Hershberger spake thusly: > >> On Sun, Nov 13, 2016 at 2:59 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote: > >> > Currently, CMD_PXE is forcibly enabled in config_distro_defaults.h, so > >> > that general purpose distributions can rely on it being defined. This > >> > header is included, under conditions or not, by various archs or > >> > famillies of archs / SoCs. > >> > > >> > However, it is very possible that boards based on those SoCs will not > >> > have a physical ethernet connector at all, even if the have a MAC; for > >> > example, the Nanopi Neo AIR (sunxi H3) does not. It is also possible > >> > that network booting is absolutely not necessary for a device. > >> > > >> > However, it is not possible to disable the PXE command, as it is > >> > forcibly enabled and is non-configurable. > >> > > >> > But it turns out we already have a config option to build a distro-ready > >> > image, in the name of DISTRO_DEFAULTS. > >> > > >> > Move CMD_PXE out of the hard-coded config_distro_defaults.h into a > >> > Kconfig option, that gets selected by DISTRO_DEFAULTS when it is set. > >> > > >> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > >> > Cc: Joe Hershberger <joe.hershberger@ni.com> > >> > >> I like this, but do you not also need to run moveconfig.py on this patch? > > > > Ack. I was not aware of this tool. I will run it and if it does change > > any defconfig, I'll repost. If nothing is changed, I'll just reply to > > this thread. OK? > > Sure. > > > Should the defconfig update be a separate patch, or should it be > > squashed into this one? > > I think most that I have seen it is squashed (though I prefer to > create a real patch first to run it against and squash later - I know > others prefer to run it against a working directory). So I'm stepping in here. I'm close to being able to take the original patch as-is, the main problems with it were what I addressed in a series earlier today, that MENU and CMD_BOOTMENU need to be migrated and a number of platforms that are using config_distro_defaults.h and config_distro_bootcmd.h but were not enabling CONFIG_DISTRO_DEFAULTS so had lost various features. With these two in, and a minor change to this patch to have it select MENU, everything is good, and I'll take it.
diff --git a/Kconfig b/Kconfig index 1263d0b..5421cd3 100644 --- a/Kconfig +++ b/Kconfig @@ -60,6 +60,7 @@ config DISTRO_DEFAULTS select CMD_BOOTZ if ARM && !ARM64 select CMD_BOOTI if ARM64 select CMD_DHCP + select CMD_PXE select CMD_EXT2 select CMD_EXT4 select CMD_FAT diff --git a/cmd/Kconfig b/cmd/Kconfig index e339d86..95f5ce6 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -496,6 +496,11 @@ config CMD_DHCP help Boot image via network using DHCP/TFTP protocol +config CMD_PXE + bool "pxe" + help + Boot image via network using PXE protocol + config CMD_NFS bool "nfs" default y diff --git a/include/config_distro_defaults.h b/include/config_distro_defaults.h index b5efab5..01cd6d9 100644 --- a/include/config_distro_defaults.h +++ b/include/config_distro_defaults.h @@ -20,8 +20,6 @@ #define CONFIG_BOOTP_PXE #define CONFIG_BOOTP_SUBNETMASK -#define CONFIG_CMD_PXE - #define CONFIG_CMDLINE_EDITING #define CONFIG_AUTO_COMPLETE #define CONFIG_SYS_LONGHELP
Currently, CMD_PXE is forcibly enabled in config_distro_defaults.h, so that general purpose distributions can rely on it being defined. This header is included, under conditions or not, by various archs or famillies of archs / SoCs. However, it is very possible that boards based on those SoCs will not have a physical ethernet connector at all, even if the have a MAC; for example, the Nanopi Neo AIR (sunxi H3) does not. It is also possible that network booting is absolutely not necessary for a device. However, it is not possible to disable the PXE command, as it is forcibly enabled and is non-configurable. But it turns out we already have a config option to build a distro-ready image, in the name of DISTRO_DEFAULTS. Move CMD_PXE out of the hard-coded config_distro_defaults.h into a Kconfig option, that gets selected by DISTRO_DEFAULTS when it is set. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Joe Hershberger <joe.hershberger@ni.com> --- Kconfig | 1 + cmd/Kconfig | 5 +++++ include/config_distro_defaults.h | 2 -- 3 files changed, 6 insertions(+), 2 deletions(-)