\documentclass[letterpaper]{article}
\nonstopmode
\akai
\usepackage{linuxdoc-sgml}
\usepackage{qwertz}
\usepackage{url}
\usepackage[latin1]{inputenc}
\usepackage{t1enc}
\usepackage[english]{babel}
\usepackage{epsfig}
\usepackage{null}
\def\addbibtoc{
\addcontentsline{toc}{section}{\numberline{\mbox{}}\relax\bibname}
}%end-preamble
\setcounter{page}{1}
\title{The Linux BootPrompt-HowTo ¤¤Ä¶ª©}
\author{by Paul Gortmaker.}
\date{v1.14, 1 February 1998}
\abstract{  ³o¥÷¤å¥ó¬O±Ò°Ê´£¥Ü»¡©ú(BootPrompt-Howto)¡A  ¥¦¾ã²z¤F©Ò¦³¥i¥H¦b±Ò°Ê®É´Á¶Çµ¹ Linux ®Ö¤ßªº±Ò°Ê®É´Á°Ñ¼Æ(arguments)¡C  ¥]§t©Ò¦³®Ö¤ß»P³]³Æªº°Ñ¼Æ¡C¤]¥]§tÃö©ó®Ö¤ß¦p¦ó±Æ§Ç(sorts)
±Ò°Ê®É´Á°Ñ¼Æªº°Q½×¡A  ÁÙ¦³¤@¨Ç±Ò°Ê Linux ®Ö¤ß±`¥Î³nÅé·§­z¡C}


\begin{document}
\maketitle
\tableofcontents

\section{Â²¤¶\label{main-intro}}



®Ö¤ß¦³¯à¤O¦b±Ò°Ê®É¥H`«ü¥O¦C'¤è¦¡±µ¨ü¦³­­ªº°Ñ¼Æ¸ê°T¡A
Ãþ¦ü°õ¦æµ{¦¡®É©Òµ¹¤©ªº¤@¨Ç°Ñ¼Æ(argument list)¡C
³q±`³o¬O¥Î¨Ó´£¨Ñ®Ö¤ß¤@¨Ç¥¦¨S¦³¿ìªk¦Û¤v½T©wªºµwÅé°Ñ¼Æ¸ê°T¡A
©Î¬OÁ×§K¡þÅÜ§ó(override)®Ö¤ß¦Û¤v°»´ú©ÒÀò±oªº­È¡C

µM¦Ó¡A¦pªG§Aª½±µ§â®Ö¤ß¬M¹³(kernel image)«þ¨©¨ì³nºÐ¤W¡A
¡]¨Ò¦p cp zImage /dev/fd0¡^¨º»ò§A±N¨S¦³¾÷·|«ü©w¥ô¦ó°Ñ¼Æµ¹®Ö¤ß¡C
©Ò¥H¤j³¡¥÷ªº Linux ¨Ï¥ÎªÌ³£¨Ï¥Î¹³¬O LILO ©Î¬O loadlin
¤@Ãþ¯à°÷§â³o¨Ç°Ñ¼Æ¶Çµ¹®Ö¤ß¡A
µM«á±Ò°Ê¥¦ªº³nÅé¡C

{\itshape ¼Ò²Õ(MODULE)¨Ï¥ÎªÌ½Ðª`·N¡G\/}
¨å«¬ªº±Ò°Ê´£¥Ü°Ñ¼Æ¥u¯à¥Î©óª½±µ½sÄ¶¨ì®Ö¤ß¸ÌªºµwÅéÅX°Êµ{¦¡¡C
¥¦­Ì¹ï¨Ï¥Î¼Ò²Õ¤è¦¡¸ü¤JªºÅX°Êµ{¦¡{\itshape ¨S¦³¼vÅT\/}¡C
¤j³¡¥÷ªºµo¦æ®M¥ó(distributions) ³£¨Ï¥Î¼Ò²Õ¡C
¦pªG§AµLªk½T©w¡A
¥i¥H¹ï·Ó {\ttfamily /etc/conf.modules} ªº¤º®e¬d¾\ {\ttfamily man depmod} ¥H¤Î
{\ttfamily man modprobe}¡C

¥Ø«e³oª©»¡©ú¤å¥ó²[»\¨ì v2.0.33 ¬°¤îªº®Ö¤ß¡C¦P®É¤]¥]§t³¡¥÷¨ì v2.1.84 ¬°¤î¡A
µo®i¡þ´ú¸Õª©®Ö¤ßªº¯S©Ê¡C

³o¥÷±Ò°Ê´£¥Ü»¡©úªº§@ªÌ¬O¡G

\begin{quotation}
Paul Gortmaker, {\ttfamily gpg109@rsphy1.anu.edu.au}
\end{quotation}


¡£½Ðª`·N¡A¯S§Oµ¹«D i386 ¾÷¾¹©Î³]³Æ¡]¤×¨ä¬O Atari/Amiga¡^¥Îªº
±Ò°Ê´£¥Ü°Ñ¼Æ¥Ø«e¨Ã¨S¦³¼g¶i¨Ó¡C¡¤




\subsection{«Å¨¥»Pª©Åv\label{copyright}}



³o¥÷¤å¥ó{\itshape ¨Ã«D\/}µ´¹ï¥¿½Tªº¯u²z¡CµM¦Ó¥¦¤j·§¬O§A©Ò¯à§ä¨ì³Ì·sªº¸ê°T¡C
¨S¦³¤H¥²¶·¹ï§AµwÅé©Òµo¥Íªº¨Æ­t³d¡A°£¤F§A¦Û¤v¥H¥~¡C
¦pªG§AªºµwÅé«_·Ï¿N±¼¤F¡]¡D¡D¡D³o´X¥G¤£¥i¯à¡I¡^§Ú¤]¨S¦³³d¥ô¡C
¤]´N¬O»¡®Ú¾Ú³o¥÷¤å¥ó¤¤©Ò´£¨Ñªº¸ê°T¥h¹ê¦æ¦Ó³y¦¨ªº¥ô¦ó·l®`§@ªÌ·§¤£­t³d¡C

³o¥÷¤å¥óªºª©Åv Copyright (C) 1995-1998 ÄÝ©ó Paul Gortmaker¡C

³o¥÷¤å¥ó¥i¨Ì²Ä¤Gª© GNU ³q¥Î¤½¶}±ÂÅv(General Public License)ªº±ø¥ó¡A
¥]¬A¦¹Án©ú¡A¶i¦æ«þ¨©¡C
²Ó¸`½Ð°Ñ¾\ÀHªþ©ó Linux ®Ö¤ßªº {\ttfamily linux/COPYING} ÀÉ®×¡C

¦pªG§A·Q§â³o¥÷¤å¥ó¶°µ²¥Xª©¡A½Ð»P§ÚÁpµ¸¡A§Ú·|½T»{§A¨ú±oªº¬O§_¬°³Ì·sªº¸ê°T¡C
¹L¥h´¿¸g¦³¹L®Éªº Linux »¡©ú¤å¥óª©¥»¥Xª©¡A
³y¦¨µo®iªÌ¬°¤F¦b·sª©¤å¥ó¤¤¤w¦³µª®×ªº°ÝÃD·Q¯}ÀY´ß¡C

This document is {\itshape not\/} gospel. However, it is probably the most
up to date info that you will be able to find. Nobody is responsible
for what happens to your hardware but yourself. If your
hardware goes up in smoke (...nearly impossible!)
I take no responsibility. ie. THE AUTHOR IS NOT RESPONSIBLE
FOR ANY DAMAGES INCURRED DUE TO ACTIONS TAKEN BASED ON THE
INFORMATION INCLUDED IN THIS DOCUMENT.

This document is Copyright (C) 1995-1998 by Paul Gortmaker.

This document may be copied according to the conditions
of the GNU General Public License, version 2, included herein
by reference. See the file {\ttfamily linux/COPYING} that comes
with the Linux kernel for full details.

If you are intending to incorporate this document into a
published work, please contact me, and I will make an effort
to ensure that you have the most up to date information
available. In the past, out of date versions of the Linux
howto documents have been published, which caused the developers
undue grief from being plagued with questions that were already
answered in the up to date versions.




\subsection{¬ÛÃö¤å¥ó}



³Ì·sª©ªº¤å¥ó¥Ã»·¬O®Ö¤ßªº­ì©lµ{¦¡½X¥»¨­¡Cµ¥¤@¤U¡I¥ý¤£­n®`©È¡C
¾\Åª­ì©lÀÉ¸Ìªºµù¸Ñ¤£»Ý­nÀ´¥ô¦óµ{¦¡³]­p¡C
¨Ò¦p¡A¦pªG§A­n§ä¥i¥H¶Çµ¹ AHA1542 SCSI ÅX°Êµ{¦¡ªº°Ñ¼Æ¡A
¨º´N¨ì {\ttfamily linux/drivers/scsi} ¥Ø¿ý¤U¥h¬Ý {\ttfamily aha1542.c} ³o­ÓÀÉ¡A
¦b«e­± 100 ¦æ¸Ì´N¥i¥H§ä¨ì¤@¬q­ì¤å»¡©ú¦¹ 1542
ÅX°Êµ{¦¡©Ò±µ¨üªº±Ò°Ê®É´Á°Ñ¼Æ¡C

¤U­Óµ´¨Îªº°Ñ¦Ò¬O®Ö¤ß¥»¨­ÀHªþªº¥ô¦ó¤å¥óÀÉ¡C¥Ø«e¨Ã¤£¦h¡A
¤j³¡¥÷¥i¥H¦b {\ttfamily linux/Documentation} ¥Ø¿ý¤Î¨ä¤Uªº¤l¥Ø¿ý¤¤§ä¨ì¡C
{\ttfamily linux} ¥Ø¿ý³q±`¥i¥H¦b {\ttfamily /usr/src/} ¤U§ä¨ì¡C
¦³®É­Ô¤]¥i¥H¦b¬ÛÃöÅX°Êµ{¦¡¥Ø¿ý¸Ì§ä¨ì {\ttfamily README.foo} ÀÉ®×
¡]¨Ò¦p {\ttfamily linux/drivers/XXX/} ¡A¨ä¤¤ªº {\ttfamily XXX} ¥i¯à¬O
{\ttfamily scsi}, {\ttfamily char}, or {\ttfamily net}¡^¡C

¦pªG§A¤w¸g§ä¨ì·Q­n¨Ï¥Îªº±Ò°Ê°Ñ¼Æ¡A¦Ó²{¦b·Qª¾¹D¦p¦ó§â³o¨Ç¸ê°T¶Çµ¹®Ö¤ßªº¸Ü¡A
¨º´N¬Ý¬Ý§A¥Î¨Ó±Ò°Ê®Ö¤ßªº³nÅé¡]¨Ò¦p LILO ©ÎªÌ¬O loadlin ¡^©ÒÀHªþªº¤å¥ó¡C
¤U­±¦³Â²µuªº·§­z¡A¦ý¤£¯à´À¥N±Ò°Ê³nÅé©ÒÀHªþªº¤å¥ó¡C




\subsection{Linux ·s»D¸s²Õ\label{news}}



¦pªG§A¦³Ãö©ó¶Ç»¼°Ñ¼Æµ¹®Ö¤ß³o¤è­±ªº°ÝÃD¡A½Ð¥ýÅª¤@Åª³o¥÷¤å¥ó¡C
¦pªG¥¦¥H¤Î«e­±©Ò´£¨ìªº¬ÛÃö¤å¥ó³£¨S¯à¦^µª§Aªº°ÝÃD¡A¨º»ò§A¥i¥H¸Õ¸Õ Linux
·s»D¸s²Õ¡C
·íµM¡A¦b»´²vªº¶K¥X§Aªº°ÝÃD«eÀ³¸Ó¥ý¾\Åª¸Ó·s»D¸s²Õ¡A
¦]¬°¥i¯à¤w¸g¦³¤H°Ý¹L³o­Ó°ÝÃD¡A©ÎªÌ³o¥i¯à¤w¸g¬O­Ó±`¨£°ÝÃD(a FAQ)¡C
±i¶K¤§«e¥ý§Ö³tÂsÄý linux ±`¨£°ÝÃD·|¬O­Ó{\itshape ¦n\/}²ßºD¡C
§AÀ³¸Ó¯à°÷¦b¾Fªñ³o¥÷¤å¥óªº¬Y³B§ä¨ì±`¨£°ÝÃD¶°¡C

Ãö©ó¦p¦ó°t¸m¨t²Îªº¤@¯ë©Ê°ÝÃDÀ³¸Óª½±µ¶K¨ì comp.os.linux.setup ·s»D¸s²Õ¡C
{\itshape ½Ð\/}§A´L­«³o­Ó¦³Ãö±i¶K¤º®eªº¤@¯ëºD¨Ò¡A¨Ã¥B¡A
¤£­n§â§Aªº»Ý¨D¥æ¤e±i¶K(cross-post)¨ì¨ä¥¦¸s²Õ¥h¡C




\subsection{·sª©¤å¥ó\label{new-doc}}



·sª©¤å¥ó¥i¥Ñ°Î¦WÀÉ®×¶Ç¿éªA°È(anonymous FTP)±q sunsite.unc.edu ³o­Ó¯¸¨ú±o¡A
¦b {\ttfamily /pub/Linux/docs/HOWTO/} ¥Ø¿ý¸Ì¡C
ª`·N¡A{\itshape SunSITE\/} ªº­t¸ü¸g±`«Ü¤j¡A
©Ò¥H«ØÄ³§A³Ì¦n§ä­Ó Linux ÀÉ®×¶Ç¿é¬M®g(mirror)¸`ÂI¨ú±o¦¹¤å¥ó¡C
¦³·sªº¸ê°T¥H¤Î¡þ©Î¬OÅX°Êµ{¦¡®É´N·|¸É¥R¸ê®Æ¡C
¦pªG§A²{¦bÅªªº³o¥÷«þ¨©¤w¸g¦³´X­Ó¤ë¤§¤[¡A§A¥i¯à±o½T»{¤@¤U¬O§_¦³·sªº¡C

³o¥÷¤å¥ó«Y¨Ï¥Î¤@®M¯S§O¬° Linux »¡©ú¤å¥ó­pµe­×§ïªº SGML ¨t²Î©Ò²£¥Íªº¡A
¦³¦UºØ¤£¦Pªº¿é¥X®æ¦¡¡A¥]¬A postscript, dvi, ascii, html,
¥H¤Î±N­n¥X²{ªº Texinfo¡C
§Ú«ØÄ³¥H html¡]¸g¥Ñ¥þ²y¸ê°TºôÂsÄý¾¹¡^©Î Postscript/dvi ®æ¦¡¾\Åª¡C
³o¨âªÌ³£¥]§t ascii Âà´«¹Lµ{¤¤¥¢¥hªº¥æ¤¬°Ñ¦Ò(cross-references)¡C

¦pªG§A·Q±q sunsite ¨ú±o¥¿¦¡ªº«þ¨©¡A¦ì§}(URL)¦b¦¹¡C
\nameurl{http://sunsite.unc.edu/mdw/HOWTO/BootPrompt-HOWTO.html}{BootPrompt-HOWTO}




\section{±Ò°Ê´£¥Ü°Ñ¼Æ·§Æ[\label{oview}}



³o¤@¸`¤¶²Ð¤@¨Ç¥i¥H¥Î¨Ó¶Ç»¼±Ò°Ê®É´Á°Ñ¼Æµ¹®Ö¤ß¥»¨­ªº³nÅé½d¨Ò¡C
¤]µ¹§A¦³Ãö³o¨Ç°Ñ¼Æ«Y¦p¦ó³Q³B²z¡A±Ò°Ê°Ñ¼Æ¦³¤°»ò¼Ëªº­­¨î¡A
¥H¤Î¥¦­Ì¦p¦ó³QÂà°e¨ì¦U­Ó¾A·í³]³ÆªºÆ[©À¡C

¦³¤@ÂI{\itshape «Ü­«­n\/}±oª`·Nªº¬O¦b±Ò°Ê°Ñ¼Æ¤¤{\itshape ¤£\/}À³¸Ó¨Ï¥ÎªÅ¥Õ¡A
¥u¦³¦b¦U§Oªº°Ñ¼Æ¤§¶¡¥i¥H¡C
³æ¤@°Ñ¼Æ¨ä­Èªº¦Cªí(A list of values)¬O¦b¦U­È¤§¶¡¥H³r¸¹®æ¶}ªº¡A¦A¤@¦¸¡A
¨S¦³¥ô¦óªÅ¥Õ¡C°Ñ¨£¤U­±ªº½d¨Ò¡C

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        ether=9,0x300,0xd0000,0xd4000,eth0  root=/dev/hda1
*RIGHT*
        ether = 9, 0x300, 0xd0000, 0xd4000, eth0  root = /dev/hda1
*WRONG*
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}





\subsection{LILO (LInux LOader)\label{lilo}}



³Ì±`¥Îªº¬O Werner Almesberger ©Ò¼gªº LILO(LInux LOader) µ{¦¡¡C
¥¦¦³¯à¤O±Ò°Ê¤£¦Pªº®Ö¤ß¡A¦Ó¥B°t¸m¸ê°T¦s©ñ¦b¤@­Ó¯Â¤å¦rÀÉ¸Ì¡C
¤j³¡¥÷ªºµo¦æ®M¥ó³£ªþ¦³ LILO §@¬°¹w³]ªº±Ò°Ê¸ü¤Jµ{¦¡(boot-loader)¡C
LILO ¥i¥H¤@µø¦P¤¯¦a±Ò°Ê DOS, OS/2, Linux, FreeBSD µ¥µ¥¡A¦Ó¥B¬Û·í¦³¼u©Ê¡C

¦b§A¶}¾÷¤§«á¡A¨å«¬ªº°t¸m·|Åý LILO °±¦í¨Ã¦L¥X {\ttfamily LILO:}¡C
µM«áµ¥­Ó´X¬í¬Ý¬Ý¨Ï¥ÎªÌ¦³¨S¦³¿é¤J¥ô¦ó¿ï¶µ¡A¨S¦³ªº¸Ü´N±Ò°Ê¹w³]ªº¨t²Î¡C
¦b LILO °t¸mÀÉ¸Ì¨å«¬ªº¨t²Î¼ÐÅÒ¬O {\ttfamily linux} ¥H¤Î {\ttfamily backup} ©M
{\ttfamily msdos}¡C
¦pªG§A·Q­n¿é¤J±Ò°Ê°Ñ¼Æ¡A¥i¥H¥´¦b³o¡A¦b¿é¤J§A­n LILO ±Ò°Êªº¨t²Î¤§¼ÐÅÒ«á­±¡A
¹³¤U­±³o­Ó½d¨Ò©ÒÅã¥Üªº¡C

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        LILO: linux root=/dev/hda1
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


