I have had to go through similar steps to install Arch on the SheevaPlug.
1. The community/openocd didn't have the necessary configuration scripts for SheevaPlug and copying the ones from sheeva-installer didn't work. I had to install
openocd-git-libftdi from AUR.
2. The installer script (runme.php) can be made to use our version of openocd in two ways: first mentioned in previous post and second by modifying the following lines in the runme.php
$this->bbcode_second_pass_code('', '$openocd_cmd= "openocd/openocd";
$openocd_cmd.= ($WIN32==1) ? ".exe" : "";
$openocd_cmd.= " -f openocd/config/board/sheevaplug.cfg";
$openocd_cmd.= " -s openocd/config/";
$openocd_cmd.= " -c init";
$openocd_cmd.= " -c sheevaplug_reflash_uboot_env";
$openocd_cmd.= " -c sheevaplug_reflash_uboot";
$openocd_cmd.= ($WIN32==1) ? " -c init" : " -c exit";')
to:
$this->bbcode_second_pass_code('', '$openocd_cmd= "/usr/bin/openocd";
$openocd_cmd.= ($WIN32==1) ? ".exe" : "";
$openocd_cmd.= " -f /usr/share/openocd/scripts/board/sheevaplug.cfg";
$openocd_cmd.= " -s /usr/share/openocd/scripts/";
$openocd_cmd.= " -c init";
$openocd_cmd.= " -c sheevaplug_reflash_uboot_env";
$openocd_cmd.= " -c sheevaplug_reflash_uboot";
$openocd_cmd.= ($WIN32==1) ? " -c init" : " -c exit";')
3. It didn't help me much because I've had to upgrade uboot to make it see my usb stick, even making a small partition and formatting under Linux and Windows didn't help. In general USB support is kind of wonky, but it seems that updating the software helped. To update uboot I have dug out a small 16MB usb stick from my drawer and followed instructions on this website for manual update (just swapping the uboot image for uboot.bin in sheeva-installer and running runme.php didn't work):
http://www.cyrius.com/debian/kirkwood/sheevaplug/uboot-upgrade.html4. Because I have skipped runme.php I ended up with bare environment after restart (no environment variables), so I took a look at uboot/uboot-env/uboot-dflt.txt and uboot/uboot-env/uboot-mmc-custom.txt in the sheevaplug-installer dir. I have restored missing variables by hand (not proud of that, quite time consuming) by executing through serial console on the plug:
$this->bbcode_second_pass_code('', 'setenv <variable> <value>')
If <value> has multiple words separated by spaces you may have to enclose it in single quotes (apostrophes).
$this->bbcode_second_pass_code('', 'setenv <variable> 'so many words go here;enclose it;'')
After all the variables are recreated save and restart:
$this->bbcode_second_pass_code('', 'saveenv
reset')
5. Profit. With USB stick plugged in (just like in original instructions) and SD card in the slot I could observe how system loads uImage and boots the linux image.