Ottimizzare i tempi di boot di Linux. Andrea Righi -

Size: px
Start display at page:

Download "Ottimizzare i tempi di boot di Linux. Andrea Righi -"

Transcription

1 Ottimizzare i tempi di boot di Linux

2 Agenda Overview Case study: Raspberry Pi Kernel optimizations rootfs optimizations Q/A

3 Why a faster boot? Consumer electronics products require very fast boot times (digital camera, TV, mobile phone, etc.) Fast recovery upon system failures (crashes) You can show to your friends your new awesome board booting in a couple of seconds ;-)

4 Overview of boot phases Firmware (boot-loader) Hardware probing Hardware initialization Kernel load and decompression Kernel execution Core init (start_kernel) Driver init (initcalls) User-space init /sbin/init RC scripts Application start (first user impression)

5 Generic concepts Identify boot time functionalities Measure boot time of each functionality Remove unnecessary functionalities Optimize required functions Defer loading of less-important features (modularization - LKM) Re-order initialization / parallelization Asynchronous initialization

6 Generic concepts Identify boot time functionalities Measure boot time of each functionality Remove unnecessary functionalities Optimize required functions Defer loading of less-important features (modularization - LKM) Re-order initialization / parallelization Asynchronous initialization Premature optimization is the root of all evil. -Donald Knuth

7 Case study Raspberry Pi Boot time functionality Reponsive ssh login Tools and techniques used to improve boot time Focusing on cold-boot optimizations

8 Boot steps RPi boot steps: 1st-stage boot loader from SoC BCM2835 ROM bootcode.bin: 2nd-stage boot loader from external SD card, starts the GPU start.elf: GPU firmware, starts the CPU kernel.img: Linux rootfs: external SD card application: ssh (dropbear)

9 Measure boot-time functionality (kernel) CONFIG_PRINTK_TIME Configure it in Kernel hacking section Adds timing informations to kernel messages (dmesg) # dmesg... [ ] initcall bcm_mbox_init+0x0/0x38 returned 0 after 0 usecs [ ] calling 1 [ ] bcm_power: Broadcom power driver [ ] bcm_power_open() -> 0 [ ] bcm_power_request(0, 8) [ ] bcm_mailbox_read -> , 0 [ ] bcm_power_request -> 0 [ ] initcall bcm_power_init+0x0/0xa4 returned 0 after usecs

10 Kernel initcall tracer Introduced in Linux Add initcall_debug to the kernel boot options Allows to record the timings of each initcall in dmesg # dmesg grep " initcall " sed "s/ */ /g" sort -n -t' ' -k8 tail -5 [ ] initcall bcm2708_fb_init+0x0/0xc returned 0 after usecs [ ] initcall pty_init+0x0/0x3e0 returned 0 after usecs [ ] initcall init_kprobes+0x0/0x108 returned 0 after usecs [ ] initcall dwc_otg_driver_init+0x0/0xb8 returned 0 after usecs [ ] initcall bcm_power_init+0x0/0xac returned 0 after usecs

11 Kernel initcall tracer (example) dmesg > dmesg.log cat dmesg.log perl scripts/bootgraph.pl > /boot/dmesg.svg

12 Raspbian General-purpose distro based on Debian Optimized for the Raspberry Pi compilation settings adjusted to produce hard-float code wheezy-raspbian.img

13 Raspbian: boot time # dmesg... [ ] smsc95xx 1-1.1:1.0: eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:a9:d6:24 [ ] EXT4-fs (mmcblk0p2): recovery complete [ ] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null) [ ] VFS: Mounted root (ext4 filesystem) on device 179:2. [ ] devtmpfs: mounted [ ] Freeing init memory: 128K [ ] init start [ ] udevd[154]: starting version 175 [ ] Registered led device: led0 [ ] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null) [ ] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null) [ ] smsc95xx 1-1.1:1.0: eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1 [ ] Adding k swap on /var/swap. Priority:-1 extents:2 across:507900k SS [ ] init done - Shell after ~6.3sec - SSH after ~30.5sec

14 sysv-rc-conf Run-level configuration for SysV like init scripts disable npt disable plymouth disable rsync disable x11-common and lightdm disable alsa-utils disable swap (dphys-swapfile) disable checkfs disable ntp

15 Static IP vs DHCP Assign a static IP to the board (save the time to get an IP via DHCP) Disable CONFIG_IP_PNP in the kernel.config Used to mount rootfs via NFS

16 Raspbian: boot time after simple optimizations # dmesg... [ ] smsc95xx 1-1.1:1.0: eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:a9:d6:24 [ ] EXT4-fs (mmcblk0p2): recovery complete [ ] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null) [ ] VFS: Mounted root (ext4 filesystem) on device 179:2. [ ] devtmpfs: mounted [ ] Freeing init memory: 128K [ ] init start [ ] udevd[154]: starting version 175 [ ] calling leds_init+0x0/0x [ ] initcall leds_init+0x0/0x60 [led_class] returned 0 after 82 usecs [ ] calling gpio_led_driver_init+0x0/0xc 229 [ ] Registered led device: led0 [ ] initcall gpio_led_driver_init+0x0/0xc [leds_gpio] returned 0 after 1344 usecs [ ] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null) [ ] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null) [ ] smsc95xx 1-1.1:1.0: eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1 [ ] init done About 25 sec to login via ssh, instead of 30 sec (16% faster)

