By far the easiest way to install Debian GNU/Linux is from an Official Debian
CD-ROM Set (see the CD
vendors page
). You may also download the CD-ROM images from the
Debian server and make your own set, if you have a fast network connection and
a CD burner. If you have a Debian CD set and CDs are bootable on your machine,
you can skip right to Booting
from a CD-ROM, Section 5.2; much effort has been expended to ensure the
files most people need are there on the CD.
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.
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/subarchitecture/images-1.44/flavor/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.
Files you may need fall into three categories:
rescue.bin
, linux.bin
, and root.bin
)
rescue.bin
and drivers.tgz
)
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 (Debian Base System Installation Files,
Section 11.2.3.4).
To use a current debian system to assemble a basedebs.tar
from the
debian archives, first install debootstrap
(apt-get install
debootstrap). Then use the following command:
debootstrap binary-basedebs SUITE=woody VERSION=3.0 \ MIRROR="http://ftp.debian.org/debian" ARCHES="powerpc"
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:
The kernel config files for these flavors can be found in their respective
directories in a file named config.gz
.
The network locations of installation files for each powerpc flavor are listed in the Appendix. These include:
.../current/apus/images-1.44/rescue.bin
.../current/chrp/images-1.44/rescue.bin
.../current/new-powermac/images-2.88/rescue.bin
.../current/powermac/images-1.44/rescue.bin
.../current/prep/images-1.44/rescue.bin
.../current/apus/images-1.44/root.bin
.../current/chrp/images-1.44/root.bin
.../current/new-powermac/images-1.44/root.bin
.../current/powermac/images-1.44/root.bin
.../current/prep/images-1.44/root.bin
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.
Refer to Creating Floppies from Disk Images, Section 4.3 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.
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://prdownloads.sourceforge.net/debian-imac/debian-imac.sit
(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
or powermac
archive folder.
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.
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=file of=/dev/fd0 bs=1024 conv=sync ; sync
where file is one of the floppy disk image files.
/dev/fd0
is a commonly used name of the floppy disk device, it may
be different on your workstation (on Solaris, it is /dev/fd/0
).
The command may return to the prompt before Unix has finished writing the
floppy disk, so look for the disk-in-use light on the floppy drive and be sure
that the light is out and the disk has stopped revolving before you remove it
from the drive. On some systems, you'll have to run a command to eject the
floppy from the drive (on Solaris, use eject
, see the manual
page).
Some systems attempt to automatically mount a floppy disk when you place it in
the drive. You might have to disable this feature before the workstation will
allow you to write a floppy in raw mode. Unfortunately, how to
accomplish this will vary based on your operating system. On Solaris, you can
work around volume management to get raw access to the floppy. First, make
sure that the floppy is 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/floppy_name
, where floppy_name 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 you have access to an i386 machine, you can use one of the following programs to copy images to floppies.
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 consistently compatible with WinNT, Win2K
and Win95/98. 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/
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 lang, where lang 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.
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/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.
Disk Copy
Creator-Changer
steps are only necessary if you
downloaded the image files from a Debian mirror.
Creator-Changer
and use it to open the root.bin
file.
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
.
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.
suntar
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.
root.bin
file in the file-opening dialog.
Before using the floppy you created, set the write protect tab! Otherwise if you accidentally mount it in MacOS, MacOS will helpfully ruin it.
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.
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.
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.
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.
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 Booting NewWorld Macs from OpenFirmware, Section 5.4.3.
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 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.
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 Move TFTP Images Into Place, Section 4.5.4 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 Setting up a DHCP server, Section
4.5.2. 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.
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.
To get the TFTP server ready to go, you should first make sure that
tftpd
is enabled. This is usually enabled by having the following
line in /etc/inetd.conf
:
tftp dgram udp wait root /usr/etc/in.tftpd in.tftpd /tftpboot
Look in that file and remember the directory which is used as the argument of
in.tftpd
; you'll need that below. The -l argument
enables some versions of in.tftpd
to log all requests to the
system logs; this is useful for diagnosing boot errors. If you've had to
change /etc/inetd.conf
, you'll have to notify the running
inetd
process that the file has changed. On a Debian machine, run
/etc/init.d/netbase reload (for potato/2.2 and newer systems use
/etc/init.d/inetd reload); on other machines, find out the process
ID for inetd
, and run kill -HUP inetd-pid.
Next, place the TFTP boot image you need, as found in Description of Installation System
Files, Section 11.2.3, 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
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 Booting from TFTP, Section 5.5.
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.
Installing Debian GNU/Linux 3.0 For PowerPC
version 3.0.23, 15 May, 2002