Linux is well known for being very customizable, but with SUSE Studio, things are taken to an entirely new level. Imagine taking a base template, building on top of it with your personal software choices, then configuring countless other aspects (even a SQL database), and then building it as a bootable ISO or VM. That’s exactly what makes SUSE Studio so great.
Another more robust option, though, is the allowance to upload either a single file, or an archive and then choose where you want each one installed to. In my test, I wanted to install the most recent version of Mozilla’s Firefox and also Thunderbird, since all that’s available in openSUSE’s base repository is a “stable” version. I tested both methods of adding a file here, which are to either upload the file from your own machine, or to have the server download it from a direct URL.
The latter option is preferred over the former since it will happen much quicker, but either works the same. Once a file is uploaded to SUSE Studio’s servers, you then choose where you want the archive or file to be placed. In my case, I asked for both Firefox and Thunderbird to be placed under /home/techgage/programs/, since that’s where like to put applications not handled by my OS’ repository.
As mentioned earlier though, you also have the option of uploading just a single file, and allowing it to be placed anywhere on the machine. Since non-Debian-based distros can’t handle .deb files too easily, I uploaded a script called deb2targz that turns a .deb into a .tar.gz, allowing for easy extraction on any machine. I had that copied to the /usr/sbin/ file, so it’d be ready for whenever I needed it. Another nice touch is having the ability to adjust both the owner and usergroup for the file, and also the permissions.
Of course as you’d imagine, SUSE Studio expands far beyond simple software configuration, and the Configuration tab is where most of that magic happens. It’s split into sub-sections for finer control, such as General (networking, time zone, users), Personalize (boot screen images, logos), Startup (runlevel, EULA), MySQL database, Desktop (auto-logon, auto-start programs), Storage & Memory (VM size, swap size) and also Scripts. Let’s quickly tackle each, one by one.
Under the General tab, you’ll have the option to choose your preferred language and keyboard layout, choose your time zone, configure how you connect to the Internet and also configure your system’s users. If you connect to the Internet using a DHCP connection (essentially, no manual IP address required), then the default option should suit you fine. For more advanced configuration, you may choose to configure things during the boot process, or with NetworkManager (that would require a desktop environment).
You also have the option to enable the firewall if you like, and make certain some ports are left option (such as for SSH). Finally, you can easily configure as many users as you like here, and also their passwords. I’m not crazy at the fact that you’re unable to add a user to more than one group at this stage, but in all my testing, it didn’t really seem to matter once I was in the OS (SUSE takes care of things apparently).
The Personalize tab is where things can get really fun. Here, you can customize the boot screen (and GRUB) background image, and also the logo to represent the distro. Ideally, formats with transparent backgrounds will give the best result, although I couldn’t find anywhere on their site that offered up a recommendation for the ideal dimensions for said images. You may have to go through some trial and error on that one. I’m no artist, so I left everything at default.
Depending on the base template you chose, the Startup page will offer different results under the runlevel options. Since I chose to go with a text-only template, I left things alone at “Normal console”. Also, if for some reason you feel like your distro should have an EULA included, you can add it here. This is most likely only to be used by businesses, especially if you choose to bundle special software or databases with the install.
Once you take a look under the Server tab, you’re likely going to be a little impressed. We’ve seen SUSE Studio offer a great deal of control up to this point, and this tab takes things even further. Here, you’ll be able to not only create MySQL users and add them to databases, you’re also able to import one to be ready for when the OS is either booted up via the Live CD/DVD or when it’s installed.
The final three tabs are rather simple compared to the others. Desktop allows you to choose whether or not auto-logon is enabled, and also for which user. If you want a desktop application to start up after you hit the desktop, you can configure that as well. The Storage & Memory tab matters only to those who plan on using their build with VMware or Xen, or with a thumb drive. Here, you can choose how large the partition should be and also how much RAM should be dedicated, in addition to the virtual disk size.
Finally, should you want some scripts to be run after the installation, you can configure it all on the Scripts tab. This should be useful if you took advantage of pre-installing applications, a database, or scripts, since you could easily change the permissions or ownership of each one. Another option would be to automatically add lines to various files on the PC, such as to auto-configure your SSH known_hosts file, or even to pre-configure a set of aliases in your .bashrc file. The sky’s the limit.