17 Build a minimal distro from scratch: requirements build toolchain (gcc, glibc, binutils) git://github.com/raspberrypi/tools.git HINT: use hard-float toolchain (arm-bcm2708hardfp-linux-gnueabi) Linux (kernel) git://github.com/raspberrypi/linux.git busybox (rootfs) git://busybox.net/busybox.git dropbear (ssh server)

18 Kernel initcalls (before optimization) # dmesg grep " initcall " sed "s/ */ /g" sort -n -t' ' -k8... [ ] initcall iscsi_transport_init+0x0/0x154 returned 0 after 446 usecs [ ] initcall bcm2835_thermal_driver_init+0x0/0xc returned 0 after 451 usecs [ ] initcall pm_qos_power_init+0x0/0xac returned 0 after 713 usecs [ ] initcall sysctl_ipv4_init+0x0/0x98 returned 0 after 755 usecs [ ] initcall vchiq_init+0x0/0x1dc returned 0 after 1565 usecs [ ] initcall sdhci_drv_init+0x0/0xc returned 0 after 1829 usecs [ ] initcall inet_init+0x0/0x260 returned 0 after 2739 usecs [ ] initcall loop_init+0x0/0x11c returned 0 after 4852 usecs [ ] initcall brd_init+0x0/0x1c0 returned 0 after 8230 usecs [ ] initcall genhd_device_init+0x0/0x84 returned 0 after 9765 usecs [ ] initcall chr_dev_init+0x0/0xd8 returned 0 after usecs [ ] initcall param_sysfs_init+0x0/0x1d4 returned 0 after usecs [ ] initcall bcm2708_fb_init+0x0/0xc returned 0 after usecs [ ] initcall pty_init+0x0/0x3e0 returned 0 after usecs [ ] initcall init_kprobes+0x0/0x108 returned 0 after usecs [ ] initcall dwc_otg_driver_init+0x0/0xb8 returned 0 after usecs [ ] initcall bcm_power_init+0x0/0xac returned 0 after usecs

19 Kernel optimizations (initcalls) disable kprobes (CONFIG_KPROBES): ~95ms reduce the number of PTYs: ~90ms CONFIG_LEGACY_PTY_COUNT=256 => CONFIG_LEGACY_PTY_COUNT=1 disable framebuffer: ~33ms remove loop device: ~5ms

20 Kernel initcalls (after optimization) # dmesg grep " initcall " sed "s/ */ /g" sort -n -t' ' -k8... [ ] initcall tun_init+0x0/0x8c returned 0 after 259 usecs [ ] initcall des_generic_mod_init+0x0/0x10 returned 0 after 341 usecs [ ] initcall bcm2835_cpufreq_module_init+0x0/0xc returned 0 after 358 usecs [ ] initcall pty_init+0x0/0x194 returned 0 after 375 usecs [ ] initcall vc_mem_init+0x0/0x1b4 returned 0 after 393 usecs [ ] initcall bcm2835_thermal_driver_init+0x0/0xc returned 0 after 393 usecs [ ] initcall deferred_probe_initcall+0x0/0x6c returned 0 after 395 usecs [ ] initcall bcm2708_gpio_init+0x0/0xc returned 0 after 405 usecs [ ] initcall pm_qos_power_init+0x0/0x60 returned 0 after 506 usecs [ ] initcall inet_init+0x0/0x260 returned 0 after 1540 usecs [ ] initcall net_secret_init+0x0/0x1c returned 0 after 2145 usecs [ ] initcall initialize_hashrnd+0x0/0x1c returned 0 after 3052 usecs [ ] initcall chr_dev_init+0x0/0xd8 returned 0 after usecs [ ] initcall param_sysfs_init+0x0/0x19c returned 0 after usecs [ ] initcall sdhci_drv_init+0x0/0xc returned 0 after usecs [ ] initcall dwc_otg_driver_init+0x0/0xc4 returned 0 after usecs [ ] initcall bcm_power_init+0x0/0xa4 returned 0 after usecs

21 Kernel optimizations (other optimizations) preset loops_per_jiffy At each boot the kernel calibrates a delay loop (used later by the udelay() function) 1 jiffy = time between 2 timer interrupts CONFIG_HZ=100 => 250ms!!! loop disable console output remove console=xxx and add quiet to the kernel boot parameters use LZO kernel decompression (CONFIG_KERNEL_LZO) LZO is a compression algorithm that is much faster than gzip, at the cost of a slightly degrade compression ratio (+10%) reduce kernel size... A smaller kernel is faster to load, less code also means smaller working set (good for caches)

22 Kernel image (before => after)

