Department of Computer Science and Engineering, Sri Jayachamarajendra College of Engineering, Mysore, Karnataka

Similar documents
Install ADB on Windows

The following file is used for updating the boot loader: xboot.bin: XSTREAM development platform boot loader image

MalaRom flashing Guide

PL-I Assignment Broup B-Ass 5 BIOS & UEFI

Clockworkmod Won't Boot Into Recovery Droid X2

Galaxy Note Root Guide. by Max Lee

Step 2. Brun Windows Password Recovery Enterprise to

Installed Manually Windows Phone 8 On Android Device Driver Software Was Not Successfully

SD Card with Eclipse/Emulator

Essential PH-1 (mata) Documentation

Android Gingerbread Manually Update To Jelly Bean Features

Android Forensics. Presented By: Mohamed Khaled. Thanks to: Ibrahim Mosaad Mohamed Shawky

Instructions Usb Flash Drive Recovery Mac >>>CLICK HERE<<<

EM210 Burn Linux Image Manual. Catalogue

Root User Guide Android Jelly Bean Operating System

Usb Port On Manually Create Bootable Windows Xp Install Driver

CHAPTER 5 WINDOWS OPERATING SYSTEM

How To Install Custom Firmware On Macbook Pro From Usb

OK, enough of the introductions let s get started

Thanks for purchasing one of the most cutting edge mini computing devices available today,

Android Gingerbread Manually Update To Jelly Bean Features

Unlock bootloader samsung with odin

Xinu on Intel Galileo User Manual

NASCAR Team Racing (Version 2.0) Motion Cabinet Upgrade Instructions

Manual Install Ubuntu Alongside Windows 7 Using Usb

Memory Study Material

Manual Format Flash Drive Mac Os X Lion Bootable Usb

Android System Development Training 4-day session

Computer chip: A very small pieces of silicon or other semi-conducting material onto which integrated circuits are embedded Circuit board: A thin

card slots CPU socket Monitor Computer case houses CPU (Central Processing Unit), CPU central power supply, DVD drive, etc processing unit Keyboard

MF97G Upgrade Guide (Through an SD Card)

Copyright

Android Forensics. Investigation, Analysis, Google Android. and Mobile Security for. Andrew Hoog. John McCash, Technical Editor SYNGRESS

ET5x System Update Using External microsd Card Update Procedure for Android L Upgrade Procedure for Android L to Android M...

IT ESSENTIALS V. 4.1 Module 5 Fundamental Operating Systems

Release Notes Zebra VC80x NN-00-A Release for AOSP. Introduction. Introduction. Description. Zebra Value Adds Feature List

LENOVO THINKSTATION P520C, P520, P720, & P920 WINDOWS 10 INSTALLATION

ROM FLASHING INSTRUCTIONS FOR ONEPLUS 3 / 3T

Please Manually Power Up This Phone Droid X

Install New External Hard Drive Windows 7 Sata

BQ Firmware Flash Tool 3.0. User Manual

How To Force Restore A Computer That Won Boot Up After System

Quick Start Guide SBC21/NSD21/EC 21 SBC21 / EC21 / NSD21. Quick Start Guide. Copyright IC Nexus Corporation. All rights reserved

Windows Method Using Linux Live CD and Gparted

Chapter 2 Operating-System Structures

Release Notes Zebra MC33x NN- 00-A Release for Non-GMS

Manual Install Ubuntu Alongside Windows 7 From Usb

lesson 3 Transforming Data into Information

BIOS. Chapter The McGraw-Hill Companies, Inc. All rights reserved. Mike Meyers CompTIA A+ Guide to Managing and Troubleshooting PCs

DUAL OS INSTALLATION

Booting Linux Fast & Fancy. Embedded Linux Conference Europe Cambridge, Robert Schwebel

Downloaded from various sources on the NET

Release Notes Zebra TC51 and TC56 Android M MG (GMS)

How To Install Apps On Nook Color Using Adb

Verizon Samsung Galaxy S3 Firmware Update Kies Probleme

Flash Drive Won T Mount Windows 7 Won't Recognize

INSTRUCTIONS TO UPDATE FIRMWARE FOR / / Dranetz New Durham Road, Edison, New Jersey Telephone or

