Friday, October 12, 2012

creating a linux distro part 2: preparing for the build

So I met with Nevlox's second project leader yesterday and we laid down the initial foundation for the construction of our OS. Initially, I thought it would be nice to use my MacBook Pro as the host system for Nevlox. That way, we would actually have a UNIX core, rather than a Linux one. Alas, when I ran a test shell script to ensure all of the components were in place for a successful host, the test came back negative. There were too many differences in OS X's system to allow for a successful host. I had to settle for using a Linux base.

I was also concerned with using my computer as a host system, because I really did not want to partition my HDD twice. Once to put Linux on it as a host system, because as I said before, OS X isn't good enough, apparently, and another partition within that one for Nevlox. However, after some research and some testing, I was confident that the build could be done in a virtual machine. I installed a command-line only distro of Linux on VirtualBox and from there, we laid the foundation.

To begin, we had to create a partition for Nevlox within our host Linux system. We opted to use cfdisk rather than fdisk. Additionally, we did not bother with creating a swap partition. Everything went smoothly. After that, we used mkdir and created a ~/sources directory to store all of our packages and patches. Conveniently, the great people at Linux From Scratch have compiled an html file of URLS to every package and patch necessary to meet the Linux Standard Base requirements. Unfortunately, I've never used wget in my life. It took several tries, but I eventually figured out the right combination of commands (wget -i LIST -P /sources, to be exact) to get all of the essential components for Nevlox in one place. The download took quite a long time, but other than that, everything went smoothly.

Unfortunately I was only able to verify that every file was in the /sources directory with another shell script before my laptop died. It was then when I figured out a huge advantage of using VirtualBox for the build: saving the machine state. This is going to be an important function and I foresee us using it a lot. I would definitely recommend VirtualBox just for this function, never mind the fact that you don't have to partition your hard drive.

So yeah, initial thoughts after beginning this project are as follows: wget is awesome and a bitch at the same time if you've not familiar with it and VirtualBox is awesome.

1 comment:

  1. I realize this is a dead post at this rate in time, and that it is far too gone to be of relevance, but I would like to know how your OS ended up going, or if it is still being worked on, even though your semester has ended. I'd be interested in looking at this distro, or at least knowing how far into the process you got.