Running the replace-kernel action with a recent resolute image fails:
# python __main__.py ../../livecd.ubuntu-k3.iso k3l.iso --replace-kernel generic
set up loop device /dev/loop54 backing ../../livecd.ubuntu-k3.iso
found live iso9660 filesystem on /dev/loop54
running replace-kernel with arguments {'flavor': 'generic'}
running unpack-initrd with arguments {}
squashfs 'minimal' now mounted at 'new/minimal'
** updating apt lists... **
Ign file:/cdrom resolute InRelease
Err file:/cdrom resolute Release
File not found - /cdrom/dists/resolute/Release (2: No such file or directory)
...
Fetched 18.4 MB in 0s (0 B/s)
umount: /tmp/tmp7nlcg70b/new/minimal: target is busy.
umount: /tmp/tmp7nlcg70b/old/iso: target is busy.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apt/cache.py", line 565, in update
res = self._cache.update(fetch_progress, slist, pulse_interval)
apt_pkg.Error: W:Download is performed unsandboxed as root as file '/tmp/tmp7nlcg70b/new/minimal/var/lib/apt/lists/partial/_cdrom_dists_resolute_InRelease' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied), W:Repositories should provide a clear-signed InRelease file, but none found at file:/cdrom/dists/resolute/InRelease., E:The repository 'file:/cdrom resolute Release' does not have a Release file.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/vhaudiquet/Téléchargements/livefs-editor/livefs_edit/__main__.py", line 105, in <module>
main(sys.argv[1:])
~~~~^^^^^^^^^^^^^^
File "/home/vhaudiquet/Téléchargements/livefs-editor/livefs_edit/__main__.py", line 87, in main
func(ctxt, **kw)
~~~~^^^^^^^^^^^^
File "/usr/local/lib/python3.13/dist-packages/livefs_edit/actions.py", line 57, in impl
return func(ctxt, **kw)
File "/usr/local/lib/python3.13/dist-packages/livefs_edit/actions.py", line 665, in replace_kernel
cache.update(AcquireProgress())
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/apt/cache.py", line 567, in update
raise FetchFailedException(e)
apt.cache.FetchFailedException: W:Download is performed unsandboxed as root as file '/tmp/tmp7nlcg70b/new/minimal/var/lib/apt/lists/partial/_cdrom_dists_resolute_InRelease' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied), W:Repositories should provide a clear-signed InRelease file, but none found at file:/cdrom/dists/resolute/InRelease., E:The repository 'file:/cdrom resolute Release' does not have a Release file.
I have locally fixed that by disabling cdrom sources before updating the cache in replace-kernel:
vhaudiquet@20d3c96
However that does not seem like a really good solution. I'm not sure why the file is not detected, because it is indeed present in the iso. Maybe something is wrong in the mounting or in the paths (maybe something is hardcoded to /cdrom, as this would be the case if we boot the iso, but here we mount it to a temporary path and so /cdrom does not exist).
This will need a bit more investigation.
Running the replace-kernel action with a recent resolute image fails:
I have locally fixed that by disabling cdrom sources before updating the cache in replace-kernel:
vhaudiquet@20d3c96
However that does not seem like a really good solution. I'm not sure why the file is not detected, because it is indeed present in the iso. Maybe something is wrong in the mounting or in the paths (maybe something is hardcoded to /cdrom, as this would be the case if we boot the iso, but here we mount it to a temporary path and so /cdrom does not exist).
This will need a bit more investigation.