LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Hibernation can't resume from dm-1 or mount dm-0; emerg. shell can't mount anything (https://www.linuxquestions.org/questions/slackware-14/hibernation-cant-resume-from-dm-1-or-mount-dm-0%3B-emerg-shell-cant-mount-anything-4175498084/)

Sansveni 03-13-2014 02:40 PM

Hibernation can't resume from dm-1 or mount dm-0; emerg. shell can't mount anything
 
Sorry about the title, I'm a bit confused about this - again, I'm still new to Slackware, and never dove into the depths of a kernel before, or even the Linux filesystem (which is why I switched to Slackware).

I made a new initial ramdisk using mkinitrd to include the hibernation location at /dev/vg_linux1/lv_swap (where my swap was). Lilo was pointed to the right image (I was under the impression that there is no need to append a resume location on Lilo because it can't resume from LVM)

I ran pm-hibernate. When I rebooted, everything ran fine, it loaded the hibernation image, and put me back where I was.

But, I tapped the off switch on my laptop (basically the off button equivalent), which I assumed would do the same thing. Does Slackware just use hibernation (suspending to disk) or does it also have a suspend to ram?

I hope I didn't just stupidly power off (as usually that requires six seconds to do a hard power off). Edit: come to think of it, it did pause before shutting off, which means it didn't just lose power.

When I rebooted, it:
  • loaded kernel modules from initrd image
  • activated the three logical volumes (-home, -root, _swap)
  • said "Trying to resume from /dev/dm-1"
  • "PM: Starting manual resume from disk"
  • "mount: mounting /dev/dm-0 on /mnt failed: No such device"
  • throws another error that no /sbin/init was found on rootdev (or not mounted) - I'm concluding it was 'cause it wasn't mounted
  • Tells me to fix it and gives me a shell :D [the :D was added by me]
(I'm partially paraphrasing because I don't know of a way of finding the log, under either /var/logs/messages or dmesg).

fdisk -l finds dm-0, dm-1, and dm-2. dm-0 is root, dm-1 is swap, and dm-2 is home. fdisk also tells me that none of them have a valid partition table...

At that shell, "mount /dev/vg*/*root newroot[after mkdir newroot]" gives "...failed: Invalid argument," adding the argument -t ext4, it says no such device. Saying /dev/dm-0 makes no difference.

I booted into a live USB (by the way, how are they normally made? They never seem to work if Slackware's DVD does it automatically, so I just write the USB image found in the DVD's iso to the flashdrive) and ran e2fsck on all 3 LVMs, and it said they were all fine (basically).

Exiting the shell has it print BusyBox and the usage of switch_root...the thing is, I couldn't mount the root lvm partition to a mountpoint anyway, and I wouldn't know what NEW_INIT init to give!

Sorry for the long post.


So, summary:
1. how do I fix this?
2. Does Slackware's install DVD just attempt to take the usb .img from the usb-and-pxe-installers or does it make it some other way?

Edit: by "live USB" I meant a bootable USB made from the usbboot.img found on the usb-and-pxe-installers directory of the 14.1 install ISO

slac-in-the-box 03-13-2014 05:14 PM

Hi Sansveni, and welcome to Slackware.

Which documentation are you following? And which version of slackware are you trying to install. Are you installing from the DVD, or from a USB. Slackware doesn't have a live USB, unless you make one yourself, but it does have a way to make usb installers. Do you have another computer with which you burned the DVD?

If you use ftp to go to a slackware mirror, like slackware.oregonstate.edu, and change to pub/slackware, you will see a directory for each slackware version. Inside each directory are the READMEs for that version. These, I have found, to be the best installation documentation. There is one called README_LVM.txt that will answer most of the questions for your setup. There is also a directory there called usb-and-pxe-installers, in which there is a script called usbimg2disk.sh which can be used to create a bootable thumbdrive with the slackware installer on it. But this isn't a live usb. It goes to the same installer that the install dvd goes to. I like using this method, because you can reuse the thumbdrives, and they don't get scratched like dvds.

When you press the power button, but don't hold it down, in slackware, you are telling it to shutdown... just as if you had typed "shutdown -h now" in terminal, and it will shutdown gracefully, as opposed to just immediately stopping.

There is also a sub-forum of this forum called slackware - installation which is the best place to post threads related to installation.

Cheers, and may the force be with you.

Sansveni 03-13-2014 06:16 PM

Hi, thanks for your reply. I'm having a lot of fun with Slackware. Now if only I can keep it working long enough! :P

Quote:

Which documentation are you following? And which version of slackware are you trying to install. Are you installing from the DVD, or from a USB. Slackware doesn't have a live USB, unless you make one yourself, but it does have a way to make usb installers. Do you have another computer with which you burned the DVD?
I installed Slackware 14.1 from the SlackDocs found at docs.slackware.com. I installed it from the DVD. The second question was just out of curiosity. I read README_LVM.txt - it was very helpful.

Sorry, I guess I jumped the gun in describing my situation! I'm past the installation stage, but broke the install so I used a bootable flashdrive that has usbboot.img on it to fix and debug. (When I had a problem installing LVM, I booted with the flashdrive, mounted the root LVM partition, chrooted to the partition, and made an initrd (what was hanging me up was I wasn't mounting proc to the new root so mkinitrd build a proper imagej!) changed lilo.conf, and ran LILO etc...but that's beside the point).

Quote:

There is also a directory there called usb-and-pxe-installers, in which there is a script called usbimg2disk.sh which can be used to create a bootable thumbdrive with the slackware installer on it. But this isn't a live usb. It goes to the same installer that the install dvd goes to. I like using this method, because you can reuse the thumbdrives, and they don't get scratched like dvds.
That's the image I put on the flashdrive! :D Yeah, that method does sound a lot better, and I tried that, but the installer couldn't find the source...I had tons of trouble with that. The scratches are a pain, and even on a pristine DVD-RW (of which I just ran out), I had to burn the DVD thrice before it came clean.

The problem is, I got hibernation to work, to where I could type pm-hibernate [e1] but then I tapped the off switch, which either 1: set it to hibernate (likely because it tries to resume every time I turn the computer on), or 2: made it shutdown. Now, turning it on gives what I showed above.
Quote:

When you press the power button, but don't hold it down, in slackware, you are telling it to shutdown... just as if you had typed "shutdown -h now" in terminal, and it will shutdown gracefully, as opposed to just immediately stopping.
That's weird, I didn't see any TERM signals (or any other indications of shutdown -h now). Perhaps enabling hibernation changed that. My original post has the details.

Sansveni 03-13-2014 07:52 PM

Fixed? Weird...
 
I booted from the flashdrive again for the umpteenth time and updated the ramdisk and ran lilo again. I'd done this before so I wasn't sure what I could do.
I mounted my root lvm partition under "slack" (a new directory of my own making) mounted proc under /slack/proc (using mount proc -t proc slack/proc) then chrooted to slack. I then made a new initial ramdisk with the same settings, and ran lilo. Lilo complained that /dev was missing a lot of stuff from /proc/partitions. I'm a little lost on what /proc/partitions is for per se, but it was obvious after "cat"ing /proc/partitions that it WAS different. Lilo said a total of 14 warnings, a lot of them had "dm-x -> /tmp/dev.x" or something like that. I couldn't find any dev.x under /tmp - confusing (x was a number 0-3 I think). That seemed to have a lot to do with why the kernel can't resume from dm-1 or mount dm-0 (swap and root, respectively).

I had an idea, long story short, I decided to copy the lilo program and /boot folder over to the flashdrive's loaded filesystem (isn't that how it works? I'm sure I could well unplug the flashdrive at this point as it's all in the memory). I could then run lilo there where /proc/partitions and /dev would logically match. No dice.

I then restarted, and everything works normally now. Odd...and pm-hibernate works. Before pressing the power switch, I ran lilo again (figuring the native environment would help). It shutdown normally like slac-in-the-box said it was supposed to.

I guess my computer just decided to go on strike for a workday. Hopefully this doesn't happen again.

I realise that this venture is akin to me jumping into the ocean naked, sink or swim style, but man is this exhilarating! I hope I haven't bothered you guys too much on this venerable forum.


All times are GMT -5. The time now is 01:33 AM.