1 diff -ur linux-2.6.0-test1.orig/Documentation/kernel-parameters.txt linux-2.6.0-test1/Documentation/kernel-parameters.txt
2 --- linux-2.6.0-test1.orig/Documentation/kernel-parameters.txt 2003-07-14 05:39:36.000000000 +0200
3 +++ linux-2.6.0-test1/Documentation/kernel-parameters.txt 2003-08-01 01:19:46.000000000 +0200
6 resume= [SWSUSP] Specify the partition device for software suspension
8 + resume_initrd [SWSUSP] Run initrd before resuming from software suspension
11 Format: <io_board1>[,<io_board2>[,...<io_boardN>]]
13 diff -ur linux-2.6.0-test1.orig/init/do_mounts.c linux-2.6.0-test1/init/do_mounts.c
14 --- linux-2.6.0-test1.orig/init/do_mounts.c 2003-07-14 05:32:44.000000000 +0200
15 +++ linux-2.6.0-test1/init/do_mounts.c 2003-08-01 01:21:44.000000000 +0200
17 __setup("ro", readonly);
18 __setup("rw", readwrite);
20 +static int resume_initrd = 0;
21 +static int __init set_resume_initrd(char *str)
27 +__setup("resume_initrd", set_resume_initrd);
29 static dev_t __init try_name(char *name, int part)
34 is_floppy = MAJOR(ROOT_DEV) == FLOPPY_MAJOR;
36 - /* This has to be before mounting root, because even readonly mount of reiserfs would replay
37 - log corrupting stuff */
39 + /* software_resume() has to be before mounting root, because even
40 + readonly mount of reiserfs would replay log corrupting stuff.
41 + However, users may still want to run initrd first. */
42 + if (resume_initrd) {
43 + if (initrd_load()) {
57 if (is_floppy && rd_doload && rd_load_disk(0))