Next Previous Contents

2. Linux Hardware Frequently Asked Questions

The following sections answer some of the more frequently asked questions regarding hardware and usage with Linux.

2.1 How do I get my Linux box to recognize more than 64MB of RAM?

To get the kernel to recognize more than 64MB of RAM, either specify it at boot time by adding mem=XXXM after the image name (label) you want to boot with, or set it as parameter, thus making it permanent, by adding

append=``mem=XXXM''
to your /etc/lilo.conf file (do not forget to rerun lilo after this).

Here is a fragment from bootparam(7)

`mem=...'

      The BIOS call defined in the PC specification that returns
      the  amount  of  installed  memory was only designed to be
      able to report up to 64MB.  Linux uses this BIOS  call  at
      boot  to  determine  how much memory is installed.  If you
      have more than 64MB of RAM installed,  you  can  use  this
      boot  arg  to  tell  Linux  how much memory you have.  The
      value is in decimal or hexadecimal (prefix  0x),  and  the
      suffixes  `k'  (times  1024) or `M' (times 1048576) can be
      used.  Here is a quote from Linus on usage of  the  `mem='
      parameter.

      ``The  kernel  will accept any `mem=xx' parameter you give
      it, and if it turns out that you lied to it, it will crash
      horribly  sooner  or  later.   The parameter indicates the
      highest addressable RAM address, so `mem=0x1000000'  means
      you  have 16MB of memory, for example.  For a 96MB machine
      this would be `mem=0x6000000'.

        NOTE NOTE NOTE:
      some machines might use the top of  memory
      for  BIOS  caching or whatever, so you might not actually
      have up to the full 96MB addressable.  The reverse is also
      true:  some  chipsets will map the physical memory that is
      covered by the BIOS area into the area just past  the  top
      of  memory,  so  the  top-of-mem  might actually be 96MB +
      384kB for example.  If you tell Linux  that  it  has  more
      memory than it actually does have, bad things will happen:
      maybe not at once, but surely eventually.''

2.2 How do I get my 2(3,4,..) ethernet cards to work?

To make the kernel see additional ethernet cards, you should either pass the parameter ether=IRQ,i/o addr,device at boot time, For example:

boot: Linux ether=5,0x320,eth0
or specify it in lilo.conf file
image=/boot/vmlinuz
        label=linux
        append=``ether=5,0x320,eth0''
        root=/dev/hda2
        read-only

Note that this will only work for drivers that are compiled into the kernel. If the driver is a module, then you need to specify the parameters in /etc/modules.conf, e.g.

alias eth0 3c509
options eth0 irq=10 io=0x320
alias eth1 3c509
options eth1 itq=11 io=0x300

2.3 What could make GCC produce the ``exiting on signal 11'' message?

There is a good resource covering this subject avaliable on the Internet at http://www.bitwizard.nl/sig11/

NOTEYou may also be getting signal 6 which may either be caused by hardware failures, or older gcc compiler which gets crashed while trying to compile certain pieces of code.

2.4 How do I use a ``WinModem''/``WinPrinter'' under Linux?

All Win* things are brain-dead. However there's some chance to get WinModem or WinPrinter under Linux. Ghostscript now has support for some WinPrinters. But since the actual idea is that Win-devices are just very simplified things, where lots of things are to be done by specific Windows drivers you'd better abstain getting these things, since they will un-doubtfully decrease your box performance, will use a lot of your machine CPU and generally will hog machine.

RemarkSadly, vendors of WinPrinters and WinModems have been pressured by M$ to withhold programming information, so lots of Win-devices still aren't supported in Linux world.

2.5 How can I install linux on second disk?

Basically, the general trouble which could appear here,is that machine couldn't boot either Linux nor other OS after lilo screwed up the master boot record of the hard disk.

The suitable solution,which was used by one mailing list members, is:

If you decide to continue to try and use lilo, be sure to not use the MBR of the first disk, as that is where the NT boot loader resides. Use the boot sector of the first partition, i.e., /dev/hda1 instead of /dev/hda.


Next Previous Contents