From: alph@wsinfo01.win.tue.nl (G.J.W. Hagenaars)
Newsgroups: comp.os.linux
Subject: New; FAQ.TEX
Summary: no
Keywords: faq linux version 7 LaTeX
Date: 23 Jul 92 07:53:00 GMT
Reply-To: alph@win.tue.nl


hi to everybody out there (in those dark and damp places where Linux
hasn't been spotted yet and to all the ones who would like to change
that, and everyone else) reading this.

The other day I was wondering if it would be possible for me to
contribute something to the Linux-world.

And there wasn't; I lack knowledge to be a good beta-tester.

But, hey, wait a minute.
Why not try and put the faq in a more printable form?

So..., I did. (I think)

Some remarks: This FAQ was ftp-ed from tsx-11.mit.edu, and consisted
of 2 parts (part 1 and part 2 :) and it's supposed to be FAQ number 7.

I \LaTeX -ed it, and put in some numbering (read the first
subsection).

The FAQ.TEX is now 41 pages (when printed).

Things to do (by you):

get a whole copy of FAQ.TEX and do

                latex FAQ.TEX
                latex FAQ.TEX
                dvitops FAQ.dvi > FAQ.PS

or, if on a PC, something like

                tex &lplain faq.tex
                tex &lplain faq.tex
                dvitops faq.dvi > faq.ps

and print it.

You can also change the faq.tex if you don't like the format, all
necessary information for that is in (about) the first 20 lines.

And there's still no index. If someone knows of an easy way to create
one I'd appreciate to hear from him/her.

BTW:    You'll get some Underfull \hbox messages
        just ignore them. (I did :)
        No really; those are there to make sure that all
        directory-names are not split up


enjoy

Gert-Jan Hagenaars
alph@win.tue.nl

%----------------first part of faq.tex follows------------------------

\documentstyle{article}
\pagenumbering{roman}
%\flushbottom
\markright{Linux-Faq version 7, \LaTeX-version 1}
\pagestyle{myheadings}

\setlength{\oddsidemargin}{0.26in}    % standard textsize? put a
\setlength{\marginparwidth}{0sp}      % percent-sign before the
\setlength{\marginparsep}{0sp}        % LaTeX-command you want to
\setlength{\textwidth}{15.6cm}        % throw out; everything from
\setlength{\topmargin}{0sp}           % the %-sign to the newline
\setlength{\textheight}{22cm}         % will be discarded
\sloppy

\begin{document}
\setlength{\parindent}{0sp}
\newtheorem{doeoef}{}[section]
\newtheorem{dfnt}[doeoef]{Definitie}
\newenvironment{definitie}{\begin{dfnt}}{\end{dfnt}}
\newtheorem{question}[doeoef]{Question}
\newcommand{\answer}{\sc Answer.~\rm}
%\title{Linux-Faq version 7}
%\author{Last modified 92-06-11 15:35:30}
%\maketitle
%\pagebreak
\tableofcontents
\pagebreak
%------------------------------------------------------------------
\setcounter{section}{0}
\section{Prologue}
\subsection{From Gert-Jan Hagenaars}
The original FAQ 1st version was posted in Dec. 19, by Robert Blum.\\
This version was written by Marc Corsini.\\
And \LaTeX-ed by me (Gert-Jan Hagenaars).\\
As it is, I'm no \LaTeX pert. I did this for two reasons:
\begin{enumerate}
\item I wanted to contribute \em something \em to the Linux-world
\item I wanted to learn something about \LaTeX
\item I wanted to read the whole FAQ (okay, three reasons)
\end{enumerate}
Furthermore, I'm no Linux-guru either. So it is not completely
improbable I misinterpreted some of the questions and/or answers.\\
The changes I made to some of the questions and answers was to make
sure it would look nice on paper (and you can judge for yourself if I
succeeded in this).
I \em think \em I removed some typooos...
Well....\\
Some conventions used:
\begin{itemize}
\item the name of a program will (always) be in {\tt typewriter} style
\item as will some of the one-liners that are important
\item the names of files and directories are in {\sf sans serif}
\item anything that needed \em stressing \em is in... you guessed it
\end{itemize}
I do \em not \em claim this to be the most aesthetically pleasing \TeX
ed manuscript possible. And if you don't like it, by all means, \em
change it\em.\\
One last remark: I like full pages, that's why I put in the\\ {\tt
$\backslash$setlength\{$\backslash$textheight\}\{22cm\}}\\ If you want
the standard size just comment it out; see the origial \TeX -file.
\medskip

Anyway, I hope someone will find this pleasing
\bigskip

Gert-Jan Hagenaars
\medskip

P.S. I almost forgot: I used \LaTeX 's numbering abilities for the
questions. So in the future I'll expect to see things like:

{\tt $>$~How~does~X11~start~up?} \bigskip


