Tuesday, May 22, 2012

Triple partitioning mac book pro with osx windows and ubuntu

I made a lot of mistake before I got it mix right.

Originally I had osx with no boot camp installed.  So I thought I'd make a new partition using disk utility and then install the windows xp I had.  My plan was to have it become upgraded to windows seven.  Once I created the fat partition, I popped in the xp disk and restarted.  The the blue screen showed up and asked me to  partition or leave it alone.  I chose to leave it alone since it was already partitioned as FAT32.  The computer restarted and instead of going to start up, the computer told me to press "ANY" key to start from disk.  I pressed buttons and found myself back at the partition selection.  It was like deja vu since I had just been here.  I selected the option to partition the FAT.  I had thought that maybe it required a reformat.  I chose this option because it was 32 GB in size; he same size of my FAT partition.  Little did I know, that it would wipe my entire HD.  Windows installed normally.  I discovered my mistake when I tried booting up mac.  it was gone.....I was momentarily horrified but was soon relieved upon realizing that I still had dropbox.  Oh, trusty drop box.  This is the reason I use you in the first place!  Ive had a history of reinstalls and drop box had been there to make getting my precious files back more painless.  The only sacrifice would be time.

I had to pull up my old snow leopard install disk since Lion was out there somewhere and i probably couldn't get it back until I downloaded it again from the app store.  SL installed normally and I was able to redownload LION from the app store.  lion installed normally.

since everything was fresh, it would be a good time to make a partition.  3 partitions to be exact.  I wanted ubuntu and windows 7.  I added windows and installed it.  was able to load both osx and windows.

Then I created a new partition for the ubuntu.  Unfortuanately, windows refused to work.  all I did was add a partition.  I didn't even install ubuntu.  So then I thought maybe, I need to make 3 partitions in the beginning.  So i resized osx, and added two FAT partitions.  One for windows and one for ubuntu.  I started with windows 7....again....and it installed alright.  then i tried ubuntu.  Set up was painless  but the install method was weird.  I chose the option to install ubuntu along side osx.  It took me to a slider that asked me how much space to put into this and into that.  The problem was that I had no idea what these two pieces were for!  50-50 seemed appropriate.  I had thought that I would find myself with the option of which partition to install ubuntu in, but I was not graced with such an option.  It started installing without hesitation.  osx and  ubuntu were good, but win seven was gone..... =_____=

disk utility revealed that ubuntu wrote itself right on TOP of of windows 7.  Nice... thank you ubuntu... thank you....

back to square one.  two fat partitions.  install ubuntu first and be more careful about how to install it in the right partition.  No luck.  Had the bright idea to make one FAT partition and one FREE SPACE partition.  ubuntu seized that space without asking me anything.  The good thing was that it filled out that entire partition for its own; which was exactly what I was shooting for.

now for windows.  installed it normally.  but ubuntu disappeared.. so I reinstalled it... then win 7 disappeared.  so i reinstalled it... and then ubuntu disappeared AGAIN!  GOSH was i tired of this....

Did some searching for a solution and many people used this THING called rEFIt.

oh did I mention that my recovery disk disappeared too?  Yeah, the one that lets you reinstalled lion.  If this were to crash that I'd have to install everything starting from SL all over again, so as a precaution I burned lion on to a dvd-r.  It took longer to load up, but worth it.  after all, how often would I find myself in this position?

rEFIt was a painless install.  there was a nice script that installed it automatically.  I restarted the computer and poof! all the partitions are there!!!!!  Ya know how one of them was missing?  well, REFIT made it visible! and it worked!!!!

The only problem was that by default, the machine started up with grub recovery and once it got there I had no clue what to do except restart.  After a while I got fed up with always manually choosing OSX as a start up disk.

The refit.config file has the commands needed to choose mac as start up by default.
i.e.  "default_selection M"


I found it funny how if I selected ubuntu or windows they both would lead to GNU GRUB which gave me options to  start up start up as ubuntu , osx, or windows.  a bit redundant, don't ya think?  I'll try finding a way to fix it, but for now I'm happy.


below is a quick guide on how to triple partition your mac osx.
1) installed osx on the entries disk if you haven't already.

2)use boot camp to get windows support software.  NOT NOT USE BOOT CAMPTO INSTALL WINDOWS

3)use disk utility and make two partitions.  One shall be FAT32 and the other shall be free space.

3.5) download and install rEFIt

4) install windows on the fat32.  You may need to format it to ntfs

5)install ubuntu and choose the option to install along side osx and it will take up the entire free space partition.

Saturday, May 12, 2012

GNU companion

Another day of research.  Sam tells me that he wants me to run some test software.  Probably some sort of script to send a simple msg.  Right now they are able to send wireless messages but they aren't able to receive it.  Maybe they are receiving junk.  They aren't sure cause there is no manuel.  Guess and Check is your friend....

