diff options
author | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-11 15:12:04 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-11 15:12:04 -0500 |
commit | 8d610dd52dd1da696e199e4b4545f33a2a5de5c6 (patch) | |
tree | 8b2eee4dac34ff5f1374225ccba3fedb8432b579 /init/initramfs.c | |
parent | 8993780a6e44fb4e7ed34e33458506a775356c6e (diff) |
Make sure we populate the initroot filesystem late enough
We should not initialize rootfs before all the core initializers have
run. So do it as a separate stage just before starting the regular
driver initializers.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'init/initramfs.c')
-rw-r--r-- | init/initramfs.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/init/initramfs.c b/init/initramfs.c index 85f04037ade1..4fa0f7977de1 100644 --- a/init/initramfs.c +++ b/init/initramfs.c | |||
@@ -526,7 +526,7 @@ static void __init free_initrd(void) | |||
526 | 526 | ||
527 | #endif | 527 | #endif |
528 | 528 | ||
529 | void __init populate_rootfs(void) | 529 | static int __init populate_rootfs(void) |
530 | { | 530 | { |
531 | char *err = unpack_to_rootfs(__initramfs_start, | 531 | char *err = unpack_to_rootfs(__initramfs_start, |
532 | __initramfs_end - __initramfs_start, 0); | 532 | __initramfs_end - __initramfs_start, 0); |
@@ -544,7 +544,7 @@ void __init populate_rootfs(void) | |||
544 | unpack_to_rootfs((char *)initrd_start, | 544 | unpack_to_rootfs((char *)initrd_start, |
545 | initrd_end - initrd_start, 0); | 545 | initrd_end - initrd_start, 0); |
546 | free_initrd(); | 546 | free_initrd(); |
547 | return; | 547 | return 0; |
548 | } | 548 | } |
549 | printk("it isn't (%s); looks like an initrd\n", err); | 549 | printk("it isn't (%s); looks like an initrd\n", err); |
550 | fd = sys_open("/initrd.image", O_WRONLY|O_CREAT, 0700); | 550 | fd = sys_open("/initrd.image", O_WRONLY|O_CREAT, 0700); |
@@ -565,4 +565,6 @@ void __init populate_rootfs(void) | |||
565 | #endif | 565 | #endif |
566 | } | 566 | } |
567 | #endif | 567 | #endif |
568 | return 0; | ||
568 | } | 569 | } |
570 | rootfs_initcall(populate_rootfs); | ||