LILO ÀHªþ¦³µ´¨Îªº¤å¥ó¡A¦Ó¥B¬°¤F³o¸Ì©Ò°Q½×ªº±Ò°Ê°Ñ¼Æ¤§¨Ï¥Î¡A
·í§A·Q­n§â±Ò°Ê®É´Á°Ñ¼Æ¥[¨ì LILO °t¸mÀÉ¸Ì¥Ã¤[¨Ï¥Î®É LILO ªº
{\ttfamily append=} «ü¥O´N«D±`­«­n¡C
¥u­nÂ²³æ¦a¦b {\ttfamily /etc/lilo.conf} ÀÉ¤¤¥[¤J¹³
{\ttfamily append = "foo=bar"} ³o¼ËªºªFªF§Y¥i¡C
¥i¥H¥[¦b¸ÓÀÉªº³Ì«e­±¡A¨Ï¥¦¹ï¨C¤@¸`°Ï(section)³£¥Í®Ä¡A
©Î¬O¥[¦b¬Y {\ttfamily image=} ¸`°Ï¸Ì¨Ï¥¦¹ï¸Ó¸`°Ï¥Í®Ä¡C
½Ð°Ñ¾\ LILO ¤å¥ó¸Ì§ó§¹¾ãªº»¡©ú¡C




\subsection{LoadLin\label{loadlin}}



¥t¤@­Ó±`¥Îªº Linux ¸ü¤Jµ{¦¡ `LoadLin' «h¬O¤@¤ä¦³¯à¤O±q
DOS ´£¥Ü²Å¸¹(prompt)¤U±Ò°Ê Linux ®Ö¤ß¡]¥i¥Hµ¹¤©±Ò°Ê°Ñ¼Æ¡^ªº DOS µ{¦¡¡A
°²¦p¬Y¨Ç¨t²Î¸ê·½¥i¥Îªº¸Ü´N¦æ¡C
³o¹ï¨Ï¥Î DOS ¨Ã·Q±q DOS ¤U±Ò°Ê¶i¤J Linux ªº¤H¦Ó¨¥«Ü¦n¥Î¡C

¦pªG§A¾Ö¦³¤@¨Ç»Ý­n¨Ï¥Î¨ä©Ò´£¨Ñªº DOS ÅX°Êµ{¦¡¨Óªì¨Ï¤Æ¥H¶i¤J¥i¥Îª¬ºA
(known state)ªºµwÅé¨º»ò¥¦¤]«Ü¦³¥Î¡C
¤@­Ó±`¨£ªº¨Ò¤l¬O»Ý­n¨Ï¥Î DOS ÅX°Êµ{¦¡³]©w(twiddle)
´X­Ó¯«¯µªº¼È¦s¾¹¨Ï¥¦¶i¤JÁnÅQ¥d¬Û®e¼Ò¦¡ªº¡¨ÁnÅQ¥d¬Û®e¡¨­µ®Ä¥d¡C
±Ò°Ê DOS »P©ÒªþªºÅX°Êµ{¦¡¡A
µM«á±q DOS ´£¥Ü²Å¸¹¤U¨Ï¥Î {\ttfamily LOADLIN.EXE} ¸ü¤J Linux
¥HÁ×§K­«·s±Ò°Ê(reboot)·|­«¸m(reset)¸Ó¥d¡C
¦p¦¹¸Ó¥dºû«ù¦bÁnÅQ¥d¬Û®e¼Ò¦¡¤]´N¯à¦b Linux ¤U¨Ï¥Î¡C

ÁÙ¦³¤@¨Ç¨ä¥¦µ{¦¡¥i¥H¥Î¨Ó±Ò°Ê Linux¡C
§¹¾ãªº¦Cªí½Ð§ä§ä¦b§A·í¦a Linux ÀÉ®×¶Ç¿é¬M³]¸`ÂI¸Ìªºµ{¦¡¡A
¦b {\ttfamily system/Linux-boot/} ¤U¡C




\subsection{``rdev'' ¤½¥Îµ{¦¡\label{rdev}}



®Ö¤ß¥»¨­¸Ì­±ªº¼Æ­Ó¦ì¤¸²Õ¦s¦³¤Ö¼Æ´X­Ó®Ö¤ß±Ò°Ê°Ñ¼Æªº¹w³]­È¡C
¦b¤j³¡¥÷ªº¨t²Î¸Ì¦w¸Ë¦³¤@¤äºÙ¬° {\ttfamily rdev} ªº¤½¥Îµ{¦¡ª¾¹D³o¨Ç­È¦b¨º¸Ì¡A
¥H¤Î¦p¦ó§ïÅÜ¥¦­Ì¡C
¥¦¤]¯à§ïÅÜ¥t¥~¤@¨Ç¨S¦³¬Û¹ï¤§®Ö¤ß±Ò°Ê°Ñ¼ÆªºªF¦è¡A
¹³¬O¹w³]ªºÅã¥Ü¼Ò¦¡(video mode)¡C

¦¹ rdev ¤½¥Îµ{¦¡³q±`¤]¥tºÙ(aliased to) swapdev, ramsize, vidmode ¥H¤Î
rootflags¡C¥¦¯à°÷§ïÅÜ¤­ºØªF¦è¡A¤À§O¬O®Ú¥Ø¿ý³]³Æ(root device)¡A
¸m´«³]³Æ(swap device)¡A°O¾ÐÅéºÏºÐ(RAM disk)¤§°Ñ¼Æ¡A¹w³]ªºÅã¥Ü¼Ò¦¡¡A
¤Î®Ú¥Ø¿ý³]³Æªº¦s¨ú³]©w(readonly/readwrite)¡C

§ó¦h¦³Ãö {\ttfamily rdev} ªº¸ê°T¥i¥HÂÇ¥Ñ¿é¤J {\ttfamily rdev -h} ©Î¬O°Ñ¾\¨ä½u¤W»¡©ú­¶
({\ttfamily man rdev})Àò±o¡C




\subsection{®Ö¤ß¦p¦ó±Æ¦C°Ñ¼Æ}



¤j³¡¥÷ªº±Ò°Ê°Ñ¼Æ®æ¦¡¬°¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        name[=value_1][,value_2]...[,value_11]
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¨ä¤¤ `name' ¬O¤@­Ó¥Î¨Ó°ß¤@ÃÑ§O(unique)¬ÛÃöªº­È¡]¦pªG¦³ªº¸Ü¡^
¬O­nµ¹®Ö¤ßªº¨º­Ó³¡¥÷ªºÃöÁä¦r¡C
¦h­Ó±Ò°Ê°Ñ¼Æ¥u¬O¤W­z®æ¦¡¥HªÅ¥Õ¤À¹jªº¦Cªí¡C
ª`·N¨º­Ó 11 ¬O¯u¹êªº­­¨î¡A
¦]¬°²{¦æªºµ{¦¡½X¹ï¨C­ÓÃöÁä¦r¥u³B²z 11 ­Ó¥H³r¸¹¤À¹jªº°Ñ¼Æ¡C
¡]µM¦Ó¡A¦b«D¤ñ´M±`½ÆÂøªº±¡ªp¤U§A¥i¥H­«ÂÐ¨Ï¥Î¬Û¦PªºÃöÁä¦r¥[¤J 11
­Ó¥H¤Wªº°Ñ¼Æ¡A
°²¦p³]©w¨ç¦¡¤ä´©³o¼Ë·dªº¸Ü¡C¡^
¦P®É¤]­nª`·N¡A®Ö¤ß§â¦Cªí¤À¦¨(splits)³Ì¦h 10 ­Óªº¾ã¼Æ°Ñ¼Æ¡A
«á­±¨Ã¸òµÛ¤@­Ó¦r¦ê¡A©Ò¥H§A¤£¯à¯uªºµ¹¥¦ 11 ­Ó¾ã¼Æ¡A
°£«D§A¦Û¦æ¦bÅX°Êµ{¦¡¤¤±N²Ä 11 ­Ó°Ñ¼Æ¥Ñ¦r¦êÂà´«¦¨¾ã¼Æ¡C

¤j³¡¥÷±Æ§Çªº°Ê§@¬O¦b {\ttfamily linux/init/main.c} ¸Ì­±¡C
­º¥ý¡A®Ö¤ß¬d¬Ý°Ñ¼Æ¬O§_¬° `root=', `Ro', `Rw', or `Debug' ³o¨Ç¯S§Oªº°Ñ¼Æ¡C
³o¨Ç¯S§O°Ñ¼Æªº·N¸q¥»¤å¤¤·|¶i¤@¨B»¡©ú¡C

µM«á¥¦¨«¹L(walks)¤@¨t¦Cªº³]©w¨ç¦¡¡]©ñ¦b {\ttfamily bootsetups} °}¦C¸Ì¡^
¬Ý¬Ý©Ò«ü©wªº°Ñ¼Æ¦r¦ê¡]¹³¬O
`foo'¡^¬O¤£¬O»P¨ä¤¤ªº¤@­Ó³]©w¨ç¦¡¡]{\ttfamily foo\_setup()}¡^¬ÛÃö¡A
¥H³]©w¯S©w³]³Æ©Î®Ö¤ßªº¤@³¡¥÷¡C
¦pªG§A¶Çµ¹®Ö¤ß {\ttfamily foo=3,4,5,6,bar} ³o¼Ë¤@¦æ¨º»ò®Ö¤ß·|·j´M
{\ttfamily bootsetups} °}¦C¬Ý¬Ý `foo' ¬O§_¦³µù¥U¡C
¦pªG¦³¡A¨º»ò¥¦·|©I¥s»P `foo' ¬ÛÃöÁpªº³]©w¨ç¦¡¡]{\ttfamily foo\_setup()}¡^
¨Ã¥æµ¹¥¦¦b®Ö¤ß«ü¥O¦C©Òµ¹ªº¾ã¼Æ°Ñ¼Æ 3, 4, 5, and 6¡A¨Ã¥æµ¹¥¦¦r¦ê°Ñ¼Æ
{\ttfamily bar}¡C




\subsection{³]©wÀô¹ÒÅÜ¼Æ}



¥ô¦ó¤£³Q±µ¨ü·í§@¤W­z³]©w¨ç¦¡ªº `foo=bar'
«¬¦¡¤§±Ô­z·|³Q¸ÑÄ¶¬°­n³]©wªºÀô¹ÒÅÜ¼Æ¡C
¤@­Ó¡]¨S¥Îªº¡H¡^½d¨Ò¬O¥H `TERM=vt100' §@¬°±Ò°Ê°Ñ¼Æ¡C




\subsection{¶Ç»¼°Ñ¼Æµ¹ `init' µ{¦¡}



¥ô¦ó³Ñ¤Uªº¡A
®Ö¤ß¤£ºÞ¦Ó¥B¤£³Q¸ÑÄ¶¦¨Àô¹ÒÅÜ¼Æ¤§°Ñ¼Æ±µ¤U¨Ó·|¶Çµ¹²Ä¤@­Óµ{§Ç(process)¡A
³q±`¬O {\ttfamily init} µ{¦¡¡C
³Ì±`¶Çµ¹ init µ{§Çªº°Ñ¼Æ¬O {\itshape single\/} ³o­Ó¦r¡A
«ü¥Ü {\ttfamily init} §â¹q¸£±Ò°Ê¦b³æ¤H¼Ò¦¡(single user mode)
¨Ã¥B¤£±Ò°Ê©Ò¦³¤@¯ëªº¾n¯dµ{¦¡(daemons) ¡C
¬d¾\§A¨t²Î¸Ì¦w¸Ëªº {\ttfamily init} ª©¥»¤§½u¤W¤â¥U¬Ý¬Ý¥¦±µ¨ü¨º¨Ç°Ñ¼Æ¡C




\section{¤@¯ëµLÃö³]³Æ¯S©Êªº±Ò°Ê°Ñ¼Æ\label{general}}



¦³¨Ç±Ò°Ê°Ñ¼Æ¨Ã«D»P¥ô¦ó³]³Æ©Î©PÃä¬ÛÃö¡C
¥¦­Ì¤D¬O»P¬Y­Ó®Ö¤ß¤º³¡°Ñ¼Æ¬ÛÃö¡A¹³¬O°O¾ÐÅéªº³B²z¡A°O¾ÐÅéºÏºÐªº³B²z¡A
®ÚÀÉ®×¨t²Îªº³B²z¥H¤Î¨ä¥¦ªFªF¡C




\subsection{®ÚÀÉ®×¨t²Î¿ï¶µ}



¤U¦C¿ï¶µ¬Ò»P®Ö¤ß¦p¦ó¿ï¾Ü¤Î³B²z®ÚÀÉ®×¨t²Î¦³Ãö¡C




\subsubsection{`root=' °Ñ¼Æ}



¦¹°Ñ¼Æ§i¶D®Ö¤ß±Ò°Ê®É¥H¨º­Ó³]³Æ§@¬°®ÚÀÉ®×¨t²Î¨Ï¥Î¡C
¦¹³]©wªº¹w³]­È¬°«Ø³y(bulid)®Ö¤ß®É¨t²Îªº®ÚÀÉ®×¨t²Î³]³Æ¡C
¨Ò¦p¡A¦pªG®Ö¤ß¬O¦b¤@­Ó¥H `/dev/hda1' §@¬°®ÚÀÉ®×¨t²Î¤À³Î°Ïªº¨t²Î¤W«Ø³yªº¡A
¨º»ò¹w³]ªº®ÚÀÉ®×¨t²Î³]³Æ´N¬O `dev/hda1'¡C
­nÅÜ§ó¦¹¹w³]­È¡A¨Ã¿ï¾Ü²Ä¤G¥x³nºÐ¾÷§@¬°®ÚÀÉ®×¨t²Î³]³Æªº¸Ü¡A
¥i¥H¨Ï¥Î `root=/dev/fd1'¡C

¥i¥Îªº®ÚÀÉ®×¨t²Î³]³Æ¬°¤U¦C³]³Æ¨ä¤¤¤§¤@¡G

(1) /dev/hdaN to /dev/hddN,
³o¬O ST-506 ¬Û®eºÏºÐ `a to d' ¤Wªº²Ä N ­Ó¤À³Î°Ï¡C

(2) /dev/sdaN to /dev/sdeN,
³o¬O SCSI ¬Û®eºÏºÐ `a to e' ¤Wªº²Ä N ­Ó¤À³Î°Ï¡C

(3) /dev/sdaN to /dev/xdbN,
³o¬O XT ¬Û®eºÏºÐ `a to b' ¤Wªº²Ä N ­Ó¤À³Î°Ï¡C

(4) /dev/fdN,
³o¬O³nºÐ¾÷¸¹½X N¡C
N=0 ¬° DOS ¤Uªº `A:' ºÏºÐ¾÷¡A¦Ó N=1 «h¬° `B:'¡C

(5) /dev/nfs,
³o¨Ã«D¯uªº¬O­Ó³]³Æ¡A
¦Ó¬O¤@­Ó§i¶D®Ö¤ß¸g¥Ñºô¸ô¨ú±o®ÚÀÉ®×¨t²ÎªººX¼Ð¡C

¤W­zºÏºÐ³]³Æªº¥t¤@ºØ¼Æ¦r®æ¦¡¡A
§ó¬°²Â©å¥B§ó¨S¦³¥iÄâ©Êªº¥D­n¡þ¦¸­n(major/minor) ¸¹½X¤]¯à±µ¨ü¡C
¡]¨Ò¦p /dev/sda3 ªº¥D­n¸¹½X¬° 8¡A¦¸­n¸¹½X¬° 3¡A
©Ò¥H§A¥i¥H¨Ï¥Î {\ttfamily root=0x803} §@¬°¥t¤@ºØ«ü©w¤è¦¡¡C¡^

³o¬O¤Ö¼Æ´X­Ó¦b®Ö¤ß¤¤¦s¦³¹w³]­È¡A
©Ò¥H¥i¥H¥Î {\ttfamily rdev} ¤½¥Îµ{¦¡§ïÅÜªº®Ö¤ß±Ò°Ê°Ñ¼Æ¡C




\subsubsection{`ro' °Ñ¼Æ}



·í®Ö¤ß±Ò°Ê®É¥¦»Ý­n¦³­Ó®ÚÀÉ®×¨t²Î¥HÅª¨ú¤@¨Ç°ò¥»ªºªF¦è¡C
³o´N¬O±¾¦b®Ú¥Ø¿ýªº®ÚÀÉ®×¨t²Î¡C
µM¦Ó¡A¦pªG®ÚÀÉ®×¨t²Î¥H¥i¥H¼g¤Jªº¤è¦¡±¾¤W¨Óªº¸Ü¡A
§A´NµLªk¦b¦³ÀÉ®×¼g¨ì¤@¥bªº±¡ªp¤U½T¹ê¦aÀË¬dÀÉ®×¨t²Îªº§¹¾ã©Ê¡C
¦¹ `ro' ¿ï¶µ§i¶D®Ö¤ß¥H°ßÅªªº¤è¦¡±¾¤J®ÚÀÉ®×¨t²Î¡A
¦p¦¹¥ô¦óÀÉ®×¨t²Î¤@­P©ÊÀË¬dµ{¦¡(fsck)
¦b°õ¦æÀË¬d®É³£¥i¥H¦w¥þ¦a°²³]¨S¦³ÀÉ®×¼g¨ì¤@¥bªº±¡ªp¡C
¨S¦³¥ô¦óµ{¦¡©Îµ{§Ç¥i¥H¼g¤J¦¹ÀÉ®×¨t²Îª½¨ì¥¦­«·s¥H¥iÅª¼gªº¤è¦¡±¾¤J¬°¤î¡C

³o¬O¤Ö¼Æ´X­Ó¦b®Ö¤ß¤¤¦s¦³¹w³]­È¡A
©Ò¥H¥i¥H¥Î {\ttfamily rdev} ¤½¥Îµ{¦¡§ïÅÜªº®Ö¤ß±Ò°Ê°Ñ¼Æ¡C




\subsubsection{`rw' °Ñ¼Æ}



³o»P¤W¤@­Ó§¹¥þ¬Û¤Ï¡A¥¦§i¶D®Ö¤ß¥H¥iÅª¨ú¡þ¼g¤Jªº¤è¦¡±¾¤J®ÚÀÉ®×¨t²Î¡C
µL½×¦p¦ó¡A¹w³]¬O¥H¥iÅª¼g¤è¦¡±¾¤J®ÚÀÉ®×¨t²Î¡C
¤£­n¦b¥H¥iÅª¼g¤è¦¡±¾¤JªºÀÉ®×¨t²Î¤W°õ¦æ¥ô¦óªº `fsck' µ{¦¡¡C

¦¹°Ñ¼Æ¨Ï¥Îªº­È»P¤W¤@­ÓÀx¦s©ó®Ö¤ß¬M¹³ªº°Ñ¼Æ¬Û¦P¡A¥i¸g¥Ñ {\ttfamily rdev} ¦s¨ú¡C




\subsection{»P°O¾ÐÅéºÏºÐ(RAM Disk)ºÞ²z¦³Ãöªº¿ï¶µ}



¤U¦C¿ï¶µ¬Ò»P®Ö¤ß¦p¦ó³B²z°O¾ÐÅéºÏºÐ³]³Æ¦³Ãö¡A
³oºØµêÀÀºÏºÐ³]³Æ³q±`¦b¦w¸Ë¶¥¬q±Ò°Ê¾÷¾¹®É¨Ï¥Î¡A
©Î°t¦X¨Ï¥Î¼Ò²Õ¤ÆÅX°Êµ{¦¡¥H¦s¨ú®ÚÀÉ®×¨t²Îªº¾÷¾¹¤W¡C




\subsubsection{`ramdisk\_start=' °Ñ¼Æ}



¬°¤F¨Ï®Ö¤ß¬M¹³¯à°÷»PÀ£ÁYªº°O¾ÐÅéºÏºÐ¬M¹³©ñ¦b¤@±i³nºÐ¤º¡A
©Ò¥H¥[¤J³o­Ó `ramdisk\_start=$<$offset$>$' «ü¥O¡C
®Ö¤ß¤£¯à°÷©ñ¦bÀ£ÁY¹Lªº°O¾ÐÅéºÏºÐ¤§ÀÉ®×¨t²Î¬M¹³¸Ì¡A
¦]¬°¥¦±o±q³Ì¶}©lªº²Ä¹sºÏ°Ï¶}©l©ñ¸m¡A
¦p¦¹°ò¥»¿é¥X¤J¨t²Î(BIOS)¤~¯à¸ü¤J±Ò°ÊºÏ°Ï¦Ó®Ö¤ß¤]¤~¯à°÷¶}©l±Ò°Ê°õ¦æ¡C

ª`·N¡G¦pªG§A¨Ï¥Îªº¬O¨S¦³À£ÁYªº°O¾ÐÅéºÏºÐ¬M¹³¡A
¨º»ò®Ö¤ß¥i¥H¬O­n¸ü¤J°O¾ÐÅéºÏºÐ¤§ÀÉ®×¨t²Î¬M¹³ªº¤@³¡¥÷¡A
¥B¸Ó³nºÐ¥i¥H¥Ñ LILO ±Ò°Ê¡A¨âªÌ¤]¥i¥H¦p¦PÀ£ÁY¤§¬M¹³¯ë¬°¤À¶}ªº¨â³¡¥÷¡C

¦pªG§A¨Ï¥Î±Ò°Ê¡þ®Ú(boot/root)¨â±iºÏ¤ùªº¤è¦¡¡]®Ö¤ß¤@±i¡A
°O¾ÐÅéºÏºÐ¬M¹³©ñ²Ä¤G±i¡^¨º»ò°O¾ÐÅéºÏºÐ·|¥Ñ²Ä¹sºÏ°Ï¶}©l¡A
¨Ã¨Ï¥Î¹s§@¬°°¾²¾­È(offset)¡C¦]¬°³o¬O¹w³]­È¡A§A®Ú¥»¤£¥²¯uªº¥h¨Ï¥Î³o­Ó«ü¥O¡C




\subsubsection{`load\_ramdisk=' °Ñ¼Æ}



¦¹°Ñ¼Æ§i¶D®Ö¤ß¬O§_­n¸ü¤J¤@¥÷°O¾ÐÅéºÏºÐ¬M¹³¡C
`load\_ramdisk=1' «ü©w®Ö¤ß±N³nºÐ¸ü¤J¦Ü°O¾ÐÅéºÏºÐ¤¤¡C
¹w³]­È¬°¹s¡Aªí¥Ü®Ö¤ß¤£À³¸Ó¸ÕµÛ¥h¸ü¤J°O¾ÐÅéºÏºÐ¡C

½Ð°Ñ¾\ {\ttfamily linux/Documentation/ramdisk.txt}
ÀÉ®×¤¤·sªº±Ò°Ê°Ñ¼Æ»P¦p¦ó¨Ï¥Î¥¦­Ìªº§¹¾ã±Ô­z¡C
¥¦¦P®É¤]»¡©ú¦p¦óÂÇ¥Ñ `rdev' ¨Ó³]©w¤ÎÀx¦s³o¨Ç­Ó°Ñ¼Æ¡C




\subsubsection{`prompt\_ramdisk=' °Ñ¼Æ}



¦¹°Ñ¼Æ§i¶D®Ö¤ß¬O§_­nµ¹§A­Ó´£¥Ü­n¨D´¡¤J§t°O¾ÐÅéºÏºÐ¬M¹³ªººÏ¤ù¡C

