public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
From: Michael Tremer <michael.tremer@ipfire.org>
To: Adolf Belka <adolf.belka@ipfire.org>
Cc: "IPFire: Development-List" <development@lists.ipfire.org>
Subject: Re: Building IPFire without using loop devices
Date: Tue, 7 Apr 2026 17:41:43 +0100	[thread overview]
Message-ID: <1C3952C4-E5F6-4F11-A142-E6E2171C4A55@ipfire.org> (raw)
In-Reply-To: <e359def4-602e-4018-8493-6748b4468254@ipfire.org>

Hello,

Thank you for the feedback.

I was going to merge the branch into next, but I am happy to wait for a couple of extra days until you have verified that I didn’t break the image.

I have tested it in a VM in EFI and BIOS mode and it was working well.

Best,
-Michael

> On 7 Apr 2026, at 17:12, Adolf Belka <adolf.belka@ipfire.org> wrote:
> 
> Hi Michael,
> 
> On 05/04/2026 15:53, Michael Tremer wrote:
>> Hello,
>> I found the problem. It wasn’t in the image itself, but /tmp where we put the image and the root tree. That partition was mounted as a tmpfs with a 4 GiB limit which we simply exceeded. The fix is to create the image on disk:
>>   https://git.ipfire.org/?p=people/ms/ipfire-2.x.git;a=commitdiff;h=74a4ec8bc11a43dbda0fbf806914ca3d5c88c7fe
>> Could you please pull, rebuild and report?
> 
> I have updated my local copy and rebuilt it and it successfully built the image.
> 
> I will now look to find some time to test out installing the image on my vm testbed to confirm that it installs fine.
> 
> Regards,
> 
> Adolf.
> 
>> All the best,
>> -Michael
>>> On 3 Apr 2026, at 19:56, Adolf Belka <adolf.belka@ipfire.org> wrote:
>>> 
>>> Hi Michael,
>>> 
>>> Sorry for slow reply, I have been a bit busy.
>>> 
>>> On 24/03/2026 18:16, Michael Tremer wrote:
>>>> Hello everyone,
>>>> On the last call, some people raised that the distribution no longer builds properly when running a recent version of GNOME or a similar desktop environment. We identified that the problem is udisk2 trying to figure out what the new device is that has just been mounted, not understanding that it is inside a container and that there should be no access.
>>> 
>>> That was me but not from the last call but from the following mail thread.
>>> 
>>> https://lists.ipfire.org/development/34f64d4b-4008-418b-83b0-e621bee9f999@ipfire.org/T/#t
>>> 
>>>> Since loop devices are not namespaces in Linux, there is no way to get around this. However, I have put some code together that generates the image without using any loop devices whatsoever:
>>>>   https://git.ipfire.org/?p=people/ms/ipfire-2.x.git;a=shortlog;h=refs/heads/no-loop
>>>> Could the people who have been affected by this and check if this branch builds without any problems and if the generated image is also bootable in either EFI, non-EFI or both modes, please?
>>> 
>>> I first tried running thew existing build process but with a usb disk drive mounted and accessed via a File Manager window. However the old build worked without any problems so I was not able to reproduce the previous problem I had.
>>> 
>>> So then I thought, okay then I will just try building the new branch and see how it goes. Unfortunately it failed. The failure message was:-
>>> 
>>> # Check if any files have been deleted
>>> [ -s "/tmp/cleanup.log" ]
>>> # Create the EFI partition
>>> mformat \
>>> -F \
>>> -i /tmp/image.img@@536870912 \
>>> -N "341A5693" \
>>> -v "EFI" \
>>> -h 32 \
>>> -n 1 \
>>> -t $(( 65536 / 32 )) \
>>> ::
>>> # Copy all files to the partition
>>> mcopy -s -i /tmp/image.img@@536870912 /tmp/root/boot/efi/* ::
>>> # Show what has been copied
>>> mdir -i /tmp/image.img@@536870912 ::
>>> Volume in drive : is EFI
>>> Volume Serial Number is 341A-5693
>>> Directory for ::/
>>> 
>>> EFI          <DIR>     2026-04-03  14:11
>>>        1 file                    0 bytes
>>>                      2 841 190 400 bytes free
>>> 
>>> # Remove any copied content
>>> rm -rf /tmp/root/boot/efi/*
>>> # Print how much space we need
>>> du -csh /tmp/root/boot/*
>>> 7.0M /tmp/root/boot/System.map-6.18.7-ipfire
>>> 200K /tmp/root/boot/config-6.18.7-ipfire
>>> 0 /tmp/root/boot/efi
>>> 25M /tmp/root/boot/grub
>>> 73M /tmp/root/boot/initramfs-6.18.7-ipfire.img
>>> 8.9M /tmp/root/boot/vmlinuz-6.18.7-ipfire
>>> 114M total
>>> # Format them
>>> mkfs.ext2 \
>>> -F \
>>> -E offset=4194304 \
>>> -U "88ce295a-436b-4bad-9509-07ec3a630029" \
>>> -d /tmp/root/boot \
>>> /tmp/image.img \
>>> 520192
>>> mke2fs 1.47.3 (8-Jul-2025)
>>> Discarding device blocks:      0/520192\b\b\b\b\b\b\b\b\b\b\b\b\b             \b\b\b\b\b\b\b\b\b\b\b\b\bdone
>>> Creating filesystem with 520192 1k blocks and 130048 inodes
>>> Filesystem UUID: 88ce295a-436b-4bad-9509-07ec3a630029
>>> Superblock backups stored on blocks:
>>> 8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
>>> 
>>> Allocating group tables:  0/64\b\b\b\b\b     \b\b\b\b\bdone
>>> Writing inode tables:  0/64\b\b\b\b\b     \b\b\b\b\bdone
>>> Copying files into the device: done
>>> Writing superblocks and filesystem accounting information:  0/64\b\b\b\b\b     \b\b\b\b\bdone
>>> 
>>> # Remove any copied content
>>> rm -rf /tmp/root/boot/*
>>> # Print how much space we need
>>> du -csh /tmp/root/*
>>> 9.8M /tmp/root/bin
>>> 0 /tmp/root/boot
>>> 0 /tmp/root/dev
>>> 18M /tmp/root/etc
>>> 0 /tmp/root/home
>>> 1.2G /tmp/root/lib
>>> 0 /tmp/root/lib64
>>> 0 /tmp/root/media
>>> 0 /tmp/root/mnt
>>> 68K /tmp/root/opt
>>> 0 /tmp/root/proc
>>> 12K /tmp/root/root
>>> 0 /tmp/root/run
>>> 12M /tmp/root/sbin
>>> 4.3M /tmp/root/srv
>>> 0 /tmp/root/sys
>>> 0 /tmp/root/tmp
>>> 750M /tmp/root/usr
>>> 73M /tmp/root/var
>>> 2.0G total
>>> # Create the root filesystem and input files
>>> mkfs.ext4 \
>>> -F \
>>> -E offset=570425344 \
>>> -U "e041f3cc-df7e-4a3c-a2f7-8a2457b1a741" \
>>> -d /tmp/root \
>>> /tmp/image.img \
>>> 2621440
>>> mke2fs 1.47.3 (8-Jul-2025)
>>> Discarding device blocks:      0/655360\b\b\b\b\b\b\b\b\b\b\b\b\b             \b\b\b\b\b\b\b\b\b\b\b\b\bdone
>>> Creating filesystem with 655360 4k blocks and 163840 inodes
>>> Filesystem UUID: e041f3cc-df7e-4a3c-a2f7-8a2457b1a741
>>> Superblock backups stored on blocks:
>>> 32768, 98304, 163840, 229376, 294912
>>> 
>>> Allocating group tables:  0/20\b\b\b\b\b     \b\b\b\b\bdone
>>> Writing inode tables:  0/20\b\b\b\b\b     \b\b\b\b\bdone
>>> Creating journal (16384 blocks): done
>>> Copying files into the device: libhs.so.5.4.12: No space left on device while looking up "libhs.so.5.4.12"
>>> mkfs.ext4: No space left on device while populating file system
>>> make: *** [flash-images:172: /usr/src/log/flash-image] Error 1
>>> 
>>> Regards,
>>> 
>>> Adolf.
>>> 
>>>> Feel free to hit me up with any problems or questions.
>>>> Best,
>>>> -Michael
>>> 
> 
> 



      reply	other threads:[~2026-04-07 16:41 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-24 17:16 Michael Tremer
2026-04-03 18:56 ` Adolf Belka
2026-04-05 13:53   ` Michael Tremer
2026-04-07 16:12     ` Adolf Belka
2026-04-07 16:41       ` Michael Tremer [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1C3952C4-E5F6-4F11-A142-E6E2171C4A55@ipfire.org \
    --to=michael.tremer@ipfire.org \
    --cc=adolf.belka@ipfire.org \
    --cc=development@lists.ipfire.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox