Hi all,
2.6.22.7's include/linux/autoconf.h is completely screwed up as
compare to 2.6.10's autoconf.h .
2.6.22.7 totally changed the meaning of autoconf.h
By just reading autoconf.h of 2.6.10 , we can understand what is the
system and its configuration, it is properly arranged and divided into
categories :
/*
* Automatically generated C config: don't edit
* Linux kernel version: 2.6.10
* Mon Sep 24 20:56:59 2007
*/
#define AUTOCONF_INCLUDED
#define CONFIG_X86 1
#define CONFIG_MMU 1
#define CONFIG_UID16 1
#define CONFIG_GENERIC_ISA_DMA 1
#define CONFIG_GENERIC_IOMAP 1
/*
* Code maturity level options
*/
#define CONFIG_EXPERIMENTAL 1
#define CONFIG_CLEAN_COMPILE 1
#define CONFIG_LOCK_KERNEL 1
/*
* General setup
*/
#define CONFIG_LOCALVERSION ""
#define CONFIG_SWAP 1
#define CONFIG_SYSVIPC 1
#define CONFIG_POSIX_MQUEUE 1
#define CONFIG_BSD_PROCESS_ACCT 1
#undef CONFIG_BSD_PROCESS_ACCT_V3
#define CONFIG_SYSCTL 1
And on 2.6.22.7's autoconf.h is haphazard, not formatted , not
readable and looks totally funny.
/*
* Automatically generated C config: don't edit
* Linux kernel version: 2.6.22.7
* Mon Sep 24 20:49:40 2007
*/
#define AUTOCONF_INCLUDED
#define CONFIG_USB_SISUSBVGA_MODULE 1
#define CONFIG_VIDEO_V4L1_COMPAT 1
#define CONFIG_PCMCIA_FMVJ18X_MODULE 1
#define CONFIG_BLK_CPQ_DA_MODULE 1
#define CONFIG_BLK_DEV_FD_MODULE 1
#define CONFIG_ACPI_AC_MODULE 1
#define CONFIG_SECURITY_NETWORK 1
#define CONFIG_DEBUG_SPINLOCK_SLEEP 1
#define CONFIG_OSF_PARTITION 1
#define CONFIG_USB_LEGOTOWER_MODULE 1
#define CONFIG_FB_TRIDENT_MODULE 1
#define CONFIG_FB_RIVA_BACKLIGHT 1
#define CONFIG_DVB_PLUTO2_MODULE 1
#define CONFIG_GAMEPORT_NS558_MODULE 1
#define CONFIG_JOYSTICK_GRIP_MODULE 1
#define CONFIG_HISAX_ELSA 1
#define CONFIG_BONDING_MODULE 1
#define CONFIG_BLK_DEV_HPT366 1
#define CONFIG_MTD_ABSENT_MODULE 1
Can you please let me know what is the idea behind this latest
autoconf.h and who is creator of this ugly autoconf.h.
Thank you,
Jaswinder Singh.
On Mon, 24 Sep 2007, Jaswinder Singh wrote:
> Hi all,
>
> 2.6.22.7's include/linux/autoconf.h is completely screwed up as
> compare to 2.6.10's autoconf.h .
>
> 2.6.22.7 totally changed the meaning of autoconf.h
... snip ...
why do you care what autoconf.h looks like? it's automatically
generated, it's not something you should be messing with.
rday
--
========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA
http://crashcourse.ca
========================================================================
hello rday,
In my view autoconf.h is the index of kernel you are using. By reading
autoconf.h you will know what Architecture, drivers is selected.
For example, If we are using some ARM based board, If you give me your
autoconf.h , I can replicate same environment as yours. If it is not
properly formatted it is very difficult to read and come to some
conclusion.
Thank you,
Jaswinder Singh.
On 9/24/07, Robert P. J. Day <[email protected]> wrote:
> On Mon, 24 Sep 2007, Jaswinder Singh wrote:
>
> > Hi all,
> >
> > 2.6.22.7's include/linux/autoconf.h is completely screwed up as
> > compare to 2.6.10's autoconf.h .
> >
> > 2.6.22.7 totally changed the meaning of autoconf.h
> ... snip ...
>
> why do you care what autoconf.h looks like? it's automatically
> generated, it's not something you should be messing with.
>
> rday
>
> --
> ========================================================================
> Robert P. J. Day
> Linux Consulting, Training and Annoying Kernel Pedantry
> Waterloo, Ontario, CANADA
>
> http://crashcourse.ca
> ========================================================================
>
On Mon, 24 Sep 2007, Jaswinder Singh wrote:
> hello rday,
>
> In my view autoconf.h is the index of kernel you are using. By
> reading autoconf.h you will know what Architecture, drivers is
> selected.
>
> For example, If we are using some ARM based board, If you give me
> your autoconf.h , I can replicate same environment as yours. If it
> is not properly formatted it is very difficult to read and come to
> some conclusion.
no, the proper thing to do is give someone your .config file if you
want them to reproduce your configuration, and leave autoconf.h out of
it.
rday
--
========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA
http://crashcourse.ca
========================================================================
hello rday,
On 9/24/07, Robert P. J. Day <[email protected]> wrote:
> On Mon, 24 Sep 2007, Jaswinder Singh wrote:
>
> > hello rday,
> >
> > In my view autoconf.h is the index of kernel you are using. By
> > reading autoconf.h you will know what Architecture, drivers is
> > selected.
> >
> > For example, If we are using some ARM based board, If you give me
> > your autoconf.h , I can replicate same environment as yours. If it
> > is not properly formatted it is very difficult to read and come to
> > some conclusion.
>
> no, the proper thing to do is give someone your .config file if you
> want them to reproduce your configuration, and leave autoconf.h out of
> it.
>
yes, you are right. So autoconf.h is obsolete and replaced by .config
. And now autoconf.h looks so funny and scary that no body dares to
open autoconf.h in future ;-)
Thank you,
Jaswinder Singh.
> rday
> --
> ========================================================================
> Robert P. J. Day
> Linux Consulting, Training and Annoying Kernel Pedantry
> Waterloo, Ontario, CANADA
>
> http://crashcourse.ca
> ========================================================================
>
On Mon, 24 Sep 2007, Jaswinder Singh wrote:
> hello rday,
>
> On 9/24/07, Robert P. J. Day <[email protected]> wrote:
> > On Mon, 24 Sep 2007, Jaswinder Singh wrote:
> >
> > > hello rday,
> > >
> > > In my view autoconf.h is the index of kernel you are using. By
> > > reading autoconf.h you will know what Architecture, drivers is
> > > selected.
> > >
> > > For example, If we are using some ARM based board, If you give me
> > > your autoconf.h , I can replicate same environment as yours. If it
> > > is not properly formatted it is very difficult to read and come to
> > > some conclusion.
> >
> > no, the proper thing to do is give someone your .config file if you
> > want them to reproduce your configuration, and leave autoconf.h out of
> > it.
> >
>
> yes, you are right. So autoconf.h is obsolete and replaced by .config
> . And now autoconf.h looks so funny and scary that no body dares to
> open autoconf.h in future ;-)
no, you're missing the point. the .config file represents your
selection of kernel options, it's what you can hand to someone if they
want to reproduce your configuration. autoconf.h, on the other hand,
is automatically generated from your .config file once you start the
build process. it is in no way "obsolete", it's used by the build
process -- it's just not meant to be manipulated by users.
don't worry about autoconf.h, just leave it alone -- the build process
takes care of it.
rday
--
========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA
http://crashcourse.ca
========================================================================
hello rday,
On 9/24/07, Robert P. J. Day <[email protected]> wrote:
> On Mon, 24 Sep 2007, Jaswinder Singh wrote:
>
> > hello rday,
> >
> > On 9/24/07, Robert P. J. Day <[email protected]> wrote:
> > > On Mon, 24 Sep 2007, Jaswinder Singh wrote:
> > >
> > > > hello rday,
> > > >
> > > > In my view autoconf.h is the index of kernel you are using. By
> > > > reading autoconf.h you will know what Architecture, drivers is
> > > > selected.
> > > >
> > > > For example, If we are using some ARM based board, If you give me
> > > > your autoconf.h , I can replicate same environment as yours. If it
> > > > is not properly formatted it is very difficult to read and come to
> > > > some conclusion.
> > >
> > > no, the proper thing to do is give someone your .config file if you
> > > want them to reproduce your configuration, and leave autoconf.h out of
> > > it.
> > >
> >
> > yes, you are right. So autoconf.h is obsolete and replaced by .config
> > . And now autoconf.h looks so funny and scary that no body dares to
> > open autoconf.h in future ;-)
>
> no, you're missing the point. the .config file represents your
> selection of kernel options, it's what you can hand to someone if they
> want to reproduce your configuration. autoconf.h, on the other hand,
> is automatically generated from your .config file once you start the
> build process. it is in no way "obsolete", it's used by the build
> process -- it's just not meant to be manipulated by users.
>
> don't worry about autoconf.h, just leave it alone -- the build process
> takes care of it.
>
So it is obsolete for user's point of view, right ?
That's why it is written in such a way that no human can read it (Not
human readable). right ?
Thank you,
Jaswinder Singh.
On Mon, Sep 24, 2007 at 03:50:43PM +0530, Jaswinder Singh wrote:
> Hi all,
>
> 2.6.22.7's include/linux/autoconf.h is completely screwed up as
> compare to 2.6.10's autoconf.h .
>
> 2.6.22.7 totally changed the meaning of autoconf.h
autoconf.h has always been autogenerated. And autoconf.h has always
been used to publish the configuration to .c files.
What changed between 2.6.10 and 26.22 are the algorithm used to
produce autoconf.h.
The interface to the kernel configuration is .config - and overwriting
.config is an easy way to introduce a new config.
autoconf.h is not suitable for this purpose and thus
the actual layout does not matter.
If you used to use autoconf.h for distributing kernel versions before
I recommend you to use .config for now on. This should to my best
knowlege also work for your 2.6.10 kernel.
Sam
Dear Sam,
On 9/24/07, Sam Ravnborg <[email protected]> wrote:
> On Mon, Sep 24, 2007 at 03:50:43PM +0530, Jaswinder Singh wrote:
> > Hi all,
> >
> > 2.6.22.7's include/linux/autoconf.h is completely screwed up as
> > compare to 2.6.10's autoconf.h .
> >
> > 2.6.22.7 totally changed the meaning of autoconf.h
>
> autoconf.h has always been autogenerated. And autoconf.h has always
> been used to publish the configuration to .c files.
>
> What changed between 2.6.10 and 26.22 are the algorithm used to
> produce autoconf.h.
I just curious, how algorithm is written that it makes readable to non-readable.
Thank you,
Jaswinder Singh.
Hi Jaswinder.
On Mon, Sep 24, 2007 at 05:36:43PM +0530, Jaswinder Singh wrote:
> Dear Sam,
>
> On 9/24/07, Sam Ravnborg <[email protected]> wrote:
> > On Mon, Sep 24, 2007 at 03:50:43PM +0530, Jaswinder Singh wrote:
> > > Hi all,
> > >
> > > 2.6.22.7's include/linux/autoconf.h is completely screwed up as
> > > compare to 2.6.10's autoconf.h .
> > >
> > > 2.6.22.7 totally changed the meaning of autoconf.h
> >
> > autoconf.h has always been autogenerated. And autoconf.h has always
> > been used to publish the configuration to .c files.
> >
> > What changed between 2.6.10 and 26.22 are the algorithm used to
> > produce autoconf.h.
>
> I just curious, how algorithm is written that it makes readable to non-readable.
Part of a larger change. git has full history.
Try to look here:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=history;f=scripts/kconfig/confdata.c;h=b2913e9da495bf921b9d004012adef18996f4efa;hb=HEAD
It is the changes around 2006-06-09
Sam
On Sep 24 2007 16:25, Jaswinder Singh wrote:
>So it is obsolete for user's point of view, right ?
.config is human-readable and serves as input for kconfig,
and autoconf.h is kconfig's output for the C binding that
you do not mess with.
Neither is obsolete, end of story.
If Linux were to have Perl bindings, there would probably
be an autoconf.pl.