PQA500 Picture Quality Analyzer Declassification and Security Instructions

Manual Android 4.0 Htc Sensation Update Problemen

Lesson 2: Installing Windows 8.1. MOAC : Configuring Windows 8.1

Manually Root Droid Razr Maxx Jelly Bean Update Date

Vendor: CompTIA. Exam Code: Exam Name: CompTIA A+ Certification Exam (902) Version: Demo

WN F2 motherboard BIOS update WN MCD 05/V1. Contains files to be copied to MS-DOS 6.22 boot media README.PDF

Manually Installation Windows Updates Xp From Usb Drive Bootable

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Software Version Through Pc

Apache Manually Install Ubuntu From Usb

INSTRUCTIONS TO UPDATE FIRMWARE FOR

Hard Disk Organization. Vocabulary

Release Notes Zebra VC80x Android N Update 003 based on NG-00-A (GMS)

IJRDTM Kailash ISBN No Vol.17 Issue

How To Uninstall A App Windows 8 Programs Using Ubuntu In Dual Boot

Open Lecture Mobile Programming. Command Line Tools

REX-RED Community Android 4.3

Systems software. Definition. Categories of software. Examples Of Systems Software 11/23/2018

Linux as primary Operating System

WARNING USING THIS SOFTWARE IS NOT A TRIVIAL UPGRADE TO EXISTING RAID INSTALLATIONS!

3.3 WinCE System Installation

How to enter recovery mode android using pc

How To Install Windows Update Vista From Usb Flash Drive Step By Step

Data rate - The data rate is the number of bytes per second that the drive can deliver to the CPU.

Cisco 4000 Series Virtual Configuration Register

Informatics 1 Lecture 3: Operating systems

GB-Ware. Quick Guide. Powered by: Tel: Fax Web:

Android Jelly Bean Manual Install Application On Sd Card

New Vision of the Computer Operating System

Volumio 2 Quick Start

IJREAT International Journal of Research in Engineering & Advanced Technology, Volume 1, Issue 5, Oct-Nov, 2013 ISSN:

Manual Android 4.3 Galaxy S3 Verizon Official Update

Manual Format Window Xp Computer Without Cd

Strengthening the Chain of Trust. Kevin Lane HP Jeff Bobzin Insyde Software

Chapter 2. Operating-System Structures

Installing New External Hard Drive Windows 7 Upgrade Blank >>>CLICK HERE<<<

The Early System Start-Up Process. Group Presentation by: Tianyuan Liu, Caiwei He, Krishna Parasuram Srinivasan, Wenbin Xu

Server Boot. Boot Policy. This chapter includes the following sections:

Definition. A series of detailed instructions that control the operation of a computer system. are developed by computer programmers

How To Update Your Facebook For Android >>>CLICK HERE<<<

Make User Manual Pdf Samsung Galaxy S3 Mini Gt I8190

Perl Install Module Windows Xp From Cd Boot

Getting Started with TargetOS on the ZedBoard 1 Introduction

Transcription:

FUTURE DIRECTIONS FOR FIRMWARE FLASHING ON ANDROID DEVICES Yadunandan Laxman Huded* & S. Srinath** Department of Computer Science and Engineering, Sri Jayachamarajendra College of Engineering, Mysore, Karnataka Abstract: This paper explains the process of flashing custom ROM / Firmware of android to any of the android platform present in the market. The paper also involves different commands and tools used to flash the android firmware. In this paper we also explained the step by step approach to be followed to flash the firmware, like identifying the device, initialising the boot loader, stitching the firmware images and flashing the images in appropriate order. Key Words: Flashing, Boot Loader, Firmware, ROM, Fast Boot Mode, ADB Commands& Stitching 1. Introduction: Smart phones, whichh we are using now a days has an internal ROM (Read Only Memory). As name suggests ROM contains the copy of an operating system, which cannot be modified at all during the normal operation of the device. Keeping OS untouched ensures the malfunction free execution of the device. The read-only operating systems that we just discussed above are also called firmware, as they stay firmly in place without modification access to the users of the device. Modification of firmware is still however possible, just not under normal usage. Many devices require specialized hardware to be used for the purpose while other devices have the storage set as read-only through software protection only, which can be removed or overridden without the need for any specialized hardware, just by using software written for the purpose, often but not always requiring connection to a computer. Thus, the terms operating system and firmware both refer to the same thing and can be used interchangeably when applied to such devices. The ROM memory used in smart phones and tablets etc. is often same as flash memory found in SD cards and USB flash drives, simply optimized for better speed and performance while running the operating system. As explained above, it is read-only under normal usage and requires a special procedure for any modifications to be made to its contents. The procedure of modifying or replacing the contents of such flash memory is known as flashing. Thus, in layman s terms, flashing is essentially the same as installing or modifying the firmware of a device that is stored on its protected flash memory. This paper explains the technical aspects and steps required to flash an android device. 2. Technology Involved: This section explains the various technical aspects that are come into act when we need to flash an androidd board. This involves the explanations of system software like boot loader, also explains techniques like adb debugging, flashing, fast boot mode etc. Firmware: Firmware [1] refers to the micro programs present on ROM (Read Only Memory) modules, which contain low-level (e.g., hexadecimal, machine code) software. They enable the device on which they are present to take stock of its capabilities and to render those capabilities functional. The information loaded onto the ROM is nonmost basic volatile meaning that it is not lost when power is switched off. The example 20

