Penguin
Blame: TFTPInstallHowto
EditPageHistoryDiffInfoLikePages
Annotated edit history of TFTPInstallHowto version 3, including all changes. View license author blame.
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 ----
3 AristotlePagaltzis 65 Part of CategoryHowto, CategoryNetworking