The first file to be modified is /usr/src/linux/scripts/Menuconfig. A change needs to be made to a function named define_bool().
In the buggy version the function is defined like this:
#
# Don't need this yet,
but we don't want to puke either.
#
function define_bool
() {
:
}
This function must be edited so that it is defined like this:
function define_bool () {
eval
$1="$2"
if
[ "$2" = "m" -a "$CONFIG_MODULES" != "y" ]
then
eval
$1="y"
fi
}
The next (and last) change is to the file /usr/src/linux/arch/alpha/config.in. In the beginning of the file, there are a number of "unset" commands. When applied to a variable, the unset command clears the value stored by that variable. Since the config.in file is read and parsed each time a new menu is to be displayed, the values stored in the variables in unset commands are ALWAYS cleared, even if the user had just selected to "turn them on" in another menu. Thus, three of these commands must be moved to a more logical place.
The "unset" commands to be moved are the first three, namely:
unset CONFIG_CROSSCOMPILE
CONFIG_NATIVE
unset CONFIG_PCI CONFIG_ALPHA_EISA
unset CONFIG_ALPHA_LCA
CONFIG_ALPHA_APECS CONFIG_ALPHA_CIA CONFIG_ALPHA_T2
These must be moved so that they directly follow the line "comment 'General setup'", and they directly precede the line "if [ "`uname`" != "Linux" ]; then" as follows:
mainmenu_option next_comment
comment 'General setup'
unset CONFIG_CROSSCOMPILE
CONFIG_NATIVE
unset CONFIG_PCI CONFIG_ALPHA_LCA
CONFIG_ALPHA_APECS
unset CONFIG_ALPHA_NEED_ROUNDING_EMULATION
if [ "`uname`" != "Linux" ]; then
Once these changes have been made, "Menuconfig" behaves exactly as it
should, displaying every scsi driver that would appear when running "Config".
Any further bug reports may be sent to roadcapw@titus.org. He should
still be maintaining this program, although he did mention that he didn't
have much time to devote to it anymore.
Author: Adam J. Ruja
Date: Sept. 19, 1998