mwhudson / livefs-editor

GNU General Public License v3.0
68 stars 31 forks source link

cgroup2 unified #30

Open mipolak opened 1 year ago

mipolak commented 1 year ago

Hi,

could you please give me hint how to fix following issue

root@ubuntu-test:/home/test# livefs-edit ubuntu-20.04.5-live-server-amd64.iso custom.iso --action-yaml example.yaml 
[{'name': 'add-cmdline-arg', 'arg': 'autoinstall', 'persist': False}, {'name': 'replace-kernel', 'flavor': 'linux-hwe'}, {'name': 'add-packages-to-pool', 'packages': ['casper', 'valgrind']}]
set up loop device /dev/loop9 backing ubuntu-20.04.5-live-server-amd64.iso
found live iso9660 filesystem on /dev/loop9p1
running add-cmdline-arg with arguments {'arg': 'autoinstall', 'persist': False}
  rewriting /tmp/tmpaj8i2cl6/new/iso/boot/grub/grub.cfg
  rewriting /tmp/tmpaj8i2cl6/new/iso/isolinux/txt.cfg
running replace-kernel with arguments {'flavor': 'linux-hwe'}
  running unpack-initrd with arguments {}
  squashfs 'filesystem' now mounted at '/tmp/tmpaj8i2cl6/new/filesystem'
Traceback (most recent call last):
  File "/usr/local/bin/livefs-edit", line 8, in <module>
    sys.exit(__main__.main())
  File "/usr/local/lib/python3.8/dist-packages/livefs_edit/__main__.py", line 82, in main
    func(ctxt, **kw)
  File "/usr/local/lib/python3.8/dist-packages/livefs_edit/actions.py", line 58, in impl
    return func(ctxt, **kw)
  File "/usr/local/lib/python3.8/dist-packages/livefs_edit/actions.py", line 576, in replace_kernel
    base = ctxt.edit_squashfs(get_squash_names(ctxt)[0])
  File "/usr/local/lib/python3.8/dist-packages/livefs_edit/context.py", line 235, in edit_squashfs
    self.add_sys_mounts(target)
  File "/usr/local/lib/python3.8/dist-packages/livefs_edit/context.py", line 146, in add_sys_mounts
    mnts.append(self.add_mount(
  File "/usr/local/lib/python3.8/dist-packages/livefs_edit/context.py", line 127, in add_mount
    os.makedirs(mountpoint)
  File "/usr/lib/python3.8/os.py", line 223, in makedirs
    mkdir(name, mode)
OSError: [Errno 30] Read-only file system: '/tmp/tmpaj8i2cl6/new/filesystem/sys/fs/cgroup/unified'

host os: ubuntu 20.04.5 LTS in Qemu

root@ubuntu-test:/home/test# mount | grep sys
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
none on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=28,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=15566)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
mwhudson commented 1 year ago

Huh I may simply not have run this recently with cgroupsv1. Hopefully an easy ish fix (tomorrow!)