Differences between revisions 2 and 5 (spanning 3 versions)
Revision 2 as of 2006-12-13 06:15:31
Size: 3356
Comment:
Revision 5 as of 2012-01-22 14:19:42
Size: 3963
Comment: preface (very optimistic)
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
  NOTE: this article is currently under heavy development and not yet finished!
Line 5: Line 3:
== Reasons ==
In some conditions it is not possible to install Debian from a CD (as described in ["DebianInstall"] or ["DebianNetworkInstall"]), because the hardware that is needed for installation is not supported by the kernels supplied with the installation CDs. Example: the harddisks, CD-/DVD-Rom device/interface or network cards are not supported.
==Preface==
Line 8: Line 5:
== Highly experimental and not official supported ==
The state of the method described here is 'WFM' (Works For Me). It is not an official supported way to install Debian.
Installation using network booting must not be confused with [[DebianNetworkInstall]]. In network install, you start with a CD to install a minimal Linux system before you proceed to download further packages over the network. Here, you need no CD at all. You instruct you BIOS boot menu to boot directly from the network.

To do so, you need a network boot server. As there are no fiducial boot servers out in the wild, you need to setup your own. This is considerably more complicated than installing Debian from CD. Normally, network booting is only used if there is really no way to boot from CD.

In the Web, several articles can be found that describe in more or less detail how to setup a network boot server. They all have the same weakness: They instruct you to do lots of things, but they don't help you if something goes wrong, for instance because a software you are told to use has changed. In the following we break down the procedure into steps that can be debugged separately.
Line 24: Line 24:
 option domain-name "flonatel.de";  option domain-name "installation.local";
Line 37: Line 37:
This must adapted to your needs, especially the MAC address. This must adapted to your needs, especially the MAC address. {{{kreon}}} is the hostname of the new computer.
Line 41: Line 41:
Use the tftpd-hpa and not the atftp (the later did not work for me).
Line 43: Line 42:
No further config is needed. Use the tftpd-hpa and not the atftp (the later did not work for me): {{{apt-get install tftpd-hpa}}}.
Line 45: Line 44:
In the tftp directory create a directory named {{{pxelinux.cfg}}} and create a default file there:
{{{
mkdir /var/lib/tftpboot/pxelinux.cfg
printf "label linuxboot\n\tKERNEL pxeboot\n" >/var/lib/tftpboot/pxelinux.cfg/default
}}}
Line 52: Line 56:
After compiling copy the kernel image to the tftp server directory. (Missing: exact location). Name it {{{pxeboot}}}. After compiling copy the kernel image to the tftp server directory {{{/var/lib/tftpboot}}}. Name it {{{pxeboot}}}.
Line 55: Line 59:
Do a {{{ apt-get install syslinux }}}, {{{ cp `dpkg -L syslinux | fgrep pxelinux.0` <tftp location>}}}. (Missing: exact location) Do a
{{{
apt-get install syslinux
cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot
}}}
Line 58: Line 66:
Mount the CD, copy over the initrd.gz (Missing: exact location) to the tftp directory (Missing: exact location) Mount the CD, copy over the initrd.gz to {{{/var/lib/tftpboot}}}.
Line 61: Line 69:
The tftp dir should now looks like:
Line 66: Line 75:
/var/lib/tftpboot/2619 /var/lib/tftpboot/pxeboot
Line 70: Line 79:
label linuxboot
        KERNEL 2619

Line 75: Line 80:
Put the CD in the new computer. Boot the new computer via network. It should get the IP address from the DHCP server and also the pxelinux.0 file from the tftp server. The bootloader prints some lines concering some non existing files which can be ignored and than displays a boot prompt. On the command line enter: {{{pxeboot initrd=initrd.gz}}}. Put the CD in the new computer. Boot the new computer via network. It should get the IP address from the DHCP server and also the pxelinux.0 file from the tftp server. The bootloader prints some lines concering some non existing files which can be ignored and than displays a boot prompt. On the command line enter:
{{{
pxeboot initrd=initrd.gz
}}}

Installing Debian using network booting

==Preface==

Installation using network booting must not be confused with DebianNetworkInstall. In network install, you start with a CD to install a minimal Linux system before you proceed to download further packages over the network. Here, you need no CD at all. You instruct you BIOS boot menu to boot directly from the network.

To do so, you need a network boot server. As there are no fiducial boot servers out in the wild, you need to setup your own. This is considerably more complicated than installing Debian from CD. Normally, network booting is only used if there is really no way to boot from CD.

In the Web, several articles can be found that describe in more or less detail how to setup a network boot server. They all have the same weakness: They instruct you to do lots of things, but they don't help you if something goes wrong, for instance because a software you are told to use has changed. In the following we break down the procedure into steps that can be debugged separately.

Howto

Preconditions

For this kind of installation CD1 from the Debian distribution (http://www.debian.org/CD/) is needed - chose the testing one. Download it, burn it. Also a second computer is needed - should already run Debian.

Install DHCP

On the already installed computer, set up a DHCP server. Used configuration:

 allow bootp;
 allow booting;

 option domain-name "installation.local";
 option subnet-mask 255.255.255.0;

 subnet 10.0.0.0 netmask 255.255.255.0 {
   range 10.0.0.100 10.0.0.150;
   option broadcast-address 10.0.0.255;
 }

 host kreon {
   hardware ethernet 00:18:f3:90:14:51;
   filename "pxelinux.0";
}

This must adapted to your needs, especially the MAC address. kreon is the hostname of the new computer.

Install TFTP

On the already installed computer, set up a tftp server. Use the tftpd-hpa and not the atftp (the later did not work for me): apt-get install tftpd-hpa.

In the tftp directory create a directory named pxelinux.cfg and create a default file there:

mkdir /var/lib/tftpboot/pxelinux.cfg
printf "label linuxboot\n\tKERNEL pxeboot\n" >/var/lib/tftpboot/pxelinux.cfg/default

Configure BIOS

On the new to install computer, enter BIOS setup and chose network boot (PXE boot) - sometimes before it is possible to chose network booting only if also some boot rom is enabled.

Compile Kernel

Grab a kernel from ftp://ftp.kernel.org, unpack and configure it for the new computer, compile it. (Note: Do not use modules.) Be sure to add all the device drivers needed for installation. Especially the CD-/DVD-Rom and harddisk interface driver are needed.

After compiling copy the kernel image to the tftp server directory /var/lib/tftpboot. Name it pxeboot.

Install pxelinux.0

Do a

apt-get install syslinux 
cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot

Install initrd.gz

Mount the CD, copy over the initrd.gz to /var/lib/tftpboot.

Status

The tftp dir should now looks like:

/var/lib/tftpboot/
/var/lib/tftpboot/pxelinux.0
/var/lib/tftpboot/pxelinux.cfg
/var/lib/tftpboot/pxelinux.cfg/default
/var/lib/tftpboot/pxeboot
/var/lib/tftpboot/initrd.gz

Boot

Put the CD in the new computer. Boot the new computer via network. It should get the IP address from the DHCP server and also the pxelinux.0 file from the tftp server. The bootloader prints some lines concering some non existing files which can be ignored and than displays a boot prompt. On the command line enter:

pxeboot initrd=initrd.gz

Install Debian

At this point, all the drivers that are needed to install Debian on the new system are available and the normal installtion procedure can be used to install the whole Debian system to the new computer.