Coda Fine 1.0 Distributed File System Manager Manual

Similar documents
The Scratchbox development environment

Open Source Software in mobile devices. Timofey Turenko Nokia Research Center, Office of CTO

University co-operation with Maemo SW FRUCT seminar Tampere Nokia V1-Filename.ppt / YYYY-MM-DD / Initials

The HomeSIP Project: home automation with SIP

Scratchbox Remote Shell

Qt + Maemo development

Embedded Linux development made easier. User s manual. Version:

T Multimedia Programming. Different Operating Systems and their Multimedia Support

Integrating Open Source Tools for Developing Embedded Linux Applications

Android System Development Training 4-day session

Installing Scratchbox

OSELAS.Support OSELAS.Training OSELAS.Development OSELAS.Services

Embedded Linux development made easier. User s manual. Version: 3.0

Embedded Systems. Mail: Web: Université de Nice - Sophia Antipolis

Poky Linux & OpenEmbedded based environment

Maemo Diablo Technology Overview. Training Material for maemo 4.1

An overview of mobile and embedded platforms

Tree-mapping Based App Access System for ios Platform

Hildon 2.2: new GTK+ widgets for mobile devices

Yocto Project and OpenEmbedded training 3-day session

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

Introduction to Linux

Embedded Linux system development training 5-day session

The Challenges of X86 Hardware Virtualization. GCC- Virtualization: Rajeev Wankar 36

1 Installation (briefly)

GNOME Embedded Initiative first meeting

Debian development with scratchbox. Lauri Arimo

COSC 2P91. Introduction Part Deux. Week 1b. Brock University. Brock University (Week 1b) Introduction Part Deux 1 / 14

Linux desktop app guide Documentation. Thomas Kluyver & contributors

Familiar Linux for the ipaq H3975 (XScale Processor) CSC 714 Real Time Computing Systems Term Project

Introduction to Linux

Wasabi 360 Ultra User Guide

Discovering the Mobile Safari Platform

Surviving Your Phone: Protecting Mobile Communications With Tor. Marco Bonetti - CutAway s.r.l.

ECM583 Special Topics in Computer Systems

Minds-on: Android. Session 1

Copyright

Course 20480: Programming in HTML5 with JavaScript and CSS3

COURSE 20480B: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

Building RPMs for Native Application Hosting

Hands-on with the Sitara Linux SDK

Android Dynamic Linker - Marshmallow

Programming in HTML5 with JavaScript and CSS3

A Tutorial on using Code::Blocks with Catalina 3.0.3

Introduction. Arizona State University 1

Tutorial: Creating a Gem with code

Chapter 2: Operating-System Structures

Chapter 2. Operating-System Structures

Embedded Systems Programming

Application Note 112

Protecting binaries. Andrew Griffiths

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

Firefox for Nokia N900 Reviewer s Guide

National Digital Literacy Mission Module 1: Power in Your Hands

Visual Studio Device Unsupported Instruction Set

MCUXpresso IDE Installation Guide. Rev November, 2017 User guide

An Introduction to the Logic. Silicon Chips

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1

Mobile Devices: Server and Management Lesson 07 Mobile File Systems and CODA

Installing Eclipse CDT and MinGW

Practical Experiences from Using Pulseaudio in Embedded Handheld Device

PROGRAM COMPILATION MAKEFILES. Problem Solving with Computers-I

Computer Organization & Assembly Language Programming (CSE 2312)

From One Architecture to Many: Porting OpenMandriva to AArch64, armv7hnl, RISC-V and Ryzen. OSS/ELC 2018 Bernhard Bero Rosenkränzer

Integrated Software Environment. Part 2

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications

Chapter 1: Why Program? Main Hardware Component Categories 8/23/2014. Main Hardware Component Categories: Why Program?

Software development for mobile devices: iphone OS vs. Maemo. Erik Schmidt

INTRODUCTION TO COMPUTERS AND WINDOWS 10

SharePoint 2013 Power User

EMBEDDED LINUX ON ARM9 Weekend Workshop

A Hacker s Introduction to the Nokia N900

Mobile Linux Mojo. The XYZ of Mobile TLAs PDQ! Bill Weinberg January 29, Copyright 2009 Bill Weinberg, LinuxPundit,com

Chapter 1 Introduction to Computers and Programming

JUCE TUTORIALS. INTRO methodology how to create a GUI APP and how to create a Plugin.

Introduction To 64 Bit Windows Assembly Programming Epub Gratuit

C H A P T E R 1. Introduction to Computers and Programming

Mali Developer Resources. Kevin Ho ARM Taiwan FAE

Application Management

Oracle Application Express Workshop I Ed 2

Chapter 1: Introduction to Computers and Programming

μc/probe on the element14 BeagleBone Black

GStreamer in the living room and in outer space

Copyright

Mobile Phone Programming

Building CircuitPython

VMware Horizon Client for Windows 10 UWP User Guide. Modified on 21 SEP 2017 VMware Horizon Client for Windows 10 UWP 4.6

Ahmed Ali Big fan of Android

20480B: Programming in HTML5 with JavaScript and CSS3

NDK OVERVIEW OF THE ANDROID NATIVE DEVELOPMENT KIT

Ubiquitous and Mobile Computing CS 525M: Virtually Unifying Personal Storage for Fast and Pervasive Data Accesses

Platform SDK Deployment Guide. Platform SDK 8.1.2

Introduction to Linux

POWER BI BOOTCAMP. COURSE INCLUDES: 4-days of instructor led discussion, Hands-on Office labs and ebook.

Platform Specific Guides. Release

IJRDTM Kailash ISBN No Vol.17 Issue

Programming in HTML5 with JavaScript and CSS3

Table of Contents VIDE. V IDE User Guide...1. VIDE Quick Start Guide VIDE for Windows with gcc (MinGW/Cygnus)...12

iphone Basic Set-Up Guide Wolf Creek Public Schools

Introduction... 1 Part I: Introductions... 5

Transcription:

CodaFine1.0 DistributedFileSystemManager Manual MakingtheCodaFileSystema1stClassCitizenon HandheldLinuxDevices Abstract ThismanualprovidesdetailedinformationaboutCoda fineproject.it includesdetailsonhildonlibraries,maemo,installationinstructions, technicalrequirementsandotherdetails.

http://finefm.org TableofContents 1.Introduction [1]...3 1.2MaemoSystem...4 1.3Hildon...4 1.4Scratchbox...4 2.Installation...6 2.1BasicInstallation...6 2.2Prerequisites...6 2.3Configuring...6 2.4Buildingandinstalling...7 3.CodaFileSystem [2]...8 4.HildonFMLibrary...8 4.1HildonFramework [1]...8 4.2HildonFM...9 5.Conclusion... 10 5.1Ourachivement... 10 5.2FutureWork... 10 6.References... 10 2

http://finefm.org 3 1.Introduction [1] Fine means "the place where a piece of music finishes". (From new Oxford American Dictionary). Basically, we make Nokia's internet tablets work with Coda filesystem.thisprogramwillbethelastchapterofmobile&pervasivecomputing withcoda. Moreinformationonthisprojectcanbefoundinhttp://finefm.org. 1.1UnlockingtheHildon fmlibrary TheCodaDistributedFileSystemisanadvancednetworkfilesystemthatprovides several features such as disconnected operation which are not found in any other filesystem.itisusedonlinux,freebsd,netbsd,andwindowsntbasedoperating systems and runs on anything from a small ARM based handheld to 64 bit x86 systems. However, the day to day operation is not ready for main stream usage, most operationsrequiredroppingdowntothecommand line.becauseofcoda'sunique featuresitdoesn'tfallnicelyintoeitherlocalorremotefilesystemcategoriesona devicelikethenokian800,n810.localfilesystemstendtobesmallandrelatively slow,theyareaggressivelyindexedtoimprovesearchperformanceandgiveusers feedback what types of files are taking up space in which parts of the namespace. But crawling though the complete Coda namespace is infeasible. Remote file systems on the other hand are not show in the interface whenever there is no network connectivity, which is unreasonable in Coda's case because it supports disconnectedoperations.thisprojectinvolvesextendingtheopensourcehildon fm andfilechooserwidgestwhichareusedbyallmaemoapplicationstoincludeacoda file system volume as a fiest class object alongside the memory cards and remote SMBanduPNPfileservers.Aswellasprovidingusefuluserinterfacecomponentsto performvariousessentialtaskssuchasauthenticationandexplorationofaspectsof the Coda distributed file system on the handheld device. We named our project's subtitleasunlockingthehilon fmlibrary,becausewemodifiedthelibrarytomake our own file manager work with Coda. There is currently no open source file manager application for Maemo system. This application will be the first opensourcefilemanagerformaemooperatingsystem(n800,n810).

