*BSD News Article 10530


Return to BSD News archive

Received: by minnie.vk1xwt.ampr.org with NNTP
	id AA262 ; Sun, 31 Jan 93 14:00:15 EST
Path: sserve!manuel.anu.edu.au!munnari.oz.au!hp9000.csc.cuhk.hk!saimiri.primate.wisc.edu!zazen!decwrl!atha!sgiblab!spool.mu.edu!olivea!charnel!sifon!broue!captain
From: captain@rot.qc.ca (Andrew Webster)
Newsgroups: comp.unix.bsd
Subject: Re: [386BSD] boot disk does absolutely nothing on gateway 4dx33v
Message-ID: <C1LKFw.DLt@rot.qc.ca>
Date: 29 Jan 93 03:59:55 GMT
References: <1993Jan21.221451.10039@fcom.cc.utah.edu>
Organization: Groupe de Recherche Operationnelle en Telecommunication (ROT) Inc.
Lines: 62
X-Newsreader: TIN [version 1.1 PL8]

A Wizard of Earth C (terry@cs.weber.edu) wrote:
> In article <1jkdpeINNkeg@cat.cis.Brown.EDU> tim@news.Brown.EDU (Timothy Miller) writes:
> >I have acquired the boot disk image for 386bsd, and no matter what I try,
> >when my system starts up, it displays all the bios messages, and then hangs
[stuff deleted]...

> This is the "Compaq boot problem".  You can get the patch from the file
> ~/terry/patch.bootblock.fdboot.c on ref.tfs.com, download a Compaq
> dist.fs or fixit,fs, or go to a news archive and get the article
> "Message-ID: <1992Dec08.132820.29435@crash>".

> The problem is insidious, and it's a wonder anyone can boot at all; from
> the referenced article:

> ] Also, Akihiro Higashi, in article
> ] <1992Sep11.051554.29192@mlab.nttdocomo.co.jp>, reported that he
> ] had to change 3rd & 4th "NOP"s to "JMP .+2"s on his COMPAQ 486/50L.
> ] 'NOP' is a delay macro which alters the AL register.  The specific
> ] ange 3rd & 4th "NOP"s to "JMP .+2"s on his COMPAQ 486/50L.
> ] 'NOP' is a delay macro which alters the AL register.  The specific
> ] instances mentioned involve code resetting the DMA controller's first/last
> ] flip-flop and then programming the DMA controller's mode register.
> ] The initialization byte for the mode register is clobbered by a NOP
> ] (I am amazed that the boot works on most systems!).  This can be fixed
> ] by rearranging the code slightly.

> And for brave, brave souls:

> ] Fortunately, these changes do not shift the boot code, so a binary patch
> ] is possible.  The changes to the first sector on the disk (fixit.fs or
> ] dist.fs) are given below:
> ] 
> ] Offset    Old    New
> ] ------    ----   ----
> ] 0x00e1    0x07   0xbf
> ] 0x00f2    0xb0   0xee
> ] 0x00f3    0x46   0xe4
> ] 0x00f4    0xee   0x84
> ] 0x00f5    0xe4   0x4a
> ] 0x00f6    0x84   0xb0
> ] 0x00f7    0x4a   0x46

> I believe the pattern "b0 46 ee e4 84 4a" would exist even on altered boot
> disks, since this portion of the boot would be unchanged, even if not at
> the same offset.  Work back by -15 (decimal) to fix the e1 offset value.

> Using either a binary patch or Compaq boot disks should alleviate the
> need to have a working system to build a disk to have a working system...


I tried the binary patch, and lo-and behold it boots!
Thanks!

-------------------------------------------------------------------------------
captain@broue.rot.qc.ca	| Andrew Webster	|  "The engines canna take it 
			|			|  anymore cap'n..."
IP: 192.77.49.131	| ROT inc.		 ------------------------------
			| Recherche Operationnelle en Telecommunication
			|
Voice: +1 514 737 0020	| Dataradio Inc.
Fax:   +1 514 737 7883	| Montreal, Quebec
-------------------------------------------------------------------------------