Right now syscons(4) uses a cons25-style terminal emulator. The
disadvantages of that are:
- Little compatibility with embedded devices with serial interfaces.
- Bad bandwidth efficiency, mainly because of the lack of scrolling
regions.
- A very hard transition path to support for modern character sets like
UTF-8.
Our terminal emulation library, libteken, has been supporting
xterm-style terminal emulation for months, so flip the switch and make
everyone use an xterm-style console driver.
I still have to enable this on i386. Right now pc98 and i386 share the
same /etc/ttys file. I'm not going to switch pc98, because it uses its
own Kanji-capable cons25 emulator.
IMPORTANT: What to do if things go wrong (i.e. graphical artifacts):
- Run the application inside script(1), try to reduce the problem and
send me the log file.
- In the mean time, you can run `vidcontrol -T cons25' and `export
TERM=cons25' so you can run applications the same way you did before.
You can also build your kernel with `options TEKEN_CONS25' to make all
virtual terminals use the cons25 emulator by default.
Discussed on: current@
offer to install an SMP kernel. The way this worked was: on supported
platforms, code to read ACPI tables and BIOS MP tables was compiled into
sysinstall, and if an SMP kernel config was present in the source tree when
sysinstall was built, code that called it was also compiled. Since we
haven't had SMP kernel configs in years, the latter was never compiled and
the former never ran.
This only removes dead and unreachable code; it does *not* remove the NCpus
variable, nor the code that sets it to 1, nor the code that asks the user to
select a kernel from a list.
Discussed with: re@, randi@ and others
device in non-interactive mode.
If there are no USB devices, sysinstall gives an error messages, and if there
is >1, it'll ask which one is to be used. This change allows a non-interactive
install from USB media to succeed without any user interaction if there is
exactly one USB disk device in the system it can use.
Submitted by: Daniel O'Connor < doconnorat gsoft dot com dot au >
Reviewed by: randi
Approved by: re (rwatson)
"SATA disk device" reflects the current state of /dev/ada*; this may be
changed in the future if other drive types start appearing as /dev/ada*.
Submitted by: randi
Details about what disks can appear as /dev/ada* supplied by: scottl
Approved by: re (rwatson)
to 'Expert Mode', to make it less confusing to new users, to whom
a 'wizard' is a set of simple dialogs with the 'next >>>' button.
Approved by: re (kensmith)
both the disk partitioning screen (the 'F' key) and via install.cfg (the
VAR_DEDICATED_DISK option). This functionality is currently broken in 8.x
due to libdisk and geom generating different partition names; this commit
merely acts to help steer users away from the breakage.
Submitted by: randi
Approved by: re (kensmith)
While doing so, improve style and reword some comments.
This should not result in any functional changes, but the fixit_livefs_common
function will be used by future code.
Submitted by: randi
Approved by: re (kensmith)
FreeBSD docset during 'make release' this will speed up release
builds;
- sysinstall(8) has also been updated to use these packages with a new
menu allowing people to choose what localized doc to install;
- mention in UPDATING that docs from the FreeBSD Documentation project
are now installed in /usr/local/share/doc/freebsd instead of
/usr/share/doc.
Approved by: re (kensmith)
A fresh install of a current 8.0 snapshot uses 156MB with a single kernel
and having the filesystem too small prevented the system from booting.
Reviewed by: marcel
MFC after: 1 week
This covers the common case of unsliced USB drives, and makes it possible to
select them as installation source media.
PR: 61152, 115197, 135016
Submitted by: randi
MFC after: 1 month
is, consistently call it the boot manager, and switch the order the
options are presented so no boot manager is first in the list (and
hence more or less the default).
This area will probably be rototilled more before 8.0 comes out.
selected from the "dists" are all on the current volume. Looks like
xorg won't fit on disc1 for 6.4-REL. Iterate through media volumes
for packages that wind up being selected from the dists section in
addition to the ones that get selected from the packages menu.
MFC after: 2 days
keymap. You can learn some interesting things in the PR database!
PR: conf/124411
Submitted by: Doctor Modiford <freebsd -at- modiford.com>
MFC after: 3 days
the user selected and then recursively installing their dependencies, finally
installing the ones the user selected after the recursion unwinds. Since
users often select "high-level" packages that are on a higher numbered
disc for the multi-volume release CDROMS this resulted in excessive disc
swapping while installing things like kde, gnome, etc.
Cut down on disc swapping by iterating through the disc volumes one at a
time if we notice the package set is on multiple volumes. If a package
is on a higher volume don't install it yet, but still "process it" so we
get its dependencies installed. Because of the way the package sets for
releases get assembled we're guaranteed dependencies will be on the same
volume or lower.
Reviewed by: jhb
MFC after: 1 week
tape have been broken for quite a while, and I'll be removing the rest
of sysinstall's knowledge of tapes shortly. I'm doing this piece now
because I want to switch from gnu's cpio to bsdcpio being integrated
into the installation environment and bsdcpio doesn't seem to handle
block sizes at all.
Both sysinstall and sade still seem to use the TIOCGSIZE ioctl to obtain
the terminal dimensions. We'd better use TIOCGWINSZ to do this. The
TIOCGWINSZ interface is preferred, because it also allows sizes in pixels
to be passed to the application (though this is not used here).
Approved by: philip (mentor)
I tested this as well as the submitter and couldn't resolve this either,
since I dont want to "announce" dead mirrors, I'll remove it from the
list.
PR: 122567
Submitted by: vs
Approved by: imp (mentor, implicit for trivial changes)
MFC after: 1 week
probably the right thing to do a while ago but xorg has progressed
to the point that for novice users (who are the ones expected to think
installing X11 during an install...) it's best to just install the
whole x11/xorg metaport for them. This removes the X11 sub-menus
and sets it up so you just select whether or not you want X11. While
here garbage collect an X11 configuration menu I missed removing when
I removed support for attempting xorg configuration from inside sysinstall
a while ago.
Discussed with: rwatson, kris
No objection from: re
Release build tested by: rwatson
MFC after: 1 week
we would leak a saved screen for every other package we tried to install
that listed perl as one of its dependencies. When installing things
like gnome and kde that wound up being a LOT of leaked memory.
Insta-MFC request coming so this can be tested as part of 6.3-RC2...
Testing help from: kris
too small for today's standards. While loading packages sysinstall
blows past this by a LOT but I think (hope...) that's caused by other
bugs. I'll look more into why sysinstall's memory use has gotten so
out of control as it loads packages but independent of that there really
is no reason to leave the limits on datasize and stacksize in place. And
they can cause problems for some of the things "modern packages" might
be doing via pkg_add which gets run by sysinstall and would inherit the
limits.
Another insta-MFC probably coming, this is holding up 6.3-RC2. Sysinstall's
memory use is so out of control it blows past the current limit before it
finishes loading either of the meta-packages kde or gnome...
"build dependencies" field is 5,108 characters which overflows the
length of the junk buffer by a teeny bit. This whole section needs
much more error checking but for now just completely ignore stuff
we have no interest in instead of copying it to someplace we don't
use in the process.
Insta-MFC probably coming since this is holding up 7.0-RC1...
xorg-server doesn't include any video drivers so install xorg-drivers as
well. And if font-alias isn't installed the X server won't start,
complaining it can't find the font "fixed".
Insta-MFC coming, this was tested with a RELENG_6_3 release build and
the necessary packages as part of the first round of testing for 6.3-RC2.
caused a segfault. It turns out that in pre-7.0 systems if you do
getenv("amd_enable=YES") it will return the setting of the environment
variable "amd_enable" but now it returns NULL. I think I found the
places where sysinstall was potentially relying on that old behavior.
Fix is to make a copy of the string to be used for the getenv(3) call,
look for a '=' character in it, and replace it with '\0' if one is
found. Stuck to sysinstall's typical coding standards despite urges
to do otherwise.
PR: 117642
MFC after: 2 days
setenv(3) by tracking the size of the memory allocated instead of using
strlen() on the current value.
Convert all calls to POSIX from historic BSD API:
- unsetenv returns an int.
- putenv takes a char * instead of const char *.
- putenv no longer makes a copy of the input string.
- errno is set appropriately for POSIX. Exceptions involve bad environ
variable and internal initialization code. These both set errno to
EFAULT.
Several patches to base utilities to handle the POSIX changes from
Andrey Chernov's previous commit. A few I re-wrote to use setenv()
instead of putenv().
New regression module for tools/regression/environ to test these
functions. It also can be used to test the performance.
Bump __FreeBSD_version to 700050 due to API change.
PR: kern/99826
Approved by: wes
Approved by: re (kensmith)
id used by sysinstall when enabling anonymous FTP.
Change the default group used by sysinstall for setting up anonymous FTP
from operator to ftp; there is no reason to use operator and there are
potential security issues when doing so.
PR: 93284
Approved by: ru (mentor)
Reviewed by: simon