Software remastering

Last updated

Software remastering is software development that recreates system software and applications while incorporating customizations, with the intent that it is copied and run elsewhere for "off-label" usage. The term comes from remastering in media production, where it is similarly distinguished from mere copying.

Contents

If the codebase does not continue to parallel an ongoing, upstream software development, then it is a fork, not a remastered version. If a codebase replicates the behaviour of the original but does not derive from the original codebase then it is a clone.

Knoppix family tree. Note the vertical dotted line that indicates how two distros, WHAX and Auditor Security Linux, merged to discontinue themselves and remaster Auditor Security Linux to create the BackTrack distro. KnoppixFamilyTree1210.svg
Knoppix family tree. Note the vertical dotted line that indicates how two distros, WHAX and Auditor Security Linux, merged to discontinue themselves and remaster Auditor Security Linux to create the BackTrack distro.

Common examples of software remastering include Linux and Unix-like distributions, and video games. Remastered Linux, BSD and OpenSolaris operating system distributions are common because they are not copy protected, but also because of the allowance of such operating systems to grow an application for taking a snapshot of itself, and of installing that onto bootable media such as a thumb drive or a virtual machine in a hypervisor. Since 2001 over 1000 computer operating systems have arisen for download from the Internet. [1] A global community of Linux providers pushes the practice of remastering by developer switching, project overtaking or merging, and by sharing over the Internet. [2] Most distributions start as a remastered version of another distribution as evidenced by the announcements made at DistroWatch. [3] Notably, remastering SLS Linux forked Slackware, remastering Red Hat Linux helped fork Yellow Dog Linux and Mandriva and TurboLinux, and by remastering a Debian distribution, Ubuntu was started, which is itself remastered by the Linux Mint team. [2] These might involve critical system software, but the extent of the customizations made in remastering can be as trivial as a change in a default setting of the distribution and subsequent provision to an acquaintance on installation media. When a remastered version becomes public it becomes a distribution. [4]

Microsoft Windows has also been modified and remastered. Various utilities exist that combine Windows updates and device drivers with the original Windows CD/DVD installation media, a process known as slipstreaming.

When remastering a distro, remastering software can be applied from the "inside" of a live operating system to clone itself into an installation package. Remastering does not necessarily require the remastering software, which only facilitates the process. For example, an application is remastered just by acquiring, modifying and recompiling its original source code. Many video games have been modded by upgrading them with additional content, levels, or features. Notably, Counter-Strike was remastered from Half-Life and went on to be marketed as a commercial product.

Introduction

Software remastering creates an application by rebuilding its code base from the software objects on an existing master repository. If the "mastering" process assembles a distribution for the release of a version, the remaster process does the same but with subtraction, modification, or addition to the master repository. Similarly a modified makefile orchestrates a computerized version of an application.

When an amount of unneeded code is "cut down" to some wanted minimum it removes unwanted features that the original publisher and maintainer needs. When new features are added it evolves the software. A remastered version may consider that a feature of the original is a bug, and provides a modified copy of the feature that works in a better way.

When it is published a software remaster maintains the integrity of the named product from which it was derived by adherence to a shared software repository with any modifications, and with the intention of maintaining the good name needing approval. If approval does not happen, the name and the repository have the option to become their own master. The creator of a published software remaster, if they do no further work to evolve the software, must at least arrange for maintenance support channels, such as updating user documentation, providing a forum, an internet relay chat line, or a wiki, providing intent to maintain a version for the life of its usefulness.

Remastering centers around the reputation of a product, and so the distribution process requires an official, sanctioned version. This differs from the attitude in much free software in the many cases where the name of the product is "cheap" because plentiful and stable, where no guarantees or liabilities are offered, and where permission is inherently granted to redistribution any modified version under any name.

The original repository is the master, from which creative flavors and spins may already be offered by the original producers. A remaster production supports any additional software from outside it, supports the new mixture of software from the original repository, or keeps the modifications of original masters on the outside the master repository. Software remastering is tolerated by the maintainers of the master repository, while free software modifications are encouraged by the same social conventions.

