diff options
author | nyan <nyan@FreeBSD.org> | 2000-06-05 13:17:23 +0000 |
---|---|---|
committer | nyan <nyan@FreeBSD.org> | 2000-06-05 13:17:23 +0000 |
commit | 6a7aa7f3d9d42126138b256ce2a6fe01ecd4d3a4 (patch) | |
tree | d4ae9bd04b53f4b71a4f6c8597f6153ee9c613e0 /usr.sbin/sysinstall/floppy.c | |
parent | 2957ed6969367453170ee419e165102e862b1ecb (diff) | |
download | FreeBSD-src-6a7aa7f3d9d42126138b256ce2a6fe01ecd4d3a4.zip FreeBSD-src-6a7aa7f3d9d42126138b256ce2a6fe01ecd4d3a4.tar.gz |
- 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
Diffstat (limited to 'usr.sbin/sysinstall/floppy.c')
-rw-r--r-- | usr.sbin/sysinstall/floppy.c | 50 |
1 files changed, 42 insertions, 8 deletions
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; |