Commit Graph

52 Commits

Author SHA1 Message Date
he 6e75ae6383 Complete initializers, and correctly order "static" relative to "const",
i.e. at the front.
2006-10-23 19:45:56 +00:00
dsl b051d89585 Make floppy install messages less confusing (maybe).
Make floppy file system type settable - it depends on the system you are
using to write the split sets, not the target.
2006-02-26 10:25:52 +00:00
dsl ac97411677 Use a menu for 'install from floppy' questions.
Ask whether the user wants to delete the fetched files (ftp and floppy) after
install.  Delete after sucessful install of each file.
Kill bufferred tty input in a couple of places when typeahead will be wrong.
Code added to run.c to do a 'cd' in the child, unused (so far).
2006-02-25 20:21:00 +00:00
dsl 9fc0a7f722 Rework the installation loop so that it is possible to change the source
of the sets after an error.
A side effect is that it now does fetch-install-fetch-install..., not
fetch-...-fetch-install-...install.
The set selection code now uses a byte per set (not a bit-pattern) removing
the restriction of 32 sets, and allowing a per set status display (TBC).
Also TBC is deleting sets from /usr/INSTALL.
However I believe it works...
2006-01-12 22:02:44 +00:00
dsl 855ac51c74 Simplify code that opens file for -f option.
I bet no one ever uses the option anyway!
2004-11-11 20:17:48 +00:00
dsl da414ff103 Remove the globals ramsize and rammb, the former was only ever used inside
a single function, the latter is now the return value of get_ramsize().
Changed all uses of rammb to get_ramsize().
Used the 64bit HW_PHYSMEM64 so silly things don't happen if the memory size
approaches (or even exceeds) 4GB.
2004-07-17 10:55:03 +00:00
dsl a9372a42f1 Add a menu (right at the start) to ask for the keyboard type.
Save the result in /etc/wscons.conf at the end of the install/upgrade.
Currently only builds for i386 - change arch/*/Makefile and add the
extra messages (though they could go into the msg.mi.* files).
Needs the 'Keyboard type' message translated in to German, French and polish.
Maybe the keyboard type names could be less cryptic...
2004-06-12 19:18:24 +00:00
christos 2fe9365746 Get rid of the EXTERN/INIT mess; fix so that we can process this with xstr(1).
Not worth processing though, since on the i386 we only save ~3K.
2004-06-06 06:06:59 +00:00
dsl 3a2118e931 A load of usability fixes mainly to network installs.
I've made the error retry loops go back as far as the input menus.
Split all the pathname inputs into 2 pieces (base directory and set directory).
Reduced the size of some fixed strings.
Stopped the install aborting if ftp can't find a set (eg the X ones).
The French and Polish transations don't differenciate between Base_dir and
Set_dir - but that can be fixed later.
2004-06-05 21:18:59 +00:00
dsl 5d2ed42cb6 Throw out all the crap to do with etc.old, instead install etc/tgz
into /.sysinst and use /etc/postinstall to do the merge.
2004-04-18 21:34:56 +00:00
dsl 7ef7a3f227 Checkpoint a load of changes - seems to work ok still.
- rework run_prog() so that the program name (etc) is usually displayed if
  the program generates any output, or terminates with an error.
  Allow arguments to included in single quotes.
  Try to collect console output so it doesn't interfere with curses.
- Add a '*' to the cylinder count if non-integral number of cylinders
  (on disklabel editor)
- Only show partition type for unused partitions.
- Show size including unused space on '+' partition, remove a..z since
  the don't relate to partition IDs (netbsd partition sizes)
- Fix deleting of 'user' partitions - killed size of next ptn.
- Don't default a swap partition is the disk already has one.
- Fix deleting of extended MBR partitions - changed size of ptn 2.
- Show error message if user tries something illegal in mbr editor.
- Default to old diskname (actually disk type - dunno why!)
- Use MI enable_rc_conf() to set RC_CONFIGURED=YES, use a single sed
  command instead of a raft of code playing with files etc.
- Float some menus to just below header text, saves counting and lets
  language variants have different height headers (use y=-1)
- Track whether anything is mounted on /mnt2 better.
- Put more texts into message file.
- Change english prose texts to be more correct.
- Stop french and polish versions core dumping if ptn start/size changed.
- Fix processing logic for saving /etc (action is still borked)
- Do tail-end setup if any sets (eg X) can't be found (but not if you give
  in (yet)).
2003-10-19 20:17:31 +00:00
dsl 02dbd70852 Remove extra process and pipe that relayed data from the master pty
to sysinst's main process when a command is run (eg the file list from pax).
Since the pty is in 'packet' mode, the boundaries of the pty reads would
need to be preserved in order to detect control records.
If the pipe became full the main process could treat part of a filename
as a control byte and then save the rest of the name as tty settings.
The effect of 'random' tty settings is unknown, but could be responsible
for core dumps while displaying the full file list from pax.
I suspect that the extra pipe was originally used because select wasn't
supported on the master side of a pty (not checked).

Also cd out of /targetroot if set installation is killed with ^C ^C.
2003-07-28 11:32:21 +00:00
dsl 96ace5d58c Remove 'menu_ent' parameter from action routines.
Add menu for all disklabel partition types.
Default 'partition type' and 'sizechoice' menus to current value.
Change 'standard/use existing' to 'set sizes/use existing'.
2003-07-27 07:45:08 +00:00
dsl da36837548 Copy /etc.old back to /etc if it was saved, but we didn't actually
install the ETC set.
2003-07-18 09:46:11 +00:00
dsl 5a411fd464 Create mount point used for target system. 2003-07-09 20:02:35 +00:00
dsl 0e919832bd Another pass of the rototiller. Mainly:
1) New MBR editor
2) Hierarchic timezone menu
2003-07-07 12:30:19 +00:00
dsl 16a2d1e961 Add run-time selection of installation language.
Make 'doingwhat' an argument to find_disks() instead of a global.
2003-06-27 22:20:14 +00:00
dsl 9ef6b561d7 Add a -D (debug) option for testing.
Ignore inability to remove swap if -D specified.
Select disk before sets (but label after)
Let mac68k sysinst run on i386.
2003-06-25 15:45:21 +00:00
dsl 08fc1c1957 A load of KNF changes, plus a couple of strnxxx => strlxxx my fingers did
on the way through.
2003-06-16 19:42:13 +00:00
dsl 3316b2a3d8 Use dynamic menu for final editing of partition stable 2003-06-10 17:47:15 +00:00
dsl d19795892c A rototil of the partition size requesting code. 2003-06-04 20:05:12 +00:00
dsl 19b2fb2fb0 Add NULL to all process_menu() calls - value is passed through to the
action routine.
Make the french and polish versions compile.
NB needs a new version of menuc - so need 'build.sh tools'
2003-06-03 11:54:48 +00:00
christos 2d7e213ded pass lint[pass1] 2003-01-10 20:00:27 +00:00
fvdl 171b46b525 FILE *log -> FILE *logfp, to avoid warnings about gcc-current's
builtin log() function.
2002-12-05 01:17:15 +00:00
grant 32c14ac1fc refresh screen before processing menus. 2002-07-27 10:02:50 +00:00
lukem 29f550aa8c - Replace make(1) and -D FTP_HOST with SYSINST_FTP_HOST.
Defaults to "ftp.netbsd.org"
- Replace make(1) and -D FTP_DIR with SYSINST_FTP_DIR.
  Defaults to "pub/NetBSD/NetBSD-" + VER + "/" + MACH.
  (FTP_DIR used to override "pub/NetBSD/NetBSD-", which meant the
  path name had to contain the release version in it)
- Add make(1) and -D SYSINST_CDROM_DIR.
  Defaults to "/" + mach.
- only append ftp_prefix to ftp_dir and cdrom_dir once, just after
  the options are parsed.  Do this in newly added set_defaults().
2002-06-06 09:53:22 +00:00
perry b4109e020f XXX if a color term, do color. horrible kludge. 2001-11-17 02:06:47 +00:00
scottr d4a2f03f78 Add support for FTP through a web proxy (via the ftp_proxy environment
variable).
2001-06-06 23:12:48 +00:00
mrg 8da46e6897 de-__P()-ify 2000-12-22 10:12:12 +00:00
minoura fa875fd970 Welcome message `If you booted from a floppy,...' is somewhat port-specific
instruction.
Create md_hello message and move that message to it.

Port-maintainers: please reflect the reality of your port.
Someone who can write french: please correct *.fr catalogue.
2000-12-03 01:54:46 +00:00
fvdl 30b8888d4a * Change the interface of run_prog: use a flags argument instead of
seperate booleans. Add flags to run as a plain 'system()' command,
  fullscreen (but on a pty), and chrooted, and implement their
  functionality. Add a bit of TIOCPKT handling code to handle
  programs messing with term settings better.
* Ask to set the root password at the end of an install.
* Remove a few unneeded comments.
* Sprinkle some touchwin() calls here and there to make the output cleaner.
  They shouldn't really be needed, but even normal usage (no syslog
  messages) even left the screen messy sometimes.
* Change some messages around that were apparently swapped by accident and
  thus caused confusion.
2000-10-11 23:47:55 +00:00
fvdl 4ee4b50498 Add a definition for md_init(), an MD function to initialize whatever
needs to be initialized before sysinst starts processing menus.
Call it from main().
2000-10-02 09:26:26 +00:00
hubertf 6458701315 fix typo 2000-05-11 02:23:53 +00:00
cgd 092b1acdb4 now that msg_window returns a value, check it 1999-06-22 15:04:15 +00:00
cgd afa3578c2f provide a way to ignore tty-generated signals (INTR and QUIT) and/or
forward them on to subprocesses.  nice when running a subprocess in
a display window to allow the user to kill the subprocess w/o nuking
sysinst itself.  add handling for QUIT, which gets handled the same
as intr.  add handling for HUP which just cleans up.  More signals
should be handled.
1999-06-22 00:43:57 +00:00
cgd a640bc7014 copyright notice typo fixups, as noticed in PR#7248. This software
was developed, not develooped.
1999-06-20 06:08:13 +00:00
garbled 128b6749ab Check the return code of subwin and newwin for NULL. 1999-06-20 04:17:57 +00:00
cgd fb8da4672e initialize the menu systerm before setting up the message window. Then
use stdscr's maxx and maxy to set up the message window rather than hard
coding 78 and 22, respectively.  The latter, combined with large messages
and a relatively small screen (and perhaps badly-placed menus), would seem
to cause the SEGVs reported in PR#7806.  (For certain window sizes, the
menu system would reject the menus as too small, but for others sysinst
would just crash.)
1999-06-19 06:52:22 +00:00
cgd bf0ffa5211 * hitting control-c (causing SIGINTR) would cause the SIGINTR handler to
be called.  it'd cleanup() then exit().  however, cleanup() is scheduled
  to run at exit via atexit().  This means that it gets run twice, and
  this causes confusion for things like endwin().  The end result is
  that rather than actually exiting and printing the "sysinst terminated"
  message, after one control-c it looks like it's still sitting at the
  last screen you were viewing even though it's actually at a shell prompt.
  squelch the cleanup() in the SIGINTR handler to avoid this problem.
* while here, nuke the annoying space before the "sysinst terminated."
  message.  it looks bad, and serves no purpose.
1999-06-18 08:54:28 +00:00
bouyer 04f9354ab3 Some fixes for the do_install() function:
- Make all the functions called from do_install() return an error code,
  so that we can abort install if something went wrong.
- Add a 'errstr' argument to run_prog(), which if not NULL is displayed
  with msg_printf() and followed by process_menu(MENU_ok) if the command fail.
  Used to warn the user that the current action is aborted.
- in a few places use msg_display() or msg_printf() rather than printf.
  It seems that stdout/stderr are not always pointing to the active curses
  window.
- garbage-collecd unused messages, add a few new one (error handling).
XXX only tested on i386. Other md parts should be tested as well.
1999-04-09 10:24:38 +00:00
fvdl a5d73e00eb Rework the MBR code, and some of the labelling code.
* Use structures, not 2-dimensional arrays..
	* Use the DIOCGDEFLABEL ioctl to get the disk information,
	  to avoid confusion with (older) labels.
	* Don't ever call fdisk for partitioning. This was the
	  source of much confusion.
	* For the i386, use the BIOS geometry information passed by
	  the bootblocks.

Lots of things left to do, but it's a start.
1999-03-31 00:44:48 +00:00
garbled 865c31ac7b This change includes the following:
Scripting and logging functionality for sysinst.
Child programs are run in a "display window" so you can actually see what
	they did before the screen flashes back and you loose it all.
Lots of curses fixups.  Removed nasty endwins that mangled the tty upon
	rentry.
Change the yes/no box to accept Y or N, and not require cursor motion to
	decide one or the other.
Perform curses redraws when doing things that could cause the kernel to
	spew printfs onto your screen.
1999-01-21 08:02:17 +00:00
phil be6397e767 Implement a config file (-f file) option that overrides compiled in
defaults for things like rel (release number), ftp host, ftp prefix,
cdrom device, cdrom directory and others.
1998-10-25 19:15:04 +00:00
mrg d1b0d1b602 KNF. 1998-06-20 13:05:48 +00:00
simonb 424f55f4b5 Add a cleanup function (set with atexit()) that shuts down curses nicely
and unmounts any filesystems left mounted when sysinst exits under any
circumstances.
1997-12-05 13:38:59 +00:00
jonathan fc3fa7cd7f Implement TODO item to unwind target mounts on completion:
* Add mount_with_unwind() that adds mountpoint to a LIFO queue
    of  mountpoints to undo on error.   Use in target_mount().
  * Add unwind_mounts() which traverses the LIFO queue and unmounts
    filesystems, silently ignoring errors.
  * create toplevel() function which displays banner message and
    calls unwind_mounts().
  * change toplevel menu to call toplevel() instead of inline banner.

Where to do unwinds needs more thought.  Perhaps we should only unwind
if an upgrade or install appears unsuccessful, so after a successful
install, the target is mounted (e.g., for upgrading /etc/rc.conf).
1997-12-04 09:05:35 +00:00
thorpej 75dd009b1d Update for the lay-of-the-land as described in release(7). As such, move
all pathname-on-server related definitions to MI code, since they are now
defined to be consistent across all platforms.  Also, nuke the "rels" global,
since release numbers are now always specified in "long form", i.e. 1.3A
vs. 13A.
1997-11-25 06:53:07 +00:00
simonb b80b4d1cd0 Catch SIGINT and do a endwin() to leave tty in a sane state. 1997-11-21 12:08:06 +00:00
phil 5337c61bc4 -TODO: Remove names as they were source name rather than names of who should
do it.
-change install confirmation message to outline install process
-move english print text into msg.mi.eng.
1997-11-09 15:54:15 +00:00
phil 9e973cbe0a - extract_dist now uses dist_list to know which to extract
- Added -r rel flag to change the release tag on the tar files.
- Added Usage
- Fixed a menu bug (missing exit)
- Made target_expand available to all functions to produce correct
	file names.
1997-11-04 01:39:03 +00:00