Linux

Mklivecd runs on a Linux machine to make a bootable, portable media, image of that Linux system. It works for any Linux distribution, but probably needs to be installed first.

PCLinuxOS

Family tree showing PCLinuxOS in green near the end Remastery-Family-Tree-at-PCLinuxOS.png
Family tree showing PCLinuxOS in green near the end

A remaster [5] is a personalized version of PCLinuxOS created according to the needs of an individual. It is created using the mklivecd script applied to its installation, which can be of any of the official flavors of PCLinuxOS. An official remaster can only include software and components from the official repository (version control).

A community remaster may contain software and components from outside but if so, then it should not have any reference to PCLinuxOS other than "derived from PCLinuxOS" or "based on PCLinuxOS" if intended for distribution. There have been several of these third-party distributions over the years, though they may only mention that connection if they follow strict guidelines concerning the quality, maintainability and distribution channels, all subject to approval from officiating members of the forum.

PCLinuxOS Gnome Edition is an example of a community remaster.

Unity Linux

Unity Linux is intended as a base platform that acts as a distribution "template" that ensures interoperability between packages, and upon which one is encouraged to remaster any "all new" Linux OS distributions.

Linux Mint

Linux Mint has its own remastering tool called mintConstructor for creating distributions based on Linux Mint, and for creating ISO files. Also, the package manager uses .mint files. [6]

Linux Mint is based on the Ubuntu Linux distribution, but Ubuntu is based on the Debian distribution. Because Linux Mint also offers a Debian Edition, they provide an example of meeting the kind of codebase challenges that goes into remastering a branch of two distributions.

Others

Gentoo Linux uses Catalyst. [7] The user installs it and configures it, and after it runs, gets one big archive-formatted file under /var/tmp/catalyst/builds. Configuration options are the target machine architecture, development version stamp, a differentiation stamp (for example the same version but "hardened" for extra security). The user must provide Catalyst its own snapshot of his portage tree and point it to a target "profile" branch of the portage tree. (A portage tree is a hierarchy of directories, oriented by the names and categories of packages, that some package managers use for the normal everyday maintenance of software.)

Fedora Linux uses Revisor to enable the user to compose his own customized installation or live media.

Arch Linux uses Archiso to remaster an Arch installation to target a machine which has rare hardware or no Internet connection, or for cases where a modified deployment will occur multiple times. The remastered ISOs are bootable, so they can also be used for system rescue, demonstrations of the Arch setup, as a task for testing some new software installed on it, a rollout of a custom installation onto many machines, etc. The Arch Linux wiki also gives the procedure to do manually [8] what Archiso does automatically. (It involves copying portions of the installation ISO, and using the Linux commands mount, mkdir, chroot, mksquashfs, and the Arch package manager pacman.)

MX Linux uses MX-snapshot, a GUI tool, to remaster a live installation into a single .ISO file. This quickly and conveniently "cloned" image is bootable from disk or USB-thumbdrive while maintaining all settings. This way, an installation can conveniently migrated or distributed to a new hard-disk or USB-thumbdrive requiring next to no administrative effort, since an advanced method of copying the file system (developed by antiX-linux) utilizing bind-mounts performs the "heavy lifting". The snapshot also serves as an essentially complete and convenient backup of the installation.

Microsoft Windows

The examples in this section show some historical and operational aspects of the software remastering as it has occurred with Microsoft Windows.

Windows 9x

Desktop of Windows Me with 98lite 98liteme.png
Desktop of Windows Me with 98lite

98lite

98lite is a remastering tool for Windows 95, Windows 98 and Windows Me without Internet Explorer, written by Shane Brooks. [9] It was written in response to Microsoft's claim, in antitrust proceedings, that IE is integrated into Windows and cannot be removed without breaking other features.

