Embedded Linux Systems Presented By: Kitrek Riese.

Slides:



Advertisements
Similar presentations
Linux Booting Procedure
Advertisements

Linux can be generally divided into four major components: 1. KERNEL – OS, ultimate boss The kernel is the core program that runs programs and manages.
Booting the Linux Kernel Dr. Michael L. Collard 1.
INSTALLING LINUX.  Identify the proper Hardware  Methods for installing Linux  Determine a purpose for the Linux Machine  Linux File Systems  Linux.
Linux on commodity network H/W Josh Parsons LUGOD talk August 15 th 2005.
Exploring the UNIX File System and File Security
Linux Intro Linux, the do it yourself OS Linux, successor to MINIX Linux, Unix for the masses (PC users) History:
1 Web Server Administration Chapter 3 Installing the Server.
Introduction to Systems Architecture Kieran Mathieson.
Embedded System Programming Introduction to Device Drivers.
29 April 2005 Part B Final Presentation Peripheral Devices For ML310 Board Project name : Spring Semester 2005 Final Presentation Presenting : Erez Cohen.
Lesson 4-Installing Network Operating Systems. Overview Installing and configuring Novell NetWare 6.0. Installing and configuring Windows 2000 Server.
WANs and Routers Routers. Router Description Specialized computer Like a general purpose PC, a router has:  CPU  Memory  System Bus Connecting Internal.
Chapter 2 INSTALLTION OF LINUX DISTRIBUTION. Minimum hardware requirement 1) DVD drive: You must have a DVD drive (either DVD-ROM or DVD burner), and.
FreeBSD/arm on the Atmel AT91RM9200 Warner Losh Timing Solutions, Inc BSDcan 2006 May 12, 2006 Experiences.
Linux-MVME Targets Using Motorola Board Support
What is Router? Router is a device which makes communication between two or more networks present in different geographical locations. Routers are data.
1 uClinux course. 2 Author: D L Johnson Overview u Day 1 +Survey of embedded operating systems - why uclinux? +The uclinux environment - the directory.
© Paradigm Publishing Inc. 4-1 Chapter 4 System Software.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Lesson 6 Operating Systems and Software
Information and Communication Technology Fundamentals Credits Hours: 2+1 Instructor: Ayesha Bint Saleem.
Intro to CS Chapt 2 Data Manipualtion 1 Data Manipulation How is data manipulated inside a computer? –How is data input? –How is it stored? –How is it.
Cheap Off-the-Shelf Tiny Linux By Dzuy Nguyen
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
Chapter 4 System Software.
Computer Processing of Data
Linux Operations and Administration Chapter Fourteen Planning for a Linux Installation.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Cisco Router Hardware Software overview. In this lecture we will investigate an overview of Cisco router hardware and software. We will first turn our.
Guide to Linux Installation and Administration, 2e1 Chapter 2 Planning Your System.
Porting Operating Systems Phan Duy Hùng (PhD) ES Lecturer – Hanoi FPT University.
Installation Overview Lab#2 1Hanin Abdulrahman. Installing Ubuntu Linux is the process of copying operating system files from a CD, DVD, or USB flash.
Linux Administration. Pre-Install Different distributions –Redhat, Caldera, mandrake, SuSE, FreeBSD Redhat Server Install –Check HCL –Significant issues.
CCNA 2 Week 1 Routers and WANs. Copyright © 2005 University of Bolton Welcome Back! CCNA 2 deals with routed networks You will learn how to configure.
ARM 7 & ARM 9 MICROCONTROLLERS AT91 1 Development Tools & Partners.
Linux Architecture Overview 1. Initialization Uboot – hardware init, loads kernel Kernel – remaining initialization, calls “init” Init – 1 st process,
UNIX (Linux) Introduction Module-1. OS Kernel In computing, the kernel is the central component of OS. It is a bridge between applications and the actual.
Manage Directories and Files in Linux. 2 Objectives Understand the Filesystem Hierarchy Standard (FHS) Identify File Types in the Linux System Change.
CHAPTER 2. Overview 1. Pre-Installation Tasks 2. Installing and Configuring Linux 3. X Server 4. Post Installation Configuration and Tasks.
© Paradigm Publishing, Inc. 4-1 Chapter 4 System Software Chapter 4 System Software.
CSC414 “Introduction to UNIX/ Linux” Lecture 2. Schedule 1. Introduction to Unix/ Linux 2. Kernel Structure and Device Drivers. 3. System and Storage.
PC Internal Components Lesson 4.  Intel is perhaps the most recognizable microprocessor manufacturer. List some others.
Hands-On Virtual Computing
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Week1: Introduction to Computer Networks. Copyright © 2012 Cengage Learning. All rights reserved.2 Objectives 2 Describe basic computer components and.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
SEPTEMBER 8, 2015 Computer Hardware 1-1. HARDWARE TERMS CPU — Central Processing Unit RAM — Random-Access Memory  “random-access” means the CPU can read.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
CIT 140: Introduction to ITSlide #1 CSC 140: Introduction to IT Operating Systems.
Chapter 3 Getting Started. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. Objectives To give an overview of the structure of a contemporary.
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 2 v3.1 Module 2 Introduction to Routers.
1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Free Electrons Introduction.
IMAGE COMPRESSION AND DECOMPRESSION USING ARM9 SYSTEM Under the guidance of Mrs. B. SATYA SRI DEVI,M.Tech, Assistant Professor By V. KUSUMA KUMARI Roll.
1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Embedded Linux system development.
Introduction to Operating Systems Concepts
Computer System Structures
By Ganesan Alagu Ganesh Feb 26, 2008
By Ganesan Alagu Ganesh Feb 21, 2008
Chapter 1: A Tour of Computer Systems
Welcome to Linux Chap#1 Hanin Abdulrahman.
UBUNTU INSTALLATION
Virtualization overview
Linux Architecture Overview.
Lecture9: Embedded Network Operating System: cisco IOS
Welcome to Linux Chap#1 Hanin Abdulrahman.
Welcome to Linux Chap#1.
Lecture9: Embedded Network Operating System: cisco IOS
Presentation transcript:

Embedded Linux Systems Presented By: Kitrek Riese

Presentation Overview Why Choose Linux Embedded Linux Architecture Options and Attributes of Embedded Linux Embedded Linux Examples

The Start of Embedded Linux At first there was VxWorks, pSOS, Neculeus, and Windows CE Although now a common practice, the first concepts of embedded Linux arrived on the scene around 1997.

Why Choose Linux Linux is Open Source. Additions to functionality are made easier. Large support network for developers. Ability the fix code without help from outside organizations.

Why Choose Linux Quality and Readability of Linux Code Separate functionality is found in separate modules and the different modules are split into different files, reflecting their functionality. The result of this is high cohesion and low coupling.

Disadvantages of Linux Real Time Performance is provided through Kernel Modules A code error can crash the entire OS

The Linux Architecture Same as ‘normal’ Linux Architecture Contains six layers of abstraction

The Linux Architecture Applications: Includes your normal desktop applications

The Linux Architecture Libraries: Allow applications to communicate with the Linux Kernel GNU C library Qt XML MD5 These libraries are not part of the application but rather exist separately within the Linux structure. Different applications to use the same instance of a library. This saves memory because you need only one copy of the library to be loaded into RAM

The Linux Architecture The Linux Kernel Essentials: High-Level Abstractions Kernel Internals Low Level Abstractions Internal abstraction gives the Kernel ability to interface with many File-Systems and Network Protocols

Embedded Linux Necessities Minimalist Linux A boot utility The Linux micro-kernel, composed of memory management, process management and timing services An initialization process To doing anything useful while remaining minimal, you also need to add: Drivers for hardware One or more application processes to provide the needed functionality As additional requirements become necessary, you might also want: A file system (perhaps in ROM or RAM) TCP/IP network stack A disk for storing semi-transient data and swap capability A 32-bit internal CPU (required by all complete Linux systems)

Embedded Linux Hardware Many Hardware Options Available x86 ARM IBM/Motorola Power PC MIPS Hitachi Super H Motorola 68000

Embedded Linux Hardware x86 Introduced by Intel in 1985 Large amounts of documentation available Most widely used and tested on Linux platforms Many applications developed on the x86 for the purpose of porting to other hardware.

Embedded Linux Hardware ARM (Advanced RISC Machine) No particular manufacturer, maintained by ARM Holdings Ltd. ARM Holdings designs CPU cores and the ARM instruction set Customers find their own manufacturer which allows for greater customization Linux supports ten different ARM CPUs on sixteen different platforms, along with two hundred related boards.

Embedded Linux Hardware Busses and Interfaces PCI PCMCIA Parallel Port SCSI USB FireWire Serial Port Linux also supports a wide variety IO devices Printers Mice Sound Storage Display Devices

Development Tools and Environments Required Software Bootloader Build-Tools Debugging Tools Linux Kernel

Development Tools and Environments GNU cross-platform development toolchain Kernel Setup Software Binary File Manipulation Utilities (Binutils) C Library (Can be replaced with others) Full C Compiler

Development Tools and Environments Available IDE’s Anjuta Eclipse Glimmer KDevelop SourceNavigator

The Linux Kernel Development of Embedded Linux does not coincide with the development of the Kernel Each architecture will have its own Kernel.

The Linux Kernel Configuring the Kernel Loadable Module Support Network Options SCSI Support File Systems Sound Console Drivers

The Linux Kernel Configuration Options ‘make config’ – Command Line ‘make oldconfig’ – Premade Config still command line but faster ‘make menuconfig’ – Text Based Config ‘make xconfig’ – X Window Based Config

Root File System bin boot dev etc root sbin tmp usr var home lib mnt opt proc

Bootloader Concepts The bootloader loads the Linux Kernel Thousands of choices in bootloaders to choose from and many configurations of each Many architectures have well known or commonly used bootloaders Some architectures have no standard bootloader

Bootloader Concepts X86 Bootloaders GRUB (Grand Unified Bootloader) LILO (Linux Loader) ROLO loadlin Etherboot LinuxBIOS blob PMON

Networking Services Linux Networking Features SNMP - Remote Administration Network Login through Telnet SSH HTTP DHCP

Networking Services SNMP Almost every device which connects to a TCP/IP network has SNMP Net-SNMP Free Large SNMP agent is all that is necessary

Networking Services HTTP Apache HTTP Servers Not for embedded systems Boa thttpd

Networking Services DHCP Dynamic Host Configuration Protocol Automatic network configuration of hosts Standard DHCP package is free with most Linux distributions

The Linksys Wi-Fi Router Linux gives us “the premium OS for inexpensive, feature-packed wireless networking.” (Ewing)

The IBM/Citizen Linux Watch 56 X 48 mm Motherboard – 27.5 X 35.2 mm 8 MB Flash Memory 8 MB DRAM Touch Sensitive Display 1.5 oz 32-bit RISC Processor (74-18 MHz)

How is This Possible? A fully featured Linux kernel requires about 1 MB of memory The Linux micro-kernel actually consumes only 100 K

How is This Possible? With the networking stack and basic utilities, a complete Linux system runs quite nicely in 500 K of memory on an Intel 386 microprocessor, with an 8-bit bus A Linux system can actually be adapted to work with as little as 256 KB ROM and 512 KB RAM