From 53bdabd79461db46db9695c5d102cab6d93bb2c2 Mon Sep 17 00:00:00 2001 From: freesource Date: Sat, 6 Oct 2001 19:14:28 +0000 Subject: [PATCH] Upldated to the new module sections. --- doc/html/images/ABS.jpg | Bin 26025 -> 31488 bytes doc/html/index.html | 256 +++++++++++++++++++++------------------- 2 files changed, 136 insertions(+), 120 deletions(-) diff --git a/doc/html/images/ABS.jpg b/doc/html/images/ABS.jpg index 66a0378bfb6f1496fca1c84d3d1d40e2c44ced0e..ae08c3eb7f9307bab7a0b3078cdee3574d9b73df 100644 GIT binary patch literal 31488 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

The first row presently has only one Boot Method choice: -"2 disk compression."   -Clicking on the menu on the right selects the Boot Method.

+"2 disk compression."  Clicking on the menu on the right selects +the Boot Method.

-

The second row allows you to select the kernel for the Boot/Root set.   You +

The second row 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.

The third row allows you to select the compressed filesystem you are -providing, using either of the two ways mentioned before.    You may use a +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.

-

The fourth row allows you to select the device you want to use.   The default +

The fourth row allows you to select the device you want to use.  The default device is the first floppy disk - /dev/fd0.

-The fifth row 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 +The fifth row 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 +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.

@@ -71,8 +71,8 @@ program doesn't automatically detect it.

The slider bar 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 +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'.

@@ -84,108 +84,120 @@ Using the Advanced Boot Section

-"Stripping"   On by default for libraries and binaries.   The stripping +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 from --strip-debug to --strip-all.

+to change --strip-debug to --strip-all.  Binaries default to +--strip-all and Modules default to --strip-debug.

-"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 +"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.

-"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.

+"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.

-"Kernel Module"   Add the modules found in +"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.

+ +

+ +"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.",

+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."

-"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.

+"Kernel Version"  Override the kernel version number found in the +kernel header.  This will change the /lib/modules/kernel-version +directory.

+ +

+ +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. -








+






Using the Advanced Root Section

-"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 +"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.

-"Root Device Size"   The size of the actual media used for the Root Device.

+"Root Device Size"  The size of the actual media used for the Root Device.

-"Root Filename"   - The name give to the root filesystem when initially made -in the temporary creation location.   -The save button allows the creation to +"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.

-"Filesystem Size"   - Root Methods make the filesystem the size which is -specified here.

+"Filesystem Size"   Root Methods make the filesystem the size +which is specified here.

-"Compression"   -Off by default to allow user-mode-linux testing.   Turn on +"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.

-"Method"   The root filesystem creation method.

+"Method"  The root filesystem creation method.

-"Template"   The template associated with a Root Method.   - Not all Root Methods +"Template"  The template associated with a Root +Method.  Not all Root Methods have templates.

-"Generate"   This puts the chosen Root Method in action.

+"Generate"  This puts the chosen Root Method in action.

-"UML"   Abbreviation for user-mode-linux.    - This is a linux kernel which runs on +"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.

-"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 +"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.








@@ -194,7 +206,7 @@ button or a put together a complete Boot/Root set with the Submit button.

-"Xterm"   Choose an xterm with its executable options switch.

+"Xterm"  Choose an xterm with its executable options switch.

@@ -203,12 +215,12 @@ devfs=nomount.

-"Root_Fs"  Choose an uncompressed root filesystem.   -Append with ubd?=.

+"Root_Fs"  Choose an uncompressed root +filesystem.  Append with ubd?=.

-"Abort"   Abort user-mode-linux kernel processes.  

+"Abort"  Abort user-mode-linux kernel processes.

@@ -217,31 +229,31 @@ About the Yard Box

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. +Section after a Template is chosen.  It has several +interesting features.

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 +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 +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 +chosen +stages.  Choosing only 'Check', 'Links & Deps', 'Create" is a good example.

-The behavior of some of the stages may be altered.   -For instance Alt-T allows +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.

@@ -250,21 +262,19 @@ root filesystem.

Press Alt-S to enable template text searching in either -direction.   -Find exact matches or ignore case with the case sensitive check -box.

+direction.  Find exact matches or ignore case with +the case sensitive check box.

Use Ctl-S to save the changes to an open template, and Alt-A to save the -template with a new name.   -bOOTrOOT will not allow read-only templates or template links to be saved -with their own name.   -A few of these example files are included.    -You may make changes to them or clear their buffers.   -Then you may save the template with a +template with a new name.  bOOTrOOT will not allow read-only +templates or template links to be saved +with their own name.  A few of these example files a +re included.  You may make changes to them or +clear their buffers.  Then you may save the template with a different name.

@@ -272,8 +282,8 @@ different name.

