diff --git a/BootRoot/BootRoot.pm b/BootRoot/BootRoot.pm
index 77d76fa..6d7a81b 100644
--- a/BootRoot/BootRoot.pm
+++ b/BootRoot/BootRoot.pm
@@ -74,8 +74,9 @@ my $home_uml_kernel;
$option{gui_mode} ? ($home_uml_kernel = "$home/user-mode-linux/usr/bin/")
: ($home_uml_kernel = "$home/uml_kernel/");
sub uml_kernel {
- $home_uml_kernel = $home_uml_kernel . "linuxbr" if !$option{"uml-kernel"};
- return $home_uml_kernel;
+ my $home_umlk = $home_uml_kernel;
+ $home_umlk = $home_umlk . "linuxbr" if !$option{"uml-kernel"};
+ return $home_umlk;
}
my $modules_directory = "/lib/modules";
@@ -363,7 +364,7 @@ if ( !%option || $option{gui_mode} ) {
# /tmp
home_builder($tmp1);
-if ( !( $option{home} || $option{help} || $option{h} ) ) {
+if ( !( $option{help} || $option{h} ) ) {
# $HOME/.gbootroot/root_filesystem
home_builder($home_rootfs);
@@ -1545,7 +1546,10 @@ sub uml_box {
$eab2 = Gtk::Combo->new();
$table_uml->attach($eab2,1,5,1,2,
['expand','fill'],['fill','shrink'],0,0); # 1,3
- open(OPTIONS,"$home_uml_kernel/.options");
+ my $error;
+ open(OPTIONS,"$home_uml_kernel/.options") or
+ ($error = error("$home_uml_kernel/.options: $!\n"));
+ return "ERROR"if $error && $error eq "ERROR";
my @initial_options = ;
close(OPTIONS); chomp @initial_options;
$eab2->entry->set_text($initial_options[0]);
diff --git a/BootRoot/Yard.pm b/BootRoot/Yard.pm
index d85ab32..00ed532 100644
--- a/BootRoot/Yard.pm
+++ b/BootRoot/Yard.pm
@@ -1591,6 +1591,9 @@ sub create_expect_uml {
while (Gtk->events_pending) { Gtk->main_iteration; }
}
+ # Pretty important, probably should check for errors, too.
+ close(EXPECT);
+
# This will just keep appending, but that's o.k.
if ( $fs_type eq "mkcramfs" || $fs_type eq "genromfs" ||
diff --git a/Changes b/Changes
index 463d466..e6df94a 100644
--- a/Changes
+++ b/Changes
@@ -1,6 +1,16 @@
-1.4.0 - 12/20/2002
+1.4.0 - 01/06/2003
------------------
+Updated to 2.4.19-45um and the latest uml tools 20021103.
+
+Added a nested package, gbootroot-nest1 to allow gbootroot to have
+full functionality under uml.
+
+Wrote and added a C program skas-or-tt to automatically add the proper
+mode={skas,tt} to the commandline. This means compilation will be
+optimized, and things won't lock up when using gbootroot-nest1 with a
+uml running on top of a host kernel without the skas patch.
+
The MTD Emulator doesn't work as nicely as before. Blkmtd seems
mostly broken, and mtdram needs more careful tweaking for total size,
though mtdram definitely still works. This is due to changes in uml
@@ -13,17 +23,28 @@ this change exists with the new port-helper because wasn't the case
before. Also, added path for user-mode-linux/usr/bin to find the
other tools.
+The Makefile has been altered quite a bit, and wgets necessary
+sources, unconventional but very nice in keeping up with jdike's
+latest patch. You can now live quite happily out of the source
+directory.
+
+Added the templates for Initrd and root_fs_helper and the
+corresponding replacements that are also used by the source package.
+
+Updated the documentation, and the README found in the source packages
+is now available in the normal packages.
+
The biggest change is the command-line interface with the yard root
method. Now distribute your template and let others easily recreate
your root_fs without entering the gui by running "gbootroot --template
your_template" and this is a nice way to manage a distribution you are
-developing. This all means the source packages are completely
+developing. This also means that source packages are completely
automated now, and vastly improved, which is quite awesome.
When root_fs_helper was running with the newer Expect.pm, and
consequentially the newer uml kernel it became necessary to get out
when the kernel shuts down with a last function right when it says
-"Power down."
+"Power down" or "bd.*module cleaned up."
Checks for the proper version for newer libc6 linkers. Hopefully,
should work properly with libc6 > 2.3.1, too.
diff --git a/README b/README
index 805086d..29f9a78 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-$Id: README,v 1.14 2002/12/22 03:15:05 freesource Exp $
+$Id: README,v 1.15 2003/01/05 02:10:41 freesource Exp $
Program: gBootRoot pronounced "bOOtrOOt"
License: GNU General Public License
@@ -58,7 +58,7 @@ REQUIREMENTS TO RUN GBOOTROOT
PERL MODULES
Gtk-Perl (Required for GUI)
---------
+--------------------------
Version 0.7002 or greater.
http://freshmeat.net/projects/gtk-perl
@@ -96,8 +96,8 @@ ash lilo bzip2 file
ROOT METHODS
-Yard
-----
+Yard (This is a method - not a program)
+--------------------------------------
Watch the verbosity box, it will be obvious when a required command is
missing. Make sure you have this file installed on your system:
@@ -107,8 +107,9 @@ file
IMPORTANT CONFIGURATIONS
-"chown 0:0 /usr/bin/uml_net; chmod 4755 /usr/bin/uml_net" so normal users can
-have network capabilities.
+"chown 0:0 /usr/bin/uml_net; chmod 4755 /usr/bin/uml_net" so normal
+users can have network capabilities; ofcourse, you may totally avoid
+doing the suid thing by using tunctl.
Should the host kernel have the skas patch applied?
diff --git a/doc/html/index.html b/doc/html/index.html
index a246301..e8645e7 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -3,7 +3,7 @@
-$Id: index.html,v 1.105 2002/12/20 19:28:44 freesource Exp $
+$Id: index.html,v 1.106 2003/01/05 06:00:38 freesource Exp $
@@ -20,10 +20,12 @@ alt="SourceForge Logo">
+
-
+
-->
+
+
@@ -61,7 +63,7 @@ hometown!
-Slackware or just compiling it yourself
+Slackware or compiling it yourself
gbootroot source
Instructions:
README
diff --git a/skas-or-tt/skas-or-tt.c b/skas-or-tt/skas-or-tt.c
index e3f5cff..88e28db 100644
--- a/skas-or-tt/skas-or-tt.c
+++ b/skas-or-tt/skas-or-tt.c
@@ -36,10 +36,14 @@ int main(void)
if ( cmdline_value == 1 ) {
printf("Checking for the skas3 patch in the host...not found\nChecking for /proc/mm...not found\n");
+ kill(pid, SIGSTOP);
+ kill(pid, SIGKILL);
return(0);
}
else if ( cmdline_value == 2 ) {
printf("Checking for the skas3 patch in the host...found\nChecking for /proc/mm...found\n");
+ kill(pid, SIGSTOP);
+ kill(pid, SIGKILL);
return(0);
}
@@ -62,7 +66,8 @@ int main(void)
ret = 0;
}
else printf("found\n");
-
+
+ kill(pid, SIGSTOP);
kill(pid, SIGKILL);
return(ret);