64 research outputs found

    Creating tailored OS images for embedded systems using Yocto

    Get PDF
    Dissertação de mestrado em Engenharia Eletrónica Industrial e ComputadoresThere is no doubt that technology is more and more important in our lives and it has been possible to watch its rapid evolution over the last decades. As a consequence, embedded systems become progressively more important and present in everyday life. These embedded systems are responsible for the task performance of the vast majority of modern devices, both personal and industrial. By many defined as the combination of hardware and software, to perform a specific task, embedded systems must have a suitable operating system to do so. These operating systems differ from regular OS as they have a high level of customization without compromising their viability and efficiency. However, the knowledge required to use these tools is vast, making it impossible for most consumers to use them. To facilitate its usage, an abstraction layer is provided through a GUI. The hardware normally present in an embedded system is limited, making it necessary to create this software to ensure resource efficiency and make the most of it. This requires choosing which of the system features to use and which ones are not needed and can be eliminated. This customization can be performed by various tools available in the market such as Yocto. Through the usage of this tool, the system can be built only with the necessary characteristics to fulfill the desired purpose for the final project. The customization of this embedded system through the Yocto tool is accomplished through a text menu, file modification, and shell scripts. The goal of this dissertation is to automate the entire process making it possible to fully customize an image for an embedded system but with a reduced learning curve through an User-friendly graphical interface.É indiscutível que a tecnologia é cada vez mais importante nas nossas vidas, tendo sido possível assistir á sua rápida evolução nas últimas décadas. Como consequência os sistemas embebidos tornaram-se progressivamente mais importantes e presentes no quotidiano, sendo responsáveis pelo desempenho de tarefas da grande maioria dos dispositivos modernos, tanto a nível pessoal como industrial. Definido por muitos como a combinação entre hardware e software (com o objetivo de desempenhar uma tarefa específica) os sistemas embebidos têm de possuir um sistema operativo adequado para tal. Estes sistemas operativos diferenciam-se dos SO regulares, pois apresentam um grande nível de customização sem pôr em causa a sua viabilidade e eficiência. Todavia, o conhecimento necessário para a utilização destas ferramentas é enorme, impossibilitando a sua utilização por grande parte dos consumidores. O hardware presente num sistema embebido é limitado, tornando necessário a criação deste software com o propósito de garantir a eficiência dos recursos e tirar o melhor proveito dos mesmos. Para tal, é necessário escolher quais as funcionalidades do sistema que devem ser utilizadas e quais são desnecessárias e podem, por isso, ser eliminadas. Esta customização pode ser realizada por diversas ferramentas existentes no mercado como o caso do Yocto. Utilizando esta ferramenta, é possível que o sistema seja construido apenas com as caraterísticas necessárias para o cumprimento do propósito para o sistema final. A personalização deste sistema embebido através da ferramenta Yocto é realizado através de um menu de texto, alteração de ficheiros e shell scripts, o que pode não ser intuitivo para todos os utilizadores. O tópico desta dissertação é a automatização de todo este processo, de modo a possibilitar a total customização de uma imagem para um sistema embebido, mas com uma linha de aprendizagem reduzida através de uma interface gráfica de fácil compreensão

    Customization and automation in the future of digital forensics: live OS forensics with FENIX (forensic examiner unix)

    Get PDF
    FENIX (Forensic Examiner uNIX) is a Linux based live OS (Operating System) created to be used in remote environments for incident response and digital forensics. Between a joint effort between the Center for Information Protection (CIP) and the Iowa State University Police Department (ISUPD), FENIX has been tailored to suit the needs and requests of law enforcement forensic specialists. The very basis for FENIX is to allow ISU police officers the ability to carry an easy to operate and customize forensic toolkit with them at the scene of a crime allowing for better acquisitions and a deeper analysis to be conducted in an investigation. FENIX isn\u27t a standard forensic toolkit as others are. FENIX is a custom build of the Linux kernel with several of its own applications created for specific OS and forensic purposes and designed for a user friendly interface. However, since most users will be more familiar with existing tools those tools have the ability to interface easily with FENIX

    Analysis of techniques for Linux kernel device driver programming

    Get PDF
    Kernel study and DMA programming for the BeagleboneAnalysis and usage of different techiques for driver delopment under Linux.Análisis y uso de diferentes técnicas usadas para la creación de drivers bajo Linux.Anàlisi i ús de diferents tècniques emprades per a la creació de drivers sota Linux

    Debian Clusters for Education and Research: The Missing Manual

    Get PDF

    Techniques and methods for obtaining access to data protected by linux-based encryption – A reference guide for practitioners

    Get PDF
    This research presents an overview of the typical disc and folder-level encryption that a digital forensic investigator may encounter when investigating a Linux operating system. Based on prior first-hand experience and significant follow-up testing and research, this work examines the operation of such encryption from the user's perspective, discusses how the encryption operates “under the hood”; and explores methods and techniques that can be used to access and retrieve data from such encrypted devices, both during at-scene/live forensic investigation and also post-scene. Worked examples are presented, to aid the reader's understanding. This research also presents considerations, approaches and steps that can be used by an investigator, in order to maximise the potential for data acquisition, and most crucially discusses lessons learnt to facilitate getting the best evidence in such cases. A breakdown of the binary structure of the key files associated with fscrypt is also presented, for reference. Current limitations and gaps in knowledge are also discussed

    CREATION OF AN EDUCATIONAL OPERATING SYSTEM : Using the C# and .NET Framework

    Get PDF
    The purpose of this study was to conduct a research on Operating System fundamentals and apply the knowledge gained to a real environment by creating Educational Operating System. The outcome of this project may also serve as a starting point of the Information Technology studies for beginner students. As a secondary objective, this project intended to demonstrate the power of .NET Framework and C# Programming Language in a limited execution environment. Programming and Operating Systems are two fundamental disciplines of the Information Technology. Therefore, techniques demonstrated in this project can be applied practically in any environment and any area of IT. Results achieved here can later become part of a bigger educational project as well. This work is targeted towards students who want to learn the basics of Operating Systems and software developers willing to explore different applications of the .NET Framework. Theoretical part of the project includes: ♦ Prehistory – explanation of how Operating Systems came alive and what originally led to their creation, interesting historical facts about different Operating Systems, development of different kernels. ♦ Basic concepts – reflection of internal operation principle of the Operating Systems, their main components and functions, different types of kernels, memory management, types of file systems, bootloaders, etc. ♦ Definitions and environment – planning and defining the Operating System itself, project hosting and version control environment, debugging, compiling and virtualization tools. Practical part of the project consists of: ♦ Designing and building the core – creating the kernel and file system, building basic CLI, implementing and connecting necessary plugs, structuring and optimizing the code, etc. ♦ Developing the shell – constructing the shell scripting language, virtual text screens and command processor. ♦ Testing – running the system on real hardware, software debugging

    Secure portable execution and storage environments: A capability to improve security for remote working

    Get PDF
    Remote working is a practice that provides economic benefits to both the employing organisation and the individual. However, evidence suggests that organisations implementing remote working have limited appreciation of the security risks, particularly those impacting upon the confidentiality and integrity of information and also on the integrity and availability of the remote worker’s computing environment. Other research suggests that an organisation that does appreciate these risks may veto remote working, resulting in a loss of economic benefits. With the implementation of high speed broadband, remote working is forecast to grow and therefore it is appropriate that improved approaches to managing security risks are researched. This research explores the use of secure portable execution and storage environments (secure PESEs) to improve information security for the remote work categories of telework, and mobile and deployed working. This thesis with publication makes an original contribution to improving remote work information security through the development of a body of knowledge (consisting of design models and design instantiations) and the assertion of a nascent design theory. The research was conducted using design science research (DSR), a paradigm where the research philosophies are grounded in design and construction. Following an assessment of both the remote work information security issues and threats, and preparation of a set of functional requirements, a secure PESE concept was defined. The concept is represented by a set of attributes that encompass the security properties of preserving the confidentiality, integrity and availability of the computing environment and data. A computing environment that conforms to the concept is considered to be a secure PESE, the implementation of which consists of a highly portable device utilising secure storage and an up-loadable (on to a PC) secure execution environment. The secure storage and execution environment combine to address the information security risks in the remote work location. A research gap was identified as no existing ‘secure PESE like’ device fully conformed to the concept, enabling a research problem and objectives to be defined. Novel secure storage and execution environments were developed and used to construct a secure PESE suitable for commercial remote work and a high assurance secure PESE suitable for security critical remote work. The commercial secure PESE was trialled with an existing telework team looking to improve security and the high assurance secure PESE was trialled within an organisation that had previously vetoed remote working due to the sensitivity of the data it processed. An evaluation of the research findings found that the objectives had been satisfied. Using DSR evaluation frameworks it was determined that the body of knowledge had improved an area of study with sufficient evidence generated to assert a nascent design theory for secure PESEs. The thesis highlights the limitations of the research while opportunities for future work are also identified. This thesis presents ten published papers coupled with additional doctoral research (that was not published) which postulates the research argument that ‘secure PESEs can be used to manage information security risks within the remote work environment’

    Implementing an Embedded Linux System in Xilinx Zynq

    Get PDF
    [ENG]The final achievement of this project is to develop and implement a custom and Embedded Linux Operating System (OS) integrated with a specific PL peripheral. This OS will be developed on ZedBoard (Zynq Evaluation & Development Board) development kit, Xilinx's Zynq-7000 All Programmable System on Chip which contains a dual core ARM Cortex-A9 and a 7 Series FPGA Artix-7. Therefore, how to create, configure, build and implement an Embedded Linux OS on ZedBoard will be explained in detail during this Final Bachelor Thesis. The entire development process has been structured in several chapters according to the logic order which should be followed to perform it. An overview of the chapters is showed below: Chapter 1: overall vision of the goals of this project and why perform it. Chapter 2: short introduction to Embedded Systems, to ZedBoard, to Xilinx Design Environment, and to some GNU tools. Chapter 3: configuration and implementation of a “Basic” and Custom Embedded Linux OS. Note the importance which BuildRoot will have in this process. Chapter 4: configuration and implementation of a complete Ubuntu Linux OS. Note that this Ubuntu version can be used as any generic PC. Chapter 5: summary of the achieved objectives and the respective conclutions. Chapter 6: the bibliography which has been used to perform this thesis. Appendix 1: the whole process (i.e. step by step) of developing and implementing the two different operating systems on ZedBoard. Appendix 2: the tools and programs which have been required before start this thesis. [SPA] El objetivo final de este proyecto es el desarrollo y la implementación de un Sistema Operativo (SO) Linux Embebido personalizado. Este SO será desarrollado sobre el kit de desarrollo ZedBoard (Zynq Evaluation & Development Board), el cual consiste en un sistema Xilinx's Zynq-7000 All Programmable System on Chip, que se puede dividir en un procesador ARM Cortex-A9 de doble núcleo, y en una 7 Series FPGA Artix-7. Por lo tanto, cómo crear, configurar, construir e implementar este SO Linux Embebido personalizado sobre la ZedBoard, será profundamente explicado durante todo este Trabajo de Fin de Grado. El proceso de desarrollo ha sido estructurado en 6 capítulos y 2 apéndices, acorde con el orden lógico y temporal que debería ser seguido para implementar este proyecto. A continuación, se muestra un resumen de cada capítulo: Capítulo 1: visión general de todos los objetivos de este proyecto y por qué son interesantes. Capítulo 2: breve introducción a los sistemas embebidos, a la placa ZedBoard, al entorno de desarrollo Xilinx Design Environment y a algunas herramientas GNU. Capítulo 3: configuración e implementación de un básico y personalizado SO Linux Embebido. Destacar la importancia que BuildRoot tendrá en este proceso.Capítulo 4: configuración e implementación de un completo SO Ubuntu Linux. Destacar que esta versión de Ubuntu puede perfectamente ser utilizada para las mismas tareas que cualquier ordenador convencional. Capítulo 5: resumen de todos los logros alcanzados y respectivas conclusiones. Capítulo 6: bibliografía utilizada durante este proyecto. Apéndice 1: proceso íntegro (paso a paso) sobre cómo desarrollar e implementar los dos SO que han sido mencionados previamente sobre la ZedBoard. Apéndice 2: programas que deben ser instalados antes de empezar este proyecto.Escuela Técnica Superior de Ingeniería de TelecomunicaciónUniversidad Politécnica de Cartagen

    Performance and enhancement for HD videoconference environment

    Get PDF
    In this work proposed here is framed in the project of research V3 (Video, Videoconference, and Visualization) of the Foundation i2CAT, that has for final goal to design and development of a platform of video, videoconference and independent visualization of resolution in high and super though inside new generation IP networks. i2CAT Foundation uses free software for achieving its goals. UltraGrid for the transmission of HD video is used and SAGE is used for distributed visualization among multiple monitors. The equipment used for management (capturing, sending, visualization, etc) of the high definition stream of work environment it has to be optimized so that all the disposable resources can be used, in order to improve the quality and stability of the platform. We are speaking about the treatment of datum flows of more of 1 Gbps with raw formats, so that the optimization of the use of the disposable resources of a system is given back a need. In this project it is evaluated the requirements for the high definition streams without compressing and a study of the current platform is carried out, in order to extract the functional requirements that an optimum system has to have to work in the best conditions. From this extracted information, a series of systems tests are carried out in order to improve the performance, from level of network until level of application. Different distributions of the Linux operating system have been proved in order to evaluate their performance. These are Debian 4 and openSUSE 10.3. The creation of a system from sources of software has also been proved in order to optimize its code in the compilation. It has been carried out with the help of Linux From Scratch project. It has also been tried to use systems Real Time (RT) with the distributions used. It offers more stability in the stream frame rate. Once operating systems has been test, it has proved different compilers in order to evaluate their efficiency. The GCC and the Intel C++ Compilers have proved, this second with more satisfactory results. Finally a Live CD has been carried out in order to include all the possible improvements in a system of easy distribution
    corecore