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

mounting live ISO images, inodes and NFS



Hi all!

I would like to report an interesting finding:

The package di-netboot-assistant offers the feature to loop-mount 
Debian live ISO images and provide them over the network as
PXE-netboot live systems.  To avoid the download of the whole root
file system (image), it is possible to provide the
'filesystem.squasfs' via NFS.    

However, if multiple ISO images are made available in that way, it
fails: All PXE clients receive the same 'filesystem.squasfs', even if
a different flavor of ISO is chosen in the di-netboot menu.

I tracked this down and it looks to me like a more or less known
limitation of NFS [1]:  Looking at the inode numbers of the loop
mounted live images shows that files with identical names share the
same number. For the current (12.0) images:

  inode  filename
  6214   filesystem.packages
  6218   filesystem.squashfs
  6222   initrd.img
  6231   vmlinuz

This is of course no problem locally, as identical numbers are on
different file systems.  However, for NFS this information seems to get
lost and NFS clients see the 'same' file (perhaps the first one read?). 

As the same problem did not pop up earlier in bullseye, the identical
inode numbers might be a reason of the modified built process for
bookworm images.  I guess, for a more advanced di-netboot-assistant,
the relevant files need to be copied to the local file system, when
sharing them via NFS is needed. If anybody knows a more elegant
solution let me know!

Best regards,

  Andi


[1] https://lwn.net/Articles/895444/


Reply to: