Lab 5: Android Development Environment

Size: px
Start display at page:

Download "Lab 5: Android Development Environment"

Transcription

1 Lab 5: Android Development Environment The goal is to download the kernel sources, a cross compiler, some tools for accessing an Android OS, and an emulator. A new kernel for the ARM architecture will be built from the kernel sources and ARM kernel modules will be built and loaded into the running kernel. The kernel under test will be run from an emulator before it is pushed to an android phone. The following directories will be created - a description of their contents is given. It is assumed that all these directories are beneath ~/.android os which is referred to as root. Directory modules adt-bundle-linux goldfish toolchains../.android/avd packages Description where all the modules will be compiled location of the SDK, Eclipse, platform-tools and tools where the kernel sources will reside location of the DooMLorD ARM cross compiler location of android virtual devices repository for downloaded bundles Install and set up an OS Official guide: Storage needed: approximately 30GB Host OS: 64 bits, instructions below assume Ubuntu Linux OS utilities: use apt-get install, one at a time git, gnupg, flex, bison, gperf, build-essential, zip, wget, libc6-dev, libncurses5-dev:i386, x11proto-core-dev, libx11-dev:i386, g++-multilib, libgl1-mesa-glx:i386, libgl1-mesa-dev, libreadline6-dev:i386, mingw32, python-markdown, tofrodos, libxml2-utils, xsltproc, zlib1g-dev:i386 Packages: Android SDK, emulator, Eclipse prompt> wget \ adt-bundle-linux-x zip prompt> unzip adt-bundle-linux-x zip prompt> mv adt-bundle-linux-x adt-bundle-linux Java from Oracle (may require an account) java-archive-downloads-javase html#jdk-6u45-oth-jpr choose...linux-x64.bin prompt> chmod a+x jdk-6u45-linux-x64.bin prompt> sudo./jdk-6u45-linux-x64.bin prompt> sudo mkdir /usr/java (if it s not there) prompt> sudo mv jdk /usr/java prompt> sudo update-alternatives "/usr/local/bin/java" "java" "/usr/java/jdk /bin/java" if /usr/local/bin/java -version does not give build b06: prompt> cd /etc/alternatives prompt> sudo ln -sf /usr/java/jdk /bin/java java Make subdirectory packages and put the above zip and bin files there Utility versions: Python , GNU Make , Git 1.7 or newer Extra: prompt> cd /usr/lib/i386-linux-gnu/mesa prompt> sudo ln -s libgl.so.1 libgl.so

2 Set the PATH variable make the following change to.bash profile: export PATH=".:~/.android os/adt-bundle-linux/sdk/platform-tools: ~/.android os/adt-bundle-linux/sdk/tools:$path" Then prompt> source ~/.bash profile Create a virtual device for the emulator Find a target to tie a virtual device to prompt> android list targets id: 1 or "android-19" Name: Android 4.4 Type: Platform API level: 19 Revision: 1 Skins:... ABIs : armeabi-v7a Make the virtual device, with name avd1 tied to id 1 from above The device information will be created in ~/.android/avd/avd1.avd prompt> android create avd -n avd1 -t 1 Run the emulator on the virtual device prompt> emulator -avd avd1 Check to see what is running prompt> adb devices emulator-5554 offline After a while prompt> adb devices emulator-5554 device Identify the kernel that will be downloaded prompt> adb shell root@generic:/ # cat /proc/version Linux version gd853d22 (nnk@nnk.mtv.corp.google.com) (gcc version 4.6.x-google (prerelease) (GCC) ) #1 PREEMPT Tue Jul 9 17:46:46 PDT 2013 Leave the emulator running and open another shell Download, set up the kernel sources In the new shell, get the sources using the above information prompt> mkdir ~/.android os/goldfish /goldfish prompt> git checkout -b local-goldfish-3.4 -t origin/android-goldfish-3.4 Look at the sources prompt> ls 2

3 Get a configuration file from the running emulator prompt> adb pull /proc/config.gz prompt> gunzip config.gz prompt> mv config.config In.config change #CONFIG MODULES is not set to CONFIG MODULES=y Get cross compilers Two useful ones: prompt> git clone git://github.com/doomlord/android prebuilt toolchains.git \ toolchains prompt> ls toolchains README arm-eabi-linaro-4.6.2/ arm-eabi-4.4.3/ arm-linux-androideabi-4.7/ prompt> ls toolchains/arm-linux-androideabi-4.7/bin arm-linux-androideabi-addr2line* arm-linux-androideabi-gprof*... arm-linux-androideabi-gcc* arm-linux-androideabi-size*... In Ubuntu: prompt> sudo apt-get install binutils-arm-linux-gnueabi cpp-arm-linux-gnueabi \ cpp-4.6-arm-linux-gnueabi gcc-4.6-arm-linux-gnueabi gcc-arm-linux-gnueabi \ gcc-4.6-arm-linux-gnueabi-base This one will be used like this (the other one is used in the next section): prompt> arm-linux-gnueabi-gcc func.c -static -o func Compile the kernel Use DooMLorD: /goldfish prompt> export ARCH=arm prompt> export CROSS COMPILE=~/.android os/toolchains/arm-linux-androideabi-4.7/ \ bin/arm-linux-androideabiprompt> make Note in future compiles some kernel pieces will be compiled as modules as indicated in edits to.config. In that case this should be followed up with: prompt> make modules ; make modules install Check that the compiled image is present prompt> ls arch/arm/boot zimage*... Kill the running emulator and run the emulator on the new kernel root@generic:/ # exit prompt> emulator -kernel ~/.android os/goldfish/arch/arm/boot/zimage -avd avd1 Leave the emulator running 3

