mirror of https://github.com/fspc/gbootroot.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
810 lines
29 KiB
810 lines
29 KiB
<html>
|
|
<head><title>gBootRoot</title></head>
|
|
<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E"
|
|
alink="#FF0000">
|
|
|
|
<center>$Id: index.html,v 1.33 2001/12/05 20:27:25 freesource Exp $</center>
|
|
|
|
<p>
|
|
|
|
<H1 align="center">gBootRoot</h1>
|
|
<H3 align="center">at</h3>
|
|
|
|
<p align="center"><A href="http://sourceforge.net/projects/gbootroot">
|
|
<IMG src="http://sourceforge.net/sflogo.php?group_id=9513&type=1"
|
|
width="88" height="31" border="0"
|
|
alt="SourceForge Logo"> </A></p>
|
|
<p></p>
|
|
<P align="center">
|
|
<b>bOOTrOOT</b> makes the development, construction, and
|
|
testing of distributions fun and simple.</P>
|
|
|
|
<br>
|
|
|
|
<P align="center">
|
|
<b>Download gBootRoot</b></P>
|
|
<P align="center">
|
|
<b>Newest version</b><br>
|
|
|
|
<a href="http://freshmeat.net/redir/gbootroot/3075/url_tgz/gbootroot.orig.tar.gz">gbootroot source (type make to install)</a><br>
|
|
<a href="http://freshmeat.net/redir/gbootroot/3075/url_deb/gbootroot_all.deb">
|
|
gbootroot debian package</a></p>
|
|
|
|
<P align="center">
|
|
<b>Add-ons</b><br>
|
|
|
|
<a href="http://freshmeat.net/redir/make-debian-x11/18842/url_tgz/make-debian-x11.orig.tar.gz">
|
|
make-debian-x11 source (type make to install)</a><br>
|
|
<a href="http://freshmeat.net/redir/make-debian-x11/18842/url_deb/make-debian-x11_all.deb">
|
|
make-debian-x11 debian package</a>
|
|
<p>
|
|
|
|
|
|
<p align="center">
|
|
|
|
<em>Users who use packaging tools which support apt should add these lines to
|
|
their sources.list:</em><br><br>
|
|
|
|
<align>deb http://prdownloads.sourceforge.net/gbootroot ./<br>
|
|
deb http://prdownloads.sourceforge.net/avd ./<br></p>
|
|
|
|
<p align="center">Older versions found at this
|
|
<A href="http://prdownloads.sourceforge.net/gbootroot/">site</A></P><br>
|
|
|
|
|
|
<P align="center">
|
|
<IMG ALT="" SRC="images/gbootroot.jpg">
|
|
</P>
|
|
|
|
<P align="center">
|
|
<b>How to Use gBootRoot</b></P>
|
|
<P><IMG ALT="" SRC="images/gBS.jpg" align="right">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".</P>
|
|
|
|
<p>
|
|
The <u>first row</u> presently has only one Boot Method choice:
|
|
"2 disk compression." Clicking on the menu on the right selects
|
|
the Boot Method.</p>
|
|
|
|
|
|
<P>The <u>second row</u> allows you to select the kernel for the Boot/Root set. You
|
|
may either use the file selector button on the right hand side, or you may
|
|
type in the location on the left hand side.</P>
|
|
|
|
<P>
|
|
The <u>third row</u> allows you to select the compressed filesystem you are
|
|
providing, using either of the two ways mentioned before. You may use a
|
|
pre-made root filesystem or you may create one using one of the Methods
|
|
provided in the Advanced Root Section.
|
|
</P>
|
|
|
|
|
|
<P>The <u>fourth row</u> allows you to select the device you want to use. The default
|
|
device is the first floppy disk - /dev/fd0.</P>
|
|
|
|
<p>
|
|
The <u>fifth row</u> allows you to choose the size of the device being used. The default size of 1440 assumes you are using a floppy drive
|
|
(Note: You may
|
|
want to experiment with 1722 which works fine with many floppy drives.), but
|
|
can be used with other sized devices like tape drives. Click on the
|
|
appropriate radio button to choose either gzip or bzip2 compression if the
|
|
program doesn't automatically detect it.</p>
|
|
|
|
<P align="center"><b>Verbosity Box</b></p>
|
|
<IMG ALT="" SRC="images/verbosity_box.jpg" align="right">
|
|
|
|
The <u>slider bar</u> on the right allows the output of the verbosity box
|
|
to be
|
|
changed from the highest (2) to the lowest setting (1) or to be turned off (0)
|
|
or on again. At times it may be advantageous to turn off the
|
|
verbosity box
|
|
since large quantities of output to this box may cause gbootroot to use too
|
|
much cpu power; however, output may still be found in the text file "verbose"
|
|
in /tmp/gbootroot_tmp'time-date'.</p>
|
|
|
|
<br><br><br><br><br><br><br><br>
|
|
|
|
<p><P align="center"><b>
|
|
Using the Advanced Boot Section</b></p>
|
|
|
|
<p><IMG ALT="" SRC="images/ABS.jpg" align="right">
|
|
|
|
Libraries & Binaries & Modules check boxes: Turn off and on the
|
|
stripping of symbols. The stripping
|
|
behavior for libraries may be changed by clicking on the right mouse button
|
|
to change --strip-debug to --strip-all. Binaries default to
|
|
--strip-all and Modules default to --strip-debug.</p>
|
|
|
|
<p>
|
|
|
|
"Devel Device" If the device used for development is different than the
|
|
actual boot device, use this field to indicate that device. You will have to
|
|
run lilo -v -C brlilo.conf -r "device mount point" manually at a later time
|
|
on the actual boot device.</p>
|
|
|
|
<p>
|
|
|
|
"Opt. Device" Add devices to the boot disk which are necessary for the
|
|
kernel to function properly. Put a space between each
|
|
device. For instance, /dev/fb0 for frame buffer devices.</p>
|
|
|
|
<p>
|
|
|
|
"append =" Add append options to brlilo.conf. If you are using a frame
|
|
buffer device you could add something like video=matrox:vesa:402,depth:16.</p>
|
|
|
|
<p>
|
|
|
|
"Kernel Module" Add the modules found in
|
|
/lib/modules/kernel-version which are necessary for the Boot Method to work
|
|
properly. If these modules aren't found in the modules directory
|
|
it is assumed
|
|
that they either are in the kernel or they do not exist. In the
|
|
case of 2 disk compression, floppy needs to be included in the
|
|
kernel or included as a module. Kmod inserts the modules, and
|
|
kmod needs to be built into the kernel along
|
|
with initrd and ramdisk."</p>
|
|
|
|
<p>
|
|
|
|
"Kernel Version" Override the kernel version number found in the
|
|
kernel header. This will change the /lib/modules/kernel-version
|
|
directory.</p>
|
|
|
|
<p>
|
|
|
|
System.map: When a non-running kernel is chosen it is important
|
|
to include a copy of that kernel's System.map file so that depmod can use
|
|
the correct set of kernel symbols to resolve kernel references in each
|
|
module. This can be found in the kernel's source code after
|
|
compilation.
|
|
|
|
<br><br><br><br><br><br><br>
|
|
|
|
<P align="center">
|
|
<b>Using the Advanced Root Section</b></P>
|
|
<p><IMG ALT="" SRC="images/ARS.jpg" align="right">
|
|
|
|
"Root Device" This is the device used for the root filesystem when
|
|
constructing the Boot/Root set. You may choose a device which is
|
|
different
|
|
than the Boot device, but presently only floppy devices are supported.</p>
|
|
|
|
<p>
|
|
|
|
"Root Device Size" The size of the actual media used for the Root Device.</p>
|
|
|
|
<p>
|
|
|
|
"Root Filename" The name give to the root filesystem when
|
|
initially made in the temporary creation location. The save
|
|
button allows the creation to
|
|
be saved in the permanent default location when the
|
|
Accept button is pressed.</p>
|
|
|
|
<p>
|
|
|
|
"Filesystem Size" Root Methods make the filesystem the size
|
|
which is specified here.</p>
|
|
|
|
<p>
|
|
|
|
"Compression" Off by default to allow user-mode-linux
|
|
testing. Turn on
|
|
compression when you are ready to use a Boot Method
|
|
which requires compression.</p>
|
|
|
|
<p>
|
|
|
|
"Method" The root filesystem creation method.</p>
|
|
|
|
<p>
|
|
|
|
"Template" The template associated with a Root
|
|
Method. Not all Root Methods
|
|
have templates.</p>
|
|
|
|
<p>
|
|
|
|
"Generate" This puts the chosen Root Method in action.</p>
|
|
|
|
<p>
|
|
|
|
"UML" Abbreviation for user-mode-linux. This is a
|
|
linux kernel which runs on
|
|
top of the host system's linux kernel and allows a you run a live root
|
|
filesystem.</p>
|
|
|
|
<p>
|
|
|
|
"Accept" This accepts the created root filesystem if it is
|
|
found in the
|
|
temporary creation directory. The UML box and the main section
|
|
will now
|
|
reflect the path to this root filesystem. You can now test with
|
|
the UML
|
|
button or a put together a complete Boot/Root set with the Submit button.</p>
|
|
|
|
<br><br><br><br><br><br><br>
|
|
|
|
<p><P align="center"><b>User Mode Linux Box</b></p>
|
|
|
|
<p><IMG ALT="" SRC="images/uml_box.jpg" align="right">
|
|
|
|
"Xterm" Choose an xterm with its executable options switch.</p>
|
|
|
|
<p>
|
|
|
|
"Options" Enter uml command-line options like: mem=64,
|
|
devfs=nomount.</p>
|
|
|
|
<p>
|
|
|
|
"Root_Fs" Choose an uncompressed root
|
|
filesystem. Append with ubd?=.</p>
|
|
|
|
<p>
|
|
|
|
"Abort" Abort user-mode-linux kernel processes.</p>
|
|
|
|
|
|
<p><P align="center"><b>
|
|
About the Yard Box</b></p>
|
|
|
|
<p><IMG ALT="" SRC="images/yard_box.jpg" align="center"></p>
|
|
|
|
The Yard Box is a Root Method which is "Generated" from the Advanced Root
|
|
Section after a Template is chosen. It has several
|
|
interesting features.
|
|
|
|
<p>
|
|
|
|
The check boxes at the bottom represent the different stages involved in
|
|
creating a root filesystem. The behavior of these stages
|
|
may be altered in
|
|
three ways: Edit->Stages->one-by-one (default) will perform each stage
|
|
sequentially, stopping between each stage, the user may continue the process
|
|
by pressing the Continue
|
|
button. Edit->Stages->continuous proceeds non-stop
|
|
through all the
|
|
stages. Edit->Stages->'user defined' allows the user to
|
|
choose any stages the user wants, and will then proceed through all the
|
|
chosen
|
|
stages. Choosing only 'Check', 'Links & Deps', 'Create' is a good
|
|
example.</p>
|
|
|
|
<p><IMG ALT="" SRC="images/tests.jpg" align="center"></p>
|
|
|
|
<p>
|
|
|
|
The behavior of some of the stages may be
|
|
altered. For instance Alt-T allows
|
|
you to choose which tests to run on the newly created
|
|
root filesystem.</p>
|
|
|
|
<p><IMG ALT="" SRC="images/template_search.jpg" align="center"></p>
|
|
|
|
<p>
|
|
|
|
Press Alt-S to enable template text searching in either
|
|
direction. Find exact matches or ignore case with
|
|
the case sensitive check box.</p>
|
|
|
|
<p><IMG ALT="" SRC="images/file.jpg" align="center"></p>
|
|
|
|
<p>
|
|
|
|
Use Ctl-S to save changes to a template, Alt-A to save the
|
|
template with a new name, or Alt-N to create a new template.
|
|
bOOTrOOT will not allow read-only
|
|
templates (ex: Examples) or template links to be saved
|
|
with their own name; after you make changes to these kind of templates,
|
|
save them with a new name to preserve the changes.</p>
|
|
|
|
<p><IMG ALT="" SRC="images/stripping.jpg" align="center"></p>
|
|
|
|
<p>
|
|
|
|
Edit->Settings->Stripping allows you to turn off/on stripping for
|
|
Libraries, Binaries, and Modules. --strip-all is the
|
|
default for binaries and libraries,
|
|
and --strip-debug is the default for modules; however libraries may
|
|
be changed to --strip-debug in the settings.</p>
|
|
|
|
|
|
<p><IMG ALT="" SRC="images/paths.jpg" align="center"></p>
|
|
|
|
<p>
|
|
|
|
Edit->Setting->Paths allows you to prepend a new search path to your
|
|
environments $PATH variable.
|
|
</p>
|
|
|
|
<p><IMG ALT="" SRC="images/filesystem.jpg" align="center"></p>
|
|
|
|
<p>
|
|
|
|
Edit->'File System" may alter the type of filesystem used to make the root
|
|
filesystem. Because the filesystem is
|
|
created on a loop device, some
|
|
filesystem types may complain or not be created at all.</p>
|
|
|
|
<p><IMG ALT="" SRC="images/replacements.jpg" align="center"></p>
|
|
|
|
<p>
|
|
|
|
Edit->Replacements in your $HOME/.gbootroot/Replacements directory using
|
|
an editor of your choice.
|
|
</p>
|
|
|
|
<p><IMG ALT="" SRC="images/create.jpg" align="center"></p>
|
|
|
|
<p>
|
|
|
|
Create->Replacements creates special replacement
|
|
files. Presently it creates
|
|
an fstab configuration file as Replacements/etc/fstab.new in
|
|
$HOME/.gbootroot/yard/.</p>
|
|
|
|
<P>Little things you may want to know:</P>
|
|
|
|
<P>* gBootRoot requires ash for initrd. Ash is a feather weight version of Bash.</P>
|
|
<br>
|
|
|
|
<P><IMG ALT="" SRC="images/gBSicon.jpg" align="center"> <b>FAQ</b></P>
|
|
|
|
<P><b>What's the advantage of using this program?</b></P>
|
|
|
|
<P><A href="./bootroot.html">BootRoot</A>
|
|
was the original program, but I decided that a GUI approach
|
|
provided the user much more versatility and power in creating
|
|
distributions. Since the first gBootRoot,
|
|
bOOTrOOT has become a full blown distribution creation program which may
|
|
be used by a normal user.
|
|
It may be used for the creation of root filesystems in every
|
|
imaginable application from Embedded Systems to Mini Distributions to
|
|
Macro distributions to Full sized Distributions.  The root
|
|
and boot filesystems may
|
|
be tested long before implementation by using user-mode-linux.
|
|
Boot Methods are provided to allow root filesystems to run from different types
|
|
of media.
|
|
Historically, developers have written scripts
|
|
which have focused on providing a particular type of root
|
|
filesystem and booting method. Observation, reveals that all these
|
|
approaches share many commonalities. gBootRoot has been
|
|
designed to embrace
|
|
these similiarities, and to allow developers to create drop-in methods
|
|
via modules or easy to understand templates.
|
|
gBootroot is the GIMP of distribution creation!</P>
|
|
|
|
<P><b>How can I test gBootRoot?</b></P>
|
|
|
|
<p>
|
|
|
|
(Note: You may run most of these tests as a normal user.
|
|
See the exceptions which apply in the FAQ.)</p>
|
|
|
|
<center><u>Test an existing mini distribution.</u></center>
|
|
|
|
<P>1. Download
|
|
<a href="http://prdownloads.sourceforge.net/user-mode-linux/root_fs_tomrtbt_1.7.205.bz2">
|
|
root_fs_tomrtbt_1.7.205.bz2</a> from
|
|
<a href="http://www.sourceforge.net/projects/user-mode-linux">
|
|
user-mode-linux</a> at Sourceforge to your
|
|
$HOME/.gbootroot/root_filesystems. </p>
|
|
|
|
|
|
<p>
|
|
|
|
2. bzip2 -dc root_fs_tomrtbt_1.7.205.bz2 > root_fs_tomrtbt_1.7.205.
|
|
</p>
|
|
|
|
<p>
|
|
|
|
3. Run
|
|
gbootroot. Click on the Advanced Root Section (ARS), click on
|
|
the UML button. Select root_fs_tomrtbt_1.7.205, add devfs=nomount
|
|
to the options, and click on the Submit
|
|
button.</p>
|
|
|
|
<center><u>Create a boot and root floppy for an existing mini distribution.</u></center>
|
|
|
|
<p>
|
|
|
|
4. Click on the Advanced Boot
|
|
Section (ABS). Root_fs_tomrtbt is about 16M, so add ramdisk_size=16384 to
|
|
the 'append=' entry. From the main box choose '2 disk compression', and
|
|
press on the Root Filesystem button and select root_fs_tomrtbt_1.7.205.bz2.
|
|
</p>
|
|
|
|
5. Click the Submit button on the main
|
|
box. Have two floppy disks ready.
|
|
|
|
<p>
|
|
|
|
6. When you boot the boot disk you will see Lilo, you may access the menu using [Ctrl] and [Tab] to see the available images, or wait for the
|
|
prompt to insert the root disk.</p>
|
|
|
|
|
|
<center><u>Test a macro distribution created by make_debian-X11.</u></center>
|
|
|
|
|
|
<p>
|
|
|
|
|
|
7. Download
|
|
<a href="http://sourceforge.net/project/showfiles.php?group_id=9513">
|
|
root_fs_debian_x11-(latest revision).bz2</a>. Then follow the
|
|
instructions in the
|
|
first three steps, but don't add devfs=nomount. This root
|
|
filesystem was created with
|
|
the make_debian-X11 script from the make-debian-x11 add-on found at
|
|
<a href="http://sourceforge.net/project/showfiles.php?group_id=9513">
|
|
gbootroot's</a> Sourceforge home.</p>
|
|
|
|
|
|
<center><u>Make your own micro distribution from an existing template.</u></center>
|
|
|
|
<p>
|
|
|
|
8. Click on the ARS if its not already opened.
|
|
Choose Yard from the Method pull-down menu. Choose
|
|
<b>Example-Mini.yard</b>
|
|
from the pull-down Template menu. Click on the Generate button.
|
|
The Yard Box will pop up. Click on the Continue button
|
|
until the Create check box turns off. You could continue to the
|
|
tests, but they really wouldn't apply to this minimalistic example because
|
|
there are no links or login type files in the template.</p>
|
|
|
|
<p>
|
|
|
|
9. Experiment with Edit->Stages from the Yard Box menu.
|
|
Try different types of staging behavior, and notice the
|
|
differences.</p>
|
|
|
|
<p>
|
|
|
|
10. Test your creation with the UML box as explained in step 3.
|
|
You will want to add init=/bin/bash to the Options entry.</p>
|
|
|
|
<p>
|
|
|
|
11. At this point you will probably want to play around a little
|
|
bit. Familiarize yourself with the Format Rules found
|
|
near the top of the template. You may want to save the template
|
|
with a different name and experiment with changes, or create a new template
|
|
using File->New (Shortcut: Alt-N).</p>
|
|
|
|
|
|
<center><u>Make your own mini distribution from an existing template.</u></center>
|
|
|
|
<p>
|
|
|
|
12. Choose <b>Example.yard</b> from the Template menu in the ARS.
|
|
Save it with a new name.</p>
|
|
|
|
<p>
|
|
|
|
13. There are two types of inittabs provided for each major
|
|
distribution type. The inittab with nodevfs appended doesn't use
|
|
the
|
|
device fs, i.e. the devfs=nomount kernel option. Uncomment the
|
|
inittab, getty, and gettydefs (if required) for
|
|
your distribution type. If you aren't using Debian make sure to
|
|
comment (#) out the corresponding stuff for Debian.</p>
|
|
|
|
<p>
|
|
|
|
14. Example.yard template introduces you to Replacements like
|
|
the inittabs described above.
|
|
Replacements can be anywhere and are specified in the template as either
|
|
an absolute path or relative to $PATH
|
|
(Edit->Settings->Path); the default path location for Replacements for users is
|
|
$HOME/.gbootroot/yard/Replacements.
|
|
Also, this template introduces you to links, $VERSION,
|
|
how library dependencies are automatically figured for binaries
|
|
and the automated
|
|
approach for finding service modules and dependencies for PAM and NSS.
|
|
Once you learn the format rules and how they are interpreted
|
|
by the program you will find that making your own templates is
|
|
quite simple.</p>
|
|
|
|
<p>
|
|
|
|
15 Click on the Continue button until you finish the Space Left
|
|
stage. Adjust the Filesystem Size in the ARS to a size larger than
|
|
the Total space shown in the verbosity box. Create your
|
|
root_fs,
|
|
and make sure there was enough room left. You may have to adjust the
|
|
size and run Create again.</p>
|
|
|
|
<p>
|
|
|
|
16 Now that you have a root filesystem you may continue to
|
|
the Test stage and observe what is missing. Next run the root_fs
|
|
from the UML box.
|
|
If things don't work correctly you will have to hunt down the cause,
|
|
make the appropriate changes and proceed through the stages again.  
|
|
If you only make a change to a Replacement, you only have to run
|
|
the Create stage again. If you make a change to the template you
|
|
have to run at least the Check, Links & Deps, and Create stages again.</p>
|
|
|
|
|
|
<center><u>Make your own root filesystems from your own templates.</u></center>
|
|
|
|
<p>
|
|
|
|
17. Now that you have done your homework, I set you free to create
|
|
your own root filesystems from your own templates with replacements
|
|
of your own choice. Create a root_fs which can fit on a block
|
|
device, and then create an emergency disk customized for your own system,
|
|
or create your own customized macro distribution and run it from the
|
|
UML box to try things you never would have dreamed of doing on your host
|
|
system. And that is just the beginning of the things you can do.
|
|
|
|
|
|
|
|
<P>
|
|
|
|
<b>What are all these CVS directories doing in my replacements?</b></p>
|
|
|
|
<P>
|
|
CVS directories are deliberately put in the Replacement directories to
|
|
prevent users from making changes to global replacement files.
|
|
This allows developers who create add-ons (ex: make-debian-x11) to remain
|
|
confident that any changes made to
|
|
add-on replacements will remain available to all users.
|
|
Replacements
|
|
from add-ons are placed in the
|
|
/usr/share/gbootroot/yard/Replacements directory.
|
|
When a user opens up gBootRoot, the program checks to see if there are any
|
|
new replacements and then creates symlink from the
|
|
$HOME/.gbootroot/yard/Replacements directory to the
|
|
replacements repository.
|
|
In general the repository for replacements is owned by root, so normal
|
|
users can't make changes to these files anyways; however, root should make
|
|
it a policy always to make changes from the $HOME location while using
|
|
an editor which respects versioned files (i.e. Emacs). Then the
|
|
administrator will not be able to
|
|
make any changes to the replacements repository because the CVS directories
|
|
keep date information which prevents the editing of these
|
|
files. It is highly recommended to follow this procedure, and
|
|
not to delete the CVS directories because /usr/share is meant to be used
|
|
for data which shouldn't be modified
|
|
(see <a href="http://www.pathname.com/fhs/">FHS</a>).</p>
|
|
|
|
<b>Can I use a program linked to uClibc in the template?</b></p>
|
|
|
|
<p>
|
|
|
|
Binaries are auto-magically checked to discover whether they require libc6 or
|
|
uClibc. If they are found to require uClibc
|
|
/usr/i386-linux-uclibc/bin/ldd
|
|
is used to discover shared library dependencies, otherwise ldd is
|
|
called without any path.</p>
|
|
|
|
|
|
<b>What do you mean by macro distribution?</b></p>
|
|
|
|
<p>
|
|
|
|
A macro distribution is a term I coined. It implies a software
|
|
distribution larger than a mini distribution usually
|
|
associated with 1.44 to 1.722 sized floppy disks, but smaller than a
|
|
base distribution which provides the foundation to create a full size
|
|
distribution. It is usually pruned, and provides the
|
|
absolute minimum needed to provide all the functionality usually
|
|
associated with a full sized distribution, yet it still uses the same
|
|
libraries and binaries. Because it can be made quickly, it is
|
|
useful for creating a current snapshot of ones own host systems, and can be
|
|
used to run experiments safely without fear of corrupting the host system
|
|
via user-mode-linux.</p>
|
|
|
|
|
|
<b>How am I able to create root filesystems as a normal user?</b></p>
|
|
|
|
<p>
|
|
|
|
Genext2fs is used. This progam allows a normal user to create an ext2
|
|
filesystem with all uids and gids belonging to 0 (root) without the need for
|
|
a loop or ram device. Device nodes are created from a device table
|
|
file written to by gbootroot.  This program is authored by
|
|
Xavier Bestel, but the version used by gbootroot has
|
|
modifications from Erik Andersen (BusyBox) to allow a device table
|
|
to be used rather than a device listing. The maximum allowable size
|
|
for a filesystem is 8192k. User and group information
|
|
can be changed when the filesystem is run from a kernel.
|
|
|
|
<p>
|
|
|
|
<b>How can I create boot disks as a normal user?</b></p>
|
|
|
|
|
|
<p>
|
|
|
|
|
|
<b>What is make_debian, and how do I use it?</b></p>
|
|
|
|
<p>
|
|
|
|
Make_debian is a script which takes information from
|
|
a Debian installation and creates a template which can be used to make a
|
|
macro distribution using gBootRoot's yard method.
|
|
It creates replacements for important configuration files to represent
|
|
the actual packaging state it will be providing.
|
|
In order to use this script you need to be running a Debian-like
|
|
distribution, anotherwards, one which uses dpkg, apt and file-rc to maintain
|
|
its packaging and boot hierarchy. Dswim is used to collect
|
|
information used in making the template. You will need to build the
|
|
filesystem as root because it exceeds the 8192k limit provided by genext2fs.</p>
|
|
|
|
<p>
|
|
|
|
Run make_debian from the command-line. The script first finds all
|
|
required packages on your host system, then it checks to see if any of
|
|
the extra packages mentioned in its configuration are missing.
|
|
As a rule, even if extra packages
|
|
are missing, a working distribution will still be created.
|
|
The script will then ask you a few questions,
|
|
and then proceed to make Debian-`uname -n`.yard in your template
|
|
directory.
|
|
|
|
<p>
|
|
|
|
<em>Extra Packages and static template data:</em>
|
|
|
|
<br>
|
|
|
|
You can resolve missing packages by installing them on your system, or you can
|
|
edit the script and replace these packages with a suitable replacement,
|
|
since you may be using a different version of Debian then the author
|
|
used when putting together make_debian. Make a copy of make_debian,
|
|
and then edit the part under EDIT HERE between qw().
|
|
You may edit the static data in the template from
|
|
within the script below where it is clearly marked as editable.
|
|
While on the subject the <b>make-debian-x11 add-on</b> is actually the
|
|
result of
|
|
making these modifications. First, extra packages were
|
|
added, second, extra replacements were provided and the static information
|
|
in the template was modified to reflect these replacements.
|
|
|
|
|
|
</p>
|
|
|
|
|
|
<b>My root filesystem doesn't start in single mode when started like
|
|
this:  "bootdisk 1?"</b></P>
|
|
|
|
<P>
|
|
|
|
When you start a kernel image with 1, you are telling it to start in runlevel
|
|
1, not in single mode. Use "single" instead.</p>
|
|
|
|
<p>
|
|
|
|
While on the subject, it should be pointed at the setting up init and its
|
|
runlevels is one of the
|
|
most challenging areas of creating a bootable root_fs. Often
|
|
your creation will only work with "single" until all the conflicts
|
|
are resolved. Things are complicated even futher by the fact that
|
|
devices can now be set up in two majors ways: tty? or ttys/? (devfs).
|
|
Fortunately, user-mode-linux comes in very handy for hunting
|
|
down all the bugs.
|
|
|
|
|
|
|
|
</P>
|
|
|
|
|
|
<P><b>What does the 2 disk compression method do?</b></P>
|
|
<P>This Boot Method creates a boot disk with lilo, a kernel and an initrd
|
|
image. The
|
|
initrd script mounts another root disk with a compressed (gzip or bzip2)
|
|
filesystem.</P>
|
|
|
|
|
|
<p><b>There isn't enough room left on my 1440 floppy to make a Boot or Root
|
|
disk. Is there any way to free up more space apart from reducing
|
|
the size of the kernel?</b></p>
|
|
|
|
<p>
|
|
Move the device size to 1722. This is a trick that <a href="http://www.toms.net/rb/">tomsrtbt</a> uses on his famous rescue disk.</p>
|
|
|
|
<p>
|
|
|
|
(Update 10/06/2001) <br>
|
|
Up until mke2fs version 1.19 you were able to do
|
|
`mke2fs -F /dev/fd0 1722` on a 1440 device without any problem, but since
|
|
then mke2fs has become much more particular about enforcing actual device
|
|
size. . Mke2fs will complain:</p>
|
|
|
|
<p>
|
|
|
|
"mke2fs: Attempt to write block from filesystem resulted in short write
|
|
zeroing block 1600 at end of filesystem."</p>
|
|
|
|
<p>
|
|
|
|
I understand Theodore Ts'o reasoning for doing this, but I strongly believe
|
|
that the old behavior was very useful for people creating
|
|
mini-distributions so I have issued
|
|
<a href="
|
|
http://sourceforge.net/tracker/index.php?func=detail&aid=468652&group_id=2406&atid=352406">Feature Request #468652</a> at e2fsprogs site
|
|
at Sourceforge. It should
|
|
be noted that fdformat is an unacceptable solution because it tends
|
|
to be machine specific, and the original mke2fs behavior made floppies that
|
|
worked
|
|
everywhere. Feel free
|
|
to add your comments to the Feature Request. Thanks.</p>
|
|
|
|
<p>
|
|
|
|
<b>gBootRoot doesn't start because it can't locate Gtk.pm?</b></P>
|
|
<p>This program requires Gtk-Perl available from <a href="http://www.perl.com/CPAN">CPAN</a>, <a href="http://freshmeat.net/projects/gtk-perl">Freshmeat</a> or most GNU/Linux distributions.</p>
|
|
|
|
<p><b>If you roll the floppy density counter down to 0 and then try go back
|
|
up towards 1440 and 1722, you get very funny figures.</b></p>
|
|
|
|
<p>
|
|
This is because of the way Gtk works. There are two adjustments,
|
|
step and page increments. When you press your first mouse button the step
|
|
has been set to 282 so that a person can easily switch between 1440 and 1722.
|
|
When you use your second mouse button the page is set at 360. You can go
|
|
down to zero by pressing your third mouse button on the
|
|
down arrow. Now
|
|
page up with the second button to 1440 and step with the first button to
|
|
1722. Pretty cool, eh?</p>
|
|
|
|
<p>Why we are on this subject please check out these keyboard shortcuts for Gtk.</p>
|
|
|
|
<P>Motion Shortcuts
|
|
|
|
<UL>
|
|
<LI> Ctrl-A Beginning of line </LI>
|
|
<LI> Ctrl-E End of line </LI>
|
|
<LI> Ctrl-N Next Line </LI>
|
|
<LI> Ctrl-P Previous Line </LI>
|
|
<LI> Ctrl-B Backward one character </LI>
|
|
<LI> Ctrl-F Forward one character </LI>
|
|
<LI> Alt-B Backward one word </LI>
|
|
<LI> Alt-F Forward one word </LI>
|
|
</UL>
|
|
|
|
<P> Editing Shortcuts
|
|
|
|
<UL>
|
|
<LI> Ctrl-H Delete Backward Character (Backspace) </LI>
|
|
<LI> Ctrl-D Delete Forward Character (Delete) </LI>
|
|
<LI> Ctrl-W Delete Backward Word </LI>
|
|
<LI> Alt-D Delete Forward Word </LI>
|
|
<LI> Ctrl-K Delete to end of line </LI>
|
|
<LI> Ctrl-U Delete line </LI>
|
|
</UL>
|
|
|
|
<P>Selection Shortcuts
|
|
|
|
<UL>
|
|
<LI> Ctrl-X Cut to clipboard </LI>
|
|
<LI> Ctrl-C Copy to clipboard </LI>
|
|
<LI> Ctrl-V Paste from clipboard </LI>
|
|
</UL>
|
|
|
|
<IMG ALT="Larry Ewing's Penguin celebrates in gBootRoot." SRC="images/peng-movie.4.gif">
|
|
|
|
<br><br><br>
|
|
Contact me: Jonathan Rosenbaum <<a href="freesource@users.sourceforge.net">freesource@users.sourceforge.net</a>>
|
|
<br>
|
|
Submit a Bug: <a href="http://sourceforge.net/bugs/?group_id=9513">gBootRoot Bug System</a>
|
|
<br>
|
|
Join or browse the mailing lists: <a href="http://sourceforge.net/mail/?group_id=9513">gbootroot-{devel,user} mailing lists</a>
|
|
<br>
|
|
Ask a question: <a href="http://sourceforge.net/forum/forum.php?forum_id=29639">Help Forum</a>
|
|
<br>
|
|
Start a discussion: <a href="http://sourceforge.net/forum/forum.php?forum_id=29638">Open Discussion Forum</a>
|
|
|
|
<p>
|
|
|
|
|
|
</body></html>
|
|
|