Edit->Settings->Stripping allows you to turn off/on stripping for -Libraries, Binaries, and Modules.   ---strip-all is the default for binaries and libraries, +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.

@@ -291,8 +301,8 @@ environments $PATH variable.

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.  Because the filesystem is +created on a loop device, some filesystem types may complain or not be created at all.

@@ -307,20 +317,20 @@ an editor of your choice.

-Create->Replacements creates special replacement files.   -Presently it creates +Create->Replacements creates special replacement +files.   Presently it creates an fstab configuration file as Replacements/etc/fstab.new in $HOME/.gbootroot/yard/.

Little things you may want to know:

-

* gBootRoot requires ash for initrd.   Ash is a feather weight version of Bash.

+

* gBootRoot requires ash for initrd.  Ash is a feather weight version of Bash.


FAQ

What does the 2 disk compression method do?

This Boot Method creates a boot disk with lilo, a kernel and an initrd -image.   The +image.  The initrd script mounts another root disk with a compressed (gzip or bzip2) filesystem.

@@ -331,22 +341,22 @@ filesystem.

(Explanation from the first gbootroot.)
"You can use a bzip2 compressed filesystem, this program is easy to use, and it provides a framework showing a simple initrd method which you can freely -modify.   -I wrote this program as an extension to BootRoot which was written +modify.  I wrote this program as an extension to BootRoot +which was written as a solution to help oster at EE (www.experts-exchange.com) create separate boot and root floppies for an emergency system for his customers."

BootRoot 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, +  Since the first gBootRoot, bOOTrOOT has become a full blown distribution creation program.

If you make a cool change to this program, or if this program helps you I'd love to know, that's better than receiving pizza. :)

How can I test gBootRoot?

-

1.   Download +

1.  Download root_fs_tomrtbt_1.7.205.bz2 from @@ -356,50 +366,53 @@ $HOME/.gbootroot/root_filesystems.

-2.   bzip2 -dc root_fs_tomrtbt_1.7.205.bz2 > root_fs_tomrtbt_1.7.205. +2.  bzip2 -dc root_fs_tomrtbt_1.7.205.bz2 > root_fs_tomrtbt_1.7.205.

-3.   Run gbootroot.   -Click on the Advanced Root Section, click on -the UML button.    Select root_fs_tomrtbt_1.7.205, and click on the Submit +3.  Run +gbootroot.  Click on the Advanced Root Section, click on +the UML button.   Select root_fs_tomrtbt_1.7.205, and click on the Submit button.

-4.   Click on the Advanced Boot Section.   -Root_fs_tomrtbt is about 16M, so add ramdisk_size=16384 to -the 'append=' entry.    -From the main box choose '2 disk compression', and +4.  Click on the Advanced Boot +Section.  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.

-5.   Click the Submit button on the main box.   -Have two floppy disks ready. +5.  Click the Submit button on the main +box.  Have two floppy disks ready.

-6.   When you see Lilo you may access the menu using [Ctrl] and +6.  When you see Lilo you may access the menu using [Ctrl] and [Tab] to see the available images. +

+ +7. +

My root filesystem doesn't start in single mode when started like -this:   "bootdisk 1?"

+this:  "bootdisk 1?"

When you start a kernel image with 1, you are telling it to start in runlevel -1, not in single mode.   Use "single" instead.

+1, not in single mode.  Use "single" instead.

Why 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 +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 +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 +  Fortunately, user-mode-linux comes in very handy for hunting down all the bugs. @@ -420,7 +433,7 @@ Move the device size to 1722. This is a trick that 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 Feature Request (#) at (here).   -It should be noted that fdformat is an unacceptable solution because it tends +mini-distributions so I have issued Feature Request (#) at +(here).  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.

+worked +everywhere.  Feel free +to add your comments to the Feature Request.  Thanks.

@@ -446,13 +461,14 @@ Feel free to add your comments to the Feature Request.   Thanks.

up towards 1440 and 1722, you get very funny figures.

-This is because of the way Gtk works.   There are two adjustments, +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 +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?

+1722.  Pretty cool, eh?

Why we are on this subject please check out these keyboard shortcuts for Gtk.

@@ -493,13 +509,13 @@ page up with the second button to 1440 and step with the first button to


Contact me:  Jonathan Rosenbaum  <
freesource@users.sourceforge.net>
-Submit a Bug:   gBootRoot Bug System +Submit a Bug:  gBootRoot Bug System
-Join or browse the mailing lists:   gbootroot-{devel,user} mailing lists +Join or browse the mailing lists:  gbootroot-{devel,user} mailing lists
-Ask a question:   Help Forum +Ask a question:  Help Forum
-Start a discussion:   Open Discussion Forum +Start a discussion:  Open Discussion Forum