of firmware would be the BIOS that come with the motherboard of your PC. The firmware also coordinates the activities of the hardware during normal operation and contains programming constructs used to perform those operations. The use of firmware gives more flexibility compared to the use of pure hardware circuitry. For example, in a typical modem, the firmware will be a factor in establishing the modem s data rate and command set recognition. Some firmware are non-rewriteable while others are upgradeable, meaning that it is possible to upgrade the firmware of the device by connecting it to your PC in a particular configuration and then running the software provided by the manufacturer. This process is called flashing firmware or simply flashing. This becomes necessary when the device becomes incompatible with newer operating systems or to simply enhance the performance of the device. For example, CD and DVD drive manufacturers often release firmware updates available that allow the drives to read faster media. Boot Loader: A boot loader [2] is a system software that loads an operating system (OS) or runtime environment on to the ROM, once all of the self-tests are over. The boot loader configures the device to an initial known state and has a means to select where to start executing the kernel. It can allow you to make this selection, which give you for example the opportunity to start an alternative Linux kernel, or Windows. Because the boot loader is an essential component of the boot process, it is stored in non-volatile memory, such as flash memory.when power is first applied to a processor board, many elements of hardware must be initialized before even the simplest program can run. Each architecture and processor has a set of predefined actions and configurations, which include fetching some initialization code from an on-board storage device (usually Flash memory). This early initialization code is part of the boot loader and is responsible for breathing life into the processor and related hardware components. Most processors have a default address from which the first bytes of code are fetched upon application of power and release of reset. Flash Memory: Most mobile devices are provisioned with an internal flash storage, an external SD card slot, and a limited amount of RAM. In addition, some devices also have a non-removable SD partition inside the phone; such storage is still treated as external. Figure 2 shows the internal raw NAND and external flash storage. The internal flash storage contains all the important system partitions, including partitions for the boot loader and kernel, recovery, system settings, pre-installed system applications, and user-installed application data. The external storage is primarily used for storing user content such as media files (i.e., songs, movies, and photographs), documents, and backup images Android Debug Bridge (ADB): The Android Debug Bridge (ADB) is used to keep track of all Android devices and emulators instances connected to or running on a given host developer machine and to implement various control commands(e.g. "adb shell", "adb pull", etc..) for the benefit of clients (command -line users, or helper programs like DDMS). These commands are what is called a 'service' in ADB. It is a client-server program that includes three components mainly a client, which runs on your development machine. You can invoke a client from a shell by issuing an adb command. Other Android tools such as the ADT plugin and DDMS also create adb clients. A server, which runs as a background process on your development machine. The server manages communication between the client and the adb daemon running on an emulator or device. A daemon, which runs as a background process on each emulator or device instance. 21

