Jacob J. Walker's Blog

Scholarly Thoughts, Research, and Journalism for Informal Peer Review

Archive for the ‘Descartes’ Daemon’ Category

Adventures in Virtualization: Running Linux and Windows Together without Dual Booting

without comments

Over the past year, I’ve been looking into software virtualization a bit, starting with the idea I had for Descartes’ Daemon.  I do not claim to be an expert in any of this, but I think I can offer a sufficiently informed opinion that it is worth sharing.  Basically, I have wanted a solution to having Linux and Windows run on the same machine, without dual booting, so that I could more easily share data between the two, and not have to waste my time of quitting one to start the other.  I also wanted to use a Free/Libre/Open Source (FLOSS) solution. These are the results of my research and experimentation…

Read the rest of this entry »

Written by Jacob Walker

August 30th, 2015 at 11:59 am

VubuntuBox 0.1.0 Beta Released

with 3 comments

Thanks to help from Corbin, we have been able to release 0.1.0 Beta of VubuntuBox.  This is barely out of Alpha Stage, and has tons of known bugs and kludges, many of which we haven’t had time to document.  I know a few of my friends and colleagues have volunteered to help with this project, and I apologize I haven’t had time to take you all up on your offers.  Corbin has come into this with a lot of background with doing Linux work, which was exactly what was needed.  But don’t worry, I will be reaching out to my friends more soon 🙂

Written by Jacob Walker

December 2nd, 2014 at 11:43 am

Posted in Descartes' Daemon

Passing Variables from the %Pre to %Post scripts in Kickstart on Ubuntu

with 7 comments

Picture of a Penguin (Tux) kickingThe development of the VubuntuBox Linux Distribution has required making a custom installation of Lubuntu, and I thought the easiest way to do this would be through the standard / recommended methods for making an Automatic Installation, which was either to use preseeding or to use kickstart.

In the end, it turned out that I needed to use both to automate the installation to a level needed, and that several “tricks” were needed to solve inherent limitations of kickstart (and preseeding).   And now that I’ve figured some of these out, I am writing several blog articles to share what I’ve learned, so others hopefully won’t have to bang their head against the wall as much as I have.  Also, I should note, that I’m not a Linux expert, so there may be more elegant solutions than the ones I’ll be sharing in these articles.

Read the rest of this entry »

Written by Jacob Walker

November 30th, 2014 at 5:50 am

Posted in Descartes' Daemon

Using additional commands in the early_command (or %pre) portion of an automated Ubuntu or Debian installations

with one comment

Icon image for apt-get and apt-cacheAs I have been working on developing VubuntuBox, I have had to learn a lot more about some of the fundamentals of the Debian installer, and learn “tricks” to get around issues that exist from working in a minimal system that first exists when you start a Ubuntu or Debian installation.

Automated installations of Ubuntu can run commands prior to most of the installation by either using an early_command in a preseed file or putting things in the %pre block of a kickstart file.

But, prior to the installation, there are very few commands available.  And when I wanted to run mkfs to create a ram disk (see an upcoming blog entry about this), I found it wasn’t available.  So in order to use this command, I needed to install mkfs, which is in the package linux-util.

Thankfully, there is a command called udpkg that allows  installation of packages, and many basic debian packages are in the cdrom/pool/main folder.  But udpkg doesn’t seem to have any dependency capabilities that dpkg has.  So I had to determine which packages all need to be installed first, and create the udpkg commands to do that.  And I thought I’d share what I learned with others who might want to install some packages in an Ubuntu or Debian per-installation environment.

To quickly see a recursive list of all the dependencies of a package, install the apt-rdepends utility / package.  When you run apt-rdepends package_name it will show all dependencies for all packages required.  Then you can use apt-cache show package_name to find the Filename of each package.  Of course, this takes some time, thus it is better to make a script to do this for you, and I’m now working on writing a Python script that can do this, and hope to post it here soon.

