Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: ENOENT: no such file or directory, stat '/filesystem.squashfs' Code: ENOENT #411

Open
yonacwy opened this issue Oct 22, 2024 · 19 comments

Comments

@yonacwy
Copy link

yonacwy commented Oct 22, 2024

It was producing good, the only changes where to the title and the size of disk.

menu title
title-text

VERSION
penguins-eggs/10.0.45 linux-x64 node-v18.19.0

Exportable Squashfs 4.0 filesystem, zstd compressed, data block size 1048576
compressed data, compressed metadata, compressed fragments,
compressed xattrs, compressed ids
duplicates are removed
Filesystem size 260547000.56 Kbytes (254440.43 Mbytes)
83.88% of uncompressed filesystem size (310605885.41 Kbytes)
Inode table size 13033865 bytes (12728.38 Kbytes)
25.91% of uncompressed inode table size (50300628 bytes)
Directory table size 23898621 bytes (23338.50 Kbytes)
43.99% of uncompressed directory table size (54325100 bytes)
Xattr table size 597 bytes (0.58 Kbytes)
17.34% of uncompressed xattr table size (3442 bytes)
Number of duplicate files found 273982
Number of inodes 1346907
Number of files 1112251
Number of fragments 17941
Number of symbolic links 124103
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 12
Number of directories 110541
Number of hard-links 308117
Number of ids (unique uids + gids) 36
Number of uids 18

``

Ovary: uBindLiveFs
Ovary: mergedAndOverlay
Ovary: rexec(umount /home/eggs/.mnt/filesystem.squashfs/bin)
umount /home/eggs/.mnt/filesystem.squashfs/bin
Ovary: rexec(umount /home/eggs/.overlay/lowerdir/bin)
umount /home/eggs/.overlay/lowerdir/bin
Ovary: rexec(rm /home/eggs/.mnt/filesystem.squashfs/bin -rf)
rm /home/eggs/.mnt/filesystem.squashfs/bin -rf
Ovary: mergedAndOverlay
Ovary: merged
Ovary: rexec(rm /home/eggs/.mnt/filesystem.squashfs/boot -rf)
rm /home/eggs/.mnt/filesystem.squashfs/boot -rf
Ovary: mergedAndOverlay
Ovary: merged
Ovary: rexec(rm /home/eggs/.mnt/filesystem.squashfs/dev -rf)
rm /home/eggs/.mnt/filesystem.squashfs/dev -rf
Ovary: mergedAndOverlay
Ovary: rexec(umount /home/eggs/.mnt/filesystem.squashfs/etc)
umount /home/eggs/.mnt/filesystem.squashfs/etc
Ovary: rexec(umount /home/eggs/.overlay/lowerdir/etc)
umount /home/eggs/.overlay/lowerdir/etc
Ovary: rexec(rm /home/eggs/.mnt/filesystem.squashfs/etc -rf)
rm /home/eggs/.mnt/filesystem.squashfs/etc -rf
Error: ENOENT: no such file or directory, stat '/filesystem.squashfs'
Code: ENOENT

@yonacwy
Copy link
Author

yonacwy commented Oct 24, 2024

Also ran test on debian & ubuntu with 250gig+ system with same results, so tested using remastersys with 250gig+ system and it worked.

Has anyone produced large eggs 250gig+?

@pieroproietti
Copy link
Owner

pieroproietti commented Oct 25, 2024

Never heard about more than 20/30 GB remaster... 250GB is impressive.

@yonacwy
Copy link
Author

yonacwy commented Oct 25, 2024

Same here the only OS i know of is EndlessOS around 24gigs but ISO 9660 does supports up to 8tb.

Im surprised that there are not more heavyweight distros for people without a good internet connection with everything preinstalled and working offline.

@yonacwy
Copy link
Author

yonacwy commented Oct 26, 2024

I would prefer to use peguins-eggs vs remastersys but 250gig+ iso is a big issue for a heavyweight distro

@pieroproietti
Copy link
Owner

Hi @yonacwy

perhaps the cause is not the size.

As I described on the changelog for v10.0.47, you probably had the same my problem: I was just releaseing the version 10.0.46 and discover who when I was remastering an already remastered and installed version, the ISO was not starting: It remain in the boot menu!

I was surprised and thought was something of the version 10.0.46, but none and at last I was sure this version and 10.0.45 had this problem.

