From 6a7aa7f3d9d42126138b256ce2a6fe01ecd4d3a4 Mon Sep 17 00:00:00 2001 From: nyan Date: Mon, 5 Jun 2000 13:17:23 +0000 Subject: - Remove obsolete PC-card boot.flp hack. It was for making both PC-card boot.flp and plain boot.flp. - Clean up crunchgen related routine. - Add PC-98 support. TODO: o Documentation o Fix some messages for PC-98 o Decrease the size of fixit.flp to 1.2MB o I18N (See: http://www.jp.FreeBSD.org/BootAsia/index.html) No response from jkh --- usr.sbin/sysinstall/floppy.c | 50 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 42 insertions(+), 8 deletions(-) (limited to 'usr.sbin/sysinstall/floppy.c') diff --git a/usr.sbin/sysinstall/floppy.c b/usr.sbin/sysinstall/floppy.c index 576361e..b37f513 100644 --- a/usr.sbin/sysinstall/floppy.c +++ b/usr.sbin/sysinstall/floppy.c @@ -64,6 +64,9 @@ mediaInitFloppy(Device *dev) struct msdosfs_args dosargs; struct ufs_args u_args; char *mp; +#ifdef PC98 + char fddev[24]; +#endif if (floppyMounted) return TRUE; @@ -85,20 +88,51 @@ mediaInitFloppy(Device *dev) } memset(&dosargs, 0, sizeof dosargs); +#ifdef PC98 + dosargs.fspec = fddev; +#else dosargs.fspec = dev->devname; +#endif dosargs.uid = dosargs.gid = 0; dosargs.mask = 0777; memset(&u_args, 0, sizeof(u_args)); +#ifdef PC98 + u_args.fspec = fddev; +#else u_args.fspec = dev->devname; - - if (mount("msdos", mp, MNT_RDONLY, (caddr_t)&dosargs) == -1) { - if (mount("ufs", mp, MNT_RDONLY, (caddr_t)&u_args) == -1) { - msgConfirm("Error mounting floppy %s (%s) on %s : %s", - dev->name, dev->devname, mp, strerror(errno)); - return FALSE; - } - } +#endif + +#ifdef PC98 + sprintf(fddev, "%s.1200", dev->devname); + if (mount("msdos", mp, MNT_RDONLY, (caddr_t)&dosargs) != -1) + goto success; + if (mount("ufs", mp, MNT_RDONLY, (caddr_t)&u_args) != -1) + goto success; + + sprintf(fddev, "%s.1232", dev->devname); + if (mount("msdos", mp, MNT_RDONLY, (caddr_t)&dosargs) != -1) + goto success; + if (mount("ufs", mp, MNT_RDONLY, (caddr_t)&u_args) != -1) + goto success; + + sprintf(fddev, "%s.1440", dev->devname); + if (mount("msdos", mp, MNT_RDONLY, (caddr_t)&dosargs) != -1) + goto success; + if (mount("ufs", mp, MNT_RDONLY, (caddr_t)&u_args) != -1) + goto success; +#else + if (mount("msdos", mp, MNT_RDONLY, (caddr_t)&dosargs) != -1) + goto success; + if (mount("ufs", mp, MNT_RDONLY, (caddr_t)&u_args) != -1) + goto success; +#endif /* PC98 */ + + msgConfirm("Error mounting floppy %s (%s) on %s : %s", + dev->name, dev->devname, mp, strerror(errno)); + return FALSE; + +success: floppyMounted = TRUE; distWanted = NULL; return TRUE; -- cgit v1.1