Overall Description This chapter provides a high-level description of Project Horizon. For more information on the background of Project Horizon, see .
Project Perspective Project Horizon is a new system that provides computer users and administrators the ability to install the Adélie Linux operating system. It is intended to replace the current manual installation procedure for the use cases identified in sections 1.2.2 and 1.4. It is expected over the next few years that Project Horizon will evolve with the Adélie family of software and services to provide a well-accepted libre environment for general purpose computing.
User Classes and Characteristics The identified user classes are defined in section 1.4. A summary of these classes is included below. User classes for release 1.0 of Project Horizon User Class Description The Beginner "Charlie" (favoured) This class of users has never used Linux before, but has used another operating system on their computer. Users of this class will need documentation that contains clear descriptions of what their option selection will cause to happen. Users of this class typically will want to keep their existing operating system while installing Adélie Linux to a second partition or disk. The Enthusiast "Dakota" (favoured) This class of users has experience with other Linux distributions, and wishes to install Adélie Linux. Users of this class will want to feel in control of their computer and the system being installed to it. Users of this class will use the majority of the features denoted as "advanced" in this requirements specification. The Administrator "Jamie" This class of users is interested in using HorizonScript to automate installation of Adélie Linux to one or more computers. Users of this class may or may not use the Horizon UI to create the HorizonScript. The Developer "River" This class of users has significant Linux experience and wishes to install Adélie Linux on more "esoteric" hardware, such as a BeagleBone Black or Pentium III.
Operating Environment OE-1 Project Horizon shall run on any computer that is supported by the Easy Kernel and is using a Tier 1 supported CPU architecture as defined at . OE-2 Horzon UI shall run under the X11 display server with a screen resolution no smaller than 800x600.
Implementation Constraints IC-1 Project Horizon code written in C-based languages shall conform to the Adélie Linux code style . IC-2 Horizon UI shall be written in C++ using the Qt widget toolkit. IC-3 The system shall use the Modular Crypt Format as described in and as implemented in the musl C library to encrypt passwords with the SHA-512 algorithm. IC-4 Horizon Runner shall be written in a programming language that is present in the System repository of Adélie Linux, as listed at .
Assumptions
Project Dependencies DEP-1 The system shall use the wpactrl library from bcnm for manipulating wireless network connections. DEP-2 The system shall use the blkid library from util-linux for determining current disk layout. DEP-3 The system shall use TBD TODO HELP for manipulating disk partitions. DEP-4 The system shall use dhcpcd for automatically obtaining network configuration over the DHCP protocol. DEP-5 The system shall use the libudev library from eudev for enumerating devices present on the system, including but not limited to: disk drives, network interfaces, graphics adaptors. DEP-6 The system shall use tzdata for time zone information and selection.