¦b¥u¥Î¤@±i³nºÐªº°t¸m¤U°O¾ÐÅéºÏºÐ¬M¹³»P­è­è¸ü¤J¡þ±Ò°Êªº®Ö¤ß¦b¬Û¦Pªº³nºÐ¤W¬G¤£»Ý­n´£¥Ü¡C
³oºØ±¡ªp¥i¥H¥Î `prompt\_ramdisk=0'¡C
¦b¨Ï¥Î¨â±i³nºÐªº°t¸m¤U§A»Ý­n¦³­Ó©â´«ºÏ¤ùªº¾÷·|¡A¬G¥i¥H¨Ï¥Î
`prompt\_ramdisk=1'¡C
¦]¬°³o¬O¹w³]­È¡A©Ò¥H¤£¥²¯uªº¥h«ü©w¥¦¡C
¡]¶c»D¡G±q«e¤H­Ì²ßºD¨Ï¥Î `vga=ask' ³o­Ó
LILO ¿ï¶µ¨Ó¼È®É°±¤î±Ò°Êµ{§Ç¥H¨ú±o©â´«±Ò°ÊºÏ¤ù¤Î®ÚºÏ¤ùªº¾÷·|¡C¡^

½Ð°Ñ¾\ {\ttfamily linux/Documentation/ramdisk.txt}
ÀÉ®×¤¤·sªº±Ò°Ê°Ñ¼Æ»P¦p¦ó¨Ï¥Î¥¦­Ìªº§¹¾ã±Ô­z¡C
¥¦¦P®É¤]»¡©ú¦p¦óÂÇ¥Ñ `rdev' ¨Ó³]©w¤ÎÀx¦s³o¨Ç­Ó°Ñ¼Æ¡C




\subsubsection{`ramdisk\_size=' °Ñ¼Æ}



¦]¬°°O¾ÐÅéºÏºÐ¹ê»Ú¤W·|¨Ì»Ý¨D°ÊºA¦¨ªø¡A
©Ò¥H¨ä¤j¤p¦³­Ó¤W­­¥[¥H­­¨î¥H§K¥¦¥Î¥ú©Ò¦³¥i¥Îªº°O¾ÐÅé¦ÓÃa¨Æ¡C
¹w³]­È 4096(i.e. 4MB) À³¸Ó¨¬°÷º¡¨¬¤j³¡¥÷ªº»Ý¨D¡C
§A¥i¥H¥Î³o­Ó±Ò°Ê°Ñ¼ÆÅÜ§ó¦¹¹w³]­È¡C

½Ð°Ñ¾\ {\ttfamily linux/Documentation/ramdisk.txt}
ÀÉ®×¤¤·sªº±Ò°Ê°Ñ¼Æ»P¦p¦ó¨Ï¥Î¥¦­Ìªº§¹¾ã±Ô­z¡C
¥¦¦P®É¤]»¡©ú¦p¦óÂÇ¥Ñ `rdev' ¨Ó³]©w¤ÎÀx¦s³o¨Ç­Ó°Ñ¼Æ¡C




\subsubsection{`ramdisk=' °Ñ¼Æ¡]¹L®ð¤F¡^}



¡]ª`·N¡G³o­Ó°Ñ¼Æ¬OÂÂªº¡A°£¤F v1.3.47 ª©¥H¤Î§óÂÂªºªº®Ö¤ß¤§¥~¤£À³¸Ó¨Ï¥Î¡C
À³¸Ó¨Ï¥Îªº¬O«e­±©Ò­zªº«ü¥O¡^

³o­Ó°Ñ¼Æ¥H¤d¦ì¤¸²Õ(kB)¬°³æ¦ì«ü©w°O¾ÐÅéºÏºÐ³]³Æªº¤j¤p¡C
¨Ò¦p¡A¦pªG·Q­n§â¦ì©ó¤@±i 1.44MB ³nºÐ¤Wªº®ÚÀÉ®×¨t²Î¸ü¤J¦Ü°O¾ÐÅéºÏºÐ³]³Æ¡A
¥i¥H¥Î¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        ramdisk=1440
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


³o¬O¤Ö¼Æ´X­Ó¦b®Ö¤ß¤¤¦s¦³¹w³]­È¡A©Ò¥H¥i¥H¥Î {\ttfamily rdev}
¤½¥Îµ{¦¡§ïÅÜªº®Ö¤ß±Ò°Ê°Ñ¼Æ¡C




\subsubsection{`noinitrd'¡]±Ò©l°O¾ÐÅéºÏºÐ¡^°Ñ¼Æ}



v2.x ¤Î§ó·sªº®Ö¤ß¦³­Ó¯S©Ê¡A®ÚÀÉ®×¨t²Î³Ìªì¬O°O¾ÐÅéºÏºÐ¡A
µM«á®Ö¤ß°õ¦æ°O¾ÐÅé¬M¹³¤Wªº {\ttfamily /linuxrc}¡C
³o­Ó¯S©Ê¨å«¬«Y¥Î©ó¸ü¤J¬Y¨Ç±¾¤J¯u¥¿ªº®ÚÀÉ®×¨t²Î©Ò»Ý­nªº¼Ò²Õ
¡]¨Ò¦p¡A¸ü¤JÀx¦s©ó°O¾ÐÅéºÏºÐ¬M¹³¸Ìªº SCSI ÅX°Êµ{¦¡¡A
µM«á±¾¤J¦b¬Y SCSI ºÏºÐ¸Ì¯u¥¿ªº®ÚÀÉ®×¨t²Î¡C¡^

¹ê»Úªº `noinitrd' °Ñ¼Æ¨M©w®Ö¤ß±Ò°Ê¤§«á¦p¦ó³B²z initrd ¸ê®Æ¡C
¦pªG¦³«ü©w¡A¥¦¥i¥H¸g¥Ñ {\ttfamily /dev/initrd} ¦s¨ú¡A
¥i¥H¦b°O¾ÐÅéÄÀ©ñ¦^¨t²Î¤§«eÅª¨ú¤@¦¸¡C
¦³Ãöªì©l¤§°O¾ÐÅéºÏºÐªº§¹¾ã²Ó¸`»P¨Ï¥Î½Ð°Ñ¾\
{\ttfamily linux/Documentation/initrd.txt}¡C
¦¹¥~¡A³Ì·sª©ªº {\ttfamily LILO} ¤Î {\ttfamily LOADLIN} À³¸Ó·|¥]§t¨ä¥¦¦³¥Îªº¸ê°T¡C




\subsection{»P°O¾ÐÅéºÞ²z¦³Ãöªº°Ñ¼Æ}



¤U¦C°Ñ¼Æ·|§ïÅÜ linux °»´ú©Î³B²z¨t²Î¹êÅé¤ÎµêÀÀ°O¾ÐÅéªº¤è¦¡¡C




\subsubsection{`mem=' °Ñ¼Æ}



¡@³o­Ó°Ñ¼Æ¦³¨â­Ó¥Øªº¡G­ì¥ýªº¥Øªº¬O«ü©w¾÷¾¹©Ò¦w¸Ëªº°O¾ÐÅé¼Æ¶q
¡]¦pªG§A·Q­­¨î linux ¯à¨Ï¥Îªº°O¾ÐÅé¼Æ¶q¥i¥H«ü©w¤@­Ó¸û¤pªº­È¡^¡C
²Ä¤G­Ó¡]«Ü¤Ö¥Î¡^¥Øªº«h¬O«ü©w {\ttfamily mem=nopentium}
¥H«K§i¶D linux ®Ö¤ß¤£­n¨Ï¥Î 4MB ¤À­¶ªí(page table)³o­Ó®Ä¯à¯S©Ê¡C

¦b­Ó¤H¹q¸£³W®æ¤¤¡A
­ì¥ý©w¸q¦^¶Ç¦w¸Ë°O¾ÐÅé¼Æ¶qªº°ò¥»¿é¥X¤J©I¥s³Q³]­p¦¨³Ì¦h¥u¯à¦^³ø³Ì¦h 64MB¡C
¡]¬Oªº¡A¥t¤@­Ó¯Ê¥F»·¨£ªº³]­p¡A´N¹³ 1024 ºÏÁLªººÏºÐ­­¨î¡D¡D¡D«u¡C¡^
Linux ¦b±Ò°Ê®É·|¨Ï¥Î¦¹°ò¥»¿é¥X¤J©I¥s¥H½T©w¦w¸Ëªº°O¾ÐÅé¼Æ¶q¡C
¦pªG§A¦w¸Ëªº°O¾ÐÅé¶W¹L 64MB¡A¥i¥H¥Î³o­Ó±Ò°Ê°Ñ¼Æ§i¶D Linux §A¦³¦h¤Ö°O¾ÐÅé¡C
¤U­±¤Þ¥Î Linus ¹ï {\ttfamily mem=} °Ñ¼Æªº»¡©ú¡C

¡¨®Ö¤ß·|±µ¨ü¥ô¦ó§A©Òµ¹¤©ªº `mem=xx' °Ñ¼Æ¡A¦Ó¦pªG¥¦µo²{§AÄF¥¦¡A
¨º¥¦¿ð¦­¤@©w·|·íªº«ÜÃø¬Ý¡C
³o­Ó°Ñ¼Æ«ü¥Ü¥i¥H©w§}ªº³Ì°ª°O¾ÐÅé¦ì§}¡A©Ò¥H¡A
¨Ò¦p `mem=0x1000000' ªí¥Ü§A¦³ 16MB ªº°O¾ÐÅé¡C
¹ï¾Ö¦³ 96MB ªº¾÷¾¹¦Ó¨¥¦¹­È¬° `mem=0x6000000'¡C

ª`·Nª`·Nª`·N¡G

¬Y¨Ç¾÷¾¹¥i¯à·|¨Ï¥Î³Ì¤W¼h(top)ªº°O¾ÐÅé§@¬°°ò¥»¿é¥X¤J¨t²Îªº§Ö¨úµ¥µ¥¤@Ãþ¥Î³~¡A
©Ò¥H§A¥i¯à¨Ã«D¹ê»Ú¾Ö¦³ 96MB ªº¥i©w§}ªÅ¶¡¡C¤Ï¤§¥çµM¡G

¬Y¨Ç´¹¤ù²Õ·|±N°ò¥»¿é¥X¤J¨t²Î²[»\ªº¹êÅé°O¾ÐÅé°Ï°ì¹ïÀ³(map)¨ì³Ì¤W¼h°O¾ÐÅé«á­±¡A
©Ò¥H°O¾ÐÅé³Ì¤W¼h¹ê»Ú¤W¥i¯à¬O 96MB + 384kB¡C
¦pªG§A§i¶D linux
ªº°O¾ÐÅé¤ñ¥¦¹ê»Ú¤W¾Ö¦³ªºÁÙ¦h¡A¨º´N·|¥Xª¬ªp¡G¤]³\¤£·|¥ß¨è¥X¨Æ¡A
¦ý³Ì«á¤@©w·|µo¥Í¡C¡¨

ª`·N¡A¦¹°Ñ¼Æ¨Ã«D¤@©w±o¬O¤Q¤»¶i¦ì«¬ºA¡A
¦Ó¥B¥i¥H¨Ï¥Î `k' »P `M'¡]¤j¤p¼gµLÃö¡^¦r§À¤À§O«ü©w¤d¦ì¤¸²Õ¥H¤Î¦Ê¸U¦ì¤¸²Õ¡C
¡]`k' ·|§â§Aµ¹ªº­È±ÛÂà(shift) 10 ¦ì¤¸¡A¦Ó `M' ·|±ÛÂà 20 ¦ì¤¸¡C¡^
¤W­zÄµ§i¨ÌµM¨SÅÜ¡Aªu¤W¨Ò¡A
¤@¥x 96MB ªº¾÷¾¹¤]³\¥i¥H³] {\ttfamily mem=97920k} ¦ÓµLªk¨Ï¥Î {\ttfamily mem=98304k}
©Î {\ttfamily mem=96M}¡C




\subsubsection{`swap=' °Ñ¼Æ}



³o¤¹³\¨Ï¥ÎªÌ½Õ¾ã¬Y¨Ç»PºÏºÐ¸m´«(swapping)¦³ÃöªºµêÀÀ°O¾ÐÅé°Ñ¼Æ(VM)¡C
¥¦±µ¨ü¤U¦C¤K­Ó°Ñ¼Æ¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        MAX_PAGE_AGE
        PAGE_ADVANCE
        PAGE_DECLINE
        PAGE_INITIAL_AGE
        AGE_CLUSTER_FRACT
        AGE_CLUSTER_MIN
        PAGEOUT_WEIGHT
        BUFFEROUT_WEIGHT
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¦³¿³½ìªºª±®a«ØÄ³§A¾\Åª {\ttfamily linux/mm/swap.c} ¨Ãª`·N
{\ttfamily /proc/sys/vm}
¸Ì­±ªºªF¦è¡C




\subsubsection{`buff=' °Ñ¼Æ}



Ãþ¦ü `swap='
°Ñ¼Æ¡A³o¤¹³\¨Ï¥ÎªÌ½Õ¾ã¬Y¨Ç»P½w½Ä°O¾ÐÅé(buffer)¤§ºÞ²z¬ÛÃöªº°Ñ¼Æ¡C
¥¦±µ¨ü¤U¦C¤»­Ó°Ñ¼Æ¡C

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        MAX_BUFF_AGE
        BUFF_ADVANCE
        BUFF_DECLINE
        BUFF_INITIAL_AGE
        BUFFEROUT_WEIGHT
        BUFFERMEM_GRACE
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¦³¿³½ìªºª±®a«ØÄ³§A¾\Åª {\ttfamily linux/mm/swap.c} ¨Ãª`·N
{\ttfamily /proc/sys/vm}
¸Ì­±ªºªF¦è¡C




\subsection{¥Hºô¸ôÀÉ®×¨t²Î(NFS)§@¬°®ÚÀÉ®×¨t²Î¨Ï¥Îªº°Ñ¼Æ}



ÂÇ¥Ñ³z¹Lºô¸ôÀÉ®×¨t²Î(NFS: Network FileSystem)
´£¨Ñ®ÚÀÉ®×¨t²Î Linux ¤ä´©µLºÐ(diskless)¤u§@¯¸³o¼Ëªº¨t²Î¡C
³o¨Ç°Ñ¼Æ«Y¥Î¨Ó§i¶DµLºÐ¤u§@¯¸­n±q¨º¤@¥x¾÷¾¹¨ú±o¨ä¨t²Î¡C
¦P®É­nª`·N {\ttfamily root=/dev/nfs} °Ñ¼Æ¬O¥²»Ýªº¡C
¦³Ãö¨Ï¥Îºô¸ôÀÉ®×¨t²Î§@¬°®ÚÀÉ®×¨t²Î¤§²Ó¸`»¡©ú¦b
{\ttfamily linux/Documentation/nfsroot.txt} ÀÉ®×¸Ì¡C
§AÀ³¸Ó¾\Åª³o­ÓÀÉ®×¡A
¦]¬°¤U­±¥u¬O±q¨º­ÓÀÉ®×ª½±µ®³¹L¨Óªº§Ö³tºK­n¡C




\subsubsection{`nfsroot=' °Ñ¼Æ}



³o­Ó°Ñ¼Æ§i¶D®Ö¤ß¥H¨º¤@¥x¾÷¾¹¡A
¨º­Ó¥Ø¿ý¥H¤Î¨º¨Ç­Óºô¸ôÀÉ®×¨t²Î¿ï¶µ§@¬°®ÚÀÉ®×¨t²Î¨Ï¥Î¡C
¦¹°Ñ¼Æªº®æ¦¡¦p¤U¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¦pªG«ü¥O¦C¤W¨S¦³µ¹©w nfsroot °Ñ¼Æ¡A«h±N¨Ï¥Î `/tftpboot/\%s' ¹w³]­È¡C
¨ä¥¦¿ï¶µ¦p¤U¡G

$<$server-ip$>$ --
«ü©wºô¸ôÀÉ®×¨t²Î¦øªAºÝªººô»Úºô¸ô¦ì§}(IP address)¡C
¦pªG¨S¦³µ¹©w¦¹Äæ¦ì¡A«h¨Ï¥Î¥Ñ nfsaddrs ÅÜ¼Æ¡]¨£¤U­±¡^©Ò¨M©wªº­È¡C
¦¹°Ñ¼Æªº¥Î³~¤§¤@¬O¤¹³\¨Ï¥Î¤£¦P¾÷¾¹§@¬°¤Ï¦V¦ì§}¸ÑªR¨ó©w(RARP)
¤Îºô¸ôÀÉ®×¨t²Î¦øªAºÝ¡C³q±`§A¥i¥H¤£ºÞ¥¦¡]³]¬°ªÅ¥Õ¡^¡C

$<$root-dir$>$ --
¦øªAºÝ¤W­n§@¬°®Ú±¾¤Jªº¥Ø¿ý¦WºÙ¡C¦pªG¦r¦ê¤¤¦³­Ó `\%s' ²Å°O(token)¡A
¦¹²Å°O±N¥N´«¬°«È¤áºÝºô»Úºô¸ô¦ì§}¤§ ASCII ªí¥Üªk¡C

$<$nfs-options$>$ --
¼Ð·Çªººô¸ôÀÉ®×¨t²Î¿ï¶µ¡C©Ò¦³¿ï¶µ³£¥H³r¸¹¤À¶}¡C
¦pªG¨S¦³µ¹©w¦¹¿ï¶µÄæ¦ì«h¨Ï¥Î¤U¦Cªº¹w³]­È¡G

\begin{verbatim}
        port            = as given by server portmap daemon
        rsize           = 1024
        wsize           = 1024
        timeo           = 7
        retrans         = 3
        acregmin        = 3
        acregmax        = 60
        acdirmin        = 30
        acdirmax        = 60
        flags           = hard, nointr, noposix, cto, ac
\end{verbatim}





\subsubsection{`nfsaddrs=' °Ñ¼Æ}



³o­Ó±Ò°Ê°Ñ¼Æ³]©wºô¸ô³q°T©Ò»Ýªº¦UºØºô¸ô¬É­±¦ì§}¡C¦pªG¨S¦³µ¹©w³o­Ó°Ñ¼Æ¡A
«h®Ö¤ß·|¸ÕµÛ¨Ï¥Î¤Ï¦V¦ì§}¸ÑªR¨ó©w¥H¤Î¡þ©Î¬O±Ò°Ê¨ó©w(BOOTP)¥H§ä¥X³o¨Ç°Ñ¼Æ¡C
¨ä®æ¦¡¦p¤U¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        nfsaddrs=<my-ip>:<serv-ip>:<gw-ip>:<netmask>:<name>:<dev>:<auto>
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


$<$my-ip$>$ --
«È¤áºÝªººô»Úºô¸ô¦ì§}¡C¦pªG¨S³]¡A
¦¹¦ì§}±N¥Ñ¤Ï¦V¦ì§}¸ÑªR¨ó©w©Î±Ò°Ê¨ó©w¨Ó¨M©w¡C
¨Ï¥Î¦óºØ¨ó©wºÝµø°t¸m®Ö¤ß®É¥´¶}ªº¿ï¶µ¥H¤Î $<$auto$>$ °Ñ¼Æ¦Ó©w¡C
¦pªG³]©w¦¹°Ñ¼Æ¡A´N¤£·|¨Ï¥Î¤Ï¦V¦ì§}¸ÑªR¨ó©w©Î±Ò°Ê¨ó©w¡C

$<$serv-ip$>$ --
ºô¸ôÀÉ®×¨t²Î¦øªAºÝ¤§ºô»Úºô¸ô¦ì§}¡C
¦pªG¨Ï¥Î¤Ï¦V¦ì§}¸ÑªR¨ó©w¨Ó¨M©w«È¤áºÝ¦ì§}¨Ã¥B³]©w¦¹°Ñ¼Æ¡A
«h¥u±µ¨ü±q«ü©w¤§¦øªAºÝ¶Ç¨Óªº¦^À³¡C
­n¨Ï¥Î¤£¦Pªº¾÷¾¹§@¬°¤Ï¦V¦ì§}¸ÑªR»Pºô¸ôÀÉ®×¨t²Î¦øªAºÝªº¸Ü¡A
¦b¦¹«ü©w§Aªº¤Ï¦V¦ì§}¸ÑªR¨ó©w¦øªAºÝ¡]«O«ùªÅ¥Õ¡^¨Ã¦b nfsroot °Ñ¼Æ¡]¨£¤W­z¡^
¤¤«ü©w§Aªººô¸ôÀÉ®×¨t²Î¦øªAºÝ¡C
¦pªG¦¹¶µ¥ØªÅ¥Õ«h¨Ï¥Î¦^µª¤Ï¦V¦ì§}¸ÑªR¨ó©w©Î±Ò°Ê¨ó©w¤§¦øªAºÝªº¦ì§}¡C

