1. Don't use kernel name for headers - I'm running 2.0.1-Development,
not ALPHA, and this messes things up.
2. The last dialog was too big, make it a little smaller. Just cosmetic,
while I'm in here.
main.c sanitize the logic of what we do when:
if(getpid()!=1) do stage0 & stage1 (very useful actually)
else if (floppy-marker-file is there) stage0-2, reboot
else stage3-5
have to write the text-file it will dump on you.
Stopped using cleartoeol in AskEm(), just as a test to see if the screen
looks more sane.
Added a attempted auto-recognition of /, swap and /usr for the first disk
where it looks sensible. Logic of this might need to be improved.
Made a "ShowFile()" which will not bomb/ignore you if the file isn't there.
/sbin/umount does not return the correct exit status due to incorrect
logic in its internals.
Further, because of the nature of the code, you *cannot* use it to
umount a directory from a union mountpoint. Well, you can sometimes,
it depends on if the directory is at the top of the union stack or not :)
Submitted by: njw@cs.city.ac.uk (Nick Williams)
Make a stab at getting free space display to work.
Forward decls to shut compiler warnings up.
Increase some fields to width 2 in order to get edit_line to let you
actually edit them.
Sanity check values and yell at bonehead users.
Try to reformat this code to be a little more human. Weird europeans
have been writing this, and can't even seem to agree a single coding
style for more than 4 consecutive lines! :-)
most common cd9660 and nfs options like God intended them. (It is now
possible to say
mount -o ro,soft,bg,intr there:/foo/bar /foo/bar
again.) This whole getmntopt() business is an incredible botch;
it never should have been anything more than a wrapper around
getsubopt(3). Because if the way the current hackaround is implemented,
options which take arguments (like the old `rsize' and `wsize') are still
unavailable, and must be accessed the new, broken way.
(It's unimaginable how Berkeley managed to screw up one of the few things
about NFS that Sun actually got right to begin with!)
I have walked all over Paul Richards code again, and severely lobotomized
some of his stuff, in order to cut some corners for the 2.0-Alpha release.
I belive that we can now manipulate fdisk and disklabel-stuff sufficiently
for the release to actually be produced.
It's not that I don't like Paul and his code, I just need something I
can kick out of the door RSN.
Sysinstall is now under absolute code-freeze, only Jordan has my permission
to commit to this code (stage0 & 5). I would appreciate if everybody
else would finds problems in sysinstall send patches to me, and I will
commit them. THANKYOU.
The fdisk/disklabel editors are made in pure ncurses, and follow a model
"a`la spreadsheet".
There are some important functions which are missing still, and I would
appreciate if somebody would look at them.
The FDISK part needs a "whole-disk" option, and it needs a "rewrite
MBR-boot code" option.
The DISKLABEL part needs to be able to "import DOS-partition".
Both need a "HELP" function, (display a file "/HELP" using dialog is OK).
It seems to me like the wd.c and sd.c should reread the physical record
when a DIOCGDINFO is made, so that they can pick up changes in the
MBR-data. Otherwise there will be a couple of weird cases where we
cannot avoid replicating code from the kernel.
If you want to play with this, look at src/release/Makefile. You may need
to step back to version 1.38 of sys/i386/isa/fd.c to make "rootable"
floppies, it is not clear at this time if that indeed is the problem I
have been having.
Sleep well, my friends, and expect the real Alpha in 24H, if the tree is
still solid.
Removed a dialog_clear() which somebody aimlessly had slammed into TellEm()
in absence of any understanding of the structure of this program. :-(
Skip through stage0 for now.
Make write_bootblocks write the disklabel using the kernel-call, and forget
about the boot-blocks for now. This is wrong, but I havn't found the real
problem yet. I will continue work on this problem.
Added a Debug-feature. There is a printf' like Debug() now which sends its
output to ttyv1 (Alt-F2), and all "discarded output" from sub-processes end
up there too. Made TellEm() put it's messages there also, so that we can
see where what happens.
Set the PATH for the shell we shouldn't start at the end :-)
set "npartitions" after the disklabel-editor returns, so that we actually
can edit all the 8 parts of the label.
an array. The bug became obvious in the old system where the array was only
32 characters long (now MAXPATHLEN). Dump honored its name then (:-)
and dumped its core when calling dump -w for a fstab that contained rather long
NFS file system names. Even though this is rather unlikely to happen now,
a bug is a bug:)
Print out summary information on receipt of SIGINFO; also, stop the
kernel printing of information and restore it on exit. Now, it needs
an option to be quiet. ;)
All the mbr code now seems to be working. We can build a basic
unix disklabel in any existing DOS partition while retaining the
existing mbr bootcode or we can install to the whole disk which
puts FreeBSD's boot code into the MBR and creates a clean MBR
partition table with FreeBSD in partition 0 taking up the whole disk.
use dialog functions properly
move alloc_memory early to prevent core dump at stage 3
Change 25x80 to 24x80
Fix setenv diagnostic
Fix Fatal to call end_dialog()
Re-organised files, moved bootcode routines into their own files.
Check return types of everything and pass error messages to
windows so we get good diagnostics.
Made start on stage 2 installation. Implemented a status file that
keeeps track of where we are in the installation process and allows
installation from media sequences.
date: 1994/03/06 08:55:02; author: ache; state: Exp; lines: +4 -1
Stop count getty spacing problem, if we issue kill -1 1
----------------------------
revision 1.5
date: 1994/03/04 17:51:39; author: ache; state: Exp; lines: +9 -2
I got a lot of
"getty repeating too quickly on port %s, sleeping"
from init.bsdi, it means that getty start and exit in five seconds.
This is common situation for poor quality Russian phone lines:
modem got CONNECT message and after retries got NO CARRIER.
So I introduce spacing count, it means that this warning and
sleep occurse only after GETTY_NSPACE times of sequental attempts.
----------------------------
revision 1.4
date: 1994/02/28 21:53:52; author: ache; state: Exp; lines: +71 -10
I found (and fix) ugly bugs in init.bsdi (this bugs not present
in old init)
1) Init don't setup TERM environment variable for default terminal
type from /etc/ttys before calling getty/window.
2) When "kill -1 1" issued, init don't restart getty when
/etc/ttys parameters was changed (it only kill "off" end empty entries).
3) Small memory leak if "window" /etc/ttys parameter specified and
"kill -1 1" issued.
Obtained from: FreeBSD 1.x
being output if <= 1 rpos; there is a bug in the kernel which doesn't
quite get along with this. Changed default #rpos to 1, and fixed up
manual page. Converted nrpos to 1 if user specifies 0.
the use of the rotational position table.
2) Allow specification of 0 rotational positions (disables function).
3) Make rotdelay=0 and nrpos=0 by default.
The purpose of the above is to optimize for modern SCSI (and IDE) drives
that do read-ahead/write-behind.
DANGER WILL ROBINSON!
_PATH_UNIX is currently defined as the literal string "don't use this".
I am of two minds about this myself, but wanted to get something into the
tree as quickly as possible.
modload doesn't honor it's -p argument.
It also will destroy the input file when you don't specify an output
symbol file with -o.
Submitted by: John Kohl
arrange for that directory to get created by mtree. Also, process secure
directory after all the others, because the programs there may overlay
ones installed from the main part of the tree.
device driver cannot supply a label (real or faked). This allows
you to practice using fdisk on disposable media (e.g., "dd count=1
<dev/zero >/tmp/junk; fdisk /tmp/junk", "dd count=1 </etc/passwd
>/tmp/fix-up-the-mess; fdisk /tmp/fix-up-the-mess") and allows me
to test DOSpartitioning and labelling on floppies.
Also moved some KERBEROS related stuff inside the #ifdef.
Should we always try to do a reverse lookup (IP#->name) ?
It has som merit, but is probably against the tradition or huh ?
with DavidG, I've come to the conclusion that unless and until we define
a new directory to put these things in, /sbin is the right place.
(OSF/1 does a lot worse for non-executables in /sbin...).
1) dir.c: get byte order right in mkentry()
2) pass1.c: When doing -c2 conversion, do secsize reads for a symlink -
not doing so was causing the conversion to fail because the device
driver can't deal with short reads.