Update: After working on this for a bit, I have realized that given my time constraints, current knowledge level, and complexity of Debian package dependencies, that I will not be finishing the Python script any time soon (if ever).  So for the time being, to solve my issue of having additional utilities available in the pre-install environment, I’m adding binaries to the distribution CD, and copying them in, as necessary.  Yes, it is a kludge, but it works for now, until I can get a better system developed.

 

Written by Jacob Walker

November 24th, 2014 at 7:54 am

Posted in Descartes' Daemon

Getting to a Shell Prompt to Debug Kickstart / Preseeding issues in Ubuntu

without comments

VubuntuBox temporary logoAs I have been working on developing VubuntuBox, I have been using a combination of a pre-seed file and a kickstart file to be able to automate / customize an installation of Lubuntu.  I have found that it has taken me using both systems to get done what I want.

To be able to do more customization, I am working on running scripts pre and post installation, and it seems that the kickstart file is more effective in doing this, as I still can’t fully verify that the d-i preseed/early_command I have put into my preseed file does anything at all.  (Although I’m probably just doing something wrong, not that it isn’t working inherently.)

Since I want to start to add some customizations, including some user interaction, I have wanted to simply be able to launch a shell before and after the installation and use it for testing commands that would ultimately be in a script.  But it was very hard for me to find out how to do this, until I ran into this wonderful Blog entry about Interactive pre-/post-install scripts in RedHat KickStart, and I have found that it works equally well in an Ubuntu Kickstart fille.  So I thought I would share that here, in case others ran into my frustration!

Written by Jacob Walker

November 14th, 2014 at 3:52 pm

Posted in Descartes' Daemon

Update about the Development of VubuntuBox

without comments

VubuntuBox Logo (Alpha Version)I had paused my development of VubuntuBox for a week or so while I worked on different pressing issues with Highlands Community Charter School (HCCS), and also the research proposal for my doctoral thesis.

But, there is a tremendous need at HCCS to have our classroom computers setup for students, and I’m in the logistically problematic position of whether I invest more time into having the long-term solution developed (VubuntuBox), or I spend my time with stop-gap measures of doing standard temporary imaging / cloning of the existing hardware, or I try to build an XP image that works on all the computers.

On the good side, I think I have some more people who may be willing to help with the development of VubuntuBox.  Robert Thompson has volunteered, although I had to postpone a lunch meeting with him.  I’m hoping my friend David Jones will be willing to do a little bit with the project.  And a hacker (in the original sense of the word) I respect the abilities of, Michael Albin, might be willing to help out also.

The challenge I have right now is trying to figure out which type of commands I can run at the beginning and end of the installation, and whether it is better put them in the preseed or kickstart file, since it seems that both work slightly differently in enough ways, that it is valuable to use both, to get the whole thing to work.

Written by Jacob Walker

November 13th, 2014 at 11:59 am

Posted in Descartes' Daemon

Workaround to Lubuntu Preseeding / Kickstart Problem with Mounted Drive

with 2 comments

I finally found a workaround for my problem with trying to automate the VubuntuBox installation (in essence, automating the Lubuntu installation)

First, I think part of the problem was due to the fact that I’m also using a kickstart file with my installation, and after doing some tests, I’m not sure my preseed was actually running the early_command.  In either case, it was running the %pre section of the kickstart file, but this happened previous to the disk being mounted (which I was able to test, by doing a read command in the %pre section, to just pause, and see from a virtual console if it was mounted yet or not.)   Since it wasn’t mounted yet at that point, the umount I had tried was worthless.

But, since my automated installation is designed to load Lubuntu by repartitioning all drives automatically, it doesn’t matter that I wipe part of the drive up front.  So I used a dd command to do this that I found at this page. But of course, this would be very bad for automated installs that were not already in essence wiping the drive.  So if you do this, use at your own risk!!!

Written by Jacob Walker

October 31st, 2014 at 3:59 pm

Posted in Descartes' Daemon

VubuntuBox is now on GitHub

without comments

