From e27184bfd6330a9481f6b46e057489c6be91bca7 Mon Sep 17 00:00:00 2001 From: uch Date: Sat, 18 May 2002 07:14:31 +0000 Subject: [PATCH] use MI make_bsd_partitions(). clean up the code. --- distrib/utils/sysinst/arch/playstation2/md.c | 586 ++---------------- distrib/utils/sysinst/arch/playstation2/md.h | 91 +-- .../sysinst/arch/playstation2/menus.md.en | 28 +- .../sysinst/arch/playstation2/menus.md.fr | 28 +- .../sysinst/arch/playstation2/menus.md.pl | 26 +- .../utils/sysinst/arch/playstation2/msg.md.en | 25 +- .../utils/sysinst/arch/playstation2/msg.md.fr | 26 +- .../utils/sysinst/arch/playstation2/msg.md.pl | 22 +- 8 files changed, 150 insertions(+), 682 deletions(-) diff --git a/distrib/utils/sysinst/arch/playstation2/md.c b/distrib/utils/sysinst/arch/playstation2/md.c index 7d4c1efe1992..f9ca9e699f0f 100644 --- a/distrib/utils/sysinst/arch/playstation2/md.c +++ b/distrib/utils/sysinst/arch/playstation2/md.c @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.1 2001/10/15 16:22:52 uch Exp $ */ +/* $NetBSD: md.c,v 1.2 2002/05/18 07:14:31 uch Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -36,468 +36,122 @@ * */ -/* md.c -- Machine specific code for i386 */ +/* md.c -- Machine specific code for playstation2 */ #include #include #include -#include #include #include "defs.h" #include "md.h" #include "msg_defs.h" #include "menu_defs.h" -#if !defined(__i386__) -#include "endian.h" -#include "mbr.h" -#endif +#include "bsddisklabel.c" - -#ifdef __i386__ -char mbr[512]; -#else extern char mbr[512]; -#endif -int mbr_present, mbr_len; -int c1024_resp; -struct disklist *disklist = NULL; -struct nativedisk_info *nativedisk; -struct biosdisk_info *biosdisk = NULL; -int netbsd_mbr_installed = 0; -int netbsd_bootsel_installed = 0; - -#ifdef __i386__ -static int md_read_bootcode (char *, char *, size_t); -static int count_mbr_parts (struct mbr_partition *); -static int mbr_part_above_chs (struct mbr_partition *); -static int mbr_partstart_above_chs (struct mbr_partition *); -static void configure_bootsel (void); -#endif -static void md_upgrade_mbrtype (void); - -struct mbr_bootsel *mbs; -int defbootselpart, defbootseldisk; - - -/* prototypes */ - int md_get_info() { + int cyl, head, sec; + read_mbr(diskdev, mbr, sizeof mbr); + if (!valid_mbr(mbr)) { memset(&mbr[MBR_PARTOFF], 0, NMBRPART * sizeof (struct mbr_partition)); - /* XXX check result and give up if < 0 */ -#ifdef __i386__ - mbr_len = md_read_bootcode(_PATH_MBR, mbr, sizeof mbr); -#else - *((u_int16_t *)&mbr[MBR_MAGICOFF]) = le_to_native16(MBR_MAGIC); -#endif - netbsd_mbr_installed = 1; - } else - mbr_len = MBR_SECSIZE; - md_bios_info(diskdev); + *((u_int16_t *)&mbr[MBR_MAGICOFF]) = MBR_MAGIC; + } + + msg_display(MSG_nobiosgeom, dlcyl, dlhead, dlsec); + + if (guess_biosgeom_from_mbr(mbr, &cyl, &head, &sec) >= 0) { + msg_display_add(MSG_biosguess, cyl, head, sec); + set_bios_geom(cyl, head, sec); + } else { + set_bios_geom(dlcyl, dlhead, dlsec); + } + + bsize = bcyl * bhead * bsec; + bcylsize = bhead * bsec; -#ifdef __i386__ -edit: -#endif edit_mbr((struct mbr_partition *)&mbr[MBR_PARTOFF]); -#ifdef __i386__ - if (mbr_part_above_chs(part) && - (biosdisk == NULL || !(biosdisk->bi_flags & BIFLAG_EXTINT13))) { - msg_display(MSG_partabovechs); - process_menu(MENU_noyes); - if (!yesno) - goto edit; - } -#endif - -#ifdef __i386__ - if (count_mbr_parts(part) > 1) { - msg_display(MSG_installbootsel); - process_menu(MENU_yesno); - if (yesno) { - mbr_len = - md_read_bootcode(_PATH_BOOTSEL, mbr, sizeof mbr); - configure_bootsel(); - netbsd_mbr_installed = netbsd_bootsel_installed = 1; - } - } - - if (mbr_partstart_above_chs(part) && !netbsd_mbr_installed) { - msg_display(MSG_installmbr); - process_menu(MENU_yesno); - if (yesno) { - mbr_len = md_read_bootcode(_PATH_MBR, mbr, sizeof mbr); - netbsd_mbr_installed = 1; - } - } - -#endif /* Compute minimum NetBSD partition sizes (in sectors). */ minfsdmb = STDNEEDMB * (MEG / sectorsize); - return 1; + return (1); } -#ifdef __i386__ -/* - * Read MBR code from a file. It may be a maximum of "len" bytes - * long. This function skips the partition table. Space for this - * is assumed to be in the file, but a table already in the buffer - * is not overwritten. - */ -static int -md_read_bootcode(path, buf, len) - char *path, *buf; - size_t len; -{ - int fd, cc; - struct stat st; - - fd = open(path, O_RDONLY); - if (fd < 0) - return -1; - - if (fstat(fd, &st) < 0 || st.st_size > len || st.st_size < MBR_SECSIZE){ - close(fd); - return -1; - } - if (read(fd, buf, MBR_PARTOFF) != MBR_PARTOFF) { - close(fd); - return -1; - } - if (lseek(fd, MBR_MAGICOFF, SEEK_SET) < 0) { - close(fd); - return -1; - } - cc = read(fd, &buf[MBR_MAGICOFF], st.st_size - MBR_MAGICOFF); - - close(fd); - - return (cc + MBR_MAGICOFF); -} -#endif - int md_pre_disklabel() { + msg_display(MSG_dofdisk); /* write edited MBR onto disk. */ if (write_mbr(diskdev, mbr, sizeof mbr, 1) != 0) { msg_display(MSG_wmbrfail); process_menu(MENU_ok); - return 1; + + return (1); } - md_upgrade_mbrtype(); - return 0; + + return (0); } int -md_post_disklabel(void) +md_post_disklabel() { /* Sector forwarding / badblocks ... */ if (*doessf) { msg_display(MSG_dobad144); - return run_prog(RUN_DISPLAY, NULL, "/usr/sbin/bad144 %s 0", - diskdev); + return (run_prog(RUN_DISPLAY, NULL, "/usr/sbin/bad144 %s 0", + diskdev)); } - return 0; + + return (0); } int -md_post_newfs(void) +md_post_newfs() { -#if !defined(__i386__) - return 0; -#else - /* boot blocks ... */ - msg_display(MSG_dobootblks, diskdev); - return run_prog(RUN_DISPLAY, NULL, - "/usr/mdec/installboot -v /usr/mdec/biosboot.sym /dev/r%sa", - diskdev); -#endif + + return (0); } int -md_copy_filesystem(void) +md_copy_filesystem() { - return 0; -} + return (0); +} int -md_make_bsd_partitions(void) +md_make_bsd_partitions() { - FILE *f; - int i; - int part; - int maxpart = getmaxpartitions(); - int remain; - /* Ask for layout type -- standard or special */ - msg_display(MSG_layout, - (1.0*fsptsize*sectorsize)/MEG, - (1.0*minfsdmb*sectorsize)/MEG, - (1.0*minfsdmb*sectorsize)/MEG+rammb+XNEEDMB); - process_menu(MENU_layout); - - if (layoutkind == 3) { - ask_sizemult(dlcylsize); - } else { - sizemult = MEG / sectorsize; - multname = msg_string(MSG_megname); - } - - - /* Build standard partitions */ - emptylabel(bsdlabel); - - /* Partitions C and D are predefined. */ - bsdlabel[C].pi_fstype = FS_UNUSED; - bsdlabel[C].pi_offset = ptstart; - bsdlabel[C].pi_size = fsptsize; - - bsdlabel[D].pi_fstype = FS_UNUSED; - bsdlabel[D].pi_offset = 0; - bsdlabel[D].pi_size = fsdsize; - - /* Standard fstypes */ - bsdlabel[A].pi_fstype = FS_BSDFFS; - bsdlabel[B].pi_fstype = FS_SWAP; - bsdlabel[E].pi_fstype = FS_UNUSED; - bsdlabel[F].pi_fstype = FS_UNUSED; - bsdlabel[G].pi_fstype = FS_UNUSED; - bsdlabel[H].pi_fstype = FS_UNUSED; - - switch (layoutkind) { - case 1: /* standard: a root, b swap, c/d "unused", e /usr */ - case 2: /* standard X: a root, b swap (big), c/d "unused", e /usr */ - partstart = ptstart; - - /* check that we have enouth space */ - i = NUMSEC(20+2*rammb, MEG/sectorsize, dlcylsize); - i += NUMSEC(layoutkind * 2 * (rammb < 16 ? 16 : rammb), - MEG/sectorsize, dlcylsize); - if ( i > fsptsize) { - msg_display(MSG_disktoosmall); - process_menu(MENU_ok); - goto custom; - } - /* Root */ - i = NUMSEC(20+2*rammb, MEG/sectorsize, dlcylsize) + partstart; - partsize = NUMSEC (i/(MEG/sectorsize)+1, MEG/sectorsize, - dlcylsize) - partstart; - bsdlabel[A].pi_offset = partstart; - bsdlabel[A].pi_size = partsize; - bsdlabel[A].pi_bsize = 8192; - bsdlabel[A].pi_fsize = 1024; - strcpy (fsmount[A], "/"); - partstart += partsize; - - /* swap */ - i = NUMSEC(layoutkind * 2 * (rammb < 16 ? 16 : rammb), - MEG/sectorsize, dlcylsize) + partstart; - partsize = NUMSEC (i/(MEG/sectorsize)+1, MEG/sectorsize, - dlcylsize) - partstart; - bsdlabel[B].pi_offset = partstart; - bsdlabel[B].pi_size = partsize; - partstart += partsize; - - /* /usr */ - partsize = fsptsize - (partstart - ptstart); - bsdlabel[E].pi_fstype = FS_BSDFFS; - bsdlabel[E].pi_offset = partstart; - bsdlabel[E].pi_size = partsize; - bsdlabel[E].pi_bsize = 8192; - bsdlabel[E].pi_fsize = 1024; - strcpy (fsmount[E], "/usr"); - break; - - case 3: /* custom: ask user for all sizes */ -custom: ask_sizemult(dlcylsize); - msg_display(MSG_defaultunit, multname); - partstart = ptstart; - remain = fsptsize; - - /* root */ - i = NUMSEC(20+2*rammb, MEG/sectorsize, dlcylsize) + partstart; - partsize = NUMSEC (i/(MEG/sectorsize)+1, MEG/sectorsize, - dlcylsize) - partstart; - if (partsize > remain) - partsize = remain; - msg_display_add(MSG_askfsroot1, remain/sizemult, multname); - partsize = getpartsize(MSG_askfsroot2, partstart, partsize); - bsdlabel[A].pi_offset = partstart; - bsdlabel[A].pi_size = partsize; - bsdlabel[A].pi_bsize = 8192; - bsdlabel[A].pi_fsize = 1024; - strcpy (fsmount[A], "/"); - partstart += partsize; - remain -= partsize; - - /* swap */ - i = NUMSEC( 2 * (rammb < 16 ? 16 : rammb), - MEG/sectorsize, dlcylsize) + partstart; - partsize = NUMSEC (i/(MEG/sectorsize)+1, MEG/sectorsize, - dlcylsize) - partstart; - if (partsize > remain) - partsize = remain; - msg_display(MSG_askfsswap1, remain/sizemult, multname); - partsize = getpartsize(MSG_askfsswap2, partstart, partsize); - bsdlabel[B].pi_offset = partstart; - bsdlabel[B].pi_size = partsize; - partstart += partsize; - remain -= partsize; - - /* Others E, F, G, H */ - part = E; - if (remain > 0) - msg_display (MSG_otherparts); - while (remain > 0 && part <= H) { - msg_display_add(MSG_askfspart1, diskdev, - partition_name(part), remain/sizemult, multname); - partsize = getpartsize(MSG_askfspart2, partstart, - remain); - if (partsize > 0) { - if (remain - partsize < sizemult) - partsize = remain; - bsdlabel[part].pi_fstype = FS_BSDFFS; - bsdlabel[part].pi_offset = partstart; - bsdlabel[part].pi_size = partsize; - bsdlabel[part].pi_bsize = 8192; - bsdlabel[part].pi_fsize = 1024; - if (part == E) - strcpy (fsmount[E], "/usr"); - msg_prompt_add (MSG_mountpoint, fsmount[part], - fsmount[part], 20); - partstart += partsize; - remain -= partsize; - } - part++; - } - - break; - } - - /* - * OK, we have a partition table. Give the user the chance to - * edit it and verify it's OK, or abort altogether. - */ - if (edit_and_check_label(bsdlabel, maxpart, RAW_PART, RAW_PART) == 0) { - msg_display(MSG_abort); - return 0; - } - -#ifdef __i386__ - /* - * XXX check for int13 extensions. - */ - if ((bsdlabel[A].pi_offset + bsdlabel[A].pi_size) / bcylsize > 1024 && - (biosdisk == NULL || !(biosdisk->bi_flags & BIFLAG_EXTINT13))) { - process_menu(MENU_cyl1024); - /* XXX UGH! need arguments to process_menu */ - switch (c1024_resp) { - case 1: - edit_mbr((struct mbr_partition *)&mbr[MBR_PARTOFF]); - /*FALLTHROUGH*/ - case 2: - goto editlab; - default: - break; - } - } -#endif - - /* Disk name */ - msg_prompt (MSG_packname, "mydisk", bsddiskname, DISKNAME_SIZE); - - /* Create the disktab.preinstall */ - run_prog (0, NULL, "cp /etc/disktab.preinstall /etc/disktab"); -#ifdef DEBUG - f = fopen ("/tmp/disktab", "a"); -#else - f = fopen ("/etc/disktab", "a"); -#endif - if (f == NULL) { - endwin(); - (void) fprintf (stderr, "Could not open /etc/disktab"); - exit (1); - } - (void)fprintf (f, "%s|NetBSD installation generated:\\\n", bsddiskname); - (void)fprintf (f, "\t:dt=%s:ty=winchester:\\\n", disktype); - (void)fprintf (f, "\t:nc#%d:nt#%d:ns#%d:\\\n", dlcyl, dlhead, dlsec); - (void)fprintf (f, "\t:sc#%d:su#%d:\\\n", dlhead*dlsec, dlsize); - (void)fprintf (f, "\t:se#%d:%s\\\n", sectorsize, doessf); - for (i=0; i<8; i++) { - (void)fprintf (f, "\t:p%c#%d:o%c#%d:t%c=%s:", - 'a'+i, bsdlabel[i].pi_size, - 'a'+i, bsdlabel[i].pi_offset, - 'a'+i, fstypenames[bsdlabel[i].pi_fstype]); - if (bsdlabel[i].pi_fstype == FS_BSDFFS) - (void)fprintf (f, "b%c#%d:f%c#%d", - 'a'+i, bsdlabel[i].pi_bsize, - 'a'+i, bsdlabel[i].pi_fsize); - if (i < 7) - (void)fprintf (f, "\\\n"); - else - (void)fprintf (f, "\n"); - } - fclose (f); - - /* Everything looks OK. */ - return (1); + return (make_bsd_partitions()); } - /* Upgrade support */ int -md_update(void) +md_update() { + endwin(); md_copy_filesystem(); md_post_newfs(); - md_upgrade_mbrtype(); wrefresh(curscr); wmove(stdscr, 0, 0); wclear(stdscr); wrefresh(stdscr); - return 1; + + return (1); } void -md_upgrade_mbrtype() -{ - struct mbr_partition *mbrp; - int i, netbsdpart = -1, oldbsdpart = -1, oldbsdcount = 0; - - if (read_mbr(diskdev, mbr, sizeof mbr) < 0) - return; - - mbrp = (struct mbr_partition *)&mbr[MBR_PARTOFF]; - - for (i = 0; i < NMBRPART; i++) { - if (mbrp[i].mbrp_typ == MBR_PTYPE_386BSD) { - oldbsdpart = i; - oldbsdcount++; - } else if (mbrp[i].mbrp_typ == MBR_PTYPE_NETBSD) - netbsdpart = i; - } - - if (netbsdpart == -1 && oldbsdcount == 1) { - mbrp[oldbsdpart].mbrp_typ = MBR_PTYPE_NETBSD; - write_mbr(diskdev, mbr, sizeof mbr, 0); - } -} - - - -void -md_cleanup_install(void) +md_cleanup_install() { char realfrom[STRSIZE]; char realto[STRSIZE]; @@ -517,149 +171,17 @@ md_cleanup_install(void) run_prog(0, NULL, "rm -f %s", target_expand("/.profile")); } -int -md_bios_info(dev) - char *dev; -{ -#ifdef __i386__ - int mib[2], i, len; - struct biosdisk_info *bip; - struct nativedisk_info *nip = NULL, *nat; -#endif - int cyl, head, sec; - -#ifdef __i386__ - if (disklist == NULL) { - mib[0] = CTL_MACHDEP; - mib[1] = CPU_DISKINFO; - if (sysctl(mib, 2, NULL, &len, NULL, 0) < 0) - goto nogeom; - disklist = (struct disklist *)malloc(len); - sysctl(mib, 2, disklist, &len, NULL, 0); - } - - nativedisk = NULL; - - for (i = 0; i < disklist->dl_nnativedisks; i++) { - nat = &disklist->dl_nativedisks[i]; - if (!strcmp(dev, nat->ni_devname)) { - nativedisk = nip = nat; - break; - } - } - if (nip == NULL || nip->ni_nmatches == 0) { -nogeom: -#endif - msg_display(MSG_nobiosgeom, dlcyl, dlhead, dlsec); - if (guess_biosgeom_from_mbr(mbr, &cyl, &head, &sec) >= 0) { - msg_display_add(MSG_biosguess, cyl, head, sec); - set_bios_geom(cyl, head, sec); - } else - set_bios_geom(dlcyl, dlhead, dlsec); - biosdisk = NULL; -#ifdef __i386__ - } else if (nip->ni_nmatches == 1) { - bip = &disklist->dl_biosdisks[nip->ni_biosmatches[0]]; - msg_display(MSG_onebiosmatch); - msg_table_add(MSG_onebiosmatch_header); - msg_table_add(MSG_onebiosmatch_row, bip->bi_dev - 0x80, - bip->bi_cyl, bip->bi_head, bip->bi_sec); - process_menu(MENU_biosonematch); - } else { - msg_display(MSG_biosmultmatch); - msg_table_add(MSG_biosmultmatch_header); - for (i = 0; i < nip->ni_nmatches; i++) { - bip = &disklist->dl_biosdisks[nip->ni_biosmatches[i]]; - msg_table_add(MSG_biosmultmatch_row, i, - bip->bi_dev - 0x80, bip->bi_cyl, bip->bi_head, - bip->bi_sec); - } - process_menu(MENU_biosmultmatch); - } - if (biosdisk != NULL && (biosdisk->bi_flags & BIFLAG_EXTINT13)) - bsize = dlsize; - else -#endif - bsize = bcyl * bhead * bsec; - bcylsize = bhead * bsec; - return 0; -} - -#ifdef __i386__ -static int -count_mbr_parts(pt) - struct mbr_partition *pt; -{ - int i, count = 0;; - - for (i = 0; i < NMBRPART; i++) - if (pt[i].mbrp_typ != 0) - count++; - - return count; -} - -static int -mbr_part_above_chs(pt) - struct mbr_partition *pt; -{ - return ((pt[bsdpart].mbrp_start + pt[bsdpart].mbrp_size) >= - bcyl * bhead * bsec); -} - -static int -mbr_partstart_above_chs(pt) - struct mbr_partition *pt; -{ - return (pt[bsdpart].mbrp_start >= bcyl * bhead * bsec); -} - -static void -configure_bootsel() -{ - struct mbr_partition *parts = - (struct mbr_partition *)&mbr[MBR_PARTOFF]; - int i; - - - mbs = (struct mbr_bootsel *)&mbr[MBR_BOOTSELOFF]; - mbs->flags = BFL_SELACTIVE; - - process_menu(MENU_configbootsel); - - for (i = 0; i < NMBRPART; i++) { - if (parts[i].mbrp_typ != 0 && - parts[i].mbrp_start >= (bcyl * bhead * bsec)) { - mbs->flags |= BFL_EXTINT13; - break; - } - } -} - -void -disp_bootsel(part, mbsp) - struct mbr_partition *part; - struct mbr_bootsel *mbsp; -{ - int i; - - msg_table_add(MSG_bootsel_header); - for (i = 0; i < 4; i++) { - msg_table_add(MSG_bootsel_row, - i, get_partname(i), mbs->nametab[i]); - } -} -#endif - int md_pre_update() { - return 1; + + return (1); } void md_init() { + /* Nothing to do */ } void @@ -672,11 +194,11 @@ md_set_sizemultname() void md_set_no_x() { - - toggle_getit (8); - toggle_getit (9); - toggle_getit (10); - toggle_getit (11); - toggle_getit (12); - toggle_getit (13); +} + +int +md_check_partitions() +{ + + return (1); } diff --git a/distrib/utils/sysinst/arch/playstation2/md.h b/distrib/utils/sysinst/arch/playstation2/md.h index b20ec66494ec..0a41dca8f7d9 100644 --- a/distrib/utils/sysinst/arch/playstation2/md.h +++ b/distrib/utils/sysinst/arch/playstation2/md.h @@ -1,4 +1,4 @@ -/* $NetBSD: md.h,v 1.2 2001/11/29 23:21:00 thorpej Exp $ */ +/* $NetBSD: md.h,v 1.3 2002/05/18 07:14:31 uch Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -36,7 +36,7 @@ * */ -/* md.h -- Machine specific definitions for the i386 */ +/* md.h -- Machine specific definitions for the playstation2 */ #include @@ -45,27 +45,25 @@ #include #include -/* i386 uses the mbr code. */ #include "mbr.h" -/* constants and defines */ - - -#define STDNEEDMB 145 /* Min space for non X install */ -#define XNEEDMB 39 /* Extra megs for full X installation */ +#define PART_ROOT A +#define PART_SWAP B +#define PART_RAW C +#define PART_USR D +#define PART_FIRST_FREE D +#define DEFSWAPRAM 64 /* Assume at least this RAM for swap calc */ +#define DEFROOTSIZE 32 /* Default root size */ +#define DEFVARSIZE 0 /* Default /var size, if created */ +#define DEFUSRSIZE 0 /* Default /usr size, if created */ +#define STDNEEDMB 0 /* Min space for non X install */ +#define XNEEDMB 0 /* Extra megs for full X installation(not yet)*/ /* * Default filesets to fetch and install during installation * or upgrade. The standard sets are: - * base, etc, comp, games, man, misc, text, - * xbase, xfont, xserver, xcontrib, xcomp. - * - * i386 has the MD set kern first, because generic kernels are too - * big to fit on install floppies. i386 does not yet include the x sets. - * - * Third entry is the last extension name in the split sets for loading - * from floppy. + * base, etc, comp, games, man, misc, text */ EXTERN distinfo dist_list[] #ifdef MAIN @@ -78,14 +76,6 @@ EXTERN distinfo dist_list[] {"man", 1, "ar", "Manuals : "}, {"misc", 1, "aj", "Miscellaneous: "}, {"text", 1, "af", "Text tools : "}, - - /* XXX no X11 on floppies, what sets are they?*/ - {"xbase", 1, "al", "X11 clients : "}, - {"xfont", 1, "az", "X11 fonts : "}, - {"xserver", 1, "cr", "X11 servers : "}, - {"xcontrib", 1, "aa", "X11 contrib : "}, - {"xcomp", 1, "ah", "X programming: "}, - {"xmisc", 1, NULL, "X11 Misc. : "}, {NULL, 0, NULL, NULL } } #endif @@ -94,75 +84,40 @@ EXTERN distinfo dist_list[] /* * Disk names accepted as valid targets for a from-scratch installation. * - * On i386, we allow "wd" ST-506/IDE disks and "sd" scsi disks. + * On playstation2, we allow "wd" for IDE disk. */ EXTERN char *disk_names[] #ifdef MAIN -= {"wd", "sd", NULL} += {"wd", NULL} #endif ; - /* - * Legal start character for a disk for checking input. + * Legal start character for a disk for checking input. * this must return 1 for a character that matches the first * characters of each member of disk_names. * - * On i386, that means matching 'w' for st-506/ide and 's' for sd. + * On playstation2, that means matching 'w' for IDE disk. */ -#define ISDISKSTART(dn) (dn == 'w' || dn == 's') +#define ISDISKSTART(dn) (dn == 'w') /* * Machine-specific command to write a new label to a disk. - * For example, i386 uses "/sbin/disklabel -w -r", just like i386 - * miniroot scripts, though this may leave a bogus incore label. - * Sun ports should probably use DISKLABEL_CMD "/sbin/disklabel -w" - * to get incore to ondisk inode translation for the Sun proms. - * If not defined, we assume the port does not support disklabels and - * hand-edited disklabel will NOT be written by MI code. - * - * On i386, do what the 1.2 install scripts did. */ -#define DISKLABEL_CMD "disklabel -w -r" - +#define DISKLABEL_CMD "disklabel -w -r" /* - * Default fileystem type for floppy disks. - * On i386, that is msdos. + * Default fileystem type for IDE disk. + * On playstation2, that is msdos. */ EXTERN char *fdtype INIT("msdos"); -extern struct disklist *disklist; -extern struct nativedisk_info *nativedisk; -extern struct biosdisk_info *biosdisk; - -#define _PATH_MBR "/usr/mdec/mbr" -#define _PATH_BOOTSEL "/usr/mdec/mbr_bootsel" - struct mbr_bootsel { u_int8_t defkey; u_int8_t flags; u_int16_t timeo; char nametab[4][9]; u_int16_t magic; -} __attribute__((packed)); - -extern struct mbr_bootsel *mbs; - -#define BFL_SELACTIVE 0x01 -#define BFL_EXTINT13 0x02 - -#define SCAN_ENTER 0x1c -#define SCAN_F1 0x3b - -#define MBR_BOOTSELOFF (MBR_PARTOFF - sizeof (struct mbr_bootsel)) - -extern int defbootselpart, defbootseldisk; - -void disp_bootsel (struct mbr_partition *, struct mbr_bootsel *); - -/* - * prototypes for MD code. - */ +} __attribute__((__packed__)); diff --git a/distrib/utils/sysinst/arch/playstation2/menus.md.en b/distrib/utils/sysinst/arch/playstation2/menus.md.en index 668ca20945ca..63789a5c55cb 100644 --- a/distrib/utils/sysinst/arch/playstation2/menus.md.en +++ b/distrib/utils/sysinst/arch/playstation2/menus.md.en @@ -1,4 +1,4 @@ -/* $NetBSD: menus.md.en,v 1.2 2001/11/29 23:21:00 thorpej Exp $ */ +/* $NetBSD: menus.md.en,v 1.3 2002/05/18 07:14:31 uch Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -36,7 +36,7 @@ * */ -/* Menu definitions for sysinst. i386 version, machine dependent. */ +/* Menu definitions for sysinst. playstation2 version, machine dependent. */ menu fullpart, title "Select your choice"; option "Use only part of the disk", exit, action {usefull = 0;}; @@ -138,30 +138,6 @@ menu chooseid, title "Partition Kind?"; part[editpart].mbrp_typ = 0; }; -menu cyl1024; - display action { - msg_display(MSG_cyl1024); - }; - option "Re-edit both MBR and label", exit, action - { - /* XXX UGH */ - extern int c1024_resp; - - c1024_resp = 1; - }; - option "Re-edit the label", exit, action - { - extern int c1024_resp; - - c1024_resp = 2; - }; - option "Use it anyway", exit, action - { - extern int c1024_resp; - - c1024_resp = 3; - }; - menu editfsparts, y=13, exit; display action { ask_sizemult(dlcylsize); diff --git a/distrib/utils/sysinst/arch/playstation2/menus.md.fr b/distrib/utils/sysinst/arch/playstation2/menus.md.fr index 65d913508707..af9f529693ed 100644 --- a/distrib/utils/sysinst/arch/playstation2/menus.md.fr +++ b/distrib/utils/sysinst/arch/playstation2/menus.md.fr @@ -1,4 +1,4 @@ -/* $NetBSD: menus.md.fr,v 1.2 2001/11/29 23:21:00 thorpej Exp $ */ +/* $NetBSD: menus.md.fr,v 1.3 2002/05/18 07:14:32 uch Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -36,7 +36,7 @@ * */ -/* Menu definitions for sysinst. i386 version, machine dependent. */ +/* Menu definitions for sysinst. playstation2 version, machine dependent. */ menu fullpart, y=15, title "Faite votre choix"; option "Utilisation d'une partie du disque", exit, action {usefull = 0;}; @@ -139,30 +139,6 @@ menu chooseid, title "Type de Partition?"; part[editpart].mbrp_typ = 0; }; -menu cyl1024; - display action { - msg_display(MSG_cyl1024); - }; - option "Rééditer le secteur de boot et le label", exit, action - { - /* XXX UGH */ - extern int c1024_resp; - - c1024_resp = 1; - }; - option "Rééditer le label", exit, action - { - extern int c1024_resp; - - c1024_resp = 2; - }; - option "L'utiliser tout de même", exit, action - { - extern int c1024_resp; - - c1024_resp = 3; - }; - menu editfsparts, y=13, exit; display action { ask_sizemult(dlcylsize); diff --git a/distrib/utils/sysinst/arch/playstation2/menus.md.pl b/distrib/utils/sysinst/arch/playstation2/menus.md.pl index 986d470e5f4a..ead17da5e03c 100644 --- a/distrib/utils/sysinst/arch/playstation2/menus.md.pl +++ b/distrib/utils/sysinst/arch/playstation2/menus.md.pl @@ -1,4 +1,4 @@ -/* $NetBSD: menus.md.pl,v 1.2 2002/04/09 19:48:14 hubertf Exp $ */ +/* $NetBSD: menus.md.pl,v 1.3 2002/05/18 07:14:32 uch Exp $ */ /* Based on english version: */ /* NetBSD: menus.md.en,v 1.2 2001/11/29 23:21:00 thorpej Exp */ @@ -140,30 +140,6 @@ menu chooseid, title "Rodzaj partycji?"; part[editpart].mbrp_typ = 0; }; -menu cyl1024; - display action { - msg_display(MSG_cyl1024); - }; - option "Zmien MBR i disklabel", exit, action - { - /* XXX UGH */ - extern int c1024_resp; - - c1024_resp = 1; - }; - option "Zmien disklabel", exit, action - { - extern int c1024_resp; - - c1024_resp = 2; - }; - option "Uzyj, mimo to", exit, action - { - extern int c1024_resp; - - c1024_resp = 3; - }; - menu editfsparts, y=13, exit; display action { ask_sizemult(dlcylsize); diff --git a/distrib/utils/sysinst/arch/playstation2/msg.md.en b/distrib/utils/sysinst/arch/playstation2/msg.md.en index c9b44684f1ee..fa55e98f1b30 100644 --- a/distrib/utils/sysinst/arch/playstation2/msg.md.en +++ b/distrib/utils/sysinst/arch/playstation2/msg.md.en @@ -1,4 +1,4 @@ -/* $NetBSD: msg.md.en,v 1.1 2001/10/15 16:22:52 uch Exp $ */ +/* $NetBSD: msg.md.en,v 1.2 2002/05/18 07:14:32 uch Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -36,7 +36,7 @@ * */ -/* MD Message catalog -- english, i386 version */ +/* MD Message catalog -- english, playstation2 version */ message md_hello { @@ -291,3 +291,24 @@ message bootsel_header message bootsel_row {%-6d %-32s %s\n} + +message askfsroot +{I will be asking for partition sizes and on some, mount points. + +First the root partition. You have %d %s left on your disk. +Root partition size? } + +message askfsswap +{ +Next the swap partition. You have %d %s left on your disk. +Swap partition size? } + +message askfsusr +{ +Next the /usr partition. You have %d %s left on your disk. +/usr partition size? } + +message askfspart +{The next partition is /dev/%s%c. You have %d %s left on your disk. +Partition size? } + diff --git a/distrib/utils/sysinst/arch/playstation2/msg.md.fr b/distrib/utils/sysinst/arch/playstation2/msg.md.fr index 98ff5104f069..e3e607debd1b 100644 --- a/distrib/utils/sysinst/arch/playstation2/msg.md.fr +++ b/distrib/utils/sysinst/arch/playstation2/msg.md.fr @@ -1,4 +1,4 @@ -/* $NetBSD: msg.md.fr,v 1.1 2001/10/15 16:22:52 uch Exp $ */ +/* $NetBSD: msg.md.fr,v 1.2 2002/05/18 07:14:32 uch Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -36,7 +36,7 @@ * */ -/* MD Message catalog -- french, i386 version */ +/* MD Message catalog -- french, playstation2 version */ message md_hello { @@ -292,3 +292,25 @@ message bootsel_header message bootsel_row {%-6d %-32s %s\n} + +message askfsroot +{Je vais vous demander la taille et le point de "montage" de quelque partitions. + +Et tout d'abord la partition racine. Il vous reste %d %s de libre sur votre +disque. +Taille de la partition racine ? } + +message askfsswap +{ +Et maintenant la taille de swap. Il vous reste %d %s de libre sur votre disque. +Taille du swap ? } + +message askfsusr +{ +Et ensuite la partition /usr. Il vous reste %d %s de libre sur votre disque. +Taille de la partition/usr ? } + +message askfspart +{La partition suivante est /dev/%s%c . Il vous reste %d %s de libre sur votre +disque. +Taille de la partition ? } diff --git a/distrib/utils/sysinst/arch/playstation2/msg.md.pl b/distrib/utils/sysinst/arch/playstation2/msg.md.pl index c83f554ca4d7..58cfbc36f7d5 100644 --- a/distrib/utils/sysinst/arch/playstation2/msg.md.pl +++ b/distrib/utils/sysinst/arch/playstation2/msg.md.pl @@ -1,4 +1,4 @@ -/* $NetBSD: msg.md.pl,v 1.2 2002/04/09 19:48:14 hubertf Exp $ */ +/* $NetBSD: msg.md.pl,v 1.3 2002/05/18 07:14:32 uch Exp $ */ /* Based on english version: */ /* NetBSD: msg.md.en,v 1.1 2001/10/15 16:22:52 uch Exp */ @@ -291,3 +291,23 @@ message bootsel_header message bootsel_row {%-6d %-32s %s\n} + +message askfsroot +{Bede pytal o rozmiary partcyji, a na niektorych o punkty montazu. + +Najpierw partcyja glowna. Masz %d %s wolnego miejsca na dysku. +Rozmiar partycji glownej? } + +message askfsswap +{ +Nastepnie partycja wymiany. Masz %d %s wolnego miejsca na dysku. +Rozmiar partycji wymiany? } + +message askfsusr +{ +Nastepnie partycja /usr. Masz %d %s wolnego miejsca na dysku. +Rozmiar partycji /usr? } + +message askfspart +{Nastepna partycja jest /dev/%s%c. Masz %d %s wolnego miejsca na dysku. +Rozmiar partycji? }