My misc notes about getting my plugpc up and running.
This site has a nice spec plus pictures. Visit
Marvell's page for their overview.
Connecting
The Sheeva comes from the factory (Globalscale) with Ubuntu Jaunty (9.04) already installed. For those not familiar with "embedded" devices that don't have keyboard, mouse and video, initial connecting can be done one of two ways: Connect via SSH or Connect via serial console.
Serial Connection
- On Windows, you must install the USB Serial communication drivers. This follows the typical driver install cycle for usb devices -- connect device, point dialog boxes to driver files.
- On Linux, follow these directions. On my Fedora Core 11 laptop, this worked. My CentOS 5.3 server it didn't. It doesn't appear to be recognized; no dmesg or lsusb output, which is strange as its almost like it physically doesn't detect its insertion. Getting ready to try it on my Gentoo server.
- I added the following to /etc/udev/rules.d/10-sheeva.rules to automatically add and remove the kernal modules on USB connect/disconnect:
SYSFS{idProduct}=="9e8f",SYSFS{idVendor}=="9e88",ACTION=="add",RUN+="/sbin/modprobe -q ftdi-sio product=0x9e8f vendor=0x9e88",SYMLINK+"USB[0-1]"
ENV{PRODUCT}=="9e88/9e8f/500",ACTION=="remove",RUN+="/sbin/rmmod ftdi_sio usbserial"
Network Connection
Getting Started
Now that we can connect, the first thing to do is visit the
New Plugger How To. There are a few quirks with the factory default OS that need to be remedied.
- DHCP client overwrites received DNS servers with localhost.
- Fix that by editing etc/dhcp3/dhclient.conf and commenting/deleting the line supersede domain-name-servers 127.0.0.1;.
- Run dhclient eth0 to refresh DNS settings.
- Init files fail to properly create a directory needed by APT.
- Edit /etc/rc.local and comment out all lines except mkdir -p /var/cache/apt/archives/partial. Add ntpdate-debian <server> right after it.
- Not sure what the difference between ntpdate and ntpdate-debian is...
- Run /etc/rc.local to update environment.
- Changed hostname by editing /etc/hostname.
- Rebooted.
- Upgraded jaunty.
- After upgrading, I verified I could connect via SSH while still logged into the console. Some people have had problems logging in after upgrades so troubleshooting that problem is much easier if you still have a session running.
- Removed the packages no longer needed.
- Installed ntp, wget, lm-sensors, sysstat, rsync
- lm-sensors: sensors-detect didn't detect any sensors, so no sensor reading... :(
- Configured NTP servers in /etc/ntp.conf.
- Upgraded kernel to allow usbserial kernel module.
- Using cbxbiker61's ones from here.
- I chickened out and installed the 2.6.22.19 and not the 2.6.30.1. Appears to be a drop in replacement and doesn't need uBoot env changes.
- Said what the hell and upgraded to 2.6.30.2. When you reboot, you just interrupt the uBoot and configure the env variables as instructed in the README. No problems at all.
- Changed /var/log to tmpfs to avoid unnecessary writing to flash. Followed this article as it uses another directory for persistence across reboots.
- Create /var/log_persistent.
- Create rsync cron job to sync hourly.
- Create init script.
- Installed sysusage to monitor the system.
- To minimize file system utilization and flash write limitations, would like to store files on removable/remote file system.
Benchmarking
In thinking of uses for my plug, I wondered what performance is for various storage avenues. I decided to load bonnie plus plus (wiki traps the plus sign) and start recording some. My goal is to be able to compare some USB storage (USB thumb drives, USB HDD enclosures), iSCSI, and SDCard. If I could get a hold of a laser thermometer, it could be interesting to track the temp of the housing (and maybe insides if I was courageous enough to open it up) while the tests are running.
- SDCard
- USB Enclosures
- iSCSI
I've moved the benchmarking details and results to a
separate page.
To Do
- External storage.
- SD card would keep it simple and compact, but reports of slower access vs USB disk drive. Would still have NAND flash write limitations.
- USB storage offers greater capacity and no write limitations. Increases setup's overall power consumption.
- Ideal would be a hardware raid device with USB connection. A la
- Enhance persistent logs to keep both directory's in sync (two-way vs one-way) and enable on boot to pull them back in.
- Downside would be memory usage would get hit unless you get more aggressive with log management.
Use Cases
- Media download hub: i.e. torrent.
- Backup server.
- Would need to solve RAIDed storage problem.
- Email server.
- Web server.
There are no comments on this page. [Add comment]