Before Starting you’ll need the following:
- Suitable SD card (4 gig presently required) and Card reader (built in to your computer, or a USB based unit. Ensure it is capable of reading your card, as some older units won’t handle newer SDHC class cards)
- Downloaded image of the PlugPBX operating system. Be sure to have run an md5 check-sum. You can use command line tools or GUI tools on your OS of choice to perform this task, and Its well documented on Google how to do this. Be sure what you have matches what was made (after decompressing it) – We always md5 sum our images so you can be sure what you have is what we produced bit for bit.
- DevKit version of the SheevaPlug of course. You will require UBOOT 3.4.19 or better on your SheevaPlug for it to boot from SD cards. For now I’ll point you to this excellent guide and files here to upgrade if needed. You will likely have to also install the serial-usb drivers on your computer. Click here for OSX, Windows or Linux instructions. OS X Mac heads, I’ve made a Info.plist file for 10.6 already, just drop into place once you’ve installed the latest FTDI drivers. Just copy mine over your existing one after installing the FTDI drivers at “/System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Info.plist” (warning, make sure you preserve file ownership and permissions when copying my modified Info.plist, OR add the entries I made to yours by hand (compare them!))
We’ve made a small video demonstrating the process of upgrading your SheevaPlugs UBOOT loader and configuring it for SD card booting as well…
- So once you’ve connected serially to the SheevaPlug you’ll use a terminal session and interrupt the normal boot process. If its running the default Linux, just login as ‘root’ with ‘nosoup4u’ and issue the reboot command. Once you see the Marvell ASCII letter art zip by, keep pressing the enter key to interuprt the bootup sequence until you see the following command prompt.
- Next we check to see what boot loader version by typing the ‘ver’ command. If its prior to 3.4.19 be sure to upgrade as explained here first.
- Now with your UBOOT at 3.4.19 you need to setup your Sheeva to boot from SD card full time (and how to boot Linux).
- You’ll enter the following parameters one at a time exactly as shown here. Copy and paste into you serial terminal program of choice.
setenv mainlineLinux yes setenv arcNumber 2097 setenv bootargs_console console=ttyS0,115200
setenv bootcmd_mmc 'mmcinit; ext2load mmc 0 0x0800000 /uInitrd; ext2load mmc 0 0x400000 /uImage' setenv bootcmd 'setenv bootargs $(bootargs_console); run bootcmd_mmc; bootm 0x400000 0x0800000' saveenv
- Now you can insert your SD card and power cycle the device or just type (Mac users, power cycling without first disconnecting the USB cable can cause Mac panics, or dead driver, FTDI’s drivers do not handle APCI events cleanly…)
Once you’ve upgraded UBOOT and configured your Sheeva to boot from SD cards and have upgraded to .19 or better, you won’t have to do anything more then re-flash SD cards in the future to upgrade/update. You can swap two sets of cards to make it easy to revert back – and FreePBX itself allows for the backup and restoration of an entire configuration easily.
You can boot may things on your SheevaPlug by simply swapping out an SD card and power cycling, so it allows for risk free experimentation provided you never touch the on board NAND flash memory the Sheeva has (as UBOOT, lives there too). Once you get something working perfectly, image your SD card or make a duplicate. If you screw up the phone system, power down, insert your ‘backup’ SD card and get the phones back up before the wife chews you up.
Its like the voice of experience is talking here 😉
Even better, if you have more then one Sheeva in your house for various purposes, if one fails, swap out the SD card and demote whichever one is less important than your phone system, all your settings reside on the SD card, not in hardware. Handy strategy
Next Step – Choose the Flashing platform of choice from the pull down menu to prepare an SD card…