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);