A listing of random software, tips, tweaks, hacks, and tutorials I made for Ubuntu

Category Archives: relinux

I’m quitting relinux

I will start this off by saying: I’m very (and honestly) sorry for, well, everything.

To give a bit of history, I started relinux as a side-project for my CosmOS project (cloud-based distribution … which failed), in order to build the ISO’s. The only reasonable alternative at the time was remastersys, and I realized I would have to patch it anyways, so I thought that I might as well make a reusable tool for other distributions to use too.

Then came a rather large amount of friction between me and the author of remastersys, of which I will not go into any detail of. I acted very immaturely then, and wronged him several times. I had defamed him, made quite a few people very angry at him, and even managed to get some of his supporters against him. True, age and maturity had something to do with it (I was 12 at the time), but that still doesn’t excuse my actions at all.

So my first apology is to Tony Brijeski, the author of remastersys, for all the trouble and possible pain I had put him through. I’m truly sorry for all of this.

However, though the dynamics with Tony and remastersys are definitely a large part of why I’m quitting relinux, that is not all. The main reason, actually, is lack of interest. I have rewritten relinux a total of 7 times (including the original fork of remastersys), and I really hate the debugging process (takes 15-20 minutes to create an ISO, so that I can debug it). I have also lost interest in creating linux distributions, so not only am I very tired of working on it, I also don’t really care about what it does.

On this note, my second apologies (and thanks) have to go those who have helped me so much through the process, especially those who have tried to encourage me to finish relinux. Those listed are in no particular order, and if I forgot you, then let me know (and I apologize for that!):

  • Ko Ko Ye
  • Raja Genupula
  • Navdeep Sidhu
  • Members of the TSS Web Dev Club
  • Ali Hallahi
  • Gert van Spijker
  • Aritra Das
  • Diptarka Das
  • Alejandro Fernandez
  • Kendall Weaver

Thank you very much for everything you’ve done!

Lastly, I would like to explain my plans for it, in case anyone wants to continue it (by no means do I want to enforce these, these are just ideas).

My plan for the next release of relinux was to actually make a very generic and scriptable CLI ISO creation tool, and then make relinux as a specific set of “profiles” for that tool (plus an interface). The tool would basically contain a few libraries for the chosen scripting language, for things like storing the filesystem (SquashFS or other), ISO creation, and general utilities for editing files while keeping permissions, mutli-threading/processing, etc… The “profiles” would then copy, edit, and delete files as needed, set up the tool wanted for running the live system (in ubuntu’s case, this’d be casper), setup the installer/bootloader, and such.

I would like to apologize to you all, the people who have used relinux and have waited for a stable version for 3 years, for not doing this. Thank you very much for your support, and I’m very sorry for having constantly pushed releases back and having never made a stable or well working version of relinux. Though I do have some excuses as to why the releases didn’t work, or why I didn’t test them well enough, none of them can cover why I didn’t fix them or work on it more. And for that, I am very sorry.

I know that this is a very large post for something so simple, but I feel that it would not be right if I didn’t apologize to those I have done wrong to, and thanked those who have helped me along the way.

So to summarize, thank you, sorry, and relinux is now dead.

– Anonymous Meerkat


Relinux 0.4a1 is released!

After about a year of writing, rewriting, and rebasing, relinux 0.4a1 has finally been released! Here are a few of the new features in relinux 0.4:

  • Qt user interface
  • Thread-based, so multiple operations can run at the same time
  • Logging, so if there are any problems while relinux runs, you can easily diagnose it
  • ISO level support, so that your compressed filesystem can exceed 4GB (if needed, of course)
  • Module API, so that you can automate common tasks in making your distro

Continue reading »

Relinux 0.3a3 is released!

As I needed a final 0.3 release to fix licensing issues and the such before releasing 0.4a1, here it is, relinux 0.3a3! What’s new with this release? Not too much that would interest end-users, but there are some major bugfixes. In previous releases, relinux would not exclude files that were marked for exclusion, and it would also not exclude /home (which resulted in rather large squashfs files).

Anyways, to download, head over to, and as always, there is my guide on using it here:

Relinux – An easy way to create a Linux distro

Note: I know this post is a mess, I’m sorry. I’ll try to fix it sometime soon

Note #2: Relinux is now dead:

Remastersys has been around for a long time, and though it hasn’t been updated in a long time (EDIT: It was dead, but now he is maintaining it), many people still use it. Remastersys is very closed in what you can do with it (for example, it’s hard to change the splash image), and sometimes you have to edit the code just to be able to change more options that what is given in the remastersys.conf file.

I created 2 systems with it (one personal and one public), and I didn’t like the lack of options, so I decided to make my own script based on it, to give much more customization. Though it is still at a beta stage, it gives many more options, and much more usability.

The goal for relinux is to let someone make his own Linux distro easily, while the goal for remastersys is to make personal distros and backups.

To install, download the latest tar.gz file at Untar it, and follow the instructions in the INSTALL file.

You can customize the system as much as you would like, except for these limitations (most of which will be removed in a future release):

  • It only supports GRUB2, so no BURG or GRUB-Legacy
  • It must have an X11 display, since Ubiquity (the installer) requires X11 to run
  • You cannot use another installer than Ubiquity
  • The compressed filesystem size must be below 4GB (no workaround). It will tell you if it’s over 4GB (compressed), but I recommend that you keep your system size below 6GB (uncompressed).
  • It will install metacity, but in 0.3, this is removed.
After you have customized your system at your liking, you will need to create a configuration file. To do this, simply type in a Terminal window:
cp /etc/relinux/relinux.conf ./relinux.conf
sed -i 's:EXCLUDES="\(.*\)":EXCLUDES="\1 '`readlink -f ./relinux.conf`'":g' ./relinux.conf
readlink -f ./relinux.conf

The last command will tell you where the configuration file is located. Edit that file to your liking. Some splash screens are located in /etc/relinux/relinux/splash.
Before you start editing, if you want to save your settings/themes, do this (replace USERNAME by your actual username):
  1. Press CTRL+ALT+F3
  2. Log in as your normal user
  3. Type: sudo passwd
  4. Enter a password for root
  5. Type: exit
  6. Log in as root (with the password you gave for root)
  7. Type: usermod -d /etc/skel USERNAME; chown -R USERNAME /etc/skel
  8. Reboot your system (can be done with the reboot command)
Then you can log into your normal user, and all of your changes to the theme, desktop background, panel configuration etc… will be saved.
Once you have finished editing it, you will want to create the ISO file, so type this into the Terminal window:
sudo relinux fullclean ./relinux.conf
sudo relinux iso ./relinux.conf
The last (and final) step will take a while.
Simply follow the directions (if there are any).

I decided to make a comparison chart with Relinux and Remastersys:

Relinux Remastersys
Actively Developed T T
Backup mode T (will be removed in 0.4, as remastersys is good for the backup mode, relinux is not) T
Splash Image Customization T F
Can use T T
GUI F (will add in 0.4) T
Language BASH (will be Python in 0.4) BASH
If you have any questions/comments, feel free to leave a comment on here!