COMPUTER SYSTEM LABORATORY Lab4 - Bootloader. Lab 4 Experimental Goal Learn how to build U-Boot bootloader for PXA270. 2013/10/8/ 142.

Slides:



Advertisements
Similar presentations
Computer System Laboratory
Advertisements

Linux Boot Loaders. ♦ Overview A boot loader is a small program that exists in the system and loads the operating system into the system’s memory at system.
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 Booting Procedure
U-Boot and Linux Kernel Debug using CCSv5
Lab 4 Department of Computer Science and Information Engineering National Taiwan University Lab4 - Bootloader 2014/10/14/ 13 1.
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.
Computer System Laboratory
Software Development and Software Loading in Embedded Systems.
Computer System Laboratory
History 8xxROM by Magnus Damm PPCBoot (1999) – v (2000) U−Boot−0.1.0 (2002) extended functionality, new architectures Das U-Boot.
COMPUTER SYSTEM LABORATORY Lab8 - Debugging II. Lab 8 Experimental Goal Learn how to debug Linux in source-level by Domingo and diagnose target boards.
Introduction to The Linaro Toolchain Embedded Processors Training Multicore Software Applications Literature Number: SPRPXXX 1.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
Lab 3 Department of Computer Science and Information Engineering National Taiwan University Lab3 - Cross Tools 2014/10/7/ 20 1.
hardware and operating systems basics.
Linux Booting Procedure
Computer System Laboratory
COMPUTER SYSTEM LABORATORY Lab10 - Sensor II. Lab 10 Experimental Goal Learn how to write programs on the PTK development board (STM32F207). 2013/11/19/
Computer System Laboratory
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
Lab 11 Department of Computer Science and Information Engineering National Taiwan University Lab11 - Porting 2014/12/9/ 26 1.
Lab 1 Department of Computer Science and Information Engineering National Taiwan University Lab1 - Sensor 2014/9/23/ 13 1.
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.
Conventions Department of Computer Science and Information Engineering National Taiwan University Conventions 2014/9/16/ 3 1.
Lab 10 Department of Computer Science and Information Engineering National Taiwan University Lab10 – Debugging II 2014/12/2 1 /16.
COMPUTER SYSTEM LABORATORY Lab6 - Root Filesystem.
Unit - VI. Linux and Real Time: Real Time Tasks Hard and Soft Real Time Tasks Linux Scheduling Latency Kernel Preemption Challenges in Kernel Preemption.
Implementation of Embedded OS Lab3 Linux Kernel Modules.
Lab 14 Department of Computer Science and Information Engineering National Taiwan University Lab14 – Camera 2014/12/30 1 /14.
RT-LAB Electrical Applications 1 Opal-RT Technologies Use of the “Store Embedded” mode Solution RT-LAB for PC-104.
Implementation of Embedded OS Lab4 Cortex-M3 Programming.
Lab 12 Department of Computer Science and Information Engineering National Taiwan University Lab12 – Driver 2014/12/16 1 /21.
Implementation of Embedded OS Lab3 Porting μC/OS-II.
The Linux Operating System R.Bigelow. What is an Operating System An operating system is a collection of programs that manage a computer's resources.
Lab 5 Department of Computer Science and Information Engineering National Taiwan University Lab5 – Bootloader + OS Kernel 2015/10/27/ 25 1.
Lab 8 Department of Computer Science and Information Engineering National Taiwan University Lab8 - Root Filesystem 2015/11/10/ 22 1.
Lab 9 Department of Computer Science and Information Engineering National Taiwan University Lab9 - Debugging I 2014/11/4/ 28 1.
Implementation of Embedded OS
IOS Boot Procedure Can be set in Global Config –Router(config)#boot system flash If not in NVRAM as to where to get IOS, default is Flash If not in Flash,
Lab 5 Department of Computer Science and Information Engineering National Taiwan University Lab5 - OS Kernel 2014/10/21/ 16 1.
Software Toolchains. Motivation 2 Write Run Edit, compile, link, run, debug same platform Desktop Write Run Edit, compile, link, debug on host; run on.
System initialization Unit objectives A.Outline steps necessary to boot a Linux system, configure LILO and GRUB boot loaders, and dual boot Linux with.
Blackfin buildroot development
Chap. 4 ARM Boot Loader Internals. 2 S3C2500 ARM940T Core module ARM9TDMI CoreIC.
WP1- Documentation Booting Petalinux from TFTP and using Network file system Section for developers Zynq 7020 R. Assiro.
1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Embedded Linux system development.
1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com The U-boot bootloader Michael.
By Ganesan Alagu Ganesh Feb 26, 2008
Computer System Laboratory
Computer System Laboratory
Computer System Laboratory
Implementation of Embedded OS
Computer System Laboratory
Implementation of Embedded OS
Computer System Laboratory
Computer System Laboratory
Introduction to Computers
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
SAPC Hardware Pentium CPU (or 486) 4M usable memory
IS3440 Linux Security Unit 7 Securing the Linux Kernel
SUSE Linux Enterprise Desktop Administration
Computer System Laboratory
Computer System Laboratory
Computer System Laboratory
Computer System Laboratory
Computer System Laboratory
Presentation transcript:

COMPUTER SYSTEM LABORATORY Lab4 - Bootloader

Lab 4 Experimental Goal Learn how to build U-Boot bootloader for PXA /10/8/ 142

Lab 4 Environment Host System Windows XP Build System VirtualBox + Ubuntu 8.04 Target System Creator XScale PXA270 Software DENX U-Boot You can download all software from RSWiki CSL Course SoftwareRSWiki CSL Course Software 2013/10/8/ 143

Lab 4 Bootloader Concept (1/2) A typical flow when booting a computer. Load BIOS and self check. Execute bootloader. Initialize hardware. Load kernel and filesystem. … Bootloader Initialize hardware. Load kernel and filesystem. 2013/10/8/ 144

Lab 4 Bootloader Concept (2/2) When a computer is powered on, CPU will execute the first instruction from a specified address: ROM, EEPROM, Flash memory, etc.. In ARM system, the address usually is 0x In other words, bootloader is usually located at 0x Typical space allocation 2013/10/8/ 145

Lab 4 Memory Layout of PXA /10/8/ 146 0x x x x x U-Boot Linux kernel Root Filesystem Flash 0xa xa xa3f xa U-Boot (TFTP) RAM U-Boot (Domingo)

Lab 4 Bootloader Examples Bootloader highly depends on architecture. Some popular bootloaders: LILO, GRUB, GRUB2 You can see /boot/grub/menu.lst for the settings in Ubuntu Windows Boot Manager You can see the settings in C:\boot.init in Windows XP. U-Boot We will use U-Boot for PXA270 (ARM architecture). 2013/10/8/ 147

Lab 4 Introduction to U-Boot Das U-Boot (Universal Bootloader) is an open source, primary bootloader used in embedded systems. It is available for a number of different computer architectures, including PPC, ARM, MIPS, x86, etc.. The current name Das U-Boot adds a German definite article as a pun to the German word for “submarine”. 2013/10/8/ 148 reference: wikipedia – Das U-Boot,

Lab 4 U-Boot Compilation (1/2) Step1: download patched source codes of U-Boot (mt-u-boot tar.gz).mt-u-boot tar.gz Step2: extract source codes. Step3: please refer to Lab3 to check arm-elf-* toolchain path in PATH. Tips: The include/configs/ directory under U-Boot source directory contains configuration files for supported boards. It defines the CPU type, the peripherals and their configuration, the memory mapping, the U-Boot features that should be compiled in, etc /10/8/ 149

Lab 4 U-Boot Compilation (2/2) Step4: compile U-Boot. U-Boot must be configured before being compiled, i.e. make _config, where is the name of the configuration file in include/configs/, without the.h. E.g. Create_XScale_PXA270 is for our target board. % cd u-boot %./mt-crpxa270_config.sh You can read the script to understand how to compile U-Boot for PXA270. The resulting u-boot.bin is the bootloader we want. Then, you can refer Lab2 to copy the u-boot.bin to PXA /10/8/ 1410

Lab 4 Configure U-Boot If you want to change default configuration for PXA270, you can modify the specified file and recompile U-Boot. % cd u-boot % vim include/configs/Create_XScale_PXA270.h CONFIG_SERVERIP: host system IP. CONFIG_IPADDR: target system IP. CONFIG_BOOTARGS: boot arguments. CONFIG_BOOTCOMMAND: boot command. CONFIG_BOOTDELAY: U-Boot delay (do not set to 0!). CONFIG_LINUX: Linux kernel start command. Tip: The U-Boot environment variable bootargs is used to hold the parameter options passed to the Linux kernel, as the kernel’s command line parameters. 2013/10/8/ 1411

Lab 4 Build Your Own U-Boot (1/2) Step1: please modify the configuration in U-Boot. CONFIG_BOOTCOMMAND = “run linux” CONFIG_LINUX = “bootm 80000” Step2: recompile your U-Boot. Step3: please refer to Lab2 to transfer your u-boot.bin to PXA270. Step4: please refer to Lab2 to copy the u-boot.bin to flash. 2013/10/8/ 1412

Lab 4 Build Your Own U-Boot (2/2) Step5: reset PXA270 and then you will see new configuration. If you have copied Linux ( uImage ) to flash 0x80000 in Lab2, you can boot Linux by new U-Boot. 2013/10/8/ 1413

Lab 4 Lab Requirement & Bonus Show what parameters you have modified for your U-Boot. Bonus: Answer the question of lab4 on RSWiki CSL course website. Write it in your report.RSWiki CSL course website Please send your report to both TAs. Please use this title format: [CSL] G# Lab# Ver# E.g., [CSL] G13 Lab4 Ver1 2013/10/8/ 1414