{\tt Look~at~Faq~\#7,~the~answer~to~\ref{qx11},~you~stupid....}
\bigskip

In stead of the more usual\\ {\tt Read~the~Faq,~you~stupid....}
\bigskip

;-$>$

GH

\subsection{From Marc Corsini}

Most credits of this work to Linus, Robert and Ted. The X11 section
was written by Peter Hawkins, the rest was either on the list posted
by many (real) activists, not me ;-), either in some other news
groups, or else by direct posting to me (thanks Humberto, Dan,
Michael, Drew, Audoin). I haven't systematically copyrighted them, so
thanks to every one who participated even indirectly to this FAQ.

Many of the questions could be avoided, if people had read the FAQ of
the following newsgroups: news.announce.newusers, comp.lang.c,
gnu.emacs.help, comp.unix.questions.
 
[The last-change-date of this posting is always "two minutes ago".
:-)]

This is the introduction to a list of frequently asked questions (FAQ
for short) about Linux with answers (Yeap!).  This article contains a
listing of the sections, followed by the question/answer part.

This FAQ is supposed to reduce the noise level ;-) in the
{\tt comp.os.linux} newsgroup, and spare the time of many activists. I
will cross-post it each month to news.answers. This FAQ is NOT an
introduction to UNIX, there are many books for unix, and there is \em
also \em a FAQ for unix (it's the one ofcomp.unix.questions which
contains things such as ``How do I remove a file named -''. {\bf I DO
NOT WANT TO ADD SUCH THINGS IN THIS FAQ DEVOTED FOR LINUX}.

BTW This FAQ is available at the main Linux sites in the doc
directory, the addresses are given in section II. of this FAQ. There
is also an automated FAQ FTP/mailserver archive at {\tt
pit-manager.mit.edu}.

Please suggest any change, rephrasing, deletions, new questions,
answers ...  

Please include ``FAQ'' in the subject of messages sent to me about
FAQ. Please use {\tt linux@numero6.greco-prog.fr} whatever will be the
From part of this message. Finally discussion about the FAQ can be
done on the mailing-list {\tt linux-man@stolaf.edu} (see
section~\ref{usefuladdr} below).

Thanks in advance,
\bigskip

Marc
\medskip

Future Plan:
\begin{itemize}
\item verification/location/organization for files available via FTP
(I've tried what a mess!!). In fact I can't handle this, so if there
is some kind soul...
\item reorganization of the FAQ. I don't know what will be the next
step of this, may be numbering and subsectionning.
\item a shorter summarizing FAQ, which will be posted every fortnight
in c.o.l [kind of info-sheet].
\end{itemize}

%---------------------------------------------------------------------

\section{Warnings}\label{warnings}
\pagenumbering{arabic}

The FAQ contains a lot of information sometimes I've put it down in 3
different ways because people seems not to understand what they read
(or what I wrote, you know I'm just a froggy and english is not my
natural language). What I mean is that not all is in the FAQ but many
things are there, so please just take time to read it this will spare
a lot of the other Linuxers [and if you think I should rephrase some
Q/A just drop me a note].

In what follows I consider Linux v0.96b as the current version. Linus
Torvalds wrote the following about the 0.96 release:

0.96 has a lot of changes; it contains a lot of new files, as well as
some reorganizations in the old ones.

The main new things are:
\begin{itemize}
\item The SCSI distribution is now in the standard package.
\item X11r5 as ported by Orest Zborowski is supported. It's
still in beta-testing (join the X11 channel see
section~\ref{usefuladdr})
\item Hopefully better interrupt latency
\item Reorganization of the vfs routines and minix filesystem driver
\item ps/uptime patches + added readahead, so having computationnaly
intensive background processes is not as noticeable anymore while
doing IO.
\end{itemize}
The 96b contains also the following features:
\begin{itemize}
\item full core-dumping, attach/detach etc debugging features
\item 16550A support
\item less low 1Mb memory used for kernel structures
\end{itemize}
The 96c contains:
\begin{itemize}
\item fifo's
\item alpha extended filesystem (Remi Card)
\item st\_blocks implemented ({\tt du} will give much more better
information)
\end{itemize}

Due to my hardware limitation (386SX, IDE drives, 8MB RAM, 2MB swap
file and VGA card); some information provided in this FAQ about
X11, and SCSI drivers are not my own. I just grab them
from the various mailing lists and {\tt comp.os.linux}. In fact the Linux
X11 section is from Peter Hawkins, the rest is extracted from
the X386 FAQ, the SCSI section is from Drew, the Serial
subsection was enhanced by Jim Gifford and last not least, most of the
things involving gcc2.xx were written by H.Lu.

%------------------------------------------------------------------

\section{Linux General Information}\label{generalinfo}

\begin{question} What is Linux?\end{question}
\answer Linux is a small unix for 386-AT computers, that has the added
advantage of being free. It is still in beta-testing, but is slowly
getting useful even for somewhat real developement.  The current
version is 0.96c, date: 05 July 1992. The previous version v0.96b June
21st has been enhanced a bit (see section~\ref{warnings}).
  
Linux is a freely distributable UNIX clone.  It implements a
subset of System V and POSIX functionality.  Linux has
been written from scratch, and therefore does not contain any
AT\&T or MINIX code--not in the kernel, the compiler, the
utilities, or the libraries.  For this reason it can be made available
with the complete source code via anonymous FTP.  Linux runs only on
386/486 AT-bus machines; porting to non-Intel architectures is likely
to be difficult, as the kernel makes extensive use of 386 memory
management and task primitives.

\begin{question} What is the current state of Linux?\end{question}
\answer do {\tt finger~torvalds@kruuna.helsinki.fi} or read the
{\tt comp.os.linux} newsgroup.
                 
\begin{question} I've just heard about Linux, what should I do to get
it?\end{question}
\answer First read all this FAQ, and the INFO-SHEET monthly post, then
go to the nearest ftp site (see below), download the Images, there are
two; a rootimage and a bootimage (in general in the images directory),
for the present version, you need {\sf boot-image096c} and {\sf
root-image096c} (or later), then download the {\sf INSTALL} and {\sf
RELNOTES} files.  Find the {\sf rawrite} utility (for example at
{\tt tsx-11} it's in {\sf /pub/linux/INSTALL}), then {\tt rawrite} the
images on HIGH density floppies (5.25 or 3.5), finally boot on the
root diskette and that's it.

BTW From another Unix system a {\tt dd} works fine. On ``my'' sun I
use the following\\ {\tt uncompress~-c~root-image.Z~$>$~/dev/fd0},\\
assuming I had a formatted floppy in {\sf /dev/fd0}. NOTICE also that
on 0.95a {\sf tar} and {\sf compress} are broken, don't use them.
                                              
After playing a while, you should want to install Linux on HD (there
were scripts on the v0.95c+ images for that purpose, I guess they are
in 0.96 too), see also section~\ref{installation}. Then you will need
a compiler (gcc) and utilities, all can be found at the
different places described in section~\ref{usefuladdr}.

\begin{question} Does it run on my computer?\end{question}
\answer Linux has been written on a clone-386, with IDE drives and a
VGA screen. It should work on most similar setups. The harddisk should
be AT-standard, and the system must be ISA.  A high density floppy
drive -- either 5.25'' or 3.5''

IDE and MFM seem to work with no problem. It works, also, for some
ESDI drive (Joincom controller with Magtron drive after you have
commented out the "unexpected hd interrupt"-message from hd.c). There
exists a high-level SCSI driver, under which low-level drivers
are placed; a ST-01/ST-02 low driver has been completed see
section~\ref{features} and section~\ref{usefuladdr}.

Otherwise the requirements seem relatively small: a 386 (SX, DX or any
486).  Any video card of the following: Hercules, CGA, EGA, (S)VGA.

It needs at least 2Mb to run, and 4Mb is definitely a plus. It can
happily use up to 16Mb (and more if you change some things).

BTW On some high speed machine (486/33 DTK, 64kb cache, 4Mb RAM),
there might be some trouble with the HD driver ; on possible cure is
to switch off the "turbo" i.e. set the speed to 8MHz instead of 33MHz

\begin{question} Why the suggested 4Mb, for Linux?\end{question}
\answer Linux uses the first 640kb for kernel text, kernel data and
buffercache. Your mother board may eat up 384kb because of the
chipset. Moreover there is: {\sf init/login}, a shell, {\sf update}
and possibly other daemons. Then, while compiling there is make and
gcc (1.40 $\approx$ 530kb; 2.01 $\approx$ 770kb). So you don't have
enough real memory and have to page.

\begin{question} How would this operate in an OS/2
environment?\end{question}
\answer Linux will coexist with \em any \em other operating system(s)
which respects the ``standard'' PC partionning scheme - this includes
Dos, OS/2, Minix etc..

\begin{question} Will Linux run on a PC or 286-AT? If not,
why?\end{question}
\answer Linux uses the 386 chip protected mode functions extensively,
and is a true 32-bit operating system. Thus $n86$ chips, $n<3$, will
simply not run it.

\begin{question} Will Linux run on a 386 Laptop?\end{question}
\answer It works for some at least.

\begin{question} How big is the 'complete' Linux
package?\end{question}
\answer Well, the boot and root image diskettes are about 750kb
compressed.  The kernel sources are about 200kb compressed, and the
libc sources are another 170kb compressed.  The GNU C (1.40) compiler
is 670kb, the GNU C (2.01) package which enclose C and C++ compiler is
about 3Mb; and the other miscellaneous unix utilities are probably a
bit over a megabyte.\\ Now add sources to whatever you want to port
and compile yourself. The sources to GNU emacs are about 3 megabytes,
compressed.  Groff (a troff replacement) is just over 1 megabyte. \\If
you think this is big, remember that the OS/2 2.0 Limited Availability
release is 20 1.44 megabyte diskettes.

\begin{question} (Dan) How long has Linux been publicly
available?\end{question}
\answer (partial) Few months, v0.10 went out in Nov. 91, v0.11 in Dec.
and the current version 0.95c+ is available since April 9th. But even
it is pretty recent it is quite reliable. There are very few and small
bugs and in its current state it is mostly useful for people who are
willing to port code and write new code.\\ As Linux is very close to a
reliable/stable system, Linus decided that v0.13 would be known as
v0.95\\ Believe it or not: the whole story started (nearly) with two
processes that printed AAAA... and BBBB...\\ BTW consult the
digest\#136 Vol2 for a complete story

\begin{question} What is the proper pronounciation for
``Linux''?\end{question}
\answer (Linus himself) `li' is pronounced with a short [ee] sound:
compare prInt, mInImal etc. `nux' is also short, non-diphtong, like in
pUt.  It's partly due to minix: Linux was just my working name for the
thing, and as I wrote it to replace minix on my system, the result is
what it is...  linus' minix became Linux.\\ I originally intended it
to be called freax (although buggix was one contender after I got fed
up with some of the more persistent bugs :) and I think the kernel
makefiles up to version 0.11 had something to that effect ("Makefile
for the freax kernel" in a comment).  But arl called the Linux
directory at {\tt nic.funet.fi} {\sf pub/OS/LINUX}, and the name stuck.
Maybe just as well: freax doesn't sound too good either (freax is
obviously free + freak + the obligatory -x).

\begin{question} What's about the copyright of Linux.\end{question}
\answer This is an except of the RELEASE Notes v.095a: Linux is NOT
public domain software, but is copyrighted by Linus Torvalds. The
copyright conditions are the same as those imposed by the GNU
copyleft: get a copy of the GNU copyleft at any major ftp-site (if it
carries Linux, it probably carries a lot of GNU software anyway, and
they all contain the copyright).

\begin{question} Should I be a UNIX and/or a DOS wizard to install/use
Linux?\end{question}
\answer Not at all, just follow the install rules, of course it will
be easier for you if you know things about Unix. Right now Linux is
used by more than 400 persons, very few of them enhance the kernel,
some adds/ports new soft, most of us are only (but USEFUL) beta
testers. Last but not least, various Linuxers work on manpages,
newuser\_help, file-system organization. So join us and choose your
"caste"

\begin{question} What are the differences, pros and cons compared to
Minix?\end{question}
\answer (partial)\\
Cons:
\begin{itemize}
\item Linux is not as mature as Minix, there is less working software
right now.
\item Linux only works on 386 and 486 processors.
\item Linux needs 2Mb of memory just to run, 4Mb to be useful.
\item Linux is a more traditional unix kernel, it doesn't use message
passing.
\end{itemize}
Pros:
\begin{itemize}
\item Linux is free, and freely distributable, BUT copyrighted.
\item Linux has some advanced features such as:
      \begin{itemize}
      \item Memory paging with copy-on-write
      \item Demand loading of executables
      \item Page sharing of executables
      \item Multi-threaded file system
      \item job control and virtual memory, virtual consoles and pseudo-ttys.
      \end{itemize}
\item Linux is a more traditional unix kernel, it doesn't use message
passing.
\end{itemize}

\begin{question} Does Linux use TSS segments to provide
multitasking?\end{question}
\answer Yes!

\begin{question} If my PC runs under Linux, is it possible to ftp,
rlogin, rsh etc.. to other Unix boxes?\end{question}
\answer Not yet, but kermit has been ported to Linux, and the ka9q
too.

\begin{question} Does Linux do paging? Can I have virtual memory on
my small machine?\end{question}
\answer Yes, it does.

\begin{question} Can I have tasks spanning the full 4Gb of addressable
386 memory? No more 64kb limits like in coherent or standard
minix?\end{question}
\answer Linux does limit the task-size, but at a much more reasonable
64Mb (MEGA-byte, not kilos), so bigger programs are no problem. This
restriction is due to the file-system, pretty soon there will be a
workable VFS (it's in test) and the limitation will disappear.

\begin{question} Does the bigger program sizes mean I can run
X?\end{question}
\answer X is ported to Linux, it's in beta and needs some special
hardware stuff. As I said in section~\ref{warnings}, there is some
support in the Linux 0.96 (and after) release.

%---------------------------------------------------------------------

\section{Linux Useful addresses}\label{usefuladdr}

\begin{question} Where can I get Linux?\end{question}
\answer Linux can be gotten by anonymous ftp from
\begin{enumerate}
\item Major Sites
        \begin{itemize}
        \item EUROPE:\\
        {\tt nic.funet.fi} (128.214.6.100) directory {\sf
        /pub/OS/Linux}\\
        {\tt ftp.dfv.rwth-aachen.de} (137.226.4.105) directory {\sf
        /pub/linux}
        \item US:\\
        {\tt tsx-11.mit.edu} (18.172.1.2) directory {\sf /pub/linux}
        \end{itemize}
\item Mirroring sites (some of them)
        \begin{itemize}
        \item AUSTRALIA:\\
        {\tt kirk.bu.oz.au} (131.244.1.1) directory {\sf
        /pub/OS/Linux}
        \item EUROPE:\\
        {\tt src.doc.ic.ac.uk} (146.169.3.7) directory {\sf
        /pub/os/Linux}\\
        {\tt ftp.mcc.ac.uk} (130.88.200.7) directory {\sf
        /pub/linux}\\
        {\tt ftp.informatik.tu-muenchen.de} (131.159.0.110) directory
        {\sf /pub/Linux}
        \item US:\\
        {\tt ftp.eecs.umich.edu} (141.212.99.7) directory {\sf
        linux}\\
        {\tt banjo.concert.net} (192.101.21.6) directory {\sf
        /pub/Linux/mirrors}
        \item JAPAN:\\
        {\tt utsun.s.u-tokyo.ac.jp} (133.11.11.11) directory {\sf
        misc/linux}
        \end{itemize}
\end{enumerate}
You might want to check out which of these is the most up-to-date.
Moreover {\tt banjo.concert.net} is mirroring {\tt hpb}, {\tt nic} and
{\tt tsx}.

If you don't have ftp-capability, you are in trouble. See next Q/A.
If you have no {\sf uncompress} utility, there are a lot even for DOS,
have a look on SIMTEL, or else use facilities provided by some sites
to uncompress for you. Don't do that if you can, because it's lengthy,
expensive and causes troubles to other users on ftp sites.

\begin{question} I do not have FTP access, what can I do to get
Linux?\end{question}
\answer Try to contact a friend on the net with those access, or try
mailserver/ftpmail server otherwise contact {\tt tytso@ATHENA.MIT.EDU}. You
might try mailing {\tt mailserver@nic.funet.fi} with {\tt help} in the body
of the mail.  If you choose ftpmail server (example:
{\tt ftpmail@decwrl.dec.com}), with {\tt help} in the body, the server will
send back instructions and command list. As an exemple to get the list
of files available at {\tt tsx-11} in {\sf /pub/linux} send:
\begin{verbatim}
mail ftpmail@decwrl.dec.com
subject: anything
reply <your e-mail>
connect tsx-11.mit.edu
chdir /pub/linux
dir -R
quit
\end{verbatim}
In Europe {\tt ftp.informatik.tu-muenchen.de} is accessible via e-mail (send
{\tt help} in the body to {\tt ftp-mailer@informatik.tu-muenchen.de})

\begin{question} Is there a newsgroup or mailing-list about Linux?
Where can I get my questions answered~? How about
bug-reports?\end{question}
\answer {\tt comp.os.linux} is formed, and {\tt alt.os.linux} is dying little by
little, for those who can't access to the news you can ask for digest
to: {\tt Linux-Activists-request@NEWS-DIGESTS.MIT.EDU}. On the other hand,
mail sent to {\tt Linux-Activists@NEWS-DIGESTS.MIT.EDU} are posted to
{\tt comp.os.linux}

DO NOT mail ``I want to [un]subscribe'' to the newsgroup, use the
request-address. IF not your mail-box will be over-crowded by
activists.

Questions and bug-reports can be sent either to the newsgroup or to
{torvalds@kruuna.helsinki.fi}, depending on which you find more
appropriate. Moreover there is a BUGLIST file available in the
different main site (at least you can find it at {\tt tsx-11}, in
{\sf pub/linux/patches/BUGLIST}).

People are working on the organization of Linux, this is done on a
separate mailing-list.

Linux-standards: Discussion of distribution and directory standards
for the Linux operating system, including directory structure, file
location, and release disk format.

Requests to be added to this list must be sent to:

\begin{center}{\tt linux-standards-request@banjo.concert.net}\end{center}

Others on the man pages and users guide.
\begin{center}contact {\tt linux-man-request@stolaf.edu}\end{center}

And last but not least there is the original mailing-list, which is
now a multi-channel list.
\begin{center}contact {\tt linux-activists-request@niksula.hut.fi}\end{center}

\begin{question} Could you be more explicit about the multi-channel
list?\end{question}
\answer Well, there are many things to say:
\begin{itemize}
\item these channels are rather devoted to hackers
\item the one I am aware of are: GCC, MGR, X11, SCSI, NEW-CHANNELS,
MSDOS (emulator discussion) , NORMAL, KERNEL, FTP ...
\item whenever you want to JOIN or LEAVE a channel you have to contact
the request address
\item you have to use special header (Mn-Key and Mn-Admin); Mn-Key is
\em ONLY \em for regular post, the Mn-Admin is for \em REQUEST \em
\end{itemize}

\begin{question} How can I join the channel XXX on the linux-activists
mailing list?\end{question}
\answer just send a mail to the request address with help in the body;
you will get back a mail which gives you the list of channels and the
way to join/leave them. Or simply send a mail to the request address
with the following line:\\ {\tt X-Mn-Admin: join XXX}

\begin{question} How can I leave the channel XXX on the
linux-activists mailing list?\end{question}
\answer just send a mail to the request address with {\tt help} in the
body; you will get back a mail which gives you the list of channels
and the way to join/leave them. Or simply send a mail to the request
address with the following line:\\ {\tt X-Mn-Admin: leave XXX}

\begin{question} Does there exist a place where the traffic of the
newsgroup is kept?\end{question}
\answer Yes, on {\tt nic} and {\tt tsx-11} (see the ftp addresses above), and
since 12th March, a Gopher server is up at {\tt beryl.daimi.aau.dk}
(130.225.16.86). The archives go back to Nov. 18. 91 Also recently a
WAIS server for the Linux mail archive has been setup at
{\tt fgb1.fgb.mw.tu-muenchen.de} contact {\tt tw} at that address.

%---------------------------------------------------------------------
\section{Installation and Security}\label{installation}

\begin{question} Does there exist \em any \em reliable information
that can help me to install Linux, 'cause I know very few things about
Dos and/or Unix?\end{question}
\answer Yes, there is a lot of effort which has been done recently.
You should read the following files:
\begin{itemize}
\item Beginner's Guide: Installation  by      I. Reid
\item (Dos) Beginner's guide          by      C. Boyer
\item Info-sheet                      by      R. Blum
\item Install-0.xx                    by      L. Torvalds (?)
\item Relnotes-0.xx                   by      L. Torvalds (?)
\end{itemize}

\begin{question} Does there exist a simple way to get all (or nearly)
the Linux stuff?\end{question}
\answer You can grab an 'interim' version of Linux at {\tt
ftp.mcc.ac.uk} in
{\sf /pub/linux/mcc-interim/0.96c/images} (thanks to A. V. Le Blanc).
The README files are in {\sf /pub/linux/mcc-interim/0.96c/images}. You
can also find them on {\tt tsx-11} in {\sf
mirrors/mcc-interim/0.96c/images}.

You can also grab the {\sf mj-base-[123].Z} set to upgrade all your
software to the new shared library structure. There are some extra
files in the mj set. Following Wayne Davidson advice ``the
mcc-interium distribution has slightly smaller binaries on it, so I
only used the mj set to fill in a few extra executables that I was
missing.  Now I not only have more executables on my disk than before
but more free disk space than I started with.'' mjXXXX is the Martin
Junius package and can be found at {\tt ftp.dfv.rwth-aachen.de} in {\sf
pub/linux/mj-bin}

\begin{question} What does the mcc-interim means?\end{question}
\answer mcc-interim stands for Manchester Computing Center interim
distribution of Linux

\begin{question} What are the files provided in the interim
distrib?\end{question}
\answer (July 92) The kernel supplied is the 0.96c one, there are
also 5 binaries floppy including C and C++ compilers and groff.
\begin{tabbing}
ABCDEFGHIJKLMNOPQRSTUV\=\kill
{\sf boot-UK.Z.1} (or {\sf boot-US.Z.1})    \>this is the boot/root image disk\\
{\sf util-UK.Z.1} (or {\sf util-US.Z.1})    \>this disk is mounted on /mnt\\
{\sf comp1.1}                         \>The Gnu 2.2.2 compiler\\
{\sf comp2.1}                         \>The corresponding libraries+shoelace\\
                                      \>+kermit and part of groff\\
{\sf comp3.1}                         \>the rest of groff and G++\\
\end{tabbing}

\begin{question} What are the files {\sf /bin/sh} and {\sf /bin/tar}
provided in the {\sf rootimage-0.96}?\end{question}
\answer This image has been setup by Jim Winstead Jr, thanks to him.
The {\sf bin/sh} is bash, the GNU tar is NOT on the root disk, instead
the {\sf pax} utility is there, NOTICE that this pseudo-tar does not
handle the 'z' option for compressed tar files, instead you have to do
the following assuming the tared compressed file is {\sf myfile.Z} and
you want to test it (flag t)\\ {\tt uncompress~-c~myfile.Z~|~tar~tv~-}

\begin{question} Ok, I've got the interim distribution, what should I
do now?\end{question}
\answer You should read the README files provided, and follow the
instructions. Roughtly, you have to {\tt uncompress} {\sf boot-??} and
{\sf util-??} then {\tt rawrite} them on HD floppies. After that boot
on the boot-?? disk and follow the instructions (some are also on-line
provided); remove the floppy and put the util one.

\begin{question} I have copyed all the rootimage stuff on my HD, how
can I use the hard-disk as root?\end{question}
\answer There are three ways to answer this:
\begin{enumerate}
\item You have downloaded the Linux sources and a compiler, in that
case recompile the kernel to make a new boot-floppy according to your
environment. If you have dowloaded the sources of Linux-095c+ (or
later), you just have a look in the main Makefile to set your national
keyboard, your root drive and the flags for the compiler version you
use; if you have grabed Linux-095a then you have to set your keyboard
in {\sf kernel/chr\_drv/keyboard.S} (.S not .s).\\ {\tt make~disk}\\
will compile the kernel and create a new boot floppy, or else\\ {\tt
make}\\ and then\\ {\tt cp~Image~/dev/PS0}
\item You have nothing except the images and DOS, in that case you
should have read the {\sf INSTALLATION} notices provided at your ftp
site, but well: you have to change the boot image at offset 508.  The
word (in 386-order, i.e low-byte first) tells the system which device
to use as root: initially it's 0 which means that we want to use a
floppy of the same type as the boot-disk (this is the reason why HIGH
density floppy is required for the boot-image).  In order to use the
HD as root, this value has to be changed to point to the correct
device. For that purpose you can download the program enclosed in
{\sf INSTALL-0.10} (provided some slight modification according to the
new minor/major numbers) use the program written by Henning Spruth
wich can be found in digest\#149 vol1 (there are both the C code and
the uuencoded DOS executable) or else any sector editor.
\item If you have Linux running, the command {\tt rdev} will change
the boot device of a floppy or of a Linux image file.  In the
'interim' release, because the boot disk is in memory, there are
instructions for unmounting the utilities disk and making a floppy
which will boot with the newly installed file system as root.
\end{enumerate}

\begin{question} I have the previous Linux version, how can I upgrade
it?\end{question}
\answer It's quite simple. Down-load the new Linux kernel (the current
one is v0.96b). Unpack it in {\sf /usr/src/linux}. Have a look in the
main {\sf Makefile} to setup your environment.
\begin{enumerate}
\item If you use {\sf shoelace}, then perform\\ {\tt make}.\\ Then\\
{\tt mv~/etc/Image~/etc/Image.old}\\ and finally\\ {\tt
cp~/usr/src/linux/Image~/etc/Image}\\ reboot, that's it.
\item  You do not use {\sf shoelace}, then it's even simpler just put
a formatted floppy in the drive and perform:\\ {\tt make~disk}
\end{enumerate}

\begin{question} How can I be sure I won't be writing over anything
important? I have to use DOS on my machine, and I don't want to lose
any files.\end{question}
\answer Back up everything. Just in case. Then, write some easily
recognizable pattern to the partition you have reserved for Linux,
using some DOS tool. You can then use\\ {\tt cat~/dev/hdX}\\ under
Linux to examine which of the partitions you used.

\begin{question} Linux {\tt mkfs} doesn't accept the size I give the
device, although I double-checked with fdisk, and it's correct.
\end{question}
\answer Be sure you give the size in BLOCKS, i.e. 1024 bytes, not
sectors. The {\tt mkfs} doesn't work for very big partition (over 64
Mb). Also, make doubly certain that you have the correct partition.

There are a few rules about this: {\sf /dev/hda} (Linux0.95a and
latter) corresponds to {\sf /dev/hd0} (under minix) and {\sf /dev/hdb}
(Linux0.95a ..) to {\sf /dev/hd5} (minix).  DO NOT USE THEM, they are
the whole raw disk, not partitions. Also if a partition is on drive 1
under minix (i.e. {\sf /dev/hd1--4}), it is drive 1 under Linux as
well.  Moreover, there is no real consensus on whether partition \#1
is the first partition on the disk, or is the first entry in the
partition table.  Some parition programs sort this information on the
screen only, some will write the sorted information back to the hard
disk.  Linux assumes that the first entry is {\sf hda1}, and so if
some utility starts sorting/reordering the table these things can
change.

REMARK Minix does some reordering.

A useful hack is to make each of your partitions a different size.
Then after any editting or possible change to the partition table you
can boot a floppy system and run {\tt fdisk} (Linux's, not DOS) to see
if the assignments still hold.

\begin{question} I have a one partitionned 40Mb disk. If I run {\tt
mkfs}, what happens?\end{question}
\answer If you do that, you will have an empty 40Mb Linux file system.
You should, at least, make on your hard disk, one partition per
operating system you want to use.

\begin{question} I mounted the Linux filesystem, and copied the files
from the root-disk to the harddisk. Now I cannot find them any more,
and somethimes Linux dies with a "panic: trying to free unused inode".
\end{question}
\answer You have probably forgot to {\tt sync} before rebooting.
Linux, like all unices, use a "buffer cache" to speed up reads and
writes to disk. On a machine that has enough memory, this buffer-cache
is 1.5Mb, and if you forget to {\tt sync} before exiting, it may not
be fully written out to disk. Re-{\tt mkfs} and re-{\tt install} (or
try to use the preliminary {\tt fsck}, but remember that although {\tt
fsck} tries to correct the faults it finds, it may fail.)

%---------------------------------------------------------------------

\section{Linux and DOS}\label{linuxanddos}

\begin{question} Is it possible to access to DOS world from Linux
\end{question}
\answer Yes, there is the mtools package (with patches for {\sf
devices.c}). The original sources of {\sf mtools} can be found at any
places not only at {\tt nic}, {\tt tupac} and {\tt tsx-11}, and the patches
for Linux (with fix for big DOS partitions are in the directory patches or
ports). Moreover you should download the file {\sf patch.Z} to apply patches
:)

It is possible to find the compiled {\sf mtools} stuff at mcc (see
above for the address)

BTW An improved version of mtools is on {\tt nic.funet.fi} in {\sf
/pub/OS/Linux/tools/mtools.n.tar.Z}, where all tools are in a single
executable; the device configuration are set in {\sf /etc/mtools} one
per line. In the package, you will find a readme file, the compiled
program, an example of {\sf /etc/mtools} and diffs to {\sf
mtools-2.0.5.tar.Z.} It's also provided in the 'interim' release (in
the util-?? disk).

