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.
Depending on what you want to do with your DockStar, you should seriously consider to use Debian/Ubuntu/Gentoo instead of OpenWrt on this one. Have a look at this user friendly howto Rudiswiki:DockStar, for example. The installation is very simple.
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.
|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.
Besides the popular full-fledged Linux distributions, there are more light-weight alternatives. Here's a brief comparison:
|Targets||ARM processors||Dockstar||SheevaPlug||Dockstar (trunk)|
|Fits in Flash||Maybe||Yes||Yes||Yes|
|Installs to Disk||Recommended||Recommended||Possible||Possible|
|Up-to-date-ness||Intermediate (testing)||Bleeding Edge||Intermediate||Lags (stable)|
As long as you only provide services for a couple of friends and set up a stern firewall, security is not such a big deal. But if you are planning to invite all kinds of people to your server, you should take this seriously. You don't want to be OWNed, do you?
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:
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 storge 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!
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 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.
- log.overview 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.
- start to install all sorts of daemons, server- and client-software.
You can of course install a (stable?) OpenWrt version 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.
toh/seagate/dockstar/alternatives.txt · Last modified: 2013/06/27 11:52 (external edit)