projg2 / eclean-kernel

Installed kernel cleanup tool
GNU General Public License v2.0
31 stars 10 forks source link

`SystemError` with UKIs, cannot remove old kernels #46

Closed SoapGentoo closed 7 months ago

SoapGentoo commented 7 months ago

Trying to remove old kernels, I get

# eclean-kernel -n 1 --debug
DEBUG:root:Sorter: <ecleankernel.sort.VersionSort object at 0x7f9cca7da030>
DEBUG:root:Layout: <ecleankernel.layout.blspec.BlSpecLayout object at 0x7f9cca7fffe0>
DEBUG:root:Bootloader failed: <class 'ecleankernel.bootloader.lilo.LILO'>
DEBUG:root:Bootloader failed: <class 'ecleankernel.bootloader.grub2.GRUB2'>
DEBUG:root:Bootloader failed: <class 'ecleankernel.bootloader.grub.GRUB'>
DEBUG:root:Bootloader failed: <class 'ecleankernel.bootloader.yaboot.Yaboot'>
DEBUG:root:Bootloader: <ecleankernel.bootloader.symlinks.Symlinks object at 0x7f9cca8edeb0>
DEBUG:root:Unrecognized potential kernel image: Kernel file /boot/EFI/Linux/4ef3f0726da6cb6044514cac5e1c8c75-6.6.4-gentoo-dist.efi not recognized as any special format and unable to find version string in it
DEBUG:root:Unrecognized potential kernel image: Kernel file /boot/EFI/Linux/4ef3f0726da6cb6044514cac5e1c8c75-6.6.3-gentoo-dist.efi not recognized as any special format and unable to find version string in it
DEBUG:root:in get_removal_list()
Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.12/eclean-kernel", line 8, in <module>
    sys.exit(setuptools_main())
             ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/ecleankernel/__main__.py", line 392, in setuptools_main
    sys.exit(main(sys.argv[1:]))
             ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/ecleankernel/__main__.py", line 252, in main
    removals = get_removal_list(
               ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/ecleankernel/process.py", line 82, in get_removal_list
    raise SystemError(
SystemError: No vmlinuz found. This seems ridiculous, aborting.

importantly: these kernels have been produced with systemd's ukify, not with dracut.

Debug output:

# eclean-kernel --list-kernels --debug
DEBUG:root:Sorter: <ecleankernel.sort.VersionSort object at 0x7f893193a900>
DEBUG:root:Layout: <ecleankernel.layout.blspec.BlSpecLayout object at 0x7f89318f4230>
DEBUG:root:Bootloader failed: <class 'ecleankernel.bootloader.lilo.LILO'>
DEBUG:root:Bootloader failed: <class 'ecleankernel.bootloader.grub2.GRUB2'>
DEBUG:root:Bootloader failed: <class 'ecleankernel.bootloader.grub.GRUB'>
DEBUG:root:Bootloader failed: <class 'ecleankernel.bootloader.yaboot.Yaboot'>
DEBUG:root:Bootloader: <ecleankernel.bootloader.symlinks.Symlinks object at 0x7f89319e9dc0>
DEBUG:root:Unrecognized potential kernel image: Kernel file /boot/EFI/Linux/4ef3f0726da6cb6044514cac5e1c8c75-6.6.4-gentoo-dist.efi not recognized as any special format and unable to find version string in it
DEBUG:root:Unrecognized potential kernel image: Kernel file /boot/EFI/Linux/4ef3f0726da6cb6044514cac5e1c8c75-6.6.3-gentoo-dist.efi not recognized as any special format and unable to find version string in it
uki 6.6.4-gentoo-dist [None]
- vmlinuz: /boot/EFI/Linux/4ef3f0726da6cb6044514cac5e1c8c75-6.6.4-gentoo-dist.efi
- modules: /lib/modules/6.6.4-gentoo-dist
- build: /lib/modules/6.6.4-gentoo-dist/../../../src/linux-6.6.4-gentoo-dist
- last modified: 2023-12-04 10:48:53
uki 6.6.3-gentoo-dist [None]
- vmlinuz: /boot/EFI/Linux/4ef3f0726da6cb6044514cac5e1c8c75-6.6.3-gentoo-dist.efi
- last modified: 2023-12-03 16:30:48