AOSC-Dev/ciel-rs

Cannot run update-os on Arch Linux

outloudvi opened this issue · 5 comments

It was working around Sept 15, but stops working this time. Probably it's linked to some recent changes.

Steps to reproduce:

  • Run ciel update-os

Intended behaviour:

  • The system updates without errors.

Actual behaviour:

E: Failed to fetch https://repo.aosc.io/debs/dists/stable/InRelease  rename failed, Input/output error (/var/lib/apt/lists/partial/repo.aosc.io_debs_dists_stable_InRelease -> /var/lib/apt/lists/repo.aosc.io_debs_dists_stable_InRelease).
E: Some index files failed to download. They have been ignored, or old ones used instead.

Workaround:

rm .ciel/container/dist/var/lib/apt/lists/repo.aosc.io_debs_dists_stable_InRelease

dmesg:

overlayfs: metacopy with no lower data found - abort lookup (timers/stamp-shadow.timer)
overlayfs: metacopy with no lower data found - abort lookup (lists/repo.aosc.io_debs_dists_stable_InRelease)
... (multi times) ...
overlayfs: metacopy with no lower data found - abort lookup (lists/repo.aosc.io_debs_dists_stable_InRelease)

Tested on Arch Linux with ciel 3.0.11 and 3.0.14.

This should be caused by the apt list cache remaining in the container

dmesg:

overlayfs: metacopy with no lower data found - abort lookup (timers/stamp-shadow.timer)
overlayfs: metacopy with no lower data found - abort lookup (lists/repo.aosc.io_debs_dists_stable_InRelease)
... (multi times) ...
overlayfs: metacopy with no lower data found - abort lookup (lists/repo.aosc.io_debs_dists_stable_InRelease)

Looks like Arch Linux has enabled metacopy option by default when mounting a overlayfs filesystem. This is currently unsupported by Ciel. Support for metacopy layer differencing may be added in a future version.

Meanwhile, rmmod overlay and echo "options overlay metacopy=off" > /etc/modprobe.d/overlay.conf, then ciel load-os.

I encountered another type of error running ciel update-os on the latest Arch Linux

❯ ciel update-os
info: Updating base OS...
info: update-54dfd655: instance created.
info: update-54dfd655: filesystem mounted.
info: update-54dfd655-7f0f0f72: waiting for container to start...
info: update-54dfd655-7f0f0f72: setting up mounts...
Failed to connect to bus: Connection refused

Output of ciel doctor:

❯ sudo ciel doctor
✓ Systemd D-Bus (systemd 256.4-1-arch) seems to be working
✓ Basic I/O operations seem to be working
✓ Required binaries are correctly installed
✓ Filesystem support seems to be sufficient
✓ Environment seems sane 
✓ Disk I/O seems ok
✓ Disk space is sufficient (137.37 GiB free of 397.25 GiB).