EXAMPLE.TXT
资源名称:os_source.zip [点击查看]
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:16k
源码类别:
操作系统开发
开发平台:
C/C++
- Minix installation demo. Author: Kees J. Bot
- +-------------------------------------------------------+
- | This is a log of a Minix installation on my notebook |
- | in the form of a number of screen images with bits of |
- | explanatory text in these boxes. The floppy images |
- | have already been made and the system is booted with |
- | a diskette that contains both ROOT and USR combined. |
- | That is why I typed 'fd0c' after starting Minix: |
- +-------------------------------------------------------+
- Minix 2.0.0 Copyright 1997 Prentice-Hall, Inc.
- Executing in 32-bit protected mode
- Memory size = 8010K MINIX = 295K RAM disk = 480K Available = 7236K
- RAM disk loaded.
- Tue Oct 1 16:21:37 MET 1996
- Finish the name of device to mount as /usr: /dev/fd0c
- /dev/fd0c is read-write mounted on /usr
- Starting standard daemons: update.
- Login as root and run 'setup' to install Minix.
- Minix Release 2.0 Version 0
- noname login:
- +-------------------------------------------------------+
- | As suggested I log in as root and enter 'setup' to |
- | start the installation script. |
- +-------------------------------------------------------+
- noname login: root
- # setup
- This is the Minix installation script.
- Note 1: If the screen blanks suddenly then hit F3 to select "software
- scrolling".
- Note 2: If things go wrong then hit DEL and start over.
- Note 3: The installation procedure is described in the manual page
- usage(8). It will be hard without it.
- Note 4: Some questions have default answers, like this: [y]
- Simply hit RETURN (or ENTER) if you want to choose that answer.
- Note 5: If you see a colon (:) then you should hit RETURN to continue.
- :
- +-------------------------------------------------------+
- | I hit the ENTER key and am asked about my keyboard |
- +-------------------------------------------------------+
- What type of keyboard do you have? You can choose one of:
- french italian latin-am scandinavn uk us-swap
- german japanese olivetti spanish us-std
- Keyboard type? [us-std]
- +-------------------------------------------------------+
- | I'm blessed with a standard U.S. keyboard so I type |
- | ENTER again. Now it gets serious: |
- +-------------------------------------------------------+
- Minix needs one primary partition of at least 30 Mb (it fits in 20 Mb, but
- it needs 30 Mb if fully recompiled. Add more space to taste.)
- If there is no free space on your disk then you have to back up one of the
- other partitions, shrink, and reinstall. See the appropriate manuals of the
- the operating systems currently installed. Restart your Minix installation
- after you have made space.
- To make this partition you will be put in the editor "part". Follow the
- advice under the '!' key to make a new partition of type MINIX. Do not
- touch an existing partition unless you know precisely what you are doing!
- Please note the name of the partition (hd1, hd2, ..., hd9, sd1, sd2, ...
- sd9) you make. (See the devices section in usage(8) on Minix device names.)
- :
- +-------------------------------------------------------+
- | ENTER brings up the 'part' partition editor. The |
- | question marks indicate that no partition table is |
- | loaded yet. I must first choose a disk. |
- +-------------------------------------------------------+
- Select device ----first---- --geom/last-- ------sectors-----
- Device Cyl Head Sec Cyl Head Sec Base Size Kb
- /dev/hd0 ? ? ?
- ? ? ? ? ? ? ? ? ?
- Num Sort Type
- ? ? ? ? ? ? ? ? ? ? ? ? ?
- ? ? ? ? ? ? ? ? ? ? ? ? ?
- ? ? ? ? ? ? ? ? ? ? ? ? ?
- ? ? ? ? ? ? ? ? ? ? ? ? ?
- Type '+' or '-' to change, 'r' to read, '?' for more help, '!' for advice
- +-------------------------------------------------------+
- | This notebook has only one disk, so I type 'r': |
- +-------------------------------------------------------+
- Select device ----first---- --geom/last-- ------sectors-----
- Device Cyl Head Sec Cyl Head Sec Base Size Kb
- /dev/hd0 485 16 63
- 0 0 0 488 15 62 0 492912 246456
- Num Sort Type
- 1 hd1 12 0 1 0 4 15 62 63 4977 2488
- 2* hd2 81 MINIX 5 0 0 426 14 52 5040 425303 212651
- 3 hd3 00 None 0 0 0 0 0 -1 0 0 0
- 4 hd4 00 None 0 0 0 0 0 -1 0 0 0
- at-hd0: Conner Peripherals 240MB - CP2251
- +-------------------------------------------------------+
- | There are two partitions already present on the disk, |
- | one that contains setup stuff for the notebook and a |
- | 208 megabyte partition that already contains Minix. |
- | The AT disk driver has tickled the IDE disk to make |
- | it tell its type and make. It is a message from deep |
- | in the kernel, not from part. |
- | For this install I want a new partition, so I move |
- | over to the Size field of the first unused slot, line |
- | 3 with type "None". I could type a number now, but |
- | I want to use the rest of the disk, so I hit 'm' |
- | there once or twice to let part propose something. |
- +-------------------------------------------------------+
- Size in sectors ----first---- --geom/last-- ------sectors-----
- Device Cyl Head Sec Cyl Head Sec Base Size Kb
- /dev/hd0 485 16 63
- 0 0 0 488 15 62 0 492912 246456
- Num Sort Type
- 1 hd1 12 0 1 0 4 15 62 63 4977 2488
- 2* hd2 81 MINIX 5 0 0 426 14 52 5040 425303 212651
- 3 hd3 81 MINIX 426 14 53 488 15 62 430343 62569 31284
- 4 hd4 00 None 0 0 0 0 0 -1 0 0 0
- +-------------------------------------------------------+
- | Note that the end of partition 2 and the start of |
- | partition 3 are not on a cylinder boundary. Minix |
- | doesn't care about that, but Linux fdisk would throw |
- | a fit if it would see this. In this case I'm happy, |
- | so I type 'q' to quit, and 'y' to save the table: |
- +-------------------------------------------------------+
- Size in sectors ----first---- --geom/last-- ------sectors-----
- Device Cyl Head Sec Cyl Head Sec Base Size Kb
- /dev/hd0 485 16 63
- 0 0 0 488 15 62 0 492912 246456
- Num Sort Type
- 1 hd1 12 0 1 0 4 15 62 63 4977 2488
- 2* hd2 81 MINIX 5 0 0 426 14 52 5040 425303 212651
- 3 hd3 81 MINIX 426 14 53 488 15 62 430343 62569 31284
- 4 hd4 00 None 0 0 0 0 0 -1 0 0 0
- Save partition table? (y/n) y
- Please finish the name of the primary partition you have created:
- (Just type RETURN if you want to rerun "part") /dev/hd3
- You have created a partition named: /dev/hd3
- The following subpartitions are about to be created on /dev/hd3:
- Root subpartition: /dev/hd3a 1440 kb
- /usr subpartition: /dev/hd3c rest of hd3
- Hit return if everything looks fine, or hit DEL to bail out if you want to
- think it over. The next step will destroy /dev/hd3.
- :
- +-------------------------------------------------------+
- | Let's destroy some zeros and ones, I hit ENTER: |
- +-------------------------------------------------------+
- Migrating from floppy to disk...
- Scanning /dev/hd3c for bad blocks. (Hit DEL to stop the scan if are absolutely
- sure that there can not be any bad blocks. Otherwise just wait.)
- cp /fd0/etc/hostname.file /mnt/etc/hostname.file
- cp /fd0/etc/motd /mnt/etc/motd
- +-------------------------------------------------------+
- | Lots of files are put on the disk. It is a combined |
- | ROOT+USR diskette, so both parts are installed with- |
- | out pause. When done I am greeted with the following |
- | message, showing that Minix has a short memory, |
- | because at boot it said: Memory size = 8010K. I |
- | could type 8010, but ENTER will do.
- +-------------------------------------------------------+
- mkdir /mnt/root
- mkdir /mnt/tmp
- cp /fd0/.ellepro.b1 /mnt/.ellepro.b1
- /dev/fd0 unmounted from /fd0
- /dev/hd3a unmounted from /mnt
- What is the memory size of this system in kilobytes? [4096 or more]
- Second level file system block cache set to 1024 kb.
- +-------------------------------------------------------+
- | Setup is now done with the migration to disk, so it |
- | wants me to type 'halt' and 'boot hd3'. It says |
- | "please", so I comply: |
- +-------------------------------------------------------+
- Please insert the installation ROOT floppy and type 'halt' to exit Minix.
- You can type 'boot hd3' to try the newly installed Minix system. See
- "TESTING" in the usage manual.
- # halt
- System Halted
- fd0>boot hd3
- Minix 2.0.0 Copyright 1997 Prentice-Hall, Inc.
- Executing in 32-bit protected mode
- at-hd0: Conner Peripherals 240MB - CP2251
- Memory size = 8010K MINIX = 295K RAM disk = 1024K Available = 6692K
- Tue Oct 1 16:39:24 MET 1996
- /dev/hd3c is read-write mounted on /usr
- Starting standard daemons: update.
- Login as root and run 'setup /usr' to install floppy sets.
- Minix Release 2.0 Version 0
- noname login:
- +-------------------------------------------------------+
- | Type 'root' and 'setup /usr'. ENTER, ENTER, input |
- | floppy 1 of the USR.TAZ set, and ENTER. |
- +-------------------------------------------------------+
- noname login: root
- # setup /usr
- What is the size of the images on the diskettes? [all]
- What floppy drive to use? [0]
- Please insert input volume 1 and hit return
- created directory: local/lib
- created directory: local/man
- created directory: local/src
- created directory: man
- Can't make directory mdec: File exists
- +-------------------------------------------------------+
- | Usage(8) warns about this "File exists" message, and |
- | that it doesn't matter. Otherwise this would go |
- | wrong: |
- +-------------------------------------------------------+
- mdec/boot, 050 tape blocks
- mdec/bootblock, 01 tape blocks
- mdec/extboot, 01 tape blocks
- +-------------------------------------------------------+
- | Lots of files installed, I add floppy 2 and 3 of |
- | USR.TAZ when it asks for them. When done I type |
- | "setup /usr" again for SYS.TAZ, and once more for |
- | CMD.TAZ. Five floppies later and I'm done. |
- +-------------------------------------------------------+
- src/commands/talkd/talk.h, 03 tape blocks
- src/commands/talkd/talkd.c, 03 tape blocks
- src/commands/talkd/talkd.h, 01 tape blocks
- /tmp/LAST, 0 tape blocks
- Done.
- +-------------------------------------------------------+
- | As an example I give the system the name "finiah", |
- | but seeing one of Michael Temari's network programs |
- | extracted inspires me to make a network kernel. Log |
- | in as 'bin' and bring <minix/config.h> into the one |
- | true editor of the aging computer geek: |
- +-------------------------------------------------------+
- # echo finiah >/etc/hostname.file
- # ^D
- Minix Release 2.0 Version 0
- finiah login: bin
- ! vi /usr/include/minix/config.h
- +-------------------------------------------------------+
- | I change the following parameters for more processes, |
- | a bigger cache, no 2nd level cache, networking, only |
- | the AT/IDE disk driver and 4 pseudo ttys for remote |
- | login: |
- +-------------------------------------------------------+
- #define NR_PROCS 40
- #if (MACHINE == IBM_PC && _WORD_SIZE == 4)
- #define NR_BUFS 1024 /* # blocks in the buffer cache */
- #define NR_BUF_HASH 2048 /* size of buf hash table; MUST BE POWER OF 2*/
- #endif
- #define ENABLE_CACHE2 0
- #define ENABLE_NETWORKING 1 /* enable TCP/IP code */
- #define ENABLE_AT_WINI 1 /* enable AT winchester driver */
- #define ENABLE_BIOS_WINI 0 /* enable BIOS winchester driver */
- #define ENABLE_ESDI_WINI 0 /* enable ESDI winchester driver */
- #define ENABLE_XT_WINI 0 /* enable XT winchester driver */
- #define ENABLE_ADAPTEC_SCSI 0 /* enable ADAPTEC SCSI driver */
- #define NR_PTYS 4 /* # pseudo terminals (0 to 64) */
- +-------------------------------------------------------+
- | The main kernel Makefile is in /usr/src/tools. The |
- | command 'make hdboot' compiles a new image and puts |
- | it in /minix/, next to the distribution kernel: |
- +-------------------------------------------------------+
- ! cd tools/
- ! make hdboot
- +-------------------------------------------------------+
- generic/tcp_send.o generic/udp.o
- exec cc -c -m -I. -I.. -I/usr/include putk.c
- exec cc -o inet -i inet.a putk.o
- install -S 10k inet
- exec cc -O -D_MINIX -D_POSIX_SOURCE init.c -o init
- install -S 192w init
- installboot -image image ../kernel/kernel ../mm/mm ../fs/fs ../inet/inet init
- text data bss size
- 54432 9000 38624 102056 ../kernel/kernel
- 12544 1176 32072 45792 ../mm/mm
- 28816 2196 1101676 1132688 ../fs/fs
- 66480 7420 94400 168300 ../inet/inet
- 6828 2032 1356 10216 init
- ------ ------ ------ -------
- 169100 21824 1268128 1459052 total
- exec sh mkboot hdboot
- cp image /dev/hd3a:/minix/2.0.0r0
- Done.
- +-------------------------------------------------------+
- | Shut the system down to return to the boot monitor. |
- | The 2nd level cache is no longer needed, so I set the |
- | RAM disk size to zero. The NE2000 card of the note- |
- | book is at I/O address 300, IRQ 5. Save and boot. |
- +-------------------------------------------------------+
- ! shutdown
- Broadcast message from bin@finiah (console)
- Tue Oct 1 18:08:49 1996...
- The system will shutdown NOW
- System Halted
- hd3a>unset ramsize
- hd3a>DPETH0=300:5
- hd3a>save
- hd3a>boot
- +-------------------------------------------------------+
- | The new boot messages show that things have changed. |
- | The ethernet driver has found an NE2000, the larger |
- | block cache has made the kernel (MINIX) larger, and |
- | the RAM disk is done away with. One of my other PC's |
- | has seen fit to answer the RARP request (here is my |
- | ethernet address, what is my IP address?) of my |
- | notebook, but the notebook doesn't yet know how to |
- | translate 127.36.93.27 to its own name yet. |
- +-------------------------------------------------------+
- Minix 2.0.0 Copyright 1997 Prentice-Hall, Inc.
- Executing in 32-bit protected mode
- ne2000: NE2000 at 300:5
- at-hd0: Conner Peripherals 240MB - CP2251
- Memory size = 8010K MINIX =1441K RAM disk = 0K Available = 6569K
- Tue Oct 1 18:12:41 MET 1996
- /dev/hd3c is read-write mounted on /usr
- Starting standard daemons: update.
- Starting network daemons: rarpd nonamed irdpd talkd.
- Starting network services: shell login telnet ftp.
- Minix Release 2.0 Version 0
- 127.36.93.27 login: root
- #
- +-------------------------------------------------------+
- | Let's be lazy and make this machine get its naming |
- | information from its neighbour. To make it stand on |
- | its own I would have to create an /etc/ethers and an |
- | /etc/hosts. Reboot and all is well. |
- +-------------------------------------------------------+
- # echo nameserver 127.36.93.25 >/etc/resolv.conf
- # shutdown -r