Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "COMPUTER SYSTEM LABORATORY Lab4 - Bootloader. Lab 4 Experimental Goal Learn how to build U-Boot bootloader for PXA270. 2013/10/8/ 142."— Presentation transcript:

1 COMPUTER SYSTEM LABORATORY Lab4 - Bootloader

2 Lab 4 Experimental Goal Learn how to build U-Boot bootloader for PXA270. 2013/10/8/ 142

3 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

4 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

5 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 0x00000000. In other words, bootloader is usually located at 0x00000000. Typical space allocation 2013/10/8/ 145

6 Lab 4 Memory Layout of PXA270 2013/10/8/ 146 0x00000000 0x00080000 0x00480000 0x01380000 0x02000000 U-Boot Linux kernel Root Filesystem Flash 0xa0000000 0xa1080000 0xa3f80000 0xa4000000 U-Boot (TFTP) RAM U-Boot (Domingo)

7 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 8.04. 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

8 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, http://en.wikipedia.org/wiki/Das_U-Boothttp://en.wikipedia.org/wiki/Das_U-Boot

9 Lab 4 U-Boot Compilation (1/2) Step1: download patched source codes of U-Boot (mt-u-boot-1.1.2.tar.gz).mt-u-boot-1.1.2.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.. 2013/10/8/ 149

10 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-1.1.2 %./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 PXA270. 2013/10/8/ 1410

11 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-1.1.2 % 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

12 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

13 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

14 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. csiedatou@gmail.com, meenchen79@gmail.com csiedatou@gmail.commeenchen79@gmail.com Please use this title format: [CSL] G# Lab# Ver# E.g., [CSL] G13 Lab4 Ver1 2013/10/8/ 1414


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

Similar presentations


Ads by Google