How to add more /dev/loop* devices on Fedora 19? I do:

# uname -r
# lsmod |grep loop

# ls /dev/loop*
/dev/loop0  /dev/loop1  /dev/loop2  /dev/loop3  /dev/loop4  /dev/loop5  /dev/loop6  /dev/loop7  /dev/loop-control
# modprobe loop max_loop=128
# ls /dev/loop*
/dev/loop0  /dev/loop1  /dev/loop2  /dev/loop3  /dev/loop4  /dev/loop5  /dev/loop6  /dev/loop7  /dev/loop-control

So nothing changes.

  • loop isn't a module in fedora 19, its compiled in.
    – Sirex
    Nov 3, 2013 at 22:57
  • 1
    you'd probably use mknod. but why would you want to create more loop files without connecting them to anything?
    – strugee
    Nov 4, 2013 at 0:51

3 Answers 3


When you run it as root, losetup -f will automatically create loop devices as needed if there aren't any free ones available.

So rather than doing it yourself with mknod, the easiest way to create a new loop device is with sudo losetup -f. That approach will give you a free existing loop device if one exists, or automatically create a new one if needed.


You have to create device nodes into /dev with mknod. The device nodes in dev have a type (block, character and so on), a major number and a minor number. You can find out the type and the major number by doing ls -l /dev/loop0:

user@foo:/sys# ls -l /dev/loop0
brw-rw---- 1 root disk 7, 0 Oct  8 08:12 /dev/loop0

This means loop device nodes should have the block type and major number of 7. The minor numbers increment by one for each device node, starting from 0, so loop0 is simply 0 and loop7 is 7.

To create loop8 you run, as root, command mknod -m 0660 /dev/loop8 b 7 8. This will create the device node /dev/loop8 with permissions specified along the -m switch (that's not necessary as you're probably running a desktop system, but it's a good idea not to let everyone read and write your device nodes).

  • 1
    You forgot the node type after the name, so the command should be mknod -m 0660 /dev/loop8 b 7 8. Dec 7, 2015 at 20:51

Heh, incomplete :) Simply use this script for adding new /dev/loops. Remember for changing numbers, script makes to 63'th loop, starts from 8'th because 0-7 is made by default. Notice, rights are copied from /dev/loop0 :)

for i in {8..63}; do if [ -e /dev/loop$i ]; then continue; fi; \
mknod /dev/loop$i b 7 $i; chown --reference=/dev/loop0 /dev/loop$i; \
chmod --reference=/dev/loop0 /dev/loop$i; done

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.