opensuse 12.3 loop device

hi,

did a zypper dup from 12.2 to 12.3 and that went rather smooth except for one things, it seems I could no longer mount a realcrypt volume, after some searching it seems the loop module is no longer loaded:

lsmod | grep loop returns nothing

so a modprobe loop works and after that I can mount the realcrypt volume but how do I get this module to always load ? Before this I assumed the loop module was always in the kernel but seems I was wrong.

It should probably be a part of kernel

modprobe loop returns nothing, lsmod | grep loop returns nothing; am I missing a loop driver? Could you point me in the direction of a package that could supply these things? – JohnLettman Feb 17 at 2:41
Aha! Apparently my kernel had updated without my knowledge, rendering any attempt to use the loop module futile. I appreciate your assistance with this. – JohnLettman Feb 17 at 3:06

How do you mount an ext2 formatted qemu disk image? - Unix and Linux

Based on some stuff I read a year ago, IIRC it’s possible to mount a loop a number of ways including in GRUB2 as a LKM so the mount is available even at pre-boot.

Which of the various methods is best for you likely depends on exactly when you need the mount.

Also, the underlying mount plumbing is changing with the implementation of systemd, although I haven’t looked at it yet, the new automount Unit might be what you’re looking for.

HTH,
TSU

not sure what you mean with the automount unit, but I got the loop module to load on startup now with:

tee /etc/modules-load.d/realcrypt.conf <<< “loop”

I would just have figured it would be there from the start like on previous opensuse’s. But yes maybe systemd changed a few things.

echo loop > /etc/modules-load.d/loop.conf
man modules-load.d

I was close :slight_smile: thanks for verifying

Actually it sounds like realcrypt (whatever it is) needs update. loop is loaded on demand if you use “losetup -f file”.

Help me out here. I want the system to automatically load a loop device. So how does “echo loop” directed to a file work? Wouldn’t it need to be modprobe loop? Clearly just loop works, because I just rebooted it and tested it for myself. Seemed too easy.

I am happy to take it on faith the above works, but would love to understand why. (It does work of course)

If you read ‘man modules-load.d’, you’ll see it mentions

systemd uses files from the above directories to configure kernel
modules to load during boot in a static list. Each configuration file
is named in the style of /etc/modules-load.d/<program>.conf. Note that
it is usually a better idea to use the automatic module loading by PCI
ID, by DMI ID or similar triggers configured in the kernel modules
themselves instead of relying on static configuration like this.

It is systemd that takes care of the module loading for you (so ultimately will invoke modprobe etc).

I’m a bit late, but I wanted to give an easy solution for this problem that occurs with realcrypt and truecrypt and with truecrypt it occurs also in 13.1. I read it here:

https://forums.opensuse.org/english/get-technical-help-here/applications/487558-truecrypt-realcrypt-no-longer-works-12-3-error-no-loop-device.html

and it works for me too.

You just have to go to yast → system → editor for /etc/sysconfig → system → kernel → modules_loaded_on_boot.

Then you write in the first line “modprobe loop” without quote signs and confirm with ok.
When you reboot, it should work.

This Post was a bit stupid:shame:. It works, but it produces faults. So the better solution was given by arvidjaar on 19. Mai, which works very well:
echo loop > /etc/modules-load.d/loop.conf –> root in terminal.

I have a little problem, in OS 13.1 I can’t find this option in sysconfig editor in Yast

Personally I choose the first option and it works.
Try INITRD_MODULES instead (always at System -> Kernel).

If I’m wrong, please correct me.
**HAPPY NEW YEAR **everyone!!! rotfl!