|
|
@ -1,23 +1,57 @@ |
|
|
|
$Id$ |
|
|
|
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. |
|
|
|
|
|
|
|
|
|
|
|
BUILDING |
|
|
|
--------- |
|
|
|
|
|
|
|
If you can compile a kernel on your system, then you should have no |
|
|
|
problems getting the Makefile to work, and if you are using the |
|
|
|
sources for the Debian package, then you can always do an "apt-get |
|
|
|
build-dep gbootroot." to automatically figure out your build |
|
|
|
requirements. Gbootroot makes its own root_fs, when the output gets |
|
|
|
colorful (blue and red) you know this is happening. If things go |
|
|
|
wrong at this point you will want to look at the requirements below. |
|
|
|
|
|
|
|
You will want wget installed because the Makefile attempts to download |
|
|
|
the necessary sources and then places them in the sources/ directory. |
|
|
|
This is what makes the unofficial Debian and RedHat source packages |
|
|
|
unique, because usually another package would provide the necessary |
|
|
|
sources since official distributions aren't always used online. On the |
|
|
|
other hand, this is a FEATURE. Anytime you want to update gbootroot |
|
|
|
to the current user-mode-linux patch just change the Makefile |
|
|
|
PATCH_VERSION, run "make clean", and then "make". |
|
|
|
|
|
|
|
The two root_fs created are root_fs_helper and Initrd.gz. |
|
|
|
Root_fs_helper has lots of different filesystem utilities, but the |
|
|
|
CRUCIAL ones to get the build to work properly are mke2fs and |
|
|
|
mkcramfs. Here's a list of what utilities are included: mke2fs mkcramfs |
|
|
|
genromfs mkfs.minix mkminix mkreiserfs mkfs.jffs mkfs.jffs2 |
|
|
|
|
|
|
|
These are the build-depends from the debian source package: binutils, |
|
|
|
fileutils (>= 4.0), gcc | c-compiler, make, libc-dev, bin86, wget, |
|
|
|
mkcramfs, e2fsprogs, reiserfsprog, genromfs, util-linux, mtd-tools |
|
|
|
|
|
|
|
INSTALLING |
|
|
|
---------- |
|
|
|
|
|
|
|
If you build the package as a non-root user, and you don't have |
|
|
|
permissions to write to system directories you can always run |
|
|
|
gbootroot from the immediate source directory "./gbootroot --home ." |
|
|
|
or "perl -I . ./gbootroot --home ." if there is already another |
|
|
|
installed version on the system. |
|
|
|
|
|
|
|
To install on the system type "make install" and follow the |
|
|
|
instructions in the "Important Configurations" section near the bottom |
|
|
|
of this page, and then run gbootroot. |
|
|
|
|
|
|
|
When you run gbootroot 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. |
|
|
|
|
|
|
|
|
|
|
|
REQUIREMENTS TO RUN GBOOTROOT |
|
|
|
----------------------------- |
|
|
|
Perl Modules: |
|
|
|
############# |
|
|
|
|
|
|
@ -34,63 +68,18 @@ Expect (tested with 1.11) |
|
|
|
------------------------ |
|
|
|
http://www.perl.com/CPAN/modules/by-module/Expect/ |
|
|
|
http://sourceforge.net/projects/expectperl |
|
|
|
RPM version can be found at sf.net/gbootroot. |
|
|
|
|
|
|
|
IO::Stty |
|
|
|
-------- |
|
|
|
http://www.perl.com/CPAN/modules/by-module/IO/IO-Stty-.02.tar.gz |
|
|
|
RPM versions can be found at sf.net/gbootroot. |
|
|
|
|
|
|
|
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. |
|
|
|
|
|
|
|
RPM versions can be found at sf.net/gbootroot. |
|
|
|
|
|
|
|
Boot Methods: |
|
|
|
############# |
|
|
@ -125,7 +114,7 @@ have network capabilities. |
|
|
|
Documentation: |
|
|
|
############# |
|
|
|
|
|
|
|
Documentaion and FAQ are in doc/html/index.html |
|
|
|
Documentation and FAQ are in doc/html/index.html |
|
|
|
|
|
|
|
|
|
|
|
Have fun! |
|
|
|