And refer to dist sets as "legacy." This matches our expectation for
FreeBSD 16.0.
Reviewed by: cperciva
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D54156
Normally after partitions are created by the installer, the 'mount'
script is used to mount the target disk partitions under /mnt. The
tail end of this script also mounts a couple of additional filesystems
under /mnt so that chrooted programs can work such as devfs and
/packages.
When the "Shell" option is used to permit the user to manually mount
the destination filesystem, the "mount" script is not used as the user
is instructed to mount the target filesystems and construct
/mnt/etc/fstab, etc. However, this means that the user is responsible
for mounting devfs (which is not included in /etc/fstab) and /packages
as well. The help message for the "Shell" option doesn't mention
these requirements, so users may not know to do so. This can lead to
confusing errors as chrooted commands can fail to find needed /dev
entries. For example, running fwget to fetch wireless firmware fails
because /dev/pci doesn't exist.
To make this less painful for users using this option, split out the
bottom half of the 'mount' script that mounts these non-fstab-related
filesystems into a separate 'mount_aux' script. Invoke 'mount_aux'
after using "Shell" to create the filesystem to ensure that these
filesystems are always present.
PR: 290901
Reported by: Peter <freebsd@peterk.org>
Tested by: Peter <freebsd@peterk.org>
Differential Revision: https://reviews.freebsd.org/D53770
The patch level is not part of the branch per se and should not be
used in constructing the FreeBSD-base.conf file used by bsdinstall.
MFC after: 1 day
When performing a pkgbase install, create a configuration file in
/usr/local/etc/pkg/repos/FreeBSD.conf which enables the FreeBSD-base
repository. (This repository is defined in /etc/pkg/FreeBSD.conf as
being disabled by default.)
Reported by: Mark Millard
Reviewed by: markj
MFC after: immediately (needed for 15.0-RC1)
Differential Revision: https://reviews.freebsd.org/D53777
When installing e.g. 15.0-RC1, we want to get files from the 15.0-RC1
pkgbase repository; but running 'pkg upgrade' after installation should
get the latest bits build from releng/15.0.
With hat: re
MFC after: 8 hours (needed in 15.0-RC1)
For BETA/RC/RELEASE builds, fetch files from the appropriate repository
on pkgbase.freebsd.org, using the appropriate signing keys. Note that
there is a separate repository for each BETA and RC; this ensures that
someone installing from e.g. a 15.0-RC1 ISO will get 15.0-RC1 bits and
not whatever happens to be the most recent build from releng/15.0.
With hat: re
MFC after: 8 hours (needed in 15.0-RC1)
The keys used for pkgbase signing are going to be placed in
/usr/share/keys/pkgbase-N where N is the FreeBSD major version
number; as such it's not sufficient to copy /usr/share/keys/pkg
into the install chroot, but instead we need /usr/share/keys/*.
With hat: re
MFC after: 8 hours (needed in 15.0-RC1)
Differential Revision: https://reviews.freebsd.org/D53753
This is consistent with other operating systems and with bsdinstall's
UFS config and with bsdinstall's ZFS config prior to commit
0b7472b3d8.
Fixes: 0b7472b3d8 ("Mount the EFI system partition (ESP) on newly-installed systems.")
Reviewed by: imp
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53642
The second and third members of struct bsddialog_menuitem are `bool on`
and `unsigned int depth`. The newfs dialog options in bsdinstall's
partition tool had these two swapped, so the default selection did not
work.
PR: 290857
Reviewed by: asiciliano
Fixes: 50e244964e ("bsdinstall/partedit: Replace libdialog with libbsddialog")
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53639
The menu was incorrectly using the fourth column (distname) instead of
the first (dist) of the MANIFEST.
The actual file name is on the first column of the MANIFEST file.
Remove the .txz part of the name to build the menu options.
Reviewed by: jamie
MFC after: 5 days
Differential Revision: https://reviews.freebsd.org/D53177
Have the button labels refer to the artifact type directly (distribution
sets / packages), and use "Tech Preview" as packaged base is no longer
experimental.
Reviewed by: ivy, cperciva
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52999
The .Fl macro implicitly adds a '-', so only use a single '-' in the
--jail option.
Fixes: 8d0a90512e ("bsdinstall: Improve pkgbase handling for jails")
MFC after: 1 day
Reported by: Mark Millard <marklmi@yahoo.com>
Sponsored by: https://www.patreon.com/bsdivy
Replace CD-ROMs with "discs, USBs, or network boot environments"
to both modernize aesthetic and also nudge youths to think at scale.
Since I'm disrupting the flow of these lines anyway, expand the VM
acronym because I think this is one of the first manuals people will
be looking at.
Reset list alignment to seven characters. It was at 19 characters,
and that was not enough to align them all, wasting many extra lines
by crunching all the words over. Seven actually bought us some lines
from six due to avg item size. Tag SPDX.
MFC after: 3 days
Discussed with: ivy, zi
Add a new --jail option to the pkgbase script which installs
jail-specific set variants if they exist:
* "minimal" is replaced with "minimal-jail"
* A kernel is not installed.
* For sets shown in the component selection dialogue, only show the
appropriate variant (jail or non-jail) for the target.
Modify the jail script to pass --jail to the pkgbase script.
Remove the redundant --no-kernel option, which was added in 15.0 and
was only used to install jails.
MFC after: 3000ms
Reviewed by: ifreund_freebsdfoundation.org
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D52829
Commit 561dc357c2 changed the way we handle components in the prompt,
and accidentally resulted in the kernel-dbg component not being listed
since we now hide all components ending in "-dbg".
Add an exception for kernel-dbg to bring it back.
Fixes: 561dc357c2 ("bsdinstall: Use package sets for pkgbase install")
MFC after: 3 seconds
Reviewed by: emaste
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D52826
With pkgbase, users may decide to install a minimal set of packages
that's missing some daemons. Check which services are installed, and
only include the ones which are present in the dialogue.
MFC after: 1 day
Reviewed by: cperciva
Differential Revision: https://reviews.freebsd.org/D52646
For proper redundancy, add copies of loader.efi to each of the ESPs we
create when we create multi-volume ZFS datasets. zfsboot creates a list
of secondary ESPs, while bootpart doesn't create any (it's the UFS
partitioning tool) because we don't supporg UFS over gmirror. The
primary ESP is mounted and is what we use efibootmgr to boot from. The
redundant copies allow the system to boot if the primary disks fails.
Sponsored by: Netflix
MFC After: 2 days
PR: 208802
Reviewed by: cperciva
Differential Revision: https://reviews.freebsd.org/D52780
This is everything in "base" but without compilers. This means we
have sets to support four basic workloads:
- "minimal" for a small installation where the user intends to add
other packages by hand.
- "optional" for a complete installation on a production system which
does not need to compile software.
- "devel", which can be added to either minimal or optional when
compilers are required.
- "base" for a complete installation, including compilers, for users
who don't want to interact with pkgbase and just want the complete
system installed like it was before.
This is probably the last set want to add; any further metapackages
would be better treated as "task" packages intended to target one
specific workload.
MFC after: 3 days
Reviewed by: cperciva, bapt
Differential Revision: https://reviews.freebsd.org/D52777
Now that the pkg package is shipped on the pkgbase release media,
install it by default for a pkgbase install if it's present.
If it's not available (e.g., when running bsdinstall from a repository
built from src alone, without ports), skip it and assume the user will
install it another way.
MFC after: 1 day
Reviewed by: ifreund_freebsdfoundation.org, cperciva
Differential Revision: https://reviews.freebsd.org/D52639
Although support for PowerPC kernels (GENERIC64 and GENERIC64LE) was
added to pkgbase-stage.lua, the equivalent support was missing from
bsdinstall, so the installer would fail at runtime since it wouldn't
find a kernel package.
Improve the pkgbase-stage logic to have a specific list of kernels
we want to support (which avoids breaking if multiple kernels are
available), and use the same logic in both bsdinstall and pkgbase-stage.
MFC after: 1 day
Reviewed by: cperciva
Differential Revision: https://reviews.freebsd.org/D52638
Update the pkgbase component selection dialogue to take the components
list from the meta-package sets available on the install media, except
for "kernel" which is still handled magically.
Always install "minimal", and by default select "base", "kernel-dbg"
and any libcompat sets (e.g., lib32) if they're available.
Replace the various "dbg" options with a single "debug" component that
installs the debug symbols for all the components the user selected,
except for kernel since we handle that separately and it's common to
want kernel debugs symbols without userland debug symbols.
MFC after: 3 seconds
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D52558
All datasets on zroot pool are compressed by default since FreeBSD 11.0 [1],
no need to mention that on some specific datasets these days.
[1] 47206692f2
Reviewed by: jrm (mentor), ziaee
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D52304
Without -P (or -R, which defaults to enabling -P) symlinks are
dereferenced and so the target file is copied, not the symlink itself.
Fixes: 5e16809c95 ("tzsetup: symlink /etc/localtime instead of copying")
This package has been newly split off during man page reorganization and
should be considered part of the "base" component rather than being
ignored. Update pkgbase release and bsdinstall scripts for this change.
Reviewed by: ivy
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D51519
According to zfsprops(7), the canonical property for the compression
algorithm is "compression", with "compress" accepted as an alternate
name. Use the canonical name in bsdinstall.
While here, change "lz4" to "on" so we pick up any future changes in
the default compression algorithm.
MFC after: 1 week
Reviewed by: delphij
Differential Revision: https://reviews.freebsd.org/D51572
When reinstalling FreeBSD bsdinstall reported "There are multiple
FreeBSD EFI boot entries." This sounds like something went wrong in the
past. Clarify that there may be only one existing entry, which is not
surprising for a reinstall.
Reviewed by: manu, ziaee
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D51527
It hasn't worked for some time -- as reported in review D40816
"Installing FreeBSD with Auto ZFS + MBR has been broken ever since the
move to OpenZFS with FreeBSD 13." It relied on the partition table and
ZFS data overlapping in a very fragile way and is not a good idea.
Reviewed by: jhb
Relnotes: Yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D51028
I somehow ended up with a tree where make -V BRANCH and make -V REVISION
were broken, resulting in a FreeBSD-base.conf with a broken repo URL.
Check for BRANCH == RELEASE explicitly and emit a warning if BRANCH does
not match an expected case.
Reviewed by: Isaac Freund <ifreund@freebsdfoundation.org>
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D51528
Currently bsdinstall does not install FreeBSD-base.conf when performing
an offline pkgbase installation. This commit fixes that.
PR: 287821
Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D51101
Without the extra '\n' the dual-column ('REGD' '') are not properly
separated for dialog which leads to an [misleading] error hidden on
the command line:
Error: --menu bad arguments items number.
[Writing this I wonder why the dual-column input is needed].
It is still unclear as to where the error message quoted in PR287538
suddenly came from for 14.3-RELEASE given the code was broken since 2016
(or noone ever noticed or reported).
Looking at manual ifconfig output:
ifconfig wlan0 country GB regdomain Expected
-> ifconfig: unknown regdomain Expected
and "ifconfig: " gets stripped by the script, which means the regdomain
variable would have to be set to "Expected" or more likely to
"Expected eval: Use: not found" which looks like a concatination of
errors.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Fixes: 95ee591e83
PR: 287538
Reviewed by: emaste, thj
Differential Revision: https://reviews.freebsd.org/D51313
We should improve error reporting from commands invoked by binstall more
generally, but this is a small improvement for an observed failure case.
PR: 287654
Reviewed by: allanjude
Event: Kitchener-Waterloo Hackathon 202506
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D50941
If the install media was built without dist sets (and so has no MANIFEST
file) we do not need to prompt the user, and only pkgbase is in use.
Reviewed by: Isaac Freund <ifreund@freebsdfoundation.org>
Event: Kitchener-Waterloo Hackathon 202506
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D50918
As of commit 62d18f8c4c ("release: Add -DPKGBASE option to include
pkgbase packages") we can include base system packages on the install
media instead of dist tarballs.
Set the default for the traditional/pkgbase question to match the
artifact type included in the install image.
Reviewed by: jrm
Event: Kitchener-Waterloo Hackathon 202506
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D50467
b6644f5 introduces FREEBSD_BOOTLABEL="FreeBSD" as default value
but cc42ef5 removed this line, expecting it to be set by update_uefi_bootentry()
But ps3 don't use this function so its broken completely.
So we add this line back.
Signed-off-by: Chattrapat Sangmanee <aomsin27@hotmail.co.th>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1594
It is possible to restart the installation process upon errors, when
installing normally through the `auto` script, or when installing a jail
with the `jail` script. However, some values obtained interactively from
the user or guessed by some scripts were kept in the environment when
restarting the process; this made it impossible to re-run some steps as
expected after the restart.
For instance, if a bad choice of mirror was made in the `mirrorselect`
phase, restarting the installer remembered the choice made, and would
never prompt for a different one again. Rebooting was then the only easy
way out of this situation.
This change restores a pre-defined list of environment variables when
restarting the installation process.
PR: 266987
Reviewed by: emaste
Approved by: philip (mentor)
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D42281
This provides a more consistent user experience to the FreeBSD
installer.
Tested by: thj
Approved by: philip (mentor)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D44280
These now use bsddialog rather than prompting the user for input on the
console.
Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D50270
This matches the style of the component selection dialog for traditional
tarball-based installations. The only difference is that there is
currently no ports component offered when using pkgbase.
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D50178
If the user accepts our offer of a shell to perform final configuration
tasks before rebooting, start a login shell. This ensures it will have
the correct PATH and be able to install packages without issues.
PR: 286722
MFC after: 3 days
Reviewed by: jrtc27, allanjude, emaste
Differential Revision: https://reviews.freebsd.org/D50297