Subject: MacBSD Installer patch, and Futura MX problem
To: None <macbsd-development@NetBSD.ORG>
From: Hoshi Takanori <hoshi@sran265.sra.co.jp>
List: macbsd-development
Date: 08/13/1995 00:02:20
Hello,
I'm sorry if someone already suggested this idea, but here is a
patch for the MacBSD Install Utility to be able to install from
splitted archive. This is quite usefull to install from floppy
disks.
By the way, I have several questions about the MacBSD Installer
and IIvx kernel.
Q1:
I compiled the Installer with CodeWarrior and found a lot of
pointer type mismacthes which THINK C doesn't care. While most
of them are harmless, some calls of SCSI related functions like
SCSIRead() passes pointers to int (which is 4 bytes, of course)
but the callees expect pointers to short... is it OK?
Q2:
How can I make an archive to be installed with the Installer?
It doesn't accept either 'X.11Mar95.tgz' nor tar + gzipped files
I made. How did you create 'base.tar.gz' etc?
Q3:
I'm using Aug 11 'netbsd.iivx' kernel (Thanks Allen and others)
and having trouble with E-machines Futura MX video card and 17
inch display. While the console is OK, grf0 driver thinks it is
320x240 pixels and its rowByte is 2048, resulting that X runs in
'interleaved' display... How can I fix it? Which source files
to look into?
hoshi
*** MacBSD_Installer_Source/util.c Sat Jan 29 16:07:48 1994
--- MacBSD_Installer_Source.cw/util.c Sat Aug 12 14:16:54 1995
***************
*** 60,65 ****
--- 60,96 ----
errno = 0;
do {
len = read(ifd, (char*)inbuf+insize, INBUFSIZ-insize);
+ #ifdef ALICE
+ if ((len == 0 || len == EOF) && insize == 0) {
+ SFReply Reply;
+ Point Where = {100, 100};
+ int newfd;
+
+ SysBeep(1);
+ printf("EOF -- Choose next part to unpack\n");
+ SFGetFile(Where,NULL,NULL,-1,NULL,NULL,&Reply);
+ if (!Reply.good) {
+ printf("Cancelled\n");
+ break;
+ }
+
+ if (SetVol(NULL, Reply.vRefNum)) {
+ printf("Couldn't switch volumes?\n");
+ break;
+ }
+
+ Reply.fName[1+Reply.fName[0]] = '\000'; /* nasty null terminate */
+ newfd = OPEN((char *) &Reply.fName[1], O_RDONLY | O_BINARY, RW_USER);
+ if (newfd == -1) {
+ printf("cant open input file %s\n", &Reply.fName[1]);
+ break;
+ }
+
+ close(ifd);
+ ifd = newfd;
+ continue;
+ }
+ #endif
if (len == 0 || len == EOF) break;
insize += len;
} while (insize < INBUFSIZ);