config/kernel/linux.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Aug 14 19:59:02 2011 +0200 (2011-08-14)
changeset 2603 461b9c476104
parent 2602 242695a00db5
child 2610 08af6f1c2a3b
permissions -rw-r--r--
kernel/linux: simplify custom tarball handling

Simplify the way the custom tarball is handled:
- fake version="custom"
- at download, simply link the custom tarball to:
"linux-custom.${custom_extension}"
- at extract, the above allows to simply extract "linux-${LINUX_VERSION}"
where LINUX_VERISON is set to the fake version="custom"

Not that much convoluted, in fact... :-/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 # Linux kernel options
     2 
     3 ## select KERNEL_SUPPORTS_SHARED_LIBS
     4 ##
     5 ## help Build a toolchain targeting systems running Linux as a kernel.
     6 
     7 config KERNEL_LINUX_USE_CUSTOM_HEADERS
     8     bool
     9     prompt "Use pre-installed headers tree (OBSOLETE)"
    10     depends on OBSOLETE
    11     help
    12       If you have some pre-installed kernel headers lying around, you can
    13       enter the path to these headers, below, they will be copied from
    14       there, and into the toolchain's sysroot.
    15       
    16       Note:
    17       This will *not* let you use a complete kernel tree!
    18       If you want to use your own full kernel tree, then you want to say 'N'
    19       here, and select KERNEL_LINUX_CUSTOM, in the versions list, below.
    20 
    21 if ! KERNEL_LINUX_USE_CUSTOM_HEADERS
    22 
    23 choice
    24     bool
    25     prompt "Linux kernel version"
    26 # Don't remove next line
    27 # CT_INSERT_VERSION_BELOW
    28 
    29 config KERNEL_V_3_0_1
    30     bool
    31     prompt "3.0.1"
    32 
    33 config KERNEL_V_3_0
    34     bool
    35     prompt "3.0"
    36 
    37 config KERNEL_V_2_6_39_4
    38     bool
    39     prompt "2.6.39.4"
    40 
    41 config KERNEL_V_2_6_38_8
    42     bool
    43     prompt "2.6.38.8"
    44 
    45 config KERNEL_V_2_6_37_6
    46     bool
    47     prompt "2.6.37.6"
    48 
    49 config KERNEL_V_2_6_36_4
    50     bool
    51     prompt "2.6.36.4"
    52 
    53 config KERNEL_V_2_6_35_14
    54     bool
    55     prompt "2.6.35.14 (longterm)"
    56     help
    57       The Linux 2.6.35 tree is a "longterm" maintenance branch.
    58       
    59       It is intended to fill the niche for users who are not using distribution
    60       kernels but want to use a regression-free kernel for a longer time.
    61       
    62       Critical bug fixes to later 2.6 releases are often ported to this branch
    63       which makes 2.6.35 a very useful base for many embedded developers seeking
    64       stable APIs or those who do not need the latest bleeding edge features.
    65       
    66       ... and no, this kernel has not undergone any specific QA testing.
    67       
    68       See the original announcement by Andi Kleen in the following mailing
    69       list entry:
    70         http://marc.info/?l=linux-kernel&m=129136895415202&w=4
    71 
    72 config KERNEL_V_2_6_34_10
    73     bool
    74     prompt "2.6.34.10"
    75 
    76 config KERNEL_V_2_6_33_17
    77     bool
    78     prompt "2.6.33.17"
    79     help
    80       This is primarily for the use of those people who are stuck using the
    81       .33-rt kernel.  Anyone else who really wants to use the .33 kernel tree
    82       is welcome to use this one as well.
    83 
    84 config KERNEL_V_2_6_32_44
    85     bool
    86     prompt "2.6.32.44 (longterm)"
    87     help
    88       The Linux 2.6.32 tree is a "longterm" maintenance branch.
    89       
    90       It is intended to fill the niche for users who are not using distribution
    91       kernels but want to use a regression-free kernel for a longer time.
    92       
    93       Critical bug fixes to later 2.6 releases are often ported to this branch
    94       which makes 2.6.32 a very useful base for many embedded developers seeking
    95       stable APIs or those who do not need the latest bleeding edge features.
    96       
    97       ... and no, this kernel has not undergone any specific QA testing.
    98       
    99       See the original announcement by Greg Kroah-Hartman in the following
   100       mailing list entry:
   101         http://marc.info/?l=linux-kernel&m=126384198403392&w=4
   102 
   103 config KERNEL_V_2_6_31_14
   104     bool
   105     prompt "2.6.31.14"
   106 
   107 config KERNEL_V_2_6_27_59
   108     bool
   109     prompt "2.6.27.59 (longterm)"
   110     help
   111       The Linux 2.6.27 tree is a "longterm" maintenance branch.
   112       
   113       It is intended to fill the niche for users who are not using distribution
   114       kernels but want to use a regression-free kernel for a longer time.
   115       
   116       Critical bug fixes to later 2.6 releases are often ported to this branch
   117       which makes 2.6.27 a very useful base for many embedded developers seeking
   118       stable APIs or those who do not need the latest bleeding edge features.
   119       
   120       ... and no, this kernel has not undergone any specific QA testing.
   121       
   122       See the original announcement by Adrian Bunk in the following mailing list
   123       entry:
   124         http://marc.info/?l=linux-kernel&m=122375909403298&w=4
   125       
   126       It is now maintained by Greg Kroah-Hartman, see this mailing list entry:
   127         http://marc.info/?l=linux-kernel&m=129133701916793&w=4
   128 
   129 config KERNEL_LINUX_CUSTOM
   130     bool
   131     prompt "custom tarball"
   132     help
   133       Use a local tarball of a complete kernel source tree.
   134 
   135 config KERNEL_LINUX_CUSTOM_TARBALL
   136     string
   137     prompt "Path to custom tarball"
   138     depends on KERNEL_LINUX_CUSTOM
   139     help
   140       Enter here the path to the tarball of your full kernel tree.
   141 
   142 endchoice
   143 
   144 config KERNEL_VERSION
   145     string
   146 # Don't remove next line
   147 # CT_INSERT_VERSION_STRING_BELOW
   148     default "3.0.1" if KERNEL_V_3_0_1
   149     default "3.0" if KERNEL_V_3_0
   150     default "2.6.39.4" if KERNEL_V_2_6_39_4
   151     default "2.6.38.8" if KERNEL_V_2_6_38_8
   152     default "2.6.37.6" if KERNEL_V_2_6_37_6
   153     default "2.6.36.4" if KERNEL_V_2_6_36_4
   154     default "2.6.35.14" if KERNEL_V_2_6_35_14
   155     default "2.6.34.10" if KERNEL_V_2_6_34_10
   156     default "2.6.33.17" if KERNEL_V_2_6_33_17
   157     default "2.6.32.44" if KERNEL_V_2_6_32_44
   158     default "2.6.31.14" if KERNEL_V_2_6_31_14
   159     default "2.6.27.59" if KERNEL_V_2_6_27_59
   160     default "custom" if KERNEL_LINUX_CUSTOM
   161 
   162 endif # ! KERNEL_LINUX_USE_CUSTOM_HEADERS
   163 
   164 if KERNEL_LINUX_USE_CUSTOM_HEADERS
   165 
   166 config KERNEL_LINUX_CUSTOM_PATH
   167     string
   168     prompt "Path to custom headers directory/tarball"
   169     help
   170       See KERNEL_LINUX_CUSTOM_IS_TARBALL, below.
   171 
   172 config KERNEL_LINUX_CUSTOM_IS_TARBALL
   173     bool
   174     prompt "This is a tarball"
   175     help
   176       If you say 'n' here, the path above is expected to point to a directory
   177       containing readily prepared headers
   178       
   179       If you say 'y' here, then the path above is expected to point to a
   180       tarball of such a directory.
   181       
   182       Eg., if your headers are available in: /foo/bar/buz/my_hdrs/include,
   183       say 'n' here, and enter: /foo/bar/buz/my_hdrs below.
   184       
   185       Now, passing a tarball around is easier than passing a directory, so
   186       if you want to, you can make a tarball of /foo/bar/buz/my_hdrs/include,
   187       say 'y' here, and enter the path to this tarball below.
   188 
   189 endif # KERNEL_LINUX_USE_CUSTOM_HEADERS