Program:  gBootRoot  pronounced "bOOtrOOt"
License:  GNU General Public License

The Makefile included with this source package doesn't figure out whether 
your installation has the proper requirements.  Type "make", follow the 
instructions in the "Important Configurations" section near the
bottom of this page, and then run gbootroot.  The program will indicate to you
whether anything is missing.  If it doesn't work at all, it's generally due to
not having gtk-perl installed.  If the user-mode-linux kernel doesn't work, it
may be an architecture issue.  If you need to customize the 
kernel, there are general directions in the README.  If a boot or root method
are missing required programs, pop-up dialog boxes and information from the 
verbosity box will give a good indication of what is causing the problem.  

Out of the box this program works with the i386 architecture, for other 
architectures genext2fs and user-mode-linux will need to be compiled if
full functionality is desired.  Eventually, the Advanced Kernel Section in
this program will be able to help with the uml compile.


Perl Modules:
#############

Gtk-Perl (Required)
--------

Version 0.7002 or greater.
http://freshmeat.net/projects/gtk-perl

[ The next three are required for automated normal (non-root) user 
  functionality . ]

Expect (tested with 1.11)
------------------------
http://www.perl.com/CPAN/modules/by-module/Expect/
http://sourceforge.net/projects/expectperl

IO::Stty
--------
http://www.perl.com/CPAN/modules/by-module/IO/IO-Stty-.02.tar.gz

IO::Tty
-------
http://www.perl.com/CPAN/modules/by-module/IO/IO-Tty-0.04.tar.gz
http://sourceforge.net/projects/expectperl


Binaries:
#########  

Genext2fs
---------
genext2fs/genext2fs ( included and already compiled for i386 )
cd genext2fs; make  ( other architectures )

User-Mode-Linux
---------------
user-mode-linux/usr/bin/{linux,uml_*}     ( included and already compiled 
	                                                         for i386 )
user-mode-linux/usr/lib/uml/{modules*tar} ( included and already compiled 
                                                                 for i386 )
user-mode-linux/usr/lib/uml/config        ( kernel .config defaults )

If you use a different architecture you will need to read 
http://user-mode-linux.sourceforge.net/arch-port.html.  

Here are general guidelines for compiling uml:

Get kernel sources from www.kernel.org, and then get a matching uml-patch from
http://sourceforge.net/project/showfiles.php?group_id=429.  If you want to 
match the kernel version used by gbootroot check gbootroot/Changes to find 
out which version of uml if being used.  You may want to load config when 
configuring the kernel and use it as a starting point.  There are good 
instructions on how to compile a uml kernel at 
http://user-mode-linux.sourceforge.net/UserModeLinux-HOWTO-2.html.  
When finished, put the uml kernel in the directory cited above and call it 
linux; you can put the modules in a Replacements directory (see FAQ).  

The helper uml_* tools need to be checked out from cvs and compiled with make:

(Instructions for cvs at http://sourceforge.net/cvs/?group_id=429.)
cvs -d:pserver:anonymous@cvs.user-mode-linux.sourceforge.net:/cvsroot/user-mode-linux login
cvs -z3 -d:pserver:anonymous@cvs.user-mode-linux.sourceforge.net:/cvsroot/user-mode-linux co tools

cd tools/mconsole; make;
cd ../uml_net; make; chown 0:0 uml_net; chmod 4755 uml_net;
cd ../uml_router; make;
cd ../uml_moo; make;

Note:  Please send the user-mode-linux-devel and gbootroot-devel lists your 
experiences if you successfully get another architecture working.  ppc has 
been ported.


Boot Methods:
#############

2 disk compression
------------------

This method will tell you when any of these utilities are missing:

ash  lilo  bzip2  file


Root Methods:
#############

Yard
----

Watch the verbosity box, it will be obvious when a required command is 
missing.  Make sure you have this file installed on your system:

file


Important Configurations:
#########################

"chown 0:0 /usr/bin/uml_net; chmod 4755 /usr/bin/uml_net" so normal users can 
have network capabilities.


Documentation:
#############

Documentaion and FAQ are in doc/html/index.html


Have fun!

 -Jonathan

Please infuse your suggestions, bug reports, insults, and patronage back to:
        Jonathan Rosenbaum <freesource@users.sourceforge.net>







