From: Nigel Cunningham <ncunningham@clear.net.nz>
To: Pascal Brisset <pascal.brisset-ml@wanadoo.fr>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
swsusp-devel <swsusp-devel@lists.sourceforge.net>
Subject: Re: [PATCH] Allow initrd_load() before software_resume()
Date: Fri, 01 Aug 2003 13:18:12 +1200 [thread overview]
Message-ID: <1059700691.1750.1.camel@laptop-linux> (raw)
In-Reply-To: <20030801002742.1033FE8003AE@mwinf0502.wanadoo.fr>
Hi.
I'll try to apply it to the 2.4 version and include it in the upcoming
2.6 version. (Yes, upcoming means it's finally on the way).
Regards,
Nigel
On Fri, 2003-08-01 at 12:29, Pascal Brisset wrote:
> This patch adds a boot parameter "resume_initrd".
> If present, init will load the initrd before trying to resume.
>
> This makes it posssible to resume from an encrypted suspend image.
> The initrd should insmod cryptoloop.o or loop-AES.o and perform
> losetup -e so that resume=/dev/loopX makes sense.
> Note: software_resume() should not be allowed to complete if
> initrd has altered disks (e.g. by flushing journals).
>
> /initrd
> |-- bin
> | |-- ash
> | |-- insmod
> | `-- losetup
> |-- dev
> | |-- console
> | |-- hdaX
> | |-- loopX
> | |-- null
> | `-- tty
> |-- linuxrc
> |-- loop.o
> `-- lost+found
>
> Resuming works, but suspension seems to fail more frequently when
> the swap is encrypted. I am using loop-AES-v1.7d + patch for 2.6.
>
> Is it safe to suspend to loop devices ?
>
> -- Pascal
>
>
> ______________________________________________________________________
>
> diff -ur linux-2.6.0-test1.orig/Documentation/kernel-parameters.txt linux-2.6.0-test1/Documentation/kernel-parameters.txt
> --- linux-2.6.0-test1.orig/Documentation/kernel-parameters.txt 2003-07-14 05:39:36.000000000 +0200
> +++ linux-2.6.0-test1/Documentation/kernel-parameters.txt 2003-08-01 01:19:46.000000000 +0200
> @@ -816,6 +816,8 @@
>
> resume= [SWSUSP] Specify the partition device for software suspension
>
> + resume_initrd [SWSUSP] Run initrd before resuming from software suspension
> +
> riscom8= [HW,SERIAL]
> Format: <io_board1>[,<io_board2>[,...<io_boardN>]]
>
> diff -ur linux-2.6.0-test1.orig/init/do_mounts.c linux-2.6.0-test1/init/do_mounts.c
> --- linux-2.6.0-test1.orig/init/do_mounts.c 2003-07-14 05:32:44.000000000 +0200
> +++ linux-2.6.0-test1/init/do_mounts.c 2003-08-01 01:21:44.000000000 +0200
> @@ -49,6 +49,15 @@
> __setup("ro", readonly);
> __setup("rw", readwrite);
>
> +static int resume_initrd = 0;
> +static int __init set_resume_initrd(char *str)
> +{
> + resume_initrd = 1;
> + return 1;
> +}
> +
> +__setup("resume_initrd", set_resume_initrd);
> +
> static dev_t __init try_name(char *name, int part)
> {
> char path[64];
> @@ -365,12 +374,21 @@
>
> is_floppy = MAJOR(ROOT_DEV) == FLOPPY_MAJOR;
>
> - /* This has to be before mounting root, because even readonly mount of reiserfs would replay
> - log corrupting stuff */
> - software_resume();
> + /* software_resume() has to be before mounting root, because even
> + readonly mount of reiserfs would replay log corrupting stuff.
> + However, users may still want to run initrd first. */
> + if (resume_initrd) {
> + if (initrd_load()) {
> + software_resume();
> + goto out;
> + }
> + }
> + else {
> + software_resume();
>
> - if (initrd_load())
> - goto out;
> + if (initrd_load())
> + goto out;
> + }
>
> if (is_floppy && rd_doload && rd_load_disk(0))
> ROOT_DEV = Root_RAM0;
--
Nigel Cunningham
495 St Georges Road South, Hastings 4201, New Zealand
You see, at just the right time, when we were still powerless,
Christ died for the ungodly.
-- Romans 5:6, NIV.
next prev parent reply other threads:[~2003-08-01 1:15 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-08-01 0:29 [PATCH] Allow initrd_load() before software_resume() Pascal Brisset
2003-08-01 1:18 ` Nigel Cunningham [this message]
2003-08-01 10:32 ` [PATCH] Allow initrd_load() before software_resume() (version 2) Pascal Brisset
2003-08-01 10:41 ` [Swsusp-devel] " Nigel Cunningham
2003-08-06 11:30 ` Pavel Machek
2003-08-06 11:47 ` Arjan van de Ven
2003-08-06 12:57 ` Pavel Machek
2003-08-06 13:16 ` Måns Rullgård
2003-08-11 2:08 ` Rob Landley
2003-08-11 15:29 ` Pavel Machek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1059700691.1750.1.camel@laptop-linux \
--to=ncunningham@clear.net.nz \
--cc=linux-kernel@vger.kernel.org \
--cc=pascal.brisset-ml@wanadoo.fr \
--cc=swsusp-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.