The problem was due a bug introduced when I removed and wrote a little class, created to support node8 in the age od node12, but remain until now.

I'm not sure this was your problem, but it is probably and as you can imagine, I need to remaster all the ISOs, on sourceforge, so I'm too busy to test now.

@yonacwy
Copy link
Author

yonacwy commented Oct 27, 2024

I will test it because i would rather use penguis-eggs it has more config options.

@yonacwy
Copy link
Author

yonacwy commented Oct 29, 2024

This error is fixed in v10.0.47 was able to create large iso, it wouldn't boot probably because the way i was booting using iventoy over network instead of uploading to vm. Still testing had to reconfig proxmox homelab to brtfs-raid0 to use all my disks to try and create a even larger 1tb live iso.

@pieroproietti
Copy link
Owner

Great! Thanks, for information.

@pieroproietti
Copy link
Owner

Btw, I see you are configuring proxmox btrfs, I'm using zfs at home, but I'm intrigued to switch to btrfs, I don't know was possible. Interesting.

@yonacwy
Copy link
Author

yonacwy commented Oct 30, 2024

Yeah i did try zfs but requires alot of memory was running slow on my old box, zfs is probably best for newer and more powerful systems.

@andre4862
Copy link

andre4862 commented Nov 12, 2024

hello i'm de same problem in version 10.0.50 when use sudo eggs produce --clone
i'm use debian 12 bookworm with KDE Plasma
image

@pieroproietti
Copy link
Owner

Hi @andre4862

I tried this night to remaster a Debian bookworm plama.. I was successfull.

debian-plasma-ok

@danblat
Copy link

danblat commented Nov 20, 2024

Hi
I have the same problem in version 10.0.50 when use sudo eggs produce --clone
any solution?
I'm using lubuntu 24.04
Thx

@rafaelcalleja
Copy link

Hello, I’ve had the same issue on Ubuntu 24.04, and I found that the problem is related to some kind of recursion when the directory /home/eggs exists. I’m not exactly sure what the issue is, but it seems that when you run the command eggs produce multiple times, remnants are left in /home/eggs, and this causes the problem.

To solve it, I unmounted and deleted the directory, and when I ran eggs produce again, it executed correctly.

for m in $(mount | awk '{print $3}' | grep "^/home/eggs"); do sudo umount -lf $m; done && \
rm -rf /home/eggs
eggs produce --max --nointeractive --noicon --excludes=static,homes -v --release --clone

I have created a Dockerfile to reproduce the issue, I'm attaching it in case it helps to find the solution. Some of the commands in the Dockerfile are necessary for the overlay mount to work.

FROM ubuntu:24.04 as base
ENV DEBIAN_FRONTEND=noninteractive
RUN apt update && apt install -yq git \
    sudo linux-image-virtual linux-headers-virtual curl gpg && \
    curl -fsSL "https://pieroproietti.github.io/penguins-eggs-ppa/KEY.gpg" | gpg --dearmor -o /usr/share/keyrings/penguins-eggs-ppa.gpg && \
    echo "deb [signed-by=/usr/share/keyrings/penguins-eggs-ppa.gpg] https://pieroproietti.github.io/penguins-eggs-ppa ./ " | tee /etc/apt/sources.list.d/penguins-eggs-ppa.list > /dev/null && \
    apt-get update --yes && \
    apt-get install penguins-eggs --yes && \
    eggs dad -d

FROM base as error
CMD mkdir -p /home/eggs/.overlay && \
    mount -t tmpfs tmpfs  /home/eggs/.overlay/ && \
    mkdir -p /home/eggs/.overlay/{upperdir, workdir} && \
    mkdir -p /home/eggs/.mnt/filesystem.squashfs/var && \
    mkdir -p /home/eggs/.overlay/lowerdir/var && \
    mkdir -p /home/eggs/.overlay/upperdir/var && \
    mkdir -p /home/eggs/.overlay/workdir/var && \
    eggs produce --max --nointeractive --noicon --excludes=static,homes -v --release --clone -s; \
    SUDO_USER=ubuntu eggs produce --max --nointeractive --noicon --excludes=static,homes -v --release --clone -s