4 Make, load, test, and unload a kernel module Open a new shell and create a module prompt> mkdir modules prompt> cd modules Edit tester.c to have the following content: #include <linux/module.h> int init module(void) { printk(kern INFO "tester 1: Module loaded successfully\n"); return 0; } void cleanup module(void) { printk(kern INFO "tester 1: Module unloaded successfully\n"); } MODULE LICENSE("GPL"); Edit Makefile to have the following content: obj-m := tester.o DIR=~/.android os/goldfish PWD=~/.android os/modules CROSS COMPILE=~/.android os/toolchains/arm-linux-androideabi-4.7/bin/ \ arm-linux-androideabi- FLGS=CFLAGS MODULE=-fno-pic all: <tab>make $(FLGS) -C $(DIR) M=$(PWD) ARCH=arm CROSS COMPILE=$(CROSS COMPILE) \ modules clean: <tab>make -C $(DIR) M=$(PWD) clean Compile the module prompt> make Push the module to the running emulator; load and test it prompt> adb push tester.ko /data/ prompt> adb shell root@generic:/ # insmod /data/tester.ko root@generic:/ # dmesg tester 1: module loaded successfully Unload the module root@generic:/ # rmmod tester root@generic:/ # dmesg tester 1: module unloaded successfully 4

5 Try the second cross compiler This one seems to work well with the usual user space libraries like stdio Try it on a simple file (call it hi.c): #include <stdio.h> int main(int argc, char** argv) { printf("hello world"); return 0; } prompt> arm-linux-gnueabi-gcc hi.c -static -o hi prompt> adb push hi /data/ prompt> adb shell root@generic:/ # /data/hi hello world Get busybox utilities to augment the toolbox The pre-packaged toolbox is pitiful. At the cost of about 1MB you can have a much better toolbox to work with. Get it like this: prompt> wget tar.bz2 Compile: prompt> bzip2 -d busybox tar.bz2 prompt> tar xf busybox tar prompt> cd busybox prompt> ARCH=arm prompt> CROSS COMPILE=arm-linux-gnueabiprompt> make menuconfig de-select Networking Utilities -> Support RPC services save and exit menuconfig prompt> make Push and run: prompt> adb push busybox /data/ prompt> adb shell root@generic:/ # /data/busybox (lists all commands) root@generic:/ # /data/busybox ls One way to make the commands easier to use: root@generic:/ # /data/busybox vi /data/aliases Edit the file to look like this: alias ls= /data/busybox ls alias df= /data/busybox df alias ifconfig= /data/busybox ifconfig alias chown= /data/busybox chown... Save using <esc>: then wq Source the file and run commands: root@generic:/ # source /data/aliases root@generic:/ # ifconfig 5

6 Build an Android project in Eclipse Launch Eclipse prompt> ~/.android os/adt-bundle-linux/eclipse/eclipse Set up a (default hello world) project New -> Project -> Android Application Project Move the mouse over the Application Name field for important information Enter an application name, say First Note the warning about com, move the mouse over Package Name for important info Change com.example.first to silly.app.first Click on Next, click three more times on Next Click on Finish Explore the result Look at First -> src -> silly.app.first -> MainActivity.java Look at First -> src -> res -> layout -> activity main.xml Export the signed app as a.apk file (see key making instructions on the next page) Right click on First in the navigation side panel Choose Export Select Android -> Export Android Application Click on Next Enter First for project name Click on Next Select Use existing keystore, enter the location (e.g. /home/franco/.keystore) Enter the password for the keystore, click on Next Enter the password for the key to use, click on Next Fill in the destination.apk file (e.g. /home/franco/first.apk), click on Finish Install the app prompt> adb install ~/First.apk Find the app and run it 6

7 Make a key and certificate Make a key prompt> keytool -genkeypair -keystore ~/.keystore -keyalg "RSA" \ -keysize alias franco Enter keystore password: <password> Re-enter new password: <password> What is your first and last name? [Unknown]: John F What is the name of your organizational unit? [Unknown]: EECS What is the name of your organization? [Unknown]: U. Cinci What is the name of your City or Locality? [Unknown]: Cinci What is the name of your State or Province? [Unknown]: Ohio What is the two-letter country code for this unit? [Unknown]: US Is CN=John F, OU=EECS, O=U. Cinci, L=Cinci, ST=Ohio, C=US correct? [no]: yes Enter key password for <franco> (RETURN if same as keystore password): <return> Make a certificate prompt> keytool -selfcert -keystore ~/.keystore -alias franco Enter keystore password: <password> See what you did prompt> keytool -list -keystore ~/.keystore Enter keystore password: <password> Keystore type: JKS Keystore provider: SUN Your keystore contains 1 entry franco, Mar 23, 2014, PrivateKeyEntry, Certificate fingerprint (SHA1): 4D:A6:71:ED:A9:C1:AA:D1:73:52:AA:7A:4C:... Export the certificate prompt> keytool -exportcert -keystore ~/.keystore -alias franco -file franco.cer Enter keystore password: <password> Certificate stored in file <franco.cer> Print the certificate prompt> keytool -printcert -file franco.cer 7

8 Get and use the apktool and aapt tools Download and install the package (decompiler and apk manager) prompt> wget prompt> tar -jxf apktool1.5.2.tar.bz2 prompt> wget \ apktool-install-linux-r05-ibot.tar.bz2 prompt> tar -jxf apktool-install-linux-r05-ibot.tar.bz2 prompt> mv apktool-install-linux-r05-ibot apktool prompt> mv apktool1.5.2/* apktool/ prompt> rmdir apktool1.5.2 Edit the PATH value in ~/.bash profile and source it export PATH="~/.android os/apktool:$path" prompt> source ~/.bash profile Get a large apk file from a running emulator prompt> mkdir apk prompt> cd apk prompt> adb pull /system/app/browser.apk Decompile the file prompt> apktool decode Browser.apk Look at some files prompt> cd Browser prompt> ls prompt> more AndroidManifest.xml prompt> ls res prompt> ls smali/com/google/common/base Use aapt to examime the apk file prompt> cd.. prompt> aapt l Browser.apk prompt> aapt d badging Browser.apk prompt> aapt d permissions Browser.apk prompt> aapt d xmltree Browser.apk AndroidManifest.xml 8

9 Get and use dex2jar and jd-gui tools Download and try dex2jar (decompiles apk or dex to a jar file) prompt> cd /.android os prompt> wget prompt> unzip dex2jar zip prompt> cd dex2jar prompt> d2j-dex2jar.sh ~/First.apk dex2jar /home/franco/first.apk -> First-dex2jar.jar prompt> jar tf First-dex2jar.jar Download and try jd-gui on First-dex2jar.jar (view class files as java source) prompt> mkdir jd-gui prompt> cd jd-gui prompt> prompt> tar xf jd-gui linux.i686.tar.gz prompt> jd-gui ~/.android os/dex2jar /first-dex2jar.jar Under silly.app.first click on MainActivity - the result is shown below 9

10 Extra stuff Uninstall the app prompt> adb uninstall silly.app.first Success Modify and re-install the app If eclipse is not open do this: prompt> ~/.android os/adt-bundle-linux/eclipse/eclipse Look at activity main.xml Drag a Button to the window Click on the button, edit Text in the Outline column on the right to Press Me Drag a TextView (Large) to the window Click on the Large Text, edit Text on the right to OK with me Right click on Hello World! and choose Delete Save Export as before to First.apk Install as before with adb Click on the app to get the picture on the left Click on the button to get the picture on the right 10

Ingenic. Newton Android Development Guide

Ingenic. Newton Android Development Guide Ingenic Date: Apr. 2014 Ingenic Copyright Ingenic Semiconductor Co. Ltd 2014. All rights reserved. Release history Date Revis ion Apr. 2014 1.0 First release Change Disclaimer This documentation is provided

More information

Mars ZX3 Android manual. Antmicro

Mars ZX3 Android manual. Antmicro Mars ZX3 Android manual Antmicro Sep 27, 2017 Contents 1 Introduction 1 1.1 Acknowledgements..................................... 1 1.2 Version information..................................... 1 2 Compiling

More information

Project 1 Setup. Some relevant details are the output of: 1. uname -a 2. cat /etc/*release 3. whereis java 4. java -version 5.

Project 1 Setup. Some relevant details are the output of: 1. uname -a 2. cat /etc/*release 3. whereis java 4. java -version 5. Project 1 Setup The purpose of this document is to help you to prepare your development machine for the project by: 1. Installing any missing tools 2. Setting up required environment variables and paths

More information

WES 237A Project Part 1 Guide

WES 237A Project Part 1 Guide WES 237A Project Part 1 Guide A. Environment Setup Guide Goals The purpose of this document is to prepare your development machine for the project by: 1. Installing any missing, required tools 2. Setting

More information

User Guide Yocto Linux. Board Support Package For Intel Quark

User Guide Yocto Linux. Board Support Package For Intel Quark User Guide Yocto Linux Board Support Package For Intel Quark 1 Table of Contents Table of Contents... 2 1. Getting Started... 3 1.1 Prerequisites... 4 1.1.1 To install required packages... 4 1.1.2 To install

More information

P6: Trial Build of a ROM Nikhil George. 1. Introduction. Overview of the build task. Cite the build/ wiki articles you read.

P6: Trial Build of a ROM Nikhil George. 1. Introduction. Overview of the build task. Cite the build/ wiki articles you read. P6: Trial Build of a ROM Nikhil George 1. Introduction. Overview of the build task. Cite the build/ wiki articles you read. Installation of required packages sudo apt-get install git gnupg flex bison gperf

More information

DEVELOPMENT GUIDE VAB-630. Linux BSP v

DEVELOPMENT GUIDE VAB-630. Linux BSP v DEVELOPMENT GUIDE VAB-630 Linux BSP v1.0.1 100-09182017-114400 Copyright Copyright 2017 VIA Technologies Incorporated. All rights reserved. No part of this document may be reproduced, transmitted, transcribed,

More information

DEVELOPMENT GUIDE VAB-820. Android BSP v

DEVELOPMENT GUIDE VAB-820. Android BSP v DEVELOPMENT GUIDE VAB-820 Android BSP v5.0.6 1.01-08112017-095100 Copyright Copyright 2017 VIA Technologies Incorporated. All rights reserved. No part of this document may be reproduced, transmitted, transcribed,

More information

DEVELOPMENT GUIDE VAB-630. Android BSP v

DEVELOPMENT GUIDE VAB-630. Android BSP v DEVELOPMENT GUIDE VAB-630 Android BSP v1.0.3 1.00-08112017-153900 Copyright Copyright 2017 VIA Technologies Incorporated. All rights reserved. No part of this document may be reproduced, transmitted, transcribed,

More information

Android ROM Porting: A Review

Android ROM Porting: A Review MIT International Journal of Computer Science and Information Technology, Vol. 5, No. 2, August 2015, pp. 71-75 71 Android ROM Porting: A Review Shubham Raj Singh er.shubhamrajs@gmail.com Rameez Arshad

More information

DEVELOPMENT GUIDE AMOS-825. Android BSP v

DEVELOPMENT GUIDE AMOS-825. Android BSP v DEVELOPMENT GUIDE AMOS-825 Android BSP v5.0.3 1.00-05172018-120700 Copyright Copyright 2018 VIA Technologies Incorporated. All rights reserved. No part of this document may be reproduced, transmitted,

More information

DEVELOPMENT GUIDE VIA VAB-820. Android BSP v

DEVELOPMENT GUIDE VIA VAB-820. Android BSP v DEVELOPMENT GUIDE VIA VAB-820 Android BSP v5.0.9 1.00-12202018-135700 Copyright Copyright 2018 VIA Technologies Incorporated. All rights reserved. No part of this document may be reproduced, transmitted,

More information

REX-RED Community Android 4.3

REX-RED Community Android 4.3 REX-RED Community Android 4.3 Build Guide REXNOS CO.,Ltd Document Information Version 1.1 File Name REX5260 Android 4.3 Build Guide.doc Date May 20, 2014 Status Working Revision History Date Version Update

More information

MAGPIE Installation Guide (version 1.0)

MAGPIE Installation Guide (version 1.0) MAGPIE Installation Guide (version 1.0) June 2017 Authors: Sophiane Senni, Pierre-Yves Péneau, Abdoulaye Gamatié 1 Contents 1 About this guide 3 2 Framework installation 4 2.1 Dependencies...................................

More information

QUICK START GUIDE VAB-600. Android BSP v

QUICK START GUIDE VAB-600. Android BSP v QUICK START GUIDE VAB-600 Android BSP v1.2.2 1.00-09072016-160200 Copyright Copyright 2016 VIA Technologies Incorporated. All rights reserved. No part of this document may be reproduced, transmitted, transcribed,

More information

Setting up cross compiling environment & Qt/X11 for the DXSERIES with the ELDK cross compiler

Setting up cross compiling environment & Qt/X11 for the DXSERIES with the ELDK cross compiler Setting up cross compiling environment & Qt/X11 for the DXSERIES with the ELDK cross compiler Table of Contents 1 About this document... 2 2 Revision History... 2 3 Conventions... 2 4 Setting up ELDK...

More information

Kernel hacking su Android. Better Embedded Andrea Righi

Kernel hacking su Android. Better Embedded Andrea Righi Kernel hacking su Android Agenda Overview Android Programming Android Power Management Q/A Overview What is Android OS? Linux kernel Android patches Bionic libc Dalvik VM (Java Virtual Machine) Application

More information

Zephyr Kernel Installation & Setup Manual

Zephyr Kernel Installation & Setup Manual Zephyr Kernel Installation & Setup Manual Zephyr kernel is a small footprint Single address space OS, i.e, it combines application specific code with a custom kernel to create a monolithic image that gets

More information

Linux Essentials Objectives Topics:

Linux Essentials Objectives Topics: Linux Essentials Linux Essentials is a professional development certificate program that covers basic knowledge for those working and studying Open Source and various distributions of Linux. Exam Objectives

More information

ALTA DS 2 ARTiGO A900 VAB-1000

ALTA DS 2 ARTiGO A900 VAB-1000 DEVELOPMENT GUIDE ALTA DS 2 ARTiGO A900 VAB-1000 Android BSP 3.0 1.02-07032015-153500 Copyright Copyright 2015 VIA Technologies Incorporated. All rights reserved. No part of this document may be reproduced,

More information

Introduction to Supercomputing

Introduction to Supercomputing Introduction to Supercomputing TMA4280 Introduction to UNIX environment and tools 0.1 Getting started with the environment and the bash shell interpreter Desktop computers are usually operated from a graphical

More information

Tutorial on Basic Android Setup

Tutorial on Basic Android Setup Tutorial on Basic Android Setup EE368/CS232 Digital Image Processing, Spring 2015 Linux Version Introduction In this tutorial, we will learn how to set up the Android software development environment and

More information

OWASP German Chapter Stammtisch Initiative/Ruhrpott. Android App Pentest Workshop 101

OWASP German Chapter Stammtisch Initiative/Ruhrpott. Android App Pentest Workshop 101 OWASP German Chapter Stammtisch Initiative/Ruhrpott Android App Pentest Workshop 101 About What we will try to cover in the first session: Setup of a Mobile Application Pentest Environment Basics of Mobile

More information

Android SDK under Linux

Android SDK under Linux Android SDK under Linux Jean-Francois Messier Android Outaouais jf@messier.ca Abstract This is a tutorial about installing the various components required to have an actual Android development station

More information

Android Studio Setup Procedure

Android Studio Setup Procedure Android Studio Setup Procedure System Requirements : Windows OS Linux OS Mac OS Microsoft Windows 7/8/10 (32- or 64-bit) 3 GB RAM minimum, 8 GB RAM recommended; plus 1 GB for the Android Emulator 2 GB

More information

Installing and configuring an Android device emulator. EntwicklerCamp 2012

Installing and configuring an Android device emulator. EntwicklerCamp 2012 Installing and configuring an Android device emulator EntwicklerCamp 2012 Page 1 of 29 Table of Contents Lab objectives...3 Time estimate...3 Prerequisites...3 Getting started...3 Setting up the device

More information

Itron Riva Kernel Module Building

Itron Riva Kernel Module Building Itron Riva Kernel Module Building Table of Contents Introduction... 2 Creating the Project Directory... 2 Creating the Makefile... 3 Creating main.c... 5 Building The Kernel Module... 6 1 Introduction

More information

Embedded Android. Hands-On Exercises for

Embedded Android. Hands-On Exercises for Hands-On Exercises for Embedded Android v. WARNING: The order of the exercises does not always follow the same order of the explanations in the slides. When carrying out the exercises, carefully follow

More information

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University Introduction to Linux Woo-Yeong Jeong (wooyeong@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating system of a computer What is an

More information

Embedded Linux. A Tour inside ARM's Kernel

Embedded Linux. A Tour inside ARM's Kernel Embedded Linux A Tour inside ARM's Kernel Contents 1. Shell basics 2. Introduction to Embedded Linux 3. Kernel Programming for Module / Driver Installation 4. Module / Device Driver in RPi 5. Cross Compiling

More information

Thursday, October 25, 12. How we tear into that little green man

Thursday, October 25, 12. How we tear into that little green man How we tear into that little green man Who are you?! Mathew Rowley (@wuntee) Senior security consultant at Matasano Agenda Techniques MITM - SSL Static analysis -> Skype secret menu Modifying an app ->

More information

Lab 6: OS Security for the Internet of Things

Lab 6: OS Security for the Internet of Things Department of Computer Science: Cyber Security Practice Lab 6: OS Security for the Internet of Things Introduction The Internet of Things (IoT) is an emerging technology that will affect our daily life.

More information

Exercise 1: Basic Tools

Exercise 1: Basic Tools Exercise 1: Basic Tools This exercise is created so everybody can learn the basic tools we will use during this course. It is really more like a tutorial than an exercise and, you are not required to submit

More information

Building graphic-rich and better performing native applications. Pro. Android C++ with the NDK. Onur Cinar

Building graphic-rich and better performing native applications. Pro. Android C++ with the NDK. Onur Cinar Building graphic-rich and better performing native applications Pro Android C++ with the NDK Onur Cinar For your convenience Apress has placed some of the front matter material after the index. Please

More information

CS 261 Recitation 1 Compiling C on UNIX

CS 261 Recitation 1 Compiling C on UNIX Oregon State University School of Electrical Engineering and Computer Science CS 261 Recitation 1 Compiling C on UNIX Winter 2017 Outline Secure Shell Basic UNIX commands Editing text The GNU Compiler

More information

Itron Riva Dev Software Development Getting Started Guide

Itron Riva Dev Software Development Getting Started Guide Itron Riva Dev Software Development Getting Started Guide Table of Contents Introduction... 2 Busybox Command-line [Edge and Mini]... 2 BASH Scripts [Edge and Mini]... 3 C Programs [Edge and Mini]... 5

More information

Android Sdk Install Documentation Eclipse. Ubuntu >>>CLICK HERE<<<

Android Sdk Install Documentation Eclipse. Ubuntu >>>CLICK HERE<<< Android Sdk Install Documentation Eclipse Ubuntu 12.04 These are instructions to install the Android SDK onto Ubuntu. If you are only I'm skipping the Eclipse install, sorry if you wanted. Just trying

More information

Multicore Programming Handout 1: Installing GCC Cilk Plus

Multicore Programming Handout 1: Installing GCC Cilk Plus Multicore Programming Handout 1: Installing GCC Cilk Plus Leo Ferres Department of Computer Science Universidad de Concepción Email: lferres@inf.udec.cl February 19, 2013 1 Introduction For our lab work,

More information

EECS Software Tools. Lab 2 Tutorial: Introduction to UNIX/Linux. Tilemachos Pechlivanoglou

EECS Software Tools. Lab 2 Tutorial: Introduction to UNIX/Linux. Tilemachos Pechlivanoglou EECS 2031 - Software Tools Lab 2 Tutorial: Introduction to UNIX/Linux Tilemachos Pechlivanoglou (tipech@eecs.yorku.ca) Sep 22 & 25, 2017 Material marked with will be in your exams Sep 22 & 25, 2017 Introduction

More information

SSE3052: Embedded Systems Practice

SSE3052: Embedded Systems Practice SSE3052: Embedded Systems Practice Minwoo Ahn minwoo.ahn@csl.skku.edu Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE3052: Embedded Systems Practice, Spring 2018, Jinkyu Jeong

More information

Embedded Systems Programming

Embedded Systems Programming Embedded Systems Programming OS Linux - Toolchain Iwona Kochańska Gdansk University of Technology Embedded software Toolchain compiler and tools for hardwaredependent software developement Bootloader initializes

More information

How to set up FMOD*, Cocos2D-x*, and OpenAL* Libraries for Android* on Intel Architecture

How to set up FMOD*, Cocos2D-x*, and OpenAL* Libraries for Android* on Intel Architecture How to set up FMOD*, Cocos2D-x*, and OpenAL* Libraries for Android* on Intel Architecture Previously, we ve gone through instructions on how to compile a FFmpeg library on x86 architecture. This step-by-step

More information

Lab 6: OS Security for the Internet of Things

Lab 6: OS Security for the Internet of Things Department of Computer Science: Cyber Security Practice Lab 6: OS Security for the Internet of Things Introduction The Internet of Things (IoT) is an emerging technology that will affect our daily life.

More information

Quick Start Guide for BeagleBone. Table of Contents. by Brian Fraser Last update: Sept 24, 2017

Quick Start Guide for BeagleBone. Table of Contents. by Brian Fraser Last update: Sept 24, 2017 Quick Start Guide for BeagleBone by Brian Fraser Last update: Sept 24, 2017 This document guides the user through: 1. Installing Ubuntu in a virtual machine. 2. Connecting to the target using serial port

More information

MV 4412 Android 4.0 Compilation

MV 4412 Android 4.0 Compilation MV 4412 Android 4.0 Compilation Microvision Co., Ltd. Document Information Version 1.0 File Name MV4412 Android Compilation.doc Date 2012. 7. 12 Satus Working Revision History Date Version Update Descriptions

More information

EE516: Embedded Software Project 1. Setting Up Environment for Projects

EE516: Embedded Software Project 1. Setting Up Environment for Projects EE516: Embedded Software Project 1. Setting Up Environment for Projects By Dong Jae Shin 2015. 09. 01. Contents Introduction to Projects of EE516 Tasks Setting Up Environment Virtual Machine Environment

More information

Development Environment Embedded Linux Primer Ch 1&2

Development Environment Embedded Linux Primer Ch 1&2 Development Environment Embedded Linux Primer Ch 1&2 Topics 1) Systems: Host and Target 2) Host setup 3) Host-Target communication CMPT 433 Slides #3 Dr. B. Fraser 18-05-05 2 18-05-05 1 Host & Target Host

More information

Intro to Linux & Command Line

Intro to Linux & Command Line Intro to Linux & Command Line Based on slides from CSE 391 Edited by Andrew Hu slides created by Marty Stepp, modified by Jessica Miller & Ruth Anderson http://www.cs.washington.edu/391/ 1 Lecture summary

More information

Pengwyn Documentation

Pengwyn Documentation Pengwyn Documentation Release 1.0 Silica October 03, 2016 Contents 1 Introduction 3 1.1 Platforms................................................. 3 1.2 Hardware requirements.........................................

More information

Idea6410 Ubuntu User Manual V 0.19

Idea6410 Ubuntu User Manual V 0.19 V 0.19 Version: Ubuntu-9.04_v0.19 Linux PC environment: Ubuntu-9.04 1 1. Install Cross-compile 1.1 Open Linux-ubuntu_v0.19\cross_compile\ folder, and copy Arm-none-lunux-gnueabi-arm-2008q3-72-for-linux.tar.bz2

More information

Tizen TCT User Guide

Tizen TCT User Guide Tizen 2.3.1 TCT User Guide Table of Contents 1. Environment setup... 3 1.1. Symbols and abbreviations... 3 1.2. Hardware Requirements... 3 1.3. Software Requirements... 3 2. Getting TCT-source and TCT-manager...

More information

IOL INTACT Installation Guide

IOL INTACT Installation Guide IOL INTACT Installation Guide February 25, 2014 Contents 1 System Requirements 1 2 Installing IOL INTACT 3 3 Post-Installation 4 3.1 Wireshark............................. 4 3.2 Opening pcap Files........................

More information

Yocto Project components

Yocto Project components Lecture 3 3 Yocto Project components 25 octombrie 2016 Exam questions 1. Please write al least four of the described components of a GNU toolchain 2. List the components which define a Linux distribution

More information

How to Set up Eclipse and Android SDK Manager Environment You need to download the following

How to Set up Eclipse and Android SDK Manager Environment You need to download the following How to Set up Eclipse and Android SDK Manager Environment You need to download the following 1. Android Software development Kit (SDK) 2. Eclipse Package 3. Java JDK (if it is not installed on your Windows)

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Dong-Yun Lee (dylee@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

Installing Eclipse (C++/Java)

Installing Eclipse (C++/Java) Installing Eclipse (C++/Java) The 2017 suite of text-based languages, Java and C++, utilize the current version of Eclipse as a development environment. The FRC specific tools for the chosen language are

More information

Lab 6: Google Maps Android API v2 Android Studio 10/14/2016

Lab 6: Google Maps Android API v2 Android Studio 10/14/2016 Lab 6: Google Maps Android API v2 Android Studio 10/14/2016 One of the defining features of mobile phones is their portability. It's not surprising that some of the most enticing APIs are those that enable

More information

MV V310 Android 4.0 Compilation

MV V310 Android 4.0 Compilation MV V310 Android 4.0 Compilation Microvision Co., Ltd. Document Information Version 1.0 File Name MVV310 Android Compilation.doc Date 2012. 4. 17 Satus Working Revision History Date Version Update Descriptions

More information

manifold Documentation

manifold Documentation manifold Documentation Release 0.0.1 Open Source Robotics Foundation Mar 04, 2017 Contents 1 What is Manifold? 3 2 Installation 5 2.1 Ubuntu Linux............................................... 5 2.2

More information

Android. Separated Kernel build might break the Android build process. Toolchain

Android. Separated Kernel build might break the Android build process. Toolchain 2018/01/19 06:43 1/15 Android Android How to download and compile the Android kernel for ODROID-XU3/XU4. You need use gcc version 4.6 to build the Exynos-5422 Android Kernel. If you have not built Android

More information

Cubieboard4 Linux Sdk Guide TF BOOT & TF WRITE EMMC. Website: Support:

Cubieboard4 Linux Sdk Guide TF BOOT & TF WRITE EMMC. Website:  Support: Cubieboard4 Linux Sdk Guide TF BOOT & TF WRITE EMMC Website:http://cubieboard.org/ Support: support@cubietech.com Version Author Modification Check V-0.1-20141226 A.K Init version V-1.0-20150113 A.K Release

More information

Module 52 (Smartphone Pentest Framework)

Module 52 (Smartphone Pentest Framework) (Smartphone Pentest Framework) At the end of this Module, students should understand the purpose of the Smartphone Pentest Framework (SPF). They should understand legal/ethical issues distinguishing smartphone

More information

CSE 237A. Prof. Tajana Simunic Rosing HW #1. Due: January 20th, 2011

CSE 237A. Prof. Tajana Simunic Rosing HW #1. Due: January 20th, 2011 CSE 237A Prof. Tajana Simunic Rosing HW #1 Due: January 20th, 2011 All problems should be completed individually except for problem 8, which may be completed with one other student. The student you complete

More information

Embedded Android. Hands-On Exercises for. v

Embedded Android. Hands-On Exercises for. v Hands-On Exercises for Embedded Android v. 2013.04 WARNING: The order of the exercises does not always follow the same order of the explanations in the slides. When carrying out the exercises, carefully

More information

E. Annex. Rules and conventions used for the project. v The µkos package

E. Annex. Rules and conventions used for the project. v The µkos package v 13.28 E.1. Rules and conventions used for the project E. Annex In order to have and to maintain a coherency along all the µkos project, the following rules for writing software have been used. NULL =

More information

University of Colorado at Colorado Springs CS4500/ Fall 2018 Operating Systems Project 1 - System Calls and Processes

University of Colorado at Colorado Springs CS4500/ Fall 2018 Operating Systems Project 1 - System Calls and Processes University of Colorado at Colorado Springs CS4500/5500 - Fall 2018 Operating Systems Project 1 - System Calls and Processes Instructor: Yanyan Zhuang Total Points: 100 Out: 8/29/2018 Due: 11:59 pm, Friday,

More information

Cross-compilation with Buildroot

Cross-compilation with Buildroot Instituto Superior de Engenharia do Porto Mestrado em Engenharia Eletrotécnica e de Computadores Arquitetura de Computadores Cross-compilation with Buildroot Introduction Buildroot is a tool that can be

More information

Formatting 1. Commands starting with $ are Linux console commands on the host PC:

Formatting 1. Commands starting with $ are Linux console commands on the host PC: Custom Kernel Guide by Arrvindh Shriraman Last update: April 1, 2016 This document guides the user through: 1. Downloading and compiling the Linux kernel's source code. 2. Running a custom kernel inside

More information

12.1 Introduction OpenCV4Android SDK Getting the SDK

12.1 Introduction OpenCV4Android SDK Getting the SDK Chapter 12 OpenCV For Android 12.1 Introduction OpenCV (Open Source Computer Vision Library) is a popular open source software library designed for computer vision application and machine learning. Its

More information

Building a ROM for Android on Ubuntu in Virtualbox

Building a ROM for Android on Ubuntu in Virtualbox Building a ROM for Android on Ubuntu 14.04 in Virtualbox 1. Introduction a) Read AOSP Tour from "Embedded Android" Book b) Created Ubuntu 14.04 Virtual Machine with 2 CPUs, 5GB RAM and 200GB dynamic allocation

More information

Programming Concepts and Skills. Creating an Android Project

Programming Concepts and Skills. Creating an Android Project Programming Concepts and Skills Creating an Android Project Getting Started An Android project contains all the files that comprise the source code for your Android app. The Android SDK tools make it easy

More information

1. Install a Virtual Machine Download Ubuntu Create a New Virtual Machine Seamless Operation between Windows an Linux...

1. Install a Virtual Machine Download Ubuntu Create a New Virtual Machine Seamless Operation between Windows an Linux... Introduction APPLICATION NOTE The purpose of this document is to explain how to create a Virtual Machine on a Windows PC such that a Linux environment can be created in order to build a Linux kernel and

More information

Introduction to the UNIX command line

Introduction to the UNIX command line Introduction to the UNIX command line Steven Abreu Introduction to Computer Science (ICS) Tutorial Jacobs University s.abreu@jacobs-university.de September 19, 2017 Overview What is UNIX? UNIX Shell Commands

More information

MariaDB ColumnStore C++ API Building Documentation

MariaDB ColumnStore C++ API Building Documentation MariaDB ColumnStore C++ API Building Documentation Release 1.1.3-acf32cc MariaDB Corporation Feb 22, 2018 CONTENTS 1 Licensing 1 1.1 Documentation Content......................................... 1 1.2

More information

CMPT 300. Operating Systems. Brief Intro to UNIX and C

CMPT 300. Operating Systems. Brief Intro to UNIX and C CMPT 300 Operating Systems Brief Intro to UNIX and C Outline Welcome Review Questions UNIX basics and Vi editor Using SSH to remote access Lab2(4214) Compiling a C Program Makefile Basic C/C++ programming

More information

Relarium (RLM) Masternode Guide for VPS

Relarium (RLM) Masternode Guide for VPS Relarium (RLM) Masternode Guide for VPS Table of Contents Requirements 2 VPS Set-up 2 Create a MasterNode Address (ALIAS) & send collateral 4 MasterNode private key & Index ID 5 Edit Configuration files

More information

Getting Started with Android Development Zebra Android Link-OS SDK Android Studio

Getting Started with Android Development Zebra Android Link-OS SDK Android Studio Getting Started with Android Development Zebra Android Link-OS SDK Android Studio Overview This Application Note describes the end-to-end process of designing, packaging, deploying and running an Android

More information

TIBCO FTL Message Switch Installation

TIBCO FTL Message Switch Installation TIBCO FTL Message Switch Installation Software Release 5.0.0 June 2016 Two-Second Advantage 2 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED

More information

Lab 3. Accessing GSM Functions on an Android Smartphone

Lab 3. Accessing GSM Functions on an Android Smartphone Lab 3 Accessing GSM Functions on an Android Smartphone 1 Lab Overview 1.1 Goals The objective of this practical exercise is to create an application for a smartphone with the Android mobile operating system,

More information

TrinityCore Documentation

TrinityCore Documentation TrinityCore Documentation Release TrinityCore Developers February 21, 2016 Contents 1 Compiling TrinityCore 3 1.1 Requirements............................................... 3 1.2 Build Environment............................................

More information

Dixicoin (DXC) Masternode Guide for VPS

Dixicoin (DXC) Masternode Guide for VPS Dixicoin (DXC) Masternode Guide for VPS Table of Contents Requirements 2 VPS Set-up 2 Create a MasterNode Address (ALIAS) & send collateral 4 MasterNode private key & Index ID 5 Edit Configuration files

More information

A113X1 Development Kit

A113X1 Development Kit A113X1 Development Kit User Guide Revision: 4.0 Release Date: 2018-02-06 Amlogic, Ltd. COPYRIGHT 2017 Amlogic, Ltd. All rights reserved. No part of this document may be reproduced. Transmitted, transcribed,

More information

How to cross compile with LLVM based tools. Peter Smith, Linaro

How to cross compile with LLVM based tools. Peter Smith, Linaro How to cross compile with LLVM based tools Peter Smith, Linaro Introduction and assumptions What we are covering Today About me What is cross compilation? How does cross compilation work with Clang and

More information

Installation Instructions

Installation Instructions Installation Instructions Reading App Builder: Installation Instructions 2017, SIL International Last updated: 1 December 2017 You are free to print this manual for personal use and for training workshops.

More information

DEVELOPMENT GUIDE AMOS-820. Linux BSP v

DEVELOPMENT GUIDE AMOS-820. Linux BSP v DEVELOPMENT GUIDE AMOS-820 Linux BSP v4.1.1 1.00-05242017-134700 Copyright Copyright 2017 VIA Technologies Incorporated. All rights reserved. No part of this document may be reproduced, transmitted, transcribed,

More information

Introduction to Unix and Linux. Workshop 1: Directories and Files

Introduction to Unix and Linux. Workshop 1: Directories and Files Introduction to Unix and Linux Workshop 1: Directories and Files Genomics Core Lab TEXAS A&M UNIVERSITY CORPUS CHRISTI Anvesh Paidipala, Evan Krell, Kelly Pennoyer, Chris Bird Genomics Core Lab Informatics

More information

Raspberry Pi Kernel Install. By: Daniel Rizko

Raspberry Pi Kernel Install. By: Daniel Rizko Raspberry Pi Kernel Install By: Daniel Rizko Introduction In this presentation I will be demonstrating three things. 1. Building a cross compiler from scratch using crosstool-ng for Raspberry Pi hardware.

More information

Creating an authorized SSL certificate

Creating an authorized SSL certificate Creating an authorized SSL certificate for MeetingSphere Meeting Center Server MeetingSphere Meeting Center Server requires an authorized SSL certificate by which its Meeting center is identified, and

More information

Downloading and installing Db2 Developer Community Edition on Ubuntu Linux Roger E. Sanders Yujing Ke Published on October 24, 2018

Downloading and installing Db2 Developer Community Edition on Ubuntu Linux Roger E. Sanders Yujing Ke Published on October 24, 2018 Downloading and installing Db2 Developer Community Edition on Ubuntu Linux Roger E. Sanders Yujing Ke Published on October 24, 2018 This guide will help you download and install IBM Db2 software, Data

More information

Vaango Installation Guide

Vaango Installation Guide Vaango Installation Guide Version Version 17.10 October 1, 2017 The Utah Vaango team and Biswajit Banerjee Copyright 2015-2017 Parresia Research Limited The contents of this manual can and will change

More information

CSE Linux VM. For Microsoft Windows. Based on opensuse Leap 42.2

CSE Linux VM. For Microsoft Windows. Based on opensuse Leap 42.2 CSE Linux VM For Microsoft Windows Based on opensuse Leap 42.2 Dr. K. M. Flurchick February 2, 2017 Contents 1 Introduction 1 2 Requirements 1 3 Procedure 1 4 Usage 3 4.1 Start/Stop.................................................

More information

Android System Development Training 4-day session

Android System Development Training 4-day session Android System Development Training 4-day session Title Android System Development Training Overview Understanding the Android Internals Understanding the Android Build System Customizing Android for a

More information

CS356: Discussion #1 Development Environment. Marco Paolieri

CS356: Discussion #1 Development Environment. Marco Paolieri CS356: Discussion #1 Development Environment Marco Paolieri (paolieri@usc.edu) Contact Information Marco Paolieri PhD at the University of Florence, Italy (2015) Postdoc at USC since 2016 Email: paolieri@usc.edu

More information

Quick and Easy Solutions With Free Java Libraries

Quick and Easy Solutions With Free Java Libraries Quick and Easy Solutions With Free Java Libraries By Shaun Haney he BBj API is a toolkit full of solutions for everyday business T needs. Businesses of varying sizes may have the need to integrate charts

More information

SafeNet KMIP and Google Drive Integration Guide

SafeNet KMIP and Google Drive Integration Guide SafeNet KMIP and Google Drive Integration Guide Documentation Version: 20130802 Table of Contents CHAPTER 1 GOOGLE DRIVE......................................... 2 Introduction...............................................................

More information

Installation Instructions

Installation Instructions Installation Instructions Last updated: 08 May 2017 Contents 1. Introduction... 3 2. Windows Installation... 3 2.1. Installing Dictionary App Builder... 3 2.2. Installing Java SE Development Kit (JDK)...

More information

ECOM 5341 Mobile Computing(Android) Eng.Ruba A. Salamah

ECOM 5341 Mobile Computing(Android) Eng.Ruba A. Salamah ECOM 5341 Mobile Computing(Android) 1 Eng.Ruba A. Salamah Lecture # 2 Android Tools Objectives Understand Android Tools Setup Android Development Environment Create HelloWorld Application Understand HelloWorld

More information

Introduction To Android

Introduction To Android Introduction To Android Mobile Technologies Symbian OS ios BlackBerry OS Windows Android Introduction to Android Android is an operating system for mobile devices such as smart phones and tablet computers.

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Kisik Jeong (kisik@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

DS-5 ARM. Getting Started with DS-5. Version 5.6. Copyright 2010, 2011 ARM. All rights reserved. ARM DUI 0478F (ID071411)

DS-5 ARM. Getting Started with DS-5. Version 5.6. Copyright 2010, 2011 ARM. All rights reserved. ARM DUI 0478F (ID071411) ARM DS-5 Version 5.6 Getting Started with DS-5 Copyright 2010, 2011 ARM. All rights reserved. ARM DUI 0478F () ARM DS-5 Getting Started with DS-5 Copyright 2010, 2011 ARM. All rights reserved. Release

More information