$<$gw-ip$>$ --
¹h¹D(gateway)¤§ºô»Úºô¸ô¦ì§}¡A­Y¦øªAºÝ¦ì©ó¤£¦Pªº¤lºô¸ô¤W®É¡C
¦pªG¦¹¶µ¥ØªÅ¥Õ«h¤£¨Ï¥Î¥ô¦ó¹h¹D¨Ã°²³]¦øªAºÝ¦b¥»¦aªº(local)ºô¸ô¤W¡A
°£«D¥Ñ±Ò°Ê¨ó©w±µ¦¬¨ì­È¡C

$<$netmask$>$ --
¥»¦aºô¸ô¤¶­±ªººô¸ô¾B¸n¡C
¦pªG¬°ªÅ¥Õ¡A«hºô¸ô¾B¸n¥Ñ«È¤áºÝªººô»Úºô¸ô¦ì§}¾É¥X¡A°£«D¥Ñ±Ò°Ê¨ó©w±µ¦¬¨ì­È¡C

$<$name$>$ --
«È¤áºÝªº¦WºÙ¡C
¦pªGªÅ¥Õ¡A«h¨Ï¥Î«È¤áºÝºô»Úºô¸ô¦ì§}¤§ ASCII-¼Ð°Oªk¡A©Î¥Ñ±Ò°Ê¨ó©w±µ¦¬ªº­È¡C

$<$dev$>$ --
­n¨Ï¥Îªººô¸ô³]³Æ¦WºÙ¡C
¦pªG¬°ªÅ¥Õ¡A©Ò¦³³]³Æ³£·|¥Î¨Óµo¥X¤Ï¦V¦ì§}¸ÑªR½Ð¨D¡A
±Ò°Ê¨ó©w½Ð¨D¥Ñ³Ì¥ý§ä¨ìªº³]³Æµo¥X¡C
ºô¸ôÀÉ®×¨t²Î¨Ï¥Î±µ¦¬¨ì¤Ï¦V¦ì§}¸ÑªR¨ó©w©Î±Ò°Ê¨ó©w¦^À³ªº³]³Æ¡C
¦pªG§A¥u¦³¤@­Ó³]³Æ¨º§A¥i¥H¤£ºÞ¥¦¡C

$<$auto$>$ --
¥Î¥H§@¬°¦Û°Ê°t¸mªº¤èªk¡C
¦pªG¬O `rarp' ©Î¬O `bootp' «h¨Ï¥Î©Ò«ü¥Üªº¨ó©w¡C
¦pªG¦¹­È¬° `both' ©ÎªÅ¥Õ¡A­Y°t¸m®Ö¤ß®É¦³¥´¶}³o¨âºØ¨ó©w«h³£¨Ï¥Î¡C
`none' ªí¥Ü¤£¨Ï¥Î¦Û°Ê°t¸m¡C³oºØ±¡ªp¤U§A¥²¶·«ü©w«e­zÄæ¦ì¤¤©Ò¦³¥²­nªº­È¡C

¦¹ $<$auto$>$ °Ñ¼Æ¥i¥H§@¬° nfsaddrs ªº°Ñ¼Æ³æ¿W¨Ï¥Î¡]«e­±¨S¦³¥ô¦ó `:`
¦r¤¸¡^¡A
³oºØ±¡ªp¤U·|¨Ï¥Î¦Û°Ê°t¸m¡CµM¦Ó¡A¦¹ºØ±¡ªp¤£¯à¨Ï¥Î `none'§@¬°­È¡C




\subsection{¨ä¥¦¥t¥~ªº®Ö¤ß±Ò°Ê°Ñ¼Æ}



³o¨Ç±Ò°Ê°Ñ¼ÆÅý¨Ï¥ÎªÌ½Õ¾ã¬Y¨Ç®Ö¤ß¤º³¡ªº°Ñ¼Æ¡C




\subsubsection{The `debug' Argument}



®Ö¤ß¸g¥Ñ {\ttfamily printk()}
¨ç¦¡¶Ç¹F­«­n¡]¥H¤Î¨S¨º»ò­«­n¡^ªº°T®§µ¹ºÞ²zªÌ(operator)¡C
¦pªG°T®§«Ü­«­n¡A {\ttfamily printk()} ¨ç¦¡¤]·|Åã¥Ü¨ì¥D±±¥x(console)¤W¡A
´N¦p¦P¥áµ¹ {\ttfamily klogd()} °O¿ý¨ìºÏºÐ¤W¤@¯ë¡C
¦p¦P°O¿ý¨ìºÏºÐ¤W¤@¯ë¦b¥D±±¥x¤WÅã¥Ü­«­n°T®§ªº­ì¦]¬O¦]¬°¦b¤£©¯ªºª¬ªp¤U
¡]¨Ò¦pºÏºÐ·lÃa¡^°T®§±NµLªk¦s¤JºÏºÐ¦Óº|¥¢¡C

¨ì©³¤°»ò­«­n¤°»ò¤£­«­n¨äªùÂeÂÇ¥Ñ {\ttfamily console\_loglevel} ÅÜ¼Æ³]©w¡C
¹w³]¬O§â¥ô¦ó¤ñ {\ttfamily DEBUG}¡]µ¥¯Å 7¡^­«­nªºªF¦è°O¿ý¨ì¥D±±¥x¤W¥h¡C
¡]³o¨Çµ¥¯Å©w¸q¦b {\ttfamily kernel.h} §t¤JÀÉ¤¤¡^«ü©w
{\ttfamily debug} ±Ò°Ê°Ñ¼Æ±N¨Ï¥D±±¥xªº°O¿ýµ¥¯Å³]¬° 10¡A
©Ò¥H{\itshape ©Ò¦³\/}®Ö¤ß°T®§³£·|¥X²{¦b¥D±±¥x¤W¡C

¥D±±¥x°O¿ýµ¥¯Å³q±`¤]¥i¥H¦b°õ¦æ´Á¶¡¸g¥Ñ {\ttfamily klogd()} µ{¦¡¿ï¶µ³]©w¡C
¬d¬Ý§A¨t²Î¤§¦w¸Ëª©¥»ªº½u¤W»¡©ú­¶¬Ý¬Ý¸Ó«ç»ò°µ¡C




\subsubsection{`init=' °Ñ¼Æ}



®Ö¤ß±Ò°Ê®É¹w³]°õ¦æ `init' µ{¦¡¡A³o¤äµ{¦¡±µ¤U¨Ó¸g¥Ñ°õ¦æ getty µ{¦¡¡A
¶] `rc' «ü¥O½Z(scripts)¥H¤Î½Ñ¦p¦¹ÃþªºªFªF¬°¨Ï¥ÎªÌ³]©w¹q¸£¡C
®Ö¤ß­º¥ý´M§ä {\ttfamily /sbin/init} ¡AµM«á¬O {\ttfamily /etc/init}
(depreciated)¡A
¦Ó³Ì«á¥¦·|¥h¸Õ {\ttfamily /bin/sh} ¡]¥i¯à¦b {\ttfamily /etc/rc} ¡^¡C
¦pªG»¡¡A¨Ò¦p¡A¦pªG§Aªº init µ{¦¡Ãa±¼¤F¡A¥u­n¨Ï¥Î {\ttfamily init=/bin/sh}

³o­Ó±Ò°Ê°Ñ¼Æ´N¯àÅý§A¦b±Ò°Ê®Éª½±µ¸õ¨ì¸ÑÄ¶Àô¹Ò(shell)¡A¨Ï§A¯à°÷´«±¼Ãa±¼ªºµ{¦¡¡C




\subsubsection{`no387' °Ñ¼Æ}



¬Y¨Ç i387 ¨ó¦P³B²z¾¹´¹¤ù¦³¯äÂÎ(bugs)¡A¦b 32 ¦ì¤¸«OÅ@¼Ò¦¡¤U·|¥X²{¡C
¨Ò¦p¡A³¡¥÷¦­´Áªº ULSI-387 ´¹¤ù¦b°õ¦æ¯BÂI¹Bºâ®É·|¦º·í¡A
³o¦ü¥G¬O¦]¬° FRSAV/FRRESTOR «ü¥Oªº¤@°¦ÂÎ¡C
¨Ï¥Î `no387' ±Ò°Ê°Ñ¼Æ¨Ï Linux ´Nºâ§A¯uªº¦³¼Æ­È»²§U³B²z¾¹¤]©¿²¤¥¦ªº¦s¦b¡C
·íµM½sÄ¶®Ö¤ß®É§A¥²¶·¥[¤J¼Æ­È¼ÒÀÀ¤ä´©¡I
¦pªG§A¦³¬Y¨Ç¯à°÷¨Ï¥Î 80287 ¯BÂI³B²z³æ¤¸(FPU)ªº{\itshape ¥j¸³¯Å\/} 386
¾÷¾¹¨º³o¤]«Ü¦³¥Î¡A
¦]¬° linux µLªk¨Ï¥Î 80287¡C




\subsubsection{`no-hlt' °Ñ¼Æ}



i386¡]¤Î¨ä«áÄ~ªÌ¡^
®a±Úªº¤¤¥¡³B²z¾¹¦³­Ó `hlt' «ü¥O¥Î¨Ó§i¶D¤¤¥¡³B²z¾¹²{¦b¶¢¶¢¨S¨Æ°µ¡A
ª½¨ì¬Y­Ó¥~³¡³]³Æ¡]Áä½L¡A¼Æ¾Ú¾÷¡AºÏºÐµ¥µ¥¡^©I¥s¤¤¥¡³B²z¾¹°õ¦æ¥ô°È¬°¤î¡C
³o­Ó«ü¥O·|¨Ï¤¤¥¡³B²z¾¹¶i¤J¡¥¬Ù¹q¡¦¼Ò¦¡¡A
¹³­Ó¦º¤H(zombie)¯ë§¤¦b¨º¸Ìª½¨ì¦³­Ó¥~³¡³]³Æ¥s¥¦°_¨Ó
¡]¸g¥Ñ¤¤Â_(interrupt) ¡A³q±`¬O¡^¡C
³¡¥÷¦­´Áªº i486DX-100 ´¹¤ù³B²z³o­Ó `hlt' «ü¥O¦³°ÝÃD¡A
¨Ï¥Î¹L³o­Ó«ü¥O«á¥¦­Ì¤£¯à¥i¾a¦a¦^¨ì¹B§@¼Ò¦¡¡C
¨Ï¥Î `no-hlt' ³o­Ó«ü¥O§i¶D
Linux·íµL¨Æ¥i°µ®É¶]­ÓµL½a°j°é¦Ó{\itshape ¤£\/}°±¦í§Aªº¤¤¥¡³B²z¾¹¡C
Åý¦³³o¨Ç´¹¤ùªº¤H­Ì¯à°÷¨Ï¥Î Linux¡AµM¦ÓÁÙ¬O«ØÄ³¦³¥i¯àªº¸Ü´N´«±¼³o¨Ç´¹¤ù¡C




\subsubsection{`no-scroll' °Ñ¼Æ}



±Ò°Ê®É¨Ï¥Î³o­Ó°Ñ¼Æ¥i¥HÃö³¬±²­¶(scrolling)¯S©Ê¡A³o­Ó¯S©Ê¨Ï±o Braille
²×ºÝ¾÷Ãø¥H¨Ï¥Î¡C




\subsubsection{`panic=' °Ñ¼Æ}



¦b¤£¤Ó¥i¯àµo¥Íªº®Ö¤ß²§±`(kernel panic)¨Æ¥ó¤U¡]¹³¬O®Ö¤ß°»´ú¨ì¤º³¡¿ù»~¡A
¨Ã»{¬°³o¼Ëªº¿ù»~ÄY­«¨ìÀ³¸Óµo¥XÄµ°T¨Ã°±¤î¥ô¦ó§@·~¡^¡A

¹w³]ªº³B²z¤è¦¡¬O´N°±¦b¨º¨àª½¨ì¦³¤H¹L¨Ó¨Ãª`·N¨ì¿Ã¹õ¤Wªº²§±`Äµ°TµM«á­«·s±Ò°Ê¾÷¾¹¡C

µM¦Ó¦pªG¾÷¾¹¬O¦bµLªkÄ²¤Î¡A¹jÂ÷ªº¦a¤è¶]ªº¸Ü¤]³\·|§Æ±æ¥¦¯à¦Û°Ê­«¸m¦Û¤vµM«á¦^¨ì½u¤W¡C
¨Ò¦p¡A±Ò°Ê®É¨Ï¥Î {\ttfamily panic=30} ·|¨Ï®Ö¤ß¦bµo¥Í®Ö¤ß²§±` 30
¬í«á¸ÕµÛ­«·s±Ò°Ê¦Û¤v¡C
­Y¦¹­È¬°¹s«h¨Ï¥Î¹w³]ªº³B²z¤è¦¡¡A´N¬O¤@ª½¦b¨º¨àµ¥¡C

ª`·N¡A³o­Ó¹O®É(timeout)³]©w¤]¥i¸g¥Ñ {\ttfamily /proc/sys/kernel/panic}
¨t²Î±±¨î
(sysctl)¤¶­±Åª¨ú»P³]©w¡C




\subsubsection{`profile=' °Ñ¼Æ}



®Ö¤ßµo®iªÌ­Ì¥i¥H¥´¶}¬Y­Ó¿ï¶µ¥H±oª¾®Ö¤ß¦p¦ó¨Ï¥Î¤¤¥¡³B²z¾¹®É¶¡¥H¤Î¥Î¦b¨ºùØ¡A
¥H«K³Ì¤j¤Æ®Ä²v(efficiency)»P®Ä¯à(performance)¡C
³o­Ó¿ï¶µÅý§A¦b±Ò°Ê®É³]©wÆ[¹îÅÜ¤Æªº­p¼Æ(the profile shift count)¡C
¦¹­È¤@¯ë³]¬°¤G¡C§A¤]¥i¥H¦b½sÄ¶®Ö¤ß®É¥´¶}¦¹¥\¯à¡CµL½×¨ººØ±¡ªp¡A§A³£»Ý­n¹³
{\ttfamily readprofile.c} ³oÃþ¥i¥H³B²z {\ttfamily /proc/profile} ¿é¥Xªº¤u¨ã¡C




\subsubsection{`reboot=' ¿ï¶µ}



³o­Ó¿ï¶µ±±¨î­«¸m¹q¸£®É
¡]¨å«¬¬O¸g¥Ñ {\ttfamily /sbin/init} ³B²zªº Control-Alt-Delete °Ê§@¡^
Linux ©Ò°µªº­«·s±Ò°Ê¤§ºØÃþ¡C
·sªº v2.0 ®Ö¤ß¹w³]ªº°Ê§@¬O°µ¡¥§N¡¦¶}¾÷
¡]§¹¥þ­«¸m¡A°ò¥»¿é¥X¤J¨t²Î°õ¦æ°O¾ÐÅéÀË¬dµ¥µ¥¡^¥H¥N´À¡¥·x¡¦¶}¾÷
¡]¨S¦³§¹¥þ­«¸m¡A¨S¦³°O¾ÐÅéÀË¬d¡^¡C

§ï¬°¹w³]§N¶}¾÷¬O¬°¤F­n¦b«K©yªº¡þÄêÄêªº¡A·x¶}¾÷½Ð¨D¨S¿ìªk­«·s±Ò°ÊªºµwÅé¤W¤u§@¡C
¥i¥H¨Ï¥Î {\ttfamily reboot=w} ³]¬°­ì¥ýªº¤è¦¡¡]·x¶}¾÷¡^¡A¨ä¹ê¥i¥H¥Î¥ô¦ó¥H
{\ttfamily w} ¶}ÀYªº¦r¨Ó³]©w¡C

¬°¤°»ò³o·|³y¦¨§xÂZ¡H
¬Y¨Ç¨ã¦³°O¾ÐÅé§Ö¨úªººÏºÐ±±¨î¾¹¯à°÷·P´ú¨ì·x¶}¾÷¡A
¨Ã¥B§â©Ò¦³¼È¦sªº¸ê®Æ¼g¨ìºÏºÐ¤W¡C
§N¶}¾÷¥i¯à·|­«³]¸Ó¥d¡A¦b§Ö¨ú¥d°O¾ÐÅé¸Ì­±ªº¦^¼g(write-back)¸ê®Æ´N·|º|¥¢¡C
¤w¸g¦³¤H¦^³ø¨t²Î°O¾ÐÅéÀË¬d«Üªá®É¶¡¥H¤Î¡þ©Î¬O¤p«¬¹q¸£´¼¼z¤¶­±°ò¥»¿é¥X¤J¨t²Î
(SCSI BIOSes)§N¶}¾÷®Éªá¸û¤[ªº®É¶¡ªì©l¤Æ¬O¨Ï¥Î·x¶}¾÷ªº¦n²z¥Ñ¡C




\subsubsection{`reserve=' °Ñ¼Æ}



³o¬O¥Î¨Ó{\itshape «OÅ@\/}¿é¥X¤J°ð°Ï°ì¤£­n°»´ú¡C³o­Ó«ü¥Oªº®æ¦¡¬O¡G

\begin{tscreen}
reserve=iobase,extent{[},iobase,extent{]}...
\end{tscreen}


¦b¬Y¨Ç¾÷¾¹¤W¤]³\¥²¶·Á×§K³]³ÆÅX°Êµ{¦¡¥hÀË¬d¡]¦Û°Ê°»´ú¡^¦b¬Y¨Ç¯S®í°Ï°ìªº³]³Æ¡C
³o¥i¯à¬O¦]¬°µwÅé³]­pªº¤£¨}¦Ó·|¨Ï±o±Ò°Ê{\itshape ²×¤î\/}¡]¹³¬O¬Y¨Ç¤A¤Óºô¸ô¥d¡^¡A
·|³Q»~»{ªºµwÅé¡Aª¬ºA·|¦]¬°¸û«e­±ªº°»´ú¦Ó§ïÅÜªºµwÅé¡A
©ÎªÌ¥u¬O§A¤£·QÅý®Ö¤ßªì©l¤ÆªºµwÅé¡C

¦¹ {\ttfamily reserve}
±Ò°Ê®É´Á°Ñ¼ÆÂÇ¥Ñ«ü©w¤@¬q¤£­n°»´úªº¿é¥X¤J°ð½d³ò¥H¸Ñ¨M¦¹°ÝÃD¡C
¦¹¬q°Ï°ì¦b®Ö¤ßªº¿é¥X¤J°ðµù¥Uªí®æ·í¤¤³Qµø¬°¤w¸g¦b¸Ó³B§ä¨ì³]³Æ
¡]¦WºÙ¬° {\ttfamily reserved} ¡^¦Ó«O¯d¡Cª`·N¡Aµ´¤j³¡¥÷ªº¾÷¾¹³£¤£»Ý­n¦¹¾÷¨î¡C
¥u¦³¯uªº¦³°ÝÃD©Î¯S®í±¡ªp¤~·|»Ý­n¥Î¨ì³oªFªF¡C

¦ì©ó«ü©w¤§°Ï°ì¤¤ªº¿é¥X¤J°ð¤D¬O¾aµÛ¦b°»´ú¤@¬q¿é¥X¤J°Ï°ì¤§«e¥ý°õ¦æ
{\ttfamily check\_region()} ¥HÁ×§K³]³Æ°»´ú¡C
³o¥Î©ó¬Y¨Ç¹J¤W NE2000 ·|±¾±¼©ÎªÌ·|»~»{¨ä¥¦³]³ÆªºÅX°Êµ{¦¡¡C

¥¿½Tªº³]³ÆÅX°Êµ{¦¡¤£À³¸Ó¥h°»´ú«O¯d°Ï°ì¡A°£«D¥t¤@­Ó±Ò°Ê°Ñ¼Æ©ú½T¦a«ü¥Ü¥¦³o¼Ë°µ¡C
³o·N¿×µÛ {\ttfamily reserve} ¸g±`»P¨ä¥¦±Ò°Ê°Ñ¼Æ¤@°_¨Ï¥Î¡C
¦pªG§A«ü©w¤@¬q{\ttfamily «O¯d}°Ï°ì¥H«OÅ@¬Y¯S©w³]³Æªº¸Ü¡A
§A¥²¶·©ú½T¦a«ü©w¦¹³]³Æªº°»´ú½d³ò¡A
¤j³¡¥÷ªºÅX°Êµ{¦¡¦pªG¦³µ¹¥¦­Ì©ú½Tªº¦ì§}´N·|©¿²¤¿é¥X¤J°ðµù¥Uªí¡C

¨Ò¦p¡A¦¹±Ò°Ê¦C

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        reserve=0x300,32  blah=0x300
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


«O¯d {\ttfamily 0x300-0x31f} ¤£Åý°£¤F `blah'
ªº³]³ÆÅX°Êµ{¦¡¥~ªº©Ò¦³ÅX°Êµ{¦¡¥h°»°¼¡C

¦p¦P¤@¯ë±Ò°Ê®É´Á©Ò¥Îªº®æ¦¡¡A¥¦¤]¦³ 11 ­Ó°Ñ¼Æ¤§­­¨î¡A
¦]¦¹¨C­Ó {\ttfamily reserve} ÃöÁä¦r¥u¯à«ü©w 5 ­Ó«O¯d°Ï°ì¡C
¦pªG§A¦³²§±`½ÆÂøªº»Ý¨D¡A¥i¥H¨Ï¥Î¦h­« {\ttfamily reserve} «ü©w¡C




\subsubsection{`vga=' °Ñ¼Æ}



