probed in sysinstall. Rather than make template devices and use up lots
of inodes, also restricting the number of devices that can be dealt with,
mknod all necessary devices as necessary using built-in information.
This removes a number of constraints on the number and type of devices
that sysinstall can see.
Now you can use one without entering the other and it will DTRT.
These changes just allowed me to do the most straight-forward new disk
installation I've ever managed with sysinstall.
setup dialog from scripts is more controllable. No more biasing off of
hostname (which is now non-optional in the non-netInteractive case).
Requested by: pst
lots of disks from sysinstall. Yay! Please test this as much as
possible with any 3.0 SNAP later than 970910 (I.E. tomorrow's snap),
especially those of you with larger disk farms.
Submitted by: Ed Gold <vegold01@starbase.spd.louisville.edu>
so you don't need to re-enter it for each and every filesystem. Heads up!
This change is incompatible with the previous scripting format,
so those folks (all 2 of you) using config files should take a look
at the changes to the sample install.cfg file for the diskLabelEditor's
new calling syntax.
Finally write a man page for this thing, documenting all of the above
and more. I can't drive a stake through this thing's heart without
properly documenting it first, so please consider this step #1 in that
process (to be honest, sysinstall will also live on for some time in
the 2.2. branch since it's unlikely that the new install tools will ever
make it over there - they're strictly 3.0 material).
1. Detecting the split /dev/ttyv0 / /dev/console case, e.g. you've
booted with the -h flag and you have a VGA card also.
2. Adding an extra "menu" for selecting terminal type and adding ANSI
to the list of compiled-in terms.
3. Opening the proper file descriptors before disowning ourselves.
Requested by: pst
those ideas that, like the Apache server setup, was well-intentioned
but doomed to fail in the face of change. That and the fact that it
shouldn't be part of the installation tool, it should be part of the
post-installation setup tool (which we need to write). Combining the
two utilities into one utility was my first conceptual mistake.
Apologies also to Coranth Gryphon, who worked hard on the Apache
and Samba server setup code. These features were quite useful
for awhile, if that's any consolation, I just simply had the wrong
ideas about where to put them. :-(
Add a system command to script mechanism (so you can call things like
tzsetup from scripts).
Add noError variable for causing script errors to be ignored.
sysinstall about the dangerously dedicated message, and other
variables to allow pre-configuring the distribution sets.
Still todo: add a variable to define an initial set of packages that
should be loaded.
Reviewed by: jkh
2. Back out my change to ask about UTC/Localtime here. This *really* needs
to be done in tzsetup instead since putting it here only handles about
1/4 of the places where it needs to be.
Now that this is becoming (dare I even say it?) more useful for
post-configuration, no longer leave sysinstall.debug files around
by default. Only do this if environment variable SYSINSTALL_DEBUG
is set.
so that we're more useful in multi-user mode. This is still not
100%, but it pulls in a lot more than it used to. Some of the "composite"
variables in /etc/sysconfig are going to take more work.
o Always write /etc/resolv.conf and /etc/hosts if it makes sense to do
so.
o Reset media properly when reselecting. Longstanding bogon.
o Pull SIGPIPE handling out of package.c; I'm actually hoping to handle
this differently shortly.
o Fix bug where cancel in TCP setup dialog still checked data fields.
I think this closes a PR, but I will have to go look.
at the time, but on further reflection..." bucket with these changes.
1. Checking the media before frobbing the disks was a fine idea, and
I wish it could have worked, but that leads to a rather difficult
situation when you need to mount the media someplace and you're about
to:
a) Chroot away from your present root.
b) Newfs the root to be.
You're basically screwed since there's no place to stick the mount
point where it will be found following the newfs/chroot (and eliminating
the chroot in favor of just using the "root bias" feature would work
great for the distributions but not the pkg_add calls done by the
package installer).
2. Automatic timeout handling. I don't know why, but alarm() frequently
returns no residual even when the alarm didn't go off, which defies
the man page but hey, since when was that so unusual? Take out timeouts
but retain the code which temporarily replaces the SIGINT handler in
favor of a more media-specific handler. This way, at least, if it's hanging
you can at least whap it. I think the timeout code would have been losing
over *really slow* links anyway, so it's probably best that it go.
This should fix NFS, tape & CDROM installs again (serves me right for getting
complacent and using just the FTP installs in my testing).
more consistant in our use of the terms for differentiation between PC
partitions and traditional BSD partitions.
Submitted-By: obrien@cs.ucdavis.edu (David O'Brien)
section was a good thing, since it made it possible to detect media problems
*before* the installation started, but it also caused various things to
be mounted BEFORE the chroot() call, which definitely messes things up.
Fix this by detecting the pre-chroot() case and mounting into a subdir.
bogus path and FTP I/O errors much earlier, offer retry possibilities
at steps along the way so you don't have to resume from the very beginning
again on a hard error.
1. Bus mouse selection didn't show up properly in mouse menu.
2. U&G management screen didn't respect cancel properly.
3. Novice not prompted to add users or set root password during installation.
4. Username length changes screw up user management form.
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.
Use consistent spelling throughout.
Remove unmount in fixit_common() since that's bogus in the CDROM case and
properly "shut down" the media device instead.
if wrong version.
2. Make sure network device is initialized in ftpInit
3. Eliminate bogus size values in the menus. For now, we'll have to admit
that nobody's added it up yet. In the future, these menus should be
build dynamically anyway, not declared static.
4. Add more debugging to networking code to chase the mystery ppp device
problem.
1. Don't use the MSDOSFS code for accessing FreeBSD distribution data.
Use Robert Nordier's stand-alone DOS I/O library for the purpose.
It this works as well as Robert says it does, it should drastically reduce
(or even eliminate) our "I can't install from my DOS partition!" calls.
2. As a result of the above, go to stdio file descriptors for all
media types.
3. Taking advantage of #2, start using libftpio for FTP transfers instead
of maintaining our own parallel version of the FTP transfer code.
Yay! I ripped something out for a change!
#1 Submitted-By: Robert Nordier <rnordier@iafrica.com>
bogus or overly complex and really needed to be done more consistently
and sanely throughout - no question about it. Done.
Suggested-By: Paul Traina <pst@Shockwave.COM>
which will also need to be brought in before this screen will work.
Add some commentary about how the slip startup code is bogus.
Steal Joerg's loop for more properly closing all files and graft it into
the EHS startup. My loop was functional but more bogus.
o Incorporate some of Tatsumi's bug fixes.
o Remove the xperimnt and commerce distribution items; they haven't
been actual distributions for awhile.
o Try to sanitize the device checking code a little more.
o Cosmetic work on the network code.
the main menu.
2. Conditionalized a few small things which needed it.
3. Put PC98 X servers in their own menu, there are so many of them now.
4. Rampaged on the menus.c file in general, reformatting and cleaning up.
Not all mappings are supported, most languages come only with one
encoding since this should be sufficient to get up & running in using
sysinstall, and we are already pretty tight on space. (My previous
commit has already bumped the boot MFS size by another 50 KB for
this.)
This feature requires the `kbdcontrol -L' i've just committed. Plain
text keymaps and the entire scanner are overkill for sysinstall.
Also updated the list of available keymaps while i was at it.
Reviewed by: jkh
. Don't gzip the crunched binary by now; it just fits, and execution is
a lot faster this way (it's truly demand-paged again).
. Add more(1), ft(8), protocols(5), a stripped down services(5).
. Improve the .profile, and make sysinstall actually use it again.
Still no go for a 4 MB configuration though. :-(
but make a second attempt using MNT_FORCE, just in case it has been
unclean from a previous crash. That's dangerous, but far better than
keeping the despaired user standing in the rain...
(Experienced admins can still fsck it then, and remount. Others will
either totally crash, or incidentally succeed, without much further
help possible...)
Btw., mount(2) misses the description of MNT_FORCE for the mount
syscall.
Some changes of my own to make screen saver configuration a little
more sane, and also make it easier to get to the keyboard/screen
setup from the options menu.
place (sysinstall.h) when packages change rev.
Change the way that the routing daemon is configured entirely, to
placate Joerg. Also auto-load gated if it's specified, while we're at it.
This fixes the kernel panic when propagating userconfig changes to
arbitrary kernels.
Remove obsoleted `#include <tcl.h>' added a few <stdio.h> where
necessary.
Fix getting scsi bus information from an -incore kernel.
Turned on SAVE_USERCONFIG by default.
SLIP/PPP devices, putting them before the others in the network device
selection menu.
2. Change "Other" to "URL" so as not to conflict with the keyboard accellerator
for the "OK" button in FTP site selection menu.
3. Detect the NULL last symbol in the name list and initialize the other
members correctly.
First, change sysinstall and the Makefile rules to not build the kernel
nlist directly into sysinstall now. Instead, spit it out as an ascii
file in /stand and parse it from sysinstall later. This solves the chicken-n-
egg problem of building sysinstall into the fsimage before BOOTMFS is built
and can have its symbols extracted. Now we generate the symbol file in
release.8.
Second, add Poul-Henning's USERCONFIG_BOOT changes. These have two
effects:
1. Userconfig is always entered, rather than only after a -c
(don't scream yet, it's not as bad as it sounds).
2. Userconfig reads a message string which can optionally be
written just past the boot blocks. This string "preloads"
the userconfig input buffer and is parsed as user input.
If the first command is not "USERCONFIG", userconfig will
treat this as an implied "quit" (which is why you don't need
to scream - you never even know you went through userconfig
and back out again if you don't specifically ask for it),
otherwise it will read and execute the following commands
until a "quit" is seen or the end is reached, in which case
the normal userconfig command prompt will then be presented.
How to create your own startup sequences, using any boot.flp image
from the next snap forward (not yet, but soon):
% dd of=/dev/rfd0 seek=1 bs=512 count=1 conv=sync <<WAKKA_WAKKA_DOO
USERCONFIG
irq ed0 10
iomem ed0 0xcc000
disable ed1
quit
WAKKA_WAKKA_DOO
Third, add an intro screen to UserConfig so that users aren't just thrown
into this strange screen if userconfig is auto-launched. The default
boot.flp startup sequence is now, in fact, this:
USERCONFIG
intro
visual
(Since visual never returns, we don't need a following "quit").
Submitted-By: phk & jkh
kernel" mechanism. This is just the foundation - more work follows
and will be committed over the next few hours.
Submitted-by: "Eric L. Hernes" <erich@lodgenet.com> & jkh