VubuntuBox logoSo I have now made a VubuntuBox repository on GitHub and transferred my files (including each early revision) of VubuntuBox. I decided upon GitHub because it is the largest and most well-known Git Repository, and it has good licensing terms.  I am using SmartGit as my Git Client.  I chose this, so I can have the same interface in Windows and Linux, and it seems to be one of the most feature-rich GUI for Git.  Also, it is free for non-commercial use, and since all of what I’m doing is for a public school and also being released freely, it is clearly non-commercial use.

I am still learning how to use the Git system.  It seems the most important key is to commit my files every time I make a change that I consider testable or distributable.  Right now VubuntuBox is clearly in the Alpha stage (not even Beta), but I hope that it can basically be in Beta soon.  Especially with Robert‘s help (after he gets up to speed), I think that a Beta might be available within a week or so.

Written by Jacob Walker

October 26th, 2014 at 6:49 am

Posted in Descartes' Daemon

VubuntuBox Progress

without comments

First Draft Logo for VubuntuBoxI was getting rather frustrated with my work on VubuntuBox earlier this week, due to a bug in Ubuntu 14.04 that doesn’t let a fully automated install occur.  I am still hoping to find a solution or workaround to this issue, as the ones I found so far from forums and a blog post, haven’t yet worked.  But, Mate just shared an idea to my blog comment, so I’m going to try that out.

I also got some more help today as my friend, and former student, Robert Thompson, said that he was interested with helping with the project.  So I’m taking the project to the next stage by forming a VubuntuBox Zotero Group and having VubuntuBox website/wiki  with its own domain.  (Plus I’ve made a first draft of a logo, but it needs work!)

I next want to get a GitHub account for it, and maybe put it on SourceForge.  If anyone else is interested in helping out with this project, please let me know.  It really shouldn’t be that “big” of a project, as the modifications to Lubuntu are relatively small, but getting more people involved always helps, especially to have it be something that could be long-lasting.

 

 

Written by Jacob Walker

October 25th, 2014 at 11:35 am

Posted in Descartes' Daemon

Developing a “New” Linux Distribution: VubuntuBox

with one comment

One of the challenges schools face is that of wanting to have nearly identical systems within classrooms and labs, that can be easily maintained.  One common solution to this is to do hard disk imaging, where you clone one hard drive to another.  And there is a great open source tool called CloneZilla that can help out with this.  But, a second challenge that occurs is that traditional cloning only works when you have the same hardware on all the systems you are trying to clone.  And for a new charter school like Highlands Community Charter School, we need to be able to use a lot of different type of systems, because “beggars can’t be choosers!”

So, as a solution to this problem, I’ve been starting to develop a system of “virtual imaging” systems.  The process goes something like this:

  1. Have a modified version of Lubuntu (a lightweight Ubuntu GNU/Linux) that will auto-install with a minimal number of questions.  (Preferably only a starting question that verifies you really want to install it, as it will overwrite the existing hard drive, and possibly also a question of where to get the virtual hard disk image from.) This will automatically have Oracle’s VirtualBox.
  2. Create a virtual image of a Windows system that we want to use on all the computers, and have one of the logins from the modified Lubuntu run this virtual image automatically.

What this basically does, is have Windows think it is always on the same computer, and have the Ubuntu (which I’m dubbing VubuntuBox) acting as a middleware layer between the hardware and Windows.  While this will slow down the performance of the machines a little, it will make maintenance of the machines much easier and cost effective, as the machines can easily be setup with a minimal amount of technician time, and because VirtualBox has a “Snapshot” feature, which allows it to easily go back to a prior state.  So for instance, if the system is running Windows XP, which is susceptible to viruses (especially with support ending in April), then if the system gets a virus, the technician or teacher can simply change it back to a prior snapshot.  It also means that in a tech lab, if you want to let students be able play with system settings, then if they do, and mess it up.  You just go back to your good snapshot.

So fare I’ve made a lot of progress in having this be a reality, but it has taken working on it off and on for a few weeks, as there has been several frustrations I’ve had with trying to automate Ubuntu’s install, through either the Preseeding or the Kickstart methods.  But I’ll post more about that soon.

Written by Jacob Walker

October 19th, 2014 at 4:52 pm

Posted in Descartes' Daemon