Sam sent me a link to a gnuradio tutorial and it instructed me to open gnuradio companion; a GUI.  They said that the keyword was "grc" but when I tried it, it would only open the command line version.
"gnuradio-companion" was the command line that opened upi the GUI.

wit lab research special counter

After working with the grad students in the wit lab for a few weeks, I became bored of how stuff failed to work.  I felt like I was spending a lot of time on this project but not getting any real work done.

I got fed up with waiting and took matters into my ow hands.  I came to this wit lab because I wanted to contribute my VHDL and FPGA knowledge.  So I asked the professor G chen Who was working on the VHDL stuff.  At the time there was no one working on it.

He knew that I desired to work on an FPGA project.  so he told me to make a "special counter".  The idea seemed simple enough.  count a few signals and TADA! magic.....I wasn't sure what was so special about the counter so I pressed for details as to what this was.  Was there a state machine to describe this?  Was there some documentation?  He pointed to a box with knobs on it.  It looked like a VCR except it wasn't.  This machine was the special counter that professor wanted.  What bothered him was that the counter wasn't customizable enough, so he wanted an fpga implementation of it to have more control.

The only problem was I had no idea how to start.

I needed some advice from someone more knowledgeable them me.  Professor Vahid probably knew what to do.  As I explained the problem to him, I began to answer my own question.  Seems to be a habit of mine to ask questions I have at least ONE answer to.

The problem was balancing what the professor wanted verses what the actual machine does.  It confused me as to what this machine is suppose to do and I wasn't sure how the professor wanted to customize it.  I asked, but no details surfaced.

"as a base.....start with something you do know how to make.  make it similar to the machine on your professors desk.  Ask him if thats want he wanted and if he says no, then you can make changes to accommodate" said Vahid.

It was what I needed to hear.  I was trying to swallow the entire meal instead of taking it one bite at a time.  What professor G chen wanted was a mystery so what I had to do was make something that wasn't a mystery.

Mistakes were made in the process of creating this device.  I wasn't sure what it was suppose to do.  My first assumption was that a transmitter would shoot out a trigger signal to the receiver and then after a short delay it would send a byte of information to the receiver.

I made a bunch of fancy state machines which took a LOT of time to create and conceptualize.  only to realize that it wasn't what the professor wanted.  Its not as bad as it sounds cause I was close.  Instead of  sending a byte of information, he actually wanted a "rising edge" counter.

*face palm*  that would have saved me soooooo much time and effort..... if I did a rising edge counter, instead of what I was TRYing to do  then I would have been done a week earlier.

I made some modifications such that the number of rising edges would show up on the seven segment led screen on my spartan 6.  The numbers showed up obviously, but they were inconsistent.  I used a wave form generator as input to my device and my device would count the rising edges it would get.

why was the numbers in consistent?  was my spartan board too slow?  was it my programming?
I attempted to simplify my design and the error eventually shrank, but it wasn't good enough for me.  I wanted 99.99% accuracy.

I anazlyed the test bench results again and again and noticed a ridicules amount of delay.  This delay may have been responsible for over counting or under counting.


It must have had to do with the nested state machines I was using.  My last card was to get down and dirty with low level implementation.  Gates.

I went ahead and made my own adder and register and all the parts needed to make my counter come to life.  The amount of code for this ended up being WAY smaller then my previous implementation with state machines.  I even paid attention to what RTL design xilinx was generating for my code.  if I had used a state machine it would have been a huge mess.  But since I was making everything, it would be much easier to read and I was have certain expectations as to what SHOULD be there.  If a latch formed and a combinatorial loop formed, I knew there was a problem in my design.

Doing it in the low level really really really paid off.  I had no errors and there was hardly any delay.  If there was a delay, it was all expected.  Seeing as how my device runs at 100 mhz, a delay of one cycle probably wouldn't matter much especially when my input device wasn't going to be any faster than 10khz.

I was able to create a generic mux that used one hot encoding in its select line.
a decoder was made to translate binary number into their hexadecimal equivalent.
I made a counter that would count from zero to 9 and then would over flow.

There are only two things left for me to do.  I need to add another register between the four digit decimal counter and the interface to the seven segment.  while the counter counts, it will need to be saved somewhere and that register is where it will need to be saved.

A state machine would need to be made (either literally or figuratively) to control when the counter would count ,  pause or reset.  it would need to control the register like when it would receive the new value.  shouldn't bee much longer before i am complete.

One thing that would could also do is to make a clock divider in the way that gang specified.

one input has the clock  and it would have several outputs.  the first would be
clock/256 then
clock/256/256 then
clock/256/256/256 and so one.

You want your AN sm to rotate slowly rather then as fast a possible.  It probably doesn't matter that much but for some reason I'm concerned with using too much power.