summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pxe_wizard/Pxe.pm33
1 files changed, 21 insertions, 12 deletions
diff --git a/pxe_wizard/Pxe.pm b/pxe_wizard/Pxe.pm
index 42f761d8..f575e7d6 100644
--- a/pxe_wizard/Pxe.pm
+++ b/pxe_wizard/Pxe.pm
@@ -92,20 +92,13 @@ foreach (cat_($PXEDEFAULT)) {
#set default list for entry in syslinux.cfg
my @list_method = qw(nfs http);
-my @list_ram = qw(32000 64000 1280000);
-my @list_vga = qw(788 normal 785 791 text);
+my @list_ram = qw(32000 48000 64000 1280000);
+my @list_vga = qw(788 normal 785 791 792 text);
my @list_acpi = qw(ht force off);
my @list_apic = qw(apic noapic);
my @list_eth = qw(eth0 eth1 eth2);
-# to get list menu entry
-my @list_menu;
-foreach (cat_($PXEDEFAULT)) {
- my ($ent) = /# TAG: (\w+)_BEGIN/;
- ! $ent or push @list_menu,$ent;
-}
-
#begin of wizard
$o->{pages} = {
welcome => {
@@ -115,6 +108,7 @@ $o->{pages} = {
$o->{var}{wiz_level} ||= 1;
},
post => sub {
+ -f "$X86/drakwizard_pxe" or return 'error_needpxe';
if ($o->{var}{wiz_level} == 2) {
return 'addimg' }
elsif ($o->{var}{wiz_level} == 3) {
@@ -135,7 +129,7 @@ $o->{pages} = {
{ label => "PXE description:", val => \$o->{var}{DESCR} },
{ label => "Full path to boot image:", val => \$o->{var}{IMG} },
],
- post => \&test_data,
+
next => 'summaryadd',
},
removeimg => {
@@ -176,10 +170,18 @@ $o->{pages} = {
name => N("Please provide a bootable image..."),
next => 'addimg',
},
+ error_path_img => {
+ name => N("Please choose an image from a different directory than $IMGPATH."),
+ next => 'addimg',
+ },
error_name => {
- name => N("Please provide a correct name in PXE entry (one word)"),
+ name => N("Please provide a correct name in PXE entry (one word)."),
next => 'addimg',
},
+ error_needpxe => {
+ name => N("To add/remove/modify PXE boot image, you need to run 'Set PXE server' before."),
+ next => 'pxeserver',
+ },
simmilar_entry => {
name => N("Similar name is already used in PXE menu entry") . "\n\n" . N("Please provide another PXE Menu name"),
next => 'addimg',
@@ -320,6 +322,7 @@ EOF
# add bootable image in correct place
sub add_img {
my ($SIMG, $PXENAME) = @_;
+ !member($SIMG, "tfptboot") or return 'error_path_img';
cp_af($SIMG, $IMGPATH . "/" . $PXENAME . '.img');
}
@@ -428,7 +431,7 @@ sub read_option {
my ($IMG) = $o->{var}{IMGTOMODIFY};
my $mount = "/tmp/loop_for_images";
mkdir_p($mount);
- system("mount $IMGPATH/$IMG.img $mount -o loop");
+ system("mount $IMGPATH/$IMG.img $mount -o loop 2>/dev/null");
my $line = cat_("$mount/syslinux.cfg");
$o->{var}{i} = "$IMGPATH/$IMG.img";
($o->{var}{METHOD}, $o->{var}{ETH}, $o->{var}{IP}, $o->{var}{DIR}, $o->{var}{RAM}, $o->{var}{VGA}, $o->{var}{ACPI}, $o->{var}{APIC}) = $line =~ /method:(nfs|http),interface:(eth0|eth1|eth2),network:dhcp,server:(.*?),directory:(.*?) ramdisk_size=(.*?) root=\/dev\/ram3 rw vga=(.*?)acpi=(ht|force|off)\s(apic|noapic)/;
@@ -480,6 +483,12 @@ sub do_it_pxe {
return if $::testing;
my $in = 'interactive'->vnew('su', 'PXE server');
my $w = $in->wait_message(N("PXE server"), N("Configuring PXE server on your system..."));
+ output("$X86/drakwizard_pxe", <<EOF);
+do not remove
+use to check if drakwizard PXE set server
+has been launch.
+EOF
+
mkdir_p($IMGPATH);
memlinux_prep();
default_pxe_menu();