23 rootfs Generated using busybox and dropbear Hints about busybox (reduce fork()s): CONFIG_FEATURE_SH_STANDALONE: use applets instead of fork/exec/wait external binaries CONFIG_FEATURE_SH_NOFORK: call <applet>_main() directly without spawning another task Build everything with -Os Use mklibs to strip system libraries (rootfs is mounted to /mnt) mklibs -v -D -d lib2 -L /mnt/lib --ldlib lib/ld-linux.so.3 --target=arm-bcm2708-linux-gnueabi /mnt/bin/* /mnt/sbin/* /mnt/usr/sbin/* /mnt/usr/bin/*; rm -rf lib; mv lib2 lib After all these stops total rootfs size is ~3.2MB

24 filesystem optimizations Split the filesystem into read-only portion and read/write portion Read-only filesystem mounts faster Use Squashfs + tmpfs (or aufs)

25 root filesystem: boot time

26 Kernel image (before => after) 1.5GB 3.2MB

27 Demo: custom kernel+rootfs boot time... [ ] Freeing init memory: 92K [ ] init start [ ] waiting eth0 to come up [ ] usb 1-1: new high-speed USB device number 2 using dwc_otg [ ] Indeed it is in host mode hprt0 = [ ] hub 1-1:1.0: USB hub found [ ] hub 1-1:1.0: 3 ports detected [ ] usb 1-1.1: new high-speed USB device number 3 using dwc_otg [ ] smsc95xx v1.0.4 [ ] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:a9:d6:24 [ ] init done [ ] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1 - Shell after ~1.2 sec - SSH after ~3.4 sec

28 References LPC: Booting Linux in 5 Seconds - Arjan van de Ven's talk: elinux wiki - Tim's fastboot tools: elinux wiki- RPi Kernel Compilation: Update on boot time reduction techniques - Michael Opdenacker Linux: Busybox: Dropbear: Raspberry Pi: ry-pi

29 Q/A You're very welcome! #bem2013

Update on boot time reduction techniques

Update on boot time reduction techniques ELCE 2009 Update on boot time reduction techniques Michael Opdenacker Free Electrons 1 Linux kernel Linux device drivers Board support code Mainstreaming kernel code Kernel debugging Embedded Linux Training

More information

Raspberry Pi Network Boot

Raspberry Pi Network Boot Raspberry Pi Network Boot @Phenomer October 22, 2014 1 Raspberry Pi SD initrd 2 /srv/pxe ( ) /srv/pxe /srv/pxe/tftp - TFTP /srv/pxe/tftp/pxelinux.cfg - /srv/pxe/repo - /srv/pxe/initrd - initrd % sudo mkdir

More information

The Right Approach to Minimal Boot Times

The Right Approach to Minimal Boot Times The Right Approach to Minimal Boot Times Andrew Murray Senior Software Engineer CELF Embedded Linux Conference Europe 2010 MPC Data Limited is a company registered in England and Wales with company number

More information

ECE 471 Embedded Systems Lecture 16

ECE 471 Embedded Systems Lecture 16 ECE 471 Embedded Systems Lecture 16 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 6 October 2017 Midterm will be graded Don t forget HW#5 Announcements MEMSYS wrapup. Academia,

More information

Optimizing Linux Boot Time

Optimizing Linux Boot Time Optimizing Linux Boot Time This session gives an overview of methods for optimizing the boot time of a Linux system LAB: http://processors.wiki.ti.com/index.php/sitara_linux_training July 2012 Pre-work

More information

64 bit Bare Metal Programming on RPI-3. Tristan Gingold

64 bit Bare Metal Programming on RPI-3. Tristan Gingold 64 bit Bare Metal Programming on RPI-3 Tristan Gingold gingold@adacore.com What is Bare Metal? Images: Wikipedia No box What is Bare Metal? No Operating System Your application is the OS Why Bare Board?

More information

Raspberry Pi Kernel Install. By: Daniel Rizko

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

More information

ECE 471 Embedded Systems Lecture 12

ECE 471 Embedded Systems Lecture 12 ECE 471 Embedded Systems Lecture 12 Vince Weaver http://www.eece.maine.edu/~vweaver vincent.weaver@maine.edu 8 October 2015 Announcements Homework grades have been sent out, let me know if you did not

More information

ECE 471 Embedded Systems Lecture 16

ECE 471 Embedded Systems Lecture 16 ECE 471 Embedded Systems Lecture 16 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 15 October 2018 Announcements Midterm is graded Don t forget HW#5 No class Wednesday, Career

More information

IVI Fast boot approach

IVI Fast boot approach IVI Fast boot approach 07/13/2016 Yuichi Kusakabe SS Engineering Group Fujitsu TEN LIMITED 1 About Myself Yuichi Kusakabe (Fujitsu TEN LIMITED) Software Engineer of IVI about 10 years (for 16-bit and 32-bit

More information

Linux FastBoot. Reducing Embedded Linux Boot Times. Embedded World Conference 2012

Linux FastBoot. Reducing Embedded Linux Boot Times. Embedded World Conference 2012 Linux FastBoot Reducing Embedded Linux Boot Times Embedded World Conference 2012 Michael Röder Future Electronics Deutschland GmbH Detlev Zundel DENX Software Engineering GmbH Agenda Optimization Basics

More information

Cross-compilation with Buildroot

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

More information

Kernel Internals. Course Duration: 5 days. Pre-Requisites : Course Objective: Course Outline

Kernel Internals. Course Duration: 5 days. Pre-Requisites : Course Objective: Course Outline Course Duration: 5 days Pre-Requisites : Good C programming skills. Required knowledge Linux as a User Course Objective: To get Kernel and User Space of Linux and related programming Linux Advance Programming

More information

Linux development. Embedded Linux Optimization. Marco Stornelli. Created with OpenOffice.org Embedded Linux Optimization

Linux development. Embedded Linux Optimization. Marco Stornelli. Created with OpenOffice.org Embedded Linux Optimization Linux development Marco Stornelli Created with OpenOffice.org 3.1.1 1 Rights to copy Attribution ShareAlike 3.0 You are free to copy, distribute, display, and perform the work to make derivative works

More information

Embedded Linux Architecture

Embedded Linux Architecture Embedded Linux Architecture Types of Operating Systems Real-Time Executive Monolithic Kernel Microkernel Real-Time Executive For MMU-less processors The entire address space is flat or linear with no memory

More information

Achieve Fastest System Startup Sequences.

Achieve Fastest System Startup Sequences. Achieve Fastest System Startup Sequences. How to tune an Embedded System. Embedded Systems Design Conference ARM vs. x86 July 3, 2014 Kei Thomsen MicroSys Electronics GmbH Agenda Target: reduce startup

More information

Booting Linux Fast & Fancy. Embedded Linux Conference Europe Cambridge, Robert Schwebel

Booting Linux Fast & Fancy. Embedded Linux Conference Europe Cambridge, Robert Schwebel Booting Linux Fast & Fancy Embedded Linux Conference Europe Cambridge, 2010-10-28 Robert Schwebel Slide 1 - http://www.pengutronix.de - 01/11/2010 Motivation: Booting Linux

More information

Adding hardware support to Buildroot

Adding hardware support to Buildroot Adding hardware support to Buildroot Pierre Ficheux (pierre.ficheux@openwide.fr) CTO Open Wide / OS4I 08/07/2010 1 Several ways to get a distribution Using commercial product (Wind River, MV, ) => / $$$

More information

Lab2 - Bootloader. Conventions. Department of Computer Science and Information Engineering National Taiwan University

Lab2 - Bootloader. Conventions. Department of Computer Science and Information Engineering National Taiwan University Lab2 - Bootloader 1 / 20 Cross-compile U-Boot. Connect to Raspberry Pi via an USB-TTL cable. Boot Raspberry Pi via U-Boot. 2 / 20 Host Machine OS: Windows Target Machine Raspberry Pi (2 or 3) Build Machine

More information

ECE 471 Embedded Systems Lecture 15

ECE 471 Embedded Systems Lecture 15 ECE 471 Embedded Systems Lecture 15 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 10 October 2018 Midterm is Friday. Announcements 1 Homework #4 Review Still grading the code

More information

ECE 598 Advanced Operating Systems Lecture 2

ECE 598 Advanced Operating Systems Lecture 2 ECE 598 Advanced Operating Systems Lecture 2 Vince Weaver http://www.eece.maine.edu/~vweaver vincent.weaver@maine.edu 15 January 2015 Announcements Update on room situation (shouldn t be locked anymore,

More information

Poky Linux & OpenEmbedded based environment

Poky Linux & OpenEmbedded based environment & based environment Marcin Juszkiewicz marcin@juszkiewicz.com.pl http://marcin.juszkiewicz.com.pl ST-Ericsson Community Workshop 2009 Some information about me Bought Sharp Zaurus SL-5500 in February 2003

More information

Course 55187B Linux System Administration

Course 55187B Linux System Administration Course Outline Module 1: System Startup and Shutdown This module explains how to manage startup and shutdown processes in Linux. Understanding the Boot Sequence The Grand Unified Boot Loader GRUB Configuration

More information

Rootfs made easy with Buildroot

Rootfs made easy with Buildroot Kernel Recipes 2013 Rootfs made easy with Buildroot How kernel developers can finally solve the rootfs problem. Thomas Petazzoni Free Electrons thomas.petazzoni@free-electrons.com Free Electrons. Kernel,

More information

Track One Building a connected home automation device with the Digi ConnectCore Wi-i.MX51 using LinuxLink

Track One Building a connected home automation device with the Digi ConnectCore Wi-i.MX51 using LinuxLink Track One Building a connected home automation device with the Digi ConnectCore Wi-i.MX51 using LinuxLink Session 4 How to optimize, test and integrate the solution for quick deployment Audio streaming

More information

D1 - Embedded Linux. Building and installing an embedded and real-time Linux platform. Objectives. Course environment.

D1 - Embedded Linux. Building and installing an embedded and real-time Linux platform. Objectives. Course environment. Training Embedded Linux: Building and installing an embedded and real-time Linux platform - Operating Systems: Linux D1 - Embedded Linux Building and installing an embedded and real-time Linux platform

More information

D1S - Embedded Linux with Ac6 System Workbench

D1S - Embedded Linux with Ac6 System Workbench Formation Embedded Linux with Ac6 System Workbench: Implementing Linux on Embedded Systems - Systèmes d'exploitation: Linux D1S - Embedded Linux with Ac6 System Workbench Implementing Linux on Embedded

More information

Developing Environment for Intel Mainstone Board

Developing Environment for Intel Mainstone Board Developing Environment for Intel Mainstone Board Outline Introduction Board Bring-up Running Linux Kernel Building Your Own Linux Kernel Developing Your Own App 1 Introduction :: PXA27x XScale PXA27x Architecture

More information

Embedded lightweight unix

Embedded lightweight unix Embedded lightweight unix ELWIX its free now! Universal embedded system http://www.elwix.org/ Michael Pounov Since 2004 like propriatary OS Give best practices and features from *BSD

More information

Embedded Linux system development training 5-day session

Embedded Linux system development training 5-day session Embedded Linux system development training 5-day session Title Embedded Linux system development training Overview Bootloaders Kernel (cross) compiling and booting Block and flash filesystems C library

More information

Exam LFCS/Course 55187B Linux System Administration

Exam LFCS/Course 55187B Linux System Administration Exam LFCS/Course 55187B Linux System Administration About this course This four-day instructor-led course is designed to provide students with the necessary skills and abilities to work as a professional

More information

CST8177 Linux II. Linux Boot Process

CST8177 Linux II. Linux Boot Process CST8177 Linux II Linux Boot Process Reference information from the text, http://www.linuxdoc.org and several other web sites Linux Boot Process Topics covered in this slide-set Basic definition of the

More information

Boot time Optimization of Automotive Grade Linux. Shilu SL & Renjith G 14-Jul-2016

Boot time Optimization of Automotive Grade Linux. Shilu SL & Renjith G 14-Jul-2016 Boot time Optimization of Automotive Grade Linux Shilu SL & Renjith G 14-Jul-2016 1 Agenda Importance of Fast Boot in AGL Setting up of targets Boot time optimization techniques Explaining with a live

More information

Adding SD card to WRT54GL

Adding SD card to WRT54GL 1 of 7 04/08/2012 06:57 AM Adding SD card to WRT54GL From ivc wiki The WRT54GL is a cool little router based on Linux (GPL) and Open Source, thus allowing for extension of the core functions via software

More information

Lesson 7 Programming Embedded Galileo, Raspberry Pi, BeagleBone and mbed Platforms

Lesson 7 Programming Embedded Galileo, Raspberry Pi, BeagleBone and mbed Platforms Lesson 7 Programming Embedded Galileo, Raspberry Pi, BeagleBone and mbed Platforms 1 Development Of Programs For Prototype Development Platforms Done using an IDE The cycles of edit-test-debug used When

More information

Read-only rootfs. Theory and practice. Chris Simmonds. Embedded Linux Conference Europe Read-only rootfs 1 Copyright , 2net Ltd

Read-only rootfs. Theory and practice. Chris Simmonds. Embedded Linux Conference Europe Read-only rootfs 1 Copyright , 2net Ltd Read-only rootfs Theory and practice Chris Simmonds Embedded Linux Conference Europe 2016 Read-only rootfs 1 Copyright 2011-2016, 2net Ltd License These slides are available under a Creative Commons Attribution-ShareAlike

More information

Wirnet ifemtocell DATASHEET. Indoor LoRaWAN gateway for smart IoT chain. 1. Hardware Key Features. 1.1 Hardware block diagram.

Wirnet ifemtocell DATASHEET. Indoor LoRaWAN gateway for smart IoT chain. 1. Hardware Key Features. 1.1 Hardware block diagram. Wirnet ifemtocell Indoor LoRaWAN gateway for smart IoT chain Unlicensed band Long Range (LoRa ) bidirectional communications capabilities Supported bands: 863-873MHz, 902-928MHz, 915-928MHz (depending

More information

Linux Distribution: Kernel Configuration

Linux Distribution: Kernel Configuration Instituto Superior de Engenharia do Porto Mestrado em Engenharia Eletrotécnica e de Computadores Arquitetura de Computadores Linux Distribution: Kernel Configuration The central element of a GNU/Linux

More information

Quick Start Guide. The Raspberry Pi Single Board Computer. Source: Raspberry Pi & Wiki

Quick Start Guide. The Raspberry Pi Single Board Computer. Source: Raspberry Pi & Wiki Quick Start Guide The Raspberry Pi Single Board Computer Source: Raspberry Pi & Wiki Chapter 1: RPi Hardware Basic Setup Typical Hardware You Will Need While the RPi can be used without any additional

More information

Matrix 500 Quick Installation Guide

Matrix 500 Quick Installation Guide Overview Matrix 500 features four serial ports, 10/100 Mbps Ethernet, USB port and SD socket for flash disk expansion. The preinstall Linux OS and GNU tool chain make Matrix 500 ready for your application

More information

Advanced Embedded Systems

Advanced Embedded Systems Advanced Embedded Systems Practical & Professional Training on Advanced Embedded System Course Objectives : 1. To provide professional and industrial standard training which will help the students to get

More information

Track Three Building a Rich UI Based Dual Display Video Player with the Freescale i.mx53 using LinuxLink

Track Three Building a Rich UI Based Dual Display Video Player with the Freescale i.mx53 using LinuxLink Track Three Building a Rich UI Based Dual Display Video Player with the Freescale i.mx53 using LinuxLink Session 3 How to leverage hardware accelerated video features to play back 720p/1080p video Audio

More information

Update on boot time reduction techniques, with figures

Update on boot time reduction techniques, with figures Embedded Linux Conference 2014 Update on boot time reduction techniques, with figures Michael Opdenacker Bootlin michael.opdenacker@bootlin.com Clipart: http://openclipart.org/detail/46075/stop-watch-by-klaasvangend

More information

Raspberry Pi Introduction

Raspberry Pi Introduction ECE 1160/2160 Embedded Systems Design Raspberry Pi Introduction Wei Gao ECE 1160/2160 Embedded Systems Design 1 Raspberry Pi Classic embedded computer Single board computer Size of a credit card ECE 1160/2160

More information

ENHANCED EMBEDDED SYSTEMS NERVES PROJECT

ENHANCED EMBEDDED SYSTEMS NERVES PROJECT ENHANCED EMBEDDED SYSTEMS NERVES PROJECT 1980 SMALLER! EASIER! I NEED AN EMBEDDED SYSTEM AND I NEED IT IN 1 WEEK. Element ID this page intentionally left blank NERVES LET US CREATE AND DELIVER A

More information

Development Environment Embedded Linux Primer Ch 1&2

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

More information

D1Y - Embedded Linux with Yocto

D1Y - Embedded Linux with Yocto Training Embedded Linux with Yocto: Building embedded Linux platforms using Yocto - Operating Systems: Linux D1Y - Embedded Linux with Yocto Building embedded Linux platforms using Yocto Objectives Understanding

More information

At course completion. Overview. Audience profile. Course Outline. : 55187B: Linux System Administration. Course Outline :: 55187B::

At course completion. Overview. Audience profile. Course Outline. : 55187B: Linux System Administration. Course Outline :: 55187B:: Module Title Duration : 55187B: Linux System Administration : 4 days Overview This four-day instructor-led course is designed to provide students with the necessary skills and abilities to work as a professional

More information

MCAM335x Linux User's Guide

MCAM335x Linux User's Guide Pag. 1 of 17 MCAM335x Linux User's Guide Pag. 2 of 17 Contents MCAM335x Linux User's Guide... 1 About this Manual... 4 Installation... 4 Introduction... 4 Prerequisites... 4 Install LSP packages... 5 U

More information

Alpine Linux Documentation

Alpine Linux Documentation Alpine Linux Documentation Release 3.2 Alpine Linux Development Team March 03, 2016 Contents 1 About Alpine Linux 3 1.1 Small................................................... 3 1.2 Simple..................................................

More information

Track Three Building a Rich UI Based Dual Display Video Player with the Freescale i.mx53 using LinuxLink

Track Three Building a Rich UI Based Dual Display Video Player with the Freescale i.mx53 using LinuxLink Track Three Building a Rich UI Based Dual Display Video Player with the Freescale i.mx53 using LinuxLink Session 1 How to capture your initial Linux based product requirements and quickly build a custom

More information

EMBEDDED LINUX ON ARM9 Weekend Workshop

EMBEDDED LINUX ON ARM9 Weekend Workshop Here to take you beyond EMBEDDED LINUX ON ARM9 Weekend Workshop Embedded Linux on ARM9 Weekend workshop Objectives: Get you exposed with various trends in Embedded OS Leverage Opensource tools to build

More information

"Charting the Course... MOC B: Linux System Administration. Course Summary

Charting the Course... MOC B: Linux System Administration. Course Summary Description Course Summary This four-day instructor-led course is designed to provide students with the necessary skills and abilities to work as a professional Linux system administrator. The course covers

More information

EX L-8 User Guide

EX L-8 User Guide EX-9486-2L-8 User Guide Introduction: EX-9486-2L-8 are ARM9-based Linux ready industrial computer. The keyfeatures are as follow: 1. ARM920T ARM Thumb Processor with 200MIPS at 180MHz,Memory Management

More information

Embedded Systems Programming

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

More information

D, E I, J, K. Generalized Regular Expression Parser (GREP), 110 Generic 105 key (Intl) PC, 29 git command, 242

D, E I, J, K. Generalized Regular Expression Parser (GREP), 110 Generic 105 key (Intl) PC, 29 git command, 242 Index A Advanced Linux Sound Architecture (ALSA) device, 214 Airplay amixer command, 252 boot, 255 build script, 254 Build.PL script, 254 central controlling system, 251 lsmod command, 252 make command,

More information

PAC-5010 Programmable Automation Controller User Guide

PAC-5010 Programmable Automation Controller User Guide PAC-5010 Programmable Automation Controller User Guide Version 1.0 Copyright Artila Electronics Co., Ltd. All Rights Reserved. Table of Contents 1. Introduction... 1 1.1 Features... 1 1.2 Packing List...

More information

Welcome to getting started with Ubuntu Server. This System Administrator Manual. guide to be simple to follow, with step by step instructions

Welcome to getting started with Ubuntu Server. This System Administrator Manual. guide to be simple to follow, with step by step instructions Welcome to getting started with Ubuntu 12.04 Server. This System Administrator Manual guide to be simple to follow, with step by step instructions with screenshots INDEX 1.Installation of Ubuntu 12.04

More information

Embedded Linux Conference Europe Sascha Hauer

Embedded Linux Conference Europe Sascha Hauer Embedded Linux Conference Europe 2012 Sascha Hauer Slide 1 - Pengutronix - http://www.pengutronix.de - 08.11.2012 Agenda Tour through barebox Devicetree Multiplatform Bootloader

More information

Preempt-RT Raspberry Linux. VMware Tiejun Chen

Preempt-RT Raspberry Linux. VMware Tiejun Chen Preempt-RT Raspberry Linux VMware Tiejun Chen The declaration of this development This is my personal exploration. This is not a roadmap or commitment from VMware. Agenda Motivation

More information

Getting Started with BeagleBoard xm

Getting Started with BeagleBoard xm Getting Started with BeagleBoard xm by Getting Started with BeagleBoard-xM 1. Beagleboard-xM BeagleBoard.org ก Texas Instruments DM3730 1 GHz ก ARM Cortex-A8 (DSP) (PowerVR) (RAM) 512 MB Serial Port, USB

More information

u-root: / with the convenience of scripting and the performance of compilation

u-root: / with the convenience of scripting and the performance of compilation u-root: / with the convenience of scripting and the performance of compilation Ron Minnich Google Andrey Mirtchovski Cisco Outline What u-root is Why we re doing it How it all works Try it! sudo docker

More information

First Steps. esom/sk4 esom/3517 Embedded Linux Starter Kit

First Steps. esom/sk4 esom/3517 Embedded Linux Starter Kit esom/sk4 esom/3517 Embedded Linux Starter Kit First Steps SSV Embedded Systems Dünenweg 5 D-30419 Hannover Phone: +49 (0)511/40 000-0 Fax: +49 (0)511/40 000-40 E-mail: sales@ssv-embedded.de Document Revision:

More information

M-508 Quick Installation Guide. Screw: Φ 3 mm

M-508 Quick Installation Guide. Screw: Φ 3 mm Overview M-08 is a Linux ready Single Board Computer featuring four serial ports, 0/00 Mbps Ethernet, USB port and SD socket for flash disk expansion. The pre-install Linux OS and GNU tool chain make M-08

More information

IoT Project Proposals

IoT Project Proposals IoT Project Proposals 1 Submit before 31 st March Best 5 proposals will be given Intel Galileo Gen 2 microcontroller boards each 2 Advisory Board will evaluate and select the best project proposals Dr.

More information

Pengwyn Documentation

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

More information

Thousands of Linux Installations (and only one administrator)

Thousands of Linux Installations (and only one administrator) Thousands of Linux Installations (and only one administrator) A Linux cluster client for the University of Manchester A V Le Blanc I T Services University of Manchester LeBlanc@man.ac.uk Overview Environment

More information

DaVinci System Optimization

DaVinci System Optimization DaVinci System Optimization Juan Gonzales and Brijesh Singh DCAT and SDS Texas Instruments SPRP656 1 Objective EVM is good first step for prototyping design Final design is typically subset of EVM Due

More information

Linux+ Guide to Linux Certification, Third Edition. Chapter 6 Advanced Installation

Linux+ Guide to Linux Certification, Third Edition. Chapter 6 Advanced Installation Linux+ Guide to Linux Certification, Third Edition Chapter 6 Advanced Installation Objectives Describe the types and structure of SCSI devices Explain the different levels of RAID and types of RAID configurations

More information

Alekto LAN. Zoom in Picture

Alekto LAN. Zoom in Picture Features ARM9 166MHz 64MB SDRAM, 4MB Flash 1 x internal microsd Slot 1 x CF-Slot (True IDE mode) 2 x USB 2.0 Host 1 x Serial Port RS232/422/485 1 + 4x Switch Fast Ethernet Auto-MDI(X) 8 x Digital-I/O 1

More information

CSDA UNIT I. Introduction to the LAB environment. Practical classes Lab 0. Computer Engineering Degree Computer Engineering.

CSDA UNIT I. Introduction to the LAB environment. Practical classes Lab 0. Computer Engineering Degree Computer Engineering. Computer Engineering Degree Computer Engineering Year 2017/18 Practical classes Lab 0 CSDA UNIT I Introduction to the LAB environment CSDA Unit 0: INTRODUCTION Page 1 of 8 Table of contents Table of contents...2

More information

How I survived to a SoC with a terrible Linux BSP

How I survived to a SoC with a terrible Linux BSP How I survived to a SoC with a terrible Linux BSP Working with jurassic vendor kernels, missing pieces and buggy code Luca Ceresoli AIM Sportline luca@lucaceresoli.net http://lucaceresoli.net ELC-E 2017

More information

Linux Kernel on RISC-V: Where do we stand?

Linux Kernel on RISC-V: Where do we stand? Linux Kernel on RISC-V: Where do we stand? Atish Patra, Principal R&D Engineer Damien Le Moal, Director, System Software Group 7/19/2018 Overview Software ecosystem status overview Development toolchain

More information

MV V310 Android 4.0 Compilation

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

More information

Server Consolidation with Xen Farming

Server Consolidation with Xen Farming with Gesellschaft für wissenschaftliche Datenverarbeitung mbh Göttingen Am Fassberg, 37077 Göttingen ulrich.schwardmann@gwdg.de Linux Kongress 2008, 9.10.2008 1 2 3 4 5 6 7 8 9 Content should be more than

More information

Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright Jaluna SA. All rights reserved

Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright Jaluna SA. All rights reserved C5 Micro-Kernel: Real-Time Services for Embedded and Linux Systems Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 1 Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview

More information

The Linux IPL Procedure

The Linux IPL Procedure The Linux IPL Procedure SHARE - Tampa February 13, 2007 Session 9274 Edmund MacKenty Rocket Software, Inc. Purpose De-mystify the Linux boot sequence Explain what happens each step of the way Describe

More information

Matrix-504 Linux ARM9 Industry Box Computer User Guide

Matrix-504 Linux ARM9 Industry Box Computer User Guide Matrix-504 Linux ARM9 Industry Box Computer User Guide Version 1.6 Copyright Artila Electronics Co., Ltd. All Rights Reserved. Table of Contents 1. Introduction... 1 1.1 Features... 1 1.2 Packing List...

More information

Raspberry Pi Workshop

Raspberry Pi Workshop Raspberry Pi Workshop Resources and Materials: http://bit.ly/h8dunp Presenters Nick Yee Aexander Nunes Adriana Ieraci Agenda 10:00 Registration 10:20 Introductions and Overview 10:50 Install OS and Boot

More information

Kernel Boot-Time Optimization

Kernel Boot-Time Optimization Kernel Boot-Time Optimization Nicholas Mc Guire Distributed & Embedded Systems Lab Lanzhou Universtiy, P.R.China dslab.lzu.edu.cn Funded by Siemens CTSE2 under contract FMU654213 Schedule 1 Schedule Starting

More information

ARM&EVA / Tutorial. Peer Georgi Conitec Datensysteme GmbH. March 1, 2006

ARM&EVA / Tutorial. Peer Georgi Conitec Datensysteme GmbH. March 1, 2006 ARM&EVA / Tutorial Conitec Datensysteme GmbH March 1, 2006 Software development for embedded Linux, as for most other operating systems as well, takes place on several levels. For a well organized development

More information

Evaluation of MIPS Prelinking

Evaluation of MIPS Prelinking Evaluation of MIPS Prelinking Shin ichi TSURUMOTO MITSUBISHI Electric Corporation Advanced Technology R&D Center Overview Obtained prelinker for MIPS, compiler and libraries, and ran them on our target

More information

Installation of the OS

Installation of the OS Lab 1 Installation of the OS 1.1 Objectives The goal of this first session is to install a Debian/Linux operating system from scratch on a Intel x86- based computer. The installation will be made on a

More information

Network Drawing. Computer Specs, I ve used. Installing a Network-Based Intrusion Detection

Network Drawing. Computer Specs, I ve used. Installing a Network-Based Intrusion Detection HS1 HS2 OK1 OK2 PS 1 2 3 4 5 6 7 8 9 101112 COL- ACT- STA.- CONSOLE SD Installing a Network-Based Intrusion Detection created by: Rainer Bemsel Version 1.0 Dated: Apr/10/2003 The purpose of this document

More information

Interrupt response times on Arduino and Raspberry Pi. Tomaž Šolc

Interrupt response times on Arduino and Raspberry Pi. Tomaž Šolc Interrupt response times on Arduino and Raspberry Pi Tomaž Šolc tomaz.solc@ijs.si Introduction Full-featured Linux-based systems are replacing microcontrollers in some embedded applications for low volumes,

More information

MB/ Starter Kit: First Steps

MB/ Starter Kit: First Steps MB/1520-100 Starter Kit: First Steps The Application Board MB/1520-100 Starter Kit contains everything you need to get started to build your safe embedded communication environment via Ethernet technology.

More information

Die Brummbeere Documentation

Die Brummbeere Documentation Die Brummbeere Documentation Release 0.0.1 Peter Bouda February 21, 2016 Contents 1 owncloud Music Player 1 2 Contents 3 2.1 Compile for desktop........................................... 3 2.2 Embedded

More information

Embedded System Design

Embedded System Design Embedded System Design Lecture 10 Jaeyong Chung Systems-on-Chips (SoC) Laboratory Incheon National University Environment Variables Environment variables are a set of dynamic named values that can affect

More information

Kevin Meehan Stephen Moskal Computer Architecture Winter 2012 Dr. Shaaban

Kevin Meehan Stephen Moskal Computer Architecture Winter 2012 Dr. Shaaban Kevin Meehan Stephen Moskal Computer Architecture Winter 2012 Dr. Shaaban Contents Raspberry Pi Foundation Raspberry Pi overview & specs ARM11 overview ARM11 cache, pipeline, branch prediction ARM11 vs.

More information

Flash filesystem benchmarks

Flash filesystem benchmarks Embedded Linux Conference Europe 21 Flash filesystem benchmarks Michael Opdenacker Free Electrons Copyright 21, Free Electrons. 1 Free FreeElectrons Electrons Free embedded Linux and kernel materials http://free

More information

Track Two Building an Internet Radio with the TI Sitara AM3517 using LinuxLink

Track Two Building an Internet Radio with the TI Sitara AM3517 using LinuxLink Track Two Building an Internet Radio with the TI Sitara AM3517 using LinuxLink Session 1 How to assemble and deploy an initial BSP and setup the development environment with the matching SDK Audio streaming

More information

RoboPeak Mini USB Display User Manual

RoboPeak Mini USB Display User Manual 2014-3-18 Rev. 1.4 Team Contents: 1. Introduction... 2 Features... 2 2. Typical Use Case... 3 As Human Interactive Interface for Mini PC... 3 As an additional screen for PC... 4 3. Basic Usage... 5 Connect

More information

UEFI Secure Boot and DRI. Kalyan Kumar N

UEFI Secure Boot and DRI. Kalyan Kumar N UEFI Secure Boot and DRI Kalyan Kumar N Agenda Introduction RDK Boot Loader DRI (Disaster Recovery Image) RootFS Validation Build Environment Introduction Standardization of the RDK set-top box firmware

More information

Introduction to the Raspberry Pi AND LINUX FOR DUMMIES

Introduction to the Raspberry Pi AND LINUX FOR DUMMIES Introduction to the Raspberry Pi AND LINUX FOR DUMMIES 700Mhz ARM v6 Broadcomm CPU+GPU 512 MB RAM (256MB on Model A) Boots off SD card for filesystem USB, Audio out, LAN (Model B only) HDMI + Composite

More information

CompTIA Linux Course Overview. Prerequisites/Audience. Course Outline. Exam Code: XK0-002 Course Length: 5 Days

CompTIA Linux Course Overview. Prerequisites/Audience. Course Outline. Exam Code: XK0-002 Course Length: 5 Days CompTIA Linux+ 2009 Exam Code: XK0-002 Course Length: 5 Days Course Overview This instructor-led course will prepare students for the 2009 CompTIA Linux+ certification exam. It provides a comprehensive

More information

MV 4412 Android 4.0 Compilation

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

More information

Itron Riva Dev Software Development Getting Started Guide

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

More information

Manage Directories and Files in Linux. Objectives. Understand the Filesystem Hierarchy Standard (FHS)

Manage Directories and Files in Linux. Objectives. Understand the Filesystem Hierarchy Standard (FHS) Manage Directories and Files in Linux Objectives Understand the Filesystem Hierarchy Standard (FHS) Identify File Types in the Linux System Change Directories and List Directory Contents Create and View

More information

Itron Riva Dev Mini Kit Getting Started Guide

Itron Riva Dev Mini Kit Getting Started Guide Itron Riva Dev Mini Kit Getting Started Guide Table of Contents Introduction... 1 Host Computer... 2 Connect and Power-up ROOT... 2 Connect and Power-up NODE... 8 Summary and Next Steps... 14 Introduction

More information

CSE 265: System and Network Administration

CSE 265: System and Network Administration CSE 265: System and Network Administration System startup and shutdown Bootstrapping Booting PCs Boot loaders Booting into single user mode Startup scripts Rebooting and shutting down Bootstrapping i.e.,

More information