Getting a Copy of MCC Interim Linux *********************************** There are two ways at present by which you can get a copy of MCC Interim versions of Linux: by anonymous ftp, and by visiting MCC. Getting MCC Interim Linux by anonymous ftp ========================================== "Anonymous ftp" is a service which allows people with TCP/IP software and Ethernet access to retrieve files from other machines, called servers. You do not need a user name on the ftp servers. The required software is installed on most Unix machines. Several versions of the software are available for machines running MS-DOS. A full tutorial in the use of this software is beyond the scope of this document, but the following sample session should convey a general idea of how the software can be used. A longer introduction to anonymous ftp can be found in Linux Installation and Getting Started; for further information, see README.documents. $ *ftp ftp.mcc.ac.uk* Connected to cfs2.mcc.ac.uk. 220 cfs2 FTP server (Version wu-2.1c(8) date) ready. Name (myname:my.address): _ On some machines it is necessary to give the ftp command or its equivalent without an argument, then to use the `open' command to connect to the remote site. On some machines it is necessary to give an IP address instead of the name of the remote machine; the IP address for ftp.mcc.ac.uk is 130.88.203.12. Name (myname:my.address): *ftp* 331 Guest login ok, send your complete e-mail address as password. Password (linux:ftp): *Myname@my.address* 230 Guest login ok, access restrictions apply. Remote system type is UNIX. Using binary mode to transfer files. ftp> _ The user name `ftp' usually gives access to the anonymous ftp service. On some machines it is necessary to give the user name `anonymous'. The password is not in fact a password at all, but your identification. It is customary -- and more courteous -- to give your own E-mail address as the password. Sometimes this allows us to contact people who have inadvertently copied software which contains dangerous bugs. Some machines will not let you have access to their anonymous ftp service unless you give a valid E-mail address as the password. ftp> *dir* 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. total 4 drwx--x--x 2 admin sys 2048 Feb 26 19:34 bin dr-x--x--x 2 admin sys 2048 Mar 19 17:57 etc dr-x--x--x 2 admin sys 2048 Apr 5 13:50 logs drwx--x--x 2 admin sys 2048 Mar 18 15:16 mirror dr-xr-xr-x 3 admin sys 2048 Mar 2 11:29 pub 226 Transfer complete. ftp> _ The `dir' command gives you a listing of the remote directory. ftp> *cd pub/linux* 250 CWD command successful. ftp> *cd mcc-interim* 250 CWD command successful. ftp> *cd 1.0+* 250 CWD command successful. ftp> _ Note that you may move through the directory tree one step at a time, or many steps at once. 226 Transfer complete. ftp> *ascii* 200 Type set to A. ftp> *get README.lilo* 200 PORT command successful. 150 Opening ASCII mode data connection for README.lilo (45088 bytes). 226 Transfer complete. 46057 bytes received in 0.259 secs (1.7e+02 Kbytes/sec) The `ascii' command ensures that subsequent transfers are made in text mode. This is a good idea unless you are certain that the remote machine uses the same format and character set for text files that yours does. For example, MS-DOS and Unix do not use the same format for text files. The `get' command copies a remote file to your machine. Some ftp programs allow you to change the name of the file when it is transferred. Note also that the names of some files are changed automatically if you transfer them to MS-DOS systems; for example, `README.lilo' becomes `README.LIL'. ftp> *cd images* 250 CWD command successful. ftp> *binary* 200 Type set to I. ftp> *mget r** mget root.gz? *y* 200 PORT command successful. 150 Opening BINARY mode data connection for root.gz (844253 bytes). 226 Transfer complete. 844253 bytes received in 1.75 secs (4.7e+02 Kbytes/sec) ftp> *quit* 221 Goodbye. $ _ The `binary' command ensures that subsequent transfers are made in binary mode. You should use this mode for all MCC packages and compressed disk images, as well as for all MS-DOS executable files. The `mget' command gets all files whose name matches the pattern you give. `mget *' gets all files in the remote directory. Some ftp servers, such as the one at ftp.mcc.ac.uk, allow you to get a whole directory tree as a single tar file, or as a compressed or gzipped tar file. For example, to retrieve the entire MCC 1.0+ distribution (including source files) as a tar file, change to the directory `/pub/linux/mcc-interim', and give the command `get 1.0+.tar'. Note that the resulting tar file is about 70 Mb in size. The `hash' command prints a `#' for every kilobyte transferred. This may be useful if your connection does not allow fast transfers. MCC Interim versions of Linux are released on ftp.mcc.ac.uk [130.88.203.12] in the directory `/pub/linux/mcc-interim'. In this directory there are subdirectories `dos-utils' (which contains some commands which you may need if you install Linux from DOS), `1.0+' (which contains the current release), and `old' (which contains one or more older releases). The current MCC release is also available from sunsite.unc.edu [152.2.22.81] in the directory `/pub/Linux/distributions/MCC', from tsx-11.mit.edu [18.172.1.2] in the directory `/pub/linux/distributions/MCC', and also from nic.funet.fi [128.214.6.100] in `/pub/OS/Linux/images/MCC-interim'. Other sites sometimes maintain mirrors of the current MCC distribution. The directory `1.0+' contains the current `README' files and the file `Bugs+Warnings', which contain important information. (The contents of all of these files have been incorporated into the present document.) It also contains the following subdirectories: `images' This contains the gzipped images of the two boot disks and the root or base disk. The file `nocdboot.gz' is the normal boot disk, while `cdrmboot.gz' is a special boot disk, whose kernel contains drivers for the supported CD ROM disks, but which may cause problems if you have other hardware. `root.gz' is the root or base disk. The suffix `.gz' indicates that the files have been gzipped, and must be uncompressed with `gunzip' or with the command `gzip -d'. The files `nocdboot.cnf' and `cdrmboot.cnf' are copies of the `config.in' files used to compile the kernels on these disks. `gzip' is the GNU compression utility. A version of this utility which runs under MS-DOS can be found in the `dos-utils' directory. `packages' This contains the packages which are optional, but important, parts of the MCC Interim distribution. `extra_kernels' This contains additional kernels which may be installed as if they were packages. You should not install more than one of these kernels. They contain no support for SCSI or XT disks, and one of them, `wd.tgz', contains support only for the Western Digital 80x3 Ethernet cards. All four MCC kernels contain maths coprocessor emulation code, and support for IDE hard disks, parallel printers, selection (cut and paste between virtual consoles), ELF and COFF binary support, and support for the minix, ext2, msdos, NFS, and proc file systems. The files `ipide.cnf' and `wd.cnf' are copies of the `config.in' files used to compile these kernels. cdrmboot All CD ROM, all SCSI, XD, all Ethernet cards. nocdboot No CD ROM, all SCSI, XD, all Ethernet cards. ipide No CD ROM, no SCSI, no XD, all Ethernet cards. wd No CD ROM, no SCSI, no XD, WD 80x3 Ethernet cards only. `extra_packages' This contains packages which have a secondary status, mainly because they are not needed to recompile other packages. emacs, elisp A cut-down version of the `emacs' editor, which we use in our courses at the Computer Centre. A more complete version can be obtained by installing the emacsxtr package in addition to these two. Note that the emacsxtr package is too large to fit on a floppy disk. A version of `emacs' which is compiled with support for X windows is available by anonymous ftp from the `contributions' directory. extrainf Info files which I did not wish to include in the main distribution; these describe the GNU assembler `gas', `bison', `flex', texinfo, `gcc' and how to port it, `cpp', some of the odder parts of `emacs', and other subjects. extralib A number of libraries which are of less general interest than those contained in the gccb package: `bfd', `dbm', `gmon', `iberty', `mcheck', `mmalloc', `opcodes', and `readline'. gprof The GNU profiler `gprof', together with its support files. kermit The `kermit' terminal emulator and file transfer utility. lp The Berkeley lineprinter program `lpr', together with associated commands and daemons. mail The `elm' mail reader and the `smail' mail delivery system, together with their support files. manpages Unformatted manual pages. The formatted pages are all that most people need, and they are already contained in the other packages. patches The patches which, when applied to the corresponding source files, produce the sources compiled in the current release. timezone The time zone data files, which are produced from the `utilx15' source file. words The file `/usr/dict/words'. `source_files' This contains the source files which were used to compile all binaries in the current distribution. `contributions' This contains MCC-style packages and source files for programs not distributed as part of MCC Interim Linux. The file `00-contents' describes what is there. Currently it contains NFS server software, cron, a version of the emacs binary that supports X windows, the network time software package `xntp', and the typesetting utility TeX. After you decide what you need, you may transfer those files in binary mode to any machine which supports ftp. The root and boot disks must be gunzipped and copied to a high density floppy disk, either 3.5 inch 1.44 Mb or 5.25 inch 1.2 Mb, of the sort which can be used to boot the PC on which you intend to install or upgrade Linux. If you have a Linux system which you are upgrading, you may put an unformatted floppy into your 0 drive (which DOS calls `A:') and give these commands: fdformat /dev/fd0H1440 (for 3.5 inch disks) fdformat /dev/fd0h1200 (for 5.25 inch disks) gunzip root.gz dd if=root of=/dev/fd0 bs=18432 (for 3.5 inch disks) dd if=root of=/dev/fd0 bs=15360 (for 5.25 inch disks) Then place another unformatted floppy in drive 0 and repeat this process with `nocdboot.gz'. (We recommend using unformatted floppies, since older floppies often have bad blocks, which make the critical root and boot floppies unreliable.) If you are installing Linux on a machine which already contains a version of Linux, you may wish to put the MCC packages in a directory in the existing file system. MCC Interim versions at present support only the minix and ext2 file systems. The kernel will not allow you to mount older ext or xiafs file systems. The packages you wish to install should be in a single directory, and they must have the same file names (in lower case) as they do in the MCC distribution directory. You may put all the packages in a DOS directory on the same machine, or you may copy them to floppies. The MCC distribution prefers DOS-format floppies, though minix or ext2 floppies will work as well. DOS format floppies will hold more, and will not produce spurious error messages during installation. If you are installing from DOS, you need commands which will gunzip the disk images and copy then to a disk. The commands `GZIPxxx.EXE', `RAWRITE.EXE', and `RAWRITE3.COM' can be found at ftp.mcc.ac.uk in the directory `/pub/linux/mcc-interim/dos-utils'. Transfer `GZIPxxx.EXE' and one of the `RAWRITE' commands in binary mode. (The version number xxx is currently 124.) The command `GZIPxxx.EXE' is a self-unpacking archive, which creates `GZIP.EXE' and a documentation file. Documentation for the two `RAWRITE' commands can be found in the `dos-utils' directory with the commands. Remember to transfer documentation files in text mode. After unpacking `GZIP.EXE', you should give the following commands: FORMAT A: GZIP -D ROOT.GZ RAWRITE Enter source file name: ROOT Enter destination drive: A: Please insert a formatted diskette into drive A: and press -ENTER- : _ The program `RAWRITE3' is screen-oriented, and may work rather faster than the older `RAWRITE' program. If you are installing Linux on a system which already contains a DOS partition, you may find it convenient to put MCC packages in a single directory on that partition. You can also copy them to DOS format floppies. As explained above, the file names must be the same as in the `packages' directory, though under DOS they will, of course, be in upper case. If you get all of the packages and extra packages, they will fit on floppies as follows: 3.5 inch high density floppies: disk 1 elisp disk 2 bison, gcca, groff disk 3 baseman, flex, gccb, words disk 4 info, manpages disk 5 gpp, mail, patches disk 6 extrainf, gdb, kermit disk 7 emacs, extralib, gawk, progman disk 8 gprof, linux, lp, timezone In this case, disk 1 also has room for the two extra kernel packages. 5.25 inch high density floppies: disk 1 info disk 2 gcca, mail disk 3 baseman, manpages disk 4 bison, gawk, groff, lp, timezone disk 5 gccb, gdb disk 6 elisp, progman, words disk 7 extralib, flex, gpp disk 8 extrainf, gprof, patches disk 9 emacs, kermit disk 10 linux In this case as well, disk 1 also has room for the two extra kernel packages. The MCC installation allows you to create your own packages, which you can install along with ours. They must be gzipped tar files with the extension `.tgz'. Each package is unzipped and untarred in the root directory, but should contain only files with relative path names; e.g., not `/usr/bin/cmd' but `usr/bin/cmd'. If it contains files `install.setup' and `install.clean', these are executed as shell scripts respectively before and after untarring the archive. If you wish, you may include a file `install.info', which is copied to the screen during installation. The MCC packages all contain a file filename`.crc', which must have the same basename as the `.tgz' file, and which has been generated with the command `brik -Gb'. If such a file exists, the installation uses it to verify the included checksums after `install.clean' is executed. This `.crc' file is then saved in `/tmp', where you may delete it, or move it somewhere safe if you wish to keep it. You may omit any packages you wish. Obviously, you cannot recompile the kernel unless you also install gcca and gccb. Bison, flex, gdb, gpp, and gprof will not work properly unless gcca and gccb are also installed. Getting MCC Interim Linux from the MCC shop =========================================== MCC Interim Linux is available from the MCC shop. You can buy a set of diskettes containing the boot and root disks, all the packages, and the two optional kernels with no SCSI support. *Note Getting MCC Interim Linux by anonymous ftp: FTP, where these optional kernels are described. At present only 3.5 inch diskettes are available on demand, since there has been little call for the 5.25 inch disks. You can also obtain a copy of this document. Because of changes in University funding policy, there is now a small charge for almost all documents, including this one. Installing MCC Interim packages using NFS ========================================= It is possible to install MCC Interim packages from a directory on a remote machine, which can be mounted on your Linux system using NFS. To do this, you must have a supported Ethernet card. You must already have networking software installed and configured. In the present release of MCC Interim Linux, the networking software can be installed and configured from the boot and root disks. The mounting of remote file systems varies from one site to another. The following commands can be used in Manchester to make MCC packages available using NFS and to install them. After installing or upgrading from the boot and root disks, as described in README.install, give the following commands: mkdir /afs /packages mount -t nfs -o rsize=1024,wsize=1024 zeus.mcc.ac.uk:/afs /afs cd /packages ln -s /afs/mcc/ftp/pub/linux/mcc-interim/1.0+/[pe]*/* . This places symbolic links to all MCC Interim packages, extra packages, and extra kernels in the directory `/packages'. Use the command `ls' to list the available packages, and use the command `rm' to delete the links to any packages you do not wish to install. *Note*: Do not install the extra kernel packages ipide or wd if you have SCSI disks, as these kernels do not contain support for them. Give the following command: */tmp/bootinstall* Which drive will you use to install Linux packages: 1 drive A: 5.25 inch HD floppies 2 drive A: 3.5 inch HD floppies 3 drive B: 5.25 inch HD floppies 4 drive B: 3.5 inch HD floppies 5 A directory on an unmounted partition on this machine 6 A directory already mounted at this time 7 No installation at this time ? *6* Do you wish to have a prompt before each package (Y or N): *n* If you wish, you may install other parts of MCC Interim Linux from a directory on another machine, remotely mounted using NFS, or from a currently available directory mounted in some other way. This will only work if you have mounted the remote directory. If the directory is not accessible now, do you wish to quit? (Y or N): *n* In what directory are the MCC packages to be found? */packages* At this point the packages you have selected will be installed. After you have completed the installation, you may give these commands to `clean up': umount /afs rm -rf /afs /packages If MCC Interim packages are available from other sites using NFS, you should check with the local administrator to find what commands you should use to mount the appropriate file system, and to ensure that you have the appropriate permission to mount it.