aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/block/Kconfig4
-rw-r--r--init/Kconfig4
-rw-r--r--init/Makefile7
-rw-r--r--init/noinitramfs.c52
-rw-r--r--usr/Makefile2
5 files changed, 66 insertions, 3 deletions
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index 58c1debf86f1..cacb1c816e35 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -417,8 +417,10 @@ config BLK_DEV_INITRD
417 etc. See <file:Documentation/initrd.txt> for details. 417 etc. See <file:Documentation/initrd.txt> for details.
418 418
419 If RAM disk support (BLK_DEV_RAM) is also included, this 419 If RAM disk support (BLK_DEV_RAM) is also included, this
420 also enables initial RAM disk (initrd) support. 420 also enables initial RAM disk (initrd) support and adds
421 15 Kbytes (more on some other architectures) to the kernel size.
421 422
423 If unsure say Y.
422 424
423config CDROM_PKTCDVD 425config CDROM_PKTCDVD
424 tristate "Packet writing on CD/DVD media" 426 tristate "Packet writing on CD/DVD media"
diff --git a/init/Kconfig b/init/Kconfig
index a3f83e2c8250..ab6942231045 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -280,8 +280,12 @@ config RELAY
280 280
281 If unsure, say N. 281 If unsure, say N.
282 282
283if BLK_DEV_INITRD
284
283source "usr/Kconfig" 285source "usr/Kconfig"
284 286
287endif
288
285config CC_OPTIMIZE_FOR_SIZE 289config CC_OPTIMIZE_FOR_SIZE
286 bool "Optimize for size (Look out for broken compilers!)" 290 bool "Optimize for size (Look out for broken compilers!)"
287 default y 291 default y
diff --git a/init/Makefile b/init/Makefile
index 633a268d270d..0154aea1e52d 100644
--- a/init/Makefile
+++ b/init/Makefile
@@ -2,7 +2,12 @@
2# Makefile for the linux kernel. 2# Makefile for the linux kernel.
3# 3#
4 4
5obj-y := main.o version.o mounts.o initramfs.o 5obj-y := main.o version.o mounts.o
6ifneq ($(CONFIG_BLK_DEV_INITRD),y)
7obj-y += noinitramfs.o
8else
9obj-$(CONFIG_BLK_DEV_INITRD) += initramfs.o
10endif
6obj-$(CONFIG_GENERIC_CALIBRATE_DELAY) += calibrate.o 11obj-$(CONFIG_GENERIC_CALIBRATE_DELAY) += calibrate.o
7 12
8mounts-y := do_mounts.o 13mounts-y := do_mounts.o
diff --git a/init/noinitramfs.c b/init/noinitramfs.c
new file mode 100644
index 000000000000..f4c1a3a1b8c5
--- /dev/null
+++ b/init/noinitramfs.c
@@ -0,0 +1,52 @@
1/*
2 * init/noinitramfs.c
3 *
4 * Copyright (C) 2006, NXP Semiconductors, All Rights Reserved
5 * Author: Jean-Paul Saman <jean-paul.saman@nxp.com>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; version 2 of the License.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */
20#include <linux/init.h>
21#include <linux/stat.h>
22#include <linux/kdev_t.h>
23#include <linux/syscalls.h>
24
25/*
26 * Create a simple rootfs that is similar to the default initramfs
27 */
28static int __init default_rootfs(void)
29{
30 int err;
31
32 err = sys_mkdir("/dev", 0755);
33 if (err < 0)
34 goto out;
35
36 err = sys_mknod((const char __user *) "/dev/console",
37 S_IFCHR | S_IRUSR | S_IWUSR,
38 new_encode_dev(MKDEV(5, 1)));
39 if (err < 0)
40 goto out;
41
42 err = sys_mkdir("/root", 0700);
43 if (err < 0)
44 goto out;
45
46 return 0;
47
48out:
49 printk(KERN_WARNING "Failed to create a rootfs\n");
50 return err;
51}
52rootfs_initcall(default_rootfs);
diff --git a/usr/Makefile b/usr/Makefile
index 382702ad663b..201f27f8cbaf 100644
--- a/usr/Makefile
+++ b/usr/Makefile
@@ -7,7 +7,7 @@ PHONY += klibcdirs
7 7
8 8
9# Generate builtin.o based on initramfs_data.o 9# Generate builtin.o based on initramfs_data.o
10obj-y := initramfs_data.o 10obj-$(CONFIG_BLK_DEV_INITRD) := initramfs_data.o
11 11
12# initramfs_data.o contains the initramfs_data.cpio.gz image. 12# initramfs_data.o contains the initramfs_data.cpio.gz image.
13# The image is included using .incbin, a dependency which is not 13# The image is included using .incbin, a dependency which is not