summaryrefslogtreecommitdiffstats
path: root/pxe_wizard/Pxe.pm
diff options
context:
space:
mode:
Diffstat (limited to 'pxe_wizard/Pxe.pm')
-rw-r--r--pxe_wizard/Pxe.pm28
1 files changed, 25 insertions, 3 deletions
diff --git a/pxe_wizard/Pxe.pm b/pxe_wizard/Pxe.pm
index 25c0ef2b..a3f6209f 100644
--- a/pxe_wizard/Pxe.pm
+++ b/pxe_wizard/Pxe.pm
@@ -1,7 +1,7 @@
#!/usr/bin/perl -w
# Drakwizard PXE
-# release 0.2
+# release 0.3
# Copyright (C) 2004 Mandrakesoft
#
# Author: Antoine Ginies <aginies _ateuh _ mandrakesoft.com>
@@ -42,14 +42,20 @@ my $PXEHELP = $X86 . '/help.txt';
my $PXEMESSAGE = $X86 . '/messages';
my $PXEDEFAULT = $X86 . '/pxelinux.cfg/default';
-my $CONF = '/etc/pxe.conf';
+my $pxeconf = '/etc/pxe.conf';
my $SYSLINUXPATH = '/usr/lib/syslinux/';
my $MEMDISK = $SYSLINUXPATH . '/memdisk';
my $XINETDDIR = "/etc/xinetd.d";
+#my $IPSERVER = $wiz->{net}->itf_get("IPADDR");
+my $interface = 'eth0';
+my ($IPSERVER) = `/sbin/ip addr show dev $interface` =~ /^\s*inet\s+(\d+\.\d+\.\d+\.\d+)/m;
+#my $DOMAINNAME = $wiz->{net}->network_get("DOMAINNAME");
+my $DOMAINNAME = chomp_(`domainname`);
+
my $o = {
- name => N("PXE Wizard (devel)"),
+ name => N("PXE Wizard"),
var => {
IMG => '/var/install/92/images/network.img',
PXENAME => '92',
@@ -61,6 +67,12 @@ my $o = {
i => '',
},
needed_rpm => [ 'pxe', 'tftp-server', 'xinetd' ],
+ init => sub {
+ if (member($DOMAINNAME, qw(localdomain (none)))) {
+ return (0, N("You need to readjust your domainname. For a DNS server you need a correct domainname, not egal to localdomain or none. Launch drakconnect to adjust it."))
+ }
+ 1
+ },
};
my %level = (
@@ -454,6 +466,15 @@ EOF
}
}
+sub pxe_conf {
+ if (!-f "$pxeconf.orig") { cp_af($pxeconf, "$pxeconf.orig") }
+ substInFile {
+ s/default_address.*/default_address=$IPSERVER/;
+ s/mtftp_address.*/mtftp_address=$IPSERVER/;
+ s/domain.*/domain=$DOMAINNAME/;
+ } $pxeconf;
+}
+
# set PXE server
sub do_it_pxe {
return if $::testing;
@@ -464,6 +485,7 @@ sub do_it_pxe {
default_pxe_menu();
default_pxe_messages();
enable_tftps();
+ pxe_conf();
tftp_blksize('N');
map { system("service $_ restart"); $_ } qw(xinetd pxe);
undef $w;