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
Suspend-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/suspend-devel

Reply via email to