<HTML ><HEAD ><TITLE >Linux kernel version 2.2</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK REL="HOME" TITLE="Remote Serial Console HOWTO" HREF="index.html"><LINK REL="UP" TITLE="Configuring a kernel to support serial console" HREF="kernelcompile.html"><LINK REL="PREVIOUS" TITLE="Linux kernel version 2.4" HREF="kernelcompile-24.html"><LINK REL="NEXT" TITLE="Serial cabling" HREF="serial.html"></HEAD ><BODY CLASS="SECTION" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >Remote Serial Console HOWTO</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="kernelcompile-24.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >Chapter 10. Configuring a kernel to support serial console</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="serial.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="SECTION" ><H1 CLASS="SECTION" ><A NAME="KERNELCOMPILE-22" ></A >10.3. <SPAN CLASS="SYSTEMITEM" >Linux</SPAN > kernel version 2.2</H1 ><P >The later <SPAN CLASS="SYSTEMITEM" >Linux</SPAN > 2.2 kernels use the same build parameters and parameter syntax as the <SPAN CLASS="SYSTEMITEM" >Linux</SPAN > version 2.4 kernels.</P ><P >For earlier kernels see the <A HREF="http://www.linuxjournal.com/article.php?sid=2040" TARGET="_top" >article</A > by Francesco Conti in issue 36 of <A HREF="http://www.linuxjournal.com/" TARGET="_top" ><I CLASS="CITETITLE" >Linux Journal</I ></A > published in April 1997.</P ><P >This article included some patches for the kernel, which have been extended in the notes below to use a broader range of serial port speeds.</P ><P >Choose to use the serial console by adding a couple of <TT CLASS="LITERAL" >#defines</TT > at the start of <TT CLASS="FILENAME" >/usr/src/linux/drivers/char/console.c</TT >:</P ><DIV CLASS="INFORMALFIGURE" ><A NAME="AEN2599" ></A ><P ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="PROGRAMLISTING" >#define CONFIG_SERIAL_ECHO #define SERIAL_ECHO_PORT 0x3f8 /* COM1 port address */</PRE ></FONT ></TD ></TR ></TABLE ><P ></P ></DIV ><P >Alternatively, to use <TT CLASS="LITERAL" >ttyS1</TT > use these lines:</P ><DIV CLASS="INFORMALFIGURE" ><A NAME="AEN2603" ></A ><P ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="PROGRAMLISTING" >#define CONFIG_SERIAL_ECHO #define SERIAL_ECHO_PORT 0x2f8 /* COM2 port address */</PRE ></FONT ></TD ></TR ></TABLE ><P ></P ></DIV ><P >The kernel assumes a serial link speed of 9600<SPAN CLASS="ABBREV" >bps</SPAN >. If you are using a differing bit rate then find these two lines:</P ><DIV CLASS="INFORMALFIGURE" ><A NAME="AEN2607" ></A ><P ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="PROGRAMLISTING" >serial_echo_outb(0x00, UART_DLM); /* 9600 baud */ serial_echo_outb(0x0c, UART_DLL);</PRE ></FONT ></TD ></TR ></TABLE ><P ></P ></DIV ><P >and change <TT CLASS="LITERAL" >0x0c</TT > to one of the values in <A HREF="kernelcompile-22.html#KERNELCOMPILE-22-DIVISORS" >Table 10-1</A >.</P ><DIV CLASS="TABLE" ><A NAME="KERNELCOMPILE-22-DIVISORS" ></A ><P ><B >Table 10-1. <SPAN CLASS="ACRONYM" >IBM-PC/AT</SPAN > serial port bit rates and their bit-clock divisors</B ></P ><TABLE BORDER="1" CLASS="CALSTABLE" ><THEAD ><TR ><TH WIDTH="50%" ALIGN="CENTER" VALIGN="BOTTOM" >Bit Rate</TH ><TH WIDTH="50%" ALIGN="CENTER" VALIGN="BOTTOM" >Divisor</TH ></TR ></THEAD ><TBODY ><TR ><TD WIDTH="50%" ALIGN="CENTER" VALIGN="TOP" >115200<SPAN CLASS="ABBREV" >bps</SPAN ></TD ><TD WIDTH="50%" ALIGN="CENTER" VALIGN="TOP" ><TT CLASS="LITERAL" >0x01</TT ></TD ></TR ><TR ><TD WIDTH="50%" ALIGN="CENTER" VALIGN="TOP" >57600<SPAN CLASS="ABBREV" >bps</SPAN ></TD ><TD WIDTH="50%" ALIGN="CENTER" VALIGN="TOP" ><TT CLASS="LITERAL" >0x02</TT ></TD ></TR ><TR ><TD WIDTH="50%" ALIGN="CENTER" VALIGN="TOP" >38400<SPAN CLASS="ABBREV" >bps</SPAN ></TD ><TD WIDTH="50%" ALIGN="CENTER" VALIGN="TOP" ><TT CLASS="LITERAL" >0x03</TT ></TD ></TR ><TR ><TD WIDTH="50%" ALIGN="CENTER" VALIGN="TOP" >19200<SPAN CLASS="ABBREV" >bps</SPAN ></TD ><TD WIDTH="50%" ALIGN="CENTER" VALIGN="TOP" ><TT CLASS="LITERAL" >0x06</TT ></TD ></TR ><TR ><TD WIDTH="50%" ALIGN="CENTER" VALIGN="TOP" >9600<SPAN CLASS="ABBREV" >bps</SPAN ></TD ><TD WIDTH="50%" ALIGN="CENTER" VALIGN="TOP" ><TT CLASS="LITERAL" >0x0c</TT ></TD ></TR ><TR ><TD WIDTH="50%" ALIGN="CENTER" VALIGN="TOP" >4800<SPAN CLASS="ABBREV" >bps</SPAN ></TD ><TD WIDTH="50%" ALIGN="CENTER" VALIGN="TOP" ><TT CLASS="LITERAL" >0x18</TT ></TD ></TR ><TR ><TD WIDTH="50%" ALIGN="CENTER" VALIGN="TOP" >2400<SPAN CLASS="ABBREV" >bps</SPAN ></TD ><TD WIDTH="50%" ALIGN="CENTER" VALIGN="TOP" ><TT CLASS="LITERAL" >0x30</TT ></TD ></TR ><TR ><TD WIDTH="50%" ALIGN="CENTER" VALIGN="TOP" >1200<SPAN CLASS="ABBREV" >bps</SPAN ></TD ><TD WIDTH="50%" ALIGN="CENTER" VALIGN="TOP" ><TT CLASS="LITERAL" >0x60</TT ></TD ></TR ></TBODY ></TABLE ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="kernelcompile-24.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="serial.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Linux kernel version 2.4</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="kernelcompile.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Serial cabling</TD ></TR ></TABLE ></DIV ></BODY ></HTML >