Software Development for the Openmoko Linux Phone a Free and Open Platform for Mobile Communications

Total Page:16

File Type:pdf, Size:1020Kb

Software Development for the Openmoko Linux Phone a Free and Open Platform for Mobile Communications Software development for the OpenMoko Linux phone A free and open platform for mobile communications Skill Level: Intermediate Peter Seebach ([email protected]) Freelance writer Freelance 13 Nov 2007 The OpenMoko environment provides a completely free development environment for running application and system code on supported phone hardware, eliminating all dependency on proprietary code. This tutorial introduces the OpenEmbedded build environment used to create filesystem images for OpenMoko phones, such as the Neo 1973. Section 1. Before you start About this tutorial This tutorial introduces the OpenMoko development platform and shows the details of using it to target the Neo 1973, a unique cell phone developed and sold with the intent of working anywhere, on any network, and running whatever software you want to develop for it. Tutorial objectives After a brief overview of the configuration and flashing process, I show you the files you need and what to do with them. Following that, I get into the details of software Software development for the OpenMoko Linux phone © Copyright IBM Corporation 1994, 2007. All rights reserved. Page 1 of 26 developerWorks® ibm.com/developerWorks development. Rather than duplicate existing documentation, this tutorial shows you the big picture and brings everything together. Prerequisites This tutorial is for Linux developers with basic software development experience, and either experience with or interest in telephony and embedded systems. Some basic familiarity with the command line is assumed. You don't need a Neo 1973 phone (or any other) to understand the tutorial, but it will be most rewarding if you have at least a working OpenMoko target, even if it's emulated. I wrote the tutorial using Ubuntu as a host environment, but virtually any Linux® system should work. It's also possible to use Mac OS X or even Windows® as host environments. Section 2. Platform overview Is it a phone or is it software? First International Computer produces the Neo 1973, which is often referred to as "an OpenMoko." In fact, OpenMoko is a Linux platform and associated applications, not a phone. It is, however, a Linux application for phones, and as of this writing, the Neo 1973 is the only fully viable phone to run it on. You can also build an emulated environment for software development, which I cover in this tutorial, but it won't connect to a phone network very well. OpenEmbedded OpenMoko is built using OpenEmbedded for cross-compilation (see Resources for a link to more information on OpenEmbedded). OpenEmbedded provides tools and support for build and release functions, whether you're trying to build a native program with debugging or an optimized target binary. As a result, developing for OpenMoko requires getting a feel for how to use OpenEmbedded. MokoMakefile Software development for the OpenMoko Linux phone Page 2 of 26 © Copyright IBM Corporation 1994, 2007. All rights reserved. ibm.com/developerWorks developerWorks® One of the difficulties of a new environment is getting everything set up, files in the right places, and so on. Enter the MokoMakefile (see Resources for a link), a huge makefile that does all of this for you for the OpenMoko environment. The MokoMakefile is being developed and maintained by Rod Whitby; it's not yet part of the official OpenMoko environment. Set up an emulator As I mentioned, if you don't have a phone handy, you can also set up an emulator. The QEMU emulator provides a fairly full-featured emulation of the OpenMoko phone environment. One of the options is a branch of QEMU that provides nearly complete emulation of the phone's hardware, lacking only the GPS unit. For more information about setting up a QEMU-based emulator, have a look at the OpenMoko Wiki page on "OpenMoko under QEMU" (see Resources for a link). While it's obviously most convenient to use an actual phone, there's something to be said for running an emulator. Most noticeably, the emulator can be downloaded right away, for free. The OpenMoko wiki (see Resources for a link) has additional information on configuring an emulator. This tutorial was developed using both the emulator and an actual phone, but not every function can be tested on the emulator. Set up the phone If you do have a Neo 1973, you should flash it to a current version of the OpenMoko software. Rather than duplicate here the excellent instructions from the OpenMoko wiki, look for the link to "Flashing openmoko" in Resources. Once your phone is set up, you can turn it on now or go ahead and set up an emulator as well. Booting for the first time If you're using the emulator, you won't be able to see this screen for a while, but here is what you're looking for: Figure 1. OpenMoko splash screen Software development for the OpenMoko Linux phone © Copyright IBM Corporation 1994, 2007. All rights reserved. Page 3 of 26 developerWorks® ibm.com/developerWorks Software development for the OpenMoko Linux phone Page 4 of 26 © Copyright IBM Corporation 1994, 2007. All rights reserved. ibm.com/developerWorks developerWorks® Section 3. Getting your environment together Collect your tools You need to have a number of tools handy to run OpenMoko; different Linux distributions have some of them installed already, but rarely all of them, so be prepared to fetch a few things. Perhaps most importantly, you must have gcc 3.4—not gcc 4.anything—to build and run QEMU. (This is almost certainly a bug, somewhere, but it hasn't been fixed in some time.) You also need subversion, various documentation-related tools such as texinfo, development headers for ncurses, a compression library (zlib or libz), OpenSSL, and GTK++. You may need additional things based on your system. The MokoMakefile wiki page has more information on a few systems. Download the MokoMakefile Make a new directory named whatever you want, and put it wherever you want on your system. I named mine "om" and put it in my home directory. Change to that directory and download the MokoMakefile. Prepare for the build The MokoMakefile can build everything you need, from scratch. This will take some time, so be prepared to wander off and do something else for a while. If you have a multicore system, you can save time by creating a file named build/conf/local.conf (create the build/conf subdirectory of your working directory first) containing two lines specifying a parallel build: PARALLEL_MAKE = "-j 4" BB_NUMBER_THREADS = "4" The number 4, in this case, was calculated for a dual-core system; some people recommend running one more thread than your system has cores, and some recommend two threads per core. Four threads will work reasonably on a dual-core system. Software development for the OpenMoko Linux phone © Copyright IBM Corporation 1994, 2007. All rights reserved. Page 5 of 26 developerWorks® ibm.com/developerWorks Run the build The first thing to do is run make setup for initial setup and configuration. Then run make openmoko-devel-image, and watch as a complete OpenMoko environment is built—but you may not want to watch the whole thing, as it can easily take five hours or longer. If you plan to use the QEMU emulator, build it now as well, using make build-qemu. Section 4. The directory tree, as built What's all this stuff? When you typed make setup, you were probably in a directory containing only a makefile, or possibly a makefile and a single configuration file. Now, you should have directories with names like "bitbake," "images," and "sources." These are the working structure of an OpenEmbedded build environment. The bitbake directory Bitbake (the tool used to actually build target binaries and so on) has its own directory containing tools, documentation, and more. This directory holds the bitbake distribution; don't mess with it unless you know exactly what you're doing. The build directory The build directory holds configuration files (build/conf), QEMU stuff (build/qemu), and a temporary directory used for intermediate states. The temporary directory (build/tmp) holds its own selection of subdirectories; cache, cross, deploy, rootfs, staging, stamps, and work. When you're building, whether for the host or target environment, files end up in here. Of particular interest are the subdirectories of fic-gta01-angstrom-linux-gnueabi, which correspond to the Neo 1973 phone. In general, you will poke around in here only when debugging the build; you may want to pay special attention to the stamps directory, which indicates when each task was last performed. The openembedded directory Software development for the OpenMoko Linux phone Page 6 of 26 © Copyright IBM Corporation 1994, 2007. All rights reserved. ibm.com/developerWorks developerWorks® This directory contains the OpenEmbedded distribution, including all of the packages available. The openembedded/packages directory is where new packages will be added—you'll need that a little later on. Mostly, though, this is internal architecture for OpenEmbedded, and you don't need to do much to it. The openmoko directory The openmoko directory contains additional files and documentation specific to OpenMoko, not just related to OpenEmbedded. Once again, you shouldn't have to interact with this too much directly. The patches directory As of this writing, this directory contains a tree structure providing for patches against openmoko, bitbake, or openembedded, but none are in it to begin with. The sources directory The sources directory is where source files are downloaded to for use in building the target filesystem. It holds actual distribution tarballs, as well as lock files and checksums. The sources/svn subdirectory holds Subversion checkouts for things that were downloaded via Subversion rather than as tarballs.
Recommended publications
  • Enabling Musical Applications on a Linux Phone
    University of Wollongong Research Online Faculty of Creative Arts - Papers (Archive) Faculty of Arts, Social Sciences & Humanities 2009 Enabling Musical Applications On A Linux Phone Greg Schiemer University of Wollongong, [email protected] E. Chen Royal Melbourne Institute of Technology Follow this and additional works at: https://ro.uow.edu.au/creartspapers Part of the Arts and Humanities Commons, and the Social and Behavioral Sciences Commons Recommended Citation Schiemer, Greg and Chen, E.: Enabling Musical Applications On A Linux Phone 2009. https://ro.uow.edu.au/creartspapers/36 Research Online is the open access institutional repository for the University of Wollongong. For further information contact the UOW Library: [email protected] ENABLING MUSICAL APPLICATIONS ON A LINUX PHONE Greg Schiemer Eva Cheng Sonic Arts Research Network School of Electrical and Computer Faculty of Creative Arts Engineering University of Wollongong RMIT Melbourne 2522 3000 The prospect of using compiled Arm9 native code of- fers a way to synthesise music using generic music soft- ABSTRACT ware such as Pure data and Csound rather than interpre- tive languages like java and python which have been Over the past decade the mobile phone has evolved to used in mobile devices [1, 2]. A similar approach to mo- become a hardware platform for musical interaction and bile synthesis has been adopted using the Symbian oper- is increasingly being taken seriously by composers and ating system [3]. instrument designers alike. Its gradual evolution has seen The Linux environment is more suited to the devel- improvements in hardware architecture that require al- opment of new applications in embedded hardware than ternative methods of programming.
    [Show full text]
  • Embedded Linux Systems with the Yocto Project™
    OPEN SOURCE SOFTWARE DEVELOPMENT SERIES Embedded Linux Systems with the Yocto Project" FREE SAMPLE CHAPTER SHARE WITH OTHERS �f, � � � � Embedded Linux Systems with the Yocto ProjectTM This page intentionally left blank Embedded Linux Systems with the Yocto ProjectTM Rudolf J. Streif Boston • Columbus • Indianapolis • New York • San Francisco • Amsterdam • Cape Town Dubai • London • Madrid • Milan • Munich • Paris • Montreal • Toronto • Delhi • Mexico City São Paulo • Sidney • Hong Kong • Seoul • Singapore • Taipei • Tokyo Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. For information about buying this title in bulk quantities, or for special sales opportunities (which may include electronic versions; custom cover designs; and content particular to your business, training goals, marketing focus, or branding interests), please contact our corporate sales depart- ment at [email protected] or (800) 382-3419. For government sales inquiries, please contact [email protected]. For questions about sales outside the U.S., please contact [email protected]. Visit us on the Web: informit.com Cataloging-in-Publication Data is on file with the Library of Congress.
    [Show full text]
  • Introduction to the Yocto Project / Openembedded-Core
    Embedded Recipes Conference - 2017 Introduction to the Yocto Project / OpenEmbedded-core Mylène Josserand Bootlin [email protected] embedded Linux and kernel engineering - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 1/1 Mylène Josserand I Embedded Linux engineer at Bootlin since 2016 I Embedded Linux expertise I Development, consulting and training around the Yocto Project I One of the authors of Bootlin’ Yocto Project / OpenEmbedded training materials. I Kernel contributor: audio driver, touchscreen, RTC and more to come! embedded Linux and kernel engineering - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 2/1 I Understand why we should use a build system I How the Yocto Project / OpenEmbedded core are structured I How we can use it I How we can update it to fit our needs I Give some good practices to start using the Yocto Project correctly I Allows to customize many things: it is easy to do things the wrong way I When you see a X, it means it is a good practice! Introduction I In this talk, we will: - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/1 I How the Yocto Project / OpenEmbedded core are structured I How we can use it I How we can update it to fit our needs I Give some good practices to start using the Yocto Project correctly I Allows to customize many things: it is easy to do things the wrong way I When you see a X, it means it is a good practice!
    [Show full text]
  • Android Operating System
    Software Engineering ISSN: 2229-4007 & ISSN: 2229-4015, Volume 3, Issue 1, 2012, pp.-10-13. Available online at http://www.bioinfo.in/contents.php?id=76 ANDROID OPERATING SYSTEM NIMODIA C. AND DESHMUKH H.R. Babasaheb Naik College of Engineering, Pusad, MS, India. *Corresponding Author: Email- [email protected], [email protected] Received: February 21, 2012; Accepted: March 15, 2012 Abstract- Android is a software stack for mobile devices that includes an operating system, middleware and key applications. Android, an open source mobile device platform based on the Linux operating system. It has application Framework,enhanced graphics, integrated web browser, relational database, media support, LibWebCore web browser, wide variety of connectivity and much more applications. Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. Architecture of Android consist of Applications. Linux kernel, libraries, application framework, Android Runtime. All applications are written using the Java programming language. Android mobile phone platform is going to be more secure than Apple’s iPhone or any other device in the long run. Keywords- 3G, Dalvik Virtual Machine, EGPRS, LiMo, Open Handset Alliance, SQLite, WCDMA/HSUPA Citation: Nimodia C. and Deshmukh H.R. (2012) Android Operating System. Software Engineering, ISSN: 2229-4007 & ISSN: 2229-4015, Volume 3, Issue 1, pp.-10-13. Copyright: Copyright©2012 Nimodia C. and Deshmukh H.R. This is an open-access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
    [Show full text]
  • Openmoko Is Dead. Long Live Openphoenux!
    Openmoko is dead. Long live OpenPhoenux! Nikolaus Schaller, Lukas Märdian LinuxTag, Berlin, May 26th, 2012 Agenda Part one: some history Part two: a long way home Part three: rising from the ashes Part four: flying higher Part five: use it as daily phone – software Q&A Nikolaus Schaller, Lukas Märdian OpenPhoenux | GTA04 May 26th 2012 LinuxTag 2012 wiki.openmoko.org | www.gta04.org 2 Some history – Past iterations • FIC GTA01 – Neo 1973 – Roughly 3.000 units sold – Production discontinued • Openmoko GTA02 – Neo Freerunner – Roughly 15.000 units sold – Hardware revision v7 – Production discontinued Nikolaus Schaller, Lukas Märdian OpenPhoenux | GTA04 May 26th 2012 LinuxTag 2012 wiki.openmoko.org | www.gta04.org 3 Some history – The End (of part I) • FIC and Openmoko got out • Strong community continues development • Golden Delicious taking the lead – Excellent support for existing devices – Shipping spare parts and add-ons – Tuned GTA02v7++ • Deep sleep fix (aka bug #1024) -> Improved standby time • Bass rework -> Improved sound quality Nikolaus Schaller, Lukas Märdian OpenPhoenux | GTA04 May 26th 2012 LinuxTag 2012 wiki.openmoko.org | www.gta04.org 4 Agenda Part one: some history Part two: a long way home Part three: rising from the ashes Part four: flying higher Part five: use it as daily phone – software Q&A Nikolaus Schaller, Lukas Märdian OpenPhoenux | GTA04 May 26th 2012 LinuxTag 2012 wiki.openmoko.org | www.gta04.org 5 A long way home How do we get to a new open mobile phone? – open kernel for big ${BRAND} – reverse eng. – order from some ${MANUFACTURER} – hope for openness – DIY, “Use the source, Luke!” Nikolaus Schaller, Lukas Märdian OpenPhoenux | GTA04 May 26th 2012 LinuxTag 2012 wiki.openmoko.org | www.gta04.org 6 Using the source: Beagleboard Beagleboard – Full Linux support – Open schematics – Open layout – Expansion connectors – Lots of documentation – Components available Nikolaus Schaller, Lukas Märdian OpenPhoenux | GTA04 May 26th 2012 LinuxTag 2012 wiki.openmoko.org | www.gta04.org 7 In theory it could fit (Aug.
    [Show full text]
  • An Analysis of Power Consumption in a Smartphone
    An Analysis of Power Consumption in a Smartphone Josh Hildebrand Introduction l Mobile devices derive the energy required to operate from batteries that are limited by the size of the device. l The ability to manage energy usage requires a good understanding of where and how the energy is being used. l The advancing functionality of modern smartphones is increasing the pressure on battery lifetime, and increases the need for effective energy management. l Goal is to break down a modern smartphone and measure the power consumption of the devices major subsystems, under a range of usage scenarios. l Results from the breakdown of energy consumption will be validated against two additional mobile devices. l Finally, an analysis of the energy consumption will be performed, and an energy model will be created to allow us to model usage patterns. Methodology / Device Under Test l The approach is to take physical power measurements at the component level on a piece of real hardware. l Three elements to the experimental setup, the device under test, a hardware data acquisition (DAQ) system, and a host computer. l Device under test is the Openmoko Neo Freerunner 2.5G smartphone. Experimental Setup l To measure power to each component, supply voltage and current must be measured. l Current is measured by placing sense resistors on the power supply rails of each component. Resistors were selected such that the voltage drop did not exceed 10mV, less than 1% of the supply voltage. l Voltages were measured using a National Instruments PCI-6229 DAQ. Software l The device was running the Freerunner port of Android 1.5, using the Linux v2.6.29 kernel.
    [Show full text]
  • A Survey Onmobile Operating System and Mobile Networks
    A SURVEY ONMOBILE OPERATING SYSTEM AND MOBILE NETWORKS Vignesh Kumar K1, Nagarajan R2 (1Departmen of Computer Science, PhD Research Scholar, Sri Ramakrishna College of Arts And Science, India) (2Department of Computer Science, Assistant Professor, Sri Ramakrishna College Of Arts And Science, India) ABSTRACT The use of smartphones is growing at an unprecedented rate and is projected to soon passlaptops as consumers’ mobile platform of choice. The proliferation of these devices hascreated new opportunities for mobile researchers; however, when faced with hundreds ofdevices across nearly a dozen development platforms, selecting the ideal platform is often met with unanswered questions. This paper considers desirable characteristics of mobileplatforms necessary for mobile networks research. Key words:smart phones,platforms, mobile networks,mobileplatforms. I.INTRODUCTION In a mobile network, position of MNs has been changing due todynamic nature. The dynamic movements of MNs are tracked regularlyby MM. To meet the QoS in mobile networks, the various issuesconsidered such as MM, handoff methods, call dropping, call blockingmethods, network throughput, routing overhead and PDR are discussed. In this paper I analyse the five most popular smartphone platforms: Android (Linux), BlackBerry, IPhone, Symbian, and Windows Mobile. Each has its own set of strengths and weaknesses; some platforms trade off security for openness, code portability for stability, and limit APIs for robustness. This analysis focuses on the APIs that platforms expose to applications; however in practice, smartphones are manufactured with different physical functionality. Therefore certain platform APIs may not be available on all smartphones. II.MOBILITY MANAGEMENT IP mobility management protocols proposed by Alnasouri et al (2007), Dell'Uomo and Scarrone (2002) and He and Cheng (2011) are compared in terms of handoff latency and packet loss during HM.
    [Show full text]
  • How to Create a Partitioned Image with the Custom Wic Plugin?
    How to create a partitioned image with the custom Wic plugin? Tips and tricks based on the bootimg-grub-tb plugin development Norbert Kamiński, 3mdeb Embedded Systems Consulting Yocto Project Virtual Summit Europe, October 29-30, 2020 Agenda • $ whoami • Wic – OpenEmbedded Image Creator • Preparing layer • WKS files • Wic Plug-in Interface • Overall information • PluginSource Methods • Wic Plug-in development • bootimg-grub-tb - custom Wic Plug-in 2 Yocto Project® | The Linux Foundation® $ whoami • Open-source contributor • meta-pcengines • meta-trenchboot • qubes-fwupd • Scope of interests • embedded Linux • virtualization and containerization • bootloaders Norbert Kamiński Embedded Systems Engineer at 3mdeb Embedded Systems Consulting • • 3 Yocto Project® | The Linux Foundation® Wic – OpenEmbedded Image Creator Yocto Project | The Linux Foundation What is the Wic? • Wic stands for OpenEmbedded Image Creator • It is used to a create partitioned image • Wic is loosely based on the Meego Image Creator framework (mic) • It is using build artifacts instead of installing packages and configurations 5 Yocto Project® | The Linux Foundation® Prepare your layer • Go to your meta layer • Add wic to the IMAGE_FSTYPE variable in your local configuration IMAGE_FSTYPES += "wic" • Use the existing wic kickstart file or create specific one for your purposes 6 Yocto Project® | The Linux Foundation® Default partition layouts • At the start source poky/oe-init-build-env • List the available wic kickstart configurations $ wic list images mpc8315e-rdb Create
    [Show full text]
  • & Qt What Meego Could Have Been
    & Qt What MeeGo could have been David Greaves / lbt merproject.org Qt Developer Days 2012 We're proud of what we've achieved ! … what are we talking about? Making things TVs Cars Mobile Tablets Control/Embedded ... origins : ● Maemo reconstructed '09 ● We drank the MeeGo coolaid – and still do ! ● MeeGo needed to evolve ... but died ● Mer was reborn … vendor focus ... is : ● A core for mobile and smaller devices ● Aimed at device vendors ● Qt / QML ● Quality oriented ● Optimised for speed and size ● Ready to productise ... is not : ● A 'user experience' – no UI ● A 'hardware adaptation' – no kernel, GLES drivers ● Everything including the kitchen sink – <shock>Mer doesn't have Emacs</shock> ... delivers : ● Mobile / Nemo, Tablet / Plasma Active & Vivaldi, TV / TVOS (China), Healthcare / Lincor, IVI / Nomovok... ● X86 (not just Atom), ARM, MIPS ● N950/N900/N9 / Spark / STB / ExoPC / RasPi / Panda-beagleboards / Joggler / ... ... will let you : ● Operate efficiently ● Deliver quickly ● Use closed code ● Innovate ... will achieve this by : ● Customer focus ● Pragmatic ● Operating entirely in the open ● Being meritocratic ● Inclusive ... because code is not enough ... provides : ● Code – of course ● Systems – for build, QA, collaboration ● Best practices ● Documentation and support ... contains : ● Build & development ● Base ● Security ● Session ● Hardware ● Connectivity ● Audio Qt ● Graphical ● X11 / Wayland ● Libraries (inc perl + python libs) ... systems : ● OBS ● Upstream patches ● Integration with sb2 ● BOSS ● Business process automation by Ruote ● Scratchbox2 ● Next generation cross-building ... systems : ● IMG / mic ● Automated image builds ● Bugzilla ● Or <insert your choice here> ● Gerrit ● Or <insert your choice here> ● Futures.... ● Package DB for license tracking and libhybris Mer SDK Mer SDK Qt Creator with Mer plugins + Mer VM with Platform SDK = Mer SDK SDK roadmap ..
    [Show full text]
  • Yocto-Slides.Pdf
    Yocto Project and OpenEmbedded Training Yocto Project and OpenEmbedded Training © Copyright 2004-2021, Bootlin. Creative Commons BY-SA 3.0 license. Latest update: October 6, 2021. Document updates and sources: https://bootlin.com/doc/training/yocto Corrections, suggestions, contributions and translations are welcome! embedded Linux and kernel engineering Send them to [email protected] - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 1/296 Rights to copy © Copyright 2004-2021, Bootlin License: Creative Commons Attribution - Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0/legalcode You are free: I to copy, distribute, display, and perform the work I to make derivative works I to make commercial use of the work Under the following conditions: I Attribution. You must give the original author credit. I Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one. I For any reuse or distribution, you must make clear to others the license terms of this work. I Any of these conditions can be waived if you get permission from the copyright holder. Your fair use and other rights are in no way affected by the above. Document sources: https://github.com/bootlin/training-materials/ - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 2/296 Hyperlinks in the document There are many hyperlinks in the document I Regular hyperlinks: https://kernel.org/ I Kernel documentation links: dev-tools/kasan I Links to kernel source files and directories: drivers/input/ include/linux/fb.h I Links to the declarations, definitions and instances of kernel symbols (functions, types, data, structures): platform_get_irq() GFP_KERNEL struct file_operations - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/296 Company at a glance I Engineering company created in 2004, named ”Free Electrons” until Feb.
    [Show full text]
  • User Manual Indicates the User Manual Should Be Referenced for Operating Instructions
    SGXTM 5150, SGXTM 5150 MD, and SGX TM 5150 XL IoT Device Gateway User Guide Part Number 900-776-R Revision G August 2019 Intellectual Property © 2019 Lantronix, Inc. All rights reserved. No part of the contents of this publication may be transmitted or reproduced in any form or by any means without the written permission of Lantronix. Lantronix and MACH10 are a registered trademarks of Lantronix, Inc. in the United States and other countries. DeviceInstaller is a trademark of Lantronix, Inc. Patented: http://patents.lantronix.com; additional patents pending. Wi-Fi is a registered trademark of the Wi-Fi Alliance Corporation. Windows and Internet Explorer are registered trademarks of Microsoft Corporation. Mozilla and Firefox are registered trademarks of the Mozilla Foundation. Chrome is a trademark of Google Inc. Safari is a registered trademark of Apple Inc. All other trademarks and trade names are the property of their respective holders. Warranty For details on the Lantronix warranty policy, please go to our web site at www.lantronix.com/support/warranty. Contacts Lantronix, Inc. 7535 Irvine Center Drive Suite 100 Irvine, CA 92618, USA Toll Free: 800-526-8766 Phone: 949-453-3990 Fax: 949-453-3995 Technical Support Online: www.lantronix.com/support Sales Offices For a current list of our domestic and international sales offices, go to the Lantronix web site at www.lantronix.com/about/contact. Open Source Software Some applications are Open Source software licensed under the Berkeley Software Distribution (BSD) license, the GNU General Public License (GPL) as published by the Free Software Foundation (FSF), and the Python Software Foundation (PSF) License Agreement for Python 2.7.6 (Python License).
    [Show full text]
  • Call Your Netbsd
    Call your NetBSD BSDCan 2013 Ottawa, Canada Pierre Pronchery ([email protected]) May 17th 2013 Let's get this over with ● Pierre Pronchery ● French, based in Berlin, Germany ● Freelance IT-Security Consultant ● OSDev hobbyist ● NetBSD developer since May 2012 (khorben@) Agenda 1.Why am I doing this? 2.Target hardware: Nokia N900 3.A bit of ARM architecture 4.NetBSD on ARM 5.Challenges of the port 6.Current status 7.DeforaOS embedded desktop 8.Future plans 1. A long chain of events ● $friend0 gives me Linux CD ● Computer not happy with Linux ● Get FreeBSD CD shipped ● Stick with Linux for a while ● Play with OpenBSD on Soekris hardware ● $friend1 gets Zaurus PDA ● Switch desktop and laptop to NetBSD ● I buy a Zaurus PDA ● I try OpenBSD on Zaurus PDA 1. Chain of events, continued ● $gf gets invited to $barcamp ● I play with my Zaurus during her presentation ● $barcamp_attender sees me doing this ● Begin to work on the DeforaOS desktop ● Get some of it to run on the Zaurus ● Attend CCC Camp near Berlin during my bday ● $gf offers me an Openmoko Neo1973 ● Adapt the DeforaOS desktop to Openmoko 1. Chain of events, unchained ● $barcamp_attender was at the CCC Camp, too ● We begin to sell the Openmoko Freerunner ● Create a Linux distribution to support it ● Openmoko is EOL'd and we split ways ● $friend2 gives me sparc64 boxes ● Get more involved with NetBSD ● Nokia gives me a N900 during a developer event ● $barcamp_attender points me to a contest ● Contest is about creating an OSS tablet 1. Chain of events (out of breath) ● Run DeforaOS on NetBSD on the WeTab tablet ● Co-win the contest this way ● $friend3 boots NetBSD on Nokia N900 ● Give a talk about the WeTab tablet ● Promise to work on the Nokia N900 next thing ● Apply to BSDCan 2013 ● Taste maple syrup for the first time in Canada ● Here I am in front of you Pictures: Sharp Zaurus Pictures: Openmoko Freerunner Pictures: WeTab Pictures: DeforaOS 2.
    [Show full text]