Implement me in sub-class

ctag

New Member
Jun 2, 2025
2
0
1
Hi,

I am migrating a Debian LXC from TrueNAS to my new proxmox box. When initializing the container from a .tar.zst archive of the LXC I get this output:

Formatting '/mnt/apps_tank/images/104/vm-104-disk-0.raw', fmt=raw size=85899345920 preallocation=off
Creating filesystem with 20971520 4k blocks and 5242880 inodes
Filesystem UUID: cf0703e3-df27-49bc-9438-044982009fb5
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000
extracting archive '/mnt/apps_tank/template/cache/docker-lxc-migrate-pve.tar.zst'
Total bytes read: 77540352000 (73GiB, 316MiB/s)
/etc/os-release file not found and autodetection failed, falling back to 'unmanaged'
implement me in sub-class
at /usr/share/perl5/PVE/LXC/Setup.pm line 142.
Architecture detection failed: error in setup task (eval)
Falling back to amd64.
Use `pct set VMID --arch ARCH` to change.
TASK OK

I archived `rootfs/` and `config` from TrueNAS. `/etc/os-release` definitely exists, but is proxmox looking for it in the root of the tarball?

# tar --numeric-owner --zstd --totals --checkpoint=.10000 -cf /mnt/storage/backups/docker-lxc-migrate-pve.tar.zstd config rootfs

..........................................................................................................................................................................................................
..................................tar: rootfs/var/lib/docker/overlay2/3ba123ada8d38ec274ccacaceaae202c1ce1ea3631c615dd96f7ebbed4b1f153/diff/run/s6-rc\:s6-rc-init\:dPCaIj/servicedirs/s6rc-oneshot-runner/
s: socket ignored
...........................................................................................................................................................................tar: rootfs/var/lib/docker/over
lay2/24b7317c9386560dc517ac674b2872ec58e9172036fce55f0d691bc60e297ee3/diff/run/supervisor.sock: socket ignored
.............................................................tar: rootfs/var/lib/docker/overlay2/0bf4c3bb7a1dd9008a0fbcb5d60b8b97a95d6c26b52d8306439bd2307cf967a5/diff/tmp/dotnet-diagnostic-1-94755546-so
cket: socket ignored
..........................................................................................................tar: rootfs/var/lib/docker/overlay2/1401e712de309c7d5fa40761392dc6d33eb6e7098e074ec349ff9edd7f92
69f3/diff/run/s6-rc\:s6-rc-init\:lFcAON/servicedirs/s6rc-oneshot-runner/s: socket ignored
.......................................................................................................................................tar: rootfs/var/lib/docker/overlay2/f12357bd7cd6d006c44754b79ee5d5c
3a5ac0d00e8177ac337200dbe34418f3f/diff/run/s6-rc\:s6-rc-init\:hnKmlf/servicedirs/s6rc-oneshot-runner/s: socket ignored
................................................Total bytes written: 77540352000 (73GiB, 82MiB/s)
#

Also it looks like there's a bug somewhere in the proxmox scripts:
implement me in sub-class
at /usr/share/perl5/PVE/LXC/Setup.pm line 142.

Still learning how proxmox does things. If you have advice on making/using lxc archives I'd be glad to hear it.
 
Have done some more searching, and I am seeing the same error as others about /sbin/init.

NOTICE utils - ../src/lxc/utils.c:lxc_drop_groups:1572 - Dropped supplimentary groups
NOTICE start - ../src/lxc/start.c:start:2201 - Exec'ing "/sbin/init"
ERROR start - ../src/lxc/start.c:start:2204 - No such file or directory - Failed to exec "/sbin/init"
ERROR sync - ../src/lxc/sync.c:sync_wait:34 - An error occurred in another process (expected sequence number 7)

And the issue appears to be the nested rootfs directory.

root@pve:/mnt/apps_tank/template/cache# pct mount 104
mounted CT 104 in '/var/lib/lxc/104/rootfs'
root@pve:/mnt/apps_tank/template/cache# ls -lasht /var/lib/lxc/104/rootfs/
config dev/ lost+found/ proc/ rootfs/ sys/
root@pve:/mnt/apps_tank/template/cache# ls -lasht /var/lib/lxc/104/rootfs/rootfs/sbin/init
0 lrwxrwxrwx 1 root root 20 Oct 10 2024 /var/lib/lxc/104/rootfs/rootfs/sbin/init -> /lib/systemd/systemd

Will see if I can fix it.