lkml.org 
[lkml]   [2009]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] KERNEL: Conditionally include ramdisk-related code.

Given that BLK_DEV_INITRD defines whether the kernel has any ramdisk
functionality whatsoever, conditionally include ramdisk-related code
in init/main.c.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>

---

Not a big deal, but there seems to be some precedent in other files
in conditionally whacking out any chunks related to ramdisks if
BLK_DEV_INITRD has not been selected.

Compile tested on x86 with "defconfig", followed by deselecting
BLK_DEV_INITRD.

diff --git a/init/main.c b/init/main.c
index 2c5ade7..d88c7b4 100644
--- a/init/main.c
+++ b/init/main.c
@@ -119,7 +119,9 @@ char *saved_command_line;
static char *static_command_line;

static char *execute_command;
+#ifdef CONFIG_BLK_DEV_INITRD
static char *ramdisk_execute_command;
+#endif

#ifdef CONFIG_SMP
/* Setup configured maximum number of CPUs to activate */
@@ -330,6 +332,8 @@ static int __init init_setup(char *str)
}
__setup("init=", init_setup);

+#ifdef CONFIG_BLK_DEV_INITRD
+
static int __init rdinit_setup(char *str)
{
unsigned int i;
@@ -342,6 +346,9 @@ static int __init rdinit_setup(char *str)
}
__setup("rdinit=", rdinit_setup);

+
+#endif
+
#ifndef CONFIG_SMP

#ifdef CONFIG_X86_LOCAL_APIC
@@ -850,12 +857,16 @@ static noinline int init_post(void)

current->signal->flags |= SIGNAL_UNKILLABLE;

+#ifdef CONFIG_BLK_DEV_INITRD
+
if (ramdisk_execute_command) {
run_init_process(ramdisk_execute_command);
printk(KERN_WARNING "Failed to execute %s\n",
ramdisk_execute_command);
}

+#endif
+
/*
* We try each of these until one succeeds.
*
@@ -909,6 +920,8 @@ static int __init kernel_init(void * unused)

do_basic_setup();

+#ifdef CONFIG_BLK_DEV_INITRD
+
/*
* check if there is an early userspace init. If yes, let it do all
* the work
@@ -922,6 +935,8 @@ static int __init kernel_init(void * unused)
prepare_namespace();
}

+#endif
+
/*
* Ok, we have completed the initial bootup, and
* we're essentially up and running. Get rid of the
========================================================================
Robert P. J. Day Waterloo, Ontario, CANADA
Linux Consulting, Training and Annoying Kernel Pedantry.

Web page: http://crashcourse.ca
Twitter: http://twitter.com/rpjday
"Kernel Newbie Corner" column @ linux.com: http://cli.gs/WG6WYX
========================================================================

\
 
 \ /
  Last update: 2009-07-11 12:45    [W:0.022 / U:1.800 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site