System initialisation

Slides:



Advertisements
Similar presentations
Booting the TS-7300 boards VHDL and C. Overview After looking at the general approach to booting machines (generally PCs) we will now look at the TS-7300.
Advertisements

PC bootup Presented by: Rahul Garg (2003CS10183) Rajat Sahni (2003CS10184) Varun Gulshan(2003CS10191)
System Setup CGS2564. What Happens When You Start up a Computer? BIOS Basic Input Output System A set of programs stored in ROM Contain instructions on.
18th August, 2005 CS431 Course Presentation 1 Booting of a Computer System Harpreet Singh.
Genesis: from raw hardware to processes System booting sequence: how does a machine come into life.
Chapter 9: Understanding System Initialization The Complete Guide To Linux System Administration.
Linux+ Guide to Linux Certification Chapter Nine System Initialization.
Linux Booting Procedure
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.
DIT314 ~ Client Operating System & Administration CHAPTER 4 CONFIGURING HARDWARE DEVICES AND STARTUP PROCESS Prepared By : Suraya Alias.
Startup. Major phases  BIOS  MBR program  Boot loader (Partition boot program )  OS’s kernel Loader  CPU always starts running at x’FFFF0’=1,048,560.
Boot Sequence in Linux Mayur Sadavarte Furquan Shaikh.
Booting And Shutting Down. Bootstrapping  Bootstrapping is standard term for “starting up a computer”  During bootstrapping the kernel is loaded into.
计算机系 信息处理实验室 Lecture 5 Startup and Shutdown
Linux+ Guide to Linux Certification, Second Edition Chapter 3 Linux Installation and Usage.
Basic Input Output System
EET 450 Chapter 2 – How hardware and Software Work Together.
The Boot process. Booting on a PC POST –Hardware test – may not run CPU ie fan not working CPU start-up –Jumps to fixed location to execute BIOS code.
Lesson 4-Installing Network Operating Systems. Overview Installing and configuring Novell NetWare 6.0. Installing and configuring Windows 2000 Server.
Software Development and Software Loading in Embedded Systems.
Operating Systems Operating System
Linux+ Guide to Linux Certification Chapter Three Linux Installation and Usage.
Computer Startup Sequence Overview
Chapter 5 Basic Input/Output System (BIOS)
Basic Input Output System
Linux Booting Procedure
Guide to Linux Installation and Administration, 2e1 Chapter 3 Installing Linux.
DOS  In the 1980s or early 1990s, the operating system that shipped with most PCs was a version of the Disk Operating System (DOS) created by Microsoft:
Booting. Booting is the process of powering it on and starting the operating system. power on your machine, and in a few minutes your computer will be.
What is system software and what are its parts? Programs that control operation of computer Two parts are operating systems utility programs.
From UEFI Shell to Linux - UEFI Linux BootLoader Zhang Rui Software Engineer Sep 28 th 2011.
Linux Kernel 101 Sriram Sundararajan. Linux : /lee'nuhks/ or /li'nuks/, not /li:'nuhks/ n. /lee'nuhks/ or /li'nuks/, not /li:'nuhks/ n. The free Unix.
Laface Operating System Design Booting a PC to run a kernel from Low memory VGA display.
Hardware Boot Sequence. Vocabulary BIOS = Basic Input Output System UEFI = Unified Extensible Firmware Interface POST= Power On Self Test BR = Boot Record.
Virtual Memory Review Goal: give illusion of a large memory Allow many processes to share single memory Strategy Break physical memory up into blocks (pages)
Linux Startup Process Presenter: Dipu Gupta.
Basic Input/Output System (BIOS). 5.1Introduction to BIOS Basic Input / Output System (BIOS) boot the computer by providing a basic set of instructions.
Bootstrapping Steve Muckle Dave Eckhardt. Carnegie Mellon University1 Synchronization Project 3 checkpoint 1 Bboard post, web page Paging, COW optional.
1 ENG224 INFORMATION TECHNOLOGY – Part I 1. Introduction to Computers.
Genesis: From Raw Hardware to Processes Andy Wang Operating Systems COP 4610 / CGS 5765.
Linux Kernel Programming (LKP). LKP New sub-course New sub-course We will learn together We will learn together Evaluation of this part of course will.
Copyright © Genetic Computer School 2008 Computer Systems Architecture SA 8- 0 Lesson 8 Secondary Management.
Linux Boot Process on the Raspberry Pi 2 1 David Ferry, Chris Gill CSE 522S - Advanced Operating Systems Washington University in St. Louis St. Louis,
System initialization Unit objectives A.Outline steps necessary to boot a Linux system, configure LILO and GRUB boot loaders, and dual boot Linux with.
Embedded Real-Time Systems Introduction to embedded software development Lecturer Department University.
1 Setup and Compile Linux Kernel Speaker: Yi-Ji Jheng Date:
OS Boot Sequence and File System (implication to “Boot Sector Viruses”) Department of Computer Science Southern Illinois University Edwardsville Spring,
Overview A) Power on or reset B) 1st stage boot loader C) 2nd stage boot loader D) Operate system.
Linux Introduction Linux was developed in the early 1990’s by Linus Torvald computer science student at the University of Helsinki Linux is distributed.
IT Chapter 2 Part A How Computers Work Input, process, output, and storage The operating system helps the computer perform four basic operations,
NT1110 Computer Structure and Logic Unit 8 (Module 5A) COMPUTER OPERATION AND SECURITY.
The GRUB bootloader Michael Opdenacker Thomas Petazzoni Free Electrons
EMBEDDED LINUX #2.
TOPIC 6: SYSTEM START-UP AND CONFIGURATION
Computer System Structures
CONFIGURING HARDWARE DEVICE & START UP PROCESS
Booting Up 15-Nov-18 boot.ppt.
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
Starting the computer. Every day we are using an operating system and most specifically a Windows operating system but most of us are not aware of the.
Device management How does the operating system manage the hardware and peripheral devices? Device Driver: Each device is attached to your computer with.
Genesis: From Raw Hardware to Processes
SUSE Linux Enterprise Desktop Administration
Boot Process Mark Stanovich COP 5641 / CIS 4930.
TPM, UEFI, Trusted Boot, Secure Boot
Introduction to Computing
OS Boot Sequence and File System
OS Boot Sequence and File System
Lecture 10 review Booting sequence in Brief
Presentation transcript:

System initialisation VHDL and C System initialisation

Overview In this lecture we will look at what happens when systems power on, boot up, run an operating system and power down We will look at a standard PC configuration as a reference point We will also look at how embedded boards vary Finally, we will look at the TS-7300 boot sequence

Bring systems up and down Power on BIOS Bootloader Kernel Init /sbin/init RUNNING Shutdown Power off

Points to note On most systems the names of stages (and their function) varies For example on embedded board the BIOS is often called a BSP or Firmware Bootloaders (also called boot managers) may not exist, the operating system may boot straight from BIOS The running system may not be an OS as we know it.

BIOS/BSP/Firmware From power on the system must get itself together from scratch (hence boot loading) The first part of booting will not use all of the systems resources Memory may not be configured Memory management/protection will be off Most devices will be inactive The first thing that the BIOS must do is set up memory and a run time environment.

BIOS initialisation Execute CPU bootstrap code CPU initialisation CPU Flash EEPROM ROM Copy the BIOS to RAM BIOS RAM Execute BIOS Initialise Devices

BIOS checks The BIOS will do a series of check on booting Before it starts fully running the CPU it check over i2c if the power management systems are running It won’t continue if the fan isn’t working for example It will check various devices Memory, Keyboard, mouse, media (HDD, CDROM, etc) Some may cause system failure

BIOS handover If the BIOS checks have been successful then the BIOS will attempt to execute the Bootloader (on some systems it may just go to an OS) The bootloader is normally found on a number of devices Floppy disc Hard disc CDROM Network Card Flash stick

Bootloaders These programs are used to load operating systems They allow Multi boot systems Parameters to be passed to the Operating System on boot Allows creation of initial ram discs (initrds) Recovery of Operating Systems

Bootloaders The Bootloader will be resident in the first sector of the first track of the first drive (either hard driver or floppy). This is called the MBR Master Boot Record The disc must be specially created fdisk /sys or dd on Linux All disc have MBRs but only some are active or have data in them.

Closer Look at the MBR

View of Memory over Time

Bootloaders On PC systems GRUB and, to a lesser extent, LILO are used as boot loaders On embedded boards you may not use a bootloader The Bootloaders task is to allow selection, parameterisation and execution of the OS image on disc.

The Bootloader Load Kernel into Memory Copies kernel image referenced in /etc/lilo.conffrom hard drive using BIOS services GRUB can do this or can read the file system so find a vmlinux Loads kernel image to 0x90000 (using firmware functions): 0x900000 (bootsectsector) 0x900200 (setup sector) 0x1000000 (compressed image) Jumps to label start_of_setup@ 0x90200 Alternative to bootloader–using bootsect.S

Boot time memory Compressed Image BIOS Copy of MBR Init sector Setup 0X9000 0X9020 0X1000 0X7C00 0X10000 A 5 Partition table CODE

Kernel Image Topology Building the kernel Image: User input of make zImage or make bzImage All C and assembly source files are compiled and linked into vmlinux nm vmlinux => System.map arch/i386/boot bootsect.S is assembled into bootsect.s and converted into raw binary form setup.S is assembled into setup.s and converted into raw binary form arch/i386/boot/compressed Remove .note and .comment ELF sections from vmlinux Gzip vmlinux Compile compression routines in head.S and misc.c and link into vmlinux.out arch/boot/tools/build[-b] bootsect setup system [rootdev] [> image] Concatenates bootsect, setup, and compressed/vmlinux.out into zImage

Initialize hardware Move compressed kernel Set up provisional IDT and GDT Change from real to protected mode Jump to head.S startup_32() Jump to 0x0009:0020Get system data from BIOS and generate memory map

Initialize page tables, enable paging Set-up stack (zero out BSS) Call decompress_kernel() Uncompressed kernel Uncompressing Linux…Ok, booting the kernel. Jump to start_kernel()