\begin{question} the mtools package won't work. I get an ENOENT error
message for all devices. \end{question}
\answer {\sf mtools} needs to be told which device to look for. If you have
the {\sf mtools.n.tar.Z} package set correctly your {\sf /etc/mtools}
file; if you use the older mtools stuff (see Q/A above) use {\tt ln}
or {\tt mknod} to create a special file called {\sf /dev/dos?}, where
{\sf ?} is {\sf A}, {\sf B}, {\sf C}, {\sf X} or {\sf Y}. {\sf A} and
{\sf B} are for floppies (12 bits), {\sf C} is for hard disk and {\sf
X}, {\sf Y} for any. This file should point to the device you want to
read.  About the minor/major pair have a look at
section~\ref{instalhints}.

\begin{question} Whenever I use mtools to read a 720kb in an 1.44Mb
drive, I get a long sequence of reset-floppy-errors,
why?\end{question}
\answer This is what happens if you use the {\sf /dev/PS0} device (b 2
28), to read a 720kb floppy you have to use another device, for
example {\sf /dev/ps0} (b 2 16).

\begin{question} I've got the mtools.n.tar.Z package, but I can't read
anything even with the etc/mtools file properly set. Any
clue?\end{question}
\answer To use the binary you have to link (or simlink) the {\sf
mtools} binary with {\sf mattrib}, {\sf mcd}, {\sf mcopy}, {\sf mdel},
{\sf mdir}, {\sf mformat}, {\sf mkmanifest}, {\sf mlabel}, {\sf mmd},
{\sf mrd}, {\sf mread}, {\sf mren}, {\sf mtype} and {\sf mwrite}. This
can be achieved with the Unix command {\tt ln} (or {\tt ln~-s} for
symbolic links). In fact all is explained in the {\sf README} provided
with the {\sf mtools} package. Then you just need to use the proper
m\em stuff \em with the appropriate device.

