2015-05-14

halfSister logo halfSister is a new abstract method of m23 to make quasi any Linux distribution installable and administrable with m23.

How does halfSister work?

A minimal base system of the according Linux distribution is installed from a compressed and pre-configured archive. This way the usage of distribution specific tools like debootstrap or rpmstrap for installing a minimal system is avoided. A similar routine is used for speeding up the installation of Ubuntu with m23.

For every new distribution that m23 shall master, there is an adequate tool in the form of a single file. This file contains a set of commands, which are consistent within m23, for all administrative tasks and their counterparts for the according distribution. That is why m23 doesn't need to "know" how a specific package manager works and how it is used. It doesn't matter if the native package manager is yum, APT or something else. On every system, the command for updating the package list is "m23HSAdmin pkgUpdateCache" and the installation of the package "mc" is done by "m23HSAdmin pkgInstall mc". Other commands of m23HSAdmin call the native tools of the distribution for setting up the network, the installation of the bootmanager, for adjusting the system language etc.

Current status

Distribution 32 bit archive 64 bit archive m23HSAdmin m23hwscanner In m23 since Status
Fedora 14 HS-fedora14-i386.tar.7z X m23HSAdmin-fedora14 m23hwscanner-fedora14 11.1 Stable
openSUSE 11.4 HS-opensuse11.4-i386.tar.7z X m23HSAdmin-opensuse11.4 X 11.3 Stable
CentOS 6.2 HS-CentOS6.2-i386.tar.7z HS-CentOS6.2-amd64.tar.7z m23HSAdmin-CentOS6.2 X 12.2 Stable

Participate? Participate!

Would you like to make your favourite distribution installable and manageable with m23? You only need basic knowledge about your favourite distribution, the script language BASH and about how to create a minimal system of your favourite distribution.

Interested? Then just send us an email, use the form "Send message to developer" or post into the forum.

Have fun!

Read more>>

How to fit your favourite Linux distribution to halfSister

Three steps are necessary to fit a new Linux distribution to m23 halfSister:

Creation of a minimal base system

In the first step you should create a minimal base system of the new distribution, which only contains components necessary to install further packages and to configure the system. Besides the coreutils, the programs wget, awk, sed, bash, bzip2 and the command line package manager and the command line configuration tools should be installed. The aim is to create the distribution directory tree within a directory and to compress it afterwards.

Creating the distribution directory tree

Depending on your distribution, there are different ways to do this: For Debian-based distributions you can use debootstrap. For RPM-based systems, there is "rpmstrap". These two programs create a new minimal system in a directory. If there is no such tool for your favourite distribution, maybe there is a container available among the OpenVZ Linux Containers, that could serve as a basis. You can unpack the container into a directory. Another option is to install the distribution with the usual installation medium (you could do this in a virtual machine) and to remove all unnecessary components. The smaller your minimal system is, the better. In no case, applications like office programs, the Linux kernel or desktop environments should be contained.

Hint for OpenVZ Linux Containers: The containers may use misconfigured and modified software that will only run in an OpenVZ environment correctly. You may fix this by deinstalling all unneeded packages and re-installing of the remaining packages. (This works eg. for the CentOS 6.2 container)

Example: How to proceed using debootstrap:
su
mkdir /tmp/mydistro
cd /tmp/mydistro
debootstrap squeeze .

Installing further programs

To be able to install further programs to this newly created system, you need to "chroot" into it. This means that you change the distribution in your current shell - everything you do after the "chroot" happens in the directory of your new distribution.

Example: How to proceed for Debian:
chroot .
apt-get install wget gawk sed bash bzip2
exit

Compress the base system

For m23, the archives of your minimal system must be saved as a tar file and compressed with 7-Zip.

To pack the current directory, execute the following command:
tar -c --same-owner *| 7zr a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on -si HS-[distroname]-[architecture].tar.7z

You will have to replace "[distroname]" by the name of your distribution (including the version number, without space characters). "[architecture]" is either "i386" for 32-bit distributions or oder "amd64" for the 64-bit variations. Finally, copy the file into "/m23/data+scripts/distr/halfSister/" on your m23 server.

Development of the m23HSAdmin script

The m23HSAdmin script is the link between the commands from the m23 server and the distribution-specific administration commands of the client distribution. It works like this:

The m23 server sends a command, for example m23HSAdmin netSetIPNetmask 192.168.1.23 255.255.255.0 to the m23 client. Here, the function netSetIPNetmask in the m23HSAdmin script is called. The function transforms the command that sets the IP address and the netmask into the proper commands for the respective distribution. Of course, there are a lot of other functions apart from setting the network parameters, that allow a complete administration of a client distribution.

The individual functions can best be understood looking into an existing m23HSAdmin implementaion for Fedora 14 or OpenSUSE 11.4.

Now it is your task to find a suitable replacement for every single function for you favourite distribution. When you have completed this for all the functions, save your script to "/m23/data+scripts/distr/halfSister/m23HSAdmin-[distroname]". Replace "[distroname]" by the name of the distribution you have already used for the archive of the minimal system (with version number, but without indication of the architecture, as the script is the same for both architectures). Now, most of your work to fit your favourite distribution to m23 is already done :-)

Creation of a package sources list

Every distribution that can be installed with m23 also needs at least one package sources list. This list contains the servers from which software packages can be downloaded for installation on the client.

These lists are managed with the m23 interface. Go to "Packages""Package sources" and follow the step-by-step instructions:

  1. Choose "halfSister" for "Distribution" and click on "Select".
  2. Under "Release", your distribution should now be listed. Choose it from the list.
  3. Check the architecture(s) for which you have created your minimal system archive(s) at "Architecture".
  4. Enter a name for your list at "Package source name". The name has to start with "HS-", in order for m23 to recognize it as a halfSister list. A comment about your list can optionally be entered into the field "Description".
  5. Enter the package sources information for the distribtution into the text field "Package source name:". Depending on the distribution, this list can vary a lot (examples for package sources lists for Debian, Fedora 14 and OpenSUSE 11.4).
  6. Then, you still have to add the lines
    #alternativeFS: ext4
    #supportedFS: ext2, ext3, ext4, reiserfs
    at the beginning of the list. After "#supportedFS: " the file systems supported by the distribution have to be listed (separated by comma and space character). Behind "#alternativeFS: " enter a file system you consider to be especially well suited to boot you operating system from and to save files to.
  7. In the list "Supported user interfaces", select all interfaces which are fully supported by your distribution and for which you have written all necessary m23HSAdmin functions.
  8. Finally, click on "Save".

When everything is done correctly, you can now lean back and watch m23 installing your favourite distribution! :-)