diff --git a/target/linux/s3c24xx/Makefile b/target/linux/s3c24xx/Makefile
index afcbc78564e..acd3b926cb8 100644
--- a/target/linux/s3c24xx/Makefile
+++ b/target/linux/s3c24xx/Makefile
@@ -1,5 +1,5 @@
 # 
-# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2006-2009 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -11,7 +11,7 @@ BOARD:=s3c24xx
 BOARDNAME:=s3c24xx
 FEATURES:=jffs2
 
-LINUX_VERSION:=2.6.26
+LINUX_VERSION:=2.6.28
 
 DEVICE_TYPE=phone
 
diff --git a/target/linux/s3c24xx/config-2.6.28 b/target/linux/s3c24xx/config-2.6.28
index 5a51d412c22..d1fe9101251 100644
--- a/target/linux/s3c24xx/config-2.6.28
+++ b/target/linux/s3c24xx/config-2.6.28
@@ -581,11 +581,11 @@ CONFIG_NET_IPIP=m
 CONFIG_NET_KEY_MIGRATE=y
 # CONFIG_NET_PKTGEN is not set
 CONFIG_NET_SCH_NETEM=m
-CONFIG_NFSD=y
-CONFIG_NFSD_V2_ACL=y
-CONFIG_NFSD_V3_ACL=y
+# CONFIG_NFSD is not set
+# CONFIG_NFSD_V2_ACL is not set
+# CONFIG_NFSD_V3_ACL is not set
 # CONFIG_NFSD_V4 is not set
-CONFIG_NFS_ACL_SUPPORT=y
+# CONFIG_NFS_ACL_SUPPORT is not set
 # CONFIG_NFS_FS is not set
 CONFIG_NF_CONNTRACK=y
 # CONFIG_NF_CONNTRACK_AMANDA is not set
@@ -648,7 +648,7 @@ CONFIG_PREEMPT=y
 CONFIG_PRINTK_TIME=y
 CONFIG_PROC_PAGE_MONITOR=y
 # CONFIG_PROVE_LOCKING is not set
-CONFIG_RCU_CPU_STALL_DETECTOR=y
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
 # CONFIG_RCU_TORTURE_TEST is not set
 CONFIG_REGULATOR=y
 CONFIG_REGULATOR_DEBUG=y
diff --git a/target/linux/s3c24xx/patches-2.6.28/0001-merge-openmoko.patch b/target/linux/s3c24xx/patches-2.6.28/001-merge-openmoko.patch
similarity index 100%
rename from target/linux/s3c24xx/patches-2.6.28/0001-merge-openmoko.patch
rename to target/linux/s3c24xx/patches-2.6.28/001-merge-openmoko.patch
diff --git a/target/linux/s3c24xx/patches-2.6.28/002-call-preinit-instead-of-init.patch b/target/linux/s3c24xx/patches-2.6.28/002-call-preinit-instead-of-init.patch
new file mode 100644
index 00000000000..19ecbf96c69
--- /dev/null
+++ b/target/linux/s3c24xx/patches-2.6.28/002-call-preinit-instead-of-init.patch
@@ -0,0 +1,12 @@
+Index: linux-2.6.28/init/main.c
+===================================================================
+--- linux-2.6.28.orig/init/main.c	2009-01-03 13:03:03.000000000 +0100
++++ linux-2.6.28/init/main.c	2009-01-03 13:03:14.000000000 +0100
+@@ -825,6 +825,7 @@ static int noinline init_post(void)
+ 		printk(KERN_WARNING "Failed to execute %s.  Attempting "
+ 					"defaults...\n", execute_command);
+ 	}
++	run_init_process("/etc/preinit");
+ 	run_init_process("/sbin/init");
+ 	run_init_process("/etc/init");
+ 	run_init_process("/bin/init");
diff --git a/target/linux/s3c24xx/patches-2.6.28/0002-disable-xt-chaos.patch b/target/linux/s3c24xx/patches-2.6.28/003-disable-xt-chaos.patch
similarity index 100%
rename from target/linux/s3c24xx/patches-2.6.28/0002-disable-xt-chaos.patch
rename to target/linux/s3c24xx/patches-2.6.28/003-disable-xt-chaos.patch