Installing a Real-Time Linux Kernel for Dummies

Total Page:16

File Type:pdf, Size:1020Kb

Installing a Real-Time Linux Kernel for Dummies Real-Time Linux for Dummies Jeroen de Best, Roel Merry DCT 2008.103 Eindhoven University of Technology Department of Mechanical Engineering Control Systems Technology group P.O. Box 513, WH -1.126 5600 MB Eindhoven, the Netherlands Phone: +31 40 247 42 27 Fax: +31 40 246 14 18 Email: [email protected], [email protected] Website: http://www.dct.tue.nl Eindhoven, January 5, 2009 Contents 1 Introduction 1 2 Installing a Linux distribution 3 2.1 Ubuntu 7.10 . .3 2.2 Mandriva 2008 ONE . .6 2.3 Knoppix 3.9 . 10 3 Installing a real-time kernel 17 3.1 Automatic (Ubuntu only) . 17 3.1.1 CPU Scaling Settings . 17 3.2 Manually . 18 3.2.1 Startup/shutdown problems . 25 4 EtherCAT for Unix 31 4.1 Build Sources . 38 4.1.1 Alternative timer in the EtherCAT Target . 40 5 TUeDACs 43 5.1 Download software . 43 5.2 Configure and build software . 44 5.3 Test program . 45 6 Miscellaneous 47 6.1 Installing ps2 and ps4 printers . 47 6.1.1 In Ubuntu 7.10 . 47 6.1.2 In Mandriva 2008 ONE . 47 6.2 Configure the internet connection . 48 6.3 Installing Matlab2007b for Unix . 49 6.4 Installing JAVA . 50 6.5 Installing SmartSVN . 50 6.6 Ubuntu 7.10, Gutsy Gibbon freezes every 10 minutes for approximately 10 sec 51 6.7 Installing Syntek Semicon DC1125 Driver . 52 Bibliography 55 A Menu.lst HP desktop computer DCT lab WH -1.13 57 i ii CONTENTS Chapter 1 Introduction This document describes the steps needed in order to obtain a real-time operating system based on a Linux distribution. The installation of three distributions will be discussed, being Ubuntu 7.10, Mandriva 2008 ONE and Knoppix 3.0. Furthermore, it discusses the installation of programs like Matlab and several useful configuration settings are given. The document is written for use in the DCT group of the Mechanical Engineering depart- ment, Eindhoven University of Technology. Some parts are specific for the working environ- ment in mind and are not generally applicable. The installation of the Linux distributions is described in Chapter 2. Two ways of in- stalling a real-time kernel, the automatic way in Ubuntu and a more general way, are given in Chapter 3. How to incorporate EtherCAT or TUeDACs with your real-time Linux is ex- plained in Chapter 4 and Chapter 5 respectively. Finally, the settings and installation of printers, internet, Matlab, Java, SmartSVN and more is contained in Chapter 6. 1 2 CHAPTER 1. INTRODUCTION Chapter 2 Installing a Linux distribution This chapter describes the installation of Ubuntu 7.10 in Section 2.1, Mandriva 2008 ONE in Section 2.2 and Knoppix 3.9 in 2.3 respectively. 2.1 Ubuntu 7.10 This section describes how to install Ubuntu 7.10, Gutsy Gibbon. Therefore, go to the website of Ubuntu [13], and download the distribution. This should be an image file ubuntu-7.10- desktop-i386.iso. Burn the image to a CD and reboot the system. Make sure that it boots from CD. This option can be set in your BIOS settings. During the booting of your system choose `Start or install Ubuntu' which is the default option. After booting the desktop shown in Fig. 2.1 will appear. Figure 2.1: Startup desktop of Ubuntu 7.10. To install Ubuntu onto your harddisk, double-click the Install icon from the desktop. At the first step choose your language (English) and select `Forward'. At the second step choose 3 4 CHAPTER 2. INSTALLING A LINUX DISTRIBUTION your time-zone. The time-zones are sorted by continent. Choose Europe, Amsterdam and select `Forward'. At the third step choose your keyboard settings. You can try the settings in the lower area of the setup screen. Default is U.S. English, U.S. English. Select `Forward'. At the fourth step you are asked to prepare the disks. Choose for the manual option here and select `Forward'. To determine which disks are your windows disks (C:n and D:n) make use of the following programs which can be started by clicking from the top menubar • Places ! Computer • System ! Administration ! System monitor For this case the following holds: • /dev/sda5, which is the same as /media/DATA is the data disk under windows (D:n), see Fig. 2.2. Figure 2.2: Partition /dev/sda5. • /dev/sda2, which is the same as /media/System is the windows disk under windows (C:n), see Fig. 2.3. • /dev/sda1, which is the same as /media/RECOVERY is the recovery disk under windows (not present on all computers). Consecutively, select each partition, other than the windows partitions that should be kept, and delete those partitions by clicking `Delete partition'. In this case that would be the /dev/sda6 and /dev/sda7, see also Fig. 2.4. After deleting select `free space' and click `New partition'. First make a logical partition of 2048 megabytes which is located at the beginning. Use this partition as a swap partition. This can be chosen in the `Use as' drop down menu. See also Fig. 2.5 for the settings. Select `Ok'. 2.1. UBUNTU 7.10 5 Figure 2.3: Partition /dev/sda2. Figure 2.4: After partitions removed. Secondly, make a logical partition of the remaining size which is located also at the beginning. Use this partition as an ext3 partition. This can be chosen in the `Use as' drop down menu. The mount point should be `/'. See also Fig. 2.6 for the settings. Select `Ok'. Now, all disk space is partitioned. Turn on the `Format?' option for the ext3 partition and select `Forward'. At step number five, do not Migrate Documents and Settings and select `Forward'. At the sixth step fill in the form about who you are. Make sure that the name of your computer coincides with the TUE name of the computer, in order to prevent 6 CHAPTER 2. INSTALLING A LINUX DISTRIBUTION Figure 2.5: Settings swap disk partition. Figure 2.6: Settings ext3 disk partition. network problems. Select `Forward'. At the final step make sure that there is no internet connection and click `Install' to install Ubuntu 7.10 to your harddisk. This may take a while, but is approximately 45 minutes depending on the specifications of your computer. During the installation you will get a message about security updates. Simply accept this message by clicking `Ok'. After the installation is completed a screen will pop-up in which you are asked to restart your computer to use the harddisk installed Ubuntu. Therefore click `Restart now'. The system will reboot now. During the restart a menu called GRUB will appear in which you can chose which operating system you would like to boot. In this case select `Ubuntu 7.10, kernel 2.6.22-14-generic', which is the first default option. Use your username and password to log on to Ubuntu. After the startup a similar desktop as the previous startup should appear, see Fig. 2.1. 2.2 Mandriva 2008 ONE The installation of the Mandriva distribution, in this case Mandriva 2008 ONE, will be de- scribed in this section. To download the .ISO file of the live CD go to the website of Man- driva [7]. Burn the image to a CD and boot the system from this CD. On boot you are asked to choose a language: `English (American)' and your country: `Belgium'. Then `Ac- cept' the license agreement and choose `Next'. Select as keyboard layout the `US keyboard (international)', confirm with `Next'. Choose as timezone `Amsterdam' and `Next'. Choose the correct time, followed by `Next'. If the screen stays black, move the mouse. Choose `No 3D desktop effects' and `Next'. Now the system will boot. After booting, the desktop of Fig. 2.7 will appear. The installation of Mandriva on your harddisk can be started by clicking the `Live Install' icon. The Mandriva Live installation wizard, shown in Fig. 2.8, will appear. Choose `Next' to start the installation procedure. 2.2. MANDRIVA 2008 ONE 7 Figure 2.7: Startup desktop of Mandriva 2008 ONE. Figure 2.8: Mandriva Live installation wizard. Since most systems already have a Windows installation, choose `Custom disk partitioning' in the installation options step, as shown in Fig. 2.9. With this option you can resize, delete and create new partitions according to your own needs. You will be asked to backup your data first before proceeding. Choose `Exit' if you want to backup first and do the installation later, otherwise `Continue'. Next the present disk partitioning with sizes and types of the various partitions are shown. See for an example Fig. 2.10, which has two Windows partitions, one ext3 and one swap parti- tion. Select the existing ext3 partition and delete the partition by clicking the button `Delete'. Delete also the existing swap partition. The drive partitioning should now contain only the Windows partitions, as shown in Fig. 2.11. If the system has more than one physical harddisk 8 CHAPTER 2. INSTALLING A LINUX DISTRIBUTION Figure 2.9: Mandriva Live installation options. drive, the different harddisk drives will appear as separate tabs in the disk partitioning screen. Figure 2.10: Example initial disk partitioning. Figure 2.11: Deleted ext3 and swap partitions. The next step is to create a new swap partition and ext3 partition in the free space of the harddisk drive. Start making the swap partition by selecting the free space in the partitioning table and click `Create'.
Recommended publications
  • Implementation of a Linux Kernel Module to Stress Test Memory Subsystems in X86 Architecture
    Robert Taylor Implementation of a Linux Kernel Module to Stress Test Memory Subsystems in x86 Architecture Helsinki Metropolia University of Applied Sciences Bachelor of Engineering Information Technology 27th February 2011 Abstract Author(s) Robert Taylor Title Implementation of a Linux Kernel Module to Stress Test Memory Subsystems in x86 Architecture Number of Pages 36 pages Date 27 February 2011 Degree Bachelor of Engineering Degree Programme Information Technology Specialisation option Software Engineering Antti Piironen, Dr (Project Supervisor) Instructors Janne Kilpelainen (Hardware Supervisor, NSN) Antti Virtaniemi (Software Supervisor, NSN) The aim of the project was to implement software which would stress test the memory subsystem of x86 based hardware for Nokia Siemens Networks (NSN). The software was to be used in the validation process of memory components during hardware develop- ment. NSN used a number of software tools during this process. However, none met all their requirements and a custom piece of software was required. NSN produced a detailed requirements specification which formed the basis of the project. The requirements left the implementation method open to the developer. After analysing the requirements document, a feasibility study was undertaken to determine the most fitting method of implementation. The feasibility study involved detailed discussions with senior engineers and architects within both the hardware and software fields at NSN. The study concluded that a Linux kernel module met the criteria best. The software was successfully implemented as a kernel module and met the majority of the requirements set by NSN. The software is currently in use at NSN and is being actively updated and maintained.
    [Show full text]
  • Desktop Migration and Administration Guide
    Red Hat Enterprise Linux 7 Desktop Migration and Administration Guide GNOME 3 desktop migration planning, deployment, configuration, and administration in RHEL 7 Last Updated: 2021-05-05 Red Hat Enterprise Linux 7 Desktop Migration and Administration Guide GNOME 3 desktop migration planning, deployment, configuration, and administration in RHEL 7 Marie Doleželová Red Hat Customer Content Services [email protected] Petr Kovář Red Hat Customer Content Services [email protected] Jana Heves Red Hat Customer Content Services Legal Notice Copyright © 2018 Red Hat, Inc. This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
    [Show full text]
  • Ubuntu Installation Guide
    Ubuntu Installation Guide Ubuntu Installation Guide Copyright © 2004 – 2020 the Debian Installer team Copyright © 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2015, 2018 Canonical Ltd. This document contains installation instructions for the Ubuntu 20.04 system (codename “‘Focal Fossa’”), for the S/390 (“s390x”) architecture. It also contains pointers to more information and information on how to make the most of your new Ubuntu system. This manual is free software; you may redistribute it and/or modify it under the terms of the GNU General Public License. Please refer to the license in Appendix F. Table of Contents Installing Ubuntu 20.04 “Focal Fossa” For s390x...........................................................................ix 1. Welcome to Ubuntu ........................................................................................................................1 1.1. What is Ubuntu?...................................................................................................................1 1.1.1. Sponsorship by Canonical .......................................................................................1 1.2. What is Debian? ...................................................................................................................1 1.2.1. Ubuntu and Debian..................................................................................................2 1.2.1.1. Package selection........................................................................................2 1.2.1.2. Releases.......................................................................................................3
    [Show full text]
  • Enable USB Drivers on Linux
    Enable USB drivers on Linux INTHISDOCUMENT · Enable USB driver on system with USBFS support · Enable USB driver on system without USBFS support · Additional notes for FTDI/XTAG debug adapters The XMOS tools interface to development boards using USB debug adapters. USB driver support is provided natively on Linux, but in some cases, the driver must be enabled. The method required to enable the driver depends on the Linux distribution you are using and the kernel version. Linux distributions known to provide USBFS support include: · Ubuntu 9.04 or older · Ubuntu 9.10 with kernel 2.6.31-19-server · CentOS 4.8 and 5.4 · Generally, any distribution with kernel version < 2.6.32 Linux distributions known to not provide USBFS support include: · Ubuntu 10.04 · Generally, any distribution with kernel version >= 2.6.32 1 Enable USB driver on system with USBFS support If your distribution provides USBFS support, use the following command to enable the Linux driver: · mount -t usbfs none /proc/bus/usb -o devmode=0666 To automatically enable the driver on boot, add the following line to the file /etc/fstab: none /proc/bus/usb usbfs defaults,devmode=0666 0 0 Publication Date: 2012/10/30 Document Number: X2612A XMOS © 2012, All Rights Reserved Enable USB drivers on Linux 2/3 2 Enable USB driver on system without USBFS support If you distribution does not provide USBFS support, you must configure udev to recognise the device. To configure udev, follow these steps: 1. Create a file /etc/udev/rules.d/99-xmos.rules with the following contents: SUBSYSTEM!="usb|usb_device", GOTO="xmos_rules_end" ACTION!="add", GOTO="xmos_rules_end" # 20b1:f7d1 for xmos xtag2 ATTRS{idVendor}=="20b1", ATTRS{idProduct}=="f7d1", MODE="0666", SYMLINK+="xtag2-%n" # 0403:6010 for XC-1 with FTDI dual-uart chip ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="0666", SYMLINK+="xc1-%n" LABEL="xmos_rules_end" The ATTRS, MODE and SYMLINK stanzas must be all on one line, as each rule can only be on one line.
    [Show full text]
  • Release Notes for Debian GNU/Linux 5.0 (Lenny), Alpha
    Release Notes for Debian GNU/Linux 5.0 (lenny), Alpha The Debian Documentation Project (http://www.debian.org/doc/) November 11, 2010 Release Notes for Debian GNU/Linux 5.0 (lenny), Alpha Published 2009-02-14 This document is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- out even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. The license text can also be found at http://www.gnu.org/copyleft/gpl.html and /usr/ share/common-licenses/GPL-2 on Debian GNU/Linux. ii Contents 1 Introduction 3 1.1 Reporting bugs on this document . .3 1.2 Contributing upgrade reports . .3 1.3 Sources for this document . .4 2 What’s new in Debian GNU/Linux 5.05 2.1 What’s new in the distribution? . .5 2.1.1 Package management . .7 2.1.2 The proposed-updates section . .7 2.2 System improvements . .8 2.3 Major kernel-related changes . .8 2.3.1 Changes in kernel packaging . .8 2.4 Emdebian 1.0 (based on Debian GNU/Linux lenny 5.0) . .9 2.5 Netbook support .
    [Show full text]
  • Flexible Lustre Management
    Flexible Lustre management Making less work for Admins ORNL is managed by UT-Battelle for the US Department of Energy How do we know Lustre condition today • Polling proc / sysfs files – The knocking on the door model – Parse stats, rpc info, etc for performance deviations. • Constant collection of debug logs – Heavy parsing for common problems. • The death of a node – Have to examine kdumps and /or lustre dump Origins of a new approach • Requirements for Linux kernel integration. – No more proc usage – Migration to sysfs and debugfs – Used to configure your file system. – Started in lustre 2.9 and still on going. • Two ways to configure your file system. – On MGS server run lctl conf_param … • Directly accessed proc seq_files. – On MSG server run lctl set_param –P • Originally used an upcall to lctl for configuration • Introduced in Lustre 2.4 but was broken until lustre 2.12 (LU-7004) – Configuring file system works transparently before and after sysfs migration. Changes introduced with sysfs / debugfs migration • sysfs has a one item per file rule. • Complex proc files moved to debugfs • Moving to debugfs introduced permission problems – Only debugging files should be their. – Both debugfs and procfs have scaling issues. • Moving to sysfs introduced the ability to send uevents – Item of most interest from LUG 2018 Linux Lustre client talk. – Both lctl conf_param and lctl set_param –P use this approach • lctl conf_param can set sysfs attributes without uevents. See class_modify_config() – We get life cycle events for free – udev is now involved. What do we get by using udev ? • Under the hood – uevents are collect by systemd and then processed by udev rules – /etc/udev/rules.d/99-lustre.rules – SUBSYSTEM=="lustre", ACTION=="change", ENV{PARAM}=="?*", RUN+="/usr/sbin/lctl set_param '$env{PARAM}=$env{SETTING}’” • You can create your own udev rule – http://reactivated.net/writing_udev_rules.html – /lib/udev/rules.d/* for examples – Add udev_log="debug” to /etc/udev.conf if you have problems • Using systemd for long task.
    [Show full text]
  • Passive Asset Discovery and Operating System Fingerprinting in Industrial Control System Networks
    Eindhoven University of Technology MASTER Passive asset discovery and operating system fingerprinting in industrial control system networks Mavrakis, C. Award date: 2015 Link to publication Disclaimer This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required minimum study period may vary in duration. General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain Department of Mathematics and Computer Science Passive Asset Discovery and Operating System Fingerprinting in Industrial Control System Networks Master Thesis Chris Mavrakis Supervisors: prof.dr. S. Etalle dr. T. Oz¸celebi¨ dr. E. Costante Eindhoven, October 2015 Abstract Maintaining situational awareness in networks of industrial control systems is challenging due to the sheer number of devices involved, complex connections between subnetworks and the delicate nature of industrial processes. While current solutions for automatic discovery of devices and their operating system are lacking, plant operators need to have accurate information about the systems to be able to manage them effectively and detect, prevent and mitigate security and safety incidents.
    [Show full text]
  • Version 7.8-Systemd
    Linux From Scratch Version 7.8-systemd Created by Gerard Beekmans Edited by Douglas R. Reno Linux From Scratch: Version 7.8-systemd by Created by Gerard Beekmans and Edited by Douglas R. Reno Copyright © 1999-2015 Gerard Beekmans Copyright © 1999-2015, Gerard Beekmans All rights reserved. This book is licensed under a Creative Commons License. Computer instructions may be extracted from the book under the MIT License. Linux® is a registered trademark of Linus Torvalds. Linux From Scratch - Version 7.8-systemd Table of Contents Preface .......................................................................................................................................................................... vii i. Foreword ............................................................................................................................................................. vii ii. Audience ............................................................................................................................................................ vii iii. LFS Target Architectures ................................................................................................................................ viii iv. LFS and Standards ............................................................................................................................................ ix v. Rationale for Packages in the Book .................................................................................................................... x vi. Prerequisites
    [Show full text]
  • Embedded Systems 2/7
    Embedded systems 2/7 J.-M Friedt Introduction Virtual memory access Embedded systems 2/7 Kernel module basics Using the kernel: timers J.-M Friedt Conclusion & lab session FEMTO-ST/d´epartement temps-fr´equence [email protected] slides at jmfriedt.free.fr September 9, 2020 1 / 24 Embedded systems 2/7 J.-M Friedt Operating system: the need for Introduction drivers Virtual memory access Kernel module basics Using the kernel: timers • Hardware abstraction: hide low level functions so that the developer Conclusion & lab session can focus on the functionalities provided by the peripheral ! a single entry point providing system calls (open, read, write, close) hiding access to hardware • Homogeneous interface to all peripherals (\Everything is a file") • Only the kernel can access hardware resources (DMA, interrupts) • Share resources and make sure only one process can access a given hardware function • Add functionalities to the Linux kernel: modules 2 / 24 Embedded systems 2/7 J.-M Friedt Virtual memory/hardware memory Introduction Hardware memory addressing Virtual memory • hardware memory: a value on the address bus identifies which access peripheral is active Kernel module basics • each peripheral decodes the address bus to detect whether it is the Using the kernel: target of a message timers • Conclusion & lab only one peripheral must match a given physical address (otherwise, session conflict) Virtual memory addressing • each process has its own address space • memory organization independent of physical constraints • dynamic loading
    [Show full text]
  • Praat Scripting Tutorial
    Praat Scripting Tutorial Eleanor Chodroff Newcastle University July 2019 Praat Acoustic analysis program Best known for its ability to: Visualize, label, and segment audio files Perform spectral and temporal analyses Synthesize and manipulate speech Praat Scripting Praat: not only a program, but also a language Why do I want to know Praat the language? AUTOMATE ALL THE THINGS Praat Scripting Why can’t I just modify others’ scripts? Honestly: power, flexibility, control Insert: all the gifs of ‘you can do it’ and ‘you got this’ and thumbs up Praat Scripting Goals ~*~Script first for yourself, then for others~*~ • Write Praat scripts quickly, effectively, and “from scratch” • Learn syntax and structure of the language • Handle various input/output combinations Tutorial Overview 1) Praat: Big Picture 2) Getting started 3) Basic syntax 4) Script types + Practice • Wav files • Measurements • TextGrids • Other? Praat: Big Picture 1) Similar to other languages you may (or may not) have used before • String and numeric variables • For-loops, if else statements, while loops • Regular expression matching • Interpreted language (not compiled) Praat: Big Picture 2) Almost everything is a mouse click! i.e., Praat is a GUI scripting language GUI = Graphical User Interface, i.e., the Objects window If you ever get lost while writing a Praat script, click through the steps using the GUI Getting Started Open a Praat script From the toolbar, select Praat à New Praat script Save immediately! Save frequently! Script Goals and Input/Output • Consider what
    [Show full text]
  • Proceedings of the Linux Symposium
    Proceedings of the Linux Symposium Volume One June 27th–30th, 2007 Ottawa, Ontario Canada Contents The Price of Safety: Evaluating IOMMU Performance 9 Ben-Yehuda, Xenidis, Mostrows, Rister, Bruemmer, Van Doorn Linux on Cell Broadband Engine status update 21 Arnd Bergmann Linux Kernel Debugging on Google-sized clusters 29 M. Bligh, M. Desnoyers, & R. Schultz Ltrace Internals 41 Rodrigo Rubira Branco Evaluating effects of cache memory compression on embedded systems 53 Anderson Briglia, Allan Bezerra, Leonid Moiseichuk, & Nitin Gupta ACPI in Linux – Myths vs. Reality 65 Len Brown Cool Hand Linux – Handheld Thermal Extensions 75 Len Brown Asynchronous System Calls 81 Zach Brown Frysk 1, Kernel 0? 87 Andrew Cagney Keeping Kernel Performance from Regressions 93 T. Chen, L. Ananiev, and A. Tikhonov Breaking the Chains—Using LinuxBIOS to Liberate Embedded x86 Processors 103 J. Crouse, M. Jones, & R. Minnich GANESHA, a multi-usage with large cache NFSv4 server 113 P. Deniel, T. Leibovici, & J.-C. Lafoucrière Why Virtualization Fragmentation Sucks 125 Justin M. Forbes A New Network File System is Born: Comparison of SMB2, CIFS, and NFS 131 Steven French Supporting the Allocation of Large Contiguous Regions of Memory 141 Mel Gorman Kernel Scalability—Expanding the Horizon Beyond Fine Grain Locks 153 Corey Gough, Suresh Siddha, & Ken Chen Kdump: Smarter, Easier, Trustier 167 Vivek Goyal Using KVM to run Xen guests without Xen 179 R.A. Harper, A.N. Aliguori & M.D. Day Djprobe—Kernel probing with the smallest overhead 189 M. Hiramatsu and S. Oshima Desktop integration of Bluetooth 201 Marcel Holtmann How virtualization makes power management different 205 Yu Ke Ptrace, Utrace, Uprobes: Lightweight, Dynamic Tracing of User Apps 215 J.
    [Show full text]
  • Performance Assessment of Linux Kernels with PREEMPT RT on ARM-Based Embedded Devices
    electronics Article Performance Assessment of Linux Kernels with PREEMPT_RT on ARM-Based Embedded Devices George K. Adam 1,* , Nikos Petrellis 2 and Lambros T. Doulos 3 1 CSLab Computer Systems Laboratory, Department of Digital Systems, University of Thessaly, 41500 Larisa, Greece 2 Department of Electrical and Computer Engineering, University of Peloponnese, 26334 Patra, Greece; [email protected] 3 School of Applied Arts, Hellenic Open University, 26335 Patra, Greece; [email protected] * Correspondence: [email protected]; Tel.: +30-241-0684-596 Abstract: This work investigates the real-time performance of Linux kernels and distributions with a PREEMPT_RT real-time patch on ARM-based embedded devices. Experimental measurements, which are mainly based on heuristic methods, provide novel insights into Linux real-time perfor- mance on ARM-based embedded devices (e.g., BeagleBoard and RaspberryPi). Evaluations of the Linux real-time performance are based on specific real-time software measurement modules, devel- oped for this purpose, and the use of a standard benchmark tool, cyclictest. Software modules were designed upon the introduction of a new response task model, an innovative aspect of this work. Measurements include the latency of response tasks at user and kernel space, the response on the exe- cution of periodic tasks, the maximum sustained frequency and general latency performance metrics. The results show that in such systems the PREEMPT_RT patch provides more improved real-time performance than the default Linux kernels. The latencies and particularly the worst-case latencies are reduced with real-time support, thus making such devices running Linux with PREEMPT_RT Citation: Adam, G.K.; Petrellis, N.; more appropriate for use in time-sensitive embedded control systems and applications.
    [Show full text]