It is bound to happen at some point. You’ve installed the latest kernel or you’re attempting an upgrade and now your system just won’t boot. The screen shows nothing more than GRUB. If your system isn’t able to get past the GRUB prompt and it isn’t because of a hard drive failure then chances are very good that you can rescue your system. This routine will work best if you created a non LVM boot partition or if your rescue cd includes the LVM tools.

This post assumes you are running a RedHat or Fedora based system but the concepts apply to all systems that use grub to boot. It also assumes you have a relatively recent install cd.

To get started, insert your install cd. In my rescue scenario I used a CentOS install cd. When the install has loaded to the initial screen enter ‘linux rescue’ and press enter. The cd will boot like normal and ask about your preferred language and keyboard layout. Continue until you are asked if the rescue routine should find any installed systems. If your root directory exists in LVM you should say no, unless you the rescue cd you using includes LVM tools. It isn’t important to mount root anyway, just your boot partition.

When you are at a prompt, create a boot directory at / and mount your boot partition there. In a typical RedHat/Fedora setup it will be on /dev/[h|s]da1. Next, rename the current device.map files to some other name. We’re now ready to reinstall grub.

Type grub and press enter. You’ll now be in the grub interface. Type ‘root (hd0,0)’ and press enter. Next, type ‘setup (hd0)’ and press enter. Some text will flash by with, hopefully a success message. If you see success you should now be able to reboot into your Linux system.

Lately I’ve been talking a lot of talk about how great the Mac platform is. At work I go back and forth with a coworker on the merits of Linux and OS X. Of course he claims that Linux is all you need and I’m confident that the Mac is where it’s at. The reality is that OS X suffers its own set of issues which I have talked about in the past. No OS is perfect, just a matter of which one best fits your needs.

Anyway, through no fault of my own I managed to royally screw up my iTunes library to the point where some of the files were pointing to random objects in my backup drive. I have no idea how. At the same time my iPod Touch would simply not cooperate. Many files that I normally sync were listed as missing including over half of my largest play list which is still just a small subset of my entire collection.

So anyway, what’s my point right? My point is that I was able to save myself a ton of work simply because I turned on Time Machine.

Everybody says, “make sure you make a backup” but lets be serious, who actually does? This is one of the many reasons I claim OS X to be one of the best operating systems available for “normal” people. No other system that I am aware of provides such a simple, easy to use and surprisingly robust backup AND restore system. It is so easy you might actually forget it is there.

Restoring my iTunes library to normality was as easy as entering the Time Machine interface, going to the previous point in time, clicking the iTunes library files in my Music folder and clicking the restore button. Done deal. I plugged my iPod in and all of my files were copied back to it as if nothing had happened.

If you’ve spent any time at all on this site then you know that VIM is my preferred text editor. Even though I’ve been using it for years I still learn something new about the editor from time to time. Here is something that I just figured out a couple of weeks ago. It turns out VIM provides a simple way to repeat exactly what you last did. By simply pressing the period key, VIM will repeat whatever command -or- text you last entered.

For example, lets say you’re editing an HTML file that has a list of links. Before each link you want to add a generic image. You could do this a few ways; type in the text each time, use a search and replace or copy and paste. Using period is just one more method to add to your toolbox. To use this trick, enter INSERT mode by pressing i. Enter in the text you want to enter before each link (or whatever it is you need to repeat a few times) and when you’re done press ESC. Move to the next line and press the period key. Whatever you typed previously will be inserted to the right of the cursor. You can do this as often as you like but as soon as you delete a letter, line, insert different text or whatever the “period key” shortcut will begin to do that action instead.

Another way to use this is if you’re deleting lines of text over and over. Say you want to delete 10 rows of text at a time until you’ve deleted what ever it is you need to delete. You could press d 10 down arrow and then each time you press the period key you’ll repeat the same action.

Here is a copy/paste of a post I did on a forum. It describes in very light detail how to add iSCSI based storage to a Mac. With the new Macbook lacking firewire, this might actually become a more popular method.

In the last couple of weeks I’ve been playing around with a few different bits of technology, one of them being iSCSI. iSCSI is a relatively cheap and efficient method of adding storage to a computer that uses your existing network infrastructure. If you have a gigabit network and a Linux server (I haven’t tested other solutions) you can add as much storage to your Mac as you can fit in your Linux system.

You might be thinking, “I have a 2TB USB/FW drive why would I want iSCSI?” USB and FireWire drives are a fine thing but lets look at some of their disadvantages.

* USB2 is actually slower than many FW400 devices
* If you have a mac with just one FW port and your external drive doesn’t include a FW port, you can’t attach anything else to that FW port AND use your drive
* External drives add noise
* External drives must be located close to the computer, not ideal in a HTPC setup

