Sunday, July 17, 2011

Simple Step by Step Sheeva plugcomputer upgrade

After a long time running my sheevaplug with the original Ubuntu 9.04 the last Ubuntu version available for the sheeva, I found myself without any security update, no APT no nothing. I have stretched this non LTS Ubuntu version to the maximum.

Since the actual update took me a long long time, due to a series of technical problems and the difficulty of getting the uboot bin file, I will document every single step and will include a link to every file to make sure that I can refresh my sheeva easily in the future. There are many other how-to's around the web, I tried few of them but non worked for me.

Pre-Requisites:
  • A 32b linux installation
  • php5-cli
  • openocd
  • libftdi1
  • Sheeva Plug Installer (a 145MB download link)
Just get a old pc/laptop with a 32b linux, I'm using LinuxMint but any other distro should work fine, also VirtualBox should work but I haven't tried yet.
Install php5-cli if you don't have it installed.
sudo apt-get install php5-cli
I had problems running the php script because the default configuration didn't included the local environmental variables. So take a look to:

/etc/php5/cli/php.ini

search for "variables_order"
and make sure the E is there; like that:
variables_order = "EGPCS"
install openocd;

sudo apt-get install openocd
Then install libftdi1

sudo apt-get install libftdi1

And to finish the prep work, download and extract the Sheeva Plug Installer to your favorite directory.

Setup you connection
These are the setting to connect to your sheeva plug with any terminal from link.
  • 115200 baud
  • 8 data bit
  • N parity
  • 1 stop byte
  • 0 (none) flow control
Connect the Sheeva, reboot and launch putty or you favorite terminal, you should see booting process. You have few second to interrupt the booting process and go directly to uboot; confirm the uboot version with.
uboot version
The Sheeva Plug installer includes uboot version 3.4.19. Others howto's recommend U-Boot 3.4.27+pingtoo.

U-Boot Upgrade

Took me a while to get the bin file, but I finally found it in here. The actual uboot is part of the zip file in "Preparing USB Pendrive". By the way this is great tutorial. Or you can download the U-Boot 3.4.27+pingtoo from here.

Replace the uboot.bin file in /sheevaplug-installer/uboot with this uboot.bin. Edit /sheevaplug-installer/uboot/uboot-env/uboot-nand-custom.txt to include your sheeva plug MAC address.


Prepare the USB drive

Download and save the following files in a formatted USB drive.
  • initrd (this is the same found in the installer)
  • uImage kernel 2.6.39.3 (or newer from http://sheeva.with-linux.com/sheeva/ )
  • modules.tar.gz 2.6.39.3 (or newer from http://sheeva.with-linux.com/sheeva/ )
  • rootfs.tar.gz (or make your own with this script, download to your current sheeva, chmod +x and run as root)
Upgrade

Plug the USB drive in the sheeva, and run the following command from the sheevaplug-installer folder.
php runme.php nand
This should copy the new uboot into the sheeva, and then will execute run recover1. If you just want to reflash withou upgrade uboot, just execute run recover1 from the uboot console.

Finishing

  1. check the date, apt-get may not work if the date is wrong.
  2. apt-get update
  3. apt-get upgrade
  4. regenerate the ssh
    • rm /etc/ssh/ssh_host*
    • ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""
    • ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""
  5. dpkg-reconfigure tzdata
  6. dpkg-reconfigure locales
  7. edit /etc/hostname to change the hostname.
Credits
http://www.plugcomputer.org/downloads/plug-basic/

Since the original link from plugcomputer forum is broken, I used the uboot found here: http://caller9.com/blog/21/full/

Manually unpacking a tar ball of Debian on SheevaPlug
http://www.cyrius.com/debian/kirkwood/sheevaplug/unpack.html

SheevaPlug Installer
http://plugcomputer.org/plugwiki/index.php/SheevaPlug_Installer

U-Boot Links:

Uboot howto Cross Compile
http://doukki.net/wiki/tutoriels/uboot.howto

Upgrading SheevaPlug's Uboot
http://www.cyrius.com/debian/kirkwood/sheevaplug/uboot-upgrade.html

Saturday, June 18, 2011

AWS Adventures

These are my first three steps to create a Ubuntu instance in Amazon EC2.

1) Ubuntu Official AMI's are published by user with Amazon ID '099720109477'.

after the instance get launched you can access the instance with the public DNS and the AWS pem file.

2) ssh -i awskey.pem ubuntu@ec2-01-02-03-04.compute-1.amazonaws.com

To facilitate ssh, i prefer to send my own key to the instance with ssh-copy-id. Here is the link to create your own key pair.

3)cat id_rsa.pub | ssh -i testkey.pem ubuntu@ec2-01-02-03-04.compute-1.amazonaws.com "cat>> .ssh/authorized_keys"

At this point my instance is ready, and easily accessible with my own rsa credentials.

Saturday, February 20, 2010

These are the instructions to compile transmission in a sheevaplug. From elBradford. http://bradford.law-family.org/success-building-transmission-1-80-from-source-on-sheevaplug/ This link was down on February 20, 2010. I get access to it from google cache.

1) I think the last 3 package are not really required, for a non gtk installation
# apt-get install build-essential automake autoconf libtool pkg-config
libcurl4-openssl-dev intltool libxml2-dev libgtk2.0-dev libnotify-dev libglib2.0-dev
* now libevent-dev is required, a had to download it and compile it.

2) Download the latest transmission from:

http://download.m0k.org/transmission/files/


# wget "and the actual link to the latest file"

3) Extract the files

# tar –xvf transmission-1.90.tar.bz2

4) Enter in directory and:

# ./configure –-disable-gtk --disable-cli

5) First Backup your current settings.json and purge current installed torrent.
# aptitude purge transmission-daemon

5) Build

# make

# make install

6) Setup init scrip as per this link.

7) edit init script transmission-home to point /etc/transmission instead of default /root/.conf/transmission

Create transmission user: adduser Make sure transmission user has access is the owner of the directory.

8) Configure /etc/transmission/settings.json

9) start transmission

# /etc/init.d/transmission-daemon start


10) Add rc links

#update-rc.d transmission-daemon defaults



Sunday, February 05, 2006

Ubuntu mount and read permits in a NTFS partition

Problema.
No puedo "mount" ni ver los files en una particion NTFS como USER solo los puedo montar y accesar como root. No me interesa el escribir la particion esto puede afectar la particion. La solucion esta en la opcion de umask en el file fstab, users y ro "read only".
Users permite que cualquier usuario pueda "mount" la particion.
ro modo de solo lectura
umask=0222 permite que todos los user puedan leer el contenido de la particion.


/dev/hdb1 /media/win ntfs users,ro,umask=0222 0 0

Booting W2k from a slave HD using GRUB

Problema,
W2K se reusa a bootiar de un disco esclavo "slave".
Para lograr que windows arranque hay que hacer un pequeño engaño a windows desde grub.
map (hd0) (hd1) logra que windows vea el disco master como slave
map (hd1) (hd0) y el slave como master


/boot/grub/menu.lst

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/hda1
title Microsoft Windows 2000 Professional
map (hd0) (hd1)
map (hd1) (hd0)
root (hd1,0)
savedefault
makeactive
chainloader +1

Wheelmouse in Knoppix

Luego de installar Knoppix en el hard drive el wheel mouse dejo de funcionar. Como siempre una busqueda en google mostro la solucion. Es necesario el seleccionar el protocolo imps/2,device /dev/psaux y "ZAxisMapping" "4 5".

/etc/X11/XF86config-4

Section "InputDevice"
# Identifier and driver

Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "imps/2"
Option "Device" "/dev/psaux"
Option "ZAxisMapping" "4 5"