ª`·N¡A³o¨Ã¤£¯uªº¬O­Ó±Ò°Ê°Ñ¼Æ¡C¥¦¬O¥Ñ LILO ¸ÑÄ¶ªº¿ï¶µ¡A
»P©Ò¦³¨ä¥¦¥Ñ®Ö¤ß³B²zªº±Ò°Ê°Ñ¼Æ¨Ã¤£¬Û¦P¡C
µM¦Ó¦]¬°¥¦ªº¨Ï¥ÎÅÜ±o¦p¦¹´¶¹M¬G­È±o¦b¦¹¥[¤W¤@µ§¡C
³o­Ó¿ï¶µ¤]¥i¥H¸g¥Ñ¨Ï¥Î
{\ttfamily rdev -v} ©Î¬Û¦Pªº {\ttfamily vidmode} «ü¥O¹ï vmlinuz ÀÉ®×§@³]©w¡C
³o¨Ï±o³]©wµ{¦¡½X¯à°÷¦b¯uªº±Ò°Ê
Linux ®Ö¤ß¤§«e¨Ï¥Îµø°T(video)°ò¥»¿é¥X¤J¨t²Î§ïÅÜ¹w³]ªºÅã¥Ü¼Ò¦¡¡C
¨å«¬ªº¼Ò¦¡¬O 80x50, 132x44 µ¥µ¥¡C
¨Ï¥Î¦¹¿ï¶µ³Ì¦nªº¤è¦¡¬O¥H {\ttfamily vga=ask} ±Ò°Ê¡A
¦p¦¹¦b±Ò°Ê®Ö¤ß«e·|¦³­Ó¦Cªí´£¥Ü§AªºÅã¥Ü¥d¥i¥H¨Ï¥Îªº¦UºØ¼Ò¦¡¡C
¤@¥¹§A±q¤W­z¦Cªí±oª¾§A·Q¨Ï¥Îªº¸¹½X¡A¥H«á´N¥i¥H§â¥¦©ñ¦b `ask' ªº¦ì¸m¡C
§ó¶i¤@¨Bªº¸ê°T½Ð°Ñ¾\ÀHªþ©ó©Ò¦³·sª©®Ö¤ßªº
{\ttfamily linux/Documentation/svga.txt} ÀÉ®×¡C

ª`·N¡A·sªº®Ö¤ß¡]2.1 ª©¥H¤W¡^¦³§ïÅÜÅã¥Ü¼Ò¦¡ªº³]©wµ{¦¡½X¿ï¶µ
{\itshape Video mode selection support\/}¡A
©Ò¥H¦pªG§A·Q¨Ï¥Î³o­Ó¯S©Ê¨º»ò§A´N±o¥´¶}³o­Ó¿ï¶µ¡C




\section{¤p«¬¹q¸£´¼¼z¤¶­±(SCSI)©PÃäªº±Ò°Ê°Ñ¼Æ}



³o¤@¸`¥]§t¥Î¨Ó¶Ç»¼¦³Ãö¤p«¬¹q¸£´¼¼z¤¶­±(SCSI)¥d(host adapters)¤Î
SCSI ³]³Æ¤§¸ê°Tªº±Ò°Ê°Ñ¼Æ»¡©ú¡C




\subsection{¤¤¼hÅX°Êµ{¦¡ªº°Ñ¼Æ}



¤¤¼hÅX°Êµ{¦¡³B²z¹³ºÏºÐ¡A¥úºÐ¤ÎºÏ±aµ¥µ¥¦Ó¤£²`¤J¤¶­±¥dªº¯S©Ê¡C




\subsubsection{³Ì¤j°»´úÅÞ¿è¸¹½X(LUN)¼Æ(`max\_scsi\_luns=')}



¨C­Ó SCSI ³]³Æ¥»¨­¸Ì­±³£¥i¥H¥]§t¤@­Ó¡¥¤l³]³Æ¡¦¸¹½X¡C
³Ì±`¨£ªº¨Ò¤l¬O¨º¨Ç¤@¦¸¥i¥H©ñ¦n´X±i¤ù¤lªº·s«¬ SCSI ¥úºÐ¾÷¡C
¨C±i¥úºÐ¥Ñ«ü©w¤§³]³Æªº¡¥ÅÞ¿è¸¹½X(Logical Unit Number: LUN)¡¦©w§}¡C
¦ý¤j³¡¥÷ªº³]³Æ¡A¹³µwºÐ¾÷¡AºÏ±a¾÷µ¥µ¥³£¬O³æ¤@­Óªº³]³Æ¡A
¦ÓÅÞ¿è¸¹½X³]¬°¹s¡C

¥u¦³¤@­ÓÅÞ¿è½s¸¹ªº³]³Æ­Y°bÅé¼g±o¤£¦n´N·|¥X°ÝÃD¡C
¬Y¨Ç³]­p¤£¨}ªº
SCSI
³]³Æ¡]ÂÂªº¥H¤Î´N¨º»ò¥©³Q§A¸I¤Wªº·s³]³Æ¡^µLªk±µ¨ü¤£¬°¹sªºÅÞ¿è½s¸¹°»´ú¡C
¥¦­Ì·|±¾¦b¨º¡A¦Ó¥B¦³¥i¯à§â¾ã­Ó SCSI ¶×¬y±Æ(bus)³£±aµÛ¤@°_³­¸®¡C

¸û·sªº®Ö¤ß¦³¤@­Ó°t¸m¿ï¶µ¥i¥HÅý§A³]©w©Ò­n°»´ú¤§³Ì¤jÅÞ¿è½s¸¹¡C
¹w³]¥u°»´ú¨ìÅÞ¿è½s¸¹¹s¥H¥²§K¤W­z°ÝÃD¡C

¦b±Ò°Ê®É«ü©w­n°»´úªºÅÞ¿è¸¹½X¥i¥HÁä¤J `max\_scsi\_luns=n' §@¬°±Ò°Ê°Ñ¼Æ¡A
¨ä¤¤ n ¬O¤¶©ó³ü¨ì®Ãªº¼Æ¦r¡C
­nÁ×§K¤W­z°ÝÃD¥i¥H¨Ï¥Î n=1 ¥HÁ×§K³o¨Ç­ÓÄê³]³Æ¤£°ª¿³¡C




\subsubsection{SCSI ºÏ±aÅX°Êµ{¦¡ªº°Ñ¼Æ(`st=')}



SCSI  ºÏ±aÅX°Êµ{¦¡ªº¬Y¨Ç±Ò°Ê®É´Á°t¸m¥i¥HÂÇ¥Ñ¨Ï¥Î¤U¦C°Ñ¼Æ¹F¦¨¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        st=buf_size[,write_threshold[,max_bufs]]
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


«e­±¨â­Ó¼Æ¦rªº³æ¦ì¬O¤d¦ì¤¸²Õ¡C¹w³]ªº {\ttfamily buf\_size} ¬O 32kB¡C
³Ì¦h¥i¥H«ü©w¬° 16384kB¡A¤jªº¯îÂÕ¡C
{\ttfamily write\_threshold} ½w½Ä°Ï½T»{°e¦ÜºÏ±aªº­È¡A¹w³]¬° 30kB¡C
³Ì¤j½w½Ä°Ï­Ó¼Æµø°»´ú¨ìªº¸Ë¸m¼Æ¶q¦Ó©w¡A¹w³]­È¬°¤G¡C¨Ï¥Î½d¨Ò¦p¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        st=32,30,2
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


§¹¾ãªº²Ó¸`¥i¥H¦b {\ttfamily README.st} ÀÉ®×¤¤§ä¨ì¡A
¦ì©ó®Ö¤ß­ì©lµ{¦¡½Xµ²ºc(tree)ªº {\ttfamily scsi} ¥Ø¿ý¸Ì¡C




\subsection{SCSI ¥dªº°Ñ¼Æ}



¥»¸`ªº±`¨£¼Ð°O¡G

{\ttfamily iobase} --
SCSI ¥d¶i¾nªº²Ä¤@­Ó¿é¥X¤J°ð¡C
¥H¤Q¤»¶i¨îªí¥Üªk«ü©w¡A¦Ó¥B³q±`¸¨¦b {\ttfamily 0x200}  ¨ì {\ttfamily 0x3ff} ¤§¶¡¡C

{\ttfamily irq} --
¤¶­±¥d³]©w¨Ï¥ÎªºµwÅé¤¤Â_¡C
¨ä¥i¥Îªº­È»P¤¶­±¥d¦³Ãö¡A
¦ý³q±`¬O 5, 7, 9, 10, 11, 12, ¥H¤Î 15¡C¨ä¥¦­È³q±`¥Ñ¤@¯ëªº©PÃä³]³Æ¨Ï¥Î¡A
¹³¬O IDE µwºÐ¡A³nºÐ¡A¦ê¦C°ðµ¥µ¥¡C

{\ttfamily dma} --
¤¶­±¥d¨Ï¥Îªºª½±µ°O¾ÐÅé¦s¨ú(Direct Memory Access:DMA)³q¹D¡C
¨å«¬¥u¥Î©ó¨ã¶×¬y±Æ¥D±±(bus-mastering)¯à¤Oªº¥d¡C
PCI ¤Î VLB ¤¶­±¥d¥»§Y¨ã¶×¬y±Æ¥D±±¡A¥B¤£»Ý­n¥ô¦ó ISA ª½±µ°O¾ÐÅé¦s¨ú³q¹D¡C

{\ttfamily scsi-id} --
¦b SCSI ¶×¬y±Æ¤W¡A¤¶­±¥d¥Î¨ÓÃÑ§O¥¦¥»¨­ªºÃÑ§O¸¹½X¡C
¥u¦³¬Y¨Ç¤¶­±¥d¤¹³\§A§ïÅÜ³o­Ó­È¡A¤j³¡¥÷«h³£¤º©w¥B¥Ã¤[¤£ÅÜ¡C
³q±`¹w³]­È¬O¤C¡A¦ý¦è±¶(Seagate)¥H¤Î Future Domain TMC-950 ¥d¨Ï¥Î¤»¡C

{\ttfamily parity} --
SCSI ¤¶­±¥d¬O§_´Á±æ©Ò³s±µªº³]³Æ¥æ´«¸ê°T®É´£¨Ñ¦P¦ìÀË¬d½X¡C
«ü©w¤@ªí¥Ü¥´¶}¦P¦ìÀË¬d¡A¹s«h¬°Ãö³¬¡C
¦P¼Ë¦a¡A¨Ã«D©Ò¦³ªº¤¶­±¥d³£¤ä´©¿ï¥Î¦P¦ìÀË¬d³o­Ó±Ò°Ê°Ñ¼Æ¡C




\subsubsection{Adaptec aha151x, aha152x, aic6260, aic6360, SB16-SCSI (`aha152x=')}



aha ½s¸¹¹ï·Ó¥d¦Ó aic ½s¸¹¹ï·Ó³o¨Ç¥d¤W¹ê»Úªº SCSI ´¹¤ù¡A
¥]§t Soundblaster-16 SCSI¡C

°»´ú³o¨Ç SCSI ¥dªºµ{¦¡½X´M§ä±q¥d¤W¦w¸Ë¶i¨Óªº°ò¥»¿é¥X¤J¨t²Î¡A
¦pªG¨S¦³¡A´N§ä¤£¨ì§Aªº¥d¡CµM«á§A´N±o¨Ï¥Î³oºØ«¬¦¡ªº±Ò°Ê°Ñ¼Æ¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}

aha152x=iobase[,irq[,scsi-id[,reconnect[,parity]]]]
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


ª`·N¡A¦pªG¦¹ÅX°Êµ{¦¡½sÄ¶®É¦³¥´¶}¿ù»~°»´ú¡A«h¥i¥H«ü©w²Ä¤»­Ó­È¥H³]©w°»¿ù¼h¯Å¡C

©Ò¦³°Ñ¼Æ³£¦p¥»¸`³Ì«e­±©Ò­z¡A¦Ó {\ttfamily reconnect}
­È¦pªG¤£¬°¹s«h¤¹³\³]³ÆÂ÷½u¡þ­«·s³s½u¡C
¨Ï¥Î½d¨Ò¦p¤U¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        aha152x=0x340,11,7,1
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


ª`·N¡A°Ñ¼Æ¥²¶·¨Ì§Ç«ü©w¡A·N¿×¦pªG§A·Q«ü©w¦P¦ìÀË¬d¡A
¨º»ò§A¤]±o«ü©w iobase, irq, scsi-id ¥H¤Î reconnect ­È¡C




\subsubsection{Adaptec aha154x (`aha1542=')}



³o¨Ç¬O aha154x ¨t¦Cªº¥d¡C
aha1542 ¨t¦Cªº¥dªO¤l¤W¦³¤@­Ó i82077 ³nºÐ±±¨î¾¹¡A¦Ó aha1540 ¨t¦Cªº¥d¨S¦³¡C

³o¨Ç¥d¬O¶×¬y±Æ¥D±±¥d¡A¦Ó¥B¦³¥i¥H³]©w¡¨¤½¥­©Ê¡¨ªº°Ñ¼Æ¡A¥Î¨Ó»P¨ä¥¦³]³Æ¦@¥Î¶×¬y±Æ¡C
¨ä±Ò°Ê°Ñ¼Æ¬Ý°_¨Ó¹³¤U­±³o¼Ë¡C

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        aha1542=iobase[,buson,busoff[,dmaspeed]]
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¥i¥Îªº {\ttfamily iobase} ­È³q±`¬O¡G
{\ttfamily 0x130, 0x134, 0x230, 0x234, 0x330, 0x334} ¨ä¤¤¤§¤@¡C
¥é(Clone)¥d¥i¯à¤¹³\¨Ï¥Î¨ä¥¦­È¡C

{\ttfamily buson, busoff}
ªº­È¬O¸Ó¥d¦û¥Î¤u·~¼Ð·Ç¬[ºc(ISA)¶×¬y±Æªº²@¬í¼Æ(microsecond)¡C
¹w³]­È¬O 11us on, and 4us off¡A¦p¦¹¨ä¥¦ªº¥d
¡]¹³¬O¤u·~¼Ð·Ç¬[ºc¤¶­±ªº LANCE
¤A¤Óºô¸ô¥d¡^´N¦³¾÷·|¦s¨ú¤u·~¼Ð·Ç¬[ºc¶×¬y±Æ¡C

{\ttfamily dmaspeed} ªº­È¬O¶i¦æª½±µ°O¾ÐÅé¦s¨úªº³t²v¡]¥H¦Ê¸U¦ì¤¸²Õ¨C¬í¬°³æ¦ì¡^¡C
¹w³]¬° 5MB/s¡C
·sª©ªº¥d¥i¥HÅý§A±q³nÅé°t¸m(soft-configuration)¤¤¿ï¾Ü³o­Ó­È¡A
¸ûÂÂªº¥d«h¨Ï¥Î¸õ±µ(jumpers)¡C°²³]§Aªº¥D¾÷ªO°÷¤Oªº¸Ü¥i¥H¨Ï¥Î 10MB/s¡C
¦pªG¨Ï¥Î 5MB/s ¥H¤Wªº­È½Ð¤p¤ß¸ÕÅç¡C




\subsubsection{Adaptec aha274x, aha284x, aic7xxx (`aic7xxx=')}



³o¨Ç¥d¥i¥H±µ¨ü¦¹ºØ®æ¦¡ªº°Ñ¼Æ¡C

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        aic7xxx=extended,no_reset
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¦pªG {\ttfamily extended}
ªº­È¤£¬°¹s«hªí¥Ü¥´¶}¹ï¤j®e¶qºÏºÐªº©µ¦ùÂà´«(extended translation)¡C
{\ttfamily no\_reset} ­È¦pªG¤£¬°¹s«h¬O§i¶DÅX°Êµ{¦¡±Ò°Ê®É¡A
³]©w¤¶­±¥dªº®É­Ô¤£­n­«¸m SCSI ¶×¬y±Æ¡C




\subsubsection{AdvanSys SCSI Host Adaptors (`advansys=')}



AdvanSys  ÅX°Êµ{¦¡³Ì¦h¯à±µ¨ü¥|­Ó¿é¥X¤J¦ì§}¥H°»´ú AdvanSys SCSI
¥d¡Cª`·N¡A³o¨Ç­È¡]­Y¨Ï¥Îªº¸Ü¡^§¹¥þ¤£·|¼vÅT EISA ©Î¬O PCI  ªº
°»´ú¡C¥¦­Ì¶È¥Î¨Ó°»´ú ISA  ¥H¤Î VLB  ¤¶­±¥d¡CÁÙ¦³¡A¦pªG¦¹ÅX°Ê
µ{¦¡½sÄ¶®É¦³¥´¶}¿ù»~°»´úªº¸Ü¡A¨º»ò¿ù»~°»´úªº¿é¥X¿é¥X¼h¯Å¥i¥H
ÂÇ¥Ñ¥[¤J 0xdeb{[}0-f] °Ñ¼Æ¨Ó³]©w¡C




\subsubsection{Always IN2000 ¤¶­±¥d (`in2000=')}



¸ò¨ä¥¦ SCSI ¥dªº±Ò°Ê°Ñ¼Æ¤£¦P¡A
IN2000 ÅX°Êµ{¦¡¨Ï¥Î¥Ñ¬ü°ê¼Ð·Ç¥æ´«½X(ASCII)
©Ò²Õ¦¨ªº«e¸m(prefix)¦r¦ê¥Nªí¤j³¡¥÷ªº¾ã¼Æ°Ñ¼Æ¡C
³o¬O¤@¥÷¤ä´©¦Cªí¡G

ioport:addr --
¨ä¤¤ addr ¬O¥d¡]³q±`¨S¦³°ßÅª°O¾ÐÅé¡^ªº¿é¥X¤J¦ì§}¡C

noreset --
¨S¦³¿ï¥Îªº°Ñ¼Æ¡C³oÁ×§K±Ò°Ê®É´Áªº SCSI ¶×¬y±Æ­«¸m°Ê§@¡C

nosync:x --
x ¬O­Ó¦ì¤¸¾B¸n(bitmask)¡A¨ä¤¤«e­±¤C­Ó¦ì¤¸¹ïÀ³¨ì¤C­Ó SCSI
³]³Æ
¡]²Ä¹s­Ó¦ì¤¸¬O²Ä¹s¸¹³]³Æ¡A¾lÃþ±À¡^¡C

³]©w¨ä¤¤ªº¦ì¤¸¥HÁ×§K¹ï¸Ó³]³Æ¶i¦æ¦P¨B(sync)¨ó°Ó(negotiation)¡C
ÅX°Êµ{¦¡¹w³]¬OÃö³¬©Ò¦³³]³Æ¤§¦P¨B¡C

period:ns --
ns ¬O¥H©`¬í(nanoseconds)¬°³æ¦ì¤§³Ì¤p SCSI ¸ê®Æ¶Ç¿é®É¶¡°Ï¬q
(period)¡C¹w³]¬° 500; ¥i±µ¨üªº­È¬O 250 ¨ì 1000¡C

disconnect:x --
x = 0 §Yµ´¤£¤¹³\Â÷½u¡A2 §Y¤@©w¥i¥HÂ÷½u¡C
x = 1 «h¬°¡¦¾A·í¡¦®É¥iÂ÷½u¡A³o¬O¹w³]­È¡A
¦Ó¥B¬O¤@¯ë±¡ªpªº³Ì¨Î¿ï¾Ü¡C

debug:x
¦pªG©w¸q¤F `DEBUGGING\_ON' «h x
´N¬O³]©w¤£¦P¿ù»~°»´ú¿é¥Xªº¦ì¤¸¾B¸n
¡Ð°Ñ¨£ in2000.h ¤¤©w¸qªº DB\_xxx¡C

proc:x --
¦pªG©w¸q¤F `PROC\_INTERFACE' «h x ´N¬O¨M©w /proc
¤¶­±¹B§@¤è¦¡¤Î¥\¯àªº¦ì¤¸¾B¸n¡Ð°Ñ¨£ in2000.h ¤¤©w¸qªº
PR\_xxx¡C

¤U­±¦C¥X¤@¨Ç¨Ï¥Î½d¨Ò¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        in2000=ioport:0x220,noreset
        in2000=period:250,disconnect:2,nosync:0x03
        in2000=debug:0x1e
        in2000=proc:3
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}





