bdale@col.hp.com (Bdale Garbee) (06/04/90)
Saturday afternoon, Minix ran on my PC532. Bruce asked me to play beta-tester for his bits, and I was able to pull some files from his machine at work and give it a shot. Sunday morning, Fred came down with his box, and we were successful in building a non-trivial root filesystem with all of Bruce's 32016 binaries loaded. Everything seems to be working pretty well, except that kermit hangs once in a while when in connected mode on /dev/tty1, and xemacs won't grok my terminal type... Here's the blow-by-blow: I invented a partitioning for the Miniscribe, which basically includes a 2100k /dev/hd1 for the kernel image, 10 31500k partitions for filesystems, and another 2100k /dev/hdc at the end of the drive for a backup kernel image. The numbers don't quite work out to be the entire disk, I realize, but it's close enough for now. Once I had a partitioning invented, I used my HP 9000/350 with SCSI interface to dd the kernel on to the front of the disk, and then to dd a 360k root filesystem image Bruce provided into the first 360k of the /dev/hd2 31500k partition. For the curious, the commands were: dd if=min532 of=/dev/rdsk/1s0 bs=1024 seek=2100 dd if=minix of=/dev/rdsk/1s0 bs=1024 skip=1 The min532 file was the root filesystem, the seek command put it after the kernel image partition. The minix file was the kernel, the skip command drops the a.out.h header from the file as it's copied to the front of the disk. The drive was obviously attached as /dev/rdsk/1s0, familiar notation to HP folk. Then, I moved the disk to my PC532, loaded the kernel using read 0 2000 150 and used the output of nm on the kernel to locate and patch the drive table and partition table for the Miniscribe. I then saved the kernel image back out with write 0 2000 150 and then loaded and ran the copy from disk with read 0 2000 150 run 2000 and VOILA! Up came Minix with a banner and login prompt. Well, actually, it took about 6 iterations through the process to get all the numbers right (I finally found my HP 16C calculator in the heap of stuff in my basement after the 5th try, and quickly fixed my hex conversion errors [sigh] /o\). Feeling really up on things, I then went back to the 350, and used Bruce's toolset compiled for the workstation to rebuild the kernel from scratch with my modified scsi_hi.c, where Bruce has (temporarily?) kernel-embedded the drive and partition tables. The rebuild looked good, so I went through the dd process and tried again. No luck. After several iterations, I realized that Bruce was defining 'OMTI' at the top of the scsi_hi.c file instead of in the Makefile as a -DOMTI, meaning I hadn't realized it was defined, and of course that was giving me a bogus drive table with strange initializers as far as the Miniscribe was concerned. Removing that line, leaving only the -DM9380S in the Makefile, caused me to get a working kernel, and the next boot attempt worked great. Suffering heavily from pine-pollen-induced sinus congestion, I called it quits for Saturday. Sunday morning, Fred arrived bright and early, and we dove in again. This time, we brought over the 32016 binaries to my workstation, and editted up the mkfs proto file to include all the binaries. Running the Minix mkfs compiled for the workstation, I successfully built and dd'ed a 31500k root filesystem that included a full set of binaries from Bruce, along with pi.c and the pi Makefile. We moved the disk over, booted the pc532, and were successful in compiling and running pi on the pc532! Then, I hooked up a serial line to my workstation, and we successfully used the second serial port to kermit a file from the workstation to the PC532. However, as earlier mentioned, we had some problems with hangs, and the kermit seemed to lose out at 9600 baud. More on that when I have time to investigate. There is also a seemingly weird problem where kermit using the connect command to log in to the workstation, will apparently not flush the received character buffer to the display for the last partial buffer size without a keypress. It doesn't keep you from doing anything, but it's weird to not get the last few chars of the login prompt, or the shell prompt, until you type the first character of the next hunk of text you are going to input... this may be a problem in the serial port driver, in kermit, or in the interaction between the two. Regardless, it's annoying enought to deserve some time. It *IS* really neat being able to log in to the workstation and kermit files on day one though! Thanks Bruce for having your 32016 binaries executable on your 32532 port, and thanks National for making it even possible... :-) Since then, I've been pulling the source tree over on to the pc532, in preparation for trying to recompile the kernel and binaries in place. Bruce warns me that he's seeing an occasional SCSI write failure, but I haven't seen one yet, as far as I can tell. Bruce, what's the symptom, so I can watch for it? Folks, this is pretty exciting stuff! There are a few things that ought to be ironed out before everyone jumps in and tries to duplicate our efforts, like we should provide a kernel pre-configured for the PC532 with Miniscribe drive. But, it's pretty close to being a functional machine for us at this point! Bruce, job well done on the OS port to date. I'll shar my changes and send them to you tonight, if I have time... Dave and George, thanks again for providing such a neat platform to play with! Bdale