http://finefm.org 4 1.2MaemoSystem MaemoisDebianGNU/Linux basedosfornokia sinternettablets. Thedevicesaresmallerthanalaptop,largerthanaPDA,andquitelightweight. Someofthem(e.g.NokiaN810)haveasmallkeyboard,andallofthemhaveastylus andatouch sensitivescreen.thestylus drivenguiwillcausesomedesign challengeslateron,sincesoftwarewillneedtobedesignedwiththisinmind.there isalsoapossibilityofusinganon screenkeyboardwiththestylus,including handwritingrecognitionandapredictiveinputsystemtoaidtheuser.inalldevices, thereisalimitedsetofhardwarebuttonsavailableforapplications. 1.3Hildon Hildonisanapplicationframeworkoriginallydevelopedformobiledevices(PDAs, mobilephones,etc.)runningthelinuxoperatingsystem.itwasdevelopedbynokia for the Maemo operating system and is now a part of GNOME. It focuses on providing a finger friendly interface. It is primarily a set of GTK extensions that provide mobile device oriented functionality, but also provides a desktop environment that includes a task navigator for opening and switching between programs, a control panel for user settings, and status bar, task bar and home applets.itisstandardonthemaemoplatformusedbythenokiainternettablets. 1.4Scratchbox Scratchbox is maemo SDK s cross compiling environment. The default Scratchbox installationworksas isundermostconditions,butsomedetailsaregoodtoknow formorespecializedusage. The target inside Scratchbox contains a root file system that is being worked on. WhenanewtargetinsideScratchboxiscreated,atoolchainmustbespecifiedforit. Using this toolchain, applications are built for the target. Examples of a target are X86andARMEL,whichareprovidedbythemaemoSDKontopofScratchbox.

http://finefm.org 5 Host tools are native to the host provided for convenience and speed. They are always preferred over target tools and transparently for example cross compile applicationstothetargetarchitecture.hosttoolsconsistofdevkitsandtoolchains. A toolchain provides the minimal set of tools for compiling binaries for the target. OneandonlyonetoolchainmustbeselectedforeveryScratchboxtarget. CPU transparency methods take care of running the applications on an emulator, arget device or directly on the host transparently to the user. The available CPU transparency methods come from a special devkit called cputransp. For each of maemo SDK s pre defined targets, a CPU transparency method is selected and defined. A toolchain is a collection of tools used to produce binaries for the target environment. In addition to a compiler (gcc), it contains a linker (ld) and other binutils,suchasstrip,objdumpandstrings.adevkitisacollectionoftoolsnativeto thehost.atoolkitcanbeselectedordisabledforatarget.anexampleofadevkitis doctoolsdevkit,whichprovidestools(likedoxygen)forbuildingdocumentation. Arootstrapisarootfilesystemforthetargetdevice.MaemoSDKprovidesrootfile systemsforbothtargets(x86andarmel)insidescratchbox.notethattheuser s homedirectoryissharedforalltargets.the/tmpdirectoryissharedforalltargets andalsowiththehost. FromScratchbox spointofview,maemosdkisasetofpreconfiguredtargetsand rootfilesystems.onesetisprovidedforbothx86andarmelarchitecturesontop ofaworkingscratchboxinstallation.morescratchboxinformationcanbefoundat Scratchbox swebsite. TheseexplanationsarefromMaemoDiablos sreferencemanual.

http://finefm.org 6 2.Installation 2.1BasicInstallation 1. Obtainingthesources Thesourcescanbedownloadedfrom: http://finefm.org/ 2. ThesourcecodeforapplicationandHildonFileManagerarestoredinthe directory"finefm". 3. TheversionofMaemothatissupportedisMaemo4.1.1.TheHildonFile managerlibrarysupportedis2.0.6.1. UserscandownloadotherversionsofHildonFilemanagerfrom: http://repository.maemo.org/pool/maemo4.1.1/free/libh/libhildonfm/ 4. Autoconfmustbeinstalledonthesysteminordertosetupthebuild environment. 2.2Prerequisites GNUMakeisrequiredtobuildCodaFine. 2.3Configuring UsershavetoconfigurebothapplicationpartandthemodifiedHildon Librarypart.Thesecanbedonebyrunningtheconfigurescriptsas:

http://finefm.org 7 $cdfinefm/ $./configure $cd./libhildonfm 2.0.6.1/ $./configure 2.4Buildingandinstalling Inordertocompilethesource,usershavetomanuallycompilethe applicationandhildonlibrarysources.theycanbedoneas: $cdfinefm/ $make $cd./libhildonfm 2.0.6.1/ $make Toinstallthebinariesoftheapplicationusershavetomanuallycopyit to/usr/bin.butthebinariesofhildonfmcanbeinstalledbyrunninga makeinstall.thesebinariesarecopiedtothe/usr/local/directory. $cdfinefm/ $cpfinefm/usr/bin/ $cd./libhildonfm 2.0.6.1/ $makeinstall

http://finefm.org 8 3.CodaFileSystem [2] Codaisanadvancednetworkedfilesystem.IthasbeendevelopedatCMUsince1987 bythesystemsgroupofm.satyanarayanan.inthescsdepartment. CodaisadistributedfilesystemwithitsorigininAFS2.Ithasmanyfeaturesthatare very desirable for network filesystems. Currently, Coda has several features not foundelsewhere. Disconnectedoperationformobilecomputing Isfreelyavailableunderaliberallicense Highperformancethroughclientsidepersistentcaching Serverreplication Securitymodelforauthentication,encryptionandaccesscontrol Continuedoperationduringpartialnetworkfailuresinservernetwork Networkbandwithadaptation Goodscalability Well definedsemanticsofsharing,eveninthepresenceofnetworkfailures 4.HildonFMLibrary 4.1HildonFramework [1] TheuserinterfaceisbasedonXWindowSystemwithMatchboxwindowmanager. TheapplicationprogrammingAPIontopofXisaGTK+widgettoolkitwithHildon extensions.gtk+istheuiframeworkofthegnomeprojectaswell.othergnome

http://finefm.org 9 componentshavealsobeenincludedinmaemo,likegconfapplicationconfiguration management,xmllibrary,gnomevfs,evolutiondataserverforaddressbookand calendar management, GSF structured file streaming, and SVG (Scalable Vector Graphics). The multimedia framework is also the same, GStreamer based. Hildon framework provides components on top of the GNOME components to support controlpanel,statusbar,tasknavigator,andhomeapplets.hildonframeworkalso providesbackups/restoreservice,helpframework,andanapplicationinstaller. 4.2HildonFM Basically, almost ever application use the Hildon fm library to perform file operation. However, there is no open source file manager for Nokia s Internet tabletsthesedays.sowehavetomakeourownapplicationusingthislibrary. Fundamental problem of the hildon fm is, they encapsulate everything include foldersandfilessothattheuserscannotseetheactualfilesystem.theycallitasa protection butitisnotcomfortabletouse.also,thecodadirectorywillnotshow properly in the tablets. Thus, we changed and unlocked the hildon fm library to showthecodadirectoryandweaddedseveralcoda specificfunctionalitiessuchas authenticationusinganapplication transparentway.inthisway,everyapplication canseethecodadirectoryinthisdeviceandwecanusethisdeviceasarealmobile &pervasivedevice.

http://finefm.org 10 5.Conclusion WehavesuccessfullyportedCodafilesystemontheNokia sn810,maemodiablo. ThescenarioswetestedsuggestthatCodacanworkonlightweightdevicessuchas thenokia sinternettablet. 5.1Ourachivement WeinstalledCodaclientonNokiaN810device. WeanalyzedandmodifiedHildon FMlibrarytoshowCodafilesystem Wedesignednewuser friendlyfilemanagerapplication WeincorporatedCodaauthenticationmoduleinHildon FMlibrary Weextendedthefunctionalityoforiginalfilemanager:refreshandmovefiles. WeintegratedCodaandFinefmasonepackage,sothatusercaneasilyinstallit. 5.2FutureWork Thesearesomeworkswewilldointhefuture: Sourcecodeinstallationpackages Enhanceduserinterface;keypadshortcut Providefullfilesystemviewratherthanjustprotectedfolders 6.References [1]MaemoDiablos sreferencemanual. [2]http://coda.cs.cmu.edu