The primary consideration that goes into selecting packages is that Tin Hat is meant to provide a fully featured Desktop environment with all of the usual productivity software included.
In the attachments below, we give the output of the following which should give a full account of what went into build both the i686 and amd64 releases.
epm -a | sort
emerge -ep world
emerge --info
cat /etc/make.conf
There is a complex playoff between the services you provide and security. The following is an abridged list of the services provided:
Of these, the following are started at boot.
Services should not be started if they are not needed to minimize opportunities for exploit. Note: starting some services, like cups starts avahi-daemon to discover LAN printers.
The kernel configuration is as extreme as the RAM usage. We employ a monolithic kernel with support for almost all hardware. (There are a few exceptions where we had concerns.) The choice of a monolithic kernel is to prevent LKM's from being inserted during runtime, which is a security risk. It does, however, result in a 7+ MB kernel. Nonetheless, we have not noticed any appreciable performance loss as a result.
GRSEC/PaX hardening is turned on. We enabled as many hardening features as possible without breaking the system, particularly the X server. This means we could not deny writing to /dev/kmem, /dev/mem, and /dev/port, or disable privileged I/O, which breaks X, but closes some serious security loops.
The following information is for the latest release:
| Attachment | Size |
|---|---|
| epm-qa.amd64.txt | 10.23 KB |
| emerge-world.amd64.txt | 41.7 KB |
| emerge-info.amd64.txt | 3.33 KB |
| make-conf.amd64.txt | 681 bytes |
| kernel-config.amd64.txt | 53.1 KB |
| epm-qa.i686.txt | 10.26 KB |
| emerge-world.i686.txt | 41.89 KB |
| emerge-info.i686.txt | 3.34 KB |
| make-conf.i686.txt | 691 bytes |
| kernel-config.i686.txt | 54.32 KB |