7. How To Do This or Find Out That...

Q: How Do I Find Out If a Notebook Runs Linux?
Q: How Do I Install Linux Using FTP?
Q: Can Can I Resume an Interrupted Download?
Q: How Do I Set the Boot-Time Configuration?
Q: How Do I Format Man Pages without man or groff?
Q: How To Scroll Backwards in Text Mode
Q: How To Get Email to Work
Q: Sendmail Pauses for Up to a Minute at Each Command
Q: How To Enable and Select Virtual Consoles
Q: How To Set the Time Zone
Q: Dial-up PPP Configuration
Q: What Version of Linux and What Machine Name Is This?
Q: What Is a ``[core]'' File?
Q: How To Enable or Disable Core Dumps
Q: How To Upgrade/Recompile a Kernel
Q: Can Linux Use More than 3 Serial Ports by Sharing Interrupts?
Q: Configuring Emacs's Default Settings
Q: How To Make a Rescue Floppy
Q: How To Remap a Keyboard to UK, French, Etc.
Q: How To Get NUM LOCK to Default to On
Q: How To Set (Or Reset) Initial Terminal Colors
Q: How To Have More Than 128Mb of Swap
Q: How To Prevent Errors when Linking Programs with Math Functions

A: There's no fixed answer to this question, because notebook hardware is constantly updated, and getting the X display, sound, PCMCIA, modem, and so forth, working, can take a good deal of effort.

Most notebooks currently on the market, for example, use "Winmodems," which often do not work with Linux because of their proprietary hardware interfaces. Even notebooks which are certified as "Linux compatible," may not be completely compatible.

Information about installing Winmodems in general is contained in the ERROR: LDP namespace resolution failure on Winmodems-and-Linux-HOWTO. (Refer to ``Where Is the Documentation?'')

You can find the most current information, or ask other users about their notebook experiences, on the linux-laptop mailing list, which is hosted by the vger.redhat.com server. (Refer to ``What Mailing Lists Are There?'')

A mailing list for Linux on IBM Thinkpads has its home page at http://www.topica.com/lists/linux-thinkpad/.

Another Thinkpad mailing list is hosted by http://www.bm-soft.com/. Send email with the word ``help'' in the body of the message to majordomo@www.bm-soft.com.

There is a Web page about Linux on IBM Thinkpads at http://peipa.essex.ac.uk/tp-linux/.

The Linux Laptop home page is at http://www.cs.utexas.edu/users/kharker/linux-laptop/.

For information about interfacing peripherals like Zip and CD-ROM drives through parallel ports, refer to the Linux Parallel Port Home Page, at http://www.torque.net/linux-pp.html.

If you need the latest version of the PCMCIA Card Services package, it is (or was) located at ftp://cb-iris.stanford.edu/pub/pcmcia/, but that host no longer seems to be available. Recent distributions are on ftp://metalab.unc.edu/pub/Linux/kernel/pcmcia/. You will also need to have the kernel source code installed as well. Be sure to read the ERROR: LDP namespace resolution failure on PCMCIA-HOWTO, which is included in the distribution.

A: Most distributions are too large and complex to make FTP installation practical. Installing a basic Linux system that doesn't have a GUI or major applications is possible with FTP, however. The main non-commercial distribution in use is Debian GNU/Linux, and this answer describes an installation of a basic Debian system, to which you can add other Linux applications and commercial software as necessary.

This answer describes installation on IBM-compatible machines with an Intel x86 or Pentium processor. You will need a machine with at least a 80386 processor, 8 Mb of memory, and about 100 Mb of disk space. More memory and a larger disk is necessary however, for practical everyday use.

For other hardware, substitute ``-arm,'' ``-ppc,'' ``-m68k,'' or other abbreviation in directory names for ``-i386.''

For detailed and hardware-specific information refer to: http://www.debian.org/releases/stable/.

  • Connect using anonymous FTP to ftp.debian.org and cd to the [pub/debian/dists/stable/main/disks-i386/current/] subdirectory.

  • Retrieve the binary image files for the rescue disk, and the drivers disk. Depending on the floppy drive installed on your machine, retrieve either the diskette images with "1200" in the names if you have a 1.2 Mb, 5.25-in. floppy, or the disks with "1440" in the name if the computer has a 3.25-in., 1.44 Mb floppy. Then retrieve the base system diskettes. Note that there are 7 base system images in the 1.44-Mb set (which have a ``14'' in their names) , and 9 in the 1.2-Mb set of images (which have a ``12'' in their names). You will use these to create the basic installation diskettes. If you have a Linux machine, you can use dd to write the images to the diskettes. If you are creating the installation diskettes on a MS-DOS machine, also download the [RAWRITE.EXE] MS-DOS utility, which will copy the raw binary images to floppy disks. Also download the [install.en.txt] document, which contains the detailed installation instructions.

  • Create the installation disk set on floppies using either dd under Linux (e.g.: ``dd if=resc1440.bin of=/dev/fd0''), or the [RAWRITE.EXE] utility under MS-DOS. Be sure to label each installation diskette.

  • Insert the rescue diskette into the floppy drive and reboot the computer. If all goes well, the Linux kernel will boot, and you will be able start the installation program by pressing Enter at the boot: prompt.

  • Follow the on-screen instructions for partitioning the hard disk, installing device drivers, the basic system software, and the Linux kernel. If the machine is connected to a local network, enter the network information when the system asks for it.

  • To install additional software over the Internet, be sure that you have installed the ppp module during the installation process, and run (as root) the [/usr/sbin/pppconfig] utility. You will need to provide your user name with your ISP, your password, the ISP's dial-up phone number, the address(es) of the ISP's Domain Name Service, and the serial port that your modem is connected to, [/dev/ttyS0] [/dev/ttyS3]. Be sure also to specify the defaultroute option to the PPP system, so the computer knows to use the PPP connection for remote Internet addresses.

  • You may have to perform additional configuration on the PPP scripts in the [/etc/ppp] subdirectory, and in particular, the ISP-specific script in the [/etc/ppp/peers] subdirectory. There are basic instructions in each script. For detailed information, refer to the Debian/GNU Linux installation instructions that you downloaded, the pppd manual page (type man pppd), and the PPP HOWTO from the Linux Documentation project, http://www.linuxdoc.org/.

  • Once you have a PPP connection established with your ISP (it will be displayed in the output of ifconfig), use the dselect program to specify which additional software you want to install. Use the apt [A]ccess option to retrieve packages via anonymous FTP, and make sure to use the [U]pdate option to retrieve a current list of packages from the FTP archive.

A: With the default US keymap, you can use Shift with the PgUp and PgDn keys. (The gray ones, not the ones on the numeric keypad.) With other keymaps, look in [/usr/lib/keytables]. You can remap the ScrollUp and ScrollDown keys to be whatever you like.

The screen program, http://vector.co.jp/vpack/browse/person/an010455.html provides a searchable scrollback buffer and the ability to take ``snapshots'' of text-mode screens.

Recent kernels that have the VGA Console driver can use dramatically more memory for scrollback, provided that the video card can actually handle 64 kb of video memory. Add the line:

 #define VGA_CAN_DO_64B 

to the start of the file [drivers/video/vgacon.c]. This feature may become a standard setting in future kernels. If the video frame buffer is also enabled in the kernel, this setting may not affect buffering.

In older kernels, the amount of scrollback is fixed, because it is implemented using the video memory to store the scrollback text. You may be able to get more scrollback in each virtual console by reducing the total number of VC's. See [linux/tty.h].

[Chris Karakas]

A: Make sure that Sendmail can resolve your hostname to a valid (i.e., parsable) domain address. If you are not connected to the Internet, or have a dial-up connection with dynamic IP addressing, add the fully qualified domain name to the /etc/hosts file, in addition to the base host name; e.g., if the host name is ``bilbo'' and the domain is ``bag-end.com:'' bilbo.bag-end.com bilbo 

And make sure that either the /etc/host.conf or /etc/resolv.conf file contains the line:

 order hosts,bind 

CautionDo not change the ``localhost'' entry in /etc/hosts, because many programs depend on it for internal message-passing.

Sendmail takes many factors into account when resolving domain addresses. These factors, collectively, are known as, ``rulesets,'' in sendmail jargon. The program does not require that a domain address be canonical, or even appear to be canonical. In the example above, ``bilbo.'' (note the period) would work just as well as ``bilbo.bag-end.com.'' This and other modifications apply mainly to recent versions.

Prior to version 8.7, sendmail required that the FQDN appear first in the [/etc/hosts] entry. This is due to changes in the envelope address masquerade options. Consult the sendmail documents.

If you have a domain name server for only a local subnet, make sure that ``.'' refers to a SOA record on the server machine, and that reverse lookups (check by using nslookup) work for all machines on the subnet.

Finally, FEATURE configuration macro options like nodns, always_add_domain, and nocanonify, control how sendmail interprets host names.

The document, Sendmail: Installation and Operation Guide, included in the doc/ subdirectory of Sendmail source code distributions, discusses briefly how Sendmail resolves Internet addresses. Sendmail source code archives are listed at: http://www.sendmail.org/

[Chris Karakas]

A: This information is mainly for people who do not have a wrapper utility like kppp or pppconfig, or are not able to get those utilities to work correctly. If you need to manually configure PPP to dial in to your ISP, you will need the following information:

That is all of the configuration you need. To actually start and stop PPP, there are often [/usr/bin/pon] and [/usr/bin/poff] scripts (in Debian), or something similar, and they are usually very simple, and only contain the command:

 $ /usr/sbin/pppd call ${1:-provider} 

This will start pppd and use the call option to call the server that you type on the command line, or the provider given in the [/etc/ppp/peers/provider] file if you do not specify a remote server. After making the call and logging in (about 30 seconds), you should be able to use the [/sbin/ifconfig] program to determine that the connection really did establish a PPP interface (the first will be [ppp0], the second will be [ppp1], etc., depending on how many simultaneous PPP connections you have. If something goes wrong, you can look at the [/var/log/ppp.log] file to determine what happened. You can also view the log as the connection is being made, by ``tailing'' it in another window; that is, viewing it as pppd logs the connection's status information. To do this, use the command (again, as root):

 $ tail -f /var/log/ppp.log 

On some systems the PPP output is directed to [/var/log/messages], in which case your system may not have a dedicated PPP log file.

You should be also able to ping one of your ISP's domain names (e.g., mail.isp.com) and receive a response.

These are the most basic steps for configuring a PPP connection. You will also need to take into account what other network connections may be present (for example, if there's an Ethernet connection that has already been assigned the default route), as well as various security measures at your ISP's end. If you're having trouble making the dial-up connection, usually the best way to determine what may be going wrong is to use Seyon, minicomm, kermit, or some other program to dial and log in manually to the ISP, and determine just exactly what you have to do to log in, then duplicate that in the PPP scripts.

Most Linux documentation also has additional instructions for configuring PPP connections. Refer to (``'') (``Where Is the Documentation?'')

A: See the Kernel HOWTO or the [README] files which come with the kernel release on ftp.cs.helsinki.fi/pub/Software/Linux/Kernel/ and mirrors. (See ``'') You may already have a version of the kernel source code installed on your system, but if it is part of a standard distribution it is likely to be somewhat out of date (this is not a problem if you only want a custom configured kernel, but it probably is if you need to upgrade.)

With newer kernels you can (and should) make all of the following targets. Don't forget that you can specify multiple targets with one command.

 $ make clean dep install modules modules_install 

Also remember to update the module dependencies.

 $ depmod -a 

This command can be run automatically at boot time. On Debian/GNU Linux systems, the command is part of the [/etc/init.d/modutils] script, and can be linked appropriately in the [/etc/rc]x[.d/] directories. For more information on depmod, see the manual page.

Make sure you are using the most recent version of the modutils utilities, as well as all other supporting packages. Refer to the file [Documentation/Changes] in the kernel source tree for specifics, and be sure to consult the [README] file in the modutils package.

Remember that to make the new kernel boot you must run lilo after copying the kernel into your root partition. The Makefile in some kernels have a special zlilo target for this; try:

 $ make zlilo 

On current systems, however, you can simply copy the [zImage] or [bzImage] file (in [arch/i386/boot/] to the [/boot/] directory on the root file system, or to a floppy using the dd command. Refer also to the question, How do I get LILO to boot the kernel image?

Kernel version numbers with an odd minor version (ie, 1.1.x, 1.3.x) are the testing releases; stable production kernels have even minor versions (1.0.x, 1.2.x). If you want to try the testing kernels you should probably subscribe to the linux-kernel mailing list. (``What Mailing Lists Are There?'')

The Web site http://www.kernelnotes.org/ has lots of information and links to other sites that provide information about Linux kernel updates.

Also refer to the questions, ``Why Doesn't My PCMCIA Card Work after Upgrading the Kernel?'' and ``How Do I Get LILO to Boot the Kernel Image?''

A: Create a file in your home directory named [.emacs] with the Emacs Lisp commands that you want to run every time Emacs starts up. You won't see the file in the directory listing. (The leading '.' tells ls not to display it, unless you use the -a command line switch with ls.)

Any kind of Emacs Lisp statement will work in the [.emacs] file, including entire defuns. Emacs uses lisp variables and statements extensively, and many of the editing functions are written in Emacs Lisp. For example, to enable word wrapping whenever you edit a file that ends with [.txt], add the following statement. This is from the Emacs Texinfo help document ( F1-i, then m Emacs Return):

 (add-hook text-mode-hook

         '(lambda () (auto-fill-mode1)))

This adds a statement that calls a hook function whenever a text editing mode is entered for that buffer. The value of text-mode-hook, which is a variable, to auto-fill-mode, which is a function.

If you want to turn off the menu bar at the top of each Emacs frame, add this statement:

 (menu-bar-mode -1)

And if you want to include an Emacs Lisp program that someone has written, like [msb.el] (an enhanced, pop-up buffer menu), make sure the lisp file is in a directory where Emacs can find it (usually it will be named Site-lisp), and add these statements in the [.emacs] file:

 (require 'msb)

  (msb-mode 1) 

Most tasks have several possible solutions in Emacs Lisp. Any task that can be programmed in Emacs Lisp is valid in the [.emacs] file. For more information, consult the Texinfo documentation. There is also a FAQ list for Emacs (refer to: What other FAQ's are there for Linux? ).