⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 linux--a free unix-386 kernel.htm

📁 LINUX--a free unix-386 kernel written by :Linus Torvalds October 10, 1991
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><!--Converted with jLaTeX2HTML 2002 (1.62) JA patch-1.4patched version by:  Kenshi Muto, Debian Project.LaTeX2HTML 2002 (1.62),original version by:  Nikos Drakos, CBLU, University of Leeds* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan* with significant contributions from:  Jens Lippmann, Marek Rouchal, Martin Wilck and others --><HTML><HEAD><TITLE>LINUX--a free unix-386 kernel</TITLE><META NAME="description" CONTENT="LINUX--a free unix-386 kernel"><META NAME="keywords" CONTENT="Linux"><META NAME="resource-type" CONTENT="document"><META NAME="distribution" CONTENT="global"><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"><META NAME="Generator" CONTENT="jLaTeX2HTML v2002 JA patch-1.4"><META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"><LINK REL="STYLESHEET" HREF="Linux.css"></HEAD><BODY ><!--Navigation Panel--><IMG WIDTH="81" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next_inactive" SRC="nx_grp_g.png"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_g.png"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev_g.png">   <BR><BR><BR><!--End of Navigation Panel--><H1 ALIGN="CENTER">L<SMALL>INUX</SMALL>--a free unix-386 kernel</H1><P ALIGN="CENTER"><STRONG>Linus Torvalds (torvalds@kruuna.helsinki.fi)</STRONG></P><P ALIGN="CENTER"><STRONG>October 10, 1991</STRONG></P><P><H1><A NAME="SECTION00010000000000000000">Introduction to L<SMALL>INUX</SMALL></A></H1><P><H2><A NAME="SECTION00011000000000000000">What is L<SMALL>INUX</SMALL>?</A></H2><P>L<SMALL>INUX</SMALL> is a free unix-like kernel for 386-AT computers, coming withfull source code. It is meant for hackers/computer science students touse, learn and enjoy. It is written mostly in <TT><B>C</B></TT>, but parts ofit are in gnu-format assembler, and the boot-sequence is in intel 086assembly language. The <TT><B>C</B></TT>-code is relatively ANSI, with a fewGNU enhancements (mostly <TT>__asm__</TT> and <TT>inline</TT>).<P>While there are a number of unices available for 386 computers, most ofthem cost a lot of money, and come with no source. Thus, they are idealfor actually <I>using</I> your computer, but if you want to learn howthey work, you are f- -ked.<P>There are also a few unices available with source. Minix, the learningtool written by Andrew S.&nbsp;Tanenbaum, has been used in universities as ateaching tool for years. The BSD-386 system comes with source, but has arestrictive copyright and costs a lot of money ($995 is the startingprice, I think). The GNU kernel (Hurd) will be free, but is currentlynot ready, and will be too big to understand and learn.<P>L<SMALL>INUX</SMALL> most closely resembles Minix, in that it is small and not verysophisticated, and thus easy (well...) to understand.  L<SMALL>INUX</SMALL> wasalso written under Minix, so there are quite a bit of similarities, andany Minix hacker will feel relatively at home with L<SMALL>INUX</SMALL>.  None of theMinix code was used in the project though, so the Minix copyrightdoesn't cover the new system.  It also is <I>completely free</I>, and hasa very loose copyright.  Thus there is no need for megabytes of diffslike under Minix. <P><H2><A NAME="SECTION00012000000000000000">The L<SMALL>INUX</SMALL> copyright</A></H2><P>While being freely distributable, I do restrict the use of L<SMALL>INUX</SMALL> in afew ways:<UL><LI>You may freely copy and redistribute the source and binaries, <B>as long as:</B><UL><LI>complete source is available. Thus binaries may not be distributedby themselves, even if you have made changes to them.</LI><LI>you do not profit from the distribution. In fact even ``handlingcosts'' are not acceptable.</LI><LI>you keep the appropriate copyrights intact.</LI></UL></LI><LI>You may change the source to your liking, but if you distributeparts of the new system (or just binaries), all the new code must beincluded.</LI><LI>You may make small excepts from the code without includingcopyrights. This is up to you, but a reference to me or the code wouldbe appreciated.</LI></UL>This should be loose enough not to cause any worry in anybody using orexpanding the system. If you have a friend who really doesn't want thesource, but just a working binary, you may of course give it to himwithout worrying whether I will sue you. Keep it between friends, though.<P><H2><A NAME="SECTION00013000000000000000">Hardware/software needed to get L<SMALL>INUX</SMALL> running</A></H2><P>L<SMALL>INUX</SMALL> was written on a 386-AT running Minix. As L<SMALL>INUX</SMALL> is a realoperating system, and goes directly to the hardware to do things, youhave to have a very similar system to get it going without problems:<UL><LI>386-AT (PS/2's are different enough that things won't work)</LI><LI>VGA or EGA screen hardware.</LI><LI>Standard AT hard-disk interface, IDE disks work fine (in factthat's what I use).</LI><LI>Normal real-mode BIOS. Some machines seem to use virtual-86 modeto run the bootup program, and on such machines L<SMALL>INUX</SMALL> won't boot upand run correctly.</LI></UL><P>While L<SMALL>INUX</SMALL> will be expanded to be a self-sufficient system, Minix-386is currently needed to get the ball rolling. You need Minix to make theinitial root file system, and to compile the OS binary. After thatL<SMALL>INUX</SMALL> is a self-sufficient system, but Minix is recommended in orderto make file system checking (<TT>fsck</TT>) and to recompile the systemafter making changes.<P><H2><A NAME="SECTION00014000000000000000">Getting L<SMALL>INUX</SMALL></A></H2><P>L<SMALL>INUX</SMALL> can currently be gotten by anonymous <TT>ftp</TT> from <TT>`nic.funet.fi'</TT> in thedirectory <TT>'/pub/OS/Linux'</TT>. This directory contains the full source to the operatingsystem, as well as a couple of binaries so that you can actually use thesystem.<P><BR><B>NOTE! The binaries are mostly GNU software,and are under a stricter copyright (the GNU copyleft) than the </B>L<SMALL>INUX</SMALL><B> sources.  Thus you may not redistribute them without distributing theirsource, found in <TT>/pub/GNU</TT>. See any GNU software package for moreinformation on the GNU copyleft.<BR></B><P>The various files found in this directory are:<UL><LI><TT>linux-0.03.tar.Z</TT>--complete source to the operating system,in a 16-bit compressed tar archive.</LI><LI><TT>Linux.tex</TT>--L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X source for this file.</LI><LI><TT>bash.Z</TT>--bash binary to run under L<SMALL>INUX</SMALL>. This binary shouldbe put under tha name <TT>/bin/sh</TT> in the file system reserved forL<SMALL>INUX</SMALL> (see installation).</LI><LI><TT>update.Z</TT>--update binary, to be put in <TT>/bin/update</TT>.</LI><LI><TT>gccbin.tar.Z</TT>--GNU cc binaries needed to get a workingcompiler. This tarred archive contains the compiler, loader, assemblerand support programs (nm, strip etc). It also contains a small librarysufficient for most programs.</LI><LI><TT>include.tar.Z</TT>--include-files necessary to get gcc working.</LI><LI><TT>unistd.tar.Z</TT>--source to the unistd library routines (iesystem call interface). With this you can build a bigger library byusing system-independent library sources.</LI><LI><TT>utilbin.tar.Z</TT>--binaries to various GNU utilities, includingGNU fileutils, make and tar. Also contains the emacs-clone <TT>uemacs</TT>.</LI><LI><TT>README, RELNOTES-0.01, INSTALLATION</TT>--ascii files containingsome (somewhat out-of-date) information about L<SMALL>INUX</SMALL>.</LI></UL><P>The absolute minimum needed to get a system going is the OS source andthe bash and update binaries. You won't be doing much with just thesethough.<P><H1><A NAME="SECTION00020000000000000000">Installation</A></H1><P>After you have gotten the necessary L<SMALL>INUX</SMALL> files, you need to compilethe system and make a root directory. The necessary binaries need to beput in the root file system.Do this:<OL><LI>Back up your software. While L<SMALL>INUX</SMALL> never has destroyed any of myfiles, nothing is certain. Better safe than sorry.</LI><LI>Choose/make a standard Minix HD-partition to be the new L<SMALL>INUX</SMALL> rootfile system.</LI><LI>Make the necessary device nodes on the new root.  L<SMALL>INUX</SMALL> uses thesame type of nodes as Minix, so use the Minix <TT>mknod</TT> command tomake the following devices:<UL><LI><TT>/dev/tty</TT></LI><LI><TT>/dev/tty[0-2]</TT></LI><LI><TT>/dev/hd[0-9]</TT></LI></UL>Node numbers are the same as in Minix.</LI><LI>Move the necessary files to the new root partition. The filesshould be in the following directories:<UL><LI><TT>/bin:</TT><UL><LI><TT>sh</TT>, ie <TT>bash.Z</TT>.</LI><LI><TT>update</TT></LI></UL></LI><LI><TT>/usr/bin:</TT><UL><LI>Contents of <TT>utilbin.tar.Z</TT></LI></UL></LI><LI><TT>/usr/include:</TT><UL><LI>Contents of <TT>include.tar.Z</TT></LI></UL></LI><LI><TT>/usr/local/lib:</TT><UL><LI>Contents of <TT>gccbin.tar.Z</TT>, excepting <TT>gcc</TT></LI></UL>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -