1994-10-20 02:51:55 +00:00
|
|
|
/*
|
1994-10-28 15:19:57 +00:00
|
|
|
* Copyright (c) 1994, Jordan Hubbard, Paul Richards and Poul-Henning Kamp.
|
1994-10-20 02:51:55 +00:00
|
|
|
*
|
1994-10-28 15:19:57 +00:00
|
|
|
* All rights reserved.
|
1994-10-20 02:51:55 +00:00
|
|
|
*
|
1994-10-28 15:19:57 +00:00
|
|
|
* This software may be used, modified, copied, distributed, and
|
|
|
|
* sold, in both source and binary form provided that the above
|
|
|
|
* copyright and these terms are retained, verbatim, as the first
|
|
|
|
* lines of this file. Under no circumstances is the author
|
|
|
|
* responsible for the proper functioning of this software, nor does
|
|
|
|
* the author assume any responsibility for damages incurred with
|
|
|
|
* its use.
|
|
|
|
*
|
|
|
|
* [Note: This file bears almost no resemblance to what was here in an
|
|
|
|
* earlier incarnation].
|
1994-10-20 02:51:55 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
|
|
|
#include <unistd.h>
|
|
|
|
|
|
|
|
#include <dialog.h>
|
|
|
|
|
|
|
|
#include "sysinstall.h"
|
|
|
|
|
1994-11-02 06:19:53 +00:00
|
|
|
static unsigned char *welcome[] = {
|
|
|
|
"1. README",
|
|
|
|
"View `READ ME FIRST' File.",
|
|
|
|
"2. COPYRIGHT",
|
1994-10-28 15:19:57 +00:00
|
|
|
"View FreeBSD Copyright Information.",
|
1994-11-02 06:19:53 +00:00
|
|
|
"3. Proceed",
|
1994-10-28 15:19:57 +00:00
|
|
|
"Proceed with installation.",
|
1994-11-02 06:19:53 +00:00
|
|
|
"4. Fixit",
|
|
|
|
"Repair existing installation (`fixit' mode).",
|
|
|
|
"5. Exit",
|
1994-10-28 15:19:57 +00:00
|
|
|
"Exit to shell.",
|
|
|
|
};
|
|
|
|
|
1994-11-02 06:19:53 +00:00
|
|
|
void bailout(void);
|
|
|
|
|
1994-10-29 10:01:40 +00:00
|
|
|
void
|
|
|
|
stage0()
|
1994-10-20 02:51:55 +00:00
|
|
|
{
|
1994-11-02 06:19:53 +00:00
|
|
|
evil_goto:
|
|
|
|
if (dialog_menu("Welcome to FreeBSD!",
|
|
|
|
"Please select one of the following options:",
|
|
|
|
15, 75, 6, 5, welcome, selection)) {
|
|
|
|
bailout();
|
|
|
|
}
|
1994-10-28 15:19:57 +00:00
|
|
|
switch (atoi(selection)) {
|
|
|
|
case 1: /* View readme */
|
1994-10-20 02:51:55 +00:00
|
|
|
if (!access(README_FILE, R_OK)) {
|
1994-10-28 15:19:57 +00:00
|
|
|
dialog_clear();
|
Public apology:
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.
1994-11-01 10:10:43 +00:00
|
|
|
dialog_textbox("READ ME FIRST", README_FILE, 24, 80);
|
1994-11-02 06:19:53 +00:00
|
|
|
dialog_clear();
|
1994-10-20 02:51:55 +00:00
|
|
|
}
|
1994-11-02 06:19:53 +00:00
|
|
|
goto evil_goto;
|
1994-10-28 15:19:57 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 2: /* View copyrights */
|
1994-10-20 05:00:00 +00:00
|
|
|
if (!access(COPYRIGHT_FILE, R_OK)) {
|
1994-10-28 15:19:57 +00:00
|
|
|
dialog_clear();
|
Public apology:
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.
1994-11-01 10:10:43 +00:00
|
|
|
dialog_textbox("COPYRIGHT", COPYRIGHT_FILE, 24, 80);
|
1994-11-02 06:19:53 +00:00
|
|
|
dialog_clear();
|
1994-10-20 05:00:00 +00:00
|
|
|
}
|
1994-11-02 06:19:53 +00:00
|
|
|
goto evil_goto;
|
1994-10-28 15:19:57 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 3: /* Proceed (do nothing special, really) */
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 4:
|
|
|
|
dialog_msgbox("Sorry!", "This feature not currently implemented.",
|
|
|
|
6, 75, 1);
|
1994-11-02 06:19:53 +00:00
|
|
|
goto evil_goto;
|
1994-10-28 15:19:57 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 5:
|
1994-11-02 06:19:53 +00:00
|
|
|
bailout();
|
1994-10-28 15:19:57 +00:00
|
|
|
break; /* hope not! :) */
|
|
|
|
}
|
1994-10-20 02:51:55 +00:00
|
|
|
}
|
1994-11-02 06:19:53 +00:00
|
|
|
|
|
|
|
void
|
|
|
|
bailout()
|
|
|
|
{
|
|
|
|
dialog_clear();
|
|
|
|
end_dialog();
|
|
|
|
exit(0);
|
|
|
|
}
|