|
@ -127,6 +127,19 @@ my $order; |
|
|
my $text_window; |
|
|
my $text_window; |
|
|
my $verbosity_window; |
|
|
my $verbosity_window; |
|
|
my @container; |
|
|
my @container; |
|
|
|
|
|
# Make container verbose |
|
|
|
|
|
use constant METHOD => 0 ; |
|
|
|
|
|
use constant KERNEL => 1 ; |
|
|
|
|
|
use constant ROOT_DEVICE => 2 ; |
|
|
|
|
|
use constant BOOT_DEVICE => 3 ; |
|
|
|
|
|
use constant SIZE => 4 ; |
|
|
|
|
|
use constant COMPRESS => 5 ; |
|
|
|
|
|
use constant LIB_STRIP => 6 ; |
|
|
|
|
|
use constant BIN_STRIP => 7 ; |
|
|
|
|
|
use constant OBJCOPY_BOOL => 8 ; |
|
|
|
|
|
use constant ABS_DEVICE => 9 ; |
|
|
|
|
|
use constant ABS_OPT_DEVICE => 10 ; |
|
|
|
|
|
use constant ABS_APPEND => 11 ; |
|
|
my @original_container; |
|
|
my @original_container; |
|
|
my $file_dialog; |
|
|
my $file_dialog; |
|
|
my ($kernel,$root_image,$device,$size); |
|
|
my ($kernel,$root_image,$device,$size); |
|
@ -216,7 +229,7 @@ $SIG{TERM} = \&signal; |
|
|
$SIG{QUIT} = \&signal; |
|
|
$SIG{QUIT} = \&signal; |
|
|
$SIG{KILL} = \&signal; |
|
|
$SIG{KILL} = \&signal; |
|
|
|
|
|
|
|
|
(undef,$container[1],$container[11]) = gdkbirdaao(); |
|
|
(undef,$container[KERNEL],$container[ABS_APPEND]) = gdkbirdaao(); |
|
|
|
|
|
|
|
|
if (!-d $tmp1) { |
|
|
if (!-d $tmp1) { |
|
|
if (-e $tmp1) { |
|
|
if (-e $tmp1) { |
|
@ -314,8 +327,8 @@ my ($circles,$mask) = Gtk::Gdk::Pixmap->create_from_xpm_d($window->window, |
|
|
@xpm_data); |
|
|
@xpm_data); |
|
|
$window->window->set_icon(undef, $circles, $mask); |
|
|
$window->window->set_icon(undef, $circles, $mask); |
|
|
$window->window->set_icon_name("gBootRoot"); |
|
|
$window->window->set_icon_name("gBootRoot"); |
|
|
## $window->window->set_decorations(['all', 'menu']); # Zas |
|
|
$window->window->set_decorations(['all', 'menu']); # Zas |
|
|
## $window->window->set_functions(['all', 'resize']); # Zas |
|
|
$window->window->set_functions(['all', 'resize']); # Zas |
|
|
|
|
|
|
|
|
my $tooltips = Gtk::Tooltips->new(); |
|
|
my $tooltips = Gtk::Tooltips->new(); |
|
|
|
|
|
|
|
@ -335,7 +348,7 @@ my $item = Gtk::MenuItem->new("Method -> lilo" ); |
|
|
$item->show(); |
|
|
$item->show(); |
|
|
# Eventually get_menu, or something totally different will be used. |
|
|
# Eventually get_menu, or something totally different will be used. |
|
|
$item->signal_connect( 'activate',sub { $entry->set_text("lilo"); |
|
|
$item->signal_connect( 'activate',sub { $entry->set_text("lilo"); |
|
|
$container[0] = "lilo"}); |
|
|
$container[METHOD] = "lilo"}); |
|
|
$menu->append( $item ); |
|
|
$menu->append( $item ); |
|
|
$opt->set_menu( $menu ); |
|
|
$opt->set_menu( $menu ); |
|
|
$box2->pack_start( $opt, $true, $true, 0 ); |
|
|
$box2->pack_start( $opt, $true, $true, 0 ); |
|
@ -347,9 +360,9 @@ $box2->show(); |
|
|
# default ( null|gdkkbirdaao) && entry() && fileselect->file_ok_sel |
|
|
# default ( null|gdkkbirdaao) && entry() && fileselect->file_ok_sel |
|
|
hbox(); |
|
|
hbox(); |
|
|
my $entry2 = entry($true,1); |
|
|
my $entry2 = entry($true,1); |
|
|
$entry2->set_text($container[1]); |
|
|
$entry2->set_text($container[KERNEL]); |
|
|
if ($container[1]) { |
|
|
if ($container[KERNEL]) { |
|
|
$ars->{kernel} = $container[1]; |
|
|
$ars->{kernel} = $container[KERNEL]; |
|
|
ars($ars); |
|
|
ars($ars); |
|
|
} |
|
|
} |
|
|
button("Kernel Selection",$entry2,"Kernel Selection",1); |
|
|
button("Kernel Selection",$entry2,"Kernel Selection",1); |
|
@ -364,8 +377,8 @@ button("Root Filesystem",$entry3,"Root Filesystem",2); |
|
|
# Fourth row |
|
|
# Fourth row |
|
|
hbox(); |
|
|
hbox(); |
|
|
my $entry4 = entry($true,3); |
|
|
my $entry4 = entry($true,3); |
|
|
$container[3] = "/dev/fd0"; |
|
|
$container[BOOT_DEVICE] = "/dev/fd0"; |
|
|
$entry4->set_text($container[3]); |
|
|
$entry4->set_text($container[BOOT_DEVICE]); |
|
|
button("Device Selection",$entry4,"Device Selection",3,$true); |
|
|
button("Device Selection",$entry4,"Device Selection",3,$true); |
|
|
|
|
|
|
|
|
# Fifth row |
|
|
# Fifth row |
|
@ -377,10 +390,10 @@ $spinner->set_wrap( $true ); |
|
|
$spinner->set_numeric( $true ); |
|
|
$spinner->set_numeric( $true ); |
|
|
$spinner->set_shadow_type( 'in' ); |
|
|
$spinner->set_shadow_type( 'in' ); |
|
|
$spinner->show(); |
|
|
$spinner->show(); |
|
|
$container[4] = 1722; # A better value - a rtbt trick. |
|
|
$container[SIZE] = 1722; # A better value - a rtbt trick. |
|
|
$adj->signal_connect( "value_changed", sub { |
|
|
$adj->signal_connect( "value_changed", sub { |
|
|
$container[4] = $spinner->get_value_as_int(); |
|
|
$container[SIZE] = $spinner->get_value_as_int(); |
|
|
$adj2->set_value($container[4]) if defined $adj2;}); |
|
|
$adj2->set_value($container[SIZE]) if defined $adj2;}); |
|
|
$box2->pack_start( $spinner, $true, $true, 0 ); |
|
|
$box2->pack_start( $spinner, $true, $true, 0 ); |
|
|
#label("Device Size"); |
|
|
#label("Device Size"); |
|
|
|
|
|
|
|
@ -544,6 +557,7 @@ $hbutton->show(); |
|
|
$box2->pack_start( $hbutton, $true, $true, 0 ); |
|
|
$box2->pack_start( $hbutton, $true, $true, 0 ); |
|
|
$box2->show(); |
|
|
$box2->show(); |
|
|
|
|
|
|
|
|
|
|
|
Gtk::Rc->parse("gbootrootrc"); |
|
|
$window->show(); |
|
|
$window->show(); |
|
|
main Gtk; |
|
|
main Gtk; |
|
|
exit( 0 ); |
|
|
exit( 0 ); |
|
@ -658,7 +672,7 @@ sub advanced_boot_section { |
|
|
" later time on the actual" . |
|
|
" later time on the actual" . |
|
|
" boot device.", |
|
|
" boot device.", |
|
|
"" ); |
|
|
"" ); |
|
|
$ea1->set_text($container[3]) if defined $container[3]; |
|
|
$ea1->set_text($container[BOOT_DEVICE]) if defined $container[BOOT_DEVICE]; |
|
|
|
|
|
|
|
|
#_______________________________________ |
|
|
#_______________________________________ |
|
|
# Optional Device(s) |
|
|
# Optional Device(s) |
|
@ -712,7 +726,7 @@ sub advanced_root_section { |
|
|
$ear1->set_text($entry_advanced[3]); |
|
|
$ear1->set_text($entry_advanced[3]); |
|
|
} |
|
|
} |
|
|
else { |
|
|
else { |
|
|
$ear1->set_text($container[3]); |
|
|
$ear1->set_text($container[BOOT_DEVICE]); |
|
|
} |
|
|
} |
|
|
$tooltips->set_tip( $ear1, |
|
|
$tooltips->set_tip( $ear1, |
|
|
"Type in the location of the Root Device to use.", |
|
|
"Type in the location of the Root Device to use.", |
|
@ -741,14 +755,14 @@ sub advanced_root_section { |
|
|
$root_device_size = 1722 if !$root_device_size; |
|
|
$root_device_size = 1722 if !$root_device_size; |
|
|
$adj2->signal_connect( "value_changed", sub { |
|
|
$adj2->signal_connect( "value_changed", sub { |
|
|
$root_device_size = $spinner_advanced->get_value_as_int();}); |
|
|
$root_device_size = $spinner_advanced->get_value_as_int();}); |
|
|
# For some reason $container[4] is tranforming into [3] when |
|
|
# For some reason $container[SIZE] is tranforming into [3] when |
|
|
# device selection is changed. & in ABS devel device doesn't keep |
|
|
# device selection is changed. & in ABS devel device doesn't keep |
|
|
# state. |
|
|
# state. |
|
|
if ($root_device_size) { |
|
|
if ($root_device_size) { |
|
|
$spinner_advanced->set_value($root_device_size); |
|
|
$spinner_advanced->set_value($root_device_size); |
|
|
} |
|
|
} |
|
|
else { |
|
|
else { |
|
|
$adj2->set_value($container[4]) if defined $adj2; |
|
|
$adj2->set_value($container[SIZE]) if defined $adj2; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1299,10 +1313,10 @@ sub file_ok_sel { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
# auto-detect compression if system has file |
|
|
# auto-detect compression if system has file |
|
|
if ($container[2]) { |
|
|
if ($container[ROOT_DEVICE]) { |
|
|
my $file = sys("which file > /dev/null 2>&1"); |
|
|
my $file = sys("which file > /dev/null 2>&1"); |
|
|
if ($file == 0) { |
|
|
if ($file == 0) { |
|
|
open(F,"file $container[2] > /dev/null 2>&1|"); # no error check |
|
|
open(F,"file $container[ROOT_DEVICE] > /dev/null 2>&1|"); # no error check |
|
|
# here |
|
|
# here |
|
|
while (<F>) { |
|
|
while (<F>) { |
|
|
if (/gzip/) { |
|
|
if (/gzip/) { |
|
@ -1370,8 +1384,8 @@ sub entry { |
|
|
if ($num == 2) { |
|
|
if ($num == 2) { |
|
|
my $file = sys("which file"); |
|
|
my $file = sys("which file"); |
|
|
if ($file == 0) { |
|
|
if ($file == 0) { |
|
|
if ($container[2]) { |
|
|
if ($container[ROOT_DEVICE]) { |
|
|
open(F,"file $container[2] > /dev/null 2>&1|"); # no error check here |
|
|
open(F,"file $container[ROOT_DEVICE] > /dev/null 2>&1|"); # no error check here |
|
|
while (<F>) { |
|
|
while (<F>) { |
|
|
if (/gzip/) { |
|
|
if (/gzip/) { |
|
|
$gz_toggle->set_active( $true ); |
|
|
$gz_toggle->set_active( $true ); |
|
@ -1453,12 +1467,13 @@ sub submit { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
# Run some checks |
|
|
# Run some checks |
|
|
if (!defined $container[0]) { |
|
|
if (!defined $container[METHOD]) { |
|
|
error_window("gBootRoot: ERROR: No Method supplied"); |
|
|
error_window("gBootRoot: ERROR: No Method supplied"); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
if (defined $container[1] && -e $container[1] && !-d $container[1]) { |
|
|
if (defined $container[KERNEL] && -e $container[KERNEL] && |
|
|
$kernel = $container[1]; |
|
|
!-d $container[KERNEL]) { |
|
|
|
|
|
$kernel = $container[KERNEL]; |
|
|
# Better be sure it isn't in the mount directory |
|
|
# Better be sure it isn't in the mount directory |
|
|
if ($kernel =~ m,^$mnt,) { |
|
|
if ($kernel =~ m,^$mnt,) { |
|
|
error_window("gBootRoot: ERROR: Kernel found below Device mount point: $mnt"); |
|
|
error_window("gBootRoot: ERROR: Kernel found below Device mount point: $mnt"); |
|
@ -1466,12 +1481,13 @@ if (defined $container[1] && -e $container[1] && !-d $container[1]) { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
elsif (defined $container[0]) { |
|
|
elsif (defined $container[METHOD]) { |
|
|
error_window("gBootRoot: ERROR: Kernel not found"); |
|
|
error_window("gBootRoot: ERROR: Kernel not found"); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
if (defined $container[2] && -e $container[2] && !-d $container[2] ) { |
|
|
if (defined $container[ROOT_DEVICE] && -e $container[ROOT_DEVICE] && |
|
|
$root_image = $container[2]; |
|
|
!-d $container[ROOT_DEVICE] ) { |
|
|
|
|
|
$root_image = $container[ROOT_DEVICE]; |
|
|
if ($root_image =~ m,^$mnt,) { |
|
|
if ($root_image =~ m,^$mnt,) { |
|
|
# Bug revealed by Cristian Ionescu-Idbohrn <cii@axis.com> |
|
|
# Bug revealed by Cristian Ionescu-Idbohrn <cii@axis.com> |
|
|
error_window( |
|
|
error_window( |
|
@ -1479,66 +1495,70 @@ if (defined $container[2] && -e $container[2] && !-d $container[2] ) { |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
elsif (defined $container[0] && defined $container[1]) { |
|
|
elsif (defined $container[METHOD] && defined $container[KERNEL]) { |
|
|
error_window("gBootRoot: ERROR: Rootimage not found"); |
|
|
error_window("gBootRoot: ERROR: Rootimage not found"); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
# we need to check for this, too. |
|
|
# we need to check for this, too. |
|
|
if (defined $container[3] && -b $container[3]) { |
|
|
if (defined $container[BOOT_DEVICE] && -b $container[BOOT_DEVICE]) { |
|
|
$device = $container[3]; |
|
|
$device = $container[BOOT_DEVICE]; |
|
|
} |
|
|
} |
|
|
elsif (defined $container[0] && defined $container[1] |
|
|
elsif (defined $container[METHOD] && defined $container[KERNEL] |
|
|
&& defined $container[2]) { |
|
|
&& defined $container[ROOT_DEVICE]) { |
|
|
error_window("gBootRoot: ERROR: Not a valid Block Device"); |
|
|
error_window("gBootRoot: ERROR: Not a valid Block Device"); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
if (defined $container[4]) { |
|
|
if (defined $container[SIZE]) { |
|
|
$size = $container[4]; |
|
|
$size = $container[SIZE]; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
# pretty unlikely |
|
|
# pretty unlikely |
|
|
elsif (defined $container[0] && defined $container[1] && |
|
|
elsif (defined $container[METHOD] && defined $container[KERNEL] && |
|
|
defined $container[2] && defined $container[3]) { |
|
|
defined $container[ROOT_DEVICE] && defined $container[BOOT_DEVICE]) { |
|
|
error_window("gBootRoot: ERROR: No size specified"); |
|
|
error_window("gBootRoot: ERROR: No size specified"); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# kernel value can change without effecting initrd |
|
|
# kernel value can change without effecting initrd |
|
|
# no sense doing this until important stuff is filled in |
|
|
# no sense doing this until important stuff is filled in |
|
|
if (defined $kernel && defined $root_image && |
|
|
if (defined $kernel && defined $root_image && |
|
|
defined $device && defined $size) { |
|
|
defined $device && defined $size) { |
|
|
$container[5] = $compress; |
|
|
$container[COMPRESS] = $compress; |
|
|
|
|
|
|
|
|
# 1 .. 4 - its a hash .. not too simple |
|
|
# 1 .. 4 - its a hash .. not too simple |
|
|
!defined $lib_strip_check ? ($container[6] = 1) |
|
|
!defined $lib_strip_check ? ($container[LIB_STRIP] = 1) |
|
|
: ($container[6] = $lib_strip_check->get_active()); |
|
|
: ($container[LIB_STRIP] = $lib_strip_check->get_active()); |
|
|
!$container[6] ? ($container[6] = 2) : ($container[6] = 1); |
|
|
!$container[LIB_STRIP] ? ($container[LIB_STRIP] = 2) |
|
|
!defined $bin_strip_check ? ($container[7] = 3) |
|
|
: ($container[LIB_STRIP] = 1); |
|
|
: ($container[7] = $bin_strip_check->get_active()); |
|
|
!defined $bin_strip_check ? ($container[BIN_STRIP] = 3) |
|
|
!$container[7] ? ($container[7] = 4) : ($container[7] = 3); |
|
|
: ($container[BIN_STRIP] = |
|
|
|
|
|
$bin_strip_check->get_active()); |
|
|
if ($container[6] == 1) { |
|
|
!$container[BIN_STRIP] ? ($container[BIN_STRIP] = 4) |
|
|
$obj_count == 0 ? ($container[8] = 5) : ($container[8] = 6); |
|
|
: ($container[BIN_STRIP] = 3); |
|
|
|
|
|
|
|
|
|
|
|
if ($container[LIB_STRIP] == 1) { |
|
|
|
|
|
$obj_count == 0 ? ($container[OBJCOPY_BOOL] = 5) |
|
|
|
|
|
: ($container[OBJCOPY_BOOL] = 6); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (!defined $entry_advanced[0]) { |
|
|
if (!defined $entry_advanced[0]) { |
|
|
$container[9] = $device . "ea1"; |
|
|
$container[ABS_DEVICE] = $device . "ea1"; |
|
|
$entry_advanced[0] = $device; |
|
|
$entry_advanced[0] = $device; |
|
|
} |
|
|
} |
|
|
else { |
|
|
else { |
|
|
$container[9] = $entry_advanced[0] . "ea1"; |
|
|
$container[ABS_DEVICE] = $entry_advanced[0] . "ea1"; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
# Works now .. whoosh! |
|
|
# Works now .. whoosh! |
|
|
if ($container[10]) { |
|
|
if ($container[ABS_OPT_DEVICE]) { |
|
|
if ($container[10] ne "") { |
|
|
if ($container[ABS_OPT_DEVICE] ne "") { |
|
|
$container[10] = $entry_advanced[1] if $entry_advanced[1]; |
|
|
$container[ABS_OPT_DEVICE] = $entry_advanced[1] |
|
|
|
|
|
if $entry_advanced[1]; |
|
|
} |
|
|
} |
|
|
if (defined $entry_advanced[1] and $entry_advanced[1] eq "") { |
|
|
if (defined $entry_advanced[1] and $entry_advanced[1] eq "") { |
|
|
$container[10] = ""; |
|
|
$container[ABS_OPT_DEVICE] = ""; |
|
|
} |
|
|
} |
|
|
elsif ($container[10] eq "") { |
|
|
elsif ($container[ABS_OPT_DEVICE] eq "") { |
|
|
push(@original_container,$entry_advanced[1]); |
|
|
push(@original_container,$entry_advanced[1]); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@ -1548,14 +1568,15 @@ elsif (defined $container[0] && defined $container[1] && |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
# pretty complex and works properly even for !-e lilo.conf |
|
|
# pretty complex and works properly even for !-e lilo.conf |
|
|
if ($container[11]) { |
|
|
if ($container[ABS_APPEND]) { |
|
|
if ($container[11] ne "") { |
|
|
if ($container[ABS_APPEND] ne "") { |
|
|
$container[11] = $entry_advanced[2] if $entry_advanced[2]; |
|
|
$container[ABS_APPEND] = $entry_advanced[2] |
|
|
|
|
|
if $entry_advanced[2]; |
|
|
} |
|
|
} |
|
|
if (defined $entry_advanced[2] and $entry_advanced[2] eq "") { |
|
|
if (defined $entry_advanced[2] and $entry_advanced[2] eq "") { |
|
|
$container[11] = ""; |
|
|
$container[ABS_APPEND] = ""; |
|
|
} |
|
|
} |
|
|
elsif ($container[11] eq "") { |
|
|
elsif ($container[ABS_APPEND] eq "") { |
|
|
push(@original_container,$entry_advanced[2]); |
|
|
push(@original_container,$entry_advanced[2]); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@ -1571,17 +1592,19 @@ elsif (defined $container[0] && defined $container[1] && |
|
|
my @temp_container = @container; |
|
|
my @temp_container = @container; |
|
|
|
|
|
|
|
|
# Got it! - how to deal with fields with no init value |
|
|
# Got it! - how to deal with fields with no init value |
|
|
if (defined $container[10] and $container[10] eq "") { |
|
|
if (defined $container[ABS_OPT_DEVICE] and |
|
|
$container[10] = $entry_advanced[1]; |
|
|
$container[ABS_OPT_DEVICE] eq "") { |
|
|
|
|
|
$container[ABS_OPT_DEVICE] = $entry_advanced[1]; |
|
|
} |
|
|
} |
|
|
if (!defined $container[10]) { |
|
|
if (!defined $container[ABS_OPT_DEVICE]) { |
|
|
$container[10] = $entry_advanced[1]; |
|
|
$container[ABS_OPT_DEVICE] = $entry_advanced[1]; |
|
|
} |
|
|
} |
|
|
if (defined $container[11] and $container[11] eq "") { |
|
|
if (defined $container[ABS_APPEND] and |
|
|
$container[11] = $entry_advanced[2]; |
|
|
$container[ABS_APPEND] eq "") { |
|
|
|
|
|
$container[ABS_APPEND] = $entry_advanced[2]; |
|
|
} |
|
|
} |
|
|
if (!defined $container[11]) { |
|
|
if (!defined $container[ABS_APPEND]) { |
|
|
$container[11] = $entry_advanced[2]; |
|
|
$container[ABS_APPEND] = $entry_advanced[2]; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
# no sense looking at undef values |
|
|
# no sense looking at undef values |
|
@ -1624,10 +1647,17 @@ elsif (defined $container[0] && defined $container[1] && |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
# reset |
|
|
# reset |
|
|
@original_container = ($container[0],$root_image,$device,$size, |
|
|
@original_container = ( $container[METHOD], |
|
|
$compress,$container[6],$container[7], |
|
|
$root_image, |
|
|
$container[8],$container[9],$container[10], |
|
|
$device, |
|
|
$container[11]); |
|
|
$size, |
|
|
|
|
|
$compress,$container[LIB_STRIP], |
|
|
|
|
|
$container[BIN_STRIP], |
|
|
|
|
|
$container[OBJCOPY_BOOL], |
|
|
|
|
|
$container[ABS_DEVICE], |
|
|
|
|
|
$container[ABS_OPT_DEVICE], |
|
|
|
|
|
$container[ABS_APPEND] |
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
lilo(); |
|
|
lilo(); |
|
|
} |
|
|
} |
|
@ -1640,10 +1670,10 @@ sub lilo { |
|
|
sys("rm $tmp/initrd_image.gz") if $ok == 1; |
|
|
sys("rm $tmp/initrd_image.gz") if $ok == 1; |
|
|
sys("umount $tmp/initrd_mnt"); |
|
|
sys("umount $tmp/initrd_mnt"); |
|
|
|
|
|
|
|
|
$kernel = $container[1]; |
|
|
$kernel = $container[KERNEL]; |
|
|
$root_image = $container[2]; |
|
|
$root_image = $container[ROOT_DEVICE]; |
|
|
$device = $container[3]; |
|
|
$device = $container[BOOT_DEVICE]; |
|
|
$size = $container[4]; |
|
|
$size = $container[SIZE]; |
|
|
|
|
|
|
|
|
if ($ok == 1 || $ok == 2) { |
|
|
if ($ok == 1 || $ok == 2) { |
|
|
my $value = initrd($kernel,$root_image,$device,$size); |
|
|
my $value = initrd($kernel,$root_image,$device,$size); |
|
@ -2335,7 +2365,7 @@ sub brlilo { |
|
|
|
|
|
|
|
|
my ($device) = @_; |
|
|
my ($device) = @_; |
|
|
$entry_advanced[2] ? $entry_advanced[2] = $entry_advanced[2] |
|
|
$entry_advanced[2] ? $entry_advanced[2] = $entry_advanced[2] |
|
|
: $entry_advanced[2] = $container[11]; |
|
|
: $entry_advanced[2] = $container[ABS_APPEND]; |
|
|
|
|
|
|
|
|
# HEREDOC |
|
|
# HEREDOC |
|
|
my $brlilo = << "LILOCONF"; |
|
|
my $brlilo = << "LILOCONF"; |
|
|