This document provides an introduction to embedded Linux and device drivers. It defines an embedded system as a special-purpose computer designed to perform dedicated functions with real-time constraints, often embedded as part of a complete device. Linux is commonly used in embedded systems due to advantages like reuse of existing components, community support, and low cost. The document outlines the typical hardware and software requirements for developing embedded Linux systems, and provides an overview of the Linux kernel architecture for device drivers, including the unified device model, bus drivers, and platform devices.