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

Re: losetup: cannot find an unused loop device , kernel config of loopback device



Hello everyone,

In hindsight after looking at this much too late there were many
mistakes in my initial mail. The issue may or may not be debian
related and involves at least analyzing the script. There is a claim
in the documentation that

Then I'll make another attempt to further expose my ignorance.

1) kernels configs are located at /boot/. Not sure why I couldn't find
them. Perhaps a typo.

2) CONFIG_BLK_DEV_LOOP is set to M as expected. Using a file as a
loopback seems like it would be a common practice

3) I'm running a script /build_image --board=${BOARD}
--noenable_rootfs_verification dev whose output is shown in
http://ix.io/3v3i

4) I assume the script is supposed to create a file used as a loopback
device to write the image contents

5) The issue then might likely be script related and not debian related

6) I also posted to the chromium-dev google group, waiting for approval

7) I modified the build_image script with set -x, then recorded the
output: http://ix.io/3v6K

8) I believe the issues arise in
https://github.com/drocsid/cros-scripts/blob/main/common.sh which
seems to create the loopback file, etc.

9) from the log output shared above we see:
```++ sync -f /mnt/host/source/src/build/images/kukui/R94-14125.0.2021_08_05_1510-a1/chromiumos_base_image.bin
+++ sudo losetup --show -f
/mnt/host/source/src/build/images/kukui/R94-14125.0.2021_08_05_1510-a1/chromiumos_base_image.bin
losetup: cannot find an unused loop device
++ lb_dev=
```

Then it appears that `sync -f
/mnt/host/source/src/build/images/kukui/R94-14125.0.2021_08_05_1510-a1/chromiumos_base_image.bin`
is the file we are trying to attach as a loopback device using
losetup.

10) The path /mnt/host/source/src/build/images/kukui/R94-14125.0.2021_08_05_1510-a1/chromiumos_base_image.bin
does not exist

11) However from the directory I'm working under a relative
./src/build/images/kukui/R94-14125.0.2021_08_05_1510-a1/chromiumos_base_image.bin
exists. Then this appears to be the reason for the script errors

12) Looking around I found GCLIENT_ROOT set here
https://github.com/drocsid/cros-scripts/blob/c361371f37d1e298a3810fcc7b11a502043c56ef/cros_workon_make#L12
. I have tried modifying it to the top level directory that contains
./src/build/images/kukui/R94-14125.0.2021_08_05_1510-a1/chromiumos_base_image.bin
but something from one of the other scripts seems to set it back.

13) There are also related GCLIENT_ROOT functions sprinkled around in
common.sh E.G. https://github.com/drocsid/cros-scripts/blob/main/common.sh#L265

Then I'm trying to determine why GCLIENT_ROOT is not set properly on
bullseye, and also trying to figure out a way to override it if I
can't fix the scripts directly.




On Thu, Aug 5, 2021 at 6:04 AM Thomas Schmitt <scdbackup@gmx.net> wrote:
>
> Hi,
>
> > Can someone tell me where I should look for the kernel for the
> > loopback setting?
>
> Quite exactly a year ago i learned the hard way that it's
> CONFIG_BLK_DEV_LOOP which on amd64 should be set to "m" to get /dev/loop*.
> See its description at
>   https://sources.debian.org/src/linux/5.10.46-1/drivers/block/Kconfig/#L174
>
> But i'm somewhat puzzled by this statement at the end
>   "Most users will answer N here."
>
> A code search yields no BLK_DEV_LOOP=n
>   https://codesearch.debian.net/search?q=package%3Alinux+BLK_DEV_LOOP%3Dn&literal=0
> but lots of "y" and "m".
>
> (Wasn't there a way to inquire the running kernel's configuration ?)
>
> -----------------------------------------------------------------------
>
> I see that tomas@tuxteam.de did not Cc you. In case you are not subscribed,
> i repeat what he wrote:
>
> > Could you please do a quick
> >  sudo losetup -a
> > and perhaps
> >   ls /dev/loop*
> > and tell us the result?
> > [...] Perhaps they are all used?
>
> Have a nice day :)
>
> Thomas
>


Reply to: