Ubuntu 9.0.4 Plug Computer Distribution
From PlugWiki
Contents |
Ubuntu Distribution: Main Marvell Sheevaplug SDK Page
Ubuntu is provided from the Marvell web site for the Sheevaplug development kit. If you pull down the documentation and the file system for the Plug Computer, you will get a Ubuntu distribution for the Plug Computer.
Building a rootfs to install Ubuntu on an SD Card or USB Drive
A project called rootstock was created by a group of Ubuntu developers to create a fully configured tarball of an ubuntu rootfs from scratch so that it can be extracted to the root device of an arm based system. When combined with a kernel, this filesystem provides everything that is needed to run Ubuntu from an external medium. The Jaunty 9.04 release of Ubuntu is the last to support armv5te (the processor in the sheevaplug), so building for Karmic is not recommended.
To begin, go to the rootstock project site and download the rootstock script. Place it in a writable location and type:
chmod u+x rootstock
NOTE: This script will be run as a superuser, you should never blindly run a script without looking it over. This rule is doubly important when running it as a root user.
The following command will create a minimal root filesystem of Ubuntu. You may add any packages you wish to the seed option and they will be included in the tarball, however they can be added later using apt. Replace [username] with the username you would like for your new ubuntu install.
sudo ./rootstock -f sheevaplug -l [username] -p nosoup4u -d jaunty --serial ttyS0 --seed ssh
After formatting the external medium, copy the armel-*.tgz file to it and extract the filesystem.
tar -zxvf armel-*.tgz
Now a kernel must be added to the filesystem. Cbxbiker61 maintains a kernel that performs very well for most tasks. You should download the kernel place the uImage in the boot directory of the filesystem and untar (same options as above) the Modules file in the / directory. From here it is important to edit the /etc/network/interfaces file to ensure network connectivity. Configure u-boot to look for the uimage file in /boot and make sure to change the password on first login (original password "nosoup4u").
SELinux for Ubuntu's Sheevaplug SDK
SELinux is used as a security tool for loading third-party software applications onto a core distribution (ie., Raindrop). In order to get SELinux running on the Ubuntu Jaunty Sheevaplug SDK, you can follow the Ubuntu Sheevaplug SELinux Configuration steps.
Subversion for the default Ubuntu installation
I bought the plug specifically for running my low volume svn server. Before the plug, it was running on an iMac, and using considerable more power. My setup run apache2 and subversion, with the repository hosted on the SD Card. Here are the steps involved to get that working.
This assumes you have SD card working, formatted as ext3, and mounted on /sd
Take a backup of the OLD subversion repository:
svnadmin dump /opt/svnrepos > /opt/svnrepos-dump-2010-03-09.dump
tar zcf /opt/svnrepos-dump-2010-03-09.dump.tgz /opt/svnrepos-dump-2010-03-09.dump
scp /opt/svnrepos-dump-2010-03-09.dump.tgz root@debian:/sd
cd /etc/subversion/
### create the dest dir first
scp svn-auth-file svn-authz-file root@debian:/sd/svn-config/
On the plug:
apt-get install apache2 subversion subversion-tools libapache2-svn
mkdir /sd/svn-config
cd /sd
svnadmin create svnrepos
tar zxvf svnrepos-dump-2010-03-09.dump.tgz
svnadmin load svnrepos < svnrepos-dump-2010-03-09.dump
cd /etc/apache2/mods-enabled
vi dav_svn.conf
This is what my dav_svn.conf looks like:
cat /etc/apache2/mods-enabled/dav_svn.conf
<Location /svn>
DAV svn
SVNPath /sd/svnrepos
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /sd/svn-config/svn-auth-file
Require valid-user
AuthzSVNAccessFile /sd/svn-config/svn-authz-file
</Location>
Restart apache:
/etc/init.d/apache2 restart
Main Page#Comparing the Operating System Distributions Available for the Plug Computer
