A package was submitted to savannah.nongnu.org This mail was sent to [EMAIL PROTECTED], [EMAIL PROTECTED]
Steve Stites <[EMAIL PROTECTED]> described the package as follows: License: gpl Other License: Package: LifeBoat System name: lifeboat Type: non-GNU Description: Project Purpose and Summarization : I have created a project called LifeBoat. LifeBoat is a script program which creates rescue CDs on a Linux box. It builds the rescue CD by copying the necessary programs from the host softare. The resulting rescue CD is highly compatible with the host system. The LifeBoat CD system is highly configurable.By using the LifeBoat Addons feature the user can include any functions that he wants from the host system up to the size capacity of a CD. I have the source code and the web site available as tarballs. I do not have any place to post LifeBoat on the web. That is why I am approaching Savannah, to ask for free web hosting space. I can send the source code toyou in a tarball as an attachment to an email. This tarball is the LifeBoat download and the size is 138 Kb. I also have the complete LifeBoat web site available in a tarball and the size is 155Kb. The website tarball includes the download tarball, so sending both is redundent. To complete my description of LifeBoat I am appending the text version of the LifeBoat documentation. -------------------------------------------------------------------- LifeBoat Copyright (C) 2003 Steve Stites LifeBoat is released under the GNU General Public License. See the file called COPYING for a copy of the GNU General Public License. Introduction LifeBoat is a script program which can be used to create a Linux bootable rescue CD. LifeBoat uses your kernel, your device configuration, your man pages, and your utility programs so that the resulting rescue CD is highly compatible with your Linux system. LifeBoat is configurable and you can add any program you want to the base system provided by LifeBoat. The LifeBoat CD is designed to be a versatile and reliable rescue system. It is not a general purpose Linux system although with a lot of work you could create a general purpose Linux CD system using the addons feature. Rather than doing that, if you want a general purpose CD Linux system then I highly recommend Klaus Knopper's Knoppix: http://www.knoppix.org/ The LifeBoat CD base system is a command line based system running as root. It does not have a GUI. It does not have passwords. It does not have a package manager. It does not have a compiler. It does not have any networking. What the LifeBoat CD does have is your kernel, your devices, a large number of your command line utilities and your man pages. Installation Login as root or su to root. Extract the tarball in the working directory you will use to create your LifeBoat CD. Creating your LifeBoat CD 1. Use a text editor to make any necessary changes to the configuration file, config. The config parameters are: CDR_DEVICE The CDR_DEVICE is the scsi address of your CD-RW. The default is: CDR_DEVICE="0,0,0" CDR_SPEED The CD_SPEED is the burn speed of your blank CD-RW or CD-R. LifeBoat runs the burn at the fastest speed that your CD burner will allow. If you want to run the burn at a slower speed then set CDR_SPEED to the slower speed. For example if you want to do a 12X burn then set CDR_SPEED=12 The default is: CDR_SPEED= (which means as fast as possible) DISTRO The DISTRO is the name of your Linux distribution. Different distributions have different file structures so LifeBoat gives you a choice of commands to copy your files to the LifeBoat CD. The current choices are generic, Mandrake, RedHat, Slackware,SuSE, and Yoper. If all of these choices do a poor job of finding files on your distribution then make your own DISTRO command. Use the generic command as a base to create a DISTRO command that works well on your distribution. Save your command in the distributions directory and make it executable. If you make your own DISTRO command please send it to me as an email attachment and I will include it in a future release of LifeBoat. The default is: DISTRO=generic IDESCCI The IDESCSI parameter is entered into isolinux.cfg as a boot parameter describing your CD-RW. If your CD-RW is scsi then set it to null: IDESCSI= If your CD-RW is on /dev/hdd and uses ide-scsi emulation then enter: IDESCSI="hdd=ide-scsi" The default is: IDESCSI="hdb=ide-scsi" KERNEL The KERNEL parameter describes the full path and name of your kernel. The default is: /boot/vmlinuz MANPAGES The MANPAGES parameter is used to indicate whether or not you want your man pages included on the LifeBoat CD. See the "memory usage" section for more information about MANPAGES. Answer yes or no. The default is: yes MYNAME MYNAME is the name of the person who is creating the LifeBoat CD. That's you! The default is STITES. I suggest that you type your name in capital letters. That makes the boot message more readable. Enclosing your name in quotes will take care of any names which contain special characters like "O'LEARY" or "VAN DER WAALS". If your name has more than thirty characters try using a shorter nickname. RAMDISK_SIZE The RAMDISK_SIZE is the megabytes of memory set aside for a ramdisk. See the "Ram disk" section for a description of how to decide how large a ramdisk you need. The default is: RAMDISK_SIZE=250 2. Use a text editor to edit the addons file. In the addons file you can add anything that you want to the base LifeBoat system. 3. cd to the LifeBoat-0.2 directory. This is in the directory where you extracted the LifeBoat tarball. 4. Insert a CD-RW or a blank CD-R in your CD recorder. 5. Issue the command: ./lifeboat Ram disk In the following paragraphs the amounts of ram mentioned can vary widely from one Linux box to another. You will have to make a test run with LifeBoat before you get your LifeBoat ram usage configured correctly. The LifeBoat system uses a ram disk file system. This file system is entirely located in memory. So once boot has finished, the rescue system runs entirely in memory. It does not need a CD or a hard disk to run. But the ram disk does take up a significant amount of memory. The size of the ram disk is set using the config parameter RAMDISK_SIZE. The default RAMDISK_SIZE is set to a deliberately too large 250M. When you run ./lifeboat it will tell you how much ram disk is actually used and will also store the information in the audit directory. Then you should set RAMDISK_SIZE to 16M more than is actually used and run ./lifeboat again. You cannot reduce RAMDISK_SIZE to the actual usage because that would set up a "disk full" situation, i.e. you would not have any free working space on the ram disk. If you get "disk full", either while running ./lifeboat or after booting the LifeBoat CD, then increase RAMDISK_SIZE. If you don't want to ruin a CD-R in a trial run then leave the CD-ROM tray empty.Memory usage There is a trade off between the number of tools available to repair your broken system and the size of the rescue system. I have tilted toward making the rescue system as complete a tool kit as possible and therefore you may run into memory size problems when trying to boot the LifeBoat CD. You will need enough ram for the ram disk, your kernel, room to run programs, and cache space. Altogather you will need approximately the RAMDISK_SIZE plus about 10M. If that is too large for your machine then you can remove the man pages by setting the config variable MANPAGES=no and then reduce the RAMDISK_SIZE by about 33M. If you want to reduce the size of the LifeBoat CD system even further then you will have to rework the DISTRO script and throw out a lot of utility programs. Rather than do that I recommend that you take a look at tomsrbt. Tom Oehser has probably done as good a job as possible in creating a small small generalized Linux system on a floppy. tomsrtbt tilts heavily toward being as small as possible: http://www.toms.net/rb/ Another way that you can save space is to compile your own kernel. The kernels provided by a distribution usually includes every function that anybody might need. You can reduce the size of /lib/modules/* dramatically by compiling your own kernel and only including the functions that you actually need. In my case I saved about 38M in by compiling my own kernel. Kernel requirements LifeBoat uses your kernel because there is probably an excellent fit between your kernel configuration and your hardware configuration, file systems, partition types, etc. LifeBoat does require that your kernel have loopback device support and ramdisk support compiled into your kernel. Most distributions now have loopback device support and ramdisk support in their default kernels, but if your kernel lacks either of those features then LifeBoat will not work. If you compile your own kernel remember to include loopback device support and ramdisk support. You tell LifeBoat the name of your kernel with the KERNEL= parameter in the config file. The default is: KERNEL=/boot/vmlinuz LifeBoat will rename the kernel on the CD system to linux. If you have more than one kernel then the KERNEL= parameter must name the kernel that you are currently running on. The LifeBoat CD does not multi-boot. If you want more than one kernel then create a separate LifeBoat CD for each kernel. You will also have to boot your system into the proper kernel to create each LifeBoat CD. Addons You can add directories, programs, and other files to your rescue CD by using the addons feature. In the directory where you installed LifeBoat you will find an executable file called addons. You enter commands into the addons file to create directories and to copy files from your Linux system into the ramdisk that LifeBoat is building on the bootable CD. In your addons commands you reference the ramdisk as ${RAMDISK}. Your addons commands will be executed after ./lifeboat has finished building the standard rescue system so you can count on the standard directories to be existing in ${RAMDISK} when addons is run. Lifeboat contains the utility programs to inspect and repair partitions, ext2 file systems, and DOS file sytems. If you are using other file systems like ext3, or reiserfs, or perhaps something like LVM or RAID, then you should include the utilities to inspect and repair these things in the addons file. For example: Suppose that you want to use nano as your LifeBoat command line editor. Also suppose that you have a program called bedbug which finds and destroys viruses embedded in any of your Linux programs and you want to include bedbug on the LifeBoat CD. The bedbug program is located in /usr/local/bin. bedbug has lists of virus signatures and control files in /usr/bedbug. ${RAMDISK} has /usr/local/bin but it does not have /usr/bedbug. So you would add the following code to the addons file: # add bedbug mkdir ${RAMDISK}/usr/bedbug cp /usr/local/bin/bedbug ${RAMDISK}/usr/local/bin cp /usr/bedbug/* ${RAMDISK}/usr/bedbug -R # add nano cp /usr/local/bin/nano ${RAMDISK}/usr/local/bin Editor There are several open source command line editors available. Rather than take up a lot of space with half a dozen or so editors LifeBoat comes with a single text editor called mp. mp was chosen because it is very intuitive to use. Even if a person has never used mp before they can quickly master it well enough to repair a broken /etc/fstab file or startup script. LifeBoat gives mp linked names of ed, edit, editor, emacs, nano, pico, vi, and vim so that whatever editor name you try you will get a usable text editor. If you want to use some editor other than mp then include your preferred editor in LifeBoat by using the addons function. If your preferred editor's name is one of the mp alias names there is no conflict. LifeBoat will either overwrite the alias symbolic link with your editor or your editor will appear earlier in the PATH than the link to mp. See the "addons" section for an example of how to add the nano editor to the LifeBoat CD. mp mp is a command line editor written by Angel Ortega which is released under the GPL. A binary of mp version 3.2.9 is included with LifeBoat in the mp directory. You can get the latest version of mp and the source code from: http://www.triptico.com/software/mp.html mp contains a configuration file located in the LifeBoat package at mp/.mprc. You can change .mprc with a text editor. CD support LifeBoat assumes that your CD recorder is located at /dev/hdb and uses the kernel ide-scsi support. If your CD recorder is scsi, or if your CD recorder is on an IDE device other than /dev/hdb, then set the IDESCSI variable in the config file. LifeBoat creates a rescue system on either CD-R or CD-RW. LifeBoat tries to burn the CD-R or CD-RW at the fastest speed that your CD recorder can burn that media type. If you want LifeBoat to do a slower speed burn then set the CDR_DEVICE variable in the config file to the speed that you want to burn at. LifeBoat assumes that your CD recorder is scsi device number 0,0,0. If your CD recorder is located at a different address then set the CDR_DEVICE variable in the config file to the correct scsi device number. Copying /dev LifeBoat copies your device information to the rescue cd so that there is a high degree of compatibility between your Linux system and your rescue CD. /dev is hard to copy and a mistake in copying /dev can potentially destroy your Linux system. LifeBoat uses cpbk to safely and accurately copy your /dev directory to the rescue CD. cpbk is also included on the LifeBoat CD for your use in backing up and restoring /dev if you choose to do so. cpbk cpbk is a backup program written by Kevin Lindsay and Yuuki Ninomiya which is released under the GPL. A binary of cpbk version 4.1.0 and the cpbk man pages are included with LifeBoat in the cpbk directory. You can get the latest version of cpbk and the source code from: http://linux.sarang.net/~darchon/linux/cpbk/ Bootloader LifeBoat uses isolinux for the bootloader. A binary of isolinux version 1.63 is included with LifeBoat in the isolinux directory. You can find a copy of the isolinux.cfg that LifeBoat created in the audit directory. isolinux isolinux is a boot loader for CD written by H. Peter Anvin which is released under the GPL. isolinux is part of the syslinux package. Documentation for both isolinux and syslinux can be found in the isolinux directory. You can get the latest version of isolinux and the source code from: http://syslinux.zytor.com/iso.php Updating the LifeBoat CD Whenever you make major changes to your Linux system I suggest that you create a new rescue CD to maintain the utmost compatibility between your main system and your LifeBoat system. But don't be in any hurry to throw away the previous version of your LifeBoat CD. Your upgraded system may have problems and your latest rescue system will also contain the problems. I recommend that you always keep two generations of your LifeBoat CD available and clearly mark which is which. You can find the date that your latest LifeBoat CD was created in the boot message and in the audit directory. Booting the rescue CD You need to do the following things in order to boot your rescue CD: Set up your bios boot sequence. The recommended sequence is to boot floppy first, cdrom second, and hard disk third. Place your rescue CD in your cdrom. Boot. The following harmless warning message may appear when you boot the LifeBoat CD: Bash: no job control in this shell Once you get the command prompt you do not need the CD any longer and you can remove it if you want. Using the LifeBoat CD There is no login or password. You are running as root. The documentation available on the LifeBoat CD includes your man pages and /root/LifeBoat.txt. You can read /root/LifeBoat.txt with either mp or less. There are four empty directories available as mount points. These are: /boat1 /boat2 /boat3 /boat4 Shutting down the rescue system Do not simply boot or power down when you are finished with your rescue system. Instead remove the LifeBoat CD and then use the shutdown command. If you want to power down use: shutdown -h now If you want to boot into your Linux system use: shutdown-r now If you want to reboot the LifeBoat system, leave your LifeBoatCD in your CD-ROM and use: shutdown -r now Security The LifeBoat CD has no security. There is no login, no password, and you run as root. This lack of security is deliberate. It allows you to use LifeBoat to repair your Linux box when security is broken and you cannot log in. The total lack of security also means that your LifeBoat CD is potentially very dangerous in the wrong hands. You should keep your LifeBoat CD where your little brother cannot find it. Changelog v 0.2 This is the first public release of LifeBoat. Contributions No, I am not asking you for money. I am asking you to make LifeBoat work on your distribution and then send the changes to me. Different distributions have different file structures so LifeBoat gives you a choice of DISTRO commands to copy your files to the LifeBoat CD. It is quite possible that none of the DISTRO commands that come with LifeBoat will work well with your distribution and you may have to rewrite the generic distribution command to fit your distribution. If you do so I would very much appreciate your sending me your new DISTRO command so that I can include it in future releases of LifeBoat. Be sure to include your distribution name and release number. One of my design goals is to make LifeBoat easy to use. This first public release is admittedly rough. If you have difficulties using LifeBoat, let me know, along with your ideas on how to make it easier to use. Bugs There are no known bugs in LifeBoat. However I expect that when people try it on a variety of hardware and distributions some bugs will be discovered. Please send me as complete a bug report as possible keeping in mind that I need to know any relevant information about your hardware and software setup. Contact You can contact Steve Stites at: [EMAIL PROTECTED] Attributions LifeBoat was created by Steve Stites cpbk was created by Kevin Lindsay and Yuuki Ninomiya isolinux was created by H. Peter Anvin mp was created by Angel Ortega Return codes The ./lifeboat command return codes are: 0 - normal exit 1 - not running as root 2 - kernel does not exist 3 - terminated by external signal 4 - MANPAGES variable is not yes or no 5 - CD burn failed 6 - DISTRO file does not exist 7 - the loopback device does not work Other Software Required: Software Dependencies : LifeBoat depends on cpbk, isolinux, and mp. All three of the programs are released under the GNU General Public License. LifeBoat includes the binariesfor these three programs in the distribution tarball. The LifeBoat documentation properly attributes the developers of all three programs and directs the user to where the source and latest versions can be found. Other Comments: This is my second submission for LifeBoat. I have corrected everything that Rudy objected to except one thing. Rudy suggested that I place my documentation under the GFDL. I read the GFDL and it says that the recipient cannot modify the documentation. I would hope that anyone who changes the source code would also change the documentation. So I don't care for the GFDL as I understand it. Actually I intended the GPL reference in the documentation to refer to the source code and not the documentation. If you think I have my documentation licensing legally scrambled I would be willing to remove the copyleft clause in the documentation, or make the documentation public domain, or whatever else you consider reasonable as long as I don't make the documentation unchangable. _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Savannah-hackers mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/savannah-hackers