version 3 showing authors affecting page license.
.
Rev |
Author |
# |
Line |
1 |
AristotlePagaltzis |
1 |
''Note: this page was previously way outdated. Now it is merely incomplete, inconsistent and untested. Uh, yeah.'' |
|
|
2 |
|
|
|
3 |
!!! How to install [Linux] by booting it from [TFTP] |
|
|
4 |
|
|
|
5 |
* The client should have a [PXE] boot-[ROM]. If it doesn't, it might still be possible to do this – read the notes at the [PXE] page about booting [PXE] off a FloppyDisk. Otherwise, ~EtherBoot is very widely supported, but the install process for ~EtherBoot is slightly different and not documented here. |
|
|
6 |
|
|
|
7 |
Set up the client's [BIOS] to boot from the [LAN]. How to do this depends on your [BIOS] and [NIC]. |
|
|
8 |
|
|
|
9 |
* Then, of course, you need a [TFTP] server: |
|
|
10 |
|
|
|
11 |
# Install the [TFTP] [Package]s, such as <tt>tftpd-hpa</tt> or <tt>atftpd</tt> on [Debian]. |
|
|
12 |
|
|
|
13 |
# Create a directory for the tftpboot files. <tt>/tftpboot</tt> is the standard location. |
|
|
14 |
|
|
|
15 |
''See the [PXELINUX homepage | http://syslinux.zytor.com/pxe.php] for which files to copy here.'' |
|
|
16 |
|
|
|
17 |
# Edit <tt>/etc/inetd.conf</tt> and change the <tt>tftpd</tt> line to something like this: |
|
|
18 |
|
|
|
19 |
<verbatim> |
|
|
20 |
tftp dgram udp wait root /root /usr/sbin/in.tftpd in.tftpd -vvv -p -u nobody -s /tftpboot |
|
|
21 |
</verbatim> |
|
|
22 |
|
|
|
23 |
Then restart inetd(8): <tt>killall -HUP inetd</tt> |
|
|
24 |
|
|
|
25 |
* As with any network-based boot, you will also need a [DHCP] server: |
|
|
26 |
|
|
|
27 |
# Edit <tt>/etc/dhcpd.conf</tt>. Here is a sample: |
|
|
28 |
|
|
|
29 |
<verbatim> |
|
|
30 |
option domain-name "example.com"; |
|
|
31 |
option domain-name-servers ns1.example.com; |
|
|
32 |
option subnet-mask 255.255.255.0; |
|
|
33 |
default-lease-time 600; |
|
|
34 |
max-lease-time 7200; |
|
|
35 |
|
|
|
36 |
subnet 192.168.1.0 netmask 255.255.255.0 { |
|
|
37 |
range 192.168.1.200 192.168.1.253; |
|
|
38 |
option routers 192.168.1.1; |
|
|
39 |
} |
|
|
40 |
|
|
|
41 |
host clientname { |
|
|
42 |
hardware ethernet 01:23:45:67:89:AB; |
|
|
43 |
fixed-address 192.168.1.90; |
|
|
44 |
filename "bpbatch.P"; |
|
|
45 |
option option-135 "debian"; |
|
|
46 |
} |
|
|
47 |
</verbatim> |
|
|
48 |
|
|
|
49 |
Then restart dhcpd(8): <tt>/etc/init.d/dhcp restart</tt> |
|
|
50 |
|
|
|
51 |
* Finally, you need to share the install media somehow. Set up an [NFS], [FTP] or [HTTP] server, depending on your preferences. This is left as an exercise for the reader. :) |
|
|
52 |
|
|
|
53 |
Now boot the client and you should get the [OS] installer. |
|
|
54 |
|
|
|
55 |
!! If you can't use the network to continue with a [TFTP] install… |
|
|
56 |
|
|
|
57 |
…then you probably didn’t supply the [Kernel] with a DeviceDriver for your [NIC]. The [PXE] [ROM] can happily download your [Kernel] and InitialRamDisk, but once it gives control over to the [Kernel], the [Kernel] needs to know about your network card. In that case, just pick a different kernel image with a wider range of drivers compiled in. (Remember, this is ''only to boot the install''. Once that comes up, you can always install whichever other [Kernel] you like.) Or else you can build your own boot [Kernel]. |
|
|
58 |
|
|
|
59 |
!! See also |
|
|
60 |
|
|
|
61 |
* [PXE] |
|
|
62 |
* LinuxInstallationNotes |
2 |
AristotlePagaltzis |
63 |
|
|
|
64 |
---- |
|
|
65 |
Part of CategoryHowto, CategoryNetworking |