Alternative Installations for Seagate Dockstar
Unlike the other devices we usually choose to install OpenWrt on, the Seagate Dockstar is bit different: more processing power, more RAM, more flash and more USB Ports. Also, it has only one Ethernet port and no built-in switch. Thus, other deployment scenarios become interesting.
Alternative Distributions
Depending on what you want to do with your DockStar, you should seriously consider to use Debian/Ubuntu/Gentoo instead of OpenWrt.
Remember, there is no competition between the distributions. Use whatever suits your purpose best! And always contribute . Mind the purpose of OpenWrt and do not make needless requests for new features which are already served by the alternatives. OpenWrt is lightweight, which is far better suited for limited resources than the other OSes are. It is non the less, not quite as well suited for a serious web server. Mainly for security reasons. Also, we will never have the amount of packages the alternatives provide. Of course, the mentioned distribution are not as heavily adjusted to the RAM limitations of the dockstar.
OpenWrt | Debian | Gentoo | |
---|---|---|---|
resources | light build | bloated | ? |
security | opkg, unsigned packages | apt, signed packages | ? |
userbase | ? | huge userbase, lot of manpower and expertise, heavily tested | ? |
Note:
While Debian supports ARMv4 only, it will work on any ARM architecture, but will not be as performant as it could be on the newer ISA version. Ubuntu on the other side, support ARMv7 only! Thus Ubuntu will not run on anything older then the Cortex A series.
Light-weight distributions
Besides the popular full-fledged Linux distributions, there are more light-weight alternatives. Here's a brief comparison:
EmDebian | PlugApps | Ångström | OpenWrt | |
---|---|---|---|---|
Based on | Debian | ArchLinux | OpenEmbedded | N/A |
Targets | ARM processors | Dockstar | SheevaPlug | Dockstar |
Fits in Flash | Maybe | Yes | Yes | Yes |
Installs to Disk | Recommended | Recommended | Possible | Possible |
Release model | Traditional | Rolling | Traditional | Traditional |
In-place upgrading | Yes | Yes | Yes | No |
Up-to-date-ness | Intermediate (testing) | Bleeding Edge | Intermediate | Stable |
HowTo | link | N/A | N/A | link |
NOTE: The issue is not, what you can or cannot do, but what is the most adept (and safe) strategy to achieve your goals with least effort! Let's take a look at the bottlenecks:
Hardware Limitations
With every computer, but especially with embedded devices we encounter three kinds of hardware limitations:
- computing power
- cannot be overcome. Don't even bother with overclocking, the little gains are not worth the effort and the risks. It is and remains limited.
- RAM (working memory/volatile storage)
- there is a real solution involving soldering and a workaround in form of SWAP-Partitions on the non volatile storage device. Keep in mind, that flash has quick access rates, little throughput and only limited write cycles, thus it's not suited as SWAP.
- non volatile storage
- easiest to overcome, simply be connecting a device with additional storage room to the USB port. Thus nobody would bother soldering a bigger flash chip.
So, the first issue, computing power cannot be overcome, you have an ARMv5 with 1200MHz, the RAM is connected with 16Bit running at 800MHz. This is it.
The third bottleneck has already been overcome, by choosing to install to a USB hard disc.
The second one has to be dealt with, by wisely choosing the installed programs which run all the time. Amongst the choices you have, pick the least bloated ones. For example you can of course choose to run dropbear with Debian, you do not have to use standard ssh-daemon! dropbear is contained in the Debian repos, it is tested and provided with updates, so use it! Some packages are however in the OpenWrt repos but not (yet) in the Debian stable repos, such as µMurmur! Of course you can still use µMurmur on your Debian, but without the proper testing and security updates that Debian provides! And where is the point in using Debian (for stability and security) but adding alien software? Which is a biggie for a server, that is fully exposed to the Internet. You can also prefer busybox instead of the GNU stuff Debian comes with! You can also download the patched sources for the Kernel and compile it against µClibC. But then you cannot update the Kernel with the package manager any longer. You would have to compile a new kernel every time, new security patches are available for your kernel. This is of course possible, but time consuming. Then rather use OpenWrt and save yourself the trouble. Or not? YOUR CHOICE!
Various Installation Targets
The Seagate Dockstar comes with 256MiB of Flash space. Thus we grant the bootloader Das U-Boot-partition entire 1 MiB of space. And this U-Boot is capable of addressing and executing a kernel located on an external device connected via USB. This give you three choices of where you can install your OS:
- on embedded flash installation
- no need for further hardware
- if something breaks, the device becomes hard to gain access to.
- the Dockstar has no additional buttons, which could be used to trigger the failsafe-mode!
- on an USB-Stick install.on.USB
- easily accessible by connecting directly to a PC
- easily replaceable
- bigger than embedded flash
- on an USB-Harddisk install.on.USB
- easily accessible by connecting directly to a PC
- huge capacities
- unlimited write cycles
- use a journaling file system for
/
- make ample use of SWAP
- log to harddisc instead to the 128KiB RAM ringbuffer. Log as much as you like. Make log survive reboot.
That way, you can avoid adopting extroot_configuration or kexec on the Dockstar. The second and third option gives you all the lightweight advantages of OpenWrt compared to other GNU/Linux distributions you could run on your Dockstar, but you'll probably want to reconfigure your System, so it makes better use of the less limited space your installation medium provides:
- read basic.understanding to remove TMPFS, and have a real /tmp and a separate /var directory.
- perf_and_log to make you log daemons log to harddisc rather then into the ringbuffer. Assuming that you have a different router which also runs OpenWrt, you can make this write his Logs to this hard disc, too. Use the config or crond to erase to old logs.
- docs to install all sorts of daemons, server- and client-software.
You can of course install OpenWrt on the embedded flash, and additionally install and configure one on a USB harddrive. The Bootloader is configured in a way, that it will boot from USB if there is one, and from embedded flash if this fails. The small benefit is, that OpenWrt on flash gives you much more possibilities than the original firmware, which you could leave unaltered if you installed on external medium.