home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / unix / bsd / 11674 < prev    next >
Encoding:
Text File  |  1993-01-21  |  4.6 KB  |  97 lines

  1. Newsgroups: comp.unix.bsd
  2. Path: sparky!uunet!gatech!news.byu.edu!ux1!fcom.cc.utah.edu!cs.weber.edu!terry
  3. From: terry@cs.weber.edu (A Wizard of Earth C)
  4. Subject: Re: [386BSD] boot disk does absolutely nothing on gateway 4dx33v
  5. Message-ID: <1993Jan21.221451.10039@fcom.cc.utah.edu>
  6. Sender: news@fcom.cc.utah.edu
  7. Organization: Weber State University  (Ogden, UT)
  8. References: <1jkdpeINNkeg@cat.cis.Brown.EDU>
  9. Date: Thu, 21 Jan 93 22:14:51 GMT
  10. Lines: 85
  11.  
  12. In article <1jkdpeINNkeg@cat.cis.Brown.EDU> tim@news.Brown.EDU (Timothy Miller) writes:
  13. >I have acquired the boot disk image for 386bsd, and no matter what I try,
  14. >when my system starts up, it displays all the bios messages, and then hangs
  15. >with the floppy drive light on. I have tried waiting for half an hour (just
  16. >to be on the safe side), I've tried keeping the keyboard unplugged during
  17. >reboot and also only unplugging it when it gets to the hang stage (because of
  18. >reading about gateway keyboard problems), I've tried disabling in nvram/eeprom
  19. >everything I can get my hands on, including setting IDE speed to slow,
  20. >cpu speed to slow, internal & external caching off, bios shadowing disabled,
  21. >ide block mode disabled, turning the ATI's memory aperture off, etc. I've
  22. >tried booting off of fixit as well as dist, and as well as the debug versions
  23. >of the bootables.  I know I'm installing the disk image correctly because
  24. >doing the same thing with the linux disk images works perfectly (in fact linux
  25. >successfully installs and runs fine, without my even needing to turn anything
  26. >off (except gcc dies unless I turn external caching off)).
  27. >
  28. >I've examined the source to the boot blocks for both linux and 386bsd (and
  29. >confirmed that they matched the binaries), and as far as I can tell both
  30. >are doing about the same things, with the exception that the 386bsd goes
  31. >directly to the floppy ports where linux uses the bios interrupts, and 
  32. >linux loads itself into 0x90000 where 386bsd uses 0x98000. However, linux later
  33. >writes directly to the floppy ports and that works fine, and linux uses the
  34. >same port locations as 386bsd. Since I don't hear any disk access after the
  35. >light turns on, I would guess that the hang is coming before the point where
  36. >the boot block loads in anything else, but that's only a guess; I don't know
  37. >if I'd necessarily hear it loading in the 15 sectors if that doesn't require
  38. >moving the heads, for instance.
  39.  
  40. This is the "Compaq boot problem".  You can get the patch from the file
  41. ~/terry/patch.bootblock.fdboot.c on ref.tfs.com, download a Compaq
  42. dist.fs or fixit,fs, or go to a news archive and get the article
  43. "Message-ID: <1992Dec08.132820.29435@crash>".
  44.  
  45. The problem is insidious, and it's a wonder anyone can boot at all; from
  46. the referenced article:
  47.  
  48. ] Also, Akihiro Higashi, in article
  49. ] <1992Sep11.051554.29192@mlab.nttdocomo.co.jp>, reported that he
  50. ] had to change 3rd & 4th "NOP"s to "JMP .+2"s on his COMPAQ 486/50L.
  51. ] 'NOP' is a delay macro which alters the AL register.  The specific
  52. ] ange 3rd & 4th "NOP"s to "JMP .+2"s on his COMPAQ 486/50L.
  53. ] 'NOP' is a delay macro which alters the AL register.  The specific
  54. ] instances mentioned involve code resetting the DMA controller's first/last
  55. ] flip-flop and then programming the DMA controller's mode register.
  56. ] The initialization byte for the mode register is clobbered by a NOP
  57. ] (I am amazed that the boot works on most systems!).  This can be fixed
  58. ] by rearranging the code slightly.
  59.  
  60. And for brave, brave souls:
  61.  
  62. ] Fortunately, these changes do not shift the boot code, so a binary patch
  63. ] is possible.  The changes to the first sector on the disk (fixit.fs or
  64. ] dist.fs) are given below:
  65. ] Offset    Old    New
  66. ] ------    ----   ----
  67. ] 0x00e1    0x07   0xbf
  68. ] 0x00f2    0xb0   0xee
  69. ] 0x00f3    0x46   0xe4
  70. ] 0x00f4    0xee   0x84
  71. ] 0x00f5    0xe4   0x4a
  72. ] 0x00f6    0x84   0xb0
  73. ] 0x00f7    0x4a   0x46
  74.  
  75. I believe the pattern "b0 46 ee e4 84 4a" would exist even on altered boot
  76. disks, since this portion of the boot would be unchanged, even if not at
  77. the same offset.  Work back by -15 (decimal) to fix the e1 offset value.
  78.  
  79.  
  80. Using either a binary patch or Compaq boot disks should alleviate the
  81. need to have a working system to build a disk to have a working system...
  82.  
  83.  
  84.  
  85.                     Terry Lambert
  86.                     terry@icarus.weber.edu
  87.                     terry_lambert@novell.com
  88. ---
  89. Any opinions in this posting are my own and not those of my present
  90. or previous employers.
  91. -- 
  92. -------------------------------------------------------------------------------
  93.                                         "I have an 8 user poetic license" - me
  94.  Get the 386bsd FAQ from agate.berkeley.edu:/pub/386BSD/386bsd-0.1/unofficial
  95. -------------------------------------------------------------------------------
  96.