kernel build question - CONFIG_XEN

Piscium groknok at gmail.com
Sun Feb 26 12:23:09 UTC 2012


I tried to build a kernel. In this section of code I had an issue:

# now run oldconfig over all the config files
for i in *.config
do
  mv $i .config
  Arch=`head -1 .config | cut -b 3-`
  make ARCH=$Arch listnewconfig | grep -E '^CONFIG_' >.newoptions || true
  if [ -s .newoptions ]; then
    cat .newoptions
    exit 1
  fi
  rm -f .newoptions
  make ARCH=$Arch oldnoconfig
  echo "# $Arch" > configs/$i
  cat .config >> configs/$i
done


This is from the log:
+ mv kernel-2.6.42.7-i686-PAE.config .config
++ head -1 .config
++ cut -b 3-
+ Arch=i386
+ grep -E '^CONFIG_'
+ make ARCH=i386 listnewconfig
+ '[' -s .newoptions ']'
+ cat .newoptions
CONFIG_XEN
+ exit 1

What happens is that running "make ARCH=i386 listnewconfig", reports
CONFIG_XEN as new.

If I manually add "CONFIG_XEN=n" to .config, and run "make oldconfig",
then CONFIG_XEN is removed. This - I think - means that CONFIG_XEN is
an old option. But then I am baffled why is it output by "make
ARCH=i386 listnewconfig" or even " "make listnewconfig". I can make no
sense of it. Does anybody have an explanation?

Anyway, the way I solved this build issue was by putting
"CONFIG_XEN=n" in config-local, and this way I can build, still I am
curious.


More information about the users mailing list