Installing Debian GNU/Linux 3.0 For PowerPC ------------------------------------------- Bruce Perens Sven Rudolph Igor Grobman James Treacy Adam Di Carlo version 3.0.24, 18 December, 2002 ------------------------------------------------------------------------------- Abstract -------- This document contains installation instructions for the Debian GNU/Linux 3.0 system, for the PowerPC (``powerpc'') architecture. It also contains pointers to more information and information on how to make the most of your new Debian system. 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--2002 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/share/common-licenses/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. 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. Network Connectivity Hardware 2.5. Peripherals and Other Hardware 2.6. Purchasing Hardware Specifically for GNU/Linux 3. Before Installing Debian GNU/Linux 3.1. Overview of the Installation Process 3.2. Back Up Your Existing Data! 3.3. Information You Will Need 3.4. Planning Use of the System 3.5. Meeting Minimum Hardware Requirements 3.6. Pre-Partitioning for Multi-Boot Systems 3.7. Installing Debian GNU/Linux from a Unix/Linux System 3.8. Pre-Installation Hardware and Operating System Setup 4. Obtaining System Installation Media 4.1. Official Debian GNU/Linux CD-ROM Sets 4.2. Downloading Files from Debian Mirrors 4.3. Creating Floppies from Disk Images 4.4. Preparing Files for Hard Disk Booting 4.5. Preparing Files for TFTP Net Booting 4.6. Automatic Installation 5. Booting the Installation System 5.1. Boot Parameter Arguments 5.2. Booting from a CD-ROM 5.3. Booting from Floppies 5.4. Booting From a Hard Disk 5.5. Booting from TFTP 5.6. Troubleshooting the Install Process 5.7. Introduction to `dbootstrap' 5.8. ``Choose The Language'' 5.9. ``Release Notes'' 5.10. ``Debian GNU/Linux Installation Main Menu'' 5.11. ``Configure the Keyboard'' 5.12. Last Chance! 6. Partitioning for Debian 6.1. Deciding on Debian Partitions and Sizes 6.2. The Directory Tree 6.3. Recommended Partitioning Scheme 6.4. Device Names in Linux 6.5. Debian Partitioning Programs 6.6. Partitioning Newer PowerMacs 6.7. ``Initialize and Activate a Swap Partition'' 6.8. ``Initialize a Linux Partition'' 6.9. ``Mount a Previously-Initialized Partition'' 6.10. Mounting Partitions Not Supported by `dbootstrap' 7. Installing the Kernel and Base Operating System 7.1. ``Install Kernel and Driver Modules'' 7.2. NFS 7.3. Network 7.4. NFS Root 7.5. ``Configure PCMCIA Support'' 7.6. ``Configure Device Driver Modules'' 7.7. ``Configure the Network'' 7.8. ``Install the Base System'' 8. Booting Into Your New Debian System 8.1. ``Make System Bootable'' 8.2. The Moment of Truth 8.3. Debian Post-Boot (Base) Configuration 8.4. Configuring your Time Zone 8.5. MD5 Passwords 8.6. Shadow Passwords 8.7. Set the Root Password 8.8. Create an Ordinary User 8.9. Setting Up PPP 8.10. Removing PCMCIA 8.11. Configuring APT 8.12. Package Installation: Simple or Advanced 8.13. Simple Package Selection --- The Task Installer 8.14. Advanced Package Selection with `dselect' 8.15. Prompts During Software Installation 8.16. Log In 9. Next Steps and Where to Go From Here 9.1. If You Are New to Unix 9.2. Shutting Down the System 9.3. Orienting Yourself to Debian 9.4. Further Reading and Information 9.5. Compiling a New Kernel 10. Technical Information on the Boot Floppies 10.1. Source Code 10.2. Rescue Floppy 10.3. Replacing the Rescue Floppy Kernel 11. Appendix 11.1. Further Information 11.2. Obtaining Debian GNU/Linux 11.3. Linux Devices 11.4. Disk Space Needed for Tasks 11.5. Effects of Verbose and Quiet 12. Administrivia 12.1. About This Document 12.2. Contributing to This Document 12.3. Major Contributions 12.4. Trademark Acknowledgement ------------------------------------------------------------------------------- 1. Welcome to Debian -------------------- We are delighted that you have decided to try Debian, and are 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.fsf.org/fsf/fsf.html) and influenced by the GNU (http://www.gnu.org/gnu/the-gnu-project.html) philosophy, has grown over the years into an organization of around 800 _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 The Open Source Definition (http://opensource.org/docs/definition_plain.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 file system. 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.zork.net/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 3.0 pages (http://www.debian.org/releases/woody/) for any last-minute information about the 3.0 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/woody/powerpc/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, perform any necessary planning and hardware configuration prior to installing Debian, in Chapter 3, `Before Installing Debian GNU/Linux'. If you are preparing a multi-boot system, you may need to create partition-able space on your hard disk for Debian to use. 3. In Chapter 4, `Obtaining System Installation Media', you will obtain the necessary installation files for your method of installation. 4. Chapter 5, `Booting the Installation System', describes booting into the installation system. This chapter also discusses troubleshooting procedures in case you have problems with this step. 5. Setting up the Linux partitions for your Debian system is explained in Chapter 6, `Partitioning for Debian'. 6. Install the kernel and configure peripheral driver modules in Chapter 7, `Installing the Kernel and Base Operating System'. Configure your network connection so that remaining installation files can be obtained directly from a Debian server, if you are not installing from a CD. 7. Initiate automatic download/install/setup of a minimal working system in Section 7.8, ```Install the Base System'''. 8. Boot into your newly installed base system and run through some additional configuration tasks, from Chapter 8, `Booting Into Your New Debian System'. 9. Install additional software in Section 8.12, `Package Installation: Simple or Advanced'. Use `tasksel' to install groups of packages which form a computer `task', `dselect' to select individual packages from a long list, or `apt-get' to install individual packages when you already know the package names you want. Once you've got your system installed, you can read Chapter 9, `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 10, `Technical Information on the Boot Floppies'. Finally, information about this document and how to contribute to it may be found in Chapter 12, `Administrivia'. 1.8. 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. Working versions of this document can be found at http://www.debian.org/releases/woody/powerpc/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 12, `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/share/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. Please refer to the Ports pages at http://www.debian.org/ports/powerpc/ for more details on powerpc architecture systems which have been tested with Debian. Rather than attempting to describe all the different hardware configurations which are supported for PowerPC, this section contains general information and pointers to where additional information can be found. 2.1.1. Supported Architectures ------------------------------ Debian 3.0 supports eleven major architectures and several variations of each architecture known as 'flavors'. Architecture | Debian Designation / Flavor ---------------------+---------------------------- Intel x86-based | i386 | - vanilla | - idepci | - compact | - bf2.4 (experimental) | Motorola 680x0: | m68k - Atari | - atari - Amiga | - amiga - 68k Macintosh | - mac - VME | - bvme6000 | - mvme147 | - mvme16x | DEC Alpha | alpha | - generic | - jensen | - nautilus | Sun SPARC | sparc | - sun4cdm | - sun4u | ARM and StrongARM | arm | - netwinder | - riscpc | - shark | - lart | IBM/Motorola PowerPC | powerpc - CHRP | - chrp - PowerMac | - powermac, new-powermac - PReP | - prep - APUS | - apus | HP PA-RISC | hppa - PA-RISC 1.1 | - 32 - PA-RISC 2.0 | - 64 | Intel ia64-based | ia64 | MIPS (big endian) | mips - SGI Indy/I2 | - r4k-ip22 | MIPS (little endian) | mipsel - DEC Decstation | - r4k-kn04 | - r3k-kn02 | IBM S/390 | s390 | - tape | - vmrdr | ---------------------+---------------------------- This document covers installation for the _powerpc_ architecture. If you are looking for information on any of the other Debian-supported architectures take a look at the Debian-Ports (http://www.debian.org/ports/) pages. 2.1.2. CPU, Main Boards, and Video Support ------------------------------------------ There are four major supported _powerpc_ flavors: PMac (Power-Macintosh) PReP, Apus, and CHRP machines. Ports to other _powerpc_ architectures, such as the Be-Box and MBX architecture, are underway but not yet supported by Debian. We may have a 64bit port (Power3) in the future. Apple (and briefly a few other manufacturers - Power Computing, for example) makes a series of Macintosh computers based on the PowerPC processor. For purposes of architecture support, they are categorized as NuBus, OldWorld PCI, and NewWorld. Macintosh computers using the 680x0 series of processors are not in the PowerPC family but are instead m68k machines. Those models start with `Mac II' or have a 3-digit model number such as Centris 650 or Quadra 950. Apple's pre-iMac PowerPC model numbers have four digits. NuBus systems are not currently supported by debian/powerpc. The monolithic Linux/PPC kernel architecture does not have support for these machines; instead, one must use the MkLinux Mach microkernel, which Debian does not yet support. These include the following: * Power Macintosh 6100, 7100, 8100 * Performa 5200, 6200, 6300 * Powerbook 1400, 2300, and 5300 * Workgroup Server 6150, 8150, 9150 A linux kernel for these machines and limited support is available at http://nubus-pmac.sourceforge.net/ OldWorld systems are most Power Macintoshes with a floppy drive and a PCI bus. Most 603, 603e, 604, and 604e based Power Macintoshes are OldWorld machines. The beige colored G3 systems are also OldWorld. The so called NewWorld PowerMacs are any PowerMacs in translucent colored plastic cases. That includes all iMacs, iBooks, G4 systems, blue colored G3 systems, and most PowerBooks manufactured in and after 1999. The NewWorld PowerMacs are also known for using the `ROM in RAM' system for MacOS, and were manufactured from mid-1998 onwards. Recently introduced Macintosh systems have hardware which is more well supported by the 2.4 Linux kernel. For some, the 2.2 kernel just doesn't work. The new-powermac flavor, which uses the 2.4 kernel, has been added to keep up with the hardware. The new-powermac flavor may also be installed on other OldWorld and NewWorld machines. Machines for which new-powermac is highly recommended are flagged with an asterisk below. Specifications for Apple hardware are available at AppleSpec (http://www.info.apple.com/support/applespec.html), and, for older hardware, AppleSpec Legacy (http://www.info.apple.com/support/applespec.legacy/index.html). Model Name/Number Architecture ---------------------------------------------- --------------- Apple iMac Bondi Blue, 5 Flavors, Slot Loading powermac-NewWorld iMac Summer 2000, Early 2001 powermac-NewWorld * iBook, iBook SE, iBook Dual USB powermac-NewWorld * iBook2 powermac-NewWorld Power Macintosh Blue and White (B&W) G3 powermac-NewWorld * Power Macintosh G4 PCI, AGP, Cube powermac-NewWorld * Power Macintosh G4 Gigabit Ethernet powermac-NewWorld * Power Macintosh G4 Digital Audio, Quicksilver powermac-NewWorld PowerBook G3 FireWire Pismo (2000) powermac-NewWorld PowerBook G3 Lombard (1999) powermac-NewWorld * PowerBook G4 Titanium powermac-NewWorld Performa 4400, 54xx, 5500 powermac-OldWorld Performa 6360, 6400, 6500 powermac-OldWorld Power Macintosh 4400, 5400 powermac-OldWorld Power Macintosh 7200, 7300, 7500, 7600 powermac-OldWorld Power Macintosh 8200, 8500, 8600 powermac-OldWorld Power Macintosh 9500, 9600 powermac-OldWorld Power Macintosh (Beige) G3 Minitower powermac-OldWorld Power Macintosh (Beige) Desktop, All-in-One powermac-OldWorld PowerBook 2400, 3400, 3500 powermac-OldWorld PowerBook G3 Wallstreet (1998) powermac-OldWorld Twentieth Anniversary Macintosh powermac-OldWorld Workgroup Server 7250, 7350, 8550, 9650, G3 powermac-OldWorld Power Computing PowerBase, PowerTower / Pro, PowerWave powermac-OldWorld PowerCenter / Pro, PowerCurve powermac-OldWorld UMAX C500, C600, J700, S900 powermac-OldWorld APS APS Tech M*Power 604e/2000 powermac-OldWorld Motorola Starmax 3000, 4000, 5000, 5500 powermac-OldWorld Firepower, PowerStack Series E, PowerStack II prep MPC 7xx, 8xx prep MTX, MTX+ prep MVME2300(SC)/24xx/26xx/27xx/36xx/46xx prep MCP(N)750 prep IBM RS/6000 40P, 43P prep Power 830/850/860 (6070, 6050) prep 6030, 7025, 7043 prep p640 prep B50, 43P-150, 44P chrp Amiga Power-UP Systems (APUS) A1200, A3000, A4000 apus 2.1.2.1. Graphics Card ---------------------- Debian's support for graphical interfaces is determined by the underlying support found in XFree86's X11 system. The newer AGP video slots are actually a modification on the PCI specification, and most AGP video cards work under XFree86. Details on supported graphics buses, cards, monitors, and pointing devices can be found at http://www.xfree86.org/. Debian 3.0 ships with X11 revision 4.1.0. 2.1.3. Multiple Processors -------------------------- Multi-processor support --- also called ``symmetric multi-processing'' or SMP --- is supported for this architecture. However, the standard Debian 3.0 kernel image does not support SMP. This should not prevent installation, since the standard, non-SMP kernel should boot on SMP systems; the kernel will simply use the first CPU. In order to take advantage of multiple processors, you'll have to replace the standard Debian kernel. You can find a discussion of how to do this in Section 9.5, `Compiling a New Kernel'. At this time (kernel version 2.2.20) the way you enable SMP is to select ``symmetric multi-processing'' in the ``General'' section of the kernel config. 2.2. Installation Media ----------------------- In many cases, you'll have to do your first boot from floppy disks, using the rescue floppy. Generally, all you will need is a high-density (1440 kilobytes) 3.5 inch floppy drive. For CHRP floppy support is currently broken. CD-ROM based installation is 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 5.2, `Booting from a CD-ROM'. Installation system booting from a hard disk is another option for many architectures. You can also _boot_ your system over the network. Diskless installation, using network booting from a local area network and NFS-mounting of all local filesystems, is another option --- you'll probably need at least 16MB of RAM for a diskless installation. After the operating system kernel is installed, you can install the rest of your system via any sort of network connection (including PPP after installation of the base system), via FTP, HTTP, or NFS. 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, which includes many drivers that won't be used for your machine (see Section 9.5, `Compiling a New Kernel' to learn how to build your own kernel). Support for the widest possible range of devices is desirable in general, to ensure that Debian can be installed on the widest array of hardware. Any storage system supported by the Linux kernel is also supported by the boot system. Note that the current Linux kernel does not support floppies on CHRP systems at all. 2.3. Memory and Disk Space Requirements --------------------------------------- You must have at least 16MB of memory and 110MB of hard disk space. For a minimal console-based system (all standard packages), 250MB is required. 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 400MB. 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. 2.4. Network Connectivity Hardware ---------------------------------- 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. 2.5. Peripherals and Other Hardware ----------------------------------- Linux supports a large variety of hardware devices such as mice, printers, scanners, PCMCIA and USB devices. However, most of these devices are not 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. 2.6. Purchasing Hardware Specifically for GNU/Linux --------------------------------------------------- There are several vendors, 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. 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.6.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. 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 Installing Debian GNU/Linux ------------------------------------- 3.1. Overview of the Installation Process ----------------------------------------- Here's a road map for the steps you will take during the installation process. 1. Create partition-able space for Debian on your hard disk 2. Locate and/or download kernel and driver files (except Debian CD users) 3. Set up boot floppies or place boot files (except most Debian CD users can boot from one of the CDs) 4. Boot the installation system 5. Configure the keyboard 6. Create and mount Debian partitions 7. Point the installer to the location of the kernel and drivers 8. Select which peripheral drivers to load 9. Configure the network interface 10. Initiate automatic download/install/setup of the base system 11. Configure Linux or multi-system boot loading 12. Boot the newly installed system and do some final configuration 13. Install additional tasks and packages, at your discretion 3.2. Back Up Your Existing Data! -------------------------------- Before you start, make sure to back up every file that is now on your system. If this is the first time a non-native operating system has been installed on your computer, it's quite likely you will need to re-partition your disk to make room for Debian GNU/Linux. Anytime you partition your disk, you should count on losing everything on the disk, no matter what program you use to do it. The programs used in installation are quite reliable and most have seen years of use; but they are also quite powerful and 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. If you are creating a multi-boot system, make sure that you have the distribution media of any other present operating systems on hand. Especially if you repartition your boot drive, you might find that you have to reinstall your operating system's boot loader, or in many cases the whole operating system itself and all files on the affected partitions. 3.3. Information You Will Need ------------------------------ 3.3.1. Documentation -------------------- 3.3.1.1. Installation Manual ---------------------------- This file you are now reading, in plain ASCII, HTML or PDF format. * install.en.txt * install.en.html * install.en.pdf 3.3.1.2. Dselect for Beginners ------------------------------ Tutorial for using the `dselect' program. This is one means of installing additional packages onto your system after the basic install is complete. * dselect-beginner 3.3.1.3. Partitioning Program Manual Pages ------------------------------------------ Manual pages for the partitioning software used during the installation process. * cfdisk.txt * mac-fdisk.txt 3.3.1.4. MD5 checksums ---------------------- 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'. * .../current/md5sum.txt (http://http.us.debian.org/debian/dists/woody/main/disks-powerpc/current/md5sum.txt) 3.3.2. Finding Sources of Hardware Information ---------------------------------------------- Hardware information can be gathered from: * The manuals that come with each piece of hardware. * The BIOS setup screens of your computer. You can view these screens when you start your computer by pressing a combination of keys. Check your manual for the combination. Often, it is the Delete key. * The cases and boxes for each piece of hardware. * System commands or tools in another operating system, including file manager displays. This source is especially useful for information about RAM and hard drive memory. * Your system administrator or Internet Service Provider. These sources can tell you the settings you need to set up your networking and e-mail. Hardware Information Needed for an Install +-------------------------------------------------------------------+ |Hardware| Information You Might Need | |--------+----------------------------------------------------------| | | * How many you have. | | | * Their order on the system. | |Hard | * Whether IDE or SCSI (most computers are IDE). | |Drives | * Available free space. | | | * Partitions. | | | * Partitions where other operating systems are | | | installed. | |--------+----------------------------------------------------------| | | * Model and manufacturer. | | | * Resolutions supported. | |Monitor | * Horizontal refresh rate. | | | * Vertical refresh rate. | | | * Color depth (number of colors) supported. | | | * Screen size. | |--------+----------------------------------------------------------| | | * Type: serial, PS, or USB. | |Mouse | * Port. | | | * Manufacturer. | | | * Number of buttons. | |--------+----------------------------------------------------------| |Network | * Model and manufacturer. | | | * Type of adapter. | |--------+----------------------------------------------------------| |Printer | * Model and manufacturer. | | | * Printing resolutions supported. | |--------+----------------------------------------------------------| | | * Model and manufacturer. | |Video | * Video RAM available. | |Card | * Resolutions and color depths supported (these should | | | be checked against your monitor's capabilities). | +-------------------------------------------------------------------+ 3.3.3. Hardware Compatibility ----------------------------- Many brand name products work without trouble on Linux. Moreover, hardware for Linux is improving daily. However, Linux still does not run as many different types of hardware as some operating systems. You can check hardware compatibility by: * Checking manufacturers' web sites for new drivers. * Looking at web sites or manuals for information about emulation. Lesser known brands can sometimes use the drivers or settings for better-known ones. * Checking hardware compatibility lists for Linux on web sites dedicated to your architecture. * Searching the Internet for other users' experiences. 3.3.4. Network Settings ----------------------- 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. On the other hand, if your administrator tells you that a DHCP server is available and is recommended, then you don't need this information because the DHCP server will provide it directly to your computer during the installation process. * 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. * Whether your Ethernet interface is a PCMCIA card; if so, the type of PCMCIA controller you have. If your computer's only network connection is via a serial line, using PPP or an equivalent dialup connection, you will not be able to install the base system over the network. To install the system in this case, you must use a CD, pre-load the base packages on an existing hard disk partition, or prepare floppy disks containing the base packages. See Section 8.9, `Setting Up PPP' below for information on setting up PPP under Debian once the system is installed. 3.4. Planning Use of the System ------------------------------- It is important to decide what type of machine you are creating. This will determine the disk space requirements for your Debian system. 3.5. Meeting Minimum Hardware Requirements ------------------------------------------ Once you have gathered information about your computer's hardware, check that your hardware will let you do the type of installation that you want to do. Depending on your needs, you might manage with less than some of the recommended hardware listed in the table below. However, most users risk being frustrated if they ignore these suggestions. Any OldWorld or NewWorld PowerPC can serve well as a Desktop System. For servers, a minimum 132-Mhz machine is recommended. Recommended Minimum System Requirements +------------------------------------------+ |Install Type| RAM | Hard Drive | |------------+--------------+--------------| |No desktop | 16 megabytes | 450 megabytes| |------------+--------------+--------------| |With Desktop| 64 megabytes | 1 gigabyte | |------------+--------------+--------------| |Server | 128 megabytes| 4 gigabytes | +------------------------------------------+ Here is a sampling of some common Debian system configurations. You can also get an idea of the disk space used by related groups of programs by referring to Section 11.4, `Disk Space Needed for Tasks'. Standard Server This is a small server profile, useful for a stripped down server which does not have a lot of niceties for shell users. It includes an FTP server, a web server, DNS, NIS, and POP. For these 50MB of disk space would suffice, and then you would need to add space for any data you serve up. Dialup A standard desktop box, including the X window system, graphics applications, sound, editors, etc. Size of the packages will be around 500MB. Work Console 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 140MB. Developer A desktop setup with all the development packages, such as Perl, C, C++, etc. Size is around 475MB. Assuming you are adding X11 and some additional packages for other uses, you should plan around 800MB 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 20MB; with logs and the rest, you should usually allocate at least 50MB for `/var'. 3.6. Pre-Partitioning for Multi-Boot Systems -------------------------------------------- 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 and want to stick Linux on the same disk, you will need to repartition the disk. Debian requires its own hard disk partitions. It cannot be installed on Windows or MacOS partitions. It may be able to share some partitions with other Linux systems, but that's not covered here. At the very least you will need a dedicated partition for the Debian root. You can find information about your current partition setup by using a partitioning tool for your current operating system , such as Drive Setup, HD Toolkit, or MacTools . Partitioning tools always provide a way to show existing partitions without making changes. In general, changing a partition with a file system 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. If your computer has more than one hard disk, you may want to dedicate one of the hard disks completely to Debian. If so, you don't need to partition that disk before booting the installation system; the installer's included partitioning program can handle the job nicely. If your machine has only one hard disk, and you would like to completely replace the current operating system with Debian GNU/Linux, you also can wait to partition as part of the installation process (Chapter 6, `Partitioning for Debian'), after you have booted the installation system. However this only works if you plan to boot the installer system from floppies, CD-ROM or files on a connected machine. Consider: if you boot from files placed on the hard disk, and then partition that same hard disk within the installation system, thus erasing the boot files, you'd better hope the installation is successful the first time around. At the least in this case, you should have some alternate means of reviving your machine like the original system's installation floppies or CDs. If your machine already has multiple partitions, and enough space can be provided by deleting and replacing one or more of them, then you too can wait and use the Debian installer's partitioning program. You should still read through the material below, because there may be special circumstances like the order of the existing partitions within the partition map, that force you to partition before installing anyway. In all other cases, you'll need to partition your hard disk before starting the installation to create partition-able space for Debian. If some of the partitions will be owned by other operating systems, you should create those partitions using native operating system partitioning programs. We recommend that you do _not_ attempt to create Debian Linux partitions using another operating system's tools. Instead, you should just create the native operating system's partitions you will want to retain. If you are going to install more than one operating system on the same machine, you should install all other system(s) before proceeding with Linux installation. Windows and other OS installations may destroy your ability to start Linux, or encourage you to reformat non-native partitions. You can recover from these actions or avoid them, but installing the native system first saves you trouble. In order for OpenFirmware to automatically boot Debian GNU/Linux the Linux partitions should appear before all other partitions on the disk, especially MacOS boot partitions. This should be kept in mind when pre-partitioning; you should create a Linux placeholder partition to come _before_ the other bootable partitions on the disk. (The small partitions dedicated to Apple disk drivers are not bootable.) You can delete the placeholder with the Linux partition tools later during the actual install, and replace it with Linux partitions. If you currently have one hard disk with one partition (a common setup for desktop computers), and you want to multi-boot the native operating system and Debian, you will need to: 1. Back up everything on the computer. 2. Boot from the native operating system installer media such as CD-ROM or floppies. When booting from a MacOS CD, hold the c key while booting to force the CD to become the active MacOS system. 3. Use the native partitioning tools to create native system partition(s). Leave either a place holder partition or free space for Debian GNU/Linux. 4. Install the native operating system on its new partition. 5. Boot back into the native system to verify everything's OK, and to download the Debian installer boot files. 6. Boot the Debian installer to continue installing Debian. 3.6.1. MacOS/OSX Partitioning ----------------------------- The `Apple Drive Setup' application can be found in the `Utilities' folder on the MacOS CD. It will not adjust existing partitions; it is limited to partitioning the entire disk at once. The disk driver partitions don't show up in `Drive Setup'. Remember to create a placeholder partition for GNU/Linux, preferably positioned first in the disk layout. it doesn't matter what type it is, it will be deleted and replaced later inside the Debian GNU/Linux installer. If you are planning to install both MacOS 9 and OS X, it is best to create separate partitions for OS 9 and OS X. If they are installed on the same partition, `Startup Disk' (and reboot) must be used to select between the two; the choice between the two systems can't be made at boot time. With separate partitions, separate options for OS 9 and OS X will appear when holding the option key at boot time, and separate options can be installed in the `yaboot' boot menu as well. Also, Startup Disk will de-bless all other mountable partitions, which can affect GNU/Linux booting. Both OS 9 and OS X partitions will be accessible from either OS 9 or OS X. GNU/Linux is unable to access information on HFS+ (aka MacOS Extended) or UFS partitions. OS X requires one of these two types for its boot partition. MacOS 9 can be installed on either HFS (aka MacOS Standard) or HFS+. To share information between the MacOS and GNU/Linux systems, an exchange partition is handy. HFS and MS-DOS FAT partitions are supported by both MacOS and Linux. 3.7. Installing Debian GNU/Linux from a Unix/Linux System --------------------------------------------------------- This section explains how to install Debian GNU/Linux from an existing Unix or Linux system, without using the ncurses-based, menu-driven installer as explained in the rest of the manual. This "cross-install" HOWTO has been requested by users switching to Debian GNU/Linux from Redhat, Mandrake, and SUSE. In this section some familiarity with entering *nix commands and navigating the file system is assumed. In this section, `$' symbolizes a command to be entered in the user's current system, while `#' refers to a command entered in the Debian chroot. Once you've got the new Debian system configured to your preference, you can migrate your existing user data (if any) to it, and keep on rolling. This is therefore a "zero downtime" Debian GNU/Linux install. It's also a clever way for dealing with hardware that otherwise doesn't play friendly with various boot or installation media. 3.7.1. Getting Started ---------------------- With your current *nix partitioning tools, repartition the hard drive as needed, creating at least one filesystem plus swap. You need at least 150MB of space available for a console only install, or at least 300MB if you plan to install X. To create file systems on your partitions. For example, to create an ext3 file system on partition `/dev/hda6' (that's our example root partition): $ mke2fs -j /dev/hda6 To create an ext2 file system instead, omit `-j'. Initialize and activate swap (substitute the partition number for your intended Debian swap partition): $ mkswap /dev/hda5 $ sync; sync; sync $ swapon /dev/hda5 Mount one partition as `/mnt/debinst' (the installation point, to be the root (`/') filesystem on your new system). The mount point name is strictly arbitrary, it is referenced later below. $ mkdir /mnt/debinst $ mount /dev/hda6 /mnt/debinst 3.7.2. Install `debootstrap' ---------------------------- The tool that the Debian installer uses, which is recognized as the official way to install a Debian base system, is `debootstrap'. It uses `wget', but otherwise depends only on `glibc'. Install `wget' if it isn't already on your current system, then download and install `debootstrap'. If you have an rpm-based system, you can use alien to convert the .deb into .rpm, or download an rpm-ized version at http://people.debian.org/~blade/install/debootstrap Or, you can use the following procedure to install it manually. Make a work folder for extracting the .deb into: $ mkdir work $ cd work The `debootstrap' binary is located in the Debian archive (be sure to select the proper file for your architecture). Download the `debootstrap' .deb from the pool (http://ftp.debian.org/debian/pool/main/d/debootstrap/), copy the package to the work folder, and extract the binary files from it. You will need to have root privileges to install the binaries. $ ar -xf debootstrap_0.X.X_arch.deb $ cd / $ zcat < /full-path-to-work/work/data.tar.gz | tar xv The current version of `debootstrap', at least for i386, has been compiled with glibc 2.3. Therefore if you are upgrading from Redhat 6.0, you will need to obtain the source files and re-compile. 3.7.3. Run `debootstrap' (Network-connected) -------------------------------------------- `debootstrap' can download the needed files directly from the archive when you run it. You can substitute any Debian archive mirror for `http.us.debian.org/debian' in the command example below, preferably a mirror close to you network-wise. Mirrors are listed at http://www.debian.org/misc/README.mirrors. When running `debootstrap', the PATH needs to include `/usr/sbin' and `/sbin' for subsidiary program calls. If you have a woody version Debian GNU/Linux CD mounted at /cdrom, you could substitute a file URL instead of the http URL: `file:/cdrom/debian/' Substitute one of the following for `ARCH' in the `debootstrap' command: `alpha', `arm', `hppa', `i386', `ia64', `m68k', `mips', `mipsel', `powerpc', `s390', or `sparc'. $ /usr/sbin/debootstrap --arch ARCH woody \ /mnt/debinst http://http.us.debian.org/debian 3.7.4. Run `debootstrap' (Using `basedebs.tar') ----------------------------------------------- `debootstrap' can use the `basedebs.tar' file, if you have already downloaded it ahead of time. The `basedebs.tar' file is generated only every once in a while, so you'll get the latest version of the base system by pointing `debootstrap' directly to a Debian archive as shown in the previous section. The `basedebs.tar' file is found in the `base-images-current' directory of the Debian archive for your architecture, for example: http://http.us.debian.org/debian/dists/woody/main/disks-i386/base-images-current/basedebs.tar Substitute one of the following for `ARCH' in the `debootstrap' command: `alpha', `arm', `hppa', `i386', `ia64', `m68k', `mips', `mipsel', `powerpc', `s390', or `sparc'. $ /usr/sbin/debootstrap --arch ARCH --unpack-tarball \ /path-to-downloaded/basedebs.tar woody /mnt/debinst 3.7.5. Configure The Base System -------------------------------- Now you've got a real Debian system, though rather lean, on disk. `Chroot' into it: $ chroot /mnt/debinst /bin/bash 3.7.5.1. Mount Partitions ------------------------- You need to create `/etc/fstab'. # editor /etc/fstab Here is a sample you can modify to suit: # /etc/fstab: static file system information. # # file system mount point type options dump pass /dev/XXX / ext2 defaults 0 0 /dev/XXX /boot ext2 ro,nosuid,nodev 0 2 /dev/XXX none swap sw 0 0 proc /proc proc defaults 0 0 /dev/fd0 /mnt/floppy auto noauto,rw,sync,user,exec 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,ro,user,exec 0 0 /dev/XXX /tmp ext2 rw,nosuid,nodev 0 2 /dev/XXX /var ext2 rw,nosuid,nodev 0 2 /dev/XXX /usr ext2 rw,nodev 0 2 /dev/XXX /home ext2 rw,nosuid,nodev 0 2 Use `mount -a' to mount all the file systems you have specified in your `/etc/fstab', or to mount file systems individually use: # mount /path # e.g.: mount /usr You can mount the proc file system multiple times and to arbitrary locations, though /proc is customary. If you didn't use `mount -a', be sure to mount proc before continuing: # mount -t proc proc /proc A RedHat user reports that for his system, this should instead be # mount -t proc none /proc 3.7.5.2. Configure Keyboard --------------------------- To configure your keyboard: # dpkg-reconfigure console-data 3.7.5.3. Configure Networking ----------------------------- To configure networking, edit `/etc/network/interfaces', `/etc/resolv.conf', and `etc/hostname'. # editor /etc/network/interfaces Here are some simple examples from `/usr/share/doc/ifupdown/examples': ###################################################################### # /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) # See the interfaces(5) manpage for information on what options are # available. ###################################################################### # We always want the loopback interface. # auto lo iface lo inet loopback # To use dhcp: # # auto eth0 # iface eth0 inet dhcp # An example static IP setup: (broadcast and gateway are optional) # # auto eth0 # iface eth0 inet static # address 192.168.0.42 # network 192.168.0.0 # netmask 255.255.255.0 # broadcast 192.168.0.255 # gateway 192.168.0.1 Enter your nameserver(s) and search directives in `/etc/resolv.conf': # editor /etc/resolv.conf A simple `/etc/resolv.conf': # search hqdom.local\000 # nameserver 10.1.1.36 # nameserver 192.168.9.100 Enter your system's host name (2 to 63 characters): # echo DebianHostName > /etc/hostname If you have multiple network cards, you should arrange the names of driver modules in the `/etc/modules' file into the desired order. Then during boot, each card will be associated with the interface name (eth0, eth1, etc.) that you expect. 3.7.5.4. Configure Timezone, Users, and APT ------------------------------------------- Set your timezone, add a normal user, and choose your `apt' sources by running # /usr/sbin/base-config 3.7.5.5. Configure Locales -------------------------- To configure your locale settings to use a language other than English, install the locales support package and configure it: # apt-get install locales # dpkg-reconfigure locales NOTE: Apt must be configured before, ie. during the base-config phase. Before using locales with character sets other than ASCII or latin1, please consult the appropriate localisation HOWTO. 3.7.6. Install a Kernel ----------------------- If you intend to boot this system, you probably want a Linux kernel and a boot loader. Identify available pre-packaged kernels with # apt-cache search kernel-image Then install your choice using its package name. # apt-get install kernel-image-2.X.X-arch-etc 3.7.7. Set up the Boot Loader ----------------------------- To make your Debian GNU/Linux system bootable, set up your boot loader to load the installed kernel with your new root partition. Check `man yaboot.conf' for instructions on setting up the bootloader. If you are keeping the system you used to install Debian, just add an entry for the Debian install to your existing yaboot.conf. You could also copy it to the new system and edit it there. After you are done editing, call ybin (remember it will use yaboot.conf relative to the system you call it from). Here is a basic /etc/yaboot.conf as an example: boot=/dev/hda2 device=hd: partition=6 root=/dev/hda6 magicboot=/usr/lib/yaboot/ofboot timeout=50 image=/vmlinux label=Debian On some machines, you may need to use `ide0:' instead of `hd:'. 3.8. Pre-Installation Hardware and Operating System Setup --------------------------------------------------------- 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). Known hardware issues affecting the reliability of Debian GNU/Linux on your system are also highlighted. 3.8.1. Invoking OpenFirmware ---------------------------- There is normally no need to set up the BIOS (called OpenFirmware) on PowerPC systems. PReP and CHRP are equipped with OpenFirmware, but unfortunately, the means you use to invoke it vary from manufacturer to manufacturer. You'll have to consult the hardware documentation which came with your machine. On PowerPC Macintoshes, you invoke OpenFirmware with _Command-option-O-F_ while booting. Generally it will check for these keystrokes after the chime, but the exact timing varies from model to model. See http://www.netbsd.org/Ports/macppc/faq.html for more hints. You can also change OpenFirmware settings using the Linux `nvsetenv' program, which is available within the installer command shell. Without parameters, it lists the current settings. To change a setting, add a setting name and setting value on the command line. The OpenFirmware prompt looks like this: ok 0 > Note that on older model PowerPC Macs, the default and sometimes hardwired I/O for OpenFirmware user interaction is through the serial (modem) port. If you invoke OpenFirmware on one of these machines, you will just see a black screen. In that case, a terminal program running on another computer, connected to the modem port, is needed to interact with OpenFirmware. The OpenFirmware on OldWorld Beige G3 machines, OF versions 2.0f1 and 2.4, is broken. These machines will most likely not be able to boot from the hard drive unless the firmware is patched. A firmware patch is included in the `System Disk' 2.3.1 utility, available from Apple at ftp://ftp.apple.com/developer/macosxserver/utilities/SystemDisk2.3.1.smi.bin. After unpacking the utility in MacOS, and launching it, select the Save button to have the firmware patches installed to nvram. 3.8.2. Hardware Issues to Watch Out For --------------------------------------- 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. 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. ------------------------------------------------------------------------------- 4. Obtaining System Installation Media -------------------------------------- 4.1. Official Debian GNU/Linux CD-ROM Sets ------------------------------------------ By far the easiest way to install Debian GNU/Linux is from an Official Debian CD-ROM Set (see the CD vendors page (http://www.debian.org/CD/vendors/)). You may also download the CD-ROM images from a Debian mirror and make your own set, if you have a fast network connection and a CD burner (see the Debian CD page (http://www.debian.org/CD/) for detailed instructions). If you have a Debian CD set and CDs are bootable on your machine, you can skip right to Section 5.2, `Booting from a CD-ROM'; much effort has been expended to ensure the files most people need are there on the CD. Although a full set of binary packages comprises of seven or more CDs, it is unlikely you will need packages on the third CD and above. If your machine doesn't support CD booting, but you do have a CD set, you can use an alternative strategy ( floppy disk, hard disk, or net boot) to initially boot the system installer. The files you need for booting by another means are also on the CD; the Debian network archive and CD folder organization are identical. So when archive file paths are given below for particular files you need for booting, look for those files in the same directories and subdirectories on your CD. Once the installer is booted, it will be able to obtain all the other files it needs from the CD. If you don't have a CD set, then you will need to download the installer system files and place them either on your hard disk, floppy disk or a connected computer so they can be used to boot the installer. 4.2. Downloading Files from Debian Mirrors ------------------------------------------ When downloading files from a Debian mirror, be sure to download the files in _binary_ mode, not text or automatic mode. It's important to replicate the directory structure you find on the mirror to create a local `sub-mirror'. It isn't really necessary to do this if you place all the installation files on floppies; but it still makes it easier to find the files when you need them. You should start your local directory structure at the level under `disks-powerpc', for example: current//images-1.44//rescue.bin You don't need to download every file under that level, just those that apply to you (you'll find out which ones apply as you read on). Just name the directories the same as the mirror's, and keep the files in their proper directories. If your machine is set up to automatically decompress/decode files you download, you must turn that feature off when downloading the installation system files. They will be decompressed just-in-time by the installer. Decompressing in your current system will waste space and time, and if the original compressed archives are deleted by the decompression program, they won't be there later when the installer needs them. Also, many of the binary files such as `yaboot' will be automatically interpreted as text since they have no file extensions unless you specifically select binary transfer mode. These files will be _unusable_ if they are transferred in text mode. 4.2.1. Installation Options --------------------------- Files you may need fall into three categories: 1. Files needed to boot into the installation system (for example, `rescue.bin', `linux.bin', and `root.bin') 2. Files the installation system will need access to after it has been booted in order to install the operating system kernel and peripheral drivers (for example, `rescue.bin' and `drivers.tgz') 3. Base system installation files (for example, `basedebs.tar') If you have a working Ethernet connection on the computer, and your Ethernet card is of one of the types compiled into the installation kernel, you may only need the install system boot files. The installer is capable of installing the kernel and drivers over the network for many common Ethernet cards. If you have an Ethernet connection for which the installer doesn't have built-in support, you may need both the install system boot files and the kernel and peripheral driver installation files. If you are installing on a system without a working network connection, or if your network connection is via PPP (using a modem) rather than Ethernet, you will need to obtain all three types of files before starting the installation. If you're not sure which files you need, just start with the install system boot files. If your first attempt to configure the network within the installer fails, you can just quit, get the extra files you need, and re-start the installation. The base system installation file `basedebs.tar' is currently about 27M. If you are able to use a CD, or configure your network before installing the base system, it is better to do so; in that case you won't need this file. The network location is listed in the appendix (Section 11.2.3.4, `Debian Base System Installation Files'). 4.2.2. Choosing the Right Installation Set ------------------------------------------ Installation files include kernel images, which are available for various ``subarchitectures''. Each subarchitecture supports a different set of hardware. The subarchitectures available for PowerPC are: `powermac' This is the kernel to use for most Power Macintosh computers; it uses version 2.2 of the Linux kernel. `new-powermac' Use this kernel for very new Power Macintosh computers; it is based on version 2.4 of the Linux kernel. If you want to install the new-powermac version on an OldWorld machine, you are limited to using BootX to boot the installer; the kernel doesn't fit on a floppy and Debian CDs are not bootable on OldWorlds. You could also switch to the 2.4.18 kernel after you finish the powermac flavor install. `apus' Use this kernel for Amiga Power-UP Systems (APUS); it is based on version 2.2 of the Linux kernel. `chrp' Use this kernel for embedded CHRP computers; it is based on version 2.2 of the Linux kernel. `prep' Use this kernel for Motorola and IBM RS/6000 PReP computers; it is based on version 2.2 of the Linux kernel. The kernel config files for these flavors can be found in their respective directories in a file named `config.gz'. 4.2.3. Where to Find Installation Files --------------------------------------- The network locations of installation files for each powerpc flavor are listed in the Appendix. These include: * rescue image * .../current/apus/images-1.44/rescue.bin (http://http.us.debian.org/debian/dists/woody/main/disks-powerpc/current/apus/images-1.44/rescue.bin) * .../current/chrp/images-1.44/rescue.bin (http://http.us.debian.org/debian/dists/woody/main/disks-powerpc/current/chrp/images-1.44/rescue.bin) * .../current/new-powermac/images-2.88/rescue.bin (http://http.us.debian.org/debian/dists/woody/main/disks-powerpc/current/new-powermac/images-2.88/rescue.bin) * .../current/powermac/images-1.44/rescue.bin (http://http.us.debian.org/debian/dists/woody/main/disks-powerpc/current/powermac/images-1.44/rescue.bin) * .../current/prep/images-1.44/rescue.bin (http://http.us.debian.org/debian/dists/woody/main/disks-powerpc/current/prep/images-1.44/rescue.bin) * root image(s) or tarball * .../current/apus/images-1.44/root.bin (http://http.us.debian.org/debian/dists/woody/main/disks-powerpc/current/apus/images-1.44/root.bin) * .../current/chrp/images-1.44/root.bin (http://http.us.debian.org/debian/dists/woody/main/disks-powerpc/current/chrp/images-1.44/root.bin) * .../current/new-powermac/images-1.44/root.bin (http://http.us.debian.org/debian/dists/woody/main/disks-powerpc/current/new-powermac/images-1.44/root.bin) * .../current/powermac/images-1.44/root.bin (http://http.us.debian.org/debian/dists/woody/main/disks-powerpc/current/powermac/images-1.44/root.bin) * .../current/prep/images-1.44/root.bin (http://http.us.debian.org/debian/dists/woody/main/disks-powerpc/current/prep/images-1.44/root.bin) * kernel binary * Section 11.2.3.2, `Linux Kernel Files' * driver images or tarball * Section 11.2.3.3, `Driver Files' * base system images or tarball * Section 11.2.3.4, `Debian Base System Installation Files' Both the `boot-floppy-hfs' floppy image and the `rescue.bin' image contain a compressed Linux boot kernel. The `boot-floppy-hfs' floppy is used to boot the installation system, while `rescue.bin' serves as the source for the Linux kernel when the kernel is being installed on your machine. A `rescue.bin' floppy cannot be booted on PowerPC. A third uncompressed kernel image, simply named `linux.bin', is used when booting the installer from the hard disk or CD-ROM. It is not needed for floppy installer booting. There are two versions of the hfs boot floppy image. The standard one, `boot-floppy-hfs.img', may work best on older machines such as the 7200 and 8500 with no added video cards. If the standard image gives a black screen when booting, try the image with video=ofonly added to the boot arguments: `boot-video-ofonly.img'. Refer to Section 4.3, `Creating Floppies from Disk Images' for important information on properly creating floppy disks from floppy images. The root floppy image contains a compressed RAMdisk filesystem which gets loaded into memory after you boot the installer. The peripheral drivers may be downloaded as a series of floppy images or as a tarball (`drivers.tgz'). The installer system will need access to the drivers file during installation. If you have a hard drive partition or connected computer which will be accessible to the installer (see below), the tarball will be more convenient to handle. The floppy image files are needed only if you must install the drivers from floppies. When downloading files, you should also pay attention to the type of file system you are downloading them _to_, unless you will use floppies for the kernel and drivers. The installer can read files from many kinds of file systems, including FAT, HFS, ext2fs, and Minix. When downloading files to a *nix file system, choose the largest possible files from the archive. The installer _cannot_ access files on an HFS+ filesystem. MacOS System 8.1 and above may use HFS+ filesystems; NewWorld PowerMacs all use HFS+ by default. To determine whether your existing filesystem is HFS+, select `Get Info' for the volume in question. HFS file systems appear as `Mac OS Standard', while HFS+ file systems say `Mac OS Extended'. During the installation, you will erase the partition(s) on which you are installing Debian before beginning the installation. All downloaded files must be placed on partitions _other_ than those on which you are planning to install the system. 4.2.3.1. NewWorld MacOS Installation Files ------------------------------------------ For floppy-less installation on NewWorld Macs, it may be most convenient to obtain all the necessary files packaged into one Stuffit archive from http://debian-imac.sourceforge.net/ (separate instructions are included in the archive). Otherwise, obtain the normal installation files listed above. Retrieve the files to an HFS (not HFS+) partition on your system. You will also need the `yaboot' and `yaboot.conf' files from the new-powermac (http://http.us.debian.org/debian/dists/woody/main/disks-powerpc/current/new-powermac/) or powermac (http://http.us.debian.org/debian/dists/woody/main/disks-powerpc/current/powermac/) archive folder. However, the newest G4 PowerMacs, and those that work without MacOS 9, need the newest version of `yaboot'; the one in the archive will not work. Obtain the newest version from http://penguinppc.org/projects/yaboot/. 4.3. Creating Floppies from Disk Images --------------------------------------- Bootable floppy disks are commonly used to boot the installer system for machines with a floppy drive. Floppies can also be used for installation of the kernel and modules on most systems. Floppy disk booting reportedly fails on Mac USB floppy drives. 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 on 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. 4.3.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 (see Section 4.2, `Downloading Files from Debian Mirrors' for what should be). `/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 auto-mounted (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. If writing a floppy on a powerpc, you will need to eject it. The `eject' program handles this nicely; you might need to install it. 4.3.2. Writing Disk Images From DOS, Windows, or OS/2 ----------------------------------------------------- If you have access to an i386 machine, you can use one of the following programs to copy images to floppies. A fairly complete list of similar programs is at http://www.fdos.org/ripcord/rawrite/readme.txt. The FDVOL, WrtDsk or RaWrite3 programs can be used under MS-DOS. http://www.minix-vmd.org/pub/Minix-vmd/dosutil/ To use these programs, first make sure that you are booted into DOS. Trying to use these programs from within a DOS box in Windows, or double-clicking on these programs from the Windows Explorer is _not_ expected to work. If you don't know how to boot into DOS, just hit _F8_ while booting. `NTRawrite' is an attempt to create a contemporary version of `Rawrite/Rawrite3' that is compatible with WinNT and Win2K. It is a self-explanatory GUI application; you select the disk drive to write to, browse to the disk image you want to place there and hit the Write button. http://sourceforge.net/projects/ntrawrite/ 4.3.3. Modifying the Rescue Floppy to Support National Language --------------------------------------------------------------- The messages shown by the rescue floppy (before loading the Linux kernel) can be shown in your mother tongue. To achieve this if you are not an English speaker, after writing the image file, you must copy the provided message files and a font to the floppy. For MS-DOS and Windows users there is a batch file `setlang.bat' in the `dosutils' directory, which copies the correct files. Simply enter this directory (e.g. cd c:\debian\dosutils ) within a command prompt window, and run `setlang ', where is a two-letter code of your language in lower case, for example `setlang pl' to set the language to Polish. Currently these language codes are available: ca cs da de eo es fi fr gl hr hu it ko ja pl pt ru sk sv tr zh_CN Note that the descriptions in this manual assume that you use non localized (English) installation; otherwise the names of menus and buttons will differ from what you will see on your screen. 4.3.4. Writing Disk Images From MacOS ------------------------------------- An AppleScript, `Make Debian Floppy', is available for burning floppies from the provided disk image files. It can be downloaded from ftp://ftp2.sourceforge.net/pub/sourceforge/d/de/debian-imac/MakeDebianFloppy.sit. To use it, just unstuff it on your desktop, and then drag any floppy image file to it. You must have Applescript installed and enabled in your extensions manager. Disk Copy will ask you to confirm that you wish to erase the floppy and proceed to write the file image to it. You can also use the MacOS utility `Disk Copy' directly, or the freeware utility `suntar'. The `root.bin' file is an example of a floppy image. Use one of the following methods to create a floppy from the floppy image with these utilities. 4.3.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 from a Debian mirror. 1. Obtain Creator-Changer (http://hyperarchive.lcs.mit.edu/HyperArchive/Archive/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' check box 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://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/English-North_American/Macintosh/Utilities/Disk_Copy/Disk_Copy_6.3.3.smi.bin. 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. 4.3.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 accidentally mount it in MacOS, MacOS will helpfully ruin it. 4.4. Preparing Files for Hard Disk Booting ------------------------------------------ The installer may be booted using boot files placed on an existing hard drive partition, either launched from another operating system or by invoking a boot loader directly from the BIOS. A full, "pure network" installation can be achieved using this technique. This avoids all hassles of removable media, like finding and burning CD images or struggling with too numerous and unreliable floppy disks. The installer cannot boot from files on an HFS+ file system. MacOS System 8.1 and above may use HFS+ file systems; NewWorld PowerMacs all use HFS+. To determine whether your existing file system is HFS+, select `Get Info' for the volume in question. HFS file systems appear as `Mac OS Standard', while HFS+ file systems say `Mac OS Extended'. You must have an HFS partition in order to exchange files between MacOS and Linux, in particular the installation files you download. Different programs are used for hard disk installation system booting, depending on whether the system is a ``NewWorld'' or an ``OldWorld'' model. 4.4.1. Hard Disk Installer Booting for OldWorld Macs ---------------------------------------------------- The `boot-floppy-hfs' floppy uses `miBoot' to launch Linux installation, but `miBoot' cannot easily be used for hard disk booting. `BootX', launched from MacOS, supports booting from files placed on the hard disk. `BootX' can also be used to dual-boot MacOS and Linux after your Debian installation is complete. For the Performa 6360, it appears that `quik' cannot make the hard disk bootable. So BootX is required on that model. Download and unstuff the `BootX' distribution, available from http://penguinppc.org/projects/bootx/, or in the `dists/woody/main/disks-powerpc/current/powermac' directory on Debian http/ftp mirrors and official Debian CDs. Use `Stuffit Expander' to extract it from its archive. Within the package, there is an empty folder called `Linux Kernels'. Download `linux.bin' and `ramdisk.image.gz' from the `disks-powerpc/current/powermac' folder, and place them in the `Linux Kernels' folder. Then place the `Linux Kernels' folder in the active System Folder. 4.4.2. Hard Disk Installer Booting for NewWorld Macs ---------------------------------------------------- NewWorld PowerMacs support booting from a network or an ISO9660 CD-ROM, as well as loading ELF binaries directly from the hard disk. These machines will boot Linux directly via `yaboot', which supports loading a kernel and RAMdisk directly from an ext2 partition, as well as dual-booting with MacOS. Hard disk booting of the installer is particularly appropriate for newer machines without floppy drives. `BootX' is not supported and must not be used on NewWorld PowerMacs. _Copy_ (not move) the following four files which you downloaded earlier from the Debian archives, onto the root level of your hard drive (this can be accomplished by option-dragging each file to the hard drive icon). * `linux.bin' * `root.bin' (from inside the images-1.44 folder) * `yaboot' * `yaboot.conf' Make a note of the partition number of the MacOS partition where you place these files. If you have the MacOS `pdisk' program, you can use the L command to check for the partition number. You will need this partition number for the command you type at the Open Firmware prompt when you boot the installer. To boot the installer, proceed to Section 5.4.3, `Booting NewWorld Macs from OpenFirmware'. 4.5. Preparing Files for TFTP Net Booting ----------------------------------------- If your machine is connected to a local area network, you may be able to boot it over the network from another machine, using TFTP. If you intend to boot the installation system from another machine, the boot files will need to be placed in specific locations on that machine, and the machine configured to support booting of your specific machine. You need to setup a TFTP server, and for CATS machines, a BOOTP server , or DHCP server. BOOTP is an IP protocol that informs a computer of its IP address and where on the network to obtain a boot image. The DHCP (Dynamic Host Configuration Protocol) is a more flexible, backwards-compatible extension of BOOTP. Some systems can only be configured via DHCP. For PowerPC, if you have a NewWorld Power Macintosh machine, it is a good idea to use DHCP instead of BOOTP. Some of the latest machines are unable to boot using BOOTP. 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. 4.5.1. Setting up BOOTP server ------------------------------ There are two BOOTP servers available for GNU/Linux, the CMU `bootpd' and the other is actually a DHCP server, ISC `dhcpd', which are contained in the `bootp' and `dhcp' packages in 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. Here is an example `/etc/bootptab': client:\ hd=/tftpboot:\ bf=tftpboot.img:\ ip=192.168.1.90:\ sm=255.255.255.0:\ sa=192.168.1.1:\ ha=0123456789AB: You will need to change at least the "ha" option, which specifies the hardware address of the client. The "bf" option specifies the file a client should retrieve via TFTP; see Section 4.5.4, `Move TFTP Images Into Place' for more details. By contrast, setting up BOOTP with ISC `dhcpd' is really easy, because it treats BOOTP clients as a moderately special case of DHCP clients. Some architectures require a complex configuration for booting clients via BOOTP. If yours is one of those, read the section Section 4.5.2, `Setting up a DHCP server'. Otherwise, you will probably be able to get away with simply adding the `allow bootp' directive to the configuration block for the subnet containing the client, and restart `dhcpd' with `/etc/init.d/dhcpd restart'. 4.5.2. Setting up a DHCP server ------------------------------- At the time of this writing, there is only one DHCP server which is free software, namely ISC `dhcpd'. In Debian GNU/Linux, this is available in the `dhcp' package. Here is a sample configuration file for it (usually `/etc/dhcpd.conf'): option domain-name "example.com"; option domain-name-servers ns1.example.com; option subnet-mask 255.255.255.0; default-lease-time 600; max-lease-time 7200; server-name "servername"; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.200 192.168.1.253; option routers 192.168.1.1; } host clientname { filename "/tftpboot/tftpboot.img"; server-name "servername"; next-server servername; hardware ethernet 01:23:45:67:89:AB; fixed-address 192.168.1.90; } In this example, there is one server <"servername"> which performs all of the work of DHCP, server, TFTP server, and network gateway. You will almost certainly need to change the domain-name options, as well as the server name and client hardware address. The <"filename"> option should be the name of the file which will be retrieved via TFTP. After you have edited the `dhcpd' configuration file, restart it with `/etc/init.d/dhcpd restart'. 4.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/sbin/tcpd 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 '. 4.5.4. Move TFTP Images Into Place ---------------------------------- Next, place the TFTP boot image you need, as found in Section 11.2.3, `Description of Installation System Files', in the `tftpd' boot image directory. Generally, this directory will be `/tftpboot'. 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. On NewWorld Power Macintosh machines, you will need to set up the `yaboot' boot loader as the TFTP boot image. `Yaboot' will then retrieve the kernel and RAMdisk images via TFTP itself. For net booting, use the `yaboot-netboot.conf'. Just rename this to `yaboot.conf' in the TFTP directory. _NOT YET WRITTEN_ 4.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 file system. You then need to replace the symlink to the tftpboot image by a symlink to the kernel image (for example, `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? To boot the client machine, go to Section 5.5, `Booting from TFTP'. 4.6. Automatic Installation --------------------------- For installing on multiple computers it's possible to use the fully automatic installation called `FAI'. The Debian package `fai' has to be installed on a computer called the install server. Then all install clients boot from their network card or floppy disk and automatically install Debian on their local disks. ------------------------------------------------------------------------------- 5. Booting the Installation System ---------------------------------- Subject to limitations in some cases, you may boot the installation system from a Debian GNU/Linux CD-ROM, floppy disks, a partition on a hard disk, or from another machine via a local area network. 5.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.tldp.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 you have a PowerMac with an IDE drive, and you receive weird kernel error messages when accessing your hard drive, you might be ticking a bug in the kernel when using IDE drives on your hardware. Try using the following boot argument, assuming your IDE drive is `/dev/hda': `hda=noautotune'. Many older Apple monitors used a 640x480 67Hz mode. If your video appears skewed on an older Apple monitor, try appending the boot argument `video=atyfb:vmode:6', which will select that mode for most Mach64 and Rage video hardware. For Rage 128 hardware, this changes to `video=aty128fb:vmode:6' 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.tldp.org/HOWTO/BootPrompt-HOWTO.html), including tips for obscure hardware. Some common gotchas are included below in Section 5.6, `Troubleshooting the Install Process'. 5.1.1. `dbootstrap' Arguments ----------------------------- The installation system recognizes a few boot arguments which may be useful. The effects of `quiet' and `verbose' are listed in Section 11.5, `Effects of Verbose and Quiet'. 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 5.7.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. nolangchooser Some architectures use the kernel framebuffer to offer installation in a number of languages. If framebuffer causes a problem on your system you can use this option to disable the feature. Problem symptoms are error messages about bterm or bogl, a blank screen, or a freeze within a few minutes after starting the install. 5.2. Booting from a CD-ROM -------------------------- The easiest route for most people will be to use a set of Debian CDs (http://www.debian.org/CD/vendors/). If you have a CD set, and if your machine supports booting directly off the CD, great! Simply insert your CD, reboot, and proceed to the next chapter. Currently, the only PowerPC subarchitectures that support CD-ROM booting are PReP and New World PowerMacs. On PowerMacs, hold the 'c' key, or else the combination of Command, Option, Shift, and Delete keys together while booting to boot from the CD-ROM. However, the newest G4 PowerMacs, and those that work without MacOS 9, need the newest version of `yaboot'; the one on the CD will not work. Obtain the newest version from http://penguinppc.org/projects/yaboot/. OldWorld Powermacs will not boot a Debian CD, because OldWorld computers relied on a MacOSROM CD boot driver to be present on the CD, and a free-software version of this driver is not available. All OldWorld systems have floppy drives, so use the floppy drive to launch the installer, and then point the installer to the CD for the needed files. If your system doesn't boot directly from CD-ROM, you can still use the CD-ROM to install the system. On NewWorlds, you can also use an OpenFirmware command to boot from the CD-ROM manually. Follow the instructions in Section 5.4.3, `Booting NewWorld Macs from OpenFirmware' for booting from the hard disk, except use the path to `yaboot' on the CD at the OF prompt, such as 0 > boot cd:,install\powermac\yaboot Note that certain CD drives may require special drivers, and thus be inaccessible in the early installation stages. If it turns out the standard way of booting off a CD doesn't work for your hardware, revisit this chapter and read about alternate kernels and installation methods which may work for you. USB CD-ROM drives are supported by the `bf2.4' flavor. FireWire devices that are supported by the ohci1394 and sbp2 drivers may also be useable with the `bf2.4' flavor. Even if you cannot boot from CD-ROM, you can probably install the Debian system components and any packages you want from CD-ROM. Simply boot using a different media, such as floppies. When it's time to install the operating system, base system, and any additional packages, point the installation system at the CD-ROM drive. If you have problems booting, see Section 5.6, `Troubleshooting the Install Process'. 5.3. Booting from Floppies -------------------------- Booting from floppies is supported for PowerPC, although it is generally only applicable for OldWorld systems. NewWorld systems are not usually equipped with floppy drives. You will have already downloaded the floppy images you needed and created floppies from the images in Section 4.3, `Creating Floppies from Disk Images'. To boot from the `boot-floppy-hfs.img' floppy, place it in floppy drive after shutting the system down, and before pressing the power-on button. For those not familiar with Macintosh floppy operations: a floppy placed in the machine prior to boot will be the first priority for the system to boot from. A floppy without a valid boot system will be ejected, and the machine will then check for bootable hard disk partitions. After booting, the `root.bin' floppy is requested. Insert the root floppy and press _Enter_. The installer program `dbootstrap' is automatically launched after the root system has been loaded into memory. If you have problems booting, see Section 5.6, `Troubleshooting the Install Process'. 5.4. Booting From a Hard Disk ----------------------------- Booting from an existing operating system is often a convenient option; for some systems it is the only supported method of installation. To boot the installer from hard disk, you will have already completed downloading and placing the needed files in Section 4.4, `Preparing Files for Hard Disk Booting'. 5.4.1. Booting CHRP from OpenFirmware ------------------------------------- _Not yet written._ 5.4.2. Booting OldWorld PowerMacs from MacOS -------------------------------------------- If you set up BootX in Section 4.4.1, `Hard Disk Installer Booting for OldWorld Macs', you can use it to boot into the installation system. Double click the `BootX' application icon. Click on the 'Options' button and select 'Use Specified RAM Disk'. This will give you the chance to select the `ramdisk.image.gz' file. You may need to select the 'No Video Driver' checkbox, depending on your hardware. Then click the 'Linux' button to shut down MacOS and launch the installer. 5.4.3. Booting NewWorld Macs from OpenFirmware ---------------------------------------------- You will have already placed the `linux.bin, yaboot, yaboot.conf', and `root.bin' files at the root level of your HFS partition in Section 4.4.2, `Hard Disk Installer Booting for NewWorld Macs'. Restart the computer, and immediately (during the chime) hold down the Option, Command (cloverleaf/Apple), o, and f keys all together. After a few seconds you will be presented with the Open Firmware prompt: 0 > At the prompt, type 0 > boot hd:x,yaboot replacing x with the partition number of the HFS partition where the kernel and yaboot files were placed, followed by a return. On some machines, you may need to use `ide0:' instead of `hd:'. In a few more seconds you will see a yaboot prompt boot: At yaboot's `boot:' prompt, type either `install' or `install-safe' followed by a return. The `safe' option uses the `video=ofonly' argument for maximum compatibility; you can try it if `install' doesn't work. The Debian installation program should start. 5.4.4. Installing PReP from OpenBug ----------------------------------- _Not yet written._ 5.5. Booting from TFTP ---------------------- Booting from the network requires that you have a network connection supported by the boot floppies, including either a static network address or a DHCP server, a BOOTP server, and a TFTP server. Currently, PReP and New World PowerMac systems support netbooting. The installation method to support TFTP booting is described in Section 4.5, `Preparing Files for TFTP Net Booting'. On machines with Open Firmware, such as NewWorld Power Macs, enter the boot monitor (see Section 3.8.1, `Invoking OpenFirmware') and use the command `boot enet:0'. PReP and CHRP boxes may have different ways of addressing the network. More information from users with those machines is requested. On a PReP machine, you should try `boot ,,'. 5.6. Troubleshooting the Install Process ---------------------------------------- 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 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. Boot Configuration ------------------------- 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 5.1, `Boot Parameter Arguments'. If you are booting with your own kernel instead of the one supplied with the installer, be sure that `CONFIG_DEVFS' is not set in your kernel. The installer is not compatible with `CONFIG_DEVFS'. Often, problems can be solved by removing add-ons and peripherals, and then trying booting again. 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 10.3, `Replacing the Rescue Floppy Kernel'), or investigate network installations. If you have a large amount of memory installed in your machine, more than 512M, and the installer hangs when booting the kernel, you may need to include a boot argument to limit the amount of memory the kernel sees, such as `mem=512m'. 5.6.3. 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 9.5, `Compiling a New Kernel'). 5.6.4. `dbootstrap' Problem Report ---------------------------------- If you get through the initial boot phase but cannot complete the install, `dbootstrap''s 'Report a Problem' menu choice may be helpful. It creates `dbg_log.tgz' on a floppy, hard disk or nfs-mounted filesystem. `dbg_log.tgz' details the system's state (`/var/log/messages', `/proc/cpuinfo' etc.). `dbg_log.tgz' may provide clues as to what went wrong and how to fix it. If you are submitting a bug report you may want to attach this file to the bug report. 5.6.5. Submitting Bug Reports ----------------------------- 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'', ``woody''). You should also include the following information in your bug report: architecture: powerpc 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. 5.7. 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'', 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 facilitated 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 compatibility 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. To navigate within `dbootstrap', use: * The right arrow or Tab key to move `forward', and left arrow or Shift-Tab to move `backward' between buttons and selections in the current screen. * The up and down arrow to select different items within a scrollable list, and to scroll the list itself. * The space bar to select an item such as a checkbox. * The _Enter_ to activate choices. 5.7.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'. The text editor is `nano-tiny'. 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 to menus. Linux provides up to 64 virtual consoles, although the rescue floppy only uses a few of them. Error messages are redirected to the third virtual terminal (known as `tty3'). You can access this terminal by pressing _Left Alt-F3_ (hold the _Alt_ key while pressing the _F3_ function key); get back to `dbootstrap' with _Left Alt