98lite was created in 1998 after the original release of Windows 98, out of necessity, since at the time Brooks had a slower laptop computer that ran the Windows 95 operating system fine but Windows 98 was simply too slow. Brooks liked the stability Windows 98 offered as well as some of the new features but had no need for the Internet Explorer browser. The original 98lite was a simple DOS based installer that ran before the Windows 98 installation, this installer made modifications to a fresh installation of Windows preventing the installation of Internet Explorer and the Active Desktop.

Installation of the first release of 98lite required the user to extract certain files from a Windows 95 disk as 98lite uses the Windows 95 shell. A second program called Shell Swap swapped the Explorer shell with the Windows 95 Explorer, which does not contain the web features of Me's and 98's Explorer and is therefore considerably faster and more lightweight, this was designed for existing installations of Windows 98 where the original 98lite was designed for a new installation of Windows. A third program converted "required" components into addable and removable options.[ citation needed ]

With version 2.0 of 98lite, the three programs were merged and combined into a single program. The IE remover was combined with the components converter, making IE uninstallable and reinstallable with the Add/Remove Programs control panel applet as with the other components; the user could also choose the Windows 95 shell and keep Internet Explorer installed. The user now had three installation options. The "sleek" option allowed the user to install 98lite with the Windows 95 shell like in the original release, or the user could choose "chubby", which used the Windows 98 shell with some Active Desktop features disabled. The final option was "overweight", which installed 98lite with the Windows 98 shell and nothing disabled but Internet Explorer still removed. Version 3.0 added support for Windows 98 Second Edition, an upgraded version of Windows 98 with Internet Explorer 5.0 which made 98lite 1.0 through 2.0 obsolete. The current 4.x line has many improvements, including bugfixes and support for Windows Me.

Installing any version of DirectX under 98lited Windows requires at least temporary presence of PC Health. Otherwise DirectX refuses to install, finishing installation attempt with error message "DirectX did not copy a required file".[ citation needed ]

Revenge of Mozilla

Revenge of Mozilla is another free application that removes Internet Explorer and many other non-essential components from Windows 98 and restores the Windows 95 explorer.exe. [10] There are two versions of this, one for the original Windows 98 release, and another for Win98 SE; there is no version for Windows Me. This is no longer supported, and not being updated.

Embedded

There is also a company spun off from Lite-PC that produces Windows 98 and Me installations which are small enough to easily fit on embedded microchips, as small as 8MB, [11] using 98EOS. [12] There are also many free alternatives to this, such as Mindows [13] and Nano98, [14] which can provide either smaller file sizes, or more broad functionality.

Windows 2000 and later

2000-XPLite

The creator of 98lite also built a similar tool for Windows 2000 and Windows XP, called 2000-XPLite, which removes Windows components that are not intended to be removable. This includes Out-Of-Box Experience, Internet Explorer, Outlook Express, Windows Media Player, and others. 2000-XPLite also allows tweaks to the Operating System to enhance its performance.

2000-XPLite does not use a text interface as did 98lite. Like 98lite, 2000-XPlite installs Windows with all components, and then removes unwanted components after installation.

nLite

nLite is designed to remove unwanted Windows 2000, Windows XP (32 and 64 bit) and Windows Server 2003 system components, and create cut-down customized installation CDs. nLite was built by Dino Nuhagić and is free for personal use with purchase options available. In September 2014, a beta-version for Windows 7 and later was publicly released. [15]

After the user chooses the wanted 'functionality' options, nLite attempts to warn the user against removing dependent components during the creation of a custom installer. It also lets users add device drivers, integrate Service Packs and other Windows Updates as well as remove drivers for obsolete or unwanted hardware and remove unwanted language and keyboard options and unwanted applications.

It allows customization of the installation process, including Product Key entry, administrator's password, regional settings and creating user account names and other options normally set in Control Panel after installation, as well as numerous 'tweaks'. Various degrees of 'unattended installation' are also possible. At the end of the installer creation process, nLite can burn the installation direct to CD, or create an .iso image for later use. It also has the option of saving and loading previous session choices, (in .txt format) to speed up checking or further modification of the custom installation, should that be required. [16]

