# Linux Administration/System Architecture/Hardware Settings

This lesson covers configuring hardware settings of the of CompTIA Linux+ certification

## Objectives and Skills

Objectives and skills for the hardware settings portion of Linux+ certification include:
* Determine and configure hardware settings
** Enable and disable integrated peripherals
** Configure systems with or without external peripherals, such as keyboards
** Differentiate between the various types of mass storage devices
** Know the differences between coldplug and hotplug devices
** Determine hardware resources for devices
** Tools and utilities to list various hardware information (e.g., Isusb, lspci)
** Tools and utilities to manipulate USB devices
** Conceptual understanding of sysfs, udev, dbus
** The following is a partial list of the used files, terms and utilities:
*** /sys
*** /proc
*** /dev
*** modprobe
*** lsmod
*** lspci
*** lsusb
*** hwinfo
*** lshw: lshw -class disk -class storage
*** lsblk

## Readings

* Wikipedia: BIOS
* Wikipedia: Unified Extensible Firmware Interface
* Wikipedia: Data storage
* Wikipedia: Hot swapping
* Wikipedia: sysfs
* Wikipedia: procfs
* Wikipedia: devfs
* Wikipedia: modprobe
* Wikipedia: lsmod
* Wikipedia: lspci

## Multimedia

* YouTube: Configuring Integrated Peripherals
* YouTube: Configuring Linux Systems Without a Keyboard
* YouTube: Linux Mass Storage Devices
* YouTube: Linux Coldplug and Hotplug Devices
* YouTube: Linux Hardware Resources
* YouTube: Linux Device Drivers

## Activities

* Complete the tutorial IBM: Learn Linux, 101: Configure hardware settings
* Use BIOS or UEFI settings to disable an integrated peripheral device. Verify the device is no longer functional. Use the same settings to re-enable the device. Verify the device is now working.
* Research methods for configuring headless systems over a network.
* Identify differences between floppy disks, hard disks, CD/DVD drives, tape drives, and USB storage devices.
* Create a list of typical hotplug and coldplug devices.
* Compare output from df and du and identify the differences between the commands.
* Compare output from lscpu, lsmod, lspci, and lsusb and identify the differences between each command.
* Use modprope to remove and re-add a module. For example:
** Use lsmod to list installed modules.
** Use modprobe -r msdos to remove the msdos file system module.
** Use lsmod to list installed modules and verify that msdos was removed.
** Use modprobe msdos to add the msdos file system module.
** Use lsmod to list installed modules and verify that msdos was restored.

## Lesson Summary

* /proc is a virtual filesystem that contains runtime process information (e.g. system memory, devices mounted, hardware configuration, etc).
* /proc/cpuinfo contains information about the processor, such as its type, make, model, and performance.
* /proc/interrupts contains which interrupts are in use, and how many of each there have been.
* /proc/modules contains which Kernel modules currently loaded.
* /proc/pci contains deprecated information on the PCI bus.
* cat is a standard Unix utility that reads files sequentially, writing them to standard output. The name is derived from its function to concatenate files.
* df reports the amount of available disk space being used by file systems.
* df -h prints sizes in human-readable format.
* du, abbreviated from disk usage, is a standard Unix program used to estimate file space usage—space used under a particular directory or files on a file system.
* lscpu displays information about the CPU architecture.
* lsdev shows installed hardware.
* lsmod is an alias for cat /proc/modules.
* lspci is an alias for cat /proc/pci.
* lsusb lists all USB (Universal Serial Bus) buses and the devices hooked up to them.
* modprobe adds and removes modules from the Linux kernel.
* modprobe [modulename] adds a module to the Linux kernel.
* sysfs is a pseudo file system provided by the Linux kernel that exports information about various kernel subsystems, hardware devices, and associated device drivers from the kernel's device model to user space through virtual files.
* udev is a device manager for the Linux kernel.

## Key Terms
### coldplug

    Components which require the computer system to be powered down to add or remove them.

### hardware compatibility list (HCL)

    A list of computer hardware (typically including many types of peripheral devices) that is compatible with a particular operating system or device management software.

### headless

    A computer system or device that has been configured to operate without a monitor.

### hotplug

    Components which may be added or removed without shutting down the system.