\subsubsection{¨Ï¥Î AMD AM53C974 ªºµwÅé (`AM53C974=')}



»P¨ä¥¦ÅX°Êµ{¦¡¤£¦P¡A³o¤@­Ó¤£¨Ï¥Î±Ò°Ê°Ñ¼Æ¨Ó¶Ç¹F¿é¥X¤J°ð¡A
µwÅé¤¤Â_©Îª½±µ°O¾ÐÅé¦s¨ú³q¹D¡C
¡]¬JµM AMD53C974 ¬O­Ó PCI ³]³Æ¡A¨ä¹ê¤]¤£»Ý­n§@³o¨Ç³]©w¡C¡^
¨ú¦Ó¥N¤§ªº¬O¥Î¨Ó¶Ç¹F¤¶­±¥d»P³]³Æ¶¡¶Ç¿é¼Ò¦¡»P¶Ç¿é²vªº°Ñ¼Æ¡C
³o³Ì¦n¥Î½d¨Ò¨Ó¸ÑÄÀ¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        AM53C974=7,2,8,15
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


³o·|³Q¸ÑÄÀ¦¨³o¼Ë¡G¡¥¹ï©ó SCSI-ID 7 ªº±±¨î¾¹»P SCSI-ID 2 ªº³]³Æ¶¡¤§³q°T¡A
¨Ï¥Î³Ì¤j 8MHz ¤§¦P¨B¼Ò¦¡¶Ç¿é²v¡CÀ³¨ó°Ó 15 ¦ì¤¸²Õªº°¾²¾­È¡C¡¦
¸Ô²Ó¸ê®Æ¥i¦b {\ttfamily linux/drivers/scsi/README.AM53C974} ÀÉ®×¸Ì§ä¨ì¡C




\subsubsection{BusLogic SCSI ¤¶­±¥d»P v1.2 ªº®Ö¤ß (`buslogic=')}



¦bÂÂª©ªº®Ö¤ß¤¤¡A buslogic ÅX°Êµ{¦¡¥u±µ¨ü¤@­Ó°Ñ¼Æ¡A´N¬O¿é¥X¤J¦ì§}¡C
¥¦¯à±µ¨ü¤U¦C­È¡G{\ttfamily 0x130, 0x140, 0x230, 0x234, 0x330, 0x334}¡C




\subsubsection{BusLogic SCSI ¤¶­±¥d»P v2.x ªº®Ö¤ß (`BusLogic=')}



¦b v2.x ®Ö¤ß¤¤¡ABusLogic ÅX°Êµ{¦¡±µ¨ü³\¦h°Ñ¼Æ¡C
¡]ª`·N¤W­±ªº¤j¤p¼g¡F¬O¤j¼gªº B  ¥H¤Î L!!! ¡^¡C
¤U­±ªº²Ó¸`¬Oª½±µ±q v2.0 ®Ö¤ß¤¤ªº Leonard N. Zubkoff's ÅX°Êµ{¦¡®³¹L¨Óªº¡C

³o­Ó BusLogic ÅX°Êµ{¦¡ªº®Ö¤ß©R¥O¦C¬O¥Ñ "BusLogic" ÅX°Êµ{¦¡ÃÑ§O¦r¡A
¥[¤W¦U­Ó¥H³r¸¹®æ¶}ªº¿ï¥Î©Ê¾ã¼Æ§Ç¦C¡A«á­±¸òµÛ¦U­Ó¿ï¥Î©Êªº¦r¦ê§Ç¦C©Ò²Õ¦¨¡C
¨C¦æ©R¥O¦C³£¥Î©ó¤@±i BusLogic ¥d¡A
¦b¨Ï¥Î¦h±i BusLogic ¥dªº¨t²Î¤W¥i¥H¨Ï¥Î¦h­Ó©R¥O¦C¨Ó³]©w¡C

²Ä¤@­Ó¾ã¼Æ«ü©w¤¶­±¥d©Ò¦bªº I/O ¦ì§}¡C¦pªG¤£«ü©w«h¹w³]­È¬°¹s¡A
ªí¥Ü§â³o­Ó°Ñ¼Æ³]¬°¹w³]°»´ú¶¶§Ç¤¤§ä¨ìªº²Ä¤@±i BusLogic ¥d¡C
¦pªG¦b©R¥O¦C¤W«ü©w¤F¥ô¦óªº I/O ¦ì§}°Ñ¼Æ¡A¹w³]°»´ú¶¶§Ç´N·|³Q©¿²¤¡C

²Ä¤G­Ó¾ã¼Æ«ü©w¥Î©ó¤ä´©¦î¦C¹B§@(Tagged Queuing)ªº¥Ø¼Ð³]³Æ¤§¦î¦C²`«×¡C
¦î¦C²`«×¬O®e³\¦P®É°e¥Xªº SCSI «ü¥O¼Æ¡C¦pªG¨S¦³«ü©w«h¹w³]­È¬°¹s¡A
ªí¥Ü¨Ï¥Î®Ú¾Ú¤¶­±¥dªºÁ`¦î¦C²`«×¤Î¼Æ¥Ø¡AºØÃþ¡A³t«×¡A
¥H¤Î°»´ú¥Ø¼Ð³]³Æªº¯à¤O©Ò¦Û°Ê§PÂ_ªº­È¡C
¹ï©ó»Ý­n¨Ï¥Î ISA ¿ù»~½w½Ä°Ï(Bounce Buffers)ªº¤¶­±¥d¡A
¦î¦C²`«×¦Û°Ê³]¬° BusLogic\_TaggedQueueDepth\_BB ¥HÁ×§K DMA
¿ù»~½w½Ä°O¾ÐÅéªº¹L¸ü¡C
¤£¤ä´©¦î¦C¹B§@ªº¥Ø¼Ð³]³Æ¨Ï¥Î BusLogic\_UntaggedQueueDepth ©w¸qªº¦î¦C²`«×¡C

²Ä¤T­Ó¾ã¼Æ«ü©w¶×¬y±Æ°±¸m(Settle)®É¶¡¡A¥H¬í¬°³æ¦ì¡C
³o¤D¬O­«¸m¤¶­±¥d¨Ï SCSI ¶×¬y±Æ­«¸m¨ìµo¥X SCSI «ü¥O¤§¶¡ªº®É¶¡¡C
¦pªG¨S¦³«ü©w«h¹w³]­È¬°¹s¡Aªí¥Ü¨Ï¥Î BusLogic\_DefaultBusSettleTime ªº­È¡C

²Ä¥|­Ó¾ã¼Æ«ü©w°Ï°ì¿ï¶µ¡C¦pªG¨S¦³«ü©w«h¹w³]­È¬°¹s¡C
ª`·N¡A°Ï°ì¿ï¶µ¥u¥Î©ó¯S©wªº¤¶­±¥d¡C

²Ä¤­­Ó¾ã¼Æ«ü©w¥þ°ì¿ï¶µ¡C¦pªG¨S¦³«ü©w¡A¹w³]­È¬°¹s¡C
ª`·N¡A¥þ°ì¿ï¶µÀ³¥Î©ó©Ò¦³ªº¤¶­±¥d¡C

¦r¦ê¿ï¶µ¥Î¨Ó´£¨Ñ¹ï¦î¦C¹B§@¡A¿ù»~¦^´_¡A¥H¤Î¤¶­±¥d°»´ú¤§±±¨î¡C

¦î¦C¹B§@ªº«ü©w¥H "TQ:"  ¶}ÀY¡A
¥i¥H©ú½T¦a«ü©w¬O§_¤¹³\¦³¦¹¤ä´©ªº¥Ø¼Ð³]³Æ¨Ï¥Î¦î¦C¹B§@¡C
¤U­±¬O¥i¥Îªº«ü©w¿ï¶µ¡G

TQ:Default --
¦î¦C¹B§@ªº¤¹³\»P§_¥H BusLogic
¥dªº°bÅéª©¥»¥H¤Î¦î¦C²`«×ªº­È¬O§_¤¹³\¦h­««ü¥O§@¬°§PÂ_°òÂ¦¡C

TQ:Enable --
¹ï©Ò¦³±µ¦b³o±i¥d¤Wªº¥Ø¼Ð³]³Æ¥´¶}¦î¦C¹B§@¡A©¿²¤¤¶­±¥d°bÅéª©¥»©Ò¥[½Ñªº­­¨î¡C

TQ:Disable --
¹ï©Ò¦³±µ¦b³o±i¥d¤Wªº¥Ø¼Ð³]³ÆÃö³¬¦î¦C¹B§@¡C

TQ:$<$¨C­Ó¥Ø¼Ðªº³]©w$>$ --
¦U§O±±¸m¹ï¨C­Ó¥Ø¼Ð³]³Æªº¦î¦C¹B§@¡C
$<$¨C­Ó¥Ø¼Ðªº³]©w$>$¬O¥Ñ "Y", "N", and "X"  ¦r¤¸²Õ¦¨ªº¦ê¦C¡C
"Y" ¥´¶}¦î¦C¹B§@¡A"N" Ãö³¬¦î¦C¹B§@¡A¦Ó "X"  ±µ¨ü¥H°bÅéª©¥»¬°°òÂ¦ªº¹w³]­È¡C
²Ä¤@­Ó¦r¤¸¥Nªí¥Ø¼Ð³]³Æ 0¡A²Ä¤G­Ó¥Nªí³]³Æ 1¡A¨Ì¦¹Ãþ±À¡F
¦pªG "Y", "N" and "X" ¦r¤¸¦ê¦C¨Ã¥¼²[»\©Ò¦³ªº¥Ø¼Ð³]³Æ¡A
¥¼«ü©wªº¦r¤¸±N³Q°²³]¬° "X"¡C

ª`·N¡A©ú½T¦a«ü©w­n¨Ï¥Î¦î¦C¹B§@¥i¯à·|¥X°ÝÃD¡F
³o¥D­n¬O¤è«K¥Î¨ÓÃö³¬¹ï¬Y¨Ç¨S¯à¥¿½T¹ê§@¦¹¥\¯à¤§¥Ø¼Ð³]³Æªº¦î¦C¹B§@¡C

¿ù»~¦^´_µ¦²¤ªº«ü©w¥H "ER:"  ¶}ÀY¡A¥i¥H©ú½T¦a«ü©w¦] SCSI «ü¥O¥¢±Ñ¡A
µLªk¦¨¥\§¹¦¨¦Ó©I¥s ResetCommand ®É°õ¦æªº¿ù»~¦^´_°Ê§@¡C
¤U­±¬O¥i¥Îªº«ü©w¿ï¶µ¡C

ER:Default --
¿ù»~¦^´_¨Ì SCSI ¤l¨t²Îªº«ØÄ³¿ï¾Ü±j¨î­«¸m(Hard
Reset)»P¶×¬y±Æ³]³Æ­«¸m¨ä¤¤¤§¤@¡C

ER:HardReset --
¿ù»~¦^´_±N·|±Ò©l¤¶­±¥dªº±j¨î­«¸m¡A³o¤]·|¤Þ°_ SCSI  ¶×¬y±Æªº­«¸m¡C

ER:BusDeviceReset --
¿ù»~¦^´_±N°e¥X¶×¬y±Æ³]³Æ­«¸m°T®§µ¹¤Þ°_¿ù»~ªº¥Ø¼Ð³]³Æ¡C

¦pªG¸Ó¥Ø¼Ð³]³Æ¦A¦¸³y¦¨¿ù»~¦^´_¦Ó¥B°e¥X¶×¬y±Æ³]³Æ­«¸m°T®§¤§«á¸Ó¥Ø¼Ð³]³Æ¨S¦³¤@¦¸¦¨¥\§¹¦¨
SCSI «ü¥Oªº¸Ü¡A
«h¹Á¸Õ¶i¦æ±j¸m­«¸m¡C

ER:None --
¿ù»~¦^´_±N³Q­áµ²¡C
³o­Ó¿ï¶µÀ³¸Ó¥u¥Î©ó SCSI
¶×¬y±Æ­«¸m©Î¶×¬y±Æ³]³Æ­«¸m·|¨Ï¥Ø¼Ð³]³ÆµLªk¦^´_ªº±¡ªp¡C

ER:$<$¨C­Ó¥Ø¼Ðªº³]©w$>$ --
¿ù»~¦^´_±N¹ï¨C­Ó¥Ø¼Ð³]³Æ¶i¦æ¦U§O±±¨î¡C
$<$¨C­Ó¥Ø¼Ðªº³]©w$>$¬O¥Ñ "D", "H", "B", and "N" ¦r¤¸©Ò²Õ¦¨ªº¦ê¦C¡C
"D" ¿ï¾Ü¹w³]­È¡A"H" ¿ï¾Ü±j¸m­«¸m¡A"B" ¿ï¾Ü¶×¬y±Æ³]³Æ­«¸m¡A¦Ó
"N"¿ï¾Ü¤£­«¸m¡C
²Ä¤@­Ó¦r¤¸¥Nªí¥Ø¼Ð³]³Æ 0¡A²Ä¤G­Ó¥Nªí³]³Æ 1¡A¨Ì¦¹Ãþ±À¡F
¦pªG "D", "H" , "B" and "N" ¦r¤¸¦ê¦C¨Ã¥¼²[»\©Ò¦³ªº¥Ø¼Ð³]³Æ¡A
¥¼«ü©wªº¦r¤¸±N³Q°²³]¬° "X"¡C

¤¶­±¥d°»´úªº«ü©w¥]§t¤U¦C¦r¦ê¡G

NoProbe --
¤£°õ¦æ¥ô¦ó¤@ºØ°»´ú¡A¦]¦¹¤£·|°»´ú¨ì BusLogic ¤¶­±¥d¡C

NoProbeISA --
¤£°»´ú¼Ð·Ç ISA I/O ¦ì§}¡A¦]¦¹¥u·|°»´ú¨ì PCI ¤¶­±¥d¡C

NoSortPCI --
¨Ì PCI BIOS ©Ò´£¨Ñªº¶¶§Ç¦CÁ| PCI ¤¶­±¥d¡A
©¿²¤¥ô¦ó AutoSCSI "Use Bus And Device \# For PCI Scanning Seq."
¿ï¶µªº³]©w¡C




\subsubsection{EATA SCSI ¤¶­±¥d (`eata=')}



·sªº v2.0 ®Ö¤ß¤§ EATA ÅX°Êµ{¦¡¯à±µ¨ü¤@­Ó±Ò°Ê°Ñ¼Æ«ü©w©Ò­n°»´úªº¿é¥X¤J¦ì§}¡C
®æ¦¡¬°¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}

eata=iobase1[,iobase2][,iobase3]...[,iobaseN]
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¦¹ÅX°Êµ{¦¡·|¨Ì©Ò¦C¶¶§Ç°»´ú³o¨Ç¦ì§}¡C




\subsubsection{Future Domain TMC-8xx, TMC-950 (`tmc8xx=')}



°»´ú³o¨Ç SCSI ¥dªºµ{¦¡½X´M§ä±q¥d¤W¦w¸Ë¶i¨Óªº°ò¥»¿é¥X¤J¨t²Î¡A
¦pªG¨S¦³¡A´N§ä¤£¨ì§Aªº¥d¡C
©ÎªÌ¡A¦pªG BIOS ªºÃ±³¹(signature)¦r¦ê¤£³Q»{¥i¨º»ò¤]·|§ä¤£¨ì¡C
¤£ºÞ¬O¨º¤@ºØ±¡ªp¡A§A³£±o¨Ï¥Î³oºØ«¬¦¡ªº±Ò°Ê°Ñ¼Æ¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        tmc8xx=mem_base,irq
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


{\ttfamily mem\_base} ªº­È¬O¬É­±¥d¨Ï¥Îªº°O¾ÐÅé¹ï¬M(memory mapped)¿é¥X¤J°Ï°ìªº­È¡C
¦¹­È³q±`·|¬O¤U¦C¨ä¤¤¤§¤@¡G
{\ttfamily 0xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000}¡C




\subsubsection{Future Domain TMC-16xx, TMC-3260, AHA-2920 (`fdomain=')}



³o­ÓÅX°Êµ{¦¡®Ú¾Ú¤@¥÷¤wª¾°ò¥»¿é¥X¤J¨t²Î°ßÅª°O¾ÐÅéÃ±³¹¦Cªí°»´ú³o¨Ç¤¶­±¥d¡C
§¹¾ãªº¦Cªí½Ð°Ñ¨£ {\ttfamily linux/drivers/scsi/fdomain.c}¡A
¸ÓÀÉ«e­±¦³³\¦h¸ê°T¡C
¦pªG¦¹ÅX°Êµ{¦¡¤£»{±o§Aªº°ò¥»¿é¥X¤J¨t²Î¡A§A¥i¥H¨Ï¥Î³oºØ®æ¦¡ÅÜ§ó¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        fdomain=iobase,irq[,scsi_id]
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}





\subsubsection{IOMEGA Parallel Port / ZIP drive (`ppa=')}



³o­ÓÅX°Êµ{¦¡¥Î©ó IOMEGA ZIP ºÏºÐªþªº IOMEGA ¨Ã¦C°ð SCSI ¥d¡C
¥¦¤]¥i¥H°t¦X­ì¥ýªº IOMEGA PPA3 ³]³Æ¨Ï¥Î¡C
¦¹ÅX°Êµ{¦¡ªº±Ò°Ê°Ñ¼Æ®æ¦¡¬°¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        ppa=iobase,speed_high,speed_low,nybble
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


°£¤F iobase ¤§¥~¨ä¾l¬Ò¬°¿ï¥Î­È¡C¦pªG§A·Q§ïÅÜ³o¤T­Ó¿ï¥Î°Ñ¼Æ¤¤ªº¥ô¦ó¤@­Ó¡A
«ØÄ³§AÅªÅª {\ttfamily linux/drivers/scsi/README.ppa}
¤¤¦³Ãö¥¦­Ì±±¨î¨Ç¤°»òªº²Ó¸`¡C




\subsubsection{NCR5380 based controllers (`ncr5380=')}



¸ò§Aªº¤¶­±¥d¦³Ãö¡A 5380 ªº«¬¦¡¥i¥H¬O¿é¥X¤J¹ïÀ³©Î°O¾ÐÅé¹ïÀ³¡C
¡]§C©ó 0x400 ªº¦ì§}·N¿×µÛ¿é¥X¤J¹ïÀ³¡A
¦ý PCI ¥H¤Î EISA µwÅé¨Ï¥Î 0x3ff ¥H¤Wªº¿é¥X¤J¦ì§}¡C¡^¤£ºÞ¬O¨º¤@ºØ±¡ªp¡A
§A³£¬O«ü©w¦ì§}¡AµwÅé¤¤Â_¥H¤Îª½±µ°O¾ÐÅé¦s¨ú³q¹Dªº­È¡C
¿é¥X¤J¹ïÀ³¤¶­±¥dªº½d¨Ò¹³¬O¡G {\ttfamily ncr5380=0x350,5,3}¡C
¦pªG¸Ó¥d¤£¨Ï¥Î¤¤Â_¡A¨º»ò 255({\ttfamily 0xff})³o­ÓµwÅé¤¤Â_­È·|Ãö³¬¤¤Â_ªº¨Ï¥Î¡C
254 ³o­ÓÀ³Åé¤¤Â_­Èªí¦Û°Ê°»´ú¡C
§ó²Ó¸`ªº¸ê°T¥i¥H¦b {\ttfamily linux/drivers/scsi/README.g\_NCR5380}
³o­ÓÀÉ®×¸Ì§ä¨ì¡C




\subsubsection{NCR53c400 based controllers (`ncr53c400=')}



