First of all - this error occurs when I run bsdinstall from already installed FreeBSD system only (not from the official memstick install media - install medias are OK, because everything [base.tgz, kernel.tgz..] is on install media).
When I run bsdinstall from already installed system, program asks for ftp, then downloads install archives [base, kernel...], but, after download, install program wants to check MANIFEST file and this error occurs:
"Error while fetching file:///usr/freebsd-dist/MANIFEST" - no such file or directory.
Of course, there is no MANIFEST on installed FreeBSD system.
Maybe, IMHO, bsdinstall need to download this file from ftp too (not from local filesystem).
This is by design, since the manifest file is used to verify checksums. What are you using the installer for post-installation, out of curiosity? That will help me figure out how best to fix your use-case.
bsdinstall is normal part of installed system, so, you can install FreeBSD to another USB media from a normal running FreeBSD system on your laptop, just run bsdinstall.
In that case, everything (base, kernel, tgzs...) is downloaded from FTP, but MANIFEST.
MANIFEST is normally present on the FTP mirrors, and not present on installed system (of course).
And without MANIFEST, installation fails. Without proper MANIFEST (download?), bsdinstall is useless tool on the already installed system.
Is it explained better?
As a workaround, I always place the *.txz archives and the MANIFEST manually into /usr/freebsd-dist/ on the running system, before running bsdinstall. It works this way.
Nathan, there are many legitimate uses for bsdinstall on an installed system. You can generate jails and bhyve images with it, install FreeBSD on removable media etc etc. It even does not have to be interactive, I have a couple of bstinstall scripts for such scenarios.
OTOH, I have never considered automatic FTP download that important. You can download everything beforehand into /usr/freebsd-dist and be fine, like
cd / && tar xf /d02/vm/.iso/FreeBSD-10.3-RELEASE-amd64-disc1.iso usr/freebsd-dist
Yes I investigated (from error message) the solution by placing files in "/usr/freebsd-dist", that is OK (workaround).
But, in fact, you can't install manually with internal bsdinstall ftp download functionality (from installed system) - it's a pity a little...
Is something wrong (unsecure?) with fix bsdinstall and download MANIFEST automatically too?
(In reply to Petr Fischer from comment #5)
The jail script already does automatic fetch. Pending real signatures, it would be an issue of 5 lines to duplicate that code and add a security warning on installed systems. I will try to get to that this week.
MARKED AS SPAM
It also makes problems with install on OVH from FreeBSD recovery image (root mounted ro from nfs), would be nice to have it fixed.
Happened to me too.
[sorry ~3yr late to the thread, but this PR was referenced from a blog post I was reading today]
If you're soliciting other use cases in which I've used `bsdinstall` from a running system, I was trying to create a .img file with a file-backed md0
# truncate -s 20G $IMG
# mdconfig -f $IMG -u 0
# bsdinstall # install to md0
# mdconfig -d -u 0
As a side note, at least the last time I did this, bsdinstall assumes that it can freely and forcibly unmount any previously-mounted ZFS & GELI volumes which is a problem if your existing/running system is ZFS-on-GELI:
so either you have to not install to ZFS, run bsdinstall from a UFS (possibly without GELI) system, or you have to comment out the "detach all ZFS & GELI volumes" code from /usr/libexec/bsdinstall/zfsboot (I went with the 3rd option so I could create a ZFS-on-GELI .img file from a ZFS-on-GELI host system)
With the above caveats/modifications, this creates a disk image that I can then dd(1) to a drive (in my case, an OVH disk via the recovery console)