home *** CD-ROM | disk | FTP | other *** search
/ ANews 2 / AnewsCD2.iso / LinuxPPC / Amiga / faq / faq.sgml < prev    next >
Encoding:
SGML Document  |  1999-10-08  |  182.6 KB  |  5,257 lines

  1. <!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
  2. <!-- $Id: faq.sgml,v 1.80 1999/09/16 13:35:06 jskov Exp $ -->
  3. <!ENTITY thisdoc "The &linapus; Doc'n'FAQ">
  4.  
  5. <!ENTITY linux "Linux">
  6. <!ENTITY linapus "Linux/APUS">
  7. <!ENTITY linm68k "Linux/m68k">
  8. <!ENTITY linppc "Linux/PPC">
  9.  
  10. <!ENTITY cpuppc "PowerPC">
  11. <!ENTITY cpum68k "MC68k">
  12. <!ENTITY cpu040 "MC68040">
  13. <!ENTITY cpu060 "MC68060">
  14. <!ENTITY cpu603 "PPC603p">
  15. <!ENTITY cpu604 "PPC604">
  16.  
  17. <!ENTITY sunsite "SunSITE Denmark">
  18.  
  19. <!ENTITY gvp "GVP">
  20.  
  21. <!ENTITY p5 "Phase5">
  22. <!ENTITY pup "PowerUp">
  23. <!ENTITY blzppc "Blizzard/PPC">
  24. <!ENTITY cybppc "CyberStorm/PPC">
  25.  
  26. <!ENTITY gdb "<application>GDB</application>">
  27. <!ENTITY x "<application>X</application>">
  28.  
  29. <!ENTITY dmesg "<application>dmesg</application>">
  30. <!ENTITY boothack "<application>boothack</application>">
  31. <!ENTITY amiboot "<application>amiboot</application>">
  32.  
  33. <!ENTITY rh "RedHat">
  34. <!ENTITY rpm "RPM">
  35. <!ENTITY rhinstaller "RedHat Installer">
  36. <!ENTITY rhppc "RedHat/PPC">
  37. <!ENTITY rhrc "RedHat/Rough Cuts">
  38.  
  39. <!ENTITY debian "Debian">
  40. <!ENTITY debppc "Debian/PPC">
  41. <!ENTITY deb "DEB">
  42.  
  43. <!ENTITY amiga "Amiga">
  44. <!ENTITY ados "&amiga DOS">
  45. <!ENTITY hdtbox "<application>HDToolBox</application>">
  46.  ]>
  47.  
  48. <!-- TODO:
  49. add version information
  50. make some of the lists into tables
  51. footnoteref only works on same page :(
  52. -->
  53.  
  54. <book id="faq">
  55.   <bookinfo>
  56.     <date>$Date: </date>
  57.     <title>&thisdoc;</title>
  58.     <releaseinfo>documentation in progress</releaseinfo>
  59.     <authorgroup>
  60.       <author>
  61.     <firstname>Jesper</firstname>
  62.     <surname>Skov</surname>
  63.       </author>
  64.     </authorgroup>
  65.     <address><email>jskov@cygnus.co.uk</email></address>
  66.     <copyright><year>1998, 1999</year>
  67.       <holder>Jesper Skov</holder></copyright>
  68.     
  69.     <abstract>
  70.       <para>This document contains frequently asked questions (and
  71.     answers) about &linapus; (&linux; for &amiga; &pup; Systems) as
  72.     well as general documentation of the &linapus; port.</para>
  73.     </abstract>
  74.   </bookinfo>
  75.   <toc></toc>
  76.  
  77.   <chapter id="firststop"> <title>First Stop</title>
  78.     <para> Hello!</para>
  79.  
  80.     <para> Welcome to &thisdoc;. I hope you will find what
  81.       you are looking for... But wait! Before you read on, please
  82.       consider this plea for help.</para>
  83.     
  84.     <para> Given the broad subject, it is unfortunately not
  85.       possible to cover everything Linux related in &thisdoc;. Only
  86.       &linapus; issues are covered, and to some extend, a few generic
  87.       &amiga; issues. This is not entirely bad, because that leaves
  88.       the remaining (and majority) of documentation issues in the
  89.       hands of more capable people than myself. What you should expect
  90.       to find though, are relevant links to other documentation
  91.       resources so you have somewhere else to go when you get past the
  92.       first few steps.</para>
  93.  
  94.     <para> Even if this document only covers &linapus;
  95.       related issues, some users (perhaps you are one) will get their
  96.       first taste of &linux;, an operating system vastly different
  97.       from ADOS, via &linapus;, possibly reading &thisdoc; as an
  98.       introduction.  Therefore it is imperative that the documentation is
  99.       relevant, up-to-date and has all the necessary resource links a
  100.       first time Linux user may need.</para>
  101.  
  102.     <para> Given that I, and other people who have used
  103.       &linapus; for a while, already have working installations, and
  104.       have sorted out most of the problems faced by a newbie, it is
  105.       important that <emphasis>you</emphasis> help keeping &thisdoc;
  106.       up-to-date. While that may sound scary, it shouldn't -- what you
  107.       are asked to do is:</para>
  108.  
  109.     <itemizedlist>
  110.       <listitem>
  111.     <para> Point out weaknesses of &thisdoc; so they can
  112.       be corrected (preferrably with your feedback). </para>
  113.       </listitem>
  114.       <listitem>
  115.     <para> When you figure something out that had you
  116.       puzzled, write up a few paragraphs about the problem and the
  117.       solution and submit it to &thisdoc;.</para>
  118.       </listitem>
  119.     </itemizedlist>
  120.  
  121.     <para> In particular, you should be aware that there is
  122.       no fancy AI collecting experiences, tips, workarounds, or
  123.       summarizing discussions from the mailing list. If nobody follows
  124.       up on a problem, it's likely to remain a problem for the next
  125.       user. Therefore, if you get help to overcome a problem, please
  126.       consider taking a bit of time out of your (I'm sure) busy
  127.       schedule, and write something (a new FAQ entry, a new section, a
  128.       correction to an existing text) for &thisdoc;.</para>
  129.  
  130.     <para> Thanks,</para>
  131.     <para> Jesper</para>
  132.   </chapter>
  133.  
  134.   <chapter id="introduction">
  135.     <title>Introduction</title>
  136.  
  137.     <para> The &linux; port for APUS (&amiga; &pup; Systems) was
  138.       started in 1997 with support from <ulink
  139.     url="http://www.phase5.de">&p5;</ulink> who provided 3 developer
  140.       boards to Jes Sørensen, Roman Zippel and Jesper Skov.</para>
  141.  
  142.     <para>Initially it seemed that the proprietary information needed
  143.       to make the port would make a bad mix with the open source model
  144.       of &linux;.  Indeed, it postponed the public release of &linapus;
  145.       somewhat, but it all worked out in the end. &p5; have approved
  146.       all the released information and, sparse commenting aside, all
  147.       source code changes are freely available.</para>
  148.  
  149.     <sect1 id="linux-ports"><title>&linux; ports</title>
  150.  
  151.       <para>I refer to the following ports of &linux; in this
  152.     document:</para>
  153.       
  154.       <para> <emphasis>&linm68k;</emphasis> The port for the Motorola
  155.     &cpum68k; CPU family. This is what you would use for running
  156.     &linux; on an &amiga; without &pup;. It is also the port that
  157.     &linapus; is based on, since all the drivers are the same.</para>
  158.  
  159.       <para><emphasis>&linppc;</emphasis> The port for the Motorola
  160.     &cpuppc; CPU family. The home of this port is at <ulink
  161.       url="http://www.linuxppc.org">www.linuxppc.org</ulink>. This
  162.     port has multi-machine support, including PMAC, PREP, CHRP and
  163.     partially APUS.</para>
  164.  
  165.       <para><emphasis>&linapus;</emphasis> The port targeted at &amiga;s
  166.     with &p5;'s &pup; hardware. With time, it will be a proper
  167.     part of &linppc;. It may also become a base for the support of
  168.     &cpuppc; cards from other &amiga; vendors.</para>
  169.  
  170.     </sect1>
  171.     <sect1 id="document-changes"><title>Document Changes</title> 
  172.  
  173.       <para>I will try to keep this document up to date, but if you
  174.     find something that is obsolete or wrong, please let me
  175.     know. Things marked with <emphasis>FIXME</emphasis> are known
  176.     to be incomplete or (maybe) wrong.</para>
  177.  
  178.       <para> New changes in the document are marked with
  179.     colors. Recent changes are red, and as the changes age they
  180.     fade to blue and then black over a period of 14 days or
  181.     so. Sections containing these colored changes will be dated so
  182.     they can be easily identified from the table of contents. The
  183.     colors work fine (IMO) with the default Netscape colors. If
  184.     you use a customized color scheme, you might want to generate
  185.     the HTML pages without the colors: use the DocBook
  186.     <application>db2html</application> and the file
  187.     <filename>faq.sgml</filename> from the docs directory at
  188.     &sunsite;.</para>
  189.  
  190.     </sect1>
  191.   </chapter>
  192.   <chapter id="getting-the-kernel"><title>Getting The Kernel</title>
  193.  
  194.     <para> Precompiled kernel images and a special version of
  195.     &amiboot; (called &boothack;) can be downloaded from
  196.       &sunsite;.</para>
  197.  
  198.       <para> Before you download anything, you should read <xref
  199.     linkend="working"> and <xref linkend="problems"> to prevent
  200.       yourself from getting a nasty surprise. Also, I suggest you
  201.       start by downloading only what is needed to get a minimal
  202.       system installed (see <xref linkend="installing">) - if this
  203.         is working you can then download the applications you want to
  204.         run.</para>
  205.  
  206.     <sect1 id="the-kernel-images"><title>The Kernel Images</title>
  207.  
  208.       <para> The kernel archives at &sunsite; (see <xref
  209.       linkend="sunsite">) are named
  210.       <filename>vmapus-YYMMDD.lzh</filename> and contain three files:
  211.       <filename>vmlinux</filename> (the actual kernel image),
  212.       <filename>System.map</filename> (a list of symbols/addresses in
  213.       the kernel) and <filename>.config</filename> (describing how the
  214.       kernel was configured).</para>
  215.  
  216.       <para>You only need the kernel image to boot &linux;, but the
  217.     other files may help track down bugs. Please read <xref
  218.       linkend="dev-kernel-debugging"> for information about how
  219.       you can use a kernel dump and the
  220.       <filename>System.map</filename> file to help yourself or
  221.       others locate a bug.</para>
  222.  
  223.       <para> Precompiled kernels are provided for the
  224.     2.2.x series kernels (stable release). The 2.3.x kernels are only
  225.     available in source form. People who want the bleeding edge stuff
  226.     should compile their kernels themselves (see <xref
  227.       linkend="dev-recompile">).</para>
  228.  
  229.       <sect2 id="included-hardware-drivers">
  230.     <title>Included Hardware Drivers</title>
  231.  
  232.     <para>The precompiled kernel image includes drivers for the
  233.       hardware listed below. The drivers are
  234.       <emphasis>exactly</emphasis> the same as in &linm68k; so they
  235.       will not work better (or worse, hopefully) and you need to
  236.       take the same precautions with some of the drivers (e.g.,
  237.       CyberVision) as you would in &linm68k;. Consult the &linm68k; FAQ
  238.       (see <xref linkend="links">) if you have problems.</para>
  239.  
  240.     <para>A list of drivers that are known to
  241.       <emphasis>work</emphasis> can be found in <xref
  242.         linkend="working">.</para>
  243.  
  244.     <informaltable frame="all">
  245.       <tgroup cols="2">
  246.         <thead>
  247.           <row>
  248.         <entry>DISPLAY</entry>
  249.         <entry>BLOCK</entry>
  250.         <entry>CHAR</entry>
  251.         <entry>NET</entry>
  252.         <entry>SCSI</entry>
  253.           </row>
  254.         </thead>
  255.         <tbody>
  256.           <row>
  257.         <entry>OCS, ECS, AGA, CyberVision, CyberVision/3D,
  258.           PM2 (CyberVision/PPC)
  259.           <footnote>
  260.             <para> The driver included in the
  261.               precompiled kernel is an old beta. If you want
  262.               the up-to-date version get the latest sources
  263.               from the PM2 webpage (see <xref
  264.             linkend="links">). Don't expect the
  265.             precompiled version to behave as described on
  266.             the webpage!</para>
  267.           </footnote>, RetinaZ3, Clgen</entry>
  268.  
  269.         <entry>&amiga; floppy, A1200/A4000 IDE, IDEDoubler,
  270.           Buddha</entry>
  271.  
  272.         <entry>&amiga; serial, &amiga; keyboard, &amiga;
  273.           mouse, &gvp; IO extender (ser)
  274.           <footnote>
  275.             <para> On some machines, the IO
  276.               extender may cause the kernel to hang at
  277.               startup. A crude hack can be used to work
  278.               around this problem - ask on the mailing list
  279.               for details if necessary.</para>
  280.           </footnote>,
  281.           MultifaceIII ser, Whippet</entry>
  282.  
  283.         <entry> Ariadne, AriadneII, A2065, Hydra,
  284.           A1200 PCMCIA/NE2000</entry>
  285.  
  286.         <entry>
  287.           A3000, A4091+A4000T<footnote id="a4000tscsi">
  288.             <para>You have to disable the use of BATs to map
  289.               main memory. Add <option>"nobats"</option> to
  290.               your kernel options.  There are
  291.               still some stability problems with this driver
  292.               under &linapus;.</para>
  293.           </footnote>
  294.           
  295.           , BlizzardPPC<footnote id="blzscsi">
  296.             <para>You have to disable the use of BATs to map
  297.               main memory. Add <option>"nobats"</option> to
  298.               your kernel options.</para>
  299.           </footnote>
  300.           , A2091, GVP11
  301.         </entry>
  302.           </row>
  303.         </tbody>
  304.       </tgroup>
  305.     </informaltable>
  306.     
  307.     <para>If you have hardware for which you would like to see an
  308.       <emphasis>existing</emphasis> &linm68k; driver included, please
  309.       let me know. You should restrict your request to something
  310.       you need to get your system installed as the precompiled
  311.       kernel is already pretty big.  Some drivers will be include
  312.       for testing purposes (like sound) and be removed again when
  313.       they have been reported as working.</para>
  314.  
  315.     <!-- EMPTY LIST
  316.       <para>The following drivers have been requested, but I'm not
  317.     able to compile them out of the box:</para>
  318.  
  319.       <itemizedlist>
  320.       </itemizedlist>
  321.     
  322.       <para>If you have the above hardware and know C, you can help
  323.     yourself and others by trying to get it to compile with
  324.     &linapus;, or help get it properly integrated into &linm68k;.</para>
  325.     -->
  326.  
  327.       </sect2>
  328.       <sect2 id="included-software-drivers">
  329.     <title>Included Software Drivers</title>
  330.  
  331.     <para>The kernel also includes these software drivers:</para>
  332.  
  333.     <informaltable frame="all">
  334.       <tgroup cols="2">
  335.         <thead>
  336.           <row>
  337.         <entry>FS</entry>
  338.         <entry>PARTTBL</entry>
  339.         <entry>PROTOCOLS</entry>
  340.         <entry>MISC</entry>
  341.           </row>
  342.         </thead>
  343.         <tbody>
  344.           <row>
  345.         <entry>affs, dos, ext2, iso9660, minix, nfs, proc,
  346.           vfat, hfs</entry> 
  347.         <entry>amiga, msdos, mac</entry>
  348.         <entry>ppp, slip</entry>
  349.         <entry>ram disk, z2/motherboard swap, loop</entry>
  350.           </row>
  351.         </tbody>
  352.       </tgroup>
  353.     </informaltable>
  354.  
  355.       </sect2>
  356.     </sect1>
  357.  
  358.   </chapter>
  359.   <chapter id="installing"><title>Installing</title>
  360.  
  361.     <para>In this chapter I will try to help you through the steps of
  362.       installing a &linapus; system. This is based on the &rhppc; system -
  363.       if you want to install another package distribution or compile
  364.       applications yourself, you are pretty much on your own.  The
  365.       only reason for describing how to install a &rhppc; system and
  366.       not &debian; is that &rhppc; seems to be (at the moment) the
  367.       primary system used by &linppc;. By the way, &rhppc; is not
  368.       coordinated by &rh; but by &linppc; developers.</para>
  369.  
  370.     <para>It might be a good idea to read this entire chapter before
  371.       you start downloading anything - so you know what is required
  372.       for what you want to do.</para>
  373.  
  374.     <para>If you don't know how to do some of the things mentioned
  375.       here (or are unclear about something) you should get an install
  376.       help text. You should be able to find several by looking for
  377.       links at <ulink
  378.     url="http://www.linux-m68k.org">www.linux-m68k.org</ulink>.</para>
  379.  
  380.     <para>If you have corrections, additions or comments to this,
  381.       please let me know. Your feedback is important for this chapter
  382.       since new users (after <emphasis>you</emphasis> there may be
  383.       others coming this way, you know!) will probably try to follow
  384.       this - any misinformation or errors no matter how trivial should
  385.       be corrected.</para>
  386.  
  387.     <sect1 id="files-required-for-booting">
  388.       <title>Files Required For Booting</title>
  389.  
  390.       <para>You need to get files from the following: <xref
  391.       linkend="sd-misc">, <xref linkend="sd-install-rh">,  <xref
  392.           linkend="sd-boothack">, and  <xref
  393.           linkend="sd-22x">.</para>
  394.  
  395.       <para> You should get the following files (leave them
  396.     in the same directory):</para>
  397.  
  398.       <itemizedlist>
  399.     <listitem><para><filename>misc/kernel-options.txt</filename></para>
  400.     </listitem>
  401.     <listitem><para><filename>misc/ramdisk.image.gz</filename>
  402.         <footnote>
  403.           <para>The <filename>ramdisk.image.gz</filename> is
  404.         primarily used to test that &linapus; actually
  405.         boots. If you know it boots, don't bother downloading
  406.         it.</para> </footnote></para>
  407.     </listitem>
  408.     <listitem><para><filename>boothack/bhYYMMDD.lha</filename></para>
  409.     </listitem>
  410.     <listitem><para><filename>2.2.x/vmapus-YYMMDD.lzh</filename></para>
  411.     </listitem>
  412.     <listitem><para><filename>
  413.           install/redhat/apus-rh-ramdiskimageYYMMDD.gz</filename></para>
  414.     </listitem>
  415.       </itemizedlist>
  416.  
  417.       <para>Unpack the archives (the version of
  418.     <application>lha</application> I use under &linux; appends the
  419.     suffix <filename>.lzh</filename> and I'm bound to forget
  420.     renaming them to <filename>.lha</filename> - so I
  421.     don't):</para>
  422.  
  423.       <screen>
  424.  
  425.     lha x bhYYMMDD.lha
  426.     lha x vmapus-YYMMDD.lzh      </screen>
  427.  
  428.       <para>Leave the ram disk compressed, or it will not be
  429.     usable.</para>
  430.  
  431.     </sect1>
  432.     <sect1 id="booting-linux-apus"><title>Booting &linapus;</title>
  433.  
  434.       <para> This section describes how to boot the kernel. The basic
  435.     command required to boot &linapus; using a ram disk as main
  436.     file system is:</para>
  437.  
  438.       <screen>
  439.  
  440.     bootstrap --apus -k vmlinux -r ramdisk.image.gz root=/dev/ram </screen>
  441.  
  442.       <para>The <option>root=/dev/ram</option> option tells the kernel
  443.     to read its data from the ram disk, <option>-k</option>
  444.     specifies the kernel image to boot, <option>-r</option> the
  445.     ram disk file and <option>--apus</option> that the &cpuppc; should
  446.     be the CPU starting the kernel.</para>
  447.  
  448.       <para>The above is how you would boot on a <emphasis>simple
  449.       system</emphasis>. When issuing the command
  450.     <command>bootstrap</command> you may need additional
  451.     parameters (at the end) for the kernel to work on your
  452.     system - this is just the same as if you were booting a
  453.     &linm68k; system. Display selection, display resolution,
  454.     SCSI driver options and other things are controlled by such
  455.     additional options.</para>
  456.  
  457.       <para> There are two specific &linapus; kernel
  458.     options:</para>
  459.       <itemizedlist>
  460.     <listitem><para><option>60nsram</option></para> <para>Use
  461.         this to remove RAM waitstates. It requires 60ns
  462.         RAM.</para>
  463.     </listitem>
  464.     <listitem><para><option>nobats</option></para> <para>Use
  465.         this to prevent the use of BATs for mapping of main
  466.         memory. Selecting this incurs a small performance
  467.         overhead, but some drivers depend on each memory page
  468.         being individually mapped (A4000T/A4091 SCSI
  469.         drivers).</para>
  470.     </listitem>
  471.       </itemizedlist>
  472.  
  473.       <para>Other kernel options exist, but are shared with
  474.     &linm68k; and other ports so I don't describe them here. One
  475.     of the files you should download
  476.     (<filename>kernel-options.txt</filename>) describes the
  477.     options you can use.  The &linm68k; website/FAQ should also
  478.     contain some general information about the boot
  479.     options.</para>
  480.  
  481.       <para> A ram disk image is used to get started.  The
  482.     ram disk contains a minimal &linux; system from which you
  483.     prepare your disks. When you have done this (described in
  484.     sections below), you will normally use
  485.     <option>root=/dev/xxx</option> (where xxx is the root
  486.     partion) to boot your &linapus; system.</para>
  487.  
  488.       <para><emphasis>Notice that booting the &linapus; kernel might
  489.       blank the display for as long as 30 seconds depending on the
  490.       &cpuppc; speed.</emphasis></para>
  491.  
  492.       <para>Some people have reported problems with copying the ram
  493.     disk (and kernel) to RAM: before booting and must use a disk
  494.     partition for the files. Others need to copy the files to
  495.     RAM:, especially &blzppc; owners who use SCSI disks.</para>
  496.  
  497.       <para>Additional to options for making your hardware run
  498.     smoothly with &linux;, you may need to restrict your memory
  499.     configuration for &linapus; to work correctly.</para>
  500.  
  501.       <sect2><title>Booting via GUI</title> 
  502.  
  503.     <para>Duncan Gibb has modified Samuel Devulder's
  504.       MUIRexx-based UAEWB launcher to work with &linapus;. I
  505.       must admit that I don't know much about either. (Duncan,
  506.       when you get past your exams, please send me some text).
  507.     </para>
  508.       </sect2>
  509.  
  510.       <sect2><title>&linapus; Memory Restrictions</title>
  511.  
  512.     <para> &linapus; only supports one block of primary
  513.       memory which should be the memory on the &pup; board.  It
  514.       would be possible to support mutiple blocks, but since
  515.       there is such a big performance penalty in using other
  516.       system memory than the one on the &pup; board, it doesn't
  517.       make sense.</para>
  518.  
  519.     <para> The problem is that &linux; uses memory
  520.       much more aggressively than &ados; so all memory will be
  521.       used constantly. Because of this it is not possible to
  522.       prioritize memory blocks as it can be done under
  523.       &ados;. This means that you cannot guarantee that the most
  524.       CPU intensive applications actually run in the fastest
  525.       memory block in the system. For this reason, &linapus;
  526.       only support one block of primary memory -- the
  527.       fastest. See <xref linkend="fastswap"> for a way of using
  528.         additional memory.</para>
  529.  
  530.     <para> If you have multiple memory blocks, the one
  531.       on the &cybppc;/&blzppc; will usually have the highest
  532.       priority and be selected by default. Unfortunately, this
  533.       is not foolproof and you may have to explicitly define the
  534.       block to be used.</para>
  535.  
  536.     <para>You control the memory &linux; can see by using a memory
  537.       config file: add <option>-m
  538.         <filename>file</filename></option> after the
  539.       <option>--apus</option> option. This file should contain 2
  540.       lines: on the first the size of your chip memory, on the
  541.       second the starting address of the memory and its
  542.       size. Here's a single example.</para>
  543.     <!-- FIXME
  544.     I will add a table of options
  545.     to use for different memory sizes and locations in <xref
  546.     linkend="sec-rs">.</para>
  547.     -->
  548.  
  549.     <screen>
  550.  
  551.       2097152
  552.       0x08000000 33030144    </screen>
  553.  
  554.     <para>The format of memory files actually allow more memory
  555.       blocks to be specified (since it was created for &linm68k;),
  556.       but <emphasis>only one</emphasis> memory block can be used
  557.       in &linapus;. If you have more than one block of memory in
  558.       your system, you must specify the block located on the
  559.       &cybppc; or &blzppc; card.</para>
  560.  
  561.     <para>You should be able to get the required numbers from
  562.       showconfig or a similar tool under &ados;.</para>
  563.  
  564.     <para>Notice that the size of the memory is 512kB less than
  565.       what you would expect (33030144 is 31.5MB). This is normal
  566.       <emphasis>and required</emphasis>. The 512kB block is used
  567.       to hold the &cpuppc; exception vector table and other &p5;
  568.       stuff.</para>
  569.  
  570.  
  571.     <sect3><title>ROM Shadowing</title>
  572.  
  573.       <para>If you are using the Shadow hardware on your &p5;
  574.         &cybppc; or &blzppc; board to remap the &ados; ROM to RAM,
  575.         you should either disable this before booting &linapus; or
  576.         make sure the memory size reflects this mapping: the
  577.         memory size reported by bootstrap should be 1MB smaller
  578.         than the amount of RAM in your system. If it is only 512kB
  579.         smaller, you have to use a memfile, specifying the total
  580.         amount of RAM less the 1MB.</para>
  581.  
  582.       <para>The newer kernels (980725+) will detect the ROM
  583.         shadowing (based on the memory size) and will avoid that
  584.         chunk of memory. This means 512kB of your memory will
  585.         remain unused in &linapus;. <emphasis>If you do not
  586.           subtract the 512kB when specifying the size in a memfile,
  587.           the kernel will not boot!</emphasis></para>
  588.  
  589.     </sect3>
  590.     <!-- FIXME
  591.       <sect3><title>Memory Alignment</title>
  592.  
  593.       <para>Currently the memory in &linapus; has to be mapped
  594.     using BATs. This means that the physical address of the
  595.     memory block must have the same alignment as its
  596.     size.</para>
  597.  
  598.       <para>It should be possible to map parts of the memory space
  599.     with segment registers but this is not working at the
  600.     moment. This restriction will hopefully go away in the
  601.     future.</para>
  602.  
  603.       </sect3>
  604.     -->
  605.  
  606.     <sect3 id="fastswap"><title>Memory-to-Memory
  607.         Swapping</title>
  608.  
  609.       <para> Even though only one block of memory can
  610.         be used for primary memory in &linapus; you can use
  611.         other memory resources as a fast swapping device. Using
  612.         slower memory for swapping makes sense; your
  613.         applications are always running in the fast primary
  614.         memory on the &pup; board, but the slower memory is
  615.         still providing a much faster page swapping service than
  616.         the harddisk would.</para>
  617.  
  618.       <para> You specify a block of memory for
  619.         swapping by adding a line to the memory file (or by
  620.         relying on the default &ados; priority ordering of the
  621.         memory blocks). On my box, I have 32MB on the &cybppc;
  622.         and 8MB on the motherboard of my A4000. The default
  623.         &ados; ordering matches this memory file:</para>
  624.  
  625.       <screen>
  626.         
  627.         2097152
  628.         0x08000000 33030144
  629.         0x07800000 8388608 </screen>
  630.       
  631.       <para> Again, the default &ados; priority
  632.         ordering may do the correct thing for you. If not, you
  633.         have to use a memory file.</para>
  634.  
  635.       <para> After booting, you need to tell &linux;
  636.         to use the new swapping device. First you must add a new
  637.         device node:</para>
  638.  
  639.       <screen>
  640.         
  641.         mknod /dev/fastram b 37 4 </screen>
  642.  
  643.       <para> Each time you boot you have to initialize
  644.         the memory area (it doesn't keep its state over reboot
  645.         as your swap partition does), and enable it with a
  646.         higher priority than the swap partition (put the lines
  647.         in <filename>/etc/rc.d/sysinit</filename> or
  648.         similar). </para>
  649.  
  650.       <screen>
  651.         
  652.         mkswap /dev/fastram
  653.         swapon -p1 /dev/fastram</screen>
  654.  
  655.       <para> In the above only a single memory chunk
  656.         is used for swapping. The z2ram device can only handle
  657.         one chunk at the moment. However, it can select other
  658.         than the second chunk of the memory list; minor numbers
  659.         4, 5, 6, and 7 select memory chunks 2, 3, 4, and 5
  660.         respectively, chunk 1 being used as primary memory.</para>
  661.     </sect3>
  662.  
  663.     <!-- FIXME
  664.       <sect3 id="sec-rs"><title>Memory Configuration Examples</title>
  665.  
  666.       <para> FIXME </para>
  667.  
  668.       </sect3>
  669.     -->
  670.       </sect2>
  671.     </sect1>
  672.  
  673.     <sect1 id="the-first-step"><title>The First Step</title>
  674.  
  675.       <para> Before you go any further and start downloading
  676.     packages, you should make sure that you can actually boot
  677.     &linapus;.</para>
  678.  
  679.       <para> Get the required files for booting and follow
  680.     the boot instructions above.</para>
  681.  
  682.       <para> If all goes well &linapus; should boot,
  683.     displaying a picture of an (alcoholic :) penguin (called Tux)
  684.     in the upper left corner of the screen. Text should be output,
  685.     showing the progress of the boot, eventually leaving you with
  686.     a # prompt and a blinking cursor (unless you boot with
  687.     debug=<whatever> in which case you will not see the
  688.     text, only Tux and the prompt).</para>
  689.  
  690.       <para> Your disk partitions should be recognized,
  691.     notifying you of this fact with some output similar to:</para>
  692.  
  693.       <screen>
  694.  
  695.     Partition check:
  696.     hda: hda1
  697.     hdb: hdb1 hdb2 hdb3 hdb4   </screen>
  698.  
  699.       <para> This is a good sign as it means the disk driver
  700.     is probably working. Depending on your hardware configuration
  701.     you might not see this. Either because there exists no driver
  702.     for the disk controller, or because the driver has not been
  703.     included in the prebuilt kernel you booted. In both cases,
  704.     report your finding to the &linapus; kernel mailing list for
  705.     advice.</para>
  706.  
  707.       <para> The ram disk contains a few tools that allow
  708.     you to mount disks to see if they work as expected. This ram
  709.     disk was used in an older installation scheme, but unless you
  710.     really know what you do, you should use the &rh;
  711.     installer.</para>
  712.  
  713.       <para> If you got this far, it should be safe for you
  714.     to start downloading packages for a proper installation of
  715.     your &linapus; system. Good luck!</para>
  716.     </sect1>
  717.  
  718.     <sect1 id="preparing-partitions"><title>Preparing Partitions</title>
  719.  
  720.       <para><emphasis>Text by Thomas Lohmann</emphasis></para>
  721.  
  722.       <para>The partitions for installing &linapus; should be created
  723.     using &hdtbox; which is included in
  724.     &ados; since version 2.x.  You need at least two partitions,
  725.     one for SWAP (as big as your memory is) and one for ROOT.  You
  726.     have to set the advanced options using
  727.       &hdtbox; to ON and set the
  728.     filesystem type to "CUSTOM FILE SYSTEM", the identifier has to
  729.     be set as follows:</para>
  730.  
  731.       <itemizedlist>
  732.     <listitem><para> 0x4c4e5800 (LNX/0) For all major &linux;
  733.         partitions.</para> 
  734.     </listitem>
  735.     <listitem><para> 0x53575000 (SWP/0) For the swap
  736.         partition.</para> 
  737.     </listitem>
  738.       </itemizedlist>
  739.  
  740.       <para>You can also set "Reserved Blocks at" to 0 for both
  741.     beginning and end, but this should not be necessary.</para>
  742.  
  743.     </sect1>
  744.     <sect1 id="installing-a-redhat-system">
  745.       <title>Installing a &rh; System</title>
  746.  
  747.       <para>You can get precompiled &rh; &rpm; packages from
  748.     www.linuxppc.org (see <xref linkend="links">) or its
  749.       mirrors. You can also buy the CD-ROM (details at the WEB
  750.       site). <emphasis>&rhppc; does not explicitly support
  751.         &linapus;. None of the &linapus; developers are affiliated
  752.         with the &rhppc; developers. This help is offered "AS IS" --
  753.         without any guarantees of your success.</emphasis></para>
  754.  
  755.  
  756.       <sect2><title>&rhppc; R5/1999 Installation</title> 
  757.  
  758.     <para>See
  759.         <ulink url="http://users.iol.it/marco.dvv/marcus/htal.html">
  760.     users.iol.it/marco.dvv/marcus/htal.html</ulink> for an
  761.     installation guide.</para>
  762.     </sect2>
  763.  
  764.  
  765.       <sect2><title>&rhppc; Installation</title>
  766.  
  767.     <para><emphasis>Text by Ken Tyler</emphasis></para>
  768.  
  769.     <sect3><title>Overview</title>
  770.  
  771.       <para>The &rhinstaller; simplifies the process of
  772.         partitioning, formatting installing and configuring the
  773.         &linux; &rhppc; distribution.</para>
  774.  
  775.       <para>No previously installed &linux; is required, the
  776.         installation is started from &ados; by booting a kernel
  777.         with the &linapus; ram disk image as the root
  778.         filesystem.</para>
  779.  
  780.       <para> The &rhinstaller; has been used to install
  781.         from a hard disk partition to other partitions on the same
  782.         drive.  Christophe Decanini reports that CDROM, FTP and
  783.         NFS work.</para>
  784.  
  785.       <para>Note: See <xref
  786.           linkend="software-with-known-problems"> for a list of
  787.           applications that are known to fail.</para>
  788.  
  789.  
  790.  
  791.     </sect3>
  792.     <sect3><title>Requirements</title>
  793.  
  794.       <itemizedlist>
  795.         <listitem><para> A kernel.</para></listitem>
  796.         <listitem><para> The latest &linapus; &rhinstaller; ram
  797.         disk image (usually named <filename>
  798.           apus-rh-ramdiskimageYYMMDD.gz</filename> in
  799.         <xref linkend="sd-install-rh">).</para>
  800.         </listitem>
  801.         <listitem><para> &rpm;s, base files and
  802.         <filename>README.installer</filename>.  Available on
  803.         the &linux; &rhppc; CD-ROM or from <ulink
  804.           url="ftp://ftp.linuxppc.org">ftp.linuxppc.org</ulink>
  805.         and mirrors.</para> 
  806.  
  807.           <para> The base files required are
  808.         <filename>comps.pmac</filename>,
  809.         <filename>hdlist</filename>,
  810.         <filename>skeleton.cgz</filename> and
  811.         <filename>uglist</filename>.</para>
  812.         </listitem>
  813.         <listitem><para> A few moments spent reading
  814.         this docment, especially the Problems at the end of
  815.         this section.</para>
  816.         </listitem>
  817.       </itemizedlist>
  818.     </sect3>
  819.     
  820.     <sect3><title>What is an &rpm;?</title>
  821.  
  822.       <para> &rpm; is the acronym for &rh; Package
  823.         Manager.  This is a standalone program that installs
  824.         software on to a &linux; system. Files intended for use by
  825.         &rpm; have the extension <filename>.rpm</filename>. The
  826.         &rhinstaller has a library version of the RedHat Package
  827.         Manager in the install ramdisk.image.</para>
  828.  
  829.     </sect3>
  830.  
  831.     <sect3><title>Hard Disks</title>
  832.  
  833.       <para>The &rhinstaller; can partition and format hard disks,
  834.         but depending on which install method you use you might
  835.         need to partition your hard disk first with
  836.           &hdtbox;.  On a single drive
  837.         system, an AFFS &ados; partition is needed to hold the &rpm;s
  838.         in addition to the required &linux; and swap partitions.  On a
  839.         system with two or more drives, or when using the other
  840.         install methods the installer can do the partitioning and
  841.         formatting of the drive(s).</para>
  842.  
  843.       <para>On the AFFS drive or partition a directory <filename
  844.           class=directory>RedHat</filename> with subdirectories
  845.         <filename class=directory>RPMS</filename> and <filename
  846.           class=directory>base</filename> should be created.  The
  847.         <filename class=directory>base</filename> directory should
  848.         hold the <filename>comps.pmac</filename>,
  849.         <filename>hdlist</filename>,
  850.         <filename>skeleton.cgz</filename> and
  851.         <filename>uglist</filename> files.  The <filename
  852.           class=directory>RPMS</filename> directory is the place for
  853.         the collected &rpm;s.</para>
  854.  
  855.       <para> The suggested &rh; minimum system is about
  856.         25MB of &rpm;s which needs about 70MB of &linux; disk
  857.         space.</para>
  858.  
  859.     </sect3>
  860.     <sect3><title>Components "comps" file and <filename
  861.           class=directory>RPMS</filename></title>
  862.  
  863.       <para> Read the
  864.         <filename>README.installer</filename> for info on the
  865.         <filename>comps.pmac</filename> file format.  Basically
  866.         there are two types of line; separator lines and &rpm;
  867.         prefix lines.  Separator lines start with a digit or the
  868.         word 'end' and divide the &rpm;s into groups, &rpm; prefix
  869.         lines are partial &rpm; names.  An indented &rpm; prefix
  870.         line implies that the &rpm; specified by the preceding
  871.         non-indented line is required.  If the
  872.         <filename>comps.pmac</filename> file has entries for
  873.         &rpm;s that don't exist in the <filename class=directory>
  874.           RPMS</filename> directory the installer complains about
  875.         them but will work, but to avoid saying OK to many
  876.         warnings edit the <filename>comps.pmac</filename> file to
  877.         include only the &rpm;s you have.</para>
  878.  
  879.       <para>The long filenames of some &rpm;s are chopped at the
  880.         &amiga; 32 character limit but this is not a problem since
  881.         &rpm; will scan the packages for their full name.</para>
  882.  
  883.     </sect3>
  884.     <sect3><title>Installing</title>
  885.  
  886.       <para>Copy the
  887.         <filename>apus-rh-ramdiskimageYYMMDD.gz</filename> to RAM:
  888.         and boot specifying:</para>
  889.  
  890.       <screen>
  891.  
  892.         -r ram:apus-rh-ramdiskimageYYMMDD.gz root=/dev/ram      </screen>
  893.  
  894.       <para>in addition to the usual <option>--apus</option>,
  895.         <option>-k</option>, and <option>-m</option> options as
  896.         required.</para>
  897.  
  898.       <para>I use (all on one line) :</para>
  899.  
  900.       <screen>
  901.  
  902.         boothack --apus -v -d -m memfile -k ram:vmlinux -r ram:apus-rh-ramdiskimageYYMMDD.gz root=/dev/ram       </screen>
  903.  
  904.       <para>If all goes well a window asking if you have a color
  905.         monitor will appear.</para>
  906.  
  907.       <para>(Respond to the windows with <keycap>CR</keycap> to
  908.         enter, <keycap>SPACE</keycap> to toggle on/off and
  909.         <keycap>TAB</keycap> to move between buttons, cursor
  910.         arrows to move up and down lists.)</para>
  911.  
  912.       <para>Now comes a succession of windows guiding you through
  913.         the installation.  Reply to these to suit your system.
  914.         Choose install at the install/upgrade window.  Eventually
  915.         you should get to the window asking what packages to
  916.         install.  Select what you require or the "everything"
  917.         option at end of the list.</para>
  918.  
  919.       <para>After the Package install finishes there may be much
  920.         disk activity as the &rpm; database is created.</para>
  921.  
  922.       <para>A few more windows, networking timezone and root
  923.         password.</para>
  924.  
  925.       <para>Finally an "OK to reboot" screen should appear but
  926.         wait till the disk activity stops before
  927.         rebooting.</para>
  928.  
  929.       <para> During the the install,
  930.         <keycap>CTRL</keycap>-<keycap>Z</keycap> brings a shell
  931.         up, entering <command>exit</command> returns you to the
  932.         installer.  <keycap>ALT</keycap>-<keycap>F1</keycap> to
  933.         <keycap>ALT</keycap>-<keycap>F4</keycap> select installer,
  934.         a shell, installer log and kernel log virtual
  935.         consoles. To get <keycap>F11</keycap> to <keycap>F20</keycap>
  936.         use <keycap>SHFT</keycap>-<keycap>F1</keycap> etc.</para>
  937.     </sect3>
  938.  
  939.     <sect3><title>Required RPMS</title>
  940.  
  941.       <para> To create a list of the suggested required
  942.         &rpm;s for a minimum system, take the &rpm; prefixes in
  943.         the '1 *beforeskel*' and the '1 Base' sections of the
  944.         <filename>comps.pmac</filename> file and expand them into
  945.         the full &rpm; name as contained in the <filename
  946.           class=directory>RPMS</filename> directory.</para>
  947.     </sect3>
  948.  
  949.     <sect3 id="install-problems"><title>Problems</title>
  950.  
  951.       <para>Flashing console problem. The current CD (as at
  952.         27-Oct-98) writes an /etc/inittab that attempts to start X
  953.         at the default run level of 3 rather than run level 5. As
  954.         kernels from 2.1.120 to the 981026 release have problems
  955.         with X on some hardware, the result is alternating flashes
  956.         of login screens and blank X screens.  The same thing also
  957.         happens if the default run level is set to 5 and the
  958.         information in the XF68Config file is incorrect.  To avoid
  959.         this, either get a 981031 or newer kernel, or fix the
  960.         installation: when the installation finishes don't respond
  961.         to the "Congratulations" window but hit ALT-F2 and edit
  962.         <filename>/mnt/etc/inittab</filename>. All that needs to
  963.         be done to <filename>/mnt/etc/inittab</filename> is to
  964.         swap the comment '#' char on the last two lines of the
  965.         file. To run any of the newly installed editors you need
  966.         to specify a full path, the installed system is on
  967.         <filename class="directory">/mnt</filename>. Now hit
  968.         ALT-F1 and confirm the "Congratulations" window. Thanks to
  969.         Kolbjørn Barmen for suggesting this approach. If you
  970.         have already installed the X components and are seeing the
  971.         flashing console, you need to login and edit
  972.         <filename>/etc/inittab</filename> and make the above
  973.         change.</para>
  974.  
  975.       <para><emphasis><From Douglas Valentine></emphasis>
  976.         As it can be difficult to login through the
  977.         flashing (although it can be done) it is easier to boot in
  978.         single user mode to fix the problem. To do this add the
  979.         parameter "single" to the end of your normal boothack
  980.         parameters and boot Linux as normal.  Linux will then boot
  981.         in single user mode, which is a special maintenance mode,
  982.         instead of booting up and displaying a login prompt, it
  983.         will come to a prompt: <literal>sh-2.0.3#</literal> Now
  984.         type <literal>pico /etc/inittab</literal> and make the
  985.         change explained above, save the changes and then restart
  986.         Linux as normal (remember to remove the "single" parameter
  987.         again).
  988.       </para>
  989.  
  990.  
  991.       <para> The first version of the installer was incorrectly
  992.         named <filename>apus-rh-ramdisk.image130698.gz</filename>,
  993.         should have been called
  994.         <filename>apus-rh-ramdisk.image980613.gz</filename>.</para>
  995.  
  996.       <para>NOTE: <filename>apus-rh-ramdisk.image981003</filename>
  997.         requires the <filename>comps</filename> file to be named
  998.         <filename>comps.pmac</filename>, for earlier versions of
  999.         the installer, rename <filename>comps.pmac</filename> to
  1000.         <filename>comps</filename>.</para>
  1001.  
  1002.       <para> If you have a 4.2 CD February 98 use
  1003.         <filename>apus-rh-ramdisk.image130698.gz</filename>, if
  1004.         you have the 5.0 CD or try the other install methods use
  1005.         <filename>apus-rh-ramdisk.image981003</filename>.  The
  1006.         130698 installer has problems with the 'noarch' files in
  1007.         the 5.0 distribution.</para>
  1008.  
  1009.       <para> Three of the &rpm;s on the 4.2 CD have
  1010.         errors when installing.
  1011.         <filename>dailyscript-3.1-2.ppc.rpm</filename> writes a
  1012.         message over the progress screen,
  1013.         <filename>latex2html-96.1.revh-4.ppc.rpm</filename> and
  1014.         <filename>xmahjongg-2.0-1A.ppc.rpm</filename> fail with
  1015.         install script failed.</para>
  1016.  
  1017.       <para> I have yet to do a full install from the
  1018.         5.0 CD. Installing the suggested base was free of
  1019.         errors.</para>
  1020.  
  1021.       <para> Some users have a reported a 'missing kernel error'
  1022.         when attempting to install from downloaded &rpm;s. The
  1023.         installer tries to put a kernel into the <filename
  1024.           class=directory>/boot</filename> directory. There is no
  1025.         reason to do this as the kernels available on linuxppc.org
  1026.         are not &linapus; kernels. To avoid this edit the
  1027.         <filename>comps.pmac</filename> file and remove the two
  1028.         (4.2) or three (5.0) lines
  1029.         <filename>kernel-prep</filename>,
  1030.         <filename>kernel-pmac</filename>,
  1031.         <filename>kernel-pmac-modules</filename>.</para>
  1032.  
  1033.  
  1034.       <para>Comments, feedback about success or failure most
  1035.         welcome, I read the &linapus; list daily.</para>
  1036.  
  1037.     </sect3>
  1038.       </sect2>
  1039.  
  1040.       <sect2><title>&rhrc; Installation</title>
  1041.  
  1042.     <para> &rh; has released a CD set named Linux Rough Cuts,
  1043.       containing (unsupported) &rh; ports for (among other CPUs)
  1044.       &cpuppc; and &cpum68k;. The &cpuppc; installation is
  1045.       intended for MkLinux, but it's possible to use it for
  1046.       &linapus;.</para>
  1047.  
  1048.     <para> Basically you should follow Ken's instructions
  1049.       above. There are a few differences, primarily because the
  1050.       &rhrc; CD does not contain all the required install
  1051.       files. But follow the below instructions, and you should
  1052.       come out of it OK anyway.</para>
  1053.  
  1054.     <para> Get the file
  1055.       <filename>rh-roughcuts-981108.tgz</filename> from <xref
  1056.         linkend="sd-install-rh">. It contains what you need to get
  1057.         started.</para>
  1058.  
  1059.     <para> The layout of the &rhrc; CD is wrong (for the &linapus;
  1060.       installer), and is missing files (probably because it's
  1061.       intended to be used from MacOS). You have to create a
  1062.       correct layout. You can do this in at least two ways; 1)
  1063.       install via FTP and create the correct layout on another
  1064.       Linux box using soft links (I did this) 2) install from
  1065.       harddisk, having copied the CD contents to a harddisk and
  1066.       added the extra bits.</para>
  1067.  
  1068.     <para> Below the tree structure of the directory I created on
  1069.       Concubine for installation on Cyber (-> is a soft link
  1070.       to the file or directory on the &rhrc; CD). During
  1071.       installation I set the FTP directory to the path
  1072.       containing <filename>RedHat</filename> you see as the top
  1073.       node below.</para>
  1074.  
  1075.     <screen>
  1076.  
  1077.       `-- RedHat
  1078.       |-- RPMS -> /mnt/cdrom/RedHat/RPMS
  1079.       |-- TRANS.TBL -> /mnt/cdrom/RedHat/TRANS.TBL
  1080.       |-- base
  1081.       |   |-- RedHat -> /mnt/cdrom/RedHat/    
  1082.       |   |-- TRANS.TBL -> /mnt/cdrom/RedHat/base/TRANS.TBL
  1083.       |   |-- comps.pmac    
  1084.       |   |-- hdlist -> /mnt/cdrom/RedHat/base/hdlist
  1085.       |   |-- skeleton.cgz
  1086.       |   `-- uglist
  1087.       |-- ppc -> /mnt/cdrom/RedHat/ppc    
  1088.       `-- rpmcontents.gz -> /mnt/cdrom/RedHat/rpmcontents.gz  </screen>
  1089.     
  1090.     <para> The structure is found in the
  1091.       <filename>rh-roughcuts-981108.tgz</filename> archive; you
  1092.       might want to use it as a base. If you create it yourself,
  1093.       there are three files in there that you need to
  1094.       include:</para>
  1095.  
  1096.     <itemizedlist>
  1097.       <listitem><para><filename>comps.pmac</filename> The
  1098.           <filename>comps</filename> file from the base
  1099.           directory of the disk. The two &rpm; packages
  1100.           <emphasis>MAKEDEV</emphasis> and
  1101.           <emphasis>dev</emphasis> have been moved down as the
  1102.           last to be installed due to some problem I couldn't
  1103.           track down.</para>
  1104.       </listitem>
  1105.       <listitem><para><filename>skeleton.cgz</filename> The
  1106.           skelton file from the &rhppc; installation containing
  1107.           a few extra files.</para>
  1108.       </listitem>
  1109.       <listitem><para><filename>uglist</filename> The skelton
  1110.           file from the &rhppc; installation.</para>
  1111.       </listitem>
  1112.     </itemizedlist>
  1113.  
  1114.     <para> When you have this set up, installing is done exactly
  1115.       as with the &rhppc; CD. <note><para>The text printed out
  1116.           before the login prompt is from the &linppc; skeleton, so
  1117.           it is somewhat misleading...</para>
  1118.       </note></para>
  1119.       </sect2>
  1120.     </sect1>
  1121.  
  1122.     <sect1 id="installing-a-debian-system">
  1123.       <title>Installing a &debian; System</title>
  1124.  
  1125.       <para>You can get precompiled &debppc; &deb; packages from
  1126.     www.debian.org (see <xref linkend="links">) or its
  1127.       mirrors. Currently no &cpuppc; version of the &debian;
  1128.       CD distribution exists.</para>
  1129.  
  1130.       <sect2><title>Installation</title>
  1131.  
  1132.     <para><emphasis>Text by Michel Dänzer</emphasis></para>
  1133.  
  1134.     <para>First of all, be aware that installing &debian; is
  1135.       quite a bit harder at the moment than installing
  1136.       &rhppc;. I mention this so nobody downloads lots of stuff
  1137.       and then has to give up frustrated. There is no CD-ROM
  1138.       release until now, the guys at &debppc; want to wait until
  1139.       it's virtually equal to the i386 &deb;.  However, if
  1140.       you've got the time and will to experiment a little, give
  1141.       it a go!  You won't be deceived :-)</para>
  1142.  
  1143.     <para><emphasis>Please read all the instructions carefully
  1144.         before you start.</emphasis></para>
  1145.  
  1146.     <sect3><title>Preparing the filesystems</title>
  1147.  
  1148.       <para>You need to have an empty ext2 partition, which will
  1149.         be the root partition. You will probably need a swap
  1150.         partition and maybe others as well. It's up to you how
  1151.         you arrange things. You might want to read <xref
  1152.           linkend="preparing-partitions"> first.</para>
  1153.  
  1154.     </sect3>
  1155.     <sect3><title>Installing the base filesystem</title>
  1156.  
  1157.       <para>Get a base tarball. I have uploaded one to sunsite,
  1158.         it should be in <xref linkend="sd-install-deb">. Get the
  1159.           <filename>rd-deb-install.gz</filename> ramdisk
  1160.           there. You might want to download or at least look at
  1161.           the other files there as well.</para>
  1162.  
  1163.       <para>Unpack the base tarball. I'll quickly describe how
  1164.         to do this with the
  1165.         <filename>rd-deb-install.gz</filename>.
  1166.       </para>
  1167.       
  1168.       <para>Boot the ramdisk. Init will ask you to enter the
  1169.         runlevel, type 'S' and press enter there. Now you'll see
  1170.         a rather ugly prompt, however, it's bash, so you have
  1171.         all the commodities like command history etc. Format the
  1172.         root partition (I call it /dev/sda2 here because that's
  1173.         my root partition at home; replace it with
  1174.         <emphasis>your</emphasis> root partition):
  1175.       </para>
  1176.       
  1177.       <screen>
  1178.         
  1179.         mke2fs /dev/sda2 </screen>
  1180.       
  1181.       <para>Mount the soon-to-be root partition at /mnt/root: </para>
  1182.  
  1183.       <screen>
  1184.  
  1185.         mount -t ext2 /dev/sda2 /mnt/root </screen>
  1186.       
  1187.       <para>Mount the Amiga partition containing the base
  1188.         tarball at /mnt/amiga (Again, replace /dev/sda4 with
  1189.         your partition ;):
  1190.       </para>
  1191.       
  1192.       <screen>
  1193.         
  1194.         mount -t affs /dev/sda4 /mnt/amiga </screen>
  1195.  
  1196.       <para>CD to the base tarball's directory and unpack it with:
  1197.       </para>
  1198.  
  1199.       <screen>
  1200.  
  1201.         tar xvzpf base2_1.2.0.11.4_1998-10-15.tgz -C /mnt/root </screen>
  1202.  
  1203.       <para>The <option>p</option> switch is vital, it sets all
  1204.         permissions correctly.</para>
  1205.  
  1206.       <para>Remove the <filename>unconfigured.sh</filename>
  1207.         script which would prevent the thing from booting (Note:
  1208.         if you're unlucky and have the first version of
  1209.         <filename> rd-deb-install.gz</filename>, you will have
  1210.         to use <filename>/mnt/root/bin/rm</filename>):
  1211.       </para>
  1212.  
  1213.       <screen>
  1214.  
  1215.         rm /mnt/root/sbin/unconfigured.sh </screen>
  1216.  
  1217.       <para>You need to create
  1218.         <filename>/mnt/root/etc/fstab</filename>, or else init
  1219.         won't be able to mount the filesystems at boot time. You
  1220.         can use <filename>joe</filename> to do that:
  1221.       </para>
  1222.       
  1223.       <screen>
  1224.         
  1225.         joe /mnt/root/etc/fstab  </screen>
  1226.       
  1227.       <para>Press CTRL-K and then H for help. CTRL-K X to save the
  1228.         file.</para>
  1229.       
  1230.       <para><emphasis>FIXME: Unfortunately, there is no template
  1231.           fstab in this base tarball anymore.</emphasis> If you
  1232.         don't know how to set it up, refer to other FAQs (I
  1233.         would be glad if someone could add an example here -
  1234.         or maybe I'll do it sometime :).</para>
  1235.  
  1236.       <para>Now you're set for a first boot into your shiny new
  1237.         &debian; root partition!  Remember to unmount all
  1238.         filesystems before rebooting.</para>
  1239.  
  1240.       <screen>
  1241.         
  1242.         umount /mnt/root
  1243.         umount /mnt/amiga  </screen>
  1244.  
  1245.     </sect3>
  1246.     <sect3><title>The first boot</title>
  1247.  
  1248.       <para>It should boot right through to the login
  1249.         screen. You must login as root.</para>
  1250.  
  1251.       <para>Now you can start installing additional
  1252.         packages. All the needed stuff like pppd, ftp, etc. is
  1253.         there, so the main problem remaining is probably setting
  1254.         up pppd. Try <application>pppconfig</application>, a
  1255.         tool for that purpose with a User Interface. If that
  1256.         doesn't work, bad luck, check out the PPP-Howto at
  1257.         <ulink
  1258.           url="http://sunsite.unc.edu/LDP/HOWTO/PPP-HOWTO.html">
  1259.           http://sunsite.unc.edu/LDP/HOWTO/PPP-HOWTO.html</ulink>
  1260.       </para>
  1261.  
  1262.       <para>Once this works, <application>dselect</application>
  1263.         can download the packages you want automatically via
  1264.         FTP. Just choose FTP as the installation method. The
  1265.         main server is ftp.debian.org, but you'll probably
  1266.         prefer a mirror close to you. Read
  1267.         <ulink url="http://www.debian.org/misc/README.mirrors">
  1268.           http://www.debian.org/misc/README.mirrors </ulink> for
  1269.         a list. There's also a mirror at &sunsite; in <filename
  1270.           class="directory"> /mirrors/ftp.debian.org</filename>.
  1271.         The distribution directories are <filename
  1272.           class="directory">
  1273.           debian/dists/unstable/main</filename> and
  1274.         optionally <filename class="directory">
  1275.           debian/dists/unstable/contrib</filename>
  1276.         and <filename class="directory">
  1277.           debian/dists/unstable/non-free</filename>. The
  1278.         location of the non-us files varies from mirror to
  1279.         mirror.</para>
  1280.  
  1281.       <para>You should update the libc and libstdc++ packages
  1282.         ASAP. This may break some packages, just update them to
  1283.         the latest version. E.g. you'll probably have to update
  1284.         the dpkg and tar packages.</para>
  1285.  
  1286.       <para>Congratulations, you should be using &debppc;! ;-)</para>
  1287.     </sect3>
  1288.  
  1289.     <sect3><title>X</title>
  1290.       
  1291.       <para>Unfortunately, you can't get X to work with the
  1292.         packages from the official FTP archive. Try the packages
  1293.         Sven built for you in <xref linkend="sd-deb">. You need
  1294.           at least the xbase, xbase-clients, xfonts-base, xlib6g,
  1295.           xserver-common, xserver-fbdev and xterm
  1296.           packages. Install them directly with dpkg:</para>
  1297.       
  1298.       <screen>
  1299.         
  1300.         dpkg -i <path to the files>x*.deb  </screen>
  1301.       
  1302.       <para>You also need a window manager;
  1303.         <filename>twm</filename> in <xref linkend="sd-deb"> is a
  1304.           very simple one to start, there are lots in the official
  1305.           archive.</para>
  1306.     </sect3>
  1307.       </sect2>
  1308.  
  1309.     </sect1>
  1310.     <sect1 id="software-with-known-problems">
  1311.       <title>Software With Known Problems</title>
  1312.  
  1313.       <para>Some &rhppc; packages don't mix well with
  1314.     &linapus;. Please help me keep this list up to date so people
  1315.     don't have to download useless packages.</para>
  1316.  
  1317.       <itemizedlist>
  1318.     <listitem><para> The <filename>kbd*</filename> packages messes
  1319.         up the keyboard layout. Do not install them. Supposedly
  1320.         there are &amiga; keyboard patches for the recent kdb
  1321.         packages. I have not tried it myself though.  </para>
  1322.     </listitem>
  1323.     <listitem><para> <application>Emacs-nox</application> core
  1324.         dumps. This is a generic problem. The
  1325.         <application>emacs</application> compiled with X libs
  1326.         works fine.</para>
  1327.     </listitem>
  1328.     <listitem><para> <application>Gpm</application> requires a
  1329.         small patch to be working. This is available from <xref
  1330.           linkend="sd-misc"> (provided by Holger Jakob).  The
  1331.           patch is not needed for <application>Gpm</application>
  1332.           version 1.16 and above. You may also have to add
  1333.           <literal>MOUSETYPE='BUSMOUSE'</literal> to
  1334.           <filename>/etc/sysconfig/mouse</filename>.</para>
  1335.     </listitem>
  1336.     <listitem><para> <application>X</application> had a bug
  1337.            causing eterm, enlightenment, wmaker, mozilla, etc. to
  1338.            crash when run on afb (i.e., no graphics card). This has
  1339.            been fixed now. Sven has provided a binary of the X
  1340.            server for Debian (may also work for other
  1341.            distributions): <ulink
  1342.            url="http://dpt-info.u-strasbg.fr/~luther/xfree/XF68_FBDev_3.3.4_afb_fix.gz">
  1343.            http://dpt-info.u-strasbg.fr/~luther/xfree/XF68_FBDev_3.3.4_afb_fix.gz</ulink>
  1344.     </listitem>
  1345.       </itemizedlist>
  1346.  
  1347.     </sect1>
  1348.   </chapter>
  1349.   <chapter id="applications"><title>Applications</title>
  1350.  
  1351.     <para> This chapter contains a few random notes on
  1352.       applications for &linapus;. </para>
  1353.  
  1354.     <para> You can get precompiled software for a complete
  1355.       system in both &rh; and &debian; packages (see <xref
  1356.     linkend="links">). The thing to remember when looking for
  1357.     applications is that &linapus; is binary compatible with
  1358.     &linppc; so you should have no problems finding
  1359.     software.</para>
  1360.  
  1361.     <para>Some commercial applications are also available for
  1362.       &linux;, but only in binary form. You would have to persuade
  1363.       the company to start shipping &cpuppc; compiled binaries in
  1364.       that case. I can imagine some of the other &linppc; sites
  1365.       would be coordinating such efforts, or at least it seems like
  1366.       a good idea to do.</para>
  1367.  
  1368.  
  1369.     <sect1 id="x"><title>X</title>
  1370.  
  1371.       <para>In order to run &x; you need to get a version of the &x;
  1372.     server compiled for &cpuppc; with support for the &amiga;
  1373.     hardware. Luckily, such a server is provided by Geert
  1374.     Uytterhoeven at 
  1375.     <ulink
  1376.       url="http://www.cs.kuleuven.ac.be/~geert/bin/XF68_FBDev-ppc-19981017.gz">
  1377.       www.cs.kuleuven.ac.be/~geert/bin/XF68_FBDev-ppc-19981017.gz
  1378.     </ulink> (You might find a newer version than this).
  1379.       </para>
  1380.  
  1381.       <para> You should also get
  1382.     <application>fbset</application> from Geert's site:
  1383.     <ulink
  1384.       url="http://www.cs.kuleuven.ac.be/~geert/bin/fbset-19990118.tar.gz">
  1385.       www.cs.kuleuven.ac.be/~geert/bin/fbset-19990118.tar.gz</ulink>
  1386.     (again, there may be a newer version). This file may
  1387.     also be useful: <ulink
  1388.       url="http://www.cs.kuleuven.ac.be/~geert/bin/fb.modes.gz">
  1389.       www.cs.kuleuven.ac.be/~geert/bin/fb.modes.gz</ulink>
  1390.       </para>
  1391.  
  1392.  
  1393.       <para>Unzip the &x; server and copy it to
  1394.     <filename>/usr/X11R6.3/bin/X</filename>.</para>
  1395.  
  1396.       <para>Now get the example <filename>XF86Config</filename> file
  1397.     from <xref linkend="sd-misc"> and copy it to
  1398.       <filename>/etc/XF86Config</filename>.</para>
  1399.  
  1400.       <para>Next, you have to create some &amiga; specific devices
  1401.     which are not included in the &rhppc; packages:</para>
  1402.  
  1403.       <screen>
  1404.  
  1405.     cd /dev
  1406.     mknod fb0current c 29 0
  1407.     mknod amigamouse c 10 4
  1408.     ln -s fb0current fb0
  1409.     ln -s amigamouse mouse    </screen>
  1410.  
  1411.       <para>Now you should be ready to start up &x; by issuing the
  1412.     command "<application>startx</application>".</para>
  1413.  
  1414.       <sect2><title>&x; and graphics cards</title>
  1415.  
  1416.     <para>There are a few more details to sort out if you want
  1417.       to run &x; on a graphics card. This text is specific to
  1418.       CyberVision and CyberVision/3D -- but it might help you
  1419.       get &x; running on other cards. Please let me know of your
  1420.       success if you try that.</para>
  1421.  
  1422.     <para>Note: You have to use the same pixel clock under
  1423.       &linapus; as you use under &ados;</para>
  1424.  
  1425.     <para> <emphasis>Text by Jeffrey W. Davis</emphasis></para>
  1426.  
  1427.     <para>I just wanted to inform everyone that &linapus; and the
  1428.       CV64 is working.  I do not have the CV64/3D, but apparently
  1429.       it is also working.  From what I have seen for the CV64/3D
  1430.       you need to substitute <option>"virge"</option> for any
  1431.       instance where I mention <option>"cyber"</option>.</para>
  1432.  
  1433.     <para>(The frame buffer label <option>"cyber"</option>
  1434.       selects the CyberVision64 driver and
  1435.       <option>"virge"</option> the Cybervision64/3D
  1436.       driver.)</para>
  1437.  
  1438.  
  1439.     <para>    I use a simple boot script as follows:</para>
  1440.  
  1441.     <screen>
  1442.  
  1443.       copy bootstrap ram:boothack
  1444.       boothack --apus -v -k ram:vmlinux root=/dev/hda3 video=cyber:1024x768-8    </screen>
  1445.  
  1446.     <para>Apparently, only resolutions understood by &linux; work
  1447.       at present.  Therefore, you should choose
  1448.       <option>640x480</option>, <option>800x600</option>, or
  1449.       <option>1024x768</option> in the above statement.  I believe
  1450.       all of them have been reported to work.  I'm sure that there
  1451.       are others, but I haven't done much experimentation at this
  1452.       point.</para>
  1453.  
  1454.     <para>Make sure that before you boot &linapus;, that your
  1455.       CyberGfx video mode matches what you have selected to boot
  1456.       &linapus;.  I believe the two key factors in the command
  1457.       line are the <option>-v</option> and <option>video=</option>
  1458.       options.  You should be able to modify the rest to suit your
  1459.       configuration.</para>
  1460.  
  1461.     <para>Once you have successfully booted &linux; you will see
  1462.       the penguin drawing and probably a much higher resolution
  1463.       that what you have seen before.</para>
  1464.  
  1465.     <para>To run &x; you will need to specify the resolution in
  1466.       the <filename>/etc/XF86Config</filename> file.  There is
  1467.       an example in the same directory as where you found Geert
  1468.       Uytterhoeven's &x; server.  To figure out what parameters
  1469.       you need, use "<command>fbset -x</command>"
  1470.       <footnote>
  1471.         <para>You will also find
  1472.           <application>fbset</application> in the, by now,
  1473.           famous directory with Geert Uytterhoeven's &x;
  1474.           server.</para>
  1475.       </footnote>
  1476.       which will show you what you are currently using.  If you
  1477.       are running in an interlaced mode, the
  1478.       <application>fbset</application> program will show you
  1479.       values that your monitor will not actually support.
  1480.       BUT... these values will work properly.  Simply LIE about
  1481.       the scanrate in your monitor definition in the
  1482.       <filename>XF86Config</filename> file.  It will work.  Use
  1483.       the values returned from <application>fbset</application>
  1484.       and you should be able to start X with no problem.
  1485.       <footnote>
  1486.         <para>I'd like to see this paragraph rewritten - I
  1487.           wouldn't want someone accidently blowing up their
  1488.           monitor. Users, do be careful! -Jesper</para>
  1489.       </footnote></para>
  1490.  
  1491.     <para>If I use the same resolution for everything, with only
  1492.       one resolution specified for X everything works great.  Good
  1493.       luck!  Really... it works!</para>
  1494.       </sect2>
  1495.  
  1496.       <sect2><title> Custom XF86Config for CyberGfx users</title>
  1497.  
  1498.     <para><emphasis>Text by Jeff Crystal</emphasis></para>
  1499.  
  1500.     <para>The format for a modeline statement in XF86Config is
  1501.       as follows:</para>
  1502.  
  1503.     <screen>
  1504.  
  1505.       modeline NAME     Clock HR SH1 SH2 HL VR SV1 SV2 VL </screen>
  1506.  
  1507.     <para>where Clock is the pixel clock in Mhz, HR is visible
  1508.       Horizontal resolution, SH1 is the start of the horizontal
  1509.       sync pulse and SH2 is the end, HL is the total Horizontal
  1510.       line length, VR is visible vertical resolution, SV1 and
  1511.       SV2 are the start and end of the sync pulse and VL is the
  1512.       total vertical length.</para>
  1513.  
  1514.     <para>To convert a CGX screen mode to X11, folow these
  1515.       steps.</para>
  1516.  
  1517.     <procedure>
  1518.       <step>
  1519.         <para>Run CGXMode in prefs</para>
  1520.       </step>
  1521.       <step>
  1522.         <para>Select the video mode that you would like to use
  1523.           and click Edit</para>
  1524.       </step>
  1525.       <step>
  1526.         <para>Compute the values for the modeline statement as
  1527.           follows:</para>
  1528.         <screen>
  1529.  
  1530.           Modeline "Name"   PC  HR HR+HPO HR+HPO+HPL HR+HSL VR VR+VPO VR+VPO+VPL VR+VSL </screen>
  1531.  
  1532.         <para>where:</para>
  1533.  
  1534.         <screen>
  1535.  
  1536.           PC = Pixel Clock in Mhz  (i.e. 40000000Hz is entered as 40)
  1537.           HR = Horizontal Resolution
  1538.           HPO = Horizontal Pulse Offset
  1539.           HPL = Horizontal Pulse Length
  1540.           HSL = Horizontal Sync Length
  1541.           VR = Vertical Resolution
  1542.           VPO = Vertical Pulse Offset
  1543.           VPL = Vertical Pulse Length
  1544.           VSL = Vertical Sync Length    </screen>
  1545.       </step>
  1546.     </procedure>
  1547.       </sect2>
  1548.       <sect2><title>&x; on PAL-lace or NTSC-lace screens</title>
  1549.  
  1550.     <para> <emphasis>Text by Marco De Vitis</emphasis></para>
  1551.  
  1552.     <para> You have to start &linux; in the screenmode
  1553.       you want to use, through the
  1554.       <option>"video=amifb:pal-lace"</option> or
  1555.       <option>"video=amifb:ntsc-lace"</option> options on the
  1556.       bootstrap command line; you can then start &x; making it
  1557.       use the current screenmode. If you already followed the
  1558.       instruction about running &x; above, the only thing you
  1559.       need to do is edit your
  1560.       <filename>/etc/XF86Config</filename> file so that the last
  1561.       section "Screen" only contains one "Display" subsection
  1562.       about the "default" mode:</para>
  1563.  
  1564.     <screen>
  1565.  
  1566.       SubSection "Display"
  1567.       Modes      "default"
  1568.       EndSubsection    </screen>
  1569.  
  1570.     <para> You can alternatively use Geert Uytterhoeven's
  1571.       <filename>XF86Config.pmac</filename> file found at
  1572.       <ulink
  1573.         url="http://www.cs.kuleuven.ac.be/~geert/bin/XF86Config.pmac.gz">
  1574.         www.cs.kuleuven.ac.be/~geert/bin/XF86Config.pmac.gz
  1575.       </ulink>
  1576.       decompressing it and copying it in your system as
  1577.       <filename>/etc/XF86Config</filename>, as it is already set
  1578.       up like that. But you'll probably need to edit it anyway
  1579.       to make it work, changing the line:</para>
  1580.  
  1581.     <screen>
  1582.  
  1583.       Device "/dev/adbmouse" </screen>
  1584.  
  1585.     <para>to:</para>
  1586.  
  1587.     <screen>
  1588.  
  1589.       Device "/dev/mouse" </screen>
  1590.  
  1591.     <para> Please note that &x; won't be much usable
  1592.       in 640x400 or even 640x512, and the current (at the time
  1593.       of writing) version of <application>XFree86</application>
  1594.       doesn't support the "Virtual" option for the "default"
  1595.       mode, but it will do it in the upcoming version 3.3.3,
  1596.       allowing you to have a virtual screen bigger than your
  1597.       actual screensize.</para>
  1598.       </sect2>
  1599.  
  1600.       <sect2><title>Exotic &x; problems :)</title>
  1601.  
  1602.     <sect3><title> VGA mode sync problem</title>
  1603.  
  1604.       <para> <emphasis>Text by Matthias Goerdeler</emphasis></para>
  1605.  
  1606.       <para> After installing &x; for use with AGA
  1607.         vga-mode (just use the <filename>XF86Config</filename>
  1608.         found in <xref linkend="sd-misc">) as described earlier
  1609.           I could start &x;, but the monitor just didn't sync. So
  1610.           if your problem is that X does not start, this will
  1611.           probably not help you.</para>
  1612.  
  1613.       <para> I got my monitor to sync after changing
  1614.         the line <emphasis>A</emphasis> to line
  1615.         <emphasis>B</emphasis> in the monitor section of
  1616.         <filename>XF86Config</filename>:</para>
  1617.  
  1618.       <screen>
  1619.         [A]  HTimings    640 760 804 916
  1620.  
  1621.         [B]  HTimings    640 750 804 916  </screen>
  1622.  
  1623.       <para> It should be pointed out that I do not
  1624.         know how to calculate the correct timing values, it was
  1625.         just 'try and error'. And it is not even sure that this
  1626.         will help you if you run into the same problem as I
  1627.         did. But you could give it a try and report your
  1628.         findings to the linux-apus mailing list.</para>
  1629.     </sect3>
  1630.       </sect2>
  1631.  
  1632.     </sect1>
  1633.     <sect1 id="compiling-applications">
  1634.       <title>Compiling Applications</title>
  1635.  
  1636.       <para>You can also compile many applications yourself as the
  1637.     source code is often freely available. This is likely to be
  1638.     necessary if you want to use an application that is not
  1639.     maintained by either the &rhppc; or &debian; teams, as the
  1640.     application author(s) would probably only supply a precompiled
  1641.     version of the application for the ix86 architecture.</para>
  1642.  
  1643.  
  1644.       <para> Some applications need Linux header files to
  1645.     build. These are normally found in <filename
  1646.       class=directory>/usr/include</filename> in the directories
  1647.     <filename class=directory>asm</filename> and <filename
  1648.       class=directory>linux</filename>. When using &linapus; the
  1649.     header files installed by e.g. &rhppc; should be OK for most
  1650.     applications. However, if you decide to replace the default
  1651.     header files with &linapus; specific header files you must
  1652.     also include the directory <filename
  1653.       class=directory>/usr/include/asm-m68k</filename> which must be
  1654.     either a copy of the <filename
  1655.       class=directory>linux/include/asm-m68k</filename> directory or
  1656.     a link to it.</para>
  1657.  
  1658.       <!--
  1659.     <para>When you recompile applications (or shared libs) you
  1660.       should use egcs-1.1 and the egcs patches found in <xref
  1661.       linkend="sd-misc">. Without the patches, the application might
  1662.       get spurious SIGABRTs while running.</para>
  1663.       -->
  1664.  
  1665.     </sect1>
  1666.  
  1667.   </chapter>
  1668.  
  1669.   <chapter id="working"><title>Working Hardware And Drivers</title>
  1670.  
  1671.     <para>When I get reports of hardware configurations that are known
  1672.       to work with &linapus; I put them in this section. You can match
  1673.       these against your own configuration to get an idea of whether
  1674.       &linapus; will work on your box.</para>
  1675.  
  1676.     <para> Note that things listed here are not
  1677.       necessarily included in the precompiled kernels.</para>
  1678.  
  1679.     <para>In comments are listed the people who reported the
  1680.       information - if you have information about a driver currently
  1681.       not on this list (or conflicting information) please let me
  1682.       know.</para>
  1683.  
  1684.     <para>&cybppc; and &blzppc; boards:</para>
  1685.  
  1686.     <itemizedlist>
  1687.       <listitem><para> A4000/o3o with &cybppc; &cpu604;@150MHz
  1688.       (Jesper Skov).</para>
  1689.       </listitem>
  1690.       <listitem><para> A4000/o4o with &cybppc; &cpu604;@200MHz
  1691.       (Jeffrey W. Davis).</para>
  1692.       </listitem>
  1693.       <listitem><para> A4000/??? with &cybppc; &cpu604;@233MHz
  1694.       (Jens K. Jensen).</para>
  1695.       </listitem>
  1696.       <listitem><para> A1200 with &blzppc; &cpu603;@160MHz
  1697.       (Jouko Pynnonen).</para>
  1698.       </listitem>
  1699.       <listitem><para> A1200 with &blzppc;
  1700.       &cpu603;@200/210MHz (Michel Dänzer).</para>
  1701.       </listitem>
  1702.       <listitem><para> A1200 with &blzppc;
  1703.       &cpu603;@240MHz (Alan Buxey, Sven Luther).</para>
  1704.       </listitem>
  1705.       <listitem><para> A3000T with &cybppc; &cpu604;@233MHz
  1706.       (Francisco Sepulveda).</para>
  1707.       </listitem>
  1708.     </itemizedlist>
  1709.  
  1710.     <para> Device Drivers:</para>
  1711.  
  1712.     <itemizedlist>
  1713.       <listitem><para> DISPLAY : AGA display. (Jesper Skov)</para>
  1714.       </listitem>
  1715.       <listitem><para> DISPLAY : CyberVision(/3D). (Sven Ottemann/Jimmy)</para>
  1716.       </listitem>
  1717.       <listitem><para> DISPLAY : Picasso II Clgen. (Francisco Sepulveda)</para>
  1718.       </listitem>
  1719.       <listitem><para> DISPLAY : PM2 (Ilario Nardinocchi)
  1720.       <footnote>
  1721.         <para> The driver included in the precompiled
  1722.           kernel is an old beta. If you want the up-to-date
  1723.           version get the latest sources from the PM webpage
  1724.           (see <xref linkend="links">). Don't expect the
  1725.         precompiled version to behave as described on the
  1726.         webpage!</para>
  1727.       </footnote>
  1728.     </para>
  1729.       </listitem>
  1730.       <listitem><para> FLOPPY : &amiga; floppy disk controller. (Sven
  1731.       Ottemann)</para> 
  1732.       </listitem>
  1733.       <listitem><para> IDE    : A4000 IDE controller. (Jesper Skov)</para>
  1734.       </listitem>
  1735.       <listitem><para> I/O    : &amiga; serial. (Jesper Skov).</para>
  1736.       </listitem>
  1737.       <listitem><para> I/O    : &amiga; printer. (Bartek Kozakiewicz)</para>
  1738.       </listitem>
  1739.       <listitem><para> I/O : &gvp; IO extender<footnote>
  1740.         <para> On some machines, the IO extender may
  1741.           cause the kernel to hang at startup. A crude hack can be
  1742.           used to work around this problem - ask on the mailing
  1743.           list for details if necessary.</para> </footnote> (Ken
  1744.       Tyler)</para>
  1745.       </listitem>
  1746.       <listitem><para> NET    : A2065. (Jesper Skov)</para>
  1747.       </listitem>
  1748.       <listitem><para> NET    : Ariadne. (Thomas Lohmann)</para>
  1749.       </listitem>
  1750.       <listitem><para> NET    : Ariadne II.
  1751.       <footnote id="ariadne2"> 
  1752.         <para>There's a performance problem with the driver. It
  1753.           runs at 10% of the speed compared with the &ados;
  1754.           driver.</para>
  1755.       </footnote> 
  1756.       (Martin Koenig)</para>
  1757.       </listitem>
  1758.       <listitem><para> NET    : Hydra. (Francisco Sepulveda)</para>
  1759.       </listitem>
  1760.       <listitem><para> NET    : SurfSquirrel. (Carlos Mayo)</para>
  1761.       </listitem>
  1762.       <listitem><para> SCSI   : A3000/T SCSI controller.
  1763.       (Thomas Haller/Arno Griffioen)</para>
  1764.       </listitem>
  1765.       <listitem><para> SCSI   : GVP 11 SCSI controller. (Alex Kazik)</para>
  1766.       </listitem>
  1767.       <listitem><para> SCSI   : GVP A2000-HC+8 Series II. (Thomas
  1768.       Lohmann)</para> 
  1769.       </listitem>
  1770.       <listitem><para> SCSI   : Oktagon 2008 SCSI. (Carsten Pluntke)</para>
  1771.       </listitem>
  1772.       <listitem><para> SCSI   : A4091/4000T SCSI controller. 
  1773.       <footnote id="a4000tscsi2">
  1774.         <para>You have to disable the use of BATs to map
  1775.           main memory. Add <option>"nobats"</option> to
  1776.           your kernel options.  There are
  1777.           still some stability problems with this driver
  1778.           under &linapus;.</para>
  1779.       </footnote>
  1780.       (Ken Tyler)</para> 
  1781.       </listitem>
  1782.       <listitem><para> SCSI : Blizzard/PPC SCSI
  1783.       controller.<footnote id="blzscsi2"> 
  1784.         <para>You have to disable the use of BATs to map main
  1785.           memory. Add <option>"nobats"</option> to your kernel
  1786.           options.</para> 
  1787.       </footnote> 
  1788.       (Sven Luther)</para>
  1789.       </listitem>
  1790.       <listitem><para> SOUND :
  1791.       &amiga; DMA sound. (Carsten Plunkte)</para>
  1792.       </listitem>
  1793.     </itemizedlist>
  1794.  
  1795.     <para>Software Drivers:</para>
  1796.  
  1797.     <itemizedlist>
  1798.       <listitem><para> FS     : affs (Jesper Skov).</para>
  1799.       </listitem>
  1800.       <listitem><para> FS     : dos (Sven Ottemann).</para>
  1801.       </listitem>
  1802.       <listitem><para> FS     : ext2 (Jesper Skov).</para>
  1803.       </listitem>
  1804.       <listitem><para> FS     : hfs (Bartek Kozakiewicz).</para>
  1805.       </listitem>
  1806.       <listitem><para> FS     : iso9660 (Bartek Kozakiewicz).</para>
  1807.       </listitem>
  1808.       <listitem><para> FS     : joliet (Bartek Kozakiewicz).</para>
  1809.       </listitem>
  1810.       <listitem><para> FS     : minix (Jesper Skov).</para>
  1811.       </listitem>
  1812.       <listitem><para> FS     : proc (Jesper Skov).</para>
  1813.       </listitem>
  1814.       <listitem><para> FS     : vfat (Sven Ottemann).</para>
  1815.       </listitem>
  1816.       <listitem><para> MISC   : z2ram (Jesper Skov).</para>
  1817.       </listitem>
  1818.       <listitem><para> RAM    : ram disk (initrd) (Jesper Skov).</para>
  1819.       </listitem>
  1820.       <listitem><para> PROTOCOLS: PPP (Carsten Pluntke).</para>
  1821.       </listitem>
  1822.     </itemizedlist>
  1823.  
  1824.   </chapter>
  1825.   <chapter id="problems"><title>Known Problems</title>
  1826.  
  1827.     <para>There are still plenty of problems with &linapus;. Remember
  1828.       it is a developer kernel, so you cannot expect everything (or
  1829.       anything) to be working. It should get better as time goes by,
  1830.       though.</para>
  1831.  
  1832.     <para>The To Do list below is basically the list of known
  1833.       problems. If you have anything to add to the list, or if any of
  1834.       the listed devices are working for you, please let me
  1835.       know.</para>
  1836.  
  1837.     <sect1 id="todo-kernel"><title>To Do - Kernel</title>
  1838.  
  1839.       <para>I work on things as my time permits. I have had bad
  1840.     experiences (plural!) with fixing drivers for devices I don't
  1841.     have myself - it takes too much time and energy, even when
  1842.     someone owning such a device offers to run test kernels. Thus,
  1843.     if you want to see a working driver for your hardware, you
  1844.     really need to start hacking yourself.</para>
  1845.  
  1846.       <para>This is a list of jobs that are up for grabs. If you want
  1847.     to do it and you think it will take more than a couple of
  1848.     days, please let me know so I can mark it to prevent
  1849.     duplicated efforts.</para>
  1850.  
  1851.       <itemizedlist>
  1852.     <listitem><para> (<emphasis>free</emphasis>) If the &ados; ROM
  1853.         is shadowed, it will eat 512kB RAM. It
  1854.         <emphasis>might</emphasis> be possible to disable this
  1855.         shadow mapping, but I don't feel like hacking on it myself
  1856.         - it can be disabled manually in the Early Startup
  1857.         Menu.</para>
  1858.     </listitem>
  1859.     <listitem><para> (<emphasis> Roman Zippel</emphasis>)
  1860.         Merging the &amiboot; changes. We need someone to
  1861.         maintain the &amiboot; program as Geert Uytterhoeven
  1862.         does not have the time anymore. Presently I have put the
  1863.         &linapus; required changes in <xref
  1864.           linkend="sd-boothack">.</para>
  1865.  
  1866.     </listitem>
  1867.     <listitem><para> (<emphasis>free</emphasis>) A4000T/A4091 SCSI
  1868.         drivers require the kernel to be compiled using segment
  1869.         registers for memory mapping.</para>
  1870.  
  1871.       <para>Page translations are cached in on-chip translation
  1872.         lookaside buffers (TLBs). When a memory access is
  1873.         attempted and the page information is not found in the
  1874.         TLBs, a table lookup from main memory is required.</para>
  1875.  
  1876.       <para> When the kernel is mapped with BATs, execution of
  1877.         kernel code does not require looking up information about
  1878.         individual pages as the entire kernel memory space is
  1879.         mapped in one chunk.</para>
  1880.  
  1881.       <para> As the kernel memory space used to hold the NCR53c7xx
  1882.         SCSI scripts needs to be mapped as write-through rather
  1883.         than write-back, per-page cache control is required. The
  1884.         current kernel memory system does not mix BAT mappings
  1885.         with segment register mappings, so kernels compiled after
  1886.         980820 have to use segment register mappings only to
  1887.         ensure that A4091/A4000T drivers work correctly.</para>
  1888.  
  1889.       <para>Two things can be done about this; in the short term,
  1890.         users who use the affected SCSI drivers must use the
  1891.         'nobats' boot option.</para>
  1892.  
  1893.       <para> A proper long term solution for all users is kernel
  1894.         support for a mixed mapping strategy. Either by mapping
  1895.         the end of kernel space with segment registers and having
  1896.         a special allocator to deal with it, or by re-mapping the
  1897.         required pages with segment registers. The latter strategy
  1898.         is in my opinion better as any overhead will only affect
  1899.         the pages used for the SCSI driver scripts. Unfortunately
  1900.         it will require (minor) driver changes. The former will
  1901.         affect the entire region of memory mapped with segment
  1902.         registers (which will be 1/4 of the available memory -
  1903.         8-16MB on most systems).</para>
  1904.  
  1905.       <para>I would like to work on this after the machine
  1906.         dependencies have been cleaned up in &linux; 2.3, but I
  1907.         see no reason to spend energy on it in the immediate
  1908.         future (since the drivers are working when using the
  1909.         'nobats' option).</para>
  1910.     </listitem>
  1911.       </itemizedlist>
  1912.  
  1913.       <para>Other issues:</para>
  1914.  
  1915.       <itemizedlist>
  1916.     <listitem><para><emphasis>Complete driver for the &cybppc;
  1917.           onboard wide SCSI controller.</emphasis></para>
  1918.  
  1919.       <para>Jes Sørensen is working on this.</para>
  1920.     </listitem>
  1921.  
  1922.     <listitem><para><emphasis>Complete integration in the &linppc;
  1923.           source tree.</emphasis></para> 
  1924.  
  1925.       <para>Recompiling a &linapus; kernel will require special
  1926.         patches for a long time to come. &linapus; relies on files
  1927.         from both the <filename
  1928.           class=directory>arch/m68k</filename> and <filename
  1929.           class=directory>arch/ppc</filename> directories which
  1930.         makes a clean merge with the main source tree problematic
  1931.         at best. There is hope though; since &linapus; is not the
  1932.         only port with this problem (sparc/ultrasparc,
  1933.         mac/powermac) there has been discussions of introducing a
  1934.         new "mach" hierarchy where sources specific to a given
  1935.         machine (such as the &amiga;) can reside.</para>
  1936.  
  1937.       <para> I will continue upgrading the patches to the latest
  1938.         release kernels and work on integrating changes in both
  1939.         <filename class=directory>arch/m68k</filename> and
  1940.         <filename class=directory>ppc/arch</filename>.  Jes will
  1941.         probably be doing a lot of editing when it gets to the
  1942.         time of implementing the mach hierarchy.</para>
  1943.     </listitem>
  1944.  
  1945.     <listitem><para><emphasis>Completing the LILO
  1946.           port.</emphasis></para>
  1947.  
  1948.       <para>Roman Zippel is working on LILO support for
  1949.         &linapus;.</para>
  1950.     </listitem>
  1951.       </itemizedlist>
  1952.  
  1953.     </sect1>
  1954.  
  1955.     <sect1 id="todo-doc"><title>To Do - &thisdoc;</title>
  1956.  
  1957.       <para> There have been a few suggestions for improving
  1958.     &thisdoc; which require more time than I have at the moment -
  1959.     or I simply don't think it's worth the effort.</para>
  1960.  
  1961.       <para> If you want to write a section please do so in
  1962.     SGML (have a look in <filename>faq.sgml</filename> to get an
  1963.     idea of what is required). If you can't be bothered to do
  1964.     that, just send plain text and I will set it up in
  1965.     SGML. <emphasis>Do not send me HTML!</emphasis></para>
  1966.  
  1967.       <para> Again, if you think writing a section will
  1968.     stretch over a couple of days, please let me know so I can
  1969.     fill in your name and prevent wasted effort.</para>
  1970.  
  1971.       <itemizedlist>
  1972.     <listitem><para> (<emphasis>free</emphasis>)  A
  1973.         section with boothack example configurations. (suggested
  1974.         by Christophe Decanini)</para>
  1975.     </listitem>
  1976.     <listitem><para> (<emphasis>free</emphasis>)  A
  1977.         section with example memory files - I already put in the
  1978.         section but it's empty as no one returned my request for
  1979.         configurations... These might come in handy again since
  1980.         the kernel will eventually support both BAT and SEG mapped
  1981.         memory (since BATs are more efficient).</para>
  1982.  
  1983.       <para> This section should also describe how the
  1984.         memory system works on APUS (shadow mapping, missing
  1985.         512KB, etc) - this should make it clear why memory files
  1986.         are (well, have) been required. Also how to properly
  1987.         calculate the values of a memory file.</para>
  1988.     </listitem>
  1989.       </itemizedlist>
  1990.  
  1991.       <para> Also, more generally, it's important to keep
  1992.     &thisdoc; up-do-date. Here are some areas that need special
  1993.     attention. Please send corrections, or (at least) notify the
  1994.     list about problems.</para>
  1995.  
  1996.       <itemizedlist>
  1997.     <listitem><para>Introduction. First step from ADOS to
  1998.         Linux.</para>
  1999.     </listitem>
  2000.     <listitem><para>Startup instructions.</para>
  2001.     </listitem>
  2002.     <listitem><para>&rh; installation instructions.</para>
  2003.     </listitem>
  2004.     <listitem><para>&debian; installation instructions.</para>
  2005.     </listitem>
  2006.     <listitem><para>File and resource links.</para>
  2007.     </listitem>
  2008.     <listitem><para>Lists of working/broken hardware/drivers.</para>
  2009.     </listitem>
  2010.     <listitem><para>Display options, X startup.</para>
  2011.     </listitem>
  2012.       </itemizedlist>
  2013.  
  2014.     </sect1>
  2015.  
  2016.   </chapter>
  2017.   <chapter id="help"><title>Reporting Problems/Getting Help</title>
  2018.  
  2019.     <para>There are three "official" ways of reporting problems and
  2020.       getting help. There may exist other news groups or mailing lists
  2021.       dedicated to &cybppc;, &blzppc; and/or &linux;(/APUS) than the
  2022.       ones described in this section. Don't expect any of the
  2023.       developers to read those - reporting problems by any other media
  2024.       than those described in this section is just as likely to be
  2025.       successful as reporting them to your mother (my apologies to any
  2026.       &linapus; hacking mothers out there :)</para>
  2027.  
  2028.     <para>Before reporting a problem, please read the section about
  2029.       etiquette!</para>
  2030.  
  2031.     <sect1 id="etiquette"><title>Etiquette</title>
  2032.  
  2033.       <para>Mention that you run &linapus; if you are posting a
  2034.     generic &linux; question to the news group. Your problem may
  2035.     be &linapus; specific and you will help other readers realize
  2036.     that if you properly identify the &linux; port you are using.</para>
  2037.  
  2038.       <para>To help others help yourself, always include as much
  2039.     information about the problem as possible. See <xref
  2040.       linkend="dev-kernel-debugging">.</para>
  2041.  
  2042.       <para>Keep your postings in a positive and friendly tone and
  2043.     don't expect the problem to be fixed right away. What is
  2044.     likely to happen is that someone will suggest solutions to
  2045.     your problem: you may be asked to try things you have already
  2046.     attempted (but didn't mention - be very informative!), you may
  2047.     be asked to test special versions of the kernel or the
  2048.     application. It's not guaranteed that your problem will be
  2049.     solved, but with a bit of luck it will be. Above all, be
  2050.     patient, understanding and positive - the developers may be
  2051.     working on other things, helping others with their problems,
  2052.     trying hard to have a life, or simply be clueless about the
  2053.     nature of your problem.</para>
  2054.  
  2055.       <para>Do not send questions like "I cannot boot &linux; on my
  2056.     &amiga;. What's wrong?". You cannot expect anyone to answer
  2057.     such postings, especially because there's no way anyone can be
  2058.     helpful without first making enquiries about your system -
  2059.     save yourself and others the inconvenience: supply as much
  2060.     information as possible.</para>
  2061.  
  2062.       <para>Please don't spam the kernel list or the news group with
  2063.     stories about how poor you think the &linapus; support is, or
  2064.     how the developers lack dedication. The only thing you get out
  2065.     of this is a bad reputation - it doesn't make it easier for us
  2066.     to support devices we don't have.</para>
  2067.  
  2068.       <para>The same goes for failing applications and/or generic
  2069.     kernel problems; if none of the developers are using a
  2070.     particular feature of the kernel or application it is hard to
  2071.     ensure that it is working properly. Again, it's your
  2072.     responsibility to help.</para>
  2073.  
  2074.       <para> Please read existing documentation before
  2075.     posting questions. Even though some helpful person will
  2076.     probably answer a frequently asked question, it's impolite
  2077.     (<emphasis>on your part</emphasis>) to expect others to
  2078.     spend time helping you when you cannot be bothered to take
  2079.     the help people have already offered you in form of FAQs,
  2080.     manuals and previously answered questions. Start by looking
  2081.     in the directory <filename
  2082.       class=directory>/usr/doc/HOWTO</filename> on a &rh; machine
  2083.     which may contain the answers you are looking
  2084.     for. <emphasis>If possible, it's always a good idea to
  2085.       search news group and kernel list archives for a solution to
  2086.       your problem. See the links page (<xref
  2087.         linkend="links">).</emphasis></para>
  2088.  
  2089.     </sect1>
  2090.     <sect1 id="the-usenet-news-group"><title>The Usenet News Group</title>
  2091.  
  2092.       <para>The Usenet News Group <ulink
  2093.       url="news:comp.os.linux.m68k">comp.os.linux.m68k</ulink> is
  2094.     read by many &amiga; users who use &linux;. It's a good
  2095.     place to ask if you have simple questions about &linux; that
  2096.     are specific to the &amiga; (see below for &linapus;
  2097.     questions).</para>
  2098.  
  2099.       <para>You can also ask more generic questions about the use of
  2100.     &linux; even though you would probably be better off posting
  2101.     to groups with more traffic and readers. Remember, &linux; is
  2102.     available on many platforms - an application problem you have
  2103.     is likely also to be a problem for, say, an ix86 (Intel)
  2104.     user.</para>
  2105.  
  2106.       <para>And there are <emphasis>tons</emphasis> of help to be
  2107.     found in FAQs, HOWTOs and general &linux; documentation (see
  2108.     <xref linkend="links">). If you are new to &linux; you might
  2109.       even consider buying a book about &linux; usage - this is one
  2110.       of the things that sets &linux; apart from &ados;; there are
  2111.       so many users that there's commercial interest in supporting
  2112.       it (with books and hot-line help).</para>
  2113.  
  2114.     </sect1>
  2115.     <sect1 id="the-linux-apus-kernel-list">
  2116.       <title>The &linapus; Kernel List</title>
  2117.  
  2118.       <para>If you have a problem that is specific to the &linapus;
  2119.     installation, use of specific &linapus; packages, or if you
  2120.     think you have found a problem with the &linapus; kernel
  2121.     (i.e., a driver problem or a generic kernel problem), you
  2122.     should mail to the &linapus; kernel mailing list.</para>
  2123.  
  2124.       <para>You should describe how to repeat the problem. It's very
  2125.     hard to debug something that cannot be seen. Some problems are
  2126.     periodic or occur at random times in different applications,
  2127.     which is not easy to repeat. In this case, include whatever
  2128.     information you have in the posting.</para>
  2129.  
  2130.       <para>You can follow the traffic on the kernel list via the news
  2131.     gateway at <ulink
  2132.       url="news://sunsite.auc.dk/sunsite.linux.apus">
  2133.       news://sunsite.auc.dk/sunsite.linux.apus</ulink>. It's fast
  2134.     and your mail box is not overburdened. You can also join the
  2135.     list (send mail to <ulink
  2136.       url="mailto:linux-apus-help@sunsite.auc.dk">
  2137.       linux-apus-help@sunsite.auc.dk</ulink>).</para>
  2138.  
  2139.       <para>You can post to the list at the address <ulink
  2140.       url="mailto:linux-apus@sunsite.auc.dk">
  2141.       linux-apus@sunsite.auc.dk</ulink>.</para>
  2142.  
  2143.     </sect1>
  2144.     <sect1 id="the-linux-apus-faq-contribution-email">
  2145.       <title>The &linapus; <emphasis>FAQ Contribution</emphasis>
  2146.     Email Address</title>
  2147.  
  2148.       <para>This is <emphasis>not</emphasis> the place to ask for
  2149.     help. This address's usage should be restricted to sending the
  2150.     maintainer FAQ submissions. Everything else should be posted
  2151.     to the kernel list which has a wider audience.</para>
  2152.  
  2153.       <para>At the &linm68k; domain &linapus; has kindly been given an
  2154.     email alias <ulink
  2155.       url="mailto:apus@linux-m68k.org">apus@linux-m68k.org</ulink>. This
  2156.     will forward mails to whoever is maintaining &thisdoc; (at the
  2157.     moment me, Jesper Skov).</para>
  2158.  
  2159.     </sect1>
  2160.   </chapter>
  2161.   <chapter id="chap-faq"><title>Frequently Asked Questions</title>
  2162.  
  2163.     <para>In this chapter you will find a list of frequently asked
  2164.       questions. If you don't find the answer to your question, please
  2165.       read <xref linkend="help">.</para>
  2166.  
  2167.     <sect1 id="faq-general"><title>General Questions</title>
  2168.       <orderedlist>
  2169.     <listitem><para><emphasis>How come my questions are not
  2170.           answered?</emphasis></para>
  2171.  
  2172.       <para> Perhaps nobody knows the answer, or the question is not
  2173.         directly related to &linapus;. If the same problem is
  2174.         reproducible under &linm68k; you would be better of asking
  2175.         in a &linm68k; forum. If you don't experience the problem
  2176.         under &linm68k; it is likely to be &linapus; specific; please
  2177.         include this information when you post to the &linapus;
  2178.         kernel list. Even though this doesn't improve the chances of
  2179.         getting the problem fixed, the problem can be mentioned in
  2180.         &thisdoc; so others will be aware of it.</para>
  2181.  
  2182.       <para>Your question could already be answered somewhere in
  2183.         &thisdoc; and nobody can be bothered to tell you this. Help
  2184.         yourself; read the entire document - it is not that big. It
  2185.         is also a good idea to search for the answer to your
  2186.         question in the &linapus; kernel list archive.</para>
  2187.  
  2188.       <para> If you find answers to your questions in unexpected
  2189.         parts of this document or in the kernel list archive, please
  2190.         let me know so I can update &thisdoc; for the benefit of the
  2191.         next user with the same problem.</para>
  2192.     </listitem>
  2193.  
  2194.     <listitem><para><emphasis>Are there any &ados;
  2195.           requirements?</emphasis></para> 
  2196.  
  2197.       <para> Yes. Even though the &linux; kernel in itself does not
  2198.         use &ados;, booting the kernel relies on &p5;'s &cpuppc;
  2199.         micro kernel.</para>
  2200.     </listitem>
  2201.  
  2202.     <listitem><para><emphasis>Is &linapus; binary compatible with
  2203.           the other &cpuppc; &linux; ports?</emphasis></para> 
  2204.  
  2205.       <para> Yes. You can (AFAIK) use most software packages
  2206.         precompiled for &linppc;. Some noteworthy exceptions are:
  2207.         the X server (see below) and &amiga; or &linapus; specific
  2208.         tools which you are not likely to find available from normal
  2209.         &linppc; sites.</para>
  2210.     </listitem>
  2211.  
  2212.     <listitem><para><emphasis>How come not all &linm68k; supported
  2213.           devices can be selected when
  2214.           configuring?</emphasis></para>
  2215.  
  2216.       <para> Because &linux; configuring at the moment is
  2217.         architecture dependent. You have to move items from
  2218.         <filename>arch/m68k/config.in</filename> into
  2219.         <filename>arch/ppc/config.in</filename> or (even better)
  2220.         into the <filename>Config.in</filename> in a driver
  2221.         directory. If you do, please post the diff on the kernel
  2222.         list.</para>
  2223.     </listitem>
  2224.  
  2225.     <listitem><para><emphasis>Are &cybppc; developer boards
  2226.           supported?</emphasis></para>
  2227.  
  2228.       <para> Not at the moment - and they are not likely to be
  2229.         supported any time soon; moving the &cpum68k; CPU from one
  2230.         board to another is hell and I <emphasis>hate</emphasis>
  2231.         fiddling with the guts of my box. But if you have such a
  2232.         beast, by all means, start porting - I can give you some
  2233.         pointers.</para>
  2234.     </listitem>
  2235.  
  2236.     <listitem><para><emphasis>Is Netscape available?</emphasis></para>
  2237.  
  2238.       <para> Yes. And it's even working (according to Jens Kristian
  2239.         Jensen).</para>
  2240.     </listitem>
  2241.  
  2242.     <listitem><para><emphasis>Is the &cpum68k; CPU used for
  2243.           anything?</emphasis></para>
  2244.  
  2245.       <para> No. It is put to sleep (stop #2700) during boot. This
  2246.         may change sometime in the future. I guess it could be used
  2247.         as a gfx coprocessor, for clearing empty pages, or even for
  2248.         running native &cpum68k; programs under special conditions
  2249.         (like AROS).</para>
  2250.     </listitem>
  2251.  
  2252.     <listitem><para><emphasis>Will it ever be possible to use a
  2253.           mixed set of &cpum68k; and &cpuppc;
  2254.           executables?</emphasis></para>
  2255.  
  2256.       <para> Not likely. This would require a shared memory
  2257.         mapping. However, nothing is impossible - you go ahead!</para>
  2258.     </listitem>
  2259.  
  2260.     <listitem><para><emphasis>I can't boot from the ram disk with
  2261.           2.1.90 kernels!?!</emphasis></para>
  2262.  
  2263.       <para> There's some problem with identifying MINIX headers in
  2264.         2.1.90. Use gzip to compress the ram disk and it will
  2265.         work.</para>
  2266.     </listitem>
  2267.  
  2268.     <listitem><para><emphasis>Does &linapus; support kernel
  2269.           debugging with &gdb;?</emphasis></para>
  2270.  
  2271.       <para> The kernel <emphasis>diff</emphasis> contains the
  2272.         necessary stubs and config flag
  2273.         (<symbol>CONFIG_KGDB</symbol>) to do this (originally for
  2274.         PMAC, written by Mike Tesch). A debug kernel is around 10MB
  2275.         though so I will not upload a precompiled kernel with
  2276.         debugging.  I have still not tested this so your mileage may
  2277.         vary.</para>
  2278.     </listitem>
  2279.  
  2280.     <listitem><para><emphasis>When I recompile the kernel using your
  2281.           patches, I get disk failures and runtime
  2282.           errors!?!</emphasis></para> 
  2283.  
  2284.       <para> Use binutils-2.9.1 and egcs-1.1. Get the 980525
  2285.         kernel sources or newer and you should be OK.</para>
  2286.     </listitem>
  2287.  
  2288.     <listitem><para><emphasis>Why not use LPSTOP to halt the
  2289.           CPU on &cpu060; systems?</emphasis></para>
  2290.  
  2291.       <para> It hangs the system. Possibly because the &cybppc; bus
  2292.         design cannot cope with the signals the &cpu060; sends out
  2293.         before powering down.</para>
  2294.     </listitem>
  2295.  
  2296.     <listitem><para><emphasis>I cannot mount all my
  2297.           partitions. There are not enough dev nodes in the ram
  2298.           disk!?!</emphasis></para>
  2299.  
  2300.       <para> I have put <application>mknod</application> compiled
  2301.         for &cpuppc; in <xref linkend="sd-misc">. Put it on an
  2302.           &ados; partition you can mount, boot the kernel, mount the
  2303.           &ados; partition, use <application>mknod</application> to
  2304.           make new nodes.</para>
  2305.     </listitem>
  2306.  
  2307.     <listitem><para><emphasis>My system just hangs when I start
  2308.         &boothack;!??</emphasis></para>
  2309.  
  2310.       <para> It might be a problem with &boothack;. Try rebooting
  2311.         the machine and run the tool
  2312.       <application>bootmesg</application>. It should find a
  2313.         progress string from the booter. This string is deleted by
  2314.         the kernel if it boots, so if the string is not found, it's
  2315.         probably a kernel problem (and you should use
  2316.         <option>debug=mem</option> and &dmesg; instead).</para>
  2317.  
  2318.       <para> The last character stored before jumping to the kernel
  2319.         is 'K'. If you see a string, and the last letter is not 'K',
  2320.         you can look in the <filename>ppc_boot.c</filename> code to
  2321.         get an idea of where things go wrong. Please also report
  2322.         your findings.</para>
  2323.  
  2324.       <para> Another thing that is likely to cause this problem is
  2325.         memory. See <xref linkend="booting-linux-apus"> for some more
  2326.           information on this point.</para>
  2327.  
  2328.       <para> Yet another common cause is wrong video mode
  2329.         parameters. <option>'vga'</option> has caused problems,
  2330.         while specifying none (if your monitor can handle it)
  2331.         definitely works.  If you have a CyberVision you have to let
  2332.         it be initialized by CyberGfx before you boot.</para>
  2333.  
  2334.       <para> You must also disable Shadow ROM in the &cybppc; or
  2335.         &blzppc; Early Startup Menu and set the memory speed to
  2336.         70ns.</para>
  2337.  
  2338.       <para> Finally, make sure to put &boothack;
  2339.         options (starts with a dash (-)) first on the line and
  2340.         kernel options (no dash) last on the line when booting the
  2341.         kernel.</para>
  2342.     </listitem>
  2343.  
  2344.     <listitem><para><emphasis>Can I boot from a soft kicked
  2345.           system?</emphasis></para>
  2346.  
  2347.       <para> Possibly. You might be able to make it
  2348.         work. Do try it. If it doesn't work you have to disable
  2349.         the soft kicked ROM. You might also try booting your
  2350.         machine without <filename>startup-sequence</filename>, run
  2351.         <application>setpatch</application> and then start
  2352.         &linapus; (unless you have a CyberVision in which case you
  2353.         must let CyberGfx initialize it first).</para>
  2354.     </listitem>
  2355.  
  2356.     <listitem><para><emphasis>Can I compile my own kernels under
  2357.           &linapus;?</emphasis></para>
  2358.  
  2359.       <para> Yes. I have successfully run a kernel I build with
  2360.         binutils-2.9.1 and egcs-1.1 on my &linapus; box. However,
  2361.         YMMV.</para>
  2362.     </listitem>
  2363.  
  2364.     <listitem><para><emphasis>I get rejects when applying your
  2365.           patch!!??</emphasis></para>
  2366.  
  2367.       <para> My patches are relative to the
  2368.         <emphasis>release</emphasis> versions of the &linm68k;
  2369.         kernel sources (not Linus' kernel sources!). If you apply
  2370.         &linm68k; patches from the &linm68k; kernel list before you
  2371.         apply my patches, you may get conflicts.</para>
  2372.     </listitem>
  2373.  
  2374.     <listitem><para><emphasis>I cannot boot &linapus; on my
  2375.           &blzppc;!!?</emphasis></para>
  2376.  
  2377.       <para><emphasis>Hint from Sinan Gurkan</emphasis></para>
  2378.  
  2379.       <para> The later firmware versions make the
  2380.         hardware identify itself as if it had a SCSI controller -
  2381.         even the boards with no SCSI controller! Until the problem
  2382.         gets properly fixed, you can press <keycap>s</keycap>
  2383.         during boot to disable the (non-existing) SCSI hardware
  2384.         :)</para>
  2385.     </listitem>
  2386.  
  2387.     <listitem><para> <emphasis>How do I boot with AGA
  2388.           display on a machine with
  2389.           CyberVision(/3D)?</emphasis></para>
  2390.       
  2391.       <para>You need to disable the frame buffer device assigned to
  2392.         the graphics card by adding (one of) the below to the boot
  2393.         options.</para>
  2394.  
  2395.       <screen>
  2396.  
  2397.         video=cyber:off
  2398.         video=virge:off</screen>
  2399.     </listitem>
  2400.  
  2401.  
  2402.     <listitem><para> <emphasis> How do I change the
  2403.           default keymap?</emphasis></para>
  2404.  
  2405.       <para><emphasis>Text by Marco De Vitis</emphasis></para>
  2406.       
  2407.       <para> Let's assume you already have a keymap file
  2408.         that suits your system,
  2409.         e.g. <filename>amiga-it.map</filename> for an Italian
  2410.         Amiga keyboard (you can find many keymap files at
  2411.         <ulink
  2412.           url="ftp://ftp.uni-erlangen.de/pub/Linux/680x0/bin/system/keymaps/">
  2413.           ftp.uni-erlangen.de/pub/Linux/680x0/bin/system/keymaps/</ulink>).
  2414.         Put this file in the <filename
  2415.           class="directory">/usr/lib/kbd/keytables</filename>
  2416.         directory. You should now be able to load it by issuing
  2417.         this command:</para>
  2418.  
  2419.       <screen>
  2420.  
  2421.         loadkeys amiga-it.map  </screen>
  2422.  
  2423.       <para> To have it loaded during boot (on &rhppc;),
  2424.         you have to edit the
  2425.         <filename>/etc/sysconfig/keyboard</filename> file so that
  2426.         it contains the full path to your keymap; by default, it
  2427.         should read something like
  2428.         "/usr/lib/kbd/keytables/amiga-us.map", so you usually only
  2429.         need to change the ending.</para>
  2430.     </listitem>
  2431.  
  2432.     <listitem><para> <emphasis> How come the sound
  2433.           driver is not included in the prebuilt
  2434.           kernels?</emphasis></para>
  2435.  
  2436.       <para> Because it doesn't like the heartbeat
  2437.         (which affects the filter when blinking the
  2438.         led). Heartbeat is important for determining if &linapus;
  2439.         has properly booted even if the display is blank, i.e.,
  2440.         it is relevant in a kernel that a novice will boot
  2441.         for the first time. And it means I don't have to switch
  2442.         display each time I boot a kernel ;)</para>
  2443.  
  2444.       <para> If you worry about sound support, it means
  2445.         you have a stable system -- and that means that you should
  2446.         be able to rebuild the kernel yourself.</para>
  2447.     </listitem>
  2448.     
  2449.     <listitem><para> <emphasis> Why can't the mailing
  2450.           list...?</emphasis></para>
  2451.  
  2452.       <para> It's not by accident that the list server
  2453.         is set up as it is -- this is the way the guys in power
  2454.         like it :)  See below for some workarounds.</para>
  2455.  
  2456.       <para> SUBJECT LINE: If you want [APUS] or similar
  2457.         in the subject line, it's probably because you want to
  2458.         sort/filter your mail by subject. In that case, your
  2459.         mailer should be able to sort/filter by any other header
  2460.         line. A good one is:</para>
  2461.  
  2462.       <screen>
  2463.  
  2464.         Mailing-List: contact linux-apus-help@sunsite.auc.dk; run by ezmlm  </screen>
  2465.  
  2466.       <para> REPLY-TO: Yes, you 'reply' to the author of the
  2467.         article. We are all real living people -- if you want to
  2468.         reply to something it's because you want to say something
  2469.         to the dude at the other end of the damp string, no? :)
  2470.         Polite people mostly CC: the list so others can benefit
  2471.         from the reply as well. So, use 'followup' instead of
  2472.         'reply'.  Yes, the receiver gets two copies; that is
  2473.         The-Way-It-Should-Be(TM).</para>
  2474.     </listitem>
  2475.  
  2476.     <listitem><para><emphasis> Where can i find
  2477.           information about the unix  command line
  2478.           syntax?</emphasis></para> 
  2479.  
  2480.       <para> There are a lot of HOWTO's available at the Linux
  2481.         Documentation Project, available at : <ulink
  2482.         url="http://metalab.unc.edu/LDP/">
  2483.         http://metalab.unc.edu/LDP/</ulink>. One in particular is
  2484.         useful for first timer, altough it is more oriented to
  2485.         msdos upgraders, it is the "DOS/Win to Linux HOWTO",
  2486.         available at : <ulink
  2487.         url="http://metalab.unc.edu/LDP/HOWTO/DOS-Win-to-Linux-HOWTO.html">
  2488.         http://metalab.unc.edu/LDP/HOWTO/DOS-Win-to-Linux-HOWTO.html</ulink>
  2489.  
  2490.         Notice : these howtos can be found in the following debian
  2491.         packages :
  2492.         
  2493.         <filename>doc/doc-linux-text_xxx.deb</filename> for the text
  2494.         version <filename>doc/doc-linux-html_xxx.deb</filename> for
  2495.         the html version.
  2496.         
  2497.         There are also lots of translation packages : 
  2498.         
  2499.         <filename>doc/doc-linux-fr_xxx.deb</filename> for example for
  2500.         the french version.
  2501.       </para>
  2502.     </listitem>
  2503.  
  2504.       </orderedlist>
  2505.     </sect1>
  2506.  
  2507.       <sect1 id="faq-redhat"><title>&rhppc; Related Questions</title>
  2508.     <orderedlist>
  2509.       <listitem><para> <emphasis> X isn't working right
  2510.           </emphasis></para>
  2511.         <para>
  2512.           The linuxppc X packages (unlike &debian;) install only a
  2513.           Pmac X server (XPmac), just get the one from Geert's site,
  2514.           and copy it in <filename
  2515.         class="directory">/usr/X11R6/bin</filename>, and change
  2516.           the X symlink with :
  2517.         </para>
  2518.         <screen>
  2519.  
  2520.           prompt> rm X
  2521.           prompt> ln -s XF68_FBDev X </screen>
  2522.  
  2523.         <para>
  2524.           Also see <xref linkend="x">.
  2525.         </para>
  2526.       </listitem>
  2527.       
  2528.       <listitem><para> <emphasis> The console is flashing
  2529.           </emphasis></para>
  2530.         <para>See <xref linkend="install-problems">.</para>
  2531.       </listitem>
  2532.  
  2533.     </orderedlist>
  2534.       </sect1>
  2535.  
  2536.       <sect1 id="faq-debian"><title>&debian; Related Questions</title>
  2537.     <orderedlist>
  2538.  
  2539.       <listitem><para><emphasis> How to get an pm2
  2540.         accelerated X server for &debian;?</emphasis></para>
  2541.  
  2542.         <para>get the XF68_FBDev_pm2_4 or later file from
  2543.  
  2544.           <ulink url="http://dpt-info.u-strasbg.fr/~luther/xfree/">
  2545.         http://dpt-info.u-strasbg.fr/~luther/xfree/</ulink>
  2546.  
  2547.           and copy it to your <filename
  2548.         class="directory">/usr/X11R6/bin</filename>
  2549.         directory. Check the readme files on the web site to
  2550.         see what each of those XF68_FBdev_pm2 files
  2551.         contain. Then you need to edit
  2552.         <filename>/etc/X11/Xserver</filename>, and change the
  2553.         first line to be the absolute path to the Xserver
  2554.         (should be
  2555.         <filename>/usr/X11R6/bin/XF68_FBDev_pm2_4</filename>
  2556.         in our case, but you can put it anywhere you want, or
  2557.         rename it to your liking).
  2558.  
  2559.           There are various Xserver in the above dir, some
  2560.           contains GC acceleration, very fast but still some
  2561.           graphical problems, other have GC acceleration
  2562.           disabled. It is up to you to choose which one you
  2563.           want. Read the readme file to check.
  2564.  
  2565.           Notice : this patch will be in the nect release of Xfree
  2566.           3.3.4, so you will not need to do this then.
  2567.         </para>
  2568.     </listitem>
  2569.       </orderedlist>
  2570.     </sect1>
  2571.  
  2572.   </chapter>
  2573.   <chapter id="history"><title>History</title>
  2574.  
  2575.     <para>I like to follow the progress of the stuff I use, so I
  2576.       decided to keep track of &linapus; changes so others with the
  2577.       same interest can get an idea of what's happening.</para>
  2578.  
  2579.     <para>I also keep source code ChangeLogs (<ulink
  2580.     url="ChangeLog-22x.APUS">ChangeLog-22x</ulink> and <ulink
  2581.     url="ChangeLog-23x.APUS">ChangeLog-23x</ulink>) for the
  2582.     &linapus; changes which are available from <xref
  2583.     linkend="sd-docs">.</para>
  2584.  
  2585.     <para> Please note that some of the entries may only
  2586.       apply to one of the kernel trees. If in doubt, check the 22x and
  2587.       23x ChangeLogs for details.</para>
  2588.  
  2589.     <para>
  2590.       <emphasis>date990821 990821</emphasis>
  2591.       <itemizedlist>
  2592.     <listitem><para>Added link to R5 installation guide.</para>
  2593.     </listitem
  2594.     <listitem><para>Updated stable and developer sources.</para>
  2595.     </listitem>
  2596. </itemizedlist>
  2597.  
  2598.       <emphasis> 990703</emphasis>
  2599.       <itemizedlist>
  2600.     <listitem><para>Updated the FAQ with text from Sven Luther and
  2601.         Douglas Valentine.</para>
  2602.     </listitem>
  2603.     <listitem><para>More hypercom updates from Gordon Huby.</para>
  2604.     </listitem>
  2605.     <listitem><para>Sound and heartbeat patch from Chris
  2606.         Lawrence</para>
  2607.     </listitem>
  2608.       </itemizedlist>
  2609.  
  2610.       <emphasis> 990605</emphasis>
  2611.       <itemizedlist>
  2612.     <listitem><para>Added A1200 HyperCOM1 serial driver from
  2613.         Gordon Huby.</para>
  2614.     </listitem>
  2615.       </itemizedlist>
  2616.  
  2617.       <emphasis> 990602</emphasis>
  2618.       <itemizedlist>
  2619.     <listitem><para>Added keyboard fix from Jeff Crystal/Geert
  2620.     Uytterhoeven.</para>
  2621.     </listitem>
  2622.       </itemizedlist>
  2623.  
  2624.       <emphasis> 990530</emphasis>
  2625.       <itemizedlist>
  2626.     <listitem><para>Fixed some broken APUS links (thanks
  2627.         Douglas).</para>
  2628.     </listitem>
  2629.     <listitem><para>Re-organized this document a bit.</para>
  2630.     </listitem>
  2631.     <listitem><para>Made a new stable branch. </para>
  2632.     </listitem>
  2633.       </itemizedlist>
  2634.  
  2635.       <emphasis> 990523</emphasis>
  2636.       <itemizedlist>
  2637.     <listitem><para>Added a new paragraph about kernel
  2638.         sources/diffs. (suggested by Douglas Valentine)</para>
  2639.     </listitem>
  2640.     <listitem><para>Added a new FAQ entry from Sven
  2641.         Luther.</para>
  2642.     </listitem>
  2643.       </itemizedlist>
  2644.  
  2645.       <emphasis>990516</emphasis>
  2646.       <itemizedlist>
  2647.     <listitem><para>Source release only - serious changes and
  2648.         known keyboard problem.</para>
  2649.     </listitem>
  2650.     <listitem><para>Updated to &linm68k; 2.2.8.</para>
  2651.     </listitem>
  2652.     <listitem><para>Merged in a few vger changes. apus_setup.c
  2653.         needs a major overhaul, but now the framework is there
  2654.         to do a proper job of it...</para>
  2655.     </listitem>
  2656.     <listitem><para>Applied fixes from Chris Lawrence and Jouko
  2657.         Pynnonen.</para>
  2658.     </listitem>
  2659.       </itemizedlist>
  2660.  
  2661.       <emphasis>990504</emphasis>
  2662.       <itemizedlist>
  2663.     <listitem><para>Fixed a few broken links (thanks,
  2664.         Geert).</para>
  2665.     </listitem>
  2666.     <listitem><para>Added some stuff to
  2667.         <filename>/proc/cpuinfo</filename> so an &linapus;
  2668.         system can be recognized by the installer.</para>
  2669.     </listitem>
  2670.       </itemizedlist>
  2671.  
  2672.       <emphasis> 990502</emphasis>
  2673.       <itemizedlist>
  2674.     <listitem><para>Added new section about X and CyberGfx stuff
  2675.         from Jeff Crystal.</para>
  2676.     </listitem>
  2677.       </itemizedlist>
  2678.  
  2679.       <emphasis> 990421</emphasis>
  2680.       <itemizedlist>
  2681.     <listitem><para>Added __lshrdi3 patch from Gabriel Paubert
  2682.         (paubert@iram.es) (from ppc kernel list).</para>
  2683.     </listitem>
  2684.     <listitem><para>Added mb() to ser_ioext in an attemt to work
  2685.         around a problem found by Peter Kaltstein
  2686.         (CyberStrike@studbox.uni-stuttgart.de).</para>
  2687.     </listitem>
  2688.       </itemizedlist>
  2689.  
  2690.       <emphasis> 990403</emphasis>
  2691.       <itemizedlist>
  2692.     <listitem><para>Named the files of this document so you can
  2693.         now add bookmarks that will work.</para>
  2694.     </listitem>
  2695.     <listitem><para>Added the PCMCIA WHIPPET & APNE
  2696.         drivers. Mecha Ike deserves credits for almost beating
  2697.         me to it :)</para>
  2698.     </listitem>
  2699.       </itemizedlist>
  2700.  
  2701.       <emphasis> 990323</emphasis>
  2702.       <itemizedlist>
  2703.     <listitem><para>Updated to &linm68k; 2.2.3pre1.</para>
  2704.     </listitem>
  2705.       </itemizedlist>
  2706.  
  2707.       <emphasis> 990322</emphasis>
  2708.       <itemizedlist>
  2709.     <listitem><para>Added mb() fix for A2091 driver from
  2710.         Jes.</para>
  2711.     </listitem>
  2712.       </itemizedlist>
  2713.  
  2714.       <emphasis> 990321</emphasis>
  2715.       <itemizedlist>
  2716.     <listitem><para>Added yet another info item for GPM, this
  2717.         time from Gerard Cornu.</para>
  2718.     </listitem>
  2719.     <listitem><para>ChangeLog now available from this
  2720.         document. Incremental change logs included in the
  2721.         <filename>linux-apus-YYMMDD.diff</filename> diffs as a
  2722.         comment.</para>
  2723.     </listitem>
  2724.       </itemizedlist>
  2725.  
  2726.       <emphasis> 990301</emphasis>
  2727.       <itemizedlist>
  2728.     <listitem><para>Ken Tyler sends me a virge blitter fix as a
  2729.         birthday present ;)</para></listitem>
  2730.       </itemizedlist>
  2731.  
  2732.       <emphasis> 990221</emphasis>
  2733.       <itemizedlist>
  2734.     <listitem><para>Arno Griffioen takes matters in his own
  2735.         hands and fixes DMA on the A3000 SCSI controller
  2736.         :)</para>
  2737.     </listitem>
  2738.     <listitem><para>I added the same DMA patches to the A2091
  2739.         and GVP11 drivers.</para>
  2740.     </listitem>
  2741.       </itemizedlist>
  2742.  
  2743.       <emphasis> 990220</emphasis>
  2744.       <itemizedlist>
  2745.     <listitem><para>Updated to &linm68k; 2.2.1pre2.</para>
  2746.     </listitem>
  2747.     <listitem><para>Cleaned up serial driver and GDB support.</para>
  2748.     </listitem>
  2749.       </itemizedlist>
  2750.  
  2751.       <emphasis> 990214</emphasis>
  2752.       <itemizedlist>
  2753.     <listitem><para>Added <application>gpm</application> note
  2754.         from Robert Ramiega.</para></listitem>
  2755.       </itemizedlist>
  2756.  
  2757.       <emphasis> 990206</emphasis>
  2758.       <itemizedlist>
  2759.     <listitem><para>Updated to &linm68k; 2.2.1pre1.</para>
  2760.     </listitem>
  2761.     <listitem><para>Removed parallel/printer drivers. The new
  2762.         driver scheme seems to hang the kernel and I don't have
  2763.         the time to track it down now.</para>
  2764.     </listitem>
  2765.       </itemizedlist>
  2766.  
  2767.       <emphasis> 990203</emphasis>
  2768.       <itemizedlist>
  2769.     <listitem><para>Updated &thisdoc; to compile with DocBook
  2770.         3.0</para></listitem>
  2771.       </itemizedlist>
  2772.  
  2773.       <emphasis> 990201</emphasis>
  2774.       <itemizedlist>
  2775.     <listitem><para>Debian install help updated (Michel
  2776.         Dänzer)</para>
  2777.     </listitem>
  2778.     <listitem><para>Added Virge Z2 support from (Christian
  2779.         T. Steigies).</para>
  2780.     </listitem>
  2781.       </itemizedlist>
  2782.  
  2783.       <emphasis> 990131</emphasis>
  2784.       <itemizedlist>
  2785.     <listitem><para>NO_RELOAD_TAB fix from Michel Dänzer.</para>
  2786.     </listitem>
  2787.     <listitem><para>Cleaned up APUS: output during boot.</para>
  2788.     </listitem>
  2789.       </itemizedlist>
  2790.  
  2791.       <emphasis>990129</emphasis>
  2792.       <itemizedlist>
  2793.     <listitem><para>Virge update from Ken Tyler.</para>
  2794.     </listitem>
  2795.     <listitem><para>Other video updates from Geert Uytterhoeven.</para>
  2796.     </listitem>
  2797.       </itemizedlist>
  2798.  
  2799.       <emphasis> 990123</emphasis>
  2800.       <itemizedlist>
  2801.     <listitem><para>Module fix from Andreas Schwab.</para>
  2802.     </listitem>
  2803.     <listitem><para>Menuconfig and module fix from Michel
  2804.         Dänzer).</para>
  2805.     </listitem>
  2806.     <listitem><para>Rewrote part of the interrupt handling. Lvl7
  2807.         interrupts cannot be avoided, but they are now treated
  2808.         as the bogus Lvl0 interrupts.</para>
  2809.     </listitem>
  2810.       </itemizedlist>
  2811.  
  2812.       <emphasis> 990118</emphasis>
  2813.       <itemizedlist>
  2814.     <listitem><para>Updated to &linm68k; 2.2.0pre7.</para>
  2815.     </listitem>
  2816.     <listitem><para>Replaced the obsolete cvppc driver with the
  2817.         pm2 driver (Ilario Nardinocchi).</para>
  2818.     </listitem>
  2819.     <listitem><para>Fix BlizzardPPC SCSI's dependencies (Michel
  2820.         Dänzer).</para>
  2821.     </listitem>
  2822.     <listitem><para>Replaced iobarrier() with mb().</para>
  2823.     </listitem>
  2824.       </itemizedlist>
  2825.  
  2826.       <emphasis> 990113</emphasis>
  2827.       <itemizedlist>
  2828.     <listitem><para>Added fix for building lp as module
  2829.         from Frank Petzold.</para>
  2830.     </listitem>
  2831.     <listitem><para>Removed FastLane from list of working
  2832.         hardware and from the precompiled kernels.</para>
  2833.     </listitem>
  2834.       </itemizedlist>
  2835.  
  2836.       <emphasis>990112</emphasis>
  2837.       <itemizedlist>
  2838.     <listitem><para>Added &debian; installation section by
  2839.         Michel Dänzer.</para>
  2840.     </listitem>
  2841.       </itemizedlist>
  2842.  
  2843.       <emphasis> 990111</emphasis>
  2844.       <itemizedlist>
  2845.     <listitem><para>Updated to &linm68k; 2.2.0pre6. There might
  2846.         be problems with memory mapping devices. If you
  2847.         experience problems, try using the nobats option.</para>
  2848.     </listitem>
  2849.       </itemizedlist>
  2850.  
  2851.       <emphasis> 990106</emphasis>
  2852.       <itemizedlist>
  2853.     <listitem><para>Added PowerUp PCI Bridge detection to
  2854.         boothack. Contributed by Ralph Schmidt.</para>
  2855.     </listitem>
  2856.       </itemizedlist>
  2857.  
  2858.       <emphasis> 990105</emphasis>
  2859.       <itemizedlist>
  2860.     <listitem><para>Updated to &linm68k; 2.2.0pre4. Light my
  2861.         fire, baby! It's smoooking fast :@) &x; starts in no
  2862.         time now... I need to get this kernel installed on
  2863.         Concubine!</para>
  2864.     </listitem>
  2865.     <listitem><para>Changed installer directory structure on
  2866.         &sunsite; in preparation for proper support of &debian;
  2867.         installation schemes.</para>
  2868.     </listitem>
  2869.     <listitem><para>Martin Koenig sez the Ariadne II driver is
  2870.         working (somewhat slow though).</para>
  2871.     </listitem>
  2872.     <listitem><para>Carlos Mayo sez the SurfSquirrel is working.
  2873.         (PCMCIA card, right?).</para>
  2874.     </listitem>
  2875.     <listitem><para>Updated &thisdoc; here and there. If I
  2876.         missed anything during the past couple of weeks, please
  2877.         let me know.</para></listitem>
  2878.       </itemizedlist>
  2879.  
  2880.       <emphasis> 981216</emphasis>
  2881.       <itemizedlist>
  2882.     <listitem><para>Updated to &linm68k; 2.1.131.</para>
  2883.     </listitem>
  2884.       </itemizedlist>
  2885.  
  2886.       <emphasis> 981213</emphasis>
  2887.       <itemizedlist>
  2888.     <listitem><para>Added patch from Richard Hirst to fix CDROM
  2889.         mount problem on A4000T/A4091 SCSI.</para>
  2890.     </listitem>
  2891.     <listitem><para>Changed CONFIG_PPC in sound driver to
  2892.         CONFIG_PMAC. I'd like to know if it solves the
  2893.         problems.</para>
  2894.     </listitem>
  2895.       </itemizedlist>
  2896.  
  2897.       <emphasis> 981129</emphasis>
  2898.       <itemizedlist>
  2899.     <listitem><para>Added a handful of patches from Chris
  2900.         Lawrence.</para>
  2901.     </listitem>
  2902.       </itemizedlist>
  2903.  
  2904.       <emphasis> 981127</emphasis>
  2905.       <itemizedlist>
  2906.     <listitem><para>Updated to 2.1.130</para>
  2907.     </listitem>
  2908.     <listitem><para>Fixed off-by-1 error in reloc code. This is
  2909.         what stopped some people from running the later kernels,
  2910.         I'm sure.</para>
  2911.     </listitem>
  2912.     <listitem><para>Added a (good) handful of iobarriers to the
  2913.         MFC serial driver. It might have fixed the reported
  2914.         problem.</para>
  2915.     </listitem>
  2916.       </itemizedlist>
  2917.  
  2918.       <emphasis> 981126</emphasis>
  2919.       <itemizedlist>
  2920.     <listitem><para>The <filename
  2921.           class="directory">latest</filename> directory now
  2922.         contains files (not links) with dated names to prevent
  2923.         confusion in the future. If people try to download
  2924.         using a cached and obsolete name, they should get an
  2925.         error.</para>
  2926.     </listitem>
  2927.     <listitem><para>Reintroduced the <filename>head.S</filename>
  2928.         progress values.</para>
  2929.     </listitem>
  2930.       </itemizedlist>
  2931.  
  2932.       <emphasis> 981125</emphasis>
  2933.       <itemizedlist>
  2934.     <listitem><para>Included Whippet driver. I got a patch from
  2935.         Carlos Mayo some time ago, but it was already included
  2936.         in 2.1.127.</para>
  2937.     </listitem>
  2938.     <listitem><para>Changed a few bits of the new relocation
  2939.         magic per suggestion from Paul Mackerras. I can't
  2940.         imagine it will help on the failing boxes but one never
  2941.         knows.</para>
  2942.     </listitem>
  2943.     <listitem><para>Added new sections by Marco (FAQ) and
  2944.         Matthias (X).</para>
  2945.     </listitem>
  2946.       </itemizedlist>
  2947.  
  2948.       <emphasis> 981122</emphasis>
  2949.       <itemizedlist>
  2950.     <listitem><para>Added some &debppc; links from Sven Luther</para>
  2951.     </listitem>
  2952.     <listitem><para>Updated list of included drivers.</para>
  2953.     </listitem>
  2954.     <listitem><para>The vger integration is pretty much done
  2955.         now.</para>
  2956.     </listitem>
  2957.     <listitem><para>Reports of 981121 failing to boot. *sigh* If
  2958.         you can get it to boot, use an older kernel.</para>
  2959.     </listitem>
  2960.       </itemizedlist>
  2961.  
  2962.       <emphasis> 981121</emphasis>
  2963.       <itemizedlist>
  2964.     <listitem><para>Added X help text from Marco De Vitis.</para>
  2965.     </listitem>
  2966.     <listitem><para>Good progress on the major &linapus;
  2967.         workover and vger integration. It's now close to being
  2968.         possible to boot a &linapus; kernel on any of the other
  2969.         PPC targets. Do I need to point out that this is a Good
  2970.         Thing(TM) for distributions? :) Still a few nits to
  2971.         sort out though.</para>
  2972.     </listitem>
  2973.     <listitem><para>&boothack; needed a modification to allow
  2974.         the above changes so you need to get that as well. It is
  2975.         backwards compatible, so you can still use it with the
  2976.         older kernels.</para></listitem>
  2977.     <listitem><para>Included pretty much all drivers in the
  2978.         kernel image (and Mac FS and partition table support).</para>
  2979.     </listitem>
  2980.       </itemizedlist>
  2981.  
  2982.       <emphasis> 981117</emphasis>
  2983.       <itemizedlist>
  2984.     <listitem><para>Worked on vger integration.</para>
  2985.     </listitem>
  2986.       </itemizedlist>
  2987.  
  2988.       <emphasis> 981114</emphasis>
  2989.       <itemizedlist>
  2990.     <listitem><para>Renamed iobarrier macros.</para>
  2991.     </listitem>
  2992.     <listitem><para>Updated CyberVision driver. Might have
  2993.         broken it, please let me know.</para>
  2994.     </listitem>
  2995.     <listitem><para>Cleaned up links (see <xref
  2996.           linkend="links">).</para></listitem>
  2997.       </itemizedlist>
  2998.  
  2999.       <emphasis> 981112</emphasis>
  3000.       <itemizedlist>
  3001.     <listitem><para>Replaced auxmem with a simpler hack. Even
  3002.         though auxmem would have been pretty compared with the
  3003.         random hacking of Z2 and motherboard memory now used, it
  3004.         would also have been overkill.</para>
  3005.     </listitem>
  3006.     <listitem><para>Updated to 2.1.127.</para>
  3007.     </listitem>
  3008.       </itemizedlist>
  3009.  
  3010.       <emphasis> 981108</emphasis>
  3011.       <itemizedlist>
  3012.     <listitem><para>Added section about installing from a &rhrc;
  3013.         CD.</para></listitem>
  3014.     <listitem><para>Included Ilario's CVPPC frame buffer
  3015.         device. See the home page for details on use (<xref
  3016.           linkend="linux-links">).</para>
  3017.     </listitem>
  3018.       </itemizedlist>
  3019.  
  3020.       <emphasis> 981107</emphasis>
  3021.       <itemizedlist>
  3022.     <listitem><para>Sync'd with vger again. Mainly to get some
  3023.         &linapus; changes into the &linux; main tree.</para>
  3024.     </listitem>
  3025.     <listitem><para>Juiced up my motivation (nice meeting you,
  3026.         Ken & Julian :)</para>
  3027.     </listitem>
  3028.     <listitem><para>Fixed stupid bug in mm_ptov. Found by
  3029.         Ilario.</para>
  3030.     </listitem>
  3031.     <listitem><para>Redid the fb X fix, avoiding ptov
  3032.         calls.</para>
  3033.     </listitem>
  3034.       </itemizedlist>
  3035.  
  3036.       <emphasis> 981105</emphasis>
  3037.       <itemizedlist>
  3038.     <listitem><para>Added '60nsram' kernel option.</para>
  3039.     </listitem>
  3040.     <listitem><para>Added 'nobats' kernel option.</para>
  3041.     </listitem>
  3042.     <listitem><para>Improved memory mapping; should use BATs
  3043.         correctly, even on &blzppc; cards with weird
  3044.         alignment.</para>
  3045.     </listitem>
  3046.       </itemizedlist>
  3047.  
  3048.       <emphasis> 981103</emphasis>
  3049.       <itemizedlist>
  3050.     <listitem><para>Added patch from Peter McGavin to fix EGS.</para>
  3051.     </listitem>
  3052.     <listitem><para>Added patch from Frank Petzold to fix
  3053.         modules.</para>
  3054.     </listitem>
  3055.     <listitem><para>Worked a bit more on &thisdoc;</para>
  3056.     </listitem>
  3057.       </itemizedlist>
  3058.  
  3059.       <emphasis> 981102</emphasis>
  3060.       <itemizedlist>
  3061.     <listitem><para>Sync'd PPC stuff with vger.</para>
  3062.     </listitem>
  3063.     <listitem><para>Proper fix to the X problem.</para>
  3064.     </listitem>
  3065.     <listitem><para>Started rearranging &thisdoc; into two parts.</para>
  3066.     </listitem>
  3067.       </itemizedlist>
  3068.  
  3069.       <emphasis> 981031</emphasis>
  3070.       <itemizedlist>
  3071.     <listitem><para>Added IDEDOUBLER fix from Geert Uytterhoeven.</para>
  3072.     </listitem>
  3073.     <listitem><para>Added X fix from Carsten.</para>
  3074.     </listitem>
  3075.     <listitem><para>Added some installer doc changes from Ken
  3076.         Tyler.</para>
  3077.     </listitem>
  3078.       </itemizedlist>
  3079.  
  3080.       <emphasis>981018</emphasis>
  3081.       <itemizedlist>
  3082.     <listitem><para>Sven found the problem preventing proper
  3083.         operation on Blizzard. It was as suspected all along
  3084.         related to the new (soon obsolete :) booting
  3085.         process.</para>
  3086.     </listitem>
  3087.     <listitem><para>I have started using egcs-1.1 for building
  3088.         kernels. They seem to work fine on my box. I'd like to
  3089.         hear from you ASAP if they don't work on your box.</para>
  3090.  
  3091.       <para>I don't know if the patches <xref linkend="sd-misc">
  3092.           are necessary for egcs-1.1. I guess time will
  3093.           tell. (Remember; if parts of the patch seems to be missing
  3094.           in egcs-1.1 it doesn't necessary mean that the problem the
  3095.           patch fixed in 1.0.3 hasn't been fixed in some other
  3096.           way.)</para>
  3097.     </listitem>
  3098.     <listitem><para>Included the serial driver again.</para>
  3099.     </listitem>
  3100.       </itemizedlist>
  3101.  
  3102.       <emphasis> 981014</emphasis>
  3103.       <itemizedlist>
  3104.     <listitem><para>Added &rh; install updates from Ken Tyler to
  3105.         &thisdoc;</para>
  3106.     </listitem>
  3107.       </itemizedlist>
  3108.  
  3109.       <emphasis>981009</emphasis>
  3110.       <itemizedlist>
  3111.     <listitem><para>Updated to 2.1.124 (X is still broken).</para>
  3112.     </listitem>
  3113.       </itemizedlist>
  3114.  
  3115.       <emphasis>981005</emphasis>
  3116.       <itemizedlist>
  3117.     <listitem><para>Included Fastlane SCSI driver.</para>
  3118.     </listitem>
  3119.       </itemizedlist>
  3120.  
  3121.       <emphasis>981004</emphasis>
  3122.       <itemizedlist>
  3123.     <listitem><para>Wasted some more time on KGDB. It's still not
  3124.         good, but it's better.</para>
  3125.     </listitem>
  3126.     <listitem><para>Added heartbeat.</para>
  3127.     </listitem>
  3128.       </itemizedlist>
  3129.  
  3130.       <emphasis>981003</emphasis>
  3131.       <itemizedlist>
  3132.     <listitem><para>Made KGDB work (still some problems to sort
  3133.         out, but it is usable).</para>
  3134.     </listitem>
  3135.     <listitem><para>Added workaround for ioremap bug. You can now
  3136.         use motherboard/Z2 memory for swap (see relevant FAQ
  3137.         entry).</para>
  3138.     </listitem>
  3139.     <listitem><para>Added compiler option (-fno-strength-reduce)
  3140.         that may (or may not) affect the A4000T/A4091 SCSI
  3141.         drivers.</para>
  3142.     </listitem>
  3143.       </itemizedlist>
  3144.  
  3145.       <emphasis>981002</emphasis>
  3146.       <itemizedlist>
  3147.     <listitem><para>Added some more changes to the &rh; installer
  3148.         sections from Ken Tyler.</para>
  3149.     </listitem>
  3150.       </itemizedlist>
  3151.  
  3152.       <emphasis> 980926</emphasis>
  3153.       <itemizedlist>
  3154.     <listitem><para>Included some changes to the &rh; installer
  3155.         sections from Ken Tyler.</para>
  3156.     </listitem>
  3157.     <listitem><para>Added new FAQ entry from Ken Tyler
  3158.         (disabling CV to boot on AGA).</para>
  3159.     </listitem>
  3160.     <listitem><para>Added new section with suggestions for
  3161.         &thisdoc;</para>
  3162.     </listitem>
  3163.     <listitem><para>Christophe Decanini reports that RH CDROM, FTP
  3164.         and NFS installation methods work.</para>
  3165.     </listitem>
  3166.       </itemizedlist>
  3167.  
  3168.       <emphasis> 980915</emphasis>
  3169.       <itemizedlist>
  3170.     <listitem><para>Added Geert Uytterhoeven's patch to allow
  3171.         1024x768-16bp with CyberVision.</para>
  3172.     </listitem>
  3173.       </itemizedlist>
  3174.  
  3175.       <emphasis> 980912</emphasis>
  3176.       <itemizedlist>
  3177.     <listitem><para>Undid the first change of 980907 since it made
  3178.         the kernel fail to boot on most other machines.</para>
  3179.     </listitem>
  3180.       </itemizedlist>
  3181.  
  3182.       <emphasis>980908</emphasis>
  3183.       <itemizedlist>
  3184.     <listitem><para>Updated to 2.1.120.</para>
  3185.     </listitem>
  3186.       </itemizedlist>
  3187.  
  3188.       <emphasis>980907</emphasis>
  3189.       <itemizedlist>
  3190.     <listitem><para>Only 128kB is eaten by the PPC exception
  3191.         registers now, leaving 384kB more free memory than
  3192.         before.</para>
  3193.     </listitem>
  3194.     <listitem><para>Added a simple and not yet fully functional
  3195.         method for using motherboard memory as swap. See new FAQ
  3196.         entry.</para>
  3197.     </listitem>
  3198.       </itemizedlist>
  3199.  
  3200.       <emphasis>980902</emphasis>
  3201.       <itemizedlist>
  3202.     <listitem><para>Submitted patch to vger (well, to Geert,
  3203.         really :)</para>
  3204.     </listitem>
  3205.     <listitem><para>Added code to determine bus speed written by
  3206.         Ralph Schmidt.</para>
  3207.     </listitem>
  3208.       </itemizedlist>
  3209.  
  3210.       <emphasis>980901</emphasis>
  3211.       <itemizedlist>
  3212.     <listitem><para>Added latest vger PPC changes.</para>
  3213.     </listitem>
  3214.     <listitem><para>The above bloated the kernel so much that a
  3215.         linker/booter problem prevented it from booting. I removed
  3216.         the Retina and clGen graphics drivers because of
  3217.         this.</para>
  3218.     </listitem>
  3219.       </itemizedlist>
  3220.  
  3221.       <emphasis>980831</emphasis>
  3222.       <itemizedlist>
  3223.     <listitem><para>It's now possible to disable wait states for
  3224.         all bus speeds. Sven Ottemann has been pushing for this
  3225.         for some time, but let me warn you; you need 60ns RAM, and
  3226.         according to Phase5 it doesn't work on 66MHz
  3227.         buses. YMMV.</para>
  3228.     </listitem>
  3229.     <listitem><para> Now the bus speed ID is output at
  3230.         startup to help debugging.</para>
  3231.     </listitem>
  3232.       </itemizedlist>
  3233.  
  3234.  
  3235.       <emphasis>980830</emphasis>
  3236.       <itemizedlist>
  3237.     <listitem><para>Sven Ottemann fixed the booter to be a
  3238.         one-file image, rather than the old ADOSHUNK/ELF
  3239.         pair.</para>
  3240.     </listitem>
  3241.     <listitem><para>Made the booter clear all MMU
  3242.         registers. <filename>head.S</filename> now sets up all the
  3243.         required mappings - which makes the &blzppc; get past the
  3244.         old trouble spot. There are still some problems left
  3245.         though.</para>
  3246.     </listitem>
  3247.     <listitem><para>Reintroduced colors to &thisdoc;, marking new
  3248.         stuff. The chapters and sections are appended with a date
  3249.         where appropriate so you can see where the latest changes
  3250.         are from the table of contents.</para>
  3251.     </listitem>
  3252.       </itemizedlist>
  3253.  
  3254.       <emphasis> 980829</emphasis>
  3255.       <itemizedlist>
  3256.     <listitem><para>Updated to &linux; 2.1.119.</para>
  3257.     </listitem>
  3258.       </itemizedlist>
  3259.  
  3260.       <emphasis> 980827</emphasis>
  3261.       <itemizedlist>
  3262.     <listitem><para> Fixed a potential problem in
  3263.         <filename>head.S</filename>. &blzppc; owners should give
  3264.         it a try.</para>
  3265.     </listitem>
  3266.       </itemizedlist>
  3267.  
  3268.       <emphasis>980822</emphasis>
  3269.       <itemizedlist>
  3270.     <listitem><para> Ken Tyler informs me that the A4091/A4000T
  3271.         SCSI driver is finally working. This is due to the
  3272.         fabulous work of Richard Hirst. Still, this has resulted
  3273.         in an item on the to do list (performance
  3274.         penalty).</para>
  3275.     </listitem>
  3276.     <listitem><para> I have put my sources under CVS control so in
  3277.         the future I will be able to release incremental diffs of
  3278.         the &linapus; sources.</para>
  3279.     </listitem>
  3280.       </itemizedlist>
  3281.  
  3282.       <emphasis>980821</emphasis>
  3283.       <itemizedlist>
  3284.     <listitem><para> Francisco also reports that the Hydra driver
  3285.         is working. </para>
  3286.     </listitem>
  3287.     <listitem><para> &blzppc; owners should check the FAQ entry
  3288.         specific to their HW. I just added a suggestion from Sven
  3289.         Luther.</para>
  3290.     </listitem>
  3291.       </itemizedlist>
  3292.  
  3293.       <emphasis>980820</emphasis>
  3294.       <itemizedlist>
  3295.     <listitem><para> Francisco Sepulveda informs me that the
  3296.         Picasso driver is working on his A3000T.</para>
  3297.     </listitem>
  3298.     <listitem><para> Added patch to menubox.c from Frank Petzold.</para>
  3299.     </listitem>
  3300.     <listitem><para> Changed kernel to use segment registers for
  3301.         mapping kernel space. This might fix the A4000T/A4091
  3302.         driver problem (even though I'm tired of being
  3303.         enthusiastic about that :)</para>
  3304.     </listitem>
  3305.       </itemizedlist>
  3306.  
  3307.       <emphasis>980816</emphasis>
  3308.       <itemizedlist>
  3309.     <listitem><para> Completed move of &thisdoc; to DocBook. That
  3310.         took some time!</para>
  3311.       <para> I wonder if anyone will miss the color highlighting
  3312.         of changes to the document? If so, let me know and I will
  3313.         get it working again.</para>
  3314.     </listitem>
  3315.     <listitem><para> Added some changes from &linppc;</para>
  3316.     </listitem>
  3317.       </itemizedlist>
  3318.  
  3319.       <emphasis>980813</emphasis>
  3320.       <itemizedlist>
  3321.     <listitem><para> Included &blzppc; SCSI driver again.</para>
  3322.     </listitem>
  3323.     <listitem><para> Included Buddha IDE driver.</para>
  3324.     </listitem>
  3325.     <listitem><para> Included patch to socket.h</para>
  3326.     </listitem>
  3327.       </itemizedlist>
  3328.  
  3329.       <emphasis>980812</emphasis>
  3330.       <itemizedlist>
  3331.     <listitem><para>Included clgen gfx driver.</para>
  3332.     </listitem>
  3333.     <listitem><para>More additions to the A4091 support.</para>
  3334.     </listitem>
  3335.     <listitem><para>Updated to linux-2.1.115</para>
  3336.     </listitem>
  3337.       </itemizedlist>
  3338.  
  3339.       <emphasis>980801</emphasis>
  3340.       <itemizedlist>
  3341.     <listitem><para> Unfortunately the new &boothack; still can't
  3342.         boot &linapus; properly on &blzppc; - possibly a problem
  3343.         with the 040. I'd like to hear from &cybppc; people who
  3344.         can boot on an 040.</para>
  3345.     </listitem>
  3346.     <listitem><para> Added a few syncs and eieios to the
  3347.         booter.</para> 
  3348.     </listitem>
  3349.     <listitem><para> Added Sven's Blizzard SCSI patches. The
  3350.         kernel image in vmbl980801.lzh includes this driver and a
  3351.         not the Gayle IDE driver which conflicts with the SCSI
  3352.         driver for some reason.</para>
  3353.     </listitem>
  3354.       </itemizedlist>
  3355.  
  3356.       <emphasis>980730</emphasis>
  3357.       <itemizedlist>
  3358.     <listitem><para> &boothack;: Added more robust synchronization
  3359.         between the CPUs (the "wedgie" scheme).</para>
  3360.     </listitem>
  3361.     <listitem><para> &boothack;: Added stack space for &cpuppc; in
  3362.         CHIP.</para>
  3363.     </listitem>
  3364.     <listitem><para> &boothack;: Invalidate cache contents.</para>
  3365.     </listitem>
  3366.     <listitem><para> &boothack;: Disable TimerBase interrupts
  3367.         (this is the one that won the gold).</para>
  3368.     </listitem>
  3369.     <listitem><para> The above ensures rock-stable booting on my
  3370.         box with the 980711 ppc.library. No more bad checksums;
  3371.         it's just awesome :)</para>
  3372.     </listitem>
  3373.       </itemizedlist>
  3374.  
  3375.       <emphasis>980726-2</emphasis>
  3376.       <itemizedlist>
  3377.     <listitem><para> Updated my ppc.library to 980711. I now know
  3378.         what the problem has been on the &blzppc; cards - I think
  3379.         :)</para>
  3380.     </listitem>
  3381.     <listitem><para> Moved head.S progress word to 0xfff0eff0.</para>
  3382.     </listitem>
  3383.     <listitem><para> Added some text about how to avoid memory
  3384.         problems when booting (Please <emphasis>do</emphasis> read
  3385.         it and tell me if it is of any help, or if it requires
  3386.         changes/additions).</para>
  3387.     </listitem>
  3388.     <listitem><para> Added checksum code to the booter.</para>
  3389.     </listitem>
  3390.       </itemizedlist>
  3391.  
  3392.       <emphasis>980726</emphasis>
  3393.       <itemizedlist>
  3394.     <listitem><para> Fixed the problem with zorro devices count.</para>
  3395.     </listitem>
  3396.     <listitem><para> Fixed memory initialization code again.</para>
  3397.     </listitem>
  3398.       </itemizedlist>
  3399.  
  3400.       <emphasis>980725</emphasis>
  3401.       <itemizedlist>
  3402.     <listitem><para> Fixed silly bug in an A4091/A4000T SCSI
  3403.         driver support routine which caused kernel panics.</para>
  3404.     </listitem>
  3405.     <listitem><para> Thomas Lohmann informs me that Ken&Son's
  3406.         &rhinstaller; works with FTP.</para>
  3407.     </listitem>
  3408.     <listitem><para> Added new contrib directory at &sunsite; (see
  3409.         <xref linkend="sunsite">).</para>
  3410.     </listitem>
  3411.     <listitem><para> Memory initialization should now correctly
  3412.         identify an active &ados; ROM shadow and ignore that 512kB
  3413.         block of memory.</para>
  3414.     </listitem>
  3415.       </itemizedlist>
  3416.  
  3417.       <emphasis>980724</emphasis>
  3418.       <itemizedlist>
  3419.     <listitem><para> Changed date format to YYMMDD.</para>
  3420.     </listitem>
  3421.     <listitem><para> Fixed problem with Zorro structures (get
  3422.         newest &boothack;).</para>
  3423.     </listitem>
  3424.       </itemizedlist>
  3425.  
  3426.       <emphasis>980723</emphasis>
  3427.       <itemizedlist>
  3428.     <listitem><para> Apparently lots of stuff is broken in
  3429.         2.1.108: CyberVision, GVP HC+8, you name it. I'm
  3430.         clueless. Nothing really changed on the &linapus; side of
  3431.         things, so I must have missed some serious &linm68k;
  3432.         changes.</para>
  3433.     </listitem>
  3434.     <listitem><para> Thomas Lohmann informs me that CV works with
  3435.         the console in all resolutions after he installed the
  3436.         ppc.library included in cybergfx of 05.07.98
  3437.         (IIRC).</para>
  3438.     </listitem>
  3439.     <listitem><para> I tried including sound in the kernel, but
  3440.         there is a build problem.</para>
  3441.     </listitem>
  3442.     <listitem><para> I have made some changes to the A4091/A4000T
  3443.         driver support that might make a difference.</para>
  3444.     </listitem>
  3445.       </itemizedlist>
  3446.  
  3447.       <emphasis>980719</emphasis>
  3448.       <itemizedlist>
  3449.     <listitem><para> Added Richard Hirst's 53c710 patch.</para>
  3450.     </listitem>
  3451.       </itemizedlist>
  3452.  
  3453.       <emphasis>980711</emphasis>
  3454.       <itemizedlist>
  3455.     <listitem><para> Moved patches to 2.1.108.</para>
  3456.     </listitem>
  3457.     <listitem><para> Added a few FAQ changes suggested by Thomas
  3458.         Lohmann. He also told me that the GVP A2000-HC+8 Series II
  3459.         SCSI controller is working with &linapus;.</para>
  3460.     </listitem>
  3461.       </itemizedlist>
  3462.  
  3463.       <emphasis>980710</emphasis>
  3464.       <itemizedlist>
  3465.     <listitem><para> Increased SCSI timeouts.</para>
  3466.     </listitem>
  3467.     <listitem><para> Tested &linapus; startup with ppc.library
  3468.         version 46.15 and 68060.library version 44.3. No problems
  3469.         whatsoever on my box.</para>
  3470.     </listitem>
  3471.       </itemizedlist>
  3472.  
  3473.       <emphasis>980707</emphasis>
  3474.       <itemizedlist>
  3475.     <listitem><para> Massimo Gais has made a mirror of the apus
  3476.         directory at ftp.unina.it.</para>
  3477.     </listitem>
  3478.       </itemizedlist>
  3479.  
  3480.       <emphasis>980617</emphasis>
  3481.       <itemizedlist>
  3482.     <listitem><para> Reordered the sections in the installation
  3483.         chapter.</para>
  3484.     </listitem>
  3485.     <listitem><para> Changed the booter to disable ROM
  3486.         mappings. Maybe it will help on &blzppc; cards?</para>
  3487.     </listitem>
  3488.       </itemizedlist>
  3489.  
  3490.       <emphasis>980616</emphasis>
  3491.       <itemizedlist>
  3492.     <listitem><para> I have run of ideas for what could be causing
  3493.         the &blzppc; problem. Someone with a &blzppc;s needs to
  3494.         dig in and have a look. I'm not spending any more time on
  3495.         this....</para>
  3496.     </listitem>
  3497.     <listitem><para> Ken and Julian Tyler have completed the
  3498.         &rhinstaller; support for &linapus;. Obviously this makes
  3499.         it <emphasis>much</emphasis> easier to get a system
  3500.         properly installed and working.</para>
  3501.     </listitem>
  3502.       </itemizedlist>
  3503.  
  3504.       <emphasis>980615</emphasis>
  3505.       <itemizedlist>
  3506.     <listitem><para> &sunsite; has been unaccessible for a couple
  3507.         of days now. It's due to a cut cable on the Danish back
  3508.         bone (I think).</para>
  3509.     </listitem>
  3510.     <listitem><para> Bartek Kozakiewicz tells me that HFS and
  3511.         ISO9660/Joliet drivers are working. And also that the
  3512.         printer driver is working.</para>
  3513.     </listitem>
  3514.       </itemizedlist>
  3515.  
  3516.       <emphasis>980612</emphasis>
  3517.       <itemizedlist>
  3518.     <listitem><para> Now writes head.S progress to
  3519.         0xfff07000. Hope it works this time... *sigh*</para>
  3520.     </listitem>
  3521.     <listitem><para> Cleaned up &linapus; changes to intrude less
  3522.         on the &linm68k; sources.</para>
  3523.     </listitem>
  3524.       </itemizedlist>
  3525.  
  3526.       <emphasis>980610</emphasis>
  3527.       <itemizedlist>
  3528.     <listitem><para> Carsten Plunkte tells me it is important to
  3529.         apply the egcs patches from &sunsite; if building
  3530.         applications (I added a new subsection to
  3531.         Applications).</para>
  3532.     </listitem>
  3533.       </itemizedlist>
  3534.  
  3535.       <emphasis>980609</emphasis>
  3536.       <itemizedlist>
  3537.     <listitem><para> Moved patches to 2.1.105.</para></listitem>
  3538.     <listitem><para> Geert Uytterhoeven tells me that emacs-nox
  3539.         also fails on CHRP so it is indeed an application
  3540.         problem.</para>
  3541.     </listitem>
  3542.       </itemizedlist>
  3543.  
  3544.       <emphasis>980607</emphasis>
  3545.       <itemizedlist>
  3546.     <listitem><para> Updated ppc.library to V45.20. Everything is
  3547.         still working. Also tried installing another 8MB but the
  3548.         ppc.library (V44.27) wouldn't run then. I might try
  3549.         installing the RAM again with the new ppc.library at some
  3550.         time.</para>
  3551.     </listitem>
  3552.     <listitem><para> Corrected initial mapping in head.S - I had
  3553.         set it to 4MB, not 8MB.</para>
  3554.     </listitem>
  3555.     <listitem><para> Now writes head.S progress to address
  3556.         0xfff02ffc which exists on all PoweUp boards and is not
  3557.         deleted by the &p5; &cpuppc; software (not on my box
  3558.         anyway).</para>
  3559.     </listitem>
  3560.       </itemizedlist>
  3561.  
  3562.       <emphasis>980606</emphasis>
  3563.       <itemizedlist>
  3564.     <listitem><para> The emacs compiled with X libs works, so I
  3565.         think the problem with emacs-nox is probably a generic
  3566.         (application) problem, and not caused in particular by the
  3567.         &linapus; kernel.</para>
  3568.     </listitem>
  3569.     <listitem><para> More reports of problems booting the newest
  3570.         kernels. I'm at a loss here - the kernels are working fine
  3571.         on my box.</para>
  3572.     </listitem>
  3573.       </itemizedlist>
  3574.  
  3575.       <emphasis>980604</emphasis>
  3576.       <itemizedlist>
  3577.     <listitem><para> Merged in a few vger changes and submitted
  3578.         the few &linapus; changes to the vger tree.</para>
  3579.     </listitem>
  3580.       </itemizedlist>
  3581.       
  3582.       <emphasis>980603</emphasis>
  3583.       <itemizedlist>
  3584.     <listitem><para> I replaced the head.S serial progress output
  3585.         with a counter updated in memory. If the kernel hangs for
  3586.         you before it opens a display, have a look at address
  3587.         0xfff04000 after rebooting. The long word should read
  3588.         0x1234000?, with ? being between 1 and 8.</para>
  3589.     </listitem>
  3590.       </itemizedlist>
  3591.  
  3592.       <emphasis>980601</emphasis>
  3593.       <itemizedlist>
  3594.     <listitem><para> SCSI drivers are now again included in the
  3595.         precompiled kernels.</para>
  3596.     </listitem>
  3597.       </itemizedlist>
  3598.  
  3599.       <emphasis>980528</emphasis>
  3600.       <itemizedlist>
  3601.     <listitem><para> Exception registers are now mapped with
  3602.         caching enabled.</para>
  3603.     </listitem>
  3604.     <listitem><para> The kernel can now reboot the machine (thanks
  3605.         to Holger Jakob who bugged Ralph Schmidt for the
  3606.         information.)</para>
  3607.     </listitem>
  3608.     <listitem><para> The kernel should now be able to handle weird
  3609.         aligned memory (such as 24MB aligned to an 8MB
  3610.         boundary).</para>
  3611.     </listitem>
  3612.     <listitem><para> While working its way through head.S (early
  3613.         initialization) the kernel now writes the characters A-F
  3614.         to the serial port much like &linm68k;. Caching issues
  3615.         prevents it from being just as detailed as in &linm68k;
  3616.         though.</para>
  3617.     </listitem>
  3618.     <listitem><para> Removed BOOTP/RARP support.</para>
  3619.     </listitem>
  3620.       </itemizedlist>
  3621.  
  3622.       <emphasis>980527</emphasis>
  3623.       <itemizedlist>
  3624.     <listitem><para> Found potential cause of the &blzppc;
  3625.         problems; the first mapping set up before the memory
  3626.         system is initialized used a 64MB mapping instead of the
  3627.         16MB mentioned in the comment. I changed it to 8MB which
  3628.         should allow a &blzppc; box with only 8MB to boot
  3629.         &linapus;.</para>
  3630.     </listitem>
  3631.     <listitem><para> Included support for msdos partition tables.</para>
  3632.     </listitem>
  3633.     <listitem><para> Put some patches for egcs-1.0.3 in the misc
  3634.         directory at &sunsite;. I don't know how important they
  3635.         are: I've recompiled a working kernel under &linapus;
  3636.         without the patches. The patches are from a posting on the
  3637.         &linppc; kernel list.</para>
  3638.     </listitem>
  3639.       </itemizedlist>
  3640.  
  3641.       <emphasis>980525</emphasis>
  3642.       <itemizedlist>
  3643.     <listitem><para> More patches for vger and the &linm68k;
  3644.         kernel have been submitted.</para>
  3645.     </listitem>
  3646.     <listitem><para> &linapus; is now up-to-date with &linm68k;
  3647.         2.1.101 and &linppc;-vger-980523. </para>
  3648.     </listitem>
  3649.     <listitem><para> I finally got around to installing a new disk
  3650.         in my &amiga; so I can now do some more testing on
  3651.         it. Also installed &rhppc;/1998.</para>
  3652.     </listitem>
  3653.     <listitem><para> Egcs-1.0.3 has been released. There are still
  3654.         some &linppc;-specific patches which have not been
  3655.         included, but with egcs-1.0.3 and binutils-2.9.1 I can
  3656.         compile a working kernel under &linapus;.</para>
  3657.     </listitem>
  3658.       </itemizedlist>
  3659.  
  3660.       <emphasis>980521</emphasis>
  3661.       <itemizedlist>
  3662.     <listitem><para> Added a new section with mirror sites. First
  3663.         entry is in Poland (thanks Bartek). If you have made a
  3664.         mirror or an archive of the mailing list please let me
  3665.         know.</para>
  3666.     </listitem>
  3667.     <listitem><para> Jimmy "What's-yer-sir-name?" reported that X
  3668.         is finally running on CyberVision. Shortly after Jeffrey
  3669.         W. Davis posted a nice HOWTO on the &linapus; kernel list
  3670.         which I have put in the FAQ section.</para>
  3671.     </listitem>
  3672.     <listitem><para> Most of the remaining &linapus; patches have
  3673.         been applied to the &cpuppc; tree at vger.</para>
  3674.     </listitem>
  3675.       </itemizedlist>
  3676.  
  3677.       <emphasis>980516</emphasis>
  3678.       <itemizedlist>
  3679.     <listitem><para> I added a new section about kernel debugging.</para>
  3680.     </listitem>
  3681.     <listitem><para> I completed the &linm68k;-2.1.99 and
  3682.         vger-980424 merge. I'll upload this diff and start working
  3683.         on merging 2.1.1xx and vger-980514.</para>
  3684.     </listitem>
  3685.     <listitem><para> Sven Ottemann reports that CyberVision is
  3686.         working with the console. X does <emphasis>not</emphasis>
  3687.         work. (old news btw, but now it's in the list).</para>
  3688.     </listitem>
  3689.       </itemizedlist>
  3690.  
  3691.       <emphasis>980514</emphasis>
  3692.       <itemizedlist>
  3693.     <listitem><para> Alex Kazik reports that 980507 change fixed
  3694.         the problems with the GVP 11 SCSI driver.</para>
  3695.     </listitem>
  3696.       </itemizedlist>
  3697.  
  3698.       <emphasis>980512</emphasis>
  3699.       <itemizedlist>
  3700.     <listitem><para> The 980507 change did solve the problem with
  3701.         at least A3000 SCSI. The 53c7xx driver (A4000T+A4091) is
  3702.         also broken under &linm68k; so it will not be fixed by the
  3703.         change.</para>
  3704.     </listitem>
  3705.     <listitem><para> I got my vger merge booting as far as
  3706.         INIT. I'll merge it with 2.1.99 before tracking the last
  3707.         problems down.</para>
  3708.     </listitem>
  3709.     <listitem><para> Removed A4091 and A4000T SCSI drivers from
  3710.         the precompiled kernel.</para>
  3711.     </listitem>
  3712.       </itemizedlist>
  3713.  
  3714.       <emphasis>980507</emphasis>
  3715.       <itemizedlist>
  3716.     <listitem><para> Hopefully fixed kernel_map/VTOP
  3717.         problems. Also cleaned up cache functions. SCSI users
  3718.         should try if this improves things.</para>
  3719.     </listitem>
  3720.       </itemizedlist>
  3721.  
  3722.       <emphasis>980506</emphasis>
  3723.       <itemizedlist>
  3724.     <listitem><para> Removed the sound driver from the precompiled
  3725.         kernel.</para>
  3726.     </listitem>
  3727.       </itemizedlist>
  3728.  
  3729.       <emphasis>980503</emphasis>
  3730.       <itemizedlist>
  3731.     <listitem><para> Completed vger merge. Can't test it though
  3732.         since my shiny new &rh; 5.0 box doesn't like me using the
  3733.         network. I'll re-install 4.2 sometime in the coming
  3734.         week.</para>
  3735.     </listitem>
  3736.     <listitem><para> I think I have found the problem with the
  3737.         SCSI drivers: they use cache_flush/clear with addresses
  3738.         that are not necessarily in kernel space (bounce
  3739.         buffers. user space buffers(?)). The &cpuppc; uses
  3740.         <emphasis>virtual</emphasis> addresses in its cache
  3741.         instructions and PTOV is non-trivial, slow and definitely
  3742.         not working correctly at the moment.  Have to give this
  3743.         some serious thought.</para>
  3744.     </listitem>
  3745.       </itemizedlist> 
  3746.  
  3747.       <emphasis>980502</emphasis>
  3748.       <itemizedlist>
  3749.     <listitem><para> Thomas Lohmann reports that Ariadne is
  3750.         working.</para>
  3751.     </listitem>
  3752.     <listitem><para> Updated texts about news group and
  3753.         cross-compilation.</para>
  3754.     </listitem>
  3755.       </itemizedlist>
  3756.  
  3757.       <emphasis>980501</emphasis>
  3758.       <itemizedlist>
  3759.     <listitem><para> Jouko Pynnonen reports that &linapus; is
  3760.         finally working on the A1200 &blzppc;.</para>
  3761.     </listitem>
  3762.     <listitem><para> Sven Ottemann updated the
  3763.         <command>hdinstall</command> script.</para>
  3764.     </listitem>
  3765.     <listitem><para> Holger Jakob uploaded an XF86Config example
  3766.         file for 640x480x256 AGA, and a patch for gpm.</para>
  3767.     </listitem>
  3768.       </itemizedlist>
  3769.  
  3770.       <emphasis>980429</emphasis>
  3771.       <itemizedlist>
  3772.     <listitem><para> Tripled SCSI timeouts.  </para>
  3773.     </listitem>
  3774.     <listitem><para> Reverted BAT mapping change of
  3775.         980425. Configurations with non-power-of-two memory sizes
  3776.         fail with this.</para>
  3777.     </listitem>
  3778.     <listitem><para> I have to rewrite the memory mapping to
  3779.         support the &cybppc; HW properly: the &cpuppc; is not
  3780.         happy with the weird alignments caused by growing the
  3781.         memory downwards (as designed by &p5;). If &ados; was
  3782.         using the MMU, I'm sure the memory base would be at the
  3783.         bottom of the addressing space.</para>
  3784.     </listitem>
  3785.     <listitem><para> Changed the CPU speeds for &blzppc; to
  3786.         50MHz/66MHz.</para>
  3787.     </listitem>
  3788.     <listitem><para> Continue with vger merging.</para>
  3789.     </listitem>
  3790.       </itemizedlist>
  3791.  
  3792.       <emphasis>980428</emphasis>
  3793.       <itemizedlist>
  3794.     <listitem><para> Started to merge the latest vger changes into
  3795.         the &linapus; kernel sources.</para>
  3796.     </listitem>
  3797.       </itemizedlist>
  3798.  
  3799.       <emphasis>980427</emphasis>
  3800.       <itemizedlist>
  3801.     <listitem><para> Use same page fault mechanism on &cpu603; as
  3802.         on &cpu604;. May solve problem with &blzppc;.</para>
  3803.     </listitem>
  3804.     <listitem><para> Realized that some people might have a memory
  3805.         configuration which cannot be mapped with BATs. Added
  3806.         instructions in <xref linkend="booting-linux-apus">.</para>
  3807.     </listitem>
  3808.     <listitem><para> The kernel I build with egcs-1.0.2 after
  3809.         disabling the inline assembly versions of __swab16/32
  3810.         seems pretty stable.</para>
  3811.     </listitem>
  3812.       </itemizedlist>
  3813.  
  3814.       <emphasis>980426</emphasis>
  3815.       <itemizedlist>
  3816.     <listitem><para> Made a small (fancy :) script which makes it
  3817.         easy to mark changes in the HTML version of this document
  3818.         with colors.</para>
  3819.     </listitem>
  3820.     <listitem><para> Had a go at using egcs to compile the
  3821.         kernel. Didn't work very well. I hope the next egcs
  3822.         release will fix it. If you have the time, please try to
  3823.         get gcc-2.7.2.1 (available from &sunsite; in misc) running
  3824.         under &linapus; and upload the binaries to
  3825.         &sunsite;.</para>
  3826.     </listitem>
  3827.     <listitem><para> Sven Ottemann reports that the floppy driver
  3828.         works with both affs and msdos formatted floppies. </para>
  3829.     </listitem>
  3830.       </itemizedlist>
  3831.  
  3832.       <emphasis>980425</emphasis>
  3833.       <itemizedlist>
  3834.     <listitem><para> Map exception vectors and &cybppc; control
  3835.         vectors with different BATs for improved
  3836.         performance.</para>
  3837.     </listitem>
  3838.     <listitem><para> Unfortunately the last booter changes made it
  3839.         unusable. The 980425 version should be better.</para>
  3840.     </listitem>
  3841.       </itemizedlist>
  3842.  
  3843.       <emphasis>980424</emphasis>
  3844.       <itemizedlist>
  3845.     <listitem><para> Thomas Haller reports that A3000 SCSI
  3846.         actually works if DMA is disabled.</para>
  3847.     </listitem>
  3848.     <listitem><para> Added some progress information to the booter
  3849.         which can be used (hopefully) to find the &blzppc;
  3850.         problems. See FAQ.</para>
  3851.     </listitem>
  3852.       </itemizedlist>
  3853.  
  3854.       <emphasis>980423</emphasis>
  3855.       <itemizedlist>
  3856.     <listitem><para> Fiddled a bit with gcc under &linapus;. The
  3857.         version of gcc I use on Concubine (x86) I cannot get
  3858.         properly working under &linapus;. I have to look into the
  3859.         problems with egcs RSN. I put an additional gcc patch on
  3860.         &sunsite;/misc, but it's probably not worth getting;
  3861.         &linppc; is going to use egcs in the future so I have to
  3862.         get those problems fixed anyways. Stay tuned!</para>
  3863.     </listitem>
  3864.       </itemizedlist>
  3865.  
  3866.       <emphasis>980422</emphasis>
  3867.       <itemizedlist>
  3868.     <listitem><para> Fixed bus_to_virt/virt_to_bus macros. May
  3869.         help A4000T and A4091 drivers.</para>
  3870.     </listitem>
  3871.       </itemizedlist>
  3872.  
  3873.       <emphasis>980421</emphasis>
  3874.       <itemizedlist>
  3875.     <listitem><para> Checked if LPSTOP could be used on the
  3876.         &cpu060; to reduce heat in the box. It cannot.</para>
  3877.     </listitem>
  3878.     <listitem><para> Fixed problem with debug=mem. This may also
  3879.         affect drivers using the VTOP macro.</para>
  3880.     </listitem>
  3881.       </itemizedlist>
  3882.  
  3883.       <emphasis>980420</emphasis>
  3884.       <itemizedlist>
  3885.     <listitem><para> Completed the last part of the FAQ. Added the
  3886.         new kernel mailing list address.</para>
  3887.     </listitem>
  3888.       </itemizedlist>
  3889.  
  3890.       <emphasis>980419</emphasis>
  3891.       <itemizedlist>
  3892.     <listitem><para>  Proper bus speed check for A1200 &blzppc;.</para>
  3893.     </listitem>
  3894.     <listitem><para> The new HTML FAQ almost done. Will announce
  3895.         it and the new directory Monday.</para>
  3896.     </listitem>
  3897.       </itemizedlist>
  3898.  
  3899.       <emphasis>980418</emphasis>
  3900.       <itemizedlist>
  3901.     <listitem><para> Added patch from Holger Jakob to allow
  3902.         inclusion of DMA sound.</para>
  3903.     </listitem>
  3904.       </itemizedlist>
  3905.  
  3906.       <emphasis>980417</emphasis>
  3907.       <itemizedlist>
  3908.     <listitem><para>  Started work on SGML'ogrifing the FAQ.</para>
  3909.     </listitem>
  3910.     <listitem><para> Got a dedicated directory at
  3911.         &sunsite;. Thanks Karsten!</para>
  3912.     </listitem>
  3913.       </itemizedlist>
  3914.  
  3915.       <emphasis>980416</emphasis>
  3916.       <itemizedlist>
  3917.     <listitem><para> Added a patch from Carsten Pluntke to fix a
  3918.         virtual-to-physical address translation problem causing X
  3919.         to crash.</para>
  3920.     </listitem>
  3921.     <listitem><para> Fixed a potential problem with
  3922.         ioremap. Hopefully SCSI drivers using kernel_map
  3923.         (A4000T/A4091/Fastlane) will now work.</para>
  3924.     </listitem>
  3925.       </itemizedlist>
  3926.  
  3927.       <emphasis>980414</emphasis>
  3928.       <itemizedlist>
  3929.     <listitem><para> Added a &gdb; debugging stub to the kernel
  3930.         sources (not the binaries).</para>
  3931.     </listitem>
  3932.     <listitem><para> Sven Ottemann completed the HD install
  3933.         script. Get <filename>hdinstall.lha</filename> and the
  3934.         newest FAQ for instructions.</para>
  3935.     </listitem>
  3936.     <listitem><para> Added handling for booting on systems where
  3937.         the ROM has been mapped to RAM. (not tested)</para>
  3938.     </listitem>
  3939.     <listitem><para> Added a compiled version of the kernel
  3940.         without the A3000 SCSI driver.</para>
  3941.     </listitem>
  3942.     <listitem><para>  Added PPP driver.</para>
  3943.     </listitem>
  3944.       </itemizedlist>
  3945.  
  3946.       <emphasis>980409</emphasis>
  3947.       <itemizedlist>
  3948.     <listitem><para>  Added a few extra drivers.</para>
  3949.     </listitem>
  3950.       </itemizedlist>
  3951.  
  3952.       <emphasis>980331</emphasis>
  3953.       <itemizedlist>
  3954.     <listitem><para>  Applied some more of Roman's patches.</para>
  3955.     </listitem>
  3956.     <listitem><para>  Fixed RAM disk problem.</para>
  3957.     </listitem>
  3958.       </itemizedlist>
  3959.  
  3960.       <emphasis>980326</emphasis>
  3961.       <itemizedlist>
  3962.     <listitem><para>  Applied a few of Roman's patches.</para>
  3963.     </listitem>
  3964.     <listitem><para> Changed the way the exception vectors are
  3965.         handled. You have to get the new &boothack; as well
  3966.         (bh980326.lha).</para>
  3967.     </listitem>
  3968.       </itemizedlist>
  3969.       
  3970.       <emphasis>980324</emphasis>
  3971.       <itemizedlist>
  3972.     <listitem><para>  Moved the patches to 2.1.90. </para>
  3973.     </listitem>
  3974.     <listitem><para> I still have a few of Roman Zippel's patches
  3975.         that have not been applied.</para>
  3976.     </listitem>
  3977.       </itemizedlist>
  3978.  
  3979.       <emphasis>980316</emphasis>
  3980.       <itemizedlist>
  3981.     <listitem><para> I wrote a small &linapus; FAQ available from
  3982.         &sunsite; in the apus directory.</para>
  3983.     </listitem>
  3984.       </itemizedlist>
  3985.       
  3986.       <emphasis>980224</emphasis>
  3987.       <itemizedlist>
  3988.     <listitem><para>  The kernel now auto detects the bus speed.</para>
  3989.     </listitem>
  3990.     <listitem><para> If you have a system with a 60MHz bus speed
  3991.         and press the left mouse button while booting, the memory
  3992.         waitstate will be removed (this requires 60ns RAM).</para>
  3993.     </listitem>
  3994.       </itemizedlist>
  3995.  
  3996.       <emphasis>980223</emphasis>
  3997.       <itemizedlist>
  3998.     <listitem><para> Kernels now compiled for 60MHz and 66MHz
  3999.         busses.</para>
  4000.     </listitem>
  4001.     <listitem><para> Includes a few more drivers.</para>
  4002.     </listitem>
  4003.       </itemizedlist>
  4004.  
  4005.       <emphasis>980216</emphasis>
  4006.       <itemizedlist>
  4007.     <listitem><para> Kernel seems to be working. I experienced
  4008.         some random signals to user processes during the weekend,
  4009.         but was not able to reproduce it. </para>
  4010.     </listitem>
  4011.     <listitem><para> Compiled a version for 50MHz busses with 60ns
  4012.         RAM.</para>
  4013.     </listitem>
  4014.     <listitem><para> Included System.map and .config for
  4015.         reference.</para>
  4016.     </listitem>
  4017.       </itemizedlist>
  4018.  
  4019.       <emphasis>980212</emphasis>
  4020.       <itemizedlist>
  4021.     <listitem><para> Did some more magic with the interrupt
  4022.         handling.</para>
  4023.     </listitem>
  4024.     <listitem><para> Tracked down the problem causing the kernel
  4025.         to hang from time to time (A2065).</para>
  4026.     </listitem>
  4027.     <listitem><para> Compiled two versions of the kernel; one for
  4028.         50MHz bus and one for 66MHz bus. I will add auto detect
  4029.         soon.</para>
  4030.     </listitem>
  4031.       </itemizedlist>
  4032.       
  4033.       <emphasis>980208</emphasis>
  4034.       <itemizedlist>
  4035.     <listitem><para>Moved my changes to 2.1.85. </para>
  4036.     </listitem>
  4037.     <listitem><para>Cleaned up the handling of
  4038.         interrupts. Mismatch between &p5; doc and actual behavior
  4039.         (&p5; notified).</para>
  4040.     </listitem>
  4041.     <listitem><para>The kernel still hangs from time to time
  4042.         (while processing bottom half interrupt handlers). This
  4043.         might be due to some spurious interrupts, improper
  4044.         interrupt handling, or some problem in the kernel code
  4045.         that only affects &linapus;. I'm looking into it.</para>
  4046.     </listitem>
  4047.       </itemizedlist>
  4048.  
  4049.       <emphasis>980205</emphasis>
  4050.       <itemizedlist>
  4051.     <listitem><para> Added minix support to the kernel.  </para>
  4052.     </listitem>
  4053.     <listitem><para> The kernel happily boots the ram disk but is
  4054.         pretty unstable. This is due to improper interrupt
  4055.         handling. I think I have it nailed down, though.</para>
  4056.     </listitem>
  4057.       </itemizedlist>
  4058.  
  4059.       <emphasis>980204</emphasis>
  4060.       <itemizedlist>
  4061.     <listitem><para> Ram disks now work properly (also updated the
  4062.         booter).</para>
  4063.     </listitem>
  4064.       </itemizedlist>
  4065.  
  4066.       <emphasis>980203</emphasis>
  4067.       <itemizedlist>
  4068.     <listitem><para> The patched instructions in the hashing
  4069.         algorithm had to be copied to 0xfff00000 where the
  4070.         exception vectors are located on &linapus;.</para>
  4071.     </listitem>
  4072.       </itemizedlist>
  4073.  
  4074.       <emphasis>980202</emphasis>
  4075.       <itemizedlist>
  4076.     <listitem><para> IDE driver is now working.  </para>
  4077.     </listitem>
  4078.     <listitem><para> Kernel hangs when elf_create_table is
  4079.         accessing the stack of the user program to be launched
  4080.         (problem with exception handlers?)</para>
  4081.     </listitem>
  4082.       </itemizedlist>
  4083.     </para>
  4084.  
  4085.   </chapter>
  4086.   <chapter id="people"><title>People</title>
  4087.  
  4088.     <para>Here is a list of the people who helped make &linapus; what
  4089.       it is today. There is also room for <emphasis>your</emphasis>
  4090.       name!</para>
  4091.  
  4092.     <sect1 id="developers"><title>&p5; Appointed Developers</title>
  4093.  
  4094.       <para>&p5; supported the port of &linux; to their &cybppc;
  4095.     hardware by disclosing information about the hardware
  4096.     to:</para>
  4097.  
  4098.       <itemizedlist>
  4099.     <listitem><para>Roman Zippel (<ulink
  4100.           url="mailto:zippel@fh-brandenburg.de">
  4101.           zippel@fh-brandenburg.de</ulink>)</para>
  4102.     </listitem>
  4103.     <listitem><para>Jes Sørensen (<ulink
  4104.           url="mailto:Jes.Sorensen@cern.ch">
  4105.           Jes.Sorensen@cern.ch</ulink>)</para>
  4106.     </listitem>
  4107.     <listitem><para>Jesper Skov (<ulink url="mailto:jskov@cygnus.co.uk">
  4108.           jskov@cygnus.co.uk</ulink>)</para>
  4109.     </listitem>
  4110.       </itemizedlist>
  4111.     </sect1>
  4112.  
  4113.     <sect1 id="contributors"><title>Contributors</title>
  4114.  
  4115.       <para>A few people have started helping with &linapus;. I hope
  4116.     more will join (see <xref linkend="todo-kernel"> and <xref
  4117.         linkend="todo-doc">). If you were not critically deprived of
  4118.         air at birth, and thus do not see the fun in kernel hacking,
  4119.         you can still help. Complement or add sections to &thisdoc;,
  4120.         get responsibility for &debian; or &rh; packages of tools
  4121.         you like, write a helping text for others about a problem
  4122.         you have fought your way through, be helpful on the news
  4123.         group (this would be very appreciated - I can only read news
  4124.         at work and don't always have the time to be helpful
  4125.         myself), send me (or others) grateful emails, or even tons
  4126.         of money. Use your imagination and help make &linm68k; and
  4127.         &linapus; better systems for people with less experience
  4128.         than yourself.</para>
  4129.  
  4130.       <para>There are two parties in particular that I feel deserve
  4131.     kudos: &p5; for helping this port along, and the system
  4132.     administrators at &sunsite; (Karsten Thygesen in particular)
  4133.     for supplying disk space and generally for being a nice bunch
  4134.     (as all Danes are, of course :).</para>
  4135.  
  4136.       <para>For paragraph-sized contributions to &thisdoc;, I put the
  4137.     author's name above the text. Patches to the kernel are
  4138.     rewarded with gratitude and (for bigger stuff) a short mention
  4139.     below. I don't think I want to spend time keeping this part of
  4140.     the document up to date though, so I won't be mentioning every
  4141.     little change. What I will do is to include your name when
  4142.     describing changes in <xref linkend="history"> and
  4143.       make a big'ol' list below with email addresses of contributors
  4144.       (big'n'small).</para>
  4145.  
  4146.       <para>If you feel I have forgotten you, remind me by sending an
  4147.     email (and tons of money).</para>
  4148.  
  4149.       <itemizedlist>
  4150.     <listitem><para> Gerard Cornu(<ulink
  4151.           url="mailto:gcornu@dtr.fr">
  4152.           gcornu@dtr.fr</ulink>)</para>
  4153.     </listitem>
  4154.  
  4155.     <listitem><para> (<ulink
  4156.           url="mailto:kcci1@central.susx.ac.uk">
  4157.           kcci1@central.susx.ac.uk</ulink>)</para>
  4158.     </listitem>
  4159.  
  4160.     <listitem><para>Jeff Crystal (<ulink
  4161.           url="mailto:darkmagi@spectrumcp.com">
  4162.           darkmagi@spectrumcp.com</ulink>)</para>
  4163.     </listitem>
  4164.  
  4165.     <listitem><para>Jeffrey W. Davis (<ulink
  4166.           url="mailto:doctorj@netusa1.net">
  4167.           doctorj@netusa1.net</ulink>)</para>
  4168.     </listitem>
  4169.  
  4170.     <listitem><para>Christophe Decanini (<ulink
  4171.           url="mailto:cdecanini@yahoo.com">
  4172.           cdecanini@yahoo.com</ulink>)</para>
  4173.     </listitem>
  4174.  
  4175.     <listitem><para>Marco De Vitis (<ulink
  4176.           url="mailto:marco.dvv@flashnet.it">
  4177.           marco.dvv@flashnet.it</ulink>)</para>
  4178.     </listitem>
  4179.  
  4180.     <listitem><para>Michel Dänzer (<ulink
  4181.           url="mailto:michdaen@iiic.ethz.ch">
  4182.           michdaen@iiic.ethz.ch</ulink>)</para>
  4183.     </listitem>
  4184.  
  4185.     <listitem><para>Massimo Gais (<ulink
  4186.           url="mailto:ftpadmin@ftp.unina.it">
  4187.           ftpadmin@ftp.unina.it</ulink>)</para>
  4188.     </listitem>
  4189.  
  4190.     <listitem><para>Duncan Gibb (<ulink
  4191.           url="mailto:Duncan.Gibb@ed.ac.uk">
  4192.           Duncan.Gibb@ed.ac.uk</ulink>) WB GUI
  4193.         boot script (oh yes you do! :)</para>
  4194.     </listitem>
  4195.  
  4196.     <listitem><para>Matthias Goerdeler (<ulink
  4197.           url="mailto:goerdler@hp1.imm.rwth-aachen.de">
  4198.           goerdler@hp1.imm.rwth-aachen.de</ulink>)</para>
  4199.     </listitem>
  4200.  
  4201.     <listitem><para>Arno Griffioen (<ulink
  4202.           url="mailto:arno@usn.nl"> arno@usn.nl</ulink>)</para>
  4203.     </listitem>
  4204.  
  4205.     <listitem><para>Sinan Gurkan (<ulink
  4206.           url="mailto:sgurkan@artemis.efes.net">
  4207.           sgurkan@artemis.efes.net</ulink>)</para>
  4208.     </listitem>
  4209.  
  4210.     <listitem><para>Thomas Haller (<ulink
  4211.           url="mailto:Thomas-h8t.Haller@ubs.ch">
  4212.           Thomas-h8t.Haller@ubs.ch</ulink>)</para>
  4213.     </listitem>
  4214.  
  4215.     <listitem><para>Gordon Huby (<ulink
  4216.           url="mailto:gordon@ghuby.freeserve.co.uk">
  4217.           gordon@ghuby.freeserve.co.uk</ulink>)</para>
  4218.     </listitem>
  4219.     
  4220.     <listitem><para>Mecha Ike (<ulink
  4221.           url="mailto:mecha.ike@thecure.co.uk">
  4222.           mecha.ike@thecure.co.uk</ulink>)</para>
  4223.     </listitem>
  4224.  
  4225.     <listitem><para>Holger Jakob (<ulink
  4226.           url="mailto:jakob@ph-cip.Uni-Koeln.DE">
  4227.           jakob@ph-cip.Uni-Koeln.DE</ulink>)</para>
  4228.     </listitem>
  4229.  
  4230.     <listitem><para>Jens Kristian Jensen (<ulink
  4231.           url="mailto:judas@cs.auc.dk">
  4232.           judas@cs.auc.dk</ulink>)</para>
  4233.     </listitem>
  4234.  
  4235.     <listitem><para>Jimmy (<ulink
  4236.           url="mailto:Jimmy@Stud-Mailer.Uni-Marburg.DE">
  4237.           Jimmy@Stud-Mailer.Uni-Marburg.DE</ulink>)</para>
  4238.     </listitem>
  4239.  
  4240.     <listitem><para>Alex Kazik (<ulink
  4241.           url="mailto:martin.koenig@gmx.net">
  4242.           martin.koenig@gmx.net</ulink>)</para>
  4243.     </listitem>
  4244.  
  4245.     <listitem><para> Martin Koenig(<ulink url="mailto:alx@gmx.de">
  4246.           alx@gmx.de</ulink>)</para>
  4247.     </listitem>
  4248.  
  4249.     <listitem><para>Bartek Kozakiewicz (<ulink
  4250.           url="mailto:coza@snickers.ek.univ.gda.pl">
  4251.           coza@snickers.ek.univ.gda.pl</ulink>)</para>
  4252.     </listitem>
  4253.  
  4254.     <listitem><para>Chris Lawrence (<ulink
  4255.           url="mailto:quango@watervalley.net">
  4256.           quango@watervalley.net</ulink>)</para>
  4257.     </listitem>
  4258.  
  4259.     <listitem><para>Thomas Lohmann (<ulink
  4260.           url="mailto:tlohmann@scobs.de">
  4261.           tlohmann@scobs.de</ulink>)</para>
  4262.     </listitem>
  4263.  
  4264.     <listitem><para>Sven Luther (<ulink
  4265.           url="mailto:luther@dpt-info.u-strasbg.fr">
  4266.           luther@dpt-info.u-strasbg.fr</ulink>) SCSI support for
  4267.         Blizzard controllers.</para>
  4268.     </listitem>
  4269.  
  4270.     <listitem><para>Peter McGavin (<ulink
  4271.           url="mailto:P.McGavin@irl.cri.nz">
  4272.           P.McGavin@irl.cri.nz</ulink>)</para>
  4273.     </listitem>
  4274.  
  4275.     <listitem><para>Carlos Mayo (<ulink
  4276.           url="mailto:COMPMAY@teleline.es">
  4277.           COMPMAY@teleline.es</ulink>)</para>
  4278.     </listitem>
  4279.  
  4280.     <listitem><para>Ilario Nardinocchi (<ulink
  4281.           url="mailto:nardicon@cs.unibo.it">
  4282.           nardicon@cs.unibo.it</ulink>) CVPPC driver.</para>
  4283.     </listitem>
  4284.  
  4285.     <listitem><para>Sven Ottemann (<ulink
  4286.           url="mailto:Sven.Ottemann@Student.Uni-Magdeburg.DE">
  4287.           Sven.Ottemann@Student.Uni-Magdeburg.DE</ulink>) Hard
  4288.         disk install script for the &rh; base system.</para>
  4289.     </listitem>
  4290.  
  4291.     <listitem><para>Frank Petzold (<ulink
  4292.           url="mailto:fpetzold@hepe.com">
  4293.           fpetzold@hepe.com</ulink>)</para>
  4294.     </listitem>
  4295.  
  4296.     <listitem><para>Carsten Pluntke (<ulink
  4297.           url="mailto:su0289@sx2.hrz.uni-dortmund.de">
  4298.           su0289@sx2.hrz.uni-dortmund.de</ulink>) Fixed vm problem
  4299.         with X.</para>
  4300.     </listitem>
  4301.  
  4302.     <listitem><para>Jouko Pynnonen (<ulink
  4303.           url="mailto:pynjo@jytol.fi">
  4304.           pynjo@jytol.fi</ulink>)</para>
  4305.     </listitem>
  4306.  
  4307.     <listitem><para>Robert Ramiega (<ulink
  4308.           url="mailto:robert@plukwa.pdi.net">
  4309.           robert@plukwa.pdi.net</ulink>)</para>
  4310.     </listitem>
  4311.  
  4312.     <listitem><para>Francisco Sepulveda (<ulink
  4313.           url="mailto:Francisco.Sepulveda@ico.unil.ch">
  4314.           Francisco.Sepulveda@ico.unil.ch</ulink>)</para>
  4315.     </listitem>
  4316.  
  4317.     <listitem><para>Christian T. Steigies (<ulink
  4318.           url="mailto:steigies@physik.uni-kiel.de">
  4319.           steigies@physik.uni-kiel.de</ulink>)</para>
  4320.     </listitem>
  4321.  
  4322.     <listitem><para>Ken (& Julian) Tyler (<ulink
  4323.           url="mailto:kent@werple.net.au">
  4324.           kent@werple.net.au</ulink>) Fixed the &rhinstaller;
  4325.         scripts to work with &linapus;.</para>
  4326.     </listitem>
  4327.  
  4328.     <listitem><para>Geert Uytterhoeven (<ulink
  4329.           url="mailto:Geert.Uytterhoeven@cs.kuleuven.ac.be">
  4330.           Geert.Uytterhoeven@cs.kuleuven.ac.be</ulink>) X server
  4331.         binaries. &rhppc; base system archive and installation
  4332.         help. Santa's little vger helper :)</para>
  4333.     </listitem>
  4334.       </itemizedlist>
  4335.  
  4336.     </sect1>
  4337.     <sect1 id="contributing"><title>Contributing</title>
  4338.  
  4339.       <para>If you have any contributions to &linapus; (code, ideas,
  4340.     changes to &thisdoc;, whatever) please send them to the
  4341.     &linapus; kernel mailing list. Archives and/or packages can be
  4342.     uploaded to <xref linkend="sd-incoming"> <emphasis>(remember
  4343.         to notify me via mail)</emphasis>.</para>
  4344.     </sect1>
  4345.  
  4346.   </chapter>
  4347.   <chapter id="links"><title>Links</title>
  4348.  
  4349.     <para> If you have an idea for additional 
  4350.       (&linapus; relevant) links, please let me know.</para>
  4351.  
  4352.     <sect1 id="linux-links"><title>&linux; Links</title>
  4353.  
  4354.       <informaltable frame="all">
  4355.     <tgroup cols="3">
  4356.       <tbody>
  4357.         <row>
  4358.           <entry align="center"><emphasis>&linapus;</emphasis>
  4359.           </entry>
  4360.           <entry align="center"><emphasis>HTTP Location</emphasis>
  4361.           </entry>
  4362.           <entry align="center"><emphasis>FTP Location</emphasis>
  4363.           </entry>
  4364.         </row>
  4365.         <row>
  4366.           <entry>&linapus; Master Site
  4367.           </entry> 
  4368.           <entry><ulink
  4369.           url="http://sunsite.auc.dk/ftp/projects/apus">
  4370.           sunsite.auc.dk/ftp/projects/apus</ulink>
  4371.           </entry>
  4372.           <entry><ulink
  4373.           url="ftp://sunsite.auc.dk/projects/apus">
  4374.           sunsite.auc.dk/projects/apus</ulink>
  4375.           </entry>
  4376.         </row>
  4377.         <row>
  4378.           <entry>&linapus; Poland Mirror
  4379.           </entry> 
  4380.           <entry>
  4381.           </entry>
  4382.           <entry><ulink
  4383.           url="ftp://snickers.ek.univ.gda.pl/pub/apus">
  4384.           snickers.ek.univ.gda.pl/pub/apus</ulink>
  4385.           </entry>
  4386.         </row>
  4387.         <row>
  4388.           <entry>&linapus; Italian Mirror
  4389.           </entry> 
  4390.           <entry>
  4391.           </entry>
  4392.           <entry><ulink
  4393.           url="ftp://ftp.unina.it">
  4394.           ftp.unina.it</ulink>
  4395.           </entry>
  4396.         </row>
  4397.         <row>
  4398.           <entry>Amiga Format CD40 unofficial support site
  4399.           </entry> 
  4400.           <entry><ulink
  4401.           url="http://http://members.tripod.com/~DuncanG/">
  4402.           http://members.tripod.com/~DuncanG/</ulink>
  4403.           </entry>
  4404.           <entry>
  4405.           </entry>
  4406.         </row>
  4407.  
  4408.         <row>
  4409.           <entry align="center"><emphasis>&linm68k;</emphasis>
  4410.           </entry>
  4411.           <entry align="center"><emphasis>HTTP Location</emphasis>
  4412.           </entry>
  4413.           <entry align="center"><emphasis>FTP Location</emphasis>
  4414.           </entry>
  4415.         </row>
  4416.         <row>
  4417.           <entry>&linm68k; Kernel Master Site
  4418.           </entry> 
  4419.           <entry><ulink
  4420.           url="http://sunsite.auc.dk/ftp/projects/680x0">
  4421.           sunsite.auc.dk/ftp/projects/680x0</ulink>
  4422.           </entry>
  4423.           <entry><ulink
  4424.           url="ftp://sunsite.auc.dk/projects/680x0">
  4425.           sunsite.auc.dk/projects/680x0</ulink>
  4426.           </entry>
  4427.         </row>
  4428.         <row>
  4429.           <entry>&linm68k; Home Page
  4430.           </entry> 
  4431.           <entry><ulink
  4432.           url="http://www.linux-m68k.org">
  4433.           www.linux-m68k.org</ulink>
  4434.           </entry>
  4435.           <entry>
  4436.           </entry>
  4437.         </row>
  4438.         <row>
  4439.           <entry>Permedia2 (CyberVision/PPC) Frame Buffer Home Page
  4440.           </entry> 
  4441.           <entry><ulink
  4442.           url="http://www.cs.unibo.it/~nardinoc/pm2fb/">
  4443.           http://www.cs.unibo.it/~nardinoc/pm2fb/</ulink>
  4444.           </entry>
  4445.           <entry>
  4446.           </entry>
  4447.         </row>
  4448.  
  4449.         <row>
  4450.           <entry align="center"><emphasis>&linppc;</emphasis>
  4451.           </entry>
  4452.           <entry align="center"><emphasis>HTTP Location</emphasis>
  4453.           </entry>
  4454.           <entry align="center"><emphasis>FTP Location</emphasis>
  4455.           </entry>
  4456.         </row>
  4457.         <row>
  4458.           <entry>&linppc; Master Site
  4459.           </entry> 
  4460.           <entry><ulink
  4461.           url="http://www.linuxppc.org">
  4462.           www.linuxppc.org</ulink>
  4463.           </entry>
  4464.           <entry><ulink
  4465.           url="ftp://ftp.linuxppc.org">
  4466.           ftp.linuxppc.org</ulink>
  4467.           </entry>
  4468.         </row>
  4469.  
  4470.         <row>
  4471.           <entry align="center"><emphasis>&debppc;</emphasis>
  4472.           </entry>
  4473.           <entry align="center"><emphasis>HTTP Location</emphasis>
  4474.           </entry>
  4475.           <entry align="center"><emphasis>FTP Location</emphasis>
  4476.           </entry>
  4477.         </row>
  4478.         <row>
  4479.           <entry>The &debppc; port
  4480.           </entry> 
  4481.           <entry><ulink
  4482.           url="http://www.debian.org/ports/powerpc/">
  4483.           www.debian.org/ports/powerpc/</ulink>
  4484.           </entry>
  4485.           <entry>
  4486.           </entry>
  4487.         </row>
  4488.         <row>
  4489.           <entry>&debppc; packages
  4490.           </entry> 
  4491.           <entry>
  4492.           </entry>
  4493.           <entry><ulink
  4494.           url="ftp://ftp.debian.org/debian/dist/main/binary-powerpc/">
  4495.           ftp.debian.org/debian/dist/main/binary-powerpc/</ulink>
  4496.           </entry>
  4497.         </row>
  4498.         <row>
  4499.           <entry>&debppc; install stuff
  4500.           </entry> 
  4501.           <entry>
  4502.           </entry>
  4503.           <entry><ulink
  4504.           url="ftp://ftp.debian.org/debian/dists/sid/main/disks-powerpc/2.0.11.4_1998-10-15/">
  4505.           ftp.debian.org/debian/dists/sid/main/disks-powerpc/2.0.11.4_1998-10-15/</ulink>
  4506.           </entry>
  4507.         </row>
  4508.  
  4509.         <row>
  4510.           <entry align="center"><emphasis>&linux; Help</emphasis>
  4511.           </entry>
  4512.           <entry align="center"><emphasis>HTTP Location</emphasis>
  4513.           </entry>
  4514.           <entry align="center"><emphasis>Comment</emphasis>
  4515.           </entry>
  4516.         </row>
  4517.         <row>
  4518.           <entry>Linux Portal
  4519.           </entry> 
  4520.           <entry><ulink
  4521.           url="http://www.linux.org">
  4522.           www.linux.org</ulink>
  4523.           </entry>
  4524.           <entry></entry>
  4525.         </row>
  4526.         <row>
  4527.           <entry>News Archive
  4528.           </entry> 
  4529.           <entry><ulink
  4530.           url="http://www.dejanews.com">
  4531.           www.dejanews.com</ulink>
  4532.           </entry>
  4533.           <entry>Search for keywords, include "linux"
  4534.           </entry>
  4535.         </row>
  4536.         <row>
  4537.           <entry>WEB Search
  4538.           </entry> 
  4539.           <entry><ulink
  4540.           url="http://www.altavista.com">
  4541.           www.altavista.com</ulink>
  4542.           </entry>
  4543.           <entry>Search for keywords, include "linux"
  4544.           </entry>
  4545.         </row>
  4546.         <row>
  4547.           <entry>MiningCo
  4548.           </entry> 
  4549.           <entry><ulink
  4550.           url="http://linux.miningco.com">
  4551.           linux.miningco.com</ulink>
  4552.           </entry>
  4553.           <entry>Search for keywords
  4554.           </entry>
  4555.         </row>
  4556.  
  4557.         <row>
  4558.           <entry align="center"><emphasis>&linux; Kernel Hacking
  4559.         </emphasis>
  4560.           </entry>
  4561.           <entry align="center"><emphasis>HTTP Location</emphasis>
  4562.           </entry>
  4563.           <entry align="center"><emphasis>Comment</emphasis>
  4564.           </entry>
  4565.         </row>
  4566.         <row>
  4567.           <entry>&linux; Kernel (Hacking) FAQ
  4568.           </entry> 
  4569.           <entry><ulink
  4570.           url="http://www.tux.org/lkml/">
  4571.           www.tux.org/lkml/</ulink>
  4572.           </entry>
  4573.           <entry>
  4574.           </entry>
  4575.         </row>
  4576.  
  4577.       </tbody>
  4578.     </tgroup>
  4579.       </informaltable>
  4580.  
  4581.       <sect2><title>Software Packages</title>
  4582.  
  4583.     <informaltable frame="all">
  4584.       <tgroup cols="3">
  4585.         <tbody>
  4586.           <row>
  4587.         <entry align="center"><emphasis>Software</emphasis>
  4588.         </entry>
  4589.         <entry align="center"><emphasis>HTTP Location</emphasis>
  4590.         </entry>
  4591.         <entry align="center"><emphasis>FTP Location</emphasis>
  4592.         </entry>
  4593.           </row>
  4594.           <row>
  4595.         <entry>binutils
  4596.         </entry> 
  4597.         <entry>
  4598.         </entry>
  4599.         <entry><ulink
  4600.             url="ftp://prep.ai.mit.edu">prep.ai.mit.edu</ulink>, 
  4601.           <ulink
  4602.             url="ftp://sunsite.auc.dk/mirrors/prep.ai.mit.edu/pub/gnu/">
  4603.             sunsite.auc.dk/mirrors/prep.ai.mit.edu/pub/gnu/</ulink>
  4604.         </entry>
  4605.           </row>
  4606.           <row>
  4607.         <entry>egcs
  4608.         </entry> 
  4609.         <entry><ulink
  4610.             url="http://egcs.cygnus.com">egcs.cygnus.com</ulink>
  4611.         </entry>
  4612.         <entry><ulink
  4613.             url="ftp://egcs.cygnus.com">egcs.cygnus.com</ulink>,
  4614.           <ulink
  4615.             url="ftp://sunsite.auc.dk/mirrors/egcs.cygnus.com">
  4616.             sunsite.auc.dk/mirrors/egcs.cygnus.com</ulink>
  4617.         </entry>
  4618.           </row>
  4619.           <row>
  4620.         <entry>Mozilla
  4621.         </entry> 
  4622.         <entry><ulink
  4623.             url="http://www.mozilla.org">www.mozilla.org</ulink>
  4624.         </entry>
  4625.         <entry><ulink
  4626.             url="ftp://ftp.mozilla.org">ftp.mozilla.org</ulink>
  4627.         </entry>
  4628.           </row>
  4629.           <row>
  4630.         <entry>&rhppc;
  4631.         </entry> 
  4632.         <entry><ulink
  4633.             url="http://www.linuxppc.org">
  4634.             www.linuxppc.org</ulink>
  4635.         </entry>
  4636.         <entry><ulink
  4637.             url="ftp://ftp.linuxppc.org">
  4638.             ftp.linuxppc.org</ulink>
  4639.         </entry>
  4640.           </row>
  4641.           <row>
  4642.         <entry>X
  4643.         </entry> 
  4644.         <entry><ulink
  4645.             url="http://www.cs.kuleuven.ac.be/~geert/bin/XF68_FBDev-ppc-19981017.gz">
  4646.             www.cs.kuleuven.ac.be/~geert/bin/XF68_FBDev-ppc-19981017.gz</ulink>
  4647.         </entry>
  4648.         <entry>
  4649.         </entry>
  4650.           </row>
  4651.         </tbody>
  4652.       </tgroup>
  4653.     </informaltable>
  4654.       </sect2>
  4655.  
  4656.       <sect2><title>Related &cybppc; and &ados; Sites</title>
  4657.  
  4658.     <para>&p5; <ulink
  4659.         url="http://www.phase5.de">www.phase5.de</ulink>.</para>
  4660.       </sect2>
  4661.     </sect1>
  4662.  
  4663.   </chapter>
  4664.   <chapter id="sunsite"><title>&sunsite;</title>
  4665.  
  4666.     <para><ulink url="http://sunsite.auc.dk">&sunsite;</ulink> is the
  4667.       main distribution site for both the &linm68k; and &linapus;
  4668.       kernels (no, it's not a coincidence: both Jes and I studied at
  4669.       Aalborg University). There's lots of other good stuff there, and
  4670.       it's well worth a visit. You can access it by both HTTP and FTP
  4671.       (using the same hostname and paths).</para>
  4672.  
  4673.     <para>You can find &linm68k; related stuff (including the
  4674.       &linm68k; FAQ) in the directory <ulink
  4675.     url="http://sunsite.auc.dk/ftp/local/os/linux/680x0/">
  4676.     sunsite.auc.dk/ftp/local/os/linux/680x0/</ulink>.</para>
  4677.  
  4678.     <para>The &linapus; directory is <ulink
  4679.     url="http://sunsite.auc.dk/ftp/projects/apus/">
  4680.     sunsite.auc.dk/ftp/projects/apus/</ulink>. This directory
  4681.       contains the following (and possibly more; have a look
  4682.       around):</para>
  4683.  
  4684.     <itemizedlist>
  4685.       <listitem id="sd-deb" xreflabel="the 'DEB-APUS' directory at
  4686.     &sunsite;"> 
  4687.     <para>DEB-APUS</para>
  4688.     <para> Directory with &debian; packages recompiled especially
  4689.       for &linapus;. I need <emphasis>your</emphasis> help to get
  4690.       it filled with good stuff!</para>
  4691.       </listitem>
  4692.       <listitem id="sd-rpm" xreflabel="the 'RPM-APUS' directory at
  4693.     &sunsite;"> 
  4694.     <para>RPM-APUS</para>
  4695.     <para> Directory with &rh; packages recompiled especially
  4696.       for &linapus;. I need <emphasis>your</emphasis> help to get
  4697.       it filled with good stuff!</para>
  4698.       </listitem>
  4699.       <listitem id="sd-boothack" xreflabel="the 'boothack' directory at
  4700.     &sunsite;">
  4701.     <para>boothack</para>
  4702.     <para> Directory with the special version of &amiboot;
  4703.       required to boot a &linapus; kernel.</para>
  4704.       </listitem>
  4705.       <listitem id="sd-contrib" xreflabel="the 'contrib' directory at
  4706.     &sunsite;">
  4707.     <para>contrib</para> 
  4708.     <para> Directory where I put kernel images and diffs
  4709.       contributed by users. If you want to contribute, upload to
  4710.       incoming and notify me via mail 
  4711.  
  4712.       <footnote id="ft-readme"><para>I only accept uploads with an
  4713.           accompanying <filename>.readme</filename> file
  4714.           containing:</para>
  4715.         
  4716.         <itemizedlist>
  4717.           <listitem><para><emphasis>Uploader:</emphasis> Name and
  4718.           email address.</para>
  4719.           </listitem>
  4720.           <listitem><para><emphasis>Contents:</emphasis> Archive
  4721.           description and/or a description of why people
  4722.           should use it.</para>
  4723.           </listitem>
  4724.         </itemizedlist>
  4725.         
  4726.         <para>Also, please make sure to notify me when an archive
  4727.           becomes obsolete so it can be deleted.</para>
  4728.       </footnote>.</para>
  4729.       </listitem>
  4730.       <listitem id="sd-docs" xreflabel="the 'docs' directory at &sunsite;">
  4731.     <para>docs</para>
  4732.  
  4733.     <para> Directory with &thisdoc; in HTML and SGML
  4734.       formats.  The file <filename>faq-all.tgz</filename>
  4735.       contains all the files for easy downloading.</para>
  4736.       </listitem>
  4737.       <listitem id="sd-incoming" xreflabel="the 'incoming' directory
  4738.     at &sunsite;">
  4739.     <para>incoming</para>
  4740.     <para> Directory where you can upload contributions
  4741.       <footnoteref linkend="ft-readme">.</para>
  4742.       </listitem>
  4743.       <listitem id="sd-install" xreflabel="the 'install'
  4744.     directory at &sunsite;">
  4745.     <para>install</para>
  4746.     <para> Directory with installation related files and
  4747.       directories..</para>
  4748.       </listitem>
  4749.       <listitem id="sd-install-rh" xreflabel="the &rh; 'install'
  4750.     directory at &sunsite;">
  4751.     <para>install/redhat</para>
  4752.     <para> Directory with files required to create a &rhppc; or
  4753.       &rhrc; system.</para>
  4754.       </listitem>
  4755.       <listitem id="sd-install-deb" xreflabel="the &debian; 'install'
  4756.     directory at &sunsite;">
  4757.     <para>install/debian</para>
  4758.     <para> Directory with files required to create a &debian;
  4759.       system.</para>
  4760.       </listitem>
  4761.       <listitem id="sd-22x" xreflabel="the '2.2.x' directory at
  4762.     &sunsite;"> <para>2.2.x</para><para> Directory with stable
  4763.     kernel binaries and diffs.</para>
  4764.       </listitem>
  4765.       <listitem id="sd-23x" xreflabel="the '2.3.x' directory at
  4766.     &sunsite;"> <para>2.3.x</para><para> Directory with
  4767.     developer kernel diffs.</para>
  4768.       </listitem>
  4769.       <listitem id="sd-misc" xreflabel="the 'misc' directory at &sunsite;">
  4770.     <para>misc</para>
  4771.     <para> Directory with miscellaneous tidbits, such as the build
  4772.       tools I'm using to make the precompiled kernel images.</para>
  4773.       </listitem>
  4774.     </itemizedlist>
  4775.  
  4776.  
  4777.     <para>The &linapus; kernel mailing list is also hosted by
  4778.       &sunsite;. Send for help at <ulink
  4779.     url="mailto:linux-apus-help@sunsite.auc.dk">
  4780.     linux-apus-help@sunsite.auc.dk</ulink>. The list is also
  4781.       available via NTTP from <ulink
  4782.     url="news://sunsite.auc.dk">sunsite.auc.dk</ulink> (look for
  4783.       sunsite.linux.apus). Please read <xref linkend="etiquette">
  4784.     before posting to this list.</para>
  4785.  
  4786.     <sect1 id="linux-apus-mirror-sites">
  4787.       <title>&linapus; Mirror Sites</title>
  4788.  
  4789.       <para>The <filename class=directory>apus</filename> directory at
  4790.     &sunsite; is mirrored a few places thanks to the people
  4791.     mentioned in parenthesis:</para>
  4792.  
  4793.       <para>Poland (FTP): <ulink
  4794.       url="ftp://snickers.ek.univ.gda.pl/pub/apus">
  4795.       snickers.ek.univ.gda.pl/pub/apus</ulink> (Bartek
  4796.     Kozakiewicz)</para>
  4797.  
  4798.       <para>Italy (FTP): <ulink url="ftp://ftp.unina.it">
  4799.       ftp.unina.it</ulink> (Massimo Gais)</para>
  4800.  
  4801.       <!--
  4802.     <para>The mailing list is also archived at other sites than
  4803.       &sunsite; thanks to the people mentioned in parenthesis:
  4804.     </para>
  4805.       -->
  4806.  
  4807.       <para>If you have the space (and time?) to make a mirror of
  4808.     either the <filename class=directory>apus</filename> directory
  4809.     at &sunsite; or make an archive of the &linapus; kernel
  4810.     mailing list, please let me know. &sunsite; is close and
  4811.     convenient to use for me, but that may not be so for
  4812.     others.</para>
  4813.  
  4814.     </sect1>
  4815.   </chapter>
  4816.  
  4817.   <chapter id="developer-sections"><title>Developer Sections</title>
  4818.  
  4819.     <para>This part of the document is intended for developers and
  4820.       people who just like to live on the edge, compiling their own
  4821.       kernel.</para>
  4822.  
  4823.     <sect1 id="dev-the-kernel-diffs"><title>The Kernel Diffs</title>
  4824.       
  4825.       <para> This section describes how you can recompile
  4826.     your own kernel. It may be necessary to do if the prebuilt
  4827.     kernels do not contain drivers for some of your
  4828.     equipment. Rebuilding the kernel including only drivers for
  4829.     the equipment you have may also result in slightly more memory
  4830.     available for applications.</para>
  4831.  
  4832.  
  4833.       <para> The diff files found at &sunsite; are relative to the
  4834.     last release of the &linm68k; developer sources. The diffs are
  4835.     named <filename>linux-2.2.8-m68k-YYMMDD.diff.gz</filename>
  4836.     (2.2.8 is the current &linm68k; version at the time of
  4837.     writing - you may find patches for more recent
  4838.     kernels). </para>
  4839.  
  4840.       <para> Always apply my patches to a clean set of &linm68k;
  4841.     sources as found on &sunsite; to avoid getting rejects. My
  4842.     diffs may include (parts) of patches posted to the &linm68k;
  4843.     kernel list.</para>
  4844.  
  4845.       <para> I have also started uploading &linapus;
  4846.     relative diffs. These are named
  4847.     <filename>linux-apus-YYMMDD.diff.gz</filename> and are
  4848.     relative to the previous &linapus; release.</para>
  4849.  
  4850.       <para> So, in order to get yourself a set of
  4851.     &linapus; kernel sources, download the latest &linm68k;
  4852.     sources (e.g.,
  4853.     <filename>linux-2.2.8.tar.gz</filename>). Unpack these and
  4854.     apply a version-matching &linm68k;-&linapus; diff (e.g.,
  4855.     linux-2.2.8-m68k-990516.diff). When you want to upgrade the
  4856.     &linapus; sources later on, get the incremental &linapus;
  4857.     patches (e.g., linux-apus-990517.diff and
  4858.     linux-apus-990518.diff) and apply these in turn (to get from
  4859.     990516 sources to 990518 sources). When you have downloaded
  4860.     the &linm68k; kernel sources once, you should be able to
  4861.     remain up-to-date using only &linapus; incremental patches.
  4862.       </para>
  4863.  
  4864.       <sect2 id="dev-recompile"><title>Recompiling Your Own Kernel</title>
  4865.  
  4866.     <para> Both because the precompiled kernels are so big, and
  4867.       because the set of included drivers may change without
  4868.       notice, you should recompile your own customized kernel when
  4869.       you have used a precompiled kernel to install your system.</para>
  4870.  
  4871.     <para>If you want to help (actively) with the development of
  4872.       &linm68k; and/or &linapus; you also need to recompile your own
  4873.       kernel (yes, <emphasis>you</emphasis> can hack the
  4874.       kernel. All that is really required is build tools,
  4875.       patience, a bit of interest in the subject and possibly some
  4876.       C knowledge (I learned C by hacking &linux; -- see the two
  4877.       previous requirements :))</para>
  4878.  
  4879.     <para>It is possible to get a reasonable stable kernel by
  4880.       following the advice below. Many people who have problems
  4881.       with the kernels they build themselves usually didn't follow
  4882.       the below advice. In particular, use the specified tool
  4883.       versions even if newer are available. And build the tools
  4884.       yourself since prebuilt tools may include patches that could
  4885.       foul things up.</para>
  4886.  
  4887.     <para> You can find binutils at <ulink
  4888.         url="ftp://prep.ai.mit.edu">prep.ai.mit.edu</ulink> or one
  4889.       of its mirrors (e.g., <ulink
  4890.         url="ftp://sunsite.auc.dk/mirrors/prep.ai.mit.edu/pub/gnu/">
  4891.         sunsite.auc.dk/mirrors/prep.ai.mit.edu/pub/gnu/</ulink>). You
  4892.       can find egcs at <ulink
  4893.         url="ftp://egcs.cygnus.com">egcs.cygnus.com</ulink> or one
  4894.       of its mirrors (e.g., <ulink
  4895.         url="ftp://sunsite.auc.dk/mirrors/egcs.cygnus.com">
  4896.         sunsite.auc.dk/mirrors/egcs.cygnus.com</ulink>).</para>
  4897.  
  4898.     <para> Still, since it is a developer kernel, your mileage may
  4899.       vary, even if you painstakingly follow the below.</para>
  4900.  
  4901.     <para> <emphasis>Note: There has been reported
  4902.         problems with rebuilding egcs-1.1 from the source code
  4903.         archive; it requires a C++ compiler, even if you 
  4904.         specify LANGUAGES to only include C. Workaround is to
  4905.         build everything (i.e., don't use the LANGUAGES
  4906.         option).</emphasis></para>
  4907.  
  4908.     <sect3><title>Basic Kernel Compilation</title>
  4909.  
  4910.       <para> A good way to start compiling your own
  4911.         kernel is by using the configuration I use to build
  4912.         kernels. That way, you can be sure that the kernel will
  4913.         build without problems, and you can test that it works
  4914.         just as well as the ones I have built.</para>
  4915.  
  4916.       <para> First patch the kernel:</para>
  4917.  
  4918.       <screen>
  4919.  
  4920.         tar xzf linux-2.1.115.tar.gz
  4921.         cd linux-2.1.115
  4922.         patch -d. -p0 < .../linux-2.1.115-m68k-980814.diff</screen>
  4923.  
  4924.       <para> Then copy the
  4925.         <filename>.config</filename> from one of the archives
  4926.         with precompiled kernels to the kernel directory,
  4927.         configure and build the kernel:</para>
  4928.  
  4929.       <screen>
  4930.  
  4931.         cp [path of prebuilt kernel]/.config .
  4932.         make oldconfig
  4933.         make dep
  4934.         make          </screen>
  4935.  
  4936.       <para> Now test the kernel. If it works,
  4937.         reconfigure to suit your system and rebuild. Resolve
  4938.         problems as they appear and send patches to the list
  4939.         :)</para>
  4940.  
  4941.     </sect3>
  4942.  
  4943.     <sect3><title>Native Compilation</title>
  4944.  
  4945.       <para>If you know how to recompile &linm68k; there shouldn't be
  4946.         much of a difference - except that it will be done faster
  4947.         :)</para>
  4948.  
  4949.       <orderedlist>
  4950.         <listitem><para> Get binutils-2.9.1 and egcs-1.1.</para>
  4951.         </listitem>
  4952.         <listitem><para> Configure, build and install
  4953.         binutils.</para>
  4954.           <screen>
  4955.  
  4956.         tar xzf binutils-2.9.1.tar.gz
  4957.         cd binutils-2.9.1
  4958.         ./configure
  4959.         make
  4960.         make install
  4961.         cd ..          </screen>
  4962.         </listitem>
  4963.         <listitem><para>Configure, build and install
  4964.         egcs.</para>
  4965.           <screen>
  4966.  
  4967.         tar xzf egcs-1.1.tar.gz
  4968.         cd egcs-1.1
  4969.         mkdir build
  4970.         cd build
  4971.         ../configure
  4972.         make LANGUAGES=c
  4973.         make LANGUAGES=c install    </screen>
  4974.         </listitem>
  4975.         <listitem><para> Get the latest &linm68k; kernel sources
  4976.         (2.1.115 as of the time of writing) and apply the
  4977.         &linapus; patch.</para>
  4978.           <screen>
  4979.  
  4980.         tar xzf linux-2.1.115.tar.gz
  4981.         cd linux-2.1.115
  4982.         patch -d. -p0 < .../linux-2.1.115-m68k-980814.diff</screen>
  4983.         </listitem>
  4984.         <listitem><para> Configure and compile the kernel.</para>
  4985.           <screen>
  4986.  
  4987.         make config [select the options you want]
  4988.         make dep
  4989.         make          </screen>
  4990.         </listitem>
  4991.         <listitem><para> Boot your shiny new kernel (see <xref
  4992.           linkend="booting-linux-apus">).</para>
  4993.         </listitem>
  4994.       </orderedlist>
  4995.  
  4996.     </sect3>
  4997.     <sect3><title>Cross-Compilation</title>
  4998.  
  4999.       <para> This is probably what you want to do if you want to
  5000.         do some serious &linapus; development as it cuts down the
  5001.         time of the build-boot-test cycle dramatically. You need a
  5002.         slave box (like my PC 'Concubine') on which you do the
  5003.         editing and building and a proper connection to the &amiga;
  5004.         (I used serial for some months, but can warmly recommend
  5005.         an Ethernet card).</para>
  5006.  
  5007.       <para>Using a different build machine also allows you to get
  5008.         serial output from the kernel you are testing and/or use a
  5009.         remote debugger (beats
  5010.         <function>printk</function>-debugging, I'm sure) if you
  5011.         connect the machines with a null-modem cable.</para>
  5012.  
  5013.       <para>You need a cross compilation environment, targeting
  5014.         big-endian &cpuppc; ELF files. Here's how to build the required
  5015.         binutils and compiler on another &linux; box:</para>
  5016.  
  5017.       <orderedlist>
  5018.         <listitem><para>Get binutils-2.9.1 and egcs-1.1.</para>
  5019.         </listitem>
  5020.         <listitem><para>Configure, build and install binutils for
  5021.         target </para>
  5022.           <screen>
  5023.  
  5024.         tar xzf binutils-2.9.1.tar.gz
  5025.         cd binutils-2.9.1
  5026.         mkdir build
  5027.         cd build
  5028.         ../configure --target=powerpc-unknown-linux
  5029.         make
  5030.         make install          </screen>
  5031.  
  5032.           <para> You should now have binutils targeted
  5033.         for &cpuppc; installed in <filename class=directory>
  5034.           /usr/local/bin</filename>. Make sure this directory
  5035.         is in your PATH.</para>
  5036.         </listitem>
  5037.         <listitem><para> Get the files from <filename
  5038.           class=directory> /usr/include</filename> of your
  5039.         &linapus; box and put them in the <filename
  5040.           class=directory>
  5041.           /usr/local/powerpc-unknown-linux/include</filename>
  5042.         directory of your build machine. (The files are
  5043.         also available from <xref linkend="sd-misc">.)
  5044.           Make sure that the <filename>asm</filename> and
  5045.           <filename>linux</filename> links point to the
  5046.           location of those directories in the linux source
  5047.           code you are trying to compile (i.e., <filename
  5048.             class="directory">/usr/src/linux/include/asm</filename>
  5049.           and <filename
  5050.             class="directory">/usr/src/linux/include/linux</filename>)
  5051.           .</para>
  5052.         </listitem>
  5053.         <listitem><para>Configure egcs for
  5054.         cross-compilation.</para>
  5055.           <screen>
  5056.  
  5057.         tar xzf egcs-1.1.tar.gz
  5058.         cd egcs-1.1
  5059.         mkdir build
  5060.         cd build
  5061.         ../gcc/configure --target=powerpc-unknown-linux
  5062.         make LANGUAGES=c
  5063.         make LANGUAGES=c install    </screen>
  5064.           <para> You should now have gcc targeted for &cpuppc;
  5065.         installed in <filename>
  5066.           /usr/local/bin/powerpc-unknown-linux-gcc</filename>.</para>
  5067.         </listitem>
  5068.         <listitem><para>Configure and build the kernel.</para>
  5069.           <screen>
  5070.  
  5071.         make config [select the options you want]
  5072.         make dep
  5073.         make          </screen>
  5074.           <para>Notice that the kernel will be build using the
  5075.         cross-compiler,
  5076.         <filename>powerpc-unknown-linux-gcc</filename> which
  5077.         automatically uses the correct &cpuppc;
  5078.         binutils.</para>
  5079.         </listitem>
  5080.         <listitem><para>Copy the kernel to your &amiga;.</para>
  5081.         </listitem>
  5082.         <listitem><para>Boot your shiny new (cross-compiled)
  5083.         kernel (see <xref linkend="booting-linux-apus">).</para>
  5084.         </listitem>
  5085.       </orderedlist>
  5086.  
  5087.       <para>There's a cross-compiling mini HOWTO at <ulink
  5088.           url="ftp://ftp.uni-erlangen.de:/pub/Linux/680x0/docs/cross-compiling-Mini-HOWTO">
  5089.           ftp://ftp.uni-erlangen.de:/pub/Linux/680x0/docs/cross-compiling-Mini-HOWTO</ulink>
  5090.         you can consult if you need more help.</para>
  5091.  
  5092.     </sect3>
  5093.       </sect2>
  5094.     </sect1>
  5095.  
  5096.     <sect1 id="dev-kernel-debugging"><title>Kernel Debugging</title>
  5097.  
  5098.       <para>The kernel contains bugs. Period. Fact of life. Some are
  5099.     just small annoyances, others are show stoppers. Bugs in the
  5100.     latter category are usually (and fortunately) easy to track
  5101.     down given enough information.</para>
  5102.  
  5103.       <para>In this section I will try to explain what you need to
  5104.     report when you find a bug so it is easier for others to fix
  5105.     it. If you feel like looking into the problem yourself (please
  5106.     do!) this may be used as a brief guide of what to look
  5107.     for.</para>
  5108.  
  5109.       <sect2><title>Interactive Debugging</title>
  5110.  
  5111.     <para>Newer kernels contain a stub which makes it possible to
  5112.       debug the kernel in &gdb; via a serial line from another
  5113.       &linux; host. This is <emphasis>the</emphasis> way to debug
  5114.       something since you have access to registers and memory
  5115.       while the system is still alive - or at the time of its
  5116.       death.</para>
  5117.  
  5118.     <para>[Unfortunately, I don't know if this interface is
  5119.       working properly. I hope to get it tested RSN. I will add
  5120.       some more text about it when I know more.]</para>
  5121.  
  5122.       </sect2>
  5123.       <sect2><title>Non-interactive Debugging</title>
  5124.  
  5125.     <para>Sometimes interactive debugging is not an option and you
  5126.       have to rely on <function>printk</function> calls. Basically
  5127.       you insert some <function>printk</function>s with different
  5128.       texts in places of the kernel where you suspect there is a
  5129.       problem.</para>
  5130.  
  5131.     <para>You can ouput variable values and thereby check that the
  5132.       values are what you expect them to be. Output strings
  5133.       throughout the flow of a function to check that it executes
  5134.       the expected if-statements, does the correct number of
  5135.       iterations or to get an idea of where it hangs.  Use your
  5136.       imagination and be generous - each time you decide to insert
  5137.       more <function>printk</function>s you have to rebuild the
  5138.       kernel and reboot; you might as well put in plenty to start
  5139.       with.</para>
  5140.  
  5141.     <para>Debugging <filename>head.S</filename> is a bit more
  5142.       tricky. I use a handful of serial-print assembly routines by
  5143.       Roman Zippel. These can be found in the file
  5144.       <filename>arch/ppc/kernel/debug.h</filename> - include it
  5145.       from <filename>head.S</filename>, call
  5146.       <function>initserial</function> from somewhere in the top of
  5147.       the code and use the other functions to output
  5148.       characters/values where you want to investigate
  5149.       something. You must use functions <function>foo</function>
  5150.       when memory mapping is disabled and functions
  5151.       <function>foo2</function> when memory mapping is
  5152.       enabled.</para>
  5153.  
  5154.     <sect3><title>Debug Options</title>
  5155.  
  5156.       <para>The text from the <function>printk</function>s go to
  5157.         the console. Sometimes it makes sense to output the text
  5158.         to memory so you can save it for later reference or
  5159.         analysis. Use <option>debug=mem</option> as an option to
  5160.         bootstrap when booting and after reseting, run &dmesg;
  5161.         (from <xref linkend="sd-misc">) under &ados;. It should
  5162.           find the text.</para>
  5163.  
  5164.       <para>You can also use the option <option>debug=ser</option>
  5165.         which will output the text over the builtin serial line at
  5166.         9600 baud.</para>
  5167.  
  5168.     </sect3>
  5169.     <sect3><title>Standard Debug Output</title>
  5170.  
  5171.       <para>If a user application causes an exception it will be
  5172.         terminated without affecting any other application
  5173.         running. However, if the kernel causes an exception there
  5174.         is no way of handling it gracefully. In those situations
  5175.         the kernel will dump some information on the console which
  5176.         may help developers track the problem down. It may look
  5177.         like this:</para>
  5178.  
  5179.       <screen>
  5180.  
  5181.         NIP: C00D4EA4 XER: 00000000 LR: C00D6E64 REGS: c3c83bd0 TRAP: 0700 MSR:
  5182.         00089972 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11
  5183.         TASK = c3c82000[130] 'mingetty' mm->pgd c2856000 Last syscall: 4  last math
  5184.         00000000
  5185.         GPR00: 00000000 C3C83CC0 C3C82000 C02C2FC0 00000002 00000000 00000019 00000050 
  5186.         GPR08: 00000000 C01528B4 C02C2FC0 00000000 3004E158 0024BB94 C017C6E0 C017C6E0 
  5187.         GPR16: C3EAC000 00000002 C0150000 C01704F8 00000001 00000000 00000000 C3C83D8A 
  5188.         GPR24: 00203578 C3F5C4A0 00000001 00000000 C02C30D4 00000000 000007D0 00000000 
  5189.         Call backtrace: 
  5190.         C004D580 C00D6E64 C00D7C94 C00D8710 C00CA630 C00CC4F4 C00C7988 
  5191.         C0026818 C000447C 00201570 00201D18 002010B8 
  5192.         Kernel panic: Exception in kernel pc c00d4ea4 signal 4
  5193.         Rebooting in 180 seconds..      </screen>
  5194.  
  5195.       <para> The NIP (next instruction pointer) tells what
  5196.         instruction caused the exception and the contents of the
  5197.         other registers can help explain why. The call backtrace
  5198.         shows the call sequence resulting in the exception
  5199.         allowing you to examine those functions (in the source
  5200.         code) and possibly insert a breakpoint (&gdb;) or
  5201.         <function>printk</function>s to help track down the
  5202.         problem.</para>
  5203.  
  5204.       <para>However, since these addresses are specific to the
  5205.         kernel you are running, a dump like the above is not
  5206.         necessarily of much help to kernel hackers. In order to
  5207.         help them you need to use the tool
  5208.         <application>ksymoops</application> (source found in the
  5209.         <filename class=directory>scripts</filename> directory of
  5210.         the kernel sources) which will use the
  5211.         <filename>System.map</filename> file to produce a more
  5212.         usable dump you can send to the kernel list.</para>
  5213.  
  5214.       <para>When you have found out which function the exception
  5215.         was caused by (look up the address in the
  5216.         <filename>System.map</filename> file) you might be able to
  5217.         make a quick fix. If the function belongs to a driver that
  5218.         is not properly supported you can disable it when doing
  5219.         <command>make config</command>. If the driver accepts
  5220.         kernel options you might want to use some other options
  5221.         than the default or the ones you used when the exception
  5222.         occurred.</para>
  5223.  
  5224.     </sect3>
  5225.     <sect3><title>Other Helpful Information</title>
  5226.  
  5227.       <para>The exception you experience may be caused by many
  5228.         things. Kernel hackers <emphasis>may</emphasis> have an
  5229.         idea of what is most likely to be the culprit.  You can
  5230.         help them narrow down the list of potential problems by
  5231.         including the following information:</para>
  5232.  
  5233.       <itemizedlist>
  5234.         <listitem><para> The bootstrap line you use to start the
  5235.         kernel (so we can see what options you used).</para>
  5236.         </listitem>
  5237.         <listitem><para> The output from bootstrap when using the
  5238.         <option>-d</option> option (so we can see what
  5239.         configuration you have).</para>
  5240.         </listitem>
  5241.         <listitem><para> The kernel debug output (use
  5242.         <option>debug=mem</option> and &dmesg; as described
  5243.         earlier).</para>
  5244.         </listitem>
  5245.         <listitem><para> If you need to do something in particular
  5246.         to cause the exception, tell us so we can try to
  5247.         reproduce it.</para>
  5248.         </listitem>
  5249.       </itemizedlist>
  5250.  
  5251.     </sect3>
  5252.       </sect2>
  5253.     </sect1>
  5254.   </chapter>
  5255.  
  5256. </book>
  5257.