To conserve disk space, I removed /boot from most of my jails, and when I do that, freebsd-update refuses to run saying that "Cannot identify running kernel".
freebsd-update fetches the kern.bootfile sysctl, then checks that the corresponding directory exists. The security.jail.jailed sysctl can be used to determine if we are running in a jail; FreeBSD-update could check that sysctl and ignore failure to find a kernel if so. We should still update the kernel if found, but silently ignore if not.
Drop freebsd-update PRs which were assigned to me. I'm not working on this code any more.
Hello, this is not a bug. freebsd-update fetch command doesn't know your freebsd version because no zfs release to /boot. firstly run: $ zpool list $ zfs list if you are seen boot run: $ zpool import bootpool you can try it: $ freebsd-update fetch Regards Ozgur
A jail does not have any bootable filesystem, it is a jail.
It would be indeed much cleaner if freebsd-update natively supported jails without a /boot. Although as a workaround you can use the following: freebsd-update --currently-running "RELEASE VERSION YOU RUN IN THE JAIL"
# freebsd-update --currently-running 12.0 fetch install src component not installed, skipped Cannot identify running kernel #
Have you tried this too: freebsd-update --currently-running 12.0-RELEASE fetch install
It looks like c76da1f01064 fixes this (but doesn't close yet).
I've hit this issue after updating a jail from FreeBSD 12.2 to 12.3 root@aws-1-ingress01:/ # file /bin/sh /bin/sh: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD 12.3, FreeBSD-style, stripped root@aws-1-ingress01:/ # sudo freebsd-update fetch install src component not installed, skipped Cannot identify running kernel root@aws-1-ingress01:/ # freebsd-version -ur 12.3-RELEASE-p5 12.3-RELEASE-p5 root@aws-1-ingress01:/ #
^Triage: clear stale flags. To submitter: is this aging PR still relevant?
FWIW, I have seen it recently (i.e. on 14.1).