FROM base as fix
CMD mkdir -p /home/eggs/.overlay && \
    mount -t tmpfs tmpfs  /home/eggs/.overlay/ && \
    mkdir -p /home/eggs/.overlay/{upperdir, workdir} && \
    mkdir -p /home/eggs/.mnt/filesystem.squashfs/var && \
    mkdir -p /home/eggs/.overlay/lowerdir/var && \
    mkdir -p /home/eggs/.overlay/upperdir/var && \
    mkdir -p /home/eggs/.overlay/workdir/var && \
    eggs produce --max --nointeractive --noicon --excludes=static,homes -v --release --clone -s; \
    for m in $(mount | awk '{print $3}' | grep "^/home/eggs"); do sudo umount -lf $m; done && \
    rm -rf /home/eggs && \
    mkdir -p /home/eggs/.overlay && \
    mount -t tmpfs tmpfs  /home/eggs/.overlay/ && \
    mkdir -p /home/eggs/.overlay/{upperdir, workdir} && \
    mkdir -p /home/eggs/.mnt/filesystem.squashfs/var && \
    mkdir -p /home/eggs/.overlay/lowerdir/var && \
    mkdir -p /home/eggs/.overlay/upperdir/var && \
    mkdir -p /home/eggs/.overlay/workdir/var && \
    SUDO_USER=ubuntu eggs produce --max --nointeractive --noicon --excludes=static,homes -v --release --clone -s

To reproduce the bug:

docker build -t error --target error  .
docker run -it --privileged --rm error

If we execute the following, we can see that unmounting /home/eggs and deleting it generates correctly:

docker build -t fix --target fix  .
docker run -it --privileged --rm fix

*SUDO_USER has been necessary to add it to make it work on Docker

@anup
Copy link

anup commented Dec 31, 2024

I can confirm what rafaelcalleja is saying is replicable. It has been happening to me as well.

@pieroproietti
Copy link
Owner

Hi @anup @rafaelcalleja

unfortunately I'm not too expert on Docker and eggs is made for real systems.

I will test to create an ISO, install it, recreate it again from the new system and finally install it.

I'm using my common image colibri, just a Debian bookworm, and I'm using the command: eggs love who include - before to produce the ISO - commands:

  • eggs kill # remove /home/eggs
  • eggs dad -d # configure default eggs
  • eggs clean # clean apt cache and rotate log
  • eggs produce --pendrive --addons adapt # use zstd standadr compression on put link adapt on the Desktop

Note, who using eggs love remove always /home/eggs so I'm not testing the problem suggested form @rafaelcalleja about a recursion on it when it exists.

I simply used calamares to install the system.

The system was reinstalled correctly.

@pieroproietti
Copy link
Owner

Now I created an ISO, and after that, without delete /home/eggs I'm producing it again, just using:

  • eggs produce --pendrive

and finally get the error

get-error

So this depend on the presence of /home/eggs with datas before to produce the eggs.

@pieroproietti
Copy link
Owner

pieroproietti commented Jan 2, 2025

The solution is simply to delete /home/eggs before to produce the ISO.

But same words of attention here are need.

Under the hood, on /home/eggs/.mnt/filesystem.squashfs, all the directories of the REAL system are mounted with the option --bind on the relative directory.

Example: /opt/ go under /home/eggs/.mnt/filesystem.squashfs/opt, var under /home/eggs/.mnt/filesystem.squashfs/var, /usr and so on.

Deleting /home/eggs without umount them can lead to delete the REAL system.

The command eggs kill take cure of that, using kill-me-softly.

So in conclusion, run sudo eggs kill before to produce an ISO is always suggested.

@anup
Copy link

anup commented Jan 8, 2025

Thanks @pieroproietti for the help. Running eggs kill gives us these errors -

Warning: /home/eggs/.mnt/filesystem.squashfs/opt, is a mountpoint!
Warning: /home/eggs/.mnt/filesystem.squashfs/root, is a mountpoint!
Warning: /home/eggs/.mnt/filesystem.squashfs/srv, is a mountpoint!
Warning: /home/eggs/.mnt/filesystem.squashfs/usr, is a mountpoint!
Warning: /home/eggs/.mnt/filesystem.squashfs/var, is a mountpoint!
eggs >>> You have binded dirs under /home/eggs/.mnt/filesystem.squashfs, kill is not possible!.

However this works -

for m in $(mount | awk '{print $3}' | grep "^/home/eggs"); do sudo umount -lf $m; done && \ rm -rf /home/eggs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants