summaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
Diffstat (limited to 'target')
-rw-r--r--target/Makefile9
-rw-r--r--target/arm/Makefile5
-rw-r--r--target/config/Config.in11
-rw-r--r--target/config/Config.in.runtime76
-rw-r--r--target/cris/Makefile7
-rw-r--r--target/linux/config/Config.in.block4
-rw-r--r--target/linux/config/Config.in.fs3
-rw-r--r--target/linux/config/Config.in.input7
-rw-r--r--target/linux/config/Config.in.leds28
-rw-r--r--target/linux/config/Config.in.netdevice9
-rw-r--r--target/linux/config/Config.in.network8
-rw-r--r--target/linux/patches/2.6.36/aufs2.patch33532
-rw-r--r--target/linux/patches/2.6.36/brcm.patch87
-rw-r--r--target/linux/patches/2.6.36/yaffs2.patch103
-rw-r--r--target/linux/patches/2.6.37/ar7.patch90
-rw-r--r--target/linux/patches/2.6.37/ar71xx.patch18667
-rw-r--r--target/linux/patches/2.6.37/aufs2.patch28523
-rw-r--r--target/linux/patches/2.6.37/brcm.patch169
-rw-r--r--target/linux/patches/2.6.37/bsd-compatibility.patch2512
-rw-r--r--target/linux/patches/2.6.37/cc-abstract.patch14
-rw-r--r--target/linux/patches/2.6.37/cris.patch5736
-rw-r--r--target/linux/patches/2.6.37/cygwin-compat.patch14
-rw-r--r--target/linux/patches/2.6.37/drm-kconfig.patch36
-rw-r--r--target/linux/patches/2.6.37/exmap.patch11
-rw-r--r--target/linux/patches/2.6.37/foxg20.patch522
-rw-r--r--target/linux/patches/2.6.37/freebsd-compat.patch11
-rw-r--r--target/linux/patches/2.6.37/gemalto.patch11
-rw-r--r--target/linux/patches/2.6.37/lemote.patch4271
-rw-r--r--target/linux/patches/2.6.37/mtd-root.patch64
-rw-r--r--target/linux/patches/2.6.37/ocf-20100325.patch87545
-rw-r--r--target/linux/patches/2.6.37/rb532.patch18
-rw-r--r--target/linux/patches/2.6.37/startup.patch20
-rw-r--r--target/linux/patches/2.6.37/uuid.patch261
-rw-r--r--target/linux/patches/2.6.37/yaffs2.patch16912
-rw-r--r--target/mips/kernel.config18
-rw-r--r--target/mips/patches/io_map_base.patch52
-rw-r--r--target/mips64/Makefile9
-rw-r--r--target/mips64/kernel.config548
-rw-r--r--target/mips64/patches/io_map_base.patch52
-rw-r--r--target/mips64/sys-available/qemu-mips6414
-rw-r--r--target/mips64/sys-available/toolchain-mips641
-rw-r--r--target/mips64el/Makefile2
-rw-r--r--target/mips64el/kernel.config611
-rw-r--r--target/mips64el/sys-available/lemote-yeelong1
-rw-r--r--target/mips64el/sys-available/qemu-mips64el14
-rw-r--r--target/mips64el/sys-available/toolchain-mips64el1
-rw-r--r--target/mipsel/Makefile29
-rw-r--r--target/mipsel/kernel.config5
-rw-r--r--target/mipsel/sys-available/linksys-wrt54g1
-rw-r--r--target/tools/squashfs/Makefile4
-rw-r--r--target/tools/squashfs/patches/honour-cflags.patch11
-rw-r--r--target/tools/squashfs/patches/squashfs-bsd.patch173
52 files changed, 199765 insertions, 1077 deletions
diff --git a/target/Makefile b/target/Makefile
index 719817473..91d5b2bc1 100644
--- a/target/Makefile
+++ b/target/Makefile
@@ -32,6 +32,7 @@ all: install
# only if it does (so the timestamp stays intact)
# 8) remove the temporary .kernelconfig.tmp
###
+ifeq (${ADK_TARGET_KERNEL_CUSTOMISING},y)
config-prepare: $(TOPDIR)/.config
@sed -n '/^ADK_KPACKAGE_KMOD/s//CONFIG/p' ${TOPDIR}/.config | \
sed 's/=y/=m/' >${BUILD_DIR}/.kernelconfig.modules
@@ -39,8 +40,6 @@ config-prepare: $(TOPDIR)/.config
sed 's/=y/=m/' >>${BUILD_DIR}/.kernelconfig.modules
@sed -n '/^ADK_KERNEL/s//CONFIG/p' ${TOPDIR}/.config \
>${BUILD_DIR}/.kernelconfig.kernel
- @sed -n '/^ADK_MOD_KERNEL/s//CONFIG/p' ${TOPDIR}/.config | \
- sed 's/=y/=m/' >${BUILD_DIR}/.kernelconfig.modkernel
@sed -n '/^# ADK_KERNEL/s//# CONFIG/p' ${TOPDIR}/.config \
>${BUILD_DIR}/.kernelconfig.nokernel
ifeq ($(ADK_NATIVE),y)
@@ -71,11 +70,15 @@ ifeq ($(ADK_KERNEL_DEBUG_WITH_KGDB),y)
${BUILD_DIR}/.kernelconfig.board
endif
@cd ${BUILD_DIR} && cat .kernelconfig.board .kernelconfig.nokernel \
- .kernelconfig.kernel .kernelconfig.modkernel .kernelconfig.modules \
+ .kernelconfig.kernel .kernelconfig.modules \
>.kernelconfig.tmp
@cd ${BUILD_DIR} && cmp -s .kernelconfig.tmp .kernelconfig || \
cp .kernelconfig.tmp .kernelconfig
@-rm -f ${BUILD_DIR}/.kernelconfig.tmp
+else
+config-prepare: $(TOPDIR)/.config
+ @cp ${ADK_TARGET_ARCH}/kernel.config ${BUILD_DIR}/.kernelconfig
+endif
prepare: $(ADK_TARGET_ARCH)-prepare
compile: $(ADK_TARGET_ARCH)-compile
diff --git a/target/arm/Makefile b/target/arm/Makefile
index c2885e917..141d2c279 100644
--- a/target/arm/Makefile
+++ b/target/arm/Makefile
@@ -10,10 +10,7 @@ include $(TOPDIR)/mk/image.mk
KERNEL:=$(LINUX_DIR)/kernel-adk
LOADADDR:=0x20008000
-$(TOOLS_BUILD_DIR):
- @mkdir -p $(TOOLS_BUILD_DIR)
-
-tools-compile: $(TOOLS_BUILD_DIR)
+tools-compile:
$(MAKE) -C ../tools/uboot-mkimage
kernel-install: tools-compile
diff --git a/target/config/Config.in b/target/config/Config.in
index 47fde82ce..5e9f42073 100644
--- a/target/config/Config.in
+++ b/target/config/Config.in
@@ -89,6 +89,17 @@ config ADK_HARDWARE_QEMU
config ADK_NATIVE
boolean
+# the inverse of ADK_TARGET_KERNEL_CUSTOMISING,
+# allows for selecting it off (i.e., to disable it)
+config ADK_TARGET_FIXED_KERNEL
+ bool
+ default n
+
+config ADK_TARGET_KERNEL_CUSTOMISING
+ bool
+ default y
+ depends on !ADK_TARGET_FIXED_KERNEL
+
# cpu features
config ADK_TARGET_CPU_WITH_VT
boolean
diff --git a/target/config/Config.in.runtime b/target/config/Config.in.runtime
index aa9cfda6d..88bfee272 100644
--- a/target/config/Config.in.runtime
+++ b/target/config/Config.in.runtime
@@ -49,7 +49,7 @@ config ADK_RUNTIME_CONSOLE_SERIAL
Start getty on serial console. (ttyS0)
config ADK_RUNTIME_CONSOLE_BOTH
- bool "console output on console and serial"
+ bool "console output on VGA and serial"
help
Start getty on VGA console and serial device.
@@ -66,3 +66,77 @@ config ADK_RUNTIME_KBD_LAYOUT
depends on ADK_TARGET_WITH_INPUT
help
Predefine the keyboard layout for the embedded system.
+
+choice
+prompt "Initial login shell for the root user"
+default ADK_ROOTSH_ASH
+
+config ADK_ROOTSH_ASH
+ select BUSYBOX_ASH
+ bool "ash (busybox)"
+ help
+ Use the minimalistic ash variant that is part of busybox
+ as standard login shell for the superuser. This is the
+ default, but discouraged due to its frugality.
+
+config ADK_ROOTSH_BASH
+ select ADK_PACKAGE_BASH
+ bool "bash (GNU Bourne-Again Shell)"
+ help
+ Use GNU bash as standard login shell for the superuser.
+
+config ADK_ROOTSH_MKSH
+ select ADK_PACKAGE_MKSH
+ bool "mksh (MirBSD Korn Shell)"
+ help
+ Use mksh (a Korn Shell variant) as standard login shell
+ for the superuser.
+
+config ADK_ROOTSH_TCSH
+ select ADK_PACKAGE_TCSH
+ bool "tcsh (Tenex C Shell)"
+ help
+ Use tcsh (a C Shell variant) as standard login shell
+ for the superuser.
+
+config ADK_ROOTSH_ZSH
+ select ADK_PACKAGE_ZSH
+ bool "zsh (The Z Shell)"
+ help
+ Use zsh as standard login shell for the superuser.
+
+endchoice
+
+choice
+prompt "System /bin/sh (POSIX script shell)"
+default ADK_BINSH_ASH
+
+config ADK_BINSH_ASH
+ select BUSYBOX_ASH
+ bool "ash (busybox)"
+ help
+ Use the minimalistic ash variant that is part of busybox
+ as system shell. This is the default and rather small and
+ fast, but lacks scripting features.
+
+config ADK_BINSH_BASH
+ select ADK_PACKAGE_BASH
+ bool "bash (GNU Bourne-Again Shell)"
+ help
+ Use GNU bash as system shell. This is discouraged due to
+ its size and slowness.
+
+config ADK_BINSH_MKSH
+ select ADK_PACKAGE_MKSH
+ bool "mksh (MirBSD Korn Shell)"
+ help
+ Use mksh (a Korn Shell variant) as system shell, which is
+ both small and powerful, so quite suited for this task.
+
+config ADK_BINSH_ZSH
+ select ADK_PACKAGE_ZSH
+ bool "zsh (The Z Shell)"
+ help
+ Use zsh as system shell. This is probably a bad idea.
+
+endchoice
diff --git a/target/cris/Makefile b/target/cris/Makefile
index 1e072f78e..a0654575d 100644
--- a/target/cris/Makefile
+++ b/target/cris/Makefile
@@ -9,10 +9,7 @@ include $(TOPDIR)/mk/image.mk
KERNEL:=$(LINUX_DIR)/arch/cris/boot/zImage
-$(TOOLS_BUILD_DIR):
- @mkdir -p $(TOOLS_BUILD_DIR)
-
-tools-compile: $(TOOLS_BUILD_DIR)
+tools-compile:
$(MAKE) -C ../tools/mkfimage
ifneq ($(ADK_HOST_DARWIN),y)
$(MAKE) -C ../tools/e100boot prepare compile install
@@ -24,7 +21,7 @@ kernel-install: tools-compile
PATH='${TARGET_PATH}' mkfimage $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
ifeq ($(ADK_TARGET_FS),squashfs)
-imageinstall: kernel-install $(BIN_DIR)/$(ROOTFSSQUASHFS)
+imageinstall: kernel-install $(BUILD_DIR)/$(ROOTFSSQUASHFS)
dd if=${BUILD_DIR}/${ROOTFSSQUASHFS} of=${BIN_DIR}/${ROOTFSSQUASHFS} \
bs=4063232 conv=sync $(MAKE_TRACE)
@if [ $$(stat --format=%s ${BIN_DIR}/${ROOTFSSQUASHFS}) -gt 4063232 ];then \
diff --git a/target/linux/config/Config.in.block b/target/linux/config/Config.in.block
index 59fad2d4a..1019477c1 100644
--- a/target/linux/config/Config.in.block
+++ b/target/linux/config/Config.in.block
@@ -120,6 +120,8 @@ config ADK_KERNEL_ATA_PIIX
select ADK_KERNEL_ATA_BMDMA
select ADK_KERNEL_BLK_DEV
select ADK_KERNEL_BLK_DEV_SD
+ default y if ADK_TARGET_SYSTEM_QEMU_MIPS64
+ default y if ADK_TARGET_SYSTEM_QEMU_MIPS64EL
default y if ADK_TARGET_SYSTEM_QEMU_MIPS
default y if ADK_TARGET_SYSTEM_QEMU_MIPSEL
default y if ADK_TARGET_SYSTEM_QEMU_X86
@@ -153,6 +155,8 @@ config ADK_KPACKAGE_KMOD_SATA_AHCI
config ADK_KPACKAGE_KMOD_BLK_DEV_LOOP
prompt "kmod-blk-dev-loop................. Loop mount support"
tristate
+ select ADK_KERNEL_BLOCK
+ select ADK_KERNEL_BLK_DEV
default n
help
Saying Y here will allow you to use a regular file as a block
diff --git a/target/linux/config/Config.in.fs b/target/linux/config/Config.in.fs
index 852d46c6a..f6da0d980 100644
--- a/target/linux/config/Config.in.fs
+++ b/target/linux/config/Config.in.fs
@@ -40,6 +40,7 @@ config ADK_KPACKAGE_KMOD_EXPORTFS
help
config ADK_KERNEL_SQUASHFS
+ prompt ".................................. SquashFS filesystem"
boolean
select ADK_KERNEL_MISC_FILESYSTEMS
default n
@@ -150,7 +151,7 @@ config ADK_KPACKAGE_KMOD_NTFS_FS
Kernel modules for NTFS support
config ADK_KPACKAGE_KMOD_VFAT_FS
- prompt "kmod-vfat-fs....................... VFAT filesystem support"
+ prompt "kmod-vfat-fs...................... VFAT filesystem support"
tristate
select ADK_KPACKAGE_KMOD_NLS if !ADK_KERNEL_NLS
select ADK_KPACKAGE_KMOD_NLS_CODEPAGE_850
diff --git a/target/linux/config/Config.in.input b/target/linux/config/Config.in.input
index 2241c0ed7..754cf7340 100644
--- a/target/linux/config/Config.in.input
+++ b/target/linux/config/Config.in.input
@@ -22,6 +22,13 @@ config ADK_KERNEL_KEYBOARD_ATKBD
default y if ADK_TARGET_SYSTEM_SHUTTLE_SA76G2
default n
+config ADK_KERNEL_INPUT_MOUSE
+ boolean
+ default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
+ default y if ADK_TARGET_SYSTEM_IBM_X40
+ default y if ADK_TARGET_SYSTEM_SHUTTLE_SA76G2
+ default n
+
config ADK_KERNEL_INPUT_MOUSEDEV
boolean
default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
diff --git a/target/linux/config/Config.in.leds b/target/linux/config/Config.in.leds
index 54cda3ceb..88acae81e 100644
--- a/target/linux/config/Config.in.leds
+++ b/target/linux/config/Config.in.leds
@@ -1,6 +1,10 @@
config ADK_KERNEL_NEW_LEDS
boolean
+config ADK_KERNEL_LEDS_CLASS
+ boolean
+ select ADK_KERNEL_NEW_LEDS
+
config ADK_KERNEL_LEDS_TRIGGERS
boolean
select ADK_KERNEL_NEW_LEDS
@@ -8,17 +12,27 @@ config ADK_KERNEL_LEDS_TRIGGERS
menu "LEDS driver support"
depends on ADK_TARGET_WITH_LEDS
-config ADK_KPACKAGE_KMOD_LEDS_CLASS
- prompt "LED Class support"
+config ADK_KPACKAGE_KMOD_LEDS_MIKROTIK_RB532
+ prompt "LED suppport for RB532"
tristate
- select ADK_KERNEL_NEW_LEDS
+ select ADK_KERNEL_LEDS_CLASS
+ depends on ADK_TARGET_SYSTEM_MIKROTIK_RB532
+ default y if ADK_TARGET_SYSTEM_MIKROTIK_RB532
+ default n
+
+config ADK_KPACKAGE_KMOD_LEDS_WRAP
+ prompt "LED suppport for WRAP"
+ tristate
+ select ADK_KERNEL_LEDS_CLASS
+ depends on ADK_TARGET_SYSTEM_PCENGINES_WRAP
+ default y if ADK_TARGET_SYSTEM_PCENGINES_WRAP
default n
- help
config ADK_KPACKAGE_KMOD_LEDS_ALIX2
prompt "LED suppport for ALIX2/ALIX3"
tristate
- select ADK_KPACKAGE_KMOD_LEDS_CLASS
+ select ADK_KERNEL_LEDS_CLASS
+ depends on ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2 || ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2
default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
default n
@@ -27,24 +41,28 @@ config ADK_KPACKAGE_KMOD_LEDS_TRIGGER_TIMER
prompt "LED Timer trigger"
tristate
select ADK_KERNEL_LEDS_TRIGGERS
+ select ADK_KERNEL_LEDS_CLASS
default n
config ADK_KPACKAGE_KMOD_LEDS_TRIGGER_HEARTBEAT
prompt "LED Heartbeat trigger"
tristate
select ADK_KERNEL_LEDS_TRIGGERS
+ select ADK_KERNEL_LEDS_CLASS
default n
config ADK_KPACKAGE_KMOD_LEDS_TRIGGER_DEFAULT_ON
prompt "LED Default On trigger"
tristate
select ADK_KERNEL_LEDS_TRIGGERS
+ select ADK_KERNEL_LEDS_CLASS
default n
config ADK_KPACKAGE_KMOD_NETFILTER_XT_TARGET_LED
prompt "LED IPTables trigger"
tristate
select ADK_KERNEL_LEDS_TRIGGERS
+ select ADK_KERNEL_LEDS_CLASS
select ADK_PACKAGE_IPTABLES
default n
diff --git a/target/linux/config/Config.in.netdevice b/target/linux/config/Config.in.netdevice
index 40573a78f..ef12cbe0c 100644
--- a/target/linux/config/Config.in.netdevice
+++ b/target/linux/config/Config.in.netdevice
@@ -240,10 +240,10 @@ config ADK_KERNEL_RT2X00
select ADK_KPACKAGE_KMOD_FW_LOADER
select ADK_KPACKAGE_KMOD_EEPROM_93CX6
-config ADK_MOD_KERNEL_CFG80211
+config ADK_KERNEL_MOD_CFG80211
tristate
-config ADK_MOD_KERNEL_LIB80211
+config ADK_KERNEL_MOD_LIB80211
tristate
config ADK_KERNEL_CFG80211_WEXT
@@ -269,8 +269,8 @@ config ADK_KPACKAGE_KMOD_MAC80211
tristate
select ADK_KERNEL_WIRELESS
select ADK_KERNEL_WLAN_80211
- select ADK_MOD_KERNEL_CFG80211
- select ADK_MOD_KERNEL_LIB80211
+ select ADK_KERNEL_MOD_CFG80211
+ select ADK_KERNEL_MOD_LIB80211
select ADK_KPACKAGE_KMOD_CRYPTO_AES
select ADK_KPACKAGE_KMOD_CRYPTO_ECB
select ADK_KPACKAGE_KMOD_CRYPTO_ARC4
@@ -319,6 +319,7 @@ config ADK_KPACKAGE_KMOD_B43
tristate
select ADK_KPACKAGE_KMOD_FW_LOADER
depends on ADK_TARGET_WITH_SSB || ADK_TARGET_WITH_MINIPCI
+ default y if ADK_TARGET_SYSTEM_LINKSYS_WRT54G
default n
help
Driver for Broadcom B43xx wireless chips.
diff --git a/target/linux/config/Config.in.network b/target/linux/config/Config.in.network
index b7555bd12..1bbf681dc 100644
--- a/target/linux/config/Config.in.network
+++ b/target/linux/config/Config.in.network
@@ -24,6 +24,10 @@ config ADK_KERNEL_NET_IPGRE_BROADCAST
boolean
default n
+config ADK_KERNEL_NET_IPGRE_DEMUX
+ boolean
+ default n
+
config ADK_KERNEL_PPP_ASYNC
boolean
default n
@@ -134,11 +138,11 @@ config ADK_KPACKAGE_KMOD_NET_IPIP
mobile-IP facilities (allowing laptops to seamlessly move between
networks without changing their IP addresses).
-
config ADK_KPACKAGE_KMOD_NET_IPGRE
prompt "kmod-net-ipgre.................... GRE tunnels over IP"
tristate
- #depends on ADK_KPACKAGE_KMOD_NET_IPGRE_BROADCAST
+ select ADK_KERNEL_NET_IPGRE_BROADCAST
+ select ADK_KERNEL_NET_IPGRE_DEMUX
default n
help
Tunneling means encapsulating data of one protocol type within
diff --git a/target/linux/patches/2.6.36/aufs2.patch b/target/linux/patches/2.6.36/aufs2.patch
new file mode 100644
index 000000000..e9e5fc277
--- /dev/null
+++ b/target/linux/patches/2.6.36/aufs2.patch
@@ -0,0 +1,33532 @@
+diff -Nur linux-2.6.36.orig/fs/Kconfig linux-2.6.36/fs/Kconfig
+--- linux-2.6.36.orig/fs/Kconfig 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/fs/Kconfig 2011-01-10 19:52:38.000000000 +0100
+@@ -189,6 +189,7 @@
+ source "fs/sysv/Kconfig"
+ source "fs/ufs/Kconfig"
+ source "fs/exofs/Kconfig"
++source "fs/aufs/Kconfig"
+
+ endif # MISC_FILESYSTEMS
+
+diff -Nur linux-2.6.36.orig/fs/Makefile linux-2.6.36/fs/Makefile
+--- linux-2.6.36.orig/fs/Makefile 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/fs/Makefile 2011-01-10 19:52:38.000000000 +0100
+@@ -126,3 +126,4 @@
+ obj-$(CONFIG_GFS2_FS) += gfs2/
+ obj-$(CONFIG_EXOFS_FS) += exofs/
+ obj-$(CONFIG_CEPH_FS) += ceph/
++obj-$(CONFIG_AUFS_FS) += aufs/
+diff -Nur linux-2.6.36.orig/fs/aufs/Kconfig linux-2.6.36/fs/aufs/Kconfig
+--- linux-2.6.36.orig/fs/aufs/Kconfig 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.36/fs/aufs/Kconfig 2011-01-10 19:24:41.000000000 +0100
+@@ -0,0 +1,180 @@
++config AUFS_FS
++ tristate "Aufs (Advanced multi layered unification filesystem) support"
++ depends on EXPERIMENTAL
++ help
++ Aufs is a stackable unification filesystem such as Unionfs,
++ which unifies several directories and provides a merged single
++ directory.
++ In the early days, aufs was entirely re-designed and
++ re-implemented Unionfs Version 1.x series. Introducing many
++ original ideas, approaches and improvements, it becomes totally
++ different from Unionfs while keeping the basic features.
++
++if AUFS_FS
++choice
++ prompt "Maximum number of branches"
++ default AUFS_BRANCH_MAX_127
++ help
++ Specifies the maximum number of branches (or member directories)
++ in a single aufs. The larger value consumes more system
++ resources and has a minor impact to performance.
++config AUFS_BRANCH_MAX_127
++ bool "127"
++ help
++ Specifies the maximum number of branches (or member directories)
++ in a single aufs. The larger value consumes more system
++ resources and has a minor impact to performance.
++config AUFS_BRANCH_MAX_511
++ bool "511"
++ help
++ Specifies the maximum number of branches (or member directories)
++ in a single aufs. The larger value consumes more system
++ resources and has a minor impact to performance.
++config AUFS_BRANCH_MAX_1023
++ bool "1023"
++ help
++ Specifies the maximum number of branches (or member directories)
++ in a single aufs. The larger value consumes more system
++ resources and has a minor impact to performance.
++config AUFS_BRANCH_MAX_32767
++ bool "32767"
++ help
++ Specifies the maximum number of branches (or member directories)
++ in a single aufs. The larger value consumes more system
++ resources and has a minor impact to performance.
++endchoice
++
++config AUFS_SBILIST
++ bool
++ depends on AUFS_MAGIC_SYSRQ || PROC_FS
++ default y
++ help
++ Automatic configuration for internal use.
++ When aufs supports Magic SysRq or /proc, enabled automatically.
++
++config AUFS_HNOTIFY
++ bool "Detect direct branch access (bypassing aufs)"
++ help
++ If you want to modify files on branches directly, eg. bypassing aufs,
++ and want aufs to detect the changes of them fully, then enable this
++ option and use 'udba=notify' mount option.
++ Currently there is only one available configuration, "fsnotify".
++ It will have a negative impact to the performance.
++ See detail in aufs.5.
++
++choice
++ prompt "method" if AUFS_HNOTIFY
++ default AUFS_HFSNOTIFY
++config AUFS_HFSNOTIFY
++ bool "fsnotify"
++ select FSNOTIFY
++endchoice
++
++config AUFS_EXPORT
++ bool "NFS-exportable aufs"
++ depends on (AUFS_FS = y && EXPORTFS = y) || (AUFS_FS = m && EXPORTFS)
++ help
++ If you want to export your mounted aufs via NFS, then enable this
++ option. There are several requirements for this configuration.
++ See detail in aufs.5.
++
++config AUFS_INO_T_64
++ bool
++ depends on AUFS_EXPORT
++ depends on 64BIT && !(ALPHA || S390)
++ default y
++ help
++ Automatic configuration for internal use.
++ /* typedef unsigned long/int __kernel_ino_t */
++ /* alpha and s390x are int */
++
++config AUFS_RDU
++ bool "Readdir in userspace"
++ help
++ Aufs has two methods to provide a merged view for a directory,
++ by a user-space library and by kernel-space natively. The latter
++ is always enabled but sometimes large and slow.
++ If you enable this option, install the library in aufs2-util
++ package, and set some environment variables for your readdir(3),
++ then the work will be handled in user-space which generally
++ shows better performance in most cases.
++ See detail in aufs.5.
++
++config AUFS_SP_IATTR
++ bool "Respect the attributes (mtime/ctime mainly) of special files"
++ help
++ When you write something to a special file, some attributes of it
++ (mtime/ctime mainly) may be updated. Generally such updates are
++ less important (actually some device drivers and NFS ignore
++ it). But some applications (such like test program) requires
++ such updates. If you need these updates, then enable this
++ configuration which introduces some overhead.
++ Currently this configuration handles FIFO only.
++
++config AUFS_SHWH
++ bool "Show whiteouts"
++ help
++ If you want to make the whiteouts in aufs visible, then enable
++ this option and specify 'shwh' mount option. Although it may
++ sounds like philosophy or something, but in technically it
++ simply shows the name of whiteout with keeping its behaviour.
++
++config AUFS_BR_RAMFS
++ bool "Ramfs (initramfs/rootfs) as an aufs branch"
++ help
++ If you want to use ramfs as an aufs branch fs, then enable this
++ option. Generally tmpfs is recommended.
++ Aufs prohibited them to be a branch fs by default, because
++ initramfs becomes unusable after switch_root or something
++ generally. If you sets initramfs as an aufs branch and boot your
++ system by switch_root, you will meet a problem easily since the
++ files in initramfs may be inaccessible.
++ Unless you are going to use ramfs as an aufs branch fs without
++ switch_root or something, leave it N.
++
++config AUFS_BR_FUSE
++ bool "Fuse fs as an aufs branch"
++ depends on FUSE_FS
++ select AUFS_POLL
++ help
++ If you want to use fuse-based userspace filesystem as an aufs
++ branch fs, then enable this option.
++ It implements the internal poll(2) operation which is
++ implemented by fuse only (curretnly).
++
++config AUFS_POLL
++ bool
++ help
++ Automatic configuration for internal use.
++
++config AUFS_BR_HFSPLUS
++ bool "Hfsplus as an aufs branch"
++ depends on HFSPLUS_FS
++ default y
++ help
++ If you want to use hfsplus fs as an aufs branch fs, then enable
++ this option. This option introduces a small overhead at
++ copying-up a file on hfsplus.
++
++config AUFS_BDEV_LOOP
++ bool
++ depends on BLK_DEV_LOOP
++ default y
++ help
++ Automatic configuration for internal use.
++ Convert =[ym] into =y.
++
++config AUFS_DEBUG
++ bool "Debug aufs"
++ help
++ Enable this to compile aufs internal debug code.
++ It will have a negative impact to the performance.
++
++config AUFS_MAGIC_SYSRQ
++ bool
++ depends on AUFS_DEBUG && MAGIC_SYSRQ
++ default y
++ help
++ Automatic configuration for internal use.
++ When aufs supports Magic SysRq, enabled automatically.
++endif
+diff -Nur linux-2.6.36.orig/fs/aufs/Makefile linux-2.6.36/fs/aufs/Makefile
+--- linux-2.6.36.orig/fs/aufs/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.36/fs/aufs/Makefile 2011-01-10 19:24:41.000000000 +0100
+@@ -0,0 +1,38 @@
++
++include ${src}/magic.mk
++ifeq (${CONFIG_AUFS_FS},m)
++include ${src}/conf.mk
++endif
++-include ${src}/priv_def.mk
++
++# cf. include/linux/kernel.h
++# enable pr_debug
++ccflags-y += -DDEBUG
++# sparse doesn't allow spaces
++ccflags-y += -D'pr_fmt(fmt)=AUFS_NAME"\040%s:%d:%s[%d]:\040"fmt,__func__,__LINE__,current->comm,current->pid'
++
++obj-$(CONFIG_AUFS_FS) += aufs.o
++aufs-y := module.o sbinfo.o super.o branch.o xino.o sysaufs.o opts.o \
++ wkq.o vfsub.o dcsub.o \
++ cpup.o whout.o wbr_policy.o \
++ dinfo.o dentry.o \
++ dynop.o \
++ finfo.o file.o f_op.o \
++ dir.o vdir.o \
++ iinfo.o inode.o i_op.o i_op_add.o i_op_del.o i_op_ren.o \
++ ioctl.o
++
++# all are boolean
++aufs-$(CONFIG_PROC_FS) += procfs.o plink.o
++aufs-$(CONFIG_SYSFS) += sysfs.o
++aufs-$(CONFIG_DEBUG_FS) += dbgaufs.o
++aufs-$(CONFIG_AUFS_BDEV_LOOP) += loop.o
++aufs-$(CONFIG_AUFS_HNOTIFY) += hnotify.o
++aufs-$(CONFIG_AUFS_HFSNOTIFY) += hfsnotify.o
++aufs-$(CONFIG_AUFS_EXPORT) += export.o
++aufs-$(CONFIG_AUFS_POLL) += poll.o
++aufs-$(CONFIG_AUFS_RDU) += rdu.o
++aufs-$(CONFIG_AUFS_SP_IATTR) += f_op_sp.o
++aufs-$(CONFIG_AUFS_BR_HFSPLUS) += hfsplus.o
++aufs-$(CONFIG_AUFS_DEBUG) += debug.o
++aufs-$(CONFIG_AUFS_MAGIC_SYSRQ) += sysrq.o
+diff -Nur linux-2.6.36.orig/fs/aufs/aufs.h linux-2.6.36/fs/aufs/aufs.h
+--- linux-2.6.36.orig/fs/aufs/aufs.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.36/fs/aufs/aufs.h 2011-01-10 19:24:41.000000