Customizing SLAX: Part 1
Giving SLAX your own look and flavor.
SLAX is one really well designed Linux distribution. It is light on resources, fast, and be scaled for large or small operations. SLAX can be customized, and the settings easily managed with the technique of "modularized changes."
SLAX is a wonderful Linux distro. In its original form, SLAX is lightweight and fast, with only the basics one needs for general computing tasks. With the addition of extra modules to the /modules folder, the distro can be specialized for tasks of particular interest to the end user. For example, someone with a main interest in reading a number of web forums and writing e-mails can add the Firefox and Thunderbird modules, and enjoy the fine speed and stability provided by the underlying Slackware system. Another computer user who does a lot of graphic work would add GIMP and other programs for editing video or working with pictures in the RAW image format.
Things become a bit more complex when a SLAX user starts to add plug-ins to the installed programs, or makes changes to the default desktop environment. In addition, a user can find additional software in the form of "Live Modules" or compile source code for programs that can't be found in modular form. These changes are not persistent (do not survive re-boots) unless the user configures the system to preserve changes made during a computing session. Imagine adding a wireless driver or software radio package (Linrad, for example), working through a long trial-and-error process to achieve a nearly perfect configuration, and then needing to preserve the work. That is why the techniques of saving changes are important.
There are three ways of preserving changes that will be discussed here:
- The "changes=" boot parameter
- Creating customized user modules
- Customizing the SLAX core modules
The simplest way to implement persistent changes in SLAX is to use the boot parameter (without quotes) "changes=/dev/sdaX/" where the "X" represents the scsi drive and partition number containing the "changes" folder. For example, if the system is on a bootable USB stick, sda, and the user wants changes saved to the first partition, the cheatcode "changes=/dev/sda1/" is used. Note that the changes folder must be manually created - SLAX doesn't do it automatically. Thereafter, any changes to the system are preserved, including desktop configuration, files in the home folder, or anything else that is different from the base set-up.
The second option is to create a specialized configuration module. These are great for customizing SLAX, since they may be carried over into new updates of the base distro. Sometimes new versions come out a few weeks apart; other times a month or two will go by. Either way, all one must do to customize the newer edition is copy the configuration modules into the new version's /slax/modules folder. Note that a kernel upgrade will likely require remaking many of the SLAX modules, but that extra work generally doesn't happen until major upgrades once a year or so. Such a module can hold all of the changes desired by the user, but not superfluous items such as internet browser history, temp files, or other things that are non-essential and worth discarding at system shut down. Think of this as a customized "always fresh" option. During the boot process, these modules will be taken in order, and written into the file system (on a file-by-file basis) over the core files.There are a number of steps necessary to create a customized configuration module. Assuming that the SLAX system is on partition sda1, the procedure is as follows:
- Boot SLAX with all desired modules included in the /modules folder.
- Add any new wallpapers to the /usr/share/wallpapers directory
- Configure the desktop background, themes, visual effects
- Go online and install all desired browser plug-ins, software updates, etc
- Configure all software as desired, including bookmarks, email settings,etc.
- Navigate to the /mnt/live/memory/ folder
- Open a console window, and enter (without quotes): "dir2lzm changes /dev/sda1/slax/modules/slaxconf.lzm"
- Navigate to the /dev/sda1/slax/modules/ folder and verify that it contains a new new module, slaxconf.lzm.
If all seems normal, reboot. The new system should come up with all of the intended changes. Test all of the affected software to make sure it works as intended. If further changes are necessary, the above steps may be repeated to create more config modules: slaxconf1, slaxconf3, and so on. Note that if you give the new module the same name as an old one, the old module will be overwritten in whole, eliminating files containing the older changes.
Continue reading SLAX Customization: Part 2 to learn how to conserve system resources by consolidating numerous changes into single a single configuration module (or even a SLAX core module).