Since the custom installer does not contain unwanted components, this can lead to a smaller installation package and faster installation, which is of considerable benefit to IT Staff still using a manual 'roll out' approach (without the benefit of Microsoft Sysprep). Such software-minimized CDs can also allow a Windows system to be installed on hard disks below 512 MB in size.

HFSLIP

HFSLIP is an open source command line Hotfix and Service Pack slipstreaming tool designed to update Windows 2000, Windows XP, and Windows Server 2003 installation sources. [17] [18] [19] In addition to hotfixes and service packs, HFSLIP slipstreams other Microsoft updates such as Internet Explorer, DirectX 9.0c, Windows Media Player, and Windows Media Codecs. It also integrates third-party device driver updates, including DriverPacks.

HFSLIP slipstreams (replaces) the original files with the newer versions found in the updates from the Microsoft Download Center. HFSLIP places hotfixes that were non-standard or required a special installation procedure in the SVCPACK folder, to be installed automatically near the end of Windows setup.

As of May 2010, HFSLIP is no longer being developed, and the main website was taken down. [20]

Autostreamer

Autostreamer is a free slipstreaming tool for Windows XP, [21] which can integrate a service pack into a Windows XP installation CD-ROM image.

The main interface of Autostreamer is a wizard which guides the user through the slipstreaming process. According to PC World , it "simplifies the once-intimidating chore of slipstreaming your Windows XP CD—producing an XP SP2 CD from your SP1 or even vintage original XP CD". [22]

DriverPacks

The DriverPacks project is an open source project started by Wim Leers and Jeff Herre. Leers released the first Pack in 2005. [23]

Collections of device drivers are called DriverPacks. These exist for CPU Chipsets, CPU, Graphics/Video, Ethernet, Mass Storage/Removable/USB, Audio/Sound and Wireless (Wi-Fi/WLAN) hardware. DriverPacks BASE is a tool that integrates all DriverPacks into one, "uniform" Windows installation CD, which works on every piece of hardware, and needs no additional device drivers after the installation.

It is compatible with all Windows versions based on the NT 5.1 32-bit kernel (Windows 2000, Windows XP, Windows Server 2003, Windows Vista and Windows 7).

Windows Vista

vLite

vLite is the Windows Vista (32 and 64 bit) version of nLite, that can create a cut-down customized installation CD (or bootable USB stick). [24]

Some people have reported success using vLite with Windows 7; [25] [ dubious ] vLite is not fully compatible with Windows 7 and was not intended to support Windows 7. [26] In Sept. 2014, ntLite was released to support Windows 7 and later.

Windows 7 and later

ntLite

ntLite is a software tool from the creator of nLite to support Windows 7, Windows 8, Windows 8.1, and Windows 10. [24]

ntLite also prevents components from being installed and can remove them from an already-installed system when using a paid version.

Win Toolkit

Win Toolkit [27] can create a cut-down customized installation CD (or bootable USB stick) for Windows 7 and later versions.

See also

Related Research Articles

<span class="mw-page-title-main">Linux distribution</span> Operating system based on the Linux kernel

A Linux distribution is an operating system made from a software collection that includes the Linux kernel and often a package management system. Linux users usually obtain their operating system by downloading one of the Linux distributions, which are available for a wide variety of systems ranging from embedded devices and personal computers to powerful supercomputers.

<span class="mw-page-title-main">Windows 2000</span> Fifth major release of Windows NT, released in 2000

Windows 2000 is a major release of the Windows NT operating system developed by Microsoft and designed for businesses. It was the direct successor to Windows NT 4.0, and was released to manufacturing on December 15, 1999, and was officially released to retail on February 17, 2000 and September 26, 2000 for Windows 2000 Datacenter Server. It was Microsoft's business operating system until the introduction of Windows XP Professional in 2001.

<span class="mw-page-title-main">Windows Update</span> Software update distribution service for Microsoft Windows

