Docstoc

G4L version 0.37 documention

Document Sample
G4L version 0.37 documention Powered By Docstoc
					G4L – Disk imaging Project
Create Disk/Partition images for backup purposes
Documentation is based on version 0.37
Please send any comments or suggestions to mikes@kuentos.guam.net
G4L Documentations - Table of Contents
G4L – Primary Purpose............................................................................................................................3
   General Usage.....................................................................................................................................3
   Partition Image.....................................................................................................................................3
      Raw – Partition Image.....................................................................................................................3
      NTFSCLONE – Partition Image......................................................................................................3
      Fsarchiver – Partition Image...........................................................................................................3
Official Web Sites.....................................................................................................................................4
   About Sourceforge...............................................................................................................................4
   About Freshmeat.................................................................................................................................4
Included Software that supports G4L.......................................................................................................5
   The Linux Kernel Archives...................................................................................................................5
   The Syslinux Project............................................................................................................................5
   HDT - Hardware Detection Tool..........................................................................................................5
   BusyBox: Many useful utilities in a single package.............................................................................5
   NCFTP – FTP programs used to transfer image files between systems............................................5
   Udpcast – Multicast program...............................................................................................................6
   LZOP – Compression Program...........................................................................................................6
   Fsarchiver – Filesytem Archiver..........................................................................................................6
   TESTDISK – Data Recovery tool.........................................................................................................6
   Memtest – System memory test program............................................................................................6
Basic System Documentation..................................................................................................................7
   G4L 0.37 Syslinux Boot Screen...........................................................................................................7
   Memtest Screen ..................................................................................................................................8
   G4L 0.37 G4LMENU............................................................................................................................9
   G4L 0.37 Main Menu.........................................................................................................................10
   G4L 0.37 Raw Menu..........................................................................................................................11
   G4L 0.37 Network Menu....................................................................................................................12
   G4L 0.37 Local Menu........................................................................................................................14
   G4L 0.37 Local Menu Option A.........................................................................................................15
   G4L 0.37 Click n' Clone.....................................................................................................................16
   G4L 0.37 Utilities Menu.....................................................................................................................17
Support Files from CD isolinux directory...............................................................................................19
   Isolinux.cfg file...................................................................................................................................19
   Menu.lst – Example menu.lst config file ...........................................................................................22
   Busybox Configuration File................................................................................................................23
   Kernel Configuration file for bz38.6 – 2.6.38.6..................................................................................41
   Startup – Information File..................................................................................................................94
   Preimage Information File .................................................................................................................95
   Front – Example Front End File ........................................................................................................96
   Programs to help clear unused space from partition to be imaged...................................................98
      Cleandrive is a very basic Linux/Unix Script that works................................................................98
      Cleandrive8 - more complex script................................................................................................98
      Blank6.cpp – an simple Borland C program................................................................................101
   Disclaim File that discusses issues between early version of G4L and G4U.................................103

                                                                 Page 1 of 206
   Status Updates................................................................................................................................103
Files from the Resource Directory of Development Kit........................................................................104
   Jetcat-mod7.c – Filter program used in G4L...................................................................................104
   Lblank7.c – Linux c program ...........................................................................................................106
   Ntfsreloc.c – Ntfs relocation.............................................................................................................107
Files from root file system of G4L........................................................................................................115
   AES-ssh – Encryption information file.............................................................................................115
   aestest2 – File to test keyfile and image file to make sure they work correctly..............................117
   Original Help File from version 0.14 of G4L....................................................................................118
   Instruct file that is displayed as part of the start process................................................................122
   Latest file that shows all the updates ..............................................................................................123
   G4Lmenu script that displays startup options for users..................................................................131
   ifcheck2.sh – shell script that checks for nic cards and tries to setup IP........................................132
   TESTCD – script to setup /dev/cdrom to current device.................................................................134
   udhcpc.sh – Shell script used to setup IP address via dhcpd.........................................................135
   Getkey.sh – script to help user copy key file and passphrase file...................................................136
G4L30O10 – main script linked to g4l .................................................................................................139
6 scripts to help with getting front end.................................................................................................183
   fg4l – script downloads clear text script from ftp server public directory.........................................183
   efg4l – script downloads an encrypted script from ftp server public directory.................................184
   exg4l – script that downloads encrypted script from users ftp directory.........................................185
   xg4l – downloads front end script from user directory.....................................................................186
   zxg4l – download script from user ftp directory...............................................................................187
   zxeg4l – script to download encrypted front-end form users ftp directory.......................................189
   rcS – G4L linux boot up script.........................................................................................................191
   Bkey – script to set keyboard map..................................................................................................193
   Cleandrive8 – script to clear free space on partitions.....................................................................195
   Cleandrive8.dialog – Script to prompt to clear free space..............................................................198
   Startftpd – Script to start ftp deamon...............................................................................................201
   xprogress – script that runs progress from main g4l script.............................................................202
Advance startup Options......................................................................................................................204
   Start telnet server at boot up...........................................................................................................204
   Run Commands on Starup..............................................................................................................204
Convert G4L from CD setup to flash setup..........................................................................................205
Convert G4L from CD setup to PXE setup..........................................................................................205
Special Setup Files for G4L.................................................................................................................206
   G4L-WIN.EXE – Self extracting 7z file for Windows setup.............................................................206
   G4L-Lite.7z and G4L-lite.zip............................................................................................................206




                                                               Page 2 of 206
G4L – Primary Purpose
General Usage
G4L is a primarily a disk/partition image backup system rather than a file level backup system.
G4L should be used in conjunction with file level backup systems.

Bare-Metal Backup (Disk Image)
“Bare-metal restore is a technique in the field of data recovery and restoration where the backed up data is
available in a form which allows one to restore a computer system from "bare metal", i.e. without any
requirements as to previously installed software or operating system.”
http://en.wikipedia.org/wiki/Bare-metal_restore

G4L can create disk image files that can be used to restore an image with no additional processes. It
creates a bit level copy image of the entire disk include MBR (Master Boot Record), Partition Table,
and Partition(s) of the disk. This will put a system back to the state that is was at when the image file
was created. This can be done after a disk failure to a new disk, or if the disk has been corrupted by a
virus or user errors.

Booting G4L and restoring the image should bring the machine back to the saved state. No need to
partition, install an OS, or run any updates.


Partition Image
Partition Images are similar to disk images in that they contain the full contents of the partition, but
restoring a partition image does require that the partition be created before the restoration. G4L does
include the option to make backups of the MBR and partition table. The restoration of a partition
image will put that partition back to the exact state of the partition at the time of the image creation.

Raw – Partition Image
The raw partition image does a bit level copy of the partition copying all sectors of the partitions.
NTFSCLONE – Partition Image
Ntfsclone is a special program that can backup ntfs (windows) partitions copying the files and file
system data.
Fsarchiver – Partition Image
A special File Level backup Image that can be created.




                                                Page 3 of 206
Official Web Sites
About Sourceforge
From http://sourceforge.net/about (May 2011)
"SourceForge is dedicated to making open source projects successful.
We thrive on community collaboration to help us create the leading resource for open source
software development and distribution. With the tools we provide, 2.7 million developers create
powerful software in over 260,000 projects. Our popular directory connects more than
46 million consumers with these open source projects and serves more than
2,000,000 downloads a day. SourceForge is where open source happens.”

http://sourceforge.net/projects/g4l/
About Freshmeat
From http://freshmeat.net/about (May 2011)

“Freshmeat maintains the Web's largest index of Unix and cross-platform software, themes and
related "eye-candy", and Palm OS software. Thousands of applications, which are preferably
released under an open source license, are meticulously cataloged in the freshmeat database,
and links to new applications are added daily. Each entry provides a description of the
software, links to download it and to obtain more information, and a history of the project's
releases, so readers can keep up-to-date on the latest developments.

freshmeat is the first stop for Linux users hunting for the software they need for work or play. It
is continuously updated with the latest developments from the "release early, release often"
community. In addition to providing news on new releases, freshmeat offers a variety of original
content on technical, political, and social aspects of software and programming, written by both
freshmeat readers and Free Software luminaries. The comment board attached to each page
serves as a home for spirited discussion, bug reports, and technical support. An essential
resource for serious developers, freshmeat.net makes it possible to keep up on who's doing
what, and what everyone else thinks of it.”

http://freshmeat.net/projects/g4l/




                                          Page 4 of 206
Included Software that supports G4L
The Linux Kernel Archives
http://kernel.org/ - G4L Kernels are built from kernel.org source files.
The Syslinux Project
http://syslinux.zytor.com/wiki/index.php/The_Syslinux_Project – The G4L CD uses the isolinux for the
boot process from the CD. Syslinux can be used to boot from a flash. PXElinux can be used to also
boot the G4L.
ftp://ftp.kernel.org/pub/linux/boot/syslinux/ Site of the syslinux files both released and testing.
Note: The Syslinux uses the unmodified files of syslinux except for a minor modification to the cat.c32
program that is used to display information files. It adds a line to inform the user to press enter to
return to the menu display.
HDT - Hardware Detection Tool
http://www.hdt-project.org/ - “HDT (stands for Hardware Detection Tool) is a Syslinux com32 module that
displays low-level information for any x86 compatible system. It provides both a command line interface and a
semi-graphical menu mode for browsing. “
G4L includes HDT as part of syslinux menus for checking hardware.
BusyBox: Many useful utilities in a single package.
http://busybox.net
“BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides
replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc. The utilities in BusyBox
generally have fewer options than their full-featured GNU cousins; however, the options that are included
provide the expected functionality and behave very much like their GNU counterparts. BusyBox provides a
fairly complete environment for any small or embedded system.
BusyBox has been written with size-optimization and limited resources in mind. It is also extremely modular so
you can easily include or exclude commands (or features) at compile time. This makes it easy to customize your
embedded systems. To create a working system, just add some device nodes in /dev, a few configuration files
in /etc, and a Linux kernel.
BusyBox is maintained by Denys Vlasenko, and licensed under the GNU GENERAL PUBLIC LICENSE version
2.”
G4L uses busybox to supply many of the support programs used. The configuration files are
included in the root of the CD as busybox-1.18.4.config, with some earlier configuration files.

NCFTP – FTP programs used to transfer image files between systems.
http://ncftp.org/ncftp/
Provides shell command line format to specify operations and options in addition to standard
integrated command interpreter.
For example:

       ncftpls -u uname -p password           ftp://server/ftppath/
       ncftpput
       ncftpget




                                                 Page 5 of 206
Udpcast – Multicast program
http://udpcast.linux.lu/index.html - “UDPcast is a file transfer tool that can send data simultaneously to
many destinations on a LAN. This can for instance be used to install entire classrooms of PC's at once. The
advantage of UDPcast over using other methods (nfs, ftp, whatever) is that UDPcast uses Ethernet's multicast
abilities: it won't take longer to install 15 machines than it would to install just 2.
UDPcast is released under the GPL 2.0 license. Parts of the code (fec.c) falls under a BSD-like license. The new
boot loader contains cardmgr, which falls under the mozilla public license. All other included third-party
software (busybox, dialog, lzop, udhcp, ...) falls under GPL (to the best of my knowledge. If you notice software
falling under a different license, especially one with a BSD-like publicity clause, please notify me).
UDPcast can be started from the included busybox boot image for OS installations, or from the command line
when using it for other purposes. Udpcast may be booted from CD, floppy media, or via the network, by using
PXE or Etherboot. A configuration file (udpcfg.txt) may be included on these boot media in order to bypass the
setup menu.”
G4L uses udpcast to send images of partitions and disks to multiple computers simultaneously. This
is very useful when reconfiguring a group of systems in an office or classroom.
LZOP – Compression Program
http://www.lzop.org/ - “lzop is a file compressor which is very similar to gzip. lzop uses the LZO data
compression library for compression services, and its main advantages over gzip are much higher compression
and decompression speed (at the cost of some compression ratio).
lzop is copyrighted OpenSource software distributed under the terms of the GNU General Public License
(GPL).”
G4L using lzop as the default compression because it does good compression with much shorter times than
other options. Generally half the time to compress compared with gzip, but 10% larger image size. In addition,
gzip, bzip2 and no compression is available.
Fsarchiver – Filesytem Archiver
http://sourceforge.net/projects/fsarchiver/ - “fsarchiver is a system tool that allows you to save the contents
of a file-system to a compressed archive file. The file-system can be restored on a partition which has a different
size and it can be restored on a different file-system.”
G4L has options to use this program.
TESTDISK – Data Recovery tool
http://www.cgsecurity.org/wiki/TestDisk - “TestDisk is powerful free data recovery software! It was primarily
designed to help recover lost partitions and/or make non-booting disks bootable again when these symptoms
are caused by faulty software, certain types of viruses or human error (such as accidentally deleting a Partition
Table). Partition table recovery using TestDisk is really easy.”
Memtest – System memory test program.
http://www.memtest.org/ - “Based on the well-known original memtest86 written by Chris Brady,
memtest86+ is a port by some members of the x86-secret team, now working at www.canardpc.com. Our goal is
to provide an up-to-date and completly reliable version of this software tool aimed at memory failures detection.

Memtest86+ is, like the original, released under the terms of the Gnu Public License (GPL). No restrictions for
use, private or commercial exist other than the ones mentioned in the Gnu Public License (GPL). Texts about
the original version was taken from the original website and written by Chris Brady. “




                                                 Page 6 of 206
Basic System Documentation
Created by Special Project Students 2011

                                                                                       Justin Conner
                                                                                    Rhoann Solangon
                                                                                    Rogelio Sabangan
                                                                                            CS-290-01
                                                                                      Special Project
G4L 0.37 Syslinux Boot Screen




1) First off begin by using the command:
   “M: memtest86+-4.20”

Special Note. If you boot the CD and the above menu doesn't display, it can be a rare issue in
which your video card does not support vesa screen options used by the vesamenu.c32
program. In this rare case. Press the ESC key that will take you to a regular text screen. Then
type menu and press the Enter key. That will run menu.c32, which provide a similar menu
without the graphic background.

It is normally best to try the default kernel on the first attempt, but some hardware may work with other
kernels or kernels with the failsafe options.




                                             Page 7 of 206
Memtest Screen
Memtest will run through “8” specific tests to check systen ram and make sure that everything is
sufficient for the program to run correctly. IT IS HIGHLY RECOMMEND USING THIS FIRST.
This should be done on the machine being imaged and the FTP server if being used.




Note: Above screen shot is from a Virtualbox running the G4L, and it shows memory being
ECC, but that is not true for the system. The information you will see will be different.
ECC memory has the ability to actually correct errors by using 12 bits per byte, and can be
found in higher end servers or workstations.

2) After completion of one or more memtest cycles, you should then press the ESC key to end the
memtest and proceed with the default kernel. Version 0,37 uses letter G or Enter for the
   default kernel to be loaded and run.

“G: bz38.4 386 build 2.6.38.4 04-21-2011” this is the latest default kernel with 0.37. However you may
use the older kernels (bz32, bz33, bz34) in case the latest kernel does not work for you. Additionally,
there is a release candidate kernel that can be used, but is not fully released by kernel.org.

After Inputting “G” Let it Run until it gets to the disclaimer window, then the basic instruction window,
etc or just hit the enter key. Eventually you will get to the “Select Keymap” where you will be able to
select what keyboard mapping to use. BE SURE TO USE THE SPACEBAR TO SELECT.
*Default keyboard mapping is “us/us.bmap”

*Please also be aware that you may also run with the Failsafe menu to run G4l. Running G4L in
failsafe will disable certain features in order for G4L to bypass certain options in your computer and
increase user compatibility.

*Options disabled in Failsafe are as follow:
     -noapic -noacpi -pnpbios=off -acpi=off -pci=noacpi

Also you may use “Z: Hardware Detection Tool 0.5.0” in order to go in greater detail of your hardware
such as Disks, Memory, Processor, motherboard, etc.


                                              Page 8 of 206
G4L 0.37 G4LMENU




Directions when choosing the following:
   Option 1- Enter g4l, and you will be directed to the main menu.
   Option 2- Enter g4l with the following parameter options:
     #1- Enter the IP address of the ftp server
     #2- Enter the image file name with extension to determine the compression.
     #3- User ID and password (two format options):
           example: Format 1: userid:password
                                  johndoe:computer
                      Format 2: -u userid       -p password
                                  -u johndoe -p computer
     #4- dhcp (use dhcp to get the ip address automatically)
     #5- change the default directory from img to another image file.
     #6- eth0 (default or other device)
     #7- Enter reboot (reboots/restarts system) or poweroff (shuts down system)

  *For options 3-6, the parameters must be used in order

  Option 3- fg4l     [ftpserverip] [dev] [filename] (default front)
  Option 4- efg4l    [ftpserverip] [dev] [filename] (default front.bic)
  Option 5- zxg4l    [ftpserverip] [dev] [filename] userid:password
  Option 6- zexg4l   [ftpserverip] [dev] [filename] userid:password

          example: g4l 192.168.0.0 test.lzo userx:passwordx dhcp img




                                             Page 9 of 206
G4L 0.37 Main Menu




Main Menu Features
  Raw Mode: Gives you the option of copying the data from the hard drive sector by sector.
  File mode: Gives you the option of only copying sectors that are being use with the file system.
  Utilities:  Sends you to the utilities menu, which gives you the option to view the system's
              information or use other tools and devices.
  Show Help: Shows the additional information on the changes and revisions of the G4L program.

*All modes can be selected by pressing the letter that corresponds to the option marked in bold red.




                                           Page 10 of 206
G4L 0.37 Raw Menu




Raw Mode

  Network Use: Allows you to backup/restore to/from the network.
  Local Use:      Allows you to backup/restore to/from the local drive.
  Click n' Clone: Allows you to directly clone a drive from the source to the target.

*All modes can be selected by pressing the letter that corresponds to the option marked in bold red.




                                           Page 11 of 206
G4L 0.37 Network Menu




Creating or restoring over the network
Select Option A: Pick a Device:        This is to set the network card.
Select Option B: Setting IP address: IP address can be configured by DHCP or can be set manually.
Select Option D: Config FTP:           Enter the address of your FTP Server
Select Option E: Config Useridpass: If FTP server is password protected, enter the username
                                       and password.
              example: Format 1:       userid:password
                                       johndoe:computer
                         Format 2:     -u userid -p password
                                       -u johndoe -p computer
Select Option F: Config File Name:
                 1: Backing up: Enter the name of the image file you will create.
                 2: Restoring:    Locate the image file you want to restore.
Select Option G: Compression: You will be able to choose from different types of compression.

     Compression choices include Lzop, Gzip, Bzip2 and None.
     Lzop: Default compression and recommended – Fastest with Good Compression
     Gzip: Better Compression but requires much more time and processor power
     Bzip2: Best Compression but even more time required.
     None: No compression, makes image same size.

In a test on a small partition. None took 10 seconds, Lzop took 3 seconds, Gzip took 6
seconds, and Bzip2 took 18 seconds. In larger test, double speed of Gzip over Lzop was
noted, and only 10% improvement of image size.

Select Option H:   Backup: Choose the drive or partition to backup.
Select Option I:   Restore: Choose the drive or partition to restore.
Select Option M:   MBR (Master Boot Record): This copies the master boot record (the first
                   512 bytes) and the physical partition table.



                                          Page 12 of 206
Select Option N: NTFSclone Backup: Allows you to select what NTFS partition that you would
                 like to back up.
Select Option O: NTFSclone Restore: Allows you to select any of the NTFS partitions to
                 restore your image to.
Select Option P: Set Local Path: Set the sub directory or path name to which you would like
                 to store the image.
Select Option S: Special Commands: Sends you to a menu that lists special commands.
Select Option T: Display Time: Sets the option to display the time results after the transfer.
Select Option U: UDP-MULTICAST-CLIENT: If chosen, it allows you to be a receiver,
                 simultaneously receiving an image/drive from multiple computer systems.
Select Option W: UDP-MULTICAST-SERVER: If chosen, it allow you to be the sender,
                 simultaneously sending an image/drive to multiple computer systems.
Select Option X: Reboot/Poweroff: Gives you the option to choose whether to reboot or
                 power off your machine. The 10 second default timer results in rebooting
                 the machine if no option is chosen.

*All modes can be selected by pressing the letter that corresponds to the option marked in bold red.




                                           Page 13 of 206
G4L 0.37 Local Menu




Creating or restoring over the network
Select Option A: Pick a Local Mount: You are given the option to pick the partition or drive
                    which you want to backup/restore.
Select Option B: Config file name: Give your restore/backup image a file name.
                    Example:        computerx.lzo
Select Option C: Toggle Split: Choose whether you would like to split the image file. This
                    option is usual chosen when the size of the image is larger than the size of
                    the device.
Select Option D: Compression: Lzop is the default file compression option. You are given the
                    option to choose other compressors such as Gzip, Bzip2, or no compression.
                    Compression allows you to make your image file smaller.
                    *Note: Compression requires more CPU power.
Select Option E: Backup: Choose the drive or partition to backup.
Select Option F: Restore: Choose the drive or partition to restore.
Select Option G: Fsarchiver Backup: Choose an Fsarchived drive or partition to back up. An
                    fsarchiver is a program that opens a file system that reads the individual file
                    and stores it in an archive.
Select Option H: Fsarchiver Restore: Choose an Fsarchived drive or partition to restore.
Select Option M: MBR (Master Boot Record): This copies the master boot record and the
                    physical partition table (the first 512 bytes) or MBR and EBRs.
Select Option N: NTFSCLONE Backup: Allows you to select what NTFS partition that you
                    would like to back up.
Select Option O: NTFSCLONE Restore: Counter Part to Option N
Select Option P: Set Local Path: Set the sub directory or path name to which you would like
                    to store the image.
Select Option S: Special Commands: Sends you to a menu that lists special commands.
Select Option T: Display Time: Sets the option to display the time results after the transfer.
Select Option X: Reboot/Poweroff: Gives you the option to choose whether to reboot or
                    power off your machine. The 10 second default timer results in rebooting the
                    machine if no option is chosen.
*All modes can be selected by pressing the letter that corresponds to the option marked in bold red.

                                           Page 14 of 206
G4L 0.37 Local Menu Option A




Creating or restoring locally

  Select Option A:    Pick Local Mount: Select the drive where image will be save or restored from.
  Select Option B.    Config File Name:
                      Backing Up: Enter the image file name you will create.
                      Restoring: Enter the image file name you want to restore.
Execute Operation:
  Select Option E:    Backup: Choose the drive or partition to backup.
  Select Option F:    Restore: Choose the drive or partition you will restore to.

*All modes can be selected by pressing the letter that corresponds to the option marked in bold red.




                                            Page 15 of 206
G4L 0.37 Click n' Clone




CLICK N' CLONE :
It is recommended for multiple hard drives or installing a second drive. You should use drives that
have identical sizes or larger. No image file is created. Click N' Clone directly copies disk or partition
and write to is target (destination).

Select Option A:    Select Source: Select source drive . Select the drive or partition you want to
                    duplicate. Use space bar to select drive.
Select Option B:    Select Target Drive: Select a drive that will be overwritten. Existing files will
                    be destroyed. Use space bar to select drive.
Select Option C:    Click n' Clone: Verify your source and Target Drive. Press enter to execute.
Select Option D:    Toggle partitions: Allows you to select partitions within the drive that you
                    would like to clone. The source and target must be filled in order to enable
                    this option.
Select Option P:    PowerOff: Gives you the option to shut down the system after the
                    click n' clone process.
Select Option R:    Reboot: Gives you the option to reboot/restart the system after the
                    click n' clone process.
Select Option S:    Special Commands: Sends you to a menu that lists special commands.

*All modes can be selected by pressing the letter that corresponds to the option marked in bold red.




                                              Page 16 of 206
G4L 0.37 Utilities Menu




Another great feature of the G4L program is the Utilities menu for more experienced users, while for
others this menu may require assistance of a more experienced user. You may use this option to
further enhance your experience with G4l. Below Is a rundown of what each option can assist you
with. Many of these options were added at the request of users in the past.

You can get to the Utilities menu from the main menu and selecting “Utilities” or by simply pressing
“U” on your keyboard.

A:    System Info : Letter “A” allows you to show drives, partitions, and models in detail.
B:    dmesg: Shows a log file of the boot up process for G4L.
C:    ftp: Allows you to transfer files through File Transfer Protocol. EX: You can transfer the
      dmesg log file in case of an error to another computer.
D: hdparm: Allows you to set Hard Drive parameters, depending on the hardware you may
      adjust and see the maximum speed of the Hard Drive and what option it uses.
E: keymap: Using this option will allow you to set the keymap for your keyboard. If you are
      from another country please select a keymap suggested for you. *Note you will also be
      able select the keymap from the boot up process of G4L.
F: ntpclient: Time synchronization. Allows you to get the time from a server and adjust the
      time accordingly.
G: telnetd: With telnetd you are able to log in remotely to another machine using a command
      box Putty. However you would need to know the IP Address.
H: Zero-Tool: Allows it to compress blank space to almost nothing.
I:    ddrescue: ddrescue attempts to scan your drive of any imperfections/defective sectors
      and will continuously try to repair the defective drive to another drive. Please use the
      “Help” option for advance options before using the “Options” command.
J:    TestDisk: In case of lost partitions, or if you would like to make non bootable disks
      bootable again you may use this option. Also it can also be used to repair some file
      system error.




                                            Page 17 of 206
K:   Parted: Allows you to re-size partitions. PLEASE BE AWARE THAT THIS IS FOR EXPERT
     USER ONLY. EX If a partition size is 40GB and at full capacity do not re-size it to
     something smaller. ALSO ALWAYS MAKE A BACKUP IN CASE OF AN EMERGENCY.
S:   Special Commands: Allows you to run special commands through G4L without ever
     leaving the program.
X:   Reboot/Poweroff: This option simply will give you a choice if either you would like to
     “Reboot” or “Poweroff” your machine. If using the reboot option be sure to remove your
     G4L cd.

*All modes can be selected by pressing the letter that corresponds to the option marked in bold red.




                                           Page 18 of 206
Support Files from CD isolinux directory
Isolinux.cfg file
This is the file that displays on boot up of the G4L CD.
The Syslinux.cfg file is the same if CD files copied to a flash.
The Failsafe.cfg file has options disabled for all kernels to work with some hardware.
Note: make sure to use same version of syslinux on flash or also replace c32 files.

DEFAULT vesamenu.c32
Prompt 0
menu color screen                37;40             #80ffffff     #00000000
menu color border                30;44             #40000000     #00000000
menu color title                 1;33;44           #c0fdd017     #00000000
menu color unsel                 37;44             #90ffffff     #00000000
menu color hotkey                1;37;44           #ffffffff     #00000000
menu color sel                   7;37;40           #e0000000     #20ff8000
menu color hotsel                1;7;37;40         #e0400000     #20ff8000
menu color scrollbar             30;44             #40000000     #00000000
menu color tabmsg                31;40             #90ffff00     #00000000
menu color cmdmark               1;36;40           #c000ffff     #00000000
menu color cmdline               37;40             #c0ffffff     #00000000
menu color pwdborder             30;47             #80ffffff     #20ffffff
menu color pwdheader             31;47             #80ff8080     #20ffffff
menu color pwdentry              30;47             #80ffffff     #20ffffff
menu color timeout_msg           37;40             #80ffffff     #00000000
menu color timeout               1;37;40           #c0ffffff     #00000000

Menu   TITLE G4L boot Menu - version 0.37 Released
MENU   BACKGROUND   test.png
MENU   ROWS         15
MENU   TABMSGROW    20
MENU   TIMEOUTROW   23
MENU   CMDLINEROW   22
MENU   ENDROW       24
MENU   HELPMSGROW   24
MENU   HELMSGENDROW 24

LABEL bz32.39
    MENU LABEL ^A: bz32.39 386 build 2.6.32.39 04-22-2011
    TEXT HELP
    Kernel 2.6.32.39 from Kernel.org
    ENDTEXT
    KERNEL bz32.39
    APPEND initrd=ramdisk.lzma ramdisk_size=65536 root=/dev/ram0




                                            Page 19 of 206
LABEL bz33.12
    MENU LABEL ^B: bz33.12 386 build 2.6.33.12 04-22-2011
    TEXT HELP
    Kernel 2.6.33.12 from Kernel.org
    ENDTEXT
    KERNEL bz33.12
    APPEND initrd=ramdisk.lzma ramdisk_size=65536 root=/dev/ram0
LABEL bz34.9
    MENU LABEL ^C: bz34.9 386 build 2.6.34.9 Released 04-17-2011
    TEXT HELP
    Kernel 2.6.34.9 from Kernel.org
    ENDTEXT
    KERNEL bz34.9
    APPEND initrd=ramdisk.lzma ramdisk_size=65536 root=/dev/ram0
LABEL bz35.12
    MENU LABEL ^D: bz35.12 386 build 2.6.35.12 Released 03-31-2011
    TEXT HELP
    Kernel 2.6.35.12 from Kernel.org
    ENDTEXT
    KERNEL bz35.12
    APPEND initrd=ramdisk.lzma ramdisk_size=65536 root=/dev/ram0
LABEL bz36.4
    MENU LABEL ^E: bz36.4 386 build 2.6.36.4 Released 02-17-2011
    TEXT HELP
    Kernel 2.6.36.4 from Kernel.org
    ENDTEXT
    KERNEL bz36.4
    APPEND initrd=ramdisk.lzma ramdisk_size=65536 root=/dev/ram0
LABEL bz37.6
    MENU LABEL ^F: bz37.6 386 build 2.6.37.6 03-27-2011
    TEXT HELP
    Kernel 2.6.37.6 from Kernel.org
    ENDTEXT
    KERNEL bz37.6
    APPEND initrd=ramdisk.lzma ramdisk_size=65536 root=/dev/ram0
LABEL bz38.4
    MENU DEFAULT
    MENU LABEL ^G: bz38.4 386 build 2.6.38.4 04-21-2011
    TEXT HELP
    Kernel 2.6.38.4 from Kernel.org
    ENDTEXT
    KERNEL bz38.4
    APPEND initrd=ramdisk.lzma ramdisk_size=65536 root=/dev/ram0
LABEL Failsafe
    MENU LABEL ^H: Failsafe Menu
    TEXT HELP
    Switch between menu with/without failsafe options
    ENDTEXT
    KERNEL vesamenu.c32
    APPEND failsafe.cfg




                               Page 20 of 206
LABEL bz39-rc4
    MENU LABEL ^I: bz39.rc4 386 build 2.6.39-rc4 04-19-2011
    TEXT HELP
    Kernel 2.6.39-rc4 Release Candidate 4 from Kernel.org
    ENDTEXT
    KERNEL bz39.rc4
    APPEND initrd=ramdisk.lzma ramdisk_size=65536 root=/dev/ram0
LABEL memtest86-4.20
    MENU LABEL ^M: memtest86+-4.20
    TEXT HELP
    Memmory test Program to insure system Ram is Good
    ENDTEXT
    KERNEL memtest
LABEL Reboot
    MENU LABEL ^R: Reboot
    TEXT HELP
    Reboot system out of G4L
    ENDTEXT
    KERNEL reboot.c32
LABEL PreImage
    MENU LABEL ^T: Pre-Image Help File
    TEXT HELP
    Information on steps to prepare system from imaging
    ENDTEXT
    KERNEL cat.c32 preimage
LABEL Startup
    MENU LABEL ^U: Start Up Help File
    TEXT HELP
    Information on Start Up Options
    ENDTEXT
    KERNEL cat.c32 startup
LABEL Disclaim
    MENU LABEL ^V: Disclaimer File
    TEXT HELP
    Disclamer information on G4L/G4U
    ENDTEXT
    KERNEL cat.c32 disclaim
LABEL hdt
    MENU LABEL ^Z: Hardware Detection Tool 0.5.0
    TEXT HELP
    Get Detailed Low Level System Information
    ENDTEXT
    KERNEL hdt050.c32
    APPEND modules_pcimap=modules.pcimap pciids=pci.ids memtest=memtest

TIMEOUT 600
ONTIMEOUT bz38.4 initrd=ramdisk.lzma ramdisk_size=65536 root=/dev/ram0




                               Page 21 of 206
Menu.lst – Example menu.lst config file
That can be used with Grub4dos or the g4l lines can be added to an existing grub.conf or menu.lst file
to allow for booting from already installed setup.

One needs to copy the kernel file and ramdisk.lzma files to /boot directory or /linux directory.

This exact file is included in the g4l-lite.zip, g4l-win.exe, and g4l-lite.7z files created.
The g4l-win.exe extracts the grub4dos program, and puts the files in the /linux directory along with
memtest.


title Windows XP
find --set-root /ntldr
chainloader /ntldr

title Windows VISTA
find --set-root /bootmgr_vista
chainloader /bootmgr_vista

title G4L
find --set-root /linux/bz36.3
kernel /linux/bz36.3 ramdisk_size=65536 root=/dev/ram0
initrd /linux/ramdisk.lzma

title G4L FailSafe
find --set-root /linux/bz36.3
kernel /linux/bz36.3 ramdisk_size=65536 root=/dev/ram0 noapic noacpi pnpbios=off acpi=off
pci=noacpi
initrd /linux/ramdisk.lzma




                                             Page 22 of 206
Busybox Configuration File
busybox-1.18.4 configuration file for this release.

#
# Automatically generated make config: don't edit
# Busybox version: 1.18.4
# Sun Mar 13 15:48:40 2011
#
CONFIG_HAVE_DOT_CONFIG=y
#
# Busybox Settings
#
#
# General Configuration
#
# CONFIG_DESKTOP is not set
# CONFIG_EXTRA_COMPAT is not set
CONFIG_INCLUDE_SUSv2=y
# CONFIG_USE_PORTABLE_CODE is not set
CONFIG_PLATFORM_LINUX=y
CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
CONFIG_SHOW_USAGE=y
CONFIG_FEATURE_VERBOSE_USAGE=y
CONFIG_FEATURE_COMPRESS_USAGE=y
# CONFIG_FEATURE_INSTALLER is not set
# CONFIG_INSTALL_NO_USR is not set
# CONFIG_LOCALE_SUPPORT is not set
CONFIG_UNICODE_SUPPORT=y
# CONFIG_UNICODE_USING_LOCALE is not set
# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
CONFIG_SUBST_WCHAR=63
CONFIG_LAST_SUPPORTED_WCHAR=767
# CONFIG_UNICODE_COMBINING_WCHARS is not set
# CONFIG_UNICODE_WIDE_WCHARS is not set
# CONFIG_UNICODE_BIDI_SUPPORT is not set
# CONFIG_UNICODE_NEUTRAL_TABLE is not set
# CONFIG_UNICODE_PRESERVE_BROKEN is not set
CONFIG_LONG_OPTS=y
CONFIG_FEATURE_DEVPTS=y
# CONFIG_FEATURE_CLEAN_UP is not set
# CONFIG_FEATURE_WTMP is not set
CONFIG_FEATURE_UTMP=y
# CONFIG_FEATURE_PIDFILE is not set
CONFIG_FEATURE_SUID=y
CONFIG_FEATURE_SUID_CONFIG=y
CONFIG_FEATURE_SUID_CONFIG_QUIET=y
# CONFIG_SELINUX is not set
# CONFIG_FEATURE_PREFER_APPLETS is not set
CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
CONFIG_FEATURE_SYSLOG=y

                                    Page 23 of 206
CONFIG_FEATURE_HAVE_RPC=y
#
# Build Options
#
# CONFIG_STATIC is not set
# CONFIG_PIE is not set
# CONFIG_NOMMU is not set
# CONFIG_BUILD_LIBBUSYBOX is not set
# CONFIG_FEATURE_INDIVIDUAL is not set
# CONFIG_FEATURE_SHARED_BUSYBOX is not set
CONFIG_LFS=y
CONFIG_CROSS_COMPILER_PREFIX=""
CONFIG_EXTRA_CFLAGS=""
#
# Debugging Options
#
# CONFIG_DEBUG is not set
# CONFIG_DEBUG_PESSIMIZE is not set
# CONFIG_WERROR is not set
CONFIG_NO_DEBUG_LIB=y
# CONFIG_DMALLOC is not set
# CONFIG_EFENCE is not set
#
# Installation Options ("make install" behavior)
#
CONFIG_INSTALL_APPLET_SYMLINKS=y
# CONFIG_INSTALL_APPLET_HARDLINKS is not set
# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
# CONFIG_INSTALL_APPLET_DONT is not set
# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
CONFIG_PREFIX="./_install"
#
# Busybox Library Tuning
#
CONFIG_PASSWORD_MINLEN=6
CONFIG_MD5_SIZE_VS_SPEED=0
CONFIG_FEATURE_FAST_TOP=y
# CONFIG_FEATURE_ETC_NETWORKS is not set
CONFIG_FEATURE_USE_TERMIOS=y
# CONFIG_FEATURE_EDITING is not set
CONFIG_FEATURE_EDITING_MAX_LEN=0
# CONFIG_FEATURE_EDITING_VI is not set
CONFIG_FEATURE_EDITING_HISTORY=0
# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set
# CONFIG_FEATURE_TAB_COMPLETION is not set
# CONFIG_FEATURE_USERNAME_COMPLETION is not set
# CONFIG_FEATURE_EDITING_FANCY_PROMPT is not set
# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
CONFIG_FEATURE_NON_POSIX_CP=y
CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y


                                 Page 24 of 206
CONFIG_FEATURE_COPYBUF_KB=4
CONFIG_MONOTONIC_SYSCALL=y
CONFIG_IOCTL_HEX2STR_ERROR=y
CONFIG_FEATURE_HWIB=y
#
# Applets
#
#
# Archival Utilities
#
CONFIG_FEATURE_SEAMLESS_XZ=y
# CONFIG_FEATURE_SEAMLESS_LZMA is not set
# CONFIG_FEATURE_SEAMLESS_BZ2 is not set
# CONFIG_FEATURE_SEAMLESS_GZ is not set
# CONFIG_FEATURE_SEAMLESS_Z is not set
# CONFIG_AR is not set
# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
# CONFIG_FEATURE_AR_CREATE is not set
# CONFIG_BUNZIP2 is not set
# CONFIG_BZIP2 is not set
# CONFIG_CPIO is not set
# CONFIG_FEATURE_CPIO_O is not set
# CONFIG_FEATURE_CPIO_P is not set
# CONFIG_DPKG is not set
# CONFIG_DPKG_DEB is not set
# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
# CONFIG_GUNZIP is not set
# CONFIG_GZIP is not set
# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set
CONFIG_LZOP=y
# CONFIG_LZOP_COMPR_HIGH is not set
# CONFIG_RPM2CPIO is not set
# CONFIG_RPM is not set
CONFIG_TAR=y
CONFIG_FEATURE_TAR_CREATE=y
# CONFIG_FEATURE_TAR_AUTODETECT is not set
# CONFIG_FEATURE_TAR_FROM is not set
# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
CONFIG_FEATURE_TAR_LONG_OPTIONS=y
CONFIG_FEATURE_TAR_TO_COMMAND=y
# CONFIG_FEATURE_TAR_UNAME_GNAME is not set
# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set
# CONFIG_FEATURE_TAR_SELINUX is not set
# CONFIG_UNCOMPRESS is not set
# CONFIG_UNLZMA is not set
# CONFIG_FEATURE_LZMA_FAST is not set
# CONFIG_LZMA is not set
CONFIG_UNXZ=y
CONFIG_XZ=y
CONFIG_UNZIP=y


                                 Page 25 of 206
#
# Coreutils
#
CONFIG_BASENAME=y
CONFIG_CAT=y
CONFIG_DATE=y
CONFIG_FEATURE_DATE_ISOFMT=y
# CONFIG_FEATURE_DATE_NANO is not set
CONFIG_FEATURE_DATE_COMPAT=y
CONFIG_TEST=y
# CONFIG_FEATURE_TEST_64 is not set
CONFIG_TR=y
# CONFIG_FEATURE_TR_CLASSES is not set
# CONFIG_FEATURE_TR_EQUIV is not set
CONFIG_BASE64=y
# CONFIG_CAL is not set
# CONFIG_CATV is not set
CONFIG_CHGRP=y
CONFIG_CHMOD=y
CONFIG_CHOWN=y
# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set
# CONFIG_CHROOT is not set
# CONFIG_CKSUM is not set
CONFIG_COMM=y
CONFIG_CP=y
# CONFIG_FEATURE_CP_LONG_OPTIONS is not set
CONFIG_CUT=y
# CONFIG_DD is not set
# CONFIG_FEATURE_DD_SIGNAL_HANDLING is not set
# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
# CONFIG_FEATURE_DD_IBS_OBS is not set
CONFIG_DF=y
# CONFIG_FEATURE_DF_FANCY is not set
CONFIG_DIRNAME=y
CONFIG_DOS2UNIX=y
CONFIG_UNIX2DOS=y
CONFIG_DU=y
CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
CONFIG_ECHO=y
CONFIG_FEATURE_FANCY_ECHO=y
CONFIG_ENV=y
# CONFIG_FEATURE_ENV_LONG_OPTIONS is not set
# CONFIG_EXPAND is not set
# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
CONFIG_EXPR=y
# CONFIG_EXPR_MATH_SUPPORT_64 is not set
CONFIG_FALSE=y
# CONFIG_FOLD is not set
# CONFIG_FSYNC is not set
CONFIG_HEAD=y
CONFIG_FEATURE_FANCY_HEAD=y
CONFIG_HOSTID=y


                                 Page 26 of 206
CONFIG_ID=y
CONFIG_INSTALL=y
# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
CONFIG_LENGTH=y
CONFIG_LN=y
CONFIG_LOGNAME=y
CONFIG_LS=y
CONFIG_FEATURE_LS_FILETYPES=y
CONFIG_FEATURE_LS_FOLLOWLINKS=y
CONFIG_FEATURE_LS_RECURSIVE=y
CONFIG_FEATURE_LS_SORTFILES=y
CONFIG_FEATURE_LS_TIMESTAMPS=y
CONFIG_FEATURE_LS_USERNAME=y
CONFIG_FEATURE_LS_COLOR=y
# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
CONFIG_MD5SUM=y
CONFIG_MKDIR=y
# CONFIG_FEATURE_MKDIR_LONG_OPTIONS is not set
CONFIG_MKFIFO=y
CONFIG_MKNOD=y
CONFIG_MV=y
# CONFIG_FEATURE_MV_LONG_OPTIONS is not set
# CONFIG_NICE is not set
# CONFIG_NOHUP is not set
# CONFIG_OD is not set
CONFIG_PRINTENV=y
CONFIG_PRINTF=y
CONFIG_PWD=y
# CONFIG_READLINK is not set
# CONFIG_FEATURE_READLINK_FOLLOW is not set
# CONFIG_REALPATH is not set
CONFIG_RM=y
CONFIG_RMDIR=y
# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
# CONFIG_SEQ is not set
# CONFIG_SHA1SUM is not set
# CONFIG_SHA256SUM is not set
# CONFIG_SHA512SUM is not set
CONFIG_SLEEP=y
# CONFIG_FEATURE_FANCY_SLEEP is not set
# CONFIG_FEATURE_FLOAT_SLEEP is not set
CONFIG_SORT=y
CONFIG_FEATURE_SORT_BIG=y
# CONFIG_SPLIT is not set
# CONFIG_FEATURE_SPLIT_FANCY is not set
CONFIG_STAT=y
# CONFIG_FEATURE_STAT_FORMAT is not set
CONFIG_STTY=y
# CONFIG_SUM is not set
CONFIG_SYNC=y
# CONFIG_TAC is not set
CONFIG_TAIL=y


                                 Page 27 of 206
CONFIG_FEATURE_FANCY_TAIL=y
CONFIG_TEE=y
CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
CONFIG_TOUCH=y
CONFIG_TRUE=y
CONFIG_TTY=y
CONFIG_UNAME=y
# CONFIG_UNEXPAND is not set
# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
CONFIG_UNIQ=y
# CONFIG_USLEEP is not set
CONFIG_UUDECODE=y
CONFIG_UUENCODE=y
CONFIG_WC=y
# CONFIG_FEATURE_WC_LARGE is not set
CONFIG_WHO=y
CONFIG_WHOAMI=y
CONFIG_YES=y
#
# Common options for cp and mv
#
CONFIG_FEATURE_PRESERVE_HARDLINKS=y
#
# Common options for ls, more and telnet
#
CONFIG_FEATURE_AUTOWIDTH=y
#
# Common options for df, du, ls
#
CONFIG_FEATURE_HUMAN_READABLE=y
#
# Common options for md5sum, sha1sum, sha256sum, sha512sum
#
# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set
#
# Console Utilities
#
CONFIG_CHVT=y
CONFIG_FGCONSOLE=y
CONFIG_CLEAR=y
CONFIG_DEALLOCVT=y
CONFIG_DUMPKMAP=y
# CONFIG_KBD_MODE is not set
CONFIG_LOADFONT=y
CONFIG_LOADKMAP=y
CONFIG_OPENVT=y
CONFIG_RESET=y
# CONFIG_RESIZE is not set
# CONFIG_FEATURE_RESIZE_PRINT is not set
# CONFIG_SETCONSOLE is not set
# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
# CONFIG_SETFONT is not set


                                     Page 28 of 206
# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set
CONFIG_DEFAULT_SETFONT_DIR=""
CONFIG_SETKEYCODES=y
# CONFIG_SETLOGCONS is not set
# CONFIG_SHOWKEY is not set
#
# Common options for loadfont and setfont
#
CONFIG_FEATURE_LOADFONT_PSF2=y
CONFIG_FEATURE_LOADFONT_RAW=y
#
# Debian Utilities
#
# CONFIG_MKTEMP is not set
# CONFIG_PIPE_PROGRESS is not set
# CONFIG_RUN_PARTS is not set
# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
# CONFIG_START_STOP_DAEMON is not set
# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set
CONFIG_WHICH=y
#
# Editors
#
# CONFIG_PATCH is not set
CONFIG_AWK=y
# CONFIG_FEATURE_AWK_LIBM is not set
CONFIG_CMP=y
CONFIG_DIFF=y
# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
CONFIG_FEATURE_DIFF_DIR=y
# CONFIG_ED is not set
CONFIG_SED=y
# CONFIG_VI is not set
CONFIG_FEATURE_VI_MAX_LEN=0
# CONFIG_FEATURE_VI_8BIT is not set
# CONFIG_FEATURE_VI_COLON is not set
# CONFIG_FEATURE_VI_YANKMARK is not set
# CONFIG_FEATURE_VI_SEARCH is not set
# CONFIG_FEATURE_VI_USE_SIGNALS is not set
# CONFIG_FEATURE_VI_DOT_CMD is not set
# CONFIG_FEATURE_VI_READONLY is not set
# CONFIG_FEATURE_VI_SETOPTS is not set
# CONFIG_FEATURE_VI_SET is not set
# CONFIG_FEATURE_VI_WIN_RESIZE is not set
# CONFIG_FEATURE_VI_ASK_TERMINAL is not set
# CONFIG_FEATURE_VI_OPTIMIZE_CURSOR is not set
CONFIG_FEATURE_ALLOW_EXEC=y
#
# Finding Utilities
#


                                Page 29 of 206
CONFIG_FIND=y
CONFIG_FEATURE_FIND_PRINT0=y
CONFIG_FEATURE_FIND_MTIME=y
CONFIG_FEATURE_FIND_MMIN=y
CONFIG_FEATURE_FIND_PERM=y
CONFIG_FEATURE_FIND_TYPE=y
CONFIG_FEATURE_FIND_XDEV=y
CONFIG_FEATURE_FIND_MAXDEPTH=y
# CONFIG_FEATURE_FIND_NEWER is not set
# CONFIG_FEATURE_FIND_INUM is not set
CONFIG_FEATURE_FIND_EXEC=y
CONFIG_FEATURE_FIND_USER=y
CONFIG_FEATURE_FIND_GROUP=y
CONFIG_FEATURE_FIND_NOT=y
CONFIG_FEATURE_FIND_DEPTH=y
CONFIG_FEATURE_FIND_PAREN=y
CONFIG_FEATURE_FIND_SIZE=y
CONFIG_FEATURE_FIND_PRUNE=y
# CONFIG_FEATURE_FIND_DELETE is not set
CONFIG_FEATURE_FIND_PATH=y
CONFIG_FEATURE_FIND_REGEX=y
# CONFIG_FEATURE_FIND_CONTEXT is not set
# CONFIG_FEATURE_FIND_LINKS is not set
CONFIG_GREP=y
CONFIG_FEATURE_GREP_EGREP_ALIAS=y
CONFIG_FEATURE_GREP_FGREP_ALIAS=y
CONFIG_FEATURE_GREP_CONTEXT=y
CONFIG_XARGS=y
# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
#
# Init Utilities
#
CONFIG_BOOTCHARTD=y
CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER=y
CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE=y
CONFIG_HALT=y
# CONFIG_FEATURE_CALL_TELINIT is not set
CONFIG_TELINIT_PATH=""
CONFIG_INIT=y
CONFIG_FEATURE_USE_INITTAB=y
CONFIG_FEATURE_KILL_REMOVED=y
CONFIG_FEATURE_KILL_DELAY=0
# CONFIG_FEATURE_INIT_SCTTY is not set
# CONFIG_FEATURE_INIT_SYSLOG is not set
CONFIG_FEATURE_EXTRA_QUIET=y
# CONFIG_FEATURE_INIT_COREDUMPS is not set
CONFIG_FEATURE_INITRD=y
CONFIG_INIT_TERMINAL_TYPE="linux"
CONFIG_MESG=y


                                Page 30 of 206
#
# Login/Password Management Utilities
#
# CONFIG_ADD_SHELL is not set
# CONFIG_REMOVE_SHELL is not set
# CONFIG_FEATURE_SHADOWPASSWDS is not set
CONFIG_USE_BB_PWD_GRP=y
# CONFIG_USE_BB_SHADOW is not set
CONFIG_USE_BB_CRYPT=y
# CONFIG_USE_BB_CRYPT_SHA is not set
# CONFIG_ADDUSER is not set
# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
# CONFIG_FEATURE_CHECK_NAMES is not set
CONFIG_FIRST_SYSTEM_ID=0
CONFIG_LAST_SYSTEM_ID=0
# CONFIG_ADDGROUP is not set
# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set
# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
# CONFIG_DELUSER is not set
# CONFIG_DELGROUP is not set
# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set
# CONFIG_GETTY is not set
CONFIG_LOGIN=y
# CONFIG_PAM is not set
# CONFIG_LOGIN_SCRIPTS is not set
CONFIG_FEATURE_NOLOGIN=y
CONFIG_FEATURE_SECURETTY=y
# CONFIG_PASSWD is not set
# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
# CONFIG_CRYPTPW is not set
# CONFIG_CHPASSWD is not set
# CONFIG_SU is not set
# CONFIG_FEATURE_SU_SYSLOG is not set
# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set
# CONFIG_SULOGIN is not set
# CONFIG_VLOCK is not set
#
# Linux Ext2 FS Progs
#
# CONFIG_CHATTR is not set
# CONFIG_FSCK is not set
# CONFIG_LSATTR is not set
# CONFIG_TUNE2FS is not set
#
# Linux Module Utilities
#
CONFIG_MODINFO=y
# CONFIG_MODPROBE_SMALL is not set
# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
CONFIG_INSMOD=y
CONFIG_RMMOD=y


                               Page 31 of 206
CONFIG_LSMOD=y
# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
CONFIG_MODPROBE=y
# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
# CONFIG_DEPMOD is not set
#
# Options common to multiple modutils
#
# CONFIG_FEATURE_2_4_MODULES is not set
# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
CONFIG_FEATURE_MODUTILS_ALIAS=y
CONFIG_FEATURE_MODUTILS_SYMBOLS=y
CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
#
# Linux System Utilities
#
CONFIG_BLOCKDEV=y
CONFIG_REV=y
# CONFIG_ACPID is not set
# CONFIG_FEATURE_ACPID_COMPAT is not set
# CONFIG_BLKID is not set
CONFIG_DMESG=y
CONFIG_FEATURE_DMESG_PRETTY=y
# CONFIG_FBSET is not set
# CONFIG_FEATURE_FBSET_FANCY is not set
# CONFIG_FEATURE_FBSET_READMODE is not set
CONFIG_FDFLUSH=y
CONFIG_FDFORMAT=y
CONFIG_FDISK=y
CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
CONFIG_FEATURE_FDISK_WRITABLE=y
# CONFIG_FEATURE_AIX_LABEL is not set
# CONFIG_FEATURE_SGI_LABEL is not set
# CONFIG_FEATURE_SUN_LABEL is not set
# CONFIG_FEATURE_OSF_LABEL is not set
# CONFIG_FEATURE_GPT_LABEL is not set
# CONFIG_FEATURE_FDISK_ADVANCED is not set
# CONFIG_FINDFS is not set
CONFIG_FLOCK=y
CONFIG_FREERAMDISK=y
CONFIG_FSCK_MINIX=y
# CONFIG_MKFS_EXT2 is not set
CONFIG_MKFS_MINIX=y
CONFIG_FEATURE_MINIX2=y
# CONFIG_MKFS_REISER is not set


                                Page 32 of 206
CONFIG_MKFS_VFAT=y
CONFIG_GETOPT=y
CONFIG_FEATURE_GETOPT_LONG=y
CONFIG_HEXDUMP=y
# CONFIG_FEATURE_HEXDUMP_REVERSE is not set
# CONFIG_HD is not set
CONFIG_HWCLOCK=y
# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set
CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
# CONFIG_IPCRM is not set
# CONFIG_IPCS is not set
CONFIG_LOSETUP=y
# CONFIG_LSPCI is not set
# CONFIG_LSUSB is not set
CONFIG_MDEV=y
# CONFIG_FEATURE_MDEV_CONF is not set
# CONFIG_FEATURE_MDEV_RENAME is not set
# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
# CONFIG_FEATURE_MDEV_EXEC is not set
# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
CONFIG_MKSWAP=y
# CONFIG_FEATURE_MKSWAP_UUID is not set
CONFIG_MORE=y
CONFIG_MOUNT=y
# CONFIG_FEATURE_MOUNT_FAKE is not set
# CONFIG_FEATURE_MOUNT_VERBOSE is not set
CONFIG_FEATURE_MOUNT_HELPERS=y
# CONFIG_FEATURE_MOUNT_LABEL is not set
CONFIG_FEATURE_MOUNT_NFS=y
CONFIG_FEATURE_MOUNT_CIFS=y
CONFIG_FEATURE_MOUNT_FLAGS=y
CONFIG_FEATURE_MOUNT_FSTAB=y
CONFIG_PIVOT_ROOT=y
CONFIG_RDATE=y
# CONFIG_RDEV is not set
# CONFIG_READPROFILE is not set
# CONFIG_RTCWAKE is not set
# CONFIG_SCRIPT is not set
# CONFIG_SCRIPTREPLAY is not set
# CONFIG_SETARCH is not set
CONFIG_SWAPONOFF=y
# CONFIG_FEATURE_SWAPON_PRI is not set
# CONFIG_SWITCH_ROOT is not set
CONFIG_UMOUNT=y
# CONFIG_FEATURE_UMOUNT_ALL is not set
#
# Common options for mount/umount
#
CONFIG_FEATURE_MOUNT_LOOP=y
CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
# CONFIG_FEATURE_MTAB_SUPPORT is not set
# CONFIG_VOLUMEID is not set


                                Page 33 of 206
# CONFIG_FEATURE_VOLUMEID_EXT is not set
# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
# CONFIG_FEATURE_VOLUMEID_REISERFS is not set
# CONFIG_FEATURE_VOLUMEID_FAT is not set
# CONFIG_FEATURE_VOLUMEID_HFS is not set
# CONFIG_FEATURE_VOLUMEID_JFS is not set
# CONFIG_FEATURE_VOLUMEID_XFS is not set
# CONFIG_FEATURE_VOLUMEID_NTFS is not set
# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
# CONFIG_FEATURE_VOLUMEID_UDF is not set
# CONFIG_FEATURE_VOLUMEID_LUKS is not set
# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
# CONFIG_FEATURE_VOLUMEID_SYSV is not set
# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
#
# Miscellaneous Utilities
#
# CONFIG_CONSPY is not set
# CONFIG_NANDWRITE is not set
# CONFIG_NANDDUMP is not set
# CONFIG_UBIATTACH is not set
# CONFIG_UBIDETACH is not set
# CONFIG_ADJTIMEX is not set
# CONFIG_BBCONFIG is not set
# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
CONFIG_BEEP=y
CONFIG_FEATURE_BEEP_FREQ=4000
CONFIG_FEATURE_BEEP_LENGTH_MS=30
# CONFIG_CHAT is not set
# CONFIG_FEATURE_CHAT_NOFAIL is not set
# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set
# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
# CONFIG_CHRT is not set
# CONFIG_CROND is not set
# CONFIG_FEATURE_CROND_D is not set
# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
CONFIG_FEATURE_CROND_DIR=""
# CONFIG_CRONTAB is not set
# CONFIG_DC is not set
# CONFIG_FEATURE_DC_LIBM is not set
# CONFIG_DEVFSD is not set
# CONFIG_DEVFSD_MODLOAD is not set
# CONFIG_DEVFSD_FG_NP is not set
# CONFIG_DEVFSD_VERBOSE is not set
# CONFIG_FEATURE_DEVFS is not set


                                 Page 34 of 206
# CONFIG_DEVMEM is not set
CONFIG_EJECT=y
CONFIG_FEATURE_EJECT_SCSI=y
# CONFIG_FBSPLASH is not set
# CONFIG_FLASHCP is not set
# CONFIG_FLASH_LOCK is not set
# CONFIG_FLASH_UNLOCK is not set
# CONFIG_FLASH_ERASEALL is not set
# CONFIG_IONICE is not set
# CONFIG_INOTIFYD is not set
# CONFIG_LAST is not set
# CONFIG_FEATURE_LAST_SMALL is not set
# CONFIG_FEATURE_LAST_FANCY is not set
CONFIG_LESS=y
CONFIG_FEATURE_LESS_MAXLINES=9999999
CONFIG_FEATURE_LESS_BRACKETS=y
CONFIG_FEATURE_LESS_FLAGS=y
# CONFIG_FEATURE_LESS_MARKS is not set
# CONFIG_FEATURE_LESS_REGEXP is not set
# CONFIG_FEATURE_LESS_WINCH is not set
# CONFIG_FEATURE_LESS_DASHCMD is not set
# CONFIG_FEATURE_LESS_LINENUMS is not set
CONFIG_HDPARM=y
CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
CONFIG_MAKEDEVS=y
# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
CONFIG_FEATURE_MAKEDEVS_TABLE=y
# CONFIG_MAN is not set
# CONFIG_MICROCOM is not set
# CONFIG_MOUNTPOINT is not set
# CONFIG_MT is not set
CONFIG_RAIDAUTORUN=y
# CONFIG_READAHEAD is not set
# CONFIG_RFKILL is not set
# CONFIG_RUNLEVEL is not set
# CONFIG_RX is not set
# CONFIG_SETSID is not set
CONFIG_STRINGS=y
# CONFIG_TASKSET is not set
# CONFIG_FEATURE_TASKSET_FANCY is not set
CONFIG_TIME=y
# CONFIG_TIMEOUT is not set
# CONFIG_TTYSIZE is not set
# CONFIG_VOLNAME is not set
# CONFIG_WALL is not set
CONFIG_WATCHDOG=y
#


                                Page 35 of 206
# Networking Utilities
#
CONFIG_NBDCLIENT=y
CONFIG_NC=y
# CONFIG_NC_SERVER is not set
# CONFIG_NC_EXTRA is not set
CONFIG_NC_110_COMPAT=y
# CONFIG_FEATURE_IPV6 is not set
# CONFIG_FEATURE_UNIX_LOCAL is not set
# CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set
# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
# CONFIG_ARP is not set
CONFIG_ARPING=y
# CONFIG_BRCTL is not set
# CONFIG_FEATURE_BRCTL_FANCY is not set
# CONFIG_FEATURE_BRCTL_SHOW is not set
CONFIG_DNSD=y
# CONFIG_ETHER_WAKE is not set
# CONFIG_FAKEIDENTD is not set
CONFIG_FTPD=y
CONFIG_FEATURE_FTP_WRITE=y
CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y
# CONFIG_FTPGET is not set
# CONFIG_FTPPUT is not set
# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
CONFIG_HOSTNAME=y
# CONFIG_HTTPD is not set
# CONFIG_FEATURE_HTTPD_RANGES is not set
# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
# CONFIG_FEATURE_HTTPD_SETUID is not set
# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
# CONFIG_FEATURE_HTTPD_CGI is not set
# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
# CONFIG_FEATURE_HTTPD_PROXY is not set
# CONFIG_FEATURE_HTTPD_GZIP is not set
CONFIG_IFCONFIG=y
CONFIG_FEATURE_IFCONFIG_STATUS=y
# CONFIG_FEATURE_IFCONFIG_SLIP is not set
# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
# CONFIG_FEATURE_IFCONFIG_HW is not set
# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
# CONFIG_IFENSLAVE is not set
# CONFIG_IFPLUGD is not set
# CONFIG_IFUPDOWN is not set
CONFIG_IFUPDOWN_IFSTATE_PATH=""
# CONFIG_FEATURE_IFUPDOWN_IP is not set
# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set


                                 Page 36 of 206
# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set
# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
CONFIG_INETD=y
CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y
CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y
CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y
CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y
CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y
# CONFIG_FEATURE_INETD_RPC is not set
CONFIG_IP=y
CONFIG_FEATURE_IP_ADDRESS=y
CONFIG_FEATURE_IP_LINK=y
CONFIG_FEATURE_IP_ROUTE=y
CONFIG_FEATURE_IP_TUNNEL=y
# CONFIG_FEATURE_IP_RULE is not set
CONFIG_FEATURE_IP_SHORT_FORMS=y
# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
CONFIG_IPADDR=y
CONFIG_IPLINK=y
CONFIG_IPROUTE=y
CONFIG_IPTUNNEL=y
# CONFIG_IPRULE is not set
CONFIG_IPCALC=y
CONFIG_FEATURE_IPCALC_FANCY=y
# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
# CONFIG_NAMEIF is not set
# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
CONFIG_NETSTAT=y
# CONFIG_FEATURE_NETSTAT_WIDE is not set
# CONFIG_FEATURE_NETSTAT_PRG is not set
CONFIG_NSLOOKUP=y
# CONFIG_NTPD is not set
# CONFIG_FEATURE_NTPD_SERVER is not set
CONFIG_PING=y
# CONFIG_PING6 is not set
CONFIG_FEATURE_FANCY_PING=y
# CONFIG_PSCAN is not set
CONFIG_ROUTE=y
# CONFIG_SLATTACH is not set
CONFIG_TCPSVD=y
CONFIG_TELNET=y
CONFIG_FEATURE_TELNET_TTYPE=y
CONFIG_FEATURE_TELNET_AUTOLOGIN=y
CONFIG_TELNETD=y
CONFIG_FEATURE_TELNETD_STANDALONE=y
# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
# CONFIG_TFTP is not set
# CONFIG_TFTPD is not set
# CONFIG_FEATURE_TFTP_GET is not set
# CONFIG_FEATURE_TFTP_PUT is not set


                                Page 37 of 206
# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
# CONFIG_TFTP_DEBUG is not set
CONFIG_TRACEROUTE=y
# CONFIG_TRACEROUTE6 is not set
CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
# CONFIG_TUNCTL is not set
# CONFIG_FEATURE_TUNCTL_UG is not set
# CONFIG_UDHCPD is not set
# CONFIG_DHCPRELAY is not set
# CONFIG_DUMPLEASES is not set
# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
CONFIG_DHCPD_LEASES_FILE=""
CONFIG_UDHCPC=y
CONFIG_FEATURE_UDHCPC_ARPING=y
# CONFIG_FEATURE_UDHCP_PORT is not set
CONFIG_UDHCP_DEBUG=0
# CONFIG_FEATURE_UDHCP_RFC3397 is not set
CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
# CONFIG_UDPSVD is not set
# CONFIG_VCONFIG is not set
# CONFIG_WGET is not set
# CONFIG_FEATURE_WGET_STATUSBAR is not set
# CONFIG_FEATURE_WGET_AUTHENTICATION is not set
# CONFIG_FEATURE_WGET_LONG_OPTIONS is not set
# CONFIG_FEATURE_WGET_TIMEOUT is not set
# CONFIG_ZCIP is not set
#
# Print Utilities
#
# CONFIG_LPD is not set
# CONFIG_LPR is not set
# CONFIG_LPQ is not set
#
# Mail Utilities
#
# CONFIG_MAKEMIME is not set
CONFIG_FEATURE_MIME_CHARSET=""
# CONFIG_POPMAILDIR is not set
# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set
# CONFIG_REFORMIME is not set
# CONFIG_FEATURE_REFORMIME_COMPAT is not set
# CONFIG_SENDMAIL is not set
#
# Process Utilities
#
CONFIG_IOSTAT=y
CONFIG_MPSTAT=y


                                    Page 38 of 206
CONFIG_PMAP=y
CONFIG_POWERTOP=y
CONFIG_SMEMCAP=y
CONFIG_FREE=y
# CONFIG_FUSER is not set
CONFIG_KILL=y
CONFIG_KILLALL=y
# CONFIG_KILLALL5 is not set
# CONFIG_NMETER is not set
# CONFIG_PGREP is not set
CONFIG_PIDOF=y
# CONFIG_FEATURE_PIDOF_SINGLE is not set
# CONFIG_FEATURE_PIDOF_OMIT is not set
# CONFIG_PKILL is not set
CONFIG_PS=y
# CONFIG_FEATURE_PS_WIDE is not set
# CONFIG_FEATURE_PS_TIME is not set
# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set
# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
CONFIG_RENICE=y
# CONFIG_BB_SYSCTL is not set
CONFIG_TOP=y
CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
# CONFIG_FEATURE_TOP_SMP_CPU is not set
# CONFIG_FEATURE_TOP_DECIMALS is not set
# CONFIG_FEATURE_TOP_SMP_PROCESS is not set
# CONFIG_FEATURE_TOPMEM is not set
# CONFIG_FEATURE_SHOW_THREADS is not set
CONFIG_UPTIME=y
# CONFIG_WATCH is not set
#
# Runit Utilities
#
# CONFIG_RUNSV is not set
# CONFIG_RUNSVDIR is not set
# CONFIG_FEATURE_RUNSVDIR_LOG is not set
# CONFIG_SV is not set
CONFIG_SV_DEFAULT_SERVICE_DIR=""
# CONFIG_SVLOGD is not set
# CONFIG_CHPST is not set
# CONFIG_SETUIDGID is not set
# CONFIG_ENVUIDGID is not set
# CONFIG_ENVDIR is not set
# CONFIG_SOFTLIMIT is not set
# CONFIG_CHCON is not set
# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
# CONFIG_GETENFORCE is not set
# CONFIG_GETSEBOOL is not set
# CONFIG_LOAD_POLICY is not set
# CONFIG_MATCHPATHCON is not set
# CONFIG_RESTORECON is not set


                                 Page 39 of 206
# CONFIG_RUNCON is not set
# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
# CONFIG_SELINUXENABLED is not set
# CONFIG_SETENFORCE is not set
# CONFIG_SETFILES is not set
# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
# CONFIG_SETSEBOOL is not set
# CONFIG_SESTATUS is not set
#
# Shells
#
# CONFIG_ASH is not set
# CONFIG_ASH_BASH_COMPAT is not set
# CONFIG_ASH_JOB_CONTROL is not set
# CONFIG_ASH_ALIAS is not set
# CONFIG_ASH_GETOPTS is not set
# CONFIG_ASH_BUILTIN_ECHO is not set
# CONFIG_ASH_BUILTIN_PRINTF is not set
# CONFIG_ASH_BUILTIN_TEST is not set
# CONFIG_ASH_CMDCMD is not set
# CONFIG_ASH_MAIL is not set
# CONFIG_ASH_OPTIMIZE_FOR_SIZE is not set
# CONFIG_ASH_RANDOM_SUPPORT is not set
# CONFIG_ASH_EXPAND_PRMT is not set
# CONFIG_CTTYHACK is not set
# CONFIG_HUSH is not set
# CONFIG_HUSH_BASH_COMPAT is not set
# CONFIG_HUSH_BRACE_EXPANSION is not set
# CONFIG_HUSH_HELP is not set
# CONFIG_HUSH_INTERACTIVE is not set
# CONFIG_HUSH_SAVEHISTORY is not set
# CONFIG_HUSH_JOB is not set
# CONFIG_HUSH_TICK is not set
# CONFIG_HUSH_IF is not set
# CONFIG_HUSH_LOOPS is not set
# CONFIG_HUSH_CASE is not set
# CONFIG_HUSH_FUNCTIONS is not set
# CONFIG_HUSH_LOCAL is not set
# CONFIG_HUSH_RANDOM_SUPPORT is not set
# CONFIG_HUSH_EXPORT_N is not set
# CONFIG_HUSH_MODE_X is not set
# CONFIG_MSH is not set
# CONFIG_FEATURE_SH_IS_ASH is not set
# CONFIG_FEATURE_SH_IS_HUSH is not set
CONFIG_FEATURE_SH_IS_NONE=y
# CONFIG_FEATURE_BASH_IS_ASH is not set
# CONFIG_FEATURE_BASH_IS_HUSH is not set
CONFIG_FEATURE_BASH_IS_NONE=y
# CONFIG_SH_MATH_SUPPORT is not set
# CONFIG_SH_MATH_SUPPORT_64 is not set
# CONFIG_FEATURE_SH_EXTRA_QUIET is not set
# CONFIG_FEATURE_SH_STANDALONE is not set


                                 Page 40 of 206
# CONFIG_FEATURE_SH_NOFORK is not set
#
# System Logging Utilities
#
CONFIG_SYSLOGD=y
CONFIG_FEATURE_ROTATE_LOGFILE=y
# CONFIG_FEATURE_REMOTE_LOG is not set
# CONFIG_FEATURE_SYSLOGD_DUP is not set
CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
# CONFIG_FEATURE_IPC_SYSLOG is not set
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
# CONFIG_LOGREAD is not set
# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
CONFIG_KLOGD=y
CONFIG_FEATURE_KLOGD_KLOGCTL=y
CONFIG_LOGGER=y

Kernel Configuration file for bz38.6 – 2.6.38.6
#
# Automatically generated make config: don't edit
# Linux/i386 2.6.38.6 Kernel Configuration
# Tue May 10 09:41:20 2011
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf32-i386"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
# CONFIG_NEED_DMA_MAP_STATE is not set
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_GPIO=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
# CONFIG_GENERIC_TIME_VSYSCALL is not set

                                    Page 41 of 206
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_ZONE_DMA32 is not set
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_AUDIT_ARCH is not set
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_X86_32_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_X86_32_LAZY_GS=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
CONFIG_KTIME_SCALAR=y
CONFIG_ARCH_CPU_PROBE_RELEASE=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y
#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
# CONFIG_KERNEL_GZIP is not set
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
CONFIG_KERNEL_XZ=y
# CONFIG_KERNEL_LZO is not set
# CONFIG_SWAP is not set
# CONFIG_SYSVIPC is not set
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set
CONFIG_HAVE_GENERIC_HARDIRQS=y
#


                                    Page 42 of 206
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
# CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED is not set
CONFIG_HAVE_SPARSE_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
# CONFIG_AUTO_IRQ_AFFINITY is not set
# CONFIG_IRQ_PER_CPU is not set
# CONFIG_HARDIRQS_SW_RESEND is not set
# CONFIG_SPARSE_IRQ is not set
#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_FANOUT=32
# CONFIG_RCU_FANOUT_EXACT is not set
# CONFIG_RCU_FAST_NO_HZ is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
# CONFIG_CGROUPS is not set
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
# CONFIG_USER_NS is not set
# CONFIG_PID_NS is not set
# CONFIG_NET_NS is not set
# CONFIG_SCHED_AUTOGROUP is not set
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
# CONFIG_EXPERT is not set
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y


                                Page 43 of 206
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_HAVE_PERF_EVENTS=y
#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
CONFIG_PERF_COUNTERS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
# CONFIG_COMPAT_BRK is not set
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
# CONFIG_JUMP_LABEL is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set


                                Page 44 of 206
# CONFIG_MODULE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_LBDAF=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_INTEGRITY is not set
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
# CONFIG_INLINE_SPIN_UNLOCK is not set
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
# CONFIG_INLINE_READ_UNLOCK is not set
# CONFIG_INLINE_READ_UNLOCK_BH is not set
# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
# CONFIG_INLINE_WRITE_UNLOCK is not set
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_FREEZER=y
#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y


                                 Page 45 of 206
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y
CONFIG_X86_MPPARSE=y
# CONFIG_X86_BIGSMP is not set
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_MRST is not set
# CONFIG_X86_RDC321X is not set
# CONFIG_X86_32_NON_STANDARD is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_X86_32_IRIS is not set
CONFIG_SCHED_OMIT_FRAME_POINTER=y
# CONFIG_PARAVIRT_GUEST is not set
CONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
CONFIG_M586=y
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_X86_GENERIC=y
CONFIG_X86_CPU=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_CMPXCHG=y
CONFIG_CMPXCHG_LOCAL=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_XADD=y
CONFIG_X86_PPRO_FENCE=y
CONFIG_X86_F00F_BUG=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y


                                Page 46 of 206
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_ALIGNMENT_16=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_MINIMUM_CPU_FAMILY=4
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_CYRIX_32=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_CPU_SUP_TRANSMETA_32=y
CONFIG_CPU_SUP_UMC_32=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
# CONFIG_IOMMU_HELPER is not set
# CONFIG_IOMMU_API is not set
CONFIG_NR_CPUS=8
# CONFIG_SCHED_SMT is not set
CONFIG_SCHED_MC=y
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
# CONFIG_X86_ANCIENT_MCE is not set
CONFIG_X86_MCE_THRESHOLD=y
# CONFIG_X86_MCE_INJECT is not set
CONFIG_X86_THERMAL_VECTOR=y
CONFIG_VM86=y
CONFIG_TOSHIBA=y
CONFIG_I8K=y
# CONFIG_X86_REBOOTFIXUPS is not set
CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y


                                Page 47 of 206
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ILLEGAL_POINTER_VALUE=0
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=999999
# CONFIG_COMPACTION is not set
# CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_MEMORY_FAILURE is not set
# CONFIG_TRANSPARENT_HUGEPAGE is not set
CONFIG_HIGHPTE=y
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_X86_RESERVE_LOW=64
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
# CONFIG_MTRR_SANITIZER is not set
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
# CONFIG_EFI is not set
# CONFIG_SECCOMP is not set
# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_SCHED_HRTICK=y
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x100000
CONFIG_HOTPLUG_CPU=y
# CONFIG_COMPAT_VDSO is not set
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
#
# Power management and ACPI options
#
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set


                                 Page 48 of 206
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_SLEEP=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
# CONFIG_PM_RUNTIME is not set
CONFIG_PM_OPS=y
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_PROCFS_POWER=y
# CONFIG_ACPI_POWER_METER is not set
# CONFIG_ACPI_EC_DEBUGFS is not set
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
# CONFIG_ACPI_BUTTON is not set
# CONFIG_ACPI_FAN is not set
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=1999
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y
# CONFIG_ACPI_SBS is not set
# CONFIG_ACPI_HED is not set
# CONFIG_ACPI_APEI is not set
# CONFIG_SFI is not set
# CONFIG_APM is not set
#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
CONFIG_CPU_FREQ_DEBUG=y
CONFIG_CPU_FREQ_STAT=y
# CONFIG_CPU_FREQ_STAT_DETAILS is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
#
# CPUFreq processor drivers


                                Page 49 of 206
#
# CONFIG_X86_PCC_CPUFREQ is not set
# CONFIG_X86_ACPI_CPUFREQ is not set
# CONFIG_X86_POWERNOW_K6 is not set
# CONFIG_X86_POWERNOW_K7 is not set
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_GX_SUSPMOD is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_SPEEDSTEP_ICH is not set
# CONFIG_X86_SPEEDSTEP_SMI is not set
# CONFIG_X86_P4_CLOCKMOD is not set
# CONFIG_X86_CPUFREQ_NFORCE2 is not set
# CONFIG_X86_LONGRUN is not set
# CONFIG_X86_LONGHAUL is not set
# CONFIG_X86_E_POWERSAVER is not set
#
# shared options
#
# CONFIG_X86_SPEEDSTEP_LIB is not set
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
CONFIG_INTEL_IDLE=y

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
# CONFIG_PCI_GOOLPC is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_OLPC=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_DMAR is not set
CONFIG_PCIEPORTBUS=y
CONFIG_PCIEAER=y
# CONFIG_PCIE_ECRC is not set
# CONFIG_PCIEAER_INJECT is not set
CONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
CONFIG_PCI_DEBUG=y
# CONFIG_PCI_STUB is not set
CONFIG_HT_IRQ=y
# CONFIG_PCI_IOV is not set


                                   Page 50 of 206
CONFIG_PCI_IOAPIC=y
CONFIG_ISA_DMA_API=y
CONFIG_ISA=y
CONFIG_EISA=y
CONFIG_EISA_VLB_PRIMING=y
CONFIG_EISA_PCI_EISA=y
CONFIG_EISA_VIRTUAL_ROOT=y
CONFIG_EISA_NAMES=y
CONFIG_MCA=y
# CONFIG_MCA_LEGACY is not set
# CONFIG_SCx200 is not set
CONFIG_OLPC=y
CONFIG_OLPC_OPENFIRMWARE=y
CONFIG_AMD_NB=y
CONFIG_PCCARD=y
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_CARDBUS=y
#
# PC-card bridges
#
CONFIG_YENTA=y
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
CONFIG_PD6729=y
CONFIG_I82092=y
# CONFIG_I82365 is not set
# CONFIG_TCIC is not set
CONFIG_PCMCIA_PROBE=y
CONFIG_PCCARD_NONSTATIC=y
# CONFIG_HOTPLUG_PCI is not set
#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_HAVE_AOUT=y
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_MISC=y
CONFIG_HAVE_ATOMIC_IOMAP=y
CONFIG_HAVE_TEXT_POKE_SMP=y
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM=y


                                Page 51 of 206
CONFIG_XFRM_USER=y
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
# CONFIG_XFRM_STATISTICS is not set
CONFIG_NET_KEY=y
# CONFIG_NET_KEY_MIGRATE is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_ASK_IP_FIB_HASH=y
# CONFIG_IP_FIB_TRIE is not set
CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE_DEMUX is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
# CONFIG_INET_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
CONFIG_INET_LRO=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
# CONFIG_IPV6 is not set
# CONFIG_NETLABEL is not set
# CONFIG_NETWORK_SECMARK is not set
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
# CONFIG_NETFILTER is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_RDS is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
CONFIG_L2TP=y
# CONFIG_L2TP_DEBUGFS is not set
# CONFIG_L2TP_V3 is not set
# CONFIG_BRIDGE is not set
# CONFIG_NET_DSA is not set
# CONFIG_VLAN_8021Q is not set


                                 Page 52 of 206
# CONFIG_DECNET is not set
CONFIG_LLC=y
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_PHONET is not set
# CONFIG_IEEE802154 is not set
# CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
CONFIG_DNS_RESOLVER=y
# CONFIG_BATMAN_ADV is not set
CONFIG_RPS=y
CONFIG_XPS=y
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_SPY=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=y
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_REG_DEBUG is not set
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEBUGFS is not set
# CONFIG_CFG80211_INTERNAL_REGDB is not set
CONFIG_CFG80211_WEXT=y
CONFIG_WIRELESS_EXT_SYSFS=y
CONFIG_LIB80211=y
CONFIG_LIB80211_CRYPT_WEP=y
CONFIG_LIB80211_CRYPT_CCMP=y
CONFIG_LIB80211_CRYPT_TKIP=y
# CONFIG_LIB80211_DEBUG is not set
# CONFIG_MAC80211 is not set
#
# Some wireless drivers require a rate control algorithm
#
CONFIG_WIMAX=y


                                       Page 53 of 206
CONFIG_WIMAX_DEBUG_LEVEL=8
CONFIG_RFKILL=y
CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
# CONFIG_NET_9P is not set
# CONFIG_CAIF is not set
# CONFIG_CEPH_LIB is not set
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_DEVTMPFS is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_DEBUG_DRIVER=y
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_CONNECTOR is not set
# CONFIG_MTD is not set
CONFIG_OF=y
#
# Device Tree and Open Firmware support
#
# CONFIG_PROC_DEVICETREE is not set
CONFIG_OF_ADDRESS=y
CONFIG_OF_IRQ=y
CONFIG_OF_DEVICE=y
CONFIG_OF_GPIO=y
CONFIG_OF_I2C=y
CONFIG_OF_NET=y
CONFIG_OF_MDIO=y
# CONFIG_PARPORT is not set
CONFIG_PNP=y
CONFIG_PNP_DEBUG_MESSAGES=y
#
# Protocols
#
CONFIG_ISAPNP=y
# CONFIG_PNPBIOS is not set
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_XD is not set
CONFIG_BLK_CPQ_DA=y
CONFIG_BLK_CPQ_CISS_DA=y
CONFIG_CISS_SCSI_TAPE=y


                                 Page 54 of 206
CONFIG_BLK_DEV_DAC960=y
CONFIG_BLK_DEV_UMEM=y
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_CRYPTOLOOP=y
#
# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
#
CONFIG_BLK_DEV_NBD=y
CONFIG_BLK_DEV_SX8=y
CONFIG_BLK_DEV_UB=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=16384
# CONFIG_BLK_DEV_XIP is not set
# CONFIG_CDROM_PKTCDVD is not set
CONFIG_ATA_OVER_ETH=y
# CONFIG_BLK_DEV_HD is not set
# CONFIG_BLK_DEV_RBD is not set
CONFIG_MISC_DEVICES=y
# CONFIG_AD525X_DPOT is not set
CONFIG_IBM_ASM=y
# CONFIG_PHANTOM is not set
# CONFIG_SGI_IOC4 is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_ICS932S401 is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_CS5535_MFGPT is not set
# CONFIG_HP_ILO is not set
# CONFIG_APDS9802ALS is not set
# CONFIG_ISL29003 is not set
# CONFIG_ISL29020 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_BH1780 is not set
# CONFIG_SENSORS_BH1770 is not set
# CONFIG_SENSORS_APDS990X is not set
# CONFIG_HMC6352 is not set
# CONFIG_DS1682 is not set
# CONFIG_VMWARE_BALLOON is not set
# CONFIG_BMP085 is not set
# CONFIG_PCH_PHUB is not set
# CONFIG_C2PORT is not set
#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_LEGACY is not set
# CONFIG_EEPROM_MAX6875 is not set
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_CB710_CORE is not set
#
# Texas Instruments shared transport line discipline


                                    Page 55 of 206
#
# CONFIG_TI_ST is not set
CONFIG_HAVE_IDE=y
CONFIG_IDE=y
#
# Please see Documentation/ide/ide.txt for help/info on IDE drives
#
CONFIG_IDE_XFER_MODE=y
CONFIG_IDE_TIMINGS=y
CONFIG_IDE_ATAPI=y
CONFIG_IDE_LEGACY=y
# CONFIG_BLK_DEV_IDE_SATA is not set
CONFIG_IDE_GD=y
CONFIG_IDE_GD_ATA=y
# CONFIG_IDE_GD_ATAPI is not set
CONFIG_BLK_DEV_IDECS=y
CONFIG_BLK_DEV_DELKIN=y
CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEACPI is not set
CONFIG_IDE_TASK_IOCTL=y
CONFIG_IDE_PROC_FS=y
#
# IDE chipset support/bugfixes
#
# CONFIG_IDE_GENERIC is not set
# CONFIG_BLK_DEV_PLATFORM is not set
CONFIG_BLK_DEV_CMD640=y
CONFIG_BLK_DEV_CMD640_ENHANCED=y
CONFIG_BLK_DEV_IDEPNP=y
CONFIG_BLK_DEV_IDEDMA_SFF=y
#
# PCI IDE chipsets support
#
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_PCIBUS_ORDER=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
CONFIG_BLK_DEV_RZ1000=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_BLK_DEV_AEC62XX=y
CONFIG_BLK_DEV_ALI15X3=y
CONFIG_BLK_DEV_AMD74XX=y
CONFIG_BLK_DEV_ATIIXP=y
CONFIG_BLK_DEV_CMD64X=y
CONFIG_BLK_DEV_TRIFLEX=y
# CONFIG_BLK_DEV_CS5520 is not set
CONFIG_BLK_DEV_CS5530=y
CONFIG_BLK_DEV_CS5535=y
CONFIG_BLK_DEV_CS5536=y


                                           Page 56 of 206
CONFIG_BLK_DEV_HPT366=y
CONFIG_BLK_DEV_JMICRON=y
CONFIG_BLK_DEV_SC1200=y
CONFIG_BLK_DEV_PIIX=y
CONFIG_BLK_DEV_IT8172=y
CONFIG_BLK_DEV_IT8213=y
CONFIG_BLK_DEV_IT821X=y
CONFIG_BLK_DEV_NS87415=y
CONFIG_BLK_DEV_PDC202XX_OLD=y
CONFIG_BLK_DEV_PDC202XX_NEW=y
CONFIG_BLK_DEV_SVWKS=y
CONFIG_BLK_DEV_SIIMAGE=y
CONFIG_BLK_DEV_SIS5513=y
CONFIG_BLK_DEV_SLC90E66=y
CONFIG_BLK_DEV_TRM290=y
CONFIG_BLK_DEV_VIA82CXXX=y
CONFIG_BLK_DEV_TC86C001=y
#
# Other IDE chipsets support
#
#
# Note: most of these also require special kernel boot parameters
#
CONFIG_BLK_DEV_4DRIVES=y
CONFIG_BLK_DEV_ALI14XX=y
CONFIG_BLK_DEV_DTC2278=y
CONFIG_BLK_DEV_HT6560B=y
CONFIG_BLK_DEV_QD65XX=y
CONFIG_BLK_DEV_UMC8672=y
CONFIG_BLK_DEV_IDEDMA=y
#
# SCSI device support
#
CONFIG_SCSI_MOD=y
CONFIG_RAID_ATTRS=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
# CONFIG_SCSI_TGT is not set
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_SCH=y
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y


                                           Page 57 of 206
CONFIG_SCSI_LOGGING=y
# CONFIG_SCSI_SCAN_ASYNC is not set
CONFIG_SCSI_WAIT_SCAN=m
#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=y
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_SCSI_SAS_LIBSAS=y
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_HOST_SMP=y
CONFIG_SCSI_SAS_LIBSAS_DEBUG=y
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
CONFIG_ISCSI_TCP=y
# CONFIG_ISCSI_BOOT_SYSFS is not set
CONFIG_SCSI_CXGB3_ISCSI=y
CONFIG_SCSI_CXGB4_ISCSI=y
CONFIG_SCSI_BNX2_ISCSI=y
# CONFIG_BE2ISCSI is not set
CONFIG_BLK_DEV_3W_XXXX_RAID=y
CONFIG_SCSI_HPSA=y
CONFIG_SCSI_3W_9XXX=y
CONFIG_SCSI_3W_SAS=y
CONFIG_SCSI_7000FASST=y
CONFIG_SCSI_ACARD=y
CONFIG_SCSI_AHA152X=y
CONFIG_SCSI_AHA1542=y
CONFIG_SCSI_AHA1740=y
CONFIG_SCSI_AACRAID=y
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
CONFIG_AIC7XXX_RESET_DELAY_MS=15000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
CONFIG_SCSI_AIC7XXX_OLD=y
CONFIG_SCSI_AIC79XX=y
CONFIG_AIC79XX_CMDS_PER_DEVICE=4
CONFIG_AIC79XX_RESET_DELAY_MS=15000
# CONFIG_AIC79XX_DEBUG_ENABLE is not set
CONFIG_AIC79XX_DEBUG_MASK=0
# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
CONFIG_SCSI_AIC94XX=y
CONFIG_AIC94XX_DEBUG=y
# CONFIG_SCSI_MVSAS is not set
CONFIG_SCSI_DPT_I2O=y
CONFIG_SCSI_ADVANSYS=y
CONFIG_SCSI_IN2000=y
CONFIG_SCSI_ARCMSR=y


                                  Page 58 of 206
# CONFIG_SCSI_ARCMSR_AER is not set
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_MM=y
CONFIG_MEGARAID_MAILBOX=y
CONFIG_MEGARAID_LEGACY=y
CONFIG_MEGARAID_SAS=y
CONFIG_SCSI_MPT2SAS=y
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
# CONFIG_SCSI_MPT2SAS_LOGGING is not set
CONFIG_SCSI_HPTIOP=y
CONFIG_SCSI_BUSLOGIC=y
CONFIG_SCSI_FLASHPOINT=y
CONFIG_VMWARE_PVSCSI=y
CONFIG_LIBFC=y
CONFIG_LIBFCOE=y
CONFIG_FCOE=y
# CONFIG_FCOE_FNIC is not set
CONFIG_SCSI_DMX3191D=y
CONFIG_SCSI_DTC3280=y
CONFIG_SCSI_EATA=y
# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
CONFIG_SCSI_EATA_MAX_TAGS=16
CONFIG_SCSI_FUTURE_DOMAIN=y
CONFIG_SCSI_GDTH=y
CONFIG_SCSI_GENERIC_NCR5380=y
CONFIG_SCSI_GENERIC_NCR5380_MMIO=y
CONFIG_SCSI_GENERIC_NCR53C400=y
CONFIG_SCSI_IBMMCA=y
# CONFIG_IBMMCA_SCSI_ORDER_STANDARD is not set
# CONFIG_IBMMCA_SCSI_DEV_RESET is not set
CONFIG_SCSI_IPS=y
CONFIG_SCSI_INITIO=y
CONFIG_SCSI_INIA100=y
CONFIG_SCSI_NCR53C406A=y
CONFIG_SCSI_NCR_D700=y
CONFIG_SCSI_STEX=y
CONFIG_SCSI_SYM53C8XX_2=y
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
CONFIG_SCSI_SYM53C8XX_MMIO=y
CONFIG_SCSI_IPR=y
CONFIG_SCSI_IPR_TRACE=y
CONFIG_SCSI_IPR_DUMP=y
CONFIG_SCSI_NCR_Q720=y
CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS=8
CONFIG_SCSI_NCR53C8XX_MAX_TAGS=32
CONFIG_SCSI_NCR53C8XX_SYNC=20
CONFIG_SCSI_PAS16=y
CONFIG_SCSI_QLOGIC_FAS=y
CONFIG_SCSI_QLOGIC_1280=y


                               Page 59 of 206
CONFIG_SCSI_QLA_FC=y
CONFIG_SCSI_QLA_ISCSI=y
CONFIG_SCSI_LPFC=y
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
CONFIG_SCSI_SIM710=y
CONFIG_SCSI_SYM53C416=y
CONFIG_SCSI_DC395x=y
CONFIG_SCSI_DC390T=y
CONFIG_SCSI_T128=y
CONFIG_SCSI_U14_34F=y
# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set
CONFIG_SCSI_U14_34F_MAX_TAGS=8
CONFIG_SCSI_ULTRASTOR=y
CONFIG_SCSI_NSP32=y
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_PMCRAID is not set
CONFIG_SCSI_PM8001=y
# CONFIG_SCSI_SRP is not set
# CONFIG_SCSI_BFA_FC is not set
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
# CONFIG_SCSI_DH is not set
# CONFIG_SCSI_OSD_INITIATOR is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y
#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=y
CONFIG_SATA_AHCI_PLATFORM=y
# CONFIG_SATA_INIC162X is not set
CONFIG_SATA_ACARD_AHCI=y
CONFIG_SATA_SIL24=y
CONFIG_ATA_SFF=y
#
# SFF controllers with custom DMA interface
#
CONFIG_PDC_ADMA=y
CONFIG_SATA_QSTOR=y
CONFIG_SATA_SX4=y
CONFIG_ATA_BMDMA=y
#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=y
CONFIG_SATA_MV=y
CONFIG_SATA_NV=y
CONFIG_SATA_PROMISE=y
CONFIG_SATA_SIL=y


                                 Page 60 of 206
CONFIG_SATA_SIS=y
CONFIG_SATA_SVW=y
CONFIG_SATA_ULI=y
CONFIG_SATA_VIA=y
CONFIG_SATA_VITESSE=y
#
# PATA SFF controllers with BMDMA
#
CONFIG_PATA_ALI=y
CONFIG_PATA_AMD=y
CONFIG_PATA_ARTOP=y
CONFIG_PATA_ATIIXP=y
# CONFIG_PATA_ATP867X is not set
CONFIG_PATA_CMD64X=y
CONFIG_PATA_CS5520=y
CONFIG_PATA_CS5530=y
CONFIG_PATA_CS5535=y
# CONFIG_PATA_CS5536 is not set
CONFIG_PATA_CYPRESS=y
CONFIG_PATA_EFAR=y
CONFIG_PATA_HPT366=y
CONFIG_PATA_HPT37X=y
CONFIG_PATA_HPT3X2N=y
CONFIG_PATA_HPT3X3=y
# CONFIG_PATA_HPT3X3_DMA is not set
# CONFIG_PATA_IT8213 is not set
CONFIG_PATA_IT821X=y
CONFIG_PATA_JMICRON=y
CONFIG_PATA_MARVELL=y
CONFIG_PATA_NETCELL=y
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87415 is not set
CONFIG_PATA_OLDPIIX=y
CONFIG_PATA_OPTIDMA=y
CONFIG_PATA_PDC2027X=y
CONFIG_PATA_PDC_OLD=y
CONFIG_PATA_RADISYS=y
# CONFIG_PATA_RDC is not set
CONFIG_PATA_SC1200=y
CONFIG_PATA_SCH=y
CONFIG_PATA_SERVERWORKS=y
CONFIG_PATA_SIL680=y
CONFIG_PATA_SIS=y
# CONFIG_PATA_TOSHIBA is not set
CONFIG_PATA_TRIFLEX=y
CONFIG_PATA_VIA=y
CONFIG_PATA_WINBOND=y
#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
CONFIG_PATA_ISAPNP=y


                                  Page 61 of 206
CONFIG_PATA_MPIIX=y
CONFIG_PATA_NS87410=y
CONFIG_PATA_OPTI=y
CONFIG_PATA_PCMCIA=y
CONFIG_PATA_QDI=y
CONFIG_PATA_RZ1000=y
CONFIG_PATA_WINBOND_VLB=y
#
# Generic fallback / legacy drivers
#
# CONFIG_PATA_ACPI is not set
CONFIG_ATA_GENERIC=y
CONFIG_PATA_LEGACY=y
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_AUTODETECT=y
CONFIG_MD_LINEAR=y
CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y
CONFIG_MD_RAID10=y
CONFIG_MD_RAID456=y
# CONFIG_MULTICORE_RAID456 is not set
CONFIG_MD_MULTIPATH=y
CONFIG_MD_FAULTY=y
CONFIG_BLK_DEV_DM=y
# CONFIG_DM_DEBUG is not set
CONFIG_DM_CRYPT=y
# CONFIG_DM_SNAPSHOT is not set
# CONFIG_DM_MIRROR is not set
# CONFIG_DM_RAID is not set
# CONFIG_DM_ZERO is not set
# CONFIG_DM_MULTIPATH is not set
# CONFIG_DM_DELAY is not set
# CONFIG_DM_UEVENT is not set
# CONFIG_TARGET_CORE is not set
CONFIG_FUSION=y
CONFIG_FUSION_SPI=y
CONFIG_FUSION_FC=y
CONFIG_FUSION_SAS=y
CONFIG_FUSION_MAX_SGE=40
CONFIG_FUSION_CTL=y
CONFIG_FUSION_LAN=y
# CONFIG_FUSION_LOGGING is not set
#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_FIREWIRE_NOSY is not set
CONFIG_I2O=y
# CONFIG_I2O_LCT_NOTIFY_ON_CHANGES is not set
CONFIG_I2O_EXT_ADAPTEC=y
CONFIG_I2O_CONFIG=y


                                 Page 62 of 206
CONFIG_I2O_CONFIG_OLD_IOCTL=y
CONFIG_I2O_BUS=y
CONFIG_I2O_BLOCK=y
CONFIG_I2O_SCSI=y
CONFIG_I2O_PROC=y
CONFIG_MACINTOSH_DRIVERS=y
# CONFIG_MAC_EMUMOUSEBTN is not set
CONFIG_NETDEVICES=y
CONFIG_DUMMY=y
# CONFIG_BONDING is not set
# CONFIG_MACVLAN is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_VETH is not set
CONFIG_NET_SB1000=y
# CONFIG_ARCNET is not set
CONFIG_MII=y
CONFIG_PHYLIB=y
#
# MII PHY device drivers
#
CONFIG_MARVELL_PHY=y
CONFIG_DAVICOM_PHY=y
CONFIG_QSEMI_PHY=y
CONFIG_LXT_PHY=y
CONFIG_CICADA_PHY=y
CONFIG_VITESSE_PHY=y
CONFIG_SMSC_PHY=y
CONFIG_BROADCOM_PHY=y
CONFIG_BCM63XX_PHY=y
# CONFIG_ICPLUS_PHY is not set
# CONFIG_REALTEK_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_MICREL_PHY is not set
CONFIG_FIXED_PHY=y
# CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y
CONFIG_HAPPYMEAL=y
CONFIG_SUNGEM=y
CONFIG_CASSINI=y
CONFIG_NET_VENDOR_3COM=y
CONFIG_EL1=y
CONFIG_EL2=y
CONFIG_ELPLUS=y
CONFIG_EL16=y
CONFIG_EL3=y
CONFIG_3C515=y
CONFIG_VORTEX=y
CONFIG_TYPHOON=y
CONFIG_LANCE=y


                                 Page 63 of 206
CONFIG_NET_VENDOR_SMC=y
CONFIG_WD80x3=y
CONFIG_ULTRAMCA=y
CONFIG_ULTRA=y
CONFIG_ULTRA32=y
CONFIG_SMC9194=y
# CONFIG_ETHOC is not set
CONFIG_NET_VENDOR_RACAL=y
CONFIG_NI52=y
CONFIG_NI65=y
# CONFIG_DNET is not set
CONFIG_NET_TULIP=y
CONFIG_DE2104X=y
CONFIG_DE2104X_DSL=0
CONFIG_TULIP=y
# CONFIG_TULIP_MWI is not set
CONFIG_TULIP_MMIO=y
# CONFIG_TULIP_NAPI is not set
CONFIG_DE4X5=y
CONFIG_WINBOND_840=y
CONFIG_DM9102=y
CONFIG_ULI526X=y
CONFIG_PCMCIA_XIRCOM=y
CONFIG_AT1700=y
CONFIG_DEPCA=y
CONFIG_HP100=y
CONFIG_NET_ISA=y
CONFIG_E2100=y
CONFIG_EWRK3=y
CONFIG_EEXPRESS=y
CONFIG_EEXPRESS_PRO=y
CONFIG_HPLAN_PLUS=y
CONFIG_HPLAN=y
CONFIG_LP486E=y
CONFIG_ETH16I=y
CONFIG_NE2000=y
CONFIG_ZNET=y
CONFIG_SEEQ8005=y
# CONFIG_IBMLANA is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
CONFIG_NET_PCI=y
CONFIG_PCNET32=y
CONFIG_AMD8111_ETH=y
CONFIG_ADAPTEC_STARFIRE=y
CONFIG_AC3200=y
CONFIG_KSZ884X_PCI=y


                                 Page 64 of 206
CONFIG_APRICOT=y
CONFIG_B44=y
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
CONFIG_FORCEDETH=y
CONFIG_CS89x0=y
CONFIG_E100=y
# CONFIG_LNE390 is not set
CONFIG_FEALNX=y
CONFIG_NATSEMI=y
CONFIG_NE2K_PCI=y
# CONFIG_NE3210 is not set
# CONFIG_ES3210 is not set
CONFIG_8139CP=y
CONFIG_8139TOO=y
# CONFIG_8139TOO_PIO is not set
# CONFIG_8139TOO_TUNE_TWISTER is not set
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_R6040=y
CONFIG_SIS900=y
CONFIG_EPIC100=y
CONFIG_SMSC9420=y
CONFIG_SUNDANCE=y
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_TLAN=y
CONFIG_KS8851_MLL=y
CONFIG_VIA_RHINE=y
CONFIG_VIA_RHINE_MMIO=y
CONFIG_SC92031=y
CONFIG_ATL2=y
CONFIG_NETDEV_1000=y
CONFIG_ACENIC=y
# CONFIG_ACENIC_OMIT_TIGON_I is not set
CONFIG_DL2K=y
CONFIG_E1000=y
CONFIG_E1000E=y
CONFIG_IP1000=y
CONFIG_IGB=y
CONFIG_IGBVF=y
CONFIG_NS83820=y
CONFIG_HAMACHI=y
CONFIG_YELLOWFIN=y
CONFIG_R8169=y
CONFIG_SIS190=y
CONFIG_SKGE=y
# CONFIG_SKGE_DEBUG is not set
CONFIG_SKY2=y
# CONFIG_SKY2_DEBUG is not set
CONFIG_VIA_VELOCITY=y
CONFIG_TIGON3=y


                                  Page 65 of 206
CONFIG_BNX2=y
CONFIG_CNIC=y
CONFIG_QLA3XXX=y
CONFIG_ATL1=y
CONFIG_ATL1E=y
CONFIG_ATL1C=y
CONFIG_JME=y
CONFIG_STMMAC_ETH=y
# CONFIG_STMMAC_DA is not set
# CONFIG_STMMAC_DUAL_MAC is not set
CONFIG_PCH_GBE=y
CONFIG_NETDEV_10000=y
CONFIG_MDIO=y
CONFIG_CHELSIO_T1=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T3_DEPENDS=y
CONFIG_CHELSIO_T3=y
CONFIG_CHELSIO_T4_DEPENDS=y
CONFIG_CHELSIO_T4=y
CONFIG_CHELSIO_T4VF_DEPENDS=y
# CONFIG_CHELSIO_T4VF is not set
CONFIG_ENIC=y
CONFIG_IXGBE=y
CONFIG_IXGBEVF=y
CONFIG_IXGB=y
CONFIG_S2IO=y
CONFIG_VXGE=y
# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
CONFIG_MYRI10GE=y
CONFIG_NETXEN_NIC=y
CONFIG_NIU=y
CONFIG_MLX4_EN=y
CONFIG_MLX4_CORE=y
CONFIG_MLX4_DEBUG=y
CONFIG_TEHUTI=y
CONFIG_BNX2X=y
CONFIG_QLCNIC=y
CONFIG_QLGE=y
CONFIG_BNA=y
CONFIG_SFC=y
CONFIG_BE2NET=y
CONFIG_TR=y
CONFIG_IBMTR=y
CONFIG_IBMOL=y
CONFIG_IBMLS=y
CONFIG_3C359=y
CONFIG_TMS380TR=y
CONFIG_TMSPCI=y
CONFIG_SKISA=y
CONFIG_PROTEON=y
CONFIG_ABYSS=y
# CONFIG_MADGEMC is not set


                                 Page 66 of 206
CONFIG_SMCTR=y
CONFIG_WLAN=y
CONFIG_PCMCIA_RAYCS=y
CONFIG_AIRO=y
CONFIG_ATMEL=y
CONFIG_PCI_ATMEL=y
CONFIG_PCMCIA_ATMEL=y
CONFIG_AIRO_CS=y
CONFIG_PCMCIA_WL3501=y
CONFIG_PRISM54=y
# CONFIG_USB_ZD1201 is not set
# CONFIG_USB_NET_RNDIS_WLAN is not set
CONFIG_ATH_COMMON=y
# CONFIG_ATH_DEBUG is not set
CONFIG_ATH5K_PCI=y
CONFIG_HOSTAP=y
# CONFIG_HOSTAP_FIRMWARE is not set
# CONFIG_HOSTAP_PLX is not set
# CONFIG_HOSTAP_PCI is not set
# CONFIG_HOSTAP_CS is not set
# CONFIG_IPW2100 is not set
CONFIG_IPW2200=y
# CONFIG_IPW2200_MONITOR is not set
# CONFIG_IPW2200_QOS is not set
# CONFIG_IPW2200_DEBUG is not set
CONFIG_LIBIPW=y
# CONFIG_LIBIPW_DEBUG is not set
CONFIG_LIBERTAS=y
CONFIG_LIBERTAS_USB=y
CONFIG_LIBERTAS_CS=y
# CONFIG_LIBERTAS_DEBUG is not set
# CONFIG_LIBERTAS_MESH is not set
CONFIG_HERMES=y
CONFIG_HERMES_PRISM=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_PLX_HERMES=y
CONFIG_TMD_HERMES=y
CONFIG_NORTEL_HERMES=y
CONFIG_PCI_HERMES=y
CONFIG_PCMCIA_HERMES=y
CONFIG_PCMCIA_SPECTRUM=y
CONFIG_ORINOCO_USB=y
#
# WiMAX Wireless Broadband devices
#
#
# Enable MMC support to see WiMAX SDIO drivers
#
# CONFIG_WIMAX_I2400M_USB is not set
#
# USB Network Adapters
#


                                      Page 67 of 206
CONFIG_USB_CATC=y
CONFIG_USB_KAWETH=y
CONFIG_USB_PEGASUS=y
CONFIG_USB_RTL8150=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_CDCETHER=y
# CONFIG_USB_NET_CDC_EEM is not set
CONFIG_USB_NET_CDC_NCM=y
CONFIG_USB_NET_DM9601=y
CONFIG_USB_NET_SMSC75XX=y
CONFIG_USB_NET_SMSC95XX=y
CONFIG_USB_NET_GL620A=y
CONFIG_USB_NET_NET1080=y
CONFIG_USB_NET_PLUSB=y
# CONFIG_USB_NET_MCS7830 is not set
CONFIG_USB_NET_RNDIS_HOST=y
CONFIG_USB_NET_CDC_SUBSET=y
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
CONFIG_USB_EPSON2888=y
# CONFIG_USB_KC2190 is not set
CONFIG_USB_NET_ZAURUS=y
CONFIG_USB_NET_CX82310_ETH=y
CONFIG_USB_HSO=y
# CONFIG_USB_NET_INT51X1 is not set
CONFIG_USB_IPHETH=y
CONFIG_USB_SIERRA_NET=y
CONFIG_NET_PCMCIA=y
CONFIG_PCMCIA_3C589=y
CONFIG_PCMCIA_3C574=y
CONFIG_PCMCIA_FMVJ18X=y
CONFIG_PCMCIA_PCNET=y
CONFIG_PCMCIA_NMCLAN=y
CONFIG_PCMCIA_SMC91C92=y
CONFIG_PCMCIA_XIRC2PS=y
CONFIG_PCMCIA_AXNET=y
# CONFIG_WAN is not set
#
# CAIF transport drivers
#
CONFIG_FDDI=y
# CONFIG_DEFXX is not set
CONFIG_SKFP=y
# CONFIG_HIPPI is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
CONFIG_NET_FC=y
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set


                                  Page 68 of 206
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_VMXNET3 is not set
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set
#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
CONFIG_INPUT_POLLDEV=y
CONFIG_INPUT_SPARSEKMAP=y
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_GPIO is not set
# CONFIG_KEYBOARD_GPIO_POLLED is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_SENTELIC is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
# CONFIG_MOUSE_PS2_OLPC is not set


                                 Page 69 of 206
CONFIG_MOUSE_SERIAL=y
# CONFIG_MOUSE_APPLETOUCH is not set
# CONFIG_MOUSE_BCM5974 is not set
# CONFIG_MOUSE_INPORT is not set
# CONFIG_MOUSE_LOGIBM is not set
# CONFIG_MOUSE_PC110PAD is not set
CONFIG_MOUSE_VSXXXAA=y
# CONFIG_MOUSE_GPIO is not set
# CONFIG_MOUSE_SYNAPTICS_I2C is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_AD7879 is not set
# CONFIG_TOUCHSCREEN_BU21013 is not set
# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
# CONFIG_TOUCHSCREEN_DYNAPRO is not set
# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
# CONFIG_TOUCHSCREEN_EETI is not set
# CONFIG_TOUCHSCREEN_FUJITSU is not set
CONFIG_TOUCHSCREEN_GUNZE=y
CONFIG_TOUCHSCREEN_ELO=y
# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
CONFIG_TOUCHSCREEN_MTOUCH=y
# CONFIG_TOUCHSCREEN_INEXIO is not set
CONFIG_TOUCHSCREEN_MK712=y
# CONFIG_TOUCHSCREEN_HTCPEN is not set
# CONFIG_TOUCHSCREEN_PENMOUNT is not set
# CONFIG_TOUCHSCREEN_QT602240 is not set
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
# CONFIG_TOUCHSCREEN_TSC2007 is not set
# CONFIG_TOUCHSCREEN_ST1232 is not set
# CONFIG_TOUCHSCREEN_TPS6507X is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_AD714X is not set
CONFIG_INPUT_PCSPKR=y
# CONFIG_INPUT_APANEL is not set
CONFIG_INPUT_WISTRON_BTNS=y
# CONFIG_INPUT_ATLAS_BTNS is not set
# CONFIG_INPUT_ATI_REMOTE is not set
# CONFIG_INPUT_ATI_REMOTE2 is not set
# CONFIG_INPUT_KEYSPAN_REMOTE is not set
# CONFIG_INPUT_POWERMATE is not set
# CONFIG_INPUT_YEALINK is not set
# CONFIG_INPUT_CM109 is not set
CONFIG_INPUT_UINPUT=y
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
# CONFIG_INPUT_ADXL34X is not set


                                Page 70 of 206
# CONFIG_INPUT_CMA3000 is not set
#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=y
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_GAMEPORT is not set
#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_DEVKMEM=y
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_N_GSM is not set
# CONFIG_NOZOMI is not set
#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CS=y
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_FOURPORT is not set
# CONFIG_SERIAL_8250_ACCENT is not set
# CONFIG_SERIAL_8250_BOCA is not set
# CONFIG_SERIAL_8250_EXAR_ST16C554 is not set
# CONFIG_SERIAL_8250_HUB6 is not set
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y
# CONFIG_SERIAL_8250_MCA is not set
#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MFD_HSU is not set


                                   Page 71 of 206
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_JSM=y
# CONFIG_SERIAL_OF_PLATFORM is not set
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
# CONFIG_LEGACY_PTYS is not set
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
CONFIG_HW_RANDOM_INTEL=y
CONFIG_HW_RANDOM_AMD=y
CONFIG_HW_RANDOM_GEODE=y
CONFIG_HW_RANDOM_VIA=y
CONFIG_NVRAM=y
CONFIG_RTC=y
CONFIG_DTLK=y
CONFIG_R3964=y
# CONFIG_APPLICOM is not set
CONFIG_SONYPI=y
#
# PCMCIA character devices
#
# CONFIG_SYNCLINK_CS is not set
CONFIG_CARDMAN_4000=y
CONFIG_CARDMAN_4040=y
# CONFIG_IPWIRELESS is not set
CONFIG_MWAVE=y
CONFIG_PC8736x_GPIO=y
CONFIG_NSC_GPIO=y
# CONFIG_RAW_DRIVER is not set
CONFIG_HPET=y
# CONFIG_HPET_MMAP is not set
CONFIG_HANGCHECK_TIMER=y
CONFIG_TCG_TPM=y
# CONFIG_TCG_TIS is not set
# CONFIG_TCG_NSC is not set
CONFIG_TCG_ATMEL=y
# CONFIG_TCG_INFINEON is not set
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
# CONFIG_RAMOOPS is not set
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
# CONFIG_I2C_CHARDEV is not set
# CONFIG_I2C_MUX is not set
CONFIG_I2C_HELPER_AUTO=y


                                  Page 72 of 206
CONFIG_I2C_ALGOBIT=y
#
# I2C Hardware Bus support
#
#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_ISCH is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set
#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_GPIO is not set
# CONFIG_I2C_INTEL_MID is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set
# CONFIG_I2C_EG20T is not set
#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set
#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_PCA_ISA is not set
# CONFIG_I2C_STUB is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_SPI is not set
#


                                         Page 73 of 206
# PPS support
#
# CONFIG_PPS is not set
#
# PPS generators support
#
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_GPIOLIB=y
# CONFIG_DEBUG_GPIO is not set
# CONFIG_GPIO_SYSFS is not set
#
# Memory mapped GPIO expanders:
#
# CONFIG_GPIO_BASIC_MMIO is not set
# CONFIG_GPIO_IT8761E is not set
# CONFIG_GPIO_SCH is not set
#
# I2C GPIO expanders:
#
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_ADP5588 is not set
#
# PCI GPIO expanders:
#
# CONFIG_GPIO_CS5535 is not set
# CONFIG_GPIO_BT8XX is not set
# CONFIG_GPIO_LANGWELL is not set
# CONFIG_GPIO_PCH is not set
# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_RDC321X is not set
#
# SPI GPIO expanders:
#
#
# AC97 GPIO expanders:
#
#
# MODULbus GPIO expanders:
#
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_OLPC is not set
# CONFIG_BATTERY_BQ20Z75 is not set
# CONFIG_BATTERY_BQ27x00 is not set


                                 Page 74 of 206
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_CHARGER_GPIO is not set
CONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
# CONFIG_HWMON_DEBUG_CHIP is not set
#
# Native drivers
#
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ADT7411 is not set
# CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_ASC7621 is not set
# CONFIG_SENSORS_K8TEMP is not set
# CONFIG_SENSORS_K10TEMP is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS620 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_FSCHMD is not set
# CONFIG_SENSORS_G760A is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_GPIO_FAN is not set
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_PKGTEMP is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_JC42 is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM73 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set


                                 Page 75 of 206
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_LTC4261 is not set
# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_SHT15 is not set
# CONFIG_SENSORS_SHT21 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_SMM665 is not set
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_EMC1403 is not set
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_AMC6821 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
# CONFIG_SENSORS_TMP401 is not set
# CONFIG_SENSORS_TMP421 is not set
# CONFIG_SENSORS_VIA_CPUTEMP is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83795 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83L786NG is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_LIS3_I2C is not set
# CONFIG_SENSORS_APPLESMC is not set
#
# ACPI drivers
#
# CONFIG_SENSORS_ATK0110 is not set
# CONFIG_SENSORS_LIS3LV02D is not set
CONFIG_THERMAL=y
# CONFIG_THERMAL_HWMON is not set
# CONFIG_WATCHDOG is not set
CONFIG_SSB_POSSIBLE=y


                                 Page 76 of 206
#
# Sonics Silicon Backplane
#
CONFIG_SSB=y
CONFIG_SSB_SPROM=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
# CONFIG_SSB_B43_PCI_BRIDGE is not set
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
# CONFIG_SSB_PCMCIAHOST is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
# CONFIG_MFD_SUPPORT is not set
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set
#
# Graphics support
#
# CONFIG_AGP is not set
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
# CONFIG_VGA_SWITCHEROO is not set
# CONFIG_DRM is not set
# CONFIG_STUB_POULSBO is not set
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
# CONFIG_FB is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
# CONFIG_LCD_PLATFORM is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=y
# CONFIG_BACKLIGHT_PROGEAR is not set
# CONFIG_BACKLIGHT_MBP_NVIDIA is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set
#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=y


                                Page 77 of 206
# CONFIG_HIDRAW is not set
#
# USB Input Devices
#
CONFIG_USB_HID=y
# CONFIG_HID_PID is not set
CONFIG_USB_HIDDEV=y
#
# Special HID drivers
#
# CONFIG_HID_3M_PCT is not set
CONFIG_HID_A4TECH=y
# CONFIG_HID_ACRUX is not set
CONFIG_HID_APPLE=y
CONFIG_HID_BELKIN=y
# CONFIG_HID_CANDO is not set
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
CONFIG_HID_CYPRESS=y
CONFIG_HID_DRAGONRISE=y
# CONFIG_DRAGONRISE_FF is not set
# CONFIG_HID_EMS_FF is not set
# CONFIG_HID_EGALAX is not set
CONFIG_HID_EZKEY=y
CONFIG_HID_KYE=y
# CONFIG_HID_UCLOGIC is not set
# CONFIG_HID_WALTOP is not set
CONFIG_HID_GYRATION=y
CONFIG_HID_TWINHAN=y
CONFIG_HID_KENSINGTON=y
CONFIG_HID_LOGITECH=y
# CONFIG_LOGITECH_FF is not set
# CONFIG_LOGIRUMBLEPAD2_FF is not set
# CONFIG_LOGIG940_FF is not set
# CONFIG_LOGIWII_FF is not set
CONFIG_HID_MICROSOFT=y
# CONFIG_HID_MOSART is not set
CONFIG_HID_MONTEREY=y
# CONFIG_HID_MULTITOUCH is not set
CONFIG_HID_NTRIG=y
CONFIG_HID_ORTEK=y
CONFIG_HID_PANTHERLORD=y
# CONFIG_PANTHERLORD_FF is not set
CONFIG_HID_PETALYNX=y
# CONFIG_HID_PICOLCD is not set
# CONFIG_HID_QUANTA is not set
# CONFIG_HID_ROCCAT is not set
# CONFIG_HID_ROCCAT_KONE is not set
# CONFIG_HID_ROCCAT_KONEPLUS is not set
# CONFIG_HID_ROCCAT_PYRA is not set
CONFIG_HID_SAMSUNG=y
CONFIG_HID_SONY=y


                                 Page 78 of 206
# CONFIG_HID_STANTUM is not set
CONFIG_HID_SUNPLUS=y
CONFIG_HID_GREENASIA=y
# CONFIG_GREENASIA_FF is not set
CONFIG_HID_SMARTJOYPLUS=y
# CONFIG_SMARTJOYPLUS_FF is not set
CONFIG_HID_TOPSEED=y
CONFIG_HID_THRUSTMASTER=y
# CONFIG_THRUSTMASTER_FF is not set
CONFIG_HID_ZEROPLUS=y
# CONFIG_ZEROPLUS_FF is not set
# CONFIG_HID_ZYDACRON is not set
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
CONFIG_USB_DEBUG=y
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_DEVICE_CLASS is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
CONFIG_USB_MON=y
# CONFIG_USB_WUSB is not set
# CONFIG_USB_WUSB_CBAF is not set
#
# USB Host Controller Drivers
#
CONFIG_USB_C67X00_HCD=y
CONFIG_USB_XHCI_HCD=y
# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
# CONFIG_USB_EHCI_TT_NEWSCHED is not set
CONFIG_USB_OXU210HP_HCD=y
CONFIG_USB_ISP116X_HCD=y
CONFIG_USB_ISP1760_HCD=y
# CONFIG_USB_ISP1362_HCD is not set
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_HCD_SSB is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_SL811_HCD=y
CONFIG_USB_SL811_CS=y
CONFIG_USB_R8A66597_HCD=y
# CONFIG_USB_WHCI_HCD is not set
# CONFIG_USB_HWA_HCD is not set


                                Page 79 of 206
#
# USB Device Class drivers
#
CONFIG_USB_ACM=y
CONFIG_USB_PRINTER=y
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set
#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#
#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_USBAT=y
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_STORAGE_ONETOUCH is not set
# CONFIG_USB_STORAGE_KARMA is not set
# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
# CONFIG_USB_UAS is not set
CONFIG_USB_LIBUSUAL=y
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
CONFIG_USB_MICROTEK=y
#
# USB port drivers
#
CONFIG_USB_SERIAL=y
# CONFIG_USB_SERIAL_CONSOLE is not set
CONFIG_USB_EZUSB=y
CONFIG_USB_SERIAL_GENERIC=y
# CONFIG_USB_SERIAL_AIRCABLE is not set
CONFIG_USB_SERIAL_ARK3116=y
CONFIG_USB_SERIAL_BELKIN=y
# CONFIG_USB_SERIAL_CH341 is not set
CONFIG_USB_SERIAL_WHITEHEAT=y
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=y
# CONFIG_USB_SERIAL_CP210X is not set
CONFIG_USB_SERIAL_CYPRESS_M8=y
CONFIG_USB_SERIAL_EMPEG=y
CONFIG_USB_SERIAL_FTDI_SIO=y
CONFIG_USB_SERIAL_FUNSOFT=y
CONFIG_USB_SERIAL_VISOR=y


                                  Page 80 of 206
CONFIG_USB_SERIAL_IPAQ=y
CONFIG_USB_SERIAL_IR=y
CONFIG_USB_SERIAL_EDGEPORT=y
CONFIG_USB_SERIAL_EDGEPORT_TI=y
CONFIG_USB_SERIAL_GARMIN=y
CONFIG_USB_SERIAL_IPW=y
# CONFIG_USB_SERIAL_IUU is not set
CONFIG_USB_SERIAL_KEYSPAN_PDA=y
CONFIG_USB_SERIAL_KEYSPAN=y
CONFIG_USB_SERIAL_KEYSPAN_MPR=y
CONFIG_USB_SERIAL_KEYSPAN_USA28=y
CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
CONFIG_USB_SERIAL_KEYSPAN_USA19=y
CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
CONFIG_USB_SERIAL_KLSI=y
CONFIG_USB_SERIAL_KOBIL_SCT=y
CONFIG_USB_SERIAL_MCT_U232=y
# CONFIG_USB_SERIAL_MOS7720 is not set
# CONFIG_USB_SERIAL_MOS7840 is not set
# CONFIG_USB_SERIAL_MOTOROLA is not set
CONFIG_USB_SERIAL_NAVMAN=y
CONFIG_USB_SERIAL_PL2303=y
# CONFIG_USB_SERIAL_OTI6858 is not set
# CONFIG_USB_SERIAL_QCAUX is not set
# CONFIG_USB_SERIAL_QUALCOMM is not set
# CONFIG_USB_SERIAL_SPCP8X5 is not set
CONFIG_USB_SERIAL_HP4X=y
CONFIG_USB_SERIAL_SAFE=y
CONFIG_USB_SERIAL_SAFE_PADDED=y
# CONFIG_USB_SERIAL_SAMBA is not set
# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
CONFIG_USB_SERIAL_SIERRAWIRELESS=y
# CONFIG_USB_SERIAL_SYMBOL is not set
CONFIG_USB_SERIAL_TI=y
CONFIG_USB_SERIAL_CYBERJACK=y
CONFIG_USB_SERIAL_XIRCOM=y
CONFIG_USB_SERIAL_WWAN=y
CONFIG_USB_SERIAL_OPTION=y
CONFIG_USB_SERIAL_OMNINET=y
# CONFIG_USB_SERIAL_OPTICON is not set
# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
# CONFIG_USB_SERIAL_ZIO is not set
# CONFIG_USB_SERIAL_SSU100 is not set
# CONFIG_USB_SERIAL_DEBUG is not set
#


                                  Page 81 of 206
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_YUREX is not set
# CONFIG_USB_GADGET is not set
#
# OTG and related infrastructure
#
# CONFIG_USB_GPIO_VBUS is not set
# CONFIG_NOP_USB_XCEIV is not set
# CONFIG_UWB is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
#
# LED drivers
#
# CONFIG_LEDS_ALIX2 is not set
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_GPIO is not set
# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_LP5521 is not set
# CONFIG_LEDS_LP5523 is not set
# CONFIG_LEDS_CLEVO_MAIL is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_INTEL_SS4200 is not set
# CONFIG_LEDS_LT3593 is not set
CONFIG_LEDS_TRIGGERS=y
#
# LED Triggers
#
CONFIG_LEDS_TRIGGER_TIMER=y


                                  Page 82 of 206
CONFIG_LEDS_TRIGGER_IDE_DISK=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
# CONFIG_LEDS_TRIGGER_GPIO is not set
# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
#
# iptables trigger is under Netfilter config (LED target)
#
# CONFIG_NFC_DEVICES is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
# CONFIG_RTC_CLASS is not set
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
CONFIG_UIO=y
# CONFIG_UIO_CIF is not set
# CONFIG_UIO_PDRV is not set
# CONFIG_UIO_PDRV_GENIRQ is not set
# CONFIG_UIO_AEC is not set
# CONFIG_UIO_SERCOS3 is not set
# CONFIG_UIO_PCI_GENERIC is not set
# CONFIG_UIO_NETX is not set
# CONFIG_STAGING is not set
CONFIG_X86_PLATFORM_DEVICES=y
# CONFIG_DELL_LAPTOP is not set
# CONFIG_FUJITSU_LAPTOP is not set
# CONFIG_MSI_LAPTOP is not set
# CONFIG_PANASONIC_LAPTOP is not set
# CONFIG_COMPAL_LAPTOP is not set
# CONFIG_SONY_LAPTOP is not set
# CONFIG_IDEAPAD_LAPTOP is not set
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_INTEL_MENLOW is not set
# CONFIG_ACPI_WMI is not set
CONFIG_ACPI_ASUS=y
# CONFIG_TOPSTAR_LAPTOP is not set
CONFIG_ACPI_TOSHIBA=y
# CONFIG_TOSHIBA_BT_RFKILL is not set
# CONFIG_ACPI_CMPC is not set
# CONFIG_INTEL_IPS is not set
# CONFIG_IBM_RTL is not set
# CONFIG_XO1_RFKILL is not set
#
# Firmware Drivers
#
CONFIG_EDD=y
# CONFIG_EDD_OFF is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_DELL_RBU=y
CONFIG_DCDBAS=y


                                            Page 83 of 206
CONFIG_DMIID=y
# CONFIG_ISCSI_IBFT_FIND is not set
#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT2_FS_XIP=y
CONFIG_EXT3_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_XATTR=y
# CONFIG_EXT4_FS_POSIX_ACL is not set
# CONFIG_EXT4_FS_SECURITY is not set
# CONFIG_EXT4_DEBUG is not set
CONFIG_FS_XIP=y
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_REISERFS_FS_XATTR is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_FANOTIFY is not set
# CONFIG_QUOTA is not set
# CONFIG_QUOTACTL is not set
CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=y
# CONFIG_CUSE is not set
#
# Caches
#
# CONFIG_FSCACHE is not set
#
# CD-ROM/DVD Filesystems


                                 Page 84 of 206
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=y
CONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
CONFIG_NTFS_FS=y
# CONFIG_NTFS_DEBUG is not set
CONFIG_NTFS_RW=y
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
# CONFIG_PROC_KCORE is not set
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
# CONFIG_TMPFS is not set
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
# CONFIG_CONFIGFS_FS is not set
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ECRYPT_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_LOGFS is not set
# CONFIG_CRAMFS is not set
# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
CONFIG_ROMFS_FS=y
CONFIG_ROMFS_BACKED_BY_BLOCK=y
CONFIG_ROMFS_ON_BLOCK=y
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y


                                Page 85 of 206
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
CONFIG_NFS_V4=y
# CONFIG_NFS_V4_1 is not set
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
# CONFIG_NFS_USE_NEW_IDMAPPER is not set
# CONFIG_NFSD is not set
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_CEPH_FS is not set
CONFIG_CIFS=y
# CONFIG_CIFS_STATS is not set
# CONFIG_CIFS_WEAK_PW_HASH is not set
# CONFIG_CIFS_UPCALL is not set
# CONFIG_CIFS_XATTR is not set
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_DFS_UPCALL is not set
# CONFIG_CIFS_EXPERIMENTAL is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
# CONFIG_SYSV68_PARTITION is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set


                                  Page 86 of 206
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ASCII=y
# CONFIG_NLS_ISO8859_1 is not set
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set
#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_PRINTK_TIME is not set
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=1024
CONFIG_MAGIC_SYSRQ=y
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_SHIRQ=y
CONFIG_LOCKUP_DETECTOR=y


                                  Page 87 of 206
CONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_DETECT_HUNG_TASK=y
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
CONFIG_DEBUG_SPINLOCK=y
# CONFIG_DEBUG_MUTEXES is not set
CONFIG_BKL=y
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_LOCK_STAT is not set
CONFIG_DEBUG_SPINLOCK_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_HIGHMEM=y
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_INFO_REDUCED is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VIRTUAL is not set
# CONFIG_DEBUG_WRITECOUNT is not set
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_DEBUG_LIST=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_DEBUG_CREDENTIALS is not set
CONFIG_ARCH_WANT_FRAME_POINTERS=y
# CONFIG_FRAME_POINTER is not set
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# CONFIG_LKDTM is not set
# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
CONFIG_SYSCTL_SYSCALL_CHECK=y
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_USER_STACKTRACE_SUPPORT=y


                                 Page 88 of 206
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_ENABLE_DEFAULT_TRACERS is not set
# CONFIG_FTRACE_SYSCALLS is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
# CONFIG_STACK_TRACER is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_MMIOTRACE is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_DYNAMIC_DEBUG is not set
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_ASYNC_RAID6_TEST is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_HAVE_ARCH_KMEMCHECK=y
# CONFIG_KMEMCHECK is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_STRICT_DEVMEM is not set
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_X86_PTDUMP is not set
CONFIG_DEBUG_RODATA=y
# CONFIG_DEBUG_RODATA_TEST is not set
# CONFIG_DEBUG_SET_MODULE_RONX is not set
# CONFIG_DEBUG_NX_TEST is not set
CONFIG_DOUBLEFAULT=y
# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y


                                 Page 89 of 206
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
# CONFIG_DEBUG_BOOT_PARAMS is not set
# CONFIG_CPA_DEBUG is not set
# CONFIG_OPTIMIZE_INLINING is not set
# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
#
# Security options
#
CONFIG_KEYS=y
# CONFIG_TRUSTED_KEYS is not set
CONFIG_KEYS_DEBUG_PROC_KEYS=y
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set
# CONFIG_SECURITY_PATH is not set
# CONFIG_SECURITY_TOMOYO is not set
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_IMA is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
CONFIG_XOR_BLOCKS=y
CONFIG_ASYNC_CORE=y
CONFIG_ASYNC_MEMCPY=y
CONFIG_ASYNC_XOR=y
CONFIG_ASYNC_PQ=y
CONFIG_ASYNC_RAID6_RECOV=y
CONFIG_CRYPTO=y
#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
# CONFIG_CRYPTO_GF128MUL is not set
CONFIG_CRYPTO_NULL=y
# CONFIG_CRYPTO_PCRYPT is not set
CONFIG_CRYPTO_WORKQUEUE=y
# CONFIG_CRYPTO_CRYPTD is not set


                                Page 90 of 206
# CONFIG_CRYPTO_AUTHENC is not set
# CONFIG_CRYPTO_TEST is not set
#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not set
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_SEQIV is not set
#
# Block modes
#
CONFIG_CRYPTO_CBC=y
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not set
CONFIG_CRYPTO_ECB=y
# CONFIG_CRYPTO_LRW is not set
CONFIG_CRYPTO_PCBC=y
# CONFIG_CRYPTO_XTS is not set
#
# Hash modes
#
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_VMAC is not set
#
# Digest
#
CONFIG_CRYPTO_CRC32C=y
# CONFIG_CRYPTO_CRC32C_INTEL is not set
# CONFIG_CRYPTO_GHASH is not set
CONFIG_CRYPTO_MD4=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=y
# CONFIG_CRYPTO_RMD128 is not set
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_TGR192=y
CONFIG_CRYPTO_WP512=y
#
# Ciphers
#
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_586=y
# CONFIG_CRYPTO_AES_NI_INTEL is not set
CONFIG_CRYPTO_ANUBIS=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_BLOWFISH=y
# CONFIG_CRYPTO_CAMELLIA is not set


                                         Page 91 of 206
CONFIG_CRYPTO_CAST5=y
CONFIG_CRYPTO_CAST6=y
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_FCRYPT is not set
CONFIG_CRYPTO_KHAZAD=y
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_SALSA20_586 is not set
# CONFIG_CRYPTO_SEED is not set
CONFIG_CRYPTO_SERPENT=y
CONFIG_CRYPTO_TEA=y
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_TWOFISH_COMMON=y
# CONFIG_CRYPTO_TWOFISH_586 is not set
#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
# CONFIG_CRYPTO_ZLIB is not set
# CONFIG_CRYPTO_LZO is not set
#
# Random Number Generation
#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_USER_API_HASH is not set
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=y
CONFIG_CRYPTO_DEV_PADLOCK_AES=y
CONFIG_CRYPTO_DEV_PADLOCK_SHA=y
CONFIG_CRYPTO_DEV_GEODE=y
# CONFIG_CRYPTO_DEV_HIFN_795X is not set
CONFIG_HAVE_KVM=y
# CONFIG_VIRTUALIZATION is not set
# CONFIG_BINARY_PRINTF is not set
#
# Library routines
#
CONFIG_RAID6_PQ=y
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
# CONFIG_CRC_T10DIF is not set
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_DECOMPRESS=y


                                 Page 92 of 206
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_IA64=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_NLATTR=y




                                  Page 93 of 206
Startup – Information File
To run the program after selecting the kernel is to enter ./g4l
(Note: that is G 4 L)

Options:
g4l - Brings up the g4l script with no defaults.

The program accepts the following values, that must be entered in order
g4l parm1 parm2 parm3 parm4 parm5
parm1 - IP address of the ftp server
parm2 - Image file name with extension to determine compression
parm3 - User id and password (two format options)
          userid:password or '-u userid -p password' (quotes required)
parm4 - dhcp (use dhcp to get ip address automatically)
parm5 - default directory to store image files is img, but can be changed.
parm6 - eth0 (default or other device)
parm7 - reboot (if blank no reboot, if non-blank reboot)\n\
          can now also be poweroff. System will poweroff instead of reboot.

g4l 192.168.0.1 test.lzo userx:passwordx dhcp img

Another option is to use fg4l or efg4l serverip
These are frontend scripts that download a menu script from the default
directory of the server. This script can feed default options for a to the
g4l script to help users. efg4l uses an encrypted version of the script.




                                              Page 94 of 206
Preimage Information File
To prepare an disk or partition to be imaged, it is best to clear all
unused space on the partitions. G4L uses dd to copy the information
from the partitions, and copies all sectors from the drive regardless
of if it contains current data or old data.

Note - New blank6 uses number for temp files to handle larger drives

To Clear this a number of programs have been included.
For use on a FAT or NTFS process you can use blank6.
blank6 creates 2GB Null files on the default drive until the drive is full.
blank 6 also accepts a drive letter prompt to process.
blank6 c or blank6 d

On linux or unix systems the following can be used.
cleandrive is a very simple script to create a Null file to use all free
space, and then delete it.
cleandrive5, or 6, or 7, or 8 are modified versions that provide a graph
display of the process and time information using xdialog and dialog.
The scripts might need to be modified if the output of df is in a different
format. Also, lblank7 is linux version of blank program.


Note: The Above file contents is designed to fit on the screen and be displayed as part of the
boot-up process, so has many limitations for size.

To add to the above. Many of the G4L image options use the dd command (linux program to
copy files and/or devices.) When copying disks or partitions this is a bit level copy that copies
all sectors regardless of there containing current data or random or old data. Changing the
contents of unused sectors to all NULLS. This makes the compression of the sectors much
higher.

Example: On an 80GB Disk did a clean install of a Linux OS and did a disk image backup.
The image created was approximately 12GB. I then ran the clean process to clear all unused
space on the disk partitions, and then reran the disk image process. This time the image was
only 2.5GB. Thus showing how the image size can be greatly reduced.

The above example my not apply to all situations, it is dependent on the amount of unused
space, the CPU load used for the compression, and the disk speed. So, it may also make the
image process faster, but should always result in a smaller size, but speed may also or may
not increase.

Clearing unused space is not necessary from file system imaging used by NTFSCLONE or
Fsarchiver. Since they only backup files versus reading raw sectors.

The options mentioned in the above file are run from the existing OS.

The Utility Menu now has an option that can be used to clear sectors from the G4L boot. This
only works with file systems that can be mounted by the linux.




                                              Page 95 of 206
Front – Example Front End File
Example of a front end script that can be used to improve the usability of G4L.
This type of scripts are placed on the ftp server, and downloaded via various scripts.


#!/bin/sh
#
#
## Michael Setzer II - Program Modifications
## Set tab = 2 spaces for formatting
: ${DIALOG=dialog}
: ${DIALOG_OK=0}
: ${DIALOG_CANCEL=1}
: ${DIALOG_ESC=255}

# window title
backtitle="g4l frontend menu"

# two options for menu format
# in the first one, the option letter followed by colon and space
# then serverip image.ext
# using the user:password format you can also include it and the dhcp option
# serverip image.ext user:password dhcp

# in the second option, the only requirement would be the first letters linked
# to the options, since all the parameters are set in the case statement

#eject /dev/hda >/dev/null
eject /dev/hdb >/dev/null         ## Option to eject CD
eject /dev/hdc >/dev/null
eject /dev/hdd >/dev/null

dlzo=`date +'%F'`.lzo             ## Added to setup to create new images
dgz=`date +'%F'`.gz               ## that use the current date as part of name

$DIALOG --sleep 10 --infobox "Please remove CD\nNo longer needed\n10 second message" 0 0


$DIALOG --backtitle "$backtitle" \
     --title "G4L frontend menu" \
     --menu "Choose your desired mode:" 0 0 0 \
      "A: 192.168.0.1 image1.lzo" "The Big Image" \
      "B: 192.168.0.1 image2.gz " "The Small Image" \
      "C: 192.168.0.1 image3.gz " "The Medium Image" \
      "D: 192.168.0.1 image4.lzo" "The Multi Image" \
      "E: 192.168.0.1 image$dlzo" "New Image image$dlzo" \
      "F: 192.168.0.1 image$dgz" "New Image image$dgz" \
      2> /tmp/frontout
  retvalmain=$?

# first option command options



                                             Page 96 of 206
#   ./g4l `cat /tmp/frontout | cut -b 3-80` '-u user -p password' dhcp
#or
#   ./g4l `cat /tmp/frontout | cut -b 3-80` user:password dhcp

# second option can feed any combination of options
# serverip
# serverip image.ext
# serverip image.ext user:password
# serverip image.ext user:password dhcp
# serverip image.ext user:password dhcp img

option=`cat /tmp/frontout | cut -b 1-1`
  case $option in
    "A")
       echo "A"
#        ./g4l 192.168.0.1 image1.lzo user:password dhcp img
      ;;
    "B")
       echo "B"
#        ./g4l 192.168.0.1 image1.lzo user:password dhcp img
       ;;
    "C")
       echo "C"
#        ./g4l 192.168.0.1 image1.lzo user:password dhcp img
       ;;
    "D")
       echo "D"
#        ./g4l 192.168.0.1 image1.lzo user:password dhcp img
       ;;
    "E")
       echo "E"
#        ./g4l 192.168.0.1 image1$dlzo user:password dhcp img
       ;;
    "F")
       echo "F"
#        ./g4l 192.168.0.1 image1$dgz user:password dhcp img
       ;;
   esac
echo "DONE"




                                            Page 97 of 206
Programs to help clear unused space from partition to be imaged.

Cleandrive is a very basic Linux/Unix Script that works.

dd if=/dev/zero of=/0bits bs=20M
rm /0bits

Cleandrive8 - more complex script
Uses dialog/Xdialog for a graphical display along with older versions of the script.
#!/bin/sh
#
#
## Michael Setzer II - Program Modifications
pcnt=0
JETCAT=`which jetcat-mod `
if [ $? = "0" ] ; then echo $JETCAT
else JETCAT="/jetcat-mod"
fi

progress()
{
(
while test "$pcnt" != "$value"
do

printf "%s\n" "XXX"
## Modified Jetcat-mod to display two decimal positions
## have to cut off the decimals for the gauge to work.
if test "$value" == "100"; then
    pcnt=`tail -n1 /tmp/progress.out`
        pcnt2=`tail -n1 /tmp/progress.out | cut -d. -f 1 `
        if [ "$DIALOG" = "dialog" ]; then
         printf "%s\n" $pcnt2
        fi
fi
if test "$value" != "100"; then
    if [ " " = "$testx" ]; then
        pcnt=`df . | grep % | grep / | awk '{print $4}'`
    else
        pcnt=`df . | grep % | grep / | awk '{print $5}'`
    fi
        if [ "$DIALOG" = "dialog" ]; then
         echo $pcnt | cut -d% -f 1
        fi
#          printf "%s\n" $pcnt
fi
printf "%s\n" "\n"
## msg variable set before calling the progress function to
## make minor variation between different screens.


                                            Page 98 of 206
printf "%s\n" "$msg"; printf "%s\n" "\n"
printf "%s\n" "\n"
printf "%s\n" "The progress bar shows the percentage of the amount written";
if [ "$DIALOG" = "Xdialog" ]; then
   printf "%s\n" "\n"
fi
printf "%s\n" "to the size of the destination."; printf "%s\n" "\n";
printf "%s\n" "Please stand by, this might take some time!"; printf "%s\n" "\n"; printf "%s\n" "\n"
## Percentage displays with 2 decimal places, plus start time and current time.
## This lets one check time status of process in addition to percentage
printf "%s\n" "Progress"; printf "%s\n" "\n"
printf "%s\n" "$pcnt"; printf "%s\n" "\n"
printf "%s\n" "XXX";
printf "%s\n" "$pcnt"
sleep 5
done
)|
$DIALOG --backtitle "$backtitle" --title "Working..." --clear --gauge "One moment..." 30 100
rm /tmp/progress.out
touch /tmp/progress.out
## Added a pause to let the user see final results before it returns.
}

xdyes=`which Xdialog`
dyes=`which dialog`
if [ -n "$DISPLAY" ] ; then
     DIALOG="Xdialog"
 else
     DIALOG="dialog"
fi
if [ -z "$xdyes" ]; then
    if [ "$DIALOG" = "Xdialog" ] ; then
          DIALOG="dialog"
    fi
fi
if [ -z "$dyes" ]; then
    if [ "$DIALOG" = "dialog" ] ; then
          DIALOG=""
    fi
fi
: ${DIALOG_OK=0}
: ${DIALOG_CANCEL=1}
: ${DIALOG_ESC=255}

backtitle="Program to clear free space"
msg="Clearing Free Space on "`pwd`
value="100"
freesize=`df . | grep % | grep / | awk '{print $1 - $2}'`
original=`df . | grep % | grep / | awk '{print $4}'`
testx=`df . | grep % | grep / | cut -b1-1`
if [ " " = "$testx" ]; then
  freesize=`df . | grep % | grep / | awk '{print $1 - $2}'`


                                                Page 99 of 206
   original=`df . | grep % | grep / | awk '{print $4}'`
else
   freesize=`df . | grep % | grep / | awk '{print $2 - $3}'`
   original=`df . | grep % | grep / | awk '{print $5}'`
fi
printf "%s\n" "$freesize $original"

dd if=/dev/zero bs=2M 2>/dev/null | $JETCAT -f 5000 -p $freesize 2>/tmp/progress.out >0bits &
progress
value=$original
msg="Removing 0bits file"
if [ "$DIALOG" = "Xdialog" ]; then
     $DIALOG --infobox "PAUSE FOR 10 SECONDS" 5 35 10000
else
     $DIALOG --sleep 10 --infobox "PAUSE FOR 10 SECONDS" 5 25
fi

rm 0bits &
progress
if [ "$DIALOG" = "Xdialog" ]; then
     $DIALOG --infobox "Drive Should now have all free space cleared" 5 60 10000
else
     $DIALOG --sleep 10 --infobox "Drive Should now have all free space cleared" 5 50
fi




                                                Page 100 of 206
Blank6.cpp – an simple Borland C program
Clear free space on Fat and NTFS partitions.
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <ctype.h>
#include <dir.h>
#include <string.h>


void main(int argc, char **argv)
{
   FILE *fp1;
   char filename[13]="TESTA.TMP";
   int i,num=100;
   register unsigned long j;
   unsigned long mb32=32L*1024L*1024L;
   int n;
   char x;

  if (argc == 2)
  {
      i=toupper(argv[1][0])-'A';
      setdisk(i);
  }

  chdir("\\");
  clrscr();
  while (x!=EOF)
  {
  strcpy(filename,"TEST");
  sprintf(&filename[4],"%3d",num++);
  strcat(filename,".TMP");
  fp1=fopen(filename,"wb");
  printf("\n%c:\\%s 2GB FILE 64 BLOCKS OF 32MB EACH\n[%64s]\r[",getdisk()+ 'A',filename," ");
  for(i=0;i<64;i++)
  {
     for (j=0;j<mb32;j++)
     {
         x=putc(NULL,fp1);
         if (x==EOF)
             j=mb32;
     }
     printf("%c",177);
     if (x==EOF)
         i=64;
  }
  fclose(fp1);
  }
  printf("\n\nDONE\n");


                                       Page 101 of 206
    do
    {
       strcpy(filename,"TEST");
       sprintf(&filename[4],"%3d",--num);
       strcat(filename,".TMP");
       printf("\nDeleting File - %s",filename);
       remove(filename);
    } while (num>100);
    printf("\n\nClearing completed\n");
}
Note: there is also a linux version of the blank6 as lblank6.cpp and cleandrive8.dialog that are
elsewhere on the CD.




                                              Page 102 of 206
Disclaim File that discusses issues between early version of G4L and G4U.
Disclaimer concerning Copyright: Prior version(s) of g4l appear to have
been based on G4U a NetBSD-based bootfloppy/CD-ROM by
Hubert Feyrer <hubert@feyrer.de> Copyright(c) 1999,2000,2001,2002,2003,2004
G4U: http://www.feyrer.de/g4u/ http://www.feyrer.de/g4u/g4l.html
The G4L project had an earlier author (nme), who original started
the project. Then it moved to fra_step, who wrote the current
version. 0.14beta, which is vastly different than 0.10
In addition to information at the G4U site above
G4L: https://sourceforge.net/projects/g4l http://freshmeat.net/projects/g4l/
I've made modification to the g4l 0.14beta script to make
it better for my needs, and to provide this to others to use or not
I can not speak for the previous authors of G4U or G4L
I have currently load my modifications at a Fedora Server at my office
ftp://fedoragcc.dyndns.org
Hope this version is useful to you
Michael D. Setzer II, mikes@kuentos.guam.net
Computer Science Instructor, Guam Community College


Note: The above is designed to fit with in the limitations of the screen as other screens.
The very first versions of g4l were more of a translation g4u using netbsd to linux by the first
maintainer of g4l.
The second maintainer of g4l did a major reworking of g4l that made many changes in
structure and design.
When I started making modifications back with version 0.15, I added the above.
I've hope this has help to clear up the conflict.

Recent changes at http://www.feyrer.de/g4u/g4l.html
Status Updates
[2004-09-18]
      Aparently the g4l author has decided to take his project off the net, instead of giving proper credit. But I'd like to add
      two points to the text on his web page:
           1. I didn't threaten him by law, just point out that he's violating copyright law
           2. I didn't insist on him taking the site down, only put my name back in and give proper credit.
      So the text on the g4l homepage ("He now wants to force me by law, to add his licencse and credits to the code I
      wrote. This is not acceptable for me, so I quit work on g4l.Because of certain people, programming isn't much fun
      anymore.") is what one gets when insisting on one's rights as author of free software.

      Andy Ruhl has posted a nice comment on the issue WRT the GPL to the NetBSD-Advocacy list, and I think he has
      a good point. Unfortunately.

[2004-10-19]
      Aparently g4l re-appeared on freshmeat with a new maintainer, but not less arrogant & ignorant than the previous
      one. Rumours also say that the latest version of g4l is still based on previous versions, and thus g4u. I haven't
      found time to check this.

[2005-01-17]
      Rick Moen has pointed out a few more points at the copyright infringement of the g4l people at the freshmeat
      comment page, and he has also contacted me in private about the issue. He has also pointed me at the fact that the
      issue has indeed made it to the "OSI" mailing list.

[2009-03-05]
      Apparently recent versions of g4l now mention g4u as ancestor some way down the timeline. Nice!


                                                     Page 103 of 206
Files from the Resource Directory of
  Development Kit.
Jetcat-mod7.c – Filter program used in G4L
to output data for use in progress mapping.
/*
* jetcat (c)2004/GPL Oskar Schirmer, schirmer@scara.com
* measure, control and limit pipe throughput
*/

/*
* modifications done by Frank Stephen fra_step@yahoo.com
* now prints out sum of transferred data, only needed for g4l
* to show gauge/progress bar
*
*/

/* This is a rewrite of the above programs to just include the
* feature that is needed by g4l. Thus making it a little smaller.
* not sure if it makes it faster, but it seems to be as fast as
* any of my hard drives can read the data.
* this modification by Michael Setzer II mikes@kuentos.guam.net
*/

//#include <errno.h>
#include <stdio.h>
//#include <fcntl.h>
#include <unistd.h>
#include <sys/time.h>

int main(int argc, char* argv[])
{
  char c[8192];
  int n, n1;
  unsigned long time_offset = 0;
  float mbrate;
  float perc;
  struct timeval beginning;
  struct timeval tv;
  float bfsize, bfsizek;
  unsigned long long actsum;
// unsigned
  long int thissec;
// unsigned long int elapse;
  unsigned int elapse;
  register int count2=0;
  actsum=0;
  perc=0.0;


                                          Page 104 of 206
  gettimeofday(&beginning, NULL);
  sscanf(argv[4],"%f",&bfsize);
  bfsizek = bfsize/1024.0;
  thissec=beginning.tv_sec;
  while ((n = read(0, &c, 8192))) // read pipe.
  {
    n1= write(STDOUT_FILENO, &c, n);
    actsum+=8;
    count2++;
// fprintf(stderr,"%d\n",n);
// If either Input goes to Zero for reading,
// or output goes to 0 when cleaning disk space
    if (n <= 0 || n1<=0)
    break;
    if (count2==512)
    {
      count2=0;
      gettimeofday(&tv, NULL);
      if ((tv.tv_sec % 5) ==0 && tv.tv_sec != thissec)
      {
        thissec=tv.tv_sec;
        if (tv.tv_sec < beginning.tv_sec)
        time_offset = 3600L * 24;
        perc=(actsum*100.0/bfsize);
        elapse=(long)(time_offset + tv.tv_sec - beginning.tv_sec);
        mbrate = (actsum/1024.0)/elapse;
        fprintf(stderr, "%.2f%% \t%12.2fMB of %.2fMB \ttime: %u:%02u:%02u %.2fMB/sec\n",
        perc, actsum/1024.0, bfsizek, elapse / 3600, elapse / 60 % 60, elapse % 60, mbrate);
      }
    }
  }
  perc=100.0;
  elapse=(long)(time_offset + tv.tv_sec - beginning.tv_sec);
  mbrate = (actsum/1024.0)/elapse;
  fprintf(stderr, "%.2f%%\t%12.2fMB of %.2fMB \ttime: %u:%02u:%02u %.2fMB/sec\n",
  perc, actsum/1024.0, bfsizek, elapse / 3600, elapse / 60 % 60, elapse % 60, mbrate);
  fprintf(stderr,"100\n");
  return 0;
}




                                           Page 105 of 206
Lblank7.c – Linux c program
that can be used to clear free disk space by creating 2GB files until disk is full and then
delete files. This is required for Fat32 partitions.
#include <stdio.h>
#include <ctype.h>
#include <string.h>

int main(int argc, char **argv)
{
    FILE *fp1;
    char filename[13]="TESTA.TMP";
    int i,num=100;
    register unsigned long j;
    unsigned long mb32=32L*1024L*1024L;
    int n;
    char x;
 system("clear");
    while (x!=EOF)
    {
    strcpy(filename,"TEST");
    sprintf(&filename[4],"%3d",num++);
    strcat(filename,".TMP");
    fp1=fopen(filename,"wb");
    fprintf(stderr,"\n%s 2GB FILE 64 BLOCKS OF 32MB EACH\n[%64s]\r[",filename," ");
    for(i=0;i<64;i++)
    {
        for (j=0;j<mb32;j++)
        {
            x=putc(0,fp1);
            if (x==EOF)
                j=mb32;
        }
        fprintf(stderr,"%c",'>');
        if (x==EOF)
            i=64;
    }
    fclose(fp1);
    }
    fprintf(stderr,"\n\nDONE\n");
    do
    {
        strcpy(filename,"TEST");
        sprintf(&filename[4],"%3d",--num);
        strcat(filename,".TMP");
        fprintf(stderr,"\nDeleting File - %s",filename);
        remove(filename);
    } while (num>100);
    fprintf(stderr,"\n\nClearing completed\n");
  return 0;
}


                                        Page 106 of 206
Ntfsreloc.c – Ntfs relocation
program that is suppose to update information if ntfs partition is not restored to the
exact same location?
/*
ntfsreloc - deals with braindeadness with moving NTFS filesystems.
version 0.7

Copyright (C) 2006 Daniel J. Grace
Modified 2008 by Orgad Shaneh

This program modifies the geometry settings on an NTFS partition
as described in <http://thestarman.pcministry.com/asm/mbr/NTLDR.htm>.
It is needed for booting, as described in libntfs <http://www.linux-ntfs.org/doku.php?id=libntfs>

It will NOT work for Windows NT v3.5 and below.
It is designed for NT4/2000/XP and later versions.

Like any other program that tinkers with the contents of your HD, this
program may cause data corruption. USE AT YOUR OWN RISK. You have been warned.

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/

#define _LARGEFILE64_SOURCE
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <stdlib.h>
#include <linux/hdreg.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <unistd.h>
#include <fcntl.h>

int flip(void *p, int size) {
    ushort test;
    int iter;
    char *c;
    char t;

                                            Page 107 of 206
    if (size % 2) return 1;

    // Determine system architecture
    test = 1;
    c = (char *)&test;
    if (*c) return 0;

    // reverse bytes
    c = p;
    for (iter = 0 ; iter < size / 2; ++iter) {
        t = c[iter];
        c[iter] = c[size-iter-1];
        c[size-iter-1] = t;
    }
    return 0;
}

int usage(char *progname) {
    fprintf(stderr,
       "adjust filesystem geometry for a NTFS partition"
       "\nUsage: %s [-h # -t #] [-s start [-b]] [-w] [-f] [-p] device"
       "\nwhere device points to an NTFS partition"
       "\n"
       "\nOptions:"
       "\n-w:\t\tWrite new start sector to the partition."
       "\n-h # -t #:\tSpecify number of heads and number of sectors per track"
       "\n\t\tIf omitted, determined via ioctl."
       "\n-s start:\tNew start sector to write."
       "\n\t\tIf omitted, determined via ioctl."
       "\n-b:\t\tProceed even if the specified device is not a"
       "\n\t\tpartition (e.g. a regular file)"
       "\n-f:\t\tForce the operation to occur even if device does not look"
       "\n\t\tlike a valid NTFS partition or values are equal."
       "\n-p:\t\tPrint debug information (values read, values requested etc.)"
       "\n"
       "\nThis utility displays the current starting sector as defined by the"
       "\nthe filesystem. No change will actually be made without the -w"
       "\noption."
       "\n"
       "\nExit status is 2 if an error occured, 1 if a change was made or is needed"
       "\nor 0 if the filesystem already has the correct values."
       "\n", progname
    );
    return 0;
}

off64_t last_sector(int device)
{
   unsigned short sectorSize = 0;
   unsigned long long totalSectors = 0;

    if (lseek(device, 0x0bL, SEEK_SET) < 0) {


                                                 Page 108 of 206
        perror("lseek");
        exit(2);
    }

    if (read(device, &sectorSize, 2) != 2) {
        fprintf(stderr, "Unable to read filesystem info.\n");
        exit(2);
    }

    if (lseek(device, 0x28L, SEEK_SET) < 0) {
        perror("lseek");
        exit(2);
    }

    if (read(device, &totalSectors, 8) != 8) {
        fprintf(stderr, "Unable to read filesystem info.\n");
        exit(2);
    }
    flip(&sectorSize, 2);
    flip(&totalSectors, 8);
    return sectorSize * totalSectors;
}

struct ntfs_geometry {
   unsigned short sectors;
   unsigned short heads;
   unsigned long start;
};

void flip_all(struct ntfs_geometry *geo) {
   flip(&geo->heads, 2);
   flip(&geo->sectors, 2);
   flip(&geo->start, 4);
}

char optSpecifyStart = 0, optSpecifyHS = 0, optWrite = 0, optBlock = 0, optForce = 0, optPrint = 0;
char *optDeviceName = NULL;
struct ntfs_geometry opt_geom = {0, 0, 0};

void print(const char *s, ...)
{
   va_list ap;
   if (optPrint) {
       va_start(ap, s);
       vprintf(s, ap);
       va_end(ap);
   }
}

int read_options(int argc, char *argv[]) {
    int i;
    char opt;


                                                Page 109 of 206
int readopts = 1;

if (argc <= 1) {
    usage(argv[0]);
    return 2;
}

// read options
for (i = 1 ; i < argc ; ++i) {
    if (argv[i][0] == '-' && readopts) {
        opt = argv[i][1];
        // -h, -t and -s need a number to follow
        if ((opt == 'h') || (opt == 't') || (opt == 's')) {
            char *sizePtr, *endPtr;
            if (argv[i][2]) {
                sizePtr = &argv[i][2];
            } else if (i+1 < argc) {
                sizePtr = argv[++i];
            } else {
                fprintf(stderr, "ERROR: Size must be specified for option -%c\n", opt);
                usage(argv[0]);
                return 1;
            }

         switch (opt) {
         case 'h': optSpecifyHS = 1; opt_geom.heads = strtoul(sizePtr, &endPtr, 10); break;
         case 't': optSpecifyHS = 1; opt_geom.sectors = strtoul(sizePtr, &endPtr, 10); break;
         case 's': optSpecifyStart = 1; opt_geom.start = strtoul(sizePtr, &endPtr, 10); break;
         }

         // assert the value is a number
         if (endPtr == sizePtr || *endPtr) {
             fprintf(stderr, "ERROR: Invalid size specified for option -%c\n", opt);
             usage(argv[0]);
             return 1;
         }
         continue;
     }

     if (opt && argv[i][2]) {
         fprintf(stderr, "Unknown option '%s'\n", argv[i]);
         usage(argv[0]);
         return 1;
     }

     switch (opt) {
     case '-': readopts = 0; break;
     case 'b': optBlock = 1; break;
     case 'w': optWrite = 1; break;
     case 'f': optForce = 1; break;
     case 'p': optPrint = 1; break;
     default:


                                           Page 110 of 206
            fprintf(stderr, "Unknown option '%s'\n", argv[i]);
            usage(argv[0]);
            return 1;
         }
         continue;
      }
      // If we reach here, we're reading a device name
      if (optDeviceName) {
          fprintf(stderr, "Only one device may be specified\n");
          usage(argv[0]);
          return 1;
      }
      optDeviceName = argv[i];
    }
    if (!optDeviceName) {
        fprintf(stderr, "No device name specified\n");
        usage(argv[0]);
        return 1;
    }
    return 0;
}

int main(int argc, char *argv[]) {
    int device = 0;
    int opt_res;
    char haveGeom = 0;
    off64_t lastsector = 0;
    struct hd_geometry part_geom = {0, 0, 0, 0};
    struct ntfs_geometry fs_geom = {0, 0, 0};
    struct ntfs_geometry bak_geom = {0, 0, 0};
    struct ntfs_geometry set_geom = {0, 0, 0};
    const int geomsize = sizeof(struct ntfs_geometry);

    puts("ntfsreloc version 0.7");

    // read program options (into global variables)
    opt_res = read_options(argc, argv);
    if (opt_res) return opt_res;

    // verify that we can open the device in readonly mode
    if (!(device = open(optDeviceName, (optWrite ? O_RDWR : O_RDONLY) | O_SYNC))) {
        perror("open");
        return 2;
    }

    // check to see if it's a partition, and determine geometry
    if (ioctl(device, HDIO_GETGEO, &part_geom)) {
        if (!optBlock) {
            fprintf(stderr, "Failed to read disk geometry. Perhaps this is not a partition?\n");
            fprintf(stderr, "Verify that you are using the correct device or use the -b option.\n");
            fprintf(stderr, "The exact error was:\n");
            perror("ioctl");


                                                Page 111 of 206
      return 2;
   } else if (!optSpecifyStart && optWrite) {
      fprintf(stderr, "Failed to read disk geometry, and -s option was not specified.\n");
      fprintf(stderr, "No update can be made without this information.\n");
      fprintf(stderr, "The exact error was:\n");
      perror("ioctl");
      return 2;
   }
} else {
   haveGeom = 1;

    if (!optForce && !part_geom.start) {
        fprintf(stderr, "This looks like an entire disk (start=0) instead of a single partition.\n");
        fprintf(stderr, "It will not be modified without the -f (force) option.\n");
        if (optWrite) {
            return 2;
        }
    }
}

// verify that it is an NTFS partition
if (lseek(device, 3L, SEEK_SET) < 0) {
    perror("lseek");
    return 2;
}

// read "NTFS" magic, or at least what should be
char ntfsMagic[4];
if (read(device, &ntfsMagic, 4) != 4 || memcmp(ntfsMagic, "NTFS", 4)) {
    if (!optForce) {
        fprintf(stderr, "This device does not appear to be a real NTFS volume.\n");
        if (!optWrite) {
            return 2;
        }
    }
}

// filesystem geometry
if (lseek(device, 0x18L, SEEK_SET) < 0) {
    perror("lseek");
    return 2;
}
if (read(device, &fs_geom, geomsize) != geomsize) {
    fprintf(stderr, "Unable to read filesystem info.\n");
    return 2;
}

flip_all(&fs_geom);

// backup sector
lastsector = last_sector(device);
if (lastsector == 0) {


                                             Page 112 of 206
  fprintf(stderr, "Unable to determine last (backup) sector!\n");
  return 2;
}
if (lseek64(device, lastsector + 0x18L, SEEK_SET) < 0) {
    perror("lseek64");
    return 2;
}
if (read(device, &bak_geom, geomsize) != geomsize) {
    fprintf(stderr, "Unable to read filesystem info.\n");
    return 2;
}
flip_all(&bak_geom);

if (optSpecifyHS) {
    if (!opt_geom.heads || !opt_geom.sectors) {
        fprintf(stderr, "Must specify both heads and sectors per track or none!\n");
        return 2;
    }
}
// behavior description follows. HS and Start values indicates SpecifyHS and SpecifyStart
// part: use partition value
// fs : use filesystem value (don't change anything)
// opt : use user value

// HS Start tgt HS tgt Start
// 0      0 part part (if no partition geometry, use fs)
// 0      1    fs     opt
// 1      0    opt     fs
// 1      1    opt     opt
if (!optSpecifyHS && !optSpecifyStart) {
    if (haveGeom) {
        set_geom.heads = part_geom.heads;
        set_geom.sectors = part_geom.sectors;
        set_geom.start = part_geom.start;
    } else {
        set_geom = fs_geom;
    }
} else {
    set_geom = opt_geom;
    if (!optSpecifyStart) {
        set_geom.start = fs_geom.start;
    }
    if (!optSpecifyHS) {
        set_geom.heads = fs_geom.heads;
        set_geom.sectors = fs_geom.sectors;
    }
}
// print all details
print("\t\tHeads\tSectors\tStart\n");
if (haveGeom) {
    print("partition:\t%d\t%d\t%lu\n", part_geom.heads, part_geom.sectors, part_geom.start);
}


                                         Page 113 of 206
    print("filesystem:\t%d\t%d\t%lu\n", fs_geom.heads, fs_geom.sectors, fs_geom.start);
    print("backup sector\t%d\t%d\t%lu\n", bak_geom.heads, bak_geom.sectors, bak_geom.start);
    print("target:\t\t%d\t%d\t%lu\n", set_geom.heads, set_geom.sectors, set_geom.start);

    if (!memcmp(&set_geom, &fs_geom, geomsize)
    && !memcmp(&set_geom, &bak_geom, geomsize)
    && !optForce) {
        puts("No changes neccessary.");
        return 0;
    }
    if (!optWrite) {
        puts("Changes will be written to disk only with -w flag");
        return 0;
    }
    flip_all(&set_geom);
    // write back changes
    if (lseek(device, 0x18L, SEEK_SET) < 0) {
        perror("lseek");
        return 2;
    }
    if (write(device, &set_geom, geomsize) != geomsize) {
        perror("write");
        return 2;
    }
    // write to backup sector
    if (lseek64(device, lastsector + 0x18L, SEEK_SET) < 0) {
        perror("lseek64");
        return 2;
    }
    if (write(device, &set_geom, geomsize) != geomsize) {
        perror("write");
        return 2;
    }
    if (fsync(device)) {
        perror("fsync");
        return 2;
    }
    if (close(device)) {
        perror("close");
        return 2;
    }
    puts("done!");
    return 1;
}




                                              Page 114 of 206
Files from root file system of G4L.
AES-ssh – Encryption information file
on option to setup an encryption system to use with the g4l using a key file and
passphrase
Currently working on adding two more options to g4l.
Was hoping to get some help testing these options and comments on adding
support. Got no response from messages on either site. Did create basic
./getkey.sh script to copy files from an usb drive.

1. Adding option to local image copy to mount a remote directory via sshfs
/mnt/local, and then do backups via the ssh connection instead of using ftp.
I have tested the process on one systems, and got a speed of about 20MB/sec
overall. A full disk image via ftp usually averages to 30MB/sec, but that
includes the linux partition that is about 80% free space. So, there might
be even less of a performance hit, but this adds an encrypted connection
option, and also provides a method for those that can not use ftp. It uses
the sshfs, which may or may not work with all servers. I've used it on
Fedora 6 and Fedora 8 machines.

2. Adding an option on the Network menu to created encrypted image files
using aespipe. This process is described below. It requires creation of
a mykey1.gpg file and a passphrase file. Currently, the cd has a set of
these files for testing. The ideal would be to create a script that would
allow for getting these files onto the the ramdisk. This could be download
from an ftp server or from flash device or perhaps a ssh connection. At
the moment, this is just on the network option, and is a toggle.

I've currently made 14 versions of 0.27 so far.

At the moment, I've modified a copy of the regular g4l script g4l30b to
include these options.

If others are interested in testing, and making comments on what is the
best way to further implement the aespipe option.

Added option to use aespipe to created encrypted image files.
Currently only available on network option.

Encryption via aespipe.
AESPIPE by Jari Ruusu <jariruusu@users.sourceforge.net>
http://sourceforge.net/projects/loop-aes/

This was recommended by a user, and seems to work fine.
Have had some communication with the author.


The CD image has a test set of key and passphrase file created as a demo,
but should not be used for real encryption, since they are publicly available.


                                            Page 115 of 206
/mykey1.gpg and /passphrase

The method used to create these came from the aespipe README file.

== section of README
Create 65 random encryption keys and encrypt those keys using gpg. Reading
from /dev/random may take indefinitely long if kernel's random entropy pool
is empty. If that happens, do some other work on some other console (use
keyboard, mouse and disks). Use of gpg-encrypted key file depends on
encrypted swap.

  head -c 2925 /dev/random | uuencode -m - | head -n 66 | tail -n 65 \
    | gpg --symmetric -a >mykey1.gpg

=== emd

The program using the aespipe to encrypt and decrypt using the following
additional code.

AESPIPE=" aespipe -K /mykey1.gpg -P /passphrase -G / | "
AESPIPEd="| aespipe -K /mykey1.gpg -P /passphrase -G / -d "

These variables are set if encryption is toggled on, and inserted into
the process. Otherwise the values are blank and have no effect on the
process.Currently the names of these files are hard coded, so one would
need to create you own key file and passphrase, and replace these.

You files could be downloaded from a secure location after booting from
the cd by various options and others.

ncftp -u user -p password ipaddress
get mykey1.gpg
get passphrase
quit

That puts the files on an ftp site, which you may or may not want to do.

Insert an USB device

mount /dev/sdx /mnt/local
cp /mnt/local/mykey1.gpg
cp /mnt/local/passphrase
umount /mnt/local

At this point, I will assume that users wanting to use encryption will
be more than capable of creating these files, and setting them up.
Later this could be further expanded and automated more.

Recommend testing you mykey1.gpg and passphrase files before making an
image file, since if it doesn't work the image will not.



                                            Page 116 of 206
Following script is a quick test. It just creates a file with random
data, encrypts it, and then decrypts it. If the original file and decrypted
file produce the same results, it worked.

#!/bin/sh
#
#
## Michael Setzer II - Program Modifications
## Set tab = 2 spaces for formatting

dd if=/dev/urandom of=./aes1.test bs=512 count=40
aespipe -K ./mykey1.gpg -P ./passphrase -G ./ <./aes1.test >./aes2.test
aespipe -K ./mykey1.gpg -P ./passphrase -G ./ -d <./aes2.test >./aes3.test
cmp -l ./aes1.test ./aes3.test


Very limited testing has been done so far.
With a 20GB NTFS partition.
None Encrypted image took 15m 55s
Encrypted image took 16m 35s

That works to be just about a 4% increase, but would depend on hardware,
so your results may be higher or lower. Test done with P4 2.8 machine.

Tis is only added to my working 0.27 alphas, and I'm currently a level 19
Have not yet released any of these publicly.

Added basic script getkey.sh to allow for copying gpg and passphrase file
via a usb device.

aestest2 – File to test keyfile and image file to make sure they work correctly.
#!/bin/sh
#
#
## Michael Setzer II - Program Modifications
## Set tab = 2 spaces for formatting
cd /
dd if=/dev/urandom of=./aes1.test bs=512 count=40
aespipe -K ./mykey1.gpg -P ./passphrase -G ./ <./aes1.test >./aes2.test
aespipe -K ./mykey1.gpg -P ./passphrase -G ./ -d <./aes2.test >./aes3.test
cmp -l ./aes1.test ./aes3.test
echo "cmp should result in no difference"
rm ./aes?.test -f




                                              Page 117 of 206
Original Help File from version 0.14 of G4L
g4l - Frank Stephen 2004
Version 0.14

-- Some additional modification that I, Michael D. Setzer II, have made to the
     Version 0.14 currently availble at the sourceforge site.
     Made it possible to use a non-anonymous ftp user
     Allow for DHCP IP address
     Set default to eth0
     Set default to GZip
     Show current settings of options on screen
     Added letters to menu options to provide to selecting options by Letter
     Modified progress bar routine to a single function instead of seperate ones.
     Modified the progress by routine to show percentages with 2 decimal places
     and to show the start and current times with the amount sent of destination size
     Added a special option to allow for other commands to be run during the script.

     I'm making my modifications available at my ftp server at the college
     ftp://202.128.73.29

     Michael D. Setzer II
     Computer Science Instructor
     mikes@kuentos.guam.net


- CHANGES SINCE LAST VERSION -

added new menu:
   - select between RAW mode and file mode !

     RAW Node: common g4l mode, copies every single bit of the
     drive, including empty sectors, deleted files...everything!

     File Mode: for those people who do not have the time
     (or space!) to execute RAW mode. This mode accesses the
     filesystem of the drive and writes only the sectors,
     which are occupied by files. This is what the commercial
     products do. As it is senseless to invent the wheel twice,
     g4l launches the very cool 'partimage' to do this.
     Be careful: If you need also deleted files and hidden
     stuff for data recovery or sth like that, use RAW mode !

     Check www.partimage.org for info on how to use partimage
     in detail or from the command line.

     g4l offers to launch the partimage server through the
     'Launch server' option from where you can configure your
     network card, mount the destination drive and launch
     the partimage server.
     Then remove the CD and boot your client. Away you go !



                                          Page 118 of 206
added new utilities:
   - added access to the very good dd_rescue and dd_rhelp tool !
     If you have a drive with I/O errors (hardware failure,...)
     this tool gets almost everything of it. Combined with
     dd_rhelp it surrounds the defective sectors automatically.
     A MUST have ! Thanks to the developers!

    - added possibility to set I/O controller to 32bit and
      UDMA66 transfer mode using 'hdparm' utility. Be careful:
      This might hang your system if it does not support these
      modes. If so, give it a reboot and do not this option
      again!

added progress bars:
   - every backup/restore option plus the zero-tool now features
     a full progress bar. no more guesses how long backup/restore
     will take. Be aware, that if restoring small images to large
     drives, the progress bar will be inaccurate ! It might
     happen that you restore, progress shows 30% and suddenly
     you are finished :) This cannot be corrected, since g4l
     cannot know the uncompressed filesize of the image at the
     begining of the restore.
     Progress will also fail for disks over 9.9 TeraByte :)

- INTRODUCTION -

First of all I want to say "Thank you" to 'nme' who allowed me to
use some lines of his code and supported me in taking control of
the project.


- LICENSE (if any) -

This Script is freeware. Get it, spread it, use it, modify it !
If you want to modify this script and put it on a website,
please drop me a mail so I know how to find it.
Also, only delete this helpfile if you have something better
on hand :)

As this script is based on the common Linux utils

BusyBox (www.busybox.net)
GNU coreutils (like 'dd') (www.gnu.org)
Linux Kernel 2.6.3 (www.kernel.org)
Dialog, based on Debian cdialog (dickey.his.com/dialog)
jetcat-mod, based on jetcat by Oskar Schirmer
  (www.scara.com/~schirmer/o/jetcat/)
dd_rescue (www.garloff.de/kurt/linux/ddrrescue/)
dd_rhelp (www.kalysto.org/utilities/dd_rhelp/)
partimage (www.partimage.org)
and others



                                              Page 119 of 206
be sure to respect their licenses.


- REQUIREMENTS -

If you downloaded the ISO file and just want to use this script,
you need the following:

For network use:
  -ethernet card (common PCI and onboard cards are supported)
  -FTP server: -in the same subnet
          -must support filesize bigger than 2 GB
          -must allow anonymous write access
          -MUST HAVE DIRECTORY 'img' writeable, or
           change variable $ftppath in ./g4l

           Take a look at vsFTPd ! A very good one.

  -a hard drive: IDE, SCSI or SATA types are supported

For local use:
  -two hard drives of the types above

For Click'n'Clone:
  -two hard drives of the types above


If you downloaded the development kit with all the sources and
want to modify the script and then burn your own ISO, you will
need the following to successfully compile and burn the CD:

-a running Linux box
-kernel >=2.6.3 sources (if you want to change kernel)
-LOOP device support
-mkisofs tools
-cdrecord

I hope i did not forget anything :)


- WARNINGS -

You should know what you do if you want to use this script:

First: THINK.
Second: THINK again.
Third: If you think you have thought enough, THINK again !
      It is very easy to mess up your hard drive.

As usual, this script comes WITHOUT ANY WARRANTY. Do not blame me
if you ruined your partitions or data. I have tested this script
on several computers, including an old AMD K6, INTEL Celeron4,


                                            Page 120 of 206
AMD Athlon XP with nForce2 Chipset and onboard LAN. It worked fine
for me. But I cannot test it under every environment. If it causes
trouble on your box, do NOT blame me. You have been warned :)

Don't forget, you can only:

-clone drives of the same size
-clone from smaller drive to bigger drive, leaves some space
 unallocated/unpartitioned
-restore drives of the same size
-restore smaller to bigger drives (same as above)

If you are NOT using g4l in local mode, filesystems do NOT matter.
You can clone whatever you want, XFS, hpfs, you name it!
If you want to use local mode, the harddrive has of course to
be mounted to write the images to the root directory. Therefore
only the most common FS are supported (shown in g4l).

If you modified some drives partition table in any way, be sure
to reboot if you want to do something with this new partition.
Kernel has to re-read the partition table, if you do not reboot,
the kernel will work with the 'old' partition information instead!

- BUGS -

On some very old machines you might encounter an error message
telling something about "SPURIOUS INTERRUPT detected" or something
like that. This might be caused by old APIC modes. Try to disable
this setting in your BIOS.
I had this error sometimes on my old K6 machine, but everything
seemed to work anyway.

Report other bugs and/or problems to:

fra_step@yahoo.com

But please keep in mind: This is no commercial project, so if
I think your question is stupid or has already been answered here,
do not be angry if I won't answer your mail :)

Be patient.

Thanks and good luck,

Frank




                                             Page 121 of 206
Instruct file that is displayed as part of the start process.

Basic Instruction for using G4L

Option 1: Enter g4l, and use menus to fill in options.
Option 2: Enter g4l with parameter options
 Available Options that can be used
  $1 - IP address of FTP Server
  $2 - IMAGE NAME WITH EXTENSION
  $3 - USERID and PASSWORD either of two formats
        USERID:PASSWORD or '-u USERID -p PASSWORD'
  $4 - dhcp (default to get ipaddress from dhcpd)
  $5 - change default directory from img to this
  $6 - eth0 (default or other device)
  $7 - reboot (blank no action, poweroff, reboot)
                   (after network backup or restore)

Examples:      g4l 192.168.0.1 image1.lzo user1:password1 dhcp img2
               g4l 192.168.0.1 image1.lzo '-u user1 -p password1' dhcp img2
               g4l 192.168.0.1 image1.gz
parameters must be used in order, but later ones can be left off
[Front end script options] will prompt for ftpserverip, device default eth0
Option 3: fg4l      [ftpserverip] [dev] [filename] (default front)
Option 4: efg4l [ftpserverip] [dev] [filename] (default front.bic)
Option 5: zxg4l     [ftpserverip] [dev] [filename] userid:password
Option 6: zexg4l [ftpserverip] [dev] [filename] userid:password

Option 4 and 6 use bicode.o3 encoded frontend files




                                          Page 122 of 206
Latest file that shows all the updates
that I have added with each version of g4l over the years.
Latest changes with 0.37 Released
Working with new group of students on Documentation
Rhoann Solangon, Justin Conner and Rogelio Sabangan Jr.
Added a keymap selection process to boot up
and to Utility Menu
Default kernel now 2.6.38.4
syslinux 4.04 Released (2011/04/19)
busybox 1.18.4 as of 3/13/2011
added check for lzma in makecd scripts
change hdt to 0.5.0 Released
memtest upgraded to 4.20
kernel 2.6.34.9 2011/04/17
kernel 2.6.35.12 2011/03/31
kernel 2.6.38.4 2011/04/21
kernel 2.6.39-rc4 2011/04/19
kernel 2.6.36.4 2011/02/17
kernel 2.6.37.6 2011/03/27
kernel 2.6.32.39 2011/04/22
kernel 2.6.33.12 2011/04/22
updated ntfs-3g and libslang files plus other updates
upgraded testdisk to 6.12-WIP Mon Jan 31 07:40:40 CET 2011 with strip code
Added agetty to look at adding ability to work with system
with only vt10x terminal
test g4l30o10 script that moves option A,1,2,3 on Local menu to
separate menu to handle the mounting of Local, CIFS, SSHFS or NFS.
Change g4l script to g4l30o10
added v directory under terminfo in /usr/share/terminfo and /lib/terminfo
for vt100
Thanks to Thomas E. Dickey of ncurses and dialog for info.
vt100 problem solved by above.
added all subdirectories of the terminfo directories, in case other
terminals may need the code. It seems to be rather small in total size.
Probable the x subdirectory could be removed, since the is no x running
in the g4l cd.
Added note of using Space Bar to select on 5 error message lines that
didn't have it.
Added link of ftp to ncftp
Added speed and duplex info to nic device listing.
Removed Toggle from compress menu options.
updated sshfs to version 2.2
updated ntpclient to latest version
Modified Progress screen size and T: output to remove tabs
Added klogd -c 6 to elimanate some kernel pop up messages
modified ifcheck2.sh to show Speed and Duplex of connection
added option to utility menu to use ntpclient to set time
added option to utility menu to display dmesg information
added option to utility menu to run startftpd script that
runs ftpd via tcpsvd as anonymous user


                                        Page 123 of 206
tcpsvd -vE 0.0.0.0 21 ftpd -w -v / 2>/var/log/tcpsvd.log &
Note: if g4l script is exited it unloads ftpd.
added option to utility menu to start telnetd server
added cleandrive8.dialog to utility menu for zero-out process
added call to part_info script in A: option on Local menu
to redetect added or changed usb devices.
Added part_info to S: option to update partition info
after adding or deleting an usb device.
Added some help text to isolinux.cfg and syslinux.cfg
Change some color setting in the g4l30o10 script
Modified Utility Menu with Letter options
Moved US keyboards to front on bkey script.
Added Menu Letter options to Utilities Menu.
Added prompting for Disk to use for parted on Util Menu
Added a failsafe menu with all kernels having failsafe opts
instead of just listing 1 failsafe kernel.
Can return to regular menu from failsafe.
Added 10 second sleep after call to partimage programs.

Latest changes with 0.36
Removed all kernels before 2.6.32.27 because they
come up with error message that kernel to old?
busybox 1.17.4 2010/11/22
kernel 2.6.38 rc2 2011/01/22
kernel 2.6.37      2011/01/05
kernel 2.6.36.3 2011/01/07
kernel 2.6.35.10 2010/12/16
kernel 2.6.34.8 2011/01/06
kernel 2.6.32.28 2011/01/07
Added vi and vim links to nano at user request.
Modified cleandrive7 to check for jetcat location.
Added Option P: to Local menu to allow for sub-directories
Changed g4l script to use the new g4l30o9 with P: option
BIG CHANGE - Upgraded build system to Fedora 14 from 10
Updated Programs and Libraries to Fedora 14
upgraded memtest to memtest86+4.10
Trying to add gpm mouse support with gpm?
gpm -m /dev/mouse0 -t ps2
seems to work for a ps2 mouse, don't know it usb mouse would?
Bug in MBRRestore line 346 missing a space between " and ]
Fedora Update on Dec 16th of some files and libraries
added strace
added scp
updated pci.ids and modules.pci files for HDT
added rpcbind and rpcinfo
update partimage and partimaged to 0.6.9
added ability to see lvm partitions by running vgchange -a y
but haven't worked it into the imaging system.
Added display of hdparm -i output after selecting source and
target disk to assist in making sure correct disk is selected.
Modified cleandisk8 program to work with both dialog and xdialog
Progress bar was not displaying with dialog usage.


                                           Page 124 of 206
Have made a test cleandrive8.dialog program that prompts for
partition to clear. Will work with non-fat partitions, but need to
make the program to use the lblank for fat partitions.
Added blkid program to image.
Added blkid info to sysinfo info
Added blkid info in addition to the hdparm info.
Added S: Special option with blkid option to Click'n'Clone Menu
Looking at using LZMA compression for ramdisk reduces size from 12M to 9M
changed partimage to make install-strip; moved to /usr/local/sbin
updated aespipe
added fsarchiver to local menu
required full tune2fs instead of busybox tune2fs plus lzo and lzma libs
Added -f option to ddrescue
Added -o to fsarchiver to overwrite older archives by default
Change script g4l30o9 to add the fsarchiver as default
ncftp upgraded to 3.2.5
Changed default kernel to 2.6.37

Latest changes with 0.35 Released
Added links to applets in busybox that didn't have them.
Create failsafe option with noapic noacpi pnpbios=off acpi=off pci=noacpi
applied 5 patches to the busybox 1.17.3 (Nov 6)
change g4l script to use /bin/bash since with finnix script
failed when using the dash that is mapped to sh. Used checkbasism
on the script, so not sure what the issue is.
Also, added code to filter out 127.0.0.1.
syslinux 4.03 release 2010/10/23 (alpha30)
Changed default kernel to 2.6.36
Added code if F: option file list fails, that it
will default to old prompt for filename manual
Entry Until I can get info on what MS ftp is doing
to cause failure.
Kernel 2.6.36          2010/10/20
Kernel 2.6.33.7         2010/08/02
Kernel 2.6.32.25         2010/10/29
Kernel 2.6.34.7         2010/09/13
Kernel 2.6.35.8         2010/10/29
Kernel 2.6.27.55         2010/10/29
syslinux 4.02         2010/07/22
busybox 1.17.3           2010/10/10
note: busybox is source from busybox.net using
busybox config files include in isolinux directory.
Added USB 3 option to 35.2, 34.4 and 32.19
Changed $(< filename) back to $(cat filename) "bashism"
Changed script due to "for" not working on Fedora 12?
   pad="";
   a=$xxsize2;
   while [ $a -le 12 ]
# for (a=xxsize2;a<=12;a++) Doesn't work on new bash?
   do
     pad=$pad\_;
     a=$(($a + 1));


                                          Page 125 of 206
  done



Latest changes with 0.34
Kernel 2.6.33.6     2010/07/05
Kernel 2.6.32.16     2010/07/05
Kernel 2.6.34.1     2010/07/05
Kernel 2.6.35-rc4    2010/07/05
Kernel 2.6.31.14     2010/07/05
Kernel 2.6.27.48     2010/07/05
Updated ncftp 3.2.4 2010/04/12
Added TestDisk to Utility Menu
Cleaning g4l30n in g4l30o8 script
Change g4l to use g4l30o8 script
syslinux 4.01 Released 2010/07/02
set cpu_freq on 32.x kernel and above
busybox 1.17.0       2010/07/06

Latest changes with 0.33
Four updated Kernels on 2010/04/01
  Kernel 2.6.27.45      2010/04/01
  Kernel 2.6.33.2      2010/04/01
  Kernel 2.6.32.11      2010/04/01
  Kernel 2.6.31.13      2010/04/01
Kernel 2.6.34-rc5       2010/04/19
Added SMP support to 2.6.32.9 and above
Added UDF CDROM support to 2.6.32.7 and above
syslinux 3.86 Released 2010/04/02
busybox-1.16.1          2010/03/29
modified testcd to check for sdx CDROMS and srx
Had NFS FS set, but had not set client options under that.
Added NFS option to 2.6.32.9 and 2.6.33 kernels
Added SMP option to 2.6.32.9 and 2.6.33 kernels
Added NFS option to local menu
Updated udp-sender / udp-reciever to 2010-01-30
Changed wording in Local Menu for clarification
From "A: Pick drive" "target/source partition for IMAGE file ($localdrive)" \
To "A: Pick drive" "Partition for/with IMAGE file ($localdrive)" \
In g4l30n script I use tabs set to two space in Editor, replaced tabs with two spaces
to make it display same without having to set editor. Adds about 20K to script size?
Added -x and -fx to the sfdisk backup option for MBR to included extended partition info.
Fixed error in restoring of EBRs, should have been seek instead of skip option.
Changed g4l script to have ddrescue instead of older dd_rescue
Changed dd_rescue to newer gnu ddrescue 1.12
Modified DDRESCUE menu to display ddrescue help info and allow options to be entered.
added checks to make sure disk or partition selected correctly
added ftpd and tcpsvd to busybox build to allow for ftpd
added startftpd as a sample script to start ftpd via tcpsvd using / directory.
added Poweroff to the Special options to allow for poweroff in addition to reboot.

Latest changes with 0.32


                                          Page 126 of 206
Kernel 2.6.30.10       2009/12/04
Kernel 2.6.31.12       2010/01/18
Upgrade 2.6.30 and above with ext4 support
Kernel 2.6.32.6       2010/01/25
Kernel 2.6.33 rc5      2010/01/21
busybox-1.15.3         2009/12/12
syslinux 3.84 released 2009/12/18
updated lblank6 to lblank7 to clear free space on partitions.
hdt (Hardware Test) 0.36 released
added testdisk
udpcast 20091230
added reboot.c32 for hdt
Split Syslinux menu into two part Default and Oldkern
Added reboot option to Syslinux menu
modified cleandrive5 to check for dialog and Xdialog

Latest changes with 0.31
Added FTP check status to F: Option
Kernel 2.6.29.4
Kernel 2.6.30.7         2009/09/15
Kernel 2.6.31          2009/09/09
Busybox-1.15.1 plus patches as of 9/23/2009
lzop support added to busybox
syslinux 3.83 pre11 with hdt (Hardware Test) 0.34
Updated Click-n-Clone option to just show disks
Upgrade ncftp to 3.2.3
updated some libraries and support programs
Added some debug support for USB and other changes to kernel
Updated file list option to show date and size
Updated udp-sender and udp-receiver to 2009/09/20 version

Latest changes with 0.30
Converted from Fedora 8 to Fedora 10 libraries and programs
syslinux 3.80 (Bug Fixes) added syslinux hdt (Hardware Test) 0.33
Kernels 2.6.29.3
busybox-1.13.4
Frank submitted updated g4l script that adds
udpcast options and make some menu functions.
Recompiled kernels bz25 - bz29.3 to include cifs
Adding CIFS (SAMBA) option to local menu
Added basic MBR backup to Network and Local Menu
Added MBR and EBR backup option.
Continued:
Have started working with 3 students on a special project with
the main ideal of updating documentation to the current level
and develope a g4l-lite that includes only default kernel and
ramdisk.gz and tools to add g4l via grub4dos, grub, or syslinux.
Students.
Devin Madrangchar * Wenifred Fasong * Julie Fenom

Latest changes with 0.29
Release syslinux 3.73


                                            Page 127 of 206
Kernels 2.6.27.10 and above rebuilt
reduced size by about 1/2MB but usb keyboards stopped working.
Have started working with 3 students on a special project with
the main ideal of updating documentation to the current level
and develope a g4l-lite that includes only default kernel and
ramdisk.gz and tools to add g4l via grub4dos, grub, or syslinux.
Students.
Devin Madrangchar * Wenifred Fasong * Julie Fenom

Latest changes with 0.28
busybox-1.13.2 - cleaned up applets
syslinux 3.73 pre 7
updated updcast
kernels up to 2.6.27.10
kernel 2.6.28
added chkldd to check libraries
moved programs to match with location on Fedora 8
changed back to use Fedora dd and gzip because of speed issues
Using grub4dos to run g4l from NTFS partitions.
ftp://amd64gcc.dyndns.org/g4llinux.exe
Above link is a test file that contains the files necessary.
updated udpcast programs to 12/13/2008
added option to use run="command" from grub (added to g4lmenu)


Latest changes with 0.27
Updated to latest programs from Fedora 8 for non-busybox program
and the latest necessary library files placed in exactly same locations
as they appear on Fedora 8 installation. Few unnecessary libraries found.
Changed ifcheck.sh script to ifcheck2.sh to use dialog instead of echo
for messages and added delay to give process time on slower machines.
Working on adding aespipe encryption option for encrypting ftp images
with gpg file and passphrase. (Network Menu)
Adding option to use sshfs to mount remote directory and save image via
ssh connection (Local menu).
busybox-1.11.2
getkey.sh - script to assist in getting key and passphrase from USB.
syslinux 3.72pre6


Latest changes with 0.26
added mdev as hotplug program
updated ntfs-3g
kernel 25.9
busybox 1.11.0 with patches to 7/02/2008
g4l30 script that shows partition size and type
added sfdisk and fsck programs.
added ifcheck script by dan.s@hostdime.com to recognize
 multiple eth devices and activate the first that gets a
 link for systems where eth0 is not the default.
Updated syslinux from 3.55 to 3.63
kernel 25.10 (added last minute untested)


                                          Page 128 of 206
Latest changes with 0.25
Moved development system from Fedora 5 to 8
Updated busybox to 1.10.1 (with patches to May 2)
Added telnetd program
Newer kernels
fixed missing lib for name resolution
moved dd, gzip and gunzip to busybox becuase of problem with
gunzip restore with the gunzip from Fedora 8 version.
compiled jetcat-mod with latest new system.
add bs=1M to dd commands in local menu (fix over 100% problem)
added autostart telnetd if kernel parameter telnetd=yes
added timeout 30 option to startup messages
added g4lmenu to show options
cleaned /dev directory to just console and raid subdirectories
use busybox mdev to dynamically create /dev entries
Added File list to Option B: on local Copy like F: on Network
Added ntpclient for time (ntpclient -h ntphost -s )

Latest changes with 0.24.
Updated busybox
Newer kernels to support new hardware
Newer syslinux
Updated other system programs, and trimed lib directory
to only include latest libraries needed by programs.
Minor script modifications.


Latest changes with 0.23.
Added ethtool to be able to set full duplex if auto gives half.
Updated busybox
Newer kernels
Newer syslinux
Added ntfs-3g with latest kernels that allows for write support
to the ntfs partitions for the local backup. Also added ntfsclone
options to the local backup option.

Latest changes that might change operations.
Big changes in 0.22 version. Latest 2.6.20 and 2.6.20git4 kernels
that seem to support the SATA controllers. Updates on support programs
and fix to bzip problem with splitting. Added resize2fs to cd. Added all
of the ntfsutil programs. Added new front end scripts to allow for
different filenames and using userid and passwords.

All scripts will prompt for ipaddress if left blank, but only the
zxg4l and zexg4l will prompt for userid and password. Leaving it
blank defaults to anonymous

xg4l and exg4l adds options
## ./xg4l ipaddress device filename useridpass
## ./xg4l 192.168.0.1 eth0 front '-u user -p password'
## ./xg4l 192.168.0.1 eth0 front user:password


                                            Page 129 of 206
## ./exg4l ipaddress device filename useridpass
## ./exg4l 192.168.0.1 eth0 front.bic '-u user -p password'
## ./exg4l 192.168.0.1 eth0 front.bic user:password

zxg4land zexg4l adds options also prompts for userid password

## ./zxg4l ipaddress device filename useridpass
## ./zxg4l 192.168.0.1 eth0 front.bic '-u user -p password'
## ./zxg4l 192.168.0.1 eth0 front.bic user:password

## ./zexg4l ipaddress device filename useridpass
## ./zexg4l 192.168.0.1 eth0 front.bic '-u user -p password'
## ./zexg4l 192.168.0.1 eth0 front.bic user:password

Redid the jetcat-mod program to just do what is needed for g4l.
Updated a lot of the support programs.

Added the creation dummy file in image directory, since one user
reported a failure if the directory is empty.
==================================================================

Big changes in 0.21 version. Have found that the 2.6.16 kernels are
not working as well as the previous version. My AMD64 machine with
them does not see the SATA drive, but 2.6.15 works fine, so that is
the default kernel, but the latest 2.6.16.20 is ther for testing.
Also, added options N and O that use NTFSCLONE to copy NTFS partitions.
I have only tested it using lzop compression, but it should work with
other compression. Make sure you understand what NTFSCLONE does and doesn't
do. Finally, changed default compression to lzop.

Newest kernels have a sis ide controller patch for the 5513 chipset.
Latest version adds necessary /lib files to add name resolution
New kernels and busybox-1.1.3. Also, user has found the nosmp option
makes e1000 card work. bzImage? nosmp
Thank You. mikes@kuentos.guam.net




                                           Page 130 of 206
G4Lmenu script that displays startup options for users.

### 12/31/20008 added to allow running command from grub
### add run="command line" to the grub line
### creates /tmp/runcmd to stop running twice.
### added sed CR filtering to allow multi-line commands
### run="command1CRcommand2CRcommand3"
if [ ! -s "/tmp/runcmd" ] ; then
   cat /proc/cmdline | grep run | cut -d\" -f 2 | sed -e 's/CR/\n/g' >/tmp/runcmd;
   if [ -s /tmp/runcmd ] ; then
      sh /tmp/runcmd
      sleep 10;
   fi
fi
dialog --title "Basic Instruction for using G4L " \
 --no-cancel --colors --ok-label "Run Program"\
 --inputbox "Option 1: Enter \Z1g4l\Zn, and use menus to fill in options.\n\
Option 2: Enter \Z1g4l\Zn with parameter options\n\
\Z4      \$1 - IP address of FTP Server\n\
      \$2 - IMAGE NAME WITH EXTENSION\n\
      \$3 - USERID and PASSWORD either of two formats\n\
           USERID:PASSWORD or '-u USERID -p PASSWORD'\n\
      \$4 - dhcp     (default to get ipaddress from dhcpd)\n\
      \$5 - change default directory from img to this\n\
      \$6 - eth0 (default or other device)\n\
      \$7 - reboot (blank no action, poweroff, reboot)\Zn\n\
parameters must be used in order, but later ones can be left off\n\
Option 3: \Z1fg4l      [ftpserverip] [dev] [filename] (default front)\Zn\n\
Option 4: \Z1efg4l [ftpserverip] [dev] [filename] (default front.bic)\Zn\n\
Option 5: \Z1zxg4l [ftpserverip] [dev] [filename] userid:password\Zn\n\
Option 6: \Z1zexg4l [ftpserverip] [dev] [filename] userid:password\Zn\n\
Example: \n\Z1g4l 192.168.0.1 test.lzo userx:passwordx dhcp img\Zn\n" 25 80 \
 "" 2>g4lmenu.opt$$
chmod 755 g4lmenu.opt$$
./g4lmenu.opt$$




                                  Page 131 of 206
ifcheck2.sh – shell script that checks for nic cards and tries to setup IP.
#!/bin/bash
#
# Quick interface check for G4L
#
# dan.s@hostdime.com
# Fri Jun 6 16:53:01 EDT 2008
#
# Modified Jul 17 2008 to use dialog instead of echo for messages.
got_ip()
{
speed=""
duplex=""
  if [ -n "$device" ] ; then
     speed=`ethtool $device | grep Speed | cut -f2 -d:`
     duplex=`ethtool $device | grep Duplex | cut -f2 -d:`
  fi
}

backtitle="Nic Interface checker for G4L by Daniel Selans dan.s@hostdime.com"
IF_COUNT=`ifconfig -a | grep eth | wc -l`
if [ $IF_COUNT -eq 0 ]; then
  dialog --backtitle "$backtitle" --sleep 5 --infobox "No ethernet device found! Skipping dhcp..." 5 65
  elif [ $IF_COUNT -eq 1 ]; then
  FOUND_IF=`ifconfig -a | grep eth | awk {'print $1'}`
  ifconfig $FOUND_IF up 2>/dev/null; ## sleep 5
  dialog --backtitle "$backtitle" --sleep 5 --infobox "Checking status $FOUND_IF for an active link." 5
65
  LINK_CHK=`ethtool $FOUND_IF | grep "Link detected" | awk {'print $3'}`
  if [ "$LINK_CHK" == "yes" ]; then
     dialog --backtitle "$backtitle" --sleep 5 --infobox "Found $FOUND_IF with active link, running dhcp
client..." 5 65
     IP_ADDRESS=`udhcpc -n -i $FOUND_IF -s /udhcpc.sh | grep Lease | cut -d\ -f3`
     if [ -z "$IP_ADDRESS" ]; then
        dialog --backtitle "$backtitle" --sleep 5 --infobox "Couldn't acquire IP via DHCP..." 5 65
        CURR_INT=eth0
     else
        device=$FOUND_IF
        got_ip
        CURR_INT=$FOUND_IF
     fi
  else
     dialog --backtitle "$backtitle" --sleep 5 --infobox "Found $FOUND_IF but no link..." 5 65
     CURR_INT=eth0
  fi
  elif [ $IF_COUNT -gt 1 ]; then
  dialog --backtitle "$backtitle" --sleep 5 --infobox "Found multiple interfaces, determining one with an
active link..." 5 65
  IF_ARRAY=( $(ifconfig -a | grep eth | awk {'print $1'}) )
  FOUND_ACTIVE=0
  for CURR_INT in "${IF_ARRAY[@]}"


                                            Page 132 of 206
   do
      ifconfig $CURR_INT up; ## sleep 5
      dialog --backtitle "$backtitle" --sleep 5 --infobox "Checking status $CURR_INT for an active link." 5
65
      LINK_CHK=`ethtool $CURR_INT | grep "Link detected" | awk {'print $3'}`
      if [ "$LINK_CHK" == "yes" ]; then
         FOUND_ACTIVE=1
         dialog --backtitle "$backtitle" --sleep 5 --infobox "Found $CURR_INT with active link, running dhcp
client..." 5 65
## Added code to check for dhcp address, since link without ip doesn't work.
         IP_ADDRESS=`udhcpc -n -i $CURR_INT -s /udhcpc.sh | grep Lease | cut -d\ -f3`
         if [ -z "$IP_ADDRESS" ]; then
            dialog --backtitle "$backtitle" --sleep 5 --infobox "Couldn't acquire IP via DHCP..." 5 65
            FOUND_ACTIVE=0
         else
            device=$CURR_INT
            got_ip
            break
         fi
##
      else
         FOUND_ACTIVE=0
      fi
   done
   if [ "$FOUND_ACTIVE" -eq "0" ]; then
      dialog --backtitle "$backtitle" --sleep 5 --infobox "Did not find any interfaces with an active link..." 5
65
      CURR_INT=eth0
      elif [ "$FOUND_ACTIVE" -eq "1" ]; then
# Run dhcp client
      IP_ADDRESS=`udhcpc -n -i $CURR_INT -s /udhcpc.sh | grep Lease | cut -d\ -f3`
      if [ -z "$IP_ADDRESS" ]; then
         dialog --backtitle "$backtitle" --sleep 5 --infobox "Couldn't acquire IP via DHCP..." 5 65
      else
         device=$CURR_INT
         got_ip
      fi
   else
      dialog --backtitle "$backtitle" --sleep 5 --infobox "Something went wrong during active link check..."
5 65
   fi
fi
device=$CURR_INT
got_ip
echo $CURR_INT >/tmp/device




                                               Page 133 of 206
TESTCD – script to setup /dev/cdrom to current device.

cd /dev
rm /dev/cdrom 2>/dev/null
devices=`ls [hs]d?`;
for h in $devices
  do
   drive=`cat /proc/partitions | grep $h`;
   if [ -z "$drive" ]; then
      media=`cat /sys/block/$h/device/media`;
      if [ "$media" = "cdrom" ]; then
         ln -s /dev/$h /dev/cdrom ;
      fi
   fi
  done
devices=`ls sr? 2>/dev/null `;
for h in $devices
  do
   media=`cat /sys/block/$h/device/model | cut -b 1-3`;
   if [ "$media" = "DVD" ]; then
      ln -s /dev/$h /dev/cdrom ;
   fi
  done




                                           Page 134 of 206
udhcpc.sh – Shell script used to setup IP address via dhcpd

#!/bin/sh

# udhcpc script edited by Tim Riker <Tim@Rikers.org> and Devin Bayer

[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1

{ # redirect to logger

 RESOLV_CONF="/etc/resolv.conf"
 [ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
 [ -n "$subnet" ] && NETMASK="netmask $subnet"

 case "$1" in
  deconfig)
  /sbin/ifconfig $interface 0.0.0.0
  ;;

      renew|bound)
      /sbin/ifconfig $interface $ip $BROADCAST $NETMASK

      if [ -n "$router" ] ; then
        echo "deleting routers for interface $interface"
        while route -n del default gw 0.0.0.0 dev $interface 2> /dev/null; do
        true
      done

      if route -n | egrep "^0.0.0.0"; then
         echo "default route already in place"
      else
         echo "adding default router $router"
         route add default gw $router dev $interface
      fi
 fi

 if (! grep -q -v DISABLE_DHCP $RESOLV_CONF) && echo -n > $RESOLV_CONF; then
   [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF
   for i in $dns ; do
   echo adding dns $i
   echo nameserver $i >> $RESOLV_CONF
 done
fi
;;
esac
} 2>&1 | ( logger -s -p daemon.info -t uhdcp || cat )

exit




                                                Page 135 of 206
Getkey.sh – script to help user copy key file and passphrase file.

#!/bin/sh
#
#
## Michael Setzer II - Program Modifications
projectname="GetKey"
AESPIPE=""
AESPIPEd=""
#AESPIPE=" aespipe -K /mykey1.gpg -P /passphrase -G / | "
#AESPIPEd="| aespipe -K /mykey1.gpg -P /passphrase -G / -d "

: ${DIALOG=dialog}
: ${DIALOG_OK=0}
: ${DIALOG_CANCEL=1}
: ${DIALOG_ESC=255}


createTemp()
{
  export tempfile${1}="/tmp/test${1}$$"
}

# local drive
createTemp localdrive
createTemp localname

netdevices=`cat /proc/net/dev |grep eth |cut -d: -f 1`
partitions=`cat /proc/partitions |grep .d |awk '{print $4}'`

### 2008/5/27 New partlist to have size and partitiion type.
partlist="";
fdisk -l 2>/dev/null | grep /dev | grep -v Disk | sed s/*/\ / | awk '{print $1,$6$7$8}' | cut -b6-30
>/tmp/partout
cat /proc/partitions |grep .d | awk '{print $4,$3}' >/tmp/sysinfo2
while read LINE
do
# xxdev=`echo $LINE | cut -b1-4`;
# xxsize=`echo $LINE | cut -b5-30`;
  xxdev=`echo $LINE | cut -f1 -d\ `;
  xxsize=`echo $LINE | cut -f2 -d\ `;
  xxsize2=`echo ${#xxsize}`;
# dev2=`echo $xxdev | cut -b4-4`;
# if [ "$xxdev2" = "" ]; then
  pad="";
# else
#      pad="_";
# fi
  for ((a=xxsize2;a<=12;a++))
  do
    pad=$pad\_;
  done

                                               Page 136 of 206
 xxtype="";
 xxtype=`cat /tmp/partout | grep $xxdev\ 2>/dev/null | cut -f2 -d\ `;
 if [ -z $xxtype ]; then
    xxtype="DISK";
 fi
 partlist="$partlist `printf "%s %s%s--%s off" $xxdev $pad $xxsize $xxtype `";
done </tmp/sysinfo2

### End of addition

for j in $netdevices
do netlist="$netlist `echo $j detected...OK off`"
done

$DIALOG --backtitle "$backtitle" \
--title "PICK DRIVE" \
--radiolist "Choose drive to write to/read from.\n(Use Space Bar)\n\
The drive that contains or will contain the image\
\nSupported FS are:\n\
ext2 - Linux\n\
ext3 - Linux\n\
reiserfs - Linux\n\
fat32 - Windows95/98/NT/2k/XP\n\
ntfs - Windows NT/2k/XP\
\n\nSelect partition (example: /dev/hda1):" 0 0 0 \
$partlist 2> $tempfilelocaldrive


retvallocaldrive=$?

choicelocaldrive=`cat $tempfilelocaldrive`
case $retvallocaldrive in
$DIALOG_OK)

localdrive=$choicelocaldrive
###
umount /mnt/local 2>/dev/null
mount /dev/$localdrive /mnt/local >/tmp/mount 2>&1
retvalmount=$?
if [ $retvalmount != 0 ] ; then
  $DIALOG --backtitle "$backtitle" \
  --title "ERROR" \
  --textbox /tmp/mount 0 0
  localdrive=""
  umount /mnt/local
## July 25m 2008
## Obsolete with addition of mount.helpers.
##            else
##              testntfs=`cat /etc/mtab | grep /dev/$localdrive | cut -f 3 -d\ `
##              if [ "$testntfs" = "ntfs" ]; then
##                umount /mnt/local 2>/dev/null
##                ntfs-3g /dev/$localdrive /mnt/local >/tmp/mount 2>&1


                                              Page 137 of 206
##               fi
fi
esac
files=`ls -1 -p /mnt/local/*.gpg `
###filelist="`echo Enter Filename on`"
for i in $files
do filelist="$filelist `echo $i file off`"
done

$DIALOG --backtitle "$backtitle" \
--title "BACKUP" \
--radiolist "Choose GPG Key File \
\n Select from following files:" 0 0 0 \
$filelist 2> $tempfilelocalname

retvallocalname=$?
localimagename=`cat $tempfilelocalname`
cp $localimagename /mykey1.gpg
files=""
filelist=""
files=`ls -1 -p /mnt/local/pass* `
###filelist="`echo Enter Filename on`"
for i in $files
do filelist="$filelist `echo $i file off`"
done

$DIALOG --backtitle "$backtitle" \
--title "BACKUP" \
--radiolist "Choose Passphrase File \
\n Select from following files:" 0 0 0 \
$filelist 2> $tempfilelocalname

retvallocalname=$?
localimagename=`cat $tempfilelocalname`
cp $localimagename /passphrase
umount /mnt/local

echo "TESTING KEY and Passphrase"
cd /
dd if=/dev/urandom of=./aes1.test bs=512 count=40
aespipe -K ./mykey1.gpg -P ./passphrase -G ./ <./aes1.test >./aes2.test
aespipe -K ./mykey1.gpg -P ./passphrase -G ./ -d <./aes2.test >./aes3.test
cmp -l ./aes1.test ./aes3.test

echo "cmp should result in no difference"
rm aes?.test -f




                                             Page 138 of 206
G4L30O10 – main script linked to g4l
#!/bin/bash
#
#
## Michael Setzer II - Program Modifications
projectname="G4L"
projectlongname="Disk Imaging with Linux"
: ${DIALOG=dialog}
: ${DIALOG_OK=0}
: ${DIALOG_CANCEL=1}
: ${DIALOG_ESC=255}
# global vars
author="Frank Stephen"
version="v0.37a"
year="2011"
website="http://sourceforge.net/projects/g4l/\nhttp://freshmeat.net/projects/$projectname"
ncftpopt="-o \"useHELP_SITE=0\""
ncftpstat="/tmp/ncftpstatus.out"
progout="/tmp/progress.out"
AESPIPE=""
AESPIPEd=""
#AESPIPE=" aespipe -K /mykey1.gpg -P /passphrase -G / | "
#AESPIPEd="| aespipe -K /mykey1.gpg -P /passphrase -G / -d "
## changed some default values, and allow passing of values at startup
## Set Tab setting to 2 spaces for best editting
## Date: 6/02/2007
## Optional Startup Parameters
## $1 - IP address of FTP Server
## $2 - IMAGE NAME WITH EXTENSION
## $3 - USERID and PASSWORD
##        either of two formats
##        USERID:PASSWORD
##        '-u USERID -p PASSWORD'
## $4 - dhcp (default to get ipaddress from dhcpd)
## $5 - change default directory from img to this
## $6 - change default device from eth0
## $7 - if not blank, set reboot to Yes unless $7 is poweroff
export PATH=$PATH:`pwd`
setterm -blank 60
pcnt=0
xreboot="No"
xpower="No"
if [ -n "$7" ]; then
   if [ "$7" = "poweroff" ]; then
      xpower="Yes"
   else
      xreboot="Yes"
   fi
fi
#device=eth0

                                           Page 139 of 206
#Added ifcheck.sh by dan.s@hostdime.com
#to handle systems with multiple nics and eth0 not default
device=`cat /tmp/device`
if [ -n "$6" ]; then
   device=$6
fi
if [ -n "$device" ]; then
   device=eth0
fi
netzip=Lzop
localzip=Lzop
server="$1"
netimagename="$2"
useridpass="$3"
ipaddress=`ifconfig $device | grep inet\ | grep -v 127.0.0.1 | cut -f 2 -d: | cut -f 1 -d\ |tr -d "\n"`
f_userpass()
{
## Added to support user:password format conversion to ncftp format
   if [ -n "$useridpass" ]; then
      if [ `echo $useridpass | awk '{print $1;}' -` != "-u" ] ; then
         useridpass=`echo $useridpass | awk -F: '{print "-u " $1 " -p " $2;}' -`
      fi
   fi
}
f_userpass
## automatcially change default if filename if ext is .lzo
## ext=`echo $2 | cut -d. -f2`
ext=`echo ${2##*.}`
if [ "$ext" = "lzo" ]; then
   netzip="Lzop"
fi
## automatcially change default if filename if ext is .bz
if [ "$ext" = "bz" ]; then
   netzip="BZip2"
fi
if [ "$ext" = "gz" ]; then
   netzip="GZip"
fi
if [ "$4" = "dhcp" ]; then
## 06/23/2007 new busybox changed ip from field 4 to field 3
   ipaddress=`udhcpc -n -i $device -s./udhcpc.sh | grep Lease | cut -d\ -f3 | tr -d "\n"`
   /sbin/ifconfig $device $ipaddress up
fi
## Created a function for the Progress Screen instead of multiple
## copies using multiply files. Just setup 1 function with a msg variable
## to set the minor differnces between earlier versions.
progress()
{
## Added a redirection of stderr from ncftp commands.
## Would get an error message rarely about a register 82 problem with duplex
## mismatch. This error would message the contents of the screen, but the updates
## of the progress would go on. Redirects output to file, and then displays last


                                               Page 140 of 206
## two lines of the file.
## This just sets the starting value as being OK
 echo "OK" >$ncftpstat
 echo "0.00% Starting" > $progout
## Added the Start time of the process to the progress screen
## Removed - Replaced with modification to jetcat-mod to
## Display MBs of data transferred of total, and Elapsed time.
## starttime=`date +%T`
 (
 while test "$pcnt" != "100"
 do
## changed to a common progress.out file for all progress
   pcnt=`tail -n1 $progout`
   echo "XXX"
## Modified Jetcat-mod to display two decimal positions
## have to cut off the decimals for the gauge to work.
   echo $pcnt | cut -d. -f 1
   printf "\n"
## msg variable set before calling the progress function to
## make minor variation between different screens.
   printf "%s\n" "$msg"
   printf "%s\n" "The progress bar shows the ratio of written source data"
   printf "%s\n" "and size of destination (harddrive/image). It will not be"
   printf "%s\n\n" "accurate if you restore 50G to a 100G drive for example."
   printf "%s\n\n" "Please stand by, this will might take some time!"
   printf "%s\n\n" "Device $device Speed $speed Duplex $duplex"
## Percentage displays with 2 decimal places, plus start time and current time.
## This lets one check time status of process in addition to percentage
   printf "%s\n" "Progress"
   printf "%s\n" "$pcnt"
## Removed Current time and Start time for modified jetcat-mod
##echo "Current Time: `date +%T`"
##echo "Start Time: $starttime"
## add display of last four lines of ncftp stderr if any.
   echo -n "ncftpstatus: "
   ncftpstatus=`tail -n4 $ncftpstat`
   printf "%s\n" "$ncftpstatus"
   printf "%s\n" "XXX"
   sleep 5
 done
 )|
 $DIALOG --backtitle "$backtitle" --title "Working..." --clear --gauge "One moment..." 22 75
## Outputs start time and current time, so it can be checked if one isn't around at end
## of process. Also, note one can use Ctrl-Alt F2 to switch to another screen to review
## the file contents or use the special command option.
# printf "%s\n\n" "Last 5 lines of time log" >/tmp/time
# tail -n5 $progout >>/tmp/time
 printf "\n\n%s\n\n" "Last 5 lines of time log with no tabs" >/tmp/time
 tail -n5 $progout | sed -e 's/\t/ /g' -e 's/% /%/' >>/tmp/time
## removed date process since jetcat-mod does a better job
## echo "$starttime `date +%T`">/tmp/time
 rm $progout


                                           Page 141 of 206
   touch $progout
## Added a pause to let the user see final results before it returns.
}
# path to images on ftp server
ftppath=img
if [ -n "$5" ]; then
   ftppath=$5
fi
# window title
backtitle="$projectname $version, $author $year modifications by Michael D. Setzer II"
part_info()
{
# parse info about devices to tempfiles
## original netdevices=`cat /proc/net/dev |grep eth |sed -e 's/://g' |awk '{print $1}'`
## Change1 netdevices=`cat /proc/net/dev |grep eth |sed -e 's/:/ /g' |awk '{print $1}'`
## Changed to terminate at the colon since after some options, a number was getting added
## to the eth0:
   netdevices=`grep eth </proc/net/dev |cut -d: -f 1`
   partitions=`grep .d </proc/partitions |awk '{print $4}'`
# write systeminfo file
   printf "========================================\n" > /tmp/sysinfo
   printf "Drive/Partition sizes:\n" >> /tmp/sysinfo
   grep .d </proc/partitions | awk '{print $4,$3}' |sort >>/tmp/sysinfo

 printf "\nDrive models:\n" >> /tmp/sysinfo
 for h in $partitions
 do
   length=`echo $h |wc -c`
   if [ $length -lt 5 ]; then
      echo $h >> /tmp/sysinfo
      cat /proc/ide/$h/model >> /tmp/sysinfo 2>/dev/null
   fi
 done
### 2008/5/27 New partlist to have size and partitiion type.
 partlist="";
 partonly="";
### 2009/3/15 New disklist to have just disks without partitions
 disklist="";
 fdisk -l 2>/dev/null | grep /dev | grep -v Disk | sed s/*/\ / | awk '{print $1,$6$7$8}' | cut -b6-30
>/tmp/partout
 grep .d </proc/partitions | awk '{print $4,$3}' >/tmp/sysinfo2
 while read LINE
 do
   xxdev=`echo $LINE | cut -f1 -d\ `;
   xxsize=`echo $LINE | cut -f2 -d\ `;
   xxsize2=`echo ${#xxsize}`;
   pad="";
   a=$xxsize2;
   while [ $a -le 12 ]
# for (a=xxsize2;a<=12;a++) Doesn't work on new bash?
   do
      pad=$pad\_;


                                              Page 142 of 206
        a=$(($a + 1));
     done
     xxtype="";
     xxtype=`grep $xxdev\ </tmp/partout 2>/dev/null | cut -f2 -d\ `;
     if [ -z $xxtype ]; then
        xxtype="DISK";
### 2009/3/15 New disklist to have just disks without partitions
        disklist="$disklist `printf "%s %s%s--%s off" $xxdev $pad $xxsize $xxtype `";
     fi
     partlist="$partlist `printf "%s %s%s--%s off" $xxdev $pad $xxsize $xxtype `";
     if [ "$xxtype" != "DISK" ] ; then
        partonly="$partonly `printf "%s %s%s--%s off" $xxdev $pad $xxsize $xxtype `";
     fi
  done </tmp/sysinfo2
  printf "\nblkid info:\n" >> /tmp/sysinfo
  blkid >> /tmp/sysinfo
### End of addition
}
#Function to Update Partition info.
part_info
for j in $netdevices
do
  netlist="$netlist `echo $j detected...OK off`"
done
f_textbox()
{
  $DIALOG --clear --backtitle "$backtitle" --title "$1" --textbox $2 0 0
}
f_msgbox()
{
  $DIALOG --backtitle "$backtitle" --title "$1" --clear --msgbox "$2" 0 0
}
f_compress()
{
  $DIALOG --backtitle "$backtitle" --title "COMPRESSION" \
  --radiolist "Choose whether to use compression or not.\n(Use Space Bar)\
\nBe careful, compression requires more CPU power!" 0 0 0 \
  "None" "No compression." off \
  "GZip" "GZip compression." off \
  "Lzop" "Lzop compression." ON \
  "BZip2" "BZip2 compression." off
}
f_mbr()
{
#                "M: MBR")
  if [ "$1" = "NET" ] ; then
     mbrimagename=$netimagename
  else
     mbrimagename=$localimagename
  fi
  $DIALOG --colors --pause "\Z1Note: \Z4The MBRBACK and MBRRESTORE only copy \
\nthe 512 byte boot sector and the Physical Partition Table.\


                                        Page 143 of 206
\nIt doesn't include the logical Partitions.\
\nThose are stored in EBR.\
\nThe MBRBACK2 and MBRRESTORE2 attempt to copy the EBRs as well,\
\nBUT it assumes standard track aligned partitions, and my not work\
\nIf you have Logical Partitions, Please do a Disk Backup." 15 70 10
  $DIALOG --radiolist "MBR BACKUP OR RESTORE\n\nThis copies the mbr and\
\nphysical partition table\
\nUse Space Bar to select Option" 0 0 0 \
  "MBRBACK" "Backup the MBR" off \
  "MBRRESTORE" "Restore the MBR" off \
  "MBRBACK2" "Backup the MBR and EBRs" off \
  "MBRRESTORE2" "Restore the MBR and EBRs" off 2> /tmp/mbr
  specialcommand=$(cat /tmp/mbr)
  if [ "$specialcommand" = "MBRBACK" ] ; then
     f_radiolist "BACKUP" "Choose Disk ONLY to backup MBR\n(Use Space Bar)\nSelect from:"
"$disklist" 2> $tempfilenetback
     retvalnetback=$?
     choicenetback=$(cat $tempfilenetback)
     case $retvalnetback in
      $DIALOG_OK)
      disk=/dev/$choicenetback
      if [ "$1" = "NET" ] ; then
         xcmd="(dd bs=512 count=1 if=$disk 2>/dev/null | ncftpput $ncftpopt -m $useridpass -c -d
/tmp/out $server "$ftppath/$mbrimagename" 2>>$ncftpstat) "
      else
         xcmd="(dd bs=512 count=1 if=$disk of=/mnt/local/$mbrimagename 2>/dev/null )"
      fi
      sh -c "$xcmd"
     esac
  fi
  if [ "$specialcommand" = "MBRBACK2" ] ; then
     f_radiolist "BACKUP" "Choose Disk ONLY to backup MBR\n(Use Space Bar)\nSelect from:"
"$disklist" 2> $tempfilenetback
     retvalnetback=$?
     choicenetback=$(cat $tempfilenetback)

  case $retvalnetback in
   $DIALOG_OK)
   disk=/dev/$choicenetback
   sectors=`fdisk -lu $disk | grep sectors/track | cut -f 3 -d\ `
   part5=`fdisk -lu $disk | grep "$choicenetback"5 | cut -b 14-25 `
   part6=`fdisk -lu $disk | grep "$choicenetback"6 | cut -b 14-25 `
   part7=`fdisk -lu $disk | grep "$choicenetback"7 | cut -b 14-25 `
   part8=`fdisk -lu $disk | grep "$choicenetback"8 | cut -b 14-25 `
   fdisk -lu $disk >disk.info
   echo \#Restore mbr >rest.mbr
   sfdisk -x -d $disk >sfdisk.sav
   echo "sfdisk -fx $disk <sfdisk.sav" >>rest.mbr
   dd if=$disk of=mbr bs=512 count=$sectors
   echo dd of=$disk if=mbr bs=512 >>rest.mbr
   if [ -n "$part5" ] ; then
     ebr5=`expr $part5 - $sectors`


                                           Page 144 of 206
     echo $part5 $ebr5
     dd if=$disk of=ebr5 bs=512 skip=$ebr5 count=$sectors
     echo dd of=$disk if=ebr5 bs=512 seek=$ebr5 >>rest.mbr
     fi
     if [ -n "$part6" ] ; then
        ebr6=`expr $part6 - $sectors`
        echo $part6 $ebr6
        dd if=$disk of=ebr6 bs=512 skip=$ebr6 count=$sectors
        echo dd of=$disk if=ebr6 bs=512 seek=$ebr6 >>rest.mbr
     fi
     if [ -n "$part7" ] ; then
        ebr7=`expr $part7 - $sectors`
        echo $part7 $ebr7
        dd if=$disk of=ebr7 bs=512 skip=$ebr7 count=$sectors
        echo dd of=$disk if=ebr7 bs=512 seek=$ebr7 >>rest.mbr
     fi
     if [ -n "$part8" ] ; then
        ebr8=`expr $part8 - $sectors`
        echo $part8 $ebr8
        dd if=$disk of=ebr8 bs=512 skip=$ebr8 count=$sectors
        echo dd of=$disk if=ebr8 bs=512 seek=$ebr8 >>rest.mbr
     fi
     mbrimagename2=`echo $mbrimagename | sed -e 's/.tar//g' -e 's/.gz//g'`;
     echo $mbrimagename2
     sleep 10
     tar -cvf $mbrimagename2.tar rest.mbr ?br* disk.info sfdisk.sav
     if [ -f $mbrimagename2.tar.gz ] ; then
        rm $mbrimagename2.tar.gz
     fi
     gzip $mbrimagename2.tar
     if [ "$1" = "NET" ] ; then
        xcmd="(cat $mbrimagename2.tar.gz | ncftpput $ncftpopt -m $useridpass -c -d /tmp/out $server
"$ftppath/$mbrimagename2".tar.gz 2>>$ncftpstat) "
     else
        xcmd="(cp $mbrimagename2.tar.gz /mnt/local/ ) "
     fi
     sh -c "$xcmd"
     sleep 10
    esac
 fi
 if [ "$specialcommand" = "MBRRESTORE" ] ; then
    f_radiolist "RESTORE" "Choose Disk ONLY to restore MBR\n(Use Space Bar)\nSelect from:"
"$disklist" 2> $tempfilenetback
    retvalnetback=$?
    choicenetback=$(cat $tempfilenetback)
    case $retvalnetback in
     $DIALOG_OK)
     disk=/dev/$choicenetback
     if [ "$1" = "NET" ] ; then
        xcmd="(ncftpget $ncftpopt $useridpass -c -V -d /tmp/out $server "$ftppath/$mbrimagename"
2>>$ncftpstat | dd bs=512 count=1 of=$disk 2>/dev/null) "
     else


                                          Page 145 of 206
      xcmd="(dd if=/mnt/local/$mbrimagename bs=512 count=1 of=$disk 2>/dev/null) "
   fi
   sh -c "$xcmd"
   sleep 2
   hdparm -z $disk
   sleep 2
   part_info
  esac
  fi
  if [ "$specialcommand" = "MBRRESTORE2" ] ; then
     $DIALOG --backtitle "$backtitle" \
     --title "RESTORE2" \
     --defaultno \
     --yesno "This is a critical operation to the disk\
\nit will overwrite the MBR and EBRs to the original\
\ndisk device that was used to create backup of the MBR.\
\nBe 100% sure before selecting YES or you will wipe out the disk\
\nIf in doubt do a Disk Image of the device.\
\nSelect Carefully:" 0 0
     retvalnetback=$?
     case $retvalnetback in
       $DIALOG_OK)
       if [ "$1" = "NET" ] ; then
          xcmd="(ncftpget $ncftpopt $useridpass -V -d /tmp/out $server . "$ftppath/$mbrimagename"
2>>$ncftpstat ) "
          sh -c "$xcmd"
          gunzip $mbrimagename
          tar -xvf `echo $mbrimagename | sed 's/.gz//g' `;
       else
          gunzip /mnt/local/$mbrimagename
          tar -xvf `echo $mbrimagename | sed 's/.gz//g' `;
       fi
       $DIALOG --backtitle "$backtitle" \
       --pause "MBRRESTORE2 uses a script created by MBRBACK2\
\nThe script copies the tracks with the MBR and EBRs\
\nThe script contains the original device\
\nThe script will be opened with nano\
\nand you can change it if necessary\
\nOr reboot if not 100% sure\
\nOtherwise use Ctrl-X to save and run script" 15 60 20
       nano rest.mbr
       sleep 2
       sh rest.mbr
       hdparm -z $disk
       sleep 2
       part_info
     esac
  fi
}
f_yesno()
{
  $DIALOG --backtitle "$backtitle" --title "$1" --clear --yesno "$2" 0 0


                                           Page 146 of 206
}
f_inputbox()
{
  $DIALOG --colors --backtitle "$backtitle" --title "$1" --clear --inputbox "$2" 0 0
}
f_radiolist()
{
  $DIALOG --backtitle "$backtitle" --title "$1" --radiolist "$2" 0 0 0 $3
}
getsize()
{
  grep $1 </proc/partitions | head -n 1 |awk '{print $3}'
}
f_rebootpoweroff()
{
  $DIALOG --backtitle "$backtitle" \
  --title "BACKUP" --timeout 10 \
  --menu "Choose Reboot or Poweroff\nand Press Enter\
\n10 second timeout defaults to Reboot:" 0 0 0 \
  "Reboot" "Reboot machine now" \
  "Poweroff" "Power down machine now" 2> rebootpoweroff
  retvalreboot=$?
  rebootval=`cat rebootpoweroff`
  if [ "$retvalreboot" = "255" ] ; then
     rebootval="Reboot"
  fi
  if [ "$retvalreboot" != "1" ] ; then
     case $rebootval in
      "Reboot") reboot;;
      "Poweroff") poweroff;;
     esac
  fi
}

f_chk_value_local()
{
  if [ "$localdrive" = "" ] ; then
     f_msgbox "ERROR" "No target drive set!\nMust use SpaceBar to select Disk/Partition\n->Back to
Main Menu."
     continue
  fi
  if [ "$localimagename" = "" ] ; then
     f_msgbox "WARNING" "No filename for image set, using default\nFilename: image.img.gz"
     localimagename=image.img.gz
  fi
  if [ "$localsplit" = "" ] ; then
     f_msgbox "WARNING" "Splitting not defined, using default\nSplitting: Off"
     localsplit=Off
  fi
  if [ "$localzip" = "" ] ; then
     f_msgbox "WARNING" "Compression not defined, using default\nCompression: None"
     localzip=None


                                              Page 147 of 206
  fi
}
f_chk_value_net()
{
  if [ "$ipaddress" = "" ] ; then
     f_msgbox "ERROR" "No Network IP Address for $device set!\n->Back to Main Menu."
     continue
  fi
  if [ "$server" = "" ] ; then
     f_msgbox "ERROR" "No FTP IP Address set!\n->Back to Main Menu."
     continue
  fi
  if [ "$netimagename" = "" ] ; then
     f_msgbox "WARNING" "No filename for image set, using default\nFilename: image.img.gz"
     netimagename=image.img.gz
  fi
  if [ "$netzip" = "" ] ; then
     f_msgbox "WARNING" "Compression not defined, using default\nCompression: None"
     netzip=None
  fi
}
createTemp()
{
  export tempfile${1}="/tmp/test${1}$$"
}
#
# create tempfiles for menu structure
# (Add localmount)
for a in main rawmenu netmenu device ip ftp netname netzip netback netrest localmenu localpath
localdrive localname localsplit localzip localback localrest clonemenu clonesource clonetarget
filemenu fileip filedevice filepart utilmenu hdparm utilzero ddres ddressource ddrestarget ddoptadd
udpoption localmount ntpserver dmesg
do
  createTemp $a
done
## 11/25/2010 Added localpath
localpath="/"
## 11/25/2010
#restart function
restartcheck()
{
  if [ "$xreboot" = "Yes" ] ; then
     $DIALOG --sleep 10 --infobox "Rebooting" 0 0
     reboot
  fi
  if [ "$xpower" = "Yes" ] ; then
     $DIALOG --sleep 10 --infobox "Powering Off" 0 0
     poweroff
  fi
}
# function to toggle reboot
f_toggle_reboot()


                                           Page 148 of 206
{
    if [ "$xreboot" = "Yes" ] ; then
       xreboot="No"
    else
       xpower="No"
       xreboot="Yes"
    fi
}
# function to toggle poweroff
f_toggle_poweroff()
{
  if [ "$xpower" = "Yes" ] ; then
     xpower="No"
  else
     xreboot="No"
     xpower="Yes"
  fi
}
# function to toggle disklist to disklist or partionlist
f_toggle_disklist()
{
  if [ "$disklist" = "$partlist" ]; then
     part_info
  else
     disklist=$partlist
  fi
}
# function to verify source and target
f_verify_source_target()
{
  if [ "$1" != "" -a "$2" != "" -a "$1" = "$2" ]; then
     f_msgbox "WARNING" "Target and source are identical"
  fi
}
#function for Special Options
f_specialopt()
{
## added the ability to run other commands within the script
## This includes all the functions that are included in the busybox
## system. There were a number of symbolic links on the original $projectname
## that actually where not included in the build of busybox.
## I rebuilt the busybox to include all the commands that had symbolic
## links that I could find in busybox. Running busybox will show the
## list of commands. The only ones that I could not find in the current
## busybox were dutmp, loadacm and update. Many of the commands probable
## are not needed, but since the links where already included I built them
## into the busybox.
## There are also a number of other programs in addition to the busybox collection
## bc, bzip2, jetcat-mod, ncftpget, ncftpls, ncftpput, partimage, partimaged
## split, tr, wc, brep, bash, cat, dialog, busybox, hdparm, dd_rescue, dd_rhelp, parted
## some of these are used in other options of the $projectname.
## Change dd_rescue and dd_rhelp to ddrescue


                                           Page 149 of 206
# "S: Special Commands")
  f_inputbox "Run Special Commands" \
  "Enter Commands to run. \
\nExample: route, ping -c 10 ipaddress, ifconfig \
\n          busybox for list of supported commands \
\nethtool - to set parameters if autoneg doesn't work\
\nFour Special Options All Case Senitive that some might find useful\
\n\Z4Buffy\Zn does directory of ftpserver\
\n\Z4Reboot\Zn toggles reboot ($xreboot) after backup/restore\
\n\Z4Poweroff\Zn toggles a poweroff ($xpower) after backup/restore\
\n\Z4Xena\Zn does special route gateway\
\n\Z4blkid\Zn Display blkid partition info\
\n\Z4part_info\Zn Update partition info after changing usb device\
\n my college network is setup with 4 logical Class C\
\n networks, but 1 physical network. This command sets\
\n a direct route rather than going thru the 10M router\
\n not pretty, but it makes it work at 100M instead of 10\
\n\nEnter Command with parameters (10 second pause):" 2> $tempfileip
  retvalip=$?
  case $retvalip in
    $DIALOG_OK)
    specialcommand=$(cat $tempfileip)
    if [ "$specialcommand" = "Xena" ] ; then
       specialcommand="route add $server gw $ipaddress"
    fi
    if [ "$specialcommand" = "Buffy" ] ; then
       specialcommand="ncftpls $useridpass ftp://$server/$ftppath/"
    fi
    if [ "$specialcommand" = "Reboot" ] ; then
       f_toggle_reboot
       specialcommand="echo xreboot set to $xreboot"
    fi
    if [ "$specialcommand" = "Poweroff" ] ; then
       f_toggle_poweroff
       specialcommand="echo xpower set to $xpower"
    fi
    if [ "$specialcommand" = "part_info" ] ; then
       part_info
       specialcommand="echo Partition info updated"
    fi
## Some commands don't produce output
## So I have it display the command being run
## Before and After, so you can see
## Exactly what you entered
    echo Begin: $specialcommand
    $specialcommand
    echo Done: $specialcommand
    echo "10 Second Pause"
    sleep 10;;
  esac
}
#changed main menus to functions


                                        Page 150 of 206
#draw: d_
d_agreemenu()
{
  $DIALOG --backtitle "$backtitle" \
  --title "INFORMATION" --clear \
  --yesno "$projectname - $projectlongname \
\n$author $year \
\n\n$projectname comes with ABSOLUTELY NO WARRANTY ! \
\n This is free Software, and you are welcome \
\n to redistribute it freely. Read the online Help \
\n for more info on this delicate topic. \
\n\n USE AT OWN RISK! \
\n\n Please use sourceforge and freshmeat sites \
\n to present any issues. Generally checked daily \
\n\n http://sourceforge.net/projects/g4l/ \
\n http://freshmeat.net/projects/g4l \
\n\n Accept these conditions? \
\n YES to proceed, NO to quit. " 22 60
}
d_mainmenu()
{
  $DIALOG --backtitle "$backtitle" \
  --title "MAIN MENU" \
  --menu "Choose your desired mode:" 0 0 0 \
  "RAW Mode" "ANY filesystem, every bit, local+ftp+cifs(smb)+sshfs+nfs" \
  "File Mode" "Some filesystems only, only files, local+special server" \
  "Utilities" "System info and tools" \
  "Show Help" "Show IMPORTANT help" 2> $tempfilemain
}
d_rawmenu()
{
  $DIALOG --backtitle "$backtitle" \
  --title "RAW MODE" \
  --menu "Choose one of the following options:\n\n" 0 0 0 \
  "Network use" "Backup/Restore to/from network (FTP, UDPCAST)" \
  "Local use" "Backup/Restore to/from local drive + (CIFS, SSHFS, NFS)" \
  "Click'n'Clone" "Directly clone a drive" 2> $tempfilerawmenu
}
d_localmount()
{
  $DIALOG --clear --backtitle "$backtitle" \
  --title "LOCAL MOUNT" \
  --menu "Choose one of the following options:\n\n" 0 78 5 \
  "A: Pick Local Mount" "Local Partition for/with IMAGE file ($localdrive)" \
  "B: cifs" "Mount remote directory via cifs (Windows Share)" \
  "C: sshfs" "Mount remote directory via sshfs" \
  "D: nfs" "Mount remote directory via nfs" 2> $tempfilelocalmount
  retvallocalmount=$?
  choicelocalmount=$(cat $tempfilelocalmount)
  case $choicelocalmount in
    "A: Pick Local Mount")
# Added to update for USB deviced plugged in.


                                           Page 151 of 206
# Suggested by Rhoann Solangon, Justin Connor and Rogelio Sabangan Jr.
   part_info
   f_radiolist "PICK DRIVE" "Choose drive to write to/read from.\n(Use Space Bar)\
\nThe drive that contains or will contain the image\
\nSupported FS are:\
\next2. ext3, ext4, reiserfs - Linux\
\nfat32 - Windows95/98/NT/2k/XP\
\nntfs - Windows NT/2k/XP\
\n\nSelect partition (example: /dev/hda1):" "$partonly" 2> $tempfilelocaldrive
   retvallocaldrive=$?
   choicelocaldrive=$(cat $tempfilelocaldrive)
   case $retvallocaldrive in
     $DIALOG_OK)
     localdrive=$choicelocaldrive
     umount /mnt/local 2>/dev/null
     mount /dev/$localdrive /mnt/local >/tmp/mount 2>&1
     retvalmount=$?
     if [ $retvalmount != 0 ] ; then
       f_textbox "ERROR" /tmp/mount
       localdrive=""
       umount /mnt/local
     fi;;
   esac;;
### sshfs Addition
   "C: sshfs")
# Set localdrive value
   localdrive="sshfs"
# Make sure /mnt/local is not mounted
   umount /mnt/local
   f_inputbox "Mount Remote directory via ssh to /mnt/local" \
   "ssh must be setup on the remote system \
\nsshfs format is as follows: \
\n sshfs user@remoteip:directory /mnt/local \
\n user would be the userid to connect with \
\n remoteip is the IP address or name of host followed by :\
\n directory can be left blank to use user directory \
\n local mount point must be /mnt/local\
\nExample: sshfs g4l@192.168.0.1:img/ /mnt/local \
\n\nNote: make sure that sshfs does work with you setup \
\n /mnt/local will be listed to make sure it mounted. \
\n\nEnter Command with parameters (10 second pause):" 2> $tempfileip
   retvalip=$?
   case $retvalip in
     $DIALOG_OK)
     specialcommand=$(cat $tempfileip)
## Some commands don't produce output
## So I have it display the command being run
## Before and After, so you can see
## Exactly what you entered
     echo Begin: $specialcommand
     $specialcommand
     echo Done: $specialcommand


                                          Page 152 of 206
     ls /mnt/local
     echo "Contents of local /mnt/local directory"
     echo "10 Second Pause"
     sleep 10;;
   esac;;
### sshfs End
### nfs Addition
   "D: nfs")
# Set localdrive value
   localdrive="nfs"
# Make sure /mnt/local is not mounted
   umount /mnt/local
   f_inputbox "Mount Remote directory via nfs to /mnt/local" \
   "nfs must be setup on the remote system \
\nand Firewall settings must be configured \
\nnfs format is as follows: \
\n mount -t nfs -o nolock remoteip:/nfs /mnt/local \
\n The -o nolock may or may not be required \
\n remoteip is the IP address or name of host followed by :\
\n directory can be left blank to use user directory \
\n local mount point must be /mnt/local\
\nExample: mount -t nfs -o nolock 192.168.0.1:/img /mnt/local \
\n\nNote: make sure that nfs does work with you setup \
\n /mnt/local will be listed to make sure it mounted. \
\n\nEnter Command with parameters (10 second pause):" 0 0 2> $tempfileip
   retvalip=$?
   case $retvalip in
     $DIALOG_OK)
     specialcommand=$(cat $tempfileip)
## Some commands don't produce output
## So I have it display the command being run
## Before and After, so you can see
## Exactly what you entered
     echo Begin: $specialcommand
     $specialcommand
     echo Done: $specialcommand
     ls /mnt/local
     echo "Contents of local /mnt/local directory"
     echo "10 Second Pause"
     sleep 10;;
   esac;;
### nfs End
### cifs Addition
   "B: cifs")
# Set localdrive value
   localdrive="cifs"
# Make sure /mnt/local is not mounted
   umount /mnt/local
   f_inputbox "Mount Remote directory via cifs to /mnt/local" \
   "cifs (Windows Share) must be setup on the remote system \
\ncifs format is as follows: \
\n mount -t cifs //remoteip/sharename /mnt/local -o user=user,pass=pass \


                                        Page 153 of 206
\n user would be the userid to connect with \
\n remoteip is the IP address or name of host followed by share name\
\n local mount point must be /mnt/local\
\nExample:\n mount -t cifs //192.168.7.168/share1 /mnt/local -o user=user,pass=\"\" \
\n\nNote: make sure that cifs does work with you setup \
\n /mnt/local will be listed to make sure it mounted. \
\n\nEnter Command with parameters (10 second pause):" 0 0 2> $tempfileip
     retvalip=$?
     case $retvalip in
      $DIALOG_OK)
      specialcommand=$(cat $tempfileip)
## Some commands don't produce output
## So I have it display the command being run
## Before and After, so you can see
## Exactly what you entered
      echo Begin: $specialcommand
      $specialcommand
      echo Done: $specialcommand
      ls /mnt/local
      echo "Contents of local /mnt/local directory"
      echo "10 Second Pause"
      sleep 10;;
     esac;;
### cifs End
  esac
}
d_netmenu()
{
## Added leading letters to menu otions
## to allow for selection by using letters.
## Added option C: to allow for DHCP option
## Added option F: to allow for non-anonymous use
## Added option S: for running extra commands during script
## Added option X: to reboot after finished
## Added the displaying of the current value of values
# Options B: and C: combined into B:
#          "C: Config with DHCP" "Set IP address DHCP ($ipaddress)" \
## 2011/03/09
#add code to add nic speed and duplex
  speed=""
  duplex=""
  if [ -n "$device" ] ; then
     speed=`ethtool $device | grep Speed | cut -f2 -d:`
     duplex=`ethtool $device | grep Duplex | cut -f2 -d:`
  fi
  $DIALOG --clear --backtitle "$backtitle" \
  --title "NETWORK USE" \
  --menu "" 24 78 18 \
  "A: Pick device" "ethernet device ($device $speed $duplex)" \
  "B: Set IP Address" "Manual or via DHCP ($ipaddress)" \
  "D: Config FTP" "FTP server IP ($server)" \
  "E: Config useridpass" "useridpass ($useridpass)" \


                                          Page 154 of 206
 "F: Config filename" "filename on FTP ($netimagename)" \
 "G: Compression" "compression types ($netzip)" \
 "H: Backup" "Backup drive/partition to FTP server" \
 "I: Restore" "Restore drive/partition from FTP server" \
 "M: MBR" "MBR Backup and Physical Partition Table" \
 "N: NTFSCLONE Backup" "Backup NTFS partition to FTP server" \
 "O: NTFSCLONE Restore" "Restore NTFS partition from FTP server" \
 "P: Path to Image Directory" "Default directory ($ftppath)" \
 "S: Special Commands" "example: route, ping, busybox, etc.." \
 "T: Display Time" "result after transfer.." \
 "U: UDP-MULTICAST-CLIENT" "UDP Multi-cast receive an image/drive" \
 "W: UDP-MULTICAST-SERVER" "UDP Multi-cast send an image/drive" \
 "V: Encrypt" "($AESPIPE)" \
 "X: Reboot/Poweroff" "Reboot/Poweroff machine now" 2> $tempfilenetmenu
}
d_localmenu()
{
  $DIALOG --clear --backtitle "$backtitle" \
  --title "LOCAL USE" \
  --menu "Choose one of the following options:\n\n" 0 78 15 \
  "A: Pick Local Mount" "Local, CIFS (Windows), SSHFS, NFS ($localdrive)" \
  "B: Config filename" "Set filename ($localimagename)" \
  "C: Toggle split" "Activate file splitting ($localsplit)" \
  "D: Compression" "Select compression types ($localzip)" \
  "E: Backup" "Backup drive/partition to local drive" \
  "F: Restore" "Restore drive/partition from local drive" \
  "G: fsarchiver Backup" "Backup fsarchiver partition to Local" \
  "H: fsarchiver Restore" "Restore fsarchiver partition from Local" \
  "M: MBR" "MBR Backup and Physical Partition Table" \
  "N: NTFSCLONE Backup" "Backup NTFS partition to Local" \
  "O: NTFSCLONE Restore" "Restore NTFS partition from Local" \
  "P: Set Local Path" "Set sub directory from path ($localpath)" \
  "S: Special Commands" "example: route, ping, busybox, etc.." \
  "T: Display Time" "result after transfer.." \
  "X: Reboot/Poweroff" "Reboot/Poweroff machine now" 2> $tempfilelocalmenu
}
d_clicknclone()
{
  $DIALOG --clear --backtitle "$backtitle" \
  --title "CLICK'n'CLONE" \
  --menu "Choose one of the following options:\n\n" 0 0 0 \
  "A: Select source" "Select source drive ($clonesource)" \
  "B: Select target" "Select target drive ($clonetarget)" \
  "C: Click'n'Clone" "Clone the drive now!" \
  "D: Toggle partitions" "in Selections Options" \
  "P: PowerOff"       "after Click'n'Clone ($xpower)" \
  "R: Reboot"        "after Clink'n'Clone ($xreboot)" \
  "S: Special Commands" "example: route, ping, busybox, etc.." 2>$tempfileclonemenu
}
d_filemode()
{
  $DIALOG --clear --backtitle "$backtitle" \


                                        Page 155 of 206
 --title "FILE MODE" \
 --menu "Choose one of the following options:\n\n" 0 0 0 \
 "A: Pick device" "ethernet device ($device)" \
 "B: Config device" "IP address ($ipaddress)" \
 "C: Select partition" "partition to mount (server/local mode only) ($filepart)" \
 "1: cifs" "Mount remote directory via cifs (Windows Share)" \
 "2: sshfs" "Mount remote directory via sshfs" \
 "3: nfs" "Mount remote directory via nfs" \
 "D: Launch client" "Launch 'partimage' in client/local mode" \
 "E: Launch server" "Launch 'partimaged' in server mode" 2> $tempfilefilemenu
}
d_utilities()
{
  $DIALOG --clear --backtitle "$backtitle" \
  --title "UTILITIES" \
  --menu "Choose one of the following options:\n\n" 0 78 14 \
  "A: System info" "Show drives, partitions and models" \
  "B: dmesg"        "Display dmesg Information" \
  "C: ftp"      "Start ftp server using startftpd script" \
  "D: hdparm"       "Set 32-bit I/O and UDMA66 (NEW hardware only!)" \
  "E: keymap"        "Select the keymap to use Default is US" \
  "F: ntpclient" "Set the time to a ntp time server (GMT)" \
  "G: telnetd" "Start telnetd server to allow telnet" \
  "H: Zero-Tool" "Zero-out free space on a partition" \
  "I: ddrescue" "Rescue defective drive and clone to new one" \
  "J: TestDisk" "Scan and Repair Disk partitions" \
  "K: Parted"      "Launch 'parted' partition manager (EXPERT USE!)" \
  "S: Special Commands" "example: route, ping, busybox, etc.." \
  "X: Reboot/Poweroff" "Reboot/Poweroff machine now" 2> $tempfileutilmenu
}
d_ddrescue()
{
  $DIALOG --clear --backtitle "$backtitle" \
  --title "DDRESCUE" \
  --menu "Choose one of the following options:\n\n" 0 0 0 \
  "Source" "Select (defective) source drive ($choiceddressource)" \
  "Target" "Select (new/clean) target drive ($choiceddrestarget)" \
  "HELP" "ddrescue help screen" \
  "Options" "Additional Runtime Options ($ddoptadd)" \
  "Rescue" "Rescue the drive now!" 2> $tempfileddres
}
d_udpinfo()
{
  $DIALOG --clear --backtitle "$backtitle" \
  --title "UDP MULTICAST INFORMATION" \
  --msgbox "Be careful: Using UDP Multicast creates high traffic on\
\nyour network devices (i.e. routers, switches, hubs, ...)\
\nand - depending on compression - possibly high load on\
\nboth client and server. Please visit\
\nhttp://udpcast.linux.lu/\
\nand read the manual if you would like to use additional\
\noptions like '--async --max-bitrate 10m --fec 8x8'\


                                           Page 156 of 206
\n(to use 1 peer, async transfer, limit transfer to 80M and use\
\n8x8 matrix of interleave x redundancy error correction)\
\nor others. Default is NO option set.\
\n\nYou might encounter re-xmits which should(!) be no prob." 0 0
}
d_agreemenu
case $? in
  $DIALOG_OK)
  while [ "$retvalmain" != "1" ]
  do
   retvalrawmenu=0
   retvalfilemenu=0
   retvalnetmenu=0
   retvalclonemenu=0
   retvallocalmenu=0
   retvalutilmenu=0
   d_mainmenu
   retvalmain=$?
   choicemain=$(cat $tempfilemain)
   case $retvalmain in
     $DIALOG_OK)
     case $choicemain in
      "RAW Mode")
      while [ "$retvalrawmenu" != "1" ]
      do
       d_rawmenu
       retvalrawmenu=$?
       choicerawmenu=$(cat $tempfilerawmenu)
       case $retvalrawmenu in
         $DIALOG_OK)
         case $choicerawmenu in
           "Network use")
           retvalnetmenu=0
           while [ "$retvalnetmenu" != "1" ]
           do
            d_netmenu
            retvalnetmenu=$?
            choicenetmenu=$(cat $tempfilenetmenu)
            case $retvalnetmenu in
              $DIALOG_OK)
              case $choicenetmenu in
               "V: Encrypt")
               if [ -n "$AESPIPE" ]; then
                 AESPIPE=""
                 AESPIPEd=""
               else
                 AESPIPE=" aespipe -K /mykey1.gpg -P /passphrase -G / | "
                 AESPIPEd="| aespipe -K /mykey1.gpg -P /passphrase -G / -d "
               fi;;
               "A: Pick device")
               f_radiolist "PICK DEVICE" "Choose network device\n(Use Space Bar)\nSelect from:"
"$netlist" 2> $tempfiledevice


                                         Page 157 of 206
            retvaldevice=$?
            choicedevice=$(cat $tempfiledevice)
            case $retvaldevice in
              $DIALOG_OK)
              device=$choicedevice;;
            esac;;
            "B: Set IP Address")
            f_inputbox "Set Network" "Set IP Address to match your subnet. \
\nExample: 192.168.0.5\nLeave BLANK for DHCP\n\nEnter IP Address:" 2> $tempfileip
            retvalip=$?
            case $retvalip in
              $DIALOG_OK)
              ipaddress=$(cat $tempfileip)
              if test -z $ipaddress ; then
                 ipaddress=`udhcpc -n -i $device -s./udhcpc.sh|grep Lease|cut -d\ -f3 | tr -d "\n"`
              fi
              /sbin/ifconfig $device $ipaddress up;;
              $DIALOG_ESC)
              if test -s $tempfileip ; then
                 ipaddress=$(cat $tempfileip)
                 /sbin/ifconfig $device $ipaddress up
              fi;;
            esac;;
## Added option to get IP via dhcpd
## Added the udhcpc to the busybox build and udhcpc.sh script
            "C: Config with DHCP")
            ipaddress=`udhcpc -n -i $device -s./udhcpc.sh|grep Lease|cut -d\ -f3 | tr -d "\n"`
            /sbin/ifconfig $device $ipaddress up;;
            "M: MBR")
            f_mbr "NET";;
            "D: Config FTP")
            f_inputbox "CONFIG FTP" "Enter IP Address of FTP Server.\nExample:
192.168.0.1\n\nFTP IP:" 2> $tempfileftp
            retvalftp=$?
            case $retvalftp in
              $DIALOG_OK)
              server=$(cat $tempfileftp);;
              $DIALOG_ESC)
              if test -s $tempfileftp ; then
                 server=$(cat $tempfileftp)
              fi;;
            esac;;
            "F: Config filename")
### Added this since a user report error if Directory was empty.
### This should add a dummy file that goes at end of list
            echo "END_OF_LIST" > {END_OF_LIST}
            ncftpput -m $useridpass $server $ftppath/ {END_OF_LIST} 2>/tmp/error
##@ Added 6/14/2009 to Provide user feedback if Write Access doesn't work
##@ or Userid or Password Fail
            status=$?
            if [ "$status" != "0" ] ; then
              $DIALOG --backtitle "$backtitle" \


                                            Page 158 of 206
                --pause "Upload Process Failed\n\nCheck FTP Write Access \
\nCheck Userid / Password\
\nIf Restoring Image Only - OK\
\nncftpput Status - $status \
\n0 Success. \
\n1 Could not connect to remote host. \
\n2 Could not connect to remote host - timed out. \
\n3 Transfer failed. \
\n4 Transfer failed - timed out. \
\n5 Directory change failed. \
\n6 Directory change failed - timed out. \
\n7 Malformed URL. \
\n8 Usage error." 23 60 10
             fi
##@ Added 5/25/2009 Show Date and Size
             files=`ncftpls -l $useridpass ftp://$server/$ftppath/ | awk '{printf("%s/_(%s-%s-%s)_
%.4fGB\n",$9,$6,$7,$8,$5/1024/1024/1024)}' | grep -v 'lost+found' | grep -v 'ncftpls:'`
             filelist="`echo Enter File_Date_Size on`"
             for i in $files
             do
                filelist="$filelist `echo $i off`"
             done
             filelist=`echo $filelist | sed -e 's/\// /g' -e 's/_(/(/g'`
             f_radiolist "BACKUP" "Choose Enter for New File Name\n(Use Space Bar)\n or Select
from following files:" "$filelist" 2> $tempfilenetname
             retvalnetback=$?
             if [ "$retvalnetback" != "0" ] ; then
                echo "Enter" >$tempfilenetname
             fi
             netimagename=$(cat $tempfilenetname)
             if [ "$netimagename" = "Enter" ] ; then
                f_inputbox "CONFIG FILENAME" \
                "Enter filename of the stored image. \
\nExample: hda_workstation2.lzo \
\nMBR Example: hda_workstartion2.tar.gz \
\n\nFilename:" 2> $tempfilenetname
                retvalnetname=$?
                case $retvalnetname in
                  $DIALOG_OK)
                  netimagename=$(cat $tempfilenetname);;
                  $DIALOG_ESC)
                  if test -s $tempfilenetname ; then
                    netimagename=$(cat $tempfilenetname)
                  fi;;
                esac
             fi;;
             "P: Path to Image Directory")
             f_inputbox "Image Directory" "Enter image directory of the stored image. \
\nCurrent setting: $ftppath\n\nDirectory:" 2> $tempfilenetname
             retvalnetname=$?
             case $retvalnetname in
                $DIALOG_OK)


                                          Page 159 of 206
                  ftppath=$(cat $tempfilenetname)
                  if [ -z $ftppath]; then
                    ftppath="."
                  fi;;
                  $DIALOG_ESC)
                  ftppath=img;;
               esac;;
## ncftp utility allows for userid and password to be set
## with the -u userid -p password values.
## Added a variable to contain these values.
               "E: Config useridpass")
               f_inputbox "CONFIG USERIDPASS" "Enter userid and password option. \
\nExample: -u userx -p password\n                or userx:password\n\nOptions:" 2> $tempfilenetname
               retvalnetname=$?
               case $retvalnetname in
                  $DIALOG_OK)
                  useridpass=$(cat $tempfilenetname)
## Added to support user:password format conversion to ncftp format
                  f_userpass;;
                  $DIALOG_ESC)
                  if test -s $tempfilenetname ; then
                    useridpass=$(cat $tempfilenetname)
## Added to support user:password format conversion to ncftp format
                    f_userpass
                  fi;;
               esac;;
## Changed default compress to Lzop
               "G: Compression")
               f_compress 2> $tempfilenetzip
               retvalnetzip=$?
               choicenetzip=$(cat $tempfilenetzip)
               case $retvalnetzip in
                  $DIALOG_OK)
                  netzip=$(cat $tempfilenetzip);;
                  $DIALOG_ESC)
                  if test -s $tempfilenetzip ; then
                    netzip=$(cat $tempfilenetzip)
                  fi;;
               esac;;
               "H: Backup")
               f_chk_value_net
               f_radiolist "BACKUP" "Choose Drive or Partition to backup\n(Use Space Bar)\nSelect
from:" "$partlist" 2> $tempfilenetback
               retvalnetback=$?
               choicenetback=$(cat $tempfilenetback)
               if [ "$choicenetback" = "" ] ; then
                  f_msgbox "ERROR" "No DISK or Partition Selected\nMust use SpaceBar to select
Disk/Partition\n->Back to Main Menu."
                  continue
               fi
               case $retvalnetback in
                  $DIALOG_OK)


                                           Page 160 of 206
                 disk=/dev/$choicenetback
                 f_yesno "ABOUT TO BACKUP" "Collected information:\
\nLocal IP Address: $ipaddress\
\nFTP IP Address: $server\
\nTarget imagename: $netimagename\
\nFTP path: $ftppath\
\nCompression: $netzip\
\nSource Drive: $disk\
\n\nAre you sure?"
                 case $? in
                  $DIALOG_OK)
                  readsize=`getsize $choicenetback`
                  pcnt=0
## msg set for backups.
                  msg="$projectname is backing up your drive.\n"
                  if [ "$netzip" = "None" ] ; then
                     xcmd="(dd bs=1M if=$disk 2>/dev/null | jetcat-mod -f 5000 -p $readsize 2>$progout |
$AESPIPE ncftpput $ncftpopt -m $useridpass -c -d /tmp/out $server "$ftppath/$netimagename"
2>>$ncftpstat) &"
                  fi
                  if [ "$netzip" = "GZip" ] ; then
                     xcmd="(dd bs=1M if=$disk 2>/dev/null | jetcat-mod -f 5000 -p $readsize 2>$progout |
gzip -c - | $AESPIPE ncftpput $ncftpopt -m $useridpass -c -d /tmp/out $server "$ftppath/
$netimagename" 2>>$ncftpstat) &"
                  fi
                  if [ "$netzip" = "Lzop" ] ; then
                     xcmd="(dd bs=1M if=$disk 2>/dev/null | jetcat-mod -f 5000 -p $readsize 2>$progout |
lzop -c - | $AESPIPE ncftpput $ncftpopt -m $useridpass -c -d /tmp/out $server "$ftppath/
$netimagename" 2>>$ncftpstat) &"
                  fi
                  if [ "$netzip" = "BZip2" ] ; then
                     xcmd="(dd bs=1M if=$disk 2>/dev/null | jetcat-mod -f 5000 -p $readsize 2>$progout |
bzip2 | $AESPIPE ncftpput $ncftpopt -m $useridpass -c -d /tmp/out $server "$ftppath/
$netimagename" 2>>$ncftpstat) &"
                  fi
                  sh -c "$xcmd"
                  progress
                  restartcheck;;
                 esac;;
              esac;;
              "N: NTFSCLONE Backup")
              f_chk_value_net
              f_radiolist "BACKUP" "Choose NTFS Partition ONLY to backup\n(Use Space
Bar)\nSelect from:" "$partonly" 2> $tempfilenetback
              retvalnetback=$?
              choicenetback=$(cat $tempfilenetback)
              if [ "$choicenetback" = "" ] ; then
                 f_msgbox "ERROR" "No DISK or Partition Selected\nMust use SpaceBar to select
Disk/Partition\n->Back to Main Menu."
                 continue
              fi
              date ### Echo Start Time


                                            Page 161 of 206
             date >/tmp/time
             case $retvalnetback in
                $DIALOG_OK)
                disk=/dev/$choicenetback
                f_yesno "ABOUT TO BACKUP" "Collected information:\
\nLocal IP Address: $ipaddress\
\nFTP IP Address: $server\
\nTarget imagename: $netimagename\
\nFTP path: $ftppath\
\nCompression: $netzip\
\nSource Drive: $disk\
\n\nAre you sure?"
                case $? in
                 $DIALOG_OK)
                 readsize=`getsize $choicenetback`
                 pcnt=0
## msg set for backups.
                 msg="$projectname is backing up your drive.\n"
                 if [ "$netzip" = "None" ] ; then
                    xcmd="(ntfsclone -s -o - $disk |$AESPIPE ncftpput $ncftpopt -m $useridpass -c -d
/tmp/out $server "$ftppath/$netimagename" 2>>$ncftpstat) "
                 fi
                 if [ "$netzip" = "GZip" ] ; then
                    xcmd="(ntfsclone -s -o - $disk|gzip -c - | $AESPIPE ncftpput $ncftpopt -m
$useridpass -c -d /tmp/out $server "$ftppath/$netimagename" 2>>$ncftpstat) "
                 fi
                 if [ "$netzip" = "Lzop" ] ; then
                    xcmd="(ntfsclone -s -o - $disk|lzop -c - | $AESPIPE ncftpput $ncftpopt -m
$useridpass -c -d /tmp/out $server "$ftppath/$netimagename" 2>>$ncftpstat) "
                 fi
                 if [ "$netzip" = "BZip2" ] ; then
                    xcmd="(ntfsclone -s -o - $disk |bzip2 | $AESPIPE ncftpput $ncftpopt -m $useridpass
-c -d /tmp/out $server "$ftppath/$netimagename" 2>>$ncftpstat) "
                 fi
                 sh -c "$xcmd"
                 restartcheck;;
                esac
                date     ### Echo End Time
                date >>/tmp/time
                sleep 10 ### Pause;;
             esac;;
#### Adding option to multi-cast image to many machines at one time
#### with multi-cast instead of uni-cast.
             "U: UDP-MULTICAST-CLIENT")
             if [ "$ipaddress" = "" ] ; then
                f_msgbox "ERROR" "No Network IP Address for $device set!\n->Back to Main Menu."
                continue
             fi
             f_radiolist "RESTORE" "Choose Drive or Partition to restore/receive\n(Use Space
Bar)\nSelect from:" "$partlist" 2> $tempfilenetback
             retvalnetback=$?
             choicenetback=$(cat $tempfilenetback)


                                           Page 162 of 206
             case $retvalnetback in
                $DIALOG_OK)
                disk=/dev/$choicenetback
                f_yesno "ABOUT TO UDP-RECEIVE" "Collected information:\
\nLocal IP Address: $ipaddress\
\nCompression: $netzip\
\nDestination Drive: $disk\
\n\nThis uses UDPCAST - udp-receiver\
\nFrom http://udpcast.linux.lu/\
\n\nAre you sure?"
                case $? in
                  $DIALOG_OK)
                  readsize=`getsize $choicenetback`
                  pcnt=0
## msg set for backups.
                  msg="$projectname is using udp-receive restore/receive your drives.\n"
                  if [ "$netzip" = "None" ] ; then
                     (udp-receiver --interface $device -f $disk)
                  fi
                  if [ "$netzip" = "Lzop" ] ; then
                     (udp-receiver --interface $device --pipe 'lzop -d -c -' -f $disk)
                  fi
                  if [ "$netzip" = "GZip" ] ; then
                     (udp-receiver --interface $device --pipe 'gunzip -c -' -f $disk)
                  fi
                  if [ "$netzip" = "BZip2" ] ; then
                     (udp-receiver --interface $device --pipe 'bzcat' -f $disk)
                  fi
                  echo "10 Second Pause"
                  sleep 10;;
                esac;;
             esac;;
             "W: UDP-MULTICAST-SERVER")
             if [ "$ipaddress" = "" ] ; then
                f_msgbox "ERROR" "No Network IP Address for $device set!\n->Back to Main Menu."
                continue
             fi
             d_udpinfo
             f_inputbox "Set UDP options" \
             "Enter additional options for udp-sender. \
\nExample: --async --max-bitrate 80m --fec 8x8 \
\nNote: Best to use no additional options first \
\n\nEnter options:" 2> $tempfileudpoption
             retvaludpoption=$?
             case $retvaludpoption in
                $DIALOG_OK)
                udpoption=$(cat $tempfileudpoption);;
                $DIALOG_ESC)
                if test -s $tempfileudpoption ; then
                  udpoption=$(cat $tempfileudpoption)
                fi;;
             esac


                                        Page 163 of 206
             f_radiolist "BACKUP" "Choose Drive or Partition to backup/send\n(Use Space
Bar)\nSelect from:" "$partlist" 2> $tempfilenetback
             retvalnetback=$?
             choicenetback=$(cat $tempfilenetback)
             case $retvalnetback in
               $DIALOG_OK)
               disk=/dev/$choicenetback
               f_yesno "ABOUT TO UDP-SEND" "Collected information:\
\nLocal IP Address: $ipaddress\
\nCompression: $netzip\
\nSource Drive: $disk\
\n\nThis uses UDPCAST - udp-sender\
\nFrom http://udpcast.linux.lu/\
\n\nAre you sure?"
               case $? in
                 $DIALOG_OK)
                 readsize=`getsize $choicenetback`
                 pcnt=0
## msg set for backups.
                 msg="$projectname is using udp-send to backup/send your drives.\n"
                 if [ "$netzip" = "None" ] ; then
                    (udp-sender $udpoption --interface $device -f $disk)
                 fi
                 if [ "$netzip" = "Lzop" ] ; then
                    (lzop -c <$disk | udp-sender $udpoption --interface $device)
                 fi
                 if [ "$netzip" = "GZip" ] ; then
                    (gzip -c <$disk | udp-sender $udpoption --interface $device)
                 fi
                 if [ "$netzip" = "BZip2" ] ; then
                    (bzip2 -c <$disk | udp-sender $udpoption --interface $device)
                 fi
                 echo "10 Second Pause"
                 sleep 10;;
               esac;;
             esac;;
             "S: Special Commands")
             f_specialopt;;
             "T: Display Time")
             f_textbox "TIME RESULTS" /tmp/time;;
## Instead of having to exit all the way out of the script
## or pressing the reset button, just added a reboot option.
             "X: Reboot/Poweroff")
             f_rebootpoweroff;;
             "O: NTFSCLONE Restore")
             f_chk_value_net
             f_radiolist "RESTORE" "Choose NTFS partition to restore the image to\n(Use Space
Bar)\n\nSelect from:" "$partonly" 2> $tempfilenetrest
             retvalnetrest=$?
             choicenetrest=$(cat $tempfilenetrest)
             if [ "$choicenetrest" = "" ] ; then
               f_msgbox "ERROR" "No DISK or Partition Selected\nMust use SpaceBar to select


                                         Page 164 of 206
Disk/Partition\n->Back to Main Menu."
                continue
             fi
             case $retvalnetrest in
                $DIALOG_OK)
                rest=/dev/$choicenetrest
                f_yesno "ABOUT TO RESTORE" "Collected information:\
\nLocal IP Address: $ipaddress\
\nFTP IP Address: $server\
\nSource imagename: $netimagename\
\nFTP path: $ftppath\
\nCompression: $netzip\
\nTarget disk: $rest\
\n\nAre you sure?"
                case $? in
                 $DIALOG_OK)
                 writesize=`getsize $choicenetrest`
                 pcnt=0
## msg for the restore options
                 msg="$projectname is restoring your drive.\n"
                 date >/tmp/time
                 if [ "$netzip" = "None" ] ; then
                    xcmd="(ncftpget $ncftpopt $useridpass -c -V -d /tmp/out $server "$ftppath/
$netimagename" 2>>$ncftpstat $AESPIPEd | ntfsclone -r --overwrite $rest - ) "
                 fi
                 if [ "$netzip" = "GZip" ] ; then
                    xcmd="(ncftpget $ncftpopt $useridpass -c -V -d /tmp/out $server "$ftppath/
$netimagename" 2>>$ncftpstat $AESPIPEd | gunzip -c -| ntfsclone -r --overwrite $rest - ) "
                 fi
                 if [ "$netzip" = "Lzop" ] ; then
                    xcmd="(ncftpget $ncftpopt $useridpass -c -V -d /tmp/out $server "$ftppath/
$netimagename" 2>>$ncftpstat $AESPIPEd | lzop -d -c -| ntfsclone -r --overwrite $rest - ) "
                 fi
                 if [ "$netzip" = "BZip2" ] ; then
                    xcmd="(ncftpget $ncftpopt $useridpass -c -V -d /tmp/out $server "$ftppath/
$netimagename" 2>>$ncftpstat $AESPIPEd | bzcat | ntfsclone -r --overwrite $rest - ) "
                 fi
                 sh -c "$xcmd"
                 date >>/tmp/time
                 rm /tmp/out
                 touch /tmp/out
                 restartcheck;;
                esac;;
             esac;;
             "I: Restore")
             f_chk_value_net
             f_radiolist "RESTORE" "Choose drive or partition to restore the image to\n(Use Space
Bar)\n\nSelect from:" "$partlist" 2> $tempfilenetrest
             retvalnetrest=$?
             choicenetrest=$(cat $tempfilenetrest)
             if [ "$choicenetrest" = "" ] ; then
                f_msgbox "ERROR" "No DISK or Partition Selected\nMust use SpaceBar to select


                                          Page 165 of 206
Disk/Partition\n->Back to Main Menu."
                continue
             fi
             case $retvalnetrest in
                $DIALOG_OK)
                rest=/dev/$choicenetrest
                f_yesno "ABOUT TO RESTORE" "Collected information:\
\nLocal IP Address: $ipaddress\
\nFTP IP Address: $server\
\nSource imagename: $netimagename\
\nFTP path: $ftppath\
\nCompression: $netzip\
\nTarget disk: $rest\
\n\nAre you sure?"
                case $? in
                 $DIALOG_OK)
                 writesize=`getsize $choicenetrest`
                 pcnt=0
## msg for the restore options
                 msg="$projectname is restoring your drive.\n"
                 if [ "$netzip" = "None" ] ; then
                    xcmd="(ncftpget $ncftpopt $useridpass -c -V -d /tmp/out $server "$ftppath/
$netimagename" 2>>$ncftpstat $AESPIPEd | jetcat-mod -f 5000 -p $writesize 2>$progout | dd bs=1M
of=$rest 2>/dev/null) &"
                 fi
                 if [ "$netzip" = "GZip" ] ; then
                    xcmd="(ncftpget $ncftpopt $useridpass -c -V -d /tmp/out $server "$ftppath/
$netimagename" 2>>$ncftpstat $AESPIPEd | gunzip -c -| jetcat-mod -f 5000 -p $writesize 2>$progout
|dd bs=1M of=$rest 2>/dev/null) &"
                 fi
                 if [ "$netzip" = "Lzop" ] ; then
                    xcmd="(ncftpget $ncftpopt $useridpass -c -V -d /tmp/out $server "$ftppath/
$netimagename" 2>>$ncftpstat $AESPIPEd | lzop -d -c -| jetcat-mod -f 5000 -p $writesize
2>$progout |dd bs=1M of=$rest 2>/dev/null) &"
                 fi
                 if [ "$netzip" = "BZip2" ] ; then
                    xcmd="(ncftpget $ncftpopt $useridpass -c -V -d /tmp/out $server "$ftppath/
$netimagename" 2>>$ncftpstat $AESPIPEd | bzcat | jetcat-mod -f 5000 -p $writesize 2>$progout |dd
bs=1M of=$rest 2>/dev/null) &"
                 fi
                 sh -c "$xcmd"
                 progress
                 rm /tmp/out
                 touch /tmp/out
                 restartcheck;;
                esac;;
             esac;;
            esac;;
           esac
         done;;
         "Local use")
         retvallocalmenu=0


                                        Page 166 of 206
         localsplit="Off"
         localzip="Lzop"
         while [ "$retvallocalmenu" != "1" ]
         do
           d_localmenu
           retvallocalmenu=$?
           choicelocalmenu=$(cat $tempfilelocalmenu)
           case $retvallocalmenu in
             $DIALOG_OK)
             case $choicelocalmenu in
              "A: Pick Local Mount")
              d_localmount;;
              "M: MBR")
              f_mbr "LOCAL";;
              "T: Display Time")
              f_textbox "TIME RESULTS" /tmp/time;;
              "X: Reboot/Poweroff")
              f_rebootpoweroff;;
### Modified to give list of files on /mnt/local
              "B: Config filename")
              files=`ls -1 -p /mnt/local$localpath | grep -v /`
              filelist="`echo Enter Filename on`"
              for i in $files
              do
                filelist="$filelist `echo $i file off`"
              done
              f_radiolist "BACKUP" "Choose Enter for New File Name(Use Space Bar)\n or Select from
following files:" "$filelist" 2> $tempfilelocalname
              retvallocalname=$?
              localimagename=$(cat $tempfilelocalname)
              if [ "$localimagename" = "Enter" ] ; then
                f_inputbox "CONFIG FILENAME" "Enter filename of the stored image. \
\nExample: hda_workstation2.img\n\nFilename:" 2> $tempfilelocalname
                retvallocalname=$?
                case $retvallocalname in
                   $DIALOG_OK)
                   localimagename=$(cat $tempfilelocalname);;
                   $DIALOG_ESC)
                   if test -s $tempfilelocalname ; then
                     localimagename=$(cat $tempfilelocalname)
                   fi;;
                esac
              fi;;
## 11/25/2010 local path
              "P: Set Local Path")
              files=`ls -1 -p /mnt/local$localpath | grep /`
              filelist="`echo / Path on`"
              for i in $files
              do
                filelist="$filelist `echo $i file off`"
              done
              f_radiolist "BACKUP" "Choose / for Current Path Name(Use Space Bar)\n or Select from


                                         Page 167 of 206
following files:" "$filelist" 2> $tempfilelocalpath
              localpath=/$(<$tempfilelocalpath)
              if [ "$localpath" = "//" ] ; then
                localpath="/"
              fi;;
## 11/25/2010 local path
              "C: Toggle split")
              $DIALOG --backtitle "$backtitle" \
              --title "TOGGLE SPLIT" \
              --radiolist "Choose if the imagefile should be split.\n(Use Space Bar)\
\nIf the FS limits filesize to 2GB, enable splitting!" 0 0 0 \
              "Off" "Splitting off." ON \
              "On" "Splitting on." off 2> $tempfilelocalsplit
              retvallocalsplit=$?
              choicelocalsplit=$(cat $tempfilelocalsplit)
              case $retvallocalsplit in
                $DIALOG_OK)
                localsplit=$(cat $tempfilelocalsplit);;
                $DIALOG_ESC)
                if test -s $tempfilelocalsplit ; then
                   localsplit=$(cat $tempfilelocalsplit)
                fi;;
              esac;;
              "D: Compression")
              f_compress 2> $tempfilelocalzip
              retvallocalzip=$?
              choicelocalzip=$(cat $tempfilelocalzip)
              case $retvallocalzip in
                $DIALOG_OK)
                localzip=$(cat $tempfilelocalzip);;
                $DIALOG_ESC)
                if test -s $tempfilelocalzip ; then
                   localzip=$(cat $tempfilelocalzip)
                fi;;
              esac;;
              "E: Backup")
              f_chk_value_local
              f_radiolist "BACKUP" "Choose Drive or Partition to backup\n(Use Space Bar)\nSelect
from:" "$partlist" 2> $tempfilelocalback
              retvallocalback=$?
              choicelocalback=$(cat $tempfilelocalback)
              case $retvallocalback in
                $DIALOG_OK)
                localback=/dev/$choicelocalback
                if [ "$choicelocalback" = "" ] ; then
                   f_msgbox "ERROR" "No DISK or Partition Selected\nMust use SpaceBar to select
Disk/Partition\n->Back to Main Menu."
                   continue
                fi
                f_yesno "ABOUT TO BACKUP" "Collected information:\
\nTarget drive in /mnt/local$localpath: $localdrive\
\nFilename for image: $localimagename\


                                          Page 168 of 206
\nSplitting: $localsplit\
\nCompression: $localzip\
\nSource drive: $localback\
\n\nAre you sure?"
                 case $? in
                   $DIALOG_OK)
                   readsize=`getsize $choicelocalback`
                   pcnt=0
## Message for local backup
                   msg="$projectname is backing up your drive locally.\n"
                   if [ "$localzip" = "None" ] ; then
                      if [ "$localsplit" = "Off" ] ; then
                         dd bs=1M if=$localback 2>/dev/null |jetcat-mod -f 5000 -p $readsize 2>$progout | dd
bs=1M of=/mnt/local$localpath$localimagename 2>/dev/null &
                      fi
                      if [ "$localsplit" = "On" ] ; then
                         (dd bs=1M if=$localback 2>/dev/null |jetcat-mod -f 5000 -p $readsize 2>$progout |
split -b 1000m - /mnt/local$localpath$localimagename. ) &
                      fi
                   fi
                   if [ "$localzip" = "GZip" ] ; then
                      if [ "$localsplit" = "Off" ] ; then
                         (dd bs=1M if=$localback 2>/dev/null |jetcat-mod -f 5000 -p $readsize 2>$progout |
gzip -c - >/mnt/local$localpath$localimagename) &
                      fi
                      if [ "$localsplit" = "On" ] ; then
                         (dd bs=1M if=$localback 2>/dev/null |jetcat-mod -f 5000 -p $readsize 2>$progout |
gzip -c - | split -b 1000m - /mnt/local$localpath$localimagename. ) &
                      fi
                   fi
                   if [ "$localzip" = "Lzop" ] ; then
                      if [ "$localsplit" = "Off" ] ; then
                         (dd bs=1M if=$localback 2>/dev/null |jetcat-mod -f 5000 -p $readsize 2>$progout |
lzop -c - >/mnt/local$localpath$localimagename) &
                      fi
                      if [ "$localsplit" = "On" ] ; then
                         (dd bs=1M if=$localback 2>/dev/null |jetcat-mod -f 5000 -p $readsize 2>$progout |
lzop -c - | split -b 1000m h- /mnt/local$localpath$localimagename. ) &
                      fi
                   fi
                   if [ "$localzip" = "BZip2" ] ; then
                      if [ "$localsplit" = "Off" ] ; then
                         (dd bs=1M if=$localback 2>/dev/null |jetcat-mod -f 5000 -p $readsize 2>$progout |
bzip2 >/mnt/local$localpath$localimagename) &
                      fi
                      if [ "$localsplit" = "On" ] ; then
                         (dd bs=1M if=$localback 2>/dev/null |jetcat-mod -f 5000 -p $readsize 2>$progout |
bzip2 | split -b 1000m - /mnt/local$localpath$localimagename. ) &
                      fi
                   fi
                   progress
###                umount /mnt/local


                                             Page 169 of 206
                   rm /tmp/out
                   touch /tmp/out
                   restartcheck;;
                 esac;;
              esac;;
              "G: fsarchiver Backup")
              if [ "$localimagename" = "" ] ; then
                 f_msgbox "WARNING" "No filename for image set, using default\nFilename:
image.img.gz"
                 localimagename=image.img.gz
              fi
              f_radiolist "BACKUP" "Choose Partition to backup\n(Use Space Bar)\nSelect from:"
"$partlist" 2> $tempfilelocalback
              retvallocalback=$?
              choicelocalback=$(cat $tempfilelocalback)
              if [ "$choicelocalback" = "" ] ; then
                 f_msgbox "ERROR" "No DISK or Partition Selected\nMust use SpaceBar to select
Disk/Partition\n->Back to Main Menu."
                 continue
              fi
              f_radiolist "Fsarchiver compression" "Choose Compression Option\nHigher Numbers
give better compression\nBut take much more time\n(Use Space Bar to Select" \
              "1 lzo-3 on \
              2 gzip-3 off \
              3 gzip-6 off \
              4 gzip-9 off \
              5 bzip2-2 off \
              6 bzip2-5 off \
              7 lzma-1 off \
              8 lzma-6 off \
              9 lzma-9 off" 2> $tempfilelocalzip
              retvallocalzip=$?
              choicelocalzip=$(cat $tempfilelocalzip)
              date       ### Echo Start Time
              date >/tmp/time
              case $retvallocalback in
                 $DIALOG_OK)
                 disk=/dev/$choicelocalback
                 f_yesno "ABOUT TO BACKUP" "Collected information:\
\nTarget imagename: $localimagename\
\nCompression: $localzip\
\nSource Drive: $disk\
\n\nAre you sure?"
                 case $? in
                   $DIALOG_OK)
                   fsarchiver savefs -v -o -z $choicelocalzip /mnt/local$localpath$localimagename $disk
                   restartcheck;;
                 esac
                 date     ### Echo End Time
                 date >>/tmp/time
                 sleep 10 ### Pause;;
              esac;;


                                           Page 170 of 206
             "H: fsarchiver Restore")
             if [ "$localimagename" = "" ] ; then
                f_msgbox "WARNING" "No filename for image set, using default\nFilename:
image.img.gz"
                localimagename=image.img.gz
             fi
             if [ "$localzip" = "" ] ; then
                f_msgbox "WARNING" "Compression not defined, using default\nCompression: None"
                localzip=None
             fi
             f_radiolist "RESTORE" "Choose partition to restore the image to\n(Use Space
Bar)\n\nSelect from:" "$partlist" 2> $tempfilelocalrest
             retvallocalrest=$?
             choicelocalrest=$(cat $tempfilelocalrest)
             if [ "choicelocalrest" = "" ] ; then
                f_msgbox "ERROR" "No DISK or Partition Selected\nMust use SpaceBar to select
Disk/Partition\n->Back to Main Menu."
                continue
             fi
             case $retvallocalrest in
                $DIALOG_OK)
                rest=/dev/$choicelocalrest
                f_yesno "ABOUT TO RESTORE" "Collected information:\
\nSource imagename: $localimagename\
\nCompression: $localzip\
\nTarget disk: $rest\
\n\nAre you sure?"
                case $? in
                  $DIALOG_OK)
## msg for the restore options
                  msg="$projectname is restoring your drive.\n"
                  date >/tmp/time
### 07/21/2007
                  fsarchiver restfs -v /mnt/local$localpath$localimagename id=0,dest=$rest
                  date >>/tmp/time
                  sleep 10
                  rm /tmp/out
                  touch /tmp/out
                  restartcheck;;
                esac;;
             esac;;
             "N: NTFSCLONE Backup")
             if [ "$localimagename" = "" ] ; then
                f_msgbox "WARNING" "No filename for image set, using default\nFilename:
image.img.gz"
                localimagename=image.img.gz
             fi
             if [ "$localzip" = "" ] ; then
                f_msgbox "WARNING" "Compression not defined, using default\nCompression: None"
                localzip=None
             fi
             f_radiolist "BACKUP" "Choose NTFS Partition ONLY to backup\n(Use Space


                                        Page 171 of 206
Bar)\nSelect from:" "$partonly" 2> $tempfilelocalback
             retvallocalback=$?
             choicelocalback=$(cat $tempfilelocalback)
             if [ "$choicelocalback" = "" ] ; then
                f_msgbox "ERROR" "No DISK or Partition Selected\nMust use SpaceBar to select
Disk/Partition\n->Back to Main Menu."
                continue
             fi
             date          ### Echo Start Time
             date >/tmp/time
             case $retvallocalback in
                $DIALOG_OK)
                disk=/dev/$choicelocalback
                f_yesno "ABOUT TO BACKUP" "Collected information:\
\nTarget imagename: $localimagename\
\nCompression: $localzip\
\nSource Drive: $disk\
\n\nAre you sure?"
                case $? in
                 $DIALOG_OK)
                 readsize=`getsize $choicelocalback`
                 pcnt=0
## msg set for backups.
## 07/21/2007
                 msg="$projectname is backing up your drive.\n"
                 if [ "$localzip" = "None" ] ; then
                    if [ "$localsplit" = "Off" ] ; then
                       (ntfsclone -s -o - $disk >/mnt/local$localpath$localimagename )
                    fi
                    if [ "$localsplit" = "On" ] ; then
                       (ntfsclone -s -o - $disk |split -b 1000m - /mnt/local$localpath$localimagename. )
                    fi
                 fi
                 if [ "$localzip" = "GZip" ] ; then
                    if [ "$localsplit" = "Off" ] ; then
                       (ntfsclone -s -o - $disk |gzip -c - >/mnt/local$localpath$localimagename )
                    fi
                    if [ "$localsplit" = "On" ] ; then
                       (ntfsclone -s -o - $disk |gzip -c - | split -b 1000m -
/mnt/local$localpath$localimagename. )
                    fi
                 fi
                 if [ "$localzip" = "Lzop" ] ; then
                    if [ "$localsplit" = "Off" ] ; then
                       (ntfsclone -s -o - $disk |lzop -c - >/mnt/local$localpath$localimagename )
                    fi
                    if [ "$localsplit" = "On" ] ; then
                       (ntfsclone -s -o - $disk |lzop -c - | split -b 1000m -
/mnt/local$localpath$localimagename. )
                    fi
                 fi
                 if [ "$netzip" = "BZip2" ] ; then


                                             Page 172 of 206
                     if [ "$localsplit" = "Off" ] ; then
                        (ntfsclone -s -o - $disk |bzip2 >/mnt/local$localpath$localimagename )
                     fi
                     if [ "$localsplit" = "On" ] ; then
                        (ntfsclone -s -o - $disk |bzip2 | split -b 1000m -
/mnt/local$localpath$localimagename. )
                     fi
                  fi
                  restartcheck;;
                esac
                date         ### Echo End Time
                date >>/tmp/time
                sleep 10 ### Pause;;
             esac;;
             "O: NTFSCLONE Restore")
             if [ "$localimagename" = "" ] ; then
                f_msgbox "WARNING" "No filename for image set, using default\nFilename:
image.img.gz"
                localimagename=image.img.gz
             fi
             if [ "$localzip" = "" ] ; then
                f_msgbox "WARNING" "Compression not defined, using default\nCompression: None"
                localzip=None
             fi
             f_radiolist "RESTORE" "Choose NTFS partition to restore the image to\n(Use Space
Bar)\n\nSelect from:" "$partonly" 2> $tempfilelocalrest
             retvallocalrest=$?
             choicelocalrest=$(cat $tempfilelocalrest)
             if [ "choicelocalrest" = "" ] ; then
                f_msgbox "ERROR" "No DISK or Partition Selected\nMust use SpaceBar to select
Disk/Partition\n->Back to Main Menu."
                continue
             fi
             case $retvallocalrest in
                $DIALOG_OK)
                rest=/dev/$choicelocalrest
                f_yesno "ABOUT TO RESTORE" "Collected information:\
\nSource imagename: $localimagename\
\nCompression: $localzip\
\nTarget disk: $rest\
\n\nAre you sure?"
                case $? in
                  $DIALOG_OK)
                  writesize=`getsize $choicelocalrest`
                  pcnt=0
## msg for the restore options
                  msg="$projectname is restoring your drive.\n"
                  date >/tmp/time
### 07/21/2007
                  multifiles="";
                  if [ "$localsplit" = "On" ] ; then
                     multifiles=".*";


                                        Page 173 of 206
                   fi
                   if [ "$localzip" = "None" ] ; then
                      (cat /mnt/local$localpath$localimagename$mulifiles | ntfsclone -r --overwrite $rest - )
                   fi
                   if [ "$localzip" = "GZip" ] ; then
                      (cat /mnt/local$localpath$localimagename$multifiles | gunzip -c -| ntfsclone -r
--overwrite $rest - )
                   fi
                   if [ "$localzip" = "Lzop" ] ; then
                      (cat /mnt/local$localpath$localimagename$multifiles | lzop -d -c -| ntfsclone -r
--overwrite $rest - )
                   fi
                   if [ "$localzip" = "BZip2" ] ; then
                      (cat /mnt/local$localpath$localimagename$multifiles | bzcat | ntfsclone -r --overwrite
$rest - )
                   fi
                   date >>/tmp/time
                   sleep 10
                   rm /tmp/out
                   touch /tmp/out
                   restartcheck;;
                 esac;;
              esac;;
              "S: Special Commands")
              f_specialopt;;
              "F: Restore")
              f_chk_value_local
              f_radiolist "RESTORE" "Choose Drive or Partition to restore\n(Use Space Bar)\nSelect
from:" "$partlist" 2> $tempfilelocalrest
              retvallocalrest=$?
              choicelocalrest=$(cat $tempfilelocalrest)
              if [ "$choicelocalrest" = "" ] ; then
                 f_msgbox "ERROR" "No DISK or Partition Selected\nMust use SpaceBar to select
Disk/Partition\n->Back to Main Menu."
                 continue
              fi
              case $retvallocalrest in
                 $DIALOG_OK)
                 localrest=/dev/$choicelocalrest
                 f_yesno "ABOUT TO RESTORE" "Collected information:\
\nTarget drive in /mnt/local: $localdrive\
\nFilename for image: $localimagename\
\nSplitting: $localsplit\
\nCompression: $localzip\
\nTarget drive: $localrest\
\n\nAre you sure?"
                 case $? in
                   $DIALOG_OK)
                   writesize=`getsize $choicelocalrest`
                   pcnt=0
## msg for local restore
                   msg="$projectname is locally restoring your drive.\n"


                                              Page 174 of 206
                if [ "$localzip" = "None" ] ; then
                   if [ "$localsplit" = "Off" ] ; then
                      (dd bs=1M if=/mnt/local$localpath$localimagename 2>/dev/null |jetcat-mod -f 5000
-p $writesize 2>$progout |dd bs=1M of=$localrest 2>/dev/null) &
                   fi
                   if [ "$localsplit" = "On" ] ; then
                      (cat /mnt/local$localpath$localimagename.* |jetcat-mod -f 5000 -p $writesize
2>$progout |dd bs=1M of=$localrest 2>/dev/null) &
                   fi
                fi
                if [ "$localzip" = "GZip" ] ; then
                   if [ "$localsplit" = "Off" ] ; then
                      (dd bs=1M if=/mnt/local$localpath$localimagename 2>/dev/null |gunzip -c - |jetcat-
mod -f 5000 -p $writesize 2>$progout |dd bs=1M of=$localrest 2>/dev/null) &
                   fi
                   if [ "$localsplit" = "On" ] ; then
                      (cat /mnt/local$localpath$localimagename.* |gunzip -c - |jetcat-mod -f 5000 -p
$writesize 2>$progout |dd bs=1M of=$localrest 2>/dev/null) &
                   fi
                fi
                if [ "$localzip" = "Lzop" ] ; then
                   if [ "$localsplit" = "Off" ] ; then
                      (dd bs=1M if=/mnt/local$localpath$localimagename 2>/dev/null |lzop -d -c - |jetcat-
mod -f 5000 -p $writesize 2>$progout |dd bs=1M of=$localrest 2>/dev/null) &
                   fi
                   if [ "$localsplit" = "On" ] ; then
                      (cat /mnt/local$localpath$localimagename.* |lzop -d -c - |jetcat-mod -f 5000 -p
$writesize 2>$progout |dd bs=1M of=$localrest 2>/dev/null) &
                   fi
                fi
                if [ "$localzip" = "BZip2" ] ; then
                   if [ "$localsplit" = "Off" ] ; then
                      (dd bs=1M if=/mnt/local$localpath$localimagename 2>/dev/null |bzcat |jetcat-mod -f
5000 -p $writesize 2>$progout |dd bs=1M of=$localrest 2>/dev/null) &
                   fi
                   if [ "$localsplit" = "On" ] ; then
                      (bzip2 -dc /mnt/local$localpath$localimagename.* | jetcat-mod -f 5000 -p $writesize
2>$progout | dd bs=1M of=$localrest 2>/dev/null) &
## bzcat not using multiple files...
##                    (bzcat /mnt/local$localpath$localimagename.* |jetcat-mod -f 5000 -p $writesize
2>$progout | dd bs=1M of=$localrest 2>/dev/null) &
                   fi
                fi
                progress
###                umount /mnt/local
                rm /tmp/out
                touch /tmp/out
                restartcheck;;
              esac;;
             esac;;
            esac;;
           esac


                                            Page 175 of 206
         done;;
         "Click'n'Clone")
         retvalclonemenu=0
         while [ "$retvalclonemenu" != "1" ]
         do
          d_clicknclone
          retvalclonemenu=$?
          choiceclonemenu=$(cat $tempfileclonemenu)
          case $retvalclonemenu in
            $DIALOG_OK)
            case $choiceclonemenu in
             "D: Toggle partitions")
             f_toggle_disklist;;
             "P: PowerOff")
             f_toggle_poweroff;;
             "R: Reboot")
             f_toggle_reboot;;
             "A: Select source")
             f_radiolist "SELECT SOURCE" "Choose source drive to clone.\n(Use Space Bar)\nSelect
from:" "$disklist" 2> $tempfileclonesource
             retvalclonesource=$?
             choiceclonesource=$(cat $tempfileclonesource)
             case $retvalclonesource in
               $DIALOG_OK)
               clonesource=/dev/$choiceclonesource
               echo "Additional hdparm info on disk to confirm it as source" >/tmp/diskinfo
               hdparm -i $clonesource >>/tmp/diskinfo
               printf "\nblkid info:\n" >> /tmp/diskinfo
               blkid $clonesource* >> /tmp/diskinfo
               f_textbox "CLONE SOURCE DISK INFO" /tmp/diskinfo ;;
             esac;;
             "S: Special Commands")
             f_specialopt;;
             "B: Select target")
             f_radiolist "SELECT TARGET" "Choose target drive to clone to.\n(Use Space
Bar)\nAttention: Select a drive with at least\
\nthe same capacity. Higher capacity is OK.\nSelect from:" "$disklist" 2> $tempfileclonetarget
             retvalclonetarget=$?
             choiceclonetarget=$(cat $tempfileclonetarget)
             case $retvalclonetarget in
               $DIALOG_OK)
               clonetarget=/dev/$choiceclonetarget
               echo "Additional hdparm info on disk to confirm it as target" >/tmp/diskinfo
               hdparm -i $clonetarget >>/tmp/diskinfo
               printf "\nblkid info:\n" >> /tmp/diskinfo
               blkid $clonetarget* >> /tmp/diskinfo
               f_textbox "CLONE TARGET DISK INFO" /tmp/diskinfo ;;
             esac;;
             "C: Click'n'Clone")
             if [ "$clonesource" = "" ] || [ "$clonesource" = "/dev/" ] ; then
               f_msgbox "ERROR" "No source drive for cloning set!\nMust use SpaceBar to select
Disk\n->Back to Main Menu."


                                        Page 176 of 206
                   continue
                fi
                if [ "$clonetarget" = "" ] || [ "$clonetarget" = "/dev/" ] ; then
                   f_msgbox "ERROR" "No target drive for cloning set!\nMust use SpaceBar to select
Disk\n->Back to Main Menu."
                   continue
                fi
                f_yesno "ABOUT TO CLONE" "Collected information:\nSource drive:
$clonesource\nTarget drive: $clonetarget\n\nAre you sure?"
                case $? in
                   $DIALOG_OK)
                   clonesize=`getsize $choiceclonesource`
                   pcnt=0
## msg for cloneing drive
                   msg="$projectname is cloning drive\n"
                   dd bs=1M if=$clonesource 2>/dev/null |jetcat-mod -f 5000 -p $clonesize 2>$progout |dd
bs=1M of=$clonetarget 2>/dev/null &
                   progress
                   restartcheck;;
                esac;;
             esac;;
           esac
         done;;
        esac;;
      esac
     done;;
     "File Mode")
     while [ "$retvalfilemenu" != "1" ]
     do
      d_filemode
      retvalfilemenu=$?
      choicefilemenu=$(cat $tempfilefilemenu)
      case $retvalfilemenu in
        $DIALOG_OK)
        case $choicefilemenu in
         "A: Pick Local Mount")
         d_localmount;;
         "B: Config device")
         f_inputbox "CONFIG DEVICE" "Set IP Address to match your subnet.\nExample:
192.168.0.5\n\nEnter IP Address:" 2> $tempfilefileip
         retvalfileip=$?
         case $retvalfileip in
           $DIALOG_OK)
           ipaddress=$(cat $tempfilefileip)
           /sbin/ifconfig $filedevice $fileipaddress up;;
           $DIALOG_ESC)
           if test -s $tempfilefileip ; then
             ipaddress=$(cat $tempfilefileip)
             /sbin/ifconfig $device $ipaddress up
           fi;;
         esac;;
         "C: Select partition")


                                           Page 177 of 206
           f_radiolist "SELECT PARTITION" \
           "Choose drive to mount.\n(Use Space Bar)\
\nThe selected drive will be mounted to /mnt/local
\nand partimage may write to this directory.\
\n\nSupported FS are:\
\next2. ext3, ext4, reiserfs - Linux\
\nfat32 - Windows95/98/NT/2k/XP\
\nntfs - Windows NT/2k/XP\
\nJFS and XFS\
\n\nSelect partition(!) (example: /dev/hda1):" "$partlist" 2> $tempfilefilepart
           retvalfilepart=$?
           choicefilepart=$(cat $tempfilefilepart)
           case $retvalfilepart in
             $DIALOG_OK)
             filepart=$choicefilepart
             mount /dev/$filepart /mnt/local >/tmp/filemount 2>&1
             retvalfilemount=$?
             if [ $retvalfilemount != 0 ] ; then
               f_textbox "ERROR" /tmp/filemount
               filepart=""
               umount /mnt/local
             else
## July 18, 2008
## NTFS RW partition support
## Obsolete. Setup of mount.helpers.
##                testntfs=`cat /etc/mtab | grep /dev/$filepart | cut -f 3 -d\ `
##                if [ "$testntfs" = "ntfs" ]; then
##                   umount /mnt/local 2>/dev/null
##                   ntfs-3g /dev/$filepart /mnt/local >/tmp/mount 2>&1
##                fi
##
               f_msgbox "STATUS" "Partition mounted in /mnt/local.\
\nYou can now launch partimage to create or restore an image.\
\nAs target file enter a filename in /mnt/local/,\
\nfor example: /mnt/local/backup_hda1.img.gz\
\n\n\nYou can also launch partimage in network mode."
             fi;;
           esac;;
           "D: Launch client")
           clear
           partimage -f3
           echo "10 Second Pause"
           sleep 10
           umount /mnt/local;;
           "E: Launch server")
           f_msgbox "INFO" "partimage server will be launched now.\
\nAfter it started, remove the CD and use it\
\nto launch the partimage client on another machine."
           clear
           cd /mnt/local
           partimaged
           cd /


                                              Page 178 of 206
          echo "10 Second Pause"
          sleep 10
          umount /mnt/local
         esac;;
       esac
     done;;
     "Utilities")
     while [ "$retvalutilmenu" != "1" ]
     do
       d_utilities
       retvalutilmenu=$?
       choiceutilmenu=$(cat $tempfileutilmenu)
       case $retvalutilmenu in
         $DIALOG_OK)
         case $choiceutilmenu in
          "A: System info")
          f_textbox "SYSTEM INFO" /tmp/sysinfo;;
          "D: hdparm")
          f_yesno "WARNING" "This option tries to enable 32-bit I/O mode\
\nand UDMA/66 mode on your IDE Controller and drive.\
\n\nThe system might hang and require a reboot!\
\nUse this option only on quite new computers! \
\n\nContinue at own risk?"
          case $? in
            $DIALOG_OK)
            f_radiolist "HDPARM" "Choose drive(!) to enable.\n(Use Space Bar)\n\nExample: /dev/hda"
"$partlist" 2> $tempfilehdparm
            retvalhdparm=$?
            choicehdparm=$(cat $tempfilehdparm)
            case $retvalhdparm in
             $DIALOG_OK)
             hdparmdrive=/dev/$choicehdparm
             hdparm -c3 -X66 $hdparmdrive >/tmp/hdparmout
             f_textbox "HDPARM OUTPUT" /tmp/hdparmout;;
            esac;;
          esac;;
          "S: Special Commands")
          f_specialopt;;
          "X: Reboot/Poweroff")
          f_rebootpoweroff;;
          "F: ntpclient")
          f_inputbox "Set Time using ntp server" "Enter ntp server ip or name" 2>$tempfilentpserver
          ntpclient -s -h `cat $tempfilentpserver`
          date
          sleep 10;;
          "E: keymap")
          bkey
          sleep 10;;
          "C: ftp")
          f_msgbox "start ftpd using busybox via tcpsvd" \
            "Basic Anonymous FTP Server\nstartftpd script\nunloads if exit this script"
            startftpd;;


                                         Page 179 of 206
         "G: telnetd")
         f_msgbox "Start telnetd server to allow telnet" \
           "Telnet Server\n"
           telnetd;;
         "B: dmesg")
         dmesg >$tempfiledmesg
         f_textbox "Display dmesg output" $tempfiledmesg;;
         "J: TestDisk")
         testdisk;;
         "H: Zero-Tool")
         cleandrive8.dialog;;
##f_msgbox "ZERO-TOOL" "Removed this, since it was linked to the OS\
##\nbetter to use the cleandrive script on Unix/Linux\
##\nor the blank6.exe program for the FAT/NTFS\
##\npartitions."
## Delete Zeroing too, since it didn't always work at supporting varous partitions
## The FAT would create the zero file, but not delete them. Better to use the other
## programs to do this job via te OS
##                  --radiolist "Choose drive to zero-out.\
##\nSupported FS are:\
##\next2. ext3, ext4, reiserfs - Linux\
##\nfat32 - Windows95/98/NT/2k/XP\
##\nntfs - Windows NT/2k/XP\
##\n\nSelect partition (example: /dev/hda1):" 0 0 0 \
##                $partlist 2> $tempfileutilzero
##           retvalutilzero=$?
##           choiceutilzero=$(cat $tempfileutilzero)
##           case $retvalutilzero in
##             $DIALOG_OK)
##             zerodrive=$choiceutilzero
##             mount /dev/$zerodrive /mnt/local >/tmp/zeromount 2>&1
##             retvalzeromount=$?
##             if [ $retvalzeromount != 0 ] ; then
##                $DIALOG --backtitle "$backtitle" \
##                      --title "ERROR" \
##                      --textbox /tmp/zeromount 0 0
##                zerodrive=""
##                umount /mnt/local
##
##             else
##
##                freesize=`df |grep -w $zerodrive |awk '{print $4}'`
##                pcnt=0
## msg for zeroing free space
##                msg="$projectname is zeroing out free space.\n"
##                (dd bs=1M if=/dev/zero 2>/dev/null |jetcat-mod -f 5000 -p $freesize 2>$progout |split -b
1000m - /mnt/local/zerofile. 2>/dev/null ) &
##                progress
##           fi;;
##         esac;;
         "I: ddrescue")
         retvalddres=0


                                             Page 180 of 206
          while [ "$retvalddres" != "1" ]
          do
           d_ddrescue
           retvalddres=$?
           choiceddres=$(cat $tempfileddres)
           case $retvalddres in
             $DIALOG_OK)
             case $choiceddres in
              "Source")
              f_radiolist "SELECT SOURCE" "Choose (defective) source drive to clone.\n(Use Space
Bar)\nSelect from:" "$partlist" 2> $tempfileddressource
              retvalddressource=$?
              choiceddressource=$(cat $tempfileddressource)
              case $retvalddressource in
                 $DIALOG_OK)
                 ddressource=/dev/$choiceddressource;;
              esac;;
              "Target")
              f_radiolist "SELECT TARGET" "Choose (new/clean) target drive to clone to.\n(Use Space
Bar)\
\nAttention: Select a drive with at least\
\nthe same capacity. Higher capacity is OK.\
\nSelect from:" "$partlist" 2> $tempfileddrestarget
              retvalddrestarget=$?
              choiceddrestarget=$(cat $tempfileddrestarget)
              case $retvalddrestarget in
                 $DIALOG_OK)
                 ddrestarget=/dev/$choiceddrestarget;;
              esac;;
              "HELP")
              f_msgbox "ddrescue Help Screen" "`ddrescue --help`";;
              "Options")
              f_inputbox "Options for ddrescue" "Options to add to ddrescue" 2>$tempfileddoptadd
              ddoptadd=$(cat $tempfileddoptadd);;
              "Rescue")
              if [ "$ddressource" = "" ] ; then
                 f_msgbox "ERROR" "No source drive to rescue set!\nMust use SpaceBar to select
Disk\n->Back to Main Menu."
                 continue
              fi
              if [ "$ddrestarget" = "" ] ; then
                 f_msgbox "ERROR" "No target drive for rescue set!\nMust use SpaceBar to select
Disk\n->Back to Main Menu."
                 continue
              fi
              f_yesno "ABOUT TO RESCUE" "Collected information:\
\nDefective source drive: $ddressource\
\nNew/Clean target drive: $ddrestarget\
\n\nIt might take VERY long to rescue the drive,\
\nbut as long as you do NOT reboot, you can press\
\nCTRL-C at any time and dd_rhelp will continue\
\nfrom the same position it stopped if you re-enter\


                                         Page 181 of 206
\nthis menu. If dd_rhelp is almost done and is only\
\ntrying to read the defective sectors, it is OK to CTRL-C.\
\nNow using DDRESCUE, which has additional options\
\n\nAre you sure?"
               case $? in
                 $DIALOG_OK)
                 clear
#                 dd_rhelp $ddressource $ddrestarget
                 ddrescue -f $ddoptadd $ddressource $ddrestarget;;
               esac;;
              esac;;
             esac
           done;;
           "K: Parted")
           clear
           f_radiolist "Parted" "Choose Disk ONLY to for Parted\n(Use Space Bar)\nSelect from:"
"$disklist" 2> /tmp/parted
           parted /dev/$(cat /tmp/parted);;
         esac;;
        esac
      done;;
      "Show Help")
      f_textbox "HELP" /help;;
    esac;;
    $DIALOG_CANCEL)
    f_msgbox "CANCEL OPTION" "Thanks for using $projectname. visit $website"
## Don't know about deleteing all file from temp
## on the CD boot doesn't make a difference, but when I test
## the script on my regular linux box, it is trying to delete
## things not related to $projectname
##rm /tmp/*
    rm /tmp/test*
    touch /tmp/out
    touch /tmp/zeroout;;
    $DIALOG_ESC)
    echo "ESC pressed.";;
   esac
  done;;
  $DIALOG_CANCEL)
  exit 0;;
  $DIALOG_ESC)
  exit 0;;
esac




                                          Page 182 of 206
6 scripts to help with getting front end
fg4l – script downloads clear text script from ftp server public directory.

#!/bin/sh
#
#
## Michael Setzer II - Program Modifications
## Modified 1/1/2007 to add $3 to use other script names.
: ${DIALOG=dialog}
: ${DIALOG_OK=0}
: ${DIALOG_CANCEL=1}
: ${DIALOG_ESC=255}

ftpipaddress=$1
filename=$3

if [ -z $ftpipaddress ]; then
  $DIALOG --backtitle "Front-End Script to download options from FTP Server" \
  --title "IP Address" --clear \
  --inputbox "Provide IP address of FTP server\
\nwith front script\
\nExample: 192.168.0.5 \
\n\nEnter IP Address:" 0 0 2> /tmp/getip

     retvalip=$?
     case $retvalip in
      $DIALOG_OK)
      ftpipaddress=`cat /tmp/getip`
     esac
fi

#device=eth0
#Added ifcheck.sh by dan.s@hostdime.com
#to handle systems with multiple nics and eth0 not default
device=`cat /tmp/device`

if [ -n "$2" ]; then
   device=$2
fi
if [ -z $filename ]; then
   filename="front"
fi
## new busybox changed ip address from field 4 to field 3
ipaddress=`udhcpc -i $device -s/udhcpc.sh|grep Lease|cut -d\ -f3`
/sbin/ifconfig $device $ipaddress up
ncftpget $ftpipaddress . $filename
chmod 755 $filename
./$filename
echo $ipaddress



                                          Page 183 of 206
efg4l – script downloads an encrypted script from ftp server public directory.

#!/bin/sh
#
#
## Michael Setzer II - Program Modifications
## Modified 1/1/2007 to add $3 to use other script names.

: ${DIALOG=dialog}
: ${DIALOG_OK=0}
: ${DIALOG_CANCEL=1}
: ${DIALOG_ESC=255}

ftpipaddress=$1
filename=$3

if [ -z $ftpipaddress ]; then
  $DIALOG --backtitle "Front-End Script to download options from FTP Server" \
  --title "IP Address" --clear \
  --inputbox "Provide IP address of FTP server\
\nwith front script\
\nExample: 192.168.0.5 \
\n\nEnter IP Address:" 0 0 2> /tmp/getip

 retvalip=$?
 case $retvalip in
  $DIALOG_OK)
  ftpipaddress=`cat /tmp/getip`
 esac
fi
#device=eth0
#Added ifcheck.sh by dan.s@hostdime.com
#to handle systems with multiple nics and eth0 not default
device=`cat /tmp/device`

if [ -n "$2" ]; then
   device=$2
fi
if [ -z $filename ]; then
   filename="front.bic"
fi
## new busybox changed ip address from field 4 to field 3
ipaddress=`udhcpc -i $device -s/udhcpc.sh|grep Lease|cut -d\ -f3`
/sbin/ifconfig $device $ipaddress up
ncftpget $ftpipaddress . $filename
bicode.o3 $filename front
chmod 755 front
./front
echo $ipaddress




                                          Page 184 of 206
exg4l – script that downloads encrypted script from users ftp directory

#!/bin/sh
#
#
## Michael Setzer II - Program Modifications
## Modified 1/1/2007 to add $3 to use other script names.
## Modified 2/4/2007 to add $4 to use other userid password

## ./exg4l ipaddress device filename useridpass
## ./exg4l 192.168.0.1 eth0 front.bic '-u user -p password'
## ./exg4l 192.168.0.1 eth0 front.bic user:password

: ${DIALOG=dialog}
: ${DIALOG_OK=0}
: ${DIALOG_CANCEL=1}
: ${DIALOG_ESC=255}

ftpipaddress=$1
filename=$3

useridpass="$4"
if [ -n "$useridpass" ]; then
   if [ `echo $useridpass | awk '{print $1;}' -` != "-u" ] ; then
      useridpass=`echo $useridpass | awk -F: '{print "-u " $1 " -p " $2;}' -`
   fi
fi

if [ -z $ftpipaddress ]; then
  $DIALOG --backtitle "Front-End Script to download options from FTP Server" \
  --title "IP Address" --clear \
  --inputbox "Provide IP address of FTP server\
\nwith front script\
\nExample: 192.168.0.5 \
\n\nEnter IP Address:" 0 0 2> /tmp/getip

 retvalip=$?
 case $retvalip in
  $DIALOG_OK)
  ftpipaddress=`cat /tmp/getip`
 esac
fi
#device=eth0
#Added ifcheck.sh by dan.s@hostdime.com
#to handle systems with multiple nics and eth0 not default
device=`cat /tmp/device`

if [ -n "$2" ]; then
   device=$2
fi
if [ -z $filename ]; then
   filename="front.bic"

                                               Page 185 of 206
fi
## new busybox changed ip address from field 4 to field 3
ipaddress=`udhcpc -i $device -s/udhcpc.sh|grep Lease|cut -d\ -f3`
/sbin/ifconfig $device $ipaddress up
ncftpget $useridpass $ftpipaddress . $filename
bicode.o3 $filename front
chmod 755 front
./front
echo $ipaddress


xg4l – downloads front end script from user directory
#!/bin/sh
#
#
## Michael Setzer II - Program Modifications
## Modified 1/1/2007 to add $3 to use other script names.
## Modified 2/4/2007 to add $4 to use other userid password

## ./xg4l ipaddress device filename useridpass
## ./xg4l 192.168.0.1 eth0 front '-u user -p password'
## ./xg4l 192.168.0.1 eth0 front user:password

: ${DIALOG=dialog}
: ${DIALOG_OK=0}
: ${DIALOG_CANCEL=1}
: ${DIALOG_ESC=255}

ftpipaddress=$1
filename=$3
useridpass="$4"
if [ -n "$useridpass" ]; then
   if [ `echo $useridpass | awk '{print $1;}' -` != "-u" ] ; then
      useridpass=`echo $useridpass | awk -F: '{print "-u " $1 " -p " $2;}' -`
   fi
fi

if [ -z $ftpipaddress ]; then
  $DIALOG --backtitle "Front-End Script to download options from FTP Server" \
  --title "IP Address" --clear \
  --inputbox "Provide IP address of FTP server\
\nwith front script\
\nExample: 192.168.0.5 \
\n\nEnter IP Address:" 0 0 2> /tmp/getip

     retvalip=$?
     case $retvalip in
      $DIALOG_OK)
      ftpipaddress=`cat /tmp/getip`
     esac
fi

                                               Page 186 of 206
#device=eth0
#Added ifcheck.sh by dan.s@hostdime.com
#to handle systems with multiple nics and eth0 not default
device=`cat /tmp/device`

if [ -n "$2" ]; then
   device=$2
fi
if [ -z $filename ]; then
   filename="front"
fi
## new busybox changed ip address from field 4 to field 3
ipaddress=`udhcpc -i $device -s/udhcpc.sh|grep Lease|cut -d\ -f3`
/sbin/ifconfig $device $ipaddress up
ncftpget $useridpass $ftpipaddress . $filename
chmod 755 $filename
./$filename
echo $ipaddress

zxg4l – download script from user ftp directory
#!/bin/sh
#
#
## Michael Setzer II - Program Modifications
## Modified 1/1/2007 to add $3 to use other script names.
## Modified 2/4/2007 to add $4 to use other userid password

## ./zxg4l ipaddress device filename useridpass
## ./zxg4l 192.168.0.1 eth0 front.bic '-u user -p password'
## ./zxg4l 192.168.0.1 eth0 front.bic user:password

: ${DIALOG=dialog}
: ${DIALOG_OK=0}
: ${DIALOG_CANCEL=1}
: ${DIALOG_ESC=255}

ftpipaddress=$1
filename=$3

useridpass=$4
if [ -n "$useridpass" ]; then
   if [ `echo $useridpass | awk '{print $1;}' -` != "-u" ] ; then
      useridpass=`echo $useridpass | awk -F: '{print "-u " $1 " -p " $2;}' -`
   fi
fi

if [ -z $ftpipaddress ]; then
  $DIALOG --backtitle "Front-End Script to download options from FTP Server" \
  --title "IP Address" --clear \
  --inputbox "Provide IP address of FTP server\
\nwith front script\

                                               Page 187 of 206
\nExample: 192.168.0.5 \
\n\nEnter IP Address:" 0 0 2> /tmp/getip

 retvalip=$?
 case $retvalip in
  $DIALOG_OK)
  ftpipaddress=`cat /tmp/getip`
 esac
fi
#device=eth0
#Added ifcheck.sh by dan.s@hostdime.com
#to handle systems with multiple nics and eth0 not default
device=`cat /tmp/device`

if [ -n "$2" ]; then
   device=$2
fi

if [ -z $useridpass ]; then
  $DIALOG --backtitle "$backtitle" \
  --title "CONFIG USERIDPASS" --clear \
  --inputbox "Enter userid and password option. \
\nExample: -u userx -p password \
\n      or userx:password\
\n      or leave blank for anonymous\
\n\nOptions:" 0 0 2> /tmp/getid

 retvalnetname=$?
 case $retvalnetname in
  $DIALOG_OK)
  useridpass=`cat /tmp/getid`
## Added to support user:password format conversion to ncftp format
  if [ -n "$useridpass" ]; then
     if [ `echo $useridpass | awk '{print $1;}' -` != "-u" ] ; then
        useridpass=`echo $useridpass | awk -F: '{print "-u " $1 " -p " $2;}' -`
     fi
  fi
  ;;

   $DIALOG_CANCEL)
   ;;

  $DIALOG_ESC)
  if test -s /tmp/getid ; then
     useridpass=`cat /tmp/getid`
## Added to support user:password format conversion to ncftp format
     if [ -n "$useridpass" ]; then
        if [ `echo $useridpass | awk '{print $1;}' -` != "-u" ] ; then
           useridpass=`echo $useridpass | awk -F: '{print "-u " $1 " -p " $2;}' -`
        fi
     fi
  fi


                                               Page 188 of 206
      ;;
     esac
fi

if [ -z $filename ]; then
   filename="front"
fi
## new busybox changed ip address from field 4 to field 3
ipaddress=`udhcpc -i $device -s/udhcpc.sh|grep Lease|cut -d\ -f3`
/sbin/ifconfig $device $ipaddress up
ncftpget $useridpass $ftpipaddress . $filename
chmod 755 $filename
./$filename
echo $ipaddress

zxeg4l – script to download encrypted front-end form users ftp directory.

#!/bin/sh
#
#
## Michael Setzer II - Program Modifications
## Modified 1/1/2007 to add $3 to use other script names.
## Modified 2/4/2007 to add $4 to use other userid password

## ./zexg4l ipaddress device filename useridpass
## ./zexg4l 192.168.0.1 eth0 front.bic '-u user -p password'
## ./zexg4l 192.168.0.1 eth0 front.bic user:password

: ${DIALOG=dialog}
: ${DIALOG_OK=0}
: ${DIALOG_CANCEL=1}
: ${DIALOG_ESC=255}

ftpipaddress=$1
filename=$3

useridpass=$4
if [ -n "$useridpass" ]; then
   if [ `echo $useridpass | awk '{print $1;}' -` != "-u" ] ; then
      useridpass=`echo $useridpass | awk -F: '{print "-u " $1 " -p " $2;}' -`
   fi
fi

if [ -z $ftpipaddress ]; then
  $DIALOG --backtitle "Front-End Script to download options from FTP Server" \
  --title "IP Address" --clear \
  --inputbox "Provide IP address of FTP server\
\nwith front script\
\nExample: 192.168.0.5 \
\n\nEnter IP Address:" 0 0 2> /tmp/getip

     retvalip=$?

                                               Page 189 of 206
 case $retvalip in
  $DIALOG_OK)
  ftpipaddress=`cat /tmp/getip`
 esac
fi
#device=eth0
#Added ifcheck.sh by dan.s@hostdime.com
#to handle systems with multiple nics and eth0 not default
device=`cat /tmp/device`

if [ -n "$2" ]; then
   device=$2
fi

if [ -z $useridpass ]; then
  $DIALOG --backtitle "$backtitle" \
  --title "CONFIG USERIDPASS" --clear \
  --inputbox "Enter userid and password option. \
\nExample: -u userx -p password \
\n      or userx:password\
\n      or leave blank for anonymous\
\n\nOptions:" 0 0 2> /tmp/getid

 retvalnetname=$?
 case $retvalnetname in
  $DIALOG_OK)
  useridpass=`cat /tmp/getid`
## Added to support user:password format conversion to ncftp format
  if [ -n "$useridpass" ]; then
     if [ `echo $useridpass | awk '{print $1;}' -` != "-u" ] ; then
        useridpass=`echo $useridpass | awk -F: '{print "-u " $1 " -p " $2;}' -`
     fi
  fi
  ;;

   $DIALOG_CANCEL)
   ;;

    $DIALOG_ESC)
    if test -s /tmp/getid ; then
       useridpass=`cat /tmp/getid`
## Added to support user:password format conversion to ncftp format
       if [ -n "$useridpass" ]; then
          if [ `echo $useridpass | awk '{print $1;}' -` != "-u" ] ; then
             useridpass=`echo $useridpass | awk -F: '{print "-u " $1 " -p " $2;}' -`
          fi
       fi
    fi
    ;;
   esac
fi



                                                 Page 190 of 206
if [ -z $filename ]; then
   filename="front.bic"
fi
## new busybox changed ip address from field 4 to field 3
ipaddress=`udhcpc -i $device -s/udhcpc.sh|grep Lease|cut -d\ -f3`
/sbin/ifconfig $device $ipaddress up
ncftpget $useridpass $ftpipaddress . $filename
bicode.o3 $filename front
chmod 755 front
./front
echo $ipaddress

rcS – G4L linux boot up script.
#!/bin/sh
#Script to be executed by busybox at bootup
#
#Modify to your needs
#
echo "Re-mounting / with read-write permissions"
/bin/mount -n -o remount,rw /
echo "Mounting /proc"
/bin/mount -t proc proc /proc
/bin/mount -n -o remount,rw /
## Added 5/2/2008 testing mdev to create devices
mount -t sysfs sysfs /sys
mount -t devpts devpts /dev/pts
mdev -s
echo "Not loading any keymap -> US Layout"
#if NON english, load binary(!!) keymap here
#shipped keymap is german.
#/sbin/loadkmap < /var/lib/kbd/keymap.map
echo "Setting Hostname"
#set hostname to whatever you want, does not
#matter
/bin/hostname g4l
# Changed to have it test for file exist
if [ -e /etc/mtab ];
then
     echo "/etc/mtab exists"
else
     /bin/ln -s /proc/mounts /etc/mtab
fi
## 5/23/2008 added to recognize devices
echo /bin/mdev >/proc/sys/kernel/hotplug
## 3/21/2011 added to elimante pop up messages
klogd -c 6
dialog --pause "10 second pause to let everything finish loading\n\
Would appreciate getting Feedback\n(Good or Bad)\nmikes@kuentos.guam.net" 12 52 10
## 4/29/2008 added timeout so script will continue
dialog --timeout 30 --textbox /disclaim 24 79 2>/dev/null
dialog --timeout 30 --textbox /instruct 0 0 2>/dev/null

                                         Page 191 of 206
dialog --timeout 30 --textbox /latest 0 0    2>/dev/null
dialog --timeout 30 --textbox /AES-sshfs 0 0 2>/dev/null
##device=eth0
## change 6/23/2007 new busybox shifted ip to field 3 instead of 4
##ipaddress=`udhcpc -n -i $device -s/udhcpc.sh|grep Lease|cut -d\ -f3`
##if [ -n $ipaddress ]; then
##/sbin/ifconfig $device $ipaddress up
##else
## ipaddress=`udhcpc -n -i $device -s/udhcpc.sh|grep Lease|cut -d\ -f3`
## sleep 3
##/sbin/ifconfig $device $ipaddress up
##fi
##echo IP Address is: $ipaddress
## added 6/17/2008 checks for eth? multi-devices
## activates first one that gets a link from dhcp
/ifcheck2.sh
/testcd
## 4/29/2008 added to load telnetd if kernel boot parameter
## telnetd=yes is found
telnetd=`cat /proc/cmdline | grep telnetd`;
if [ -n "$telnetd" ] ; then
     telnetd
fi
mdev -s
vgchange -a y
bkey
##echo "Enter g4lmenu"




                                         Page 192 of 206
Bkey – script to set keyboard map

: ${DIALOG_OK=0}
: ${DIALOG_CANCEL=1}
: ${DIALOG_ESC=255}
: ${DIALOG_ERROR=255}

dialog --backtitle "G4L keymap selection" --title "Select Keymap" \
  --timeout 30 --begin 2 10 \
  --radiolist "Use Space Bar to Select and Enter or \
    \nwill default to US after 30 seconds" 0 50 14 \
"us/us-acentos.bmap" "US" OFF \
"us/us.bmap" "US" ON \
"be/be-latin1.bmap" "BE" OFF \
"bg/bg_bds-cp1251.bmap" "BG" OFF \
"bg/bg_bds-utf8.bmap" "BG" OFF \
"bg/bg-cp1251.bmap" "BG" OFF \
"bg/bg-cp855.bmap" "BG" OFF \
"bg/bg_pho-cp1251.bmap" "BG" OFF \
"bg/bg_pho-utf8.bmap" "BG" OFF \
"br/br-abnt2.bmap" "BR" OFF \
"br/br-abnt.bmap" "BR" OFF \
"br/br-latin1-abnt2.bmap" "BR" OFF \
"br/br-latin1-us.bmap" "BR" OFF \
"by/by.bmap" "BY" OFF \
"cf/cf.bmap" "CF" OFF \
"croat/croat.bmap" "CROAT" OFF \
"cz/cz.bmap" "CZ" OFF \
"cz/cz-cp1250.bmap" "CZ" OFF \
"cz/cz-lat2.bmap" "CZ" OFF \
"cz/cz-lat2-prog.bmap" "CZ" OFF \
"cz/cz-qwertz.bmap" "CZ" OFF \
"cz/cz-us-qwertz.bmap" "CZ" OFF \
"de/de.bmap" "DE" OFF \
"de/de_CH-latin1.bmap" "DE" OFF \
"de/de-latin1.bmap" "DE" OFF \
"de/de-latin1-nodeadkeys.bmap" "DE" OFF \
"dk/dk-latin1.bmap" "DK" OFF \
"dvorak/ANSI-dvorak.bmap" "DVORAK" OFF \
"dvorak/dvorak.bmap" "DVORAK" OFF \
"dvorak/dvorak-l.bmap" "DVORAK" OFF \
"dvorak/dvorak-r.bmap" "DVORAK" OFF \
"es/es.bmap" "ES" OFF \
"es/es-cp850.bmap" "ES" OFF \
"et/et.bmap" "ET" OFF \
"et/et-nodeadkeys.bmap" "ET" OFF \
"fi/fi-latin1.bmap" "FI" OFF \
"fr/azerty.bmap" "FR" OFF \
"fr/fr.bmap" "FR" OFF \
"fr/fr_CH.bmap" "FR" OFF \
"fr/fr_CH-latin1.bmap" "FR" OFF \
"fr/fr-latin1.bmap" "FR" OFF \

                                           Page 193 of 206
"fr/fr-latin9.bmap" "FR" OFF \
"fr/fr-pc.bmap" "FR" OFF \
"gr/gr.bmap" "GR" OFF \
"gr/gr-pc.bmap" "GR" OFF \
"hu/hu101.bmap" "HU" OFF \
"hu/hu.bmap" "HU" OFF \
"il/il.bmap" "IL" OFF \
"il/il-heb.bmap" "IL" OFF \
"il/il-phonetic.bmap" "IL" OFF \
"is/is-latin1.bmap" "IS" OFF \
"is/is-latin1-us.bmap" "IS" OFF \
"it/it2.bmap" "IT" OFF \
"it/it.bmap" "IT" OFF \
"it/it-ibm.bmap" "IT" OFF \
"jp/jp106.bmap" "JP" OFF \
"la/la-latin1.bmap" "LA" OFF \
"lt/lt.baltic.bmap" "LT" OFF \
"lt/lt.bmap" "LT" OFF \
"lt/lt.l4.bmap" "LT" OFF \
"mk/mk0.bmap" "MK" OFF \
"mk/mk.bmap" "MK" OFF \
"mk/mk-cp1251.bmap" "MK" OFF \
"mk/mk-utf.bmap" "MK" OFF \
"nl/nl2.bmap" "NL" OFF \
"nl/nl.bmap" "NL" OFF \
"no/no-latin1.bmap" "NO" OFF \
"pc/pc110.bmap" "PC" OFF \
"pl/pl1.bmap" "PL" OFF \
"pl/pl2.bmap" "PL" OFF \
"pl/pl3.bmap" "PL" OFF \
"pl/pl4.bmap" "PL" OFF \
"pl/pl.bmap" "PL" OFF \
"pt/pt-latin1.bmap" "PT" OFF \
"pt/pt-latin9.bmap" "PT" OFF \
"ro/ro_win.bmap" "RO" OFF \
"ru/ru_win.bmap" "RU" OFF \
"se/se-fi-ir209.bmap" "SE" OFF \
"se/se-fi-lat6.bmap" "SE" OFF \
"se/se-ir209.bmap" "SE" OFF \
"se/se-lat6.bmap" "SE" OFF \
"sg/sg.bmap" "SG" OFF \
"sg/sg-latin1.bmap" "SG" OFF \
"sg/sg-latin1-lk450.bmap" "SG" OFF \
"sk/sk-prog-qwerty.bmap" "SK" OFF \
"sk/sk-prog-qwertz.bmap" "SK" OFF \
"sk/sk-qwerty.bmap" "SK" OFF \
"sk/sk-qwertz.bmap" "SK" OFF \
"slovene/slovene.bmap" "SLOVENE" OFF \
"sr/sr-cy.bmap" "SR" OFF \
"sv/sv-latin1.bmap" "SV" OFF \
"tr/tralt.bmap" "TR" OFF \
"tr/trf.bmap" "TR" OFF \


                                    Page 194 of 206
"tr/tr_f-latin5.bmap" "TR" OFF \
"tr/trq.bmap" "TR" OFF \
"tr/tr_q-latin5.bmap" "TR" OFF \
"ua/ua.bmap" "UA" OFF \
"ua/ua-utf.bmap" "UA" OFF \
"ua/ua-utf-ws.bmap" "UA" OFF \
"ua/ua-ws.bmap" "UA" OFF \
"uk/uk.bmap" "UK" OFF \
"wangbe/wangbe2.bmap" "WANGBE" OFF \
"wangbe/wangbe.bmap" "WANGBE" OFF 2>/tmp/keymap
retval=$?
mapfile=`cat /tmp/keymap`
if [ "$retval" = "$DIALOG_ERROR" ] ; then
   echo "Using US MAP"
   loadkmap < /bkeymaps/us/us.bmap
else
    echo /bkeymaps/$mapfile
    loadkmap < /bkeymaps/$mapfile
fi
rm /tmp/keymap

Cleandrive8 – script to clear free space on partitions

#!/bin/sh
#
#
## Michael Setzer II - Program Modifications
pcnt=0
JETCAT=`which jetcat-mod `
if [ $? = "0" ] ; then echo $JETCAT
else JETCAT="/jetcat-mod"
fi

progress()
{
  (
  while test "$pcnt" != "$value"
  do

  printf "%s\n" "XXX"
## Modified Jetcat-mod to display two decimal positions
## have to cut off the decimals for the gauge to work.
  if test "$value" == "100"; then
     pcnt=`tail -n1 /tmp/progress.out`
     pcnt2=`tail -n1 /tmp/progress.out | cut -d. -f 1 `
     if [ "$DIALOG" = "dialog" ]; then
        printf "%s\n" $pcnt2
     fi
  fi
  if test "$value" != "100"; then
     if [ " " = "$testx" ]; then
        pcnt=`df . | grep % | grep / | awk '{print $4}'`

                                          Page 195 of 206
    else
       pcnt=`df . | grep % | grep / | awk '{print $5}'`
    fi
    if [ "$DIALOG" = "dialog" ]; then
       echo $pcnt | cut -d% -f 1
    fi
#       printf "%s\n" $pcnt
    fi
    printf "%s\n" "\n"
## msg variable set before calling the progress function to
## make minor variation between different screens.
    printf "%s\n" "$msg"; printf "%s\n" "\n"
    printf "%s\n" "\n"
    printf "%s\n" "The progress bar shows the percentage of the amount written";
    if [ "$DIALOG" = "Xdialog" ]; then
       printf "%s\n" "\n"
    fi
    printf "%s\n" "to the size of the destination."; printf "%s\n" "\n";
    printf "%s\n" "Please stand by, this might take some time!"; printf "%s\n" "\n"; printf "%s\n" "\n"
## Percentage displays with 2 decimal places, plus start time and current time.
## This lets one check time status of process in addition to percentage
    printf "%s\n" "Progress"; printf "%s\n" "\n"
    printf "%s\n" "$pcnt"; printf "%s\n" "\n"
    printf "%s\n" "XXX";
    printf "%s\n" "$pcnt"
    sleep 5
  done
  )|
  $DIALOG --backtitle "$backtitle" --title "Working..." --clear --gauge "One moment..." 30 100
  rm /tmp/progress.out
  touch /tmp/progress.out
## Added a pause to let the user see final results before it returns.
}

xdyes=`which Xdialog`
dyes=`which dialog`
if [ -n "$DISPLAY" ] ; then
   DIALOG="Xdialog"
else
   DIALOG="dialog"
fi
if [ -z "$xdyes" ]; then
   if [ "$DIALOG" = "Xdialog" ] ; then
      DIALOG="dialog"
   fi
fi
if [ -z "$dyes" ]; then
   if [ "$DIALOG" = "dialog" ] ; then
      DIALOG=""
   fi
fi
: ${DIALOG_OK=0}


                                                Page 196 of 206
: ${DIALOG_CANCEL=1}
: ${DIALOG_ESC=255}

backtitle="Program to clear free space"
msg="Clearing Free Space on "`pwd`
value="100"
freesize=`df . | grep % | grep / | awk '{print $1 - $2}'`
original=`df . | grep % | grep / | awk '{print $4}'`
testx=`df . | grep % | grep / | cut -b1-1`
if [ " " = "$testx" ]; then
   freesize=`df . | grep % | grep / | awk '{print $1 - $2}'`
   original=`df . | grep % | grep / | awk '{print $4}'`
else
   freesize=`df . | grep % | grep / | awk '{print $2 - $3}'`
   original=`df . | grep % | grep / | awk '{print $5}'`
fi
printf "%s\n" "$freesize $original"

dd if=/dev/zero bs=2M 2>/dev/null | $JETCAT -f 5000 -p $freesize 2>/tmp/progress.out >0bits &
progress
value=$original
msg="Removing 0bits file"
if [ "$DIALOG" = "Xdialog" ]; then
   $DIALOG --infobox "PAUSE FOR 10 SECONDS" 5 35 10000
else
   $DIALOG --sleep 10 --infobox "PAUSE FOR 10 SECONDS" 5 25
fi

rm 0bits &
progress
if [ "$DIALOG" = "Xdialog" ]; then
   $DIALOG --infobox "Drive Should now have all free space cleared" 5 60 10000
else
   $DIALOG --sleep 10 --infobox "Drive Should now have all free space cleared" 5 50
fi




                                                Page 197 of 206
Cleandrive8.dialog – Script to prompt to clear free space
#!/bin/sh
#
#
## Michael Setzer II - Program Modifications
DIALOG="dialog"
: ${DIALOG_OK=0}
: ${DIALOG_CANCEL=1}
: ${DIALOG_ESC=255}

pcnt=0
JETCAT=`which jetcat-mod `
if [ $? = "0" ] ; then echo $JETCAT
else JETCAT="/jetcat-mod"
fi
f_radiolist()
{
   $DIALOG --backtitle "$backtitle" --title "$1" --radiolist "$2" 0 0 0 $3
}
part_info()
{
   partitions=`grep .d </proc/partitions |awk '{print $4}'`
# write systeminfo file
   printf "========================================\n" > /tmp/sysinfo
   printf "Drive/Partition sizes:\n" >> /tmp/sysinfo
   grep .d </proc/partitions | awk '{print $4,$3}' |sort >>/tmp/sysinfo

 printf "\nDrive models:\n" >> /tmp/sysinfo
 for h in $partitions
 do
   length=`echo $h |wc -c`
   if [ $length -lt 5 ]; then
      echo $h >> /tmp/sysinfo
      cat /proc/ide/$h/model >> /tmp/sysinfo 2>/dev/null
   fi
 done
### 2008/5/27 New partlist to have size and partitiion type.
 partlist="";
 partonly="";
### 2009/3/15 New disklist to have just disks without partitions
 disklist="";
 fdisk -l 2>/dev/null | grep /dev | grep -v Disk | sed s/*/\ / | awk '{print $1,$6$7$8}' | cut -b6-30
>/tmp/partout
 grep .d </proc/partitions | awk '{print $4,$3}' >/tmp/sysinfo2
 while read LINE
 do
   xxdev=`echo $LINE | cut -f1 -d\ `;
   xxsize=`echo $LINE | cut -f2 -d\ `;
   xxsize2=`echo ${#xxsize}`;
   pad="";
   a=$xxsize2;


                                              Page 198 of 206
    while [ $a -le 12 ]
    do
       pad=$pad\_;
       a=$(($a + 1));
    done
    xxtype="";
    xxtype=`grep $xxdev\ </tmp/partout 2>/dev/null | cut -f2 -d\ `;
    if [ -z $xxtype ]; then
       xxtype="DISK";
### 2009/3/15 New disklist to have just disks without partitions
       disklist="$disklist `printf "%s %s%s--%s off" $xxdev $pad $xxsize $xxtype `";
    fi
    partlist="$partlist `printf "%s %s%s--%s off" $xxdev $pad $xxsize $xxtype `";
    if [ "$xxtype" != "DISK" ] ; then
       partonly="$partonly `printf "%s %s%s--%s off" $xxdev $pad $xxsize $xxtype `";
    fi
  done </tmp/sysinfo2
### End of addition
}
progress()
{
  (
  while test "$pcnt" != "$value"
  do

  printf "%s\n" "XXX"
## Modified Jetcat-mod to display two decimal positions
## have to cut off the decimals for the gauge to work.
  if test "$value" == "100"; then
     pcnt=`tail -n1 /tmp/progress.out`
     pcnt2=`tail -n1 /tmp/progress.out | cut -d. -f 1 `
     printf "%s\n" $pcnt2
  fi
  if test "$value" != "100"; then
     if [ " " = "$testx" ]; then
        pcnt=`df . | grep % | grep / | awk '{print $4}'`
     else
        pcnt=`df . | grep % | grep / | awk '{print $5}'`
     fi
     echo $pcnt | cut -d% -f 1
#        printf "%s\n" $pcnt
  fi
  printf "%s\n" "\n"
## msg variable set before calling the progress function to
## make minor variation between different screens.
  printf "%s\n" "$msg"; printf "%s\n" "\n"
  printf "%s\n" "\n"
  printf "%s\n" "The progress bar shows the percentage of the amount written";
  printf "%s\n" "to the size of the destination."; printf "%s\n" "\n";
  printf "%s\n" "Please stand by, this might take some time!"; printf "%s\n" "\n"; printf "%s\n" "\n"
## Percentage displays with 2 decimal places, plus start time and current time.
## This lets one check time status of process in addition to percentage


                                             Page 199 of 206
    printf "%s\n" "Progress"; printf "%s\n" "\n"
    printf "%s\n" "$pcnt"; printf "%s\n" "\n"
    printf "%s\n" "XXX";
    printf "%s\n" "$pcnt"
    sleep 5
  done
  )|
  $DIALOG --backtitle "$backtitle" --title "Working..." --clear --gauge "One moment..." 30 100
  rm /tmp/progress.out
  touch /tmp/progress.out
## Added a pause to let the user see final results before it returns.
}


backtitle="Program to clear free space"
part_info
f_radiolist "PICK DRIVE" "Choose drive to write to/read from.\n(Use Space Bar)\
\nThe drive that contains or will contain the image\
\nSupported FS are:\
\next2. ext3, ext4, reiserfs - Linux\
\nfat32 - Windows95/98/NT/2k/XP\
\nntfs - Windows NT/2k/XP\
\n\nSelect partition (example: /dev/hda1):" "$partonly" 2> /tmp/filelocaldrive
retvallocaldrive=$?
choicelocaldrive=$(cat /tmp/filelocaldrive)
case $retvallocaldrive in
  $DIALOG_OK)
  localdrive=$choicelocaldrive
###
  umount /mnt/local 2>/dev/null
  mount /dev/$localdrive /mnt/local >/tmp/mount 2>&1
  retvalmount=$?
  if [ $retvalmount != 0 ] ; then
    f_textbox "ERROR" /tmp/mount
    localdrive=""
    umount /mnt/local
  fi;;
esac
cd /mnt/local
chkvfat=`blkid /dev/$localdrive | grep vfat`
if [ -z "$chkvfat" ]; then
  {
    msg="Clearing Free Space on /dev/$localdrive"
    value="100"
    freesize=`df . | grep % | grep / | awk '{print $1 - $2}'`
    original=`df . | grep % | grep / | awk '{print $4}'`
    testx=`df . | grep % | grep / | cut -b1-1`
    if [ " " = "$testx" ]; then
       freesize=`df . | grep % | grep / | awk '{print $1 - $2}'`
       original=`df . | grep % | grep / | awk '{print $4}'`
    else
       freesize=`df . | grep % | grep / | awk '{print $2 - $3}'`


                                           Page 200 of 206
     original=`df . | grep % | grep / | awk '{print $5}'`
  fi
  printf "%s\n" "$freesize $original"

  dd if=/dev/zero bs=2M 2>/dev/null | $JETCAT -f 5000 -p $freesize 2>/tmp/progress.out >0bits &
  progress
  cat /tmp/progress.out
  value=$original
  msg="Removing 0bits file"
  $DIALOG --sleep 10 --infobox "PAUSE FOR 10 SECONDS" 5 25

  rm 0bits &
  progress
   }
else
   lblank7
fi
$DIALOG --sleep 10 --infobox "Drive Should now have all free space cleared" 5 50
cd /
umount /mnt/local

Startftpd – Script to start ftp deamon
tcpsvd -vE 0.0.0.0 21 ftpd -w -v / 2>/var/log/tcpsvd.log &




                                                Page 201 of 206
xprogress – script that runs progress from main g4l script.
Can be run in separate terminal windows, or via a telnet connection.

#!/bin/sh
#
#
## Michael Setzer II - Program Modifications
pcnt=0

## Created a function for the Progress Screen instead of multiple
## copies using multiply files. Just setup 1 function with a msg variable
## to set the minor differnces between earlier versions.

progress()
{
## Added a redirection of stderr from ncftp commands.
## Would get an error message rarely about a register 82 problem with duplex
## mismatch. This error would message the contents of the screen, but the updates
## of the progress would go on. Redirects output to file, and then displays last
## two lines of the file.
## This just sets the starting value as being OK

echo "OK" >/tmp/ncftpstatus.out
## Added the Start time of the process to the progress screen
## Removed - Replaced with modification to jetcat-mod to
## Display MBs of data transferred of total, and Elapsed time.
## starttime=`date +%T`
(
while test "$pcnt" != "100"
do
## changed to a common progress.out file for all progress
pcnt=`tail -n1 /tmp/progress.out`
echo "XXX"
## Modified Jetcat-mod to display two decimal positions
## have to cut off the decimals for the gauge to work.
echo $pcnt | cut -d. -f 1
echo "\n"
## msg variable set before calling the progress function to
## make minor variation between different screens.
echo "Progress\n"
echo "The progress bar shows the percentage of the amount written\n"
echo "to the size of the destination.\n\n"
echo "Please stand by, this might take some time!\n\n"
## Percentage displays with 2 decimal places, plus start time and current time.
## This lets one check time status of process in addition to percentage
echo "Progress"
echo "$pcnt\n"
## Removed Current time and Start time for modified jetcat-mod
##echo "Current Time: `date +%T`"
##echo "Start Time: $starttime"
## add display of last four lines of ncftp stderr if any.


                                            Page 202 of 206
echo -n "ncftpstatus: "
ncftpstatus=`tail -n4 /tmp/ncftpstatus.out`
echo $ncftpstatus
echo "XXX"
sleep 5
done
)|
$DIALOG --backtitle "$backtitle" --title "Working..." --clear --gauge "One moment..." 20 70
## Outputs start time and current time, so it can be checked if one isn't around at end
## of process. Also, note one can use Ctrl-Alt F2 to switch to another screen to review
## the file contents or use the special command option.
## Added a pause to let the user see final results before it returns.
}

: ${DIALOG=dialog}
: ${DIALOG_OK=0}
: ${DIALOG_CANCEL=1}
: ${DIALOG_ESC=255}

progress




                                           Page 203 of 206
Advance startup Options
Start telnet server at boot up
Adding the telnetd=yes line to the kernel append line.
This causes the rcS file to automatically start the telnet deamon, so machine can be accessed via
telnet.
Note putty works much better than regular telnet.
KERNEL bz38.4
APPEND initrd=ramdisk.lzma ramdisk_size=65536 root=/dev/ram0 telnetd=yes

Run Commands on Starup
Option to have the g4l automatically run commands or a set of commands via the g4lmenu script
Just like the above telnetd option the run=”command(s)” can be added to the append line, and this
can work with syslinux, grub, and grub4dos.
Note: with syslinux you can use the && to string commands together, but grub4dos doesn't work with
the &&, so using CR will do the same.
This can be used to automate a backup or restore, but one must fully understand all the commands
and settings.
### 12/31/20008 added to allow running command from grub
### add run="command line" to the grub line
### creates /tmp/runcmd to stop running twice.
### added sed CR filtering to allow multi-line commands
### run="command1CRcommand2CRcommand3"
if [ ! -s "/tmp/runcmd" ] ; then
   cat /proc/cmdline | grep run | cut -d\" -f 2 | sed -e 's/CR/\n/g' >/tmp/runcmd;
   if [ -s /tmp/runcmd ] ; then
      sh /tmp/runcmd
      sleep 10;
   fi
fi

Example: That automatically restores and NTFSCLONE image of XP partition
title G4L Restore XP
  kernel /bz38.6 ramdisk_size=65536 root=/dev/ram0 telnetd=yes run="mount
/dev/sda6 /mnt/local && cd /mnt/local && ./reimagexp "
  initrd /ramdisk.lzma

reimage script.
lzop -d -c d7-xp.lzo | ntfsclone -r --overwrite /dev/sda1 -
sleep 10
reboot




                                             Page 204 of 206
Convert G4L from CD setup to flash setup
The files can be copied from a linux cd to a flash, and then syslinux can be installed onto the flash.
If the same version of syslinux as isolinux is used that should probable be enough.
It the versions are different, then one also needs to copy the matchining .c32 files.

The syslinux file is included on the CD image.

Note: One can also copy the files from the iso image file by using a program like isomaster.



Convert G4L from CD setup to PXE setup
With my dhcpd server, the process that I did was similar process, but one would have to have a
complete understanding of there PXE setup.

Copied the files from the CD to the /tftpdboot directory or just copy one kernel file and ramdisk.lzma.
Copy the isolinux fle to the /tftpboot/pxelinux.cfig directory as default or a specific pxe name.
The complete configuration file can be copied, or just the exact kernel options.




                                            Page 205 of 206
Special Setup Files for G4L
G4L-WIN.EXE – Self extracting 7z file for Windows setup
ftp://amd64gcc.dyndns.org/g4l0.38alpha/g4l-win.exe
G4L-win.exe contains grub4dos and can be used to boot the g4l from a windows ntfs system.
On windows XP, one can extract the files to the C:\ and make minor addtion to boot.ini.
With Vista and 7 there are additional issues that have to be done.
The boot manager was to be renamed, and grub4dos needs to become the default manager.
Also, the security options, generally require more steps to be able to extract to the C:\ disk and
making the changes to the boot process.
For Server 2008, the files have to be extracted to the boot partition and the same renaming of the
boot manager.

There are some basic text files that include some instructions, would like to have an install process
that would make it automatic, but have not found a method yet.
The current file contains the following files.
   MENU.LST
   GRLDR
   COPYING.TXT
   GRUB.TXT
   LINUX
   LINUX/bz38.7
   LINUX/ramdisk.lzma
   LINUX/MEMTEST
   DOC
   G4LLINUX.TXT
   RIPLINUX.TXT

G4L-Lite.7z and G4L-lite.zip
ftp://amd64gcc.dyndns.org/g4l0.38alpha/g4l-lite.7z
ftp://amd64gcc.dyndns.org/g4l0.38alpha/g4l-lite.zip

These are the exact same files in 7z and Zip format for someone that might want to setup g4l in an
existing grub, grub4dos, lilo, or any of the syslinux boot option. Perhaps even with other boot loaders.
For the most part, only the kernel file bz38.7 (lastest full released) and the ramdisk.lzma (filesystem).




                                            Page 206 of 206

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:20
posted:9/16/2011
language:English
pages:206