\begin{question} This sounds me like a chicken and eggs problem, how
can I install the mtools package at the very beginning. \end{question}
\answer You have to use the {\tt rawrite} stuff.

\begin{question} Could someone explain how to use
rawrite?\end{question}
\answer Well, {\tt rawrite} is a DOS util, which write sequential
sector of a formatted disk/floppy. When a floppy has been rawritten,
you can (under Linux) untar it (use x, v, z and f flags). As an
example:
\begin{itemize}
\item under Dos use rawrite; {\tt rawrite}\\ source: {\tt
kermit.z}\\ destination: {\tt a}
\item boot under Linux, and perform a tar;\\ {\tt tar~zxvf~/dev/PS0 \\
tar~zxvp~$<$~/dev/PS0}
\end{itemize}
You \em DO NOT NEED TO MOUNT \em rawritten disk

\begin{question} What is as86.tar.Z?\end{question}
\answer It's the port of Bruce Evans' minix assembler, you need it to
be able to recompile Linux at your convenience. In fact this is ONLY
used for {\sf boot/setup.S} and {\sf boot/bootsect.S} they create
80x86 REAL mode code.

BTW as86 should not work on {\sf keyboard.S}, instead, you must use
{\tt gcc~-E} and then ({\tt g}){\tt as}. Since 0.96 the keyboard
routine is no longer {\sf .S} but {\sf .c}

\begin{question} Turbo (Microsoft) Assembler won't compile the Linux
boot code.  In fact, some of the opcodes in these files look
completely unfamiliar.  Why?\end{question}
\answer The Linux boot codes are written in Bruce Evans' minix
assembler, which has the same opcodes as the original minix assembler
ported to Linux get {\sf as86.tar.Z} Anyway there are a few
differences between these and normal DOS assemblers.

%-----------------end of first part of faq.tex------------------------
Newsgroups: comp.os.linux