1272 lines
21 KiB
HTML
1272 lines
21 KiB
HTML
|
<HTML
|
||
|
><HEAD
|
||
|
><TITLE
|
||
|
>Down to business</TITLE
|
||
|
><META
|
||
|
NAME="GENERATOR"
|
||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.63
|
||
|
"><LINK
|
||
|
REL="HOME"
|
||
|
TITLE="i810 with XFree86 4.x HOWTO"
|
||
|
HREF="index.html"><LINK
|
||
|
REL="PREVIOUS"
|
||
|
TITLE="Introduction"
|
||
|
HREF="x21.html"><LINK
|
||
|
REL="NEXT"
|
||
|
TITLE="Thank you"
|
||
|
HREF="x308.html"></HEAD
|
||
|
><BODY
|
||
|
CLASS="SECT1"
|
||
|
BGCOLOR="#FFFFFF"
|
||
|
TEXT="#000000"
|
||
|
LINK="#0000FF"
|
||
|
VLINK="#840084"
|
||
|
ALINK="#0000FF"
|
||
|
><DIV
|
||
|
CLASS="NAVHEADER"
|
||
|
><TABLE
|
||
|
WIDTH="100%"
|
||
|
BORDER="0"
|
||
|
CELLPADDING="0"
|
||
|
CELLSPACING="0"
|
||
|
><TR
|
||
|
><TH
|
||
|
COLSPAN="3"
|
||
|
ALIGN="center"
|
||
|
>i810 with XFree86 4.x HOWTO</TH
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
WIDTH="10%"
|
||
|
ALIGN="left"
|
||
|
VALIGN="bottom"
|
||
|
><A
|
||
|
HREF="x21.html"
|
||
|
>Prev</A
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="80%"
|
||
|
ALIGN="center"
|
||
|
VALIGN="bottom"
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="10%"
|
||
|
ALIGN="right"
|
||
|
VALIGN="bottom"
|
||
|
><A
|
||
|
HREF="x308.html"
|
||
|
>Next</A
|
||
|
></TD
|
||
|
></TR
|
||
|
></TABLE
|
||
|
><HR
|
||
|
ALIGN="LEFT"
|
||
|
WIDTH="100%"></DIV
|
||
|
><DIV
|
||
|
CLASS="SECT1"
|
||
|
><H1
|
||
|
CLASS="SECT1"
|
||
|
><A
|
||
|
NAME="AEN26"
|
||
|
>2. Down to business</A
|
||
|
></H1
|
||
|
><DIV
|
||
|
CLASS="NOTE"
|
||
|
><BLOCKQUOTE
|
||
|
CLASS="NOTE"
|
||
|
><P
|
||
|
><B
|
||
|
>Note: </B
|
||
|
>Do everything that follows logged on as root.</P
|
||
|
></BLOCKQUOTE
|
||
|
></DIV
|
||
|
><P
|
||
|
>There are three distinct stages that need <EM
|
||
|
>not</EM
|
||
|
> be followed
|
||
|
in the order listed here (please feel free to use your imagination). Said
|
||
|
stages are;</P
|
||
|
><P
|
||
|
></P
|
||
|
><UL
|
||
|
><LI
|
||
|
STYLE="list-style-type: disc"
|
||
|
><P
|
||
|
>get and install X4.x</P
|
||
|
></LI
|
||
|
><LI
|
||
|
STYLE="list-style-type: disc"
|
||
|
><P
|
||
|
>get and compile kernel 2.2.18 or 2.4.x (including mknod agpgart stuff)</P
|
||
|
></LI
|
||
|
><LI
|
||
|
STYLE="list-style-type: disc"
|
||
|
><P
|
||
|
>nimbly tweak XF86Config</P
|
||
|
></LI
|
||
|
></UL
|
||
|
><DIV
|
||
|
CLASS="SECT2"
|
||
|
><H2
|
||
|
CLASS="SECT2"
|
||
|
><A
|
||
|
NAME="AEN40"
|
||
|
>2.1. Getting and installing X4.x</A
|
||
|
></H2
|
||
|
><P
|
||
|
>The first stage is of course listed only as a guide for those who have perhaps
|
||
|
tried getting XFree86 3.3.6 working with the i810 and failed, or perhaps those
|
||
|
who have not even heard that X4.x supports the i810 and have been struggling
|
||
|
vainly with their <TT
|
||
|
CLASS="FILENAME"
|
||
|
>XF86Config</TT
|
||
|
> file. I
|
||
|
suppose the majority of people who find these instructions useful will have
|
||
|
already loaded X4.x. You lot can skip this bit. Anyway, if you do need to
|
||
|
know, X4.x can be got from; <A
|
||
|
HREF="ftp://ftp.xfree86.org/pub/XFree86/4.0/binaries"
|
||
|
TARGET="_top"
|
||
|
>ftp://ftp.xfree86.org/pub/XFree86/4.0/binaries</A
|
||
|
></P
|
||
|
><P
|
||
|
>But before you rush ahead and download away you must first be sure which
|
||
|
version of X4.x suits your system. So download <TT
|
||
|
CLASS="FILENAME"
|
||
|
>Xinstall.sh</TT
|
||
|
> on its own and run (from within the
|
||
|
folder containing <TT
|
||
|
CLASS="FILENAME"
|
||
|
>Xinstall.sh</TT
|
||
|
>): </P
|
||
|
><P
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>sh Xinstall.sh -check</B
|
||
|
></TT
|
||
|
></P
|
||
|
><P
|
||
|
>The results will direct you to the correct folder within the above mentioned
|
||
|
URL from where the appropriate files for your system can be downloaded.</P
|
||
|
><P
|
||
|
>For a basic installation and to save time downloading one needs only the
|
||
|
following absolute necessities, without exception (the others are optional and
|
||
|
when included in the install process, I feel, increase the chances of things
|
||
|
going wrong for the unwary and inexperienced):
|
||
|
|
||
|
<P
|
||
|
></P
|
||
|
><TABLE
|
||
|
BORDER="0"
|
||
|
><TBODY
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="FILENAME"
|
||
|
>extract[.exe]</TT
|
||
|
></TD
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="FILENAME"
|
||
|
>Xdoc.tgz</TT
|
||
|
></TD
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="FILENAME"
|
||
|
>Xvar.tgz</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="FILENAME"
|
||
|
>Xbin.tgz</TT
|
||
|
></TD
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="FILENAME"
|
||
|
>Xfenc.tgz</TT
|
||
|
></TD
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="FILENAME"
|
||
|
>Xxserv.tgz</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="FILENAME"
|
||
|
>Xlib.tgz</TT
|
||
|
></TD
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="FILENAME"
|
||
|
>Xfnts.tgz</TT
|
||
|
></TD
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="FILENAME"
|
||
|
>Xmod.tgz</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="FILENAME"
|
||
|
>Xman.tgz</TT
|
||
|
></TD
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="FILENAME"
|
||
|
>Xetc.tgz</TT
|
||
|
></TD
|
||
|
><TD
|
||
|
> </TD
|
||
|
></TR
|
||
|
></TBODY
|
||
|
></TABLE
|
||
|
><P
|
||
|
></P
|
||
|
></P
|
||
|
><P
|
||
|
>Now knowing which set of files are suited to your system you can go ahead and
|
||
|
download whichever suits. Then install with the following command (from within
|
||
|
the folder containing freshly downloaded files): </P
|
||
|
><P
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>sh Xinstall.sh</B
|
||
|
></TT
|
||
|
></P
|
||
|
><P
|
||
|
>If you have been good everything will proceed smoothly. You will be asked some
|
||
|
questions which the README file can explain/answer better than I. If something
|
||
|
doesn't work as expected I refer you to the far more detailed, aforementioned
|
||
|
README file, which you should definitely peruse. As a newbie I always read the
|
||
|
readme files before downloading, installing, compiling and even getting up
|
||
|
from my seat to go to the toilette. You can never be too sure.</P
|
||
|
><P
|
||
|
>That is the end of this stage.</P
|
||
|
></DIV
|
||
|
><DIV
|
||
|
CLASS="SECT2"
|
||
|
><H2
|
||
|
CLASS="SECT2"
|
||
|
><A
|
||
|
NAME="AEN80"
|
||
|
>2.2. Get and compile kernel 2.2.18 or 2.4.x (including mknod agpgart
|
||
|
stuff)</A
|
||
|
></H2
|
||
|
><P
|
||
|
>You can get either kernel from <A
|
||
|
HREF="ftp://ftp.kernel.com"
|
||
|
TARGET="_top"
|
||
|
>ftp://ftp.kernel.com</A
|
||
|
>. Of
|
||
|
course, read everything called README while you are at it. (In the README
|
||
|
literature that comes with the 2.4.x kernel, there is an important note about
|
||
|
where to unpack the source. Make sure you read it.) Put the kernel source file
|
||
|
in <TT
|
||
|
CLASS="FILENAME"
|
||
|
>/usr/src/kernels</TT
|
||
|
>, and
|
||
|
then run the following compile sequence, which I learned from a linuxnewbie
|
||
|
article (to which you should refer if my directions are not clear enough for
|
||
|
you, however it is specific to 2.2.x kernels). It can be found at the following address; <A
|
||
|
HREF="http://www.linuxnewbie.org/nfh/intel/compiling/kernel_update.html"
|
||
|
TARGET="_top"
|
||
|
>http://www.linuxnewbie.org/nfh/intel/compiling/kernel_update.html</A
|
||
|
>.
|
||
|
Of course, the location of the still-packed kernel is not really relevant, it
|
||
|
only matters that it is unpacked to an acceptable location. OK, now for the
|
||
|
commands:</P
|
||
|
><P
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>tar -xzvf /usr/src/kernels/linux-2.4.x.tar.gz</B
|
||
|
></TT
|
||
|
></P
|
||
|
><P
|
||
|
>or if you downloaded the better compressed bz2 version</P
|
||
|
><P
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>bzcat /usr/src/kernels/linux-2.4.x.tar.bz2 | tar xv</B
|
||
|
></TT
|
||
|
></P
|
||
|
><P
|
||
|
>and watch the screen spew out pages of information about what's happening.
|
||
|
When it is finished it will have created a new <TT
|
||
|
CLASS="FILENAME"
|
||
|
>linux</TT
|
||
|
> folder.</P
|
||
|
><P
|
||
|
>OK, so, change to the new directory:</P
|
||
|
><P
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>cd linux</B
|
||
|
></TT
|
||
|
></P
|
||
|
><P
|
||
|
>and begin the compile process proper...</P
|
||
|
><P
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>make config</B
|
||
|
></TT
|
||
|
></P
|
||
|
><P
|
||
|
><EM
|
||
|
>Or preferably</EM
|
||
|
></P
|
||
|
><P
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>make menuconfig</B
|
||
|
></TT
|
||
|
></P
|
||
|
><P
|
||
|
>There's also <B
|
||
|
CLASS="COMMAND"
|
||
|
>make xconfig</B
|
||
|
>, but you haven't got X running,
|
||
|
or you wouldn't be reading this. So that won't work. And I'm embarrassed to
|
||
|
mention it in such an imperfect fashion but there is also something like
|
||
|
<B
|
||
|
CLASS="COMMAND"
|
||
|
>make oldconfig</B
|
||
|
> but I can't find any reference to it in my
|
||
|
books. In any case I am not addressing it here, though I am sure the procedure
|
||
|
for it is very similar to that which follows for <B
|
||
|
CLASS="COMMAND"
|
||
|
>make
|
||
|
menuconfig</B
|
||
|
>, should you be awkward and want to use it.</P
|
||
|
><P
|
||
|
>Now, I have gone through three text based kernel compiles (<B
|
||
|
CLASS="COMMAND"
|
||
|
>make
|
||
|
config</B
|
||
|
>) and know how long winded they are. I reommend <B
|
||
|
CLASS="COMMAND"
|
||
|
>make
|
||
|
menuconfig</B
|
||
|
> instead, which requires only that ncurses be loaded (you
|
||
|
don't need X) and you will be taken through the pretty face of kernel
|
||
|
recompilation. I loaded ncurses during a custom install of Red Hat 6.1, but I
|
||
|
forget exactly at which stage that option is available. Otherwise ncurses is,
|
||
|
I'm sure, on your distro's CD in rpm format, so if issuing <B
|
||
|
CLASS="COMMAND"
|
||
|
>make
|
||
|
menuconfig</B
|
||
|
> just produces errors, install ncurses and try
|
||
|
again.</P
|
||
|
><P
|
||
|
>The most relevant stages of the <B
|
||
|
CLASS="COMMAND"
|
||
|
>make</B
|
||
|
> process for solving
|
||
|
our particular problem are:</P
|
||
|
><P
|
||
|
></P
|
||
|
><UL
|
||
|
><LI
|
||
|
STYLE="list-style-type: disc"
|
||
|
><P
|
||
|
>to select EXPERIMENTAL early on (by hitting return while the very first option
|
||
|
is highlighted and then selecting the only suboption which is consequently
|
||
|
revealed),</P
|
||
|
></LI
|
||
|
><LI
|
||
|
STYLE="list-style-type: disc"
|
||
|
><P
|
||
|
>towards the bottom of the base options, to enter "Character Devices" and
|
||
|
select (not as "M" but as "*") "/dev/agpgart (AGP) support" (only available if
|
||
|
the above instruction has been followed), and</P
|
||
|
></LI
|
||
|
><LI
|
||
|
STYLE="list-style-type: disc"
|
||
|
><P
|
||
|
>select the appropriate sub-option of "/dev/agpgart (AGP) support" (again not
|
||
|
as a module "M" but as a static part of the kernel "*"), namely the "I810/I810
|
||
|
dc100I810e support" part.</P
|
||
|
></LI
|
||
|
></UL
|
||
|
><DIV
|
||
|
CLASS="NOTE"
|
||
|
><BLOCKQUOTE
|
||
|
CLASS="NOTE"
|
||
|
><P
|
||
|
><B
|
||
|
>Note: </B
|
||
|
>The above explanation assumes you have run <B
|
||
|
CLASS="COMMAND"
|
||
|
>make menuconfig</B
|
||
|
>
|
||
|
and so a little thinkology will be required to map it to a situation where
|
||
|
<B
|
||
|
CLASS="COMMAND"
|
||
|
>make</B
|
||
|
> has been issued instead. But only a little.</P
|
||
|
></BLOCKQUOTE
|
||
|
></DIV
|
||
|
><P
|
||
|
>(It has been pointed out to me that loading these features as modules would be
|
||
|
more logical, since they are not required until <B
|
||
|
CLASS="COMMAND"
|
||
|
>startx</B
|
||
|
> is
|
||
|
run. I have not tried the 'loadable module way' yet and will ammend this
|
||
|
section of the HOWTO after I have tested it. I recommend the static mode here
|
||
|
because I ran this procedure on a test version of the 2.4.x kernel and it was
|
||
|
suggested to me that loading statically was a safer and stabler way to go. Now
|
||
|
that 2.4.x is officially out there, perhaps modules will be more sensible.
|
||
|
I'll let you know how it goes. (Thanks to Heron Ordonez for this.))</P
|
||
|
><P
|
||
|
>When all is over and you feel calm enough, do this;
|
||
|
|
||
|
<P
|
||
|
></P
|
||
|
><TABLE
|
||
|
BORDER="0"
|
||
|
><TBODY
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>make dep</B
|
||
|
></TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>make clean</B
|
||
|
></TT
|
||
|
> (not violently necessary but does no
|
||
|
harm)</TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>make bzImage</B
|
||
|
></TT
|
||
|
> (takes a while, this bit)</TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>make modules</B
|
||
|
></TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>make modules_install</B
|
||
|
></TT
|
||
|
></TD
|
||
|
></TR
|
||
|
></TBODY
|
||
|
></TABLE
|
||
|
><P
|
||
|
></P
|
||
|
></P
|
||
|
><P
|
||
|
>Now have a look at the <TT
|
||
|
CLASS="FILENAME"
|
||
|
>/boot</TT
|
||
|
> directory.
|
||
|
You will probably see that <TT
|
||
|
CLASS="FILENAME"
|
||
|
>System.map</TT
|
||
|
> is
|
||
|
a symbolic link to <TT
|
||
|
CLASS="FILENAME"
|
||
|
>System.map-[your_kernel_version]</TT
|
||
|
> and <TT
|
||
|
CLASS="FILENAME"
|
||
|
>vmlinuz</TT
|
||
|
> is a symbolic link to <TT
|
||
|
CLASS="FILENAME"
|
||
|
>vmlinuz-[your_kernel_version]</TT
|
||
|
>. This arrangement is
|
||
|
true for many distros, but not all. I think some store <TT
|
||
|
CLASS="FILENAME"
|
||
|
>vmlinuz</TT
|
||
|
> in <TT
|
||
|
CLASS="FILENAME"
|
||
|
>/</TT
|
||
|
>,
|
||
|
while <TT
|
||
|
CLASS="FILENAME"
|
||
|
>System.map</TT
|
||
|
> resides in <TT
|
||
|
CLASS="FILENAME"
|
||
|
>/boot</TT
|
||
|
>. Whatever the case is, use your brain and
|
||
|
apply these instructions accordingly. So, basically you need to remove the
|
||
|
symbolic links like so:
|
||
|
|
||
|
<P
|
||
|
></P
|
||
|
><TABLE
|
||
|
BORDER="0"
|
||
|
><TBODY
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>rm System.map</B
|
||
|
></TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>rm vmlinuz</B
|
||
|
></TT
|
||
|
></TD
|
||
|
></TR
|
||
|
></TBODY
|
||
|
></TABLE
|
||
|
><P
|
||
|
></P
|
||
|
></P
|
||
|
><P
|
||
|
>Then new symbolic links need to be created to the
|
||
|
about-to-be-copied-over-while-simultaneously-being-renamed, recently created
|
||
|
files. It goes like this (assuming you have an i386 computer):
|
||
|
|
||
|
<P
|
||
|
></P
|
||
|
><TABLE
|
||
|
BORDER="0"
|
||
|
><TBODY
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>cp /usr/src/kernels/linux/arch/i386/boot/bzImage
|
||
|
/boot/vmlinuz-2.4.x</B
|
||
|
></TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>ln -s /boot/vmlinuz-2.4.x
|
||
|
/boot/vmlinuz</B
|
||
|
></TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>cp /usr/src/kernels/linux/System.map
|
||
|
/boot/System.map-2.4.x</B
|
||
|
></TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>ln -s /boot/System.map-2.4.x
|
||
|
/boot/System.map</B
|
||
|
></TT
|
||
|
></TD
|
||
|
></TR
|
||
|
></TBODY
|
||
|
></TABLE
|
||
|
><P
|
||
|
></P
|
||
|
></P
|
||
|
><DIV
|
||
|
CLASS="TIP"
|
||
|
><BLOCKQUOTE
|
||
|
CLASS="TIP"
|
||
|
><P
|
||
|
><B
|
||
|
>Tip: </B
|
||
|
>You don't need to use absolute pathnames if you are in <TT
|
||
|
CLASS="FILENAME"
|
||
|
>/boot</TT
|
||
|
>. But if you are the excessively cautious type
|
||
|
and do use absolute pathnames, you just have longer names for your symbolic
|
||
|
files. In fact the whole symbolic link thing here is only necessary if
|
||
|
you want to play it that way. Essentially, minimalistically, you can have
|
||
|
one kernel called <TT
|
||
|
CLASS="FILENAME"
|
||
|
>vmlinuz</TT
|
||
|
>
|
||
|
and name all the others by their version number (or just trash them!), and swap
|
||
|
all the names around when you want to boot another kernel. Or give each kernel a unique
|
||
|
name, and have one entry per kernel in <TT
|
||
|
CLASS="FILENAME"
|
||
|
>/etc/lilo.conf</TT
|
||
|
>.
|
||
|
It's up to you.</P
|
||
|
></BLOCKQUOTE
|
||
|
></DIV
|
||
|
><P
|
||
|
>Now you need to edit <TT
|
||
|
CLASS="FILENAME"
|
||
|
>/etc/lilo.conf</TT
|
||
|
>.
|
||
|
This is achieved thusly:
|
||
|
|
||
|
<P
|
||
|
></P
|
||
|
><TABLE
|
||
|
BORDER="0"
|
||
|
><TBODY
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
>image=/boot/vmlinuz</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
>label=[what-ever-you-want-that-is-relevant-easy-to-type-and-remember]</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
>read-only</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
>root=/dev/hda[n]</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
></TBODY
|
||
|
></TABLE
|
||
|
><P
|
||
|
></P
|
||
|
></P
|
||
|
><P
|
||
|
>After editing <TT
|
||
|
CLASS="FILENAME"
|
||
|
>lilo.conf</TT
|
||
|
> you must do this:</P
|
||
|
><P
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>/sbin/lilo</B
|
||
|
></TT
|
||
|
></P
|
||
|
><P
|
||
|
>so that the crisp, shiny, new linux kernel be made known to lilo, otherwise (I
|
||
|
have experienced this) the new kernel will not be available for booting. Which
|
||
|
would be silly. So after all this take a deep breath and reboot, select your
|
||
|
new kernel and with fingers crossed, watch. It should work. If it does, go and
|
||
|
celebrate a little. But don't let it get to your head because you have yet to
|
||
|
mknod the agpgart module, a simple yet essential procedure done thusly:
|
||
|
|
||
|
<P
|
||
|
></P
|
||
|
><TABLE
|
||
|
BORDER="0"
|
||
|
><TBODY
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>cd /dev</B
|
||
|
></TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>mknod agpgart c 10 175</B
|
||
|
></TT
|
||
|
></TD
|
||
|
></TR
|
||
|
></TBODY
|
||
|
></TABLE
|
||
|
><P
|
||
|
></P
|
||
|
></P
|
||
|
><P
|
||
|
>which basically creates the very essential character device (X won't run
|
||
|
without it) driver which acts kinda like a 'go-between' for the i810 chipset
|
||
|
and the X server. (Thanks to Heron Ordonez for saving me some embarrassment
|
||
|
here.) Pretty scientic stuff. Sorry about that.</P
|
||
|
><P
|
||
|
>That was the end of this stage.</P
|
||
|
></DIV
|
||
|
><DIV
|
||
|
CLASS="SECT2"
|
||
|
><H2
|
||
|
CLASS="SECT2"
|
||
|
><A
|
||
|
NAME="AEN192"
|
||
|
>2.3. Nimbly tweak XF86Config</A
|
||
|
></H2
|
||
|
><P
|
||
|
>I've done a lot of this and it get's mighty tedious when it fails 23 times in
|
||
|
a row I CAN TELL YOU, so pay attention and read very closely the man page (run
|
||
|
<TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>man XF86Config</B
|
||
|
></TT
|
||
|
> at the command prompt). First of all I
|
||
|
recommend running the in-no-way-user-friendly <B
|
||
|
CLASS="COMMAND"
|
||
|
>xf86config</B
|
||
|
>
|
||
|
(<EM
|
||
|
>observe case!</EM
|
||
|
>) to genertate a base <TT
|
||
|
CLASS="FILENAME"
|
||
|
>XF86Config</TT
|
||
|
> file as the other tools seem to produce
|
||
|
<TT
|
||
|
CLASS="FILENAME"
|
||
|
>XF86Config</TT
|
||
|
> files which are in my
|
||
|
experience incompatible with X4.x. When you run through the questions
|
||
|
<B
|
||
|
CLASS="COMMAND"
|
||
|
>xf86config</B
|
||
|
> asks and you reach the card section, there will
|
||
|
be nothing for you to choose, so choose that very nothing. You'll be entering
|
||
|
the right stuff later, after the base file has been created. Then, after
|
||
|
answering all the questions as well as you can, save the file as <TT
|
||
|
CLASS="FILENAME"
|
||
|
>/etc/X11/XF86Config</TT
|
||
|
>.</P
|
||
|
><P
|
||
|
> So, finally, the all important addition is:
|
||
|
|
||
|
<P
|
||
|
></P
|
||
|
><TABLE
|
||
|
BORDER="0"
|
||
|
><TBODY
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
>Section "Device"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> Identifier "i810"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> Driver "i810"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> VideoRam "4096"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
></TBODY
|
||
|
></TABLE
|
||
|
><P
|
||
|
></P
|
||
|
></P
|
||
|
><P
|
||
|
>and it should be inserted in the Graphics Device Section. There should in any
|
||
|
case be an existing "Device" section which you could edit if you prefer. From
|
||
|
thereon you should, having defined the i810 for X, enter "i810" wherever you
|
||
|
see a "Device" field. I am including a couple of sections from my <TT
|
||
|
CLASS="FILENAME"
|
||
|
>XF86Config</TT
|
||
|
> file as an example, and hopefully to
|
||
|
make a little clearer what I mean:
|
||
|
|
||
|
<P
|
||
|
></P
|
||
|
><TABLE
|
||
|
BORDER="0"
|
||
|
><TBODY
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
>Section "Device"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> Identifier "i810"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> Driver "i810"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> VideoRam "4096"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
></TBODY
|
||
|
></TABLE
|
||
|
><P
|
||
|
></P
|
||
|
></P
|
||
|
><P
|
||
|
><P
|
||
|
></P
|
||
|
><TABLE
|
||
|
BORDER="0"
|
||
|
><TBODY
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
>Section "Screen"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> Identifier "Screen 1"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> Device "i810"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> Monitor "Highscreen
|
||
|
17inch"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> DefaultColorDepth 24</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> SubSection "Display"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> Depth 8</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> Modes "1024x768"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> EndSubSection</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> SubSection "Display"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> Depth 15</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> Modes "1024x768"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> EndSubSection</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> SubSection "Display"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> Depth 16</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> Modes "1024x768"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> EndSubSection</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> SubSection "Display"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> Depth 24</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> Modes "1024x768"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> EndSubSection</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> SubSection "Display"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> Depth 32</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> Modes "1024x768"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> EndSubSection</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
>EndSection</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
></TBODY
|
||
|
></TABLE
|
||
|
><P
|
||
|
></P
|
||
|
></P
|
||
|
><DIV
|
||
|
CLASS="WARNING"
|
||
|
><P
|
||
|
></P
|
||
|
><TABLE
|
||
|
CLASS="WARNING"
|
||
|
BORDER="1"
|
||
|
WIDTH="100%"
|
||
|
><TR
|
||
|
><TD
|
||
|
ALIGN="CENTER"
|
||
|
><B
|
||
|
>Warning</B
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
ALIGN="LEFT"
|
||
|
><P
|
||
|
>As you can see I have only given X the option of "1024x768", and have a
|
||
|
default colour depth of 24 bits, because I like it that way, and the i810 can
|
||
|
easily cope with that resolution and depth on my 17" monitor. How that would
|
||
|
work on a 21" I do not know. Experimentation will teach you.</P
|
||
|
></TD
|
||
|
></TR
|
||
|
></TABLE
|
||
|
></DIV
|
||
|
><P
|
||
|
>I am going to be boring and say it again, but a more complete understanding
|
||
|
than I can give here of the mysteries of the <TT
|
||
|
CLASS="FILENAME"
|
||
|
>XF86Config</TT
|
||
|
> file can be achieved by closely reading
|
||
|
the man page (see above). This is really important if you want to have a
|
||
|
chance of solving any problems that are bound to come up now and again, that
|
||
|
have not been covered here.</P
|
||
|
><P
|
||
|
>That should do it. Now save <TT
|
||
|
CLASS="FILENAME"
|
||
|
>XF86Config</TT
|
||
|
>
|
||
|
and run:</P
|
||
|
><P
|
||
|
><TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>startx</B
|
||
|
></TT
|
||
|
></P
|
||
|
><P
|
||
|
>It should work. It did for me. You will be happy. If not contact me at
|
||
|
<TT
|
||
|
CLASS="EMAIL"
|
||
|
><<A
|
||
|
HREF="mailto:trussl@hotmail.com"
|
||
|
>trussl@hotmail.com</A
|
||
|
>></TT
|
||
|
> and I will endeavour to help you.</P
|
||
|
><DIV
|
||
|
CLASS="NOTE"
|
||
|
><BLOCKQUOTE
|
||
|
CLASS="NOTE"
|
||
|
><P
|
||
|
><B
|
||
|
>Note: </B
|
||
|
>This is a kind of a p.s. to this section but may be helpful. I had a wee
|
||
|
problem when going through the XF86Config part of this HOWTO during a test
|
||
|
run. It stemmed from having read but not fully understood some blurb about the
|
||
|
i810 and X4.x not working at all resolutions with a buffer extension (or
|
||
|
something like that). Anyway, I made no notes about this and cannot therefore
|
||
|
remember exactly what I read. Because I remember this vaguely I can only say
|
||
|
the following with certainty; you need the following stanza at the beginning
|
||
|
of your <TT
|
||
|
CLASS="FILENAME"
|
||
|
>XF86Config</TT
|
||
|
> file:
|
||
|
|
||
|
<P
|
||
|
></P
|
||
|
><TABLE
|
||
|
BORDER="0"
|
||
|
><TBODY
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
># This loads the DBE extension
|
||
|
module</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> Load "dbe" # Double buffer
|
||
|
extension</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
># This loads the miscellaneous extensions module, and
|
||
|
disables </TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
># initialisation of the XFree86-DGA extension within
|
||
|
that module.</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> SubSection "extmod"</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> Option "omit xfree86-dga" # don't initialise the
|
||
|
DGA extension</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
><TT
|
||
|
CLASS="COMPUTEROUTPUT"
|
||
|
> EndSubSection</TT
|
||
|
></TD
|
||
|
></TR
|
||
|
></TBODY
|
||
|
></TABLE
|
||
|
><P
|
||
|
></P
|
||
|
></P
|
||
|
><P
|
||
|
>So if X reports errors about a "shape extender" or "shape extension", you may
|
||
|
well find that your <TT
|
||
|
CLASS="FILENAME"
|
||
|
>XF86Config</TT
|
||
|
> file is
|
||
|
missing the above listed stanza.</P
|
||
|
></BLOCKQUOTE
|
||
|
></DIV
|
||
|
></DIV
|
||
|
></DIV
|
||
|
><DIV
|
||
|
CLASS="NAVFOOTER"
|
||
|
><HR
|
||
|
ALIGN="LEFT"
|
||
|
WIDTH="100%"><TABLE
|
||
|
WIDTH="100%"
|
||
|
BORDER="0"
|
||
|
CELLPADDING="0"
|
||
|
CELLSPACING="0"
|
||
|
><TR
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="left"
|
||
|
VALIGN="top"
|
||
|
><A
|
||
|
HREF="x21.html"
|
||
|
>Prev</A
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="34%"
|
||
|
ALIGN="center"
|
||
|
VALIGN="top"
|
||
|
><A
|
||
|
HREF="index.html"
|
||
|
>Home</A
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="right"
|
||
|
VALIGN="top"
|
||
|
><A
|
||
|
HREF="x308.html"
|
||
|
>Next</A
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="left"
|
||
|
VALIGN="top"
|
||
|
>Introduction</TD
|
||
|
><TD
|
||
|
WIDTH="34%"
|
||
|
ALIGN="center"
|
||
|
VALIGN="top"
|
||
|
> </TD
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="right"
|
||
|
VALIGN="top"
|
||
|
>Thank you</TD
|
||
|
></TR
|
||
|
></TABLE
|
||
|
></DIV
|
||
|
></BODY
|
||
|
></HTML
|
||
|
>
|