EXAMPLE.TXT
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:16k
源码类别:

操作系统开发

开发平台:

C/C++

  1. Minix installation demo. Author: Kees J. Bot
  2. +-------------------------------------------------------+
  3. | This is a log of a Minix installation on my notebook  |
  4. | in the form of a number of screen images with bits of |
  5. | explanatory text in these boxes.  The floppy images   |
  6. | have already been made and the system is booted with  |
  7. | a diskette that contains both ROOT and USR combined.  |
  8. | That is why I typed 'fd0c' after starting Minix:      |
  9. +-------------------------------------------------------+
  10. Minix 2.0.0  Copyright 1997 Prentice-Hall, Inc.
  11. Executing in 32-bit protected mode
  12. Memory size = 8010K   MINIX = 295K   RAM disk =  480K   Available = 7236K
  13. RAM disk loaded.
  14. Tue Oct  1 16:21:37 MET 1996
  15. Finish the name of device to mount as /usr: /dev/fd0c
  16. /dev/fd0c is read-write mounted on /usr
  17. Starting standard daemons: update.
  18. Login as root and run 'setup' to install Minix.
  19. Minix  Release 2.0 Version 0
  20. noname login:
  21. +-------------------------------------------------------+
  22. | As suggested I log in as root and enter 'setup' to    |
  23. | start the installation script.                        |
  24. +-------------------------------------------------------+
  25. noname login: root
  26. # setup
  27. This is the Minix installation script.
  28. Note 1: If the screen blanks suddenly then hit F3 to select "software
  29.         scrolling".
  30. Note 2: If things go wrong then hit DEL and start over.
  31. Note 3: The installation procedure is described in the manual page
  32.         usage(8).  It will be hard without it.
  33. Note 4: Some questions have default answers, like this: [y]
  34.         Simply hit RETURN (or ENTER) if you want to choose that answer.
  35. Note 5: If you see a colon (:) then you should hit RETURN to continue.
  36. :
  37. +-------------------------------------------------------+
  38. | I hit the ENTER key and am asked about my keyboard    |
  39. +-------------------------------------------------------+
  40. What type of keyboard do you have?  You can choose one of:
  41.     french  italian   latin-am  scandinavn  uk      us-swap
  42.     german  japanese  olivetti  spanish     us-std
  43. Keyboard type? [us-std]
  44. +-------------------------------------------------------+
  45. | I'm blessed with a standard U.S. keyboard so I type   |
  46. | ENTER again.  Now it gets serious:                    |
  47. +-------------------------------------------------------+
  48. Minix needs one primary partition of at least 30 Mb (it fits in 20 Mb, but
  49. it needs 30 Mb if fully recompiled.  Add more space to taste.)
  50. If there is no free space on your disk then you have to back up one of the
  51. other partitions, shrink, and reinstall.  See the appropriate manuals of the
  52. the operating systems currently installed.  Restart your Minix installation
  53. after you have made space.
  54. To make this partition you will be put in the editor "part".  Follow the
  55. advice under the '!' key to make a new partition of type MINIX.  Do not
  56. touch an existing partition unless you know precisely what you are doing!
  57. Please note the name of the partition (hd1, hd2, ..., hd9, sd1, sd2, ...
  58. sd9) you make.  (See the devices section in usage(8) on Minix device names.)
  59. :
  60. +-------------------------------------------------------+
  61. | ENTER brings up the 'part' partition editor.  The     |
  62. | question marks indicate that no partition table is    |
  63. | loaded yet.  I must first choose a disk.              |
  64. +-------------------------------------------------------+
  65.   Select device       ----first----  --geom/last--  ------sectors-----
  66.     Device             Cyl Head Sec   Cyl Head Sec      Base      Size       Kb
  67.     /dev/hd0                            ?    ?   ?
  68.                          ?    ?   ?     ?    ?   ?         ?         ?        ?
  69. Num Sort   Type
  70.   ?  ?    ? ?            ?    ?   ?     ?    ?   ?         ?         ?        ?
  71.   ?  ?    ? ?            ?    ?   ?     ?    ?   ?         ?         ?        ?
  72.   ?  ?    ? ?            ?    ?   ?     ?    ?   ?         ?         ?        ?
  73.   ?  ?    ? ?            ?    ?   ?     ?    ?   ?         ?         ?        ?
  74. Type '+' or '-' to change, 'r' to read, '?' for more help, '!' for advice
  75. +-------------------------------------------------------+
  76. | This notebook has only one disk, so I type 'r':       |
  77. +-------------------------------------------------------+
  78.   Select device       ----first----  --geom/last--  ------sectors-----
  79.     Device             Cyl Head Sec   Cyl Head Sec      Base      Size       Kb
  80.     /dev/hd0                          485   16  63
  81.                          0    0   0   488   15  62         0    492912   246456
  82. Num Sort   Type
  83.  1  hd1  12              0    1   0     4   15  62        63      4977     2488
  84.  2* hd2  81 MINIX        5    0   0   426   14  52      5040    425303   212651
  85.  3  hd3  00 None         0    0   0     0    0  -1         0         0        0
  86.  4  hd4  00 None         0    0   0     0    0  -1         0         0        0
  87. at-hd0: Conner Peripherals 240MB - CP2251
  88. +-------------------------------------------------------+
  89. | There are two partitions already present on the disk, |
  90. | one that contains setup stuff for the notebook and a  |
  91. | 208 megabyte partition that already contains Minix.   |
  92. | The AT disk driver has tickled the IDE disk to make   |
  93. | it tell its type and make.  It is a message from deep |
  94. | in the kernel, not from part.                         |
  95. | For this install I want a new partition, so I move    |
  96. | over to the Size field of the first unused slot, line |
  97. | 3 with type "None".  I could type a number now, but   |
  98. | I want to use the rest of the disk, so I hit 'm'      |
  99. | there once or twice to let part propose something.    |
  100. +-------------------------------------------------------+
  101.   Size in sectors     ----first----  --geom/last--  ------sectors-----
  102.     Device             Cyl Head Sec   Cyl Head Sec      Base      Size       Kb
  103.     /dev/hd0                          485   16  63
  104.                          0    0   0   488   15  62         0    492912   246456
  105. Num Sort   Type
  106.  1  hd1  12              0    1   0     4   15  62        63      4977     2488
  107.  2* hd2  81 MINIX        5    0   0   426   14  52      5040    425303   212651
  108.  3  hd3  81 MINIX      426   14  53   488   15  62    430343     62569    31284
  109.  4  hd4  00 None         0    0   0     0    0  -1         0         0        0
  110. +-------------------------------------------------------+
  111. | Note that the end of partition 2 and the start of     |
  112. | partition 3 are not on a cylinder boundary.  Minix    |
  113. | doesn't care about that, but Linux fdisk would throw  |
  114. | a fit if it would see this.  In this case I'm happy,  |
  115. | so I type 'q' to quit, and 'y' to save the table:     |
  116. +-------------------------------------------------------+
  117.   Size in sectors     ----first----  --geom/last--  ------sectors-----
  118.     Device             Cyl Head Sec   Cyl Head Sec      Base      Size       Kb
  119.     /dev/hd0                          485   16  63
  120.                          0    0   0   488   15  62         0    492912   246456
  121. Num Sort   Type
  122.  1  hd1  12              0    1   0     4   15  62        63      4977     2488
  123.  2* hd2  81 MINIX        5    0   0   426   14  52      5040    425303   212651
  124.  3  hd3  81 MINIX      426   14  53   488   15  62    430343     62569    31284
  125.  4  hd4  00 None         0    0   0     0    0  -1         0         0        0
  126. Save partition table? (y/n) y
  127. Please finish the name of the primary partition you have created:
  128. (Just type RETURN if you want to rerun "part")                   /dev/hd3
  129. You have created a partition named:     /dev/hd3
  130. The following subpartitions are about to be created on /dev/hd3:
  131.         Root subpartition:      /dev/hd3a       1440 kb
  132.         /usr subpartition:      /dev/hd3c       rest of hd3
  133. Hit return if everything looks fine, or hit DEL to bail out if you want to
  134. think it over.  The next step will destroy /dev/hd3.
  135. :
  136. +-------------------------------------------------------+
  137. | Let's destroy some zeros and ones, I hit ENTER:       |
  138. +-------------------------------------------------------+
  139. Migrating from floppy to disk...
  140. Scanning /dev/hd3c for bad blocks.  (Hit DEL to stop the scan if are absolutely
  141. sure that there can not be any bad blocks.  Otherwise just wait.)
  142. cp /fd0/etc/hostname.file /mnt/etc/hostname.file
  143. cp /fd0/etc/motd /mnt/etc/motd
  144. +-------------------------------------------------------+
  145. | Lots of files are put on the disk.  It is a combined  |
  146. | ROOT+USR diskette, so both parts are installed with-  |
  147. | out pause.  When done I am greeted with the following |
  148. | message, showing that Minix has a short memory,       |
  149. | because at boot it said: Memory size = 8010K.  I      |
  150. | could type 8010, but ENTER will do.
  151. +-------------------------------------------------------+
  152. mkdir /mnt/root
  153. mkdir /mnt/tmp
  154. cp /fd0/.ellepro.b1 /mnt/.ellepro.b1
  155. /dev/fd0 unmounted from /fd0
  156. /dev/hd3a unmounted from /mnt
  157. What is the memory size of this system in kilobytes? [4096 or more]
  158. Second level file system block cache set to 1024 kb.
  159. +-------------------------------------------------------+
  160. | Setup is now done with the migration to disk, so it   |
  161. | wants me to type 'halt' and 'boot hd3'.  It says      |
  162. | "please", so I comply:                                |
  163. +-------------------------------------------------------+
  164. Please insert the installation ROOT floppy and type 'halt' to exit Minix.
  165. You can type 'boot hd3' to try the newly installed Minix system.  See
  166. "TESTING" in the usage manual.
  167. # halt
  168. System Halted
  169. fd0>boot hd3
  170. Minix 2.0.0  Copyright 1997 Prentice-Hall, Inc.
  171. Executing in 32-bit protected mode
  172. at-hd0: Conner Peripherals 240MB - CP2251
  173. Memory size = 8010K   MINIX = 295K   RAM disk = 1024K   Available = 6692K
  174. Tue Oct  1 16:39:24 MET 1996
  175. /dev/hd3c is read-write mounted on /usr
  176. Starting standard daemons: update.
  177. Login as root and run 'setup /usr' to install floppy sets.
  178. Minix  Release 2.0 Version 0
  179. noname login:
  180. +-------------------------------------------------------+
  181. | Type 'root' and 'setup /usr'.  ENTER, ENTER, input    |
  182. | floppy 1 of the USR.TAZ set, and ENTER.               |
  183. +-------------------------------------------------------+
  184. noname login: root
  185. # setup /usr
  186. What is the size of the images on the diskettes? [all]
  187. What floppy drive to use? [0]
  188. Please insert input volume 1 and hit return
  189. created directory: local/lib
  190. created directory: local/man
  191. created directory: local/src
  192. created directory: man
  193. Can't make directory mdec: File exists
  194. +-------------------------------------------------------+
  195. | Usage(8) warns about this "File exists" message, and  |
  196. | that it doesn't matter.  Otherwise this would go      |
  197. | wrong:                                                |
  198. +-------------------------------------------------------+
  199. mdec/boot, 050 tape blocks
  200. mdec/bootblock, 01 tape blocks
  201. mdec/extboot, 01 tape blocks
  202. +-------------------------------------------------------+
  203. | Lots of files installed, I add floppy 2 and 3 of      |
  204. | USR.TAZ when it asks for them.  When done I type      |
  205. | "setup /usr" again for SYS.TAZ, and once more for     |
  206. | CMD.TAZ.  Five floppies later and I'm done.           |
  207. +-------------------------------------------------------+
  208. src/commands/talkd/talk.h, 03 tape blocks
  209. src/commands/talkd/talkd.c, 03 tape blocks
  210. src/commands/talkd/talkd.h, 01 tape blocks
  211. /tmp/LAST, 0 tape blocks
  212. Done.
  213. +-------------------------------------------------------+
  214. | As an example I give the system the name "finiah",    |
  215. | but seeing one of Michael Temari's network programs   |
  216. | extracted inspires me to make a network kernel.  Log  |
  217. | in as 'bin' and bring <minix/config.h> into the one   |
  218. | true editor of the aging computer geek:               |
  219. +-------------------------------------------------------+
  220. # echo finiah >/etc/hostname.file
  221. # ^D
  222. Minix  Release 2.0 Version 0
  223. finiah login: bin
  224. ! vi /usr/include/minix/config.h
  225. +-------------------------------------------------------+
  226. | I change the following parameters for more processes, |
  227. | a bigger cache, no 2nd level cache, networking, only  |
  228. | the AT/IDE disk driver and 4 pseudo ttys for remote   |
  229. | login:                                                |
  230. +-------------------------------------------------------+
  231. #define NR_PROCS          40
  232. #if (MACHINE == IBM_PC && _WORD_SIZE == 4)
  233. #define NR_BUFS         1024 /* # blocks in the buffer cache */
  234. #define NR_BUF_HASH     2048 /* size of buf hash table; MUST BE POWER OF 2*/
  235. #endif
  236. #define ENABLE_CACHE2      0
  237. #define ENABLE_NETWORKING  1 /* enable TCP/IP code */
  238. #define ENABLE_AT_WINI     1 /* enable AT winchester driver */
  239. #define ENABLE_BIOS_WINI   0 /* enable BIOS winchester driver */
  240. #define ENABLE_ESDI_WINI   0 /* enable ESDI winchester driver */
  241. #define ENABLE_XT_WINI     0 /* enable XT winchester driver */
  242. #define ENABLE_ADAPTEC_SCSI 0 /* enable ADAPTEC SCSI driver */
  243. #define NR_PTYS    4 /* # pseudo terminals (0 to 64) */
  244. +-------------------------------------------------------+
  245. | The main kernel Makefile is in /usr/src/tools.  The   |
  246. | command 'make hdboot' compiles a new image and puts   |
  247. | it in /minix/, next to the distribution kernel:       |
  248. +-------------------------------------------------------+
  249. ! cd tools/
  250. ! make hdboot
  251. +-------------------------------------------------------+
  252.         generic/tcp_send.o generic/udp.o
  253. exec cc -c -m -I. -I.. -I/usr/include putk.c
  254. exec cc -o inet -i inet.a putk.o
  255. install -S 10k inet
  256. exec cc -O -D_MINIX -D_POSIX_SOURCE init.c -o init
  257. install -S 192w init
  258. installboot -image image ../kernel/kernel ../mm/mm ../fs/fs ../inet/inet init
  259.     text    data     bss     size
  260.    54432    9000   38624   102056  ../kernel/kernel
  261.    12544    1176   32072    45792  ../mm/mm
  262.    28816    2196 1101676  1132688  ../fs/fs
  263.    66480    7420   94400   168300  ../inet/inet
  264.     6828    2032    1356    10216  init
  265.   ------  ------  ------  -------
  266.   169100   21824 1268128  1459052  total
  267. exec sh mkboot hdboot
  268. cp image /dev/hd3a:/minix/2.0.0r0
  269. Done.
  270. +-------------------------------------------------------+
  271. | Shut the system down to return to the boot monitor.   |
  272. | The 2nd level cache is no longer needed, so I set the |
  273. | RAM disk size to zero.  The NE2000 card of the note-  |
  274. | book is at I/O address 300, IRQ 5.  Save and boot.    |
  275. +-------------------------------------------------------+
  276. ! shutdown
  277. Broadcast message from bin@finiah (console)
  278. Tue Oct  1 18:08:49 1996...
  279. The system will shutdown NOW
  280. System Halted
  281. hd3a>unset ramsize
  282. hd3a>DPETH0=300:5
  283. hd3a>save
  284. hd3a>boot
  285. +-------------------------------------------------------+
  286. | The new boot messages show that things have changed.  |
  287. | The ethernet driver has found an NE2000, the larger   |
  288. | block cache has made the kernel (MINIX) larger, and   |
  289. | the RAM disk is done away with.  One of my other PC's |
  290. | has seen fit to answer the RARP request (here is my   |
  291. | ethernet address, what is my IP address?) of my       |
  292. | notebook, but the notebook doesn't yet know how to    |
  293. | translate 127.36.93.27 to its own name yet.           |
  294. +-------------------------------------------------------+
  295. Minix 2.0.0  Copyright 1997 Prentice-Hall, Inc.
  296. Executing in 32-bit protected mode
  297. ne2000: NE2000 at 300:5
  298. at-hd0: Conner Peripherals 240MB - CP2251
  299. Memory size = 8010K   MINIX =1441K   RAM disk =    0K   Available = 6569K
  300. Tue Oct  1 18:12:41 MET 1996
  301. /dev/hd3c is read-write mounted on /usr
  302. Starting standard daemons: update.
  303. Starting network daemons:  rarpd nonamed irdpd talkd.
  304. Starting network services: shell login telnet ftp.
  305. Minix  Release 2.0 Version 0
  306. 127.36.93.27 login: root
  307. #
  308. +-------------------------------------------------------+
  309. | Let's be lazy and make this machine get its naming    |
  310. | information from its neighbour.  To make it stand on  |
  311. | its own I would have to create an /etc/ethers and an  |
  312. | /etc/hosts.  Reboot and all is well.                  |
  313. +-------------------------------------------------------+
  314. # echo nameserver 127.36.93.25 >/etc/resolv.conf
  315. # shutdown -r