32bit allyesconfig on 64bit system broke
% linux32 make allyesconfig
% head .config
% head .config
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 3.11.0-rc4 Kernel Configuration
#CONFIG_64BIT=yCONFIG_X86_64=yCONFIG_X86=y
This used to work to give me a 32bit allyesconfig. How am I supposed to do this now?
Thanks,
-Andi
Dne 10.8.2013 00:57, Andi Kleen napsal(a):
Quoted 12 lines
% linux32 make allyesconfig
% head .config
% head .config
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 3.11.0-rc4 Kernel Configuration
#CONFIG_64BIT=yCONFIG_X86_64=yCONFIG_X86=y
Quoted 2 lines
This used to work to give me a 32bit allyesconfig. How am I supposed to do this now?
This changed in ffee0de (x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT). The default $ARCH value on both ix86 and x86_64 buildhosts is "x86" and CONFIG_64BIT is therefore a user-selectable knob. You can do
make ARCH=i386 allyesconfig
to force 32bit. Or the generic way:
echo '# CONFIG_64BIT is not set' >base.config KCONFIG_ALLCONFIG=base.config linux32 make allyesconfig
Michal
Quoted 21 lines · Michal Marek
Dne 10.8.2013 00:57, Andi Kleen napsal(a):
Quoted 12 lines
% linux32 make allyesconfig
% head .config
% head .config
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 3.11.0-rc4 Kernel Configuration
#CONFIG_64BIT=yCONFIG_X86_64=yCONFIG_X86=yQuoted 2 lines
This used to work to give me a 32bit allyesconfig. How am I supposed to do this now?
This changed in ffee0de (x86: Default to ARCH=x86 to avoid overriding
CONFIG_64BIT). The default $ARCH value on both ix86 andx86_64buildhosts is "x86" andCONFIG_64BITis therefore a user-selectable knob. You can do
Quoted 7 lines
make ARCH=i386 allyesconfig
to force 32bit. Or the generic way:
echo '#
CONFIG_64BITis not set' >base.config KCONFIG_ALLCONFIG=base.config linux32 make allyesconfig
"make ARCH=i386 allyesconfig" has been the standard way to do this for quite a few years, so that is the forward and backwards compatible way.
-hpa
Quoted 24 lines · H. Peter Anvin
Quoted 23 lines · Michal Marek
Dne 10.8.2013 00:57, Andi Kleen napsal(a):
Quoted 12 lines
% linux32 make allyesconfig
% head .config
% head .config
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 3.11.0-rc4 Kernel Configuration
#CONFIG_64BIT=yCONFIG_X86_64=yCONFIG_X86=yQuoted 2 lines
This used to work to give me a 32bit allyesconfig. How am I supposed to do this now?
This changed in ffee0de (x86: Default to ARCH=x86 to avoid overriding
CONFIG_64BIT). The default $ARCH value on both ix86 andx86_64buildhosts is "x86" andCONFIG_64BITis therefore a user-selectable knob. You can domake ARCH=i386 allyesconfig
Quoted 8 lines
Quoted 5 lines
to force 32bit. Or the generic way:
echo '#
CONFIG_64BITis not set' >base.config KCONFIG_ALLCONFIG=base.config linux32 make allyesconfig"make ARCH=i386 allyesconfig" has been the standard way to do this for quite a few years, so that is the forward and backwards compatible way.
I've always used "linux32 ..."
Well it broke all my scripts and seems to be a totally pointless change as far as I can tell.
The worse thing is that I didn't notice initially because it's a silent problem -- the 64bit kernel still boots fine on any system with lm support, even with 32bit userland.
So silently breaking long established practice ... no excuse for things like that really in a project like Linux. If you break things please always do it in a obvious way.
-Andi