In buildrom, I want to be able to set the variables I care about, then use make oldconfig to choose the (hopefully) sane defaults for the rest of the options.
Here is a sample .config file that I'd like to use:
----------------------Begin .config -------------------------------- # # General setup # CONFIG_LOCALVERSION="-buildrom"
# # Mainboard # CONFIG_VENDOR_EMULATION=y CONFIG_MAINBOARD_NAME="emulation/qemu-x86" CONFIG_BOARD_EMULATION_QEMU_X86=y CONFIG_LINUXBIOS_ROMSIZE_KB_1024=y CONFIG_ARCH_X86=y CONFIG_ARCH="x86"
# # Devices # CONFIG_PCI_OPTION_ROM_RUN=y
# # Payload # CONFIG_PAYLOAD_NONE=y ----------------------End .config --------------------------------
Unfortunately, I get this warning and it requires me to hit enter on every line (suboptimal for an automated build script.) The defaults are what I want, though.
Kconfig:102:warning: defaults for choice values not supported
Is there a reason why we don't let people use the defaults?
Myles
On 08/01/08 16:30 -0700, Myles Watson wrote:
In buildrom, I want to be able to set the variables I care about, then use make oldconfig to choose the (hopefully) sane defaults for the rest of the options.
That would make sense, but I'm not sure if there is a way to make kconfig do that. At least, in my experience, we've always needed to the user to build the entire .config, to avoid oldconfig asking questions.
But there might be a conf option that can avoid that.
Jordan
On Jan 8, 2008 4:38 PM, Jordan Crouse jordan.crouse@amd.com wrote:
On 08/01/08 16:30 -0700, Myles Watson wrote:
In buildrom, I want to be able to set the variables I care about, then use make oldconfig to choose the (hopefully) sane defaults for the rest of the options.
That would make sense, but I'm not sure if there is a way to make kconfig do that. At least, in my experience, we've always needed to the user to build the entire .config, to avoid oldconfig asking questions.
But there might be a conf option that can avoid that.
The only way I can find isn't as clean as I would like.
make oldconfig < newlines.txt
newlines.txt makes it choose the defaults by "hitting enter"
It may be worth it because it would allow us to generate .config files instead of having to have one for every architecture.
Myles
On Jan 9, 2008 1:56 PM, Myles Watson myles@pel.cs.byu.edu wrote:
make oldconfig < newlines.txt
yes y | make oldconfig
ron
On 10/01/08 10:19 -0800, ron minnich wrote:
On Jan 9, 2008 1:56 PM, Myles Watson myles@pel.cs.byu.edu wrote:
make oldconfig < newlines.txt
yes y | make oldconfig
Dangerous - not all defaults are 'y'.
Jordan
On Jan 10, 2008 10:29 AM, Jordan Crouse jordan.crouse@amd.com wrote:
On 10/01/08 10:19 -0800, ron minnich wrote:
On Jan 9, 2008 1:56 PM, Myles Watson myles@pel.cs.byu.edu wrote:
make oldconfig < newlines.txt
yes y | make oldconfig
Dangerous - not all defaults are 'y'.
sure, but it's at least as safe as newlines.txt
ron
-----Original Message----- From: ron minnich [mailto:rminnich@gmail.com] Sent: Thursday, January 10, 2008 12:04 PM To: Jordan Crouse Cc: Myles Watson; Linuxbios Subject: Re: LinuxBIOSv3 Config files
On Jan 10, 2008 10:29 AM, Jordan Crouse jordan.crouse@amd.com wrote:
On 10/01/08 10:19 -0800, ron minnich wrote:
On Jan 9, 2008 1:56 PM, Myles Watson myles@pel.cs.byu.edu wrote:
make oldconfig < newlines.txt
yes y | make oldconfig
Dangerous - not all defaults are 'y'.
sure, but it's at least as safe as newlines.txt
ron
The reason I used new lines was that it selected the defaults. For example, for numerical choices 'y' is not a good choice and sends it into an infinite loop.
I'll grant that new lines are only as safe as the default values.
Myles
On 10/01/08 11:03 -0800, ron minnich wrote:
On Jan 10, 2008 10:29 AM, Jordan Crouse jordan.crouse@amd.com wrote:
On 10/01/08 10:19 -0800, ron minnich wrote:
On Jan 9, 2008 1:56 PM, Myles Watson myles@pel.cs.byu.edu wrote:
make oldconfig < newlines.txt
yes y | make oldconfig
Dangerous - not all defaults are 'y'.
sure, but it's at least as safe as newlines.txt
His goal was to get the defaults - newlines.txt will do that. Your option may turn very undesirable options - saying 'y' to "experimental" is not always the best way.
I am on record as forcing the buildrom developer to generate and maintain a complete configuration file - I think it supports more reproducible builds and eliminates doubt and confusion. That I said, I understand what Myles is trying to do, and it really should be a feature that kconfig offers.
Jordan
-----Original Message----- From: Jordan Crouse [mailto:jordan.crouse@amd.com] Sent: Thursday, January 10, 2008 12:18 PM To: ron minnich Cc: Myles Watson; Linuxbios Subject: Re: LinuxBIOSv3 Config files
On 10/01/08 11:03 -0800, ron minnich wrote:
On Jan 10, 2008 10:29 AM, Jordan Crouse jordan.crouse@amd.com wrote:
On 10/01/08 10:19 -0800, ron minnich wrote:
On Jan 9, 2008 1:56 PM, Myles Watson myles@pel.cs.byu.edu wrote:
make oldconfig < newlines.txt
yes y | make oldconfig
Dangerous - not all defaults are 'y'.
sure, but it's at least as safe as newlines.txt
His goal was to get the defaults - newlines.txt will do that. Your option may turn very undesirable options - saying 'y' to "experimental" is not always the best way.
I am on record as forcing the buildrom developer to generate and maintain a complete configuration file - I think it supports more reproducible builds and eliminates doubt and confusion. That I said, I understand what Myles is trying to do, and it really should be a feature that kconfig offers.
This brings us back to the reason we started this conversation. I think it's too bad to force the ROM_size argument from a config file. Having a different config file for each architecture * rom_size * console_option * boot_Device means that no one will implement/maintain them.
I think it would be nice to allow people (maybe only with "Advanced Options" selected) to configure v3 (at least specify the ROM size and the architecture) from buildrom. I think the easier we make it to try out different things, the more people will try things and help us improve.
We can also do checks to see if payloads will fit from buildrom if we have some idea about the ROM size.
Myles
Jordan
-- Jordan Crouse Systems Software Development Engineer Advanced Micro Devices, Inc.
On Jan 10, 2008 11:28 AM, Myles Watson myles@pel.cs.byu.edu wrote:
This brings us back to the reason we started this conversation. I think it's too bad to force the ROM_size argument from a config file. Having a different config file for each architecture * rom_size * console_option * boot_Device means that no one will implement/maintain them.
Some variables ought to be environment variables as far as I'm concerned ...
ron
On Jan 10, 2008 11:18 AM, Jordan Crouse jordan.crouse@amd.com wrote:
His goal was to get the defaults - newlines.txt will do that. Your option may turn very undesirable options - saying 'y' to "experimental" is not always the best way.
gotcha. I was doing this tongue in cheek anyway :-)
ron
On Thu, Jan 10, 2008 at 12:18:14PM -0700, Jordan Crouse wrote:
it really should be a feature that kconfig offers.
It's make defconfig in Linux.
//Peter
On Thu, Jan 10, 2008 at 12:18:14PM -0700, Jordan Crouse wrote:
it really should be a feature that kconfig offers.
It's make defconfig in Linux.
Make defconfig ignores your .config file. What I wanted was something similar to make allyesconfig, which chooses yes for anything you didn't specify. Maybe make alldefconfig?
Myles
//Peter
* Myles Watson myles@pel.cs.byu.edu [080111 05:00]:
On Thu, Jan 10, 2008 at 12:18:14PM -0700, Jordan Crouse wrote:
it really should be a feature that kconfig offers.
It's make defconfig in Linux.
Make defconfig ignores your .config file. What I wanted was something similar to make allyesconfig, which chooses yes for anything you didn't specify. Maybe make alldefconfig?
make oldconfig?
On Fri, Jan 11, 2008 at 01:48:36PM +0100, Stefan Reinauer wrote:
- Myles Watson myles@pel.cs.byu.edu [080111 05:00]:
On Thu, Jan 10, 2008 at 12:18:14PM -0700, Jordan Crouse wrote:
it really should be a feature that kconfig offers.
It's make defconfig in Linux.
Make defconfig ignores your .config file. What I wanted was something similar to make allyesconfig, which chooses yes for anything you didn't specify. Maybe make alldefconfig?
make oldconfig?
That's interactive per default, I think. But it's the correct option if you want the defaults for unspecified options, IIRC.
If you want "yes" for all unspecified options:
make oldconfig < /usr/bin/yes
Uwe.
On Jan 11, 2008 7:31 AM, Uwe Hermann uwe@hermann-uwe.de wrote:
If you want "yes" for all unspecified options:
make oldconfig < /usr/bin/yes
Now, Uwe, we just came full circle. I said something like that a few messages ago and Jordan yelled at me :-)
ron
On Fri, Jan 11, 2008 at 07:59:17AM -0800, ron minnich wrote:
If you want "yes" for all unspecified options:
make oldconfig < /usr/bin/yes
Now, Uwe, we just came full circle. I said something like that a few messages ago and Jordan yelled at me :-)
So will oldconfig read from stdin also for options specified in .config ? If so, this is still no the winner.
Linux make help does not seem to have a target that combines oldconfig and defconfig in the desired way. :\
//Peter
On 1/11/08, Peter Stuge peter@stuge.se wrote:
Linux make help does not seem to have a target that combines oldconfig and defconfig in the desired way. :\
FWIW, Red Hat patches the kernel to achieve this:
# This patch adds a "make nonint_oldconfig" which is non-interactive and # also gives a list of missing options at the end. Useful for automated # builds (as used in the buildsystem).
http://cvs.fedoraproject.org/viewcvs/rpms/kernel/F-8/linux-2.6-build-nonintc...
--Ed
On 11/01/08 08:40 -0800, Ed Swierk wrote:
On 1/11/08, Peter Stuge peter@stuge.se wrote:
Linux make help does not seem to have a target that combines oldconfig and defconfig in the desired way. :\
FWIW, Red Hat patches the kernel to achieve this:
# This patch adds a "make nonint_oldconfig" which is non-interactive and # also gives a list of missing options at the end. Useful for automated # builds (as used in the buildsystem).
http://cvs.fedoraproject.org/viewcvs/rpms/kernel/F-8/linux-2.6-build-nonintc...
Wow - that looks like its exactly what we want! Thanks.
Jordan
Peter Stuge wrote:
On Fri, Jan 11, 2008 at 07:59:17AM -0800, ron minnich wrote:
If you want "yes" for all unspecified options:
make oldconfig < /usr/bin/yes
Now, Uwe, we just came full circle. I said something like that a few messages ago and Jordan yelled at me :-)
So will oldconfig read from stdin also for options specified in .config ? If so, this is still no the winner.
nope. oldconfig only asks options not available in .config
On Fri, Jan 11, 2008 at 06:13:31PM +0100, Stefan Reinauer wrote:
So will oldconfig read from stdin also for options specified in .config ? If so, this is still no the winner.
nope. oldconfig only asks options not available in .config
Then this should work: while :;do echo;done|make oldconfig
//Peter
On Fri, Jan 11, 2008 at 07:59:17AM -0800, ron minnich wrote:
On Jan 11, 2008 7:31 AM, Uwe Hermann uwe@hermann-uwe.de wrote:
If you want "yes" for all unspecified options:
make oldconfig < /usr/bin/yes
Now, Uwe, we just came full circle. I said something like that a few messages ago and Jordan yelled at me :-)
Yeah, sorry, I should have read the whole thread first ;-)
Uwe.