My power supply came in the mail this week for my Toshiba A200 notebook so I decided to add Windows 7 to the installed OS list (currently booting Leopard 10.5.2 and Ubuntu 9.04).  As always Windows hijacked the master boot record with it’s inferior boot manager – I had to fix this immediately.

GRUB is not as complicated as people make it out to be. In fact it is a very elegant solution to handling multi-boot platforms. Here’s a quick guide to steal your MBR space back from Windows :

  1. Boot into live CD such as Ubuntu or Knoppix – DSL works well and is fast.
  2. Open a terminal, if your live CD boots into a GUI – press ALT+CTRL+F2 to access a different console.
  3. type “cfdisk”

This part is tricky – you must find where GRUB currently lives – in the case of the image below (my rig) sda5 is where Ubuntu is installed – in GRUB this is equal to hd0,4 – since GRUB counts from 0, not 1.

Screenshot

Once you have determined what partition holds grub root files – close cfdisk (q) and type :

grub

root (hd0,X) <– where X is the grub count from 0 to your current Linux installation*

setup (hd0,0)

This will opverwrite Windows MBR installation and give access back to GRUB hooray!  Next step would be adding Windows boot back to grub which has already been covered in my “How To Dual Boot Hackintosh + Ubuntu” article.

* I have a difficult time expressing this simple idea – if Linux is installed on SD5 then grub should say (hd0,4).  If your boot partition is /dev/sda87, GRUB would be (hd0,86) – I hope this helps.

EDIT : I forgot to mention a huge congratulations to Microsoft for making an operating system that looks and feels like Vista with the intermittent stability of XP – huge upgrade IMO.. still far from Leopard.

I wrote an article a few months back about Time Machine over TCP to a Linux NAS.  I linked to a few how-to’s that walked you through compilation and setting up your mac to accept remote volumes for backup devices.

I have little experience creating deb packages – but I figured I would release my working Ubuntu specific deb for others to test out and see how it goes.  I have tested it on a fresh install :

Linux laptop 2.6.28-14-generic #47-Ubuntu SMP Sat Jul 25 00:28:35 UTC 2009 i686 GNU/Linux

Here is what I had to do to install it :

wget http://geekhut.org/downloads/netatalk_2.0.4~beta2-5ubuntu1_i386.deb
sudo dpkg -i netatalk_2.0.4~beta2-5ubuntu1_i386.deb
sudo apt-get -f install

You can edit your shares in /etc/netatalk/AppleVolumes.default
For instance, the last two lines of mine look like :

/media/shared/Backups/ "Time Machine"
/media/shared/ "Shared"

You will also want to add the following to the bottom of /etc/netatalk/afpd.conf :

- -transall -uamlist uams_randnum.so,uams_dhx.so -nosavepassword -advertise_ssh

Once you have it all set up, you will probably want to advertise this service on the network as an Apple device. Copy this file into /etc/avahi/services/afpd.service.

Restart avahi : sudo /etc/init.d/avahi restart
Restart netatalkd : sudo /etc/init.d/netatalk restart

You should now see your new AFP server in your apple’s finder sidebar.  If not click Finder => Go => Connect to Server and type afp://your-hostname.

Anyway I hope the file works for you, I can not guarantee anything and assume NO liability if it shits the bed.  Give it a shot and let me know how it turns out for you.

I got an email a few days back regarding the Jabber interaction with Asteristickies with some great suggestions for future features :

Hey Greg!

Wow, watching the forum, you’re really going to town on this!  Awesome stuff.
I’ll have to install a newer build!

Perhaps you could think about a dream integration  I have for
Asterisk/Jabber IM…

Imagine this:

- You have a jabber account
- You have a PIAF box.

You build a script that does this:

1 – When an incoming call comes in to a specific DID, you get the
following Jabber text message:

You have an incoming call to NXX-XXX-XXXX from ‘John Doe’
What would you like to do?
1 – let call go to voicemail (default; same as not responding)
2 – transfer to NXX-NXXX (pre-configured number)
3 – transfer to number entered in IM
4 – TTS text you type.

So, for example, if you were sitting in a meeting and an important
call notification came in,
you could, for example, TTS “I’m in a meeting, I’ll call back in 10 minutes”
Or, if you expecting a very important client call, force a transfer to
your cell phone.  A way to
circumvent standard behaviour.

For this to work, it must all happen between the 1st ring and the
timeout to voicemail.
I think this would be a VERY awesome integration… don’t know how to
do it on linux, as I’m a
.Net Windows guy.  I’ve built a mashup on Windows + Linux but just for
concept testing.

So I decided to investigate further – this is what I came up with.

Still only a proof of concept, you can imagine how this could benefit those with mobile devices and support teams.

I have successfully rolled out call transfer and call out, next in line are TTS (almost ready) and call forward.

Lets say you have a headless box running as a nas and maybe VMWare box, you get an old Laserjet 1100 and want to set up a basic print server.  Most tutorials will have you edit configuration files and restart services, instead just ssh to the box and install links.

$ links https://localhost:631/admin

Will open your CUPS administration page, there you can easily check “Enable Remote Management” and voila – exit links and fire up Firefox.  Type in https://<printer-box-ip>:631/admin and there you have a super awesome CUPS admin page accessible by all on the network (password protected of course).

Just a quick post for those of you who have ran into issues with VMWare after a dist-upgrade.

If apt did not download the matching kernel headers on update, just run apt-get install linux-headers-`uname -r`.

Once that has completed type uname -r and remember the kernel version.  You can then just symlink that version as follows :

ln -s /usr/src/linux-headers-2.X.X.X /usr/src/linux

Afterwards type

/usr/bin/vmware-config.pl

And it will ask you where your C header files are.  You can then just type

/usr/src/linux

And all will be dandy, leave the rest of the configuration to default unless you need to change something.  I am sure most people already know this, it is quite basic however may be useful to some.