diff options
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 64 | ||||
-rw-r--r-- | init/main.c | 15 |
2 files changed, 48 insertions, 31 deletions
diff --git a/init/Kconfig b/init/Kconfig index 95ac2657b0f4..455170e1c1e3 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -214,27 +214,6 @@ config TASK_IO_ACCOUNTING | |||
214 | 214 | ||
215 | Say N if unsure. | 215 | Say N if unsure. |
216 | 216 | ||
217 | config USER_NS | ||
218 | bool "User Namespaces (EXPERIMENTAL)" | ||
219 | default n | ||
220 | depends on EXPERIMENTAL | ||
221 | help | ||
222 | Support user namespaces. This allows containers, i.e. | ||
223 | vservers, to use user namespaces to provide different | ||
224 | user info for different servers. If unsure, say N. | ||
225 | |||
226 | config PID_NS | ||
227 | bool "PID Namespaces (EXPERIMENTAL)" | ||
228 | default n | ||
229 | depends on EXPERIMENTAL | ||
230 | help | ||
231 | Suport process id namespaces. This allows having multiple | ||
232 | process with the same pid as long as they are in different | ||
233 | pid namespaces. This is a building block of containers. | ||
234 | |||
235 | Unless you want to work with an experimental feature | ||
236 | say N here. | ||
237 | |||
238 | config AUDIT | 217 | config AUDIT |
239 | bool "Auditing support" | 218 | bool "Auditing support" |
240 | depends on NET | 219 | depends on NET |
@@ -420,6 +399,49 @@ config RELAY | |||
420 | 399 | ||
421 | If unsure, say N. | 400 | If unsure, say N. |
422 | 401 | ||
402 | config NAMESPACES | ||
403 | bool "Namespaces support" if EMBEDDED | ||
404 | default !EMBEDDED | ||
405 | help | ||
406 | Provides the way to make tasks work with different objects using | ||
407 | the same id. For example same IPC id may refer to different objects | ||
408 | or same user id or pid may refer to different tasks when used in | ||
409 | different namespaces. | ||
410 | |||
411 | config UTS_NS | ||
412 | bool "UTS namespace" | ||
413 | depends on NAMESPACES | ||
414 | help | ||
415 | In this namespace tasks see different info provided with the | ||
416 | uname() system call | ||
417 | |||
418 | config IPC_NS | ||
419 | bool "IPC namespace" | ||
420 | depends on NAMESPACES && SYSVIPC | ||
421 | help | ||
422 | In this namespace tasks work with IPC ids which correspond to | ||
423 | different IPC objects in different namespaces | ||
424 | |||
425 | config USER_NS | ||
426 | bool "User namespace (EXPERIMENTAL)" | ||
427 | depends on NAMESPACES && EXPERIMENTAL | ||
428 | help | ||
429 | This allows containers, i.e. vservers, to use user namespaces | ||
430 | to provide different user info for different servers. | ||
431 | If unsure, say N. | ||
432 | |||
433 | config PID_NS | ||
434 | bool "PID Namespaces (EXPERIMENTAL)" | ||
435 | default n | ||
436 | depends on NAMESPACES && EXPERIMENTAL | ||
437 | help | ||
438 | Suport process id namespaces. This allows having multiple | ||
439 | process with the same pid as long as they are in different | ||
440 | pid namespaces. This is a building block of containers. | ||
441 | |||
442 | Unless you want to work with an experimental feature | ||
443 | say N here. | ||
444 | |||
423 | config BLK_DEV_INITRD | 445 | config BLK_DEV_INITRD |
424 | bool "Initial RAM filesystem and RAM disk (initramfs/initrd) support" | 446 | bool "Initial RAM filesystem and RAM disk (initramfs/initrd) support" |
425 | depends on BROKEN || !FRV | 447 | depends on BROKEN || !FRV |
diff --git a/init/main.c b/init/main.c index 2a78932f6c07..c59859b85db0 100644 --- a/init/main.c +++ b/init/main.c | |||
@@ -238,22 +238,18 @@ EXPORT_SYMBOL(loops_per_jiffy); | |||
238 | 238 | ||
239 | static int __init debug_kernel(char *str) | 239 | static int __init debug_kernel(char *str) |
240 | { | 240 | { |
241 | if (*str) | ||
242 | return 0; | ||
243 | console_loglevel = 10; | 241 | console_loglevel = 10; |
244 | return 1; | 242 | return 0; |
245 | } | 243 | } |
246 | 244 | ||
247 | static int __init quiet_kernel(char *str) | 245 | static int __init quiet_kernel(char *str) |
248 | { | 246 | { |
249 | if (*str) | ||
250 | return 0; | ||
251 | console_loglevel = 4; | 247 | console_loglevel = 4; |
252 | return 1; | 248 | return 0; |
253 | } | 249 | } |
254 | 250 | ||
255 | __setup("debug", debug_kernel); | 251 | early_param("debug", debug_kernel); |
256 | __setup("quiet", quiet_kernel); | 252 | early_param("quiet", quiet_kernel); |
257 | 253 | ||
258 | static int __init loglevel(char *str) | 254 | static int __init loglevel(char *str) |
259 | { | 255 | { |
@@ -261,7 +257,7 @@ static int __init loglevel(char *str) | |||
261 | return 1; | 257 | return 1; |
262 | } | 258 | } |
263 | 259 | ||
264 | __setup("loglevel=", loglevel); | 260 | early_param("loglevel", loglevel); |
265 | 261 | ||
266 | /* | 262 | /* |
267 | * Unknown boot options get handed to init, unless they look like | 263 | * Unknown boot options get handed to init, unless they look like |
@@ -833,7 +829,6 @@ static int __init kernel_init(void * unused) | |||
833 | */ | 829 | */ |
834 | init_pid_ns.child_reaper = current; | 830 | init_pid_ns.child_reaper = current; |
835 | 831 | ||
836 | __set_special_pids(1, 1); | ||
837 | cad_pid = task_pid(current); | 832 | cad_pid = task_pid(current); |
838 | 833 | ||
839 | smp_prepare_cpus(setup_max_cpus); | 834 | smp_prepare_cpus(setup_max_cpus); |