home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Distributions / ucb / 2.9-derivatives / 2.9-pro350 / boot.doc next >
Text File  |  1985-02-28  |  8KB  |  436 lines

  1. .ND
  2. .TL 
  3. Bootstrapping 2.9BSD on the Pro350
  4. .sp
  5. .LP
  6. .SH
  7. Preliminaries
  8. .sp
  9. .PP
  10. The Pro350 is essentially an 11/23+ with floating pt.,
  11. a bit mapped screen, 3 serial ports, two disk subsystems
  12. and a weird little time of day clock.  For 2.9, I've named
  13. the devices as follows:
  14. .sp
  15. .TS
  16. center;
  17. l c l l l.
  18. Device    Driver Name    /dev name    Special    File #'s
  19. _
  20.                     b    c
  21. .sp
  22. -bit mapped    cn.c    /dev/console    --    5,0
  23.  screen and
  24.  keyboard
  25. .sp
  26. -serial port    pc.c    /dev/tty00    --    1,0
  27.  & com. port        & /dev/tty01        1,1
  28. .sp
  29. a
  30. -RX50 floppies    r5.c    /dev/[r]r50    11,0    16,0
  31.         & /dev/[r]r51    11,1    16,1
  32. .sp
  33. RD5X hard disk    rd.c    /dev/[r]rd0[a-h]    10,0-7    10,0-7
  34. .TE
  35. .sp
  36. The hard disk partitions are:
  37. .sp
  38. .TS
  39. center;
  40. c c c c
  41. c l n l.
  42. name    filesystem    start (512 blocks)    size (512 blocks)
  43.         offset
  44. _
  45. .sp
  46. a    /    64    4480
  47. .sp
  48. b    swap    4544    1920
  49. .sp
  50. c    /usr for RD51    6464    13056
  51. .sp
  52. d    /usr for RD50    6464    3264
  53. .sp
  54. h    whole disk    0    19584 (RD51)
  55.         or    9792 (RD50)
  56. .TE
  57. .sp
  58. The printer and com. ports can both be used as
  59. ordinary terminal lines.  If pins 8-9 are jumpered
  60. on the printer port it can also be used as a
  61. maintenance terminal (i.e., hit <break> and you
  62. halt the cpu and end up in ODT).  Also, DSR is used
  63. as carrier on the printer port.
  64. .sp
  65. .bp
  66. .TL
  67. Bootstrapping 2.9 on the Pro350
  68. .sp
  69. .SH
  70. Phase 1
  71. .LP
  72. (requires a running 2.9BSD system)
  73. .sp
  74. .PP
  75. Generate a bootable kernel and an appropriate system disk
  76. using the modified sources.  Briefly, this involves 
  77. the following:
  78. .in+2
  79. -kernel sysgen:
  80. .in+2
  81. .sp
  82. .ti-1
  83. --install the new source files in the appropriate directories and modify
  84.   the files ../sys/sys according to diffs.sys
  85. .sp
  86. --set up an appropriate config file
  87. .br
  88. eg.
  89. .nf
  90. #  Machine configuration file.
  91. #  Format:
  92. #    name    value        comments
  93. #
  94. #  The value field may not contain blanks;
  95. #  blank lines are not allowed.
  96. #
  97. #    General parameters
  98. pdp11        21
  99. ident        jay
  100. maxusers    2
  101. bootdev        rd
  102. timezone    5            # Pacific
  103. dst        1
  104. #
  105. #    Filesystem configuration
  106. rootdev        makedev(10,0)        # rd0a
  107. swapdev        makedev(10,1)        # rd0b
  108. dumpdev        NODEV
  109. pipedev        makedev(10,0)        # rd0a
  110. swplo        0
  111. nswap        1920
  112. dumplo        0
  113. dumproutine    nodev
  114. #
  115. #    Device configuration
  116. NXP        0
  117. NXP_CONTROLLER     0
  118. NHK        0
  119. NRK        0
  120. NRL        0
  121. NRP        0
  122. NR5        2
  123. NRD        1
  124. NHT        0
  125. NTM        0
  126. NTS        0
  127. NDZ        0        # in units of boards (8 each)
  128. NDH        0        # in units of boards (16 each)
  129. NDM        0        # in units of boards (16 each)
  130. LOWDM        0        # LOWDM is in units of lines
  131. NKL        0
  132. NLP        0
  133. NPC        2
  134. .fl
  135. note pdp11 type of '21'
  136. .sp
  137. .ti-1
  138. --run config 
  139. .ti+5
  140. -config PRO
  141. .br
  142. .ti+5
  143. -cd ../PRO
  144. .sp
  145. .ti-1
  146. --edit localopts as required:
  147. .in-2
  148. .sp
  149. .ti-1
  150. --edit param.c to set HZ to 64 (The rate of the PRO's weird 
  151. clock) "make" to generate the kernel
  152. .sp
  153. .ti-1
  154. --run "make" in directory ../sys/stand to generate
  155. the stand alone utilities that know how to talk to
  156. the RX50 and RD5X.
  157. .sp
  158. .ti-1
  159. --run "make.sh" in directory, ../mdec to generate
  160. the boot blocks for the RX50 and RD5X.
  161. .sp
  162. .ti-1
  163. --now make a root file system on an appropriate
  164. disk partition
  165. .sp
  166. # mkfs /dev/r??? 2240
  167. .sp
  168. .in+2
  169. -copy all the normal root stuff 
  170. including "rdfmt", "getfile" and "rdboot" just
  171. created into the '/' directory
  172. .in-2
  173. .sp
  174. .ti-1
  175. --now make the fileE(3Év( ²    Å QF╔rP┴$enabled
  176.  *         0 - was disabled
  177.  */
  178. ienable(device)
  179. int device;
  180. {
  181.     register int dev, intr;
  182.     register struct indevice *iaddr;
  183.     int tmp;
  184.  
  185.     dev = device>>3;
  186.     intr = device & 07;
  187.     iaddr = IVECADDR+dev;
  188.     iaddr->csr = IVEC_CIM | intr;
  189.     tmp = (imask[dev]>>intr) & 01;
  190.     imask[dev] |= (01<<intr);
  191.     return(tmp);
  192. }
  193.  
  194. /* Disable interrupts for "device", return as above. */
  195. idisable(device)
  196. int device;
  197. {
  198.     register int dev, intr;
  199.     register struct indevice *iaddr;
  200.     int tmp;
  201.  
  202.     dev = device>>3;
  203.     intr = device & 07;
  204.     iaddr = IVECADDR+dev;
  205.     iaddr->csr = IVEC_SIM | intr;
  206.     iaddr->csr = IVEC_CIR | intr;
  207.     tmp = (imask[dev]>>intr) & 01;
  208.     imask[dev] &= ~(01<<intr);
  209.     return(tmp);
  210. }
  211.  
  212. ivinit()
  213. {
  214.     register struct indevice *iaddr = IVECADDR;
  215.     register int i;
  216.  
  217.     for (i = 0; i < 3; i++) {
  218.         iaddr->csr = IVEC_PACR;
  219.         iaddr->dat = 0377;
  220.         iaddr->csr = IVEC_M5T7;
  221.         if (i > 0)
  222.             iaddr->csr = IVEC_M0T4;
  223.         iaddr->csr = IVEC_PIMR;
  224.         iaddr++;
  225.     }
  226. }
  227. #endif
  228. R->cs0 = R5_EXTCOM;
  229.     R5ADDR->sc = 0;
  230.     while ((R5ADDR->aud, 8 bit-no parity
  231. .sp
  232. .in-2
  233. .ti-1
  234. --plug the cable into the pro's printer port and the terminal
  235. .sp
  236. .ti-1
  237. --power up the pro
  238. .sp
  239. .ti-1
  240. --hit "break"
  241. .br
  242. you should now get an '@' indicating you are in ODT
  243. .sp
  244. .ti-1
  245. --insert the scratch floppy in drive 0
  246. .sp
  247. .ti-1
  248. --toggle in the primitive form of 'getfile' as per Appendix A
  249. .sp
  250. .ti-1
  251. unplug the cable from the terminal and connect it to the serial
  252. port on the 2.9BSD system
  253. .sp
  254. .ti-1
  255. type '# putfile d /dev/tty??' on the 2.9BSD system
  256. to initiate downloading 
  257. .sp
  258. .in+2
  259. -the floppy should be writing away for about 10 minutes
  260. .in-2
  261. .sp
  262. .ti-1
  263. --when 'putfile' returns, you should have a bootable 
  264. maintenance floppy
  265. .sp
  266. .ti-1
  267. --boot the floppy via
  268. .in+2
  269. <break>
  270. .br
  271. @160000g
  272. .br
  273.  .
  274. .br
  275.  .
  276. .br
  277.  .
  278. .br
  279. 40boot
  280. .br
  281. :
  282. .in0
  283. .sp
  284. .SH
  285. Phase 3
  286. .LP
  287. .sp
  288. .in+2
  289. .ti-1
  290. --setting up the hard disk
  291. .sp
  292. .ti-1
  293. --format the hard disk
  294. .sp
  295. :r5(0,0)rdfmt
  296. .br
  297.  .
  298. .br
  299.  .
  300. .br
  301.  .
  302. .br
  303. (0-RD51, 1-RD50)?0 <cr>
  304. .br
  305.  . 
  306. .br
  307.  . 
  308. .br
  309.  .
  310. .br
  311. :
  312. .sp
  313. .ti-1
  314. --download the / filesystem
  315. .sp
  316. :r5(0,0)getfile
  317. .br
  318. Controller#(0-R5, 1-RD, 2-RA)?1 <cr>
  319. .br
  320. Drive #0 <cr>
  321. .br
  322. Start Offset #64 <cr>
  323. .br
  324. Ready for putfile command
  325. .sp
  326. and now type "# putfile /dev/??? /dev/tty??
  327. .br
  328. to start the download
  329. .br
  330. NOTE: Use the block special file for the disk.
  331. .br
  332. (this takes about 1 1/2 hours)
  333. .in0
  334. .sp
  335. .in+3
  336. .ti-1
  337. --now boot unix
  338. .br
  339. :rd(0,64)unix
  340. .br
  341.  .
  342. .br
  343.  .
  344. .br
  345.  .
  346. .sp
  347. .ti-1
  348. --it should come up single user on the console
  349. screen/keyboard
  350. .sp
  351. .ti-1
  352. --copy in RD bootstrap
  353. .sp
  354. # dd if=/rdboot of=/dev/rrd0h
  355. .sp
  356. --create a full dump of / on floppies
  357. .sp
  358. # sync; dump 0fs /dev/rr50 23 /dev/rrd0a
  359. .sp
  360. .ti-1
  361. --you may now choose to download /usr in a similar
  362. manner to / or to use 'mkfs' to make an empty file
  363. system and add stuff as you go along
  364. .sp
  365. .ti-1
  366. --to download with 'getfile' use start offset of 6464
  367. .sp
  368. .ti-1
  369. --for 'mkfs' use
  370. .sp
  371. # mkfs /dev/rrd0c 6528
  372. .sp
  373. .in-3
  374. .ul
  375. Final Remarks
  376. .in+3
  377. .sp
  378. .ti-1
  379. --if you need to recover from a bad crash, you can
  380. boot unix on the floppy and run mkfs and restore from the
  381. maintenance floppy to recover the full dump on floppies
  382. .sp
  383. .ti-1
  384. --you will then have to boot /unix using the floppy boot and use 'dd'
  385. to put the RD bootstrap back.
  386. .sp
  387. .ti-1
  388. --you can move individual files using the modified 'cu'
  389. on the printer or com. port.
  390. .sp
  391. .ti-1
  392. --for major transfers, getfile/putfile to a floppy
  393. is the easiest.
  394. .sp
  395. .SH
  396. Appendix A
  397. .LP
  398. .nf
  399. @0/17777 12737<lf>
  400. @2/17777 340<lf>
  401. ...
  402. using the following data:
  403. 0000000 012737 000340 177776 005002 012706 157776 032737 000010
  404. 0000020 174204 001774 004567 000234 022700 000005 001373 005003
  405. 0000040 012701 001000 005037 174222 004567 000210 060003 010037
  406. 0000060 174226 077106 004567 000174 042703 177400 020003 001046
  407. 0000100 010205 010446 006305 005004 071427 000012 060405 011604
  408. 0000120 006304 060405 005004 071427 000012 005205 010537 174210
  409. 0000140 012604 005204 010437 174206 012737 000160 174204 005037
  410. 0000160 174224 032737 000010 174204 001774 105737 174204 100406
  411. 0000200 005202 012700 000007 004567 000036 000704 012737 000060
  412. 0000220 174204 005037 174224 032737 000010 174204 001774 012700
  413. 0000240 000011 004567 000002 000666 105737 177564 002375 010037
  414. 0000260 177566 000205 105737 177560 002375 013700 177562 000205
  415. .sp
  416. until 276/177777 205<cr>
  417. then start execution with:
  418. @R7/0 0<cr>
  419. @p<cr>
  420. the system should be now ready to connect the cable to the 2.9BSD line and
  421. issue the 'putfile d /dev/tty??' command.
  422. .sp
  423. .SH
  424. Appendix B
  425. .LP
  426. .sp
  427. The mtc is cabled as follows:
  428.     pins    9 pin D        25 pin D
  429.         1        1
  430.         2        3
  431.         3        2
  432.         7        7
  433.     plus jumpers on 9 pin
  434.         5-6
  435.         8-9 (for maintenance purposes only)
  436.