Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master cauldron by Justin Boffemmyer (5fa40aa85d075fb33339b2c03a28e5f4c88ed02d)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Justin Boffemmyer <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master cauldron by Justin Boffemmyer (5fa40aa85d075fb33339b2c03a28e5f4c88ed02d)
  • Date: Fri, 26 Feb 2010 14:53:16 -0600

GIT changes to master cauldron by Justin Boffemmyer <flux AT sourcemage.org>:

HACKING | 169 +
README | 4
TODO | 5
cauldron/cauldron | 45
cauldron/errorcodes | 49
cauldron/etc/config | 82
cauldron/etc/isospells.x86 | 90
cauldron/etc/linux-2.6.22.x86 | 3717
--------------------------------
cauldron/etc/toolchain.x86 | 31
cauldron/etc/x86/linux-2.6.22 | 3717
++++++++++++++++++++++++++++++++
cauldron/etc/x86/spells | 90
cauldron/etc/x86/toolchain | 31
cauldron/lib.chroot | 124 +
cauldron/lib.hostcache | 128 +
cauldron/lib.init | 176 +
cauldron/lib.sorcerous | 176 +
cauldron/libcauldron | 441 +--
cauldron/libinit | 176 -
enchantment/enchantments | 2
enchantment/errorcodes | 8
enchantment/etc/config | 51
enchantment/libenchantment | 360 ++-
enchantment/modules/boot-loader | 18
enchantment/modules/boot-loader.info | 1
enchantment/modules/compile-kernel | 23
enchantment/modules/compile-kernel.info | 1
enchantment/modules/disk-format | 21
enchantment/modules/disk-format.info | 1
enchantment/modules/disk-mount | 23
enchantment/modules/disk-mount.info | 1
enchantment/modules/disk-partition | 23
enchantment/modules/disk-partition.info | 1
enchantment/modules/edit-confs | 23
enchantment/modules/edit-confs.info | 1
enchantment/modules/error | 1
enchantment/modules/error.info | 1
enchantment/modules/grub | 23
enchantment/modules/grub.info | 1
enchantment/modules/help/editors | 4
enchantment/modules/help/index | 10
enchantment/modules/init | 2
enchantment/modules/init.info | 1
enchantment/modules/install | 23
enchantment/modules/install.info | 1
enchantment/modules/iso-kernel | 22
enchantment/modules/iso-kernel.info | 1
enchantment/modules/kernel | 12
enchantment/modules/kernel.info | 1
enchantment/modules/lilo | 20
enchantment/modules/lilo.info | 1
enchantment/modules/reboot | 12
enchantment/modules/reboot.info | 1
enchantment/modules/select-spells | 23
enchantment/modules/select-spells.info | 1
enchantment/modules/user-setup | 17
enchantment/modules/user-setup.info | 1
enchantment/modules/welcome/welcome | 22
enchantment/shell/bashrc | 170 +
enchantment/shell/modules | 17
enchantment/shell/order | 17
enchantment/shell/steps | 12
lib/libcolor | 117 +
lib/liberror | 111
lib/liberrorcodes | 80
64 files changed, 5764 insertions(+), 4770 deletions(-)

New commits:
commit 5fa40aa85d075fb33339b2c03a28e5f4c88ed02d
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

TODO: add i18n and initramfs

Add i18n and conversion to using initramfs to the TODO list. i18n will
involve having console-capable i18n spells (like fbterm, uim, and
m17-lib) avaiable on the ISO and configured for use (they shouldn't need
configuring except for possibly a few special cases). The conversion to
initramfs will require some coding.

commit aec5cd5de795134f1f9ae8f6e65c2b6d64cbfe5e
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

README: fix grammar and wording

Corrected the grammar and wording.

commit 350fc6d81fd5b48eab8345a6df735d079d1b871e
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

HACKING: updated for changes in sources

Updated the HACKING file to bring it in sync with all the recent changes
to the architecture of the sources.

commit d1fc8b3a03cbaf2346fae464560c60d670aaf0dc
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

cauldron: unduplicate compiler config function

The cauldron_configure_toolchain function was duplicated in both
libcauldron and lib.sorcerous. It now lives solely in lib.sorcerous.
Also cleaned it up to use the proper variables from etc/config.

commit 4778358256aab2caad944005ee9b2590decf1635
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

cauldron: better configuration and data layout

Cleaned up some of the config variables (particularly those dealing with
sorcery) and moved the spell listing files to an arch-specific
directory.

commit 1a3199cc880402cb78c2c276224d14fb6a7bed89
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

shell/bashrc: implement prompt in a function

Move the PS1 setting out to a function for better manageability of it.
Also use libcolor rather than directly encoding bold/normal attributes.

commit 7217d9260b79f4ecb789b6dfc4aca59d57819067
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

shell/bashrc: use new implementation of libenchant

Convert the shell installer functions to use the new implementation of
the libenchant functions. Also include tests for and usage of libcolor,
as well as some use of liberror functionality.

commit c23095c7474814cbcf12eaaedef6393a0389eca9
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

shell/bashrc: license header/footer, library loading

Add the copyright/license header/footer. Correct the library loading to
be more robust and to include libcolor if it can be requested.

commit 334eaa86651c45f370c60a38014f1e4022da4eba
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

libenchantment: error checking for robust code

Make the code more robust by doing plenty of error checking and making
use of liberror and errorcodes. All variables needing it should now be
properly quoted.

commit 3b7a47eae9de4443ec6fadde71f4bedb997bcdbd
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

libenchantment: reimplement "_step" functions

All of the "_step" functions were reimplemented to handle the change to
using the more generalized modules. The set_ functions also make use of
the get_ functions so there is less duplication of code. This should
provide a much cleaner implementation.

commit bc59297bab85a0f3c5b35f747379a94b46d667f9
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

libenchantment: find all modules

New function to find all the modules available on the ISO. It ignores
special modules like "error", and prunes out any duplicates. Uses the
"modules" file which must be included in the installer directory.

commit 22fa2a48eb6a98bfc274b16ce22a0cfed8d2ef5b
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

libenchantment: library loading functinality

Made the library loading of libenchantment more robust. Currently
libenchantment doesn't load any of it's own sub-libraries, so
enchant_load_library isn't used at the moment, but the functions to load
liberror and errorcodes are.

commit 92eedd6fdbb17b44f22d7c452925c935036da7b7
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

libenchant: add ability to test for color

Add a function which tests if there was a specific request for no color
in the boot command-line, as well as whether color was set in the
enchant config. Returns successfully for yes to color, else no for
color. Added an error code and message for color.

commit 3d597b02679f7ab6c8dc084c202434130761b538
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

enchant/config: make variables more flexible

Make the variables more flexible by checking for a value before setting
them. Also reorganized the arrangement of the variables for better
logical flow.

commit 298b46ca4ef136e6415a4a806c53e6197cd9bd87
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

cauldron: better loading of config and library

Source the configs in a manner that enables better error detection. Use
the CAULDRON_LIBS variable to load the library rather than hardcoding
its path.

commit cedcdb290b22a6ecda543fc5881d6e289081349d
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

cauldron: use liberror fatal checks

Call liberror_check_fatal_error after each critical build step.

commit 3bef27f28f14f2b6c4dfebabac9fca6810136e09
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

cauldron: fix chroot function calls and quoting

Update the chroot calls to match the function calls in lib.chroot.
Properly quote all variables that could need it.

commit 77c7fab063f9776acf5079bc1ea3681807bc19c3
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

config: make variables more flexible

Made the variables more flexible by testing for a value before setting
them. Also reorganized the ordering of the variables.

commit d4b16fdd509d1e548ce19b22826e411a2fac4274
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

use liberror and errorcodes functionality

Implement needed error codes in errorcodes, and make use of them in
concert with liberror in the code in libcauldron. Also cleaned up the
code a little in general.

commit cb3ed4a3f74deef4e35f4fd6416af7d835201ae6
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

move non-core functionality out into sub-libraries

Moved logically separable code out into sub-libraries. All chroot code
is now in lib.chroot, all code for generating cache files from the HOST
are in lib.hostcache, and all code for interfacing with sorcery is in
lib.sorcerous.

commit a10fc5167a77470b9a215ce03149d4c8ee8e135b
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

rename libraries based on "hierarchy"

The main library for a component is named libname, but a sub-library
(not meant to be used separately) is named lib.name. This makes it
easier to understand the dependency hierarchy and flow, and is a bit
more logical.

commit 6c0b84809b515b287da331a88b7e0e3e18992ffe
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

liberror: reimplement error functions

The previous instantiation of liberror wasn't very useful. Error
checking should be the job of the caller, not liberror itself. The
present implementation of the functions is much more useful: error
messages that correspond to an error number are automatically looked up
and then printed in a specified color using libcolor functions; fatal
errors can be checked for and automatically cause exits after printing
the error in color.

commit a585a121af25d9ae368b216df0a3129e3f52df37
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

libcolor: don't print newlines in color outputs

In the color output functions, the color commands themselves were output
as echo -n (no newlines), but the message to output wasn't (it had the
newline included). This is now corrected so that the message is also
output without a newline.

commit 8c7521973f1e5e0910f8e972b1c16887b8ee2e05
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

remove liberrorcodes - use liberror and libcolor

The work of liberrorcodes is now done by libcolor and liberror. The
error codes defined were very few, and now that the color definitions
are in libcolor, it doesn't make sense to load a second file just for 2
error definitions.

commit 7c56bdf8d7b7d38fd74f938258a982c40c4e8d08
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

libcolor: library for handling color of messages

New library for defining the colors to be used, and the functions to
manipulate those colors for output messages. Color values can always be
redefined after the library is sourced.

commit f35ccefaa020be01411927256de2421d174113a1
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

add enchantment listing/info file

Added a file to list all the possible enchantments available, with a
short description of what type of enchantment it is.

commit 9a9f0158c38cc952c08f9343f2a7b109e9586f7e
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

add (reformatted) modules from the 0.10.0 series

All relevant "steps" from the 0.10.0 series are now present in devel.
They have been reformatted so that bold commands are marked with
@[ ... ]. In the future, additional markups may be implemented to
separate titles from commands, etc. The markup is to be replaced at
runtime (not install-time) by the installers. The modules were also
arranged so that help and welcome messages have their own directories,
since they are logically separate (but still modules).

commit 269a360d4ad3c0064795c044e7a505960eeae14d
Author: Justin Boffemmyer <flux AT sourcemage.org>
Commit: Justin Boffemmyer <flux AT sourcemage.org>

generalize the install "steps" to modules

Refer to install "steps" as modules since a single module may comprise
more than one step, or it may even be something other than a step in the
future. Also, don't tie modules to particular installers (the steps
file). Instead, use a single, separate directory to store all the
modules, and iterate over the modules directory to get the "steps" and
corresponding information.

diff --git a/HACKING b/HACKING
index 2205321..d358f3f 100644
--- a/HACKING
+++ b/HACKING
@@ -4,6 +4,8 @@ interconnect with each other.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cauldron/

+ Code for cauldron, the ISO generation script(s).
+
************
* cauldron *
************
@@ -15,79 +17,131 @@ menu-driven interface (via dialog), much like sorcery.
***************
* libcauldron *
***************
- This is the real work-horse. It handles the building of packages
-(including setting up cross-compiler toolchains), the installation of both
-sorcery and cauldron scripts into the chroot build directory, etc. This is
+ This is the real work-horse. It directly handles the building of
+packages (including setting up cross-compiler toolchains), , etc. This is
sourced by the cauldron script. It itself sources the liberror library (for
returning error codes back to the calling script, in this case the cauldron
-script) and libinit library (for handling the ISO init boot stuff). The
libinit
-sourcing will possibly be moved out into the cauldron script later, but for
now
-it is in libcauldron.
+script) and the cauldron sublibraries (e.g., lib.chroot, lib.init, etc.).
+
+**************
+* lib.chroot *
+**************
+ The lib.chroot module is responsible for setting up, tearing down, and
+calling into chroots. The code in this module gets used many times both in
the
+other modules (in particular libcauldron) and in cauldron itself
(particularly
+for the brew command).
+
+*****************
+* lib.hostcache *
+*****************
+ The lib.hostcache module provides functions for generating spell
caches
+using the host system. If the host sorcery doesn't have ARCHIVE turned on, or
+if the cache file for a needed spell was deleted from the host system, then
it
+will need to be generated before it can be used in the build chroot. Note
that
+caches from the host system are only used to set up an initial build
toolchain,
+which will then be used to produce a build toolchain specific to the target
+system the ISO is to be built for.
+
+***********
+* lib.init *
+***********
+ The lib.init module handles the init system for the ISO. It provides
+functions for creating an initramfs/initrd and for setting up the ISO inittab
+for booting into the correct enchant setup (i.e. putting the menu installer
on
+tty1 and the shell installer on all the remaining tty's). It will also set up
+other necessary init scripts (and possibly the init system itself, if this is
+needed), though these should really be taken care of via sorcery and casting
+spells with their init scripts enabled.
+
+*****************
+* lib.sorcerous *
+*****************
+ The lib.sorcerous module provides an interface to sorcery components
+and functions as they are needed within cauldron. This includes functions
which
+source sorcery files in the target, as well as functions to download and
+install sorcery into the target.
+
+**************
+* errorcodes *
+**************
+ Defines the cauldron-specific error codes and corresponding messages
to
+be used for error-checking via liberror functions.

*************
* cleaners/ *
*************
- This directory contains text files with lists of files, one per line
-(note: files, not spells!). The files that are listed are ones that
can/should
-be removed from the ISO before packaging it. For example, the build toolchain
-is removed from the ISO via the cleaners, since some of the toolchain
libraries
-are needed for runtime binaries, even though the build tools themselves are
-not. No build tools should be on the ISO! Their spell caches are provided
-instead. The cleaners are used by libcauldron.
-
-***********
-* libinit *
-***********
- The libinit module handles the init system for the ISO. It sets up
-inittab for booting into the correct enchant setup (i.e. putting the menu
-installer on tty1 and the shell installer on all the remaining tty's). It
will
-also set up other necessary init scripts (and possibly the init system
itself,
-if this is needed), though these should really be taken care of via sorcery
and
-casting spells with their init scripts enabled. Sourced by libcauldron
(perhaps
-later to be sourced by the cauldron script instead?).
+ This directory contains text files that list files to be removed from
+the final ISO, one file per line (note: files, not spells!). For example, the
+build toolchain is removed from the ISO before it is packaged, but it is not
+simply dispelled. Instead, it is removed via the cleaners, since some of the
+toolchain libraries are needed for runtime binaries (such as libstdc++), even
+though the build tools themselves are not. No build tools should be on the
ISO!
+Their spell caches are provided instead, and they are to be accessed from the
+installed platform.

***********************
* etc/cauldron/config *
***********************
The config file contains all the global variables used by the cauldron
-scripts that can be user-configured. This includes both cauldron variables
and
-enchant variables. This is used by everything.
-
-*******************************
-* etc/cauldron/iso-spells.lst *
-*******************************
- A list of all the spells necessary for the ISO to function. These are
-all basic spells, like bash for example. Later we will likely also have
-arch-specific spell lists, since different archs will need, for example,
+scripts used to build an ISO that can be user-configured. Like the sorcery
+config file(s), etc/cauldron/config is the main (default) config file, and
+etc/cauldron/local/config is meant to contain modified or custom values. For
+any setting found in both config files, the etc/cauldron/local/config file
+overrides what is in etc/cauldron/config.
+
+*****************************
+* etc/cauldron/$ARCH/spells *
+*****************************
+ A list of all the spells necessary for the ISO runtime to function.
+These are all basic spells, like bash for example. Later we will likely also
+have arch-specific spell lists, since different archs will need, for example,
different boot loaders (grub and lilo are only for x86). The spell list is
used
by libcauldron.

-*******************************
-* etc/cauldron/tool-chain.lst *
-*******************************
+*****************************
+* etc/cauldron/$ARCH/caches *
+*****************************
+ A list of the spells which are necessary for a basic installed target
+system. This should be as close to a minimal basesystem as possible. Anything
+which is truly optional should be provided as spell sources rather than built
+caches. All spells whose caches are provided on the ISO must also have their
+sources provided on the ISO.
+
+******************************
+* etc/cauldron/$ARCH/sources *
+******************************
+ A list of the spells which are not necessary for a basic installed
+target system. These sources are provided for additional functionality, like
+networking. Exclusion of a spell from this list does not imply exclusion of
the
+spell's sources from the ISO (cf. iso-caches.$ARCH, mentioned above).
+
+********************************
+* etc/cauldron/$ARCH/toolchain *
+********************************
This is a list of all the spells needed for building the binaries to
go
-onto the ISO. It includes things like gcc, and for x86 bin86. This will
likely
-get split into arch-specific tool-chain lists later. The tool-chain list is
-used by libcauldron.
+onto the ISO. It includes things like gcc, as well as arch-specific spells
such
+as bin86 for x86.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/

+ Code common to both cauldron and enchantment.
+
************
* liberror *
************
This library defines all the error codes recognized by the cauldron
-scripts, and (when implemented) functions to handle the printing of error
-messages using these codes. This is used by cauldron, libcauldron, and
-libenchant. It is sourced by libcauldron (and should be sourced by cauldron
and
-libenchant?).
+scripts, and functions to handle the printing of error messages using these
+codes. This is used by all the other scripts in the project.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-echantment/
+enchantment/
+
+ Code for enchantment, the installer interface(s) used on the ISOs.

******************
* libenchantment *
@@ -98,6 +152,12 @@ cauldron instead of libcauldron soon. It is also sourced
by the different
installers, as it provides common functionality for them.


+**************
+* errorcodes *
+**************
+ Defines the enchantment-specific error codes and corresponding
messages to
+be used for error-checking via liberror functions.
+
********************
* enchantment/menu *
********************
@@ -109,13 +169,24 @@ of this module.
*********************
* enchantment/shell *
*********************
- The shell installer (as seen on the 0.10.0 devel ISOs). Everything
-relevant to the shell installer goes under this directory, to be copied over
to
-the ISO later if the ISO is intended to use this installer. (Note: The ISO
-really should have this installer! Whatever other installer is being used,
this
-one is highly stable and robust, and requires very little in the way of
system
+ The shell installer (as seen on the 0.10.0 ISOs). Everything relevant
+to the shell installer goes under this directory, to be copied over to the
ISO
+later if the ISO is intended to use this installer. (Note: The ISO really
+should have this installer! Whatever other installer is being used, this one
is
+highly stable and robust, and requires very little in the way of system
resources. It's a good backup if something goes wrong with another installer,
and has proven capable of being the only installer on the ISO as well. Other
installers are just eye-candy on top of this one.)
+
+**************************
+* etc/enchantment/config *
+**************************
+ The config file contains all the global variables used by the
enchantment
+scripts used during the ISO runtime that can be user-configured. Like the
+sorcery config file(s), etc/cauldron/config is the main (default) config
file,
+and etc/cauldron/local/config is meant to contain modified or custom values.
+For any setting found in both config files, the etc/cauldron/local/config
file
+overrides what is in etc/cauldron/config.
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

diff --git a/README b/README
index 433a7ca..06da3fb 100644
--- a/README
+++ b/README
@@ -1,8 +1,8 @@
-This directory contains the *development* version of ISO, installer and
+This directory contains the *development* version of the ISO, installer, and
general cauldron tools.

If you would like to contribute to Cauldron development, please read HACKING
-and API first. DESIGN will explain the general design principles motivating
how
+and API first. DESIGN will explain the general principles motivating how
Cauldron is set up and what needs to be done to build an ISO.

If you are looking for an area that you can contribute to, feel free to read
diff --git a/TODO b/TODO
index 8974e44..90e6a75 100644
--- a/TODO
+++ b/TODO
@@ -8,6 +8,8 @@ Things to do in order to achieve 0.1
- clean the chroot out (cleaners)
- add installer(s)
- extra sanity checks on boot and etc in chroot (add_sauce stuff)
+ - switch initramfs/initrd to use busybox
+ o will need a scrubbed busybox config for this
* set up how to do chroots in libcauldron (${CAULDRON_CHROOT}) (mostly done)
* write code to install sorcery into the CAULDRON_BUILD chroot
* write a cauldron spell so that cauldron can install itself
@@ -18,6 +20,9 @@ Things to do in order to achieve 0.1
- the menu installer needs to be written
~ Not sure if this should really be for 0.1, but a lot of
people have asked for it already.
+ - i18n
+ o fbterm + fontconfig + freetype2 for font displaying
+ o uim (uim-fep) for input
* LOTS AND LOTS OF TESTING!
* More sanity checks and error testing (use liberror!)
- liberror should get a function liberror_chkerror or something, which
diff --git a/cauldron/cauldron b/cauldron/cauldron
index 038ed61..71f638a 100755
--- a/cauldron/cauldron
+++ b/cauldron/cauldron
@@ -45,48 +45,52 @@ EOF
function cauldron_brew () {
# set up basic tool-chain needed for building everything else.
cauldron_base_toolchain
+ liberror_check_fatal_error

# set up chroot for building inside $CAULDRON_BUILD
cauldron_chroot_init
- # exit with error if chroot not defined
- [[ -n "$CAULDRON_CHROOT" ]] || exit $ERR_CHROOT
+ liberror_check_fatal_error

# build the cross-compile tool-chain targeted for the target sys
- if [ -n $TARGET ]
+ if [ "$CAULDRON_ARCH" != "$HOST_ARCH" ]
then
- if [ $TARGET != $HOST ]
- then
- ${CAULDRON_CHROOT} cauldron_cross_toolchain
- fi
+ cauldron_chroot cauldron_cross_toolchain
+ liberror_check_fatal_error
fi

# use the cross-compile tool-chain to cast all spells needed for
# the iso system
- ${CAULDRON_CHROOT} cauldron_build_iso_system ${TARGET_SPELLS}
+ cauldron_chroot cauldron_build_iso_system "$CAULDRON_SPELLS"
+ liberror_check_fatal_error

# configure the iso init system, initrd/initramfs, etc.
- ${CAULDRON_CHROOT} cauldron_iso_init
+ cauldron_chroot cauldron_iso_init
+ liberror_check_fatal_error

# build/create/copy/whatever installer system/data into the iso
- for installer in $(cat ${TARGET_SPELLS})
+ for installer in $(cat "$CAULDRON_SPELLS")
do
- ${CAULDRON_CHROOT} cauldron_add_installer $installer
+ cauldron_chroot cauldron_add_installer "${installer##*/}"
done
+ liberror_check_fatal_error

# remove unnecessary files from iso and free up space
# this needs to have error-checking added in later
- for cleaner in ${CAULDRON_BASE}/cleaners/* ;
+ for cleaner in "$CAULDRON_BASE/cleaners"/* ;
do
- cp ${CAULDRON_BASE}/cleaners/${cleaner} ${CAULDRON_BUILD}/
- ${CAULDRON_CHROOT} cauldron_clean_iso_system /${cleaner}
- ${CAULDORN_CHROOT} rm /${cleaner}
+ cp "$cleaner" "$CAULDRON_BUILD/"
+ cauldron_chroot cauldron_clean_iso_system "/${cleaner##*/}"
+ cauldron_chroot rm "/${cleaner##*/}"
done
+ liberror_check_fatal_error

# finished with iso building, clean up from chroot setup
cauldron_chroot_done
+ liberror_check_fatal_error

# create the iso fs from the build dir
cauldron_mkisofs
+ liberror_check_fatal_error
}

function cauldron_modify_local_config() {
@@ -147,14 +151,17 @@ function cauldron_main() {
fi
}

+# load main config file - required
+. /etc/cauldron/config || exit 1
+
+# load secondary (custom config file) - required if present
if [[ -e /etc/cauldron/local/config ]]
then
- . /etc/cauldron/local/config
-else
- . /etc/cauldron/config
+ . /etc/cauldron/local/config || exit 1
fi

-. /var/lib/cauldron/libcauldron
+# load the main cauldron library
+. "$CAULDRON_LIBS"/libcauldron || exit 1

if [[ $UID == 0 ]]
then
diff --git a/cauldron/errorcodes b/cauldron/errorcodes
index 8325d22..4c8fefb 100644
--- a/cauldron/errorcodes
+++ b/cauldron/errorcodes
@@ -24,19 +24,47 @@ ERR_FATAL=1 # fatal error (missing cauldron
libs, etc.)
ERR_ARCHIVE=2 # problem creating archives
ERR_CHROOT=3 # problem with a chroot
ERR_CLEANFILE=4 # missing cleaner files
-ERR_TARGETSORCERY=5 # missing target sorcery files
-ERR_HOSTSORCERY=6 # sorcery not installed on host
+ERR_TARGET_SORCERY=5 # missing target sorcery files
+ERR_HOST_SORCERY=6 # sorcery not installed on host
+ERR_LOAD_LIBRARY=7 # problem loading a library/include
+ERR_CHROOT_UNDEF=8 # chroot TARGET is undefined
+ERR_CHROOT_INIT=9 # couldn't init chroot
+ERR_CHROOT_DONE=10 # couldn't close chroot
+ERR_CHROOT_NOT_INIT=11 # chroot isn't initialized
+ERR_CREATE_CACHE=12 # error creating spell cache
+ERR_LIBCOLOR=13 # problem loading libcolor when it was requested
+ERR_CP_CACHE=14 # problem copying spell cache from HOST to build
dir
+ERR_BUILD_CACHE=15 # problem building cache file from spell install
info
+ERR_UNPACK_CACHE=16 # couldn't unpack spell cache inside build dir
+ERR_RM_CACHE=17 # couldn't remove spell cache after unpacking in
build
+ERR_HOST_TRIPLE=18 # couldn't get host triple for builds
+ERR_ISO_SORCERY_CONFIG=19 # couldn't create the ISO local sorcery config dir
+ERR_INSTALLER_DIR=20 # couldn't create the ISO installer dir

# error messages
ERR_MSGS=(
- "operation succeeded" # ERR_OK
- "fatal error" # ERR_FATAL
- "sorcery not set to archive" # ERR_ARCHIVE
- "not in chroot" # ERR_CHROOT
- "cleanfile not found" # ERR_CLEANFILE
- "could not load target sorcery" # ERR_TARGETSORCERY
- "could not load host sorcery" # ERR_HOSTSORCERY
- )
+ "operation succeeded" # ERR_OK
+ "fatal error" # ERR_FATAL
+ "sorcery not set to archive" # ERR_ARCHIVE
+ "could not perform chroot command" # ERR_CHROOT
+ "cleanfile not found" # ERR_CLEANFILE
+ "could not load target sorcery" # ERR_TARGETSORCERY
+ "could not load host sorcery" # ERR_HOSTSORCERY
+ "could not load cauldron library" # ERR_LOAD_LIBRARY
+ "target chroot dir undefined" # ERR_CHROOT_UNDEF
+ "could not init chroot" # ERR_CHROOT_INIT
+ "could not clean up chroot" # ERR_CHROOT_DONE
+ "cauldron chroot not initialized" # ERR_CHROOT_NOT_INIT
+ "could not create spell cache" # ERR_CREATE_CACHE
+ "libcolor requested but couldn't load libcolor" # ERR_LIBCOLOR
+ "could not copy spell cache file to build dir" # ERR_CP_CACHE
+ "could not build spell cache file" # ERR_BUILD_CACHE
+ "could not unpack spell cache in build dir" # ERR_UNPACK_CACHE
+ "could not remove temporary spell cache file" # ERR_RM_CACHE
+ "could not get host triple needed for builds" # ERR_HOST_TRIPLE
+ "couldn't create the ISO local sorcery config dir" #
ERR_ISO_SORCERY_CONFIG
+ "couldn't create the installer dir" # ERR_INSTALLER_DIR
+ )


#-------------------------------------------------------------------------------
##
@@ -57,4 +85,3 @@ ERR_MSGS=(

#-------------------------------------------------------------------------------

# vim:ai:tw=80:tabstop=2:softtabstop=2:shiftwidth=2:expandtab
-
diff --git a/cauldron/etc/config b/cauldron/etc/config
index 6eeb928..474bff2 100644
--- a/cauldron/etc/config
+++ b/cauldron/etc/config
@@ -1,47 +1,65 @@
- SORCERY_CONFIG="/etc/sorcery/config"
- SORCERY_LIBS="/var/lib/sorcery/modules"
- HOST_SORCERY_CONFIG="/etc/sorcery/local/config"
- HOST_PACKAGES="/var/state/sorcery/packages"
- HOST_SORCERY_SPOOL="/var/spool/sorcery"
- HOST_ARCH_PATH=$(grep "ARCH_SPEC=" ${SORCERY_CONFIG} | \
- cut -d = -f 2)
- HOST_ARCH=$(grep "ARCHITECTURE=" ${HOST_SORCERY_CONFIG} | \
- cut -d = -f 2)
- CACHE_EXTENSION=$(grep "EXTENSION=" ${HOST_SORCERY_CONFIG} | \
- cut -d = -f 2)
-
- CAULDRON_CAST="/usr/sbin/cast"
- CAULDRON_DISPEL="/usr/sbin/dispel"
- CAULDRON_REBUILD="/usr/sbin/sorcery rebuild"
-
# path to the host system (null for normal use)
- HOSTPATH=""
+ HOST_PATH="${HOST_PATH:-}"
# path to the ISO system (this should usually be null, unless
# you are doing some tricky hacking)
- ISOPATH=""
+ ISO_PATH="${ISO_PATH:-}"
# path to the base library modules
- BASE_LIBS="${HOSTPATH}/var/lib/cauldron"
+ CAULDRON_BASE="${CAULDRON_BASE:-$HOST_PATH/var/lib/cauldron}"
# path to the cauldron library modules
- CAULDRON_LIBS="${HOSTPATH}/var/lib/cauldron/cauldron"
+ CAULDRON_LIBS="${CAULDRON_LIBS:-$CAULDRON_BASE/cauldron}"
# path to the cauldron configs
- CAULDRON_DATA="/etc/cauldron"
+ CAULDRON_DATA="{$CAULDRON_DATA:-$HOST_PATH/etc/cauldron}"
# path to where the ISO build chroot is/will go
- CAULDRON_BUILD="${HOSTPATH}/tmp/cauldron"
+ CAULDRON_BUILD="${CAULDRON_BUILD:-$HOST_PATH/tmp/cauldron}"
# temporary files generated while cauldron does its work
- CAULDRON_TMP="${CAULDRON_BUILD}/tmp"
-# should point to a file listing all the spells needed for the toolchain
- HOST_TOOLCHAIN="${HOSTPATH}/etc/cauldron/toolchain.x86"
+ CAULDRON_TMP="${CAULDRON_TMP:-$CAULDRON_BUILD/tmp}"
# should point to a file listing all the spells needed for the toolchain
- TARGET_SPELLS="${HOSTPATH}/etc/cauldron/isospells.x86"
+
CAULDRON_TOOLCHAIN="${CAULDRON_TOOLCHAIN:-$CAULDRON_DATA/$CAULDRON_ARCH/toolchain}"
+# should point to a file listing all the spells needed for the ISO runtime
+
CAULDRON_SPELLS="${CAULDRON_SPELLS:-$CAULDRON_DATA/$CAULDRON_ARCH/spells}"
+# should point to a file listing all the spells needed for the ISO runtime
+
CAULDRON_SOURCES="${CAULDRON_SPELLS:-$CAULDRON_DATA/$CAULDRON_ARCH/sources}"
+# should point to a file listing all the spells needed for the ISO runtime
+
CAULDRON_CACHES="${CAULDRON_SPELLS:-$CAULDRON_DATA/$CAULDRON_ARCH/caches}"
+# the arch to generate the ISO for
+ CAULDRON_ARCH="${CAULDRON_ARCH:-x86}"
# what the ISO will be called (should follow the ISO naming conventions)
- SMGL_ISO="smgl-devel-$(date +%Y%m%d)"
+ SMGL_ISO="${SMGL_ISO:-smgl-devel-$(date
+%Y%m%d).$CAULDRON_ARCH}"
# the name of the kernel to be used in the ISO
- CAULDRON_KVERS=""
+ CAULDRON_KVERS="${CAULDRON_KVERS:-}"
# contains the arch info for the HOST
- HOST_TRIPLE=""
+ HOST_TRIPLE="${HOST_TRIPLE:-}"
# whether CAULDRON_BUILD should be rm'ed after cauldron has finished
- CAULDRON_CLEAN="no"
+ CAULDRON_CLEAN="${CAULDRON_CLEAN:-no}"
# do we keep the uncompressed .iso file in addition to the compressed one?
- CAULDRON_KEEPISO="yes"
+ CAULDRON_KEEPISO="${CAULDRON_KEEPISO:-yes}"
# branch of sorcery to use in the ISO
- ISO_SORCERY_BRANCH="stable"
+ ISO_SORCERY_BRANCH="${ISO_SORCERY_BRANCH:-stable}"
+# sorcery local config location in the ISO
+
ISO_SORCERY_CONFIG="${ISO_SORCERY_CONFIG:-$CAULDRON_BUILD/etc/sorcer/local/config}"
+
+ CAULDRON_SORCERY_PATH="${CAULDRON_SORCERY_PATH:-$HOST_PATH/usr/sbin}"
+ CAULDRON_CAST="${CAULDRON_CAST:-$CAULDRON_SORCERY_PATH/cast}"
+ CAULDRON_DISPEL="${CAULDRON_DISPEL:-$CAULDRON_SORCERY_PATH/dispel}"
+ CAULDRON_REBUILD="${CAULDRON_REBUILD:-$CAULDRON_SORCERY_PATH/sorcery
rebuild}"
+
+ CAULDRON_CHROOT_CMD="${CAULDRON_CHROOT_CMD:-chroot}"
+
+# whether to use color for displaying messages
+ CAULDRON_COLOR="${CAULDRON_COLOR:-yes}"
+
+
CAULDRON_SORCERY_LIBS="${CAULDRON_SORCERY_LIBS:-$CAULDRON_BUILD/var/lib/sorcery/modules}"
+ SORCERY_CONFIG="${SORCERY_CONFIG:-$HOST_PATH/etc/sorcery/config}"
+
HOST_SORCERY_CONFIG="${HOST_SORCERY_CONFIG:-$HOST_PATH/etc/sorcery/config}"
+
HOST_SORCERY_LCONFIG="${HOST_SORCERY_LCONFIG:-$HOST_PATH/etc/sorcery/local/config}"
+ HOST_SORCERY_LIBS="${SORCERY_LIBS:-$HOST_PATH/var/lib/sorcery/modules}"
+
HOST_SORCERY_PACKAGES="${HOST_SORCERY_PACKAGES:-$HOST_PATH/var/state/sorcery/packages}"
+ HOST_SORCERY_SPOOL="${HOST_SORCERY_SPOOL:-$HOST_PATH/var/spool/sorcery}"
+
+ HOST_ARCH_PATH=$(grep "ARCH_SPEC=" ${SORCERY_CONFIG} | \
+ cut -d = -f 2)
+ HOST_ARCH=$(grep "ARCHITECTURE=" ${HOST_SORCERY_CONFIG} | \
+ cut -d = -f 2)
+ CACHE_EXTENSION=$(grep "EXTENSION=" ${HOST_SORCERY_CONFIG} | \
+ cut -d = -f 2)
+
diff --git a/cauldron/etc/isospells.x86 b/cauldron/etc/isospells.x86
deleted file mode 100644
index 9a31e82..0000000
--- a/cauldron/etc/isospells.x86
+++ /dev/null
@@ -1,90 +0,0 @@
-autoconf
-automake
-basesystem
-bash
-bin86
-binutils
-bison
-bzip2
-coreutils
-cpio
-device-mapper
-dhcpcd
-dialog
-diffutils
-e2fsprogs
-ed
-eject
-elvis
-file
-findutils
-flex
-g++
-gawk
-gcc
-gettext
-glibc
-gnupg
-grep
-groff
-grub
-gzip
-hdparm
-iana-etc
-init.d
-installwatch
-jed
-jfsutils
-kbd
-less
-libaal
-libtool
-lilo
-linux
-locale
-lvm
-lynx
-m4
-make
-man
-mdadm
-mktemp
-module-init-tools
-nano
-ncurses
-net-tools
-netconf
-netkit-base
-netkit-ping
-nfs-utils
-openssl
-patch
-pciutils
-pcmciautils
-perl
-popt
-portmap
-procps
-readline
-reiser4progs
-reiserfsprogs
-rpmunpack
-sed
-shadow
-simpleinit-msb
-slang
-smgl-archspecs
-smgl-fhs
-sorcery-pubkeys
-sysfsutils
-tar
-tcp_wrappers
-texinfo
-udev
-unzip
-util-linux
-wget
-which
-wireless_tools
-xfsprogs
-zlib
diff --git a/cauldron/etc/linux-2.6.22.x86 b/cauldron/etc/linux-2.6.22.x86
deleted file mode 100644
index 3a0a34f..0000000
--- a/cauldron/etc/linux-2.6.22.x86
+++ /dev/null
@@ -1,3717 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.22
-# Wed May 14 05:24:31 2008
-#
-CONFIG_X86_32=y
-CONFIG_GENERIC_TIME=y
-CONFIG_CLOCKSOURCE_WATCHDOG=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_SEMAPHORE_SLEEPERS=y
-CONFIG_X86=y
-CONFIG_MMU=y
-CONFIG_ZONE_DMA=y
-CONFIG_QUICKLIST=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-CONFIG_DMI=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION="-SMGL-iso"
-CONFIG_LOCALVERSION_AUTO=y
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-# CONFIG_IPC_NS is not set
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-# CONFIG_TASKSTATS is not set
-# CONFIG_UTS_NS is not set
-CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=18
-# CONFIG_SYSFS_DEPRECATED is not set
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-# CONFIG_EMBEDDED is not set
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_KALLSYMS=y
-CONFIG_KALLSYMS_ALL=y
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_ANON_INODES=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
-# CONFIG_SLOB is not set
-CONFIG_RT_MUTEXES=y
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=0
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-CONFIG_MODULE_SRCVERSION_ALL=y
-CONFIG_KMOD=y
-
-#
-# Block layer
-#
-CONFIG_BLOCK=y
-CONFIG_LBD=y
-CONFIG_BLK_DEV_IO_TRACE=y
-CONFIG_LSF=y
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-CONFIG_DEFAULT_AS=y
-# CONFIG_DEFAULT_DEADLINE is not set
-# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
-
-#
-# Processor type and features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-# CONFIG_SMP is not set
-CONFIG_X86_PC=y
-# CONFIG_X86_ELAN is not set
-# CONFIG_X86_VOYAGER is not set
-# CONFIG_X86_NUMAQ is not set
-# CONFIG_X86_SUMMIT is not set
-# CONFIG_X86_BIGSMP is not set
-# CONFIG_X86_VISWS is not set
-# CONFIG_X86_GENERICARCH is not set
-# CONFIG_X86_ES7000 is not set
-# CONFIG_PARAVIRT is not set
-# CONFIG_M386 is not set
-CONFIG_M486=y
-# CONFIG_M586 is not set
-# CONFIG_M586TSC is not set
-# CONFIG_M586MMX is not set
-# CONFIG_M686 is not set
-# CONFIG_MPENTIUMII is not set
-# CONFIG_MPENTIUMIII is not set
-# CONFIG_MPENTIUMM is not set
-# CONFIG_MCORE2 is not set
-# CONFIG_MPENTIUM4 is not set
-# CONFIG_MK6 is not set
-# CONFIG_MK7 is not set
-# CONFIG_MK8 is not set
-# CONFIG_MCRUSOE is not set
-# CONFIG_MEFFICEON is not set
-# CONFIG_MWINCHIPC6 is not set
-# CONFIG_MWINCHIP2 is not set
-# CONFIG_MWINCHIP3D is not set
-# CONFIG_MGEODEGX1 is not set
-# CONFIG_MGEODE_LX is not set
-# CONFIG_MCYRIXIII is not set
-# CONFIG_MVIAC3_2 is not set
-# CONFIG_MVIAC7 is not set
-CONFIG_X86_GENERIC=y
-CONFIG_X86_CMPXCHG=y
-CONFIG_X86_L1_CACHE_SHIFT=7
-CONFIG_X86_XADD=y
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_X86_PPRO_FENCE=y
-CONFIG_X86_F00F_BUG=y
-CONFIG_X86_WP_WORKS_OK=y
-CONFIG_X86_INVLPG=y
-CONFIG_X86_BSWAP=y
-CONFIG_X86_POPAD_OK=y
-CONFIG_X86_ALIGNMENT_16=y
-CONFIG_X86_INTEL_USERCOPY=y
-CONFIG_X86_MINIMUM_CPU_MODEL=4
-CONFIG_HPET_TIMER=y
-# CONFIG_PREEMPT_NONE is not set
-CONFIG_PREEMPT_VOLUNTARY=y
-# CONFIG_PREEMPT is not set
-CONFIG_X86_UP_APIC=y
-CONFIG_X86_UP_IOAPIC=y
-CONFIG_X86_LOCAL_APIC=y
-CONFIG_X86_IO_APIC=y
-CONFIG_X86_MCE=y
-CONFIG_X86_MCE_NONFATAL=y
-CONFIG_X86_MCE_P4THERMAL=y
-CONFIG_VM86=y
-CONFIG_TOSHIBA=m
-CONFIG_I8K=m
-# CONFIG_X86_REBOOTFIXUPS is not set
-CONFIG_MICROCODE=y
-CONFIG_MICROCODE_OLD_INTERFACE=y
-CONFIG_X86_MSR=y
-CONFIG_X86_CPUID=y
-
-#
-# Firmware Drivers
-#
-# CONFIG_EDD is not set
-# CONFIG_EFI_VARS is not set
-# CONFIG_DELL_RBU is not set
-# CONFIG_DCDBAS is not set
-# CONFIG_NOHIGHMEM is not set
-CONFIG_HIGHMEM4G=y
-# CONFIG_HIGHMEM64G is not set
-CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_HIGHMEM=y
-CONFIG_ARCH_FLATMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ARCH_POPULATES_NODE_MAP=y
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_DISCONTIGMEM_MANUAL is not set
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_SPARSEMEM_STATIC=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_RESOURCES_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_NR_QUICK=1
-# CONFIG_HIGHPTE is not set
-CONFIG_MATH_EMULATION=y
-CONFIG_MTRR=y
-CONFIG_EFI=y
-CONFIG_BOOT_IOREMAP=y
-CONFIG_SECCOMP=y
-# CONFIG_HZ_100 is not set
-CONFIG_HZ_250=y
-# CONFIG_HZ_300 is not set
-# CONFIG_HZ_1000 is not set
-CONFIG_HZ=250
-# CONFIG_KEXEC is not set
-# CONFIG_CRASH_DUMP is not set
-CONFIG_PHYSICAL_START=0x100000
-# CONFIG_RELOCATABLE is not set
-CONFIG_PHYSICAL_ALIGN=0x100000
-CONFIG_COMPAT_VDSO=y
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-
-#
-# Power management options (ACPI, APM)
-#
-CONFIG_PM=y
-CONFIG_PM_LEGACY=y
-CONFIG_PM_DEBUG=y
-# CONFIG_DISABLE_CONSOLE_SUSPEND is not set
-# CONFIG_PM_TRACE is not set
-# CONFIG_PM_SYSFS_DEPRECATED is not set
-CONFIG_SOFTWARE_SUSPEND=y
-CONFIG_PM_STD_PARTITION=""
-
-#
-# ACPI (Advanced Configuration and Power Interface) Support
-#
-CONFIG_ACPI=y
-CONFIG_ACPI_SLEEP=y
-CONFIG_ACPI_SLEEP_PROC_FS=y
-# CONFIG_ACPI_SLEEP_PROC_SLEEP is not set
-CONFIG_ACPI_PROCFS=y
-CONFIG_ACPI_AC=m
-CONFIG_ACPI_BATTERY=m
-CONFIG_ACPI_BUTTON=m
-CONFIG_ACPI_VIDEO=m
-CONFIG_ACPI_FAN=m
-CONFIG_ACPI_DOCK=m
-# CONFIG_ACPI_BAY is not set
-CONFIG_ACPI_PROCESSOR=m
-CONFIG_ACPI_THERMAL=m
-CONFIG_ACPI_ASUS=m
-CONFIG_ACPI_TOSHIBA=m
-CONFIG_ACPI_BLACKLIST_YEAR=2001
-CONFIG_ACPI_DEBUG=y
-CONFIG_ACPI_EC=y
-CONFIG_ACPI_POWER=y
-CONFIG_ACPI_SYSTEM=y
-CONFIG_X86_PM_TIMER=y
-# CONFIG_ACPI_CONTAINER is not set
-# CONFIG_ACPI_SBS is not set
-CONFIG_APM=m
-# CONFIG_APM_IGNORE_USER_SUSPEND is not set
-# CONFIG_APM_DO_ENABLE is not set
-# CONFIG_APM_CPU_IDLE is not set
-# CONFIG_APM_DISPLAY_BLANK is not set
-# CONFIG_APM_ALLOW_INTS is not set
-# CONFIG_APM_REAL_MODE_POWER_OFF is not set
-
-#
-# CPU Frequency scaling
-#
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_TABLE=m
-CONFIG_CPU_FREQ_DEBUG=y
-CONFIG_CPU_FREQ_STAT=m
-CONFIG_CPU_FREQ_STAT_DETAILS=y
-CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=m
-CONFIG_CPU_FREQ_GOV_USERSPACE=m
-CONFIG_CPU_FREQ_GOV_ONDEMAND=m
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
-
-#
-# CPUFreq processor drivers
-#
-CONFIG_X86_ACPI_CPUFREQ=m
-CONFIG_X86_POWERNOW_K6=m
-CONFIG_X86_POWERNOW_K7=m
-CONFIG_X86_POWERNOW_K7_ACPI=y
-CONFIG_X86_POWERNOW_K8=m
-CONFIG_X86_POWERNOW_K8_ACPI=y
-CONFIG_X86_GX_SUSPMOD=m
-CONFIG_X86_SPEEDSTEP_CENTRINO=m
-# CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI is not set
-CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
-CONFIG_X86_SPEEDSTEP_ICH=m
-CONFIG_X86_SPEEDSTEP_SMI=m
-CONFIG_X86_P4_CLOCKMOD=m
-CONFIG_X86_CPUFREQ_NFORCE2=m
-CONFIG_X86_LONGRUN=m
-CONFIG_X86_LONGHAUL=m
-CONFIG_X86_E_POWERSAVER=m
-
-#
-# shared options
-#
-CONFIG_X86_ACPI_CPUFREQ_PROC_INTF=y
-CONFIG_X86_SPEEDSTEP_LIB=m
-CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
-
-#
-# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
-#
-CONFIG_PCI=y
-# CONFIG_PCI_GOBIOS is not set
-# CONFIG_PCI_GOMMCONFIG is not set
-# CONFIG_PCI_GODIRECT is not set
-CONFIG_PCI_GOANY=y
-CONFIG_PCI_BIOS=y
-CONFIG_PCI_DIRECT=y
-CONFIG_PCI_MMCONFIG=y
-CONFIG_PCIEPORTBUS=y
-CONFIG_HOTPLUG_PCI_PCIE=m
-# CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE is not set
-CONFIG_PCIEAER=y
-CONFIG_ARCH_SUPPORTS_MSI=y
-CONFIG_PCI_MSI=y
-CONFIG_PCI_DEBUG=y
-CONFIG_HT_IRQ=y
-CONFIG_ISA_DMA_API=y
-CONFIG_ISA=y
-CONFIG_EISA=y
-CONFIG_EISA_VLB_PRIMING=y
-CONFIG_EISA_PCI_EISA=y
-CONFIG_EISA_VIRTUAL_ROOT=y
-CONFIG_EISA_NAMES=y
-CONFIG_MCA=y
-CONFIG_MCA_LEGACY=y
-CONFIG_MCA_PROC_FS=y
-CONFIG_SCx200=m
-CONFIG_SCx200HR_TIMER=m
-CONFIG_K8_NB=y
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
-CONFIG_PCCARD=m
-CONFIG_PCMCIA_DEBUG=y
-CONFIG_PCMCIA=m
-CONFIG_PCMCIA_LOAD_CIS=y
-CONFIG_PCMCIA_IOCTL=y
-CONFIG_CARDBUS=y
-
-#
-# PC-card bridges
-#
-CONFIG_YENTA=m
-CONFIG_YENTA_O2=y
-CONFIG_YENTA_RICOH=y
-CONFIG_YENTA_TI=y
-CONFIG_YENTA_ENE_TUNE=y
-CONFIG_YENTA_TOSHIBA=y
-CONFIG_PD6729=m
-CONFIG_I82092=m
-CONFIG_I82365=m
-CONFIG_TCIC=m
-CONFIG_PCMCIA_PROBE=y
-CONFIG_PCCARD_NONSTATIC=m
-CONFIG_HOTPLUG_PCI=m
-CONFIG_HOTPLUG_PCI_FAKE=m
-CONFIG_HOTPLUG_PCI_COMPAQ=m
-CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=y
-CONFIG_HOTPLUG_PCI_IBM=m
-CONFIG_HOTPLUG_PCI_ACPI=m
-CONFIG_HOTPLUG_PCI_ACPI_IBM=m
-CONFIG_HOTPLUG_PCI_CPCI=y
-CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
-CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
-CONFIG_HOTPLUG_PCI_SHPC=m
-
-#
-# Executable file formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_BINFMT_AOUT=m
-CONFIG_BINFMT_MISC=m
-
-#
-# Networking
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-CONFIG_XFRM_USER=y
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
-CONFIG_NET_KEY=m
-# CONFIG_NET_KEY_MIGRATE is not set
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_ASK_IP_FIB_HASH=y
-# CONFIG_IP_FIB_TRIE is not set
-CONFIG_IP_FIB_HASH=y
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE=m
-CONFIG_NET_IPGRE_BROADCAST=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-# CONFIG_ARPD is not set
-CONFIG_SYN_COOKIES=y
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_XFRM_TUNNEL=m
-CONFIG_INET_TUNNEL=m
-CONFIG_INET_XFRM_MODE_TRANSPORT=m
-CONFIG_INET_XFRM_MODE_TUNNEL=m
-CONFIG_INET_XFRM_MODE_BEET=m
-CONFIG_INET_DIAG=m
-CONFIG_INET_TCP_DIAG=m
-CONFIG_TCP_CONG_ADVANCED=y
-CONFIG_TCP_CONG_BIC=m
-CONFIG_TCP_CONG_CUBIC=m
-CONFIG_TCP_CONG_WESTWOOD=m
-CONFIG_TCP_CONG_HTCP=m
-CONFIG_TCP_CONG_HSTCP=m
-CONFIG_TCP_CONG_HYBLA=m
-CONFIG_TCP_CONG_VEGAS=m
-CONFIG_TCP_CONG_SCALABLE=m
-CONFIG_TCP_CONG_LP=m
-CONFIG_TCP_CONG_VENO=m
-CONFIG_TCP_CONG_YEAH=m
-CONFIG_TCP_CONG_ILLINOIS=m
-# CONFIG_DEFAULT_BIC is not set
-# CONFIG_DEFAULT_CUBIC is not set
-# CONFIG_DEFAULT_HTCP is not set
-# CONFIG_DEFAULT_VEGAS is not set
-# CONFIG_DEFAULT_WESTWOOD is not set
-CONFIG_DEFAULT_RENO=y
-CONFIG_DEFAULT_TCP_CONG="reno"
-# CONFIG_TCP_MD5SIG is not set
-# CONFIG_IP_VS is not set
-CONFIG_IPV6=y
-CONFIG_IPV6_PRIVACY=y
-CONFIG_IPV6_ROUTER_PREF=y
-# CONFIG_IPV6_ROUTE_INFO is not set
-# CONFIG_IPV6_OPTIMISTIC_DAD is not set
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-# CONFIG_IPV6_MIP6 is not set
-CONFIG_INET6_XFRM_TUNNEL=m
-CONFIG_INET6_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-CONFIG_INET6_XFRM_MODE_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_BEET=m
-# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
-CONFIG_IPV6_SIT=m
-CONFIG_IPV6_TUNNEL=m
-CONFIG_IPV6_MULTIPLE_TABLES=y
-CONFIG_IPV6_SUBTREES=y
-# CONFIG_NETLABEL is not set
-CONFIG_NETWORK_SECMARK=y
-CONFIG_NETFILTER=y
-CONFIG_NETFILTER_DEBUG=y
-CONFIG_BRIDGE_NETFILTER=y
-
-#
-# Core Netfilter Configuration
-#
-CONFIG_NETFILTER_NETLINK=y
-CONFIG_NETFILTER_NETLINK_QUEUE=y
-CONFIG_NETFILTER_NETLINK_LOG=y
-CONFIG_NF_CONNTRACK_ENABLED=m
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_CT_ACCT=y
-CONFIG_NF_CONNTRACK_MARK=y
-CONFIG_NF_CONNTRACK_SECMARK=y
-# CONFIG_NF_CONNTRACK_EVENTS is not set
-CONFIG_NF_CT_PROTO_GRE=m
-# CONFIG_NF_CT_PROTO_SCTP is not set
-CONFIG_NF_CONNTRACK_AMANDA=m
-CONFIG_NF_CONNTRACK_FTP=m
-# CONFIG_NF_CONNTRACK_H323 is not set
-CONFIG_NF_CONNTRACK_IRC=m
-# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
-CONFIG_NF_CONNTRACK_PPTP=m
-# CONFIG_NF_CONNTRACK_SANE is not set
-# CONFIG_NF_CONNTRACK_SIP is not set
-CONFIG_NF_CONNTRACK_TFTP=m
-# CONFIG_NF_CT_NETLINK is not set
-CONFIG_NETFILTER_XTABLES=y
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_DSCP=m
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
-CONFIG_NETFILTER_XT_TARGET_SECMARK=m
-CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_NETFILTER_XT_MATCH_DCCP=m
-CONFIG_NETFILTER_XT_MATCH_DSCP=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_HELPER=m
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_NF_CONNTRACK_IPV4=m
-CONFIG_NF_CONNTRACK_PROC_COMPAT=y
-CONFIG_IP_NF_QUEUE=m
-CONFIG_IP_NF_IPTABLES=y
-CONFIG_IP_NF_MATCH_IPRANGE=m
-CONFIG_IP_NF_MATCH_TOS=m
-CONFIG_IP_NF_MATCH_RECENT=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_MATCH_OWNER=m
-CONFIG_IP_NF_MATCH_ADDRTYPE=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_LOG=m
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_NF_NAT=m
-CONFIG_NF_NAT_NEEDED=y
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_SAME=m
-# CONFIG_NF_NAT_SNMP_BASIC is not set
-CONFIG_NF_NAT_PROTO_GRE=m
-CONFIG_NF_NAT_FTP=m
-CONFIG_NF_NAT_IRC=m
-CONFIG_NF_NAT_TFTP=m
-CONFIG_NF_NAT_AMANDA=m
-CONFIG_NF_NAT_PPTP=m
-# CONFIG_NF_NAT_H323 is not set
-# CONFIG_NF_NAT_SIP is not set
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_TOS=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-
-#
-# IPv6: Netfilter Configuration (EXPERIMENTAL)
-#
-# CONFIG_NF_CONNTRACK_IPV6 is not set
-CONFIG_IP6_NF_QUEUE=m
-CONFIG_IP6_NF_IPTABLES=y
-CONFIG_IP6_NF_MATCH_RT=m
-CONFIG_IP6_NF_MATCH_OPTS=m
-CONFIG_IP6_NF_MATCH_FRAG=m
-CONFIG_IP6_NF_MATCH_HL=m
-CONFIG_IP6_NF_MATCH_OWNER=m
-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-CONFIG_IP6_NF_MATCH_AH=m
-CONFIG_IP6_NF_MATCH_MH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_LOG=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_RAW=m
-
-#
-# DECnet: Netfilter Configuration
-#
-CONFIG_DECNET_NF_GRABULATOR=m
-
-#
-# Bridge: Netfilter Configuration
-#
-CONFIG_BRIDGE_NF_EBTABLES=m
-CONFIG_BRIDGE_EBT_BROUTE=m
-CONFIG_BRIDGE_EBT_T_FILTER=m
-CONFIG_BRIDGE_EBT_T_NAT=m
-CONFIG_BRIDGE_EBT_802_3=m
-CONFIG_BRIDGE_EBT_AMONG=m
-CONFIG_BRIDGE_EBT_ARP=m
-CONFIG_BRIDGE_EBT_IP=m
-CONFIG_BRIDGE_EBT_LIMIT=m
-CONFIG_BRIDGE_EBT_MARK=m
-CONFIG_BRIDGE_EBT_PKTTYPE=m
-CONFIG_BRIDGE_EBT_STP=m
-CONFIG_BRIDGE_EBT_VLAN=m
-CONFIG_BRIDGE_EBT_ARPREPLY=m
-CONFIG_BRIDGE_EBT_DNAT=m
-CONFIG_BRIDGE_EBT_MARK_T=m
-CONFIG_BRIDGE_EBT_REDIRECT=m
-CONFIG_BRIDGE_EBT_SNAT=m
-CONFIG_BRIDGE_EBT_LOG=m
-CONFIG_BRIDGE_EBT_ULOG=m
-# CONFIG_IP_DCCP is not set
-CONFIG_IP_SCTP=y
-# CONFIG_SCTP_DBG_MSG is not set
-# CONFIG_SCTP_DBG_OBJCNT is not set
-# CONFIG_SCTP_HMAC_NONE is not set
-# CONFIG_SCTP_HMAC_SHA1 is not set
-CONFIG_SCTP_HMAC_MD5=y
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-CONFIG_BRIDGE=m
-CONFIG_VLAN_8021Q=m
-CONFIG_DECNET=m
-# CONFIG_DECNET_ROUTER is not set
-CONFIG_LLC=y
-CONFIG_LLC2=m
-CONFIG_IPX=m
-# CONFIG_IPX_INTERN is not set
-CONFIG_ATALK=m
-CONFIG_DEV_APPLETALK=m
-CONFIG_LTPC=m
-CONFIG_COPS=m
-CONFIG_COPS_DAYNA=y
-CONFIG_COPS_TANGENT=y
-CONFIG_IPDDP=m
-CONFIG_IPDDP_ENCAP=y
-CONFIG_IPDDP_DECAP=y
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_ECONET is not set
-CONFIG_WAN_ROUTER=m
-
-#
-# QoS and/or fair queueing
-#
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_FIFO=y
-
-#
-# Queueing/Scheduling
-#
-CONFIG_NET_SCH_CBQ=m
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_RED=m
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCH_TBF=m
-CONFIG_NET_SCH_GRED=m
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCH_NETEM=m
-CONFIG_NET_SCH_INGRESS=m
-
-#
-# Classification
-#
-CONFIG_NET_CLS=y
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_ROUTE=y
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_U32=m
-CONFIG_CLS_U32_PERF=y
-CONFIG_CLS_U32_MARK=y
-CONFIG_NET_CLS_RSVP=m
-CONFIG_NET_CLS_RSVP6=m
-CONFIG_NET_EMATCH=y
-CONFIG_NET_EMATCH_STACK=32
-CONFIG_NET_EMATCH_CMP=m
-CONFIG_NET_EMATCH_NBYTE=m
-CONFIG_NET_EMATCH_U32=m
-CONFIG_NET_EMATCH_META=m
-CONFIG_NET_EMATCH_TEXT=m
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_ACT_POLICE=m
-CONFIG_NET_ACT_GACT=m
-CONFIG_GACT_PROB=y
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_ACT_IPT=m
-CONFIG_NET_ACT_PEDIT=m
-# CONFIG_NET_ACT_SIMP is not set
-CONFIG_NET_CLS_IND=y
-CONFIG_NET_ESTIMATOR=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-CONFIG_HAMRADIO=y
-
-#
-# Packet Radio protocols
-#
-CONFIG_AX25=m
-CONFIG_AX25_DAMA_SLAVE=y
-CONFIG_NETROM=m
-CONFIG_ROSE=m
-
-#
-# AX.25 network device drivers
-#
-CONFIG_MKISS=m
-CONFIG_6PACK=m
-CONFIG_BPQETHER=m
-CONFIG_DMASCC=m
-CONFIG_SCC=m
-# CONFIG_SCC_DELAY is not set
-CONFIG_SCC_TRXECHO=y
-CONFIG_BAYCOM_SER_FDX=m
-CONFIG_BAYCOM_SER_HDX=m
-# CONFIG_BAYCOM_PAR is not set
-# CONFIG_BAYCOM_EPP is not set
-CONFIG_YAM=m
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-# CONFIG_IRNET is not set
-CONFIG_IRCOMM=m
-CONFIG_IRDA_ULTRA=y
-
-#
-# IrDA options
-#
-CONFIG_IRDA_CACHE_LAST_LSAP=y
-CONFIG_IRDA_FAST_RR=y
-CONFIG_IRDA_DEBUG=y
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-CONFIG_IRTTY_SIR=m
-
-#
-# Dongle support
-#
-# CONFIG_DONGLE is not set
-CONFIG_KINGSUN_DONGLE=m
-
-#
-# Old SIR device drivers
-#
-CONFIG_IRPORT_SIR=m
-
-#
-# Old Serial dongle support
-#
-CONFIG_DONGLE_OLD=y
-CONFIG_ESI_DONGLE_OLD=m
-CONFIG_ACTISYS_DONGLE_OLD=m
-CONFIG_TEKRAM_DONGLE_OLD=m
-CONFIG_GIRBIL_DONGLE_OLD=m
-CONFIG_LITELINK_DONGLE_OLD=m
-CONFIG_MCP2120_DONGLE_OLD=m
-CONFIG_OLD_BELKIN_DONGLE_OLD=m
-# CONFIG_ACT200L_DONGLE_OLD is not set
-# CONFIG_MA600_DONGLE_OLD is not set
-
-#
-# FIR device drivers
-#
-CONFIG_USB_IRDA=m
-# CONFIG_SIGMATEL_FIR is not set
-CONFIG_NSC_FIR=m
-CONFIG_WINBOND_FIR=m
-CONFIG_TOSHIBA_FIR=m
-# CONFIG_SMC_IRCC_FIR is not set
-# CONFIG_ALI_FIR is not set
-# CONFIG_VLSI_FIR is not set
-CONFIG_VIA_FIR=m
-CONFIG_MCS_FIR=m
-CONFIG_BT=m
-CONFIG_BT_L2CAP=m
-CONFIG_BT_SCO=m
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-# CONFIG_BT_CMTP is not set
-CONFIG_BT_HIDP=m
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIUSB=m
-CONFIG_BT_HCIUSB_SCO=y
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
-CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIVHCI=m
-CONFIG_AF_RXRPC=m
-CONFIG_AF_RXRPC_DEBUG=y
-CONFIG_RXKAD=m
-CONFIG_FIB_RULES=y
-
-#
-# Wireless
-#
-CONFIG_CFG80211=m
-CONFIG_WIRELESS_EXT=y
-CONFIG_MAC80211=m
-# CONFIG_MAC80211_LEDS is not set
-# CONFIG_MAC80211_DEBUGFS is not set
-# CONFIG_MAC80211_DEBUG is not set
-CONFIG_IEEE80211=m
-# CONFIG_IEEE80211_DEBUG is not set
-CONFIG_IEEE80211_CRYPT_WEP=m
-CONFIG_IEEE80211_CRYPT_CCMP=m
-CONFIG_IEEE80211_CRYPT_TKIP=m
-CONFIG_IEEE80211_SOFTMAC=m
-# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
-CONFIG_RFKILL=m
-CONFIG_RFKILL_INPUT=m
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
-
-#
-# Connector - unified userspace <-> kernelspace linker
-#
-CONFIG_CONNECTOR=m
-CONFIG_MTD=m
-# CONFIG_MTD_DEBUG is not set
-CONFIG_MTD_CONCAT=m
-CONFIG_MTD_PARTITIONS=y
-CONFIG_MTD_REDBOOT_PARTS=m
-CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
-# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
-# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=m
-CONFIG_MTD_BLKDEVS=m
-CONFIG_MTD_BLOCK=m
-CONFIG_MTD_BLOCK_RO=m
-CONFIG_FTL=m
-CONFIG_NFTL=m
-CONFIG_NFTL_RW=y
-CONFIG_INFTL=m
-CONFIG_RFD_FTL=m
-CONFIG_SSFDC=m
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=m
-CONFIG_MTD_JEDECPROBE=m
-CONFIG_MTD_GEN_PROBE=m
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_NOSWAP=y
-# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
-CONFIG_MTD_CFI_GEOMETRY=y
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-CONFIG_MTD_MAP_BANK_WIDTH_8=y
-CONFIG_MTD_MAP_BANK_WIDTH_16=y
-CONFIG_MTD_MAP_BANK_WIDTH_32=y
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-CONFIG_MTD_CFI_I4=y
-CONFIG_MTD_CFI_I8=y
-CONFIG_MTD_OTP=y
-CONFIG_MTD_CFI_INTELEXT=m
-CONFIG_MTD_CFI_AMDSTD=m
-CONFIG_MTD_CFI_STAA=m
-CONFIG_MTD_CFI_UTIL=m
-CONFIG_MTD_RAM=m
-CONFIG_MTD_ROM=m
-CONFIG_MTD_ABSENT=m
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=m
-CONFIG_MTD_PHYSMAP_START=0x8000000
-CONFIG_MTD_PHYSMAP_LEN=0
-CONFIG_MTD_PHYSMAP_BANKWIDTH=2
-CONFIG_MTD_PNC2000=m
-CONFIG_MTD_SC520CDP=m
-CONFIG_MTD_NETSC520=m
-CONFIG_MTD_TS5500=m
-CONFIG_MTD_SBC_GXX=m
-CONFIG_MTD_SCx200_DOCFLASH=m
-CONFIG_MTD_AMD76XROM=m
-CONFIG_MTD_ICHXROM=m
-CONFIG_MTD_ESB2ROM=m
-CONFIG_MTD_CK804XROM=m
-CONFIG_MTD_SCB2_FLASH=m
-CONFIG_MTD_NETtel=m
-CONFIG_MTD_DILNETPC=m
-CONFIG_MTD_DILNETPC_BOOTSIZE=0x80000
-CONFIG_MTD_L440GX=m
-CONFIG_MTD_PCI=m
-CONFIG_MTD_PLATRAM=m
-
-#
-# Self-contained MTD device drivers
-#
-CONFIG_MTD_PMC551=m
-# CONFIG_MTD_PMC551_BUGFIX is not set
-# CONFIG_MTD_PMC551_DEBUG is not set
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-CONFIG_MTD_SLRAM=m
-CONFIG_MTD_PHRAM=m
-# CONFIG_MTD_MTDRAM is not set
-CONFIG_MTD_BLOCK2MTD=m
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-CONFIG_MTD_DOC2001PLUS=m
-CONFIG_MTD_DOCPROBE=m
-CONFIG_MTD_DOCECC=m
-# CONFIG_MTD_DOCPROBE_ADVANCED is not set
-CONFIG_MTD_DOCPROBE_ADDRESS=0
-CONFIG_MTD_NAND=m
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-CONFIG_MTD_NAND_ECC_SMC=y
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-CONFIG_MTD_NAND_IDS=m
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-CONFIG_MTD_NAND_CAFE=m
-CONFIG_MTD_NAND_CS553X=m
-CONFIG_MTD_NAND_NANDSIM=m
-CONFIG_MTD_NAND_PLATFORM=m
-CONFIG_MTD_ONENAND=m
-CONFIG_MTD_ONENAND_VERIFY_WRITE=y
-CONFIG_MTD_ONENAND_OTP=y
-
-#
-# UBI - Unsorted block images
-#
-CONFIG_MTD_UBI=m
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG is not set
-
-#
-# Parallel port support
-#
-CONFIG_PARPORT=m
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_SERIAL=m
-# CONFIG_PARPORT_PC_FIFO is not set
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_GSC is not set
-CONFIG_PARPORT_AX88796=m
-CONFIG_PARPORT_1284=y
-CONFIG_PARPORT_NOT_PC=y
-
-#
-# Plug and Play support
-#
-CONFIG_PNP=y
-# CONFIG_PNP_DEBUG is not set
-
-#
-# Protocols
-#
-CONFIG_ISAPNP=y
-# CONFIG_PNPBIOS is not set
-CONFIG_PNPACPI=y
-
-#
-# Block devices
-#
-CONFIG_BLK_DEV_FD=m
-CONFIG_BLK_DEV_XD=m
-CONFIG_PARIDE=m
-
-#
-# Parallel IDE high-level drivers
-#
-CONFIG_PARIDE_PD=m
-CONFIG_PARIDE_PCD=m
-CONFIG_PARIDE_PF=m
-CONFIG_PARIDE_PT=m
-CONFIG_PARIDE_PG=m
-
-#
-# Parallel IDE protocol modules
-#
-CONFIG_PARIDE_ATEN=m
-CONFIG_PARIDE_BPCK=m
-CONFIG_PARIDE_BPCK6=m
-CONFIG_PARIDE_COMM=m
-CONFIG_PARIDE_DSTR=m
-CONFIG_PARIDE_FIT2=m
-CONFIG_PARIDE_FIT3=m
-CONFIG_PARIDE_EPAT=m
-# CONFIG_PARIDE_EPATC8 is not set
-CONFIG_PARIDE_EPIA=m
-CONFIG_PARIDE_FRIQ=m
-CONFIG_PARIDE_FRPW=m
-CONFIG_PARIDE_KBIC=m
-CONFIG_PARIDE_KTTI=m
-CONFIG_PARIDE_ON20=m
-CONFIG_PARIDE_ON26=m
-CONFIG_BLK_CPQ_DA=m
-CONFIG_BLK_CPQ_CISS_DA=m
-CONFIG_CISS_SCSI_TAPE=y
-CONFIG_BLK_DEV_DAC960=m
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=m
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_SX8=m
-CONFIG_BLK_DEV_UB=m
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=4096
-CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
-CONFIG_CDROM_PKTCDVD=m
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-CONFIG_ATA_OVER_ETH=m
-
-#
-# Misc devices
-#
-CONFIG_IBM_ASM=m
-CONFIG_PHANTOM=m
-CONFIG_SGI_IOC4=m
-# CONFIG_TIFM_CORE is not set
-# CONFIG_ASUS_LAPTOP is not set
-CONFIG_MSI_LAPTOP=m
-CONFIG_SONY_LAPTOP=m
-CONFIG_SONYPI_COMPAT=y
-CONFIG_THINKPAD_ACPI=m
-# CONFIG_THINKPAD_ACPI_DEBUG is not set
-CONFIG_THINKPAD_ACPI_BAY=y
-CONFIG_IDE=m
-CONFIG_BLK_DEV_IDE=m
-
-#
-# Please see Documentation/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_IDE_SATA is not set
-# CONFIG_BLK_DEV_HD_IDE is not set
-CONFIG_BLK_DEV_IDEDISK=m
-CONFIG_IDEDISK_MULTI_MODE=y
-CONFIG_BLK_DEV_IDECS=m
-CONFIG_BLK_DEV_DELKIN=m
-CONFIG_BLK_DEV_IDECD=m
-# CONFIG_BLK_DEV_IDETAPE is not set
-CONFIG_BLK_DEV_IDEFLOPPY=m
-CONFIG_BLK_DEV_IDESCSI=m
-CONFIG_BLK_DEV_IDEACPI=y
-# CONFIG_IDE_TASK_IOCTL is not set
-CONFIG_IDE_PROC_FS=y
-
-#
-# IDE chipset support/bugfixes
-#
-CONFIG_IDE_GENERIC=m
-CONFIG_BLK_DEV_CMD640=y
-CONFIG_BLK_DEV_CMD640_ENHANCED=y
-CONFIG_BLK_DEV_IDEPNP=y
-CONFIG_BLK_DEV_IDEPCI=y
-CONFIG_IDEPCI_SHARE_IRQ=y
-# CONFIG_IDEPCI_PCIBUS_ORDER is not set
-# CONFIG_BLK_DEV_OFFBOARD is not set
-CONFIG_BLK_DEV_GENERIC=m
-# CONFIG_BLK_DEV_OPTI621 is not set
-CONFIG_BLK_DEV_RZ1000=m
-CONFIG_BLK_DEV_IDEDMA_PCI=y
-# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
-# CONFIG_IDEDMA_ONLYDISK is not set
-CONFIG_BLK_DEV_AEC62XX=m
-CONFIG_BLK_DEV_ALI15X3=m
-# CONFIG_WDC_ALI15X3 is not set
-CONFIG_BLK_DEV_AMD74XX=m
-CONFIG_BLK_DEV_ATIIXP=m
-CONFIG_BLK_DEV_CMD64X=m
-CONFIG_BLK_DEV_TRIFLEX=m
-CONFIG_BLK_DEV_CY82C693=m
-# CONFIG_BLK_DEV_CS5520 is not set
-CONFIG_BLK_DEV_CS5530=m
-CONFIG_BLK_DEV_CS5535=m
-CONFIG_BLK_DEV_HPT34X=m
-# CONFIG_HPT34X_AUTODMA is not set
-CONFIG_BLK_DEV_HPT366=m
-CONFIG_BLK_DEV_JMICRON=m
-CONFIG_BLK_DEV_SC1200=m
-CONFIG_BLK_DEV_PIIX=m
-CONFIG_BLK_DEV_IT8213=m
-CONFIG_BLK_DEV_IT821X=m
-CONFIG_BLK_DEV_NS87415=m
-CONFIG_BLK_DEV_PDC202XX_OLD=m
-CONFIG_PDC202XX_BURST=y
-CONFIG_BLK_DEV_PDC202XX_NEW=m
-CONFIG_BLK_DEV_SVWKS=m
-CONFIG_BLK_DEV_SIIMAGE=m
-CONFIG_BLK_DEV_SIS5513=m
-CONFIG_BLK_DEV_SLC90E66=m
-CONFIG_BLK_DEV_TRM290=m
-CONFIG_BLK_DEV_VIA82CXXX=m
-CONFIG_BLK_DEV_TC86C001=m
-# CONFIG_IDE_ARM is not set
-CONFIG_IDE_CHIPSETS=y
-
-#
-# Note: most of these also require special kernel boot parameters
-#
-CONFIG_BLK_DEV_4DRIVES=y
-CONFIG_BLK_DEV_ALI14XX=m
-CONFIG_BLK_DEV_DTC2278=m
-CONFIG_BLK_DEV_HT6560B=m
-CONFIG_BLK_DEV_QD65XX=m
-CONFIG_BLK_DEV_UMC8672=m
-CONFIG_BLK_DEV_IDEDMA=y
-# CONFIG_IDEDMA_IVB is not set
-# CONFIG_BLK_DEV_HD is not set
-
-#
-# SCSI device support
-#
-CONFIG_RAID_ATTRS=m
-CONFIG_SCSI=y
-CONFIG_SCSI_TGT=m
-CONFIG_SCSI_NETLINK=y
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=m
-CONFIG_CHR_DEV_ST=m
-CONFIG_CHR_DEV_OSST=m
-CONFIG_BLK_DEV_SR=m
-CONFIG_BLK_DEV_SR_VENDOR=y
-CONFIG_CHR_DEV_SG=m
-CONFIG_CHR_DEV_SCH=m
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-CONFIG_SCSI_SCAN_ASYNC=y
-CONFIG_SCSI_WAIT_SCAN=m
-
-#
-# SCSI Transports
-#
-CONFIG_SCSI_SPI_ATTRS=y
-CONFIG_SCSI_FC_ATTRS=y
-CONFIG_SCSI_ISCSI_ATTRS=y
-CONFIG_SCSI_SAS_ATTRS=y
-CONFIG_SCSI_SAS_LIBSAS=y
-# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
-
-#
-# SCSI low-level drivers
-#
-CONFIG_ISCSI_TCP=m
-CONFIG_BLK_DEV_3W_XXXX_RAID=m
-CONFIG_SCSI_3W_9XXX=m
-CONFIG_SCSI_7000FASST=m
-CONFIG_SCSI_ACARD=m
-CONFIG_SCSI_AHA152X=m
-CONFIG_SCSI_AHA1542=m
-CONFIG_SCSI_AHA1740=m
-CONFIG_SCSI_AACRAID=m
-CONFIG_SCSI_AIC7XXX=m
-CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
-CONFIG_AIC7XXX_RESET_DELAY_MS=5000
-CONFIG_AIC7XXX_DEBUG_ENABLE=y
-CONFIG_AIC7XXX_DEBUG_MASK=0
-CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
-CONFIG_SCSI_AIC7XXX_OLD=m
-CONFIG_SCSI_AIC79XX=m
-CONFIG_AIC79XX_CMDS_PER_DEVICE=32
-CONFIG_AIC79XX_RESET_DELAY_MS=4000
-# CONFIG_AIC79XX_DEBUG_ENABLE is not set
-CONFIG_AIC79XX_DEBUG_MASK=0
-# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
-CONFIG_SCSI_AIC94XX=m
-CONFIG_AIC94XX_DEBUG=y
-CONFIG_SCSI_DPT_I2O=m
-CONFIG_SCSI_ADVANSYS=m
-CONFIG_SCSI_IN2000=m
-CONFIG_SCSI_ARCMSR=m
-CONFIG_MEGARAID_NEWGEN=y
-CONFIG_MEGARAID_MM=m
-CONFIG_MEGARAID_MAILBOX=m
-CONFIG_MEGARAID_LEGACY=m
-CONFIG_MEGARAID_SAS=m
-CONFIG_SCSI_HPTIOP=m
-CONFIG_SCSI_BUSLOGIC=m
-# CONFIG_SCSI_OMIT_FLASHPOINT is not set
-CONFIG_SCSI_DMX3191D=m
-CONFIG_SCSI_DTC3280=m
-CONFIG_SCSI_EATA=m
-CONFIG_SCSI_EATA_TAGGED_QUEUE=y
-CONFIG_SCSI_EATA_LINKED_COMMANDS=y
-CONFIG_SCSI_EATA_MAX_TAGS=16
-CONFIG_SCSI_FUTURE_DOMAIN=m
-CONFIG_SCSI_FD_MCS=m
-CONFIG_SCSI_GDTH=m
-CONFIG_SCSI_GENERIC_NCR5380=m
-CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
-CONFIG_SCSI_GENERIC_NCR53C400=y
-CONFIG_SCSI_IBMMCA=m
-# CONFIG_IBMMCA_SCSI_ORDER_STANDARD is not set
-# CONFIG_IBMMCA_SCSI_DEV_RESET is not set
-CONFIG_SCSI_IPS=m
-CONFIG_SCSI_INITIO=m
-CONFIG_SCSI_INIA100=m
-CONFIG_SCSI_PPA=m
-CONFIG_SCSI_IMM=m
-# CONFIG_SCSI_IZIP_EPP16 is not set
-# CONFIG_SCSI_IZIP_SLOW_CTR is not set
-CONFIG_SCSI_NCR53C406A=m
-CONFIG_SCSI_NCR_D700=m
-CONFIG_SCSI_STEX=m
-CONFIG_SCSI_SYM53C8XX_2=m
-CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
-CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
-CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
-CONFIG_SCSI_SYM53C8XX_MMIO=y
-CONFIG_SCSI_IPR=m
-CONFIG_SCSI_IPR_TRACE=y
-CONFIG_SCSI_IPR_DUMP=y
-CONFIG_SCSI_NCR_Q720=m
-CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS=8
-CONFIG_SCSI_NCR53C8XX_MAX_TAGS=32
-CONFIG_SCSI_NCR53C8XX_SYNC=20
-CONFIG_SCSI_MCA_53C9X=m
-CONFIG_SCSI_PAS16=m
-CONFIG_SCSI_PSI240I=m
-CONFIG_SCSI_QLOGIC_FAS=m
-CONFIG_SCSI_QLOGIC_1280=m
-CONFIG_SCSI_QLA_FC=m
-CONFIG_SCSI_QLA_ISCSI=m
-CONFIG_SCSI_LPFC=m
-CONFIG_SCSI_SEAGATE=m
-CONFIG_SCSI_SIM710=m
-CONFIG_SCSI_SYM53C416=m
-# CONFIG_SCSI_DC395x is not set
-CONFIG_SCSI_DC390T=m
-CONFIG_SCSI_T128=m
-CONFIG_SCSI_U14_34F=m
-CONFIG_SCSI_U14_34F_TAGGED_QUEUE=y
-CONFIG_SCSI_U14_34F_LINKED_COMMANDS=y
-CONFIG_SCSI_U14_34F_MAX_TAGS=8
-CONFIG_SCSI_ULTRASTOR=m
-CONFIG_SCSI_NSP32=m
-CONFIG_SCSI_DEBUG=m
-CONFIG_SCSI_SRP=m
-
-#
-# PCMCIA SCSI adapter support
-#
-CONFIG_PCMCIA_AHA152X=m
-CONFIG_PCMCIA_FDOMAIN=m
-CONFIG_PCMCIA_NINJA_SCSI=m
-CONFIG_PCMCIA_QLOGIC=m
-CONFIG_PCMCIA_SYM53C500=m
-CONFIG_ATA=m
-# CONFIG_ATA_NONSTANDARD is not set
-CONFIG_ATA_ACPI=y
-CONFIG_SATA_AHCI=m
-CONFIG_SATA_SVW=m
-CONFIG_ATA_PIIX=m
-# CONFIG_SATA_MV is not set
-CONFIG_SATA_NV=m
-CONFIG_PDC_ADMA=m
-CONFIG_SATA_QSTOR=m
-CONFIG_SATA_PROMISE=m
-CONFIG_SATA_SX4=m
-CONFIG_SATA_SIL=m
-CONFIG_SATA_SIL24=m
-CONFIG_SATA_SIS=m
-CONFIG_SATA_ULI=m
-CONFIG_SATA_VIA=m
-CONFIG_SATA_VITESSE=m
-# CONFIG_SATA_INIC162X is not set
-# CONFIG_PATA_ALI is not set
-CONFIG_PATA_AMD=m
-# CONFIG_PATA_ARTOP is not set
-# CONFIG_PATA_ATIIXP is not set
-# CONFIG_PATA_CMD640_PCI is not set
-# CONFIG_PATA_CMD64X is not set
-CONFIG_PATA_CS5520=m
-# CONFIG_PATA_CS5530 is not set
-# CONFIG_PATA_CS5535 is not set
-# CONFIG_PATA_CYPRESS is not set
-CONFIG_PATA_EFAR=m
-CONFIG_ATA_GENERIC=m
-# CONFIG_PATA_HPT366 is not set
-# CONFIG_PATA_HPT37X is not set
-# CONFIG_PATA_HPT3X2N is not set
-# CONFIG_PATA_HPT3X3 is not set
-# CONFIG_PATA_ISAPNP is not set
-CONFIG_PATA_IT821X=m
-# CONFIG_PATA_IT8213 is not set
-CONFIG_PATA_JMICRON=m
-# CONFIG_PATA_LEGACY is not set
-CONFIG_PATA_TRIFLEX=m
-CONFIG_PATA_MARVELL=m
-CONFIG_PATA_MPIIX=m
-CONFIG_PATA_OLDPIIX=m
-CONFIG_PATA_NETCELL=m
-# CONFIG_PATA_NS87410 is not set
-# CONFIG_PATA_OPTI is not set
-# CONFIG_PATA_OPTIDMA is not set
-CONFIG_PATA_PCMCIA=m
-# CONFIG_PATA_PDC_OLD is not set
-CONFIG_PATA_QDI=m
-# CONFIG_PATA_RADISYS is not set
-CONFIG_PATA_RZ1000=m
-# CONFIG_PATA_SC1200 is not set
-CONFIG_PATA_SERVERWORKS=m
-CONFIG_PATA_PDC2027X=m
-CONFIG_PATA_SIL680=m
-CONFIG_PATA_SIS=m
-CONFIG_PATA_VIA=m
-CONFIG_PATA_WINBOND=m
-# CONFIG_PATA_WINBOND_VLB is not set
-
-#
-# Old CD-ROM drivers (not SCSI, not IDE)
-#
-CONFIG_CD_NO_IDESCSI=y
-CONFIG_AZTCD=m
-CONFIG_GSCD=m
-CONFIG_SBPCD=m
-CONFIG_MCDX=m
-CONFIG_OPTCD=m
-CONFIG_CM206=m
-CONFIG_SJCD=m
-CONFIG_ISP16_CDI=m
-CONFIG_CDU31A=m
-CONFIG_CDU535=m
-
-#
-# Multi-device support (RAID and LVM)
-#
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
-CONFIG_MD_LINEAR=m
-CONFIG_MD_RAID0=m
-CONFIG_MD_RAID1=m
-# CONFIG_MD_RAID10 is not set
-CONFIG_MD_RAID456=m
-CONFIG_MD_RAID5_RESHAPE=y
-CONFIG_MD_MULTIPATH=m
-# CONFIG_MD_FAULTY is not set
-CONFIG_BLK_DEV_DM=m
-# CONFIG_DM_DEBUG is not set
-CONFIG_DM_CRYPT=m
-# CONFIG_DM_SNAPSHOT is not set
-# CONFIG_DM_MIRROR is not set
-# CONFIG_DM_ZERO is not set
-# CONFIG_DM_MULTIPATH is not set
-# CONFIG_DM_DELAY is not set
-
-#
-# Fusion MPT device support
-#
-CONFIG_FUSION=y
-CONFIG_FUSION_SPI=m
-CONFIG_FUSION_FC=m
-CONFIG_FUSION_SAS=m
-CONFIG_FUSION_MAX_SGE=128
-CONFIG_FUSION_CTL=m
-CONFIG_FUSION_LAN=m
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_FIREWIRE is not set
-CONFIG_IEEE1394=m
-
-#
-# Subsystem Options
-#
-# CONFIG_IEEE1394_VERBOSEDEBUG is not set
-
-#
-# Controllers
-#
-# CONFIG_IEEE1394_PCILYNX is not set
-CONFIG_IEEE1394_OHCI1394=m
-
-#
-# Protocols
-#
-CONFIG_IEEE1394_VIDEO1394=m
-CONFIG_IEEE1394_SBP2=m
-# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
-CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y
-CONFIG_IEEE1394_ETH1394=m
-# CONFIG_IEEE1394_DV1394 is not set
-CONFIG_IEEE1394_RAWIO=m
-
-#
-# I2O device support
-#
-CONFIG_I2O=m
-CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
-CONFIG_I2O_EXT_ADAPTEC=y
-CONFIG_I2O_CONFIG=m
-# CONFIG_I2O_CONFIG_OLD_IOCTL is not set
-CONFIG_I2O_BUS=m
-CONFIG_I2O_BLOCK=m
-CONFIG_I2O_SCSI=m
-CONFIG_I2O_PROC=m
-CONFIG_MACINTOSH_DRIVERS=y
-CONFIG_MAC_EMUMOUSEBTN=y
-
-#
-# Network device support
-#
-CONFIG_NETDEVICES=y
-CONFIG_IFB=m
-CONFIG_DUMMY=m
-CONFIG_BONDING=m
-CONFIG_EQUALIZER=m
-CONFIG_TUN=m
-CONFIG_NET_SB1000=m
-CONFIG_ARCNET=m
-CONFIG_ARCNET_1201=m
-CONFIG_ARCNET_1051=m
-CONFIG_ARCNET_RAW=m
-CONFIG_ARCNET_CAP=m
-CONFIG_ARCNET_COM90xx=m
-CONFIG_ARCNET_COM90xxIO=m
-CONFIG_ARCNET_RIM_I=m
-CONFIG_ARCNET_COM20020=m
-CONFIG_ARCNET_COM20020_ISA=m
-CONFIG_ARCNET_COM20020_PCI=m
-CONFIG_PHYLIB=m
-
-#
-# MII PHY device drivers
-#
-CONFIG_MARVELL_PHY=m
-CONFIG_DAVICOM_PHY=m
-CONFIG_QSEMI_PHY=m
-CONFIG_LXT_PHY=m
-CONFIG_CICADA_PHY=m
-CONFIG_VITESSE_PHY=m
-CONFIG_SMSC_PHY=m
-CONFIG_BROADCOM_PHY=m
-CONFIG_FIXED_PHY=m
-CONFIG_FIXED_MII_10_FDX=y
-CONFIG_FIXED_MII_100_FDX=y
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-CONFIG_MII=y
-CONFIG_HAPPYMEAL=m
-CONFIG_SUNGEM=m
-CONFIG_CASSINI=m
-CONFIG_NET_VENDOR_3COM=y
-CONFIG_EL1=m
-CONFIG_EL2=m
-CONFIG_ELPLUS=m
-CONFIG_EL16=m
-CONFIG_EL3=m
-CONFIG_3C515=m
-CONFIG_ELMC=m
-CONFIG_ELMC_II=m
-CONFIG_VORTEX=m
-CONFIG_TYPHOON=m
-CONFIG_LANCE=m
-CONFIG_NET_VENDOR_SMC=y
-CONFIG_WD80x3=m
-CONFIG_ULTRAMCA=m
-CONFIG_ULTRA=m
-CONFIG_ULTRA32=m
-CONFIG_SMC9194=m
-CONFIG_NET_VENDOR_RACAL=y
-# CONFIG_NI5010 is not set
-CONFIG_NI52=m
-CONFIG_NI65=m
-
-#
-# Tulip family network device support
-#
-CONFIG_NET_TULIP=y
-CONFIG_DE2104X=m
-CONFIG_TULIP=m
-# CONFIG_TULIP_MWI is not set
-# CONFIG_TULIP_MMIO is not set
-# CONFIG_TULIP_NAPI is not set
-CONFIG_DE4X5=m
-CONFIG_WINBOND_840=m
-CONFIG_DM9102=m
-CONFIG_ULI526X=m
-CONFIG_PCMCIA_XIRCOM=m
-CONFIG_PCMCIA_XIRTULIP=m
-CONFIG_AT1700=m
-CONFIG_DEPCA=m
-CONFIG_HP100=m
-CONFIG_NET_ISA=y
-CONFIG_E2100=m
-CONFIG_EWRK3=m
-CONFIG_EEXPRESS=m
-CONFIG_EEXPRESS_PRO=m
-CONFIG_HPLAN_PLUS=m
-CONFIG_HPLAN=m
-CONFIG_LP486E=m
-CONFIG_ETH16I=m
-CONFIG_NE2000=m
-CONFIG_ZNET=m
-CONFIG_SEEQ8005=m
-CONFIG_NE2_MCA=m
-CONFIG_IBMLANA=m
-CONFIG_NET_PCI=y
-CONFIG_PCNET32=m
-# CONFIG_PCNET32_NAPI is not set
-CONFIG_AMD8111_ETH=m
-# CONFIG_AMD8111E_NAPI is not set
-CONFIG_ADAPTEC_STARFIRE=m
-# CONFIG_ADAPTEC_STARFIRE_NAPI is not set
-CONFIG_AC3200=m
-CONFIG_APRICOT=m
-CONFIG_B44=m
-CONFIG_FORCEDETH=m
-# CONFIG_FORCEDETH_NAPI is not set
-CONFIG_CS89x0=m
-CONFIG_DGRS=m
-CONFIG_EEPRO100=m
-CONFIG_E100=m
-CONFIG_LNE390=m
-CONFIG_FEALNX=m
-CONFIG_NATSEMI=m
-CONFIG_NE2K_PCI=m
-CONFIG_NE3210=m
-CONFIG_ES3210=m
-CONFIG_8139CP=m
-CONFIG_8139TOO=m
-CONFIG_8139TOO_PIO=y
-CONFIG_8139TOO_TUNE_TWISTER=y
-CONFIG_8139TOO_8129=y
-# CONFIG_8139_OLD_RX_RESET is not set
-CONFIG_SIS900=m
-CONFIG_EPIC100=m
-CONFIG_SUNDANCE=m
-# CONFIG_SUNDANCE_MMIO is not set
-CONFIG_TLAN=m
-CONFIG_VIA_RHINE=m
-# CONFIG_VIA_RHINE_MMIO is not set
-# CONFIG_VIA_RHINE_NAPI is not set
-CONFIG_SC92031=m
-CONFIG_NET_POCKET=y
-CONFIG_ATP=m
-CONFIG_DE600=m
-CONFIG_DE620=m
-CONFIG_NETDEV_1000=y
-CONFIG_ACENIC=m
-# CONFIG_ACENIC_OMIT_TIGON_I is not set
-CONFIG_DL2K=m
-CONFIG_E1000=m
-# CONFIG_E1000_NAPI is not set
-# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
-CONFIG_NS83820=m
-CONFIG_HAMACHI=m
-CONFIG_YELLOWFIN=m
-CONFIG_R8169=m
-# CONFIG_R8169_NAPI is not set
-CONFIG_R8169_VLAN=y
-CONFIG_SIS190=m
-CONFIG_SKGE=m
-CONFIG_SKY2=m
-CONFIG_SK98LIN=m
-CONFIG_VIA_VELOCITY=m
-CONFIG_TIGON3=m
-CONFIG_BNX2=m
-CONFIG_QLA3XXX=m
-CONFIG_ATL1=m
-CONFIG_NETDEV_10000=y
-CONFIG_CHELSIO_T1=m
-CONFIG_CHELSIO_T1_1G=y
-# CONFIG_CHELSIO_T1_NAPI is not set
-CONFIG_CHELSIO_T3=m
-CONFIG_IXGB=m
-# CONFIG_IXGB_NAPI is not set
-CONFIG_S2IO=m
-# CONFIG_S2IO_NAPI is not set
-CONFIG_MYRI10GE=m
-CONFIG_NETXEN_NIC=m
-CONFIG_MLX4_CORE=m
-CONFIG_MLX4_DEBUG=y
-CONFIG_TR=y
-CONFIG_IBMTR=m
-CONFIG_IBMOL=m
-CONFIG_IBMLS=m
-CONFIG_3C359=m
-CONFIG_TMS380TR=m
-CONFIG_TMSPCI=m
-CONFIG_SKISA=m
-CONFIG_PROTEON=m
-CONFIG_ABYSS=m
-CONFIG_MADGEMC=m
-CONFIG_SMCTR=m
-
-#
-# Wireless LAN
-#
-CONFIG_WLAN_PRE80211=y
-CONFIG_STRIP=m
-CONFIG_ARLAN=m
-CONFIG_WAVELAN=m
-CONFIG_PCMCIA_WAVELAN=m
-CONFIG_PCMCIA_NETWAVE=m
-CONFIG_WLAN_80211=y
-CONFIG_PCMCIA_RAYCS=m
-CONFIG_IPW2100=m
-# CONFIG_IPW2100_MONITOR is not set
-# CONFIG_IPW2100_DEBUG is not set
-CONFIG_IPW2200=m
-# CONFIG_IPW2200_MONITOR is not set
-CONFIG_IPW2200_QOS=y
-# CONFIG_IPW2200_DEBUG is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-# CONFIG_LIBERTAS_DEBUG is not set
-CONFIG_AIRO=m
-CONFIG_HERMES=m
-CONFIG_PLX_HERMES=m
-CONFIG_TMD_HERMES=m
-CONFIG_NORTEL_HERMES=m
-CONFIG_PCI_HERMES=m
-CONFIG_ATMEL=m
-CONFIG_PCI_ATMEL=m
-CONFIG_PCMCIA_HERMES=m
-CONFIG_PCMCIA_SPECTRUM=m
-CONFIG_AIRO_CS=m
-CONFIG_PCMCIA_ATMEL=m
-CONFIG_PCMCIA_WL3501=m
-CONFIG_PRISM54=m
-CONFIG_USB_ZD1201=m
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
-CONFIG_HOSTAP_PLX=m
-CONFIG_HOSTAP_PCI=m
-CONFIG_HOSTAP_CS=m
-CONFIG_BCM43XX=m
-CONFIG_BCM43XX_DEBUG=y
-CONFIG_BCM43XX_DMA=y
-CONFIG_BCM43XX_PIO=y
-CONFIG_BCM43XX_DMA_AND_PIO_MODE=y
-# CONFIG_BCM43XX_DMA_MODE is not set
-# CONFIG_BCM43XX_PIO_MODE is not set
-CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG is not set
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_USBNET_MII=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_CDCETHER=m
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_GL620A=m
-CONFIG_USB_NET_NET1080=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_USB_NET_RNDIS_HOST=m
-CONFIG_USB_NET_CDC_SUBSET=m
-CONFIG_USB_ALI_M5632=y
-CONFIG_USB_AN2720=y
-CONFIG_USB_BELKIN=y
-CONFIG_USB_ARMLINUX=y
-CONFIG_USB_EPSON2888=y
-CONFIG_USB_KC2190=y
-CONFIG_USB_NET_ZAURUS=m
-CONFIG_NET_PCMCIA=y
-CONFIG_PCMCIA_3C589=m
-CONFIG_PCMCIA_3C574=m
-CONFIG_PCMCIA_FMVJ18X=m
-CONFIG_PCMCIA_PCNET=m
-CONFIG_PCMCIA_NMCLAN=m
-CONFIG_PCMCIA_SMC91C92=m
-CONFIG_PCMCIA_XIRC2PS=m
-CONFIG_PCMCIA_AXNET=m
-CONFIG_ARCNET_COM20020_CS=m
-CONFIG_PCMCIA_IBMTR=m
-CONFIG_WAN=y
-CONFIG_HOSTESS_SV11=m
-CONFIG_COSA=m
-CONFIG_LANMEDIA=m
-CONFIG_SEALEVEL_4021=m
-CONFIG_HDLC=m
-CONFIG_HDLC_RAW=m
-CONFIG_HDLC_RAW_ETH=m
-CONFIG_HDLC_CISCO=m
-CONFIG_HDLC_FR=m
-CONFIG_HDLC_PPP=m
-
-#
-# X.25/LAPB support is disabled
-#
-CONFIG_PCI200SYN=m
-CONFIG_WANXL=m
-CONFIG_PC300=m
-
-#
-# Cyclades-PC300 MLPPP support is disabled.
-#
-
-#
-# Refer to the file README.mlppp, provided by PC300 package.
-#
-CONFIG_PC300TOO=m
-CONFIG_N2=m
-CONFIG_C101=m
-CONFIG_FARSYNC=m
-CONFIG_DSCC4=m
-CONFIG_DSCC4_PCISYNC=y
-CONFIG_DSCC4_PCI_RST=y
-CONFIG_DLCI=m
-CONFIG_DLCI_MAX=8
-CONFIG_SDLA=m
-CONFIG_WAN_ROUTER_DRIVERS=m
-CONFIG_CYCLADES_SYNC=m
-CONFIG_CYCLOMX_X25=y
-CONFIG_SBNI=m
-CONFIG_SBNI_MULTILINE=y
-CONFIG_FDDI=y
-CONFIG_DEFXX=m
-# CONFIG_DEFXX_MMIO is not set
-CONFIG_SKFP=m
-CONFIG_HIPPI=y
-CONFIG_ROADRUNNER=m
-# CONFIG_ROADRUNNER_LARGE_RINGS is not set
-CONFIG_PLIP=m
-CONFIG_PPP=m
-# CONFIG_PPP_MULTILINK is not set
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_MPPE=m
-CONFIG_PPPOE=m
-CONFIG_SLIP=m
-CONFIG_SLIP_COMPRESSED=y
-CONFIG_SLHC=m
-CONFIG_SLIP_SMART=y
-CONFIG_SLIP_MODE_SLIP6=y
-CONFIG_NET_FC=y
-# CONFIG_SHAPER is not set
-# CONFIG_NETCONSOLE is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-
-#
-# ISDN subsystem
-#
-CONFIG_ISDN=m
-
-#
-# Old ISDN4Linux
-#
-CONFIG_ISDN_I4L=m
-CONFIG_ISDN_PPP=y
-CONFIG_ISDN_PPP_VJ=y
-CONFIG_ISDN_MPP=y
-CONFIG_IPPP_FILTER=y
-CONFIG_ISDN_PPP_BSDCOMP=m
-CONFIG_ISDN_AUDIO=y
-CONFIG_ISDN_TTY_FAX=y
-
-#
-# ISDN feature submodules
-#
-CONFIG_ISDN_DRV_LOOP=m
-CONFIG_ISDN_DIVERSION=m
-
-#
-# ISDN4Linux hardware drivers
-#
-
-#
-# Passive cards
-#
-CONFIG_ISDN_DRV_HISAX=m
-
-#
-# D-channel protocol features
-#
-CONFIG_HISAX_EURO=y
-# CONFIG_DE_AOC is not set
-# CONFIG_HISAX_NO_SENDCOMPLETE is not set
-# CONFIG_HISAX_NO_LLC is not set
-# CONFIG_HISAX_NO_KEYPAD is not set
-CONFIG_HISAX_1TR6=y
-CONFIG_HISAX_NI1=y
-CONFIG_HISAX_MAX_CARDS=8
-
-#
-# HiSax supported cards
-#
-CONFIG_HISAX_16_0=y
-CONFIG_HISAX_16_3=y
-CONFIG_HISAX_TELESPCI=y
-CONFIG_HISAX_S0BOX=y
-CONFIG_HISAX_AVM_A1=y
-CONFIG_HISAX_FRITZPCI=y
-CONFIG_HISAX_AVM_A1_PCMCIA=y
-CONFIG_HISAX_ELSA=y
-CONFIG_HISAX_IX1MICROR2=y
-CONFIG_HISAX_DIEHLDIVA=y
-CONFIG_HISAX_ASUSCOM=y
-CONFIG_HISAX_TELEINT=y
-CONFIG_HISAX_HFCS=y
-CONFIG_HISAX_SEDLBAUER=y
-CONFIG_HISAX_SPORTSTER=y
-CONFIG_HISAX_MIC=y
-CONFIG_HISAX_NETJET=y
-CONFIG_HISAX_NETJET_U=y
-CONFIG_HISAX_NICCY=y
-CONFIG_HISAX_ISURF=y
-CONFIG_HISAX_HSTSAPHIR=y
-CONFIG_HISAX_BKM_A4T=y
-CONFIG_HISAX_SCT_QUADRO=y
-CONFIG_HISAX_GAZEL=y
-CONFIG_HISAX_HFC_PCI=y
-CONFIG_HISAX_W6692=y
-CONFIG_HISAX_HFC_SX=y
-CONFIG_HISAX_ENTERNOW_PCI=y
-# CONFIG_HISAX_DEBUG is not set
-
-#
-# HiSax PCMCIA card service modules
-#
-CONFIG_HISAX_SEDLBAUER_CS=m
-CONFIG_HISAX_ELSA_CS=m
-CONFIG_HISAX_AVM_A1_CS=m
-CONFIG_HISAX_TELES_CS=m
-
-#
-# HiSax sub driver modules
-#
-# CONFIG_HISAX_ST5481 is not set
-# CONFIG_HISAX_HFCUSB is not set
-# CONFIG_HISAX_HFC4S8S is not set
-# CONFIG_HISAX_FRITZ_PCIPNP is not set
-
-#
-# Active cards
-#
-CONFIG_ISDN_DRV_ICN=m
-CONFIG_ISDN_DRV_PCBIT=m
-CONFIG_ISDN_DRV_SC=m
-CONFIG_ISDN_DRV_ACT2000=m
-CONFIG_HYSDN=m
-CONFIG_HYSDN_CAPI=y
-
-#
-# Siemens Gigaset
-#
-CONFIG_ISDN_DRV_GIGASET=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_M105=m
-CONFIG_GIGASET_M101=m
-# CONFIG_GIGASET_DEBUG is not set
-# CONFIG_GIGASET_UNDOCREQ is not set
-
-#
-# CAPI subsystem
-#
-CONFIG_ISDN_CAPI=m
-CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
-CONFIG_CAPI_TRACE=y
-# CONFIG_ISDN_CAPI_MIDDLEWARE is not set
-CONFIG_ISDN_CAPI_CAPI20=m
-# CONFIG_ISDN_CAPI_CAPIDRV is not set
-
-#
-# CAPI hardware drivers
-#
-
-#
-# Active AVM cards
-#
-CONFIG_CAPI_AVM=y
-CONFIG_ISDN_DRV_AVMB1_B1ISA=m
-CONFIG_ISDN_DRV_AVMB1_B1PCI=m
-CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
-CONFIG_ISDN_DRV_AVMB1_T1ISA=m
-CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
-CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
-CONFIG_ISDN_DRV_AVMB1_T1PCI=m
-CONFIG_ISDN_DRV_AVMB1_C4=m
-
-#
-# Active Eicon DIVA Server cards
-#
-CONFIG_CAPI_EICON=y
-CONFIG_ISDN_DIVAS=m
-CONFIG_ISDN_DIVAS_BRIPCI=y
-CONFIG_ISDN_DIVAS_PRIPCI=y
-CONFIG_ISDN_DIVAS_DIVACAPI=m
-CONFIG_ISDN_DIVAS_USERIDI=m
-CONFIG_ISDN_DIVAS_MAINT=m
-
-#
-# Telephony Support
-#
-CONFIG_PHONE=m
-CONFIG_PHONE_IXJ=m
-CONFIG_PHONE_IXJ_PCMCIA=m
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-CONFIG_INPUT_FF_MEMLESS=m
-CONFIG_INPUT_POLLDEV=m
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-CONFIG_INPUT_JOYDEV=m
-CONFIG_INPUT_TSDEV=m
-CONFIG_INPUT_TSDEV_SCREEN_X=240
-CONFIG_INPUT_TSDEV_SCREEN_Y=320
-CONFIG_INPUT_EVDEV=m
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-CONFIG_KEYBOARD_ATKBD=y
-CONFIG_KEYBOARD_SUNKBD=y
-CONFIG_KEYBOARD_LKKBD=y
-CONFIG_KEYBOARD_XTKBD=y
-CONFIG_KEYBOARD_NEWTON=y
-CONFIG_KEYBOARD_STOWAWAY=y
-CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=m
-CONFIG_MOUSE_PS2_ALPS=y
-CONFIG_MOUSE_PS2_LOGIPS2PP=y
-CONFIG_MOUSE_PS2_SYNAPTICS=y
-CONFIG_MOUSE_PS2_LIFEBOOK=y
-CONFIG_MOUSE_PS2_TRACKPOINT=y
-CONFIG_MOUSE_PS2_TOUCHKIT=y
-CONFIG_MOUSE_SERIAL=m
-CONFIG_MOUSE_APPLETOUCH=m
-CONFIG_MOUSE_INPORT=m
-CONFIG_MOUSE_ATIXL=y
-CONFIG_MOUSE_LOGIBM=m
-CONFIG_MOUSE_PC110PAD=m
-CONFIG_MOUSE_VSXXXAA=m
-CONFIG_INPUT_JOYSTICK=y
-CONFIG_JOYSTICK_ANALOG=m
-CONFIG_JOYSTICK_A3D=m
-CONFIG_JOYSTICK_ADI=m
-CONFIG_JOYSTICK_COBRA=m
-CONFIG_JOYSTICK_GF2K=m
-CONFIG_JOYSTICK_GRIP=m
-CONFIG_JOYSTICK_GRIP_MP=m
-CONFIG_JOYSTICK_GUILLEMOT=m
-CONFIG_JOYSTICK_INTERACT=m
-CONFIG_JOYSTICK_SIDEWINDER=m
-CONFIG_JOYSTICK_TMDC=m
-CONFIG_JOYSTICK_IFORCE=m
-CONFIG_JOYSTICK_IFORCE_USB=y
-CONFIG_JOYSTICK_IFORCE_232=y
-CONFIG_JOYSTICK_WARRIOR=m
-CONFIG_JOYSTICK_MAGELLAN=m
-CONFIG_JOYSTICK_SPACEORB=m
-CONFIG_JOYSTICK_SPACEBALL=m
-CONFIG_JOYSTICK_STINGER=m
-CONFIG_JOYSTICK_TWIDJOY=m
-CONFIG_JOYSTICK_DB9=m
-CONFIG_JOYSTICK_GAMECON=m
-CONFIG_JOYSTICK_TURBOGRAFX=m
-CONFIG_JOYSTICK_JOYDUMP=m
-CONFIG_JOYSTICK_XPAD=m
-CONFIG_INPUT_TABLET=y
-CONFIG_TABLET_USB_ACECAD=m
-CONFIG_TABLET_USB_AIPTEK=m
-CONFIG_TABLET_USB_GTCO=m
-CONFIG_TABLET_USB_KBTAB=m
-CONFIG_TABLET_USB_WACOM=m
-CONFIG_INPUT_TOUCHSCREEN=y
-# CONFIG_TOUCHSCREEN_ADS7846 is not set
-CONFIG_TOUCHSCREEN_GUNZE=m
-CONFIG_TOUCHSCREEN_ELO=m
-CONFIG_TOUCHSCREEN_MTOUCH=m
-CONFIG_TOUCHSCREEN_MK712=m
-CONFIG_TOUCHSCREEN_PENMOUNT=m
-CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
-CONFIG_TOUCHSCREEN_TOUCHWIN=m
-CONFIG_TOUCHSCREEN_UCB1400=m
-CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
-CONFIG_TOUCHSCREEN_USB_EGALAX=y
-CONFIG_TOUCHSCREEN_USB_PANJIT=y
-CONFIG_TOUCHSCREEN_USB_3M=y
-CONFIG_TOUCHSCREEN_USB_ITM=y
-CONFIG_TOUCHSCREEN_USB_ETURBO=y
-CONFIG_TOUCHSCREEN_USB_GUNZE=y
-CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_PCSPKR=m
-CONFIG_INPUT_WISTRON_BTNS=m
-CONFIG_INPUT_ATLAS_BTNS=m
-CONFIG_INPUT_ATI_REMOTE=m
-CONFIG_INPUT_ATI_REMOTE2=m
-# CONFIG_INPUT_KEYSPAN_REMOTE is not set
-CONFIG_INPUT_POWERMATE=m
-CONFIG_INPUT_YEALINK=m
-CONFIG_INPUT_UINPUT=m
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_I8042=y
-CONFIG_SERIO_SERPORT=m
-CONFIG_SERIO_CT82C710=m
-CONFIG_SERIO_PARKBD=m
-CONFIG_SERIO_PCIPS2=m
-CONFIG_SERIO_LIBPS2=y
-CONFIG_SERIO_RAW=m
-CONFIG_GAMEPORT=m
-CONFIG_GAMEPORT_NS558=m
-CONFIG_GAMEPORT_L4=m
-CONFIG_GAMEPORT_EMU10K1=m
-CONFIG_GAMEPORT_FM801=m
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_SERIAL_NONSTANDARD=y
-CONFIG_COMPUTONE=m
-CONFIG_ROCKETPORT=m
-CONFIG_CYCLADES=m
-# CONFIG_CYZ_INTR is not set
-CONFIG_DIGIEPCA=m
-CONFIG_ESPSERIAL=m
-CONFIG_MOXA_INTELLIO=m
-CONFIG_MOXA_SMARTIO=m
-CONFIG_MOXA_SMARTIO_NEW=m
-# CONFIG_ISI is not set
-CONFIG_SYNCLINK=m
-CONFIG_SYNCLINKMP=m
-CONFIG_SYNCLINK_GT=m
-CONFIG_N_HDLC=m
-CONFIG_RISCOM8=m
-CONFIG_SPECIALIX=m
-# CONFIG_SPECIALIX_RTSCTS is not set
-CONFIG_SX=m
-CONFIG_RIO=m
-CONFIG_RIO_OLDPCI=y
-CONFIG_STALDRV=y
-CONFIG_STALLION=m
-CONFIG_ISTALLION=m
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_PNP=y
-CONFIG_SERIAL_8250_CS=m
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-# CONFIG_SERIAL_8250_EXTENDED is not set
-CONFIG_SERIAL_8250_MCA=m
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_SERIAL_JSM=m
-CONFIG_UNIX98_PTYS=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=256
-CONFIG_PRINTER=m
-CONFIG_LP_CONSOLE=y
-CONFIG_PPDEV=m
-CONFIG_TIPAR=m
-
-#
-# IPMI
-#
-CONFIG_IPMI_HANDLER=m
-# CONFIG_IPMI_PANIC_EVENT is not set
-CONFIG_IPMI_DEVICE_INTERFACE=m
-CONFIG_IPMI_SI=m
-CONFIG_IPMI_WATCHDOG=m
-CONFIG_IPMI_POWEROFF=m
-CONFIG_WATCHDOG=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-
-#
-# Watchdog Device Drivers
-#
-CONFIG_SOFT_WATCHDOG=m
-CONFIG_ACQUIRE_WDT=m
-CONFIG_ADVANTECH_WDT=m
-CONFIG_ALIM1535_WDT=m
-CONFIG_ALIM7101_WDT=m
-CONFIG_SC520_WDT=m
-CONFIG_EUROTECH_WDT=m
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
-CONFIG_WAFER_WDT=m
-CONFIG_I6300ESB_WDT=m
-CONFIG_ITCO_WDT=m
-CONFIG_ITCO_VENDOR_SUPPORT=y
-CONFIG_SC1200_WDT=m
-CONFIG_SCx200_WDT=m
-CONFIG_PC87413_WDT=m
-CONFIG_60XX_WDT=m
-CONFIG_SBC8360_WDT=m
-CONFIG_CPU5_WDT=m
-CONFIG_SMSC37B787_WDT=m
-CONFIG_W83627HF_WDT=m
-CONFIG_W83697HF_WDT=m
-CONFIG_W83877F_WDT=m
-CONFIG_W83977F_WDT=m
-CONFIG_MACHZ_WDT=m
-CONFIG_SBC_EPX_C3_WATCHDOG=m
-
-#
-# ISA-based Watchdog Cards
-#
-CONFIG_PCWATCHDOG=m
-CONFIG_MIXCOMWD=m
-CONFIG_WDT=m
-CONFIG_WDT_501=y
-
-#
-# PCI-based Watchdog Cards
-#
-CONFIG_PCIPCWATCHDOG=m
-CONFIG_WDTPCI=m
-CONFIG_WDT_501_PCI=y
-
-#
-# USB-based Watchdog Cards
-#
-CONFIG_USBPCWATCHDOG=m
-CONFIG_HW_RANDOM=m
-CONFIG_HW_RANDOM_INTEL=m
-CONFIG_HW_RANDOM_AMD=m
-CONFIG_HW_RANDOM_GEODE=m
-CONFIG_HW_RANDOM_VIA=m
-CONFIG_NVRAM=m
-CONFIG_RTC=m
-CONFIG_GEN_RTC=m
-# CONFIG_GEN_RTC_X is not set
-CONFIG_DTLK=m
-CONFIG_R3964=m
-CONFIG_APPLICOM=m
-# CONFIG_SONYPI is not set
-CONFIG_AGP=m
-CONFIG_AGP_ALI=m
-CONFIG_AGP_ATI=m
-CONFIG_AGP_AMD=m
-CONFIG_AGP_AMD64=m
-CONFIG_AGP_INTEL=m
-CONFIG_AGP_NVIDIA=m
-CONFIG_AGP_SIS=m
-CONFIG_AGP_SWORKS=m
-CONFIG_AGP_VIA=m
-CONFIG_AGP_EFFICEON=m
-# CONFIG_DRM is not set
-
-#
-# PCMCIA character devices
-#
-CONFIG_SYNCLINK_CS=m
-CONFIG_CARDMAN_4000=m
-CONFIG_CARDMAN_4040=m
-CONFIG_MWAVE=m
-CONFIG_SCx200_GPIO=m
-CONFIG_PC8736x_GPIO=m
-CONFIG_NSC_GPIO=m
-CONFIG_CS5535_GPIO=m
-CONFIG_RAW_DRIVER=m
-CONFIG_MAX_RAW_DEVS=256
-CONFIG_HPET=y
-# CONFIG_HPET_RTC_IRQ is not set
-# CONFIG_HPET_MMAP is not set
-CONFIG_HANGCHECK_TIMER=m
-
-#
-# TPM devices
-#
-CONFIG_TCG_TPM=m
-CONFIG_TCG_TIS=m
-CONFIG_TCG_NSC=m
-CONFIG_TCG_ATMEL=m
-CONFIG_TCG_INFINEON=m
-CONFIG_TELCLOCK=m
-CONFIG_DEVPORT=y
-CONFIG_I2C=m
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_CHARDEV=m
-
-#
-# I2C Algorithms
-#
-CONFIG_I2C_ALGOBIT=m
-CONFIG_I2C_ALGOPCF=m
-CONFIG_I2C_ALGOPCA=m
-
-#
-# I2C Hardware Bus support
-#
-CONFIG_I2C_ALI1535=m
-CONFIG_I2C_ALI1563=m
-CONFIG_I2C_ALI15X3=m
-CONFIG_I2C_AMD756=m
-CONFIG_I2C_AMD756_S4882=m
-CONFIG_I2C_AMD8111=m
-CONFIG_I2C_ELEKTOR=m
-CONFIG_I2C_I801=m
-CONFIG_I2C_I810=m
-CONFIG_I2C_PIIX4=m
-CONFIG_I2C_ISA=m
-CONFIG_I2C_NFORCE2=m
-CONFIG_I2C_OCORES=m
-CONFIG_I2C_PARPORT=m
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_PROSAVAGE=m
-CONFIG_I2C_SAVAGE4=m
-CONFIG_I2C_SIMTEC=m
-# CONFIG_SCx200_I2C is not set
-CONFIG_SCx200_ACB=m
-CONFIG_I2C_SIS5595=m
-CONFIG_I2C_SIS630=m
-CONFIG_I2C_SIS96X=m
-CONFIG_I2C_STUB=m
-CONFIG_I2C_TINY_USB=m
-CONFIG_I2C_VIA=m
-CONFIG_I2C_VIAPRO=m
-CONFIG_I2C_VOODOO3=m
-CONFIG_I2C_PCA_ISA=m
-
-#
-# Miscellaneous I2C Chip support
-#
-CONFIG_SENSORS_DS1337=m
-CONFIG_SENSORS_DS1374=m
-CONFIG_SENSORS_EEPROM=m
-CONFIG_SENSORS_PCF8574=m
-CONFIG_SENSORS_PCA9539=m
-CONFIG_SENSORS_PCF8591=m
-CONFIG_SENSORS_MAX6875=m
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CHIP is not set
-
-#
-# SPI support
-#
-CONFIG_SPI=y
-# CONFIG_SPI_DEBUG is not set
-CONFIG_SPI_MASTER=y
-
-#
-# SPI Master Controller Drivers
-#
-CONFIG_SPI_BITBANG=m
-# CONFIG_SPI_BUTTERFLY is not set
-
-#
-# SPI Protocol Masters
-#
-CONFIG_SPI_AT25=m
-CONFIG_SPI_SPIDEV=m
-
-#
-# Dallas's 1-wire bus
-#
-CONFIG_W1=m
-CONFIG_W1_CON=y
-
-#
-# 1-wire Bus Masters
-#
-CONFIG_W1_MASTER_MATROX=m
-CONFIG_W1_MASTER_DS2490=m
-CONFIG_W1_MASTER_DS2482=m
-
-#
-# 1-wire Slaves
-#
-CONFIG_W1_SLAVE_THERM=m
-CONFIG_W1_SLAVE_SMEM=m
-CONFIG_W1_SLAVE_DS2433=m
-CONFIG_W1_SLAVE_DS2433_CRC=y
-CONFIG_HWMON=m
-CONFIG_HWMON_VID=m
-CONFIG_SENSORS_ABITUGURU=m
-CONFIG_SENSORS_AD7418=m
-CONFIG_SENSORS_ADM1021=m
-CONFIG_SENSORS_ADM1025=m
-CONFIG_SENSORS_ADM1026=m
-CONFIG_SENSORS_ADM1029=m
-CONFIG_SENSORS_ADM1031=m
-CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_K8TEMP=m
-CONFIG_SENSORS_ASB100=m
-CONFIG_SENSORS_ATXP1=m
-CONFIG_SENSORS_DS1621=m
-CONFIG_SENSORS_F71805F=m
-CONFIG_SENSORS_FSCHER=m
-CONFIG_SENSORS_FSCPOS=m
-CONFIG_SENSORS_GL518SM=m
-CONFIG_SENSORS_GL520SM=m
-CONFIG_SENSORS_CORETEMP=m
-CONFIG_SENSORS_IT87=m
-CONFIG_SENSORS_LM63=m
-CONFIG_SENSORS_LM70=m
-CONFIG_SENSORS_LM75=m
-CONFIG_SENSORS_LM77=m
-CONFIG_SENSORS_LM78=m
-CONFIG_SENSORS_LM80=m
-CONFIG_SENSORS_LM83=m
-CONFIG_SENSORS_LM85=m
-CONFIG_SENSORS_LM87=m
-CONFIG_SENSORS_LM90=m
-CONFIG_SENSORS_LM92=m
-CONFIG_SENSORS_MAX1619=m
-CONFIG_SENSORS_MAX6650=m
-CONFIG_SENSORS_PC87360=m
-CONFIG_SENSORS_PC87427=m
-CONFIG_SENSORS_SIS5595=m
-CONFIG_SENSORS_SMSC47M1=m
-CONFIG_SENSORS_SMSC47M192=m
-CONFIG_SENSORS_SMSC47B397=m
-CONFIG_SENSORS_VIA686A=m
-CONFIG_SENSORS_VT1211=m
-CONFIG_SENSORS_VT8231=m
-CONFIG_SENSORS_W83781D=m
-CONFIG_SENSORS_W83791D=m
-CONFIG_SENSORS_W83792D=m
-CONFIG_SENSORS_W83793=m
-CONFIG_SENSORS_W83L785TS=m
-CONFIG_SENSORS_W83627HF=m
-CONFIG_SENSORS_W83627EHF=m
-CONFIG_SENSORS_HDAPS=m
-CONFIG_SENSORS_APPLESMC=m
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Multifunction device drivers
-#
-CONFIG_MFD_SM501=m
-
-#
-# Multimedia devices
-#
-CONFIG_VIDEO_DEV=m
-CONFIG_VIDEO_V4L1=y
-CONFIG_VIDEO_V4L1_COMPAT=y
-CONFIG_VIDEO_V4L2=y
-CONFIG_VIDEO_CAPTURE_DRIVERS=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
-CONFIG_VIDEO_MSP3400=m
-CONFIG_VIDEO_WM8775=m
-CONFIG_VIDEO_OV7670=m
-CONFIG_VIDEO_SAA711X=m
-CONFIG_VIDEO_CX25840=m
-CONFIG_VIDEO_CX2341X=m
-CONFIG_VIDEO_VIVI=m
-# CONFIG_VIDEO_BT848 is not set
-# CONFIG_VIDEO_PMS is not set
-# CONFIG_VIDEO_BWQCAM is not set
-# CONFIG_VIDEO_CQCAM is not set
-# CONFIG_VIDEO_W9966 is not set
-# CONFIG_VIDEO_CPIA is not set
-# CONFIG_VIDEO_CPIA2 is not set
-CONFIG_VIDEO_SAA5246A=m
-CONFIG_VIDEO_SAA5249=m
-# CONFIG_TUNER_3036 is not set
-# CONFIG_VIDEO_STRADIS is not set
-# CONFIG_VIDEO_ZORAN is not set
-# CONFIG_VIDEO_MEYE is not set
-CONFIG_VIDEO_SAA7134=m
-# CONFIG_VIDEO_SAA7134_ALSA is not set
-# CONFIG_VIDEO_SAA7134_OSS is not set
-CONFIG_VIDEO_SAA7134_DVB=m
-# CONFIG_VIDEO_MXB is not set
-# CONFIG_VIDEO_DPC is not set
-CONFIG_VIDEO_HEXIUM_ORION=m
-CONFIG_VIDEO_HEXIUM_GEMINI=m
-CONFIG_VIDEO_CX88=m
-# CONFIG_VIDEO_CX88_ALSA is not set
-CONFIG_VIDEO_CX88_BLACKBIRD=m
-CONFIG_VIDEO_CX88_DVB=m
-CONFIG_VIDEO_CX88_VP3054=m
-# CONFIG_VIDEO_IVTV is not set
-CONFIG_VIDEO_CAFE_CCIC=m
-CONFIG_V4L_USB_DRIVERS=y
-CONFIG_VIDEO_PVRUSB2=m
-CONFIG_VIDEO_PVRUSB2_29XXX=y
-CONFIG_VIDEO_PVRUSB2_24XXX=y
-# CONFIG_VIDEO_PVRUSB2_SYSFS is not set
-# CONFIG_VIDEO_EM28XX is not set
-CONFIG_VIDEO_USBVISION=m
-# CONFIG_USB_VICAM is not set
-# CONFIG_USB_IBMCAM is not set
-# CONFIG_USB_KONICAWC is not set
-# CONFIG_USB_QUICKCAM_MESSENGER is not set
-# CONFIG_USB_ET61X251 is not set
-# CONFIG_VIDEO_OVCAMCHIP is not set
-# CONFIG_USB_W9968CF is not set
-# CONFIG_USB_OV511 is not set
-# CONFIG_USB_SE401 is not set
-CONFIG_USB_SN9C102=m
-# CONFIG_USB_STV680 is not set
-# CONFIG_USB_ZC0301 is not set
-# CONFIG_USB_PWC is not set
-CONFIG_USB_ZR364XX=m
-CONFIG_RADIO_ADAPTERS=y
-CONFIG_RADIO_CADET=m
-CONFIG_RADIO_RTRACK=m
-CONFIG_RADIO_RTRACK2=m
-CONFIG_RADIO_AZTECH=m
-CONFIG_RADIO_GEMTEK=m
-CONFIG_RADIO_GEMTEK_PCI=m
-CONFIG_RADIO_MAXIRADIO=m
-CONFIG_RADIO_MAESTRO=m
-CONFIG_RADIO_SF16FMI=m
-CONFIG_RADIO_SF16FMR2=m
-CONFIG_RADIO_TERRATEC=m
-CONFIG_RADIO_TRUST=m
-CONFIG_RADIO_TYPHOON=m
-CONFIG_RADIO_TYPHOON_PROC_FS=y
-CONFIG_RADIO_ZOLTRIX=m
-# CONFIG_USB_DSBR is not set
-CONFIG_DVB_CORE=m
-CONFIG_DVB_CORE_ATTACH=y
-CONFIG_DVB_CAPTURE_DRIVERS=y
-
-#
-# Supported SAA7146 based PCI Adapters
-#
-# CONFIG_DVB_AV7110 is not set
-# CONFIG_DVB_BUDGET is not set
-# CONFIG_DVB_BUDGET_CI is not set
-# CONFIG_DVB_BUDGET_AV is not set
-
-#
-# Supported USB Adapters
-#
-CONFIG_DVB_USB=m
-# CONFIG_DVB_USB_DEBUG is not set
-CONFIG_DVB_USB_A800=m
-CONFIG_DVB_USB_DIBUSB_MB=m
-CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
-CONFIG_DVB_USB_DIBUSB_MC=m
-CONFIG_DVB_USB_DIB0700=m
-CONFIG_DVB_USB_UMT_010=m
-CONFIG_DVB_USB_CXUSB=m
-CONFIG_DVB_USB_M920X=m
-CONFIG_DVB_USB_GL861=m
-CONFIG_DVB_USB_AU6610=m
-CONFIG_DVB_USB_DIGITV=m
-CONFIG_DVB_USB_VP7045=m
-CONFIG_DVB_USB_VP702X=m
-CONFIG_DVB_USB_GP8PSK=m
-CONFIG_DVB_USB_NOVA_T_USB2=m
-CONFIG_DVB_USB_TTUSB2=m
-CONFIG_DVB_USB_DTT200U=m
-CONFIG_DVB_USB_OPERA1=m
-CONFIG_DVB_TTUSB_BUDGET=m
-CONFIG_DVB_TTUSB_DEC=m
-CONFIG_DVB_CINERGYT2=m
-# CONFIG_DVB_CINERGYT2_TUNING is not set
-
-#
-# Supported FlexCopII (B2C2) Adapters
-#
-CONFIG_DVB_B2C2_FLEXCOP=m
-CONFIG_DVB_B2C2_FLEXCOP_PCI=m
-CONFIG_DVB_B2C2_FLEXCOP_USB=m
-# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
-
-#
-# Supported BT878 Adapters
-#
-
-#
-# Supported Pluto2 Adapters
-#
-CONFIG_DVB_PLUTO2=m
-
-#
-# Supported DVB Frontends
-#
-
-#
-# Customise DVB Frontends
-#
-# CONFIG_DVB_FE_CUSTOMISE is not set
-
-#
-# DVB-S (satellite) frontends
-#
-CONFIG_DVB_STV0299=m
-# CONFIG_DVB_CX24110 is not set
-CONFIG_DVB_CX24123=m
-CONFIG_DVB_TDA8083=m
-CONFIG_DVB_MT312=m
-# CONFIG_DVB_VES1X93 is not set
-# CONFIG_DVB_S5H1420 is not set
-CONFIG_DVB_TDA10086=m
-
-#
-# DVB-T (terrestrial) frontends
-#
-# CONFIG_DVB_SP8870 is not set
-# CONFIG_DVB_SP887X is not set
-CONFIG_DVB_CX22700=m
-CONFIG_DVB_CX22702=m
-# CONFIG_DVB_L64781 is not set
-CONFIG_DVB_TDA1004X=m
-CONFIG_DVB_NXT6000=m
-CONFIG_DVB_MT352=m
-CONFIG_DVB_ZL10353=m
-CONFIG_DVB_DIB3000MB=m
-CONFIG_DVB_DIB3000MC=m
-CONFIG_DVB_DIB7000M=m
-CONFIG_DVB_DIB7000P=m
-
-#
-# DVB-C (cable) frontends
-#
-CONFIG_DVB_VES1820=m
-# CONFIG_DVB_TDA10021 is not set
-# CONFIG_DVB_TDA10023 is not set
-CONFIG_DVB_STV0297=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
-CONFIG_DVB_NXT200X=m
-# CONFIG_DVB_OR51211 is not set
-CONFIG_DVB_OR51132=m
-CONFIG_DVB_BCM3510=m
-CONFIG_DVB_LGDT330X=m
-
-#
-# Tuners/PLL support
-#
-CONFIG_DVB_PLL=m
-CONFIG_DVB_TDA826X=m
-CONFIG_DVB_TDA827X=m
-CONFIG_DVB_TUNER_QT1010=m
-CONFIG_DVB_TUNER_MT2060=m
-
-#
-# Miscellaneous devices
-#
-CONFIG_DVB_LNBP21=m
-CONFIG_DVB_ISL6421=m
-# CONFIG_DVB_TUA6100 is not set
-CONFIG_VIDEO_SAA7146=m
-CONFIG_VIDEO_SAA7146_VV=m
-CONFIG_VIDEO_TUNER=m
-CONFIG_VIDEO_BUF=m
-CONFIG_VIDEO_BUF_DVB=m
-CONFIG_VIDEO_BTCX=m
-CONFIG_VIDEO_IR=m
-CONFIG_VIDEO_TVEEPROM=m
-CONFIG_DAB=y
-CONFIG_USB_DABUSB=m
-
-#
-# Graphics support
-#
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_LCD_CLASS_DEVICE=m
-CONFIG_BACKLIGHT_PROGEAR=m
-CONFIG_BACKLIGHT_CARILLO_RANCH=m
-
-#
-# Display device support
-#
-CONFIG_DISPLAY_SUPPORT=y
-
-#
-# Display hardware drivers
-#
-CONFIG_VGASTATE=m
-CONFIG_FB=m
-CONFIG_FIRMWARE_EDID=y
-CONFIG_FB_DDC=m
-CONFIG_FB_CFB_FILLRECT=m
-CONFIG_FB_CFB_COPYAREA=m
-CONFIG_FB_CFB_IMAGEBLIT=m
-CONFIG_FB_SYS_FILLRECT=m
-CONFIG_FB_SYS_COPYAREA=m
-CONFIG_FB_SYS_IMAGEBLIT=m
-CONFIG_FB_SYS_FOPS=m
-CONFIG_FB_DEFERRED_IO=y
-CONFIG_FB_SVGALIB=m
-# CONFIG_FB_MACMODES is not set
-CONFIG_FB_BACKLIGHT=y
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_FB_TILEBLITTING=y
-
-#
-# Frame buffer hardware drivers
-#
-CONFIG_FB_CIRRUS=m
-CONFIG_FB_PM2=m
-CONFIG_FB_PM2_FIFO_DISCONNECT=y
-CONFIG_FB_CYBER2000=m
-CONFIG_FB_ARC=m
-CONFIG_FB_VGA16=m
-CONFIG_FB_HECUBA=m
-CONFIG_FB_HGA=m
-# CONFIG_FB_HGA_ACCEL is not set
-CONFIG_FB_S1D13XXX=m
-CONFIG_FB_NVIDIA=m
-CONFIG_FB_NVIDIA_I2C=y
-# CONFIG_FB_NVIDIA_DEBUG is not set
-CONFIG_FB_NVIDIA_BACKLIGHT=y
-CONFIG_FB_RIVA=m
-CONFIG_FB_RIVA_I2C=y
-# CONFIG_FB_RIVA_DEBUG is not set
-CONFIG_FB_RIVA_BACKLIGHT=y
-CONFIG_FB_I810=m
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-CONFIG_FB_LE80578=m
-CONFIG_FB_CARILLO_RANCH=m
-CONFIG_FB_INTEL=m
-# CONFIG_FB_INTEL_DEBUG is not set
-CONFIG_FB_INTEL_I2C=y
-CONFIG_FB_MATROX=m
-CONFIG_FB_MATROX_MILLENIUM=y
-CONFIG_FB_MATROX_MYSTIQUE=y
-CONFIG_FB_MATROX_G=y
-CONFIG_FB_MATROX_I2C=m
-CONFIG_FB_MATROX_MAVEN=m
-CONFIG_FB_MATROX_MULTIHEAD=y
-CONFIG_FB_RADEON=m
-CONFIG_FB_RADEON_I2C=y
-CONFIG_FB_RADEON_BACKLIGHT=y
-# CONFIG_FB_RADEON_DEBUG is not set
-CONFIG_FB_ATY128=m
-CONFIG_FB_ATY128_BACKLIGHT=y
-CONFIG_FB_ATY=m
-CONFIG_FB_ATY_CT=y
-# CONFIG_FB_ATY_GENERIC_LCD is not set
-CONFIG_FB_ATY_GX=y
-CONFIG_FB_ATY_BACKLIGHT=y
-CONFIG_FB_S3=m
-CONFIG_FB_SAVAGE=m
-CONFIG_FB_SAVAGE_I2C=y
-# CONFIG_FB_SAVAGE_ACCEL is not set
-CONFIG_FB_SIS=m
-CONFIG_FB_SIS_300=y
-CONFIG_FB_SIS_315=y
-CONFIG_FB_NEOMAGIC=m
-CONFIG_FB_KYRO=m
-CONFIG_FB_3DFX=m
-# CONFIG_FB_3DFX_ACCEL is not set
-CONFIG_FB_VOODOO1=m
-CONFIG_FB_VT8623=m
-CONFIG_FB_CYBLA=m
-CONFIG_FB_TRIDENT=m
-# CONFIG_FB_TRIDENT_ACCEL is not set
-CONFIG_FB_ARK=m
-# CONFIG_FB_PM3 is not set
-# CONFIG_FB_GEODE is not set
-CONFIG_FB_SM501=m
-# CONFIG_FB_VIRTUAL is not set
-
-#
-# Console display driver support
-#
-CONFIG_VGA_CONSOLE=y
-CONFIG_VGACON_SOFT_SCROLLBACK=y
-CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=128
-CONFIG_VIDEO_SELECT=y
-# CONFIG_MDA_CONSOLE is not set
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=m
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-# CONFIG_FONTS is not set
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-# CONFIG_LOGO is not set
-
-#
-# Sound
-#
-CONFIG_SOUND=m
-
-#
-# Advanced Linux Sound Architecture
-#
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
-CONFIG_SND_SEQUENCER=m
-CONFIG_SND_SEQ_DUMMY=m
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_PCM_OSS_PLUGINS=y
-CONFIG_SND_SEQUENCER_OSS=y
-CONFIG_SND_RTCTIMER=m
-CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
-# CONFIG_SND_DYNAMIC_MINORS is not set
-# CONFIG_SND_SUPPORT_OLD_API is not set
-# CONFIG_SND_VERBOSE_PROCFS is not set
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-
-#
-# Generic devices
-#
-CONFIG_SND_MPU401_UART=m
-CONFIG_SND_OPL3_LIB=m
-CONFIG_SND_OPL4_LIB=m
-CONFIG_SND_VX_LIB=m
-CONFIG_SND_AC97_CODEC=m
-CONFIG_SND_DUMMY=m
-CONFIG_SND_VIRMIDI=m
-CONFIG_SND_MTPAV=m
-CONFIG_SND_MTS64=m
-CONFIG_SND_SERIAL_U16550=m
-CONFIG_SND_MPU401=m
-CONFIG_SND_PORTMAN2X4=m
-
-#
-# ISA devices
-#
-CONFIG_SND_AD1848_LIB=m
-CONFIG_SND_CS4231_LIB=m
-CONFIG_SND_ADLIB=m
-CONFIG_SND_AD1816A=m
-CONFIG_SND_AD1848=m
-CONFIG_SND_ALS100=m
-CONFIG_SND_AZT2320=m
-CONFIG_SND_CMI8330=m
-CONFIG_SND_CS4231=m
-CONFIG_SND_CS4232=m
-CONFIG_SND_CS4236=m
-CONFIG_SND_DT019X=m
-CONFIG_SND_ES968=m
-CONFIG_SND_ES1688=m
-CONFIG_SND_ES18XX=m
-CONFIG_SND_GUS_SYNTH=m
-CONFIG_SND_GUSCLASSIC=m
-CONFIG_SND_GUSEXTREME=m
-CONFIG_SND_GUSMAX=m
-CONFIG_SND_INTERWAVE=m
-CONFIG_SND_INTERWAVE_STB=m
-CONFIG_SND_OPL3SA2=m
-CONFIG_SND_OPTI92X_AD1848=m
-CONFIG_SND_OPTI92X_CS4231=m
-CONFIG_SND_OPTI93X=m
-CONFIG_SND_MIRO=m
-CONFIG_SND_SB8=m
-CONFIG_SND_SB16=m
-CONFIG_SND_SBAWE=m
-CONFIG_SND_SB16_CSP=y
-CONFIG_SND_SB16_CSP_FIRMWARE_IN_KERNEL=y
-CONFIG_SND_SGALAXY=m
-CONFIG_SND_SSCAPE=m
-CONFIG_SND_WAVEFRONT=m
-CONFIG_SND_WAVEFRONT_FIRMWARE_IN_KERNEL=y
-
-#
-# PCI devices
-#
-CONFIG_SND_AD1889=m
-CONFIG_SND_ALS300=m
-CONFIG_SND_ALS4000=m
-CONFIG_SND_ALI5451=m
-CONFIG_SND_ATIIXP=m
-CONFIG_SND_ATIIXP_MODEM=m
-CONFIG_SND_AU8810=m
-CONFIG_SND_AU8820=m
-CONFIG_SND_AU8830=m
-# CONFIG_SND_AZT3328 is not set
-CONFIG_SND_BT87X=m
-CONFIG_SND_BT87X_OVERCLOCK=y
-CONFIG_SND_CA0106=m
-CONFIG_SND_CMIPCI=m
-CONFIG_SND_CS4281=m
-CONFIG_SND_CS46XX=m
-CONFIG_SND_CS46XX_NEW_DSP=y
-CONFIG_SND_CS5535AUDIO=m
-CONFIG_SND_DARLA20=m
-CONFIG_SND_GINA20=m
-CONFIG_SND_LAYLA20=m
-CONFIG_SND_DARLA24=m
-CONFIG_SND_GINA24=m
-CONFIG_SND_LAYLA24=m
-CONFIG_SND_MONA=m
-CONFIG_SND_MIA=m
-CONFIG_SND_ECHO3G=m
-CONFIG_SND_INDIGO=m
-CONFIG_SND_INDIGOIO=m
-CONFIG_SND_INDIGODJ=m
-CONFIG_SND_EMU10K1=m
-CONFIG_SND_EMU10K1X=m
-CONFIG_SND_ENS1370=m
-CONFIG_SND_ENS1371=m
-CONFIG_SND_ES1938=m
-CONFIG_SND_ES1968=m
-CONFIG_SND_FM801=m
-CONFIG_SND_FM801_TEA575X_BOOL=y
-CONFIG_SND_FM801_TEA575X=m
-CONFIG_SND_HDA_INTEL=m
-CONFIG_SND_HDSP=m
-CONFIG_SND_HDSPM=m
-CONFIG_SND_ICE1712=m
-CONFIG_SND_ICE1724=m
-CONFIG_SND_INTEL8X0=m
-CONFIG_SND_INTEL8X0M=m
-CONFIG_SND_KORG1212=m
-CONFIG_SND_KORG1212_FIRMWARE_IN_KERNEL=y
-CONFIG_SND_MAESTRO3=m
-CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL=y
-CONFIG_SND_MIXART=m
-CONFIG_SND_NM256=m
-CONFIG_SND_PCXHR=m
-CONFIG_SND_RIPTIDE=m
-CONFIG_SND_RME32=m
-CONFIG_SND_RME96=m
-CONFIG_SND_RME9652=m
-CONFIG_SND_SONICVIBES=m
-CONFIG_SND_TRIDENT=m
-CONFIG_SND_VIA82XX=m
-CONFIG_SND_VIA82XX_MODEM=m
-CONFIG_SND_VX222=m
-CONFIG_SND_YMFPCI=m
-CONFIG_SND_YMFPCI_FIRMWARE_IN_KERNEL=y
-CONFIG_SND_AC97_POWER_SAVE=y
-
-#
-# USB devices
-#
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_USB_USX2Y=m
-CONFIG_SND_USB_CAIAQ=m
-CONFIG_SND_USB_CAIAQ_INPUT=y
-
-#
-# PCMCIA devices
-#
-CONFIG_SND_VXPOCKET=m
-CONFIG_SND_PDAUDIOCF=m
-
-#
-# System on Chip audio support
-#
-CONFIG_SND_SOC=m
-
-#
-# Open Sound System
-#
-CONFIG_SOUND_PRIME=m
-# CONFIG_OSS_OBSOLETE is not set
-# CONFIG_SOUND_TRIDENT is not set
-# CONFIG_SOUND_MSNDCLAS is not set
-# CONFIG_SOUND_MSNDPIN is not set
-# CONFIG_SOUND_OSS is not set
-CONFIG_AC97_BUS=m
-
-#
-# HID Devices
-#
-CONFIG_HID=m
-# CONFIG_HID_DEBUG is not set
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=m
-CONFIG_USB_HIDINPUT_POWERBOOK=y
-# CONFIG_HID_FF is not set
-CONFIG_USB_HIDDEV=y
-
-#
-# USB HID Boot Protocol drivers
-#
-# CONFIG_USB_KBD is not set
-# CONFIG_USB_MOUSE is not set
-
-#
-# USB support
-#
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB=m
-# CONFIG_USB_DEBUG is not set
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-# CONFIG_USB_DEVICE_CLASS is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_SUSPEND is not set
-# CONFIG_USB_OTG is not set
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_EHCI_HCD=m
-# CONFIG_USB_EHCI_SPLIT_ISO is not set
-# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
-# CONFIG_USB_EHCI_TT_NEWSCHED is not set
-# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
-CONFIG_USB_ISP116X_HCD=m
-CONFIG_USB_OHCI_HCD=m
-# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-CONFIG_USB_UHCI_HCD=m
-CONFIG_USB_U132_HCD=m
-CONFIG_USB_SL811_HCD=m
-CONFIG_USB_SL811_CS=m
-
-#
-# USB Device Class drivers
-#
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
-
-#
-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-#
-
-#
-# may also be needed; see USB_STORAGE Help for more information
-#
-CONFIG_USB_STORAGE=m
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-CONFIG_USB_STORAGE_FREECOM=y
-CONFIG_USB_STORAGE_ISD200=y
-CONFIG_USB_STORAGE_DPCM=y
-# CONFIG_USB_STORAGE_USBAT is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_SDDR55 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_STORAGE_ALAUDA is not set
-CONFIG_USB_STORAGE_KARMA=y
-CONFIG_USB_LIBUSUAL=y
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-CONFIG_USB_MICROTEK=m
-CONFIG_USB_MON=y
-
-#
-# USB port drivers
-#
-CONFIG_USB_USS720=m
-
-#
-# USB Serial Converter support
-#
-CONFIG_USB_SERIAL=m
-CONFIG_USB_SERIAL_GENERIC=y
-# CONFIG_USB_SERIAL_AIRCABLE is not set
-CONFIG_USB_SERIAL_AIRPRIME=m
-# CONFIG_USB_SERIAL_ARK3116 is not set
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_CP2101=m
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-# CONFIG_USB_SERIAL_FTDI_SIO is not set
-CONFIG_USB_SERIAL_FUNSOFT=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_IPAQ=m
-# CONFIG_USB_SERIAL_IR is not set
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_GARMIN=m
-# CONFIG_USB_SERIAL_IPW is not set
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-CONFIG_USB_SERIAL_KEYSPAN=m
-CONFIG_USB_SERIAL_KEYSPAN_MPR=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19=y
-CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
-CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
-CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
-# CONFIG_USB_SERIAL_KLSI is not set
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-CONFIG_USB_SERIAL_MOS7720=m
-CONFIG_USB_SERIAL_MOS7840=m
-CONFIG_USB_SERIAL_NAVMAN=m
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_USB_SERIAL_HP4X=m
-# CONFIG_USB_SERIAL_SAFE is not set
-CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-CONFIG_USB_SERIAL_TI=m
-# CONFIG_USB_SERIAL_CYBERJACK is not set
-CONFIG_USB_SERIAL_XIRCOM=m
-CONFIG_USB_SERIAL_OPTION=m
-# CONFIG_USB_SERIAL_OMNINET is not set
-# CONFIG_USB_SERIAL_DEBUG is not set
-CONFIG_USB_EZUSB=y
-
-#
-# USB Miscellaneous drivers
-#
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_AUERSWALD is not set
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_LEGOTOWER is not set
-CONFIG_USB_LCD=m
-CONFIG_USB_BERRY_CHARGE=m
-CONFIG_USB_LED=m
-CONFIG_USB_CYPRESS_CY7C63=m
-CONFIG_USB_CYTHERM=m
-CONFIG_USB_PHIDGET=m
-CONFIG_USB_PHIDGETKIT=m
-CONFIG_USB_PHIDGETMOTORCONTROL=m
-CONFIG_USB_PHIDGETSERVO=m
-CONFIG_USB_IDMOUSE=m
-CONFIG_USB_FTDI_ELAN=m
-CONFIG_USB_APPLEDISPLAY=m
-CONFIG_USB_SISUSBVGA=m
-CONFIG_USB_SISUSBVGA_CON=y
-CONFIG_USB_LD=m
-CONFIG_USB_TRANCEVIBRATOR=m
-CONFIG_USB_IOWARRIOR=m
-# CONFIG_USB_TEST is not set
-
-#
-# USB DSL modem support
-#
-
-#
-# USB Gadget Support
-#
-CONFIG_USB_GADGET=m
-# CONFIG_USB_GADGET_DEBUG_FILES is not set
-CONFIG_USB_GADGET_SELECTED=y
-# CONFIG_USB_GADGET_FSL_USB2 is not set
-CONFIG_USB_GADGET_NET2280=y
-CONFIG_USB_NET2280=m
-# CONFIG_USB_GADGET_PXA2XX is not set
-# CONFIG_USB_GADGET_GOKU is not set
-# CONFIG_USB_GADGET_LH7A40X is not set
-# CONFIG_USB_GADGET_OMAP is not set
-# CONFIG_USB_GADGET_AT91 is not set
-# CONFIG_USB_GADGET_DUMMY_HCD is not set
-CONFIG_USB_GADGET_DUALSPEED=y
-# CONFIG_USB_ZERO is not set
-CONFIG_USB_ETH=m
-# CONFIG_USB_ETH_RNDIS is not set
-# CONFIG_USB_GADGETFS is not set
-CONFIG_USB_FILE_STORAGE=m
-# CONFIG_USB_FILE_STORAGE_TEST is not set
-CONFIG_USB_G_SERIAL=m
-# CONFIG_USB_MIDI_GADGET is not set
-CONFIG_MMC=m
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-
-#
-# MMC/SD Card Drivers
-#
-CONFIG_MMC_BLOCK=m
-
-#
-# MMC/SD Host Controller Drivers
-#
-# CONFIG_MMC_SDHCI is not set
-CONFIG_MMC_WBSD=m
-# CONFIG_MMC_TIFM_SD is not set
-
-#
-# LED devices
-#
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=m
-
-#
-# LED drivers
-#
-CONFIG_LEDS_NET48XX=m
-CONFIG_LEDS_WRAP=m
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=m
-CONFIG_LEDS_TRIGGER_IDE_DISK=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=m
-
-#
-# InfiniBand support
-#
-CONFIG_INFINIBAND=m
-CONFIG_INFINIBAND_USER_MAD=m
-CONFIG_INFINIBAND_USER_ACCESS=m
-CONFIG_INFINIBAND_USER_MEM=y
-CONFIG_INFINIBAND_ADDR_TRANS=y
-CONFIG_INFINIBAND_MTHCA=m
-CONFIG_INFINIBAND_MTHCA_DEBUG=y
-CONFIG_INFINIBAND_AMSO1100=m
-# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
-# CONFIG_INFINIBAND_CXGB3 is not set
-CONFIG_MLX4_INFINIBAND=m
-CONFIG_INFINIBAND_IPOIB=m
-# CONFIG_INFINIBAND_IPOIB_CM is not set
-CONFIG_INFINIBAND_IPOIB_DEBUG=y
-# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
-CONFIG_INFINIBAND_SRP=m
-CONFIG_INFINIBAND_ISER=m
-
-#
-# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
-#
-# CONFIG_EDAC is not set
-
-#
-# Real Time Clock
-#
-CONFIG_RTC_LIB=m
-CONFIG_RTC_CLASS=m
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-CONFIG_RTC_INTF_DEV_UIE_EMUL=y
-# CONFIG_RTC_DRV_TEST is not set
-
-#
-# I2C RTC drivers
-#
-CONFIG_RTC_DRV_DS1307=m
-CONFIG_RTC_DRV_DS1672=m
-CONFIG_RTC_DRV_MAX6900=m
-CONFIG_RTC_DRV_RS5C372=m
-CONFIG_RTC_DRV_ISL1208=m
-CONFIG_RTC_DRV_X1205=m
-CONFIG_RTC_DRV_PCF8563=m
-CONFIG_RTC_DRV_PCF8583=m
-
-#
-# SPI RTC drivers
-#
-CONFIG_RTC_DRV_RS5C348=m
-CONFIG_RTC_DRV_MAX6902=m
-
-#
-# Platform RTC drivers
-#
-CONFIG_RTC_DRV_CMOS=m
-CONFIG_RTC_DRV_DS1553=m
-CONFIG_RTC_DRV_DS1742=m
-CONFIG_RTC_DRV_M48T86=m
-CONFIG_RTC_DRV_V3020=m
-
-#
-# on-CPU RTC drivers
-#
-
-#
-# DMA Engine support
-#
-CONFIG_DMA_ENGINE=y
-
-#
-# DMA Clients
-#
-CONFIG_NET_DMA=y
-
-#
-# DMA Devices
-#
-CONFIG_INTEL_IOATDMA=m
-
-#
-# Auxiliary Display support
-#
-CONFIG_KS0108=m
-CONFIG_KS0108_PORT=0x378
-CONFIG_KS0108_DELAY=2
-CONFIG_CFAG12864B=m
-CONFIG_CFAG12864B_RATE=20
-
-#
-# Virtualization
-#
-CONFIG_KVM=m
-CONFIG_KVM_INTEL=m
-CONFIG_KVM_AMD=m
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-CONFIG_EXT2_FS_XIP=y
-CONFIG_FS_XIP=y
-CONFIG_EXT3_FS=m
-CONFIG_EXT3_FS_XATTR=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-CONFIG_EXT4DEV_FS=m
-CONFIG_EXT4DEV_FS_XATTR=y
-CONFIG_EXT4DEV_FS_POSIX_ACL=y
-CONFIG_EXT4DEV_FS_SECURITY=y
-CONFIG_JBD=m
-CONFIG_JBD_DEBUG=y
-CONFIG_JBD2=m
-CONFIG_JBD2_DEBUG=y
-CONFIG_FS_MBCACHE=y
-CONFIG_REISERFS_FS=m
-# CONFIG_REISERFS_CHECK is not set
-CONFIG_REISERFS_PROC_INFO=y
-CONFIG_REISERFS_FS_XATTR=y
-CONFIG_REISERFS_FS_POSIX_ACL=y
-CONFIG_REISERFS_FS_SECURITY=y
-CONFIG_JFS_FS=m
-CONFIG_JFS_POSIX_ACL=y
-CONFIG_JFS_SECURITY=y
-# CONFIG_JFS_DEBUG is not set
-CONFIG_JFS_STATISTICS=y
-CONFIG_FS_POSIX_ACL=y
-CONFIG_XFS_FS=m
-CONFIG_XFS_QUOTA=y
-CONFIG_XFS_SECURITY=y
-CONFIG_XFS_POSIX_ACL=y
-CONFIG_XFS_RT=y
-CONFIG_GFS2_FS=m
-CONFIG_GFS2_FS_LOCKING_NOLOCK=m
-CONFIG_GFS2_FS_LOCKING_DLM=m
-CONFIG_OCFS2_FS=m
-CONFIG_OCFS2_DEBUG_MASKLOG=y
-CONFIG_MINIX_FS=m
-CONFIG_ROMFS_FS=y
-CONFIG_INOTIFY=y
-CONFIG_INOTIFY_USER=y
-CONFIG_QUOTA=y
-CONFIG_QFMT_V1=m
-CONFIG_QFMT_V2=m
-CONFIG_QUOTACTL=y
-CONFIG_DNOTIFY=y
-# CONFIG_AUTOFS_FS is not set
-CONFIG_AUTOFS4_FS=y
-CONFIG_FUSE_FS=m
-CONFIG_GENERIC_ACL=y
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=y
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=y
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-CONFIG_NTFS_FS=m
-# CONFIG_NTFS_DEBUG is not set
-# CONFIG_NTFS_RW is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_HUGETLBFS=y
-CONFIG_HUGETLB_PAGE=y
-CONFIG_RAMFS=y
-CONFIG_CONFIGFS_FS=y
-
-#
-# Miscellaneous filesystems
-#
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_ECRYPT_FS is not set
-# CONFIG_HFS_FS is not set
-CONFIG_HFSPLUS_FS=m
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-CONFIG_JFFS2_FS=m
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_SUMMARY is not set
-# CONFIG_JFFS2_FS_XATTR is not set
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-CONFIG_CRAMFS=m
-CONFIG_VXFS_FS=m
-CONFIG_HPFS_FS=m
-CONFIG_QNX4FS_FS=m
-CONFIG_SYSV_FS=m
-CONFIG_UFS_FS=m
-# CONFIG_UFS_FS_WRITE is not set
-# CONFIG_UFS_DEBUG is not set
-
-#
-# Network File Systems
-#
-CONFIG_NFS_FS=m
-CONFIG_NFS_V3=y
-CONFIG_NFS_V3_ACL=y
-# CONFIG_NFS_V4 is not set
-# CONFIG_NFS_DIRECTIO is not set
-CONFIG_NFSD=m
-CONFIG_NFSD_V2_ACL=y
-CONFIG_NFSD_V3=y
-CONFIG_NFSD_V3_ACL=y
-# CONFIG_NFSD_V4 is not set
-CONFIG_NFSD_TCP=y
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-CONFIG_EXPORTFS=m
-CONFIG_NFS_ACL_SUPPORT=m
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=m
-# CONFIG_SUNRPC_BIND34 is not set
-# CONFIG_RPCSEC_GSS_KRB5 is not set
-# CONFIG_RPCSEC_GSS_SPKM3 is not set
-CONFIG_SMB_FS=m
-CONFIG_SMB_NLS_DEFAULT=y
-CONFIG_SMB_NLS_REMOTE="cp437"
-CONFIG_CIFS=m
-CONFIG_CIFS_STATS=y
-# CONFIG_CIFS_STATS2 is not set
-# CONFIG_CIFS_WEAK_PW_HASH is not set
-CONFIG_CIFS_XATTR=y
-# CONFIG_CIFS_POSIX is not set
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_CIFS_EXPERIMENTAL is not set
-CONFIG_NCP_FS=m
-CONFIG_NCPFS_PACKET_SIGNING=y
-# CONFIG_NCPFS_IOCTL_LOCKING is not set
-# CONFIG_NCPFS_STRONG is not set
-CONFIG_NCPFS_NFS_NS=y
-CONFIG_NCPFS_OS2_NS=y
-CONFIG_NCPFS_SMALLDOS=y
-CONFIG_NCPFS_NLS=y
-CONFIG_NCPFS_EXTRAS=y
-CONFIG_CODA_FS=m
-# CONFIG_CODA_FS_OLD_API is not set
-# CONFIG_AFS_FS is not set
-# CONFIG_9P_FS is not set
-
-#
-# Partition Types
-#
-# CONFIG_PARTITION_ADVANCED is not set
-CONFIG_MSDOS_PARTITION=y
-
-#
-# Native Language Support
-#
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="iso8859-1"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=y
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=y
-
-#
-# Distributed Lock Manager
-#
-CONFIG_DLM=y
-# CONFIG_DLM_DEBUG is not set
-
-#
-# Instrumentation Support
-#
-# CONFIG_PROFILING is not set
-# CONFIG_KPROBES is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_PRINTK_TIME=y
-CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_UNUSED_SYMBOLS is not set
-CONFIG_DEBUG_FS=y
-CONFIG_HEADERS_CHECK=y
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SHIRQ is not set
-CONFIG_DETECT_SOFTLOCKUP=y
-# CONFIG_SCHEDSTATS is not set
-# CONFIG_TIMER_STATS is not set
-# CONFIG_DEBUG_SLAB is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-# CONFIG_DEBUG_KOBJECT is not set
-# CONFIG_DEBUG_HIGHMEM is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_FRAME_POINTER is not set
-# CONFIG_FORCED_INLINING is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_FAULT_INJECTION is not set
-CONFIG_EARLY_PRINTK=y
-CONFIG_DEBUG_STACKOVERFLOW=y
-# CONFIG_DEBUG_STACK_USAGE is not set
-
-#
-# Page alloc debug is incompatible with Software Suspend on i386
-#
-# CONFIG_DEBUG_RODATA is not set
-# CONFIG_4KSTACKS is not set
-CONFIG_X86_FIND_SMP_CONFIG=y
-CONFIG_X86_MPPARSE=y
-CONFIG_DOUBLEFAULT=y
-
-#
-# Security options
-#
-CONFIG_KEYS=y
-# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
-CONFIG_SECURITY=y
-CONFIG_SECURITY_NETWORK=y
-CONFIG_SECURITY_NETWORK_XFRM=y
-CONFIG_SECURITY_CAPABILITIES=m
-CONFIG_SECURITY_ROOTPLUG=m
-CONFIG_SECURITY_SELINUX=y
-CONFIG_SECURITY_SELINUX_BOOTPARAM=y
-CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0
-CONFIG_SECURITY_SELINUX_DISABLE=y
-CONFIG_SECURITY_SELINUX_DEVELOP=y
-CONFIG_SECURITY_SELINUX_AVC_STATS=y
-CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
-CONFIG_SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT=y
-# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
-
-#
-# Cryptographic options
-#
-CONFIG_CRYPTO=y
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ABLKCIPHER=m
-CONFIG_CRYPTO_BLKCIPHER=m
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_SHA1=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_TGR192=m
-# CONFIG_CRYPTO_GF128MUL is not set
-CONFIG_CRYPTO_ECB=m
-CONFIG_CRYPTO_CBC=m
-CONFIG_CRYPTO_PCBC=m
-# CONFIG_CRYPTO_LRW is not set
-CONFIG_CRYPTO_CRYPTD=m
-CONFIG_CRYPTO_DES=m
-CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_TWOFISH_COMMON=m
-CONFIG_CRYPTO_TWOFISH_586=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_AES=m
-CONFIG_CRYPTO_AES_586=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_DEFLATE=m
-CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_CRC32C=y
-CONFIG_CRYPTO_CAMELLIA=m
-# CONFIG_CRYPTO_TEST is not set
-
-#
-# Hardware crypto devices
-#
-CONFIG_CRYPTO_DEV_PADLOCK=m
-CONFIG_CRYPTO_DEV_PADLOCK_AES=m
-CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
-CONFIG_CRYPTO_DEV_GEODE=m
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_CRC_CCITT=m
-CONFIG_CRC16=m
-CONFIG_CRC_ITU_T=m
-CONFIG_CRC32=y
-CONFIG_LIBCRC32C=y
-CONFIG_AUDIT_GENERIC=y
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=m
-CONFIG_REED_SOLOMON=m
-CONFIG_REED_SOLOMON_DEC16=y
-CONFIG_TEXTSEARCH=y
-CONFIG_TEXTSEARCH_KMP=m
-CONFIG_TEXTSEARCH_BM=m
-CONFIG_TEXTSEARCH_FSM=m
-CONFIG_PLIST=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_X86_BIOS_REBOOT=y
-CONFIG_KTIME_SCALAR=y
diff --git a/cauldron/etc/toolchain.x86 b/cauldron/etc/toolchain.x86
deleted file mode 100644
index ebcfca3..0000000
--- a/cauldron/etc/toolchain.x86
+++ /dev/null
@@ -1,31 +0,0 @@
-bash
-binutils
-bzip2
-coreutils
-cpio
-dialog
-diffutils
-file
-findutils
-gawk
-gcc
-glibc
-gnupg
-grep
-gzip
-iana-etc
-installwatch
-locale
-make
-ncurses
-patch
-readline
-sed
-shadow
-smgl-archspecs
-smgl-fhs
-tar
-unzip
-util-linux
-wget
-zlib
diff --git a/cauldron/etc/x86/linux-2.6.22 b/cauldron/etc/x86/linux-2.6.22
new file mode 100644
index 0000000..3a0a34f
--- /dev/null
+++ b/cauldron/etc/x86/linux-2.6.22
@@ -0,0 +1,3717 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.22
+# Wed May 14 05:24:31 2008
+#
+CONFIG_X86_32=y
+CONFIG_GENERIC_TIME=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_SEMAPHORE_SLEEPERS=y
+CONFIG_X86=y
+CONFIG_MMU=y
+CONFIG_ZONE_DMA=y
+CONFIG_QUICKLIST=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_DMI=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION="-SMGL-iso"
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_IPC_NS is not set
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+# CONFIG_TASKSTATS is not set
+# CONFIG_UTS_NS is not set
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=18
+# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+CONFIG_BLOCK=y
+CONFIG_LBD=y
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_LSF=y
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# Processor type and features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+# CONFIG_SMP is not set
+CONFIG_X86_PC=y
+# CONFIG_X86_ELAN is not set
+# CONFIG_X86_VOYAGER is not set
+# CONFIG_X86_NUMAQ is not set
+# CONFIG_X86_SUMMIT is not set
+# CONFIG_X86_BIGSMP is not set
+# CONFIG_X86_VISWS is not set
+# CONFIG_X86_GENERICARCH is not set
+# CONFIG_X86_ES7000 is not set
+# CONFIG_PARAVIRT is not set
+# CONFIG_M386 is not set
+CONFIG_M486=y
+# CONFIG_M586 is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M586MMX is not set
+# CONFIG_M686 is not set
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_MWINCHIP2 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+CONFIG_X86_GENERIC=y
+CONFIG_X86_CMPXCHG=y
+CONFIG_X86_L1_CACHE_SHIFT=7
+CONFIG_X86_XADD=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_X86_PPRO_FENCE=y
+CONFIG_X86_F00F_BUG=y
+CONFIG_X86_WP_WORKS_OK=y
+CONFIG_X86_INVLPG=y
+CONFIG_X86_BSWAP=y
+CONFIG_X86_POPAD_OK=y
+CONFIG_X86_ALIGNMENT_16=y
+CONFIG_X86_INTEL_USERCOPY=y
+CONFIG_X86_MINIMUM_CPU_MODEL=4
+CONFIG_HPET_TIMER=y
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_X86_UP_APIC=y
+CONFIG_X86_UP_IOAPIC=y
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_NONFATAL=y
+CONFIG_X86_MCE_P4THERMAL=y
+CONFIG_VM86=y
+CONFIG_TOSHIBA=m
+CONFIG_I8K=m
+# CONFIG_X86_REBOOTFIXUPS is not set
+CONFIG_MICROCODE=y
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_X86_MSR=y
+CONFIG_X86_CPUID=y
+
+#
+# Firmware Drivers
+#
+# CONFIG_EDD is not set
+# CONFIG_EFI_VARS is not set
+# CONFIG_DELL_RBU is not set
+# CONFIG_DCDBAS is not set
+# CONFIG_NOHIGHMEM is not set
+CONFIG_HIGHMEM4G=y
+# CONFIG_HIGHMEM64G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_HIGHMEM=y
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_SPARSEMEM_STATIC=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_NR_QUICK=1
+# CONFIG_HIGHPTE is not set
+CONFIG_MATH_EMULATION=y
+CONFIG_MTRR=y
+CONFIG_EFI=y
+CONFIG_BOOT_IOREMAP=y
+CONFIG_SECCOMP=y
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+# CONFIG_KEXEC is not set
+# CONFIG_CRASH_DUMP is not set
+CONFIG_PHYSICAL_START=0x100000
+# CONFIG_RELOCATABLE is not set
+CONFIG_PHYSICAL_ALIGN=0x100000
+CONFIG_COMPAT_VDSO=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+
+#
+# Power management options (ACPI, APM)
+#
+CONFIG_PM=y
+CONFIG_PM_LEGACY=y
+CONFIG_PM_DEBUG=y
+# CONFIG_DISABLE_CONSOLE_SUSPEND is not set
+# CONFIG_PM_TRACE is not set
+# CONFIG_PM_SYSFS_DEPRECATED is not set
+CONFIG_SOFTWARE_SUSPEND=y
+CONFIG_PM_STD_PARTITION=""
+
+#
+# ACPI (Advanced Configuration and Power Interface) Support
+#
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_SLEEP_PROC_FS=y
+# CONFIG_ACPI_SLEEP_PROC_SLEEP is not set
+CONFIG_ACPI_PROCFS=y
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=m
+# CONFIG_ACPI_BAY is not set
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_THERMAL=m
+CONFIG_ACPI_ASUS=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_ACPI_BLACKLIST_YEAR=2001
+CONFIG_ACPI_DEBUG=y
+CONFIG_ACPI_EC=y
+CONFIG_ACPI_POWER=y
+CONFIG_ACPI_SYSTEM=y
+CONFIG_X86_PM_TIMER=y
+# CONFIG_ACPI_CONTAINER is not set
+# CONFIG_ACPI_SBS is not set
+CONFIG_APM=m
+# CONFIG_APM_IGNORE_USER_SUSPEND is not set
+# CONFIG_APM_DO_ENABLE is not set
+# CONFIG_APM_CPU_IDLE is not set
+# CONFIG_APM_DISPLAY_BLANK is not set
+# CONFIG_APM_ALLOW_INTS is not set
+# CONFIG_APM_REAL_MODE_POWER_OFF is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=m
+CONFIG_CPU_FREQ_DEBUG=y
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+#
+# CPUFreq processor drivers
+#
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_POWERNOW_K6=m
+CONFIG_X86_POWERNOW_K7=m
+CONFIG_X86_POWERNOW_K7_ACPI=y
+CONFIG_X86_POWERNOW_K8=m
+CONFIG_X86_POWERNOW_K8_ACPI=y
+CONFIG_X86_GX_SUSPMOD=m
+CONFIG_X86_SPEEDSTEP_CENTRINO=m
+# CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI is not set
+CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
+CONFIG_X86_SPEEDSTEP_ICH=m
+CONFIG_X86_SPEEDSTEP_SMI=m
+CONFIG_X86_P4_CLOCKMOD=m
+CONFIG_X86_CPUFREQ_NFORCE2=m
+CONFIG_X86_LONGRUN=m
+CONFIG_X86_LONGHAUL=m
+CONFIG_X86_E_POWERSAVER=m
+
+#
+# shared options
+#
+CONFIG_X86_ACPI_CPUFREQ_PROC_INTF=y
+CONFIG_X86_SPEEDSTEP_LIB=m
+CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
+
+#
+# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
+#
+CONFIG_PCI=y
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+# CONFIG_PCI_GODIRECT is not set
+CONFIG_PCI_GOANY=y
+CONFIG_PCI_BIOS=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=m
+# CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE is not set
+CONFIG_PCIEAER=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_DEBUG=y
+CONFIG_HT_IRQ=y
+CONFIG_ISA_DMA_API=y
+CONFIG_ISA=y
+CONFIG_EISA=y
+CONFIG_EISA_VLB_PRIMING=y
+CONFIG_EISA_PCI_EISA=y
+CONFIG_EISA_VIRTUAL_ROOT=y
+CONFIG_EISA_NAMES=y
+CONFIG_MCA=y
+CONFIG_MCA_LEGACY=y
+CONFIG_MCA_PROC_FS=y
+CONFIG_SCx200=m
+CONFIG_SCx200HR_TIMER=m
+CONFIG_K8_NB=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=m
+CONFIG_PCMCIA_DEBUG=y
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_I82365=m
+CONFIG_TCIC=m
+CONFIG_PCMCIA_PROBE=y
+CONFIG_PCCARD_NONSTATIC=m
+CONFIG_HOTPLUG_PCI=m
+CONFIG_HOTPLUG_PCI_FAKE=m
+CONFIG_HOTPLUG_PCI_COMPAQ=m
+CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=y
+CONFIG_HOTPLUG_PCI_IBM=m
+CONFIG_HOTPLUG_PCI_ACPI=m
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+CONFIG_HOTPLUG_PCI_CPCI=y
+CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
+CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
+CONFIG_HOTPLUG_PCI_SHPC=m
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=y
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_ASK_IP_FIB_HASH=y
+# CONFIG_IP_FIB_TRIE is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=m
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+# CONFIG_DEFAULT_BIC is not set
+# CONFIG_DEFAULT_CUBIC is not set
+# CONFIG_DEFAULT_HTCP is not set
+# CONFIG_DEFAULT_VEGAS is not set
+# CONFIG_DEFAULT_WESTWOOD is not set
+CONFIG_DEFAULT_RENO=y
+CONFIG_DEFAULT_TCP_CONG="reno"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=y
+CONFIG_IPV6_PRIVACY=y
+CONFIG_IPV6_ROUTER_PREF=y
+# CONFIG_IPV6_ROUTE_INFO is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+# CONFIG_IPV6_MIP6 is not set
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+# CONFIG_NETLABEL is not set
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NETFILTER=y
+CONFIG_NETFILTER_DEBUG=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=y
+CONFIG_NETFILTER_NETLINK_QUEUE=y
+CONFIG_NETFILTER_NETLINK_LOG=y
+CONFIG_NF_CONNTRACK_ENABLED=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+# CONFIG_NF_CONNTRACK_EVENTS is not set
+CONFIG_NF_CT_PROTO_GRE=m
+# CONFIG_NF_CT_PROTO_SCTP is not set
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+# CONFIG_NF_CONNTRACK_H323 is not set
+CONFIG_NF_CONNTRACK_IRC=m
+# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
+CONFIG_NF_CONNTRACK_PPTP=m
+# CONFIG_NF_CONNTRACK_SANE is not set
+# CONFIG_NF_CONNTRACK_SIP is not set
+CONFIG_NF_CONNTRACK_TFTP=m
+# CONFIG_NF_CT_NETLINK is not set
+CONFIG_NETFILTER_XTABLES=y
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_SECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=y
+CONFIG_IP_NF_MATCH_IPRANGE=m
+CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_RECENT=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_OWNER=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_SAME=m
+# CONFIG_NF_NAT_SNMP_BASIC is not set
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_PPTP=m
+# CONFIG_NF_NAT_H323 is not set
+# CONFIG_NF_NAT_SIP is not set
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_TOS=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+# CONFIG_NF_CONNTRACK_IPV6 is not set
+CONFIG_IP6_NF_QUEUE=m
+CONFIG_IP6_NF_IPTABLES=y
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_OWNER=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_RAW=m
+
+#
+# DECnet: Netfilter Configuration
+#
+CONFIG_DECNET_NF_GRABULATOR=m
+
+#
+# Bridge: Netfilter Configuration
+#
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+# CONFIG_IP_DCCP is not set
+CONFIG_IP_SCTP=y
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_HMAC_NONE is not set
+# CONFIG_SCTP_HMAC_SHA1 is not set
+CONFIG_SCTP_HMAC_MD5=y
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+CONFIG_BRIDGE=m
+CONFIG_VLAN_8021Q=m
+CONFIG_DECNET=m
+# CONFIG_DECNET_ROUTER is not set
+CONFIG_LLC=y
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_LTPC=m
+CONFIG_COPS=m
+CONFIG_COPS_DAYNA=y
+CONFIG_COPS_TANGENT=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+CONFIG_WAN_ROUTER=m
+
+#
+# QoS and/or fair queueing
+#
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_FIFO=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_INGRESS=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_PERF=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_PEDIT=m
+# CONFIG_NET_ACT_SIMP is not set
+CONFIG_NET_CLS_IND=y
+CONFIG_NET_ESTIMATOR=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+CONFIG_HAMRADIO=y
+
+#
+# Packet Radio protocols
+#
+CONFIG_AX25=m
+CONFIG_AX25_DAMA_SLAVE=y
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+#
+# AX.25 network device drivers
+#
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+CONFIG_DMASCC=m
+CONFIG_SCC=m
+# CONFIG_SCC_DELAY is not set
+CONFIG_SCC_TRXECHO=y
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+# CONFIG_BAYCOM_PAR is not set
+# CONFIG_BAYCOM_EPP is not set
+CONFIG_YAM=m
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+# CONFIG_IRNET is not set
+CONFIG_IRCOMM=m
+CONFIG_IRDA_ULTRA=y
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+CONFIG_IRDA_DEBUG=y
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+# CONFIG_DONGLE is not set
+CONFIG_KINGSUN_DONGLE=m
+
+#
+# Old SIR device drivers
+#
+CONFIG_IRPORT_SIR=m
+
+#
+# Old Serial dongle support
+#
+CONFIG_DONGLE_OLD=y
+CONFIG_ESI_DONGLE_OLD=m
+CONFIG_ACTISYS_DONGLE_OLD=m
+CONFIG_TEKRAM_DONGLE_OLD=m
+CONFIG_GIRBIL_DONGLE_OLD=m
+CONFIG_LITELINK_DONGLE_OLD=m
+CONFIG_MCP2120_DONGLE_OLD=m
+CONFIG_OLD_BELKIN_DONGLE_OLD=m
+# CONFIG_ACT200L_DONGLE_OLD is not set
+# CONFIG_MA600_DONGLE_OLD is not set
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+# CONFIG_SIGMATEL_FIR is not set
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_TOSHIBA_FIR=m
+# CONFIG_SMC_IRCC_FIR is not set
+# CONFIG_ALI_FIR is not set
+# CONFIG_VLSI_FIR is not set
+CONFIG_VIA_FIR=m
+CONFIG_MCS_FIR=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+# CONFIG_BT_CMTP is not set
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_AF_RXRPC=m
+CONFIG_AF_RXRPC_DEBUG=y
+CONFIG_RXKAD=m
+CONFIG_FIB_RULES=y
+
+#
+# Wireless
+#
+CONFIG_CFG80211=m
+CONFIG_WIRELESS_EXT=y
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_LEDS is not set
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_DEBUG is not set
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+CONFIG_IEEE80211_SOFTMAC=m
+# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
+CONFIG_RFKILL=m
+CONFIG_RFKILL_INPUT=m
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+CONFIG_CONNECTOR=m
+CONFIG_MTD=m
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=m
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=m
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=m
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+CONFIG_RFD_FTL=m
+CONFIG_SSFDC=m
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+CONFIG_MTD_GEN_PROBE=m
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+CONFIG_MTD_MAP_BANK_WIDTH_8=y
+CONFIG_MTD_MAP_BANK_WIDTH_16=y
+CONFIG_MTD_MAP_BANK_WIDTH_32=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+CONFIG_MTD_CFI_I4=y
+CONFIG_MTD_CFI_I8=y
+CONFIG_MTD_OTP=y
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_CFI_UTIL=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=m
+CONFIG_MTD_PHYSMAP_START=0x8000000
+CONFIG_MTD_PHYSMAP_LEN=0
+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+CONFIG_MTD_PNC2000=m
+CONFIG_MTD_SC520CDP=m
+CONFIG_MTD_NETSC520=m
+CONFIG_MTD_TS5500=m
+CONFIG_MTD_SBC_GXX=m
+CONFIG_MTD_SCx200_DOCFLASH=m
+CONFIG_MTD_AMD76XROM=m
+CONFIG_MTD_ICHXROM=m
+CONFIG_MTD_ESB2ROM=m
+CONFIG_MTD_CK804XROM=m
+CONFIG_MTD_SCB2_FLASH=m
+CONFIG_MTD_NETtel=m
+CONFIG_MTD_DILNETPC=m
+CONFIG_MTD_DILNETPC_BOOTSIZE=0x80000
+CONFIG_MTD_L440GX=m
+CONFIG_MTD_PCI=m
+CONFIG_MTD_PLATRAM=m
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_PMC551=m
+# CONFIG_MTD_PMC551_BUGFIX is not set
+# CONFIG_MTD_PMC551_DEBUG is not set
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+# CONFIG_MTD_MTDRAM is not set
+CONFIG_MTD_BLOCK2MTD=m
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+CONFIG_MTD_DOC2001PLUS=m
+CONFIG_MTD_DOCPROBE=m
+CONFIG_MTD_DOCECC=m
+# CONFIG_MTD_DOCPROBE_ADVANCED is not set
+CONFIG_MTD_DOCPROBE_ADDRESS=0
+CONFIG_MTD_NAND=m
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_ECC_SMC=y
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+CONFIG_MTD_NAND_IDS=m
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+CONFIG_MTD_NAND_CAFE=m
+CONFIG_MTD_NAND_CS553X=m
+CONFIG_MTD_NAND_NANDSIM=m
+CONFIG_MTD_NAND_PLATFORM=m
+CONFIG_MTD_ONENAND=m
+CONFIG_MTD_ONENAND_VERIFY_WRITE=y
+CONFIG_MTD_ONENAND_OTP=y
+
+#
+# UBI - Unsorted block images
+#
+CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_RESERVE=1
+# CONFIG_MTD_UBI_GLUEBI is not set
+
+#
+# UBI debugging options
+#
+# CONFIG_MTD_UBI_DEBUG is not set
+
+#
+# Parallel port support
+#
+CONFIG_PARPORT=m
+CONFIG_PARPORT_PC=m
+CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT_PC_FIFO is not set
+# CONFIG_PARPORT_PC_SUPERIO is not set
+CONFIG_PARPORT_PC_PCMCIA=m
+# CONFIG_PARPORT_GSC is not set
+CONFIG_PARPORT_AX88796=m
+CONFIG_PARPORT_1284=y
+CONFIG_PARPORT_NOT_PC=y
+
+#
+# Plug and Play support
+#
+CONFIG_PNP=y
+# CONFIG_PNP_DEBUG is not set
+
+#
+# Protocols
+#
+CONFIG_ISAPNP=y
+# CONFIG_PNPBIOS is not set
+CONFIG_PNPACPI=y
+
+#
+# Block devices
+#
+CONFIG_BLK_DEV_FD=m
+CONFIG_BLK_DEV_XD=m
+CONFIG_PARIDE=m
+
+#
+# Parallel IDE high-level drivers
+#
+CONFIG_PARIDE_PD=m
+CONFIG_PARIDE_PCD=m
+CONFIG_PARIDE_PF=m
+CONFIG_PARIDE_PT=m
+CONFIG_PARIDE_PG=m
+
+#
+# Parallel IDE protocol modules
+#
+CONFIG_PARIDE_ATEN=m
+CONFIG_PARIDE_BPCK=m
+CONFIG_PARIDE_BPCK6=m
+CONFIG_PARIDE_COMM=m
+CONFIG_PARIDE_DSTR=m
+CONFIG_PARIDE_FIT2=m
+CONFIG_PARIDE_FIT3=m
+CONFIG_PARIDE_EPAT=m
+# CONFIG_PARIDE_EPATC8 is not set
+CONFIG_PARIDE_EPIA=m
+CONFIG_PARIDE_FRIQ=m
+CONFIG_PARIDE_FRPW=m
+CONFIG_PARIDE_KBIC=m
+CONFIG_PARIDE_KTTI=m
+CONFIG_PARIDE_ON20=m
+CONFIG_PARIDE_ON26=m
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_CISS_SCSI_TAPE=y
+CONFIG_BLK_DEV_DAC960=m
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_SX8=m
+CONFIG_BLK_DEV_UB=m
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=4096
+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+
+#
+# Misc devices
+#
+CONFIG_IBM_ASM=m
+CONFIG_PHANTOM=m
+CONFIG_SGI_IOC4=m
+# CONFIG_TIFM_CORE is not set
+# CONFIG_ASUS_LAPTOP is not set
+CONFIG_MSI_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+CONFIG_SONYPI_COMPAT=y
+CONFIG_THINKPAD_ACPI=m
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+CONFIG_THINKPAD_ACPI_BAY=y
+CONFIG_IDE=m
+CONFIG_BLK_DEV_IDE=m
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+# CONFIG_BLK_DEV_HD_IDE is not set
+CONFIG_BLK_DEV_IDEDISK=m
+CONFIG_IDEDISK_MULTI_MODE=y
+CONFIG_BLK_DEV_IDECS=m
+CONFIG_BLK_DEV_DELKIN=m
+CONFIG_BLK_DEV_IDECD=m
+# CONFIG_BLK_DEV_IDETAPE is not set
+CONFIG_BLK_DEV_IDEFLOPPY=m
+CONFIG_BLK_DEV_IDESCSI=m
+CONFIG_BLK_DEV_IDEACPI=y
+# CONFIG_IDE_TASK_IOCTL is not set
+CONFIG_IDE_PROC_FS=y
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=m
+CONFIG_BLK_DEV_CMD640=y
+CONFIG_BLK_DEV_CMD640_ENHANCED=y
+CONFIG_BLK_DEV_IDEPNP=y
+CONFIG_BLK_DEV_IDEPCI=y
+CONFIG_IDEPCI_SHARE_IRQ=y
+# CONFIG_IDEPCI_PCIBUS_ORDER is not set
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=m
+# CONFIG_BLK_DEV_OPTI621 is not set
+CONFIG_BLK_DEV_RZ1000=m
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
+# CONFIG_IDEDMA_ONLYDISK is not set
+CONFIG_BLK_DEV_AEC62XX=m
+CONFIG_BLK_DEV_ALI15X3=m
+# CONFIG_WDC_ALI15X3 is not set
+CONFIG_BLK_DEV_AMD74XX=m
+CONFIG_BLK_DEV_ATIIXP=m
+CONFIG_BLK_DEV_CMD64X=m
+CONFIG_BLK_DEV_TRIFLEX=m
+CONFIG_BLK_DEV_CY82C693=m
+# CONFIG_BLK_DEV_CS5520 is not set
+CONFIG_BLK_DEV_CS5530=m
+CONFIG_BLK_DEV_CS5535=m
+CONFIG_BLK_DEV_HPT34X=m
+# CONFIG_HPT34X_AUTODMA is not set
+CONFIG_BLK_DEV_HPT366=m
+CONFIG_BLK_DEV_JMICRON=m
+CONFIG_BLK_DEV_SC1200=m
+CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_IT8213=m
+CONFIG_BLK_DEV_IT821X=m
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_PDC202XX_BURST=y
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+CONFIG_BLK_DEV_SVWKS=m
+CONFIG_BLK_DEV_SIIMAGE=m
+CONFIG_BLK_DEV_SIS5513=m
+CONFIG_BLK_DEV_SLC90E66=m
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+CONFIG_BLK_DEV_TC86C001=m
+# CONFIG_IDE_ARM is not set
+CONFIG_IDE_CHIPSETS=y
+
+#
+# Note: most of these also require special kernel boot parameters
+#
+CONFIG_BLK_DEV_4DRIVES=y
+CONFIG_BLK_DEV_ALI14XX=m
+CONFIG_BLK_DEV_DTC2278=m
+CONFIG_BLK_DEV_HT6560B=m
+CONFIG_BLK_DEV_QD65XX=m
+CONFIG_BLK_DEV_UMC8672=m
+CONFIG_BLK_DEV_IDEDMA=y
+# CONFIG_IDEDMA_IVB is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=y
+CONFIG_SCSI_TGT=m
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=y
+CONFIG_SCSI_FC_ATTRS=y
+CONFIG_SCSI_ISCSI_ATTRS=y
+CONFIG_SCSI_SAS_ATTRS=y
+CONFIG_SCSI_SAS_LIBSAS=y
+# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
+
+#
+# SCSI low-level drivers
+#
+CONFIG_ISCSI_TCP=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_7000FASST=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AHA152X=m
+CONFIG_SCSI_AHA1542=m
+CONFIG_SCSI_AHA1740=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=5000
+CONFIG_AIC7XXX_DEBUG_ENABLE=y
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+CONFIG_SCSI_AIC7XXX_OLD=m
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=4000
+# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_DEBUG_MASK=0
+# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
+CONFIG_SCSI_AIC94XX=m
+CONFIG_AIC94XX_DEBUG=y
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ADVANSYS=m
+CONFIG_SCSI_IN2000=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_HPTIOP=m
+CONFIG_SCSI_BUSLOGIC=m
+# CONFIG_SCSI_OMIT_FLASHPOINT is not set
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_DTC3280=m
+CONFIG_SCSI_EATA=m
+CONFIG_SCSI_EATA_TAGGED_QUEUE=y
+CONFIG_SCSI_EATA_LINKED_COMMANDS=y
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_FD_MCS=m
+CONFIG_SCSI_GDTH=m
+CONFIG_SCSI_GENERIC_NCR5380=m
+CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
+CONFIG_SCSI_GENERIC_NCR53C400=y
+CONFIG_SCSI_IBMMCA=m
+# CONFIG_IBMMCA_SCSI_ORDER_STANDARD is not set
+# CONFIG_IBMMCA_SCSI_DEV_RESET is not set
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_NCR53C406A=m
+CONFIG_SCSI_NCR_D700=m
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+CONFIG_SCSI_IPR=m
+CONFIG_SCSI_IPR_TRACE=y
+CONFIG_SCSI_IPR_DUMP=y
+CONFIG_SCSI_NCR_Q720=m
+CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS=8
+CONFIG_SCSI_NCR53C8XX_MAX_TAGS=32
+CONFIG_SCSI_NCR53C8XX_SYNC=20
+CONFIG_SCSI_MCA_53C9X=m
+CONFIG_SCSI_PAS16=m
+CONFIG_SCSI_PSI240I=m
+CONFIG_SCSI_QLOGIC_FAS=m
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_QLA_FC=m
+CONFIG_SCSI_QLA_ISCSI=m
+CONFIG_SCSI_LPFC=m
+CONFIG_SCSI_SEAGATE=m
+CONFIG_SCSI_SIM710=m
+CONFIG_SCSI_SYM53C416=m
+# CONFIG_SCSI_DC395x is not set
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_T128=m
+CONFIG_SCSI_U14_34F=m
+CONFIG_SCSI_U14_34F_TAGGED_QUEUE=y
+CONFIG_SCSI_U14_34F_LINKED_COMMANDS=y
+CONFIG_SCSI_U14_34F_MAX_TAGS=8
+CONFIG_SCSI_ULTRASTOR=m
+CONFIG_SCSI_NSP32=m
+CONFIG_SCSI_DEBUG=m
+CONFIG_SCSI_SRP=m
+
+#
+# PCMCIA SCSI adapter support
+#
+CONFIG_PCMCIA_AHA152X=m
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_NINJA_SCSI=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_ACPI=y
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_SVW=m
+CONFIG_ATA_PIIX=m
+# CONFIG_SATA_MV is not set
+CONFIG_SATA_NV=m
+CONFIG_PDC_ADMA=m
+CONFIG_SATA_QSTOR=m
+CONFIG_SATA_PROMISE=m
+CONFIG_SATA_SX4=m
+CONFIG_SATA_SIL=m
+CONFIG_SATA_SIL24=m
+CONFIG_SATA_SIS=m
+CONFIG_SATA_ULI=m
+CONFIG_SATA_VIA=m
+CONFIG_SATA_VITESSE=m
+# CONFIG_SATA_INIC162X is not set
+# CONFIG_PATA_ALI is not set
+CONFIG_PATA_AMD=m
+# CONFIG_PATA_ARTOP is not set
+# CONFIG_PATA_ATIIXP is not set
+# CONFIG_PATA_CMD640_PCI is not set
+# CONFIG_PATA_CMD64X is not set
+CONFIG_PATA_CS5520=m
+# CONFIG_PATA_CS5530 is not set
+# CONFIG_PATA_CS5535 is not set
+# CONFIG_PATA_CYPRESS is not set
+CONFIG_PATA_EFAR=m
+CONFIG_ATA_GENERIC=m
+# CONFIG_PATA_HPT366 is not set
+# CONFIG_PATA_HPT37X is not set
+# CONFIG_PATA_HPT3X2N is not set
+# CONFIG_PATA_HPT3X3 is not set
+# CONFIG_PATA_ISAPNP is not set
+CONFIG_PATA_IT821X=m
+# CONFIG_PATA_IT8213 is not set
+CONFIG_PATA_JMICRON=m
+# CONFIG_PATA_LEGACY is not set
+CONFIG_PATA_TRIFLEX=m
+CONFIG_PATA_MARVELL=m
+CONFIG_PATA_MPIIX=m
+CONFIG_PATA_OLDPIIX=m
+CONFIG_PATA_NETCELL=m
+# CONFIG_PATA_NS87410 is not set
+# CONFIG_PATA_OPTI is not set
+# CONFIG_PATA_OPTIDMA is not set
+CONFIG_PATA_PCMCIA=m
+# CONFIG_PATA_PDC_OLD is not set
+CONFIG_PATA_QDI=m
+# CONFIG_PATA_RADISYS is not set
+CONFIG_PATA_RZ1000=m
+# CONFIG_PATA_SC1200 is not set
+CONFIG_PATA_SERVERWORKS=m
+CONFIG_PATA_PDC2027X=m
+CONFIG_PATA_SIL680=m
+CONFIG_PATA_SIS=m
+CONFIG_PATA_VIA=m
+CONFIG_PATA_WINBOND=m
+# CONFIG_PATA_WINBOND_VLB is not set
+
+#
+# Old CD-ROM drivers (not SCSI, not IDE)
+#
+CONFIG_CD_NO_IDESCSI=y
+CONFIG_AZTCD=m
+CONFIG_GSCD=m
+CONFIG_SBPCD=m
+CONFIG_MCDX=m
+CONFIG_OPTCD=m
+CONFIG_CM206=m
+CONFIG_SJCD=m
+CONFIG_ISP16_CDI=m
+CONFIG_CDU31A=m
+CONFIG_CDU535=m
+
+#
+# Multi-device support (RAID and LVM)
+#
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+# CONFIG_MD_RAID10 is not set
+CONFIG_MD_RAID456=m
+CONFIG_MD_RAID5_RESHAPE=y
+CONFIG_MD_MULTIPATH=m
+# CONFIG_MD_FAULTY is not set
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_CRYPT=m
+# CONFIG_DM_SNAPSHOT is not set
+# CONFIG_DM_MIRROR is not set
+# CONFIG_DM_ZERO is not set
+# CONFIG_DM_MULTIPATH is not set
+# CONFIG_DM_DELAY is not set
+
+#
+# Fusion MPT device support
+#
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_CTL=m
+CONFIG_FUSION_LAN=m
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+CONFIG_IEEE1394=m
+
+#
+# Subsystem Options
+#
+# CONFIG_IEEE1394_VERBOSEDEBUG is not set
+
+#
+# Controllers
+#
+# CONFIG_IEEE1394_PCILYNX is not set
+CONFIG_IEEE1394_OHCI1394=m
+
+#
+# Protocols
+#
+CONFIG_IEEE1394_VIDEO1394=m
+CONFIG_IEEE1394_SBP2=m
+# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
+CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y
+CONFIG_IEEE1394_ETH1394=m
+# CONFIG_IEEE1394_DV1394 is not set
+CONFIG_IEEE1394_RAWIO=m
+
+#
+# I2O device support
+#
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_CONFIG=m
+# CONFIG_I2O_CONFIG_OLD_IOCTL is not set
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+CONFIG_IFB=m
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_NET_SB1000=m
+CONFIG_ARCNET=m
+CONFIG_ARCNET_1201=m
+CONFIG_ARCNET_1051=m
+CONFIG_ARCNET_RAW=m
+CONFIG_ARCNET_CAP=m
+CONFIG_ARCNET_COM90xx=m
+CONFIG_ARCNET_COM90xxIO=m
+CONFIG_ARCNET_RIM_I=m
+CONFIG_ARCNET_COM20020=m
+CONFIG_ARCNET_COM20020_ISA=m
+CONFIG_ARCNET_COM20020_PCI=m
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_FIXED_PHY=m
+CONFIG_FIXED_MII_10_FDX=y
+CONFIG_FIXED_MII_100_FDX=y
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_CASSINI=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_EL1=m
+CONFIG_EL2=m
+CONFIG_ELPLUS=m
+CONFIG_EL16=m
+CONFIG_EL3=m
+CONFIG_3C515=m
+CONFIG_ELMC=m
+CONFIG_ELMC_II=m
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_LANCE=m
+CONFIG_NET_VENDOR_SMC=y
+CONFIG_WD80x3=m
+CONFIG_ULTRAMCA=m
+CONFIG_ULTRA=m
+CONFIG_ULTRA32=m
+CONFIG_SMC9194=m
+CONFIG_NET_VENDOR_RACAL=y
+# CONFIG_NI5010 is not set
+CONFIG_NI52=m
+CONFIG_NI65=m
+
+#
+# Tulip family network device support
+#
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
+CONFIG_PCMCIA_XIRTULIP=m
+CONFIG_AT1700=m
+CONFIG_DEPCA=m
+CONFIG_HP100=m
+CONFIG_NET_ISA=y
+CONFIG_E2100=m
+CONFIG_EWRK3=m
+CONFIG_EEXPRESS=m
+CONFIG_EEXPRESS_PRO=m
+CONFIG_HPLAN_PLUS=m
+CONFIG_HPLAN=m
+CONFIG_LP486E=m
+CONFIG_ETH16I=m
+CONFIG_NE2000=m
+CONFIG_ZNET=m
+CONFIG_SEEQ8005=m
+CONFIG_NE2_MCA=m
+CONFIG_IBMLANA=m
+CONFIG_NET_PCI=y
+CONFIG_PCNET32=m
+# CONFIG_PCNET32_NAPI is not set
+CONFIG_AMD8111_ETH=m
+# CONFIG_AMD8111E_NAPI is not set
+CONFIG_ADAPTEC_STARFIRE=m
+# CONFIG_ADAPTEC_STARFIRE_NAPI is not set
+CONFIG_AC3200=m
+CONFIG_APRICOT=m
+CONFIG_B44=m
+CONFIG_FORCEDETH=m
+# CONFIG_FORCEDETH_NAPI is not set
+CONFIG_CS89x0=m
+CONFIG_DGRS=m
+CONFIG_EEPRO100=m
+CONFIG_E100=m
+CONFIG_LNE390=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_NE3210=m
+CONFIG_ES3210=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+CONFIG_8139TOO_PIO=y
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_TLAN=m
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+# CONFIG_VIA_RHINE_NAPI is not set
+CONFIG_SC92031=m
+CONFIG_NET_POCKET=y
+CONFIG_ATP=m
+CONFIG_DE600=m
+CONFIG_DE620=m
+CONFIG_NETDEV_1000=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+# CONFIG_E1000_NAPI is not set
+# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+# CONFIG_R8169_NAPI is not set
+CONFIG_R8169_VLAN=y
+CONFIG_SIS190=m
+CONFIG_SKGE=m
+CONFIG_SKY2=m
+CONFIG_SK98LIN=m
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_QLA3XXX=m
+CONFIG_ATL1=m
+CONFIG_NETDEV_10000=y
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+# CONFIG_CHELSIO_T1_NAPI is not set
+CONFIG_CHELSIO_T3=m
+CONFIG_IXGB=m
+# CONFIG_IXGB_NAPI is not set
+CONFIG_S2IO=m
+# CONFIG_S2IO_NAPI is not set
+CONFIG_MYRI10GE=m
+CONFIG_NETXEN_NIC=m
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_TR=y
+CONFIG_IBMTR=m
+CONFIG_IBMOL=m
+CONFIG_IBMLS=m
+CONFIG_3C359=m
+CONFIG_TMS380TR=m
+CONFIG_TMSPCI=m
+CONFIG_SKISA=m
+CONFIG_PROTEON=m
+CONFIG_ABYSS=m
+CONFIG_MADGEMC=m
+CONFIG_SMCTR=m
+
+#
+# Wireless LAN
+#
+CONFIG_WLAN_PRE80211=y
+CONFIG_STRIP=m
+CONFIG_ARLAN=m
+CONFIG_WAVELAN=m
+CONFIG_PCMCIA_WAVELAN=m
+CONFIG_PCMCIA_NETWAVE=m
+CONFIG_WLAN_80211=y
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_IPW2100=m
+# CONFIG_IPW2100_MONITOR is not set
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+# CONFIG_IPW2200_MONITOR is not set
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_AIRO=m
+CONFIG_HERMES=m
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_PRISM54=m
+CONFIG_USB_ZD1201=m
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+CONFIG_BCM43XX=m
+CONFIG_BCM43XX_DEBUG=y
+CONFIG_BCM43XX_DMA=y
+CONFIG_BCM43XX_PIO=y
+CONFIG_BCM43XX_DMA_AND_PIO_MODE=y
+# CONFIG_BCM43XX_DMA_MODE is not set
+# CONFIG_BCM43XX_PIO_MODE is not set
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET_MII=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_3C589=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_PCMCIA_AXNET=m
+CONFIG_ARCNET_COM20020_CS=m
+CONFIG_PCMCIA_IBMTR=m
+CONFIG_WAN=y
+CONFIG_HOSTESS_SV11=m
+CONFIG_COSA=m
+CONFIG_LANMEDIA=m
+CONFIG_SEALEVEL_4021=m
+CONFIG_HDLC=m
+CONFIG_HDLC_RAW=m
+CONFIG_HDLC_RAW_ETH=m
+CONFIG_HDLC_CISCO=m
+CONFIG_HDLC_FR=m
+CONFIG_HDLC_PPP=m
+
+#
+# X.25/LAPB support is disabled
+#
+CONFIG_PCI200SYN=m
+CONFIG_WANXL=m
+CONFIG_PC300=m
+
+#
+# Cyclades-PC300 MLPPP support is disabled.
+#
+
+#
+# Refer to the file README.mlppp, provided by PC300 package.
+#
+CONFIG_PC300TOO=m
+CONFIG_N2=m
+CONFIG_C101=m
+CONFIG_FARSYNC=m
+CONFIG_DSCC4=m
+CONFIG_DSCC4_PCISYNC=y
+CONFIG_DSCC4_PCI_RST=y
+CONFIG_DLCI=m
+CONFIG_DLCI_MAX=8
+CONFIG_SDLA=m
+CONFIG_WAN_ROUTER_DRIVERS=m
+CONFIG_CYCLADES_SYNC=m
+CONFIG_CYCLOMX_X25=y
+CONFIG_SBNI=m
+CONFIG_SBNI_MULTILINE=y
+CONFIG_FDDI=y
+CONFIG_DEFXX=m
+# CONFIG_DEFXX_MMIO is not set
+CONFIG_SKFP=m
+CONFIG_HIPPI=y
+CONFIG_ROADRUNNER=m
+# CONFIG_ROADRUNNER_LARGE_RINGS is not set
+CONFIG_PLIP=m
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+CONFIG_SLIP=m
+CONFIG_SLIP_COMPRESSED=y
+CONFIG_SLHC=m
+CONFIG_SLIP_SMART=y
+CONFIG_SLIP_MODE_SLIP6=y
+CONFIG_NET_FC=y
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+CONFIG_ISDN=m
+
+#
+# Old ISDN4Linux
+#
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+
+#
+# ISDN feature submodules
+#
+CONFIG_ISDN_DRV_LOOP=m
+CONFIG_ISDN_DIVERSION=m
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+# CONFIG_DE_AOC is not set
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_0=y
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_AVM_A1=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_IX1MICROR2=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_ASUSCOM=y
+CONFIG_HISAX_TELEINT=y
+CONFIG_HISAX_HFCS=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_SPORTSTER=y
+CONFIG_HISAX_MIC=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_ISURF=y
+CONFIG_HISAX_HSTSAPHIR=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+# CONFIG_HISAX_ST5481 is not set
+# CONFIG_HISAX_HFCUSB is not set
+# CONFIG_HISAX_HFC4S8S is not set
+# CONFIG_HISAX_FRITZ_PCIPNP is not set
+
+#
+# Active cards
+#
+CONFIG_ISDN_DRV_ICN=m
+CONFIG_ISDN_DRV_PCBIT=m
+CONFIG_ISDN_DRV_SC=m
+CONFIG_ISDN_DRV_ACT2000=m
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+
+#
+# Siemens Gigaset
+#
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+CONFIG_GIGASET_M101=m
+# CONFIG_GIGASET_DEBUG is not set
+# CONFIG_GIGASET_UNDOCREQ is not set
+
+#
+# CAPI subsystem
+#
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+# CONFIG_ISDN_CAPI_MIDDLEWARE is not set
+CONFIG_ISDN_CAPI_CAPI20=m
+# CONFIG_ISDN_CAPI_CAPIDRV is not set
+
+#
+# CAPI hardware drivers
+#
+
+#
+# Active AVM cards
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_T1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+
+#
+# Active Eicon DIVA Server cards
+#
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+
+#
+# Telephony Support
+#
+CONFIG_PHONE=m
+CONFIG_PHONE_IXJ=m
+CONFIG_PHONE_IXJ_PCMCIA=m
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=m
+CONFIG_INPUT_POLLDEV=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_TSDEV=m
+CONFIG_INPUT_TSDEV_SCREEN_X=240
+CONFIG_INPUT_TSDEV_SCREEN_Y=320
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_SUNKBD=y
+CONFIG_KEYBOARD_LKKBD=y
+CONFIG_KEYBOARD_XTKBD=y
+CONFIG_KEYBOARD_NEWTON=y
+CONFIG_KEYBOARD_STOWAWAY=y
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_PS2_TOUCHKIT=y
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_INPORT=m
+CONFIG_MOUSE_ATIXL=y
+CONFIG_MOUSE_LOGIBM=m
+CONFIG_MOUSE_PC110PAD=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_WISTRON_BTNS=m
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_ATI_REMOTE=m
+CONFIG_INPUT_ATI_REMOTE2=m
+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_UINPUT=m
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_CT82C710=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_COMPUTONE=m
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+CONFIG_DIGIEPCA=m
+CONFIG_ESPSERIAL=m
+CONFIG_MOXA_INTELLIO=m
+CONFIG_MOXA_SMARTIO=m
+CONFIG_MOXA_SMARTIO_NEW=m
+# CONFIG_ISI is not set
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+CONFIG_SYNCLINK_GT=m
+CONFIG_N_HDLC=m
+CONFIG_RISCOM8=m
+CONFIG_SPECIALIX=m
+# CONFIG_SPECIALIX_RTSCTS is not set
+CONFIG_SX=m
+CONFIG_RIO=m
+CONFIG_RIO_OLDPCI=y
+CONFIG_STALDRV=y
+CONFIG_STALLION=m
+CONFIG_ISTALLION=m
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+CONFIG_SERIAL_8250_MCA=m
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+CONFIG_PRINTER=m
+CONFIG_LP_CONSOLE=y
+CONFIG_PPDEV=m
+CONFIG_TIPAR=m
+
+#
+# IPMI
+#
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_ACQUIRE_WDT=m
+CONFIG_ADVANTECH_WDT=m
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+CONFIG_SC520_WDT=m
+CONFIG_EUROTECH_WDT=m
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+CONFIG_WAFER_WDT=m
+CONFIG_I6300ESB_WDT=m
+CONFIG_ITCO_WDT=m
+CONFIG_ITCO_VENDOR_SUPPORT=y
+CONFIG_SC1200_WDT=m
+CONFIG_SCx200_WDT=m
+CONFIG_PC87413_WDT=m
+CONFIG_60XX_WDT=m
+CONFIG_SBC8360_WDT=m
+CONFIG_CPU5_WDT=m
+CONFIG_SMSC37B787_WDT=m
+CONFIG_W83627HF_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+CONFIG_SBC_EPX_C3_WATCHDOG=m
+
+#
+# ISA-based Watchdog Cards
+#
+CONFIG_PCWATCHDOG=m
+CONFIG_MIXCOMWD=m
+CONFIG_WDT=m
+CONFIG_WDT_501=y
+
+#
+# PCI-based Watchdog Cards
+#
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+CONFIG_WDT_501_PCI=y
+
+#
+# USB-based Watchdog Cards
+#
+CONFIG_USBPCWATCHDOG=m
+CONFIG_HW_RANDOM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_GEODE=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_NVRAM=m
+CONFIG_RTC=m
+CONFIG_GEN_RTC=m
+# CONFIG_GEN_RTC_X is not set
+CONFIG_DTLK=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+# CONFIG_SONYPI is not set
+CONFIG_AGP=m
+CONFIG_AGP_ALI=m
+CONFIG_AGP_ATI=m
+CONFIG_AGP_AMD=m
+CONFIG_AGP_AMD64=m
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_NVIDIA=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_SWORKS=m
+CONFIG_AGP_VIA=m
+CONFIG_AGP_EFFICEON=m
+# CONFIG_DRM is not set
+
+#
+# PCMCIA character devices
+#
+CONFIG_SYNCLINK_CS=m
+CONFIG_CARDMAN_4000=m
+CONFIG_CARDMAN_4040=m
+CONFIG_MWAVE=m
+CONFIG_SCx200_GPIO=m
+CONFIG_PC8736x_GPIO=m
+CONFIG_NSC_GPIO=m
+CONFIG_CS5535_GPIO=m
+CONFIG_RAW_DRIVER=m
+CONFIG_MAX_RAW_DEVS=256
+CONFIG_HPET=y
+# CONFIG_HPET_RTC_IRQ is not set
+# CONFIG_HPET_MMAP is not set
+CONFIG_HANGCHECK_TIMER=m
+
+#
+# TPM devices
+#
+CONFIG_TCG_TPM=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+CONFIG_TELCLOCK=m
+CONFIG_DEVPORT=y
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=m
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCF=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_ELEKTOR=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_I810=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_ISA=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_OCORES=m
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_PROSAVAGE=m
+CONFIG_I2C_SAVAGE4=m
+CONFIG_I2C_SIMTEC=m
+# CONFIG_SCx200_I2C is not set
+CONFIG_SCx200_ACB=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_STUB=m
+CONFIG_I2C_TINY_USB=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+CONFIG_I2C_VOODOO3=m
+CONFIG_I2C_PCA_ISA=m
+
+#
+# Miscellaneous I2C Chip support
+#
+CONFIG_SENSORS_DS1337=m
+CONFIG_SENSORS_DS1374=m
+CONFIG_SENSORS_EEPROM=m
+CONFIG_SENSORS_PCF8574=m
+CONFIG_SENSORS_PCA9539=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_SENSORS_MAX6875=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+CONFIG_SPI_BITBANG=m
+# CONFIG_SPI_BUTTERFLY is not set
+
+#
+# SPI Protocol Masters
+#
+CONFIG_SPI_AT25=m
+CONFIG_SPI_SPIDEV=m
+
+#
+# Dallas's 1-wire bus
+#
+CONFIG_W1=m
+CONFIG_W1_CON=y
+
+#
+# 1-wire Bus Masters
+#
+CONFIG_W1_MASTER_MATROX=m
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2433=m
+CONFIG_W1_SLAVE_DS2433_CRC=y
+CONFIG_HWMON=m
+CONFIG_HWMON_VID=m
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_AD7418=m
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_FSCHER=m
+CONFIG_SENSORS_FSCPOS=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM70=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_HDAPS=m
+CONFIG_SENSORS_APPLESMC=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_SM501=m
+
+#
+# Multimedia devices
+#
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_VIDEO_V4L2=y
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_CX25840=m
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_VIVI=m
+# CONFIG_VIDEO_BT848 is not set
+# CONFIG_VIDEO_PMS is not set
+# CONFIG_VIDEO_BWQCAM is not set
+# CONFIG_VIDEO_CQCAM is not set
+# CONFIG_VIDEO_W9966 is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_CPIA2 is not set
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+# CONFIG_TUNER_3036 is not set
+# CONFIG_VIDEO_STRADIS is not set
+# CONFIG_VIDEO_ZORAN is not set
+# CONFIG_VIDEO_MEYE is not set
+CONFIG_VIDEO_SAA7134=m
+# CONFIG_VIDEO_SAA7134_ALSA is not set
+# CONFIG_VIDEO_SAA7134_OSS is not set
+CONFIG_VIDEO_SAA7134_DVB=m
+# CONFIG_VIDEO_MXB is not set
+# CONFIG_VIDEO_DPC is not set
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_CX88=m
+# CONFIG_VIDEO_CX88_ALSA is not set
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_VP3054=m
+# CONFIG_VIDEO_IVTV is not set
+CONFIG_VIDEO_CAFE_CCIC=m
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_29XXX=y
+CONFIG_VIDEO_PVRUSB2_24XXX=y
+# CONFIG_VIDEO_PVRUSB2_SYSFS is not set
+# CONFIG_VIDEO_EM28XX is not set
+CONFIG_VIDEO_USBVISION=m
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+# CONFIG_USB_QUICKCAM_MESSENGER is not set
+# CONFIG_USB_ET61X251 is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+# CONFIG_USB_W9968CF is not set
+# CONFIG_USB_OV511 is not set
+# CONFIG_USB_SE401 is not set
+CONFIG_USB_SN9C102=m
+# CONFIG_USB_STV680 is not set
+# CONFIG_USB_ZC0301 is not set
+# CONFIG_USB_PWC is not set
+CONFIG_USB_ZR364XX=m
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_RADIO_CADET=m
+CONFIG_RADIO_RTRACK=m
+CONFIG_RADIO_RTRACK2=m
+CONFIG_RADIO_AZTECH=m
+CONFIG_RADIO_GEMTEK=m
+CONFIG_RADIO_GEMTEK_PCI=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_MAESTRO=m
+CONFIG_RADIO_SF16FMI=m
+CONFIG_RADIO_SF16FMR2=m
+CONFIG_RADIO_TERRATEC=m
+CONFIG_RADIO_TRUST=m
+CONFIG_RADIO_TYPHOON=m
+CONFIG_RADIO_TYPHOON_PROC_FS=y
+CONFIG_RADIO_ZOLTRIX=m
+# CONFIG_USB_DSBR is not set
+CONFIG_DVB_CORE=m
+CONFIG_DVB_CORE_ATTACH=y
+CONFIG_DVB_CAPTURE_DRIVERS=y
+
+#
+# Supported SAA7146 based PCI Adapters
+#
+# CONFIG_DVB_AV7110 is not set
+# CONFIG_DVB_BUDGET is not set
+# CONFIG_DVB_BUDGET_CI is not set
+# CONFIG_DVB_BUDGET_AV is not set
+
+#
+# Supported USB Adapters
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_DVB_CINERGYT2=m
+# CONFIG_DVB_CINERGYT2_TUNING is not set
+
+#
+# Supported FlexCopII (B2C2) Adapters
+#
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
+
+#
+# Supported BT878 Adapters
+#
+
+#
+# Supported Pluto2 Adapters
+#
+CONFIG_DVB_PLUTO2=m
+
+#
+# Supported DVB Frontends
+#
+
+#
+# Customise DVB Frontends
+#
+# CONFIG_DVB_FE_CUSTOMISE is not set
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_STV0299=m
+# CONFIG_DVB_CX24110 is not set
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_MT312=m
+# CONFIG_DVB_VES1X93 is not set
+# CONFIG_DVB_S5H1420 is not set
+CONFIG_DVB_TDA10086=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+# CONFIG_DVB_SP8870 is not set
+# CONFIG_DVB_SP887X is not set
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+# CONFIG_DVB_L64781 is not set
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+
+#
+# DVB-C (cable) frontends
+#
+CONFIG_DVB_VES1820=m
+# CONFIG_DVB_TDA10021 is not set
+# CONFIG_DVB_TDA10023 is not set
+CONFIG_DVB_STV0297=m
+
+#
+# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
+#
+CONFIG_DVB_NXT200X=m
+# CONFIG_DVB_OR51211 is not set
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+
+#
+# Tuners/PLL support
+#
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TDA827X=m
+CONFIG_DVB_TUNER_QT1010=m
+CONFIG_DVB_TUNER_MT2060=m
+
+#
+# Miscellaneous devices
+#
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_ISL6421=m
+# CONFIG_DVB_TUA6100 is not set
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_BUF=m
+CONFIG_VIDEO_BUF_DVB=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_IR=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_DAB=y
+CONFIG_USB_DABUSB=m
+
+#
+# Graphics support
+#
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_BACKLIGHT_PROGEAR=m
+CONFIG_BACKLIGHT_CARILLO_RANCH=m
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=y
+
+#
+# Display hardware drivers
+#
+CONFIG_VGASTATE=m
+CONFIG_FB=m
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_DDC=m
+CONFIG_FB_CFB_FILLRECT=m
+CONFIG_FB_CFB_COPYAREA=m
+CONFIG_FB_CFB_IMAGEBLIT=m
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_SVGALIB=m
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+CONFIG_FB_PM2_FIFO_DISCONNECT=y
+CONFIG_FB_CYBER2000=m
+CONFIG_FB_ARC=m
+CONFIG_FB_VGA16=m
+CONFIG_FB_HECUBA=m
+CONFIG_FB_HGA=m
+# CONFIG_FB_HGA_ACCEL is not set
+CONFIG_FB_S1D13XXX=m
+CONFIG_FB_NVIDIA=m
+CONFIG_FB_NVIDIA_I2C=y
+# CONFIG_FB_NVIDIA_DEBUG is not set
+CONFIG_FB_NVIDIA_BACKLIGHT=y
+CONFIG_FB_RIVA=m
+CONFIG_FB_RIVA_I2C=y
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_RIVA_BACKLIGHT=y
+CONFIG_FB_I810=m
+CONFIG_FB_I810_GTF=y
+CONFIG_FB_I810_I2C=y
+CONFIG_FB_LE80578=m
+CONFIG_FB_CARILLO_RANCH=m
+CONFIG_FB_INTEL=m
+# CONFIG_FB_INTEL_DEBUG is not set
+CONFIG_FB_INTEL_I2C=y
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+CONFIG_FB_MATROX_I2C=m
+CONFIG_FB_MATROX_MAVEN=m
+CONFIG_FB_MATROX_MULTIHEAD=y
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY128_BACKLIGHT=y
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+# CONFIG_FB_ATY_GENERIC_LCD is not set
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_ATY_BACKLIGHT=y
+CONFIG_FB_S3=m
+CONFIG_FB_SAVAGE=m
+CONFIG_FB_SAVAGE_I2C=y
+# CONFIG_FB_SAVAGE_ACCEL is not set
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_VT8623=m
+CONFIG_FB_CYBLA=m
+CONFIG_FB_TRIDENT=m
+# CONFIG_FB_TRIDENT_ACCEL is not set
+CONFIG_FB_ARK=m
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_GEODE is not set
+CONFIG_FB_SM501=m
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+CONFIG_VGACON_SOFT_SCROLLBACK=y
+CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=128
+CONFIG_VIDEO_SELECT=y
+# CONFIG_MDA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=m
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+# CONFIG_LOGO is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=m
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_RTCTIMER=m
+CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+# CONFIG_SND_SUPPORT_OLD_API is not set
+# CONFIG_SND_VERBOSE_PROCFS is not set
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_OPL3_LIB=m
+CONFIG_SND_OPL4_LIB=m
+CONFIG_SND_VX_LIB=m
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DUMMY=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PORTMAN2X4=m
+
+#
+# ISA devices
+#
+CONFIG_SND_AD1848_LIB=m
+CONFIG_SND_CS4231_LIB=m
+CONFIG_SND_ADLIB=m
+CONFIG_SND_AD1816A=m
+CONFIG_SND_AD1848=m
+CONFIG_SND_ALS100=m
+CONFIG_SND_AZT2320=m
+CONFIG_SND_CMI8330=m
+CONFIG_SND_CS4231=m
+CONFIG_SND_CS4232=m
+CONFIG_SND_CS4236=m
+CONFIG_SND_DT019X=m
+CONFIG_SND_ES968=m
+CONFIG_SND_ES1688=m
+CONFIG_SND_ES18XX=m
+CONFIG_SND_GUS_SYNTH=m
+CONFIG_SND_GUSCLASSIC=m
+CONFIG_SND_GUSEXTREME=m
+CONFIG_SND_GUSMAX=m
+CONFIG_SND_INTERWAVE=m
+CONFIG_SND_INTERWAVE_STB=m
+CONFIG_SND_OPL3SA2=m
+CONFIG_SND_OPTI92X_AD1848=m
+CONFIG_SND_OPTI92X_CS4231=m
+CONFIG_SND_OPTI93X=m
+CONFIG_SND_MIRO=m
+CONFIG_SND_SB8=m
+CONFIG_SND_SB16=m
+CONFIG_SND_SBAWE=m
+CONFIG_SND_SB16_CSP=y
+CONFIG_SND_SB16_CSP_FIRMWARE_IN_KERNEL=y
+CONFIG_SND_SGALAXY=m
+CONFIG_SND_SSCAPE=m
+CONFIG_SND_WAVEFRONT=m
+CONFIG_SND_WAVEFRONT_FIRMWARE_IN_KERNEL=y
+
+#
+# PCI devices
+#
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+# CONFIG_SND_AZT3328 is not set
+CONFIG_SND_BT87X=m
+CONFIG_SND_BT87X_OVERCLOCK=y
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_FM801_TEA575X=m
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_KORG1212_FIRMWARE_IN_KERNEL=y
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL=y
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_YMFPCI_FIRMWARE_IN_KERNEL=y
+CONFIG_SND_AC97_POWER_SAVE=y
+
+#
+# USB devices
+#
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+
+#
+# PCMCIA devices
+#
+CONFIG_SND_VXPOCKET=m
+CONFIG_SND_PDAUDIOCF=m
+
+#
+# System on Chip audio support
+#
+CONFIG_SND_SOC=m
+
+#
+# Open Sound System
+#
+CONFIG_SOUND_PRIME=m
+# CONFIG_OSS_OBSOLETE is not set
+# CONFIG_SOUND_TRIDENT is not set
+# CONFIG_SOUND_MSNDCLAS is not set
+# CONFIG_SOUND_MSNDPIN is not set
+# CONFIG_SOUND_OSS is not set
+CONFIG_AC97_BUS=m
+
+#
+# HID Devices
+#
+CONFIG_HID=m
+# CONFIG_HID_DEBUG is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT_POWERBOOK=y
+# CONFIG_HID_FF is not set
+CONFIG_USB_HIDDEV=y
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DEVICE_CLASS is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_EHCI_HCD=m
+# CONFIG_USB_EHCI_SPLIT_ISO is not set
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_DPCM=y
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+CONFIG_USB_STORAGE_KARMA=y
+CONFIG_USB_LIBUSUAL=y
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+CONFIG_USB_USS720=m
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRCABLE is not set
+CONFIG_USB_SERIAL_AIRPRIME=m
+# CONFIG_USB_SERIAL_ARK3116 is not set
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP2101=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+# CONFIG_USB_SERIAL_FTDI_SIO is not set
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+# CONFIG_USB_SERIAL_IR is not set
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+# CONFIG_USB_SERIAL_IPW is not set
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KEYSPAN_MPR=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19=y
+CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
+# CONFIG_USB_SERIAL_KLSI is not set
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_HP4X=m
+# CONFIG_USB_SERIAL_SAFE is not set
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_TI=m
+# CONFIG_USB_SERIAL_CYBERJACK is not set
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OPTION=m
+# CONFIG_USB_SERIAL_OMNINET is not set
+# CONFIG_USB_SERIAL_DEBUG is not set
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+CONFIG_USB_LCD=m
+CONFIG_USB_BERRY_CHARGE=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGET=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETMOTORCONTROL=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+CONFIG_USB_SISUSBVGA_CON=y
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+CONFIG_USB_GADGET_NET2280=y
+CONFIG_USB_NET2280=m
+# CONFIG_USB_GADGET_PXA2XX is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+CONFIG_USB_GADGET_DUALSPEED=y
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_ETH=m
+# CONFIG_USB_ETH_RNDIS is not set
+# CONFIG_USB_GADGETFS is not set
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
+# CONFIG_USB_MIDI_GADGET is not set
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+
+#
+# MMC/SD Host Controller Drivers
+#
+# CONFIG_MMC_SDHCI is not set
+CONFIG_MMC_WBSD=m
+# CONFIG_MMC_TIFM_SD is not set
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=m
+
+#
+# LED drivers
+#
+CONFIG_LEDS_NET48XX=m
+CONFIG_LEDS_WRAP=m
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_IDE_DISK=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+
+#
+# InfiniBand support
+#
+CONFIG_INFINIBAND=m
+CONFIG_INFINIBAND_USER_MAD=m
+CONFIG_INFINIBAND_USER_ACCESS=m
+CONFIG_INFINIBAND_USER_MEM=y
+CONFIG_INFINIBAND_ADDR_TRANS=y
+CONFIG_INFINIBAND_MTHCA=m
+CONFIG_INFINIBAND_MTHCA_DEBUG=y
+CONFIG_INFINIBAND_AMSO1100=m
+# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
+# CONFIG_INFINIBAND_CXGB3 is not set
+CONFIG_MLX4_INFINIBAND=m
+CONFIG_INFINIBAND_IPOIB=m
+# CONFIG_INFINIBAND_IPOIB_CM is not set
+CONFIG_INFINIBAND_IPOIB_DEBUG=y
+# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+CONFIG_INFINIBAND_SRP=m
+CONFIG_INFINIBAND_ISER=m
+
+#
+# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
+#
+# CONFIG_EDAC is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=m
+CONFIG_RTC_CLASS=m
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+
+#
+# SPI RTC drivers
+#
+CONFIG_RTC_DRV_RS5C348=m
+CONFIG_RTC_DRV_MAX6902=m
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_V3020=m
+
+#
+# on-CPU RTC drivers
+#
+
+#
+# DMA Engine support
+#
+CONFIG_DMA_ENGINE=y
+
+#
+# DMA Clients
+#
+CONFIG_NET_DMA=y
+
+#
+# DMA Devices
+#
+CONFIG_INTEL_IOATDMA=m
+
+#
+# Auxiliary Display support
+#
+CONFIG_KS0108=m
+CONFIG_KS0108_PORT=0x378
+CONFIG_KS0108_DELAY=2
+CONFIG_CFAG12864B=m
+CONFIG_CFAG12864B_RATE=20
+
+#
+# Virtualization
+#
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+CONFIG_EXT2_FS_XIP=y
+CONFIG_FS_XIP=y
+CONFIG_EXT3_FS=m
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4DEV_FS=m
+CONFIG_EXT4DEV_FS_XATTR=y
+CONFIG_EXT4DEV_FS_POSIX_ACL=y
+CONFIG_EXT4DEV_FS_SECURITY=y
+CONFIG_JBD=m
+CONFIG_JBD_DEBUG=y
+CONFIG_JBD2=m
+CONFIG_JBD2_DEBUG=y
+CONFIG_FS_MBCACHE=y
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+CONFIG_REISERFS_PROC_INFO=y
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=m
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+CONFIG_JFS_STATISTICS=y
+CONFIG_FS_POSIX_ACL=y
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_SECURITY=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_NOLOCK=m
+CONFIG_GFS2_FS_LOCKING_DLM=m
+CONFIG_OCFS2_FS=m
+CONFIG_OCFS2_DEBUG_MASKLOG=y
+CONFIG_MINIX_FS=m
+CONFIG_ROMFS_FS=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_QUOTA=y
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=m
+CONFIG_QUOTACTL=y
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=m
+CONFIG_GENERIC_ACL=y
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=y
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=y
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+# CONFIG_NTFS_RW is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_HUGETLBFS=y
+CONFIG_HUGETLB_PAGE=y
+CONFIG_RAMFS=y
+CONFIG_CONFIGFS_FS=y
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_ECRYPT_FS is not set
+# CONFIG_HFS_FS is not set
+CONFIG_HFSPLUS_FS=m
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=m
+CONFIG_VXFS_FS=m
+CONFIG_HPFS_FS=m
+CONFIG_QNX4FS_FS=m
+CONFIG_SYSV_FS=m
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+CONFIG_NFSD=m
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+# CONFIG_NFSD_V4 is not set
+CONFIG_NFSD_TCP=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+# CONFIG_SUNRPC_BIND34 is not set
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+CONFIG_SMB_NLS_DEFAULT=y
+CONFIG_SMB_NLS_REMOTE="cp437"
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+# CONFIG_CIFS_STATS2 is not set
+# CONFIG_CIFS_WEAK_PW_HASH is not set
+CONFIG_CIFS_XATTR=y
+# CONFIG_CIFS_POSIX is not set
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+CONFIG_NCP_FS=m
+CONFIG_NCPFS_PACKET_SIGNING=y
+# CONFIG_NCPFS_IOCTL_LOCKING is not set
+# CONFIG_NCPFS_STRONG is not set
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+CONFIG_NCPFS_SMALLDOS=y
+CONFIG_NCPFS_NLS=y
+CONFIG_NCPFS_EXTRAS=y
+CONFIG_CODA_FS=m
+# CONFIG_CODA_FS_OLD_API is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=y
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=y
+
+#
+# Distributed Lock Manager
+#
+CONFIG_DLM=y
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Instrumentation Support
+#
+# CONFIG_PROFILING is not set
+# CONFIG_KPROBES is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_PRINTK_TIME=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+CONFIG_HEADERS_CHECK=y
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_HIGHMEM is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_FRAME_POINTER is not set
+# CONFIG_FORCED_INLINING is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_EARLY_PRINTK=y
+CONFIG_DEBUG_STACKOVERFLOW=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+
+#
+# Page alloc debug is incompatible with Software Suspend on i386
+#
+# CONFIG_DEBUG_RODATA is not set
+# CONFIG_4KSTACKS is not set
+CONFIG_X86_FIND_SMP_CONFIG=y
+CONFIG_X86_MPPARSE=y
+CONFIG_DOUBLEFAULT=y
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
+CONFIG_SECURITY=y
+CONFIG_SECURITY_NETWORK=y
+CONFIG_SECURITY_NETWORK_XFRM=y
+CONFIG_SECURITY_CAPABILITIES=m
+CONFIG_SECURITY_ROOTPLUG=m
+CONFIG_SECURITY_SELINUX=y
+CONFIG_SECURITY_SELINUX_BOOTPARAM=y
+CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0
+CONFIG_SECURITY_SELINUX_DISABLE=y
+CONFIG_SECURITY_SELINUX_DEVELOP=y
+CONFIG_SECURITY_SELINUX_AVC_STATS=y
+CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
+CONFIG_SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT=y
+# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ABLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
+# CONFIG_CRYPTO_GF128MUL is not set
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_PCBC=m
+# CONFIG_CRYPTO_LRW is not set
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+CONFIG_CRYPTO_TWOFISH_586=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_AES_586=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_CAMELLIA=m
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Hardware crypto devices
+#
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_CRYPTO_DEV_GEODE=m
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=m
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=y
+CONFIG_AUDIT_GENERIC=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_REED_SOLOMON=m
+CONFIG_REED_SOLOMON_DEC16=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_X86_BIOS_REBOOT=y
+CONFIG_KTIME_SCALAR=y
diff --git a/cauldron/etc/x86/spells b/cauldron/etc/x86/spells
new file mode 100644
index 0000000..9a31e82
--- /dev/null
+++ b/cauldron/etc/x86/spells
@@ -0,0 +1,90 @@
+autoconf
+automake
+basesystem
+bash
+bin86
+binutils
+bison
+bzip2
+coreutils
+cpio
+device-mapper
+dhcpcd
+dialog
+diffutils
+e2fsprogs
+ed
+eject
+elvis
+file
+findutils
+flex
+g++
+gawk
+gcc
+gettext
+glibc
+gnupg
+grep
+groff
+grub
+gzip
+hdparm
+iana-etc
+init.d
+installwatch
+jed
+jfsutils
+kbd
+less
+libaal
+libtool
+lilo
+linux
+locale
+lvm
+lynx
+m4
+make
+man
+mdadm
+mktemp
+module-init-tools
+nano
+ncurses
+net-tools
+netconf
+netkit-base
+netkit-ping
+nfs-utils
+openssl
+patch
+pciutils
+pcmciautils
+perl
+popt
+portmap
+procps
+readline
+reiser4progs
+reiserfsprogs
+rpmunpack
+sed
+shadow
+simpleinit-msb
+slang
+smgl-archspecs
+smgl-fhs
+sorcery-pubkeys
+sysfsutils
+tar
+tcp_wrappers
+texinfo
+udev
+unzip
+util-linux
+wget
+which
+wireless_tools
+xfsprogs
+zlib
diff --git a/cauldron/etc/x86/toolchain b/cauldron/etc/x86/toolchain
new file mode 100644
index 0000000..ebcfca3
--- /dev/null
+++ b/cauldron/etc/x86/toolchain
@@ -0,0 +1,31 @@
+bash
+binutils
+bzip2
+coreutils
+cpio
+dialog
+diffutils
+file
+findutils
+gawk
+gcc
+glibc
+gnupg
+grep
+gzip
+iana-etc
+installwatch
+locale
+make
+ncurses
+patch
+readline
+sed
+shadow
+smgl-archspecs
+smgl-fhs
+tar
+unzip
+util-linux
+wget
+zlib
diff --git a/cauldron/lib.chroot b/cauldron/lib.chroot
new file mode 100644
index 0000000..f65c41e
--- /dev/null
+++ b/cauldron/lib.chroot
@@ -0,0 +1,124 @@
+#!/bin/bash
+#-------------------------------------------------------------------------------
+##
+##=head1 SYNOPSIS
+##
+## libcauldron is a set of functions used internally by the cauldron script
+##
+##=head1 COPYRIGHT
+##
+## Copyright 2009 by the Cauldron Team
+##
+##=head1 FUNCTIONS
+##
+##=over 4
+##
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+## @param target dir to chroot into
+##
+## Prepares a chroot environment and exports necessary variables. For every
+## target dir to chroot into, there should be one
+## [cauldron_chroot_init ... cauldron_chroot_done] pair.
+##
+#-------------------------------------------------------------------------------
+function cauldron_chroot_init() {
+ if [[ "$CAULDRON_CHROOTINIT" -ne 1 ]]
+ then
+ local target="${1:-$CAULDRON_BUILD}"
+
+ # if target is somehow null, return an error
+ if [[ -z $target ]]
+ then
+ return $ERR_CHROOT_UNDEF
+ fi
+
+ # bind the needed mounts
+ mount --bind "$HOST_PATH"/dev "$target"/dev || return $ERR_CHROOT_INIT
+ mount --bind "$HOST_PATH"/dev/pts "$target"/dev/pts || return
$ERR_CHROOT_INIT
+ mount --bind "$HOST_PATH"/proc "$target"/proc || return $ERR_CHROOT_INIT
+
+ # make sure the sorcerous library is loaded
+ # which provides cauldron_source_sorcery
+ if [[ -z cauldron_source_sorcery ]]
+ then
+ cauldron_load_library lib.sorcerous
+ fi
+ # source the target sorcery, so we have access to its functions
+ cauldron_source_sorcery "$target" || return $ERR_TARGET_SORCERY
+
+ # everything went OK, so export the chroot definitions
+ export CAULDRON_CHROOTINIT=1
+ export CAULDRON_CHROOT="$CAULDRON_CHROOT_CMD \"$target\""
+ fi
+
+ return $ERR_OK
+}
+
+#-------------------------------------------------------------------------------
+##
+## Cleans up the chroot environment after it is no longer needed
+##
+#-------------------------------------------------------------------------------
+function cauldron_chroot_done() {
+ if [[ "$CAULDRON_CHROOTINIT" -eq 1 ]]
+ then
+ local target="${1:-$CAULDRON_BUILD}"
+
+ # if target is somehow null, return an error
+ if [[ -z $target ]]
+ then
+ return $ERR_CHROOT_UNDEF
+ fi
+
+ # unmount the bind mounts
+ umount "target"/proc || return $ERR_CHROOT_DONE
+ umount "target"/dev/pts || return $ERR_CHROOT_DONE
+ umount "target"/dev || return $ERR_CHROOT_DONE
+
+ # clear the chroot definitions
+ unset CAULDRON_CHROOTINIT
+ unset CAULDRON_CHROOT
+ fi
+
+ return $ERR_OK
+}
+
+#-------------------------------------------------------------------------------
+## @param command plus args to execute inside the chroot
+##
+## Executes the command given as the first parameter and any args that follow
+## inside the cauldron chroot defined by cauldron_chroot_init.
+##
+#-------------------------------------------------------------------------------
+function cauldron_chroot() {
+ if [[ "$CAULDRON_CHROOTINIT" -eq 1 ]]
+ then
+ ${CAULDRON_CHROOT} $* || return $ERR_CHROOT
+ else
+ return $ERR_CHROOT_NOT_INIT
+ fi
+
+ return $ERR_OK
+}
+
+#-------------------------------------------------------------------------------
+##
+## This software is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This software is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this software; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##
+#-------------------------------------------------------------------------------
+
+# vim:ai:tw=80:tabstop=2:softtabstop=2:shiftwidth=2:expandtab
diff --git a/cauldron/lib.hostcache b/cauldron/lib.hostcache
new file mode 100644
index 0000000..224507e
--- /dev/null
+++ b/cauldron/lib.hostcache
@@ -0,0 +1,128 @@
+#!/bin/bash
+#-------------------------------------------------------------------------------
+##
+##=head1 SYNOPSIS
+##
+## lib.hostcache provides functions for generating spell caches from what's
+## available on the HOST system - only to be used for the
initial
+## build toolchain
+##
+##=head1 COPYRIGHT
+##
+## Copyright 2009 by the Cauldron Team
+##
+##=head1 FUNCTIONS
+##
+##=over 4
+##
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+## @param spell
+##
+## Builds a cache file from the information provided by the install log for
the
+## spell passed as an argument. It expects the provided spell to include the
+## version as a suffix (i.e. bash-3.2).
+##
+#-------------------------------------------------------------------------------
+function cauldron_create_host_cache() {
+ local spell=$1
+ local install_log="${HOST_PATH}/var/log/sorcery/install/${spell}"
+ local cache=${CAULDRON_CACHE}/${spell}.tar
+
+ if [[ -z create_cache_archive ]]
+ then
+ . "${HOST_SORCERY_LIBS}"/libstate 2> $NULL || liberror_die
$ERR_HOST_SORCERY
+ fi
+
+ create_cache_archive "$install_log" "${cache}" "${cache}${EXTENSION}" ||
+ return $ERR_CREATE_CACHE
+}
+
+#-------------------------------------------------------------------------------
+## @param spell
+## @param aggressive
+##
+## Generates a cache file for the given spell. It will try to use information
+## from an already installed/cast spell (in the case of the host system
having
+## sorcery configured to not generate the caches), and, failing that, will
cast the
+## spell and then dispel it (the second step only being performed if
aggressive
+## is true).
+##
+#-------------------------------------------------------------------------------
+function cauldron_build_host_cache_file() {
+ local spell=$1
+ local aggressive=$2
+ local version=
+
+ # First check to see if the spell was installed, but no cache exists.
+ if gaze -q installed $spell
+ then
+ # Spell is installed, generate a cache file using the install log?
+ version=$(grep "^${spell}" ${HOST_PACKAGES} | cut -d : -f 4)
+ cauldron_create_host_cache ${spell}-${version}
+ else
+ # Only do this part if the caller wants us to be aggressive in building
the
+ # cache.
+ if $aggressive
+ then
+ # Do some trickery to get a cache file. Make sure that sorcery is set
to
+ # generate a cache file, and if not then either set sorcery to do so or
+ # build the cache file afterwards by being recursive? This should be
done
+ # in a build chroot so that the user's host filesystem is not polluted.
+ local aggr_build="$CAULDRON_BUILD/tmp/cauldron_aggressive_cache"
+
+ if [[ -e "$HOST_PATH/var/log/sorcery/install/${spell}-${version}" ]]
+ then
+ # make sure the $AGGR_BUILD path is clean
+ # completely wipe it out and recreate it
+ rm -fr "$aggr_build"
+ mkdir -p "$aggr_build"
+
+ # find all the files installed by the given spell
+ for file in
"$HOST_PATH/var/log/sorcery/install/${spell}-${version}/"*
+ do
+ # copy all files from the sorcery install log into $AGGR_BUILD
+ cp -a --parents "$file" "$aggr_build"/
+ done
+
+ # package the collection of files from the install log as a cache
file
+ tar jcf "${spell}-${version}.tar.bz2" \
+ --transform "s#$aggr_build/##" $aggr_build/*
+
+ # if the packaging was successful, wipe out the $AGGR_BUILD dir
+ [[ $? -eq 0 ]] && rm -fr "$aggr_build"
+ else
+ if [[ -e "$CAULDRON_BUILD/etc/sorcery/local/config" ]]
+ then
+ local config="$CAULDRON_BUILD/etc/sorcery/local/config"
+ local archive=$(grep "ARCHIVE=" "$config" | cut -d= -f2)
+ [[ $archive != "on" ]] &&
+ sed -i 's/ARCHIVE=.*/ARCHIVE="on"/' "$config"
+ fi
+ cauldron_chroot $CAULDRON_CAST $spell
+ cauldron_chroot $CAULDRON_DISPEL $spell
+ fi
+ fi
+ fi
+}
+
+#-------------------------------------------------------------------------------
+##
+## This software is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This software is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this software; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##
+#-------------------------------------------------------------------------------
+
+# vim:ai:tw=80:tabstop=2:softtabstop=2:shiftwidth=2:expandtab
diff --git a/cauldron/lib.init b/cauldron/lib.init
new file mode 100755
index 0000000..e124b62
--- /dev/null
+++ b/cauldron/lib.init
@@ -0,0 +1,176 @@
+#!/bin/bash
+#-------------------------------------------------------------------------------
+##
+##=head1 SYNOPSIS
+##
+## libinit is a set of functions used internally by the cauldron scripts
+## responsible for handling the init setup, including initrd and initramfs,
on
+## the ISOs.
+##
+##=head1 COPYRIGHT
+##
+## Copyright 2009 by the Cauldron Team
+##
+##=head1 FUNCTIONS
+##
+##=over 4
+##
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+## @param XXX
+##
+## Handles setting up the init process on the ISO. The ISO init is
+## responsible for detecting hardware, loading device drivers, setting
+## console fonts, etc.
+##
+#-------------------------------------------------------------------------------
+function cauldron_iso_init() {
+ cp ${CAULDRON_DATA}/inittab ${CAULDRON_BUILD}/etc/inittab
+}
+
+#-------------------------------------------------------------------------------
+## @param XXX
+##
+## Makes the initrd to be used by the ISO on booting.
+##
+#-------------------------------------------------------------------------------
+function cauldron_ramdisk() {
+ local initrd="${CAULDRON_TEMP}/initrd"
+ local initmnt="${CAULDRON_TEMP}/initrd_mount"
+
+ mkdir -p ${initmnt}
+ dd -if /dev/null -of ${initrd}
+ mke2fs ${initrd}
+ mount -o loop ${initrd} ${initmnt}
+ cauldron_initfs ${initmnt}
+ umount ${initmnt}
+ gzip -9 ${initrd}
+}
+
+#-------------------------------------------------------------------------------
+## @param XXX
+##
+## Makes the initramfs be used by the ISO on booting.
+##
+#-------------------------------------------------------------------------------
+function cauldron_ramfs() {
+ local ramdir="${CAULDRON_TEMP}/initram"
+ local ramfs="${CAULDRON_TEMP}/initram.cpio"
+
+ mkdir -p ${ramdir}
+ cauldron_initfs ${ramdir}
+ (
+ cd ${ramdir}
+ find . -print -depth | cpio -o > ${ramfs}
+ gzip -9 ${ramfs}
+ )
+}
+
+#-------------------------------------------------------------------------------
+## @param path_to_initfs
+##
+## Sets up the basic directories that will be needed on the initfs
+##
+#-------------------------------------------------------------------------------
+function cauldron_initfs_dirs() {
+ local initfs=$1
+
+ for dir in $(cat ${CAULDRON_DATA}/initfs.dirs)
+ do
+ mkdir -p ${initfs}/${dir}
+ done
+}
+
+#-------------------------------------------------------------------------------
+## @param path_to_initfs
+##
+## Gathers and copies the necessary binaries into the initfs
+##
+#-------------------------------------------------------------------------------
+function cauldron_initfs_bins() {
+ local initfs=$1
+
+ for bin in $(cat ${CAULDRON_DATA}/initfs.binaries)
+ do
+ cp $bin ${initfs}/bin
+ done
+}
+
+#-------------------------------------------------------------------------------
+## @param path_to_initfs
+##
+## Gathers and copies the necessary libraries into the initfs
+##
+#-------------------------------------------------------------------------------
+function cauldron_initfs_libs() {
+ local initfs=$1
+
+ for lib in $(cat ${CAULDRON_DATA}/initfs.libs)
+ do
+ cp $lib ${initfs}/lib/
+ done
+}
+
+#-------------------------------------------------------------------------------
+## @param path_to_initfs
+##
+## Copies over any required kernel modules into the initfs
+##
+#-------------------------------------------------------------------------------
+function cauldron_initfs_mods() {
+ local initfs=$1
+
+ for module in $(cat ${CAULDRON_DATA}/initfs.modules)
+ do
+ cp $module ${initfs}/lib/modules/$CAULDRON_KVERS
+ done
+}
+
+#-------------------------------------------------------------------------------
+## @param path_to_initfs
+##
+## Sets up the "init" in the initfs (AKA linuxrc)
+##
+#-------------------------------------------------------------------------------
+function cauldron_initfs_init() {
+ local initfs=$1
+
+ cp ${CAULDRON_DATA}/initfs.init ${initfs}/linuxrc
+}
+
+#-------------------------------------------------------------------------------
+## @param path_to_initfs
+##
+## Builds a "filesystem" to be used in an initrd or initramfs
+##
+#-------------------------------------------------------------------------------
+function cauldron_initfs() {
+ local initfs=$1
+
+ cauldron_initfs_dirs $initfs
+ cauldron_initfs_bins $initfs
+ cauldron_initfs_libs $initfs
+ cauldron_initfs_mods $initfs
+ cauldron_initfs_init $initfs
+}
+
+#-------------------------------------------------------------------------------
+##
+## This software is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This software is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this software; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##
+#-------------------------------------------------------------------------------
+
+# vim:ai:tw=80:tabstop=2:softtabstop=2:shiftwidth=2:expandtab
diff --git a/cauldron/lib.sorcerous b/cauldron/lib.sorcerous
new file mode 100644
index 0000000..53572b3
--- /dev/null
+++ b/cauldron/lib.sorcerous
@@ -0,0 +1,176 @@
+#!/bin/bash
+#-------------------------------------------------------------------------------
+##
+##=head1 SYNOPSIS
+##
+## libcauldron is a set of functions used internally by the cauldron script
+##
+##=head1 COPYRIGHT
+##
+## Copyright 2009 by the Cauldron Team
+##
+##=head1 FUNCTIONS
+##
+##=over 4
+##
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+##
+## Sources the sorcery config files. Should only be called by
+## cauldron_chroot_init.
+##
+## TODO:
+## this needs to be fixed, since sorcery uses some absolute paths and has
some
+## hard-coded into itself, therefore it will source parts from the target but
+## other parts will actually be sourced from the HOST
+##
+## the solution may involve having a modified sorcery config for the build
+## chroot, which will need a lot of modified paths
+##
+#-------------------------------------------------------------------------------
+function cauldron_source_sorcery() {
+ local target="${1:-$ISO_SORCERY_CONFIG}"
+
+ # source the main config file
+ source "$target" || return $ERR_TARGET_SORCERY
+
+ # if the local config exists, source it
+ if [[ -e "$target" ]]
+ then
+ source "$target" || return $ERR_TARGET_SORCERY
+ fi
+
+ return $ERR_OK
+}
+
+#-------------------------------------------------------------------------------
+## @param stage
+##
+## Configures the toolchain for building on the TARGET system. In other
+## words, this sets the options/variables necessary to build a
+## cross-compiler system to generate binaries for the target system. The
+## parameter "stage" is an int and sets the variables for stage1 and stage2
of
+## the cross-compile. Stage1 is the building of the initial tools. Stage2 is
for
+## the building of glibc, because it's a little bit special. Stage3 is
+## the cross-compilation of the basesystem via sorcery rebuild using the
+## cross-compiler.
+##
+#-------------------------------------------------------------------------------
+function cauldron_configure_toolchain() {
+ local stage=$1
+
+ if [[ -z modify_config ]]
+ then
+ . "${HOST_SORCERY_LIBS}"/libtrack 2> $CAULDRON_NULL ||
+ liberror_die $ERR_HOST_SORCERY
+ fi
+
+ # make sure the sorcery local config dir exists on the ISO
+ mkdir -p "$ISO_SORCERY_CONFIG" || return $ERR_ISO_SORCERY_CONFIG
+
+ case ${stage} in
+ 1)
+ modify_config "$ISO_SORCERY_CONFIG" CUSTOM_CFLAGS \
+ "--host=${HOST_ARCH} --target=${CAULDRON_ARCH}"
+ ;;
+ 2)
+ modify_config "$ISO_SORCERY_CONFIG" CUSTOM_CFLAGS \
+ "--build=${HOST_ARCH} --host=${CAULDRON_ARCH}"
+ ;;
+ 3)
+ modify_config "$ISO_SORCERY_CONFIG" CUSTOM_CFLAGS \
+ "--build=${HOST_ARCH} --host=${CAULDRON_ARCH}
--target=${CAULDRON_ARCH}"
+ ;;
+ esac
+}
+
+#-------------------------------------------------------------------------------
+## @param sorcery_branch
+## @param download_path
+##
+## Downloads a fresh sorcery source tarball from the net, and places it in
+## download_path.
+##
+#-------------------------------------------------------------------------------
+function cauldron_download_sorcery() {
+ local branch=$1
+ local spool=$2
+ local sorcery="sorcery-$branch.tar.bz2"
+
+ # run in a subshell as an easy way of not messing with the working
directory
+ (
+ cd ${spool}
+ wget http://download.sourcemage.org/sorcery/$sorcery ||
+ return $ERR_DOWNLOAD_SORCERY
+ )
+
+ return $ERR_OK
+}
+
+#-------------------------------------------------------------------------------
+## @param force_download
+##
+## Installs sorcery into the ISO system. If force_download is "yes", it will
+## download a fresh copy from the net. Otherwise, it will check to see if the
+## sorcery sources are present in the host system, and copy those first, but
if
+## they cannot be found it will resort to downloading them. It shouldn't
matter
+## if the version of sorcery is a little old, since a system update can be
+## performed inside $CAULDRON_BUILD after the base toolchain is set up. The
+## branch should be one of {stable, test, devel}, and is set in the cauldron
+## config file.
+##
+#-------------------------------------------------------------------------------
+function cauldron_sorcery_install() {
+ local force_download=$1
+ local branch="$ISO_SORCERY_BRANCH"
+ local spool="$CAULDRON_BUILD/var/spool/sorcery"
+
+ # ensure the spool dir exists for getting spell sources
+ mkdir -p "$spool" || return $ERR_BUILD_SPOOL
+
+ # check to see if we will copy or download the sorcery source tarball
+ # then get the source tarball and place it in CAULDRON_BUILD
+ if [[ -e "$HOST_SORCERY_SPOOL"/sorcery-${branch}.tar.bz2 ]]
+ then
+ if [[ "$force_download" == "yes" ]]
+ then
+ cauldron_download_sorcery $branch "$spool"
+ else
+ cp "$HOST_SORCERY_SPOOL"/sorcery-${branch}.tar.bz2 "$spool"
+ fi
+ else
+ cauldron_download_sorcery ${branch} "$spool"
+ fi
+
+ # unpack the source tarball
+ tar -C "$CAULDRON_BUILD"/usr/src -jxf "$spool"/sorcery-${branch}.tar.bz2
+
+ # make sure the chroot library is loaded so cauldron_chroot is available
+ if [[ -z cauldron_chroot ]]
+ then
+ cauldron_load_library lib.chroot
+ fi
+ # install the source tarball, relative to CAULDRON_BUILD
+ "$CAULDRON_BUILD"/usr/src/sorcery/install "$CAULDRON_BUILD"
+}
+
+#-------------------------------------------------------------------------------
+##
+## This software is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This software is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this software; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##
+#-------------------------------------------------------------------------------
+
+# vim:ai:tw=80:tabstop=2:softtabstop=2:shiftwidth=2:expandtab
diff --git a/cauldron/libcauldron b/cauldron/libcauldron
index 5bd5129..176de76 100755
--- a/cauldron/libcauldron
+++ b/cauldron/libcauldron
@@ -15,100 +15,67 @@
##

#-------------------------------------------------------------------------------

-#-------------------------------------------------------------------------------
-# cauldron includes
-#-------------------------------------------------------------------------------
-. ${BASE_LIBS}/libinit ||
- cauldron_fatal_error "error: cannot load base libraries!"
-. ${BASE_LIBS}/liberror ||
- cauldron_fatal_error "error: cannot load base libraries!"
-. ${BASE_LIBS}/liberrorcodes ||
- cauldron_fatal_error "error: cannot load base libraries!"
-
-# load cauldron error code and message defines
-. ${CAULDRON_LIBS}/errorcodes ||
- cauldron_fatal_error "error: cannot load cauldron libraries!"
-
-#-------------------------------------------------------------------------------
-# Sorcery includes
-#-------------------------------------------------------------------------------
-# Needed for modifying config files
-if [[ -e "${SORCERY_LIBS}"/libstate ]]
-then
- . "${SORCERY_LIBS}"/libstate
-else
- CAULDRON_HOSTSORCERY=0
-fi
-if [[ -e "${SORCERY_LIBS}"/libtrack ]]
-then
- . "${SORCERY_LIBS}"/libtrack
-else
- CAULDRON_HOSTSORCERY=0
-fi
+# shorthand and non-hardcoded /dev/null for output dumping
+CAULDRON_NULL="/dev/null"


#-------------------------------------------------------------------------------
##
## Used only when checking initialization of the library and a fatal error
-## occurs. Afterwards, functions from liberror should be used instead.
+## occurs. Afterwards, functions from liberror are used instead.
##

#-------------------------------------------------------------------------------
function cauldron_fatal_error() {
echo $1
- exit $ERR_FATAL
+ exit 1
}


#-------------------------------------------------------------------------------
##
-## Sources the sorcery config files. Should only be called by
-## cauldron_chroot_init.
+## liberror includes - load these first!
##

#-------------------------------------------------------------------------------
-function cauldron_source_sorcery() {
- local target=$1
+. ${CAULDRON_BASE}/liberror 2>$CAULDRON_NULL ||
+ cauldron_fatal_error "error: cannot load base libraries!"

- source "$target/etc/sorcery/config" || return $ERR_TARGETSORCERY
- if [[ -e "$target/etc/sorcery/local/config" ]]
- then
- source "$target/etc/sorcery/local/config"
- fi || return $ERR_TARGETSORCERY
-}
+# load cauldron error code and message defines
+. ${CAULDRON_LIBS}/errorcodes 2>$CAULDRON_NULL ||
+ cauldron_fatal_error "error: cannot load cauldron libraries!"
+
+# drop cauldron_fatal_error if liberror was successfully loaded
+unset cauldron_fatal_error


#-------------------------------------------------------------------------------
+## @param library name to load (no path, just basename)
##
-## Prepares a chroot environment and exports necessary variables
+## Loads the library given as the first argument. liberror_check_fatal_error
is
+## called to check if there was a problem loading the library, and if there
was
+## it will print a corresponding error message and then exit with the error
+## $ERR_LOAD_LIBRARY.
##

#-------------------------------------------------------------------------------
-function cauldron_chroot_init() {
- local TARGET="${1:-$CAULDRON_BUILD}"
+function cauldron_load_library() {
+ local lib=$1

- if [[ "$CAULDRON_CHROOTINIT" -ne 1 ]]
- then
- mount --bind "$HOSTPATH"/dev "$TARGET"/dev || ret=$ERR_CHROOTINIT
- mount --bind "$HOSTPATH"/dev/pts "$TARGET"/dev/pts || ret=$ERR_CHROOTINIT
- mount --bind "$HOSTPATH"/proc "$TARGET"/proc || ret=$ERR_CHROOTINIT
- cauldron_source_sorcery "$TARGET" || return $ERR_TARGETSORCERY
- export CAULDRON_CHROOTINIT=1
- export CAULDRON_CHROOT="chroot \"$TARGET\""
- fi
+ . "$CAULDRON_LIBS/$lib" 2>$CAULDRON_NULL ||
+ liberror_check_fatal_error
}


#-------------------------------------------------------------------------------
-##
-## Cleans up the chroot environment after it is no longer needed
-##
+# cauldron includes

#-------------------------------------------------------------------------------
-function cauldron_chroot_done() {
- local TARGET="${1:-$CAULDRON_BUILD}"
+#cauldron_load_library lib.sorcerous

- if [[ "$CAULDRON_CHROOTINIT" -eq 1 ]]
- then
- umount "TARGET"/proc
- umount "TARGET"/dev/pts
- umount "TARGET"/dev
- unset CAULDRON_CHROOTINIT
- unset CAULDRON_CHROOT
- fi
-}
+cauldron_load_library lib.chroot
+
+cauldron_load_library lib.init
+
+#cauldron_load_library lib.hostcache
+
+if [[ $CAULDRON_COLOR == "yes" ]]
+then
+ . "$CAULDRON_BASE/libcolor"
+ liberror_check_fatal_error
+fi


#-------------------------------------------------------------------------------
##
@@ -120,27 +87,26 @@ function cauldron_chroot_done() {
##

#-------------------------------------------------------------------------------
function cauldron_get_host_triple() {
- local HOST_ARCH
- local ARCH_SPEC
- local HOST_TRIPLE
- local SPEC_FILE
+ local arch_spec
+ local host_triple
+ local spec

# get the value for the HOST triplet from sorcery archspecs
for spec in ${HOST_ARCH_PATH[@]}
do
if [[ $(find --version|grep -q 'version 4\.1\(\.\|$\)') == 1 ]]
then
- ARCH_SPEC=$(find ${spec} -perm 400 -type f -name ${HOST_ARCH} \
- -print 2>/dev/null)
+ arch_spec="$(find $spec -perm 400 -type f -name $HOST_ARCH \
+ -print 2>$CAULDRON_NULL)"
else
- ARCH_SPEC=$(find -L ${spec} -perm 400 -type f -name ${HOST_ARCH} \
- -print 2>/dev/null)
+ arch_spec="$(find -L $spec -perm 400 -type f -name $HOST_ARCH \
+ -print 2>$CAULDRON_NULL)"
fi
- [[ ARCH_SPEC ]] && break
+ [[ -n $arch_spec ]] && break
done
- HOST_TRIPLE=$(grep "HOST=" ${ARCH_SPEC} | cut -d = -f 2)
+ host_triple="$(grep 'HOST=' $arch_spec | cut -d = -f 2)"

- echo ${HOST_TRIPLE}
+ echo "$host_triple"
}


#-------------------------------------------------------------------------------
@@ -154,202 +120,93 @@ function cauldron_get_host_triple() {
##

#-------------------------------------------------------------------------------
function cauldron_base_toolchain() {
- local SPELL
- local VERSION
- local SPELL_CACHE
- local HOST_TRIPLE
+ local spell
+ local version
+ local spell_cache
+ local host_triple

- # exit with error if chroot not defined
- [[ -n "$CAULDRON_CHROOT" ]] || exit $ERR_CHROOT
+ # get the value for HOST_TRIPLE
+ host_triple=$(cauldron_get_host_triple)

- # set the value for HOST_TRIPLE
- HOST_TRIPLE=$(cauldron_get_host_triple)
+ [[ -z host_triple ]] && return $ERR_HOST_TRIPLE

# grab the list of spells needed as the base tool-chain which will be
# used to create the cross-compile tool-chain
- for SPELL in ${HOST_TOOLCHAIN}
+ for spell in "$CAULDRON_TOOLCHAIN"
do
# grab the version for the spell from sorcery's state info
# on what's installed
- VERSION=$(grep "^${SPELL}" ${HOST_PACKAGES} | cut -d : -f 4)
+ version=$(grep "^$spell" "$HOST_SORCERY_PACKAGES" | cut -d : -f 4)

- if [[ ${VERSION} ]]
+ # check if spell found on the system
+ if [[ -n $version ]]
then
# set SPELL_CACHE as shorthand for SPELL-VERSION-HOST_TRIPLE.tar.bz2
- SPELL_CACHE="${SPELL}-${VERSION}-${HOST_TRIPLE}.tar${CACHE_EXTENSION}"
+ spell_cache="${spell}-${version}-${host_triple}.tar${CACHE_EXTENSION}"

# check to see if there is already a cache file from sorcery
# this check could be based on spell-{names,versions} reported by
# gaze/sorcery/dispel. Mirroring code in dispel might be the best bet,
# since that has to find the version currently installed anyway.
- if [[ -f "${HOST_SORCERY_SPOOL}/${SPELL_CACHE}" ]]
+ if [[ -f "$HOST_SORCERY_SPOOL/$spell_cache" ]]
then
# found a cache file, copy it to the BUILD dir
- cp "${HOST_SORCERY_SPOOL}/${SPELL_CACHE}" "${CAULDRON_BUILD}"
+ cp "$HOST_SORCERY_SPOOL/$spell_cache" "$CAULDRON_BUILD" ||
+ return $ERR_CP_CACHE
else
# couldn't find a cache file, so we'll need to build one
- cauldron_build_cache_file ${SPELL}
+ if [[ -z cauldron_build_host_cache_file ]]
+ then
+ cauldron_load_library lib.hostcache
+ fi
+ cauldron_build_host_cache_file "$spell" ||
+ return $ERR_BUILD_CACHE
fi
+
# unpack the cache file, effectively installing
# the spell into the BUILD dir
# the unpacking is done against the BUILD dir as the root dir, so
# this should not touch the HOST filesystem at all
- tar xjf "${CAULDRON_BUILD}/${SPELL_CACHE}" -C "${CAULDRON_BUILD}"/
- [[ $? -eq 0 ]] && rm "${CAULDRON_BUILD}/${SPELL_CACHE}"
+ tar xjf "$CAULDRON_BUILD/$spell_cache" -C "$CAULDRON_BUILD/" ||
+ return $ERR_UNPACK_CACHE
+
+ # if the tar was successful, then remove the temporary file
+ rm "$CAULDRON_BUILD/$spell_cache" ||
+ return $ERR_RM_CACHE
+ # the spell is not present on the HOST system
else
- # the spell is not present on the HOST system, so it must be cast
- # inside a chroot
- cauldron_chroot_init
- ${CAULDRON_CHROOT} ${CAULDRON_CAST} ${SPELL}
- cauldron_chroot_done
+ # cast the spell inside a chroot to get the cache
+ cauldron_chroot "$CAULDRON_CAST" "$spell" || return $ERR_CHROOT
fi
done
-}
-
-#-------------------------------------------------------------------------------
-## @param spell
-##
-## Builds a cache file from the information provided by the install log for
the
-## spell passed as an argument. It expects the provided spell to include the
-## version as a suffix (i.e. bash-3.2).
-##
-#-------------------------------------------------------------------------------
-function cauldron_create_cache() {
- local SPELL=$1
- local INSTALL_LOG="${HOSTPATH}/var/log/sorcery/install/${SPELL}"
- local CACHE=${CAULDRON_CACHE}/${SPELL}.tar

- create_cache_archive ${INSTALL_LOG} ${CACHE} ${CACHE}${EXTENSION}
-}
-
-#-------------------------------------------------------------------------------
-## @param spell
-## @param aggressive
-##
-## Generates a cache file for the given spell. It will try to use information
-## from an already installed/cast spell (in the case of the host system
having
-## sorcery configured to not generate the caches), and, failing that, will
cast the
-## spell and then dispel it (the second step only being performed if
aggressive
-## is true).
-##
-#-------------------------------------------------------------------------------
-function cauldron_build_cache_file() {
- local SPELL=$1
- local AGGRESSIVE=$2
- local VERSION=
-
- # First check to see if the spell was installed, but no cache exists.
- if gaze -q installed $SPELL
- then
- # Spell is installed, generate a cache file using the install log?
- VERSION=$(grep "^${SPELL}" ${HOST_PACKAGES} | cut -d : -f 4)
- cauldron_create_cache ${SPELL}-${VERSION}
- else
- # Only do this part if the caller wants us to be aggressive in building
the
- # cache.
- if $AGGRESSIVE
- then
- # Do some trickery to get a cache file. Make sure that sorcery is set
to
- # generate a cache file, and if not then either set sorcery to do so or
- # build the cache file afterwards by being recursive? This should be
done
- # in a build chroot so that the user's host filesystem is not polluted.
- local AGGR_BUILD="$CAULDRON_BUILD/tmp/cauldron_aggressive_cache"
- if [[ -e "$HOSTPATH/var/log/sorcery/install/${SPELL}-${VERSION}" ]]
- then
- rm -fr "$AGGR_BUILD"
- mkdir -p "$AGGR_BUILD"
- for file in "$HOSTPATH/var/log/sorcery/install/${SPELL}-${VERSION}"
- do
- cp -a --parents "$file" "$AGGR_BUILD"/
- done
- tar jcf "${SPELL}-${VERSION}.tar.bz2" \
- --transform "s#$AGGR_BUILD/##" $AGGR_BUILD/*
- [[ $? -eq 0 ]] && rm -fr "$AGGR_BUILD"
- else
- if [[ -e "$CAULDRON_BUILD/etc/sorcery/local/config" ]]
- then
- local CONFIG="$CAULDRON_BUILD/etc/sorcery/local/config"
- local ARCHIVE=$(grep "ARCHIVE=" "$CONFIG" | cut -d= -f2)
- [[ $ARCHIVE != "on" ]] &&
- sed -i 's/ARCHIVE=.*/ARCHIVE="on"/' "$CONFIG"
- fi
- cauldron_chroot_init
- "$CAULDRON_CHROOT" $CAULDRON_CAST $SPELL
- "$CAULDRON_CHROOT" $CAULDRON_DISPEL $SPELL
- cauldron_chroot_done
- fi
- fi
- fi
-}
-
-#-------------------------------------------------------------------------------
-## @param stage
-##
-## Configures the toolchain for building on the TARGET system. In other
-## words, this sets the options/variables necessary to build a
-## cross-compiler system to generate binaries for the target system. The
-## parameter "stage" is an int and sets the variables for stage1 and stage2
of
-## the cross-compile. Stage1 is the building of the initial tools. Stage2 is
for
-## the building of glibc, because it's a little bit special. Stage3 is
-## the cross-compilation of the basesystem via sorcery rebuild using the
-## cross-compiler.
-##
-#-------------------------------------------------------------------------------
-function cauldron_configure_toolchain() {
- local STAGE=$1
-
- case ${STAGE} in
- 1)
- modify_config ${TARGET_LOCAL_CFG} CUSTOM_CFLAGS \
- "--host=${HOST} --target=${TARGET}"
- ;;
- 2)
- modify_config ${TARGET_LOCAL_CFG} CUSTOM_CFLAGS \
- "--build=${HOST} --host=${TARGET}"
- ;;
- 3)
- modify_config ${TARGET_LOCAL_CFG} CUSTOM_CFLAGS \
- "--build=${HOST} --host=${TARGET} --target=${TARGET}"
- ;;
- esac
+ return $ERR_OK
}


#-------------------------------------------------------------------------------
-## @param XXX
##
## This builds the cross-compiler to produce the TARGET binaries.
##

#-------------------------------------------------------------------------------
function cauldron_cross_toolchain() {
- # exit with error if chroot not defined
- [[ -n "$CAULDRON_CHROOT" ]] || exit $ERR_CHROOT
-
# build the stage 1 tools
cauldron_configure_toolchain 1
- cauldron_chroot_init
- ${CAULDRON_CHROOT} ${CAULDRON_CAST} binutils
- ${CAULDRON_CHROOT} ${CAULDRON_CAST} gcc
- cauldron_chroot_done
+ cauldron_chroot ${CAULDRON_CAST} binutils
+ cauldron_chroot ${CAULDRON_CAST} gcc

# build glibc (stage 2)
cauldron_configure_toolchain 2
- cauldron_chroot_init
- ${CAULDRON_CHROOT} ${CAULDRON_CAST} glibc
- cauldron_chroot_done
+ cauldron_chroot ${CAULDRON_CAST} glibc

# rebuild gcc (still stage 1, but this time linked against the
# cross-glibc
cauldron_configure_toolchain 1
- cauldron_chroot_init
- ${CAULDRON_CHROOT} ${CAULDRON_CAST} gcc
- cauldron_chroot_done
+ cauldron_chroot ${CAULDRON_CAST} gcc

# do a sorcery rebuild inside the BUILD dir to
# generate the cross-compile tool-chain (stage 3)
cauldron_configure_toolchain 3
- cauldron_chroot_init
- ${CAULDRON_CHROOT} ${CAULDRON_REBUILD}
- cauldron_chroot_done
+ cauldron_chroot ${CAULDRON_REBUILD}
}


#-------------------------------------------------------------------------------
@@ -364,15 +221,12 @@ function cauldron_build_target_system() {
local target_spells=$1
local spell

- # exit with error if chroot not defined
- [[ -n "$CAULDRON_CHROOT" ]] || exit $ERR_CHROOT
-
# Since we will be installing from the running ISO system instead of a
giant
# tarball, for each spell we only need to make sure that the cache file is
# available. This will require that the ISO sorcery has caching enabled.
The
# caching should really be turned on from the very beginning though...
- cauldron_chroot_init
[[ "$ARCHIVE" == "off" ]] && return $ERR_ARCHIVE
+
for spell in $target_spells
do
# Cheap cop-out to get the cache generated - cast the spell to generate
the
@@ -380,44 +234,43 @@ function cauldron_build_target_system() {
# on the ISO filesystem (any spells cast here should be those not
required
# for the functioning of the ISO itself, only to be installed to the
target
# system).
- ${CAULDRON_CHROOT} ${CAULDRON_CAST} $spell
- ${CAULDRON_CHROOT} ${CAULDRON_DISPEL} $spell
+ cauldron_chroot ${CAULDRON_CAST} $spell
+ cauldron_chroot ${CAULDRON_DISPEL} $spell
done
- cauldron_chroot_done
+
return $ERR_OK
}


#-------------------------------------------------------------------------------
-## @param CLEANFILE
+## @param cleanfile
##
## Cleans out unneeded files that were used to generate the ISO, but should
-## not be present on the final ISO system. CLEANFILE is a file that lists
paths
+## not be present on the final ISO system. cleanfile is a file that lists
paths
## to remove (absolute paths, relative to a chroot of the iso), one file/path
## per line.
##

#-------------------------------------------------------------------------------
function cauldron_clean_iso_system() {
- local CLEANFILE=$1
+ local cleanfile=$1

- [[ -z "$CLEANFILE" ]] && return $ERR_CLEANFILE
+ [[ -z "$cleanfile" ]] && return $ERR_CLEANFILE

- for i in $(sort -r $CLEANFILE)
+ for i in $(sort -r $cleanfile)
do
if [[ -d $i ]]
then
echo "Attempting to remove directory $i..."
- rmdir $i
+ rmdir $i || return $ERR_CLEAN_DIR
else
echo "Deleting $i"
- rm $i
+ rm $i || return $ERR_CLEAN_FILE
fi
done
+
return $ERR_OK
}


#-------------------------------------------------------------------------------
-## @param KEEP - whether or not to keep the original .iso file in addition to
-## the compressed .iso.bz2
##
## Builds the ISO filesystem using the generated ISO data and the filename
## set in the cauldron config file.
@@ -447,11 +300,19 @@ function cauldron_mkisofs() {
##

#-------------------------------------------------------------------------------
function cauldron_add_installer() {
- local MODULE=$1
+ local installer=$1
+
+ # make sure CAULDRON_BUILD/ENCHANT_DATA exists
+ mkdir -p "$CAULDRON_BUILD/$ENCHANT_DATA/" || return $ERR_INSTALLER_DIR
+
+ cp -r "$CAULDRON_LIBS/$installer" "$CAULDRON_BUILD/$ENCHANT_DATA/" ||
+ return $ERR_COPY_INSTALLER
+
+ ln -sf "$CAULDRON_BUILD/$ENCHANT_DATA/$installer"/bin/* \
+ "$CAULDRON_BUILD"/usr/sbin/ ||
+ return $ERR_LINK_INSTALLER

- cp -r "$CAULDRON_LIBS/$MODULE" "$CAULDRON_BUILD/$ENCHANT_DATA/"
- ln -sf "$CAULDRON_BUILD/$ENCHANT_DATA/$MODULE"/bin/* \
- "$CAULDRON_BUILD"/usr/sbin/
+ return $ERR_OK
}


#-------------------------------------------------------------------------------
@@ -463,93 +324,43 @@ function cauldron_add_installer() {
##

#-------------------------------------------------------------------------------
function cauldron_prepare() {
- # exit with error if chroot not defined
- [[ -n "$CAULDRON_CHROOT" ]] || exit $ERR_CHROOT
-
- # first, ensure that the build dir exists
+ # ensure that the build dir exists
mkdir -p "$CAULDRON_BUILD"

- # copy the host's resolv.conf in order to dl packages from net
- cp -L /etc/resolv.conf "$CAULDRON_BUILD"/etc/resolv.conf
+ # copy the host's resolv.conf in order to dl sources from the net
+ cp -L /etc/resolv.conf "$CAULDRON_BUILD"/etc/resolv.conf ||
+ return $ERR_RESOLV

- cauldron_sorcery_install "$CAULDRON_BUILD"
- mkdir -p "$CAULDRON_BUILD"/var/spool/sorcery
- cp -f
"$HOSTPATH"/var/spool/sorcery/sorcery-${SORCERY_BRANCH}.tar${EXTENSION}
+ # install sorcery into the build dir
+ if [[ -z cauldron_sorcery_install ]]
+ then
+ cauldron_load_library lib.sorcerous
+ fi
+ cauldron_sorcery_install "$CAULDRON_BUILD" || return $ERR_SORCERY_INSTALL

# cauldron is a spell
# there is a spoon
- cauldron_chroot_init
- "$CAULDRON_CHROOT" "$CAULDRON_CAST" cauldron
- cauldron_chroot_done
-}
+ cauldron_chroot "$CAULDRON_CAST" cauldron || return $ERR_CHROOT

-#-------------------------------------------------------------------------------
-## @param sorcery_branch
-## @param download_path
-##
-## Downloads a fresh sorcery source tarball from the net, and places it in
-## download_path.
-##
-#-------------------------------------------------------------------------------
-function cauldron_download_sorcery() {
- local BRANCH=$1
- local SPOOL=$2
- local SORCERY="sorcery-$BRANCH.tar.bz2"
-
- # run in a subshell as an easy way of not messing with the working
directory
- (
- cd ${SPOOL}
- wget http://download.sourcemage.org/sorcery/$SORCERY
- )
+ return $ERR_OK
}


#-------------------------------------------------------------------------------
-## @param force_download
##
-## Installs sorcery into the ISO system. If force_download is "yes", it will
-## download a fresh copy from the net. Otherwise, it will check to see if the
-## sorcery sources are present in the host system, and copy those first, but
if
-## they cannot be found it will resort to downloading them. It shouldn't
matter
-## if the version of sorcery is a little old, since a system update can be
-## performed inside $CAULDRON_BUILD after the base toolchain is set up. The
-## branch should be one of {stable, test, devel}, and is set in the cauldron
-## config file.
+## Cleans up the tmp directories and such forth
##

#-------------------------------------------------------------------------------
-function cauldron_sorcery_install() {
- local force_download=$1
- local BRANCH="$ISO_SORCERY_BRANCH"
- local SPOOL="$CAULDRON_BUILD/var/spool/sorcery"
-
- # first, check to see if we will copy or download the sorcery source
tarball
- # and get the source tarball and place it in CAULDRON_BUILD
- if [[ -e "$HOST_SORCERY_SPOOL"/sorcery-${BRANCH}.tar.bz2 ]]
+function cauldron_cleanup() {
+ # if the user wants everything cleaned, kill the build directory
+ if [[ "$CAULDRON_CLEAN" == "yes" ]]
then
- if [[ "$force_download" == "yes" ]]
- then
- cauldron_download_sorcery $BRANCH "$SPOOL"
- else
- cp "$HOST_SORCERY_SPOOL"/sorcery-${BRANCH}.tar.bz2 "$SPOOL"
- fi
- else
- cauldron_download_sorcery ${BRANCH} "$SPOOL"
+ rm -fr "$CAULDRON_BUILD" || return $ERR_CLEANUP
fi

- # unpack the source tarball
- tar -C "$CAULDRON_BUILD"/usr/src -jxf "$SPOOL"/sorcery-${BRANCH}.tar.bz2
+ # kill the temp directory
+ rm -fr "$CAULDRON_TMP" || return $ERR_CLEANUP

- # install the source tarball, relative to CAULDRON_BUILD
- "$CAULDRON_BUILD"/usr/src/sorcery/install "$CAULDRON_BUILD"
-}
-
-#-------------------------------------------------------------------------------
-##
-## Cleans up the tmp directories and such forth
-##
-#-------------------------------------------------------------------------------
-function cauldron_cleanup() {
- [[ ${CAULDRON_CLEAN} == "yes" ]] && rm -fr "$CAULDRON_BUILD"
- rm -fr "$CAULDRON_TMP"
+ return $ERR_OK
}


#-------------------------------------------------------------------------------
diff --git a/cauldron/libinit b/cauldron/libinit
deleted file mode 100755
index e124b62..0000000
--- a/cauldron/libinit
+++ /dev/null
@@ -1,176 +0,0 @@
-#!/bin/bash
-#-------------------------------------------------------------------------------
-##
-##=head1 SYNOPSIS
-##
-## libinit is a set of functions used internally by the cauldron scripts
-## responsible for handling the init setup, including initrd and initramfs,
on
-## the ISOs.
-##
-##=head1 COPYRIGHT
-##
-## Copyright 2009 by the Cauldron Team
-##
-##=head1 FUNCTIONS
-##
-##=over 4
-##
-#-------------------------------------------------------------------------------
-
-#-------------------------------------------------------------------------------
-## @param XXX
-##
-## Handles setting up the init process on the ISO. The ISO init is
-## responsible for detecting hardware, loading device drivers, setting
-## console fonts, etc.
-##
-#-------------------------------------------------------------------------------
-function cauldron_iso_init() {
- cp ${CAULDRON_DATA}/inittab ${CAULDRON_BUILD}/etc/inittab
-}
-
-#-------------------------------------------------------------------------------
-## @param XXX
-##
-## Makes the initrd to be used by the ISO on booting.
-##
-#-------------------------------------------------------------------------------
-function cauldron_ramdisk() {
- local initrd="${CAULDRON_TEMP}/initrd"
- local initmnt="${CAULDRON_TEMP}/initrd_mount"
-
- mkdir -p ${initmnt}
- dd -if /dev/null -of ${initrd}
- mke2fs ${initrd}
- mount -o loop ${initrd} ${initmnt}
- cauldron_initfs ${initmnt}
- umount ${initmnt}
- gzip -9 ${initrd}
-}
-
-#-------------------------------------------------------------------------------
-## @param XXX
-##
-## Makes the initramfs be used by the ISO on booting.
-##
-#-------------------------------------------------------------------------------
-function cauldron_ramfs() {
- local ramdir="${CAULDRON_TEMP}/initram"
- local ramfs="${CAULDRON_TEMP}/initram.cpio"
-
- mkdir -p ${ramdir}
- cauldron_initfs ${ramdir}
- (
- cd ${ramdir}
- find . -print -depth | cpio -o > ${ramfs}
- gzip -9 ${ramfs}
- )
-}
-
-#-------------------------------------------------------------------------------
-## @param path_to_initfs
-##
-## Sets up the basic directories that will be needed on the initfs
-##
-#-------------------------------------------------------------------------------
-function cauldron_initfs_dirs() {
- local initfs=$1
-
- for dir in $(cat ${CAULDRON_DATA}/initfs.dirs)
- do
- mkdir -p ${initfs}/${dir}
- done
-}
-
-#-------------------------------------------------------------------------------
-## @param path_to_initfs
-##
-## Gathers and copies the necessary binaries into the initfs
-##
-#-------------------------------------------------------------------------------
-function cauldron_initfs_bins() {
- local initfs=$1
-
- for bin in $(cat ${CAULDRON_DATA}/initfs.binaries)
- do
- cp $bin ${initfs}/bin
- done
-}
-
-#-------------------------------------------------------------------------------
-## @param path_to_initfs
-##
-## Gathers and copies the necessary libraries into the initfs
-##
-#-------------------------------------------------------------------------------
-function cauldron_initfs_libs() {
- local initfs=$1
-
- for lib in $(cat ${CAULDRON_DATA}/initfs.libs)
- do
- cp $lib ${initfs}/lib/
- done
-}
-
-#-------------------------------------------------------------------------------
-## @param path_to_initfs
-##
-## Copies over any required kernel modules into the initfs
-##
-#-------------------------------------------------------------------------------
-function cauldron_initfs_mods() {
- local initfs=$1
-
- for module in $(cat ${CAULDRON_DATA}/initfs.modules)
- do
- cp $module ${initfs}/lib/modules/$CAULDRON_KVERS
- done
-}
-
-#-------------------------------------------------------------------------------
-## @param path_to_initfs
-##
-## Sets up the "init" in the initfs (AKA linuxrc)
-##
-#-------------------------------------------------------------------------------
-function cauldron_initfs_init() {
- local initfs=$1
-
- cp ${CAULDRON_DATA}/initfs.init ${initfs}/linuxrc
-}
-
-#-------------------------------------------------------------------------------
-## @param path_to_initfs
-##
-## Builds a "filesystem" to be used in an initrd or initramfs
-##
-#-------------------------------------------------------------------------------
-function cauldron_initfs() {
- local initfs=$1
-
- cauldron_initfs_dirs $initfs
- cauldron_initfs_bins $initfs
- cauldron_initfs_libs $initfs
- cauldron_initfs_mods $initfs
- cauldron_initfs_init $initfs
-}
-
-#-------------------------------------------------------------------------------
-##
-## This software is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
-##
-## This software is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this software; if not, write to the Free Software
-## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-##
-#-------------------------------------------------------------------------------
-
-# vim:ai:tw=80:tabstop=2:softtabstop=2:shiftwidth=2:expandtab
diff --git a/enchantment/enchantments b/enchantment/enchantments
new file mode 100644
index 0000000..325a03f
--- /dev/null
+++ b/enchantment/enchantments
@@ -0,0 +1,2 @@
+menu:text menu installer
+shell:guided shell-prompt installer
diff --git a/enchantment/errorcodes b/enchantment/errorcodes
index 5941adc..f1fb552 100644
--- a/enchantment/errorcodes
+++ b/enchantment/errorcodes
@@ -22,12 +22,14 @@
ERR_OK=0 # everything is good
ERR_FATAL=1 # fatal error (missing cauldron libs, etc.)
ERR_STEP=2 # error in processing a step
+ERR_LIBCOLOR=3 # problem loading libcolor when it was requested

# error messages
ERR_MSGS=(
- "operation succeeded" # ERR_OK
- "fatal error" # ERR_FATAL
- "step error" # ERR_STEP
+ "operation succeeded" # ERR_OK
+ "fatal error" # ERR_FATAL
+ "not a recognized step" # ERR_STEP
+ "libcolor requested but couldn't load libcolor" # ERR_LIBCOLOR
)


#-------------------------------------------------------------------------------
diff --git a/enchantment/etc/config b/enchantment/etc/config
index ba038f4..27d069a 100644
--- a/enchantment/etc/config
+++ b/enchantment/etc/config
@@ -1,5 +1,31 @@
- SORCERY_CONFIG="/etc/sorcery/config"
- SORCERY_LIBS="/var/lib/sorcery/modules"
+#!/bin/bash
+
+# path to the ISO system (this should usually be null, unless
+# you are doing some tricky hacking)
+ ENCHANT_ISO_PATH="${ENCHANT_ISO_PATH:-}"
+# path to the enchant library modules
+ ENCHANT_BASE="${ENCHANT_BASE:-$ENCHANT_ISO_PATH/var/lib/cauldron/}"
+ ENCHANT_LIBS="${ENCHANT_LIBS:-$ENCHANT_BASE/enchantment}"
+ ENCHANT_TMP="${ENCHANT_TMP:-$ENCHANT_ISO_PATH/tmp/enchantment}"
+ ENCHANT_STATUS="${ENCHANT_STATUS:-$ENCHANT_TMP/status}"
+ ENCHANT_BACK="${ENCHANT_BACK:-$ENCHANT_TMP/history/back}"
+ ENCHANT_FORWARD="${ENCHANT_FORWARD:-$ENCHANT_TMP/history/forward}"
+ ENCHANT_TARGET="${ENCHANT_TARGET:-$ENCHANT_ISO_PATH/mnt/root}"
+
ENCHANT_DATA="${ENCHANT_DATA:-$ENCHANT_ISO_PATH/usr/share/enchantment}"
+ ENCHANT_MODULES="${ENCHANT_MODULES:-$ENCHANT_DATA/modules}"
+
ENCHANT_DOCS="${ENCHANT_DOCS:-$ENCHANT_ISO_PATH/usr/share/doc/enchantment}"
+
+# whether to use color for displaying messages
+ ENCHANT_COLOR="${ENCHANT_COLOR:-yes}"
+
+# size of history buffers, total size = $ENCHANT_HISTORY * 2 = (back +
forward)
+ ENCHANT_HISTORY=${ENCHANT_HISTORY:-20}
+
+ENCHANT_SORCERY_CONFIG="${ENCHANT_SORCERY_CONFIG:-/etc/sorcery/config}"
+ ENCHANT_SORCERY_LIBS="${ENCHANT_SORCERY_LIBS:-/var/lib/sorcery/modules}"
+# branch of sorcery to use in the ISO
+ENCHANT_SORCERY_BRANCH="${ENCHANT_SORCERY_BRANCH:-stable}"
+
HOST_ARCH_PATH=$(grep "ARCH_SPEC=" ${SORCERY_CONFIG} | \
cut -d = -f 2)
HOST_ARCH=$(grep "ARCHITECTURE=" ${HOST_SORCERY_CONFIG} | \
@@ -7,24 +33,3 @@
CACHE_EXTENSION=$(grep "EXTENSION=" ${HOST_SORCERY_CONFIG} | \
cut -d = -f 2)

-# path to the ISO system (this should usually be null, unless
-# you are doing some tricky hacking)
- ISOPATH=""
-# path to the base library modules
- BASE_LIBS="${ISOPATH}/var/lib/cauldron"
-# branch of sorcery to use in the ISO
- ISO_SORCERY_BRANCH="stable"
-
-# path to the cauldron library modules
- ENCHANT_LIBS="${ISOPATH}/var/lib/cauldron/enchantment"
- ENCHANT_TMP="${ISOPATH}/tmp/enchantment"
- ENCHANT_STATUS="${ENCHANT_TMP}/status"
- ENCHANT_BACK="${ENCHANT_TMP}/history/back"
- ENCHANT_FORWARD="${ENCHANT_TMP}/history/forward"
- ENCHANT_TARGET="${ISOPATH}/mnt/root"
- ENCHANT_DATA="usr/share/enchantment"
- ENCHANT_MSGS="${ENCHANT_DATA}/messages"
- ENCHANT_DOCS="usr/share/doc/enchantment"
-# specifies the max. size of the history buffers
-# total history size = $ENCHANT_HISTORY * 2 = back + forward
- ENCHANT_HISTORY=20
diff --git a/enchantment/libenchantment b/enchantment/libenchantment
index 4710286..b8f6cea 100755
--- a/enchantment/libenchantment
+++ b/enchantment/libenchantment
@@ -24,20 +24,84 @@
##

#-------------------------------------------------------------------------------

+ENCHANT_NULL="/dev/null"
+
+#-------------------------------------------------------------------------------
+##
+## Used only when checking initialization of the library and a fatal error
+## occurs. Afterwards, functions from liberror are used instead.
+##

#-------------------------------------------------------------------------------
-# enchantment includes
+function cauldron_fatal_error() {
+ echo $1
+ exit 1
+}
+

#-------------------------------------------------------------------------------
-. ${BASE_LIBS}/libinit ||
- cauldron_fatal_error "error: cannot load base libraries!"
-. ${BASE_LIBS}/liberror ||
- cauldron_fatal_error "error: cannot load base libraries!"
-. ${BASE_LIBS}/liberrorcodes ||
- cauldron_fatal_error "error: cannot load base libraries!"
+# liberror includes
+#-------------------------------------------------------------------------------
+. "$ENCHANT_BASE/liberror" ||
+ enchant_fatal_error "error: cannot load base libraries!"

-# load cauldron error code and message defines
-. ${ENCHANT_LIBS}/errorcodes ||
+# load enchantment error code and message defines
+. "$ENCHANT_LIBS/errorcodes" ||
enchant_fatal_error "error: cannot load enchantment libraries!"

+# drop enchant_fatal_error if liberror was successfully loaded
+unset enchant_fatal_error
+
+#-------------------------------------------------------------------------------
+## @param library name to load (no path, just basename)
+##
+## Loads the library given as the first argument. liberror_check_fatal_error
is
+## called to check if there was a problem loading the library, and if there
was
+## it will print a corresponding error message and then exit with the error
+## $ERR_LOAD_LIBRARY.
+##
+#-------------------------------------------------------------------------------
+function enchant_load_library() {
+ local lib=$1
+
+ . "$ENCHANT_LIBS/$lib" 2>$ENCHANT_NULL ||
+ liberror_check_fatal_error
+}
+
+#-------------------------------------------------------------------------------
+# enchant includes
+#-------------------------------------------------------------------------------
+
+
+#-------------------------------------------------------------------------------
+# function definitions
+#-------------------------------------------------------------------------------
+#-------------------------------------------------------------------------------
+##
+## Determines whether we should attempt to load libcolor
+##
+#-------------------------------------------------------------------------------
+function enchant_color() {
+ # if ENCHANT_COLOR was set to null
+ if [[ -z $ENCHANT_COLOR ]]
+ then
+ # check if nocolor wasn't passed on the boot command-line
+ if ! grep -q 'nocolor' /proc/cmdline
+ then
+ # we want color
+ return 0
+ fi
+ else
+ # if ENCHANT_COLOR specifically set to yes
+ if [[ $ENCHANT_COLOR == "yes" ]]
+ then
+ # we want color
+ return 0
+ fi
+ fi
+
+ # for all other cases, we don't want color
+ return 1
+}
+

#-------------------------------------------------------------------------------
##
## @param kernel
@@ -53,14 +117,19 @@ function enchant_copy_kernel() {
local KERNEL=$1
local LINUX_VER=$2

- # copy the kernel itself over
- cp ${ENCHANT_ISO}/boot/${KERNEL} ${ENCHANT_TARGET}/boot/;
+ # copy the kernel over
+ cp "$ENCHANT_ISO/boot/$KERNEL" "$ENCHANT_TARGET/boot/" ||
+ return $ERR_KERNEL

# copy the modules over
- cp --parents -r ${ENCHANT_ISO}/lib/modules/${LINUX_VER}/*
${ENCHANT_TARGET};
+ cp --parents -r "$ENCHANT_ISO/lib/modules/$LINUX_VER"/* "$ENCHANT_TARGET/"
||
+ return $ERR_KERNEL_MODULES

# make sure that the proper dep info is generated on the target system
- depmod -a -b ${ENCHANT_TARGET}/lib/modules/${LINUX_VER} ${LINUX_VER};
+ depmod -a -b "$ENCHANT_TARGET/lib/modules/$LINUX_VER" "$LINUX_VER" ||
+ return $ERR_KERNEL_DEPMOD
+
+ return $ERR_OK
}


#-------------------------------------------------------------------------------
@@ -71,13 +140,15 @@ function enchant_copy_kernel() {

#-------------------------------------------------------------------------------
function enchant_prepare() {
# this initializes the file which holds the current step
- mkdir -p "${ENCHANT_TMP}"
- echo 'init' >$ENCHANT_STATUS
+ mkdir -p "$ENCHANT_TMP" || return $ERR_PREPARE
+ echo 'init' > "$ENCHANT_STATUS" || return $ERR_PREPARE

# the next lines are to init the history files
- mkdir -p "${ENCHANT_TMP}/history"
- cat < /dev/null > "${ENCHANT_BACK}"
- cat < /dev/null > "${ENCHANT_FORWARD}"
+ mkdir -p "$ENCHANT_TMP/history" || return $ERR_PREPARE
+ cat < $ENCHANT_NULL > "$ENCHANT_BACK" || return $ERR_PREPARE
+ cat < $ENCHANT_NULL > "$ENCHANT_FORWARD" || return $ERR_PREPARE
+
+ return $ERR_OK
}


#-------------------------------------------------------------------------------
@@ -86,7 +157,76 @@ function enchant_prepare() {
##

#-------------------------------------------------------------------------------
function enchant_cleanup() {
- rm -fr ${ENCHANT_TMP}
+ rm -fr "$ENCHANT_TMP" || return $ERR_CLEANUP
+
+ return $ERR_OK
+}
+
+#-------------------------------------------------------------------------------
+##
+## Returns a list of all steps recognized for the current installation,
pruned
+## of duplicates and the special "error" step
+##
+#-------------------------------------------------------------------------------
+function enchant_get_modules() {
+ local output=( )
+ local module
+
+ for module in $(cut -d: -f1 "$ENCHANT_DATA/modules")
+ do
+ if [[ "$module" != "error" ]]
+ then
+ if ! $(echo ${output[*]} | grep -q $module)
+ then
+ output=( ${output[*]} "$module" )
+ fi
+ fi
+ done
+
+ echo ${output[@]}
+}
+
+#-------------------------------------------------------------------------------
+##
+## Determines and returns the current step in the installation procedure
+##
+#-------------------------------------------------------------------------------
+function enchant_get_current() {
+ [[ -z $ENCHANT_STATUS ]] && return $ERR_GET_CURRENT
+
+ cat "$ENCHANT_STATUS" || return $ERR_GET_CURRENT
+
+ return $ERR_OK
+}
+
+#-------------------------------------------------------------------------------
+##
+## @param step
+##
+## Sets the current step of the installer to be the step passed as an
argument
+##
+#-------------------------------------------------------------------------------
+function enchant_set_current() {
+ local module=$1
+
+ if ! $(enchant_get_modules | grep -q $module)
+ then
+ return $ERR_SET_CURRENT
+ fi
+
+ # if the max history size has been reached, then we drop the oldest item
+ if [[ "$(wc -l < $ENCHANT_BACK)" -ge "$ENCHANT_HISTORY" ]]
+ then
+ sed -i '1d' "$ENCHANT_BACK" || return $ERR_SET_CURRENT
+ fi
+
+ # copy the current module to the back history
+ echo "$module" >> "$ENCHANT_BACK" || return $ERR_SET_CURRENT
+
+ # set the current module
+ echo "$module" > "$ENCHANT_STATUS" || return $ERR_SET_CURRENT
+
+ return $ERR_OK
}


#-------------------------------------------------------------------------------
@@ -94,19 +234,22 @@ function enchant_cleanup() {
## Determines and returns the next step in the installation procedure
##

#-------------------------------------------------------------------------------
-function enchant_getnext() {
+function enchant_get_next() {
local step
+ step="$(grep -m1 \"^$(enchant_get_current):\" $ENCHANT_DATA/modules)" ||
+ return $ERR_GET_NEXT

- # get current step
- step=$(cat $ENCHANT_STATUS)
- # find next step
- step=$(grep "^${step}:" $ENCHANT_DATA/order | head -n 1 | cut -d: -f2)
- # check if next step is a branch
- [[ ${step} == *'|'* ]] && step=""
- # if we couldn't find a next step, jump to 'error'
- step=${step:-error}
- # print out new status
- echo "$step"
+ step="$(echo $step | cut -d: -f2)" || return $ERR_GET_NEXT
+
+ if [[ -z $step ]]
+ then
+ echo "error"
+ return $ERR_GET_NEXT
+ fi
+
+ echo $step
+
+ return $ERR_OK
}


#-------------------------------------------------------------------------------
@@ -114,17 +257,16 @@ function enchant_getnext() {
## Determines and returns the next step in the installation procedure
##

#-------------------------------------------------------------------------------
-function enchant_setnext() {
+function enchant_set_next() {
local step

- # get old status
- step=$(cat $ENCHANT_STATUS)
- # find next status
- step=$(grep "^$step:" $ENCHANT_DATA/order | head -n 1 | cut -d: -f2)
- # if we couldn't find a next status, jump to 'error'
- step=${step:-error}
+ # get next step
+ step="$(enchant_get_next)" || return $ERR_SET_NEXT
+
# save new status
- enchant_setstep $step
+ enchant_set_step "$step" || return $ERR_SET_NEXT
+
+ return $ERR_OK
}


#-------------------------------------------------------------------------------
@@ -132,13 +274,25 @@ function enchant_setnext() {
## Determines and returns the previous step in the installation procedure
##

#-------------------------------------------------------------------------------
-function enchant_getprev() {
+function enchant_get_prev() {
local step

- step=$(cat $ENCHANT_STATUS)
- step=$(grep ":${step}$" $ENCHANT_DATA/order | tail -n 1 | cut -d: -f1)
- step=${step:-error}
+ # get the current step
+ step="$(enchant_get_current)" || return $ERR_GET_PREV
+
+ step="$(grep -m1 \":$step$\" $ENCHANT_DATA/order)" || return $ERR_GET_PREV
+
+ step="$(echo $step | cut -d: -f1)" || return $ERR_GET_PREV
+
+ if [[ -z $step ]]
+ then
+ echo "error"
+ return $ERR_GET_PREV
+ fi
+
echo "$step"
+
+ return $ERR_OK
}


#-------------------------------------------------------------------------------
@@ -146,13 +300,15 @@ function enchant_getprev() {
## Determines and returns the previous step in the installation procedure
##

#-------------------------------------------------------------------------------
-function enchant_setprev() {
+function enchant_set_prev() {
local step

- step=$(cat $ENCHANT_STATUS)
- step=$(grep ":$CURSTEP$" $ENCHANT_DATA/order | tail -n 1 | cut -d: -f1)
- step=${CURSTEP:-error}
- enchant_setstep $step
+ # get the current step
+ step="$(enchant_get_prev)" || return $ERR_SET_PREV
+
+ enchant_set_current "$step" || return $ERR_SET_PREV
+
+ return $ERR_OK
}


#-------------------------------------------------------------------------------
@@ -160,22 +316,31 @@ function enchant_setprev() {
## Moves the installer backward in its history (like the back button on a
## web browser.
##
+## when you go back, you store/save the forward pages
+##

#-------------------------------------------------------------------------------
function enchant_back() {
- # if the forward history is empty, then we can't go forward
- [[ $(wc -l < ${ENCHANT_BACK}) -eq 0 ]] && return $ERR_BACK
+ # if the back history is empty, then we can't go back
+ [[ "$(wc -l < $ENCHANT_BACK)" -eq 0 ]] && return $ERR_BACK

- # if the max history size has been reached, then we drop the oldest item
- [[ $(wc -l < ${ENCHANT_FORWARD}) -ge $ENCHANT_HISTORY ]] &&
- sed -i "" 1d ${ENCHANT_FORWARD}
+ # if the max forward history size has been reached
+ if [[ "$(wc -l < $ENCHANT_FORWARD)" -ge $ENCHANT_HISTORY ]]
+ then
+ # then we drop the oldest item from the forward history
+ sed -i '1d' "$ENCHANT_FORWARD" || return $ERR_BACK
+ fi

# copy the current status to the forward history, so we can go forward to
# where we are after we jump back
- cat < ${ENCHANT_STATUS} >> ${ENCHANT_FORWARD}
+ enchant_get_current >> "$ENCHANT_FORWARD" || return $ERR_BACK
+
# set the current step to be the one we are jumping to
- tail -n 1 ${ENCHANT_BACK} > ${ENCHANT_STATUS}
+ tail -n 1 "$ENCHANT_BACK" > "$ENCHANT_STATUS" || return $ERR_BACK
+
# remove the step we jumped to from the back history
- sed -i "" $d ${ENCHANT_BACK}
+ sed -i '$d' "$ENCHANT_BACK" || return $ERR_BACK
+
+ return $ERR_OK
}


#-------------------------------------------------------------------------------
@@ -183,22 +348,31 @@ function enchant_back() {
## Moves the installer forward in its history (like the forward button on a
## web browser.
##
+## when you go forward, you store/save the back pages
+##

#-------------------------------------------------------------------------------
function enchant_forward() {
# if the forward history is empty, then we can't go forward
- [[ $(wc -l < ${ENCHANT_FORWARD}) -eq 0 ]] && return $ERR_FORWARD
+ [[ "$(wc -l < $ENCHANT_FORWARD)" -eq 0 ]] && return $ERR_FORWARD

- # if the max history size has been reached, then we drop the oldest item
- [[ $(wc -l < ${ENCHANT_BACK}) -ge $ENCHANT_HISTORY ]] &&
- sed -i "" 1d ${ENCHANT_BACK}
+ # if the max back history size has been reached
+ if [[ "$(wc -l < $ENCHANT_BACK)" -ge "$ENCHANT_HISTORY" ]]
+ then
+ # then we drop the oldest item from the back history
+ sed -i '1d' "$ENCHANT_BACK" || return $ERR_FORWARD
+ fi

# copy the current status to the back history, so we can go back to where
we
# are after we jump forward
- cat < ${ENCHANT_STATUS} >> ${ENCHANT_BACK}
+ enchant_get_current >> "$ENCHANT_BACK" || return $ERR_FORWARD
+
# set the current step to be the one we are jumping to
- tail -n 1 ${ENCHANT_FORWARD} > ${ENCHANT_STATUS}
+ tail -n 1 "$ENCHANT_FORWARD" > "$ENCHANT_STATUS" || return $ERR_FORWARD
+
# remove the step we jumped to from the forward history
- sed -i "" $d ${ENCHANT_FORWARD}
+ sed -i '$d' "$ENCHANT_FORWARD" || return $ERR_FORWARD
+
+ return $ERR_OK
}


#-------------------------------------------------------------------------------
@@ -206,11 +380,17 @@ function enchant_forward() {
## Returns the number of the current step to perform during the installation
##

#-------------------------------------------------------------------------------
-function enchant_getnum() {
- local step
+function enchant_get_num() {
+ local num="$(grep -n -m1 \"^$(enchant_get_current):\"
$ENCHANT_DATA/modules)"
+
+ if [[ -z $num ]]
+ then
+ return $ERR_GET_NUM
+ fi

- step=$(cat $ENCHANT_STATUS)
- grep -n "$step" $ENCHANT_DATA/steps | cut -d: -f1
+ echo "$num" | cut -d: -f1 || return $ERR_GET_NUM
+
+ return $ERR_OK
}


#-------------------------------------------------------------------------------
@@ -218,49 +398,17 @@ function enchant_getnum() {
## Returns the total number of steps to perform during the installation
##

#-------------------------------------------------------------------------------
-function enchant_gettotal() {
- wc -l < $ENCHANT_DATA/steps
-}
+function enchant_get_total() {
+ local total="$(enchant_get_modules | wc -l)"

-#-------------------------------------------------------------------------------
-##
-## Determines and returns the current step in the installation procedure
-##
-#-------------------------------------------------------------------------------
-function enchant_getstep() {
- cat $ENCHANT_STATUS
-}
+ if [[ "$total" -eq 0 || -z $total ]]
+ then
+ return $ERR_TOTAL_ZERO
+ fi

-#-------------------------------------------------------------------------------
-##
-## @param step
-##
-## Sets the current step of the installer to be the step passed as an
argument
-##
-#-------------------------------------------------------------------------------
-function enchant_setstep() {
- local step=$1
- local good=0
- local listed=
+ echo "$total"

- cat $ENCHANT_DATA/steps | cut -d" " -f1 |
- while read listed
- do
- if [[ "$step" = "$listed" ]]
- then
- good=1
- echo "$step" >$ENCHANT_STATUS
- # Now we do some work for the back history
- # if the max history size has been reached, then we drop the oldest
item
- [[ $(wc -l < ${ENCHANT_BACK}) -ge $ENCHANT_HISTORY ]] &&
- sed -i "" 1d ${ENCHANT_BACK}
- # copy the current status to the back history, so we can go back to
where we
- # are after we jump forward
- cat < ${ENCHANT_STATUS} >> ${ENCHANT_BACK}
- return $ERR_OK
- fi
- done
- return $ERR_STEP
+ return $ERR_OK
}


diff --git a/enchantment/modules/boot-loader b/enchantment/modules/boot-loader
new file mode 100644
index 0000000..3bafe86
--- /dev/null
+++ b/enchantment/modules/boot-loader
@@ -0,0 +1,18 @@
+@[boot-loader step]
+Now it is time to set up a boot loader. Since this is the x86 ISO, you can
+set up either grub or lilo. Use whichever you please, but only use one of
them.
+It is assumed that whichever boot loader you will set up here was selected
and
+installed during the @[select-spells] and @[install] steps.
+
+Once you have decided which boot loader to set up, you need to configure the
+boot loader. After you finish configuring your boot loader, you need to
+"install" it. This involves running the boot loader, which will install
itself
+to the location you specified in the config file.
+
+For lilo instructions, type @[todo lilo].
+
+For grub instructions, type @[todo grub].
+
+To see the instructions for this step again, just type @[todo].
+
+When you are finished, type @[next].
diff --git a/enchantment/modules/boot-loader.info
b/enchantment/modules/boot-loader.info
new file mode 100644
index 0000000..c856628
--- /dev/null
+++ b/enchantment/modules/boot-loader.info
@@ -0,0 +1 @@
+install and set up a boot manager
diff --git a/enchantment/modules/compile-kernel
b/enchantment/modules/compile-kernel
new file mode 100644
index 0000000..e6a7e18
--- /dev/null
+++ b/enchantment/modules/compile-kernel
@@ -0,0 +1,23 @@
+@[compile-kernel step]
+You may now set up a custom kernel for your installation by casting the linux
+spell or compiling and installing manually. Remember to update your
bootloader
+configuration to use your new kernel if you wish to boot it!
+
+chroot into your system:
+@[ smgl-chroot]
+
+spell install:
+@[ cast -r linux]
+
+manual install (change VERSION to what you have):
+@[ cd /usr/src && tar jxvf linux-VERSION]
+@[ ln -sf /usr/src/linux-VERSION /usr/src/linux && cd /usr/src/linux]
+@[ make menuconfig && make && make modules_install]
+@[ cp -f arch/i386/boot/bzImage /boot/vmlinuz-VERSION]
+@[ cp -f .config /boot/config-VERSION]
+@[ cp -f System.map /boot/System.map-VERSION]
+
+Exit the chroot:
+@[exit]
+
+Type @[next] to go to the next step.
diff --git a/enchantment/modules/compile-kernel.info
b/enchantment/modules/compile-kernel.info
new file mode 100644
index 0000000..8f3a34b
--- /dev/null
+++ b/enchantment/modules/compile-kernel.info
@@ -0,0 +1 @@
+configure, build, and install a custom kernel
diff --git a/enchantment/modules/disk-format b/enchantment/modules/disk-format
new file mode 100644
index 0000000..bc8cbfa
--- /dev/null
+++ b/enchantment/modules/disk-format
@@ -0,0 +1,21 @@
+@[disk-format step]
+Now create filesystems on the partitions you just created. Below is a list
+of example commands for the different types of filesystems supported on this
+ISO. The partitions given are examples. Be sure to format all the partitions
+you need.
+
+@[ mke2fs /dev/sda1]
+@[ mkfs.ext3 /dev/sda1]
+@[ mkreiserfs /dev/sda1]
+@[ mkfs.jfs /dev/sda1]
+@[ mkfs.xfs /dev/sda1]
+
+You probably want a swap partition:
+@[ mkswap /dev/sda2]
+
+The reiser4 tools are provided on the ISO. However, the ISO kernel does not
+yet support reiser4, so although you can create reiser4 filesystems and
+check ones already created, you cannot yet mount them. Only make a reiser4
+filesystem if you really know what you are doing. (@[mkfs.reiser4])
+
+Type @[next] to go to the next step.
diff --git a/enchantment/modules/disk-format.info
b/enchantment/modules/disk-format.info
new file mode 100644
index 0000000..33cf106
--- /dev/null
+++ b/enchantment/modules/disk-format.info
@@ -0,0 +1 @@
+creating filesystems
diff --git a/enchantment/modules/disk-mount b/enchantment/modules/disk-mount
new file mode 100644
index 0000000..72f8a05
--- /dev/null
+++ b/enchantment/modules/disk-mount
@@ -0,0 +1,23 @@
+@[disk-mount step]
+You need to mount the filesystems. We'll be installing to /mnt/root,
+so mount the filesystem that will be / onto /mnt/root. The partitions given
are
+only examples. Replace them with the partitions you used in @[disk-format].
+
+Examples:
+@[ mount -t ext2 /dev/sda1 /mnt/root]
+@[ mount -t reiserfs /dev/sda1 /mnt/root]
+@[ mount -t xfs /dev/sda1 /mnt/root]
+
+Then mount any other partitions you made at the proper subdirectories.
+You'll probably need to make directories for the other mount points first
+(assuming you formatted the / partition). Make sure you mount / first.
+
+For example, if you created /dev/sda2 for /usr:
+@[ mkdir /mnt/root/usr]
+@[ mount -t ext2 /dev/sda2 /mnt/root/usr]
+(or, for example, if it's a jfs partition)
+@[ mount -t jfs /dev/sda1 /mnt/root]
+
+Don't forget to mount @[all] the (system) partitions you plan to use.
+Also, you may want to turn on swap via e.g.
+@[ swapon /dev/sda2]
diff --git a/enchantment/modules/disk-mount.info
b/enchantment/modules/disk-mount.info
new file mode 100644
index 0000000..a6df0c5
--- /dev/null
+++ b/enchantment/modules/disk-mount.info
@@ -0,0 +1 @@
+mounting filesystems at appropriate mount-points
diff --git a/enchantment/modules/disk-partition
b/enchantment/modules/disk-partition
new file mode 100644
index 0000000..21d95d0
--- /dev/null
+++ b/enchantment/modules/disk-partition
@@ -0,0 +1,23 @@
+@[disk-partition step]
+First, we'll need to create some partitions on your disk that we can install
+SMGL to. You'll need to know the device of your hard disk to do this. One
good
+way to find your disks is by ls /sys/block, running cat /proc/partitions, or
by
+dmesg | grep -i disk. You probably want something that is either hd or sd.
+
+This image ships with several popular programs for partitioning:
+
+cfdisk is probably the most popular, a curses-based menu system:
+@[ cfdisk /dev/sda]
+
+parted can resize partitions, but may be a tad confusing:
+@[ parted /dev/sda]
+
+Then for the purists there's plain line-based fdisk. Can be a bit hard to
use:
+@[ fdisk /dev/sda]
+
+The iso also ships with @[sfdisk], if you're insane enough to want to use
+it.
+
+Remember to save your new partitioning scheme before quitting the program,
+create a swap partition, and remember you can always see this screen again
+by typing @[todo]. Type @[next] when you're done.
diff --git a/enchantment/modules/disk-partition.info
b/enchantment/modules/disk-partition.info
new file mode 100644
index 0000000..470f054
--- /dev/null
+++ b/enchantment/modules/disk-partition.info
@@ -0,0 +1 @@
+creating partitions
diff --git a/enchantment/modules/edit-confs b/enchantment/modules/edit-confs
new file mode 100644
index 0000000..1858656
--- /dev/null
+++ b/enchantment/modules/edit-confs
@@ -0,0 +1,23 @@
+@[edit-confs step]
+Now, we need to set up our partitions so the system will find them again on
+bootup. For this, edit @[/mnt/root/etc/fstab] and add your partitions.
+
+(For editors available on this iso, do @[help editors])
+
+Also, take a look at the files in @[/mnt/root/etc/sysconfig/] and edit any
you
+feel should be different. Especially, you should make sure the @[facilities]
file
+looks correct, and if you selected a custom keymap at the start of this
+install, you'll need to edit the file called @[keymap] in that directory
+(do @[ cat /tmp/selected-keymap] to see which you chose).
+
+You may also wish to create @[/mnt/root/etc/hostname] with a hostname for
your
+system, and you can set up networking by editing the
+@[/mnt/root/etc/network/interfaces] file.
+
+Finally, you can choose to set your timezone by doing the following:
+@[ smgl-chroot]
+@[ ln -sf /usr/share/zoneinfo/SOME/TIMEZONE /etc/localtime]
+
+Just remember to replace "SOME/TIMEZONE" with your actual timezone.
+
+Type @[next] to go to the next step.
diff --git a/enchantment/modules/edit-confs.info
b/enchantment/modules/edit-confs.info
new file mode 100644
index 0000000..a460b43
--- /dev/null
+++ b/enchantment/modules/edit-confs.info
@@ -0,0 +1 @@
+editing the basic configuration files
diff --git a/enchantment/modules/error b/enchantment/modules/error
new file mode 100644
index 0000000..d81e770
--- /dev/null
+++ b/enchantment/modules/error
@@ -0,0 +1 @@
+I got confused. WTF. Well, hope for the best and type "next" to start over...
diff --git a/enchantment/modules/error.info b/enchantment/modules/error.info
new file mode 100644
index 0000000..2732448
--- /dev/null
+++ b/enchantment/modules/error.info
@@ -0,0 +1 @@
+an error was encountered
diff --git a/enchantment/modules/grub b/enchantment/modules/grub
new file mode 100644
index 0000000..74cf91f
--- /dev/null
+++ b/enchantment/modules/grub
@@ -0,0 +1,23 @@
+@[grub step]:
+To run grub properly, it needs to be chroot'ed into the new system.
+
+chroot into the system:
+@[ smgl-chroot]
+
+Copy all the necessary grub files to /boot:
+cp /usr/lib/grub/i386-pc/* /boot/grub
+
+Then run grub and enter the following commands, without the > in front
(adjust
+for your disk layout):
+@[ /sbin/grub]
+> @[root (hd0,0)]
+> @[setup (hd0)]
+> @[quit]
+
+Update menu.lst for your kernel:
+$EDITOR /boot/grub/menu.lst
+
+Exit the chroot:
+@[ exit]
+
+Type @[next] to go to the next step.
diff --git a/enchantment/modules/grub.info b/enchantment/modules/grub.info
new file mode 100644
index 0000000..cc62224
--- /dev/null
+++ b/enchantment/modules/grub.info
@@ -0,0 +1 @@
+install and configure the grub bootloader
diff --git a/enchantment/modules/help/editors
b/enchantment/modules/help/editors
new file mode 100644
index 0000000..c1f21d1
--- /dev/null
+++ b/enchantment/modules/help/editors
@@ -0,0 +1,4 @@
+Editors available on this iso:
+ @[nano] - a quite easy-to-use, small editor
+ @[elvis] - a small vi clone
+ @[jed] - an editor capable of emulating other editors
diff --git a/enchantment/modules/help/index b/enchantment/modules/help/index
new file mode 100644
index 0000000..4beaa93
--- /dev/null
+++ b/enchantment/modules/help/index
@@ -0,0 +1,10 @@
+help print a list of commands (this list)
+help index print a list of commands (this list)
+help editors print a list of editors available on the ISO
+jump <step> jump directly to <step>
+next go to the next step
+prev return to the previous step in the list
+steps print a listing of all possible steps
+todo show what needs to be done for the current step
+todo <step> show what needs to be done for <step>
+welcome show some help information (seen at the welcome
screen)
diff --git a/enchantment/modules/init b/enchantment/modules/init
new file mode 100644
index 0000000..7cd6fe4
--- /dev/null
+++ b/enchantment/modules/init
@@ -0,0 +1,2 @@
+@[init step]
+enter @[next].
diff --git a/enchantment/modules/init.info b/enchantment/modules/init.info
new file mode 100644
index 0000000..da3882a
--- /dev/null
+++ b/enchantment/modules/init.info
@@ -0,0 +1 @@
+start of the install
diff --git a/enchantment/modules/install b/enchantment/modules/install
new file mode 100644
index 0000000..e8cd038
--- /dev/null
+++ b/enchantment/modules/install
@@ -0,0 +1,23 @@
+@[install step]
+It is time to install all of the spells to your system. There are two ways
that
+you can do this: manually, and using the @[smgl-enchant] script. Note
+that system.tar.bz2 is @[required] for a new install.
+
+manual method:
+@[ tar xjvf /system.tar.bz2 -C /mnt/root]
+@[ cd /var/cache/sorcery]
+@[ tar jxf SPELL -C /mnt/root ]
+
+Remember to replace "SPELL" with the filename of the spell cache to install.
As
+an example, to install lilo:
+@[ tar jxf /var/cache/sorcery/lilo-22.8-i486-pc-linux-gnu.tar.bz2 -C
/mnt/root]
+
+enchant method (uses /tmp/spells):
+@[ smgl-enchant]
+
+Enchant can also take a command-line argument to a cache file with a
specified
+path. This enables you to run enchant on any cache file you choose, from any
+directory, without the tedium of typing in the tar line as given in the
"manual
+method" section. See @[ smgl-enchant] for more information.
+
+When the step finishes type @[next].
diff --git a/enchantment/modules/install.info
b/enchantment/modules/install.info
new file mode 100644
index 0000000..e1eb7cf
--- /dev/null
+++ b/enchantment/modules/install.info
@@ -0,0 +1 @@
+install the base system and selected optional spells
diff --git a/enchantment/modules/iso-kernel b/enchantment/modules/iso-kernel
new file mode 100644
index 0000000..460a899
--- /dev/null
+++ b/enchantment/modules/iso-kernel
@@ -0,0 +1,22 @@
+@[iso-kernel step]
+Installing the ISO kernel is easy, and it should work well (it's working on
+your computer right now). To install the ISO kernel, all you need to do is
copy
+the kernel and kernel modules over to your new system. You can do this with a
+script we provide, or manually. Remember to modify your bootloader
+configuration to use the kernel you install if you wish to boot it!
+
+using smgl-kernel:
+@[ smgl-kernel]
+
+manually:
+copy the kernel itself:
+@[ cp /boot/config-$(uname -r) /mnt/root/boot/]
+@[ cp /boot/linux /mnt/root/boot/vmlinuz-$(uname -r)]
+
+copy all the kernel modules:
+@[ cp -a /lib/modules/$(uname -r) /mnt/root/lib/modules/]
+
+you'll probably also want the modprobe blacklist:
+@[ cp /etc/modprobe.d/blacklist /mnt/root/etc/modprobe.d/blacklist]
+
+Type @[next] to go to the next step.
diff --git a/enchantment/modules/iso-kernel.info
b/enchantment/modules/iso-kernel.info
new file mode 100644
index 0000000..d998c9a
--- /dev/null
+++ b/enchantment/modules/iso-kernel.info
@@ -0,0 +1 @@
+install the kernel from the ISO into your target system
diff --git a/enchantment/modules/kernel b/enchantment/modules/kernel
new file mode 100644
index 0000000..cd9f5a0
--- /dev/null
+++ b/enchantment/modules/kernel
@@ -0,0 +1,12 @@
+@[kernel]
+You can install the ISO kernel (fast and easy), set up a custom kernel
+(recommended), or both (best of both worlds). Whatever you choose, you must
+install at least one kernel.
+
+For instructions on how to install the ISO kernel, type @[todo iso-kernel].
+
+For instructions on how to install a custom kernel, type @[todo
compile-kernel].
+
+To see the instructions for this step again, just type @[todo].
+
+When you are finished, type @[next].
diff --git a/enchantment/modules/kernel.info b/enchantment/modules/kernel.info
new file mode 100644
index 0000000..bb5c5a1
--- /dev/null
+++ b/enchantment/modules/kernel.info
@@ -0,0 +1 @@
+install ISO kernel and/or compile a custom kernel
diff --git a/enchantment/modules/lilo b/enchantment/modules/lilo
new file mode 100644
index 0000000..82c49bd
--- /dev/null
+++ b/enchantment/modules/lilo
@@ -0,0 +1,20 @@
+@[lilo step]:
+Edit @[/mnt/root/etc/lilo.conf] to your setup (especially, you'll want to
change
+the boot= and root= entries to point to your partitions, and you'll need to
+set the kernel version correctly).
+
+To run lilo properly, it needs to be chroot'ed into the new system. This
needs
+some directories (/dev, /proc), so we provide a wrapper to set those up for
+you and clean them up again when you're done.
+
+Run the script to get a shell inside the installed system:
+@[ smgl-chroot]
+
+Then run lilo so it updates the boot record:
+@[ /sbin/lilo]
+
+Exit the chroot:
+@[ exit]
+
+Unless you got an error message when you were installing the boot loader,
+you should be done with this step. Type @[next] to go to the next step.
diff --git a/enchantment/modules/lilo.info b/enchantment/modules/lilo.info
new file mode 100644
index 0000000..69e6cda
--- /dev/null
+++ b/enchantment/modules/lilo.info
@@ -0,0 +1 @@
+install and configure the lilo bootloader
diff --git a/enchantment/modules/reboot b/enchantment/modules/reboot
new file mode 100644
index 0000000..5eb2dc9
--- /dev/null
+++ b/enchantment/modules/reboot
@@ -0,0 +1,12 @@
+@[reboot step]
+You should be all done with the installation! Congratulations! Time to reboot
+into your installed system! Just type:
+
+@[ reboot]
+
+If you installed @[smgl-setup] (installed by default unless changed), be
sure to
+run @[man smgl-setup] when first logging in. It will provide you with
+information on what you can do with your newly installed system.
+
+We don't (yet) eject the CD during shutdown, so be sure to take it out during
+reboot or configure your BIOS not to try and boot from it.
diff --git a/enchantment/modules/reboot.info b/enchantment/modules/reboot.info
new file mode 100644
index 0000000..9c8e7ef
--- /dev/null
+++ b/enchantment/modules/reboot.info
@@ -0,0 +1 @@
+reboot into the new system
diff --git a/enchantment/modules/select-spells
b/enchantment/modules/select-spells
new file mode 100644
index 0000000..7dbf13e
--- /dev/null
+++ b/enchantment/modules/select-spells
@@ -0,0 +1,23 @@
+@[select-spells step]
+You may now select the spells you would like that are provided on the ISO.
+There are currently two ways that you can accomplish this. Both methods make
+use of /tmp/spells. It is crucial to install some spells (such as a
bootloader)
+or your system may not function, so some of these have been included as
+defaults in /tmp/spells. @[NOTE:] the ISO caches represent ALL spells
installed
+for the ISO runtime, and are selectable for install, regardless of whether
they
+are also included in system.tar.bz2 as well - gcc, glibc, bash, etc. are
+available both in system.tar.bz2 AND in the ISO's /var/cache/sorcery/
+directory. For a list of the spells in system.tar.bz2, see /tmp/rspells.
+
+text menu:
+@[ smgl-spells]
+
+manual:
+@[ $EDITOR /tmp/spells]
+
+You can of course use any editor you like, in case you haven't set $EDITOR.
+
+You can re-edit /tmp/spells any time during the install session and it will
+remember your changes each time. Likewise, you may re-run @[smgl-spells].
+
+When you are finished selecting your spells, type @[next].
diff --git a/enchantment/modules/select-spells.info
b/enchantment/modules/select-spells.info
new file mode 100644
index 0000000..abeb713
--- /dev/null
+++ b/enchantment/modules/select-spells.info
@@ -0,0 +1 @@
+choose the spells to install
diff --git a/enchantment/modules/user-setup b/enchantment/modules/user-setup
new file mode 100644
index 0000000..006ab3d
--- /dev/null
+++ b/enchantment/modules/user-setup
@@ -0,0 +1,17 @@
+@[user-setup step]
+To set up users, chroot into the target system as for the bootloader step:
+@[ smgl-chroot]
+
+Set a password for the root user (pick a secure one, but not one you'll
forget,
+and bear in mind that it can be bypassed with a screwdriver):
+@[ passwd root]
+
+@[Recommended]: add at least one regular user for daily use:
+@[ useradd -m -d /home/mbolton ]-g users@[ mbolton]
+@[ passwd mbolton]
+
+Replace mbolton with whatever login you want. Don't forget to change
+/home/mbolton accordingly. You may also change the group (-g users).
+
+Finally, exit the chroot to return to the installer:
+@[ exit]
diff --git a/enchantment/modules/user-setup.info
b/enchantment/modules/user-setup.info
new file mode 100644
index 0000000..cd1aea6
--- /dev/null
+++ b/enchantment/modules/user-setup.info
@@ -0,0 +1 @@
+set root password, create regular users
diff --git a/enchantment/modules/welcome/welcome
b/enchantment/modules/welcome/welcome
new file mode 100644
index 0000000..3c0d1ae
--- /dev/null
+++ b/enchantment/modules/welcome/welcome
@@ -0,0 +1,22 @@
+Welcome to the SMGL @ISO_VERSION@ install CD!
+
+The install process is currently a guided shell prompt. Type @[next] to
start.
+Everytime you finish a step, enter @[next] to advance to the next one.
+If you want to re-read the documentation for a step, type @[todo].
+You can enter @[prev] at any time to jump to the previous step.
+
+If you ever get lost, type @[steps] to get a list of installer steps,
+and e.g. @[jump copy-base] to jump to a specific step.
+Don't worry, there's no magic attached to the steps, you can jump between
+them as you please without breaking anything.
+
+If at any time you need help, type @[help].
+To see this message again, type @[welcome].
+
+If you need to set a different keymap, type @[539].
+
+If you have any feedback you'd like us to hear, please drop by
+#sourcemage-cauldron on irc.freenode.net, file a bug on bugs.sourcemage.org,
+or just send an email to the mailing lists or to iso AT sourcemage.org.
+
+Enter @[next] to begin the installation. Have fun!
diff --git a/enchantment/shell/bashrc b/enchantment/shell/bashrc
index 08f5f78..01d5742 100755
--- a/enchantment/shell/bashrc
+++ b/enchantment/shell/bashrc
@@ -1,59 +1,118 @@
#!/bin/bash
-
-# This file is the SMGL shell installer.
-# Take care not to pollute the user's namespace too much,
-# And make sure your functions don't collide with existing commands.
-
-. /etc/cauldron/enchant.config
-. /etc/cauldron/local/enchant.config
-. ${ISOPATH}/${ENCHANT_DATA}/libenchant
+#-------------------------------------------------------------------------------
+##
+##=head1 SYNOPSIS
+##
+## This file is the SMGL shell installer.
+## Take care not to pollute the user's namespace too much,
+## And make sure your functions don't collide with existing commands.
+##
+##=head1 COPYRIGHT
+##
+## Copyright 2009 by the Cauldron Team
+##
+##=head1 FUNCTIONS
+##
+##=over 4
+##
+#-------------------------------------------------------------------------------
+
+. "/etc/cauldron/enchant.config"
+. "/etc/cauldron/local/enchant.config" 2> /dev/null
+. "${ENCHANT_DATA}/libenchantment"
+
+if enchant_color
+then
+ . "${ENCHANT_BASE}/libcolor" ||
+ liberror_print_error $ERR_LIBCOLOR $LIBERR_STDERR
+fi

# Ensure installer sanity
enchant_prepare

-function header() {
- local doc
- doc=$1
+# print a standardized header
+# if given a filename for an argument, it will print the contents of the file
+# after the header
+function shell_header() {
echo ""
echo ""
echo ""
- cat $1
+
+ # if arg1 supplied, cat it
+ [[ -n $1 ]] && cat $1
}

-function todo() {
- local CURSTEP=$(enchant_getstep)
+# output the step instructions
+# use color if libcolor loaded, else just plain bold
+function shell_instructions() {
+ local file=$1
+ local hilight="${LIBCOLOR_MESSAGE_COLOR:-}"
+ local normal="${LIBCOLOR_NORMAL_COLOR:-}"

- header ${ENCHANT_MSGS}/steps/$CURSTEP
+ sed 's/@\[\([^]]*\)\]/'$hilight'\1'$normal'/g' "$file"
}

-function next_step() {
- enchant_getnext
+# display module names with short descriptions in columns
+function shell_modules() {
+ local list
+ local module
+ local col_width=0
+
+ # get the list of modules
+ list=( $(enchant_get_modules) )
+
+ # get the width of the widest column
+ for col in ${list[*]}
+ do
+ [[ ${#col} -gt $col_width ]] && col_width=${#col}
+ done
+
+ header
+ for module in ${list[*]}
+ do
+ # pad the output to align the columns
+ while [[ ${#module} -lt $col_width ]]
+ do
+ module="$module "
+ done
+
+ # output name and info in columns
+ echo "$module" | paste - "$ENCHANT_MODULES/${module}.info"
+ done
}

-function cur_step() {
- enchant_getstep
+function shell_set_ps() {
+ local hilight="${LIBCOLOR_MESSAGE_COLOR:-}"
+ local normal="${LIBCOLOR_NORMAL_COLOR:-}"
+
+ PS1=""
+ PS1="$PS1 ["
+ PS1="$PS1 current:\$(enchant_get_current)"
+ PS1="$PS1 next:\$(enchant_get_next)"
+ PS1="$PS1 \$(enchant_get_num)/\$(enchant_get_total)"
+ PS1="$PS1 ]"
+ PS1="$PS1 For a list of commands, type ${hilight}help${normal}\n\u \w\$ "
}

-function next() {
- enchant_setnext
- todo
-}
+function todo() {
+ local curstep="$1"
+ curstep="${curstep:-$(enchant_getstep)}"

-function prev() {
- enchant_setprev
- todo
-}
+ # output the header
+ header

-function num_current() {
- enchant_getnum
+ # output the current module's instructions
+ instructions "$ENCHANT_MODULES/$curstep"
}

-function num_steps() {
- enchant_gettotal
+function next() {
+ enchant_set_next
+ todo
}

-function steps() {
- header $ENCHANT_DATA/shell/steps
+function prev() {
+ enchant_set_prev
+ todo
}

function back() {
@@ -65,27 +124,56 @@ function forward() {
}

function jump() {
- enchant_setstep $*
- if [[ $? = $ERR_STEP ]]
+ local hilight="${LIBCOLOR_MESSAGE_COLOR:-}"
+ local normal="${LIBCOLOR_NORMAL_COLOR:-}"
+
+ if ! enchant_set_current $*
then
echo ""
- echo "Error: '$*' is not a recognized step."
- echo "Type steps to see a list of steps."
+ echo -n "'$*': error: "
+ liberror_print_error $?
+
+ if [[ $? = $ERR_STEP ]]
+ then
+ echo "Type ${hilight}steps${normal} to see a list of steps."
+ fi
fi
}

function welcome() {
- header ${ENCHANT_MSGS}/welcome
+ header
+ instructions "$ENCHANT_MODULES/welcome/welcome"
}

function help() {
- helpfile=${ENCHANT_MSGS}/help/${1:-index}
+ helpfile="$ENCHANT_MODULES/help/${1:-index}"
if [[ -e $helpfile ]] ;then
- header $helpfile
+ header
+ instructions $helpfile
else
echo "No installer help for '$1', falling back to bash's builtin help"
builtin help $1
fi
}

-PS1="[current:\$(cur_step) next:\$(next_step) \$(num_current)/\$(num_steps)]
For a list of commands, type help\n\u \w\$ "
+shell_set_ps
+
+#-------------------------------------------------------------------------------
+##
+## This software is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This software is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this software; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##
+#-------------------------------------------------------------------------------
+
+# vim:ai:tw=80:tabstop=2:softtabstop=2:shiftwidth=2:expandtab
diff --git a/enchantment/shell/modules b/enchantment/shell/modules
new file mode 100644
index 0000000..4620414
--- /dev/null
+++ b/enchantment/shell/modules
@@ -0,0 +1,17 @@
+init:disk-partition
+disk-partition:disk-format
+disk-format:disk-mount
+disk-mount:copy-base
+copy-base:edit-confs
+edit-confs:boot-loader
+boot-loader:grub
+boot-loader:lilo
+grub:opt-spells
+lilo:opt-spells
+boot-loader:opt-spells
+opt-spells:user-setup
+user-setup:reboot
+reboot:reboot
+error:init
+init:init
+init:error
diff --git a/enchantment/shell/order b/enchantment/shell/order
deleted file mode 100644
index 026e51d..0000000
--- a/enchantment/shell/order
+++ /dev/null
@@ -1,17 +0,0 @@
-init:disk-partition
-disk-partition:disk-format
-disk-format:disk-mount
-disk-mount:copy-base
-copy-base:edit-confs
-edit-confs:boot-loader
-boot-loader:grub
-boot-loader:lilo
-grub:install-opt-spells
-lilo:install-opt-spells
-boot-loader:install-opt-spells
-install-opt-spells:user-setup
-user-setup:reboot
-reboot:reboot
-error:init
-init:init
-init:error
diff --git a/enchantment/shell/steps b/enchantment/shell/steps
deleted file mode 100644
index c8f548d..0000000
--- a/enchantment/shell/steps
+++ /dev/null
@@ -1,12 +0,0 @@
-init - start of the install
-disk-partition - creating partitions
-disk-format - creating filesystems
-disk-mount - mounting filesystems at appropriate mount-points
-copy-base - copying basesystem and basic /etc files
-boot-loader - installing and setting up a boot manager
-lilo - do this step to set up lilo
-grub - do this step to set up grub
-edit-confs - editing the basic configuration files
-install-opt-spells - installing other spells you may need
-user-setup - set root password, create regular users
-reboot - reboot into the new system
diff --git a/lib/libcolor b/lib/libcolor
new file mode 100644
index 0000000..67fc44c
--- /dev/null
+++ b/lib/libcolor
@@ -0,0 +1,117 @@
+#!/bin/bash
+#-------------------------------------------------------------------------------
+##
+##=head1 SYNOPSIS
+##
+## libcolor defines various colors to be used and functions to manipulate
them
+##
+##=head1 COPYRIGHT
+##
+## Copyright 2010 by the Cauldron Team
+##
+##=head1 FUNCTIONS
+##
+##=over 4
+##
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# Message Color Definitions
+#-------------------------------------------------------------------------------
+LIBCOLOR_NORMAL="\e[0m"
+LIBCOLOR_BOLD="\e[1m"
+LIBCOLOR_BLACK="\e[30m"
+LIBCOLOR_RED="\e[31m"
+LIBCOLOR_GREEN="\e[32m"
+LIBCOLOR_YELLOW="\e[33m"
+LIBCOLOR_BLUE="\e[34m"
+LIBCOLOR_VIOLET="\e[35m"
+LIBCOLOR_CYAN="\e[36m"
+LIBCOLOR_WHITE="\e[37m"
+
+LIBCOLOR_NORMAL_COLOR="${LIBCOLOR_NORMAL}${LIBCOLOR_WHITE}"
+LIBCOLOR_MESSAGE_COLOR="${LIBCOLOR_NORMAL}${LIBCOLOR_CYAN}"
+LIBCOLOR_ERROR_COLOR="${LIBCOLOR_BOLD}${LIBCOLOR_RED}"
+LIBCOLOR_QUERY_COLOR="${LIBCOLOR_BOLD}${LIBCOLOR_YELLOW}"
+LIBCOLOR_FILE_COLOR="${LIBCOLOR_BOLD}${LIBCOLOR_GREEN}"
+LIBCOLOR_SYMLINK_COLOR="${LIBCOLOR_BOLD}${LIBCOLOR_CYAN}"
+
+#-------------------------------------------------------------------------------
+## @param message
+##
+## Prints the given message in "message" color.
+##
+#-------------------------------------------------------------------------------
+function libcolor_message() {
+ echo -n "$LIBCOLOR_MESSAGE_COLOR"
+ echo -n $1
+ echo -n "$LIBCOLOR_NORMAL_COLOR"
+}
+
+#-------------------------------------------------------------------------------
+## @param error message
+##
+## Prints the given error message in "error" color.
+##
+#-------------------------------------------------------------------------------
+function libcolor_error() {
+ echo -n "$LIBCOLOR_MESSAGE_COLOR"
+ echo -n $1
+ echo -n "$LIBCOLOR_NORMAL_COLOR"
+}
+
+#-------------------------------------------------------------------------------
+## @param query message
+##
+## Prints the given query message in "query" color.
+##
+#-------------------------------------------------------------------------------
+function libcolor_query() {
+ echo -n "$LIBCOLOR_MESSAGE_COLOR"
+ echo -n $1
+ echo -n "$LIBCOLOR_NORMAL_COLOR"
+}
+
+#-------------------------------------------------------------------------------
+## @param file name
+##
+## Prints the given file name in "file" color.
+##
+#-------------------------------------------------------------------------------
+function libcolor_file() {
+ echo -n "$LIBCOLOR_MESSAGE_COLOR"
+ echo -n $1
+ echo -n "$LIBCOLOR_NORMAL_COLOR"
+}
+
+#-------------------------------------------------------------------------------
+## @param symlink name
+##
+## Prints the given symlink name in "symlink" color.
+##
+#-------------------------------------------------------------------------------
+function libcolor_symlink() {
+ echo -n "$LIBCOLOR_MESSAGE_COLOR"
+ echo -n $1
+ echo -n "$LIBCOLOR_NORMAL_COLOR"
+}
+
+#-------------------------------------------------------------------------------
+##
+## This software is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This software is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this software; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##
+#-------------------------------------------------------------------------------
+
+# vim:ai:tw=80:tabstop=2:softtabstop=2:shiftwidth=2:expandtab
diff --git a/lib/liberror b/lib/liberror
index 1e28799..151159b 100755
--- a/lib/liberror
+++ b/lib/liberror
@@ -17,75 +17,95 @@

#-------------------------------------------------------------------------------


#-------------------------------------------------------------------------------
+# Output Stream Definitions
+#-------------------------------------------------------------------------------
+LIBERR_STDOUT=1
+LIBERR_STDERR=2
+
+#-------------------------------------------------------------------------------
+# ERROR definitions
+#-------------------------------------------------------------------------------
+# error codes
+ERR_OK=0 # everything is good
+ERR_FATAL=1 # fatal error (missing cauldron libs, etc.)
+
+# error messages
+ERR_MSGS=(
+ "operation succeeded" # ERR_OK
+ "fatal error" # ERR_FATAL
+ )
+
+#-------------------------------------------------------------------------------
# Function definitions

#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
-## @param error name (string)
+## @param error number
+## @param output stream (default is 1 [stdout], 2 for stderr)
+##
+## Prints the corresponding error message for the given error type (number,
+## defined as a variable in an errorcodes file, e.g. $ERR_FATAL) to the given
+## output stream (defaults to STDOUT) in the configured error message color.
##
-## Checks for an error condition (via $?), and if found it will return an
error
-## of the specified type (arg1) if given, or of the matching type if no arg
was
-## given.
+## If libcolor is sourced and the $LIBCOLOR_ variables are defined then the
+## error message will be output in color.
##

#-------------------------------------------------------------------------------
-function liberror_checkerror() {
- # store the return value to preserve it
- local rc="$?"
- local error="$1"
+function liberror_print_error() {
+ local error=$1
+ local errmsg="${ERR_MSGS[${error}]}"
+ local output=$2
+
+ # if no 2nd argument, use STDOUT as default
+ output=${output:=$LIBERR_STDOUT}
+
+ # exit if $errmsg not defined
+ [[ -z $errmsg ]] && return 1

- if [[ $rc -gt 0 ]]
+ if [[ ${error} -eq 0 ]]
then
- if [[ -z $error || $rc -ne ${!error} ]]
- then
- error="$(liberror_geterror $rc)"
- fi
+ # print an OK message
+ echo $(libcolor_message "$errmsg") >$output
else
- error="ERR_OK"
- fi
- [[ -z $error ]] && return 1
- echo $error
+ # print the error message
+ echo $(libcolor_error "$errmsg") >$output
+ fi || return 1
+
return 0
}


#-------------------------------------------------------------------------------
-## @param error (int)
+## @param error number
##
-## Finds a matching error type for the given error number. This is used to
get
-## an error name from a raw return code, for example.
+## Calls liberror_print_error with the error number passed as the first
+## argument, then exits with the same error number. If no error number was
+## passed in then the function returns with error rather than exiting.
##

#-------------------------------------------------------------------------------
-function liberror_geterror() {
- local error=$(set | grep "ERR_[A-Z]*=$1" | cut -d = -f 1)
+function liberror_die() {
+ local error=$1

- [[ -z $error ]] && return 1
- echo "$error"
- return 0
+ # exit if $errmsg not defined
+ [[ -z $errmsg ]] && return 1
+
+ # print the corresponding error message on STDERR
+ liberror_print_error $error $LIBERR_STDERR
+
+ # die is used for fatal errors, so exit to the parent process rather than
+ # returning to the caller
+ exit $error
}


#-------------------------------------------------------------------------------
-## @param error name (string)
##
-## Prints the corresponding error message for the given error type (string,
-## defined in this file, e.g. CERR_ARCHIVE) to STDOUT in the configured error
-## message color.
+## Calls liberror_die if current exit status (from a previous command) holds
an
+## error. If there's an error, the error is passed to liberror_die.
Otherwise,
+## it returns $ERR_OK.
##

#-------------------------------------------------------------------------------
-function liberror_printerror() {
- local error=$1
- local errmsg="${ERR_MSGS[${!error}]}"
+function liberror_check_fatal_error() {
+ [[ $? ]] && liberror_die $?

- # exit if $errmsg not defined
- [[ -z $errmsg ]] && return 1
-
- if [[ ${!error} -eq 0 ]]
- then
- # print a cauldron OK message
- echo "$MESSAGE_COLOR" "$errmsg" "$DEFAULT_COLOR"
- else
- # print a cauldron error message
- echo "$ERR_COLOR" "error: ${errmsg}!" "$DEFAULT_COLOR"
- fi || return 1
-
- return 0
+ return $ERR_OK
}


#-------------------------------------------------------------------------------
@@ -107,4 +127,3 @@ function liberror_printerror() {

#-------------------------------------------------------------------------------

# vim:ai:tw=80:tabstop=2:softtabstop=2:shiftwidth=2:expandtab
-
diff --git a/lib/liberrorcodes b/lib/liberrorcodes
deleted file mode 100644
index 5737fd3..0000000
--- a/lib/liberrorcodes
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/bin/bash
-#-------------------------------------------------------------------------------
-##
-##=head1 SYNOPSIS
-##
-## liberrorcodes provides a set of variables which define default error
codes.
-## Most likely, code that links to liberror should provide its own custom
-## definitions, but it is possible to load these first and then load custom
-## defines afterwards to overwrite the defaults (or simply add to them).
-##
-##=head1 COPYRIGHT
-##
-## Copyright 2009 by the Cauldron Team
-##
-##=head1 FUNCTIONS
-##
-##=over 4
-##
-#-------------------------------------------------------------------------------
-
-#-------------------------------------------------------------------------------
-# Local global variables
-#-------------------------------------------------------------------------------
-DEFAULT_COLOR="\e[0m"
-BOLD="\e[1m"
-BLACK="\e[30m"
-RED="\e[31m"
-GREEN="\e[32m"
-YELLOW="\e[33m"
-BLUE="\e[34m"
-VIOLET="\e[35m"
-CYAN="\e[36m"
-WHITE="\e[37m"
-
-ERR_COLOR="${RED}${BOLD}"
-
-SPELL_COLOR="${WHITE}${BOLD}\e[40m"
-VERSION_COLOR="${WHITE}${BOLD}\e[40m"
-QUERY_COLOR="${YELLOW}${BOLD}"
-DISPEL_COLOR="${YELLOW}${BOLD}"
-CHECK_COLOR="${CYAN}"
-RESURRECT_COLOR="${GREEN}${BOLD}"
-FILE_COLOR="${GREEN}${BOLD}"
-SYMLINK_COLOR="${CYAN}${BOLD}"
-PROBLEM_COLOR="${RED}${BOLD}"
-MESSAGE_COLOR="${CYAN}"
-
-#-------------------------------------------------------------------------------
-# ERROR definitions
-#-------------------------------------------------------------------------------
-# error codes
-ERR_OK=0 # everything is good
-ERR_FATAL=1 # fatal error (missing cauldron libs, etc.)
-
-# error messages
-ERR_MSGS=(
- "operation succeeded" # ERR_OK
- "fatal error" # ERR_FATAL
- )
-
-#-------------------------------------------------------------------------------
-##
-## This software is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
-##
-## This software is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this software; if not, write to the Free Software
-## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-##
-#-------------------------------------------------------------------------------
-
-# vim:ai:tw=80:tabstop=2:softtabstop=2:shiftwidth=2:expandtab
-



  • [SM-Commit] GIT changes to master cauldron by Justin Boffemmyer (5fa40aa85d075fb33339b2c03a28e5f4c88ed02d), Justin Boffemmyer, 02/26/2010

Archive powered by MHonArc 2.6.24.

Top of Page