HOWTO: Customized Live DVDs with Reconstructor's Web UI.
I've been taking a Java programming course this semester at the local technical college, which has been a wonderful learning experience. The programming course uses the Eclipse 3.5.1 IDE along with the Java Development Toolkit for programming in Java. In addition to using Eclipse, I use Dropbox to save the source code and preferences from my home install of Eclipse, eliminating the need to carry a USB key or email/transfer the files through any other method. This Dropbox storage method also ensures that every machine I use has the latest version of source code files with minimal interaction and fuss on my part.
The computer lab development machines have removable hard drives, and each machine is allocated one drive, loaded with Windows and Eclipse. Unfortunately, some of the drives/caddies have malfunctioned, so the hard drive is no longer an option for loading OSes and software during the class period for some of the lab computers.
The first week that I noticed this hard drive issue, I took out my trusty Ubuntu live CD and popped it in, followed by installing the programming environment and other packages of interest while still in the live environment. Luckily, I was there pretty early, as eclipse-jdt and the required packages were about 300 megs in downloads, which took about 20-30 minutes to download and configure on the school network. I'd rather not do that every week before class, so I started looking into straightforward distro customization utilities.
Enter, stage left: Reconstructor
What is Reconstructor, you ask? Well, it is a distribution customization toolkit based on Debian and Ubuntu, hosted by a company named Lumentica. Currently, custom distributions are available starting from Debian 5.0, Ubuntu 9.04, and Ubuntu 9.10. Shawn Powers wrote an article about Reconstructor in reference to creating a custom distribution/restore CD for his Eee PC some time ago.
Since the writing of Shawn's article, the Reconstructor project has since matured into a project with two separate subprojects:
- Reconstructor Engine -- the utility that creates the custom distributions.
- Reconstructor Web UI -- a web interface to allows you to access the Reconstructor Engine via a web interface, create custom distros, and download them when they are completed. This service is available at build.reconstructor.org
This is very similar to the relationship between Kiwi and Suse Studio, a project which I will mention in more depth in a different article.
I would like to focus on the Reconstructor Web UI in this article, as the Web UI portion didn't exist the last time this project was mentioned at linuxjournal.com.
BUILDING A LIVE DVD IN RECONSTRUCTOR:
To start out, I went to build.reconstructor.org, created an account, and chose to start a new project.
The Reconstructor Build Engine currently allows you two different containers for your customized distros. Those options are Live CD/DVD and Disk Image. I chose Live CD/DVD, as that was the best option for my situation. I was also given several desktop environment choices, and I settled on Gnome.
A variety of modules are available to customize your distribution at this point such as:
- Changing the default background
- Installing a new GDM theme
- Updating the default icons
- Setting the default Firefox Start Page.
- Adding Ubuntu PPA repositories
- Installing custom .deb files that you upload yourself.
Please read the Reconstructor User Guide to inform yourself on all of the available modules.
I didn't need anything too extravagant for my live DVD. I just wanted the most recent version of eclipse-jdt from the repositories. The process of locating and installing packages occurs in a pop up box within the web page. It allows you to select packages by section, or by simply entering the package name in the search field and clicking "Search".
After adding eclipse, I also added Frozen Bubble, as it is an enjoyable game. Using the "Gnome Wallpaper" module, I uploaded a custom wallpaper of Saturn during an eclipse.
I also attempted to install Dropbox from an uploaded deb file.
Reconstructor allows you to add additional members to your project for the purposes of collaborating on your project. I did not take advantage of this feature, but it could be a very intriguing feature for collaborative projects that are just getting their feet off the ground.
Reconstructor has a "Files" section which is appropriately named, as it is the area where you upload all of the files that you would like included in the live disk. The previously mentioned modules interact with the files that you upload. Upon first glance, there does not appear to be a very easy way to control where the files are placed, but one of the modules, titled "Install File", allows you to place your files in particular directories, if that is helpful.
As my customizations were completed, it was time to build the distro, which is done by clicking the small
button, which has the mouseover text of "Build Project". The Web UI main menu does not include any text descriptions at this point- it has icons with mouseover text. After pressing the button, another pop-up box appears and asks if you wish to submit your project to the build queue.
You might have noticed that the upper right hand corner of your screen features an account balance, such as this one:
I'd like to explain the fees related to Reconstructor. Upon signing up for a free account, you are awarded five collars in free credit, placed in your account. As you perform actions, such as uploading files, building projects, and downloading the finished ISOs, money is deducted from your account. If you have used at least $4.75 of the previous credit at the end of the the month, the account is given an additional $5 credit. Per the Fees page, the costs of using the site are as follows:
- Upload and store a project file: $0.02 per MB per month
- Build a project: $0.30
- Download a built project: $0.45 per GB
- Priority build service: $5.00 (enabled for one month) Note: This charge is prorated based upon the remaining days in the month.
Project hosting is also available, and that has additional fees, as well:
- File storage: $0.45 per GB per month
- Download: $0.35
This seems like a pretty experimentation-friendly pricing structure. It allowed me to test out the service for free, and use it for free on a limited basis, but if I end up using it all of the time, I will have to pay money to do so. If you have any questions, check out the Fees page, their forums, IRC chat on the ##reconstructor channel on Freenode, or contact their support team directly via email at support(at)reconstructor.org.
As a warning, the builds that you make are only available for seven days. After that, you will have to rebuild the project, incurring additional build fees.
After finishing the build and downloading (a 938 meg download), I started up my brand new custom appliance.
As I expected, the background had been changed, and Eclipse was properly installed, with an appropriate menu item already present in my applications menu.
Dropbox, unfortunately, did not install correctly. There was no menu item, and the file did not appear to be installed.
This may be due to the multi-step setup process of Dropbox, which involves downloading a proprietary daemon after install. Installing Dropbox in the live environment isn't too painful, but it would have been nice to have it already set up when booting the disc.
All I needed was one disc that I wanted to burn by myself. What if I needed a more professional looking distro, you ask? Lumentica has partnered with On-disk.com to provide you with the ability to have your creations on printed CDs or DVDs, USB flash drives, SD cards, or even on CompactFlash cards. Lumentica does also provide some additional services, as well, but their website is relatively light on the details. The website suggests that for further details, you contact them directly at info@lumentica.com or visit www.lumentica.com.
Reconstructor may have some rough edges, but it does offer some very convenient distro customization services. It allowed me to configure, download, and burn a custom Ubuntu 9.10 live DVD in a very limited amount of time, and I am thankful for that, as I can now code Java source code in the Eclipse IDE using Linux during class without having to make any sacrifices.
Given the rate Reconstructor's development, and the recent news that Lumintica is releasing the Reconstructor Engine as Open Source under the GPLv3 license, I expect this project to continue improving in quality and experience experience as time goes on. Reconstructor is a tool that I will continue to monitor, and will likely use again in the future. I encourage you to give it a try, as well! You might be glad that you did.