home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / unix / bsd / 8615 < prev    next >
Encoding:
Text File  |  1992-11-08  |  7.3 KB  |  191 lines

  1. Newsgroups: comp.unix.bsd
  2. Path: sparky!uunet!zaphod.mps.ohio-state.edu!rpi!think.com!ames!sun-barr!decwrl!csus.edu!netcom.com!alm
  3. From: alm@netcom.com (Andrew Moore)
  4. Subject: Re: [386BSD] Configuring a new Kernel
  5. Message-ID: <1992Nov8.224721.22770@netcom.com>
  6. Organization: Netcom - Online Communication Services  (408 241-9760 guest) 
  7. References: <BxEztt.7z5@acsu.buffalo.edu>
  8. Date: Sun, 8 Nov 1992 22:47:21 GMT
  9. Lines: 180
  10.  
  11. In article <BxEztt.7z5@acsu.buffalo.edu> visnurpk@ubvmsb.cc.buffalo.edu (Rich Kernin) writes:
  12. >   I've installed the src01 package recently, and want to upgrade the
  13. >kernel, using the patchkit, so I may keep current.  The problem is that
  14. >I haven't found out how to do this yet... :-(  I've read the man page for
  15.  
  16. If you also have etc01 installed and  all you want is to install the
  17. patch kit, it is very easy (otherwise you currently need to selectively
  18. apply patches that don't patch etc01 stuff...).  I'll assume that you
  19. have seen Terry Lambert's FAQ and Nate William's FAQ (both on agate and
  20. gatekeeper).
  21.  
  22. Install the _whole_ kit (iALL - currently 58 patches ) as per the
  23. instructions.  Some patches cause problems on some systems, hopefully
  24. yours it not one of them...  Ignore Terry's warning because you have to
  25. put an option line in your config file to enable code like the Danpex
  26. patch.  You might want to first recompile /usr/src/bin/csh since
  27. it crashes  easily as distributed:
  28.  
  29.  
  30. # su
  31. # cd /usr/src/bin/csh && make && make install
  32. # exit    <=== re-login with new csh
  33. # su
  34. # cd /usr/src/usr.sbin/config
  35. # make && make install
  36. # cd /usr/src/sbin/init
  37. # vi init.c
  38.  
  39. [add a semicolon at end of line 234, so it reads: 
  40. "while (wait(&status) != pid);"]
  41.  
  42. # make && make install
  43.  
  44. # cd /sys/i386/conf
  45. # vi GENERICISA    <=== or use SYSTEM_NAME
  46.  
  47. [change com1 to com0 and com2 to com1 - I also change IO_COM[12]  to
  48. IO_COM[01]  here and in /sys/i386/isa/isa.h as well (?) 
  49. To run X, add "options XSERVER" near  the top; you might also want to
  50. increase the number of pty's (one per xterm).
  51. To use the kernel debugger, add the line: "pseudo-device ddb"]
  52.  
  53. # config GENERICISA  
  54. # cd /sys/compile/GENERICISA
  55. # make depend
  56. # make
  57. # cp 386bsd /386bsd.pl58
  58. # mv /386bsd.pl58 /386bsd
  59. # cksum 386bsd /386bsd  <=== verify copied OK
  60. # chown root /386bsd
  61. # chgrp wheel /386bsd
  62. # chmod 755 /386bsd
  63. # sync; sync
  64. # shutdown -r now
  65. # cd /sys/compile/GENERICISA
  66. # make clean
  67. # make    <===  recompile to correctly install the math_emulate.c patch (?)
  68. # cp 386bsd /386bsd.pl58
  69. # mv /386bsd.pl58 /386bsd
  70. etc and reboot
  71.  
  72. At this point, might want to look at /sys/ROADMAP.  You should also
  73. rebuild /usr/src.  Adrian Hall's procedure (below)  works for me.  If
  74. in addition you fix the HUGE constant in math.h from 1e500 to:
  75.  
  76. #define HUGE_VAL      1.79769313486231570e+308
  77.  
  78. you can recompile awk.  Hope that's all...
  79. -Andrew Moore <alm@netcom.com>
  80.  
  81.  
  82. Here are  Adrian's instructions:
  83.  
  84. From: adrian@ibmpcug.co.uk (Adrian Hall)
  85. Newsgroups: comp.unix.bsd
  86. Subject: Getting /usr/src to compile on 386BSD
  87. Message-ID: <Bv1xpz.IKx@ibmpcug.co.uk>
  88. Date: 23 Sep 92 22:13:10 GMT
  89. Organization: The IBM PC User Group, UK.
  90. Lines: 94
  91.  
  92. This is a list of things I had to do so that make works from /usr/src.
  93. It is not comprehensive, and by no means authoritive, and not in any
  94. particular order. You are advised to read the entire list if you are
  95. going to use it.
  96.  
  97.         (1)        Remove the references to lib and include in
  98.                 /usr/src/Makefile. They need to be made before
  99.                 the programs, so either put them at the start or
  100.                 remove them.
  101.  
  102.         (2)        Edit /usr/share/mk/*.mk so that install does
  103.                 a install -c instead of an install without a
  104.                 -c. You will find re-compiles a whole lot quicker :)
  105.  
  106.         (3)        Do not re-compile libg++, g++, gcc, gas, gdb or
  107.                 groff. (1) Its a waste of time, and (2) they come
  108.                 up with errors when you compile them. (e.g. try
  109.                 
  110.         (cd lib/libg++ ; make depend ; make ; make install)
  111.  
  112.                 to see what I mean).
  113.  
  114. [These seem to compile OK if you don't run make depend, but I don't
  115. know the implications of not doing so... -AM]
  116.  
  117.         (4)        Similarly, dont compile tn3270. It has bugs in
  118.                 the makefiles that I dont want to fiddle with,
  119.                 and there are no patches to it (yet.)
  120.  
  121. [Again, seems to compile if you don't run make depend and change
  122. reference in api/makefile from <386bsd.lib.mak> to <bsd.lib.mak> -AM]
  123.  
  124.         (5)        When doing a 'make depend', keep it in the
  125.                 foreground, since when it comes to 'expr', you
  126.                 have to press ctrl-D to get it to continue.
  127.  
  128.         (6)        BEFORE DOING ANYTHING, type the following line :-
  129.  
  130. mkdir -p `find /usr/src -exec ls -l {} \; | awk '{print $10}'`
  131.  
  132.                 This makes all the obj directories that are missing.
  133.  
  134.         (7)        You need to link /usr/include/vm to /sys/vm in order
  135.                 to compile ktrace (and possibly a couple of others).
  136.  
  137.         (8)        I also moved all manual pages to /usr/share/man/man*
  138.                 and removed the manual page creation stuff from the
  139.                 /usr/share/mk/* files. You can then use catman (grabbed
  140.                 from one of the /usr/othersrc/public catman files and
  141.                 slightly modified) to create the cat* files if you so
  142.                 desire. If you are short on space, this might be a good
  143.                 idea.
  144.  
  145.         (9)        Dont forget to add in netstat and tset to the list
  146.  
  147. [netstat is installed by the patch kit, but not tset - get this from
  148. agate, for instance - AM]
  149.  
  150.                 of subdirs in usr.bin/Makefile to get these made as
  151.                 well (The sources are on agate in one of the unofficial
  152.                 subdirectories).
  153.  
  154.         (10)        Dont forget to apply all the patches :)
  155.  
  156.         (11)        I got the message 'Program cc1 got fatal signal 6.'
  157.                 when compiling awk, so I left that out as well. If
  158.                 anyone has a fix for this, let me know, and I will
  159.                 put it in.
  160.  
  161. [The math.h patch above fixes this -AM]
  162.  
  163.         (12)        Make sure you have put in the DES code if you
  164.                 want it in (/usr/386bsd.errata/crypt.instructions
  165.                 explains how to get the crypt code into your library.
  166.                 Remember you are going to be re-compiling it though!).
  167.  
  168. Once all these have been done, it is a case of typing :-
  169.  
  170.         cd /usr/src
  171.         make depend                (go get a pizza, preferably in
  172.                                  another coutry).
  173.         make                        (go get another pizza, preferably 
  174.                                  on another continent).
  175.         make install                (see make depend).
  176.  
  177. On my system, crond and crontab came up with lots of warnings. They
  178. dont seem to have suffered as a consequence, so I guess you can 
  179. ignore them.
  180.  
  181.         How rachel.ibmpcug.co.uk anonymous ftp is laid out.
  182.  
  183. I have put my entire source tree and share tree up for anonymous ftp.
  184. In addition my current kernel (all drivers included and fully patched),
  185. and configuration are in the top level directory. Anything that I have
  186. installed for local use is kept in src/local (sources only).
  187. If you think looking at any other files will be useful, please let me know.
  188.  
  189. A dist.fs and fixit.fs with fully patched kernels will appear sometime
  190. in the very near future.
  191.