Windows Update is a Microsoft service for the Windows 9x and Windows NT families of the Microsoft Windows operating system, which automates downloading and installing Microsoft Windows software updates over the Internet. The service delivers software updates for Windows, as well as the various Microsoft antivirus products, including Windows Defender and Microsoft Security Essentials. Since its inception, Microsoft has introduced two extensions of the service: Microsoft Update and Windows Update for Business. The former expands the core service to include other Microsoft products, such as Microsoft Office and Microsoft Expression Studio. The latter is available to business editions of Windows 10 and permits postponing updates or receiving updates only after they have undergone rigorous testing.

<span class="mw-page-title-main">Windows 9x</span> Series of Microsoft Windows computer operating systems

Windows 9x is a generic term referring to a series of Microsoft Windows computer operating systems produced from 1995 to 2000, which were based on the Windows 95 kernel and its underlying foundation of MS-DOS, both of which were updated in subsequent versions. The first version in the 9x series was Windows 95, which was succeeded by Windows 98 and then Windows Me, which was the third and last version of Windows on the 9x line, until the series was superseded by Windows XP.

A patch is a set of changes to a computer program or its supporting data designed to update or repair it. This includes bugfixes or bug fixes to remove security vulnerabilities and correct bugs (errors). Patches are often written to improve the functionality, usability, or performance of a program. The majority of patches are provided by software vendors for operating system and application updates.

<span class="mw-page-title-main">PCLinuxOS</span> Linux distribution

PCLinuxOS, often shortened to PCLOS, is a rolling release Linux distribution for x86-64 computers, with KDE Plasma, MATE, and XFCE as its default user interfaces. It is a primarily FOSS operating system for personal computers aimed at ease of use.

<span class="mw-page-title-main">Microsoft Office XP</span> Version of Microsoft Office suite

Microsoft Office XP is an office suite which was officially revealed in July 2000 by Microsoft for the Windows operating system. Office XP was released to manufacturing on March 5, 2001, and was later made available to retail on May 31, 2001, less than five months prior to the release of Windows XP. It is the successor to Office 2000 and the predecessor of Office 2003. A Mac OS X equivalent, Microsoft Office v. X was released on November 19, 2001.

The idea of the removal of Internet Explorer (IE) from Windows was proposed during the United States v. Microsoft Corp. case. Later, security advocates took up the idea as a way to protect Windows systems from attacks via IE vulnerabilities.

Safe mode is a diagnostic mode of a computer operating system (OS). It can also refer to a mode of operation by application software. Safe mode is intended to help fix most, if not all, problems within an operating system. It is also widely used for removing rogue security software.

<span class="mw-page-title-main">AutoPatcher</span> Offline updater

AutoPatcher is an offline updater and alternative to Microsoft Update that can be used for installing software patches, service packs and other updates for certain Microsoft Windows systems. It allows these to be downloaded on a different machine or in advance, and then installed without an internet connection. By doing this, system updates can be automated and scripted, time and bandwidth required to download relevant updates is reduced, and exposure of unsecured systems online can be avoided. AutoPatcher also allows installation of some common additional software, registry settings, and patches for other Microsoft software, notably Microsoft Office.

As the next version of Windows NT after Windows 2000, as well as the successor to Windows Me, Windows XP introduced many new features but it also removed some others.

Criticism of Windows XP deals with issues with security, performance and the presence of product activation errors that are specific to the Microsoft operating system Windows XP.

RIS, Remote Installation Services is a Microsoft-supplied server that allows PXE BIOS-enabled computers to remotely execute boot environment variables.

<span class="mw-page-title-main">Linux Mint</span> Ubuntu-based Linux distribution

Linux Mint is a community-driven Linux distribution based on Ubuntu, bundled with a variety of free and open-source applications. It can provide full out-of-the-box multimedia support for those who choose to include proprietary software such as multimedia codecs. Compared to Ubuntu, it uses the Cinnamon interface by default, using a different, more traditional layout that can be customized by dragging the applets and creating panels. New applets can also be downloaded.

Microsoft Application Virtualization is an application virtualization and application streaming solution from Microsoft. It was originally developed by Softricity, a company based in Boston, Massachusetts, acquired by Microsoft on July 17, 2006. App-V represents Microsoft's entry to the application virtualization market, alongside their other virtualization technologies such as Hyper-V, Microsoft User Environment Virtualization (UE-V), Remote Desktop Services, and System Center Virtual Machine Manager.

<span class="mw-page-title-main">Granular Linux</span> Linux distribution

Granular, or Granular Linux, is a Linux distribution targeted at the common desktop users. Granular is based on PCLinuxOS and comes as an installable live CD. The CD version of Granular features two desktop environments - KDE and a development version of Enlightenment. Where KDE is a full-featured desktop environment, Enlightenment is a lightweight desktop shell which is markedly faster than KDE.

The Linux Schools Project is an operating system designed for schools. It is a Linux distribution based on Ubuntu. The project maintains two custom distributions, with one designed for use on servers and the other for use with the server version on client machines. The server distribution is the official Karoshi, while the client is known as Karoshi Client.

<span class="mw-page-title-main">Zorin OS</span> Linux distribution based on Ubuntu LTS

Zorin OS is a Linux distribution based on Ubuntu. It uses a GNOME 3 and XFCE 4 desktop environment by default, although the desktop is heavily customized in order to help users transition from Windows and macOS easily. Wine and PlayOnLinux are supported, allowing users to run compatible Windows software, like Microsoft Office. Its creators maintain three free editions of the operating system, and sell a professional edition.

References

  1. Bodnar, Ladislav. "Home page". DistroWatch. Unsigned Integer Limited. Retrieved 28 April 2014. To verify the numbers choose a weekly report and search for "database summary" in it.
  2. 1 2 "Linux Distribution Timeline". GitHub . Retrieved 11 November 2018.
  3. "DistroWatch.com: Put the fun back into computing. Use Linux, BSD". distrowatch.com.
  4. Sentex, Rob. "Selecting a Linux Distribution". Beginner Tutorials. Lin. Archived from the original on 29 April 2014. Retrieved 28 April 2014.
  5. "PCLOS Remasters - PCLinuxOSHelp Knowledge Base".
  6. Cite mintInstall documentation.
  7. "Catalyst - Gentoo Wiki". wiki.gentoo.org.
  8. "Archiso - ArchWiki". wiki.archlinux.org.
  9. LitePC, Website of 98lite and 2000-XPlite
  10. "Revenge of Mozilla".
  11. "Screenshots of Embedded Windows 98, 98SE, ME". Archived from the original on 2012-10-19. Retrieved 2012-10-19.
  12. "embeddingwindows.com - Domain Name For Sale". Dan.com.
  13. "NEWS \\ Winimize.com". February 8, 2011. Archived from the original on 2011-02-08.
  14. Nano98
  15. "nLite home page" . Retrieved 1 November 2014.
  16. "nLite guide" . Retrieved 11 June 2014.
  17. "hfslip". hfslip. April 21, 2022.
  18. HFSLIP Information Site
  19. "HFSLIP". MSFN. March 15, 2008.
  20. "Sorta like bootleg tape trading." Microsoft Forum Network. 14 June 2010. Retrieved 15 June 2010.
  21. Autostreamer, Slipstreaming SP1a or SP2 to XP
  22. "Autostreamer". Utilities Download. PC World. 19 September 2007. Archived from the original on 26 January 2010. Retrieved 18 February 2010.
  23. DriverPacks
  24. 1 2 "NTLite".
  25. "How to vLite Windows 7 Beta 1 and install it on a 901 using an SD card". 13 January 2009. Archived from the original on 1 February 2009. Retrieved 17 July 2023.
  26. Flynn, David (29 April 2009). "No plans for '7Lite' reveals vLite creator". APC Magazine . Retrieved 3 March 2010. And although vLite does work with Windows 7 beta and the RC candidate builds, there's obvious interest in an updated program tailored for Windows 7.
  27. "Win Toolkit". WinCert.net Forums. Archived from the original on 19 April 2014.