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