¼Ð·Ç 53c400 ªº¤ä´©¬O¥Ñ»P¤W­z¼Ð·Ç 5380 ¤§¤ä´©¬Û¦PªºÅX°Êµ{¦¡©Ò´£¨Ñ¡C
±Ò°Ê°Ñ¼Æ»P¤W­z§¹¥þ¬Û¦P¡A°£¤F 53c400 ¤£¨Ï¥Îª½±µ°O¾ÐÅé¦s¨ú¤§¥~¡C




\subsubsection{NCR53c406a based controllers (`ncr53c406a=')}



¦¹ÅX°Êµ{¦¡¨Ï¥Î³oºØ®æ¦¡ªº±Ò°Ê°Ñ¼Æ¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        ncr53c406a=PORTBASE,IRQ,FASTPIO
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¨ä¤¤ IRQ ¥H¤Î FASTPIO °Ñ¼Æ¬°¿ï¥Î¶µ¡C¤¤Â_­È¹sÃö³¬¤¤Â_¤§¨Ï¥Î¡C
¨Ï¥Î¤@»P FASTPIO °Ñ¼Æ±Ò¥Î {\ttfamily insl} ¥H¤Î {\ttfamily outsl} «ü¥O¥H¨ú¥N¤@­Ó¦ì¤¸²Õªº
{\ttfamily inb} ¥H¤Î {\ttfamily outb} «ü¥O¡C
¦¹ÅX°Êµ{¦¡¤]¥i¥H¥Ñ½sÄ¶®É´Á¿ï¶µ³]©w¨Ï¥Îª½±µ°O¾ÐÅé¦s¨ú¡C




\subsubsection{Pro Audio Spectrum (`pas16=')}



PAS16 ¨Ï¥Î NCR5380 SCSI ´¹¤ù¡A·s´ÚÁÙ¤ä´©µL¸õ±µ°t¸m¡C±Ò°Ê°Ñ¼Æªº®æ¦¡¬°¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        pas16=iobase,irq
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


°ß¤@ªº¤£¦P¬O§A¥i¥H«ü©w 255 ³o­ÓµwÅé¤¤Â_­È¡A
³o·|§i¶DÅX°Êµ{¦¡¤£­n¨Ï¥Î¤¤Â_¡AµM®Ä¯à·|­°§C¡C
{\ttfamily iobase} ³q±`¬O {\ttfamily 0x388}¡C




\subsubsection{Seagate ST-0x (`st0x=')}



°»´ú³o¨Ç SCSI ¥dªºµ{¦¡½X´M§ä±q¥d¤W¦w¸Ë¶i¨Óªº°ò¥»¿é¥X¤J¨t²Î¡A
¦pªG¨S¦³¡A´N§ä¤£¨ì§Aªº¥d¡C©ÎªÌ¡A¦pªG BIOS
ªºÃ±³¹¦r¦ê¤£³Q»{¥i¨º»ò¤]·|§ä¤£¨ì¡C
¤£ºÞ¬O¨º¤@ºØ±¡ªp¡A§A³£±o¨Ï¥Î³oºØ«¬¦¡ªº±Ò°Ê°Ñ¼Æ¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        st0x=mem_base,irq
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


{\ttfamily mem\_base} ªº­È¬O¬É­±¥d¨Ï¥Îªº°O¾ÐÅé¹ï¬M(memory mapped)¿é¥X¤J°Ï°ìªº­È¡C
¦¹­È³q±`·|¬O¤U¦C¨ä¤¤¤§¤@¡G
{\ttfamily 0xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000}¡C




\subsubsection{Trantor T128 (`t128=')}



³o¨Ç¤¶­±¥d¤]¬O¥H NCR5380 ´¹¤ù¬°°òÂ¦¡A±µ¨ü¤U¦C¿ï¶µ¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        t128=mem_base,irq
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


The valid values for {\ttfamily mem\_base} are as follows:
{\ttfamily 0xcc000, 0xc8000, 0xdc000, 0xd8000}.
¥i¥Î©ó {\ttfamily mem\_base} ªº­È¦p¤U¡G
{\ttfamily 0xcc000, 0xc8000, 0xdc000, 0xd8000}¡C




\subsubsection{Ultrastor SCSI cards (`u14-34f=')}



ª`·N¡A¦¹¥d¦³¨â­Ó¤¬¬Û¿W¥ßªºÅX°Êµ{¦¡¡A¦W¬° {\ttfamily CONFIG\_SCSI\_U14\_34F} ªÌ¨Ï¥Î
{\ttfamily u14-34f.c} ¦Ó {\ttfamily CONFIG\_SCSI\_ULTRASTORE} ¨Ï¥Î {\ttfamily ultrastor.c}¡C
u14-34f ³o¤@­Ó¡]·sªº v2.0 ®Ö¤ß¥Î¥¦¡^±µ¨ü¤@­Ó®æ¦¡¦p¤Uªº±Ò°Ê°Ñ¼Æ¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}

u14-34f=iobase1[,iobase2][,iobase3]...[,iobaseN]
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¦¹ÅX°Êµ{¦¡·|¨Ì©Ò¦C¶¶§Ç°»´ú³o¨Ç¦ì§}¡C




\subsubsection{Western Digital WD7000 cards (`wd7000=')}



³o­ÓÅX°Êµ{¦¡´M§ä¥¦©Òª¾¹Dªº°ò¥»¿é¥X¤J¨t²Î°ßÅª°O¾ÐÅé¦r¦ê¨Ó°»´ú
wd7000 ¨Ã¥Bª¾¹D¼Æ­Ó¼Ð·Çªº°t¸m³]©w¡C
¦pªG¥¦¨S¯à¥Î¥¿½Tªº­È°Ê°_¨Ó¡A©Î¤£»{±o§Aªº°ò¥»¿é¥X¤J¨t²Îª©¥»¡A
¨º»ò§A¥i¥H¨Ï¥Î³oºØ®æ¦¡ªº±Ò°Ê°Ñ¼Æ¡C

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        wd7000=irq,dma,iobase
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}







\subsection{¤£±µ¨ü±Ò°Ê°Ñ¼Æªº SCSI ¥d}



¥Ø«e¬°¤î¡A¤U¦C SCSI ¤¶­±¥d¤£¨Ï¥Î¥ô¦ó±Ò°Ê®É´Á°Ñ¼Æ¡C¦b¬Y¨Ç±¡ªp¤U¡A
§A¥i¥Hª½±µ½s¿èÅX°Êµ{¦¡¥»¨­§â­È{\itshape ¼g¦º(hard-wire)\/}¶i¥h¡A¦pªG¯uªº¥²­nªº¸Ü¡C

\begin{verbatim}
        Adaptec aha1740 (EISA probing),
        NCR53c7xx,8xx (PCI, both drivers)
        Qlogic Fast (0x230, 0x330)
        Qlogic ISP (PCI)
\end{verbatim}





\section{µwºÐ¾÷}



³o¤@¸`¦C¥X©Ò¦³»P¼Ð·Ç MFM/RLL, ST-506, XT, ¥H¤Î IDE  ºÏºÐ¾÷¬ÛÃöªº±Ò°Ê°Ñ¼Æ¡C
ª`·N¡AIDE ¥H¤Î¥ý«eªº ST-506 µwºÐÅX°Êµ{¦¡³£±µ¨ü `hd=' ¿ï¶µ¡C




\subsection{IDE ºÏºÐ¡þ¥úºÐÅX°Êµ{¦¡°Ñ¼Æ}



IDE ÅX°Êµ{¦¡±µ¨ü´X­Ó°Ñ¼Æ¡A
²[»\½d³ò±qºÏºÐ³W®æ(geometry)¨ì¥ý¶i©Î¤£¨}¤§±±¨î¾¹ªº¤ä´©¡C
©³¤U¬O©Ò¦³¥i¥Î¤§±Ò°Ê°Ñ¼ÆªººK­n¡C
­nª¾¹D§¹¾ãªº²Ó¸`¡A
§A{\itshape ¯uªº\/}À³¸Ó¥h¬d¾\¦b {\ttfamily linux/Documentation}
¥Ø¿ý¤Uªº {\ttfamily ide.txt} ÀÉ¡A
³o­ÓºK­n¬O±q¤¤ºK¿ý¥X¨Óªº¡C

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}

 "hdx="  ±q "a" ¨ì "h" ©Ò¦³ªº "x" ³£©Ó»{¡A¹³¬O "hdc" ¡C
 "idex=" ±q "0" ¨ì "3" ©Ò¦³ªº "x" ³£©Ó»{¡A¹³¬O "ide1"¡C

 "hdx=noprobe"          : ¤]³\ªº½T¦³­ÓºÏºÐ¦b¨º¨à¡A¦ý¤£­n¥h°»´ú
 "hdx=none"             : ³o¸Ì¨S¦³ºÏºÐ¡A©¿²¤ cmos ¥B¤£­n¥h°»´ú
 "hdx=nowerr"           : ©¿²¤³o­ÓºÏºÐªº WRERR_STAT ¦ì¤¸
 "hdx=cdrom"            : ³o¸Ì¦³­ÓºÏºÐ¡A¦Ó¥B¬O­Ó¥úºÐ¾÷
 "hdx=cyl,head,sect"    : ³o¸Ì¦³­ÓºÏºÐ¡A¨Ã«ü©wºÏºÐ³W®æ
 "hdx=autotune"         : ÅX°Êµ{¦¡±N¸ÕµÛ§â¤¶­±³t«×½Õ¨ì¤ä´©¤§
                                ³Ì§Ö¥iµ{¦¡¤Æ¿é¥X¤J(PIO) ¼Ò¦¡
                                ¡A¦¹ºÏºÐ¯à±µ¨ü¤~¦æ¡C¨Ã«D©Ò¦³
                                ´¹¤ù²ÕºØÃþ³£¦³§¹¾ã¤ä´©¡A¨Ã¥B
                                «Ü¥i¯à¨ÏÂÂªº¡þ©_©Çªº IDE  ºÏ
                                ºÐ¥X°ÝÃD¡C
 "idex=noprobe"         : ¤£­n¹Á¸Õ¦s¨ú¡þ¨Ï¥Î³o­Ó¤¶­±
 "idex=base"            : ¦b«ü©wªº¦ì§}°»´ú¤¶­±¡A¨ä¤¤ "base"
                                ³q±`¬O 0x1f0  ©Î¬O 0x170  ¥B
                                °²³] "ctl"  ¬O "base"+0x206
 "idex=base,ctl"        : «ü©w base ¥H¤Î ctl
 "idex=base,ctl,irq"    : «ü©w base, ctl, ¥H¤Î irq  ¼Æ­È
 "idex=autotune"        : ÅX°Êµ{¦¡±N¸ÕµÛ§â¤¶­±³t«×½Õ¨ì¤ä´©¤§
                                ³Ì§Ö¥iµ{¦¡¤Æ¿é¥X¤J(PIO) ¼Ò¦¡
                                ¡A¦¹ºÏºÐ¯à±µ¨ü¤~¦æ¡C¨Ã«D©Ò¦³
                                ´¹¤ù²ÕºØÃþ³£¦³§¹¾ã¤ä´©¡A¨Ã¥B
                                «Ü¥i¯à¨ÏÂÂªº¡þ©_©Çªº IDE  ºÏ
                                ºÐ¥X°ÝÃD¡C
 "idex=noautotune"      : ÅX°Êµ{¦¡±N¤£·|¸ÕµÛ½Õ¾ã¤¶­±³t«×¡C°£
                                ¤F cmd640 ¤§¥~¡A³o¬O¤j³¡¥÷´¹
                                ¤ù²Õªº¹w³]­È¡C
 "idex=serialize"       : ¤£­«Å|¹ï(overlap) idex ¤Î ide(x^1)
                                ªº¾Þ§@
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¤U¦C°Ñ¼Æ¥u¤¹³\¥Î©ó ide0¡A
¥B¹w³]ªº base, ctl ¥H¤Î ports ¤£¯à­×§ï¡C

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}

 "ide0=dtc2278"         : °»´ú¡þ¤ä´© DTC2278 ¤¶­±
 "ide0=ht6560b"         : °»´ú¡þ¤ä´© HT6560B ¤¶­±
 "ide0=cmd640_vlb"      : ¨Ï¥Î CMD640 ´¹¤ùªº VLB  ¤¶­±¥d
                          ¡¯¥²¶·¡¯¥[¤J³o­Ó°Ñ¼Æ¡]PCI ªº«h
                          ¤£¥² -- ¦Û°Ê°»´ú¡^
 "ide0=qd6580"          : °»´ú¡þ¤ä´© qd580 ¤¶­±
 "ide0=ali14xx"         : °»´ú¡þ¤ä´© ali14xx ´¹¤ù²Õ (ALI M1439/M1445)
 "ide0=umc8672"         : °»´ú¡þ¤ä´© umc8672 ´¹¤ù²Õ
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¨Ï¥Î¥ô¦ó¨ä¥¦ªºªFªF³£·|³Q©Úµ´¨Ã±o¨ì¤@­Ó "BAD OPTION" °T®§¡C




\subsection{¼Ð·Ç ST-506 ºÏºÐÅX°Êµ{¦¡¿ï¶µ(`hd=')}



¼Ð·ÇºÏºÐÅX°Êµ{¦¡¥i¥H±µ¨üºÏºÐÅÞ¿è³W®æ°Ñ¼Æ¡A
³o»P IDE ÅX°Êµ{¦¡¬Û¦ü¡Cª`·N¡A
µL½×¦p¦ó¥¦¥u§Æ±æ±µ¨ü¤T­Ó­È (C/H/S) -- ¹L¦h©Î¹L¤Ö¥¦³£·|ÀqÀq¦a©¿²¤±¼¡C
¦P®É¥¦¥u±µ¨ü `hd=' °Ñ¼Æ¡A¹³ `hda', `hdb=' ³oÃþªº¦b¦¹³£¤£³Q¤¹³\¡C
¨ä®æ¦¡¦p¤U¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        hd=cyls,heads,sects
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¦pªG¸Ë¦³¨â­ÓºÏºÐ¡A´N¨Ï¥Î²Ä¤GÁûºÏºÐªº³W®æ­«ÂÐ¤W­z«ü¥O¡C




\subsection{XT Disk Driver Options (`xd=')}



¦pªG§A¤£©¯¨ì±o­n¨Ï¥Î³o¨ÇÂÂªº¡B8 ¦ì¤¸¡B
¥HÅå¤Hªº 125kb/s ³t«×·h²¾¸ê®Æªº¤¶­±¥d¨º»ò³o¸`¬O§Aªº¿Wªù¸ÑÃÄ¡C
°»´ú³o¨Ç¥dªºµ{¦¡½X´M§ä±q¥d¤W¦w¸Ë¶i¨Óªº°ò¥»¿é¥X¤J¨t²Î¡A
¦pªG¨S¦³¡A´N§ä¤£¨ì§Aªº¥d¡C©ÎªÌ¡A¦pªG BIOS
ªºÃ±³¹¦r¦ê¤£³Q»{¥i¨º»ò¤]·|§ä¤£¨ì¡C
¤£ºÞ¬O¨º¤@ºØ±¡ªp¡A§A³£±o¨Ï¥Î³oºØ«¬¦¡ªº±Ò°Ê°Ñ¼Æ¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        xd=type,irq,iobase,dma_chan
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¨ä¤¤ {\ttfamily type} ­È«ü¥Ü¸Ó¤¶­±¥dªº»s³y°Ó¡A
¦p¤U¡G 0=generic; 1=DTC; 2,3,4=Western Digital, 5,6,7=Seagate; 8=OMTI¡C
¦P¤@®a»s³y°ÓºØÃþ¤§¶¡ªº¤£¦P¶È¤î©ó¥Î¨Ó°»´úªº°ò¥»¿é¥X¤J¨t²Î¦r¦ê¡A
³o­ÓªFªF­Y«ü©w type ´N·|¤£¨Ï¥Î¡C

³o¨Ç­È {\ttfamily xd\_setup()} ¨ç¦¡¤£·|¥hÀË¬d¡A¨Ã¥B°²³]§A¿é¤J©Ò¦³¦@¥|­Ó­È¡C
§OÅý¥¦¥¢±æ¡C³o¨à¦³­Ó½d¨Ò¨Ï¥Î WD1002 ±±¨î¾¹¨ÃÃö³¬¡þ©Þ±¼°ò¥»¿é¥X¤J¨t²Î¡A
¨Ï¥Î¡¥¹w³]ªº¡¦XT ±±¨î¾¹°Ñ¼Æ¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        xd=2,5,0x320,3
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}





\section{¥úºÐ¾÷ (Non-SCSI/ATAPI/IDE)}



³o¤@¸`¦C¥XÄÝ©ó¥úºÐ³]³Æ©Ò¦³¥i¯àªº±Ò°Ê°Ñ¼Æ¡C
ª`·N¡A³o¤£¥]§t SCSI ©Î¬O IDE/ATAPI ¥úºÐ¾÷¡C
³o¨Ç¥úºÐ¾÷½Ð°Ñ¾\¨ä¥¦¾A·íªº³¹¸`¡C

ª`·N¡A¤j³¡¥÷¥úºÐ¾÷³£¦³¨Ç¤å¥óÀÉ{\itshape ­È±o\/}¤@Åª¡A
¦Ó¥B¥¦­Ì³£©ñ¦b¤@­Ó«Ü®e©ö¨ú±oªº¦a¤è¡G{\ttfamily linux/Documentation/cdrom}¡C




\subsection{Aztech ¤¶­± (`aztcd=')}



³oºØ¤¶­±¥dªº»yªk¬O¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        aztcd=iobase[,magic_number]
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¦pªG§A±N {\ttfamily magic\_number} ³]¬° {\ttfamily 0x79}
¨º»ò¦¹ÅX°Êµ{¦¡¤£ºÞ¤T¤C¤G¤Q¤@³£·|¸ÕµÛ¦b¥¼ª¾ªº°bÅéª©¥»¤W¶]¡C
©Ò¦³¨ä¥¦ªº­È³£·|³Q©¿²¤¡C




\subsection{CDU-31A ¥H¤Î CDU-33A Sony ¤¶­± (`cdu31a=')}



¦¹¥úºÐ¾÷¤¶­±¥X²{¦b³¡¥÷ Pro Audio Spectrum ­µ®Ä¥d¥H¤Î¨ä¥¦ Sony
¥X²£ªº¤¶­±¥d¤W¡C»yªk¦p¤U¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        cdu31a=iobase,[irq[,is_pas_card]]
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


«ü©w¹s§@¬° IRQ ­È§i¶D¦¹ÅX°Êµ{¦¡¤£¤ä´©µwÅé¤¤Â_¡]¬Y¨Ç PAS ªº¥d¡^¡C
¦pªG§Aªº¥d¤ä´©¤¤Â_¡AÀ³¸Ó¨Ï¥Î¤§¥H­°§C¦¹ÅX°Êµ{¦¡ªº¤¤¥¡³B²z¾¹¨Ï¥Î²v¡C

¦pªG¨Ï¥Î Pro Audio Spectrum ªº¤¶­±¥d«h `is\_pas\_card' ÄæÀ³¸Ó¿é¤J `PAS'¡A
­Y§_´N¤£À³¸Ó¨Ï¥Î¡C




\subsection{CDU-535 Sony ¤¶­± (`sonycd535=')}



³oºØ¥úºÐ¾÷¤¶­±¥dªº»yªk¬O¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        sonycd535=iobase[,irq]
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¦pªG§A·Q«ü©w IRQ ­È¡A¿é¥X¤J¦ì§}¥i¥H¶ñ¤J¹s¨Ó¦û¦ì¸m(placeholder)¡C




\subsection{GoldStar ¤¶­± (`gscd=')}



³oºØ¥úºÐ¾÷¤¶­±¥dªº»yªk¬O¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        gscd=iobase
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}





\subsection{ISP16 ¤¶­± (`isp16=')}



³oºØ¥úºÐ¾÷¤¶­±¥dªº»yªk¬O¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}

isp16=[port[,irq[,dma]]][[,]drive_type]
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¨Ï¥Î¹s§@¬° {\ttfamily irq} or {\ttfamily dma} ªí¥Ü¤£¨Ï¥Î¸Ó¥\¯à¡C
¥i¥Î©ó {\ttfamily drive\_type} ªº­È¬O {\ttfamily noisp16, Sanyo, Pansonic, Sony,}
and {\ttfamily Mitsumi}¡C¨Ï¥Î {\ttfamily noisp16} ·|¹ý©³Ãö±¼³o­ÓÅX°Êµ{¦¡¡C




\subsection{Mitsumi ¼Ð·Ç¤¶­± (`mcd=')}



³oºØ¥úºÐ¾÷¤¶­±¥dªº»yªk¬O¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        mcd=iobase,[irq[,wait_value]]
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¨ä¤¤ {\ttfamily wait\_value} ¬O§@¬°¤º³¡ªº¹O®É³]©w¡A¥Î¦b¨º¨Ç¤£Å¥¸Üªº¾÷¤l¤W¡A
³o­Ó¥\¯à¬O§_¦³¹ê§@¬O¨Ì½sÄ¶®É´Áªº{\ttfamily ©w¸q­È}¦Ó©w¡C




\subsection{Mitsumi XA/MultiSession ¤¶­± (`mcdx=')}



¥Ø«e¬°¤î¡A¦¹¡¥¹êÅç©Ê¡¦ªºÅX°Êµ{¦¡¦³­Ó³]©w¨ç¦¡¡A
¦ý¨Ã¥¼¹ê§@¥ô¦ó°Ñ¼Æ(as of 1.3.15)¡C¥¦¥Î©ó»P¤W­zÅX°Êµ{¦¡¬Û¦PªºµwÅé¡A
¦ý¦¹ÅX°Êµ{¦¡¨ã¦³§ó¦h¥\¯à¡C




\subsection{Optics Storage ¤¶­± (`optcd=')}



³oºØ¤¶­±¥dªº»yªk¬O¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        optcd=iobase
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}





\subsection{Phillips CM206 ¤¶­± (`cm206=')}



³oºØ¤¶­±¥dªº»yªk¬O¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        cm206=[iobase][,irq]
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


³o­ÓÅX°Êµ{¦¡°²³]¤¶©ó 3 ¨ì 11 ¤§¶¡¼Æ¦r¬O IRQ ­È¡A
¦Ó {\ttfamily 0x300} ¨ì {\ttfamily 0x370} ¤§¶¡ªº¼Æ¦r«h¬O¿é¥X¤J°ð¡A
©Ò¥H§A¥i¥H¥u«ü©w¤@­Ó­È©Î¤G­Ó³£«ü©w¡A¶¶§ÇÀH·N¡C
¥¦¤]±µ¨ü `cm206=auto' ¥H¥´¶}¦Û°Ê°»´ú¡C




\subsection{Sanyo ¤¶­± (`sjcd=')}



³oºØ¤¶­±¥dªº»yªk¬O¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        sjcd=iobase[,irq[,dma_channel]]
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}





\subsection{SoundBlaster Pro ¤¶­± (`sbpcd=')}



³oºØ¤¶­±¥dªº»yªk¬O¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        sbpcd=iobase,type
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¨ä¤¤ªº {\ttfamily type} ¬O¤U¦C¤§¦r¦ê¤@¡]¤j¤p¼g¦³®t¡^¡G
`SoundBlaster', `LaserMate', or `SPEA'¡C
¿é¥X¤J¦ì§}¬O¥úºÐ¾÷ªº¿é¥X¤J¦ì§}¡A¤£¬O¸Ó¥d­µ®Ä³¡¥÷ªº¿é¥X¤J¦ì§}¡C




\section{¨ä¥¦µwÅé³]³Æ}



¨ä¥¦¥ô¦ó¤£¾A¦X©ñ¦b¤W­±¤ÀÃþ¤¤ªº³]³Æ³£°ï¦b³o¸Ì¡C




\subsection{¤A¤Óºô¸ô³]³Æ (`ether=')}



¤£¦PªºÅX°Êµ{¦¡¨Ï¥Î¤£¦Pªº°Ñ¼Æ¡A
¦ý¥¦­Ì¦Ü¤Ö³£¦@¥Î IRQ, I/O °ð¦ì§}­È¥H¤Î¦WºÙ¡C³Ì¼Ð·Çªº®æ¦¡¬Ý°_¨Ó¹³¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}

ether=irq,iobase[,param_1[,param_2,...param_8]]],name
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


²Ä¤@­Ó¤£¬O¼Æ¦rªº°Ñ¼Æ³Q·í§@¦WºÙ¡C{\ttfamily param\_n}
ªº­È¡]¦pªG°t±o°_¨Ó¡^¹ï¨C±i¤£¦Pªº¤¶­±¥d¡þÅX°Êµ{¦¡³q±`³£¥Nªí¤£¦Pªº·N¸q¡C
¨å«¬ªº {\ttfamily param\_n} ­È¬O¥Î¨Ó«ü©w¹³¦@¨É°O¾ÐÅé¦ì§}¡A¤¶­±ªº¿ï¾Ü¡A
DMA ³q¹Dµ¥µ¥½Ñ¦p¦¹ÃþªºªFªF¡C

¦¹°Ñ¼Æ³Ì±`¨£ªº¥Îªk¬O¦b¹w³]­È¶È°»´ú¨ì¤@±iºô¸ô¥dªº®É­Ô±j¨î°»´ú²Ä¤G±i¤A¤Óºô¸ô¥d¡C
¥i¥H¥Î³o­ÓÂ²³æªº«ü¥O¹F¦¨¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        ether=0,0,eth1
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


ª`·N¡A¤W­z½d¨Ò¤¤ IRQ »P I/O ¦ì§}¹s§i¶DÅX°Êµ{¦¡¦Û°Ê¥h°»´ú¡C

¼Ò²Õ¨Ï¥ÎªÌªÌ½Ðª`·N¡G
¦pªGÅX°Êµ{¦¡§@¬°°õ¦æ´Á¶¡¥i¸ü¤J¼Ò²Õ¡]¤£½sÄ¶¨ì®Ö¤ß¸Ì¡^
¨Ï¥Î«h¤W­z«ü¥O{\itshape ¤£·|\/}±j¨î°»´ú²Ä¤G±i¤¶­±¥d¡C
¤j³¡¥÷ªº Linux
µo¦æ®M¥ó³£¨Ï¥Î¤@­Ó°ò¥»ªº®Ö¤ß°t¦X³\³\¦h¦h°µ¦¨¼Ò²ÕªºÅX°Êµ{¦¡¡C
¦¹ {\ttfamily ether=} °Ñ¼Æ¥u¹ïª½±µ½sÄ¶¦b®Ö¤ß¸ÌªºÅX°Êµ{¦¡¦³®Ä¡C

¦b¤A¤Óºô¸ô»¡©ú(Ethernet-HowTo)¤¤¹ï¨Ï¥Î¦h±iºô¸ô¥d¥H¤Î {\ttfamily param\_n}
­Èªº¨Ï¥Î³õ¦X¡Aºô¸ô¥d¡þÅX°Êµ{¦¡¹ï³o¨Ç­Èªº¹ê§@µ¥µ¥¦³§ó§¹¾ã¡B§ó¼sªxªº¤å¥ó¡C
¦³¿³½ìªºÅªªÌÀ³¸Ó°Ñ¦Ò¸Ó¤å¥ó¤¤¦³Ãö¦Û¤vºô¸ô¥dªº³¹¸`¡C
\nameurl{http://sunsite.unc.edu/mdw/HOWTO/Ethernet-HOWTO.html}{Ethernet-HowTo}




\subsection{³nºÐÅX°Êµ{¦¡ (`floppy=')}



³nºÐÅX°Êµ{¦¡¦³³\¦h¿ï¶µ¡A
¥þ³¡³£¦C¦b {\ttfamily linux/drivers/block} ¸Ìªº {\ttfamily README.fd} ¤¤¡C
³o¬Oª½±µ±q¸ÓÀÉ¨ú±oªº¸ê°T¡C

floppy=mask,allowed\_drive\_mask

³]©w¤¹³\¨Ï¥Î¤§ºÏºÐ¾÷¦ì¤¸¾B¸n¬° {\ttfamily mask} ¡C
¨Ì¹w³]¡A¥u¤¹³\¨C­Ó³nºÐ±±¨î¾¹ªº²Ä¹s¤Î²Ä¤@­Ó³æ¤¸¡C
³o¼Ë°µ¬O¦]¬°¦³¨Ç«D¼Ð·ÇªºµwÅé¡]µØºÓªº PCI ¥D¾÷ªO¡^
¦b¦s¨ú²Ä¤G©Î²Ä¤T­Ó³æ¤¸®É·|·í±¼Áä½L¡C¦¹¿ï¶µ®t¤£¦h¤w¸g³Q cmos ¿ï¶µµ¹¨ú¥N¤F¡C

floppy=all\_drives

³]©w¤¹³\¨Ï¥Î¤§ºÏºÐ¾÷¦ì¤¸¾B¸n¬°©Ò¦³ºÏºÐ¾÷¡C
¦pªG§A¦b³nºÐ±±¨î¾¹¤W±µ¤F¨â­Ó¥H¤WªººÏºÐ¾÷ªº¸Ü¥i¥H¨Ï¥Î¡C

floppy=asus\_pci

³]©w¦ì¤¸¾B¸n¬°¥u¤¹³\²Ä¹s¤Î²Ä¤@­Ó³æ¤¸¡C¡]¹w³]­È¡^

floppy=daring

§i¶D³nºÐÅX°Êµ{¦¡§A¦³­Ó¦æ¬°¨}¦nªº³nºÐ±±¨î¾¹¡C
³o¼Ë¹B§@¤W·|¤ñ¸û¦³®Ä²v¡B¤ñ¸û¥­¶¶¡A¦ý¦³¨Ç±±¨î¾¹¥i¯àµLªk¨Ï¥Î¡C
³o¥i¥H¥[³t¬Y¨Ç³¡¥÷ªº¹B§@¡C

floppy=0,daring

§i¶D³nºÐÅX°Êµ{¦¡§Aªº³nºÐ±±¨î¾¹±o¤p¤ß¬ÝºÞ¡C

floppy=one\_fdc

§i¶D³nºÐÅX°Êµ{¦¡§A¥u¦³¤@­Ó³nºÐ±±¨î¾¹¡C¡]¹w³]­È¡^

floppy=two\_fdc {\itshape or\/} floppy=address,two\_fdc

§i¶D³nºÐÅX°Êµ{¦¡§A¦³¨â­Ó³nºÐ±±¨î¾¹¡C
²Ä¤G­Ó³nºÐ±±¨î¾¹°²³]¦ì©ó address «ü©wªº¦a¤è¡C
¦pªG¨S¦³µ¹ address¡A°²³]¬° 0x370 ¡C

floppy=thinkpad

§i¶D³nºÐÅX°Êµ{¦¡§A¦³¤@¥x Thinkpad¡C
Thinkpads ªººÏºÐÅÜ§ó°»´ú½u¸ô(disk change line)¤§¨Ï¥Î»P¤@¯ë¬Û¤Ï¡C

floppy=0,thinkpad

§i¶D³nºÐÅX°Êµ{¦¡§A¨S¦³ Thinkpad¡C

floppy=drive,type,cmos

³]©w {\ttfamily drive} ªº cmos Ãþ«¬¬° {\ttfamily type}¡C
±ø¥ó¬O¡A³o­ÓºÏºÐ¾÷¦b¦ì¤¸¾B¸n¤¤¥²¶·¬O¥i¥Îªº¡C
¦pªG§A¦³¨â­Ó¥H¤WªººÏºÐ¾÷¡]¹êÅé cmos ¥u¯à«ü©w¨â­Ó¡^
©Î¬O§Aªº°ò¥»¿é¥X¤J¨t²Î¨Ï¥Î«D¼Ð·Çªº CMOS Ãþ«¬¨º³o´N¦³¥Î¤F¡C
§â«e¨â­ÓºÏºÐ¾÷ªº cmos ³]¬° 0¡]¹w³]­È¡^
·|¨Ï±o³nºÐÅX°Êµ{¦¡¬°³o¨ÇºÏºÐ¾÷Åª¨ú¹êÅé cmos¡C

floppy=unexpected\_interrupts

±µ¦¬¨ì«D¹w´Á¤§¤¤Â_®É¦L¥XÄµ§i°T®§¡]¹w³]¡^

floppy=no\_unexpected\_interrupts {\itshape or\/} floppy=L40SX

±µ¦¬¨ì«D¹w´Á¤§¤¤Â_®É¤£¦L¥XÄµ§i°T®§¡C
IBM L40SX ½¥¤W«¬¹q¸£¦b¬Y¨ÇÅã¥Ü¼Ò¦¡¤U»Ý­n¥¦¡C
¡]³o¬Ý¨Ó¬O¼v¹³»P³nºÐ¤§¶¡ªº¬YºØ¬Û¤¬Ãö«Y¡C
¦¹«D¹w´Á¤§¤¤Â_¥u·|¼vÅT®Ä¯à¡A¥i¥H¦w¥þ¦a©¿²¤¡C¡^




\subsection{­µ®ÄÅX°Êµ{¦¡ (`sound=')}



­µ®ÄÅX°Êµ{¦¡¤]¥i¥H±µ¨ü±Ò°Ê°Ñ¼Æ¥HÅÜ§ó½sÄ¶®Éªº­È¡C
¤£¹L¨Ã¤£«ØÄ³³o¼Ë°µ¡A¦]¬°³o¼Ë·|§ó½ÆÂø¡C
¬ÛÃö»¡©ú©ñ¦b¡]´¿¸g¡H¡^Readme.Linux ¤¤¡A
¦ì©ó {\ttfamily linux/drivers/sound} ¸Ì¡C¥¦±µ¨ü³oºØ«¬¦¡ªº°Ñ¼Æ¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}

sound=device1[,device2[,device3...[,device11]]]
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¨ä¤¤¨C­Ó {\ttfamily deviceN} ­Èªº®æ¦¡¬°¤U¦Cªº {\ttfamily 0xTaaaId}
¦Ó¨C­Ó¦ì¤¸²Õªº¨Ï¥Î¦p¤U¡G

T - ³]³ÆºØÃþ: 1=FM, 2=SB, 3=PAS, 4=GUS, 5=MPU401, 6=SB16,
7=SB16-MPU401

aaa - ¤Q¤»¶i¦ìªº¿é¥X¤J¦ì§}¡C

I - ¤Q¤»¶i¦ì¤§¤¤Â_½u (i.e 10=a, 11=b, ...)

d - °O¾ÐÅéª½±µ¦s¨ú³q¹D¡C

¦p§A©Ò¨£¡A³o¬Û·íÂø¶Ã¡A«ØÄ³§A³Ì¦n§â¦Û¤v³]³Æªº­È½sÄ¶¶i¥h¡C
¨Ï¥Î±Ò°Ê°Ñ¼Æ `sound=0' ±N·|ª±¥þÃö³¬­µ®ÄÅX°Êµ{¦¡¡C




\subsection{¶×¬y±Æ·Æ¹«ÅX°Êµ{¦¡ (`bmouse=')}



¶×¬y±Æ·Æ¹«ÅX°Êµ{¦¡¥u±µ¨ü¤@­Ó°Ñ¼Æ¡A´N¬OµwÅé©Ò¨Ï¥Îªº IRQ ­È¡C




\subsection{·L³n¶×¬y±Æ·Æ¹«ÅX°Êµ{¦¡ (`msmouse=')}



·L³n·Æ¹«ÅX°Êµ{¦¡¥u±µ¨ü¤@­Ó°Ñ¼Æ¡A´N¬OµwÅé©Ò¨Ï¥Îªº IRQ ­È¡C




\subsection{¦Lªí¾÷ÅX°Êµ{¦¡ (`lp=')}



¦b°ª©ó 1.3.75
¥H¤Wªº®Ö¤ß¤W§A¥i¥H§i¶D¦Lªí¾÷ÅX°Êµ{¦¡¨Ï¥Î¨º­Ó°ð¥H¤Î{\itshape ¤£\/}¨Ï¥Î¨º­Ó°ð¡C
¦pªG§A¤£·QÅý¦Lªí¾÷ÅX°Êµ{¦¡®³¨ì©Ò¦³¥i¥Îªº¨Ã¦C°ð¨º»ò«áªÌ«Ü¤è«K¡A
³o¼Ë¨ä¥¦ªºÅX°Êµ{¦¡(e.g. PLIP, PPA)´N¥i¥H¨Ï¥Î¥¦­Ì¡C

³o­Ó°Ñ¼Æªº®æ¦¡¬O¦h­Ó i/o, IRQ ªº²Õ¦X¡C
¨Ò¦p¡A
{\ttfamily lp=0x3bc,0,0x378,7} ·|¥H¤£»Ý IRQ(polling) ªº¼Ò¦¡¨Ï¥Î¦ì©ó 0x3bc ªº°ð¡A
¨Ã¥B¹ï¦ì©ó 0x378 ªº°ð¨Ï¥Î IRQ 7¡C
¦ì©ó 0x278 ªº°ð¡]¦pªG¦³ªº¸Ü¡^±N¤£·|³Q°»´ú¨ì¡A
¦]¬°¦Û°Ê°»´ú¥u¥Î©ó¨S¦³ `lp=' °Ñ¼Æªº±¡ªp¤U¡C
¥i¥H¨Ï¥Î {\ttfamily lp=0} Ãö³¬¾ã­Ó¦Lªí¾÷ÅX°Êµ{¦¡¡C




\subsection{ICN ¾ãÅéªA°È¼Æ¦ìºô¸ô(ISDN)ÅX°Êµ{¦¡ (`icn=')}



³o­Ó¾ãÅéªA°È¼Æ¦ìºô¸ôÅX°Ê°Ñ¼Æªº±Ò°Ê°Ñ¼Æ®æ¦¡¬°¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        icn=iobase,membase,icn_id1,icn_id2
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¨ä¤¤ {\ttfamily iobase} ¬O¸Ó¥dªº¿é¥X¤J°ð¦ì§}¡A
{\ttfamily membase} ¬O¸Ó¥dªº¦@¨É°O¾ÐÅé°ò©³¦ì§}¡A
¦Ó¨º¨â­Ó {\ttfamily icn\_id} ¬O°ß¤@ÃÑ§Oªº ASCII ¿ëÃÑ¦r¦ê¡C




\subsection{PCBIT ISDN ÅX°Êµ{¦¡ (`pcbit=')}



³o­Ó±Ò°Ê°Ñ¼Æ®æ¦¡¨Ï¥Î¤@¹ï¾ã¼Æ°Ñ¼Æ¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        pcbit=membase1,irq1[,membase2,irq2]
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¨ä¤¤ {\ttfamily membaseN} ¬O²Ä N ±i¥dªº¦@¨É°O¾ÐÅé°ò©³¡A
¦Ó {\ttfamily irqN} ¬O²Ä N ±i¥dªº¤¤Â_³]©w¡C
¹w³]­È¬O IRQ 5 ¥H¤Î membase {\ttfamily 0xD000}¡C




\subsection{Teles ISDN ÅX°Êµ{¦¡ (`teles=')}



³o­Ó ISDN ÅX°Êµ{¦¡ªº±Ò°Ê°Ñ¼Æ®æ¦¡¬°¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        teles=iobase,irq,membase,protocol,teles_id
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¨ä¤¤ {\ttfamily iobase} ¬O¸Ó¥dªº i/o °ð¦ì§}¡A
{\ttfamily membase} ¬O¸Ó¥dªº¦@¨É°O¾ÐÅé°ò©³¦ì§}¡A{\ttfamily irq} ¬O¸Ó¥d¨Ï¥Îªº¤¤Â_¡A
¦Ó {\ttfamily teles\_id} ¬O°ß¤@ÃÑ§Oªº ASCII ¿ëÃÑ¦r¦ê¡C




\subsection{DigiBoard ÅX°Êµ{¦¡ (`digi=')}



DigiBoard ÅX°Êµ{¦¡±µ¨ü¥Ñ¤»­Ó³r¸¹¹j¶}¤§ªº¿ëÃÑ¦r¦ê©Î¾ã¼Æ¡C
¤»­Ó­È¨Ì§Ç¬°¡G

\begin{verbatim}
        ¥´¶}¡þÃö³¬¸Ó¥d
        ¥dªººØÃþ¡G PC/Xi(0), PC/Xe(1), PC/Xeve(2), PC/Xem(3)
        ¥´¶}¡þÃö³¬¨ä¥¦°w¸}±Æ¦C(alternate pin arrangement)
        ¸Ó¥d¤Wªº°ð¼Æ
        ¸Ó¥d³]©wªº¿é¥X¤J°ð¡]¦pªG¥H¦r¦ê«ü©w«h¬°¤Q¤»¶i¦ì¡^
        °O¾Ðµ¡ªº°ò©³¡]¦pªG¥H¦r¦ê«ü©w«h¬°¤Q¤»¶i¦ì¡^
\end{verbatim}


¥¿½Tªº±Ò°Ê°Ñ¼Æ¤§½d¨Ò¡]¦r¦ê¥H¤Î¾ã¼Æ®æ¦¡¡^¦p¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        digi=E,PC/Xi,D,16,200,D0000
        digi=1,0,0,16,512,851968
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


ª`·N¡A³o­ÓÅX°Êµ{¦¡­YµL {\ttfamily digi=} ±Ò°Ê°Ñ¼Æ¨ä¹w³]¿é¥X¤J¬° {\ttfamily 0x200} ¡A
¦@¨É°O¾ÐÅé°ò©³¬° {\ttfamily 0xD0000} ¡C¤£°õ¦æ¦Û°Ê°»´ú¡C
§ó¶i¤@¨Bªº²Ó¸`¥i¥H¦b {\ttfamily linux/Documentation/digiboard.txt}
ÀÉ®×¸Ì§ä¨ì¡C




\subsection{RISCom/8 ¦h°ð¦ê¦C¥dÅX°Êµ{¦¡ (`riscom8=')}



Up to four boards can be supported by supplying four
unique i/o port values for each individual board installed.
Other details can be found in the file
{\ttfamily linux/Documentation/riscom8.txt}.

¥i¥H¤ä´©¹F¥|±i¥d¡A¶·´£¨Ñ¥|­Ó°ß¤@ªº¿é¥X¤J°ðµ¹¨C±i¥d¡C
¨ä¾l²Ó¸`¥i¥H¦b {\ttfamily linux/Documentation/riscom8.txt} ÀÉ®×¸Ì§ä¨ì¡C




\subsection{Baycom ¦ê¦C¡þ¨Ã¦CµL½u¼Æ¾Ú¾÷ (`baycom=')}



³o¨Ç³]³Æªº±Ò°Ê°Ñ¼Æ®æ¦¡¦p¤U¡C

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        baycom=modem,io,irq,options[,modem,io,irq,options]
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¨Ï¥Î modem=1 ªí¥Ü§A¦³ ser12 ³]³Æ¡Amodem=2 ªí¥Ü§A¦³ par96 ³]³Æ¡C
¨Ï¥Î options=0 ªí¥Ü¨Ï¥ÎµwÅé DCD¡Aoptions=1 «hªí¥Ü¨Ï¥Î³nÅé DCD¡C
{\ttfamily io} ¥H¤Î {\ttfamily irq} ¸ò©¹±`¤@¼Ë¬O¿é¥X¤J°ð¥H¤Î¤¤Â_³]©w¡C
¦b {\ttfamily /linux/drivers/char/} ¥Ø¿ý¤Uªº {\ttfamily README.baycom}
ÀÉ®×¸Ì¦³§ó¦hªº²Ó¸`¡C




\section{µ²§ô}



¦pªG§Aµo²{³o¥÷¤å¥ó¸Ì¦³¥ô¦ó¿ô¥Øªº¥´¦r¿ù»~¡A©Î¹L®Éªº¸ê°T¡A½ÐÅý
§Úª¾¹D¡C³o«Ü®e©ö´N·|¬Ýº|¤F¡C

ÁÂÁÂ¡A

Paul Gortmaker, {\ttfamily gpg109@rsphy1.anu.edu.au}



\end{document}
