[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ next ]


Debian Reference
Chapter 3 - Debian System installation hints


Official documentation for installing Debian is located at http://www.debian.org/releases/stable/ and http://www.debian.org/releases/stable/installmanual.

The development versions are located at http://www.debian.org/releases/testing/ and http://www.debian.org/releases/testing/installmanual (work in progress, sometimes this may not exist).

Although this chapter was initially written during the days of the Potato installer, most of the contents have been updated to the Woody installer and they are very similar installers. Since Sarge will use a totally new installer, please use this as a reference point for the Sarge installer. Also some key packages have changed names and priorities. For example, default MTA of Sarge is exim4 instead of exim, and coreutils has been introduced to replace several packages. You may need to adjust actions.


3.1 General Linux system installation hints

Do not forget to check http://www.debian.org/CD/netinst/ if you are looking for a compact CD image of the Debian installer.

Running the testing or unstable distribution increases the risk of hitting serious bugs. This risk can be managed by deploying a multibooting scheme with a more stable Debian distribution or by using the nice trick provided by chroot as described in chroot, Section 8.6.35. The latter will enable running different Debian distributions simultaneously on different consoles.


3.1.1 Hardware compatibility basics

Linux is compatible with most PC hardware and can be installed to almost any system. For me it was as easy as installing Windows 95/98/Me. The hardware compatibility list just seems to keep growing.

If you have a laptop PC, check Linux on Laptops for installation pointers by brand and model.

My recommendation for desktop PC hardware is "Just be conservative":

If you have a slow machine, yanking out the hard drive and plugging it into another faster machine for installation is a good idea.


3.1.2 Determining a PC's hardware and chip set

