diff --git a/BootRoot/BootRoot.pm b/BootRoot/BootRoot.pm index a524611..1a92c6d 100644 --- a/BootRoot/BootRoot.pm +++ b/BootRoot/BootRoot.pm @@ -65,7 +65,7 @@ my $uml_xterm = "xterm -e"; # apply special patches my $version = "1.4.0"; -my $date = "11.19.2002"; +my $date = "12.20.2002"; my $gtk_perl_version = "0.7002"; my $home_rootfs = "$home/root_filesystem/"; diff --git a/Changes b/Changes index 3c39cb0..29d3fb6 100644 --- a/Changes +++ b/Changes @@ -1,10 +1,24 @@ -1.4.0 - 12/12/2002 +1.4.0 - 12/20/2002 ------------------ -Had to add user-mode-linux/usr/lib/uml to the path to allow --home to +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 +which will have to be addressed since the code for the mtd modules +didn't change. + +Had to add user-mode-linux/usr/lib/uml to the PATH to allow --home to find port-helper, or otherwise root_fs complain. Have no idea why -this change exists with port-helper because wasn't the case before. -Also, added path for user-mode-linux/usr/bin to find the other tools. +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 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 +automated now, 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 diff --git a/README b/README index d3fb9c3..cd363d6 100644 --- a/README +++ b/README @@ -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! diff --git a/doc/html/index.html b/doc/html/index.html index 8b7729f..6cdb79c 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -3,7 +3,7 @@
-@@ -19,8 +19,11 @@ alt="SourceForge Logo">
- + + + @@ -37,7 +40,7 @@ Download gBootRoot Newest version
@@ -67,7 +70,9 @@ apt-get --yes install gbootroot or dswim -qxyz gbootroot
after adding these lines to your sources.list where ${country} is one of
easynews, unc, telia, umn, twtelecom, belnet, cesnet, or switch. ex: telia.dl.sourceforge.net:
deb http://${country}.dl.sourceforge.net/gbootroot ./
-deb http://${country}.dl.sourceforge.net/avd ./
@@ -122,8 +127,21 @@ make-debian-x11 debian package
-How to Use gBootRoot's UI
-The most important button to +How to Use gBootRoot's CLI
+ +It's recommended to use the GUI for prototyping, but if you already +have an existing template in your $HOME/.gbootroot/yard/template +directory you can reference it with "gbootroot --template +template_name" and this will create the corresponding root_fs in +/tmp/gboot_non_root_`id -u`/. If you want the root_fs to have a +different name use the --root-filename option. All these options and +more can be found with -h or --help or see the reference. + ++How to Use gBootRoot's GUI
+Start gbootroot without +any command-line arguments. The most important button to familiarize yourself with is the Submit button which starts the whole process; dialogs are presented as the process continues asking you if you want to continue "OK" or stop "Cancel".
@@ -1574,6 +1592,37 @@ compression is done either in the ABS (not yet) or the ARS, the main section is just used to put together the parts. ++Usage: gbootroot [OPTION]... + --help -h help + --template=name required option - template in default template dir + $HOME/.gbootroot/yard/templates/[name] + + (defaults) + --method=name yard + --root-filename=name root_fs + --filesystem-size=size 8192 + --filesystem-command=c "genext2fs -z -r0" + --uml-exclusively=on|off off + --uml-kernel=path $HOME/.gbootroot/uml_kernel/linuxbr + --preserve-ownership=y|n n + --genext2fs-dir=dir /usr/lib/bootroot/ + --expect-program=path /usr/lib/bootroot/expect_uml + --root-fs-helper=path /usr/lib/bootroot/root_filesystem/root_fs_helper + --home=dir gui mode = without other options + cl mode = with other options + min: --template + + (system kernel options) + --kernel=path specify different system kernel + --kernel-version=version specify alternative version + + (print options) + --no-stdout don't print to console ++