diff options
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 2 | ||||
-rw-r--r-- | init/do_mounts.c | 13 |
2 files changed, 13 insertions, 2 deletions
diff --git a/init/Kconfig b/init/Kconfig index 4381006dd666..d2eb7a84a264 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -92,7 +92,7 @@ config LOCALVERSION_AUTO | |||
92 | 92 | ||
93 | config SWAP | 93 | config SWAP |
94 | bool "Support for paging of anonymous memory (swap)" | 94 | bool "Support for paging of anonymous memory (swap)" |
95 | depends on MMU | 95 | depends on MMU && BLOCK |
96 | default y | 96 | default y |
97 | help | 97 | help |
98 | This option allows you to choose whether you want to have support | 98 | This option allows you to choose whether you want to have support |
diff --git a/init/do_mounts.c b/init/do_mounts.c index b290aadb1d3f..dc1ec0803ef9 100644 --- a/init/do_mounts.c +++ b/init/do_mounts.c | |||
@@ -285,7 +285,11 @@ void __init mount_block_root(char *name, int flags) | |||
285 | { | 285 | { |
286 | char *fs_names = __getname(); | 286 | char *fs_names = __getname(); |
287 | char *p; | 287 | char *p; |
288 | #ifdef CONFIG_BLOCK | ||
288 | char b[BDEVNAME_SIZE]; | 289 | char b[BDEVNAME_SIZE]; |
290 | #else | ||
291 | const char *b = name; | ||
292 | #endif | ||
289 | 293 | ||
290 | get_fs_names(fs_names); | 294 | get_fs_names(fs_names); |
291 | retry: | 295 | retry: |
@@ -304,7 +308,9 @@ retry: | |||
304 | * Allow the user to distinguish between failed sys_open | 308 | * Allow the user to distinguish between failed sys_open |
305 | * and bad superblock on root device. | 309 | * and bad superblock on root device. |
306 | */ | 310 | */ |
311 | #ifdef CONFIG_BLOCK | ||
307 | __bdevname(ROOT_DEV, b); | 312 | __bdevname(ROOT_DEV, b); |
313 | #endif | ||
308 | printk("VFS: Cannot open root device \"%s\" or %s\n", | 314 | printk("VFS: Cannot open root device \"%s\" or %s\n", |
309 | root_device_name, b); | 315 | root_device_name, b); |
310 | printk("Please append a correct \"root=\" boot option\n"); | 316 | printk("Please append a correct \"root=\" boot option\n"); |
@@ -316,7 +322,10 @@ retry: | |||
316 | for (p = fs_names; *p; p += strlen(p)+1) | 322 | for (p = fs_names; *p; p += strlen(p)+1) |
317 | printk(" %s", p); | 323 | printk(" %s", p); |
318 | printk("\n"); | 324 | printk("\n"); |
319 | panic("VFS: Unable to mount root fs on %s", __bdevname(ROOT_DEV, b)); | 325 | #ifdef CONFIG_BLOCK |
326 | __bdevname(ROOT_DEV, b); | ||
327 | #endif | ||
328 | panic("VFS: Unable to mount root fs on %s", b); | ||
320 | out: | 329 | out: |
321 | putname(fs_names); | 330 | putname(fs_names); |
322 | } | 331 | } |
@@ -387,8 +396,10 @@ void __init mount_root(void) | |||
387 | change_floppy("root floppy"); | 396 | change_floppy("root floppy"); |
388 | } | 397 | } |
389 | #endif | 398 | #endif |
399 | #ifdef CONFIG_BLOCK | ||
390 | create_dev("/dev/root", ROOT_DEV); | 400 | create_dev("/dev/root", ROOT_DEV); |
391 | mount_block_root("/dev/root", root_mountflags); | 401 | mount_block_root("/dev/root", root_mountflags); |
402 | #endif | ||
392 | } | 403 | } |
393 | 404 | ||
394 | /* | 405 | /* |