Fast Boot Mode: In Android, fast boot is a special diagnostic and engineering protocol that you can boot your Android device into. While in fast boot, you can modify the file system images from a computer over a USB connection. A powerful, nerdy tool deserves to be broken down into terms we all can understand. Fast boot is three different things with the same name: A protocol for communication between your phone hardware and a computer, software that runs on the phone when in fast boot mode and the executable file on the computer you use to make them talk to each other. Not all phones have a fast boot mode that the user can access. It's turned on with Nexus devices by default (as well as a few other phones and tablets) and has been enabled by independent Android developers and enthusiasts on some other phones. It also requires software from the Android SDK, and different USB drivers for Windows computers. Fast boot runs on Windows, Mac, and Linux and all the information about setting it up can be found in the forums if you're interested. Once set up, you boot your phone to fast boot and you can flash image files to your phone's internal memory. Flashing a custom recovery (after unlocking the boot loader) is a popular use case, as is resetting it all back using factory images after we're done breaking things by flashing the factory images. With an unlocked boot loader, the images you flash don't need to be signed with a particular key, so just about anything will try to flash even if it shouldn't be used, so use care. There are other commands you can use with fast boot, and they are a bit more advanced. Things like erasing partitions and overriding kernel command line options can be done, and this makes the tool very useful for developing hardware and software solutions that may need customized booting procedures. With a little bit of knowledge, and the right Android hardware, fast boot can be a great tool. 3. Proposed Work: This section explains how we can flash the firmware to the android platform. In this section, we also explained different steps involved in the process of flashing. One of the best things about the openness of the Android platform is that if you are unhappy with the stock OS, you can install one of many modified versions of Android (called Firm wares) on your device. A new firmware can bring you the latest version of Android before your manufacturer does, or it can replace your manufacturer mode version of Android with a clean, stock version. Or, it can take your existing version and just beef it up with awesome new features. The following flowchart shows the different steps of flashing. To boot any new firmware we need not to root it again from scratch, but by unlocking the boot loader and by custom recovery, we can flash new firm ware. The figure 1 represents the flowchart of the flashing process. The flow chart consists of the different steps involved in the flashing process like identifying the device using adb commands, putting the device in fast boot mode, specifying the USB port and baud rate at which the firmware will be flashed, selecting the suitable firmware, stitching the selected firmware in proper order and lastly flashing the device with the stitched images. Algorithm: The detailed algorithm with all the technical aspects are given below. Step 1: Connect the device which to be flashed with the firmware to the host system and communicate with the device using adb commands. Make sure the device is recognized using the following command 1. Command 1: adb devices Put the device in boot loader mode by using the command 2. 22

Command 2: adb reboot bootloader Flow Chart: Figure 1: Steps involved in flashing The above adb commands can be used to communicate with the connected android device. Step 2: Once the device gets identified fix the baud rate and USB port number. Step 3: Select the proper firmware images and stich them according to their addresses and we need to order them based on their flashing priority. i.e recovery fls, systemfls, boot fls The following figure shows the order in which the.fls files are stitched. recovery.fls system.fls boot.fls Figure 2: Ordering and Stitching the Firm Wares The figure 2 shows the orderr in which the firmware images must be stitched. Step 4: Once the stitching is complete the total stitched file can be flashed completely using the following commands. 23

Flash recovery image first using the command 3. Command 3: fastboot flash recovery recovery.fls Flash system.fls using the following command 4. Command 4: fastboot flash system system.fls Flash the boot fls using the command 5. Command 5: fastboot flash boot boot.fls Step 5: Once the mandatory images are flashed, we can proceed further the flash the updated complete firmware. To do this we need to use the following command. Command 6: adbsideload update.zip Using this.zip we flash the complete firmware. 4. Conclusion: In this paper, we explained how we flash the android custom ROM/Firmware. By using the above-mentioned steps, we can flash the android platform with required firm wares. Irrespective of type of architecture, we can use the same method to flash all the available android platforms. This flexibility makes the present method very user friendly and effective. 5. References: 1. Whitson Gordon, Lifeshacker, Jan 2014, <http://lifehacker.com/how-to-flasha-rom-to-your-android-phone> 2. Intel wiki, <https://www.employeeportal/intelwiki/bootloader> 3. Android debug bridge, <https://androiddevelopers/adb> 4. Hyojun Kim, Nitin Agrawal, Cristian Ungureanu Revisiting Storage for Smartphones,<https://www.usenix.org/legacy/event/fast12/tech/full_papers/ Kim.pdf> 24