BaseHardwareReqs

Preface
In Little Brother, Cory Doctorow had Marcus observe "you can run ParanoidLinux on just about anything." Unfortunately, in our real world, that isn't necessarily the case. As hfsplus noted, "we need to set a 'base expectation' for system requirements and work from there." The purpose of this Wiki page is to provide a place to discuss what the 'base expectation' should be and, hopefully, come to a consensus so that we can go forward with the Base Software Functional Requirements in an effective fashion.

Types of Hardware Platforms
I see several classes of potential hardware platforms, distinguished by intended use, raw hardware capability, and mobility:

Intended Use

  • Client System - This is a system that provides purely an interface to the ParanoidLinux network. It would support some sort of terminal interface to other ParanoidLinux network entities (e.g., ssh), an email client (e.g., Pine and Thunderbird), a Web content renderer (e.g., ELinks and Firefox), encryption for all communications (as desired), and any other ParanoidLinux features suitable for a client system. It would likely have encrypted storage, but it would not necessarily be hardened against determined penetration attempts.
  • Server System - This is a system that provides resources for the ParanoidLinux network clients: file servers, Web content hosting, mail and chat services, hidden services (cf. Tor), and similar. It would have strong encryption for its storage, to include whole-disk encryption when possible, and would be hardened against determined penetration attempts. It would include both hardware and software self-destruction capabilities.
  • Hybrid - A combination of Client and Server, it must provide the software functions of both, with stronger hiding techniques to mask its location.

Hardware Capability

  • Legacy - Hardware that is still servicable, but no longer generably available in the primary market. Probably slower, lower capacity, and fewer features than contemporary hardware in its same category (e.g., ATA vs. SATA vs. SATA-II hard drives). Easily found in the secondary market, often at low cost. Almost certainly well-known and supported in any Linux kernel. (The sort of stuff that could be most easily obtained by "Chinese and Syrian dissidents.")
  • Contemporary - Hardware that is generably available in the primary market (e.g., at Circuit City or Best Buy in the US). Easily found in both the primary and secondary markets, at typical discounted prices. May not be supported in all stable Linux kernels.
  • Cutting Edge - Newest commercially available hardware. Not generally available in the mass-market consumer stores, but may be available through specialized sources. No discount (you help pay off the R&D). Probably not supported in most stable Linux kernels; may be supported in development kernels. Extra expertise need to implement.
  • Bleeding Edge - Hardware not yet commercially available. May only exist in standards, protocols, schematics, and breadboards. "Priceless." Probably not supported in ANY Linux kernel.

Mobility

  • Portable - A typical laptop computer, PDA, or high-end iPod. Expects wireless connection to ParanoidLinux net, but may have wired connection (instead or in addition). It may well be wholly self-contained, but might be able to utilize an external monitor, keyboard, and pointing device, if one or more were available.
  • Transportable - The first computer I owned (1983) was a ModComp Zorba, an Osborne I or Kaypro II clone. It was "transportable," a luggable case the size of a portable sewing machine, but heavier. A modern (2008) transportable is likely a powerful system in a cubic foot case or a network-enabled game box (e.g, X-box or Wii).(MUST MUST MUST MUST MUST work on xBox)(MUST!) Unlike the portable, it probably requires an external keyboard, mouse, and monitor, and probably uses a wired network connection, but can support a wireless connection. In an urgent situation, it could be picked up and taken with, leaving the keyboard and so forth behind in expectation that replacements can be easily found.
  • Stationary - This system doesn't move, or at least not easily. It is probably hard-wired to a local network and may be connected to an uninterruptable power supply. The physical box may well be large and heavy. It almost certainly requires a keyboard, mouse, and monitor, although it may share those with other systems via a KVM switch or may be managed remotely, and thus be headless. Disentangling it from its environment is a non-trivial task.

Reference Platforms
Here is where our rubber meets the road. If we take the two basic system types in the ParanoidLinux network to be the Client and the Server, what then should be the 'base expectation' for each of those system types and what other factors should we consider in identifying them?

Client

  • CPU -
  • Memory -
  • Hard Drive / Storage
    • Type
    • Capacity
  • Display
  • Human Interface Devices
  • Network Interfaces
  • Other Interfaces (e.g., RS-232, USB, IEEE 1394)
  • Other hardware features

Server

  • CPU -
  • Memory -
  • Hard Drive / Storage
    • Type
    • Capacity
  • Display
  • Human Interface Devices
  • Network Interfaces
  • Other Interfaces (e.g., RS-232, USB, IEEE 1394)
  • Other hardware features

Development Platforms
Here's where we can brag or whine. What are we connecting to the Internet with?

Possible Development Platforms:

Who Box Type Box Info OS CPU Memory Storage Display Controller Display Interfaces
CyberSp00k Portable Dell Latitude C610 Ubuntu (Hardy) Pentium III 1.2G 1G 80G hd; DVD ROM ATI Radeon Mobility M6 LY 1400x1050 LCD Parallel, Serial, USB 1, 10MB Ethernet, RT2500 802.11g
CyberSp00k Transportable Homebrew Windows Vista Ultimate AMD 3800+ 4G 500G hd; DVD RW NVIDIA GeForce 8500GT 1280x1024 LCD Parallel, Serial, USB 2, IEEE 1396, GB Ethernet
CyberSp00k Stationary Sun Ultra 20 OpenSolaris AMD Opteron 100 1G 80G hd; DVD RW ATI Entry 2D 1280x1024 LCD Parallel, Serial, USB 2, IEEE 1396, GB Ethernet
Table cell
Table cell

P.S. I would really appreciate some assistance in formating this table for readability -- anyone please jump in and apply some useful formatting markups!

Mostly done! The CSS theme already has information on how to display <th> tags inside <thead> tags, but the wiki doesn't allow <th> at the moment. This isn't the most elegant solution, but it should do for now. -Cyrne