loop number
Posted: 05 Jun 2019, 08:48
How do we identify the module activated with reference to loop number in /sys/block/? Thanks.
Code: Select all
guest@porteus:~$ cat /sys/block/loop0/loop/backing_file
/mnt/sda3/test/porteus/base/000-kernel.xzm
guest@porteus:~$ cat /sys/block/loop1/loop/backing_file
/mnt/sda3/test/porteus/base/001-core.xzm
Code: Select all
def get_backing_files(self):
os.chdir('/sys/block/')
loop_devices = glob.glob('loop*')
for loop_device in loop_devices:
if os.path.exists('/sys/block/' + loop_device + '/loop/'):
with open('/sys/block/' + loop_device + '/loop/backing_file', encoding = 'utf-8') as fd:
fline = fd.read()
if fline[:-1].endswith(".xzm"):
self.backing_files.append(fline[:-1])
return len(self.backing_files)
Code: Select all
guest@porteus:~$ file /sys/block/loop5
/sys/block/loop5: symbolic link to ../devices/virtual/block/loop5
guest@porteus:~$ cat /sys/devices/virtual/block/loop5/loop/backing_file
/mnt/sda2/porteus/modules/fire fox.xzm
Code: Select all
cat /sys/devices/virtual/block/$1/loop/backing_file
Code: Select all
find /sys/devices/virtual/block/ -type f -name "backing_file" | xargs -n1 -i grep fox {}
Code: Select all
[ 2.526660] sd 2:0:0:0: [sdb] Attached SCSI removable disk
[ 8.619084] udevd[599]: starting eudev-3.2.5
Code: Select all
# we don't care about loop* and ram* devices
KERNEL=="[!lr]*", SUBSYSTEM=="block", RUN+="/sbin/udev-fstab-update %r/%k"
KERNEL=="loop*",ENV{UDISKS_IGNORE}="1"