Tritech Service System

A c02ware product, built for Tritech Computer Solutions
Download

Tritech Service System Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL v3
  • Price:
  • FREE
  • Publisher Name:
  • c02ware
  • Publisher web site:
  • http://c02ware.com

Tritech Service System Tags


Tritech Service System Description

A c02ware product, built for Tritech Computer Solutions Tritech Service System is a unique live Linux distribution. Where most live Linux CD and USB distros (i.e. KNOPPIX, Slax, Ubuntu) are geared toward providing a relatively complete desktop environment and packing as much as possible into the medium of choice, TSS is specifically aimed at providing a minimalist environment for experienced Linux users to perform system rescue and repair tasks from a clean environment that does not depend on external media being present to operate.Though it was originally for internal use at Tritech Computer Solutions only, we realized that this system could be extremely useful to the entire Free and Open Source Software community in general. The TSS CRE is our way of giving something back to the people who made it all possible.WHY AND HOW IS THE TRITECH SERVICE SYSTEM DIFFERENT? TSS is designed with media independence in mind. When it loads, the entire system is set up as an initial RAM filesystem, and consequently the whole system runs in RAM. Most live Linux systems use initramfs also, but only to locate, mount, and start the real root filesystem which is usually stored as a giant compressed file (or set of compressed files) on the boot medium. Not only is TSS faster than comparable live Linux distros, it also relieves the reliance on the boot medium. In most cases, this means that the CD/DVD drive (the most common way to start TSS) is not locked shut and unusable. If Linux doesn't have a driver for a critical piece of hardware in a system (e.g. a SATA interface) then most live systems would fail to boot due to an inaccessible boot device; TSS doesn't suffer from this limitation. Another serious problem that inspired TSS was damage to bootable media, for example a little scratch on a KNOPPIX CD often translated into command failures due to the compressed file containing the KNOPPIX system failing to decompress cleanly, because of the damage to the CD.Another major difference lies in the goals of the TSS project. KNOPPIX was the live Linux of choice at Tritech Computer Solutions for a very long time, but two severe problems arose with KNOPPIX: (1) the "chntpw" and "reged" tools are invaluable in a Windows computer service shop, but KNOPPIX lacked them entirely; (2) KNOPPIX aged, the CD version was dropped entirely, and the final blow came when one day a KNOPPIX 5.1.1 CD failed to see the SATA hard drive interfaces for a machine, preventing it from being usable at all.A comparison with Damn Small Linux (DSL) is also in order: the biggest reason behind DSL being useless for what we do with TSS is the software in use on DSL; specifically, we often need bleeding-edge software and DSL tends to avoid bleeding-edge software like the plague because of the inevitable bloat involved, which is the polar opposite of the "as much as possible in 50 megabytes" goal of DSL. Hey, DSL is really cool, we admit, but its goals make it a terrible candidate for meeting our own.These experiences and goals are responsible for the architectural decisions behind the Tritech Service System, and we feel that the TSS addresses all of these problems and goals extremely well.WHAT SOFTWARE IS INCLUDED WITH TSS?Here's a list of the most interesting software packages in TSS and some info on what that software is useful for, or why it's included. Dependency libraries and supporting software isn't listed.Base:busybox: Provides the majority of base programs needed in a small package.cabextract: Expand Microsoft .cab archives or *.??_ files from Windows CDs.chntpw: Change Windows passwords; provides reged, a registry hive editor.cifsmount: Mount Windows shares over the networkciopfs: Case Insensitive On Purpose, an interesting little FUSE filesystem.dd_rescue: Non-aborting rescue-oriented version of the "dd" utility.dmraid: Linux device-mapper RAID tools, mainly for fake "RAID" controllers.dropbear: An SSH client/server; TSS starts the server by default (port 2233).fdupes: Find duplicate files and optionally delete duplicates.file: Checks a file's contents to intelligently determine what it contains.fuse: The Linux Filesystem in Userspace library, for ciopfs and ntfs-3g.hexedit: A hex editor. Great for changing NTFS boot sector head counts. :)lvm2: Linux LVM utilities, usually for working with the device mapper.lzop: The fastest decompressor we can find. Handy for quick file deployment.md5deep: Scans file hashes; good for checking against a known-good hash list.ntfs-3g: Mount NTFS filesystems.ntfsprogs: Miscellaneous NTFS tools that come in handy often.sha1sums-xp: A list of some known-good Windows XP system file hashes.sysfsutils: Linux sysfs utilities. If you need these, you're VERY happy now.tar: GNU tar, because busybox tar lacks some features we often require.util-linux-ng: fdisk, enough said.wireless-firmware: Intel, zd1201, prism2/2.5/3, and other wifi card firmware.wireless-tools: Self-explanatory name, if you ask me.Extended:alsa-utils: Console tools for sound stuff; alsamixer is a sweet program!bash: X apps misbehave with busybox /bin/sh, so bash is sort of required.cups: Not on by default, but if you need basic printing support, it's here...dillo: The ugliest (and fastest and smallest) GUI Web browser I could find.epdfview: A small PDF viewer...need I say more?eterm: Mainly here for Esetroot, but eterm has eye candy stuff :Dffmpeg: Convert video/audio formats; required for Xine.fluxbox: The default window manager for TSS.gqview: An image viewer with intelligent duplicate finding abilities.lynx: Text-mode browsing at its ugliest.nano: If you don't like vi, this will silence your cries quickly.rxvt: The default X terminal app for TSS.thunar: Graphical file manager from XFCE, the default for TSS.wget: Dillo needs wget to download files, and it's just so handy anywayxfce: Not the default DE, but we borrow a lot of it to support Fluxbox.xine: TSS can play back video, yay!xorg: Without this, no pretty pictures. Xorg is required for GUI...anything.BASE, EXT...WHAT'S THE DIFFERENCE?You have to choose between the "base" and "extended" version of TSS at boot time. The biggest difference is size and load time. Choosing a "base" option loads a ~4MB (compressed) initial RAM filesystem, which should boot and run on even a machine with, say, 32MB of RAM. The downside is that a base system will not have any GUI apps and will be lacking many additional tools that are omitted due to size (such as "file" or "lynx"). If all you want is to clear a Windows password or shuffle files around on a drive, the base system should be sufficient.The other significant difference, other than a longer load time, is that the extended ("ext") system requires at least 160MB of RAM and boots to an auto- configuring Xorg server login box by default.HOW DO I GET STARTED?If you have an ISO, you can burn it directly to CD and boot it immediately. If you want to boot from a USB drive, you need to get the "/boot" folder off of the CD (or by building the system yourself, it appears in iso/boot) and copy it directly to the root of the USB drive; then, if you're on Windows, run "boot/bootinst.bat" (right-click on it and "Run as Administrator" on Windows Vista or Windows 7) or from Linux run "sh boot/bootinst.sh" to make the USB drive bootable.When you boot TSS, you are presented with a variety of options; "base" vs. "ext" is explained above. "ACPI off" and "safe mode" turn off options that cause some (usually older) computers to fail to boot. Note that these may also disable useful features; in particular, "safe mode" turns off support for multiple processors and CPU cores.You can log in with username "root" and no password. There is also a normal user account "tss" with password "serv1ce!" which can be used. This is also the account you must use to access a running TSS instance via SSH, as root access via SSH is completely disabled for security purposes.BUILDING AND CUSTOMIZING THE TRITECH SERVICE SYSTEMIf you've downloaded the source tarball, you can build and modify TSS to suit your own needs. In addition to having tmpfs support in your kernel, make sure the following commands exist first:bash, cpio, lzma (comes with xz), xz, sed, find, dialog, mkisofs, ldconfig.If you have these and GNU coreutils or a suitable replacement for them, you should be able to complete a TSS build. You'll probably want to put a few custom files in place before you perform the build, though, so here's a list of the files (put them in the root of the source directory) and what they do: tss_version: Contains the version string for the TSS build; trailing newlines are stripped off automatically. wallpaper.jpg: When booting the "ext" system, this JPEG image is scaled preserving its aspect ratio as the wallpaper in Xorg. custom-scripts.txz: This archive will be unpacked directly into the TSS staging folder in both base and extended systems as if it is a standard package. This is the preferred way to add custom commands and scripts because it doesn't run the risk of damaging the TSS source packages. tss.png: This is a 640x480 PNG file that is used as the boot splash image. kernel-image: This is the Linux kernel image you want to include.The stock TSS kernel and busybox configuration files are included in the source package. If you compile a kernel yourself, you will require support for initial RAM filesystems (initramfs) and you must enable LZMA initramfs support as well (CONFIG_EMBEDDED=y will reveal the option if you're unsure). You must be "root" to do a build, or use a suitable fakeroot environment. To build TSS, simply put the custom files you want in place and run the TSS generator script:./gentssYou will be prompted for the packages you want to include in the base TSS system first, then for packages to include in the extended system. When you finish making your selections, the build will proceed. Watch carefully for any errors that may appear; some errors can be ignored (I'm lazy about typing too many "if" commands :) while others are not so kind. When the build process completes, you should have a bunch of new files to play with:initramfs.cpio.lzma: The "base" system initramfs image.initramfs_ext.cpio.lzma: The "extended" system initramfs image.tritech_service_system.iso: A bootable TSS ISO image.staging/: A tmpfs mount containing the uncompressed extended TSS filesystem.iso/: The unpacked contents of the TSS ISO image.If you're just building a custom ISO image, copy the ISO to where you want it, and the following script will clean up the files used in the build:./cleanupIf you want to wipe out the customization files as well, you can do so with:./cleanup allCUSTOMIZING TSS PACKAGESPackages are simply XZ-compressed tar archives with permissions intact. To unpack a package and work with it, a typical command sequence is such:/usr/src/tss # mkdir pkg/usr/src/tss # cd pkg/usr/src/tss/pkg # xz -dc ../tss-ext/xorg_1.6.3.txz | tar -xp/usr/src/tss/pkg # /usr/src/tss/pkg # tar -c | xz > ../tss-ext/xorg_1.6.3.txz/usr/src/tss/pkg # cd ../usr/src/tss # rm -r pkgThe "p" parameter in "tar -xp" is REQUIRED. Without it, tar will fail to apply permissions and special file status, and the repacked package will potentially be useless.Packages are developed on a system running the Linux distro CRUX 2.6, but any recent x86-32 distro can generally be used to make packages. Compiling software is beyond the scope of this document; if you're familiar with the process already, you know that any program that uses a configure script made with the GNU autotools accepts a DESTDIR parameter, which can be used to install the desired add-on package to a working folder:/usr/src/evilprogram-6.66rc6 # make DESTDIR=/usr/src/tss/pkg installBecause TSS packages should be as small as possible, it is *STRONGLY recommended that you strip new or upgraded packages to their absolute bare minimum. The gentss script tries to do some of this automatically, but you should do it manually to be sure that package size is minimized. Examples: Run strip -g lib/*.so usr/lib/*.so and strip /*bin/ /usr/*bin/ to remove unnecessary debugging symbols from libraries and programs. Remove *.a and *.la files as these are static libraries and are not needed on systems that don't even have compilers; try find -name *.a -delete and find -name *.la -delete in the new package root folder. Remove includes, manpages, and documentation, often in /usr/include, /usr/man, /usr/share/man, /usr/doc, /usr/share/doc, /usr/share/gtk-doc. Toss out /usr/lib/pkgconfig, because it's not needed. Same for any file called e.g. /usr/bin/foo-config (but not all! Use your discretion!) Try to determine if additional files aren't needed; for example, we rm'ed most of the X DRI .so libraries and saved almost 20MB of uncompressed space(!!!), and many Xorg programs are also quite unnecessary.Once your package structure is exactly as you want it, pack it up into an archive and pick "base" or "ext" as its new home:tar -c | xz > ../tss-ext/evilprogram_6.66rc6.txzThe final step is to edit the gentss script to include an option and a file description. "Base" is the first list, and "ext" is the second list. You will see entries in this format; just add a line like this for your package:evilprogram "Evil but useful piece of software" on \The first part must correspond to the package name before the underscore character (in this case "evilprogram") and there must be NO SPACES after the backslash at the end of the line ("shell scripting 101" teaches you this...) The quoted string is the description you'll see in the selection list. The final word "on" or "off" determines if this package is selected or not by default.WHERE DO WE GO FROM HERE?First of all, if you have ideas or contributions, we'd LOVE to hear from you! Even if you just like the Tritech Service System, drop us a note and say "thanks d00dZ!!!111" or some other piece of your favorite Internet meme-like drivel.Other than our typical uses in the computer service shop, we don't have any real plans for TSS going forward. If that changes, so will this section of the README.Thanks for giving TSS a whirl! What's New in This Release: · 2.0.3 fixes broken ImageMagick and adds screenshot menu options, "Edit - in Set FB Wallpaper" item in GQView to change the wallpaper, minor software upgrades, and a more verbose and robust early boot which drops to a shell if there is a problem instead of halting the system. As of 2.0.3, CRE is now considered the mainstream TSS, and "CRE" will not appear in the version number from now on.


Tritech Service System Related Software