diff --git a/base/linux26/config-700.in b/base/linux26/config-700.in index c59e6249c..6e4a4ff2d 100644 --- a/base/linux26/config-700.in +++ b/base/linux26/config-700.in @@ -16,10 +16,16 @@ menu_begin MENU_PKG_LINUX 'Linux Kernel Options' - choice SDECFG_PKG_LINUX_CONFIG_STYLE modules \ - none 'Do not perform any automatic kernel configuration' \ - nomodules 'Perform normal kernel configuration without modules' \ - modules 'Perform normal kernel configuration including modules' + choice SDECFG_PKG_LINUX_CONFIG_STYLE allmodules \ + none 'Use only the custom settings' \ + allmodules 'Automatic, starting with all modules enabled' \ + defconfig 'Automatic, starting with defconfig from upstream' \ + nomodules 'Using defconfig but disabling all modules at the end' + + if [ "$SDECFG_PKG_LINUX_CONFIG_STYLE" = none ]; then + comment " WARNING: you need config/$config/linux.cfg" + comment " for this setting to work." + fi if pkgcheck uml_utilities X ; then choice SDECFG_PKG_LINUX_UML_STYLE modules \ diff --git a/base/linux26/linux-conf.in b/base/linux26/linux-conf.in index e8b282b05..0b999dc62 100644 --- a/base/linux26/linux-conf.in +++ b/base/linux26/linux-conf.in @@ -88,14 +88,18 @@ auto_config() { # get defconfig (.config.0) # echo "Creating linux default config" - - if [ -f arch/$lx_cpu/defconfig ]; then - cp arch/$lx_cpu/defconfig .config - cp .config{,.0} - else - cp arch/$lx_arch/configs/${lx_subarch}_defconfig .config - cp .config{,.0} - fi + case "$SDECFG_PKG_LINUX_CONFIG_STYLE" in + none) + abort "auto_config: shouldn't reach this point." + ;; + defconfig|nomodules) + eval $MAKE $makeopt defconfig + ;; + allmodules) + eval $MAKE $makeopt allmodconfig + ;; + esac + cp .config{,.0} # architecture specific configuration (will be merged) x=$( ls -1 $base/package/*/linux26/arch/config.$arch.sh 2> /dev/null | head -n 1) if [ -f "$x" ]; then @@ -183,7 +187,7 @@ auto_config() { mv .config .config_nomods # which .config to use? - if [ "$SDECFG_PKG_LINUX_CONFIG_STYLE" = "modules" ] ; then + if [ "$SDECFG_PKG_LINUX_CONFIG_STYLE" != "nomodules" ] ; then cp .config{_modules,} else cp .config{_nomods,}