During installation, one will be asked to identify the hardware or chip set of the PC. Sometimes that information may not seem easy to find. Here is one method:

  • Open your PC's case and look inside.

  • Record the product ID codes on the large chips on the graphics card, network card, chip near serial ports, chip near IDE ports.

  • Record card names printed on the back of the PCI and ISA cards.


  • 3.1.3 Determining a PC's hardware via Debian

    The following commands on a Linux system should give some idea of actual hardware and configuration.

         $ pager /proc/pci
         $ pager /proc/interrupts
         $ pager /proc/ioports
         $ pager /proc/bus/usb/devices
    

    These commands can be run during the install process from the console screen by pressing Alt-F2.

    After the initial installation, with the installation of optional packages such as pciutils, usbutils, and lshw, you can obtain more extensive system information.

         $ lspci -v |pager
         $ lsusb -v |pager
         # lshw  |pager
    

    Typical uses of interrupts:

    For old non-PnP ISA cards, you may want to set IRQ5, IRQ10, and IRQ11 as non-PnP from the BIOS.

    For USB devices, device classes are listed in /proc/bus/usb/devices as Cls=nn:

    If the device class of a device is not 255, Linux supports the device.


    3.1.4 Determining a PC's hardware via other OSs

    Hardware information can also be obtained from other OSs:

    Install another commercial Linux distribution. Hardware detection on those tends to be better than on Debian as of now. (This situation should even out once debian-installer is introduced with Sarge.)

    Install Windows. Hardware configuration can be obtained by right-clicking "My Computer" to get to Properties / Device Manager. Record all resource information such as IRQ, I/O port address, and DMA. Some old ISA cards may need to be configured under DOS and used accordingly.


    3.1.5 A Lilo myth

    "Lilo is limited to 1024 cylinders." Wrong!

    The newer lilo used after Debian Potato has lba32 support. If the BIOS of your motherboard is recent enough to support lba32, lilo should be able to load beyond the old 1024-cylinder limitation.

    Just make sure to add a line reading "lba32" somewhere near the beginning of your lilo.conf file if you have kept an old lilo.conf. See /usr/share/doc/lilo/Manual.txt.gz.


    3.1.6 GRUB

    The new boot loader grub from the GNU Hurd project can be installed on a Debian Woody system:

         # apt-get update
         # apt-get install grub-doc
         # mc /usr/share/doc/grub-doc/html/
         ... read contents
         # apt-get install grub
         # pager /usr/share/doc/grub/README.Debian.gz
         ... read it :)
    

    To edit the GRUB menu, edit /boot/grub/menu.lst. See Setting GRUB boot parameters, Section 8.1.6 for how to set boot parameters during the boot process since it is slightly different from lilo configuration.


    3.1.7 Choice of boot floppies

    For Potato, I liked the IDEPCI disk set for normal install to a desktop. For Woody, I like the bf2.4 boot disk set. They both use a version of boot-floppies to create boot floppies.

    If you have a PCMCIA network card, you need to use the standard boot disk set (largest number of floppies but all driver modules available) and configure the NIC in the PCMCIA setup; do not try to set up an NIC card in the standard network setup dialog.

    For special systems, you may need to create a custom rescue disk. This can be done by replacing the kernel image named "linux" on the Debian rescue disk by overwriting it with another compressed kernel image compiled off-site for the machine. Details are documented in readme.txt on the rescue disk. The rescue floppy uses the MS-DOS filesystem, so you can use any system to read and edit it. This should make life easier for people with a special network card, etc.

    For Sarge, debian-installer and/or pgi is expected to be used for creating boot floppies.


    3.1.8 Installation

    Follow the official instructions found in http://www.debian.org/releases/stable/installmanual or http://www.debian.org/releases/testing/installmanual (work in progress, sometimes this may not exist).

    If you are installing a system using boot-floppies in the testing distribution, you may need to open a console terminal during the install process by pressing Alt-F2 and manually edit /etc/apt/sources.list entries, changing "stable" to "testing" to adjust APT sources.

    I tend to install lilo into places like /dev/hda3, while installing mbr into /dev/hda. This minimizes the risk of overwriting boot information.

    Here is what I choose during the install process.

    For more information on dselect, see dselect, Section 6.2.4.


    3.1.9 Hosts and IP to use for LAN

    Example of LAN configuration (C subnet: 192.168.1.0/24):

         Internet
            |
            +--- External ISP provides POP service (accessed by fetchmail)
            | 
           Access point ISP provides DHCP service and SMTP relay service
            |                     :
           Cable modem         (Dialup)
            |                     :
         LAN Gateway machine external port: eth0 (IP given by ISP's DHCP)
          use old notebook PC (IBM Thinkpad, 486 DX2 50MHz, 20MB RAM)
          run Linux 2.4 kernel with ext3 filesystem.
          run "ipmasq" package (with stronger patch, NAT, and firewall)
          run "dhcp-client" package configured for eth0 (override DNS setting)
          run "dhcp" package configured for eth1
          run "exim" as the smarthost (mode 2)
          run "fetchmail" with a long interval (fallback)
          run "bind" as the cache nameserver for Internet from LAN
                     as authoritative nameserver for LAN domain from LAN
          run "ssh" on port 22 and 8080 (connect from anywhere)
          run "squid" as the cache server for the Debian archive (for APT)
         LAN Gateway machine internal port: eth1 (IP = 192.168.1.1, fixed)
                                  |
                  +--- LAN Switch (100base T) ---+
                  |                              |
         Some fixed IP clients on LAN     Some DHCP clients on LAN
         (IP = 192.168.1.2-127, fixed)    (IP = 192.168.1.128-200, dynamic)
    

    See Network configuration, Chapter 10 for the details of configuring the network. See Building a gateway router, Section 10.12 for the details of configuring the LAN gateway server.


    3.1.10 User accounts

    In order to have a consistent feel across machines, the first few accounts are always the same in my system.

    I always create a first user account with a name like "admin" (uid=1000). I forward all root email there. This account is given membership in the adm group (see "Why GNU su does not support the wheel group", Section 9.2.2), which can be given a good amount of root privilege through su using PAM or the sudo command. See Add a user account, Section 4.1.3 for details.


    3.1.11 Creating filesystems


    3.1.11.1 Hard disk partition

    I prefer to use different partitions for different directory trees to limit damage upon system crash. E.g.,

         /          == (/ + /boot + /bin + /sbin)
                    == 50MB+
         /tmp       == 100MB+
         /var       == 100MB+
         /home      == 100MB+
         /usr       == 700MB+ with X
         /usr/local == 100MB
    

    The size of the /usr directory is very dependent on X Window applications and documentation. /usr/ can be 300MB if one runs a console terminal only, whereas 2GB–3GB is not an unusual size if one has installed many Gnome applications. When /usr/ grows too big, moving out /usr/share/ to a different partition is the most effective cure. With the new large prepackaged Linux 2.4 kernels, / may need more than 200MB.

    For example, the current status of my Internet gateway machine is as follows (output of the df -h command):

         Filesystem            Size  Used Avail Use% Mounted on
         /dev/hda3             300M  106M  179M  38% /
         /dev/hda7             100M   12M   82M  13% /home
         /dev/hda8             596M   53M  513M  10% /var
         /dev/hda6             100M  834k   94M   1% /var/lib/cvs
         /dev/hda9             596M  222M  343M  40% /usr
         /dev/hda10            596M  130M  436M  23% /var/cache/apt/archives
         /dev/hda11            1.5G  204M  1.2G  14% /var/spool/squid
    

    (The large area reserved for /var/spool/squid/ is for a proxy cache for package downloading.)

    Following is fdisk -l output to provide an idea of partition structure:

         # fdisk -l /dev/hda # comment
         
         /dev/hda1             1        41    309928+   6  FAT16 # DOS
         /dev/hda2            42        84    325080   83  Linux # (not used)
         /dev/hda3   *        85       126    317520   83  Linux # Main
         /dev/hda4           127       629   3802680    5  Extended
         /dev/hda5           127       143    128488+  82  Linux swap
         /dev/hda6           144       157    105808+  83  Linux
         /dev/hda7           158       171    105808+  83  Linux
         /dev/hda8           172       253    619888+  83  Linux
         /dev/hda9           254       335    619888+  83  Linux
         /dev/hda10          336       417    619888+  83  Linux
         /dev/hda11          418       629   1602688+  83  Linux
    

    A few unused partitions exist. These are for installing a second Linux distribution or as expansion space for growing directory trees.


    3.1.11.2 Mount filesystems

    Mounting the above filesystems properly is accomplished with the following /etc/fstab:

         
         # /etc/fstab: static filesystem information.
         #
         # filesystem    mount point     type    options                dump pass
         /dev/hda3       /               ext2    defaults,errors=remount-ro 0 1
         /dev/hda5       none            swap    sw                      0 0
         proc            /proc           proc    defaults                0 0
         /dev/fd0        /floppy         auto    defaults,user,noauto    0 0
         /dev/cdrom      /cdrom          iso9660 defaults,ro,user,noauto 0 0
         #
         # keep partitions separate
         /dev/hda7       /home           ext2    defaults                0 2
         /dev/hda8       /var            ext2    defaults                0 2
         /dev/hda6       /var/lib/cvs    ext2    defaults                0 2
         # noatime will speed up file access for read access
         /dev/hda9       /usr            ext2    defaults,noatime        0 2
         /dev/hda10      /var/cache/apt/archives ext2    defaults        0 2
         
         # very big partition for proxy cache
         /dev/hda11      /var/spool/squid ext2   rw                      0 2
         
         # backup bootable DOS
         /dev/hda1       /mnt/dos        vfat    rw,noauto               0 0
         # backup bootable Linux system (not done)
         /dev/hda2       /mnt/linux      ext2    rw,noauto               0 0
         #
         # nfs mounts
         mickey:/        /mnt/mickey     nfs     ro,noauto,intr          0 0
         goofy:/         /mnt/goofy      nfs     ro,noauto,intr          0 0
         # minnie:/ /mnt/minnie smbfs ro,soft,intr,credentials={filename} 0 2
    

    For NFS, I use noauto,intr combined with the default hard option. This way, it is possible to recover from a hung process due to a dead connection using Ctrl-C.

    For a Windows machine connected with Samba (smbfs), rw,auto,soft,intr may be good idea. See Samba configuration, Section 3.5.

    For a floppy drive, using noauto,rw,sync,user,exec instead prevents file corruption after accidental disk eject before unmount, but this slows the write process.


    3.1.11.3 Autofs mount

    Key points to auto mount:


    3.1.11.4 NFS mount

    The external Linux NFS server (goofy) resides behind a firewall (gateway). I have a very relaxed security policy on my LAN since I am the only user. To enable NFS access, the NFS server side needs to add /etc/exports as follows:

         # /etc/exports: the access control list for filesystems which may be
         #               exported to NFS clients.  See exports(5).
         /       (rw,no_root_squash)
    

    This is needed to activate the NFS server in addition to installing and activating the NFS server and client packages.

    For simplicity, I usually create a single partition of 2GB for an experimental or secondary lazy Linux install. I optionally share swap and /tmp partitions for these installs. A multipartition scheme is too involved for these usages. If only a simple console system is needed, 500MB may be more than sufficient.


    3.1.12 DRAM memory guidelines

    Following are rough guidelines for DRAM.

           4MB:  Bare minimum for Linux kernel to function.
          16MB:  Minimum for reasonable console system.
          32MB:  Minimum for simple X system.
          64MB:  Minimum for X system with GNOME/KDE.
         128MB:  Comfortable for X system with GNOME/KDE.
         256MB (or more): Why not if you can afford it?  DRAM is cheap.
    

    Using the boot option mem=4m (or lilo append="mem=4m") will show how the system would perform with 4MB of memory installed. A lilo boot parameter is needed for a system containing more than 64MB of memory with an old BIOS.


    3.1.13 Swap space

    I use the following guidelines for swap space:

    Even if you never need it, some swap space (128MB) is desirable so the system will slow down before it crashes hard with a program which leaks memory.


    3.2 Bash configuration

    I modify shell startup scripts to my taste across the system:

         /etc/bash.bashrc        Replace with private one
         /etc/profile            Keep distribution copy ( \w -> \W)
         /etc/skel/.bashrc       Replace with private copy
         /etc/skel/.profile      Replace with private copy
         /etc/skel/.bash_profile Replace with private copy
         ~/.bashrc               Replace with private copy for all accounts
         ~/.profile              Replace with private copy for all accounts
         ~/.bash_profile         Replace with private copy for all accounts
    

    See details in my example scripts. I like a transparent system, so I set umask to 002 or 022.

    PATH is set by the following configuration files in this order:

         /etc/login.defs  - before the shell sets PATH
         /etc/profile     (may call /etc/bash.bashrc)
         ~/.bash_profile  (may call ~/.bashrc)
    

    3.3 Mouse configuration


    3.3.1 PS/2 mice

    In the case of a PS/2-connector mouse on an ATX motherboard, the signal flow should be:

         mouse -> /dev/psaux -> gpm -> /dev/gpmdata = /dev/mouse -> X
    

    Here, a symlink /dev/mouse is created and is pointing to /dev/gpmdata to make some configuration utilities happy and to make reconfiguration easy. (E.g., if you decide not to use the gpm daemon after all, just point the symlink /dev/mouse to /dev/psaux after getting rid of the gpm daemon.)

    This signal flow allows the keyboard and mouse to be unplugged and reinitialized by restarting gpm upon reconnect. X will stay alive!

    The protocol of the signal flow between gpm output and X input can be implemented in either of two ways, as "ms3" (use the Microsoft 3-button serial mouse protocol) or "raw" (use the same protocol as the mouse that is connected), and this choice dictates the choice of protocol used in X configuration.

    I will demonstrate the configuration examples using a Logitech 3-button (traditional Unix-style mouse) PS/2 mouse as an example in the following.

    If you are one of the unfortunate whose graphics card is not supported by the new X4 and need to use the old X3 (some ATI 64 bit cards), configure /etc/X11/XF86Config instead of /etc/X11/XF86Config-4 in the following examples while installing X3 packages.


    3.3.1.1 The ms3 protocol approach

         /etc/gpm.conf            | /etc/X11/XF86Config-4
         =========================+======================================
         device=/dev/psaux        | Section "InputDevice"
         responsiveness=          |  Identifier "Configured Mouse"
         repeat_type=ms3          |  Driver     "mouse"
         type=autops2             |  Option     "CorePointer"
         append=""                |  Option     "Device"   "/dev/mouse"
         sample_rate=             |  Option     "Protocol" "IntelliMouse"
                                  | EndSection
    

    If this approach is used, the mouse type adjustment is done only by editing gpm.conf and X configuration stays constant. See my example scripts.


    3.3.1.2 The raw protocol approach

         /etc/gpm.conf            | /etc/X11/XF86Config-4
         =========================+======================================
         device=/dev/psaux        | Section "InputDevice"
         responsiveness=          |  Identifier "Configured Mouse"
         repeat_type=raw          |  Driver     "mouse"
         type=autops2             |  Option     "CorePointer"
         append=""                |  Option     "Device"   "/dev/mouse"
         sample_rate=             |  Option     "Protocol" "MouseManPlusPS/2"
                                  | EndSection
    

    If this approach is used, the mouse type adjustment is done by editing gpm.conf as well as adjusting X configuration.


    3.3.1.3 How to adjust to different mice

    The gpm device type autops2 is supposed to autodetect most of the PS/2 mice in the market. Unfortunately it doesn't always work and it isn't available in pre-Woody versions. Try using ps2, or imps2 in gpm.conf instead of autops2 for such cases. To find out the specific types of mouse gpm knows about, type: gpm -t help. See gpm(8).

    If a 2-button PS/2 mouse is used, set the X protocol to enable Emulate3Buttons. The difference of protocol between the 2-button mouse and the 3-button mouse is autodetected and auto-adjusted for gpm after tapping the middle button once.

    For X protocol with The raw protocol approach, Section 3.3.1.2 or without gpm, use:

    See more at Mouse Support in XFree86.

    A typical Microsoft scroll mouse is reported to work best with:

         /etc/gpm.conf            | /etc/X11/XF86Config-4
         =========================+======================================
         device=/dev/psaux        | Section "InputDevice"
         responsiveness=          |  Identifier "Configured Mouse"
         repeat_type=raw          |  Driver     "mouse"
         type=autops2             |  Option     "CorePointer"
         append=""                |  Option     "Device"   "/dev/mouse"
         sample_rate=             |  Option     "Protocol" "IMPS/2"
                                  |  Option     "Buttons" "5"
                                  |  Option  "ZAxisMapping" "4 5"
                                  | EndSection
    

    For some recent thin Toshiba notebook PCs, activating gpm before PCMCIA in the System-V init script may help prevent system lockup. Weird but true.


    3.3.2 USB mice

    Make sure you have all required kernel functions activated through kernel compile time configuration or modules:

    Here, lower case names are module names.

    If you're not using devfs, create a device node /dev/input/mice with major 13 and minor 63 as follows:

         # cd /dev
         # mkdir input
         # mknod input/mice c 13 63
    

    For typical scroll USB mice, configuration combinations should be:

         /etc/gpm.conf            | /etc/X11/XF86Config-4
         =========================+======================================
         device=/dev/input/mice   | Section "InputDevice"
         responsiveness=          |  Identifier "Generic Mouse"
         repeat_type=raw          |  Driver     "mouse"
         type=autops2             |  Option     "SendCoreEvents" "true"
         append=""                |  Option     "Device"   "/dev/input/mice"
         sample_rate=             |  Option     "Protocol" "IMPS/2"
                                  |  Option     "Buttons" "5"
                                  |  Option  "ZAxisMapping" "4 5"
                                  | EndSection
    

    See the Linux USB Project for more information.


    3.3.3 Touchpad

    Although the touchpad on a laptop computer emulates a 2-button PS/2 mouse as the default behavior, the tpconfig package enables full control of the device. For example, setting OPTIONS="--tapmode=0" in /etc/default/tpconfig will disable pesky "click by tap" behavior. Set /etc/gpm.conf as follows to use both touchpad and USB external mouse on the console:

         device=/dev/psaux
         responsiveness=
         repeat_type=ms3
         type=autops2
         append="-M -m /dev/input/mice -t autops2"
         sample_rate=
    

    3.4 NFS configuration

    Set up NFS by setting /etc/exports.

         # apt-get install nfs-kernel-server
         # echo "/ *.domainname-for-lan-hosts(rw,no_root_squash,nohide)" \
                 >> /etc/exports
    

    See my example scripts for details.


    3.5 Samba configuration

    References:

    Setting up Samba with "share" mode is much easier since this creates WfW-type share drives. But it is preferable to set it up with "user" mode.

    Samba can be configured through debconf or vi:

         # dpkg-reconfigure --priority=low samba # in Woody
         # vi /etc/samba/smb.conf
    

    See my example scripts for details.

    Adding a new user to the smbpasswd file can be done via smbpasswd:

         $ su -c "smbpasswd -a username"
    

    Make sure to use encrypted passwords for optimum compatibility.

    Set os level according to the following system equivalences (the larger the number, the higher the priority as server):

         0:      Samba with a loose attitude (will never become a master browser)
         1:      WfW 3.1, Win95, Win98, Win/Me?
         16:     Win NT WS 3.51
         17:     Win NT WS 4.0
         32:     Win NT SVR 3.51
         33:     Win NT SVR 4.0
         255:    Samba with mighty power
    

    Make sure that users are members of the group owning the directory that gives shared access and that the directory path has its execution bit set to access.


    3.6 Printer configuration

    The traditional method is lpr/lpd. There is a new CUPS™ system (Common UNIX Printing System). PDQ is another approach. See the Linux Printing HOWTO for more information.


    3.6.1 lpr/lpd

    For the lpr/lpd type spoolers (lpr, lprng, and gnulpr), set up /etc/printcap as follows if they are connected to a PostScript or text-only printer (the basics):

         lp|alias:\
                 :sd=/var/spool/lpd/lp:\
                 :mx#0:\
                 :sh:\
                 :lp=/dev/lp0:
    

    Meaning of the above lines:

    This is a good configuration if you are connected to a PostScript printer. Also, when printing from a Windows machine through Samba, this is a good configuration for any Windows-supported printer (no bidirectional communication is supported). You have to select the corresponding printer configuration on the Windows machine.

    If you do not have a PostScript printer, you need to set up a filtering system using gs. There are many autoconfiguration tools provided for setting up /etc/printcap. Any of these combinations is an option:

    In order to run GUI configuration tools such as printtool, see Getting root in X, Section 9.4.12 to gain root privilege. Printer spools created with printtool use gs and act like PostScript printers. So when accessing them, use PostScript printer drivers. On the Windows side, "Apple LaserWriter" is the standard one.


    3.6.2 CUPS™

    The Common UNIX Printing System (or CUPS™) is installed by using aptitude and installing all packages under "Tasks" -> "Servers" -> "Print Server". (Sarge) For the best result, you should set aptitude with "F10" -> "Options" -> "Dependency handling" -> "[X] Install Recommended packages automatically".

    KDE and Gnome Desktop Environments provide easy printer configuration. Alternatively, you can configure the system using any web browser if swat is installed:

         $ mybrowser http://localhost:631
    

    For example, to add your printer on some port to the list of accessible printers:

    See more information at http://localhost:631/documentation.html and http://www.cups.org/cups-help.html.


    3.7 CRON for desktop PCs

    The Vixie cron is installed as the default for the scheduled execution of programs. It does not function well unless your system is up 24/7. For the desktop use PC, you need to install anacron over cron to address this problem. fcron package may be used as alternative.

    See Schedule activity (cron, at), Section 8.6.27 for the configuration of CRON jobs.


    3.8 Other host installation hints


    3.8.1 Install a few more packages after initial install

    Once you have made it this far, you have a small but functioning Debian system. It is a good time to install bigger packages.

    Here the first thing you may want to do is select your favorite editor and any programs you need with aptitude. You can install many Emacs variants at the same time. See Popular editors, Section 11.1.

    Then, again with aptitude, select (almost) all packages under "Tasks" --> "End-user" to obtain very complete end-user oriented system.

    I usually edit /etc/inittab for easy shutdown.

         ...
         # What to do when CTRL-ALT-DEL is pressed.
         ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -h now
         ...
    

    3.8.2 Modules

    Modules for the device drivers are configured during the initial installation. modconf provides menu-driven module configuration afterward. This program is quite useful when some modules were left out during the initial installation or a new kernel was installed after the initial installation.

    All preloading module names need to be listed in /etc/modules. I also use lsmod and depmod to control them manually.

    Also make sure to add a few lines in /etc/modules to handle IP masquerading (FTP, etc.) if you did not enable it.


    3.8.3 CD-RW basic setup

    For IDE connected CD-RW drive with 2.4 kernel, edit the following files:

         /etc/lilo.conf  (add append="hdc=ide-scsi ignore=hdc", 
                          run lilo to activate)
         /dev/cdrom      (symlink # cd /dev; ln -sf scd0 cdrom)
         /etc/modules    (add "ide-scsi" and "sg". If needed "sr" after this.)
    

    See CD writers, Section 9.3 for details.


    3.8.4 Large memory and auto power-off

    Edit /etc/lilo.conf as follows to set boot-prompt parameters for large memory (for 2.2 kernels) and auto power-off (for APM):

         append="mem=128M apm=on apm=power-off noapic"
    

    Run lilo to install these settings. apm=power-off is needed for a SMP kernel and noapic is needed to avoid problems for my buggy SMP hardware. The same can be done directly by entering options at the boot prompt. See Other boot tricks with the boot prompt, Section 8.1.5.

    If APM is compiled as a module, as in Debian default 2.4 kernels, run insmod apm power_off=1 after boot or set /etc/modules by:

         # echo "apm power_off=1" >>/etc/modules
    

    Alternatively, compiling ACPI support achieves the same goal with newer kernels and seems to be more SMP-friendly (this requires a newer motherboard). The 2.4 kernel on newer motherboards should detect large memory correctly.

         CONFIG_PM=y
         CONFIG_ACPI=y
         ...
         CONFIG_ACPI_BUSMGR=m
         CONFIG_ACPI_SYS=m
    

    and add the following lines in /etc/modules in this order:

         ospm_busmgr
         ospm_system
    

    Or recompile the kernel with all of the kernel options above set to "y". In any case, none of the boot-prompt parameters are needed with ACPI.


    3.8.5 Strange access problems with some websites

    Recent Linux kernels enable ECN by default, which may cause access problems with some websites on bad routers. To check ECN status:

         # cat /proc/sys/net/ipv4/tcp_ecn
          ... or
         # sysctl net.ipv4.tcp_ecn
    

    To turn it off, use:

         # echo "0" > /proc/sys/net/ipv4/tcp_ecn
          ... or
         # sysctl -w net.ipv4.tcp_ecn=0
    

    To disable TCP ECN on every boot, edit /etc/sysctl.conf and add:

         net.ipv4.tcp_ecn = 0
    

    3.8.6 Dialup PPP configuration

    Install the pppconfig package to set up dialup PPP access.

         # apt-get install pppconfig
         # pppconfig
          ... follow the directions to configure dialup PPP
         # adduser user_name dip
          ... allow user_name to access dialup PPP
    

    Dialup PPP access can be initiated by the user (user_name):

         $ pon ISP_name  # start PPP access to your ISP
          ... enjoy the Internet
         $ poff ISP_name # stop PPP access, ISP_name optional
    

    See Configuring a PPP interface, Section 10.2.4 for more details.


    3.8.7 Other configuration files to tweak in /etc/

    You may want to add an /etc/cron.deny file, missing from the standard Debian install (you can copy /etc/at.deny).


    [ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ next ]


    Debian Reference

    CVS, Thu Jan 18 11:52:15 UTC 2007

    Osamu Aoki osamu#at#debian.org
    Authors, Section A.1