On Tue 2006-07-04 13:40:44, Rafael J. Wysocki wrote:
> On Tuesday 04 July 2006 05:25, Jason Lunz wrote:
> > On Mon, Jul 03, 2006 at 08:34:58PM +0200, Rafael J. Wysocki wrote:
> > > Great. I'd like to create a HOWTO patch describing this, but I have no
> > > experience with initramfs and/or yaird. Would you please describe
> > > shortly all steps needed to make it work?
> >
> > It's not bad. I really think that getting ususpend integrated into
> > standard initrd/initramfs setups will be more fruitful than the support
> > in the suspend-0.2 release for generating a custom initrd.
> >
> > In fact, I'd suggest you remove that in favor of a HOWTO like this. I
> > don't think it's very realistic to think that people will use a
> > ususpend-only initrd when every major linux distribution has mature and
> > flexible early-userspace implementations. otoh, maybe it's useful as an
> > example to distribution packagers.
> >
> > anyway:
> >
> > 1. Run a 2.6.17 or newer kernel compiled with CONFIG_SOFTWARE_SUSPEND,
> > debian unstable, and install yaird.
> >
> > 2. Use yaird to generate a working initramfs (if you're familiar with
> > initrd, initramfs is exactly the same from a user perspective, for
> > our purposes). On debian unstable, yaird is used to generate a new
> > initramfs automatically when a new kernel is installed if yaird is
> > installed and initramfs-tools isn't.
> >
> > A good way to test out yaird is "yaird -o /tmp/i -f directory". This
> > creates a directory in /tmp/i with the same contents as the initramfs
> > image it would otherwise generate without "-f directory". You can
> > inspect the image and read the /tmp/i/init script to check that
> > everything looks OK.
> >
> > If you're generating an initramfs for a kernel version other than the
> > one currently running, you need to give yaird the desired kernel
> > version as an argument, eg.
> > "yaird -o /boot/initrd.img-2.6.17 2.6.17".
> >
> > Once you have your initramfs, you'll need to configure your boot
> > loader to use it. The relevant part of my /boot/grub/menu.lst looks
> > like this:
> >
> > title Debian GNU/Linux, kernel 2.6.17.2
> > root (hd0,0)
> > kernel /vmlinuz-2.6.17.2 ro
> > initrd /initrd.img-2.6.17.2
> > boot
> >
> > where (hd0,0) is my /boot partition.
> >
> > 3. Install the ususpend userland tools. Get the latest release from
> > http://suspend.sourceforge.net/ and do "make && make install".
> >
> > 4. Edit the yaird config so it puts the "resume" program and
> > its config file, /etc/suspend.conf, into the initramfs. This patch
> > contains the necessary modification to the config file:
> >
> > diff -ur y/Templates.cfg /etc/yaird/Templates.cfg
> > --- y/Templates.cfg 2006-07-03 23:02:00.974998000 -0400
> > +++ /etc/yaird/Templates.cfg 2006-07-03 23:03:45.000000000 -0400
> > @@ -400,6 +400,8 @@
> > #
> > TEMPLATE resume
> > BEGIN
> > + FILE "/usr/local/sbin/resume"
> > + FILE "/etc/suspend.conf"
> > SCRIPT "/init"
> > BEGIN
> > !if [ -z "$noresume" ]
> > @@ -412,6 +414,9 @@
> > ! if [ -w /proc/software_suspend/do_resume ]; then
> > ! echo > /proc/software_suspend/do_resume
> > ! fi
> > + ! # for ususpend
> > + ! mkcdev /dev/snapshot misc/snapshot
> > + ! /usr/local/sbin/resume
> > ! # for swsusp
> > ! if [ -n "$resume" ]
> > ! then
> >
> > A previous version of this patch tested for the presence of the
> > 'resume' program before trying to run it, but this was pointless
> > since yaird will fail if it can't include a file given by a FILE
> > directive while generating the initramfs.
> >
> > In addition, it's necessary to tell yaird somehow which partition is
> > your suspend partition. There are two ways to do this. The default
> > yaird config calls the 'RESUME' template in /etc/yaird/Default.cfg
> > without any argument. With this setup, yaird finds the suspend
> > partition by looking for a swap partition in /etc/fstab with the
> > 'resume' option (the comments in Default.cfg explain this).
> >
> > The other way is to just give the RESUME in Default.cfg an explicit
> > argument naming the suspend swap partition. I think this makes a
> > little more sense, since it keeps more suspend-related information in
> > the same config file.
> >
> > 5. Make a backup of your old (presumably working) initramfs from step 1,
> > and generate a new one with ususpend support. For example:
> >
> > # mv /boot/initrd.img-2.6.17.2 /boot/initrd.img-2.6.17.2-old
> > # yaird -o /boot/initrd.img-2.6.17.2 2.6.17.2
> >
> > 6. Try to suspend and resume. If you're using Bernard Blackham's
> > hibernate scripts, the version currently in svn supports calling the
> > s2disk program to suspend. Maybe he'll do a release soon. You can
> > always do things by hand; I assume the reader at this point has some
> > familiarity with the tricks needed to successfully suspend/resume
> > using other methods.
> >
> > I think that's it. Have I left anything out?
>
> OK, thanks. :-)
>
> In the meantime we've got a HOWTO patch from Marten, so I think I'll add
> this one as a separate file. Pavel, what do you think?
I know _nothing_ about yaird, but I guess new HOWTO is okay. I'll now
commit Marten's patch.
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures)
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Suspend-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/suspend-devel