Exemple #1
0
void
do_install(void)
{

	msg_display(MSG_installusure);
	process_menu(MENU_noyes, NULL);
	if (!yesno)
		return;

	get_ramsize();

	if (find_disks(msg_string(MSG_install)) < 0)
		return;
	clear();
	refresh();

	if (check_swap(diskdev, 0) > 0) {
		msg_display(MSG_swapactive);
		process_menu(MENU_ok, NULL);
		if (check_swap(diskdev, 1) < 0) {
			msg_display(MSG_swapdelfailed);
			process_menu(MENU_ok, NULL);
			if (!debug)
				return;
		}
	}

	process_menu(MENU_distset, NULL);

	if (!md_get_info()) {
		msg_display(MSG_abort);
		process_menu(MENU_ok, NULL);
		return;
	}

	if (md_make_bsd_partitions() == 0) {
		msg_display(MSG_abort);
		process_menu(MENU_ok, NULL);
		return;
	}

	/* Last chance ... do you really want to do this? */
	clear();
	refresh();
	msg_display(MSG_lastchance, diskdev);
	process_menu(MENU_noyes, NULL);
	if (!yesno)
		return;

	if (md_pre_disklabel() != 0)
		return;

	if (write_disklabel() != 0)
		return;

	if (md_post_disklabel() != 0)
		return;

	if (make_filesystems())
		return;

	if (make_fstab() != 0)
		return;

	if (md_post_newfs() != 0)
		return;

	/* Unpack the distribution. */
	if (get_and_unpack_sets(0, MSG_disksetupdone,
	    MSG_extractcomplete, MSG_abortinst) != 0)
		return;

	if (md_post_extract() != 0)
		return;

	do_configmenu();

	sanity_check();

	md_cleanup_install();

	msg_display(MSG_instcomplete);
	process_menu(MENU_ok, NULL);
}
Exemple #2
0
/*
 * Do the system upgrade.
 */
void
do_upgrade(void)
{
    int retcode = 0;
    partman_go = 0;

    msg_display(MSG_upgradeusure);
    if (!ask_noyes(NULL))
        return;

    get_ramsize();

    if (find_disks(msg_string(MSG_upgrade)) < 0)
        return;

    if (set_swap_if_low_ram(pm->diskdev, NULL) < 0)
        return;

    if (md_pre_update() < 0)
        return;

    if (mount_disks() != 0)
        return;


    /*
     * Save X symlink, ...
     */
    if (save_X("/usr/X11R6"))
        return;
    if (save_X("/usr/X11R7"))
        return;

#ifdef AOUT2ELF
    move_aout_libs();
#endif
    /* Do any md updating of the file systems ... e.g. bootblocks,
       copy file systems ... */
    if (!md_update())
        return;

    wrefresh(curscr);
    wmove(stdscr, 0, 0);
    wclear(stdscr);
    wrefresh(stdscr);

    /* Done with disks. Ready to get and unpack tarballs. */
    process_menu(MENU_distset, &retcode);
    if (retcode == 0)
        return;
    if (get_and_unpack_sets(1, MSG_disksetupdoneupdate,
                            MSG_upgrcomplete, MSG_abortupgr) != 0)
        return;

    if (md_post_extract())
        return;

    merge_X("/usr/X11R6");
    merge_X("/usr/X11R7");

    sanity_check();
}