Here a really quick overview of how it is done, I can certainly provide more detailed information however. Here is a list of what you need to get the job done.

1. Linux server with gigabit ethernet
2. A hard drive or RAID set that you want to share to your Mac
3. gigabit switch
4. Mac with gigabit, the more recent the better
5. GlobalSAN iSCSI initiator for Mac
6. iSCSI Enterprise Target for Linux

Setup your Linux system and install IET. If you’re using Ubuntu, IET might be available in apt. I use Fedora so I compiled IET from source. Edit the /etc/ietd.conf file to point to your disk or RAID set (or even a file that was made using dd if=/dev/zero of=filename bs=1024 count=1 seek=n where n is the size of file you want in bytes). Start the ietd service, /etc/init.d/iscsi-target under Fedora.

Install the GlobalSAN iSCSI initiator on your Mac. Enter System Preferences and click the new GlobalSAN button. Add your Linux server’s IP address to the Discovery screen. Click on the target tab and your disk should be shown, click it and logon to it without a username or password UNLESS you configured one in IET. Be sure to check the persistent tab if you want this drive to appear each time you boot your Mac.

Open Disk Utility and format the iSCSI disk. Your Mac will format the new drive and it’ll soon appear on your desktop. You can use it like any other disk you’ve ever used. You can partition it, copy/delete files, whatever. As far as the Mac is concerned it is a normal hard drive.

In my setup I have an Intel Mac mini, 1.83Ghz C2D and a Linux server built in late January, 2.2Ghz C2D. The disk being shared to my mini is a single 120GB PATA drive. I am able to copy files to the drive with a top speed of 44MB/s. Reading is actually slow but I attribute that to a limitation with the mini’s internal drive. I haven’t been able to test using OpenSolaris as the iSCSI target though OpenSolaris would be a fantastic choice as a storage server.

To be fair, there are some negatives to this setup. The biggest one being you can’t have multiple Macs using the same disk at the same time. You can unmount the disk on one mac and mount it with another one, but having two macs connected at the same time risks your data.

Sometimes it just seems that everything is out to get a guy, nothing goes right. This seems to be the case today when it comes to performing an upgrade on my Fedora Linux based file, web, email, XBMC and whatever else server. After burning three copies of the install media none of them work, despite correct SHA1 verification and burning with different drives. What’s a geek to do?

Do a network install!

I downloaded the full DVD hoping to do a local install from it so I could avoid the long downtime of doing an over the internet based network install. The problem however is that I either have two bad DVD burn drives or there is something goofy with the image I downloaded. Everything about the DVD iso checks out, the SHA1 is fine and I can loop back mount it without issue. Rather than give up I decided to do a network install by mounting the iso on my Mac mini and sharing the contents via web sharing. As it turns out, this is very easy to do.

This little mini howto assumes you have already downloaded the DVD install media for Fedora. If you haven’t, I suggest you do that first.

Enter System Preferences and choose sharing. Click on Web Sharing to enable your Mac’s web server. Be sure to note the IP address. Next, double click on the Fedora DVD install iso. OS X will mount it and make it available to you. Next, start terminal and type ‘cd /Library/WebServer/Documents’ without quotes and press enter. Type ‘ln -s /Volumes/Fed* fedora’ (*type Fed and then press tab to autocomplete) and press enter. On my system the complete command looks like ‘ln -s /Volumes/Fedora\ 9\ i386\ DV/ fedora’

Open finder and browse into your mounted DVD media. Look for a folder called images and copy out the boot.iso file. Burn this file to CD using OS X’s Disk Utility. Next, take that disk to your Linux machine and boot from it. Choose install or upgrade and then when asked where the install media is located choose URL. Enter http:///fedora where is the IP address from your Mac. That’s it, the install will then continue as if you were using a local CD/DVD.

After a week with the iPod touch here is what I have learned. Keep in mind I have a first gen model with the 2.1 upgrade. This stuff is probably documented somewhere but I generraly skip the dogs.

While using mail, if you swipe left on a message in the message list you are given the option to delete it.

While in any app you can double tap the home button to get a volume control and ability to pause/play or skip tracks.

The keyboard will auto correct a lot of things yet it can’t spell check.

I think that is it for now. If there is something you know about that I didn’t list here leave iron the comments area.

Although I’ve had the hardware and software for a little while the setup had never been put to too much of test until tonight. Tonight was the start of the new season of Heroes but it also overlapped with an episode of Sarah Conner Chronicles. I am quite pleased to report that EyeTV handled the whole process very well. It managed to record both shows and deal the overlapping shows (it is configured to record 2 minutes before and after the show) by swapping which tuner it was recording from.