# cd /usr/tools# make base# cd /tmp/sets# pkg add -f base-16.7.a_15-amd64.txzpkg: base-16.7.a_15-amd64.txz is not a valid package: no manifest foundFailed to install the following 1 package(s): base-16.7.a_15-amd64.txz
Base/kernel are not packages, just release tarballs that FreeBSD's build provides (base.txz and kernel.txz).This command sequence is probably what you want:https://github.com/opnsense/update/blob/master/update/opnsense-update.sh#L235-L244
opnsense-update can fetch sets from remote locations, it would need a command line switch to install the set from a flat file, something like the following (not implemented!).# opnsense-update -K kernel-16.7.a_15-amd64.txz# opnsense-update -B base-16.7.a_15-amd64.txz# opnsense-update -O base-16.7.a_15-amd.obsoleteIt would probably also need to honour the "-i" flag, which means insecure as in don't try to verify against a $SET.sig file. Signature verification should remain the default.
It will be really tricky not to break the system with a manual sequence through an ABI push, especially applying a new base set without the associated kernel, but I'm not against adding these flags. Incidentally, I have this on my firmware TODO list... Changes would be small, testing is harder as it may leave your system in a dysfunctional state.FWIW, FreeBSD is doing proper base packaging for 11.0, which we'll adapt eventually so there is no use over-engineering the current upgrade method.