Browse Source

This adds switch, version and help and updates the doc.

master
freesource 23 years ago
parent
commit
a53e4770cc
  1. 218
      BootRoot/BootRoot.pm
  2. 24
      doc/html/index.html

218
BootRoot/BootRoot.pm

@ -131,7 +131,7 @@ my $separator_advanced;
my @entry_advanced;
my ($ea1,$ea2,$ea3,$ea4,$ea5,$ea6); # entry advanced boot
my ($ear1,$ear2,$ear3,$ear4); # entry advanced root
my ($eab1,$eab2,$eab3); # entry advanced uml
my ($eab1,$eab2,$eab3,$eab4); # entry advanced uml
my $uml_window;
my $table_advanced;
my $table_advanced_root;
@ -160,6 +160,7 @@ my $entry5;
my $pbar;
my $rbutton;
my $verbosefn;
my $umid;
# Value set by kernel_modules
my $kernel_version;
@ -1279,7 +1280,7 @@ sub uml_box {
$uml_window->signal_connect("delete_event", \&destroy_window,
\$uml_window);
##$uml_window->set_usize( 500, 95 ); # 450 175 || 500 600
$uml_window->set_default_size( 500, 95 ); # 450 175 || 500 600
$uml_window->set_default_size( 525, 95 ); # 450 175 || 500 600
$uml_window->set_policy( $true, $true, $false );
$uml_window->set_title( "UML Box" );
$uml_window->border_width(1);
@ -1289,7 +1290,7 @@ sub uml_box {
$main_vbox->show();
##my $table_uml = Gtk::Table->new( 4, 3, $true );
my $table_uml = Gtk::Table->new( 4, 5, $false );
my $table_uml = Gtk::Table->new( 5, 4, $false );
##$main_vbox->pack_start( $table_uml, $true, $true, 0 );
$main_vbox->pack_start( $table_uml, $true, $false, 0 );
$table_uml->show();
@ -1297,13 +1298,14 @@ sub uml_box {
#_______________________________________
# Xterm and execute options
label_advanced("Xterm:",0,1,0,1,$table_uml);
$eab1 = entry_advanced(1,4,0,1,8,$table_uml); # 1,2
$eab1 = entry_advanced(1,2,0,1,8,$table_uml); # 1,2
$eab1->set_text($uml_xterm);
$tooltips->set_tip( $eab1,
"Choose an xterm with " .
"its executable option switch.",
"" );
#_______________________________________
# UML options
label_advanced("Options:",0,1,1,2,$table_uml);
@ -1341,6 +1343,166 @@ sub uml_box {
$eab2->show();
#_______________________________________
# mconsole
label_advanced("mconsole:",2,3,0,1,$table_uml);
$eab4 = entry_advanced(3,5,0,1,14,$table_uml);
$tooltips->set_tip( $eab4,
"Pass commands to the mconsole.\n" .
"sysrq [0-9|b|e|i|l|m|p|r|s|t|u] " .
" config <dev>=<config> remove <dev> " .
" switch <umid> version help",
"" );
$eab4->signal_connect("activate",
sub {
if ( $entry_advanced[9] ) {
$entry_advanced[9] =~
m,\s*umid=([\w\d-]+)\s*,;
$umid = $1 if !$umid;
my @command_parts = split(" ",
$entry_advanced
[14]);
# help
if ( $entry_advanced[14] &&
$entry_advanced[14] =~ m,help, ) {
for my $co (0 .. $#command_parts ) {
if ( $command_parts[$co] eq
"help"
)
{
sys(
"uml_mconsole " .
"/tmp/uml/$umid/mconsole" .
" help");
}
}
}
# version
if ( $entry_advanced[14] &&
$entry_advanced[14] =~ m,version, ) {
for my $co (0 .. $#command_parts ) {
if ( $command_parts[$co] eq
"version"
)
{
sys(
"uml_mconsole " .
"/tmp/uml/$umid/mconsole" .
" version");
}
}
}
# sysrq
if ( $entry_advanced[14] &&
$entry_advanced[14] =~ m,sysrq, ) {
for my $co (0 .. $#command_parts ) {
if ( $command_parts[$co] eq
"sysrq"
)
{
if ( !$command_parts[$co + 1] ||
$command_parts[$co + 1] =~
m,^[0-9]{n}$ | ^b$ | ^e$ | ^i$ | ^l$ |
^m$ | ^p$ | ^r$ | ^s$ | ^t$ | ^u$,x ) {
system
"uml_mconsole " .
"/tmp/uml/$umid/mconsole" .
" sysrq $command_parts[$co + 1]&";
}
else {
system
"uml_mconsole " .
"/tmp/uml/$umid/mconsole" .
" sysrq&";
}
}
}
}
# switch
if ( $entry_advanced[14] &&
$entry_advanced[14] =~ m,switch, ) {
for my $co (0 .. $#command_parts ) {
if ( $command_parts[$co] eq
"switch"
)
{
sys(
"uml_mconsole " .
"/tmp/uml/$umid/mconsole" .
" switch $command_parts[$co + 1]");
$umid = $command_parts[$co + 1];
#$eab4->changed();
}
}
}
# config
if ( $entry_advanced[14] &&
$entry_advanced[14] =~ m,config, ) {
for my $co (0 .. $#command_parts ) {
if ( $command_parts[$co] eq
"config"
)
{
system
"uml_mconsole " .
"/tmp/uml/$umid/mconsole" .
" config " .
"$command_parts[$co + 1]&";
}
}
}
# remove
if ( $entry_advanced[14] &&
$entry_advanced[14] =~ m,remove, ) {
for my $co (0 .. $#command_parts ) {
if ( $command_parts[$co] eq
"remove"
)
{
system
"uml_mconsole " .
"/tmp/uml/$umid/mconsole" .
" remove " .
"$command_parts[$co + 1]&";
}
}
}
}
} );
#_______________________________________
# Root Filesystem defaults to generated one if found.
label_advanced("Root_Fs:",0,1,2,3,$table_uml);
@ -1458,8 +1620,6 @@ sub uml_box {
#_______________________________________
# Reboot Button - mconsole
# This is the hard kill when all else fails, it also cleans up
# lingering processess, but is considered a last resort
my $reboot_b = button_advanced(1,2,3,4,"Reboot",$table_uml);
$tooltips->set_tip( $reboot_b,
"Passes the reboot command to mconsole.",
@ -1469,8 +1629,9 @@ sub uml_box {
# use first one found
$entry_advanced[9] =~
m,\s*umid=([\w\d-]+)\s*,;
$umid = $1 if !$umid;
system
"uml_mconsole /tmp/uml/$1/mconsole" .
"uml_mconsole /tmp/uml/$umid/mconsole" .
" reboot&";
} );
@ -1478,8 +1639,6 @@ sub uml_box {
#_______________________________________
# Halt Button - mconsole
# This is the hard kill when all else fails, it also cleans up
# lingering processess, but is considered a last resort
my $halt_b = button_advanced(2,3,3,4,"Halt",$table_uml);
$tooltips->set_tip( $halt_b,
"Passes the halt command to mconsole. " .
@ -1490,8 +1649,9 @@ sub uml_box {
# use first one found
$entry_advanced[9] =~
m,\s*umid=([\w\d-]+)\s*,;
$umid = $1 if !$umid;
system
"uml_mconsole /tmp/uml/$1/mconsole" .
"uml_mconsole /tmp/uml/$umid/mconsole" .
" halt&";
} );
@ -1841,6 +2001,7 @@ sub Generate {
# 11 = Kernel Modules .. from the Boot Method
# 12 = Kernel Version .. from the Boot Method
# 13 = System.map .. from the Boot Method
# 14 = mcosole .. from the UML Box
# $root_device_size;
# $filesystem_size;
@ -1948,18 +2109,31 @@ sub entry_advanced {
my $numa = $_[4];
my $entry_advanced = Gtk::Entry->new();
$entry_advanced->set_editable( $true );
$entry_advanced->signal_connect( "changed", sub {
$entry_advanced[$numa] = $entry_advanced->get_text();
if ($numa == 4) {
$ars->{filename} = $entry_advanced[$numa];
ars($ars);
}
if ( $numa == 12 ) {
$ars->{kernel_version_choice} = $entry_advanced[$numa];
ars($ars);
ars2($ars);
}
} );
if ( $numa != 14 ) {
$entry_advanced->signal_connect( "changed", sub {
$entry_advanced[$numa] = $entry_advanced->get_text();
if ($numa == 4) {
$ars->{filename} = $entry_advanced[$numa];
ars($ars);
}
if ( $numa == 12 ) {
$ars->{kernel_version_choice} = $entry_advanced[$numa];
ars($ars);
ars2($ars);
}
} );
}
else {
$entry_advanced->signal_connect( "activate", sub {
$entry_advanced[$numa] = $entry_advanced->get_text();
} );
}
$entry_advanced->set_usize(100,20);
$_[5]->attach($entry_advanced,$_[0],$_[1],$_[2],$_[3],
['shrink','fill','expand'],['fill','shrink'],0,0);

24
doc/html/index.html

@ -3,7 +3,7 @@
<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E"
alink="#FF0000">
<center>$Id: index.html,v 1.55 2001/12/23 09:11:44 freesource Exp $</center>
<center>$Id: index.html,v 1.56 2001/12/23 18:05:22 freesource Exp $</center>
<p>
@ -253,26 +253,36 @@ button or a put together a complete Boot/Root set with the Submit button.</p>
"mconsole:"&nbsp;&nbsp;Allow you to pass the help, sysrq, config, and remove
commands to the mconsole to control the Linux virtual machine specified
with the umid value.
with the umid value.&nbsp;&nbsp;Good information about sysrq is found in
Documentation/sysrq.txt in the Linux sources.
<pre>
sysrq (Shows option values in virtual machine.)
sysrq [0-9|b|e|i|l|m|p|r|s|t|u]
config &lt;dev&gt;=&lt;config&gt;
remove &lt;dev&gt;
switch &lt;umid&gt;
version
help
</pre>
<p>
"Options"&nbsp;&nbsp;Enter uml command-line options like: <code>mem=64,
devfs=nomount</code>.&nbsp;&nbsp;The <code>umid</code> option is used by
the Reboot and Halt button to determine which Linux virtual machine is
running.&nbsp;&nbsp;Many different machines can be controlled by submitting
each
machine with a different name, and then changing the umid when control is
required for a different machine when using these two buttons.
the Reboot and Halt to determine which Linux virtual machine is
running.&nbsp;&nbsp;The umid value may be changed by
altering the value for the <code>switch</code> option in the mconsole entry
box to allow control of a different Linux virtual machine.
</p>
<pre>
umid=bootroot
mconsole: switch bootroot2 [Enter]
mconsole: sysrq s sysrq u sysrq b [Enter]
mconsole: switch bootroot [Enter]
</pre>
<p>
"Root_Fs"&nbsp;&nbsp;Choose an uncompressed root

Loading…
Cancel
Save