Puppet Class: pxe::syslinux

Defined in:
manifests/syslinux.pp

Overview



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'manifests/syslinux.pp', line 3

class pxe::syslinux {

  include pxe::params

  $syslinux_dir     = $pxe::params::syslinux_dir
  $syslinux_archive = $pxe::params::syslinux_archive
  $tftp_root        = $pxe::tftp_root

  exec { 'syslinux_install':
    path    => ['/bin', '/usr/bin', '/usr/local/bin'],
    cwd     => '/usr/local/src',
    command => "wget -q -O - ${syslinux_archive} | tar -xzf - -C `dirname ${syslinux_dir}`",
    creates => $syslinux_dir,
  }

  File {
    owner   => root,
    group   => 0,
    mode    => '0755',
    require => File[$tftp_root],
  }

  file { $tftp_root:
    ensure  => directory,
    require => undef,
  }

  file { "${tftp_root}/syslinux":
    ensure => directory,
  }

  file { "${tftp_root}/pxelinux.0":
    source  => "${syslinux_dir}/bios/core/pxelinux.0",
    require => Exec['syslinux_install'],
  }

  file { "${tftp_root}/syslinux/menu.c32":
    source  => "${syslinux_dir}/bios/com32/menu/menu.c32",
    require => Exec['syslinux_install'],
  }

  file { "${tftp_root}/syslinux/vesamenu.c32":
    source  => "${syslinux_dir}/bios/com32/menu/vesamenu.c32",
    require => Exec['syslinux_install'],
  }

  file { "${tftp_root}/syslinux/reboot.c32":
    source  => "${syslinux_dir}/bios/com32/modules/reboot.c32",
    require => Exec['syslinux_install'],
  }

  file { "${tftp_root}/syslinux/ldlinux.c32":
    source  => "${syslinux_dir}/bios/com32/elflink/ldlinux/ldlinux.c32",
    require => Exec['syslinux_install'],
  }

  file { "${tftp_root}/syslinux/libcom32.c32":
    source  => "${syslinux_dir}/bios/com32/lib/libcom32.c32",
    require => Exec['syslinux_install'],
  }

  file { "${tftp_root}/syslinux/libutil.c32":
    source  => "${syslinux_dir}/bios/com32/libutil/libutil.c32",
    require => Exec['syslinux_install'],
  }

  file { "${tftp_root}/syslinux/memdisk":
    source  => "${syslinux_dir}/bios/memdisk/memdisk",
    require => Exec['syslinux_install'],
  }

  file { "${tftp_root}/pxelinux.cfg":
    ensure => directory,
  }

}