[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: "Could not stat resume device file"



Ken Heard <ken@heard.name> wrote on Saturday, September 20, 2008 4:14:59 PM
>> Ken Heard skrev:
>>> When I boot up any box with encryption activated for a partition in
>>> it, the following message is received at the beginning of the boot
>>> process, or soon thereafter:
>>>
>>>       Begin:       Running /scripts//local-premount ...
>>>       resume:  libgcrypt  Version 1.2.3
>>>       resume:  Could not stat the resume device file
[snip]
>This device file in fact does exist.  I am able as route to stat it
>successfully; consequently I cannot understand why the start-up process
>cannot stat it.

During boot, at first /dev does not exist and is created empty, then populated.
It appears something goes wrong here.

The following is taken from memory, from working with Fedora systems some
time ago. I now run Debian, so I may be mixing things up a bit.

Most systems load an "initrd", an initial ram disk, imediately after loading the kernel. 
This initial ram disk contains a script (iirc, "/linuxrc") which controls the actions until
the actual hard disks have been mounted. The file system that will become the root
file system is first mounted in a subdirectory of the ram disk. a second ram disk is created
and mounted as /dev, and populated with device files as devices are discovered.
Then the mount points are "rotated", the real root becomes "/", and the initrd becomes
a subdirectory. Then the 'init' program (/sbin/init in the real root) is started, and runs 
according to /etc/inittab in the real root. This file contains the command labeled
"sysinit". On my debian system the inittab line is 

  si::sysinit:/etc/init.d/rcS

but other distributions use other file names. The command, /etc/init.d/rcS in my case,
is responsible for continued setup. The <initrd>/dev mount point is moved onto the 
new root and at some point the initrd is unmounted and the ram reclaimed.

Let that be enough to tip you off. Find out what applies to your system. 
Unpack the initrd somewhere and look at the /linuxrc script. (The files /boot/initrd*
are cpio archives, and you may need to install cpio to unpack them.)
Be aware that on Fedora, linuxrc is not a bash script, but "nash", so watch
out for differences. Since you did not know the meaning of "stat", I fear
that you will find this journey quite long and ardous. However, unless somebody
shows up with specific knowledge about your encrypted file system solution,
I do not know anything better.

Regards


      


Reply to: