Installing Debian GNU/Linux 2.2 For Motorola 680x0 -------------------------------------------------- Bruce Perens Sven Rudolph Igor Grobman James Treacy Adam Di Carlo version 2.2.27, 14 October, 2001 ------------------------------------------------------------------------------- Abstract -------- This document contains installation instructions for the Debian GNU/Linux 2.2 system, for the Motorola 680x0 (``m68k'') architecture. It also contains pointers to more information and information on how to make the most of your new Debian system. The procedures in this document are _not_ to be used for users upgrading existing systems; if you are upgrading, see the Release Notes for Debian 2.2 (http://www.debian.org/releases/2.2/m68k/release-notes/). Copyright Notice ---------------- This document may be distributed and modified under the terms of the GNU General Public License. (C) 1996 Bruce Perens (C) 1996, 1997 Sven Rudolph (C) 1998 Igor Grobman, James Treacy (C) 1998--2001 Adam Di Carlo This manual is free software; you may redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This manual is distributed in the hope that it will be useful, but _without any warranty_; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details. A copy of the GNU General Public License is available as `/usr/doc/copyright/GPL' in the Debian GNU/Linux distribution or on the World Wide Web at the GNU website (http://www.gnu.org/copyleft/gpl.html). You can also obtain it by writing to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. We require that you properly attribute Debian and the authors of this document on any materials derived from this document. If you modify and improve this document, we request that you notify the authors of this document, via . ------------------------------------------------------------------------------- Contents -------- 1. Welcome to Debian 1.1. What is Debian? 1.2. What is GNU/Linux? 1.3. What is Debian GNU/Linux? 1.4. What is Debian GNU/Hurd? 1.5. Getting Debian 1.6. Getting the Newest Version of This Document 1.7. Organization of This Document 1.8. WARNING: This Document Has Known Problems 1.9. About Copyrights and Software Licenses 2. System Requirements 2.1. Supported Hardware 2.2. Installation Media 2.3. Memory and Disk Space Requirements 2.4. Peripherals and Other Hardware 2.5. Purchasing Hardware Specifically for GNU/Linux 3. Before You Start 3.1. Backups 3.2. Information You Will Need 3.3. Pre-installation Hardware and Operating System Setup 4. Partitioning Your Hard Drive 4.1. Background 4.2. Planning Use of the System 4.3. Device Names in Linux 4.4. Recommended Partitioning Scheme 4.5. Example Partitioning 4.6. Partitioning Prior to Installation 5. Methods for Installing Debian 5.1. Overview of the Installation Process 5.2. Choosing the Right Installation Set 5.3. Installation Sources for Different Installation Stages 5.4. Description of Installation System Files 5.5. TFTP 5.6. Diskettes 5.7. CD-ROM 5.8. Hard Disk 5.9. Installing from NFS 6. Booting the Installation System 6.1. Boot Parameter Arguments 6.2. Interpreting the Kernel Startup Messages 6.3. Booting from a Hard Disk 6.4. Booting and/or Installing from a CD-ROM 6.5. Booting from TFTP 6.6. Troubleshooting the Boot Process 7. Using `dbootstrap' for Initial System Configuration 7.1. Introduction to `dbootstrap' 7.2. ``Release Notes'' 7.3. ``Debian GNU/Linux Installation Main Menu'' 7.4. ``Configure the Keyboard'' 7.5. Last Chance! 7.6. ``Partition a Hard Disk'' 7.7. ``Initialize and Activate a Swap Partition'' 7.8. ``Initialize a Linux Partition'' 7.9. ``Mount a Previously-Initialized Partition'' 7.10. Mounting Partitions Not Supported by `dbootstrap' 7.11. ``Install Operating System Kernel and Modules'' 7.12. ``Configure Device Driver Modules'' 7.13. ``Configure the Network'' 7.14. ``Install the Base System'' 7.15. ``Configure the Base System'' 7.16. ``Make Linux Bootable Directly From Hard Disk'' 7.17. ``Make a Boot Floppy'' 7.18. The Moment of Truth 7.19. Debian Post-Boot (Base) Configuration 7.20. MD5 Passwords 7.21. Shadow Passwords 7.22. Set the Root Password 7.23. Create an Ordinary User 7.24. Setting Up PPP 7.25. Configuring APT 7.26. Package Installation: Simple or Advanced 7.27. Simple Package Selection -- The Task Installer 7.28. Advanced Package Selection with `dselect' 7.29. Log In 8. Next Steps and Where to Go From Here 8.1. If You Are New to Unix 8.2. Orienting Yourself to Debian 8.3. Further Reading and Information 8.4. Compiling a New Kernel 9. Technical Information on the Boot Floppies 9.1. Source Code 9.2. Rescue Floppy 9.3. Replacing the Rescue Floppy Kernel 9.4. The Base Floppies 10. Appendix 10.1. Further Information and Obtaining Debian GNU/Linux 10.2. Linux Devices 11. Administrivia 11.1. About This Document 11.2. Contributing to This Document 11.3. Major Contributions 11.4. Trademark Acknowledgement ------------------------------------------------------------------------------- 1. Welcome to Debian -------------------- We are delighted that you have decided to try Debian, and sure that you will find that Debian's GNU/Linux distribution is unique. Debian GNU/Linux brings together high-quality free software from around the world, integrating it into a coherent whole. We believe that you will find that the result is truly more than the sum of the parts. This chapter provides an overview of the Debian Project and Debian GNU/Linux. If you already know about the Debian Project's history and the Debian GNU/Linux distribution, feel free to skip to the next chapter. 1.1. What is Debian? -------------------- Debian is an all-volunteer organization dedicated to developing free software and promoting the ideals of the Free Software Foundation. The Debian Project began in 1993, when Ian Murdock issued an open invitation to software developers to contribute to a complete and coherent software distribution based on the relatively new Linux kernel. That relatively small band of dedicated enthusiasts, originally funded by the Free Software Foundation (http://www.gnu.org/fsf/fsf.html) and influenced by the GNU (http://www.gnu.org/) philosophy, has grown over the years into an organization of around 500 _Debian Developers_. Debian Developers are involved in a variety of activities, including Web (http://www.debian.org/) and FTP (ftp://ftp.debian.org/) site administration, graphic design, legal analysis of software licenses, writing documentation, and, of course, maintaining software packages. In the interest of communicating our philosophy and attracting developers who believe in the principles that Debian stands for, the Debian Project has published a number of documents that outline our values and serve as guides to what it means to be a Debian Developer: * The Debian Social Contract (http://www.debian.org/social_contract) is a statement of Debian's commitments to the Free Software Community. Anyone who agrees to abide to the Social Contract may become a maintainer (http://www.debian.org/doc/maint-guide/). Any maintainer can introduce new software into Debian --- provided that the software meets our criteria for being free, and the package follows our quality standards. * The Debian Free Software Guidelines (http://www.debian.org/social_contract#guidelines) are a clear and concise statement of Debian's criteria for free software. The DFSG is a very influential document in the Free Software Movement, and was the foundation of the Open Source Free Software Guidelines (http://opensource.org/osd.html). * The Debian Policy Manual (http://www.debian.org/doc/debian-policy/) is an extensive specification of the Debian Project's standards of quality. Debian developers are also involved in a number of other projects; some specific to Debian, others involving some or all of the Linux community. Some examples include: * The Linux Standard Base (http://www.linuxbase.org/) (LSB) is a project aimed at standardizing the basic GNU/Linux system, which will enable third-party software and hardware developers to easily design programs and device drivers for Linux-in-general, rather than for a specific GNU/Linux distribution. * The Filesystem Hierarchy Standard (http://www.pathname.com/fhs/) (FHS) is an effort to standardize the layout of the Linux filesystem. The FHS will allow software developers to concentrate their efforts on designing programs, without having to worry about how the package will be installed in different GNU/Linux distributions. * Debian Jr. (http://www.debian.org/devel/debian-jr/) is an internal project, aimed at making sure Debian has something to offer to our youngest users. For more general information about Debian, see the Debian FAQ (http://www.debian.org/doc/FAQ/). 1.2. What is GNU/Linux? ----------------------- The GNU Project has developed a comprehensive set of free software tools for use with Unix(TM) and Unix-like operating systems such as Linux. These tools enable users to perform tasks ranging from the mundane (such as copying or removing files from the system) to the arcane (such as writing and compiling programs or doing sophisticated editing in a variety of document formats). An operating system consists of various fundamental programs which are needed by your computer so that it can communicate and receive instructions from users; read and write data to hard disks, tapes, and printers; control the use of memory; and run other software. The most important part of an operating system is the kernel. In a GNU/Linux system, Linux is the kernel component. The rest of the system consists of other programs, many of which were written by or for the GNU Project. Because the Linux kernel alone does not form a working operating system, we prefer to use the term ``GNU/Linux'' to refer to systems that many people casually refer to as ``Linux''. The Linux kernel (http://www.kernel.org/) first appeared in 1991, when a Finnish computing science student named Linus Torvalds announced an early version of a replacement kernel for Minix to the Usenet newsgroup `comp.os.minix'. See Linux International's Linux History Page (http://www.li.org/linuxhistory.php). Linus Torvalds continues to coordinate the work of several hundred developers with the help of a few trusty deputies. An excellent weekly summary of discussions on the `linux-kernel' mailing list is Kernel Traffic (http://kt.linuxcare.com/kernel-traffic/). More information about the `linux-kernel' mailing list can be found on the linux-kernel mailing list FAQ (http://www.tux.org/lkml/). 1.3. What is Debian GNU/Linux? ------------------------------ The combination of Debian's philosophy and methodology and the GNU tools, the Linux kernel, and other important free software, form a unique software distribution called Debian GNU/Linux. This distribution is made up of a large number of software _packages_. Each package in the distribution contains executables, scripts, documentation, and configuration information, and has a _maintainer_ who is primarily responsible for keeping the package up-to-date, tracking bug reports, and communicating with the upstream author(s) of the packaged software. Our extremely large user base, combined with our bug tracking system ensures that problems are found and fixed quickly. Debian's attention to detail allows us to produce a high-quality, stable, and scalable distribution. Installations can be easily configured to serve many roles, from stripped-down firewalls to desktop scientific workstations to high-end network servers. The feature that most distinguishes Debian from other GNU/Linux distributions is its package management system. These tools give the administrator of a Debian system complete control over the packages installed on that system, including the ability to install a single package or automatically update the entire operating system. Individual packages can also be protected from being updated. You can even tell the package management system about software you have compiled yourself and what dependencies it fulfills. To protect your system against ``trojan horses'' and other malevolent software, Debian's servers verify that uploaded packages come from their registered Debian maintainers. Debian packagers also take great care to configure their packages in a secure manner. When security problems in shipped packages do appear, fixes are usually available very quickly. With Debian's simple update options, security fixes can be downloaded and installed automatically across the Internet. The primary, and best, method of getting support for your Debian GNU/Linux system and communicating with Debian Developers is through the many mailing lists maintained by the Debian Project (there are more than 90 at this writing). The easiest way to subscribe to one or more of these lists is visit Debian's mailing list subscription page (http://www.debian.org/MailingLists/subscribe) and fill out the form you'll find there. 1.4. What is Debian GNU/Hurd? ----------------------------- Debian GNU/Hurd is a Debian GNU system that replaces the Linux monolithic kernel with the GNU Hurd --- a set of servers running on top of the GNU Mach microkernel. The Hurd is still unfinished, and is unsuitable for day-to-day use, but work is continuing. The Hurd is currently only being developed for the i386 architecture, although ports to other architectures will be made once the system becomes more stable. For more information, see the Debian GNU/Hurd ports page (http://www.debian.org/ports/hurd/) and the mailing list. 1.5. Getting Debian ------------------- For information on how to download Debian GNU/Linux from the Internet or from whom official Debian CDs can be purchased, see the distribution web page (http://www.debian.org/distrib/). The list of Debian mirrors (http://www.debian.org/distrib/ftplist) contains a full set of official Debian mirrors. Debian can be upgraded after installation very easily. The installation procedure will help setup up the system so that you can make those upgrades once installation is complete, if need be. 1.6. Getting the Newest Version of This Document ------------------------------------------------ This document is constantly being revised. Be sure to check the Debian 2.2 pages (http://www.debian.org/releases/2.2/) for any last-minute information about the 2.2 release of the Debian GNU/Linux system. Updated versions of this installation manual are also available from the official Install Manual pages (http://www.debian.org/releases/2.2/m68k/install). 1.7. Organization of This Document ---------------------------------- This document is meant to serve as a manual for first-time Debian users. It tries to make as few assumptions as possible about your level of expertise. However, we do assume that you have a general understanding of how the hardware in your computer works. Expert users may also find interesting reference information in this document, including minimum installation sizes, details about the hardware supported by the Debian installation system, and so on. We encourage expert users to jump around in the document. In general, this manual is arranged in a linear fashion, walking you through the installation process from start to finish. Here are the steps in installing Debian GNU/Linux, and the sections of this document which correlate with each step: 1. Determine whether your hardware meets the requirements for using the installation system, in Chapter 2, `System Requirements'. 2. Backup your system, and perform any necessary planning and hardware configuration prior to installing Debian, in Chapter 3, `Before You Start'. 3. Getting the partitions on your system set up correctly is very important, because once you've done the install, you may have to live with your choices for a long time. 4. In Chapter 5, `Methods for Installing Debian', several different ways to install Debian are presented and discussed. Select your favorite method and prepare your installation media as described. 5. Chapter 6, `Booting the Installation System', describes booting into the installation system. This chapter also discusses troubleshooting procedures in case you have problems with this step. 6. Perform the initial system configuration, which is discussed in Chapter 7, `Using `dbootstrap' for Initial System Configuration' (Sections Section 7.1, `Introduction to `dbootstrap'' through Section 7.13, ```Configure the Network'''). 7. Section 7.14, ```Install the Base System'''. 8. Boot into your newly installed base system and run through some additional configuration tasks, from Section 7.18, `The Moment of Truth'. 9. Install the rest of the system, using `dselect' or `apt-get', in Section 7.26, `Package Installation: Simple or Advanced'. Once you've got your system installed, you can read Chapter 8, `Next Steps and Where to Go From Here'. That chapter explains where to look to find more information about Unix and Debian, and how to replace your kernel. If you want to build your own install system from source, be sure to read Chapter 9, `Technical Information on the Boot Floppies'. Finally, information about this document and how to contribute to it may be found in Chapter 11, `Administrivia'. 1.8. WARNING: This Document Has Known Problems ---------------------------------------------- This document is still in a rather rough form. It is known to be incomplete, and probably also contains errors, grammatical problems, and so forth. If you see the words ``FIXME'' or ``TODO'', you can be sure we already know that section is not complete. As usual, _caveat emptor_ (buyer beware). Any help, suggestions, and, especially, patches, would be greatly appreciated. The non-x86 versions of this document may be particularly incomplete, inaccurate, and untested. Your help is definitely wanted! Working versions of this document can be found at http://www.debian.org/releases/2.2/m68k/install. There you will find a list of all the different architectures and languages for which this document is available. Source is also available publicly; look for more information concerning how to contribute in Chapter 11, `Administrivia'. We welcome suggestions, comments, patches, and bug reports (use the package `boot-floppies', but check first to see if the problem is already reported). 1.9. About Copyrights and Software Licenses ------------------------------------------- We're sure that you've read some of the licenses that come with most commercial software --- they usually say that you can only use one copy of the software on a single computer. The Debian GNU/Linux system's license isn't like that at all. We encourage you to put a copy of Debian GNU/Linux on every computer in your school or place of business. Lend your installation media to your friends and help them install it on their computers! You can even make thousands of copies and _sell_ them --- albeit with a few restrictions. Your freedom to install and use the system comes directly from Debian being based on _free software_. Calling software ``free'' doesn't mean that the software isn't copyrighted, and it doesn't mean that CDs containing that software must be distributed at no charge. Free software, in part, means that the licenses of individual programs do not require you to pay for the privilege of distributing or using those programs. Free software also means that not only may anyone extend, adapt, and modify the software, but that they may distribute the results of their work as well.[1] Many of the programs in the system are licensed under the _GNU_ _General Public License_, often simply referred to as ``the GPL''. The GPL requires you to make the _source code_ of the programs available whenever you distribute a binary copy of the program; that provision of the license ensures that any user will be able to modify the software. Because of this provision, the source code for all such programs is available in the Debian system.[2] There are several other forms of copyright statements and software licenses used on the programs in Debian. You can find the copyrights and licenses for every package installed on your system by looking in the file `/usr/doc//copyright' once you've installed a package on your system. For more information about licenses and how Debian determines whether software is free enough to be included in the main distribution, see the Debian Free Software Guidelines (http://www.debian.org/social_contract#guidelines). The most important legal notice is that this software comes with _no warranties_. The programmers who have created this software have done so for the benefit of the community. No guarantee is made as to the suitability of the software for any given purpose. However, since the software is free, you are empowered to modify that software to suit your needs --- and to enjoy the benefits of the changes made by others who have extended the software in this way. [1] Note that the Debian project, as a pragmatic concession to its users, does make some packages available that do not meet our criteria for being free. These packages are not part of the official distribution, however, and are only available from the `contrib' or `non-free' areas of Debian mirrors or on third-party CD-ROMs; see the Debian FAQ (http://www.debian.org/doc/FAQ/), under ``The Debian FTP archives'', for more information about the layout and contents of the archives. [2] For information on how to locate, unpack, and build binaries from Debian source packages, see the Debian FAQ (http://www.debian.org/doc/FAQ/), under ``Basics of the Debian Package Management System''. ------------------------------------------------------------------------------- 2. System Requirements ---------------------- This section contains information about what hardware you need to get started with Debian. You will also find links to further information about hardware supported by GNU and Linux. 2.1. Supported Hardware ----------------------- Debian does not impose hardware requirements beyond the requirements of the Linux kernel and the GNU tool-sets. Therefore, any architecture or platform to which the Linux kernel, libc, `gcc', etc. have been ported, and for which a Debian port exists, can run Debian. There are, however, some limitations in our boot floppy set with respect to supported hardware. Some Linux-supported platforms might not be directly supported by our boot floppies. If this is the case, you may have to create a custom rescue disk (see Section 9.3, `Replacing the Rescue Floppy Kernel'), or investigate network installations. Rather than attempting to describe all the different hardware configurations which are supported for Motorola 680x0, this section contains general information and pointers to where additional information can be found. 2.1.1. Supported Architectures ------------------------------ Debian 2.2 supports six architectures: Intel x86-based architectures; Motorola 680x0 machines such as Atari, Amiga, and Macintoshes; DEC Alpha machines; Sun SPARC machines; ARM and StrongARM machines; and some IBM/Motorola PowerPC machines, including CHRP, PowerMac and PReP machines. These are referred to as _i386_, _m68k_, _alpha_, _sparc_, _arm_, and _powerpc_, respectively. This document covers installation for the _m68k_ architecture. If you look for information on other architectures take a look at the Debian-Ports (http://www.debian.org/ports/) pages. 2.1.2. CPU, Mainboards, and Video Support ----------------------------------------- Complete information concerning supported M68000 based (_m68k_) systems can be found at the Linux/m68k FAQ (http://www.linux-m68k.org/faq/faq.html). This section merely outlines the basics. The m68k port of Linux runs on any 680x0 with a PMMU (Paged Memory Management Unit) and a FPU (floating-point unit). This includes the 68020 with an external 68851 PMMU, the 68030, and better, and excludes the ``EC'' line of 680x0 processors. See the Linux/m68k FAQ (http://www.linux-m68k.org/faq/faq.html) for complete details. There are four major flavors of supported _m68k_ flavors: Amiga, Atari, Macintosh and VME machines. Amiga and Atari were the first two systems to which Linux was ported; in keeping, they are also the two most well-supported Debian ports. The Macintosh line is supported incompletely, both by Debian and by the Linux kernel; see Linux m68k for Macintosh (http://www.mac.linux-m68k.org/) for project status and supported hardware. The BVM and Motorola single board VMEbus computers are the most recent addition to the list of machines supported by Debian. Ports to other m68k architectures, such as the Sun3 architecture and NeXT black box, are underway but not yet supported by Debian. Please see the additional documentation which is available: http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/install.doc http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/install.doc.info http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/atari/install.doc http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/bvme6000/install.txt http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mac/debian-mac.txt http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mvme147/install.txt http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mvme16x/install.txt separate Motorola 680x0 documentation 2.2. Installation Media ----------------------- There are four different media which can be used to install Debian: floppies, CD-ROMs, local disk partitions, or the network. Different parts of the same Debian installation can mix and match these options; we'll go into that in Chapter 5, `Methods for Installing Debian'. Floppy disk installation is a common option, although generally, the least desirable. In many cases, you'll have to do your first boot from floppies, using the Rescue Floppy. Generally, all you will need is a high-density (1440 kilobytes) 3.5 inch floppy drive. Low-density installation floppies (720 k) are also provided for Ataris. CD-ROM based installation is also supported for some architectures. On machines which support bootable CD-ROMs, you should be able to do a completely floppy-less installation. Even if your system doesn't support booting from a CD-ROM, you can use the CD-ROM in conjunction with the other techniques to install your system, once you've booted up by other means; see Section 6.4, `Booting and/or Installing from a CD-ROM'. Installation from local disk is another option. If you have free space on partitions other than the partitions you're installing to, this is definitely a good option. Some platforms even have local installers, i.e., for booting from AmigaOS, TOS, or MacOS. In fact, installation from your local disk is the preferred installation technique for most m68k machines. The last option is network installation. You can install your base system via HTTP or NFS. You can also _boot_ your system over the network. Diskless installation, using network booting and NFS-mounting of all local filesystems, is another option -- you'll probably need at least 16MB of RAM for this option. After your base system is installed, you can install the rest of your system via any sort of network connection (including PPP), via FTP, HTTP, or NFS. More complete descriptions of these methods, and helpful hints for picking which method is best for you, can be found in Chapter 5, `Methods for Installing Debian'. Please be sure to continue reading to make sure the device you intend to boot and install from is supported by the Debian installation system. 2.2.1. Supported Storage Systems -------------------------------- The Debian boot disks contain a kernel which is built to maximize the number of systems it runs on. Unfortunately, this makes for a larger kernel, with a lot of drivers which will never be used (see Section 8.4, `Compiling a New Kernel' to learn how to build your own). However, support for the widest possible range of devices is desirable in order to ensure that Debian can be installed on the widest array of hardware. Pretty much all storage systems supported by the Linux kernel are supported by the Debian installation system. Note that the current Linux kernel does not support floppies on the Macintosh at all, and the Debian installation system doesn't support floppies for Amigas. Also supported on the Atari is the Macintosh HFS system, and AFFS as a module. Macs support the Atari (FAT) filesystem. Amigas support the FAT filesystem, and HFS as a module. 2.3. Memory and Disk Space Requirements --------------------------------------- You must have at least 5MB of memory and 64MB of hard disk. If you want to install a reasonable amount of software, including the X Window System, and some development programs and libraries, you'll need at least 300MB. For a more or less complete installation, you'll need around 800MB. To install _everything_ available in Debian, you'll probably need around 2 GB. Actually, installing everything doesn't even make sense, since some packages conflict with others. On the Amiga the size of FastRAM is relevant towards the total memory requirements. Also, using Zorro cards with 16-bit RAM is not supported; you'll need 32-bit RAM. The `amiboot' program can be used to disable 16-bit RAM; see the Linux/m68k FAQ (http://www.linux-m68k.org/faq/faq.html). Recent kernels should disable 16-bit RAM automatically. On the Atari, both ST-RAM and Fast RAM (TT-RAM) are used by Linux. Many users have reported problems running the kernel itself in Fast RAM, so the Atari bootstrap will place the kernel in ST-RAM. The minumum requirement for ST-RAM is 2 MB. On the Macintosh, care should be taken on machines with RAM-based video (RBV). The RAM segment at physical address 0 is used as screen memory, making the default load position for the kernel unavailable. The alternate RAM segment used for kernel and ramdisk must be at least 4 MB. _FIXME: is this still true?_ 2.4. Peripherals and Other Hardware ----------------------------------- Linux supports a large variety of hardware devices such as mice, printers, scanners, modems, network cards, PCMCIA devices, etc. However, none of these devices are required while installing the system. This section contains information about peripherals specifically _not_ supported by the installation system, even though they may be supported by Linux. Any network interface card (NIC) supported by the Linux kernel should also be supported by the boot disks. You may need to load your network driver as a module. Again, see Linux/m68k FAQ (http://www.linux-m68k.org/faq/faq.html) for complete details. 2.5. Purchasing Hardware Specifically for GNU/Linux --------------------------------------------------- There are several vendors, now, who ship systems with Debian or other distributions of GNU/Linux pre-installed. You might pay more for the privilege, but it does buy a level of peace of mind, since you can be sure that the hardware is well-supported by GNU/Linux. Unfortunately, it's quite rare to find any vendor shipping new Motorola 680x0 machines at all. Whether or not you are purchasing a system with Linux bundled, or even a used system, it is still important to check that your hardware is supported by the Linux kernel. Check if your hardware is listed in the references found above. Let your salesperson (if any) know that you're shopping for a Linux system. Support Linux-friendly hardware vendors. 2.5.1. Avoid Proprietary or Closed Hardware ------------------------------------------- Some hardware manufacturers simply won't tell us how to write drivers for their hardware. Others won't allow us access to the documentation without a non-disclosure agreement that would prevent us from releasing the Linux source code. One example is the IBM laptop DSP sound system used in recent ThinkPad systems -- some of these systems also couple the sound system to the modem. Another example is the proprietary hardware in the older Macintosh line. In fact, no specifications or documentation have ever been released for any Macintosh hardware, most notably the ADB controller (used by the mouse and keyboard), the floppy controller, and all acceleration and CLUT manipulation of the video hardware (though we do now support CLUT manipulation on nearly all internal video chips). In a nutshell, this explains why the Macintosh Linux port lags behind other Linux ports. Since we haven't been granted access to the documentation on these devices, they simply won't work under Linux. You can help by asking the manufacturers of such hardware to release the documentation. If enough people ask, they will realize that the free software community is an important market. ------------------------------------------------------------------------------- 3. Before You Start ------------------- 3.1. Backups ------------ Before you start, make sure to back up every file that is now on your system. The installation procedure can wipe out all of the data on a hard disk! The programs used in installation are quite reliable and most have seen years of use; still, a false move can cost you. Even after backing up be careful and think about your answers and actions. Two minutes of thinking can save hours of unnecessary work. Even if you are installing a multi-boot system, make sure that you have on hand the distribution media of any other present operating systems. Especially if you repartition your boot drive, you might find that you have to reinstall your operating system's boot loader, or in some cases (i.e., Macintosh), the whole operating system itself. With the exception of the BVM and Motorola VMEbus computers, the only supported installation method for m68k systems is booting from a local disk or floppy using an AmigaOS/TOS/MacOS-based bootstrap, for these machines you will need the original operating system in order to boot Linux. In order to boot Linux on the BVM and Motorola VMEbus machines you will need the ``BVMBug'' or ``16xBug'' boot ROMs. 3.2. Information You Will Need ------------------------------ Besides this document, you'll need the atari-fdisk (atari-fdisk.txt) manual page, the amiga-fdisk (amiga-fdisk.txt) manual page, the mac-fdisk (mac-fdisk.txt) manual page, the pmac-fdisk (pmac-fdisk.txt) manual page, the dselect Tutorial (dselect-beginner), and the Linux/m68k FAQ (http://www.linux-m68k.org/faq/faq.html). If your computer is connected to a network 24 hours a day (i.e., an Ethernet or equivalent connection -- not a PPP connection), you should ask your network's system administrator for this information: * Your host name (you may be able to decide this on your own). * Your domain name. * Your computer's IP address. * The IP address of your network. * The netmask to use with your network. * The broadcast address to use on your network. * The IP address of the default gateway system you should route to, if your network _has_ a gateway. * The system on your network that you should use as a DNS (Domain Name Service) server. * Whether you connect to the network using Ethernet. If your computer's only network connection is via a serial line, using PPP or an equivalent dialup connection, you are probably not installing the base system over a network. You don't need to worry about getting your network setup until your system is already installed. See Section 7.24, `Setting Up PPP' below for information on setting up PPP under Debian. 3.3. Pre-installation Hardware and Operating System Setup --------------------------------------------------------- There is sometimes some tweaking to your system that must be done prior to installation. The x86 platform is the most notorious of these; pre-installation hardware setup on other architectures is considerably simpler. This section will walk you through pre-installation hardware setup, if any, that you will need to do prior to installing Debian. Generally, this involves checking and possibly changing firmware settings for your system. The ``firmware'' is the core software used by the hardware; it is most critically invoked during the bootstrap process (after power-up). 3.3.1. Firmware Revisions and Existing OS Setup ----------------------------------------------- Motorola 680x0 machine are generally self-configuring and do not require firmware configuration. However, you should make sure that you have the appropriate ROM and system patches. On the Macintosh, MacOS version >= 7.1 is recommended because version 7.0.1 contains a bug in the video drivers preventing the booter from deactivating the video interrupts, resulting in a boot hang. The Amiga bootstrap requires `ixemul.library', a version of which is distributed on the CD-ROM. On the BVM VMEbus systems you should make sure you are using BVMBug revision G or higher boot ROMs. The BVMBug boot ROMs do not come as standard on the BVM systems but are available from BVM on request free of charge. _FIXME: Mac needs >= 7.1 ? AmigaOS setpatch and ROM revisions? (see the m68k FAQ)_ 3.3.2. Over-Clocking your CPU ----------------------------- Many people have tried operating their 90 MHz CPU at 100 MHz, etc. It sometimes works, but is sensitive to temperature and other factors and can actually damage your system. One of the authors of this document over-clocked his own system for a year, and then the system started aborting the `gcc' program with an unexpected signal while it was compiling the operating system kernel. Turning the CPU speed back down to its rated value solved the problem. 3.3.3. Bad Memory Modules ------------------------- The `gcc' compiler is often the first thing to die from bad memory modules (or other hardware problems that change data unpredictably) because it builds huge data structures that it traverses repeatedly. An error in these data structures will cause it to execute an illegal instruction or access a non-existent address. The symptom of this will be `gcc' dying from an unexpected signal. Atari TT RAM boards are notorious for RAM problems under Linux; if you encounter any strange problems, try running at least the kernel in ST-RAM. Amiga users may need to exclude RAM using a booter memfile. _FIXME: more description of this needed._ ------------------------------------------------------------------------------- 4. Partitioning Your Hard Drive ------------------------------- 4.1. Background --------------- Partitioning your disk simply refers to the act of breaking up your disk into sections. Each section is then independent of the others. It's roughly equivalent to putting up walls in a house; if you add furniture to one room it doesn't affect any other room. If you already have an operating system on your system (Windows95, Windows NT, OS/2, MacOS, Solaris, FreeBSD, ...) and want to stick Linux on the same disk, you will probably need to repartition the disk. In general, changing a partition with a filesystem already on it will destroy any information there. Thus you should always make backups before doing any repartitioning. Using the analogy of the house, you would probably want to move all the furniture out of the way before moving a wall or you risk destroying it. At a bare minimum, GNU/Linux needs one partition for itself. You can have a single partition containing the entire operating system, applications, and your personal files. Most people feel that a separate swap partition is also a necessity, although it's not strictly true. ``Swap'' is scratch space for an operating system, which allows the system to use cheap disk storage as ``virtual memory''. By putting swap on a separate partition, Linux can make much more efficient use of it. It is possible to force Linux to use a regular file as swap, but it is not recommended. Most people choose to give GNU/Linux more than the minimum number of partitions, however. There are two reasons you might want to break up the filesystem into a number of smaller partitions. The first is for safety. If something happens to corrupt the file system, generally only one partition is affected. Thus, you only have to replace (from the backups you've been carefully keeping) a portion of your system. At a bare minimum, you should consider creating what is commonly called a ``root partition''. This contains the most essential components of the system. If any other partitions get corrupted, you can still boot into GNU/Linux to fix the system. This can save you the trouble of having to reinstall the system from scratch. The second reason is generally more important in a business setting, but it really depends on your use of the machine. Suppose something runs out of control and starts eating disk space. If the process causing the problem happens to have root privileges (the system keeps a percentage of the disk away from users), you could suddenly find yourself out of disk space. This is not good as the OS needs to use real files (besides swap space) for many things. It may not even be a problem of local origin. For example, getting spammed with e-mail can easily fill a partition. By using more partitions, you protect the system from many of these problems. Using mail as an example again, by putting `/var/spool/mail' on its own partition, the bulk of the system will work even if you get spammed. The only real drawback to using more partitions is that it is often difficult to know in advance what your needs will be. If you make a partition too small then you will either have to reinstall the system or you will be constantly moving things around to make room in the undersized partition. On the other hand, if you make the partition too big, you will be wasting space that could be used elsewhere. Disk space is cheap nowadays, but why throw your money away? 4.1.1. The Directory Tree ------------------------- The following list describes some important directories. It should help you to find out what your partitioning scheme should be. If this is too confusing for you, just ignore it and reread it when you read the rest of the installation manual. * `/': root represents the starting point of the directory hierarchy. It contains the essential programs that the computer can boot. This includes the kernel, system libraries, configuration files in `/etc' and various other needed files. Typically 30-50 MB are needed but this may vary. Note: do _not_ partition `/etc', `/bin', `/sbin', `/lib' or `/dev' as its own partition; you won't be able to boot. * `/dev': this directory contains the various device files which are interfaces to the various hardware components. For more information see Section 4.3, `Device Names in Linux'. * `/usr': all user programs (`/usr/bin'), libraries (`/usr/lib'), documentation (`/usr/share/doc'), etc., are in this directory. This part of the filesystem needs most of the space. You should provide at least 500 MB of disk space. If you want to install more packages you should increase the amount of space you give this directory. * `/home': every user will put his data into a subdirectory of this directory. The size of this depends on how many users will be using the system and what files are to be stored in their directories. Depending on your planned usage you should reserve about 100 MB for each user, but adapt this value to your needs. * `/var': all variable data like news articles, e-mails, websites, APT's cache, etc. will be placed under this directory. The size of this directory depends greatly on the usage of your computer, but for most people will be dictated by the package management tool's overhead. If you are going to do a full installation of just about everything Debian has to offer, all in one session, setting aside 2 or 3 gigabytes of space for `/var' should be sufficient. If you are going to install in pieces (that is to say, install services and utilities, followed by text stuff, then X, ...), you can get away with 300 - 500 megabytes of in `/var'. If harddrive space is at a premium and you don't plan on using APT, at least not for major updates, you can get by with as little as 30 or 40 megabytes in `/var'. * `/tmp': if a program creates temporary data it will most likely go in `/tmp'. 20-50 MB should be usually enough. 4.2. Planning Use of the System ------------------------------- It is important to decide what type of machine you are creating. This will determine disk space requirements and affect your partitioning scheme. Debian offers the `tasksel' tool to assist the user during installation. (see Section 7.27, `Simple Package Selection -- The Task Installer'). Tasks are collections of packages which are automatically marked for installation as a group, to implement a given type of Linux installation. Checking the sizes of various tasks will give you a sense of how large your partition or partitions need to be for your intended usage. Link to a page dynamically generated using current tasksel to list tasks with associated sizes. Delete following outdated list. Server_std This is a small server profile, useful for stripped down server which does not have a lot of niceties for shell users. It basically has an FTP server, a web server, DNS, NIS, and POP. It will take up around 50 MB. Of course, this is just size of the software; any data you serve up would be additional. Dialup A standard desktop box, including the X window system, graphics applications, sound, editors, etc. Size of the packages will be around 500 MB. Work_std A more stripped-down user machine, without the X window system or X applications. Possibly suitable for a laptop or mobile computer. The size is around 140 MB. (Note that the author has a pretty simple laptop setup including X11 in even less, around 100 MB). Devel_comp A desktop setup with all the development packages, such as Perl, C, C++, etc. Size is around 475 MB. Assuming you are adding X11 and some additional packages for other uses, you should plan around 800 MB for this type of machine. Remember that these sizes don't include all the other materials which are usually to be found, such as user files, mail, and data. It is always best to be generous when considering the space for your own files and data. Notably, the Debian `/var' partition contains a lot of state information. The `dpkg' files (with information on all installed packages) can easily consume 20 MB; with logs and the rest, you should usually allocate at least 50 MB for `/var'. 4.3. Device Names in Linux -------------------------- Linux disks and partition names may be different from other operating systems. You need to know the names that Linux uses when you create and mount partitions. Here's the basic naming scheme: * The first floppy drive is named ``/dev/fd0''. * The second floppy drive is named ``/dev/fd1''. * The first SCSI disk (SCSI ID address-wise) is named ``/dev/sda''. * The second SCSI disk (address-wise) is named ``/dev/sdb'', and so on. * The first SCSI CD-ROM is named ``/dev/scd0'', also known as ``/dev/sr0''. * The master disk on IDE primary controller is named ``/dev/hda''. * The slave disk on IDE primary controller is named ``/dev/hdb''. * The master and slave disks of the secondary controller can be called ``/dev/hdc'' and ``/dev/hdd'', respectively. Newer IDE controllers can actually have two channels, effectively acting like two controllers. The letters may differ from what shows in the mac program pdisk (i.e. what shows up as /dev/hdc on pdisk may show up as /dev/hda in Debian). * The first ACSI device is named ``/dev/ada'', the second is named ``/dev/adb''. The partitions on each disk are represented by appending a decimal number to the disk name: ``sda1'' and ``sda2'' represent the first and second partitions of the first SCSI disk drive in your system. Here is a real-life example. Let's assume you have a system with 2 SCSI disks, one at SCSI address 2 and the other at SCSI address 4. The first disk (at address 2) is then named ``sda'', and the second ``sdb''. If the ``sda'' drive has 3 partitions on it, these will be named ``sda1'', ``sda2'', and ``sda3''. The same applies to the ``sdb'' disk and its partitions. Note that if you have two SCSI host bus adapters (i.e., controllers), the order of the drives can get confusing. The best solution in this case is to watch the boot messages, assuming you know yourself the drive models. VMEbus systems using the TEAC FC-1 SCSI floppy drive will see it as normal SCSI disk. To make identification of the drive simpler the installation software will create a symbolic link to the appropriate device and name it ``/dev/sfd0''. 4.4. Recommended Partitioning Scheme ------------------------------------ As described above, you should definitely have a separate smaller root partition, and a larger `/usr' partition, if you have the space. For examples, see below. For most users, the two partitions initially mentioned are sufficient. This is especially appropriate when you have a single small disk, since breaking out lots of partitions can waste space. In some cases, you might need a separate `/usr/local' partition if you plan to install many programs that are not part of the Debian distribution. If your machine will be a mail server, you might need to make `/var/spool/mail' a separate partition. Often, putting `/tmp' on its own partition, for instance 20 to 32 MB, is a good idea. If you are setting up a server with lots of user accounts, it's generally good to have a separate, large `/home' partition. In general, the partitioning situation varies from computer to computer depending on its uses. For very complex systems, you should see the Multi Disk HOWTO (http://www.linuxdoc.org/HOWTO/Multi-Disk-HOWTO.html). This contains in-depth information, mostly of interest to ISPs and people setting up servers. With respect to the issue of swap partition size, there are many views. One rule of thumb which works well is to use as much swap as you have system memory, although there probably isn't much point in going over 64 MB of swap for most users. It also shouldn't be smaller than 16 MB, in most cases. Of course, there are exceptions to these rules. If you are trying to solve 10000 simultaneous equations on a machine with 256 MB of memory, you may need a gigabyte (or more) of swap. On the other hand, Atari Falcons and Macs feel pain when swapping, so instead of making a large swap partition, get as much RAM as possible. On 32-bit architectures (i386, m68k, 32-bit SPARC, and PowerPC), the maximum size of a swap partition is 2 GB (on Alpha and SPARC64, it's so large as to be virtually unlimited). This should be enough for nearly any installation. However, if your swap requirements are this high, you should probably try to spread the swap across different disks (also called ``spindles'') and, if possible, different SCSI or IDE channels. The kernel will balance swap usage between multiple swap partitions, giving better performance. 4.5. Example Partitioning ------------------------- As an example, one of the authors' home machine has 32 MB of RAM and a 1.7 GB IDE drive on `/dev/hda'. There is a 500 MB partition for another operating system on `/dev/hda1' (should have made it 200 MB as it never gets used). A 32 MB swap partition is used on `/dev/hda3' and the rest (about 1.2 GB on `/dev/hda2') is the Linux partition. 4.6. Partitioning Prior to Installation --------------------------------------- There are two different times that you can partition: prior to the installation of Debian, or during installation of Debian. If your computer will be solely dedicated to Debian, you should partition as part of the installation process (Section 7.6, ```Partition a Hard Disk'''). If you have a machine with more than one operating system on it, you generally should let the native operating system create its own partitions. The following sections contain information regarding partitioning in your native operating system prior to installation. Note that you'll have to map between how the other operating system names partitions, and how Linux names partitions; see Section 4.3, `Device Names in Linux'. 4.6.1. Partitioning in AmigaOS ------------------------------ If you are running AmigaOS, you can use the `HDToolBox' program to partition your disk prior to installation. Here's how: 1. Start `HDToolBox', select the disk you want to use, click on the ``Partition Drive'' button and select or create the partition you want to use as the Debian root filesystem. 2. Next, you need to enable the ``Advanced options'' and change the following items under ``Change'': * set the filesystem to ``Custom Filesystem'' or ``Reserved Filesystem'' (the label which is shown depends on version of `HDToolBox' you have installed) * set the identifier to `0x4c4e5800' (this is the hexadecimal equivalent of ``LNX\0'') * disable the ``Auto-mount this partition'' checkbox * disable ``Custom Bootcode'' * set the ``Reserved blocks at'' settings to `2' for start and `0' for end 3. If you are making more than one Linux partition, go ahead and create the additional partitions, just as above. 4. After having done this, select a partition that is to be used as a swap partition, and repeat the same steps as above, but set the identifier to `0x53575000' instead (this represents "SWP\0" in ASCII). 5. Write down the _Linux_ partition names for the root and swap filesystems you just created. See Section 4.3, `Device Names in Linux' for more information on Linux partition naming. 6. Go back to the main window of `HDToolBox' and select ``Save changes to drive''. Think twice before actually clicking on ``Yes'' -- have you chosen the correct partitions? No important data could get lost now if you made a mistake? Then click ``OK''. If required, the Amiga will reboot after this. 4.6.2. Partitioning in Atari TOS -------------------------------- Atari partition IDs are three ASCII characters, use ``LNX'' for data and ``SWP'' for swap partitions. If using the low memory installation method, a small Minix partition is also needed (about 2 MB), for which the partition ID is ``MNX''. Failure to set the appropriate partition IDs not only prevents the Debian installation process from recognizing the partitions, but also results in TOS attempting to use the Linux partitions, which confuses the harddisk driver and renders the whole disk inaccessible. There are a multitude of third party partitioning tools available (the Atari `harddisk' utility doesn't permit changing the partition ID); this manual cannot give detailed descriptions for all of them. The following description covers `SCSITool' (from Hard+Soft GmBH). 1. Start `SCSITool' and select the disk you want to partition (``Disk'' menu, item ``select''). 2. From the ``Partition'' menu, select either ``New'' to add new partitions or change the existing partition sizes, or ``Change'' to change one specific partition. Unless you have already created partitions with the right sizes and only want to change the partition ID, ``New'' is probably the best choice. 3. For the ``New'' choice, select ``existing'' in the dialog box prompting the initial settings. The next window shows a list of existing partitions which you can adjust using the scroll buttons, or by clicking in the bar graphs. The first column in the partition list is the partition type; just click on the text field to edit it. When you are finished changing partition settings, save the changes by leaving the window with the ``Ok'' button. For the ``Change'' option, select the partition to change in the selection list, and select ``other systems'' in the dialog box. The next window lists detailed information about the location of this partition, and lets you change the partition ID. Save changes by leaving the window with the ``Ok'' button. 4. Write down the Linux names for each of the partitions you created or changed for use with Linux -- see Section 4.3, `Device Names in Linux'. 5. Quit `SCSITool' using the ``Quit'' item from the ``File'' menu. The computer will reboot to make sure the changed partition table is used by TOS. If you changed any TOS/GEM partitions, they will be invalidated and have to be reinitialized (we told you to back up everything on the disk, didn't we?). There is a partitioning tool for Linux/m68k called `atari-fdisk' in the installation system, but for now we recommend you partition your disk using a TOS partition editor or some disk tool. If your partition editor doesn't have an option to edit the partition type, you can do this crucial step at a later stage (from the booted temporary install ramdisk). `SCSITool' is only one of the partition editors we know of which supports selection of arbitrary partition types. There may be others; select the tool that suits your needs. 4.6.3. Partitioning in MacOS ---------------------------- Partitioning tools for Macintosh tested include `pdisk', `HD SC Setup' 7.3.5 (Apple), `HDT' 1.8 (FWB), `SilverLining' (LaCie), and `DiskTool' (Tim Endres, GPL). Full versions are required for `HDT' and `SilverLining'. The Apple tool requires a patch in order to recognize third-party disks (a description on how to patch `HD SC Setup' using `ResEdit' can be found at http://www.euronet.nl/users/ernstoud/patch.html). was the following paragraph removed on purpose? I found it in the "Installing Debian GNU/Linux 2.1 For Motorola 680x0 - Partitioning your Hard Drive." For IDE based Macs, you need to use `Apple Drive Setup' to create empty space for the Linux partitions, and complete the partitioning under Linux, or use the MacOS version of pdisk available from the MkLinux FTP server. The following recipe is for partition with Apple's `HD SC Setup'. Whatever tool you use, the partition type has to be set to ``Apple_UNIX_SVR2''. The partition names should be ``root'' for the root partition and ``swap'' for swap partitions. The name of data partitions is irrelevant. The swap partition must be named ``swap'' or else it won't be recognized by the installer. `HD SC Setup' will use the right type when creating A/UX partitions in a ``Custom'' partition scheme. Partitions are selected for deletion, creation or resizing using the mouse, the partition name and type can be selected from a list of predefined types. `DiskTool' can create A/UX type partitions but requires that the user type in the partition names manually. The following recipe is for partition with `pdisk 68k' and `Apple Drive Setup'. To begin, launch `Apple Drive Setup', choose the drive you will use, and click `initialize'. Next, choose `custom' and set up the partitions according to your needs. You must create a single placeholder partition first which will reserve the space to be allocated to Debian GNU/Linux, this partition will be deleted later after booting the Debian GNU/Linux installer. Click `ok', and go ahead with the initialization process. After the steps involving `Apple Drive Setup' are complete, quit the program and launch `pdisk 68k'. In `pdisk' choose `e' and enter which hard drive to use (usually that will be /dev/hda). Next choose `p' and note the starting base and length of the partitions. After this choose `d'. Enter the partition number of the first intended Linux partition. Next, choose `c' and enter the starting base and length of the partition. Give it a semi-descriptive name (e.g. root, usr, home, etc). Repeat for every Linux partition. For the swap partition it is vital for the name to be ``swap'' or else the installer will not recognize it as swap. It is highly reccommended that you use the `mac-fdisk' utility from within Debian GNU/Linux rather then the MacOS `pdisk' utility. Descriptions for other tools are welcome. _FIXME: more can be gleaned from the Debian/Mac install guide_ ------------------------------------------------------------------------------- 5. Methods for Installing Debian -------------------------------- You can install Debian from a variety of sources, both local (CD, hard disk, floppies) and remote (FTP, NFS, PPP, HTTP). Debian also supports various hardware configurations, so you may still have a few choices to make before you get going. This chapter lays out the choices and some suggestions for how to make them. You can make different choices for different steps in the installation. For example, you may start the installation by booting off diskettes, but then feed later steps in the install process files from your hard disk. As the installation progresses you will move from a scrawny, incapable system which lives only in RAM to a full-featured Debian GNU/Linux system installed on the hard disk. One of the key goals of the early installation steps is to increase the variety of hardware (e.g., interface cards) and software (e.g., network protocols and file system drivers) the system supports. Consequently, later installation steps can use a broader range of sources than earlier ones. The easiest route for most people will be to use a set of Debian CDs. If you have such a set, and if your machine supports booting directly off the CD, great! Simply insert your CD, reboot, and proceed to the next chapter. If it turns out the standard installation doesn't work for your hardware, you can come back here to see about alternate kernels and installation methods which may work for you. In particular, note that some CD sets provide different kernels on different CDs, so that booting off some CD other than the first may work for you. 5.1. Overview of the Installation Process ----------------------------------------- This overview highlights the points for which you must choose an installation media, or make a choice which will affect which sources you can choose later. The following steps will occur: 1. You begin by booting the installation system. 2. You answer a series of questions to perform the initial system configuration. 3. You provide a media source for the kernel and drivers. 4. You select which drivers to load. 5. You provide a media source for the base system. 6. You reboot the system and then do some final configuration. 7. You install additional software, packages, at your discretion. In making your choices, you need to bear a few factors in mind. The first involve your choice of kernel. The kernel that you pick for the initial system boot is the same kernel that your fully configured system will use. Since drivers are kernel-specific, you must pick a package containing drivers which go with your kernel. We'll turn shortly to the details of picking the right kernel, or rather, installation set. Different kernels also have different networking abilities out of the box, and so also expand or limit your source choices, particularly early in the install process. Finally, the particular drivers that you choose to load can enable additional hardware (e.g., network interface cards, hard drive controllers) or file systems (e.g., NTFS or NFS). This therefore widens the choices of installation source media. 5.2. Choosing the Right Installation Set ---------------------------------------- Your hardware will dictate your choice of installation. Choose the appropriate sub-architecture directory, review the documentation there, and proceed. If you are booting from CD, different CDs use different installation sets. Consult your CD documentation for more information. Details on kernel arrangement for specific CDs needed. 5.3. Installation Sources for Different Installation Stages ----------------------------------------------------------- This section indicates the type of hardware which _may_, and usually _will_, work at different stages of the installation. It is not a guarantee that all hardware of the indicated type will work with all kernels. For example, RAID disks generally will not be accessible until you install the appropriate drivers. 5.3.1. Booting the Initial Installation System ---------------------------------------------- The initial boot of the installation system is perhaps the most idiosyncratic step. The next chapter provides additional details, but your choices generally include * the Rescue Floppy (not supported on Amigas or Macs) * a bootable CD-ROM * a hard drive, via a boot loader running in another operating system * over the network, using TFTP 5.3.2. Source Media and Installation Stages ------------------------------------------- The following table indicates which media sources you can use at each stage of the installation process. The columns indicate different install stages, ordered from left to right in the sequence which they occur. The far right column is the installation media. A blank cell indicates that given source media is not available at that installation stage; `Y' indicates that it is, and `S' means that it is in some cases. Boot | Kernel Image | Drivers | Base System | Packages | media -----+--------------+---------+-------------+----------+-------- S | | | | | tftp S | Y | Y | Y | | diskette S | Y | Y | Y | Y | CD-ROM S | Y | Y | Y | Y | hard disk | Y | Y | Y | Y | NFS | | S | Y | Y | LAN | | | | Y | PPP For example, the table shows that only use for PPP in the installation process is the installation of packages. Note that you will only be prompted for a source for the kernel images and drivers in some installation methods. If you boot off a CD-ROM, it will automatically pick those items off the CD. The important point is that _as soon as you boot off a diskette, you can immediately switch to some superior installation source_. Remember, though, that you _must_ not mix up the different install sets, i.e., using a Rescue Floppy from one subarchitecture and Driver Floppies from another. The `Boot' column is all `S's because media support for booting varies widely for different architectures. The `LAN' and `PPP' rows refer to Internet-based file transfer (FTP, HTTP, and the like) over Ethernet or phone lines. In general this is not available, but certain kernels may permit you to do this earlier. Experts can also use these connections to mount disks and perform other operations to accelerate the process. Providing help in such cases is beyond the scope of this document. 5.3.3. Recommendations ---------------------- Get a set of Debian GNU/Linux CDs. Boot off them if you can. Since you've read this far, you probably couldn't or wouldn't. If your problem is simply that your CD drive is not bootable, you can pull the files you need for the initial boot off the CD and use them to make floppies or do a boot from alternate operating system. Failing this, you may have an existing operating system with some free disk space. The early installation system can read many filesystems (NTFS being a prominent exception --- you must load the appropriate driver). If it can read yours, you should download documentation, initial boot images, and utilities. Then get the appropriate drivers archive as a single file, and the base system as a single file. Perform your initial boot, and then point the installation program at the files you have downloaded when it asks for the appropriate source. These are only suggestions. You should choose whatever sources are most convenient for you. Floppies are neither convenient nor reliable, so we urge you to get off them as soon as possible. However, compared to booting off an existing operating system they may provide a cleaner environment and an easier path, so they are appropriate for the initial boot, if your system supports them. 5.4. Description of Installation System Files --------------------------------------------- This section contains an annotated list of files you will find in the `disks-m68k' directory. You may not need to download these at all; it all depends on the booting and base system installation media you have chosen. Most files are floppy disk images; that is, a single file which can be written to a disk to create the necessary floppy disk. These images are, obviously, dependent on the size of the target floppy. For instance, 1.44MB is the normal quantity of data which is what fits on standard 3.5 inch floppies. The images for 1.44MB floppy disks can be found in the `images-1.44' directory. Images for 2.88MB disks, which are generally only used for CD-ROM booting and the like, are found in the `images-2.88' directory. If you are using a web browser on a networked computer to read this document, you can probably retrieve the files by selecting their names in your web browser. Depending on your browser you may need to take special action to download directly to a file, in raw binary mode. For example, in Netscape you need to hold the shift key when clicking on the URL to retrieve the file. Files can be downloaded from the URLs in this document, or you can retrieve them from http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/, or the corresponding directory on any of the Debian mirror sites (http://www.debian.org/distrib/ftplist). 5.4.1. Documentation -------------------- _Installation Manual:_ install.en.txt install.en.html install.en.pdf This file you are now reading, in plain ASCII, HTML or PDF format. _Platform-specific Installation Notes:_ http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/install.doc http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/install.doc.info http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/atari/install.doc http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/bvme6000/install.txt http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mac/debian-mac.txt http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mvme147/install.txt http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mvme16x/install.txt Quick reference describing the installation on the corresponding systems step by step, like a condensed version of Chapter 5, `Methods for Installing Debian' through Chapter 7, `Using `dbootstrap' for Initial System Configuration' of this manual. Note that these documents are deprecated and only here temporarily until they can be merged in substance to the main Installation Manual. _Partitioning Program Manual Pages:_ atari-fdisk.txt amiga-fdisk.txt mac-fdisk.txt pmac-fdisk.txt Instructions for using your available partitioning programs. http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/base-contents.txt Listing of the contents of the base system. http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/md5sum.txt List of MD5 checksums for the binary files. If you have the `md5sum' program, you can ensure that your files are not corrupt by running `md5sum -v -c md5sum.txt'. 5.4.2. Files for the Initial System Boot ---------------------------------------- _Rescue Floppy images:_ http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/images-1.44/rescue.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/atari/images-1.44/rescue.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/bvme6000/images-1.44/rescue.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/bvme6000/images-2.88/rescue.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mac/images-1.44/rescue.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mvme147/images-1.44/rescue.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mvme16x/images-1.44/rescue.bin These are the Rescue Floppy disk images. The Rescue Floppy is used for initial setup and for emergencies, such as when your system doesn't boot for some reason. Therefore it is recommended you write the disk image to the floppy even if you are not using floppies for installation. _Root image(s):_ http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/images-1.44/root.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/atari/images-1.44/root.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/bvme6000/images-1.44/root.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mac/images-1.44/root.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mvme147/images-1.44/root.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mvme16x/images-1.44/root.bin This file contains an image of a temporary filesystem that gets loaded into memory when you boot from the Rescue Floppy. This is used for installations from hard disk and floppies. _Linux kernel:_ http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/linux http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/atari/linux http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/bvme6000/linuxbvme6000 http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mac/linux http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mvme147/linuxmvme147 http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mvme16x/linuxmvme16x This is the Linux kernel image to be used for hard disk and CD installations. You don't need it if you are installing from floppies. _Amiga Installer Files_ http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amigainstall.tgz http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/dmesg http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/amiboot-5.6 http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/StartInstall http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/StartInstall.info http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/StartInstall_CV3D http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/StartInstall_CV3D.info http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/StartInstall_CV64 http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/StartInstall_CV64.info http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/StartInstall_clgen http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/StartInstall_clgen.info http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/StartInstall_retz3 http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/StartInstall_retz3.info Files to use when installing from AmigaOS. _Atari Installer Files_ http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/atariinstall.tgz http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/atari/bootstra.prg http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/atari/bootargs Files to use when installing from Atari. _MacOS Installer Files_ http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/macinstall.tgz http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mac/Penguin-18.hqx http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mac/Penguin-Colors.hqx http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mac/Penguin.doc.hqx Files to use when installing from MacOS. _BVME6000 Installer Files_ http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/bvme6000/bvmbug-G.bin Files to use when installing from BVME6000. _TFTP boot images and configuration files_ http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/bvme6000/tftplilo.bvme http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/bvme6000/tftplilo.conf http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/bvme6000/tftplilo.txt http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mvme16x/tftplilo.mvme http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mvme16x/tftplilo.conf http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mvme16x/tftplilo.txt Boot images used for network booting, see Section 6.5, `Booting from TFTP'. Generally, they contain the Linux kernel and the `root.bin' root filesystem. For VME, TFTP support consists of the Linux loader programs and configuration files. 5.4.3. Driver Files ------------------- These files contain kernel modules, or drivers, for all kinds of hardware that are not necessary for initial booting. Getting the drivers you want is a two step process: first you identify an archive of drivers you want to use, and then you select which particular drivers you want. Remember that your driver archive must be consistent with your initial kernel choice. _Driver Floppies images:_ http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/images-1.44/driver.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/atari/images-1.44/driver.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/bvme6000/images-1.44/driver.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mac/images-1.44/driver.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mvme147/images-1.44/driver.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mvme16x/images-1.44/driver.bin These are the Driver Floppies disk images. _Driver Floppies archive_ http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/amiga/drivers.tgz http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/atari/drivers.tgz http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/bvme6000/drivers.tgz http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mac/drivers.tgz http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mvme147/drivers.tgz http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/mvme16x/drivers.tgz If you are not limited to diskettes, choose one of these files. 5.4.4. Base System Files ------------------------ The ``Debian base system'' is a core set of packages which are required to run Debian in a minimal, stand-alone fashion. Once you have configured and installed the base system, your machine can ``stand on its own''. _Base system images:_ http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/base2_2.tgz or http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/images-1.44/base-1.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/images-1.44/base-2.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/images-1.44/base-3.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/images-1.44/base-4.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/images-1.44/base-5.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/images-1.44/base-6.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/images-1.44/base-7.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/images-1.44/base-8.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/images-1.44/base-9.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/images-1.44/base-10.bin http://http.us.debian.org/debian/dists/potato/main /disks-m68k/current/images-1.44/base-11.bin These files contain the base system which will be installed on your Linux partition during the installation process. This is the bare minimum necessary for you to be able to install the rest of the packages. The `http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/base2_2.tgz' file is for installation from non-floppy media, i.e., CD-ROM, harddisk, or NFS. 5.4.5. Utilities ---------------- http://http.us.debian.org/debian/dists/potato/main /disks-i386/current/dosutils/rawrite2.exe This is a DOS utility to write a floppy disk image to a floppy. You should not copy images to the floppy, but instead use this utility to ``raw write'' them. We turn now to concerns specific to particular kind of sources. For convenience, they appear in the same order as the rows in the earlier table discussing different installation sources. 5.5. TFTP --------- Booting from the network requires that you have a network connection supported by the boot floppies, a RARP or a BOOTP server, and a TFTP server. This installation method is described in Section 6.5, `Booting from TFTP'. 5.6. Diskettes -------------- 5.6.1. Floppy Disk Reliability ------------------------------ The biggest problem for people installing Debian for the first time seems to be floppy disk reliability. The Rescue Floppy is the floppy with the worst problems, because it is read by the hardware directly, before Linux boots. Often, the hardware doesn't read as reliably as the Linux floppy disk driver, and may just stop without printing an error message if it reads incorrect data. There can also be failures in the Driver Floppies and the base floppies, most of which indicate themselves with a flood of messages about disk I/O errors. If you are having the installation stall at a particular floppy, the first thing you should do is re-download the floppy disk image and write it to a _different_ floppy. Simply reformatting the old floppy may not be sufficient, even if it appears that the floppy was reformatted and written with no errors. It is sometimes useful to try writing the floppy on a different system. One user reports he had to write the images to floppy _three_ times before one worked, and then everything was fine with the third floppy. Other users have reported that simply rebooting a few times with the same floppy in the floppy drive can lead to a successful boot. This is all due to buggy hardware or firmware floppy drivers. 5.6.2. Booting from Floppies ---------------------------- Booting from floppies is supported for most platforms. Amigas and Macs are an exception to this rule, unfortunately. For most m68k architectures, booting from a local filesystem is the recommended method. Booting from the Rescue Floppy is supported only for Atari and VME (with a SCSI floppy drive on VME) at this time. On the Macintosh, you can boot from the HFS floppy image supplied as a DiskCopy format image, which is a raw disk image containing the Rescue Floppy image. To boot from floppies, simply download the Rescue Floppy image and the Driver Floppies image. If you need to, you can also modify the Rescue Floppy; see Section 9.3, `Replacing the Rescue Floppy Kernel'. The Rescue Floppy couldn't fit the root filesystem image, so you'll need the root image to be written to a disk as well. You can create that floppy just as the other images are written to floppies. Once the kernel has been loaded from the Rescue Floppy, you'll be prompted for the root disk. Insert that floppy and continue. 5.6.3. Installing Base from Floppies ------------------------------------ NOTE: This is not a recommended way of installing Debian, because floppies are generally the least reliable type of media. This is only recommended if you have no extra, pre-existing filesystems on any of the hard drives on your system. Installing the base system from floppies is not supported on Amiga and Macintosh systems. Complete these steps: 1. Obtain these disk images (these files are described in greater detail in Section 5.4, `Description of Installation System Files'): * a Rescue Floppy image * the Driver Floppies images * the base system disk images, i.e., `base-1.bin', `base-2.bin', etc. * and a root filesystem image 2. Locate sufficient floppies for all the images you need to write. 3. Create the floppies, as discussed in Section 5.6.4, `Creating Floppies from Disk Images'. 4. Insert the Rescue Floppy into your floppy drive, and reboot the computer. 5. Skip down to Chapter 6, `Booting the Installation System'. 5.6.4. Creating Floppies from Disk Images ----------------------------------------- Disk images are files containing the complete contents of a floppy disk in _raw_ form. Disk images, such as `rescue.bin', cannot simply be copied to floppy drives. A special program is used to write the image files to floppy disk in _raw_ mode. This is required because these images are raw representations of the disk; it is required to do a _sector copy_ of the data from the file onto the floppy. There are different techniques for creating floppies from disk images, which depend on your platform. This section describes how to create floppies from disk images for different platforms. No matter which method you use to create your floppies, you should remember to flip the tab on the floppies once you have written them, to ensure they are not damaged unintentionally. 5.6.4.1. Writing Disk Images From a Linux or Unix System -------------------------------------------------------- To write the floppy disk image files to the floppy disks, you will probably need root access to the system. Place a good, blank floppy in the floppy drive. Next, use the command dd if= of=/dev/fd0 bs=1024 conv=sync ; sync where is one of the floppy disk image files. `/dev/fd0' is a commonly used name of the floppy disk device, it may be different on your workstation (on Solaris, it is `/dev/fd/0'). The command may return to the prompt before Unix has finished writing the floppy disk, so look for the disk-in-use light on the floppy drive and be sure that the light is out and the disk has stopped revolving before you remove it from the drive. On some systems, you'll have to run a command to eject the floppy from the drive (on Solaris, use `eject', see the manual page). Some systems attempt to automatically mount a floppy disk when you place it in the drive. You might have to disable this feature before the workstation will allow you to write a floppy in _raw mode_. Unfortunately, how to accomplish this will vary based on your operating system. On Solaris, you can work around volume management to get raw access to the floppy. First, make sure that the floppy is automounted (using `volcheck' or the equivalent command in the file manager). Then use a `dd' command of the form given above, just replace `/dev/fd0' with `/vol/rdsk/', where is the name the floppy disk was given when it was formatted (unnamed floppies default to the name `unnamed_floppy'). On other systems, ask your system administrator. 5.6.4.2. Writing Disk Images From DOS, Windows, or OS/2 ------------------------------------------------------- You'll find the `rawrite2.exe' program in the same directory as the floppy disk images. There's also a `rawrite2.txt' file containing instructions for using `rawrite2'. To write the floppy disk image files to the floppy disks, first make sure that you are booted into DOS. Many problems have been reported when trying to use `rawrite2' from within a DOS box from within Windows. Double-clicking on `rawrite2' from within the Windows Explorer is also reported to not work. If you don't know how to boot into DOS, just hit _F8_ while booting. Once you've booted into plain DOS, use the command rawrite2 -f -d where is one of the floppy disk image files, and is either `a:' or `b:', depending on which floppy drive you are writing to. 5.6.4.3. Writing Disk Images on Atari Systems --------------------------------------------- You'll find the http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/rawwrite.ttp program in the same directory as the floppy disk images. Start the program by double clicking on the program icon, and type in the name of the floppy image file you want written to the floppy at the TOS program command line dialog box. 5.6.4.4. Writing Disk Images From MacOS --------------------------------------- Please read http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/mac/debian-mac.txt for more accurate information. The m68k installer does not use a boot floppy. However the following instructions may be used to create floppies for installation of drivers and base files, if needed. The file mac/debian-mac.txt needs to be integrated in this document. To create floppies from the distribution floppy images on a MacOS system, you can use the MacOS utility `Disk Copy' or the freeware utility `suntar'. The `root.bin' file is an example of a floppy image. First, locate `root.bin' on the offical Debian GNU/Linux CD, or download it from your favorite Debian mirror in _binary_ mode. Do not allow any automatic extraction of the file after downloading. The `.bin' extension does not stand for Macbinary, but rather just `binary' floppy image files. Then use one of the following methods to create a floppy from the floppy image. 5.6.4.4.1. Writing Disk Images with `Disk Copy' ----------------------------------------------- 1. If you are creating the floppy image from files which were originally on the official Debian GNU/Linux CD, then the Type and Creator are already set correctly. These `Creator-Changer' steps are only necessary if you downloaded the image files. 1. Obtain Creator-Changer (ftp://uiarchive.uiuc.edu/mirrors/ftp/ftp.info-mac.org/info-mac/disk/creator-changer-284.hqx) and use it to open the `root.bin' file. 2. Change the Creator to `ddsk' (Disk Copy), and the Type to `DDim' (binary floppy image). The case is sensitive for these fields. 3. _Important:_ In the Finder, use `Get Info' to display the Finder information about the floppy image, and `X' the `File Locked' checkbox so that MacOS will be unable to remove the boot blocks if the image is accidentally mounted. 2. Obtain `Disk Copy'; if you have a MacOS system or CD it will very likely be there already, otherwise try http://asu.info.apple.com/swupdates.nsf/artnum/n11162. 3. Run `Disk Copy', and select `Make a Floppy' from the `Utilities' menu, then select the _locked_ image file from the resulting dialog. It will ask you to insert a floppy, then ask if you really want to erase it. When done it should eject the floppy. 5.6.4.4.2. Writing Disk Images with `suntar' -------------------------------------------- 1. Obtain `suntar' from http://hyperarchive.lcs.mit.edu/HyperArchive/Archive/cmp/suntar-223.hqx. Start the `suntar' program and select `Overwrite Sectors...' from the `Special' menu. 2. Insert the floppy disk as requested, then hit return (start at sector 0). 3. Select the `root.bin' file in the file-opening dialog. 4. After the floppy has been created successfully, select `Eject' from the `File' menu. If there are any errors writing the floppy, simply toss that floppy and try another. Before using the floppy you created, _set the write protect tab_! Otherwise if you accidently mount it in MacOS, MacOS will helpfully ruin it. 5.7. CD-ROM ----------- CD-ROM booting is one of the easiest ways to install. This is especially true for BVME4000/6000 VMEbus systems. If you're unlucky and the kernel on the CD-ROM doesn't work for you, you'll have to fall back to another technique. Installing from CD-ROM is described in Section 6.4, `Booting and/or Installing from a CD-ROM'. Note that certain CD drives may require special drivers, and so be inaccessible in the early installation stages. 5.8. Hard Disk -------------- Booting from an existing operating system is often a convenient option; for some systems it is the only supported method of installation. This method is described in Section 6.3, `Booting from a Hard Disk'. Exotic hardware or filesystems may render files on the hard disk inaccessible early in the installation process. If they aren't supported by the Linux kernel, they may be inaccessible even at the end! 5.9. Installing from NFS ------------------------ Due to the nature of this method of installation, only the base system can be installed via NFS. You will need to have the Rescue Floppy and the Driver Floppies available locally using one of the above methods. To install the base system via NFS, you'll have to go through the regular installation as explained in Chapter 7, `Using `dbootstrap' for Initial System Configuration'. Do not forget to insert the module (driver) for your Ethernet card, and the file system module for NFS. When `dbootstrap' asks you where the base system is located (Section 7.14, ```Install the Base System'''), you should choose NFS, and follow the instructions. ------------------------------------------------------------------------------- 6. Booting the Installation System ---------------------------------- This chapter begins with some general information about booting Debian GNU/Linux, then moves to individual sections on particular installation methods, and concludes with some troubleshooting advice. Boot parameters are under the setting, options tab. 6.1. Boot Parameter Arguments ----------------------------- Boot parameters are Linux kernel parameters which are generally used to make sure that peripherals are dealt with properly. For the most part, the kernel can auto-detect information about your peripherals. However, in some cases you'll have to help the kernel a bit. Full information on boot parameters can be found in the Linux BootPrompt HOWTO (http://www.linuxdoc.org/HOWTO/BootPrompt-HOWTO.html); this section contains only a sketch of the most salient parameters. If this is the first time you're booting the system, try the default boot parameters (i.e., don't try setting arguments) and see if it works correctly. It probably will. If not, you can reboot later and look for any special parameters that inform the system about your hardware. When the kernel boots, a message `Memory: k/k available' should be emitted early in the process. should match the total amount of RAM, in kilobytes. If this doesn't match the actual of RAM you have installed, you need to use the `mem=' parameter, where is set to the amount of memory, suffixed with ``k'' for kilobytes, or ``m'' for megabytes. For example, both `mem=65536k' and `mem=64m' mean 64MB of RAM. If the computer appears to be frozen once you get to the screen asking about monochrome or color, simply switch to the second virtual console (_Alt-F2_ or _Command-F2_ on a Mac) and manually start `dbootstrap'. This bug seems to have been fixed, but it resurfaces every once and awhile. If your monitor is only capable of black-and-white, use the `mono' boot argument. Otherwise, your installation will use color, which is the default. If you are booting with a serial console, generally the kernel will autodetect this. If you have a videocard (framebuffer) and a keyboard also attached to the computer which you wish to boot via serial console, you may have to pass the `console=' argument to the kernel, where is your serial device, which is usually something like ``ttyS0''. Again, full details on boot parameters can be found in the Linux BootPrompt HOWTO (http://www.linuxdoc.org/HOWTO/BootPrompt-HOWTO.html), including tips for obscure hardware. Some common gotchas are included below in Section 6.6, `Troubleshooting the Boot Process'. 6.1.1. `dbootstrap' Arguments ----------------------------- The installation system recognizes a few arguments which may be useful. quiet This will cause the installation system to suppress confirmation messages and try to do the right thing without fuss. If you are familiar and comfortable with what the installation system is going to expect, this is a nice option to quieten the process. verbose Ask even more questions than usual. debug Emit additional debug messages to the installation system log (see Section 7.1.1, `Using the Shell and Viewing the Logs'), including every command run. bootkbd=<...> Pre-select the keyboard you want to use, e.g., `bootkbd=qwerty/us' mono Use monochrome rather than color mode. 6.2. Interpreting the Kernel Startup Messages --------------------------------------------- During the boot sequence, you may see many messages in the form `can't find something', or `something not present', `can't initialize something', or even `this driver release depends on something'. Most of these messages are harmless. You see them because the kernel for the installation system is built to run on computers with many different peripheral devices. Obviously, no one computer will have every possible peripheral device, so the operating system may emit a few complaints while it looks for peripherals you don't own. You may also see the system pause for a while. This happens when it is waiting for a device to respond, and that device is not present on your system. If you find the time it takes to boot the system unacceptably long, you can create a custom kernel later (see Section 8.4, `Compiling a New Kernel'). 6.3. Booting from a Hard Disk ----------------------------- In some cases, you may wish to boot from an existing operating system. You can also boot into the installation system using other means, but install the base system from disk. 6.3.1. Installing from AmigaOS ------------------------------ Use the following steps to install Debian from your pre-existing AmigaOS setup. 1. Get the files http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/amigainstall.tgz and http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/base2_2.tgz . 2. Unpack http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/amigainstall.tgz into a partition with at least 25MB free. We recommend you unpack it into a directory named `debian'. The http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/amigainstall.tgz will create an `amiga' subdirectory. 3. Move http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/base2_2.tgz into that same directory (e.g., `debian') where you unpacked http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/amigainstall.tgz. Do not rename any files in this directory. 4. Write down the Linux partition name for the location where your new `debian' directory is. See Section 4.3, `Device Names in Linux' for more information on Linux partition naming. 5. Prepare your partitions for Linux. See Section 4.6, `Partitioning Prior to Installation'. 6. In the `Workbench', start the Linux installation process by double-clicking on the ``StartInstall'' icon in the `debian' directory. You may have to press the _Enter_ key twice after the Amiga installer program has output some debugging information into a window. After this, the screen will go grey, there will be a few seconds' delay Next, a black screen with white text should come up, displaying all kinds of kernel debugging information. These messages may scroll by too fast for you to read, but that's OK. After a couple of seconds, the installation program should start automatically, so you can continue down at Chapter 7, `Using `dbootstrap' for Initial System Configuration'. If, on the other hand, you have problems booting, see Section 6.6, `Troubleshooting the Boot Process'. 6.3.2. Installing from Atari TOS -------------------------------- Use the following steps to install Debian from your pre-existing Atari TOS setup. 1. Get the files http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/atariinstall.tgz and http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/base2_2.tgz . 2. Unpack http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/atariinstall.tgz into a partition with at least 25 MB free. We recommend you unpack it into a directory named `debian'. 3. After unpacking, you should have an `atari' subdirectory. Move http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/base2_2.tgz into the same `debian' directory where you unpacked http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/atariinstall.tgz. Do not rename any files in this directory. 4. Write down the Linux partition name for the location where your new `debian' directory is. See Section 4.3, `Device Names in Linux' for more information on Linux partition naming. 5. Prepare your partitions for Linux, if you haven't already done so. See Section 4.6, `Partitioning Prior to Installation'. 6. At the GEM desktop, start the Linux installation process by double-clicking on the ``bootstra.prg'' icon in the `debian' directory and clicking ``Ok'' at the program options dialog box. You may have to press the _Enter_ key after the Atari bootstrap program has output some debugging information into a window. After this, the screen will go grey, there will be a few seconds' delay. Next, a black screen with white text should come up, displaying all kinds of kernel debugging information. These messages may scroll by too fast for you to read, but that's OK. After a couple of seconds, the installation program should start automatically, so you can continue below at Chapter 7, `Using `dbootstrap' for Initial System Configuration'. If, on the other hand, you have problems booting, see Section 6.6, `Troubleshooting the Boot Process'. 6.3.3. Installing from MacOS ---------------------------- Use the following steps to install Debian from your pre-existing MacOS setup. 1. Get the files http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/macinstall.tgz and http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/base2_2.tgz . 2. Unpack http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/macinstall.tgz into a partition with at least 25 MB free. We recommend you unpack it into a directory named `debian'. 3. After unpacking, you should have a `mac' subdirectory. Move http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/base2_2.tgz into the same `debian' directory where you unpacked http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/macinstall.tgz. Do not rename any files in this directory. 4. Write down the Linux partition name for the location where your new `debian' directory is. See Section 4.3, `Device Names in Linux' for more information on Linux partition naming. 5. Prepare your partitions for Linux, if you haven't already done so. See Section 4.6, `Partitioning Prior to Installation'. 6. At the MacOS desktop, start the Linux installation process by double-clicking on the ``Penguin Prefs'' icon in the `debian' directory. The Linux booter will start up. Go to the ``Settings'' item in the ``File'' menu and select the kernel and ramdisk images under the kernel tab in the `debian' directory by clicking on the corresponding buttons in the upper right corner, and navigating the file select dialogs to locate the files. Close the ``Settings'' dialog, save the settings and start the bootstrap using the ``Boot Now'' item in the ``File'' menu. The `Penguin booter' will output some debugging information into a window. After this, the screen will go grey, there will be a few seconds' delay. Next, a black screen with white text should come up, displaying all kinds of kernel debugging information. These messages may scroll by too fast for you to read, but that's OK. After a couple of seconds, the installation program should start automatically, so you can continue below at Chapter 7, `Using `dbootstrap' for Initial System Configuration'. If, on the other hand, you have problems booting, see Section 6.6, `Troubleshooting the Boot Process'. 6.3.4. Installing from a Linux Partition ---------------------------------------- You can install Debian from an ext2fs partition or from a Minix partition. This installation technique may be appropriate if you are completely replacing your current Linux system with Debian, for instance. Note that the partition you are installing _from_ should not be the same as the partitions you are installing Debian _to_ (e.g., `/', `/usr', `/lib', etc.). To install from an already existing Linux partition, follow these instructions. 1. Get the following files and place them in a directory on your Linux partition. Use the largest possible files for your architecture: * a Rescue Floppy image, see Section 5.4.2, `Files for the Initial System Boot' * one of the Driver Floppies archives from Section 5.4.3, `Driver Files' * http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/base2_2.tgz 2. You can use any other functional boot method when installing from a partition. The following assumes you are booting with floppies; however, any boot installation can be used. 3. Create the Rescue Floppy as discussed in Section 5.6.4, `Creating Floppies from Disk Images'. Note that you won't need the Driver Floppies. 4. Insert the Rescue Floppy into your floppy drive, and reboot the computer. 5. Skip down to Chapter 7, `Using `dbootstrap' for Initial System Configuration'. 6.4. Booting and/or Installing from a CD-ROM -------------------------------------------- If you have a CD which is bootable, and if your architecture and system supports booting from a CD-ROM, you don't need any floppies. Often, it's as simple as puting the CD-ROM in the CD drive and booting. Currently, the only Motorola 680x0 subarchitecture that supports CD-ROM booting is the BVME6000. Even if you cannot boot from CD-ROM, you can install the base Debian system from CD-ROM. Simply boot using a different media, such as floppies. When it is time to install the base system and any additional packages, point the installation system at the CD-ROM drive as described in Section 7.14, ```Install the Base System'''. 6.5. Booting from TFTP ---------------------- You need to setup a RARP server, a BOOTP server and a TFTP server. The Reverse Address Resolution Protocol (RARP) is one way to tell your client what IP address to use for itself. Another way is to use the BOOTP protocol. BOOTP is an IP protocol that informs a computer of its IP address and where on the network to obtain a boot image. Yet another alternative exists on VMEbus systems: the IP address can be manually configured in boot ROM. The Trivial File Transfer Protocol (TFTP) is used to serve the boot image to the client. Theoretically, any server, on any platform, which implements these protocols, may be used. In the examples in this section, we shall provide commands for SunOS 4.x, SunOS 5.x (a.k.a. Solaris), and GNU/Linux. 6.5.1. Setting up RARP server ----------------------------- To setup RARP, you need to know the Ethernet address of the client (a.k.a. the MAC address). If you don't know this information, you can boot into ``Rescue'' mode (e.g., from the Rescue Floppy) and use the command `/sbin/ifconfig eth0'. In GNU/Linux you need to populate the kernel's RARP table. To do this execute /sbin/rarp -s /usr/sbin/arp -s If you get `SIOCSRARP: Invalid argument' you probably need to load the rarp kernel module or else recompile the kernel to support RARP. Try `modprobe rarp' and then try the rarp command again. Under SunOS, you need to ensure that the Ethernet hardware address for the client is listed in the ``ethers'' database (either in the `/etc/ethers' file, or via NIS/NIS+) and in the ``hosts'' database. Then you need to start the RARP daemon. In SunOS 4, issue the command (as root): `/usr/etc/rarpd -a'; in SunOS 5, use `/usr/sbin/rarpd -a'. 6.5.2. Setting up BOOTP server ------------------------------ There are two BOOTP servers available for GNU/Linux, the CMU bootpd and the ISC dhcpd, which are contained in the `bootp' and `dhcp' packages on Debian GNU/Linux. To use CMU bootpd, you must first uncomment (or add) the relevant line in `/etc/inetd.conf'. On Debian GNU/Linux, you can run `update-inetd --enable bootps', then `/etc/init.d/inetd reload' to do so. Elsewhere, the line in question should look like: bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120 Now, you must create an `/etc/bootptab' file. This has the same sort of familiar and cryptic format as the good old BSD printcap(5), termcap(5), and disktab(5) files. See the bootptab(5) manual page for more information. For CMU bootpd, you will need to know the hardware (MAC) address of the client. By contrast, setting up BOOTP with ISC `dhcpd' is really easy, because it treats BOOTP clients as a moderately special case of DHCP clients. You don't really need to know the hardware (MAC) address of the client unless you wish to specify some options such as boot image filename or NFS root path on a client-by-client basis, or unless you wish to assign fixed addresses to your machines using BOOTP and/or DHCP. Simply add the `allow bootp' directive to the configuration block for the subnet containing the client, and restart `dhcpd' with `/etc/init.d/dhcpd restart'. 6.5.3. Enabling the TFTP Server ------------------------------- To get the TFTP server ready to go, you should first make sure that `tftpd' is enabled. This is usually enabled by having the following line in `/etc/inetd.conf': tftp dgram udp wait root /usr/etc/in.tftpd in.tftpd /tftpboot Look in that file and remember the directory which is used as the argument of `in.tftpd'; you'll need that below. The `-l' argument enables some versions of `in.tftpd' to log all requests to the system logs; this is useful for diagnosing boot errors. If you've had to change `/etc/inetd.conf', you'll have to notify the running `inetd' process that the file has changed. On a Debian machine, run `/etc/init.d/netbase reload' (for potato/2.2 and newer systems use `/etc/init.d/inetd reload'); on other machines, find out the process ID for `inetd', and run `kill -HUP '. 6.5.4. Move TFTP Images Into Place ---------------------------------- Next, place the TFTP boot image you need, as found in Section 5.4, `Description of Installation System Files', in the `tftpd' boot image directory. Generally, this directory will be `/tftpboot'. Next you'll have to make a link from that file to the file which `tftpd' will use for booting a particular client. Unfortunately, the file name is determined by the TFTP client, and there are no strong standards. Often, the file that the TFTP client will look for is . To compute , take each byte of the client IP address and translate it into hexadecimal notation. If you have a machine handy with the `bc' program, you can use the program. First issue the `obase=16' command to set the output to hex, then enter the individual components of the client IP one at a time. As for , try out some values. Once you've determined the name, make the link like this: `ln /boot/tftpboot.img /boot/'. For BVM and Motorola VMEbus systems copy the files http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/bvme6000/linuxbvme6000, http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/bvme6000/rootbvme6000.bin, http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/bvme6000/tftplilo.bvme, and http://http.us.debian.org/debian/dists/potato/main/disks-m68k/current/bvme6000/tftplilo.conf to `/tftpboot/'. Next, configure your boot ROMs or BOOTP server to initially load the `tftplilo.bvme' or `tftplilo.mvme' files from the TFTP server. Refer to the `tftplilo.txt' file for your sub-architecture for additional system-specific configuration information. Now you should be ready to actually boot your system. After booting the VMEbus systems you will presented with the `LILO Boot:' prompt. At that prompt enter one of the following to boot Linux and begin installation proper of the Debian software using vt102 terminal emulation: * type ``i6000 _Enter_'' to install a BVME4000/6000 * type ``i162 _Enter_'' to install an MVME162 * type ``i167 _Enter_'' to install an MVME166/167 You may additionally append the string ``TERM=vt100'' to use vt100 terminal emulation, e.g., ``i6000 TERM=vt100 _Enter_''. _NOT YET WRITTEN_ 6.5.5. Installing with TFTP and NFS Root ---------------------------------------- It is closer to "tftp install for lowmem..." because you don't want to load the ramdisk anymore but boot from the newly created nfs-root fs. You then need to replace the symlink to the tftpboot image by a symlink to the kernel image (eg. linux-a.out). My experience on booting over the network was based exclusively on RARP/TFTP which requires all daemons running on the same server (the sparc workstation is sending a tftp request back to the server that replied to its previous rarp request). However, Linux supports BOOTP protocol, too, but I don't know how to set it up :-(( Does it have to be documented as well in this manual? 6.6. Troubleshooting the Boot Process ------------------------------------- If you have problems and the kernel hangs during the boot process, doesn't recognize peripherals you actually have, or drives are not recognized properly, the first thing to check is the boot parameters, as discussed in Section 6.1, `Boot Parameter Arguments'. Often, problems can be solved by removing add-ons and peripherals, and then trying booting again. If you still have problems, please submit a bug report. Send an email to . You _must_ include the following as the first lines of the email: Package: boot-floppies Version: Make sure you fill in with the version of the boot-floppies set that you used. If you don't know the _version_, use the date you downloaded the floppies, and include the distribution you got them from (e.g., ``stable'', ``frozen''). You should also include the following information in your bug report: architecture: m68k model: memory: scsi: cd-rom: network card: pcmcia:
Depending on the nature of the bug, it also might be useful to report whether you are installing to IDE or SCSI disks, other peripheral devices such as audio, disk capacity, and the model of video card. In the bug report, describe what the problem is, including the last visible kernel messages in the event of a kernel hang. Describe the steps that you did which brought the system into the problem state. ------------------------------------------------------------------------------- 7. Using `dbootstrap' for Initial System Configuration ------------------------------------------------------ 7.1. Introduction to `dbootstrap' --------------------------------- `dbootstrap' is the name of the program which is run after you have booted into the installation system. It is responsible for initial system configuration and the installation of the ``base system''. The main job of `dbootstrap', and the main purpose of your initial system configuration, is to configure essential elements of your system. For instance, you may need to use certain ``kernel modules'', which are drivers which are linked into the kernel. These modules include storage hardware drivers, network drivers, special language support, and support for other peripherals which are not automatically built in to the kernel you are using. Disk partitioning, disk formatting, and networking setup are also handled by `dbootstrap'. This fundamental setup is done first, since it is often necessary for the proper functioning of your system. `dbootstrap' is a simple, character-based application, designed for maximum compatability in all situations (such as installation over a serial line). It is very easy to use. It will guide you through each step of the installation process in a linear fashion. You can also go back and repeat steps if you find you have made a mistake. Navigation within `dbootstrap' is accomplished with the arrow keys, _Enter_, and _Tab_. 7.1.1. Using the Shell and Viewing the Logs ------------------------------------------- If you are an experienced Unix or Linux user, press _Left Alt-F2_ to get to the second _virtual console_. That's the _Alt_ key on the left-hand side of the space bar, and the _F2_ function key, at the same time. This is a separate window running a Bourne shell clone called `ash'. At this point you are booted from the RAM disk, and there is a limited set of Unix utilities available for your use. You can see what programs are available with the command `ls /bin /sbin /usr/bin /usr/sbin'. Use the menus to perform any task that they are able to do -- the shell and commands are only there in case something goes wrong. In particular, you should always use the menus, not the shell, to activate your swap partition, because the menu software can't detect that you've done this from the shell. Press _Left Alt-F1_ to get back t