I have been putting the finishing touches on support for Extended Partitions today. For those of you who do not know the Master Boot Record or an MBR can only contain 4 primary partitions. This leaves something to be desired when you want to run a bunch of operating systems or split your install across multiple partitions. There is a way however to get as many partitions as you want however by creating what is called an Extended Partition.
DriveSetup with extended partitions I few days ago a patch went into the tree that cleaned up most of the remaining issues with creating primary partitions. So I started working on getting extended partition support in DriveSetup. This has been an interesting task as the extended partition support is not nearly as complete as primary partition support. To make a long story short, I have been able to create an extended partition and logical partitions within. This code is just a hack at the moment and not fit for the public but hopefully in the coming days the code can be cleaned up and the bugs can be fixed and we will have extended partitions! For those of you who are like me and enjoy seeing pictures here is a screen shot.
Ciao,
Bryce
Well another week has passed. I cannot say that to many eventful things have happened with my project. I have been working on getting all of the logic in DriveSetup to work the way I think that it should. I finally connected my development computer up to the network today though and thought I would post a screen shot. The two partitions were created with DriveSetup! Not a whole lot to look at but I pictures are always fun :)
Another week has gone by and I am glad to say that some progress has been made. Just a few minutes ago I was able to create a brand new partition from within DriveSetup. The setup is as follows: Create a new empty Intel partition map (thanks Stippi), in that map create a new partition that spans the whole disk. It works! After that I initialized the partition with BFS and can install Haiku on it.
First up, Progress. The GSoC program is around two and a half weeks in and I thought it would be a good time for a few words. First of all a big thanks to Google and Haiku for making the transition from school to summer easy. Last summer I got an internship in a C# shop. For the first part of the summer I was not only trying to get my head around the code base, I was also learning all the in's and out's of the .Net framework. I bring this up because my first couple of weeks working with Haiku has been similar in both frustration and fulfillment. Frustration tends to come from my own lack of understanding of how the system is put together, which makes the moments when things come together seem like the best few minutes of the day. The BeAPI has been fun to learn. I have done some work with Qt, and the Haiku layout management seems to follow the style. Also the BeAPI also seems to take the "less is more" approach (compared to Qt and .Net) which has grown on me daily.
Gui programming however is not the meat of the project. For that we have to dig deeper into system. The public API for interaction with the partitioning systems aka "disk_device" API has been more challenging than the interface kit. Luckily there were a couple of examples of how to use the disk_device API in the DriveSetup application. Initialize has worked for some time now and was a good place to start. My first task has been to finish implementation of primary partition creation. Stephan Assmus had checked in the start of a creation method, and from that and the Initialize, I have been able to put together a close-to-functioning create. Deletion is the next thing I am going to finish in DriveSetup so hopefully we can have at least a basic partition editor in the near future. I will try to post a blog with the current status every week, so stay tuned for more of my rambles and updates on DriveSetup!
Bryce
I live in Honolulu Hawaii, I enjoy Surfing, Swimming, Sun and Code. I am working on my BS in Computer Science at the University of Hawaii at Manoa and minoring in Geography. Next year will be my senior year. I have taken courses in concurrent programming as well as networking. Next year I will be taking an operating systems course. I also have some experience in machine architecture and optimization. My current side project is writing an application for the Geography Department, that is a complete suite of tools for stereogrammetry. My professional work has been work on an electronic medical health records system based on the United States Veterans Affairs VistA system. I have more recently worked for Nanopoint Imaging Inc. working on live cell imaging and microfluidics software.