Linux Hardware and Software Certification
Novell Cool Solutions: Feature
By Karl Bunnell
Digg This -
Posted: 14 Jul 2004
Corporate and consumer deployments of Linux are increasing at an ever accelerating rate. Commensurate to these increased Linux deployments is the demand for hardware and software support for the Linux operating system. This paper introduces hardware and software certification for Linux.
Corporations and consumers alike find themselves asking a common question as they consider a move to Linux: Do my applications run there? Consider the huge number of different hardware and software configurations and it is easy to understand why this question comes up. Fortunately, help is on the way in the form of software and hardware certifications for Linux. A hardware certification provides a level of assurance that a given Linux distribution (a compiled version of the Linux kernel, standard system libraries, and assorted programs that make up the Linux operating system) will function properly on a specific hardware configuration (the assortment of hardware components such as the hard drive, display adapter, LAN adapter, etc, that comprise a complete, functional hardware system). A software certification provides a level of assurance that a given Linux application will be binary compatible across multiple Linux distributions and operate reliably and securely.
Hardware certification consists of a series of tests that exercise the components of hardware configurations and produce reports that demonstrate whether the hardware components of the system operate within normal parameters under standard, and in some cases heavy, load conditions. The process for conducting a hardware certification test typically consists of the following steps:
- Build a desired hardware configuration. This includes the primary hardware platform (e.g. Intel x86, AMD64, PowerPC, etc.) plus the peripheral components and subsystems such as physical storage (hard drive I/O system), video display, LAN adapter, mouse, USB, floppy drives, CDROM drives, DVD drives, etc.
- Install the Linux distribution (e.g. SUSE SLES 8.2, 9.0, etc.).
- Install and run the hardware certification tests. Review reports generated by the tests to measure compliance with minimum test standards.
The result of the hardware certification tests is a report that presents the "success" or "failure" conditions of all tests conducted against each measured hardware component. The following table outlines typical checks for a hardware certification:
|Install||Validates Linux install from CDROM and the network.||X||X|
|Device AutoProbing||Validates Linux distribution's capability to properly detect devices such as the following:
video adapter, sound card, NIC card, mouse, parallel port, serial ports, processors, memory (RAM), USB ports, all connected disks (fixed and removable), including the ability to properly detect.
|Boot Manager Compatibility||Validates that the hardware configuration can be booted using "LILO or Grub" following the Linux installation.||X||X|
|Network test||Validates load performance and reliability of LAN channel (NIC card).||X||X|
|Kernel Compatibility||Verifies that the features of the hardware configuration function properly with the Linux distribution.||X||X|
|Disk Channel I/O, Memory, CPU||Validates load performance and reliability of disk channel, memory and CPU under extended high-load conditions.||X|
|SMP Test||Validates load distribution performance of multi-process machines under extended high-load conditions.||X|
|Display Adapter||Verifies proper function of display adapter across full range of supported resolutions and color-depths.||X|
|X Server Test||Validates X-Server configuration and operation.||X||X|
|Sound Adapter Test||Verifies proper function of audio system from speaker through sophisticated audio hardware.||X|
|Port Test||Verifies proper function of the system serial and parallel ports.||X||X|
|Pointing Device Test||Verifies proper function of pointing devices including button tests, wheel, etc.||X||X|
|Keyboard Test||Validates that all keys function as expected, including control keys, function keys, etc.||X||X|
The hardware certification report typically includes a matrix that specifies the name of the hardware check/test, the hardware component (including make and model information), the criteria for success or failure, and the result of the test. This report allows consumers to evaluate whether a given Linux distribution, with associated features, functions correctly on a specific hardware configuration. The obvious benefit of the hardware certification report to software/hardware decision makers is an assurance that the Linux distribution of choice, coupled with the hardware configuration, function well together and meet the needs of the business.
Software certification defines a set of tests, guidelines, conventions, and methodologies that specify how Linux applications should be designed and implemented to ensure stability, security and compliance with established Linux standards.
Linux Standard Base or LSB (http://www.linuxbase.org/), a work group of the Free Standards Group, standardizes the core functionality of Linux and the suite of GNU tools, giving Linux distributions and Linux-based applications the opportunity to reach a wider market, while allowing application developers to concentrate on increased functionality. LSB was developed through the collaboration of community developers, Linux distribution companies, independent software vendors (ISVs) and system vendors.
The mission statement for LSB is "To develop and promote a set of standards that will increase compatibility among Linux distributions and enable software applications to run on any compliant system. In addition, the LSB will help coordinate efforts to recruit software vendors to port and write products for Linux."
There are two dimensions to LSB compliance: Linux Distribution Compliance and Linux application compliance. A Linux Distribution demonstrates compliance by passing a series of LSB tests.
A Linux application achieves LSB compliance by adhering to specific LSB specifications and passing LSB application compliance tests.
A complete list of LSB certified applications and Linux distributions can be found in the list under "Resources" at the end of this article.
In addition to ensuring Linux standards compliance, Linux application stability, security and reliability, tests add an additional level of assurance to customers that compliant applications are not only binary-compatible across disparate Linux distributions but also good citizens when invoked upon their Linux distribution of choice.
|Novell "Yes, Tested and Approved" Certification Program|
Novell's "Yes, Tested and Approved" program (http://developer.novell.com/yespgm/) provides a test kit that provides an additional level of assurance to customers that Linux applications will embody the security, stability and reliability characteristics a production environment demands. This test suite consists of several categories of tests such as documentation, architecture, installation and execution that ensure a Linux application meets base-line operational requirements in each of these areas. The following table presents the specific tests conducted within each category.
|Test Category||Test Description|
|Documentation Tests||Documented Installation Instructions|
|Documented Error Messages|
|Command-line Features Documented|
|Backup method documented|
|Unique Security Issues Documented|
|Architecture Tests||LANANA Compliance|
|Consistent Command-line Argument Style|
|Pluggable Authentication Module Compatibility|
|LDAP Directory Access|
|Log File Consistency|
|Installation Tests||Approved Test Platforms|
|Product Install/Uninstall Test - RPM|
|Product Install/Uninstall Test - YaST|
|Red Carpet Maintenance Compatibility|
|Create and Execute a Test Plan|
|Resource Smart Install|
|Execution Tests||Duration and Reliability|
|Non-root level Administration|
|Dynamic Resource Acquisition|
|Forced Termination Handling|
|Virtual Resource Configuration and Management|
The test categories cover important application characteristics that, if followed, ensure an application is well documented, follows architectural, installation and runtime/execution best-practices, and is secure, reliable and stable on the Linux platform.
The LSB tests, in conjunction with a test suite such as Novell's software test tools, provide assurances to home and corporate users of Linux that the applications they rely on to run their small businesses or large corporations meet the operational and reliability characteristics they depend upon to be successful in the market place.
- Linux Compliance Tests:
- IBM Developer Works Article: Developing LSB-certified applications
- Novell "Yes, Tested and Approved" program:
- LSB Certified Applications:
Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com